diff --git a/README.md b/README.md new file mode 100644 index 0000000..03522e1 --- /dev/null +++ b/README.md @@ -0,0 +1,34 @@ +# jenkins-trigger-action +Trigger jenkins job in github action and wait for job completion. + +## Usage +### Generate API token for Jenkins API +Please see [How to get the API Token for Jenkins](https://stackoverflow.com/questions/45466090/how-to-get-the-api-token-for-jenkins) +> 1. Log in Jenkins. +> 2. Click you name (upper-right corner). +> 3. Click Configure (left-side menu). +> 4. Use "Add new Token" button to generate a new one then name it. +> 5. You must copy the token when you generate it as you cannot view the token afterwards. +> 6. Revoke old tokens when no longer needed. +### Inputs +| name | required | description | +| ---- | -------- | ----------- | +| url | `true` | Jenkins full URL including http/https protocol | +| user_name | `true` | User name of Jenkins | +| api_token | `true` | Jenkins API token | +| job_name | `true` | Jenkins job name | +| parameter | false | Job parameter in JSON format. ex) {"param1":"value1"} | +| wait | false | Set true as default. Waiting for job completion or not | +| timeout | false | Set 600 seconds as default. Timeout (seconds) for github action. | + +### Example +```yaml +- name: Trigger jenkins job + uses: jabbukka/jenkins-trigger@master + with: + url: ${{ secrets.JENKINS_URL }} + user_name: ${{ secrets.JENKINS_USER }} + api_token: ${{ secrets.JENKINS_TOKEN }} + wait: "true" + timeout: "1000" +``` \ No newline at end of file diff --git a/action.yml b/action.yml new file mode 100644 index 0000000..c51f799 --- /dev/null +++ b/action.yml @@ -0,0 +1,33 @@ +name: 'Jenkins Job Trigger' +description: 'Trigger a Jenkins job' +branding: + icon: 'terminal' + color: 'green' +inputs: + url: + description: 'Jenkins full URL including http/https protocol' + required: true + user_name: + description: 'User name of Jenkins' + required: true + api_token: + description: 'Jenkins API token' + required: true + job_name: + description: 'Job name' + required: true + parameter: + description: 'Job parameter in JSON format. ex) {"param1":"value1"} ' + required: false + wait: + description: 'Waiting for job completion or not' + required: false + default: "true" + timeout: + description: 'Timeout (seconds) for github action. Set 600s as default' + required: false + default: "600" + +runs: + using: 'node12' + main: 'index.js' diff --git a/index.js b/index.js new file mode 100644 index 0000000..f5bac98 --- /dev/null +++ b/index.js @@ -0,0 +1,101 @@ +const request = require('request'); +const core = require('@actions/core'); + +// create auth token for Jenkins API +const API_TOKEN = Buffer.from(`${core.getInput('user_name')}:${core.getInput('api_token')}`).toString('base64'); + +let timer = setTimeout(() => { + core.setFailed("Job Timeout"); + core.error("Exception Error: Timed out"); + }, (Number(core.getInput('timeout')) * 1000)); + +const sleep = (seconds) => { + return new Promise((resolve, reject) => { + setTimeout(resolve, (seconds * 1000)); + }); +}; + +async function requestJenkinsJob(jobName, params) { + const req = { + method: 'POST', + url: `https://jenkins.hanu-ci.io/job/${jobName}/buildWithParameters`, + form: params, + headers: { + 'Authorization': `Basic ${API_TOKEN}` + } + } + await new Promise((resolve, reject) => request(req) + .on('response', (res) => { + core.info(`>>> Job is started!`); + resolve(); + }) + .on("error", (err) => { + core.setFailed(err); + core.error(JSON.stringify(err)); + clearTimeout(timer); + reject(); + }) + ); +} + +async function getJobStatus(jobName) { + const req = { + method: 'get', + url: `http://jenkins.hanu-ci.io/job/${jobName}/lastBuild/api/json`, + headers: { + 'Authorization': `Basic ${API_TOKEN}` + } + } + return new Promise((resolve, reject) => + request(req, (err, res, body) => { + if (err) { + clearTimeout(timer); + reject(err); + } + resolve(JSON.parse(body)); + }) + ); +} +async function waitJenkinsJob(jobName, timestamp) { + core.info(`>>> Waiting for "${jobName}" ...`); + while (true) { + let data = await getJobStatus(jobName); + if (data.timestamp < timestamp) { + core.info(`>>> Job is not started yet... Wait 5 seconds more...`) + } else if (data.result == "SUCCESS") { + core.info(`>>> Job "${data.fullDisplayName}" successfully completed!`); + break; + } else if (data.result == "FAILURE" || data.result == "ABORTED") { + throw new Error(`Failed job ${data.fullDisplayName}`); + } else { + core.info(`>>> Current Duration: ${data.duration}. Expected: ${data.estimatedDuration}`); + } + await sleep(5); // API call interval + } +} + +async function main() { + try { + let params = {}; + let startTs = + new Date(); + let jobName = core.getInput('job_name'); + if (core.getInput('parameter')) { + param = JSON.parse(core.getInput('parameter')); + } + // POST API call + await requestJenkinsJob(jobName, params); + + // Waiting for job completion + if (core.getInput('wait' == 'true')) { + await waitJenkinsJob(jobName, startTs); + } + } catch (err) { + core.setFailed(err.message); + core.error(err.message); + } finally { + clearTimeout(timer); + } +} + +process.env.NODE_TLS_REJECT_UNAUTHORIZED="0"; +main(); \ No newline at end of file diff --git a/node_modules/.bin/ncc b/node_modules/.bin/ncc new file mode 100755 index 0000000..8be2056 --- /dev/null +++ b/node_modules/.bin/ncc @@ -0,0 +1,7 @@ +#!/usr/bin/env node +const { readFileSync, writeFileSync } = require('fs'), { Script } = require('vm'), { wrap } = require('module'); +const source = readFileSync(__dirname + '/cli.js.cache.js', 'utf-8'); +const cachedData = !process.pkg && require('process').platform !== 'win32' && readFileSync(__dirname + '/cli.js.cache'); +const script = new Script(wrap(source), cachedData ? { cachedData } : {}); +(script.runInThisContext())(exports, require, module, __filename, __dirname); +if (cachedData) process.on('exit', () => { try { writeFileSync(__dirname + '/cli.js.cache', script.createCachedData()); } catch(e) {} }); diff --git a/node_modules/.bin/semver b/node_modules/.bin/semver new file mode 100755 index 0000000..801e77f --- /dev/null +++ b/node_modules/.bin/semver @@ -0,0 +1,160 @@ +#!/usr/bin/env node +// Standalone semver comparison program. +// Exits successfully and prints matching version(s) if +// any supplied version is valid and passes all tests. + +var argv = process.argv.slice(2) + +var versions = [] + +var range = [] + +var inc = null + +var version = require('../package.json').version + +var loose = false + +var includePrerelease = false + +var coerce = false + +var identifier + +var semver = require('../semver') + +var reverse = false + +var options = {} + +main() + +function main () { + if (!argv.length) return help() + while (argv.length) { + var a = argv.shift() + var indexOfEqualSign = a.indexOf('=') + if (indexOfEqualSign !== -1) { + a = a.slice(0, indexOfEqualSign) + argv.unshift(a.slice(indexOfEqualSign + 1)) + } + switch (a) { + case '-rv': case '-rev': case '--rev': case '--reverse': + reverse = true + break + case '-l': case '--loose': + loose = true + break + case '-p': case '--include-prerelease': + includePrerelease = true + break + case '-v': case '--version': + versions.push(argv.shift()) + break + case '-i': case '--inc': case '--increment': + switch (argv[0]) { + case 'major': case 'minor': case 'patch': case 'prerelease': + case 'premajor': case 'preminor': case 'prepatch': + inc = argv.shift() + break + default: + inc = 'patch' + break + } + break + case '--preid': + identifier = argv.shift() + break + case '-r': case '--range': + range.push(argv.shift()) + break + case '-c': case '--coerce': + coerce = true + break + case '-h': case '--help': case '-?': + return help() + default: + versions.push(a) + break + } + } + + var options = { loose: loose, includePrerelease: includePrerelease } + + versions = versions.map(function (v) { + return coerce ? (semver.coerce(v) || { version: v }).version : v + }).filter(function (v) { + return semver.valid(v) + }) + if (!versions.length) return fail() + if (inc && (versions.length !== 1 || range.length)) { return failInc() } + + for (var i = 0, l = range.length; i < l; i++) { + versions = versions.filter(function (v) { + return semver.satisfies(v, range[i], options) + }) + if (!versions.length) return fail() + } + return success(versions) +} + +function failInc () { + console.error('--inc can only be used on a single version with no range') + fail() +} + +function fail () { process.exit(1) } + +function success () { + var compare = reverse ? 'rcompare' : 'compare' + versions.sort(function (a, b) { + return semver[compare](a, b, options) + }).map(function (v) { + return semver.clean(v, options) + }).map(function (v) { + return inc ? semver.inc(v, inc, options, identifier) : v + }).forEach(function (v, i, _) { console.log(v) }) +} + +function help () { + console.log(['SemVer ' + version, + '', + 'A JavaScript implementation of the https://semver.org/ specification', + 'Copyright Isaac Z. Schlueter', + '', + 'Usage: semver [options] [ [...]]', + 'Prints valid versions sorted by SemVer precedence', + '', + 'Options:', + '-r --range ', + ' Print versions that match the specified range.', + '', + '-i --increment []', + ' Increment a version by the specified level. Level can', + ' be one of: major, minor, patch, premajor, preminor,', + " prepatch, or prerelease. Default level is 'patch'.", + ' Only one version may be specified.', + '', + '--preid ', + ' Identifier to be used to prefix premajor, preminor,', + ' prepatch or prerelease version increments.', + '', + '-l --loose', + ' Interpret versions and ranges loosely', + '', + '-p --include-prerelease', + ' Always include prerelease versions in range matching', + '', + '-c --coerce', + ' Coerce a string into SemVer if possible', + ' (does not imply --loose)', + '', + 'Program exits successfully if any valid version satisfies', + 'all supplied ranges, and prints all satisfying versions.', + '', + 'If no satisfying versions are found, then exits failure.', + '', + 'Versions are printed in ascending order, so supplying', + 'multiple versions to the utility will just sort them.' + ].join('\n')) +} diff --git a/node_modules/.bin/sshpk-conv b/node_modules/.bin/sshpk-conv new file mode 100755 index 0000000..e839ede --- /dev/null +++ b/node_modules/.bin/sshpk-conv @@ -0,0 +1,243 @@ +#!/usr/bin/env node +// -*- mode: js -*- +// vim: set filetype=javascript : +// Copyright 2018 Joyent, Inc. All rights reserved. + +var dashdash = require('dashdash'); +var sshpk = require('../lib/index'); +var fs = require('fs'); +var path = require('path'); +var tty = require('tty'); +var readline = require('readline'); +var getPassword = require('getpass').getPass; + +var options = [ + { + names: ['outformat', 't'], + type: 'string', + help: 'Output format' + }, + { + names: ['informat', 'T'], + type: 'string', + help: 'Input format' + }, + { + names: ['file', 'f'], + type: 'string', + help: 'Input file name (default stdin)' + }, + { + names: ['out', 'o'], + type: 'string', + help: 'Output file name (default stdout)' + }, + { + names: ['private', 'p'], + type: 'bool', + help: 'Produce a private key as output' + }, + { + names: ['derive', 'd'], + type: 'string', + help: 'Output a new key derived from this one, with given algo' + }, + { + names: ['identify', 'i'], + type: 'bool', + help: 'Print key metadata instead of converting' + }, + { + names: ['fingerprint', 'F'], + type: 'bool', + help: 'Output key fingerprint' + }, + { + names: ['hash', 'H'], + type: 'string', + help: 'Hash function to use for key fingeprint with -F' + }, + { + names: ['spki', 's'], + type: 'bool', + help: 'With -F, generates an SPKI fingerprint instead of SSH' + }, + { + names: ['comment', 'c'], + type: 'string', + help: 'Set key comment, if output format supports' + }, + { + names: ['help', 'h'], + type: 'bool', + help: 'Shows this help text' + } +]; + +if (require.main === module) { + var parser = dashdash.createParser({ + options: options + }); + + try { + var opts = parser.parse(process.argv); + } catch (e) { + console.error('sshpk-conv: error: %s', e.message); + process.exit(1); + } + + if (opts.help || opts._args.length > 1) { + var help = parser.help({}).trimRight(); + console.error('sshpk-conv: converts between SSH key formats\n'); + console.error(help); + console.error('\navailable key formats:'); + console.error(' - pem, pkcs1 eg id_rsa'); + console.error(' - ssh eg id_rsa.pub'); + console.error(' - pkcs8 format you want for openssl'); + console.error(' - openssh like output of ssh-keygen -o'); + console.error(' - rfc4253 raw OpenSSH wire format'); + console.error(' - dnssec dnssec-keygen format'); + console.error(' - putty PuTTY ppk format'); + console.error('\navailable fingerprint formats:'); + console.error(' - hex colon-separated hex for SSH'); + console.error(' straight hex for SPKI'); + console.error(' - base64 SHA256:* format from OpenSSH'); + process.exit(1); + } + + /* + * Key derivation can only be done on private keys, so use of the -d + * option necessarily implies -p. + */ + if (opts.derive) + opts.private = true; + + var inFile = process.stdin; + var inFileName = 'stdin'; + + var inFilePath; + if (opts.file) { + inFilePath = opts.file; + } else if (opts._args.length === 1) { + inFilePath = opts._args[0]; + } + + if (inFilePath) + inFileName = path.basename(inFilePath); + + try { + if (inFilePath) { + fs.accessSync(inFilePath, fs.R_OK); + inFile = fs.createReadStream(inFilePath); + } + } catch (e) { + ifError(e, 'error opening input file'); + } + + var outFile = process.stdout; + + try { + if (opts.out && !opts.identify) { + fs.accessSync(path.dirname(opts.out), fs.W_OK); + outFile = fs.createWriteStream(opts.out); + } + } catch (e) { + ifError(e, 'error opening output file'); + } + + var bufs = []; + inFile.on('readable', function () { + var data; + while ((data = inFile.read())) + bufs.push(data); + }); + var parseOpts = {}; + parseOpts.filename = inFileName; + inFile.on('end', function processKey() { + var buf = Buffer.concat(bufs); + var fmt = 'auto'; + if (opts.informat) + fmt = opts.informat; + var f = sshpk.parseKey; + if (opts.private) + f = sshpk.parsePrivateKey; + try { + var key = f(buf, fmt, parseOpts); + } catch (e) { + if (e.name === 'KeyEncryptedError') { + getPassword(function (err, pw) { + if (err) + ifError(err); + parseOpts.passphrase = pw; + processKey(); + }); + return; + } + ifError(e); + } + + if (opts.derive) + key = key.derive(opts.derive); + + if (opts.comment) + key.comment = opts.comment; + + if (opts.identify) { + var kind = 'public'; + if (sshpk.PrivateKey.isPrivateKey(key)) + kind = 'private'; + console.log('%s: a %d bit %s %s key', inFileName, + key.size, key.type.toUpperCase(), kind); + if (key.type === 'ecdsa') + console.log('ECDSA curve: %s', key.curve); + if (key.comment) + console.log('Comment: %s', key.comment); + console.log('SHA256 fingerprint: ' + + key.fingerprint('sha256').toString()); + console.log('MD5 fingerprint: ' + + key.fingerprint('md5').toString()); + console.log('SPKI-SHA256 fingerprint: ' + + key.fingerprint('sha256', 'spki').toString()); + process.exit(0); + return; + } + + if (opts.fingerprint) { + var hash = opts.hash; + var type = opts.spki ? 'spki' : 'ssh'; + var format = opts.outformat; + var fp = key.fingerprint(hash, type).toString(format); + outFile.write(fp); + outFile.write('\n'); + outFile.once('drain', function () { + process.exit(0); + }); + return; + } + + fmt = undefined; + if (opts.outformat) + fmt = opts.outformat; + outFile.write(key.toBuffer(fmt)); + if (fmt === 'ssh' || + (!opts.private && fmt === undefined)) + outFile.write('\n'); + outFile.once('drain', function () { + process.exit(0); + }); + }); +} + +function ifError(e, txt) { + if (txt) + txt = txt + ': '; + else + txt = ''; + console.error('sshpk-conv: ' + txt + e.name + ': ' + e.message); + if (process.env['DEBUG'] || process.env['V']) { + console.error(e.stack); + if (e.innerErr) + console.error(e.innerErr.stack); + } + process.exit(1); +} diff --git a/node_modules/.bin/sshpk-sign b/node_modules/.bin/sshpk-sign new file mode 100755 index 0000000..673fc98 --- /dev/null +++ b/node_modules/.bin/sshpk-sign @@ -0,0 +1,191 @@ +#!/usr/bin/env node +// -*- mode: js -*- +// vim: set filetype=javascript : +// Copyright 2015 Joyent, Inc. All rights reserved. + +var dashdash = require('dashdash'); +var sshpk = require('../lib/index'); +var fs = require('fs'); +var path = require('path'); +var getPassword = require('getpass').getPass; + +var options = [ + { + names: ['hash', 'H'], + type: 'string', + help: 'Hash algorithm (sha1, sha256, sha384, sha512)' + }, + { + names: ['verbose', 'v'], + type: 'bool', + help: 'Display verbose info about key and hash used' + }, + { + names: ['identity', 'i'], + type: 'string', + help: 'Path to key to use' + }, + { + names: ['file', 'f'], + type: 'string', + help: 'Input filename' + }, + { + names: ['out', 'o'], + type: 'string', + help: 'Output filename' + }, + { + names: ['format', 't'], + type: 'string', + help: 'Signature format (asn1, ssh, raw)' + }, + { + names: ['binary', 'b'], + type: 'bool', + help: 'Output raw binary instead of base64' + }, + { + names: ['help', 'h'], + type: 'bool', + help: 'Shows this help text' + } +]; + +var parseOpts = {}; + +if (require.main === module) { + var parser = dashdash.createParser({ + options: options + }); + + try { + var opts = parser.parse(process.argv); + } catch (e) { + console.error('sshpk-sign: error: %s', e.message); + process.exit(1); + } + + if (opts.help || opts._args.length > 1) { + var help = parser.help({}).trimRight(); + console.error('sshpk-sign: sign data using an SSH key\n'); + console.error(help); + process.exit(1); + } + + if (!opts.identity) { + var help = parser.help({}).trimRight(); + console.error('sshpk-sign: the -i or --identity option ' + + 'is required\n'); + console.error(help); + process.exit(1); + } + + var keyData = fs.readFileSync(opts.identity); + parseOpts.filename = opts.identity; + + run(); +} + +function run() { + var key; + try { + key = sshpk.parsePrivateKey(keyData, 'auto', parseOpts); + } catch (e) { + if (e.name === 'KeyEncryptedError') { + getPassword(function (err, pw) { + parseOpts.passphrase = pw; + run(); + }); + return; + } + console.error('sshpk-sign: error loading private key "' + + opts.identity + '": ' + e.name + ': ' + e.message); + process.exit(1); + } + + var hash = opts.hash || key.defaultHashAlgorithm(); + + var signer; + try { + signer = key.createSign(hash); + } catch (e) { + console.error('sshpk-sign: error creating signer: ' + + e.name + ': ' + e.message); + process.exit(1); + } + + if (opts.verbose) { + console.error('sshpk-sign: using %s-%s with a %d bit key', + key.type, hash, key.size); + } + + var inFile = process.stdin; + var inFileName = 'stdin'; + + var inFilePath; + if (opts.file) { + inFilePath = opts.file; + } else if (opts._args.length === 1) { + inFilePath = opts._args[0]; + } + + if (inFilePath) + inFileName = path.basename(inFilePath); + + try { + if (inFilePath) { + fs.accessSync(inFilePath, fs.R_OK); + inFile = fs.createReadStream(inFilePath); + } + } catch (e) { + console.error('sshpk-sign: error opening input file' + + ': ' + e.name + ': ' + e.message); + process.exit(1); + } + + var outFile = process.stdout; + + try { + if (opts.out && !opts.identify) { + fs.accessSync(path.dirname(opts.out), fs.W_OK); + outFile = fs.createWriteStream(opts.out); + } + } catch (e) { + console.error('sshpk-sign: error opening output file' + + ': ' + e.name + ': ' + e.message); + process.exit(1); + } + + inFile.pipe(signer); + inFile.on('end', function () { + var sig; + try { + sig = signer.sign(); + } catch (e) { + console.error('sshpk-sign: error signing data: ' + + e.name + ': ' + e.message); + process.exit(1); + } + + var fmt = opts.format || 'asn1'; + var output; + try { + output = sig.toBuffer(fmt); + if (!opts.binary) + output = output.toString('base64'); + } catch (e) { + console.error('sshpk-sign: error converting signature' + + ' to ' + fmt + ' format: ' + e.name + ': ' + + e.message); + process.exit(1); + } + + outFile.write(output); + if (!opts.binary) + outFile.write('\n'); + outFile.once('drain', function () { + process.exit(0); + }); + }); +} diff --git a/node_modules/.bin/sshpk-verify b/node_modules/.bin/sshpk-verify new file mode 100755 index 0000000..fc71a82 --- /dev/null +++ b/node_modules/.bin/sshpk-verify @@ -0,0 +1,167 @@ +#!/usr/bin/env node +// -*- mode: js -*- +// vim: set filetype=javascript : +// Copyright 2015 Joyent, Inc. All rights reserved. + +var dashdash = require('dashdash'); +var sshpk = require('../lib/index'); +var fs = require('fs'); +var path = require('path'); +var Buffer = require('safer-buffer').Buffer; + +var options = [ + { + names: ['hash', 'H'], + type: 'string', + help: 'Hash algorithm (sha1, sha256, sha384, sha512)' + }, + { + names: ['verbose', 'v'], + type: 'bool', + help: 'Display verbose info about key and hash used' + }, + { + names: ['identity', 'i'], + type: 'string', + help: 'Path to (public) key to use' + }, + { + names: ['file', 'f'], + type: 'string', + help: 'Input filename' + }, + { + names: ['format', 't'], + type: 'string', + help: 'Signature format (asn1, ssh, raw)' + }, + { + names: ['signature', 's'], + type: 'string', + help: 'base64-encoded signature data' + }, + { + names: ['help', 'h'], + type: 'bool', + help: 'Shows this help text' + } +]; + +if (require.main === module) { + var parser = dashdash.createParser({ + options: options + }); + + try { + var opts = parser.parse(process.argv); + } catch (e) { + console.error('sshpk-verify: error: %s', e.message); + process.exit(3); + } + + if (opts.help || opts._args.length > 1) { + var help = parser.help({}).trimRight(); + console.error('sshpk-verify: sign data using an SSH key\n'); + console.error(help); + process.exit(3); + } + + if (!opts.identity) { + var help = parser.help({}).trimRight(); + console.error('sshpk-verify: the -i or --identity option ' + + 'is required\n'); + console.error(help); + process.exit(3); + } + + if (!opts.signature) { + var help = parser.help({}).trimRight(); + console.error('sshpk-verify: the -s or --signature option ' + + 'is required\n'); + console.error(help); + process.exit(3); + } + + var keyData = fs.readFileSync(opts.identity); + + var key; + try { + key = sshpk.parseKey(keyData); + } catch (e) { + console.error('sshpk-verify: error loading key "' + + opts.identity + '": ' + e.name + ': ' + e.message); + process.exit(2); + } + + var fmt = opts.format || 'asn1'; + var sigData = Buffer.from(opts.signature, 'base64'); + + var sig; + try { + sig = sshpk.parseSignature(sigData, key.type, fmt); + } catch (e) { + console.error('sshpk-verify: error parsing signature: ' + + e.name + ': ' + e.message); + process.exit(2); + } + + var hash = opts.hash || key.defaultHashAlgorithm(); + + var verifier; + try { + verifier = key.createVerify(hash); + } catch (e) { + console.error('sshpk-verify: error creating verifier: ' + + e.name + ': ' + e.message); + process.exit(2); + } + + if (opts.verbose) { + console.error('sshpk-verify: using %s-%s with a %d bit key', + key.type, hash, key.size); + } + + var inFile = process.stdin; + var inFileName = 'stdin'; + + var inFilePath; + if (opts.file) { + inFilePath = opts.file; + } else if (opts._args.length === 1) { + inFilePath = opts._args[0]; + } + + if (inFilePath) + inFileName = path.basename(inFilePath); + + try { + if (inFilePath) { + fs.accessSync(inFilePath, fs.R_OK); + inFile = fs.createReadStream(inFilePath); + } + } catch (e) { + console.error('sshpk-verify: error opening input file' + + ': ' + e.name + ': ' + e.message); + process.exit(2); + } + + inFile.pipe(verifier); + inFile.on('end', function () { + var ret; + try { + ret = verifier.verify(sig); + } catch (e) { + console.error('sshpk-verify: error verifying data: ' + + e.name + ': ' + e.message); + process.exit(1); + } + + if (ret) { + console.error('OK'); + process.exit(0); + } + + console.error('NOT OK'); + process.exit(1); + }); +} diff --git a/node_modules/.bin/uuid b/node_modules/.bin/uuid new file mode 100755 index 0000000..502626e --- /dev/null +++ b/node_modules/.bin/uuid @@ -0,0 +1,65 @@ +#!/usr/bin/env node +var assert = require('assert'); + +function usage() { + console.log('Usage:'); + console.log(' uuid'); + console.log(' uuid v1'); + console.log(' uuid v3 '); + console.log(' uuid v4'); + console.log(' uuid v5 '); + console.log(' uuid --help'); + console.log('\nNote: may be "URL" or "DNS" to use the corresponding UUIDs defined by RFC4122'); +} + +var args = process.argv.slice(2); + +if (args.indexOf('--help') >= 0) { + usage(); + process.exit(0); +} +var version = args.shift() || 'v4'; + +switch (version) { + case 'v1': + var uuidV1 = require('../v1'); + console.log(uuidV1()); + break; + + case 'v3': + var uuidV3 = require('../v3'); + + var name = args.shift(); + var namespace = args.shift(); + assert(name != null, 'v3 name not specified'); + assert(namespace != null, 'v3 namespace not specified'); + + if (namespace == 'URL') namespace = uuidV3.URL; + if (namespace == 'DNS') namespace = uuidV3.DNS; + + console.log(uuidV3(name, namespace)); + break; + + case 'v4': + var uuidV4 = require('../v4'); + console.log(uuidV4()); + break; + + case 'v5': + var uuidV5 = require('../v5'); + + var name = args.shift(); + var namespace = args.shift(); + assert(name != null, 'v5 name not specified'); + assert(namespace != null, 'v5 namespace not specified'); + + if (namespace == 'URL') namespace = uuidV5.URL; + if (namespace == 'DNS') namespace = uuidV5.DNS; + + console.log(uuidV5(name, namespace)); + break; + + default: + usage(); + process.exit(1); +} diff --git a/node_modules/.bin/which b/node_modules/.bin/which new file mode 100755 index 0000000..7cee372 --- /dev/null +++ b/node_modules/.bin/which @@ -0,0 +1,52 @@ +#!/usr/bin/env node +var which = require("../") +if (process.argv.length < 3) + usage() + +function usage () { + console.error('usage: which [-as] program ...') + process.exit(1) +} + +var all = false +var silent = false +var dashdash = false +var args = process.argv.slice(2).filter(function (arg) { + if (dashdash || !/^-/.test(arg)) + return true + + if (arg === '--') { + dashdash = true + return false + } + + var flags = arg.substr(1).split('') + for (var f = 0; f < flags.length; f++) { + var flag = flags[f] + switch (flag) { + case 's': + silent = true + break + case 'a': + all = true + break + default: + console.error('which: illegal option -- ' + flag) + usage() + } + } + return false +}) + +process.exit(args.reduce(function (pv, current) { + try { + var f = which.sync(current, { all: all }) + if (all) + f = f.join('\n') + if (!silent) + console.log(f) + return pv; + } catch (e) { + return 1; + } +}, 0)) diff --git a/node_modules/@actions/core/README.md b/node_modules/@actions/core/README.md new file mode 100644 index 0000000..5ad27ee --- /dev/null +++ b/node_modules/@actions/core/README.md @@ -0,0 +1,146 @@ +# `@actions/core` + +> Core functions for setting results, logging, registering secrets and exporting variables across actions + +## Usage + +### Import the package + +```js +// javascript +const core = require('@actions/core'); + +// typescript +import * as core from '@actions/core'; +``` + +#### Inputs/Outputs + +Action inputs can be read with `getInput`. Outputs can be set with `setOutput` which makes them available to be mapped into inputs of other actions to ensure they are decoupled. + +```js +const myInput = core.getInput('inputName', { required: true }); + +core.setOutput('outputKey', 'outputVal'); +``` + +#### Exporting variables + +Since each step runs in a separate process, you can use `exportVariable` to add it to this step and future steps environment blocks. + +```js +core.exportVariable('envVar', 'Val'); +``` + +#### Setting a secret + +Setting a secret registers the secret with the runner to ensure it is masked in logs. + +```js +core.setSecret('myPassword'); +``` + +#### PATH Manipulation + +To make a tool's path available in the path for the remainder of the job (without altering the machine or containers state), use `addPath`. The runner will prepend the path given to the jobs PATH. + +```js +core.addPath('/path/to/mytool'); +``` + +#### Exit codes + +You should use this library to set the failing exit code for your action. If status is not set and the script runs to completion, that will lead to a success. + +```js +const core = require('@actions/core'); + +try { + // Do stuff +} +catch (err) { + // setFailed logs the message and sets a failing exit code + core.setFailed(`Action failed with error ${err}`); +} + +Note that `setNeutral` is not yet implemented in actions V2 but equivalent functionality is being planned. + +``` + +#### Logging + +Finally, this library provides some utilities for logging. Note that debug logging is hidden from the logs by default. This behavior can be toggled by enabling the [Step Debug Logs](../../docs/action-debugging.md#step-debug-logs). + +```js +const core = require('@actions/core'); + +const myInput = core.getInput('input'); +try { + core.debug('Inside try block'); + + if (!myInput) { + core.warning('myInput was not set'); + } + + if (core.isDebug()) { + // curl -v https://github.com + } else { + // curl https://github.com + } + + // Do stuff +} +catch (err) { + core.error(`Error ${err}, action may still succeed though`); +} +``` + +This library can also wrap chunks of output in foldable groups. + +```js +const core = require('@actions/core') + +// Manually wrap output +core.startGroup('Do some function') +doSomeFunction() +core.endGroup() + +// Wrap an asynchronous function call +const result = await core.group('Do something async', async () => { + const response = await doSomeHTTPRequest() + return response +}) +``` + +#### Action state + +You can use this library to save state and get state for sharing information between a given wrapper action: + +**action.yml** +```yaml +name: 'Wrapper action sample' +inputs: + name: + default: 'GitHub' +runs: + using: 'node12' + main: 'main.js' + post: 'cleanup.js' +``` + +In action's `main.js`: + +```js +const core = require('@actions/core'); + +core.saveState("pidToKill", 12345); +``` + +In action's `cleanup.js`: +```js +const core = require('@actions/core'); + +var pid = core.getState("pidToKill"); + +process.kill(pid); +``` \ No newline at end of file diff --git a/node_modules/@actions/core/lib/command.d.ts b/node_modules/@actions/core/lib/command.d.ts new file mode 100644 index 0000000..51b8f11 --- /dev/null +++ b/node_modules/@actions/core/lib/command.d.ts @@ -0,0 +1,16 @@ +interface CommandProperties { + [key: string]: string; +} +/** + * Commands + * + * Command Format: + * ::name key=value,key=value::message + * + * Examples: + * ::warning::This is the message + * ::set-env name=MY_VAR::some value + */ +export declare function issueCommand(command: string, properties: CommandProperties, message: string): void; +export declare function issue(name: string, message?: string): void; +export {}; diff --git a/node_modules/@actions/core/lib/command.js b/node_modules/@actions/core/lib/command.js new file mode 100644 index 0000000..eeef233 --- /dev/null +++ b/node_modules/@actions/core/lib/command.js @@ -0,0 +1,78 @@ +"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 os = __importStar(require("os")); +/** + * Commands + * + * Command Format: + * ::name key=value,key=value::message + * + * Examples: + * ::warning::This is the message + * ::set-env name=MY_VAR::some value + */ +function issueCommand(command, properties, message) { + const cmd = new Command(command, properties, message); + process.stdout.write(cmd.toString() + os.EOL); +} +exports.issueCommand = issueCommand; +function issue(name, message = '') { + issueCommand(name, {}, message); +} +exports.issue = issue; +const CMD_STRING = '::'; +class Command { + constructor(command, properties, message) { + if (!command) { + command = 'missing.command'; + } + this.command = command; + this.properties = properties; + this.message = message; + } + toString() { + let cmdStr = CMD_STRING + this.command; + if (this.properties && Object.keys(this.properties).length > 0) { + cmdStr += ' '; + let first = true; + for (const key in this.properties) { + if (this.properties.hasOwnProperty(key)) { + const val = this.properties[key]; + if (val) { + if (first) { + first = false; + } + else { + cmdStr += ','; + } + cmdStr += `${key}=${escapeProperty(val)}`; + } + } + } + } + cmdStr += `${CMD_STRING}${escapeData(this.message)}`; + return cmdStr; + } +} +function escapeData(s) { + return (s || '') + .replace(/%/g, '%25') + .replace(/\r/g, '%0D') + .replace(/\n/g, '%0A'); +} +function escapeProperty(s) { + return (s || '') + .replace(/%/g, '%25') + .replace(/\r/g, '%0D') + .replace(/\n/g, '%0A') + .replace(/:/g, '%3A') + .replace(/,/g, '%2C'); +} +//# sourceMappingURL=command.js.map \ No newline at end of file diff --git a/node_modules/@actions/core/lib/command.js.map b/node_modules/@actions/core/lib/command.js.map new file mode 100644 index 0000000..00a9861 --- /dev/null +++ b/node_modules/@actions/core/lib/command.js.map @@ -0,0 +1 @@ +{"version":3,"file":"command.js","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":";;;;;;;;;AAAA,uCAAwB;AAQxB;;;;;;;;;GASG;AACH,SAAgB,YAAY,CAC1B,OAAe,EACf,UAA6B,EAC7B,OAAe;IAEf,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;IACrD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAA;AAC/C,CAAC;AAPD,oCAOC;AAED,SAAgB,KAAK,CAAC,IAAY,EAAE,UAAkB,EAAE;IACtD,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;AACjC,CAAC;AAFD,sBAEC;AAED,MAAM,UAAU,GAAG,IAAI,CAAA;AAEvB,MAAM,OAAO;IAKX,YAAY,OAAe,EAAE,UAA6B,EAAE,OAAe;QACzE,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,GAAG,iBAAiB,CAAA;SAC5B;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,QAAQ;QACN,IAAI,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC,OAAO,CAAA;QAEtC,IAAI,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YAC9D,MAAM,IAAI,GAAG,CAAA;YACb,IAAI,KAAK,GAAG,IAAI,CAAA;YAChB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE;gBACjC,IAAI,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;oBACvC,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;oBAChC,IAAI,GAAG,EAAE;wBACP,IAAI,KAAK,EAAE;4BACT,KAAK,GAAG,KAAK,CAAA;yBACd;6BAAM;4BACL,MAAM,IAAI,GAAG,CAAA;yBACd;wBAED,MAAM,IAAI,GAAG,GAAG,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAA;qBAC1C;iBACF;aACF;SACF;QAED,MAAM,IAAI,GAAG,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAA;QACpD,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAED,SAAS,UAAU,CAAC,CAAS;IAC3B,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;SACb,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;SACpB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AAC1B,CAAC;AAED,SAAS,cAAc,CAAC,CAAS;IAC/B,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;SACb,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;SACpB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;SACpB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AACzB,CAAC"} \ No newline at end of file diff --git a/node_modules/@actions/core/lib/core.d.ts b/node_modules/@actions/core/lib/core.d.ts new file mode 100644 index 0000000..8fcc31b --- /dev/null +++ b/node_modules/@actions/core/lib/core.d.ts @@ -0,0 +1,116 @@ +/** + * Interface for getInput options + */ +export interface InputOptions { + /** Optional. Whether the input is required. If required and not present, will throw. Defaults to false */ + required?: boolean; +} +/** + * The code to exit an action + */ +export declare enum ExitCode { + /** + * A code indicating that the action was successful + */ + Success = 0, + /** + * A code indicating that the action was a failure + */ + Failure = 1 +} +/** + * Sets env variable for this action and future actions in the job + * @param name the name of the variable to set + * @param val the value of the variable + */ +export declare function exportVariable(name: string, val: string): void; +/** + * Registers a secret which will get masked from logs + * @param secret value of the secret + */ +export declare function setSecret(secret: string): void; +/** + * Prepends inputPath to the PATH (for this action and future actions) + * @param inputPath + */ +export declare function addPath(inputPath: string): void; +/** + * Gets the value of an input. The value is also trimmed. + * + * @param name name of the input to get + * @param options optional. See InputOptions. + * @returns string + */ +export declare function getInput(name: string, options?: InputOptions): string; +/** + * Sets the value of an output. + * + * @param name name of the output to set + * @param value value to store + */ +export declare function setOutput(name: string, value: string): void; +/** + * Sets the action status to failed. + * When the action exits it will be with an exit code of 1 + * @param message add error issue message + */ +export declare function setFailed(message: string): void; +/** + * Gets whether Actions Step Debug is on or not + */ +export declare function isDebug(): boolean; +/** + * Writes debug message to user log + * @param message debug message + */ +export declare function debug(message: string): void; +/** + * Adds an error issue + * @param message error issue message + */ +export declare function error(message: string): void; +/** + * Adds an warning issue + * @param message warning issue message + */ +export declare function warning(message: string): void; +/** + * Writes info to log with console.log. + * @param message info message + */ +export declare function info(message: string): void; +/** + * Begin an output group. + * + * Output until the next `groupEnd` will be foldable in this group + * + * @param name The name of the output group + */ +export declare function startGroup(name: string): void; +/** + * End an output group. + */ +export declare function endGroup(): void; +/** + * Wrap an asynchronous function call in a group. + * + * Returns the same type as the function itself. + * + * @param name The name of the group + * @param fn The function to wrap in the group + */ +export declare function group(name: string, fn: () => Promise): Promise; +/** + * Saves state for current action, the state can only be retrieved by this action's post job execution. + * + * @param name name of the state to store + * @param value value to store + */ +export declare function saveState(name: string, value: string): void; +/** + * Gets the value of an state set by this action's main execution. + * + * @param name name of the state to get + * @returns string + */ +export declare function getState(name: string): string; diff --git a/node_modules/@actions/core/lib/core.js b/node_modules/@actions/core/lib/core.js new file mode 100644 index 0000000..b7ec8ab --- /dev/null +++ b/node_modules/@actions/core/lib/core.js @@ -0,0 +1,209 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +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 command_1 = require("./command"); +const os = __importStar(require("os")); +const path = __importStar(require("path")); +/** + * The code to exit an action + */ +var ExitCode; +(function (ExitCode) { + /** + * A code indicating that the action was successful + */ + ExitCode[ExitCode["Success"] = 0] = "Success"; + /** + * A code indicating that the action was a failure + */ + ExitCode[ExitCode["Failure"] = 1] = "Failure"; +})(ExitCode = exports.ExitCode || (exports.ExitCode = {})); +//----------------------------------------------------------------------- +// Variables +//----------------------------------------------------------------------- +/** + * Sets env variable for this action and future actions in the job + * @param name the name of the variable to set + * @param val the value of the variable + */ +function exportVariable(name, val) { + process.env[name] = val; + command_1.issueCommand('set-env', { name }, val); +} +exports.exportVariable = exportVariable; +/** + * Registers a secret which will get masked from logs + * @param secret value of the secret + */ +function setSecret(secret) { + command_1.issueCommand('add-mask', {}, secret); +} +exports.setSecret = setSecret; +/** + * Prepends inputPath to the PATH (for this action and future actions) + * @param inputPath + */ +function addPath(inputPath) { + command_1.issueCommand('add-path', {}, inputPath); + process.env['PATH'] = `${inputPath}${path.delimiter}${process.env['PATH']}`; +} +exports.addPath = addPath; +/** + * Gets the value of an input. The value is also trimmed. + * + * @param name name of the input to get + * @param options optional. See InputOptions. + * @returns string + */ +function getInput(name, options) { + const val = process.env[`INPUT_${name.replace(/ /g, '_').toUpperCase()}`] || ''; + if (options && options.required && !val) { + throw new Error(`Input required and not supplied: ${name}`); + } + return val.trim(); +} +exports.getInput = getInput; +/** + * Sets the value of an output. + * + * @param name name of the output to set + * @param value value to store + */ +function setOutput(name, value) { + command_1.issueCommand('set-output', { name }, value); +} +exports.setOutput = setOutput; +//----------------------------------------------------------------------- +// Results +//----------------------------------------------------------------------- +/** + * Sets the action status to failed. + * When the action exits it will be with an exit code of 1 + * @param message add error issue message + */ +function setFailed(message) { + process.exitCode = ExitCode.Failure; + error(message); +} +exports.setFailed = setFailed; +//----------------------------------------------------------------------- +// Logging Commands +//----------------------------------------------------------------------- +/** + * Gets whether Actions Step Debug is on or not + */ +function isDebug() { + return process.env['RUNNER_DEBUG'] === '1'; +} +exports.isDebug = isDebug; +/** + * Writes debug message to user log + * @param message debug message + */ +function debug(message) { + command_1.issueCommand('debug', {}, message); +} +exports.debug = debug; +/** + * Adds an error issue + * @param message error issue message + */ +function error(message) { + command_1.issue('error', message); +} +exports.error = error; +/** + * Adds an warning issue + * @param message warning issue message + */ +function warning(message) { + command_1.issue('warning', message); +} +exports.warning = warning; +/** + * Writes info to log with console.log. + * @param message info message + */ +function info(message) { + process.stdout.write(message + os.EOL); +} +exports.info = info; +/** + * Begin an output group. + * + * Output until the next `groupEnd` will be foldable in this group + * + * @param name The name of the output group + */ +function startGroup(name) { + command_1.issue('group', name); +} +exports.startGroup = startGroup; +/** + * End an output group. + */ +function endGroup() { + command_1.issue('endgroup'); +} +exports.endGroup = endGroup; +/** + * Wrap an asynchronous function call in a group. + * + * Returns the same type as the function itself. + * + * @param name The name of the group + * @param fn The function to wrap in the group + */ +function group(name, fn) { + return __awaiter(this, void 0, void 0, function* () { + startGroup(name); + let result; + try { + result = yield fn(); + } + finally { + endGroup(); + } + return result; + }); +} +exports.group = group; +//----------------------------------------------------------------------- +// Wrapper action state +//----------------------------------------------------------------------- +/** + * Saves state for current action, the state can only be retrieved by this action's post job execution. + * + * @param name name of the state to store + * @param value value to store + */ +function saveState(name, value) { + command_1.issueCommand('save-state', { name }, value); +} +exports.saveState = saveState; +/** + * Gets the value of an state set by this action's main execution. + * + * @param name name of the state to get + * @returns string + */ +function getState(name) { + return process.env[`STATE_${name}`] || ''; +} +exports.getState = getState; +//# sourceMappingURL=core.js.map \ No newline at end of file diff --git a/node_modules/@actions/core/lib/core.js.map b/node_modules/@actions/core/lib/core.js.map new file mode 100644 index 0000000..fb93bd3 --- /dev/null +++ b/node_modules/@actions/core/lib/core.js.map @@ -0,0 +1 @@ +{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,uCAA6C;AAE7C,uCAAwB;AACxB,2CAA4B;AAU5B;;GAEG;AACH,IAAY,QAUX;AAVD,WAAY,QAAQ;IAClB;;OAEG;IACH,6CAAW,CAAA;IAEX;;OAEG;IACH,6CAAW,CAAA;AACb,CAAC,EAVW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAUnB;AAED,yEAAyE;AACzE,YAAY;AACZ,yEAAyE;AAEzE;;;;GAIG;AACH,SAAgB,cAAc,CAAC,IAAY,EAAE,GAAW;IACtD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAA;IACvB,sBAAY,CAAC,SAAS,EAAE,EAAC,IAAI,EAAC,EAAE,GAAG,CAAC,CAAA;AACtC,CAAC;AAHD,wCAGC;AAED;;;GAGG;AACH,SAAgB,SAAS,CAAC,MAAc;IACtC,sBAAY,CAAC,UAAU,EAAE,EAAE,EAAE,MAAM,CAAC,CAAA;AACtC,CAAC;AAFD,8BAEC;AAED;;;GAGG;AACH,SAAgB,OAAO,CAAC,SAAiB;IACvC,sBAAY,CAAC,UAAU,EAAE,EAAE,EAAE,SAAS,CAAC,CAAA;IACvC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAA;AAC7E,CAAC;AAHD,0BAGC;AAED;;;;;;GAMG;AACH,SAAgB,QAAQ,CAAC,IAAY,EAAE,OAAsB;IAC3D,MAAM,GAAG,GACP,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,EAAE,CAAA;IACrE,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,IAAI,CAAC,GAAG,EAAE;QACvC,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,EAAE,CAAC,CAAA;KAC5D;IAED,OAAO,GAAG,CAAC,IAAI,EAAE,CAAA;AACnB,CAAC;AARD,4BAQC;AAED;;;;;GAKG;AACH,SAAgB,SAAS,CAAC,IAAY,EAAE,KAAa;IACnD,sBAAY,CAAC,YAAY,EAAE,EAAC,IAAI,EAAC,EAAE,KAAK,CAAC,CAAA;AAC3C,CAAC;AAFD,8BAEC;AAED,yEAAyE;AACzE,UAAU;AACV,yEAAyE;AAEzE;;;;GAIG;AACH,SAAgB,SAAS,CAAC,OAAe;IACvC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAA;IACnC,KAAK,CAAC,OAAO,CAAC,CAAA;AAChB,CAAC;AAHD,8BAGC;AAED,yEAAyE;AACzE,mBAAmB;AACnB,yEAAyE;AAEzE;;GAEG;AACH,SAAgB,OAAO;IACrB,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,GAAG,CAAA;AAC5C,CAAC;AAFD,0BAEC;AAED;;;GAGG;AACH,SAAgB,KAAK,CAAC,OAAe;IACnC,sBAAY,CAAC,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;AACpC,CAAC;AAFD,sBAEC;AAED;;;GAGG;AACH,SAAgB,KAAK,CAAC,OAAe;IACnC,eAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;AACzB,CAAC;AAFD,sBAEC;AAED;;;GAGG;AACH,SAAgB,OAAO,CAAC,OAAe;IACrC,eAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;AAC3B,CAAC;AAFD,0BAEC;AAED;;;GAGG;AACH,SAAgB,IAAI,CAAC,OAAe;IAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,CAAA;AACxC,CAAC;AAFD,oBAEC;AAED;;;;;;GAMG;AACH,SAAgB,UAAU,CAAC,IAAY;IACrC,eAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;AACtB,CAAC;AAFD,gCAEC;AAED;;GAEG;AACH,SAAgB,QAAQ;IACtB,eAAK,CAAC,UAAU,CAAC,CAAA;AACnB,CAAC;AAFD,4BAEC;AAED;;;;;;;GAOG;AACH,SAAsB,KAAK,CAAI,IAAY,EAAE,EAAoB;;QAC/D,UAAU,CAAC,IAAI,CAAC,CAAA;QAEhB,IAAI,MAAS,CAAA;QAEb,IAAI;YACF,MAAM,GAAG,MAAM,EAAE,EAAE,CAAA;SACpB;gBAAS;YACR,QAAQ,EAAE,CAAA;SACX;QAED,OAAO,MAAM,CAAA;IACf,CAAC;CAAA;AAZD,sBAYC;AAED,yEAAyE;AACzE,uBAAuB;AACvB,yEAAyE;AAEzE;;;;;GAKG;AACH,SAAgB,SAAS,CAAC,IAAY,EAAE,KAAa;IACnD,sBAAY,CAAC,YAAY,EAAE,EAAC,IAAI,EAAC,EAAE,KAAK,CAAC,CAAA;AAC3C,CAAC;AAFD,8BAEC;AAED;;;;;GAKG;AACH,SAAgB,QAAQ,CAAC,IAAY;IACnC,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,EAAE,CAAA;AAC3C,CAAC;AAFD,4BAEC"} \ No newline at end of file diff --git a/node_modules/@actions/core/package.json b/node_modules/@actions/core/package.json new file mode 100644 index 0000000..adda257 --- /dev/null +++ b/node_modules/@actions/core/package.json @@ -0,0 +1,69 @@ +{ + "_args": [ + [ + "@actions/core@1.2.3", + "/Users/1112456/github/jenkins-action" + ] + ], + "_from": "@actions/core@1.2.3", + "_id": "@actions/core@1.2.3", + "_inBundle": false, + "_integrity": "sha512-Wp4xnyokakM45Uuj4WLUxdsa8fJjKVl1fDTsPbTEcTcuu0Nb26IPQbOtjmnfaCPGcaoPOOqId8H9NapZ8gii4w==", + "_location": "/@actions/core", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "@actions/core@1.2.3", + "name": "@actions/core", + "escapedName": "@actions%2fcore", + "scope": "@actions", + "rawSpec": "1.2.3", + "saveSpec": null, + "fetchSpec": "1.2.3" + }, + "_requiredBy": [ + "/" + ], + "_resolved": "https://registry.npmjs.org/@actions/core/-/core-1.2.3.tgz", + "_spec": "1.2.3", + "_where": "/Users/1112456/github/jenkins-action", + "bugs": { + "url": "https://github.com/actions/toolkit/issues" + }, + "description": "Actions core lib", + "devDependencies": { + "@types/node": "^12.0.2" + }, + "directories": { + "lib": "lib", + "test": "__tests__" + }, + "files": [ + "lib" + ], + "homepage": "https://github.com/actions/toolkit/tree/master/packages/core", + "keywords": [ + "github", + "actions", + "core" + ], + "license": "MIT", + "main": "lib/core.js", + "name": "@actions/core", + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/actions/toolkit.git", + "directory": "packages/core" + }, + "scripts": { + "audit-moderate": "npm install && npm audit --audit-level=moderate", + "test": "echo \"Error: run tests from root\" && exit 1", + "tsc": "tsc" + }, + "types": "lib/core.d.ts", + "version": "1.2.3" +} diff --git a/node_modules/@actions/github/README.md b/node_modules/@actions/github/README.md new file mode 100644 index 0000000..d6cf49b --- /dev/null +++ b/node_modules/@actions/github/README.md @@ -0,0 +1,74 @@ +# `@actions/github` + +> A hydrated Octokit client. + +## Usage + +Returns an authenticated Octokit client that follows the machine [proxy settings](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/about-self-hosted-runners#using-a-proxy-server-with-self-hosted-runners). See https://octokit.github.io/rest.js for the API. + +```js +const github = require('@actions/github'); +const core = require('@actions/core'); + +async function run() { + // This should be a token with access to your repository scoped in as a secret. + // The YML workflow will need to set myToken with the GitHub Secret Token + // myToken: ${{ secrets.GITHUB_TOKEN }} + // https://help.github.com/en/actions/automating-your-workflow-with-github-actions/authenticating-with-the-github_token#about-the-github_token-secret + const myToken = core.getInput('myToken'); + + const octokit = new github.GitHub(myToken); + + const { data: pullRequest } = await octokit.pulls.get({ + owner: 'octokit', + repo: 'rest.js', + pull_number: 123, + mediaType: { + format: 'diff' + } + }); + + console.log(pullRequest); +} + +run(); +``` + +You can pass client options, as specified by [Octokit](https://octokit.github.io/rest.js/), as a second argument to the `GitHub` constructor. + +You can also make GraphQL requests. See https://github.com/octokit/graphql.js for the API. + +```js +const result = await octokit.graphql(query, variables); +``` + +Finally, you can get the context of the current action: + +```js +const github = require('@actions/github'); + +const context = github.context; + +const newIssue = await octokit.issues.create({ + ...context.repo, + title: 'New issue!', + body: 'Hello Universe!' +}); +``` + +## Webhook payload typescript definitions + +The npm module `@octokit/webhooks` provides type definitions for the response payloads. You can cast the payload to these types for better type information. + +First, install the npm module `npm install @octokit/webhooks` + +Then, assert the type based on the eventName +```ts +import * as core from '@actions/core' +import * as github from '@actions/github' +import * as Webhooks from '@octokit/webhooks' +if (github.context.eventName === 'push') { + const pushPayload = github.context.payload as Webhooks.WebhookPayloadPush + core.info(`The head commit is: ${pushPayload.head}`) +} +``` diff --git a/node_modules/@actions/github/lib/context.d.ts b/node_modules/@actions/github/lib/context.d.ts new file mode 100644 index 0000000..434fdb1 --- /dev/null +++ b/node_modules/@actions/github/lib/context.d.ts @@ -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(); + get issue(): { + owner: string; + repo: string; + number: number; + }; + get repo(): { + owner: string; + repo: string; + }; +} diff --git a/node_modules/@actions/github/lib/context.js b/node_modules/@actions/github/lib/context.js new file mode 100644 index 0000000..25ceea5 --- /dev/null +++ b/node_modules/@actions/github/lib/context.js @@ -0,0 +1,46 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const fs_1 = require("fs"); +const os_1 = require("os"); +class Context { + /** + * Hydrate the context from the environment + */ + constructor() { + this.payload = {}; + if (process.env.GITHUB_EVENT_PATH) { + if (fs_1.existsSync(process.env.GITHUB_EVENT_PATH)) { + this.payload = JSON.parse(fs_1.readFileSync(process.env.GITHUB_EVENT_PATH, { encoding: 'utf8' })); + } + else { + const path = process.env.GITHUB_EVENT_PATH; + process.stdout.write(`GITHUB_EVENT_PATH ${path} does not exist${os_1.EOL}`); + } + } + 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(Object.assign({}, this.repo), { number: (payload.issue || payload.pull_request || 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 \ No newline at end of file diff --git a/node_modules/@actions/github/lib/context.js.map b/node_modules/@actions/github/lib/context.js.map new file mode 100644 index 0000000..d05ca0d --- /dev/null +++ b/node_modules/@actions/github/lib/context.js.map @@ -0,0 +1 @@ +{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":";;AAEA,2BAA2C;AAC3C,2BAAsB;AAEtB,MAAa,OAAO;IAalB;;OAEG;IACH;QACE,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;QACjB,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE;YACjC,IAAI,eAAU,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE;gBAC7C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CACvB,iBAAY,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,EAAC,QAAQ,EAAE,MAAM,EAAC,CAAC,CAChE,CAAA;aACF;iBAAM;gBACL,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAA;gBAC1C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,IAAI,kBAAkB,QAAG,EAAE,CAAC,CAAA;aACvE;SACF;QACD,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,uCACK,IAAI,CAAC,IAAI,KACZ,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,CAAC,MAAM,IAClE;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;AA9DD,0BA8DC"} \ No newline at end of file diff --git a/node_modules/@actions/github/lib/github.d.ts b/node_modules/@actions/github/lib/github.d.ts new file mode 100644 index 0000000..c868122 --- /dev/null +++ b/node_modules/@actions/github/lib/github.d.ts @@ -0,0 +1,25 @@ +import { graphql as GraphQL } from '@octokit/graphql/dist-types/types'; +import { Octokit } from '@octokit/rest'; +import * as Context from './context'; +export declare const context: Context.Context; +export declare class GitHub extends Octokit { + graphql: GraphQL; + /** + * Sets up the REST client and GraphQL client with auth and proxy support. + * The parameter `token` or `opts.auth` must be supplied. The GraphQL client + * authorization is not setup when `opts.auth` is a function or object. + * + * @param token Auth token + * @param opts Octokit options + */ + constructor(token: string, opts?: Omit); + constructor(opts: Octokit.Options); + /** + * Disambiguates the constructor overload parameters + */ + private static disambiguate; + private static getOctokitOptions; + private static getGraphQL; + private static getAuthString; + private static getProxyAgent; +} diff --git a/node_modules/@actions/github/lib/github.js b/node_modules/@actions/github/lib/github.js new file mode 100644 index 0000000..ee4e72f --- /dev/null +++ b/node_modules/@actions/github/lib/github.js @@ -0,0 +1,91 @@ +"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 }); +// Originally pulled from https://github.com/JasonEtco/actions-toolkit/blob/master/src/github.ts +const graphql_1 = require("@octokit/graphql"); +const rest_1 = require("@octokit/rest"); +const Context = __importStar(require("./context")); +const httpClient = __importStar(require("@actions/http-client")); +// We need this in order to extend Octokit +rest_1.Octokit.prototype = new rest_1.Octokit(); +exports.context = new Context.Context(); +class GitHub extends rest_1.Octokit { + constructor(token, opts) { + super(GitHub.getOctokitOptions(GitHub.disambiguate(token, opts))); + this.graphql = GitHub.getGraphQL(GitHub.disambiguate(token, opts)); + } + /** + * Disambiguates the constructor overload parameters + */ + static disambiguate(token, opts) { + return [ + typeof token === 'string' ? token : '', + typeof token === 'object' ? token : opts || {} + ]; + } + static getOctokitOptions(args) { + const token = args[0]; + const options = Object.assign({}, args[1]); // Shallow clone - don't mutate the object provided by the caller + // Auth + const auth = GitHub.getAuthString(token, options); + if (auth) { + options.auth = auth; + } + // Proxy + const agent = GitHub.getProxyAgent(options); + if (agent) { + // Shallow clone - don't mutate the object provided by the caller + options.request = options.request ? Object.assign({}, options.request) : {}; + // Set the agent + options.request.agent = agent; + } + return options; + } + static getGraphQL(args) { + const defaults = {}; + const token = args[0]; + const options = args[1]; + // Authorization + const auth = this.getAuthString(token, options); + if (auth) { + defaults.headers = { + authorization: auth + }; + } + // Proxy + const agent = GitHub.getProxyAgent(options); + if (agent) { + defaults.request = { agent }; + } + return graphql_1.graphql.defaults(defaults); + } + static getAuthString(token, options) { + // Validate args + if (!token && !options.auth) { + throw new Error('Parameter token or opts.auth is required'); + } + else if (token && options.auth) { + throw new Error('Parameters token and opts.auth may not both be specified'); + } + return typeof options.auth === 'string' ? options.auth : `token ${token}`; + } + static getProxyAgent(options) { + var _a; + if (!((_a = options.request) === null || _a === void 0 ? void 0 : _a.agent)) { + const serverUrl = 'https://api.github.com'; + if (httpClient.getProxyUrl(serverUrl)) { + const hc = new httpClient.HttpClient(); + return hc.getAgent(serverUrl); + } + } + return undefined; + } +} +exports.GitHub = GitHub; +//# sourceMappingURL=github.js.map \ No newline at end of file diff --git a/node_modules/@actions/github/lib/github.js.map b/node_modules/@actions/github/lib/github.js.map new file mode 100644 index 0000000..5afe344 --- /dev/null +++ b/node_modules/@actions/github/lib/github.js.map @@ -0,0 +1 @@ +{"version":3,"file":"github.js","sourceRoot":"","sources":["../src/github.ts"],"names":[],"mappings":";;;;;;;;;AAAA,gGAAgG;AAChG,8CAAwC;AAUxC,wCAAqC;AACrC,mDAAoC;AAEpC,iEAAkD;AAElD,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;IAiBjC,YAAY,KAA+B,EAAE,IAAsB;QACjE,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;QAEjE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAA;IACpE,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,YAAY,CACzB,KAA+B,EAC/B,IAAsB;QAEtB,OAAO;YACL,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YACtC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE;SAC/C,CAAA;IACH,CAAC;IAEO,MAAM,CAAC,iBAAiB,CAC9B,IAA+B;QAE/B,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACrB,MAAM,OAAO,qBAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA,CAAC,iEAAiE;QAE9F,OAAO;QACP,MAAM,IAAI,GAAG,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;QACjD,IAAI,IAAI,EAAE;YACR,OAAO,CAAC,IAAI,GAAG,IAAI,CAAA;SACpB;QAED,QAAQ;QACR,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;QAC3C,IAAI,KAAK,EAAE;YACT,iEAAiE;YACjE,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,mBAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAA;YAE7D,gBAAgB;YAChB,OAAO,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAA;SAC9B;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAEO,MAAM,CAAC,UAAU,CAAC,IAA+B;QACvD,MAAM,QAAQ,GAA6B,EAAE,CAAA;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACrB,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QAEvB,gBAAgB;QAChB,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;QAC/C,IAAI,IAAI,EAAE;YACR,QAAQ,CAAC,OAAO,GAAG;gBACjB,aAAa,EAAE,IAAI;aACpB,CAAA;SACF;QAED,QAAQ;QACR,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;QAC3C,IAAI,KAAK,EAAE;YACT,QAAQ,CAAC,OAAO,GAAG,EAAC,KAAK,EAAC,CAAA;SAC3B;QAED,OAAO,iBAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IACnC,CAAC;IAEO,MAAM,CAAC,aAAa,CAC1B,KAAa,EACb,OAAwB;QAExB,gBAAgB;QAChB,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;YAC3B,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;SAC5D;aAAM,IAAI,KAAK,IAAI,OAAO,CAAC,IAAI,EAAE;YAChC,MAAM,IAAI,KAAK,CACb,0DAA0D,CAC3D,CAAA;SACF;QAED,OAAO,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,KAAK,EAAE,CAAA;IAC3E,CAAC;IAEO,MAAM,CAAC,aAAa,CAC1B,OAAwB;;QAExB,IAAI,QAAC,OAAO,CAAC,OAAO,0CAAE,KAAK,CAAA,EAAE;YAC3B,MAAM,SAAS,GAAG,wBAAwB,CAAA;YAC1C,IAAI,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE;gBACrC,MAAM,EAAE,GAAG,IAAI,UAAU,CAAC,UAAU,EAAE,CAAA;gBACtC,OAAO,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;aAC9B;SACF;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;CACF;AAhHD,wBAgHC"} \ No newline at end of file diff --git a/node_modules/@actions/github/lib/interfaces.d.ts b/node_modules/@actions/github/lib/interfaces.d.ts new file mode 100644 index 0000000..23788cc --- /dev/null +++ b/node_modules/@actions/github/lib/interfaces.d.ts @@ -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; + }; +} diff --git a/node_modules/@actions/github/lib/interfaces.js b/node_modules/@actions/github/lib/interfaces.js new file mode 100644 index 0000000..a660b5e --- /dev/null +++ b/node_modules/@actions/github/lib/interfaces.js @@ -0,0 +1,4 @@ +"use strict"; +/* eslint-disable @typescript-eslint/no-explicit-any */ +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=interfaces.js.map \ No newline at end of file diff --git a/node_modules/@actions/github/lib/interfaces.js.map b/node_modules/@actions/github/lib/interfaces.js.map new file mode 100644 index 0000000..dc2c960 --- /dev/null +++ b/node_modules/@actions/github/lib/interfaces.js.map @@ -0,0 +1 @@ +{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":";AAAA,uDAAuD"} \ No newline at end of file diff --git a/node_modules/@actions/github/package.json b/node_modules/@actions/github/package.json new file mode 100644 index 0000000..15c3909 --- /dev/null +++ b/node_modules/@actions/github/package.json @@ -0,0 +1,77 @@ +{ + "_args": [ + [ + "@actions/github@2.1.1", + "/Users/1112456/github/jenkins-action" + ] + ], + "_from": "@actions/github@2.1.1", + "_id": "@actions/github@2.1.1", + "_inBundle": false, + "_integrity": "sha512-kAgTGUx7yf5KQCndVeHSwCNZuDBvPyxm5xKTswW2lofugeuC1AZX73nUUVDNaysnM9aKFMHv9YCdVJbg7syEyA==", + "_location": "/@actions/github", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "@actions/github@2.1.1", + "name": "@actions/github", + "escapedName": "@actions%2fgithub", + "scope": "@actions", + "rawSpec": "2.1.1", + "saveSpec": null, + "fetchSpec": "2.1.1" + }, + "_requiredBy": [ + "/" + ], + "_resolved": "https://registry.npmjs.org/@actions/github/-/github-2.1.1.tgz", + "_spec": "2.1.1", + "_where": "/Users/1112456/github/jenkins-action", + "bugs": { + "url": "https://github.com/actions/toolkit/issues" + }, + "dependencies": { + "@actions/http-client": "^1.0.3", + "@octokit/graphql": "^4.3.1", + "@octokit/rest": "^16.43.1" + }, + "description": "Actions github lib", + "devDependencies": { + "jest": "^24.7.1", + "proxy": "^1.0.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", + "directory": "packages/github" + }, + "scripts": { + "audit-moderate": "npm install && npm audit --audit-level=moderate", + "build": "tsc", + "format": "prettier --write **/*.ts", + "format-check": "prettier --check **/*.ts", + "test": "jest", + "tsc": "tsc" + }, + "types": "lib/github.d.ts", + "version": "2.1.1" +} diff --git a/node_modules/@actions/http-client/LICENSE b/node_modules/@actions/http-client/LICENSE new file mode 100644 index 0000000..5823a51 --- /dev/null +++ b/node_modules/@actions/http-client/LICENSE @@ -0,0 +1,21 @@ +Actions Http Client for Node.js + +Copyright (c) GitHub, Inc. + +All rights reserved. + +MIT License + +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. diff --git a/node_modules/@actions/http-client/README.md b/node_modules/@actions/http-client/README.md new file mode 100644 index 0000000..be61eb3 --- /dev/null +++ b/node_modules/@actions/http-client/README.md @@ -0,0 +1,79 @@ + +

+ +

+ +# Actions Http-Client + +[![Http Status](https://github.com/actions/http-client/workflows/http-tests/badge.svg)](https://github.com/actions/http-client/actions) + +A lightweight HTTP client optimized for use with actions, TypeScript with generics and async await. + +## Features + + - HTTP client with TypeScript generics and async/await/Promises + - Typings included so no need to acquire separately (great for intellisense and no versioning drift) + - [Proxy support](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/about-self-hosted-runners#using-a-proxy-server-with-self-hosted-runners) just works with actions and the runner + - Targets ES2019 (runner runs actions with node 12+). Only supported on node 12+. + - Basic, Bearer and PAT Support out of the box. Extensible handlers for others. + - Redirects supported + +Features and releases [here](./RELEASES.md) + +## Install + +``` +npm install @actions/http-client --save +``` + +## Samples + +See the [HTTP](./__tests__) tests for detailed examples. + +## Errors + +### HTTP + +The HTTP client does not throw unless truly exceptional. + +* A request that successfully executes resulting in a 404, 500 etc... will return a response object with a status code and a body. +* Redirects (3xx) will be followed by default. + +See [HTTP tests](./__tests__) for detailed examples. + +## Debugging + +To enable detailed console logging of all HTTP requests and responses, set the NODE_DEBUG environment varible: + +``` +export NODE_DEBUG=http +``` + +## Node support + +The http-client is built using the latest LTS version of Node 12. It may work on previous node LTS versions but it's tested and officially supported on Node12+. + +## Support and Versioning + +We follow semver and will hold compatibility between major versions and increment the minor version with new features and capabilities (while holding compat). + +## Contributing + +We welcome PRs. Please create an issue and if applicable, a design before proceeding with code. + +once: + +```bash +$ npm install +``` + +To build: + +```bash +$ npm run build +``` + +To run all tests: +```bash +$ npm test +``` diff --git a/node_modules/@actions/http-client/RELEASES.md b/node_modules/@actions/http-client/RELEASES.md new file mode 100644 index 0000000..245477d --- /dev/null +++ b/node_modules/@actions/http-client/RELEASES.md @@ -0,0 +1,22 @@ +## Releases + +## 1.0.9 +Throw HttpClientError instead of a generic Error from the \Json() helper methods when the server responds with a non-successful status code. + +## 1.0.8 +Fixed security issue where a redirect (e.g. 302) to another domain would pass headers. The fix was to strip the authorization header if the hostname was different. More [details in PR #27](https://github.com/actions/http-client/pull/27) + +## 1.0.7 +Update NPM dependencies and add 429 to the list of HttpCodes + +## 1.0.6 +Automatically sends Content-Type and Accept application/json headers for \Json() helper methods if not set in the client or parameters. + +## 1.0.5 +Adds \Json() helper methods for json over http scenarios. + +## 1.0.4 +Started to add \Json() helper methods. Do not use this release for that. Use >= 1.0.5 since there was an issue with types. + +## 1.0.1 to 1.0.3 +Adds proxy support. diff --git a/node_modules/@actions/http-client/actions.png b/node_modules/@actions/http-client/actions.png new file mode 100644 index 0000000..1857ef3 Binary files /dev/null and b/node_modules/@actions/http-client/actions.png differ diff --git a/node_modules/@actions/http-client/auth.d.ts b/node_modules/@actions/http-client/auth.d.ts new file mode 100644 index 0000000..1094189 --- /dev/null +++ b/node_modules/@actions/http-client/auth.d.ts @@ -0,0 +1,23 @@ +import ifm = require('./interfaces'); +export declare class BasicCredentialHandler implements ifm.IRequestHandler { + username: string; + password: string; + constructor(username: string, password: string); + prepareRequest(options: any): void; + canHandleAuthentication(response: ifm.IHttpClientResponse): boolean; + handleAuthentication(httpClient: ifm.IHttpClient, requestInfo: ifm.IRequestInfo, objs: any): Promise; +} +export declare class BearerCredentialHandler implements ifm.IRequestHandler { + token: string; + constructor(token: string); + prepareRequest(options: any): void; + canHandleAuthentication(response: ifm.IHttpClientResponse): boolean; + handleAuthentication(httpClient: ifm.IHttpClient, requestInfo: ifm.IRequestInfo, objs: any): Promise; +} +export declare class PersonalAccessTokenCredentialHandler implements ifm.IRequestHandler { + token: string; + constructor(token: string); + prepareRequest(options: any): void; + canHandleAuthentication(response: ifm.IHttpClientResponse): boolean; + handleAuthentication(httpClient: ifm.IHttpClient, requestInfo: ifm.IRequestInfo, objs: any): Promise; +} diff --git a/node_modules/@actions/http-client/auth.js b/node_modules/@actions/http-client/auth.js new file mode 100644 index 0000000..67a58aa --- /dev/null +++ b/node_modules/@actions/http-client/auth.js @@ -0,0 +1,58 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class BasicCredentialHandler { + constructor(username, password) { + this.username = username; + this.password = password; + } + prepareRequest(options) { + options.headers['Authorization'] = + 'Basic ' + + Buffer.from(this.username + ':' + this.password).toString('base64'); + } + // This handler cannot handle 401 + canHandleAuthentication(response) { + return false; + } + handleAuthentication(httpClient, requestInfo, objs) { + return null; + } +} +exports.BasicCredentialHandler = BasicCredentialHandler; +class BearerCredentialHandler { + constructor(token) { + this.token = token; + } + // currently implements pre-authorization + // TODO: support preAuth = false where it hooks on 401 + prepareRequest(options) { + options.headers['Authorization'] = 'Bearer ' + this.token; + } + // This handler cannot handle 401 + canHandleAuthentication(response) { + return false; + } + handleAuthentication(httpClient, requestInfo, objs) { + return null; + } +} +exports.BearerCredentialHandler = BearerCredentialHandler; +class PersonalAccessTokenCredentialHandler { + constructor(token) { + this.token = token; + } + // currently implements pre-authorization + // TODO: support preAuth = false where it hooks on 401 + prepareRequest(options) { + options.headers['Authorization'] = + 'Basic ' + Buffer.from('PAT:' + this.token).toString('base64'); + } + // This handler cannot handle 401 + canHandleAuthentication(response) { + return false; + } + handleAuthentication(httpClient, requestInfo, objs) { + return null; + } +} +exports.PersonalAccessTokenCredentialHandler = PersonalAccessTokenCredentialHandler; diff --git a/node_modules/@actions/http-client/index.d.ts b/node_modules/@actions/http-client/index.d.ts new file mode 100644 index 0000000..9583dc7 --- /dev/null +++ b/node_modules/@actions/http-client/index.d.ts @@ -0,0 +1,124 @@ +/// +import http = require('http'); +import ifm = require('./interfaces'); +export declare enum HttpCodes { + OK = 200, + MultipleChoices = 300, + MovedPermanently = 301, + ResourceMoved = 302, + SeeOther = 303, + NotModified = 304, + UseProxy = 305, + SwitchProxy = 306, + TemporaryRedirect = 307, + PermanentRedirect = 308, + BadRequest = 400, + Unauthorized = 401, + PaymentRequired = 402, + Forbidden = 403, + NotFound = 404, + MethodNotAllowed = 405, + NotAcceptable = 406, + ProxyAuthenticationRequired = 407, + RequestTimeout = 408, + Conflict = 409, + Gone = 410, + TooManyRequests = 429, + InternalServerError = 500, + NotImplemented = 501, + BadGateway = 502, + ServiceUnavailable = 503, + GatewayTimeout = 504 +} +export declare enum Headers { + Accept = "accept", + ContentType = "content-type" +} +export declare enum MediaTypes { + ApplicationJson = "application/json" +} +/** + * Returns the proxy URL, depending upon the supplied url and proxy environment variables. + * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com + */ +export declare function getProxyUrl(serverUrl: string): string; +export declare class HttpClientError extends Error { + constructor(message: string, statusCode: number); + statusCode: number; + result?: any; +} +export declare class HttpClientResponse implements ifm.IHttpClientResponse { + constructor(message: http.IncomingMessage); + message: http.IncomingMessage; + readBody(): Promise; +} +export declare function isHttps(requestUrl: string): boolean; +export declare class HttpClient { + userAgent: string | undefined; + handlers: ifm.IRequestHandler[]; + requestOptions: ifm.IRequestOptions; + private _ignoreSslError; + private _socketTimeout; + private _allowRedirects; + private _allowRedirectDowngrade; + private _maxRedirects; + private _allowRetries; + private _maxRetries; + private _agent; + private _proxyAgent; + private _keepAlive; + private _disposed; + constructor(userAgent?: string, handlers?: ifm.IRequestHandler[], requestOptions?: ifm.IRequestOptions); + options(requestUrl: string, additionalHeaders?: ifm.IHeaders): Promise; + get(requestUrl: string, additionalHeaders?: ifm.IHeaders): Promise; + del(requestUrl: string, additionalHeaders?: ifm.IHeaders): Promise; + post(requestUrl: string, data: string, additionalHeaders?: ifm.IHeaders): Promise; + patch(requestUrl: string, data: string, additionalHeaders?: ifm.IHeaders): Promise; + put(requestUrl: string, data: string, additionalHeaders?: ifm.IHeaders): Promise; + head(requestUrl: string, additionalHeaders?: ifm.IHeaders): Promise; + sendStream(verb: string, requestUrl: string, stream: NodeJS.ReadableStream, additionalHeaders?: ifm.IHeaders): Promise; + /** + * Gets a typed object from an endpoint + * Be aware that not found returns a null. Other errors (4xx, 5xx) reject the promise + */ + getJson(requestUrl: string, additionalHeaders?: ifm.IHeaders): Promise>; + postJson(requestUrl: string, obj: any, additionalHeaders?: ifm.IHeaders): Promise>; + putJson(requestUrl: string, obj: any, additionalHeaders?: ifm.IHeaders): Promise>; + patchJson(requestUrl: string, obj: any, additionalHeaders?: ifm.IHeaders): Promise>; + /** + * Makes a raw http request. + * All other methods such as get, post, patch, and request ultimately call this. + * Prefer get, del, post and patch + */ + request(verb: string, requestUrl: string, data: string | NodeJS.ReadableStream, headers: ifm.IHeaders): Promise; + /** + * Needs to be called if keepAlive is set to true in request options. + */ + dispose(): void; + /** + * Raw request. + * @param info + * @param data + */ + requestRaw(info: ifm.IRequestInfo, data: string | NodeJS.ReadableStream): Promise; + /** + * Raw request with callback. + * @param info + * @param data + * @param onResult + */ + requestRawWithCallback(info: ifm.IRequestInfo, data: string | NodeJS.ReadableStream, onResult: (err: any, res: ifm.IHttpClientResponse) => void): void; + /** + * Gets an http agent. This function is useful when you need an http agent that handles + * routing through a proxy server - depending upon the url and proxy environment variables. + * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com + */ + getAgent(serverUrl: string): http.Agent; + private _prepareRequest; + private _mergeHeaders; + private _getExistingOrDefaultHeader; + private _getAgent; + private _performExponentialBackoff; + private static dateTimeDeserializer; + private _processResponse; +} diff --git a/node_modules/@actions/http-client/index.js b/node_modules/@actions/http-client/index.js new file mode 100644 index 0000000..5c54cf8 --- /dev/null +++ b/node_modules/@actions/http-client/index.js @@ -0,0 +1,535 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const http = require("http"); +const https = require("https"); +const pm = require("./proxy"); +let tunnel; +var HttpCodes; +(function (HttpCodes) { + HttpCodes[HttpCodes["OK"] = 200] = "OK"; + HttpCodes[HttpCodes["MultipleChoices"] = 300] = "MultipleChoices"; + HttpCodes[HttpCodes["MovedPermanently"] = 301] = "MovedPermanently"; + HttpCodes[HttpCodes["ResourceMoved"] = 302] = "ResourceMoved"; + HttpCodes[HttpCodes["SeeOther"] = 303] = "SeeOther"; + HttpCodes[HttpCodes["NotModified"] = 304] = "NotModified"; + HttpCodes[HttpCodes["UseProxy"] = 305] = "UseProxy"; + HttpCodes[HttpCodes["SwitchProxy"] = 306] = "SwitchProxy"; + HttpCodes[HttpCodes["TemporaryRedirect"] = 307] = "TemporaryRedirect"; + HttpCodes[HttpCodes["PermanentRedirect"] = 308] = "PermanentRedirect"; + HttpCodes[HttpCodes["BadRequest"] = 400] = "BadRequest"; + HttpCodes[HttpCodes["Unauthorized"] = 401] = "Unauthorized"; + HttpCodes[HttpCodes["PaymentRequired"] = 402] = "PaymentRequired"; + HttpCodes[HttpCodes["Forbidden"] = 403] = "Forbidden"; + HttpCodes[HttpCodes["NotFound"] = 404] = "NotFound"; + HttpCodes[HttpCodes["MethodNotAllowed"] = 405] = "MethodNotAllowed"; + HttpCodes[HttpCodes["NotAcceptable"] = 406] = "NotAcceptable"; + HttpCodes[HttpCodes["ProxyAuthenticationRequired"] = 407] = "ProxyAuthenticationRequired"; + HttpCodes[HttpCodes["RequestTimeout"] = 408] = "RequestTimeout"; + HttpCodes[HttpCodes["Conflict"] = 409] = "Conflict"; + HttpCodes[HttpCodes["Gone"] = 410] = "Gone"; + HttpCodes[HttpCodes["TooManyRequests"] = 429] = "TooManyRequests"; + HttpCodes[HttpCodes["InternalServerError"] = 500] = "InternalServerError"; + HttpCodes[HttpCodes["NotImplemented"] = 501] = "NotImplemented"; + HttpCodes[HttpCodes["BadGateway"] = 502] = "BadGateway"; + HttpCodes[HttpCodes["ServiceUnavailable"] = 503] = "ServiceUnavailable"; + HttpCodes[HttpCodes["GatewayTimeout"] = 504] = "GatewayTimeout"; +})(HttpCodes = exports.HttpCodes || (exports.HttpCodes = {})); +var Headers; +(function (Headers) { + Headers["Accept"] = "accept"; + Headers["ContentType"] = "content-type"; +})(Headers = exports.Headers || (exports.Headers = {})); +var MediaTypes; +(function (MediaTypes) { + MediaTypes["ApplicationJson"] = "application/json"; +})(MediaTypes = exports.MediaTypes || (exports.MediaTypes = {})); +/** + * Returns the proxy URL, depending upon the supplied url and proxy environment variables. + * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com + */ +function getProxyUrl(serverUrl) { + let proxyUrl = pm.getProxyUrl(new URL(serverUrl)); + return proxyUrl ? proxyUrl.href : ''; +} +exports.getProxyUrl = getProxyUrl; +const HttpRedirectCodes = [ + HttpCodes.MovedPermanently, + HttpCodes.ResourceMoved, + HttpCodes.SeeOther, + HttpCodes.TemporaryRedirect, + HttpCodes.PermanentRedirect +]; +const HttpResponseRetryCodes = [ + HttpCodes.BadGateway, + HttpCodes.ServiceUnavailable, + HttpCodes.GatewayTimeout +]; +const RetryableHttpVerbs = ['OPTIONS', 'GET', 'DELETE', 'HEAD']; +const ExponentialBackoffCeiling = 10; +const ExponentialBackoffTimeSlice = 5; +class HttpClientError extends Error { + constructor(message, statusCode) { + super(message); + this.name = 'HttpClientError'; + this.statusCode = statusCode; + Object.setPrototypeOf(this, HttpClientError.prototype); + } +} +exports.HttpClientError = HttpClientError; +class HttpClientResponse { + constructor(message) { + this.message = message; + } + readBody() { + return new Promise(async (resolve, reject) => { + let output = Buffer.alloc(0); + this.message.on('data', (chunk) => { + output = Buffer.concat([output, chunk]); + }); + this.message.on('end', () => { + resolve(output.toString()); + }); + }); + } +} +exports.HttpClientResponse = HttpClientResponse; +function isHttps(requestUrl) { + let parsedUrl = new URL(requestUrl); + return parsedUrl.protocol === 'https:'; +} +exports.isHttps = isHttps; +class HttpClient { + constructor(userAgent, handlers, requestOptions) { + this._ignoreSslError = false; + this._allowRedirects = true; + this._allowRedirectDowngrade = false; + this._maxRedirects = 50; + this._allowRetries = false; + this._maxRetries = 1; + this._keepAlive = false; + this._disposed = false; + this.userAgent = userAgent; + this.handlers = handlers || []; + this.requestOptions = requestOptions; + if (requestOptions) { + if (requestOptions.ignoreSslError != null) { + this._ignoreSslError = requestOptions.ignoreSslError; + } + this._socketTimeout = requestOptions.socketTimeout; + if (requestOptions.allowRedirects != null) { + this._allowRedirects = requestOptions.allowRedirects; + } + if (requestOptions.allowRedirectDowngrade != null) { + this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade; + } + if (requestOptions.maxRedirects != null) { + this._maxRedirects = Math.max(requestOptions.maxRedirects, 0); + } + if (requestOptions.keepAlive != null) { + this._keepAlive = requestOptions.keepAlive; + } + if (requestOptions.allowRetries != null) { + this._allowRetries = requestOptions.allowRetries; + } + if (requestOptions.maxRetries != null) { + this._maxRetries = requestOptions.maxRetries; + } + } + } + options(requestUrl, additionalHeaders) { + return this.request('OPTIONS', requestUrl, null, additionalHeaders || {}); + } + get(requestUrl, additionalHeaders) { + return this.request('GET', requestUrl, null, additionalHeaders || {}); + } + del(requestUrl, additionalHeaders) { + return this.request('DELETE', requestUrl, null, additionalHeaders || {}); + } + post(requestUrl, data, additionalHeaders) { + return this.request('POST', requestUrl, data, additionalHeaders || {}); + } + patch(requestUrl, data, additionalHeaders) { + return this.request('PATCH', requestUrl, data, additionalHeaders || {}); + } + put(requestUrl, data, additionalHeaders) { + return this.request('PUT', requestUrl, data, additionalHeaders || {}); + } + head(requestUrl, additionalHeaders) { + return this.request('HEAD', requestUrl, null, additionalHeaders || {}); + } + sendStream(verb, requestUrl, stream, additionalHeaders) { + return this.request(verb, requestUrl, stream, additionalHeaders); + } + /** + * Gets a typed object from an endpoint + * Be aware that not found returns a null. Other errors (4xx, 5xx) reject the promise + */ + async getJson(requestUrl, additionalHeaders = {}) { + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + let res = await this.get(requestUrl, additionalHeaders); + return this._processResponse(res, this.requestOptions); + } + async postJson(requestUrl, obj, additionalHeaders = {}) { + let data = JSON.stringify(obj, null, 2); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); + let res = await this.post(requestUrl, data, additionalHeaders); + return this._processResponse(res, this.requestOptions); + } + async putJson(requestUrl, obj, additionalHeaders = {}) { + let data = JSON.stringify(obj, null, 2); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); + let res = await this.put(requestUrl, data, additionalHeaders); + return this._processResponse(res, this.requestOptions); + } + async patchJson(requestUrl, obj, additionalHeaders = {}) { + let data = JSON.stringify(obj, null, 2); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); + let res = await this.patch(requestUrl, data, additionalHeaders); + return this._processResponse(res, this.requestOptions); + } + /** + * Makes a raw http request. + * All other methods such as get, post, patch, and request ultimately call this. + * Prefer get, del, post and patch + */ + async request(verb, requestUrl, data, headers) { + if (this._disposed) { + throw new Error('Client has already been disposed.'); + } + let parsedUrl = new URL(requestUrl); + let info = this._prepareRequest(verb, parsedUrl, headers); + // Only perform retries on reads since writes may not be idempotent. + let maxTries = this._allowRetries && RetryableHttpVerbs.indexOf(verb) != -1 + ? this._maxRetries + 1 + : 1; + let numTries = 0; + let response; + while (numTries < maxTries) { + response = await this.requestRaw(info, data); + // Check if it's an authentication challenge + if (response && + response.message && + response.message.statusCode === HttpCodes.Unauthorized) { + let authenticationHandler; + for (let i = 0; i < this.handlers.length; i++) { + if (this.handlers[i].canHandleAuthentication(response)) { + authenticationHandler = this.handlers[i]; + break; + } + } + if (authenticationHandler) { + return authenticationHandler.handleAuthentication(this, info, data); + } + else { + // We have received an unauthorized response but have no handlers to handle it. + // Let the response return to the caller. + return response; + } + } + let redirectsRemaining = this._maxRedirects; + while (HttpRedirectCodes.indexOf(response.message.statusCode) != -1 && + this._allowRedirects && + redirectsRemaining > 0) { + const redirectUrl = response.message.headers['location']; + if (!redirectUrl) { + // if there's no location to redirect to, we won't + break; + } + let parsedRedirectUrl = new URL(redirectUrl); + if (parsedUrl.protocol == 'https:' && + parsedUrl.protocol != parsedRedirectUrl.protocol && + !this._allowRedirectDowngrade) { + throw new Error('Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.'); + } + // we need to finish reading the response before reassigning response + // which will leak the open socket. + await response.readBody(); + // strip authorization header if redirected to a different hostname + if (parsedRedirectUrl.hostname !== parsedUrl.hostname) { + for (let header in headers) { + // header names are case insensitive + if (header.toLowerCase() === 'authorization') { + delete headers[header]; + } + } + } + // let's make the request with the new redirectUrl + info = this._prepareRequest(verb, parsedRedirectUrl, headers); + response = await this.requestRaw(info, data); + redirectsRemaining--; + } + if (HttpResponseRetryCodes.indexOf(response.message.statusCode) == -1) { + // If not a retry code, return immediately instead of retrying + return response; + } + numTries += 1; + if (numTries < maxTries) { + await response.readBody(); + await this._performExponentialBackoff(numTries); + } + } + return response; + } + /** + * Needs to be called if keepAlive is set to true in request options. + */ + dispose() { + if (this._agent) { + this._agent.destroy(); + } + this._disposed = true; + } + /** + * Raw request. + * @param info + * @param data + */ + requestRaw(info, data) { + return new Promise((resolve, reject) => { + let callbackForResult = function (err, res) { + if (err) { + reject(err); + } + resolve(res); + }; + this.requestRawWithCallback(info, data, callbackForResult); + }); + } + /** + * Raw request with callback. + * @param info + * @param data + * @param onResult + */ + requestRawWithCallback(info, data, onResult) { + let socket; + if (typeof data === 'string') { + info.options.headers['Content-Length'] = Buffer.byteLength(data, 'utf8'); + } + let callbackCalled = false; + let handleResult = (err, res) => { + if (!callbackCalled) { + callbackCalled = true; + onResult(err, res); + } + }; + let req = info.httpModule.request(info.options, (msg) => { + let res = new HttpClientResponse(msg); + handleResult(null, res); + }); + req.on('socket', sock => { + socket = sock; + }); + // If we ever get disconnected, we want the socket to timeout eventually + req.setTimeout(this._socketTimeout || 3 * 60000, () => { + if (socket) { + socket.end(); + } + handleResult(new Error('Request timeout: ' + info.options.path), null); + }); + req.on('error', function (err) { + // err has statusCode property + // res should have headers + handleResult(err, null); + }); + if (data && typeof data === 'string') { + req.write(data, 'utf8'); + } + if (data && typeof data !== 'string') { + data.on('close', function () { + req.end(); + }); + data.pipe(req); + } + else { + req.end(); + } + } + /** + * Gets an http agent. This function is useful when you need an http agent that handles + * routing through a proxy server - depending upon the url and proxy environment variables. + * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com + */ + getAgent(serverUrl) { + let parsedUrl = new URL(serverUrl); + return this._getAgent(parsedUrl); + } + _prepareRequest(method, requestUrl, headers) { + const info = {}; + info.parsedUrl = requestUrl; + const usingSsl = info.parsedUrl.protocol === 'https:'; + info.httpModule = usingSsl ? https : http; + const defaultPort = usingSsl ? 443 : 80; + info.options = {}; + info.options.host = info.parsedUrl.hostname; + info.options.port = info.parsedUrl.port + ? parseInt(info.parsedUrl.port) + : defaultPort; + info.options.path = + (info.parsedUrl.pathname || '') + (info.parsedUrl.search || ''); + info.options.method = method; + info.options.headers = this._mergeHeaders(headers); + if (this.userAgent != null) { + info.options.headers['user-agent'] = this.userAgent; + } + info.options.agent = this._getAgent(info.parsedUrl); + // gives handlers an opportunity to participate + if (this.handlers) { + this.handlers.forEach(handler => { + handler.prepareRequest(info.options); + }); + } + return info; + } + _mergeHeaders(headers) { + const lowercaseKeys = obj => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {}); + if (this.requestOptions && this.requestOptions.headers) { + return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(headers)); + } + return lowercaseKeys(headers || {}); + } + _getExistingOrDefaultHeader(additionalHeaders, header, _default) { + const lowercaseKeys = obj => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {}); + let clientHeader; + if (this.requestOptions && this.requestOptions.headers) { + clientHeader = lowercaseKeys(this.requestOptions.headers)[header]; + } + return additionalHeaders[header] || clientHeader || _default; + } + _getAgent(parsedUrl) { + let agent; + let proxyUrl = pm.getProxyUrl(parsedUrl); + let useProxy = proxyUrl && proxyUrl.hostname; + if (this._keepAlive && useProxy) { + agent = this._proxyAgent; + } + if (this._keepAlive && !useProxy) { + agent = this._agent; + } + // if agent is already assigned use that agent. + if (!!agent) { + return agent; + } + const usingSsl = parsedUrl.protocol === 'https:'; + let maxSockets = 100; + if (!!this.requestOptions) { + maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets; + } + if (useProxy) { + // If using proxy, need tunnel + if (!tunnel) { + tunnel = require('tunnel'); + } + const agentOptions = { + maxSockets: maxSockets, + keepAlive: this._keepAlive, + proxy: { + proxyAuth: `${proxyUrl.username}:${proxyUrl.password}`, + host: proxyUrl.hostname, + port: proxyUrl.port + } + }; + let tunnelAgent; + const overHttps = proxyUrl.protocol === 'https:'; + if (usingSsl) { + tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp; + } + else { + tunnelAgent = overHttps ? tunnel.httpOverHttps : tunnel.httpOverHttp; + } + agent = tunnelAgent(agentOptions); + this._proxyAgent = agent; + } + // if reusing agent across request and tunneling agent isn't assigned create a new agent + if (this._keepAlive && !agent) { + const options = { keepAlive: this._keepAlive, maxSockets: maxSockets }; + agent = usingSsl ? new https.Agent(options) : new http.Agent(options); + this._agent = agent; + } + // if not using private agent and tunnel agent isn't setup then use global agent + if (!agent) { + agent = usingSsl ? https.globalAgent : http.globalAgent; + } + if (usingSsl && this._ignoreSslError) { + // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process + // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options + // we have to cast it to any and change it directly + agent.options = Object.assign(agent.options || {}, { + rejectUnauthorized: false + }); + } + return agent; + } + _performExponentialBackoff(retryNumber) { + retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber); + const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber); + return new Promise(resolve => setTimeout(() => resolve(), ms)); + } + static dateTimeDeserializer(key, value) { + if (typeof value === 'string') { + let a = new Date(value); + if (!isNaN(a.valueOf())) { + return a; + } + } + return value; + } + async _processResponse(res, options) { + return new Promise(async (resolve, reject) => { + const statusCode = res.message.statusCode; + const response = { + statusCode: statusCode, + result: null, + headers: {} + }; + // not found leads to null obj returned + if (statusCode == HttpCodes.NotFound) { + resolve(response); + } + let obj; + let contents; + // get the result from the body + try { + contents = await res.readBody(); + if (contents && contents.length > 0) { + if (options && options.deserializeDates) { + obj = JSON.parse(contents, HttpClient.dateTimeDeserializer); + } + else { + obj = JSON.parse(contents); + } + response.result = obj; + } + response.headers = res.message.headers; + } + catch (err) { + // Invalid resource (contents not json); leaving result obj null + } + // note that 3xx redirects are handled by the http layer. + if (statusCode > 299) { + let msg; + // if exception/error in body, attempt to get better error + if (obj && obj.message) { + msg = obj.message; + } + else if (contents && contents.length > 0) { + // it may be the case that the exception is in the body message as string + msg = contents; + } + else { + msg = 'Failed request: (' + statusCode + ')'; + } + let err = new HttpClientError(msg, statusCode); + err.result = response.result; + reject(err); + } + else { + resolve(response); + } + }); + } +} +exports.HttpClient = HttpClient; diff --git a/node_modules/@actions/http-client/interfaces.d.ts b/node_modules/@actions/http-client/interfaces.d.ts new file mode 100644 index 0000000..78bd85b --- /dev/null +++ b/node_modules/@actions/http-client/interfaces.d.ts @@ -0,0 +1,49 @@ +/// +import http = require('http'); +export interface IHeaders { + [key: string]: any; +} +export interface IHttpClient { + options(requestUrl: string, additionalHeaders?: IHeaders): Promise; + get(requestUrl: string, additionalHeaders?: IHeaders): Promise; + del(requestUrl: string, additionalHeaders?: IHeaders): Promise; + post(requestUrl: string, data: string, additionalHeaders?: IHeaders): Promise; + patch(requestUrl: string, data: string, additionalHeaders?: IHeaders): Promise; + put(requestUrl: string, data: string, additionalHeaders?: IHeaders): Promise; + sendStream(verb: string, requestUrl: string, stream: NodeJS.ReadableStream, additionalHeaders?: IHeaders): Promise; + request(verb: string, requestUrl: string, data: string | NodeJS.ReadableStream, headers: IHeaders): Promise; + requestRaw(info: IRequestInfo, data: string | NodeJS.ReadableStream): Promise; + requestRawWithCallback(info: IRequestInfo, data: string | NodeJS.ReadableStream, onResult: (err: any, res: IHttpClientResponse) => void): void; +} +export interface IRequestHandler { + prepareRequest(options: http.RequestOptions): void; + canHandleAuthentication(response: IHttpClientResponse): boolean; + handleAuthentication(httpClient: IHttpClient, requestInfo: IRequestInfo, objs: any): Promise; +} +export interface IHttpClientResponse { + message: http.IncomingMessage; + readBody(): Promise; +} +export interface IRequestInfo { + options: http.RequestOptions; + parsedUrl: URL; + httpModule: any; +} +export interface IRequestOptions { + headers?: IHeaders; + socketTimeout?: number; + ignoreSslError?: boolean; + allowRedirects?: boolean; + allowRedirectDowngrade?: boolean; + maxRedirects?: number; + maxSockets?: number; + keepAlive?: boolean; + deserializeDates?: boolean; + allowRetries?: boolean; + maxRetries?: number; +} +export interface ITypedResponse { + statusCode: number; + result: T | null; + headers: Object; +} diff --git a/node_modules/@actions/http-client/interfaces.js b/node_modules/@actions/http-client/interfaces.js new file mode 100644 index 0000000..c8ad2e5 --- /dev/null +++ b/node_modules/@actions/http-client/interfaces.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/node_modules/@actions/http-client/package.json b/node_modules/@actions/http-client/package.json new file mode 100644 index 0000000..7bd7eb3 --- /dev/null +++ b/node_modules/@actions/http-client/package.json @@ -0,0 +1,70 @@ +{ + "_args": [ + [ + "@actions/http-client@1.0.9", + "/Users/1112456/github/jenkins-action" + ] + ], + "_from": "@actions/http-client@1.0.9", + "_id": "@actions/http-client@1.0.9", + "_inBundle": false, + "_integrity": "sha512-0O4SsJ7q+MK0ycvXPl2e6bMXV7dxAXOGjrXS1eTF9s2S401Tp6c/P3c3Joz04QefC1J6Gt942Wl2jbm3f4mLcg==", + "_location": "/@actions/http-client", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "@actions/http-client@1.0.9", + "name": "@actions/http-client", + "escapedName": "@actions%2fhttp-client", + "scope": "@actions", + "rawSpec": "1.0.9", + "saveSpec": null, + "fetchSpec": "1.0.9" + }, + "_requiredBy": [ + "/@actions/github" + ], + "_resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-1.0.9.tgz", + "_spec": "1.0.9", + "_where": "/Users/1112456/github/jenkins-action", + "author": { + "name": "GitHub, Inc." + }, + "bugs": { + "url": "https://github.com/actions/http-client/issues" + }, + "dependencies": { + "tunnel": "0.0.6" + }, + "description": "Actions Http Client", + "devDependencies": { + "@types/jest": "^25.1.4", + "@types/node": "^12.12.31", + "jest": "^25.1.0", + "prettier": "^2.0.4", + "proxy": "^1.0.1", + "ts-jest": "^25.2.1", + "typescript": "^3.8.3" + }, + "homepage": "https://github.com/actions/http-client#readme", + "keywords": [ + "Actions", + "Http" + ], + "license": "MIT", + "main": "index.js", + "name": "@actions/http-client", + "repository": { + "type": "git", + "url": "git+https://github.com/actions/http-client.git" + }, + "scripts": { + "audit-check": "npm audit --audit-level=moderate", + "build": "rm -Rf ./_out && tsc && cp package*.json ./_out && cp *.md ./_out && cp LICENSE ./_out && cp actions.png ./_out", + "format": "prettier --write *.ts && prettier --write **/*.ts", + "format-check": "prettier --check *.ts && prettier --check **/*.ts", + "test": "jest" + }, + "version": "1.0.9" +} diff --git a/node_modules/@actions/http-client/proxy.d.ts b/node_modules/@actions/http-client/proxy.d.ts new file mode 100644 index 0000000..4599865 --- /dev/null +++ b/node_modules/@actions/http-client/proxy.d.ts @@ -0,0 +1,2 @@ +export declare function getProxyUrl(reqUrl: URL): URL | undefined; +export declare function checkBypass(reqUrl: URL): boolean; diff --git a/node_modules/@actions/http-client/proxy.js b/node_modules/@actions/http-client/proxy.js new file mode 100644 index 0000000..88f00ec --- /dev/null +++ b/node_modules/@actions/http-client/proxy.js @@ -0,0 +1,57 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +function getProxyUrl(reqUrl) { + let usingSsl = reqUrl.protocol === 'https:'; + let proxyUrl; + if (checkBypass(reqUrl)) { + return proxyUrl; + } + let proxyVar; + if (usingSsl) { + proxyVar = process.env['https_proxy'] || process.env['HTTPS_PROXY']; + } + else { + proxyVar = process.env['http_proxy'] || process.env['HTTP_PROXY']; + } + if (proxyVar) { + proxyUrl = new URL(proxyVar); + } + return proxyUrl; +} +exports.getProxyUrl = getProxyUrl; +function checkBypass(reqUrl) { + if (!reqUrl.hostname) { + return false; + } + let noProxy = process.env['no_proxy'] || process.env['NO_PROXY'] || ''; + if (!noProxy) { + return false; + } + // Determine the request port + let reqPort; + if (reqUrl.port) { + reqPort = Number(reqUrl.port); + } + else if (reqUrl.protocol === 'http:') { + reqPort = 80; + } + else if (reqUrl.protocol === 'https:') { + reqPort = 443; + } + // Format the request hostname and hostname with port + let upperReqHosts = [reqUrl.hostname.toUpperCase()]; + if (typeof reqPort === 'number') { + upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`); + } + // Compare request host against noproxy + for (let upperNoProxyItem of noProxy + .split(',') + .map(x => x.trim().toUpperCase()) + .filter(x => x)) { + if (upperReqHosts.some(x => x === upperNoProxyItem)) { + return true; + } + } + return false; +} +exports.checkBypass = checkBypass; diff --git a/node_modules/@octokit/auth-token/LICENSE b/node_modules/@octokit/auth-token/LICENSE new file mode 100644 index 0000000..ef2c18e --- /dev/null +++ b/node_modules/@octokit/auth-token/LICENSE @@ -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. diff --git a/node_modules/@octokit/auth-token/README.md b/node_modules/@octokit/auth-token/README.md new file mode 100644 index 0000000..4afeb95 --- /dev/null +++ b/node_modules/@octokit/auth-token/README.md @@ -0,0 +1,271 @@ +# auth-token.js + +> GitHub API token authentication for browsers and Node.js + +[![@latest](https://img.shields.io/npm/v/@octokit/auth-token.svg)](https://www.npmjs.com/package/@octokit/auth-token) +[![Build Status](https://github.com/octokit/auth-token.js/workflows/Test/badge.svg)](https://github.com/octokit/auth-token.js/actions?query=workflow%3ATest) + +`@octokit/auth-token` is the simplest of [GitHub’s authentication strategies](https://github.com/octokit/auth.js). + +It is useful if you want to support multiple authentication strategies, as it’s API is compatible with its sibling packages for [basic](https://github.com/octokit/auth-basic.js), [GitHub App](https://github.com/octokit/auth-app.js) and [OAuth app](https://github.com/octokit/auth.js) authentication. + + + +- [Usage](#usage) +- [`createTokenAuth(token) options`](#createtokenauthtoken-options) +- [`auth()`](#auth) +- [Authentication object](#authentication-object) +- [`auth.hook(request, route, options)` or `auth.hook(request, options)`](#authhookrequest-route-options-or-authhookrequest-options) +- [Find more information](#find-more-information) + - [Find out what scopes are enabled for oauth tokens](#find-out-what-scopes-are-enabled-for-oauth-tokens) + - [Find out if token is a personal access token or if it belongs to an OAuth app](#find-out-if-token-is-a-personal-access-token-or-if-it-belongs-to-an-oauth-app) + - [Find out what permissions are enabled for a repository](#find-out-what-permissions-are-enabled-for-a-repository) + - [Use token for git operations](#use-token-for-git-operations) +- [License](#license) + + + +## Usage + + + + + + +
+Browsers + + +Load `@octokit/auth-token` directly from [cdn.skypack.dev](https://cdn.skypack.dev) + +```html + +``` + +
+Node + + +Install with npm install @octokit/auth-token + +```js +const { createTokenAuth } = require("@octokit/auth-token"); +// or: import { createTokenAuth } from "@octokit/auth-token"; +``` + +
+ +```js +const auth = createTokenAuth("1234567890abcdef1234567890abcdef12345678"); +const authentication = await auth(); +// { +// type: 'token', +// token: '1234567890abcdef1234567890abcdef12345678', +// tokenType: 'oauth' +// } +``` + +## `createTokenAuth(token) options` + +The `createTokenAuth` method accepts a single argument of type string, which is the token. The passed token can be one of the following: + +- [Personal access token](https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line) +- [OAuth access token](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/) +- Installation access token ([GitHub App Installation](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation)) +- [GITHUB_TOKEN provided to GitHub Actions](https://developer.github.com/actions/creating-github-actions/accessing-the-runtime-environment/#environment-variables) + +Examples + +```js +// Personal access token or OAuth access token +createTokenAuth("1234567890abcdef1234567890abcdef12345678"); + +// Installation access token or GitHub Action token +createTokenAuth("v1.d3d433526f780fbcc3129004e2731b3904ad0b86"); +``` + +## `auth()` + +The `auth()` method has no options. It returns a promise which resolves with the the authentication object. + +## Authentication object + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ name + + type + + description +
+ type + + string + + "token" +
+ token + + string + + The provided token. +
+ tokenType + + string + + Can be either "oauth" for personal access tokens and OAuth tokens, or "installation" for installation access tokens (includes GITHUB_TOKEN provided to GitHub Actions) +
+ +## `auth.hook(request, route, options)` or `auth.hook(request, options)` + +`auth.hook()` hooks directly into the request life cycle. It authenticates the request using the provided token. + +The `request` option is an instance of [`@octokit/request`](https://github.com/octokit/request.js#readme). The `route`/`options` parameters are the same as for the [`request()` method](https://github.com/octokit/request.js#request). + +`auth.hook()` can be called directly to send an authenticated request + +```js +const { data: authorizations } = await auth.hook( + request, + "GET /authorizations" +); +``` + +Or it can be passed as option to [`request()`](https://github.com/octokit/request.js#request). + +```js +const requestWithAuth = request.defaults({ + request: { + hook: auth.hook, + }, +}); + +const { data: authorizations } = await requestWithAuth("GET /authorizations"); +``` + +## Find more information + +`auth()` does not send any requests, it only transforms the provided token string into an authentication object. + +Here is a list of things you can do to retrieve further information + +### Find out what scopes are enabled for oauth tokens + +Note that this does not work for installations. There is no way to retrieve permissions based on an installation access tokens. + +```js +const TOKEN = "1234567890abcdef1234567890abcdef12345678"; + +const auth = createTokenAuth(TOKEN); +const authentication = await auth(); + +const response = await request("HEAD /", { + headers: authentication.headers, +}); +const scopes = response.headers["x-oauth-scopes"].split(/,\s+/); + +if (scopes.length) { + console.log( + `"${TOKEN}" has ${scopes.length} scopes enabled: ${scopes.join(", ")}` + ); +} else { + console.log(`"${TOKEN}" has no scopes enabled`); +} +``` + +### Find out if token is a personal access token or if it belongs to an OAuth app + +```js +const TOKEN = "1234567890abcdef1234567890abcdef12345678"; + +const auth = createTokenAuth(TOKEN); +const authentication = await auth(); + +const response = await request("HEAD /", { + headers: authentication.headers, +}); +const clientId = response.headers["x-oauth-client-id"]; + +if (clientId) { + console.log( + `"${token}" is an OAuth token, its app’s client_id is ${clientId}.` + ); +} else { + console.log(`"${token}" is a personal access token`); +} +``` + +### Find out what permissions are enabled for a repository + +Note that the `permissions` key is not set when authenticated using an installation access token. + +```js +const TOKEN = "1234567890abcdef1234567890abcdef12345678"; + +const auth = createTokenAuth(TOKEN); +const authentication = await auth(); + +const response = await request("GET /repos/:owner/:repo", { + owner: 'octocat', + repo: 'hello-world' + headers: authentication.headers +}); + +console.log(response.data.permissions) +// { +// admin: true, +// push: true, +// pull: true +// } +``` + +### Use token for git operations + +Both OAuth and installation access tokens can be used for git operations. However, when using with an installation, [the token must be prefixed with `x-access-token`](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#http-based-git-access-by-an-installation). + +This example is using the [`execa`](https://github.com/sindresorhus/execa) package to run a `git push` command. + +```js +const TOKEN = "1234567890abcdef1234567890abcdef12345678"; + +const auth = createTokenAuth(TOKEN); +const { token, tokenType } = await auth(); +const tokenWithPrefix = + tokenType === "installation" ? `x-access-token:${token}` : token; + +const repositoryUrl = `https://${tokenWithPrefix}@github.com/octocat/hello-world.git`; + +const { stdout } = await execa("git", ["push", repositoryUrl]); +console.log(stdout); +``` + +## License + +[MIT](LICENSE) diff --git a/node_modules/@octokit/auth-token/dist-node/index.js b/node_modules/@octokit/auth-token/dist-node/index.js new file mode 100644 index 0000000..1394a5d --- /dev/null +++ b/node_modules/@octokit/auth-token/dist-node/index.js @@ -0,0 +1,49 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +async function auth(token) { + const tokenType = token.split(/\./).length === 3 ? "app" : /^v\d+\./.test(token) ? "installation" : "oauth"; + return { + type: "token", + token: token, + tokenType + }; +} + +/** + * Prefix token for usage in the Authorization header + * + * @param token OAuth token or JSON Web Token + */ +function withAuthorizationPrefix(token) { + if (token.split(/\./).length === 3) { + return `bearer ${token}`; + } + + return `token ${token}`; +} + +async function hook(token, request, route, parameters) { + const endpoint = request.endpoint.merge(route, parameters); + endpoint.headers.authorization = withAuthorizationPrefix(token); + return request(endpoint); +} + +const createTokenAuth = function createTokenAuth(token) { + if (!token) { + throw new Error("[@octokit/auth-token] No token passed to createTokenAuth"); + } + + if (typeof token !== "string") { + throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string"); + } + + token = token.replace(/^(token|bearer) +/i, ""); + return Object.assign(auth.bind(null, token), { + hook: hook.bind(null, token) + }); +}; + +exports.createTokenAuth = createTokenAuth; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/auth-token/dist-node/index.js.map b/node_modules/@octokit/auth-token/dist-node/index.js.map new file mode 100644 index 0000000..8a92b69 --- /dev/null +++ b/node_modules/@octokit/auth-token/dist-node/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/auth.js","../dist-src/with-authorization-prefix.js","../dist-src/hook.js","../dist-src/index.js"],"sourcesContent":["export async function auth(token) {\n const tokenType = token.split(/\\./).length === 3\n ? \"app\"\n : /^v\\d+\\./.test(token)\n ? \"installation\"\n : \"oauth\";\n return {\n type: \"token\",\n token: token,\n tokenType\n };\n}\n","/**\n * Prefix token for usage in the Authorization header\n *\n * @param token OAuth token or JSON Web Token\n */\nexport function withAuthorizationPrefix(token) {\n if (token.split(/\\./).length === 3) {\n return `bearer ${token}`;\n }\n return `token ${token}`;\n}\n","import { withAuthorizationPrefix } from \"./with-authorization-prefix\";\nexport async function hook(token, request, route, parameters) {\n const endpoint = request.endpoint.merge(route, parameters);\n endpoint.headers.authorization = withAuthorizationPrefix(token);\n return request(endpoint);\n}\n","import { auth } from \"./auth\";\nimport { hook } from \"./hook\";\nexport const createTokenAuth = function createTokenAuth(token) {\n if (!token) {\n throw new Error(\"[@octokit/auth-token] No token passed to createTokenAuth\");\n }\n if (typeof token !== \"string\") {\n throw new Error(\"[@octokit/auth-token] Token passed to createTokenAuth is not a string\");\n }\n token = token.replace(/^(token|bearer) +/i, \"\");\n return Object.assign(auth.bind(null, token), {\n hook: hook.bind(null, token)\n });\n};\n"],"names":["auth","token","tokenType","split","length","test","type","withAuthorizationPrefix","hook","request","route","parameters","endpoint","merge","headers","authorization","createTokenAuth","Error","replace","Object","assign","bind"],"mappings":";;;;AAAO,eAAeA,IAAf,CAAoBC,KAApB,EAA2B;AAC9B,QAAMC,SAAS,GAAGD,KAAK,CAACE,KAAN,CAAY,IAAZ,EAAkBC,MAAlB,KAA6B,CAA7B,GACZ,KADY,GAEZ,UAAUC,IAAV,CAAeJ,KAAf,IACI,cADJ,GAEI,OAJV;AAKA,SAAO;AACHK,IAAAA,IAAI,EAAE,OADH;AAEHL,IAAAA,KAAK,EAAEA,KAFJ;AAGHC,IAAAA;AAHG,GAAP;AAKH;;ACXD;;;;;AAKA,AAAO,SAASK,uBAAT,CAAiCN,KAAjC,EAAwC;AAC3C,MAAIA,KAAK,CAACE,KAAN,CAAY,IAAZ,EAAkBC,MAAlB,KAA6B,CAAjC,EAAoC;AAChC,WAAQ,UAASH,KAAM,EAAvB;AACH;;AACD,SAAQ,SAAQA,KAAM,EAAtB;AACH;;ACTM,eAAeO,IAAf,CAAoBP,KAApB,EAA2BQ,OAA3B,EAAoCC,KAApC,EAA2CC,UAA3C,EAAuD;AAC1D,QAAMC,QAAQ,GAAGH,OAAO,CAACG,QAAR,CAAiBC,KAAjB,CAAuBH,KAAvB,EAA8BC,UAA9B,CAAjB;AACAC,EAAAA,QAAQ,CAACE,OAAT,CAAiBC,aAAjB,GAAiCR,uBAAuB,CAACN,KAAD,CAAxD;AACA,SAAOQ,OAAO,CAACG,QAAD,CAAd;AACH;;MCHYI,eAAe,GAAG,SAASA,eAAT,CAAyBf,KAAzB,EAAgC;AAC3D,MAAI,CAACA,KAAL,EAAY;AACR,UAAM,IAAIgB,KAAJ,CAAU,0DAAV,CAAN;AACH;;AACD,MAAI,OAAOhB,KAAP,KAAiB,QAArB,EAA+B;AAC3B,UAAM,IAAIgB,KAAJ,CAAU,uEAAV,CAAN;AACH;;AACDhB,EAAAA,KAAK,GAAGA,KAAK,CAACiB,OAAN,CAAc,oBAAd,EAAoC,EAApC,CAAR;AACA,SAAOC,MAAM,CAACC,MAAP,CAAcpB,IAAI,CAACqB,IAAL,CAAU,IAAV,EAAgBpB,KAAhB,CAAd,EAAsC;AACzCO,IAAAA,IAAI,EAAEA,IAAI,CAACa,IAAL,CAAU,IAAV,EAAgBpB,KAAhB;AADmC,GAAtC,CAAP;AAGH,CAXM;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/auth-token/dist-src/auth.js b/node_modules/@octokit/auth-token/dist-src/auth.js new file mode 100644 index 0000000..2d5005c --- /dev/null +++ b/node_modules/@octokit/auth-token/dist-src/auth.js @@ -0,0 +1,12 @@ +export async function auth(token) { + const tokenType = token.split(/\./).length === 3 + ? "app" + : /^v\d+\./.test(token) + ? "installation" + : "oauth"; + return { + type: "token", + token: token, + tokenType + }; +} diff --git a/node_modules/@octokit/auth-token/dist-src/hook.js b/node_modules/@octokit/auth-token/dist-src/hook.js new file mode 100644 index 0000000..f8e47f0 --- /dev/null +++ b/node_modules/@octokit/auth-token/dist-src/hook.js @@ -0,0 +1,6 @@ +import { withAuthorizationPrefix } from "./with-authorization-prefix"; +export async function hook(token, request, route, parameters) { + const endpoint = request.endpoint.merge(route, parameters); + endpoint.headers.authorization = withAuthorizationPrefix(token); + return request(endpoint); +} diff --git a/node_modules/@octokit/auth-token/dist-src/index.js b/node_modules/@octokit/auth-token/dist-src/index.js new file mode 100644 index 0000000..114fd45 --- /dev/null +++ b/node_modules/@octokit/auth-token/dist-src/index.js @@ -0,0 +1,14 @@ +import { auth } from "./auth"; +import { hook } from "./hook"; +export const createTokenAuth = function createTokenAuth(token) { + if (!token) { + throw new Error("[@octokit/auth-token] No token passed to createTokenAuth"); + } + if (typeof token !== "string") { + throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string"); + } + token = token.replace(/^(token|bearer) +/i, ""); + return Object.assign(auth.bind(null, token), { + hook: hook.bind(null, token) + }); +}; diff --git a/node_modules/@octokit/auth-token/dist-src/types.js b/node_modules/@octokit/auth-token/dist-src/types.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/auth-token/dist-src/with-authorization-prefix.js b/node_modules/@octokit/auth-token/dist-src/with-authorization-prefix.js new file mode 100644 index 0000000..9035813 --- /dev/null +++ b/node_modules/@octokit/auth-token/dist-src/with-authorization-prefix.js @@ -0,0 +1,11 @@ +/** + * Prefix token for usage in the Authorization header + * + * @param token OAuth token or JSON Web Token + */ +export function withAuthorizationPrefix(token) { + if (token.split(/\./).length === 3) { + return `bearer ${token}`; + } + return `token ${token}`; +} diff --git a/node_modules/@octokit/auth-token/dist-types/auth.d.ts b/node_modules/@octokit/auth-token/dist-types/auth.d.ts new file mode 100644 index 0000000..dc41835 --- /dev/null +++ b/node_modules/@octokit/auth-token/dist-types/auth.d.ts @@ -0,0 +1,2 @@ +import { Token, Authentication } from "./types"; +export declare function auth(token: Token): Promise; diff --git a/node_modules/@octokit/auth-token/dist-types/hook.d.ts b/node_modules/@octokit/auth-token/dist-types/hook.d.ts new file mode 100644 index 0000000..21e4b6f --- /dev/null +++ b/node_modules/@octokit/auth-token/dist-types/hook.d.ts @@ -0,0 +1,2 @@ +import { AnyResponse, EndpointOptions, RequestInterface, RequestParameters, Route, Token } from "./types"; +export declare function hook(token: Token, request: RequestInterface, route: Route | EndpointOptions, parameters?: RequestParameters): Promise; diff --git a/node_modules/@octokit/auth-token/dist-types/index.d.ts b/node_modules/@octokit/auth-token/dist-types/index.d.ts new file mode 100644 index 0000000..5999429 --- /dev/null +++ b/node_modules/@octokit/auth-token/dist-types/index.d.ts @@ -0,0 +1,7 @@ +import { StrategyInterface, Token, Authentication } from "./types"; +export declare type Types = { + StrategyOptions: Token; + AuthOptions: never; + Authentication: Authentication; +}; +export declare const createTokenAuth: StrategyInterface; diff --git a/node_modules/@octokit/auth-token/dist-types/types.d.ts b/node_modules/@octokit/auth-token/dist-types/types.d.ts new file mode 100644 index 0000000..53a4ab1 --- /dev/null +++ b/node_modules/@octokit/auth-token/dist-types/types.d.ts @@ -0,0 +1,25 @@ +import * as OctokitTypes from "@octokit/types"; +export declare type AnyResponse = OctokitTypes.OctokitResponse; +export declare type StrategyInterface = OctokitTypes.StrategyInterface<[Token], [], Authentication>; +export declare type EndpointDefaults = OctokitTypes.EndpointDefaults; +export declare type EndpointOptions = OctokitTypes.EndpointOptions; +export declare type RequestParameters = OctokitTypes.RequestParameters; +export declare type RequestInterface = OctokitTypes.RequestInterface; +export declare type Route = OctokitTypes.Route; +export declare type Token = string; +export declare type OAuthTokenAuthentication = { + type: "token"; + tokenType: "oauth"; + token: Token; +}; +export declare type InstallationTokenAuthentication = { + type: "token"; + tokenType: "installation"; + token: Token; +}; +export declare type AppAuthentication = { + type: "token"; + tokenType: "app"; + token: Token; +}; +export declare type Authentication = OAuthTokenAuthentication | InstallationTokenAuthentication | AppAuthentication; diff --git a/node_modules/@octokit/auth-token/dist-types/with-authorization-prefix.d.ts b/node_modules/@octokit/auth-token/dist-types/with-authorization-prefix.d.ts new file mode 100644 index 0000000..2e52c31 --- /dev/null +++ b/node_modules/@octokit/auth-token/dist-types/with-authorization-prefix.d.ts @@ -0,0 +1,6 @@ +/** + * Prefix token for usage in the Authorization header + * + * @param token OAuth token or JSON Web Token + */ +export declare function withAuthorizationPrefix(token: string): string; diff --git a/node_modules/@octokit/auth-token/dist-web/index.js b/node_modules/@octokit/auth-token/dist-web/index.js new file mode 100644 index 0000000..c15ca12 --- /dev/null +++ b/node_modules/@octokit/auth-token/dist-web/index.js @@ -0,0 +1,46 @@ +async function auth(token) { + const tokenType = token.split(/\./).length === 3 + ? "app" + : /^v\d+\./.test(token) + ? "installation" + : "oauth"; + return { + type: "token", + token: token, + tokenType + }; +} + +/** + * Prefix token for usage in the Authorization header + * + * @param token OAuth token or JSON Web Token + */ +function withAuthorizationPrefix(token) { + if (token.split(/\./).length === 3) { + return `bearer ${token}`; + } + return `token ${token}`; +} + +async function hook(token, request, route, parameters) { + const endpoint = request.endpoint.merge(route, parameters); + endpoint.headers.authorization = withAuthorizationPrefix(token); + return request(endpoint); +} + +const createTokenAuth = function createTokenAuth(token) { + if (!token) { + throw new Error("[@octokit/auth-token] No token passed to createTokenAuth"); + } + if (typeof token !== "string") { + throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string"); + } + token = token.replace(/^(token|bearer) +/i, ""); + return Object.assign(auth.bind(null, token), { + hook: hook.bind(null, token) + }); +}; + +export { createTokenAuth }; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/auth-token/dist-web/index.js.map b/node_modules/@octokit/auth-token/dist-web/index.js.map new file mode 100644 index 0000000..60de4a6 --- /dev/null +++ b/node_modules/@octokit/auth-token/dist-web/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/auth.js","../dist-src/with-authorization-prefix.js","../dist-src/hook.js","../dist-src/index.js"],"sourcesContent":["export async function auth(token) {\n const tokenType = token.split(/\\./).length === 3\n ? \"app\"\n : /^v\\d+\\./.test(token)\n ? \"installation\"\n : \"oauth\";\n return {\n type: \"token\",\n token: token,\n tokenType\n };\n}\n","/**\n * Prefix token for usage in the Authorization header\n *\n * @param token OAuth token or JSON Web Token\n */\nexport function withAuthorizationPrefix(token) {\n if (token.split(/\\./).length === 3) {\n return `bearer ${token}`;\n }\n return `token ${token}`;\n}\n","import { withAuthorizationPrefix } from \"./with-authorization-prefix\";\nexport async function hook(token, request, route, parameters) {\n const endpoint = request.endpoint.merge(route, parameters);\n endpoint.headers.authorization = withAuthorizationPrefix(token);\n return request(endpoint);\n}\n","import { auth } from \"./auth\";\nimport { hook } from \"./hook\";\nexport const createTokenAuth = function createTokenAuth(token) {\n if (!token) {\n throw new Error(\"[@octokit/auth-token] No token passed to createTokenAuth\");\n }\n if (typeof token !== \"string\") {\n throw new Error(\"[@octokit/auth-token] Token passed to createTokenAuth is not a string\");\n }\n token = token.replace(/^(token|bearer) +/i, \"\");\n return Object.assign(auth.bind(null, token), {\n hook: hook.bind(null, token)\n });\n};\n"],"names":[],"mappings":"AAAO,eAAe,IAAI,CAAC,KAAK,EAAE;AAClC,IAAI,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;AACpD,UAAU,KAAK;AACf,UAAU,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;AAC/B,cAAc,cAAc;AAC5B,cAAc,OAAO,CAAC;AACtB,IAAI,OAAO;AACX,QAAQ,IAAI,EAAE,OAAO;AACrB,QAAQ,KAAK,EAAE,KAAK;AACpB,QAAQ,SAAS;AACjB,KAAK,CAAC;AACN;;ACXA;AACA;AACA;AACA;AACA;AACA,AAAO,SAAS,uBAAuB,CAAC,KAAK,EAAE;AAC/C,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;AACxC,QAAQ,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;AACjC,KAAK;AACL,IAAI,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAC5B,CAAC;;ACTM,eAAe,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE;AAC9D,IAAI,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AAC/D,IAAI,QAAQ,CAAC,OAAO,CAAC,aAAa,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;AACpE,IAAI,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC7B,CAAC;;ACHW,MAAC,eAAe,GAAG,SAAS,eAAe,CAAC,KAAK,EAAE;AAC/D,IAAI,IAAI,CAAC,KAAK,EAAE;AAChB,QAAQ,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;AACpF,KAAK;AACL,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACnC,QAAQ,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;AACjG,KAAK;AACL,IAAI,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;AACpD,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;AACjD,QAAQ,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;AACpC,KAAK,CAAC,CAAC;AACP,CAAC;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/auth-token/package.json b/node_modules/@octokit/auth-token/package.json new file mode 100644 index 0000000..2f5a541 --- /dev/null +++ b/node_modules/@octokit/auth-token/package.json @@ -0,0 +1,80 @@ +{ + "_args": [ + [ + "@octokit/auth-token@2.4.4", + "/Users/1112456/github/jenkins-action" + ] + ], + "_from": "@octokit/auth-token@2.4.4", + "_id": "@octokit/auth-token@2.4.4", + "_inBundle": false, + "_integrity": "sha512-LNfGu3Ro9uFAYh10MUZVaT7X2CnNm2C8IDQmabx+3DygYIQjs9FwzFAHN/0t6mu5HEPhxcb1XOuxdpY82vCg2Q==", + "_location": "/@octokit/auth-token", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "@octokit/auth-token@2.4.4", + "name": "@octokit/auth-token", + "escapedName": "@octokit%2fauth-token", + "scope": "@octokit", + "rawSpec": "2.4.4", + "saveSpec": null, + "fetchSpec": "2.4.4" + }, + "_requiredBy": [ + "/@octokit/rest" + ], + "_resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.4.4.tgz", + "_spec": "2.4.4", + "_where": "/Users/1112456/github/jenkins-action", + "bugs": { + "url": "https://github.com/octokit/auth-token.js/issues" + }, + "dependencies": { + "@octokit/types": "^6.0.0" + }, + "description": "GitHub API token authentication for browsers and Node.js", + "devDependencies": { + "@octokit/core": "^3.0.0", + "@octokit/request": "^5.3.0", + "@pika/pack": "^0.5.0", + "@pika/plugin-build-node": "^0.9.0", + "@pika/plugin-build-web": "^0.9.0", + "@pika/plugin-ts-standard-pkg": "^0.9.0", + "@types/fetch-mock": "^7.3.1", + "@types/jest": "^26.0.0", + "fetch-mock": "^9.0.0", + "jest": "^25.1.0", + "semantic-release": "^17.0.0", + "ts-jest": "^25.1.0", + "typescript": "^3.7.2" + }, + "files": [ + "dist-*/", + "bin/" + ], + "homepage": "https://github.com/octokit/auth-token.js#readme", + "keywords": [ + "github", + "octokit", + "authentication", + "api" + ], + "license": "MIT", + "main": "dist-node/index.js", + "module": "dist-web/index.js", + "name": "@octokit/auth-token", + "pika": true, + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/octokit/auth-token.js.git" + }, + "sideEffects": false, + "source": "dist-src/index.js", + "types": "dist-types/index.d.ts", + "version": "2.4.4" +} diff --git a/node_modules/@octokit/endpoint/LICENSE b/node_modules/@octokit/endpoint/LICENSE new file mode 100644 index 0000000..af5366d --- /dev/null +++ b/node_modules/@octokit/endpoint/LICENSE @@ -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. diff --git a/node_modules/@octokit/endpoint/README.md b/node_modules/@octokit/endpoint/README.md new file mode 100644 index 0000000..818c100 --- /dev/null +++ b/node_modules/@octokit/endpoint/README.md @@ -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://github.com/octokit/endpoint.js/workflows/Test/badge.svg) + +`@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. + + + + + +- [Usage](#usage) +- [API](#api) + - [`endpoint(route, options)` or `endpoint(options)`](#endpointroute-options-or-endpointoptions) + - [`endpoint.defaults()`](#endpointdefaults) + - [`endpoint.DEFAULTS`](#endpointdefaults) + - [`endpoint.merge(route, options)` or `endpoint.merge(options)`](#endpointmergeroute-options-or-endpointmergeoptions) + - [`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) + + + +## Usage + + + + + + +
+Browsers + +Load @octokit/endpoint directly from cdn.skypack.dev + +```html + +``` + +
+Node + + +Install with npm install @octokit/endpoint + +```js +const { endpoint } = require("@octokit/endpoint"); +// or: import { endpoint } from "@octokit/endpoint"; +``` + +
+ +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 common 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)` + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ name + + type + + description +
+ route + + String + + If set, it has to be a string consisting of URL and the request method, e.g., GET /orgs/:org. If it’s set to a URL, only the method defaults to GET. +
+ options.method + + String + + Required unless route is set. Any supported http verb. Defaults to GET. +
+ options.url + + String + + Required unless route is set. A path or full URL which may contain :variable or {variable} placeholders, + e.g., /orgs/:org/repos. The url is parsed using url-template. +
+ options.baseUrl + + String + + Defaults to https://api.github.com. +
+ options.headers + + Object + + Custom headers. Passed headers are merged with defaults:
+ headers['user-agent'] defaults to octokit-endpoint.js/1.2.3 (where 1.2.3 is the released version).
+ headers['accept'] defaults to application/vnd.github.v3+json.
+
+ options.mediaType.format + + String + + Media type param, such as raw, diff, or text+json. See Media Types. Setting options.mediaType.format will amend the headers.accept value. +
+ options.mediaType.previews + + Array of Strings + + Name of previews, such as mercy, symmetra, or scarlet-witch. See API Previews. If options.mediaType.previews was set as default, the new previews will be merged into the default ones. Setting options.mediaType.previews will amend the headers.accept value. options.mediaType.previews will be merged with an existing array set using .defaults(). +
+ options.data + + Any + + Set request body directly instead of setting it to JSON based on additional parameters. See "The data parameter" below. +
+ options.request + + Object + + Pass custom meta information for the request. The request object will be returned as is. +
+ +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: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ key + + type + + description +
methodStringThe http method. Always lowercase.
urlStringThe url with placeholders replaced with passed parameters.
headersObjectAll header names are lowercased.
bodyAnyThe request body if one is present. Only for PATCH, POST, PUT, DELETE requests.
requestObjectRequest meta option, it will be returned as it was passed into endpoint()
+ +### `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 + + + +### 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) don’t 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) diff --git a/node_modules/@octokit/endpoint/dist-node/index.js b/node_modules/@octokit/endpoint/dist-node/index.js new file mode 100644 index 0000000..8637216 --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-node/index.js @@ -0,0 +1,390 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var isPlainObject = require('is-plain-object'); +var universalUserAgent = 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 mergeDeep(defaults, options) { + const result = Object.assign({}, defaults); + Object.keys(options).forEach(key => { + if (isPlainObject.isPlainObject(options[key])) { + if (!(key in defaults)) Object.assign(result, { + [key]: options[key] + });else result[key] = mergeDeep(defaults[key], options[key]); + } else { + Object.assign(result, { + [key]: options[key] + }); + } + }); + return result; +} + +function removeUndefinedProperties(obj) { + for (const key in obj) { + if (obj[key] === undefined) { + delete obj[key]; + } + } + + return obj; +} + +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 = Object.assign({}, route); + } // lowercase header names before merging with defaults to avoid duplicates + + + options.headers = lowercaseKeys(options.headers); // remove properties with undefined values before merging + + removeUndefinedProperties(options); + removeUndefinedProperties(options.headers); + const mergedOptions = mergeDeep(defaults || {}, options); // 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; + }, {}); +} + +// Based on https://github.com/bramstein/url-template, licensed under BSD +// TODO: create separate package. +// +// Copyright (c) 2012-2014, Bram Stein +// All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +// EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +/* istanbul ignore file */ +function encodeReserved(str) { + return str.split(/(%[0-9A-Fa-f]{2})/g).map(function (part) { + if (!/%[0-9A-Fa-f]/.test(part)) { + part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]"); + } + + return part; + }).join(""); +} + +function encodeUnreserved(str) { + return encodeURIComponent(str).replace(/[!'()*]/g, function (c) { + return "%" + c.charCodeAt(0).toString(16).toUpperCase(); + }); +} + +function encodeValue(operator, value, key) { + value = operator === "+" || operator === "#" ? encodeReserved(value) : encodeUnreserved(value); + + if (key) { + return encodeUnreserved(key) + "=" + value; + } else { + return value; + } +} + +function isDefined(value) { + return value !== undefined && value !== null; +} + +function isKeyOperator(operator) { + return operator === ";" || operator === "&" || operator === "?"; +} + +function getValues(context, operator, key, modifier) { + var value = context[key], + result = []; + + if (isDefined(value) && value !== "") { + if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") { + value = value.toString(); + + if (modifier && modifier !== "*") { + value = value.substring(0, parseInt(modifier, 10)); + } + + result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : "")); + } else { + if (modifier === "*") { + if (Array.isArray(value)) { + value.filter(isDefined).forEach(function (value) { + result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : "")); + }); + } else { + Object.keys(value).forEach(function (k) { + if (isDefined(value[k])) { + result.push(encodeValue(operator, value[k], k)); + } + }); + } + } else { + const tmp = []; + + if (Array.isArray(value)) { + value.filter(isDefined).forEach(function (value) { + tmp.push(encodeValue(operator, value)); + }); + } else { + Object.keys(value).forEach(function (k) { + if (isDefined(value[k])) { + tmp.push(encodeUnreserved(k)); + tmp.push(encodeValue(operator, value[k].toString())); + } + }); + } + + if (isKeyOperator(operator)) { + result.push(encodeUnreserved(key) + "=" + tmp.join(",")); + } else if (tmp.length !== 0) { + result.push(tmp.join(",")); + } + } + } + } else { + if (operator === ";") { + if (isDefined(value)) { + result.push(encodeUnreserved(key)); + } + } else if (value === "" && (operator === "&" || operator === "?")) { + result.push(encodeUnreserved(key) + "="); + } else if (value === "") { + result.push(""); + } + } + + return result; +} + +function parseUrl(template) { + return { + expand: expand.bind(null, template) + }; +} + +function expand(template, context) { + var operators = ["+", "#", ".", "/", ";", "?", "&"]; + return template.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g, function (_, expression, literal) { + if (expression) { + let operator = ""; + const values = []; + + if (operators.indexOf(expression.charAt(0)) !== -1) { + operator = expression.charAt(0); + expression = expression.substr(1); + } + + expression.split(/,/g).forEach(function (variable) { + var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable); + values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3])); + }); + + if (operator && operator !== "+") { + var separator = ","; + + if (operator === "?") { + separator = "&"; + } else if (operator !== "#") { + separator = operator; + } + + return (values.length !== 0 ? operator : "") + values.join(separator); + } else { + return values.join(","); + } + } else { + return encodeReserved(literal); + } + }); +} + +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 = parseUrl(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 isBinaryRequest = /application\/octet-stream/i.test(headers.accept); + + if (!isBinaryRequest) { + 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 = "6.0.10"; + +const userAgent = `octokit-endpoint.js/${VERSION} ${universalUserAgent.getUserAgent()}`; // DEFAULTS has all properties set that EndpointOptions has, except url. +// So we use RequestParameters and add method as additional required property. + +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; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/endpoint/dist-node/index.js.map b/node_modules/@octokit/endpoint/dist-node/index.js.map new file mode 100644 index 0000000..04a8b8d --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-node/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/util/lowercase-keys.js","../dist-src/util/merge-deep.js","../dist-src/util/remove-undefined-properties.js","../dist-src/merge.js","../dist-src/util/add-query-parameters.js","../dist-src/util/extract-url-variable-names.js","../dist-src/util/omit.js","../dist-src/util/url-template.js","../dist-src/parse.js","../dist-src/endpoint-with-defaults.js","../dist-src/with-defaults.js","../dist-src/version.js","../dist-src/defaults.js","../dist-src/index.js"],"sourcesContent":["export function lowercaseKeys(object) {\n if (!object) {\n return {};\n }\n return Object.keys(object).reduce((newObj, key) => {\n newObj[key.toLowerCase()] = object[key];\n return newObj;\n }, {});\n}\n","import { isPlainObject } from \"is-plain-object\";\nexport function mergeDeep(defaults, options) {\n const result = Object.assign({}, defaults);\n Object.keys(options).forEach((key) => {\n if (isPlainObject(options[key])) {\n if (!(key in defaults))\n Object.assign(result, { [key]: options[key] });\n else\n result[key] = mergeDeep(defaults[key], options[key]);\n }\n else {\n Object.assign(result, { [key]: options[key] });\n }\n });\n return result;\n}\n","export function removeUndefinedProperties(obj) {\n for (const key in obj) {\n if (obj[key] === undefined) {\n delete obj[key];\n }\n }\n return obj;\n}\n","import { lowercaseKeys } from \"./util/lowercase-keys\";\nimport { mergeDeep } from \"./util/merge-deep\";\nimport { removeUndefinedProperties } from \"./util/remove-undefined-properties\";\nexport function merge(defaults, route, options) {\n if (typeof route === \"string\") {\n let [method, url] = route.split(\" \");\n options = Object.assign(url ? { method, url } : { url: method }, options);\n }\n else {\n options = Object.assign({}, route);\n }\n // lowercase header names before merging with defaults to avoid duplicates\n options.headers = lowercaseKeys(options.headers);\n // remove properties with undefined values before merging\n removeUndefinedProperties(options);\n removeUndefinedProperties(options.headers);\n const mergedOptions = mergeDeep(defaults || {}, options);\n // mediaType.previews arrays are merged, instead of overwritten\n if (defaults && defaults.mediaType.previews.length) {\n mergedOptions.mediaType.previews = defaults.mediaType.previews\n .filter((preview) => !mergedOptions.mediaType.previews.includes(preview))\n .concat(mergedOptions.mediaType.previews);\n }\n mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map((preview) => preview.replace(/-preview/, \"\"));\n return mergedOptions;\n}\n","export function addQueryParameters(url, parameters) {\n const separator = /\\?/.test(url) ? \"&\" : \"?\";\n const names = Object.keys(parameters);\n if (names.length === 0) {\n return url;\n }\n return (url +\n separator +\n names\n .map((name) => {\n if (name === \"q\") {\n return (\"q=\" + parameters.q.split(\"+\").map(encodeURIComponent).join(\"+\"));\n }\n return `${name}=${encodeURIComponent(parameters[name])}`;\n })\n .join(\"&\"));\n}\n","const urlVariableRegex = /\\{[^}]+\\}/g;\nfunction removeNonChars(variableName) {\n return variableName.replace(/^\\W+|\\W+$/g, \"\").split(/,/);\n}\nexport function extractUrlVariableNames(url) {\n const matches = url.match(urlVariableRegex);\n if (!matches) {\n return [];\n }\n return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []);\n}\n","export function omit(object, keysToOmit) {\n return Object.keys(object)\n .filter((option) => !keysToOmit.includes(option))\n .reduce((obj, key) => {\n obj[key] = object[key];\n return obj;\n }, {});\n}\n","// Based on https://github.com/bramstein/url-template, licensed under BSD\n// TODO: create separate package.\n//\n// Copyright (c) 2012-2014, Bram Stein\n// All rights reserved.\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions\n// are met:\n// 1. Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n// 2. Redistributions in binary form must reproduce the above copyright\n// notice, this list of conditions and the following disclaimer in the\n// documentation and/or other materials provided with the distribution.\n// 3. The name of the author may not be used to endorse or promote products\n// derived from this software without specific prior written permission.\n// THIS SOFTWARE IS PROVIDED BY THE AUTHOR \"AS IS\" AND ANY EXPRESS OR IMPLIED\n// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO\n// EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\n// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\n// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n/* istanbul ignore file */\nfunction encodeReserved(str) {\n return str\n .split(/(%[0-9A-Fa-f]{2})/g)\n .map(function (part) {\n if (!/%[0-9A-Fa-f]/.test(part)) {\n part = encodeURI(part).replace(/%5B/g, \"[\").replace(/%5D/g, \"]\");\n }\n return part;\n })\n .join(\"\");\n}\nfunction encodeUnreserved(str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\nfunction encodeValue(operator, value, key) {\n value =\n operator === \"+\" || operator === \"#\"\n ? encodeReserved(value)\n : encodeUnreserved(value);\n if (key) {\n return encodeUnreserved(key) + \"=\" + value;\n }\n else {\n return value;\n }\n}\nfunction isDefined(value) {\n return value !== undefined && value !== null;\n}\nfunction isKeyOperator(operator) {\n return operator === \";\" || operator === \"&\" || operator === \"?\";\n}\nfunction getValues(context, operator, key, modifier) {\n var value = context[key], result = [];\n if (isDefined(value) && value !== \"\") {\n if (typeof value === \"string\" ||\n typeof value === \"number\" ||\n typeof value === \"boolean\") {\n value = value.toString();\n if (modifier && modifier !== \"*\") {\n value = value.substring(0, parseInt(modifier, 10));\n }\n result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : \"\"));\n }\n else {\n if (modifier === \"*\") {\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function (value) {\n result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : \"\"));\n });\n }\n else {\n Object.keys(value).forEach(function (k) {\n if (isDefined(value[k])) {\n result.push(encodeValue(operator, value[k], k));\n }\n });\n }\n }\n else {\n const tmp = [];\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function (value) {\n tmp.push(encodeValue(operator, value));\n });\n }\n else {\n Object.keys(value).forEach(function (k) {\n if (isDefined(value[k])) {\n tmp.push(encodeUnreserved(k));\n tmp.push(encodeValue(operator, value[k].toString()));\n }\n });\n }\n if (isKeyOperator(operator)) {\n result.push(encodeUnreserved(key) + \"=\" + tmp.join(\",\"));\n }\n else if (tmp.length !== 0) {\n result.push(tmp.join(\",\"));\n }\n }\n }\n }\n else {\n if (operator === \";\") {\n if (isDefined(value)) {\n result.push(encodeUnreserved(key));\n }\n }\n else if (value === \"\" && (operator === \"&\" || operator === \"?\")) {\n result.push(encodeUnreserved(key) + \"=\");\n }\n else if (value === \"\") {\n result.push(\"\");\n }\n }\n return result;\n}\nexport function parseUrl(template) {\n return {\n expand: expand.bind(null, template),\n };\n}\nfunction expand(template, context) {\n var operators = [\"+\", \"#\", \".\", \"/\", \";\", \"?\", \"&\"];\n return template.replace(/\\{([^\\{\\}]+)\\}|([^\\{\\}]+)/g, function (_, expression, literal) {\n if (expression) {\n let operator = \"\";\n const values = [];\n if (operators.indexOf(expression.charAt(0)) !== -1) {\n operator = expression.charAt(0);\n expression = expression.substr(1);\n }\n expression.split(/,/g).forEach(function (variable) {\n var tmp = /([^:\\*]*)(?::(\\d+)|(\\*))?/.exec(variable);\n values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3]));\n });\n if (operator && operator !== \"+\") {\n var separator = \",\";\n if (operator === \"?\") {\n separator = \"&\";\n }\n else if (operator !== \"#\") {\n separator = operator;\n }\n return (values.length !== 0 ? operator : \"\") + values.join(separator);\n }\n else {\n return values.join(\",\");\n }\n }\n else {\n return encodeReserved(literal);\n }\n });\n}\n","import { addQueryParameters } from \"./util/add-query-parameters\";\nimport { extractUrlVariableNames } from \"./util/extract-url-variable-names\";\nimport { omit } from \"./util/omit\";\nimport { parseUrl } from \"./util/url-template\";\nexport function parse(options) {\n // https://fetch.spec.whatwg.org/#methods\n let method = options.method.toUpperCase();\n // replace :varname with {varname} to make it RFC 6570 compatible\n let url = (options.url || \"/\").replace(/:([a-z]\\w+)/g, \"{$1}\");\n let headers = Object.assign({}, options.headers);\n let body;\n let parameters = omit(options, [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"mediaType\",\n ]);\n // extract variable names from URL to calculate remaining variables later\n const urlVariableNames = extractUrlVariableNames(url);\n url = parseUrl(url).expand(parameters);\n if (!/^http/.test(url)) {\n url = options.baseUrl + url;\n }\n const omittedParameters = Object.keys(options)\n .filter((option) => urlVariableNames.includes(option))\n .concat(\"baseUrl\");\n const remainingParameters = omit(parameters, omittedParameters);\n const isBinaryRequest = /application\\/octet-stream/i.test(headers.accept);\n if (!isBinaryRequest) {\n if (options.mediaType.format) {\n // e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw\n headers.accept = headers.accept\n .split(/,/)\n .map((preview) => preview.replace(/application\\/vnd(\\.\\w+)(\\.v3)?(\\.\\w+)?(\\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`))\n .join(\",\");\n }\n if (options.mediaType.previews.length) {\n const previewsFromAcceptHeader = headers.accept.match(/[\\w-]+(?=-preview)/g) || [];\n headers.accept = previewsFromAcceptHeader\n .concat(options.mediaType.previews)\n .map((preview) => {\n const format = options.mediaType.format\n ? `.${options.mediaType.format}`\n : \"+json\";\n return `application/vnd.github.${preview}-preview${format}`;\n })\n .join(\",\");\n }\n }\n // for GET/HEAD requests, set URL query parameters from remaining parameters\n // for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters\n if ([\"GET\", \"HEAD\"].includes(method)) {\n url = addQueryParameters(url, remainingParameters);\n }\n else {\n if (\"data\" in remainingParameters) {\n body = remainingParameters.data;\n }\n else {\n if (Object.keys(remainingParameters).length) {\n body = remainingParameters;\n }\n else {\n headers[\"content-length\"] = 0;\n }\n }\n }\n // default content-type for JSON if body is set\n if (!headers[\"content-type\"] && typeof body !== \"undefined\") {\n headers[\"content-type\"] = \"application/json; charset=utf-8\";\n }\n // GitHub expects 'content-length: 0' header for PUT/PATCH requests without body.\n // fetch does not allow to set `content-length` header, but we can set body to an empty string\n if ([\"PATCH\", \"PUT\"].includes(method) && typeof body === \"undefined\") {\n body = \"\";\n }\n // Only return body/request keys if present\n return Object.assign({ method, url, headers }, typeof body !== \"undefined\" ? { body } : null, options.request ? { request: options.request } : null);\n}\n","import { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nexport function endpointWithDefaults(defaults, route, options) {\n return parse(merge(defaults, route, options));\n}\n","import { endpointWithDefaults } from \"./endpoint-with-defaults\";\nimport { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nexport function withDefaults(oldDefaults, newDefaults) {\n const DEFAULTS = merge(oldDefaults, newDefaults);\n const endpoint = endpointWithDefaults.bind(null, DEFAULTS);\n return Object.assign(endpoint, {\n DEFAULTS,\n defaults: withDefaults.bind(null, DEFAULTS),\n merge: merge.bind(null, DEFAULTS),\n parse,\n });\n}\n","export const VERSION = \"6.0.10\";\n","import { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nconst userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`;\n// DEFAULTS has all properties set that EndpointOptions has, except url.\n// So we use RequestParameters and add method as additional required property.\nexport const DEFAULTS = {\n method: \"GET\",\n baseUrl: \"https://api.github.com\",\n headers: {\n accept: \"application/vnd.github.v3+json\",\n \"user-agent\": userAgent,\n },\n mediaType: {\n format: \"\",\n previews: [],\n },\n};\n","import { withDefaults } from \"./with-defaults\";\nimport { DEFAULTS } from \"./defaults\";\nexport const endpoint = withDefaults(null, DEFAULTS);\n"],"names":["lowercaseKeys","object","Object","keys","reduce","newObj","key","toLowerCase","mergeDeep","defaults","options","result","assign","forEach","isPlainObject","removeUndefinedProperties","obj","undefined","merge","route","method","url","split","headers","mergedOptions","mediaType","previews","length","filter","preview","includes","concat","map","replace","addQueryParameters","parameters","separator","test","names","name","q","encodeURIComponent","join","urlVariableRegex","removeNonChars","variableName","extractUrlVariableNames","matches","match","a","b","omit","keysToOmit","option","encodeReserved","str","part","encodeURI","encodeUnreserved","c","charCodeAt","toString","toUpperCase","encodeValue","operator","value","isDefined","isKeyOperator","getValues","context","modifier","substring","parseInt","push","Array","isArray","k","tmp","parseUrl","template","expand","bind","operators","_","expression","literal","values","indexOf","charAt","substr","variable","exec","parse","body","urlVariableNames","baseUrl","omittedParameters","remainingParameters","isBinaryRequest","accept","format","previewsFromAcceptHeader","data","request","endpointWithDefaults","withDefaults","oldDefaults","newDefaults","DEFAULTS","endpoint","VERSION","userAgent","getUserAgent"],"mappings":";;;;;;;AAAO,SAASA,aAAT,CAAuBC,MAAvB,EAA+B;AAClC,MAAI,CAACA,MAAL,EAAa;AACT,WAAO,EAAP;AACH;;AACD,SAAOC,MAAM,CAACC,IAAP,CAAYF,MAAZ,EAAoBG,MAApB,CAA2B,CAACC,MAAD,EAASC,GAAT,KAAiB;AAC/CD,IAAAA,MAAM,CAACC,GAAG,CAACC,WAAJ,EAAD,CAAN,GAA4BN,MAAM,CAACK,GAAD,CAAlC;AACA,WAAOD,MAAP;AACH,GAHM,EAGJ,EAHI,CAAP;AAIH;;ACPM,SAASG,SAAT,CAAmBC,QAAnB,EAA6BC,OAA7B,EAAsC;AACzC,QAAMC,MAAM,GAAGT,MAAM,CAACU,MAAP,CAAc,EAAd,EAAkBH,QAAlB,CAAf;AACAP,EAAAA,MAAM,CAACC,IAAP,CAAYO,OAAZ,EAAqBG,OAArB,CAA8BP,GAAD,IAAS;AAClC,QAAIQ,2BAAa,CAACJ,OAAO,CAACJ,GAAD,CAAR,CAAjB,EAAiC;AAC7B,UAAI,EAAEA,GAAG,IAAIG,QAAT,CAAJ,EACIP,MAAM,CAACU,MAAP,CAAcD,MAAd,EAAsB;AAAE,SAACL,GAAD,GAAOI,OAAO,CAACJ,GAAD;AAAhB,OAAtB,EADJ,KAGIK,MAAM,CAACL,GAAD,CAAN,GAAcE,SAAS,CAACC,QAAQ,CAACH,GAAD,CAAT,EAAgBI,OAAO,CAACJ,GAAD,CAAvB,CAAvB;AACP,KALD,MAMK;AACDJ,MAAAA,MAAM,CAACU,MAAP,CAAcD,MAAd,EAAsB;AAAE,SAACL,GAAD,GAAOI,OAAO,CAACJ,GAAD;AAAhB,OAAtB;AACH;AACJ,GAVD;AAWA,SAAOK,MAAP;AACH;;ACfM,SAASI,yBAAT,CAAmCC,GAAnC,EAAwC;AAC3C,OAAK,MAAMV,GAAX,IAAkBU,GAAlB,EAAuB;AACnB,QAAIA,GAAG,CAACV,GAAD,CAAH,KAAaW,SAAjB,EAA4B;AACxB,aAAOD,GAAG,CAACV,GAAD,CAAV;AACH;AACJ;;AACD,SAAOU,GAAP;AACH;;ACJM,SAASE,KAAT,CAAeT,QAAf,EAAyBU,KAAzB,EAAgCT,OAAhC,EAAyC;AAC5C,MAAI,OAAOS,KAAP,KAAiB,QAArB,EAA+B;AAC3B,QAAI,CAACC,MAAD,EAASC,GAAT,IAAgBF,KAAK,CAACG,KAAN,CAAY,GAAZ,CAApB;AACAZ,IAAAA,OAAO,GAAGR,MAAM,CAACU,MAAP,CAAcS,GAAG,GAAG;AAAED,MAAAA,MAAF;AAAUC,MAAAA;AAAV,KAAH,GAAqB;AAAEA,MAAAA,GAAG,EAAED;AAAP,KAAtC,EAAuDV,OAAvD,CAAV;AACH,GAHD,MAIK;AACDA,IAAAA,OAAO,GAAGR,MAAM,CAACU,MAAP,CAAc,EAAd,EAAkBO,KAAlB,CAAV;AACH,GAP2C;;;AAS5CT,EAAAA,OAAO,CAACa,OAAR,GAAkBvB,aAAa,CAACU,OAAO,CAACa,OAAT,CAA/B,CAT4C;;AAW5CR,EAAAA,yBAAyB,CAACL,OAAD,CAAzB;AACAK,EAAAA,yBAAyB,CAACL,OAAO,CAACa,OAAT,CAAzB;AACA,QAAMC,aAAa,GAAGhB,SAAS,CAACC,QAAQ,IAAI,EAAb,EAAiBC,OAAjB,CAA/B,CAb4C;;AAe5C,MAAID,QAAQ,IAAIA,QAAQ,CAACgB,SAAT,CAAmBC,QAAnB,CAA4BC,MAA5C,EAAoD;AAChDH,IAAAA,aAAa,CAACC,SAAd,CAAwBC,QAAxB,GAAmCjB,QAAQ,CAACgB,SAAT,CAAmBC,QAAnB,CAC9BE,MAD8B,CACtBC,OAAD,IAAa,CAACL,aAAa,CAACC,SAAd,CAAwBC,QAAxB,CAAiCI,QAAjC,CAA0CD,OAA1C,CADS,EAE9BE,MAF8B,CAEvBP,aAAa,CAACC,SAAd,CAAwBC,QAFD,CAAnC;AAGH;;AACDF,EAAAA,aAAa,CAACC,SAAd,CAAwBC,QAAxB,GAAmCF,aAAa,CAACC,SAAd,CAAwBC,QAAxB,CAAiCM,GAAjC,CAAsCH,OAAD,IAAaA,OAAO,CAACI,OAAR,CAAgB,UAAhB,EAA4B,EAA5B,CAAlD,CAAnC;AACA,SAAOT,aAAP;AACH;;ACzBM,SAASU,kBAAT,CAA4Bb,GAA5B,EAAiCc,UAAjC,EAA6C;AAChD,QAAMC,SAAS,GAAG,KAAKC,IAAL,CAAUhB,GAAV,IAAiB,GAAjB,GAAuB,GAAzC;AACA,QAAMiB,KAAK,GAAGpC,MAAM,CAACC,IAAP,CAAYgC,UAAZ,CAAd;;AACA,MAAIG,KAAK,CAACX,MAAN,KAAiB,CAArB,EAAwB;AACpB,WAAON,GAAP;AACH;;AACD,SAAQA,GAAG,GACPe,SADI,GAEJE,KAAK,CACAN,GADL,CACUO,IAAD,IAAU;AACf,QAAIA,IAAI,KAAK,GAAb,EAAkB;AACd,aAAQ,OAAOJ,UAAU,CAACK,CAAX,CAAalB,KAAb,CAAmB,GAAnB,EAAwBU,GAAxB,CAA4BS,kBAA5B,EAAgDC,IAAhD,CAAqD,GAArD,CAAf;AACH;;AACD,WAAQ,GAAEH,IAAK,IAAGE,kBAAkB,CAACN,UAAU,CAACI,IAAD,CAAX,CAAmB,EAAvD;AACH,GAND,EAOKG,IAPL,CAOU,GAPV,CAFJ;AAUH;;AChBD,MAAMC,gBAAgB,GAAG,YAAzB;;AACA,SAASC,cAAT,CAAwBC,YAAxB,EAAsC;AAClC,SAAOA,YAAY,CAACZ,OAAb,CAAqB,YAArB,EAAmC,EAAnC,EAAuCX,KAAvC,CAA6C,GAA7C,CAAP;AACH;;AACD,AAAO,SAASwB,uBAAT,CAAiCzB,GAAjC,EAAsC;AACzC,QAAM0B,OAAO,GAAG1B,GAAG,CAAC2B,KAAJ,CAAUL,gBAAV,CAAhB;;AACA,MAAI,CAACI,OAAL,EAAc;AACV,WAAO,EAAP;AACH;;AACD,SAAOA,OAAO,CAACf,GAAR,CAAYY,cAAZ,EAA4BxC,MAA5B,CAAmC,CAAC6C,CAAD,EAAIC,CAAJ,KAAUD,CAAC,CAAClB,MAAF,CAASmB,CAAT,CAA7C,EAA0D,EAA1D,CAAP;AACH;;ACVM,SAASC,IAAT,CAAclD,MAAd,EAAsBmD,UAAtB,EAAkC;AACrC,SAAOlD,MAAM,CAACC,IAAP,CAAYF,MAAZ,EACF2B,MADE,CACMyB,MAAD,IAAY,CAACD,UAAU,CAACtB,QAAX,CAAoBuB,MAApB,CADlB,EAEFjD,MAFE,CAEK,CAACY,GAAD,EAAMV,GAAN,KAAc;AACtBU,IAAAA,GAAG,CAACV,GAAD,CAAH,GAAWL,MAAM,CAACK,GAAD,CAAjB;AACA,WAAOU,GAAP;AACH,GALM,EAKJ,EALI,CAAP;AAMH;;ACPD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA,SAASsC,cAAT,CAAwBC,GAAxB,EAA6B;AACzB,SAAOA,GAAG,CACLjC,KADE,CACI,oBADJ,EAEFU,GAFE,CAEE,UAAUwB,IAAV,EAAgB;AACrB,QAAI,CAAC,eAAenB,IAAf,CAAoBmB,IAApB,CAAL,EAAgC;AAC5BA,MAAAA,IAAI,GAAGC,SAAS,CAACD,IAAD,CAAT,CAAgBvB,OAAhB,CAAwB,MAAxB,EAAgC,GAAhC,EAAqCA,OAArC,CAA6C,MAA7C,EAAqD,GAArD,CAAP;AACH;;AACD,WAAOuB,IAAP;AACH,GAPM,EAQFd,IARE,CAQG,EARH,CAAP;AASH;;AACD,SAASgB,gBAAT,CAA0BH,GAA1B,EAA+B;AAC3B,SAAOd,kBAAkB,CAACc,GAAD,CAAlB,CAAwBtB,OAAxB,CAAgC,UAAhC,EAA4C,UAAU0B,CAAV,EAAa;AAC5D,WAAO,MAAMA,CAAC,CAACC,UAAF,CAAa,CAAb,EAAgBC,QAAhB,CAAyB,EAAzB,EAA6BC,WAA7B,EAAb;AACH,GAFM,CAAP;AAGH;;AACD,SAASC,WAAT,CAAqBC,QAArB,EAA+BC,KAA/B,EAAsC3D,GAAtC,EAA2C;AACvC2D,EAAAA,KAAK,GACDD,QAAQ,KAAK,GAAb,IAAoBA,QAAQ,KAAK,GAAjC,GACMV,cAAc,CAACW,KAAD,CADpB,GAEMP,gBAAgB,CAACO,KAAD,CAH1B;;AAIA,MAAI3D,GAAJ,EAAS;AACL,WAAOoD,gBAAgB,CAACpD,GAAD,CAAhB,GAAwB,GAAxB,GAA8B2D,KAArC;AACH,GAFD,MAGK;AACD,WAAOA,KAAP;AACH;AACJ;;AACD,SAASC,SAAT,CAAmBD,KAAnB,EAA0B;AACtB,SAAOA,KAAK,KAAKhD,SAAV,IAAuBgD,KAAK,KAAK,IAAxC;AACH;;AACD,SAASE,aAAT,CAAuBH,QAAvB,EAAiC;AAC7B,SAAOA,QAAQ,KAAK,GAAb,IAAoBA,QAAQ,KAAK,GAAjC,IAAwCA,QAAQ,KAAK,GAA5D;AACH;;AACD,SAASI,SAAT,CAAmBC,OAAnB,EAA4BL,QAA5B,EAAsC1D,GAAtC,EAA2CgE,QAA3C,EAAqD;AACjD,MAAIL,KAAK,GAAGI,OAAO,CAAC/D,GAAD,CAAnB;AAAA,MAA0BK,MAAM,GAAG,EAAnC;;AACA,MAAIuD,SAAS,CAACD,KAAD,CAAT,IAAoBA,KAAK,KAAK,EAAlC,EAAsC;AAClC,QAAI,OAAOA,KAAP,KAAiB,QAAjB,IACA,OAAOA,KAAP,KAAiB,QADjB,IAEA,OAAOA,KAAP,KAAiB,SAFrB,EAEgC;AAC5BA,MAAAA,KAAK,GAAGA,KAAK,CAACJ,QAAN,EAAR;;AACA,UAAIS,QAAQ,IAAIA,QAAQ,KAAK,GAA7B,EAAkC;AAC9BL,QAAAA,KAAK,GAAGA,KAAK,CAACM,SAAN,CAAgB,CAAhB,EAAmBC,QAAQ,CAACF,QAAD,EAAW,EAAX,CAA3B,CAAR;AACH;;AACD3D,MAAAA,MAAM,CAAC8D,IAAP,CAAYV,WAAW,CAACC,QAAD,EAAWC,KAAX,EAAkBE,aAAa,CAACH,QAAD,CAAb,GAA0B1D,GAA1B,GAAgC,EAAlD,CAAvB;AACH,KARD,MASK;AACD,UAAIgE,QAAQ,KAAK,GAAjB,EAAsB;AAClB,YAAII,KAAK,CAACC,OAAN,CAAcV,KAAd,CAAJ,EAA0B;AACtBA,UAAAA,KAAK,CAACrC,MAAN,CAAasC,SAAb,EAAwBrD,OAAxB,CAAgC,UAAUoD,KAAV,EAAiB;AAC7CtD,YAAAA,MAAM,CAAC8D,IAAP,CAAYV,WAAW,CAACC,QAAD,EAAWC,KAAX,EAAkBE,aAAa,CAACH,QAAD,CAAb,GAA0B1D,GAA1B,GAAgC,EAAlD,CAAvB;AACH,WAFD;AAGH,SAJD,MAKK;AACDJ,UAAAA,MAAM,CAACC,IAAP,CAAY8D,KAAZ,EAAmBpD,OAAnB,CAA2B,UAAU+D,CAAV,EAAa;AACpC,gBAAIV,SAAS,CAACD,KAAK,CAACW,CAAD,CAAN,CAAb,EAAyB;AACrBjE,cAAAA,MAAM,CAAC8D,IAAP,CAAYV,WAAW,CAACC,QAAD,EAAWC,KAAK,CAACW,CAAD,CAAhB,EAAqBA,CAArB,CAAvB;AACH;AACJ,WAJD;AAKH;AACJ,OAbD,MAcK;AACD,cAAMC,GAAG,GAAG,EAAZ;;AACA,YAAIH,KAAK,CAACC,OAAN,CAAcV,KAAd,CAAJ,EAA0B;AACtBA,UAAAA,KAAK,CAACrC,MAAN,CAAasC,SAAb,EAAwBrD,OAAxB,CAAgC,UAAUoD,KAAV,EAAiB;AAC7CY,YAAAA,GAAG,CAACJ,IAAJ,CAASV,WAAW,CAACC,QAAD,EAAWC,KAAX,CAApB;AACH,WAFD;AAGH,SAJD,MAKK;AACD/D,UAAAA,MAAM,CAACC,IAAP,CAAY8D,KAAZ,EAAmBpD,OAAnB,CAA2B,UAAU+D,CAAV,EAAa;AACpC,gBAAIV,SAAS,CAACD,KAAK,CAACW,CAAD,CAAN,CAAb,EAAyB;AACrBC,cAAAA,GAAG,CAACJ,IAAJ,CAASf,gBAAgB,CAACkB,CAAD,CAAzB;AACAC,cAAAA,GAAG,CAACJ,IAAJ,CAASV,WAAW,CAACC,QAAD,EAAWC,KAAK,CAACW,CAAD,CAAL,CAASf,QAAT,EAAX,CAApB;AACH;AACJ,WALD;AAMH;;AACD,YAAIM,aAAa,CAACH,QAAD,CAAjB,EAA6B;AACzBrD,UAAAA,MAAM,CAAC8D,IAAP,CAAYf,gBAAgB,CAACpD,GAAD,CAAhB,GAAwB,GAAxB,GAA8BuE,GAAG,CAACnC,IAAJ,CAAS,GAAT,CAA1C;AACH,SAFD,MAGK,IAAImC,GAAG,CAAClD,MAAJ,KAAe,CAAnB,EAAsB;AACvBhB,UAAAA,MAAM,CAAC8D,IAAP,CAAYI,GAAG,CAACnC,IAAJ,CAAS,GAAT,CAAZ;AACH;AACJ;AACJ;AACJ,GAhDD,MAiDK;AACD,QAAIsB,QAAQ,KAAK,GAAjB,EAAsB;AAClB,UAAIE,SAAS,CAACD,KAAD,CAAb,EAAsB;AAClBtD,QAAAA,MAAM,CAAC8D,IAAP,CAAYf,gBAAgB,CAACpD,GAAD,CAA5B;AACH;AACJ,KAJD,MAKK,IAAI2D,KAAK,KAAK,EAAV,KAAiBD,QAAQ,KAAK,GAAb,IAAoBA,QAAQ,KAAK,GAAlD,CAAJ,EAA4D;AAC7DrD,MAAAA,MAAM,CAAC8D,IAAP,CAAYf,gBAAgB,CAACpD,GAAD,CAAhB,GAAwB,GAApC;AACH,KAFI,MAGA,IAAI2D,KAAK,KAAK,EAAd,EAAkB;AACnBtD,MAAAA,MAAM,CAAC8D,IAAP,CAAY,EAAZ;AACH;AACJ;;AACD,SAAO9D,MAAP;AACH;;AACD,AAAO,SAASmE,QAAT,CAAkBC,QAAlB,EAA4B;AAC/B,SAAO;AACHC,IAAAA,MAAM,EAAEA,MAAM,CAACC,IAAP,CAAY,IAAZ,EAAkBF,QAAlB;AADL,GAAP;AAGH;;AACD,SAASC,MAAT,CAAgBD,QAAhB,EAA0BV,OAA1B,EAAmC;AAC/B,MAAIa,SAAS,GAAG,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,EAAgB,GAAhB,EAAqB,GAArB,EAA0B,GAA1B,EAA+B,GAA/B,CAAhB;AACA,SAAOH,QAAQ,CAAC9C,OAAT,CAAiB,4BAAjB,EAA+C,UAAUkD,CAAV,EAAaC,UAAb,EAAyBC,OAAzB,EAAkC;AACpF,QAAID,UAAJ,EAAgB;AACZ,UAAIpB,QAAQ,GAAG,EAAf;AACA,YAAMsB,MAAM,GAAG,EAAf;;AACA,UAAIJ,SAAS,CAACK,OAAV,CAAkBH,UAAU,CAACI,MAAX,CAAkB,CAAlB,CAAlB,MAA4C,CAAC,CAAjD,EAAoD;AAChDxB,QAAAA,QAAQ,GAAGoB,UAAU,CAACI,MAAX,CAAkB,CAAlB,CAAX;AACAJ,QAAAA,UAAU,GAAGA,UAAU,CAACK,MAAX,CAAkB,CAAlB,CAAb;AACH;;AACDL,MAAAA,UAAU,CAAC9D,KAAX,CAAiB,IAAjB,EAAuBT,OAAvB,CAA+B,UAAU6E,QAAV,EAAoB;AAC/C,YAAIb,GAAG,GAAG,4BAA4Bc,IAA5B,CAAiCD,QAAjC,CAAV;AACAJ,QAAAA,MAAM,CAACb,IAAP,CAAYL,SAAS,CAACC,OAAD,EAAUL,QAAV,EAAoBa,GAAG,CAAC,CAAD,CAAvB,EAA4BA,GAAG,CAAC,CAAD,CAAH,IAAUA,GAAG,CAAC,CAAD,CAAzC,CAArB;AACH,OAHD;;AAIA,UAAIb,QAAQ,IAAIA,QAAQ,KAAK,GAA7B,EAAkC;AAC9B,YAAI5B,SAAS,GAAG,GAAhB;;AACA,YAAI4B,QAAQ,KAAK,GAAjB,EAAsB;AAClB5B,UAAAA,SAAS,GAAG,GAAZ;AACH,SAFD,MAGK,IAAI4B,QAAQ,KAAK,GAAjB,EAAsB;AACvB5B,UAAAA,SAAS,GAAG4B,QAAZ;AACH;;AACD,eAAO,CAACsB,MAAM,CAAC3D,MAAP,KAAkB,CAAlB,GAAsBqC,QAAtB,GAAiC,EAAlC,IAAwCsB,MAAM,CAAC5C,IAAP,CAAYN,SAAZ,CAA/C;AACH,OATD,MAUK;AACD,eAAOkD,MAAM,CAAC5C,IAAP,CAAY,GAAZ,CAAP;AACH;AACJ,KAxBD,MAyBK;AACD,aAAOY,cAAc,CAAC+B,OAAD,CAArB;AACH;AACJ,GA7BM,CAAP;AA8BH;;AC/JM,SAASO,KAAT,CAAelF,OAAf,EAAwB;AAC3B;AACA,MAAIU,MAAM,GAAGV,OAAO,CAACU,MAAR,CAAe0C,WAAf,EAAb,CAF2B;;AAI3B,MAAIzC,GAAG,GAAG,CAACX,OAAO,CAACW,GAAR,IAAe,GAAhB,EAAqBY,OAArB,CAA6B,cAA7B,EAA6C,MAA7C,CAAV;AACA,MAAIV,OAAO,GAAGrB,MAAM,CAACU,MAAP,CAAc,EAAd,EAAkBF,OAAO,CAACa,OAA1B,CAAd;AACA,MAAIsE,IAAJ;AACA,MAAI1D,UAAU,GAAGgB,IAAI,CAACzC,OAAD,EAAU,CAC3B,QAD2B,EAE3B,SAF2B,EAG3B,KAH2B,EAI3B,SAJ2B,EAK3B,SAL2B,EAM3B,WAN2B,CAAV,CAArB,CAP2B;;AAgB3B,QAAMoF,gBAAgB,GAAGhD,uBAAuB,CAACzB,GAAD,CAAhD;AACAA,EAAAA,GAAG,GAAGyD,QAAQ,CAACzD,GAAD,CAAR,CAAc2D,MAAd,CAAqB7C,UAArB,CAAN;;AACA,MAAI,CAAC,QAAQE,IAAR,CAAahB,GAAb,CAAL,EAAwB;AACpBA,IAAAA,GAAG,GAAGX,OAAO,CAACqF,OAAR,GAAkB1E,GAAxB;AACH;;AACD,QAAM2E,iBAAiB,GAAG9F,MAAM,CAACC,IAAP,CAAYO,OAAZ,EACrBkB,MADqB,CACbyB,MAAD,IAAYyC,gBAAgB,CAAChE,QAAjB,CAA0BuB,MAA1B,CADE,EAErBtB,MAFqB,CAEd,SAFc,CAA1B;AAGA,QAAMkE,mBAAmB,GAAG9C,IAAI,CAAChB,UAAD,EAAa6D,iBAAb,CAAhC;AACA,QAAME,eAAe,GAAG,6BAA6B7D,IAA7B,CAAkCd,OAAO,CAAC4E,MAA1C,CAAxB;;AACA,MAAI,CAACD,eAAL,EAAsB;AAClB,QAAIxF,OAAO,CAACe,SAAR,CAAkB2E,MAAtB,EAA8B;AAC1B;AACA7E,MAAAA,OAAO,CAAC4E,MAAR,GAAiB5E,OAAO,CAAC4E,MAAR,CACZ7E,KADY,CACN,GADM,EAEZU,GAFY,CAEPH,OAAD,IAAaA,OAAO,CAACI,OAAR,CAAgB,kDAAhB,EAAqE,uBAAsBvB,OAAO,CAACe,SAAR,CAAkB2E,MAAO,EAApH,CAFL,EAGZ1D,IAHY,CAGP,GAHO,CAAjB;AAIH;;AACD,QAAIhC,OAAO,CAACe,SAAR,CAAkBC,QAAlB,CAA2BC,MAA/B,EAAuC;AACnC,YAAM0E,wBAAwB,GAAG9E,OAAO,CAAC4E,MAAR,CAAenD,KAAf,CAAqB,qBAArB,KAA+C,EAAhF;AACAzB,MAAAA,OAAO,CAAC4E,MAAR,GAAiBE,wBAAwB,CACpCtE,MADY,CACLrB,OAAO,CAACe,SAAR,CAAkBC,QADb,EAEZM,GAFY,CAEPH,OAAD,IAAa;AAClB,cAAMuE,MAAM,GAAG1F,OAAO,CAACe,SAAR,CAAkB2E,MAAlB,GACR,IAAG1F,OAAO,CAACe,SAAR,CAAkB2E,MAAO,EADpB,GAET,OAFN;AAGA,eAAQ,0BAAyBvE,OAAQ,WAAUuE,MAAO,EAA1D;AACH,OAPgB,EAQZ1D,IARY,CAQP,GARO,CAAjB;AASH;AACJ,GA9C0B;AAgD3B;;;AACA,MAAI,CAAC,KAAD,EAAQ,MAAR,EAAgBZ,QAAhB,CAAyBV,MAAzB,CAAJ,EAAsC;AAClCC,IAAAA,GAAG,GAAGa,kBAAkB,CAACb,GAAD,EAAM4E,mBAAN,CAAxB;AACH,GAFD,MAGK;AACD,QAAI,UAAUA,mBAAd,EAAmC;AAC/BJ,MAAAA,IAAI,GAAGI,mBAAmB,CAACK,IAA3B;AACH,KAFD,MAGK;AACD,UAAIpG,MAAM,CAACC,IAAP,CAAY8F,mBAAZ,EAAiCtE,MAArC,EAA6C;AACzCkE,QAAAA,IAAI,GAAGI,mBAAP;AACH,OAFD,MAGK;AACD1E,QAAAA,OAAO,CAAC,gBAAD,CAAP,GAA4B,CAA5B;AACH;AACJ;AACJ,GAhE0B;;;AAkE3B,MAAI,CAACA,OAAO,CAAC,cAAD,CAAR,IAA4B,OAAOsE,IAAP,KAAgB,WAAhD,EAA6D;AACzDtE,IAAAA,OAAO,CAAC,cAAD,CAAP,GAA0B,iCAA1B;AACH,GApE0B;AAsE3B;;;AACA,MAAI,CAAC,OAAD,EAAU,KAAV,EAAiBO,QAAjB,CAA0BV,MAA1B,KAAqC,OAAOyE,IAAP,KAAgB,WAAzD,EAAsE;AAClEA,IAAAA,IAAI,GAAG,EAAP;AACH,GAzE0B;;;AA2E3B,SAAO3F,MAAM,CAACU,MAAP,CAAc;AAAEQ,IAAAA,MAAF;AAAUC,IAAAA,GAAV;AAAeE,IAAAA;AAAf,GAAd,EAAwC,OAAOsE,IAAP,KAAgB,WAAhB,GAA8B;AAAEA,IAAAA;AAAF,GAA9B,GAAyC,IAAjF,EAAuFnF,OAAO,CAAC6F,OAAR,GAAkB;AAAEA,IAAAA,OAAO,EAAE7F,OAAO,CAAC6F;AAAnB,GAAlB,GAAiD,IAAxI,CAAP;AACH;;AC9EM,SAASC,oBAAT,CAA8B/F,QAA9B,EAAwCU,KAAxC,EAA+CT,OAA/C,EAAwD;AAC3D,SAAOkF,KAAK,CAAC1E,KAAK,CAACT,QAAD,EAAWU,KAAX,EAAkBT,OAAlB,CAAN,CAAZ;AACH;;ACDM,SAAS+F,YAAT,CAAsBC,WAAtB,EAAmCC,WAAnC,EAAgD;AACnD,QAAMC,QAAQ,GAAG1F,KAAK,CAACwF,WAAD,EAAcC,WAAd,CAAtB;AACA,QAAME,QAAQ,GAAGL,oBAAoB,CAACvB,IAArB,CAA0B,IAA1B,EAAgC2B,QAAhC,CAAjB;AACA,SAAO1G,MAAM,CAACU,MAAP,CAAciG,QAAd,EAAwB;AAC3BD,IAAAA,QAD2B;AAE3BnG,IAAAA,QAAQ,EAAEgG,YAAY,CAACxB,IAAb,CAAkB,IAAlB,EAAwB2B,QAAxB,CAFiB;AAG3B1F,IAAAA,KAAK,EAAEA,KAAK,CAAC+D,IAAN,CAAW,IAAX,EAAiB2B,QAAjB,CAHoB;AAI3BhB,IAAAA;AAJ2B,GAAxB,CAAP;AAMH;;ACZM,MAAMkB,OAAO,GAAG,mBAAhB;;ACEP,MAAMC,SAAS,GAAI,uBAAsBD,OAAQ,IAAGE,+BAAY,EAAG,EAAnE;AAEA;;AACA,AAAO,MAAMJ,QAAQ,GAAG;AACpBxF,EAAAA,MAAM,EAAE,KADY;AAEpB2E,EAAAA,OAAO,EAAE,wBAFW;AAGpBxE,EAAAA,OAAO,EAAE;AACL4E,IAAAA,MAAM,EAAE,gCADH;AAEL,kBAAcY;AAFT,GAHW;AAOpBtF,EAAAA,SAAS,EAAE;AACP2E,IAAAA,MAAM,EAAE,EADD;AAEP1E,IAAAA,QAAQ,EAAE;AAFH;AAPS,CAAjB;;MCHMmF,QAAQ,GAAGJ,YAAY,CAAC,IAAD,EAAOG,QAAP,CAA7B;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/endpoint/dist-src/defaults.js b/node_modules/@octokit/endpoint/dist-src/defaults.js new file mode 100644 index 0000000..456e586 --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-src/defaults.js @@ -0,0 +1,17 @@ +import { getUserAgent } from "universal-user-agent"; +import { VERSION } from "./version"; +const userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`; +// DEFAULTS has all properties set that EndpointOptions has, except url. +// So we use RequestParameters and add method as additional required property. +export const DEFAULTS = { + method: "GET", + baseUrl: "https://api.github.com", + headers: { + accept: "application/vnd.github.v3+json", + "user-agent": userAgent, + }, + mediaType: { + format: "", + previews: [], + }, +}; diff --git a/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js b/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js new file mode 100644 index 0000000..5763758 --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js @@ -0,0 +1,5 @@ +import { merge } from "./merge"; +import { parse } from "./parse"; +export function endpointWithDefaults(defaults, route, options) { + return parse(merge(defaults, route, options)); +} diff --git a/node_modules/@octokit/endpoint/dist-src/index.js b/node_modules/@octokit/endpoint/dist-src/index.js new file mode 100644 index 0000000..599917f --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-src/index.js @@ -0,0 +1,3 @@ +import { withDefaults } from "./with-defaults"; +import { DEFAULTS } from "./defaults"; +export const endpoint = withDefaults(null, DEFAULTS); diff --git a/node_modules/@octokit/endpoint/dist-src/merge.js b/node_modules/@octokit/endpoint/dist-src/merge.js new file mode 100644 index 0000000..1abcecf --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-src/merge.js @@ -0,0 +1,26 @@ +import { lowercaseKeys } from "./util/lowercase-keys"; +import { mergeDeep } from "./util/merge-deep"; +import { removeUndefinedProperties } from "./util/remove-undefined-properties"; +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 = Object.assign({}, route); + } + // lowercase header names before merging with defaults to avoid duplicates + options.headers = lowercaseKeys(options.headers); + // remove properties with undefined values before merging + removeUndefinedProperties(options); + removeUndefinedProperties(options.headers); + const mergedOptions = mergeDeep(defaults || {}, options); + // 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; +} diff --git a/node_modules/@octokit/endpoint/dist-src/parse.js b/node_modules/@octokit/endpoint/dist-src/parse.js new file mode 100644 index 0000000..6bdd1bf --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-src/parse.js @@ -0,0 +1,81 @@ +import { addQueryParameters } from "./util/add-query-parameters"; +import { extractUrlVariableNames } from "./util/extract-url-variable-names"; +import { omit } from "./util/omit"; +import { parseUrl } from "./util/url-template"; +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 = parseUrl(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 isBinaryRequest = /application\/octet-stream/i.test(headers.accept); + if (!isBinaryRequest) { + 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); +} diff --git a/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js b/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js new file mode 100644 index 0000000..d26be31 --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js @@ -0,0 +1,17 @@ +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("&")); +} diff --git a/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js b/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js new file mode 100644 index 0000000..3e75db2 --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js @@ -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), []); +} diff --git a/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js b/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js new file mode 100644 index 0000000..0780642 --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js @@ -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; + }, {}); +} diff --git a/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js b/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js new file mode 100644 index 0000000..d92aca3 --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js @@ -0,0 +1,16 @@ +import { isPlainObject } from "is-plain-object"; +export function mergeDeep(defaults, options) { + const result = Object.assign({}, defaults); + Object.keys(options).forEach((key) => { + if (isPlainObject(options[key])) { + if (!(key in defaults)) + Object.assign(result, { [key]: options[key] }); + else + result[key] = mergeDeep(defaults[key], options[key]); + } + else { + Object.assign(result, { [key]: options[key] }); + } + }); + return result; +} diff --git a/node_modules/@octokit/endpoint/dist-src/util/omit.js b/node_modules/@octokit/endpoint/dist-src/util/omit.js new file mode 100644 index 0000000..6245031 --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-src/util/omit.js @@ -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; + }, {}); +} diff --git a/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js b/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js new file mode 100644 index 0000000..6b5ee5f --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js @@ -0,0 +1,8 @@ +export function removeUndefinedProperties(obj) { + for (const key in obj) { + if (obj[key] === undefined) { + delete obj[key]; + } + } + return obj; +} diff --git a/node_modules/@octokit/endpoint/dist-src/util/url-template.js b/node_modules/@octokit/endpoint/dist-src/util/url-template.js new file mode 100644 index 0000000..439b3fe --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-src/util/url-template.js @@ -0,0 +1,164 @@ +// Based on https://github.com/bramstein/url-template, licensed under BSD +// TODO: create separate package. +// +// Copyright (c) 2012-2014, Bram Stein +// All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +// EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +/* istanbul ignore file */ +function encodeReserved(str) { + return str + .split(/(%[0-9A-Fa-f]{2})/g) + .map(function (part) { + if (!/%[0-9A-Fa-f]/.test(part)) { + part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]"); + } + return part; + }) + .join(""); +} +function encodeUnreserved(str) { + return encodeURIComponent(str).replace(/[!'()*]/g, function (c) { + return "%" + c.charCodeAt(0).toString(16).toUpperCase(); + }); +} +function encodeValue(operator, value, key) { + value = + operator === "+" || operator === "#" + ? encodeReserved(value) + : encodeUnreserved(value); + if (key) { + return encodeUnreserved(key) + "=" + value; + } + else { + return value; + } +} +function isDefined(value) { + return value !== undefined && value !== null; +} +function isKeyOperator(operator) { + return operator === ";" || operator === "&" || operator === "?"; +} +function getValues(context, operator, key, modifier) { + var value = context[key], result = []; + if (isDefined(value) && value !== "") { + if (typeof value === "string" || + typeof value === "number" || + typeof value === "boolean") { + value = value.toString(); + if (modifier && modifier !== "*") { + value = value.substring(0, parseInt(modifier, 10)); + } + result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : "")); + } + else { + if (modifier === "*") { + if (Array.isArray(value)) { + value.filter(isDefined).forEach(function (value) { + result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : "")); + }); + } + else { + Object.keys(value).forEach(function (k) { + if (isDefined(value[k])) { + result.push(encodeValue(operator, value[k], k)); + } + }); + } + } + else { + const tmp = []; + if (Array.isArray(value)) { + value.filter(isDefined).forEach(function (value) { + tmp.push(encodeValue(operator, value)); + }); + } + else { + Object.keys(value).forEach(function (k) { + if (isDefined(value[k])) { + tmp.push(encodeUnreserved(k)); + tmp.push(encodeValue(operator, value[k].toString())); + } + }); + } + if (isKeyOperator(operator)) { + result.push(encodeUnreserved(key) + "=" + tmp.join(",")); + } + else if (tmp.length !== 0) { + result.push(tmp.join(",")); + } + } + } + } + else { + if (operator === ";") { + if (isDefined(value)) { + result.push(encodeUnreserved(key)); + } + } + else if (value === "" && (operator === "&" || operator === "?")) { + result.push(encodeUnreserved(key) + "="); + } + else if (value === "") { + result.push(""); + } + } + return result; +} +export function parseUrl(template) { + return { + expand: expand.bind(null, template), + }; +} +function expand(template, context) { + var operators = ["+", "#", ".", "/", ";", "?", "&"]; + return template.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g, function (_, expression, literal) { + if (expression) { + let operator = ""; + const values = []; + if (operators.indexOf(expression.charAt(0)) !== -1) { + operator = expression.charAt(0); + expression = expression.substr(1); + } + expression.split(/,/g).forEach(function (variable) { + var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable); + values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3])); + }); + if (operator && operator !== "+") { + var separator = ","; + if (operator === "?") { + separator = "&"; + } + else if (operator !== "#") { + separator = operator; + } + return (values.length !== 0 ? operator : "") + values.join(separator); + } + else { + return values.join(","); + } + } + else { + return encodeReserved(literal); + } + }); +} diff --git a/node_modules/@octokit/endpoint/dist-src/version.js b/node_modules/@octokit/endpoint/dist-src/version.js new file mode 100644 index 0000000..3753577 --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-src/version.js @@ -0,0 +1 @@ +export const VERSION = "6.0.10"; diff --git a/node_modules/@octokit/endpoint/dist-src/with-defaults.js b/node_modules/@octokit/endpoint/dist-src/with-defaults.js new file mode 100644 index 0000000..81baf6c --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-src/with-defaults.js @@ -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, + }); +} diff --git a/node_modules/@octokit/endpoint/dist-types/defaults.d.ts b/node_modules/@octokit/endpoint/dist-types/defaults.d.ts new file mode 100644 index 0000000..30fcd20 --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-types/defaults.d.ts @@ -0,0 +1,2 @@ +import { EndpointDefaults } from "@octokit/types"; +export declare const DEFAULTS: EndpointDefaults; diff --git a/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts b/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts new file mode 100644 index 0000000..ff39e5e --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts @@ -0,0 +1,3 @@ +import { EndpointOptions, RequestParameters, Route } from "@octokit/types"; +import { DEFAULTS } from "./defaults"; +export declare function endpointWithDefaults(defaults: typeof DEFAULTS, route: Route | EndpointOptions, options?: RequestParameters): import("@octokit/types").RequestOptions; diff --git a/node_modules/@octokit/endpoint/dist-types/index.d.ts b/node_modules/@octokit/endpoint/dist-types/index.d.ts new file mode 100644 index 0000000..1ede136 --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-types/index.d.ts @@ -0,0 +1 @@ +export declare const endpoint: import("@octokit/types").EndpointInterface; diff --git a/node_modules/@octokit/endpoint/dist-types/merge.d.ts b/node_modules/@octokit/endpoint/dist-types/merge.d.ts new file mode 100644 index 0000000..b75a15e --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-types/merge.d.ts @@ -0,0 +1,2 @@ +import { EndpointDefaults, RequestParameters, Route } from "@octokit/types"; +export declare function merge(defaults: EndpointDefaults | null, route?: Route | RequestParameters, options?: RequestParameters): EndpointDefaults; diff --git a/node_modules/@octokit/endpoint/dist-types/parse.d.ts b/node_modules/@octokit/endpoint/dist-types/parse.d.ts new file mode 100644 index 0000000..fbe2144 --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-types/parse.d.ts @@ -0,0 +1,2 @@ +import { EndpointDefaults, RequestOptions } from "@octokit/types"; +export declare function parse(options: EndpointDefaults): RequestOptions; diff --git a/node_modules/@octokit/endpoint/dist-types/util/add-query-parameters.d.ts b/node_modules/@octokit/endpoint/dist-types/util/add-query-parameters.d.ts new file mode 100644 index 0000000..4b192ac --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-types/util/add-query-parameters.d.ts @@ -0,0 +1,4 @@ +export declare function addQueryParameters(url: string, parameters: { + [x: string]: string | undefined; + q?: string; +}): string; diff --git a/node_modules/@octokit/endpoint/dist-types/util/extract-url-variable-names.d.ts b/node_modules/@octokit/endpoint/dist-types/util/extract-url-variable-names.d.ts new file mode 100644 index 0000000..93586d4 --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-types/util/extract-url-variable-names.d.ts @@ -0,0 +1 @@ +export declare function extractUrlVariableNames(url: string): string[]; diff --git a/node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts b/node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts new file mode 100644 index 0000000..1daf307 --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts @@ -0,0 +1,5 @@ +export declare function lowercaseKeys(object?: { + [key: string]: any; +}): { + [key: string]: any; +}; diff --git a/node_modules/@octokit/endpoint/dist-types/util/merge-deep.d.ts b/node_modules/@octokit/endpoint/dist-types/util/merge-deep.d.ts new file mode 100644 index 0000000..914411c --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-types/util/merge-deep.d.ts @@ -0,0 +1 @@ +export declare function mergeDeep(defaults: any, options: any): object; diff --git a/node_modules/@octokit/endpoint/dist-types/util/omit.d.ts b/node_modules/@octokit/endpoint/dist-types/util/omit.d.ts new file mode 100644 index 0000000..06927d6 --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-types/util/omit.d.ts @@ -0,0 +1,5 @@ +export declare function omit(object: { + [key: string]: any; +}, keysToOmit: string[]): { + [key: string]: any; +}; diff --git a/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts b/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts new file mode 100644 index 0000000..92d8d85 --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts @@ -0,0 +1 @@ +export declare function removeUndefinedProperties(obj: any): any; diff --git a/node_modules/@octokit/endpoint/dist-types/util/url-template.d.ts b/node_modules/@octokit/endpoint/dist-types/util/url-template.d.ts new file mode 100644 index 0000000..5d967ca --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-types/util/url-template.d.ts @@ -0,0 +1,3 @@ +export declare function parseUrl(template: string): { + expand: (context: object) => string; +}; diff --git a/node_modules/@octokit/endpoint/dist-types/version.d.ts b/node_modules/@octokit/endpoint/dist-types/version.d.ts new file mode 100644 index 0000000..633050c --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-types/version.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "6.0.10"; diff --git a/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts b/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts new file mode 100644 index 0000000..6f5afd1 --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts @@ -0,0 +1,2 @@ +import { EndpointInterface, RequestParameters, EndpointDefaults } from "@octokit/types"; +export declare function withDefaults(oldDefaults: EndpointDefaults | null, newDefaults: RequestParameters): EndpointInterface; diff --git a/node_modules/@octokit/endpoint/dist-web/index.js b/node_modules/@octokit/endpoint/dist-web/index.js new file mode 100644 index 0000000..4377ef4 --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-web/index.js @@ -0,0 +1,381 @@ +import { isPlainObject } from 'is-plain-object'; +import { getUserAgent } from 'universal-user-agent'; + +function lowercaseKeys(object) { + if (!object) { + return {}; + } + return Object.keys(object).reduce((newObj, key) => { + newObj[key.toLowerCase()] = object[key]; + return newObj; + }, {}); +} + +function mergeDeep(defaults, options) { + const result = Object.assign({}, defaults); + Object.keys(options).forEach((key) => { + if (isPlainObject(options[key])) { + if (!(key in defaults)) + Object.assign(result, { [key]: options[key] }); + else + result[key] = mergeDeep(defaults[key], options[key]); + } + else { + Object.assign(result, { [key]: options[key] }); + } + }); + return result; +} + +function removeUndefinedProperties(obj) { + for (const key in obj) { + if (obj[key] === undefined) { + delete obj[key]; + } + } + return obj; +} + +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 = Object.assign({}, route); + } + // lowercase header names before merging with defaults to avoid duplicates + options.headers = lowercaseKeys(options.headers); + // remove properties with undefined values before merging + removeUndefinedProperties(options); + removeUndefinedProperties(options.headers); + const mergedOptions = mergeDeep(defaults || {}, options); + // 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; + }, {}); +} + +// Based on https://github.com/bramstein/url-template, licensed under BSD +// TODO: create separate package. +// +// Copyright (c) 2012-2014, Bram Stein +// All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +// EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +/* istanbul ignore file */ +function encodeReserved(str) { + return str + .split(/(%[0-9A-Fa-f]{2})/g) + .map(function (part) { + if (!/%[0-9A-Fa-f]/.test(part)) { + part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]"); + } + return part; + }) + .join(""); +} +function encodeUnreserved(str) { + return encodeURIComponent(str).replace(/[!'()*]/g, function (c) { + return "%" + c.charCodeAt(0).toString(16).toUpperCase(); + }); +} +function encodeValue(operator, value, key) { + value = + operator === "+" || operator === "#" + ? encodeReserved(value) + : encodeUnreserved(value); + if (key) { + return encodeUnreserved(key) + "=" + value; + } + else { + return value; + } +} +function isDefined(value) { + return value !== undefined && value !== null; +} +function isKeyOperator(operator) { + return operator === ";" || operator === "&" || operator === "?"; +} +function getValues(context, operator, key, modifier) { + var value = context[key], result = []; + if (isDefined(value) && value !== "") { + if (typeof value === "string" || + typeof value === "number" || + typeof value === "boolean") { + value = value.toString(); + if (modifier && modifier !== "*") { + value = value.substring(0, parseInt(modifier, 10)); + } + result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : "")); + } + else { + if (modifier === "*") { + if (Array.isArray(value)) { + value.filter(isDefined).forEach(function (value) { + result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : "")); + }); + } + else { + Object.keys(value).forEach(function (k) { + if (isDefined(value[k])) { + result.push(encodeValue(operator, value[k], k)); + } + }); + } + } + else { + const tmp = []; + if (Array.isArray(value)) { + value.filter(isDefined).forEach(function (value) { + tmp.push(encodeValue(operator, value)); + }); + } + else { + Object.keys(value).forEach(function (k) { + if (isDefined(value[k])) { + tmp.push(encodeUnreserved(k)); + tmp.push(encodeValue(operator, value[k].toString())); + } + }); + } + if (isKeyOperator(operator)) { + result.push(encodeUnreserved(key) + "=" + tmp.join(",")); + } + else if (tmp.length !== 0) { + result.push(tmp.join(",")); + } + } + } + } + else { + if (operator === ";") { + if (isDefined(value)) { + result.push(encodeUnreserved(key)); + } + } + else if (value === "" && (operator === "&" || operator === "?")) { + result.push(encodeUnreserved(key) + "="); + } + else if (value === "") { + result.push(""); + } + } + return result; +} +function parseUrl(template) { + return { + expand: expand.bind(null, template), + }; +} +function expand(template, context) { + var operators = ["+", "#", ".", "/", ";", "?", "&"]; + return template.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g, function (_, expression, literal) { + if (expression) { + let operator = ""; + const values = []; + if (operators.indexOf(expression.charAt(0)) !== -1) { + operator = expression.charAt(0); + expression = expression.substr(1); + } + expression.split(/,/g).forEach(function (variable) { + var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable); + values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3])); + }); + if (operator && operator !== "+") { + var separator = ","; + if (operator === "?") { + separator = "&"; + } + else if (operator !== "#") { + separator = operator; + } + return (values.length !== 0 ? operator : "") + values.join(separator); + } + else { + return values.join(","); + } + } + else { + return encodeReserved(literal); + } + }); +} + +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 = parseUrl(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 isBinaryRequest = /application\/octet-stream/i.test(headers.accept); + if (!isBinaryRequest) { + 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 = "6.0.10"; + +const userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`; +// DEFAULTS has all properties set that EndpointOptions has, except url. +// So we use RequestParameters and add method as additional required property. +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 }; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/endpoint/dist-web/index.js.map b/node_modules/@octokit/endpoint/dist-web/index.js.map new file mode 100644 index 0000000..69cdbcf --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-web/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/util/lowercase-keys.js","../dist-src/util/merge-deep.js","../dist-src/util/remove-undefined-properties.js","../dist-src/merge.js","../dist-src/util/add-query-parameters.js","../dist-src/util/extract-url-variable-names.js","../dist-src/util/omit.js","../dist-src/util/url-template.js","../dist-src/parse.js","../dist-src/endpoint-with-defaults.js","../dist-src/with-defaults.js","../dist-src/version.js","../dist-src/defaults.js","../dist-src/index.js"],"sourcesContent":["export function lowercaseKeys(object) {\n if (!object) {\n return {};\n }\n return Object.keys(object).reduce((newObj, key) => {\n newObj[key.toLowerCase()] = object[key];\n return newObj;\n }, {});\n}\n","import { isPlainObject } from \"is-plain-object\";\nexport function mergeDeep(defaults, options) {\n const result = Object.assign({}, defaults);\n Object.keys(options).forEach((key) => {\n if (isPlainObject(options[key])) {\n if (!(key in defaults))\n Object.assign(result, { [key]: options[key] });\n else\n result[key] = mergeDeep(defaults[key], options[key]);\n }\n else {\n Object.assign(result, { [key]: options[key] });\n }\n });\n return result;\n}\n","export function removeUndefinedProperties(obj) {\n for (const key in obj) {\n if (obj[key] === undefined) {\n delete obj[key];\n }\n }\n return obj;\n}\n","import { lowercaseKeys } from \"./util/lowercase-keys\";\nimport { mergeDeep } from \"./util/merge-deep\";\nimport { removeUndefinedProperties } from \"./util/remove-undefined-properties\";\nexport function merge(defaults, route, options) {\n if (typeof route === \"string\") {\n let [method, url] = route.split(\" \");\n options = Object.assign(url ? { method, url } : { url: method }, options);\n }\n else {\n options = Object.assign({}, route);\n }\n // lowercase header names before merging with defaults to avoid duplicates\n options.headers = lowercaseKeys(options.headers);\n // remove properties with undefined values before merging\n removeUndefinedProperties(options);\n removeUndefinedProperties(options.headers);\n const mergedOptions = mergeDeep(defaults || {}, options);\n // mediaType.previews arrays are merged, instead of overwritten\n if (defaults && defaults.mediaType.previews.length) {\n mergedOptions.mediaType.previews = defaults.mediaType.previews\n .filter((preview) => !mergedOptions.mediaType.previews.includes(preview))\n .concat(mergedOptions.mediaType.previews);\n }\n mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map((preview) => preview.replace(/-preview/, \"\"));\n return mergedOptions;\n}\n","export function addQueryParameters(url, parameters) {\n const separator = /\\?/.test(url) ? \"&\" : \"?\";\n const names = Object.keys(parameters);\n if (names.length === 0) {\n return url;\n }\n return (url +\n separator +\n names\n .map((name) => {\n if (name === \"q\") {\n return (\"q=\" + parameters.q.split(\"+\").map(encodeURIComponent).join(\"+\"));\n }\n return `${name}=${encodeURIComponent(parameters[name])}`;\n })\n .join(\"&\"));\n}\n","const urlVariableRegex = /\\{[^}]+\\}/g;\nfunction removeNonChars(variableName) {\n return variableName.replace(/^\\W+|\\W+$/g, \"\").split(/,/);\n}\nexport function extractUrlVariableNames(url) {\n const matches = url.match(urlVariableRegex);\n if (!matches) {\n return [];\n }\n return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []);\n}\n","export function omit(object, keysToOmit) {\n return Object.keys(object)\n .filter((option) => !keysToOmit.includes(option))\n .reduce((obj, key) => {\n obj[key] = object[key];\n return obj;\n }, {});\n}\n","// Based on https://github.com/bramstein/url-template, licensed under BSD\n// TODO: create separate package.\n//\n// Copyright (c) 2012-2014, Bram Stein\n// All rights reserved.\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions\n// are met:\n// 1. Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n// 2. Redistributions in binary form must reproduce the above copyright\n// notice, this list of conditions and the following disclaimer in the\n// documentation and/or other materials provided with the distribution.\n// 3. The name of the author may not be used to endorse or promote products\n// derived from this software without specific prior written permission.\n// THIS SOFTWARE IS PROVIDED BY THE AUTHOR \"AS IS\" AND ANY EXPRESS OR IMPLIED\n// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO\n// EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\n// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\n// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n/* istanbul ignore file */\nfunction encodeReserved(str) {\n return str\n .split(/(%[0-9A-Fa-f]{2})/g)\n .map(function (part) {\n if (!/%[0-9A-Fa-f]/.test(part)) {\n part = encodeURI(part).replace(/%5B/g, \"[\").replace(/%5D/g, \"]\");\n }\n return part;\n })\n .join(\"\");\n}\nfunction encodeUnreserved(str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\nfunction encodeValue(operator, value, key) {\n value =\n operator === \"+\" || operator === \"#\"\n ? encodeReserved(value)\n : encodeUnreserved(value);\n if (key) {\n return encodeUnreserved(key) + \"=\" + value;\n }\n else {\n return value;\n }\n}\nfunction isDefined(value) {\n return value !== undefined && value !== null;\n}\nfunction isKeyOperator(operator) {\n return operator === \";\" || operator === \"&\" || operator === \"?\";\n}\nfunction getValues(context, operator, key, modifier) {\n var value = context[key], result = [];\n if (isDefined(value) && value !== \"\") {\n if (typeof value === \"string\" ||\n typeof value === \"number\" ||\n typeof value === \"boolean\") {\n value = value.toString();\n if (modifier && modifier !== \"*\") {\n value = value.substring(0, parseInt(modifier, 10));\n }\n result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : \"\"));\n }\n else {\n if (modifier === \"*\") {\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function (value) {\n result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : \"\"));\n });\n }\n else {\n Object.keys(value).forEach(function (k) {\n if (isDefined(value[k])) {\n result.push(encodeValue(operator, value[k], k));\n }\n });\n }\n }\n else {\n const tmp = [];\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function (value) {\n tmp.push(encodeValue(operator, value));\n });\n }\n else {\n Object.keys(value).forEach(function (k) {\n if (isDefined(value[k])) {\n tmp.push(encodeUnreserved(k));\n tmp.push(encodeValue(operator, value[k].toString()));\n }\n });\n }\n if (isKeyOperator(operator)) {\n result.push(encodeUnreserved(key) + \"=\" + tmp.join(\",\"));\n }\n else if (tmp.length !== 0) {\n result.push(tmp.join(\",\"));\n }\n }\n }\n }\n else {\n if (operator === \";\") {\n if (isDefined(value)) {\n result.push(encodeUnreserved(key));\n }\n }\n else if (value === \"\" && (operator === \"&\" || operator === \"?\")) {\n result.push(encodeUnreserved(key) + \"=\");\n }\n else if (value === \"\") {\n result.push(\"\");\n }\n }\n return result;\n}\nexport function parseUrl(template) {\n return {\n expand: expand.bind(null, template),\n };\n}\nfunction expand(template, context) {\n var operators = [\"+\", \"#\", \".\", \"/\", \";\", \"?\", \"&\"];\n return template.replace(/\\{([^\\{\\}]+)\\}|([^\\{\\}]+)/g, function (_, expression, literal) {\n if (expression) {\n let operator = \"\";\n const values = [];\n if (operators.indexOf(expression.charAt(0)) !== -1) {\n operator = expression.charAt(0);\n expression = expression.substr(1);\n }\n expression.split(/,/g).forEach(function (variable) {\n var tmp = /([^:\\*]*)(?::(\\d+)|(\\*))?/.exec(variable);\n values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3]));\n });\n if (operator && operator !== \"+\") {\n var separator = \",\";\n if (operator === \"?\") {\n separator = \"&\";\n }\n else if (operator !== \"#\") {\n separator = operator;\n }\n return (values.length !== 0 ? operator : \"\") + values.join(separator);\n }\n else {\n return values.join(\",\");\n }\n }\n else {\n return encodeReserved(literal);\n }\n });\n}\n","import { addQueryParameters } from \"./util/add-query-parameters\";\nimport { extractUrlVariableNames } from \"./util/extract-url-variable-names\";\nimport { omit } from \"./util/omit\";\nimport { parseUrl } from \"./util/url-template\";\nexport function parse(options) {\n // https://fetch.spec.whatwg.org/#methods\n let method = options.method.toUpperCase();\n // replace :varname with {varname} to make it RFC 6570 compatible\n let url = (options.url || \"/\").replace(/:([a-z]\\w+)/g, \"{$1}\");\n let headers = Object.assign({}, options.headers);\n let body;\n let parameters = omit(options, [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"mediaType\",\n ]);\n // extract variable names from URL to calculate remaining variables later\n const urlVariableNames = extractUrlVariableNames(url);\n url = parseUrl(url).expand(parameters);\n if (!/^http/.test(url)) {\n url = options.baseUrl + url;\n }\n const omittedParameters = Object.keys(options)\n .filter((option) => urlVariableNames.includes(option))\n .concat(\"baseUrl\");\n const remainingParameters = omit(parameters, omittedParameters);\n const isBinaryRequest = /application\\/octet-stream/i.test(headers.accept);\n if (!isBinaryRequest) {\n if (options.mediaType.format) {\n // e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw\n headers.accept = headers.accept\n .split(/,/)\n .map((preview) => preview.replace(/application\\/vnd(\\.\\w+)(\\.v3)?(\\.\\w+)?(\\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`))\n .join(\",\");\n }\n if (options.mediaType.previews.length) {\n const previewsFromAcceptHeader = headers.accept.match(/[\\w-]+(?=-preview)/g) || [];\n headers.accept = previewsFromAcceptHeader\n .concat(options.mediaType.previews)\n .map((preview) => {\n const format = options.mediaType.format\n ? `.${options.mediaType.format}`\n : \"+json\";\n return `application/vnd.github.${preview}-preview${format}`;\n })\n .join(\",\");\n }\n }\n // for GET/HEAD requests, set URL query parameters from remaining parameters\n // for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters\n if ([\"GET\", \"HEAD\"].includes(method)) {\n url = addQueryParameters(url, remainingParameters);\n }\n else {\n if (\"data\" in remainingParameters) {\n body = remainingParameters.data;\n }\n else {\n if (Object.keys(remainingParameters).length) {\n body = remainingParameters;\n }\n else {\n headers[\"content-length\"] = 0;\n }\n }\n }\n // default content-type for JSON if body is set\n if (!headers[\"content-type\"] && typeof body !== \"undefined\") {\n headers[\"content-type\"] = \"application/json; charset=utf-8\";\n }\n // GitHub expects 'content-length: 0' header for PUT/PATCH requests without body.\n // fetch does not allow to set `content-length` header, but we can set body to an empty string\n if ([\"PATCH\", \"PUT\"].includes(method) && typeof body === \"undefined\") {\n body = \"\";\n }\n // Only return body/request keys if present\n return Object.assign({ method, url, headers }, typeof body !== \"undefined\" ? { body } : null, options.request ? { request: options.request } : null);\n}\n","import { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nexport function endpointWithDefaults(defaults, route, options) {\n return parse(merge(defaults, route, options));\n}\n","import { endpointWithDefaults } from \"./endpoint-with-defaults\";\nimport { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nexport function withDefaults(oldDefaults, newDefaults) {\n const DEFAULTS = merge(oldDefaults, newDefaults);\n const endpoint = endpointWithDefaults.bind(null, DEFAULTS);\n return Object.assign(endpoint, {\n DEFAULTS,\n defaults: withDefaults.bind(null, DEFAULTS),\n merge: merge.bind(null, DEFAULTS),\n parse,\n });\n}\n","export const VERSION = \"6.0.10\";\n","import { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nconst userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`;\n// DEFAULTS has all properties set that EndpointOptions has, except url.\n// So we use RequestParameters and add method as additional required property.\nexport const DEFAULTS = {\n method: \"GET\",\n baseUrl: \"https://api.github.com\",\n headers: {\n accept: \"application/vnd.github.v3+json\",\n \"user-agent\": userAgent,\n },\n mediaType: {\n format: \"\",\n previews: [],\n },\n};\n","import { withDefaults } from \"./with-defaults\";\nimport { DEFAULTS } from \"./defaults\";\nexport const endpoint = withDefaults(null, DEFAULTS);\n"],"names":[],"mappings":";;;AAAO,SAAS,aAAa,CAAC,MAAM,EAAE;AACtC,IAAI,IAAI,CAAC,MAAM,EAAE;AACjB,QAAQ,OAAO,EAAE,CAAC;AAClB,KAAK;AACL,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK;AACvD,QAAQ,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AAChD,QAAQ,OAAO,MAAM,CAAC;AACtB,KAAK,EAAE,EAAE,CAAC,CAAC;AACX;;ACPO,SAAS,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE;AAC7C,IAAI,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC/C,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK;AAC1C,QAAQ,IAAI,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE;AACzC,YAAY,IAAI,EAAE,GAAG,IAAI,QAAQ,CAAC;AAClC,gBAAgB,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC/D;AACA,gBAAgB,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AACrE,SAAS;AACT,aAAa;AACb,YAAY,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC3D,SAAS;AACT,KAAK,CAAC,CAAC;AACP,IAAI,OAAO,MAAM,CAAC;AAClB,CAAC;;ACfM,SAAS,yBAAyB,CAAC,GAAG,EAAE;AAC/C,IAAI,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE;AAC3B,QAAQ,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE;AACpC,YAAY,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;AAC5B,SAAS;AACT,KAAK;AACL,IAAI,OAAO,GAAG,CAAC;AACf,CAAC;;ACJM,SAAS,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE;AAChD,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACnC,QAAQ,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC7C,QAAQ,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;AAClF,KAAK;AACL,SAAS;AACT,QAAQ,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;AAC3C,KAAK;AACL;AACA,IAAI,OAAO,CAAC,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACrD;AACA,IAAI,yBAAyB,CAAC,OAAO,CAAC,CAAC;AACvC,IAAI,yBAAyB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAC/C,IAAI,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;AAC7D;AACA,IAAI,IAAI,QAAQ,IAAI,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE;AACxD,QAAQ,aAAa,CAAC,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ;AACtE,aAAa,MAAM,CAAC,CAAC,OAAO,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACrF,aAAa,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AACtD,KAAK;AACL,IAAI,aAAa,CAAC,SAAS,CAAC,QAAQ,GAAG,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;AAC1H,IAAI,OAAO,aAAa,CAAC;AACzB,CAAC;;ACzBM,SAAS,kBAAkB,CAAC,GAAG,EAAE,UAAU,EAAE;AACpD,IAAI,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC;AACjD,IAAI,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC1C,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AAC5B,QAAQ,OAAO,GAAG,CAAC;AACnB,KAAK;AACL,IAAI,QAAQ,GAAG;AACf,QAAQ,SAAS;AACjB,QAAQ,KAAK;AACb,aAAa,GAAG,CAAC,CAAC,IAAI,KAAK;AAC3B,YAAY,IAAI,IAAI,KAAK,GAAG,EAAE;AAC9B,gBAAgB,QAAQ,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;AAC1F,aAAa;AACb,YAAY,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACrE,SAAS,CAAC;AACV,aAAa,IAAI,CAAC,GAAG,CAAC,EAAE;AACxB,CAAC;;AChBD,MAAM,gBAAgB,GAAG,YAAY,CAAC;AACtC,SAAS,cAAc,CAAC,YAAY,EAAE;AACtC,IAAI,OAAO,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC7D,CAAC;AACD,AAAO,SAAS,uBAAuB,CAAC,GAAG,EAAE;AAC7C,IAAI,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;AAChD,IAAI,IAAI,CAAC,OAAO,EAAE;AAClB,QAAQ,OAAO,EAAE,CAAC;AAClB,KAAK;AACL,IAAI,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACzE,CAAC;;ACVM,SAAS,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE;AACzC,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;AAC9B,SAAS,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACzD,SAAS,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK;AAC9B,QAAQ,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AAC/B,QAAQ,OAAO,GAAG,CAAC;AACnB,KAAK,EAAE,EAAE,CAAC,CAAC;AACX,CAAC;;ACPD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,cAAc,CAAC,GAAG,EAAE;AAC7B,IAAI,OAAO,GAAG;AACd,SAAS,KAAK,CAAC,oBAAoB,CAAC;AACpC,SAAS,GAAG,CAAC,UAAU,IAAI,EAAE;AAC7B,QAAQ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AACxC,YAAY,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC7E,SAAS;AACT,QAAQ,OAAO,IAAI,CAAC;AACpB,KAAK,CAAC;AACN,SAAS,IAAI,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AACD,SAAS,gBAAgB,CAAC,GAAG,EAAE;AAC/B,IAAI,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE;AACpE,QAAQ,OAAO,GAAG,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AAChE,KAAK,CAAC,CAAC;AACP,CAAC;AACD,SAAS,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE;AAC3C,IAAI,KAAK;AACT,QAAQ,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,GAAG;AAC5C,cAAc,cAAc,CAAC,KAAK,CAAC;AACnC,cAAc,gBAAgB,CAAC,KAAK,CAAC,CAAC;AACtC,IAAI,IAAI,GAAG,EAAE;AACb,QAAQ,OAAO,gBAAgB,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC;AACnD,KAAK;AACL,SAAS;AACT,QAAQ,OAAO,KAAK,CAAC;AACrB,KAAK;AACL,CAAC;AACD,SAAS,SAAS,CAAC,KAAK,EAAE;AAC1B,IAAI,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC;AACjD,CAAC;AACD,SAAS,aAAa,CAAC,QAAQ,EAAE;AACjC,IAAI,OAAO,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,GAAG,CAAC;AACpE,CAAC;AACD,SAAS,SAAS,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE;AACrD,IAAI,IAAI,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,EAAE,CAAC;AAC1C,IAAI,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,EAAE;AAC1C,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ;AACrC,YAAY,OAAO,KAAK,KAAK,QAAQ;AACrC,YAAY,OAAO,KAAK,KAAK,SAAS,EAAE;AACxC,YAAY,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;AACrC,YAAY,IAAI,QAAQ,IAAI,QAAQ,KAAK,GAAG,EAAE;AAC9C,gBAAgB,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;AACnE,aAAa;AACb,YAAY,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;AAC1F,SAAS;AACT,aAAa;AACb,YAAY,IAAI,QAAQ,KAAK,GAAG,EAAE;AAClC,gBAAgB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AAC1C,oBAAoB,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,UAAU,KAAK,EAAE;AACrE,wBAAwB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;AACtG,qBAAqB,CAAC,CAAC;AACvB,iBAAiB;AACjB,qBAAqB;AACrB,oBAAoB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;AAC5D,wBAAwB,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;AACjD,4BAA4B,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC5E,yBAAyB;AACzB,qBAAqB,CAAC,CAAC;AACvB,iBAAiB;AACjB,aAAa;AACb,iBAAiB;AACjB,gBAAgB,MAAM,GAAG,GAAG,EAAE,CAAC;AAC/B,gBAAgB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AAC1C,oBAAoB,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,UAAU,KAAK,EAAE;AACrE,wBAAwB,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;AAC/D,qBAAqB,CAAC,CAAC;AACvB,iBAAiB;AACjB,qBAAqB;AACrB,oBAAoB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;AAC5D,wBAAwB,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;AACjD,4BAA4B,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1D,4BAA4B,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AACjF,yBAAyB;AACzB,qBAAqB,CAAC,CAAC;AACvB,iBAAiB;AACjB,gBAAgB,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE;AAC7C,oBAAoB,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7E,iBAAiB;AACjB,qBAAqB,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;AAC3C,oBAAoB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/C,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT,KAAK;AACL,SAAS;AACT,QAAQ,IAAI,QAAQ,KAAK,GAAG,EAAE;AAC9B,YAAY,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE;AAClC,gBAAgB,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;AACnD,aAAa;AACb,SAAS;AACT,aAAa,IAAI,KAAK,KAAK,EAAE,KAAK,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,GAAG,CAAC,EAAE;AACzE,YAAY,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;AACrD,SAAS;AACT,aAAa,IAAI,KAAK,KAAK,EAAE,EAAE;AAC/B,YAAY,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC5B,SAAS;AACT,KAAK;AACL,IAAI,OAAO,MAAM,CAAC;AAClB,CAAC;AACD,AAAO,SAAS,QAAQ,CAAC,QAAQ,EAAE;AACnC,IAAI,OAAO;AACX,QAAQ,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;AAC3C,KAAK,CAAC;AACN,CAAC;AACD,SAAS,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE;AACnC,IAAI,IAAI,SAAS,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACxD,IAAI,OAAO,QAAQ,CAAC,OAAO,CAAC,4BAA4B,EAAE,UAAU,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE;AAC5F,QAAQ,IAAI,UAAU,EAAE;AACxB,YAAY,IAAI,QAAQ,GAAG,EAAE,CAAC;AAC9B,YAAY,MAAM,MAAM,GAAG,EAAE,CAAC;AAC9B,YAAY,IAAI,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;AAChE,gBAAgB,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAChD,gBAAgB,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAClD,aAAa;AACb,YAAY,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,QAAQ,EAAE;AAC/D,gBAAgB,IAAI,GAAG,GAAG,2BAA2B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACrE,gBAAgB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpF,aAAa,CAAC,CAAC;AACf,YAAY,IAAI,QAAQ,IAAI,QAAQ,KAAK,GAAG,EAAE;AAC9C,gBAAgB,IAAI,SAAS,GAAG,GAAG,CAAC;AACpC,gBAAgB,IAAI,QAAQ,KAAK,GAAG,EAAE;AACtC,oBAAoB,SAAS,GAAG,GAAG,CAAC;AACpC,iBAAiB;AACjB,qBAAqB,IAAI,QAAQ,KAAK,GAAG,EAAE;AAC3C,oBAAoB,SAAS,GAAG,QAAQ,CAAC;AACzC,iBAAiB;AACjB,gBAAgB,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,GAAG,QAAQ,GAAG,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACtF,aAAa;AACb,iBAAiB;AACjB,gBAAgB,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxC,aAAa;AACb,SAAS;AACT,aAAa;AACb,YAAY,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;AAC3C,SAAS;AACT,KAAK,CAAC,CAAC;AACP,CAAC;;AC/JM,SAAS,KAAK,CAAC,OAAO,EAAE;AAC/B;AACA,IAAI,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;AAC9C;AACA,IAAI,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,EAAE,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;AACnE,IAAI,IAAI,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;AACrD,IAAI,IAAI,IAAI,CAAC;AACb,IAAI,IAAI,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE;AACnC,QAAQ,QAAQ;AAChB,QAAQ,SAAS;AACjB,QAAQ,KAAK;AACb,QAAQ,SAAS;AACjB,QAAQ,SAAS;AACjB,QAAQ,WAAW;AACnB,KAAK,CAAC,CAAC;AACP;AACA,IAAI,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;AAC1D,IAAI,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAC3C,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;AAC5B,QAAQ,GAAG,GAAG,OAAO,CAAC,OAAO,GAAG,GAAG,CAAC;AACpC,KAAK;AACL,IAAI,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;AAClD,SAAS,MAAM,CAAC,CAAC,MAAM,KAAK,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC9D,SAAS,MAAM,CAAC,SAAS,CAAC,CAAC;AAC3B,IAAI,MAAM,mBAAmB,GAAG,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;AACpE,IAAI,MAAM,eAAe,GAAG,4BAA4B,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAC9E,IAAI,IAAI,CAAC,eAAe,EAAE;AAC1B,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE;AACtC;AACA,YAAY,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM;AAC3C,iBAAiB,KAAK,CAAC,GAAG,CAAC;AAC3B,iBAAiB,GAAG,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,kDAAkD,EAAE,CAAC,oBAAoB,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACzJ,iBAAiB,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3B,SAAS;AACT,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE;AAC/C,YAAY,MAAM,wBAAwB,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC;AAC/F,YAAY,OAAO,CAAC,MAAM,GAAG,wBAAwB;AACrD,iBAAiB,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC;AACnD,iBAAiB,GAAG,CAAC,CAAC,OAAO,KAAK;AAClC,gBAAgB,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM;AACvD,sBAAsB,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AACpD,sBAAsB,OAAO,CAAC;AAC9B,gBAAgB,OAAO,CAAC,uBAAuB,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;AAC5E,aAAa,CAAC;AACd,iBAAiB,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3B,SAAS;AACT,KAAK;AACL;AACA;AACA,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AAC1C,QAAQ,GAAG,GAAG,kBAAkB,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;AAC3D,KAAK;AACL,SAAS;AACT,QAAQ,IAAI,MAAM,IAAI,mBAAmB,EAAE;AAC3C,YAAY,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC;AAC5C,SAAS;AACT,aAAa;AACb,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,MAAM,EAAE;AACzD,gBAAgB,IAAI,GAAG,mBAAmB,CAAC;AAC3C,aAAa;AACb,iBAAiB;AACjB,gBAAgB,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;AAC9C,aAAa;AACb,SAAS;AACT,KAAK;AACL;AACA,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE;AACjE,QAAQ,OAAO,CAAC,cAAc,CAAC,GAAG,iCAAiC,CAAC;AACpE,KAAK;AACL;AACA;AACA,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE;AAC1E,QAAQ,IAAI,GAAG,EAAE,CAAC;AAClB,KAAK;AACL;AACA,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,OAAO,IAAI,KAAK,WAAW,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,OAAO,CAAC,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;AACzJ,CAAC;;AC9EM,SAAS,oBAAoB,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE;AAC/D,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;AAClD,CAAC;;ACDM,SAAS,YAAY,CAAC,WAAW,EAAE,WAAW,EAAE;AACvD,IAAI,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AACrD,IAAI,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC/D,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE;AACnC,QAAQ,QAAQ;AAChB,QAAQ,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;AACnD,QAAQ,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;AACzC,QAAQ,KAAK;AACb,KAAK,CAAC,CAAC;AACP,CAAC;;ACZM,MAAM,OAAO,GAAG,mBAAmB,CAAC;;ACE3C,MAAM,SAAS,GAAG,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;AACrE;AACA;AACA,AAAO,MAAM,QAAQ,GAAG;AACxB,IAAI,MAAM,EAAE,KAAK;AACjB,IAAI,OAAO,EAAE,wBAAwB;AACrC,IAAI,OAAO,EAAE;AACb,QAAQ,MAAM,EAAE,gCAAgC;AAChD,QAAQ,YAAY,EAAE,SAAS;AAC/B,KAAK;AACL,IAAI,SAAS,EAAE;AACf,QAAQ,MAAM,EAAE,EAAE;AAClB,QAAQ,QAAQ,EAAE,EAAE;AACpB,KAAK;AACL,CAAC,CAAC;;ACdU,MAAC,QAAQ,GAAG,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/endpoint/package.json b/node_modules/@octokit/endpoint/package.json new file mode 100644 index 0000000..0045f7a --- /dev/null +++ b/node_modules/@octokit/endpoint/package.json @@ -0,0 +1,80 @@ +{ + "_args": [ + [ + "@octokit/endpoint@6.0.10", + "/Users/1112456/github/jenkins-action" + ] + ], + "_from": "@octokit/endpoint@6.0.10", + "_id": "@octokit/endpoint@6.0.10", + "_inBundle": false, + "_integrity": "sha512-9+Xef8nT7OKZglfkOMm7IL6VwxXUQyR7DUSU0LH/F7VNqs8vyd7es5pTfz9E7DwUIx7R3pGscxu1EBhYljyu7Q==", + "_location": "/@octokit/endpoint", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "@octokit/endpoint@6.0.10", + "name": "@octokit/endpoint", + "escapedName": "@octokit%2fendpoint", + "scope": "@octokit", + "rawSpec": "6.0.10", + "saveSpec": null, + "fetchSpec": "6.0.10" + }, + "_requiredBy": [ + "/@octokit/request" + ], + "_resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.10.tgz", + "_spec": "6.0.10", + "_where": "/Users/1112456/github/jenkins-action", + "bugs": { + "url": "https://github.com/octokit/endpoint.js/issues" + }, + "dependencies": { + "@octokit/types": "^6.0.0", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" + }, + "description": "Turns REST API endpoints into generic request options", + "devDependencies": { + "@pika/pack": "^0.5.0", + "@pika/plugin-build-node": "^0.9.0", + "@pika/plugin-build-web": "^0.9.0", + "@pika/plugin-ts-standard-pkg": "^0.9.0", + "@types/jest": "^26.0.0", + "jest": "^26.0.1", + "prettier": "2.2.1", + "semantic-release": "^17.0.0", + "semantic-release-plugin-update-version-in-files": "^1.0.0", + "ts-jest": "^26.0.0", + "typescript": "^4.0.2" + }, + "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": "6.0.10" +} diff --git a/node_modules/@octokit/graphql/LICENSE b/node_modules/@octokit/graphql/LICENSE new file mode 100644 index 0000000..af5366d --- /dev/null +++ b/node_modules/@octokit/graphql/LICENSE @@ -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. diff --git a/node_modules/@octokit/graphql/README.md b/node_modules/@octokit/graphql/README.md new file mode 100644 index 0000000..8e6332a --- /dev/null +++ b/node_modules/@octokit/graphql/README.md @@ -0,0 +1,384 @@ +# 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://github.com/octokit/graphql.js/workflows/Test/badge.svg)](https://github.com/octokit/graphql.js/actions?query=workflow%3ATest+branch%3Amaster) + + + +- [Usage](#usage) + - [Send a simple query](#send-a-simple-query) + - [Authentication](#authentication) + - [Variables](#variables) + - [Pass query together with headers and variables](#pass-query-together-with-headers-and-variables) + - [Use with GitHub Enterprise](#use-with-github-enterprise) + - [Use custom `@octokit/request` instance](#use-custom-octokitrequest-instance) +- [Errors](#errors) +- [Partial responses](#partial-responses) +- [Writing tests](#writing-tests) +- [License](#license) + + + +## Usage + + + + + + +
+Browsers + + +Load `@octokit/graphql` directly from [cdn.skypack.dev](https://cdn.skypack.dev) + +```html + +``` + +
+Node + + +Install with npm install @octokit/graphql + +```js +const { graphql } = require("@octokit/graphql"); +// or: import { graphql } from "@octokit/graphql"; +``` + +
+ +### Send a simple query + +```js +const { repository } = await graphql( + ` + { + repository(owner: "octokit", name: "graphql.js") { + issues(last: 3) { + edges { + node { + title + } + } + } + } + } + `, + { + headers: { + authorization: `token secret123`, + }, + } +); +``` + +### Authentication + +The simplest way to authenticate a request is to set the `Authorization` header, e.g. to a [personal access token](https://github.com/settings/tokens/). + +```js +const graphqlWithAuth = graphql.defaults({ + headers: { + authorization: `token secret123`, + }, +}); +const { repository } = await graphqlWithAuth(` + { + repository(owner: "octokit", name: "graphql.js") { + issues(last: 3) { + edges { + node { + title + } + } + } + } + } +`); +``` + +For more complex authentication strategies such as GitHub Apps or Basic, we recommend the according authentication library exported by [`@octokit/auth`](https://github.com/octokit/auth.js). + +```js +const { createAppAuth } = require("@octokit/auth-app"); +const auth = createAppAuth({ + id: process.env.APP_ID, + privateKey: process.env.PRIVATE_KEY, + installationId: 123, +}); +const graphqlWithAuth = graphql.defaults({ + request: { + hook: auth.hook, + }, +}); + +const { repository } = await graphqlWithAuth( + `{ + repository(owner: "octokit", name: "graphql.js") { + issues(last: 3) { + edges { + node { + title + } + } + } + } + }` +); +``` + +### Variables + +⚠️ 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 { 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`, + }, + } +); +``` + +### 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 +let { graphql } = require("@octokit/graphql"); +graphql = 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 + } + } + } + } + } +`); +``` + +### Use custom `@octokit/request` instance + +```js +const { request } = require("@octokit/request"); +const { withCustomRequest } = require("@octokit/graphql"); + +let requestCounter = 0; +const myRequest = request.defaults({ + headers: { + authentication: "token secret123", + }, + request: { + hook(request, options) { + requestCounter++; + return request(options); + }, + }, +}); +const myGraphql = withCustomRequest(myRequest); +await request("/"); +await myGraphql(` + { + repository(owner: "acme-project", name: "acme-repo") { + issues(last: 3) { + edges { + node { + title + } + } + } + } + } +`); +// requestCounter is now 2 +``` + +## Errors + +In case of a GraphQL error, `error.message` is set to the first error from the response’s `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 +let { graphql } = require("@octokit/graphql"); +graphqlt = 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 +let { graphql } = require("@octokit/graphql"); +graphql = 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) diff --git a/node_modules/@octokit/graphql/dist-node/index.js b/node_modules/@octokit/graphql/dist-node/index.js new file mode 100644 index 0000000..5c26e9f --- /dev/null +++ b/node_modules/@octokit/graphql/dist-node/index.js @@ -0,0 +1,108 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var request = require('@octokit/request'); +var universalUserAgent = require('universal-user-agent'); + +const VERSION = "4.5.8"; + +class GraphqlError extends Error { + constructor(request, response) { + const message = response.data.errors[0].message; + super(message); + Object.assign(this, response.data); + Object.assign(this, { + headers: response.headers + }); + 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); + } + } + +} + +const NON_VARIABLE_OPTIONS = ["method", "baseUrl", "url", "headers", "request", "query", "mediaType"]; +const GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/; +function graphql(request, query, options) { + if (typeof query === "string" && options && "query" in options) { + return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`)); + } + + const parsedOptions = typeof query === "string" ? Object.assign({ + query + }, options) : query; + const requestOptions = Object.keys(parsedOptions).reduce((result, key) => { + if (NON_VARIABLE_OPTIONS.includes(key)) { + result[key] = parsedOptions[key]; + return result; + } + + if (!result.variables) { + result.variables = {}; + } + + result.variables[key] = parsedOptions[key]; + return result; + }, {}); // workaround for GitHub Enterprise baseUrl set with /api/v3 suffix + // https://github.com/octokit/auth-app.js/issues/111#issuecomment-657610451 + + const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl; + + if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) { + requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, "/api/graphql"); + } + + return request(requestOptions).then(response => { + if (response.data.errors) { + const headers = {}; + + for (const key of Object.keys(response.headers)) { + headers[key] = response.headers[key]; + } + + throw new GraphqlError(requestOptions, { + headers, + data: response.data + }); + } + + return response.data.data; + }); +} + +function withDefaults(request$1, newDefaults) { + const newRequest = request$1.defaults(newDefaults); + + const newApi = (query, options) => { + return graphql(newRequest, query, options); + }; + + return Object.assign(newApi, { + defaults: withDefaults.bind(null, newRequest), + endpoint: request.request.endpoint + }); +} + +const graphql$1 = withDefaults(request.request, { + headers: { + "user-agent": `octokit-graphql.js/${VERSION} ${universalUserAgent.getUserAgent()}` + }, + method: "POST", + url: "/graphql" +}); +function withCustomRequest(customRequest) { + return withDefaults(customRequest, { + method: "POST", + url: "/graphql" + }); +} + +exports.graphql = graphql$1; +exports.withCustomRequest = withCustomRequest; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/graphql/dist-node/index.js.map b/node_modules/@octokit/graphql/dist-node/index.js.map new file mode 100644 index 0000000..3598288 --- /dev/null +++ b/node_modules/@octokit/graphql/dist-node/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/error.js","../dist-src/graphql.js","../dist-src/with-defaults.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"4.5.8\";\n","export class GraphqlError extends Error {\n constructor(request, response) {\n const message = response.data.errors[0].message;\n super(message);\n Object.assign(this, response.data);\n Object.assign(this, { headers: response.headers });\n this.name = \"GraphqlError\";\n this.request = request;\n // Maintains proper stack trace (only available on V8)\n /* istanbul ignore next */\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n }\n}\n","import { GraphqlError } from \"./error\";\nconst NON_VARIABLE_OPTIONS = [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"query\",\n \"mediaType\",\n];\nconst GHES_V3_SUFFIX_REGEX = /\\/api\\/v3\\/?$/;\nexport function graphql(request, query, options) {\n if (typeof query === \"string\" && options && \"query\" in options) {\n return Promise.reject(new Error(`[@octokit/graphql] \"query\" cannot be used as variable name`));\n }\n const parsedOptions = typeof query === \"string\" ? Object.assign({ query }, options) : query;\n const requestOptions = Object.keys(parsedOptions).reduce((result, key) => {\n if (NON_VARIABLE_OPTIONS.includes(key)) {\n result[key] = parsedOptions[key];\n return result;\n }\n if (!result.variables) {\n result.variables = {};\n }\n result.variables[key] = parsedOptions[key];\n return result;\n }, {});\n // workaround for GitHub Enterprise baseUrl set with /api/v3 suffix\n // https://github.com/octokit/auth-app.js/issues/111#issuecomment-657610451\n const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl;\n if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) {\n requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, \"/api/graphql\");\n }\n return request(requestOptions).then((response) => {\n if (response.data.errors) {\n const headers = {};\n for (const key of Object.keys(response.headers)) {\n headers[key] = response.headers[key];\n }\n throw new GraphqlError(requestOptions, {\n headers,\n data: response.data,\n });\n }\n return response.data.data;\n });\n}\n","import { request as Request } from \"@octokit/request\";\nimport { graphql } from \"./graphql\";\nexport function withDefaults(request, newDefaults) {\n const newRequest = request.defaults(newDefaults);\n const newApi = (query, options) => {\n return graphql(newRequest, query, options);\n };\n return Object.assign(newApi, {\n defaults: withDefaults.bind(null, newRequest),\n endpoint: Request.endpoint,\n });\n}\n","import { request } from \"@octokit/request\";\nimport { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nimport { withDefaults } from \"./with-defaults\";\nexport const graphql = withDefaults(request, {\n headers: {\n \"user-agent\": `octokit-graphql.js/${VERSION} ${getUserAgent()}`,\n },\n method: \"POST\",\n url: \"/graphql\",\n});\nexport function withCustomRequest(customRequest) {\n return withDefaults(customRequest, {\n method: \"POST\",\n url: \"/graphql\",\n });\n}\n"],"names":["VERSION","GraphqlError","Error","constructor","request","response","message","data","errors","Object","assign","headers","name","captureStackTrace","NON_VARIABLE_OPTIONS","GHES_V3_SUFFIX_REGEX","graphql","query","options","Promise","reject","parsedOptions","requestOptions","keys","reduce","result","key","includes","variables","baseUrl","endpoint","DEFAULTS","test","url","replace","then","withDefaults","newDefaults","newRequest","defaults","newApi","bind","Request","getUserAgent","method","withCustomRequest","customRequest"],"mappings":";;;;;;;AAAO,MAAMA,OAAO,GAAG,mBAAhB;;ACAA,MAAMC,YAAN,SAA2BC,KAA3B,CAAiC;AACpCC,EAAAA,WAAW,CAACC,OAAD,EAAUC,QAAV,EAAoB;AAC3B,UAAMC,OAAO,GAAGD,QAAQ,CAACE,IAAT,CAAcC,MAAd,CAAqB,CAArB,EAAwBF,OAAxC;AACA,UAAMA,OAAN;AACAG,IAAAA,MAAM,CAACC,MAAP,CAAc,IAAd,EAAoBL,QAAQ,CAACE,IAA7B;AACAE,IAAAA,MAAM,CAACC,MAAP,CAAc,IAAd,EAAoB;AAAEC,MAAAA,OAAO,EAAEN,QAAQ,CAACM;AAApB,KAApB;AACA,SAAKC,IAAL,GAAY,cAAZ;AACA,SAAKR,OAAL,GAAeA,OAAf,CAN2B;;AAQ3B;;AACA,QAAIF,KAAK,CAACW,iBAAV,EAA6B;AACzBX,MAAAA,KAAK,CAACW,iBAAN,CAAwB,IAAxB,EAA8B,KAAKV,WAAnC;AACH;AACJ;;AAbmC;;ACCxC,MAAMW,oBAAoB,GAAG,CACzB,QADyB,EAEzB,SAFyB,EAGzB,KAHyB,EAIzB,SAJyB,EAKzB,SALyB,EAMzB,OANyB,EAOzB,WAPyB,CAA7B;AASA,MAAMC,oBAAoB,GAAG,eAA7B;AACA,AAAO,SAASC,OAAT,CAAiBZ,OAAjB,EAA0Ba,KAA1B,EAAiCC,OAAjC,EAA0C;AAC7C,MAAI,OAAOD,KAAP,KAAiB,QAAjB,IAA6BC,OAA7B,IAAwC,WAAWA,OAAvD,EAAgE;AAC5D,WAAOC,OAAO,CAACC,MAAR,CAAe,IAAIlB,KAAJ,CAAW,4DAAX,CAAf,CAAP;AACH;;AACD,QAAMmB,aAAa,GAAG,OAAOJ,KAAP,KAAiB,QAAjB,GAA4BR,MAAM,CAACC,MAAP,CAAc;AAAEO,IAAAA;AAAF,GAAd,EAAyBC,OAAzB,CAA5B,GAAgED,KAAtF;AACA,QAAMK,cAAc,GAAGb,MAAM,CAACc,IAAP,CAAYF,aAAZ,EAA2BG,MAA3B,CAAkC,CAACC,MAAD,EAASC,GAAT,KAAiB;AACtE,QAAIZ,oBAAoB,CAACa,QAArB,CAA8BD,GAA9B,CAAJ,EAAwC;AACpCD,MAAAA,MAAM,CAACC,GAAD,CAAN,GAAcL,aAAa,CAACK,GAAD,CAA3B;AACA,aAAOD,MAAP;AACH;;AACD,QAAI,CAACA,MAAM,CAACG,SAAZ,EAAuB;AACnBH,MAAAA,MAAM,CAACG,SAAP,GAAmB,EAAnB;AACH;;AACDH,IAAAA,MAAM,CAACG,SAAP,CAAiBF,GAAjB,IAAwBL,aAAa,CAACK,GAAD,CAArC;AACA,WAAOD,MAAP;AACH,GAVsB,EAUpB,EAVoB,CAAvB,CAL6C;AAiB7C;;AACA,QAAMI,OAAO,GAAGR,aAAa,CAACQ,OAAd,IAAyBzB,OAAO,CAAC0B,QAAR,CAAiBC,QAAjB,CAA0BF,OAAnE;;AACA,MAAId,oBAAoB,CAACiB,IAArB,CAA0BH,OAA1B,CAAJ,EAAwC;AACpCP,IAAAA,cAAc,CAACW,GAAf,GAAqBJ,OAAO,CAACK,OAAR,CAAgBnB,oBAAhB,EAAsC,cAAtC,CAArB;AACH;;AACD,SAAOX,OAAO,CAACkB,cAAD,CAAP,CAAwBa,IAAxB,CAA8B9B,QAAD,IAAc;AAC9C,QAAIA,QAAQ,CAACE,IAAT,CAAcC,MAAlB,EAA0B;AACtB,YAAMG,OAAO,GAAG,EAAhB;;AACA,WAAK,MAAMe,GAAX,IAAkBjB,MAAM,CAACc,IAAP,CAAYlB,QAAQ,CAACM,OAArB,CAAlB,EAAiD;AAC7CA,QAAAA,OAAO,CAACe,GAAD,CAAP,GAAerB,QAAQ,CAACM,OAAT,CAAiBe,GAAjB,CAAf;AACH;;AACD,YAAM,IAAIzB,YAAJ,CAAiBqB,cAAjB,EAAiC;AACnCX,QAAAA,OADmC;AAEnCJ,QAAAA,IAAI,EAAEF,QAAQ,CAACE;AAFoB,OAAjC,CAAN;AAIH;;AACD,WAAOF,QAAQ,CAACE,IAAT,CAAcA,IAArB;AACH,GAZM,CAAP;AAaH;;AC5CM,SAAS6B,YAAT,CAAsBhC,SAAtB,EAA+BiC,WAA/B,EAA4C;AAC/C,QAAMC,UAAU,GAAGlC,SAAO,CAACmC,QAAR,CAAiBF,WAAjB,CAAnB;;AACA,QAAMG,MAAM,GAAG,CAACvB,KAAD,EAAQC,OAAR,KAAoB;AAC/B,WAAOF,OAAO,CAACsB,UAAD,EAAarB,KAAb,EAAoBC,OAApB,CAAd;AACH,GAFD;;AAGA,SAAOT,MAAM,CAACC,MAAP,CAAc8B,MAAd,EAAsB;AACzBD,IAAAA,QAAQ,EAAEH,YAAY,CAACK,IAAb,CAAkB,IAAlB,EAAwBH,UAAxB,CADe;AAEzBR,IAAAA,QAAQ,EAAEY,eAAO,CAACZ;AAFO,GAAtB,CAAP;AAIH;;MCPYd,SAAO,GAAGoB,YAAY,CAAChC,eAAD,EAAU;AACzCO,EAAAA,OAAO,EAAE;AACL,kBAAe,sBAAqBX,OAAQ,IAAG2C,+BAAY,EAAG;AADzD,GADgC;AAIzCC,EAAAA,MAAM,EAAE,MAJiC;AAKzCX,EAAAA,GAAG,EAAE;AALoC,CAAV,CAA5B;AAOP,AAAO,SAASY,iBAAT,CAA2BC,aAA3B,EAA0C;AAC7C,SAAOV,YAAY,CAACU,aAAD,EAAgB;AAC/BF,IAAAA,MAAM,EAAE,MADuB;AAE/BX,IAAAA,GAAG,EAAE;AAF0B,GAAhB,CAAnB;AAIH;;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/graphql/dist-src/error.js b/node_modules/@octokit/graphql/dist-src/error.js new file mode 100644 index 0000000..37942ba --- /dev/null +++ b/node_modules/@octokit/graphql/dist-src/error.js @@ -0,0 +1,15 @@ +export class GraphqlError extends Error { + constructor(request, response) { + const message = response.data.errors[0].message; + super(message); + Object.assign(this, response.data); + Object.assign(this, { headers: response.headers }); + 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); + } + } +} diff --git a/node_modules/@octokit/graphql/dist-src/graphql.js b/node_modules/@octokit/graphql/dist-src/graphql.js new file mode 100644 index 0000000..deb9488 --- /dev/null +++ b/node_modules/@octokit/graphql/dist-src/graphql.js @@ -0,0 +1,47 @@ +import { GraphqlError } from "./error"; +const NON_VARIABLE_OPTIONS = [ + "method", + "baseUrl", + "url", + "headers", + "request", + "query", + "mediaType", +]; +const GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/; +export function graphql(request, query, options) { + if (typeof query === "string" && options && "query" in options) { + return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`)); + } + const parsedOptions = typeof query === "string" ? Object.assign({ query }, options) : query; + const requestOptions = Object.keys(parsedOptions).reduce((result, key) => { + if (NON_VARIABLE_OPTIONS.includes(key)) { + result[key] = parsedOptions[key]; + return result; + } + if (!result.variables) { + result.variables = {}; + } + result.variables[key] = parsedOptions[key]; + return result; + }, {}); + // workaround for GitHub Enterprise baseUrl set with /api/v3 suffix + // https://github.com/octokit/auth-app.js/issues/111#issuecomment-657610451 + const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl; + if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) { + requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, "/api/graphql"); + } + return request(requestOptions).then((response) => { + if (response.data.errors) { + const headers = {}; + for (const key of Object.keys(response.headers)) { + headers[key] = response.headers[key]; + } + throw new GraphqlError(requestOptions, { + headers, + data: response.data, + }); + } + return response.data.data; + }); +} diff --git a/node_modules/@octokit/graphql/dist-src/index.js b/node_modules/@octokit/graphql/dist-src/index.js new file mode 100644 index 0000000..b202378 --- /dev/null +++ b/node_modules/@octokit/graphql/dist-src/index.js @@ -0,0 +1,17 @@ +import { request } from "@octokit/request"; +import { getUserAgent } from "universal-user-agent"; +import { VERSION } from "./version"; +import { withDefaults } from "./with-defaults"; +export const graphql = withDefaults(request, { + headers: { + "user-agent": `octokit-graphql.js/${VERSION} ${getUserAgent()}`, + }, + method: "POST", + url: "/graphql", +}); +export function withCustomRequest(customRequest) { + return withDefaults(customRequest, { + method: "POST", + url: "/graphql", + }); +} diff --git a/node_modules/@octokit/graphql/dist-src/types.js b/node_modules/@octokit/graphql/dist-src/types.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/graphql/dist-src/version.js b/node_modules/@octokit/graphql/dist-src/version.js new file mode 100644 index 0000000..cdefae2 --- /dev/null +++ b/node_modules/@octokit/graphql/dist-src/version.js @@ -0,0 +1 @@ +export const VERSION = "4.5.8"; diff --git a/node_modules/@octokit/graphql/dist-src/with-defaults.js b/node_modules/@octokit/graphql/dist-src/with-defaults.js new file mode 100644 index 0000000..6ea309e --- /dev/null +++ b/node_modules/@octokit/graphql/dist-src/with-defaults.js @@ -0,0 +1,12 @@ +import { request as Request } from "@octokit/request"; +import { graphql } from "./graphql"; +export function withDefaults(request, newDefaults) { + const newRequest = request.defaults(newDefaults); + const newApi = (query, options) => { + return graphql(newRequest, query, options); + }; + return Object.assign(newApi, { + defaults: withDefaults.bind(null, newRequest), + endpoint: Request.endpoint, + }); +} diff --git a/node_modules/@octokit/graphql/dist-types/error.d.ts b/node_modules/@octokit/graphql/dist-types/error.d.ts new file mode 100644 index 0000000..81b31a4 --- /dev/null +++ b/node_modules/@octokit/graphql/dist-types/error.d.ts @@ -0,0 +1,9 @@ +import { ResponseHeaders } from "@octokit/types"; +import { GraphQlEndpointOptions, GraphQlQueryResponse } from "./types"; +export declare class GraphqlError extends Error { + request: GraphQlEndpointOptions; + constructor(request: GraphQlEndpointOptions, response: { + headers: ResponseHeaders; + data: Required>; + }); +} diff --git a/node_modules/@octokit/graphql/dist-types/graphql.d.ts b/node_modules/@octokit/graphql/dist-types/graphql.d.ts new file mode 100644 index 0000000..2942b8b --- /dev/null +++ b/node_modules/@octokit/graphql/dist-types/graphql.d.ts @@ -0,0 +1,3 @@ +import { request as Request } from "@octokit/request"; +import { RequestParameters, GraphQlQueryResponseData } from "./types"; +export declare function graphql(request: typeof Request, query: string | RequestParameters, options?: RequestParameters): Promise; diff --git a/node_modules/@octokit/graphql/dist-types/index.d.ts b/node_modules/@octokit/graphql/dist-types/index.d.ts new file mode 100644 index 0000000..1878fd4 --- /dev/null +++ b/node_modules/@octokit/graphql/dist-types/index.d.ts @@ -0,0 +1,3 @@ +import { request } from "@octokit/request"; +export declare const graphql: import("./types").graphql; +export declare function withCustomRequest(customRequest: typeof request): import("./types").graphql; diff --git a/node_modules/@octokit/graphql/dist-types/types.d.ts b/node_modules/@octokit/graphql/dist-types/types.d.ts new file mode 100644 index 0000000..ef60d95 --- /dev/null +++ b/node_modules/@octokit/graphql/dist-types/types.d.ts @@ -0,0 +1,50 @@ +import { EndpointOptions, RequestParameters as RequestParametersType, EndpointInterface } from "@octokit/types"; +export declare type GraphQlEndpointOptions = EndpointOptions & { + variables?: { + [key: string]: unknown; + }; +}; +export declare type RequestParameters = RequestParametersType; +export declare type Query = string; +export interface graphql { + /** + * Sends a GraphQL query request based on endpoint options + * The GraphQL query must be specified in `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: RequestParameters): GraphQlResponse; + /** + * Sends a GraphQL query request based on endpoint options + * + * @param {string} query GraphQL query. Example: `'query { viewer { login } }'`. + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (query: Query, parameters?: RequestParameters): GraphQlResponse; + /** + * Returns a new `endpoint` with updated route and parameters + */ + defaults: (newDefaults: RequestParameters) => graphql; + /** + * Octokit endpoint API, see {@link https://github.com/octokit/endpoint.js|@octokit/endpoint} + */ + endpoint: EndpointInterface; +} +export declare type GraphQlResponse = Promise; +export declare type GraphQlQueryResponseData = { + [key: string]: any; +}; +export declare type GraphQlQueryResponse = { + data: ResponseData; + errors?: [{ + message: string; + path: [string]; + extensions: { + [key: string]: any; + }; + locations: [{ + line: number; + column: number; + }]; + }]; +}; diff --git a/node_modules/@octokit/graphql/dist-types/version.d.ts b/node_modules/@octokit/graphql/dist-types/version.d.ts new file mode 100644 index 0000000..1b94bb9 --- /dev/null +++ b/node_modules/@octokit/graphql/dist-types/version.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "4.5.8"; diff --git a/node_modules/@octokit/graphql/dist-types/with-defaults.d.ts b/node_modules/@octokit/graphql/dist-types/with-defaults.d.ts new file mode 100644 index 0000000..03edc32 --- /dev/null +++ b/node_modules/@octokit/graphql/dist-types/with-defaults.d.ts @@ -0,0 +1,3 @@ +import { request as Request } from "@octokit/request"; +import { graphql as ApiInterface, RequestParameters } from "./types"; +export declare function withDefaults(request: typeof Request, newDefaults: RequestParameters): ApiInterface; diff --git a/node_modules/@octokit/graphql/dist-web/index.js b/node_modules/@octokit/graphql/dist-web/index.js new file mode 100644 index 0000000..9cb20bc --- /dev/null +++ b/node_modules/@octokit/graphql/dist-web/index.js @@ -0,0 +1,95 @@ +import { request } from '@octokit/request'; +import { getUserAgent } from 'universal-user-agent'; + +const VERSION = "4.5.8"; + +class GraphqlError extends Error { + constructor(request, response) { + const message = response.data.errors[0].message; + super(message); + Object.assign(this, response.data); + Object.assign(this, { headers: response.headers }); + 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); + } + } +} + +const NON_VARIABLE_OPTIONS = [ + "method", + "baseUrl", + "url", + "headers", + "request", + "query", + "mediaType", +]; +const GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/; +function graphql(request, query, options) { + if (typeof query === "string" && options && "query" in options) { + return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`)); + } + const parsedOptions = typeof query === "string" ? Object.assign({ query }, options) : query; + const requestOptions = Object.keys(parsedOptions).reduce((result, key) => { + if (NON_VARIABLE_OPTIONS.includes(key)) { + result[key] = parsedOptions[key]; + return result; + } + if (!result.variables) { + result.variables = {}; + } + result.variables[key] = parsedOptions[key]; + return result; + }, {}); + // workaround for GitHub Enterprise baseUrl set with /api/v3 suffix + // https://github.com/octokit/auth-app.js/issues/111#issuecomment-657610451 + const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl; + if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) { + requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, "/api/graphql"); + } + return request(requestOptions).then((response) => { + if (response.data.errors) { + const headers = {}; + for (const key of Object.keys(response.headers)) { + headers[key] = response.headers[key]; + } + throw new GraphqlError(requestOptions, { + headers, + data: response.data, + }); + } + return response.data.data; + }); +} + +function withDefaults(request$1, newDefaults) { + const newRequest = request$1.defaults(newDefaults); + const newApi = (query, options) => { + return graphql(newRequest, query, options); + }; + return Object.assign(newApi, { + defaults: withDefaults.bind(null, newRequest), + endpoint: request.endpoint, + }); +} + +const graphql$1 = withDefaults(request, { + headers: { + "user-agent": `octokit-graphql.js/${VERSION} ${getUserAgent()}`, + }, + method: "POST", + url: "/graphql", +}); +function withCustomRequest(customRequest) { + return withDefaults(customRequest, { + method: "POST", + url: "/graphql", + }); +} + +export { graphql$1 as graphql, withCustomRequest }; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/graphql/dist-web/index.js.map b/node_modules/@octokit/graphql/dist-web/index.js.map new file mode 100644 index 0000000..aebdc5e --- /dev/null +++ b/node_modules/@octokit/graphql/dist-web/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/error.js","../dist-src/graphql.js","../dist-src/with-defaults.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"4.5.8\";\n","export class GraphqlError extends Error {\n constructor(request, response) {\n const message = response.data.errors[0].message;\n super(message);\n Object.assign(this, response.data);\n Object.assign(this, { headers: response.headers });\n this.name = \"GraphqlError\";\n this.request = request;\n // Maintains proper stack trace (only available on V8)\n /* istanbul ignore next */\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n }\n}\n","import { GraphqlError } from \"./error\";\nconst NON_VARIABLE_OPTIONS = [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"query\",\n \"mediaType\",\n];\nconst GHES_V3_SUFFIX_REGEX = /\\/api\\/v3\\/?$/;\nexport function graphql(request, query, options) {\n if (typeof query === \"string\" && options && \"query\" in options) {\n return Promise.reject(new Error(`[@octokit/graphql] \"query\" cannot be used as variable name`));\n }\n const parsedOptions = typeof query === \"string\" ? Object.assign({ query }, options) : query;\n const requestOptions = Object.keys(parsedOptions).reduce((result, key) => {\n if (NON_VARIABLE_OPTIONS.includes(key)) {\n result[key] = parsedOptions[key];\n return result;\n }\n if (!result.variables) {\n result.variables = {};\n }\n result.variables[key] = parsedOptions[key];\n return result;\n }, {});\n // workaround for GitHub Enterprise baseUrl set with /api/v3 suffix\n // https://github.com/octokit/auth-app.js/issues/111#issuecomment-657610451\n const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl;\n if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) {\n requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, \"/api/graphql\");\n }\n return request(requestOptions).then((response) => {\n if (response.data.errors) {\n const headers = {};\n for (const key of Object.keys(response.headers)) {\n headers[key] = response.headers[key];\n }\n throw new GraphqlError(requestOptions, {\n headers,\n data: response.data,\n });\n }\n return response.data.data;\n });\n}\n","import { request as Request } from \"@octokit/request\";\nimport { graphql } from \"./graphql\";\nexport function withDefaults(request, newDefaults) {\n const newRequest = request.defaults(newDefaults);\n const newApi = (query, options) => {\n return graphql(newRequest, query, options);\n };\n return Object.assign(newApi, {\n defaults: withDefaults.bind(null, newRequest),\n endpoint: Request.endpoint,\n });\n}\n","import { request } from \"@octokit/request\";\nimport { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nimport { withDefaults } from \"./with-defaults\";\nexport const graphql = withDefaults(request, {\n headers: {\n \"user-agent\": `octokit-graphql.js/${VERSION} ${getUserAgent()}`,\n },\n method: \"POST\",\n url: \"/graphql\",\n});\nexport function withCustomRequest(customRequest) {\n return withDefaults(customRequest, {\n method: \"POST\",\n url: \"/graphql\",\n });\n}\n"],"names":["request","Request","graphql"],"mappings":";;;AAAO,MAAM,OAAO,GAAG,mBAAmB;;ACAnC,MAAM,YAAY,SAAS,KAAK,CAAC;AACxC,IAAI,WAAW,CAAC,OAAO,EAAE,QAAQ,EAAE;AACnC,QAAQ,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AACxD,QAAQ,KAAK,CAAC,OAAO,CAAC,CAAC;AACvB,QAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC3C,QAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;AAC3D,QAAQ,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;AACnC,QAAQ,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AAC/B;AACA;AACA,QAAQ,IAAI,KAAK,CAAC,iBAAiB,EAAE;AACrC,YAAY,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;AAC5D,SAAS;AACT,KAAK;AACL,CAAC;;ACbD,MAAM,oBAAoB,GAAG;AAC7B,IAAI,QAAQ;AACZ,IAAI,SAAS;AACb,IAAI,KAAK;AACT,IAAI,SAAS;AACb,IAAI,SAAS;AACb,IAAI,OAAO;AACX,IAAI,WAAW;AACf,CAAC,CAAC;AACF,MAAM,oBAAoB,GAAG,eAAe,CAAC;AAC7C,AAAO,SAAS,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;AACjD,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,EAAE;AACpE,QAAQ,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,0DAA0D,CAAC,CAAC,CAAC,CAAC;AACvG,KAAK;AACL,IAAI,MAAM,aAAa,GAAG,OAAO,KAAK,KAAK,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC;AAChG,IAAI,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK;AAC9E,QAAQ,IAAI,oBAAoB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AAChD,YAAY,MAAM,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;AAC7C,YAAY,OAAO,MAAM,CAAC;AAC1B,SAAS;AACT,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;AAC/B,YAAY,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;AAClC,SAAS;AACT,QAAQ,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;AACnD,QAAQ,OAAO,MAAM,CAAC;AACtB,KAAK,EAAE,EAAE,CAAC,CAAC;AACX;AACA;AACA,IAAI,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;AAC/E,IAAI,IAAI,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;AAC5C,QAAQ,cAAc,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC;AACnF,KAAK;AACL,IAAI,OAAO,OAAO,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK;AACtD,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE;AAClC,YAAY,MAAM,OAAO,GAAG,EAAE,CAAC;AAC/B,YAAY,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;AAC7D,gBAAgB,OAAO,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AACrD,aAAa;AACb,YAAY,MAAM,IAAI,YAAY,CAAC,cAAc,EAAE;AACnD,gBAAgB,OAAO;AACvB,gBAAgB,IAAI,EAAE,QAAQ,CAAC,IAAI;AACnC,aAAa,CAAC,CAAC;AACf,SAAS;AACT,QAAQ,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;AAClC,KAAK,CAAC,CAAC;AACP,CAAC;;AC5CM,SAAS,YAAY,CAACA,SAAO,EAAE,WAAW,EAAE;AACnD,IAAI,MAAM,UAAU,GAAGA,SAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AACrD,IAAI,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK;AACvC,QAAQ,OAAO,OAAO,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AACnD,KAAK,CAAC;AACN,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;AACjC,QAAQ,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC;AACrD,QAAQ,QAAQ,EAAEC,OAAO,CAAC,QAAQ;AAClC,KAAK,CAAC,CAAC;AACP,CAAC;;ACPW,MAACC,SAAO,GAAG,YAAY,CAAC,OAAO,EAAE;AAC7C,IAAI,OAAO,EAAE;AACb,QAAQ,YAAY,EAAE,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;AACvE,KAAK;AACL,IAAI,MAAM,EAAE,MAAM;AAClB,IAAI,GAAG,EAAE,UAAU;AACnB,CAAC,CAAC,CAAC;AACH,AAAO,SAAS,iBAAiB,CAAC,aAAa,EAAE;AACjD,IAAI,OAAO,YAAY,CAAC,aAAa,EAAE;AACvC,QAAQ,MAAM,EAAE,MAAM;AACtB,QAAQ,GAAG,EAAE,UAAU;AACvB,KAAK,CAAC,CAAC;AACP,CAAC;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/graphql/package.json b/node_modules/@octokit/graphql/package.json new file mode 100644 index 0000000..ed9c392 --- /dev/null +++ b/node_modules/@octokit/graphql/package.json @@ -0,0 +1,83 @@ +{ + "_args": [ + [ + "@octokit/graphql@4.5.8", + "/Users/1112456/github/jenkins-action" + ] + ], + "_from": "@octokit/graphql@4.5.8", + "_id": "@octokit/graphql@4.5.8", + "_inBundle": false, + "_integrity": "sha512-WnCtNXWOrupfPJgXe+vSmprZJUr0VIu14G58PMlkWGj3cH+KLZEfKMmbUQ6C3Wwx6fdhzVW1CD5RTnBdUHxhhA==", + "_location": "/@octokit/graphql", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "@octokit/graphql@4.5.8", + "name": "@octokit/graphql", + "escapedName": "@octokit%2fgraphql", + "scope": "@octokit", + "rawSpec": "4.5.8", + "saveSpec": null, + "fetchSpec": "4.5.8" + }, + "_requiredBy": [ + "/@actions/github" + ], + "_resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.5.8.tgz", + "_spec": "4.5.8", + "_where": "/Users/1112456/github/jenkins-action", + "bugs": { + "url": "https://github.com/octokit/graphql.js/issues" + }, + "dependencies": { + "@octokit/request": "^5.3.0", + "@octokit/types": "^6.0.0", + "universal-user-agent": "^6.0.0" + }, + "description": "GitHub GraphQL API client for browsers and Node", + "devDependencies": { + "@pika/pack": "^0.5.0", + "@pika/plugin-build-node": "^0.9.0", + "@pika/plugin-build-web": "^0.9.0", + "@pika/plugin-ts-standard-pkg": "^0.9.0", + "@types/fetch-mock": "^7.2.5", + "@types/jest": "^26.0.0", + "@types/node": "^14.0.4", + "fetch-mock": "^9.0.0", + "jest": "^25.1.0", + "prettier": "^2.0.0", + "semantic-release": "^17.0.0", + "semantic-release-plugin-update-version-in-files": "^1.0.0", + "ts-jest": "^25.1.0", + "typescript": "^3.4.5" + }, + "files": [ + "dist-*/", + "bin/" + ], + "homepage": "https://github.com/octokit/graphql.js#readme", + "keywords": [ + "octokit", + "github", + "api", + "graphql" + ], + "license": "MIT", + "main": "dist-node/index.js", + "module": "dist-web/index.js", + "name": "@octokit/graphql", + "pika": true, + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/octokit/graphql.js.git" + }, + "sideEffects": false, + "source": "dist-src/index.js", + "types": "dist-types/index.d.ts", + "version": "4.5.8" +} diff --git a/node_modules/@octokit/openapi-types/.github/workflows/release-notification.yml b/node_modules/@octokit/openapi-types/.github/workflows/release-notification.yml new file mode 100644 index 0000000..d29dc50 --- /dev/null +++ b/node_modules/@octokit/openapi-types/.github/workflows/release-notification.yml @@ -0,0 +1,18 @@ +name: Release notification +on: + release: + types: + - published + +jobs: + notify: + runs-on: ubuntu-latest + steps: + - uses: gr2m/await-npm-package-version-action@v1 + with: + package: "@octokit/openapi-types" + version: ${{ github.event.release.tag_name }} + - uses: gr2m/release-notifier-action@v1 + with: + app_id: ${{ secrets.RELEASE_NOTIFIER_APP_ID }} + private_key: ${{ secrets.RELEASE_NOTIFIER_APP_PRIVATE_KEY }} diff --git a/node_modules/@octokit/openapi-types/.github/workflows/release.yml b/node_modules/@octokit/openapi-types/.github/workflows/release.yml new file mode 100644 index 0000000..0da51d7 --- /dev/null +++ b/node_modules/@octokit/openapi-types/.github/workflows/release.yml @@ -0,0 +1,21 @@ +name: Release +on: + push: + branches: + - main + - next + - beta + - "*.x" # maintenance releases + +jobs: + release: + name: release + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-node@v2.1.3 + - run: npm ci + - run: npx semantic-release + env: + GITHUB_TOKEN: ${{ secrets.OCTOKITBOT_PAT }} + NPM_TOKEN: ${{ secrets.OCTOKITBOT_NPM_TOKEN }} diff --git a/node_modules/@octokit/openapi-types/.github/workflows/update.yml b/node_modules/@octokit/openapi-types/.github/workflows/update.yml new file mode 100644 index 0000000..3a1548c --- /dev/null +++ b/node_modules/@octokit/openapi-types/.github/workflows/update.yml @@ -0,0 +1,82 @@ +name: Update +on: + repository_dispatch: + types: ["octokit/openapi release"] + + push: + branches: + - dependabot/npm_and_yarn/openapi-typescript-* + + workflow_dispatch: + inputs: + version: + description: "Version of https://www.npmjs.com/package/@octokit/openapi" + required: true + +jobs: + update: + runs-on: ubuntu-latest + if: github.event_name == 'workflow_dispatch' || github.event.client_payload.action == 'published' + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-node@v2.1.3 + - run: npm ci + # do not update cache for dependabot update + - run: | + npm run download + npm run generate-types + if: github.event_name == 'repository_dispatch' + env: + VERSION: ${{ github.event.client_payload.release.tag_name }} + - run: | + npm run download + npm run generate-types + if: github.event_name == 'workflow_dispatch' + env: + VERSION: ${{ github.event.inputs.version }} + + # create/update pull request for dispatch event update + - name: Create Pull Request + if: github.event_name != 'push' + uses: gr2m/create-or-update-pull-request-action@v1.x + env: + GITHUB_TOKEN: ${{ secrets.OCTOKITBOT_PAT }} + with: + title: "🚧 OpenAPI types changed" + body: | + Make sure to update the commits so that the merge results in helpful release notes, see [Merging the Pull Request & releasing a new version](https://github.com/octokit/rest.js/blob/master/CONTRIBUTING.md#merging-the-pull-request--releasing-a-new-version). + + In general + + - Avoid breaking changes at all costs + - If there are no typescript changes, use `build: cache` as commit message + - If there are there are only updates, use `fix: ...` + - If there are any new additions, use `feat: ...` + - If there are breaking changes, keep the previous ones and deprecate them. Only if there is no other way, add `BREAKING CHANGE: ...` to the commit body (not subject!) to trigger a breaking change. + branch: "openapi-update" + commit-message: "WIP" + author: "Octokit Bot <33075676+octokitbot@users.noreply.github.com>" + labels: "maintenance" + + # update pull request for dependabot update + - name: Create Pull Request + if: github.event_name == 'push' + uses: gr2m/create-or-update-pull-request-action@v1.x + env: + GITHUB_TOKEN: ${{ secrets.OCTOKITBOT_PAT }} + with: + title: "🚧 OpenAPI types changed" + body: | + Make sure to update the commits so that the merge results in helpful release notes, see [Merging the Pull Request & releasing a new version](https://github.com/octokit/rest.js/blob/master/CONTRIBUTING.md#merging-the-pull-request--releasing-a-new-version). + + In general + + - Avoid breaking changes at all costs + - If there are no typescript changes, use `build: cache` as commit message + - If there are there are only updates, use `fix: ...` + - If there are any new additions, use `feat: ...` + - If there are breaking changes, keep the previous ones and deprecate them. Only if there is no other way, add `BREAKING CHANGE: ...` to the commit body (not subject!) to trigger a breaking change. + branch: "${{ github.ref }}" + commit-message: "WIP" + author: "Octokit Bot <33075676+octokitbot@users.noreply.github.com>" + labels: "maintenance" diff --git a/node_modules/@octokit/openapi-types/CODE_OF_CONDUCT.md b/node_modules/@octokit/openapi-types/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..dad5ddc --- /dev/null +++ b/node_modules/@octokit/openapi-types/CODE_OF_CONDUCT.md @@ -0,0 +1,74 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, gender identity and expression, level of experience, +nationality, personal appearance, race, religion, or sexual identity and +orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +- Using welcoming and inclusive language +- Being respectful of differing viewpoints and experiences +- Gracefully accepting constructive criticism +- Focusing on what is best for the community +- Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +- The use of sexualized language or imagery and unwelcome sexual attention or + advances +- Trolling, insulting/derogatory comments, and personal or political attacks +- Public or private harassment +- Publishing others' private information, such as a physical or electronic + address, without explicit permission +- Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at opensource+coc@martynus.net. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at [https://contributor-covenant.org/version/1/4][version] + +[homepage]: https://contributor-covenant.org +[version]: https://contributor-covenant.org/version/1/4/ diff --git a/node_modules/@octokit/openapi-types/LICENSE b/node_modules/@octokit/openapi-types/LICENSE new file mode 100644 index 0000000..c61fbbe --- /dev/null +++ b/node_modules/@octokit/openapi-types/LICENSE @@ -0,0 +1,7 @@ +Copyright 2020 Gregor Martynus + +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. \ No newline at end of file diff --git a/node_modules/@octokit/openapi-types/README.md b/node_modules/@octokit/openapi-types/README.md new file mode 100644 index 0000000..47acb12 --- /dev/null +++ b/node_modules/@octokit/openapi-types/README.md @@ -0,0 +1,9 @@ +# openapi-types.ts + +> Generated TypeScript definitions based on GitHub's OpenAPI spec + +This repository continously converts [GitHub's OpenAPI specification](https://github.com/github/rest-api-description/) into TypeScript definitions and publishes them to npm as `@octokit/openapi-types` + +## License + +[MIT](LICENSE) diff --git a/node_modules/@octokit/openapi-types/cache/openapi-schema.json b/node_modules/@octokit/openapi-types/cache/openapi-schema.json new file mode 100644 index 0000000..22ddf4a --- /dev/null +++ b/node_modules/@octokit/openapi-types/cache/openapi-schema.json @@ -0,0 +1,66129 @@ +{ + "openapi": "3.0.3", + "info": { + "version": "2.0.0", + "title": "GitHub's official OpenAPI spec + Octokit extension", + "description": "OpenAPI specs from https://github.com/github/rest-api-description with the 'x-octokit' extension required by the Octokit SDKs", + "license": { "name": "MIT", "url": "https://spdx.org/licenses/MIT" }, + "termsOfService": "https://docs.github.com/articles/github-terms-of-service", + "contact": { + "name": "Support", + "url": "https://github.com/octokit/openapi" + } + }, + "tags": [ + { + "name": "actions", + "description": "Endpoints to manage GitHub Actions using the REST API." + }, + { + "name": "activity", + "description": "Activity APIs provide access to notifications, subscriptions, and timelines." + }, + { + "name": "apps", + "description": "Information for integrations and installations." + }, + { + "name": "billing", + "description": "Monitor charges and usage from Actions and Packages." + }, + { + "name": "checks", + "description": "Rich interactions with checks run by your integrations." + }, + { + "name": "code-scanning", + "description": "Retrieve code scanning alerts from a repository." + }, + { + "name": "codes-of-conduct", + "description": "Insight into codes of conduct for your communities." + }, + { + "name": "emojis", + "description": "List emojis available to use on GitHub." + }, + { "name": "gists", "description": "View, modify your gists." }, + { "name": "git", "description": "Raw Git functionality." }, + { "name": "gitignore", "description": "View gitignore templates" }, + { + "name": "interactions", + "description": "Owner or admin management of users interactons." + }, + { "name": "issues", "description": "Interact with GitHub Issues." }, + { "name": "licenses", "description": "View various OSS licenses." }, + { "name": "markdown", "description": "Render Github flavored markdown" }, + { + "name": "meta", + "description": "Endpoints that give information about the API." + }, + { "name": "migrations", "description": "Move projects to or from GitHub." }, + { + "name": "oauth-authorizations", + "description": "Manage access of OAuth applications" + }, + { "name": "orgs", "description": "Interact with GitHub Orgs." }, + { "name": "projects", "description": "Interact with GitHub Projects." }, + { "name": "pulls", "description": "Interact with GitHub Pull Requests." }, + { + "name": "rate-limit", + "description": "Check your current rate limit status" + }, + { + "name": "reactions", + "description": "Interact with reactions to various GitHub entities." + }, + { "name": "repos", "description": "Interact with GitHub Repos." }, + { + "name": "scim", + "description": "Provisioning of GitHub organization membership for SCIM-enabled providers." + }, + { "name": "search", "description": "Look for stuff on GitHub." }, + { + "name": "secret-scanning", + "description": "Retrieve secret scanning alerts from a repository." + }, + { "name": "teams", "description": "Interact with GitHub Teams." }, + { + "name": "users", + "description": "Interact with and view information about users and also current user." + } + ], + "servers": [{ "url": "https://api.github.com" }], + "externalDocs": { + "description": "GitHub v3 REST API", + "url": "https://docs.github.com/rest/" + }, + "paths": { + "/": { + "get": { + "summary": "GitHub API Root", + "description": "Get Hypermedia links to resources accessible in GitHub's REST API", + "tags": ["meta"], + "operationId": "meta/root", + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "current_user_url": { "type": "string", "format": "uri" }, + "current_user_authorizations_html_url": { + "type": "string", + "format": "uri" + }, + "authorizations_url": { "type": "string", "format": "uri" }, + "code_search_url": { "type": "string", "format": "uri" }, + "commit_search_url": { "type": "string", "format": "uri" }, + "emails_url": { "type": "string", "format": "uri" }, + "emojis_url": { "type": "string", "format": "uri" }, + "events_url": { "type": "string", "format": "uri" }, + "feeds_url": { "type": "string", "format": "uri" }, + "followers_url": { "type": "string", "format": "uri" }, + "following_url": { "type": "string", "format": "uri" }, + "gists_url": { "type": "string", "format": "uri" }, + "hub_url": { "type": "string", "format": "uri" }, + "issue_search_url": { "type": "string", "format": "uri" }, + "issues_url": { "type": "string", "format": "uri" }, + "keys_url": { "type": "string", "format": "uri" }, + "label_search_url": { "type": "string", "format": "uri" }, + "notifications_url": { "type": "string", "format": "uri" }, + "organization_url": { "type": "string", "format": "uri" }, + "organization_repositories_url": { + "type": "string", + "format": "uri" + }, + "organization_teams_url": { + "type": "string", + "format": "uri" + }, + "public_gists_url": { "type": "string", "format": "uri" }, + "rate_limit_url": { "type": "string", "format": "uri" }, + "repository_url": { "type": "string", "format": "uri" }, + "repository_search_url": { + "type": "string", + "format": "uri" + }, + "current_user_repositories_url": { + "type": "string", + "format": "uri" + }, + "starred_url": { "type": "string", "format": "uri" }, + "starred_gists_url": { "type": "string", "format": "uri" }, + "topic_search_url": { "type": "string", "format": "uri" }, + "user_url": { "type": "string", "format": "uri" }, + "user_organizations_url": { + "type": "string", + "format": "uri" + }, + "user_repositories_url": { + "type": "string", + "format": "uri" + }, + "user_search_url": { "type": "string", "format": "uri" } + }, + "required": [ + "current_user_url", + "current_user_authorizations_html_url", + "authorizations_url", + "code_search_url", + "commit_search_url", + "emails_url", + "emojis_url", + "events_url", + "feeds_url", + "followers_url", + "following_url", + "gists_url", + "hub_url", + "issue_search_url", + "issues_url", + "keys_url", + "label_search_url", + "notifications_url", + "organization_url", + "organization_repositories_url", + "organization_teams_url", + "public_gists_url", + "rate_limit_url", + "repository_url", + "repository_search_url", + "current_user_repositories_url", + "starred_url", + "starred_gists_url", + "user_url", + "user_organizations_url", + "user_repositories_url", + "user_search_url" + ] + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "meta" + }, + "x-octokit": {} + } + }, + "/app": { + "get": { + "summary": "Get the authenticated app", + "description": "Returns the GitHub App associated with the authentication credentials used. To see how many app installations are associated with this GitHub App, see the `installations_count` in the response. For more details about your app's installations, see the \"[List installations for the authenticated app](https://docs.github.com/rest/reference/apps#list-installations-for-the-authenticated-app)\" endpoint.\n\nYou must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.", + "tags": ["apps"], + "operationId": "apps/get-authenticated", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/apps/#get-the-authenticated-app" + }, + "parameters": [], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/integration" }, + "examples": { + "default": { "$ref": "#/components/examples/integration" } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "apps", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/app-manifests/{code}/conversions": { + "post": { + "summary": "Create a GitHub App from a manifest", + "description": "Use this endpoint to complete the handshake necessary when implementing the [GitHub App Manifest flow](https://docs.github.com/apps/building-github-apps/creating-github-apps-from-a-manifest/). When you create a GitHub App with the manifest flow, you receive a temporary `code` used to retrieve the GitHub App's `id`, `pem` (private key), and `webhook_secret`.", + "tags": ["apps"], + "operationId": "apps/create-from-manifest", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/apps/#create-a-github-app-from-a-manifest" + }, + "parameters": [ + { + "name": "code", + "in": "path", + "required": true, + "schema": { "type": "string" } + } + ], + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { + "allOf": [ + { "$ref": "#/components/schemas/integration" }, + { + "type": "object", + "properties": { + "client_id": { "type": "string" }, + "client_secret": { "type": "string" }, + "webhook_secret": { "type": "string" }, + "pem": { "type": "string" } + }, + "required": [ + "client_id", + "client_secret", + "webhook_secret", + "pem" + ], + "additionalProperties": true + } + ] + }, + "examples": { + "default": { + "$ref": "#/components/examples/integration-from-manifest" + } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" }, + "422": { "$ref": "#/components/responses/validation_failed_simple" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "apps", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/app/hook/config": { + "get": { + "summary": "Get a webhook configuration for an app", + "description": "Returns the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see \"[Creating a GitHub App](/developers/apps/creating-a-github-app).\"\n\nYou must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.", + "tags": ["apps"], + "operationId": "apps/get-webhook-config-for-app", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/apps#get-a-webhook-configuration-for-an-app" + }, + "responses": { + "200": { + "description": "Default response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/webhook-config" }, + "examples": { + "default": { "$ref": "#/components/examples/webhook-config" } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "apps", + "subcategory": "webhooks" + }, + "x-octokit": {} + }, + "patch": { + "summary": "Update a webhook configuration for an app", + "description": "Updates the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see \"[Creating a GitHub App](/developers/apps/creating-a-github-app).\"\n\nYou must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.", + "tags": ["apps"], + "operationId": "apps/update-webhook-config-for-app", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/apps#update-a-webhook-configuration-for-an-app" + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "url": { "$ref": "#/components/schemas/webhook-config-url" }, + "content_type": { + "$ref": "#/components/schemas/webhook-config-content-type" + }, + "secret": { + "$ref": "#/components/schemas/webhook-config-secret" + }, + "insecure_ssl": { + "$ref": "#/components/schemas/webhook-config-insecure-ssl" + } + }, + "example": { + "content_type": "json", + "insecure_ssl": "0", + "secret": "********", + "url": "https://example.com/webhook" + } + } + } + } + }, + "responses": { + "200": { + "description": "Default response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/webhook-config" }, + "examples": { + "default": { "$ref": "#/components/examples/webhook-config" } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "apps", + "subcategory": "webhooks" + }, + "x-octokit": {} + } + }, + "/app/installations": { + "get": { + "summary": "List installations for the authenticated app", + "description": "You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.\n\nThe permissions the installation has are included under the `permissions` key.", + "tags": ["apps"], + "operationId": "apps/list-installations", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/apps/#list-installations-for-the-authenticated-app" + }, + "parameters": [ + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" }, + { "$ref": "#/components/parameters/since" }, + { + "name": "outdated", + "in": "query", + "required": false, + "schema": { "type": "string" } + } + ], + "responses": { + "200": { + "description": "The permissions the installation has are included under the `permissions` key.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/installation" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/base-installation-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "apps", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/app/installations/{installation_id}": { + "get": { + "summary": "Get an installation for the authenticated app", + "description": "Enables an authenticated GitHub App to find an installation's information using the installation id. The installation's account type (`target_type`) will be either an organization or a user account, depending which account the repository belongs to.\n\nYou must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.", + "tags": ["apps"], + "operationId": "apps/get-installation", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/apps/#get-an-installation-for-the-authenticated-app" + }, + "parameters": [{ "$ref": "#/components/parameters/installation_id" }], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/installation" }, + "examples": { + "default": { + "$ref": "#/components/examples/base-installation" + } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" }, + "415": { "$ref": "#/components/responses/preview_header_missing" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "apps", + "subcategory": null + }, + "x-octokit": {} + }, + "delete": { + "summary": "Delete an installation for the authenticated app", + "description": "Uninstalls a GitHub App on a user, organization, or business account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the \"[Suspend an app installation](https://docs.github.com/v3/apps/#suspend-an-app-installation)\" endpoint.\n\nYou must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.", + "tags": ["apps"], + "operationId": "apps/delete-installation", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/apps/#delete-an-installation-for-the-authenticated-app" + }, + "parameters": [{ "$ref": "#/components/parameters/installation_id" }], + "responses": { + "204": { "description": "Empty response" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "apps", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/app/installations/{installation_id}/access_tokens": { + "post": { + "summary": "Create an installation access token for an app", + "description": "Creates an installation access token that enables a GitHub App to make authenticated API requests for the app's installation on an organization or individual account. Installation tokens expire one hour from the time you create them. Using an expired token produces a status code of `401 - Unauthorized`, and requires creating a new installation token. By default the installation token has access to all repositories that the installation can access. To restrict the access to specific repositories, you can provide the `repository_ids` when creating the token. When you omit `repository_ids`, the response does not contain the `repositories` key.\n\nYou must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.", + "tags": ["apps"], + "operationId": "apps/create-installation-access-token", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/apps/#create-an-installation-access-token-for-an-app" + }, + "parameters": [{ "$ref": "#/components/parameters/installation_id" }], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "repositories": { + "description": "List of repository names that the token should have access to", + "type": "array", + "items": { "type": "string", "example": "rails" } + }, + "repository_ids": { + "description": "List of repository IDs that the token should have access to", + "example": [1], + "type": "array", + "items": { "type": "integer" } + }, + "permissions": { + "type": "object", + "properties": { + "contents": { "type": "string" }, + "issues": { "type": "string" }, + "deployments": { "type": "string" }, + "single_file": { "type": "string" }, + "def_not_a_repo": { + "type": "string", + "example": "\"read\"" + } + }, + "example": { + "contents": "read", + "issues": "read", + "deployments": "write", + "single_file": "read" + } + } + } + } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/installation-token" }, + "examples": { + "default": { + "$ref": "#/components/examples/installation-token" + } + } + } + } + }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" }, + "415": { "$ref": "#/components/responses/preview_header_missing" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "apps", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/app/installations/{installation_id}/suspended": { + "put": { + "summary": "Suspend an app installation", + "description": "**Note:** Suspending a GitHub App installation is currently in beta and subject to change. Before you can suspend a GitHub App, the app owner must enable suspending installations for the app by opting-in to the beta. For more information, see \"[Suspending a GitHub App installation](https://docs.github.com/apps/managing-github-apps/suspending-a-github-app-installation/).\"\n\nSuspends a GitHub App on a user, organization, or business account, which blocks the app from accessing the account's resources. When a GitHub App is suspended, the app's access to the GitHub API or webhook events is blocked for that account.\n\nTo suspend a GitHub App, you must be an account owner or have admin permissions in the repository or organization where the app is installed.\n\nYou must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.", + "tags": ["apps"], + "operationId": "apps/suspend-installation", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/apps/#suspend-an-app-installation" + }, + "parameters": [{ "$ref": "#/components/parameters/installation_id" }], + "responses": { + "204": { "description": "Empty response" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "apps", + "subcategory": null + }, + "x-octokit": {} + }, + "delete": { + "summary": "Unsuspend an app installation", + "description": "**Note:** Suspending a GitHub App installation is currently in beta and subject to change. Before you can suspend a GitHub App, the app owner must enable suspending installations for the app by opting-in to the beta. For more information, see \"[Suspending a GitHub App installation](https://docs.github.com/apps/managing-github-apps/suspending-a-github-app-installation/).\"\n\nRemoves a GitHub App installation suspension.\n\nTo unsuspend a GitHub App, you must be an account owner or have admin permissions in the repository or organization where the app is installed and suspended.\n\nYou must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.", + "tags": ["apps"], + "operationId": "apps/unsuspend-installation", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/apps/#unsuspend-an-app-installation" + }, + "parameters": [{ "$ref": "#/components/parameters/installation_id" }], + "responses": { + "204": { "description": "Empty response" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "apps", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/applications/grants": { + "get": { + "summary": "List your grants", + "description": "**Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).\n\nYou can use this API to list the set of OAuth applications that have been granted access to your account. Unlike the [list your authorizations](https://docs.github.com/rest/reference/oauth-authorizations#list-your-authorizations) API, this API does not manage individual tokens. This API will return one entry for each OAuth application that has been granted access to your account, regardless of the number of tokens an application has generated for your user. The list of OAuth applications returned matches what is shown on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). The `scopes` returned are the union of scopes authorized for the application. For example, if an application has one token with `repo` scope and another token with `user` scope, the grant will return `[\"repo\", \"user\"]`.", + "tags": ["oauth-authorizations"], + "operationId": "oauth-authorizations/list-grants", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/oauth-authorizations#list-your-grants" + }, + "parameters": [ + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/application-grant" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/application-grant-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "removalDate": "2020-11-13", + "deprecationDate": "2020-02-14", + "category": "oauth-authorizations", + "subcategory": null + }, + "deprecated": true, + "x-octokit": {} + } + }, + "/applications/grants/{grant_id}": { + "get": { + "summary": "Get a single grant", + "description": "**Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).", + "tags": ["oauth-authorizations"], + "operationId": "oauth-authorizations/get-grant", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/oauth-authorizations#get-a-single-grant" + }, + "parameters": [{ "$ref": "#/components/parameters/grant_id" }], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/application-grant" }, + "examples": { + "default": { + "$ref": "#/components/examples/application-grant" + } + } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "removalDate": "2020-11-13", + "deprecationDate": "2020-02-14", + "category": "oauth-authorizations", + "subcategory": null + }, + "deprecated": true, + "x-octokit": {} + }, + "delete": { + "summary": "Delete a grant", + "description": "**Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).\n\nDeleting an OAuth application's grant will also delete all OAuth tokens associated with the application for your user. Once deleted, the application has no access to your account and is no longer listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized).", + "tags": ["oauth-authorizations"], + "operationId": "oauth-authorizations/delete-grant", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/oauth-authorizations#delete-a-grant" + }, + "parameters": [{ "$ref": "#/components/parameters/grant_id" }], + "responses": { + "204": { "description": "Empty response" }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "removalDate": "2020-11-13", + "deprecationDate": "2020-02-14", + "category": "oauth-authorizations", + "subcategory": null + }, + "deprecated": true, + "x-octokit": {} + } + }, + "/applications/{client_id}/grant": { + "delete": { + "summary": "Delete an app authorization", + "description": "OAuth application owners can revoke a grant for their OAuth application and a specific user. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. You must also provide a valid OAuth `access_token` as an input parameter and the grant for the token's owner will be deleted.\nDeleting an OAuth application's grant will also delete all OAuth tokens associated with the application for the user. Once deleted, the application will have no access to the user's account and will no longer be listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized).", + "operationId": "apps/delete-authorization", + "tags": ["apps"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/apps#delete-an-app-authorization" + }, + "parameters": [{ "$ref": "#/components/parameters/client-id" }], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "access_token": { + "type": "string", + "description": "The OAuth access token used to authenticate to the GitHub API." + } + } + }, + "example": { + "access_token": "e72e16c7e42f292c6912e7710c838347ae178b4a" + } + } + } + }, + "responses": { + "204": { "description": "Empty response" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "apps", + "subcategory": "oauth-applications" + }, + "x-octokit": {} + } + }, + "/applications/{client_id}/grants/{access_token}": { + "delete": { + "summary": "Revoke a grant for an application", + "description": "**Deprecation Notice:** GitHub will replace and discontinue OAuth endpoints containing `access_token` in the path parameter. We are introducing new endpoints that allow you to securely manage tokens for OAuth Apps by using `access_token` as an input parameter. The OAuth Application API will be removed on May 5, 2021. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-app-endpoint/).\n\nOAuth application owners can revoke a grant for their OAuth application and a specific user. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. You must also provide a valid token as `:access_token` and the grant for the token's owner will be deleted.\n\nDeleting an OAuth application's grant will also delete all OAuth tokens associated with the application for the user. Once deleted, the application will have no access to the user's account and will no longer be listed on [the Applications settings page under \"Authorized OAuth Apps\" on GitHub](https://github.com/settings/applications#authorized).", + "tags": ["apps"], + "operationId": "apps/revoke-grant-for-application", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/apps#revoke-a-grant-for-an-application" + }, + "parameters": [ + { "$ref": "#/components/parameters/client-id" }, + { "$ref": "#/components/parameters/access-token" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "removalDate": "2021-05-05", + "deprecationDate": "2020-02-14", + "category": "apps", + "subcategory": "oauth-applications" + }, + "deprecated": true, + "x-octokit": {} + } + }, + "/applications/{client_id}/token": { + "post": { + "summary": "Check a token", + "description": "OAuth applications can use a special API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) to use this endpoint, where the username is the OAuth application `client_id` and the password is its `client_secret`. Invalid tokens will return `404 NOT FOUND`.", + "tags": ["apps"], + "operationId": "apps/check-token", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/apps#check-a-token" + }, + "parameters": [{ "$ref": "#/components/parameters/client-id" }], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "access_token": { + "description": "The access_token of the OAuth application.", + "type": "string" + } + }, + "required": ["access_token"], + "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/authorization" }, + "examples": { + "default": { + "$ref": "#/components/examples/authorization-with-user" + } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "apps", + "subcategory": "oauth-applications" + }, + "x-octokit": {} + }, + "patch": { + "summary": "Reset a token", + "description": "OAuth applications can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the \"token\" property in the response because changes take effect immediately. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`.", + "tags": ["apps"], + "operationId": "apps/reset-token", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/apps#reset-a-token" + }, + "parameters": [{ "$ref": "#/components/parameters/client-id" }], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "access_token": { + "description": "The access_token of the OAuth application.", + "type": "string" + } + }, + "required": ["access_token"], + "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/authorization" }, + "examples": { + "default": { + "$ref": "#/components/examples/authorization-with-user" + } + } + } + } + }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "apps", + "subcategory": "oauth-applications" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Delete an app token", + "description": "OAuth application owners can revoke a single token for an OAuth application. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password.", + "tags": ["apps"], + "operationId": "apps/delete-token", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/apps#delete-an-app-token" + }, + "parameters": [{ "$ref": "#/components/parameters/client-id" }], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "access_token": { + "type": "string", + "description": "The OAuth access token used to authenticate to the GitHub API." + } + } + }, + "example": { + "access_token": "e72e16c7e42f292c6912e7710c838347ae178b4a" + } + } + } + }, + "responses": { + "204": { "description": "Empty response" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "apps", + "subcategory": "oauth-applications" + }, + "x-octokit": {} + } + }, + "/applications/{client_id}/tokens/{access_token}": { + "get": { + "summary": "Check an authorization", + "description": "**Deprecation Notice:** GitHub will replace and discontinue OAuth endpoints containing `access_token` in the path parameter. We are introducing new endpoints that allow you to securely manage tokens for OAuth Apps by using `access_token` as an input parameter. The OAuth Application API will be removed on May 5, 2021. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-app-endpoint/).\n\nOAuth applications can use a special API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`.", + "tags": ["apps"], + "operationId": "apps/check-authorization", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/apps#check-an-authorization" + }, + "parameters": [ + { "$ref": "#/components/parameters/client-id" }, + { "$ref": "#/components/parameters/access-token" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/authorization" }] + }, + "examples": { + "default": { + "$ref": "#/components/examples/authorization-with-user" + } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "removalDate": "2021-05-05", + "deprecationDate": "2020-02-14", + "category": "apps", + "subcategory": "oauth-applications" + }, + "deprecated": true, + "x-octokit": {} + }, + "post": { + "summary": "Reset an authorization", + "description": "**Deprecation Notice:** GitHub will replace and discontinue OAuth endpoints containing `access_token` in the path parameter. We are introducing new endpoints that allow you to securely manage tokens for OAuth Apps by using `access_token` as an input parameter. The OAuth Application API will be removed on May 5, 2021. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-app-endpoint/).\n\nOAuth applications can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the \"token\" property in the response because changes take effect immediately. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`.", + "tags": ["apps"], + "operationId": "apps/reset-authorization", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/apps#reset-an-authorization" + }, + "parameters": [ + { "$ref": "#/components/parameters/client-id" }, + { "$ref": "#/components/parameters/access-token" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/authorization" }, + "examples": { + "default": { + "$ref": "#/components/examples/authorization-with-user" + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "removalDate": "2021-05-05", + "deprecationDate": "2020-02-14", + "category": "apps", + "subcategory": "oauth-applications" + }, + "deprecated": true, + "x-octokit": {} + }, + "delete": { + "summary": "Revoke an authorization for an application", + "description": "**Deprecation Notice:** GitHub will replace and discontinue OAuth endpoints containing `access_token` in the path parameter. We are introducing new endpoints that allow you to securely manage tokens for OAuth Apps by using `access_token` as an input parameter. The OAuth Application API will be removed on May 5, 2021. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-app-endpoint/).\n\nOAuth application owners can revoke a single token for an OAuth application. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password.", + "tags": ["apps"], + "operationId": "apps/revoke-authorization-for-application", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/apps#revoke-an-authorization-for-an-application" + }, + "parameters": [ + { "$ref": "#/components/parameters/client-id" }, + { "$ref": "#/components/parameters/access-token" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "removalDate": "2021-05-05", + "deprecationDate": "2020-02-14", + "category": "apps", + "subcategory": "oauth-applications" + }, + "deprecated": true, + "x-octokit": {} + } + }, + "/apps/{app_slug}": { + "get": { + "summary": "Get an app", + "description": "**Note**: The `:app_slug` is just the URL-friendly name of your GitHub App. You can find this on the settings page for your GitHub App (e.g., `https://github.com/settings/apps/:app_slug`).\n\nIf the GitHub App you specify is public, you can access this endpoint without authenticating. If the GitHub App you specify is private, you must authenticate with a [personal access token](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/) or an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint.", + "tags": ["apps"], + "operationId": "apps/get-by-slug", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/apps/#get-an-app" + }, + "parameters": [{ "$ref": "#/components/parameters/app_slug" }], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/integration" }, + "examples": { + "default": { "$ref": "#/components/examples/integration" } + } + } + } + }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" }, + "415": { "$ref": "#/components/responses/preview_header_missing" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "apps", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/authorizations": { + "get": { + "summary": "List your authorizations", + "description": "**Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).", + "tags": ["oauth-authorizations"], + "operationId": "oauth-authorizations/list-authorizations", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/oauth-authorizations#list-your-authorizations" + }, + "parameters": [ + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/authorization" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/authorization-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "removalDate": "2020-11-13", + "deprecationDate": "2020-02-14", + "category": "oauth-authorizations", + "subcategory": null + }, + "deprecated": true, + "x-octokit": {} + }, + "post": { + "summary": "Create a new authorization", + "description": "**Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).\n\n**Warning:** Apps must use the [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api).\n\nCreates OAuth tokens using [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication). If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see \"[Working with two-factor authentication](https://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication).\"\n\nTo create tokens for a particular OAuth application using this endpoint, you must authenticate as the user you want to create an authorization for and provide the app's client ID and secret, found on your OAuth application's settings page. If your OAuth application intends to create multiple tokens for one user, use `fingerprint` to differentiate between them.\n\nYou can also create tokens on GitHub from the [personal access tokens settings](https://github.com/settings/tokens) page. Read more about these tokens in [the GitHub Help documentation](https://help.github.com/articles/creating-an-access-token-for-command-line-use).\n\nOrganizations that enforce SAML SSO require personal access tokens to be allowed. Read more about allowing tokens in [the GitHub Help documentation](https://help.github.com/articles/about-identity-and-access-management-with-saml-single-sign-on).", + "tags": ["oauth-authorizations"], + "operationId": "oauth-authorizations/create-authorization", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/oauth-authorizations#create-a-new-authorization" + }, + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "scopes": { + "description": "A list of scopes that this authorization is in.", + "type": "array", + "items": { "type": "string" }, + "example": ["public_repo", "user"], + "nullable": true + }, + "note": { + "description": "A note to remind you what the OAuth token is for.", + "type": "string", + "example": "Update all gems" + }, + "note_url": { + "description": "A URL to remind you what app the OAuth token is for.", + "type": "string" + }, + "client_id": { + "description": "The OAuth app client key for which to create the token.", + "maxLength": 20, + "type": "string" + }, + "client_secret": { + "description": "The OAuth app client secret for which to create the token.", + "maxLength": 40, + "type": "string" + }, + "fingerprint": { + "description": "A unique string to distinguish an authorization from others created for the same client ID and user.", + "type": "string" + } + } + } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/authorization" }, + "examples": { + "default": { "$ref": "#/components/examples/authorization" } + } + } + }, + "headers": { + "Location": { + "example": "https://api.github.com/authorizations/1", + "schema": { "type": "string" } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "410": { "$ref": "#/components/responses/gone" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "removalDate": "2020-11-13", + "deprecationDate": "2020-02-14", + "category": "oauth-authorizations", + "subcategory": null + }, + "deprecated": true, + "x-octokit": {} + } + }, + "/authorizations/clients/{client_id}": { + "put": { + "summary": "Get-or-create an authorization for a specific app", + "description": "**Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).\n\n**Warning:** Apps must use the [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api).\n\nCreates a new authorization for the specified OAuth application, only if an authorization for that application doesn't already exist for the user. The URL includes the 20 character client ID for the OAuth app that is requesting the token. It returns the user's existing authorization for the application if one is present. Otherwise, it creates and returns a new one.\n\nIf you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see \"[Working with two-factor authentication](https://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication).\"\n\n**Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).", + "tags": ["oauth-authorizations"], + "operationId": "oauth-authorizations/get-or-create-authorization-for-app", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/oauth-authorizations#get-or-create-an-authorization-for-a-specific-app" + }, + "parameters": [{ "$ref": "#/components/parameters/client-id" }], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "client_secret": { + "description": "The OAuth app client secret for which to create the token.", + "maxLength": 40, + "type": "string" + }, + "scopes": { + "description": "A list of scopes that this authorization is in.", + "type": "array", + "items": { "type": "string" }, + "example": ["public_repo", "user"], + "nullable": true + }, + "note": { + "description": "A note to remind you what the OAuth token is for.", + "type": "string", + "example": "Update all gems" + }, + "note_url": { + "description": "A URL to remind you what app the OAuth token is for.", + "type": "string" + }, + "fingerprint": { + "description": "A unique string to distinguish an authorization from others created for the same client ID and user.", + "type": "string" + } + }, + "required": ["client_secret"], + "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "Response if returning an existing token", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/authorization" }, + "examples": { + "response-if-returning-an-existing-token": { + "$ref": "#/components/examples/authorization-response-if-returning-an-existing-token-2" + } + } + } + }, + "headers": { + "Location": { + "example": "https://api.github.com/authorizations/1", + "schema": { "type": "string" } + } + } + }, + "201": { + "description": "**Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/authorization" }, + "examples": { + "default": { "$ref": "#/components/examples/authorization" } + } + } + }, + "headers": { + "Location": { + "example": "https://api.github.com/authorizations/1", + "schema": { "type": "string" } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "removalDate": "2020-11-13", + "deprecationDate": "2020-02-14", + "category": "oauth-authorizations", + "subcategory": null + }, + "deprecated": true, + "x-octokit": {} + } + }, + "/authorizations/clients/{client_id}/{fingerprint}": { + "put": { + "summary": "Get-or-create an authorization for a specific app and fingerprint", + "description": "**Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).\n\n**Warning:** Apps must use the [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api).\n\nThis method will create a new authorization for the specified OAuth application, only if an authorization for that application and fingerprint do not already exist for the user. The URL includes the 20 character client ID for the OAuth app that is requesting the token. `fingerprint` is a unique string to distinguish an authorization from others created for the same client ID and user. It returns the user's existing authorization for the application if one is present. Otherwise, it creates and returns a new one.\n\nIf you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see \"[Working with two-factor authentication](https://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication).\"", + "tags": ["oauth-authorizations"], + "operationId": "oauth-authorizations/get-or-create-authorization-for-app-and-fingerprint", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/oauth-authorizations#get-or-create-an-authorization-for-a-specific-app-and-fingerprint" + }, + "parameters": [ + { "$ref": "#/components/parameters/client-id" }, + { + "name": "fingerprint", + "in": "path", + "required": true, + "schema": { "type": "string" } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "client_secret": { + "description": "The OAuth app client secret for which to create the token.", + "maxLength": 40, + "type": "string" + }, + "scopes": { + "description": "A list of scopes that this authorization is in.", + "type": "array", + "items": { "type": "string" }, + "example": ["public_repo", "user"], + "nullable": true + }, + "note": { + "description": "A note to remind you what the OAuth token is for.", + "type": "string", + "example": "Update all gems" + }, + "note_url": { + "description": "A URL to remind you what app the OAuth token is for.", + "type": "string" + } + }, + "required": ["client_secret"], + "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "Response if returning an existing token", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/authorization" }, + "examples": { + "response-if-returning-an-existing-token": { + "$ref": "#/components/examples/authorization-response-if-returning-an-existing-token" + } + } + } + }, + "headers": { + "Location": { + "example": "https://api.github.com/authorizations/1", + "schema": { "type": "string" } + } + } + }, + "201": { + "description": "Response if returning a new token", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/authorization" }, + "examples": { + "default": { "$ref": "#/components/examples/authorization-3" } + } + } + }, + "headers": { + "Location": { + "example": "https://api.github.com/authorizations/1", + "schema": { "type": "string" } + } + } + }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "removalDate": "2020-11-13", + "deprecationDate": "2020-02-14", + "category": "oauth-authorizations", + "subcategory": null + }, + "deprecated": true, + "x-octokit": {} + } + }, + "/authorizations/{authorization_id}": { + "get": { + "summary": "Get a single authorization", + "description": "**Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).", + "tags": ["oauth-authorizations"], + "operationId": "oauth-authorizations/get-authorization", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/oauth-authorizations#get-a-single-authorization" + }, + "parameters": [{ "$ref": "#/components/parameters/authorization_id" }], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/authorization" }, + "examples": { + "default": { "$ref": "#/components/examples/authorization-2" } + } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "removalDate": "2020-11-13", + "deprecationDate": "2020-02-14", + "category": "oauth-authorizations", + "subcategory": null + }, + "deprecated": true, + "x-octokit": {} + }, + "patch": { + "summary": "Update an existing authorization", + "description": "**Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).\n\nIf you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see \"[Working with two-factor authentication](https://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication).\"\n\nYou can only send one of these scope keys at a time.", + "tags": ["oauth-authorizations"], + "operationId": "oauth-authorizations/update-authorization", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/oauth-authorizations#update-an-existing-authorization" + }, + "parameters": [{ "$ref": "#/components/parameters/authorization_id" }], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "scopes": { + "description": "A list of scopes that this authorization is in.", + "type": "array", + "items": { "type": "string" }, + "example": ["public_repo", "user"], + "nullable": true + }, + "add_scopes": { + "description": "A list of scopes to add to this authorization.", + "type": "array", + "items": { "type": "string" } + }, + "remove_scopes": { + "description": "A list of scopes to remove from this authorization.", + "type": "array", + "items": { "type": "string" } + }, + "note": { + "description": "A note to remind you what the OAuth token is for.", + "type": "string", + "example": "Update all gems" + }, + "note_url": { + "description": "A URL to remind you what app the OAuth token is for.", + "type": "string" + }, + "fingerprint": { + "description": "A unique string to distinguish an authorization from others created for the same client ID and user.", + "type": "string" + } + } + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/authorization" }, + "examples": { + "default": { "$ref": "#/components/examples/authorization-2" } + } + } + } + }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "removalDate": "2020-11-13", + "deprecationDate": "2020-02-14", + "category": "oauth-authorizations", + "subcategory": null + }, + "deprecated": true, + "x-octokit": {} + }, + "delete": { + "summary": "Delete an authorization", + "description": "**Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).", + "tags": ["oauth-authorizations"], + "operationId": "oauth-authorizations/delete-authorization", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/oauth-authorizations#delete-an-authorization" + }, + "parameters": [{ "$ref": "#/components/parameters/authorization_id" }], + "responses": { + "204": { "description": "Empty response" }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "removalDate": "2020-11-13", + "deprecationDate": "2020-02-14", + "category": "oauth-authorizations", + "subcategory": null + }, + "deprecated": true, + "x-octokit": {} + } + }, + "/codes_of_conduct": { + "get": { + "summary": "Get all codes of conduct", + "description": "", + "tags": ["codes-of-conduct"], + "operationId": "codes-of-conduct/get-all-codes-of-conduct", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/codes_of_conduct/#get-all-codes-of-conduct" + }, + "parameters": [], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/code-of-conduct" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/code-of-conduct-simple-items" + } + } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "415": { "$ref": "#/components/responses/preview_header_missing" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "scarlet-witch", + "note": "The Codes of Conduct API is currently available for developers to preview.\n\nTo access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.scarlet-witch-preview+json\n```" + } + ], + "category": "codes-of-conduct", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/codes_of_conduct/{key}": { + "get": { + "summary": "Get a code of conduct", + "description": "", + "tags": ["codes-of-conduct"], + "operationId": "codes-of-conduct/get-conduct-code", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/codes_of_conduct/#get-a-code-of-conduct" + }, + "parameters": [ + { + "name": "key", + "in": "path", + "required": true, + "schema": { "type": "string" } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/code-of-conduct" }, + "examples": { + "default": { "$ref": "#/components/examples/code-of-conduct" } + } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "404": { "$ref": "#/components/responses/not_found" }, + "415": { "$ref": "#/components/responses/preview_header_missing" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "scarlet-witch", + "note": "The Codes of Conduct API is currently available for developers to preview.\n\nTo access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.scarlet-witch-preview+json\n```" + } + ], + "category": "codes-of-conduct", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/content_references/{content_reference_id}/attachments": { + "post": { + "summary": "Create a content attachment", + "description": "Creates an attachment under a content reference URL in the body or comment of an issue or pull request. Use the `id` of the content reference from the [`content_reference` event](https://docs.github.com/webhooks/event-payloads/#content_reference) to create an attachment.\n\nThe app must create a content attachment within six hours of the content reference URL being posted. See \"[Using content attachments](https://docs.github.com/apps/using-content-attachments/)\" for details about content attachments.\n\nYou must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint.", + "tags": ["apps"], + "operationId": "apps/create-content-attachment", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/apps#create-a-content-attachment" + }, + "parameters": [ + { + "name": "content_reference_id", + "in": "path", + "required": true, + "schema": { "type": "integer" } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "title": { + "description": "The title of the attachment", + "example": "Title of the attachment", + "type": "string", + "maxLength": 1024 + }, + "body": { + "description": "The body of the attachment", + "example": "Body of the attachment", + "type": "string", + "maxLength": 262144 + } + }, + "required": ["title", "body"], + "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content-reference-attachment" + }, + "examples": { + "default": { + "$ref": "#/components/examples/content-reference-attachment" + } + } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" }, + "410": { "$ref": "#/components/responses/gone" }, + "415": { "$ref": "#/components/responses/preview_header_missing" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "corsair", + "note": "To access the Content Attachments API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.corsair-preview+json\n```" + } + ], + "category": "apps", + "subcategory": "installations" + }, + "x-octokit": {} + } + }, + "/emojis": { + "get": { + "summary": "Get emojis", + "description": "Lists all the emojis available to use on GitHub.", + "operationId": "emojis/get", + "tags": ["emojis"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/emojis/#get-emojis" + }, + "parameters": [], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { "type": "string" } + } + } + }, + "description": "response" + }, + "304": { "$ref": "#/components/responses/not_modified" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "emojis", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/enterprises/{enterprise}/actions/permissions": { + "get": { + "summary": "Get GitHub Actions permissions for an enterprise", + "description": "Gets the GitHub Actions permissions policy for organizations and allowed actions in an enterprise.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/get-github-actions-permissions-enterprise", + "tags": ["enterprise-admin"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/enterprise-admin#get-github-actions-permissions-for-an-enterprise" + }, + "parameters": [{ "$ref": "#/components/parameters/enterprise" }], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/actions-enterprise-permissions" + }, + "examples": { + "default": { + "$ref": "#/components/examples/actions-enterprise-permissions" + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [], + "category": "enterprise-admin", + "subcategory": "actions" + }, + "x-octokit": {} + }, + "put": { + "summary": "Set GitHub Actions permissions for an enterprise", + "description": "Sets the GitHub Actions permissions policy for organizations and allowed actions in an enterprise.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/set-github-actions-permissions-enterprise", + "tags": ["enterprise-admin"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/enterprise-admin#set-github-actions-permissions-for-an-enterprise" + }, + "parameters": [{ "$ref": "#/components/parameters/enterprise" }], + "responses": { "204": { "description": "Empty response" } }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "enabled_organizations": { + "$ref": "#/components/schemas/enabled-organizations" + }, + "allowed_actions": { + "$ref": "#/components/schemas/allowed-actions" + } + }, + "required": ["enabled_organizations"] + }, + "example": { + "enabled_organizations": "all", + "allowed_actions": "selected" + } + } + } + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [], + "category": "enterprise-admin", + "subcategory": "actions" + }, + "x-octokit": {} + } + }, + "/enterprises/{enterprise}/actions/permissions/organizations": { + "get": { + "summary": "List selected organizations enabled for GitHub Actions in an enterprise", + "description": "Lists the organizations that are selected to have GitHub Actions enabled in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise).\"\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/list-selected-organizations-enabled-github-actions-enterprise", + "tags": ["enterprise-admin"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/enterprise-admin#list-selected-organizations-enabled-for-github-actions-in-an-enterprise" + }, + "parameters": [ + { "$ref": "#/components/parameters/enterprise" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "total_count": { "type": "number" }, + "organizations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/organization-simple" + } + } + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/organization-targets" + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [], + "category": "enterprise-admin", + "subcategory": "actions" + }, + "x-octokit": {} + }, + "put": { + "summary": "Set selected organizations enabled for GitHub Actions in an enterprise", + "description": "Replaces the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise).\"\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/set-selected-organizations-enabled-github-actions-enterprise", + "tags": ["enterprise-admin"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/enterprise-admin#set-selected-organizations-enabled-for-github-actions-in-an-enterprise" + }, + "parameters": [{ "$ref": "#/components/parameters/enterprise" }], + "responses": { "204": { "description": "Empty response" } }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "selected_organization_ids": { + "description": "List of organization IDs to enable for GitHub Actions.", + "type": "array", + "items": { + "type": "integer", + "description": "Unique identifier of the organization." + } + } + }, + "required": ["selected_organization_ids"] + }, + "example": { "selected_organization_ids": [32, 91] } + } + } + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [], + "category": "enterprise-admin", + "subcategory": "actions" + }, + "x-octokit": {} + } + }, + "/enterprises/{enterprise}/actions/permissions/organizations/{org_id}": { + "put": { + "summary": "Enable a selected organization for GitHub Actions in an enterprise", + "description": "Adds an organization to the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise).\"\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/enable-selected-organization-github-actions-enterprise", + "tags": ["enterprise-admin"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/enterprise-admin#enable-a-selected-organization-for-github-actions-in-an-enterprise" + }, + "parameters": [ + { "$ref": "#/components/parameters/enterprise" }, + { "$ref": "#/components/parameters/org_id" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [], + "category": "enterprise-admin", + "subcategory": "actions" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Disable a selected organization for GitHub Actions in an enterprise", + "description": "Removes an organization from the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise).\"\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/disable-selected-organization-github-actions-enterprise", + "tags": ["enterprise-admin"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/enterprise-admin#disable-a-selected-organization-for-github-actions-in-an-enterprise" + }, + "parameters": [ + { "$ref": "#/components/parameters/enterprise" }, + { "$ref": "#/components/parameters/org_id" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [], + "category": "enterprise-admin", + "subcategory": "actions" + }, + "x-octokit": {} + } + }, + "/enterprises/{enterprise}/actions/permissions/selected-actions": { + "get": { + "summary": "Get allowed actions for an enterprise", + "description": "Gets the selected actions that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise).\"\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/get-allowed-actions-enterprise", + "tags": ["enterprise-admin"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/enterprise-admin#get-allowed-actions-for-an-enterprise" + }, + "parameters": [{ "$ref": "#/components/parameters/enterprise" }], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/selected-actions" }, + "examples": { + "default": { + "$ref": "#/components/examples/selected-actions" + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [], + "category": "enterprise-admin", + "subcategory": "actions" + }, + "x-octokit": {} + }, + "put": { + "summary": "Set allowed actions for an enterprise", + "description": "Sets the actions that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise).\"\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/set-allowed-actions-enterprise", + "tags": ["enterprise-admin"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/enterprise-admin#set-allowed-actions-for-an-enterprise" + }, + "parameters": [{ "$ref": "#/components/parameters/enterprise" }], + "responses": { "204": { "description": "Empty response" } }, + "requestBody": { + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/selected-actions" }, + "examples": { + "selected_actions": { + "$ref": "#/components/examples/selected-actions" + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [], + "category": "enterprise-admin", + "subcategory": "actions" + }, + "x-octokit": {} + } + }, + "/enterprises/{enterprise}/actions/runner-groups": { + "get": { + "summary": "List self-hosted runner groups for an enterprise", + "description": "Lists all self-hosted runner groups for an enterprise.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/list-self-hosted-runner-groups-for-enterprise", + "tags": ["enterprise-admin"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/enterprise-admin#list-self-hosted-runner-groups-for-an-enterprise" + }, + "parameters": [ + { "$ref": "#/components/parameters/enterprise" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "total_count": { "type": "number" }, + "runner_groups": { + "type": "array", + "items": { + "$ref": "#/components/schemas/runner-groups-enterprise" + } + } + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/runner-groups-enterprise" + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [], + "category": "enterprise-admin", + "subcategory": "actions" + }, + "x-octokit": {} + }, + "post": { + "summary": "Create a self-hosted runner group for an enterprise", + "description": "Creates a new self-hosted runner group for an enterprise.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/create-self-hosted-runner-group-for-enterprise", + "tags": ["enterprise-admin"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/enterprise-admin#create-self-hosted-runner-group-for-an-enterprise" + }, + "parameters": [{ "$ref": "#/components/parameters/enterprise" }], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "description": "Name of the runner group.", + "type": "string" + }, + "visibility": { + "description": "Visibility of a runner group. You can select all organizations or select individual organization. Can be one of: `all` or `selected`", + "type": "string", + "enum": ["selected", "all"] + }, + "selected_organization_ids": { + "description": "List of organization IDs that can access the runner group.", + "type": "array", + "items": { + "type": "integer", + "description": "Unique identifier of the organization." + } + }, + "runners": { + "description": "List of runner IDs to add to the runner group.", + "type": "array", + "items": { + "type": "integer", + "description": "Unique identifier of the runner." + } + } + }, + "required": ["name"] + }, + "example": { + "name": "Expensive hardware runners", + "visibility": "selected", + "selected_organization_ids": [32, 91], + "runners": [9, 2] + } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/runner-groups-enterprise" + }, + "examples": { + "default": { + "$ref": "#/components/examples/runner-group-enterprise" + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [], + "category": "enterprise-admin", + "subcategory": "actions" + }, + "x-octokit": {} + } + }, + "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}": { + "get": { + "summary": "Get a self-hosted runner group for an enterprise", + "description": "Gets a specific self-hosted runner group for an enterprise.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/get-self-hosted-runner-group-for-enterprise", + "tags": ["enterprise-admin"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/enterprise-admin#get-a-self-hosted-runner-group-for-an-enterprise" + }, + "parameters": [ + { "$ref": "#/components/parameters/enterprise" }, + { "$ref": "#/components/parameters/runner_group_id" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/runner-groups-enterprise" + }, + "examples": { + "default": { + "$ref": "#/components/examples/runner-group-enterprise" + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [], + "category": "enterprise-admin", + "subcategory": "actions" + }, + "x-octokit": {} + }, + "patch": { + "summary": "Update a self-hosted runner group for an enterprise", + "description": "Updates the `name` and `visibility` of a self-hosted runner group in an enterprise.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/update-self-hosted-runner-group-for-enterprise", + "tags": ["enterprise-admin"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/enterprise-admin#update-a-self-hosted-runner-group-for-an-enterprise" + }, + "parameters": [ + { "$ref": "#/components/parameters/enterprise" }, + { "$ref": "#/components/parameters/runner_group_id" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "description": "Name of the runner group.", + "type": "string" + }, + "visibility": { + "description": "Visibility of a runner group. You can select all organizations or select individual organizations. Can be one of: `all` or `selected`", + "type": "string", + "enum": ["selected", "all"], + "default": "all" + } + } + }, + "example": { + "name": "Expensive hardware runners", + "visibility": "selected" + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/runner-groups-enterprise" + }, + "examples": { + "default": { + "$ref": "#/components/examples/runner-group-update-enterprise" + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [], + "category": "enterprise-admin", + "subcategory": "actions" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Delete a self-hosted runner group from an enterprise", + "description": "Deletes a self-hosted runner group for an enterprise.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/delete-self-hosted-runner-group-from-enterprise", + "tags": ["enterprise-admin"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/enterprise-admin#delete-a-self-hosted-runner-group-from-an-enterprise" + }, + "parameters": [ + { "$ref": "#/components/parameters/enterprise" }, + { "$ref": "#/components/parameters/runner_group_id" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [], + "category": "enterprise-admin", + "subcategory": "actions" + }, + "x-octokit": {} + } + }, + "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations": { + "get": { + "summary": "List organization access to a self-hosted runner group in an enterprise", + "description": "Lists the organizations with access to a self-hosted runner group.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/list-org-access-to-self-hosted-runner-group-in-enterprise", + "tags": ["enterprise-admin"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/enterprise-admin#list-organization-access-to-a-self-hosted-runner-group-in-a-enterprise" + }, + "parameters": [ + { "$ref": "#/components/parameters/enterprise" }, + { "$ref": "#/components/parameters/runner_group_id" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "total_count": { "type": "number" }, + "organizations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/organization-simple" + } + } + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/organization-targets" + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [], + "category": "enterprise-admin", + "subcategory": "actions" + }, + "x-octokit": {} + }, + "put": { + "summary": "Set organization access for a self-hosted runner group in an enterprise", + "description": "Replaces the list of organizations that have access to a self-hosted runner configured in an enterprise.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/set-org-access-to-self-hosted-runner-group-in-enterprise", + "tags": ["enterprise-admin"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/enterprise-admin#set-organization-access-to-a-self-hosted-runner-group-in-an-enterprise" + }, + "parameters": [ + { "$ref": "#/components/parameters/enterprise" }, + { "$ref": "#/components/parameters/runner_group_id" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "selected_organization_ids": { + "description": "List of organization IDs that can access the runner group.", + "type": "array", + "items": { + "type": "integer", + "description": "Unique identifier of the organization." + } + } + }, + "required": ["selected_organization_ids"] + }, + "example": { "selected_organization_ids": [32, 91] } + } + } + }, + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [], + "category": "enterprise-admin", + "subcategory": "actions" + }, + "x-octokit": {} + } + }, + "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations/{org_id}": { + "put": { + "summary": "Add organization access to a self-hosted runner group in an enterprise", + "description": "Adds an organization to the list of selected organizations that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see \"[Create a self-hosted runner group for an enterprise](#create-a-self-hosted-runner-group-for-an-enterprise).\"\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/add-org-access-to-self-hosted-runner-group-in-enterprise", + "tags": ["enterprise-admin"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/enterprise-admin#add-organization-access-to-a-self-hosted-runner-group-in-an-enterprise" + }, + "parameters": [ + { "$ref": "#/components/parameters/enterprise" }, + { "$ref": "#/components/parameters/runner_group_id" }, + { "$ref": "#/components/parameters/org_id" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [], + "category": "enterprise-admin", + "subcategory": "actions" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Remove organization access to a self-hosted runner group in an enterprise", + "description": "Removes an organization from the list of selected organizations that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see \"[Create a self-hosted runner group for an enterprise](#create-a-self-hosted-runner-group-for-an-enterprise).\"\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/remove-org-access-to-self-hosted-runner-group-in-enterprise", + "tags": ["enterprise-admin"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/enterprise-admin#remove-organization-access-to-a-self-hosted-runner-group-in-an-enterprise" + }, + "parameters": [ + { "$ref": "#/components/parameters/enterprise" }, + { "$ref": "#/components/parameters/runner_group_id" }, + { "$ref": "#/components/parameters/org_id" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [], + "category": "enterprise-admin", + "subcategory": "actions" + }, + "x-octokit": {} + } + }, + "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners": { + "get": { + "summary": "List self-hosted runners in a group for an enterprise", + "description": "Lists the self-hosted runners that are in a specific enterprise group.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/list-self-hosted-runners-in-group-for-enterprise", + "tags": ["enterprise-admin"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/enterprise-admin#list-self-hosted-runners-in-a-group-for-an-enterprise" + }, + "parameters": [ + { "$ref": "#/components/parameters/enterprise" }, + { "$ref": "#/components/parameters/runner_group_id" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "total_count": { "type": "number" }, + "runners": { + "type": "array", + "items": { "$ref": "#/components/schemas/runner" } + } + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/runner-paginated" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [], + "category": "enterprise-admin", + "subcategory": "actions" + }, + "x-octokit": {} + }, + "put": { + "summary": "Set self-hosted runners in a group for an enterprise", + "description": "Replaces the list of self-hosted runners that that are part of an enterprise runner group.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/set-self-hosted-runners-in-group-for-enterprise", + "tags": ["enterprise-admin"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/enterprise-admin#set-self-hosted-runners-in-a-group-for-an-enterprise" + }, + "parameters": [ + { "$ref": "#/components/parameters/enterprise" }, + { "$ref": "#/components/parameters/runner_group_id" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "runners": { + "description": "List of runner IDs to add to the runner group.", + "type": "array", + "items": { + "type": "integer", + "description": "Unique identifier of the runner." + } + } + }, + "required": ["runners"] + }, + "example": { "runners": [9, 2] } + } + } + }, + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [], + "category": "enterprise-admin", + "subcategory": "actions" + }, + "x-octokit": {} + } + }, + "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners/{runner_id}": { + "put": { + "summary": "Add a self-hosted runner to a group for an enterprise", + "description": "Adds a self-hosted runner to a runner group configured in an enterprise.\n\nYou must authenticate using an access token with the `admin:enterprise`\nscope to use this endpoint.", + "operationId": "enterprise-admin/add-self-hosted-runner-to-group-for-enterprise", + "tags": ["enterprise-admin"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/enterprise-admin#add-a-self-hosted-runner-to-a-group-for-an-enterprise" + }, + "parameters": [ + { "$ref": "#/components/parameters/enterprise" }, + { "$ref": "#/components/parameters/runner_group_id" }, + { "$ref": "#/components/parameters/runner_id" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [], + "category": "enterprise-admin", + "subcategory": "actions" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Remove a self-hosted runner from a group for an enterprise", + "description": "Removes a self-hosted runner from a group configured in an enterprise. The runner is then returned to the default group.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/remove-self-hosted-runner-from-group-for-enterprise", + "tags": ["enterprise-admin"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/enterprise-admin#remove-a-self-hosted-runner-from-a-group-for-an-enterprise" + }, + "parameters": [ + { "$ref": "#/components/parameters/enterprise" }, + { "$ref": "#/components/parameters/runner_group_id" }, + { "$ref": "#/components/parameters/runner_id" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [], + "category": "enterprise-admin", + "subcategory": "actions" + }, + "x-octokit": {} + } + }, + "/enterprises/{enterprise}/actions/runners": { + "get": { + "summary": "List self-hosted runners for an enterprise", + "description": "Lists all self-hosted runners configured for an enterprise.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/list-self-hosted-runners-for-enterprise", + "tags": ["enterprise-admin"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/enterprise-admin#list-self-hosted-runners-for-an-enterprise" + }, + "parameters": [ + { "$ref": "#/components/parameters/enterprise" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "total_count": { "type": "number" }, + "runners": { + "type": "array", + "items": { "$ref": "#/components/schemas/runner" } + } + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/runner-paginated" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [], + "category": "enterprise-admin", + "subcategory": "actions" + }, + "x-octokit": {} + } + }, + "/enterprises/{enterprise}/actions/runners/downloads": { + "get": { + "summary": "List runner applications for an enterprise", + "description": "Lists binaries for the runner application that you can download and run.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/list-runner-applications-for-enterprise", + "tags": ["enterprise-admin"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/enterprise-admin#list-runner-applications-for-an-enterprise" + }, + "parameters": [{ "$ref": "#/components/parameters/enterprise" }], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/runner-application" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/runner-application-items" + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [], + "category": "enterprise-admin", + "subcategory": "actions" + }, + "x-octokit": {} + } + }, + "/enterprises/{enterprise}/actions/runners/registration-token": { + "post": { + "summary": "Create a registration token for an enterprise", + "description": "Returns a token that you can pass to the `config` script. The token expires after one hour.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n\n#### Example using registration token\n\nConfigure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint.\n\n```\n./config.sh --url https://github.com/enterpises/octo-enterprise --token TOKEN\n```", + "operationId": "enterprise-admin/create-registration-token-for-enterprise", + "tags": ["enterprise-admin"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/enterprise-admin#create-a-registration-token-for-an-enterprise" + }, + "parameters": [{ "$ref": "#/components/parameters/enterprise" }], + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/authentication-token" + }, + "examples": { + "default": { + "$ref": "#/components/examples/authentication-token" + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [], + "category": "enterprise-admin", + "subcategory": "actions" + }, + "x-octokit": {} + } + }, + "/enterprises/{enterprise}/actions/runners/remove-token": { + "post": { + "summary": "Create a remove token for an enterprise", + "description": "Returns a token that you can pass to the `config` script to remove a self-hosted runner from an enterprise. The token expires after one hour.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n\n#### Example using remove token\n\nTo remove your self-hosted runner from an enterprise, replace `TOKEN` with the remove token provided by this\nendpoint.\n\n```\n./config.sh remove --token TOKEN\n```", + "operationId": "enterprise-admin/create-remove-token-for-enterprise", + "tags": ["enterprise-admin"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/enterprise-admin#create-a-remove-token-for-an-enterprise" + }, + "parameters": [{ "$ref": "#/components/parameters/enterprise" }], + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/authentication-token" + }, + "examples": { + "default": { + "$ref": "#/components/examples/authentication-token-2" + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [], + "category": "enterprise-admin", + "subcategory": "actions" + }, + "x-octokit": {} + } + }, + "/enterprises/{enterprise}/actions/runners/{runner_id}": { + "get": { + "summary": "Get a self-hosted runner for an enterprise", + "description": "Gets a specific self-hosted runner configured in an enterprise.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/get-self-hosted-runner-for-enterprise", + "tags": ["enterprise-admin"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/enterprise-admin#get-a-self-hosted-runner-for-an-enterprise" + }, + "parameters": [ + { "$ref": "#/components/parameters/enterprise" }, + { "$ref": "#/components/parameters/runner_id" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/runner" }, + "examples": { + "default": { "$ref": "#/components/examples/runner" } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [], + "category": "enterprise-admin", + "subcategory": "actions" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Delete a self-hosted runner from an enterprise", + "description": "Forces the removal of a self-hosted runner from an enterprise. You can use this endpoint to completely remove the runner when the machine you were using no longer exists.\n\nYou must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.", + "operationId": "enterprise-admin/delete-self-hosted-runner-from-enterprise", + "tags": ["enterprise-admin"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/enterprise-admin#delete-self-hosted-runner-from-an-enterprise" + }, + "parameters": [ + { "$ref": "#/components/parameters/enterprise" }, + { "$ref": "#/components/parameters/runner_id" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "enabledForGitHubApps": false, + "githubCloudOnly": false, + "previews": [], + "category": "enterprise-admin", + "subcategory": "actions" + }, + "x-octokit": {} + } + }, + "/enterprises/{enterprise}/settings/billing/actions": { + "get": { + "summary": "Get GitHub Actions billing for an enterprise", + "description": "Gets the summary of the free and paid GitHub Actions minutes used.\n\nPaid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see \"[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)\".\n\nThe authenticated user must be an enterprise admin.", + "operationId": "billing/get-github-actions-billing-ghe", + "tags": ["billing"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/billing/#get-github-actions-billing-for-an-enterprise" + }, + "parameters": [{ "$ref": "#/components/parameters/enterprise" }], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/actions-billing-usage" + }, + "examples": { + "default": { + "$ref": "#/components/examples/actions-billing-usage" + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": true, + "enabledForGitHubApps": false, + "previews": [], + "category": "enterprise-admin", + "subcategory": "billing" + }, + "x-octokit": {} + } + }, + "/enterprises/{enterprise}/settings/billing/packages": { + "get": { + "summary": "Get GitHub Packages billing for an enterprise", + "description": "Gets the free and paid storage used for GitHub Packages in gigabytes.\n\nPaid minutes only apply to packages stored for private repositories. For more information, see \"[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages).\"\n\nThe authenticated user must be an enterprise admin.", + "operationId": "billing/get-github-packages-billing-ghe", + "tags": ["billing"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/billing/#get-github-packages-billing-for-an-enterprise" + }, + "parameters": [{ "$ref": "#/components/parameters/enterprise" }], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/packages-billing-usage" + }, + "examples": { + "default": { + "$ref": "#/components/examples/packages-billing-usage" + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": true, + "enabledForGitHubApps": false, + "previews": [], + "category": "enterprise-admin", + "subcategory": "billing" + }, + "x-octokit": {} + } + }, + "/enterprises/{enterprise}/settings/billing/shared-storage": { + "get": { + "summary": "Get shared storage billing for an enterprise", + "description": "Gets the estimated paid and estimated total storage used for GitHub Actions and Github Packages.\n\nPaid minutes only apply to packages stored for private repositories. For more information, see \"[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages).\"\n\nThe authenticated user must be an enterprise admin.", + "operationId": "billing/get-shared-storage-billing-ghe", + "tags": ["billing"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/billing/#get-shared-storage-billing-for-an-enterprise" + }, + "parameters": [{ "$ref": "#/components/parameters/enterprise" }], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/combined-billing-usage" + }, + "examples": { + "default": { + "$ref": "#/components/examples/combined-billing-usage" + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": true, + "enabledForGitHubApps": false, + "previews": [], + "category": "enterprise-admin", + "subcategory": "billing" + }, + "x-octokit": {} + } + }, + "/events": { + "get": { + "summary": "List public events", + "description": "We delay the public events feed by five minutes, which means the most recent event returned by the public events API actually occurred at least five minutes ago.", + "tags": ["activity"], + "operationId": "activity/list-public-events", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/activity#list-public-events" + }, + "parameters": [ + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/event" } + } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "503": { "$ref": "#/components/responses/service_unavailable" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "activity", + "subcategory": "events" + }, + "x-octokit": {} + } + }, + "/feeds": { + "get": { + "summary": "Get feeds", + "description": "GitHub provides several timeline resources in [Atom](http://en.wikipedia.org/wiki/Atom_(standard)) format. The Feeds API lists all the feeds available to the authenticated user:\n\n* **Timeline**: The GitHub global public timeline\n* **User**: The public timeline for any user, using [URI template](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia)\n* **Current user public**: The public timeline for the authenticated user\n* **Current user**: The private timeline for the authenticated user\n* **Current user actor**: The private timeline for activity created by the authenticated user\n* **Current user organizations**: The private timeline for the organizations the authenticated user is a member of.\n* **Security advisories**: A collection of public announcements that provide information about security-related vulnerabilities in software on GitHub.\n\n**Note**: Private feeds are only returned when [authenticating via Basic Auth](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) since current feed URIs use the older, non revocable auth tokens.", + "tags": ["activity"], + "operationId": "activity/get-feeds", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/activity#get-feeds" + }, + "parameters": [], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/feed" }, + "examples": { + "default": { "$ref": "#/components/examples/feed" } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "activity", + "subcategory": "feeds" + }, + "x-octokit": {} + } + }, + "/gists": { + "get": { + "summary": "List gists for the authenticated user", + "description": "Lists the authenticated user's gists or if called anonymously, this endpoint returns all public gists:", + "tags": ["gists"], + "operationId": "gists/list", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/gists/#list-gists-for-the-authenticated-user" + }, + "parameters": [ + { "$ref": "#/components/parameters/since" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/base-gist" } + }, + "examples": { + "default": { "$ref": "#/components/examples/base-gist-items" } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "403": { "$ref": "#/components/responses/forbidden" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "gists", + "subcategory": null + }, + "x-octokit": {} + }, + "post": { + "summary": "Create a gist", + "description": "Allows you to add a new gist with one or more files.\n\n**Note:** Don't name your files \"gistfile\" with a numerical suffix. This is the format of the automatic naming scheme that Gist uses internally.", + "operationId": "gists/create", + "tags": ["gists"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/gists/#create-a-gist" + }, + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "description": { + "description": "Description of the gist", + "example": "Example Ruby script", + "type": "string" + }, + "files": { + "description": "Names and content for the files that make up the gist", + "example": { + "hello.rb": { "content": "puts \"Hello, World!\"" } + }, + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "content": { + "description": "Content of the file", + "readOnly": false, + "type": "string" + } + }, + "required": ["content"] + } + }, + "public": { + "oneOf": [ + { + "description": "Flag indicating whether the gist is public", + "example": true, + "type": "boolean", + "default": false + }, + { + "type": "string", + "example": "true", + "default": "false", + "enum": ["true", "false"] + } + ] + } + }, + "required": ["files"], + "type": "object" + } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/gist-full" }, + "examples": { + "default": { "$ref": "#/components/examples/gist" } + } + } + }, + "headers": { + "Location": { + "example": "https://api.github.com/gists/aa5a315d61ae9438b18d", + "schema": { "type": "string" } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "gists", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/gists/public": { + "get": { + "summary": "List public gists", + "description": "List public gists sorted by most recently updated to least recently updated.\n\nNote: With [pagination](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination), you can fetch up to 3000 gists. For example, you can fetch 100 pages with 30 gists per page or 30 pages with 100 gists per page.", + "tags": ["gists"], + "operationId": "gists/list-public", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/gists/#list-public-gists" + }, + "parameters": [ + { "$ref": "#/components/parameters/since" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/base-gist" } + }, + "examples": { + "default": { "$ref": "#/components/examples/base-gist-items" } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "gists", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/gists/starred": { + "get": { + "summary": "List starred gists", + "description": "List the authenticated user's starred gists:", + "tags": ["gists"], + "operationId": "gists/list-starred", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/gists/#list-starred-gists" + }, + "parameters": [ + { "$ref": "#/components/parameters/since" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/base-gist" } + }, + "examples": { + "default": { "$ref": "#/components/examples/base-gist-items" } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "gists", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/gists/{gist_id}": { + "get": { + "summary": "Get a gist", + "description": "", + "tags": ["gists"], + "operationId": "gists/get", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/gists/#get-a-gist" + }, + "parameters": [{ "$ref": "#/components/parameters/gist_id" }], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/gist-full" }, + "examples": { + "default": { "$ref": "#/components/examples/gist" } + } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "403": { "$ref": "#/components/responses/forbidden_gist" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "gists", + "subcategory": null + }, + "x-octokit": {} + }, + "patch": { + "summary": "Update a gist", + "description": "Allows you to update or delete a gist file and rename gist files. Files from the previous version of the gist that aren't explicitly changed during an edit are unchanged.", + "tags": ["gists"], + "operationId": "gists/update", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/gists/#update-a-gist" + }, + "parameters": [{ "$ref": "#/components/parameters/gist_id" }], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "description": { + "description": "Description of the gist", + "example": "Example Ruby script", + "type": "string" + }, + "files": { + "description": "Names of files to be updated", + "example": { + "hello.rb": { + "content": "blah", + "filename": "goodbye.rb" + } + }, + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "content": { + "description": "The new content of the file", + "type": "string" + }, + "filename": { + "description": "The new filename for the file", + "type": "string", + "nullable": true + } + }, + "nullable": true + } + } + }, + "anyOf": [ + { "required": ["description"] }, + { "required": ["files"] } + ], + "type": "object", + "nullable": true + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/gist-full" }, + "examples": { + "default": { "$ref": "#/components/examples/gist-3" } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "gists", + "subcategory": null + }, + "x-octokit": {} + }, + "delete": { + "summary": "Delete a gist", + "description": "", + "tags": ["gists"], + "operationId": "gists/delete", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/gists/#delete-a-gist" + }, + "parameters": [{ "$ref": "#/components/parameters/gist_id" }], + "responses": { + "204": { "description": "Empty response" }, + "304": { "$ref": "#/components/responses/not_modified" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "gists", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/gists/{gist_id}/comments": { + "get": { + "summary": "List gist comments", + "description": "", + "tags": ["gists"], + "operationId": "gists/list-comments", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/gists#list-gist-comments" + }, + "parameters": [ + { "$ref": "#/components/parameters/gist_id" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/gist-comment" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/gist-comment-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "gists", + "subcategory": "comments" + }, + "x-octokit": {} + }, + "post": { + "summary": "Create a gist comment", + "description": "", + "tags": ["gists"], + "operationId": "gists/create-comment", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/gists#create-a-gist-comment" + }, + "parameters": [{ "$ref": "#/components/parameters/gist_id" }], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "body": { + "description": "The comment text.", + "type": "string", + "maxLength": 65535, + "example": "Body of the attachment" + } + }, + "type": "object", + "required": ["body"] + } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/gist-comment" }, + "examples": { + "default": { "$ref": "#/components/examples/gist-comment" } + } + } + }, + "headers": { + "Location": { + "example": "https://api.github.com/gists/a6db0bec360bb87e9418/comments/1", + "schema": { "type": "string" } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "gists", + "subcategory": "comments" + }, + "x-octokit": {} + } + }, + "/gists/{gist_id}/comments/{comment_id}": { + "get": { + "summary": "Get a gist comment", + "description": "", + "tags": ["gists"], + "operationId": "gists/get-comment", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/gists#get-a-gist-comment" + }, + "parameters": [ + { "$ref": "#/components/parameters/gist_id" }, + { "$ref": "#/components/parameters/comment_id" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/gist-comment" }, + "examples": { + "default": { "$ref": "#/components/examples/gist-comment" } + } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "403": { "$ref": "#/components/responses/forbidden_gist" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "gists", + "subcategory": "comments" + }, + "x-octokit": {} + }, + "patch": { + "summary": "Update a gist comment", + "description": "", + "tags": ["gists"], + "operationId": "gists/update-comment", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/gists#update-a-gist-comment" + }, + "parameters": [ + { "$ref": "#/components/parameters/gist_id" }, + { "$ref": "#/components/parameters/comment_id" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "body": { + "description": "The comment text.", + "type": "string", + "maxLength": 65535, + "example": "Body of the attachment" + } + }, + "type": "object", + "required": ["body"] + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/gist-comment" }, + "examples": { + "default": { "$ref": "#/components/examples/gist-comment" } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "gists", + "subcategory": "comments" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Delete a gist comment", + "description": "", + "tags": ["gists"], + "operationId": "gists/delete-comment", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/gists#delete-a-gist-comment" + }, + "parameters": [ + { "$ref": "#/components/parameters/gist_id" }, + { "$ref": "#/components/parameters/comment_id" } + ], + "responses": { + "204": { "description": "Empty response" }, + "304": { "$ref": "#/components/responses/not_modified" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "gists", + "subcategory": "comments" + }, + "x-octokit": {} + } + }, + "/gists/{gist_id}/commits": { + "get": { + "summary": "List gist commits", + "description": "", + "tags": ["gists"], + "operationId": "gists/list-commits", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/gists/#list-gist-commits" + }, + "parameters": [ + { "$ref": "#/components/parameters/gist_id" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/gist-commit" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/gist-commit-items" + } + } + } + }, + "headers": { + "Link": { + "example": "; rel=\"next\"", + "schema": { "type": "string" } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "gists", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/gists/{gist_id}/forks": { + "get": { + "summary": "List gist forks", + "description": "", + "tags": ["gists"], + "operationId": "gists/list-forks", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/gists/#list-gist-forks" + }, + "parameters": [ + { "$ref": "#/components/parameters/gist_id" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/gist-full" } + }, + "examples": { + "default": { "$ref": "#/components/examples/gist-fork-items" } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "gists", + "subcategory": null + }, + "x-octokit": {} + }, + "post": { + "summary": "Fork a gist", + "description": "**Note**: This was previously `/gists/:gist_id/fork`.", + "tags": ["gists"], + "operationId": "gists/fork", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/gists/#fork-a-gist" + }, + "parameters": [{ "$ref": "#/components/parameters/gist_id" }], + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/base-gist" }, + "examples": { + "default": { "$ref": "#/components/examples/base-gist" } + } + } + }, + "headers": { + "Location": { + "example": "https://api.github.com/gists/aa5a315d61ae9438b18d", + "schema": { "type": "string" } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "gists", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/gists/{gist_id}/star": { + "get": { + "summary": "Check if a gist is starred", + "description": "", + "tags": ["gists"], + "operationId": "gists/check-is-starred", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/gists/#check-if-a-gist-is-starred" + }, + "parameters": [{ "$ref": "#/components/parameters/gist_id" }], + "responses": { + "204": { "description": "Response if gist is starred" }, + "304": { "$ref": "#/components/responses/not_modified" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { + "description": "Response if gist is not starred", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": {}, + "additionalProperties": false + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "gists", + "subcategory": null + }, + "x-octokit": {} + }, + "put": { + "summary": "Star a gist", + "description": "Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs).\"", + "tags": ["gists"], + "operationId": "gists/star", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/gists/#star-a-gist" + }, + "parameters": [{ "$ref": "#/components/parameters/gist_id" }], + "responses": { + "204": { "description": "Empty response" }, + "304": { "$ref": "#/components/responses/not_modified" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "gists", + "subcategory": null + }, + "x-octokit": {} + }, + "delete": { + "summary": "Unstar a gist", + "description": "", + "tags": ["gists"], + "operationId": "gists/unstar", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/gists/#unstar-a-gist" + }, + "parameters": [{ "$ref": "#/components/parameters/gist_id" }], + "responses": { + "204": { "description": "Empty response" }, + "304": { "$ref": "#/components/responses/not_modified" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "gists", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/gists/{gist_id}/{sha}": { + "get": { + "summary": "Get a gist revision", + "description": "", + "tags": ["gists"], + "operationId": "gists/get-revision", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/gists/#get-a-gist-revision" + }, + "parameters": [ + { "$ref": "#/components/parameters/gist_id" }, + { + "name": "sha", + "in": "path", + "required": true, + "schema": { "type": "string" } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/gist-full" }, + "examples": { + "default": { "$ref": "#/components/examples/gist-2" } + } + } + } + }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "gists", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/gitignore/templates": { + "get": { + "summary": "Get all gitignore templates", + "description": "List all templates available to pass as an option when [creating a repository](https://docs.github.com/rest/reference/repos#create-a-repository-for-the-authenticated-user).", + "operationId": "gitignore/get-all-templates", + "tags": ["gitignore"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/gitignore/#get-all-gitignore-templates" + }, + "parameters": [], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "type": "array", "items": { "type": "string" } }, + "example": [ + "Actionscript", + "Android", + "AppceleratorTitanium", + "Autotools", + "Bancha", + "C", + "C++" + ] + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "gitignore", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/gitignore/templates/{name}": { + "get": { + "summary": "Get a gitignore template", + "description": "The API also allows fetching the source of a single template.\nUse the raw [media type](https://docs.github.com/rest/overview/media-types/) to get the raw contents.", + "operationId": "gitignore/get-template", + "tags": ["gitignore"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/gitignore/#get-a-gitignore-template" + }, + "parameters": [ + { + "name": "name", + "in": "path", + "required": true, + "schema": { "type": "string" } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/gitignore-template" }, + "examples": { + "default": { + "$ref": "#/components/examples/gitignore-template" + } + } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "gitignore", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/installation/repositories": { + "get": { + "summary": "List repositories accessible to the app installation", + "description": "List repositories that an app installation can access.\n\nYou must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint.", + "tags": ["apps"], + "operationId": "apps/list-repos-accessible-to-installation", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/apps#list-repositories-accessible-to-the-app-installation" + }, + "parameters": [ + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "total_count": { "type": "integer" }, + "repositories": { + "type": "array", + "items": { "$ref": "#/components/schemas/repository" } + }, + "repository_selection": { + "type": "string", + "example": "selected" + } + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/repository-paginated-2" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": false, + "name": "mercy", + "note": "The `topics` property for repositories on GitHub is currently available for developers to preview. To view the `topics` property in calls that return repository results, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.mercy-preview+json\n```" + } + ], + "category": "apps", + "subcategory": "installations" + }, + "x-octokit": {} + } + }, + "/installation/token": { + "delete": { + "summary": "Revoke an installation access token", + "description": "Revokes the installation token you're using to authenticate as an installation and access this endpoint.\n\nOnce an installation token is revoked, the token is invalidated and cannot be used. Other endpoints that require the revoked installation token must have a new installation token to work. You can create a new token using the \"[Create an installation access token for an app](https://docs.github.com/rest/reference/apps#create-an-installation-access-token-for-an-app)\" endpoint.\n\nYou must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint.", + "tags": ["apps"], + "operationId": "apps/revoke-installation-access-token", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/apps#revoke-an-installation-access-token" + }, + "parameters": [], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "apps", + "subcategory": "installations" + }, + "x-octokit": {} + } + }, + "/issues": { + "get": { + "summary": "List issues assigned to the authenticated user", + "description": "List issues assigned to the authenticated user across all visible repositories including owned repositories, member\nrepositories, and organization repositories. You can use the `filter` query parameter to fetch issues that are not\nnecessarily assigned to you.\n\n\n**Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this\nreason, \"Issues\" endpoints may return both issues and pull requests in the response. You can identify pull requests by\nthe `pull_request` key. Be aware that the `id` of a pull request returned from \"Issues\" endpoints will be an _issue id_. To find out the pull\nrequest id, use the \"[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)\" endpoint.", + "tags": ["issues"], + "operationId": "issues/list", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/issues/#list-issues-assigned-to-the-authenticated-user" + }, + "parameters": [ + { + "name": "filter", + "description": "Indicates which sorts of issues to return. Can be one of: \n\\* `assigned`: Issues assigned to you \n\\* `created`: Issues created by you \n\\* `mentioned`: Issues mentioning you \n\\* `subscribed`: Issues you're subscribed to updates for \n\\* `all`: All issues the authenticated user can see, regardless of participation or creation", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["assigned", "created", "mentioned", "subscribed", "all"], + "default": "assigned" + } + }, + { + "name": "state", + "description": "Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["open", "closed", "all"], + "default": "open" + } + }, + { "$ref": "#/components/parameters/labels" }, + { + "name": "sort", + "description": "What to sort results by. Can be either `created`, `updated`, `comments`.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["created", "updated", "comments"], + "default": "created" + } + }, + { "$ref": "#/components/parameters/direction" }, + { "$ref": "#/components/parameters/since" }, + { + "name": "collab", + "in": "query", + "required": false, + "schema": { "type": "boolean" } + }, + { + "name": "orgs", + "in": "query", + "required": false, + "schema": { "type": "boolean" } + }, + { + "name": "owned", + "in": "query", + "required": false, + "schema": { "type": "boolean" } + }, + { + "name": "pulls", + "in": "query", + "required": false, + "schema": { "type": "boolean" } + }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/issue" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/issue-with-repo-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "404": { "$ref": "#/components/responses/not_found" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [ + { + "required": false, + "name": "squirrel-girl", + "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." + } + ], + "category": "issues", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/licenses": { + "get": { + "summary": "Get all commonly used licenses", + "description": "", + "tags": ["licenses"], + "operationId": "licenses/get-all-commonly-used", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/licenses/#get-all-commonly-used-licenses" + }, + "parameters": [ + { + "name": "featured", + "in": "query", + "required": false, + "schema": { "type": "boolean" } + }, + { "$ref": "#/components/parameters/per_page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/license-simple" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/license-simple-items" + } + } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "licenses", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/licenses/{license}": { + "get": { + "summary": "Get a license", + "description": "", + "tags": ["licenses"], + "operationId": "licenses/get", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/licenses/#get-a-license" + }, + "parameters": [ + { + "name": "license", + "in": "path", + "required": true, + "schema": { "type": "string" } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/license" }, + "examples": { + "default": { "$ref": "#/components/examples/license" } + } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "licenses", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/markdown": { + "post": { + "summary": "Render a Markdown document", + "description": "", + "operationId": "markdown/render", + "tags": ["markdown"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/markdown/#render-a-markdown-document" + }, + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "text": { + "description": "The Markdown text to render in HTML.", + "type": "string" + }, + "mode": { + "description": "The rendering mode.", + "enum": ["markdown", "gfm"], + "default": "markdown", + "example": "markdown", + "type": "string" + }, + "context": { + "description": "The repository context to use when creating references in `gfm` mode.", + "type": "string" + } + }, + "required": ["text"], + "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "response", + "headers": { + "Content-Type": { "$ref": "#/components/headers/content-type" }, + "Content-Length": { + "example": "279", + "schema": { "type": "string" } + }, + "X-CommonMarker-Version": { + "$ref": "#/components/headers/x-common-marker-version" + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "markdown", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/markdown/raw": { + "post": { + "summary": "Render a Markdown document in raw mode", + "description": "You must send Markdown as plain text (using a `Content-Type` header of `text/plain` or `text/x-markdown`) to this endpoint, rather than using JSON format. In raw mode, [GitHub Flavored Markdown](https://github.github.com/gfm/) is not supported and Markdown will be rendered in plain format like a README.md file. Markdown content must be 400 KB or less.", + "operationId": "markdown/render-raw", + "tags": ["markdown"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/markdown/#render-a-markdown-document-in-raw-mode" + }, + "parameters": [], + "requestBody": { + "content": { + "text/plain": { "schema": { "type": "string" } }, + "text/x-markdown": { "schema": { "type": "string" } } + } + }, + "responses": { + "200": { + "description": "response", + "headers": { + "X-CommonMarker-Version": { + "$ref": "#/components/headers/x-common-marker-version" + } + }, + "content": { "text/html": { "schema": { "type": "string" } } } + }, + "304": { "$ref": "#/components/responses/not_modified" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "markdown", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/marketplace_listing/accounts/{account_id}": { + "get": { + "summary": "Get a subscription plan for an account", + "description": "Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change.\n\nGitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint.", + "tags": ["apps"], + "operationId": "apps/get-subscription-plan-for-account", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/apps#get-a-subscription-plan-for-an-account" + }, + "parameters": [{ "$ref": "#/components/parameters/account_id" }], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/marketplace-purchase" + }, + "examples": { + "default": { + "$ref": "#/components/examples/marketplace-purchase" + } + } + } + } + }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "404": { + "description": "Response when the account has not purchased the listing", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/basic-error" } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "apps", + "subcategory": "marketplace" + }, + "x-octokit": {} + } + }, + "/marketplace_listing/plans": { + "get": { + "summary": "List plans", + "description": "Lists all plans that are part of your GitHub Marketplace listing.\n\nGitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint.", + "tags": ["apps"], + "operationId": "apps/list-plans", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/apps#list-plans" + }, + "parameters": [ + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/marketplace-listing-plan" + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/marketplace-listing-plan-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "apps", + "subcategory": "marketplace" + }, + "x-octokit": {} + } + }, + "/marketplace_listing/plans/{plan_id}/accounts": { + "get": { + "summary": "List accounts for a plan", + "description": "Returns user and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change.\n\nGitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint.", + "tags": ["apps"], + "operationId": "apps/list-accounts-for-plan", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/apps#list-accounts-for-a-plan" + }, + "parameters": [ + { "$ref": "#/components/parameters/plan_id" }, + { "$ref": "#/components/parameters/sort" }, + { + "name": "direction", + "description": "To return the oldest accounts first, set to `asc`. Can be one of `asc` or `desc`. Ignored without the `sort` parameter.", + "in": "query", + "required": false, + "schema": { "type": "string", "enum": ["asc", "desc"] } + }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/marketplace-purchase" + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/marketplace-purchase-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "404": { "$ref": "#/components/responses/not_found" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "apps", + "subcategory": "marketplace" + }, + "x-octokit": {} + } + }, + "/marketplace_listing/stubbed/accounts/{account_id}": { + "get": { + "summary": "Get a subscription plan for an account (stubbed)", + "description": "Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change.\n\nGitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint.", + "tags": ["apps"], + "operationId": "apps/get-subscription-plan-for-account-stubbed", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/apps#get-a-subscription-plan-for-an-account-stubbed" + }, + "parameters": [{ "$ref": "#/components/parameters/account_id" }], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/marketplace-purchase" + }, + "examples": { + "default": { + "$ref": "#/components/examples/marketplace-purchase" + } + } + } + } + }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "404": { + "description": "Response when the account has not purchased the listing" + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "apps", + "subcategory": "marketplace" + }, + "x-octokit": {} + } + }, + "/marketplace_listing/stubbed/plans": { + "get": { + "summary": "List plans (stubbed)", + "description": "Lists all plans that are part of your GitHub Marketplace listing.\n\nGitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint.", + "tags": ["apps"], + "operationId": "apps/list-plans-stubbed", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/apps#list-plans-stubbed" + }, + "parameters": [ + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/marketplace-listing-plan" + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/marketplace-listing-plan-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "401": { "$ref": "#/components/responses/requires_authentication" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "apps", + "subcategory": "marketplace" + }, + "x-octokit": {} + } + }, + "/marketplace_listing/stubbed/plans/{plan_id}/accounts": { + "get": { + "summary": "List accounts for a plan (stubbed)", + "description": "Returns repository and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change.\n\nGitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint.", + "tags": ["apps"], + "operationId": "apps/list-accounts-for-plan-stubbed", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/apps#list-accounts-for-a-plan-stubbed" + }, + "parameters": [ + { "$ref": "#/components/parameters/plan_id" }, + { "$ref": "#/components/parameters/sort" }, + { + "name": "direction", + "description": "To return the oldest accounts first, set to `asc`. Can be one of `asc` or `desc`. Ignored without the `sort` parameter.", + "in": "query", + "required": false, + "schema": { "type": "string", "enum": ["asc", "desc"] } + }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/marketplace-purchase" + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/marketplace-purchase-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "401": { "$ref": "#/components/responses/requires_authentication" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "apps", + "subcategory": "marketplace" + }, + "x-octokit": {} + } + }, + "/meta": { + "get": { + "summary": "Get GitHub meta information", + "description": "This endpoint provides a list of GitHub's IP addresses. For more information, see \"[About GitHub's IP addresses](https://help.github.com/articles/about-github-s-ip-addresses/).\"", + "tags": ["meta"], + "operationId": "meta/get", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/meta/#get-github-meta-information" + }, + "parameters": [], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/api-overview" }, + "examples": { + "default": { "$ref": "#/components/examples/api-overview" } + } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "meta", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/networks/{owner}/{repo}/events": { + "get": { + "summary": "List public events for a network of repositories", + "description": "", + "tags": ["activity"], + "operationId": "activity/list-public-events-for-repo-network", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/activity#list-public-events-for-a-network-of-repositories" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/event" } + } + } + } + }, + "301": { "$ref": "#/components/responses/moved_permanently" }, + "304": { "$ref": "#/components/responses/not_modified" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "activity", + "subcategory": "events" + }, + "x-octokit": {} + } + }, + "/notifications": { + "get": { + "summary": "List notifications for the authenticated user", + "description": "List all notifications for the current user, sorted by most recently updated.", + "tags": ["activity"], + "operationId": "activity/list-notifications-for-authenticated-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/activity#list-notifications-for-the-authenticated-user" + }, + "parameters": [ + { "$ref": "#/components/parameters/all" }, + { "$ref": "#/components/parameters/participating" }, + { "$ref": "#/components/parameters/since" }, + { "$ref": "#/components/parameters/before" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/thread" } + }, + "examples": { + "default": { "$ref": "#/components/examples/thread-items" } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "activity", + "subcategory": "notifications" + }, + "x-octokit": {} + }, + "put": { + "summary": "Mark notifications as read", + "description": "Marks all notifications as \"read\" removes it from the [default view on GitHub](https://github.com/notifications). If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as \"read.\" To check whether any \"unread\" notifications remain, you can use the [List notifications for the authenticated user](https://docs.github.com/rest/reference/activity#list-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`.", + "tags": ["activity"], + "operationId": "activity/mark-notifications-as-read", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/activity#mark-notifications-as-read" + }, + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "last_read_at": { + "description": "Describes the last point that notifications were checked.", + "type": "string", + "format": "date-time" + }, + "read": { + "description": "Whether the notification has been read.", + "type": "boolean" + } + } + } + } + } + }, + "responses": { + "202": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { "message": { "type": "string" } } + } + } + } + }, + "205": { "description": "response" }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "activity", + "subcategory": "notifications" + }, + "x-octokit": {} + } + }, + "/notifications/threads/{thread_id}": { + "get": { + "summary": "Get a thread", + "description": "", + "tags": ["activity"], + "operationId": "activity/get-thread", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/activity#get-a-thread" + }, + "parameters": [{ "$ref": "#/components/parameters/thread_id" }], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/thread" }, + "examples": { + "default": { "$ref": "#/components/examples/thread" } + } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "activity", + "subcategory": "notifications" + }, + "x-octokit": {} + }, + "patch": { + "summary": "Mark a thread as read", + "description": "", + "tags": ["activity"], + "operationId": "activity/mark-thread-as-read", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/activity#mark-a-thread-as-read" + }, + "parameters": [{ "$ref": "#/components/parameters/thread_id" }], + "responses": { + "205": { "description": "response" }, + "304": { "$ref": "#/components/responses/not_modified" }, + "403": { "$ref": "#/components/responses/forbidden" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "activity", + "subcategory": "notifications" + }, + "x-octokit": {} + } + }, + "/notifications/threads/{thread_id}/subscription": { + "get": { + "summary": "Get a thread subscription for the authenticated user", + "description": "This checks to see if the current user is subscribed to a thread. You can also [get a repository subscription](https://docs.github.com/rest/reference/activity#get-a-repository-subscription).\n\nNote that subscriptions are only generated if a user is participating in a conversation--for example, they've replied to the thread, were **@mentioned**, or manually subscribe to a thread.", + "tags": ["activity"], + "operationId": "activity/get-thread-subscription-for-authenticated-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/activity#get-a-thread-subscription-for-the-authenticated-user" + }, + "parameters": [{ "$ref": "#/components/parameters/thread_id" }], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/thread-subscription" + }, + "examples": { + "default": { + "$ref": "#/components/examples/thread-subscription" + } + } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "activity", + "subcategory": "notifications" + }, + "x-octokit": {} + }, + "put": { + "summary": "Set a thread subscription", + "description": "If you are watching a repository, you receive notifications for all threads by default. Use this endpoint to ignore future notifications for threads until you comment on the thread or get an **@mention**.\n\nYou can also use this endpoint to subscribe to threads that you are currently not receiving notifications for or to subscribed to threads that you have previously ignored.\n\nUnsubscribing from a conversation in a repository that you are not watching is functionally equivalent to the [Delete a thread subscription](https://docs.github.com/rest/reference/activity#delete-a-thread-subscription) endpoint.", + "tags": ["activity"], + "operationId": "activity/set-thread-subscription", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/activity#set-a-thread-subscription" + }, + "parameters": [{ "$ref": "#/components/parameters/thread_id" }], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "ignored": { + "description": "Whether to block all notifications from a thread.", + "default": false, + "type": "boolean" + } + }, + "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/thread-subscription" + }, + "examples": { + "default": { + "$ref": "#/components/examples/thread-subscription" + } + } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "activity", + "subcategory": "notifications" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Delete a thread subscription", + "description": "Mutes all future notifications for a conversation until you comment on the thread or get an **@mention**. If you are watching the repository of the thread, you will still receive notifications. To ignore future notifications for a repository you are watching, use the [Set a thread subscription](https://docs.github.com/rest/reference/activity#set-a-thread-subscription) endpoint and set `ignore` to `true`.", + "tags": ["activity"], + "operationId": "activity/delete-thread-subscription", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/activity#delete-a-thread-subscription" + }, + "parameters": [{ "$ref": "#/components/parameters/thread_id" }], + "responses": { + "204": { "description": "Empty response" }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "activity", + "subcategory": "notifications" + }, + "x-octokit": {} + } + }, + "/octocat": { + "get": { + "summary": "Get Octocat", + "description": "Get the octocat as ASCII art", + "tags": ["meta"], + "operationId": "meta/get-octocat", + "parameters": [ + { + "name": "s", + "in": "query", + "description": "The words to show in Octocat's speech bubble", + "schema": { "type": "string" }, + "required": false + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/octocat-stream": { "schema": { "type": "string" } } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "meta" + }, + "x-octokit": {} + } + }, + "/organizations": { + "get": { + "summary": "List organizations", + "description": "Lists all organizations, in the order that they were created on GitHub.\n\n**Note:** Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of organizations.", + "tags": ["orgs"], + "operationId": "orgs/list", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/orgs/#list-organizations" + }, + "parameters": [ + { "$ref": "#/components/parameters/since-org" }, + { "$ref": "#/components/parameters/per_page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/organization-simple" + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/organization-simple-items" + } + } + } + }, + "headers": { + "Link": { + "example": "; rel=\"next\"", + "schema": { "type": "string" } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "orgs", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/orgs/{org}": { + "get": { + "summary": "Get an organization", + "description": "To see many of the organization response values, you need to be an authenticated organization owner with the `admin:org` scope. When the value of `two_factor_requirement_enabled` is `true`, the organization requires all members, billing managers, and outside collaborators to enable [two-factor authentication](https://help.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/).\n\nGitHub Apps with the `Organization plan` permission can use this endpoint to retrieve information about an organization's GitHub plan. See \"[Authenticating with GitHub Apps](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/)\" for details. For an example response, see 'Response with GitHub plan information' below.\"", + "tags": ["orgs"], + "operationId": "orgs/get", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/orgs/#get-an-organization" + }, + "parameters": [{ "$ref": "#/components/parameters/org" }], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/organization-full" }, + "examples": { + "default-response": { + "$ref": "#/components/examples/organization-full-default-response" + }, + "response-with-git-hub-plan-information": { + "$ref": "#/components/examples/organization-full-response-with-git-hub-plan-information" + } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": false, + "name": "surtur", + "note": "New repository creation permissions are available to preview. You can now use `members_can_create_public_repositories`, `members_can_create_private_repositories`, and `members_can_create_internal_repositories`. You can only allow members to create internal repositories if your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. These parameters provide more granular permissions to configure the type of repositories organization members can create.\n\nTo access these new parameters during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.surtur-preview+json\n```" + } + ], + "category": "orgs", + "subcategory": null + }, + "x-octokit": {} + }, + "patch": { + "summary": "Update an organization", + "description": "**Parameter Deprecation Notice:** GitHub will replace and discontinue `members_allowed_repository_creation_type` in favor of more granular permissions. The new input parameters are `members_can_create_public_repositories`, `members_can_create_private_repositories` for all organizations and `members_can_create_internal_repositories` for organizations associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes).\n\nEnables an authenticated organization owner with the `admin:org` scope to update the organization's profile and member privileges.", + "tags": ["orgs"], + "operationId": "orgs/update", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/orgs/#update-an-organization" + }, + "parameters": [{ "$ref": "#/components/parameters/org" }], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "billing_email": { + "type": "string", + "description": "Billing email address. This address is not publicized." + }, + "company": { + "type": "string", + "description": "The company name." + }, + "email": { + "type": "string", + "description": "The publicly visible email address." + }, + "twitter_username": { + "type": "string", + "description": "The Twitter username of the company." + }, + "location": { + "type": "string", + "description": "The location." + }, + "name": { + "type": "string", + "description": "The shorthand name of the company." + }, + "description": { + "type": "string", + "description": "The description of the company." + }, + "has_organization_projects": { + "type": "boolean", + "description": "Toggles whether an organization can use organization projects." + }, + "has_repository_projects": { + "type": "boolean", + "description": "Toggles whether repositories that belong to the organization can use repository projects." + }, + "default_repository_permission": { + "type": "string", + "description": "Default permission level members have for organization repositories: \n\\* `read` - can pull, but not push to or administer this repository. \n\\* `write` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push, and administer this repository. \n\\* `none` - no permissions granted by default.", + "enum": ["read", "write", "admin", "none"], + "default": "read" + }, + "members_can_create_repositories": { + "type": "boolean", + "description": "Toggles the ability of non-admin organization members to create repositories. Can be one of: \n\\* `true` - all organization members can create repositories. \n\\* `false` - only organization owners can create repositories. \nDefault: `true` \n**Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details. **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details.", + "default": true + }, + "members_can_create_internal_repositories": { + "type": "boolean", + "description": "Toggles whether organization members can create internal repositories, which are visible to all enterprise members. You can only allow members to create internal repositories if your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. Can be one of: \n\\* `true` - all organization members can create internal repositories. \n\\* `false` - only organization owners can create internal repositories. \nDefault: `true`. For more information, see \"[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)\" in the GitHub Help documentation." + }, + "members_can_create_private_repositories": { + "type": "boolean", + "description": "Toggles whether organization members can create private repositories, which are visible to organization members with permission. Can be one of: \n\\* `true` - all organization members can create private repositories. \n\\* `false` - only organization owners can create private repositories. \nDefault: `true`. For more information, see \"[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)\" in the GitHub Help documentation." + }, + "members_can_create_public_repositories": { + "type": "boolean", + "description": "Toggles whether organization members can create public repositories, which are visible to anyone. Can be one of: \n\\* `true` - all organization members can create public repositories. \n\\* `false` - only organization owners can create public repositories. \nDefault: `true`. For more information, see \"[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)\" in the GitHub Help documentation." + }, + "members_allowed_repository_creation_type": { + "type": "string", + "description": "Specifies which types of repositories non-admin organization members can create. Can be one of: \n\\* `all` - all organization members can create public and private repositories. \n\\* `private` - members can create private repositories. This option is only available to repositories that are part of an organization on GitHub Enterprise Cloud. \n\\* `none` - only admin members can create repositories. \n**Note:** This parameter is deprecated and will be removed in the future. Its return value ignores internal repositories. Using this parameter overrides values set in `members_can_create_repositories`. See the parameter deprecation notice in the operation description for details.", + "enum": ["all", "private", "none"] + }, + "members_can_create_pages": { + "type": "boolean", + "description": "Toggles whether organization members can create GitHub Pages sites. Can be one of: \n\\* `true` - all organization members can create GitHub Pages sites. \n\\* `false` - no organization members can create GitHub Pages sites. Existing published sites will not be impacted. \nDefault: `true`. " + }, + "blog": { + "type": "string", + "example": "\"http://github.blog\"" + } + } + }, + "example": { + "billing_email": "mona@github.com", + "company": "GitHub", + "email": "mona@github.com", + "twitter_username": "github", + "location": "San Francisco", + "name": "github", + "description": "GitHub, the company.", + "default_repository_permission": "read", + "members_can_create_repositories": true, + "members_allowed_repository_creation_type": "all" + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/organization-full" }, + "examples": { + "default": { + "$ref": "#/components/examples/organization-full" + } + } + } + } + }, + "409": { "$ref": "#/components/responses/conflict" }, + "415": { "$ref": "#/components/responses/preview_header_missing" }, + "422": { + "description": "Validation Failed", + "content": { + "application/json": { + "schema": { + "oneOf": [ + { "$ref": "#/components/schemas/validation-error" }, + { "$ref": "#/components/schemas/validation-error-simple" } + ] + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": false, + "name": "surtur", + "note": "New repository creation permissions are available to preview. You can now use `members_can_create_public_repositories`, `members_can_create_private_repositories`, and `members_can_create_internal_repositories`. You can only allow members to create internal repositories if your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. These parameters provide more granular permissions to configure the type of repositories organization members can create.\n\nTo access these new parameters during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.surtur-preview+json\n```" + } + ], + "category": "orgs", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/orgs/{org}/actions/permissions": { + "get": { + "summary": "Get GitHub Actions permissions for an organization", + "description": "Gets the GitHub Actions permissions policy for repositories and allowed actions in an organization.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.", + "operationId": "actions/get-github-actions-permissions-organization", + "tags": ["actions"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#get-github-actions-permissions-for-an-organization" + }, + "parameters": [{ "$ref": "#/components/parameters/org" }], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/actions-organization-permissions" + }, + "examples": { + "default": { + "$ref": "#/components/examples/actions-organization-permissions" + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [], + "category": "actions", + "subcategory": "permissions" + }, + "x-octokit": {} + }, + "put": { + "summary": "Set GitHub Actions permissions for an organization", + "description": "Sets the GitHub Actions permissions policy for repositories and allowed actions in an organization.\n\nIf the organization belongs to an enterprise that has set restrictive permissions at the enterprise level, such as `allowed_actions` to `selected` actions, then you cannot override them for the organization.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.", + "operationId": "actions/set-github-actions-permissions-organization", + "tags": ["actions"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#set-github-actions-permissions-for-an-organization" + }, + "parameters": [{ "$ref": "#/components/parameters/org" }], + "responses": { "204": { "description": "Empty response" } }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "enabled_repositories": { + "$ref": "#/components/schemas/enabled-repositories" + }, + "allowed_actions": { + "$ref": "#/components/schemas/allowed-actions" + } + }, + "required": ["enabled_repositories"] + }, + "example": { + "enabled_repositories": "all", + "allowed_actions": "selected" + } + } + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [], + "category": "actions", + "subcategory": "permissions" + }, + "x-octokit": {} + } + }, + "/orgs/{org}/actions/permissions/repositories": { + "get": { + "summary": "List selected repositories enabled for GitHub Actions in an organization", + "description": "Lists the selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization).\"\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.", + "operationId": "actions/list-selected-repositories-enabled-github-actions-organization", + "tags": ["actions"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#list-selected-repositories-enabled-for-github-actions-in-an-organization" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "total_count": { "type": "number" }, + "repositories": { + "type": "array", + "items": { "$ref": "#/components/schemas/repository" } + } + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/repository-paginated" + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [], + "category": "actions", + "subcategory": "permissions" + }, + "x-octokit": {} + }, + "put": { + "summary": "Set selected repositories enabled for GitHub Actions in an organization", + "description": "Replaces the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization).\"\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.", + "operationId": "actions/set-selected-repositories-enabled-github-actions-organization", + "tags": ["actions"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#set-selected-repositories-enabled-for-github-actions-in-an-organization" + }, + "parameters": [{ "$ref": "#/components/parameters/org" }], + "responses": { "204": { "description": "Empty response" } }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "selected_repository_ids": { + "description": "List of repository IDs to enable for GitHub Actions.", + "type": "array", + "items": { + "type": "integer", + "description": "Unique identifier of the repository." + } + } + }, + "required": ["selected_repository_ids"] + }, + "example": { "selected_repository_ids": [32, 42] } + } + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [], + "category": "actions", + "subcategory": "permissions" + }, + "x-octokit": {} + } + }, + "/orgs/{org}/actions/permissions/repositories/{repository_id}": { + "put": { + "summary": "Enable a selected repository for GitHub Actions in an organization", + "description": "Adds a repository to the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization).\"\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.", + "operationId": "actions/enable-selected-repository-github-actions-organization", + "tags": ["actions"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#enable-a-selected-repository-for-github-actions-in-an-organization" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/repository_id" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [], + "category": "actions", + "subcategory": "permissions" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Disable a selected repository for GitHub Actions in an organization", + "description": "Removes a repository from the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization).\"\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.", + "operationId": "actions/disable-selected-repository-github-actions-organization", + "tags": ["actions"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#disable-a-selected-repository-for-github-actions-in-an-organization" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/repository_id" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [], + "category": "actions", + "subcategory": "permissions" + }, + "x-octokit": {} + } + }, + "/orgs/{org}/actions/permissions/selected-actions": { + "get": { + "summary": "Get allowed actions for an organization", + "description": "Gets the selected actions that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization).\"\"\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.", + "operationId": "actions/get-allowed-actions-organization", + "tags": ["actions"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#get-allowed-actions-for-an-organization" + }, + "parameters": [{ "$ref": "#/components/parameters/org" }], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/selected-actions" }, + "examples": { + "default": { + "$ref": "#/components/examples/selected-actions" + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [], + "category": "actions", + "subcategory": "permissions" + }, + "x-octokit": {} + }, + "put": { + "summary": "Set allowed actions for an organization", + "description": "Sets the actions that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization).\"\n\nIf the organization belongs to an enterprise that has `selected` actions set at the enterprise level, then you cannot override any of the enterprise's allowed actions settings.\n\nTo use the `patterns_allowed` setting for private repositories, the organization must belong to an enterprise. If the organization does not belong to an enterprise, then the `patterns_allowed` setting only applies to public repositories in the organization.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.", + "operationId": "actions/set-allowed-actions-organization", + "tags": ["actions"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#set-allowed-actions-for-an-organization" + }, + "parameters": [{ "$ref": "#/components/parameters/org" }], + "responses": { "204": { "description": "Empty response" } }, + "requestBody": { + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/selected-actions" }, + "examples": { + "selected_actions": { + "$ref": "#/components/examples/selected-actions" + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [], + "category": "actions", + "subcategory": "permissions" + }, + "x-octokit": {} + } + }, + "/orgs/{org}/actions/runner-groups": { + "get": { + "summary": "List self-hosted runner groups for an organization", + "description": "The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n\nLists all self-hosted runner groups configured in an organization and inherited from an enterprise.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", + "operationId": "actions/list-self-hosted-runner-groups-for-org", + "tags": ["actions"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#list-self-hosted-runner-groups-for-an-organization" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "total_count": { "type": "number" }, + "runner_groups": { + "type": "array", + "items": { + "$ref": "#/components/schemas/runner-groups-org" + } + } + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/runner-groups-org" + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [], + "category": "actions", + "subcategory": "self-hosted-runner-groups" + }, + "x-octokit": {} + }, + "post": { + "summary": "Create a self-hosted runner group for an organization", + "description": "The self-hosted runner groups REST API is available with GitHub Enterprise Cloud and GitHub Enterprise Server. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n\nCreates a new self-hosted runner group for an organization.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", + "operationId": "actions/create-self-hosted-runner-group-for-org", + "tags": ["actions"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#create-a-self-hosted-runner-group-for-an-organization" + }, + "parameters": [{ "$ref": "#/components/parameters/org" }], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "description": "Name of the runner group.", + "type": "string" + }, + "visibility": { + "description": "Visibility of a runner group. You can select all repositories, select individual repositories, or limit access to private repositories. Can be one of: `all`, `selected`, or `private`.", + "type": "string", + "enum": ["selected", "all", "private"], + "default": "all" + }, + "selected_repository_ids": { + "description": "List of repository IDs that can access the runner group.", + "type": "array", + "items": { + "type": "integer", + "description": "Unique identifier of the repository." + } + }, + "runners": { + "description": "List of runner IDs to add to the runner group.", + "type": "array", + "items": { + "type": "integer", + "description": "Unique identifier of the runner." + } + } + }, + "required": ["name"] + }, + "example": { + "name": "Expensive hardware runners", + "visibility": "selected", + "selected_repository_ids": [32, 91], + "runners": [9, 2] + } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/runner-groups-org" }, + "examples": { + "default": { "$ref": "#/components/examples/runner-group" } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [], + "category": "actions", + "subcategory": "self-hosted-runner-groups" + }, + "x-octokit": {} + } + }, + "/orgs/{org}/actions/runner-groups/{runner_group_id}": { + "get": { + "summary": "Get a self-hosted runner group for an organization", + "description": "The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n\nGets a specific self-hosted runner group for an organization.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", + "operationId": "actions/get-self-hosted-runner-group-for-org", + "tags": ["actions"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#get-a-self-hosted-runner-group-for-an-organization" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/runner_group_id" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/runner-groups-org" }, + "examples": { + "default": { + "$ref": "#/components/examples/runner-group-item" + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [], + "category": "actions", + "subcategory": "self-hosted-runner-groups" + }, + "x-octokit": {} + }, + "patch": { + "summary": "Update a self-hosted runner group for an organization", + "description": "The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n\nUpdates the `name` and `visibility` of a self-hosted runner group in an organization.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", + "operationId": "actions/update-self-hosted-runner-group-for-org", + "tags": ["actions"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#update-a-self-hosted-runner-group-for-an-organization" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/runner_group_id" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "description": "Name of the runner group.", + "type": "string" + }, + "visibility": { + "description": "Visibility of a runner group. You can select all repositories, select individual repositories, or all private repositories. Can be one of: `all`, `selected`, or `private`.", + "type": "string", + "enum": ["selected", "all", "private"] + } + } + }, + "example": { + "name": "Expensive hardware runners", + "visibility": "selected" + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/runner-groups-org" }, + "examples": { + "default": { "$ref": "#/components/examples/runner-group" } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [], + "category": "actions", + "subcategory": "self-hosted-runner-groups" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Delete a self-hosted runner group from an organization", + "description": "The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n\nDeletes a self-hosted runner group for an organization.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", + "operationId": "actions/delete-self-hosted-runner-group-from-org", + "tags": ["actions"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#delete-a-self-hosted-runner-group-from-an-organization" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/runner_group_id" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [], + "category": "actions", + "subcategory": "self-hosted-runner-groups" + }, + "x-octokit": {} + } + }, + "/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories": { + "get": { + "summary": "List repository access to a self-hosted runner group in an organization", + "description": "The self-hosted runner groups REST API is available with GitHub Enterprise Cloud and GitHub Enterprise Server. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n\nLists the repositories with access to a self-hosted runner group configured in an organization.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", + "operationId": "actions/list-repo-access-to-self-hosted-runner-group-in-org", + "tags": ["actions"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#list-repository-access-to-a-self-hosted-runner-group-in-an-organization" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/runner_group_id" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "total_count": { "type": "number" }, + "repositories": { + "type": "array", + "items": { "$ref": "#/components/schemas/repository" } + } + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/repository-paginated" + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [], + "category": "actions", + "subcategory": "self-hosted-runner-groups" + }, + "x-octokit": {} + }, + "put": { + "summary": "Set repository access for a self-hosted runner group in an organization", + "description": "The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n\nReplaces the list of repositories that have access to a self-hosted runner group configured in an organization.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", + "operationId": "actions/set-repo-access-to-self-hosted-runner-group-in-org", + "tags": ["actions"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#set-repository-access-to-a-self-hosted-runner-group-in-an-organization" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/runner_group_id" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "selected_repository_ids": { + "description": "List of repository IDs that can access the runner group.", + "type": "array", + "items": { + "type": "integer", + "description": "Unique identifier of the repository." + } + } + }, + "required": ["selected_repository_ids"] + }, + "example": { "selected_repository_ids": [32, 91] } + } + } + }, + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [], + "category": "actions", + "subcategory": "self-hosted-runner-groups" + }, + "x-octokit": {} + } + }, + "/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}": { + "put": { + "summary": "Add repository access to a self-hosted runner group in an organization", + "description": "The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n\n\nAdds a repository to the list of selected repositories that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see \"[Create a self-hosted runner group for an organization](#create-a-self-hosted-runner-group-for-an-organization).\"\n\nYou must authenticate using an access token with the `admin:org`\nscope to use this endpoint.", + "operationId": "actions/add-repo-access-to-self-hosted-runner-group-in-org", + "tags": ["actions"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#add-repository-acess-to-a-self-hosted-runner-group-in-an-organization" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/runner_group_id" }, + { "$ref": "#/components/parameters/repository_id" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": true, + "previews": [], + "category": "actions", + "subcategory": "self-hosted-runner-groups" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Remove repository access to a self-hosted runner group in an organization", + "description": "The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n\n\nRemoves a repository from the list of selected repositories that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see \"[Create a self-hosted runner group for an organization](#create-a-self-hosted-runner-group-for-an-organization).\"\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", + "operationId": "actions/remove-repo-access-to-self-hosted-runner-group-in-org", + "tags": ["actions"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#remove-repository-access-to-a-self-hosted-runner-group-in-an-organization" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/runner_group_id" }, + { "$ref": "#/components/parameters/repository_id" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [], + "category": "actions", + "subcategory": "self-hosted-runner-groups" + }, + "x-octokit": {} + } + }, + "/orgs/{org}/actions/runner-groups/{runner_group_id}/runners": { + "get": { + "summary": "List self-hosted runners in a group for an organization", + "description": "The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n\nLists self-hosted runners that are in a specific organization group.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", + "operationId": "actions/list-self-hosted-runners-in-group-for-org", + "tags": ["actions"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#list-self-hosted-runners-in-a-group-for-an-organization" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/runner_group_id" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "total_count": { "type": "number" }, + "runners": { + "type": "array", + "items": { "$ref": "#/components/schemas/runner" } + } + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/runner-paginated" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [], + "category": "actions", + "subcategory": "self-hosted-runner-groups" + }, + "x-octokit": {} + }, + "put": { + "summary": "Set self-hosted runners in a group for an organization", + "description": "The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n\nReplaces the list of self-hosted runners that are part of an organization runner group.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", + "operationId": "actions/set-self-hosted-runners-in-group-for-org", + "tags": ["actions"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#set-self-hosted-runners-in-a-group-for-an-organization" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/runner_group_id" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "runners": { + "description": "List of runner IDs to add to the runner group.", + "type": "array", + "items": { + "type": "integer", + "description": "Unique identifier of the runner." + } + } + }, + "required": ["runners"] + }, + "example": { "runners": [9, 2] } + } + } + }, + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [], + "category": "actions", + "subcategory": "self-hosted-runner-groups" + }, + "x-octokit": {} + } + }, + "/orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id}": { + "put": { + "summary": "Add a self-hosted runner to a group for an organization", + "description": "The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n\n\nAdds a self-hosted runner to a runner group configured in an organization.\n\nYou must authenticate using an access token with the `admin:org`\nscope to use this endpoint.", + "operationId": "actions/add-self-hosted-runner-to-group-for-org", + "tags": ["actions"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#add-a-self-hosted-runner-to-a-group-for-an-organization" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/runner_group_id" }, + { "$ref": "#/components/parameters/runner_id" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [], + "category": "actions", + "subcategory": "self-hosted-runner-groups" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Remove a self-hosted runner from a group for an organization", + "description": "The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n\n\nRemoves a self-hosted runner from a group configured in an organization. The runner is then returned to the default group.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", + "operationId": "actions/remove-self-hosted-runner-from-group-for-org", + "tags": ["actions"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#remove-a-self-hosted-runner-from-a-group-for-an-organization" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/runner_group_id" }, + { "$ref": "#/components/parameters/runner_id" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [], + "category": "actions", + "subcategory": "self-hosted-runner-groups" + }, + "x-octokit": {} + } + }, + "/orgs/{org}/actions/runners": { + "get": { + "summary": "List self-hosted runners for an organization", + "description": "Lists all self-hosted runners configured in an organization.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", + "tags": ["actions"], + "operationId": "actions/list-self-hosted-runners-for-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#list-self-hosted-runners-for-an-organization" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "total_count": { "type": "integer" }, + "runners": { + "type": "array", + "items": { "$ref": "#/components/schemas/runner" } + } + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/runner-paginated" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "self-hosted-runners" + }, + "x-octokit": {} + } + }, + "/orgs/{org}/actions/runners/downloads": { + "get": { + "summary": "List runner applications for an organization", + "description": "Lists binaries for the runner application that you can download and run.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", + "tags": ["actions"], + "operationId": "actions/list-runner-applications-for-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#list-runner-applications-for-an-organization" + }, + "parameters": [{ "$ref": "#/components/parameters/org" }], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/runner-application" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/runner-application-items" + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "self-hosted-runners" + }, + "x-octokit": {} + } + }, + "/orgs/{org}/actions/runners/registration-token": { + "post": { + "summary": "Create a registration token for an organization", + "description": "Returns a token that you can pass to the `config` script. The token expires after one hour.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.\n\n#### Example using registration token\n\nConfigure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint.\n\n```\n./config.sh --url https://github.com/octo-org --token TOKEN\n```", + "tags": ["actions"], + "operationId": "actions/create-registration-token-for-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#create-a-registration-token-for-an-organization" + }, + "parameters": [{ "$ref": "#/components/parameters/org" }], + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/authentication-token" + }, + "examples": { + "default": { + "$ref": "#/components/examples/authentication-token" + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "self-hosted-runners" + }, + "x-octokit": {} + } + }, + "/orgs/{org}/actions/runners/remove-token": { + "post": { + "summary": "Create a remove token for an organization", + "description": "Returns a token that you can pass to the `config` script to remove a self-hosted runner from an organization. The token expires after one hour.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.\n\n#### Example using remove token\n\nTo remove your self-hosted runner from an organization, replace `TOKEN` with the remove token provided by this\nendpoint.\n\n```\n./config.sh remove --token TOKEN\n```", + "tags": ["actions"], + "operationId": "actions/create-remove-token-for-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#create-a-remove-token-for-an-organization" + }, + "parameters": [{ "$ref": "#/components/parameters/org" }], + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/authentication-token" + }, + "examples": { + "default": { + "$ref": "#/components/examples/authentication-token-2" + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "self-hosted-runners" + }, + "x-octokit": {} + } + }, + "/orgs/{org}/actions/runners/{runner_id}": { + "get": { + "summary": "Get a self-hosted runner for an organization", + "description": "Gets a specific self-hosted runner configured in an organization.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", + "tags": ["actions"], + "operationId": "actions/get-self-hosted-runner-for-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#get-a-self-hosted-runner-for-an-organization" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/runner_id" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/runner" }, + "examples": { + "default": { "$ref": "#/components/examples/runner" } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "self-hosted-runners" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Delete a self-hosted runner from an organization", + "description": "Forces the removal of a self-hosted runner from an organization. You can use this endpoint to completely remove the runner when the machine you were using no longer exists.\n\nYou must authenticate using an access token with the `admin:org` scope to use this endpoint.", + "tags": ["actions"], + "operationId": "actions/delete-self-hosted-runner-from-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#delete-a-self-hosted-runner-from-an-organization" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/runner_id" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "self-hosted-runners" + }, + "x-octokit": {} + } + }, + "/orgs/{org}/actions/secrets": { + "get": { + "summary": "List organization secrets", + "description": "Lists all secrets available in an organization without revealing their encrypted values. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.", + "tags": ["actions"], + "operationId": "actions/list-org-secrets", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#list-organization-secrets" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "total_count": { "type": "integer" }, + "secrets": { + "type": "array", + "items": { + "$ref": "#/components/schemas/organization-actions-secret" + } + } + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/organization-actions-secret-paginated" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "secrets" + }, + "x-octokit": {} + } + }, + "/orgs/{org}/actions/secrets/public-key": { + "get": { + "summary": "Get an organization public key", + "description": "Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.", + "tags": ["actions"], + "operationId": "actions/get-org-public-key", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#get-an-organization-public-key" + }, + "parameters": [{ "$ref": "#/components/parameters/org" }], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/actions-public-key" }, + "examples": { + "default": { + "$ref": "#/components/examples/actions-public-key" + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "secrets" + }, + "x-octokit": {} + } + }, + "/orgs/{org}/actions/secrets/{secret_name}": { + "get": { + "summary": "Get an organization secret", + "description": "Gets a single organization secret without revealing its encrypted value. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.", + "tags": ["actions"], + "operationId": "actions/get-org-secret", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#get-an-organization-secret" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/secret_name" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/organization-actions-secret" + }, + "examples": { + "default": { + "$ref": "#/components/examples/organization-actions-secret" + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "secrets" + }, + "x-octokit": {} + }, + "put": { + "summary": "Create or update an organization secret", + "description": "Creates or updates an organization secret with an encrypted value. Encrypt your secret using\n[LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access\ntoken with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to\nuse this endpoint.\n\n#### Example encrypting a secret using Node.js\n\nEncrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library.\n\n```\nconst sodium = require('tweetsodium');\n\nconst key = \"base64-encoded-public-key\";\nconst value = \"plain-text-secret\";\n\n// Convert the message and key to Uint8Array's (Buffer implements that interface)\nconst messageBytes = Buffer.from(value);\nconst keyBytes = Buffer.from(key, 'base64');\n\n// Encrypt using LibSodium.\nconst encryptedBytes = sodium.seal(messageBytes, keyBytes);\n\n// Base64 the encrypted secret\nconst encrypted = Buffer.from(encryptedBytes).toString('base64');\n\nconsole.log(encrypted);\n```\n\n\n#### Example encrypting a secret using Python\n\nEncrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/stable/public/#nacl-public-sealedbox) with Python 3.\n\n```\nfrom base64 import b64encode\nfrom nacl import encoding, public\n\ndef encrypt(public_key: str, secret_value: str) -> str:\n \"\"\"Encrypt a Unicode string using the public key.\"\"\"\n public_key = public.PublicKey(public_key.encode(\"utf-8\"), encoding.Base64Encoder())\n sealed_box = public.SealedBox(public_key)\n encrypted = sealed_box.encrypt(secret_value.encode(\"utf-8\"))\n return b64encode(encrypted).decode(\"utf-8\")\n```\n\n#### Example encrypting a secret using C#\n\nEncrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package.\n\n```\nvar secretValue = System.Text.Encoding.UTF8.GetBytes(\"mySecret\");\nvar publicKey = Convert.FromBase64String(\"2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU=\");\n\nvar sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey);\n\nConsole.WriteLine(Convert.ToBase64String(sealedPublicKeyBox));\n```\n\n#### Example encrypting a secret using Ruby\n\nEncrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem.\n\n```ruby\nrequire \"rbnacl\"\nrequire \"base64\"\n\nkey = Base64.decode64(\"+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=\")\npublic_key = RbNaCl::PublicKey.new(key)\n\nbox = RbNaCl::Boxes::Sealed.from_public_key(public_key)\nencrypted_secret = box.encrypt(\"my_secret\")\n\n# Print the base64 encoded secret\nputs Base64.strict_encode64(encrypted_secret)\n```", + "tags": ["actions"], + "operationId": "actions/create-or-update-org-secret", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/secret_name" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "encrypted_value": { + "type": "string", + "description": "Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an organization public key](https://docs.github.com/rest/reference/actions#get-an-organization-public-key) endpoint." + }, + "key_id": { + "type": "string", + "description": "ID of the key you used to encrypt the secret." + }, + "visibility": { + "type": "string", + "description": "Configures the access that repositories have to the organization secret. Can be one of: \n\\- `all` - All repositories in an organization can access the secret. \n\\- `private` - Private repositories in an organization can access the secret. \n\\- `selected` - Only specific repositories can access the secret.", + "enum": ["all", "private", "selected"] + }, + "selected_repository_ids": { + "type": "array", + "description": "An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can manage the list of selected repositories using the [List selected repositories for an organization secret](https://docs.github.com/rest/reference/actions#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/rest/reference/actions#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/rest/reference/actions#remove-selected-repository-from-an-organization-secret) endpoints.", + "items": { "type": "string" } + } + } + }, + "example": { + "encrypted_value": "****************************************************************************************", + "key_id": "012345678912345678", + "visibility": "selected", + "selected_repository_ids": ["1296269", "1296280"] + } + } + } + }, + "responses": { + "201": { "description": "Response when creating a secret" }, + "204": { "description": "Response when updating a secret" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "secrets" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Delete an organization secret", + "description": "Deletes a secret in an organization using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.", + "tags": ["actions"], + "operationId": "actions/delete-org-secret", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#delete-an-organization-secret" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/secret_name" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "secrets" + }, + "x-octokit": {} + } + }, + "/orgs/{org}/actions/secrets/{secret_name}/repositories": { + "get": { + "summary": "List selected repositories for an organization secret", + "description": "Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.", + "tags": ["actions"], + "operationId": "actions/list-selected-repos-for-org-secret", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#list-selected-repositories-for-an-organization-secret" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/secret_name" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "total_count": { "type": "integer" }, + "repositories": { + "type": "array", + "items": { + "$ref": "#/components/schemas/minimal-repository" + } + } + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/public-repository-paginated" + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "secrets" + }, + "x-octokit": {} + }, + "put": { + "summary": "Set selected repositories for an organization secret", + "description": "Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.", + "tags": ["actions"], + "operationId": "actions/set-selected-repos-for-org-secret", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#set-selected-repositories-for-an-organization-secret" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/secret_name" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "selected_repository_ids": { + "type": "array", + "description": "An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can add and remove individual repositories using the [Set selected repositories for an organization secret](https://docs.github.com/rest/reference/actions#set-selected-repositories-for-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/rest/reference/actions#remove-selected-repository-from-an-organization-secret) endpoints.", + "items": { "type": "integer" } + } + } + }, + "example": { "selected_repository_ids": [64780797] } + } + } + }, + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "secrets" + }, + "x-octokit": {} + } + }, + "/orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}": { + "put": { + "summary": "Add selected repository to an organization secret", + "description": "Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.", + "tags": ["actions"], + "operationId": "actions/add-selected-repo-to-org-secret", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#add-selected-repository-to-an-organization-secret" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/secret_name" }, + { + "name": "repository_id", + "in": "path", + "required": true, + "schema": { "type": "integer" } + } + ], + "responses": { + "204": { + "description": "Response when repository was added to the selected list" + }, + "409": { + "description": "Response when visibility type is not set to selected" + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "secrets" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Remove selected repository from an organization secret", + "description": "Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.", + "tags": ["actions"], + "operationId": "actions/remove-selected-repo-from-org-secret", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#remove-selected-repository-from-an-organization-secret" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/secret_name" }, + { + "name": "repository_id", + "in": "path", + "required": true, + "schema": { "type": "integer" } + } + ], + "responses": { + "204": { + "description": "Response when repository was removed from the selected list" + }, + "409": { + "description": "Response when visibility type not set to selected" + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "secrets" + }, + "x-octokit": {} + } + }, + "/orgs/{org}/blocks": { + "get": { + "summary": "List users blocked by an organization", + "description": "List the users blocked by an organization.", + "tags": ["orgs"], + "operationId": "orgs/list-blocked-users", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/orgs#list-users-blocked-by-an-organization" + }, + "parameters": [{ "$ref": "#/components/parameters/org" }], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/simple-user" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/simple-user-items" + } + } + } + } + }, + "415": { "$ref": "#/components/responses/preview_header_missing" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "orgs", + "subcategory": "blocking" + }, + "x-octokit": {} + } + }, + "/orgs/{org}/blocks/{username}": { + "get": { + "summary": "Check if a user is blocked by an organization", + "description": "", + "tags": ["orgs"], + "operationId": "orgs/check-blocked-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/orgs#check-if-a-user-is-blocked-by-an-organization" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/username" } + ], + "responses": { + "204": { "description": "If the user is blocked:" }, + "404": { + "description": "If the user is not blocked:", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/basic-error" } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "orgs", + "subcategory": "blocking" + }, + "x-octokit": {} + }, + "put": { + "summary": "Block a user from an organization", + "description": "", + "tags": ["orgs"], + "operationId": "orgs/block-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/orgs#block-a-user-from-an-organization" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/username" } + ], + "responses": { + "204": { "description": "Empty response" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "orgs", + "subcategory": "blocking" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Unblock a user from an organization", + "description": "", + "tags": ["orgs"], + "operationId": "orgs/unblock-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/orgs#unblock-a-user-from-an-organization" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/username" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "orgs", + "subcategory": "blocking" + }, + "x-octokit": {} + } + }, + "/orgs/{org}/credential-authorizations": { + "get": { + "summary": "List SAML SSO authorizations for an organization", + "description": "Listing and deleting credential authorizations is available to organizations with GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products).\n\nAn authenticated organization owner with the `read:org` scope can list all credential authorizations for an organization that uses SAML single sign-on (SSO). The credentials are either personal access tokens or SSH keys that organization members have authorized for the organization. For more information, see [About authentication with SAML single sign-on](https://help.github.com/en/articles/about-authentication-with-saml-single-sign-on).", + "tags": ["orgs"], + "operationId": "orgs/list-saml-sso-authorizations", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/orgs/#list-saml-sso-authorizations-for-an-organization" + }, + "parameters": [{ "$ref": "#/components/parameters/org" }], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/credential-authorization" + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/credential-authorization-items" + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": true, + "enabledForGitHubApps": true, + "previews": [], + "category": "orgs", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/orgs/{org}/credential-authorizations/{credential_id}": { + "delete": { + "summary": "Remove a SAML SSO authorization for an organization", + "description": "Listing and deleting credential authorizations is available to organizations with GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products).\n\nAn authenticated organization owner with the `admin:org` scope can remove a credential authorization for an organization that uses SAML SSO. Once you remove someone's credential authorization, they will need to create a new personal access token or SSH key and authorize it for the organization they want to access.", + "tags": ["orgs"], + "operationId": "orgs/remove-saml-sso-authorization", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/orgs/#remove-a-saml-sso-authorization-for-an-organization" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { + "name": "credential_id", + "in": "path", + "required": true, + "schema": { "type": "integer" } + } + ], + "responses": { + "204": { "description": "Empty response" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": true, + "enabledForGitHubApps": true, + "previews": [], + "category": "orgs", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/orgs/{org}/events": { + "get": { + "summary": "List public organization events", + "description": "", + "tags": ["activity"], + "operationId": "activity/list-public-org-events", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/activity#list-public-organization-events" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/event" } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "activity", + "subcategory": "events" + }, + "x-octokit": {} + } + }, + "/orgs/{org}/hooks": { + "get": { + "summary": "List organization webhooks", + "description": "", + "tags": ["orgs"], + "operationId": "orgs/list-webhooks", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/orgs#list-organization-webhooks" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/org-hook" } + }, + "examples": { + "default": { "$ref": "#/components/examples/org-hook-items" } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "orgs", + "subcategory": "webhooks" + }, + "x-octokit": {} + }, + "post": { + "summary": "Create an organization webhook", + "description": "Here's how you can create a hook that posts payloads in JSON format:", + "tags": ["orgs"], + "operationId": "orgs/create-webhook", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/orgs#create-an-organization-webhook" + }, + "parameters": [{ "$ref": "#/components/parameters/org" }], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Must be passed as \"web\"." + }, + "config": { + "type": "object", + "description": "Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/rest/reference/orgs#create-hook-config-params).", + "properties": { + "url": { + "$ref": "#/components/schemas/webhook-config-url" + }, + "content_type": { + "$ref": "#/components/schemas/webhook-config-content-type" + }, + "secret": { + "$ref": "#/components/schemas/webhook-config-secret" + }, + "insecure_ssl": { + "$ref": "#/components/schemas/webhook-config-insecure-ssl" + }, + "username": { + "type": "string", + "example": "\"kdaigle\"" + }, + "password": { + "type": "string", + "example": "\"password\"" + } + }, + "required": ["url"] + }, + "events": { + "type": "array", + "description": "Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for.", + "default": ["push"], + "items": { "type": "string" } + }, + "active": { + "type": "boolean", + "description": "Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications.", + "default": true + } + }, + "required": ["name", "config"] + }, + "example": { + "name": "web", + "active": true, + "events": ["push", "pull_request"], + "config": { + "url": "http://example.com/webhook", + "content_type": "json" + } + } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/org-hook" }, + "examples": { + "default": { "$ref": "#/components/examples/org-hook" } + } + } + }, + "headers": { + "Location": { + "example": "https://api.github.com/orgs/octocat/hooks/1", + "schema": { "type": "string" } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "orgs", + "subcategory": "webhooks" + }, + "x-octokit": {} + } + }, + "/orgs/{org}/hooks/{hook_id}": { + "get": { + "summary": "Get an organization webhook", + "description": "Returns a webhook configured in an organization. To get only the webhook `config` properties, see \"[Get a webhook configuration for an organization](/rest/reference/orgs#get-a-webhook-configuration-for-an-organization).\"", + "tags": ["orgs"], + "operationId": "orgs/get-webhook", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/orgs#get-an-organization-webhook" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/hook-id" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/org-hook" }, + "examples": { + "default": { "$ref": "#/components/examples/org-hook" } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "orgs", + "subcategory": "webhooks" + }, + "x-octokit": {} + }, + "patch": { + "summary": "Update an organization webhook", + "description": "Updates a webhook configured in an organization. When you update a webhook, the `secret` will be overwritten. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use \"[Update a webhook configuration for an organization](/rest/reference/orgs#update-a-webhook-configuration-for-an-organization).\"", + "tags": ["orgs"], + "operationId": "orgs/update-webhook", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/orgs#update-an-organization-webhook" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/hook-id" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "config": { + "type": "object", + "description": "Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/rest/reference/orgs#update-hook-config-params).", + "properties": { + "url": { + "$ref": "#/components/schemas/webhook-config-url" + }, + "content_type": { + "$ref": "#/components/schemas/webhook-config-content-type" + }, + "secret": { + "$ref": "#/components/schemas/webhook-config-secret" + }, + "insecure_ssl": { + "$ref": "#/components/schemas/webhook-config-insecure-ssl" + } + }, + "required": ["url"] + }, + "events": { + "type": "array", + "description": "Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for.", + "default": ["push"], + "items": { "type": "string" } + }, + "active": { + "type": "boolean", + "description": "Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications.", + "default": true + }, + "name": { "type": "string", "example": "\"web\"" } + } + }, + "example": { "active": true, "events": ["pull_request"] } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/org-hook" }, + "examples": { + "default": { "$ref": "#/components/examples/org-hook-2" } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "orgs", + "subcategory": "webhooks" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Delete an organization webhook", + "description": "", + "tags": ["orgs"], + "operationId": "orgs/delete-webhook", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/orgs#delete-an-organization-webhook" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/hook-id" } + ], + "responses": { + "204": { "description": "Empty response" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "orgs", + "subcategory": "webhooks" + }, + "x-octokit": {} + } + }, + "/orgs/{org}/hooks/{hook_id}/config": { + "get": { + "summary": "Get a webhook configuration for an organization", + "description": "Returns the webhook configuration for an organization. To get more information about the webhook, including the `active` state and `events`, use \"[Get an organization webhook ](/rest/reference/orgs#get-an-organization-webhook).\"\n\nAccess tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:read` permission.", + "tags": ["orgs"], + "operationId": "orgs/get-webhook-config-for-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/orgs#get-a-webhook-configuration-for-an-organization" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/hook-id" } + ], + "responses": { + "200": { + "description": "Default response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/webhook-config" }, + "examples": { + "default": { "$ref": "#/components/examples/webhook-config" } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "orgs", + "subcategory": "webhooks" + }, + "x-octokit": {} + }, + "patch": { + "summary": "Update a webhook configuration for an organization", + "description": "Updates the webhook configuration for an organization. To update more information about the webhook, including the `active` state and `events`, use \"[Update an organization webhook ](/rest/reference/orgs#update-an-organization-webhook).\"\n\nAccess tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:write` permission.", + "tags": ["orgs"], + "operationId": "orgs/update-webhook-config-for-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/orgs#update-a-webhook-configuration-for-an-organization" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/hook-id" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "url": { "$ref": "#/components/schemas/webhook-config-url" }, + "content_type": { + "$ref": "#/components/schemas/webhook-config-content-type" + }, + "secret": { + "$ref": "#/components/schemas/webhook-config-secret" + }, + "insecure_ssl": { + "$ref": "#/components/schemas/webhook-config-insecure-ssl" + } + }, + "example": { + "content_type": "json", + "insecure_ssl": "0", + "secret": "********", + "url": "https://example.com/webhook" + } + } + } + } + }, + "responses": { + "200": { + "description": "Default response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/webhook-config" }, + "examples": { + "default": { "$ref": "#/components/examples/webhook-config" } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "orgs", + "subcategory": "webhooks" + }, + "x-octokit": {} + } + }, + "/orgs/{org}/hooks/{hook_id}/pings": { + "post": { + "summary": "Ping an organization webhook", + "description": "This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook.", + "tags": ["orgs"], + "operationId": "orgs/ping-webhook", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/orgs#ping-an-organization-webhook" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/hook-id" } + ], + "responses": { + "204": { "description": "Empty response" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "orgs", + "subcategory": "webhooks" + }, + "x-octokit": {} + } + }, + "/orgs/{org}/installation": { + "get": { + "summary": "Get an organization installation for the authenticated app", + "description": "Enables an authenticated GitHub App to find the organization's installation information.\n\nYou must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.", + "tags": ["apps"], + "operationId": "apps/get-org-installation", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/apps/#get-an-organization-installation-for-the-authenticated-app" + }, + "parameters": [{ "$ref": "#/components/parameters/org" }], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/installation" }, + "examples": { + "default": { "$ref": "#/components/examples/installation" } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "apps", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/orgs/{org}/installations": { + "get": { + "summary": "List app installations for an organization", + "description": "Lists all GitHub Apps in an organization. The installation count includes all GitHub Apps installed on repositories in the organization. You must be an organization owner with `admin:read` scope to use this endpoint.", + "tags": ["orgs"], + "operationId": "orgs/list-app-installations", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/orgs/#list-app-installations-for-an-organization" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "total_count": { "type": "integer" }, + "installations": { + "type": "array", + "items": { "$ref": "#/components/schemas/installation" } + } + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/installation-paginated" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "orgs", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/orgs/{org}/interaction-limits": { + "get": { + "summary": "Get interaction restrictions for an organization", + "description": "Shows which type of GitHub user can interact with this organization and when the restriction expires. If there is no restrictions, you will see an empty response.", + "tags": ["interactions"], + "operationId": "interactions/get-restrictions-for-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/interactions#get-interaction-restrictions-for-an-organization" + }, + "parameters": [{ "$ref": "#/components/parameters/org" }], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/interaction-limit-response" + }, + "examples": { + "default": { + "$ref": "#/components/examples/interaction-limit-response" + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "interactions", + "subcategory": "orgs" + }, + "x-octokit": {} + }, + "put": { + "summary": "Set interaction restrictions for an organization", + "description": "Temporarily restricts interactions to a certain type of GitHub user in any public repository in the given organization. You must be an organization owner to set these restrictions. Setting the interaction limit at the organization level will overwrite any interaction limits that are set for individual repositories owned by the organization.", + "tags": ["interactions"], + "operationId": "interactions/set-restrictions-for-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/interactions#set-interaction-restrictions-for-an-organization" + }, + "parameters": [{ "$ref": "#/components/parameters/org" }], + "requestBody": { + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/interaction-limit" } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/interaction-limit-response" + }, + "examples": { + "default": { + "$ref": "#/components/examples/interaction-limit-response" + } + } + } + } + }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "interactions", + "subcategory": "orgs" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Remove interaction restrictions for an organization", + "description": "Removes all interaction restrictions from public repositories in the given organization. You must be an organization owner to remove restrictions.", + "tags": ["interactions"], + "operationId": "interactions/remove-restrictions-for-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/interactions#remove-interaction-restrictions-for-an-organization" + }, + "parameters": [{ "$ref": "#/components/parameters/org" }], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "interactions", + "subcategory": "orgs" + }, + "x-octokit": {} + } + }, + "/orgs/{org}/invitations": { + "get": { + "summary": "List pending organization invitations", + "description": "The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`.", + "tags": ["orgs"], + "operationId": "orgs/list-pending-invitations", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/orgs#list-pending-organization-invitations" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/organization-invitation" + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/organization-invitation-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "orgs", + "subcategory": "members" + }, + "x-octokit": {} + }, + "post": { + "summary": "Create an organization invitation", + "description": "Invite people to an organization by using their GitHub user ID or their email address. In order to create invitations in an organization, the authenticated user must be an organization owner.\n\nThis endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)\" for details.", + "tags": ["orgs"], + "operationId": "orgs/create-invitation", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/orgs#create-an-organization-invitation" + }, + "parameters": [{ "$ref": "#/components/parameters/org" }], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "invitee_id": { + "type": "integer", + "description": "**Required unless you provide `email`**. GitHub user ID for the person you are inviting." + }, + "email": { + "type": "string", + "description": "**Required unless you provide `invitee_id`**. Email address of the person you are inviting, which can be an existing GitHub user." + }, + "role": { + "type": "string", + "description": "Specify role for new member. Can be one of: \n\\* `admin` - Organization owners with full administrative rights to the organization and complete access to all repositories and teams. \n\\* `direct_member` - Non-owner organization members with ability to see other members and join teams by invitation. \n\\* `billing_manager` - Non-owner organization members with ability to manage the billing settings of your organization.", + "enum": ["admin", "direct_member", "billing_manager"], + "default": "direct_member" + }, + "team_ids": { + "type": "array", + "description": "Specify IDs for the teams you want to invite new members to.", + "items": { "type": "integer" } + } + } + }, + "example": { + "email": "octocat@github.com", + "role": "direct_member", + "team_ids": [12, 26] + } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/organization-invitation" + }, + "examples": { + "default": { + "$ref": "#/components/examples/organization-invitation" + } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "triggersNotification": true, + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "orgs", + "subcategory": "members" + }, + "x-octokit": {} + } + }, + "/orgs/{org}/invitations/{invitation_id}/teams": { + "get": { + "summary": "List organization invitation teams", + "description": "List all teams associated with an invitation. In order to see invitations in an organization, the authenticated user must be an organization owner.", + "tags": ["orgs"], + "operationId": "orgs/list-invitation-teams", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/orgs#list-organization-invitation-teams" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/invitation_id" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/team" } + }, + "examples": { + "default": { "$ref": "#/components/examples/team-items" } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "orgs", + "subcategory": "members" + }, + "x-octokit": {} + } + }, + "/orgs/{org}/issues": { + "get": { + "summary": "List organization issues assigned to the authenticated user", + "description": "List issues in an organization assigned to the authenticated user.\n\n**Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this\nreason, \"Issues\" endpoints may return both issues and pull requests in the response. You can identify pull requests by\nthe `pull_request` key. Be aware that the `id` of a pull request returned from \"Issues\" endpoints will be an _issue id_. To find out the pull\nrequest id, use the \"[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)\" endpoint.", + "tags": ["issues"], + "operationId": "issues/list-for-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/issues/#list-organization-issues-assigned-to-the-authenticated-user" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { + "name": "filter", + "description": "Indicates which sorts of issues to return. Can be one of: \n\\* `assigned`: Issues assigned to you \n\\* `created`: Issues created by you \n\\* `mentioned`: Issues mentioning you \n\\* `subscribed`: Issues you're subscribed to updates for \n\\* `all`: All issues the authenticated user can see, regardless of participation or creation", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["assigned", "created", "mentioned", "subscribed", "all"], + "default": "assigned" + } + }, + { + "name": "state", + "description": "Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["open", "closed", "all"], + "default": "open" + } + }, + { "$ref": "#/components/parameters/labels" }, + { + "name": "sort", + "description": "What to sort results by. Can be either `created`, `updated`, `comments`.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["created", "updated", "comments"], + "default": "created" + } + }, + { "$ref": "#/components/parameters/direction" }, + { "$ref": "#/components/parameters/since" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/issue" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/issue-with-repo-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [ + { + "required": false, + "name": "squirrel-girl", + "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." + } + ], + "category": "issues", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/orgs/{org}/members": { + "get": { + "summary": "List organization members", + "description": "List all users who are members of an organization. If the authenticated user is also a member of this organization then both concealed and public members will be returned.", + "tags": ["orgs"], + "operationId": "orgs/list-members", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/orgs#list-organization-members" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { + "name": "filter", + "description": "Filter members returned in the list. Can be one of: \n\\* `2fa_disabled` - Members without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled. Available for organization owners. \n\\* `all` - All members the authenticated user can see.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["2fa_disabled", "all"], + "default": "all" + } + }, + { + "name": "role", + "description": "Filter members returned by their role. Can be one of: \n\\* `all` - All members of the organization, regardless of role. \n\\* `admin` - Organization owners. \n\\* `member` - Non-owner organization members.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["all", "admin", "member"], + "default": "all" + } + }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/simple-user" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/simple-user-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "302": { + "description": "Response if requester is not an organization member", + "headers": { + "Location": { + "example": "https://api.github.com/orgs/github/public_members", + "schema": { "type": "string" } + } + } + }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "orgs", + "subcategory": "members" + }, + "x-octokit": {} + } + }, + "/orgs/{org}/members/{username}": { + "get": { + "summary": "Check organization membership for a user", + "description": "Check if a user is, publicly or privately, a member of the organization.", + "tags": ["orgs"], + "operationId": "orgs/check-membership-for-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/orgs#check-organization-membership-for-a-user" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/username" } + ], + "responses": { + "204": { + "description": "Response if requester is an organization member and user is a member" + }, + "302": { + "description": "Response if requester is not an organization member", + "headers": { + "Location": { + "example": "https://api.github.com/orgs/github/public_members/pezra", + "schema": { "type": "string" } + } + } + }, + "404": { + "description": "Response if requester is an organization member and user is not a member" + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "orgs", + "subcategory": "members" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Remove an organization member", + "description": "Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories.", + "tags": ["orgs"], + "operationId": "orgs/remove-member", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/orgs#remove-an-organization-member" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/username" } + ], + "responses": { + "204": { "description": "Empty response" }, + "403": { "$ref": "#/components/responses/forbidden" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "orgs", + "subcategory": "members" + }, + "x-octokit": {} + } + }, + "/orgs/{org}/memberships/{username}": { + "get": { + "summary": "Get organization membership for a user", + "description": "In order to get a user's membership with an organization, the authenticated user must be an organization member.", + "tags": ["orgs"], + "operationId": "orgs/get-membership-for-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/orgs#get-organization-membership-for-a-user" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/username" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/org-membership" }, + "examples": { + "response-if-user-has-an-active-admin-membership-with-organization": { + "$ref": "#/components/examples/org-membership-response-if-user-has-an-active-admin-membership-with-organization" + }, + "response-if-user-has-an-active-membership-with-organization": { + "$ref": "#/components/examples/org-membership-response-if-user-has-an-active-membership-with-organization" + }, + "response-if-user-has-a-pending-membership-with-organization": { + "$ref": "#/components/examples/org-membership-response-if-user-has-a-pending-membership-with-organization" + } + } + } + } + }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "orgs", + "subcategory": "members" + }, + "x-octokit": {} + }, + "put": { + "summary": "Set organization membership for a user", + "description": "Only authenticated organization owners can add a member to the organization or update the member's role.\n\n* If the authenticated user is _adding_ a member to the organization, the invited user will receive an email inviting them to the organization. The user's [membership status](https://docs.github.com/rest/reference/orgs#get-organization-membership-for-a-user) will be `pending` until they accept the invitation.\n \n* Authenticated users can _update_ a user's membership by passing the `role` parameter. If the authenticated user changes a member's role to `admin`, the affected user will receive an email notifying them that they've been made an organization owner. If the authenticated user changes an owner's role to `member`, no email will be sent.\n\n**Rate limits**\n\nTo prevent abuse, the authenticated user is limited to 50 organization invitations per 24 hour period. If the organization is more than one month old or on a paid plan, the limit is 500 invitations per 24 hour period.", + "tags": ["orgs"], + "operationId": "orgs/set-membership-for-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/orgs#set-organization-membership-for-a-user" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/username" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "role": { + "type": "string", + "description": "The role to give the user in the organization. Can be one of: \n\\* `admin` - The user will become an owner of the organization. \n\\* `member` - The user will become a non-owner member of the organization.", + "enum": ["admin", "member"], + "default": "member" + } + } + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/org-membership" }, + "examples": { + "response-if-user-was-previously-unaffiliated-with-organization": { + "$ref": "#/components/examples/org-membership-response-if-user-was-previously-unaffiliated-with-organization" + }, + "response-if-user-already-had-membership-with-organization": { + "$ref": "#/components/examples/org-membership-response-if-user-already-had-membership-with-organization" + } + } + } + } + }, + "403": { "$ref": "#/components/responses/forbidden" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "orgs", + "subcategory": "members" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Remove organization membership for a user", + "description": "In order to remove a user's membership with an organization, the authenticated user must be an organization owner.\n\nIf the specified user is an active member of the organization, this will remove them from the organization. If the specified user has been invited to the organization, this will cancel their invitation. The specified user will receive an email notification in both cases.", + "tags": ["orgs"], + "operationId": "orgs/remove-membership-for-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/orgs#remove-organization-membership-for-a-user" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/username" } + ], + "responses": { + "204": { "description": "Empty response" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "orgs", + "subcategory": "members" + }, + "x-octokit": {} + } + }, + "/orgs/{org}/migrations": { + "get": { + "summary": "List organization migrations", + "description": "Lists the most recent migrations.", + "tags": ["migrations"], + "operationId": "migrations/list-for-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/migrations#list-organization-migrations" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/migration" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/migration-with-short-org-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [ + { + "required": true, + "name": "wyandotte", + "note": "To access the Migrations API, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.wyandotte-preview+json\n```" + } + ], + "category": "migrations", + "subcategory": "orgs" + }, + "x-octokit": {} + }, + "post": { + "summary": "Start an organization migration", + "description": "Initiates the generation of a migration archive.", + "tags": ["migrations"], + "operationId": "migrations/start-for-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/migrations#start-an-organization-migration" + }, + "parameters": [{ "$ref": "#/components/parameters/org" }], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "repositories": { + "type": "array", + "description": "A list of arrays indicating which repositories should be migrated.", + "items": { "type": "string" } + }, + "lock_repositories": { + "type": "boolean", + "description": "Indicates whether repositories should be locked (to prevent manipulation) while migrating data.", + "default": false + }, + "exclude_attachments": { + "type": "boolean", + "description": "Indicates whether attachments should be excluded from the migration (to reduce migration archive file size).", + "default": false + }, + "exclude": { "type": "array", "items": { "type": "string" } } + }, + "required": ["repositories"] + }, + "example": { + "repositories": ["github/Hello-World"], + "lock_repositories": true + } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/migration" }, + "examples": { + "default": { + "$ref": "#/components/examples/migration-with-short-org-2" + } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "migrations", + "subcategory": "orgs" + }, + "x-octokit": {} + } + }, + "/orgs/{org}/migrations/{migration_id}": { + "get": { + "summary": "Get an organization migration status", + "description": "Fetches the status of a migration.\n\nThe `state` of a migration can be one of the following values:\n\n* `pending`, which means the migration hasn't started yet.\n* `exporting`, which means the migration is in progress.\n* `exported`, which means the migration finished successfully.\n* `failed`, which means the migration failed.", + "tags": ["migrations"], + "operationId": "migrations/get-status-for-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/migrations#get-an-organization-migration-status" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/migration_id" } + ], + "responses": { + "200": { + "description": "* `pending`, which means the migration hasn't started yet.\n* `exporting`, which means the migration is in progress.\n* `exported`, which means the migration finished successfully.\n* `failed`, which means the migration failed.", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/migration" }, + "examples": { + "default": { + "$ref": "#/components/examples/migration-with-short-org" + } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [ + { + "required": true, + "name": "wyandotte", + "note": "To access the Migrations API, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.wyandotte-preview+json\n```" + } + ], + "category": "migrations", + "subcategory": "orgs" + }, + "x-octokit": {} + } + }, + "/orgs/{org}/migrations/{migration_id}/archive": { + "get": { + "summary": "Download an organization migration archive", + "description": "Fetches the URL to a migration archive.", + "tags": ["migrations"], + "operationId": "migrations/download-archive-for-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/migrations#download-an-organization-migration-archive" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/migration_id" } + ], + "responses": { + "302": { "description": "response" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [ + { + "required": true, + "name": "wyandotte", + "note": "To access the Migrations API, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.wyandotte-preview+json\n```" + } + ], + "category": "migrations", + "subcategory": "orgs" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Delete an organization migration archive", + "description": "Deletes a previous migration archive. Migration archives are automatically deleted after seven days.", + "tags": ["migrations"], + "operationId": "migrations/delete-archive-for-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/migrations#delete-an-organization-migration-archive" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/migration_id" } + ], + "responses": { + "204": { "description": "Empty response" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [ + { + "required": true, + "name": "wyandotte", + "note": "To access the Migrations API, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.wyandotte-preview+json\n```" + } + ], + "category": "migrations", + "subcategory": "orgs" + }, + "x-octokit": {} + } + }, + "/orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock": { + "delete": { + "summary": "Unlock an organization repository", + "description": "Unlocks a repository that was locked for migration. You should unlock each migrated repository and [delete them](https://docs.github.com/rest/reference/repos#delete-a-repository) when the migration is complete and you no longer need the source data.", + "tags": ["migrations"], + "operationId": "migrations/unlock-repo-for-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/migrations#unlock-an-organization-repository" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/migration_id" }, + { "$ref": "#/components/parameters/repo_name" } + ], + "responses": { + "204": { "description": "Empty response" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [ + { + "required": true, + "name": "wyandotte", + "note": "To access the Migrations API, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.wyandotte-preview+json\n```" + } + ], + "category": "migrations", + "subcategory": "orgs" + }, + "x-octokit": {} + } + }, + "/orgs/{org}/migrations/{migration_id}/repositories": { + "get": { + "summary": "List repositories in an organization migration", + "description": "List all the repositories for this organization migration.", + "tags": ["migrations"], + "operationId": "migrations/list-repos-for-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/migrations#list-repositories-in-an-organization-migration" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/migration_id" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/minimal-repository" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/minimal-repository-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [ + { + "required": true, + "name": "wyandotte", + "note": "To access the Migrations API, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.wyandotte-preview+json\n```" + } + ], + "category": "migrations", + "subcategory": "orgs" + }, + "x-octokit": {} + } + }, + "/orgs/{org}/outside_collaborators": { + "get": { + "summary": "List outside collaborators for an organization", + "description": "List all users who are outside collaborators of an organization.", + "tags": ["orgs"], + "operationId": "orgs/list-outside-collaborators", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/orgs#list-outside-collaborators-for-an-organization" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { + "name": "filter", + "description": "Filter the list of outside collaborators. Can be one of: \n\\* `2fa_disabled`: Outside collaborators without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled. \n\\* `all`: All outside collaborators.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["2fa_disabled", "all"], + "default": "all" + } + }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/simple-user" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/simple-user-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "orgs", + "subcategory": "outside-collaborators" + }, + "x-octokit": {} + } + }, + "/orgs/{org}/outside_collaborators/{username}": { + "put": { + "summary": "Convert an organization member to outside collaborator", + "description": "When an organization member is converted to an outside collaborator, they'll only have access to the repositories that their current team membership allows. The user will no longer be a member of the organization. For more information, see \"[Converting an organization member to an outside collaborator](https://help.github.com/articles/converting-an-organization-member-to-an-outside-collaborator/)\".", + "tags": ["orgs"], + "operationId": "orgs/convert-member-to-outside-collaborator", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/orgs#convert-an-organization-member-to-outside-collaborator" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/username" } + ], + "responses": { + "202": { "description": "User is getting converted asynchronously" }, + "204": { "description": "User was converted" }, + "403": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { "type": "string" }, + "documentation_url": { "type": "string" } + } + }, + "examples": { + "response-if-user-is-the-last-owner-of-the-organization": { + "summary": "Response if user is the last owner of the organization", + "value": { + "message": "Cannot convert the last owner to an outside collaborator", + "documentation_url": "https://docs.github.com/rest/reference/orgs#convert-member-to-outside-collaborator" + } + }, + "response-if-user-is-not-a-member-of-the-organization": { + "summary": "Response if user is not a member of the organization", + "value": { + "message": " is not a member of the organization.", + "documentation_url": "https://docs.github.com/rest/reference/orgs#convert-member-to-outside-collaborator" + } + } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "orgs", + "subcategory": "outside-collaborators" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Remove outside collaborator from an organization", + "description": "Removing a user from this list will remove them from all the organization's repositories.", + "tags": ["orgs"], + "operationId": "orgs/remove-outside-collaborator", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/orgs#remove-outside-collaborator-from-an-organization" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/username" } + ], + "responses": { + "204": { "description": "Empty response" }, + "422": { + "description": "Response if user is a member of the organization", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { "type": "string" }, + "documentation_url": { "type": "string" } + } + }, + "examples": { + "response-if-user-is-a-member-of-the-organization": { + "value": { + "message": "You cannot specify an organization member to remove as an outside collaborator.", + "documentation_url": "https://docs.github.com/rest/reference/orgs#remove-outside-collaborator" + } + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "orgs", + "subcategory": "outside-collaborators" + }, + "x-octokit": {} + } + }, + "/orgs/{org}/projects": { + "get": { + "summary": "List organization projects", + "description": "Lists the projects in an organization. Returns a `404 Not Found` status if projects are disabled in the organization. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned.", + "tags": ["projects"], + "operationId": "projects/list-for-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/projects/#list-organization-projects" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { + "name": "state", + "description": "Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["open", "closed", "all"], + "default": "open" + } + }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/project" } + }, + "examples": { + "default": { "$ref": "#/components/examples/project-items" } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "422": { "$ref": "#/components/responses/validation_failed_simple" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "inertia", + "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" + } + ], + "category": "projects", + "subcategory": null + }, + "x-octokit": {} + }, + "post": { + "summary": "Create an organization project", + "description": "Creates an organization project board. Returns a `404 Not Found` status if projects are disabled in the organization. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned.", + "tags": ["projects"], + "operationId": "projects/create-for-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/projects/#create-an-organization-project" + }, + "parameters": [{ "$ref": "#/components/parameters/org" }], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the project." + }, + "body": { + "type": "string", + "description": "The description of the project." + } + }, + "required": ["name"] + }, + "example": { + "name": "Organization Roadmap", + "body": "High-level roadmap for the upcoming year." + } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/project" }, + "examples": { + "default": { "$ref": "#/components/examples/project-2" } + } + } + } + }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" }, + "410": { "$ref": "#/components/responses/gone" }, + "422": { "$ref": "#/components/responses/validation_failed_simple" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "inertia", + "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" + } + ], + "category": "projects", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/orgs/{org}/public_members": { + "get": { + "summary": "List public organization members", + "description": "Members of an organization can choose to have their membership publicized or not.", + "tags": ["orgs"], + "operationId": "orgs/list-public-members", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/orgs#list-public-organization-members" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/simple-user" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/simple-user-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "orgs", + "subcategory": "members" + }, + "x-octokit": {} + } + }, + "/orgs/{org}/public_members/{username}": { + "get": { + "summary": "Check public organization membership for a user", + "description": "", + "tags": ["orgs"], + "operationId": "orgs/check-public-membership-for-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/orgs#check-public-organization-membership-for-a-user" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/username" } + ], + "responses": { + "204": { "description": "Response if user is a public member" }, + "404": { "description": "Response if user is not a public member" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "orgs", + "subcategory": "members" + }, + "x-octokit": {} + }, + "put": { + "summary": "Set public organization membership for the authenticated user", + "description": "The user can publicize their own membership. (A user cannot publicize the membership for another user.)\n\nNote that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs).\"", + "tags": ["orgs"], + "operationId": "orgs/set-public-membership-for-authenticated-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/orgs#set-public-organization-membership-for-the-authenticated-user" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/username" } + ], + "responses": { + "204": { "description": "Empty response" }, + "403": { "$ref": "#/components/responses/forbidden" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "orgs", + "subcategory": "members" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Remove public organization membership for the authenticated user", + "description": "", + "tags": ["orgs"], + "operationId": "orgs/remove-public-membership-for-authenticated-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/orgs#remove-public-organization-membership-for-the-authenticated-user" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/username" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "orgs", + "subcategory": "members" + }, + "x-octokit": {} + } + }, + "/orgs/{org}/repos": { + "get": { + "summary": "List organization repositories", + "description": "Lists repositories for the specified organization.", + "tags": ["repos"], + "operationId": "repos/list-for-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/repos/#list-organization-repositories" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { + "name": "type", + "description": "Specifies the types of repositories you want returned. Can be one of `all`, `public`, `private`, `forks`, `sources`, `member`, `internal`. Default: `all`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `type` can also be `internal`.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": [ + "all", + "public", + "private", + "forks", + "sources", + "member", + "internal" + ] + } + }, + { + "name": "sort", + "description": "Can be one of `created`, `updated`, `pushed`, `full_name`.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["created", "updated", "pushed", "full_name"], + "default": "created" + } + }, + { + "name": "direction", + "description": "Can be one of `asc` or `desc`. Default: when using `full_name`: `asc`, otherwise `desc`", + "in": "query", + "required": false, + "schema": { "type": "string", "enum": ["asc", "desc"] } + }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/minimal-repository" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/minimal-repository-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": false, + "name": "nebula", + "note": "You can set the visibility of a repository using the new `visibility` parameter in the [Repositories API](https://docs.github.com/rest/reference/repos/), and get a repository's visibility with a new response key. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes/).\n\nTo access repository visibility during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.nebula-preview+json\n```" + }, + { + "required": false, + "name": "baptiste", + "note": "The `is_template` and `template_repository` keys are currently available for developer to preview. See [Create a repository using a template](https://docs.github.com/repos#create-a-repository-using-a-template) to learn how to create template repositories. To access these new response keys during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.baptiste-preview+json\n```" + } + ], + "category": "repos", + "subcategory": null + }, + "x-octokit": {} + }, + "post": { + "summary": "Create an organization repository", + "description": "Creates a new repository in the specified organization. The authenticated user must be a member of the organization.\n\n**OAuth scope requirements**\n\nWhen using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include:\n\n* `public_repo` scope or `repo` scope to create a public repository\n* `repo` scope to create a private repository", + "tags": ["repos"], + "operationId": "repos/create-in-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/repos/#create-an-organization-repository" + }, + "parameters": [{ "$ref": "#/components/parameters/org" }], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the repository." + }, + "description": { + "type": "string", + "description": "A short description of the repository." + }, + "homepage": { + "type": "string", + "description": "A URL with more information about the repository." + }, + "private": { + "type": "boolean", + "description": "Either `true` to create a private repository or `false` to create a public one.", + "default": false + }, + "visibility": { + "type": "string", + "description": "Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `visibility` can also be `internal`. For more information, see \"[Creating an internal repository](https://help.github.com/en/github/creating-cloning-and-archiving-repositories/about-repository-visibility#about-internal-repositories)\" in the GitHub Help documentation. \nThe `visibility` parameter overrides the `private` parameter when you use both parameters with the `nebula-preview` preview header.", + "enum": ["public", "private", "visibility", "internal"] + }, + "has_issues": { + "type": "boolean", + "description": "Either `true` to enable issues for this repository or `false` to disable them.", + "default": true + }, + "has_projects": { + "type": "boolean", + "description": "Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error.", + "default": true + }, + "has_wiki": { + "type": "boolean", + "description": "Either `true` to enable the wiki for this repository or `false` to disable it.", + "default": true + }, + "is_template": { + "type": "boolean", + "description": "Either `true` to make this repo available as a template repository or `false` to prevent it.", + "default": false + }, + "team_id": { + "type": "integer", + "description": "The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization." + }, + "auto_init": { + "type": "boolean", + "description": "Pass `true` to create an initial commit with empty README.", + "default": false + }, + "gitignore_template": { + "type": "string", + "description": "Desired language or platform [.gitignore template](https://github.com/github/gitignore) to apply. Use the name of the template without the extension. For example, \"Haskell\"." + }, + "license_template": { + "type": "string", + "description": "Choose an [open source license template](https://choosealicense.com/) that best suits your needs, and then use the [license keyword](https://help.github.com/articles/licensing-a-repository/#searching-github-by-license-type) as the `license_template` string. For example, \"mit\" or \"mpl-2.0\"." + }, + "allow_squash_merge": { + "type": "boolean", + "description": "Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging.", + "default": true + }, + "allow_merge_commit": { + "type": "boolean", + "description": "Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits.", + "default": true + }, + "allow_rebase_merge": { + "type": "boolean", + "description": "Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging.", + "default": true + }, + "delete_branch_on_merge": { + "type": "boolean", + "description": "Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion.", + "default": false + } + }, + "required": ["name"] + }, + "example": { + "name": "Hello-World", + "description": "This is your first repository", + "homepage": "https://github.com", + "private": false, + "has_issues": true, + "has_projects": true, + "has_wiki": true + } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/repository" }, + "examples": { + "default": { "$ref": "#/components/examples/repository" } + } + } + }, + "headers": { + "Location": { + "example": "https://api.github.com/repos/octocat/Hello-World", + "schema": { "type": "string" } + } + } + }, + "403": { "$ref": "#/components/responses/forbidden" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": false, + "name": "nebula", + "note": "You can set the visibility of a repository using the new `visibility` parameter in the [Repositories API](https://docs.github.com/rest/reference/repos/), and get a repository's visibility with a new response key. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes/).\n\nTo access repository visibility during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.nebula-preview+json\n```" + }, + { + "required": false, + "name": "baptiste", + "note": "The `is_template` and `template_repository` keys are currently available for developer to preview. See [Create a repository using a template](https://docs.github.com/repos#create-a-repository-using-a-template) to learn how to create template repositories. To access these new response keys during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.baptiste-preview+json\n```" + } + ], + "category": "repos", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/orgs/{org}/settings/billing/actions": { + "get": { + "summary": "Get GitHub Actions billing for an organization", + "description": "Gets the summary of the free and paid GitHub Actions minutes used.\n\nPaid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see \"[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)\".\n\nAccess tokens must have the `read:org` scope.", + "operationId": "billing/get-github-actions-billing-org", + "tags": ["billing"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/billing/#get-github-actions-billing-for-an-organization" + }, + "parameters": [{ "$ref": "#/components/parameters/org" }], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/actions-billing-usage" + }, + "examples": { + "default": { + "$ref": "#/components/examples/actions-billing-usage" + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "billing", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/orgs/{org}/settings/billing/packages": { + "get": { + "summary": "Get GitHub Packages billing for an organization", + "description": "Gets the free and paid storage usued for GitHub Packages in gigabytes.\n\nPaid minutes only apply to packages stored for private repositories. For more information, see \"[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages).\"\n\nAccess tokens must have the `read:org` scope.", + "operationId": "billing/get-github-packages-billing-org", + "tags": ["billing"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/billing/#get-github-packages-billing-for-an-organization" + }, + "parameters": [{ "$ref": "#/components/parameters/org" }], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/packages-billing-usage" + }, + "examples": { + "default": { + "$ref": "#/components/examples/packages-billing-usage" + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "billing", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/orgs/{org}/settings/billing/shared-storage": { + "get": { + "summary": "Get shared storage billing for an organization", + "description": "Gets the estimated paid and estimated total storage used for GitHub Actions and Github Packages.\n\nPaid minutes only apply to packages stored for private repositories. For more information, see \"[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages).\"\n\nAccess tokens must have the `read:org` scope.", + "operationId": "billing/get-shared-storage-billing-org", + "tags": ["billing"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/billing/#get-shared-storage-billing-for-an-organization" + }, + "parameters": [{ "$ref": "#/components/parameters/org" }], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/combined-billing-usage" + }, + "examples": { + "default": { + "$ref": "#/components/examples/combined-billing-usage" + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "billing", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/orgs/{org}/team-sync/groups": { + "get": { + "summary": "List IdP groups for an organization", + "description": "Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nList IdP groups available in an organization. You can limit your page results using the `per_page` parameter. GitHub generates a url-encoded `page` token using a cursor value for where the next page begins. For more information on cursor pagination, see \"[Offset and Cursor Pagination explained](https://dev.to/jackmarchant/offset-and-cursor-pagination-explained-b89).\"\n\nThe `per_page` parameter provides pagination for a list of IdP groups the authenticated user can access in an organization. For example, if the user `octocat` wants to see two groups per page in `octo-org` via cURL, it would look like this:", + "tags": ["teams"], + "operationId": "teams/list-idp-groups-for-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/teams#list-idp-groups-for-an-organization" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/group-mapping" }, + "examples": { + "default": { "$ref": "#/components/examples/group-mapping-3" } + } + } + }, + "headers": { + "Link": { + "example": "; rel=\"next\"", + "schema": { "type": "string" } + } + } + } + }, + "x-github": { + "githubCloudOnly": true, + "enabledForGitHubApps": true, + "previews": [], + "category": "teams", + "subcategory": "team-sync" + }, + "x-octokit": {} + } + }, + "/orgs/{org}/teams": { + "get": { + "summary": "List teams", + "description": "Lists all teams in an organization that are visible to the authenticated user.", + "tags": ["teams"], + "operationId": "teams/list", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/teams/#list-teams" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/team" } + }, + "examples": { + "default": { "$ref": "#/components/examples/team-items" } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "403": { "$ref": "#/components/responses/forbidden" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "teams", + "subcategory": null + }, + "x-octokit": {} + }, + "post": { + "summary": "Create a team", + "description": "To create a team, the authenticated user must be a member or owner of `{org}`. By default, organization members can create teams. Organization owners can limit team creation to organization owners. For more information, see \"[Setting team creation permissions](https://help.github.com/en/articles/setting-team-creation-permissions-in-your-organization).\"\n\nWhen you create a new team, you automatically become a team maintainer without explicitly adding yourself to the optional array of `maintainers`. For more information, see \"[About teams](https://help.github.com/en/github/setting-up-and-managing-organizations-and-teams/about-teams)\".", + "tags": ["teams"], + "operationId": "teams/create", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/teams/#create-a-team" + }, + "parameters": [{ "$ref": "#/components/parameters/org" }], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the team." + }, + "description": { + "type": "string", + "description": "The description of the team." + }, + "maintainers": { + "type": "array", + "description": "List GitHub IDs for organization members who will become team maintainers.", + "items": { "type": "string" } + }, + "repo_names": { + "type": "array", + "description": "The full name (e.g., \"organization-name/repository-name\") of repositories to add the team to.", + "items": { "type": "string" } + }, + "privacy": { + "type": "string", + "description": "The level of privacy this team should have. The options are: \n**For a non-nested team:** \n\\* `secret` - only visible to organization owners and members of this team. \n\\* `closed` - visible to all members of this organization. \nDefault: `secret` \n**For a parent or child team:** \n\\* `closed` - visible to all members of this organization. \nDefault for child team: `closed`", + "enum": ["secret", "closed"] + }, + "permission": { + "type": "string", + "description": "**Deprecated**. The permission that new repositories will be added to the team with when none is specified. Can be one of: \n\\* `pull` - team members can pull, but not push to or administer newly-added repositories. \n\\* `push` - team members can pull and push, but not administer newly-added repositories. \n\\* `admin` - team members can pull, push and administer newly-added repositories.", + "enum": ["pull", "push", "admin"], + "default": "pull" + }, + "parent_team_id": { + "type": "integer", + "description": "The ID of a team to set as the parent team." + } + }, + "required": ["name"] + }, + "example": { + "name": "Justice League", + "description": "A great team", + "permission": "admin", + "privacy": "closed" + } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/team-full" }, + "examples": { + "default": { "$ref": "#/components/examples/team-full" } + } + } + } + }, + "403": { "$ref": "#/components/responses/forbidden" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "teams", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/orgs/{org}/teams/{team_slug}": { + "get": { + "summary": "Get a team by name", + "description": "Gets a team using the team's `slug`. GitHub generates the `slug` from the team `name`.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}`.", + "tags": ["teams"], + "operationId": "teams/get-by-name", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/teams/#get-a-team-by-name" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/team_slug" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/team-full" }, + "examples": { + "default": { "$ref": "#/components/examples/team-full" } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "teams", + "subcategory": null + }, + "x-octokit": {} + }, + "patch": { + "summary": "Update a team", + "description": "To edit a team, the authenticated user must either be an organization owner or a team maintainer.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}`.", + "tags": ["teams"], + "operationId": "teams/update-in-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/teams/#update-a-team" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/team_slug" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the team." + }, + "description": { + "type": "string", + "description": "The description of the team." + }, + "privacy": { + "type": "string", + "description": "The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. When a team is nested, the `privacy` for parent teams cannot be `secret`. The options are: \n**For a non-nested team:** \n\\* `secret` - only visible to organization owners and members of this team. \n\\* `closed` - visible to all members of this organization. \n**For a parent or child team:** \n\\* `closed` - visible to all members of this organization.", + "enum": ["secret", "closed"] + }, + "permission": { + "type": "string", + "description": "**Deprecated**. The permission that new repositories will be added to the team with when none is specified. Can be one of: \n\\* `pull` - team members can pull, but not push to or administer newly-added repositories. \n\\* `push` - team members can pull and push, but not administer newly-added repositories. \n\\* `admin` - team members can pull, push and administer newly-added repositories.", + "enum": ["pull", "push", "admin"], + "default": "pull" + }, + "parent_team_id": { + "type": "integer", + "description": "The ID of a team to set as the parent team." + } + }, + "required": ["name"] + }, + "example": { + "name": "new team name", + "description": "new team description", + "privacy": "closed" + } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/team-full" }, + "examples": { + "default": { "$ref": "#/components/examples/team-full" } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "teams", + "subcategory": null + }, + "x-octokit": {} + }, + "delete": { + "summary": "Delete a team", + "description": "To delete a team, the authenticated user must be an organization owner or team maintainer.\n\nIf you are an organization owner, deleting a parent team will delete all of its child teams as well.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}`.", + "tags": ["teams"], + "operationId": "teams/delete-in-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/teams/#delete-a-team" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/team_slug" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "teams", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/orgs/{org}/teams/{team_slug}/discussions": { + "get": { + "summary": "List discussions", + "description": "List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions`.", + "tags": ["teams"], + "operationId": "teams/list-discussions-in-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/teams#list-discussions" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/team_slug" }, + { "$ref": "#/components/parameters/direction" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/team-discussion" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/team-discussion-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": false, + "name": "squirrel-girl", + "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." + } + ], + "category": "teams", + "subcategory": "discussions" + }, + "x-octokit": {} + }, + "post": { + "summary": "Create a discussion", + "description": "Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n\nThis endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)\" for details.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions`.", + "tags": ["teams"], + "operationId": "teams/create-discussion-in-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/teams#create-a-discussion" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/team_slug" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "title": { + "type": "string", + "description": "The discussion post's title." + }, + "body": { + "type": "string", + "description": "The discussion post's body text." + }, + "private": { + "type": "boolean", + "description": "Private posts are only visible to team members, organization owners, and team maintainers. Public posts are visible to all members of the organization. Set to `true` to create a private post.", + "default": false + } + }, + "required": ["title", "body"] + }, + "example": { + "title": "Our first team post", + "body": "Hi! This is an area for us to collaborate as a team." + } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/team-discussion" }, + "examples": { + "default": { "$ref": "#/components/examples/team-discussion" } + } + } + } + } + }, + "x-github": { + "triggersNotification": true, + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": false, + "name": "squirrel-girl", + "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." + } + ], + "category": "teams", + "subcategory": "discussions" + }, + "x-octokit": {} + } + }, + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}": { + "get": { + "summary": "Get a discussion", + "description": "Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`.", + "tags": ["teams"], + "operationId": "teams/get-discussion-in-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/teams#get-a-discussion" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/team_slug" }, + { "$ref": "#/components/parameters/discussion-number" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/team-discussion" }, + "examples": { + "default": { "$ref": "#/components/examples/team-discussion" } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": false, + "name": "squirrel-girl", + "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." + } + ], + "category": "teams", + "subcategory": "discussions" + }, + "x-octokit": {} + }, + "patch": { + "summary": "Update a discussion", + "description": "Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`.", + "tags": ["teams"], + "operationId": "teams/update-discussion-in-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/teams#update-a-discussion" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/team_slug" }, + { "$ref": "#/components/parameters/discussion-number" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "title": { + "type": "string", + "description": "The discussion post's title." + }, + "body": { + "type": "string", + "description": "The discussion post's body text." + } + } + }, + "example": { "title": "Welcome to our first team post" } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/team-discussion" }, + "examples": { + "default": { + "$ref": "#/components/examples/team-discussion-2" + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": false, + "name": "squirrel-girl", + "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." + } + ], + "category": "teams", + "subcategory": "discussions" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Delete a discussion", + "description": "Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`.", + "tags": ["teams"], + "operationId": "teams/delete-discussion-in-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/teams#delete-a-discussion" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/team_slug" }, + { "$ref": "#/components/parameters/discussion-number" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "teams", + "subcategory": "discussions" + }, + "x-octokit": {} + } + }, + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments": { + "get": { + "summary": "List discussion comments", + "description": "List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`.", + "tags": ["teams"], + "operationId": "teams/list-discussion-comments-in-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/teams#list-discussion-comments" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/team_slug" }, + { "$ref": "#/components/parameters/discussion-number" }, + { "$ref": "#/components/parameters/direction" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/team-discussion-comment" + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/team-discussion-comment-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": false, + "name": "squirrel-girl", + "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." + } + ], + "category": "teams", + "subcategory": "discussion-comments" + }, + "x-octokit": {} + }, + "post": { + "summary": "Create a discussion comment", + "description": "Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n\nThis endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)\" for details.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`.", + "tags": ["teams"], + "operationId": "teams/create-discussion-comment-in-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/teams#create-a-discussion-comment" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/team_slug" }, + { "$ref": "#/components/parameters/discussion-number" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "body": { + "type": "string", + "description": "The discussion comment's body text." + } + }, + "required": ["body"] + }, + "example": { "body": "Do you like apples?" } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/team-discussion-comment" + }, + "examples": { + "default": { + "$ref": "#/components/examples/team-discussion-comment" + } + } + } + } + } + }, + "x-github": { + "triggersNotification": true, + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": false, + "name": "squirrel-girl", + "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." + } + ], + "category": "teams", + "subcategory": "discussion-comments" + }, + "x-octokit": {} + } + }, + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}": { + "get": { + "summary": "Get a discussion comment", + "description": "Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`.", + "tags": ["teams"], + "operationId": "teams/get-discussion-comment-in-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/teams#get-a-discussion-comment" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/team_slug" }, + { "$ref": "#/components/parameters/discussion-number" }, + { "$ref": "#/components/parameters/comment-number" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/team-discussion-comment" + }, + "examples": { + "default": { + "$ref": "#/components/examples/team-discussion-comment" + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": false, + "name": "squirrel-girl", + "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." + } + ], + "category": "teams", + "subcategory": "discussion-comments" + }, + "x-octokit": {} + }, + "patch": { + "summary": "Update a discussion comment", + "description": "Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`.", + "tags": ["teams"], + "operationId": "teams/update-discussion-comment-in-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/teams#update-a-discussion-comment" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/team_slug" }, + { "$ref": "#/components/parameters/discussion-number" }, + { "$ref": "#/components/parameters/comment-number" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "body": { + "type": "string", + "description": "The discussion comment's body text." + } + }, + "required": ["body"] + }, + "example": { "body": "Do you like pineapples?" } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/team-discussion-comment" + }, + "examples": { + "default": { + "$ref": "#/components/examples/team-discussion-comment-2" + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": false, + "name": "squirrel-girl", + "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." + } + ], + "category": "teams", + "subcategory": "discussion-comments" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Delete a discussion comment", + "description": "Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`.", + "tags": ["teams"], + "operationId": "teams/delete-discussion-comment-in-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/teams#delete-a-discussion-comment" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/team_slug" }, + { "$ref": "#/components/parameters/discussion-number" }, + { "$ref": "#/components/parameters/comment-number" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "teams", + "subcategory": "discussion-comments" + }, + "x-octokit": {} + } + }, + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions": { + "get": { + "summary": "List reactions for a team discussion comment", + "description": "List the reactions to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments/). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`.", + "tags": ["reactions"], + "operationId": "reactions/list-for-team-discussion-comment-in-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/reactions/#list-reactions-for-a-team-discussion-comment" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/team_slug" }, + { "$ref": "#/components/parameters/discussion-number" }, + { "$ref": "#/components/parameters/comment-number" }, + { + "name": "content", + "description": "Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion comment.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ] + } + }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/reaction" } + }, + "examples": { + "default": { "$ref": "#/components/examples/reaction-items" } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "squirrel-girl", + "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." + } + ], + "category": "reactions", + "subcategory": null + }, + "x-octokit": {} + }, + "post": { + "summary": "Create reaction for a team discussion comment", + "description": "Create a reaction to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with a `Status: 200 OK` means that you already added the reaction type to this team discussion comment.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`.", + "tags": ["reactions"], + "operationId": "reactions/create-for-team-discussion-comment-in-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/reactions/#create-reaction-for-a-team-discussion-comment" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/team_slug" }, + { "$ref": "#/components/parameters/discussion-number" }, + { "$ref": "#/components/parameters/comment-number" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "content": { + "type": "string", + "description": "The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the team discussion comment.", + "enum": [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ] + } + }, + "required": ["content"] + }, + "example": { "content": "heart" } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/reaction" }, + "examples": { + "default": { "$ref": "#/components/examples/reaction" } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "squirrel-girl", + "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." + } + ], + "category": "reactions", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}": { + "delete": { + "summary": "Delete team discussion comment reaction", + "description": "**Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id`.\n\nDelete a reaction to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", + "tags": ["reactions"], + "operationId": "reactions/delete-for-team-discussion-comment", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/reactions/#delete-team-discussion-comment-reaction" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/team_slug" }, + { "$ref": "#/components/parameters/discussion-number" }, + { "$ref": "#/components/parameters/comment-number" }, + { "$ref": "#/components/parameters/reaction-id" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "squirrel-girl", + "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." + } + ], + "category": "reactions", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions": { + "get": { + "summary": "List reactions for a team discussion", + "description": "List the reactions to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`.", + "tags": ["reactions"], + "operationId": "reactions/list-for-team-discussion-in-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/reactions/#list-reactions-for-a-team-discussion" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/team_slug" }, + { "$ref": "#/components/parameters/discussion-number" }, + { + "name": "content", + "description": "Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ] + } + }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/reaction" } + }, + "examples": { + "default": { "$ref": "#/components/examples/reaction-items" } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "squirrel-girl", + "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." + } + ], + "category": "reactions", + "subcategory": null + }, + "x-octokit": {} + }, + "post": { + "summary": "Create reaction for a team discussion", + "description": "Create a reaction to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with a `Status: 200 OK` means that you already added the reaction type to this team discussion.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`.", + "tags": ["reactions"], + "operationId": "reactions/create-for-team-discussion-in-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/reactions/#create-reaction-for-a-team-discussion" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/team_slug" }, + { "$ref": "#/components/parameters/discussion-number" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "content": { + "type": "string", + "description": "The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the team discussion.", + "enum": [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ] + } + }, + "required": ["content"] + }, + "example": { "content": "heart" } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/reaction" }, + "examples": { + "default": { "$ref": "#/components/examples/reaction" } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [ + { + "required": true, + "name": "squirrel-girl", + "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." + } + ], + "category": "reactions", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}": { + "delete": { + "summary": "Delete team discussion reaction", + "description": "**Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions/:reaction_id`.\n\nDelete a reaction to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", + "tags": ["reactions"], + "operationId": "reactions/delete-for-team-discussion", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/reactions/#delete-team-discussion-reaction" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/team_slug" }, + { "$ref": "#/components/parameters/discussion-number" }, + { "$ref": "#/components/parameters/reaction-id" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "squirrel-girl", + "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." + } + ], + "category": "reactions", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/orgs/{org}/teams/{team_slug}/invitations": { + "get": { + "summary": "List pending team invitations", + "description": "The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/invitations`.", + "tags": ["teams"], + "operationId": "teams/list-pending-invitations-in-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/teams#list-pending-team-invitations" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/team_slug" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/organization-invitation" + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/organization-invitation-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "teams", + "subcategory": "members" + }, + "x-octokit": {} + } + }, + "/orgs/{org}/teams/{team_slug}/members": { + "get": { + "summary": "List team members", + "description": "Team members will include the members of child teams.\n\nTo list members in a team, the team must be visible to the authenticated user.", + "tags": ["teams"], + "operationId": "teams/list-members-in-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/teams#list-team-members" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/team_slug" }, + { + "name": "role", + "description": "Filters members returned by their role in the team. Can be one of: \n\\* `member` - normal members of the team. \n\\* `maintainer` - team maintainers. \n\\* `all` - all members of the team.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["member", "maintainer", "all"], + "default": "all" + } + }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/simple-user" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/simple-user-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "teams", + "subcategory": "members" + }, + "x-octokit": {} + } + }, + "/orgs/{org}/teams/{team_slug}/memberships/{username}": { + "get": { + "summary": "Get team membership for a user", + "description": "Team members will include the members of child teams.\n\nTo get a user's membership with a team, the team must be visible to the authenticated user.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/memberships/{username}`.\n\n**Note:** The `role` for organization owners returns as `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/rest/reference/teams#create-a-team).", + "tags": ["teams"], + "operationId": "teams/get-membership-for-user-in-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/teams#get-team-membership-for-a-user" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/team_slug" }, + { "$ref": "#/components/parameters/username" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/team-membership" }, + "examples": { + "response-if-user-has-an-active-membership-with-team": { + "$ref": "#/components/examples/team-membership-response-if-user-has-an-active-membership-with-team" + }, + "response-if-user-is-a-team-maintainer": { + "$ref": "#/components/examples/team-membership-response-if-user-is-a-team-maintainer" + }, + "response-if-user-has-a-pending-membership-with-team": { + "$ref": "#/components/examples/team-membership-response-if-user-has-a-pending-membership-with-team" + } + } + } + } + }, + "404": { "description": "Response if user has no team membership" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "teams", + "subcategory": "members" + }, + "x-octokit": {} + }, + "put": { + "summary": "Add or update team membership for a user", + "description": "Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nAdds an organization member to a team. An authenticated organization owner or team maintainer can add organization members to a team.\n\n**Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see \"[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/).\"\n\nAn organization owner can add someone who is not part of the team's organization to a team. When an organization owner adds someone to a team who is not an organization member, this endpoint will send an invitation to the person via email. This newly-created membership will be in the \"pending\" state until the person accepts the invitation, at which point the membership will transition to the \"active\" state and the user will be added as a member of the team.\n\nIf the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/memberships/{username}`.", + "tags": ["teams"], + "operationId": "teams/add-or-update-membership-for-user-in-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/teams#add-or-update-team-membership-for-a-user" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/team_slug" }, + { "$ref": "#/components/parameters/username" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "role": { + "type": "string", + "description": "The role that this user should have in the team. Can be one of: \n\\* `member` - a normal member of the team. \n\\* `maintainer` - a team maintainer. Able to add/remove other team members, promote other team members to team maintainer, and edit the team's name and description.", + "enum": ["member", "maintainer"], + "default": "member" + } + } + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/team-membership" }, + "examples": { + "response-if-users-membership-with-team-is-now-active": { + "$ref": "#/components/examples/team-membership-response-if-users-membership-with-team-is-now-active" + }, + "response-if-users-membership-with-team-is-now-pending": { + "$ref": "#/components/examples/team-membership-response-if-users-membership-with-team-is-now-pending" + } + } + } + } + }, + "403": { + "description": "Response if team synchronization is set up" + }, + "422": { + "description": "Response if you attempt to add an organization to a team", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { "type": "string" }, + "errors": { + "type": "array", + "items": { + "type": "object", + "properties": { + "code": { "type": "string" }, + "field": { "type": "string" }, + "resource": { "type": "string" } + } + } + } + } + }, + "examples": { + "response-if-you-attempt-to-add-an-organization-to-a-team": { + "value": { + "message": "Cannot add an organization as a member.", + "errors": [ + { + "code": "org", + "field": "user", + "resource": "TeamMember" + } + ] + } + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "teams", + "subcategory": "members" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Remove team membership for a user", + "description": "Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nTo remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team.\n\n**Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see \"[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/).\"\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/memberships/{username}`.", + "tags": ["teams"], + "operationId": "teams/remove-membership-for-user-in-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/teams#remove-team-membership-for-a-user" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/team_slug" }, + { "$ref": "#/components/parameters/username" } + ], + "responses": { + "204": { "description": "Empty response" }, + "403": { "description": "Response if team synchronization is set up" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "teams", + "subcategory": "members" + }, + "x-octokit": {} + } + }, + "/orgs/{org}/teams/{team_slug}/projects": { + "get": { + "summary": "List team projects", + "description": "Lists the organization projects for a team.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects`.", + "tags": ["teams"], + "operationId": "teams/list-projects-in-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/teams/#list-team-projects" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/team_slug" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/team-project" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/team-project-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "inertia", + "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" + } + ], + "category": "teams", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/orgs/{org}/teams/{team_slug}/projects/{project_id}": { + "get": { + "summary": "Check team permissions for a project", + "description": "Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects/{project_id}`.", + "tags": ["teams"], + "operationId": "teams/check-permissions-for-project-in-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/teams/#check-team-permissions-for-a-project" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/team_slug" }, + { "$ref": "#/components/parameters/project-id" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/team-project" }, + "examples": { + "default": { "$ref": "#/components/examples/team-project" } + } + } + } + }, + "404": { + "description": "Response if project is not managed by this team" + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "inertia", + "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" + } + ], + "category": "teams", + "subcategory": null + }, + "x-octokit": {} + }, + "put": { + "summary": "Add or update team project permissions", + "description": "Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/projects/{project_id}`.", + "tags": ["teams"], + "operationId": "teams/add-or-update-project-permissions-in-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/teams/#add-or-update-team-project-permissions" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/team_slug" }, + { "$ref": "#/components/parameters/project-id" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "permission": { + "type": "string", + "description": "The permission to grant to the team for this project. Can be one of: \n\\* `read` - team members can read, but not write to or administer this project. \n\\* `write` - team members can read and write, but not administer this project. \n\\* `admin` - team members can read, write and administer this project. \nDefault: the team's `permission` attribute will be used to determine what permission to grant the team on this project. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs).\"", + "enum": ["read", "write", "admin"] + } + } + } + } + } + }, + "responses": { + "204": { "description": "Empty response" }, + "403": { + "description": "Response if the project is not owned by the organization", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { "type": "string" }, + "documentation_url": { "type": "string" } + } + }, + "examples": { + "response-if-the-project-is-not-owned-by-the-organization": { + "value": { + "message": "Must have admin rights to Repository.", + "documentation_url": "https://docs.github.com/rest/reference/teams#add-or-update-team-project-permissions" + } + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "inertia", + "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" + } + ], + "category": "teams", + "subcategory": null + }, + "x-octokit": {} + }, + "delete": { + "summary": "Remove a project from a team", + "description": "Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. This endpoint removes the project from the team, but does not delete the project.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/projects/{project_id}`.", + "tags": ["teams"], + "operationId": "teams/remove-project-in-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/teams/#remove-a-project-from-a-team" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/team_slug" }, + { "$ref": "#/components/parameters/project-id" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "teams", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/orgs/{org}/teams/{team_slug}/repos": { + "get": { + "summary": "List team repositories", + "description": "Lists a team's repositories visible to the authenticated user.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos`.", + "tags": ["teams"], + "operationId": "teams/list-repos-in-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/teams/#list-team-repositories" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/team_slug" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/minimal-repository" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/minimal-repository-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "teams", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}": { + "get": { + "summary": "Check team permissions for a repository", + "description": "Checks whether a team has `admin`, `push`, `maintain`, `triage`, or `pull` permission for a repository. Repositories inherited through a parent team will also be checked.\n\nYou can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `application/vnd.github.v3.repository+json` accept header.\n\nIf a team doesn't have permission for the repository, you will receive a `404 Not Found` response status.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`.", + "tags": ["teams"], + "operationId": "teams/check-permissions-for-repo-in-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/teams/#check-team-permissions-for-a-repository" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/team_slug" }, + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "responses": { + "200": { + "description": "Alternative response with repository permissions", + "content": { + "application/vnd.github.v3.repository+json": { + "schema": { "$ref": "#/components/schemas/team-repository" }, + "examples": { + "alternative-response-with-repository-permissions": { + "$ref": "#/components/examples/team-repository-alternative-response-with-repository-permissions" + } + } + } + } + }, + "204": { + "description": "Response if team has permission for the repository" + }, + "404": { + "description": "Response if team does not have permission for the repository" + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "teams", + "subcategory": null + }, + "x-octokit": {} + }, + "put": { + "summary": "Add or update team repository permissions", + "description": "To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs).\"\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`.\n\nFor more information about the permission levels, see \"[Repository permission levels for an organization](https://help.github.com/en/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)\".", + "tags": ["teams"], + "operationId": "teams/add-or-update-repo-permissions-in-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/teams/#add-or-update-team-repository-permissions" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/team_slug" }, + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "permission": { + "type": "string", + "description": "The permission to grant the team on this repository. Can be one of: \n\\* `pull` - team members can pull, but not push to or administer this repository. \n\\* `push` - team members can pull and push, but not administer this repository. \n\\* `admin` - team members can pull, push and administer this repository. \n\\* `maintain` - team members can manage the repository without access to sensitive or destructive actions. Recommended for project managers. Only applies to repositories owned by organizations. \n\\* `triage` - team members can proactively manage issues and pull requests without write access. Recommended for contributors who triage a repository. Only applies to repositories owned by organizations. \n \nIf no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository.", + "enum": ["pull", "push", "admin", "maintain", "triage"] + } + } + } + } + } + }, + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "teams", + "subcategory": null + }, + "x-octokit": {} + }, + "delete": { + "summary": "Remove a repository from a team", + "description": "If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. This does not delete the repository, it just removes it from the team.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`.", + "tags": ["teams"], + "operationId": "teams/remove-repo-in-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/teams/#remove-a-repository-from-a-team" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/team_slug" }, + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "teams", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/orgs/{org}/teams/{team_slug}/team-sync/group-mappings": { + "get": { + "summary": "List IdP groups for a team", + "description": "Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nList IdP groups connected to a team on GitHub.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/team-sync/group-mappings`.", + "tags": ["teams"], + "operationId": "teams/list-idp-groups-in-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/teams#list-idp-groups-for-a-team" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/team_slug" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/group-mapping" }, + "examples": { + "default": { "$ref": "#/components/examples/group-mapping-3" } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": true, + "enabledForGitHubApps": false, + "previews": [], + "category": "teams", + "subcategory": "team-sync" + }, + "x-octokit": {} + }, + "patch": { + "summary": "Create or update IdP group connections", + "description": "Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nCreates, updates, or removes a connection between a team and an IdP group. When adding groups to a team, you must include all new and existing groups to avoid replacing existing groups with the new ones. Specifying an empty `groups` array will remove all connections for a team.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/team-sync/group-mappings`.", + "tags": ["teams"], + "operationId": "teams/create-or-update-idp-group-connections-in-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/teams#create-or-update-idp-group-connections" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/team_slug" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "groups": { + "type": "array", + "description": "The IdP groups you want to connect to a GitHub team. When updating, the new `groups` object will replace the original one. You must include any existing groups that you don't want to remove.", + "items": { + "type": "object", + "properties": { + "group_id": { + "type": "string", + "description": "ID of the IdP group." + }, + "group_name": { + "type": "string", + "description": "Name of the IdP group." + }, + "group_description": { + "type": "string", + "description": "Description of the IdP group." + } + }, + "required": [ + "group_id", + "group_name", + "group_description" + ] + } + } + }, + "required": ["groups"] + }, + "example": { + "groups": [ + { + "group_id": "123", + "group_name": "Octocat admins", + "group_description": "string" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/group-mapping" }, + "examples": { + "default": { "$ref": "#/components/examples/group-mapping" } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": true, + "enabledForGitHubApps": false, + "previews": [], + "category": "teams", + "subcategory": "team-sync" + }, + "x-octokit": {} + } + }, + "/orgs/{org}/teams/{team_slug}/teams": { + "get": { + "summary": "List child teams", + "description": "Lists the child teams of the team specified by `{team_slug}`.\n\n**Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/teams`.", + "tags": ["teams"], + "operationId": "teams/list-child-in-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/teams/#list-child-teams" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/team_slug" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "Response if child teams exist", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/team" } + }, + "examples": { + "response-if-child-teams-exist": { + "$ref": "#/components/examples/team-items-response-if-child-teams-exist" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "teams", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/projects/columns/cards/{card_id}": { + "get": { + "summary": "Get a project card", + "description": "", + "tags": ["projects"], + "operationId": "projects/get-card", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/projects#get-a-project-card" + }, + "parameters": [{ "$ref": "#/components/parameters/card_id" }], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/project-card" }, + "examples": { + "default": { "$ref": "#/components/examples/project-card" } + } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "inertia", + "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" + } + ], + "category": "projects", + "subcategory": "cards" + }, + "x-octokit": {} + }, + "patch": { + "summary": "Update an existing project card", + "description": "", + "tags": ["projects"], + "operationId": "projects/update-card", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/projects#update-a-project-card" + }, + "parameters": [{ "$ref": "#/components/parameters/card_id" }], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "note": { + "description": "The project card's note", + "example": "Update all gems", + "type": "string", + "nullable": true + }, + "archived": { + "description": "Whether or not the card is archived", + "example": false, + "type": "boolean" + } + } + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/project-card" }, + "examples": { + "default": { "$ref": "#/components/examples/project-card" } + } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" }, + "422": { "$ref": "#/components/responses/validation_failed_simple" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "inertia", + "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" + } + ], + "category": "projects", + "subcategory": "cards" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Delete a project card", + "description": "", + "tags": ["projects"], + "operationId": "projects/delete-card", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/projects#delete-a-project-card" + }, + "parameters": [{ "$ref": "#/components/parameters/card_id" }], + "responses": { + "204": { "description": "Empty response" }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { "type": "string" }, + "documentation_url": { "type": "string" }, + "errors": { "type": "array", "items": { "type": "string" } } + } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "inertia", + "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" + } + ], + "category": "projects", + "subcategory": "cards" + }, + "x-octokit": {} + } + }, + "/projects/columns/cards/{card_id}/moves": { + "post": { + "summary": "Move a project card", + "description": "", + "tags": ["projects"], + "operationId": "projects/move-card", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/projects#move-a-project-card" + }, + "parameters": [{ "$ref": "#/components/parameters/card_id" }], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "position": { + "description": "The position of the card in a column", + "example": "bottom", + "type": "string", + "pattern": "^(?:top|bottom|after:\\d+)$" + }, + "column_id": { + "description": "The unique identifier of the column the card should be moved to", + "example": 42, + "type": "integer" + } + }, + "required": ["position"], + "type": "object" + } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": {}, + "additionalProperties": false + } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { "type": "string" }, + "documentation_url": { "type": "string" }, + "errors": { + "type": "array", + "items": { + "type": "object", + "properties": { + "code": { "type": "string" }, + "message": { "type": "string" }, + "resource": { "type": "string" }, + "field": { "type": "string" } + } + } + } + } + } + } + } + }, + "422": { "$ref": "#/components/responses/validation_failed" }, + "503": { + "description": "Service Unavailable", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "code": { "type": "string" }, + "message": { "type": "string" }, + "documentation_url": { "type": "string" }, + "errors": { + "type": "array", + "items": { + "type": "object", + "properties": { + "code": { "type": "string" }, + "message": { "type": "string" } + } + } + } + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "inertia", + "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" + } + ], + "category": "projects", + "subcategory": "cards" + }, + "x-octokit": {} + } + }, + "/projects/columns/{column_id}": { + "get": { + "summary": "Get a project column", + "description": "", + "tags": ["projects"], + "operationId": "projects/get-column", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/projects#get-a-project-column" + }, + "parameters": [{ "$ref": "#/components/parameters/column_id" }], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/project-column" }, + "examples": { + "default": { "$ref": "#/components/examples/project-column" } + } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "inertia", + "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" + } + ], + "category": "projects", + "subcategory": "columns" + }, + "x-octokit": {} + }, + "patch": { + "summary": "Update an existing project column", + "description": "", + "tags": ["projects"], + "operationId": "projects/update-column", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/projects#update-a-project-column" + }, + "parameters": [{ "$ref": "#/components/parameters/column_id" }], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "name": { + "description": "Name of the project column", + "example": "Remaining tasks", + "type": "string" + } + }, + "required": ["name"], + "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/project-column" }, + "examples": { + "default": { "$ref": "#/components/examples/project-column" } + } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "inertia", + "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" + } + ], + "category": "projects", + "subcategory": "columns" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Delete a project column", + "description": "", + "tags": ["projects"], + "operationId": "projects/delete-column", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/projects#delete-a-project-column" + }, + "parameters": [{ "$ref": "#/components/parameters/column_id" }], + "responses": { + "204": { "description": "Empty response" }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "inertia", + "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" + } + ], + "category": "projects", + "subcategory": "columns" + }, + "x-octokit": {} + } + }, + "/projects/columns/{column_id}/cards": { + "get": { + "summary": "List project cards", + "description": "", + "tags": ["projects"], + "operationId": "projects/list-cards", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/projects#list-project-cards" + }, + "parameters": [ + { "$ref": "#/components/parameters/column_id" }, + { + "name": "archived_state", + "description": "Filters the project cards that are returned by the card's state. Can be one of `all`,`archived`, or `not_archived`.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["all", "archived", "not_archived"], + "default": "not_archived" + } + }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/project-card" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/project-card-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "inertia", + "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" + } + ], + "category": "projects", + "subcategory": "cards" + }, + "x-octokit": {} + }, + "post": { + "summary": "Create a project card", + "description": "**Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this reason, \"Issues\" endpoints may return both issues and pull requests in the response. You can identify pull requests by the `pull_request` key.\n\nBe aware that the `id` of a pull request returned from \"Issues\" endpoints will be an _issue id_. To find out the pull request id, use the \"[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)\" endpoint.", + "tags": ["projects"], + "operationId": "projects/create-card", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/projects#create-a-project-card" + }, + "parameters": [{ "$ref": "#/components/parameters/column_id" }], + "requestBody": { + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "type": "object", + "properties": { + "note": { + "description": "The project card's note", + "example": "Update all gems", + "type": "string", + "nullable": true + } + }, + "required": ["note"] + }, + { + "type": "object", + "properties": { + "content_id": { + "description": "The unique identifier of the content associated with the card", + "example": 42, + "type": "integer" + }, + "content_type": { + "description": "The piece of content associated with the card", + "example": "PullRequest", + "type": "string" + } + }, + "required": ["content_id", "content_type"] + } + ] + } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/project-card" }, + "examples": { + "default": { "$ref": "#/components/examples/project-card" } + } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "422": { + "description": "Validation Failed", + "content": { + "application/json": { + "schema": { + "oneOf": [ + { "$ref": "#/components/schemas/validation-error" }, + { "$ref": "#/components/schemas/validation-error-simple" } + ] + } + } + } + }, + "503": { + "description": "Service Unavailable", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "code": { "type": "string" }, + "message": { "type": "string" }, + "documentation_url": { "type": "string" }, + "errors": { + "type": "array", + "items": { + "type": "object", + "properties": { + "code": { "type": "string" }, + "message": { "type": "string" } + } + } + } + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "inertia", + "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" + } + ], + "category": "projects", + "subcategory": "cards" + }, + "x-octokit": {} + } + }, + "/projects/columns/{column_id}/moves": { + "post": { + "summary": "Move a project column", + "description": "", + "tags": ["projects"], + "operationId": "projects/move-column", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/projects#move-a-project-column" + }, + "parameters": [{ "$ref": "#/components/parameters/column_id" }], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "position": { + "description": "The position of the column in a project", + "example": "last", + "type": "string", + "pattern": "^(?:first|last|after:\\d+)$" + } + }, + "required": ["position"], + "type": "object" + } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": {}, + "additionalProperties": false + } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "422": { "$ref": "#/components/responses/validation_failed_simple" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "inertia", + "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" + } + ], + "category": "projects", + "subcategory": "columns" + }, + "x-octokit": {} + } + }, + "/projects/{project_id}": { + "get": { + "summary": "Get a project", + "description": "Gets a project by its `id`. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned.", + "tags": ["projects"], + "operationId": "projects/get", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/projects/#get-a-project" + }, + "parameters": [{ "$ref": "#/components/parameters/project-id" }], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/project" }, + "examples": { + "default": { "$ref": "#/components/examples/project-3" } + } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "inertia", + "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" + } + ], + "category": "projects", + "subcategory": null + }, + "x-octokit": {} + }, + "patch": { + "summary": "Update a project", + "description": "Updates a project board's information. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned.", + "operationId": "projects/update", + "tags": ["projects"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/projects/#update-a-project" + }, + "parameters": [{ "$ref": "#/components/parameters/project-id" }], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "name": { + "description": "Name of the project", + "example": "Week One Sprint", + "type": "string" + }, + "body": { + "description": "Body of the project", + "example": "This project represents the sprint of the first week in January", + "type": "string", + "nullable": true + }, + "state": { + "description": "State of the project; either 'open' or 'closed'", + "example": "open", + "type": "string" + }, + "organization_permission": { + "description": "The baseline permission that all organization members have on this project", + "type": "string", + "enum": ["read", "write", "admin", "none"] + }, + "private": { + "description": "Whether or not this project can be seen by everyone.", + "type": "boolean" + } + }, + "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/project" }, + "examples": { + "default": { "$ref": "#/components/examples/project-3" } + } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { "type": "string" }, + "documentation_url": { "type": "string" }, + "errors": { "type": "array", "items": { "type": "string" } } + } + } + } + } + }, + "404": { + "description": "Response if the authenticated user does not have access to the project" + }, + "410": { "$ref": "#/components/responses/gone" }, + "422": { "$ref": "#/components/responses/validation_failed_simple" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "inertia", + "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" + } + ], + "category": "projects", + "subcategory": null + }, + "x-octokit": {} + }, + "delete": { + "summary": "Delete a project", + "description": "Deletes a project board. Returns a `404 Not Found` status if projects are disabled.", + "operationId": "projects/delete", + "tags": ["projects"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/projects/#delete-a-project" + }, + "parameters": [{ "$ref": "#/components/parameters/project-id" }], + "responses": { + "204": { "description": "Delete Success" }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { "type": "string" }, + "documentation_url": { "type": "string" }, + "errors": { "type": "array", "items": { "type": "string" } } + } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" }, + "410": { "$ref": "#/components/responses/gone" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "inertia", + "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" + } + ], + "category": "projects", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/projects/{project_id}/collaborators": { + "get": { + "summary": "List project collaborators", + "description": "Lists the collaborators for an organization project. For a project, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. You must be an organization owner or a project `admin` to list collaborators.", + "tags": ["projects"], + "operationId": "projects/list-collaborators", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/projects#list-project-collaborators" + }, + "parameters": [ + { "$ref": "#/components/parameters/project-id" }, + { + "name": "affiliation", + "description": "Filters the collaborators by their affiliation. Can be one of: \n\\* `outside`: Outside collaborators of a project that are not a member of the project's organization. \n\\* `direct`: Collaborators with permissions to a project, regardless of organization membership status. \n\\* `all`: All collaborators the authenticated user can see.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["outside", "direct", "all"], + "default": "all" + } + }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/simple-user" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/simple-user-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" }, + "415": { "$ref": "#/components/responses/preview_header_missing" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "inertia", + "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" + } + ], + "category": "projects", + "subcategory": "collaborators" + }, + "x-octokit": {} + } + }, + "/projects/{project_id}/collaborators/{username}": { + "put": { + "summary": "Add project collaborator", + "description": "Adds a collaborator to an organization project and sets their permission level. You must be an organization owner or a project `admin` to add a collaborator.", + "tags": ["projects"], + "operationId": "projects/add-collaborator", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/projects#add-project-collaborator" + }, + "parameters": [ + { "$ref": "#/components/parameters/project-id" }, + { "$ref": "#/components/parameters/username" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "permission": { + "description": "The permission to grant the collaborator.", + "enum": ["read", "write", "admin"], + "default": "write", + "example": "write", + "type": "string" + } + } + } + } + } + }, + "responses": { + "204": { "description": "Empty response" }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" }, + "415": { "$ref": "#/components/responses/preview_header_missing" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "inertia", + "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" + } + ], + "category": "projects", + "subcategory": "collaborators" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Remove user as a collaborator", + "description": "Removes a collaborator from an organization project. You must be an organization owner or a project `admin` to remove a collaborator.", + "tags": ["projects"], + "operationId": "projects/remove-collaborator", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/projects#remove-project-collaborator" + }, + "parameters": [ + { "$ref": "#/components/parameters/project-id" }, + { "$ref": "#/components/parameters/username" } + ], + "responses": { + "204": { "description": "Empty response" }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" }, + "415": { "$ref": "#/components/responses/preview_header_missing" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "inertia", + "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" + } + ], + "category": "projects", + "subcategory": "collaborators" + }, + "x-octokit": {} + } + }, + "/projects/{project_id}/collaborators/{username}/permission": { + "get": { + "summary": "Get project permission for a user", + "description": "Returns the collaborator's permission level for an organization project. Possible values for the `permission` key: `admin`, `write`, `read`, `none`. You must be an organization owner or a project `admin` to review a user's permission level.", + "tags": ["projects"], + "operationId": "projects/get-permission-for-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/projects#get-project-permission-for-a-user" + }, + "parameters": [ + { "$ref": "#/components/parameters/project-id" }, + { "$ref": "#/components/parameters/username" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/repository-collaborator-permission" + }, + "examples": { + "default": { + "$ref": "#/components/examples/repository-collaborator-permission" + } + } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" }, + "415": { "$ref": "#/components/responses/preview_header_missing" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "inertia", + "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" + } + ], + "category": "projects", + "subcategory": "collaborators" + }, + "x-octokit": {} + } + }, + "/projects/{project_id}/columns": { + "get": { + "summary": "List project columns", + "description": "", + "tags": ["projects"], + "operationId": "projects/list-columns", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/projects#list-project-columns" + }, + "parameters": [ + { "$ref": "#/components/parameters/project-id" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/project-column" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/project-column-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "inertia", + "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" + } + ], + "category": "projects", + "subcategory": "columns" + }, + "x-octokit": {} + }, + "post": { + "summary": "Create a project column", + "description": "", + "tags": ["projects"], + "operationId": "projects/create-column", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/projects#create-a-project-column" + }, + "parameters": [{ "$ref": "#/components/parameters/project-id" }], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "name": { + "description": "Name of the project column", + "example": "Remaining tasks", + "type": "string" + } + }, + "required": ["name"], + "type": "object" + } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/project-column" }, + "example": { + "url": "https://api.github.com/projects/columns/367", + "project_url": "https://api.github.com/projects/120", + "cards_url": "https://api.github.com/projects/columns/367/cards", + "id": 367, + "node_id": "MDEzOlByb2plY3RDb2x1bW4zNjc=", + "name": "To Do", + "created_at": "2016-09-05T14:18:44Z", + "updated_at": "2016-09-05T14:22:28Z" + } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "422": { "$ref": "#/components/responses/validation_failed_simple" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "inertia", + "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" + } + ], + "category": "projects", + "subcategory": "columns" + }, + "x-octokit": {} + } + }, + "/rate_limit": { + "get": { + "summary": "Get rate limit status for the authenticated user", + "description": "**Note:** Accessing this endpoint does not count against your REST API rate limit.\n\n**Note:** The `rate` object is deprecated. If you're writing new API client code or updating existing code, you should use the `core` object instead of the `rate` object. The `core` object contains the same information that is present in the `rate` object.", + "tags": ["rate-limit"], + "operationId": "rate-limit/get", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/rate_limit/#get-rate-limit-status-for-the-authenticated-user" + }, + "parameters": [], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/rate-limit-overview" + }, + "examples": { + "default": { + "$ref": "#/components/examples/rate-limit-overview" + } + } + } + }, + "headers": { + "X-RateLimit-Limit": { + "$ref": "#/components/headers/x-rate-limit-limit" + }, + "X-RateLimit-Remaining": { + "$ref": "#/components/headers/x-rate-limit-remaining" + }, + "X-RateLimit-Reset": { + "$ref": "#/components/headers/x-rate-limit-reset" + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "rate-limit", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/reactions/{reaction_id}": { + "delete": { + "summary": "Delete a reaction (Legacy)", + "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Reactions API. We recommend migrating your existing code to use the new delete reactions endpoints. For more information, see this [blog post](https://developer.github.com/changes/2020-02-26-new-delete-reactions-endpoints/).\n\nOAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), when deleting a [team discussion](https://docs.github.com/rest/reference/teams#discussions) or [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments).", + "tags": ["reactions"], + "operationId": "reactions/delete-legacy", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/reactions/#delete-a-reaction-legacy" + }, + "parameters": [{ "$ref": "#/components/parameters/reaction-id" }], + "responses": { + "204": { "description": "Empty response" }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "410": { "$ref": "#/components/responses/gone" }, + "415": { "$ref": "#/components/responses/preview_header_missing" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "squirrel-girl", + "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." + } + ], + "removalDate": "2021-02-21", + "deprecationDate": "2020-02-26", + "category": "reactions", + "subcategory": null + }, + "deprecated": true, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}": { + "get": { + "summary": "Get a repository", + "description": "When you pass the `scarlet-witch-preview` media type, requests to get a repository will also return the repository's code of conduct if it can be detected from the repository's code of conduct file.\n\nThe `parent` and `source` objects are present when the repository is a fork. `parent` is the repository this repository was forked from, `source` is the ultimate source for the network.", + "tags": ["repos"], + "operationId": "repos/get", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/repos/#get-a-repository" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/full-repository" }, + "examples": { + "default-response": { + "$ref": "#/components/examples/full-repository-default-response" + }, + "response-with-scarlet-witch-preview-media-type": { + "$ref": "#/components/examples/full-repository-response-with-scarlet-witch-preview-media-type" + } + } + } + } + }, + "301": { "$ref": "#/components/responses/moved_permanently" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": false, + "name": "nebula", + "note": "You can set the visibility of a repository using the new `visibility` parameter in the [Repositories API](https://docs.github.com/rest/reference/repos/), and get a repository's visibility with a new response key. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes/).\n\nTo access repository visibility during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.nebula-preview+json\n```" + }, + { + "required": false, + "name": "scarlet-witch", + "note": "The Codes of Conduct API is currently available for developers to preview.\n\nTo access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.scarlet-witch-preview+json\n```" + } + ], + "category": "repos", + "subcategory": null + }, + "x-octokit": {} + }, + "patch": { + "summary": "Update a repository", + "description": "**Note**: To edit a repository's topics, use the [Replace all repository topics](https://docs.github.com/rest/reference/repos#replace-all-repository-topics) endpoint.", + "tags": ["repos"], + "operationId": "repos/update", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/repos/#update-a-repository" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the repository." + }, + "description": { + "type": "string", + "description": "A short description of the repository." + }, + "homepage": { + "type": "string", + "description": "A URL with more information about the repository." + }, + "private": { + "type": "boolean", + "description": "Either `true` to make the repository private or `false` to make it public. Default: `false`. \n**Note**: You will get a `422` error if the organization restricts [changing repository visibility](https://help.github.com/articles/repository-permission-levels-for-an-organization#changing-the-visibility-of-repositories) to organization owners and a non-owner tries to change the value of private. **Note**: You will get a `422` error if the organization restricts [changing repository visibility](https://help.github.com/articles/repository-permission-levels-for-an-organization#changing-the-visibility-of-repositories) to organization owners and a non-owner tries to change the value of private.", + "default": false + }, + "visibility": { + "type": "string", + "description": "Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `visibility` can also be `internal`. The `visibility` parameter overrides the `private` parameter when you use both along with the `nebula-preview` preview header.", + "enum": ["public", "private", "visibility", "internal"] + }, + "has_issues": { + "type": "boolean", + "description": "Either `true` to enable issues for this repository or `false` to disable them.", + "default": true + }, + "has_projects": { + "type": "boolean", + "description": "Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error.", + "default": true + }, + "has_wiki": { + "type": "boolean", + "description": "Either `true` to enable the wiki for this repository or `false` to disable it.", + "default": true + }, + "is_template": { + "type": "boolean", + "description": "Either `true` to make this repo available as a template repository or `false` to prevent it.", + "default": false + }, + "default_branch": { + "type": "string", + "description": "Updates the default branch for this repository." + }, + "allow_squash_merge": { + "type": "boolean", + "description": "Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging.", + "default": true + }, + "allow_merge_commit": { + "type": "boolean", + "description": "Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits.", + "default": true + }, + "allow_rebase_merge": { + "type": "boolean", + "description": "Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging.", + "default": true + }, + "delete_branch_on_merge": { + "type": "boolean", + "description": "Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion.", + "default": false + }, + "archived": { + "type": "boolean", + "description": "`true` to archive this repository. **Note**: You cannot unarchive repositories through the API.", + "default": false + } + } + }, + "example": { + "name": "Hello-World", + "description": "This is your first repository", + "homepage": "https://github.com", + "private": true, + "has_issues": true, + "has_projects": true, + "has_wiki": true + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/full-repository" }, + "examples": { + "default": { "$ref": "#/components/examples/full-repository" } + } + } + } + }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": false, + "name": "nebula", + "note": "You can set the visibility of a repository using the new `visibility` parameter in the [Repositories API](https://docs.github.com/rest/reference/repos/), and get a repository's visibility with a new response key. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes/).\n\nTo access repository visibility during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.nebula-preview+json\n```" + }, + { + "required": false, + "name": "baptiste", + "note": "The `is_template` and `template_repository` keys are currently available for developer to preview. See [Create a repository using a template](https://docs.github.com/repos#create-a-repository-using-a-template) to learn how to create template repositories. To access these new response keys during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.baptiste-preview+json\n```" + } + ], + "category": "repos", + "subcategory": null + }, + "x-octokit": {} + }, + "delete": { + "summary": "Delete a repository", + "description": "Deleting a repository requires admin access. If OAuth is used, the `delete_repo` scope is required.\n\nIf an organization owner has configured the organization to prevent members from deleting organization-owned\nrepositories, you will get a `403 Forbidden` response.", + "tags": ["repos"], + "operationId": "repos/delete", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/repos/#delete-a-repository" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "responses": { + "204": { "description": "Empty response" }, + "403": { + "description": "If an organization owner has configured the organization to prevent members from deleting organization-owned repositories, a member will get this response:", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { "type": "string" }, + "documentation_url": { "type": "string" } + } + }, + "example": { + "message": "Organization members cannot delete repositories.", + "documentation_url": "https://docs.github.com/rest/reference/repos#delete-a-repository" + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/actions/artifacts": { + "get": { + "summary": "List artifacts for a repository", + "description": "Lists all artifacts for a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", + "tags": ["actions"], + "operationId": "actions/list-artifacts-for-repo", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#list-artifacts-for-a-repository" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "total_count": { "type": "integer" }, + "artifacts": { + "type": "array", + "items": { "$ref": "#/components/schemas/artifact" } + } + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/artifact-paginated" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "artifacts" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/actions/artifacts/{artifact_id}": { + "get": { + "summary": "Get an artifact", + "description": "Gets a specific artifact for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", + "tags": ["actions"], + "operationId": "actions/get-artifact", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#get-an-artifact" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/artifact_id" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/artifact" }, + "examples": { + "default": { "$ref": "#/components/examples/artifact" } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "artifacts" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Delete an artifact", + "description": "Deletes an artifact for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint.", + "tags": ["actions"], + "operationId": "actions/delete-artifact", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#delete-an-artifact" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/artifact_id" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "artifacts" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}": { + "get": { + "summary": "Download an artifact", + "description": "Gets a redirect URL to download an archive for a repository. This URL expires after 1 minute. Look for `Location:` in\nthe response header to find the URL for the download. The `:archive_format` must be `zip`. Anyone with read access to\nthe repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope.\nGitHub Apps must have the `actions:read` permission to use this endpoint.", + "tags": ["actions"], + "operationId": "actions/download-artifact", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#download-an-artifact" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/artifact_id" }, + { + "name": "archive_format", + "in": "path", + "required": true, + "schema": { "type": "string" } + } + ], + "responses": { + "302": { + "description": "response", + "headers": { + "Location": { "$ref": "#/components/headers/location" } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "artifacts" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/actions/jobs/{job_id}": { + "get": { + "summary": "Get a job for a workflow run", + "description": "Gets a specific job in a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", + "tags": ["actions"], + "operationId": "actions/get-job-for-workflow-run", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#get-a-job-for-a-workflow-run" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/job_id" } + ], + "responses": { + "202": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/job" }, + "examples": { + "default": { "$ref": "#/components/examples/job" } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "workflow-jobs" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/actions/jobs/{job_id}/logs": { + "get": { + "summary": "Download job logs for a workflow run", + "description": "Gets a redirect URL to download a plain text file of logs for a workflow job. This link expires after 1 minute. Look\nfor `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can\nuse this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must\nhave the `actions:read` permission to use this endpoint.", + "tags": ["actions"], + "operationId": "actions/download-job-logs-for-workflow-run", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#download-job-logs-for-a-workflow-run" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/job_id" } + ], + "responses": { + "302": { + "description": "response", + "headers": { + "Location": { + "example": "https://pipelines.actions.githubusercontent.com/ab1f3cCFPB34Nd6imvFxpGZH5hNlDp2wijMwl2gDoO0bcrrlJj/_apis/pipelines/1/jobs/19/signedlogcontent?urlExpires=2020-01-22T22%3A44%3A54.1389777Z&urlSigningMethod=HMACV1&urlSignature=2TUDfIg4fm36OJmfPy6km5QD5DLCOkBVzvhWZM8B%2BUY%3D", + "schema": { "type": "string" } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "workflow-jobs" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/actions/permissions": { + "get": { + "summary": "Get GitHub Actions permissions for a repository", + "description": "Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions allowed to run in the repository.\n\nYou must authenticate using an access token with the `repo` scope to use this\nendpoint. GitHub Apps must have the `administration` repository permission to use this API.", + "operationId": "actions/get-github-actions-permissions-repository", + "tags": ["actions"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#get-github-actions-permissions-for-a-repository" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/actions-repository-permissions" + }, + "examples": { + "default": { + "$ref": "#/components/examples/actions-repository-permissions" + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [], + "category": "actions", + "subcategory": "permissions" + }, + "x-octokit": { + "changes": [ + { + "type": "OPERATION", + "date": "2020-11-10", + "before": { "operationId": "actions/get-repo-permissions" } + } + ] + } + }, + "put": { + "summary": "Set GitHub Actions permissions for a repository", + "description": "Sets the GitHub Actions permissions policy for enabling GitHub Actions and allowed actions in the repository.\n\nIf the repository belongs to an organization or enterprise that has set restrictive permissions at the organization or enterprise levels, such as `allowed_actions` to `selected` actions, then you cannot override them for the repository.\n\nYou must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API.", + "operationId": "actions/set-github-actions-permissions-repository", + "tags": ["actions"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#set-github-actions-permissions-for-a-repository" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "responses": { "204": { "description": "Empty response" } }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "enabled": { "$ref": "#/components/schemas/actions-enabled" }, + "allowed_actions": { + "$ref": "#/components/schemas/allowed-actions" + } + }, + "required": ["enabled"] + }, + "example": { "enabled": true, "allowed_actions": "selected" } + } + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [], + "category": "actions", + "subcategory": "permissions" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/actions/permissions/selected-actions": { + "get": { + "summary": "Get allowed actions for a repository", + "description": "Gets the settings for selected actions that are allowed in a repository. To use this endpoint, the repository policy for `allowed_actions` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository).\"\n\nYou must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API.", + "operationId": "actions/get-allowed-actions-repository", + "tags": ["actions"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#get-allowed-actions-for-a-repository" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/selected-actions" }, + "examples": { + "default": { + "$ref": "#/components/examples/selected-actions" + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [], + "category": "actions", + "subcategory": "permissions" + }, + "x-octokit": {} + }, + "put": { + "summary": "Set allowed actions for a repository", + "description": "Sets the actions that are allowed in a repository. To use this endpoint, the repository permission policy for `allowed_actions` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository).\"\n\nIf the repository belongs to an organization or enterprise that has `selected` actions set at the organization or enterprise levels, then you cannot override any of the allowed actions settings.\n\nTo use the `patterns_allowed` setting for private repositories, the repository must belong to an enterprise. If the repository does not belong to an enterprise, then the `patterns_allowed` setting only applies to public repositories.\n\nYou must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API.", + "operationId": "actions/set-allowed-actions-repository", + "tags": ["actions"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#set-allowed-actions-for-a-repository" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "responses": { "204": { "description": "Empty response" } }, + "requestBody": { + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/selected-actions" }, + "examples": { + "selected_actions": { + "$ref": "#/components/examples/selected-actions" + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [], + "category": "actions", + "subcategory": "permissions" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/actions/runners": { + "get": { + "summary": "List self-hosted runners for a repository", + "description": "Lists all self-hosted runners configured in a repository. You must authenticate using an access token with the `repo` scope to use this endpoint.", + "tags": ["actions"], + "operationId": "actions/list-self-hosted-runners-for-repo", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#list-self-hosted-runners-for-a-repository" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "total_count": { "type": "integer" }, + "runners": { + "type": "array", + "items": { "$ref": "#/components/schemas/runner" } + } + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/runner-paginated" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "self-hosted-runners" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/actions/runners/downloads": { + "get": { + "summary": "List runner applications for a repository", + "description": "Lists binaries for the runner application that you can download and run.\n\nYou must authenticate using an access token with the `repo` scope to use this endpoint.", + "tags": ["actions"], + "operationId": "actions/list-runner-applications-for-repo", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#list-runner-applications-for-a-repository" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/runner-application" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/runner-application-items" + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "self-hosted-runners" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/actions/runners/registration-token": { + "post": { + "summary": "Create a registration token for a repository", + "description": "Returns a token that you can pass to the `config` script. The token expires after one hour. You must authenticate\nusing an access token with the `repo` scope to use this endpoint.\n\n#### Example using registration token\n \nConfigure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint.\n\n```\n./config.sh --url https://github.com/octo-org/octo-repo-artifacts --token TOKEN\n```", + "tags": ["actions"], + "operationId": "actions/create-registration-token-for-repo", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#create-a-registration-token-for-a-repository" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/authentication-token" + }, + "examples": { + "default": { + "$ref": "#/components/examples/authentication-token" + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "self-hosted-runners" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/actions/runners/remove-token": { + "post": { + "summary": "Create a remove token for a repository", + "description": "Returns a token that you can pass to remove a self-hosted runner from a repository. The token expires after one hour.\nYou must authenticate using an access token with the `repo` scope to use this endpoint.\n\n#### Example using remove token\n \nTo remove your self-hosted runner from a repository, replace TOKEN with the remove token provided by this endpoint.\n\n```\n./config.sh remove --token TOKEN\n```", + "tags": ["actions"], + "operationId": "actions/create-remove-token-for-repo", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#create-a-remove-token-for-a-repository" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/authentication-token" + }, + "examples": { + "default": { + "$ref": "#/components/examples/authentication-token-2" + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "self-hosted-runners" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/actions/runners/{runner_id}": { + "get": { + "summary": "Get a self-hosted runner for a repository", + "description": "Gets a specific self-hosted runner configured in a repository.\n\nYou must authenticate using an access token with the `repo` scope to use this\nendpoint.", + "tags": ["actions"], + "operationId": "actions/get-self-hosted-runner-for-repo", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#get-a-self-hosted-runner-for-a-repository" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/runner_id" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/runner" }, + "examples": { + "default": { "$ref": "#/components/examples/runner" } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "self-hosted-runners" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Delete a self-hosted runner from a repository", + "description": "Forces the removal of a self-hosted runner from a repository. You can use this endpoint to completely remove the runner when the machine you were using no longer exists.\n\nYou must authenticate using an access token with the `repo`\nscope to use this endpoint.", + "tags": ["actions"], + "operationId": "actions/delete-self-hosted-runner-from-repo", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#delete-a-self-hosted-runner-from-a-repository" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/runner_id" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "self-hosted-runners" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/actions/runs": { + "get": { + "summary": "List workflow runs for a repository", + "description": "Lists all workflow runs for a repository. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters).\n\nAnyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", + "tags": ["actions"], + "operationId": "actions/list-workflow-runs-for-repo", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#list-workflow-runs-for-a-repository" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/actor" }, + { "$ref": "#/components/parameters/workflow-run-branch" }, + { "$ref": "#/components/parameters/event" }, + { "$ref": "#/components/parameters/workflow-run-status" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "total_count": { "type": "integer" }, + "workflow_runs": { + "type": "array", + "items": { "$ref": "#/components/schemas/workflow-run" } + } + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/workflow-run-paginated" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "workflow-runs" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/actions/runs/{run_id}": { + "get": { + "summary": "Get a workflow run", + "description": "Gets a specific workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", + "tags": ["actions"], + "operationId": "actions/get-workflow-run", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#get-a-workflow-run" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/run-id" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/workflow-run" }, + "examples": { + "default": { "$ref": "#/components/examples/workflow-run" } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "workflow-runs" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Delete a workflow run", + "description": "Delete a specific workflow run. Anyone with write access to the repository can use this endpoint. If the repository is\nprivate you must use an access token with the `repo` scope. GitHub Apps must have the `actions:write` permission to use\nthis endpoint.", + "operationId": "actions/delete-workflow-run", + "tags": ["actions"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#delete-a-workflow-run" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/run-id" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "workflow-runs" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/actions/runs/{run_id}/artifacts": { + "get": { + "summary": "List workflow run artifacts", + "description": "Lists artifacts for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", + "tags": ["actions"], + "operationId": "actions/list-workflow-run-artifacts", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#list-workflow-run-artifacts" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/run-id" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "total_count": { "type": "integer" }, + "artifacts": { + "type": "array", + "items": { "$ref": "#/components/schemas/artifact" } + } + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/artifact-paginated" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "artifacts" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/actions/runs/{run_id}/cancel": { + "post": { + "summary": "Cancel a workflow run", + "description": "Cancels a workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint.", + "tags": ["actions"], + "operationId": "actions/cancel-workflow-run", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#cancel-a-workflow-run" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/run-id" } + ], + "responses": { "202": { "description": "response" } }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "workflow-runs" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/actions/runs/{run_id}/jobs": { + "get": { + "summary": "List jobs for a workflow run", + "description": "Lists jobs for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters).", + "tags": ["actions"], + "operationId": "actions/list-jobs-for-workflow-run", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#list-jobs-for-a-workflow-run" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/run-id" }, + { + "name": "filter", + "description": "Filters jobs by their `completed_at` timestamp. Can be one of: \n\\* `latest`: Returns jobs from the most recent execution of the workflow run. \n\\* `all`: Returns all jobs for a workflow run, including from old executions of the workflow run.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["latest", "all"], + "default": "latest" + } + }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "total_count": { "type": "integer" }, + "jobs": { + "type": "array", + "items": { "$ref": "#/components/schemas/job" } + } + } + }, + "examples": { + "default": { "$ref": "#/components/examples/job-paginated" } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "workflow-jobs" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/actions/runs/{run_id}/logs": { + "get": { + "summary": "Download workflow run logs", + "description": "Gets a redirect URL to download an archive of log files for a workflow run. This link expires after 1 minute. Look for\n`Location:` in the response header to find the URL for the download. Anyone with read access to the repository can use\nthis endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have\nthe `actions:read` permission to use this endpoint.", + "tags": ["actions"], + "operationId": "actions/download-workflow-run-logs", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#download-workflow-run-logs" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/run-id" } + ], + "responses": { + "302": { + "description": "response", + "headers": { + "Location": { + "example": "https://pipelines.actions.githubusercontent.com/ab1f3cCFPB34Nd6imvFxpGZH5hNlDp2wijMwl2gDoO0bcrrlJj/_apis/pipelines/1/runs/19/signedlogcontent?urlExpires=2020-01-22T22%3A44%3A54.1389777Z&urlSigningMethod=HMACV1&urlSignature=2TUDfIg4fm36OJmfPy6km5QD5DLCOkBVzvhWZM8B%2BUY%3D", + "schema": { "type": "string" } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "workflow-runs" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Delete workflow run logs", + "description": "Deletes all logs for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint.", + "tags": ["actions"], + "operationId": "actions/delete-workflow-run-logs", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#delete-workflow-run-logs" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/run-id" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "workflow-runs" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/actions/runs/{run_id}/rerun": { + "post": { + "summary": "Re-run a workflow", + "description": "Re-runs your workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint.", + "tags": ["actions"], + "operationId": "actions/re-run-workflow", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#re-run-a-workflow" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/run-id" } + ], + "responses": { "201": { "description": "response" } }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "actions", + "subcategory": "workflow-runs" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/actions/runs/{run_id}/timing": { + "get": { + "summary": "Get workflow run usage", + "description": "Gets the number of billable minutes and total run time for a specific workflow run. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see \"[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)\".\n\nAnyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", + "tags": ["actions"], + "operationId": "actions/get-workflow-run-usage", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#get-workflow-run-usage" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/run-id" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/workflow-run-usage" }, + "examples": { + "default": { + "$ref": "#/components/examples/workflow-run-usage" + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "actions", + "subcategory": "workflow-runs" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/actions/secrets": { + "get": { + "summary": "List repository secrets", + "description": "Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint.", + "tags": ["actions"], + "operationId": "actions/list-repo-secrets", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#list-repository-secrets" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "total_count": { "type": "integer" }, + "secrets": { + "type": "array", + "items": { "$ref": "#/components/schemas/actions-secret" } + } + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/actions-secret-paginated" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "secrets" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/actions/secrets/public-key": { + "get": { + "summary": "Get a repository public key", + "description": "Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `secrets` repository permission to use this endpoint.", + "tags": ["actions"], + "operationId": "actions/get-repo-public-key", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#get-a-repository-public-key" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/actions-public-key" }, + "examples": { + "default": { + "$ref": "#/components/examples/actions-public-key" + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "secrets" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/actions/secrets/{secret_name}": { + "get": { + "summary": "Get a repository secret", + "description": "Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint.", + "tags": ["actions"], + "operationId": "actions/get-repo-secret", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#get-a-repository-secret" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/secret_name" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/actions-secret" }, + "examples": { + "default": { "$ref": "#/components/examples/actions-secret" } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "secrets" + }, + "x-octokit": {} + }, + "put": { + "summary": "Create or update a repository secret", + "description": "Creates or updates a repository secret with an encrypted value. Encrypt your secret using\n[LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access\ntoken with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use\nthis endpoint.\n\n#### Example encrypting a secret using Node.js\n\nEncrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library.\n\n```\nconst sodium = require('tweetsodium');\n\nconst key = \"base64-encoded-public-key\";\nconst value = \"plain-text-secret\";\n\n// Convert the message and key to Uint8Array's (Buffer implements that interface)\nconst messageBytes = Buffer.from(value);\nconst keyBytes = Buffer.from(key, 'base64');\n\n// Encrypt using LibSodium.\nconst encryptedBytes = sodium.seal(messageBytes, keyBytes);\n\n// Base64 the encrypted secret\nconst encrypted = Buffer.from(encryptedBytes).toString('base64');\n\nconsole.log(encrypted);\n```\n\n\n#### Example encrypting a secret using Python\n\nEncrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/stable/public/#nacl-public-sealedbox) with Python 3.\n\n```\nfrom base64 import b64encode\nfrom nacl import encoding, public\n\ndef encrypt(public_key: str, secret_value: str) -> str:\n \"\"\"Encrypt a Unicode string using the public key.\"\"\"\n public_key = public.PublicKey(public_key.encode(\"utf-8\"), encoding.Base64Encoder())\n sealed_box = public.SealedBox(public_key)\n encrypted = sealed_box.encrypt(secret_value.encode(\"utf-8\"))\n return b64encode(encrypted).decode(\"utf-8\")\n```\n\n#### Example encrypting a secret using C#\n\nEncrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package.\n\n```\nvar secretValue = System.Text.Encoding.UTF8.GetBytes(\"mySecret\");\nvar publicKey = Convert.FromBase64String(\"2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU=\");\n\nvar sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey);\n\nConsole.WriteLine(Convert.ToBase64String(sealedPublicKeyBox));\n```\n\n#### Example encrypting a secret using Ruby\n\nEncrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem.\n\n```ruby\nrequire \"rbnacl\"\nrequire \"base64\"\n\nkey = Base64.decode64(\"+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=\")\npublic_key = RbNaCl::PublicKey.new(key)\n\nbox = RbNaCl::Boxes::Sealed.from_public_key(public_key)\nencrypted_secret = box.encrypt(\"my_secret\")\n\n# Print the base64 encoded secret\nputs Base64.strict_encode64(encrypted_secret)\n```", + "tags": ["actions"], + "operationId": "actions/create-or-update-repo-secret", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#create-or-update-a-repository-secret" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/secret_name" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "encrypted_value": { + "type": "string", + "description": "Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/rest/reference/actions#get-a-repository-public-key) endpoint." + }, + "key_id": { + "type": "string", + "description": "ID of the key you used to encrypt the secret." + } + } + }, + "example": { + "encrypted_value": "****************************************************************************************", + "key_id": "012345678912345678" + } + } + } + }, + "responses": { + "201": { "description": "Response when creating a secret" }, + "204": { "description": "Response when updating a secret" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "secrets" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Delete a repository secret", + "description": "Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint.", + "tags": ["actions"], + "operationId": "actions/delete-repo-secret", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#delete-a-repository-secret" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/secret_name" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "secrets" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/actions/workflows": { + "get": { + "summary": "List repository workflows", + "description": "Lists the workflows in a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", + "tags": ["actions"], + "operationId": "actions/list-repo-workflows", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#list-repository-workflows" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "total_count": { "type": "integer" }, + "workflows": { + "type": "array", + "items": { "$ref": "#/components/schemas/workflow" } + } + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/workflow-paginated" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "workflows" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}": { + "get": { + "summary": "Get a workflow", + "description": "Gets a specific workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", + "tags": ["actions"], + "operationId": "actions/get-workflow", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#get-a-workflow" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/workflow-id" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/workflow" }, + "examples": { + "default": { "$ref": "#/components/examples/workflow" } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "workflows" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable": { + "put": { + "summary": "Disable a workflow", + "description": "Disables a workflow and sets the `state` of the workflow to `disabled_manually`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`.\n\nYou must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint.", + "tags": ["actions"], + "operationId": "actions/disable-workflow", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#disable-a-workflow" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/workflow-id" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "workflows" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches": { + "post": { + "summary": "Create a workflow dispatch event", + "description": "You can use this endpoint to manually trigger a GitHub Actions workflow run. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`.\n\nYou must configure your GitHub Actions workflow to run when the [`workflow_dispatch` webhook](/developers/webhooks-and-events/webhook-events-and-payloads#workflow_dispatch) event occurs. The `inputs` are configured in the workflow file. For more information about how to configure the `workflow_dispatch` event in the workflow file, see \"[Events that trigger workflows](/actions/reference/events-that-trigger-workflows#workflow_dispatch).\"\n\nYou must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. For more information, see \"[Creating a personal access token for the command line](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line).\"", + "operationId": "actions/create-workflow-dispatch", + "tags": ["actions"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#create-a-workflow-dispatch-event" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/workflow-id" } + ], + "responses": { "204": { "description": "Empty response" } }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "ref": { + "type": "string", + "description": "The git reference for the workflow. The reference can be a branch or tag name." + }, + "inputs": { + "type": "object", + "description": "Input keys and values configured in the workflow file. The maximum number of properties is 10. Any default properties configured in the workflow file will be used when `inputs` are omitted.", + "additionalProperties": { "type": "string" }, + "maxProperties": 10 + } + }, + "required": ["ref"] + }, + "example": { + "ref": "topic-branch", + "inputs": { + "name": "Mona the Octocat", + "home": "San Francisco, CA" + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "workflows" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable": { + "put": { + "summary": "Enable a workflow", + "description": "Enables a workflow and sets the `state` of the workflow to `active`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`.\n\nYou must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint.", + "tags": ["actions"], + "operationId": "actions/enable-workflow", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#enable-a-workflow" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/workflow-id" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "workflows" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs": { + "get": { + "summary": "List workflow runs", + "description": "List all workflow runs for a workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters).\n\nAnyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope.", + "tags": ["actions"], + "operationId": "actions/list-workflow-runs", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#list-workflow-runs" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/workflow-id" }, + { "$ref": "#/components/parameters/actor" }, + { "$ref": "#/components/parameters/workflow-run-branch" }, + { "$ref": "#/components/parameters/event" }, + { "$ref": "#/components/parameters/workflow-run-status" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "total_count": { "type": "integer" }, + "workflow_runs": { + "type": "array", + "items": { "$ref": "#/components/schemas/workflow-run" } + } + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/workflow-run-paginated" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "actions", + "subcategory": "workflow-runs" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing": { + "get": { + "summary": "Get workflow usage", + "description": "Gets the number of billable minutes used by a specific workflow during the current billing cycle. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see \"[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)\".\n\nYou can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.", + "tags": ["actions"], + "operationId": "actions/get-workflow-usage", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/actions#get-workflow-usage" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/workflow-id" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/workflow-usage" }, + "examples": { + "default": { "$ref": "#/components/examples/workflow-usage" } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "actions", + "subcategory": "workflows" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/assignees": { + "get": { + "summary": "List assignees", + "description": "Lists the [available assignees](https://help.github.com/articles/assigning-issues-and-pull-requests-to-other-github-users/) for issues in a repository.", + "tags": ["issues"], + "operationId": "issues/list-assignees", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/issues#list-assignees" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/simple-user" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/simple-user-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "issues", + "subcategory": "assignees" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/assignees/{assignee}": { + "get": { + "summary": "Check if a user can be assigned", + "description": "Checks if a user has permission to be assigned to an issue in this repository.\n\nIf the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned.\n\nOtherwise a `404` status code is returned.", + "tags": ["issues"], + "operationId": "issues/check-user-can-be-assigned", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/issues#check-if-a-user-can-be-assigned" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { + "name": "assignee", + "in": "path", + "required": true, + "schema": { "type": "string" } + } + ], + "responses": { + "204": { + "description": "If the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned." + }, + "404": { + "description": "Otherwise a `404` status code is returned.", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/basic-error" } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "issues", + "subcategory": "assignees" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/automated-security-fixes": { + "put": { + "summary": "Enable automated security fixes", + "description": "Enables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see \"[Configuring automated security fixes](https://help.github.com/en/articles/configuring-automated-security-fixes)\".", + "tags": ["repos"], + "operationId": "repos/enable-automated-security-fixes", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/repos/#enable-automated-security-fixes" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "london", + "note": "Enabling or disabling automated security fixes is currently available for developers to preview. To access this new endpoint during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.london-preview+json\n```" + } + ], + "category": "repos", + "subcategory": null + }, + "x-octokit": {} + }, + "delete": { + "summary": "Disable automated security fixes", + "description": "Disables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see \"[Configuring automated security fixes](https://help.github.com/en/articles/configuring-automated-security-fixes)\".", + "tags": ["repos"], + "operationId": "repos/disable-automated-security-fixes", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/repos/#disable-automated-security-fixes" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "london", + "note": "Enabling or disabling automated security fixes is currently available for developers to preview. To access this new endpoint during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.london-preview+json\n```" + } + ], + "category": "repos", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/branches": { + "get": { + "summary": "List branches", + "description": "", + "tags": ["repos"], + "operationId": "repos/list-branches", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#list-branches" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { + "name": "protected", + "description": "Setting to `true` returns only protected branches. When set to `false`, only unprotected branches are returned. Omitting this parameter returns all branches.", + "in": "query", + "required": false, + "schema": { "type": "boolean" } + }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/short-branch" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/short-branch-items" + }, + "with-protection": { + "$ref": "#/components/examples/short-branch-with-protection-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "branches" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/branches/{branch}": { + "get": { + "summary": "Get a branch", + "description": "", + "tags": ["repos"], + "operationId": "repos/get-branch", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#get-a-branch" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/branch" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/branch-with-protection" + }, + "examples": { + "default": { + "$ref": "#/components/examples/branch-with-protection" + } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" }, + "415": { "$ref": "#/components/responses/preview_header_missing" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "branches" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/branches/{branch}/protection": { + "get": { + "summary": "Get branch protection", + "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.", + "tags": ["repos"], + "operationId": "repos/get-branch-protection", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#get-branch-protection" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/branch" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/branch-protection" }, + "examples": { + "default": { + "$ref": "#/components/examples/branch-protection" + } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": false, + "name": "luke-cage", + "note": "The Protected Branches API now has a setting for requiring a specified number of approving pull request reviews before merging. This feature is currently available for developers to preview. See the [blog post](https://developer.github.com/changes/2018-03-16-protected-branches-required-approving-reviews) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.luke-cage-preview+json\n```" + } + ], + "category": "repos", + "subcategory": "branches" + }, + "x-octokit": {} + }, + "put": { + "summary": "Update branch protection", + "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nProtecting a branch requires admin or owner permissions to the repository.\n\n**Note**: Passing new arrays of `users` and `teams` replaces their previous values.\n\n**Note**: The list of users, apps, and teams in total is limited to 100 items.", + "tags": ["repos"], + "operationId": "repos/update-branch-protection", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#update-branch-protection" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/branch" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "required_status_checks": { + "type": "object", + "description": "Require status checks to pass before merging. Set to `null` to disable.", + "nullable": true, + "properties": { + "strict": { + "type": "boolean", + "description": "Require branches to be up to date before merging." + }, + "contexts": { + "type": "array", + "description": "The list of status checks to require in order to merge into this branch", + "items": { "type": "string" } + } + }, + "required": ["strict", "contexts"] + }, + "enforce_admins": { + "type": "boolean", + "description": "Enforce all configured restrictions for administrators. Set to `true` to enforce required status checks for repository administrators. Set to `null` to disable.", + "nullable": true + }, + "required_pull_request_reviews": { + "type": "object", + "description": "Require at least one approving review on a pull request, before merging. Set to `null` to disable.", + "nullable": true, + "properties": { + "dismissal_restrictions": { + "type": "object", + "description": "Specify which users and teams can dismiss pull request reviews. Pass an empty `dismissal_restrictions` object to disable. User and team `dismissal_restrictions` are only available for organization-owned repositories. Omit this parameter for personal repositories.", + "properties": { + "users": { + "type": "array", + "description": "The list of user `login`s with dismissal access", + "items": { "type": "string" } + }, + "teams": { + "type": "array", + "description": "The list of team `slug`s with dismissal access", + "items": { "type": "string" } + } + } + }, + "dismiss_stale_reviews": { + "type": "boolean", + "description": "Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit." + }, + "require_code_owner_reviews": { + "type": "boolean", + "description": "Blocks merging pull requests until [code owners](https://help.github.com/articles/about-code-owners/) review them." + }, + "required_approving_review_count": { + "type": "integer", + "description": "Specify the number of reviewers required to approve pull requests. Use a number between 1 and 6." + } + } + }, + "restrictions": { + "type": "object", + "description": "Restrict who can push to the protected branch. User, app, and team `restrictions` are only available for organization-owned repositories. Set to `null` to disable.", + "nullable": true, + "properties": { + "users": { + "type": "array", + "description": "The list of user `login`s with push access", + "items": { "type": "string" } + }, + "teams": { + "type": "array", + "description": "The list of team `slug`s with push access", + "items": { "type": "string" } + }, + "apps": { + "type": "array", + "description": "The list of app `slug`s with push access", + "items": { "type": "string" } + } + }, + "required": ["users", "teams"] + }, + "required_linear_history": { + "type": "boolean", + "description": "Enforces a linear commit Git history, which prevents anyone from pushing merge commits to a branch. Set to `true` to enforce a linear commit history. Set to `false` to disable a linear commit Git history. Your repository must allow squash merging or rebase merging before you can enable a linear commit history. Default: `false`. For more information, see \"[Requiring a linear commit history](https://help.github.com/github/administering-a-repository/requiring-a-linear-commit-history)\" in the GitHub Help documentation." + }, + "allow_force_pushes": { + "type": "boolean", + "description": "Permits force pushes to the protected branch by anyone with write access to the repository. Set to `true` to allow force pushes. Set to `false` or `null` to block force pushes. Default: `false`. For more information, see \"[Enabling force pushes to a protected branch](https://help.github.com/en/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)\" in the GitHub Help documentation.\"", + "nullable": true + }, + "allow_deletions": { + "type": "boolean", + "description": "Allows deletion of the protected branch by anyone with write access to the repository. Set to `false` to prevent deletion of the protected branch. Default: `false`. For more information, see \"[Enabling force pushes to a protected branch](https://help.github.com/en/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)\" in the GitHub Help documentation." + } + }, + "required": [ + "required_status_checks", + "enforce_admins", + "required_pull_request_reviews", + "restrictions" + ] + }, + "example": { + "required_status_checks": { + "strict": true, + "contexts": ["continuous-integration/travis-ci"] + }, + "enforce_admins": true, + "required_pull_request_reviews": { + "dismissal_restrictions": { + "users": ["octocat"], + "teams": ["justice-league"] + }, + "dismiss_stale_reviews": true, + "require_code_owner_reviews": true, + "required_approving_review_count": 2 + }, + "restrictions": { + "users": ["octocat"], + "teams": ["justice-league"], + "apps": ["super-ci"] + }, + "required_linear_history": true, + "allow_force_pushes": true, + "allow_deletions": true + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/protected-branch" } + } + } + }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" }, + "415": { "$ref": "#/components/responses/preview_header_missing" }, + "422": { "$ref": "#/components/responses/validation_failed_simple" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": false, + "name": "luke-cage", + "note": "The Protected Branches API now has a setting for requiring a specified number of approving pull request reviews before merging. This feature is currently available for developers to preview. See the [blog post](https://developer.github.com/changes/2018-03-16-protected-branches-required-approving-reviews) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.luke-cage-preview+json\n```" + } + ], + "category": "repos", + "subcategory": "branches" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Delete branch protection", + "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.", + "tags": ["repos"], + "operationId": "repos/delete-branch-protection", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#delete-branch-protection" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/branch" } + ], + "responses": { + "204": { "description": "Empty response" }, + "403": { "$ref": "#/components/responses/forbidden" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "branches" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins": { + "get": { + "summary": "Get admin branch protection", + "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.", + "tags": ["repos"], + "operationId": "repos/get-admin-branch-protection", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#get-admin-branch-protection" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/branch" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/protected-branch-admin-enforced" + }, + "examples": { + "default": { + "$ref": "#/components/examples/protected-branch-admin-enforced-2" + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "branches" + }, + "x-octokit": {} + }, + "post": { + "summary": "Set admin branch protection", + "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nAdding admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled.", + "tags": ["repos"], + "operationId": "repos/set-admin-branch-protection", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#set-admin-branch-protection" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/branch" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/protected-branch-admin-enforced" + }, + "examples": { + "default": { + "$ref": "#/components/examples/protected-branch-admin-enforced-2" + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "branches" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Delete admin branch protection", + "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nRemoving admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled.", + "tags": ["repos"], + "operationId": "repos/delete-admin-branch-protection", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#delete-admin-branch-protection" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/branch" } + ], + "responses": { + "204": { "description": "No Content" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "branches" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews": { + "get": { + "summary": "Get pull request review protection", + "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.", + "tags": ["repos"], + "operationId": "repos/get-pull-request-review-protection", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#get-pull-request-review-protection" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/branch" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/vnd.github.luke-cage-preview+json": { + "schema": { + "$ref": "#/components/schemas/protected-branch-pull-request-review" + }, + "examples": { + "default": { + "$ref": "#/components/examples/protected-branch-pull-request-review" + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": false, + "name": "luke-cage", + "note": "The Protected Branches API now has a setting for requiring a specified number of approving pull request reviews before merging. This feature is currently available for developers to preview. See the [blog post](https://developer.github.com/changes/2018-03-16-protected-branches-required-approving-reviews) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.luke-cage-preview+json\n```" + } + ], + "category": "repos", + "subcategory": "branches" + }, + "x-octokit": {} + }, + "patch": { + "summary": "Update pull request review protection", + "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nUpdating pull request review enforcement requires admin or owner permissions to the repository and branch protection to be enabled.\n\n**Note**: Passing new arrays of `users` and `teams` replaces their previous values.", + "tags": ["repos"], + "operationId": "repos/update-pull-request-review-protection", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#update-pull-request-review-protection" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/branch" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "dismissal_restrictions": { + "type": "object", + "description": "Specify which users and teams can dismiss pull request reviews. Pass an empty `dismissal_restrictions` object to disable. User and team `dismissal_restrictions` are only available for organization-owned repositories. Omit this parameter for personal repositories.", + "properties": { + "users": { + "type": "array", + "description": "The list of user `login`s with dismissal access", + "items": { "type": "string" } + }, + "teams": { + "type": "array", + "description": "The list of team `slug`s with dismissal access", + "items": { "type": "string" } + } + } + }, + "dismiss_stale_reviews": { + "type": "boolean", + "description": "Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit." + }, + "require_code_owner_reviews": { + "type": "boolean", + "description": "Blocks merging pull requests until [code owners](https://help.github.com/articles/about-code-owners/) have reviewed." + }, + "required_approving_review_count": { + "type": "integer", + "description": "Specifies the number of reviewers required to approve pull requests. Use a number between 1 and 6." + } + } + }, + "example": { + "dismissal_restrictions": { + "users": ["octocat"], + "teams": ["justice-league"] + }, + "dismiss_stale_reviews": true, + "require_code_owner_reviews": true, + "required_approving_review_count": 2 + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/protected-branch-pull-request-review" + }, + "examples": { + "default": { + "$ref": "#/components/examples/protected-branch-pull-request-review" + } + } + } + } + }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": false, + "name": "luke-cage", + "note": "The Protected Branches API now has a setting for requiring a specified number of approving pull request reviews before merging. This feature is currently available for developers to preview. See the [blog post](https://developer.github.com/changes/2018-03-16-protected-branches-required-approving-reviews) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.luke-cage-preview+json\n```" + } + ], + "category": "repos", + "subcategory": "branches" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Delete pull request review protection", + "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.", + "tags": ["repos"], + "operationId": "repos/delete-pull-request-review-protection", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#delete-pull-request-review-protection" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/branch" } + ], + "responses": { + "204": { "description": "No Content" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "branches" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures": { + "get": { + "summary": "Get commit signature protection", + "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nWhen authenticated with admin or owner permissions to the repository, you can use this endpoint to check whether a branch requires signed commits. An enabled status of `true` indicates you must sign commits on this branch. For more information, see [Signing commits with GPG](https://help.github.com/articles/signing-commits-with-gpg) in GitHub Help.\n\n**Note**: You must enable branch protection to require signed commits.", + "tags": ["repos"], + "operationId": "repos/get-commit-signature-protection", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#get-commit-signature-protection" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/branch" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/protected-branch-admin-enforced" + }, + "examples": { + "default": { + "$ref": "#/components/examples/protected-branch-admin-enforced" + } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "zzzax", + "note": "Protected Branches API can now manage a setting for requiring signed commits. This feature is currently available for developers to preview. See the [blog post](https://developer.github.com/changes/2018-02-22-protected-branches-required-signatures) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.zzzax-preview+json\n```" + } + ], + "category": "repos", + "subcategory": "branches" + }, + "x-octokit": {} + }, + "post": { + "summary": "Create commit signature protection", + "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nWhen authenticated with admin or owner permissions to the repository, you can use this endpoint to require signed commits on a branch. You must enable branch protection to require signed commits.", + "tags": ["repos"], + "operationId": "repos/create-commit-signature-protection", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#create-commit-signature-protection" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/branch" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/protected-branch-admin-enforced" + }, + "examples": { + "default": { + "$ref": "#/components/examples/protected-branch-admin-enforced" + } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "zzzax", + "note": "Protected Branches API can now manage a setting for requiring signed commits. This feature is currently available for developers to preview. See the [blog post](https://developer.github.com/changes/2018-02-22-protected-branches-required-signatures) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.zzzax-preview+json\n```" + } + ], + "category": "repos", + "subcategory": "branches" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Delete commit signature protection", + "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nWhen authenticated with admin or owner permissions to the repository, you can use this endpoint to disable required signed commits on a branch. You must enable branch protection to require signed commits.", + "tags": ["repos"], + "operationId": "repos/delete-commit-signature-protection", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#delete-commit-signature-protection" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/branch" } + ], + "responses": { + "204": { "description": "No Content" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "zzzax", + "note": "Protected Branches API can now manage a setting for requiring signed commits. This feature is currently available for developers to preview. See the [blog post](https://developer.github.com/changes/2018-02-22-protected-branches-required-signatures) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.zzzax-preview+json\n```" + } + ], + "category": "repos", + "subcategory": "branches" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks": { + "get": { + "summary": "Get status checks protection", + "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.", + "tags": ["repos"], + "operationId": "repos/get-status-checks-protection", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#get-status-checks-protection" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/branch" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/status-check-policy" + }, + "examples": { + "default": { + "$ref": "#/components/examples/status-check-policy" + } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "branches" + }, + "x-octokit": {} + }, + "patch": { + "summary": "Update status check protection", + "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nUpdating required status checks requires admin or owner permissions to the repository and branch protection to be enabled.", + "tags": ["repos"], + "operationId": "repos/update-status-check-protection", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#update-status-check-potection" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/branch" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "strict": { + "type": "boolean", + "description": "Require branches to be up to date before merging." + }, + "contexts": { + "type": "array", + "description": "The list of status checks to require in order to merge into this branch", + "items": { "type": "string" } + } + } + }, + "example": { + "strict": true, + "contexts": ["continuous-integration/travis-ci"] + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/status-check-policy" + }, + "examples": { + "default": { + "$ref": "#/components/examples/status-check-policy" + } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "branches" + }, + "x-octokit": { + "changes": [ + { + "type": "OPERATION", + "date": "2020-09-17", + "before": { "operationId": "repos/update-status-check-potection" } + } + ] + } + }, + "delete": { + "summary": "Remove status check protection", + "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.", + "tags": ["repos"], + "operationId": "repos/remove-status-check-protection", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#remove-status-check-protection" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/branch" } + ], + "responses": { "204": { "description": "No Content" } }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "branches" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts": { + "get": { + "summary": "Get all status check contexts", + "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.", + "tags": ["repos"], + "operationId": "repos/get-all-status-check-contexts", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#get-all-status-check-contexts" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/branch" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "type": "array", "items": { "type": "string" } }, + "example": ["continuous-integration/travis-ci"] + } + } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "branches" + }, + "x-octokit": {} + }, + "post": { + "summary": "Add status check contexts", + "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.", + "tags": ["repos"], + "operationId": "repos/add-status-check-contexts", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#add-status-check-contexts" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/branch" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "contexts": { + "type": "array", + "description": "contexts parameter", + "items": { "type": "string" } + } + }, + "required": ["contexts"], + "example": { "contexts": ["contexts"] } + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "type": "array", "items": { "type": "string" } }, + "example": [ + "continuous-integration/travis-ci", + "continuous-integration/jenkins" + ] + } + } + }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "requestBodyParameterName": "contexts", + "category": "repos", + "subcategory": "branches" + }, + "x-octokit": {} + }, + "put": { + "summary": "Set status check contexts", + "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.", + "tags": ["repos"], + "operationId": "repos/set-status-check-contexts", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#set-status-check-contexts" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/branch" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "contexts": { + "type": "array", + "description": "contexts parameter", + "items": { "type": "string" } + } + }, + "required": ["contexts"], + "example": { "contexts": ["contexts"] } + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "type": "array", "items": { "type": "string" } }, + "example": ["continuous-integration/travis-ci"] + } + } + }, + "404": { "$ref": "#/components/responses/not_found" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "requestBodyParameterName": "contexts", + "category": "repos", + "subcategory": "branches" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Remove status check contexts", + "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.", + "tags": ["repos"], + "operationId": "repos/remove-status-check-contexts", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#remove-status-check-contexts" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/branch" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "contexts": { + "type": "array", + "description": "contexts parameter", + "items": { "type": "string" } + } + }, + "required": ["contexts"], + "example": { "contexts": ["contexts"] } + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "type": "array", "items": { "type": "string" } }, + "example": ["continuous-integration/travis-ci"] + } + } + }, + "404": { "$ref": "#/components/responses/not_found" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "requestBodyParameterName": "contexts", + "category": "repos", + "subcategory": "branches" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions": { + "get": { + "summary": "Get access restrictions", + "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nLists who has access to this protected branch.\n\n**Note**: Users, apps, and teams `restrictions` are only available for organization-owned repositories.", + "tags": ["repos"], + "operationId": "repos/get-access-restrictions", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#get-access-restrictions" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/branch" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/branch-restriction-policy" + }, + "examples": { + "default": { + "$ref": "#/components/examples/branch-restriction-policy" + } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "branches" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Delete access restrictions", + "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nDisables the ability to restrict who can push to this branch.", + "tags": ["repos"], + "operationId": "repos/delete-access-restrictions", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#delete-access-restrictions" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/branch" } + ], + "responses": { "204": { "description": "No Content" } }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "branches" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps": { + "get": { + "summary": "Get apps with access to the protected branch", + "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nLists the GitHub Apps that have push access to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch.", + "tags": ["repos"], + "operationId": "repos/get-apps-with-access-to-protected-branch", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#list-apps-with-access-to-the-protected-branch" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/branch" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/integration" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/integration-items" + } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "branches" + }, + "x-octokit": {} + }, + "post": { + "summary": "Add app access restrictions", + "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nGrants the specified apps push access for this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch.\n\n| Type | Description |\n| ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `array` | The GitHub Apps that have push access to this branch. Use the app's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. |", + "tags": ["repos"], + "operationId": "repos/add-app-access-restrictions", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#add-app-access-restrictions" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/branch" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "apps": { + "type": "array", + "description": "apps parameter", + "items": { "type": "string" } + } + }, + "required": ["apps"], + "example": { "apps": ["my-app"] } + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/integration" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/integration-items" + } + } + } + } + }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "requestBodyParameterName": "apps", + "category": "repos", + "subcategory": "branches" + }, + "x-octokit": {} + }, + "put": { + "summary": "Set app access restrictions", + "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nReplaces the list of apps that have push access to this branch. This removes all apps that previously had push access and grants push access to the new list of apps. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch.\n\n| Type | Description |\n| ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `array` | The GitHub Apps that have push access to this branch. Use the app's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. |", + "tags": ["repos"], + "operationId": "repos/set-app-access-restrictions", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#set-app-access-restrictions" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/branch" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "apps": { + "type": "array", + "description": "apps parameter", + "items": { "type": "string" } + } + }, + "required": ["apps"], + "example": { "apps": ["my-app"] } + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/integration" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/integration-items" + } + } + } + } + }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "requestBodyParameterName": "apps", + "category": "repos", + "subcategory": "branches" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Remove app access restrictions", + "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nRemoves the ability of an app to push to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch.\n\n| Type | Description |\n| ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `array` | The GitHub Apps that have push access to this branch. Use the app's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. |", + "tags": ["repos"], + "operationId": "repos/remove-app-access-restrictions", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#remove-app-access-restrictions" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/branch" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "apps": { + "type": "array", + "description": "apps parameter", + "items": { "type": "string" } + } + }, + "required": ["apps"], + "example": { "apps": ["my-app"] } + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/integration" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/integration-items" + } + } + } + } + }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "requestBodyParameterName": "apps", + "category": "repos", + "subcategory": "branches" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams": { + "get": { + "summary": "Get teams with access to the protected branch", + "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nLists the teams who have push access to this branch. The list includes child teams.", + "tags": ["repos"], + "operationId": "repos/get-teams-with-access-to-protected-branch", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#list-teams-with-access-to-the-protected-branch" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/branch" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/team" } + }, + "examples": { + "default": { "$ref": "#/components/examples/team-items" } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "branches" + }, + "x-octokit": {} + }, + "post": { + "summary": "Add team access restrictions", + "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nGrants the specified teams push access for this branch. You can also give push access to child teams.\n\n| Type | Description |\n| ------- | ------------------------------------------------------------------------------------------------------------------------------------------ |\n| `array` | The teams that can have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. |", + "tags": ["repos"], + "operationId": "repos/add-team-access-restrictions", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#add-team-access-restrictions" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/branch" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "teams": { + "type": "array", + "description": "teams parameter", + "items": { "type": "string" } + } + }, + "required": ["teams"], + "example": { "teams": ["my-team"] } + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/team" } + }, + "examples": { + "default": { "$ref": "#/components/examples/team-items" } + } + } + } + }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "requestBodyParameterName": "teams", + "category": "repos", + "subcategory": "branches" + }, + "x-octokit": {} + }, + "put": { + "summary": "Set team access restrictions", + "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nReplaces the list of teams that have push access to this branch. This removes all teams that previously had push access and grants push access to the new list of teams. Team restrictions include child teams.\n\n| Type | Description |\n| ------- | ------------------------------------------------------------------------------------------------------------------------------------------ |\n| `array` | The teams that can have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. |", + "tags": ["repos"], + "operationId": "repos/set-team-access-restrictions", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#set-team-access-restrictions" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/branch" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "teams": { + "type": "array", + "description": "teams parameter", + "items": { "type": "string" } + } + }, + "required": ["teams"], + "example": { "teams": ["my-team"] } + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/team" } + }, + "examples": { + "default": { "$ref": "#/components/examples/team-items" } + } + } + } + }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "requestBodyParameterName": "teams", + "category": "repos", + "subcategory": "branches" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Remove team access restrictions", + "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nRemoves the ability of a team to push to this branch. You can also remove push access for child teams.\n\n| Type | Description |\n| ------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `array` | Teams that should no longer have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. |", + "tags": ["repos"], + "operationId": "repos/remove-team-access-restrictions", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#remove-team-access-restrictions" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/branch" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "teams": { + "type": "array", + "description": "teams parameter", + "items": { "type": "string" } + } + }, + "required": ["teams"], + "example": { "teams": ["my-team"] } + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/team" } + }, + "examples": { + "default": { "$ref": "#/components/examples/team-items" } + } + } + } + }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "requestBodyParameterName": "teams", + "category": "repos", + "subcategory": "branches" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users": { + "get": { + "summary": "Get users with access to the protected branch", + "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nLists the people who have push access to this branch.", + "tags": ["repos"], + "operationId": "repos/get-users-with-access-to-protected-branch", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#list-users-with-access-to-the-protected-branch" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/branch" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/simple-user" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/simple-user-items" + } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "branches" + }, + "x-octokit": {} + }, + "post": { + "summary": "Add user access restrictions", + "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nGrants the specified people push access for this branch.\n\n| Type | Description |\n| ------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. |", + "tags": ["repos"], + "operationId": "repos/add-user-access-restrictions", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#add-user-access-restrictions" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/branch" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "users": { + "type": "array", + "description": "users parameter", + "items": { "type": "string" } + } + }, + "required": ["users"], + "example": { "users": ["mona"] } + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/simple-user" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/simple-user-items" + } + } + } + } + }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "requestBodyParameterName": "users", + "category": "repos", + "subcategory": "branches" + }, + "x-octokit": {} + }, + "put": { + "summary": "Set user access restrictions", + "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nReplaces the list of people that have push access to this branch. This removes all people that previously had push access and grants push access to the new list of people.\n\n| Type | Description |\n| ------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. |", + "tags": ["repos"], + "operationId": "repos/set-user-access-restrictions", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#set-user-access-restrictions" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/branch" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "users": { + "type": "array", + "description": "users parameter", + "items": { "type": "string" } + } + }, + "required": ["users"], + "example": { "users": ["mona"] } + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/simple-user" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/simple-user-items" + } + } + } + } + }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "requestBodyParameterName": "users", + "category": "repos", + "subcategory": "branches" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Remove user access restrictions", + "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nRemoves the ability of a user to push to this branch.\n\n| Type | Description |\n| ------- | --------------------------------------------------------------------------------------------------------------------------------------------- |\n| `array` | Usernames of the people who should no longer have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. |", + "tags": ["repos"], + "operationId": "repos/remove-user-access-restrictions", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#remove-user-access-restrictions" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/branch" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "users": { + "type": "array", + "description": "users parameter", + "items": { "type": "string" } + } + }, + "required": ["users"], + "example": { "users": ["mona"] } + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/simple-user" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/simple-user-items" + } + } + } + } + }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "requestBodyParameterName": "users", + "category": "repos", + "subcategory": "branches" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/check-runs": { + "post": { + "summary": "Create a check run", + "description": "**Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array.\n\nCreates a new check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to create check runs.\n\nIn a check suite, GitHub limits the number of check runs with the same name to 1000. Once these check runs exceed 1000, GitHub will start to automatically delete older check runs.", + "tags": ["checks"], + "operationId": "checks/create", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/checks#create-a-check-run" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the check. For example, \"code-coverage\"." + }, + "head_sha": { + "type": "string", + "description": "The SHA of the commit." + }, + "details_url": { + "type": "string", + "description": "The URL of the integrator's site that has the full details of the check. If the integrator does not provide this, then the homepage of the GitHub app is used." + }, + "external_id": { + "type": "string", + "description": "A reference for the run on the integrator's system." + }, + "status": { + "type": "string", + "description": "The current status. Can be one of `queued`, `in_progress`, or `completed`.", + "enum": ["queued", "in_progress", "completed"], + "default": "queued" + }, + "started_at": { + "type": "string", + "description": "The time that the check run began. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`." + }, + "conclusion": { + "type": "string", + "description": "**Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. Can be one of `success`, `failure`, `neutral`, `cancelled`, `skipped`, `timed_out`, or `action_required`. When the conclusion is `action_required`, additional details should be provided on the site specified by `details_url`. \n**Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. Only GitHub can change a check run conclusion to `stale`.", + "enum": [ + "success", + "failure", + "neutral", + "cancelled", + "skipped", + "timed_out", + "action_required" + ] + }, + "completed_at": { + "type": "string", + "description": "The time the check completed. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`." + }, + "output": { + "type": "object", + "description": "Check runs can accept a variety of data in the `output` object, including a `title` and `summary` and can optionally provide descriptive details about the run. See the [`output` object](https://docs.github.com/rest/reference/checks#output-object) description.", + "properties": { + "title": { + "type": "string", + "description": "The title of the check run." + }, + "summary": { + "type": "string", + "description": "The summary of the check run. This parameter supports Markdown." + }, + "text": { + "type": "string", + "description": "The details of the check run. This parameter supports Markdown." + }, + "annotations": { + "type": "array", + "description": "Adds information from your analysis to specific lines of code. Annotations are visible on GitHub in the **Checks** and **Files changed** tab of the pull request. The Checks API limits the number of annotations to a maximum of 50 per API request. To create more than 50 annotations, you have to make multiple requests to the [Update a check run](https://docs.github.com/rest/reference/checks#update-a-check-run) endpoint. Each time you update the check run, annotations are appended to the list of annotations that already exist for the check run. For details about how you can view annotations on GitHub, see \"[About status checks](https://help.github.com/articles/about-status-checks#checks)\". See the [`annotations` object](https://docs.github.com/rest/reference/checks#annotations-object) description for details about how to use this parameter.", + "items": { + "type": "object", + "properties": { + "path": { + "type": "string", + "description": "The path of the file to add an annotation to. For example, `assets/css/main.css`." + }, + "start_line": { + "type": "integer", + "description": "The start line of the annotation." + }, + "end_line": { + "type": "integer", + "description": "The end line of the annotation." + }, + "start_column": { + "type": "integer", + "description": "The start column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values." + }, + "end_column": { + "type": "integer", + "description": "The end column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values." + }, + "annotation_level": { + "type": "string", + "description": "The level of the annotation. Can be one of `notice`, `warning`, or `failure`.", + "enum": ["notice", "warning", "failure"] + }, + "message": { + "type": "string", + "description": "A short description of the feedback for these lines of code. The maximum size is 64 KB." + }, + "title": { + "type": "string", + "description": "The title that represents the annotation. The maximum size is 255 characters." + }, + "raw_details": { + "type": "string", + "description": "Details about this annotation. The maximum size is 64 KB." + } + }, + "required": [ + "path", + "start_line", + "end_line", + "annotation_level", + "message" + ] + } + }, + "images": { + "type": "array", + "description": "Adds images to the output displayed in the GitHub pull request UI. See the [`images` object](https://docs.github.com/rest/reference/checks#images-object) description for details.", + "items": { + "type": "object", + "properties": { + "alt": { + "type": "string", + "description": "The alternative text for the image." + }, + "image_url": { + "type": "string", + "description": "The full URL of the image." + }, + "caption": { + "type": "string", + "description": "A short image description." + } + }, + "required": ["alt", "image_url"] + } + } + }, + "required": ["title", "summary"] + }, + "actions": { + "type": "array", + "description": "Displays a button on GitHub that can be clicked to alert your app to do additional tasks. For example, a code linting app can display a button that automatically fixes detected errors. The button created in this object is displayed after the check run completes. When a user clicks the button, GitHub sends the [`check_run.requested_action` webhook](https://docs.github.com/webhooks/event-payloads/#check_run) to your app. Each action includes a `label`, `identifier` and `description`. A maximum of three actions are accepted. See the [`actions` object](https://docs.github.com/rest/reference/checks#actions-object) description. To learn more about check runs and requested actions, see \"[Check runs and requested actions](https://docs.github.com/rest/reference/checks#check-runs-and-requested-actions).\" To learn more about check runs and requested actions, see \"[Check runs and requested actions](https://docs.github.com/rest/reference/checks#check-runs-and-requested-actions).\"", + "items": { + "type": "object", + "properties": { + "label": { + "type": "string", + "description": "The text to be displayed on a button in the web UI. The maximum size is 20 characters." + }, + "description": { + "type": "string", + "description": "A short explanation of what this action would do. The maximum size is 40 characters." + }, + "identifier": { + "type": "string", + "description": "A reference for the action on the integrator's system. The maximum size is 20 characters." + } + }, + "required": ["label", "description", "identifier"] + } + } + }, + "required": ["name", "head_sha"] + }, + "examples": { + "example-of-in-progress-conclusion": { + "summary": "Example of in_progress conclusion", + "value": { + "name": "mighty_readme", + "head_sha": "ce587453ced02b1526dfb4cb910479d431683101", + "status": "in_progress", + "external_id": "42", + "started_at": "2018-05-04T01:14:52Z", + "output": { + "title": "Mighty Readme report", + "summary": "", + "text": "" + } + } + }, + "example-of-completed-conclusion": { + "summary": "Example of completed conclusion", + "value": { + "name": "mighty_readme", + "head_sha": "ce587453ced02b1526dfb4cb910479d431683101", + "status": "completed", + "started_at": "2017-11-30T19:39:10Z", + "conclusion": "success", + "completed_at": "2017-11-30T19:49:10Z", + "output": { + "title": "Mighty Readme report", + "summary": "There are 0 failures, 2 warnings, and 1 notices.", + "text": "You may have some misspelled words on lines 2 and 4. You also may want to add a section in your README about how to install your app.", + "annotations": [ + { + "path": "README.md", + "annotation_level": "warning", + "title": "Spell Checker", + "message": "Check your spelling for 'banaas'.", + "raw_details": "Do you mean 'bananas' or 'banana'?", + "start_line": 2, + "end_line": 2 + }, + { + "path": "README.md", + "annotation_level": "warning", + "title": "Spell Checker", + "message": "Check your spelling for 'aples'", + "raw_details": "Do you mean 'apples' or 'Naples'", + "start_line": 4, + "end_line": 4 + } + ], + "images": [ + { + "alt": "Super bananas", + "image_url": "http://example.com/images/42" + } + ] + }, + "actions": [ + { + "label": "Fix", + "identifier": "fix_errors", + "description": "Allow us to fix these errors for you" + } + ] + } + } + } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/check-run" }, + "examples": { + "example-of-in-progress-conclusion": { + "$ref": "#/components/examples/check-run-example-of-in-progress-conclusion" + }, + "example-of-completed-conclusion": { + "$ref": "#/components/examples/check-run-example-of-completed-conclusion" + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "checks", + "subcategory": "runs" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/check-runs/{check_run_id}": { + "get": { + "summary": "Get a check run", + "description": "**Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array.\n\nGets a single check run using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository.", + "tags": ["checks"], + "operationId": "checks/get", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/checks#get-a-check-run" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/check_run_id" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/check-run" }, + "examples": { + "default": { "$ref": "#/components/examples/check-run" } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "checks", + "subcategory": "runs" + }, + "x-octokit": {} + }, + "patch": { + "summary": "Update a check run", + "description": "**Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array.\n\nUpdates a check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to edit check runs.", + "tags": ["checks"], + "operationId": "checks/update", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/checks#update-a-check-run" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/check_run_id" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the check. For example, \"code-coverage\"." + }, + "details_url": { + "type": "string", + "description": "The URL of the integrator's site that has the full details of the check." + }, + "external_id": { + "type": "string", + "description": "A reference for the run on the integrator's system." + }, + "started_at": { + "type": "string", + "description": "This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`." + }, + "status": { + "type": "string", + "description": "The current status. Can be one of `queued`, `in_progress`, or `completed`.", + "enum": ["queued", "in_progress", "completed"] + }, + "conclusion": { + "type": "string", + "description": "**Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. Can be one of `success`, `failure`, `neutral`, `cancelled`, `skipped`, `timed_out`, or `action_required`. \n**Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. Only GitHub can change a check run conclusion to `stale`.", + "enum": [ + "success", + "failure", + "neutral", + "cancelled", + "skipped", + "timed_out", + "action_required" + ] + }, + "completed_at": { + "type": "string", + "description": "The time the check completed. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`." + }, + "output": { + "type": "object", + "description": "Check runs can accept a variety of data in the `output` object, including a `title` and `summary` and can optionally provide descriptive details about the run. See the [`output` object](https://docs.github.com/rest/reference/checks#output-object-1) description.", + "properties": { + "title": { + "type": "string", + "description": "**Required**." + }, + "summary": { + "type": "string", + "description": "Can contain Markdown." + }, + "text": { + "type": "string", + "description": "Can contain Markdown." + }, + "annotations": { + "type": "array", + "description": "Adds information from your analysis to specific lines of code. Annotations are visible in GitHub's pull request UI. Annotations are visible in GitHub's pull request UI. The Checks API limits the number of annotations to a maximum of 50 per API request. To create more than 50 annotations, you have to make multiple requests to the [Update a check run](https://docs.github.com/rest/reference/checks#update-a-check-run) endpoint. Each time you update the check run, annotations are appended to the list of annotations that already exist for the check run. For details about annotations in the UI, see \"[About status checks](https://help.github.com/articles/about-status-checks#checks)\". See the [`annotations` object](https://docs.github.com/rest/reference/checks#annotations-object-1) description for details.", + "items": { + "type": "object", + "properties": { + "path": { + "type": "string", + "description": "The path of the file to add an annotation to. For example, `assets/css/main.css`." + }, + "start_line": { + "type": "integer", + "description": "The start line of the annotation." + }, + "end_line": { + "type": "integer", + "description": "The end line of the annotation." + }, + "start_column": { + "type": "integer", + "description": "The start column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values." + }, + "end_column": { + "type": "integer", + "description": "The end column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values." + }, + "annotation_level": { + "type": "string", + "description": "The level of the annotation. Can be one of `notice`, `warning`, or `failure`.", + "enum": ["notice", "warning", "failure"] + }, + "message": { + "type": "string", + "description": "A short description of the feedback for these lines of code. The maximum size is 64 KB." + }, + "title": { + "type": "string", + "description": "The title that represents the annotation. The maximum size is 255 characters." + }, + "raw_details": { + "type": "string", + "description": "Details about this annotation. The maximum size is 64 KB." + } + }, + "required": [ + "path", + "start_line", + "end_line", + "annotation_level", + "message" + ] + } + }, + "images": { + "type": "array", + "description": "Adds images to the output displayed in the GitHub pull request UI. See the [`images` object](https://docs.github.com/rest/reference/checks#annotations-object-1) description for details.", + "items": { + "type": "object", + "properties": { + "alt": { + "type": "string", + "description": "The alternative text for the image." + }, + "image_url": { + "type": "string", + "description": "The full URL of the image." + }, + "caption": { + "type": "string", + "description": "A short image description." + } + }, + "required": ["alt", "image_url"] + } + } + }, + "required": ["summary"] + }, + "actions": { + "type": "array", + "description": "Possible further actions the integrator can perform, which a user may trigger. Each action includes a `label`, `identifier` and `description`. A maximum of three actions are accepted. See the [`actions` object](https://docs.github.com/rest/reference/checks#actions-object) description. To learn more about check runs and requested actions, see \"[Check runs and requested actions](https://docs.github.com/rest/reference/checks#check-runs-and-requested-actions).\"", + "items": { + "type": "object", + "properties": { + "label": { + "type": "string", + "description": "The text to be displayed on a button in the web UI. The maximum size is 20 characters." + }, + "description": { + "type": "string", + "description": "A short explanation of what this action would do. The maximum size is 40 characters." + }, + "identifier": { + "type": "string", + "description": "A reference for the action on the integrator's system. The maximum size is 20 characters." + } + }, + "required": ["label", "description", "identifier"] + } + } + } + }, + "example": { + "name": "mighty_readme", + "started_at": "2018-05-04T01:14:52Z", + "status": "completed", + "conclusion": "success", + "completed_at": "2018-05-04T01:14:52Z", + "output": { + "title": "Mighty Readme report", + "summary": "There are 0 failures, 2 warnings, and 1 notices.", + "text": "You may have some misspelled words on lines 2 and 4. You also may want to add a section in your README about how to install your app.", + "annotations": [ + { + "path": "README.md", + "annotation_level": "warning", + "title": "Spell Checker", + "message": "Check your spelling for 'banaas'.", + "raw_details": "Do you mean 'bananas' or 'banana'?", + "start_line": 2, + "end_line": 2 + }, + { + "path": "README.md", + "annotation_level": "warning", + "title": "Spell Checker", + "message": "Check your spelling for 'aples'", + "raw_details": "Do you mean 'apples' or 'Naples'", + "start_line": 4, + "end_line": 4 + } + ], + "images": [ + { + "alt": "Super bananas", + "image_url": "http://example.com/images/42" + } + ] + } + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/check-run" }, + "examples": { + "default": { "$ref": "#/components/examples/check-run" } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "checks", + "subcategory": "runs" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/check-runs/{check_run_id}/annotations": { + "get": { + "summary": "List check run annotations", + "description": "Lists annotations for a check run using the annotation `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get annotations for a check run. OAuth Apps and authenticated users must have the `repo` scope to get annotations for a check run in a private repository.", + "tags": ["checks"], + "operationId": "checks/list-annotations", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/checks#list-check-run-annotations" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/check_run_id" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/check-annotation" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/check-annotation-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "checks", + "subcategory": "runs" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/check-suites": { + "post": { + "summary": "Create a check suite", + "description": "**Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`.\n\nBy default, check suites are automatically created when you create a [check run](https://docs.github.com/rest/reference/checks#check-runs). You only need to use this endpoint for manually creating check suites when you've disabled automatic creation using \"[Update repository preferences for check suites](https://docs.github.com/rest/reference/checks#update-repository-preferences-for-check-suites)\". Your GitHub App must have the `checks:write` permission to create check suites.", + "tags": ["checks"], + "operationId": "checks/create-suite", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/checks#create-a-check-suite" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "head_sha": { + "type": "string", + "description": "The sha of the head commit." + } + }, + "required": ["head_sha"] + }, + "example": { + "head_sha": "d6fde92930d4715a2b49857d24b940956b26d2d3" + } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/check-suite" }, + "examples": { + "default": { "$ref": "#/components/examples/check-suite" } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "checks", + "subcategory": "suites" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/check-suites/preferences": { + "patch": { + "summary": "Update repository preferences for check suites", + "description": "Changes the default automatic flow when creating check suites. By default, a check suite is automatically created each time code is pushed to a repository. When you disable the automatic creation of check suites, you can manually [Create a check suite](https://docs.github.com/rest/reference/checks#create-a-check-suite). You must have admin permissions in the repository to set preferences for check suites.", + "tags": ["checks"], + "operationId": "checks/set-suites-preferences", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/checks#update-repository-preferences-for-check-suites" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "auto_trigger_checks": { + "type": "array", + "description": "Enables or disables automatic creation of CheckSuite events upon pushes to the repository. Enabled by default. See the [`auto_trigger_checks` object](https://docs.github.com/rest/reference/checks#auto_trigger_checks-object) description for details.", + "items": { + "type": "object", + "properties": { + "app_id": { + "type": "integer", + "description": "The `id` of the GitHub App." + }, + "setting": { + "type": "boolean", + "description": "Set to `true` to enable automatic creation of CheckSuite events upon pushes to the repository, or `false` to disable them.", + "default": true + } + }, + "required": ["app_id", "setting"] + } + } + } + }, + "example": { + "auto_trigger_checks": [{ "app_id": 4, "setting": false }] + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/check-suite-preference" + }, + "examples": { + "default": { + "$ref": "#/components/examples/check-suite-preference" + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "checks", + "subcategory": "suites" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/check-suites/{check_suite_id}": { + "get": { + "summary": "Get a check suite", + "description": "**Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`.\n\nGets a single check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check suites. OAuth Apps and authenticated users must have the `repo` scope to get check suites in a private repository.", + "tags": ["checks"], + "operationId": "checks/get-suite", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/checks#get-a-check-suite" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/check_suite_id" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/check-suite" }, + "examples": { + "default": { "$ref": "#/components/examples/check-suite" } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "checks", + "subcategory": "suites" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs": { + "get": { + "summary": "List check runs in a check suite", + "description": "**Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array.\n\nLists check runs for a check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository.", + "tags": ["checks"], + "operationId": "checks/list-for-suite", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/checks#list-check-runs-in-a-check-suite" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/check_suite_id" }, + { "$ref": "#/components/parameters/check_name" }, + { "$ref": "#/components/parameters/status" }, + { + "name": "filter", + "description": "Filters check runs by their `completed_at` timestamp. Can be one of `latest` (returning the most recent check runs) or `all`.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["latest", "all"], + "default": "latest" + } + }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "total_count": { "type": "integer" }, + "check_runs": { + "type": "array", + "items": { "$ref": "#/components/schemas/check-run" } + } + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/check-run-paginated" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "checks", + "subcategory": "runs" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest": { + "post": { + "summary": "Rerequest a check suite", + "description": "Triggers GitHub to rerequest an existing check suite, without pushing new code to a repository. This endpoint will trigger the [`check_suite` webhook](https://docs.github.com/webhooks/event-payloads/#check_suite) event with the action `rerequested`. When a check suite is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared.\n\nTo rerequest a check suite, your GitHub App must have the `checks:read` permission on a private repository or pull access to a public repository.", + "tags": ["checks"], + "operationId": "checks/rerequest-suite", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/checks#rerequest-a-check-suite" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/check_suite_id" } + ], + "responses": { "201": { "description": "response" } }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "checks", + "subcategory": "suites" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/code-scanning/alerts": { + "get": { + "summary": "List code scanning alerts for a repository", + "description": "Lists all open code scanning alerts for the default branch (usually `main` or `master`). For private repos, you must use an access token with the `repo` scope. For public repos, you must use an access token with `public_repo` and `repo:security_events` scopes. GitHub Apps must have the `security_events` read permission to use this endpoint.", + "tags": ["code-scanning"], + "operationId": "code-scanning/list-alerts-for-repo", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/code-scanning/#list-code-scanning-alerts-for-a-repository" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { + "name": "state", + "description": "Set to `open`, `fixed`, or `dismissed` to list code scanning alerts in a specific state.", + "in": "query", + "required": false, + "schema": { + "$ref": "#/components/schemas/code-scanning-alert-state" + } + }, + { + "name": "ref", + "in": "query", + "description": "Set a full Git reference to list alerts for a specific branch. The `ref` must be formatted as `refs/heads/`.", + "required": false, + "schema": { "$ref": "#/components/schemas/code-scanning-alert-ref" } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/code-scanning-alert-code-scanning-alert-items" + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/code-scanning-alert-code-scanning-alert-items" + } + } + } + } + }, + "404": { + "description": "Response if the ref does not match an existing ref" + }, + "503": { "$ref": "#/components/responses/service_unavailable" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "code-scanning", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}": { + "get": { + "summary": "Get a code scanning alert", + "description": "Gets a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` read permission to use this endpoint.\n\nThe security `alert_number` is found at the end of the security alert's URL. For example, the security alert ID for `https://github.com/Octo-org/octo-repo/security/code-scanning/88` is `88`.", + "tags": ["code-scanning"], + "operationId": "code-scanning/get-alert", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/code-scanning/#get-a-code-scanning-alert" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { + "name": "alert_number", + "in": "path", + "required": true, + "schema": { "type": "integer" } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/code-scanning-alert-code-scanning-alert" + }, + "examples": { + "default": { + "$ref": "#/components/examples/code-scanning-alert-code-scanning-alert" + } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" }, + "503": { "$ref": "#/components/responses/service_unavailable" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "code-scanning", + "subcategory": null + }, + "x-octokit": { + "changes": [ + { + "type": "PARAMETER", + "date": "2020-09-17", + "parameter": "alert_number", + "before": { "name": "alert_id" } + } + ] + } + }, + "patch": { + "summary": "Update a code scanning alert", + "description": "Updates the status of a single code scanning alert. For private repos, you must use an access token with the `repo` scope. For public repos, you must use an access token with `public_repo` and `repo:security_events` scopes.\nGitHub Apps must have the `security_events` write permission to use this endpoint.", + "operationId": "code-scanning/update-alert", + "tags": ["code-scanning"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/code-scanning/#upload-a-code-scanning-alert" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/alert_number" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "state": { + "$ref": "#/components/schemas/code-scanning-alert-set-state" + }, + "dismissed_reason": { + "$ref": "#/components/schemas/code-scanning-alert-dismissed-reason" + } + }, + "required": ["state"] + }, + "example": { + "state": "dismissed", + "dismissed_reason": "false positive" + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/code-scanning-alert-code-scanning-alert" + }, + "examples": { + "default": { + "$ref": "#/components/examples/code-scanning-alert-code-scanning-alert-dismissed" + } + } + } + } + }, + "403": { "description": "Response if the repository is archived" }, + "503": { + "description": "Response when code scanning is not available and you should try again at a later time" + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [], + "category": "code-scanning" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/code-scanning/analyses": { + "get": { + "summary": "List recent code scanning analyses for a repository", + "description": "List the details of recent code scanning analyses for a repository. For private repos, you must use an access token with the `repo` scope. For public repos, you must use an access token with `public_repo` and `repo:security_events` scopes. GitHub Apps must have the `security_events` read permission to use this endpoint.", + "operationId": "code-scanning/list-recent-analyses", + "tags": ["code-scanning"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/code-scanning/#list-recent-analyses" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { + "name": "ref", + "in": "query", + "description": "Set a full Git reference to list alerts for a specific branch. The `ref` must be formatted as `refs/heads/`.", + "required": false, + "schema": { + "$ref": "#/components/schemas/code-scanning-analysis-ref" + } + }, + { + "name": "tool_name", + "in": "query", + "description": "Set a single code scanning tool name to filter alerts by tool.", + "required": false, + "schema": { + "$ref": "#/components/schemas/code-scanning-analysis-tool-name" + } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/code-scanning-analysis-code-scanning-analysis" + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/code-scanning-analysis-code-scanning-analysis-items" + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [], + "category": "code-scanning" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/code-scanning/sarifs": { + "post": { + "summary": "Upload a SARIF file", + "description": "Upload a SARIF file containing the results of a code scanning analysis to make the results available in a repository.\nFor private repos, you must use an access token with the `repo` scope. For public repos, you must use an access token with `public_repo` and `repo:security_events` scopes. GitHub Apps must have the `security_events` write permission to use this endpoint.", + "operationId": "code-scanning/upload-sarif", + "tags": ["code-scanning"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/code-scanning/#upload-a-sarif-analysis" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "commit_sha": { + "$ref": "#/components/schemas/code-scanning-analysis-commit-sha" + }, + "ref": { + "$ref": "#/components/schemas/code-scanning-analysis-ref" + }, + "sarif": { + "$ref": "#/components/schemas/code-scanning-analysis-sarif-file" + }, + "checkout_uri": { + "description": "The base directory used in the analysis, as it appears in the SARIF file.\nThis property is used to convert file paths from absolute to relative, so that alerts can be mapped to their correct location in the repository.", + "example": "file:///github/workspace/", + "type": "string", + "format": "uri" + }, + "started_at": { + "description": "The time that the analysis run began. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.", + "format": "date", + "type": "string" + }, + "tool_name": { + "$ref": "#/components/schemas/code-scanning-analysis-tool-name" + } + }, + "required": ["commit_sha", "ref", "sarif", "tool_name"] + }, + "example": { + "commit_sha": "9a450a043b9038ba86722926570d2312cff6aba8", + "ref": "refs/heads/main", + "sarif": "REPLACE_ME", + "tool_name": "codeql" + } + } + } + }, + "responses": { + "202": { "description": "response" }, + "400": { "description": "Response if the `sarif` field is invalid" }, + "403": { "description": "Response if the repository is archived" }, + "404": { + "description": "Response if `commit_sha` or `ref` cannot be found" + }, + "413": { "description": "Response if the `sarif` field is too large" } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [], + "category": "code-scanning" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/collaborators": { + "get": { + "summary": "List repository collaborators", + "description": "For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners.\n\nTeam members will include the members of child teams.", + "tags": ["repos"], + "operationId": "repos/list-collaborators", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#list-repository-collaborators" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { + "name": "affiliation", + "description": "Filter collaborators returned by their affiliation. Can be one of: \n\\* `outside`: All outside collaborators of an organization-owned repository. \n\\* `direct`: All collaborators with permissions to an organization-owned repository, regardless of organization membership status. \n\\* `all`: All collaborators the authenticated user can see.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["outside", "direct", "all"], + "default": "all" + } + }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/collaborator" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/collaborator-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "collaborators" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/collaborators/{username}": { + "get": { + "summary": "Check if a user is a repository collaborator", + "description": "For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners.\n\nTeam members will include the members of child teams.", + "tags": ["repos"], + "operationId": "repos/check-collaborator", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#check-if-a-user-is-a-repository-collaborator" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/username" } + ], + "responses": { + "204": { "description": "Response if user is a collaborator" }, + "404": { "description": "Response if user is not a collaborator" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "collaborators" + }, + "x-octokit": {} + }, + "put": { + "summary": "Add a repository collaborator", + "description": "This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)\" for details.\n\nFor more information the permission levels, see \"[Repository permission levels for an organization](https://help.github.com/en/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)\".\n\nNote that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs).\"\n\nThe invitee will receive a notification that they have been invited to the repository, which they must accept or decline. They may do this via the notifications page, the email they receive, or by using the [repository invitations API endpoints](https://docs.github.com/rest/reference/repos#invitations).\n\n**Rate limits**\n\nTo prevent abuse, you are limited to sending 50 invitations to a repository per 24 hour period. Note there is no limit if you are inviting organization members to an organization repository.", + "tags": ["repos"], + "operationId": "repos/add-collaborator", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#add-a-repository-collaborator" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/username" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "permission": { + "type": "string", + "description": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository. \n\\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. \n\\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access.", + "enum": ["pull", "push", "admin", "maintain", "triage"], + "default": "push" + }, + "permissions": { "type": "string", "example": "\"push\"" } + } + } + } + } + }, + "responses": { + "201": { + "description": "Response when a new invitation is created", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/repository-invitation" + }, + "examples": { + "response-when-a-new-invitation-is-created": { + "$ref": "#/components/examples/repository-invitation-response-when-a-new-invitation-is-created" + } + } + } + } + }, + "204": { + "description": "Response when person is already a collaborator" + }, + "403": { "$ref": "#/components/responses/forbidden" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "triggersNotification": true, + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "collaborators" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Remove a repository collaborator", + "description": "", + "tags": ["repos"], + "operationId": "repos/remove-collaborator", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#remove-a-repository-collaborator" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/username" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "collaborators" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/collaborators/{username}/permission": { + "get": { + "summary": "Get repository permissions for a user", + "description": "Checks the repository permission of a collaborator. The possible repository permissions are `admin`, `write`, `read`, and `none`.", + "tags": ["repos"], + "operationId": "repos/get-collaborator-permission-level", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#get-repository-permissions-for-a-user" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/username" } + ], + "responses": { + "200": { + "description": "Response if user has admin permissions", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/repository-collaborator-permission" + }, + "examples": { + "response-if-user-has-admin-permissions": { + "$ref": "#/components/examples/repository-collaborator-permission-response-if-user-has-admin-permissions" + } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "collaborators" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/comments": { + "get": { + "summary": "List commit comments for a repository", + "description": "Commit Comments use [these custom media types](https://docs.github.com/rest/reference/repos#custom-media-types). You can read more about the use of media types in the API [here](https://docs.github.com/rest/overview/media-types/).\n\nComments are ordered by ascending ID.", + "tags": ["repos"], + "operationId": "repos/list-commit-comments-for-repo", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#list-commit-comments-for-a-repository" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/commit-comment" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/commit-comment-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": false, + "name": "squirrel-girl", + "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." + } + ], + "category": "repos", + "subcategory": "comments" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/comments/{comment_id}": { + "get": { + "summary": "Get a commit comment", + "description": "", + "tags": ["repos"], + "operationId": "repos/get-commit-comment", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#get-a-commit-comment" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/comment_id" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/commit-comment" }, + "examples": { + "default": { "$ref": "#/components/examples/commit-comment" } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": false, + "name": "squirrel-girl", + "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." + } + ], + "category": "repos", + "subcategory": "comments" + }, + "x-octokit": {} + }, + "patch": { + "summary": "Update a commit comment", + "description": "", + "tags": ["repos"], + "operationId": "repos/update-commit-comment", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#update-a-commit-comment" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/comment_id" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "body": { + "type": "string", + "description": "The contents of the comment" + } + }, + "required": ["body"] + }, + "example": { "body": "Nice change" } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/commit-comment" }, + "examples": { + "default": { + "$ref": "#/components/examples/commit-comment-2" + } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "comments" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Delete a commit comment", + "description": "", + "tags": ["repos"], + "operationId": "repos/delete-commit-comment", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#delete-a-commit-comment" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/comment_id" } + ], + "responses": { + "204": { "description": "Empty response" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "comments" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/comments/{comment_id}/reactions": { + "get": { + "summary": "List reactions for a commit comment", + "description": "List the reactions to a [commit comment](https://docs.github.com/rest/reference/repos#comments).", + "tags": ["reactions"], + "operationId": "reactions/list-for-commit-comment", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/reactions/#list-reactions-for-a-commit-comment" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/comment_id" }, + { + "name": "content", + "description": "Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a commit comment.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ] + } + }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/reaction" } + }, + "examples": { + "default": { "$ref": "#/components/examples/reaction-items" } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "404": { "$ref": "#/components/responses/not_found" }, + "415": { "$ref": "#/components/responses/preview_header_missing" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "squirrel-girl", + "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." + } + ], + "category": "reactions", + "subcategory": null + }, + "x-octokit": {} + }, + "post": { + "summary": "Create reaction for a commit comment", + "description": "Create a reaction to a [commit comment](https://docs.github.com/rest/reference/repos#comments). A response with a `Status: 200 OK` means that you already added the reaction type to this commit comment.", + "tags": ["reactions"], + "operationId": "reactions/create-for-commit-comment", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/reactions/#create-reaction-for-a-commit-comment" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/comment_id" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "content": { + "type": "string", + "description": "The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the commit comment.", + "enum": [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ] + } + }, + "required": ["content"] + }, + "example": { "content": "heart" } + } + } + }, + "responses": { + "200": { + "description": "Reaction exists", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/reaction" }, + "examples": { + "default": { "$ref": "#/components/examples/reaction" } + } + } + } + }, + "201": { + "description": "Reaction created", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/reaction" }, + "examples": { + "default": { "$ref": "#/components/examples/reaction" } + } + } + } + }, + "415": { "$ref": "#/components/responses/preview_header_missing" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "squirrel-girl", + "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." + } + ], + "category": "reactions", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}": { + "delete": { + "summary": "Delete a commit comment reaction", + "description": "**Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/comments/:comment_id/reactions/:reaction_id`.\n\nDelete a reaction to a [commit comment](https://docs.github.com/rest/reference/repos#comments).", + "tags": ["reactions"], + "operationId": "reactions/delete-for-commit-comment", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/reactions/#delete-a-commit-comment-reaction" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/comment_id" }, + { "$ref": "#/components/parameters/reaction-id" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "squirrel-girl", + "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." + } + ], + "category": "reactions", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/commits": { + "get": { + "summary": "List commits", + "description": "**Signature verification object**\n\nThe response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object:\n\n| Name | Type | Description |\n| ---- | ---- | ----------- |\n| `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. |\n| `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. |\n| `signature` | `string` | The signature that was extracted from the commit. |\n| `payload` | `string` | The value that was signed. |\n\nThese are the possible values for `reason` in the `verification` object:\n\n| Value | Description |\n| ----- | ----------- |\n| `expired_key` | The key that made the signature is expired. |\n| `not_signing_key` | The \"signing\" flag is not among the usage flags in the GPG key that made the signature. |\n| `gpgverify_error` | There was an error communicating with the signature verification service. |\n| `gpgverify_unavailable` | The signature verification service is currently unavailable. |\n| `unsigned` | The object does not include a signature. |\n| `unknown_signature_type` | A non-PGP signature was found in the commit. |\n| `no_user` | No user was associated with the `committer` email address in the commit. |\n| `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. |\n| `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. |\n| `unknown_key` | The key that made the signature has not been registered with any user's account. |\n| `malformed_signature` | There was an error parsing the signature. |\n| `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. |\n| `valid` | None of the above errors applied, so the signature is considered to be verified. |", + "tags": ["repos"], + "operationId": "repos/list-commits", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#list-commits" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { + "name": "sha", + "description": "SHA or branch to start listing commits from. Default: the repository’s default branch (usually `master`).", + "in": "query", + "required": false, + "schema": { "type": "string" } + }, + { + "name": "path", + "description": "Only commits containing this file path will be returned.", + "in": "query", + "required": false, + "schema": { "type": "string" } + }, + { + "name": "author", + "description": "GitHub login or email address by which to filter by commit author.", + "in": "query", + "required": false, + "schema": { "type": "string" } + }, + { "$ref": "#/components/parameters/since" }, + { + "name": "until", + "description": "Only commits before this date will be returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.", + "in": "query", + "required": false, + "schema": { "type": "string" } + }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/commit" } + }, + "examples": { + "default": { "$ref": "#/components/examples/commit-items" } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "400": { "$ref": "#/components/responses/bad_request" }, + "404": { "$ref": "#/components/responses/not_found" }, + "409": { "$ref": "#/components/responses/conflict" }, + "500": { "$ref": "#/components/responses/internal_error" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "commits" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head": { + "get": { + "summary": "List branches for HEAD commit", + "description": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nReturns all branches where the given commit SHA is the HEAD, or latest commit for the branch.", + "tags": ["repos"], + "operationId": "repos/list-branches-for-head-commit", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#list-branches-for-head-commit" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/commit_sha" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/branch-short" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/branch-short-items" + } + } + } + } + }, + "415": { "$ref": "#/components/responses/preview_header_missing" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "groot", + "note": "Listing branches or pull requests for a commit in the Commits API is currently available for developers to preview. See the [blog post](https://developer.github.com/changes/2019-04-11-pulls-branches-for-commit/) for more details. To access the new endpoints during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.groot-preview+json\n```" + } + ], + "category": "repos", + "subcategory": "commits" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/commits/{commit_sha}/comments": { + "get": { + "summary": "List commit comments", + "description": "Use the `:commit_sha` to specify the commit that will have its comments listed.", + "tags": ["repos"], + "operationId": "repos/list-comments-for-commit", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#list-commit-comments" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/commit_sha" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/commit-comment" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/commit-comment-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": false, + "name": "squirrel-girl", + "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." + } + ], + "category": "repos", + "subcategory": "comments" + }, + "x-octokit": {} + }, + "post": { + "summary": "Create a commit comment", + "description": "Create a comment for a commit using its `:commit_sha`.\n\nThis endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)\" for details.", + "tags": ["repos"], + "operationId": "repos/create-commit-comment", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#create-a-commit-comment" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/commit_sha" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "body": { + "type": "string", + "description": "The contents of the comment." + }, + "path": { + "type": "string", + "description": "Relative path of the file to comment on." + }, + "position": { + "type": "integer", + "description": "Line index in the diff to comment on." + }, + "line": { + "type": "integer", + "description": "**Deprecated**. Use **position** parameter instead. Line number in the file to comment on." + } + }, + "required": ["body"] + }, + "example": { + "body": "Great stuff", + "path": "file1.txt", + "position": 4, + "line": 1 + } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/commit-comment" }, + "examples": { + "default": { "$ref": "#/components/examples/commit-comment" } + } + } + }, + "headers": { + "Location": { + "example": "https://api.github.com/repos/octocat/Hello-World/comments/1", + "schema": { "type": "string" } + } + } + }, + "403": { "$ref": "#/components/responses/forbidden" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "triggersNotification": true, + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "comments" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/commits/{commit_sha}/pulls": { + "get": { + "summary": "List pull requests associated with a commit", + "description": "Lists all pull requests containing the provided commit SHA, which can be from any point in the commit history. The results will include open and closed pull requests. Additional preview headers may be required to see certain details for associated pull requests, such as whether a pull request is in a draft state. For more information about previews that might affect this endpoint, see the [List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests) endpoint.", + "tags": ["repos"], + "operationId": "repos/list-pull-requests-associated-with-commit", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#list-pull-requests-associated-with-a-commit" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/commit_sha" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/pull-request-simple" + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/pull-request-simple-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "415": { "$ref": "#/components/responses/preview_header_missing" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "groot", + "note": "Listing branches or pull requests for a commit in the Commits API is currently available for developers to preview. See the [blog post](https://developer.github.com/changes/2019-04-11-pulls-branches-for-commit/) for more details. To access the new endpoints during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.groot-preview+json\n```" + } + ], + "category": "repos", + "subcategory": "commits" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/commits/{ref}": { + "get": { + "summary": "Get a commit", + "description": "Returns the contents of a single commit reference. You must have `read` access for the repository to use this endpoint.\n\n**Note:** If there are more than 300 files in the commit diff, the response will include pagination link headers for the remaining files, up to a limit of 3000 files. Each page contains the static commit information, and the only changes are to the file listing.\n\nYou can pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch `diff` and `patch` formats. Diffs with binary data will have no `patch` property.\n\nTo return only the SHA-1 hash of the commit reference, you can provide the `sha` custom [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) in the `Accept` header. You can use this endpoint to check if a remote reference's SHA-1 hash is the same as your local reference's SHA-1 hash by providing the local SHA-1 reference as the ETag.\n\n**Signature verification object**\n\nThe response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object:\n\n| Name | Type | Description |\n| ---- | ---- | ----------- |\n| `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. |\n| `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. |\n| `signature` | `string` | The signature that was extracted from the commit. |\n| `payload` | `string` | The value that was signed. |\n\nThese are the possible values for `reason` in the `verification` object:\n\n| Value | Description |\n| ----- | ----------- |\n| `expired_key` | The key that made the signature is expired. |\n| `not_signing_key` | The \"signing\" flag is not among the usage flags in the GPG key that made the signature. |\n| `gpgverify_error` | There was an error communicating with the signature verification service. |\n| `gpgverify_unavailable` | The signature verification service is currently unavailable. |\n| `unsigned` | The object does not include a signature. |\n| `unknown_signature_type` | A non-PGP signature was found in the commit. |\n| `no_user` | No user was associated with the `committer` email address in the commit. |\n| `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. |\n| `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. |\n| `unknown_key` | The key that made the signature has not been registered with any user's account. |\n| `malformed_signature` | There was an error parsing the signature. |\n| `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. |\n| `valid` | None of the above errors applied, so the signature is considered to be verified. |", + "tags": ["repos"], + "operationId": "repos/get-commit", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#get-a-commit" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { + "name": "ref", + "description": "ref+ parameter", + "in": "path", + "required": true, + "schema": { "type": "string" } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/commit" }, + "examples": { + "default": { "$ref": "#/components/examples/commit" } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" }, + "422": { "$ref": "#/components/responses/validation_failed" }, + "500": { "$ref": "#/components/responses/internal_error" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "commits" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/commits/{ref}/check-runs": { + "get": { + "summary": "List check runs for a Git reference", + "description": "**Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array.\n\nLists check runs for a commit ref. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository.", + "tags": ["checks"], + "operationId": "checks/list-for-ref", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/checks#list-check-runs-for-a-git-reference" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { + "name": "ref", + "description": "ref+ parameter", + "in": "path", + "required": true, + "schema": { "type": "string" } + }, + { "$ref": "#/components/parameters/check_name" }, + { "$ref": "#/components/parameters/status" }, + { + "name": "filter", + "description": "Filters check runs by their `completed_at` timestamp. Can be one of `latest` (returning the most recent check runs) or `all`.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["latest", "all"], + "default": "latest" + } + }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "total_count": { "type": "integer" }, + "check_runs": { + "type": "array", + "items": { "$ref": "#/components/schemas/check-run" } + } + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/check-run-paginated" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "checks", + "subcategory": "runs" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/commits/{ref}/check-suites": { + "get": { + "summary": "List check suites for a Git reference", + "description": "**Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`.\n\nLists check suites for a commit `ref`. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to list check suites. OAuth Apps and authenticated users must have the `repo` scope to get check suites in a private repository.", + "tags": ["checks"], + "operationId": "checks/list-suites-for-ref", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/checks#list-check-suites-for-a-git-reference" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { + "name": "ref", + "description": "ref+ parameter", + "in": "path", + "required": true, + "schema": { "type": "string" } + }, + { + "name": "app_id", + "description": "Filters check suites by GitHub App `id`.", + "in": "query", + "required": false, + "schema": { "type": "integer" }, + "example": 1 + }, + { "$ref": "#/components/parameters/check_name" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "total_count": { "type": "integer" }, + "check_suites": { + "type": "array", + "items": { "$ref": "#/components/schemas/check-suite" } + } + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/check-suite-paginated" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "checks", + "subcategory": "suites" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/commits/{ref}/status": { + "get": { + "summary": "Get the combined status for a specific reference", + "description": "Users with pull access in a repository can access a combined view of commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name.\n\nThe most recent status for each context is returned, up to 100. This field [paginates](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination) if there are over 100 contexts.\n\nAdditionally, a combined `state` is returned. The `state` is one of:\n\n* **failure** if any of the contexts report as `error` or `failure`\n* **pending** if there are no statuses or a context is `pending`\n* **success** if the latest status for all contexts is `success`", + "tags": ["repos"], + "operationId": "repos/get-combined-status-for-ref", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#get-the-combined-status-for-a-specific-reference" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { + "name": "ref", + "description": "ref+ parameter", + "in": "path", + "required": true, + "schema": { "type": "string" } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/combined-commit-status" + }, + "examples": { + "default": { + "$ref": "#/components/examples/combined-commit-status" + } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "statuses" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/commits/{ref}/statuses": { + "get": { + "summary": "List commit statuses for a reference", + "description": "Users with pull access in a repository can view commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. Statuses are returned in reverse chronological order. The first status in the list will be the latest one.\n\nThis resource is also available via a legacy route: `GET /repos/:owner/:repo/statuses/:ref`.", + "tags": ["repos"], + "operationId": "repos/list-commit-statuses-for-ref", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#list-commit-statuses-for-a-reference" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { + "name": "ref", + "description": "ref+ parameter", + "in": "path", + "required": true, + "schema": { "type": "string" } + }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/status" } + }, + "examples": { + "default": { "$ref": "#/components/examples/status-items" } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "301": { "$ref": "#/components/responses/moved_permanently" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "statuses" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/community/code_of_conduct": { + "get": { + "summary": "Get the code of conduct for a repository", + "description": "This method returns the contents of the repository's code of conduct file, if one is detected.", + "tags": ["codes-of-conduct"], + "operationId": "codes-of-conduct/get-for-repo", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/codes_of_conduct/#get-the-code-of-conduct-for-a-repository" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/code-of-conduct" }, + "examples": { + "default": { + "$ref": "#/components/examples/code-of-conduct-2" + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "scarlet-witch", + "note": "The Codes of Conduct API is currently available for developers to preview.\n\nTo access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.scarlet-witch-preview+json\n```" + } + ], + "category": "codes-of-conduct", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/community/profile": { + "get": { + "summary": "Get community profile metrics", + "description": "This endpoint will return all community profile metrics, including an\noverall health score, repository description, the presence of documentation, detected\ncode of conduct, detected license, and the presence of ISSUE\\_TEMPLATE, PULL\\_REQUEST\\_TEMPLATE,\nREADME, and CONTRIBUTING files.\n\n`content_reports_enabled` is only returned for organization-owned repositories.", + "tags": ["repos"], + "operationId": "repos/get-community-profile-metrics", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#get-community-profile-metrics" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/community-profile" }, + "examples": { + "default": { + "$ref": "#/components/examples/community-profile" + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "repos", + "subcategory": "community" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/compare/{base}...{head}": { + "get": { + "summary": "Compare two commits", + "description": "Both `:base` and `:head` must be branch names in `:repo`. To compare branches across other repositories in the same network as `:repo`, use the format `:branch`.\n\nThe response from the API is equivalent to running the `git log base..head` command; however, commits are returned in chronological order. Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats.\n\nThe response also includes details on the files that were changed between the two commits. This includes the status of the change (for example, if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a `renamed` status have a `previous_filename` field showing the previous filename of the file, and files with a `modified` status have a `patch` field showing the changes made to the file.\n\n**Working with large comparisons**\n\nThe response will include a comparison of up to 250 commits. If you are working with a larger commit range, you can use the [List commits](https://docs.github.com/rest/reference/repos#list-commits) to enumerate all commits in the range.\n\nFor comparisons with extremely large diffs, you may receive an error response indicating that the diff took too long\nto generate. You can typically resolve this error by using a smaller commit range.\n\n**Signature verification object**\n\nThe response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object:\n\n| Name | Type | Description |\n| ---- | ---- | ----------- |\n| `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. |\n| `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. |\n| `signature` | `string` | The signature that was extracted from the commit. |\n| `payload` | `string` | The value that was signed. |\n\nThese are the possible values for `reason` in the `verification` object:\n\n| Value | Description |\n| ----- | ----------- |\n| `expired_key` | The key that made the signature is expired. |\n| `not_signing_key` | The \"signing\" flag is not among the usage flags in the GPG key that made the signature. |\n| `gpgverify_error` | There was an error communicating with the signature verification service. |\n| `gpgverify_unavailable` | The signature verification service is currently unavailable. |\n| `unsigned` | The object does not include a signature. |\n| `unknown_signature_type` | A non-PGP signature was found in the commit. |\n| `no_user` | No user was associated with the `committer` email address in the commit. |\n| `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. |\n| `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. |\n| `unknown_key` | The key that made the signature has not been registered with any user's account. |\n| `malformed_signature` | There was an error parsing the signature. |\n| `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. |\n| `valid` | None of the above errors applied, so the signature is considered to be verified. |", + "tags": ["repos"], + "operationId": "repos/compare-commits", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#compare-two-commits" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { + "name": "base", + "in": "path", + "required": true, + "schema": { "type": "string" } + }, + { + "name": "head", + "in": "path", + "required": true, + "schema": { "type": "string" } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/commit-comparison" }, + "examples": { + "default": { + "$ref": "#/components/examples/commit-comparison" + } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" }, + "500": { "$ref": "#/components/responses/internal_error" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "commits" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/contents/{path}": { + "get": { + "summary": "Get repository content", + "description": "Gets the contents of a file or directory in a repository. Specify the file path or directory in `:path`. If you omit\n`:path`, you will receive the contents of all files in the repository.\n\nFiles and symlinks support [a custom media type](https://docs.github.com/rest/reference/repos#custom-media-types) for\nretrieving the raw content or rendered HTML (when supported). All content types support [a custom media\ntype](https://docs.github.com/rest/reference/repos#custom-media-types) to ensure the content is returned in a consistent\nobject format.\n\n**Note**:\n* To get a repository's contents recursively, you can [recursively get the tree](https://docs.github.com/rest/reference/git#trees).\n* This API has an upper limit of 1,000 files for a directory. If you need to retrieve more files, use the [Git Trees\nAPI](https://docs.github.com/rest/reference/git#get-a-tree).\n* This API supports files up to 1 megabyte in size.\n\n#### If the content is a directory\nThe response will be an array of objects, one object for each item in the directory.\nWhen listing the contents of a directory, submodules have their \"type\" specified as \"file\". Logically, the value\n_should_ be \"submodule\". This behavior exists in API v3 [for backwards compatibility purposes](https://git.io/v1YCW).\nIn the next major version of the API, the type will be returned as \"submodule\".\n\n#### If the content is a symlink \nIf the requested `:path` points to a symlink, and the symlink's target is a normal file in the repository, then the\nAPI responds with the content of the file (in the format shown in the example. Otherwise, the API responds with an object \ndescribing the symlink itself.\n\n#### If the content is a submodule\nThe `submodule_git_url` identifies the location of the submodule repository, and the `sha` identifies a specific\ncommit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out\nthe submodule at that specific commit.\n\nIf the submodule repository is not hosted on github.com, the Git URLs (`git_url` and `_links[\"git\"]`) and the\ngithub.com URLs (`html_url` and `_links[\"html\"]`) will have null values.", + "tags": ["repos"], + "operationId": "repos/get-content", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#get-repository-content" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { + "name": "path", + "description": "path+ parameter", + "in": "path", + "required": true, + "schema": { "type": "string" } + }, + { + "name": "ref", + "description": "The name of the commit/branch/tag. Default: the repository’s default branch (usually `master`)", + "in": "query", + "required": false, + "schema": { "type": "string" } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/vnd.github.v3.object": { + "schema": { "$ref": "#/components/schemas/content-tree" } + }, + "application/json": { + "schema": { + "oneOf": [ + { "$ref": "#/components/schemas/content-directory" }, + { "$ref": "#/components/schemas/content-file" }, + { "$ref": "#/components/schemas/content-symlink" }, + { "$ref": "#/components/schemas/content-submodule" } + ] + }, + "examples": { + "response-if-content-is-a-file": { + "$ref": "#/components/examples/content-file-response-if-content-is-a-file" + }, + "response-if-content-is-a-directory": { + "$ref": "#/components/examples/content-file-response-if-content-is-a-directory" + }, + "response-if-content-is-a-symlink": { + "$ref": "#/components/examples/content-file-response-if-content-is-a-symlink" + }, + "response-if-content-is-a-submodule": { + "$ref": "#/components/examples/content-file-response-if-content-is-a-submodule" + } + } + } + } + }, + "302": { "$ref": "#/components/responses/found" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "contents" + }, + "x-octokit": {} + }, + "put": { + "summary": "Create or update file contents", + "description": "Creates a new file or replaces an existing file in a repository.", + "tags": ["repos"], + "operationId": "repos/create-or-update-file-contents", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#create-or-update-file-contents" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { + "name": "path", + "description": "path+ parameter", + "in": "path", + "required": true, + "schema": { "type": "string" } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "description": "The commit message." + }, + "content": { + "type": "string", + "description": "The new file content, using Base64 encoding." + }, + "sha": { + "type": "string", + "description": "**Required if you are updating a file**. The blob SHA of the file being replaced." + }, + "branch": { + "type": "string", + "description": "The branch name. Default: the repository’s default branch (usually `master`)" + }, + "committer": { + "type": "object", + "description": "The person that committed the file. Default: the authenticated user.", + "properties": { + "name": { + "type": "string", + "description": "The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted." + }, + "email": { + "type": "string", + "description": "The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted." + }, + "date": { + "type": "string", + "example": "\"2013-01-05T13:13:22+05:00\"" + } + }, + "required": ["name", "email"] + }, + "author": { + "type": "object", + "description": "The author of the file. Default: The `committer` or the authenticated user if you omit `committer`.", + "properties": { + "name": { + "type": "string", + "description": "The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted." + }, + "email": { + "type": "string", + "description": "The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted." + }, + "date": { + "type": "string", + "example": "\"2013-01-15T17:13:22+05:00\"" + } + }, + "required": ["name", "email"] + } + }, + "required": ["message", "content"] + }, + "examples": { + "example-for-creating-a-file": { + "summary": "Example for creating a file", + "value": { + "message": "my commit message", + "committer": { + "name": "Monalisa Octocat", + "email": "octocat@github.com" + }, + "content": "bXkgbmV3IGZpbGUgY29udGVudHM=" + } + }, + "example-for-updating-a-file": { + "summary": "Example for updating a file", + "value": { + "message": "a new commit message", + "committer": { + "name": "Monalisa Octocat", + "email": "octocat@github.com" + }, + "content": "bXkgdXBkYXRlZCBmaWxlIGNvbnRlbnRz", + "sha": "95b966ae1c166bd92f8ae7d1c313e738c731dfc3" + } + } + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/file-commit" }, + "examples": { + "example-for-updating-a-file": { + "$ref": "#/components/examples/file-commit-example-for-updating-a-file" + } + } + } + } + }, + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/file-commit" }, + "examples": { + "example-for-creating-a-file": { + "$ref": "#/components/examples/file-commit-example-for-creating-a-file" + } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" }, + "409": { "$ref": "#/components/responses/conflict" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "contents" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Delete a file", + "description": "Deletes a file in a repository.\n\nYou can provide an additional `committer` parameter, which is an object containing information about the committer. Or, you can provide an `author` parameter, which is an object containing information about the author.\n\nThe `author` section is optional and is filled in with the `committer` information if omitted. If the `committer` information is omitted, the authenticated user's information is used.\n\nYou must provide values for both `name` and `email`, whether you choose to use `author` or `committer`. Otherwise, you'll receive a `422` status code.", + "tags": ["repos"], + "operationId": "repos/delete-file", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#delete-a-file" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { + "name": "path", + "description": "path+ parameter", + "in": "path", + "required": true, + "schema": { "type": "string" } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "description": "The commit message." + }, + "sha": { + "type": "string", + "description": "The blob SHA of the file being replaced." + }, + "branch": { + "type": "string", + "description": "The branch name. Default: the repository’s default branch (usually `master`)" + }, + "committer": { + "type": "object", + "description": "object containing information about the committer.", + "properties": { + "name": { + "type": "string", + "description": "The name of the author (or committer) of the commit" + }, + "email": { + "type": "string", + "description": "The email of the author (or committer) of the commit" + } + } + }, + "author": { + "type": "object", + "description": "object containing information about the author.", + "properties": { + "name": { + "type": "string", + "description": "The name of the author (or committer) of the commit" + }, + "email": { + "type": "string", + "description": "The email of the author (or committer) of the commit" + } + } + } + }, + "required": ["message", "sha"] + }, + "example": { + "message": "my commit message", + "committer": { + "name": "Monalisa Octocat", + "email": "octocat@github.com" + }, + "sha": "329688480d39049927147c162b9d2deaf885005f" + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/file-commit" }, + "examples": { + "default": { "$ref": "#/components/examples/file-commit" } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" }, + "409": { "$ref": "#/components/responses/conflict" }, + "422": { "$ref": "#/components/responses/validation_failed" }, + "503": { "$ref": "#/components/responses/service_unavailable" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "contents" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/contributors": { + "get": { + "summary": "List repository contributors", + "description": "Lists contributors to the specified repository and sorts them by the number of commits per contributor in descending order. This endpoint may return information that is a few hours old because the GitHub REST API v3 caches contributor data to improve performance.\n\nGitHub identifies contributors by author email address. This endpoint groups contribution counts by GitHub user, which includes all associated email addresses. To improve performance, only the first 500 author email addresses in the repository link to GitHub users. The rest will appear as anonymous contributors without associated GitHub user information.", + "tags": ["repos"], + "operationId": "repos/list-contributors", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/repos/#list-repository-contributors" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { + "name": "anon", + "description": "Set to `1` or `true` to include anonymous contributors in results.", + "in": "query", + "required": false, + "schema": { "type": "string" } + }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "Response if repository contains content", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/contributor" } + }, + "examples": { + "response-if-repository-contains-content": { + "$ref": "#/components/examples/contributor-items-response-if-repository-contains-content" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "204": { "description": "Response if repository is empty" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/deployments": { + "get": { + "summary": "List deployments", + "description": "Simple filtering of deployments is available via query parameters:", + "tags": ["repos"], + "operationId": "repos/list-deployments", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#list-deployments" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { + "name": "sha", + "description": "The SHA recorded at creation time.", + "in": "query", + "required": false, + "schema": { "type": "string", "default": "none" } + }, + { + "name": "ref", + "description": "The name of the ref. This can be a branch, tag, or SHA.", + "in": "query", + "required": false, + "schema": { "type": "string", "default": "none" } + }, + { + "name": "task", + "description": "The name of the task for the deployment (e.g., `deploy` or `deploy:migrations`).", + "in": "query", + "required": false, + "schema": { "type": "string", "default": "none" } + }, + { + "name": "environment", + "description": "The name of the environment that was deployed to (e.g., `staging` or `production`).", + "in": "query", + "required": false, + "schema": { "type": "string", "default": "none" } + }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/deployment" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/deployment-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": false, + "name": "ant-man", + "note": "The `inactive` state and the `log_url`, `environment_url`, and `auto_inactive` parameters are currently available for developers to preview. Please see the [blog post](https://developer.github.com/changes/2016-04-06-deployment-and-deployment-status-enhancements) for full details.\n\nTo access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.ant-man-preview+json\n```" + } + ], + "category": "repos", + "subcategory": "deployments" + }, + "x-octokit": {} + }, + "post": { + "summary": "Create a deployment", + "description": "Deployments offer a few configurable parameters with certain defaults.\n\nThe `ref` parameter can be any named branch, tag, or SHA. At GitHub we often deploy branches and verify them\nbefore we merge a pull request.\n\nThe `environment` parameter allows deployments to be issued to different runtime environments. Teams often have\nmultiple environments for verifying their applications, such as `production`, `staging`, and `qa`. This parameter\nmakes it easier to track which environments have requested deployments. The default environment is `production`.\n\nThe `auto_merge` parameter is used to ensure that the requested ref is not behind the repository's default branch. If\nthe ref _is_ behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds,\nthe API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will\nreturn a failure response.\n\nBy default, [commit statuses](https://docs.github.com/rest/reference/repos#statuses) for every submitted context must be in a `success`\nstate. The `required_contexts` parameter allows you to specify a subset of contexts that must be `success`, or to\nspecify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do\nnot require any contexts or create any commit statuses, the deployment will always succeed.\n\nThe `payload` parameter is available for any extra information that a deployment system might need. It is a JSON text\nfield that will be passed on when a deployment event is dispatched.\n\nThe `task` parameter is used by the deployment system to allow different execution paths. In the web world this might\nbe `deploy:migrations` to run schema changes on the system. In the compiled world this could be a flag to compile an\napplication with debugging enabled.\n\nUsers with `repo` or `repo_deployment` scopes can create a deployment for a given ref.\n\n#### Merged branch response\nYou will see this response when GitHub automatically merges the base branch into the topic branch instead of creating\na deployment. This auto-merge happens when:\n* Auto-merge option is enabled in the repository\n* Topic branch does not include the latest changes on the base branch, which is `master` in the response example\n* There are no merge conflicts\n\nIf there are no new commits in the base branch, a new request to create a deployment should give a successful\nresponse.\n\n#### Merge conflict response\nThis error happens when the `auto_merge` option is enabled and when the default branch (in this case `master`), can't\nbe merged into the branch that's being deployed (in this case `topic-branch`), due to merge conflicts.\n\n#### Failed commit status checks\nThis error happens when the `required_contexts` parameter indicates that one or more contexts need to have a `success`\nstatus for the commit to be deployed, but one or more of the required contexts do not have a state of `success`.", + "tags": ["repos"], + "operationId": "repos/create-deployment", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#create-a-deployment" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "ref": { + "type": "string", + "description": "The ref to deploy. This can be a branch, tag, or SHA." + }, + "task": { + "type": "string", + "description": "Specifies a task to execute (e.g., `deploy` or `deploy:migrations`).", + "default": "deploy" + }, + "auto_merge": { + "type": "boolean", + "description": "Attempts to automatically merge the default branch into the requested ref, if it's behind the default branch.", + "default": true + }, + "required_contexts": { + "type": "array", + "description": "The [status](https://docs.github.com/rest/reference/repos#statuses) contexts to verify against commit status checks. If you omit this parameter, GitHub verifies all unique contexts before creating a deployment. To bypass checking entirely, pass an empty array. Defaults to all unique contexts.", + "items": { "type": "string" } + }, + "payload": { + "type": "string", + "description": "JSON payload with extra information about the deployment.", + "default": "" + }, + "environment": { + "type": "string", + "description": "Name for the target deployment environment (e.g., `production`, `staging`, `qa`).", + "default": "production" + }, + "description": { + "type": "string", + "description": "Short description of the deployment.", + "default": "", + "nullable": true + }, + "transient_environment": { + "type": "boolean", + "description": "Specifies if the given environment is specific to the deployment and will no longer exist at some point in the future. Default: `false` \n**Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://docs.github.com/rest/overview/api-previews#enhanced-deployments) custom media type. **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://docs.github.com/rest/overview/api-previews#enhanced-deployments) custom media type.", + "default": false + }, + "production_environment": { + "type": "boolean", + "description": "Specifies if the given environment is one that end-users directly interact with. Default: `true` when `environment` is `production` and `false` otherwise. \n**Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://docs.github.com/rest/overview/api-previews#enhanced-deployments) custom media type." + }, + "created_at": { + "type": "string", + "example": "\"1776-07-04T00:00:00.000-07:52\"" + } + }, + "required": ["ref"] + }, + "examples": { + "simple-example": { + "summary": "Simple example", + "value": { + "ref": "topic-branch", + "payload": "{ \"deploy\": \"migrate\" }", + "description": "Deploy request from hubot" + } + }, + "advanced-example": { + "summary": "Advanced example", + "value": { + "ref": "topic-branch", + "auto_merge": false, + "payload": "{ \"deploy\": \"migrate\" }", + "description": "Deploy request from hubot", + "required_contexts": ["ci/janky", "security/brakeman"] + } + } + } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/deployment" }, + "examples": { + "simple-example": { + "$ref": "#/components/examples/deployment-simple-example" + }, + "advanced-example": { + "$ref": "#/components/examples/deployment-advanced-example" + } + } + } + } + }, + "202": { + "description": "Merged branch response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { "message": { "type": "string" } } + }, + "examples": { + "merged-branch-response": { + "value": { + "message": "Auto-merged master into topic-branch on deployment." + } + } + } + } + } + }, + "409": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { "type": "string" }, + "documentation_url": { + "type": "string", + "example": "\"https://docs.github.com/rest/reference/repos#create-a-deployment\"" + } + } + }, + "examples": { + "merge-conflict-response": { + "summary": "Merge conflict response", + "value": { + "message": "Conflict merging master into topic-branch" + } + }, + "failed-commit-status-checks": { + "summary": "Failed commit status checks", + "value": { + "message": "Conflict: Commit status checks failed for topic-branch." + } + } + } + } + } + }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": false, + "name": "ant-man", + "note": "The `inactive` state and the `log_url`, `environment_url`, and `auto_inactive` parameters are currently available for developers to preview. Please see the [blog post](https://developer.github.com/changes/2016-04-06-deployment-and-deployment-status-enhancements) for full details.\n\nTo access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.ant-man-preview+json\n```" + } + ], + "category": "repos", + "subcategory": "deployments" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/deployments/{deployment_id}": { + "get": { + "summary": "Get a deployment", + "description": "", + "tags": ["repos"], + "operationId": "repos/get-deployment", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#get-a-deployment" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/deployment_id" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/deployment" }, + "examples": { + "default": { "$ref": "#/components/examples/deployment" } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": false, + "name": "ant-man", + "note": "The `inactive` state and the `log_url`, `environment_url`, and `auto_inactive` parameters are currently available for developers to preview. Please see the [blog post](https://developer.github.com/changes/2016-04-06-deployment-and-deployment-status-enhancements) for full details.\n\nTo access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.ant-man-preview+json\n```" + } + ], + "category": "repos", + "subcategory": "deployments" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Delete a deployment", + "description": "To ensure there can always be an active deployment, you can only delete an _inactive_ deployment. Anyone with `repo` or `repo_deployment` scopes can delete an inactive deployment.\n\nTo set a deployment as inactive, you must:\n\n* Create a new deployment that is active so that the system has a record of the current state, then delete the previously active deployment.\n* Mark the active deployment as inactive by adding any non-successful deployment status.\n\nFor more information, see \"[Create a deployment](https://docs.github.com/rest/reference/repos/deployments/#create-a-deployment)\" and \"[Create a deployment status](https://docs.github.com/rest/reference/repos#create-a-deployment-status).\"", + "tags": ["repos"], + "operationId": "repos/delete-deployment", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#delete-a-deployment" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/deployment_id" } + ], + "responses": { + "204": { "description": "Empty response" }, + "404": { "$ref": "#/components/responses/not_found" }, + "422": { "$ref": "#/components/responses/validation_failed_simple" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "deployments" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/deployments/{deployment_id}/statuses": { + "get": { + "summary": "List deployment statuses", + "description": "Users with pull access can view deployment statuses for a deployment:", + "tags": ["repos"], + "operationId": "repos/list-deployment-statuses", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#list-deployment-statuses" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/deployment_id" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/deployment-status" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/deployment-status-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": false, + "name": "flash", + "note": "New features in the Deployments API on GitHub are currently available during a public beta. Please see the [blog post](https://developer.github.com/changes/2018-10-16-deployments-environments-states-and-auto-inactive-updates/) for full details.\n\nTo access the new `environment` parameter, the two new values for the `state` parameter (`in_progress` and `queued`), and use `auto_inactive` on production deployments during the public beta period, you must provide the following custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.flash-preview+json\n```" + }, + { + "required": false, + "name": "ant-man", + "note": "The `inactive` state and the `log_url`, `environment_url`, and `auto_inactive` parameters are currently available for developers to preview. Please see the [blog post](https://developer.github.com/changes/2016-04-06-deployment-and-deployment-status-enhancements) for full details.\n\nTo access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.ant-man-preview+json\n```" + } + ], + "category": "repos", + "subcategory": "deployments" + }, + "x-octokit": {} + }, + "post": { + "summary": "Create a deployment status", + "description": "Users with `push` access can create deployment statuses for a given deployment.\n\nGitHub Apps require `read & write` access to \"Deployments\" and `read-only` access to \"Repo contents\" (for private repos). OAuth Apps require the `repo_deployment` scope.", + "tags": ["repos"], + "operationId": "repos/create-deployment-status", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#create-a-deployment-status" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/deployment_id" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "state": { + "type": "string", + "description": "The state of the status. Can be one of `error`, `failure`, `inactive`, `in_progress`, `queued` `pending`, or `success`. **Note:** To use the `inactive` state, you must provide the [`application/vnd.github.ant-man-preview+json`](https://docs.github.com/rest/overview/api-previews#enhanced-deployments) custom media type. To use the `in_progress` and `queued` states, you must provide the [`application/vnd.github.flash-preview+json`](https://docs.github.com/rest/overview/api-previews#deployment-statuses) custom media type. When you set a transient deployment to `inactive`, the deployment will be shown as `destroyed` in GitHub.", + "enum": [ + "error", + "failure", + "inactive", + "in_progress", + "queued", + "pending", + "success" + ] + }, + "target_url": { + "type": "string", + "description": "The target URL to associate with this status. This URL should contain output to keep the user updated while the task is running or serve as historical information for what happened in the deployment. **Note:** It's recommended to use the `log_url` parameter, which replaces `target_url`.", + "default": "" + }, + "log_url": { + "type": "string", + "description": "The full URL of the deployment's output. This parameter replaces `target_url`. We will continue to accept `target_url` to support legacy uses, but we recommend replacing `target_url` with `log_url`. Setting `log_url` will automatically set `target_url` to the same value. Default: `\"\"` \n**Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://docs.github.com/rest/overview/api-previews#enhanced-deployments) custom media type. **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://docs.github.com/rest/overview/api-previews#enhanced-deployments) custom media type.", + "default": "" + }, + "description": { + "type": "string", + "description": "A short description of the status. The maximum description length is 140 characters.", + "default": "" + }, + "environment": { + "type": "string", + "description": "Name for the target deployment environment, which can be changed when setting a deploy status. For example, `production`, `staging`, or `qa`. **Note:** This parameter requires you to use the [`application/vnd.github.flash-preview+json`](https://docs.github.com/rest/overview/api-previews#deployment-statuses) custom media type.", + "enum": ["production", "staging", "qa"] + }, + "environment_url": { + "type": "string", + "description": "Sets the URL for accessing your environment. Default: `\"\"` \n**Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://docs.github.com/rest/overview/api-previews#enhanced-deployments) custom media type. **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://docs.github.com/rest/overview/api-previews#enhanced-deployments) custom media type.", + "default": "" + }, + "auto_inactive": { + "type": "boolean", + "description": "Adds a new `inactive` status to all prior non-transient, non-production environment deployments with the same repository and `environment` name as the created status's deployment. An `inactive` status is only added to deployments that had a `success` state. Default: `true` \n**Note:** To add an `inactive` status to `production` environments, you must use the [`application/vnd.github.flash-preview+json`](https://docs.github.com/rest/overview/api-previews#deployment-statuses) custom media type. \n**Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://docs.github.com/rest/overview/api-previews#enhanced-deployments) custom media type." + } + }, + "required": ["state"] + }, + "example": { + "environment": "production", + "state": "success", + "log_url": "https://example.com/deployment/42/output", + "description": "Deployment finished successfully." + } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/deployment-status" }, + "examples": { + "default": { + "$ref": "#/components/examples/deployment-status" + } + } + } + }, + "headers": { + "Location": { + "example": "https://api.github.com/repos/octocat/example/deployments/42/statuses/1", + "schema": { "type": "string" } + } + } + }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": false, + "name": "flash", + "note": "New features in the Deployments API on GitHub are currently available during a public beta. Please see the [blog post](https://developer.github.com/changes/2018-10-16-deployments-environments-states-and-auto-inactive-updates/) for full details.\n\nTo access the new `environment` parameter, the two new values for the `state` parameter (`in_progress` and `queued`), and use `auto_inactive` on production deployments during the public beta period, you must provide the following custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.flash-preview+json\n```" + }, + { + "required": false, + "name": "ant-man", + "note": "The `inactive` state and the `log_url`, `environment_url`, and `auto_inactive` parameters are currently available for developers to preview. Please see the [blog post](https://developer.github.com/changes/2016-04-06-deployment-and-deployment-status-enhancements) for full details.\n\nTo access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.ant-man-preview+json\n```" + } + ], + "category": "repos", + "subcategory": "deployments" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}": { + "get": { + "summary": "Get a deployment status", + "description": "Users with pull access can view a deployment status for a deployment:", + "tags": ["repos"], + "operationId": "repos/get-deployment-status", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#get-a-deployment-status" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/deployment_id" }, + { + "name": "status_id", + "in": "path", + "required": true, + "schema": { "type": "integer" } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/deployment-status" }, + "examples": { + "default": { + "$ref": "#/components/examples/deployment-status" + } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" }, + "415": { "$ref": "#/components/responses/preview_header_missing" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": false, + "name": "flash", + "note": "New features in the Deployments API on GitHub are currently available during a public beta. Please see the [blog post](https://developer.github.com/changes/2018-10-16-deployments-environments-states-and-auto-inactive-updates/) for full details.\n\nTo access the new `environment` parameter, the two new values for the `state` parameter (`in_progress` and `queued`), and use `auto_inactive` on production deployments during the public beta period, you must provide the following custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.flash-preview+json\n```" + }, + { + "required": false, + "name": "ant-man", + "note": "The `inactive` state and the `log_url`, `environment_url`, and `auto_inactive` parameters are currently available for developers to preview. Please see the [blog post](https://developer.github.com/changes/2016-04-06-deployment-and-deployment-status-enhancements) for full details.\n\nTo access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.ant-man-preview+json\n```" + } + ], + "category": "repos", + "subcategory": "deployments" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/dispatches": { + "post": { + "summary": "Create a repository dispatch event", + "description": "You can use this endpoint to trigger a webhook event called `repository_dispatch` when you want activity that happens outside of GitHub to trigger a GitHub Actions workflow or GitHub App webhook. You must configure your GitHub Actions workflow or GitHub App to run when the `repository_dispatch` event occurs. For an example `repository_dispatch` webhook payload, see \"[RepositoryDispatchEvent](https://docs.github.com/webhooks/event-payloads/#repository_dispatch).\"\n\nThe `client_payload` parameter is available for any extra information that your workflow might need. This parameter is a JSON payload that will be passed on when the webhook event is dispatched. For example, the `client_payload` can include a message that a user would like to send using a GitHub Actions workflow. Or the `client_payload` can be used as a test to debug your workflow.\n\nTo give you write access to the repository, you must use a personal access token with the `repo` scope. For more information, see \"[Creating a personal access token for the command line](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line)\" in the GitHub Help documentation.\n\nThis input example shows how you can use the `client_payload` as a test to debug your workflow.", + "tags": ["repos"], + "operationId": "repos/create-dispatch-event", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/repos/#create-a-repository-dispatch-event" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["event_type"], + "properties": { + "event_type": { + "type": "string", + "description": "A custom webhook event name." + }, + "client_payload": { + "type": "object", + "description": "JSON payload with extra information about the webhook event that your action or worklow may use.", + "additionalProperties": true + } + } + }, + "example": { + "event_type": "on-demand-test", + "client_payload": { "unit": false, "integration": true } + } + } + } + }, + "responses": { + "204": { "description": "Empty response" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/events": { + "get": { + "summary": "List repository events", + "description": "", + "tags": ["activity"], + "operationId": "activity/list-repo-events", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/activity#list-repository-events" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/event" } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "activity", + "subcategory": "events" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/forks": { + "get": { + "summary": "List forks", + "description": "", + "tags": ["repos"], + "operationId": "repos/list-forks", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#list-forks" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { + "name": "sort", + "description": "The sort order. Can be either `newest`, `oldest`, or `stargazers`.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["newest", "oldest", "stargazers"], + "default": "newest" + } + }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/minimal-repository" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/minimal-repository-items-2" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "400": { "$ref": "#/components/responses/bad_request" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "forks" + }, + "x-octokit": {} + }, + "post": { + "summary": "Create a fork", + "description": "Create a fork for the authenticated user.\n\n**Note**: Forking a Repository happens asynchronously. You may have to wait a short period of time before you can access the git objects. If this takes longer than 5 minutes, be sure to contact [GitHub Support](https://github.com/contact) or [GitHub Premium Support](https://premium.githubsupport.com).", + "tags": ["repos"], + "operationId": "repos/create-fork", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#create-a-fork" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "organization": { + "type": "string", + "description": "Optional parameter to specify the organization name if forking into an organization." + } + } + } + } + } + }, + "responses": { + "202": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/repository" }, + "examples": { + "default": { "$ref": "#/components/examples/repository" } + } + } + } + }, + "400": { "$ref": "#/components/responses/bad_request" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "forks" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/git/blobs": { + "post": { + "summary": "Create a blob", + "description": "", + "tags": ["git"], + "operationId": "git/create-blob", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/git#create-a-blob" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "content": { + "type": "string", + "description": "The new blob's content." + }, + "encoding": { + "type": "string", + "description": "The encoding used for `content`. Currently, `\"utf-8\"` and `\"base64\"` are supported.", + "default": "utf-8" + } + }, + "required": ["content"] + }, + "example": { + "content": "Content of the blob", + "encoding": "utf-8" + } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/short-blob" }, + "examples": { + "default": { "$ref": "#/components/examples/short-blob" } + } + } + }, + "headers": { + "Location": { + "example": "https://api.github.com/repos/octocat/example/git/blobs/3a0f86fb8db8eea7ccbb9a95f325ddbedfb25e15", + "schema": { "type": "string" } + } + } + }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" }, + "409": { "$ref": "#/components/responses/conflict" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "git", + "subcategory": "blobs" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/git/blobs/{file_sha}": { + "get": { + "summary": "Get a blob", + "description": "The `content` in the response will always be Base64 encoded.\n\n_Note_: This API supports blobs up to 100 megabytes in size.", + "tags": ["git"], + "operationId": "git/get-blob", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/git#get-a-blob" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { + "name": "file_sha", + "in": "path", + "required": true, + "schema": { "type": "string" } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/blob" }, + "examples": { + "default": { "$ref": "#/components/examples/blob" } + } + } + } + }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "git", + "subcategory": "blobs" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/git/commits": { + "post": { + "summary": "Create a commit", + "description": "Creates a new Git [commit object](https://git-scm.com/book/en/v1/Git-Internals-Git-Objects#Commit-Objects).\n\n**Signature verification object**\n\nThe response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object:\n\n| Name | Type | Description |\n| ---- | ---- | ----------- |\n| `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. |\n| `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. |\n| `signature` | `string` | The signature that was extracted from the commit. |\n| `payload` | `string` | The value that was signed. |\n\nThese are the possible values for `reason` in the `verification` object:\n\n| Value | Description |\n| ----- | ----------- |\n| `expired_key` | The key that made the signature is expired. |\n| `not_signing_key` | The \"signing\" flag is not among the usage flags in the GPG key that made the signature. |\n| `gpgverify_error` | There was an error communicating with the signature verification service. |\n| `gpgverify_unavailable` | The signature verification service is currently unavailable. |\n| `unsigned` | The object does not include a signature. |\n| `unknown_signature_type` | A non-PGP signature was found in the commit. |\n| `no_user` | No user was associated with the `committer` email address in the commit. |\n| `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. |\n| `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. |\n| `unknown_key` | The key that made the signature has not been registered with any user's account. |\n| `malformed_signature` | There was an error parsing the signature. |\n| `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. |\n| `valid` | None of the above errors applied, so the signature is considered to be verified. |", + "tags": ["git"], + "operationId": "git/create-commit", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/git#create-a-commit" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "description": "The commit message" + }, + "tree": { + "type": "string", + "description": "The SHA of the tree object this commit points to" + }, + "parents": { + "type": "array", + "description": "The SHAs of the commits that were the parents of this commit. If omitted or empty, the commit will be written as a root commit. For a single parent, an array of one SHA should be provided; for a merge commit, an array of more than one should be provided.", + "items": { "type": "string" } + }, + "author": { + "type": "object", + "description": "Information about the author of the commit. By default, the `author` will be the authenticated user and the current date. See the `author` and `committer` object below for details.", + "properties": { + "name": { + "type": "string", + "description": "The name of the author (or committer) of the commit" + }, + "email": { + "type": "string", + "description": "The email of the author (or committer) of the commit" + }, + "date": { + "type": "string", + "description": "Indicates when this commit was authored (or committed). This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`." + } + } + }, + "committer": { + "type": "object", + "description": "Information about the person who is making the commit. By default, `committer` will use the information set in `author`. See the `author` and `committer` object below for details.", + "properties": { + "name": { + "type": "string", + "description": "The name of the author (or committer) of the commit" + }, + "email": { + "type": "string", + "description": "The email of the author (or committer) of the commit" + }, + "date": { + "type": "string", + "description": "Indicates when this commit was authored (or committed). This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`." + } + } + }, + "signature": { + "type": "string", + "description": "The [PGP signature](https://en.wikipedia.org/wiki/Pretty_Good_Privacy) of the commit. GitHub adds the signature to the `gpgsig` header of the created commit. For a commit signature to be verifiable by Git or GitHub, it must be an ASCII-armored detached PGP signature over the string commit as it would be written to the object database. To pass a `signature` parameter, you need to first manually create a valid PGP signature, which can be complicated. You may find it easier to [use the command line](https://git-scm.com/book/id/v2/Git-Tools-Signing-Your-Work) to create signed commits." + } + }, + "required": ["message", "tree"] + }, + "example": { + "message": "my commit message", + "author": { + "name": "Mona Octocat", + "email": "octocat@github.com", + "date": "2008-07-09T16:13:30+12:00" + }, + "parents": ["7d1b31e74ee336d15cbd21741bc88a537ed063a0"], + "tree": "827efc6d56897b048c772eb4087f854f46256132", + "signature": "-----BEGIN PGP SIGNATURE-----\n\niQIzBAABAQAdFiEESn/54jMNIrGSE6Tp6cQjvhfv7nAFAlnT71cACgkQ6cQjvhfv\n7nCWwA//XVqBKWO0zF+bZl6pggvky3Oc2j1pNFuRWZ29LXpNuD5WUGXGG209B0hI\nDkmcGk19ZKUTnEUJV2Xd0R7AW01S/YSub7OYcgBkI7qUE13FVHN5ln1KvH2all2n\n2+JCV1HcJLEoTjqIFZSSu/sMdhkLQ9/NsmMAzpf/iIM0nQOyU4YRex9eD1bYj6nA\nOQPIDdAuaTQj1gFPHYLzM4zJnCqGdRlg0sOM/zC5apBNzIwlgREatOYQSCfCKV7k\nnrU34X8b9BzQaUx48Qa+Dmfn5KQ8dl27RNeWAqlkuWyv3pUauH9UeYW+KyuJeMkU\n+NyHgAsWFaCFl23kCHThbLStMZOYEnGagrd0hnm1TPS4GJkV4wfYMwnI4KuSlHKB\njHl3Js9vNzEUQipQJbgCgTiWvRJoK3ENwBTMVkKHaqT4x9U4Jk/XZB6Q8MA09ezJ\n3QgiTjTAGcum9E9QiJqMYdWQPWkaBIRRz5cET6HPB48YNXAAUsfmuYsGrnVLYbG+\nUpC6I97VybYHTy2O9XSGoaLeMI9CsFn38ycAxxbWagk5mhclNTP5mezIq6wKSwmr\nX11FW3n1J23fWZn5HJMBsRnUCgzqzX3871IqLYHqRJ/bpZ4h20RhTyPj5c/z7QXp\neSakNQMfbbMcljkha+ZMuVQX1K9aRlVqbmv3ZMWh+OijLYVU2bc=\n=5Io4\n-----END PGP SIGNATURE-----\n" + } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/git-commit" }, + "examples": { + "default": { "$ref": "#/components/examples/git-commit" } + } + } + }, + "headers": { + "Location": { + "example": "https://api.github.com/repos/octocat/Hello-World/git/commits/7638417db6d59f3c431d3e1f261cc637155684cd", + "schema": { "type": "string" } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "git", + "subcategory": "commits" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/git/commits/{commit_sha}": { + "get": { + "summary": "Get a commit", + "description": "Gets a Git [commit object](https://git-scm.com/book/en/v1/Git-Internals-Git-Objects#Commit-Objects).\n\n**Signature verification object**\n\nThe response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object:\n\n| Name | Type | Description |\n| ---- | ---- | ----------- |\n| `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. |\n| `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. |\n| `signature` | `string` | The signature that was extracted from the commit. |\n| `payload` | `string` | The value that was signed. |\n\nThese are the possible values for `reason` in the `verification` object:\n\n| Value | Description |\n| ----- | ----------- |\n| `expired_key` | The key that made the signature is expired. |\n| `not_signing_key` | The \"signing\" flag is not among the usage flags in the GPG key that made the signature. |\n| `gpgverify_error` | There was an error communicating with the signature verification service. |\n| `gpgverify_unavailable` | The signature verification service is currently unavailable. |\n| `unsigned` | The object does not include a signature. |\n| `unknown_signature_type` | A non-PGP signature was found in the commit. |\n| `no_user` | No user was associated with the `committer` email address in the commit. |\n| `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. |\n| `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. |\n| `unknown_key` | The key that made the signature has not been registered with any user's account. |\n| `malformed_signature` | There was an error parsing the signature. |\n| `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. |\n| `valid` | None of the above errors applied, so the signature is considered to be verified. |", + "tags": ["git"], + "operationId": "git/get-commit", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/git#get-a-commit" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/commit_sha" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/git-commit" }, + "examples": { + "default": { "$ref": "#/components/examples/git-commit-2" } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "git", + "subcategory": "commits" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/git/matching-refs/{ref}": { + "get": { + "summary": "List matching references", + "description": "Returns an array of references from your Git database that match the supplied name. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't exist in the repository, but existing refs start with `:ref`, they will be returned as an array.\n\nWhen you use this endpoint without providing a `:ref`, it will return an array of all the references from your Git database, including notes and stashes if they exist on the server. Anything in the namespace is returned, not just `heads` and `tags`.\n\n**Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/reference/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see \"[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)\".\n\nIf you request matching references for a branch named `feature` but the branch `feature` doesn't exist, the response can still include other matching head refs that start with the word `feature`, such as `featureA` and `featureB`.", + "tags": ["git"], + "operationId": "git/list-matching-refs", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/git#list-matching-references" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { + "name": "ref", + "description": "ref+ parameter", + "in": "path", + "required": true, + "schema": { "type": "string" } + }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/git-ref" } + }, + "examples": { + "default": { "$ref": "#/components/examples/git-ref-items" } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "git", + "subcategory": "refs" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/git/ref/{ref}": { + "get": { + "summary": "Get a reference", + "description": "Returns a single reference from your Git database. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't match an existing ref, a `404` is returned.\n\n**Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/reference/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see \"[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)\".", + "tags": ["git"], + "operationId": "git/get-ref", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/git#get-a-reference" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { + "name": "ref", + "description": "ref+ parameter", + "in": "path", + "required": true, + "schema": { "type": "string" } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/git-ref" }, + "examples": { + "default": { "$ref": "#/components/examples/git-ref" } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "git", + "subcategory": "refs" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/git/refs": { + "post": { + "summary": "Create a reference", + "description": "Creates a reference for your repository. You are unable to create new references for empty repositories, even if the commit SHA-1 hash used exists. Empty repositories are repositories without branches.", + "tags": ["git"], + "operationId": "git/create-ref", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/git#create-a-reference" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "ref": { + "type": "string", + "description": "The name of the fully qualified reference (ie: `refs/heads/master`). If it doesn't start with 'refs' and have at least two slashes, it will be rejected." + }, + "sha": { + "type": "string", + "description": "The SHA1 value for this reference." + }, + "key": { + "type": "string", + "example": "\"refs/heads/newbranch\"" + } + }, + "required": ["ref", "sha"] + }, + "example": { + "ref": "refs/heads/featureA", + "sha": "aa218f56b14c9653891f9e74264a383fa43fefbd" + } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/git-ref" }, + "examples": { + "default": { "$ref": "#/components/examples/git-ref" } + } + } + }, + "headers": { + "Location": { + "example": "https://api.github.com/repos/octocat/Hello-World/git/refs/heads/featureA", + "schema": { "type": "string" } + } + } + }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "git", + "subcategory": "refs" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/git/refs/{ref}": { + "patch": { + "summary": "Update a reference", + "description": "", + "tags": ["git"], + "operationId": "git/update-ref", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/git#update-a-reference" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { + "name": "ref", + "description": "ref+ parameter", + "in": "path", + "required": true, + "schema": { "type": "string" } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "sha": { + "type": "string", + "description": "The SHA1 value to set this reference to" + }, + "force": { + "type": "boolean", + "description": "Indicates whether to force the update or to make sure the update is a fast-forward update. Leaving this out or setting it to `false` will make sure you're not overwriting work.", + "default": false + } + }, + "required": ["sha"] + }, + "example": { + "sha": "aa218f56b14c9653891f9e74264a383fa43fefbd", + "force": true + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/git-ref" }, + "examples": { + "default": { "$ref": "#/components/examples/git-ref" } + } + } + } + }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "git", + "subcategory": "refs" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Delete a reference", + "description": "", + "tags": ["git"], + "operationId": "git/delete-ref", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/git#delete-a-reference" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { + "name": "ref", + "description": "ref+ parameter", + "in": "path", + "required": true, + "schema": { "type": "string" } + } + ], + "responses": { + "204": { "description": "Empty response" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "git", + "subcategory": "refs" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/git/tags": { + "post": { + "summary": "Create a tag object", + "description": "Note that creating a tag object does not create the reference that makes a tag in Git. If you want to create an annotated tag in Git, you have to do this call to create the tag object, and then [create](https://docs.github.com/rest/reference/git#create-a-reference) the `refs/tags/[tag]` reference. If you want to create a lightweight tag, you only have to [create](https://docs.github.com/rest/reference/git#create-a-reference) the tag reference - this call would be unnecessary.\n\n**Signature verification object**\n\nThe response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object:\n\n| Name | Type | Description |\n| ---- | ---- | ----------- |\n| `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. |\n| `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. |\n| `signature` | `string` | The signature that was extracted from the commit. |\n| `payload` | `string` | The value that was signed. |\n\nThese are the possible values for `reason` in the `verification` object:\n\n| Value | Description |\n| ----- | ----------- |\n| `expired_key` | The key that made the signature is expired. |\n| `not_signing_key` | The \"signing\" flag is not among the usage flags in the GPG key that made the signature. |\n| `gpgverify_error` | There was an error communicating with the signature verification service. |\n| `gpgverify_unavailable` | The signature verification service is currently unavailable. |\n| `unsigned` | The object does not include a signature. |\n| `unknown_signature_type` | A non-PGP signature was found in the commit. |\n| `no_user` | No user was associated with the `committer` email address in the commit. |\n| `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. |\n| `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. |\n| `unknown_key` | The key that made the signature has not been registered with any user's account. |\n| `malformed_signature` | There was an error parsing the signature. |\n| `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. |\n| `valid` | None of the above errors applied, so the signature is considered to be verified. |", + "tags": ["git"], + "operationId": "git/create-tag", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/git#create-a-tag-object" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "tag": { + "type": "string", + "description": "The tag's name. This is typically a version (e.g., \"v0.0.1\")." + }, + "message": { + "type": "string", + "description": "The tag message." + }, + "object": { + "type": "string", + "description": "The SHA of the git object this is tagging." + }, + "type": { + "type": "string", + "description": "The type of the object we're tagging. Normally this is a `commit` but it can also be a `tree` or a `blob`.", + "enum": ["commit", "tree", "blob"] + }, + "tagger": { + "type": "object", + "description": "An object with information about the individual creating the tag.", + "properties": { + "name": { + "type": "string", + "description": "The name of the author of the tag" + }, + "email": { + "type": "string", + "description": "The email of the author of the tag" + }, + "date": { + "type": "string", + "description": "When this object was tagged. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`." + } + } + } + }, + "required": ["tag", "message", "object", "type"] + }, + "example": { + "tag": "v0.0.1", + "message": "initial version", + "object": "c3d0be41ecbe669545ee3e94d31ed9a4bc91ee3c", + "type": "commit", + "tagger": { + "name": "Monalisa Octocat", + "email": "octocat@github.com", + "date": "2011-06-17T14:53:35-07:00" + } + } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/git-tag" }, + "examples": { + "default": { "$ref": "#/components/examples/git-tag" } + } + } + }, + "headers": { + "Location": { + "example": "https://api.github.com/repos/octocat/Hello-World/git/tags/940bd336248efae0f9ee5bc7b2d5c985887b16ac", + "schema": { "type": "string" } + } + } + }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "git", + "subcategory": "tags" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/git/tags/{tag_sha}": { + "get": { + "summary": "Get a tag", + "description": "**Signature verification object**\n\nThe response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object:\n\n| Name | Type | Description |\n| ---- | ---- | ----------- |\n| `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. |\n| `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. |\n| `signature` | `string` | The signature that was extracted from the commit. |\n| `payload` | `string` | The value that was signed. |\n\nThese are the possible values for `reason` in the `verification` object:\n\n| Value | Description |\n| ----- | ----------- |\n| `expired_key` | The key that made the signature is expired. |\n| `not_signing_key` | The \"signing\" flag is not among the usage flags in the GPG key that made the signature. |\n| `gpgverify_error` | There was an error communicating with the signature verification service. |\n| `gpgverify_unavailable` | The signature verification service is currently unavailable. |\n| `unsigned` | The object does not include a signature. |\n| `unknown_signature_type` | A non-PGP signature was found in the commit. |\n| `no_user` | No user was associated with the `committer` email address in the commit. |\n| `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. |\n| `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. |\n| `unknown_key` | The key that made the signature has not been registered with any user's account. |\n| `malformed_signature` | There was an error parsing the signature. |\n| `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. |\n| `valid` | None of the above errors applied, so the signature is considered to be verified. |", + "tags": ["git"], + "operationId": "git/get-tag", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/git#get-a-tag" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { + "name": "tag_sha", + "in": "path", + "required": true, + "schema": { "type": "string" } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/git-tag" }, + "examples": { + "default": { "$ref": "#/components/examples/git-tag" } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "git", + "subcategory": "tags" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/git/trees": { + "post": { + "summary": "Create a tree", + "description": "The tree creation API accepts nested entries. If you specify both a tree and a nested path modifying that tree, this endpoint will overwrite the contents of the tree with the new path contents, and create a new tree structure.\n\nIf you use this endpoint to add, delete, or modify the file contents in a tree, you will need to commit the tree and then update a branch to point to the commit. For more information see \"[Create a commit](https://docs.github.com/rest/reference/git#create-a-commit)\" and \"[Update a reference](https://docs.github.com/rest/reference/git#update-a-reference).\"", + "tags": ["git"], + "operationId": "git/create-tree", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/git#create-a-tree" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "tree": { + "type": "array", + "description": "Objects (of `path`, `mode`, `type`, and `sha`) specifying a tree structure.", + "items": { + "type": "object", + "properties": { + "path": { + "type": "string", + "description": "The file referenced in the tree." + }, + "mode": { + "type": "string", + "description": "The file mode; one of `100644` for file (blob), `100755` for executable (blob), `040000` for subdirectory (tree), `160000` for submodule (commit), or `120000` for a blob that specifies the path of a symlink.", + "enum": [ + "100644", + "100755", + "040000", + "160000", + "120000" + ] + }, + "type": { + "type": "string", + "description": "Either `blob`, `tree`, or `commit`.", + "enum": ["blob", "tree", "commit"] + }, + "sha": { + "type": "string", + "description": "The SHA1 checksum ID of the object in the tree. Also called `tree.sha`. If the value is `null` then the file will be deleted. \n \n**Note:** Use either `tree.sha` or `content` to specify the contents of the entry. Using both `tree.sha` and `content` will return an error.", + "nullable": true + }, + "content": { + "type": "string", + "description": "The content you want this file to have. GitHub will write this blob out and use that SHA for this entry. Use either this, or `tree.sha`. \n \n**Note:** Use either `tree.sha` or `content` to specify the contents of the entry. Using both `tree.sha` and `content` will return an error." + } + } + } + }, + "base_tree": { + "type": "string", + "description": "The SHA1 of the tree you want to update with new data. If you don't set this, the commit will be created on top of everything; however, it will only contain your change, the rest of your files will show up as deleted." + } + }, + "required": ["tree"] + }, + "example": { + "base_tree": "9fb037999f264ba9a7fc6274d15fa3ae2ab98312", + "tree": [ + { + "path": "file.rb", + "mode": "100644", + "type": "blob", + "sha": "44b4fc6d56897b048c772eb4087f854f46256132" + } + ] + } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/git-tree" }, + "examples": { + "default": { "$ref": "#/components/examples/git-tree" } + } + } + }, + "headers": { + "Location": { + "example": "https://api.github.com/repos/octocat/Hello-World/trees/cd8274d15fa3ae2ab983129fb037999f264ba9a7", + "schema": { "type": "string" } + } + } + }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "git", + "subcategory": "trees" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/git/trees/{tree_sha}": { + "get": { + "summary": "Get a tree", + "description": "Returns a single tree using the SHA1 value for that tree.\n\nIf `truncated` is `true` in the response then the number of items in the `tree` array exceeded our maximum limit. If you need to fetch more items, use the non-recursive method of fetching trees, and fetch one sub-tree at a time.", + "tags": ["git"], + "operationId": "git/get-tree", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/git#get-a-tree" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { + "name": "tree_sha", + "in": "path", + "required": true, + "schema": { "type": "string" } + }, + { + "name": "recursive", + "description": "Setting this parameter to any value returns the objects or subtrees referenced by the tree specified in `:tree_sha`. For example, setting `recursive` to any of the following will enable returning objects or subtrees: `0`, `1`, `\"true\"`, and `\"false\"`. Omit this parameter to prevent recursively returning objects or subtrees.", + "in": "query", + "required": false, + "schema": { "type": "string" } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/git-tree" }, + "examples": { + "default-response": { + "$ref": "#/components/examples/git-tree-default-response" + }, + "response-recursively-retrieving-a-tree": { + "$ref": "#/components/examples/git-tree-response-recursively-retrieving-a-tree" + } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "git", + "subcategory": "trees" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/hooks": { + "get": { + "summary": "List repository webhooks", + "description": "", + "tags": ["repos"], + "operationId": "repos/list-webhooks", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#list-repository-webhooks" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/hook" } + }, + "examples": { + "default": { "$ref": "#/components/examples/hook-items" } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "webhooks" + }, + "x-octokit": {} + }, + "post": { + "summary": "Create a repository webhook", + "description": "Repositories can have multiple webhooks installed. Each webhook should have a unique `config`. Multiple webhooks can\nshare the same `config` as long as those webhooks do not have any `events` that overlap.", + "tags": ["repos"], + "operationId": "repos/create-webhook", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#create-a-repository-webhook" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Use `web` to create a webhook. Default: `web`. This parameter only accepts the value `web`." + }, + "config": { + "type": "object", + "description": "Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/rest/reference/repos#create-hook-config-params).", + "properties": { + "url": { + "$ref": "#/components/schemas/webhook-config-url" + }, + "content_type": { + "$ref": "#/components/schemas/webhook-config-content-type" + }, + "secret": { + "$ref": "#/components/schemas/webhook-config-secret" + }, + "insecure_ssl": { + "$ref": "#/components/schemas/webhook-config-insecure-ssl" + }, + "token": { "type": "string", "example": "\"abc\"" }, + "digest": { "type": "string", "example": "\"sha256\"" } + }, + "required": ["url"] + }, + "events": { + "type": "array", + "description": "Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for.", + "default": ["push"], + "items": { "type": "string" } + }, + "active": { + "type": "boolean", + "description": "Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications.", + "default": true + } + }, + "required": ["config"] + }, + "example": { + "name": "web", + "active": true, + "events": ["push", "pull_request"], + "config": { + "url": "https://example.com/webhook", + "content_type": "json", + "insecure_ssl": "0" + } + } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/hook" }, + "examples": { + "default": { "$ref": "#/components/examples/hook" } + } + } + }, + "headers": { + "Location": { + "example": "https://api.github.com/repos/octocat/Hello-World/hooks/12345678", + "schema": { "type": "string" } + } + } + }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "webhooks" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/hooks/{hook_id}": { + "get": { + "summary": "Get a repository webhook", + "description": "Returns a webhook configured in a repository. To get only the webhook `config` properties, see \"[Get a webhook configuration for a repository](/rest/reference/repos#get-a-webhook-configuration-for-a-repository).\"", + "tags": ["repos"], + "operationId": "repos/get-webhook", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#get-a-repository-webhook" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/hook-id" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/hook" }, + "examples": { + "default": { "$ref": "#/components/examples/hook" } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "webhooks" + }, + "x-octokit": {} + }, + "patch": { + "summary": "Update a repository webhook", + "description": "Updates a webhook configured in a repository. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use \"[Update a webhook configuration for a repository](/rest/reference/repos#update-a-webhook-configuration-for-a-repository).\"", + "tags": ["repos"], + "operationId": "repos/update-webhook", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#update-a-repository-webhook" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/hook-id" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "config": { + "type": "object", + "description": "Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/rest/reference/repos#create-hook-config-params).", + "properties": { + "url": { + "$ref": "#/components/schemas/webhook-config-url" + }, + "content_type": { + "$ref": "#/components/schemas/webhook-config-content-type" + }, + "secret": { + "$ref": "#/components/schemas/webhook-config-secret" + }, + "insecure_ssl": { + "$ref": "#/components/schemas/webhook-config-insecure-ssl" + }, + "address": { + "type": "string", + "example": "\"bar@example.com\"" + }, + "room": { + "type": "string", + "example": "\"The Serious Room\"" + } + }, + "required": ["url"] + }, + "events": { + "type": "array", + "description": "Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. This replaces the entire array of events.", + "default": ["push"], + "items": { "type": "string" } + }, + "add_events": { + "type": "array", + "description": "Determines a list of events to be added to the list of events that the Hook triggers for.", + "items": { "type": "string" } + }, + "remove_events": { + "type": "array", + "description": "Determines a list of events to be removed from the list of events that the Hook triggers for.", + "items": { "type": "string" } + }, + "active": { + "type": "boolean", + "description": "Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications.", + "default": true + } + } + }, + "example": { "active": true, "add_events": ["pull_request"] } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/hook" }, + "examples": { + "default": { "$ref": "#/components/examples/hook" } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "webhooks" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Delete a repository webhook", + "description": "", + "tags": ["repos"], + "operationId": "repos/delete-webhook", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#delete-a-repository-webhook" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/hook-id" } + ], + "responses": { + "204": { "description": "Empty response" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "webhooks" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/hooks/{hook_id}/config": { + "get": { + "summary": "Get a webhook configuration for a repository", + "description": "Returns the webhook configuration for a repository. To get more information about the webhook, including the `active` state and `events`, use \"[Get a repository webhook](/rest/reference/orgs#get-a-repository-webhook).\"\n\nAccess tokens must have the `read:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:read` permission.", + "tags": ["repos"], + "operationId": "repos/get-webhook-config-for-repo", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/repos#get-a-webhook-configuration-for-a-repository" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/hook-id" } + ], + "responses": { + "200": { + "description": "Default response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/webhook-config" }, + "examples": { + "default": { "$ref": "#/components/examples/webhook-config" } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "webhooks" + }, + "x-octokit": {} + }, + "patch": { + "summary": "Update a webhook configuration for a repository", + "description": "Updates the webhook configuration for a repository. To update more information about the webhook, including the `active` state and `events`, use \"[Update a repository webhook](/rest/reference/orgs#update-a-repository-webhook).\"\n\nAccess tokens must have the `write:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:write` permission.", + "tags": ["repos"], + "operationId": "repos/update-webhook-config-for-repo", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/repos#update-a-webhook-configuration-for-a-repository" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/hook-id" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "url": { "$ref": "#/components/schemas/webhook-config-url" }, + "content_type": { + "$ref": "#/components/schemas/webhook-config-content-type" + }, + "secret": { + "$ref": "#/components/schemas/webhook-config-secret" + }, + "insecure_ssl": { + "$ref": "#/components/schemas/webhook-config-insecure-ssl" + } + }, + "example": { + "content_type": "json", + "insecure_ssl": "0", + "secret": "********", + "url": "https://example.com/webhook" + } + } + } + } + }, + "responses": { + "200": { + "description": "Default response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/webhook-config" }, + "examples": { + "default": { "$ref": "#/components/examples/webhook-config" } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "webhooks" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/hooks/{hook_id}/pings": { + "post": { + "summary": "Ping a repository webhook", + "description": "This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook.", + "tags": ["repos"], + "operationId": "repos/ping-webhook", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#ping-a-repository-webhook" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/hook-id" } + ], + "responses": { + "204": { "description": "Empty response" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "webhooks" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/hooks/{hook_id}/tests": { + "post": { + "summary": "Test the push repository webhook", + "description": "This will trigger the hook with the latest push to the current repository if the hook is subscribed to `push` events. If the hook is not subscribed to `push` events, the server will respond with 204 but no test POST will be generated.\n\n**Note**: Previously `/repos/:owner/:repo/hooks/:hook_id/test`", + "tags": ["repos"], + "operationId": "repos/test-push-webhook", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#test-the-push-repository-webhook" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/hook-id" } + ], + "responses": { + "204": { "description": "Empty response" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "webhooks" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/import": { + "get": { + "summary": "Get an import status", + "description": "View the progress of an import.\n\n**Import status**\n\nThis section includes details about the possible values of the `status` field of the Import Progress response.\n\nAn import that does not have errors will progress through these steps:\n\n* `detecting` - the \"detection\" step of the import is in progress because the request did not include a `vcs` parameter. The import is identifying the type of source control present at the URL.\n* `importing` - the \"raw\" step of the import is in progress. This is where commit data is fetched from the original repository. The import progress response will include `commit_count` (the total number of raw commits that will be imported) and `percent` (0 - 100, the current progress through the import).\n* `mapping` - the \"rewrite\" step of the import is in progress. This is where SVN branches are converted to Git branches, and where author updates are applied. The import progress response does not include progress information.\n* `pushing` - the \"push\" step of the import is in progress. This is where the importer updates the repository on GitHub. The import progress response will include `push_percent`, which is the percent value reported by `git push` when it is \"Writing objects\".\n* `complete` - the import is complete, and the repository is ready on GitHub.\n\nIf there are problems, you will see one of these in the `status` field:\n\n* `auth_failed` - the import requires authentication in order to connect to the original repository. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/reference/migrations#update-an-import) section.\n* `error` - the import encountered an error. The import progress response will include the `failed_step` and an error message. Contact [GitHub Support](https://github.com/contact) or [GitHub Premium Support](https://premium.githubsupport.com) for more information.\n* `detection_needs_auth` - the importer requires authentication for the originating repository to continue detection. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/reference/migrations#update-an-import) section.\n* `detection_found_nothing` - the importer didn't recognize any source control at the URL. To resolve, [Cancel the import](https://docs.github.com/rest/reference/migrations#cancel-an-import) and [retry](https://docs.github.com/rest/reference/migrations#start-an-import) with the correct URL.\n* `detection_found_multiple` - the importer found several projects or repositories at the provided URL. When this is the case, the Import Progress response will also include a `project_choices` field with the possible project choices as values. To update project choice, please see the [Update an import](https://docs.github.com/rest/reference/migrations#update-an-import) section.\n\n**The project_choices field**\n\nWhen multiple projects are found at the provided URL, the response hash will include a `project_choices` field, the value of which is an array of hashes each representing a project choice. The exact key/value pairs of the project hashes will differ depending on the version control type.\n\n**Git LFS related fields**\n\nThis section includes details about Git LFS related fields that may be present in the Import Progress response.\n\n* `use_lfs` - describes whether the import has been opted in or out of using Git LFS. The value can be `opt_in`, `opt_out`, or `undecided` if no action has been taken.\n* `has_large_files` - the boolean value describing whether files larger than 100MB were found during the `importing` step.\n* `large_files_size` - the total size in gigabytes of files larger than 100MB found in the originating repository.\n* `large_files_count` - the total number of files larger than 100MB found in the originating repository. To see a list of these files, make a \"Get Large Files\" request.", + "tags": ["migrations"], + "operationId": "migrations/get-import-status", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/migrations#get-an-import-status" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/import" }, + "examples": { + "default": { "$ref": "#/components/examples/import" } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "migrations", + "subcategory": "source-imports" + }, + "x-octokit": {} + }, + "put": { + "summary": "Start an import", + "description": "Start a source import to a GitHub repository using GitHub Importer.", + "tags": ["migrations"], + "operationId": "migrations/start-import", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/migrations#start-an-import" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "vcs_url": { + "type": "string", + "description": "The URL of the originating repository." + }, + "vcs": { + "type": "string", + "description": "The originating VCS type. Can be one of `subversion`, `git`, `mercurial`, or `tfvc`. Please be aware that without this parameter, the import job will take additional time to detect the VCS type before beginning the import. This detection step will be reflected in the response.", + "enum": ["subversion", "git", "mercurial", "tfvc"] + }, + "vcs_username": { + "type": "string", + "description": "If authentication is required, the username to provide to `vcs_url`." + }, + "vcs_password": { + "type": "string", + "description": "If authentication is required, the password to provide to `vcs_url`." + }, + "tfvc_project": { + "type": "string", + "description": "For a tfvc import, the name of the project that is being imported." + } + }, + "required": ["vcs_url"] + }, + "example": { + "vcs": "subversion", + "vcs_url": "http://svn.mycompany.com/svn/myproject", + "vcs_username": "octocat", + "vcs_password": "secret" + } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/import" }, + "examples": { + "default": { "$ref": "#/components/examples/import-2" } + } + } + }, + "headers": { + "Location": { + "example": "https://api.github.com/repos/spraints/socm/import", + "schema": { "type": "string" } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "migrations", + "subcategory": "source-imports" + }, + "x-octokit": {} + }, + "patch": { + "summary": "Update an import", + "description": "An import can be updated with credentials or a project choice by passing in the appropriate parameters in this API\nrequest. If no parameters are provided, the import will be restarted.", + "tags": ["migrations"], + "operationId": "migrations/update-import", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/migrations#update-an-import" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "vcs_username": { + "type": "string", + "description": "The username to provide to the originating repository." + }, + "vcs_password": { + "type": "string", + "description": "The password to provide to the originating repository." + }, + "vcs": { "type": "string", "example": "\"git\"" }, + "tfvc_project": { + "type": "string", + "example": "\"project1\"" + } + } + }, + "examples": { + "example-1": { + "summary": "Example 1", + "value": { + "vcs_username": "octocat", + "vcs_password": "secret" + } + } + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/import" }, + "examples": { + "example-1": { + "$ref": "#/components/examples/import-example-1" + }, + "example-2": { + "$ref": "#/components/examples/import-example-2" + }, + "response": { + "$ref": "#/components/examples/import-response" + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "migrations", + "subcategory": "source-imports" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Cancel an import", + "description": "Stop an import for a repository.", + "tags": ["migrations"], + "operationId": "migrations/cancel-import", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/migrations#cancel-an-import" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "migrations", + "subcategory": "source-imports" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/import/authors": { + "get": { + "summary": "Get commit authors", + "description": "Each type of source control system represents authors in a different way. For example, a Git commit author has a display name and an email address, but a Subversion commit author just has a username. The GitHub Importer will make the author information valid, but the author might not be correct. For example, it will change the bare Subversion username `hubot` into something like `hubot `.\n\nThis endpoint and the [Map a commit author](https://docs.github.com/rest/reference/migrations#map-a-commit-author) endpoint allow you to provide correct Git author information.", + "tags": ["migrations"], + "operationId": "migrations/get-commit-authors", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/migrations#get-commit-authors" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/since-user" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/porter-author" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/porter-author-items" + } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "migrations", + "subcategory": "source-imports" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/import/authors/{author_id}": { + "patch": { + "summary": "Map a commit author", + "description": "Update an author's identity for the import. Your application can continue updating authors any time before you push new commits to the repository.", + "tags": ["migrations"], + "operationId": "migrations/map-commit-author", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/migrations#map-a-commit-author" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { + "name": "author_id", + "in": "path", + "required": true, + "schema": { "type": "integer" } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "email": { + "type": "string", + "description": "The new Git author email." + }, + "name": { + "type": "string", + "description": "The new Git author name." + }, + "remote_id": { + "type": "string", + "example": "\"can't touch this\"" + } + } + }, + "example": { + "email": "hubot@github.com", + "name": "Hubot the Robot" + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/porter-author" }, + "examples": { + "default": { "$ref": "#/components/examples/porter-author" } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "migrations", + "subcategory": "source-imports" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/import/large_files": { + "get": { + "summary": "Get large files", + "description": "List files larger than 100MB found during the import", + "tags": ["migrations"], + "operationId": "migrations/get-large-files", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/migrations#get-large-files" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/porter-large-file" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/porter-large-file-items" + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "migrations", + "subcategory": "source-imports" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/import/lfs": { + "patch": { + "summary": "Update Git LFS preference", + "description": "You can import repositories from Subversion, Mercurial, and TFS that include files larger than 100MB. This ability is powered by [Git LFS](https://git-lfs.github.com). You can learn more about our LFS feature and working with large files [on our help site](https://help.github.com/articles/versioning-large-files/).", + "tags": ["migrations"], + "operationId": "migrations/set-lfs-preference", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/migrations#update-git-lfs-preference" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "use_lfs": { + "type": "string", + "description": "Can be one of `opt_in` (large files will be stored using Git LFS) or `opt_out` (large files will be removed during the import).", + "enum": ["opt_in", "opt_out"] + } + }, + "required": ["use_lfs"] + }, + "example": { "use_lfs": "opt_in" } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/import" }, + "examples": { + "default": { "$ref": "#/components/examples/import" } + } + } + } + }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "migrations", + "subcategory": "source-imports" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/installation": { + "get": { + "summary": "Get a repository installation for the authenticated app", + "description": "Enables an authenticated GitHub App to find the repository's installation information. The installation's account type will be either an organization or a user account, depending which account the repository belongs to.\n\nYou must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.", + "tags": ["apps"], + "operationId": "apps/get-repo-installation", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/apps/#get-a-repository-installation-for-the-authenticated-app" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/installation" }, + "examples": { + "default": { "$ref": "#/components/examples/installation" } + } + } + } + }, + "301": { "$ref": "#/components/responses/moved_permanently" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "apps", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/interaction-limits": { + "get": { + "summary": "Get interaction restrictions for a repository", + "description": "Shows which type of GitHub user can interact with this repository and when the restriction expires. If there are no restrictions, you will see an empty response.", + "tags": ["interactions"], + "operationId": "interactions/get-restrictions-for-repo", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/interactions#get-interaction-restrictions-for-a-repository" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/interaction-limit-response" + }, + "examples": { + "default": { + "$ref": "#/components/examples/interaction-limit-2" + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "interactions", + "subcategory": "repos" + }, + "x-octokit": {} + }, + "put": { + "summary": "Set interaction restrictions for a repository", + "description": "Temporarily restricts interactions to a certain type of GitHub user within the given repository. You must have owner or admin access to set these restrictions. If an interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository.", + "tags": ["interactions"], + "operationId": "interactions/set-restrictions-for-repo", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/interactions#set-interaction-restrictions-for-a-repository" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/interaction-limit" } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/interaction-limit-response" + }, + "examples": { + "default": { + "$ref": "#/components/examples/interaction-limit-2" + } + } + } + } + }, + "409": { "description": "Conflict" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "interactions", + "subcategory": "repos" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Remove interaction restrictions for a repository", + "description": "Removes all interaction restrictions from the given repository. You must have owner or admin access to remove restrictions. If the interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository.", + "tags": ["interactions"], + "operationId": "interactions/remove-restrictions-for-repo", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/interactions#remove-interaction-restrictions-for-a-repository" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "responses": { + "204": { "description": "Empty response" }, + "409": { "description": "Conflict" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "interactions", + "subcategory": "repos" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/invitations": { + "get": { + "summary": "List repository invitations", + "description": "When authenticating as a user with admin rights to a repository, this endpoint will list all currently open repository invitations.", + "tags": ["repos"], + "operationId": "repos/list-invitations", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#list-repository-invitations" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/repository-invitation" + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/repository-invitation-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "invitations" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/invitations/{invitation_id}": { + "patch": { + "summary": "Update a repository invitation", + "description": "", + "tags": ["repos"], + "operationId": "repos/update-invitation", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#update-a-repository-invitation" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/invitation_id" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "permissions": { + "type": "string", + "description": "The permissions that the associated user will have on the repository. Valid values are `read`, `write`, `maintain`, `triage`, and `admin`.", + "enum": ["read", "write", "maintain", "triage", "admin"] + } + } + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/repository-invitation" + }, + "examples": { + "default": { + "$ref": "#/components/examples/repository-invitation" + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "invitations" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Delete a repository invitation", + "description": "", + "tags": ["repos"], + "operationId": "repos/delete-invitation", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#delete-a-repository-invitation" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/invitation_id" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "invitations" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/issues": { + "get": { + "summary": "List repository issues", + "description": "List issues in a repository.\n\n**Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this\nreason, \"Issues\" endpoints may return both issues and pull requests in the response. You can identify pull requests by\nthe `pull_request` key. Be aware that the `id` of a pull request returned from \"Issues\" endpoints will be an _issue id_. To find out the pull\nrequest id, use the \"[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)\" endpoint.", + "tags": ["issues"], + "operationId": "issues/list-for-repo", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/issues/#list-repository-issues" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { + "name": "milestone", + "description": "If an `integer` is passed, it should refer to a milestone by its `number` field. If the string `*` is passed, issues with any milestone are accepted. If the string `none` is passed, issues without milestones are returned.", + "in": "query", + "required": false, + "schema": { "type": "string" } + }, + { + "name": "state", + "description": "Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["open", "closed", "all"], + "default": "open" + } + }, + { + "name": "assignee", + "description": "Can be the name of a user. Pass in `none` for issues with no assigned user, and `*` for issues assigned to any user.", + "in": "query", + "required": false, + "schema": { "type": "string" } + }, + { + "name": "creator", + "description": "The user that created the issue.", + "in": "query", + "required": false, + "schema": { "type": "string" } + }, + { + "name": "mentioned", + "description": "A user that's mentioned in the issue.", + "in": "query", + "required": false, + "schema": { "type": "string" } + }, + { "$ref": "#/components/parameters/labels" }, + { + "name": "sort", + "description": "What to sort results by. Can be either `created`, `updated`, `comments`.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["created", "updated", "comments"], + "default": "created" + } + }, + { "$ref": "#/components/parameters/direction" }, + { "$ref": "#/components/parameters/since" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/issue-simple" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/issue-simple-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "301": { "$ref": "#/components/responses/moved_permanently" }, + "404": { "$ref": "#/components/responses/not_found" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": false, + "name": "squirrel-girl", + "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." + } + ], + "category": "issues", + "subcategory": null + }, + "x-octokit": {} + }, + "post": { + "summary": "Create an issue", + "description": "Any user with pull access to a repository can create an issue. If [issues are disabled in the repository](https://help.github.com/articles/disabling-issues/), the API returns a `410 Gone` status.\n\nThis endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-abuse-rate-limits)\" for details.", + "tags": ["issues"], + "operationId": "issues/create", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/issues/#create-an-issue" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "title": { + "type": "string", + "description": "The title of the issue." + }, + "body": { + "type": "string", + "description": "The contents of the issue." + }, + "assignee": { + "type": "string", + "description": "Login for the user that this issue should be assigned to. _NOTE: Only users with push access can set the assignee for new issues. The assignee is silently dropped otherwise. **This field is deprecated.**_", + "nullable": true + }, + "milestone": { + "type": "integer", + "description": "The `number` of the milestone to associate this issue with. _NOTE: Only users with push access can set the milestone for new issues. The milestone is silently dropped otherwise._", + "nullable": true + }, + "labels": { + "type": "array", + "description": "Labels to associate with this issue. _NOTE: Only users with push access can set labels for new issues. Labels are silently dropped otherwise._", + "items": { + "oneOf": [ + { "type": "string" }, + { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "name": { "type": "string" }, + "description": { "type": "string" }, + "color": { "type": "string" } + } + } + ] + } + }, + "assignees": { + "type": "array", + "description": "Logins for Users to assign to this issue. _NOTE: Only users with push access can set assignees for new issues. Assignees are silently dropped otherwise._", + "items": { "type": "string" } + } + }, + "required": ["title"] + }, + "example": { + "title": "Found a bug", + "body": "I'm having a problem with this.", + "assignees": ["octocat"], + "milestone": 1, + "labels": ["bug"] + } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/issue" }, + "examples": { + "default": { "$ref": "#/components/examples/issue" } + } + } + }, + "headers": { + "Location": { + "example": "https://api.github.com/repos/octocat/Hello-World/issues/1347", + "schema": { "type": "string" } + } + } + }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" }, + "410": { "$ref": "#/components/responses/gone" }, + "422": { "$ref": "#/components/responses/validation_failed" }, + "503": { "$ref": "#/components/responses/service_unavailable" } + }, + "x-github": { + "triggersNotification": true, + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "issues", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/issues/comments": { + "get": { + "summary": "List issue comments for a repository", + "description": "By default, Issue Comments are ordered by ascending ID.", + "tags": ["issues"], + "operationId": "issues/list-comments-for-repo", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/issues#list-issue-comments-for-a-repository" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/sort" }, + { + "name": "direction", + "description": "Either `asc` or `desc`. Ignored without the `sort` parameter.", + "in": "query", + "required": false, + "schema": { "type": "string", "enum": ["asc", "desc"] } + }, + { "$ref": "#/components/parameters/since" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/issue-comment" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/issue-comment-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "404": { "$ref": "#/components/responses/not_found" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": false, + "name": "squirrel-girl", + "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." + } + ], + "category": "issues", + "subcategory": "comments" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/issues/comments/{comment_id}": { + "get": { + "summary": "Get an issue comment", + "description": "", + "tags": ["issues"], + "operationId": "issues/get-comment", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/issues#get-an-issue-comment" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/comment_id" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/issue-comment" }, + "examples": { + "default": { "$ref": "#/components/examples/issue-comment" } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": false, + "name": "squirrel-girl", + "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." + } + ], + "category": "issues", + "subcategory": "comments" + }, + "x-octokit": {} + }, + "patch": { + "summary": "Update an issue comment", + "description": "", + "tags": ["issues"], + "operationId": "issues/update-comment", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/issues#update-an-issue-comment" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/comment_id" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "body": { + "type": "string", + "description": "The contents of the comment." + } + }, + "required": ["body"] + }, + "example": { "body": "Me too" } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/issue-comment" }, + "examples": { + "default": { "$ref": "#/components/examples/issue-comment" } + } + } + } + }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "issues", + "subcategory": "comments" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Delete an issue comment", + "description": "", + "tags": ["issues"], + "operationId": "issues/delete-comment", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/issues#delete-an-issue-comment" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/comment_id" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "issues", + "subcategory": "comments" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions": { + "get": { + "summary": "List reactions for an issue comment", + "description": "List the reactions to an [issue comment](https://docs.github.com/rest/reference/issues#comments).", + "tags": ["reactions"], + "operationId": "reactions/list-for-issue-comment", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/reactions/#list-reactions-for-an-issue-comment" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/comment_id" }, + { + "name": "content", + "description": "Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to an issue comment.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ] + } + }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/reaction" } + }, + "examples": { + "default": { "$ref": "#/components/examples/reaction-items" } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "404": { "$ref": "#/components/responses/not_found" }, + "415": { "$ref": "#/components/responses/preview_header_missing" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "squirrel-girl", + "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." + } + ], + "category": "reactions", + "subcategory": null + }, + "x-octokit": {} + }, + "post": { + "summary": "Create reaction for an issue comment", + "description": "Create a reaction to an [issue comment](https://docs.github.com/rest/reference/issues#comments). A response with a `Status: 200 OK` means that you already added the reaction type to this issue comment.", + "tags": ["reactions"], + "operationId": "reactions/create-for-issue-comment", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/reactions/#create-reaction-for-an-issue-comment" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/comment_id" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "content": { + "type": "string", + "description": "The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the issue comment.", + "enum": [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ] + } + }, + "required": ["content"] + }, + "example": { "content": "heart" } + } + } + }, + "responses": { + "200": { + "description": "Reaction exists", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/reaction" }, + "examples": { + "default": { "$ref": "#/components/examples/reaction" } + } + } + } + }, + "201": { + "description": "Reaction created", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/reaction" }, + "examples": { + "default": { "$ref": "#/components/examples/reaction" } + } + } + } + }, + "415": { "$ref": "#/components/responses/preview_header_missing" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "squirrel-girl", + "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." + } + ], + "category": "reactions", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}": { + "delete": { + "summary": "Delete an issue comment reaction", + "description": "**Note:** You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/issues/comments/:comment_id/reactions/:reaction_id`.\n\nDelete a reaction to an [issue comment](https://docs.github.com/rest/reference/issues#comments).", + "tags": ["reactions"], + "operationId": "reactions/delete-for-issue-comment", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/reactions/#delete-an-issue-comment-reaction" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/comment_id" }, + { "$ref": "#/components/parameters/reaction-id" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "squirrel-girl", + "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." + } + ], + "category": "reactions", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/issues/events": { + "get": { + "summary": "List issue events for a repository", + "description": "", + "tags": ["issues"], + "operationId": "issues/list-events-for-repo", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/issues#list-issue-events-for-a-repository" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/issue-event" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/issue-event-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": false, + "name": "starfox", + "note": "Project card details are now shown in REST API v3 responses for project-related issue and timeline events. This feature is now available for developers to preview. For details, see the [blog post](https://developer.github.com/changes/2018-09-05-project-card-events).\n\nTo receive the `project_card` attribute, project boards must be [enabled](https://help.github.com/articles/disabling-project-boards-in-a-repository) for a repository, and you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.starfox-preview+json\n```" + } + ], + "category": "issues", + "subcategory": "events" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/issues/events/{event_id}": { + "get": { + "summary": "Get an issue event", + "description": "", + "tags": ["issues"], + "operationId": "issues/get-event", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/issues#get-an-issue-event" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { + "name": "event_id", + "in": "path", + "required": true, + "schema": { "type": "integer" } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/issue-event" }, + "examples": { + "default": { "$ref": "#/components/examples/issue-event" } + } + } + } + }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" }, + "410": { "$ref": "#/components/responses/gone" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": false, + "name": "starfox", + "note": "Project card details are now shown in REST API v3 responses for project-related issue and timeline events. This feature is now available for developers to preview. For details, see the [blog post](https://developer.github.com/changes/2018-09-05-project-card-events).\n\nTo receive the `project_card` attribute, project boards must be [enabled](https://help.github.com/articles/disabling-project-boards-in-a-repository) for a repository, and you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.starfox-preview+json\n```" + } + ], + "category": "issues", + "subcategory": "events" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/issues/{issue_number}": { + "get": { + "summary": "Get an issue", + "description": "The API returns a [`301 Moved Permanently` status](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-redirects-redirects) if the issue was\n[transferred](https://help.github.com/articles/transferring-an-issue-to-another-repository/) to another repository. If\nthe issue was transferred to or deleted from a repository where the authenticated user lacks read access, the API\nreturns a `404 Not Found` status. If the issue was deleted from a repository where the authenticated user has read\naccess, the API returns a `410 Gone` status. To receive webhook events for transferred and deleted issues, subscribe\nto the [`issues`](https://docs.github.com/webhooks/event-payloads/#issues) webhook.\n\n**Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this\nreason, \"Issues\" endpoints may return both issues and pull requests in the response. You can identify pull requests by\nthe `pull_request` key. Be aware that the `id` of a pull request returned from \"Issues\" endpoints will be an _issue id_. To find out the pull\nrequest id, use the \"[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)\" endpoint.", + "tags": ["issues"], + "operationId": "issues/get", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/issues/#get-an-issue" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/issue_number" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/issue" }, + "examples": { + "default": { "$ref": "#/components/examples/issue" } + } + } + } + }, + "301": { "$ref": "#/components/responses/moved_permanently" }, + "304": { "$ref": "#/components/responses/not_modified" }, + "404": { "$ref": "#/components/responses/not_found" }, + "410": { "$ref": "#/components/responses/gone" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": false, + "name": "squirrel-girl", + "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." + } + ], + "category": "issues", + "subcategory": null + }, + "x-octokit": {} + }, + "patch": { + "summary": "Update an issue", + "description": "Issue owners and users with push access can edit an issue.", + "tags": ["issues"], + "operationId": "issues/update", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/issues/#update-an-issue" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/issue_number" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "title": { + "type": "string", + "description": "The title of the issue." + }, + "body": { + "type": "string", + "description": "The contents of the issue." + }, + "assignee": { + "type": "string", + "description": "Login for the user that this issue should be assigned to. **This field is deprecated.**" + }, + "state": { + "type": "string", + "description": "State of the issue. Either `open` or `closed`.", + "enum": ["open", "closed"] + }, + "milestone": { + "type": "integer", + "description": "The `number` of the milestone to associate this issue with or `null` to remove current. _NOTE: Only users with push access can set the milestone for issues. The milestone is silently dropped otherwise._", + "nullable": true + }, + "labels": { + "type": "array", + "description": "Labels to associate with this issue. Pass one or more Labels to _replace_ the set of Labels on this Issue. Send an empty array (`[]`) to clear all Labels from the Issue. _NOTE: Only users with push access can set labels for issues. Labels are silently dropped otherwise._", + "items": { + "oneOf": [ + { "type": "string" }, + { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "name": { "type": "string" }, + "description": { "type": "string" }, + "color": { "type": "string" } + } + } + ] + } + }, + "assignees": { + "type": "array", + "description": "Logins for Users to assign to this issue. Pass one or more user logins to _replace_ the set of assignees on this Issue. Send an empty array (`[]`) to clear all assignees from the Issue. _NOTE: Only users with push access can set assignees for new issues. Assignees are silently dropped otherwise._", + "items": { "type": "string" } + } + } + }, + "example": { + "title": "Found a bug", + "body": "I'm having a problem with this.", + "assignees": ["octocat"], + "milestone": 1, + "state": "open", + "labels": ["bug"] + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/issue" }, + "examples": { + "default": { "$ref": "#/components/examples/issue" } + } + } + } + }, + "301": { "$ref": "#/components/responses/moved_permanently" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" }, + "410": { "$ref": "#/components/responses/gone" }, + "422": { "$ref": "#/components/responses/validation_failed" }, + "503": { "$ref": "#/components/responses/service_unavailable" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "issues", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/issues/{issue_number}/assignees": { + "post": { + "summary": "Add assignees to an issue", + "description": "Adds up to 10 assignees to an issue. Users already assigned to an issue are not replaced.", + "tags": ["issues"], + "operationId": "issues/add-assignees", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/issues#add-assignees-to-an-issue" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/issue_number" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "assignees": { + "type": "array", + "description": "Usernames of people to assign this issue to. _NOTE: Only users with push access can add assignees to an issue. Assignees are silently ignored otherwise._", + "items": { "type": "string" } + } + } + }, + "example": { "assignees": ["hubot", "other_user"] } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/issue-simple" }, + "examples": { + "default": { "$ref": "#/components/examples/issue-simple" } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "issues", + "subcategory": "assignees" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Remove assignees from an issue", + "description": "Removes one or more assignees from an issue.", + "tags": ["issues"], + "operationId": "issues/remove-assignees", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/issues#remove-assignees-from-an-issue" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/issue_number" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "assignees": { + "type": "array", + "description": "Usernames of assignees to remove from an issue. _NOTE: Only users with push access can remove assignees from an issue. Assignees are silently ignored otherwise._", + "items": { "type": "string" } + } + } + }, + "example": { "assignees": ["hubot", "other_user"] } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/issue-simple" }, + "examples": { + "default": { "$ref": "#/components/examples/issue-simple" } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "issues", + "subcategory": "assignees" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/issues/{issue_number}/comments": { + "get": { + "summary": "List issue comments", + "description": "Issue Comments are ordered by ascending ID.", + "tags": ["issues"], + "operationId": "issues/list-comments", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/issues#list-issue-comments" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/issue_number" }, + { "$ref": "#/components/parameters/since" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/issue-comment" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/issue-comment-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "404": { "$ref": "#/components/responses/not_found" }, + "410": { "$ref": "#/components/responses/gone" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": false, + "name": "squirrel-girl", + "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." + } + ], + "category": "issues", + "subcategory": "comments" + }, + "x-octokit": {} + }, + "post": { + "summary": "Create an issue comment", + "description": "This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-abuse-rate-limits)\" for details.", + "tags": ["issues"], + "operationId": "issues/create-comment", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/issues#create-an-issue-comment" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/issue_number" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "body": { + "type": "string", + "description": "The contents of the comment." + } + }, + "required": ["body"] + }, + "example": { "body": "Me too" } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/issue-comment" }, + "examples": { + "default": { "$ref": "#/components/examples/issue-comment" } + } + } + }, + "headers": { + "Location": { + "example": "https://api.github.com/repos/octocat/Hello-World/issues/comments/1", + "schema": { "type": "string" } + } + } + }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" }, + "410": { "$ref": "#/components/responses/gone" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "triggersNotification": true, + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "issues", + "subcategory": "comments" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/issues/{issue_number}/events": { + "get": { + "summary": "List issue events", + "description": "", + "tags": ["issues"], + "operationId": "issues/list-events", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/issues#list-issue-events" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/issue_number" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/issue-event-for-issue" + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/issue-event-for-issue-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "410": { "$ref": "#/components/responses/gone" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": false, + "name": "starfox", + "note": "Project card details are now shown in REST API v3 responses for project-related issue and timeline events. This feature is now available for developers to preview. For details, see the [blog post](https://developer.github.com/changes/2018-09-05-project-card-events).\n\nTo receive the `project_card` attribute, project boards must be [enabled](https://help.github.com/articles/disabling-project-boards-in-a-repository) for a repository, and you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.starfox-preview+json\n```" + } + ], + "category": "issues", + "subcategory": "events" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/issues/{issue_number}/labels": { + "get": { + "summary": "List labels for an issue", + "description": "", + "tags": ["issues"], + "operationId": "issues/list-labels-on-issue", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/issues#list-labels-for-an-issue" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/issue_number" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/label" } + }, + "examples": { + "default": { "$ref": "#/components/examples/label-items" } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "410": { "$ref": "#/components/responses/gone" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "issues", + "subcategory": "labels" + }, + "x-octokit": {} + }, + "post": { + "summary": "Add labels to an issue", + "description": "", + "tags": ["issues"], + "operationId": "issues/add-labels", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/issues#add-labels-to-an-issue" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/issue_number" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "labels": { + "type": "array", + "description": "The name of the label to add to the issue. Must contain at least one label. **Note:** Alternatively, you can pass a single label as a `string` or an `array` of labels directly, but GitHub recommends passing an object with the `labels` key.", + "items": { "type": "string" } + } + }, + "required": ["labels"] + }, + "example": { "labels": ["bug", "enhancement"] } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/label" } + }, + "examples": { + "default": { "$ref": "#/components/examples/label-items" } + } + } + } + }, + "410": { "$ref": "#/components/responses/gone" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "issues", + "subcategory": "labels" + }, + "x-octokit": {} + }, + "put": { + "summary": "Set labels for an issue", + "description": "Removes any previous labels and sets the new labels for an issue.", + "tags": ["issues"], + "operationId": "issues/set-labels", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/issues#set-labels-for-an-issue" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/issue_number" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "labels": { + "type": "array", + "description": "The names of the labels to add to the issue. You can pass an empty array to remove all labels. **Note:** Alternatively, you can pass a single label as a `string` or an `array` of labels directly, but GitHub recommends passing an object with the `labels` key.", + "items": { "type": "string" } + } + } + }, + "example": { "labels": ["bug", "enhancement"] } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/label" } + }, + "examples": { + "default": { "$ref": "#/components/examples/label-items" } + } + } + } + }, + "410": { "$ref": "#/components/responses/gone" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "issues", + "subcategory": "labels" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Remove all labels from an issue", + "description": "", + "tags": ["issues"], + "operationId": "issues/remove-all-labels", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/issues#remove-all-labels-from-an-issue" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/issue_number" } + ], + "responses": { + "204": { "description": "Empty response" }, + "410": { "$ref": "#/components/responses/gone" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "issues", + "subcategory": "labels" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/issues/{issue_number}/labels/{name}": { + "delete": { + "summary": "Remove a label from an issue", + "description": "Removes the specified label from the issue, and returns the remaining labels on the issue. This endpoint returns a `404 Not Found` status if the label does not exist.", + "tags": ["issues"], + "operationId": "issues/remove-label", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/issues#remove-a-label-from-an-issue" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/issue_number" }, + { + "name": "name", + "in": "path", + "required": true, + "schema": { "type": "string" } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/label" } + }, + "examples": { + "default": { "$ref": "#/components/examples/label-items-2" } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" }, + "410": { "$ref": "#/components/responses/gone" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "issues", + "subcategory": "labels" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/issues/{issue_number}/lock": { + "put": { + "summary": "Lock an issue", + "description": "Users with push access can lock an issue or pull request's conversation.\n\nNote that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs).\"", + "tags": ["issues"], + "operationId": "issues/lock", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/issues/#lock-an-issue" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/issue_number" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "lock_reason": { + "type": "string", + "description": "The reason for locking the issue or pull request conversation. Lock will fail if you don't use one of these reasons: \n\\* `off-topic` \n\\* `too heated` \n\\* `resolved` \n\\* `spam`", + "enum": ["off-topic", "too heated", "resolved", "spam"] + } + } + } + } + } + }, + "responses": { + "204": { "description": "Empty response" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" }, + "410": { "$ref": "#/components/responses/gone" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "issues", + "subcategory": null + }, + "x-octokit": {} + }, + "delete": { + "summary": "Unlock an issue", + "description": "Users with push access can unlock an issue's conversation.", + "tags": ["issues"], + "operationId": "issues/unlock", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/issues/#unlock-an-issue" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/issue_number" } + ], + "responses": { + "204": { "description": "Empty response" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "issues", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/issues/{issue_number}/reactions": { + "get": { + "summary": "List reactions for an issue", + "description": "List the reactions to an [issue](https://docs.github.com/rest/reference/issues).", + "tags": ["reactions"], + "operationId": "reactions/list-for-issue", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/reactions/#list-reactions-for-an-issue" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/issue_number" }, + { + "name": "content", + "description": "Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to an issue.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ] + } + }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/reaction" } + }, + "examples": { + "default": { "$ref": "#/components/examples/reaction-items" } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "404": { "$ref": "#/components/responses/not_found" }, + "410": { "$ref": "#/components/responses/gone" }, + "415": { "$ref": "#/components/responses/preview_header_missing" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "squirrel-girl", + "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." + } + ], + "category": "reactions", + "subcategory": null + }, + "x-octokit": {} + }, + "post": { + "summary": "Create reaction for an issue", + "description": "Create a reaction to an [issue](https://docs.github.com/rest/reference/issues/). A response with a `Status: 200 OK` means that you already added the reaction type to this issue.", + "tags": ["reactions"], + "operationId": "reactions/create-for-issue", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/reactions/#create-reaction-for-an-issue" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/issue_number" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "content": { + "type": "string", + "description": "The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the issue.", + "enum": [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ] + } + }, + "required": ["content"] + }, + "example": { "content": "heart" } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/reaction" }, + "examples": { + "default": { "$ref": "#/components/examples/reaction" } + } + } + } + }, + "415": { "$ref": "#/components/responses/preview_header_missing" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [ + { + "required": true, + "name": "squirrel-girl", + "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." + } + ], + "category": "reactions", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}": { + "delete": { + "summary": "Delete an issue reaction", + "description": "**Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/issues/:issue_number/reactions/:reaction_id`.\n\nDelete a reaction to an [issue](https://docs.github.com/rest/reference/issues/).", + "tags": ["reactions"], + "operationId": "reactions/delete-for-issue", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/reactions/#delete-an-issue-reaction" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/issue_number" }, + { "$ref": "#/components/parameters/reaction-id" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "squirrel-girl", + "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." + } + ], + "category": "reactions", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/issues/{issue_number}/timeline": { + "get": { + "summary": "List timeline events for an issue", + "description": "", + "tags": ["issues"], + "operationId": "issues/list-events-for-timeline", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/issues#list-timeline-events-for-an-issue" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/issue_number" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/issue-event-for-issue" + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/issue-event-for-issue-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "404": { "$ref": "#/components/responses/not_found" }, + "410": { "$ref": "#/components/responses/gone" }, + "415": { "$ref": "#/components/responses/preview_header_missing" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "mockingbird", + "note": "The API to get issue timeline events is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-23-timeline-preview-api/) for full details. To access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.mockingbird-preview\n```" + }, + { + "required": false, + "name": "starfox", + "note": "Project card details are now shown in REST API v3 responses for project-related issue and timeline events. This feature is now available for developers to preview. For details, see the [blog post](https://developer.github.com/changes/2018-09-05-project-card-events).\n\nTo receive the `project_card` attribute, project boards must be [enabled](https://help.github.com/articles/disabling-project-boards-in-a-repository) for a repository, and you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.starfox-preview+json\n```" + } + ], + "category": "issues", + "subcategory": "timeline" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/keys": { + "get": { + "summary": "List deploy keys", + "description": "", + "tags": ["repos"], + "operationId": "repos/list-deploy-keys", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#list-deploy-keys" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/deploy-key" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/deploy-key-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "keys" + }, + "x-octokit": {} + }, + "post": { + "summary": "Create a deploy key", + "description": "You can create a read-only deploy key.", + "tags": ["repos"], + "operationId": "repos/create-deploy-key", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#create-a-deploy-key" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "title": { + "type": "string", + "description": "A name for the key." + }, + "key": { + "type": "string", + "description": "The contents of the key." + }, + "read_only": { + "type": "boolean", + "description": "If `true`, the key will only be able to read repository contents. Otherwise, the key will be able to read and write. \n \nDeploy keys with write access can perform the same actions as an organization member with admin access, or a collaborator on a personal repository. For more information, see \"[Repository permission levels for an organization](https://help.github.com/articles/repository-permission-levels-for-an-organization/)\" and \"[Permission levels for a user account repository](https://help.github.com/articles/permission-levels-for-a-user-account-repository/).\"" + } + }, + "required": ["key"] + }, + "example": { + "title": "octocat@octomac", + "key": "ssh-rsa AAA...", + "read_only": true + } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/deploy-key" }, + "examples": { + "default": { "$ref": "#/components/examples/deploy-key" } + } + } + }, + "headers": { + "Location": { + "example": "https://api.github.com/repos/octocat/Hello-World/keys/1", + "schema": { "type": "string" } + } + } + }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "keys" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/keys/{key_id}": { + "get": { + "summary": "Get a deploy key", + "description": "", + "tags": ["repos"], + "operationId": "repos/get-deploy-key", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#get-a-deploy-key" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/key_id" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/deploy-key" }, + "examples": { + "default": { "$ref": "#/components/examples/deploy-key" } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "keys" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Delete a deploy key", + "description": "Deploy keys are immutable. If you need to update a key, remove the key and create a new one instead.", + "tags": ["repos"], + "operationId": "repos/delete-deploy-key", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#delete-a-deploy-key" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/key_id" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "keys" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/labels": { + "get": { + "summary": "List labels for a repository", + "description": "", + "tags": ["issues"], + "operationId": "issues/list-labels-for-repo", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/issues#list-labels-for-a-repository" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/label" } + }, + "examples": { + "default": { "$ref": "#/components/examples/label-items" } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "issues", + "subcategory": "labels" + }, + "x-octokit": {} + }, + "post": { + "summary": "Create a label", + "description": "", + "tags": ["issues"], + "operationId": "issues/create-label", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/issues#create-a-label" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji ![:strawberry:](https://github.githubassets.com/images/icons/emoji/unicode/1f353.png \":strawberry:\"). For a full list of available emoji and codes, see [emoji-cheat-sheet.com](http://emoji-cheat-sheet.com/)." + }, + "color": { + "type": "string", + "description": "The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`." + }, + "description": { + "type": "string", + "description": "A short description of the label." + } + }, + "required": ["name"] + }, + "example": { + "name": "bug", + "description": "Something isn't working", + "color": "f29513" + } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/label" }, + "examples": { + "default": { "$ref": "#/components/examples/label" } + } + } + }, + "headers": { + "Location": { + "example": "https://api.github.com/repos/octocat/Hello-World/labels/bug", + "schema": { "type": "string" } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "issues", + "subcategory": "labels" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/labels/{name}": { + "get": { + "summary": "Get a label", + "description": "", + "tags": ["issues"], + "operationId": "issues/get-label", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/issues#get-a-label" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { + "name": "name", + "in": "path", + "required": true, + "schema": { "type": "string" } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/label" }, + "examples": { + "default": { "$ref": "#/components/examples/label" } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "issues", + "subcategory": "labels" + }, + "x-octokit": {} + }, + "patch": { + "summary": "Update a label", + "description": "", + "tags": ["issues"], + "operationId": "issues/update-label", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/issues#update-a-label" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { + "name": "name", + "in": "path", + "required": true, + "schema": { "type": "string" } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "new_name": { + "type": "string", + "description": "The new name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji ![:strawberry:](https://github.githubassets.com/images/icons/emoji/unicode/1f353.png \":strawberry:\"). For a full list of available emoji and codes, see [emoji-cheat-sheet.com](http://emoji-cheat-sheet.com/)." + }, + "color": { + "type": "string", + "description": "The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`." + }, + "description": { + "type": "string", + "description": "A short description of the label." + } + } + }, + "example": { + "new_name": "bug :bug:", + "description": "Small bug fix required", + "color": "b01f26" + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/label" }, + "examples": { + "default": { "$ref": "#/components/examples/label-2" } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "issues", + "subcategory": "labels" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Delete a label", + "description": "", + "tags": ["issues"], + "operationId": "issues/delete-label", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/issues#delete-a-label" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { + "name": "name", + "in": "path", + "required": true, + "schema": { "type": "string" } + } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "issues", + "subcategory": "labels" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/languages": { + "get": { + "summary": "List repository languages", + "description": "Lists languages for the specified repository. The value shown for each language is the number of bytes of code written in that language.", + "tags": ["repos"], + "operationId": "repos/list-languages", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/repos/#list-repository-languages" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/language" }, + "examples": { + "default": { "$ref": "#/components/examples/language" } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/license": { + "get": { + "summary": "Get the license for a repository", + "description": "This method returns the contents of the repository's license file, if one is detected.\n\nSimilar to [Get repository content](https://docs.github.com/rest/reference/repos/contents#get-repository-content), this method also supports [custom media types](https://docs.github.com/rest/overview/media-types) for retrieving the raw license content or rendered license HTML.", + "tags": ["licenses"], + "operationId": "licenses/get-for-repo", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/licenses/#get-the-license-for-a-repository" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/license-content" }, + "examples": { + "default": { "$ref": "#/components/examples/license-content" } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "licenses", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/merges": { + "post": { + "summary": "Merge a branch", + "description": "", + "tags": ["repos"], + "operationId": "repos/merge", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#merge-a-branch" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "base": { + "type": "string", + "description": "The name of the base branch that the head will be merged into." + }, + "head": { + "type": "string", + "description": "The head to merge. This can be a branch name or a commit SHA1." + }, + "commit_message": { + "type": "string", + "description": "Commit message to use for the merge commit. If omitted, a default message will be used." + } + }, + "required": ["base", "head"] + }, + "example": { + "base": "master", + "head": "cool_feature", + "commit_message": "Shipped cool_feature!" + } + } + } + }, + "responses": { + "201": { + "description": "Successful Response (The resulting merge commit)", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/commit" }, + "examples": { + "default": { "$ref": "#/components/examples/commit" } + } + } + } + }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { "type": "string" }, + "documentation_url": { + "type": "string", + "example": "\"https://docs.github.com/rest/reference/repos#perform-a-merge\"" + } + } + }, + "examples": { + "missing-base-response": { + "summary": "Missing base response", + "value": { "message": "Base does not exist" } + }, + "missing-head-response": { + "summary": "Missing head response", + "value": { "message": "Head does not exist" } + } + } + } + } + }, + "409": { + "description": "Merge conflict response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { "type": "string" }, + "documentation_url": { + "type": "string", + "example": "\"https://docs.github.com/rest/reference/repos#perform-a-merge\"" + } + } + }, + "examples": { + "merge-conflict-response": { + "value": { "message": "Merge Conflict" } + } + } + } + } + }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "merging" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/milestones": { + "get": { + "summary": "List milestones", + "description": "", + "tags": ["issues"], + "operationId": "issues/list-milestones", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/issues#list-milestones" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { + "name": "state", + "description": "The state of the milestone. Either `open`, `closed`, or `all`.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["open", "closed", "all"], + "default": "open" + } + }, + { + "name": "sort", + "description": "What to sort results by. Either `due_on` or `completeness`.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["due_on", "completeness"], + "default": "due_on" + } + }, + { + "name": "direction", + "description": "The direction of the sort. Either `asc` or `desc`.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["asc", "desc"], + "default": "asc" + } + }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/milestone" } + }, + "examples": { + "default": { "$ref": "#/components/examples/milestone-items" } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "issues", + "subcategory": "milestones" + }, + "x-octokit": {} + }, + "post": { + "summary": "Create a milestone", + "description": "", + "tags": ["issues"], + "operationId": "issues/create-milestone", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/issues#create-a-milestone" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "title": { + "type": "string", + "description": "The title of the milestone." + }, + "state": { + "type": "string", + "description": "The state of the milestone. Either `open` or `closed`.", + "enum": ["open", "closed"], + "default": "open" + }, + "description": { + "type": "string", + "description": "A description of the milestone." + }, + "due_on": { + "type": "string", + "description": "The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`." + } + }, + "required": ["title"] + }, + "example": { + "title": "v1.0", + "state": "open", + "description": "Tracking milestone for version 1.0", + "due_on": "2012-10-09T23:39:01Z" + } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/milestone" }, + "examples": { + "default": { "$ref": "#/components/examples/milestone" } + } + } + }, + "headers": { + "Location": { + "example": "https://api.github.com/repos/octocat/Hello-World/milestones/1", + "schema": { "type": "string" } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "issues", + "subcategory": "milestones" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/milestones/{milestone_number}": { + "get": { + "summary": "Get a milestone", + "description": "", + "tags": ["issues"], + "operationId": "issues/get-milestone", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/issues#get-a-milestone" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/milestone_number" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/milestone" }, + "examples": { + "default": { "$ref": "#/components/examples/milestone" } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "issues", + "subcategory": "milestones" + }, + "x-octokit": {} + }, + "patch": { + "summary": "Update a milestone", + "description": "", + "tags": ["issues"], + "operationId": "issues/update-milestone", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/issues#update-a-milestone" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/milestone_number" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "title": { + "type": "string", + "description": "The title of the milestone." + }, + "state": { + "type": "string", + "description": "The state of the milestone. Either `open` or `closed`.", + "enum": ["open", "closed"], + "default": "open" + }, + "description": { + "type": "string", + "description": "A description of the milestone." + }, + "due_on": { + "type": "string", + "description": "The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`." + } + } + }, + "example": { + "title": "v1.0", + "state": "open", + "description": "Tracking milestone for version 1.0", + "due_on": "2012-10-09T23:39:01Z" + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/milestone" }, + "examples": { + "default": { "$ref": "#/components/examples/milestone" } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "issues", + "subcategory": "milestones" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Delete a milestone", + "description": "", + "tags": ["issues"], + "operationId": "issues/delete-milestone", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/issues#delete-a-milestone" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/milestone_number" } + ], + "responses": { + "204": { "description": "Empty response" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "issues", + "subcategory": "milestones" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/milestones/{milestone_number}/labels": { + "get": { + "summary": "List labels for issues in a milestone", + "description": "", + "tags": ["issues"], + "operationId": "issues/list-labels-for-milestone", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/issues#list-labels-for-issues-in-a-milestone" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/milestone_number" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/label" } + }, + "examples": { + "default": { "$ref": "#/components/examples/label-items" } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "issues", + "subcategory": "labels" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/notifications": { + "get": { + "summary": "List repository notifications for the authenticated user", + "description": "List all notifications for the current user.", + "tags": ["activity"], + "operationId": "activity/list-repo-notifications-for-authenticated-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/activity#list-repository-notifications-for-the-authenticated-user" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/all" }, + { "$ref": "#/components/parameters/participating" }, + { "$ref": "#/components/parameters/since" }, + { "$ref": "#/components/parameters/before" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/thread" } + }, + "examples": { + "default": { "$ref": "#/components/examples/thread-items" } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "activity", + "subcategory": "notifications" + }, + "x-octokit": {} + }, + "put": { + "summary": "Mark repository notifications as read", + "description": "Marks all notifications in a repository as \"read\" removes them from the [default view on GitHub](https://github.com/notifications). If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as \"read.\" To check whether any \"unread\" notifications remain, you can use the [List repository notifications for the authenticated user](https://docs.github.com/rest/reference/activity#list-repository-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`.", + "tags": ["activity"], + "operationId": "activity/mark-repo-notifications-as-read", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/activity#mark-repository-notifications-as-read" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "last_read_at": { + "type": "string", + "description": "Describes the last point that notifications were checked. Anything updated since this time will not be marked as read. If you omit this parameter, all notifications are marked as read. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp." + } + } + } + } + } + }, + "responses": { "202": { "description": "response" } }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "activity", + "subcategory": "notifications" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/pages": { + "get": { + "summary": "Get a GitHub Pages site", + "description": "", + "tags": ["repos"], + "operationId": "repos/get-pages", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#get-a-github-pages-site" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/page" }, + "examples": { + "default": { "$ref": "#/components/examples/page" } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "pages" + }, + "x-octokit": {} + }, + "post": { + "summary": "Create a GitHub Pages site", + "description": "Configures a GitHub Pages site. For more information, see \"[About GitHub Pages](/github/working-with-github-pages/about-github-pages).\"", + "tags": ["repos"], + "operationId": "repos/create-pages-site", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#create-a-github-pages-site" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "The source branch and directory used to publish your Pages site.", + "properties": { + "source": { + "type": "object", + "description": "The source branch and directory used to publish your Pages site.", + "properties": { + "branch": { + "type": "string", + "description": "The repository branch used to publish your site's source files." + }, + "path": { + "type": "string", + "description": "The repository directory that includes the source files for the Pages site. Allowed paths are `/` or `/docs`. Default: `/`", + "enum": ["/", "/docs"], + "default": "/" + } + }, + "required": ["branch"] + } + }, + "required": ["source"] + }, + "example": { "source": { "branch": "main", "path": "/docs" } } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/page" }, + "examples": { + "default": { "$ref": "#/components/examples/page" } + } + } + } + }, + "409": { "$ref": "#/components/responses/conflict" }, + "415": { "$ref": "#/components/responses/preview_header_missing" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "switcheroo", + "note": "Enabling and disabling Pages in the Pages API is currently available for developers to preview. See the [blog post](https://developer.github.com/changes/2019-03-14-enabling-disabling-pages/) preview for more details. To access the new endpoints during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.switcheroo-preview+json\n```" + } + ], + "category": "repos", + "subcategory": "pages" + }, + "x-octokit": {} + }, + "put": { + "summary": "Update information about a GitHub Pages site", + "description": "Updates information for a GitHub Pages site. For more information, see \"[About GitHub Pages](/github/working-with-github-pages/about-github-pages).", + "tags": ["repos"], + "operationId": "repos/update-information-about-pages-site", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#update-information-about-a-github-pages-site" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "cname": { + "type": "string", + "description": "Specify a custom domain for the repository. Sending a `null` value will remove the custom domain. For more about custom domains, see \"[Using a custom domain with GitHub Pages](https://help.github.com/articles/using-a-custom-domain-with-github-pages/).\"", + "nullable": true + }, + "source": { + "anyOf": [ + { + "type": "string", + "description": "Update the source for the repository. Must include the branch name, and may optionally specify the subdirectory `/docs`. Possible values are `\"gh-pages\"`, `\"master\"`, and `\"master /docs\"`.", + "enum": ["gh-pages", "master", "master /docs"] + }, + { + "type": "object", + "description": "Update the source for the repository. Must include the branch name and path.", + "properties": { + "branch": { + "type": "string", + "description": "The repository branch used to publish your site's source files." + }, + "path": { + "type": "string", + "description": "The repository directory that includes the source files for the Pages site. Allowed paths are `/` or `/docs`.", + "enum": ["/", "/docs"] + } + }, + "required": ["branch", "path"] + } + ] + } + }, + "required": ["source"] + }, + "example": { + "cname": "octocatblog.com", + "source": { "branch": "main", "path": "/" } + } + } + } + }, + "responses": { + "204": { "description": "Empty response" }, + "400": { "$ref": "#/components/responses/bad_request" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "pages" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Delete a GitHub Pages site", + "description": "", + "tags": ["repos"], + "operationId": "repos/delete-pages-site", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#delete-a-github-pages-site" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "responses": { + "204": { "description": "Empty response" }, + "404": { "$ref": "#/components/responses/not_found" }, + "415": { "$ref": "#/components/responses/preview_header_missing" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "switcheroo", + "note": "Enabling and disabling Pages in the Pages API is currently available for developers to preview. See the [blog post](https://developer.github.com/changes/2019-03-14-enabling-disabling-pages/) preview for more details. To access the new endpoints during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.switcheroo-preview+json\n```" + } + ], + "category": "repos", + "subcategory": "pages" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/pages/builds": { + "get": { + "summary": "List GitHub Pages builds", + "description": "", + "tags": ["repos"], + "operationId": "repos/list-pages-builds", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#list-github-pages-builds" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/page-build" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/page-build-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "pages" + }, + "x-octokit": {} + }, + "post": { + "summary": "Request a GitHub Pages build", + "description": "You can request that your site be built from the latest revision on the default branch. This has the same effect as pushing a commit to your default branch, but does not require an additional commit. Manually triggering page builds can be helpful when diagnosing build warnings and failures.\n\nBuild requests are limited to one concurrent build per repository and one concurrent build per requester. If you request a build while another is still in progress, the second request will be queued until the first completes.", + "tags": ["repos"], + "operationId": "repos/request-pages-build", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#request-a-github-pages-build" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/page-build-status" }, + "examples": { + "default": { + "$ref": "#/components/examples/page-build-status" + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "pages" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/pages/builds/latest": { + "get": { + "summary": "Get latest Pages build", + "description": "", + "tags": ["repos"], + "operationId": "repos/get-latest-pages-build", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#get-latest-pages-build" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/page-build" }, + "examples": { + "default": { "$ref": "#/components/examples/page-build" } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "pages" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/pages/builds/{build_id}": { + "get": { + "summary": "Get GitHub Pages build", + "description": "", + "tags": ["repos"], + "operationId": "repos/get-pages-build", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#get-github-pages-build" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { + "name": "build_id", + "in": "path", + "required": true, + "schema": { "type": "integer" } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/page-build" }, + "examples": { + "default": { "$ref": "#/components/examples/page-build" } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "pages" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/projects": { + "get": { + "summary": "List repository projects", + "description": "Lists the projects in a repository. Returns a `404 Not Found` status if projects are disabled in the repository. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned.", + "tags": ["projects"], + "operationId": "projects/list-for-repo", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/projects/#list-repository-projects" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { + "name": "state", + "description": "Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["open", "closed", "all"], + "default": "open" + } + }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/project" } + }, + "examples": { + "default": { "$ref": "#/components/examples/project-items-2" } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" }, + "410": { "$ref": "#/components/responses/gone" }, + "422": { "$ref": "#/components/responses/validation_failed_simple" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "inertia", + "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" + } + ], + "category": "projects", + "subcategory": null + }, + "x-octokit": {} + }, + "post": { + "summary": "Create a repository project", + "description": "Creates a repository project board. Returns a `404 Not Found` status if projects are disabled in the repository. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned.", + "tags": ["projects"], + "operationId": "projects/create-for-repo", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/projects/#create-a-repository-project" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the project." + }, + "body": { + "type": "string", + "description": "The description of the project." + } + }, + "required": ["name"] + }, + "example": { + "name": "Projects Documentation", + "body": "Developer documentation project for the developer site." + } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/project" }, + "examples": { + "default": { "$ref": "#/components/examples/project-3" } + } + } + } + }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" }, + "410": { "$ref": "#/components/responses/gone" }, + "422": { "$ref": "#/components/responses/validation_failed_simple" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "inertia", + "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" + } + ], + "category": "projects", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/pulls": { + "get": { + "summary": "List pull requests", + "description": "Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.", + "tags": ["pulls"], + "operationId": "pulls/list", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/pulls/#list-pull-requests" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { + "name": "state", + "description": "Either `open`, `closed`, or `all` to filter by state.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["open", "closed", "all"], + "default": "open" + } + }, + { + "name": "head", + "description": "Filter pulls by head user or head organization and branch name in the format of `user:ref-name` or `organization:ref-name`. For example: `github:new-script-format` or `octocat:test-branch`.", + "in": "query", + "required": false, + "schema": { "type": "string" } + }, + { + "name": "base", + "description": "Filter pulls by base branch name. Example: `gh-pages`.", + "in": "query", + "required": false, + "schema": { "type": "string" } + }, + { + "name": "sort", + "description": "What to sort results by. Can be either `created`, `updated`, `popularity` (comment count) or `long-running` (age, filtering by pulls updated in the last month).", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["created", "updated", "popularity", "long-running"], + "default": "created" + } + }, + { + "name": "direction", + "description": "The direction of the sort. Can be either `asc` or `desc`. Default: `desc` when sort is `created` or sort is not specified, otherwise `asc`.", + "in": "query", + "required": false, + "schema": { "type": "string", "enum": ["asc", "desc"] } + }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/pull-request-simple" + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/pull-request-simple-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "pulls", + "subcategory": null + }, + "x-octokit": {} + }, + "post": { + "summary": "Create a pull request", + "description": "Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nTo open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request.\n\nYou can create a new pull request.\n\nThis endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)\" for details.", + "tags": ["pulls"], + "operationId": "pulls/create", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/pulls/#create-a-pull-request" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "title": { + "type": "string", + "description": "The title of the new pull request." + }, + "head": { + "type": "string", + "description": "The name of the branch where your changes are implemented. For cross-repository pull requests in the same network, namespace `head` with a user like this: `username:branch`." + }, + "base": { + "type": "string", + "description": "The name of the branch you want the changes pulled into. This should be an existing branch on the current repository. You cannot submit a pull request to one repository that requests a merge to a base of another repository." + }, + "body": { + "type": "string", + "description": "The contents of the pull request." + }, + "maintainer_can_modify": { + "type": "boolean", + "description": "Indicates whether [maintainers can modify](https://help.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request." + }, + "draft": { + "type": "boolean", + "description": "Indicates whether the pull request is a draft. See \"[Draft Pull Requests](https://help.github.com/en/articles/about-pull-requests#draft-pull-requests)\" in the GitHub Help documentation to learn more." + }, + "issue": { "type": "integer", "example": "1" } + }, + "required": ["head", "base"] + }, + "example": { + "title": "Amazing new feature", + "body": "Please pull these awesome changes in!", + "head": "octocat:new-feature", + "base": "master" + } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/pull-request" }, + "examples": { + "default": { "$ref": "#/components/examples/pull-request" } + } + } + }, + "headers": { + "Location": { + "example": "https://api.github.com/repos/octocat/Hello-World/pulls/1347", + "schema": { "type": "string" } + } + } + }, + "403": { "$ref": "#/components/responses/forbidden" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "triggersNotification": true, + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "pulls", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/pulls/comments": { + "get": { + "summary": "List review comments in a repository", + "description": "**Note:** Multi-line comments on pull requests are currently in public beta and subject to change.\n\nLists review comments for all pull requests in a repository. By default, review comments are in ascending order by ID.\n\n**Multi-line comment summary**\n\n**Note:** New parameters and response fields are available for developers to preview. During the preview period, these response fields may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2019-10-03-multi-line-comments) for full details.\n\nUse the `comfort-fade` preview header and the `line` parameter to show multi-line comment-supported fields in the response.\n\nIf you use the `comfort-fade` preview header, your response will show:\n\n* For multi-line comments, values for `start_line`, `original_start_line`, `start_side`, `line`, `original_line`, and `side`.\n* For single-line comments, values for `line`, `original_line`, and `side` and a `null` value for `start_line`, `original_start_line`, and `start_side`.\n\nIf you don't use the `comfort-fade` preview header, multi-line and single-line comments will appear the same way in the response with a single `position` attribute. Your response will show:\n\n* For multi-line comments, the last line of the comment range for the `position` attribute.\n* For single-line comments, the diff-positioned way of referencing comments for the `position` attribute. For more information, see `position` in the [input parameters](https://docs.github.com/rest/reference/pulls#parameters-2) table.\n\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions.", + "tags": ["pulls"], + "operationId": "pulls/list-review-comments-for-repo", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/pulls#list-review-comments-in-a-repository" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/sort" }, + { + "name": "direction", + "description": "Can be either `asc` or `desc`. Ignored without `sort` parameter.", + "in": "query", + "required": false, + "schema": { "type": "string", "enum": ["asc", "desc"] } + }, + { "$ref": "#/components/parameters/since" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/pull-request-review-comment" + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/pull-request-review-comment-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": false, + "name": "comfort-fade", + "note": "Multi-line comments in a pull request diff is currently available for developers to preview. To access the new response fields during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.comfort-fade-preview+json\n```" + }, + { + "required": false, + "name": "squirrel-girl", + "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." + } + ], + "category": "pulls", + "subcategory": "comments" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/pulls/comments/{comment_id}": { + "get": { + "summary": "Get a review comment for a pull request", + "description": "**Note:** Multi-line comments on pull requests are currently in public beta and subject to change.\n\nProvides details for a review comment.\n\n**Multi-line comment summary**\n\n**Note:** New parameters and response fields are available for developers to preview. During the preview period, these response fields may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2019-10-03-multi-line-comments) for full details.\n\nUse the `comfort-fade` preview header and the `line` parameter to show multi-line comment-supported fields in the response.\n\nIf you use the `comfort-fade` preview header, your response will show:\n\n* For multi-line comments, values for `start_line`, `original_start_line`, `start_side`, `line`, `original_line`, and `side`.\n* For single-line comments, values for `line`, `original_line`, and `side` and a `null` value for `start_line`, `original_start_line`, and `start_side`.\n\nIf you don't use the `comfort-fade` preview header, multi-line and single-line comments will appear the same way in the response with a single `position` attribute. Your response will show:\n\n* For multi-line comments, the last line of the comment range for the `position` attribute.\n* For single-line comments, the diff-positioned way of referencing comments for the `position` attribute. For more information, see `position` in the [input parameters](https://docs.github.com/rest/reference/pulls#parameters-2) table.\n\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions.", + "tags": ["pulls"], + "operationId": "pulls/get-review-comment", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/pulls#get-a-review-comment-for-a-pull-request" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/comment_id" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/pull-request-review-comment" + }, + "examples": { + "default": { + "$ref": "#/components/examples/pull-request-review-comment-2" + } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": false, + "name": "comfort-fade", + "note": "Multi-line comments in a pull request diff is currently available for developers to preview. To access the new response fields during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.comfort-fade-preview+json\n```" + }, + { + "required": false, + "name": "squirrel-girl", + "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." + } + ], + "category": "pulls", + "subcategory": "comments" + }, + "x-octokit": {} + }, + "patch": { + "summary": "Update a review comment for a pull request", + "description": "**Note:** Multi-line comments on pull requests are currently in public beta and subject to change.\n\nEnables you to edit a review comment.\n\n**Multi-line comment summary**\n\n**Note:** New parameters and response fields are available for developers to preview. During the preview period, these response fields may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2019-10-03-multi-line-comments) for full details.\n\nUse the `comfort-fade` preview header and the `line` parameter to show multi-line comment-supported fields in the response.\n\nIf you use the `comfort-fade` preview header, your response will show:\n\n* For multi-line comments, values for `start_line`, `original_start_line`, `start_side`, `line`, `original_line`, and `side`.\n* For single-line comments, values for `line`, `original_line`, and `side` and a `null` value for `start_line`, `original_start_line`, and `start_side`.\n\nIf you don't use the `comfort-fade` preview header, multi-line and single-line comments will appear the same way in the response with a single `position` attribute. Your response will show:\n\n* For multi-line comments, the last line of the comment range for the `position` attribute.\n* For single-line comments, the diff-positioned way of referencing comments for the `position` attribute. For more information, see `position` in the [input parameters](https://docs.github.com/rest/reference/pulls#parameters-2) table.", + "tags": ["pulls"], + "operationId": "pulls/update-review-comment", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/pulls#update-a-review-comment-for-a-pull-request" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/comment_id" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "body": { + "type": "string", + "description": "The text of the reply to the review comment." + } + }, + "required": ["body"] + }, + "example": { "body": "I like this too!" } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/pull-request-review-comment" + }, + "examples": { + "default": { + "$ref": "#/components/examples/pull-request-review-comment-2" + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": false, + "name": "comfort-fade", + "note": "Multi-line comments in a pull request diff is currently available for developers to preview. To access the new response fields during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.comfort-fade-preview+json\n```" + } + ], + "category": "pulls", + "subcategory": "comments" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Delete a review comment for a pull request", + "description": "Deletes a review comment.", + "tags": ["pulls"], + "operationId": "pulls/delete-review-comment", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/pulls#delete-a-review-comment-for-a-pull-request" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/comment_id" } + ], + "responses": { + "204": { "description": "Empty response" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "pulls", + "subcategory": "comments" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions": { + "get": { + "summary": "List reactions for a pull request review comment", + "description": "List the reactions to a [pull request review comment](https://docs.github.com/rest/reference/pulls#review-comments).", + "tags": ["reactions"], + "operationId": "reactions/list-for-pull-request-review-comment", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/reactions/#list-reactions-for-a-pull-request-review-comment" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/comment_id" }, + { + "name": "content", + "description": "Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a pull request review comment.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ] + } + }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/reaction" } + }, + "examples": { + "default": { "$ref": "#/components/examples/reaction-items" } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "404": { "$ref": "#/components/responses/not_found" }, + "415": { "$ref": "#/components/responses/preview_header_missing" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "squirrel-girl", + "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." + } + ], + "category": "reactions", + "subcategory": null + }, + "x-octokit": {} + }, + "post": { + "summary": "Create reaction for a pull request review comment", + "description": "Create a reaction to a [pull request review comment](https://docs.github.com/rest/reference/pulls#comments). A response with a `Status: 200 OK` means that you already added the reaction type to this pull request review comment.", + "tags": ["reactions"], + "operationId": "reactions/create-for-pull-request-review-comment", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/reactions/#create-reaction-for-a-pull-request-review-comment" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/comment_id" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "content": { + "type": "string", + "description": "The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the pull request review comment.", + "enum": [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ] + } + }, + "required": ["content"] + }, + "example": { "content": "heart" } + } + } + }, + "responses": { + "200": { + "description": "Reaction exists", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/reaction" }, + "examples": { + "default": { "$ref": "#/components/examples/reaction" } + } + } + } + }, + "201": { + "description": "Reaction created", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/reaction" }, + "examples": { + "default": { "$ref": "#/components/examples/reaction" } + } + } + } + }, + "415": { "$ref": "#/components/responses/preview_header_missing" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "squirrel-girl", + "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." + } + ], + "category": "reactions", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}": { + "delete": { + "summary": "Delete a pull request comment reaction", + "description": "**Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/pulls/comments/:comment_id/reactions/:reaction_id.`\n\nDelete a reaction to a [pull request review comment](https://docs.github.com/rest/reference/pulls#review-comments).", + "tags": ["reactions"], + "operationId": "reactions/delete-for-pull-request-comment", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/reactions/#delete-a-pull-request-comment-reaction" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/comment_id" }, + { "$ref": "#/components/parameters/reaction-id" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "squirrel-girl", + "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." + } + ], + "category": "reactions", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/pulls/{pull_number}": { + "get": { + "summary": "Get a pull request", + "description": "Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nLists details of a pull request by providing its number.\n\nWhen you get, [create](https://docs.github.com/rest/reference/pulls/#create-a-pull-request), or [edit](https://docs.github.com/rest/reference/pulls#update-a-pull-request) a pull request, GitHub creates a merge commit to test whether the pull request can be automatically merged into the base branch. This test commit is not added to the base branch or the head branch. You can review the status of the test commit using the `mergeable` key. For more information, see \"[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)\".\n\nThe value of the `mergeable` attribute can be `true`, `false`, or `null`. If the value is `null`, then GitHub has started a background job to compute the mergeability. After giving the job time to complete, resubmit the request. When the job finishes, you will see a non-`null` value for the `mergeable` attribute in the response. If `mergeable` is `true`, then `merge_commit_sha` will be the SHA of the _test_ merge commit.\n\nThe value of the `merge_commit_sha` attribute changes depending on the state of the pull request. Before merging a pull request, the `merge_commit_sha` attribute holds the SHA of the _test_ merge commit. After merging a pull request, the `merge_commit_sha` attribute changes depending on how you merged the pull request:\n\n* If merged as a [merge commit](https://help.github.com/articles/about-merge-methods-on-github/), `merge_commit_sha` represents the SHA of the merge commit.\n* If merged via a [squash](https://help.github.com/articles/about-merge-methods-on-github/#squashing-your-merge-commits), `merge_commit_sha` represents the SHA of the squashed commit on the base branch.\n* If [rebased](https://help.github.com/articles/about-merge-methods-on-github/#rebasing-and-merging-your-commits), `merge_commit_sha` represents the commit that the base branch was updated to.\n\nPass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats.", + "tags": ["pulls"], + "operationId": "pulls/get", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/pulls/#get-a-pull-request" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/pull-number" } + ], + "responses": { + "200": { + "description": "Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats.", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/pull-request" }, + "examples": { + "default": { "$ref": "#/components/examples/pull-request" } + } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "404": { "$ref": "#/components/responses/not_found" }, + "500": { "$ref": "#/components/responses/internal_error" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "pulls", + "subcategory": null + }, + "x-octokit": {} + }, + "patch": { + "summary": "Update a pull request", + "description": "Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nTo open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request.", + "tags": ["pulls"], + "operationId": "pulls/update", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/pulls/#update-a-pull-request" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/pull-number" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "title": { + "type": "string", + "description": "The title of the pull request." + }, + "body": { + "type": "string", + "description": "The contents of the pull request." + }, + "state": { + "type": "string", + "description": "State of this Pull Request. Either `open` or `closed`.", + "enum": ["open", "closed"] + }, + "base": { + "type": "string", + "description": "The name of the branch you want your changes pulled into. This should be an existing branch on the current repository. You cannot update the base branch on a pull request to point to another repository." + }, + "maintainer_can_modify": { + "type": "boolean", + "description": "Indicates whether [maintainers can modify](https://help.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request." + } + } + }, + "example": { + "title": "new title", + "body": "updated body", + "state": "open", + "base": "master" + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/pull-request" }, + "examples": { + "default": { "$ref": "#/components/examples/pull-request" } + } + } + } + }, + "403": { "$ref": "#/components/responses/forbidden" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "pulls", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/pulls/{pull_number}/comments": { + "get": { + "summary": "List review comments on a pull request", + "description": "**Note:** Multi-line comments on pull requests are currently in public beta and subject to change.\n\nLists all review comments for a pull request. By default, review comments are in ascending order by ID.\n\n**Multi-line comment summary**\n\n**Note:** New parameters and response fields are available for developers to preview. During the preview period, these response fields may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2019-10-03-multi-line-comments) for full details.\n\nUse the `comfort-fade` preview header and the `line` parameter to show multi-line comment-supported fields in the response.\n\nIf you use the `comfort-fade` preview header, your response will show:\n\n* For multi-line comments, values for `start_line`, `original_start_line`, `start_side`, `line`, `original_line`, and `side`.\n* For single-line comments, values for `line`, `original_line`, and `side` and a `null` value for `start_line`, `original_start_line`, and `start_side`.\n\nIf you don't use the `comfort-fade` preview header, multi-line and single-line comments will appear the same way in the response with a single `position` attribute. Your response will show:\n\n* For multi-line comments, the last line of the comment range for the `position` attribute.\n* For single-line comments, the diff-positioned way of referencing comments for the `position` attribute. For more information, see `position` in the [input parameters](https://docs.github.com/rest/reference/pulls#parameters-2) table.\n\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions.", + "tags": ["pulls"], + "operationId": "pulls/list-review-comments", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/pulls#list-review-comments-on-a-pull-request" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/pull-number" }, + { "$ref": "#/components/parameters/sort" }, + { + "name": "direction", + "description": "Can be either `asc` or `desc`. Ignored without `sort` parameter.", + "in": "query", + "required": false, + "schema": { "type": "string", "enum": ["asc", "desc"] } + }, + { "$ref": "#/components/parameters/since" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/pull-request-review-comment" + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/pull-request-review-comment-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": false, + "name": "comfort-fade", + "note": "Multi-line comments in a pull request diff is currently available for developers to preview. To access the new response fields during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.comfort-fade-preview+json\n```" + }, + { + "required": false, + "name": "squirrel-girl", + "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." + } + ], + "category": "pulls", + "subcategory": "comments" + }, + "x-octokit": {} + }, + "post": { + "summary": "Create a review comment for a pull request", + "description": "**Note:** Multi-line comments on pull requests are currently in public beta and subject to change.\n\nCreates a review comment in the pull request diff. To add a regular comment to a pull request timeline, see \"[Create an issue comment](https://docs.github.com/rest/reference/issues#create-an-issue-comment).\" We recommend creating a review comment using `line`, `side`, and optionally `start_line` and `start_side` if your comment applies to more than one line in the pull request diff.\n\nYou can still create a review comment using the `position` parameter. When you use `position`, the `line`, `side`, `start_line`, and `start_side` parameters are not required. For more information, see [Multi-line comment summary](https://docs.github.com/rest/reference/pulls#multi-line-comment-summary-3).\n\n**Note:** The position value equals the number of lines down from the first \"@@\" hunk header in the file you want to add a comment. The line just below the \"@@\" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file.\n\nThis endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)\" for details.\n\n**Multi-line comment summary**\n\n**Note:** New parameters and response fields are available for developers to preview. During the preview period, these response fields may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2019-10-03-multi-line-comments) for full details.\n\nUse the `comfort-fade` preview header and the `line` parameter to show multi-line comment-supported fields in the response.\n\nIf you use the `comfort-fade` preview header, your response will show:\n\n* For multi-line comments, values for `start_line`, `original_start_line`, `start_side`, `line`, `original_line`, and `side`.\n* For single-line comments, values for `line`, `original_line`, and `side` and a `null` value for `start_line`, `original_start_line`, and `start_side`.\n\nIf you don't use the `comfort-fade` preview header, multi-line and single-line comments will appear the same way in the response with a single `position` attribute. Your response will show:\n\n* For multi-line comments, the last line of the comment range for the `position` attribute.\n* For single-line comments, the diff-positioned way of referencing comments for the `position` attribute. For more information, see `position` in the [input parameters](https://docs.github.com/rest/reference/pulls#parameters-2) table.", + "tags": ["pulls"], + "operationId": "pulls/create-review-comment", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/pulls#create-a-review-comment-for-a-pull-request" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/pull-number" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "body": { + "type": "string", + "description": "The text of the review comment." + }, + "commit_id": { + "type": "string", + "description": "The SHA of the commit needing a comment. Not using the latest commit SHA may render your comment outdated if a subsequent commit modifies the line you specify as the `position`." + }, + "path": { + "type": "string", + "description": "The relative path to the file that necessitates a comment." + }, + "position": { + "type": "integer", + "description": "**Required without `comfort-fade` preview**. The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note above." + }, + "side": { + "type": "string", + "description": "**Required with `comfort-fade` preview**. In a split diff view, the side of the diff that the pull request's changes appear on. Can be `LEFT` or `RIGHT`. Use `LEFT` for deletions that appear in red. Use `RIGHT` for additions that appear in green or unchanged lines that appear in white and are shown for context. For a multi-line comment, side represents whether the last line of the comment range is a deletion or addition. For more information, see \"[Diff view options](https://help.github.com/en/articles/about-comparing-branches-in-pull-requests#diff-view-options)\" in the GitHub Help documentation.", + "enum": ["LEFT", "RIGHT"] + }, + "line": { + "type": "integer", + "description": "**Required with `comfort-fade` preview**. The line of the blob in the pull request diff that the comment applies to. For a multi-line comment, the last line of the range that your comment applies to." + }, + "start_line": { + "type": "integer", + "description": "**Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. The `start_line` is the first line in the pull request diff that your multi-line comment applies to. To learn more about multi-line comments, see \"[Commenting on a pull request](https://help.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)\" in the GitHub Help documentation." + }, + "start_side": { + "type": "string", + "description": "**Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. The `start_side` is the starting side of the diff that the comment applies to. Can be `LEFT` or `RIGHT`. To learn more about multi-line comments, see \"[Commenting on a pull request](https://help.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)\" in the GitHub Help documentation. See `side` in this table for additional context.", + "enum": ["LEFT", "RIGHT", "side"] + }, + "in_reply_to": { "type": "integer", "example": "2" } + }, + "required": ["body", "path"] + }, + "examples": { + "example-for-a-single-line-comment": { + "summary": "Example for a single-line comment", + "value": { + "body": "Let's add this deleted line back.", + "commit_id": "6dcb09b5b57875f334f61aebed695e2e4193db5e", + "path": "file1.txt", + "line": 5, + "side": "LEFT" + } + }, + "example-for-a-multi-line-comment": { + "summary": "Example for a multi-line comment", + "value": { + "body": "Great stuff!", + "commit_id": "6dcb09b5b57875f334f61aebed695e2e4193db5e", + "path": "file1.txt", + "start_line": 1, + "start_side": "RIGHT", + "line": 2, + "side": "RIGHT" + } + } + } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/pull-request-review-comment" + }, + "examples": { + "example-for-a-multi-line-comment": { + "$ref": "#/components/examples/pull-request-review-comment-example-for-a-multi-line-comment" + } + } + } + }, + "headers": { + "Location": { + "example": "https://api.github.com/repos/octocat/Hello-World/pulls/comments/1", + "schema": { "type": "string" } + } + } + }, + "403": { "$ref": "#/components/responses/forbidden" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "triggersNotification": true, + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": false, + "name": "comfort-fade", + "note": "Multi-line comments in a pull request diff is currently available for developers to preview. To access the new response fields during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.comfort-fade-preview+json\n```" + } + ], + "category": "pulls", + "subcategory": "comments" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies": { + "post": { + "summary": "Create a reply for a review comment", + "description": "Creates a reply to a review comment for a pull request. For the `comment_id`, provide the ID of the review comment you are replying to. This must be the ID of a _top-level review comment_, not a reply to that comment. Replies to replies are not supported.\n\nThis endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)\" for details.", + "tags": ["pulls"], + "operationId": "pulls/create-reply-for-review-comment", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/pulls#create-a-reply-for-a-review-comment" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/pull-number" }, + { "$ref": "#/components/parameters/comment_id" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "body": { + "type": "string", + "description": "The text of the review comment." + } + }, + "required": ["body"] + }, + "example": { "body": "Great stuff!" } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/pull-request-review-comment" + }, + "examples": { + "default": { + "$ref": "#/components/examples/pull-request-review-comment" + } + } + } + }, + "headers": { + "Location": { + "example": "https://api.github.com/repos/octocat/Hello-World/pulls/comments/1", + "schema": { "type": "string" } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "triggersNotification": true, + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "pulls", + "subcategory": "comments" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/pulls/{pull_number}/commits": { + "get": { + "summary": "List commits on a pull request", + "description": "Lists a maximum of 250 commits for a pull request. To receive a complete commit list for pull requests with more than 250 commits, use the [List commits](https://docs.github.com/rest/reference/repos#list-commits) endpoint.", + "tags": ["pulls"], + "operationId": "pulls/list-commits", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/pulls/#list-commits-on-a-pull-request" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/pull-number" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/commit" } + }, + "examples": { + "default": { "$ref": "#/components/examples/commit-items" } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "pulls", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/pulls/{pull_number}/files": { + "get": { + "summary": "List pull requests files", + "description": "**Note:** Responses include a maximum of 3000 files. The paginated response returns 30 files per page by default.", + "tags": ["pulls"], + "operationId": "pulls/list-files", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/pulls/#list-pull-requests-files" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/pull-number" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/diff-entry" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/diff-entry-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "422": { "$ref": "#/components/responses/validation_failed" }, + "500": { "$ref": "#/components/responses/internal_error" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "pulls", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/pulls/{pull_number}/merge": { + "get": { + "summary": "Check if a pull request has been merged", + "description": "", + "tags": ["pulls"], + "operationId": "pulls/check-if-merged", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/pulls/#check-if-a-pull-request-has-been-merged" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/pull-number" } + ], + "responses": { + "204": { "description": "Response if pull request has been merged" }, + "404": { + "description": "Response if pull request has not been merged" + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "pulls", + "subcategory": null + }, + "x-octokit": {} + }, + "put": { + "summary": "Merge a pull request", + "description": "This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/reference/guides#dealing-with-abuse-rate-limits)\" for details.", + "tags": ["pulls"], + "operationId": "pulls/merge", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/pulls/#merge-a-pull-request" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/pull-number" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "commit_title": { + "type": "string", + "description": "Title for the automatic commit message." + }, + "commit_message": { + "type": "string", + "description": "Extra detail to append to automatic commit message." + }, + "sha": { + "type": "string", + "description": "SHA that pull request head must match to allow merge." + }, + "merge_method": { + "type": "string", + "description": "Merge method to use. Possible values are `merge`, `squash` or `rebase`. Default is `merge`.", + "enum": ["merge", "squash", "rebase"] + } + } + } + } + } + }, + "responses": { + "200": { + "description": "Response if merge was successful", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/pull-request-merge-result" + }, + "examples": { + "response-if-merge-was-successful": { + "$ref": "#/components/examples/pull-request-merge-result-response-if-merge-was-successful" + } + } + } + } + }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" }, + "405": { + "description": "Response if merge cannot be performed", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { "type": "string" }, + "documentation_url": { "type": "string" } + } + }, + "examples": { + "response-if-merge-cannot-be-performed": { + "value": { "message": "Pull Request is not mergeable" } + } + } + } + } + }, + "409": { + "description": "Response if sha was provided and pull request head did not match", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { "type": "string" }, + "documentation_url": { "type": "string" } + } + }, + "examples": { + "response-if-sha-was-provided-and-pull-request-head-did-not-match": { + "value": { + "message": "Head branch was modified. Review and try the merge again." + } + } + } + } + } + }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "triggersNotification": true, + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "pulls", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers": { + "get": { + "summary": "List requested reviewers for a pull request", + "description": "", + "tags": ["pulls"], + "operationId": "pulls/list-requested-reviewers", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/pulls#list-requested-reviewers-for-a-pull-request" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/pull-number" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/pull-request-review-request" + }, + "examples": { + "default": { + "$ref": "#/components/examples/simple-pull-request-review-request" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "pulls", + "subcategory": "review-requests" + }, + "x-octokit": {} + }, + "post": { + "summary": "Request reviewers for a pull request", + "description": "This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/reference/guides#dealing-with-abuse-rate-limits)\" for details.", + "tags": ["pulls"], + "operationId": "pulls/request-reviewers", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/pulls#request-reviewers-for-a-pull-request" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/pull-number" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "reviewers": { + "type": "array", + "description": "An array of user `login`s that will be requested.", + "items": { "type": "string" } + }, + "team_reviewers": { + "type": "array", + "description": "An array of team `slug`s that will be requested.", + "items": { "type": "string" } + } + } + }, + "example": { + "reviewers": ["octocat", "hubot", "other_user"], + "team_reviewers": ["justice-league"] + } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/pull-request-simple" + }, + "examples": { + "default": { + "$ref": "#/components/examples/pull-request-review-request" + } + } + } + } + }, + "403": { "$ref": "#/components/responses/forbidden" }, + "422": { "description": "Response if user is not a collaborator" } + }, + "x-github": { + "triggersNotification": true, + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "pulls", + "subcategory": "review-requests" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Remove requested reviewers from a pull request", + "description": "", + "tags": ["pulls"], + "operationId": "pulls/remove-requested-reviewers", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/pulls#remove-requested-reviewers-from-a-pull-request" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/pull-number" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "reviewers": { + "type": "array", + "description": "An array of user `login`s that will be removed.", + "items": { "type": "string" } + }, + "team_reviewers": { + "type": "array", + "description": "An array of team `slug`s that will be removed.", + "items": { "type": "string" } + } + } + }, + "example": { + "reviewers": ["octocat", "hubot", "other_user"], + "team_reviewers": ["justice-league"] + } + } + } + }, + "responses": { + "200": { "description": "response" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "pulls", + "subcategory": "review-requests" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews": { + "get": { + "summary": "List reviews for a pull request", + "description": "The list of reviews returns in chronological order.", + "tags": ["pulls"], + "operationId": "pulls/list-reviews", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/pulls#list-reviews-for-a-pull-request" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/pull-number" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "The list of reviews returns in chronological order.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/pull-request-review" + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/pull-request-review-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "pulls", + "subcategory": "reviews" + }, + "x-octokit": {} + }, + "post": { + "summary": "Create a review for a pull request", + "description": "This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)\" for details.\n\nPull request reviews created in the `PENDING` state do not include the `submitted_at` property in the response.\n\n**Note:** To comment on a specific line in a file, you need to first determine the _position_ of that line in the diff. The GitHub REST API v3 offers the `application/vnd.github.v3.diff` [media type](https://docs.github.com/rest/reference/media/#commits-commit-comparison-and-pull-requests). To see a pull request diff, add this media type to the `Accept` header of a call to the [single pull request](https://docs.github.com/rest/reference/pulls#get-a-pull-request) endpoint.\n\nThe `position` value equals the number of lines down from the first \"@@\" hunk header in the file you want to add a comment. The line just below the \"@@\" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file.", + "tags": ["pulls"], + "operationId": "pulls/create-review", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/pulls#create-a-review-for-a-pull-request" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/pull-number" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "commit_id": { + "type": "string", + "description": "The SHA of the commit that needs a review. Not using the latest commit SHA may render your review comment outdated if a subsequent commit modifies the line you specify as the `position`. Defaults to the most recent commit in the pull request when you do not specify a value." + }, + "body": { + "type": "string", + "description": "**Required** when using `REQUEST_CHANGES` or `COMMENT` for the `event` parameter. The body text of the pull request review." + }, + "event": { + "type": "string", + "description": "The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. By leaving this blank, you set the review action state to `PENDING`, which means you will need to [submit the pull request review](https://docs.github.com/rest/reference/pulls#submit-a-review-for-a-pull-request) when you are ready.", + "enum": ["APPROVE", "REQUEST_CHANGES", "COMMENT"] + }, + "comments": { + "type": "array", + "description": "Use the following table to specify the location, destination, and contents of the draft review comment.", + "items": { + "type": "object", + "properties": { + "path": { + "type": "string", + "description": "The relative path to the file that necessitates a review comment." + }, + "position": { + "type": "integer", + "description": "The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note below." + }, + "body": { + "type": "string", + "description": "Text of the review comment." + }, + "line": { "type": "integer", "example": "28" }, + "side": { "type": "string", "example": "\"RIGHT\"" }, + "start_line": { "type": "integer", "example": "26" }, + "start_side": { + "type": "string", + "example": "\"LEFT\"" + } + }, + "required": ["path", "body"] + } + } + } + }, + "example": { + "commit_id": "ecdd80bb57125d7ba9641ffaa4d7d2c19d3f3091", + "body": "This is close to perfect! Please address the suggested inline change.", + "event": "REQUEST_CHANGES", + "comments": [ + { + "path": "file.md", + "position": 6, + "body": "Please add more information here, and fix this typo." + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/pull-request-review" + }, + "examples": { + "default": { + "$ref": "#/components/examples/pull-request-review" + } + } + } + } + }, + "403": { "$ref": "#/components/responses/forbidden" }, + "422": { "$ref": "#/components/responses/validation_failed_simple" } + }, + "x-github": { + "triggersNotification": true, + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "pulls", + "subcategory": "reviews" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}": { + "get": { + "summary": "Get a review for a pull request", + "description": "", + "tags": ["pulls"], + "operationId": "pulls/get-review", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/pulls#get-a-review-for-a-pull-request" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/pull-number" }, + { "$ref": "#/components/parameters/review_id" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/pull-request-review" + }, + "examples": { + "default": { + "$ref": "#/components/examples/pull-request-review-4" + } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "pulls", + "subcategory": "reviews" + }, + "x-octokit": {} + }, + "put": { + "summary": "Update a review for a pull request", + "description": "Update the review summary comment with new text.", + "tags": ["pulls"], + "operationId": "pulls/update-review", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/pulls#update-a-review-for-a-pull-request" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/pull-number" }, + { "$ref": "#/components/parameters/review_id" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "body": { + "type": "string", + "description": "The body text of the pull request review." + } + }, + "required": ["body"] + }, + "example": { + "body": "This is close to perfect! Please address the suggested inline change. And add more about this." + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/pull-request-review" + }, + "examples": { + "default": { + "$ref": "#/components/examples/pull-request-review-5" + } + } + } + } + }, + "422": { "$ref": "#/components/responses/validation_failed_simple" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "pulls", + "subcategory": "reviews" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Delete a pending review for a pull request", + "description": "", + "tags": ["pulls"], + "operationId": "pulls/delete-pending-review", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/pulls#delete-a-pending-review-for-a-pull-request" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/pull-number" }, + { "$ref": "#/components/parameters/review_id" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/pull-request-review" + }, + "examples": { + "default": { + "$ref": "#/components/examples/pull-request-review" + } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" }, + "422": { "$ref": "#/components/responses/validation_failed_simple" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "pulls", + "subcategory": "reviews" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments": { + "get": { + "summary": "List comments for a pull request review", + "description": "List comments for a specific pull request review.", + "tags": ["pulls"], + "operationId": "pulls/list-comments-for-review", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/pulls#list-comments-for-a-pull-request-review" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/pull-number" }, + { "$ref": "#/components/parameters/review_id" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/review-comment" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/review-comment-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "pulls", + "subcategory": "reviews" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals": { + "put": { + "summary": "Dismiss a review for a pull request", + "description": "**Note:** To dismiss a pull request review on a [protected branch](https://docs.github.com/rest/reference/repos#branches), you must be a repository administrator or be included in the list of people or teams who can dismiss pull request reviews.", + "tags": ["pulls"], + "operationId": "pulls/dismiss-review", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/pulls#dismiss-a-review-for-a-pull-request" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/pull-number" }, + { "$ref": "#/components/parameters/review_id" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "description": "The message for the pull request review dismissal" + }, + "event": { "type": "string", "example": "\"APPROVE\"" } + }, + "required": ["message"] + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/pull-request-review" + }, + "examples": { + "default": { + "$ref": "#/components/examples/pull-request-review-3" + } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" }, + "422": { "$ref": "#/components/responses/validation_failed_simple" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "pulls", + "subcategory": "reviews" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events": { + "post": { + "summary": "Submit a review for a pull request", + "description": "", + "tags": ["pulls"], + "operationId": "pulls/submit-review", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/pulls#submit-a-review-for-a-pull-request" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/pull-number" }, + { "$ref": "#/components/parameters/review_id" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "body": { + "type": "string", + "description": "The body text of the pull request review" + }, + "event": { + "type": "string", + "description": "The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. When you leave this blank, the API returns _HTTP 422 (Unrecognizable entity)_ and sets the review action state to `PENDING`, which means you will need to re-submit the pull request review using a review action.", + "enum": ["APPROVE", "REQUEST_CHANGES", "COMMENT"] + } + }, + "required": ["event"] + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/pull-request-review" + }, + "examples": { + "default": { + "$ref": "#/components/examples/pull-request-review-4" + } + } + } + } + }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" }, + "422": { "$ref": "#/components/responses/validation_failed_simple" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "pulls", + "subcategory": "reviews" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/pulls/{pull_number}/update-branch": { + "put": { + "summary": "Update a pull request branch", + "description": "Updates the pull request branch with the latest upstream changes by merging HEAD from the base branch into the pull request branch.", + "tags": ["pulls"], + "operationId": "pulls/update-branch", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/pulls/#update-a-pull-request-branch" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/pull-number" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "expected_head_sha": { + "type": "string", + "description": "The expected SHA of the pull request's HEAD ref. This is the most recent commit on the pull request's branch. If the expected SHA does not match the pull request's HEAD, you will receive a `422 Unprocessable Entity` status. You can use the \"[List commits](https://docs.github.com/rest/reference/repos#list-commits)\" endpoint to find the most recent commit SHA. Default: SHA of the pull request's current HEAD ref." + } + } + }, + "example": { + "expected_head_sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e" + } + } + } + }, + "responses": { + "202": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { "type": "string" }, + "url": { "type": "string" } + } + }, + "example": { + "message": "Updating pull request branch.", + "url": "https://github.com/repos/octocat/Hello-World/pulls/53" + } + } + } + }, + "403": { "$ref": "#/components/responses/forbidden" }, + "415": { "$ref": "#/components/responses/preview_header_missing" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [ + { + "required": true, + "name": "lydian", + "note": "Updating the pull request branch with latest upstream changes is currently available for developers to preview. To access this new endpoint during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.lydian-preview+json\n```" + } + ], + "category": "pulls", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/readme": { + "get": { + "summary": "Get a repository README", + "description": "Gets the preferred README for a repository.\n\nREADMEs support [custom media types](https://docs.github.com/rest/reference/repos#custom-media-types) for retrieving the raw content or rendered HTML.", + "tags": ["repos"], + "operationId": "repos/get-readme", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#get-a-repository-readme" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { + "name": "ref", + "description": "The name of the commit/branch/tag. Default: the repository’s default branch (usually `master`)", + "in": "query", + "required": false, + "schema": { "type": "string" } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/content-file" }, + "examples": { + "default": { "$ref": "#/components/examples/content-file" } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "contents" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/releases": { + "get": { + "summary": "List releases", + "description": "This returns a list of releases, which does not include regular Git tags that have not been associated with a release. To get a list of Git tags, use the [Repository Tags API](https://docs.github.com/rest/reference/repos#list-repository-tags).\n\nInformation about published releases are available to everyone. Only users with push access will receive listings for draft releases.", + "tags": ["repos"], + "operationId": "repos/list-releases", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#list-releases" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/release" } + }, + "examples": { + "default": { "$ref": "#/components/examples/release-items" } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "releases" + }, + "x-octokit": {} + }, + "post": { + "summary": "Create a release", + "description": "Users with push access to the repository can create a release.\n\nThis endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)\" for details.", + "tags": ["repos"], + "operationId": "repos/create-release", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#create-a-release" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "tag_name": { + "type": "string", + "description": "The name of the tag." + }, + "target_commitish": { + "type": "string", + "description": "Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch (usually `master`)." + }, + "name": { + "type": "string", + "description": "The name of the release." + }, + "body": { + "type": "string", + "description": "Text describing the contents of the tag." + }, + "draft": { + "type": "boolean", + "description": "`true` to create a draft (unpublished) release, `false` to create a published one.", + "default": false + }, + "prerelease": { + "type": "boolean", + "description": "`true` to identify the release as a prerelease. `false` to identify the release as a full release.", + "default": false + } + }, + "required": ["tag_name"] + }, + "example": { + "tag_name": "v1.0.0", + "target_commitish": "master", + "name": "v1.0.0", + "body": "Description of the release", + "draft": false, + "prerelease": false + } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/release" }, + "examples": { + "default": { "$ref": "#/components/examples/release" } + } + } + }, + "headers": { + "Location": { + "example": "https://api.github.com/repos/octocat/Hello-World/releases/1", + "schema": { "type": "string" } + } + } + }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "triggersNotification": true, + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "releases" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/releases/assets/{asset_id}": { + "get": { + "summary": "Get a release asset", + "description": "To download the asset's binary content, set the `Accept` header of the request to [`application/octet-stream`](https://docs.github.com/rest/overview/media-types). The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a `200` or `302` response.", + "tags": ["repos"], + "operationId": "repos/get-release-asset", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#get-a-release-asset" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/asset_id" } + ], + "responses": { + "200": { + "description": "To download the asset's binary content, set the `Accept` header of the request to [`application/octet-stream`](https://docs.github.com/rest/overview/media-types). The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a `200` or `302` response.", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/release-asset" }, + "examples": { + "default": { "$ref": "#/components/examples/release-asset" } + } + } + } + }, + "302": { "$ref": "#/components/responses/found" }, + "404": { "$ref": "#/components/responses/not_found" }, + "415": { "$ref": "#/components/responses/preview_header_missing" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "releases" + }, + "x-octokit": {} + }, + "patch": { + "summary": "Update a release asset", + "description": "Users with push access to the repository can edit a release asset.", + "tags": ["repos"], + "operationId": "repos/update-release-asset", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#update-a-release-asset" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/asset_id" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The file name of the asset." + }, + "label": { + "type": "string", + "description": "An alternate short description of the asset. Used in place of the filename." + }, + "state": { "type": "string", "example": "\"uploaded\"" } + } + }, + "example": { "name": "foo-1.0.0-osx.zip", "label": "Mac binary" } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/release-asset" }, + "examples": { + "default": { "$ref": "#/components/examples/release-asset" } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "releases" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Delete a release asset", + "description": "", + "tags": ["repos"], + "operationId": "repos/delete-release-asset", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#delete-a-release-asset" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/asset_id" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "releases" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/releases/latest": { + "get": { + "summary": "Get the latest release", + "description": "View the latest published full release for the repository.\n\nThe latest release is the most recent non-prerelease, non-draft release, sorted by the `created_at` attribute. The `created_at` attribute is the date of the commit used for the release, and not the date when the release was drafted or published.", + "tags": ["repos"], + "operationId": "repos/get-latest-release", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#get-the-latest-release" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/release" }, + "examples": { + "default": { "$ref": "#/components/examples/release" } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "releases" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/releases/tags/{tag}": { + "get": { + "summary": "Get a release by tag name", + "description": "Get a published release with the specified tag.", + "tags": ["repos"], + "operationId": "repos/get-release-by-tag", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#get-a-release-by-tag-name" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { + "name": "tag", + "description": "tag+ parameter", + "in": "path", + "required": true, + "schema": { "type": "string" } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/release" }, + "examples": { + "default": { "$ref": "#/components/examples/release" } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "releases" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/releases/{release_id}": { + "get": { + "summary": "Get a release", + "description": "**Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia).", + "tags": ["repos"], + "operationId": "repos/get-release", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#get-a-release" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/release_id" } + ], + "responses": { + "200": { + "description": "**Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia).", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/release" }, + "examples": { + "default": { "$ref": "#/components/examples/release" } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "releases" + }, + "x-octokit": {} + }, + "patch": { + "summary": "Update a release", + "description": "Users with push access to the repository can edit a release.", + "tags": ["repos"], + "operationId": "repos/update-release", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#update-a-release" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/release_id" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "tag_name": { + "type": "string", + "description": "The name of the tag." + }, + "target_commitish": { + "type": "string", + "description": "Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch (usually `master`)." + }, + "name": { + "type": "string", + "description": "The name of the release." + }, + "body": { + "type": "string", + "description": "Text describing the contents of the tag." + }, + "draft": { + "type": "boolean", + "description": "`true` makes the release a draft, and `false` publishes the release." + }, + "prerelease": { + "type": "boolean", + "description": "`true` to identify the release as a prerelease, `false` to identify the release as a full release." + } + } + }, + "example": { + "tag_name": "v1.0.0", + "target_commitish": "master", + "name": "v1.0.0", + "body": "Description of the release", + "draft": false, + "prerelease": false + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/release" }, + "examples": { + "default": { "$ref": "#/components/examples/release" } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "releases" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Delete a release", + "description": "Users with push access to the repository can delete a release.", + "tags": ["repos"], + "operationId": "repos/delete-release", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#delete-a-release" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/release_id" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "releases" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/releases/{release_id}/assets": { + "get": { + "summary": "List release assets", + "description": "", + "tags": ["repos"], + "operationId": "repos/list-release-assets", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#list-release-assets" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/release_id" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/release-asset" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/release-asset-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "releases" + }, + "x-octokit": {} + }, + "post": { + "summary": "Upload a release asset", + "description": "This endpoint makes use of [a Hypermedia relation](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) to determine which URL to access. The endpoint you call to upload release assets is specific to your release. Use the `upload_url` returned in\nthe response of the [Create a release endpoint](https://docs.github.com/rest/reference/repos#create-a-release) to upload a release asset.\n\nYou need to use an HTTP client which supports [SNI](http://en.wikipedia.org/wiki/Server_Name_Indication) to make calls to this endpoint.\n\nMost libraries will set the required `Content-Length` header automatically. Use the required `Content-Type` header to provide the media type of the asset. For a list of media types, see [Media Types](https://www.iana.org/assignments/media-types/media-types.xhtml). For example: \n\n`application/zip`\n\nGitHub expects the asset data in its raw binary form, rather than JSON. You will send the raw binary content of the asset as the request body. Everything else about the endpoint is the same as the rest of the API. For example,\nyou'll still need to pass your authentication to be able to upload an asset.\n\nWhen an upstream failure occurs, you will receive a `502 Bad Gateway` status. This may leave an empty asset with a state of `starter`. It can be safely deleted.\n\n**Notes:**\n* GitHub renames asset filenames that have special characters, non-alphanumeric characters, and leading or trailing periods. The \"[List assets for a release](https://docs.github.com/rest/reference/repos#list-assets-for-a-release)\"\nendpoint lists the renamed filenames. For more information and help, contact [GitHub Support](https://github.com/contact).\n* If you upload an asset with the same filename as another uploaded asset, you'll receive an error and must delete the old file before you can re-upload the new asset.", + "tags": ["repos"], + "operationId": "repos/upload-release-asset", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#upload-a-release-asset" + }, + "servers": [ + { + "url": "{origin}", + "variables": { + "origin": { + "default": "https://uploads.github.com", + "description": "The URL origin (protocol + host name + port) is included in `upload_url` returned in the response of the \"Create a release\" endpoint" + } + } + } + ], + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/release_id" }, + { "name": "name", "in": "query", "schema": { "type": "string" } }, + { "name": "label", "in": "query", "schema": { "type": "string" } } + ], + "requestBody": { + "content": { + "*/*": { + "schema": { "type": "string", "description": "The raw file data" } + } + } + }, + "responses": { + "201": { + "description": "Response for successful upload", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/release-asset" }, + "examples": { + "response-for-successful-upload": { + "$ref": "#/components/examples/release-asset-response-for-successful-upload" + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "releases" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/secret-scanning/alerts": { + "get": { + "summary": "List secret scanning alerts for a repository", + "description": "Lists all secret scanning alerts for a private repository, from newest to oldest. To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the `repo` scope or `security_events` scope.\n\nGitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint.", + "tags": ["secret-scanning"], + "operationId": "secret-scanning/list-alerts-for-repo", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/secret-scanning#list-secret-scanning-alerts-for-a-repository" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { + "name": "state", + "in": "query", + "description": "Set to `open` or `resolved` to only list secret scanning alerts in a specific state.", + "required": false, + "schema": { "type": "string", "enum": ["open", "resolved"] } + }, + { "$ref": "#/components/parameters/page" }, + { "$ref": "#/components/parameters/per_page" } + ], + "responses": { + "200": { + "description": "Response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/secret-scanning-alert" + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/secret-scanning-alert-list" + } + } + } + } + }, + "404": { + "description": "Repository is public or secret scanning is disabled for the repository" + }, + "503": { "$ref": "#/components/responses/service_unavailable" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "secret-scanning", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}": { + "get": { + "summary": "Get a secret scanning alert", + "description": "Gets a single secret scanning alert detected in a private repository. To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the `repo` scope or `security_events` scope.\n\nGitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint.", + "tags": ["secret-scanning"], + "operationId": "secret-scanning/get-alert", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/secret-scanning#get-a-secret-scanning-alert" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/alert_number" } + ], + "responses": { + "200": { + "description": "Default response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/secret-scanning-alert" + }, + "examples": { + "default": { + "$ref": "#/components/examples/secret-scanning-alert-open" + } + } + } + } + }, + "404": { + "description": "Repository is public, or secret scanning is disabled for the repository, or the resource is not found" + }, + "503": { "$ref": "#/components/responses/service_unavailable" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "secret-scanning", + "subcategory": null + }, + "x-octokit": {} + }, + "patch": { + "summary": "Update a secret scanning alert", + "description": "Updates the status of a secret scanning alert in a private repository. To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the `repo` scope or `security_events` scope.\n\nGitHub Apps must have the `secret_scanning_alerts` write permission to use this endpoint.", + "operationId": "secret-scanning/update-alert", + "tags": ["secret-scanning"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/secret-scanning#update-a-secret-scanning-alert" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/alert_number" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "state": { + "$ref": "#/components/schemas/secret-scanning-alert-state" + }, + "resolution": { + "$ref": "#/components/schemas/secret-scanning-alert-resolution" + } + }, + "required": ["state"] + }, + "example": { "state": "resolved", "resolution": "false_positive" } + } + } + }, + "responses": { + "200": { + "description": "Default response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/secret-scanning-alert" + }, + "examples": { + "default": { + "$ref": "#/components/examples/secret-scanning-alert-resolved" + } + } + } + } + }, + "404": { + "description": "Repository is public, or secret scanning is disabled for the repository, or the resource is not found" + }, + "422": { "description": "State does not match the resolution" }, + "503": { "$ref": "#/components/responses/service_unavailable" } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": false, + "previews": [], + "category": "secret-scanning" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/stargazers": { + "get": { + "summary": "List stargazers", + "description": "Lists the people that have starred the repository.\n\nYou can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header:", + "tags": ["activity"], + "operationId": "activity/list-stargazers-for-repo", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/activity#list-stargazers" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/simple-user" } + }, + "examples": { + "default-response": { + "$ref": "#/components/examples/simple-user-items-default-response" + } + } + }, + "application/vnd.github.v3.star+json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/stargazer" } + }, + "examples": { + "alternative-response-with-star-creation-timestamps": { + "$ref": "#/components/examples/stargazer-items-alternative-response-with-star-creation-timestamps" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "activity", + "subcategory": "starring" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/stats/code_frequency": { + "get": { + "summary": "Get the weekly commit activity", + "description": "Returns a weekly aggregate of the number of additions and deletions pushed to a repository.", + "tags": ["repos"], + "operationId": "repos/get-code-frequency-stats", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#get-the-weekly-commit-activity" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "responses": { + "200": { + "description": "Returns a weekly aggregate of the number of additions and deletions pushed to a repository.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/code-frequency-stat" + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/code-frequency-stat-items" + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "statistics" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/stats/commit_activity": { + "get": { + "summary": "Get the last year of commit activity", + "description": "Returns the last year of commit activity grouped by week. The `days` array is a group of commits per day, starting on `Sunday`.", + "tags": ["repos"], + "operationId": "repos/get-commit-activity-stats", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#get-the-last-year-of-commit-activity" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/commit-activity" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/commit-activity-items" + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "statistics" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/stats/contributors": { + "get": { + "summary": "Get all contributor commit activity", + "description": "\nReturns the `total` number of commits authored by the contributor. In addition, the response includes a Weekly Hash (`weeks` array) with the following information:\n\n* `w` - Start of the week, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time).\n* `a` - Number of additions\n* `d` - Number of deletions\n* `c` - Number of commits", + "tags": ["repos"], + "operationId": "repos/get-contributors-stats", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#get-all-contributor-commit-activity" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "responses": { + "200": { + "description": "* `w` - Start of the week, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time).\n* `a` - Number of additions\n* `d` - Number of deletions\n* `c` - Number of commits", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/contributor-activity" + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/contributor-activity-items" + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "statistics" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/stats/participation": { + "get": { + "summary": "Get the weekly commit count", + "description": "Returns the total commit counts for the `owner` and total commit counts in `all`. `all` is everyone combined, including the `owner` in the last 52 weeks. If you'd like to get the commit counts for non-owners, you can subtract `owner` from `all`.\n\nThe array order is oldest week (index 0) to most recent week.", + "tags": ["repos"], + "operationId": "repos/get-participation-stats", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#get-the-weekly-commit-count" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "responses": { + "200": { + "description": "The array order is oldest week (index 0) to most recent week.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/participation-stats" + }, + "examples": { + "default": { + "$ref": "#/components/examples/participation-stats" + } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "statistics" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/stats/punch_card": { + "get": { + "summary": "Get the hourly commit count for each day", + "description": "Each array contains the day number, hour number, and number of commits:\n\n* `0-6`: Sunday - Saturday\n* `0-23`: Hour of day\n* Number of commits\n\nFor example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits.", + "tags": ["repos"], + "operationId": "repos/get-punch-card-stats", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#get-the-hourly-commit-count-for-each-day" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "responses": { + "200": { + "description": "For example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/code-frequency-stat" + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/code-frequency-stat-items-2" + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "statistics" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/statuses/{sha}": { + "post": { + "summary": "Create a commit status", + "description": "Users with push access in a repository can create commit statuses for a given SHA.\n\nNote: there is a limit of 1000 statuses per `sha` and `context` within a repository. Attempts to create more than 1000 statuses will result in a validation error.", + "tags": ["repos"], + "operationId": "repos/create-commit-status", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#create-a-commit-status" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { + "name": "sha", + "in": "path", + "required": true, + "schema": { "type": "string" } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "state": { + "type": "string", + "description": "The state of the status. Can be one of `error`, `failure`, `pending`, or `success`.", + "enum": ["error", "failure", "pending", "success"] + }, + "target_url": { + "type": "string", + "description": "The target URL to associate with this status. This URL will be linked from the GitHub UI to allow users to easily see the source of the status. \nFor example, if your continuous integration system is posting build status, you would want to provide the deep link for the build output for this specific SHA: \n`http://ci.example.com/user/repo/build/sha`" + }, + "description": { + "type": "string", + "description": "A short description of the status." + }, + "context": { + "type": "string", + "description": "A string label to differentiate this status from the status of other systems.", + "default": "default" + } + }, + "required": ["state"] + }, + "example": { + "state": "success", + "target_url": "https://example.com/build/status", + "description": "The build succeeded!", + "context": "continuous-integration/jenkins" + } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/status" }, + "examples": { + "default": { "$ref": "#/components/examples/status" } + } + } + }, + "headers": { + "Location": { + "example": "https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e", + "schema": { "type": "string" } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "statuses" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/subscribers": { + "get": { + "summary": "List watchers", + "description": "Lists the people watching the specified repository.", + "tags": ["activity"], + "operationId": "activity/list-watchers-for-repo", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/activity#list-watchers" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/simple-user" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/simple-user-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "activity", + "subcategory": "watching" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/subscription": { + "get": { + "summary": "Get a repository subscription", + "description": "", + "tags": ["activity"], + "operationId": "activity/get-repo-subscription", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/activity#get-a-repository-subscription" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "responses": { + "200": { + "description": "Response if you subscribe to the repository", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/repository-subscription" + }, + "examples": { + "response-if-you-subscribe-to-the-repository": { + "$ref": "#/components/examples/repository-subscription-response-if-you-subscribe-to-the-repository" + } + } + } + } + }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { + "description": "Response if you don't subscribe to the repository" + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "activity", + "subcategory": "watching" + }, + "x-octokit": {} + }, + "put": { + "summary": "Set a repository subscription", + "description": "If you would like to watch a repository, set `subscribed` to `true`. If you would like to ignore notifications made within a repository, set `ignored` to `true`. If you would like to stop watching a repository, [delete the repository's subscription](https://docs.github.com/rest/reference/activity#delete-a-repository-subscription) completely.", + "tags": ["activity"], + "operationId": "activity/set-repo-subscription", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/activity#set-a-repository-subscription" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "subscribed": { + "type": "boolean", + "description": "Determines if notifications should be received from this repository." + }, + "ignored": { + "type": "boolean", + "description": "Determines if all notifications should be blocked from this repository." + } + } + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/repository-subscription" + }, + "examples": { + "default": { + "$ref": "#/components/examples/repository-subscription" + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "activity", + "subcategory": "watching" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Delete a repository subscription", + "description": "This endpoint should only be used to stop watching a repository. To control whether or not you wish to receive notifications from a repository, [set the repository's subscription manually](https://docs.github.com/rest/reference/activity#set-a-repository-subscription).", + "tags": ["activity"], + "operationId": "activity/delete-repo-subscription", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/activity#delete-a-repository-subscription" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "activity", + "subcategory": "watching" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/tags": { + "get": { + "summary": "List repository tags", + "description": "", + "tags": ["repos"], + "operationId": "repos/list-tags", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/repos/#list-repository-tags" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/tag" } + }, + "examples": { + "default": { "$ref": "#/components/examples/tag-items" } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/tarball/{ref}": { + "get": { + "summary": "Download a repository archive (tar)", + "description": "Gets a redirect URL to download a tar archive for a repository. If you omit `:ref`, the repository’s default branch (usually\n`master`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use\nthe `Location` header to make a second `GET` request.\n**Note**: For private repositories, these links are temporary and expire after five minutes.", + "tags": ["repos"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#download-a-repository-archive" + }, + "operationId": "repos/download-tarball-archive", + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { + "name": "ref", + "in": "path", + "required": true, + "schema": { "type": "string" } + } + ], + "responses": { + "302": { + "description": "response", + "headers": { + "Location": { + "example": "https://codeload.github.com/me/myprivate/legacy.zip/master?login=me&token=thistokenexpires", + "schema": { "type": "string" } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "contents" + }, + "x-octokit": { + "changes": [ + { + "type": "OPERATION", + "date": "2020-09-17", + "before": { "operationId": "repos/download-archive" } + } + ] + } + } + }, + "/repos/{owner}/{repo}/teams": { + "get": { + "summary": "List repository teams", + "description": "", + "tags": ["repos"], + "operationId": "repos/list-teams", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/repos/#list-repository-teams" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/team" } + }, + "examples": { + "default": { "$ref": "#/components/examples/team-items" } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/topics": { + "get": { + "summary": "Get all repository topics", + "description": "", + "tags": ["repos"], + "operationId": "repos/get-all-topics", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/repos/#get-all-repository-topics" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/topic" }, + "examples": { + "default": { "$ref": "#/components/examples/topic" } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" }, + "415": { "$ref": "#/components/responses/preview_header_missing" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "mercy", + "note": "The `topics` property for repositories on GitHub is currently available for developers to preview. To view the `topics` property in calls that return repository results, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.mercy-preview+json\n```" + } + ], + "category": "repos", + "subcategory": null + }, + "x-octokit": {} + }, + "put": { + "summary": "Replace all repository topics", + "description": "", + "tags": ["repos"], + "operationId": "repos/replace-all-topics", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/repos/#replace-all-repository-topics" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "names": { + "type": "array", + "description": "An array of topics to add to the repository. Pass one or more topics to _replace_ the set of existing topics. Send an empty array (`[]`) to clear all topics from the repository. **Note:** Topic `names` cannot contain uppercase letters.", + "items": { "type": "string" } + } + }, + "required": ["names"] + }, + "example": { "names": ["octocat", "atom", "electron", "api"] } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/topic" }, + "examples": { + "default": { "$ref": "#/components/examples/topic" } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" }, + "415": { "$ref": "#/components/responses/preview_header_missing" }, + "422": { "$ref": "#/components/responses/validation_failed_simple" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "mercy", + "note": "The `topics` property for repositories on GitHub is currently available for developers to preview. To view the `topics` property in calls that return repository results, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.mercy-preview+json\n```" + } + ], + "category": "repos", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/traffic/clones": { + "get": { + "summary": "Get repository clones", + "description": "Get the total number of clones and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday.", + "tags": ["repos"], + "operationId": "repos/get-clones", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#get-repository-clones" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/per" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/clone-traffic" }, + "examples": { + "default": { "$ref": "#/components/examples/clone-traffic" } + } + } + } + }, + "403": { "$ref": "#/components/responses/forbidden" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "traffic" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/traffic/popular/paths": { + "get": { + "summary": "Get top referral paths", + "description": "Get the top 10 popular contents over the last 14 days.", + "tags": ["repos"], + "operationId": "repos/get-top-paths", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#get-top-referral-paths" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/content-traffic" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/content-traffic-items" + } + } + } + } + }, + "403": { "$ref": "#/components/responses/forbidden" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "traffic" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/traffic/popular/referrers": { + "get": { + "summary": "Get top referral sources", + "description": "Get the top 10 referrers over the last 14 days.", + "tags": ["repos"], + "operationId": "repos/get-top-referrers", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#get-top-referral-sources" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/referrer-traffic" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/referrer-traffic-items" + } + } + } + } + }, + "403": { "$ref": "#/components/responses/forbidden" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "traffic" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/traffic/views": { + "get": { + "summary": "Get page views", + "description": "Get the total number of views and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday.", + "tags": ["repos"], + "operationId": "repos/get-views", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#get-page-views" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { "$ref": "#/components/parameters/per" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/view-traffic" }, + "examples": { + "default": { "$ref": "#/components/examples/view-traffic" } + } + } + } + }, + "403": { "$ref": "#/components/responses/forbidden" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "traffic" + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/transfer": { + "post": { + "summary": "Transfer a repository", + "description": "A transfer request will need to be accepted by the new owner when transferring a personal repository to another user. The response will contain the original `owner`, and the transfer will continue asynchronously. For more details on the requirements to transfer personal and organization-owned repositories, see [about repository transfers](https://help.github.com/articles/about-repository-transfers/).", + "tags": ["repos"], + "operationId": "repos/transfer", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/repos/#transfer-a-repository" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "new_owner": { + "type": "string", + "description": "**Required:** The username or organization name the repository will be transferred to." + }, + "team_ids": { + "type": "array", + "description": "ID of the team or teams to add to the repository. Teams can only be added to organization-owned repositories.", + "items": { "type": "integer" } + } + } + }, + "example": { "new_owner": "github", "team_ids": [12, 345] } + } + } + }, + "responses": { + "202": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/repository" }, + "examples": { + "default": { "$ref": "#/components/examples/repository" } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/vulnerability-alerts": { + "get": { + "summary": "Check if vulnerability alerts are enabled for a repository", + "description": "Shows whether dependency alerts are enabled or disabled for a repository. The authenticated user must have admin access to the repository. For more information, see \"[About security alerts for vulnerable dependencies](https://help.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)\".", + "tags": ["repos"], + "operationId": "repos/check-vulnerability-alerts", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/repos/#check-if-vulnerability-alerts-are-enabled-for-a-repository" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "responses": { + "204": { + "description": "Response if repository is enabled with vulnerability alerts" + }, + "404": { + "description": "Response if repository is not enabled with vulnerability alerts" + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [ + { + "required": true, + "name": "dorian", + "note": "Enabling and disabling dependency alerts for a repository using the REST API is currently available for developers to preview. To access these new endpoints during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.dorian-preview+json\n```" + } + ], + "category": "repos", + "subcategory": null + }, + "x-octokit": {} + }, + "put": { + "summary": "Enable vulnerability alerts", + "description": "Enables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see \"[About security alerts for vulnerable dependencies](https://help.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)\".", + "tags": ["repos"], + "operationId": "repos/enable-vulnerability-alerts", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/repos/#enable-vulnerability-alerts" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "dorian", + "note": "Enabling and disabling dependency alerts for a repository using the REST API is currently available for developers to preview. To access these new endpoints during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.dorian-preview+json\n```" + } + ], + "category": "repos", + "subcategory": null + }, + "x-octokit": {} + }, + "delete": { + "summary": "Disable vulnerability alerts", + "description": "Disables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see \"[About security alerts for vulnerable dependencies](https://help.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)\".", + "tags": ["repos"], + "operationId": "repos/disable-vulnerability-alerts", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/repos/#disable-vulnerability-alerts" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "dorian", + "note": "Enabling and disabling dependency alerts for a repository using the REST API is currently available for developers to preview. To access these new endpoints during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.dorian-preview+json\n```" + } + ], + "category": "repos", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/repos/{owner}/{repo}/zipball/{ref}": { + "get": { + "summary": "Download a repository archive (zip)", + "description": "Gets a redirect URL to download a zip archive for a repository. If you omit `:ref`, the repository’s default branch (usually\n`master`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use\nthe `Location` header to make a second `GET` request.\n**Note**: For private repositories, these links are temporary and expire after five minutes.", + "tags": ["repos"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#download-a-repository-archive" + }, + "operationId": "repos/download-zipball-archive", + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" }, + { + "name": "ref", + "in": "path", + "required": true, + "schema": { "type": "string" } + } + ], + "responses": { + "302": { + "description": "response", + "headers": { + "Location": { + "example": "https://codeload.github.com/me/myprivate/legacy.zip/master?login=me&token=thistokenexpires", + "schema": { "type": "string" } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": "contents" + }, + "x-octokit": { + "changes": [ + { + "type": "OPERATION", + "date": "2020-09-17", + "before": { "operationId": "repos/download-archive" } + } + ] + } + } + }, + "/repos/{template_owner}/{template_repo}/generate": { + "post": { + "summary": "Create a repository using a template", + "description": "Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. The authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [Get a repository](https://docs.github.com/rest/reference/repos#get-a-repository) endpoint and check that the `is_template` key is `true`.\n\n**OAuth scope requirements**\n\nWhen using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include:\n\n* `public_repo` scope or `repo` scope to create a public repository\n* `repo` scope to create a private repository", + "tags": ["repos"], + "operationId": "repos/create-using-template", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/repos/#create-a-repository-using-a-template" + }, + "parameters": [ + { + "name": "template_owner", + "in": "path", + "required": true, + "schema": { "type": "string" } + }, + { + "name": "template_repo", + "in": "path", + "required": true, + "schema": { "type": "string" } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "owner": { + "type": "string", + "description": "The organization or person who will own the new repository. To create a new repository in an organization, the authenticated user must be a member of the specified organization." + }, + "name": { + "type": "string", + "description": "The name of the new repository." + }, + "description": { + "type": "string", + "description": "A short description of the new repository." + }, + "include_all_branches": { + "type": "boolean", + "description": "Set to `true` to include the directory structure and files from all branches in the template repository, and not just the default branch. Default: `false`.", + "default": false + }, + "private": { + "type": "boolean", + "description": "Either `true` to create a new private repository or `false` to create a new public one.", + "default": false + } + }, + "required": ["name"] + }, + "example": { + "owner": "octocat", + "name": "Hello-World", + "description": "This is your first repository", + "include_all_branches": false, + "private": false + } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/repository" }, + "examples": { + "default": { "$ref": "#/components/examples/repository-3" } + } + } + }, + "headers": { + "Location": { + "example": "https://api.github.com/repos/octocat/Hello-World", + "schema": { "type": "string" } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [ + { + "required": true, + "name": "baptiste", + "note": "Creating and using repository templates is currently available for developers to preview. To access this new endpoint during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n\n```shell\napplication/vnd.github.baptiste-preview+json\n```" + } + ], + "category": "repos", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/repositories": { + "get": { + "summary": "List public repositories", + "description": "Lists all public repositories in the order that they were created.\n\nNote: Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of repositories.", + "tags": ["repos"], + "operationId": "repos/list-public", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/repos/#list-public-repositories" + }, + "parameters": [{ "$ref": "#/components/parameters/since-repo" }], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/minimal-repository" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/public-repository-items" + } + } + } + }, + "headers": { + "Link": { + "example": "; rel=\"next\"", + "schema": { "type": "string" } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "repos", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/scim/v2/enterprises/{enterprise}/Groups": { + "get": { + "summary": "List provisioned SCIM groups for an enterprise", + "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.", + "operationId": "enterprise-admin/list-provisioned-groups-enterprise", + "tags": ["enterprise-admin"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/enterprise-admin#list-provisioned-scim groups-for-an-enterprise" + }, + "parameters": [ + { "$ref": "#/components/parameters/enterprise" }, + { "$ref": "#/components/parameters/start_index" }, + { "$ref": "#/components/parameters/count" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/scim-group-list-enterprise" + }, + "examples": { + "default": { + "$ref": "#/components/examples/scim-enterprise-group-list" + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": true, + "previews": [], + "category": "enterprise-admin", + "subcategory": "scim" + }, + "x-octokit": {} + }, + "post": { + "summary": "Provision a SCIM enterprise group and invite users", + "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.\n\nProvision an enterprise group, and invite users to the group. This sends invitation emails to the email address of the invited users to join the GitHub organization that the SCIM group corresponds to.", + "operationId": "enterprise-admin/provision-and-invite-enterprise-group", + "tags": ["enterprise-admin"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/enterprise-admin#provision-a-scim-enterprise-group-and-invite-users" + }, + "parameters": [{ "$ref": "#/components/parameters/enterprise" }], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "schemas": { + "type": "array", + "description": "The SCIM schema URIs.", + "items": { "type": "string" } + }, + "displayName": { + "type": "string", + "description": "The name of the SCIM group. This must match the GitHub organization that the group maps to." + }, + "members": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "The SCIM user ID for a user." + } + }, + "required": ["value"] + } + } + }, + "required": ["schemas", "displayName"] + }, + "example": { + "schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"], + "displayName": "octo-org", + "members": [ + { "value": "92b58aaa-a1d6-11ea-8227-b9ce9e023ccc" }, + { "value": "aaaa8c34-a6b2-11ea-9d70-bbbbbd1c8fd5" } + ] + } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/scim-enterprise-group" + }, + "examples": { + "default": { + "$ref": "#/components/examples/scim-enterprise-group" + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": true, + "previews": [], + "category": "enterprise-admin", + "subcategory": "scim" + }, + "x-octokit": {} + } + }, + "/scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}": { + "get": { + "summary": "Get SCIM provisioning information for an enterprise group", + "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.", + "operationId": "enterprise-admin/get-provisioning-information-for-enterprise-group", + "tags": ["enterprise-admin"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/enterprise-admin#get-scim-provisioning-information-for-an-enterprise group" + }, + "parameters": [ + { "$ref": "#/components/parameters/enterprise" }, + { "$ref": "#/components/parameters/scim_group_id" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/scim-enterprise-group" + }, + "examples": { + "default": { + "$ref": "#/components/examples/scim-enterprise-group" + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": true, + "previews": [], + "category": "enterprise-admin", + "subcategory": "scim" + }, + "x-octokit": {} + }, + "put": { + "summary": "Set SCIM information for a provisioned enterprise group", + "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.\n\nReplaces an existing provisioned group’s information. You must provide all the information required for the group as if you were provisioning it for the first time. Any existing group information that you don't provide will be removed, including group membership. If you want to only update a specific attribute, use the [Update an attribute for a SCIM enterprise group](#update-an-attribute-for-a-scim-enterprise-group) endpoint instead.", + "operationId": "enterprise-admin/set-information-for-provisioned-enterprise-group", + "tags": ["enterprise-admin"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/enterprise-admin#set-scim-information-for-a-provisioned-enterprise-group" + }, + "parameters": [ + { "$ref": "#/components/parameters/enterprise" }, + { "$ref": "#/components/parameters/scim_group_id" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "schemas": { + "type": "array", + "description": "The SCIM schema URIs.", + "items": { "type": "string" } + }, + "displayName": { + "type": "string", + "description": "The name of the SCIM group. This must match the GitHub organization that the group maps to." + }, + "members": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "The SCIM user ID for a user." + } + }, + "required": ["value"] + } + } + }, + "required": ["schemas", "displayName"] + }, + "example": { + "schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"], + "displayName": "octo-org", + "members": [ + { "value": "92b58aaa-a1d6-11ea-8227-b9ce9e023ccc" }, + { "value": "aaaa8c34-a6b2-11ea-9d70-bbbbbd1c8fd5" } + ] + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/scim-enterprise-group" + }, + "examples": { + "default": { + "$ref": "#/components/examples/scim-enterprise-group" + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": true, + "previews": [], + "category": "enterprise-admin", + "subcategory": "scim" + }, + "x-octokit": {} + }, + "patch": { + "summary": "Update an attribute for a SCIM enterprise group", + "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.\n\nAllows you to change a provisioned group’s individual attributes. To change a group’s values, you must provide a specific Operations JSON format that contains at least one of the add, remove, or replace operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2).", + "operationId": "enterprise-admin/update-attribute-for-enterprise-group", + "tags": ["enterprise-admin"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/enterprise-admin#update-an-attribute-for-a-scim-enterprise-group" + }, + "parameters": [ + { "$ref": "#/components/parameters/enterprise" }, + { "$ref": "#/components/parameters/scim_group_id" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "schemas": { + "type": "array", + "description": "The SCIM schema URIs.", + "items": { "type": "string" } + }, + "Operations": { + "type": "array", + "description": "Array of [SCIM operations](https://tools.ietf.org/html/rfc7644#section-3.5.2).", + "items": { "type": "object" } + } + }, + "required": ["schemas", "Operations"] + }, + "example": { + "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"], + "Operations": [ + { + "op": "remove", + "path": "members", + "value": [ + { "value": "aaaa8c34-a6b2-11ea-9d70-bbbbbd1c8fd5" } + ] + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/scim-enterprise-group" + }, + "examples": { + "default": { + "$ref": "#/components/examples/scim-enterprise-group-2" + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": true, + "previews": [], + "category": "enterprise-admin", + "subcategory": "scim" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Delete a SCIM group from an enterprise", + "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.", + "operationId": "enterprise-admin/delete-scim-group-from-enterprise", + "tags": ["enterprise-admin"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/enterprise-admin#delete-a-scim-group-from-an-enterprise" + }, + "parameters": [ + { "$ref": "#/components/parameters/enterprise" }, + { "$ref": "#/components/parameters/scim_group_id" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": true, + "previews": [], + "category": "enterprise-admin", + "subcategory": "scim" + }, + "x-octokit": {} + } + }, + "/scim/v2/enterprises/{enterprise}/Users": { + "get": { + "summary": "List SCIM provisioned identities for an enterprise", + "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.\n\nRetrieves a paginated list of all provisioned enterprise members, including pending invitations.\n\nWhen a user with a SAML-provisioned external identity leaves (or is removed from) an enterprise, the account's metadata is immediately removed. However, the returned list of user accounts might not always match the organization or enterprise member list you see on GitHub. This can happen in certain cases where an external identity associated with an organization will not match an organization member:\n - When a user with a SCIM-provisioned external identity is removed from an enterprise, the account's metadata is preserved to allow the user to re-join the organization in the future.\n - When inviting a user to join an organization, you can expect to see their external identity in the results before they accept the invitation, or if the invitation is cancelled (or never accepted).\n - When a user is invited over SCIM, an external identity is created that matches with the invitee's email address. However, this identity is only linked to a user account when the user accepts the invitation by going through SAML SSO.\n\nThe returned list of external identities can include an entry for a `null` user. These are unlinked SAML identities that are created when a user goes through the following Single Sign-On (SSO) process but does not sign in to their GitHub account after completing SSO:\n\n1. The user is granted access by the IdP and is not a member of the GitHub enterprise.\n\n1. The user attempts to access the GitHub enterprise and initiates the SAML SSO process, and is not currently signed in to their GitHub account.\n\n1. After successfully authenticating with the SAML SSO IdP, the `null` external identity entry is created and the user is prompted to sign in to their GitHub account:\n - If the user signs in, their GitHub account is linked to this entry.\n - If the user does not sign in (or does not create a new account when prompted), they are not added to the GitHub enterprise, and the external identity `null` entry remains in place.", + "operationId": "enterprise-admin/list-provisioned-identities-enterprise", + "tags": ["enterprise-admin"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/enterprise-admin#list-scim-provisioned-identities-for-an-enterprise" + }, + "parameters": [ + { "$ref": "#/components/parameters/enterprise" }, + { "$ref": "#/components/parameters/start_index" }, + { "$ref": "#/components/parameters/count" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/scim-user-list-enterprise" + }, + "examples": { + "default": { + "$ref": "#/components/examples/scim-enterprise-user-list" + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": true, + "previews": [], + "category": "enterprise-admin", + "subcategory": "scim" + }, + "x-octokit": {} + }, + "post": { + "summary": "Provision and invite a SCIM enterprise user", + "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.\n\nProvision enterprise membership for a user, and send organization invitation emails to the email address.\n\nYou can optionally include the groups a user will be invited to join. If you do not provide a list of `groups`, the user is provisioned for the enterprise, but no organization invitation emails will be sent.", + "operationId": "enterprise-admin/provision-and-invite-enterprise-user", + "tags": ["enterprise-admin"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/enterprise-admin#provision-and-invite-a-scim-enterprise-user" + }, + "parameters": [{ "$ref": "#/components/parameters/enterprise" }], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "schemas": { + "type": "array", + "description": "The SCIM schema URIs.", + "items": { "type": "string" } + }, + "userName": { + "type": "string", + "description": "The username for the user." + }, + "name": { + "type": "object", + "properties": { + "givenName": { + "type": "string", + "description": "The first name of the user." + }, + "familyName": { + "type": "string", + "description": "The last name of the user." + } + }, + "required": ["givenName", "familyName"] + }, + "emails": { + "type": "array", + "description": "List of user emails.", + "items": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "The email address." + }, + "type": { + "type": "string", + "description": "The type of email address." + }, + "primary": { + "type": "boolean", + "description": "Whether this email address is the primary address." + } + }, + "required": ["value", "type", "primary"] + } + }, + "groups": { + "type": "array", + "description": "List of SCIM group IDs the user is a member of.", + "items": { + "type": "object", + "properties": { "value": { "type": "string" } } + } + } + }, + "required": ["schemas", "userName", "name", "emails"] + }, + "example": { + "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"], + "userName": "mona.octocat@okta.example.com", + "name": { "familyName": "Octocat", "givenName": "Mona" }, + "emails": [ + { + "value": "mona.octocat@okta.example.com", + "type": "work", + "primary": true + } + ], + "groups": [{ "value": "468dd3fa-a1d6-11ea-9031-15a1f0d7811d" }] + } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/scim-enterprise-user" + }, + "examples": { + "default": { + "$ref": "#/components/examples/scim-enterprise-user" + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": true, + "previews": [], + "category": "enterprise-admin", + "subcategory": "scim" + }, + "x-octokit": {} + } + }, + "/scim/v2/enterprises/{enterprise}/Users/{scim_user_id}": { + "get": { + "summary": "Get SCIM provisioning information for an enterprise user", + "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.", + "operationId": "enterprise-admin/get-provisioning-information-for-enterprise-user", + "tags": ["enterprise-admin"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/enterprise-admin#get-scim-provisioning-information-for-an-enterprise-user" + }, + "parameters": [ + { "$ref": "#/components/parameters/enterprise" }, + { "$ref": "#/components/parameters/scim_user_id" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/scim-enterprise-user" + }, + "examples": { + "default": { + "$ref": "#/components/examples/scim-enterprise-user" + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": true, + "previews": [], + "category": "enterprise-admin", + "subcategory": "scim" + }, + "x-octokit": {} + }, + "put": { + "summary": "Set SCIM information for a provisioned enterprise user", + "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.\n\nReplaces an existing provisioned user's information. You must provide all the information required for the user as if you were provisioning them for the first time. Any existing user information that you don't provide will be removed. If you want to only update a specific attribute, use the [Update an attribute for a SCIM user](#update-an-attribute-for-an-enterprise-scim-user) endpoint instead.\n\nYou must at least provide the required values for the user: `userName`, `name`, and `emails`.\n\n**Warning:** Setting `active: false` removes the user from the enterprise, deletes the external identity, and deletes the associated `{scim_user_id}`.", + "operationId": "enterprise-admin/set-information-for-provisioned-enterprise-user", + "tags": ["enterprise-admin"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/enterprise-admin#set-scim-information-for-a-provisioned-enterprise-user" + }, + "parameters": [ + { "$ref": "#/components/parameters/enterprise" }, + { "$ref": "#/components/parameters/scim_user_id" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "schemas": { + "type": "array", + "description": "The SCIM schema URIs.", + "items": { "type": "string" } + }, + "userName": { + "type": "string", + "description": "The username for the user." + }, + "name": { + "type": "object", + "properties": { + "givenName": { + "type": "string", + "description": "The first name of the user." + }, + "familyName": { + "type": "string", + "description": "The last name of the user." + } + }, + "required": ["givenName", "familyName"] + }, + "emails": { + "type": "array", + "description": "List of user emails.", + "items": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "The email address." + }, + "type": { + "type": "string", + "description": "The type of email address." + }, + "primary": { + "type": "boolean", + "description": "Whether this email address is the primary address." + } + }, + "required": ["value", "type", "primary"] + } + }, + "groups": { + "type": "array", + "description": "List of SCIM group IDs the user is a member of.", + "items": { + "type": "object", + "properties": { "value": { "type": "string" } } + } + } + }, + "required": ["schemas", "userName", "name", "emails"] + }, + "example": { + "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"], + "userName": "mona.octocat@okta.example.com", + "name": { "familyName": "Octocat", "givenName": "Mona" }, + "emails": [ + { + "value": "mona.octocat@okta.example.com", + "type": "work", + "primary": true + } + ], + "groups": [{ "value": "468dd3fa-a1d6-11ea-9031-15a1f0d7811d" }] + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/scim-enterprise-user" + }, + "examples": { + "default": { + "$ref": "#/components/examples/scim-enterprise-user" + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": true, + "previews": [], + "category": "enterprise-admin", + "subcategory": "scim" + }, + "x-octokit": {} + }, + "patch": { + "summary": "Update an attribute for a SCIM enterprise user", + "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.\n\nAllows you to change a provisioned user's individual attributes. To change a user's values, you must provide a specific `Operations` JSON format that contains at least one of the `add`, `remove`, or `replace` operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2).\n\n**Note:** Complicated SCIM `path` selectors that include filters are not supported. For example, a `path` selector defined as `\"path\": \"emails[type eq \\\"work\\\"]\"` will not work.\n\n**Warning:** If you set `active:false` using the `replace` operation (as shown in the JSON example below), it removes the user from the enterprise, deletes the external identity, and deletes the associated `:scim_user_id`.\n\n```\n{\n \"Operations\":[{\n \"op\":\"replace\",\n \"value\":{\n \"active\":false\n }\n }]\n}\n```", + "operationId": "enterprise-admin/update-attribute-for-enterprise-user", + "tags": ["enterprise-admin"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/enterprise-admin#update-an-attribute-for-a-scim-enterprise-user" + }, + "parameters": [ + { "$ref": "#/components/parameters/enterprise" }, + { "$ref": "#/components/parameters/scim_user_id" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "schemas": { + "type": "array", + "description": "The SCIM schema URIs.", + "items": { "type": "string" } + }, + "Operations": { + "type": "array", + "description": "Array of [SCIM operations](https://tools.ietf.org/html/rfc7644#section-3.5.2).", + "items": { "type": "object" } + } + }, + "required": ["schemas", "Operations"] + }, + "example": { + "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"], + "Operations": [ + { + "op": "add", + "path": "emails", + "value": [ + { "value": "monalisa@octocat.github.com", "type": "home" } + ] + }, + { + "op": "replace", + "path": "name.givenName", + "value": "Monalisa" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/scim-enterprise-user" + }, + "examples": { + "default": { + "$ref": "#/components/examples/scim-enterprise-user-2" + } + } + } + } + } + }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": true, + "previews": [], + "category": "enterprise-admin", + "subcategory": "scim" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Delete a SCIM user from an enterprise", + "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.", + "operationId": "enterprise-admin/delete-user-from-enterprise", + "tags": ["enterprise-admin"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/enterprise-admin#delete-a-scim-user-from-an-enterprise" + }, + "parameters": [ + { "$ref": "#/components/parameters/enterprise" }, + { "$ref": "#/components/parameters/scim_user_id" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "enabledForGitHubApps": true, + "githubCloudOnly": true, + "previews": [], + "category": "enterprise-admin", + "subcategory": "scim" + }, + "x-octokit": {} + } + }, + "/scim/v2/organizations/{org}/Users": { + "get": { + "summary": "List SCIM provisioned identities", + "description": "Retrieves a paginated list of all provisioned organization members, including pending invitations. If you provide the `filter` parameter, the resources for all matching provisions members are returned.\n\nWhen a user with a SAML-provisioned external identity leaves (or is removed from) an organization, the account's metadata is immediately removed. However, the returned list of user accounts might not always match the organization or enterprise member list you see on GitHub. This can happen in certain cases where an external identity associated with an organization will not match an organization member:\n - When a user with a SCIM-provisioned external identity is removed from an organization, the account's metadata is preserved to allow the user to re-join the organization in the future.\n - When inviting a user to join an organization, you can expect to see their external identity in the results before they accept the invitation, or if the invitation is cancelled (or never accepted).\n - When a user is invited over SCIM, an external identity is created that matches with the invitee's email address. However, this identity is only linked to a user account when the user accepts the invitation by going through SAML SSO.\n\nThe returned list of external identities can include an entry for a `null` user. These are unlinked SAML identities that are created when a user goes through the following Single Sign-On (SSO) process but does not sign in to their GitHub account after completing SSO:\n\n1. The user is granted access by the IdP and is not a member of the GitHub organization.\n\n1. The user attempts to access the GitHub organization and initiates the SAML SSO process, and is not currently signed in to their GitHub account.\n\n1. After successfully authenticating with the SAML SSO IdP, the `null` external identity entry is created and the user is prompted to sign in to their GitHub account:\n - If the user signs in, their GitHub account is linked to this entry.\n - If the user does not sign in (or does not create a new account when prompted), they are not added to the GitHub organization, and the external identity `null` entry remains in place.", + "tags": ["scim"], + "operationId": "scim/list-provisioned-identities", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/scim/#list-scim-provisioned-identities" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { + "name": "startIndex", + "description": "Used for pagination: the index of the first result to return.", + "in": "query", + "required": false, + "schema": { "type": "integer" } + }, + { + "name": "count", + "description": "Used for pagination: the number of results to return.", + "in": "query", + "required": false, + "schema": { "type": "integer" } + }, + { + "name": "filter", + "description": "Filters results using the equals query parameter operator (`eq`). You can filter results that are equal to `id`, `userName`, `emails`, and `external_id`. For example, to search for an identity with the `userName` Octocat, you would use this query:\n\n`?filter=userName%20eq%20\\\"Octocat\\\"`.\n\nTo filter results for for the identity with the email `octocat@github.com`, you would use this query:\n\n`?filter=emails%20eq%20\\\"octocat@github.com\\\"`.", + "in": "query", + "required": false, + "schema": { "type": "string" } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/scim+json": { + "schema": { "$ref": "#/components/schemas/scim-user-list" }, + "examples": { + "response-with-filter": { + "$ref": "#/components/examples/scim-user-list-response-with-filter" + }, + "response-without-filter": { + "$ref": "#/components/examples/scim-user-list-response-without-filter" + } + } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "400": { "$ref": "#/components/responses/scim_bad_request" }, + "403": { "$ref": "#/components/responses/scim_forbidden" }, + "404": { "$ref": "#/components/responses/scim_not_found" } + }, + "x-github": { + "githubCloudOnly": true, + "enabledForGitHubApps": true, + "previews": [], + "category": "scim", + "subcategory": null + }, + "x-octokit": {} + }, + "post": { + "summary": "Provision and invite a SCIM user", + "description": "Provision organization membership for a user, and send an activation email to the email address.", + "tags": ["scim"], + "operationId": "scim/provision-and-invite-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/scim/#provision-and-invite-a-scim-user" + }, + "parameters": [{ "$ref": "#/components/parameters/org" }], + "responses": { + "201": { + "description": "response", + "content": { + "application/scim+json": { + "schema": { "$ref": "#/components/schemas/scim-user" }, + "examples": { + "default": { "$ref": "#/components/examples/scim-user" } + } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "400": { "$ref": "#/components/responses/scim_bad_request" }, + "403": { "$ref": "#/components/responses/scim_forbidden" }, + "404": { "$ref": "#/components/responses/scim_not_found" }, + "409": { "$ref": "#/components/responses/scim_conflict" }, + "500": { "$ref": "#/components/responses/scim_internal_error" } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "userName": { + "description": "Configured by the admin. Could be an email, login, or username", + "example": "someone@example.com", + "type": "string" + }, + "displayName": { + "description": "The name of the user, suitable for display to end-users", + "example": "Jon Doe", + "type": "string" + }, + "name": { + "type": "object", + "properties": { + "givenName": { "type": "string" }, + "familyName": { "type": "string" }, + "formatted": { "type": "string" } + }, + "required": ["givenName", "familyName"], + "example": "Jane User" + }, + "emails": { + "description": "user emails", + "example": ["someone@example.com", "another@example.com"], + "type": "array", + "minItems": 1, + "items": { + "type": "object", + "properties": { + "value": { "type": "string" }, + "primary": { "type": "boolean" }, + "type": { "type": "string" } + }, + "required": ["value"] + } + }, + "schemas": { "type": "array", "items": { "type": "string" } }, + "externalId": { "type": "string" }, + "groups": { "type": "array", "items": { "type": "string" } }, + "active": { "type": "boolean" } + }, + "required": ["userName", "name", "emails"] + } + } + } + }, + "x-github": { + "githubCloudOnly": true, + "enabledForGitHubApps": true, + "previews": [], + "category": "scim", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/scim/v2/organizations/{org}/Users/{scim_user_id}": { + "get": { + "summary": "Get SCIM provisioning information for a user", + "description": "", + "tags": ["scim"], + "operationId": "scim/get-provisioning-information-for-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/scim/#get-scim-provisioning-information-for-a-user" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/scim_user_id" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/scim+json": { + "schema": { "$ref": "#/components/schemas/scim-user" }, + "examples": { + "default": { "$ref": "#/components/examples/scim-user" } + } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "403": { "$ref": "#/components/responses/scim_forbidden" }, + "404": { "$ref": "#/components/responses/scim_not_found" } + }, + "x-github": { + "githubCloudOnly": true, + "enabledForGitHubApps": true, + "previews": [], + "category": "scim", + "subcategory": null + }, + "x-octokit": {} + }, + "put": { + "summary": "Update a provisioned organization membership", + "description": "Replaces an existing provisioned user's information. You must provide all the information required for the user as if you were provisioning them for the first time. Any existing user information that you don't provide will be removed. If you want to only update a specific attribute, use the [Update an attribute for a SCIM user](https://docs.github.com/rest/reference/scim#update-an-attribute-for-a-scim-user) endpoint instead.\n\nYou must at least provide the required values for the user: `userName`, `name`, and `emails`.\n\n**Warning:** Setting `active: false` removes the user from the organization, deletes the external identity, and deletes the associated `{scim_user_id}`.", + "tags": ["scim"], + "operationId": "scim/set-information-for-provisioned-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/scim/#set-scim-information-for-a-provisioned-user" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/scim_user_id" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/scim+json": { + "schema": { "$ref": "#/components/schemas/scim-user" }, + "examples": { + "default": { "$ref": "#/components/examples/scim-user" } + } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "403": { "$ref": "#/components/responses/scim_forbidden" }, + "404": { "$ref": "#/components/responses/scim_not_found" } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "schemas": { "type": "array", "items": { "type": "string" } }, + "displayName": { + "description": "The name of the user, suitable for display to end-users", + "example": "Jon Doe", + "type": "string" + }, + "externalId": { "type": "string" }, + "groups": { "type": "array", "items": { "type": "string" } }, + "active": { "type": "boolean" }, + "userName": { + "description": "Configured by the admin. Could be an email, login, or username", + "example": "someone@example.com", + "type": "string" + }, + "name": { + "type": "object", + "properties": { + "givenName": { "type": "string" }, + "familyName": { "type": "string" }, + "formatted": { "type": "string" } + }, + "required": ["givenName", "familyName"], + "example": "Jane User" + }, + "emails": { + "description": "user emails", + "example": ["someone@example.com", "another@example.com"], + "type": "array", + "minItems": 1, + "items": { + "type": "object", + "properties": { + "type": { "type": "string" }, + "value": { "type": "string" }, + "primary": { "type": "boolean" } + }, + "required": ["value"] + } + } + }, + "required": ["userName", "name", "emails"] + } + } + } + }, + "x-github": { + "githubCloudOnly": true, + "enabledForGitHubApps": true, + "previews": [], + "category": "scim", + "subcategory": null + }, + "x-octokit": {} + }, + "patch": { + "summary": "Update an attribute for a SCIM user", + "description": "Allows you to change a provisioned user's individual attributes. To change a user's values, you must provide a specific `Operations` JSON format that contains at least one of the `add`, `remove`, or `replace` operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2).\n\n**Note:** Complicated SCIM `path` selectors that include filters are not supported. For example, a `path` selector defined as `\"path\": \"emails[type eq \\\"work\\\"]\"` will not work.\n\n**Warning:** If you set `active:false` using the `replace` operation (as shown in the JSON example below), it removes the user from the organization, deletes the external identity, and deletes the associated `:scim_user_id`.\n\n```\n{\n \"Operations\":[{\n \"op\":\"replace\",\n \"value\":{\n \"active\":false\n }\n }]\n}\n```", + "tags": ["scim"], + "operationId": "scim/update-attribute-for-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/scim/#update-an-attribute-for-a-scim-user" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/scim_user_id" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/scim+json": { + "schema": { "$ref": "#/components/schemas/scim-user" }, + "examples": { + "default": { "$ref": "#/components/examples/scim-user" } + } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "400": { "$ref": "#/components/responses/scim_bad_request" }, + "403": { "$ref": "#/components/responses/scim_forbidden" }, + "404": { "$ref": "#/components/responses/scim_not_found" }, + "429": { + "description": "Too many requests", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/basic-error" } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "schemas": { "type": "array", "items": { "type": "string" } }, + "Operations": { + "description": "Set of operations to be performed", + "example": [ + { "op": "replace", "value": { "active": false } } + ], + "type": "array", + "minItems": 1, + "items": { + "type": "object", + "properties": { + "op": { + "type": "string", + "enum": ["add", "remove", "replace"] + }, + "path": { "type": "string" }, + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "active": { + "type": "boolean", + "nullable": true + }, + "userName": { + "type": "string", + "nullable": true + }, + "externalId": { + "type": "string", + "nullable": true + }, + "givenName": { + "type": "string", + "nullable": true + }, + "familyName": { + "type": "string", + "nullable": true + } + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { "type": "string" }, + "primary": { "type": "boolean" } + } + } + }, + { "type": "string" } + ] + } + }, + "required": ["op"] + } + } + }, + "required": ["Operations"], + "type": "object" + } + } + } + }, + "x-github": { + "githubCloudOnly": true, + "enabledForGitHubApps": true, + "previews": [], + "category": "scim", + "subcategory": null + }, + "x-octokit": {} + }, + "delete": { + "summary": "Delete a SCIM user from an organization", + "description": "", + "tags": ["scim"], + "operationId": "scim/delete-user-from-org", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/scim/#delete-a-scim-user-from-an-organization" + }, + "parameters": [ + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/scim_user_id" } + ], + "responses": { + "204": { "description": "Empty response" }, + "304": { "$ref": "#/components/responses/not_modified" }, + "403": { "$ref": "#/components/responses/scim_forbidden" }, + "404": { "$ref": "#/components/responses/scim_not_found" } + }, + "x-github": { + "githubCloudOnly": true, + "enabledForGitHubApps": true, + "previews": [], + "category": "scim", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/search/code": { + "get": { + "summary": "Search code", + "description": "Searches for query terms inside of a file. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination).\n\nWhen searching for code, you can get text match metadata for the file **content** and file **path** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata).\n\nFor example, if you want to find the definition of the `addClass` function inside [jQuery](https://github.com/jquery/jquery) repository, your query would look something like this:\n\n`q=addClass+in:file+language:js+repo:jquery/jquery`\n\nThis query searches for the keyword `addClass` within a file's contents. The query limits the search to files where the language is JavaScript in the `jquery/jquery` repository.\n\n#### Considerations for code search\n\nDue to the complexity of searching code, there are a few restrictions on how searches are performed:\n\n* Only the _default branch_ is considered. In most cases, this will be the `master` branch.\n* Only files smaller than 384 KB are searchable.\n* You must always include at least one search term when searching source code. For example, searching for [`language:go`](https://github.com/search?utf8=%E2%9C%93&q=language%3Ago&type=Code) is not valid, while [`amazing\nlanguage:go`](https://github.com/search?utf8=%E2%9C%93&q=amazing+language%3Ago&type=Code) is.", + "tags": ["search"], + "operationId": "search/code", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/search/#search-code" + }, + "parameters": [ + { + "name": "q", + "description": "The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). See \"[Searching code](https://help.github.com/articles/searching-code/)\" for a detailed list of qualifiers.", + "in": "query", + "required": true, + "schema": { "type": "string" } + }, + { + "name": "sort", + "description": "Sorts the results of your query. Can only be `indexed`, which indicates how recently a file has been indexed by the GitHub search infrastructure. Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results)", + "in": "query", + "required": false, + "schema": { "type": "string", "enum": ["indexed"] } + }, + { "$ref": "#/components/parameters/order" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "total_count": { "type": "integer" }, + "incomplete_results": { "type": "boolean" }, + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/code-search-result-item" + } + } + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/code-search-result-item-paginated" + } + } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "422": { "$ref": "#/components/responses/validation_failed" }, + "503": { "$ref": "#/components/responses/service_unavailable" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "search", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/search/commits": { + "get": { + "summary": "Search commits", + "description": "Find commits via various criteria on the default branch (usually `master`). This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination).\n\nWhen searching for commits, you can get text match metadata for the **message** field when you provide the `text-match` media type. For more details about how to receive highlighted search results, see [Text match\nmetadata](https://docs.github.com/rest/reference/search#text-match-metadata).\n\nFor example, if you want to find commits related to CSS in the [octocat/Spoon-Knife](https://github.com/octocat/Spoon-Knife) repository. Your query would look something like this:\n\n`q=repo:octocat/Spoon-Knife+css`", + "tags": ["search"], + "operationId": "search/commits", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/search/#search-commits" + }, + "parameters": [ + { + "name": "q", + "description": "The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). See \"[Searching commits](https://help.github.com/articles/searching-commits/)\" for a detailed list of qualifiers.", + "in": "query", + "required": true, + "schema": { "type": "string" } + }, + { + "name": "sort", + "description": "Sorts the results of your query by `author-date` or `committer-date`. Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results)", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["author-date", "committer-date"] + } + }, + { "$ref": "#/components/parameters/order" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "total_count": { "type": "integer" }, + "incomplete_results": { "type": "boolean" }, + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/commit-search-result-item" + } + } + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/commit-search-result-item-paginated" + } + } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "415": { "$ref": "#/components/responses/preview_header_missing" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "cloak", + "note": "The Commit Search API is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2017-01-05-commit-search-api/) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.cloak-preview\n```" + } + ], + "category": "search", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/search/issues": { + "get": { + "summary": "Search issues and pull requests", + "description": "Find issues by state and keyword. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination).\n\nWhen searching for issues, you can get text match metadata for the issue **title**, issue **body**, and issue **comment body** fields when you pass the `text-match` media type. For more details about how to receive highlighted\nsearch results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata).\n\nFor example, if you want to find the oldest unresolved Python bugs on Windows. Your query might look something like this.\n\n`q=windows+label:bug+language:python+state:open&sort=created&order=asc`\n\nThis query searches for the keyword `windows`, within any open issue that is labeled as `bug`. The search runs across repositories whose primary language is Python. The results are sorted by creation date in ascending order, which means the oldest issues appear first in the search results.\n\n**Note:** For [user-to-server](https://docs.github.com/developers/apps/identifying-and-authorizing-users-for-github-apps#user-to-server-requests) GitHub App requests, you can't retrieve a combination of issues and pull requests in a single query. Requests that don't include the `is:issue` or `is:pull-request` qualifier will receive an HTTP `422 Unprocessable Entity` response. To get results for both issues and pull requests, you must send separate queries for issues and pull requests. For more information about the `is` qualifier, see \"[Searching only issues or pull requests](https://docs.github.com/github/searching-for-information-on-github/searching-issues-and-pull-requests#search-only-issues-or-pull-requests).\"", + "tags": ["search"], + "operationId": "search/issues-and-pull-requests", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/search/#search-issues-and-pull-requests" + }, + "parameters": [ + { + "name": "q", + "description": "The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). See \"[Searching issues and pull requests](https://help.github.com/articles/searching-issues-and-pull-requests/)\" for a detailed list of qualifiers.", + "in": "query", + "required": true, + "schema": { "type": "string" } + }, + { + "name": "sort", + "description": "Sorts the results of your query by the number of `comments`, `reactions`, `reactions-+1`, `reactions--1`, `reactions-smile`, `reactions-thinking_face`, `reactions-heart`, `reactions-tada`, or `interactions`. You can also sort results by how recently the items were `created` or `updated`, Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results)", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": [ + "comments", + "reactions", + "reactions-+1", + "reactions--1", + "reactions-smile", + "reactions-thinking_face", + "reactions-heart", + "reactions-tada", + "interactions", + "created", + "updated" + ] + } + }, + { "$ref": "#/components/parameters/order" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "total_count": { "type": "integer" }, + "incomplete_results": { "type": "boolean" }, + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/issue-search-result-item" + } + } + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/issue-search-result-item-paginated" + } + } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "422": { "$ref": "#/components/responses/validation_failed" }, + "503": { "$ref": "#/components/responses/service_unavailable" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "search", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/search/labels": { + "get": { + "summary": "Search labels", + "description": "Find labels in a repository with names or descriptions that match search keywords. Returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination).\n\nWhen searching for labels, you can get text match metadata for the label **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata).\n\nFor example, if you want to find labels in the `linguist` repository that match `bug`, `defect`, or `enhancement`. Your query might look like this:\n\n`q=bug+defect+enhancement&repository_id=64778136`\n\nThe labels that best match the query appear first in the search results.", + "tags": ["search"], + "operationId": "search/labels", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/search/#search-labels" + }, + "parameters": [ + { + "name": "repository_id", + "description": "The id of the repository.", + "in": "query", + "required": true, + "schema": { "type": "integer" } + }, + { + "name": "q", + "description": "The search keywords. This endpoint does not accept qualifiers in the query. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query).", + "in": "query", + "required": true, + "schema": { "type": "string" } + }, + { + "name": "sort", + "description": "Sorts the results of your query by when the label was `created` or `updated`. Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results)", + "in": "query", + "required": false, + "schema": { "type": "string", "enum": ["created", "updated"] } + }, + { "$ref": "#/components/parameters/order" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "total_count": { "type": "integer" }, + "incomplete_results": { "type": "boolean" }, + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/label-search-result-item" + } + } + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/label-search-result-item-paginated" + } + } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "search", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/search/repositories": { + "get": { + "summary": "Search repositories", + "description": "Find repositories via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination).\n\nWhen searching for repositories, you can get text match metadata for the **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata).\n\nFor example, if you want to search for popular Tetris repositories written in assembly code, your query might look like this:\n\n`q=tetris+language:assembly&sort=stars&order=desc`\n\nThis query searches for repositories with the word `tetris` in the name, the description, or the README. The results are limited to repositories where the primary language is assembly. The results are sorted by stars in descending order, so that the most popular repositories appear first in the search results.\n\nWhen you include the `mercy` preview header, you can also search for multiple topics by adding more `topic:` instances. For example, your query might look like this:\n\n`q=topic:ruby+topic:rails`", + "tags": ["search"], + "operationId": "search/repos", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/search/#search-repositories" + }, + "parameters": [ + { + "name": "q", + "description": "The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). See \"[Searching for repositories](https://help.github.com/articles/searching-for-repositories/)\" for a detailed list of qualifiers.", + "in": "query", + "required": true, + "schema": { "type": "string" } + }, + { + "name": "sort", + "description": "Sorts the results of your query by number of `stars`, `forks`, or `help-wanted-issues` or how recently the items were `updated`. Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results)", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["stars", "forks", "help-wanted-issues", "updated"] + } + }, + { "$ref": "#/components/parameters/order" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "total_count": { "type": "integer" }, + "incomplete_results": { "type": "boolean" }, + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/repo-search-result-item" + } + } + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/repo-search-result-item-paginated" + } + } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "422": { "$ref": "#/components/responses/validation_failed" }, + "503": { "$ref": "#/components/responses/service_unavailable" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": false, + "name": "mercy", + "note": "The `topics` property for repositories on GitHub is currently available for developers to preview. To view the `topics` property in calls that return repository results, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.mercy-preview+json\n```" + } + ], + "category": "search", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/search/topics": { + "get": { + "summary": "Search topics", + "description": "Find topics via various criteria. Results are sorted by best match. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). See \"[Searching topics](https://help.github.com/articles/searching-topics/)\" for a detailed list of qualifiers.\n\nWhen searching for topics, you can get text match metadata for the topic's **short\\_description**, **description**, **name**, or **display\\_name** field when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata).\n\nFor example, if you want to search for topics related to Ruby that are featured on https://github.com/topics. Your query might look like this:\n\n`q=ruby+is:featured`\n\nThis query searches for topics with the keyword `ruby` and limits the results to find only topics that are featured. The topics that are the best match for the query appear first in the search results.", + "tags": ["search"], + "operationId": "search/topics", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/search/#search-topics" + }, + "parameters": [ + { + "name": "q", + "description": "The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query).", + "in": "query", + "required": true, + "schema": { "type": "string" } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "total_count": { "type": "integer" }, + "incomplete_results": { "type": "boolean" }, + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/topic-search-result-item" + } + } + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/topic-search-result-item-paginated" + } + } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "415": { "$ref": "#/components/responses/preview_header_missing" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "mercy", + "note": "The `topics` property for repositories on GitHub is currently available for developers to preview. To view the `topics` property in calls that return repository results, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.mercy-preview+json\n```" + } + ], + "category": "search", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/search/users": { + "get": { + "summary": "Search users", + "description": "Find users via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination).\n\nWhen searching for users, you can get text match metadata for the issue **login**, **email**, and **name** fields when you pass the `text-match` media type. For more details about highlighting search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata).\n\nFor example, if you're looking for a list of popular users, you might try this query:\n\n`q=tom+repos:%3E42+followers:%3E1000`\n\nThis query searches for users with the name `tom`. The results are restricted to users with more than 42 repositories and over 1,000 followers.", + "tags": ["search"], + "operationId": "search/users", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/search/#search-users" + }, + "parameters": [ + { + "name": "q", + "description": "The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). See \"[Searching users](https://help.github.com/articles/searching-users/)\" for a detailed list of qualifiers.", + "in": "query", + "required": true, + "schema": { "type": "string" } + }, + { + "name": "sort", + "description": "Sorts the results of your query by number of `followers` or `repositories`, or when the person `joined` GitHub. Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results)", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["followers", "repositories", "joined"] + } + }, + { "$ref": "#/components/parameters/order" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "total_count": { "type": "integer" }, + "incomplete_results": { "type": "boolean" }, + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/user-search-result-item" + } + } + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/user-search-result-item-paginated" + } + } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "422": { "$ref": "#/components/responses/validation_failed" }, + "503": { "$ref": "#/components/responses/service_unavailable" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "search", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/teams/{team_id}": { + "get": { + "summary": "Get a team (Legacy)", + "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the [Get a team by name](https://docs.github.com/rest/reference/teams#get-a-team-by-name) endpoint.", + "tags": ["teams"], + "operationId": "teams/get-legacy", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/teams/#get-a-team-legacy" + }, + "parameters": [{ "$ref": "#/components/parameters/team-id" }], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/team-full" }, + "examples": { + "default": { "$ref": "#/components/examples/team-full" } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "removalDate": "2021-02-01", + "deprecationDate": "2020-01-21", + "category": "teams", + "subcategory": null + }, + "deprecated": true, + "x-octokit": {} + }, + "patch": { + "summary": "Update a team (Legacy)", + "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a team](https://docs.github.com/rest/reference/teams#update-a-team) endpoint.\n\nTo edit a team, the authenticated user must either be an organization owner or a team maintainer.\n\n**Note:** With nested teams, the `privacy` for parent teams cannot be `secret`.", + "tags": ["teams"], + "operationId": "teams/update-legacy", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/teams/#update-a-team-legacy" + }, + "parameters": [{ "$ref": "#/components/parameters/team-id" }], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the team." + }, + "description": { + "type": "string", + "description": "The description of the team." + }, + "privacy": { + "type": "string", + "description": "The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. The options are: \n**For a non-nested team:** \n\\* `secret` - only visible to organization owners and members of this team. \n\\* `closed` - visible to all members of this organization. \n**For a parent or child team:** \n\\* `closed` - visible to all members of this organization.", + "enum": ["secret", "closed"] + }, + "permission": { + "type": "string", + "description": "**Deprecated**. The permission that new repositories will be added to the team with when none is specified. Can be one of: \n\\* `pull` - team members can pull, but not push to or administer newly-added repositories. \n\\* `push` - team members can pull and push, but not administer newly-added repositories. \n\\* `admin` - team members can pull, push and administer newly-added repositories.", + "enum": ["pull", "push", "admin"], + "default": "pull" + }, + "parent_team_id": { + "type": "integer", + "description": "The ID of a team to set as the parent team.", + "nullable": true + } + }, + "required": ["name"] + }, + "example": { + "name": "new team name", + "description": "new team description", + "privacy": "closed" + } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/team-full" }, + "examples": { + "default": { "$ref": "#/components/examples/team-full" } + } + } + } + }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "removalDate": "2021-02-01", + "deprecationDate": "2020-01-21", + "category": "teams", + "subcategory": null + }, + "deprecated": true, + "x-octokit": {} + }, + "delete": { + "summary": "Delete a team (Legacy)", + "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a team](https://docs.github.com/rest/reference/teams#delete-a-team) endpoint.\n\nTo delete a team, the authenticated user must be an organization owner or team maintainer.\n\nIf you are an organization owner, deleting a parent team will delete all of its child teams as well.", + "tags": ["teams"], + "operationId": "teams/delete-legacy", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/teams/#delete-a-team-legacy" + }, + "parameters": [{ "$ref": "#/components/parameters/team-id" }], + "responses": { + "204": { "description": "Empty response" }, + "404": { "$ref": "#/components/responses/not_found" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "removalDate": "2021-02-01", + "deprecationDate": "2020-01-21", + "category": "teams", + "subcategory": null + }, + "deprecated": true, + "x-octokit": {} + } + }, + "/teams/{team_id}/discussions": { + "get": { + "summary": "List discussions (Legacy)", + "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List discussions`](https://docs.github.com/rest/reference/teams#list-discussions) endpoint.\n\nList all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", + "tags": ["teams"], + "operationId": "teams/list-discussions-legacy", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/teams#list-discussions-legacy" + }, + "parameters": [ + { "$ref": "#/components/parameters/team-id" }, + { "$ref": "#/components/parameters/direction" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/team-discussion" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/team-discussion-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": false, + "name": "squirrel-girl", + "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." + } + ], + "removalDate": "2021-02-01", + "deprecationDate": "2020-01-21", + "category": "teams", + "subcategory": "discussions" + }, + "deprecated": true, + "x-octokit": {} + }, + "post": { + "summary": "Create a discussion (Legacy)", + "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create a discussion`](https://docs.github.com/rest/reference/teams#create-a-discussion) endpoint.\n\nCreates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n\nThis endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)\" for details.", + "tags": ["teams"], + "operationId": "teams/create-discussion-legacy", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/teams#create-a-discussion-legacy" + }, + "parameters": [{ "$ref": "#/components/parameters/team-id" }], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "title": { + "type": "string", + "description": "The discussion post's title." + }, + "body": { + "type": "string", + "description": "The discussion post's body text." + }, + "private": { + "type": "boolean", + "description": "Private posts are only visible to team members, organization owners, and team maintainers. Public posts are visible to all members of the organization. Set to `true` to create a private post.", + "default": false + } + }, + "required": ["title", "body"] + }, + "example": { + "title": "Our first team post", + "body": "Hi! This is an area for us to collaborate as a team." + } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/team-discussion" }, + "examples": { + "default": { "$ref": "#/components/examples/team-discussion" } + } + } + } + } + }, + "x-github": { + "triggersNotification": true, + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": false, + "name": "squirrel-girl", + "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." + } + ], + "removalDate": "2021-02-01", + "deprecationDate": "2020-01-21", + "category": "teams", + "subcategory": "discussions" + }, + "deprecated": true, + "x-octokit": {} + } + }, + "/teams/{team_id}/discussions/{discussion_number}": { + "get": { + "summary": "Get a discussion (Legacy)", + "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion](https://docs.github.com/rest/reference/teams#get-a-discussion) endpoint.\n\nGet a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", + "tags": ["teams"], + "operationId": "teams/get-discussion-legacy", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/teams#get-a-discussion-legacy" + }, + "parameters": [ + { "$ref": "#/components/parameters/team-id" }, + { "$ref": "#/components/parameters/discussion-number" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/team-discussion" }, + "examples": { + "default": { "$ref": "#/components/examples/team-discussion" } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": false, + "name": "squirrel-girl", + "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." + } + ], + "removalDate": "2021-02-01", + "deprecationDate": "2020-01-21", + "category": "teams", + "subcategory": "discussions" + }, + "deprecated": true, + "x-octokit": {} + }, + "patch": { + "summary": "Update a discussion (Legacy)", + "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion](https://docs.github.com/rest/reference/teams#update-a-discussion) endpoint.\n\nEdits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", + "tags": ["teams"], + "operationId": "teams/update-discussion-legacy", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/teams#update-a-discussion-legacy" + }, + "parameters": [ + { "$ref": "#/components/parameters/team-id" }, + { "$ref": "#/components/parameters/discussion-number" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "title": { + "type": "string", + "description": "The discussion post's title." + }, + "body": { + "type": "string", + "description": "The discussion post's body text." + } + } + }, + "example": { "title": "Welcome to our first team post" } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/team-discussion" }, + "examples": { + "default": { + "$ref": "#/components/examples/team-discussion-2" + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": false, + "name": "squirrel-girl", + "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." + } + ], + "removalDate": "2021-02-01", + "deprecationDate": "2020-01-21", + "category": "teams", + "subcategory": "discussions" + }, + "deprecated": true, + "x-octokit": {} + }, + "delete": { + "summary": "Delete a discussion (Legacy)", + "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete a discussion`](https://docs.github.com/rest/reference/teams#delete-a-discussion) endpoint.\n\nDelete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", + "tags": ["teams"], + "operationId": "teams/delete-discussion-legacy", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/teams#delete-a-discussion-legacy" + }, + "parameters": [ + { "$ref": "#/components/parameters/team-id" }, + { "$ref": "#/components/parameters/discussion-number" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "removalDate": "2021-02-01", + "deprecationDate": "2020-01-21", + "category": "teams", + "subcategory": "discussions" + }, + "deprecated": true, + "x-octokit": {} + } + }, + "/teams/{team_id}/discussions/{discussion_number}/comments": { + "get": { + "summary": "List discussion comments (Legacy)", + "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List discussion comments](https://docs.github.com/rest/reference/teams#list-discussion-comments) endpoint.\n\nList all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", + "tags": ["teams"], + "operationId": "teams/list-discussion-comments-legacy", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/teams#list-discussion-comments-legacy" + }, + "parameters": [ + { "$ref": "#/components/parameters/team-id" }, + { "$ref": "#/components/parameters/discussion-number" }, + { "$ref": "#/components/parameters/direction" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/team-discussion-comment" + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/team-discussion-comment-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": false, + "name": "squirrel-girl", + "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." + } + ], + "removalDate": "2021-02-01", + "deprecationDate": "2020-01-21", + "category": "teams", + "subcategory": "discussion-comments" + }, + "deprecated": true, + "x-octokit": {} + }, + "post": { + "summary": "Create a discussion comment (Legacy)", + "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Create a discussion comment](https://docs.github.com/rest/reference/teams#create-a-discussion-comment) endpoint.\n\nCreates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n\nThis endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)\" for details.", + "tags": ["teams"], + "operationId": "teams/create-discussion-comment-legacy", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/teams#create-a-discussion-comment-legacy" + }, + "parameters": [ + { "$ref": "#/components/parameters/team-id" }, + { "$ref": "#/components/parameters/discussion-number" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "body": { + "type": "string", + "description": "The discussion comment's body text." + } + }, + "required": ["body"] + }, + "example": { "body": "Do you like apples?" } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/team-discussion-comment" + }, + "examples": { + "default": { + "$ref": "#/components/examples/team-discussion-comment" + } + } + } + } + } + }, + "x-github": { + "triggersNotification": true, + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": false, + "name": "squirrel-girl", + "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." + } + ], + "removalDate": "2021-02-01", + "deprecationDate": "2020-01-21", + "category": "teams", + "subcategory": "discussion-comments" + }, + "deprecated": true, + "x-octokit": {} + } + }, + "/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}": { + "get": { + "summary": "Get a discussion comment (Legacy)", + "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion comment](https://docs.github.com/rest/reference/teams#get-a-discussion-comment) endpoint.\n\nGet a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", + "tags": ["teams"], + "operationId": "teams/get-discussion-comment-legacy", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/teams#get-a-discussion-comment-legacy" + }, + "parameters": [ + { "$ref": "#/components/parameters/team-id" }, + { "$ref": "#/components/parameters/discussion-number" }, + { "$ref": "#/components/parameters/comment-number" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/team-discussion-comment" + }, + "examples": { + "default": { + "$ref": "#/components/examples/team-discussion-comment" + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": false, + "name": "squirrel-girl", + "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." + } + ], + "removalDate": "2021-02-01", + "deprecationDate": "2020-01-21", + "category": "teams", + "subcategory": "discussion-comments" + }, + "deprecated": true, + "x-octokit": {} + }, + "patch": { + "summary": "Update a discussion comment (Legacy)", + "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion comment](https://docs.github.com/rest/reference/teams#update-a-discussion-comment) endpoint.\n\nEdits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", + "tags": ["teams"], + "operationId": "teams/update-discussion-comment-legacy", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/teams#update-a-discussion-comment-legacy" + }, + "parameters": [ + { "$ref": "#/components/parameters/team-id" }, + { "$ref": "#/components/parameters/discussion-number" }, + { "$ref": "#/components/parameters/comment-number" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "body": { + "type": "string", + "description": "The discussion comment's body text." + } + }, + "required": ["body"] + }, + "example": { "body": "Do you like pineapples?" } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/team-discussion-comment" + }, + "examples": { + "default": { + "$ref": "#/components/examples/team-discussion-comment-2" + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": false, + "name": "squirrel-girl", + "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." + } + ], + "removalDate": "2021-02-01", + "deprecationDate": "2020-01-21", + "category": "teams", + "subcategory": "discussion-comments" + }, + "deprecated": true, + "x-octokit": {} + }, + "delete": { + "summary": "Delete a discussion comment (Legacy)", + "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a discussion comment](https://docs.github.com/rest/reference/teams#delete-a-discussion-comment) endpoint.\n\nDeletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", + "tags": ["teams"], + "operationId": "teams/delete-discussion-comment-legacy", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/teams#delete-a-discussion-comment-legacy" + }, + "parameters": [ + { "$ref": "#/components/parameters/team-id" }, + { "$ref": "#/components/parameters/discussion-number" }, + { "$ref": "#/components/parameters/comment-number" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "removalDate": "2021-02-01", + "deprecationDate": "2020-01-21", + "category": "teams", + "subcategory": "discussion-comments" + }, + "deprecated": true, + "x-octokit": {} + } + }, + "/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions": { + "get": { + "summary": "List reactions for a team discussion comment (Legacy)", + "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion comment`](https://docs.github.com/rest/reference/reactions#list-reactions-for-a-team-discussion-comment) endpoint.\n\nList the reactions to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", + "tags": ["reactions"], + "operationId": "reactions/list-for-team-discussion-comment-legacy", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/reactions/#list-reactions-for-a-team-discussion-comment-legacy" + }, + "parameters": [ + { "$ref": "#/components/parameters/team-id" }, + { "$ref": "#/components/parameters/discussion-number" }, + { "$ref": "#/components/parameters/comment-number" }, + { + "name": "content", + "description": "Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion comment.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ] + } + }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/reaction" } + }, + "examples": { + "default": { "$ref": "#/components/examples/reaction-items" } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "squirrel-girl", + "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." + } + ], + "removalDate": "2021-02-21", + "deprecationDate": "2020-02-26", + "category": "reactions", + "subcategory": null + }, + "deprecated": true, + "x-octokit": {} + }, + "post": { + "summary": "Create reaction for a team discussion comment (Legacy)", + "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create reaction for a team discussion comment`](https://docs.github.comt/rest/reference/reactions#create-reaction-for-a-team-discussion-comment) endpoint.\n\nCreate a reaction to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with a `Status: 200 OK` means that you already added the reaction type to this team discussion comment.", + "tags": ["reactions"], + "operationId": "reactions/create-for-team-discussion-comment-legacy", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/reactions/#create-reaction-for-a-team-discussion-comment-legacy" + }, + "parameters": [ + { "$ref": "#/components/parameters/team-id" }, + { "$ref": "#/components/parameters/discussion-number" }, + { "$ref": "#/components/parameters/comment-number" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "content": { + "type": "string", + "description": "The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the team discussion comment.", + "enum": [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ] + } + }, + "required": ["content"] + }, + "example": { "content": "heart" } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/reaction" }, + "examples": { + "default": { "$ref": "#/components/examples/reaction" } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "squirrel-girl", + "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." + } + ], + "removalDate": "2021-02-21", + "deprecationDate": "2020-02-26", + "category": "reactions", + "subcategory": null + }, + "deprecated": true, + "x-octokit": {} + } + }, + "/teams/{team_id}/discussions/{discussion_number}/reactions": { + "get": { + "summary": "List reactions for a team discussion (Legacy)", + "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion`](https://docs.github.com/rest/reference/reactions#list-reactions-for-a-team-discussion) endpoint.\n\nList the reactions to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", + "tags": ["reactions"], + "operationId": "reactions/list-for-team-discussion-legacy", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/reactions/#list-reactions-for-a-team-discussion-legacy" + }, + "parameters": [ + { "$ref": "#/components/parameters/team-id" }, + { "$ref": "#/components/parameters/discussion-number" }, + { + "name": "content", + "description": "Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ] + } + }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/reaction" } + }, + "examples": { + "default": { "$ref": "#/components/examples/reaction-items" } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "squirrel-girl", + "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." + } + ], + "removalDate": "2021-02-21", + "deprecationDate": "2020-02-26", + "category": "reactions", + "subcategory": null + }, + "deprecated": true, + "x-octokit": {} + }, + "post": { + "summary": "Create reaction for a team discussion (Legacy)", + "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create reaction for a team discussion`](https://docs.github.com/rest/reference/reactions#create-reaction-for-a-team-discussion) endpoint.\n\nCreate a reaction to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with a `Status: 200 OK` means that you already added the reaction type to this team discussion.", + "tags": ["reactions"], + "operationId": "reactions/create-for-team-discussion-legacy", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/reactions/#create-reaction-for-a-team-discussion-legacy" + }, + "parameters": [ + { "$ref": "#/components/parameters/team-id" }, + { "$ref": "#/components/parameters/discussion-number" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "content": { + "type": "string", + "description": "The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the team discussion.", + "enum": [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ] + } + }, + "required": ["content"] + }, + "example": { "content": "heart" } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/reaction" }, + "examples": { + "default": { "$ref": "#/components/examples/reaction" } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [ + { + "required": true, + "name": "squirrel-girl", + "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." + } + ], + "removalDate": "2021-02-21", + "deprecationDate": "2020-02-26", + "category": "reactions", + "subcategory": null + }, + "deprecated": true, + "x-octokit": {} + } + }, + "/teams/{team_id}/invitations": { + "get": { + "summary": "List pending team invitations (Legacy)", + "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List pending team invitations`](https://docs.github.com/rest/reference/teams#list-pending-team-invitations) endpoint.\n\nThe return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`.", + "tags": ["teams"], + "operationId": "teams/list-pending-invitations-legacy", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/teams#list-pending-team-invitations-legacy" + }, + "parameters": [ + { "$ref": "#/components/parameters/team-id" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/organization-invitation" + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/organization-invitation-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "removalDate": "2021-02-01", + "deprecationDate": "2020-01-21", + "category": "teams", + "subcategory": "members" + }, + "deprecated": true, + "x-octokit": {} + } + }, + "/teams/{team_id}/members": { + "get": { + "summary": "List team members (Legacy)", + "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team members`](https://docs.github.com/rest/reference/teams#list-team-members) endpoint.\n\nTeam members will include the members of child teams.", + "tags": ["teams"], + "operationId": "teams/list-members-legacy", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/teams#list-team-members-legacy" + }, + "parameters": [ + { "$ref": "#/components/parameters/team-id" }, + { + "name": "role", + "description": "Filters members returned by their role in the team. Can be one of: \n\\* `member` - normal members of the team. \n\\* `maintainer` - team maintainers. \n\\* `all` - all members of the team.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["member", "maintainer", "all"], + "default": "all" + } + }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/simple-user" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/simple-user-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "removalDate": "2021-02-01", + "deprecationDate": "2020-01-21", + "category": "teams", + "subcategory": "members" + }, + "deprecated": true, + "x-octokit": {} + } + }, + "/teams/{team_id}/members/{username}": { + "get": { + "summary": "Get team member (Legacy)", + "description": "The \"Get team member\" endpoint (described below) is deprecated.\n\nWe recommend using the [Get team membership for a user](https://docs.github.com/rest/reference/teams#get-team-membership-for-a-user) endpoint instead. It allows you to get both active and pending memberships.\n\nTo list members in a team, the team must be visible to the authenticated user.", + "tags": ["teams"], + "operationId": "teams/get-member-legacy", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/teams#get-team-member-legacy" + }, + "parameters": [ + { "$ref": "#/components/parameters/team-id" }, + { "$ref": "#/components/parameters/username" } + ], + "responses": { + "204": { "description": "Response if user is a member" }, + "404": { "description": "Response if user is not a member" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "removalDate": "2021-02-01", + "deprecationDate": "2020-01-21", + "category": "teams", + "subcategory": "members" + }, + "deprecated": true, + "x-octokit": {} + }, + "put": { + "summary": "Add team member (Legacy)", + "description": "The \"Add team member\" endpoint (described below) is deprecated.\n\nWe recommend using the [Add or update team membership for a user](https://docs.github.com/rest/reference/teams#add-or-update-team-membership-for-a-user) endpoint instead. It allows you to invite new organization members to your teams.\n\nTeam synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nTo add someone to a team, the authenticated user must be an organization owner or a team maintainer in the team they're changing. The person being added to the team must be a member of the team's organization.\n\n**Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see \"[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/).\"\n\nNote that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs).\"", + "tags": ["teams"], + "operationId": "teams/add-member-legacy", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/teams#add-team-member-legacy" + }, + "parameters": [ + { "$ref": "#/components/parameters/team-id" }, + { "$ref": "#/components/parameters/username" } + ], + "responses": { + "204": { "description": "Empty response" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { + "description": "Response if team synchronization is set up" + }, + "422": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { "type": "string" }, + "errors": { + "type": "array", + "items": { + "type": "object", + "properties": { + "code": { "type": "string" }, + "field": { "type": "string" }, + "resource": { "type": "string" } + } + } + }, + "documentation_url": { + "type": "string", + "example": "\"https://docs.github.com/rest\"" + } + } + }, + "examples": { + "response-if-you-attempt-to-add-an-organization-to-a-team": { + "summary": "Response if you attempt to add an organization to a team", + "value": { + "message": "Cannot add an organization as a member.", + "errors": [ + { + "code": "org", + "field": "user", + "resource": "TeamMember" + } + ] + } + }, + "response-if-you-attempt-to-add-a-user-to-a-team-when-they-are-not-a-member-of-at-least-one-other-team-in-the-same-organization": { + "summary": "Response if you attempt to add a user to a team when they are not a member of at least one other team in the same organization", + "value": { + "message": "User isn't a member of this organization. Please invite them first.", + "errors": [ + { + "code": "unaffiliated", + "field": "user", + "resource": "TeamMember" + } + ] + } + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "removalDate": "2021-02-01", + "deprecationDate": "2020-01-21", + "category": "teams", + "subcategory": "members" + }, + "deprecated": true, + "x-octokit": {} + }, + "delete": { + "summary": "Remove team member (Legacy)", + "description": "The \"Remove team member\" endpoint (described below) is deprecated.\n\nWe recommend using the [Remove team membership for a user](https://docs.github.com/rest/reference/teams#remove-team-membership-for-a-user) endpoint instead. It allows you to remove both active and pending memberships.\n\nTeam synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nTo remove a team member, the authenticated user must have 'admin' permissions to the team or be an owner of the org that the team is associated with. Removing a team member does not delete the user, it just removes them from the team.\n\n**Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see \"[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/).\"", + "tags": ["teams"], + "operationId": "teams/remove-member-legacy", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/teams#remove-team-member-legacy" + }, + "parameters": [ + { "$ref": "#/components/parameters/team-id" }, + { "$ref": "#/components/parameters/username" } + ], + "responses": { + "204": { "description": "Empty response" }, + "404": { "description": "Response if team synchronization is setup" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "removalDate": "2021-02-01", + "deprecationDate": "2020-01-21", + "category": "teams", + "subcategory": "members" + }, + "deprecated": true, + "x-octokit": {} + } + }, + "/teams/{team_id}/memberships/{username}": { + "get": { + "summary": "Get team membership for a user (Legacy)", + "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get team membership for a user](https://docs.github.com/rest/reference/teams#get-team-membership-for-a-user) endpoint.\n\nTeam members will include the members of child teams.\n\nTo get a user's membership with a team, the team must be visible to the authenticated user.\n\n**Note:** The `role` for organization owners returns as `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/rest/reference/teams#create-a-team).", + "tags": ["teams"], + "operationId": "teams/get-membership-for-user-legacy", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/teams#get-team-membership-for-a-user-legacy" + }, + "parameters": [ + { "$ref": "#/components/parameters/team-id" }, + { "$ref": "#/components/parameters/username" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/team-membership" }, + "examples": { + "response-if-user-has-an-active-membership-with-team": { + "$ref": "#/components/examples/team-membership-response-if-user-has-an-active-membership-with-team" + }, + "response-if-user-is-a-team-maintainer": { + "$ref": "#/components/examples/team-membership-response-if-user-is-a-team-maintainer" + }, + "response-if-user-has-a-pending-membership-with-team": { + "$ref": "#/components/examples/team-membership-response-if-user-has-a-pending-membership-with-team" + } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "removalDate": "2021-02-01", + "deprecationDate": "2020-01-21", + "category": "teams", + "subcategory": "members" + }, + "deprecated": true, + "x-octokit": {} + }, + "put": { + "summary": "Add or update team membership for a user (Legacy)", + "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team membership for a user](https://docs.github.com/rest/reference/teams#add-or-update-team-membership-for-a-user) endpoint.\n\nTeam synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nIf the user is already a member of the team's organization, this endpoint will add the user to the team. To add a membership between an organization member and a team, the authenticated user must be an organization owner or a team maintainer.\n\n**Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see \"[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/).\"\n\nIf the user is unaffiliated with the team's organization, this endpoint will send an invitation to the user via email. This newly-created membership will be in the \"pending\" state until the user accepts the invitation, at which point the membership will transition to the \"active\" state and the user will be added as a member of the team. To add a membership between an unaffiliated user and a team, the authenticated user must be an organization owner.\n\nIf the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer.", + "tags": ["teams"], + "operationId": "teams/add-or-update-membership-for-user-legacy", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/teams#add-or-update-team-membership-for-a-user-legacy" + }, + "parameters": [ + { "$ref": "#/components/parameters/team-id" }, + { "$ref": "#/components/parameters/username" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "role": { + "type": "string", + "description": "The role that this user should have in the team. Can be one of: \n\\* `member` - a normal member of the team. \n\\* `maintainer` - a team maintainer. Able to add/remove other team members, promote other team members to team maintainer, and edit the team's name and description.", + "enum": ["member", "maintainer"], + "default": "member" + } + } + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/team-membership" }, + "examples": { + "response-if-users-membership-with-team-is-now-active": { + "$ref": "#/components/examples/team-membership-response-if-users-membership-with-team-is-now-active" + }, + "response-if-users-membership-with-team-is-now-pending": { + "$ref": "#/components/examples/team-membership-response-if-users-membership-with-team-is-now-pending" + } + } + } + } + }, + "403": { + "description": "Response if team synchronization is set up" + }, + "404": { "$ref": "#/components/responses/not_found" }, + "422": { + "description": "Response if you attempt to add an organization to a team", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { "type": "string" }, + "errors": { + "type": "array", + "items": { + "type": "object", + "properties": { + "code": { "type": "string" }, + "field": { "type": "string" }, + "resource": { "type": "string" } + } + } + }, + "documentation_url": { + "type": "string", + "example": "\"https://help.github.com/articles/github-and-trade-controls\"" + } + } + }, + "examples": { + "response-if-you-attempt-to-add-an-organization-to-a-team": { + "value": { + "message": "Cannot add an organization as a member.", + "errors": [ + { + "code": "org", + "field": "user", + "resource": "TeamMember" + } + ] + } + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "removalDate": "2021-02-01", + "deprecationDate": "2020-01-21", + "category": "teams", + "subcategory": "members" + }, + "deprecated": true, + "x-octokit": {} + }, + "delete": { + "summary": "Remove team membership for a user (Legacy)", + "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove team membership for a user](https://docs.github.com/rest/reference/teams#remove-team-membership-for-a-user) endpoint.\n\nTeam synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nTo remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team.\n\n**Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see \"[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/).\"", + "tags": ["teams"], + "operationId": "teams/remove-membership-for-user-legacy", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/teams#remove-team-membership-for-a-user-legacy" + }, + "parameters": [ + { "$ref": "#/components/parameters/team-id" }, + { "$ref": "#/components/parameters/username" } + ], + "responses": { + "204": { "description": "Empty response" }, + "403": { "description": "Response if team synchronization is set up" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "removalDate": "2021-02-01", + "deprecationDate": "2020-01-21", + "category": "teams", + "subcategory": "members" + }, + "deprecated": true, + "x-octokit": {} + } + }, + "/teams/{team_id}/projects": { + "get": { + "summary": "List team projects (Legacy)", + "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team projects`](https://docs.github.com/rest/reference/teams#list-team-projects) endpoint.\n\nLists the organization projects for a team.", + "tags": ["teams"], + "operationId": "teams/list-projects-legacy", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/teams/#list-team-projects-legacy" + }, + "parameters": [ + { "$ref": "#/components/parameters/team-id" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/team-project" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/team-project-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "404": { "$ref": "#/components/responses/not_found" }, + "415": { "$ref": "#/components/responses/preview_header_missing" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "inertia", + "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" + } + ], + "removalDate": "2021-02-01", + "deprecationDate": "2020-01-21", + "category": "teams", + "subcategory": null + }, + "deprecated": true, + "x-octokit": {} + } + }, + "/teams/{team_id}/projects/{project_id}": { + "get": { + "summary": "Check team permissions for a project (Legacy)", + "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a project](https://docs.github.com/rest/reference/teams#check-team-permissions-for-a-project) endpoint.\n\nChecks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team.", + "tags": ["teams"], + "operationId": "teams/check-permissions-for-project-legacy", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/teams/#check-team-permissions-for-a-project-legacy" + }, + "parameters": [ + { "$ref": "#/components/parameters/team-id" }, + { "$ref": "#/components/parameters/project-id" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/team-project" }, + "examples": { + "default": { "$ref": "#/components/examples/team-project" } + } + } + } + }, + "404": { + "description": "Response if project is not managed by this team" + }, + "415": { "$ref": "#/components/responses/preview_header_missing" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "inertia", + "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" + } + ], + "removalDate": "2021-02-01", + "deprecationDate": "2020-01-21", + "category": "teams", + "subcategory": null + }, + "deprecated": true, + "x-octokit": {} + }, + "put": { + "summary": "Add or update team project permissions (Legacy)", + "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team project permissions](https://docs.github.com/rest/reference/teams#add-or-update-team-project-permissions) endpoint.\n\nAdds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization.", + "tags": ["teams"], + "operationId": "teams/add-or-update-project-permissions-legacy", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/teams/#add-or-update-team-project-permissions-legacy" + }, + "parameters": [ + { "$ref": "#/components/parameters/team-id" }, + { "$ref": "#/components/parameters/project-id" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "permission": { + "type": "string", + "description": "The permission to grant to the team for this project. Can be one of: \n\\* `read` - team members can read, but not write to or administer this project. \n\\* `write` - team members can read and write, but not administer this project. \n\\* `admin` - team members can read, write and administer this project. \nDefault: the team's `permission` attribute will be used to determine what permission to grant the team on this project. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs).\"", + "enum": ["read", "write", "admin"] + } + } + } + } + } + }, + "responses": { + "204": { "description": "Empty response" }, + "403": { + "description": "Response if the project is not owned by the organization", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { "type": "string" }, + "documentation_url": { "type": "string" } + } + }, + "examples": { + "response-if-the-project-is-not-owned-by-the-organization": { + "value": { + "message": "Must have admin rights to Repository.", + "documentation_url": "https://docs.github.com/rest/reference/teams#add-or-update-team-project-permissions" + } + } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" }, + "415": { "$ref": "#/components/responses/preview_header_missing" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "inertia", + "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" + } + ], + "removalDate": "2021-02-01", + "deprecationDate": "2020-01-21", + "category": "teams", + "subcategory": null + }, + "deprecated": true, + "x-octokit": {} + }, + "delete": { + "summary": "Remove a project from a team (Legacy)", + "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a project from a team](https://docs.github.com/rest/reference/teams#remove-a-project-from-a-team) endpoint.\n\nRemoves an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. **Note:** This endpoint removes the project from the team, but does not delete it.", + "tags": ["teams"], + "operationId": "teams/remove-project-legacy", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/teams/#remove-a-project-from-a-team-legacy" + }, + "parameters": [ + { "$ref": "#/components/parameters/team-id" }, + { "$ref": "#/components/parameters/project-id" } + ], + "responses": { + "204": { "description": "Empty response" }, + "404": { "$ref": "#/components/responses/not_found" }, + "415": { "$ref": "#/components/responses/preview_header_missing" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "removalDate": "2021-02-01", + "deprecationDate": "2020-01-21", + "category": "teams", + "subcategory": null + }, + "deprecated": true, + "x-octokit": {} + } + }, + "/teams/{team_id}/repos": { + "get": { + "summary": "List team repositories (Legacy)", + "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List team repositories](https://docs.github.com/rest/reference/teams#list-team-repositories) endpoint.", + "tags": ["teams"], + "operationId": "teams/list-repos-legacy", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/teams/#list-team-repositories-legacy" + }, + "parameters": [ + { "$ref": "#/components/parameters/team-id" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/minimal-repository" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/minimal-repository-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "removalDate": "2021-02-01", + "deprecationDate": "2020-01-21", + "category": "teams", + "subcategory": null + }, + "deprecated": true, + "x-octokit": {} + } + }, + "/teams/{team_id}/repos/{owner}/{repo}": { + "get": { + "summary": "Check team permissions for a repository (Legacy)", + "description": "**Note**: Repositories inherited through a parent team will also be checked.\n\n**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a repository](https://docs.github.com/rest/reference/teams#check-team-permissions-for-a-repository) endpoint.\n\nYou can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header:", + "tags": ["teams"], + "operationId": "teams/check-permissions-for-repo-legacy", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/teams/#check-team-permissions-for-a-repository-legacy" + }, + "parameters": [ + { "$ref": "#/components/parameters/team-id" }, + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "responses": { + "200": { + "description": "Alternative response with extra repository information", + "content": { + "application/vnd.github.v3.repository+json": { + "schema": { "$ref": "#/components/schemas/team-repository" }, + "examples": { + "alternative-response-with-extra-repository-information": { + "$ref": "#/components/examples/team-repository-alternative-response-with-extra-repository-information" + } + } + } + } + }, + "204": { + "description": "Response if repository is managed by this team" + }, + "404": { + "description": "Response if repository is not managed by this team" + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "removalDate": "2021-02-01", + "deprecationDate": "2020-01-21", + "category": "teams", + "subcategory": null + }, + "deprecated": true, + "x-octokit": {} + }, + "put": { + "summary": "Add or update team repository permissions (Legacy)", + "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team repository permissions](https://docs.github.comt/rest/reference/teams#add-or-update-team-project-permissions) endpoint.\n\nTo add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization.\n\nNote that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs).\"", + "tags": ["teams"], + "operationId": "teams/add-or-update-repo-permissions-legacy", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/teams/#add-or-update-team-repository-permissions-legacy" + }, + "parameters": [ + { "$ref": "#/components/parameters/team-id" }, + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "permission": { + "type": "string", + "description": "The permission to grant the team on this repository. Can be one of: \n\\* `pull` - team members can pull, but not push to or administer this repository. \n\\* `push` - team members can pull and push, but not administer this repository. \n\\* `admin` - team members can pull, push and administer this repository. \n \nIf no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository.", + "enum": ["pull", "push", "admin"] + } + } + } + } + } + }, + "responses": { + "204": { "description": "Empty response" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "removalDate": "2021-02-01", + "deprecationDate": "2020-01-21", + "category": "teams", + "subcategory": null + }, + "deprecated": true, + "x-octokit": {} + }, + "delete": { + "summary": "Remove a repository from a team (Legacy)", + "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a repository from a team](https://docs.github.com/rest/reference/teams#remove-a-repository-from-a-team) endpoint.\n\nIf the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. NOTE: This does not delete the repository, it just removes it from the team.", + "tags": ["teams"], + "operationId": "teams/remove-repo-legacy", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/teams/#remove-a-repository-from-a-team-legacy" + }, + "parameters": [ + { "$ref": "#/components/parameters/team-id" }, + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "removalDate": "2021-02-01", + "deprecationDate": "2020-01-21", + "category": "teams", + "subcategory": null + }, + "deprecated": true, + "x-octokit": {} + } + }, + "/teams/{team_id}/team-sync/group-mappings": { + "get": { + "summary": "List IdP groups for a team (Legacy)", + "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List IdP groups for a team`](https://docs.github.com/rest/reference/teams#list-idp-groups-for-a-team) endpoint.\n\nTeam synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nList IdP groups connected to a team on GitHub.", + "tags": ["teams"], + "operationId": "teams/list-idp-groups-for-legacy", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/teams#list-idp-groups-for-a-team-legacy" + }, + "parameters": [{ "$ref": "#/components/parameters/team-id" }], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/group-mapping" }, + "examples": { + "default": { "$ref": "#/components/examples/group-mapping-3" } + } + } + } + }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": true, + "enabledForGitHubApps": false, + "previews": [], + "removalDate": "2021-02-01", + "deprecationDate": "2020-01-21", + "category": "teams", + "subcategory": "team-sync" + }, + "deprecated": true, + "x-octokit": {} + }, + "patch": { + "summary": "Create or update IdP group connections (Legacy)", + "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create or update IdP group connections`](https://docs.github.com/rest/reference/teams#create-or-update-idp-group-connections) endpoint.\n\nTeam synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n\nCreates, updates, or removes a connection between a team and an IdP group. When adding groups to a team, you must include all new and existing groups to avoid replacing existing groups with the new ones. Specifying an empty `groups` array will remove all connections for a team.", + "tags": ["teams"], + "operationId": "teams/create-or-update-idp-group-connections-legacy", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/teams#create-or-update-idp-group-connections-legacy" + }, + "parameters": [{ "$ref": "#/components/parameters/team-id" }], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "groups": { + "type": "array", + "description": "The IdP groups you want to connect to a GitHub team. When updating, the new `groups` object will replace the original one. You must include any existing groups that you don't want to remove.", + "items": { + "type": "object", + "properties": { + "group_id": { + "type": "string", + "description": "ID of the IdP group." + }, + "group_name": { + "type": "string", + "description": "Name of the IdP group." + }, + "group_description": { + "type": "string", + "description": "Description of the IdP group." + }, + "id": { + "type": "string", + "example": "\"caceab43fc9ffa20081c\"" + }, + "name": { + "type": "string", + "example": "\"external-team-6c13e7288ef7\"" + }, + "description": { + "type": "string", + "example": "\"moar cheese pleese\"" + } + }, + "required": [ + "group_id", + "group_name", + "group_description" + ] + } + }, + "synced_at": { + "type": "string", + "example": "\"I am not a timestamp\"" + } + }, + "required": ["groups"] + }, + "example": { + "groups": [ + { + "group_id": "123", + "group_name": "Octocat admins", + "description": "The people who configure your octoworld.", + "group_description": "string" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/group-mapping" }, + "examples": { + "default": { "$ref": "#/components/examples/group-mapping-2" } + } + } + } + }, + "403": { "$ref": "#/components/responses/forbidden" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": true, + "enabledForGitHubApps": false, + "previews": [], + "removalDate": "2021-02-01", + "deprecationDate": "2020-01-21", + "category": "teams", + "subcategory": "team-sync" + }, + "deprecated": true, + "x-octokit": {} + } + }, + "/teams/{team_id}/teams": { + "get": { + "summary": "List child teams (Legacy)", + "description": "**Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List child teams`](https://docs.github.com/rest/reference/teams#list-child-teams) endpoint.", + "tags": ["teams"], + "operationId": "teams/list-child-legacy", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/teams/#list-child-teams-legacy" + }, + "parameters": [ + { "$ref": "#/components/parameters/team-id" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "Response if child teams exist", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/team" } + }, + "examples": { + "response-if-child-teams-exist": { + "$ref": "#/components/examples/team-items-response-if-child-teams-exist" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "removalDate": "2021-02-01", + "deprecationDate": "2020-01-21", + "category": "teams", + "subcategory": null + }, + "deprecated": true, + "x-octokit": {} + } + }, + "/user": { + "get": { + "summary": "Get the authenticated user", + "description": "If the authenticated user is authenticated through basic authentication or OAuth with the `user` scope, then the response lists public and private profile information.\n\nIf the authenticated user is authenticated through OAuth without the `user` scope, then the response lists only public profile information.", + "tags": ["users"], + "operationId": "users/get-authenticated", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/users/#get-the-authenticated-user" + }, + "parameters": [], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "oneOf": [ + { "$ref": "#/components/schemas/private-user" }, + { "$ref": "#/components/schemas/public-user" } + ] + }, + "examples": { + "response-with-public-and-private-profile-information": { + "$ref": "#/components/examples/private-user-response-with-public-and-private-profile-information" + }, + "response-with-public-profile-information": { + "$ref": "#/components/examples/private-user-response-with-public-profile-information" + } + } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "users", + "subcategory": null + }, + "x-octokit": {} + }, + "patch": { + "summary": "Update the authenticated user", + "description": "**Note:** If your email is set to private and you send an `email` parameter as part of this request to update your profile, your privacy settings are still enforced: the email address will not be displayed on your public profile or via the API.", + "tags": ["users"], + "operationId": "users/update-authenticated", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/users/#update-the-authenticated-user" + }, + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "description": "The new name of the user.", + "type": "string", + "example": "Omar Jahandar" + }, + "email": { + "description": "The publicly visible email address of the user.", + "type": "string", + "example": "omar@example.com" + }, + "blog": { + "description": "The new blog URL of the user.", + "type": "string", + "example": "blog.example.com" + }, + "twitter_username": { + "description": "The new Twitter username of the user.", + "type": "string", + "example": "therealomarj", + "nullable": true + }, + "company": { + "description": "The new company of the user.", + "type": "string", + "example": "Acme corporation" + }, + "location": { + "description": "The new location of the user.", + "type": "string", + "example": "Berlin, Germany" + }, + "hireable": { + "description": "The new hiring availability of the user.", + "type": "boolean" + }, + "bio": { + "description": "The new short biography of the user.", + "type": "string" + } + } + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/private-user" }, + "examples": { + "default": { "$ref": "#/components/examples/private-user" } + } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "users", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/user/blocks": { + "get": { + "summary": "List users blocked by the authenticated user", + "description": "List the users you've blocked on your personal account.", + "tags": ["users"], + "operationId": "users/list-blocked-by-authenticated", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/users#list-users-blocked-by-the-authenticated-user" + }, + "parameters": [], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/simple-user" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/simple-user-items" + } + } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" }, + "415": { "$ref": "#/components/responses/preview_header_missing" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "users", + "subcategory": "blocking" + }, + "x-octokit": {} + } + }, + "/user/blocks/{username}": { + "get": { + "summary": "Check if a user is blocked by the authenticated user", + "description": "If the user is blocked:\n\nIf the user is not blocked:", + "tags": ["users"], + "operationId": "users/check-blocked", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/users#check-if-a-user-is-blocked-by-the-authenticated-user" + }, + "parameters": [{ "$ref": "#/components/parameters/username" }], + "responses": { + "204": { "description": "If the user is blocked:" }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { + "description": "If the user is not blocked:", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/basic-error" } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "users", + "subcategory": "blocking" + }, + "x-octokit": {} + }, + "put": { + "summary": "Block a user", + "description": "", + "tags": ["users"], + "operationId": "users/block", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/users#block-a-user" + }, + "parameters": [{ "$ref": "#/components/parameters/username" }], + "responses": { + "204": { "description": "Empty response" }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "users", + "subcategory": "blocking" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Unblock a user", + "description": "", + "tags": ["users"], + "operationId": "users/unblock", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/users#unblock-a-user" + }, + "parameters": [{ "$ref": "#/components/parameters/username" }], + "responses": { + "204": { "description": "Empty response" }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "users", + "subcategory": "blocking" + }, + "x-octokit": {} + } + }, + "/user/email/visibility": { + "patch": { + "summary": "Set primary email visibility for the authenticated user", + "description": "Sets the visibility for your primary email addresses.", + "tags": ["users"], + "operationId": "users/set-primary-email-visibility-for-authenticated", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/users#set-primary-email-visibility-for-the-authenticated-user" + }, + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "email": { + "description": "An email address associated with the GitHub user account to manage.", + "type": "string", + "example": "org@example.com" + }, + "visibility": { + "description": "Denotes whether an email is publically visible.", + "type": "string", + "enum": ["public", "private"] + } + }, + "required": ["email", "visibility"], + "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/email" } + }, + "examples": { + "default": { "$ref": "#/components/examples/email-items-3" } + } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "users", + "subcategory": "emails" + }, + "x-octokit": {} + } + }, + "/user/emails": { + "get": { + "summary": "List email addresses for the authenticated user", + "description": "Lists all of your email addresses, and specifies which one is visible to the public. This endpoint is accessible with the `user:email` scope.", + "tags": ["users"], + "operationId": "users/list-emails-for-authenticated", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/users#list-email-addresses-for-the-authenticated-user" + }, + "parameters": [ + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/email" } + }, + "examples": { + "default": { "$ref": "#/components/examples/email-items-2" } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "users", + "subcategory": "emails" + }, + "x-octokit": {} + }, + "post": { + "summary": "Add an email address for the authenticated user", + "description": "This endpoint is accessible with the `user` scope.", + "tags": ["users"], + "operationId": "users/add-email-for-authenticated", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/users#add-an-email-address-for-the-authenticated-user" + }, + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "type": "object", + "properties": { + "emails": { + "description": "Adds one or more email addresses to your GitHub account. Must contain at least one email address. **Note:** Alternatively, you can pass a single email address or an `array` of emails addresses directly, but we recommend that you pass an object using the `emails` key.", + "type": "array", + "items": { + "type": "string", + "example": "username@example.com", + "minItems": 1 + }, + "example": [] + } + }, + "required": ["emails"], + "example": { + "emails": ["octocat@github.com", "mona@github.com"] + } + }, + { + "type": "array", + "items": { + "type": "string", + "example": "username@example.com", + "minItems": 1 + } + }, + { "type": "string" } + ] + } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/email" } + }, + "examples": { + "default": { "$ref": "#/components/examples/email-items" } + } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "users", + "subcategory": "emails" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Delete an email address for the authenticated user", + "description": "This endpoint is accessible with the `user` scope.", + "tags": ["users"], + "operationId": "users/delete-email-for-authenticated", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/users#delete-an-email-address-for-the-authenticated-user" + }, + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "type": "object", + "description": "Deletes one or more email addresses from your GitHub account. Must contain at least one email address. **Note:** Alternatively, you can pass a single email address or an `array` of emails addresses directly, but we recommend that you pass an object using the `emails` key.", + "properties": { + "emails": { + "description": "Email addresses associated with the GitHub user account.", + "type": "array", + "items": { + "type": "string", + "example": "username@example.com", + "minItems": 1 + }, + "example": { + "emails": ["octocat@github.com", "mona@github.com"] + } + } + }, + "required": ["emails"] + }, + { + "type": "array", + "items": { + "type": "string", + "example": "username@example.com", + "minItems": 1 + } + }, + { "type": "string" } + ] + } + } + } + }, + "responses": { + "204": { "description": "Empty response" }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "users", + "subcategory": "emails" + }, + "x-octokit": {} + } + }, + "/user/followers": { + "get": { + "summary": "List followers of the authenticated user", + "description": "Lists the people following the authenticated user.", + "tags": ["users"], + "operationId": "users/list-followers-for-authenticated-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/users#list-followers-of-the-authenticated-user" + }, + "parameters": [ + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/simple-user" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/simple-user-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "users", + "subcategory": "followers" + }, + "x-octokit": {} + } + }, + "/user/following": { + "get": { + "summary": "List the people the authenticated user follows", + "description": "Lists the people who the authenticated user follows.", + "tags": ["users"], + "operationId": "users/list-followed-by-authenticated", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/users#list-the-people-the-authenticated-user-follows" + }, + "parameters": [ + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/simple-user" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/simple-user-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "users", + "subcategory": "followers" + }, + "x-octokit": {} + } + }, + "/user/following/{username}": { + "get": { + "summary": "Check if a person is followed by the authenticated user", + "description": "", + "tags": ["users"], + "operationId": "users/check-person-is-followed-by-authenticated", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/users#check-if-a-person-is-followed-by-the-authenticated-user" + }, + "parameters": [{ "$ref": "#/components/parameters/username" }], + "responses": { + "204": { + "description": "Response if the person is followed by the authenticated user" + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { + "description": "Response if the person is not followed by the authenticated user", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/basic-error" } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "users", + "subcategory": "followers" + }, + "x-octokit": {} + }, + "put": { + "summary": "Follow a user", + "description": "Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs).\"\n\nFollowing a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope.", + "tags": ["users"], + "operationId": "users/follow", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/users#follow-a-user" + }, + "parameters": [{ "$ref": "#/components/parameters/username" }], + "responses": { + "204": { "description": "Empty response" }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "users", + "subcategory": "followers" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Unfollow a user", + "description": "Unfollowing a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope.", + "tags": ["users"], + "operationId": "users/unfollow", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/users#unfollow-a-user" + }, + "parameters": [{ "$ref": "#/components/parameters/username" }], + "responses": { + "204": { "description": "Empty response" }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "users", + "subcategory": "followers" + }, + "x-octokit": {} + } + }, + "/user/gpg_keys": { + "get": { + "summary": "List GPG keys for the authenticated user", + "description": "Lists the current user's GPG keys. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", + "tags": ["users"], + "operationId": "users/list-gpg-keys-for-authenticated", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/users#list-gpg-keys-for-the-authenticated-user" + }, + "parameters": [ + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/gpg-key" } + }, + "examples": { + "default": { "$ref": "#/components/examples/gpg-key-items" } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "users", + "subcategory": "gpg-keys" + }, + "x-octokit": {} + }, + "post": { + "summary": "Create a GPG key for the authenticated user", + "description": "Adds a GPG key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", + "operationId": "users/create-gpg-key-for-authenticated", + "tags": ["users"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/users#create-a-gpg-key-for-the-authenticated-user" + }, + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "armored_public_key": { + "description": "A GPG key in ASCII-armored format.", + "type": "string" + } + }, + "type": "object", + "required": ["armored_public_key"] + } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/gpg-key" }, + "examples": { + "default": { "$ref": "#/components/examples/gpg-key" } + } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "users", + "subcategory": "gpg-keys" + }, + "x-octokit": {} + } + }, + "/user/gpg_keys/{gpg_key_id}": { + "get": { + "summary": "Get a GPG key for the authenticated user", + "description": "View extended details for a single GPG key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", + "tags": ["users"], + "operationId": "users/get-gpg-key-for-authenticated", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/users#get-a-gpg-key-for-the-authenticated-user" + }, + "parameters": [{ "$ref": "#/components/parameters/gpg_key_id" }], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/gpg-key" }, + "examples": { + "default": { "$ref": "#/components/examples/gpg-key" } + } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "users", + "subcategory": "gpg-keys" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Delete a GPG key for the authenticated user", + "description": "Removes a GPG key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", + "tags": ["users"], + "operationId": "users/delete-gpg-key-for-authenticated", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/users#delete-a-gpg-key-for-the-authenticated-user" + }, + "parameters": [{ "$ref": "#/components/parameters/gpg_key_id" }], + "responses": { + "204": { "description": "Empty response" }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "users", + "subcategory": "gpg-keys" + }, + "x-octokit": {} + } + }, + "/user/installations": { + "get": { + "summary": "List app installations accessible to the user access token", + "description": "Lists installations of your GitHub App that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access.\n\nYou must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint.\n\nThe authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership.\n\nYou can find the permissions for the installation under the `permissions` key.", + "tags": ["apps"], + "operationId": "apps/list-installations-for-authenticated-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/apps#list-app-installations-accessible-to-the-user-access-token" + }, + "parameters": [ + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "You can find the permissions for the installation under the `permissions` key.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "total_count": { "type": "integer" }, + "installations": { + "type": "array", + "items": { "$ref": "#/components/schemas/installation" } + } + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/base-installation-for-auth-user-paginated" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "415": { "$ref": "#/components/responses/preview_header_missing" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "apps", + "subcategory": "installations" + }, + "x-octokit": {} + } + }, + "/user/installations/{installation_id}/repositories": { + "get": { + "summary": "List repositories accessible to the user access token", + "description": "List repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access for an installation.\n\nThe authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership.\n\nYou must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint.\n\nThe access the user has to each repository is included in the hash under the `permissions` key.", + "tags": ["apps"], + "operationId": "apps/list-installation-repos-for-authenticated-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/apps#list-repositories-accessible-to-the-user-access-token" + }, + "parameters": [ + { "$ref": "#/components/parameters/installation_id" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "The access the user has to each repository is included in the hash under the `permissions` key.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "total_count": { "type": "integer" }, + "repository_selection": { "type": "string" }, + "repositories": { + "type": "array", + "items": { "$ref": "#/components/schemas/repository" } + } + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/repository-paginated" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [ + { + "required": false, + "name": "mercy", + "note": "The `topics` property for repositories on GitHub is currently available for developers to preview. To view the `topics` property in calls that return repository results, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.mercy-preview+json\n```" + } + ], + "category": "apps", + "subcategory": "installations" + }, + "x-octokit": {} + } + }, + "/user/installations/{installation_id}/repositories/{repository_id}": { + "put": { + "summary": "Add a repository to an app installation", + "description": "Add a single repository to an installation. The authenticated user must have admin access to the repository.\n\nYou must use a personal access token (which you can create via the [command line](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/) or the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations#create-a-new-authorization) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) to access this endpoint.", + "tags": ["apps"], + "operationId": "apps/add-repo-to-installation", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/apps#add-a-repository-to-an-app-installation" + }, + "parameters": [ + { "$ref": "#/components/parameters/installation_id" }, + { "$ref": "#/components/parameters/repository_id" } + ], + "responses": { + "204": { "description": "Empty response" }, + "304": { "$ref": "#/components/responses/not_modified" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "apps", + "subcategory": "installations" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Remove a repository from an app installation", + "description": "Remove a single repository from an installation. The authenticated user must have admin access to the repository.\n\nYou must use a personal access token (which you can create via the [command line](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/) or the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations#create-a-new-authorization) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) to access this endpoint.", + "tags": ["apps"], + "operationId": "apps/remove-repo-from-installation", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/apps#remove-a-repository-from-an-app-installation" + }, + "parameters": [ + { "$ref": "#/components/parameters/installation_id" }, + { "$ref": "#/components/parameters/repository_id" } + ], + "responses": { + "204": { "description": "Empty response" }, + "304": { "$ref": "#/components/responses/not_modified" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "apps", + "subcategory": "installations" + }, + "x-octokit": {} + } + }, + "/user/interaction-limits": { + "get": { + "summary": "Get interaction restrictions for your public repositories", + "description": "Shows which type of GitHub user can interact with your public repositories and when the restriction expires. If there are no restrictions, you will see an empty response.", + "tags": ["interactions"], + "operationId": "interactions/get-restrictions-for-your-public-repos", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/interactions#get-interaction-restrictions-for-your-public-repositories" + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/interaction-limit-response" + }, + "examples": { + "default": { + "$ref": "#/components/examples/interaction-limit-user" + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "interactions", + "subcategory": "user" + }, + "x-octokit": {} + }, + "put": { + "summary": "Set interaction restrictions for your public repositories", + "description": "Temporarily restricts which type of GitHub user can interact with your public repositories. Setting the interaction limit at the user level will overwrite any interaction limits that are set for individual repositories owned by the user.", + "tags": ["interactions"], + "operationId": "interactions/set-restrictions-for-your-public-repos", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/interactions#set-interaction-restrictions-for-your-public-repositories" + }, + "requestBody": { + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/interaction-limit" } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/interaction-limit-response" + }, + "examples": { + "default": { + "$ref": "#/components/examples/interaction-limit-user" + } + } + } + } + }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "interactions", + "subcategory": "user" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Remove interaction restrictions from your public repositories", + "description": "Removes any interaction restrictions from your public repositories.", + "tags": ["interactions"], + "operationId": "interactions/remove-restrictions-for-your-public-repos", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/interactions#remove-interaction-restrictions-from-your-public-repositories" + }, + "responses": { "204": { "description": "Empty response" } }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "interactions", + "subcategory": "user" + }, + "x-octokit": {} + } + }, + "/user/issues": { + "get": { + "summary": "List user account issues assigned to the authenticated user", + "description": "List issues across owned and member repositories assigned to the authenticated user.\n\n**Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this\nreason, \"Issues\" endpoints may return both issues and pull requests in the response. You can identify pull requests by\nthe `pull_request` key. Be aware that the `id` of a pull request returned from \"Issues\" endpoints will be an _issue id_. To find out the pull\nrequest id, use the \"[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)\" endpoint.", + "tags": ["issues"], + "operationId": "issues/list-for-authenticated-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/issues/#list-user-account-issues-assigned-to-the-authenticated-user" + }, + "parameters": [ + { + "name": "filter", + "description": "Indicates which sorts of issues to return. Can be one of: \n\\* `assigned`: Issues assigned to you \n\\* `created`: Issues created by you \n\\* `mentioned`: Issues mentioning you \n\\* `subscribed`: Issues you're subscribed to updates for \n\\* `all`: All issues the authenticated user can see, regardless of participation or creation", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["assigned", "created", "mentioned", "subscribed", "all"], + "default": "assigned" + } + }, + { + "name": "state", + "description": "Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["open", "closed", "all"], + "default": "open" + } + }, + { "$ref": "#/components/parameters/labels" }, + { + "name": "sort", + "description": "What to sort results by. Can be either `created`, `updated`, `comments`.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["created", "updated", "comments"], + "default": "created" + } + }, + { "$ref": "#/components/parameters/direction" }, + { "$ref": "#/components/parameters/since" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/issue" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/issue-with-repo-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [ + { + "required": false, + "name": "squirrel-girl", + "note": "An additional `reactions` object in the issue comment payload is currently available for developers to preview. During the preview period, the APIs may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-05-12-reactions-api-preview) for full details.\n\nTo access the API you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.squirrel-girl-preview\n```\nThe `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions." + } + ], + "category": "issues", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/user/keys": { + "get": { + "summary": "List public SSH keys for the authenticated user", + "description": "Lists the public SSH keys for the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", + "tags": ["users"], + "operationId": "users/list-public-ssh-keys-for-authenticated", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/users#list-public-ssh-keys-for-the-authenticated-user" + }, + "parameters": [ + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/key" } + }, + "examples": { + "default": { "$ref": "#/components/examples/key-items" } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "users", + "subcategory": "keys" + }, + "x-octokit": {} + }, + "post": { + "summary": "Create a public SSH key for the authenticated user", + "description": "Adds a public SSH key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", + "operationId": "users/create-public-ssh-key-for-authenticated", + "tags": ["users"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/users#create-a-public-ssh-key-for-the-authenticated-user" + }, + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "title": { + "description": "A descriptive name for the new key.", + "type": "string", + "example": "Personal MacBook Air" + }, + "key": { + "description": "The public SSH key to add to your GitHub account.", + "type": "string", + "pattern": "^ssh-(rsa|dss|ed25519) |^ecdsa-sha2-nistp(256|384|521) " + } + }, + "required": ["key"], + "type": "object" + } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/key" }, + "examples": { + "default": { "$ref": "#/components/examples/key" } + } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "users", + "subcategory": "keys" + }, + "x-octokit": {} + } + }, + "/user/keys/{key_id}": { + "get": { + "summary": "Get a public SSH key for the authenticated user", + "description": "View extended details for a single public SSH key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", + "tags": ["users"], + "operationId": "users/get-public-ssh-key-for-authenticated", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/users#get-a-public-ssh-key-for-the-authenticated-user" + }, + "parameters": [{ "$ref": "#/components/parameters/key_id" }], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/key" }, + "examples": { + "default": { "$ref": "#/components/examples/key" } + } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "users", + "subcategory": "keys" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Delete a public SSH key for the authenticated user", + "description": "Removes a public SSH key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).", + "tags": ["users"], + "operationId": "users/delete-public-ssh-key-for-authenticated", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/users#delete-a-public-ssh-key-for-the-authenticated-user" + }, + "parameters": [{ "$ref": "#/components/parameters/key_id" }], + "responses": { + "204": { "description": "Empty response" }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "users", + "subcategory": "keys" + }, + "x-octokit": {} + } + }, + "/user/marketplace_purchases": { + "get": { + "summary": "List subscriptions for the authenticated user", + "description": "Lists the active subscriptions for the authenticated user. You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. . OAuth Apps must authenticate using an [OAuth token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/).", + "tags": ["apps"], + "operationId": "apps/list-subscriptions-for-authenticated-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/apps#list-subscriptions-for-the-authenticated-user" + }, + "parameters": [ + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/user-marketplace-purchase" + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/user-marketplace-purchase-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "apps", + "subcategory": "marketplace" + }, + "x-octokit": {} + } + }, + "/user/marketplace_purchases/stubbed": { + "get": { + "summary": "List subscriptions for the authenticated user (stubbed)", + "description": "Lists the active subscriptions for the authenticated user. You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. . OAuth Apps must authenticate using an [OAuth token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/).", + "tags": ["apps"], + "operationId": "apps/list-subscriptions-for-authenticated-user-stubbed", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/apps#list-subscriptions-for-the-authenticated-user-stubbed" + }, + "parameters": [ + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/user-marketplace-purchase" + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/user-marketplace-purchase-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "apps", + "subcategory": "marketplace" + }, + "x-octokit": {} + } + }, + "/user/memberships/orgs": { + "get": { + "summary": "List organization memberships for the authenticated user", + "description": "", + "tags": ["orgs"], + "operationId": "orgs/list-memberships-for-authenticated-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/orgs#list-organization-memberships-for-the-authenticated-user" + }, + "parameters": [ + { + "name": "state", + "description": "Indicates the state of the memberships to return. Can be either `active` or `pending`. If not specified, the API returns both active and pending memberships.", + "in": "query", + "required": false, + "schema": { "type": "string", "enum": ["active", "pending"] } + }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/org-membership" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/org-membership-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "orgs", + "subcategory": "members" + }, + "x-octokit": {} + } + }, + "/user/memberships/orgs/{org}": { + "get": { + "summary": "Get an organization membership for the authenticated user", + "description": "", + "tags": ["orgs"], + "operationId": "orgs/get-membership-for-authenticated-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/orgs#get-an-organization-membership-for-the-authenticated-user" + }, + "parameters": [{ "$ref": "#/components/parameters/org" }], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/org-membership" }, + "examples": { + "default": { "$ref": "#/components/examples/org-membership" } + } + } + } + }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "orgs", + "subcategory": "members" + }, + "x-octokit": {} + }, + "patch": { + "summary": "Update an organization membership for the authenticated user", + "description": "", + "tags": ["orgs"], + "operationId": "orgs/update-membership-for-authenticated-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/orgs#update-an-organization-membership-for-the-authenticated-user" + }, + "parameters": [{ "$ref": "#/components/parameters/org" }], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "state": { + "type": "string", + "description": "The state that the membership should be in. Only `\"active\"` will be accepted.", + "enum": ["active"] + } + }, + "required": ["state"] + }, + "example": { "state": "active" } + } + } + }, + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/org-membership" }, + "examples": { + "default": { + "$ref": "#/components/examples/org-membership-2" + } + } + } + } + }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "orgs", + "subcategory": "members" + }, + "x-octokit": {} + } + }, + "/user/migrations": { + "get": { + "summary": "List user migrations", + "description": "Lists all migrations a user has started.", + "tags": ["migrations"], + "operationId": "migrations/list-for-authenticated-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/migrations#list-user-migrations" + }, + "parameters": [ + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/migration" } + }, + "examples": { + "default": { "$ref": "#/components/examples/migration-items" } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [ + { + "required": true, + "name": "wyandotte", + "note": "To access the Migrations API, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.wyandotte-preview+json\n```" + } + ], + "category": "migrations", + "subcategory": "users" + }, + "x-octokit": {} + }, + "post": { + "summary": "Start a user migration", + "description": "Initiates the generation of a user migration archive.", + "tags": ["migrations"], + "operationId": "migrations/start-for-authenticated-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/migrations#start-a-user-migration" + }, + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "lock_repositories": { + "description": "Lock the repositories being migrated at the start of the migration", + "example": true, + "readOnly": false, + "type": "boolean" + }, + "exclude_attachments": { + "description": "Do not include attachments in the migration", + "example": true, + "readOnly": false, + "type": "boolean" + }, + "exclude": { + "description": "Exclude attributes from the API response to improve performance", + "example": ["repositories"], + "readOnly": false, + "type": "array", + "items": { + "description": "Allowed values that can be passed to the exclude param.", + "enum": ["repositories"], + "example": "repositories", + "type": "string" + } + }, + "repositories": { + "type": "array", + "items": { + "description": "Repository path, owner and name", + "example": "acme/widgets", + "type": "string" + } + } + }, + "required": ["repositories"], + "type": "object" + } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/migration" }, + "examples": { + "default": { "$ref": "#/components/examples/migration-2" } + } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "migrations", + "subcategory": "users" + }, + "x-octokit": {} + } + }, + "/user/migrations/{migration_id}": { + "get": { + "summary": "Get a user migration status", + "description": "Fetches a single user migration. The response includes the `state` of the migration, which can be one of the following values:\n\n* `pending` - the migration hasn't started yet.\n* `exporting` - the migration is in progress.\n* `exported` - the migration finished successfully.\n* `failed` - the migration failed.\n\nOnce the migration has been `exported` you can [download the migration archive](https://docs.github.com/rest/reference/migrations#download-a-user-migration-archive).", + "tags": ["migrations"], + "operationId": "migrations/get-status-for-authenticated-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/migrations#get-a-user-migration-status" + }, + "parameters": [ + { "$ref": "#/components/parameters/migration_id" }, + { + "name": "exclude", + "in": "query", + "required": false, + "schema": { "type": "array", "items": { "type": "string" } } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/migration" }, + "examples": { + "default": { "$ref": "#/components/examples/migration" } + } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [ + { + "required": true, + "name": "wyandotte", + "note": "To access the Migrations API, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.wyandotte-preview+json\n```" + } + ], + "category": "migrations", + "subcategory": "users" + }, + "x-octokit": {} + } + }, + "/user/migrations/{migration_id}/archive": { + "get": { + "summary": "Download a user migration archive", + "description": "Fetches the URL to download the migration archive as a `tar.gz` file. Depending on the resources your repository uses, the migration archive can contain JSON files with data for these objects:\n\n* attachments\n* bases\n* commit\\_comments\n* issue\\_comments\n* issue\\_events\n* issues\n* milestones\n* organizations\n* projects\n* protected\\_branches\n* pull\\_request\\_reviews\n* pull\\_requests\n* releases\n* repositories\n* review\\_comments\n* schema\n* users\n\nThe archive will also contain an `attachments` directory that includes all attachment files uploaded to GitHub.com and a `repositories` directory that contains the repository's Git data.", + "tags": ["migrations"], + "operationId": "migrations/get-archive-for-authenticated-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/migrations#download-a-user-migration-archive" + }, + "parameters": [{ "$ref": "#/components/parameters/migration_id" }], + "responses": { + "302": { "description": "response" }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [ + { + "required": true, + "name": "wyandotte", + "note": "To access the Migrations API, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.wyandotte-preview+json\n```" + } + ], + "category": "migrations", + "subcategory": "users" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Delete a user migration archive", + "description": "Deletes a previous migration archive. Downloadable migration archives are automatically deleted after seven days. Migration metadata, which is returned in the [List user migrations](https://docs.github.com/rest/reference/migrations#list-user-migrations) and [Get a user migration status](https://docs.github.com/rest/reference/migrations#get-a-user-migration-status) endpoints, will continue to be available even after an archive is deleted.", + "tags": ["migrations"], + "operationId": "migrations/delete-archive-for-authenticated-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/migrations#delete-a-user-migration-archive" + }, + "parameters": [{ "$ref": "#/components/parameters/migration_id" }], + "responses": { + "204": { "description": "Empty response" }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [ + { + "required": true, + "name": "wyandotte", + "note": "To access the Migrations API, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.wyandotte-preview+json\n```" + } + ], + "category": "migrations", + "subcategory": "users" + }, + "x-octokit": {} + } + }, + "/user/migrations/{migration_id}/repos/{repo_name}/lock": { + "delete": { + "summary": "Unlock a user repository", + "description": "Unlocks a repository. You can lock repositories when you [start a user migration](https://docs.github.com/rest/reference/migrations#start-a-user-migration). Once the migration is complete you can unlock each repository to begin using it again or [delete the repository](https://docs.github.com/rest/reference/repos#delete-a-repository) if you no longer need the source data. Returns a status of `404 Not Found` if the repository is not locked.", + "tags": ["migrations"], + "operationId": "migrations/unlock-repo-for-authenticated-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/migrations#unlock-a-user-repository" + }, + "parameters": [ + { "$ref": "#/components/parameters/migration_id" }, + { "$ref": "#/components/parameters/repo_name" } + ], + "responses": { + "204": { "description": "Empty response" }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [ + { + "required": true, + "name": "wyandotte", + "note": "To access the Migrations API, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.wyandotte-preview+json\n```" + } + ], + "category": "migrations", + "subcategory": "users" + }, + "x-octokit": {} + } + }, + "/user/migrations/{migration_id}/repositories": { + "get": { + "summary": "List repositories for a user migration", + "description": "Lists all the repositories for this user migration.", + "tags": ["migrations"], + "operationId": "migrations/list-repos-for-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/migrations#list-repositories-for-a-user-migration" + }, + "parameters": [ + { "$ref": "#/components/parameters/migration_id" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/minimal-repository" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/minimal-repository-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [ + { + "required": true, + "name": "wyandotte", + "note": "To access the Migrations API, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.wyandotte-preview+json\n```" + } + ], + "category": "migrations", + "subcategory": "users" + }, + "x-octokit": {} + } + }, + "/user/orgs": { + "get": { + "summary": "List organizations for the authenticated user", + "description": "List organizations for the authenticated user.\n\n**OAuth scope requirements**\n\nThis only lists organizations that your authorization allows you to operate on in some way (e.g., you can list teams with `read:org` scope, you can publicize your organization membership with `user` scope, etc.). Therefore, this API requires at least `user` or `read:org` scope. OAuth requests with insufficient scope receive a `403 Forbidden` response.", + "tags": ["orgs"], + "operationId": "orgs/list-for-authenticated-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/orgs/#list-organizations-for-the-authenticated-user" + }, + "parameters": [ + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/organization-simple" + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/organization-simple-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "orgs", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/user/projects": { + "post": { + "summary": "Create a user project", + "description": "", + "tags": ["projects"], + "operationId": "projects/create-for-authenticated-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/projects/#create-a-user-project" + }, + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "name": { + "description": "Name of the project", + "example": "Week One Sprint", + "type": "string" + }, + "body": { + "description": "Body of the project", + "example": "This project represents the sprint of the first week in January", + "type": "string", + "nullable": true + } + }, + "required": ["name"], + "type": "object" + } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/project" }, + "examples": { + "default": { "$ref": "#/components/examples/project" } + } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "415": { "$ref": "#/components/responses/preview_header_missing" }, + "422": { "$ref": "#/components/responses/validation_failed_simple" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": true, + "name": "inertia", + "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" + } + ], + "category": "projects", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/user/public_emails": { + "get": { + "summary": "List public email addresses for the authenticated user", + "description": "Lists your publicly visible email address, which you can set with the [Set primary email visibility for the authenticated user](https://docs.github.com/rest/reference/users#set-primary-email-visibility-for-the-authenticated-user) endpoint. This endpoint is accessible with the `user:email` scope.", + "tags": ["users"], + "operationId": "users/list-public-emails-for-authenticated", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/users#list-public-email-addresses-for-the-authenticated-user" + }, + "parameters": [ + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/email" } + }, + "examples": { + "default": { "$ref": "#/components/examples/email-items-2" } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "users", + "subcategory": "emails" + }, + "x-octokit": {} + } + }, + "/user/repos": { + "get": { + "summary": "List repositories for the authenticated user", + "description": "Lists repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access.\n\nThe authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership.", + "tags": ["repos"], + "operationId": "repos/list-for-authenticated-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/repos/#list-repositories-for-the-authenticated-user" + }, + "parameters": [ + { + "name": "visibility", + "description": "Can be one of `all`, `public`, or `private`.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["all", "public", "private"], + "default": "all" + } + }, + { + "name": "affiliation", + "description": "Comma-separated list of values. Can include: \n\\* `owner`: Repositories that are owned by the authenticated user. \n\\* `collaborator`: Repositories that the user has been added to as a collaborator. \n\\* `organization_member`: Repositories that the user has access to through being a member of an organization. This includes every repository on every team that the user is on.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "default": "owner,collaborator,organization_member" + } + }, + { + "name": "type", + "description": "Can be one of `all`, `owner`, `public`, `private`, `member`. Default: `all` \n \nWill cause a `422` error if used in the same request as **visibility** or **affiliation**. Will cause a `422` error if used in the same request as **visibility** or **affiliation**.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["all", "owner", "public", "private", "member"], + "default": "all" + } + }, + { + "name": "sort", + "description": "Can be one of `created`, `updated`, `pushed`, `full_name`.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["created", "updated", "pushed", "full_name"], + "default": "full_name" + } + }, + { + "name": "direction", + "description": "Can be one of `asc` or `desc`. Default: `asc` when using `full_name`, otherwise `desc`", + "in": "query", + "required": false, + "schema": { "type": "string", "enum": ["asc", "desc"] } + }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" }, + { "$ref": "#/components/parameters/since" }, + { "$ref": "#/components/parameters/before" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/repository" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/repository-items-default-response" + } + } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "418": { "description": "Response definition missing" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "repos", + "subcategory": null + }, + "x-octokit": {} + }, + "post": { + "summary": "Create a repository for the authenticated user", + "description": "Creates a new repository for the authenticated user.\n\n**OAuth scope requirements**\n\nWhen using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include:\n\n* `public_repo` scope or `repo` scope to create a public repository\n* `repo` scope to create a private repository", + "tags": ["repos"], + "operationId": "repos/create-for-authenticated-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/repos/#create-a-repository-for-the-authenticated-user" + }, + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "name": { + "description": "The name of the repository.", + "type": "string", + "example": "Team Environment" + }, + "description": { + "description": "A short description of the repository.", + "type": "string" + }, + "homepage": { + "description": "A URL with more information about the repository.", + "type": "string" + }, + "private": { + "description": "Whether the repository is private or public.", + "default": false, + "type": "boolean" + }, + "has_issues": { + "description": "Whether issues are enabled.", + "default": true, + "type": "boolean", + "example": true + }, + "has_projects": { + "description": "Whether projects are enabled.", + "default": true, + "type": "boolean", + "example": true + }, + "has_wiki": { + "description": "Whether the wiki is enabled.", + "default": true, + "type": "boolean", + "example": true + }, + "team_id": { + "description": "The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization.", + "type": "integer" + }, + "auto_init": { + "description": "Whether the repository is initialized with a minimal README.", + "default": false, + "type": "boolean" + }, + "gitignore_template": { + "description": "The desired language or platform to apply to the .gitignore.", + "example": "Haskell", + "type": "string" + }, + "license_template": { + "description": "The license keyword of the open source license for this repository.", + "example": "mit", + "type": "string" + }, + "allow_squash_merge": { + "description": "Whether to allow squash merges for pull requests.", + "default": true, + "type": "boolean", + "example": true + }, + "allow_merge_commit": { + "description": "Whether to allow merge commits for pull requests.", + "default": true, + "type": "boolean", + "example": true + }, + "allow_rebase_merge": { + "description": "Whether to allow rebase merges for pull requests.", + "default": true, + "type": "boolean", + "example": true + }, + "delete_branch_on_merge": { + "description": "Whether to delete head branches when pull requests are merged", + "default": false, + "type": "boolean", + "example": false + }, + "has_downloads": { + "description": "Whether downloads are enabled.", + "default": true, + "type": "boolean", + "example": true + }, + "is_template": { + "description": "Whether this repository acts as a template that can be used to generate new repositories.", + "default": false, + "type": "boolean", + "example": true + } + }, + "required": ["name"], + "type": "object" + } + } + } + }, + "responses": { + "201": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/repository" }, + "examples": { + "default": { "$ref": "#/components/examples/repository" } + } + } + }, + "headers": { + "Location": { + "example": "https://api.github.com/repos/octocat/Hello-World", + "schema": { "type": "string" } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "400": { "$ref": "#/components/responses/bad_request" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [ + { + "required": false, + "name": "nebula", + "note": "You can set the visibility of a repository using the new `visibility` parameter in the [Repositories API](https://docs.github.com/rest/reference/repos/), and get a repository's visibility with a new response key. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes/).\n\nTo access repository visibility during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.nebula-preview+json\n```" + }, + { + "required": false, + "name": "baptiste", + "note": "The `is_template` and `template_repository` keys are currently available for developer to preview. See [Create a repository using a template](https://docs.github.com/repos#create-a-repository-using-a-template) to learn how to create template repositories. To access these new response keys during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.baptiste-preview+json\n```" + } + ], + "category": "repos", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/user/repository_invitations": { + "get": { + "summary": "List repository invitations for the authenticated user", + "description": "When authenticating as a user, this endpoint will list all currently open repository invitations for that user.", + "tags": ["repos"], + "operationId": "repos/list-invitations-for-authenticated-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#list-repository-invitations-for-the-authenticated-user" + }, + "parameters": [ + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/repository-invitation" + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/repository-invitation-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "repos", + "subcategory": "invitations" + }, + "x-octokit": {} + } + }, + "/user/repository_invitations/{invitation_id}": { + "patch": { + "summary": "Accept a repository invitation", + "description": "", + "tags": ["repos"], + "operationId": "repos/accept-invitation", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#accept-a-repository-invitation" + }, + "parameters": [{ "$ref": "#/components/parameters/invitation_id" }], + "responses": { + "204": { "description": "Empty response" }, + "304": { "$ref": "#/components/responses/not_modified" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" }, + "409": { "$ref": "#/components/responses/conflict" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "repos", + "subcategory": "invitations" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Decline a repository invitation", + "description": "", + "tags": ["repos"], + "operationId": "repos/decline-invitation", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/repos#decline-a-repository-invitation" + }, + "parameters": [{ "$ref": "#/components/parameters/invitation_id" }], + "responses": { + "204": { "description": "Empty response" }, + "304": { "$ref": "#/components/responses/not_modified" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" }, + "409": { "$ref": "#/components/responses/conflict" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "repos", + "subcategory": "invitations" + }, + "x-octokit": {} + } + }, + "/user/starred": { + "get": { + "summary": "List repositories starred by the authenticated user", + "description": "Lists repositories the authenticated user has starred.\n\nYou can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header:", + "tags": ["activity"], + "operationId": "activity/list-repos-starred-by-authenticated-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/activity#list-repositories-starred-by-the-authenticated-user" + }, + "parameters": [ + { "$ref": "#/components/parameters/sort" }, + { "$ref": "#/components/parameters/direction" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/repository" } + }, + "examples": { + "default-response": { + "$ref": "#/components/examples/repository-items-default-response" + } + } + }, + "application/vnd.github.v3.star+json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/starred-repository" } + }, + "examples": { + "alternative-response-with-star-creation-timestamps": { + "$ref": "#/components/examples/starred-repository-items-alternative-response-with-star-creation-timestamps" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "activity", + "subcategory": "starring" + }, + "x-octokit": {} + } + }, + "/user/starred/{owner}/{repo}": { + "get": { + "summary": "Check if a repository is starred by the authenticated user", + "description": "", + "tags": ["activity"], + "operationId": "activity/check-repo-is-starred-by-authenticated-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/activity#check-if-a-repository-is-starred-by-the-authenticated-user" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "responses": { + "204": { + "description": "Response if this repository is starred by you" + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { + "description": "Response if this repository is not starred by you", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/basic-error" } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "activity", + "subcategory": "starring" + }, + "x-octokit": {} + }, + "put": { + "summary": "Star a repository for the authenticated user", + "description": "Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs).\"", + "tags": ["activity"], + "operationId": "activity/star-repo-for-authenticated-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/activity#star-a-repository-for-the-authenticated-user" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "responses": { + "204": { "description": "Empty response" }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "activity", + "subcategory": "starring" + }, + "x-octokit": {} + }, + "delete": { + "summary": "Unstar a repository for the authenticated user", + "description": "", + "tags": ["activity"], + "operationId": "activity/unstar-repo-for-authenticated-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/activity#unstar-a-repository-for-the-authenticated-user" + }, + "parameters": [ + { "$ref": "#/components/parameters/owner" }, + { "$ref": "#/components/parameters/repo" } + ], + "responses": { + "204": { "description": "Empty response" }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "activity", + "subcategory": "starring" + }, + "x-octokit": {} + } + }, + "/user/subscriptions": { + "get": { + "summary": "List repositories watched by the authenticated user", + "description": "Lists repositories the authenticated user is watching.", + "tags": ["activity"], + "operationId": "activity/list-watched-repos-for-authenticated-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/activity#list-repositories-watched-by-the-authenticated-user" + }, + "parameters": [ + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/minimal-repository" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/minimal-repository-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "401": { "$ref": "#/components/responses/requires_authentication" }, + "403": { "$ref": "#/components/responses/forbidden" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "activity", + "subcategory": "watching" + }, + "x-octokit": {} + } + }, + "/user/teams": { + "get": { + "summary": "List teams for the authenticated user", + "description": "List all of the teams across all of the organizations to which the authenticated user belongs. This method requires `user`, `repo`, or `read:org` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/) when authenticating via [OAuth](https://docs.github.com/apps/building-oauth-apps/).", + "tags": ["teams"], + "operationId": "teams/list-for-authenticated-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/teams/#list-teams-for-the-authenticated-user" + }, + "parameters": [ + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/team-full" } + }, + "examples": { + "default": { "$ref": "#/components/examples/team-full-items" } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "304": { "$ref": "#/components/responses/not_modified" }, + "403": { "$ref": "#/components/responses/forbidden" }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "teams", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/users": { + "get": { + "summary": "List users", + "description": "Lists all users, in the order that they signed up on GitHub. This list includes personal user accounts and organization accounts.\n\nNote: Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of users.", + "tags": ["users"], + "operationId": "users/list", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/users/#list-users" + }, + "parameters": [ + { "$ref": "#/components/parameters/since-user" }, + { "$ref": "#/components/parameters/per_page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/simple-user" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/simple-user-items" + } + } + } + }, + "headers": { + "Link": { + "example": "; rel=\"next\"", + "schema": { "type": "string" } + } + } + }, + "304": { "$ref": "#/components/responses/not_modified" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "users", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/users/{username}": { + "get": { + "summary": "Get a user", + "description": "Provides publicly available information about someone with a GitHub account.\n\nGitHub Apps with the `Plan` user permission can use this endpoint to retrieve information about a user's GitHub plan. The GitHub App must be authenticated as a user. See \"[Identifying and authorizing users for GitHub Apps](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/)\" for details about authentication. For an example response, see 'Response with GitHub plan information' below\"\n\nThe `email` key in the following response is the publicly visible email address from your GitHub [profile page](https://github.com/settings/profile). When setting up your profile, you can select a primary email address to be “public” which provides an email entry for this endpoint. If you do not set a public email address for `email`, then it will have a value of `null`. You only see publicly visible email addresses when authenticated with GitHub. For more information, see [Authentication](https://docs.github.com/rest/overview/resources-in-the-rest-api#authentication).\n\nThe Emails API enables you to list all of your email addresses, and toggle a primary email to be visible publicly. For more information, see \"[Emails API](https://docs.github.com/rest/reference/users#emails)\".", + "tags": ["users"], + "operationId": "users/get-by-username", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/users/#get-a-user" + }, + "parameters": [{ "$ref": "#/components/parameters/username" }], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "oneOf": [ + { "$ref": "#/components/schemas/private-user" }, + { "$ref": "#/components/schemas/public-user" } + ] + }, + "examples": { + "default-response": { + "$ref": "#/components/examples/public-user-default-response" + }, + "response-with-git-hub-plan-information": { + "$ref": "#/components/examples/public-user-response-with-git-hub-plan-information" + } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "users", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/users/{username}/events": { + "get": { + "summary": "List events for the authenticated user", + "description": "If you are authenticated as the given user, you will see your private events. Otherwise, you'll only see public events.", + "tags": ["activity"], + "operationId": "activity/list-events-for-authenticated-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/activity#list-events-for-the-authenticated-user" + }, + "parameters": [ + { "$ref": "#/components/parameters/username" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/event" } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "activity", + "subcategory": "events" + }, + "x-octokit": {} + } + }, + "/users/{username}/events/orgs/{org}": { + "get": { + "summary": "List organization events for the authenticated user", + "description": "This is the user's organization dashboard. You must be authenticated as the user to view this.", + "tags": ["activity"], + "operationId": "activity/list-org-events-for-authenticated-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/activity#list-organization-events-for-the-authenticated-user" + }, + "parameters": [ + { "$ref": "#/components/parameters/username" }, + { "$ref": "#/components/parameters/org" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/event" } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "activity", + "subcategory": "events" + }, + "x-octokit": {} + } + }, + "/users/{username}/events/public": { + "get": { + "summary": "List public events for a user", + "description": "", + "tags": ["activity"], + "operationId": "activity/list-public-events-for-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/activity#list-public-events-for-a-user" + }, + "parameters": [ + { "$ref": "#/components/parameters/username" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/event" } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "activity", + "subcategory": "events" + }, + "x-octokit": {} + } + }, + "/users/{username}/followers": { + "get": { + "summary": "List followers of a user", + "description": "Lists the people following the specified user.", + "tags": ["users"], + "operationId": "users/list-followers-for-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/users#list-followers-of-a-user" + }, + "parameters": [ + { "$ref": "#/components/parameters/username" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/simple-user" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/simple-user-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "users", + "subcategory": "followers" + }, + "x-octokit": {} + } + }, + "/users/{username}/following": { + "get": { + "summary": "List the people a user follows", + "description": "Lists the people who the specified user follows.", + "tags": ["users"], + "operationId": "users/list-following-for-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/users#list-the-people-a-user-follows" + }, + "parameters": [ + { "$ref": "#/components/parameters/username" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/simple-user" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/simple-user-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "users", + "subcategory": "followers" + }, + "x-octokit": {} + } + }, + "/users/{username}/following/{target_user}": { + "get": { + "summary": "Check if a user follows another user", + "description": "", + "tags": ["users"], + "operationId": "users/check-following-for-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/users#check-if-a-user-follows-another-user" + }, + "parameters": [ + { "$ref": "#/components/parameters/username" }, + { + "name": "target_user", + "in": "path", + "required": true, + "schema": { "type": "string" } + } + ], + "responses": { + "204": { + "description": "Response if the user follows the target user" + }, + "404": { + "description": "Response if the user does not follow the target user" + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "users", + "subcategory": "followers" + }, + "x-octokit": {} + } + }, + "/users/{username}/gists": { + "get": { + "summary": "List gists for a user", + "description": "Lists public gists for the specified user:", + "tags": ["gists"], + "operationId": "gists/list-for-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/gists/#list-gists-for-a-user" + }, + "parameters": [ + { "$ref": "#/components/parameters/username" }, + { "$ref": "#/components/parameters/since" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/base-gist" } + }, + "examples": { + "default": { "$ref": "#/components/examples/base-gist-items" } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "gists", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/users/{username}/gpg_keys": { + "get": { + "summary": "List GPG keys for a user", + "description": "Lists the GPG keys for a user. This information is accessible by anyone.", + "tags": ["users"], + "operationId": "users/list-gpg-keys-for-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/users#list-gpg-keys-for-a-user" + }, + "parameters": [ + { "$ref": "#/components/parameters/username" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/gpg-key" } + }, + "examples": { + "default": { "$ref": "#/components/examples/gpg-key-items" } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "users", + "subcategory": "gpg-keys" + }, + "x-octokit": {} + } + }, + "/users/{username}/hovercard": { + "get": { + "summary": "Get contextual information for a user", + "description": "Provides hovercard information when authenticated through basic auth or OAuth with the `repo` scope. You can find out more about someone in relation to their pull requests, issues, repositories, and organizations.\n\nThe `subject_type` and `subject_id` parameters provide context for the person's hovercard, which returns more information than without the parameters. For example, if you wanted to find out more about `octocat` who owns the `Spoon-Knife` repository via cURL, it would look like this:\n\n```shell\n curl -u username:token\n https://api.github.com/users/octocat/hovercard?subject_type=repository&subject_id=1300192\n```", + "tags": ["users"], + "operationId": "users/get-context-for-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/users/#get-contextual-information-for-a-user" + }, + "parameters": [ + { "$ref": "#/components/parameters/username" }, + { + "name": "subject_type", + "description": "Identifies which additional information you'd like to receive about the person's hovercard. Can be `organization`, `repository`, `issue`, `pull_request`. **Required** when using `subject_id`.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["organization", "repository", "issue", "pull_request"] + } + }, + { + "name": "subject_id", + "description": "Uses the ID for the `subject_type` you specified. **Required** when using `subject_type`.", + "in": "query", + "required": false, + "schema": { "type": "string" } + } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/hovercard" }, + "examples": { + "default": { "$ref": "#/components/examples/hovercard" } + } + } + } + }, + "404": { "$ref": "#/components/responses/not_found" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "users", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/users/{username}/installation": { + "get": { + "summary": "Get a user installation for the authenticated app", + "description": "Enables an authenticated GitHub App to find the user’s installation information.\n\nYou must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.", + "tags": ["apps"], + "operationId": "apps/get-user-installation", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/apps/#get-a-user-installation-for-the-authenticated-app" + }, + "parameters": [{ "$ref": "#/components/parameters/username" }], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/installation" }, + "examples": { + "default": { "$ref": "#/components/examples/installation" } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "apps", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/users/{username}/keys": { + "get": { + "summary": "List public keys for a user", + "description": "Lists the _verified_ public SSH keys for a user. This is accessible by anyone.", + "tags": ["users"], + "operationId": "users/list-public-keys-for-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/users#list-public-keys-for-a-user" + }, + "parameters": [ + { "$ref": "#/components/parameters/username" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/key-simple" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/key-simple-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "users", + "subcategory": "keys" + }, + "x-octokit": {} + } + }, + "/users/{username}/orgs": { + "get": { + "summary": "List organizations for a user", + "description": "List [public organization memberships](https://help.github.com/articles/publicizing-or-concealing-organization-membership) for the specified user.\n\nThis method only lists _public_ memberships, regardless of authentication. If you need to fetch all of the organization memberships (public and private) for the authenticated user, use the [List organizations for the authenticated user](https://docs.github.com/rest/reference/orgs#list-organizations-for-the-authenticated-user) API instead.", + "tags": ["orgs"], + "operationId": "orgs/list-for-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/orgs/#list-organizations-for-a-user" + }, + "parameters": [ + { "$ref": "#/components/parameters/username" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/organization-simple" + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/organization-simple-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "orgs", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/users/{username}/projects": { + "get": { + "summary": "List user projects", + "description": "", + "tags": ["projects"], + "operationId": "projects/list-for-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/projects/#list-user-projects" + }, + "parameters": [ + { "$ref": "#/components/parameters/username" }, + { + "name": "state", + "description": "Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["open", "closed", "all"], + "default": "open" + } + }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/project" } + }, + "examples": { + "default": { "$ref": "#/components/examples/project-items-3" } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + }, + "415": { "$ref": "#/components/responses/preview_header_missing" }, + "422": { "$ref": "#/components/responses/validation_failed" } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [ + { + "required": true, + "name": "inertia", + "note": "The Projects API is currently available for developers to preview. During the preview period, the API may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2016-10-27-changes-to-projects-api) for full details. To access the API during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.inertia-preview+json\n```" + } + ], + "category": "projects", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/users/{username}/received_events": { + "get": { + "summary": "List events received by the authenticated user", + "description": "These are events that you've received by watching repos and following users. If you are authenticated as the given user, you will see private events. Otherwise, you'll only see public events.", + "tags": ["activity"], + "operationId": "activity/list-received-events-for-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/activity#list-events-received-by-the-authenticated-user" + }, + "parameters": [ + { "$ref": "#/components/parameters/username" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/event" } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "activity", + "subcategory": "events" + }, + "x-octokit": {} + } + }, + "/users/{username}/received_events/public": { + "get": { + "summary": "List public events received by a user", + "description": "", + "tags": ["activity"], + "operationId": "activity/list-received-public-events-for-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/activity#list-public-events-received-by-a-user" + }, + "parameters": [ + { "$ref": "#/components/parameters/username" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/event" } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "activity", + "subcategory": "events" + }, + "x-octokit": {} + } + }, + "/users/{username}/repos": { + "get": { + "summary": "List repositories for a user", + "description": "Lists public repositories for the specified user.", + "tags": ["repos"], + "operationId": "repos/list-for-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/repos/#list-repositories-for-a-user" + }, + "parameters": [ + { "$ref": "#/components/parameters/username" }, + { + "name": "type", + "description": "Can be one of `all`, `owner`, `member`.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["all", "owner", "member"], + "default": "owner" + } + }, + { + "name": "sort", + "description": "Can be one of `created`, `updated`, `pushed`, `full_name`.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["created", "updated", "pushed", "full_name"], + "default": "full_name" + } + }, + { + "name": "direction", + "description": "Can be one of `asc` or `desc`. Default: `asc` when using `full_name`, otherwise `desc`", + "in": "query", + "required": false, + "schema": { "type": "string", "enum": ["asc", "desc"] } + }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/minimal-repository" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/minimal-repository-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + { + "required": false, + "name": "nebula", + "note": "You can set the visibility of a repository using the new `visibility` parameter in the [Repositories API](https://docs.github.com/rest/reference/repos/), and get a repository's visibility with a new response key. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes/).\n\nTo access repository visibility during the preview period, you must provide a custom [media type](https://docs.github.com/rest/overview/media-types) in the `Accept` header:\n```shell\napplication/vnd.github.nebula-preview+json\n```" + } + ], + "category": "repos", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/users/{username}/settings/billing/actions": { + "get": { + "summary": "Get GitHub Actions billing for a user", + "description": "Gets the summary of the free and paid GitHub Actions minutes used.\n\nPaid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see \"[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)\".\n\nAccess tokens must have the `user` scope.", + "operationId": "billing/get-github-actions-billing-user", + "tags": ["billing"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/billing/#get-github-actions-billing-for-a-user" + }, + "parameters": [{ "$ref": "#/components/parameters/username" }], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/actions-billing-usage" + }, + "examples": { + "default": { + "$ref": "#/components/examples/actions-billing-usage" + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "billing", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/users/{username}/settings/billing/packages": { + "get": { + "summary": "Get GitHub Packages billing for a user", + "description": "Gets the free and paid storage used for GitHub Packages in gigabytes.\n\nPaid minutes only apply to packages stored for private repositories. For more information, see \"[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages).\"\n\nAccess tokens must have the `user` scope.", + "operationId": "billing/get-github-packages-billing-user", + "tags": ["billing"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/billing/#get-github-packages-billing-for-a-user" + }, + "parameters": [{ "$ref": "#/components/parameters/username" }], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/packages-billing-usage" + }, + "examples": { + "default": { + "$ref": "#/components/examples/packages-billing-usage" + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "billing", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/users/{username}/settings/billing/shared-storage": { + "get": { + "summary": "Get shared storage billing for a user", + "description": "Gets the estimated paid and estimated total storage used for GitHub Actions and Github Packages.\n\nPaid minutes only apply to packages stored for private repositories. For more information, see \"[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages).\"\n\nAccess tokens must have the `user` scope.", + "operationId": "billing/get-shared-storage-billing-user", + "tags": ["billing"], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/v3/billing/#get-shared-storage-billing-for-a-user" + }, + "parameters": [{ "$ref": "#/components/parameters/username" }], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/combined-billing-usage" + }, + "examples": { + "default": { + "$ref": "#/components/examples/combined-billing-usage" + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [], + "category": "billing", + "subcategory": null + }, + "x-octokit": {} + } + }, + "/users/{username}/starred": { + "get": { + "summary": "List repositories starred by a user", + "description": "Lists repositories a user has starred.\n\nYou can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header:", + "tags": ["activity"], + "operationId": "activity/list-repos-starred-by-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/activity#list-repositories-starred-by-a-user" + }, + "parameters": [ + { "$ref": "#/components/parameters/username" }, + { "$ref": "#/components/parameters/sort" }, + { "$ref": "#/components/parameters/direction" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/repository" } + }, + "examples": { + "default-response": { + "$ref": "#/components/examples/repository-items-default-response" + } + } + }, + "application/vnd.github.v3.star+json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/starred-repository" } + }, + "examples": { + "alternative-response-with-star-creation-timestamps": { + "$ref": "#/components/examples/starred-repository-items-alternative-response-with-star-creation-timestamps" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "activity", + "subcategory": "starring" + }, + "x-octokit": {} + } + }, + "/users/{username}/subscriptions": { + "get": { + "summary": "List repositories watched by a user", + "description": "Lists repositories a user is watching.", + "tags": ["activity"], + "operationId": "activity/list-repos-watched-by-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/activity#list-repositories-watched-by-a-user" + }, + "parameters": [ + { "$ref": "#/components/parameters/username" }, + { "$ref": "#/components/parameters/per_page" }, + { "$ref": "#/components/parameters/page" } + ], + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/minimal-repository" } + }, + "examples": { + "default": { + "$ref": "#/components/examples/minimal-repository-items" + } + } + } + }, + "headers": { "Link": { "$ref": "#/components/headers/link" } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "activity", + "subcategory": "watching" + }, + "x-octokit": {} + } + }, + "/zen": { + "get": { + "summary": "Get the Zen of GitHub", + "description": "Get a random sentence from the Zen of GitHub", + "tags": ["meta"], + "operationId": "meta/get-zen", + "responses": { + "200": { + "description": "response", + "content": { "text/plain": { "schema": { "type": "string" } } } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [], + "category": "meta" + }, + "x-octokit": {} + } + } + }, + "components": { + "schemas": { + "simple-user": { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "login": { "type": "string", "example": "octocat" }, + "id": { "type": "integer", "example": 1 }, + "node_id": { "type": "string", "example": "MDQ6VXNlcjE=" }, + "avatar_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/images/error/octocat_happy.gif" + }, + "gravatar_id": { "type": "string", "example": "", "nullable": true }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat" + }, + "followers_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/followers" + }, + "following_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/following{/other_user}" + }, + "gists_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/gists{/gist_id}" + }, + "starred_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/starred{/owner}{/repo}" + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/subscriptions" + }, + "organizations_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/orgs" + }, + "repos_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/repos" + }, + "events_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/events{/privacy}" + }, + "received_events_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/received_events" + }, + "type": { "type": "string", "example": "User" }, + "site_admin": { "type": "boolean" }, + "starred_at": { + "type": "string", + "example": "\"2020-07-09T00:17:55Z\"" + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ], + "nullable": true + }, + "integration": { + "title": "GitHub app", + "description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the GitHub app", + "example": 37, + "type": "integer" + }, + "slug": { + "description": "The slug name of the GitHub app", + "example": "probot-owners", + "type": "string" + }, + "node_id": { + "type": "string", + "example": "MDExOkludGVncmF0aW9uMQ==" + }, + "owner": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + }, + "name": { + "description": "The name of the GitHub app", + "example": "Probot Owners", + "type": "string" + }, + "description": { "type": "string", "example": "", "nullable": true }, + "external_url": { + "type": "string", + "format": "uri", + "example": "https://example.com" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/apps/super-ci" + }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2017-07-08T16:18:44-04:00" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "example": "2017-07-08T16:18:44-04:00" + }, + "permissions": { + "description": "The set of permissions for the GitHub app", + "type": "object", + "properties": { + "issues": { "type": "string" }, + "checks": { "type": "string" }, + "metadata": { "type": "string" }, + "contents": { "type": "string" }, + "deployments": { "type": "string" } + }, + "additionalProperties": { "type": "string" }, + "example": { "issues": "read", "deployments": "write" } + }, + "events": { + "description": "The list of events for the GitHub app", + "example": ["label", "deployment"], + "type": "array", + "items": { "type": "string" } + }, + "installations_count": { + "description": "The number of installations associated with the GitHub app", + "example": 5, + "type": "integer" + }, + "client_id": { + "type": "string", + "example": "\"Iv1.25b5d1e65ffc4022\"" + }, + "client_secret": { + "type": "string", + "example": "\"1d4b2097ac622ba702d19de498f005747a8b21d3\"" + }, + "webhook_secret": { + "type": "string", + "example": "\"6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b\"" + }, + "pem": { + "type": "string", + "example": "\"-----BEGIN RSA PRIVATE KEY-----\\nMIIEogIBAAKCAQEArYxrNYD/iT5CZVpRJu4rBKmmze3PVmT/gCo2ATUvDvZTPTey\\nxcGJ3vvrJXazKk06pN05TN29o98jrYz4cengG3YGsXPNEpKsIrEl8NhbnxapEnM9\\nJCMRe0P5JcPsfZlX6hmiT7136GRWiGOUba2X9+HKh8QJVLG5rM007TBER9/z9mWm\\nrJuNh+m5l320oBQY/Qq3A7wzdEfZw8qm/mIN0FCeoXH1L6B8xXWaAYBwhTEh6SSn\\nZHlO1Xu1JWDmAvBCi0RO5aRSKM8q9QEkvvHP4yweAtK3N8+aAbZ7ovaDhyGz8r6r\\nzhU1b8Uo0Z2ysf503WqzQgIajr7Fry7/kUwpgQIDAQABAoIBADwJp80Ko1xHPZDy\\nfcCKBDfIuPvkmSW6KumbsLMaQv1aGdHDwwTGv3t0ixSay8CGlxMRtRDyZPib6SvQ\\n6OH/lpfpbMdW2ErkksgtoIKBVrDilfrcAvrNZu7NxRNbhCSvN8q0s4ICecjbbVQh\\nnueSdlA6vGXbW58BHMq68uRbHkP+k+mM9U0mDJ1HMch67wlg5GbayVRt63H7R2+r\\nVxcna7B80J/lCEjIYZznawgiTvp3MSanTglqAYi+m1EcSsP14bJIB9vgaxS79kTu\\noiSo93leJbBvuGo8QEiUqTwMw4tDksmkLsoqNKQ1q9P7LZ9DGcujtPy4EZsamSJT\\ny8OJt0ECgYEA2lxOxJsQk2kI325JgKFjo92mQeUObIvPfSNWUIZQDTjniOI6Gv63\\nGLWVFrZcvQBWjMEQraJA9xjPbblV8PtfO87MiJGLWCHFxmPz2dzoedN+2Coxom8m\\nV95CLz8QUShuao6u/RYcvUaZEoYs5bHcTmy5sBK80JyEmafJPtCQVxMCgYEAy3ar\\nZr3yv4xRPEPMat4rseswmuMooSaK3SKub19WFI5IAtB/e7qR1Rj9JhOGcZz+OQrl\\nT78O2OFYlgOIkJPvRMrPpK5V9lslc7tz1FSh3BZMRGq5jSyD7ETSOQ0c8T2O/s7v\\nbeEPbVbDe4mwvM24XByH0GnWveVxaDl51ABD65sCgYB3ZAspUkOA5egVCh8kNpnd\\nSd6SnuQBE3ySRlT2WEnCwP9Ph6oPgn+oAfiPX4xbRqkL8q/k0BdHQ4h+zNwhk7+h\\nWtPYRAP1Xxnc/F+jGjb+DVaIaKGU18MWPg7f+FI6nampl3Q0KvfxwX0GdNhtio8T\\nTj1E+SnFwh56SRQuxSh2gwKBgHKjlIO5NtNSflsUYFM+hyQiPiqnHzddfhSG+/3o\\nm5nNaSmczJesUYreH5San7/YEy2UxAugvP7aSY2MxB+iGsiJ9WD2kZzTUlDZJ7RV\\nUzWsoqBR+eZfVJ2FUWWvy8TpSG6trh4dFxImNtKejCR1TREpSiTV3Zb1dmahK9GV\\nrK9NAoGAbBxRLoC01xfxCTgt5BDiBcFVh4fp5yYKwavJPLzHSpuDOrrI9jDn1oKN\\nonq5sDU1i391zfQvdrbX4Ova48BN+B7p63FocP/MK5tyyBoT8zQEk2+vWDOw7H/Z\\nu5dTCPxTIsoIwUw1I+7yIxqJzLPFgR2gVBwY1ra/8iAqCj+zeBw=\\n-----END RSA PRIVATE KEY-----\\n\"" + } + }, + "required": [ + "id", + "node_id", + "owner", + "name", + "description", + "external_url", + "html_url", + "created_at", + "updated_at", + "permissions", + "events" + ], + "additionalProperties": true + }, + "basic-error": { + "title": "Basic Error", + "description": "Basic Error", + "type": "object", + "properties": { + "message": { "type": "string" }, + "documentation_url": { "type": "string" } + } + }, + "validation-error-simple": { + "title": "Validation Error Simple", + "description": "Validation Error Simple", + "type": "object", + "required": ["message", "documentation_url"], + "properties": { + "message": { "type": "string" }, + "documentation_url": { "type": "string" }, + "errors": { "type": "array", "items": { "type": "string" } } + } + }, + "webhook-config-url": { + "type": "string", + "description": "The URL to which the payloads will be delivered.", + "example": "https://example.com/webhook", + "format": "uri" + }, + "webhook-config-content-type": { + "type": "string", + "description": "The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`.", + "example": "\"json\"" + }, + "webhook-config-secret": { + "type": "string", + "description": "If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value for [delivery signature headers](https://docs.github.com/webhooks/event-payloads/#delivery-headers).", + "example": "\"********\"" + }, + "webhook-config-insecure-ssl": { + "type": "string", + "description": "Determines whether the SSL certificate of the host for `url` will be verified when delivering payloads. Supported values include `0` (verification is performed) and `1` (verification is not performed). The default is `0`. **We strongly recommend not setting this to `1` as you are subject to man-in-the-middle and other attacks.**", + "example": "\"0\"" + }, + "webhook-config": { + "title": "Webhook Configuration", + "description": "Configuration object of the webhook", + "type": "object", + "properties": { + "url": { "$ref": "#/components/schemas/webhook-config-url" }, + "content_type": { + "$ref": "#/components/schemas/webhook-config-content-type" + }, + "secret": { "$ref": "#/components/schemas/webhook-config-secret" }, + "insecure_ssl": { + "$ref": "#/components/schemas/webhook-config-insecure-ssl" + } + } + }, + "enterprise": { + "title": "Enterprise", + "description": "An enterprise account", + "type": "object", + "properties": { + "description": { + "description": "A short description of the enterprise.", + "type": "string", + "nullable": true + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/enterprises/octo-business" + }, + "website_url": { + "description": "The enterprise's website URL.", + "type": "string", + "nullable": true, + "format": "uri" + }, + "id": { + "description": "Unique identifier of the enterprise", + "example": 42, + "type": "integer" + }, + "node_id": { + "type": "string", + "example": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5" + }, + "name": { + "description": "The name of the enterprise.", + "type": "string", + "example": "Octo Business" + }, + "slug": { + "description": "The slug url identifier for the enterprise.", + "type": "string", + "example": "octo-business" + }, + "created_at": { + "type": "string", + "nullable": true, + "format": "date-time", + "example": "2019-01-26T19:01:12Z" + }, + "updated_at": { + "type": "string", + "nullable": true, + "format": "date-time", + "example": "2019-01-26T19:14:43Z" + }, + "avatar_url": { "type": "string", "format": "uri" } + }, + "required": [ + "id", + "node_id", + "name", + "slug", + "html_url", + "created_at", + "updated_at", + "avatar_url" + ] + }, + "installation": { + "title": "Installation", + "description": "Installation", + "type": "object", + "properties": { + "id": { + "description": "The ID of the installation.", + "type": "integer", + "example": 1 + }, + "account": { + "nullable": true, + "anyOf": [ + { "$ref": "#/components/schemas/simple-user" }, + { "$ref": "#/components/schemas/enterprise" } + ] + }, + "repository_selection": { + "description": "Describe whether all repositories have been selected or there's a selection involved", + "type": "string", + "enum": ["all", "selected"] + }, + "access_tokens_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/installations/1/access_tokens" + }, + "repositories_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/installation/repositories" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/organizations/github/settings/installations/1" + }, + "app_id": { "type": "integer", "example": 1 }, + "target_id": { + "description": "The ID of the user or organization this token is being scoped to.", + "type": "integer" + }, + "target_type": { "type": "string", "example": "Organization" }, + "permissions": { + "type": "object", + "example": { "issues": "read", "deployments": "write" }, + "properties": { + "deployments": { "type": "string" }, + "checks": { "type": "string" }, + "metadata": { "type": "string" }, + "contents": { "type": "string" }, + "pull_requests": { "type": "string" }, + "statuses": { "type": "string" }, + "issues": { "type": "string", "example": "\"read\"" }, + "organization_administration": { + "type": "string", + "example": "\"read\"" + } + } + }, + "events": { "type": "array", "items": { "type": "string" } }, + "created_at": { "type": "string", "format": "date-time" }, + "updated_at": { "type": "string", "format": "date-time" }, + "single_file_name": { + "type": "string", + "example": "config.yaml", + "nullable": true + }, + "has_multiple_single_files": { "type": "boolean", "example": true }, + "single_file_paths": { + "type": "array", + "items": { + "type": "string", + "example": ["config.yml", ".github/issue_TEMPLATE.md"] + } + }, + "app_slug": { "type": "string", "example": "github-actions" }, + "suspended_by": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + }, + "suspended_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "contact_email": { + "type": "string", + "example": "\"test_13f1e99741e3e004@d7e1eb0bc0a1ba12.com\"", + "nullable": true + } + }, + "required": [ + "id", + "app_id", + "app_slug", + "target_id", + "target_type", + "single_file_name", + "repository_selection", + "access_tokens_url", + "html_url", + "repositories_url", + "events", + "account", + "permissions", + "created_at", + "updated_at" + ] + }, + "license-simple": { + "title": "License Simple", + "description": "License Simple", + "type": "object", + "properties": { + "key": { "type": "string", "example": "mit" }, + "name": { "type": "string", "example": "MIT License" }, + "url": { + "type": "string", + "nullable": true, + "format": "uri", + "example": "https://api.github.com/licenses/mit" + }, + "spdx_id": { "type": "string", "nullable": true, "example": "MIT" }, + "node_id": { "type": "string", "example": "MDc6TGljZW5zZW1pdA==" }, + "html_url": { "type": "string", "format": "uri" } + }, + "required": ["key", "name", "url", "spdx_id", "node_id"] + }, + "repository": { + "title": "Repository", + "description": "A git repository", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the repository", + "example": 42, + "type": "integer" + }, + "node_id": { + "type": "string", + "example": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5" + }, + "name": { + "description": "The name of the repository.", + "type": "string", + "example": "Team Environment" + }, + "full_name": { "type": "string", "example": "octocat/Hello-World" }, + "license": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/license-simple" }] + }, + "forks": { "type": "integer" }, + "permissions": { + "type": "object", + "properties": { + "admin": { "type": "boolean" }, + "pull": { "type": "boolean" }, + "triage": { "type": "boolean" }, + "push": { "type": "boolean" }, + "maintain": { "type": "boolean" } + }, + "required": ["admin", "pull", "push"] + }, + "owner": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + }, + "private": { + "description": "Whether the repository is private or public.", + "default": false, + "type": "boolean" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat/Hello-World" + }, + "description": { + "type": "string", + "example": "This your first repo!", + "nullable": true + }, + "fork": { "type": "boolean" }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World" + }, + "archive_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}" + }, + "assignees_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/assignees{/user}" + }, + "blobs_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}" + }, + "branches_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/branches{/branch}" + }, + "collaborators_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}" + }, + "comments_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/comments{/number}" + }, + "commits_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/commits{/sha}" + }, + "compare_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}" + }, + "contents_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/contents/{+path}" + }, + "contributors_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/contributors" + }, + "deployments_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/deployments" + }, + "downloads_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/downloads" + }, + "events_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/events" + }, + "forks_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/forks" + }, + "git_commits_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/commits{/sha}" + }, + "git_refs_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/refs{/sha}" + }, + "git_tags_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/tags{/sha}" + }, + "git_url": { + "type": "string", + "example": "git:github.com/octocat/Hello-World.git" + }, + "issue_comment_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues/comments{/number}" + }, + "issue_events_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues/events{/number}" + }, + "issues_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues{/number}" + }, + "keys_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/keys{/key_id}" + }, + "labels_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/labels{/name}" + }, + "languages_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/languages" + }, + "merges_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/merges" + }, + "milestones_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/milestones{/number}" + }, + "notifications_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}" + }, + "pulls_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/pulls{/number}" + }, + "releases_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/releases{/id}" + }, + "ssh_url": { + "type": "string", + "example": "git@github.com:octocat/Hello-World.git" + }, + "stargazers_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/stargazers" + }, + "statuses_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/statuses/{sha}" + }, + "subscribers_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/subscribers" + }, + "subscription_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/subscription" + }, + "tags_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/tags" + }, + "teams_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/teams" + }, + "trees_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/trees{/sha}" + }, + "clone_url": { + "type": "string", + "example": "https://github.com/octocat/Hello-World.git" + }, + "mirror_url": { + "type": "string", + "format": "uri", + "example": "git:git.example.com/octocat/Hello-World", + "nullable": true + }, + "hooks_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/hooks" + }, + "svn_url": { + "type": "string", + "format": "uri", + "example": "https://svn.github.com/octocat/Hello-World" + }, + "homepage": { + "type": "string", + "format": "uri", + "example": "https://github.com", + "nullable": true + }, + "language": { "type": "string", "nullable": true }, + "forks_count": { "type": "integer", "example": 9 }, + "stargazers_count": { "type": "integer", "example": 80 }, + "watchers_count": { "type": "integer", "example": 80 }, + "size": { "type": "integer", "example": 108 }, + "default_branch": { + "description": "The default branch of the repository.", + "type": "string", + "example": "master" + }, + "open_issues_count": { "type": "integer", "example": 0 }, + "is_template": { + "description": "Whether this repository acts as a template that can be used to generate new repositories.", + "default": false, + "type": "boolean", + "example": true + }, + "topics": { "type": "array", "items": { "type": "string" } }, + "has_issues": { + "description": "Whether issues are enabled.", + "default": true, + "type": "boolean", + "example": true + }, + "has_projects": { + "description": "Whether projects are enabled.", + "default": true, + "type": "boolean", + "example": true + }, + "has_wiki": { + "description": "Whether the wiki is enabled.", + "default": true, + "type": "boolean", + "example": true + }, + "has_pages": { "type": "boolean" }, + "has_downloads": { + "description": "Whether downloads are enabled.", + "default": true, + "type": "boolean", + "example": true + }, + "archived": { + "description": "Whether the repository is archived.", + "default": false, + "type": "boolean" + }, + "disabled": { + "type": "boolean", + "description": "Returns whether or not this repository disabled." + }, + "visibility": { + "description": "The repository visibility: public, private, or internal.", + "default": "public", + "type": "string" + }, + "pushed_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:06:43Z", + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:01:12Z", + "nullable": true + }, + "updated_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:14:43Z", + "nullable": true + }, + "allow_rebase_merge": { + "description": "Whether to allow rebase merges for pull requests.", + "default": true, + "type": "boolean", + "example": true + }, + "template_repository": { + "type": "object", + "nullable": true, + "properties": { + "id": { "type": "integer" }, + "node_id": { "type": "string" }, + "name": { "type": "string" }, + "full_name": { "type": "string" }, + "owner": { + "type": "object", + "properties": { + "login": { "type": "string" }, + "id": { "type": "integer" }, + "node_id": { "type": "string" }, + "avatar_url": { "type": "string" }, + "gravatar_id": { "type": "string" }, + "url": { "type": "string" }, + "html_url": { "type": "string" }, + "followers_url": { "type": "string" }, + "following_url": { "type": "string" }, + "gists_url": { "type": "string" }, + "starred_url": { "type": "string" }, + "subscriptions_url": { "type": "string" }, + "organizations_url": { "type": "string" }, + "repos_url": { "type": "string" }, + "events_url": { "type": "string" }, + "received_events_url": { "type": "string" }, + "type": { "type": "string" }, + "site_admin": { "type": "boolean" } + } + }, + "private": { "type": "boolean" }, + "html_url": { "type": "string" }, + "description": { "type": "string" }, + "fork": { "type": "boolean" }, + "url": { "type": "string" }, + "archive_url": { "type": "string" }, + "assignees_url": { "type": "string" }, + "blobs_url": { "type": "string" }, + "branches_url": { "type": "string" }, + "collaborators_url": { "type": "string" }, + "comments_url": { "type": "string" }, + "commits_url": { "type": "string" }, + "compare_url": { "type": "string" }, + "contents_url": { "type": "string" }, + "contributors_url": { "type": "string" }, + "deployments_url": { "type": "string" }, + "downloads_url": { "type": "string" }, + "events_url": { "type": "string" }, + "forks_url": { "type": "string" }, + "git_commits_url": { "type": "string" }, + "git_refs_url": { "type": "string" }, + "git_tags_url": { "type": "string" }, + "git_url": { "type": "string" }, + "issue_comment_url": { "type": "string" }, + "issue_events_url": { "type": "string" }, + "issues_url": { "type": "string" }, + "keys_url": { "type": "string" }, + "labels_url": { "type": "string" }, + "languages_url": { "type": "string" }, + "merges_url": { "type": "string" }, + "milestones_url": { "type": "string" }, + "notifications_url": { "type": "string" }, + "pulls_url": { "type": "string" }, + "releases_url": { "type": "string" }, + "ssh_url": { "type": "string" }, + "stargazers_url": { "type": "string" }, + "statuses_url": { "type": "string" }, + "subscribers_url": { "type": "string" }, + "subscription_url": { "type": "string" }, + "tags_url": { "type": "string" }, + "teams_url": { "type": "string" }, + "trees_url": { "type": "string" }, + "clone_url": { "type": "string" }, + "mirror_url": { "type": "string" }, + "hooks_url": { "type": "string" }, + "svn_url": { "type": "string" }, + "homepage": { "type": "string" }, + "language": { "type": "string" }, + "forks_count": { "type": "integer" }, + "stargazers_count": { "type": "integer" }, + "watchers_count": { "type": "integer" }, + "size": { "type": "integer" }, + "default_branch": { "type": "string" }, + "open_issues_count": { "type": "integer" }, + "is_template": { "type": "boolean" }, + "topics": { "type": "array", "items": { "type": "string" } }, + "has_issues": { "type": "boolean" }, + "has_projects": { "type": "boolean" }, + "has_wiki": { "type": "boolean" }, + "has_pages": { "type": "boolean" }, + "has_downloads": { "type": "boolean" }, + "archived": { "type": "boolean" }, + "disabled": { "type": "boolean" }, + "visibility": { "type": "string" }, + "pushed_at": { "type": "string" }, + "created_at": { "type": "string" }, + "updated_at": { "type": "string" }, + "permissions": { + "type": "object", + "properties": { + "admin": { "type": "boolean" }, + "push": { "type": "boolean" }, + "pull": { "type": "boolean" } + } + }, + "allow_rebase_merge": { "type": "boolean" }, + "template_repository": { "type": "string" }, + "temp_clone_token": { "type": "string" }, + "allow_squash_merge": { "type": "boolean" }, + "delete_branch_on_merge": { "type": "boolean" }, + "allow_merge_commit": { "type": "boolean" }, + "subscribers_count": { "type": "integer" }, + "network_count": { "type": "integer" } + } + }, + "temp_clone_token": { "type": "string" }, + "allow_squash_merge": { + "description": "Whether to allow squash merges for pull requests.", + "default": true, + "type": "boolean", + "example": true + }, + "delete_branch_on_merge": { + "description": "Whether to delete head branches when pull requests are merged", + "default": false, + "type": "boolean", + "example": false + }, + "allow_merge_commit": { + "description": "Whether to allow merge commits for pull requests.", + "default": true, + "type": "boolean", + "example": true + }, + "subscribers_count": { "type": "integer" }, + "network_count": { "type": "integer" }, + "open_issues": { "type": "integer" }, + "watchers": { "type": "integer" }, + "master_branch": { "type": "string" }, + "starred_at": { + "type": "string", + "example": "\"2020-07-09T00:17:42Z\"" + } + }, + "required": [ + "archive_url", + "assignees_url", + "blobs_url", + "branches_url", + "collaborators_url", + "comments_url", + "commits_url", + "compare_url", + "contents_url", + "contributors_url", + "deployments_url", + "description", + "downloads_url", + "events_url", + "fork", + "forks_url", + "full_name", + "git_commits_url", + "git_refs_url", + "git_tags_url", + "hooks_url", + "html_url", + "id", + "node_id", + "issue_comment_url", + "issue_events_url", + "issues_url", + "keys_url", + "labels_url", + "languages_url", + "merges_url", + "milestones_url", + "name", + "notifications_url", + "owner", + "private", + "pulls_url", + "releases_url", + "stargazers_url", + "statuses_url", + "subscribers_url", + "subscription_url", + "tags_url", + "teams_url", + "trees_url", + "url", + "clone_url", + "default_branch", + "forks", + "forks_count", + "git_url", + "has_downloads", + "has_issues", + "has_projects", + "has_wiki", + "has_pages", + "homepage", + "language", + "archived", + "disabled", + "mirror_url", + "open_issues", + "open_issues_count", + "license", + "pushed_at", + "size", + "ssh_url", + "stargazers_count", + "svn_url", + "watchers", + "watchers_count", + "created_at", + "updated_at" + ] + }, + "installation-token": { + "title": "Installation Token", + "description": "Authentication token for a GitHub App installed on a user or org.", + "type": "object", + "properties": { + "token": { "type": "string" }, + "expires_at": { "type": "string" }, + "permissions": { + "type": "object", + "properties": { + "issues": { "type": "string" }, + "contents": { "type": "string" }, + "metadata": { "type": "string", "example": "read" }, + "single_file": { "type": "string", "example": "read" } + } + }, + "repository_selection": { + "type": "string", + "enum": ["all", "selected"] + }, + "repositories": { + "type": "array", + "items": { "$ref": "#/components/schemas/repository" } + }, + "single_file": { "type": "string", "example": "README.md" }, + "has_multiple_single_files": { "type": "boolean", "example": true }, + "single_file_paths": { + "type": "array", + "items": { + "type": "string", + "example": ["config.yml", ".github/issue_TEMPLATE.md"] + } + } + } + }, + "validation-error": { + "title": "Validation Error", + "description": "Validation Error", + "type": "object", + "required": ["message", "documentation_url"], + "properties": { + "message": { "type": "string" }, + "documentation_url": { "type": "string" }, + "errors": { + "type": "array", + "items": { + "type": "object", + "required": ["code"], + "properties": { + "resource": { "type": "string" }, + "field": { "type": "string" }, + "message": { "type": "string" }, + "code": { "type": "string" }, + "index": { "type": "integer" }, + "value": { + "oneOf": [ + { "type": "string", "nullable": true }, + { "type": "integer", "nullable": true }, + { + "type": "array", + "nullable": true, + "items": { "type": "string" } + } + ] + } + } + } + } + } + }, + "application-grant": { + "title": "Application Grant", + "description": "The authorization associated with an OAuth Access.", + "type": "object", + "properties": { + "id": { "type": "integer", "example": 1 }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/applications/grants/1" + }, + "app": { + "type": "object", + "properties": { + "client_id": { "type": "string" }, + "name": { "type": "string" }, + "url": { "type": "string", "format": "uri" } + }, + "required": ["client_id", "name", "url"] + }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2011-09-06T17:26:27Z" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "example": "2011-09-06T20:39:23Z" + }, + "scopes": { + "type": "array", + "items": { "type": "string" }, + "example": ["public_repo"] + }, + "user": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + } + }, + "required": ["app", "id", "scopes", "url", "created_at", "updated_at"] + }, + "scoped-installation": { + "title": "Scoped Installation", + "type": "object", + "properties": { + "permissions": { + "type": "object", + "example": { "issues": "read", "deployments": "write" } + }, + "repository_selection": { + "description": "Describe whether all repositories have been selected or there's a selection involved", + "type": "string", + "enum": ["all", "selected"] + }, + "single_file_name": { + "type": "string", + "example": "config.yaml", + "nullable": true + }, + "has_multiple_single_files": { "type": "boolean", "example": true }, + "single_file_paths": { + "type": "array", + "items": { + "type": "string", + "example": ["config.yml", ".github/issue_TEMPLATE.md"] + } + }, + "repositories_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/repos" + }, + "account": { "$ref": "#/components/schemas/simple-user" } + }, + "required": [ + "permissions", + "repository_selection", + "single_file_name", + "repositories_url", + "account" + ] + }, + "authorization": { + "title": "Authorization", + "description": "The authorization for an OAuth app, GitHub App, or a Personal Access Token.", + "type": "object", + "properties": { + "id": { "type": "integer", "example": 1 }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/authorizations/1" + }, + "scopes": { + "description": "A list of scopes that this authorization is in.", + "type": "array", + "items": { "type": "string" }, + "example": ["public_repo", "user"], + "nullable": true + }, + "token": { "type": "string", "example": "" }, + "token_last_eight": { + "type": "string", + "example": "12345678", + "nullable": true + }, + "hashed_token": { + "type": "string", + "example": "25f94a2a5c7fbaf499c665bc73d67c1c87e496da8985131633ee0a95819db2e8", + "nullable": true + }, + "app": { + "type": "object", + "properties": { + "client_id": { "type": "string" }, + "name": { "type": "string" }, + "url": { "type": "string", "format": "uri" } + }, + "required": ["client_id", "name", "url"] + }, + "note": { + "type": "string", + "example": "optional note", + "nullable": true + }, + "note_url": { + "type": "string", + "format": "uri", + "example": "http://optional/note/url", + "nullable": true + }, + "updated_at": { + "type": "string", + "format": "date-time", + "example": "2011-09-06T20:39:23Z" + }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2011-09-06T17:26:27Z" + }, + "fingerprint": { + "type": "string", + "example": "jklmnop12345678", + "nullable": true + }, + "user": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + }, + "installation": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/scoped-installation" }] + } + }, + "required": [ + "app", + "id", + "note", + "note_url", + "scopes", + "token", + "hashed_token", + "token_last_eight", + "fingerprint", + "url", + "created_at", + "updated_at" + ] + }, + "code-of-conduct": { + "title": "Code Of Conduct", + "description": "Code Of Conduct", + "type": "object", + "properties": { + "key": { "type": "string", "example": "contributor_covenant" }, + "name": { "type": "string", "example": "Contributor Covenant" }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/codes_of_conduct/contributor_covenant" + }, + "body": { + "type": "string", + "example": "# Contributor Covenant Code of Conduct\n\n## Our Pledge\n\nIn the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.\n\n## Our Standards\n\nExamples of behavior that contributes to creating a positive environment include:\n\n* Using welcoming and inclusive language\n* Being respectful of differing viewpoints and experiences\n* Gracefully accepting constructive criticism\n* Focusing on what is best for the community\n* Showing empathy towards other community members\n\nExamples of unacceptable behavior by participants include:\n\n* The use of sexualized language or imagery and unwelcome sexual attention or advances\n* Trolling, insulting/derogatory comments, and personal or political attacks\n* Public or private harassment\n* Publishing others' private information, such as a physical or electronic address, without explicit permission\n* Other conduct which could reasonably be considered inappropriate in a professional setting\n\n## Our Responsibilities\n\nProject maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response\n to any instances of unacceptable behavior.\n\nProject maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.\n\n## Scope\n\nThis Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address,\n posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.\n\n## Enforcement\n\nInstances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [EMAIL]. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.\n\nProject maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.\n\n## Attribution\n\nThis Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]\n\n[homepage]: http://contributor-covenant.org\n[version]: http://contributor-covenant.org/version/1/4/\n" + }, + "html_url": { "type": "string", "format": "uri", "nullable": true } + }, + "required": ["url", "html_url", "key", "name"] + }, + "content-reference-attachment": { + "title": "ContentReferenceAttachment", + "description": "Content Reference attachments allow you to provide context around URLs posted in comments", + "type": "object", + "properties": { + "id": { + "description": "The ID of the attachment", + "example": 21, + "type": "integer" + }, + "title": { + "description": "The title of the attachment", + "example": "Title of the attachment", + "type": "string", + "maxLength": 1024 + }, + "body": { + "description": "The body of the attachment", + "example": "Body of the attachment", + "type": "string", + "maxLength": 262144 + }, + "node_id": { + "description": "The node_id of the content attachment", + "example": "MDE3OkNvbnRlbnRBdHRhY2htZW50MjE=", + "type": "string" + } + }, + "required": ["id", "title", "body"] + }, + "enabled-organizations": { + "type": "string", + "description": "The policy that controls the organizations in the enterprise that are allowed to run GitHub Actions. Can be one of: `all`, `none`, or `selected`.", + "enum": ["all", "none", "selected"] + }, + "allowed-actions": { + "type": "string", + "description": "The permissions policy that controls the actions that are allowed to run. Can be one of: `all`, `local_only`, or `selected`.", + "enum": ["all", "local_only", "selected"] + }, + "selected-actions-url": { + "type": "string", + "description": "The API URL to use to get or set the actions that are allowed to run, when `allowed_actions` is set to `selected`." + }, + "actions-enterprise-permissions": { + "type": "object", + "properties": { + "enabled_organizations": { + "$ref": "#/components/schemas/enabled-organizations" + }, + "selected_organizations_url": { + "type": "string", + "description": "The API URL to use to get or set the selected organizations that are allowed to run GitHub Actions, when `enabled_organizations` is set to `selected`." + }, + "allowed_actions": { "$ref": "#/components/schemas/allowed-actions" }, + "selected_actions_url": { + "$ref": "#/components/schemas/selected-actions-url" + } + } + }, + "organization-simple": { + "title": "Organization Simple", + "description": "Organization Simple", + "type": "object", + "properties": { + "login": { "type": "string", "example": "github" }, + "id": { "type": "integer", "example": 1 }, + "node_id": { + "type": "string", + "example": "MDEyOk9yZ2FuaXphdGlvbjE=" + }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/orgs/github" + }, + "repos_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/orgs/github/repos" + }, + "events_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/orgs/github/events" + }, + "hooks_url": { + "type": "string", + "example": "https://api.github.com/orgs/github/hooks" + }, + "issues_url": { + "type": "string", + "example": "https://api.github.com/orgs/github/issues" + }, + "members_url": { + "type": "string", + "example": "https://api.github.com/orgs/github/members{/member}" + }, + "public_members_url": { + "type": "string", + "example": "https://api.github.com/orgs/github/public_members{/member}" + }, + "avatar_url": { + "type": "string", + "example": "https://github.com/images/error/octocat_happy.gif" + }, + "description": { + "type": "string", + "example": "A great organization", + "nullable": true + } + }, + "required": [ + "login", + "url", + "id", + "node_id", + "repos_url", + "events_url", + "hooks_url", + "issues_url", + "members_url", + "public_members_url", + "avatar_url", + "description" + ] + }, + "selected-actions": { + "type": "object", + "properties": { + "github_owned_allowed": { + "type": "boolean", + "description": "Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization." + }, + "verified_allowed": { + "type": "boolean", + "description": "Whether actions in GitHub Marketplace from verified creators are allowed. Set to `true` to allow all GitHub Marketplace actions by verified creators." + }, + "patterns_allowed": { + "type": "array", + "description": "Specifies a list of string-matching patterns to allow specific action(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`.\"", + "items": { "type": "string" } + } + } + }, + "runner-groups-enterprise": { + "type": "object", + "properties": { + "id": { "type": "number" }, + "name": { "type": "string" }, + "visibility": { "type": "string" }, + "default": { "type": "boolean" }, + "selected_organizations_url": { "type": "string" }, + "runners_url": { "type": "string" } + } + }, + "runner": { + "title": "Self hosted runners", + "description": "A self hosted runner", + "type": "object", + "properties": { + "id": { + "description": "The id of the runner.", + "type": "integer", + "example": 5 + }, + "name": { + "description": "The name of the runner.", + "type": "string", + "example": "iMac" + }, + "os": { + "description": "The Operating System of the runner.", + "type": "string", + "example": "macos" + }, + "status": { + "description": "The status of the runner.", + "type": "string", + "example": "online" + }, + "busy": { "type": "boolean" }, + "labels": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Unique identifier of the label." + }, + "name": { + "type": "string", + "description": "Name of the label." + }, + "type": { + "type": "string", + "description": "The type of label. Read-only labels are applied automatically when the runner is configured.", + "enum": ["read-only", "custom"] + } + } + } + } + }, + "required": ["id", "name", "os", "status", "busy", "labels"] + }, + "runner-application": { + "title": "Runner Application", + "description": "Runner Application", + "type": "object", + "properties": { + "os": { "type": "string" }, + "architecture": { "type": "string" }, + "download_url": { "type": "string" }, + "filename": { "type": "string" } + } + }, + "authentication-token": { + "title": "Authentication Token", + "description": "Authentication Token", + "type": "object", + "properties": { + "token": { + "description": "The token used for authentication", + "type": "string", + "example": "v1.1f699f1069f60xxx" + }, + "expires_at": { + "description": "The time this token expires", + "type": "string", + "format": "date-time", + "example": "2016-07-11T22:14:10Z" + }, + "permissions": { + "type": "object", + "example": { "issues": "read", "deployments": "write" } + }, + "repositories": { + "description": "The repositories this token has access to", + "type": "array", + "items": { "$ref": "#/components/schemas/repository" } + }, + "single_file": { + "type": "string", + "example": "config.yaml", + "nullable": true + }, + "repository_selection": { + "description": "Describe whether all repositories have been selected or there's a selection involved", + "type": "string", + "enum": ["all", "selected"] + } + }, + "required": ["token", "expires_at"] + }, + "actions-billing-usage": { + "type": "object", + "properties": { + "total_minutes_used": { + "type": "integer", + "description": "The sum of the free and paid GitHub Actions minutes used." + }, + "total_paid_minutes_used": { + "type": "integer", + "description": "The total paid GitHub Actions minutes used." + }, + "included_minutes": { + "type": "integer", + "description": "The amount of free GitHub Actions minutes available." + }, + "minutes_used_breakdown": { + "type": "object", + "properties": { + "UBUNTU": { + "type": "integer", + "description": "Total minutes used on Ubuntu runner machines." + }, + "MACOS": { + "type": "integer", + "description": "Total minutes used on macOS runner machines." + }, + "WINDOWS": { + "type": "integer", + "description": "Total minutes used on Windows runner machines." + } + } + } + } + }, + "packages-billing-usage": { + "type": "object", + "properties": { + "total_gigabytes_bandwidth_used": { + "type": "integer", + "description": "Sum of the free and paid storage space (GB) for GitHuub Packages." + }, + "total_paid_gigabytes_bandwidth_used": { + "type": "integer", + "description": "Total paid storage space (GB) for GitHuub Packages." + }, + "included_gigabytes_bandwidth": { + "type": "integer", + "description": "Free storage space (GB) for GitHub Packages." + } + } + }, + "combined-billing-usage": { + "type": "object", + "properties": { + "days_left_in_billing_cycle": { + "type": "integer", + "description": "Numbers of days left in billing cycle." + }, + "estimated_paid_storage_for_month": { + "type": "integer", + "description": "Estimated storage space (GB) used in billing cycle." + }, + "estimated_storage_for_month": { + "type": "integer", + "description": "Estimated sum of free and paid storage space (GB) used in billing cycle." + } + } + }, + "actor": { + "title": "Actor", + "description": "Actor", + "type": "object", + "properties": { + "id": { "type": "integer" }, + "login": { "type": "string" }, + "display_login": { "type": "string" }, + "gravatar_id": { "type": "string", "nullable": true }, + "url": { "type": "string", "format": "uri" }, + "avatar_url": { "type": "string", "format": "uri" } + }, + "required": ["id", "login", "gravatar_id", "url", "avatar_url"] + }, + "milestone": { + "title": "Milestone", + "description": "A collection of related issues and pull requests.", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World/milestones/1" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat/Hello-World/milestones/v1.0" + }, + "labels_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World/milestones/1/labels" + }, + "id": { "type": "integer", "example": 1002604 }, + "node_id": { + "type": "string", + "example": "MDk6TWlsZXN0b25lMTAwMjYwNA==" + }, + "number": { + "description": "The number of the milestone.", + "type": "integer", + "example": 42 + }, + "state": { + "description": "The state of the milestone.", + "example": "open", + "type": "string", + "enum": ["open", "closed"], + "default": "open" + }, + "title": { + "description": "The title of the milestone.", + "example": "v1.0", + "type": "string" + }, + "description": { + "type": "string", + "example": "Tracking milestone for version 1.0", + "nullable": true + }, + "creator": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + }, + "open_issues": { "type": "integer", "example": 4 }, + "closed_issues": { "type": "integer", "example": 8 }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2011-04-10T20:09:31Z" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "example": "2014-03-03T18:58:10Z" + }, + "closed_at": { + "type": "string", + "format": "date-time", + "example": "2013-02-12T13:22:01Z", + "nullable": true + }, + "due_on": { + "type": "string", + "format": "date-time", + "example": "2012-10-09T23:39:01Z", + "nullable": true + } + }, + "required": [ + "closed_issues", + "creator", + "description", + "due_on", + "closed_at", + "id", + "node_id", + "labels_url", + "html_url", + "number", + "open_issues", + "state", + "title", + "url", + "created_at", + "updated_at" + ] + }, + "issue-simple": { + "title": "Issue Simple", + "description": "Issue Simple", + "type": "object", + "properties": { + "id": { "type": "integer", "example": 1 }, + "node_id": { "type": "string", "example": "MDU6SXNzdWUx" }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World/issues/1347" + }, + "repository_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World" + }, + "labels_url": { + "type": "string", + "example": "https://api.github.com/repos/octocat/Hello-World/issues/1347/labels{/name}" + }, + "comments_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World/issues/1347/comments" + }, + "events_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World/issues/1347/events" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat/Hello-World/issues/1347" + }, + "number": { "type": "integer", "example": 1347 }, + "state": { "type": "string", "example": "open" }, + "title": { "type": "string", "example": "Found a bug" }, + "body": { + "type": "string", + "example": "I'm having a problem with this." + }, + "user": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + }, + "labels": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "node_id": { "type": "string" }, + "url": { "type": "string" }, + "name": { "type": "string" }, + "description": { "type": "string", "nullable": true }, + "color": { "type": "string" }, + "default": { "type": "boolean" } + } + } + }, + "assignee": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + }, + "assignees": { + "type": "array", + "items": { "$ref": "#/components/schemas/simple-user" }, + "nullable": true + }, + "milestone": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/milestone" }] + }, + "locked": { "type": "boolean", "example": true }, + "active_lock_reason": { + "type": "string", + "example": "too heated", + "nullable": true + }, + "comments": { "type": "integer", "example": 0 }, + "pull_request": { + "type": "object", + "properties": { + "merged_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "diff_url": { + "type": "string", + "format": "uri", + "nullable": true + }, + "html_url": { + "type": "string", + "format": "uri", + "nullable": true + }, + "patch_url": { + "type": "string", + "format": "uri", + "nullable": true + }, + "url": { "type": "string", "format": "uri", "nullable": true } + }, + "required": ["diff_url", "html_url", "patch_url", "url"] + }, + "closed_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2011-04-22T13:33:48Z" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "example": "2011-04-22T13:33:48Z" + }, + "author_association": { "type": "string" }, + "body_html": { "type": "string" }, + "body_text": { "type": "string" }, + "timeline_url": { "type": "string", "format": "uri" }, + "repository": { "$ref": "#/components/schemas/repository" }, + "performed_via_github_app": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/integration" }] + } + }, + "required": [ + "assignee", + "closed_at", + "comments", + "comments_url", + "events_url", + "html_url", + "id", + "node_id", + "labels", + "labels_url", + "milestone", + "number", + "repository_url", + "state", + "locked", + "title", + "url", + "user", + "author_association", + "created_at", + "updated_at" + ] + }, + "reaction-rollup": { + "title": "Reaction Rollup", + "type": "object", + "properties": { + "url": { "type": "string", "format": "uri" }, + "total_count": { "type": "integer" }, + "+1": { "type": "integer" }, + "-1": { "type": "integer" }, + "laugh": { "type": "integer" }, + "confused": { "type": "integer" }, + "heart": { "type": "integer" }, + "hooray": { "type": "integer" }, + "eyes": { "type": "integer" }, + "rocket": { "type": "integer" } + }, + "required": [ + "url", + "total_count", + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "eyes", + "rocket" + ] + }, + "issue-comment": { + "title": "Issue Comment", + "description": "Comments provide a way for people to collaborate on an issue.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the issue comment", + "example": 42, + "type": "integer" + }, + "node_id": { "type": "string" }, + "url": { + "description": "URL for the issue comment", + "example": "https://api.github.com/repositories/42/issues/comments/1", + "type": "string", + "format": "uri" + }, + "body": { + "description": "Contents of the issue comment", + "example": "What version of Safari were you using when you observed this bug?", + "type": "string" + }, + "body_text": { "type": "string" }, + "body_html": { "type": "string" }, + "html_url": { "type": "string", "format": "uri" }, + "user": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2011-04-14T16:00:49Z" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "example": "2011-04-14T16:00:49Z" + }, + "issue_url": { "type": "string", "format": "uri" }, + "author_association": { + "type": "string", + "enum": [ + "collaborator", + "contributor", + "first_timer", + "first_time_contributor", + "mannequin", + "member", + "none", + "owner" + ] + }, + "performed_via_github_app": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/integration" }] + }, + "reactions": { "$ref": "#/components/schemas/reaction-rollup" } + }, + "required": [ + "id", + "node_id", + "html_url", + "issue_url", + "author_association", + "user", + "url", + "created_at", + "updated_at" + ] + }, + "event": { + "title": "Event", + "description": "Event", + "type": "object", + "properties": { + "id": { "type": "string" }, + "type": { "type": "string", "nullable": true }, + "actor": { "$ref": "#/components/schemas/actor" }, + "repo": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "name": { "type": "string" }, + "url": { "type": "string", "format": "uri" } + }, + "required": ["id", "name", "url"] + }, + "org": { "$ref": "#/components/schemas/actor" }, + "payload": { + "type": "object", + "properties": { + "action": { "type": "string" }, + "issue": { "$ref": "#/components/schemas/issue-simple" }, + "comment": { "$ref": "#/components/schemas/issue-comment" }, + "pages": { + "type": "array", + "items": { + "type": "object", + "properties": { + "page_name": { "type": "string" }, + "title": { "type": "string" }, + "summary": { "type": "string", "nullable": true }, + "action": { "type": "string" }, + "sha": { "type": "string" }, + "html_url": { "type": "string" } + } + } + } + }, + "required": ["action"] + }, + "public": { "type": "boolean" }, + "created_at": { + "type": "string", + "format": "date-time", + "nullable": true + } + }, + "required": [ + "id", + "type", + "actor", + "repo", + "payload", + "public", + "created_at" + ] + }, + "link-with-type": { + "title": "Link With Type", + "description": "Hypermedia Link with Type", + "type": "object", + "properties": { + "href": { "type": "string" }, + "type": { "type": "string" } + }, + "required": ["href", "type"] + }, + "feed": { + "title": "Feed", + "description": "Feed", + "type": "object", + "properties": { + "timeline_url": { + "type": "string", + "example": "https://github.com/timeline" + }, + "user_url": { + "type": "string", + "example": "https://github.com/{user}" + }, + "current_user_public_url": { + "type": "string", + "example": "https://github.com/octocat" + }, + "current_user_url": { + "type": "string", + "example": "https://github.com/octocat.private?token=abc123" + }, + "current_user_actor_url": { + "type": "string", + "example": "https://github.com/octocat.private.actor?token=abc123" + }, + "current_user_organization_url": { "type": "string", "example": "" }, + "current_user_organization_urls": { + "type": "array", + "example": [ + "https://github.com/organizations/github/octocat.private.atom?token=abc123" + ], + "items": { "type": "string", "format": "uri" } + }, + "security_advisories_url": { + "type": "string", + "example": "https://github.com/security-advisories" + }, + "_links": { + "type": "object", + "properties": { + "timeline": { "$ref": "#/components/schemas/link-with-type" }, + "user": { "$ref": "#/components/schemas/link-with-type" }, + "security_advisories": { + "$ref": "#/components/schemas/link-with-type" + }, + "current_user": { "$ref": "#/components/schemas/link-with-type" }, + "current_user_public": { + "$ref": "#/components/schemas/link-with-type" + }, + "current_user_actor": { + "$ref": "#/components/schemas/link-with-type" + }, + "current_user_organization": { + "$ref": "#/components/schemas/link-with-type" + }, + "current_user_organizations": { + "type": "array", + "items": { "$ref": "#/components/schemas/link-with-type" } + } + }, + "required": ["timeline", "user"] + } + }, + "required": ["_links", "timeline_url", "user_url"] + }, + "base-gist": { + "title": "Base Gist", + "description": "Base Gist", + "type": "object", + "properties": { + "url": { "type": "string", "format": "uri" }, + "forks_url": { "type": "string", "format": "uri" }, + "commits_url": { "type": "string", "format": "uri" }, + "id": { "type": "string" }, + "node_id": { "type": "string" }, + "git_pull_url": { "type": "string", "format": "uri" }, + "git_push_url": { "type": "string", "format": "uri" }, + "html_url": { "type": "string", "format": "uri" }, + "files": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "filename": { "type": "string" }, + "type": { "type": "string" }, + "language": { "type": "string" }, + "raw_url": { "type": "string" }, + "size": { "type": "integer" } + } + } + }, + "public": { "type": "boolean" }, + "created_at": { "type": "string", "format": "date-time" }, + "updated_at": { "type": "string", "format": "date-time" }, + "description": { "type": "string", "nullable": true }, + "comments": { "type": "integer" }, + "user": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + }, + "comments_url": { "type": "string", "format": "uri" }, + "owner": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + }, + "truncated": { "type": "boolean" }, + "forks": { "type": "array", "items": {} }, + "history": { "type": "array", "items": {} } + }, + "required": [ + "id", + "node_id", + "url", + "forks_url", + "commits_url", + "git_pull_url", + "git_push_url", + "html_url", + "comments_url", + "public", + "description", + "comments", + "user", + "files", + "created_at", + "updated_at" + ] + }, + "gist-simple": { + "title": "Gist Simple", + "description": "Gist Simple", + "type": "object", + "properties": { + "url": { "type": "string" }, + "forks_url": { "type": "string" }, + "commits_url": { "type": "string" }, + "id": { "type": "string" }, + "node_id": { "type": "string" }, + "git_pull_url": { "type": "string" }, + "git_push_url": { "type": "string" }, + "html_url": { "type": "string" }, + "files": { + "type": "object", + "additionalProperties": { + "nullable": true, + "type": "object", + "properties": { + "filename": { "type": "string" }, + "type": { "type": "string" }, + "language": { "type": "string" }, + "raw_url": { "type": "string" }, + "size": { "type": "integer" }, + "truncated": { "type": "boolean" }, + "content": { "type": "string" } + } + } + }, + "public": { "type": "boolean" }, + "created_at": { "type": "string" }, + "updated_at": { "type": "string" }, + "description": { "type": "string", "nullable": true }, + "comments": { "type": "integer" }, + "user": { "type": "string", "nullable": true }, + "comments_url": { "type": "string" }, + "owner": { "$ref": "#/components/schemas/simple-user" }, + "truncated": { "type": "boolean" } + } + }, + "gist-full": { + "title": "Gist Full", + "description": "Gist Full", + "allOf": [ + { "$ref": "#/components/schemas/gist-simple" }, + { + "type": "object", + "properties": { + "forks": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user": { + "type": "object", + "properties": { + "login": { "type": "string" }, + "id": { "type": "integer" }, + "node_id": { "type": "string" }, + "avatar_url": { "type": "string" }, + "gravatar_id": { "type": "string" }, + "url": { "type": "string" }, + "html_url": { "type": "string" }, + "followers_url": { "type": "string" }, + "following_url": { "type": "string" }, + "gists_url": { "type": "string" }, + "starred_url": { "type": "string" }, + "subscriptions_url": { "type": "string" }, + "organizations_url": { "type": "string" }, + "repos_url": { "type": "string" }, + "events_url": { "type": "string" }, + "received_events_url": { "type": "string" }, + "type": { "type": "string" }, + "site_admin": { "type": "boolean" } + } + }, + "url": { "type": "string" }, + "id": { "type": "string" }, + "created_at": { "type": "string" }, + "updated_at": { "type": "string" } + } + } + }, + "history": { + "type": "array", + "items": { + "type": "object", + "properties": { + "url": { "type": "string" }, + "version": { "type": "string" }, + "user": { + "type": "object", + "properties": { + "login": { "type": "string" }, + "id": { "type": "integer" }, + "node_id": { "type": "string" }, + "avatar_url": { "type": "string" }, + "gravatar_id": { "type": "string" }, + "url": { "type": "string" }, + "html_url": { "type": "string" }, + "followers_url": { "type": "string" }, + "following_url": { "type": "string" }, + "gists_url": { "type": "string" }, + "starred_url": { "type": "string" }, + "subscriptions_url": { "type": "string" }, + "organizations_url": { "type": "string" }, + "repos_url": { "type": "string" }, + "events_url": { "type": "string" }, + "received_events_url": { "type": "string" }, + "type": { "type": "string" }, + "site_admin": { "type": "boolean" } + }, + "nullable": true + }, + "change_status": { + "type": "object", + "properties": { + "deletions": { "type": "integer" }, + "additions": { "type": "integer" }, + "total": { "type": "integer" } + } + }, + "committed_at": { "type": "string" } + } + } + }, + "fork_of": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/gist-simple" }] + }, + "url": { + "type": "string", + "example": "\"https://api.github.com/gists/d8de7663c84491ba9eeb9ca1fd20ced8/cb5b95fe0f15ada6d34a421007ba2e4a34e2771e\"" + }, + "forks_url": { + "type": "string", + "example": "\"https://api.github.com/gists/d8de7663c84491ba9eeb9ca1fd20ced8/forks\"" + }, + "commits_url": { + "type": "string", + "example": "\"https://api.github.com/gists/d8de7663c84491ba9eeb9ca1fd20ced8/commits\"" + }, + "id": { + "type": "string", + "example": "\"d8de7663c84491ba9eeb9ca1fd20ced8\"" + }, + "node_id": { + "type": "string", + "example": "\"MDQ6R2lzdGQ4ZGU3NjYzYzg0NDkxYmE5ZWViOWNhMWZkMjBjZWQ4\"" + }, + "git_pull_url": { + "type": "string", + "example": "\"https://gist.github.com/d8de7663c84491ba9eeb9ca1fd20ced8.git\"" + }, + "git_push_url": { + "type": "string", + "example": "\"https://gist.github.com/d8de7663c84491ba9eeb9ca1fd20ced8.git\"" + }, + "html_url": { + "type": "string", + "example": "\"https://gist.github.com/d8de7663c84491ba9eeb9ca1fd20ced8\"" + }, + "created_at": { + "type": "string", + "example": "\"2020-07-09T00:18:06Z\"" + }, + "updated_at": { + "type": "string", + "example": "\"2020-07-09T00:18:06Z\"" + }, + "description": { + "type": "string", + "example": "\"description\"", + "nullable": true + }, + "comments": { "type": "integer", "example": "0" }, + "comments_url": { + "type": "string", + "example": "\"https://api.github.com/gists/d8de7663c84491ba9eeb9ca1fd20ced8/comments\"" + } + } + } + ] + }, + "gist-comment": { + "title": "Gist Comment", + "description": "A comment made to a gist.", + "type": "object", + "properties": { + "id": { "type": "integer", "example": 1 }, + "node_id": { + "type": "string", + "example": "MDExOkdpc3RDb21tZW50MQ==" + }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/gists/a6db0bec360bb87e9418/comments/1" + }, + "body": { + "description": "The comment text.", + "type": "string", + "maxLength": 65535, + "example": "Body of the attachment" + }, + "user": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2011-04-18T23:23:56Z" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "example": "2011-04-18T23:23:56Z" + }, + "author_association": { "type": "string" } + }, + "required": [ + "url", + "id", + "node_id", + "user", + "body", + "author_association", + "created_at", + "updated_at" + ] + }, + "gist-commit": { + "title": "Gist Commit", + "description": "Gist Commit", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/gists/aa5a315d61ae9438b18d/57a7f021a713b1c5a6a199b54cc514735d2d462f" + }, + "version": { + "type": "string", + "example": "57a7f021a713b1c5a6a199b54cc514735d2d462f" + }, + "user": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + }, + "change_status": { + "type": "object", + "properties": { + "total": { "type": "integer" }, + "additions": { "type": "integer" }, + "deletions": { "type": "integer" } + } + }, + "committed_at": { + "type": "string", + "format": "date-time", + "example": "2010-04-14T02:15:15Z" + } + }, + "required": ["url", "user", "version", "committed_at", "change_status"] + }, + "gitignore-template": { + "title": "Gitignore Template", + "description": "Gitignore Template", + "type": "object", + "properties": { + "name": { "type": "string", "example": "C" }, + "source": { + "type": "string", + "example": "# Object files\n*.o\n\n# Libraries\n*.lib\n*.a\n\n# Shared objects (inc. Windows DLLs)\n*.dll\n*.so\n*.so.*\n*.dylib\n\n# Executables\n*.exe\n*.out\n*.app\n" + } + }, + "required": ["name", "source"] + }, + "issue": { + "title": "Issue", + "description": "Issues are a great way to keep track of tasks, enhancements, and bugs for your projects.", + "type": "object", + "properties": { + "id": { "type": "integer" }, + "node_id": { "type": "string" }, + "url": { + "description": "URL for the issue", + "example": "https://api.github.com/repositories/42/issues/1", + "type": "string", + "format": "uri" + }, + "repository_url": { "type": "string", "format": "uri" }, + "labels_url": { "type": "string" }, + "comments_url": { "type": "string", "format": "uri" }, + "events_url": { "type": "string", "format": "uri" }, + "html_url": { "type": "string", "format": "uri" }, + "number": { + "description": "Number uniquely identifying the issue within its repository", + "example": 42, + "type": "integer" + }, + "state": { + "description": "State of the issue; either 'open' or 'closed'", + "example": "open", + "type": "string" + }, + "title": { + "description": "Title of the issue", + "example": "Widget creation fails in Safari on OS X 10.8", + "type": "string" + }, + "body": { + "description": "Contents of the issue", + "example": "It looks like the new widget form is broken on Safari. When I try and create the widget, Safari crashes. This is reproducible on 10.8, but not 10.9. Maybe a browser bug?", + "type": "string" + }, + "user": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + }, + "labels": { + "description": "Labels to associate with this issue; pass one or more label names to replace the set of labels on this issue; send an empty array to clear all labels from the issue; note that the labels are silently dropped for users without push access to the repository", + "example": ["bug", "registration"], + "type": "array", + "items": { + "oneOf": [ + { "type": "string" }, + { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "node_id": { "type": "string" }, + "url": { "type": "string", "format": "uri" }, + "name": { "type": "string" }, + "description": { "type": "string", "nullable": true }, + "color": { "type": "string", "nullable": true }, + "default": { "type": "boolean" } + } + } + ] + } + }, + "assignee": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + }, + "assignees": { + "type": "array", + "items": { "$ref": "#/components/schemas/simple-user" }, + "nullable": true + }, + "milestone": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/milestone" }] + }, + "locked": { "type": "boolean" }, + "active_lock_reason": { "type": "string", "nullable": true }, + "comments": { "type": "integer" }, + "pull_request": { + "type": "object", + "properties": { + "merged_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "diff_url": { + "type": "string", + "format": "uri", + "nullable": true + }, + "html_url": { + "type": "string", + "format": "uri", + "nullable": true + }, + "patch_url": { + "type": "string", + "format": "uri", + "nullable": true + }, + "url": { "type": "string", "format": "uri", "nullable": true } + }, + "required": ["diff_url", "html_url", "patch_url", "url"] + }, + "closed_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "created_at": { "type": "string", "format": "date-time" }, + "updated_at": { "type": "string", "format": "date-time" }, + "closed_by": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + }, + "body_html": { "type": "string" }, + "body_text": { "type": "string" }, + "timeline_url": { "type": "string", "format": "uri" }, + "repository": { "$ref": "#/components/schemas/repository" }, + "performed_via_github_app": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/integration" }] + }, + "author_association": { "type": "string" }, + "reactions": { "$ref": "#/components/schemas/reaction-rollup" } + }, + "required": [ + "assignee", + "closed_at", + "comments", + "comments_url", + "events_url", + "html_url", + "id", + "node_id", + "labels", + "labels_url", + "milestone", + "number", + "repository_url", + "state", + "locked", + "title", + "url", + "user", + "author_association", + "created_at", + "updated_at" + ] + }, + "license": { + "title": "License", + "description": "License", + "type": "object", + "properties": { + "key": { "type": "string", "example": "mit" }, + "name": { "type": "string", "example": "MIT License" }, + "spdx_id": { "type": "string", "example": "MIT", "nullable": true }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/licenses/mit", + "nullable": true + }, + "node_id": { "type": "string", "example": "MDc6TGljZW5zZW1pdA==" }, + "html_url": { + "type": "string", + "format": "uri", + "example": "http://choosealicense.com/licenses/mit/" + }, + "description": { + "type": "string", + "example": "A permissive license that is short and to the point. It lets people do anything with your code with proper attribution and without warranty." + }, + "implementation": { + "type": "string", + "example": "Create a text file (typically named LICENSE or LICENSE.txt) in the root of your source code and copy the text of the license into the file. Replace [year] with the current year and [fullname] with the name (or names) of the copyright holders." + }, + "permissions": { + "type": "array", + "example": [ + "commercial-use", + "modifications", + "distribution", + "sublicense", + "private-use" + ], + "items": { "type": "string" } + }, + "conditions": { + "type": "array", + "example": ["include-copyright"], + "items": { "type": "string" } + }, + "limitations": { + "type": "array", + "example": ["no-liability"], + "items": { "type": "string" } + }, + "body": { + "type": "string", + "example": "\n\nThe MIT License (MIT)\n\nCopyright (c) [year] [fullname]\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n" + }, + "featured": { "type": "boolean", "example": true } + }, + "required": [ + "key", + "name", + "url", + "spdx_id", + "node_id", + "html_url", + "description", + "implementation", + "permissions", + "conditions", + "limitations", + "body", + "featured" + ] + }, + "marketplace-listing-plan": { + "title": "Marketplace Listing Plan", + "description": "Marketplace Listing Plan", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/marketplace_listing/plans/1313" + }, + "accounts_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/marketplace_listing/plans/1313/accounts" + }, + "id": { "type": "integer", "example": 1313 }, + "number": { "type": "integer", "example": 3 }, + "name": { "type": "string", "example": "Pro" }, + "description": { + "type": "string", + "example": "A professional-grade CI solution" + }, + "monthly_price_in_cents": { "type": "integer", "example": 1099 }, + "yearly_price_in_cents": { "type": "integer", "example": 11870 }, + "price_model": { "type": "string", "example": "flat-rate" }, + "has_free_trial": { "type": "boolean", "example": true }, + "unit_name": { "type": "string", "nullable": true }, + "state": { "type": "string", "example": "published" }, + "bullets": { + "type": "array", + "items": { "type": "string" }, + "example": ["Up to 25 private repositories", "11 concurrent builds"] + } + }, + "required": [ + "url", + "accounts_url", + "id", + "number", + "name", + "description", + "has_free_trial", + "price_model", + "unit_name", + "monthly_price_in_cents", + "state", + "yearly_price_in_cents", + "bullets" + ] + }, + "marketplace-purchase": { + "title": "Marketplace Purchase", + "description": "Marketplace Purchase", + "type": "object", + "properties": { + "url": { "type": "string" }, + "type": { "type": "string" }, + "id": { "type": "integer" }, + "login": { "type": "string" }, + "organization_billing_email": { "type": "string" }, + "marketplace_pending_change": { + "type": "object", + "properties": { + "is_installed": { "type": "boolean" }, + "effective_date": { "type": "string" }, + "unit_count": { "type": "integer", "nullable": true }, + "id": { "type": "integer" }, + "plan": { + "$ref": "#/components/schemas/marketplace-listing-plan" + } + }, + "nullable": true + }, + "marketplace_purchase": { + "type": "object", + "properties": { + "billing_cycle": { "type": "string" }, + "next_billing_date": { "type": "string", "nullable": true }, + "is_installed": { "type": "boolean" }, + "unit_count": { "type": "integer", "nullable": true }, + "on_free_trial": { "type": "boolean" }, + "free_trial_ends_on": { "type": "string", "nullable": true }, + "updated_at": { "type": "string" }, + "plan": { + "$ref": "#/components/schemas/marketplace-listing-plan" + } + } + } + }, + "required": ["url", "id", "type", "login", "marketplace_purchase"] + }, + "api-overview": { + "title": "Api Overview", + "description": "Api Overview", + "type": "object", + "properties": { + "verifiable_password_authentication": { + "type": "boolean", + "example": true + }, + "ssh_key_fingerprints": { + "type": "object", + "properties": { + "SHA256_RSA": { "type": "string" }, + "SHA256_DSA": { "type": "string" } + } + }, + "hooks": { + "type": "array", + "items": { "type": "string" }, + "example": ["127.0.0.1/32"] + }, + "web": { + "type": "array", + "items": { "type": "string" }, + "example": ["127.0.0.1/32"] + }, + "api": { + "type": "array", + "items": { "type": "string" }, + "example": ["127.0.0.1/32"] + }, + "git": { + "type": "array", + "items": { "type": "string" }, + "example": ["127.0.0.1/32"] + }, + "pages": { + "type": "array", + "items": { "type": "string" }, + "example": ["192.30.252.153/32", "192.30.252.154/32"] + }, + "importer": { + "type": "array", + "items": { "type": "string" }, + "example": ["54.158.161.132", "54.226.70.38"] + }, + "github_services_sha": { + "type": "string", + "example": "3a0f86fb8db8eea7ccbb9a95f325ddbedfb25e15" + }, + "installed_version": { "type": "string" } + }, + "required": ["verifiable_password_authentication"] + }, + "minimal-repository": { + "title": "Minimal Repository", + "description": "Minimal Repository", + "type": "object", + "properties": { + "id": { "type": "integer", "example": 1296269 }, + "node_id": { + "type": "string", + "example": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5" + }, + "name": { "type": "string", "example": "Hello-World" }, + "full_name": { "type": "string", "example": "octocat/Hello-World" }, + "owner": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + }, + "private": { "type": "boolean" }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat/Hello-World" + }, + "description": { + "type": "string", + "example": "This your first repo!", + "nullable": true + }, + "fork": { "type": "boolean" }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World" + }, + "archive_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}" + }, + "assignees_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/assignees{/user}" + }, + "blobs_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}" + }, + "branches_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/branches{/branch}" + }, + "collaborators_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}" + }, + "comments_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/comments{/number}" + }, + "commits_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/commits{/sha}" + }, + "compare_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}" + }, + "contents_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/contents/{+path}" + }, + "contributors_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/contributors" + }, + "deployments_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/deployments" + }, + "downloads_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/downloads" + }, + "events_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/events" + }, + "forks_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/forks" + }, + "git_commits_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/commits{/sha}" + }, + "git_refs_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/refs{/sha}" + }, + "git_tags_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/tags{/sha}" + }, + "git_url": { "type": "string" }, + "issue_comment_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues/comments{/number}" + }, + "issue_events_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues/events{/number}" + }, + "issues_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues{/number}" + }, + "keys_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/keys{/key_id}" + }, + "labels_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/labels{/name}" + }, + "languages_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/languages" + }, + "merges_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/merges" + }, + "milestones_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/milestones{/number}" + }, + "notifications_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}" + }, + "pulls_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/pulls{/number}" + }, + "releases_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/releases{/id}" + }, + "ssh_url": { "type": "string" }, + "stargazers_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/stargazers" + }, + "statuses_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/statuses/{sha}" + }, + "subscribers_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/subscribers" + }, + "subscription_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/subscription" + }, + "tags_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/tags" + }, + "teams_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/teams" + }, + "trees_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/trees{/sha}" + }, + "clone_url": { "type": "string" }, + "mirror_url": { "type": "string", "nullable": true }, + "hooks_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/hooks" + }, + "svn_url": { "type": "string" }, + "homepage": { "type": "string", "nullable": true }, + "language": { "type": "string", "nullable": true }, + "forks_count": { "type": "integer" }, + "stargazers_count": { "type": "integer" }, + "watchers_count": { "type": "integer" }, + "size": { "type": "integer" }, + "default_branch": { "type": "string" }, + "open_issues_count": { "type": "integer" }, + "is_template": { "type": "boolean" }, + "topics": { "type": "array", "items": { "type": "string" } }, + "has_issues": { "type": "boolean" }, + "has_projects": { "type": "boolean" }, + "has_wiki": { "type": "boolean" }, + "has_pages": { "type": "boolean" }, + "has_downloads": { "type": "boolean" }, + "archived": { "type": "boolean" }, + "disabled": { "type": "boolean" }, + "visibility": { "type": "string" }, + "pushed_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:06:43Z", + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:01:12Z", + "nullable": true + }, + "updated_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:14:43Z", + "nullable": true + }, + "permissions": { + "type": "object", + "properties": { + "admin": { "type": "boolean" }, + "push": { "type": "boolean" }, + "pull": { "type": "boolean" } + } + }, + "template_repository": { "type": "string" }, + "temp_clone_token": { "type": "string" }, + "delete_branch_on_merge": { "type": "boolean" }, + "subscribers_count": { "type": "integer" }, + "network_count": { "type": "integer" }, + "license": { + "type": "object", + "properties": { + "key": { "type": "string" }, + "name": { "type": "string" }, + "spdx_id": { "type": "string" }, + "url": { "type": "string" }, + "node_id": { "type": "string" } + }, + "nullable": true + }, + "forks": { "type": "integer", "example": 0 }, + "open_issues": { "type": "integer", "example": 0 }, + "watchers": { "type": "integer", "example": 0 } + }, + "required": [ + "archive_url", + "assignees_url", + "blobs_url", + "branches_url", + "collaborators_url", + "comments_url", + "commits_url", + "compare_url", + "contents_url", + "contributors_url", + "deployments_url", + "description", + "downloads_url", + "events_url", + "fork", + "forks_url", + "full_name", + "git_commits_url", + "git_refs_url", + "git_tags_url", + "hooks_url", + "html_url", + "id", + "node_id", + "issue_comment_url", + "issue_events_url", + "issues_url", + "keys_url", + "labels_url", + "languages_url", + "merges_url", + "milestones_url", + "name", + "notifications_url", + "owner", + "private", + "pulls_url", + "releases_url", + "stargazers_url", + "statuses_url", + "subscribers_url", + "subscription_url", + "tags_url", + "teams_url", + "trees_url", + "url" + ] + }, + "thread": { + "title": "Thread", + "description": "Thread", + "type": "object", + "properties": { + "id": { "type": "string" }, + "repository": { "$ref": "#/components/schemas/minimal-repository" }, + "subject": { + "type": "object", + "properties": { + "title": { "type": "string" }, + "url": { "type": "string" }, + "latest_comment_url": { "type": "string" }, + "type": { "type": "string" } + } + }, + "reason": { "type": "string" }, + "unread": { "type": "boolean" }, + "updated_at": { "type": "string" }, + "last_read_at": { "type": "string", "nullable": true }, + "url": { "type": "string" }, + "subscription_url": { + "type": "string", + "example": "https://api.github.com/notifications/threads/2/subscription" + } + } + }, + "thread-subscription": { + "title": "Thread Subscription", + "description": "Thread Subscription", + "type": "object", + "properties": { + "subscribed": { "type": "boolean", "example": true }, + "ignored": { "type": "boolean" }, + "reason": { "type": "string", "nullable": true }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2012-10-06T21:34:12Z", + "nullable": true + }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/notifications/threads/1/subscription" + }, + "thread_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/notifications/threads/1" + }, + "repository_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/1" + } + }, + "required": ["created_at", "ignored", "reason", "url", "subscribed"] + }, + "organization-full": { + "title": "Organization Full", + "description": "Organization Full", + "type": "object", + "properties": { + "login": { "type": "string", "example": "github" }, + "id": { "type": "integer", "example": 1 }, + "node_id": { + "type": "string", + "example": "MDEyOk9yZ2FuaXphdGlvbjE=" + }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/orgs/github" + }, + "repos_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/orgs/github/repos" + }, + "events_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/orgs/github/events" + }, + "hooks_url": { + "type": "string", + "example": "https://api.github.com/orgs/github/hooks" + }, + "issues_url": { + "type": "string", + "example": "https://api.github.com/orgs/github/issues" + }, + "members_url": { + "type": "string", + "example": "https://api.github.com/orgs/github/members{/member}" + }, + "public_members_url": { + "type": "string", + "example": "https://api.github.com/orgs/github/public_members{/member}" + }, + "avatar_url": { + "type": "string", + "example": "https://github.com/images/error/octocat_happy.gif" + }, + "description": { + "type": "string", + "example": "A great organization", + "nullable": true + }, + "name": { "type": "string", "example": "github" }, + "company": { "type": "string", "example": "GitHub" }, + "blog": { + "type": "string", + "format": "uri", + "example": "https://github.com/blog" + }, + "location": { "type": "string", "example": "San Francisco" }, + "email": { + "type": "string", + "format": "email", + "example": "octocat@github.com" + }, + "twitter_username": { + "type": "string", + "example": "github", + "nullable": true + }, + "is_verified": { "type": "boolean", "example": true }, + "has_organization_projects": { "type": "boolean", "example": true }, + "has_repository_projects": { "type": "boolean", "example": true }, + "public_repos": { "type": "integer", "example": 2 }, + "public_gists": { "type": "integer", "example": 1 }, + "followers": { "type": "integer", "example": 20 }, + "following": { "type": "integer", "example": 0 }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat" + }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2008-01-14T04:33:35Z" + }, + "type": { "type": "string", "example": "Organization" }, + "total_private_repos": { "type": "integer", "example": 100 }, + "owned_private_repos": { "type": "integer", "example": 100 }, + "private_gists": { + "type": "integer", + "example": 81, + "nullable": true + }, + "disk_usage": { + "type": "integer", + "example": 10000, + "nullable": true + }, + "collaborators": { + "type": "integer", + "example": 8, + "nullable": true + }, + "billing_email": { + "type": "string", + "format": "email", + "example": "org@example.com", + "nullable": true + }, + "plan": { + "type": "object", + "properties": { + "name": { "type": "string" }, + "space": { "type": "integer" }, + "private_repos": { "type": "integer" }, + "filled_seats": { "type": "integer" }, + "seats": { "type": "integer" } + }, + "required": ["name", "space", "private_repos"] + }, + "default_repository_permission": { + "type": "string", + "nullable": true + }, + "members_can_create_repositories": { + "type": "boolean", + "example": true, + "nullable": true + }, + "two_factor_requirement_enabled": { + "type": "boolean", + "example": true, + "nullable": true + }, + "members_allowed_repository_creation_type": { + "type": "string", + "example": "all" + }, + "members_can_create_public_repositories": { + "type": "boolean", + "example": true + }, + "members_can_create_private_repositories": { + "type": "boolean", + "example": true + }, + "members_can_create_internal_repositories": { + "type": "boolean", + "example": true + }, + "members_can_create_pages": { "type": "boolean", "example": true }, + "updated_at": { "type": "string", "format": "date-time" } + }, + "required": [ + "login", + "url", + "id", + "node_id", + "repos_url", + "events_url", + "hooks_url", + "issues_url", + "members_url", + "public_members_url", + "avatar_url", + "description", + "html_url", + "has_organization_projects", + "has_repository_projects", + "public_repos", + "public_gists", + "followers", + "following", + "type", + "created_at", + "updated_at" + ] + }, + "enabled-repositories": { + "type": "string", + "description": "The policy that controls the repositories in the organization that are allowed to run GitHub Actions. Can be one of: `all`, `none`, or `selected`.", + "enum": ["all", "none", "selected"] + }, + "actions-organization-permissions": { + "type": "object", + "properties": { + "enabled_repositories": { + "$ref": "#/components/schemas/enabled-repositories" + }, + "selected_repositories_url": { + "type": "string", + "description": "The API URL to use to get or set the selected repositories that are allowed to run GitHub Actions, when `enabled_repositories` is set to `selected`." + }, + "allowed_actions": { "$ref": "#/components/schemas/allowed-actions" }, + "selected_actions_url": { + "$ref": "#/components/schemas/selected-actions-url" + } + } + }, + "runner-groups-org": { + "type": "object", + "properties": { + "id": { "type": "number" }, + "name": { "type": "string" }, + "visibility": { "type": "string" }, + "default": { "type": "boolean" }, + "selected_repositories_url": { "type": "string" }, + "runners_url": { "type": "string" }, + "inherited": { "type": "boolean" } + } + }, + "organization-actions-secret": { + "title": "Actions Secret for an Organization", + "description": "Secrets for GitHub Actions for an organization.", + "type": "object", + "properties": { + "name": { + "description": "The name of the secret.", + "example": "SECRET_TOKEN", + "type": "string" + }, + "created_at": { "type": "string", "format": "date-time" }, + "updated_at": { "type": "string", "format": "date-time" }, + "visibility": { + "description": "Visibility of a secret", + "enum": ["all", "private", "selected"], + "type": "string" + }, + "selected_repositories_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/organizations/org/secrets/my_secret/repositories" + } + }, + "required": ["name", "created_at", "updated_at", "visibility"] + }, + "actions-public-key": { + "title": "ActionsPublicKey", + "description": "The public key used for setting Actions Secrets.", + "type": "object", + "properties": { + "key_id": { + "description": "The identifier for the key.", + "type": "string", + "example": "1234567" + }, + "key": { + "description": "The Base64 encoded public key.", + "type": "string", + "example": "hBT5WZEj8ZoOv6TYJsfWq7MxTEQopZO5/IT3ZCVQPzs=" + }, + "id": { "type": "integer", "example": 2 }, + "url": { + "type": "string", + "example": "https://api.github.com/user/keys/2" + }, + "title": { + "type": "string", + "example": "ssh-rsa AAAAB3NzaC1yc2EAAA" + }, + "created_at": { "type": "string", "example": "2011-01-26T19:01:12Z" } + }, + "required": ["key_id", "key"] + }, + "credential-authorization": { + "title": "Credential Authorization", + "description": "Credential Authorization", + "type": "object", + "properties": { + "login": { + "type": "string", + "example": "monalisa", + "description": "User login that owns the underlying credential." + }, + "credential_id": { + "type": "integer", + "example": 1, + "description": "Unique identifier for the credential." + }, + "credential_type": { + "type": "string", + "example": "SSH Key", + "description": "Human-readable description of the credential type." + }, + "token_last_eight": { + "type": "string", + "example": "12345678", + "description": "Last eight characters of the credential. Only included in responses with credential_type of personal access token." + }, + "credential_authorized_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:06:43Z", + "description": "Date when the credential was authorized for use." + }, + "scopes": { + "type": "array", + "example": ["user", "repo"], + "description": "List of oauth scopes the token has been granted.", + "items": { "type": "string" } + }, + "fingerprint": { + "type": "string", + "example": "jklmnop12345678", + "description": "Unique string to distinguish the credential. Only included in responses with credential_type of SSH Key." + }, + "credential_accessed_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:06:43Z", + "description": "Date when the credential was last accessed. May be null if it was never accessed", + "nullable": true + } + }, + "required": [ + "login", + "credential_id", + "credential_type", + "credential_authorized_at" + ] + }, + "org-hook": { + "title": "Org Hook", + "description": "Org Hook", + "type": "object", + "properties": { + "id": { "type": "integer", "example": 1 }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/orgs/octocat/hooks/1" + }, + "ping_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/orgs/octocat/hooks/1/pings" + }, + "name": { "type": "string", "example": "web" }, + "events": { + "type": "array", + "example": ["push", "pull_request"], + "items": { "type": "string" } + }, + "active": { "type": "boolean", "example": true }, + "config": { + "type": "object", + "properties": { + "url": { + "type": "string", + "example": "\"http://example.com/2\"" + }, + "insecure_ssl": { "type": "string", "example": "\"0\"" }, + "content_type": { "type": "string", "example": "\"form\"" }, + "secret": { "type": "string", "example": "\"********\"" } + } + }, + "updated_at": { + "type": "string", + "format": "date-time", + "example": "2011-09-06T20:39:23Z" + }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2011-09-06T17:26:27Z" + }, + "type": { "type": "string" } + }, + "required": [ + "id", + "url", + "type", + "name", + "active", + "events", + "config", + "ping_url", + "created_at", + "updated_at" + ] + }, + "interaction-group": { + "type": "string", + "description": "The type of GitHub user that can comment, open issues, or create pull requests while the interaction limit is in effect. Can be one of: `existing_users`, `contributors_only`, `collaborators_only`.", + "example": "collaborators_only", + "enum": ["existing_users", "contributors_only", "collaborators_only"] + }, + "interaction-limit-response": { + "title": "Interaction Limits", + "description": "Interaction limit settings.", + "type": "object", + "properties": { + "limit": { "$ref": "#/components/schemas/interaction-group" }, + "origin": { "type": "string", "example": "repository" }, + "expires_at": { + "type": "string", + "format": "date-time", + "example": "2018-08-17T04:18:39Z" + } + }, + "required": ["limit", "origin", "expires_at"] + }, + "interaction-expiry": { + "type": "string", + "description": "The duration of the interaction restriction. Can be one of: `one_day`, `three_days`, `one_week`, `one_month`, `six_months`. Default: `one_day`.", + "example": "one_month", + "enum": ["one_day", "three_days", "one_week", "one_month", "six_months"] + }, + "interaction-limit": { + "title": "Interaction Restrictions", + "description": "Limit interactions to a specific type of user for a specified duration", + "type": "object", + "properties": { + "limit": { "$ref": "#/components/schemas/interaction-group" }, + "expiry": { "$ref": "#/components/schemas/interaction-expiry" } + }, + "required": ["limit"] + }, + "organization-invitation": { + "title": "Organization Invitation", + "description": "Organization Invitation", + "type": "object", + "properties": { + "id": { "type": "integer" }, + "login": { "type": "string", "nullable": true }, + "email": { "type": "string", "nullable": true }, + "role": { "type": "string" }, + "created_at": { "type": "string" }, + "inviter": { "$ref": "#/components/schemas/simple-user" }, + "team_count": { "type": "integer" }, + "invitation_team_url": { "type": "string" }, + "node_id": { + "type": "string", + "example": "\"MDIyOk9yZ2FuaXphdGlvbkludml0YXRpb24x\"" + }, + "invitation_teams_url": { + "type": "string", + "example": "\"https://api.github.com/organizations/16/invitations/1/teams\"" + } + } + }, + "team-simple": { + "title": "Team Simple", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the team", + "type": "integer", + "example": 1 + }, + "node_id": { "type": "string", "example": "MDQ6VGVhbTE=" }, + "url": { + "description": "URL for the team", + "type": "string", + "format": "uri", + "example": "https://api.github.com/organizations/1/team/1" + }, + "members_url": { + "type": "string", + "example": "https://api.github.com/organizations/1/team/1/members{/member}" + }, + "name": { + "description": "Name of the team", + "type": "string", + "example": "Justice League" + }, + "description": { + "description": "Description of the team", + "type": "string", + "nullable": true, + "example": "A great team." + }, + "permission": { + "description": "Permission that the team will have for its repositories", + "type": "string", + "example": "admin" + }, + "privacy": { + "description": "The level of privacy this team should have", + "type": "string", + "example": "closed" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/orgs/rails/teams/core" + }, + "repositories_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/organizations/1/team/1/repos" + }, + "slug": { "type": "string", "example": "justice-league" }, + "ldap_dn": { + "description": "Distinguished Name (DN) that team maps to within LDAP environment", + "example": "uid=example,ou=users,dc=github,dc=com", + "type": "string" + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug" + ], + "nullable": true + }, + "team": { + "title": "Team", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { "type": "integer" }, + "node_id": { "type": "string" }, + "name": { "type": "string" }, + "slug": { "type": "string" }, + "description": { "type": "string", "nullable": true }, + "privacy": { "type": "string" }, + "permission": { "type": "string" }, + "url": { "type": "string", "format": "uri" }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/orgs/rails/teams/core" + }, + "members_url": { "type": "string" }, + "repositories_url": { "type": "string", "format": "uri" }, + "parent": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/team-simple" }] + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug" + ] + }, + "org-membership": { + "title": "Org Membership", + "description": "Org Membership", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/orgs/octocat/memberships/defunkt" + }, + "state": { "type": "string", "example": "active" }, + "role": { "type": "string", "example": "admin" }, + "organization_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/orgs/octocat" + }, + "organization": { + "$ref": "#/components/schemas/organization-simple" + }, + "user": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + }, + "permissions": { + "type": "object", + "properties": { "can_create_repository": { "type": "boolean" } }, + "required": ["can_create_repository"] + } + }, + "required": [ + "state", + "role", + "organization_url", + "url", + "organization", + "user" + ] + }, + "migration": { + "title": "Migration", + "description": "A migration.", + "type": "object", + "properties": { + "id": { "type": "integer", "example": 79 }, + "owner": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + }, + "guid": { + "type": "string", + "example": "0b989ba4-242f-11e5-81e1-c7b6966d2516" + }, + "state": { "type": "string", "example": "pending" }, + "lock_repositories": { "type": "boolean", "example": true }, + "exclude_attachments": { "type": "boolean" }, + "repositories": { + "type": "array", + "items": { "$ref": "#/components/schemas/repository" } + }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/orgs/octo-org/migrations/79" + }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2015-07-06T15:33:38-07:00" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "example": "2015-07-06T15:33:38-07:00" + }, + "node_id": { "type": "string" }, + "archive_url": { "type": "string", "format": "uri" }, + "exclude": { "type": "array", "items": {} } + }, + "required": [ + "id", + "node_id", + "owner", + "guid", + "state", + "lock_repositories", + "exclude_attachments", + "repositories", + "url", + "created_at", + "updated_at" + ] + }, + "project": { + "title": "Project", + "description": "Projects are a way to organize columns and cards of work.", + "type": "object", + "properties": { + "owner_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/api-playground/projects-test" + }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/projects/1002604" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/api-playground/projects-test/projects/12" + }, + "columns_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/projects/1002604/columns" + }, + "id": { "type": "integer", "example": 1002604 }, + "node_id": { + "type": "string", + "example": "MDc6UHJvamVjdDEwMDI2MDQ=" + }, + "name": { + "description": "Name of the project", + "example": "Week One Sprint", + "type": "string" + }, + "body": { + "description": "Body of the project", + "example": "This project represents the sprint of the first week in January", + "type": "string", + "nullable": true + }, + "number": { "type": "integer", "example": 1 }, + "state": { + "description": "State of the project; either 'open' or 'closed'", + "example": "open", + "type": "string" + }, + "creator": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2011-04-10T20:09:31Z" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "example": "2014-03-03T18:58:10Z" + }, + "organization_permission": { + "description": "The baseline permission that all organization members have on this project", + "type": "string", + "enum": ["read", "write", "admin", "none"] + }, + "private": { + "description": "Whether or not this project can be seen by everyone.", + "type": "boolean" + }, + "cards_url": { "type": "string", "format": "uri" }, + "permissions": { + "type": "object", + "properties": { + "read": { "type": "boolean" }, + "write": { "type": "boolean" }, + "admin": { "type": "boolean" } + }, + "required": ["read", "write", "admin"] + } + }, + "required": [ + "id", + "node_id", + "number", + "name", + "body", + "state", + "url", + "html_url", + "owner_url", + "creator", + "columns_url", + "created_at", + "updated_at" + ] + }, + "group-mapping": { + "title": "GroupMapping", + "description": "External Groups to be mapped to a team for membership", + "type": "object", + "properties": { + "groups": { + "description": "Array of groups to be mapped to this team", + "example": [ + { + "group_id": "111a1a11-aaa1-1aaa-11a1-a1a1a1a1a1aa", + "group_name": "saml-azuread-test", + "group_description": "A group of Developers working on AzureAD SAML SSO" + }, + { + "group_id": "2bb2bb2b-bb22-22bb-2bb2-bb2bbb2bb2b2", + "group_name": "saml-azuread-test2", + "group_description": "Another group of Developers working on AzureAD SAML SSO" + } + ], + "type": "array", + "items": { + "type": "object", + "required": ["group_id", "group_name", "group_description"], + "properties": { + "group_id": { + "description": "The ID of the group", + "example": "111a1a11-aaa1-1aaa-11a1-a1a1a1a1a1aa", + "type": "string" + }, + "group_name": { + "description": "The name of the group", + "example": "saml-azuread-test", + "type": "string" + }, + "group_description": { + "description": "a description of the group", + "example": "A group of Developers working on AzureAD SAML SSO", + "type": "string" + } + } + } + }, + "group_id": { + "description": "The ID of the group", + "example": "111a1a11-aaa1-1aaa-11a1-a1a1a1a1a1aa", + "type": "string" + }, + "group_name": { + "description": "The name of the group", + "example": "saml-azuread-test", + "type": "string" + }, + "group_description": { + "description": "a description of the group", + "example": "A group of Developers working on AzureAD SAML SSO", + "type": "string" + }, + "status": { + "description": "synchronization status for this group mapping", + "example": "unsynced", + "type": "string" + }, + "synced_at": { + "description": "the time of the last sync for this group-mapping", + "example": "2019-06-03 22:27:15:000 -700", + "type": "string" + } + } + }, + "team-full": { + "title": "Full Team", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the team", + "example": 42, + "type": "integer" + }, + "node_id": { "type": "string", "example": "MDQ6VGVhbTE=" }, + "url": { + "description": "URL for the team", + "example": "https://api.github.com/organizations/1/team/1", + "type": "string", + "format": "uri" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/orgs/rails/teams/core" + }, + "name": { + "description": "Name of the team", + "example": "Developers", + "type": "string" + }, + "slug": { "type": "string", "example": "justice-league" }, + "description": { + "type": "string", + "example": "A great team.", + "nullable": true + }, + "privacy": { + "description": "The level of privacy this team should have", + "type": "string", + "enum": ["closed", "secret"], + "example": "closed" + }, + "permission": { + "description": "Permission that the team will have for its repositories", + "example": "push", + "type": "string" + }, + "members_url": { + "type": "string", + "example": "https://api.github.com/organizations/1/team/1/members{/member}" + }, + "repositories_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/organizations/1/team/1/repos" + }, + "parent": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/team-simple" }] + }, + "members_count": { "type": "integer", "example": 3 }, + "repos_count": { "type": "integer", "example": 10 }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2017-07-14T16:53:42Z" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "example": "2017-08-17T12:37:15Z" + }, + "organization": { "$ref": "#/components/schemas/organization-full" }, + "ldap_dn": { + "description": "Distinguished Name (DN) that team maps to within LDAP environment", + "example": "uid=example,ou=users,dc=github,dc=com", + "type": "string" + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug", + "created_at", + "updated_at", + "members_count", + "repos_count", + "organization" + ] + }, + "team-discussion": { + "title": "Team Discussion", + "description": "A team discussion is a persistent record of a free-form conversation within a team.", + "type": "object", + "properties": { + "author": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + }, + "body": { + "description": "The main text of the discussion.", + "example": "Please suggest improvements to our workflow in comments.", + "type": "string" + }, + "body_html": { + "type": "string", + "example": "

Hi! This is an area for us to collaborate as a team

" + }, + "body_version": { + "description": "The current version of the body content. If provided, this update operation will be rejected if the given version does not match the latest version on the server.", + "example": "0307116bbf7ced493b8d8a346c650b71", + "type": "string" + }, + "comments_count": { "type": "integer", "example": 0 }, + "comments_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/organizations/1/team/2343027/discussions/1/comments" + }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2018-01-25T18:56:31Z" + }, + "last_edited_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/orgs/github/teams/justice-league/discussions/1" + }, + "node_id": { + "type": "string", + "example": "MDE0OlRlYW1EaXNjdXNzaW9uMQ==" + }, + "number": { + "description": "The unique sequence number of a team discussion.", + "example": 42, + "type": "integer" + }, + "pinned": { + "description": "Whether or not this discussion should be pinned for easy retrieval.", + "example": true, + "type": "boolean" + }, + "private": { + "description": "Whether or not this discussion should be restricted to team members and organization administrators.", + "example": true, + "type": "boolean" + }, + "team_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/organizations/1/team/2343027" + }, + "title": { + "description": "The title of the discussion.", + "example": "How can we improve our workflow?", + "type": "string" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "example": "2018-01-25T18:56:31Z" + }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/organizations/1/team/2343027/discussions/1" + }, + "reactions": { "$ref": "#/components/schemas/reaction-rollup" } + }, + "required": [ + "author", + "body", + "body_html", + "body_version", + "comments_count", + "comments_url", + "created_at", + "last_edited_at", + "html_url", + "pinned", + "private", + "node_id", + "number", + "team_url", + "title", + "updated_at", + "url" + ] + }, + "team-discussion-comment": { + "title": "Team Discussion Comment", + "description": "A reply to a discussion within a team.", + "type": "object", + "properties": { + "author": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + }, + "body": { + "description": "The main text of the comment.", + "example": "I agree with this suggestion.", + "type": "string" + }, + "body_html": { + "type": "string", + "example": "

Do you like apples?

" + }, + "body_version": { + "description": "The current version of the body content. If provided, this update operation will be rejected if the given version does not match the latest version on the server.", + "example": "0307116bbf7ced493b8d8a346c650b71", + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2018-01-15T23:53:58Z" + }, + "last_edited_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "discussion_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/organizations/1/team/2403582/discussions/1" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/orgs/github/teams/justice-league/discussions/1/comments/1" + }, + "node_id": { + "type": "string", + "example": "MDIxOlRlYW1EaXNjdXNzaW9uQ29tbWVudDE=" + }, + "number": { + "description": "The unique sequence number of a team discussion comment.", + "example": 42, + "type": "integer" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "example": "2018-01-15T23:53:58Z" + }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/organizations/1/team/2403582/discussions/1/comments/1" + }, + "reactions": { "$ref": "#/components/schemas/reaction-rollup" } + }, + "required": [ + "author", + "body", + "body_html", + "body_version", + "created_at", + "last_edited_at", + "discussion_url", + "html_url", + "node_id", + "number", + "updated_at", + "url" + ] + }, + "reaction": { + "title": "Reaction", + "description": "Reactions to conversations provide a way to help people express their feelings more simply and effectively.", + "type": "object", + "properties": { + "id": { "type": "integer", "example": 1 }, + "node_id": { "type": "string", "example": "MDg6UmVhY3Rpb24x" }, + "user": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + }, + "content": { + "description": "The reaction to use", + "example": "heart", + "type": "string", + "enum": [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ] + }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2016-05-20T20:09:31Z" + } + }, + "required": ["id", "node_id", "user", "content", "created_at"] + }, + "team-membership": { + "title": "Team Membership", + "description": "Team Membership", + "type": "object", + "properties": { + "url": { "type": "string", "format": "uri" }, + "role": { + "description": "The role of the user in the team.", + "enum": ["member", "maintainer"], + "default": "member", + "example": "member", + "type": "string" + }, + "state": { "type": "string" } + }, + "required": ["role", "state", "url"] + }, + "team-project": { + "title": "Team Project", + "description": "A team's access to a project.", + "type": "object", + "properties": { + "owner_url": { "type": "string" }, + "url": { "type": "string" }, + "html_url": { "type": "string" }, + "columns_url": { "type": "string" }, + "id": { "type": "integer" }, + "node_id": { "type": "string" }, + "name": { "type": "string" }, + "body": { "type": "string", "nullable": true }, + "number": { "type": "integer" }, + "state": { "type": "string" }, + "creator": { "$ref": "#/components/schemas/simple-user" }, + "created_at": { "type": "string" }, + "updated_at": { "type": "string" }, + "organization_permission": { "type": "string" }, + "private": { "type": "boolean" }, + "permissions": { + "type": "object", + "properties": { + "read": { "type": "boolean" }, + "write": { "type": "boolean" }, + "admin": { "type": "boolean" } + } + } + } + }, + "team-repository": { + "title": "Team Repository", + "description": "A team's access to a repository.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the repository", + "example": 42, + "type": "integer" + }, + "node_id": { + "type": "string", + "example": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5" + }, + "name": { + "description": "The name of the repository.", + "type": "string", + "example": "Team Environment" + }, + "full_name": { "type": "string", "example": "octocat/Hello-World" }, + "license": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/license-simple" }] + }, + "forks": { "type": "integer" }, + "permissions": { + "type": "object", + "properties": { + "admin": { "type": "boolean" }, + "pull": { "type": "boolean" }, + "triage": { "type": "boolean" }, + "push": { "type": "boolean" }, + "maintain": { "type": "boolean" } + }, + "required": ["admin", "pull", "push"] + }, + "owner": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + }, + "private": { + "description": "Whether the repository is private or public.", + "default": false, + "type": "boolean" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat/Hello-World" + }, + "description": { + "type": "string", + "example": "This your first repo!", + "nullable": true + }, + "fork": { "type": "boolean" }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World" + }, + "archive_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}" + }, + "assignees_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/assignees{/user}" + }, + "blobs_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}" + }, + "branches_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/branches{/branch}" + }, + "collaborators_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}" + }, + "comments_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/comments{/number}" + }, + "commits_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/commits{/sha}" + }, + "compare_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}" + }, + "contents_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/contents/{+path}" + }, + "contributors_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/contributors" + }, + "deployments_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/deployments" + }, + "downloads_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/downloads" + }, + "events_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/events" + }, + "forks_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/forks" + }, + "git_commits_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/commits{/sha}" + }, + "git_refs_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/refs{/sha}" + }, + "git_tags_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/tags{/sha}" + }, + "git_url": { + "type": "string", + "example": "git:github.com/octocat/Hello-World.git" + }, + "issue_comment_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues/comments{/number}" + }, + "issue_events_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues/events{/number}" + }, + "issues_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues{/number}" + }, + "keys_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/keys{/key_id}" + }, + "labels_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/labels{/name}" + }, + "languages_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/languages" + }, + "merges_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/merges" + }, + "milestones_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/milestones{/number}" + }, + "notifications_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}" + }, + "pulls_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/pulls{/number}" + }, + "releases_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/releases{/id}" + }, + "ssh_url": { + "type": "string", + "example": "git@github.com:octocat/Hello-World.git" + }, + "stargazers_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/stargazers" + }, + "statuses_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/statuses/{sha}" + }, + "subscribers_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/subscribers" + }, + "subscription_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/subscription" + }, + "tags_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/tags" + }, + "teams_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/teams" + }, + "trees_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/trees{/sha}" + }, + "clone_url": { + "type": "string", + "example": "https://github.com/octocat/Hello-World.git" + }, + "mirror_url": { + "type": "string", + "format": "uri", + "example": "git:git.example.com/octocat/Hello-World", + "nullable": true + }, + "hooks_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/hooks" + }, + "svn_url": { + "type": "string", + "format": "uri", + "example": "https://svn.github.com/octocat/Hello-World" + }, + "homepage": { + "type": "string", + "format": "uri", + "example": "https://github.com", + "nullable": true + }, + "language": { "type": "string", "nullable": true }, + "forks_count": { "type": "integer", "example": 9 }, + "stargazers_count": { "type": "integer", "example": 80 }, + "watchers_count": { "type": "integer", "example": 80 }, + "size": { "type": "integer", "example": 108 }, + "default_branch": { + "description": "The default branch of the repository.", + "type": "string", + "example": "master" + }, + "open_issues_count": { "type": "integer", "example": 0 }, + "is_template": { + "description": "Whether this repository acts as a template that can be used to generate new repositories.", + "default": false, + "type": "boolean", + "example": true + }, + "topics": { "type": "array", "items": { "type": "string" } }, + "has_issues": { + "description": "Whether issues are enabled.", + "default": true, + "type": "boolean", + "example": true + }, + "has_projects": { + "description": "Whether projects are enabled.", + "default": true, + "type": "boolean", + "example": true + }, + "has_wiki": { + "description": "Whether the wiki is enabled.", + "default": true, + "type": "boolean", + "example": true + }, + "has_pages": { "type": "boolean" }, + "has_downloads": { + "description": "Whether downloads are enabled.", + "default": true, + "type": "boolean", + "example": true + }, + "archived": { + "description": "Whether the repository is archived.", + "default": false, + "type": "boolean" + }, + "disabled": { + "type": "boolean", + "description": "Returns whether or not this repository disabled." + }, + "visibility": { + "description": "The repository visibility: public, private, or internal.", + "default": "public", + "type": "string" + }, + "pushed_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:06:43Z", + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:01:12Z", + "nullable": true + }, + "updated_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:14:43Z", + "nullable": true + }, + "allow_rebase_merge": { + "description": "Whether to allow rebase merges for pull requests.", + "default": true, + "type": "boolean", + "example": true + }, + "template_repository": { + "type": "object", + "nullable": true, + "properties": { + "id": { "type": "integer" }, + "node_id": { "type": "string" }, + "name": { "type": "string" }, + "full_name": { "type": "string" }, + "owner": { + "type": "object", + "properties": { + "login": { "type": "string" }, + "id": { "type": "integer" }, + "node_id": { "type": "string" }, + "avatar_url": { "type": "string" }, + "gravatar_id": { "type": "string" }, + "url": { "type": "string" }, + "html_url": { "type": "string" }, + "followers_url": { "type": "string" }, + "following_url": { "type": "string" }, + "gists_url": { "type": "string" }, + "starred_url": { "type": "string" }, + "subscriptions_url": { "type": "string" }, + "organizations_url": { "type": "string" }, + "repos_url": { "type": "string" }, + "events_url": { "type": "string" }, + "received_events_url": { "type": "string" }, + "type": { "type": "string" }, + "site_admin": { "type": "boolean" } + } + }, + "private": { "type": "boolean" }, + "html_url": { "type": "string" }, + "description": { "type": "string" }, + "fork": { "type": "boolean" }, + "url": { "type": "string" }, + "archive_url": { "type": "string" }, + "assignees_url": { "type": "string" }, + "blobs_url": { "type": "string" }, + "branches_url": { "type": "string" }, + "collaborators_url": { "type": "string" }, + "comments_url": { "type": "string" }, + "commits_url": { "type": "string" }, + "compare_url": { "type": "string" }, + "contents_url": { "type": "string" }, + "contributors_url": { "type": "string" }, + "deployments_url": { "type": "string" }, + "downloads_url": { "type": "string" }, + "events_url": { "type": "string" }, + "forks_url": { "type": "string" }, + "git_commits_url": { "type": "string" }, + "git_refs_url": { "type": "string" }, + "git_tags_url": { "type": "string" }, + "git_url": { "type": "string" }, + "issue_comment_url": { "type": "string" }, + "issue_events_url": { "type": "string" }, + "issues_url": { "type": "string" }, + "keys_url": { "type": "string" }, + "labels_url": { "type": "string" }, + "languages_url": { "type": "string" }, + "merges_url": { "type": "string" }, + "milestones_url": { "type": "string" }, + "notifications_url": { "type": "string" }, + "pulls_url": { "type": "string" }, + "releases_url": { "type": "string" }, + "ssh_url": { "type": "string" }, + "stargazers_url": { "type": "string" }, + "statuses_url": { "type": "string" }, + "subscribers_url": { "type": "string" }, + "subscription_url": { "type": "string" }, + "tags_url": { "type": "string" }, + "teams_url": { "type": "string" }, + "trees_url": { "type": "string" }, + "clone_url": { "type": "string" }, + "mirror_url": { "type": "string" }, + "hooks_url": { "type": "string" }, + "svn_url": { "type": "string" }, + "homepage": { "type": "string" }, + "language": { "type": "string" }, + "forks_count": { "type": "integer" }, + "stargazers_count": { "type": "integer" }, + "watchers_count": { "type": "integer" }, + "size": { "type": "integer" }, + "default_branch": { "type": "string" }, + "open_issues_count": { "type": "integer" }, + "is_template": { "type": "boolean" }, + "topics": { "type": "array", "items": { "type": "string" } }, + "has_issues": { "type": "boolean" }, + "has_projects": { "type": "boolean" }, + "has_wiki": { "type": "boolean" }, + "has_pages": { "type": "boolean" }, + "has_downloads": { "type": "boolean" }, + "archived": { "type": "boolean" }, + "disabled": { "type": "boolean" }, + "visibility": { "type": "string" }, + "pushed_at": { "type": "string" }, + "created_at": { "type": "string" }, + "updated_at": { "type": "string" }, + "permissions": { + "type": "object", + "properties": { + "admin": { "type": "boolean" }, + "push": { "type": "boolean" }, + "pull": { "type": "boolean" } + } + }, + "allow_rebase_merge": { "type": "boolean" }, + "template_repository": { "type": "string" }, + "temp_clone_token": { "type": "string" }, + "allow_squash_merge": { "type": "boolean" }, + "delete_branch_on_merge": { "type": "boolean" }, + "allow_merge_commit": { "type": "boolean" }, + "subscribers_count": { "type": "integer" }, + "network_count": { "type": "integer" } + } + }, + "temp_clone_token": { "type": "string" }, + "allow_squash_merge": { + "description": "Whether to allow squash merges for pull requests.", + "default": true, + "type": "boolean", + "example": true + }, + "delete_branch_on_merge": { + "description": "Whether to delete head branches when pull requests are merged", + "default": false, + "type": "boolean", + "example": false + }, + "allow_merge_commit": { + "description": "Whether to allow merge commits for pull requests.", + "default": true, + "type": "boolean", + "example": true + }, + "subscribers_count": { "type": "integer" }, + "network_count": { "type": "integer" }, + "open_issues": { "type": "integer" }, + "watchers": { "type": "integer" }, + "master_branch": { "type": "string" } + }, + "required": [ + "archive_url", + "assignees_url", + "blobs_url", + "branches_url", + "collaborators_url", + "comments_url", + "commits_url", + "compare_url", + "contents_url", + "contributors_url", + "deployments_url", + "description", + "downloads_url", + "events_url", + "fork", + "forks_url", + "full_name", + "git_commits_url", + "git_refs_url", + "git_tags_url", + "hooks_url", + "html_url", + "id", + "node_id", + "issue_comment_url", + "issue_events_url", + "issues_url", + "keys_url", + "labels_url", + "languages_url", + "merges_url", + "milestones_url", + "name", + "notifications_url", + "owner", + "private", + "pulls_url", + "releases_url", + "stargazers_url", + "statuses_url", + "subscribers_url", + "subscription_url", + "tags_url", + "teams_url", + "trees_url", + "url", + "clone_url", + "default_branch", + "forks", + "forks_count", + "git_url", + "has_downloads", + "has_issues", + "has_projects", + "has_wiki", + "has_pages", + "homepage", + "language", + "archived", + "disabled", + "mirror_url", + "open_issues", + "open_issues_count", + "license", + "pushed_at", + "size", + "ssh_url", + "stargazers_count", + "svn_url", + "watchers", + "watchers_count", + "created_at", + "updated_at" + ] + }, + "project-card": { + "title": "Project Card", + "description": "Project cards represent a scope of work.", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/projects/columns/cards/1478" + }, + "id": { + "description": "The project card's ID", + "example": 42, + "type": "integer" + }, + "node_id": { + "type": "string", + "example": "MDExOlByb2plY3RDYXJkMTQ3OA==" + }, + "note": { + "type": "string", + "example": "Add payload for delete Project column", + "nullable": true + }, + "creator": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2016-09-05T14:21:06Z" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "example": "2016-09-05T14:20:22Z" + }, + "archived": { + "description": "Whether or not the card is archived", + "example": false, + "type": "boolean" + }, + "column_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/projects/columns/367" + }, + "content_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/api-playground/projects-test/issues/3" + }, + "project_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/projects/120" + } + }, + "required": [ + "id", + "node_id", + "note", + "url", + "column_url", + "project_url", + "creator", + "created_at", + "updated_at" + ] + }, + "project-column": { + "title": "Project Column", + "description": "Project columns contain cards of work.", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/projects/columns/367" + }, + "project_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/projects/120" + }, + "cards_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/projects/columns/367/cards" + }, + "id": { + "description": "The unique identifier of the project column", + "example": 42, + "type": "integer" + }, + "node_id": { + "type": "string", + "example": "MDEzOlByb2plY3RDb2x1bW4zNjc=" + }, + "name": { + "description": "Name of the project column", + "example": "Remaining tasks", + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2016-09-05T14:18:44Z" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "example": "2016-09-05T14:22:28Z" + } + }, + "required": [ + "id", + "node_id", + "url", + "project_url", + "cards_url", + "name", + "created_at", + "updated_at" + ] + }, + "repository-collaborator-permission": { + "title": "Repository Collaborator Permission", + "description": "Repository Collaborator Permission", + "type": "object", + "properties": { + "permission": { "type": "string" }, + "user": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + } + }, + "required": ["permission", "user"] + }, + "rate-limit": { + "title": "Rate Limit", + "type": "object", + "properties": { + "limit": { "type": "integer" }, + "remaining": { "type": "integer" }, + "reset": { "type": "integer" } + }, + "required": ["limit", "remaining", "reset"] + }, + "rate-limit-overview": { + "title": "Rate Limit Overview", + "description": "Rate Limit Overview", + "type": "object", + "properties": { + "resources": { + "type": "object", + "properties": { + "core": { "$ref": "#/components/schemas/rate-limit" }, + "graphql": { "$ref": "#/components/schemas/rate-limit" }, + "search": { "$ref": "#/components/schemas/rate-limit" }, + "source_import": { "$ref": "#/components/schemas/rate-limit" }, + "integration_manifest": { + "$ref": "#/components/schemas/rate-limit" + }, + "code_scanning_upload": { + "$ref": "#/components/schemas/rate-limit" + } + }, + "required": ["core", "search"] + }, + "rate": { "$ref": "#/components/schemas/rate-limit" } + }, + "required": ["rate", "resources"] + }, + "full-repository": { + "title": "Full Repository", + "description": "Full Repository", + "type": "object", + "properties": { + "id": { "type": "integer", "example": 1296269 }, + "node_id": { + "type": "string", + "example": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5" + }, + "name": { "type": "string", "example": "Hello-World" }, + "full_name": { "type": "string", "example": "octocat/Hello-World" }, + "owner": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + }, + "private": { "type": "boolean" }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat/Hello-World" + }, + "description": { + "type": "string", + "example": "This your first repo!", + "nullable": true + }, + "fork": { "type": "boolean" }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World" + }, + "archive_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}" + }, + "assignees_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/assignees{/user}" + }, + "blobs_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}" + }, + "branches_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/branches{/branch}" + }, + "collaborators_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}" + }, + "comments_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/comments{/number}" + }, + "commits_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/commits{/sha}" + }, + "compare_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}" + }, + "contents_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/contents/{+path}" + }, + "contributors_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/contributors" + }, + "deployments_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/deployments" + }, + "downloads_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/downloads" + }, + "events_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/events" + }, + "forks_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/forks" + }, + "git_commits_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/commits{/sha}" + }, + "git_refs_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/refs{/sha}" + }, + "git_tags_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/tags{/sha}" + }, + "git_url": { + "type": "string", + "example": "git:github.com/octocat/Hello-World.git" + }, + "issue_comment_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues/comments{/number}" + }, + "issue_events_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues/events{/number}" + }, + "issues_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/issues{/number}" + }, + "keys_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/keys{/key_id}" + }, + "labels_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/labels{/name}" + }, + "languages_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/languages" + }, + "merges_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/merges" + }, + "milestones_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/milestones{/number}" + }, + "notifications_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}" + }, + "pulls_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/pulls{/number}" + }, + "releases_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/releases{/id}" + }, + "ssh_url": { + "type": "string", + "example": "git@github.com:octocat/Hello-World.git" + }, + "stargazers_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/stargazers" + }, + "statuses_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/statuses/{sha}" + }, + "subscribers_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/subscribers" + }, + "subscription_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/subscription" + }, + "tags_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/tags" + }, + "teams_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/teams" + }, + "trees_url": { + "type": "string", + "example": "http://api.github.com/repos/octocat/Hello-World/git/trees{/sha}" + }, + "clone_url": { + "type": "string", + "example": "https://github.com/octocat/Hello-World.git" + }, + "mirror_url": { + "type": "string", + "format": "uri", + "example": "git:git.example.com/octocat/Hello-World", + "nullable": true + }, + "hooks_url": { + "type": "string", + "format": "uri", + "example": "http://api.github.com/repos/octocat/Hello-World/hooks" + }, + "svn_url": { + "type": "string", + "format": "uri", + "example": "https://svn.github.com/octocat/Hello-World" + }, + "homepage": { + "type": "string", + "format": "uri", + "example": "https://github.com", + "nullable": true + }, + "language": { "type": "string", "nullable": true }, + "forks_count": { "type": "integer", "example": 9 }, + "stargazers_count": { "type": "integer", "example": 80 }, + "watchers_count": { "type": "integer", "example": 80 }, + "size": { "type": "integer", "example": 108 }, + "default_branch": { "type": "string", "example": "master" }, + "open_issues_count": { "type": "integer", "example": 0 }, + "is_template": { "type": "boolean", "example": true }, + "topics": { + "type": "array", + "items": { "type": "string" }, + "example": ["octocat", "atom", "electron", "API"] + }, + "has_issues": { "type": "boolean", "example": true }, + "has_projects": { "type": "boolean", "example": true }, + "has_wiki": { "type": "boolean", "example": true }, + "has_pages": { "type": "boolean" }, + "has_downloads": { "type": "boolean", "example": true }, + "archived": { "type": "boolean" }, + "disabled": { + "type": "boolean", + "description": "Returns whether or not this repository disabled." + }, + "visibility": { + "description": "The repository visibility: public, private, or internal.", + "type": "string", + "example": "public" + }, + "pushed_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:06:43Z" + }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:01:12Z" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:14:43Z" + }, + "permissions": { + "type": "object", + "properties": { + "admin": { "type": "boolean" }, + "pull": { "type": "boolean" }, + "push": { "type": "boolean" } + }, + "required": ["admin", "pull", "push"] + }, + "allow_rebase_merge": { "type": "boolean", "example": true }, + "template_repository": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/repository" }] + }, + "temp_clone_token": { "type": "string", "nullable": true }, + "allow_squash_merge": { "type": "boolean", "example": true }, + "delete_branch_on_merge": { "type": "boolean", "example": false }, + "allow_merge_commit": { "type": "boolean", "example": true }, + "subscribers_count": { "type": "integer", "example": 42 }, + "network_count": { "type": "integer", "example": 0 }, + "license": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/license-simple" }] + }, + "organization": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + }, + "parent": { "$ref": "#/components/schemas/repository" }, + "source": { "$ref": "#/components/schemas/repository" }, + "forks": { "type": "integer" }, + "master_branch": { "type": "string" }, + "open_issues": { "type": "integer" }, + "watchers": { "type": "integer" }, + "anonymous_access_enabled": { + "description": "Whether anonymous git access is allowed.", + "default": true, + "type": "boolean" + } + }, + "required": [ + "archive_url", + "assignees_url", + "blobs_url", + "branches_url", + "collaborators_url", + "comments_url", + "commits_url", + "compare_url", + "contents_url", + "contributors_url", + "deployments_url", + "description", + "downloads_url", + "events_url", + "fork", + "forks_url", + "full_name", + "git_commits_url", + "git_refs_url", + "git_tags_url", + "hooks_url", + "html_url", + "id", + "node_id", + "issue_comment_url", + "issue_events_url", + "issues_url", + "keys_url", + "labels_url", + "languages_url", + "merges_url", + "milestones_url", + "name", + "notifications_url", + "owner", + "private", + "pulls_url", + "releases_url", + "stargazers_url", + "statuses_url", + "subscribers_url", + "subscription_url", + "tags_url", + "teams_url", + "trees_url", + "url", + "clone_url", + "default_branch", + "forks", + "forks_count", + "git_url", + "has_downloads", + "has_issues", + "has_projects", + "has_wiki", + "has_pages", + "homepage", + "language", + "archived", + "disabled", + "mirror_url", + "open_issues", + "open_issues_count", + "license", + "pushed_at", + "size", + "ssh_url", + "stargazers_count", + "svn_url", + "watchers", + "watchers_count", + "created_at", + "updated_at", + "network_count", + "subscribers_count" + ] + }, + "artifact": { + "title": "Artifact", + "description": "An artifact", + "type": "object", + "properties": { + "id": { "type": "integer", "example": 5 }, + "node_id": { "type": "string", "example": "MDEwOkNoZWNrU3VpdGU1" }, + "name": { + "description": "The name of the artifact.", + "type": "string", + "example": "AdventureWorks.Framework" + }, + "size_in_bytes": { + "description": "The size in bytes of the artifact.", + "type": "integer", + "example": 12345 + }, + "url": { + "type": "string", + "example": "https://api.github.com/repos/github/hello-world/actions/artifacts/5" + }, + "archive_download_url": { + "type": "string", + "example": "https://api.github.com/repos/github/hello-world/actions/artifacts/5/zip" + }, + "expired": { + "description": "Whether or not the artifact has expired.", + "type": "boolean" + }, + "created_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "expires_at": { "type": "string", "format": "date-time" }, + "updated_at": { + "type": "string", + "format": "date-time", + "nullable": true + } + }, + "required": [ + "id", + "node_id", + "name", + "size_in_bytes", + "url", + "archive_download_url", + "expired", + "created_at", + "expires_at", + "updated_at" + ] + }, + "job": { + "title": "Job", + "description": "Information of a job execution in a workflow run", + "type": "object", + "properties": { + "id": { + "description": "The id of the job.", + "example": 21, + "type": "integer" + }, + "run_id": { + "description": "The id of the associated workflow run.", + "example": 5, + "type": "integer" + }, + "run_url": { + "type": "string", + "example": "https://api.github.com/repos/github/hello-world/actions/runs/5" + }, + "node_id": { "type": "string", "example": "MDg6Q2hlY2tSdW40" }, + "head_sha": { + "description": "The SHA of the commit that is being run.", + "example": "009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d", + "type": "string" + }, + "url": { + "type": "string", + "example": "https://api.github.com/repos/github/hello-world/actions/jobs/21" + }, + "html_url": { + "type": "string", + "example": "https://github.com/github/hello-world/runs/4", + "nullable": true + }, + "status": { + "description": "The phase of the lifecycle that the job is currently in.", + "example": "queued", + "type": "string", + "enum": ["queued", "in_progress", "completed"] + }, + "conclusion": { + "description": "The outcome of the job.", + "example": "success", + "type": "string", + "nullable": true + }, + "started_at": { + "description": "The time that the job started, in ISO 8601 format.", + "example": "2019-08-08T08:00:00-07:00", + "format": "date-time", + "type": "string" + }, + "completed_at": { + "description": "The time that the job finished, in ISO 8601 format.", + "example": "2019-08-08T08:00:00-07:00", + "format": "date-time", + "type": "string", + "nullable": true + }, + "name": { + "description": "The name of the job.", + "example": "test-coverage", + "type": "string" + }, + "steps": { + "description": "Steps in this job.", + "type": "array", + "items": { + "type": "object", + "required": ["name", "status", "conclusion", "number"], + "properties": { + "status": { + "description": "The phase of the lifecycle that the job is currently in.", + "example": "queued", + "type": "string", + "enum": ["queued", "in_progress", "completed"] + }, + "conclusion": { + "description": "The outcome of the job.", + "example": "success", + "type": "string", + "nullable": true + }, + "name": { + "description": "The name of the job.", + "example": "test-coverage", + "type": "string" + }, + "number": { "type": "integer", "example": 1 }, + "started_at": { + "description": "The time that the step started, in ISO 8601 format.", + "example": "2019-08-08T08:00:00-07:00", + "format": "date-time", + "type": "string", + "nullable": true + }, + "completed_at": { + "description": "The time that the job finished, in ISO 8601 format.", + "example": "2019-08-08T08:00:00-07:00", + "format": "date-time", + "type": "string", + "nullable": true + } + } + } + }, + "check_run_url": { + "type": "string", + "example": "https://api.github.com/repos/github/hello-world/check-runs/4" + } + }, + "required": [ + "id", + "node_id", + "run_id", + "run_url", + "head_sha", + "name", + "url", + "html_url", + "status", + "conclusion", + "started_at", + "completed_at", + "check_run_url" + ] + }, + "actions-enabled": { + "type": "boolean", + "description": "Whether GitHub Actions is enabled on the repository." + }, + "actions-repository-permissions": { + "type": "object", + "properties": { + "enabled": { "$ref": "#/components/schemas/actions-enabled" }, + "allowed_actions": { "$ref": "#/components/schemas/allowed-actions" }, + "selected_actions_url": { + "$ref": "#/components/schemas/selected-actions-url" + } + } + }, + "pull-request-minimal": { + "title": "Pull Request Minimal", + "type": "object", + "properties": { + "id": { "type": "integer" }, + "number": { "type": "integer" }, + "url": { "type": "string" }, + "head": { + "type": "object", + "properties": { + "ref": { "type": "string" }, + "sha": { "type": "string" }, + "repo": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "url": { "type": "string" }, + "name": { "type": "string" } + }, + "required": ["id", "url", "name"] + } + }, + "required": ["ref", "sha", "repo"] + }, + "base": { + "type": "object", + "properties": { + "ref": { "type": "string" }, + "sha": { "type": "string" }, + "repo": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "url": { "type": "string" }, + "name": { "type": "string" } + }, + "required": ["id", "url", "name"] + } + }, + "required": ["ref", "sha", "repo"] + } + }, + "required": ["id", "number", "url", "head", "base"] + }, + "simple-commit": { + "title": "Simple Commit", + "description": "Simple Commit", + "type": "object", + "properties": { + "id": { "type": "string" }, + "tree_id": { "type": "string" }, + "message": { "type": "string" }, + "timestamp": { "type": "string", "format": "date-time" }, + "author": { + "type": "object", + "properties": { + "name": { "type": "string" }, + "email": { "type": "string" } + }, + "required": ["name", "email"], + "nullable": true + }, + "committer": { + "type": "object", + "properties": { + "name": { "type": "string" }, + "email": { "type": "string" } + }, + "required": ["name", "email"], + "nullable": true + } + }, + "required": [ + "id", + "tree_id", + "message", + "timestamp", + "author", + "committer" + ] + }, + "workflow-run": { + "title": "Workflow Run", + "description": "An invocation of a workflow", + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "The ID of the workflow run.", + "example": 5 + }, + "name": { + "type": "string", + "description": "The name of the workflow run.", + "example": "Build" + }, + "node_id": { "type": "string", "example": "MDEwOkNoZWNrU3VpdGU1" }, + "head_branch": { + "type": "string", + "nullable": true, + "example": "master" + }, + "head_sha": { + "description": "The SHA of the head commit that points to the version of the worflow being run.", + "example": "009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d", + "type": "string" + }, + "run_number": { + "type": "integer", + "description": "The auto incrementing run number for the workflow run.", + "example": 106 + }, + "event": { "type": "string", "example": "push" }, + "status": { + "type": "string", + "nullable": true, + "example": "completed" + }, + "conclusion": { + "type": "string", + "nullable": true, + "example": "neutral" + }, + "workflow_id": { + "type": "integer", + "description": "The ID of the parent workflow.", + "example": 5 + }, + "url": { + "type": "string", + "description": "The URL to the workflow run.", + "example": "https://api.github.com/repos/github/hello-world/actions/runs/5" + }, + "html_url": { + "type": "string", + "example": "https://github.com/github/hello-world/suites/4" + }, + "pull_requests": { + "type": "array", + "nullable": true, + "items": { "$ref": "#/components/schemas/pull-request-minimal" } + }, + "created_at": { + "type": "string", + "nullable": true, + "format": "date-time" + }, + "updated_at": { + "type": "string", + "nullable": true, + "format": "date-time" + }, + "jobs_url": { + "description": "The URL to the jobs for the workflow run.", + "type": "string", + "example": "https://api.github.com/repos/github/hello-world/actions/runs/5/jobs" + }, + "logs_url": { + "description": "The URL to download the logs for the workflow run.", + "type": "string", + "example": "https://api.github.com/repos/github/hello-world/actions/runs/5/logs" + }, + "check_suite_url": { + "description": "The URL to the associated check suite.", + "type": "string", + "example": "https://api.github.com/repos/github/hello-world/check-suites/12" + }, + "artifacts_url": { + "description": "The URL to the artifacts for the workflow run.", + "type": "string", + "example": "https://api.github.com/repos/github/hello-world/actions/runs/5/rerun/artifacts" + }, + "cancel_url": { + "description": "The URL to cancel the workflow run.", + "type": "string", + "example": "https://api.github.com/repos/github/hello-world/actions/runs/5/cancel" + }, + "rerun_url": { + "description": "The URL to rerun the workflow run.", + "type": "string", + "example": "https://api.github.com/repos/github/hello-world/actions/runs/5/rerun" + }, + "workflow_url": { + "description": "The URL to the workflow.", + "type": "string", + "example": "https://api.github.com/repos/github/hello-world/actions/workflows/main.yaml" + }, + "head_commit": { "$ref": "#/components/schemas/simple-commit" }, + "repository": { "$ref": "#/components/schemas/minimal-repository" }, + "head_repository": { + "$ref": "#/components/schemas/minimal-repository" + }, + "head_repository_id": { "type": "integer", "example": 5 } + }, + "required": [ + "id", + "node_id", + "head_branch", + "run_number", + "event", + "status", + "conclusion", + "head_sha", + "workflow_id", + "url", + "html_url", + "created_at", + "updated_at", + "head_commit", + "head_repository", + "repository", + "jobs_url", + "logs_url", + "check_suite_url", + "cancel_url", + "rerun_url", + "artifacts_url", + "workflow_url", + "pull_requests" + ] + }, + "workflow-run-usage": { + "title": "Workflow Run Usage", + "description": "Workflow Run Usage", + "type": "object", + "properties": { + "billable": { + "type": "object", + "properties": { + "UBUNTU": { + "type": "object", + "properties": { + "total_ms": { "type": "integer" }, + "jobs": { "type": "integer" } + } + }, + "MACOS": { + "type": "object", + "properties": { + "total_ms": { "type": "integer" }, + "jobs": { "type": "integer" } + } + }, + "WINDOWS": { + "type": "object", + "properties": { + "total_ms": { "type": "integer" }, + "jobs": { "type": "integer" } + } + } + } + }, + "run_duration_ms": { "type": "integer" } + } + }, + "actions-secret": { + "title": "Actions Secret", + "description": "Set secrets for GitHub Actions.", + "type": "object", + "properties": { + "name": { + "description": "The name of the secret.", + "example": "SECRET_TOKEN", + "type": "string" + }, + "created_at": { "type": "string", "format": "date-time" }, + "updated_at": { "type": "string", "format": "date-time" } + }, + "required": ["name", "created_at", "updated_at"] + }, + "workflow": { + "title": "Workflow", + "description": "A GitHub Actions workflow", + "type": "object", + "properties": { + "id": { "type": "integer", "example": 5 }, + "node_id": { "type": "string", "example": "MDg6V29ya2Zsb3cxMg==" }, + "name": { "type": "string", "example": "CI" }, + "path": { "type": "string", "example": "ruby.yaml" }, + "state": { + "type": "string", + "example": "active", + "enum": ["active", "deleted"] + }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2019-12-06T14:20:20.000Z" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "example": "2019-12-06T14:20:20.000Z" + }, + "url": { + "type": "string", + "example": "https://api.github.com/repos/actions/setup-ruby/workflows/5" + }, + "html_url": { + "type": "string", + "example": "https://github.com/actions/setup-ruby/blob/master/.github/workflows/ruby.yaml" + }, + "badge_url": { + "type": "string", + "example": "https://github.com/actions/setup-ruby/workflows/CI/badge.svg" + }, + "deleted_at": { + "type": "string", + "format": "date-time", + "example": "2019-12-06T14:20:20.000Z" + } + }, + "required": [ + "id", + "node_id", + "name", + "path", + "state", + "url", + "html_url", + "badge_url", + "created_at", + "updated_at" + ] + }, + "workflow-usage": { + "title": "Workflow Usage", + "description": "Workflow Usage", + "type": "object", + "properties": { + "billable": { + "type": "object", + "properties": { + "UBUNTU": { + "type": "object", + "properties": { "total_ms": { "type": "integer" } } + }, + "MACOS": { + "type": "object", + "properties": { "total_ms": { "type": "integer" } } + }, + "WINDOWS": { + "type": "object", + "properties": { "total_ms": { "type": "integer" } } + } + } + } + } + }, + "protected-branch-admin-enforced": { + "title": "Protected Branch Admin Enforced", + "description": "Protected Branch Admin Enforced", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/enforce_admins" + }, + "enabled": { "type": "boolean", "example": true } + }, + "required": ["url", "enabled"] + }, + "protected-branch-pull-request-review": { + "title": "Protected Branch Pull Request Review", + "description": "Protected Branch Pull Request Review", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/dismissal_restrictions" + }, + "dismissal_restrictions": { + "type": "object", + "properties": { + "users": { + "description": "The list of users with review dismissal access.", + "type": "array", + "items": { "$ref": "#/components/schemas/simple-user" } + }, + "teams": { + "description": "The list of teams with review dismissal access.", + "type": "array", + "items": { "$ref": "#/components/schemas/team" } + }, + "url": { + "type": "string", + "example": "\"https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions\"" + }, + "users_url": { + "type": "string", + "example": "\"https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions/users\"" + }, + "teams_url": { + "type": "string", + "example": "\"https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions/teams\"" + } + } + }, + "dismiss_stale_reviews": { "type": "boolean", "example": true }, + "require_code_owner_reviews": { "type": "boolean", "example": true }, + "required_approving_review_count": { + "type": "integer", + "minimum": 1, + "maximum": 6, + "example": 2 + } + }, + "required": ["dismiss_stale_reviews", "require_code_owner_reviews"] + }, + "branch-restriction-policy": { + "title": "Branch Restriction Policy", + "description": "Branch Restriction Policy", + "type": "object", + "properties": { + "url": { "type": "string", "format": "uri" }, + "users_url": { "type": "string", "format": "uri" }, + "teams_url": { "type": "string", "format": "uri" }, + "apps_url": { "type": "string", "format": "uri" }, + "users": { + "type": "array", + "items": { + "type": "object", + "properties": { + "login": { "type": "string" }, + "id": { "type": "integer" }, + "node_id": { "type": "string" }, + "avatar_url": { "type": "string" }, + "gravatar_id": { "type": "string" }, + "url": { "type": "string" }, + "html_url": { "type": "string" }, + "followers_url": { "type": "string" }, + "following_url": { "type": "string" }, + "gists_url": { "type": "string" }, + "starred_url": { "type": "string" }, + "subscriptions_url": { "type": "string" }, + "organizations_url": { "type": "string" }, + "repos_url": { "type": "string" }, + "events_url": { "type": "string" }, + "received_events_url": { "type": "string" }, + "type": { "type": "string" }, + "site_admin": { "type": "boolean" } + } + } + }, + "teams": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "node_id": { "type": "string" }, + "url": { "type": "string" }, + "html_url": { "type": "string" }, + "name": { "type": "string" }, + "slug": { "type": "string" }, + "description": { "type": "string", "nullable": true }, + "privacy": { "type": "string" }, + "permission": { "type": "string" }, + "members_url": { "type": "string" }, + "repositories_url": { "type": "string" }, + "parent": { "type": "string", "nullable": true } + } + } + }, + "apps": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "slug": { "type": "string" }, + "node_id": { "type": "string" }, + "owner": { + "type": "object", + "properties": { + "login": { "type": "string" }, + "id": { "type": "integer" }, + "node_id": { "type": "string" }, + "url": { "type": "string" }, + "repos_url": { "type": "string" }, + "events_url": { "type": "string" }, + "hooks_url": { "type": "string" }, + "issues_url": { "type": "string" }, + "members_url": { "type": "string" }, + "public_members_url": { "type": "string" }, + "avatar_url": { "type": "string" }, + "description": { "type": "string" }, + "gravatar_id": { "type": "string", "example": "\"\"" }, + "html_url": { + "type": "string", + "example": "\"https://github.com/testorg-ea8ec76d71c3af4b\"" + }, + "followers_url": { + "type": "string", + "example": "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/followers\"" + }, + "following_url": { + "type": "string", + "example": "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/following{/other_user}\"" + }, + "gists_url": { + "type": "string", + "example": "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/gists{/gist_id}\"" + }, + "starred_url": { + "type": "string", + "example": "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/starred{/owner}{/repo}\"" + }, + "subscriptions_url": { + "type": "string", + "example": "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/subscriptions\"" + }, + "organizations_url": { + "type": "string", + "example": "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/orgs\"" + }, + "received_events_url": { + "type": "string", + "example": "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/received_events\"" + }, + "type": { "type": "string", "example": "\"Organization\"" } + } + }, + "name": { "type": "string" }, + "description": { "type": "string" }, + "external_url": { "type": "string" }, + "html_url": { "type": "string" }, + "created_at": { "type": "string" }, + "updated_at": { "type": "string" }, + "permissions": { + "type": "object", + "properties": { + "metadata": { "type": "string" }, + "contents": { "type": "string" }, + "issues": { "type": "string" }, + "single_file": { "type": "string" } + } + }, + "events": { "type": "array", "items": { "type": "string" } } + } + } + } + }, + "required": [ + "url", + "users_url", + "teams_url", + "apps_url", + "users", + "teams", + "apps" + ] + }, + "branch-protection": { + "title": "Branch Protection", + "description": "Branch Protection", + "type": "object", + "properties": { + "url": { "type": "string" }, + "required_status_checks": { + "type": "object", + "properties": { + "url": { "type": "string" }, + "enforcement_level": { "type": "string" }, + "contexts": { "type": "array", "items": { "type": "string" } }, + "contexts_url": { "type": "string" } + }, + "required": ["enforcement_level", "contexts"] + }, + "enforce_admins": { + "$ref": "#/components/schemas/protected-branch-admin-enforced" + }, + "required_pull_request_reviews": { + "$ref": "#/components/schemas/protected-branch-pull-request-review" + }, + "restrictions": { + "$ref": "#/components/schemas/branch-restriction-policy" + }, + "required_linear_history": { + "type": "object", + "properties": { "enabled": { "type": "boolean" } } + }, + "allow_force_pushes": { + "type": "object", + "properties": { "enabled": { "type": "boolean" } } + }, + "allow_deletions": { + "type": "object", + "properties": { "enabled": { "type": "boolean" } } + }, + "enabled": { "type": "boolean" }, + "name": { "type": "string", "example": "\"branch/with/protection\"" }, + "protection_url": { + "type": "string", + "example": "\"https://api.github.com/repos/owner-79e94e2d36b3fd06a32bb213/AAA_Public_Repo/branches/branch/with/protection/protection\"" + } + }, + "required": ["enabled", "required_status_checks"] + }, + "short-branch": { + "title": "Short Branch", + "description": "Short Branch", + "type": "object", + "properties": { + "name": { "type": "string" }, + "commit": { + "type": "object", + "properties": { + "sha": { "type": "string" }, + "url": { "type": "string", "format": "uri" } + }, + "required": ["sha", "url"] + }, + "protected": { "type": "boolean" }, + "protection": { "$ref": "#/components/schemas/branch-protection" }, + "protection_url": { "type": "string", "format": "uri" } + }, + "required": ["name", "commit", "protected"] + }, + "git-user": { + "title": "Git User", + "description": "Metaproperties for Git author/committer information.", + "type": "object", + "properties": { + "name": { "type": "string", "example": "\"Chris Wanstrath\"" }, + "email": { "type": "string", "example": "\"chris@ozmm.org\"" }, + "date": { + "type": "string", + "example": "\"2007-10-29T02:42:39.000-07:00\"" + } + } + }, + "verification": { + "title": "Verification", + "type": "object", + "properties": { + "verified": { "type": "boolean" }, + "reason": { "type": "string" }, + "payload": { "type": "string", "nullable": true }, + "signature": { "type": "string", "nullable": true } + }, + "required": ["verified", "reason", "payload", "signature"] + }, + "commit": { + "title": "Commit", + "description": "Commit", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e", + "nullable": true + }, + "sha": { + "type": "string", + "example": "6dcb09b5b57875f334f61aebed695e2e4193db5e", + "nullable": true + }, + "node_id": { + "type": "string", + "example": "MDY6Q29tbWl0NmRjYjA5YjViNTc4NzVmMzM0ZjYxYWViZWQ2OTVlMmU0MTkzZGI1ZQ==" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat/Hello-World/commit/6dcb09b5b57875f334f61aebed695e2e4193db5e" + }, + "comments_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e/comments" + }, + "commit": { + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e" + }, + "author": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/git-user" }] + }, + "committer": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/git-user" }] + }, + "message": { "type": "string", "example": "Fix all the bugs" }, + "comment_count": { "type": "integer", "example": 0 }, + "tree": { + "type": "object", + "properties": { + "sha": { + "type": "string", + "example": "827efc6d56897b048c772eb4087f854f46256132" + }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World/tree/827efc6d56897b048c772eb4087f854f46256132" + } + }, + "required": ["sha", "url"] + }, + "verification": { "$ref": "#/components/schemas/verification" } + }, + "required": [ + "author", + "committer", + "comment_count", + "message", + "tree", + "url" + ] + }, + "author": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + }, + "committer": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + }, + "parents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "sha": { + "type": "string", + "example": "7638417db6d59f3c431d3e1f261cc637155684cd" + }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World/commits/7638417db6d59f3c431d3e1f261cc637155684cd" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat/Hello-World/commit/7638417db6d59f3c431d3e1f261cc637155684cd" + } + }, + "required": ["sha", "url"] + } + }, + "stats": { + "type": "object", + "properties": { + "additions": { "type": "integer" }, + "deletions": { "type": "integer" }, + "total": { "type": "integer" } + } + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "filename": { "type": "string" }, + "additions": { "type": "integer" }, + "deletions": { "type": "integer" }, + "changes": { "type": "integer" }, + "status": { "type": "string" }, + "raw_url": { "type": "string" }, + "blob_url": { "type": "string" }, + "patch": { "type": "string" }, + "sha": { + "type": "string", + "example": "\"1e8e60ce9733d5283f7836fa602b6365a66b2567\"" + }, + "contents_url": { + "type": "string", + "example": "\"https://api.github.com/repos/owner-3d68404b07d25daeb2d4a6bf/AAA_Public_Repo/contents/geometry.js?ref=c3956841a7cb7e8ba4a6fd923568d86958f01573\"" + }, + "previous_filename": { + "type": "string", + "example": "\"subdir/before_name.txt\"" + } + } + } + } + }, + "required": [ + "url", + "sha", + "node_id", + "html_url", + "comments_url", + "commit", + "author", + "committer", + "parents" + ] + }, + "branch-with-protection": { + "title": "Branch With Protection", + "description": "Branch With Protection", + "type": "object", + "properties": { + "name": { "type": "string" }, + "commit": { "$ref": "#/components/schemas/commit" }, + "_links": { + "type": "object", + "properties": { + "html": { "type": "string" }, + "self": { "type": "string", "format": "uri" } + }, + "required": ["html", "self"] + }, + "protected": { "type": "boolean" }, + "protection": { "$ref": "#/components/schemas/branch-protection" }, + "protection_url": { "type": "string", "format": "uri" }, + "pattern": { "type": "string", "example": "\"mas*\"" }, + "required_approving_review_count": { + "type": "integer", + "example": "0" + } + }, + "required": [ + "name", + "commit", + "_links", + "protection", + "protected", + "protection_url" + ] + }, + "status-check-policy": { + "title": "Status Check Policy", + "description": "Status Check Policy", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_status_checks" + }, + "strict": { "type": "boolean", "example": true }, + "contexts": { + "type": "array", + "example": ["continuous-integration/travis-ci"], + "items": { "type": "string" } + }, + "contexts_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_status_checks/contexts" + } + }, + "required": ["url", "contexts_url", "strict", "contexts"] + }, + "protected-branch": { + "title": "Protected Branch", + "description": "Branch protections protect branches", + "type": "object", + "properties": { + "url": { "type": "string", "format": "uri" }, + "required_status_checks": { + "$ref": "#/components/schemas/status-check-policy" + }, + "required_pull_request_reviews": { + "type": "object", + "properties": { + "url": { "type": "string", "format": "uri" }, + "dismiss_stale_reviews": { "type": "boolean" }, + "require_code_owner_reviews": { "type": "boolean" }, + "required_approving_review_count": { "type": "integer" }, + "dismissal_restrictions": { + "type": "object", + "properties": { + "url": { "type": "string", "format": "uri" }, + "users_url": { "type": "string", "format": "uri" }, + "teams_url": { "type": "string", "format": "uri" }, + "users": { + "type": "array", + "items": { "$ref": "#/components/schemas/simple-user" } + }, + "teams": { + "type": "array", + "items": { "$ref": "#/components/schemas/team" } + } + }, + "required": ["url", "users_url", "teams_url", "users", "teams"] + } + }, + "required": ["url"] + }, + "required_signatures": { + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_signatures" + }, + "enabled": { "type": "boolean", "example": true } + }, + "required": ["url", "enabled"] + }, + "enforce_admins": { + "type": "object", + "properties": { + "url": { "type": "string", "format": "uri" }, + "enabled": { "type": "boolean" } + }, + "additionalProperties": false, + "required": ["url", "enabled"] + }, + "required_linear_history": { + "type": "object", + "properties": { "enabled": { "type": "boolean" } }, + "additionalProperties": false, + "required": ["enabled"] + }, + "allow_force_pushes": { + "type": "object", + "properties": { "enabled": { "type": "boolean" } }, + "additionalProperties": false, + "required": ["enabled"] + }, + "allow_deletions": { + "type": "object", + "properties": { "enabled": { "type": "boolean" } }, + "additionalProperties": false, + "required": ["enabled"] + }, + "restrictions": { + "$ref": "#/components/schemas/branch-restriction-policy" + } + }, + "required": ["url"] + }, + "check-run": { + "title": "CheckRun", + "description": "A check performed on the code of a given code change", + "type": "object", + "properties": { + "id": { + "description": "The id of the check.", + "example": 21, + "type": "integer" + }, + "head_sha": { + "description": "The SHA of the commit that is being checked.", + "example": "009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d", + "type": "string" + }, + "node_id": { "type": "string", "example": "MDg6Q2hlY2tSdW40" }, + "external_id": { "type": "string", "example": "", "nullable": true }, + "url": { + "type": "string", + "example": "https://api.github.com/repos/github/hello-world/check-runs/4" + }, + "html_url": { + "type": "string", + "example": "https://github.com/github/hello-world/runs/4", + "nullable": true + }, + "details_url": { + "type": "string", + "example": "https://example.com", + "nullable": true + }, + "status": { + "description": "The phase of the lifecycle that the check is currently in.", + "example": "queued", + "type": "string", + "enum": ["queued", "in_progress", "completed"] + }, + "conclusion": { + "type": "string", + "example": "neutral", + "nullable": true + }, + "started_at": { + "type": "string", + "format": "date-time", + "example": "2018-05-04T01:14:52Z", + "nullable": true + }, + "completed_at": { + "type": "string", + "format": "date-time", + "example": "2018-05-04T01:14:52Z", + "nullable": true + }, + "output": { + "type": "object", + "properties": { + "title": { "type": "string", "nullable": true }, + "summary": { "type": "string", "nullable": true }, + "text": { "type": "string", "nullable": true }, + "annotations_count": { "type": "integer" }, + "annotations_url": { "type": "string", "format": "uri" } + }, + "required": [ + "title", + "summary", + "text", + "annotations_count", + "annotations_url" + ] + }, + "name": { + "description": "The name of the check.", + "example": "test-coverage", + "type": "string" + }, + "check_suite": { + "type": "object", + "properties": { "id": { "type": "integer" } }, + "required": ["id"], + "nullable": true + }, + "app": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/integration" }] + }, + "pull_requests": { + "items": { "$ref": "#/components/schemas/pull-request-minimal" } + } + }, + "required": [ + "id", + "node_id", + "head_sha", + "name", + "url", + "html_url", + "details_url", + "status", + "conclusion", + "started_at", + "completed_at", + "external_id", + "check_suite", + "output", + "app", + "pull_requests" + ] + }, + "check-annotation": { + "title": "Check Annotation", + "description": "Check Annotation", + "type": "object", + "properties": { + "path": { "type": "string", "example": "README.md" }, + "start_line": { "type": "integer", "example": 2 }, + "end_line": { "type": "integer", "example": 2 }, + "start_column": { "type": "integer", "example": 5, "nullable": true }, + "end_column": { "type": "integer", "example": 10, "nullable": true }, + "annotation_level": { + "type": "string", + "example": "warning", + "nullable": true + }, + "title": { + "type": "string", + "example": "Spell Checker", + "nullable": true + }, + "message": { + "type": "string", + "example": "Check your spelling for 'banaas'.", + "nullable": true + }, + "raw_details": { + "type": "string", + "example": "Do you mean 'bananas' or 'banana'?", + "nullable": true + }, + "blob_href": { "type": "string" } + }, + "required": [ + "path", + "blob_href", + "start_line", + "end_line", + "start_column", + "end_column", + "annotation_level", + "title", + "message", + "raw_details" + ] + }, + "check-suite": { + "title": "CheckSuite", + "description": "A suite of checks performed on the code of a given code change", + "type": "object", + "properties": { + "id": { "type": "integer", "example": 5 }, + "node_id": { "type": "string", "example": "MDEwOkNoZWNrU3VpdGU1" }, + "head_branch": { + "type": "string", + "example": "master", + "nullable": true + }, + "head_sha": { + "description": "The SHA of the head commit that is being checked.", + "example": "009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d", + "type": "string" + }, + "status": { + "type": "string", + "example": "completed", + "nullable": true + }, + "conclusion": { + "type": "string", + "example": "neutral", + "nullable": true + }, + "url": { + "type": "string", + "example": "https://api.github.com/repos/github/hello-world/check-suites/5", + "nullable": true + }, + "before": { + "type": "string", + "example": "146e867f55c26428e5f9fade55a9bbf5e95a7912", + "nullable": true + }, + "after": { + "type": "string", + "example": "d6fde92930d4715a2b49857d24b940956b26d2d3", + "nullable": true + }, + "pull_requests": { + "type": "array", + "items": { "$ref": "#/components/schemas/pull-request-minimal" }, + "nullable": true + }, + "app": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/integration" }] + }, + "repository": { "$ref": "#/components/schemas/minimal-repository" }, + "created_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "updated_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "head_commit": { "$ref": "#/components/schemas/simple-commit" }, + "latest_check_runs_count": { "type": "integer" }, + "check_runs_url": { "type": "string" } + }, + "required": [ + "id", + "node_id", + "head_branch", + "status", + "conclusion", + "head_sha", + "url", + "before", + "after", + "created_at", + "updated_at", + "app", + "head_commit", + "repository", + "latest_check_runs_count", + "check_runs_url", + "pull_requests" + ] + }, + "check-suite-preference": { + "title": "Check Suite Preference", + "description": "Check suite configuration preferences for a repository.", + "type": "object", + "properties": { + "preferences": { + "type": "object", + "properties": { + "auto_trigger_checks": { + "type": "array", + "items": { + "type": "object", + "properties": { + "app_id": { "type": "integer" }, + "setting": { "type": "boolean" } + }, + "required": ["app_id", "setting"] + } + } + } + }, + "repository": { "$ref": "#/components/schemas/repository" } + } + }, + "code-scanning-alert-state": { + "type": "string", + "description": "State of a code scanning alert.", + "enum": ["open", "dismissed", "fixed"] + }, + "code-scanning-alert-ref": { + "type": "string", + "description": "The full Git reference, formatted as `refs/heads/`." + }, + "alert-number": { + "type": "integer", + "description": "The security alert number.", + "readOnly": true, + "nullable": false + }, + "alert-created-at": { + "type": "string", + "description": "The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.", + "format": "date-time", + "readOnly": true, + "nullable": false + }, + "alert-url": { + "type": "string", + "description": "The REST API URL of the alert resource.", + "format": "uri", + "readOnly": true, + "nullable": false + }, + "alert-html-url": { + "type": "string", + "description": "The GitHub URL of the alert resource.", + "format": "uri", + "readOnly": true, + "nullable": false + }, + "code-scanning-alert-dismissed-at": { + "type": "string", + "description": "The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.", + "format": "date-time", + "readOnly": true, + "nullable": true + }, + "code-scanning-alert-dismissed-reason": { + "type": "string", + "description": "**Required when the state is dismissed.** The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`.", + "nullable": true, + "oneOf": [ + { "enum": ["false positive", "won't fix", "used in tests"] }, + { "enum": [null] } + ] + }, + "code-scanning-alert-rule": { + "type": "object", + "properties": { + "id": { + "nullable": true, + "type": "string", + "description": "A unique identifier for the rule used to detect the alert." + }, + "severity": { + "nullable": true, + "type": "string", + "description": "The severity of the alert.", + "enum": ["none", "note", "warning", "error"] + }, + "description": { + "type": "string", + "description": "A short description of the rule used to detect the alert." + } + } + }, + "code-scanning-analysis-tool-name": { + "type": "string", + "description": "The name of the tool used to generate the code scanning analysis alert." + }, + "code-scanning-analysis-tool": { + "type": "object", + "properties": { + "name": { + "$ref": "#/components/schemas/code-scanning-analysis-tool-name" + }, + "version": { + "nullable": true, + "type": "string", + "description": "The version of the tool used to detect the alert." + } + } + }, + "code-scanning-alert-code-scanning-alert-items": { + "type": "object", + "properties": { + "number": { "$ref": "#/components/schemas/alert-number" }, + "created_at": { "$ref": "#/components/schemas/alert-created-at" }, + "url": { "$ref": "#/components/schemas/alert-url" }, + "html_url": { "$ref": "#/components/schemas/alert-html-url" }, + "state": { "$ref": "#/components/schemas/code-scanning-alert-state" }, + "dismissed_by": { "$ref": "#/components/schemas/simple-user" }, + "dismissed_at": { + "$ref": "#/components/schemas/code-scanning-alert-dismissed-at" + }, + "dismissed_reason": { + "$ref": "#/components/schemas/code-scanning-alert-dismissed-reason" + }, + "rule": { "$ref": "#/components/schemas/code-scanning-alert-rule" }, + "tool": { "$ref": "#/components/schemas/code-scanning-analysis-tool" } + } + }, + "code-scanning-analysis-analysis-key": { + "type": "string", + "description": "Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name." + }, + "code-scanning-alert-environment": { + "type": "string", + "description": "Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed." + }, + "code-scanning-alert-instances": { + "nullable": true, + "type": "array", + "items": { + "properties": { + "ref": { "$ref": "#/components/schemas/code-scanning-alert-ref" }, + "analysis_key": { + "$ref": "#/components/schemas/code-scanning-analysis-analysis-key" + }, + "environment": { + "$ref": "#/components/schemas/code-scanning-alert-environment" + }, + "matrix_vars": { "nullable": true, "type": "string" }, + "state": { + "$ref": "#/components/schemas/code-scanning-alert-state" + } + } + } + }, + "code-scanning-alert-code-scanning-alert": { + "type": "object", + "properties": { + "number": { "$ref": "#/components/schemas/alert-number" }, + "created_at": { "$ref": "#/components/schemas/alert-created-at" }, + "url": { "$ref": "#/components/schemas/alert-url" }, + "html_url": { "$ref": "#/components/schemas/alert-html-url" }, + "instances": { + "$ref": "#/components/schemas/code-scanning-alert-instances" + }, + "state": { "$ref": "#/components/schemas/code-scanning-alert-state" }, + "dismissed_by": { "$ref": "#/components/schemas/simple-user" }, + "dismissed_at": { + "$ref": "#/components/schemas/code-scanning-alert-dismissed-at" + }, + "dismissed_reason": { + "$ref": "#/components/schemas/code-scanning-alert-dismissed-reason" + }, + "rule": { "$ref": "#/components/schemas/code-scanning-alert-rule" }, + "tool": { "$ref": "#/components/schemas/code-scanning-analysis-tool" } + } + }, + "code-scanning-alert-set-state": { + "description": "Sets the state of the code scanning alert. Can be one of `open` or `dismissed`. You must provide `dismissed_reason` when you set the state to `dismissed`.", + "type": "string", + "enum": ["open", "dismissed"] + }, + "code-scanning-analysis-ref": { + "type": "string", + "description": "The full Git reference of the code scanning analysis file, formatted as `refs/heads/`." + }, + "code-scanning-analysis-commit-sha": { + "description": "The commit SHA of the code scanning analysis file.", + "type": "string", + "minLength": 40, + "maxLength": 40, + "pattern": "^[0-9a-fA-F]+$" + }, + "code-scanning-analysis-created-at": { + "type": "string", + "description": "The time that the analysis was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.", + "format": "date-time", + "readOnly": true, + "nullable": false + }, + "code-scanning-analysis-environment": { + "type": "string", + "description": "Identifies the variable values associated with the environment in which this analysis was performed." + }, + "code-scanning-analysis-code-scanning-analysis": { + "type": "object", + "properties": { + "commit_sha": { + "$ref": "#/components/schemas/code-scanning-analysis-commit-sha" + }, + "ref": { "$ref": "#/components/schemas/code-scanning-analysis-ref" }, + "analysis_key": { + "$ref": "#/components/schemas/code-scanning-analysis-analysis-key" + }, + "created_at": { + "$ref": "#/components/schemas/code-scanning-analysis-created-at" + }, + "tool_name": { + "$ref": "#/components/schemas/code-scanning-analysis-tool-name" + }, + "error": { "type": "string", "example": "error reading field xyz" }, + "environment": { + "$ref": "#/components/schemas/code-scanning-analysis-environment" + } + } + }, + "code-scanning-analysis-sarif-file": { + "description": "A Base64 string representing the SARIF file to upload. You must first compress your SARIF file using [`gzip`](http://www.gnu.org/software/gzip/manual/gzip.html) and then translate the contents of the file into a Base64 encoding string.", + "type": "string" + }, + "collaborator": { + "title": "Collaborator", + "description": "Collaborator", + "type": "object", + "properties": { + "login": { "type": "string", "example": "octocat" }, + "id": { "type": "integer", "example": 1 }, + "node_id": { "type": "string", "example": "MDQ6VXNlcjE=" }, + "avatar_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/images/error/octocat_happy.gif" + }, + "gravatar_id": { "type": "string", "example": "", "nullable": true }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat" + }, + "followers_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/followers" + }, + "following_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/following{/other_user}" + }, + "gists_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/gists{/gist_id}" + }, + "starred_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/starred{/owner}{/repo}" + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/subscriptions" + }, + "organizations_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/orgs" + }, + "repos_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/repos" + }, + "events_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/events{/privacy}" + }, + "received_events_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/received_events" + }, + "type": { "type": "string", "example": "User" }, + "site_admin": { "type": "boolean" }, + "permissions": { + "type": "object", + "properties": { + "pull": { "type": "boolean" }, + "push": { "type": "boolean" }, + "admin": { "type": "boolean" } + }, + "required": ["pull", "push", "admin"] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + }, + "repository-invitation": { + "title": "Repository Invitation", + "description": "Repository invitations let you manage who you collaborate with.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the repository invitation.", + "example": 42, + "type": "integer" + }, + "repository": { "$ref": "#/components/schemas/minimal-repository" }, + "invitee": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + }, + "inviter": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + }, + "permissions": { + "description": "The permission associated with the invitation.", + "example": "read", + "type": "string", + "enum": ["read", "write", "admin"] + }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2016-06-13T14:52:50-05:00" + }, + "url": { + "description": "URL for the repository invitation", + "example": "https://api.github.com/user/repository-invitations/1", + "type": "string" + }, + "html_url": { + "type": "string", + "example": "https://github.com/octocat/Hello-World/invitations" + }, + "node_id": { "type": "string" } + }, + "required": [ + "id", + "node_id", + "permissions", + "inviter", + "invitee", + "repository", + "url", + "html_url", + "created_at" + ] + }, + "commit-comment": { + "title": "Commit Comment", + "description": "Commit Comment", + "type": "object", + "properties": { + "html_url": { "type": "string", "format": "uri" }, + "url": { "type": "string", "format": "uri" }, + "id": { "type": "integer" }, + "node_id": { "type": "string" }, + "body": { "type": "string" }, + "path": { "type": "string", "nullable": true }, + "position": { "type": "integer", "nullable": true }, + "line": { "type": "integer", "nullable": true }, + "commit_id": { "type": "string" }, + "user": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + }, + "created_at": { "type": "string", "format": "date-time" }, + "updated_at": { "type": "string", "format": "date-time" }, + "author_association": { "type": "string" }, + "reactions": { "$ref": "#/components/schemas/reaction-rollup" } + }, + "required": [ + "url", + "html_url", + "id", + "node_id", + "user", + "position", + "line", + "path", + "commit_id", + "body", + "author_association", + "created_at", + "updated_at" + ] + }, + "scim-error": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { "type": "string", "nullable": true }, + "documentation_url": { "type": "string", "nullable": true }, + "detail": { "type": "string", "nullable": true }, + "status": { "type": "integer" }, + "scimType": { "type": "string", "nullable": true }, + "schemas": { "type": "array", "items": { "type": "string" } } + } + }, + "branch-short": { + "title": "Branch Short", + "description": "Branch Short", + "type": "object", + "properties": { + "name": { "type": "string" }, + "commit": { + "type": "object", + "properties": { + "sha": { "type": "string" }, + "url": { "type": "string" } + } + }, + "protected": { "type": "boolean" } + } + }, + "link": { + "title": "Link", + "description": "Hypermedia Link", + "type": "object", + "properties": { "href": { "type": "string" } }, + "required": ["href"] + }, + "pull-request-simple": { + "title": "Pull Request Simple", + "description": "Pull Request Simple", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World/pulls/1347" + }, + "id": { "type": "integer", "example": 1 }, + "node_id": { + "type": "string", + "example": "MDExOlB1bGxSZXF1ZXN0MQ==" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat/Hello-World/pull/1347" + }, + "diff_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat/Hello-World/pull/1347.diff" + }, + "patch_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat/Hello-World/pull/1347.patch" + }, + "issue_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World/issues/1347" + }, + "commits_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World/pulls/1347/commits" + }, + "review_comments_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World/pulls/1347/comments" + }, + "review_comment_url": { + "type": "string", + "example": "https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number}" + }, + "comments_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World/issues/1347/comments" + }, + "statuses_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e" + }, + "number": { "type": "integer", "example": 1347 }, + "state": { "type": "string", "example": "open" }, + "locked": { "type": "boolean", "example": true }, + "title": { "type": "string", "example": "new-feature" }, + "user": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + }, + "body": { + "type": "string", + "example": "Please pull these awesome changes", + "nullable": true + }, + "labels": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "node_id": { "type": "string" }, + "url": { "type": "string" }, + "name": { "type": "string" }, + "description": { "type": "string" }, + "color": { "type": "string" }, + "default": { "type": "boolean" } + } + } + }, + "milestone": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/milestone" }] + }, + "active_lock_reason": { + "type": "string", + "example": "too heated", + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:01:12Z" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:01:12Z" + }, + "closed_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:01:12Z", + "nullable": true + }, + "merged_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:01:12Z", + "nullable": true + }, + "merge_commit_sha": { + "type": "string", + "example": "e5bd3914e2e596debea16f433f57875b5b90bcd6", + "nullable": true + }, + "assignee": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + }, + "assignees": { + "type": "array", + "items": { "$ref": "#/components/schemas/simple-user" }, + "nullable": true + }, + "requested_reviewers": { + "type": "array", + "items": { "$ref": "#/components/schemas/simple-user" }, + "nullable": true + }, + "requested_teams": { + "type": "array", + "items": { "$ref": "#/components/schemas/team-simple" }, + "nullable": true + }, + "head": { + "type": "object", + "properties": { + "label": { "type": "string" }, + "ref": { "type": "string" }, + "repo": { "$ref": "#/components/schemas/repository" }, + "sha": { "type": "string" }, + "user": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + } + }, + "required": ["label", "ref", "repo", "sha", "user"] + }, + "base": { + "type": "object", + "properties": { + "label": { "type": "string" }, + "ref": { "type": "string" }, + "repo": { "$ref": "#/components/schemas/repository" }, + "sha": { "type": "string" }, + "user": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + } + }, + "required": ["label", "ref", "repo", "sha", "user"] + }, + "_links": { + "type": "object", + "properties": { + "comments": { "$ref": "#/components/schemas/link" }, + "commits": { "$ref": "#/components/schemas/link" }, + "statuses": { "$ref": "#/components/schemas/link" }, + "html": { "$ref": "#/components/schemas/link" }, + "issue": { "$ref": "#/components/schemas/link" }, + "review_comments": { "$ref": "#/components/schemas/link" }, + "review_comment": { "$ref": "#/components/schemas/link" }, + "self": { "$ref": "#/components/schemas/link" } + }, + "required": [ + "comments", + "commits", + "statuses", + "html", + "issue", + "review_comments", + "review_comment", + "self" + ] + }, + "author_association": { "type": "string", "example": "OWNER" }, + "draft": { + "description": "Indicates whether or not the pull request is a draft.", + "example": false, + "type": "boolean" + } + }, + "required": [ + "_links", + "assignee", + "labels", + "base", + "body", + "closed_at", + "comments_url", + "commits_url", + "created_at", + "diff_url", + "head", + "html_url", + "id", + "node_id", + "issue_url", + "merge_commit_sha", + "merged_at", + "milestone", + "number", + "patch_url", + "review_comment_url", + "review_comments_url", + "statuses_url", + "state", + "locked", + "title", + "updated_at", + "url", + "user", + "author_association" + ] + }, + "simple-commit-status": { + "title": "Simple Commit Status", + "type": "object", + "properties": { + "description": { "type": "string", "nullable": true }, + "id": { "type": "integer" }, + "node_id": { "type": "string" }, + "state": { "type": "string" }, + "context": { "type": "string" }, + "target_url": { "type": "string", "format": "uri" }, + "required": { "type": "boolean", "nullable": true }, + "avatar_url": { "type": "string", "nullable": true, "format": "uri" }, + "url": { "type": "string", "format": "uri" }, + "created_at": { "type": "string", "format": "date-time" }, + "updated_at": { "type": "string", "format": "date-time" } + }, + "required": [ + "description", + "id", + "node_id", + "state", + "context", + "target_url", + "avatar_url", + "url", + "created_at", + "updated_at" + ] + }, + "combined-commit-status": { + "title": "Combined Commit Status", + "description": "Combined Commit Status", + "type": "object", + "properties": { + "state": { "type": "string" }, + "statuses": { + "type": "array", + "items": { "$ref": "#/components/schemas/simple-commit-status" } + }, + "sha": { "type": "string" }, + "total_count": { "type": "integer" }, + "repository": { "$ref": "#/components/schemas/minimal-repository" }, + "commit_url": { "type": "string", "format": "uri" }, + "url": { "type": "string", "format": "uri" } + }, + "required": [ + "state", + "sha", + "total_count", + "statuses", + "repository", + "commit_url", + "url" + ] + }, + "status": { + "title": "Status", + "description": "The status of a commit.", + "type": "object", + "properties": { + "url": { "type": "string" }, + "avatar_url": { "type": "string", "nullable": true }, + "id": { "type": "integer" }, + "node_id": { "type": "string" }, + "state": { "type": "string" }, + "description": { "type": "string" }, + "target_url": { "type": "string" }, + "context": { "type": "string" }, + "created_at": { "type": "string" }, + "updated_at": { "type": "string" }, + "creator": { "$ref": "#/components/schemas/simple-user" } + } + }, + "code-of-conduct-simple": { + "title": "Code Of Conduct Simple", + "description": "Code of Conduct Simple", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/codes_of_conduct/citizen_code_of_conduct" + }, + "key": { "type": "string", "example": "citizen_code_of_conduct" }, + "name": { "type": "string", "example": "Citizen Code of Conduct" }, + "html_url": { "type": "string", "nullable": true, "format": "uri" } + }, + "required": ["url", "key", "name", "html_url"] + }, + "community-health-file": { + "title": "Community Health File", + "type": "object", + "properties": { + "url": { "type": "string", "format": "uri" }, + "html_url": { "type": "string", "format": "uri" } + }, + "required": ["url", "html_url"] + }, + "community-profile": { + "title": "Community Profile", + "description": "Community Profile", + "type": "object", + "properties": { + "health_percentage": { "type": "integer", "example": 100 }, + "description": { + "type": "string", + "example": "My first repository on GitHub!", + "nullable": true + }, + "documentation": { + "type": "string", + "example": "example.com", + "nullable": true + }, + "files": { + "type": "object", + "properties": { + "code_of_conduct": { + "nullable": true, + "allOf": [ + { "$ref": "#/components/schemas/code-of-conduct-simple" } + ] + }, + "license": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/license-simple" }] + }, + "contributing": { + "nullable": true, + "allOf": [ + { "$ref": "#/components/schemas/community-health-file" } + ] + }, + "readme": { + "nullable": true, + "allOf": [ + { "$ref": "#/components/schemas/community-health-file" } + ] + }, + "issue_template": { + "nullable": true, + "allOf": [ + { "$ref": "#/components/schemas/community-health-file" } + ] + }, + "pull_request_template": { + "nullable": true, + "allOf": [ + { "$ref": "#/components/schemas/community-health-file" } + ] + } + }, + "required": [ + "code_of_conduct", + "license", + "contributing", + "readme", + "issue_template", + "pull_request_template" + ] + }, + "updated_at": { + "type": "string", + "format": "date-time", + "example": "2017-02-28T19:09:29Z", + "nullable": true + }, + "content_reports_enabled": { "type": "boolean", "example": true } + }, + "required": [ + "health_percentage", + "description", + "documentation", + "files", + "updated_at" + ] + }, + "diff-entry": { + "title": "Diff Entry", + "description": "Diff Entry", + "type": "object", + "properties": { + "sha": { + "type": "string", + "example": "bbcd538c8e72b8c175046e27cc8f907076331401" + }, + "filename": { "type": "string", "example": "file1.txt" }, + "status": { "type": "string", "example": "added" }, + "additions": { "type": "integer", "example": 103 }, + "deletions": { "type": "integer", "example": 21 }, + "changes": { "type": "integer", "example": 124 }, + "blob_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat/Hello-World/blob/6dcb09b5b57875f334f61aebed695e2e4193db5e/file1.txt" + }, + "raw_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat/Hello-World/raw/6dcb09b5b57875f334f61aebed695e2e4193db5e/file1.txt" + }, + "contents_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World/contents/file1.txt?ref=6dcb09b5b57875f334f61aebed695e2e4193db5e" + }, + "patch": { + "type": "string", + "example": "@@ -132,7 +132,7 @@ module Test @@ -1000,7 +1000,7 @@ module Test" + }, + "previous_filename": { "type": "string", "example": "file.txt" } + }, + "required": [ + "additions", + "blob_url", + "changes", + "contents_url", + "deletions", + "filename", + "raw_url", + "sha", + "status" + ] + }, + "commit-comparison": { + "title": "Commit Comparison", + "description": "Commit Comparison", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World/compare/master...topic" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat/Hello-World/compare/master...topic" + }, + "permalink_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat/Hello-World/compare/octocat:bbcd538c8e72b8c175046e27cc8f907076331401...octocat:0328041d1152db8ae77652d1618a02e57f745f17" + }, + "diff_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat/Hello-World/compare/master...topic.diff" + }, + "patch_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat/Hello-World/compare/master...topic.patch" + }, + "base_commit": { "$ref": "#/components/schemas/commit" }, + "merge_base_commit": { "$ref": "#/components/schemas/commit" }, + "status": { + "type": "string", + "enum": ["diverged", "ahead", "behind", "identical"], + "example": "ahead" + }, + "ahead_by": { "type": "integer", "example": 4 }, + "behind_by": { "type": "integer", "example": 5 }, + "total_commits": { "type": "integer", "example": 6 }, + "commits": { + "type": "array", + "items": { "$ref": "#/components/schemas/commit" } + }, + "files": { + "type": "array", + "items": { "$ref": "#/components/schemas/diff-entry" } + } + }, + "required": [ + "url", + "html_url", + "permalink_url", + "diff_url", + "patch_url", + "base_commit", + "merge_base_commit", + "status", + "ahead_by", + "behind_by", + "total_commits", + "commits", + "files" + ] + }, + "content-tree": { + "title": "Content Tree", + "description": "Content Tree", + "type": "object", + "properties": { + "type": { "type": "string" }, + "size": { "type": "integer" }, + "name": { "type": "string" }, + "path": { "type": "string" }, + "sha": { "type": "string" }, + "url": { "type": "string", "format": "uri" }, + "git_url": { "type": "string", "format": "uri", "nullable": true }, + "html_url": { "type": "string", "format": "uri", "nullable": true }, + "download_url": { + "type": "string", + "format": "uri", + "nullable": true + }, + "entries": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { "type": "string" }, + "size": { "type": "integer" }, + "name": { "type": "string" }, + "path": { "type": "string" }, + "content": { "type": "string" }, + "sha": { "type": "string" }, + "url": { "type": "string", "format": "uri" }, + "git_url": { + "type": "string", + "format": "uri", + "nullable": true + }, + "html_url": { + "type": "string", + "format": "uri", + "nullable": true + }, + "download_url": { + "type": "string", + "format": "uri", + "nullable": true + }, + "_links": { + "type": "object", + "properties": { + "git": { + "type": "string", + "format": "uri", + "nullable": true + }, + "html": { + "type": "string", + "format": "uri", + "nullable": true + }, + "self": { "type": "string", "format": "uri" } + }, + "required": ["git", "html", "self"] + } + }, + "required": [ + "_links", + "git_url", + "html_url", + "download_url", + "name", + "path", + "sha", + "size", + "type", + "url" + ] + } + }, + "_links": { + "type": "object", + "properties": { + "git": { "type": "string", "format": "uri", "nullable": true }, + "html": { "type": "string", "format": "uri", "nullable": true }, + "self": { "type": "string", "format": "uri" } + }, + "required": ["git", "html", "self"] + } + }, + "required": [ + "_links", + "git_url", + "html_url", + "download_url", + "name", + "path", + "sha", + "size", + "type", + "url", + "content", + "encoding" + ] + }, + "content-directory": { + "title": "Content Directory", + "description": "A list of directory items", + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { "type": "string" }, + "size": { "type": "integer" }, + "name": { "type": "string" }, + "path": { "type": "string" }, + "content": { "type": "string" }, + "sha": { "type": "string" }, + "url": { "type": "string", "format": "uri" }, + "git_url": { "type": "string", "format": "uri", "nullable": true }, + "html_url": { "type": "string", "format": "uri", "nullable": true }, + "download_url": { + "type": "string", + "format": "uri", + "nullable": true + }, + "_links": { + "type": "object", + "properties": { + "git": { "type": "string", "format": "uri", "nullable": true }, + "html": { "type": "string", "format": "uri", "nullable": true }, + "self": { "type": "string", "format": "uri" } + }, + "required": ["git", "html", "self"] + } + }, + "required": [ + "_links", + "git_url", + "html_url", + "download_url", + "name", + "path", + "sha", + "size", + "type", + "url" + ] + } + }, + "content-file": { + "title": "Content File", + "description": "Content File", + "type": "object", + "properties": { + "type": { "type": "string" }, + "encoding": { "type": "string" }, + "size": { "type": "integer" }, + "name": { "type": "string" }, + "path": { "type": "string" }, + "content": { "type": "string" }, + "sha": { "type": "string" }, + "url": { "type": "string", "format": "uri" }, + "git_url": { "type": "string", "format": "uri", "nullable": true }, + "html_url": { "type": "string", "format": "uri", "nullable": true }, + "download_url": { + "type": "string", + "format": "uri", + "nullable": true + }, + "_links": { + "type": "object", + "properties": { + "git": { "type": "string", "format": "uri", "nullable": true }, + "html": { "type": "string", "format": "uri", "nullable": true }, + "self": { "type": "string", "format": "uri" } + }, + "required": ["git", "html", "self"] + }, + "target": { "type": "string", "example": "\"actual/actual.md\"" }, + "submodule_git_url": { + "type": "string", + "example": "\"git://example.com/defunkt/dotjs.git\"" + } + }, + "required": [ + "_links", + "git_url", + "html_url", + "download_url", + "name", + "path", + "sha", + "size", + "type", + "url", + "content", + "encoding" + ] + }, + "content-symlink": { + "title": "Symlink Content", + "description": "An object describing a symlink", + "type": "object", + "properties": { + "type": { "type": "string" }, + "target": { "type": "string" }, + "size": { "type": "integer" }, + "name": { "type": "string" }, + "path": { "type": "string" }, + "sha": { "type": "string" }, + "url": { "type": "string", "format": "uri" }, + "git_url": { "type": "string", "format": "uri", "nullable": true }, + "html_url": { "type": "string", "format": "uri", "nullable": true }, + "download_url": { + "type": "string", + "format": "uri", + "nullable": true + }, + "_links": { + "type": "object", + "properties": { + "git": { "type": "string", "format": "uri", "nullable": true }, + "html": { "type": "string", "format": "uri", "nullable": true }, + "self": { "type": "string", "format": "uri" } + }, + "required": ["git", "html", "self"] + } + }, + "required": [ + "_links", + "git_url", + "html_url", + "download_url", + "name", + "path", + "sha", + "size", + "type", + "url", + "target" + ] + }, + "content-submodule": { + "title": "Symlink Content", + "description": "An object describing a symlink", + "type": "object", + "properties": { + "type": { "type": "string" }, + "submodule_git_url": { "type": "string", "format": "uri" }, + "size": { "type": "integer" }, + "name": { "type": "string" }, + "path": { "type": "string" }, + "sha": { "type": "string" }, + "url": { "type": "string", "format": "uri" }, + "git_url": { "type": "string", "format": "uri", "nullable": true }, + "html_url": { "type": "string", "format": "uri", "nullable": true }, + "download_url": { + "type": "string", + "format": "uri", + "nullable": true + }, + "_links": { + "type": "object", + "properties": { + "git": { "type": "string", "format": "uri", "nullable": true }, + "html": { "type": "string", "format": "uri", "nullable": true }, + "self": { "type": "string", "format": "uri" } + }, + "required": ["git", "html", "self"] + } + }, + "required": [ + "_links", + "git_url", + "html_url", + "download_url", + "name", + "path", + "sha", + "size", + "type", + "url", + "submodule_git_url" + ] + }, + "file-commit": { + "title": "File Commit", + "description": "File Commit", + "type": "object", + "properties": { + "content": { + "type": "object", + "properties": { + "name": { "type": "string" }, + "path": { "type": "string" }, + "sha": { "type": "string" }, + "size": { "type": "integer" }, + "url": { "type": "string" }, + "html_url": { "type": "string" }, + "git_url": { "type": "string" }, + "download_url": { "type": "string" }, + "type": { "type": "string" }, + "_links": { + "type": "object", + "properties": { + "self": { "type": "string" }, + "git": { "type": "string" }, + "html": { "type": "string" } + } + } + }, + "nullable": true + }, + "commit": { + "type": "object", + "properties": { + "sha": { "type": "string" }, + "node_id": { "type": "string" }, + "url": { "type": "string" }, + "html_url": { "type": "string" }, + "author": { + "type": "object", + "properties": { + "date": { "type": "string" }, + "name": { "type": "string" }, + "email": { "type": "string" } + } + }, + "committer": { + "type": "object", + "properties": { + "date": { "type": "string" }, + "name": { "type": "string" }, + "email": { "type": "string" } + } + }, + "message": { "type": "string" }, + "tree": { + "type": "object", + "properties": { + "url": { "type": "string" }, + "sha": { "type": "string" } + } + }, + "parents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "url": { "type": "string" }, + "html_url": { "type": "string" }, + "sha": { "type": "string" } + } + } + }, + "verification": { + "type": "object", + "properties": { + "verified": { "type": "boolean" }, + "reason": { "type": "string" }, + "signature": { "type": "string", "nullable": true }, + "payload": { "type": "string", "nullable": true } + } + } + } + } + } + }, + "contributor": { + "title": "Contributor", + "description": "Contributor", + "type": "object", + "properties": { + "login": { "type": "string" }, + "id": { "type": "integer" }, + "node_id": { "type": "string" }, + "avatar_url": { "type": "string", "format": "uri" }, + "gravatar_id": { "type": "string", "nullable": true }, + "url": { "type": "string", "format": "uri" }, + "html_url": { "type": "string", "format": "uri" }, + "followers_url": { "type": "string", "format": "uri" }, + "following_url": { "type": "string" }, + "gists_url": { "type": "string" }, + "starred_url": { "type": "string" }, + "subscriptions_url": { "type": "string", "format": "uri" }, + "organizations_url": { "type": "string", "format": "uri" }, + "repos_url": { "type": "string", "format": "uri" }, + "events_url": { "type": "string" }, + "received_events_url": { "type": "string", "format": "uri" }, + "type": { "type": "string" }, + "site_admin": { "type": "boolean" }, + "contributions": { "type": "integer" }, + "email": { "type": "string" }, + "name": { "type": "string" } + }, + "required": ["contributions", "type"] + }, + "deployment": { + "title": "Deployment", + "description": "A request for a specific ref(branch,sha,tag) to be deployed", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/example/deployments/1" + }, + "id": { + "description": "Unique identifier of the deployment", + "example": 42, + "type": "integer" + }, + "node_id": { "type": "string", "example": "MDEwOkRlcGxveW1lbnQx" }, + "sha": { + "type": "string", + "example": "a84d88e7554fc1fa21bcbc4efae3c782a70d2b9d" + }, + "ref": { + "description": "The ref to deploy. This can be a branch, tag, or sha.", + "example": "topic-branch", + "type": "string" + }, + "task": { + "description": "Parameter to specify a task to execute", + "example": "deploy", + "type": "string" + }, + "payload": { "type": "object", "properties": {} }, + "original_environment": { "type": "string", "example": "staging" }, + "environment": { + "description": "Name for the target deployment environment.", + "example": "production", + "type": "string" + }, + "description": { + "type": "string", + "example": "Deploy request from hubot", + "nullable": true + }, + "creator": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2012-07-20T01:19:13Z" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "example": "2012-07-20T01:19:13Z" + }, + "statuses_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/example/deployments/1/statuses" + }, + "repository_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/example" + }, + "transient_environment": { + "description": "Specifies if the given environment is will no longer exist at some point in the future. Default: false.", + "example": true, + "type": "boolean" + }, + "production_environment": { + "description": "Specifies if the given environment is one that end-users directly interact with. Default: false.", + "example": true, + "type": "boolean" + }, + "performed_via_github_app": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/integration" }] + } + }, + "required": [ + "id", + "node_id", + "sha", + "ref", + "task", + "environment", + "creator", + "payload", + "description", + "statuses_url", + "repository_url", + "url", + "created_at", + "updated_at" + ] + }, + "deployment-status": { + "title": "Deployment Status", + "description": "The status of a deployment.", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/example/deployments/42/statuses/1" + }, + "id": { "type": "integer", "example": 1 }, + "node_id": { + "type": "string", + "example": "MDE2OkRlcGxveW1lbnRTdGF0dXMx" + }, + "state": { + "description": "The state of the status.", + "enum": [ + "error", + "failure", + "inactive", + "pending", + "success", + "queued", + "in_progress" + ], + "example": "success", + "type": "string" + }, + "creator": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + }, + "description": { + "description": "A short description of the status.", + "default": "", + "type": "string", + "maxLength": 140, + "example": "Deployment finished successfully." + }, + "environment": { + "description": "The environment of the deployment that the status is for.", + "default": "", + "type": "string", + "example": "production" + }, + "target_url": { + "description": "Deprecated: the URL to associate with this status.", + "default": "", + "type": "string", + "format": "uri", + "example": "https://example.com/deployment/42/output" + }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2012-07-20T01:19:13Z" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "example": "2012-07-20T01:19:13Z" + }, + "deployment_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/example/deployments/42" + }, + "repository_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/example" + }, + "environment_url": { + "description": "The URL for accessing your environment.", + "default": "", + "type": "string", + "format": "uri", + "example": "" + }, + "log_url": { + "description": "The URL to associate with this status.", + "default": "", + "type": "string", + "format": "uri", + "example": "https://example.com/deployment/42/output" + }, + "performed_via_github_app": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/integration" }] + } + }, + "required": [ + "id", + "node_id", + "state", + "creator", + "description", + "deployment_url", + "target_url", + "repository_url", + "url", + "created_at", + "updated_at" + ] + }, + "short-blob": { + "title": "Short Blob", + "description": "Short Blob", + "type": "object", + "properties": { + "url": { "type": "string" }, + "sha": { "type": "string" } + } + }, + "blob": { + "title": "Blob", + "description": "Blob", + "type": "object", + "properties": { + "content": { "type": "string" }, + "encoding": { "type": "string" }, + "url": { "type": "string", "format": "uri" }, + "sha": { "type": "string" }, + "size": { "type": "integer", "nullable": true }, + "node_id": { "type": "string" }, + "highlighted_content": { "type": "string" } + }, + "required": ["sha", "url", "node_id", "size", "content", "encoding"] + }, + "git-commit": { + "title": "Git Commit", + "description": "Low-level Git commit operations within a repository", + "type": "object", + "properties": { + "sha": { + "description": "SHA for the commit", + "example": "7638417db6d59f3c431d3e1f261cc637155684cd", + "type": "string" + }, + "node_id": { "type": "string" }, + "url": { "type": "string", "format": "uri" }, + "author": { + "description": "Identifying information for the git-user", + "type": "object", + "properties": { + "date": { + "description": "Timestamp of the commit", + "example": "2014-08-09T08:02:04+12:00", + "format": "date-time", + "type": "string" + }, + "email": { + "type": "string", + "description": "Git email address of the user", + "example": "monalisa.octocat@example.com" + }, + "name": { + "description": "Name of the git user", + "example": "Monalisa Octocat", + "type": "string" + } + }, + "required": ["email", "name"] + }, + "committer": { + "description": "Identifying information for the git-user", + "type": "object", + "properties": { + "date": { + "description": "Timestamp of the commit", + "example": "2014-08-09T08:02:04+12:00", + "format": "date-time", + "type": "string" + }, + "email": { + "type": "string", + "description": "Git email address of the user", + "example": "monalisa.octocat@example.com" + }, + "name": { + "description": "Name of the git user", + "example": "Monalisa Octocat", + "type": "string" + } + }, + "required": ["email", "name"] + }, + "message": { + "description": "Message describing the purpose of the commit", + "example": "Fix #42", + "type": "string" + }, + "tree": { + "type": "object", + "properties": { + "sha": { + "description": "SHA for the commit", + "example": "7638417db6d59f3c431d3e1f261cc637155684cd", + "type": "string" + }, + "url": { "type": "string", "format": "uri" } + } + }, + "parents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "sha": { + "description": "SHA for the commit", + "example": "7638417db6d59f3c431d3e1f261cc637155684cd", + "type": "string" + }, + "url": { "type": "string", "format": "uri" }, + "html_url": { "type": "string", "format": "uri" } + } + } + }, + "verification": { + "type": "object", + "properties": { + "verified": { "type": "boolean" }, + "reason": { "type": "string" }, + "signature": { "type": "string", "nullable": true }, + "payload": { "type": "string", "nullable": true } + } + }, + "html_url": { "type": "string", "format": "uri" } + } + }, + "git-ref": { + "title": "Git Reference", + "description": "Git references within a repository", + "type": "object", + "properties": { + "ref": { "type": "string" }, + "node_id": { "type": "string" }, + "url": { "type": "string", "format": "uri" }, + "object": { + "type": "object", + "properties": { + "type": { "type": "string" }, + "sha": { + "description": "SHA for the reference", + "example": "7638417db6d59f3c431d3e1f261cc637155684cd", + "type": "string", + "minLength": 40, + "maxLength": 40 + }, + "url": { "type": "string", "format": "uri" } + } + } + } + }, + "git-tag": { + "title": "Git Tag", + "description": "Metadata for a Git tag", + "type": "object", + "properties": { + "node_id": { + "type": "string", + "example": "MDM6VGFnOTQwYmQzMzYyNDhlZmFlMGY5ZWU1YmM3YjJkNWM5ODU4ODdiMTZhYw==" + }, + "tag": { + "description": "Name of the tag", + "example": "v0.0.1", + "type": "string" + }, + "sha": { + "type": "string", + "example": "940bd336248efae0f9ee5bc7b2d5c985887b16ac" + }, + "url": { + "description": "URL for the tag", + "example": "https://api.github.com/repositories/42/git/tags/940bd336248efae0f9ee5bc7b2d5c985887b16ac", + "type": "string", + "format": "uri" + }, + "message": { + "description": "Message describing the purpose of the tag", + "example": "Initial public release", + "type": "string" + }, + "tagger": { + "type": "object", + "properties": { + "date": { "type": "string" }, + "email": { "type": "string" }, + "name": { "type": "string" } + }, + "required": ["date", "email", "name"] + }, + "object": { + "type": "object", + "properties": { + "sha": { "type": "string" }, + "type": { "type": "string" }, + "url": { "type": "string", "format": "uri" } + }, + "required": ["sha", "type", "url"] + }, + "verification": { "$ref": "#/components/schemas/verification" } + }, + "required": [ + "sha", + "url", + "node_id", + "tagger", + "object", + "tag", + "message" + ] + }, + "git-tree": { + "title": "Git Tree", + "description": "The hierarchy between files in a Git repository.", + "type": "object", + "properties": { + "sha": { "type": "string" }, + "url": { "type": "string", "format": "uri" }, + "truncated": { "type": "boolean" }, + "tree": { + "description": "Objects specifying a tree structure", + "type": "array", + "items": { + "type": "object", + "properties": { + "path": { "type": "string", "example": "\"test/file.rb\"" }, + "mode": { "type": "string", "example": "\"040000\"" }, + "type": { "type": "string", "example": "\"tree\"" }, + "sha": { + "type": "string", + "example": "\"23f6827669e43831def8a7ad935069c8bd418261\"" + }, + "size": { "type": "integer", "example": "12" }, + "url": { + "type": "string", + "example": "\"https://api.github.com/repos/owner-482f3203ecf01f67e9deb18e/BBB_Private_Repo/git/blobs/23f6827669e43831def8a7ad935069c8bd418261\"" + } + } + }, + "example": [ + { + "path": "file.rb", + "mode": "100644", + "type": "blob", + "size": 30, + "sha": "44b4fc6d56897b048c772eb4087f854f46256132", + "url": "https://api.github.com/repos/octocat/Hello-World/git/blobs/44b4fc6d56897b048c772eb4087f854f46256132", + "properties": { + "path": { "type": "string" }, + "mode": { "type": "string" }, + "type": { "type": "string" }, + "size": { "type": "integer" }, + "sha": { "type": "string" }, + "url": { "type": "string" } + }, + "required": ["path", "mode", "type", "sha", "url", "size"] + } + ] + } + }, + "required": ["sha", "url", "tree", "truncated"] + }, + "hook-response": { + "title": "Hook Response", + "type": "object", + "properties": { + "code": { "type": "integer", "nullable": true }, + "status": { "type": "string", "nullable": true }, + "message": { "type": "string", "nullable": true } + }, + "required": ["code", "status", "message"] + }, + "hook": { + "title": "Webhook", + "description": "Webhooks for repositories.", + "type": "object", + "properties": { + "type": { "type": "string" }, + "id": { + "description": "Unique identifier of the webhook.", + "example": 42, + "type": "integer" + }, + "name": { + "description": "The name of a valid service, use 'web' for a webhook.", + "example": "web", + "type": "string" + }, + "active": { + "description": "Determines whether the hook is actually triggered on pushes.", + "type": "boolean", + "example": true + }, + "events": { + "description": "Determines what events the hook is triggered for. Default: ['push'].", + "type": "array", + "items": { "type": "string" }, + "example": ["push", "pull_request"] + }, + "config": { + "type": "object", + "properties": { + "email": { "type": "string", "example": "\"foo@bar.com\"" }, + "password": { "type": "string", "example": "\"foo\"" }, + "room": { "type": "string", "example": "\"roomer\"" }, + "subdomain": { "type": "string", "example": "\"foo\"" }, + "url": { "$ref": "#/components/schemas/webhook-config-url" }, + "insecure_ssl": { + "$ref": "#/components/schemas/webhook-config-insecure-ssl" + }, + "content_type": { + "$ref": "#/components/schemas/webhook-config-content-type" + }, + "digest": { "type": "string", "example": "\"sha256\"" }, + "secret": { + "$ref": "#/components/schemas/webhook-config-secret" + }, + "token": { "type": "string", "example": "\"abc\"" } + } + }, + "updated_at": { + "type": "string", + "format": "date-time", + "example": "2011-09-06T20:39:23Z" + }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2011-09-06T17:26:27Z" + }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World/hooks/1" + }, + "test_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World/hooks/1/test" + }, + "ping_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World/hooks/1/pings" + }, + "last_response": { "$ref": "#/components/schemas/hook-response" } + }, + "required": [ + "id", + "url", + "type", + "name", + "active", + "events", + "config", + "ping_url", + "created_at", + "updated_at", + "last_response", + "test_url" + ] + }, + "import": { + "title": "Import", + "description": "A repository import from an external source.", + "type": "object", + "properties": { + "vcs": { "type": "string", "nullable": true }, + "use_lfs": { "type": "string" }, + "vcs_url": { + "description": "The URL of the originating repository.", + "type": "string" + }, + "svc_root": { "type": "string" }, + "tfvc_project": { "type": "string" }, + "status": { + "type": "string", + "enum": [ + "auth", + "error", + "none", + "detecting", + "choose", + "auth_failed", + "importing", + "mapping", + "waiting_to_push", + "pushing", + "complete", + "setup", + "unknown", + "detection_found_multiple", + "detection_found_nothing", + "detection_needs_auth" + ] + }, + "status_text": { "type": "string", "nullable": true }, + "failed_step": { "type": "string", "nullable": true }, + "error_message": { "type": "string", "nullable": true }, + "import_percent": { "type": "integer", "nullable": true }, + "commit_count": { "type": "integer", "nullable": true }, + "push_percent": { "type": "integer", "nullable": true }, + "has_large_files": { "type": "boolean" }, + "large_files_size": { "type": "integer" }, + "large_files_count": { "type": "integer" }, + "project_choices": { + "type": "array", + "items": { + "type": "object", + "properties": { + "vcs": { "type": "string" }, + "tfvc_project": { "type": "string" }, + "human_name": { "type": "string" } + } + } + }, + "message": { "type": "string" }, + "authors_count": { "type": "integer", "nullable": true }, + "url": { "type": "string", "format": "uri" }, + "html_url": { "type": "string", "format": "uri" }, + "authors_url": { "type": "string", "format": "uri" }, + "repository_url": { "type": "string", "format": "uri" }, + "svn_root": { "type": "string" } + }, + "required": [ + "vcs", + "vcs_url", + "status", + "url", + "repository_url", + "html_url", + "authors_url" + ] + }, + "porter-author": { + "title": "Porter Author", + "description": "Porter Author", + "type": "object", + "properties": { + "id": { "type": "integer" }, + "remote_id": { "type": "string" }, + "remote_name": { "type": "string" }, + "email": { "type": "string" }, + "name": { "type": "string" }, + "url": { "type": "string", "format": "uri" }, + "import_url": { "type": "string", "format": "uri" } + }, + "required": [ + "id", + "remote_id", + "remote_name", + "email", + "name", + "url", + "import_url" + ] + }, + "porter-large-file": { + "title": "Porter Large File", + "description": "Porter Large File", + "type": "object", + "properties": { + "ref_name": { "type": "string" }, + "path": { "type": "string" }, + "oid": { "type": "string" }, + "size": { "type": "integer" } + }, + "required": ["oid", "path", "ref_name", "size"] + }, + "issue-event-label": { + "title": "Issue Event Label", + "description": "Issue Event Label", + "type": "object", + "properties": { + "name": { "type": "string", "nullable": true }, + "color": { "type": "string", "nullable": true } + }, + "required": ["name", "color"] + }, + "issue-event-dismissed-review": { + "title": "Issue Event Dismissed Review", + "type": "object", + "properties": { + "state": { "type": "string" }, + "review_id": { "type": "integer" }, + "dismissal_message": { "type": "string", "nullable": true }, + "dismissal_commit_id": { "type": "string", "nullable": true } + }, + "required": ["state", "review_id", "dismissal_message"] + }, + "issue-event-milestone": { + "title": "Issue Event Milestone", + "description": "Issue Event Milestone", + "type": "object", + "properties": { "title": { "type": "string" } }, + "required": ["title"] + }, + "issue-event-project-card": { + "title": "Issue Event Project Card", + "description": "Issue Event Project Card", + "type": "object", + "properties": { + "url": { "type": "string", "format": "uri" }, + "id": { "type": "integer" }, + "project_url": { "type": "string", "format": "uri" }, + "project_id": { "type": "integer" }, + "column_name": { "type": "string" }, + "previous_column_name": { "type": "string" } + }, + "required": ["url", "id", "project_url", "project_id", "column_name"] + }, + "issue-event-rename": { + "title": "Issue Event Rename", + "description": "Issue Event Rename", + "type": "object", + "properties": { + "from": { "type": "string" }, + "to": { "type": "string" } + }, + "required": ["from", "to"] + }, + "issue-event": { + "title": "Issue Event", + "description": "Issue Event", + "type": "object", + "properties": { + "id": { "type": "integer", "example": 1 }, + "node_id": { "type": "string", "example": "MDEwOklzc3VlRXZlbnQx" }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World/issues/events/1" + }, + "actor": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + }, + "event": { "type": "string", "example": "closed" }, + "commit_id": { + "type": "string", + "example": "6dcb09b5b57875f334f61aebed695e2e4193db5e", + "nullable": true + }, + "commit_url": { + "type": "string", + "example": "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e", + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2011-04-14T16:00:49Z" + }, + "issue": { "$ref": "#/components/schemas/issue-simple" }, + "label": { "$ref": "#/components/schemas/issue-event-label" }, + "assignee": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + }, + "assigner": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + }, + "review_requester": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + }, + "requested_reviewer": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + }, + "requested_team": { "$ref": "#/components/schemas/team" }, + "dismissed_review": { + "$ref": "#/components/schemas/issue-event-dismissed-review" + }, + "milestone": { "$ref": "#/components/schemas/issue-event-milestone" }, + "project_card": { + "$ref": "#/components/schemas/issue-event-project-card" + }, + "rename": { "$ref": "#/components/schemas/issue-event-rename" }, + "author_association": { "type": "string" }, + "lock_reason": { "type": "string", "nullable": true } + }, + "required": [ + "id", + "node_id", + "url", + "actor", + "event", + "commit_id", + "commit_url", + "created_at" + ] + }, + "issue-event-for-issue": { + "title": "Issue Event for Issue", + "description": "Issue Event for Issue", + "type": "object", + "properties": { + "id": { "type": "integer" }, + "node_id": { "type": "string" }, + "url": { "type": "string" }, + "actor": { "$ref": "#/components/schemas/simple-user" }, + "event": { "type": "string" }, + "commit_id": { "type": "string", "nullable": true }, + "commit_url": { "type": "string", "nullable": true }, + "created_at": { "type": "string" }, + "sha": { + "type": "string", + "example": "\"480d4f47447129f015cb327536c522ca683939a1\"" + }, + "html_url": { + "type": "string", + "example": "\"https://github.com/owner-3906e11a33a3d55ba449d63f/BBB_Private_Repo/commit/480d4f47447129f015cb327536c522ca683939a1\"" + }, + "message": { + "type": "string", + "example": "\"add a bunch of files\"" + }, + "issue_url": { + "type": "string", + "example": "\"https://api.github.com/repos/owner-3906e11a33a3d55ba449d63f/AAA_Public_Repo/issues/1\"" + }, + "updated_at": { + "type": "string", + "example": "\"2020-07-09T00:17:36Z\"" + }, + "author_association": { + "type": "string", + "example": "\"COLLABORATOR\"" + }, + "body": { "type": "string", "example": "\":+1:\"" }, + "lock_reason": { "type": "string", "example": "\"off-topic\"" }, + "submitted_at": { + "type": "string", + "example": "\"2020-07-09T00:17:51Z\"" + }, + "state": { "type": "string", "example": "\"commented\"" }, + "pull_request_url": { + "type": "string", + "example": "\"https://api.github.com/repos/owner-3906e11a33a3d55ba449d63f/AAA_Public_Repo/pulls/2\"" + }, + "body_html": { + "type": "string", + "example": "\"

Accusantium fugiat cumque. Autem qui nostrum. Atque quae ullam.

\"" + }, + "body_text": { + "type": "string", + "example": "\"Accusantium fugiat cumque. Autem qui nostrum. Atque quae ullam.\"" + } + } + }, + "label": { + "title": "Label", + "description": "Color-coded labels help you categorize and filter your issues (just like labels in Gmail).", + "type": "object", + "properties": { + "id": { "type": "integer", "example": 208045946 }, + "node_id": { + "type": "string", + "example": "MDU6TGFiZWwyMDgwNDU5NDY=" + }, + "url": { + "description": "URL for the label", + "example": "https://api.github.com/repositories/42/labels/bug", + "type": "string", + "format": "uri" + }, + "name": { + "description": "The name of the label.", + "example": "bug", + "type": "string" + }, + "description": { + "type": "string", + "example": "Something isn't working", + "nullable": true + }, + "color": { + "description": "6-character hex code, without the leading #, identifying the color", + "example": "FFFFFF", + "type": "string" + }, + "default": { "type": "boolean", "example": true } + }, + "required": ["color", "name", "id", "node_id", "default", "url"] + }, + "deploy-key": { + "title": "Deploy Key", + "description": "An SSH key granting access to a single repository.", + "type": "object", + "properties": { + "id": { "type": "integer" }, + "key": { "type": "string" }, + "url": { "type": "string" }, + "title": { "type": "string" }, + "verified": { "type": "boolean" }, + "created_at": { "type": "string" }, + "read_only": { "type": "boolean" } + } + }, + "language": { + "title": "Language", + "description": "Language", + "type": "object", + "additionalProperties": { "type": "integer" } + }, + "license-content": { + "title": "License Content", + "description": "License Content", + "type": "object", + "properties": { + "name": { "type": "string" }, + "path": { "type": "string" }, + "sha": { "type": "string" }, + "size": { "type": "integer" }, + "url": { "type": "string", "format": "uri" }, + "html_url": { "type": "string", "format": "uri", "nullable": true }, + "git_url": { "type": "string", "format": "uri", "nullable": true }, + "download_url": { + "type": "string", + "format": "uri", + "nullable": true + }, + "type": { "type": "string" }, + "content": { "type": "string" }, + "encoding": { "type": "string" }, + "_links": { + "type": "object", + "properties": { + "git": { "type": "string", "format": "uri", "nullable": true }, + "html": { "type": "string", "format": "uri", "nullable": true }, + "self": { "type": "string", "format": "uri" } + }, + "required": ["git", "html", "self"] + }, + "license": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/license-simple" }] + } + }, + "required": [ + "_links", + "git_url", + "html_url", + "download_url", + "name", + "path", + "sha", + "size", + "type", + "url", + "content", + "encoding", + "license" + ] + }, + "pages-source-hash": { + "title": "Pages Source Hash", + "type": "object", + "properties": { + "branch": { "type": "string" }, + "path": { "type": "string" } + }, + "required": ["branch", "path"] + }, + "page": { + "title": "GitHub Pages", + "description": "The configuration for GitHub Pages for a repository.", + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "The API address for accessing this Page resource.", + "format": "uri", + "example": "https://api.github.com/repos/github/hello-world/pages" + }, + "status": { + "type": "string", + "description": "The status of the most recent build of the Page.", + "example": "built", + "enum": ["built", "building", "errored"], + "nullable": true + }, + "cname": { + "description": "The Pages site's custom domain", + "example": "example.com", + "type": "string", + "nullable": true + }, + "custom_404": { + "type": "boolean", + "description": "Whether the Page has a custom 404 page.", + "example": false, + "default": false + }, + "html_url": { + "type": "string", + "description": "The web address the Page can be accessed from.", + "format": "uri", + "example": "https://example.com" + }, + "source": { "$ref": "#/components/schemas/pages-source-hash" } + }, + "required": ["url", "status", "cname", "custom_404"] + }, + "page-build": { + "title": "Page Build", + "description": "Page Build", + "type": "object", + "properties": { + "url": { "type": "string", "format": "uri" }, + "status": { "type": "string" }, + "error": { + "type": "object", + "properties": { "message": { "type": "string", "nullable": true } }, + "required": ["message"] + }, + "pusher": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + }, + "commit": { "type": "string" }, + "duration": { "type": "integer" }, + "created_at": { "type": "string", "format": "date-time" }, + "updated_at": { "type": "string", "format": "date-time" } + }, + "required": [ + "url", + "status", + "error", + "pusher", + "commit", + "duration", + "created_at", + "updated_at" + ] + }, + "page-build-status": { + "title": "Page Build Status", + "description": "Page Build Status", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/github/hello-world/pages/builds/latest" + }, + "status": { "type": "string", "example": "queued" } + }, + "required": ["url", "status"] + }, + "pull-request": { + "type": "object", + "title": "Pull Request", + "description": "Pull requests let you tell others about changes you've pushed to a repository on GitHub. Once a pull request is sent, interested parties can review the set of changes, discuss potential modifications, and even push follow-up commits if necessary.", + "properties": { + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World/pulls/1347" + }, + "id": { "type": "integer", "example": 1 }, + "node_id": { + "type": "string", + "example": "MDExOlB1bGxSZXF1ZXN0MQ==" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat/Hello-World/pull/1347" + }, + "diff_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat/Hello-World/pull/1347.diff" + }, + "patch_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat/Hello-World/pull/1347.patch" + }, + "issue_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World/issues/1347" + }, + "commits_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World/pulls/1347/commits" + }, + "review_comments_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World/pulls/1347/comments" + }, + "review_comment_url": { + "type": "string", + "example": "https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number}" + }, + "comments_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World/issues/1347/comments" + }, + "statuses_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e" + }, + "number": { + "description": "Number uniquely identifying the pull request within its repository.", + "example": 42, + "type": "integer" + }, + "state": { + "description": "State of this Pull Request. Either `open` or `closed`.", + "enum": ["open", "closed"], + "example": "open", + "type": "string" + }, + "locked": { "type": "boolean", "example": true }, + "title": { + "description": "The title of the pull request.", + "example": "Amazing new feature", + "type": "string" + }, + "user": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + }, + "body": { + "type": "string", + "example": "Please pull these awesome changes", + "nullable": true + }, + "labels": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "node_id": { "type": "string" }, + "url": { "type": "string" }, + "name": { "type": "string" }, + "description": { "type": "string", "nullable": true }, + "color": { "type": "string" }, + "default": { "type": "boolean" } + } + } + }, + "milestone": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/milestone" }] + }, + "active_lock_reason": { + "type": "string", + "example": "too heated", + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:01:12Z" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:01:12Z" + }, + "closed_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:01:12Z", + "nullable": true + }, + "merged_at": { + "type": "string", + "format": "date-time", + "example": "2011-01-26T19:01:12Z", + "nullable": true + }, + "merge_commit_sha": { + "type": "string", + "example": "e5bd3914e2e596debea16f433f57875b5b90bcd6", + "nullable": true + }, + "assignee": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + }, + "assignees": { + "type": "array", + "items": { "$ref": "#/components/schemas/simple-user" }, + "nullable": true + }, + "requested_reviewers": { + "type": "array", + "items": { "$ref": "#/components/schemas/simple-user" }, + "nullable": true + }, + "requested_teams": { + "type": "array", + "items": { "$ref": "#/components/schemas/team-simple" }, + "nullable": true + }, + "head": { + "type": "object", + "properties": { + "label": { "type": "string" }, + "ref": { "type": "string" }, + "repo": { + "type": "object", + "properties": { + "archive_url": { "type": "string" }, + "assignees_url": { "type": "string" }, + "blobs_url": { "type": "string" }, + "branches_url": { "type": "string" }, + "collaborators_url": { "type": "string" }, + "comments_url": { "type": "string" }, + "commits_url": { "type": "string" }, + "compare_url": { "type": "string" }, + "contents_url": { "type": "string" }, + "contributors_url": { "type": "string", "format": "uri" }, + "deployments_url": { "type": "string", "format": "uri" }, + "description": { "type": "string", "nullable": true }, + "downloads_url": { "type": "string", "format": "uri" }, + "events_url": { "type": "string", "format": "uri" }, + "fork": { "type": "boolean" }, + "forks_url": { "type": "string", "format": "uri" }, + "full_name": { "type": "string" }, + "git_commits_url": { "type": "string" }, + "git_refs_url": { "type": "string" }, + "git_tags_url": { "type": "string" }, + "hooks_url": { "type": "string", "format": "uri" }, + "html_url": { "type": "string", "format": "uri" }, + "id": { "type": "integer" }, + "node_id": { "type": "string" }, + "issue_comment_url": { "type": "string" }, + "issue_events_url": { "type": "string" }, + "issues_url": { "type": "string" }, + "keys_url": { "type": "string" }, + "labels_url": { "type": "string" }, + "languages_url": { "type": "string", "format": "uri" }, + "merges_url": { "type": "string", "format": "uri" }, + "milestones_url": { "type": "string" }, + "name": { "type": "string" }, + "notifications_url": { "type": "string" }, + "owner": { + "type": "object", + "properties": { + "avatar_url": { "type": "string", "format": "uri" }, + "events_url": { "type": "string" }, + "followers_url": { "type": "string", "format": "uri" }, + "following_url": { "type": "string" }, + "gists_url": { "type": "string" }, + "gravatar_id": { "type": "string", "nullable": true }, + "html_url": { "type": "string", "format": "uri" }, + "id": { "type": "integer" }, + "node_id": { "type": "string" }, + "login": { "type": "string" }, + "organizations_url": { + "type": "string", + "format": "uri" + }, + "received_events_url": { + "type": "string", + "format": "uri" + }, + "repos_url": { "type": "string", "format": "uri" }, + "site_admin": { "type": "boolean" }, + "starred_url": { "type": "string" }, + "subscriptions_url": { + "type": "string", + "format": "uri" + }, + "type": { "type": "string" }, + "url": { "type": "string", "format": "uri" } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + }, + "private": { "type": "boolean" }, + "pulls_url": { "type": "string" }, + "releases_url": { "type": "string" }, + "stargazers_url": { "type": "string", "format": "uri" }, + "statuses_url": { "type": "string" }, + "subscribers_url": { "type": "string", "format": "uri" }, + "subscription_url": { "type": "string", "format": "uri" }, + "tags_url": { "type": "string", "format": "uri" }, + "teams_url": { "type": "string", "format": "uri" }, + "trees_url": { "type": "string" }, + "url": { "type": "string", "format": "uri" }, + "clone_url": { "type": "string" }, + "default_branch": { "type": "string" }, + "forks": { "type": "integer" }, + "forks_count": { "type": "integer" }, + "git_url": { "type": "string" }, + "has_downloads": { "type": "boolean" }, + "has_issues": { "type": "boolean" }, + "has_projects": { "type": "boolean" }, + "has_wiki": { "type": "boolean" }, + "has_pages": { "type": "boolean" }, + "homepage": { + "type": "string", + "format": "uri", + "nullable": true + }, + "language": { "type": "string", "nullable": true }, + "master_branch": { "type": "string" }, + "archived": { "type": "boolean" }, + "disabled": { "type": "boolean" }, + "mirror_url": { + "type": "string", + "format": "uri", + "nullable": true + }, + "open_issues": { "type": "integer" }, + "open_issues_count": { "type": "integer" }, + "permissions": { + "type": "object", + "properties": { + "admin": { "type": "boolean" }, + "pull": { "type": "boolean" }, + "push": { "type": "boolean" } + }, + "required": ["admin", "pull", "push"] + }, + "temp_clone_token": { "type": "string" }, + "allow_merge_commit": { "type": "boolean" }, + "allow_squash_merge": { "type": "boolean" }, + "allow_rebase_merge": { "type": "boolean" }, + "license": { + "type": "object", + "properties": { + "key": { "type": "string" }, + "name": { "type": "string" }, + "url": { + "type": "string", + "format": "uri", + "nullable": true + }, + "spdx_id": { "type": "string", "nullable": true }, + "node_id": { "type": "string" } + }, + "required": ["key", "name", "url", "spdx_id", "node_id"], + "nullable": true + }, + "pushed_at": { "type": "string", "format": "date-time" }, + "size": { "type": "integer" }, + "ssh_url": { "type": "string" }, + "stargazers_count": { "type": "integer" }, + "svn_url": { "type": "string", "format": "uri" }, + "topics": { "type": "array", "items": { "type": "string" } }, + "watchers": { "type": "integer" }, + "watchers_count": { "type": "integer" }, + "created_at": { "type": "string", "format": "date-time" }, + "updated_at": { "type": "string", "format": "date-time" } + }, + "required": [ + "archive_url", + "assignees_url", + "blobs_url", + "branches_url", + "collaborators_url", + "comments_url", + "commits_url", + "compare_url", + "contents_url", + "contributors_url", + "deployments_url", + "description", + "downloads_url", + "events_url", + "fork", + "forks_url", + "full_name", + "git_commits_url", + "git_refs_url", + "git_tags_url", + "hooks_url", + "html_url", + "id", + "node_id", + "issue_comment_url", + "issue_events_url", + "issues_url", + "keys_url", + "labels_url", + "languages_url", + "merges_url", + "milestones_url", + "name", + "notifications_url", + "owner", + "private", + "pulls_url", + "releases_url", + "stargazers_url", + "statuses_url", + "subscribers_url", + "subscription_url", + "tags_url", + "teams_url", + "trees_url", + "url", + "clone_url", + "default_branch", + "forks", + "forks_count", + "git_url", + "has_downloads", + "has_issues", + "has_projects", + "has_wiki", + "has_pages", + "homepage", + "language", + "archived", + "disabled", + "mirror_url", + "open_issues", + "open_issues_count", + "license", + "pushed_at", + "size", + "ssh_url", + "stargazers_count", + "svn_url", + "watchers", + "watchers_count", + "created_at", + "updated_at" + ] + }, + "sha": { "type": "string" }, + "user": { + "type": "object", + "properties": { + "avatar_url": { "type": "string", "format": "uri" }, + "events_url": { "type": "string" }, + "followers_url": { "type": "string", "format": "uri" }, + "following_url": { "type": "string" }, + "gists_url": { "type": "string" }, + "gravatar_id": { "type": "string", "nullable": true }, + "html_url": { "type": "string", "format": "uri" }, + "id": { "type": "integer" }, + "node_id": { "type": "string" }, + "login": { "type": "string" }, + "organizations_url": { "type": "string", "format": "uri" }, + "received_events_url": { "type": "string", "format": "uri" }, + "repos_url": { "type": "string", "format": "uri" }, + "site_admin": { "type": "boolean" }, + "starred_url": { "type": "string" }, + "subscriptions_url": { "type": "string", "format": "uri" }, + "type": { "type": "string" }, + "url": { "type": "string", "format": "uri" } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + }, + "required": ["label", "ref", "repo", "sha", "user"] + }, + "base": { + "type": "object", + "properties": { + "label": { "type": "string" }, + "ref": { "type": "string" }, + "repo": { + "type": "object", + "properties": { + "archive_url": { "type": "string" }, + "assignees_url": { "type": "string" }, + "blobs_url": { "type": "string" }, + "branches_url": { "type": "string" }, + "collaborators_url": { "type": "string" }, + "comments_url": { "type": "string" }, + "commits_url": { "type": "string" }, + "compare_url": { "type": "string" }, + "contents_url": { "type": "string" }, + "contributors_url": { "type": "string", "format": "uri" }, + "deployments_url": { "type": "string", "format": "uri" }, + "description": { "type": "string", "nullable": true }, + "downloads_url": { "type": "string", "format": "uri" }, + "events_url": { "type": "string", "format": "uri" }, + "fork": { "type": "boolean" }, + "forks_url": { "type": "string", "format": "uri" }, + "full_name": { "type": "string" }, + "git_commits_url": { "type": "string" }, + "git_refs_url": { "type": "string" }, + "git_tags_url": { "type": "string" }, + "hooks_url": { "type": "string", "format": "uri" }, + "html_url": { "type": "string", "format": "uri" }, + "id": { "type": "integer" }, + "node_id": { "type": "string" }, + "issue_comment_url": { "type": "string" }, + "issue_events_url": { "type": "string" }, + "issues_url": { "type": "string" }, + "keys_url": { "type": "string" }, + "labels_url": { "type": "string" }, + "languages_url": { "type": "string", "format": "uri" }, + "merges_url": { "type": "string", "format": "uri" }, + "milestones_url": { "type": "string" }, + "name": { "type": "string" }, + "notifications_url": { "type": "string" }, + "owner": { + "type": "object", + "properties": { + "avatar_url": { "type": "string", "format": "uri" }, + "events_url": { "type": "string" }, + "followers_url": { "type": "string", "format": "uri" }, + "following_url": { "type": "string" }, + "gists_url": { "type": "string" }, + "gravatar_id": { "type": "string", "nullable": true }, + "html_url": { "type": "string", "format": "uri" }, + "id": { "type": "integer" }, + "node_id": { "type": "string" }, + "login": { "type": "string" }, + "organizations_url": { + "type": "string", + "format": "uri" + }, + "received_events_url": { + "type": "string", + "format": "uri" + }, + "repos_url": { "type": "string", "format": "uri" }, + "site_admin": { "type": "boolean" }, + "starred_url": { "type": "string" }, + "subscriptions_url": { + "type": "string", + "format": "uri" + }, + "type": { "type": "string" }, + "url": { "type": "string", "format": "uri" } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + }, + "private": { "type": "boolean" }, + "pulls_url": { "type": "string" }, + "releases_url": { "type": "string" }, + "stargazers_url": { "type": "string", "format": "uri" }, + "statuses_url": { "type": "string" }, + "subscribers_url": { "type": "string", "format": "uri" }, + "subscription_url": { "type": "string", "format": "uri" }, + "tags_url": { "type": "string", "format": "uri" }, + "teams_url": { "type": "string", "format": "uri" }, + "trees_url": { "type": "string" }, + "url": { "type": "string", "format": "uri" }, + "clone_url": { "type": "string" }, + "default_branch": { "type": "string" }, + "forks": { "type": "integer" }, + "forks_count": { "type": "integer" }, + "git_url": { "type": "string" }, + "has_downloads": { "type": "boolean" }, + "has_issues": { "type": "boolean" }, + "has_projects": { "type": "boolean" }, + "has_wiki": { "type": "boolean" }, + "has_pages": { "type": "boolean" }, + "homepage": { + "type": "string", + "format": "uri", + "nullable": true + }, + "language": { "type": "string", "nullable": true }, + "master_branch": { "type": "string" }, + "archived": { "type": "boolean" }, + "disabled": { "type": "boolean" }, + "mirror_url": { + "type": "string", + "format": "uri", + "nullable": true + }, + "open_issues": { "type": "integer" }, + "open_issues_count": { "type": "integer" }, + "permissions": { + "type": "object", + "properties": { + "admin": { "type": "boolean" }, + "pull": { "type": "boolean" }, + "push": { "type": "boolean" } + }, + "required": ["admin", "pull", "push"] + }, + "temp_clone_token": { "type": "string" }, + "allow_merge_commit": { "type": "boolean" }, + "allow_squash_merge": { "type": "boolean" }, + "allow_rebase_merge": { "type": "boolean" }, + "license": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/license-simple" }] + }, + "pushed_at": { "type": "string", "format": "date-time" }, + "size": { "type": "integer" }, + "ssh_url": { "type": "string" }, + "stargazers_count": { "type": "integer" }, + "svn_url": { "type": "string", "format": "uri" }, + "topics": { "type": "array", "items": { "type": "string" } }, + "watchers": { "type": "integer" }, + "watchers_count": { "type": "integer" }, + "created_at": { "type": "string", "format": "date-time" }, + "updated_at": { "type": "string", "format": "date-time" } + }, + "required": [ + "archive_url", + "assignees_url", + "blobs_url", + "branches_url", + "collaborators_url", + "comments_url", + "commits_url", + "compare_url", + "contents_url", + "contributors_url", + "deployments_url", + "description", + "downloads_url", + "events_url", + "fork", + "forks_url", + "full_name", + "git_commits_url", + "git_refs_url", + "git_tags_url", + "hooks_url", + "html_url", + "id", + "node_id", + "issue_comment_url", + "issue_events_url", + "issues_url", + "keys_url", + "labels_url", + "languages_url", + "merges_url", + "milestones_url", + "name", + "notifications_url", + "owner", + "private", + "pulls_url", + "releases_url", + "stargazers_url", + "statuses_url", + "subscribers_url", + "subscription_url", + "tags_url", + "teams_url", + "trees_url", + "url", + "clone_url", + "default_branch", + "forks", + "forks_count", + "git_url", + "has_downloads", + "has_issues", + "has_projects", + "has_wiki", + "has_pages", + "homepage", + "language", + "archived", + "disabled", + "mirror_url", + "open_issues", + "open_issues_count", + "license", + "pushed_at", + "size", + "ssh_url", + "stargazers_count", + "svn_url", + "watchers", + "watchers_count", + "created_at", + "updated_at" + ] + }, + "sha": { "type": "string" }, + "user": { + "type": "object", + "properties": { + "avatar_url": { "type": "string", "format": "uri" }, + "events_url": { "type": "string" }, + "followers_url": { "type": "string", "format": "uri" }, + "following_url": { "type": "string" }, + "gists_url": { "type": "string" }, + "gravatar_id": { "type": "string", "nullable": true }, + "html_url": { "type": "string", "format": "uri" }, + "id": { "type": "integer" }, + "node_id": { "type": "string" }, + "login": { "type": "string" }, + "organizations_url": { "type": "string", "format": "uri" }, + "received_events_url": { "type": "string", "format": "uri" }, + "repos_url": { "type": "string", "format": "uri" }, + "site_admin": { "type": "boolean" }, + "starred_url": { "type": "string" }, + "subscriptions_url": { "type": "string", "format": "uri" }, + "type": { "type": "string" }, + "url": { "type": "string", "format": "uri" } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + }, + "required": ["label", "ref", "repo", "sha", "user"] + }, + "_links": { + "type": "object", + "properties": { + "comments": { "$ref": "#/components/schemas/link" }, + "commits": { "$ref": "#/components/schemas/link" }, + "statuses": { "$ref": "#/components/schemas/link" }, + "html": { "$ref": "#/components/schemas/link" }, + "issue": { "$ref": "#/components/schemas/link" }, + "review_comments": { "$ref": "#/components/schemas/link" }, + "review_comment": { "$ref": "#/components/schemas/link" }, + "self": { "$ref": "#/components/schemas/link" } + }, + "required": [ + "comments", + "commits", + "statuses", + "html", + "issue", + "review_comments", + "review_comment", + "self" + ] + }, + "author_association": { "type": "string", "example": "OWNER" }, + "draft": { + "description": "Indicates whether or not the pull request is a draft.", + "example": false, + "type": "boolean" + }, + "merged": { "type": "boolean" }, + "mergeable": { "type": "boolean", "example": true, "nullable": true }, + "rebaseable": { + "type": "boolean", + "example": true, + "nullable": true + }, + "mergeable_state": { "type": "string", "example": "clean" }, + "merged_by": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + }, + "comments": { "type": "integer", "example": 10 }, + "review_comments": { "type": "integer", "example": 0 }, + "maintainer_can_modify": { + "description": "Indicates whether maintainers can modify the pull request.", + "example": true, + "type": "boolean" + }, + "commits": { "type": "integer", "example": 3 }, + "additions": { "type": "integer", "example": 100 }, + "deletions": { "type": "integer", "example": 3 }, + "changed_files": { "type": "integer", "example": 5 } + }, + "required": [ + "_links", + "assignee", + "labels", + "base", + "body", + "closed_at", + "comments_url", + "commits_url", + "created_at", + "diff_url", + "head", + "html_url", + "id", + "node_id", + "issue_url", + "merge_commit_sha", + "merged_at", + "milestone", + "number", + "patch_url", + "review_comment_url", + "review_comments_url", + "statuses_url", + "state", + "locked", + "title", + "updated_at", + "url", + "user", + "author_association", + "additions", + "changed_files", + "comments", + "commits", + "deletions", + "mergeable", + "mergeable_state", + "merged", + "maintainer_can_modify", + "merged_by", + "review_comments" + ] + }, + "pull-request-review-comment": { + "title": "Pull Request Review Comment", + "description": "Pull Request Review Comments are comments on a portion of the Pull Request's diff.", + "type": "object", + "properties": { + "url": { + "description": "URL for the pull request review comment", + "example": "https://api.github.com/repos/octocat/Hello-World/pulls/comments/1", + "type": "string" + }, + "pull_request_review_id": { + "description": "The ID of the pull request review to which the comment belongs.", + "example": 42, + "type": "integer", + "nullable": true + }, + "id": { + "description": "The ID of the pull request review comment.", + "example": 1, + "type": "integer" + }, + "node_id": { + "description": "The node ID of the pull request review comment.", + "type": "string", + "example": "MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDEw" + }, + "diff_hunk": { + "description": "The diff of the line that the comment refers to.", + "type": "string", + "example": "@@ -16,33 +16,40 @@ public class Connection : IConnection..." + }, + "path": { + "description": "The relative path of the file to which the comment applies.", + "example": "config/database.yaml", + "type": "string" + }, + "position": { + "description": "The line index in the diff to which the comment applies.", + "example": 1, + "type": "integer" + }, + "original_position": { + "description": "The index of the original line in the diff to which the comment applies.", + "example": 4, + "type": "integer" + }, + "commit_id": { + "description": "The SHA of the commit to which the comment applies.", + "example": "6dcb09b5b57875f334f61aebed695e2e4193db5e", + "type": "string" + }, + "original_commit_id": { + "description": "The SHA of the original commit to which the comment applies.", + "example": "9c48853fa3dc5c1c3d6f1f1cd1f2743e72652840", + "type": "string" + }, + "in_reply_to_id": { + "description": "The comment ID to reply to.", + "example": 8, + "type": "integer" + }, + "user": { "$ref": "#/components/schemas/simple-user" }, + "body": { + "description": "The text of the comment.", + "example": "We should probably include a check for null values here.", + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2011-04-14T16:00:49Z" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "example": "2011-04-14T16:00:49Z" + }, + "html_url": { + "description": "HTML URL for the pull request review comment.", + "type": "string", + "format": "uri", + "example": "https://github.com/octocat/Hello-World/pull/1#discussion-diff-1" + }, + "pull_request_url": { + "description": "URL for the pull request that the review comment belongs to.", + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World/pulls/1" + }, + "author_association": { + "description": "How the author of the comment is associated with the pull request.", + "type": "string", + "example": "" + }, + "_links": { + "type": "object", + "properties": { + "self": { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World/pulls/comments/1" + } + }, + "required": ["href"] + }, + "html": { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat/Hello-World/pull/1#discussion-diff-1" + } + }, + "required": ["href"] + }, + "pull_request": { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World/pulls/1" + } + }, + "required": ["href"] + } + }, + "required": ["self", "html", "pull_request"] + }, + "start_line": { + "type": "integer", + "description": "The first line of the range for a multi-line comment.", + "example": 2, + "nullable": true + }, + "original_start_line": { + "type": "integer", + "description": "The first line of the range for a multi-line comment.", + "example": 2, + "nullable": true + }, + "start_side": { + "type": "string", + "description": "The side of the first line of the range for a multi-line comment.", + "enum": ["LEFT", "RIGHT"], + "default": "RIGHT", + "nullable": true + }, + "line": { + "description": "The line of the blob to which the comment applies. The last line of the range for a multi-line comment", + "example": 2, + "type": "integer" + }, + "original_line": { + "description": "The line of the blob to which the comment applies. The last line of the range for a multi-line comment", + "example": 2, + "type": "integer" + }, + "side": { + "description": "The side of the diff to which the comment applies. The side of the last line of the range for a multi-line comment", + "enum": ["LEFT", "RIGHT"], + "default": "RIGHT", + "type": "string" + }, + "reactions": { "$ref": "#/components/schemas/reaction-rollup" }, + "body_html": { + "type": "string", + "example": "\"

comment body

\"" + }, + "body_text": { "type": "string", "example": "\"comment body\"" } + }, + "required": [ + "url", + "id", + "node_id", + "pull_request_review_id", + "diff_hunk", + "path", + "position", + "original_position", + "commit_id", + "original_commit_id", + "user", + "body", + "created_at", + "updated_at", + "html_url", + "pull_request_url", + "author_association", + "_links" + ] + }, + "pull-request-merge-result": { + "title": "Pull Request Merge Result", + "description": "Pull Request Merge Result", + "type": "object", + "properties": { + "sha": { "type": "string" }, + "merged": { "type": "boolean" }, + "message": { "type": "string" } + }, + "required": ["merged", "message", "sha"] + }, + "pull-request-review-request": { + "title": "Pull Request Review Request", + "description": "Pull Request Review Request", + "type": "object", + "properties": { + "users": { + "type": "array", + "items": { + "type": "object", + "properties": { + "login": { "type": "string" }, + "id": { "type": "integer" }, + "node_id": { "type": "string" }, + "avatar_url": { "type": "string" }, + "gravatar_id": { "type": "string" }, + "url": { "type": "string" }, + "html_url": { "type": "string" }, + "followers_url": { "type": "string" }, + "following_url": { "type": "string" }, + "gists_url": { "type": "string" }, + "starred_url": { "type": "string" }, + "subscriptions_url": { "type": "string" }, + "organizations_url": { "type": "string" }, + "repos_url": { "type": "string" }, + "events_url": { "type": "string" }, + "received_events_url": { "type": "string" }, + "type": { "type": "string" }, + "site_admin": { "type": "boolean" } + } + } + }, + "teams": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "node_id": { "type": "string" }, + "url": { "type": "string" }, + "html_url": { "type": "string" }, + "name": { "type": "string" }, + "slug": { "type": "string" }, + "description": { "type": "string", "nullable": true }, + "privacy": { "type": "string" }, + "permission": { "type": "string" }, + "members_url": { "type": "string" }, + "repositories_url": { "type": "string" }, + "parent": { "type": "string", "nullable": true } + } + } + } + } + }, + "pull-request-review": { + "title": "Pull Request Review", + "description": "Pull Request Reviews are reviews on pull requests.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the review", + "example": 42, + "type": "integer" + }, + "node_id": { + "type": "string", + "example": "MDE3OlB1bGxSZXF1ZXN0UmV2aWV3ODA=" + }, + "user": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + }, + "body": { + "description": "The text of the review.", + "example": "This looks great.", + "type": "string" + }, + "state": { "type": "string", "example": "CHANGES_REQUESTED" }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat/Hello-World/pull/12#pullrequestreview-80" + }, + "pull_request_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World/pulls/12" + }, + "_links": { + "type": "object", + "properties": { + "html": { + "type": "object", + "properties": { "href": { "type": "string" } }, + "required": ["href"] + }, + "pull_request": { + "type": "object", + "properties": { "href": { "type": "string" } }, + "required": ["href"] + } + }, + "required": ["html", "pull_request"] + }, + "submitted_at": { "type": "string", "format": "date-time" }, + "commit_id": { + "description": "A commit SHA for the review.", + "example": "54bb654c9e6025347f57900a4a5c2313a96b8035", + "type": "string" + }, + "body_html": { "type": "string" }, + "body_text": { "type": "string" }, + "author_association": { "type": "string" } + }, + "required": [ + "id", + "node_id", + "user", + "body", + "state", + "commit_id", + "html_url", + "pull_request_url", + "_links", + "author_association" + ] + }, + "review-comment": { + "title": "Legacy Review Comment", + "description": "Legacy Review Comment", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World/pulls/comments/1" + }, + "pull_request_review_id": { + "type": "integer", + "example": 42, + "nullable": true + }, + "id": { "type": "integer", "example": 10 }, + "node_id": { + "type": "string", + "example": "MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDEw" + }, + "diff_hunk": { + "type": "string", + "example": "@@ -16,33 +16,40 @@ public class Connection : IConnection..." + }, + "path": { "type": "string", "example": "file1.txt" }, + "position": { "type": "integer", "example": 1, "nullable": true }, + "original_position": { "type": "integer", "example": 4 }, + "commit_id": { + "type": "string", + "example": "6dcb09b5b57875f334f61aebed695e2e4193db5e" + }, + "original_commit_id": { + "type": "string", + "example": "9c48853fa3dc5c1c3d6f1f1cd1f2743e72652840" + }, + "in_reply_to_id": { "type": "integer", "example": 8 }, + "user": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + }, + "body": { "type": "string", "example": "Great stuff" }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2011-04-14T16:00:49Z" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "example": "2011-04-14T16:00:49Z" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat/Hello-World/pull/1#discussion-diff-1" + }, + "pull_request_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/Hello-World/pulls/1" + }, + "author_association": { "type": "string" }, + "_links": { + "type": "object", + "properties": { + "self": { "$ref": "#/components/schemas/link" }, + "html": { "$ref": "#/components/schemas/link" }, + "pull_request": { "$ref": "#/components/schemas/link" } + }, + "required": ["self", "html", "pull_request"] + }, + "body_text": { "type": "string" }, + "body_html": { "type": "string" }, + "side": { + "description": "The side of the first line of the range for a multi-line comment.", + "enum": ["LEFT", "RIGHT"], + "default": "RIGHT", + "type": "string" + }, + "start_side": { + "type": "string", + "description": "The side of the first line of the range for a multi-line comment.", + "enum": ["LEFT", "RIGHT"], + "default": "RIGHT", + "nullable": true + }, + "line": { + "description": "The line of the blob to which the comment applies. The last line of the range for a multi-line comment", + "example": 2, + "type": "integer" + }, + "original_line": { + "description": "The original line of the blob to which the comment applies. The last line of the range for a multi-line comment", + "example": 2, + "type": "integer" + }, + "start_line": { + "description": "The first line of the range for a multi-line comment.", + "example": 2, + "type": "integer", + "nullable": true + }, + "original_start_line": { + "description": "The original first line of the range for a multi-line comment.", + "example": 2, + "type": "integer", + "nullable": true + } + }, + "required": [ + "id", + "node_id", + "url", + "body", + "diff_hunk", + "path", + "position", + "original_position", + "commit_id", + "original_commit_id", + "user", + "pull_request_review_id", + "html_url", + "pull_request_url", + "_links", + "author_association", + "created_at", + "updated_at" + ] + }, + "release-asset": { + "title": "Release Asset", + "description": "Data related to a release.", + "type": "object", + "properties": { + "url": { "type": "string", "format": "uri" }, + "browser_download_url": { "type": "string", "format": "uri" }, + "id": { "type": "integer" }, + "node_id": { "type": "string" }, + "name": { + "description": "The file name of the asset.", + "type": "string", + "example": "Team Environment" + }, + "label": { "type": "string", "nullable": true }, + "state": { + "description": "State of the release asset.", + "type": "string", + "enum": ["uploaded"], + "example": "open" + }, + "content_type": { "type": "string" }, + "size": { "type": "integer" }, + "download_count": { "type": "integer" }, + "created_at": { "type": "string", "format": "date-time" }, + "updated_at": { "type": "string", "format": "date-time" }, + "uploader": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + } + }, + "required": [ + "id", + "name", + "content_type", + "size", + "state", + "url", + "node_id", + "download_count", + "label", + "uploader", + "browser_download_url", + "created_at", + "updated_at" + ] + }, + "release": { + "title": "Release", + "description": "A release.", + "type": "object", + "properties": { + "url": { "type": "string", "format": "uri" }, + "html_url": { "type": "string", "format": "uri" }, + "assets_url": { "type": "string", "format": "uri" }, + "upload_url": { "type": "string" }, + "tarball_url": { + "type": "string", + "format": "uri", + "nullable": true + }, + "zipball_url": { + "type": "string", + "format": "uri", + "nullable": true + }, + "id": { "type": "integer" }, + "node_id": { "type": "string" }, + "tag_name": { + "description": "The name of the tag.", + "example": "v1.0.0", + "type": "string" + }, + "target_commitish": { + "description": "Specifies the commitish value that determines where the Git tag is created from.", + "example": "master", + "type": "string" + }, + "name": { "type": "string", "nullable": true }, + "body": { "type": "string", "nullable": true }, + "draft": { + "description": "true to create a draft (unpublished) release, false to create a published one.", + "example": false, + "type": "boolean" + }, + "prerelease": { + "description": "Whether to identify the release as a prerelease or a full release.", + "example": false, + "type": "boolean" + }, + "created_at": { "type": "string", "format": "date-time" }, + "published_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "author": { "$ref": "#/components/schemas/simple-user" }, + "assets": { + "type": "array", + "items": { "$ref": "#/components/schemas/release-asset" } + }, + "body_html": { "type": "string" }, + "body_text": { "type": "string" } + }, + "required": [ + "assets_url", + "upload_url", + "tarball_url", + "zipball_url", + "created_at", + "published_at", + "draft", + "id", + "node_id", + "author", + "html_url", + "name", + "prerelease", + "tag_name", + "target_commitish", + "assets", + "url" + ] + }, + "secret-scanning-alert-state": { + "description": "Sets the state of the secret scanning alert. Can be either `open` or `resolved`. You must provide `resolution` when you set the state to `resolved`.", + "type": "string", + "enum": ["open", "resolved"] + }, + "secret-scanning-alert-resolution": { + "type": "string", + "description": "**Required when the `state` is `resolved`.** The reason for resolving the alert. Can be one of `false_positive`, `wont_fix`, `revoked`, or `used_in_tests`.", + "nullable": true, + "oneOf": [ + { + "enum": ["false_positive", "wont_fix", "revoked", "used_in_tests"] + }, + { "enum": [null] } + ] + }, + "secret-scanning-alert": { + "type": "object", + "properties": { + "number": { "$ref": "#/components/schemas/alert-number" }, + "created_at": { "$ref": "#/components/schemas/alert-created-at" }, + "url": { "$ref": "#/components/schemas/alert-url" }, + "html_url": { "$ref": "#/components/schemas/alert-html-url" }, + "state": { + "$ref": "#/components/schemas/secret-scanning-alert-state" + }, + "resolution": { + "$ref": "#/components/schemas/secret-scanning-alert-resolution" + }, + "resolved_at": { + "type": "string", + "format": "date-time", + "description": "The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.", + "nullable": true + }, + "resolved_by": { "$ref": "#/components/schemas/simple-user" }, + "secret_type": { + "type": "string", + "description": "The type of secret that secret scanning detected." + }, + "secret": { + "type": "string", + "description": "The secret that was detected." + } + } + }, + "stargazer": { + "title": "Stargazer", + "description": "Stargazer", + "type": "object", + "properties": { + "starred_at": { "type": "string", "format": "date-time" }, + "user": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + } + }, + "required": ["starred_at", "user"] + }, + "code-frequency-stat": { + "title": "Code Frequency Stat", + "description": "Code Frequency Stat", + "type": "array", + "items": { "type": "integer" } + }, + "commit-activity": { + "title": "Commit Activity", + "description": "Commit Activity", + "type": "object", + "properties": { + "days": { + "type": "array", + "example": [0, 3, 26, 20, 39, 1, 0], + "items": { "type": "integer" } + }, + "total": { "type": "integer", "example": 89 }, + "week": { "type": "integer", "example": 1336280400 } + }, + "required": ["days", "total", "week"] + }, + "contributor-activity": { + "title": "Contributor Activity", + "description": "Contributor Activity", + "type": "object", + "properties": { + "author": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + }, + "total": { "type": "integer", "example": 135 }, + "weeks": { + "type": "array", + "example": [{ "w": "1367712000", "a": 6898, "d": 77, "c": 10 }], + "items": { + "type": "object", + "properties": { + "w": { "type": "string" }, + "a": { "type": "integer" }, + "d": { "type": "integer" }, + "c": { "type": "integer" } + } + } + } + }, + "required": ["author", "total", "weeks"] + }, + "participation-stats": { + "title": "Participation Stats", + "type": "object", + "properties": { + "all": { "type": "array", "items": { "type": "integer" } }, + "owner": { "type": "array", "items": { "type": "integer" } } + } + }, + "repository-subscription": { + "title": "Repository Invitation", + "description": "Repository invitations let you manage who you collaborate with.", + "type": "object", + "properties": { + "subscribed": { + "description": "Determines if notifications should be received from this repository.", + "type": "boolean", + "example": true + }, + "ignored": { + "description": "Determines if all notifications should be blocked from this repository.", + "type": "boolean" + }, + "reason": { "type": "string", "nullable": true }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2012-10-06T21:34:12Z" + }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/example/subscription" + }, + "repository_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/repos/octocat/example" + } + }, + "required": [ + "created_at", + "ignored", + "reason", + "subscribed", + "url", + "repository_url" + ] + }, + "tag": { + "title": "Tag", + "description": "Tag", + "type": "object", + "properties": { + "name": { "type": "string", "example": "v0.1" }, + "commit": { + "type": "object", + "properties": { + "sha": { "type": "string" }, + "url": { "type": "string", "format": "uri" } + }, + "required": ["sha", "url"] + }, + "zipball_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat/Hello-World/zipball/v0.1" + }, + "tarball_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat/Hello-World/tarball/v0.1" + }, + "node_id": { "type": "string" } + }, + "required": ["name", "node_id", "commit", "zipball_url", "tarball_url"] + }, + "topic": { + "title": "Topic", + "description": "A topic aggregates entities that are related to a subject.", + "type": "object", + "properties": { + "names": { "type": "array", "items": { "type": "string" } } + } + }, + "traffic": { + "title": "Traffic", + "type": "object", + "properties": { + "timestamp": { "type": "string", "format": "date-time" }, + "uniques": { "type": "integer" }, + "count": { "type": "integer" } + }, + "required": ["timestamp", "uniques", "count"] + }, + "clone-traffic": { + "title": "Clone Traffic", + "description": "Clone Traffic", + "type": "object", + "properties": { + "count": { "type": "integer", "example": 173 }, + "uniques": { "type": "integer", "example": 128 }, + "clones": { + "type": "array", + "items": { "$ref": "#/components/schemas/traffic" } + } + }, + "required": ["uniques", "count", "clones"] + }, + "content-traffic": { + "title": "Content Traffic", + "description": "Content Traffic", + "type": "object", + "properties": { + "path": { "type": "string", "example": "/github/hubot" }, + "title": { + "type": "string", + "example": "github/hubot: A customizable life embetterment robot." + }, + "count": { "type": "integer", "example": 3542 }, + "uniques": { "type": "integer", "example": 2225 } + }, + "required": ["path", "title", "uniques", "count"] + }, + "referrer-traffic": { + "title": "Referrer Traffic", + "description": "Referrer Traffic", + "type": "object", + "properties": { + "referrer": { "type": "string", "example": "Google" }, + "count": { "type": "integer", "example": 4 }, + "uniques": { "type": "integer", "example": 3 } + }, + "required": ["referrer", "uniques", "count"] + }, + "view-traffic": { + "title": "View Traffic", + "description": "View Traffic", + "type": "object", + "properties": { + "count": { "type": "integer", "example": 14850 }, + "uniques": { "type": "integer", "example": 3782 }, + "views": { + "type": "array", + "items": { "$ref": "#/components/schemas/traffic" } + } + }, + "required": ["uniques", "count", "views"] + }, + "scim-group-list-enterprise": { + "type": "object", + "properties": { + "schemas": { "type": "array", "items": { "type": "string" } }, + "totalResults": { "type": "number" }, + "itemsPerPage": { "type": "number" }, + "startIndex": { "type": "number" }, + "Resources": { + "type": "array", + "items": { + "type": "object", + "properties": { + "schemas": { "type": "array", "items": { "type": "string" } }, + "id": { "type": "string" }, + "externalId": { "type": "string", "nullable": true }, + "displayName": { "type": "string" }, + "members": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { "type": "string" }, + "$ref": { "type": "string" }, + "display": { "type": "string" } + } + } + }, + "meta": { + "type": "object", + "properties": { + "resourceType": { "type": "string" }, + "created": { "type": "string" }, + "lastModified": { "type": "string" }, + "location": { "type": "string" } + } + } + } + } + } + } + }, + "scim-enterprise-group": { + "type": "object", + "properties": { + "schemas": { "type": "array", "items": { "type": "string" } }, + "id": { "type": "string" }, + "externalId": { "type": "string", "nullable": true }, + "displayName": { "type": "string" }, + "members": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { "type": "string" }, + "$ref": { "type": "string" }, + "display": { "type": "string" } + } + } + }, + "meta": { + "type": "object", + "properties": { + "resourceType": { "type": "string" }, + "created": { "type": "string" }, + "lastModified": { "type": "string" }, + "location": { "type": "string" } + } + } + } + }, + "scim-user-list-enterprise": { + "type": "object", + "properties": { + "schemas": { "type": "array", "items": { "type": "string" } }, + "totalResults": { "type": "number" }, + "itemsPerPage": { "type": "number" }, + "startIndex": { "type": "number" }, + "Resources": { + "type": "array", + "items": { + "type": "object", + "properties": { + "schemas": { "type": "array", "items": { "type": "string" } }, + "id": { "type": "string" }, + "externalId": { "type": "string" }, + "userName": { "type": "string" }, + "name": { + "type": "object", + "properties": { + "givenName": { "type": "string" }, + "familyName": { "type": "string" } + } + }, + "emails": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { "type": "string" }, + "primary": { "type": "boolean" }, + "type": { "type": "string" } + } + } + }, + "groups": { + "type": "array", + "items": { + "type": "object", + "properties": { "value": { "type": "string" } } + } + }, + "active": { "type": "boolean" }, + "meta": { + "type": "object", + "properties": { + "resourceType": { "type": "string" }, + "created": { "type": "string" }, + "lastModified": { "type": "string" }, + "location": { "type": "string" } + } + } + } + } + } + } + }, + "scim-enterprise-user": { + "type": "object", + "properties": { + "schemas": { "type": "array", "items": { "type": "string" } }, + "id": { "type": "string" }, + "externalId": { "type": "string" }, + "userName": { "type": "string" }, + "name": { + "type": "object", + "properties": { + "givenName": { "type": "string" }, + "familyName": { "type": "string" } + } + }, + "emails": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { "type": "string" }, + "type": { "type": "string" }, + "primary": { "type": "boolean" } + } + } + }, + "groups": { + "type": "array", + "items": { + "type": "object", + "properties": { "value": { "type": "string" } } + } + }, + "active": { "type": "boolean" }, + "meta": { + "type": "object", + "properties": { + "resourceType": { "type": "string" }, + "created": { "type": "string" }, + "lastModified": { "type": "string" }, + "location": { "type": "string" } + } + } + } + }, + "scim-user": { + "title": "SCIM /Users", + "description": "SCIM /Users provisioning endpoints", + "type": "object", + "properties": { + "schemas": { + "description": "SCIM schema used.", + "type": "array", + "minItems": 1, + "items": { + "type": "string", + "example": "urn:ietf:params:scim:schemas:core:2.0:User" + } + }, + "id": { + "description": "Unique identifier of an external identity", + "example": "1b78eada-9baa-11e6-9eb6-a431576d590e", + "type": "string" + }, + "externalId": { + "description": "The ID of the User.", + "type": "string", + "example": "a7b0f98395", + "nullable": true + }, + "userName": { + "description": "Configured by the admin. Could be an email, login, or username", + "example": "someone@example.com", + "type": "string", + "nullable": true + }, + "displayName": { + "description": "The name of the user, suitable for display to end-users", + "example": "Jon Doe", + "type": "string", + "nullable": true + }, + "name": { + "type": "object", + "properties": { + "givenName": { "type": "string", "nullable": true }, + "familyName": { "type": "string", "nullable": true }, + "formatted": { "type": "string", "nullable": true } + }, + "required": ["givenName", "familyName"], + "example": "Jane User" + }, + "emails": { + "description": "user emails", + "example": ["someone@example.com", "another@example.com"], + "type": "array", + "minItems": 1, + "items": { + "type": "object", + "properties": { + "value": { "type": "string" }, + "primary": { "type": "boolean" } + }, + "required": ["value"] + } + }, + "active": { + "description": "The active status of the User.", + "type": "boolean", + "example": true + }, + "meta": { + "type": "object", + "properties": { + "resourceType": { "type": "string", "example": "User" }, + "created": { + "type": "string", + "format": "date-time", + "example": "2019-01-24T22:45:36.000Z" + }, + "lastModified": { + "type": "string", + "format": "date-time", + "example": "2019-01-24T22:45:36.000Z" + }, + "location": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/scim/v2/organizations/myorg-123abc55141bfd8f/Users/c42772b5-2029-11e9-8543-9264a97dec8d" + } + } + }, + "organization_id": { + "description": "The ID of the organization.", + "type": "integer" + }, + "operations": { + "description": "Set of operations to be performed", + "example": [{ "op": "replace", "value": { "active": false } }], + "type": "array", + "minItems": 1, + "items": { + "properties": { + "op": { + "type": "string", + "enum": ["add", "remove", "replace"] + }, + "path": { "type": "string" }, + "value": { + "oneOf": [ + { "type": "string" }, + { "type": "object" }, + { "type": "array", "items": {} } + ] + } + }, + "required": ["op"], + "type": "object" + } + }, + "groups": { + "description": "associated groups", + "type": "array", + "items": { + "properties": { + "value": { "type": "string" }, + "display": { "type": "string" } + } + } + } + }, + "required": [ + "id", + "schemas", + "externalId", + "userName", + "name", + "emails", + "active", + "meta" + ] + }, + "scim-user-list": { + "title": "SCIM User List", + "description": "SCIM User List", + "type": "object", + "properties": { + "schemas": { + "description": "SCIM schema used.", + "type": "array", + "minItems": 1, + "items": { + "type": "string", + "example": "urn:ietf:params:scim:api:messages:2.0:ListResponse" + } + }, + "totalResults": { "type": "integer", "example": 3 }, + "itemsPerPage": { "type": "integer", "example": 10 }, + "startIndex": { "type": "integer", "example": 1 }, + "Resources": { + "type": "array", + "items": { "$ref": "#/components/schemas/scim-user" } + } + }, + "required": [ + "schemas", + "totalResults", + "itemsPerPage", + "startIndex", + "Resources" + ] + }, + "search-result-text-matches": { + "title": "Search Result Text Matches", + "type": "array", + "items": { + "type": "object", + "properties": { + "object_url": { "type": "string" }, + "object_type": { "nullable": true, "type": "string" }, + "property": { "type": "string" }, + "fragment": { "type": "string" }, + "matches": { + "type": "array", + "items": { + "type": "object", + "properties": { + "text": { "type": "string" }, + "indices": { "type": "array", "items": { "type": "integer" } } + } + } + } + } + } + }, + "code-search-result-item": { + "title": "Code Search Result Item", + "description": "Code Search Result Item", + "type": "object", + "properties": { + "name": { "type": "string" }, + "path": { "type": "string" }, + "sha": { "type": "string" }, + "url": { "type": "string", "format": "uri" }, + "git_url": { "type": "string", "format": "uri" }, + "html_url": { "type": "string", "format": "uri" }, + "repository": { "$ref": "#/components/schemas/minimal-repository" }, + "score": { "type": "integer" }, + "file_size": { "type": "integer" }, + "language": { "type": "string", "nullable": true }, + "last_modified_at": { "type": "string", "format": "date-time" }, + "line_numbers": { + "type": "array", + "items": { "type": "string", "example": ["73..77", "77..78"] } + }, + "text_matches": { + "$ref": "#/components/schemas/search-result-text-matches" + } + }, + "required": [ + "score", + "name", + "path", + "sha", + "git_url", + "html_url", + "url", + "repository" + ] + }, + "commit-search-result-item": { + "title": "Commit Search Result Item", + "description": "Commit Search Result Item", + "type": "object", + "properties": { + "url": { "type": "string", "format": "uri" }, + "sha": { "type": "string" }, + "html_url": { "type": "string", "format": "uri" }, + "comments_url": { "type": "string", "format": "uri" }, + "commit": { + "type": "object", + "properties": { + "author": { + "type": "object", + "properties": { + "name": { "type": "string" }, + "email": { "type": "string" }, + "date": { "type": "string", "format": "date-time" } + }, + "required": ["name", "email", "date"] + }, + "committer": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/git-user" }] + }, + "comment_count": { "type": "integer" }, + "message": { "type": "string" }, + "tree": { + "type": "object", + "properties": { + "sha": { "type": "string" }, + "url": { "type": "string", "format": "uri" } + }, + "required": ["sha", "url"] + }, + "url": { "type": "string", "format": "uri" }, + "verification": { "$ref": "#/components/schemas/verification" } + }, + "required": [ + "author", + "committer", + "comment_count", + "message", + "tree", + "url" + ] + }, + "author": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + }, + "committer": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/git-user" }] + }, + "parents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "url": { "type": "string" }, + "html_url": { "type": "string" }, + "sha": { "type": "string" } + } + } + }, + "repository": { "$ref": "#/components/schemas/minimal-repository" }, + "score": { "type": "integer" }, + "node_id": { "type": "string" }, + "text_matches": { + "$ref": "#/components/schemas/search-result-text-matches" + } + }, + "required": [ + "sha", + "node_id", + "url", + "html_url", + "author", + "committer", + "parents", + "comments_url", + "commit", + "repository", + "score" + ] + }, + "issue-search-result-item": { + "title": "Issue Search Result Item", + "description": "Issue Search Result Item", + "type": "object", + "properties": { + "url": { "type": "string", "format": "uri" }, + "repository_url": { "type": "string", "format": "uri" }, + "labels_url": { "type": "string" }, + "comments_url": { "type": "string", "format": "uri" }, + "events_url": { "type": "string", "format": "uri" }, + "html_url": { "type": "string", "format": "uri" }, + "id": { "type": "integer" }, + "node_id": { "type": "string" }, + "number": { "type": "integer" }, + "title": { "type": "string" }, + "locked": { "type": "boolean" }, + "active_lock_reason": { "type": "string", "nullable": true }, + "assignees": { + "type": "array", + "items": { "$ref": "#/components/schemas/simple-user" }, + "nullable": true + }, + "user": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + }, + "labels": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "node_id": { "type": "string" }, + "url": { "type": "string" }, + "name": { "type": "string" }, + "color": { "type": "string" }, + "default": { "type": "boolean" }, + "description": { "type": "string", "nullable": true } + } + } + }, + "state": { "type": "string" }, + "assignee": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + }, + "milestone": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/milestone" }] + }, + "comments": { "type": "integer" }, + "created_at": { "type": "string", "format": "date-time" }, + "updated_at": { "type": "string", "format": "date-time" }, + "closed_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "text_matches": { + "$ref": "#/components/schemas/search-result-text-matches" + }, + "pull_request": { + "type": "object", + "properties": { + "merged_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "diff_url": { + "type": "string", + "format": "uri", + "nullable": true + }, + "html_url": { + "type": "string", + "format": "uri", + "nullable": true + }, + "patch_url": { + "type": "string", + "format": "uri", + "nullable": true + }, + "url": { "type": "string", "format": "uri", "nullable": true } + }, + "required": ["diff_url", "html_url", "patch_url", "url"] + }, + "body": { "type": "string" }, + "score": { "type": "integer" }, + "author_association": { "type": "string" }, + "draft": { "type": "boolean" }, + "repository": { "$ref": "#/components/schemas/repository" }, + "body_html": { "type": "string" }, + "body_text": { "type": "string" }, + "timeline_url": { "type": "string", "format": "uri" }, + "performed_via_github_app": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/integration" }] + } + }, + "required": [ + "assignee", + "closed_at", + "comments", + "comments_url", + "events_url", + "html_url", + "id", + "node_id", + "labels", + "labels_url", + "milestone", + "number", + "repository_url", + "state", + "locked", + "title", + "url", + "user", + "author_association", + "created_at", + "updated_at", + "score" + ] + }, + "label-search-result-item": { + "title": "Label Search Result Item", + "description": "Label Search Result Item", + "type": "object", + "properties": { + "id": { "type": "integer" }, + "node_id": { "type": "string" }, + "url": { "type": "string", "format": "uri" }, + "name": { "type": "string" }, + "color": { "type": "string" }, + "default": { "type": "boolean" }, + "description": { "type": "string", "nullable": true }, + "score": { "type": "integer" }, + "text_matches": { + "$ref": "#/components/schemas/search-result-text-matches" + } + }, + "required": [ + "id", + "node_id", + "url", + "name", + "color", + "default", + "description", + "score" + ] + }, + "repo-search-result-item": { + "title": "Repo Search Result Item", + "description": "Repo Search Result Item", + "type": "object", + "properties": { + "id": { "type": "integer" }, + "node_id": { "type": "string" }, + "name": { "type": "string" }, + "full_name": { "type": "string" }, + "owner": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/simple-user" }] + }, + "private": { "type": "boolean" }, + "html_url": { "type": "string", "format": "uri" }, + "description": { "type": "string", "nullable": true }, + "fork": { "type": "boolean" }, + "url": { "type": "string", "format": "uri" }, + "created_at": { "type": "string", "format": "date-time" }, + "updated_at": { "type": "string", "format": "date-time" }, + "pushed_at": { "type": "string", "format": "date-time" }, + "homepage": { "type": "string", "format": "uri", "nullable": true }, + "size": { "type": "integer" }, + "stargazers_count": { "type": "integer" }, + "watchers_count": { "type": "integer" }, + "language": { "type": "string", "nullable": true }, + "forks_count": { "type": "integer" }, + "open_issues_count": { "type": "integer" }, + "master_branch": { "type": "string" }, + "default_branch": { "type": "string" }, + "score": { "type": "integer" }, + "forks_url": { "type": "string", "format": "uri" }, + "keys_url": { "type": "string" }, + "collaborators_url": { "type": "string" }, + "teams_url": { "type": "string", "format": "uri" }, + "hooks_url": { "type": "string", "format": "uri" }, + "issue_events_url": { "type": "string" }, + "events_url": { "type": "string", "format": "uri" }, + "assignees_url": { "type": "string" }, + "branches_url": { "type": "string" }, + "tags_url": { "type": "string", "format": "uri" }, + "blobs_url": { "type": "string" }, + "git_tags_url": { "type": "string" }, + "git_refs_url": { "type": "string" }, + "trees_url": { "type": "string" }, + "statuses_url": { "type": "string" }, + "languages_url": { "type": "string", "format": "uri" }, + "stargazers_url": { "type": "string", "format": "uri" }, + "contributors_url": { "type": "string", "format": "uri" }, + "subscribers_url": { "type": "string", "format": "uri" }, + "subscription_url": { "type": "string", "format": "uri" }, + "commits_url": { "type": "string" }, + "git_commits_url": { "type": "string" }, + "comments_url": { "type": "string" }, + "issue_comment_url": { "type": "string" }, + "contents_url": { "type": "string" }, + "compare_url": { "type": "string" }, + "merges_url": { "type": "string", "format": "uri" }, + "archive_url": { "type": "string" }, + "downloads_url": { "type": "string", "format": "uri" }, + "issues_url": { "type": "string" }, + "pulls_url": { "type": "string" }, + "milestones_url": { "type": "string" }, + "notifications_url": { "type": "string" }, + "labels_url": { "type": "string" }, + "releases_url": { "type": "string" }, + "deployments_url": { "type": "string", "format": "uri" }, + "git_url": { "type": "string" }, + "ssh_url": { "type": "string" }, + "clone_url": { "type": "string" }, + "svn_url": { "type": "string", "format": "uri" }, + "forks": { "type": "integer" }, + "open_issues": { "type": "integer" }, + "watchers": { "type": "integer" }, + "topics": { "type": "array", "items": { "type": "string" } }, + "mirror_url": { "type": "string", "format": "uri", "nullable": true }, + "has_issues": { "type": "boolean" }, + "has_projects": { "type": "boolean" }, + "has_pages": { "type": "boolean" }, + "has_wiki": { "type": "boolean" }, + "has_downloads": { "type": "boolean" }, + "archived": { "type": "boolean" }, + "disabled": { + "type": "boolean", + "description": "Returns whether or not this repository disabled." + }, + "license": { + "nullable": true, + "allOf": [{ "$ref": "#/components/schemas/license-simple" }] + }, + "permissions": { + "type": "object", + "properties": { + "admin": { "type": "boolean" }, + "pull": { "type": "boolean" }, + "push": { "type": "boolean" } + }, + "required": ["admin", "pull", "push"] + }, + "text_matches": { + "$ref": "#/components/schemas/search-result-text-matches" + }, + "temp_clone_token": { "type": "string" }, + "allow_merge_commit": { "type": "boolean" }, + "allow_squash_merge": { "type": "boolean" }, + "allow_rebase_merge": { "type": "boolean" }, + "delete_branch_on_merge": { "type": "boolean" } + }, + "required": [ + "archive_url", + "assignees_url", + "blobs_url", + "branches_url", + "collaborators_url", + "comments_url", + "commits_url", + "compare_url", + "contents_url", + "contributors_url", + "deployments_url", + "description", + "downloads_url", + "events_url", + "fork", + "forks_url", + "full_name", + "git_commits_url", + "git_refs_url", + "git_tags_url", + "hooks_url", + "html_url", + "id", + "node_id", + "issue_comment_url", + "issue_events_url", + "issues_url", + "keys_url", + "labels_url", + "languages_url", + "merges_url", + "milestones_url", + "name", + "notifications_url", + "owner", + "private", + "pulls_url", + "releases_url", + "stargazers_url", + "statuses_url", + "subscribers_url", + "subscription_url", + "tags_url", + "teams_url", + "trees_url", + "url", + "clone_url", + "default_branch", + "forks", + "forks_count", + "git_url", + "has_downloads", + "has_issues", + "has_projects", + "has_wiki", + "has_pages", + "homepage", + "language", + "archived", + "disabled", + "mirror_url", + "open_issues", + "open_issues_count", + "license", + "pushed_at", + "size", + "ssh_url", + "stargazers_count", + "svn_url", + "watchers", + "watchers_count", + "created_at", + "updated_at", + "score" + ] + }, + "topic-search-result-item": { + "title": "Topic Search Result Item", + "description": "Topic Search Result Item", + "type": "object", + "properties": { + "name": { "type": "string" }, + "display_name": { "type": "string", "nullable": true }, + "short_description": { "type": "string", "nullable": true }, + "description": { "type": "string", "nullable": true }, + "created_by": { "type": "string", "nullable": true }, + "released": { "type": "string", "nullable": true }, + "created_at": { "type": "string", "format": "date-time" }, + "updated_at": { "type": "string", "format": "date-time" }, + "featured": { "type": "boolean" }, + "curated": { "type": "boolean" }, + "score": { "type": "integer" }, + "repository_count": { "type": "integer", "nullable": true }, + "logo_url": { "type": "string", "format": "uri", "nullable": true }, + "text_matches": { + "$ref": "#/components/schemas/search-result-text-matches" + }, + "related": { + "type": "array", + "nullable": true, + "items": { + "type": "object", + "properties": { + "topic_relation": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "name": { "type": "string" }, + "topic_id": { "type": "integer" }, + "relation_type": { "type": "string" } + } + } + } + } + }, + "aliases": { + "type": "array", + "nullable": true, + "items": { + "type": "object", + "properties": { + "topic_relation": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "name": { "type": "string" }, + "topic_id": { "type": "integer" }, + "relation_type": { "type": "string" } + } + } + } + } + } + }, + "required": [ + "name", + "display_name", + "short_description", + "description", + "created_by", + "released", + "created_at", + "updated_at", + "featured", + "curated", + "score" + ] + }, + "user-search-result-item": { + "title": "User Search Result Item", + "description": "User Search Result Item", + "type": "object", + "properties": { + "login": { "type": "string" }, + "id": { "type": "integer" }, + "node_id": { "type": "string" }, + "avatar_url": { "type": "string", "format": "uri" }, + "gravatar_id": { "type": "string", "nullable": true }, + "url": { "type": "string", "format": "uri" }, + "html_url": { "type": "string", "format": "uri" }, + "followers_url": { "type": "string", "format": "uri" }, + "subscriptions_url": { "type": "string", "format": "uri" }, + "organizations_url": { "type": "string", "format": "uri" }, + "repos_url": { "type": "string", "format": "uri" }, + "received_events_url": { "type": "string", "format": "uri" }, + "type": { "type": "string" }, + "score": { "type": "integer" }, + "following_url": { "type": "string" }, + "gists_url": { "type": "string" }, + "starred_url": { "type": "string" }, + "events_url": { "type": "string" }, + "public_repos": { "type": "integer" }, + "public_gists": { "type": "integer" }, + "followers": { "type": "integer" }, + "following": { "type": "integer" }, + "created_at": { "type": "string", "format": "date-time" }, + "updated_at": { "type": "string", "format": "date-time" }, + "name": { "type": "string", "nullable": true }, + "bio": { "type": "string", "nullable": true }, + "email": { "type": "string", "format": "email", "nullable": true }, + "location": { "type": "string", "nullable": true }, + "site_admin": { "type": "boolean" }, + "hireable": { "type": "boolean", "nullable": true }, + "text_matches": { + "$ref": "#/components/schemas/search-result-text-matches" + }, + "blog": { "type": "string", "nullable": true }, + "company": { "type": "string", "nullable": true }, + "suspended_at": { + "type": "string", + "format": "date-time", + "nullable": true + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url", + "score" + ] + }, + "private-user": { + "title": "Private User", + "description": "Private User", + "type": "object", + "properties": { + "login": { "type": "string", "example": "octocat" }, + "id": { "type": "integer", "example": 1 }, + "node_id": { "type": "string", "example": "MDQ6VXNlcjE=" }, + "avatar_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/images/error/octocat_happy.gif" + }, + "gravatar_id": { "type": "string", "example": "", "nullable": true }, + "url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat" + }, + "html_url": { + "type": "string", + "format": "uri", + "example": "https://github.com/octocat" + }, + "followers_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/followers" + }, + "following_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/following{/other_user}" + }, + "gists_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/gists{/gist_id}" + }, + "starred_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/starred{/owner}{/repo}" + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/subscriptions" + }, + "organizations_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/orgs" + }, + "repos_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/repos" + }, + "events_url": { + "type": "string", + "example": "https://api.github.com/users/octocat/events{/privacy}" + }, + "received_events_url": { + "type": "string", + "format": "uri", + "example": "https://api.github.com/users/octocat/received_events" + }, + "type": { "type": "string", "example": "User" }, + "site_admin": { "type": "boolean" }, + "name": { + "type": "string", + "example": "monalisa octocat", + "nullable": true + }, + "company": { + "type": "string", + "example": "GitHub", + "nullable": true + }, + "blog": { + "type": "string", + "example": "https://github.com/blog", + "nullable": true + }, + "location": { + "type": "string", + "example": "San Francisco", + "nullable": true + }, + "email": { + "type": "string", + "format": "email", + "example": "octocat@github.com", + "nullable": true + }, + "hireable": { "type": "boolean", "nullable": true }, + "bio": { + "type": "string", + "example": "There once was...", + "nullable": true + }, + "twitter_username": { + "type": "string", + "example": "monalisa", + "nullable": true + }, + "public_repos": { "type": "integer", "example": 2 }, + "public_gists": { "type": "integer", "example": 1 }, + "followers": { "type": "integer", "example": 20 }, + "following": { "type": "integer", "example": 0 }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2008-01-14T04:33:35Z" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "example": "2008-01-14T04:33:35Z" + }, + "private_gists": { "type": "integer", "example": 81 }, + "total_private_repos": { "type": "integer", "example": 100 }, + "owned_private_repos": { "type": "integer", "example": 100 }, + "disk_usage": { "type": "integer", "example": 10000 }, + "collaborators": { "type": "integer", "example": 8 }, + "two_factor_authentication": { "type": "boolean", "example": true }, + "plan": { + "type": "object", + "properties": { + "collaborators": { "type": "integer" }, + "name": { "type": "string" }, + "space": { "type": "integer" }, + "private_repos": { "type": "integer" } + }, + "required": ["collaborators", "name", "space", "private_repos"] + }, + "suspended_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "business_plus": { "type": "boolean" }, + "ldap_dn": { "type": "string" } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url", + "bio", + "blog", + "company", + "email", + "followers", + "following", + "hireable", + "location", + "name", + "public_gists", + "public_repos", + "created_at", + "updated_at", + "collaborators", + "disk_usage", + "owned_private_repos", + "private_gists", + "total_private_repos", + "two_factor_authentication" + ] + }, + "public-user": { + "title": "Public User", + "description": "Public User", + "type": "object", + "properties": { + "login": { "type": "string" }, + "id": { "type": "integer" }, + "node_id": { "type": "string" }, + "avatar_url": { "type": "string", "format": "uri" }, + "gravatar_id": { "type": "string", "nullable": true }, + "url": { "type": "string", "format": "uri" }, + "html_url": { "type": "string", "format": "uri" }, + "followers_url": { "type": "string", "format": "uri" }, + "following_url": { "type": "string" }, + "gists_url": { "type": "string" }, + "starred_url": { "type": "string" }, + "subscriptions_url": { "type": "string", "format": "uri" }, + "organizations_url": { "type": "string", "format": "uri" }, + "repos_url": { "type": "string", "format": "uri" }, + "events_url": { "type": "string" }, + "received_events_url": { "type": "string", "format": "uri" }, + "type": { "type": "string" }, + "site_admin": { "type": "boolean" }, + "name": { "type": "string", "nullable": true }, + "company": { "type": "string", "nullable": true }, + "blog": { "type": "string", "nullable": true }, + "location": { "type": "string", "nullable": true }, + "email": { "type": "string", "format": "email", "nullable": true }, + "hireable": { "type": "boolean", "nullable": true }, + "bio": { "type": "string", "nullable": true }, + "twitter_username": { "type": "string", "nullable": true }, + "public_repos": { "type": "integer" }, + "public_gists": { "type": "integer" }, + "followers": { "type": "integer" }, + "following": { "type": "integer" }, + "created_at": { "type": "string", "format": "date-time" }, + "updated_at": { "type": "string", "format": "date-time" }, + "plan": { + "type": "object", + "properties": { + "collaborators": { "type": "integer" }, + "name": { "type": "string" }, + "space": { "type": "integer" }, + "private_repos": { "type": "integer" } + }, + "required": ["collaborators", "name", "space", "private_repos"] + }, + "suspended_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "private_gists": { "type": "integer", "example": "0" }, + "total_private_repos": { "type": "integer", "example": "0" }, + "owned_private_repos": { "type": "integer", "example": "0" }, + "disk_usage": { "type": "integer", "example": "0" }, + "collaborators": { "type": "integer", "example": "0" } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url", + "bio", + "blog", + "company", + "email", + "followers", + "following", + "hireable", + "location", + "name", + "public_gists", + "public_repos", + "created_at", + "updated_at" + ], + "additionalProperties": false + }, + "email": { + "title": "Email", + "description": "Email", + "oneOf": [ + { + "type": "object", + "properties": { + "email": { + "type": "string", + "format": "email", + "example": "octocat@github.com" + }, + "primary": { "type": "boolean", "example": true }, + "verified": { "type": "boolean", "example": true }, + "visibility": { + "type": "string", + "example": "public", + "nullable": true + } + }, + "required": ["email", "primary", "verified", "visibility"] + }, + { "type": "string" } + ] + }, + "gpg-key": { + "title": "GPG Key", + "description": "A unique encryption key", + "type": "object", + "properties": { + "id": { "type": "integer", "example": 3 }, + "primary_key_id": { "type": "integer", "nullable": true }, + "key_id": { "type": "string", "example": "3262EFF25BA0D270" }, + "public_key": { "type": "string", "example": "xsBNBFayYZ..." }, + "emails": { + "type": "array", + "example": [ + { + "email": "mastahyeti@users.noreply.github.com", + "verified": true + } + ], + "items": { + "type": "object", + "properties": { + "email": { "type": "string" }, + "verified": { "type": "boolean" } + } + } + }, + "subkeys": { + "type": "array", + "example": [ + { + "id": 4, + "primary_key_id": 3, + "key_id": "4A595D4C72EE49C7", + "public_key": "zsBNBFayYZ...", + "emails": [], + "subkeys": [], + "can_sign": false, + "can_encrypt_comms": true, + "can_encrypt_storage": true, + "can_certify": false, + "created_at": "2016-03-24T11:31:04-06:00", + "expires_at": null + } + ], + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "primary_key_id": { "type": "integer" }, + "key_id": { "type": "string" }, + "public_key": { "type": "string" }, + "emails": { "type": "array", "items": {} }, + "subkeys": { "type": "array", "items": {} }, + "can_sign": { "type": "boolean" }, + "can_encrypt_comms": { "type": "boolean" }, + "can_encrypt_storage": { "type": "boolean" }, + "can_certify": { "type": "boolean" }, + "created_at": { "type": "string" }, + "expires_at": { "type": "string", "nullable": true }, + "raw_key": { "type": "string", "nullable": true } + } + } + }, + "can_sign": { "type": "boolean", "example": true }, + "can_encrypt_comms": { "type": "boolean" }, + "can_encrypt_storage": { "type": "boolean" }, + "can_certify": { "type": "boolean", "example": true }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2016-03-24T11:31:04-06:00" + }, + "expires_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "raw_key": { "type": "string", "nullable": true } + }, + "required": [ + "id", + "primary_key_id", + "key_id", + "raw_key", + "public_key", + "created_at", + "expires_at", + "can_sign", + "can_encrypt_comms", + "can_encrypt_storage", + "can_certify", + "emails", + "subkeys" + ] + }, + "key": { + "title": "Key", + "description": "Key", + "type": "object", + "properties": { + "key_id": { "type": "string" }, + "key": { "type": "string" }, + "id": { "type": "integer" }, + "url": { "type": "string" }, + "title": { "type": "string" }, + "created_at": { "type": "string", "format": "date-time" }, + "verified": { "type": "boolean" }, + "read_only": { "type": "boolean" } + } + }, + "marketplace-account": { + "title": "Marketplace Account", + "type": "object", + "properties": { + "url": { "type": "string", "format": "uri" }, + "id": { "type": "integer" }, + "type": { "type": "string" }, + "node_id": { "type": "string" }, + "login": { "type": "string" }, + "email": { "type": "string", "nullable": true, "format": "email" }, + "organization_billing_email": { + "type": "string", + "nullable": true, + "format": "email" + } + }, + "required": ["url", "id", "type", "login"] + }, + "user-marketplace-purchase": { + "title": "User Marketplace Purchase", + "description": "User Marketplace Purchase", + "type": "object", + "properties": { + "billing_cycle": { "type": "string", "example": "monthly" }, + "next_billing_date": { + "type": "string", + "format": "date-time", + "example": "2017-11-11T00:00:00Z", + "nullable": true + }, + "unit_count": { "type": "integer", "nullable": true }, + "on_free_trial": { "type": "boolean", "example": true }, + "free_trial_ends_on": { + "type": "string", + "format": "date-time", + "example": "2017-11-11T00:00:00Z", + "nullable": true + }, + "updated_at": { + "type": "string", + "format": "date-time", + "example": "2017-11-02T01:12:12Z", + "nullable": true + }, + "account": { "$ref": "#/components/schemas/marketplace-account" }, + "plan": { "$ref": "#/components/schemas/marketplace-listing-plan" } + }, + "required": [ + "billing_cycle", + "next_billing_date", + "unit_count", + "updated_at", + "on_free_trial", + "free_trial_ends_on", + "account", + "plan" + ] + }, + "starred-repository": { + "title": "Starred Repository", + "description": "Starred Repository", + "type": "object", + "properties": { + "starred_at": { "type": "string", "format": "date-time" }, + "repo": { "$ref": "#/components/schemas/repository" } + }, + "required": ["starred_at", "repo"] + }, + "hovercard": { + "title": "Hovercard", + "description": "Hovercard", + "type": "object", + "properties": { + "contexts": { + "type": "array", + "items": { + "type": "object", + "properties": { + "message": { "type": "string" }, + "octicon": { "type": "string" } + }, + "required": ["message", "octicon"] + } + } + }, + "required": ["contexts"] + }, + "key-simple": { + "title": "Key Simple", + "description": "Key Simple", + "type": "object", + "properties": { + "id": { "type": "integer" }, + "key": { "type": "string" } + }, + "required": ["key", "id"] + } + }, + "examples": { + "integration": { + "value": { + "id": 1, + "slug": "octoapp", + "node_id": "MDExOkludGVncmF0aW9uMQ==", + "owner": { + "login": "github", + "id": 1, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", + "url": "https://api.github.com/orgs/github", + "repos_url": "https://api.github.com/orgs/github/repos", + "events_url": "https://api.github.com/orgs/github/events", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": true + }, + "name": "Octocat App", + "description": "", + "external_url": "https://example.com", + "html_url": "https://github.com/apps/octoapp", + "created_at": "2017-07-08T16:18:44-04:00", + "updated_at": "2017-07-08T16:18:44-04:00", + "permissions": { + "metadata": "read", + "contents": "read", + "issues": "write", + "single_file": "write" + }, + "events": ["push", "pull_request"] + } + }, + "integration-from-manifest": { + "value": { + "id": 1, + "slug": "octoapp", + "node_id": "MDxOkludGVncmF0aW9uMQ==", + "owner": { + "login": "github", + "id": 1, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", + "url": "https://api.github.com/orgs/github", + "repos_url": "https://api.github.com/orgs/github/repos", + "events_url": "https://api.github.com/orgs/github/events", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": true + }, + "name": "Octocat App", + "description": "", + "external_url": "https://example.com", + "html_url": "https://github.com/apps/octoapp", + "created_at": "2017-07-08T16:18:44-04:00", + "updated_at": "2017-07-08T16:18:44-04:00", + "permissions": { + "metadata": "read", + "contents": "read", + "issues": "write", + "single_file": "write" + }, + "events": ["push", "pull_request"], + "client_id": "Iv1.8a61f9b3a7aba766", + "client_secret": "1726be1638095a19edd134c77bde3aa2ece1e5d8", + "webhook_secret": "e340154128314309424b7c8e90325147d99fdafa", + "pem": "-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEAuEPzOUE+kiEH1WLiMeBytTEF856j0hOVcSUSUkZxKvqczkWM\n9vo1gDyC7ZXhdH9fKh32aapba3RSsp4ke+giSmYTk2mGR538ShSDxh0OgpJmjiKP\nX0Bj4j5sFqfXuCtl9SkH4iueivv4R53ktqM+n6hk98l6hRwC39GVIblAh2lEM4L/\n6WvYwuQXPMM5OG2Ryh2tDZ1WS5RKfgq+9ksNJ5Q9UtqtqHkO+E63N5OK9sbzpUUm\noNaOl3udTlZD3A8iqwMPVxH4SxgATBPAc+bmjk6BMJ0qIzDcVGTrqrzUiywCTLma\nszdk8GjzXtPDmuBgNn+o6s02qVGpyydgEuqmTQIDAQABAoIBACL6AvkjQVVLn8kJ\ndBYznJJ4M8ECo+YEgaFwgAHODT0zRQCCgzd+Vxl4YwHmKV2Lr+y2s0drZt8GvYva\nKOK8NYYZyi15IlwFyRXmvvykF1UBpSXluYFDH7KaVroWMgRreHcIys5LqVSIb6Bo\ngDmK0yBLPp8qR29s2b7ScZRtLaqGJiX+j55rNzrZwxHkxFHyG9OG+u9IsBElcKCP\nkYCVE8ZdYexfnKOZbgn2kZB9qu0T/Mdvki8yk3I2bI6xYO24oQmhnT36qnqWoCBX\nNuCNsBQgpYZeZET8mEAUmo9d+ABmIHIvSs005agK8xRaP4+6jYgy6WwoejJRF5yd\nNBuF7aECgYEA50nZ4FiZYV0vcJDxFYeY3kYOvVuKn8OyW+2rg7JIQTremIjv8FkE\nZnwuF9ZRxgqLxUIfKKfzp/5l5LrycNoj2YKfHKnRejxRWXqG+ZETfxxlmlRns0QG\nJ4+BYL0CoanDSeA4fuyn4Bv7cy/03TDhfg/Uq0Aeg+hhcPE/vx3ebPsCgYEAy/Pv\neDLssOSdeyIxf0Brtocg6aPXIVaLdus+bXmLg77rJIFytAZmTTW8SkkSczWtucI3\nFI1I6sei/8FdPzAl62/JDdlf7Wd9K7JIotY4TzT7Tm7QU7xpfLLYIP1bOFjN81rk\n77oOD4LsXcosB/U6s1blPJMZ6AlO2EKs10UuR1cCgYBipzuJ2ADEaOz9RLWwi0AH\nPza2Sj+c2epQD9ZivD7Zo/Sid3ZwvGeGF13JyR7kLEdmAkgsHUdu1rI7mAolXMaB\n1pdrsHureeLxGbRM6za3tzMXWv1Il7FQWoPC8ZwXvMOR1VQDv4nzq7vbbA8z8c+c\n57+8tALQHOTDOgQIzwK61QKBgERGVc0EJy4Uag+VY8J4m1ZQKBluqo7TfP6DQ7O8\nM5MX73maB/7yAX8pVO39RjrhJlYACRZNMbK+v/ckEQYdJSSKmGCVe0JrGYDuPtic\nI9+IGfSorf7KHPoMmMN6bPYQ7Gjh7a++tgRFTMEc8956Hnt4xGahy9NcglNtBpVN\n6G8jAoGBAMCh028pdzJa/xeBHLLaVB2sc0Fe7993WlsPmnVE779dAz7qMscOtXJK\nfgtriltLSSD6rTA9hUAsL/X62rY0wdXuNdijjBb/qvrx7CAV6i37NK1CjABNjsfG\nZM372Ac6zc1EqSrid2IjET1YqyIW2KGLI1R2xbQc98UGlt48OdWu\n-----END RSA PRIVATE KEY-----\n" + } + }, + "webhook-config": { + "value": { + "content_type": "json", + "insecure_ssl": "0", + "secret": "********", + "url": "https://example.com/webhook" + } + }, + "base-installation-items": { + "value": [ + { + "id": 1, + "account": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "access_tokens_url": "https://api.github.com/installations/1/access_tokens", + "repositories_url": "https://api.github.com/installation/repositories", + "html_url": "https://github.com/organizations/github/settings/installations/1", + "app_id": 1, + "target_id": 1, + "target_type": "Organization", + "permissions": { + "checks": "write", + "metadata": "read", + "contents": "read" + }, + "events": ["push", "pull_request"], + "single_file_name": "config.yaml", + "has_multiple_single_files": true, + "single_file_paths": ["config.yml", ".github/issue_TEMPLATE.md"], + "repository_selection": "selected", + "created_at": "2017-07-08T16:18:44-04:00", + "updated_at": "2017-07-08T16:18:44-04:00", + "app_slug": "github-actions" + } + ] + }, + "base-installation": { + "value": { + "id": 1, + "account": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "access_tokens_url": "https://api.github.com/installations/1/access_tokens", + "repositories_url": "https://api.github.com/installation/repositories", + "html_url": "https://github.com/organizations/github/settings/installations/1", + "app_id": 1, + "target_id": 1, + "target_type": "Organization", + "permissions": { + "checks": "write", + "metadata": "read", + "contents": "read" + }, + "events": ["push", "pull_request"], + "single_file_name": "config.yaml", + "has_multiple_single_files": true, + "single_file_paths": ["config.yml", ".github/issue_TEMPLATE.md"], + "repository_selection": "selected", + "created_at": "2017-07-08T16:18:44-04:00", + "updated_at": "2017-07-08T16:18:44-04:00", + "app_slug": "github-actions" + } + }, + "installation-token": { + "value": { + "token": "v1.1f699f1069f60xxx", + "expires_at": "2016-07-11T22:14:10Z", + "permissions": { "issues": "write", "contents": "read" }, + "repository_selection": "selected", + "repositories": [ + { + "id": 1296269, + "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", + "name": "Hello-World", + "full_name": "octocat/Hello-World", + "owner": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "private": false, + "html_url": "https://github.com/octocat/Hello-World", + "description": "This your first repo!", + "fork": false, + "url": "https://api.github.com/repos/octocat/Hello-World", + "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", + "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", + "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", + "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", + "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", + "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", + "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", + "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", + "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", + "events_url": "https://api.github.com/repos/octocat/Hello-World/events", + "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", + "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", + "git_url": "git:github.com/octocat/Hello-World.git", + "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", + "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", + "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", + "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", + "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", + "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", + "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", + "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", + "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", + "ssh_url": "git@github.com:octocat/Hello-World.git", + "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", + "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", + "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", + "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", + "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", + "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", + "clone_url": "https://github.com/octocat/Hello-World.git", + "mirror_url": "git:git.example.com/octocat/Hello-World", + "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", + "svn_url": "https://svn.github.com/octocat/Hello-World", + "homepage": "https://github.com", + "language": null, + "forks_count": 9, + "stargazers_count": 80, + "watchers_count": 80, + "size": 108, + "default_branch": "master", + "open_issues_count": 0, + "is_template": true, + "topics": ["octocat", "atom", "electron", "api"], + "has_issues": true, + "has_projects": true, + "has_wiki": true, + "has_pages": false, + "has_downloads": true, + "archived": false, + "disabled": false, + "visibility": "public", + "pushed_at": "2011-01-26T19:06:43Z", + "created_at": "2011-01-26T19:01:12Z", + "updated_at": "2011-01-26T19:14:43Z", + "permissions": { "admin": false, "push": false, "pull": true }, + "allow_rebase_merge": true, + "template_repository": null, + "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", + "allow_squash_merge": true, + "delete_branch_on_merge": true, + "allow_merge_commit": true, + "subscribers_count": 42, + "network_count": 0, + "license": { + "key": "mit", + "name": "MIT License", + "url": "https://api.github.com/licenses/mit", + "spdx_id": "MIT", + "node_id": "MDc6TGljZW5zZW1pdA==", + "html_url": "https://github.com/licenses/mit" + }, + "forks": 1, + "open_issues": 1, + "watchers": 1 + } + ] + } + }, + "application-grant-items": { + "value": [ + { + "id": 1, + "url": "https://api.github.com/applications/grants/1", + "app": { + "url": "http://my-github-app.com", + "name": "my github app", + "client_id": "abcde12345fghij67890" + }, + "created_at": "2011-09-06T17:26:27Z", + "updated_at": "2011-09-06T20:39:23Z", + "scopes": ["public_repo"] + } + ] + }, + "application-grant": { + "value": { + "id": 1, + "url": "https://api.github.com/applications/grants/1", + "app": { + "url": "http://my-github-app.com", + "name": "my github app", + "client_id": "abcde12345fghij67890" + }, + "created_at": "2011-09-06T17:26:27Z", + "updated_at": "2011-09-06T20:39:23Z", + "scopes": ["public_repo"] + } + }, + "authorization-with-user": { + "value": { + "id": 1, + "url": "https://api.github.com/authorizations/1", + "scopes": ["public_repo"], + "token": "abcdefgh12345678", + "token_last_eight": "12345678", + "hashed_token": "25f94a2a5c7fbaf499c665bc73d67c1c87e496da8985131633ee0a95819db2e8", + "app": { + "url": "http://my-github-app.com", + "name": "my github app", + "client_id": "abcde12345fghij67890" + }, + "note": "optional note", + "note_url": "http://optional/note/url", + "updated_at": "2011-09-06T20:39:23Z", + "created_at": "2011-09-06T17:26:27Z", + "fingerprint": "jklmnop12345678", + "user": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + } + } + }, + "authorization-items": { + "value": [ + { + "id": 1, + "url": "https://api.github.com/authorizations/1", + "scopes": ["public_repo"], + "token": "", + "token_last_eight": "12345678", + "hashed_token": "25f94a2a5c7fbaf499c665bc73d67c1c87e496da8985131633ee0a95819db2e8", + "app": { + "url": "http://my-github-app.com", + "name": "my github app", + "client_id": "abcde12345fghij67890" + }, + "note": "optional note", + "note_url": "http://optional/note/url", + "updated_at": "2011-09-06T20:39:23Z", + "created_at": "2011-09-06T17:26:27Z", + "fingerprint": "jklmnop12345678" + } + ] + }, + "authorization": { + "value": { + "id": 1, + "url": "https://api.github.com/authorizations/1", + "scopes": ["public_repo"], + "token": "abcdefgh12345678", + "token_last_eight": "12345678", + "hashed_token": "25f94a2a5c7fbaf499c665bc73d67c1c87e496da8985131633ee0a95819db2e8", + "app": { + "url": "http://my-github-app.com", + "name": "my github app", + "client_id": "abcde12345fghij67890" + }, + "note": "optional note", + "note_url": "http://optional/note/url", + "updated_at": "2011-09-06T20:39:23Z", + "created_at": "2011-09-06T17:26:27Z", + "fingerprint": "" + } + }, + "authorization-response-if-returning-an-existing-token-2": { + "value": { + "id": 1, + "url": "https://api.github.com/authorizations/1", + "scopes": ["public_repo"], + "token": "", + "token_last_eight": "12345678", + "hashed_token": "25f94a2a5c7fbaf499c665bc73d67c1c87e496da8985131633ee0a95819db2e8", + "app": { + "url": "http://my-github-app.com", + "name": "my github app", + "client_id": "abcde12345fghij67890" + }, + "note": "optional note", + "note_url": "http://optional/note/url", + "updated_at": "2011-09-06T20:39:23Z", + "created_at": "2011-09-06T17:26:27Z", + "fingerprint": "" + } + }, + "authorization-response-if-returning-an-existing-token": { + "value": { + "id": 1, + "url": "https://api.github.com/authorizations/1", + "scopes": ["public_repo"], + "token": "", + "token_last_eight": "12345678", + "hashed_token": "25f94a2a5c7fbaf499c665bc73d67c1c87e496da8985131633ee0a95819db2e8", + "app": { + "url": "http://my-github-app.com", + "name": "my github app", + "client_id": "abcde12345fghij67890" + }, + "note": "optional note", + "note_url": "http://optional/note/url", + "updated_at": "2011-09-06T20:39:23Z", + "created_at": "2011-09-06T17:26:27Z", + "fingerprint": "jklmnop12345678" + } + }, + "authorization-3": { + "value": { + "id": 1, + "url": "https://api.github.com/authorizations/1", + "scopes": ["public_repo"], + "token": "abcdefgh12345678", + "token_last_eight": "12345678", + "hashed_token": "25f94a2a5c7fbaf499c665bc73d67c1c87e496da8985131633ee0a95819db2e8", + "app": { + "url": "http://my-github-app.com", + "name": "my github app", + "client_id": "abcde12345fghij67890" + }, + "note": "optional note", + "note_url": "http://optional/note/url", + "updated_at": "2011-09-06T20:39:23Z", + "created_at": "2011-09-06T17:26:27Z", + "fingerprint": "jklmnop12345678" + } + }, + "authorization-2": { + "value": { + "id": 1, + "url": "https://api.github.com/authorizations/1", + "scopes": ["public_repo"], + "token": "", + "token_last_eight": "12345678", + "hashed_token": "25f94a2a5c7fbaf499c665bc73d67c1c87e496da8985131633ee0a95819db2e8", + "app": { + "url": "http://my-github-app.com", + "name": "my github app", + "client_id": "abcde12345fghij67890" + }, + "note": "optional note", + "note_url": "http://optional/note/url", + "updated_at": "2011-09-06T20:39:23Z", + "created_at": "2011-09-06T17:26:27Z", + "fingerprint": "jklmnop12345678" + } + }, + "code-of-conduct-simple-items": { + "value": [ + { + "key": "citizen_code_of_conduct", + "name": "Citizen Code of Conduct", + "url": "https://api.github.com/codes_of_conduct/citizen_code_of_conduct", + "html_url": "http://citizencodeofconduct.org/" + }, + { + "key": "contributor_covenant", + "name": "Contributor Covenant", + "url": "https://api.github.com/codes_of_conduct/contributor_covenant", + "html_url": "https://www.contributor-covenant.org/version/2/0/code_of_conduct/" + } + ] + }, + "code-of-conduct": { + "value": { + "key": "contributor_covenant", + "name": "Contributor Covenant", + "url": "https://api.github.com/codes_of_conduct/contributor_covenant", + "body": "# Contributor Covenant Code of Conduct\n\n## Our Pledge\n\nIn the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.\n\n## Our Standards\n\nExamples of behavior that contributes to creating a positive environment include:\n\n* Using welcoming and inclusive language\n* Being respectful of differing viewpoints and experiences\n* Gracefully accepting constructive criticism\n* Focusing on what is best for the community\n* Showing empathy towards other community members\n\nExamples of unacceptable behavior by participants include:\n\n* The use of sexualized language or imagery and unwelcome sexual attention or advances\n* Trolling, insulting/derogatory comments, and personal or political attacks\n* Public or private harassment\n* Publishing others' private information, such as a physical or electronic address, without explicit permission\n* Other conduct which could reasonably be considered inappropriate in a professional setting\n\n## Our Responsibilities\n\nProject maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response\n to any instances of unacceptable behavior.\n\nProject maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.\n\n## Scope\n\nThis Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address,\n posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.\n\n## Enforcement\n\nInstances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [EMAIL]. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.\n\nProject maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.\n\n## Attribution\n\nThis Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]\n\n[homepage]: http://contributor-covenant.org\n[version]: http://contributor-covenant.org/version/1/4/\n", + "html_url": "http://contributor-covenant.org/version/1/4/" + } + }, + "content-reference-attachment": { + "value": { + "id": 101, + "title": "[A-1234] Error found in core/models.py file'", + "body": "You have used an email that already exists for the user_email_uniq field.\n ## DETAILS:\n\nThe (email)=(Octocat@github.com) already exists.\n\n The error was found in core/models.py in get_or_create_user at line 62.\n\n self.save()" + } + }, + "actions-enterprise-permissions": { + "value": { + "enabled_organizations": "all", + "allowed_actions": "selected", + "selected_actions_url": "https://api.github.com/enterprises/2/actions/permissions/selected-actions" + } + }, + "organization-targets": { + "value": { + "total_count": 1, + "organizations": [ + { + "login": "octocat", + "id": 161335, + "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", + "url": "https://api.github.com/orgs/octo-org", + "repos_url": "https://api.github.com/orgs/octo-org/repos", + "events_url": "https://api.github.com/orgs/octo-org/events", + "hooks_url": "https://api.github.com/orgs/octo-org/hooks", + "issues_url": "https://api.github.com/orgs/octo-org/issues", + "members_url": "https://api.github.com/orgs/octo-org/members{/member}", + "public_members_url": "https://api.github.com/orgs/octo-org/public_members{/member}", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "description": "A great organization" + } + ] + } + }, + "selected-actions": { + "value": { + "github_owned_allowed": true, + "verified_allowed": false, + "patterns_allowed": ["monalisa/octocat@*", "docker/*"] + } + }, + "runner-groups-enterprise": { + "value": { + "total_count": 3, + "runner_groups": [ + { + "id": 1, + "name": "Default", + "visibility": "all", + "default": true, + "runners_url": "https://api.github.com/enterprises/octo-corp/actions/runner_groups/1/runners" + }, + { + "id": 2, + "name": "octo-runner-group", + "visibility": "selected", + "default": false, + "selected_organizations_url": "https://api.github.com/enterprises/octo-corp/actions/runner_groups/2/organizations", + "runners_url": "https://api.github.com/enterprises/octo-corp/actions/runner_groups/2/runners" + }, + { + "id": 3, + "name": "expensive-hardware", + "visibility": "private", + "default": false, + "runners_url": "https://api.github.com/enterprises/octo-corp/actions/runner_groups/3/runners" + } + ] + } + }, + "runner-group-enterprise": { + "value": { + "id": 2, + "name": "octo-runner-group", + "visibility": "selected", + "default": false, + "selected_organizations_url": "https://api.github.com/enterprises/octo-corp/actions/runner-groups/2/organizations", + "runners_url": "https://api.github.com/enterprises/octo-corp/actions/runner-groups/2/runners" + } + }, + "runner-group-update-enterprise": { + "value": { + "id": 2, + "name": "Expensive hardware runners", + "visibility": "selected", + "default": false, + "selected_organizations_url": "https://api.github.com/enterprises/octo-corp/actions/runner-groups/2/organizations", + "runners_url": "https://api.github.com/enterprises/octo-corp/actions/runner-groups/2/runners" + } + }, + "runner-paginated": { + "value": { + "total_count": 2, + "runners": [ + { + "id": 23, + "name": "linux_runner", + "os": "linux", + "status": "online", + "busy": true, + "labels": [ + { "id": 5, "name": "self-hosted", "type": "read-only" }, + { "id": 7, "name": "X64", "type": "read-only" }, + { "id": 11, "name": "Linux", "type": "read-only" } + ] + }, + { + "id": 24, + "name": "mac_runner", + "os": "macos", + "status": "offline", + "busy": false, + "labels": [ + { "id": 5, "name": "self-hosted", "type": "read-only" }, + { "id": 7, "name": "X64", "type": "read-only" }, + { "id": 20, "name": "macOS", "type": "read-only" }, + { "id": 21, "name": "no-gpu", "type": "custom" } + ] + } + ] + } + }, + "runner-application-items": { + "value": [ + { + "os": "osx", + "architecture": "x64", + "download_url": "https://github.com/actions/runner/releases/download/v2.164.0/actions-runner-osx-x64-2.164.0.tar.gz", + "filename": "actions-runner-osx-x64-2.164.0.tar.gz" + }, + { + "os": "linux", + "architecture": "x64", + "download_url": "https://github.com/actions/runner/releases/download/v2.164.0/actions-runner-linux-x64-2.164.0.tar.gz", + "filename": "actions-runner-linux-x64-2.164.0.tar.gz" + }, + { + "os": "linux", + "architecture": "arm", + "download_url": "https://github.com/actions/runner/releases/download/v2.164.0/actions-runner-linux-arm-2.164.0.tar.gz", + "filename": "actions-runner-linux-arm-2.164.0.tar.gz" + }, + { + "os": "win", + "architecture": "x64", + "download_url": "https://github.com/actions/runner/releases/download/v2.164.0/actions-runner-win-x64-2.164.0.zip", + "filename": "actions-runner-win-x64-2.164.0.zip" + }, + { + "os": "linux", + "architecture": "arm64", + "download_url": "https://github.com/actions/runner/releases/download/v2.164.0/actions-runner-linux-arm64-2.164.0.tar.gz", + "filename": "actions-runner-linux-arm64-2.164.0.tar.gz" + } + ] + }, + "authentication-token": { + "value": { + "token": "LLBF3JGZDX3P5PMEXLND6TS6FCWO6", + "expires_at": "2020-01-22T12:13:35.123-08:00" + } + }, + "authentication-token-2": { + "value": { + "token": "AABF3JGZDX3P5PMEXLND6TS6FCWO6", + "expires_at": "2020-01-29T12:13:35.123-08:00" + } + }, + "runner": { + "value": { + "id": 23, + "name": "MBP", + "os": "macos", + "status": "online", + "busy": true, + "labels": [ + { "id": 5, "name": "self-hosted", "type": "read-only" }, + { "id": 7, "name": "X64", "type": "read-only" }, + { "id": 20, "name": "macOS", "type": "read-only" }, + { "id": 21, "name": "no-gpu", "type": "custom" } + ] + } + }, + "actions-billing-usage": { + "value": { + "total_minutes_used": 305, + "total_paid_minutes_used": 0, + "included_minutes": 3000, + "minutes_used_breakdown": { + "UBUNTU": 205, + "MACOS": 10, + "WINDOWS": 90 + } + } + }, + "packages-billing-usage": { + "value": { + "total_gigabytes_bandwidth_used": 50, + "total_paid_gigabytes_bandwidth_used": 40, + "included_gigabytes_bandwidth": 10 + } + }, + "combined-billing-usage": { + "value": { + "days_left_in_billing_cycle": 20, + "estimated_paid_storage_for_month": 15, + "estimated_storage_for_month": 40 + } + }, + "feed": { + "value": { + "timeline_url": "https://github.com/timeline", + "user_url": "https://github.com/{user}", + "current_user_public_url": "https://github.com/octocat", + "current_user_url": "https://github.com/octocat.private?token=abc123", + "current_user_actor_url": "https://github.com/octocat.private.actor?token=abc123", + "current_user_organization_url": "", + "current_user_organization_urls": [ + "https://github.com/organizations/github/octocat.private.atom?token=abc123" + ], + "security_advisories_url": "https://github.com/security-advisories", + "_links": { + "timeline": { + "href": "https://github.com/timeline", + "type": "application/atom+xml" + }, + "user": { + "href": "https://github.com/{user}", + "type": "application/atom+xml" + }, + "current_user_public": { + "href": "https://github.com/octocat", + "type": "application/atom+xml" + }, + "current_user": { + "href": "https://github.com/octocat.private?token=abc123", + "type": "application/atom+xml" + }, + "current_user_actor": { + "href": "https://github.com/octocat.private.actor?token=abc123", + "type": "application/atom+xml" + }, + "current_user_organization": { "href": "", "type": "" }, + "current_user_organizations": [ + { + "href": "https://github.com/organizations/github/octocat.private.atom?token=abc123", + "type": "application/atom+xml" + } + ], + "security_advisories": { + "href": "https://github.com/security-advisories", + "type": "application/atom+xml" + } + } + } + }, + "base-gist-items": { + "value": [ + { + "url": "https://api.github.com/gists/aa5a315d61ae9438b18d", + "forks_url": "https://api.github.com/gists/aa5a315d61ae9438b18d/forks", + "commits_url": "https://api.github.com/gists/aa5a315d61ae9438b18d/commits", + "id": "aa5a315d61ae9438b18d", + "node_id": "MDQ6R2lzdGFhNWEzMTVkNjFhZTk0MzhiMThk", + "git_pull_url": "https://gist.github.com/aa5a315d61ae9438b18d.git", + "git_push_url": "https://gist.github.com/aa5a315d61ae9438b18d.git", + "html_url": "https://gist.github.com/aa5a315d61ae9438b18d", + "files": { + "hello_world.rb": { + "filename": "hello_world.rb", + "type": "application/x-ruby", + "language": "Ruby", + "raw_url": "https://gist.githubusercontent.com/octocat/6cad326836d38bd3a7ae/raw/db9c55113504e46fa076e7df3a04ce592e2e86d8/hello_world.rb", + "size": 167 + } + }, + "public": true, + "created_at": "2010-04-14T02:15:15Z", + "updated_at": "2011-06-20T11:34:15Z", + "description": "Hello World Examples", + "comments": 0, + "user": null, + "comments_url": "https://api.github.com/gists/aa5a315d61ae9438b18d/comments/", + "owner": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "truncated": false + } + ] + }, + "gist": { + "value": { + "url": "https://api.github.com/gists/aa5a315d61ae9438b18d", + "forks_url": "https://api.github.com/gists/aa5a315d61ae9438b18d/forks", + "commits_url": "https://api.github.com/gists/aa5a315d61ae9438b18d/commits", + "id": "aa5a315d61ae9438b18d", + "node_id": "MDQ6R2lzdGFhNWEzMTVkNjFhZTk0MzhiMThk", + "git_pull_url": "https://gist.github.com/aa5a315d61ae9438b18d.git", + "git_push_url": "https://gist.github.com/aa5a315d61ae9438b18d.git", + "html_url": "https://gist.github.com/aa5a315d61ae9438b18d", + "created_at": "2010-04-14T02:15:15Z", + "updated_at": "2011-06-20T11:34:15Z", + "description": "Hello World Examples", + "comments": 0, + "comments_url": "https://api.github.com/gists/aa5a315d61ae9438b18d/comments/" + } + }, + "gist-3": { + "value": { + "url": "https://api.github.com/gists/aa5a315d61ae9438b18d", + "forks_url": "https://api.github.com/gists/aa5a315d61ae9438b18d/forks", + "commits_url": "https://api.github.com/gists/aa5a315d61ae9438b18d/commits", + "id": "aa5a315d61ae9438b18d", + "node_id": "MDQ6R2lzdGFhNWEzMTVkNjFhZTk0MzhiMThk", + "git_pull_url": "https://gist.github.com/aa5a315d61ae9438b18d.git", + "git_push_url": "https://gist.github.com/aa5a315d61ae9438b18d.git", + "html_url": "https://gist.github.com/aa5a315d61ae9438b18d", + "created_at": "2010-04-14T02:15:15Z", + "updated_at": "2011-06-20T11:34:15Z", + "description": "Hello World Examples", + "comments": 0, + "comments_url": "https://api.github.com/gists/aa5a315d61ae9438b18d/comments/" + } + }, + "gist-comment-items": { + "value": [ + { + "id": 1, + "node_id": "MDExOkdpc3RDb21tZW50MQ==", + "url": "https://api.github.com/gists/a6db0bec360bb87e9418/comments/1", + "body": "Just commenting for the sake of commenting", + "user": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "created_at": "2011-04-18T23:23:56Z", + "updated_at": "2011-04-18T23:23:56Z", + "author_association": "collaborator" + } + ] + }, + "gist-comment": { + "value": { + "id": 1, + "node_id": "MDExOkdpc3RDb21tZW50MQ==", + "url": "https://api.github.com/gists/a6db0bec360bb87e9418/comments/1", + "body": "Just commenting for the sake of commenting", + "user": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "created_at": "2011-04-18T23:23:56Z", + "updated_at": "2011-04-18T23:23:56Z", + "author_association": "collaborator" + } + }, + "gist-commit-items": { + "value": [ + { + "url": "https://api.github.com/gists/aa5a315d61ae9438b18d/57a7f021a713b1c5a6a199b54cc514735d2d462f", + "version": "57a7f021a713b1c5a6a199b54cc514735d2d462f", + "user": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "change_status": { "deletions": 0, "additions": 180, "total": 180 }, + "committed_at": "2010-04-14T02:15:15Z" + } + ] + }, + "gist-fork-items": { + "value": [ + { + "url": "https://api.github.com/gists/dee9c42e4998ce2ea439", + "id": "dee9c42e4998ce2ea439", + "created_at": "2011-04-14T16:00:49Z", + "updated_at": "2011-04-14T16:00:49Z" + } + ] + }, + "base-gist": { + "value": { + "url": "https://api.github.com/gists/aa5a315d61ae9438b18d", + "forks_url": "https://api.github.com/gists/aa5a315d61ae9438b18d/forks", + "commits_url": "https://api.github.com/gists/aa5a315d61ae9438b18d/commits", + "id": "aa5a315d61ae9438b18d", + "node_id": "MDQ6R2lzdGFhNWEzMTVkNjFhZTk0MzhiMThk", + "git_pull_url": "https://gist.github.com/aa5a315d61ae9438b18d.git", + "git_push_url": "https://gist.github.com/aa5a315d61ae9438b18d.git", + "html_url": "https://gist.github.com/aa5a315d61ae9438b18d", + "files": { + "hello_world.rb": { + "filename": "hello_world.rb", + "type": "application/x-ruby", + "language": "Ruby", + "raw_url": "https://gist.githubusercontent.com/octocat/6cad326836d38bd3a7ae/raw/db9c55113504e46fa076e7df3a04ce592e2e86d8/hello_world.rb", + "size": 167 + } + }, + "public": true, + "created_at": "2010-04-14T02:15:15Z", + "updated_at": "2011-06-20T11:34:15Z", + "description": "Hello World Examples", + "comments": 0, + "user": null, + "comments_url": "https://api.github.com/gists/aa5a315d61ae9438b18d/comments/", + "owner": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "truncated": false + } + }, + "gist-2": { + "value": { + "url": "https://api.github.com/gists/aa5a315d61ae9438b18d/57a7f021a713b1c5a6a199b54cc514735d2d462f", + "forks_url": "https://api.github.com/gists/aa5a315d61ae9438b18d/forks", + "commits_url": "https://api.github.com/gists/aa5a315d61ae9438b18d/commits", + "id": "aa5a315d61ae9438b18d", + "node_id": "MDQ6R2lzdGFhNWEzMTVkNjFhZTk0MzhiMThk", + "git_pull_url": "https://gist.github.com/aa5a315d61ae9438b18d.git", + "git_push_url": "https://gist.github.com/aa5a315d61ae9438b18d.git", + "html_url": "https://gist.github.com/aa5a315d61ae9438b18d", + "created_at": "2010-04-14T02:15:15Z", + "updated_at": "2011-06-20T11:34:15Z", + "description": "Hello World Examples", + "comments": 0, + "comments_url": "https://api.github.com/gists/aa5a315d61ae9438b18d/comments/" + } + }, + "gitignore-template": { + "value": { + "name": "C", + "source": "# Object files\n*.o\n\n# Libraries\n*.lib\n*.a\n\n# Shared objects (inc. Windows DLLs)\n*.dll\n*.so\n*.so.*\n*.dylib\n\n# Executables\n*.exe\n*.out\n*.app\n" + } + }, + "repository-paginated-2": { + "value": { + "total_count": 1, + "repositories": [ + { + "id": 1296269, + "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", + "name": "Hello-World", + "full_name": "octocat/Hello-World", + "owner": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "private": false, + "html_url": "https://github.com/octocat/Hello-World", + "description": "This your first repo!", + "fork": false, + "url": "https://api.github.com/repos/octocat/Hello-World", + "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", + "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", + "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", + "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", + "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", + "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", + "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", + "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", + "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", + "events_url": "https://api.github.com/repos/octocat/Hello-World/events", + "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", + "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", + "git_url": "git:github.com/octocat/Hello-World.git", + "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", + "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", + "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", + "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", + "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", + "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", + "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", + "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", + "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", + "ssh_url": "git@github.com:octocat/Hello-World.git", + "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", + "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", + "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", + "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", + "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", + "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", + "clone_url": "https://github.com/octocat/Hello-World.git", + "mirror_url": "git:git.example.com/octocat/Hello-World", + "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", + "svn_url": "https://svn.github.com/octocat/Hello-World", + "homepage": "https://github.com", + "language": null, + "forks_count": 9, + "stargazers_count": 80, + "watchers_count": 80, + "size": 108, + "default_branch": "master", + "open_issues_count": 0, + "is_template": true, + "topics": ["octocat", "atom", "electron", "api"], + "has_issues": true, + "has_projects": true, + "has_wiki": true, + "has_pages": false, + "has_downloads": true, + "archived": false, + "disabled": false, + "visibility": "public", + "pushed_at": "2011-01-26T19:06:43Z", + "created_at": "2011-01-26T19:01:12Z", + "updated_at": "2011-01-26T19:14:43Z", + "allow_rebase_merge": true, + "template_repository": null, + "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", + "allow_squash_merge": true, + "delete_branch_on_merge": true, + "allow_merge_commit": true, + "subscribers_count": 42, + "network_count": 0, + "license": { + "key": "mit", + "name": "MIT License", + "url": "https://api.github.com/licenses/mit", + "spdx_id": "MIT", + "node_id": "MDc6TGljZW5zZW1pdA==", + "html_url": "https://github.com/licenses/mit" + }, + "forks": 1, + "open_issues": 1, + "watchers": 1 + } + ] + } + }, + "issue-with-repo-items": { + "value": [ + { + "id": 1, + "node_id": "MDU6SXNzdWUx", + "url": "https://api.github.com/repos/octocat/Hello-World/issues/1347", + "repository_url": "https://api.github.com/repos/octocat/Hello-World", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/issues/1347/labels{/name}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/issues/1347/comments", + "events_url": "https://api.github.com/repos/octocat/Hello-World/issues/1347/events", + "html_url": "https://github.com/octocat/Hello-World/issues/1347", + "number": 1347, + "state": "open", + "title": "Found a bug", + "body": "I'm having a problem with this.", + "user": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "labels": [ + { + "id": 208045946, + "node_id": "MDU6TGFiZWwyMDgwNDU5NDY=", + "url": "https://api.github.com/repos/octocat/Hello-World/labels/bug", + "name": "bug", + "description": "Something isn't working", + "color": "f29513", + "default": true + } + ], + "assignee": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "assignees": [ + { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + } + ], + "milestone": { + "url": "https://api.github.com/repos/octocat/Hello-World/milestones/1", + "html_url": "https://github.com/octocat/Hello-World/milestones/v1.0", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/milestones/1/labels", + "id": 1002604, + "node_id": "MDk6TWlsZXN0b25lMTAwMjYwNA==", + "number": 1, + "state": "open", + "title": "v1.0", + "description": "Tracking milestone for version 1.0", + "creator": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "open_issues": 4, + "closed_issues": 8, + "created_at": "2011-04-10T20:09:31Z", + "updated_at": "2014-03-03T18:58:10Z", + "closed_at": "2013-02-12T13:22:01Z", + "due_on": "2012-10-09T23:39:01Z" + }, + "locked": true, + "active_lock_reason": "too heated", + "comments": 0, + "pull_request": { + "url": "https://api.github.com/repos/octocat/Hello-World/pulls/1347", + "html_url": "https://github.com/octocat/Hello-World/pull/1347", + "diff_url": "https://github.com/octocat/Hello-World/pull/1347.diff", + "patch_url": "https://github.com/octocat/Hello-World/pull/1347.patch" + }, + "closed_at": null, + "created_at": "2011-04-22T13:33:48Z", + "updated_at": "2011-04-22T13:33:48Z", + "repository": { + "id": 1296269, + "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", + "name": "Hello-World", + "full_name": "octocat/Hello-World", + "owner": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "private": false, + "html_url": "https://github.com/octocat/Hello-World", + "description": "This your first repo!", + "fork": false, + "url": "https://api.github.com/repos/octocat/Hello-World", + "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", + "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", + "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", + "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", + "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", + "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", + "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", + "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", + "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", + "events_url": "https://api.github.com/repos/octocat/Hello-World/events", + "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", + "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", + "git_url": "git:github.com/octocat/Hello-World.git", + "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", + "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", + "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", + "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", + "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", + "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", + "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", + "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", + "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", + "ssh_url": "git@github.com:octocat/Hello-World.git", + "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", + "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", + "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", + "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", + "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", + "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", + "clone_url": "https://github.com/octocat/Hello-World.git", + "mirror_url": "git:git.example.com/octocat/Hello-World", + "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", + "svn_url": "https://svn.github.com/octocat/Hello-World", + "homepage": "https://github.com", + "language": null, + "forks_count": 9, + "stargazers_count": 80, + "watchers_count": 80, + "size": 108, + "default_branch": "master", + "open_issues_count": 0, + "is_template": true, + "topics": ["octocat", "atom", "electron", "api"], + "has_issues": true, + "has_projects": true, + "has_wiki": true, + "has_pages": false, + "has_downloads": true, + "archived": false, + "disabled": false, + "visibility": "public", + "pushed_at": "2011-01-26T19:06:43Z", + "created_at": "2011-01-26T19:01:12Z", + "updated_at": "2011-01-26T19:14:43Z", + "permissions": { "admin": false, "push": false, "pull": true }, + "allow_rebase_merge": true, + "template_repository": null, + "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", + "allow_squash_merge": true, + "delete_branch_on_merge": true, + "allow_merge_commit": true, + "subscribers_count": 42, + "network_count": 0, + "license": { + "key": "mit", + "name": "MIT License", + "url": "https://api.github.com/licenses/mit", + "spdx_id": "MIT", + "node_id": "MDc6TGljZW5zZW1pdA==", + "html_url": "https://github.com/licenses/mit" + }, + "forks": 1, + "open_issues": 1, + "watchers": 1 + }, + "author_association": "collaborator" + } + ] + }, + "license-simple-items": { + "value": [ + { + "key": "mit", + "name": "MIT License", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit", + "node_id": "MDc6TGljZW5zZW1pdA==" + }, + { + "key": "lgpl-3.0", + "name": "GNU Lesser General Public License v3.0", + "spdx_id": "LGPL-3.0", + "url": "https://api.github.com/licenses/lgpl-3.0", + "node_id": "MDc6TGljZW5zZW1pdA==" + }, + { + "key": "mpl-2.0", + "name": "Mozilla Public License 2.0", + "spdx_id": "MPL-2.0", + "url": "https://api.github.com/licenses/mpl-2.0", + "node_id": "MDc6TGljZW5zZW1pdA==" + }, + { + "key": "agpl-3.0", + "name": "GNU Affero General Public License v3.0", + "spdx_id": "AGPL-3.0", + "url": "https://api.github.com/licenses/agpl-3.0", + "node_id": "MDc6TGljZW5zZW1pdA==" + }, + { + "key": "unlicense", + "name": "The Unlicense", + "spdx_id": "Unlicense", + "url": "https://api.github.com/licenses/unlicense", + "node_id": "MDc6TGljZW5zZW1pdA==" + }, + { + "key": "apache-2.0", + "name": "Apache License 2.0", + "spdx_id": "Apache-2.0", + "url": "https://api.github.com/licenses/apache-2.0", + "node_id": "MDc6TGljZW5zZW1pdA==" + }, + { + "key": "gpl-3.0", + "name": "GNU General Public License v3.0", + "spdx_id": "GPL-3.0", + "url": "https://api.github.com/licenses/gpl-3.0", + "node_id": "MDc6TGljZW5zZW1pdA==" + } + ] + }, + "license": { + "value": { + "key": "mit", + "name": "MIT License", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit", + "node_id": "MDc6TGljZW5zZW1pdA==", + "html_url": "http://choosealicense.com/licenses/mit/", + "description": "A permissive license that is short and to the point. It lets people do anything with your code with proper attribution and without warranty.", + "implementation": "Create a text file (typically named LICENSE or LICENSE.txt) in the root of your source code and copy the text of the license into the file. Replace [year] with the current year and [fullname] with the name (or names) of the copyright holders.", + "permissions": [ + "commercial-use", + "modifications", + "distribution", + "sublicense", + "private-use" + ], + "conditions": ["include-copyright"], + "limitations": ["no-liability"], + "body": "\n\nThe MIT License (MIT)\n\nCopyright (c) [year] [fullname]\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n", + "featured": true + } + }, + "marketplace-purchase": { + "value": { + "url": "https://api.github.com/orgs/github", + "type": "Organization", + "id": 4, + "login": "github", + "organization_billing_email": "billing@github.com", + "marketplace_pending_change": { + "effective_date": "2017-11-11T00:00:00Z", + "unit_count": null, + "id": 77, + "plan": { + "url": "https://api.github.com/marketplace_listing/plans/1111", + "accounts_url": "https://api.github.com/marketplace_listing/plans/1111/accounts", + "id": 1111, + "number": 2, + "name": "Startup", + "description": "A professional-grade CI solution", + "monthly_price_in_cents": 699, + "yearly_price_in_cents": 7870, + "price_model": "flat-rate", + "has_free_trial": true, + "state": "published", + "unit_name": null, + "bullets": [ + "Up to 10 private repositories", + "3 concurrent builds" + ] + } + }, + "marketplace_purchase": { + "billing_cycle": "monthly", + "next_billing_date": "2017-11-11T00:00:00Z", + "unit_count": null, + "on_free_trial": true, + "free_trial_ends_on": "2017-11-11T00:00:00Z", + "updated_at": "2017-11-02T01:12:12Z", + "plan": { + "url": "https://api.github.com/marketplace_listing/plans/1313", + "accounts_url": "https://api.github.com/marketplace_listing/plans/1313/accounts", + "id": 1313, + "number": 3, + "name": "Pro", + "description": "A professional-grade CI solution", + "monthly_price_in_cents": 1099, + "yearly_price_in_cents": 11870, + "price_model": "flat-rate", + "has_free_trial": true, + "unit_name": null, + "state": "published", + "bullets": [ + "Up to 25 private repositories", + "11 concurrent builds" + ] + } + } + } + }, + "marketplace-listing-plan-items": { + "value": [ + { + "url": "https://api.github.com/marketplace_listing/plans/1313", + "accounts_url": "https://api.github.com/marketplace_listing/plans/1313/accounts", + "id": 1313, + "number": 3, + "name": "Pro", + "description": "A professional-grade CI solution", + "monthly_price_in_cents": 1099, + "yearly_price_in_cents": 11870, + "price_model": "flat-rate", + "has_free_trial": true, + "unit_name": null, + "state": "published", + "bullets": ["Up to 25 private repositories", "11 concurrent builds"] + } + ] + }, + "marketplace-purchase-items": { + "value": [ + { + "url": "https://api.github.com/orgs/github", + "type": "Organization", + "id": 4, + "login": "github", + "organization_billing_email": "billing@github.com", + "marketplace_pending_change": { + "effective_date": "2017-11-11T00:00:00Z", + "unit_count": null, + "id": 77, + "plan": { + "url": "https://api.github.com/marketplace_listing/plans/1111", + "accounts_url": "https://api.github.com/marketplace_listing/plans/1111/accounts", + "id": 1111, + "number": 2, + "name": "Startup", + "description": "A professional-grade CI solution", + "monthly_price_in_cents": 699, + "yearly_price_in_cents": 7870, + "price_model": "flat-rate", + "has_free_trial": true, + "state": "published", + "unit_name": null, + "bullets": [ + "Up to 10 private repositories", + "3 concurrent builds" + ] + } + }, + "marketplace_purchase": { + "billing_cycle": "monthly", + "next_billing_date": "2017-11-11T00:00:00Z", + "unit_count": null, + "on_free_trial": true, + "free_trial_ends_on": "2017-11-11T00:00:00Z", + "updated_at": "2017-11-02T01:12:12Z", + "plan": { + "url": "https://api.github.com/marketplace_listing/plans/1313", + "accounts_url": "https://api.github.com/marketplace_listing/plans/1313/accounts", + "id": 1313, + "number": 3, + "name": "Pro", + "description": "A professional-grade CI solution", + "monthly_price_in_cents": 1099, + "yearly_price_in_cents": 11870, + "price_model": "flat-rate", + "has_free_trial": true, + "unit_name": null, + "state": "published", + "bullets": [ + "Up to 25 private repositories", + "11 concurrent builds" + ] + } + } + } + ] + }, + "api-overview": { + "value": { + "verifiable_password_authentication": true, + "ssh_key_fingerprints": { + "SHA256_RSA": "nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8", + "SHA256_DSA": "br9IjFspm1vxR3iA35FWE+4VTyz1hYVLIE2t1/CeyWQ" + }, + "hooks": ["192.30.252.0/22"], + "web": ["192.30.252.0/22", "185.199.108.0/22"], + "api": ["192.30.252.0/22", "185.199.108.0/22"], + "git": ["192.30.252.0/22"], + "pages": ["192.30.252.153/32", "192.30.252.154/32"], + "importer": ["54.158.161.132", "54.226.70.38"] + } + }, + "thread-items": { + "value": [ + { + "id": "1", + "repository": { + "id": 1296269, + "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", + "name": "Hello-World", + "full_name": "octocat/Hello-World", + "owner": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "private": false, + "html_url": "https://github.com/octocat/Hello-World", + "description": "This your first repo!", + "fork": false, + "url": "https://api.github.com/repos/octocat/Hello-World", + "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", + "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", + "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", + "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", + "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", + "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", + "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", + "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", + "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", + "events_url": "https://api.github.com/repos/octocat/Hello-World/events", + "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", + "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", + "git_url": "git:github.com/octocat/Hello-World.git", + "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", + "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", + "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", + "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", + "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", + "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", + "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", + "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", + "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", + "ssh_url": "git@github.com:octocat/Hello-World.git", + "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", + "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", + "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", + "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", + "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", + "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", + "hooks_url": "http://api.github.com/repos/octocat/Hello-World/hooks" + }, + "subject": { + "title": "Greetings", + "url": "https://api.github.com/repos/octokit/octokit.rb/issues/123", + "latest_comment_url": "https://api.github.com/repos/octokit/octokit.rb/issues/comments/123", + "type": "Issue" + }, + "reason": "subscribed", + "unread": true, + "updated_at": "2014-11-07T22:01:45Z", + "last_read_at": "2014-11-07T22:01:45Z", + "url": "https://api.github.com/notifications/threads/1" + } + ] + }, + "thread": { + "value": { + "id": "1", + "repository": { + "id": 1296269, + "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", + "name": "Hello-World", + "full_name": "octocat/Hello-World", + "owner": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "private": false, + "html_url": "https://github.com/octocat/Hello-World", + "description": "This your first repo!", + "fork": false, + "url": "https://api.github.com/repos/octocat/Hello-World", + "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", + "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", + "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", + "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", + "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", + "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", + "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", + "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", + "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", + "events_url": "https://api.github.com/repos/octocat/Hello-World/events", + "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", + "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", + "git_url": "git:github.com/octocat/Hello-World.git", + "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", + "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", + "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", + "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", + "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", + "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", + "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", + "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", + "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", + "ssh_url": "git@github.com:octocat/Hello-World.git", + "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", + "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", + "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", + "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", + "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", + "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", + "hooks_url": "http://api.github.com/repos/octocat/Hello-World/hooks" + }, + "subject": { + "title": "Greetings", + "url": "https://api.github.com/repos/octokit/octokit.rb/issues/123", + "latest_comment_url": "https://api.github.com/repos/octokit/octokit.rb/issues/comments/123", + "type": "Issue" + }, + "reason": "subscribed", + "unread": true, + "updated_at": "2014-11-07T22:01:45Z", + "last_read_at": "2014-11-07T22:01:45Z", + "url": "https://api.github.com/notifications/threads/1" + } + }, + "thread-subscription": { + "value": { + "subscribed": true, + "ignored": false, + "reason": null, + "created_at": "2012-10-06T21:34:12Z", + "url": "https://api.github.com/notifications/threads/1/subscription", + "thread_url": "https://api.github.com/notifications/threads/1" + } + }, + "organization-simple-items": { + "value": [ + { + "login": "github", + "id": 1, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", + "url": "https://api.github.com/orgs/github", + "repos_url": "https://api.github.com/orgs/github/repos", + "events_url": "https://api.github.com/orgs/github/events", + "hooks_url": "https://api.github.com/orgs/github/hooks", + "issues_url": "https://api.github.com/orgs/github/issues", + "members_url": "https://api.github.com/orgs/github/members{/member}", + "public_members_url": "https://api.github.com/orgs/github/public_members{/member}", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "description": "A great organization" + } + ] + }, + "organization-full-default-response": { + "summary": "Default response", + "value": { + "login": "github", + "id": 1, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", + "url": "https://api.github.com/orgs/github", + "repos_url": "https://api.github.com/orgs/github/repos", + "events_url": "https://api.github.com/orgs/github/events", + "hooks_url": "https://api.github.com/orgs/github/hooks", + "issues_url": "https://api.github.com/orgs/github/issues", + "members_url": "https://api.github.com/orgs/github/members{/member}", + "public_members_url": "https://api.github.com/orgs/github/public_members{/member}", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "description": "A great organization", + "name": "github", + "company": "GitHub", + "blog": "https://github.com/blog", + "location": "San Francisco", + "email": "octocat@github.com", + "twitter_username": "github", + "is_verified": true, + "has_organization_projects": true, + "has_repository_projects": true, + "public_repos": 2, + "public_gists": 1, + "followers": 20, + "following": 0, + "html_url": "https://github.com/octocat", + "created_at": "2008-01-14T04:33:35Z", + "updated_at": "2014-03-03T18:58:10Z", + "type": "Organization", + "total_private_repos": 100, + "owned_private_repos": 100, + "private_gists": 81, + "disk_usage": 10000, + "collaborators": 8, + "billing_email": "mona@github.com", + "plan": { "name": "Medium", "space": 400, "private_repos": 20 }, + "default_repository_permission": "read", + "members_can_create_repositories": true, + "two_factor_requirement_enabled": true, + "members_allowed_repository_creation_type": "all", + "members_can_create_public_repositories": false, + "members_can_create_private_repositories": false, + "members_can_create_internal_repositories": false, + "members_can_create_pages": true + } + }, + "organization-full-response-with-git-hub-plan-information": { + "summary": "Response with GitHub plan information", + "value": { + "login": "github", + "id": 1, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", + "url": "https://api.github.com/orgs/github", + "repos_url": "https://api.github.com/orgs/github/repos", + "events_url": "https://api.github.com/orgs/github/events", + "hooks_url": "https://api.github.com/orgs/github/hooks", + "issues_url": "https://api.github.com/orgs/github/issues", + "members_url": "https://api.github.com/orgs/github/members{/member}", + "public_members_url": "https://api.github.com/orgs/github/public_members{/member}", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "description": "A great organization", + "name": "github", + "company": "GitHub", + "blog": "https://github.com/blog", + "location": "San Francisco", + "email": "octocat@github.com", + "twitter_username": "github", + "is_verified": true, + "has_organization_projects": true, + "has_repository_projects": true, + "public_repos": 2, + "public_gists": 1, + "followers": 20, + "following": 0, + "html_url": "https://github.com/octocat", + "created_at": "2008-01-14T04:33:35Z", + "updated_at": "2014-03-03T18:58:10Z", + "type": "Organization", + "plan": { + "name": "team", + "space": 976562499, + "private_repos": 999999, + "filled_seats": 4, + "seats": 5 + } + } + }, + "organization-full": { + "value": { + "login": "github", + "id": 1, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", + "url": "https://api.github.com/orgs/github", + "repos_url": "https://api.github.com/orgs/github/repos", + "events_url": "https://api.github.com/orgs/github/events", + "hooks_url": "https://api.github.com/orgs/github/hooks", + "issues_url": "https://api.github.com/orgs/github/issues", + "members_url": "https://api.github.com/orgs/github/members{/member}", + "public_members_url": "https://api.github.com/orgs/github/public_members{/member}", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "description": "A great organization", + "name": "github", + "company": "GitHub", + "blog": "https://github.com/blog", + "location": "San Francisco", + "email": "octocat@github.com", + "twitter_username": "github", + "is_verified": true, + "has_organization_projects": true, + "has_repository_projects": true, + "public_repos": 2, + "public_gists": 1, + "followers": 20, + "following": 0, + "html_url": "https://github.com/octocat", + "created_at": "2008-01-14T04:33:35Z", + "type": "Organization", + "total_private_repos": 100, + "owned_private_repos": 100, + "private_gists": 81, + "disk_usage": 10000, + "collaborators": 8, + "billing_email": "mona@github.com", + "plan": { "name": "Medium", "space": 400, "private_repos": 20 }, + "default_repository_permission": "read", + "members_can_create_repositories": true, + "two_factor_requirement_enabled": true, + "members_allowed_repository_creation_type": "all", + "members_can_create_public_repositories": false, + "members_can_create_private_repositories": false, + "members_can_create_internal_repositories": false, + "members_can_create_pages": true, + "updated_at": "2014-03-03T18:58:10Z" + } + }, + "actions-organization-permissions": { + "value": { + "enabled_repositories": "all", + "allowed_actions": "selected", + "selected_actions_url": "https://api.github.com/organizations/42/actions/permissions/selected-actions" + } + }, + "repository-paginated": { + "value": { + "total_count": 1, + "repositories": [ + { + "id": 1296269, + "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", + "name": "Hello-World", + "full_name": "octocat/Hello-World", + "owner": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "private": false, + "html_url": "https://github.com/octocat/Hello-World", + "description": "This your first repo!", + "fork": false, + "url": "https://api.github.com/repos/octocat/Hello-World", + "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", + "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", + "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", + "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", + "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", + "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", + "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", + "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", + "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", + "events_url": "https://api.github.com/repos/octocat/Hello-World/events", + "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", + "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", + "git_url": "git:github.com/octocat/Hello-World.git", + "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", + "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", + "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", + "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", + "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", + "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", + "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", + "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", + "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", + "ssh_url": "git@github.com:octocat/Hello-World.git", + "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", + "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", + "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", + "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", + "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", + "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", + "clone_url": "https://github.com/octocat/Hello-World.git", + "mirror_url": "git:git.example.com/octocat/Hello-World", + "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", + "svn_url": "https://svn.github.com/octocat/Hello-World", + "homepage": "https://github.com", + "language": null, + "forks_count": 9, + "stargazers_count": 80, + "watchers_count": 80, + "size": 108, + "default_branch": "master", + "open_issues_count": 0, + "is_template": true, + "topics": ["octocat", "atom", "electron", "api"], + "has_issues": true, + "has_projects": true, + "has_wiki": true, + "has_pages": false, + "has_downloads": true, + "archived": false, + "disabled": false, + "visibility": "public", + "pushed_at": "2011-01-26T19:06:43Z", + "created_at": "2011-01-26T19:01:12Z", + "updated_at": "2011-01-26T19:14:43Z", + "permissions": { "admin": false, "push": false, "pull": true }, + "allow_rebase_merge": true, + "template_repository": null, + "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", + "allow_squash_merge": true, + "delete_branch_on_merge": true, + "allow_merge_commit": true, + "subscribers_count": 42, + "network_count": 0, + "license": { + "key": "mit", + "name": "MIT License", + "url": "https://api.github.com/licenses/mit", + "spdx_id": "MIT", + "node_id": "MDc6TGljZW5zZW1pdA==", + "html_url": "https://github.com/licenses/mit" + }, + "forks": 1, + "open_issues": 1, + "watchers": 1 + } + ] + } + }, + "runner-groups-org": { + "value": { + "total_count": 3, + "runner_groups": [ + { + "id": 1, + "name": "Default", + "visibility": "all", + "default": true, + "runners_url": "https://api.github.com/orgs/octo-org/actions/runner_groups/1/runners", + "inherited": false + }, + { + "id": 2, + "name": "octo-runner-group", + "visibility": "selected", + "default": false, + "selected_repositories_url": "https://api.github.com/orgs/octo-org/actions/runner_groups/2/repositories", + "runners_url": "https://api.github.com/orgs/octo-org/actions/runner_groups/2/runners", + "inherited": true + }, + { + "id": 3, + "name": "expensive-hardware", + "visibility": "private", + "default": false, + "runners_url": "https://api.github.com/orgs/octo-org/actions/runner_groups/3/runners", + "inherited": false + } + ] + } + }, + "runner-group": { + "value": { + "id": 2, + "name": "octo-runner-group", + "visibility": "selected", + "default": false, + "selected_repositories_url": "https://api.github.com/orgs/octo-org/actions/runner-groups/2/repositories", + "runners_url": "https://api.github.com/orgs/octo-org/actions/runner_groups/2/runners", + "inherited": false + } + }, + "runner-group-item": { + "value": { + "id": 2, + "name": "octo-runner-group", + "visibility": "selected", + "default": false, + "selected_repositories_url": "https://api.github.com/orgs/octo-org/actions/runner_groups/2/repositories", + "runners_url": "https://api.github.com/orgs/octo-org/actions/runner_groups/2/runners", + "inherited": false + } + }, + "organization-actions-secret-paginated": { + "value": { + "total_count": 3, + "secrets": [ + { + "name": "GIST_ID", + "created_at": "2019-08-10T14:59:22Z", + "updated_at": "2020-01-10T14:59:22Z", + "visibility": "private" + }, + { + "name": "DEPLOY_TOKEN", + "created_at": "2019-08-10T14:59:22Z", + "updated_at": "2020-01-10T14:59:22Z", + "visibility": "all" + }, + { + "name": "GH_TOKEN", + "created_at": "2019-08-10T14:59:22Z", + "updated_at": "2020-01-10T14:59:22Z", + "visibility": "selected", + "selected_repositories_url": "https://api.github.com/orgs/octo-org/actions/secrets/SUPER_SECRET/repositories" + } + ] + } + }, + "actions-public-key": { + "value": { + "key_id": "012345678912345678", + "key": "2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234" + } + }, + "organization-actions-secret": { + "value": { + "name": "GH_TOKEN", + "created_at": "2019-08-10T14:59:22Z", + "updated_at": "2020-01-10T14:59:22Z", + "visibility": "selected", + "selected_repositories_url": "https://api.github.com/orgs/octo-org/actions/secrets/SUPER_SECRET/repositories" + } + }, + "public-repository-paginated": { + "value": { + "total_count": 1, + "repositories": [ + { + "id": 1296269, + "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", + "name": "Hello-World", + "full_name": "octocat/Hello-World", + "owner": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "private": false, + "html_url": "https://github.com/octocat/Hello-World", + "description": "This your first repo!", + "fork": false, + "url": "https://api.github.com/repos/octocat/Hello-World", + "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", + "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", + "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", + "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", + "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", + "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", + "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", + "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", + "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", + "events_url": "https://api.github.com/repos/octocat/Hello-World/events", + "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", + "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", + "git_url": "git:github.com/octocat/Hello-World.git", + "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", + "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", + "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", + "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", + "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", + "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", + "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", + "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", + "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", + "ssh_url": "git@github.com:octocat/Hello-World.git", + "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", + "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", + "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", + "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", + "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", + "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", + "hooks_url": "http://api.github.com/repos/octocat/Hello-World/hooks" + } + ] + } + }, + "simple-user-items": { + "value": [ + { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + } + ] + }, + "credential-authorization-items": { + "value": [ + { + "login": "octocat", + "credential_id": 161195, + "credential_type": "personal access token", + "token_last_eight": "71c3fc11", + "credential_authorized_at": "2011-01-26T19:06:43Z", + "scopes": ["user", "repo"] + }, + { + "login": "hubot", + "credential_id": 161196, + "credential_type": "personal access token", + "token_last_eight": "12345678", + "credential_authorized_at": "2019-03-29T19:06:43Z", + "scopes": ["repo"] + } + ] + }, + "org-hook-items": { + "value": [ + { + "id": 1, + "url": "https://api.github.com/orgs/octocat/hooks/1", + "ping_url": "https://api.github.com/orgs/octocat/hooks/1/pings", + "name": "web", + "events": ["push", "pull_request"], + "active": true, + "config": { "url": "http://example.com", "content_type": "json" }, + "updated_at": "2011-09-06T20:39:23Z", + "created_at": "2011-09-06T17:26:27Z", + "type": "Organization" + } + ] + }, + "org-hook": { + "value": { + "id": 1, + "url": "https://api.github.com/orgs/octocat/hooks/1", + "ping_url": "https://api.github.com/orgs/octocat/hooks/1/pings", + "name": "web", + "events": ["push", "pull_request"], + "active": true, + "config": { "url": "http://example.com", "content_type": "json" }, + "updated_at": "2011-09-06T20:39:23Z", + "created_at": "2011-09-06T17:26:27Z", + "type": "Organization" + } + }, + "org-hook-2": { + "value": { + "id": 1, + "url": "https://api.github.com/orgs/octocat/hooks/1", + "ping_url": "https://api.github.com/orgs/octocat/hooks/1/pings", + "name": "web", + "events": ["pull_request"], + "active": true, + "config": { "url": "http://example.com", "content_type": "json" }, + "updated_at": "2011-09-06T20:39:23Z", + "created_at": "2011-09-06T17:26:27Z", + "type": "Organization" + } + }, + "installation": { + "value": { + "id": 1, + "account": { + "login": "github", + "id": 1, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", + "avatar_url": "https://github.com/images/error/hubot_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/orgs/github", + "html_url": "https://github.com/github", + "followers_url": "https://api.github.com/users/github/followers", + "following_url": "https://api.github.com/users/github/following{/other_user}", + "gists_url": "https://api.github.com/users/github/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github/subscriptions", + "organizations_url": "https://api.github.com/users/github/orgs", + "repos_url": "https://api.github.com/orgs/github/repos", + "events_url": "https://api.github.com/orgs/github/events", + "received_events_url": "https://api.github.com/users/github/received_events", + "type": "Organization", + "site_admin": false + }, + "repository_selection": "all", + "access_tokens_url": "https://api.github.com/installations/1/access_tokens", + "repositories_url": "https://api.github.com/installation/repositories", + "html_url": "https://github.com/organizations/github/settings/installations/1", + "app_id": 1, + "target_id": 1, + "target_type": "Organization", + "permissions": { + "checks": "write", + "metadata": "read", + "contents": "read" + }, + "events": ["push", "pull_request"], + "created_at": "2018-02-09T20:51:14Z", + "updated_at": "2018-02-09T20:51:14Z", + "single_file_name": "config.yml", + "has_multiple_single_files": true, + "single_file_paths": ["config.yml", ".github/issue_TEMPLATE.md"], + "app_slug": "github-actions" + } + }, + "installation-paginated": { + "value": { + "total_count": 1, + "installations": [ + { + "id": 25381, + "account": { + "login": "octo-org", + "id": 6811672, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY4MTE2NzI=", + "avatar_url": "https://avatars3.githubusercontent.com/u/6811672?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/octo-org", + "html_url": "https://github.com/octo-org", + "followers_url": "https://api.github.com/users/octo-org/followers", + "following_url": "https://api.github.com/users/octo-org/following{/other_user}", + "gists_url": "https://api.github.com/users/octo-org/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octo-org/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octo-org/subscriptions", + "organizations_url": "https://api.github.com/users/octo-org/orgs", + "repos_url": "https://api.github.com/users/octo-org/repos", + "events_url": "https://api.github.com/users/octo-org/events{/privacy}", + "received_events_url": "https://api.github.com/users/octo-org/received_events", + "type": "Organization", + "site_admin": false + }, + "repository_selection": "selected", + "access_tokens_url": "https://api.github.com/app/installations/25381/access_tokens", + "repositories_url": "https://api.github.com/installation/repositories", + "html_url": "https://github.com/organizations/octo-org/settings/installations/25381", + "app_id": 2218, + "target_id": 6811672, + "target_type": "Organization", + "permissions": { + "deployments": "write", + "metadata": "read", + "pull_requests": "read", + "statuses": "read" + }, + "events": ["deployment", "deployment_status"], + "created_at": "2017-05-16T08:47:09.000-07:00", + "updated_at": "2017-06-06T11:23:23.000-07:00", + "single_file_name": "config.yml", + "has_multiple_single_files": true, + "single_file_paths": ["config.yml", ".github/issue_TEMPLATE.md"], + "app_slug": "github-actions" + } + ] + } + }, + "interaction-limit-response": { + "value": { + "limit": "collaborators_only", + "origin": "organization", + "expires_at": "2018-08-17T04:18:39Z" + } + }, + "organization-invitation-items": { + "value": [ + { + "id": 1, + "login": "monalisa", + "email": "octocat@github.com", + "role": "direct_member", + "created_at": "2016-11-30T06:46:10-08:00", + "inviter": { + "login": "other_user", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/other_user_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/other_user", + "html_url": "https://github.com/other_user", + "followers_url": "https://api.github.com/users/other_user/followers", + "following_url": "https://api.github.com/users/other_user/following{/other_user}", + "gists_url": "https://api.github.com/users/other_user/gists{/gist_id}", + "starred_url": "https://api.github.com/users/other_user/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/other_user/subscriptions", + "organizations_url": "https://api.github.com/users/other_user/orgs", + "repos_url": "https://api.github.com/users/other_user/repos", + "events_url": "https://api.github.com/users/other_user/events{/privacy}", + "received_events_url": "https://api.github.com/users/other_user/received_events", + "type": "User", + "site_admin": false + }, + "team_count": 2, + "invitation_team_url": "https://api.github.com/organizations/2/invitations/1/teams" + } + ] + }, + "organization-invitation": { + "value": { + "id": 1, + "login": "monalisa", + "email": "octocat@github.com", + "role": "direct_member", + "created_at": "2016-11-30T06:46:10-08:00", + "inviter": { + "login": "other_user", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/other_user_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/other_user", + "html_url": "https://github.com/other_user", + "followers_url": "https://api.github.com/users/other_user/followers", + "following_url": "https://api.github.com/users/other_user/following{/other_user}", + "gists_url": "https://api.github.com/users/other_user/gists{/gist_id}", + "starred_url": "https://api.github.com/users/other_user/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/other_user/subscriptions", + "organizations_url": "https://api.github.com/users/other_user/orgs", + "repos_url": "https://api.github.com/users/other_user/repos", + "events_url": "https://api.github.com/users/other_user/events{/privacy}", + "received_events_url": "https://api.github.com/users/other_user/received_events", + "type": "User", + "site_admin": false + }, + "team_count": 2, + "invitation_team_url": "https://api.github.com/organizations/2/invitations/1/teams" + } + }, + "team-items": { + "value": [ + { + "id": 1, + "node_id": "MDQ6VGVhbTE=", + "url": "https://api.github.com/teams/1", + "html_url": "https://api.github.com/teams/justice-league", + "name": "Justice League", + "slug": "justice-league", + "description": "A great team.", + "privacy": "closed", + "permission": "admin", + "members_url": "https://api.github.com/teams/1/members{/member}", + "repositories_url": "https://api.github.com/teams/1/repos", + "parent": null + } + ] + }, + "org-membership-response-if-user-has-an-active-admin-membership-with-organization": { + "summary": "Response if user has an active admin membership with organization", + "value": { + "url": "https://api.github.com/orgs/octocat/memberships/defunkt", + "state": "active", + "role": "admin", + "organization_url": "https://api.github.com/orgs/octocat", + "organization": { + "login": "github", + "id": 1, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", + "url": "https://api.github.com/orgs/github", + "repos_url": "https://api.github.com/orgs/github/repos", + "events_url": "https://api.github.com/orgs/github/events", + "hooks_url": "https://api.github.com/orgs/github/hooks", + "issues_url": "https://api.github.com/orgs/github/issues", + "members_url": "https://api.github.com/orgs/github/members{/member}", + "public_members_url": "https://api.github.com/orgs/github/public_members{/member}", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "description": "A great organization" + }, + "user": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + } + } + }, + "org-membership-response-if-user-has-an-active-membership-with-organization": { + "summary": "Response if user has an active membership with organization", + "value": { + "url": "https://api.github.com/orgs/octocat/memberships/defunkt", + "state": "active", + "role": "member", + "organization_url": "https://api.github.com/orgs/octocat", + "organization": { + "login": "github", + "id": 1, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", + "url": "https://api.github.com/orgs/github", + "repos_url": "https://api.github.com/orgs/github/repos", + "events_url": "https://api.github.com/orgs/github/events", + "hooks_url": "https://api.github.com/orgs/github/hooks", + "issues_url": "https://api.github.com/orgs/github/issues", + "members_url": "https://api.github.com/orgs/github/members{/member}", + "public_members_url": "https://api.github.com/orgs/github/public_members{/member}", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "description": "A great organization" + }, + "user": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + } + } + }, + "org-membership-response-if-user-has-a-pending-membership-with-organization": { + "summary": "Response if user has a pending membership with organization", + "value": { + "url": "https://api.github.com/orgs/invitocat/memberships/defunkt", + "state": "pending", + "role": "member", + "organization_url": "https://api.github.com/orgs/invitocat", + "organization": { + "login": "github", + "id": 1, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", + "url": "https://api.github.com/orgs/github", + "repos_url": "https://api.github.com/orgs/github/repos", + "events_url": "https://api.github.com/orgs/github/events", + "hooks_url": "https://api.github.com/orgs/github/hooks", + "issues_url": "https://api.github.com/orgs/github/issues", + "members_url": "https://api.github.com/orgs/github/members{/member}", + "public_members_url": "https://api.github.com/orgs/github/public_members{/member}", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "description": "A great organization" + }, + "user": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + } + } + }, + "org-membership-response-if-user-was-previously-unaffiliated-with-organization": { + "summary": "Response if user was previously unaffiliated with organization", + "value": { + "url": "https://api.github.com/orgs/invitocat/memberships/defunkt", + "state": "pending", + "role": "admin", + "organization_url": "https://api.github.com/orgs/invitocat", + "organization": { + "login": "github", + "id": 1, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", + "url": "https://api.github.com/orgs/github", + "repos_url": "https://api.github.com/orgs/github/repos", + "events_url": "https://api.github.com/orgs/github/events", + "hooks_url": "https://api.github.com/orgs/github/hooks", + "issues_url": "https://api.github.com/orgs/github/issues", + "members_url": "https://api.github.com/orgs/github/members{/member}", + "public_members_url": "https://api.github.com/orgs/github/public_members{/member}", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "description": "A great organization" + }, + "user": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + } + } + }, + "org-membership-response-if-user-already-had-membership-with-organization": { + "summary": "Response if user already had membership with organization", + "value": { + "url": "https://api.github.com/orgs/octocat/memberships/defunkt", + "state": "active", + "role": "admin", + "organization_url": "https://api.github.com/orgs/octocat", + "organization": { + "login": "github", + "id": 1, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", + "url": "https://api.github.com/orgs/github", + "repos_url": "https://api.github.com/orgs/github/repos", + "events_url": "https://api.github.com/orgs/github/events", + "hooks_url": "https://api.github.com/orgs/github/hooks", + "issues_url": "https://api.github.com/orgs/github/issues", + "members_url": "https://api.github.com/orgs/github/members{/member}", + "public_members_url": "https://api.github.com/orgs/github/public_members{/member}", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "description": "A great organization" + }, + "user": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + } + } + }, + "migration-with-short-org-items": { + "value": [ + { + "id": 79, + "owner": { + "login": "github", + "id": 1, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", + "url": "https://api.github.com/orgs/github", + "repos_url": "https://api.github.com/orgs/github/repos", + "events_url": "https://api.github.com/orgs/github/events", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": true + }, + "guid": "0b989ba4-242f-11e5-81e1-c7b6966d2516", + "state": "pending", + "lock_repositories": true, + "exclude_attachments": false, + "repositories": [ + { + "id": 1296269, + "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", + "name": "Hello-World", + "full_name": "octocat/Hello-World", + "owner": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "private": false, + "html_url": "https://github.com/octocat/Hello-World", + "description": "This your first repo!", + "fork": false, + "url": "https://api.github.com/repos/octocat/Hello-World", + "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", + "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", + "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", + "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", + "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", + "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", + "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", + "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", + "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", + "events_url": "https://api.github.com/repos/octocat/Hello-World/events", + "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", + "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", + "git_url": "git:github.com/octocat/Hello-World.git", + "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", + "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", + "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", + "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", + "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", + "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", + "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", + "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", + "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", + "ssh_url": "git@github.com:octocat/Hello-World.git", + "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", + "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", + "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", + "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", + "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", + "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", + "clone_url": "https://github.com/octocat/Hello-World.git", + "mirror_url": "git:git.example.com/octocat/Hello-World", + "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", + "svn_url": "https://svn.github.com/octocat/Hello-World", + "homepage": "https://github.com", + "language": null, + "forks_count": 9, + "stargazers_count": 80, + "watchers_count": 80, + "size": 108, + "default_branch": "master", + "open_issues_count": 0, + "is_template": true, + "topics": ["octocat", "atom", "electron", "api"], + "has_issues": true, + "has_projects": true, + "has_wiki": true, + "has_pages": false, + "has_downloads": true, + "archived": false, + "disabled": false, + "visibility": "public", + "pushed_at": "2011-01-26T19:06:43Z", + "created_at": "2011-01-26T19:01:12Z", + "updated_at": "2011-01-26T19:14:43Z", + "permissions": { "admin": false, "push": false, "pull": true }, + "allow_rebase_merge": true, + "template_repository": null, + "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", + "allow_squash_merge": true, + "delete_branch_on_merge": true, + "allow_merge_commit": true, + "subscribers_count": 42, + "network_count": 0, + "license": { + "key": "mit", + "name": "MIT License", + "url": "https://api.github.com/licenses/mit", + "spdx_id": "MIT", + "node_id": "MDc6TGljZW5zZW1pdA==", + "html_url": "https://api.github.com/licenses/mit" + }, + "forks": 1, + "open_issues": 1, + "watchers": 1 + } + ], + "url": "https://api.github.com/orgs/octo-org/migrations/79", + "created_at": "2015-07-06T15:33:38-07:00", + "updated_at": "2015-07-06T15:33:38-07:00", + "node_id": "MDQ6VXNlcjE=" + } + ] + }, + "migration-with-short-org-2": { + "value": { + "id": 79, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", + "owner": { + "login": "github", + "id": 1, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", + "url": "https://api.github.com/orgs/github", + "repos_url": "https://api.github.com/orgs/github/repos", + "events_url": "https://api.github.com/orgs/github/events", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": true + }, + "guid": "0b989ba4-242f-11e5-81e1-c7b6966d2516", + "state": "pending", + "lock_repositories": true, + "exclude_attachments": false, + "repositories": [ + { + "id": 1296269, + "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", + "name": "Hello-World", + "full_name": "octocat/Hello-World", + "owner": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "private": false, + "html_url": "https://github.com/octocat/Hello-World", + "description": "This your first repo!", + "fork": false, + "url": "https://api.github.com/repos/octocat/Hello-World", + "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", + "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", + "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", + "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", + "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", + "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", + "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", + "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", + "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", + "events_url": "https://api.github.com/repos/octocat/Hello-World/events", + "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", + "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", + "git_url": "git:github.com/octocat/Hello-World.git", + "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", + "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", + "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", + "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", + "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", + "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", + "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", + "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", + "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", + "ssh_url": "git@github.com:octocat/Hello-World.git", + "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", + "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", + "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", + "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", + "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", + "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", + "clone_url": "https://github.com/octocat/Hello-World.git", + "mirror_url": "git:git.example.com/octocat/Hello-World", + "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", + "svn_url": "https://svn.github.com/octocat/Hello-World", + "homepage": "https://github.com", + "language": null, + "forks_count": 9, + "stargazers_count": 80, + "watchers_count": 80, + "size": 108, + "default_branch": "master", + "open_issues_count": 0, + "is_template": true, + "topics": ["octocat", "atom", "electron", "api"], + "has_issues": true, + "has_projects": true, + "has_wiki": true, + "has_pages": false, + "has_downloads": true, + "archived": false, + "disabled": false, + "visibility": "public", + "pushed_at": "2011-01-26T19:06:43Z", + "created_at": "2011-01-26T19:01:12Z", + "updated_at": "2011-01-26T19:14:43Z", + "permissions": { "admin": false, "push": false, "pull": true }, + "allow_rebase_merge": true, + "template_repository": null, + "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", + "allow_squash_merge": true, + "delete_branch_on_merge": true, + "allow_merge_commit": true, + "subscribers_count": 42, + "network_count": 0, + "license": { + "key": "mit", + "name": "MIT License", + "url": "https://api.github.com/licenses/mit", + "spdx_id": "MIT", + "node_id": "MDc6TGljZW5zZW1pdA==", + "html_url": "https://api.github.com/licenses/mit" + }, + "forks": 1, + "open_issues": 1, + "watchers": 1 + } + ], + "url": "https://api.github.com/orgs/octo-org/migrations/79", + "created_at": "2015-07-06T15:33:38-07:00", + "updated_at": "2015-07-06T15:33:38-07:00" + } + }, + "migration-with-short-org": { + "value": { + "id": 79, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", + "owner": { + "login": "github", + "id": 1, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", + "url": "https://api.github.com/orgs/github", + "repos_url": "https://api.github.com/orgs/github/repos", + "events_url": "https://api.github.com/orgs/github/events", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": true + }, + "guid": "0b989ba4-242f-11e5-81e1-c7b6966d2516", + "state": "exported", + "lock_repositories": true, + "exclude_attachments": false, + "repositories": [ + { + "id": 1296269, + "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", + "name": "Hello-World", + "full_name": "octocat/Hello-World", + "owner": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "private": false, + "html_url": "https://github.com/octocat/Hello-World", + "description": "This your first repo!", + "fork": false, + "url": "https://api.github.com/repos/octocat/Hello-World", + "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", + "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", + "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", + "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", + "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", + "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", + "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", + "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", + "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", + "events_url": "https://api.github.com/repos/octocat/Hello-World/events", + "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", + "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", + "git_url": "git:github.com/octocat/Hello-World.git", + "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", + "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", + "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", + "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", + "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", + "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", + "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", + "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", + "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", + "ssh_url": "git@github.com:octocat/Hello-World.git", + "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", + "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", + "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", + "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", + "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", + "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", + "clone_url": "https://github.com/octocat/Hello-World.git", + "mirror_url": "git:git.example.com/octocat/Hello-World", + "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", + "svn_url": "https://svn.github.com/octocat/Hello-World", + "homepage": "https://github.com", + "language": null, + "forks_count": 9, + "stargazers_count": 80, + "watchers_count": 80, + "size": 108, + "default_branch": "master", + "open_issues_count": 0, + "is_template": true, + "topics": ["octocat", "atom", "electron", "api"], + "has_issues": true, + "has_projects": true, + "has_wiki": true, + "has_pages": false, + "has_downloads": true, + "archived": false, + "disabled": false, + "visibility": "public", + "pushed_at": "2011-01-26T19:06:43Z", + "created_at": "2011-01-26T19:01:12Z", + "updated_at": "2011-01-26T19:14:43Z", + "permissions": { "admin": false, "push": false, "pull": true }, + "allow_rebase_merge": true, + "template_repository": null, + "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", + "allow_squash_merge": true, + "delete_branch_on_merge": true, + "allow_merge_commit": true, + "subscribers_count": 42, + "network_count": 0, + "license": { + "key": "mit", + "name": "MIT License", + "url": "https://api.github.com/licenses/mit", + "spdx_id": "MIT", + "node_id": "MDc6TGljZW5zZW1pdA==", + "html_url": "https://api.github.com/licenses/mit" + }, + "forks": 1, + "open_issues": 1, + "watchers": 1 + } + ], + "url": "https://api.github.com/orgs/octo-org/migrations/79", + "created_at": "2015-07-06T15:33:38-07:00", + "updated_at": "2015-07-06T15:33:38-07:00" + } + }, + "minimal-repository-items": { + "value": [ + { + "id": 1296269, + "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", + "name": "Hello-World", + "full_name": "octocat/Hello-World", + "owner": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "private": false, + "html_url": "https://github.com/octocat/Hello-World", + "description": "This your first repo!", + "fork": false, + "url": "https://api.github.com/repos/octocat/Hello-World", + "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", + "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", + "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", + "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", + "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", + "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", + "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", + "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", + "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", + "events_url": "https://api.github.com/repos/octocat/Hello-World/events", + "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", + "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", + "git_url": "git:github.com/octocat/Hello-World.git", + "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", + "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", + "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", + "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", + "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", + "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", + "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", + "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", + "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", + "ssh_url": "git@github.com:octocat/Hello-World.git", + "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", + "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", + "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", + "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", + "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", + "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", + "clone_url": "https://github.com/octocat/Hello-World.git", + "mirror_url": "git:git.example.com/octocat/Hello-World", + "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", + "svn_url": "https://svn.github.com/octocat/Hello-World", + "homepage": "https://github.com", + "language": null, + "forks_count": 9, + "stargazers_count": 80, + "watchers_count": 80, + "size": 108, + "default_branch": "master", + "open_issues_count": 0, + "is_template": true, + "topics": ["octocat", "atom", "electron", "api"], + "has_issues": true, + "has_projects": true, + "has_wiki": true, + "has_pages": false, + "has_downloads": true, + "archived": false, + "disabled": false, + "visibility": "public", + "pushed_at": "2011-01-26T19:06:43Z", + "created_at": "2011-01-26T19:01:12Z", + "updated_at": "2011-01-26T19:14:43Z", + "permissions": { "admin": false, "push": false, "pull": true }, + "template_repository": "octocat/template", + "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", + "delete_branch_on_merge": true, + "subscribers_count": 42, + "network_count": 0, + "license": { + "key": "mit", + "name": "MIT License", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit", + "node_id": "MDc6TGljZW5zZW1pdA==" + } + } + ] + }, + "project-items": { + "value": [ + { + "owner_url": "https://api.github.com/orgs/octocat", + "url": "https://api.github.com/projects/1002605", + "html_url": "https://github.com/orgs/api-playground/projects/1", + "columns_url": "https://api.github.com/projects/1002605/columns", + "id": 1002605, + "node_id": "MDc6UHJvamVjdDEwMDI2MDU=", + "name": "Organization Roadmap", + "body": "High-level roadmap for the upcoming year.", + "number": 1, + "state": "open", + "creator": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "created_at": "2011-04-11T20:09:31Z", + "updated_at": "2014-03-04T18:58:10Z" + } + ] + }, + "project-2": { + "value": { + "owner_url": "https://api.github.com/orgs/octocat", + "url": "https://api.github.com/projects/1002605", + "html_url": "https://github.com/orgs/api-playground/projects/1", + "columns_url": "https://api.github.com/projects/1002605/columns", + "id": 1002605, + "node_id": "MDc6UHJvamVjdDEwMDI2MDU=", + "name": "Organization Roadmap", + "body": "High-level roadmap for the upcoming year.", + "number": 1, + "state": "open", + "creator": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "created_at": "2011-04-11T20:09:31Z", + "updated_at": "2014-03-04T18:58:10Z" + } + }, + "repository": { + "value": { + "id": 1296269, + "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", + "name": "Hello-World", + "full_name": "octocat/Hello-World", + "owner": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "private": false, + "html_url": "https://github.com/octocat/Hello-World", + "description": "This your first repo!", + "fork": false, + "url": "https://api.github.com/repos/octocat/Hello-World", + "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", + "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", + "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", + "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", + "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", + "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", + "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", + "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", + "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", + "events_url": "https://api.github.com/repos/octocat/Hello-World/events", + "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", + "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", + "git_url": "git:github.com/octocat/Hello-World.git", + "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", + "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", + "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", + "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", + "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", + "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", + "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", + "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", + "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", + "ssh_url": "git@github.com:octocat/Hello-World.git", + "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", + "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", + "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", + "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", + "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", + "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", + "clone_url": "https://github.com/octocat/Hello-World.git", + "mirror_url": "git:git.example.com/octocat/Hello-World", + "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", + "svn_url": "https://svn.github.com/octocat/Hello-World", + "homepage": "https://github.com", + "language": null, + "forks": 9, + "forks_count": 9, + "stargazers_count": 80, + "watchers_count": 80, + "watchers": 80, + "size": 108, + "default_branch": "master", + "open_issues": 0, + "open_issues_count": 0, + "is_template": true, + "license": { + "key": "mit", + "name": "MIT License", + "url": "https://api.github.com/licenses/mit", + "spdx_id": "MIT", + "node_id": "MDc6TGljZW5zZW1pdA==", + "html_url": "https://api.github.com/licenses/mit" + }, + "topics": ["octocat", "atom", "electron", "api"], + "has_issues": true, + "has_projects": true, + "has_wiki": true, + "has_pages": false, + "has_downloads": true, + "archived": false, + "disabled": false, + "visibility": "public", + "pushed_at": "2011-01-26T19:06:43Z", + "created_at": "2011-01-26T19:01:12Z", + "updated_at": "2011-01-26T19:14:43Z", + "permissions": { "admin": false, "push": false, "pull": true }, + "allow_rebase_merge": true, + "template_repository": null, + "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", + "allow_squash_merge": true, + "delete_branch_on_merge": true, + "allow_merge_commit": true, + "subscribers_count": 42, + "network_count": 0 + } + }, + "group-mapping-3": { + "value": { + "groups": [ + { + "group_id": "123", + "group_name": "Octocat admins", + "group_description": "The people who configure your octoworld." + }, + { + "group_id": "456", + "group_name": "Octocat docs members", + "group_description": "The people who make your octoworld come to life." + } + ] + } + }, + "team-full": { + "value": { + "id": 1, + "node_id": "MDQ6VGVhbTE=", + "url": "https://api.github.com/teams/1", + "html_url": "https://api.github.com/teams/justice-league", + "name": "Justice League", + "slug": "justice-league", + "description": "A great team.", + "privacy": "closed", + "permission": "admin", + "members_url": "https://api.github.com/teams/1/members{/member}", + "repositories_url": "https://api.github.com/teams/1/repos", + "parent": null, + "members_count": 3, + "repos_count": 10, + "created_at": "2017-07-14T16:53:42Z", + "updated_at": "2017-08-17T12:37:15Z", + "organization": { + "login": "github", + "id": 1, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", + "url": "https://api.github.com/orgs/github", + "repos_url": "https://api.github.com/orgs/github/repos", + "events_url": "https://api.github.com/orgs/github/events", + "hooks_url": "https://api.github.com/orgs/github/hooks", + "issues_url": "https://api.github.com/orgs/github/issues", + "members_url": "https://api.github.com/orgs/github/members{/member}", + "public_members_url": "https://api.github.com/orgs/github/public_members{/member}", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "description": "A great organization", + "name": "github", + "company": "GitHub", + "blog": "https://github.com/blog", + "location": "San Francisco", + "email": "octocat@github.com", + "is_verified": true, + "has_organization_projects": true, + "has_repository_projects": true, + "public_repos": 2, + "public_gists": 1, + "followers": 20, + "following": 0, + "html_url": "https://github.com/octocat", + "created_at": "2008-01-14T04:33:35Z", + "updated_at": "2017-08-17T12:37:15Z", + "type": "Organization" + } + } + }, + "team-discussion-items": { + "value": [ + { + "author": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "body": "Hi! This is an area for us to collaborate as a team.", + "body_html": "

Hi! This is an area for us to collaborate as a team

", + "body_version": "0d495416a700fb06133c612575d92bfb", + "comments_count": 0, + "comments_url": "https://api.github.com/teams/2343027/discussions/1/comments", + "created_at": "2018-01-25T18:56:31Z", + "last_edited_at": null, + "html_url": "https://github.com/orgs/github/teams/justice-league/discussions/1", + "node_id": "MDE0OlRlYW1EaXNjdXNzaW9uMQ==", + "number": 1, + "pinned": false, + "private": false, + "team_url": "https://api.github.com/teams/2343027", + "title": "Our first team post", + "updated_at": "2018-01-25T18:56:31Z", + "url": "https://api.github.com/teams/2343027/discussions/1", + "reactions": { + "url": "https://api.github.com/teams/2343027/discussions/1/reactions", + "total_count": 5, + "+1": 3, + "-1": 1, + "laugh": 0, + "confused": 0, + "heart": 1, + "hooray": 0, + "eyes": 1, + "rocket": 1 + } + } + ] + }, + "team-discussion": { + "value": { + "author": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "body": "Hi! This is an area for us to collaborate as a team.", + "body_html": "

Hi! This is an area for us to collaborate as a team

", + "body_version": "0d495416a700fb06133c612575d92bfb", + "comments_count": 0, + "comments_url": "https://api.github.com/teams/2343027/discussions/1/comments", + "created_at": "2018-01-25T18:56:31Z", + "last_edited_at": null, + "html_url": "https://github.com/orgs/github/teams/justice-league/discussions/1", + "node_id": "MDE0OlRlYW1EaXNjdXNzaW9uMQ==", + "number": 1, + "pinned": false, + "private": false, + "team_url": "https://api.github.com/teams/2343027", + "title": "Our first team post", + "updated_at": "2018-01-25T18:56:31Z", + "url": "https://api.github.com/teams/2343027/discussions/1", + "reactions": { + "url": "https://api.github.com/teams/2343027/discussions/1/reactions", + "total_count": 5, + "+1": 3, + "-1": 1, + "laugh": 0, + "confused": 0, + "heart": 1, + "hooray": 0, + "eyes": 1, + "rocket": 1 + } + } + }, + "team-discussion-2": { + "value": { + "author": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "body": "Hi! This is an area for us to collaborate as a team.", + "body_html": "

Hi! This is an area for us to collaborate as a team

", + "body_version": "0d495416a700fb06133c612575d92bfb", + "comments_count": 1, + "comments_url": "https://api.github.com/teams/2343027/discussions/1/comments", + "created_at": "2018-01-25T18:56:31Z", + "last_edited_at": "2018-01-26T18:22:20Z", + "html_url": "https://github.com/orgs/github/teams/justice-league/discussions/1", + "node_id": "MDE0OlRlYW1EaXNjdXNzaW9uMQ==", + "number": 1, + "pinned": false, + "private": false, + "team_url": "https://api.github.com/teams/2343027", + "title": "Welcome to our first team post", + "updated_at": "2018-01-26T18:22:20Z", + "url": "https://api.github.com/teams/2343027/discussions/1", + "reactions": { + "url": "https://api.github.com/teams/2343027/discussions/1/reactions", + "total_count": 5, + "+1": 3, + "-1": 1, + "laugh": 0, + "confused": 0, + "heart": 1, + "hooray": 0, + "eyes": 1, + "rocket": 1 + } + } + }, + "team-discussion-comment-items": { + "value": [ + { + "author": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "body": "Do you like apples?", + "body_html": "

Do you like apples?

", + "body_version": "5eb32b219cdc6a5a9b29ba5d6caa9c51", + "created_at": "2018-01-15T23:53:58Z", + "last_edited_at": null, + "discussion_url": "https://api.github.com/teams/2403582/discussions/1", + "html_url": "https://github.com/orgs/github/teams/justice-league/discussions/1/comments/1", + "node_id": "MDIxOlRlYW1EaXNjdXNzaW9uQ29tbWVudDE=", + "number": 1, + "updated_at": "2018-01-15T23:53:58Z", + "url": "https://api.github.com/teams/2403582/discussions/1/comments/1", + "reactions": { + "url": "https://api.github.com/teams/2403582/discussions/1/reactions", + "total_count": 5, + "+1": 3, + "-1": 1, + "laugh": 0, + "confused": 0, + "heart": 1, + "hooray": 0, + "eyes": 1, + "rocket": 1 + } + } + ] + }, + "team-discussion-comment": { + "value": { + "author": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "body": "Do you like apples?", + "body_html": "

Do you like apples?

", + "body_version": "5eb32b219cdc6a5a9b29ba5d6caa9c51", + "created_at": "2018-01-15T23:53:58Z", + "last_edited_at": null, + "discussion_url": "https://api.github.com/teams/2403582/discussions/1", + "html_url": "https://github.com/orgs/github/teams/justice-league/discussions/1/comments/1", + "node_id": "MDIxOlRlYW1EaXNjdXNzaW9uQ29tbWVudDE=", + "number": 1, + "updated_at": "2018-01-15T23:53:58Z", + "url": "https://api.github.com/teams/2403582/discussions/1/comments/1", + "reactions": { + "url": "https://api.github.com/teams/2403582/discussions/1/reactions", + "total_count": 5, + "+1": 3, + "-1": 1, + "laugh": 0, + "confused": 0, + "heart": 1, + "hooray": 0, + "eyes": 1, + "rocket": 1 + } + } + }, + "team-discussion-comment-2": { + "value": { + "author": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "body": "Do you like pineapples?", + "body_html": "

Do you like pineapples?

", + "body_version": "e6907b24d9c93cc0c5024a7af5888116", + "created_at": "2018-01-15T23:53:58Z", + "last_edited_at": "2018-01-26T18:22:20Z", + "discussion_url": "https://api.github.com/teams/2403582/discussions/1", + "html_url": "https://github.com/orgs/github/teams/justice-league/discussions/1/comments/1", + "node_id": "MDIxOlRlYW1EaXNjdXNzaW9uQ29tbWVudDE=", + "number": 1, + "updated_at": "2018-01-26T18:22:20Z", + "url": "https://api.github.com/teams/2403582/discussions/1/comments/1", + "reactions": { + "url": "https://api.github.com/teams/2403582/discussions/1/reactions", + "total_count": 5, + "+1": 3, + "-1": 1, + "laugh": 0, + "confused": 0, + "heart": 1, + "hooray": 0, + "eyes": 1, + "rocket": 1 + } + } + }, + "reaction-items": { + "value": [ + { + "id": 1, + "node_id": "MDg6UmVhY3Rpb24x", + "user": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "content": "heart", + "created_at": "2016-05-20T20:09:31Z" + } + ] + }, + "reaction": { + "value": { + "id": 1, + "node_id": "MDg6UmVhY3Rpb24x", + "user": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "content": "heart", + "created_at": "2016-05-20T20:09:31Z" + } + }, + "team-membership-response-if-user-has-an-active-membership-with-team": { + "summary": "Response if user has an active membership with team", + "value": { + "url": "https://api.github.com/teams/1/memberships/octocat", + "role": "member", + "state": "active" + } + }, + "team-membership-response-if-user-is-a-team-maintainer": { + "summary": "Response if user is a team maintainer", + "value": { + "url": "https://api.github.com/teams/1/memberships/octocat", + "role": "maintainer", + "state": "active" + } + }, + "team-membership-response-if-user-has-a-pending-membership-with-team": { + "summary": "Response if user has a pending membership with team", + "value": { + "url": "https://api.github.com/teams/1/memberships/octocat", + "role": "member", + "state": "pending" + } + }, + "team-membership-response-if-users-membership-with-team-is-now-active": { + "summary": "Response if user's membership with team is now active", + "value": { + "url": "https://api.github.com/teams/1/memberships/octocat", + "role": "member", + "state": "active" + } + }, + "team-membership-response-if-users-membership-with-team-is-now-pending": { + "summary": "Response if user's membership with team is now pending", + "value": { + "url": "https://api.github.com/teams/1/memberships/octocat", + "role": "member", + "state": "pending" + } + }, + "team-project-items": { + "value": [ + { + "owner_url": "https://api.github.com/orgs/octocat", + "url": "https://api.github.com/projects/1002605", + "html_url": "https://github.com/orgs/api-playground/projects/1", + "columns_url": "https://api.github.com/projects/1002605/columns", + "id": 1002605, + "node_id": "MDc6UHJvamVjdDEwMDI2MDU=", + "name": "Organization Roadmap", + "body": "High-level roadmap for the upcoming year.", + "number": 1, + "state": "open", + "creator": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "created_at": "2011-04-11T20:09:31Z", + "updated_at": "2014-03-04T18:58:10Z", + "organization_permission": "write", + "private": false, + "permissions": { "read": true, "write": true, "admin": false } + } + ] + }, + "team-project": { + "value": { + "owner_url": "https://api.github.com/orgs/octocat", + "url": "https://api.github.com/projects/1002605", + "html_url": "https://github.com/orgs/api-playground/projects/1", + "columns_url": "https://api.github.com/projects/1002605/columns", + "id": 1002605, + "node_id": "MDc6UHJvamVjdDEwMDI2MDU=", + "name": "Organization Roadmap", + "body": "High-level roadmap for the upcoming year.", + "number": 1, + "state": "open", + "creator": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "created_at": "2011-04-11T20:09:31Z", + "updated_at": "2014-03-04T18:58:10Z", + "organization_permission": "write", + "private": false, + "permissions": { "read": true, "write": true, "admin": false } + } + }, + "team-repository-alternative-response-with-repository-permissions": { + "value": { + "id": 1296269, + "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", + "name": "Hello-World", + "full_name": "octocat/Hello-World", + "owner": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "private": false, + "html_url": "https://github.com/octocat/Hello-World", + "description": "This your first repo!", + "fork": false, + "url": "https://api.github.com/repos/octocat/Hello-World", + "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", + "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", + "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", + "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", + "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", + "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", + "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", + "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", + "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", + "events_url": "https://api.github.com/repos/octocat/Hello-World/events", + "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", + "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", + "git_url": "git:github.com/octocat/Hello-World.git", + "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", + "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", + "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", + "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", + "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", + "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", + "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", + "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", + "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", + "ssh_url": "git@github.com:octocat/Hello-World.git", + "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", + "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", + "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", + "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", + "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", + "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", + "clone_url": "https://github.com/octocat/Hello-World.git", + "mirror_url": "git:git.example.com/octocat/Hello-World", + "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", + "svn_url": "https://svn.github.com/octocat/Hello-World", + "homepage": "https://github.com", + "language": null, + "forks_count": 9, + "stargazers_count": 80, + "watchers_count": 80, + "size": 108, + "default_branch": "master", + "open_issues_count": 0, + "is_template": true, + "topics": ["octocat", "atom", "electron", "api"], + "has_issues": true, + "has_projects": true, + "has_wiki": true, + "has_pages": false, + "has_downloads": true, + "archived": false, + "disabled": false, + "visibility": "public", + "pushed_at": "2011-01-26T19:06:43Z", + "created_at": "2011-01-26T19:01:12Z", + "updated_at": "2011-01-26T19:14:43Z", + "permissions": { "admin": false, "push": false, "pull": true }, + "allow_rebase_merge": true, + "template_repository": null, + "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", + "allow_squash_merge": true, + "delete_branch_on_merge": true, + "allow_merge_commit": true, + "subscribers_count": 42, + "network_count": 0, + "license": { + "key": "mit", + "name": "MIT License", + "url": "https://api.github.com/licenses/mit", + "spdx_id": "MIT", + "node_id": "MDc6TGljZW5zZW1pdA==", + "html_url": "https://api.github.com/licenses/mit" + }, + "forks": 1, + "open_issues": 1, + "watchers": 1 + } + }, + "group-mapping": { + "value": { + "groups": [ + { + "group_id": "123", + "group_name": "Octocat admins", + "group_description": "The people who configure your octoworld." + }, + { + "group_id": "456", + "group_name": "Octocat docs members", + "group_description": "The people who make your octoworld come to life." + } + ] + } + }, + "team-items-response-if-child-teams-exist": { + "value": [ + { + "id": 2, + "node_id": "MDQ6VGVhbTI=", + "url": "https://api.github.com/teams/2", + "name": "Original Roster", + "slug": "original-roster", + "description": "Started it all.", + "privacy": "closed", + "permission": "admin", + "members_url": "https://api.github.com/teams/2/members{/member}", + "repositories_url": "https://api.github.com/teams/2/repos", + "parent": { + "id": 1, + "node_id": "MDQ6VGVhbTE=", + "url": "https://api.github.com/teams/1", + "html_url": "https://api.github.com/teams/justice-league", + "name": "Justice League", + "slug": "justice-league", + "description": "A great team.", + "privacy": "closed", + "permission": "admin", + "members_url": "https://api.github.com/teams/1/members{/member}", + "repositories_url": "https://api.github.com/teams/1/repos" + }, + "html_url": "https://github.com/orgs/rails/teams/core" + } + ] + }, + "project-card": { + "value": { + "url": "https://api.github.com/projects/columns/cards/1478", + "id": 1478, + "node_id": "MDExOlByb2plY3RDYXJkMTQ3OA==", + "note": "Add payload for delete Project column", + "creator": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "created_at": "2016-09-05T14:21:06Z", + "updated_at": "2016-09-05T14:20:22Z", + "archived": false, + "column_url": "https://api.github.com/projects/columns/367", + "content_url": "https://api.github.com/repos/api-playground/projects-test/issues/3", + "project_url": "https://api.github.com/projects/120" + } + }, + "project-column": { + "value": { + "url": "https://api.github.com/projects/columns/367", + "project_url": "https://api.github.com/projects/120", + "cards_url": "https://api.github.com/projects/columns/367/cards", + "id": 367, + "node_id": "MDEzOlByb2plY3RDb2x1bW4zNjc=", + "name": "To Do", + "created_at": "2016-09-05T14:18:44Z", + "updated_at": "2016-09-05T14:22:28Z" + } + }, + "project-card-items": { + "value": [ + { + "url": "https://api.github.com/projects/columns/cards/1478", + "id": 1478, + "node_id": "MDExOlByb2plY3RDYXJkMTQ3OA==", + "note": "Add payload for delete Project column", + "creator": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "created_at": "2016-09-05T14:21:06Z", + "updated_at": "2016-09-05T14:20:22Z", + "archived": false, + "column_url": "https://api.github.com/projects/columns/367", + "content_url": "https://api.github.com/repos/api-playground/projects-test/issues/3", + "project_url": "https://api.github.com/projects/120" + } + ] + }, + "project-3": { + "value": { + "owner_url": "https://api.github.com/repos/api-playground/projects-test", + "url": "https://api.github.com/projects/1002604", + "html_url": "https://github.com/api-playground/projects-test/projects/1", + "columns_url": "https://api.github.com/projects/1002604/columns", + "id": 1002604, + "node_id": "MDc6UHJvamVjdDEwMDI2MDQ=", + "name": "Projects Documentation", + "body": "Developer documentation project for the developer site.", + "number": 1, + "state": "open", + "creator": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "created_at": "2011-04-10T20:09:31Z", + "updated_at": "2014-03-03T18:58:10Z" + } + }, + "repository-collaborator-permission": { + "value": { + "permission": "admin", + "user": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + } + } + }, + "project-column-items": { + "value": [ + { + "url": "https://api.github.com/projects/columns/367", + "project_url": "https://api.github.com/projects/120", + "cards_url": "https://api.github.com/projects/columns/367/cards", + "id": 367, + "node_id": "MDEzOlByb2plY3RDb2x1bW4zNjc=", + "name": "To Do", + "created_at": "2016-09-05T14:18:44Z", + "updated_at": "2016-09-05T14:22:28Z" + } + ] + }, + "rate-limit-overview": { + "value": { + "resources": { + "core": { "limit": 5000, "remaining": 4999, "reset": 1372700873 }, + "search": { "limit": 30, "remaining": 18, "reset": 1372697452 }, + "graphql": { + "limit": 5000, + "remaining": 4993, + "reset": 1372700389 + }, + "integration_manifest": { + "limit": 5000, + "remaining": 4999, + "reset": 1551806725 + }, + "code_scanning_upload": { + "limit": 500, + "remaining": 499, + "reset": 1551806725 + } + }, + "rate": { "limit": 5000, "remaining": 4999, "reset": 1372700873 } + } + }, + "full-repository-default-response": { + "summary": "Default response", + "value": { + "id": 1296269, + "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", + "name": "Hello-World", + "full_name": "octocat/Hello-World", + "owner": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "private": false, + "html_url": "https://github.com/octocat/Hello-World", + "description": "This your first repo!", + "fork": false, + "url": "https://api.github.com/repos/octocat/Hello-World", + "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", + "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", + "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", + "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", + "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", + "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", + "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", + "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", + "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", + "events_url": "https://api.github.com/repos/octocat/Hello-World/events", + "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", + "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", + "git_url": "git:github.com/octocat/Hello-World.git", + "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", + "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", + "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", + "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", + "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", + "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", + "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", + "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", + "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", + "ssh_url": "git@github.com:octocat/Hello-World.git", + "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", + "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", + "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", + "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", + "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", + "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", + "clone_url": "https://github.com/octocat/Hello-World.git", + "mirror_url": "git:git.example.com/octocat/Hello-World", + "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", + "svn_url": "https://svn.github.com/octocat/Hello-World", + "homepage": "https://github.com", + "language": null, + "forks_count": 9, + "forks": 9, + "stargazers_count": 80, + "watchers_count": 80, + "watchers": 80, + "size": 108, + "default_branch": "master", + "open_issues_count": 0, + "open_issues": 0, + "is_template": true, + "topics": ["octocat", "atom", "electron", "api"], + "has_issues": true, + "has_projects": true, + "has_wiki": true, + "has_pages": false, + "has_downloads": true, + "archived": false, + "disabled": false, + "visibility": "public", + "pushed_at": "2011-01-26T19:06:43Z", + "created_at": "2011-01-26T19:01:12Z", + "updated_at": "2011-01-26T19:14:43Z", + "permissions": { "pull": true, "push": false, "admin": false }, + "allow_rebase_merge": true, + "template_repository": null, + "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", + "allow_squash_merge": true, + "delete_branch_on_merge": true, + "allow_merge_commit": true, + "subscribers_count": 42, + "network_count": 0, + "license": { + "key": "mit", + "name": "MIT License", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit", + "node_id": "MDc6TGljZW5zZW1pdA==" + }, + "organization": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "Organization", + "site_admin": false + }, + "parent": { + "id": 1296269, + "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", + "name": "Hello-World", + "full_name": "octocat/Hello-World", + "owner": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "private": false, + "html_url": "https://github.com/octocat/Hello-World", + "description": "This your first repo!", + "fork": false, + "url": "https://api.github.com/repos/octocat/Hello-World", + "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", + "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", + "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", + "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", + "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", + "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", + "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", + "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", + "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", + "events_url": "https://api.github.com/repos/octocat/Hello-World/events", + "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", + "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", + "git_url": "git:github.com/octocat/Hello-World.git", + "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", + "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", + "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", + "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", + "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", + "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", + "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", + "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", + "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", + "ssh_url": "git@github.com:octocat/Hello-World.git", + "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", + "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", + "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", + "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", + "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", + "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", + "clone_url": "https://github.com/octocat/Hello-World.git", + "mirror_url": "git:git.example.com/octocat/Hello-World", + "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", + "svn_url": "https://svn.github.com/octocat/Hello-World", + "homepage": "https://github.com", + "language": null, + "forks_count": 9, + "stargazers_count": 80, + "watchers_count": 80, + "size": 108, + "default_branch": "master", + "open_issues_count": 0, + "is_template": true, + "topics": ["octocat", "atom", "electron", "api"], + "has_issues": true, + "has_projects": true, + "has_wiki": true, + "has_pages": false, + "has_downloads": true, + "archived": false, + "disabled": false, + "visibility": "public", + "pushed_at": "2011-01-26T19:06:43Z", + "created_at": "2011-01-26T19:01:12Z", + "updated_at": "2011-01-26T19:14:43Z", + "permissions": { "admin": false, "push": false, "pull": true }, + "allow_rebase_merge": true, + "template_repository": null, + "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", + "allow_squash_merge": true, + "delete_branch_on_merge": true, + "allow_merge_commit": true, + "subscribers_count": 42, + "network_count": 0, + "license": { + "key": "mit", + "name": "MIT License", + "url": "https://api.github.com/licenses/mit", + "spdx_id": "MIT", + "node_id": "MDc6TGljZW5zZW1pdA==", + "html_url": "https://api.github.com/licenses/mit" + }, + "forks": 1, + "open_issues": 1, + "watchers": 1 + }, + "source": { + "id": 1296269, + "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", + "name": "Hello-World", + "full_name": "octocat/Hello-World", + "owner": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "private": false, + "html_url": "https://github.com/octocat/Hello-World", + "description": "This your first repo!", + "fork": false, + "url": "https://api.github.com/repos/octocat/Hello-World", + "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", + "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", + "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", + "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", + "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", + "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", + "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", + "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", + "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", + "events_url": "https://api.github.com/repos/octocat/Hello-World/events", + "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", + "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", + "git_url": "git:github.com/octocat/Hello-World.git", + "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", + "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", + "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", + "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", + "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", + "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", + "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", + "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", + "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", + "ssh_url": "git@github.com:octocat/Hello-World.git", + "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", + "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", + "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", + "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", + "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", + "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", + "clone_url": "https://github.com/octocat/Hello-World.git", + "mirror_url": "git:git.example.com/octocat/Hello-World", + "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", + "svn_url": "https://svn.github.com/octocat/Hello-World", + "homepage": "https://github.com", + "language": null, + "forks_count": 9, + "stargazers_count": 80, + "watchers_count": 80, + "size": 108, + "default_branch": "master", + "open_issues_count": 0, + "is_template": true, + "topics": ["octocat", "atom", "electron", "api"], + "has_issues": true, + "has_projects": true, + "has_wiki": true, + "has_pages": false, + "has_downloads": true, + "archived": false, + "disabled": false, + "visibility": "public", + "pushed_at": "2011-01-26T19:06:43Z", + "created_at": "2011-01-26T19:01:12Z", + "updated_at": "2011-01-26T19:14:43Z", + "permissions": { "admin": false, "push": false, "pull": true }, + "allow_rebase_merge": true, + "template_repository": null, + "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", + "allow_squash_merge": true, + "delete_branch_on_merge": true, + "allow_merge_commit": true, + "subscribers_count": 42, + "network_count": 0, + "license": { + "key": "mit", + "name": "MIT License", + "url": "https://api.github.com/licenses/mit", + "spdx_id": "MIT", + "node_id": "MDc6TGljZW5zZW1pdA==", + "html_url": "https://api.github.com/licenses/mit" + }, + "forks": 1, + "open_issues": 1, + "watchers": 1 + } + } + }, + "full-repository-response-with-scarlet-witch-preview-media-type": { + "summary": "Response with scarlet-witch-preview media type", + "value": { + "id": 88760408, + "node_id": "MDEwOlJlcG9zaXRvcnk4ODc2MDQwOA==", + "name": "cosee", + "full_name": "LindseyB/cosee", + "disabled": false, + "archived": false, + "owner": { + "login": "LindseyB", + "id": 33750, + "node_id": "MDQ6VXNlcjMzNzUw", + "avatar_url": "https://avatars2.githubusercontent.com/u/33750?v=3", + "gravatar_id": "", + "url": "https://api.github.com/users/LindseyB", + "html_url": "https://github.com/LindseyB", + "followers_url": "https://api.github.com/users/LindseyB/followers", + "following_url": "https://api.github.com/users/LindseyB/following{/other_user}", + "gists_url": "https://api.github.com/users/LindseyB/gists{/gist_id}", + "starred_url": "https://api.github.com/users/LindseyB/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/LindseyB/subscriptions", + "organizations_url": "https://api.github.com/users/LindseyB/orgs", + "repos_url": "https://api.github.com/users/LindseyB/repos", + "events_url": "https://api.github.com/users/LindseyB/events{/privacy}", + "received_events_url": "https://api.github.com/users/LindseyB/received_events", + "type": "User", + "site_admin": true + }, + "private": false, + "html_url": "https://github.com/LindseyB/cosee", + "description": null, + "fork": false, + "license": { + "key": "mit", + "name": "MIT License", + "url": "https://api.github.com/licenses/mit", + "spdx_id": "MIT", + "node_id": "MDc6TGljZW5zZW1pdA==", + "html_url": "https://github.com/licenses/mit" + }, + "url": "https://api.github.com/repos/LindseyB/cosee", + "forks_url": "https://api.github.com/repos/LindseyB/cosee/forks", + "keys_url": "https://api.github.com/repos/LindseyB/cosee/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/LindseyB/cosee/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/LindseyB/cosee/teams", + "hooks_url": "https://api.github.com/repos/LindseyB/cosee/hooks", + "issue_events_url": "https://api.github.com/repos/LindseyB/cosee/issues/events{/number}", + "events_url": "https://api.github.com/repos/LindseyB/cosee/events", + "assignees_url": "https://api.github.com/repos/LindseyB/cosee/assignees{/user}", + "branches_url": "https://api.github.com/repos/LindseyB/cosee/branches{/branch}", + "tags_url": "https://api.github.com/repos/LindseyB/cosee/tags", + "blobs_url": "https://api.github.com/repos/LindseyB/cosee/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/LindseyB/cosee/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/LindseyB/cosee/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/LindseyB/cosee/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/LindseyB/cosee/statuses/{sha}", + "languages_url": "https://api.github.com/repos/LindseyB/cosee/languages", + "stargazers_url": "https://api.github.com/repos/LindseyB/cosee/stargazers", + "contributors_url": "https://api.github.com/repos/LindseyB/cosee/contributors", + "subscribers_url": "https://api.github.com/repos/LindseyB/cosee/subscribers", + "subscription_url": "https://api.github.com/repos/LindseyB/cosee/subscription", + "commits_url": "https://api.github.com/repos/LindseyB/cosee/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/LindseyB/cosee/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/LindseyB/cosee/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/LindseyB/cosee/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/LindseyB/cosee/contents/{+path}", + "compare_url": "https://api.github.com/repos/LindseyB/cosee/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/LindseyB/cosee/merges", + "archive_url": "https://api.github.com/repos/LindseyB/cosee/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/LindseyB/cosee/downloads", + "issues_url": "https://api.github.com/repos/LindseyB/cosee/issues{/number}", + "pulls_url": "https://api.github.com/repos/LindseyB/cosee/pulls{/number}", + "milestones_url": "https://api.github.com/repos/LindseyB/cosee/milestones{/number}", + "notifications_url": "https://api.github.com/repos/LindseyB/cosee/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/LindseyB/cosee/labels{/name}", + "releases_url": "https://api.github.com/repos/LindseyB/cosee/releases{/id}", + "deployments_url": "https://api.github.com/repos/LindseyB/cosee/deployments", + "pushed_at": "2011-01-26T19:06:43Z", + "created_at": "2011-01-26T19:01:12Z", + "updated_at": "2011-01-26T19:14:43Z", + "git_url": "git://github.com/LindseyB/cosee.git", + "ssh_url": "git@github.com=>LindseyB/cosee.git", + "clone_url": "https://github.com/LindseyB/cosee.git", + "svn_url": "https://github.com/LindseyB/cosee", + "homepage": null, + "size": 1, + "stargazers_count": 0, + "watchers_count": 0, + "language": null, + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": true, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "open_issues_count": 0, + "forks": 0, + "open_issues": 0, + "watchers": 0, + "default_branch": "master", + "network_count": 0, + "subscribers_count": 0 + } + }, + "full-repository": { + "value": { + "id": 1296269, + "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", + "name": "Hello-World", + "full_name": "octocat/Hello-World", + "owner": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "private": false, + "html_url": "https://github.com/octocat/Hello-World", + "description": "This your first repo!", + "fork": false, + "url": "https://api.github.com/repos/octocat/Hello-World", + "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", + "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", + "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", + "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", + "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", + "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", + "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", + "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", + "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", + "events_url": "https://api.github.com/repos/octocat/Hello-World/events", + "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", + "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", + "git_url": "git:github.com/octocat/Hello-World.git", + "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", + "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", + "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", + "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", + "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", + "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", + "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", + "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", + "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", + "ssh_url": "git@github.com:octocat/Hello-World.git", + "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", + "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", + "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", + "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", + "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", + "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", + "clone_url": "https://github.com/octocat/Hello-World.git", + "mirror_url": "git:git.example.com/octocat/Hello-World", + "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", + "svn_url": "https://svn.github.com/octocat/Hello-World", + "homepage": "https://github.com", + "license": { + "key": "mit", + "name": "MIT License", + "url": "https://api.github.com/licenses/mit", + "spdx_id": "MIT", + "node_id": "MDc6TGljZW5zZW1pdA==", + "html_url": "https://github.com/licenses/mit" + }, + "language": null, + "forks_count": 9, + "forks": 9, + "stargazers_count": 80, + "watchers_count": 80, + "watchers": 80, + "size": 108, + "default_branch": "master", + "open_issues_count": 0, + "open_issues": 0, + "is_template": true, + "topics": ["octocat", "atom", "electron", "api"], + "has_issues": true, + "has_projects": true, + "has_wiki": true, + "has_pages": false, + "has_downloads": true, + "archived": false, + "disabled": false, + "visibility": "public", + "pushed_at": "2011-01-26T19:06:43Z", + "created_at": "2011-01-26T19:01:12Z", + "updated_at": "2011-01-26T19:14:43Z", + "permissions": { "pull": true, "push": false, "admin": false }, + "allow_rebase_merge": true, + "template_repository": null, + "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", + "allow_squash_merge": true, + "delete_branch_on_merge": true, + "allow_merge_commit": true, + "subscribers_count": 42, + "network_count": 0, + "organization": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "Organization", + "site_admin": false + }, + "parent": { + "id": 1296269, + "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", + "name": "Hello-World", + "full_name": "octocat/Hello-World", + "owner": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "private": false, + "html_url": "https://github.com/octocat/Hello-World", + "description": "This your first repo!", + "fork": false, + "url": "https://api.github.com/repos/octocat/Hello-World", + "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", + "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", + "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", + "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", + "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", + "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", + "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", + "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", + "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", + "events_url": "https://api.github.com/repos/octocat/Hello-World/events", + "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", + "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", + "git_url": "git:github.com/octocat/Hello-World.git", + "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", + "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", + "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", + "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", + "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", + "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", + "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", + "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", + "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", + "ssh_url": "git@github.com:octocat/Hello-World.git", + "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", + "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", + "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", + "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", + "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", + "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", + "clone_url": "https://github.com/octocat/Hello-World.git", + "mirror_url": "git:git.example.com/octocat/Hello-World", + "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", + "svn_url": "https://svn.github.com/octocat/Hello-World", + "homepage": "https://github.com", + "language": null, + "forks_count": 9, + "stargazers_count": 80, + "watchers_count": 80, + "size": 108, + "default_branch": "master", + "open_issues_count": 0, + "is_template": true, + "topics": ["octocat", "atom", "electron", "api"], + "has_issues": true, + "has_projects": true, + "has_wiki": true, + "has_pages": false, + "has_downloads": true, + "archived": false, + "disabled": false, + "visibility": "public", + "pushed_at": "2011-01-26T19:06:43Z", + "created_at": "2011-01-26T19:01:12Z", + "updated_at": "2011-01-26T19:14:43Z", + "permissions": { "admin": false, "push": false, "pull": true }, + "allow_rebase_merge": true, + "template_repository": null, + "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", + "allow_squash_merge": true, + "delete_branch_on_merge": true, + "allow_merge_commit": true, + "subscribers_count": 42, + "network_count": 0, + "license": { + "key": "mit", + "name": "MIT License", + "url": "https://api.github.com/licenses/mit", + "spdx_id": "MIT", + "node_id": "MDc6TGljZW5zZW1pdA==", + "html_url": "https://api.github.com/licenses/mit" + }, + "forks": 1, + "open_issues": 1, + "watchers": 1 + }, + "source": { + "id": 1296269, + "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", + "name": "Hello-World", + "full_name": "octocat/Hello-World", + "owner": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "private": false, + "html_url": "https://github.com/octocat/Hello-World", + "description": "This your first repo!", + "fork": false, + "url": "https://api.github.com/repos/octocat/Hello-World", + "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", + "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", + "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", + "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", + "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", + "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", + "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", + "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", + "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", + "events_url": "https://api.github.com/repos/octocat/Hello-World/events", + "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", + "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", + "git_url": "git:github.com/octocat/Hello-World.git", + "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", + "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", + "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", + "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", + "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", + "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", + "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", + "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", + "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", + "ssh_url": "git@github.com:octocat/Hello-World.git", + "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", + "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", + "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", + "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", + "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", + "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", + "clone_url": "https://github.com/octocat/Hello-World.git", + "mirror_url": "git:git.example.com/octocat/Hello-World", + "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", + "svn_url": "https://svn.github.com/octocat/Hello-World", + "homepage": "https://github.com", + "language": null, + "forks_count": 9, + "stargazers_count": 80, + "watchers_count": 80, + "size": 108, + "default_branch": "master", + "open_issues_count": 0, + "is_template": true, + "topics": ["octocat", "atom", "electron", "api"], + "has_issues": true, + "has_projects": true, + "has_wiki": true, + "has_pages": false, + "has_downloads": true, + "archived": false, + "disabled": false, + "visibility": "public", + "pushed_at": "2011-01-26T19:06:43Z", + "created_at": "2011-01-26T19:01:12Z", + "updated_at": "2011-01-26T19:14:43Z", + "permissions": { "admin": false, "push": false, "pull": true }, + "allow_rebase_merge": true, + "template_repository": null, + "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", + "allow_squash_merge": true, + "delete_branch_on_merge": true, + "allow_merge_commit": true, + "subscribers_count": 42, + "network_count": 0, + "license": { + "key": "mit", + "name": "MIT License", + "url": "https://api.github.com/licenses/mit", + "spdx_id": "MIT", + "node_id": "MDc6TGljZW5zZW1pdA==", + "html_url": "https://api.github.com/licenses/mit" + }, + "forks": 1, + "open_issues": 1, + "watchers": 1 + } + } + }, + "artifact-paginated": { + "value": { + "total_count": 2, + "artifacts": [ + { + "id": 11, + "node_id": "MDg6QXJ0aWZhY3QxMQ==", + "name": "Rails", + "size_in_bytes": 556, + "url": "https://api.github.com/repos/octo-org/octo-docs/actions/artifacts/11", + "archive_download_url": "https://api.github.com/repos/octo-org/octo-docs/actions/artifacts/11/zip", + "expired": false, + "created_at": "2020-01-10T14:59:22Z", + "expires_at": "2020-03-21T14:59:22Z", + "updated_at": "2020-02-21T14:59:22Z" + }, + { + "id": 13, + "node_id": "MDg6QXJ0aWZhY3QxMw==", + "name": "", + "size_in_bytes": 453, + "url": "https://api.github.com/repos/octo-org/octo-docs/actions/artifacts/13", + "archive_download_url": "https://api.github.com/repos/octo-org/octo-docs/actions/artifacts/13/zip", + "expired": false, + "created_at": "2020-01-10T14:59:22Z", + "expires_at": "2020-03-21T14:59:22Z", + "updated_at": "2020-02-21T14:59:22Z" + } + ] + } + }, + "artifact": { + "value": { + "id": 11, + "node_id": "MDg6QXJ0aWZhY3QxMQ==", + "name": "Rails", + "size_in_bytes": 556, + "url": "https://api.github.com/repos/octo-org/octo-docs/actions/artifacts/11", + "archive_download_url": "https://api.github.com/repos/octo-org/octo-docs/actions/artifacts/11/zip", + "expired": false, + "created_at": "2020-01-10T14:59:22Z", + "expires_at": "2020-01-21T14:59:22Z", + "updated_at": "2020-01-21T14:59:22Z" + } + }, + "job": { + "value": { + "id": 399444496, + "run_id": 29679449, + "run_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449", + "node_id": "MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==", + "head_sha": "f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0", + "url": "https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444496", + "html_url": "https://github.com/octo-org/octo-repo/runs/399444496", + "status": "completed", + "conclusion": "success", + "started_at": "2020-01-20T17:42:40Z", + "completed_at": "2020-01-20T17:44:39Z", + "name": "build", + "steps": [ + { + "name": "Set up job", + "status": "completed", + "conclusion": "success", + "number": 1, + "started_at": "2020-01-20T09:42:40.000-08:00", + "completed_at": "2020-01-20T09:42:41.000-08:00" + }, + { + "name": "Run actions/checkout@v2", + "status": "completed", + "conclusion": "success", + "number": 2, + "started_at": "2020-01-20T09:42:41.000-08:00", + "completed_at": "2020-01-20T09:42:45.000-08:00" + }, + { + "name": "Set up Ruby", + "status": "completed", + "conclusion": "success", + "number": 3, + "started_at": "2020-01-20T09:42:45.000-08:00", + "completed_at": "2020-01-20T09:42:45.000-08:00" + }, + { + "name": "Run actions/cache@v2", + "status": "completed", + "conclusion": "success", + "number": 4, + "started_at": "2020-01-20T09:42:45.000-08:00", + "completed_at": "2020-01-20T09:42:48.000-08:00" + }, + { + "name": "Install Bundler", + "status": "completed", + "conclusion": "success", + "number": 5, + "started_at": "2020-01-20T09:42:48.000-08:00", + "completed_at": "2020-01-20T09:42:52.000-08:00" + }, + { + "name": "Install Gems", + "status": "completed", + "conclusion": "success", + "number": 6, + "started_at": "2020-01-20T09:42:52.000-08:00", + "completed_at": "2020-01-20T09:42:53.000-08:00" + }, + { + "name": "Run Tests", + "status": "completed", + "conclusion": "success", + "number": 7, + "started_at": "2020-01-20T09:42:53.000-08:00", + "completed_at": "2020-01-20T09:42:59.000-08:00" + }, + { + "name": "Deploy to Heroku", + "status": "completed", + "conclusion": "success", + "number": 8, + "started_at": "2020-01-20T09:42:59.000-08:00", + "completed_at": "2020-01-20T09:44:39.000-08:00" + }, + { + "name": "Post actions/cache@v2", + "status": "completed", + "conclusion": "success", + "number": 16, + "started_at": "2020-01-20T09:44:39.000-08:00", + "completed_at": "2020-01-20T09:44:39.000-08:00" + }, + { + "name": "Complete job", + "status": "completed", + "conclusion": "success", + "number": 17, + "started_at": "2020-01-20T09:44:39.000-08:00", + "completed_at": "2020-01-20T09:44:39.000-08:00" + } + ], + "check_run_url": "https://api.github.com/repos/octo-org/octo-repo/check-runs/399444496" + } + }, + "actions-repository-permissions": { + "value": { + "enabled": true, + "allowed_actions": "selected", + "selected_actions_url": "https://api.github.com/repositories/42/actions/permissions/selected-actions" + } + }, + "workflow-run-paginated": { + "value": { + "total_count": 1, + "workflow_runs": [ + { + "id": 30433642, + "name": "Build", + "node_id": "MDEyOldvcmtmbG93IFJ1bjI2OTI4OQ==", + "head_branch": "master", + "head_sha": "acb5820ced9479c074f688cc328bf03f341a511d", + "run_number": 562, + "event": "push", + "status": "queued", + "conclusion": null, + "workflow_id": 159038, + "url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642", + "html_url": "https://github.com/octo-org/octo-repo/actions/runs/30433642", + "pull_requests": [], + "created_at": "2020-01-22T19:33:08Z", + "updated_at": "2020-01-22T19:33:08Z", + "jobs_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/jobs", + "logs_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/logs", + "check_suite_url": "https://api.github.com/repos/octo-org/octo-repo/check-suites/414944374", + "artifacts_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/artifacts", + "cancel_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/cancel", + "rerun_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/rerun", + "workflow_url": "https://api.github.com/repos/octo-org/octo-repo/actions/workflows/159038", + "head_commit": { + "id": "acb5820ced9479c074f688cc328bf03f341a511d", + "tree_id": "d23f6eedb1e1b9610bbc754ddb5197bfe7271223", + "message": "Create linter.yaml", + "timestamp": "2020-01-22T19:33:05Z", + "author": { "name": "Octo Cat", "email": "octocat@github.com" }, + "committer": { "name": "GitHub", "email": "noreply@github.com" } + }, + "repository": { + "id": 1296269, + "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", + "name": "Hello-World", + "full_name": "octocat/Hello-World", + "owner": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "private": false, + "html_url": "https://github.com/octocat/Hello-World", + "description": "This your first repo!", + "fork": false, + "url": "https://api.github.com/repos/octocat/Hello-World", + "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", + "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", + "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", + "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", + "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", + "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", + "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", + "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", + "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", + "events_url": "https://api.github.com/repos/octocat/Hello-World/events", + "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", + "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", + "git_url": "git:github.com/octocat/Hello-World.git", + "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", + "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", + "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", + "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", + "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", + "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", + "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", + "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", + "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", + "ssh_url": "git@github.com:octocat/Hello-World.git", + "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", + "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", + "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", + "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", + "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", + "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", + "hooks_url": "http://api.github.com/repos/octocat/Hello-World/hooks" + }, + "head_repository": { + "id": 217723378, + "node_id": "MDEwOlJlcG9zaXRvcnkyMTc3MjMzNzg=", + "name": "octo-repo", + "full_name": "octo-org/octo-repo", + "private": true, + "owner": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "html_url": "https://github.com/octo-org/octo-repo", + "description": null, + "fork": false, + "url": "https://api.github.com/repos/octo-org/octo-repo", + "forks_url": "https://api.github.com/repos/octo-org/octo-repo/forks", + "keys_url": "https://api.github.com/repos/octo-org/octo-repo/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/octo-org/octo-repo/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/octo-org/octo-repo/teams", + "hooks_url": "https://api.github.com/repos/octo-org/octo-repo/hooks", + "issue_events_url": "https://api.github.com/repos/octo-org/octo-repo/issues/events{/number}", + "events_url": "https://api.github.com/repos/octo-org/octo-repo/events", + "assignees_url": "https://api.github.com/repos/octo-org/octo-repo/assignees{/user}", + "branches_url": "https://api.github.com/repos/octo-org/octo-repo/branches{/branch}", + "tags_url": "https://api.github.com/repos/octo-org/octo-repo/tags", + "blobs_url": "https://api.github.com/repos/octo-org/octo-repo/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/octo-org/octo-repo/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/octo-org/octo-repo/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/octo-org/octo-repo/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/octo-org/octo-repo/statuses/{sha}", + "languages_url": "https://api.github.com/repos/octo-org/octo-repo/languages", + "stargazers_url": "https://api.github.com/repos/octo-org/octo-repo/stargazers", + "contributors_url": "https://api.github.com/repos/octo-org/octo-repo/contributors", + "subscribers_url": "https://api.github.com/repos/octo-org/octo-repo/subscribers", + "subscription_url": "https://api.github.com/repos/octo-org/octo-repo/subscription", + "commits_url": "https://api.github.com/repos/octo-org/octo-repo/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/octo-org/octo-repo/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/octo-org/octo-repo/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/octo-org/octo-repo/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/octo-org/octo-repo/contents/{+path}", + "compare_url": "https://api.github.com/repos/octo-org/octo-repo/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/octo-org/octo-repo/merges", + "archive_url": "https://api.github.com/repos/octo-org/octo-repo/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/octo-org/octo-repo/downloads", + "issues_url": "https://api.github.com/repos/octo-org/octo-repo/issues{/number}", + "pulls_url": "https://api.github.com/repos/octo-org/octo-repo/pulls{/number}", + "milestones_url": "https://api.github.com/repos/octo-org/octo-repo/milestones{/number}", + "notifications_url": "https://api.github.com/repos/octo-org/octo-repo/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/octo-org/octo-repo/labels{/name}", + "releases_url": "https://api.github.com/repos/octo-org/octo-repo/releases{/id}", + "deployments_url": "https://api.github.com/repos/octo-org/octo-repo/deployments" + } + } + ] + } + }, + "workflow-run": { + "value": { + "id": 30433642, + "name": "Build", + "node_id": "MDEyOldvcmtmbG93IFJ1bjI2OTI4OQ==", + "head_branch": "master", + "head_sha": "acb5820ced9479c074f688cc328bf03f341a511d", + "run_number": 562, + "event": "push", + "status": "queued", + "conclusion": null, + "workflow_id": 159038, + "url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642", + "html_url": "https://github.com/octo-org/octo-repo/actions/runs/30433642", + "pull_requests": [], + "created_at": "2020-01-22T19:33:08Z", + "updated_at": "2020-01-22T19:33:08Z", + "jobs_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/jobs", + "logs_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/logs", + "check_suite_url": "https://api.github.com/repos/octo-org/octo-repo/check-suites/414944374", + "artifacts_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/artifacts", + "cancel_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/cancel", + "rerun_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/rerun", + "workflow_url": "https://api.github.com/repos/octo-org/octo-repo/actions/workflows/159038", + "head_commit": { + "id": "acb5820ced9479c074f688cc328bf03f341a511d", + "tree_id": "d23f6eedb1e1b9610bbc754ddb5197bfe7271223", + "message": "Create linter.yaml", + "timestamp": "2020-01-22T19:33:05Z", + "author": { "name": "Octo Cat", "email": "octocat@github.com" }, + "committer": { "name": "GitHub", "email": "noreply@github.com" } + }, + "repository": { + "id": 1296269, + "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", + "name": "Hello-World", + "full_name": "octocat/Hello-World", + "owner": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "private": false, + "html_url": "https://github.com/octocat/Hello-World", + "description": "This your first repo!", + "fork": false, + "url": "https://api.github.com/repos/octocat/Hello-World", + "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", + "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", + "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", + "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", + "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", + "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", + "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", + "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", + "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", + "events_url": "https://api.github.com/repos/octocat/Hello-World/events", + "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", + "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", + "git_url": "git:github.com/octocat/Hello-World.git", + "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", + "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", + "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", + "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", + "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", + "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", + "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", + "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", + "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", + "ssh_url": "git@github.com:octocat/Hello-World.git", + "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", + "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", + "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", + "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", + "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", + "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", + "hooks_url": "http://api.github.com/repos/octocat/Hello-World/hooks" + }, + "head_repository": { + "id": 217723378, + "node_id": "MDEwOlJlcG9zaXRvcnkyMTc3MjMzNzg=", + "name": "octo-repo", + "full_name": "octo-org/octo-repo", + "private": true, + "owner": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "html_url": "https://github.com/octo-org/octo-repo", + "description": null, + "fork": false, + "url": "https://api.github.com/repos/octo-org/octo-repo", + "forks_url": "https://api.github.com/repos/octo-org/octo-repo/forks", + "keys_url": "https://api.github.com/repos/octo-org/octo-repo/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/octo-org/octo-repo/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/octo-org/octo-repo/teams", + "hooks_url": "https://api.github.com/repos/octo-org/octo-repo/hooks", + "issue_events_url": "https://api.github.com/repos/octo-org/octo-repo/issues/events{/number}", + "events_url": "https://api.github.com/repos/octo-org/octo-repo/events", + "assignees_url": "https://api.github.com/repos/octo-org/octo-repo/assignees{/user}", + "branches_url": "https://api.github.com/repos/octo-org/octo-repo/branches{/branch}", + "tags_url": "https://api.github.com/repos/octo-org/octo-repo/tags", + "blobs_url": "https://api.github.com/repos/octo-org/octo-repo/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/octo-org/octo-repo/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/octo-org/octo-repo/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/octo-org/octo-repo/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/octo-org/octo-repo/statuses/{sha}", + "languages_url": "https://api.github.com/repos/octo-org/octo-repo/languages", + "stargazers_url": "https://api.github.com/repos/octo-org/octo-repo/stargazers", + "contributors_url": "https://api.github.com/repos/octo-org/octo-repo/contributors", + "subscribers_url": "https://api.github.com/repos/octo-org/octo-repo/subscribers", + "subscription_url": "https://api.github.com/repos/octo-org/octo-repo/subscription", + "commits_url": "https://api.github.com/repos/octo-org/octo-repo/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/octo-org/octo-repo/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/octo-org/octo-repo/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/octo-org/octo-repo/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/octo-org/octo-repo/contents/{+path}", + "compare_url": "https://api.github.com/repos/octo-org/octo-repo/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/octo-org/octo-repo/merges", + "archive_url": "https://api.github.com/repos/octo-org/octo-repo/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/octo-org/octo-repo/downloads", + "issues_url": "https://api.github.com/repos/octo-org/octo-repo/issues{/number}", + "pulls_url": "https://api.github.com/repos/octo-org/octo-repo/pulls{/number}", + "milestones_url": "https://api.github.com/repos/octo-org/octo-repo/milestones{/number}", + "notifications_url": "https://api.github.com/repos/octo-org/octo-repo/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/octo-org/octo-repo/labels{/name}", + "releases_url": "https://api.github.com/repos/octo-org/octo-repo/releases{/id}", + "deployments_url": "https://api.github.com/repos/octo-org/octo-repo/deployments" + } + } + }, + "job-paginated": { + "value": { + "total_count": 1, + "jobs": [ + { + "id": 399444496, + "run_id": 29679449, + "run_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449", + "node_id": "MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==", + "head_sha": "f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0", + "url": "https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444496", + "html_url": "https://github.com/octo-org/octo-repo/runs/399444496", + "status": "completed", + "conclusion": "success", + "started_at": "2020-01-20T17:42:40Z", + "completed_at": "2020-01-20T17:44:39Z", + "name": "build", + "steps": [ + { + "name": "Set up job", + "status": "completed", + "conclusion": "success", + "number": 1, + "started_at": "2020-01-20T09:42:40.000-08:00", + "completed_at": "2020-01-20T09:42:41.000-08:00" + }, + { + "name": "Run actions/checkout@v2", + "status": "completed", + "conclusion": "success", + "number": 2, + "started_at": "2020-01-20T09:42:41.000-08:00", + "completed_at": "2020-01-20T09:42:45.000-08:00" + }, + { + "name": "Set up Ruby", + "status": "completed", + "conclusion": "success", + "number": 3, + "started_at": "2020-01-20T09:42:45.000-08:00", + "completed_at": "2020-01-20T09:42:45.000-08:00" + }, + { + "name": "Run actions/cache@v2", + "status": "completed", + "conclusion": "success", + "number": 4, + "started_at": "2020-01-20T09:42:45.000-08:00", + "completed_at": "2020-01-20T09:42:48.000-08:00" + }, + { + "name": "Install Bundler", + "status": "completed", + "conclusion": "success", + "number": 5, + "started_at": "2020-01-20T09:42:48.000-08:00", + "completed_at": "2020-01-20T09:42:52.000-08:00" + }, + { + "name": "Install Gems", + "status": "completed", + "conclusion": "success", + "number": 6, + "started_at": "2020-01-20T09:42:52.000-08:00", + "completed_at": "2020-01-20T09:42:53.000-08:00" + }, + { + "name": "Run Tests", + "status": "completed", + "conclusion": "success", + "number": 7, + "started_at": "2020-01-20T09:42:53.000-08:00", + "completed_at": "2020-01-20T09:42:59.000-08:00" + }, + { + "name": "Deploy to Heroku", + "status": "completed", + "conclusion": "success", + "number": 8, + "started_at": "2020-01-20T09:42:59.000-08:00", + "completed_at": "2020-01-20T09:44:39.000-08:00" + }, + { + "name": "Post actions/cache@v2", + "status": "completed", + "conclusion": "success", + "number": 16, + "started_at": "2020-01-20T09:44:39.000-08:00", + "completed_at": "2020-01-20T09:44:39.000-08:00" + }, + { + "name": "Complete job", + "status": "completed", + "conclusion": "success", + "number": 17, + "started_at": "2020-01-20T09:44:39.000-08:00", + "completed_at": "2020-01-20T09:44:39.000-08:00" + } + ], + "check_run_url": "https://api.github.com/repos/octo-org/octo-repo/check-runs/399444496" + } + ] + } + }, + "workflow-run-usage": { + "value": { + "billable": { + "UBUNTU": { "total_ms": 180000, "jobs": 1 }, + "MACOS": { "total_ms": 240000, "jobs": 4 }, + "WINDOWS": { "total_ms": 300000, "jobs": 2 } + }, + "run_duration_ms": 500000 + } + }, + "actions-secret-paginated": { + "value": { + "total_count": 2, + "secrets": [ + { + "name": "GH_TOKEN", + "created_at": "2019-08-10T14:59:22Z", + "updated_at": "2020-01-10T14:59:22Z" + }, + { + "name": "GIST_ID", + "created_at": "2020-01-10T10:59:22Z", + "updated_at": "2020-01-11T11:59:22Z" + } + ] + } + }, + "actions-secret": { + "value": { + "name": "GH_TOKEN", + "created_at": "2019-08-10T14:59:22Z", + "updated_at": "2020-01-10T14:59:22Z" + } + }, + "workflow-paginated": { + "value": { + "total_count": 2, + "workflows": [ + { + "id": 161335, + "node_id": "MDg6V29ya2Zsb3cxNjEzMzU=", + "name": "CI", + "path": ".github/workflows/blank.yaml", + "state": "active", + "created_at": "2020-01-08T23:48:37.000-08:00", + "updated_at": "2020-01-08T23:50:21.000-08:00", + "url": "https://api.github.com/repos/octo-org/octo-repo/actions/workflows/161335", + "html_url": "https://github.com/octo-org/octo-repo/blob/master/.github/workflows/161335", + "badge_url": "https://github.com/octo-org/octo-repo/workflows/CI/badge.svg" + }, + { + "id": 269289, + "node_id": "MDE4OldvcmtmbG93IFNlY29uZGFyeTI2OTI4OQ==", + "name": "Linter", + "path": ".github/workflows/linter.yaml", + "state": "active", + "created_at": "2020-01-08T23:48:37.000-08:00", + "updated_at": "2020-01-08T23:50:21.000-08:00", + "url": "https://api.github.com/repos/octo-org/octo-repo/actions/workflows/269289", + "html_url": "https://github.com/octo-org/octo-repo/blob/master/.github/workflows/269289", + "badge_url": "https://github.com/octo-org/octo-repo/workflows/Linter/badge.svg" + } + ] + } + }, + "workflow": { + "value": { + "id": 161335, + "node_id": "MDg6V29ya2Zsb3cxNjEzMzU=", + "name": "CI", + "path": ".github/workflows/blank.yaml", + "state": "active", + "created_at": "2020-01-08T23:48:37.000-08:00", + "updated_at": "2020-01-08T23:50:21.000-08:00", + "url": "https://api.github.com/repos/octo-org/octo-repo/actions/workflows/161335", + "html_url": "https://github.com/octo-org/octo-repo/blob/master/.github/workflows/161335", + "badge_url": "https://github.com/octo-org/octo-repo/workflows/CI/badge.svg" + } + }, + "workflow-usage": { + "value": { + "billable": { + "UBUNTU": { "total_ms": 180000 }, + "MACOS": { "total_ms": 240000 }, + "WINDOWS": { "total_ms": 300000 } + } + } + }, + "short-branch-items": { + "value": [ + { + "name": "master", + "commit": { + "sha": "c5b97d5ae6c19d5c5df71a34c7fbeeda2479ccbc", + "url": "https://api.github.com/repos/octocat/Hello-World/commits/c5b97d5ae6c19d5c5df71a34c7fbeeda2479ccbc" + }, + "protected": true + } + ] + }, + "short-branch-with-protection-items": { + "value": [ + { + "name": "master", + "commit": { + "sha": "c5b97d5ae6c19d5c5df71a34c7fbeeda2479ccbc", + "url": "https://api.github.com/repos/octocat/Hello-World/commits/c5b97d5ae6c19d5c5df71a34c7fbeeda2479ccbc" + }, + "protected": true, + "protection": { + "enabled": true, + "required_status_checks": { + "enforcement_level": "non_admins", + "contexts": ["ci-test", "linter"] + } + }, + "protection_url": "https://api.github.com/repos/octocat/hello-world/branches/master/protection" + } + ] + }, + "branch-with-protection": { + "value": { + "name": "master", + "commit": { + "sha": "7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "node_id": "MDY6Q29tbWl0N2ZkMWE2MGIwMWY5MWIzMTRmNTk5NTVhNGU0ZDRlODBkOGVkZjExZA==", + "commit": { + "author": { + "name": "The Octocat", + "date": "2012-03-06T15:06:50-08:00", + "email": "octocat@nowhere.com" + }, + "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "message": "Merge pull request #6 from Spaceghost/patch-1\n\nNew line at end of file.", + "tree": { + "sha": "b4eecafa9be2f2006ce1b709d6857b07069b4608", + "url": "https://api.github.com/repos/octocat/Hello-World/git/trees/b4eecafa9be2f2006ce1b709d6857b07069b4608" + }, + "committer": { + "name": "The Octocat", + "date": "2012-03-06T15:06:50-08:00", + "email": "octocat@nowhere.com" + }, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null + }, + "comment_count": 0 + }, + "author": { + "gravatar_id": "", + "avatar_url": "https://secure.gravatar.com/avatar/7ad39074b0584bc555d0417ae3e7d974?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png", + "url": "https://api.github.com/users/octocat", + "id": 583231, + "login": "octocat", + "node_id": "MDQ6VXNlcjE=", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": true + }, + "parents": [ + { + "sha": "553c2077f0edc3d5dc5d17262f6aa498e69d6f8e", + "url": "https://api.github.com/repos/octocat/Hello-World/commits/553c2077f0edc3d5dc5d17262f6aa498e69d6f8e" + }, + { + "sha": "762941318ee16e59dabbacb1b4049eec22f0d303", + "url": "https://api.github.com/repos/octocat/Hello-World/commits/762941318ee16e59dabbacb1b4049eec22f0d303" + } + ], + "url": "https://api.github.com/repos/octocat/Hello-World/commits/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "committer": { + "gravatar_id": "", + "avatar_url": "https://secure.gravatar.com/avatar/7ad39074b0584bc555d0417ae3e7d974?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png", + "url": "https://api.github.com/users/octocat", + "id": 583231, + "login": "octocat", + "node_id": "MDQ6VXNlcjE=", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": true + }, + "html_url": "https://github.com/octocat/Hello-World/commit/6dcb09b5b57875f334f61aebed695e2e4193db5e", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e/comments" + }, + "_links": { + "html": "https://github.com/octocat/Hello-World/tree/master", + "self": "https://api.github.com/repos/octocat/Hello-World/branches/master" + }, + "protected": true, + "protection": { + "enabled": true, + "required_status_checks": { + "enforcement_level": "non_admins", + "contexts": ["ci-test", "linter"] + } + }, + "protection_url": "https://api.github.com/repos/octocat/hello-world/branches/master/protection" + } + }, + "branch-protection": { + "value": { + "url": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection", + "enabled": true, + "required_status_checks": { + "url": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_status_checks", + "contexts": ["continuous-integration/travis-ci"], + "contexts_url": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_status_checks/contexts", + "enforcement_level": "non_admins" + }, + "enforce_admins": { + "url": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/enforce_admins", + "enabled": true + }, + "required_pull_request_reviews": { + "url": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_pull_request_reviews", + "dismissal_restrictions": { + "url": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/dismissal_restrictions", + "users_url": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/dismissal_restrictions/users", + "teams_url": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/dismissal_restrictions/teams", + "users": [ + { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + } + ], + "teams": [ + { + "id": 1, + "node_id": "MDQ6VGVhbTE=", + "url": "https://api.github.com/teams/1", + "html_url": "https://api.github.com/teams/justice-league", + "name": "Justice League", + "slug": "justice-league", + "description": "A great team.", + "privacy": "closed", + "permission": "admin", + "members_url": "https://api.github.com/teams/1/members{/member}", + "repositories_url": "https://api.github.com/teams/1/repos", + "parent": null + } + ] + }, + "dismiss_stale_reviews": true, + "require_code_owner_reviews": true, + "required_approving_review_count": 2 + }, + "restrictions": { + "url": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/restrictions", + "users_url": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/restrictions/users", + "teams_url": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/restrictions/teams", + "apps_url": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/restrictions/teams", + "users": [ + { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + } + ], + "teams": [ + { + "id": 1, + "node_id": "MDQ6VGVhbTE=", + "url": "https://api.github.com/teams/1", + "html_url": "https://api.github.com/teams/justice-league", + "name": "Justice League", + "slug": "justice-league", + "description": "A great team.", + "privacy": "closed", + "permission": "admin", + "members_url": "https://api.github.com/teams/1/members{/member}", + "repositories_url": "https://api.github.com/teams/1/repos", + "parent": null + } + ], + "apps": [ + { + "id": 1, + "slug": "octoapp", + "node_id": "MDExOkludGVncmF0aW9uMQ==", + "owner": { + "login": "github", + "id": 1, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", + "url": "https://api.github.com/orgs/github", + "repos_url": "https://api.github.com/orgs/github/repos", + "events_url": "https://api.github.com/orgs/github/events", + "hooks_url": "https://api.github.com/orgs/github/hooks", + "issues_url": "https://api.github.com/orgs/github/issues", + "members_url": "https://api.github.com/orgs/github/members{/member}", + "public_members_url": "https://api.github.com/orgs/github/public_members{/member}", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "description": "A great organization" + }, + "name": "Octocat App", + "description": "", + "external_url": "https://example.com", + "html_url": "https://github.com/apps/octoapp", + "created_at": "2017-07-08T16:18:44-04:00", + "updated_at": "2017-07-08T16:18:44-04:00", + "permissions": { + "metadata": "read", + "contents": "read", + "issues": "write", + "single_file": "write" + }, + "events": ["push", "pull_request"] + } + ] + }, + "required_linear_history": { "enabled": true }, + "allow_force_pushes": { "enabled": true }, + "allow_deletions": { "enabled": true } + } + }, + "protected-branch-admin-enforced-2": { + "value": { + "url": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/enforce_admins", + "enabled": true + } + }, + "protected-branch-pull-request-review": { + "value": { + "url": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_pull_request_reviews", + "dismissal_restrictions": { + "url": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/dismissal_restrictions", + "users_url": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/dismissal_restrictions/users", + "teams_url": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/dismissal_restrictions/teams", + "users": [ + { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + } + ], + "teams": [ + { + "id": 1, + "node_id": "MDQ6VGVhbTE=", + "url": "https://api.github.com/teams/1", + "html_url": "https://api.github.com/teams/justice-league", + "name": "Justice League", + "slug": "justice-league", + "description": "A great team.", + "privacy": "closed", + "permission": "admin", + "members_url": "https://api.github.com/teams/1/members{/member}", + "repositories_url": "https://api.github.com/teams/1/repos", + "parent": null + } + ] + }, + "dismiss_stale_reviews": true, + "require_code_owner_reviews": true, + "required_approving_review_count": 2 + } + }, + "protected-branch-admin-enforced": { + "value": { + "url": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_signatures", + "enabled": true + } + }, + "status-check-policy": { + "value": { + "url": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_status_checks", + "strict": true, + "contexts": ["continuous-integration/travis-ci"], + "contexts_url": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_status_checks/contexts" + } + }, + "branch-restriction-policy": { + "value": { + "url": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/restrictions", + "users_url": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/restrictions/users", + "teams_url": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/restrictions/teams", + "apps_url": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/restrictions/teams", + "users": [ + { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + } + ], + "teams": [ + { + "id": 1, + "node_id": "MDQ6VGVhbTE=", + "url": "https://api.github.com/teams/1", + "html_url": "https://api.github.com/teams/justice-league", + "name": "Justice League", + "slug": "justice-league", + "description": "A great team.", + "privacy": "closed", + "permission": "admin", + "members_url": "https://api.github.com/teams/1/members{/member}", + "repositories_url": "https://api.github.com/teams/1/repos", + "parent": null + } + ], + "apps": [ + { + "id": 1, + "slug": "octoapp", + "node_id": "MDExOkludGVncmF0aW9uMQ==", + "owner": { + "login": "github", + "id": 1, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", + "url": "https://api.github.com/orgs/github", + "repos_url": "https://api.github.com/orgs/github/repos", + "events_url": "https://api.github.com/orgs/github/events", + "hooks_url": "https://api.github.com/orgs/github/hooks", + "issues_url": "https://api.github.com/orgs/github/issues", + "members_url": "https://api.github.com/orgs/github/members{/member}", + "public_members_url": "https://api.github.com/orgs/github/public_members{/member}", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "description": "A great organization" + }, + "name": "Octocat App", + "description": "", + "external_url": "https://example.com", + "html_url": "https://github.com/apps/octoapp", + "created_at": "2017-07-08T16:18:44-04:00", + "updated_at": "2017-07-08T16:18:44-04:00", + "permissions": { + "metadata": "read", + "contents": "read", + "issues": "write", + "single_file": "write" + }, + "events": ["push", "pull_request"] + } + ] + } + }, + "integration-items": { + "value": [ + { + "id": 1, + "slug": "octoapp", + "node_id": "MDExOkludGVncmF0aW9uMQ==", + "owner": { + "login": "github", + "id": 1, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", + "url": "https://api.github.com/orgs/github", + "repos_url": "https://api.github.com/orgs/github/repos", + "events_url": "https://api.github.com/orgs/github/events", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": true + }, + "name": "Octocat App", + "description": "", + "external_url": "https://example.com", + "html_url": "https://github.com/apps/octoapp", + "created_at": "2017-07-08T16:18:44-04:00", + "updated_at": "2017-07-08T16:18:44-04:00", + "permissions": { + "metadata": "read", + "contents": "read", + "issues": "write", + "single_file": "write" + }, + "events": ["push", "pull_request"] + } + ] + }, + "check-run-example-of-in-progress-conclusion": { + "summary": "Example of in_progress conclusion", + "value": { + "id": 4, + "head_sha": "ce587453ced02b1526dfb4cb910479d431683101", + "node_id": "MDg6Q2hlY2tSdW40", + "external_id": "42", + "url": "https://api.github.com/repos/github/hello-world/check-runs/4", + "html_url": "https://github.com/github/hello-world/runs/4", + "details_url": "https://example.com", + "status": "in_progress", + "conclusion": null, + "started_at": "2018-05-04T01:14:52Z", + "completed_at": null, + "output": { + "title": "Mighty Readme Report", + "summary": "", + "text": "", + "annotations_count": 1, + "annotations_url": "https://api.github.com/repos/github/hello-world/check-runs/4/annotations" + }, + "name": "mighty_readme", + "check_suite": { "id": 5 }, + "app": { + "id": 1, + "slug": "octoapp", + "node_id": "MDExOkludGVncmF0aW9uMQ==", + "owner": { + "login": "github", + "id": 1, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", + "url": "https://api.github.com/orgs/github", + "repos_url": "https://api.github.com/orgs/github/repos", + "events_url": "https://api.github.com/orgs/github/events", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": true + }, + "name": "Octocat App", + "description": "", + "external_url": "https://example.com", + "html_url": "https://github.com/apps/octoapp", + "created_at": "2017-07-08T16:18:44-04:00", + "updated_at": "2017-07-08T16:18:44-04:00", + "permissions": { + "metadata": "read", + "contents": "read", + "issues": "write", + "single_file": "write" + }, + "events": ["push", "pull_request"] + }, + "pull_requests": [ + { + "url": "https://api.github.com/repos/github/hello-world/pulls/1", + "id": 1934, + "number": 3956, + "head": { + "ref": "say-hello", + "sha": "3dca65fa3e8d4b3da3f3d056c59aee1c50f41390", + "repo": { + "id": 526, + "url": "https://api.github.com/repos/github/hello-world", + "name": "hello-world" + } + }, + "base": { + "ref": "master", + "sha": "e7fdf7640066d71ad16a86fbcbb9c6a10a18af4f", + "repo": { + "id": 526, + "url": "https://api.github.com/repos/github/hello-world", + "name": "hello-world" + } + } + } + ] + } + }, + "check-run-example-of-completed-conclusion": { + "summary": "Example of completed conclusion", + "value": { + "id": 4, + "head_sha": "ce587453ced02b1526dfb4cb910479d431683101", + "node_id": "MDg6Q2hlY2tSdW40", + "external_id": "", + "url": "https://api.github.com/repos/github/hello-world/check-runs/4", + "html_url": "https://github.com/github/hello-world/runs/4", + "details_url": "https://example.com", + "status": "completed", + "conclusion": "neutral", + "started_at": "2018-05-04T01:14:52Z", + "completed_at": "2018-05-04T01:14:52Z", + "output": { + "title": "Mighty Readme report", + "summary": "There are 0 failures, 2 warnings, and 1 notice.", + "text": "You may have some misspelled words on lines 2 and 4. You also may want to add a section in your README about how to install your app.", + "annotations_count": 2, + "annotations_url": "https://api.github.com/repos/github/hello-world/check-runs/4/annotations" + }, + "name": "mighty_readme", + "check_suite": { "id": 5 }, + "app": { + "id": 1, + "slug": "octoapp", + "node_id": "MDExOkludGVncmF0aW9uMQ==", + "owner": { + "login": "github", + "id": 1, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", + "url": "https://api.github.com/orgs/github", + "repos_url": "https://api.github.com/orgs/github/repos", + "events_url": "https://api.github.com/orgs/github/events", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": true + }, + "name": "Octocat App", + "description": "", + "external_url": "https://example.com", + "html_url": "https://github.com/apps/octoapp", + "created_at": "2017-07-08T16:18:44-04:00", + "updated_at": "2017-07-08T16:18:44-04:00", + "permissions": { + "metadata": "read", + "contents": "read", + "issues": "write", + "single_file": "write" + }, + "events": ["push", "pull_request"] + }, + "pull_requests": [ + { + "url": "https://api.github.com/repos/github/hello-world/pulls/1", + "id": 1934, + "number": 3956, + "head": { + "ref": "say-hello", + "sha": "3dca65fa3e8d4b3da3f3d056c59aee1c50f41390", + "repo": { + "id": 526, + "url": "https://api.github.com/repos/github/hello-world", + "name": "hello-world" + } + }, + "base": { + "ref": "master", + "sha": "e7fdf7640066d71ad16a86fbcbb9c6a10a18af4f", + "repo": { + "id": 526, + "url": "https://api.github.com/repos/github/hello-world", + "name": "hello-world" + } + } + } + ] + } + }, + "check-run": { + "value": { + "id": 4, + "head_sha": "ce587453ced02b1526dfb4cb910479d431683101", + "node_id": "MDg6Q2hlY2tSdW40", + "external_id": "", + "url": "https://api.github.com/repos/github/hello-world/check-runs/4", + "html_url": "https://github.com/github/hello-world/runs/4", + "details_url": "https://example.com", + "status": "completed", + "conclusion": "neutral", + "started_at": "2018-05-04T01:14:52Z", + "completed_at": "2018-05-04T01:14:52Z", + "output": { + "title": "Mighty Readme report", + "summary": "There are 0 failures, 2 warnings, and 1 notice.", + "text": "You may have some misspelled words on lines 2 and 4. You also may want to add a section in your README about how to install your app.", + "annotations_count": 2, + "annotations_url": "https://api.github.com/repos/github/hello-world/check-runs/4/annotations" + }, + "name": "mighty_readme", + "check_suite": { "id": 5 }, + "app": { + "id": 1, + "slug": "octoapp", + "node_id": "MDExOkludGVncmF0aW9uMQ==", + "owner": { + "login": "github", + "id": 1, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", + "url": "https://api.github.com/orgs/github", + "repos_url": "https://api.github.com/orgs/github/repos", + "events_url": "https://api.github.com/orgs/github/events", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": true + }, + "name": "Octocat App", + "description": "", + "external_url": "https://example.com", + "html_url": "https://github.com/apps/octoapp", + "created_at": "2017-07-08T16:18:44-04:00", + "updated_at": "2017-07-08T16:18:44-04:00", + "permissions": { + "metadata": "read", + "contents": "read", + "issues": "write", + "single_file": "write" + }, + "events": ["push", "pull_request"] + }, + "pull_requests": [ + { + "url": "https://api.github.com/repos/github/hello-world/pulls/1", + "id": 1934, + "number": 3956, + "head": { + "ref": "say-hello", + "sha": "3dca65fa3e8d4b3da3f3d056c59aee1c50f41390", + "repo": { + "id": 526, + "url": "https://api.github.com/repos/github/hello-world", + "name": "hello-world" + } + }, + "base": { + "ref": "master", + "sha": "e7fdf7640066d71ad16a86fbcbb9c6a10a18af4f", + "repo": { + "id": 526, + "url": "https://api.github.com/repos/github/hello-world", + "name": "hello-world" + } + } + } + ] + } + }, + "check-annotation-items": { + "value": [ + { + "path": "README.md", + "start_line": 2, + "end_line": 2, + "start_column": 5, + "end_column": 10, + "annotation_level": "warning", + "title": "Spell Checker", + "message": "Check your spelling for 'banaas'.", + "raw_details": "Do you mean 'bananas' or 'banana'?", + "blob_href": "https://api.github.com/repos/github/rest-api-description/git/blobs/abc" + } + ] + }, + "check-suite": { + "value": { + "id": 5, + "node_id": "MDEwOkNoZWNrU3VpdGU1", + "head_branch": "master", + "head_sha": "d6fde92930d4715a2b49857d24b940956b26d2d3", + "status": "completed", + "conclusion": "neutral", + "url": "https://api.github.com/repos/github/hello-world/check-suites/5", + "before": "146e867f55c26428e5f9fade55a9bbf5e95a7912", + "after": "d6fde92930d4715a2b49857d24b940956b26d2d3", + "pull_requests": [], + "created_at": "2017-07-08T16:18:44-04:00", + "updated_at": "2017-07-08T16:18:44-04:00", + "app": { + "id": 1, + "slug": "octoapp", + "node_id": "MDExOkludGVncmF0aW9uMQ==", + "owner": { + "login": "github", + "id": 1, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", + "url": "https://api.github.com/orgs/github", + "repos_url": "https://api.github.com/orgs/github/repos", + "events_url": "https://api.github.com/orgs/github/events", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": true + }, + "name": "Octocat App", + "description": "", + "external_url": "https://example.com", + "html_url": "https://github.com/apps/octoapp", + "created_at": "2017-07-08T16:18:44-04:00", + "updated_at": "2017-07-08T16:18:44-04:00", + "permissions": { + "metadata": "read", + "contents": "read", + "issues": "write", + "single_file": "write" + }, + "events": ["push", "pull_request"] + }, + "repository": { + "id": 1296269, + "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", + "name": "Hello-World", + "full_name": "octocat/Hello-World", + "template_repository": "octocat/template-repo", + "owner": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "private": false, + "html_url": "https://github.com/octocat/Hello-World", + "description": "This your first repo!", + "fork": false, + "url": "https://api.github.com/repos/octocat/Hello-World", + "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", + "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", + "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", + "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", + "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", + "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", + "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", + "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", + "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", + "events_url": "https://api.github.com/repos/octocat/Hello-World/events", + "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", + "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", + "git_url": "git:github.com/octocat/Hello-World.git", + "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", + "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", + "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", + "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", + "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", + "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", + "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", + "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", + "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", + "ssh_url": "git@github.com:octocat/Hello-World.git", + "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", + "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", + "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", + "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", + "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", + "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", + "clone_url": "https://github.com/octocat/Hello-World.git", + "mirror_url": "git:git.example.com/octocat/Hello-World", + "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", + "svn_url": "https://svn.github.com/octocat/Hello-World", + "homepage": "https://github.com", + "language": null, + "forks_count": 9, + "stargazers_count": 80, + "watchers_count": 80, + "size": 108, + "default_branch": "master", + "open_issues_count": 0, + "is_template": true, + "topics": ["octocat", "atom", "electron", "api"], + "has_issues": true, + "has_projects": true, + "has_wiki": true, + "has_pages": false, + "has_downloads": true, + "archived": false, + "disabled": false, + "visibility": "public", + "pushed_at": "2011-01-26T19:06:43Z", + "created_at": "2011-01-26T19:01:12Z", + "updated_at": "2011-01-26T19:14:43Z", + "permissions": { "admin": false, "push": false, "pull": true }, + "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", + "delete_branch_on_merge": true, + "subscribers_count": 42, + "network_count": 0 + }, + "head_commit": { + "id": "7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "tree_id": "7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "message": "Merge pull request #6 from Spaceghost/patch-1\n\nNew line at end of file.", + "timestamp": "2016-10-10T00:00:00Z", + "author": { "name": "The Octocat", "email": "octocat@nowhere.com" }, + "committer": { + "name": "The Octocat", + "email": "octocat@nowhere.com" + } + }, + "latest_check_runs_count": 1, + "check_runs_url": "https://api.github.com/repos/octocat/Hello-World/check-suites/5/check-runs" + } + }, + "check-suite-preference": { + "value": { + "preferences": { + "auto_trigger_checks": [ + { "app_id": 2, "setting": true }, + { "app_id": 4, "setting": false } + ] + }, + "repository": { + "id": 1296269, + "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", + "name": "Hello-World", + "full_name": "octocat/Hello-World", + "owner": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "private": false, + "html_url": "https://github.com/octocat/Hello-World", + "description": "This your first repo!", + "fork": false, + "url": "https://api.github.com/repos/octocat/Hello-World", + "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", + "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", + "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", + "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", + "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", + "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", + "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", + "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", + "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", + "events_url": "https://api.github.com/repos/octocat/Hello-World/events", + "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", + "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", + "git_url": "git:github.com/octocat/Hello-World.git", + "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", + "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", + "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", + "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", + "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", + "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", + "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", + "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", + "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", + "ssh_url": "git@github.com:octocat/Hello-World.git", + "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", + "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", + "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", + "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", + "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", + "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", + "clone_url": "https://github.com/octocat/Hello-World.git", + "mirror_url": "git:git.example.com/octocat/Hello-World", + "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", + "svn_url": "https://svn.github.com/octocat/Hello-World", + "homepage": "https://github.com", + "language": null, + "forks_count": 9, + "stargazers_count": 80, + "watchers_count": 80, + "size": 108, + "default_branch": "master", + "open_issues_count": 0, + "is_template": true, + "topics": ["octocat", "atom", "electron", "api"], + "has_issues": true, + "has_projects": true, + "has_wiki": true, + "has_pages": false, + "has_downloads": true, + "archived": false, + "disabled": false, + "visibility": "public", + "pushed_at": "2011-01-26T19:06:43Z", + "created_at": "2011-01-26T19:01:12Z", + "updated_at": "2011-01-26T19:14:43Z", + "permissions": { "admin": false, "push": false, "pull": true }, + "allow_rebase_merge": true, + "template_repository": null, + "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", + "allow_squash_merge": true, + "delete_branch_on_merge": true, + "allow_merge_commit": true, + "subscribers_count": 42, + "network_count": 0, + "license": { + "key": "mit", + "name": "MIT License", + "url": "https://api.github.com/licenses/mit", + "spdx_id": "MIT", + "node_id": "MDc6TGljZW5zZW1pdA==", + "html_url": "http://choosealicense.com/licenses/mit/" + }, + "forks": 1, + "open_issues": 1, + "watchers": 1 + } + } + }, + "check-run-paginated": { + "value": { + "total_count": 1, + "check_runs": [ + { + "id": 4, + "head_sha": "ce587453ced02b1526dfb4cb910479d431683101", + "node_id": "MDg6Q2hlY2tSdW40", + "external_id": "", + "url": "https://api.github.com/repos/github/hello-world/check-runs/4", + "html_url": "https://github.com/github/hello-world/runs/4", + "details_url": "https://example.com", + "status": "completed", + "conclusion": "neutral", + "started_at": "2018-05-04T01:14:52Z", + "completed_at": "2018-05-04T01:14:52Z", + "output": { + "title": "Mighty Readme report", + "summary": "There are 0 failures, 2 warnings, and 1 notice.", + "text": "You may have some misspelled words on lines 2 and 4. You also may want to add a section in your README about how to install your app.", + "annotations_count": 2, + "annotations_url": "https://api.github.com/repos/github/hello-world/check-runs/4/annotations" + }, + "name": "mighty_readme", + "check_suite": { "id": 5 }, + "app": { + "id": 1, + "slug": "octoapp", + "node_id": "MDExOkludGVncmF0aW9uMQ==", + "owner": { + "login": "github", + "id": 1, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", + "url": "https://api.github.com/orgs/github", + "repos_url": "https://api.github.com/orgs/github/repos", + "events_url": "https://api.github.com/orgs/github/events", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": true + }, + "name": "Octocat App", + "description": "", + "external_url": "https://example.com", + "html_url": "https://github.com/apps/octoapp", + "created_at": "2017-07-08T16:18:44-04:00", + "updated_at": "2017-07-08T16:18:44-04:00", + "permissions": { + "metadata": "read", + "contents": "read", + "issues": "write", + "single_file": "write" + }, + "events": ["push", "pull_request"] + }, + "pull_requests": [ + { + "url": "https://api.github.com/repos/github/hello-world/pulls/1", + "id": 1934, + "number": 3956, + "head": { + "ref": "say-hello", + "sha": "3dca65fa3e8d4b3da3f3d056c59aee1c50f41390", + "repo": { + "id": 526, + "url": "https://api.github.com/repos/github/hello-world", + "name": "hello-world" + } + }, + "base": { + "ref": "master", + "sha": "e7fdf7640066d71ad16a86fbcbb9c6a10a18af4f", + "repo": { + "id": 526, + "url": "https://api.github.com/repos/github/hello-world", + "name": "hello-world" + } + } + } + ] + } + ] + } + }, + "code-scanning-alert-code-scanning-alert-items": { + "value": [ + { + "number": 4, + "created_at": "2020-02-13T12:29:18Z", + "url": "https://api.github.com/repos/github/hello-world/code-scanning/alerts/4", + "html_url": "https://github.com/github/hello-world/code-scanning/4", + "state": "open", + "dismissed_by": null, + "dismissed_at": null, + "dismissed_reason": null, + "rule": { + "id": "js/zipslip", + "severity": "error", + "description": "Arbitrary file write during zip extraction" + }, + "tool": { "name": "CodeQL command-line toolchain", "version": null } + }, + { + "number": 3, + "created_at": "2020-02-13T12:29:18Z", + "url": "https://api.github.com/repos/github/hello-world/code-scanning/alerts/3", + "html_url": "https://github.com/github/hello-world/code-scanning/3", + "state": "dismissed", + "dismissed_by": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "dismissed_at": "2020-02-14T12:29:18Z", + "dismissed_reason": "false positive", + "rule": { + "id": "js/zipslip", + "severity": "error", + "description": "Arbitrary file write during zip extraction" + }, + "tool": { "name": "CodeQL command-line toolchain", "version": null } + } + ] + }, + "code-scanning-alert-code-scanning-alert": { + "value": { + "number": 42, + "created_at": "2020-06-19T11:21:34Z", + "url": "https://api.github.com/repos/github/hello-world/code-scanning/alerts/42", + "html_url": "https://github.com/github/hello-world/code-scanning/42", + "instances": [ + { + "ref": "refs/heads/main", + "analysis_key": ".github/workflows/codeql-analysis.yml:CodeQL-Build", + "environment": "", + "state": "fixed" + }, + { + "ref": "refs/pull/3740/head", + "analysis_key": ".github/workflows/codeql-analysis.yml:CodeQL-Build", + "environment": "", + "state": "dismissed" + } + ], + "state": "dismissed", + "dismissed_by": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "dismissed_at": "2020-02-14T12:29:18Z", + "dismissed_reason": "false positive", + "rule": { + "id": "js/polynomial-redos", + "severity": "warning", + "description": "Polynomial regular expression used on uncontrolled data" + }, + "tool": { "name": "CodeQL command-line toolchain", "version": null } + } + }, + "code-scanning-alert-code-scanning-alert-dismissed": { + "value": { + "number": 42, + "created_at": "2020-08-25T21:28:36Z", + "url": "https://api.github.com/repos/github/hello-world/code-scanning/alerts/42", + "html_url": "https://github.com/github/hello-world/code-scanning/42", + "instances": [ + { + "ref": "refs/heads/codeql-analysis-yml", + "analysis_key": ".github/workflows/codeql-analysis.yml:CodeQL-Build", + "environment": "", + "state": "dismissed" + }, + { + "ref": "refs/pull/3740/head", + "analysis_key": ".github/workflows/codeql-analysis.yml:CodeQL-Build", + "environment": "", + "state": "dismissed" + } + ], + "state": "dismissed", + "dismissed_by": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "dismissed_at": "2020-09-02T22:34:56Z", + "dismissed_reason": "false positive", + "rule": { + "id": "js/polynomial-redos", + "severity": "warning", + "description": "Polynomial regular expression used on uncontrolled data" + }, + "tool": { "name": "CodeQL command-line toolchain", "version": null } + } + }, + "code-scanning-analysis-code-scanning-analysis-items": { + "value": [ + { + "ref": "refs/heads/master", + "commit_sha": "d99612c3e1f2970085cfbaeadf8f010ef69bad83", + "analysis_key": ".github/workflows/codeql-analysis.yml:analyze", + "tool_name": "CodeQL command-line toolchain", + "environment": "{}", + "error": "", + "created_at": "2020-08-27T15:05:21Z" + }, + { + "ref": "refs/heads/my-branch", + "commit_sha": "c8cff6510d4d084fb1b4aa13b64b97ca12b07321", + "analysis_key": ".github/workflows/shiftleft.yml:build", + "tool_name": "Python Security Analysis", + "environment": "{}", + "error": "", + "created_at": "2020-08-31T22:46:44Z" + } + ] + }, + "collaborator-items": { + "value": [ + { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false, + "permissions": { "pull": true, "push": true, "admin": false } + } + ] + }, + "repository-invitation-response-when-a-new-invitation-is-created": { + "value": { + "id": 1, + "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", + "repository": { + "id": 1296269, + "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", + "name": "Hello-World", + "full_name": "octocat/Hello-World", + "owner": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "private": false, + "html_url": "https://github.com/octocat/Hello-World", + "description": "This your first repo!", + "fork": false, + "url": "https://api.github.com/repos/octocat/Hello-World", + "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", + "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", + "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", + "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", + "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", + "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", + "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", + "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", + "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", + "events_url": "https://api.github.com/repos/octocat/Hello-World/events", + "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", + "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", + "git_url": "git:github.com/octocat/Hello-World.git", + "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", + "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", + "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", + "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", + "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", + "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", + "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", + "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", + "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", + "ssh_url": "git@github.com:octocat/Hello-World.git", + "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", + "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", + "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", + "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", + "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", + "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", + "hooks_url": "http://api.github.com/repos/octocat/Hello-World/hooks" + }, + "invitee": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "inviter": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "permissions": "write", + "created_at": "2016-06-13T14:52:50-05:00", + "url": "https://api.github.com/user/repository_invitations/1296269", + "html_url": "https://github.com/octocat/Hello-World/invitations" + } + }, + "repository-collaborator-permission-response-if-user-has-admin-permissions": { + "value": { + "permission": "admin", + "user": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + } + } + }, + "commit-comment-items": { + "value": [ + { + "html_url": "https://github.com/octocat/Hello-World/commit/6dcb09b5b57875f334f61aebed695e2e4193db5e#commitcomment-1", + "url": "https://api.github.com/repos/octocat/Hello-World/comments/1", + "id": 1, + "node_id": "MDEzOkNvbW1pdENvbW1lbnQx", + "body": "Great stuff", + "path": "file1.txt", + "position": 4, + "line": 14, + "commit_id": "6dcb09b5b57875f334f61aebed695e2e4193db5e", + "user": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "created_at": "2011-04-14T16:00:49Z", + "updated_at": "2011-04-14T16:00:49Z", + "author_association": "collaborator" + } + ] + }, + "commit-comment": { + "value": { + "html_url": "https://github.com/octocat/Hello-World/commit/6dcb09b5b57875f334f61aebed695e2e4193db5e#commitcomment-1", + "url": "https://api.github.com/repos/octocat/Hello-World/comments/1", + "id": 1, + "node_id": "MDEzOkNvbW1pdENvbW1lbnQx", + "body": "Great stuff", + "path": "file1.txt", + "position": 4, + "line": 14, + "commit_id": "6dcb09b5b57875f334f61aebed695e2e4193db5e", + "author_association": "collaborator", + "user": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "created_at": "2011-04-14T16:00:49Z", + "updated_at": "2011-04-14T16:00:49Z" + } + }, + "commit-comment-2": { + "value": { + "html_url": "https://github.com/octocat/Hello-World/commit/6dcb09b5b57875f334f61aebed695e2e4193db5e#commitcomment-1", + "url": "https://api.github.com/repos/octocat/Hello-World/comments/1", + "id": 1, + "node_id": "MDEzOkNvbW1pdENvbW1lbnQx", + "body": "Nice change", + "path": "file1.txt", + "position": 4, + "line": 14, + "commit_id": "6dcb09b5b57875f334f61aebed695e2e4193db5e", + "author_association": "collaborator", + "user": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "created_at": "2011-04-14T16:00:49Z", + "updated_at": "2011-04-14T16:00:49Z" + } + }, + "commit-items": { + "value": [ + { + "url": "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e", + "sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e", + "node_id": "MDY6Q29tbWl0NmRjYjA5YjViNTc4NzVmMzM0ZjYxYWViZWQ2OTVlMmU0MTkzZGI1ZQ==", + "html_url": "https://github.com/octocat/Hello-World/commit/6dcb09b5b57875f334f61aebed695e2e4193db5e", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e/comments", + "commit": { + "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e", + "author": { + "name": "Monalisa Octocat", + "email": "support@github.com", + "date": "2011-04-14T16:00:49Z" + }, + "committer": { + "name": "Monalisa Octocat", + "email": "support@github.com", + "date": "2011-04-14T16:00:49Z" + }, + "message": "Fix all the bugs", + "tree": { + "url": "https://api.github.com/repos/octocat/Hello-World/tree/6dcb09b5b57875f334f61aebed695e2e4193db5e", + "sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e" + }, + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null + } + }, + "author": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "committer": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "parents": [ + { + "url": "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e", + "sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e" + } + ] + } + ] + }, + "branch-short-items": { + "value": [ + { + "name": "branch_5", + "commit": { + "sha": "c5b97d5ae6c19d5c5df71a34c7fbeeda2479ccbc", + "url": "https://api.github.com/repos/octocat/Hello-World/commits/c5b97d5ae6c19d5c5df71a34c7fbeeda2479ccbc" + }, + "protected": false + } + ] + }, + "pull-request-simple-items": { + "value": [ + { + "url": "https://api.github.com/repos/octocat/Hello-World/pulls/1347", + "id": 1, + "node_id": "MDExOlB1bGxSZXF1ZXN0MQ==", + "html_url": "https://github.com/octocat/Hello-World/pull/1347", + "diff_url": "https://github.com/octocat/Hello-World/pull/1347.diff", + "patch_url": "https://github.com/octocat/Hello-World/pull/1347.patch", + "issue_url": "https://api.github.com/repos/octocat/Hello-World/issues/1347", + "commits_url": "https://api.github.com/repos/octocat/Hello-World/pulls/1347/commits", + "review_comments_url": "https://api.github.com/repos/octocat/Hello-World/pulls/1347/comments", + "review_comment_url": "https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/issues/1347/comments", + "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e", + "number": 1347, + "state": "open", + "locked": true, + "title": "Amazing new feature", + "user": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "body": "Please pull these awesome changes in!", + "labels": [ + { + "id": 208045946, + "node_id": "MDU6TGFiZWwyMDgwNDU5NDY=", + "url": "https://api.github.com/repos/octocat/Hello-World/labels/bug", + "name": "bug", + "description": "Something isn't working", + "color": "f29513", + "default": true + } + ], + "milestone": { + "url": "https://api.github.com/repos/octocat/Hello-World/milestones/1", + "html_url": "https://github.com/octocat/Hello-World/milestones/v1.0", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/milestones/1/labels", + "id": 1002604, + "node_id": "MDk6TWlsZXN0b25lMTAwMjYwNA==", + "number": 1, + "state": "open", + "title": "v1.0", + "description": "Tracking milestone for version 1.0", + "creator": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "open_issues": 4, + "closed_issues": 8, + "created_at": "2011-04-10T20:09:31Z", + "updated_at": "2014-03-03T18:58:10Z", + "closed_at": "2013-02-12T13:22:01Z", + "due_on": "2012-10-09T23:39:01Z" + }, + "active_lock_reason": "too heated", + "created_at": "2011-01-26T19:01:12Z", + "updated_at": "2011-01-26T19:01:12Z", + "closed_at": "2011-01-26T19:01:12Z", + "merged_at": "2011-01-26T19:01:12Z", + "merge_commit_sha": "e5bd3914e2e596debea16f433f57875b5b90bcd6", + "assignee": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "assignees": [ + { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "hubot", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/hubot_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/hubot", + "html_url": "https://github.com/hubot", + "followers_url": "https://api.github.com/users/hubot/followers", + "following_url": "https://api.github.com/users/hubot/following{/other_user}", + "gists_url": "https://api.github.com/users/hubot/gists{/gist_id}", + "starred_url": "https://api.github.com/users/hubot/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/hubot/subscriptions", + "organizations_url": "https://api.github.com/users/hubot/orgs", + "repos_url": "https://api.github.com/users/hubot/repos", + "events_url": "https://api.github.com/users/hubot/events{/privacy}", + "received_events_url": "https://api.github.com/users/hubot/received_events", + "type": "User", + "site_admin": true + } + ], + "requested_reviewers": [ + { + "login": "other_user", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/other_user_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/other_user", + "html_url": "https://github.com/other_user", + "followers_url": "https://api.github.com/users/other_user/followers", + "following_url": "https://api.github.com/users/other_user/following{/other_user}", + "gists_url": "https://api.github.com/users/other_user/gists{/gist_id}", + "starred_url": "https://api.github.com/users/other_user/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/other_user/subscriptions", + "organizations_url": "https://api.github.com/users/other_user/orgs", + "repos_url": "https://api.github.com/users/other_user/repos", + "events_url": "https://api.github.com/users/other_user/events{/privacy}", + "received_events_url": "https://api.github.com/users/other_user/received_events", + "type": "User", + "site_admin": false + } + ], + "requested_teams": [ + { + "id": 1, + "node_id": "MDQ6VGVhbTE=", + "url": "https://api.github.com/teams/1", + "html_url": "https://api.github.com/teams/justice-league", + "name": "Justice League", + "slug": "justice-league", + "description": "A great team.", + "privacy": "closed", + "permission": "admin", + "members_url": "https://api.github.com/teams/1/members{/member}", + "repositories_url": "https://api.github.com/teams/1/repos" + } + ], + "head": { + "label": "octocat:new-topic", + "ref": "new-topic", + "sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e", + "user": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "repo": { + "id": 1296269, + "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", + "name": "Hello-World", + "full_name": "octocat/Hello-World", + "owner": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "private": false, + "html_url": "https://github.com/octocat/Hello-World", + "description": "This your first repo!", + "fork": false, + "url": "https://api.github.com/repos/octocat/Hello-World", + "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", + "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", + "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", + "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", + "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", + "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", + "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", + "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", + "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", + "events_url": "https://api.github.com/repos/octocat/Hello-World/events", + "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", + "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", + "git_url": "git:github.com/octocat/Hello-World.git", + "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", + "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", + "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", + "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", + "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", + "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", + "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", + "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", + "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", + "ssh_url": "git@github.com:octocat/Hello-World.git", + "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", + "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", + "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", + "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", + "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", + "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", + "clone_url": "https://github.com/octocat/Hello-World.git", + "mirror_url": "git:git.example.com/octocat/Hello-World", + "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", + "svn_url": "https://svn.github.com/octocat/Hello-World", + "homepage": "https://github.com", + "language": null, + "forks_count": 9, + "stargazers_count": 80, + "watchers_count": 80, + "size": 108, + "default_branch": "master", + "open_issues_count": 0, + "is_template": true, + "topics": ["octocat", "atom", "electron", "api"], + "has_issues": true, + "has_projects": true, + "has_wiki": true, + "has_pages": false, + "has_downloads": true, + "archived": false, + "disabled": false, + "visibility": "public", + "pushed_at": "2011-01-26T19:06:43Z", + "created_at": "2011-01-26T19:01:12Z", + "updated_at": "2011-01-26T19:14:43Z", + "permissions": { "admin": false, "push": false, "pull": true }, + "allow_rebase_merge": true, + "template_repository": null, + "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", + "allow_squash_merge": true, + "delete_branch_on_merge": true, + "allow_merge_commit": true, + "subscribers_count": 42, + "network_count": 0, + "license": { + "key": "mit", + "name": "MIT License", + "url": "https://api.github.com/licenses/mit", + "spdx_id": "MIT", + "node_id": "MDc6TGljZW5zZW1pdA==", + "html_url": "https://github.com/licenses/mit" + }, + "forks": 1, + "open_issues": 1, + "watchers": 1 + } + }, + "base": { + "label": "octocat:master", + "ref": "master", + "sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e", + "user": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "repo": { + "id": 1296269, + "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", + "name": "Hello-World", + "full_name": "octocat/Hello-World", + "owner": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "private": false, + "html_url": "https://github.com/octocat/Hello-World", + "description": "This your first repo!", + "fork": false, + "url": "https://api.github.com/repos/octocat/Hello-World", + "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", + "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", + "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", + "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", + "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", + "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", + "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", + "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", + "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", + "events_url": "https://api.github.com/repos/octocat/Hello-World/events", + "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", + "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", + "git_url": "git:github.com/octocat/Hello-World.git", + "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", + "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", + "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", + "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", + "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", + "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", + "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", + "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", + "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", + "ssh_url": "git@github.com:octocat/Hello-World.git", + "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", + "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", + "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", + "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", + "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", + "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", + "clone_url": "https://github.com/octocat/Hello-World.git", + "mirror_url": "git:git.example.com/octocat/Hello-World", + "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", + "svn_url": "https://svn.github.com/octocat/Hello-World", + "homepage": "https://github.com", + "language": null, + "forks_count": 9, + "stargazers_count": 80, + "watchers_count": 80, + "size": 108, + "default_branch": "master", + "open_issues_count": 0, + "is_template": true, + "topics": ["octocat", "atom", "electron", "api"], + "has_issues": true, + "has_projects": true, + "has_wiki": true, + "has_pages": false, + "has_downloads": true, + "archived": false, + "disabled": false, + "visibility": "public", + "pushed_at": "2011-01-26T19:06:43Z", + "created_at": "2011-01-26T19:01:12Z", + "updated_at": "2011-01-26T19:14:43Z", + "permissions": { "admin": false, "push": false, "pull": true }, + "allow_rebase_merge": true, + "template_repository": null, + "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", + "allow_squash_merge": true, + "delete_branch_on_merge": true, + "allow_merge_commit": true, + "subscribers_count": 42, + "network_count": 0, + "license": { + "key": "mit", + "name": "MIT License", + "url": "https://api.github.com/licenses/mit", + "spdx_id": "MIT", + "node_id": "MDc6TGljZW5zZW1pdA==", + "html_url": "https://github.com/licenses/mit" + }, + "forks": 1, + "open_issues": 1, + "watchers": 1 + } + }, + "_links": { + "self": { + "href": "https://api.github.com/repos/octocat/Hello-World/pulls/1347" + }, + "html": { + "href": "https://github.com/octocat/Hello-World/pull/1347" + }, + "issue": { + "href": "https://api.github.com/repos/octocat/Hello-World/issues/1347" + }, + "comments": { + "href": "https://api.github.com/repos/octocat/Hello-World/issues/1347/comments" + }, + "review_comments": { + "href": "https://api.github.com/repos/octocat/Hello-World/pulls/1347/comments" + }, + "review_comment": { + "href": "https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number}" + }, + "commits": { + "href": "https://api.github.com/repos/octocat/Hello-World/pulls/1347/commits" + }, + "statuses": { + "href": "https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e" + } + }, + "author_association": "OWNER", + "draft": false + } + ] + }, + "commit": { + "value": { + "url": "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e", + "sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e", + "node_id": "MDY6Q29tbWl0NmRjYjA5YjViNTc4NzVmMzM0ZjYxYWViZWQ2OTVlMmU0MTkzZGI1ZQ==", + "html_url": "https://github.com/octocat/Hello-World/commit/6dcb09b5b57875f334f61aebed695e2e4193db5e", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e/comments", + "commit": { + "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e", + "author": { + "name": "Monalisa Octocat", + "email": "mona@github.com", + "date": "2011-04-14T16:00:49Z" + }, + "committer": { + "name": "Monalisa Octocat", + "email": "mona@github.com", + "date": "2011-04-14T16:00:49Z" + }, + "message": "Fix all the bugs", + "tree": { + "url": "https://api.github.com/repos/octocat/Hello-World/tree/6dcb09b5b57875f334f61aebed695e2e4193db5e", + "sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e" + }, + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null + } + }, + "author": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "committer": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "parents": [ + { + "url": "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e", + "sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e" + } + ], + "stats": { "additions": 104, "deletions": 4, "total": 108 }, + "files": [ + { + "filename": "file1.txt", + "additions": 10, + "deletions": 2, + "changes": 12, + "status": "modified", + "raw_url": "https://github.com/octocat/Hello-World/raw/7ca483543807a51b6079e54ac4cc392bc29ae284/file1.txt", + "blob_url": "https://github.com/octocat/Hello-World/blob/7ca483543807a51b6079e54ac4cc392bc29ae284/file1.txt", + "patch": "@@ -29,7 +29,7 @@\n....." + } + ] + } + }, + "check-suite-paginated": { + "value": { + "total_count": 1, + "check_suites": [ + { + "id": 5, + "node_id": "MDEwOkNoZWNrU3VpdGU1", + "head_branch": "master", + "head_sha": "d6fde92930d4715a2b49857d24b940956b26d2d3", + "status": "completed", + "conclusion": "neutral", + "url": "https://api.github.com/repos/github/hello-world/check-suites/5", + "before": "146e867f55c26428e5f9fade55a9bbf5e95a7912", + "after": "d6fde92930d4715a2b49857d24b940956b26d2d3", + "pull_requests": [], + "app": { + "id": 1, + "slug": "octoapp", + "node_id": "MDExOkludGVncmF0aW9uMQ==", + "owner": { + "login": "github", + "id": 1, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", + "url": "https://api.github.com/orgs/github", + "repos_url": "https://api.github.com/orgs/github/repos", + "events_url": "https://api.github.com/orgs/github/events", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": true + }, + "name": "Octocat App", + "description": "", + "external_url": "https://example.com", + "html_url": "https://github.com/apps/octoapp", + "created_at": "2017-07-08T16:18:44-04:00", + "updated_at": "2017-07-08T16:18:44-04:00", + "permissions": { + "metadata": "read", + "contents": "read", + "issues": "write", + "single_file": "write" + }, + "events": ["push", "pull_request"] + }, + "repository": { + "id": 1296269, + "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", + "name": "Hello-World", + "full_name": "octocat/Hello-World", + "owner": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "private": false, + "html_url": "https://github.com/octocat/Hello-World", + "description": "This your first repo!", + "fork": false, + "url": "https://api.github.com/repos/octocat/Hello-World", + "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", + "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", + "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", + "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", + "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", + "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", + "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", + "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", + "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", + "events_url": "https://api.github.com/repos/octocat/Hello-World/events", + "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", + "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", + "git_url": "git:github.com/octocat/Hello-World.git", + "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", + "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", + "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", + "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", + "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", + "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", + "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", + "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", + "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", + "ssh_url": "git@github.com:octocat/Hello-World.git", + "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", + "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", + "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", + "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", + "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", + "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", + "clone_url": "https://github.com/octocat/Hello-World.git", + "mirror_url": "git:git.example.com/octocat/Hello-World", + "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", + "svn_url": "https://svn.github.com/octocat/Hello-World", + "homepage": "https://github.com", + "language": null, + "forks_count": 9, + "stargazers_count": 80, + "watchers_count": 80, + "size": 108, + "default_branch": "master", + "open_issues_count": 0, + "is_template": true, + "topics": ["octocat", "atom", "electron", "api"], + "has_issues": true, + "has_projects": true, + "has_wiki": true, + "has_pages": false, + "has_downloads": true, + "archived": false, + "disabled": false, + "visibility": "public", + "pushed_at": "2011-01-26T19:06:43Z", + "created_at": "2011-01-26T19:01:12Z", + "updated_at": "2011-01-26T19:14:43Z", + "permissions": { "admin": false, "push": false, "pull": true }, + "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", + "delete_branch_on_merge": true, + "subscribers_count": 42, + "network_count": 0 + }, + "created_at": "2011-01-26T19:01:12Z", + "updated_at": "2011-01-26T19:14:43Z", + "head_commit": { + "id": "7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "tree_id": "7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "message": "Merge pull request #6 from Spaceghost/patch-1\n\nNew line at end of file.", + "timestamp": "2016-10-10T00:00:00Z", + "author": { + "name": "The Octocat", + "email": "octocat@nowhere.com" + }, + "committer": { + "name": "The Octocat", + "email": "octocat@nowhere.com" + } + }, + "latest_check_runs_count": 1, + "check_runs_url": "https://api.github.com/repos/octocat/Hello-World/check-suites/5/check-runs" + } + ] + } + }, + "combined-commit-status": { + "value": { + "state": "success", + "statuses": [ + { + "url": "https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e", + "avatar_url": "https://github.com/images/error/hubot_happy.gif", + "id": 1, + "node_id": "MDY6U3RhdHVzMQ==", + "state": "success", + "description": "Build has completed successfully", + "target_url": "https://ci.example.com/1000/output", + "context": "continuous-integration/jenkins", + "created_at": "2012-07-20T01:19:13Z", + "updated_at": "2012-07-20T01:19:13Z" + }, + { + "url": "https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e", + "avatar_url": "https://github.com/images/error/other_user_happy.gif", + "id": 2, + "node_id": "MDY6U3RhdHVzMg==", + "state": "success", + "description": "Testing has completed successfully", + "target_url": "https://ci.example.com/2000/output", + "context": "security/brakeman", + "created_at": "2012-08-20T01:19:13Z", + "updated_at": "2012-08-20T01:19:13Z" + } + ], + "sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e", + "total_count": 2, + "repository": { + "id": 1296269, + "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", + "name": "Hello-World", + "full_name": "octocat/Hello-World", + "owner": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "private": false, + "html_url": "https://github.com/octocat/Hello-World", + "description": "This your first repo!", + "fork": false, + "url": "https://api.github.com/repos/octocat/Hello-World", + "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", + "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", + "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", + "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", + "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", + "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", + "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", + "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", + "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", + "events_url": "https://api.github.com/repos/octocat/Hello-World/events", + "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", + "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", + "git_url": "git:github.com/octocat/Hello-World.git", + "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", + "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", + "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", + "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", + "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", + "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", + "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", + "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", + "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", + "ssh_url": "git@github.com:octocat/Hello-World.git", + "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", + "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", + "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", + "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", + "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", + "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", + "hooks_url": "http://api.github.com/repos/octocat/Hello-World/hooks" + }, + "commit_url": "https://api.github.com/repos/octocat/Hello-World/6dcb09b5b57875f334f61aebed695e2e4193db5e", + "url": "https://api.github.com/repos/octocat/Hello-World/6dcb09b5b57875f334f61aebed695e2e4193db5e/status" + } + }, + "status-items": { + "value": [ + { + "url": "https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e", + "avatar_url": "https://github.com/images/error/hubot_happy.gif", + "id": 1, + "node_id": "MDY6U3RhdHVzMQ==", + "state": "success", + "description": "Build has completed successfully", + "target_url": "https://ci.example.com/1000/output", + "context": "continuous-integration/jenkins", + "created_at": "2012-07-20T01:19:13Z", + "updated_at": "2012-07-20T01:19:13Z", + "creator": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + } + } + ] + }, + "code-of-conduct-2": { + "value": { + "key": "contributor_covenant", + "name": "Contributor Covenant", + "url": "https://github.com/LindseyB/cosee/blob/master/CODE_OF_CONDUCT.md", + "body": "# Contributor Covenant Code of Conduct\n\n## Our Pledge\n\nIn the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.\n\n## Our Standards\n\nExamples of behavior that contributes to creating a positive environment include=>\n\n* Using welcoming and inclusive language\n* Being respectful of differing viewpoints and experiences\n* Gracefully accepting constructive criticism\n* Focusing on what is best for the community\n* Showing empathy towards other community members\n\nExamples of unacceptable behavior by participants include=>\n\n* The use of sexualized language or imagery and unwelcome sexual attention or advances\n* Trolling, insulting/derogatory comments, and personal or political attacks\n* Public or private harassment\n* Publishing others' private information, such as a physical or electronic address, without explicit permission\n* Other conduct which could reasonably be considered inappropriate in a professional setting\n\n## Our Responsibilities\n\nProject maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response\nto any instances of unacceptable behavior.\n\nProject maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.\n\n## Scope\n\nThis Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address,\nposting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.\n\n## Enforcement\n\nInstances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at lindseyb@github.com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.\n\nProject maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.\n\n## Attribution\n\nThis Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]\n\n[homepage]: http://contributor-covenant.org\n[version]: http://contributor-covenant.org/version/1/4/\n", + "html_url": "https://github.com/LindseyB/cosee/blob/master/CODE_OF_CONDUCT.md" + } + }, + "community-profile": { + "value": { + "health_percentage": 100, + "description": "My first repository on GitHub!", + "documentation": null, + "files": { + "code_of_conduct": { + "name": "Contributor Covenant", + "key": "contributor_covenant", + "url": "https://api.github.com/codes_of_conduct/contributor_covenant", + "html_url": "https://github.com/octocat/Hello-World/blob/master/CODE_OF_CONDUCT.md" + }, + "contributing": { + "url": "https://api.github.com/repos/octocat/Hello-World/contents/CONTRIBUTING", + "html_url": "https://github.com/octocat/Hello-World/blob/master/CONTRIBUTING" + }, + "issue_template": { + "url": "https://api.github.com/repos/octocat/Hello-World/contents/ISSUE_TEMPLATE", + "html_url": "https://github.com/octocat/Hello-World/blob/master/ISSUE_TEMPLATE" + }, + "pull_request_template": { + "url": "https://api.github.com/repos/octocat/Hello-World/contents/PULL_REQUEST_TEMPLATE", + "html_url": "https://github.com/octocat/Hello-World/blob/master/PULL_REQUEST_TEMPLATE" + }, + "license": { + "name": "MIT License", + "key": "mit", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit", + "html_url": "https://github.com/octocat/Hello-World/blob/master/LICENSE", + "node_id": "MDc6TGljZW5zZW1pdA==" + }, + "readme": { + "url": "https://api.github.com/repos/octocat/Hello-World/contents/README.md", + "html_url": "https://github.com/octocat/Hello-World/blob/master/README.md" + } + }, + "updated_at": "2017-02-28T19:09:29Z", + "content_reports_enabled": true + } + }, + "commit-comparison": { + "value": { + "url": "https://api.github.com/repos/octocat/Hello-World/compare/master...topic", + "html_url": "https://github.com/octocat/Hello-World/compare/master...topic", + "permalink_url": "https://github.com/octocat/Hello-World/compare/octocat:bbcd538c8e72b8c175046e27cc8f907076331401...octocat:0328041d1152db8ae77652d1618a02e57f745f17", + "diff_url": "https://github.com/octocat/Hello-World/compare/master...topic.diff", + "patch_url": "https://github.com/octocat/Hello-World/compare/master...topic.patch", + "base_commit": { + "url": "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e", + "sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e", + "node_id": "MDY6Q29tbWl0NmRjYjA5YjViNTc4NzVmMzM0ZjYxYWViZWQ2OTVlMmU0MTkzZGI1ZQ==", + "html_url": "https://github.com/octocat/Hello-World/commit/6dcb09b5b57875f334f61aebed695e2e4193db5e", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e/comments", + "commit": { + "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e", + "author": { + "name": "Monalisa Octocat", + "email": "mona@github.com", + "date": "2011-04-14T16:00:49Z" + }, + "committer": { + "name": "Monalisa Octocat", + "email": "mona@github.com", + "date": "2011-04-14T16:00:49Z" + }, + "message": "Fix all the bugs", + "tree": { + "url": "https://api.github.com/repos/octocat/Hello-World/tree/6dcb09b5b57875f334f61aebed695e2e4193db5e", + "sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e" + }, + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null + } + }, + "author": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "committer": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "parents": [ + { + "url": "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e", + "sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e" + } + ] + }, + "merge_base_commit": { + "url": "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e", + "sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e", + "node_id": "MDY6Q29tbWl0NmRjYjA5YjViNTc4NzVmMzM0ZjYxYWViZWQ2OTVlMmU0MTkzZGI1ZQ==", + "html_url": "https://github.com/octocat/Hello-World/commit/6dcb09b5b57875f334f61aebed695e2e4193db5e", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e/comments", + "commit": { + "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e", + "author": { + "name": "Monalisa Octocat", + "email": "mona@github.com", + "date": "2011-04-14T16:00:49Z" + }, + "committer": { + "name": "Monalisa Octocat", + "email": "mona@github.com", + "date": "2011-04-14T16:00:49Z" + }, + "message": "Fix all the bugs", + "tree": { + "url": "https://api.github.com/repos/octocat/Hello-World/tree/6dcb09b5b57875f334f61aebed695e2e4193db5e", + "sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e" + }, + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null + } + }, + "author": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "committer": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "parents": [ + { + "url": "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e", + "sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e" + } + ] + }, + "status": "behind", + "ahead_by": 1, + "behind_by": 2, + "total_commits": 1, + "commits": [ + { + "url": "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e", + "sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e", + "node_id": "MDY6Q29tbWl0NmRjYjA5YjViNTc4NzVmMzM0ZjYxYWViZWQ2OTVlMmU0MTkzZGI1ZQ==", + "html_url": "https://github.com/octocat/Hello-World/commit/6dcb09b5b57875f334f61aebed695e2e4193db5e", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e/comments", + "commit": { + "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e", + "author": { + "name": "Monalisa Octocat", + "email": "mona@github.com", + "date": "2011-04-14T16:00:49Z" + }, + "committer": { + "name": "Monalisa Octocat", + "email": "mona@github.com", + "date": "2011-04-14T16:00:49Z" + }, + "message": "Fix all the bugs", + "tree": { + "url": "https://api.github.com/repos/octocat/Hello-World/tree/6dcb09b5b57875f334f61aebed695e2e4193db5e", + "sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e" + }, + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null + } + }, + "author": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "committer": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "parents": [ + { + "url": "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e", + "sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e" + } + ] + } + ], + "files": [ + { + "sha": "bbcd538c8e72b8c175046e27cc8f907076331401", + "filename": "file1.txt", + "status": "added", + "additions": 103, + "deletions": 21, + "changes": 124, + "blob_url": "https://github.com/octocat/Hello-World/blob/6dcb09b5b57875f334f61aebed695e2e4193db5e/file1.txt", + "raw_url": "https://github.com/octocat/Hello-World/raw/6dcb09b5b57875f334f61aebed695e2e4193db5e/file1.txt", + "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/file1.txt?ref=6dcb09b5b57875f334f61aebed695e2e4193db5e", + "patch": "@@ -132,7 +132,7 @@ module Test @@ -1000,7 +1000,7 @@ module Test" + } + ] + } + }, + "content-file-response-if-content-is-a-file": { + "summary": "Response if content is a file", + "value": { + "type": "file", + "encoding": "base64", + "size": 5362, + "name": "README.md", + "path": "README.md", + "content": "encoded content ...", + "sha": "3d21ec53a331a6f037a91c368710b99387d012c1", + "url": "https://api.github.com/repos/octokit/octokit.rb/contents/README.md", + "git_url": "https://api.github.com/repos/octokit/octokit.rb/git/blobs/3d21ec53a331a6f037a91c368710b99387d012c1", + "html_url": "https://github.com/octokit/octokit.rb/blob/master/README.md", + "download_url": "https://raw.githubusercontent.com/octokit/octokit.rb/master/README.md", + "_links": { + "git": "https://api.github.com/repos/octokit/octokit.rb/git/blobs/3d21ec53a331a6f037a91c368710b99387d012c1", + "self": "https://api.github.com/repos/octokit/octokit.rb/contents/README.md", + "html": "https://github.com/octokit/octokit.rb/blob/master/README.md" + } + } + }, + "content-file-response-if-content-is-a-directory": { + "summary": "Response if content is a directory", + "value": [ + { + "type": "file", + "size": 625, + "name": "octokit.rb", + "path": "lib/octokit.rb", + "sha": "fff6fe3a23bf1c8ea0692b4a883af99bee26fd3b", + "url": "https://api.github.com/repos/octokit/octokit.rb/contents/lib/octokit.rb", + "git_url": "https://api.github.com/repos/octokit/octokit.rb/git/blobs/fff6fe3a23bf1c8ea0692b4a883af99bee26fd3b", + "html_url": "https://github.com/octokit/octokit.rb/blob/master/lib/octokit.rb", + "download_url": "https://raw.githubusercontent.com/octokit/octokit.rb/master/lib/octokit.rb", + "_links": { + "self": "https://api.github.com/repos/octokit/octokit.rb/contents/lib/octokit.rb", + "git": "https://api.github.com/repos/octokit/octokit.rb/git/blobs/fff6fe3a23bf1c8ea0692b4a883af99bee26fd3b", + "html": "https://github.com/octokit/octokit.rb/blob/master/lib/octokit.rb" + } + }, + { + "type": "dir", + "size": 0, + "name": "octokit", + "path": "lib/octokit", + "sha": "a84d88e7554fc1fa21bcbc4efae3c782a70d2b9d", + "url": "https://api.github.com/repos/octokit/octokit.rb/contents/lib/octokit", + "git_url": "https://api.github.com/repos/octokit/octokit.rb/git/trees/a84d88e7554fc1fa21bcbc4efae3c782a70d2b9d", + "html_url": "https://github.com/octokit/octokit.rb/tree/master/lib/octokit", + "download_url": null, + "_links": { + "self": "https://api.github.com/repos/octokit/octokit.rb/contents/lib/octokit", + "git": "https://api.github.com/repos/octokit/octokit.rb/git/trees/a84d88e7554fc1fa21bcbc4efae3c782a70d2b9d", + "html": "https://github.com/octokit/octokit.rb/tree/master/lib/octokit" + } + } + ] + }, + "content-file-response-if-content-is-a-symlink": { + "summary": "Response if content is a symlink", + "value": { + "type": "symlink", + "target": "/path/to/symlink/target", + "size": 23, + "name": "some-symlink", + "path": "bin/some-symlink", + "sha": "452a98979c88e093d682cab404a3ec82babebb48", + "url": "https://api.github.com/repos/octokit/octokit.rb/contents/bin/some-symlink", + "git_url": "https://api.github.com/repos/octokit/octokit.rb/git/blobs/452a98979c88e093d682cab404a3ec82babebb48", + "html_url": "https://github.com/octokit/octokit.rb/blob/master/bin/some-symlink", + "download_url": "https://raw.githubusercontent.com/octokit/octokit.rb/master/bin/some-symlink", + "_links": { + "git": "https://api.github.com/repos/octokit/octokit.rb/git/blobs/452a98979c88e093d682cab404a3ec82babebb48", + "self": "https://api.github.com/repos/octokit/octokit.rb/contents/bin/some-symlink", + "html": "https://github.com/octokit/octokit.rb/blob/master/bin/some-symlink" + } + } + }, + "content-file-response-if-content-is-a-submodule": { + "summary": "Response if content is a submodule", + "value": { + "type": "submodule", + "submodule_git_url": "git://github.com/jquery/qunit.git", + "size": 0, + "name": "qunit", + "path": "test/qunit", + "sha": "6ca3721222109997540bd6d9ccd396902e0ad2f9", + "url": "https://api.github.com/repos/jquery/jquery/contents/test/qunit?ref=master", + "git_url": "https://api.github.com/repos/jquery/qunit/git/trees/6ca3721222109997540bd6d9ccd396902e0ad2f9", + "html_url": "https://github.com/jquery/qunit/tree/6ca3721222109997540bd6d9ccd396902e0ad2f9", + "download_url": null, + "_links": { + "git": "https://api.github.com/repos/jquery/qunit/git/trees/6ca3721222109997540bd6d9ccd396902e0ad2f9", + "self": "https://api.github.com/repos/jquery/jquery/contents/test/qunit?ref=master", + "html": "https://github.com/jquery/qunit/tree/6ca3721222109997540bd6d9ccd396902e0ad2f9" + } + } + }, + "file-commit-example-for-updating-a-file": { + "value": { + "content": { + "name": "hello.txt", + "path": "notes/hello.txt", + "sha": "a56507ed892d05a37c6d6128c260937ea4d287bd", + "size": 9, + "url": "https://api.github.com/repos/octocat/Hello-World/contents/notes/hello.txt", + "html_url": "https://github.com/octocat/Hello-World/blob/master/notes/hello.txt", + "git_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs/a56507ed892d05a37c6d6128c260937ea4d287bd", + "download_url": "https://raw.githubusercontent.com/octocat/HelloWorld/master/notes/hello.txt", + "type": "file", + "_links": { + "self": "https://api.github.com/repos/octocat/Hello-World/contents/notes/hello.txt", + "git": "https://api.github.com/repos/octocat/Hello-World/git/blobs/a56507ed892d05a37c6d6128c260937ea4d287bd", + "html": "https://github.com/octocat/Hello-World/blob/master/notes/hello.txt" + } + }, + "commit": { + "sha": "18a43cd8e1e3a79c786e3d808a73d23b6d212b16", + "node_id": "MDY6Q29tbWl0MThhNDNjZDhlMWUzYTc5Yzc4NmUzZDgwOGE3M2QyM2I2ZDIxMmIxNg==", + "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/18a43cd8e1e3a79c786e3d808a73d23b6d212b16", + "html_url": "https://github.com/octocat/Hello-World/git/commit/18a43cd8e1e3a79c786e3d808a73d23b6d212b16", + "author": { + "date": "2014-11-07T22:01:45Z", + "name": "Monalisa Octocat", + "email": "octocat@github.com" + }, + "committer": { + "date": "2014-11-07T22:01:45Z", + "name": "Monalisa Octocat", + "email": "octocat@github.com" + }, + "message": "my commit message", + "tree": { + "url": "https://api.github.com/repos/octocat/Hello-World/git/trees/9a21f8e2018f42ffcf369b24d2cd20bc25c9e66f", + "sha": "9a21f8e2018f42ffcf369b24d2cd20bc25c9e66f" + }, + "parents": [ + { + "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/da5a433788da5c255edad7979b328b67d79f53f6", + "html_url": "https://github.com/octocat/Hello-World/git/commit/da5a433788da5c255edad7979b328b67d79f53f6", + "sha": "da5a433788da5c255edad7979b328b67d79f53f6" + } + ], + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null + } + } + } + }, + "file-commit-example-for-creating-a-file": { + "value": { + "content": { + "name": "hello.txt", + "path": "notes/hello.txt", + "sha": "95b966ae1c166bd92f8ae7d1c313e738c731dfc3", + "size": 9, + "url": "https://api.github.com/repos/octocat/Hello-World/contents/notes/hello.txt", + "html_url": "https://github.com/octocat/Hello-World/blob/master/notes/hello.txt", + "git_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs/95b966ae1c166bd92f8ae7d1c313e738c731dfc3", + "download_url": "https://raw.githubusercontent.com/octocat/HelloWorld/master/notes/hello.txt", + "type": "file", + "_links": { + "self": "https://api.github.com/repos/octocat/Hello-World/contents/notes/hello.txt", + "git": "https://api.github.com/repos/octocat/Hello-World/git/blobs/95b966ae1c166bd92f8ae7d1c313e738c731dfc3", + "html": "https://github.com/octocat/Hello-World/blob/master/notes/hello.txt" + } + }, + "commit": { + "sha": "7638417db6d59f3c431d3e1f261cc637155684cd", + "node_id": "MDY6Q29tbWl0NzYzODQxN2RiNmQ1OWYzYzQzMWQzZTFmMjYxY2M2MzcxNTU2ODRjZA==", + "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/7638417db6d59f3c431d3e1f261cc637155684cd", + "html_url": "https://github.com/octocat/Hello-World/git/commit/7638417db6d59f3c431d3e1f261cc637155684cd", + "author": { + "date": "2014-11-07T22:01:45Z", + "name": "Monalisa Octocat", + "email": "octocat@github.com" + }, + "committer": { + "date": "2014-11-07T22:01:45Z", + "name": "Monalisa Octocat", + "email": "octocat@github.com" + }, + "message": "my commit message", + "tree": { + "url": "https://api.github.com/repos/octocat/Hello-World/git/trees/691272480426f78a0138979dd3ce63b77f706feb", + "sha": "691272480426f78a0138979dd3ce63b77f706feb" + }, + "parents": [ + { + "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/1acc419d4d6a9ce985db7be48c6349a0475975b5", + "html_url": "https://github.com/octocat/Hello-World/git/commit/1acc419d4d6a9ce985db7be48c6349a0475975b5", + "sha": "1acc419d4d6a9ce985db7be48c6349a0475975b5" + } + ], + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null + } + } + } + }, + "file-commit": { + "value": { + "content": null, + "commit": { + "sha": "7638417db6d59f3c431d3e1f261cc637155684cd", + "node_id": "MDY6Q29tbWl0NzYzODQxN2RiNmQ1OWYzYzQzMWQzZTFmMjYxY2M2MzcxNTU2ODRjZA==", + "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/7638417db6d59f3c431d3e1f261cc637155684cd", + "html_url": "https://github.com/octocat/Hello-World/git/commit/7638417db6d59f3c431d3e1f261cc637155684cd", + "author": { + "date": "2014-11-07T22:01:45Z", + "name": "Monalisa Octocat", + "email": "octocat@github.com" + }, + "committer": { + "date": "2014-11-07T22:01:45Z", + "name": "Monalisa Octocat", + "email": "octocat@github.com" + }, + "message": "my commit message", + "tree": { + "url": "https://api.github.com/repos/octocat/Hello-World/git/trees/691272480426f78a0138979dd3ce63b77f706feb", + "sha": "691272480426f78a0138979dd3ce63b77f706feb" + }, + "parents": [ + { + "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/1acc419d4d6a9ce985db7be48c6349a0475975b5", + "html_url": "https://github.com/octocat/Hello-World/git/commit/1acc419d4d6a9ce985db7be48c6349a0475975b5", + "sha": "1acc419d4d6a9ce985db7be48c6349a0475975b5" + } + ], + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null + } + } + } + }, + "contributor-items-response-if-repository-contains-content": { + "value": [ + { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false, + "contributions": 32 + } + ] + }, + "deployment-items": { + "value": [ + { + "url": "https://api.github.com/repos/octocat/example/deployments/1", + "id": 1, + "node_id": "MDEwOkRlcGxveW1lbnQx", + "sha": "a84d88e7554fc1fa21bcbc4efae3c782a70d2b9d", + "ref": "topic-branch", + "task": "deploy", + "payload": {}, + "original_environment": "staging", + "environment": "production", + "description": "Deploy request from hubot", + "creator": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "created_at": "2012-07-20T01:19:13Z", + "updated_at": "2012-07-20T01:19:13Z", + "statuses_url": "https://api.github.com/repos/octocat/example/deployments/1/statuses", + "repository_url": "https://api.github.com/repos/octocat/example", + "transient_environment": false, + "production_environment": true + } + ] + }, + "deployment-simple-example": { + "summary": "Simple example", + "value": { + "url": "https://api.github.com/repos/octocat/example/deployments/1", + "id": 1, + "node_id": "MDEwOkRlcGxveW1lbnQx", + "sha": "a84d88e7554fc1fa21bcbc4efae3c782a70d2b9d", + "ref": "topic-branch", + "task": "deploy", + "payload": {}, + "original_environment": "staging", + "environment": "production", + "description": "Deploy request from hubot", + "creator": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "created_at": "2012-07-20T01:19:13Z", + "updated_at": "2012-07-20T01:19:13Z", + "statuses_url": "https://api.github.com/repos/octocat/example/deployments/1/statuses", + "repository_url": "https://api.github.com/repos/octocat/example", + "transient_environment": false, + "production_environment": true + } + }, + "deployment-advanced-example": { + "summary": "Advanced example", + "value": { + "url": "https://api.github.com/repos/octocat/example/deployments/1", + "id": 1, + "node_id": "MDEwOkRlcGxveW1lbnQx", + "sha": "a84d88e7554fc1fa21bcbc4efae3c782a70d2b9d", + "ref": "topic-branch", + "task": "deploy", + "payload": {}, + "original_environment": "staging", + "environment": "production", + "description": "Deploy request from hubot", + "creator": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "created_at": "2012-07-20T01:19:13Z", + "updated_at": "2012-07-20T01:19:13Z", + "statuses_url": "https://api.github.com/repos/octocat/example/deployments/1/statuses", + "repository_url": "https://api.github.com/repos/octocat/example", + "transient_environment": false, + "production_environment": true + } + }, + "deployment": { + "value": { + "url": "https://api.github.com/repos/octocat/example/deployments/1", + "id": 1, + "node_id": "MDEwOkRlcGxveW1lbnQx", + "sha": "a84d88e7554fc1fa21bcbc4efae3c782a70d2b9d", + "ref": "topic-branch", + "task": "deploy", + "payload": {}, + "original_environment": "staging", + "environment": "production", + "description": "Deploy request from hubot", + "creator": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "created_at": "2012-07-20T01:19:13Z", + "updated_at": "2012-07-20T01:19:13Z", + "statuses_url": "https://api.github.com/repos/octocat/example/deployments/1/statuses", + "repository_url": "https://api.github.com/repos/octocat/example", + "transient_environment": false, + "production_environment": true + } + }, + "deployment-status-items": { + "value": [ + { + "url": "https://api.github.com/repos/octocat/example/deployments/42/statuses/1", + "id": 1, + "node_id": "MDE2OkRlcGxveW1lbnRTdGF0dXMx", + "state": "success", + "creator": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "description": "Deployment finished successfully.", + "environment": "production", + "target_url": "https://example.com/deployment/42/output", + "created_at": "2012-07-20T01:19:13Z", + "updated_at": "2012-07-20T01:19:13Z", + "deployment_url": "https://api.github.com/repos/octocat/example/deployments/42", + "repository_url": "https://api.github.com/repos/octocat/example", + "environment_url": "https://test-branch.lab.acme.com", + "log_url": "https://example.com/deployment/42/output" + } + ] + }, + "deployment-status": { + "value": { + "url": "https://api.github.com/repos/octocat/example/deployments/42/statuses/1", + "id": 1, + "node_id": "MDE2OkRlcGxveW1lbnRTdGF0dXMx", + "state": "success", + "creator": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "description": "Deployment finished successfully.", + "environment": "production", + "target_url": "https://example.com/deployment/42/output", + "created_at": "2012-07-20T01:19:13Z", + "updated_at": "2012-07-20T01:19:13Z", + "deployment_url": "https://api.github.com/repos/octocat/example/deployments/42", + "repository_url": "https://api.github.com/repos/octocat/example", + "environment_url": "https://test-branch.lab.acme.com", + "log_url": "https://example.com/deployment/42/output" + } + }, + "minimal-repository-items-2": { + "value": [ + { + "id": 1296269, + "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", + "name": "Hello-World", + "full_name": "octocat/Hello-World", + "owner": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "private": false, + "html_url": "https://github.com/octocat/Hello-World", + "description": "This your first repo!", + "fork": true, + "url": "https://api.github.com/repos/octocat/Hello-World", + "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", + "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", + "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", + "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", + "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", + "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", + "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", + "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", + "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", + "events_url": "https://api.github.com/repos/octocat/Hello-World/events", + "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", + "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", + "git_url": "git:github.com/octocat/Hello-World.git", + "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", + "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", + "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", + "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", + "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", + "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", + "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", + "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", + "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", + "ssh_url": "git@github.com:octocat/Hello-World.git", + "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", + "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", + "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", + "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", + "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", + "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", + "clone_url": "https://github.com/octocat/Hello-World.git", + "mirror_url": "git:git.example.com/octocat/Hello-World", + "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", + "svn_url": "https://svn.github.com/octocat/Hello-World", + "homepage": "https://github.com", + "language": null, + "forks_count": 9, + "stargazers_count": 80, + "watchers_count": 80, + "size": 108, + "default_branch": "master", + "open_issues_count": 0, + "is_template": true, + "topics": ["octocat", "atom", "electron", "api"], + "has_issues": true, + "has_projects": true, + "has_wiki": true, + "has_pages": false, + "has_downloads": true, + "archived": false, + "disabled": false, + "visibility": "public", + "pushed_at": "2011-01-26T19:06:43Z", + "created_at": "2011-01-26T19:01:12Z", + "updated_at": "2011-01-26T19:14:43Z", + "permissions": { "admin": false, "push": false, "pull": true }, + "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", + "delete_branch_on_merge": true, + "subscribers_count": 42, + "network_count": 0, + "license": { + "key": "mit", + "name": "MIT License", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit", + "node_id": "MDc6TGljZW5zZW1pdA==" + } + } + ] + }, + "short-blob": { + "value": { + "url": "https://api.github.com/repos/octocat/example/git/blobs/3a0f86fb8db8eea7ccbb9a95f325ddbedfb25e15", + "sha": "3a0f86fb8db8eea7ccbb9a95f325ddbedfb25e15" + } + }, + "blob": { + "value": { + "content": "Q29udGVudCBvZiB0aGUgYmxvYg==", + "encoding": "base64", + "url": "https://api.github.com/repos/octocat/example/git/blobs/3a0f86fb8db8eea7ccbb9a95f325ddbedfb25e15", + "sha": "3a0f86fb8db8eea7ccbb9a95f325ddbedfb25e15", + "size": 19, + "node_id": "Q29udGVudCBvZiB0aGUgYmxvYg==" + } + }, + "git-commit": { + "value": { + "sha": "7638417db6d59f3c431d3e1f261cc637155684cd", + "node_id": "MDY6Q29tbWl0NzYzODQxN2RiNmQ1OWYzYzQzMWQzZTFmMjYxY2M2MzcxNTU2ODRjZA==", + "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/7638417db6d59f3c431d3e1f261cc637155684cd", + "author": { + "date": "2014-11-07T22:01:45Z", + "name": "Monalisa Octocat", + "email": "octocat@github.com" + }, + "committer": { + "date": "2014-11-07T22:01:45Z", + "name": "Monalisa Octocat", + "email": "octocat@github.com" + }, + "message": "my commit message", + "tree": { + "url": "https://api.github.com/repos/octocat/Hello-World/git/trees/827efc6d56897b048c772eb4087f854f46256132", + "sha": "827efc6d56897b048c772eb4087f854f46256132" + }, + "parents": [ + { + "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/7d1b31e74ee336d15cbd21741bc88a537ed063a0", + "sha": "7d1b31e74ee336d15cbd21741bc88a537ed063a0" + } + ], + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null + } + } + }, + "git-commit-2": { + "value": { + "sha": "7638417db6d59f3c431d3e1f261cc637155684cd", + "node_id": "MDY6Q29tbWl0NmRjYjA5YjViNTc4NzVmMzM0ZjYxYWViZWQ2OTVlMmU0MTkzZGI1ZQ==", + "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/7638417db6d59f3c431d3e1f261cc637155684cd", + "author": { + "date": "2014-11-07T22:01:45Z", + "name": "Monalisa Octocat", + "email": "octocat@github.com" + }, + "committer": { + "date": "2014-11-07T22:01:45Z", + "name": "Monalisa Octocat", + "email": "octocat@github.com" + }, + "message": "added readme, because im a good github citizen", + "tree": { + "url": "https://api.github.com/repos/octocat/Hello-World/git/trees/691272480426f78a0138979dd3ce63b77f706feb", + "sha": "691272480426f78a0138979dd3ce63b77f706feb" + }, + "parents": [ + { + "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/1acc419d4d6a9ce985db7be48c6349a0475975b5", + "sha": "1acc419d4d6a9ce985db7be48c6349a0475975b5" + } + ], + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null + } + } + }, + "git-ref-items": { + "value": [ + { + "ref": "refs/heads/feature-a", + "node_id": "MDM6UmVmcmVmcy9oZWFkcy9mZWF0dXJlLWE=", + "url": "https://api.github.com/repos/octocat/Hello-World/git/refs/heads/feature-a", + "object": { + "type": "commit", + "sha": "aa218f56b14c9653891f9e74264a383fa43fefbd", + "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/aa218f56b14c9653891f9e74264a383fa43fefbd" + } + }, + { + "ref": "refs/heads/feature-b", + "node_id": "MDM6UmVmcmVmcy9oZWFkcy9mZWF0dXJlLWI=", + "url": "https://api.github.com/repos/octocat/Hello-World/git/refs/heads/feature-b", + "object": { + "type": "commit", + "sha": "612077ae6dffb4d2fbd8ce0cccaa58893b07b5ac", + "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/612077ae6dffb4d2fbd8ce0cccaa58893b07b5ac" + } + } + ] + }, + "git-ref": { + "value": { + "ref": "refs/heads/featureA", + "node_id": "MDM6UmVmcmVmcy9oZWFkcy9mZWF0dXJlQQ==", + "url": "https://api.github.com/repos/octocat/Hello-World/git/refs/heads/featureA", + "object": { + "type": "commit", + "sha": "aa218f56b14c9653891f9e74264a383fa43fefbd", + "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/aa218f56b14c9653891f9e74264a383fa43fefbd" + } + } + }, + "git-tag": { + "value": { + "node_id": "MDM6VGFnOTQwYmQzMzYyNDhlZmFlMGY5ZWU1YmM3YjJkNWM5ODU4ODdiMTZhYw==", + "tag": "v0.0.1", + "sha": "940bd336248efae0f9ee5bc7b2d5c985887b16ac", + "url": "https://api.github.com/repos/octocat/Hello-World/git/tags/940bd336248efae0f9ee5bc7b2d5c985887b16ac", + "message": "initial version", + "tagger": { + "name": "Monalisa Octocat", + "email": "octocat@github.com", + "date": "2014-11-07T22:01:45Z" + }, + "object": { + "type": "commit", + "sha": "c3d0be41ecbe669545ee3e94d31ed9a4bc91ee3c", + "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/c3d0be41ecbe669545ee3e94d31ed9a4bc91ee3c" + }, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null + } + } + }, + "git-tree": { + "value": { + "sha": "cd8274d15fa3ae2ab983129fb037999f264ba9a7", + "url": "https://api.github.com/repos/octocat/Hello-World/trees/cd8274d15fa3ae2ab983129fb037999f264ba9a7", + "tree": [ + { + "path": "file.rb", + "mode": "100644", + "type": "blob", + "size": 132, + "sha": "7c258a9869f33c1e1e1f74fbb32f07c86cb5a75b", + "url": "https://api.github.com/repos/octocat/Hello-World/git/blobs/7c258a9869f33c1e1e1f74fbb32f07c86cb5a75b" + } + ], + "truncated": true + } + }, + "git-tree-default-response": { + "summary": "Default response", + "value": { + "sha": "9fb037999f264ba9a7fc6274d15fa3ae2ab98312", + "url": "https://api.github.com/repos/octocat/Hello-World/trees/9fb037999f264ba9a7fc6274d15fa3ae2ab98312", + "tree": [ + { + "path": "file.rb", + "mode": "100644", + "type": "blob", + "size": 30, + "sha": "44b4fc6d56897b048c772eb4087f854f46256132", + "url": "https://api.github.com/repos/octocat/Hello-World/git/blobs/44b4fc6d56897b048c772eb4087f854f46256132" + }, + { + "path": "subdir", + "mode": "040000", + "type": "tree", + "sha": "f484d249c660418515fb01c2b9662073663c242e", + "url": "https://api.github.com/repos/octocat/Hello-World/git/blobs/f484d249c660418515fb01c2b9662073663c242e" + }, + { + "path": "exec_file", + "mode": "100755", + "type": "blob", + "size": 75, + "sha": "45b983be36b73c0788dc9cbcb76cbb80fc7bb057", + "url": "https://api.github.com/repos/octocat/Hello-World/git/blobs/45b983be36b73c0788dc9cbcb76cbb80fc7bb057" + } + ], + "truncated": false + } + }, + "git-tree-response-recursively-retrieving-a-tree": { + "summary": "Response recursively retrieving a tree", + "value": { + "sha": "fc6274d15fa3ae2ab983129fb037999f264ba9a7", + "url": "https://api.github.com/repos/octocat/Hello-World/trees/fc6274d15fa3ae2ab983129fb037999f264ba9a7", + "tree": [ + { + "path": "subdir/file.txt", + "mode": "100644", + "type": "blob", + "size": 132, + "sha": "7c258a9869f33c1e1e1f74fbb32f07c86cb5a75b", + "url": "https://api.github.com/repos/octocat/Hello-World/git/7c258a9869f33c1e1e1f74fbb32f07c86cb5a75b" + } + ], + "truncated": false + } + }, + "hook-items": { + "value": [ + { + "type": "Repository", + "id": 12345678, + "name": "web", + "active": true, + "events": ["push", "pull_request"], + "config": { + "content_type": "json", + "insecure_ssl": "0", + "url": "https://example.com/webhook" + }, + "updated_at": "2019-06-03T00:57:16Z", + "created_at": "2019-06-03T00:57:16Z", + "url": "https://api.github.com/repos/octocat/Hello-World/hooks/12345678", + "test_url": "https://api.github.com/repos/octocat/Hello-World/hooks/12345678/test", + "ping_url": "https://api.github.com/repos/octocat/Hello-World/hooks/12345678/pings", + "last_response": { + "code": null, + "status": "unused", + "message": null + } + } + ] + }, + "hook": { + "value": { + "type": "Repository", + "id": 12345678, + "name": "web", + "active": true, + "events": ["push", "pull_request"], + "config": { + "content_type": "json", + "insecure_ssl": "0", + "url": "https://example.com/webhook" + }, + "updated_at": "2019-06-03T00:57:16Z", + "created_at": "2019-06-03T00:57:16Z", + "url": "https://api.github.com/repos/octocat/Hello-World/hooks/12345678", + "test_url": "https://api.github.com/repos/octocat/Hello-World/hooks/12345678/test", + "ping_url": "https://api.github.com/repos/octocat/Hello-World/hooks/12345678/pings", + "last_response": { "code": null, "status": "unused", "message": null } + } + }, + "import": { + "value": { + "vcs": "subversion", + "use_lfs": "opt_in", + "vcs_url": "http://svn.mycompany.com/svn/myproject", + "status": "complete", + "status_text": "Done", + "has_large_files": true, + "large_files_size": 132331036, + "large_files_count": 1, + "authors_count": 4, + "url": "https://api.github.com/repos/octocat/socm/import", + "html_url": "https://import.github.com/octocat/socm/import", + "authors_url": "https://api.github.com/repos/octocat/socm/import/authors", + "repository_url": "https://api.github.com/repos/octocat/socm" + } + }, + "import-2": { + "value": { + "vcs": "subversion", + "use_lfs": "undecided", + "vcs_url": "http://svn.mycompany.com/svn/myproject", + "status": "importing", + "status_text": "Importing...", + "has_large_files": false, + "large_files_size": 0, + "large_files_count": 0, + "authors_count": 0, + "commit_count": 1042, + "url": "https://api.github.com/repos/octocat/socm/import", + "html_url": "https://import.github.com/octocat/socm/import", + "authors_url": "https://api.github.com/repos/octocat/socm/import/authors", + "repository_url": "https://api.github.com/repos/octocat/socm" + } + }, + "import-example-1": { + "summary": "Example 1", + "value": { + "vcs": "subversion", + "use_lfs": "undecided", + "vcs_url": "http://svn.mycompany.com/svn/myproject", + "status": "detecting", + "url": "https://api.github.com/repos/octocat/socm/import", + "html_url": "https://import.github.com/octocat/socm/import", + "authors_url": "https://api.github.com/repos/octocat/socm/import/authors", + "repository_url": "https://api.github.com/repos/octocat/socm" + } + }, + "import-example-2": { + "summary": "Example 2", + "value": { + "vcs": "tfvc", + "use_lfs": "undecided", + "vcs_url": "http://tfs.mycompany.com/tfs/myproject", + "tfvc_project": "project1", + "status": "importing", + "status_text": "Importing...", + "has_large_files": false, + "large_files_size": 0, + "large_files_count": 0, + "authors_count": 0, + "commit_count": 1042, + "url": "https://api.github.com/repos/octocat/socm/import", + "html_url": "https://import.github.com/octocat/socm/import", + "authors_url": "https://api.github.com/repos/octocat/socm/import/authors", + "repository_url": "https://api.github.com/repos/octocat/socm" + } + }, + "import-response": { + "summary": "Response", + "value": { + "vcs": "subversion", + "use_lfs": "undecided", + "vcs_url": "http://svn.mycompany.com/svn/myproject", + "status": "importing", + "status_text": "Importing...", + "has_large_files": false, + "large_files_size": 0, + "large_files_count": 0, + "authors_count": 0, + "commit_count": 1042, + "url": "https://api.github.com/repos/octocat/socm/import", + "html_url": "https://import.github.com/octocat/socm/import", + "authors_url": "https://api.github.com/repos/octocat/socm/import/authors", + "repository_url": "https://api.github.com/repos/octocat/socm" + } + }, + "porter-author-items": { + "value": [ + { + "id": 2268557, + "remote_id": "nobody@fc7da526-431c-80fe-3c8c-c148ff18d7ef", + "remote_name": "nobody", + "email": "hubot@github.com", + "name": "Hubot", + "url": "https://api.github.com/repos/octocat/socm/import/authors/2268557", + "import_url": "https://api.github.com/repos/octocat/socm/import" + }, + { + "id": 2268558, + "remote_id": "svner@fc7da526-431c-80fe-3c8c-c148ff18d7ef", + "remote_name": "svner", + "email": "svner@fc7da526-431c-80fe-3c8c-c148ff18d7ef", + "name": "svner", + "url": "https://api.github.com/repos/octocat/socm/import/authors/2268558", + "import_url": "https://api.github.com/repos/octocat/socm/import" + }, + { + "id": 2268559, + "remote_id": "svner@example.com@fc7da526-431c-80fe-3c8c-c148ff18d7ef", + "remote_name": "svner@example.com", + "email": "svner@example.com@fc7da526-431c-80fe-3c8c-c148ff18d7ef", + "name": "svner@example.com", + "url": "https://api.github.com/repos/octocat/socm/import/authors/2268559", + "import_url": "https://api.github.com/repos/octocat/socm/import" + } + ] + }, + "porter-author": { + "value": { + "id": 2268557, + "remote_id": "nobody@fc7da526-431c-80fe-3c8c-c148ff18d7ef", + "remote_name": "nobody", + "email": "hubot@github.com", + "name": "Hubot", + "url": "https://api.github.com/repos/octocat/socm/import/authors/2268557", + "import_url": "https://api.github.com/repos/octocat/socm/import" + } + }, + "porter-large-file-items": { + "value": [ + { + "ref_name": "refs/heads/master", + "path": "foo/bar/1", + "oid": "d3d9446802a44259755d38e6d163e820", + "size": 10485760 + }, + { + "ref_name": "refs/heads/master", + "path": "foo/bar/2", + "oid": "6512bd43d9caa6e02c990b0a82652dca", + "size": 11534336 + }, + { + "ref_name": "refs/heads/master", + "path": "foo/bar/3", + "oid": "c20ad4d76fe97759aa27a0c99bff6710", + "size": 12582912 + } + ] + }, + "interaction-limit-2": { + "value": { + "limit": "collaborators_only", + "origin": "repository", + "expires_at": "2018-08-17T04:18:39Z" + } + }, + "repository-invitation-items": { + "value": [ + { + "id": 1, + "repository": { + "id": 1296269, + "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", + "name": "Hello-World", + "full_name": "octocat/Hello-World", + "owner": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "private": false, + "html_url": "https://github.com/octocat/Hello-World", + "description": "This your first repo!", + "fork": false, + "url": "https://api.github.com/repos/octocat/Hello-World", + "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", + "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", + "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", + "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", + "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", + "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", + "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", + "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", + "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", + "events_url": "https://api.github.com/repos/octocat/Hello-World/events", + "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", + "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", + "git_url": "git:github.com/octocat/Hello-World.git", + "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", + "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", + "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", + "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", + "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", + "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", + "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", + "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", + "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", + "ssh_url": "git@github.com:octocat/Hello-World.git", + "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", + "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", + "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", + "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", + "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", + "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", + "hooks_url": "http://api.github.com/repos/octocat/Hello-World/hooks" + }, + "invitee": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "inviter": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "permissions": "write", + "created_at": "2016-06-13T14:52:50-05:00", + "url": "https://api.github.com/user/repository_invitations/1296269", + "html_url": "https://github.com/octocat/Hello-World/invitations", + "node_id": "MDQ6VXNlcjE=" + } + ] + }, + "repository-invitation": { + "value": { + "id": 1, + "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", + "repository": { + "id": 1296269, + "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", + "name": "Hello-World", + "full_name": "octocat/Hello-World", + "owner": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "private": false, + "html_url": "https://github.com/octocat/Hello-World", + "description": "This your first repo!", + "fork": false, + "url": "https://api.github.com/repos/octocat/Hello-World", + "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", + "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", + "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", + "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", + "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", + "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", + "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", + "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", + "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", + "events_url": "https://api.github.com/repos/octocat/Hello-World/events", + "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", + "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", + "git_url": "git:github.com/octocat/Hello-World.git", + "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", + "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", + "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", + "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", + "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", + "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", + "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", + "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", + "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", + "ssh_url": "git@github.com:octocat/Hello-World.git", + "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", + "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", + "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", + "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", + "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", + "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", + "hooks_url": "http://api.github.com/repos/octocat/Hello-World/hooks" + }, + "invitee": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "inviter": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "permissions": "write", + "created_at": "2016-06-13T14:52:50-05:00", + "url": "https://api.github.com/user/repository_invitations/1296269", + "html_url": "https://github.com/octocat/Hello-World/invitations" + } + }, + "issue-simple-items": { + "value": [ + { + "id": 1, + "node_id": "MDU6SXNzdWUx", + "url": "https://api.github.com/repos/octocat/Hello-World/issues/1347", + "repository_url": "https://api.github.com/repos/octocat/Hello-World", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/issues/1347/labels{/name}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/issues/1347/comments", + "events_url": "https://api.github.com/repos/octocat/Hello-World/issues/1347/events", + "html_url": "https://github.com/octocat/Hello-World/issues/1347", + "number": 1347, + "state": "open", + "title": "Found a bug", + "body": "I'm having a problem with this.", + "user": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "labels": [ + { + "id": 208045946, + "node_id": "MDU6TGFiZWwyMDgwNDU5NDY=", + "url": "https://api.github.com/repos/octocat/Hello-World/labels/bug", + "name": "bug", + "description": "Something isn't working", + "color": "f29513", + "default": true + } + ], + "assignee": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "assignees": [ + { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + } + ], + "milestone": { + "url": "https://api.github.com/repos/octocat/Hello-World/milestones/1", + "html_url": "https://github.com/octocat/Hello-World/milestones/v1.0", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/milestones/1/labels", + "id": 1002604, + "node_id": "MDk6TWlsZXN0b25lMTAwMjYwNA==", + "number": 1, + "state": "open", + "title": "v1.0", + "description": "Tracking milestone for version 1.0", + "creator": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "open_issues": 4, + "closed_issues": 8, + "created_at": "2011-04-10T20:09:31Z", + "updated_at": "2014-03-03T18:58:10Z", + "closed_at": "2013-02-12T13:22:01Z", + "due_on": "2012-10-09T23:39:01Z" + }, + "locked": true, + "active_lock_reason": "too heated", + "comments": 0, + "pull_request": { + "url": "https://api.github.com/repos/octocat/Hello-World/pulls/1347", + "html_url": "https://github.com/octocat/Hello-World/pull/1347", + "diff_url": "https://github.com/octocat/Hello-World/pull/1347.diff", + "patch_url": "https://github.com/octocat/Hello-World/pull/1347.patch" + }, + "closed_at": null, + "created_at": "2011-04-22T13:33:48Z", + "updated_at": "2011-04-22T13:33:48Z", + "author_association": "collaborator" + } + ] + }, + "issue": { + "value": { + "id": 1, + "node_id": "MDU6SXNzdWUx", + "url": "https://api.github.com/repos/octocat/Hello-World/issues/1347", + "repository_url": "https://api.github.com/repos/octocat/Hello-World", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/issues/1347/labels{/name}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/issues/1347/comments", + "events_url": "https://api.github.com/repos/octocat/Hello-World/issues/1347/events", + "html_url": "https://github.com/octocat/Hello-World/issues/1347", + "number": 1347, + "state": "open", + "title": "Found a bug", + "body": "I'm having a problem with this.", + "user": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "labels": [ + { + "id": 208045946, + "node_id": "MDU6TGFiZWwyMDgwNDU5NDY=", + "url": "https://api.github.com/repos/octocat/Hello-World/labels/bug", + "name": "bug", + "description": "Something isn't working", + "color": "f29513", + "default": true + } + ], + "assignee": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "assignees": [ + { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + } + ], + "milestone": { + "url": "https://api.github.com/repos/octocat/Hello-World/milestones/1", + "html_url": "https://github.com/octocat/Hello-World/milestones/v1.0", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/milestones/1/labels", + "id": 1002604, + "node_id": "MDk6TWlsZXN0b25lMTAwMjYwNA==", + "number": 1, + "state": "open", + "title": "v1.0", + "description": "Tracking milestone for version 1.0", + "creator": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "open_issues": 4, + "closed_issues": 8, + "created_at": "2011-04-10T20:09:31Z", + "updated_at": "2014-03-03T18:58:10Z", + "closed_at": "2013-02-12T13:22:01Z", + "due_on": "2012-10-09T23:39:01Z" + }, + "locked": true, + "active_lock_reason": "too heated", + "comments": 0, + "pull_request": { + "url": "https://api.github.com/repos/octocat/Hello-World/pulls/1347", + "html_url": "https://github.com/octocat/Hello-World/pull/1347", + "diff_url": "https://github.com/octocat/Hello-World/pull/1347.diff", + "patch_url": "https://github.com/octocat/Hello-World/pull/1347.patch" + }, + "closed_at": null, + "created_at": "2011-04-22T13:33:48Z", + "updated_at": "2011-04-22T13:33:48Z", + "closed_by": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "author_association": "collaborator" + } + }, + "issue-comment-items": { + "value": [ + { + "id": 1, + "node_id": "MDEyOklzc3VlQ29tbWVudDE=", + "url": "https://api.github.com/repos/octocat/Hello-World/issues/comments/1", + "html_url": "https://github.com/octocat/Hello-World/issues/1347#issuecomment-1", + "body": "Me too", + "user": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "created_at": "2011-04-14T16:00:49Z", + "updated_at": "2011-04-14T16:00:49Z", + "issue_url": "https://api.github.com/repos/octocat/Hello-World/issues/1347", + "author_association": "collaborator" + } + ] + }, + "issue-comment": { + "value": { + "id": 1, + "node_id": "MDEyOklzc3VlQ29tbWVudDE=", + "url": "https://api.github.com/repos/octocat/Hello-World/issues/comments/1", + "html_url": "https://github.com/octocat/Hello-World/issues/1347#issuecomment-1", + "body": "Me too", + "user": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "created_at": "2011-04-14T16:00:49Z", + "updated_at": "2011-04-14T16:00:49Z", + "issue_url": "https://api.github.com/repos/octocat/Hello-World/issues/1347", + "author_association": "collaborator" + } + }, + "issue-event-items": { + "value": [ + { + "id": 1, + "node_id": "MDEwOklzc3VlRXZlbnQx", + "url": "https://api.github.com/repos/octocat/Hello-World/issues/events/1", + "actor": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "event": "closed", + "commit_id": "6dcb09b5b57875f334f61aebed695e2e4193db5e", + "commit_url": "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e", + "created_at": "2011-04-14T16:00:49Z", + "issue": { + "id": 1, + "node_id": "MDU6SXNzdWUx", + "url": "https://api.github.com/repos/octocat/Hello-World/issues/1347", + "repository_url": "https://api.github.com/repos/octocat/Hello-World", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/issues/1347/labels{/name}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/issues/1347/comments", + "events_url": "https://api.github.com/repos/octocat/Hello-World/issues/1347/events", + "html_url": "https://github.com/octocat/Hello-World/issues/1347", + "number": 1347, + "state": "open", + "title": "Found a bug", + "body": "I'm having a problem with this.", + "user": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "labels": [ + { + "id": 208045946, + "node_id": "MDU6TGFiZWwyMDgwNDU5NDY=", + "url": "https://api.github.com/repos/octocat/Hello-World/labels/bug", + "name": "bug", + "description": "Something isn't working", + "color": "f29513", + "default": true + } + ], + "assignee": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "assignees": [ + { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + } + ], + "milestone": { + "url": "https://api.github.com/repos/octocat/Hello-World/milestones/1", + "html_url": "https://github.com/octocat/Hello-World/milestones/v1.0", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/milestones/1/labels", + "id": 1002604, + "node_id": "MDk6TWlsZXN0b25lMTAwMjYwNA==", + "number": 1, + "state": "open", + "title": "v1.0", + "description": "Tracking milestone for version 1.0", + "creator": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "open_issues": 4, + "closed_issues": 8, + "created_at": "2011-04-10T20:09:31Z", + "updated_at": "2014-03-03T18:58:10Z", + "closed_at": "2013-02-12T13:22:01Z", + "due_on": "2012-10-09T23:39:01Z" + }, + "locked": true, + "active_lock_reason": "too heated", + "comments": 0, + "pull_request": { + "url": "https://api.github.com/repos/octocat/Hello-World/pulls/1347", + "html_url": "https://github.com/octocat/Hello-World/pull/1347", + "diff_url": "https://github.com/octocat/Hello-World/pull/1347.diff", + "patch_url": "https://github.com/octocat/Hello-World/pull/1347.patch" + }, + "closed_at": null, + "created_at": "2011-04-22T13:33:48Z", + "updated_at": "2011-04-22T13:33:48Z", + "author_association": "collaborator" + } + } + ] + }, + "issue-event": { + "value": { + "id": 1, + "node_id": "MDEwOklzc3VlRXZlbnQx", + "url": "https://api.github.com/repos/octocat/Hello-World/issues/events/1", + "actor": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "event": "closed", + "commit_id": "6dcb09b5b57875f334f61aebed695e2e4193db5e", + "commit_url": "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e", + "created_at": "2011-04-14T16:00:49Z", + "issue": { + "id": 1, + "node_id": "MDU6SXNzdWUx", + "url": "https://api.github.com/repos/octocat/Hello-World/issues/1347", + "repository_url": "https://api.github.com/repos/octocat/Hello-World", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/issues/1347/labels{/name}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/issues/1347/comments", + "events_url": "https://api.github.com/repos/octocat/Hello-World/issues/1347/events", + "html_url": "https://github.com/octocat/Hello-World/issues/1347", + "number": 1347, + "state": "open", + "title": "Found a bug", + "body": "I'm having a problem with this.", + "user": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "labels": [ + { + "id": 208045946, + "node_id": "MDU6TGFiZWwyMDgwNDU5NDY=", + "url": "https://api.github.com/repos/octocat/Hello-World/labels/bug", + "name": "bug", + "description": "Something isn't working", + "color": "f29513", + "default": true + } + ], + "assignee": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "assignees": [ + { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + } + ], + "milestone": { + "url": "https://api.github.com/repos/octocat/Hello-World/milestones/1", + "html_url": "https://github.com/octocat/Hello-World/milestones/v1.0", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/milestones/1/labels", + "id": 1002604, + "node_id": "MDk6TWlsZXN0b25lMTAwMjYwNA==", + "number": 1, + "state": "open", + "title": "v1.0", + "description": "Tracking milestone for version 1.0", + "creator": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "open_issues": 4, + "closed_issues": 8, + "created_at": "2011-04-10T20:09:31Z", + "updated_at": "2014-03-03T18:58:10Z", + "closed_at": "2013-02-12T13:22:01Z", + "due_on": "2012-10-09T23:39:01Z" + }, + "locked": true, + "active_lock_reason": "too heated", + "comments": 0, + "pull_request": { + "url": "https://api.github.com/repos/octocat/Hello-World/pulls/1347", + "html_url": "https://github.com/octocat/Hello-World/pull/1347", + "diff_url": "https://github.com/octocat/Hello-World/pull/1347.diff", + "patch_url": "https://github.com/octocat/Hello-World/pull/1347.patch" + }, + "closed_at": null, + "created_at": "2011-04-22T13:33:48Z", + "updated_at": "2011-04-22T13:33:48Z", + "author_association": "collaborator" + } + } + }, + "issue-simple": { + "value": { + "id": 1, + "node_id": "MDU6SXNzdWUx", + "url": "https://api.github.com/repos/octocat/Hello-World/issues/1347", + "repository_url": "https://api.github.com/repos/octocat/Hello-World", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/issues/1347/labels{/name}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/issues/1347/comments", + "events_url": "https://api.github.com/repos/octocat/Hello-World/issues/1347/events", + "html_url": "https://github.com/octocat/Hello-World/issues/1347", + "number": 1347, + "state": "open", + "title": "Found a bug", + "body": "I'm having a problem with this.", + "user": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "labels": [ + { + "id": 208045946, + "node_id": "MDU6TGFiZWwyMDgwNDU5NDY=", + "url": "https://api.github.com/repos/octocat/Hello-World/labels/bug", + "name": "bug", + "description": "Something isn't working", + "color": "f29513", + "default": true + } + ], + "assignee": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "assignees": [ + { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "hubot", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/hubot_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/hubot", + "html_url": "https://github.com/hubot", + "followers_url": "https://api.github.com/users/hubot/followers", + "following_url": "https://api.github.com/users/hubot/following{/other_user}", + "gists_url": "https://api.github.com/users/hubot/gists{/gist_id}", + "starred_url": "https://api.github.com/users/hubot/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/hubot/subscriptions", + "organizations_url": "https://api.github.com/users/hubot/orgs", + "repos_url": "https://api.github.com/users/hubot/repos", + "events_url": "https://api.github.com/users/hubot/events{/privacy}", + "received_events_url": "https://api.github.com/users/hubot/received_events", + "type": "User", + "site_admin": true + }, + { + "login": "other_user", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/other_user_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/other_user", + "html_url": "https://github.com/other_user", + "followers_url": "https://api.github.com/users/other_user/followers", + "following_url": "https://api.github.com/users/other_user/following{/other_user}", + "gists_url": "https://api.github.com/users/other_user/gists{/gist_id}", + "starred_url": "https://api.github.com/users/other_user/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/other_user/subscriptions", + "organizations_url": "https://api.github.com/users/other_user/orgs", + "repos_url": "https://api.github.com/users/other_user/repos", + "events_url": "https://api.github.com/users/other_user/events{/privacy}", + "received_events_url": "https://api.github.com/users/other_user/received_events", + "type": "User", + "site_admin": false + } + ], + "milestone": { + "url": "https://api.github.com/repos/octocat/Hello-World/milestones/1", + "html_url": "https://github.com/octocat/Hello-World/milestones/v1.0", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/milestones/1/labels", + "id": 1002604, + "node_id": "MDk6TWlsZXN0b25lMTAwMjYwNA==", + "number": 1, + "state": "open", + "title": "v1.0", + "description": "Tracking milestone for version 1.0", + "creator": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "open_issues": 4, + "closed_issues": 8, + "created_at": "2011-04-10T20:09:31Z", + "updated_at": "2014-03-03T18:58:10Z", + "closed_at": "2013-02-12T13:22:01Z", + "due_on": "2012-10-09T23:39:01Z" + }, + "locked": true, + "active_lock_reason": "too heated", + "comments": 0, + "pull_request": { + "url": "https://api.github.com/repos/octocat/Hello-World/pulls/1347", + "html_url": "https://github.com/octocat/Hello-World/pull/1347", + "diff_url": "https://github.com/octocat/Hello-World/pull/1347.diff", + "patch_url": "https://github.com/octocat/Hello-World/pull/1347.patch" + }, + "closed_at": null, + "created_at": "2011-04-22T13:33:48Z", + "updated_at": "2011-04-22T13:33:48Z", + "author_association": "collaborator" + } + }, + "issue-event-for-issue-items": { + "value": [ + { + "id": 1, + "node_id": "MDEwOklzc3VlRXZlbnQx", + "url": "https://api.github.com/repos/octocat/Hello-World/issues/events/1", + "actor": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "event": "closed", + "commit_id": "6dcb09b5b57875f334f61aebed695e2e4193db5e", + "commit_url": "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e", + "created_at": "2011-04-14T16:00:49Z" + } + ] + }, + "label-items": { + "value": [ + { + "id": 208045946, + "node_id": "MDU6TGFiZWwyMDgwNDU5NDY=", + "url": "https://api.github.com/repos/octocat/Hello-World/labels/bug", + "name": "bug", + "description": "Something isn't working", + "color": "f29513", + "default": true + }, + { + "id": 208045947, + "node_id": "MDU6TGFiZWwyMDgwNDU5NDc=", + "url": "https://api.github.com/repos/octocat/Hello-World/labels/enhancement", + "name": "enhancement", + "description": "New feature or request", + "color": "a2eeef", + "default": false + } + ] + }, + "label-items-2": { + "value": [ + { + "id": 208045946, + "node_id": "MDU6TGFiZWwyMDgwNDU5NDY=", + "url": "https://api.github.com/repos/octocat/Hello-World/labels/bug", + "name": "bug", + "description": "Something isn't working", + "color": "f29513", + "default": true + } + ] + }, + "deploy-key-items": { + "value": [ + { + "id": 1, + "key": "ssh-rsa AAA...", + "url": "https://api.github.com/repos/octocat/Hello-World/keys/1", + "title": "octocat@octomac", + "verified": true, + "created_at": "2014-12-10T15:53:42Z", + "read_only": true + } + ] + }, + "deploy-key": { + "value": { + "id": 1, + "key": "ssh-rsa AAA...", + "url": "https://api.github.com/repos/octocat/Hello-World/keys/1", + "title": "octocat@octomac", + "verified": true, + "created_at": "2014-12-10T15:53:42Z", + "read_only": true + } + }, + "label": { + "value": { + "id": 208045946, + "node_id": "MDU6TGFiZWwyMDgwNDU5NDY=", + "url": "https://api.github.com/repos/octocat/Hello-World/labels/bug", + "name": "bug", + "description": "Something isn't working", + "color": "f29513", + "default": true + } + }, + "label-2": { + "value": { + "id": 208045946, + "node_id": "MDU6TGFiZWwyMDgwNDU5NDY=", + "url": "https://api.github.com/repos/octocat/Hello-World/labels/bug%20:bug:", + "name": "bug :bug:", + "description": "Small bug fix required", + "color": "b01f26", + "default": true + } + }, + "language": { "value": { "C": 78769, "Python": 7769 } }, + "license-content": { + "value": { + "name": "LICENSE", + "path": "LICENSE", + "sha": "401c59dcc4570b954dd6d345e76199e1f4e76266", + "size": 1077, + "url": "https://api.github.com/repos/benbalter/gman/contents/LICENSE?ref=master", + "html_url": "https://github.com/benbalter/gman/blob/master/LICENSE", + "git_url": "https://api.github.com/repos/benbalter/gman/git/blobs/401c59dcc4570b954dd6d345e76199e1f4e76266", + "download_url": "https://raw.githubusercontent.com/benbalter/gman/master/LICENSE?lab=true", + "type": "file", + "content": "VGhlIE1JVCBMaWNlbnNlIChNSVQpCgpDb3B5cmlnaHQgKGMpIDIwMTMgQmVu\nIEJhbHRlcgoKUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBv\nZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weSBvZgp0\naGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmls\nZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbCBpbgp0aGUgU29mdHdhcmUg\nd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRh\ndGlvbiB0aGUgcmlnaHRzIHRvCnVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwg\ncHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwg\nY29waWVzIG9mCnRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25z\nIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywK\nc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CgpUaGUgYWJv\ndmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGlj\nZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwKY29waWVzIG9yIHN1YnN0YW50\naWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KClRIRSBTT0ZUV0FSRSBJ\nUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBL\nSU5ELCBFWFBSRVNTIE9SCklNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJ\nTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLCBG\nSVRORVNTCkZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklO\nR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUgpDT1BZ\nUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdF\nUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIKSU4gQU4gQUNUSU9OIE9G\nIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBP\nVVQgT0YgT1IgSU4KQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBU\nSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4K\n", + "encoding": "base64", + "_links": { + "self": "https://api.github.com/repos/benbalter/gman/contents/LICENSE?ref=master", + "git": "https://api.github.com/repos/benbalter/gman/git/blobs/401c59dcc4570b954dd6d345e76199e1f4e76266", + "html": "https://github.com/benbalter/gman/blob/master/LICENSE" + }, + "license": { + "key": "mit", + "name": "MIT License", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit", + "node_id": "MDc6TGljZW5zZW1pdA==" + } + } + }, + "milestone-items": { + "value": [ + { + "url": "https://api.github.com/repos/octocat/Hello-World/milestones/1", + "html_url": "https://github.com/octocat/Hello-World/milestones/v1.0", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/milestones/1/labels", + "id": 1002604, + "node_id": "MDk6TWlsZXN0b25lMTAwMjYwNA==", + "number": 1, + "state": "open", + "title": "v1.0", + "description": "Tracking milestone for version 1.0", + "creator": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "open_issues": 4, + "closed_issues": 8, + "created_at": "2011-04-10T20:09:31Z", + "updated_at": "2014-03-03T18:58:10Z", + "closed_at": "2013-02-12T13:22:01Z", + "due_on": "2012-10-09T23:39:01Z" + } + ] + }, + "milestone": { + "value": { + "url": "https://api.github.com/repos/octocat/Hello-World/milestones/1", + "html_url": "https://github.com/octocat/Hello-World/milestones/v1.0", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/milestones/1/labels", + "id": 1002604, + "node_id": "MDk6TWlsZXN0b25lMTAwMjYwNA==", + "number": 1, + "state": "open", + "title": "v1.0", + "description": "Tracking milestone for version 1.0", + "creator": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "open_issues": 4, + "closed_issues": 8, + "created_at": "2011-04-10T20:09:31Z", + "updated_at": "2014-03-03T18:58:10Z", + "closed_at": "2013-02-12T13:22:01Z", + "due_on": "2012-10-09T23:39:01Z" + } + }, + "page": { + "value": { + "url": "https://api.github.com/repos/github/developer.github.com/pages", + "status": "built", + "cname": "developer.github.com", + "custom_404": false, + "html_url": "https://developer.github.com", + "source": { "branch": "master", "path": "/" } + } + }, + "page-build-items": { + "value": [ + { + "url": "https://api.github.com/repos/github/developer.github.com/pages/builds/5472601", + "status": "built", + "error": { "message": null }, + "pusher": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "commit": "351391cdcb88ffae71ec3028c91f375a8036a26b", + "duration": 2104, + "created_at": "2014-02-10T19:00:49Z", + "updated_at": "2014-02-10T19:00:51Z" + } + ] + }, + "page-build-status": { + "value": { + "url": "https://api.github.com/repos/github/developer.github.com/pages/builds/latest", + "status": "queued" + } + }, + "page-build": { + "value": { + "url": "https://api.github.com/repos/github/developer.github.com/pages/builds/5472601", + "status": "built", + "error": { "message": null }, + "pusher": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "commit": "351391cdcb88ffae71ec3028c91f375a8036a26b", + "duration": 2104, + "created_at": "2014-02-10T19:00:49Z", + "updated_at": "2014-02-10T19:00:51Z" + } + }, + "project-items-2": { + "value": [ + { + "owner_url": "https://api.github.com/repos/api-playground/projects-test", + "url": "https://api.github.com/projects/1002604", + "html_url": "https://github.com/api-playground/projects-test/projects/1", + "columns_url": "https://api.github.com/projects/1002604/columns", + "id": 1002604, + "node_id": "MDc6UHJvamVjdDEwMDI2MDQ=", + "name": "Projects Documentation", + "body": "Developer documentation project for the developer site.", + "number": 1, + "state": "open", + "creator": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "created_at": "2011-04-10T20:09:31Z", + "updated_at": "2014-03-03T18:58:10Z" + } + ] + }, + "pull-request": { + "value": { + "url": "https://api.github.com/repos/octocat/Hello-World/pulls/1347", + "id": 1, + "node_id": "MDExOlB1bGxSZXF1ZXN0MQ==", + "html_url": "https://github.com/octocat/Hello-World/pull/1347", + "diff_url": "https://github.com/octocat/Hello-World/pull/1347.diff", + "patch_url": "https://github.com/octocat/Hello-World/pull/1347.patch", + "issue_url": "https://api.github.com/repos/octocat/Hello-World/issues/1347", + "commits_url": "https://api.github.com/repos/octocat/Hello-World/pulls/1347/commits", + "review_comments_url": "https://api.github.com/repos/octocat/Hello-World/pulls/1347/comments", + "review_comment_url": "https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/issues/1347/comments", + "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e", + "number": 1347, + "state": "open", + "locked": true, + "title": "Amazing new feature", + "user": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "body": "Please pull these awesome changes in!", + "labels": [ + { + "id": 208045946, + "node_id": "MDU6TGFiZWwyMDgwNDU5NDY=", + "url": "https://api.github.com/repos/octocat/Hello-World/labels/bug", + "name": "bug", + "description": "Something isn't working", + "color": "f29513", + "default": true + } + ], + "milestone": { + "url": "https://api.github.com/repos/octocat/Hello-World/milestones/1", + "html_url": "https://github.com/octocat/Hello-World/milestones/v1.0", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/milestones/1/labels", + "id": 1002604, + "node_id": "MDk6TWlsZXN0b25lMTAwMjYwNA==", + "number": 1, + "state": "open", + "title": "v1.0", + "description": "Tracking milestone for version 1.0", + "creator": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "open_issues": 4, + "closed_issues": 8, + "created_at": "2011-04-10T20:09:31Z", + "updated_at": "2014-03-03T18:58:10Z", + "closed_at": "2013-02-12T13:22:01Z", + "due_on": "2012-10-09T23:39:01Z" + }, + "active_lock_reason": "too heated", + "created_at": "2011-01-26T19:01:12Z", + "updated_at": "2011-01-26T19:01:12Z", + "closed_at": "2011-01-26T19:01:12Z", + "merged_at": "2011-01-26T19:01:12Z", + "merge_commit_sha": "e5bd3914e2e596debea16f433f57875b5b90bcd6", + "assignee": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "assignees": [ + { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "hubot", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/hubot_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/hubot", + "html_url": "https://github.com/hubot", + "followers_url": "https://api.github.com/users/hubot/followers", + "following_url": "https://api.github.com/users/hubot/following{/other_user}", + "gists_url": "https://api.github.com/users/hubot/gists{/gist_id}", + "starred_url": "https://api.github.com/users/hubot/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/hubot/subscriptions", + "organizations_url": "https://api.github.com/users/hubot/orgs", + "repos_url": "https://api.github.com/users/hubot/repos", + "events_url": "https://api.github.com/users/hubot/events{/privacy}", + "received_events_url": "https://api.github.com/users/hubot/received_events", + "type": "User", + "site_admin": true + } + ], + "requested_reviewers": [ + { + "login": "other_user", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/other_user_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/other_user", + "html_url": "https://github.com/other_user", + "followers_url": "https://api.github.com/users/other_user/followers", + "following_url": "https://api.github.com/users/other_user/following{/other_user}", + "gists_url": "https://api.github.com/users/other_user/gists{/gist_id}", + "starred_url": "https://api.github.com/users/other_user/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/other_user/subscriptions", + "organizations_url": "https://api.github.com/users/other_user/orgs", + "repos_url": "https://api.github.com/users/other_user/repos", + "events_url": "https://api.github.com/users/other_user/events{/privacy}", + "received_events_url": "https://api.github.com/users/other_user/received_events", + "type": "User", + "site_admin": false + } + ], + "requested_teams": [ + { + "id": 1, + "node_id": "MDQ6VGVhbTE=", + "url": "https://api.github.com/teams/1", + "html_url": "https://api.github.com/teams/justice-league", + "name": "Justice League", + "slug": "justice-league", + "description": "A great team.", + "privacy": "closed", + "permission": "admin", + "members_url": "https://api.github.com/teams/1/members{/member}", + "repositories_url": "https://api.github.com/teams/1/repos" + } + ], + "head": { + "label": "octocat:new-topic", + "ref": "new-topic", + "sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e", + "user": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "repo": { + "id": 1296269, + "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", + "name": "Hello-World", + "full_name": "octocat/Hello-World", + "owner": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "private": false, + "html_url": "https://github.com/octocat/Hello-World", + "description": "This your first repo!", + "fork": false, + "url": "https://api.github.com/repos/octocat/Hello-World", + "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", + "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", + "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", + "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", + "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", + "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", + "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", + "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", + "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", + "events_url": "https://api.github.com/repos/octocat/Hello-World/events", + "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", + "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", + "git_url": "git:github.com/octocat/Hello-World.git", + "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", + "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", + "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", + "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", + "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", + "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", + "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", + "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", + "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", + "ssh_url": "git@github.com:octocat/Hello-World.git", + "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", + "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", + "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", + "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", + "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", + "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", + "clone_url": "https://github.com/octocat/Hello-World.git", + "mirror_url": "git:git.example.com/octocat/Hello-World", + "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", + "svn_url": "https://svn.github.com/octocat/Hello-World", + "homepage": "https://github.com", + "language": null, + "forks_count": 9, + "stargazers_count": 80, + "watchers_count": 80, + "size": 108, + "default_branch": "master", + "open_issues_count": 0, + "topics": ["octocat", "atom", "electron", "api"], + "has_issues": true, + "has_projects": true, + "has_wiki": true, + "has_pages": false, + "has_downloads": true, + "archived": false, + "disabled": false, + "pushed_at": "2011-01-26T19:06:43Z", + "created_at": "2011-01-26T19:01:12Z", + "updated_at": "2011-01-26T19:14:43Z", + "permissions": { "admin": false, "push": false, "pull": true }, + "allow_rebase_merge": true, + "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", + "allow_squash_merge": true, + "allow_merge_commit": true, + "forks": 123, + "open_issues": 123, + "license": { + "key": "mit", + "name": "MIT License", + "url": "https://api.github.com/licenses/mit", + "spdx_id": "MIT", + "node_id": "MDc6TGljZW5zZW1pdA==" + }, + "watchers": 123 + } + }, + "base": { + "label": "octocat:master", + "ref": "master", + "sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e", + "user": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "repo": { + "id": 1296269, + "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", + "name": "Hello-World", + "full_name": "octocat/Hello-World", + "owner": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "private": false, + "html_url": "https://github.com/octocat/Hello-World", + "description": "This your first repo!", + "fork": false, + "url": "https://api.github.com/repos/octocat/Hello-World", + "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", + "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", + "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", + "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", + "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", + "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", + "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", + "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", + "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", + "events_url": "https://api.github.com/repos/octocat/Hello-World/events", + "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", + "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", + "git_url": "git:github.com/octocat/Hello-World.git", + "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", + "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", + "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", + "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", + "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", + "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", + "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", + "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", + "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", + "ssh_url": "git@github.com:octocat/Hello-World.git", + "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", + "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", + "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", + "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", + "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", + "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", + "clone_url": "https://github.com/octocat/Hello-World.git", + "mirror_url": "git:git.example.com/octocat/Hello-World", + "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", + "svn_url": "https://svn.github.com/octocat/Hello-World", + "homepage": "https://github.com", + "language": null, + "forks_count": 9, + "stargazers_count": 80, + "watchers_count": 80, + "size": 108, + "default_branch": "master", + "open_issues_count": 0, + "topics": ["octocat", "atom", "electron", "api"], + "has_issues": true, + "has_projects": true, + "has_wiki": true, + "has_pages": false, + "has_downloads": true, + "archived": false, + "disabled": false, + "pushed_at": "2011-01-26T19:06:43Z", + "created_at": "2011-01-26T19:01:12Z", + "updated_at": "2011-01-26T19:14:43Z", + "permissions": { "admin": false, "push": false, "pull": true }, + "allow_rebase_merge": true, + "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", + "allow_squash_merge": true, + "allow_merge_commit": true, + "forks": 123, + "open_issues": 123, + "license": { + "key": "mit", + "name": "MIT License", + "url": "https://api.github.com/licenses/mit", + "spdx_id": "MIT", + "node_id": "MDc6TGljZW5zZW1pdA==" + }, + "watchers": 123 + } + }, + "_links": { + "self": { + "href": "https://api.github.com/repos/octocat/Hello-World/pulls/1347" + }, + "html": { + "href": "https://github.com/octocat/Hello-World/pull/1347" + }, + "issue": { + "href": "https://api.github.com/repos/octocat/Hello-World/issues/1347" + }, + "comments": { + "href": "https://api.github.com/repos/octocat/Hello-World/issues/1347/comments" + }, + "review_comments": { + "href": "https://api.github.com/repos/octocat/Hello-World/pulls/1347/comments" + }, + "review_comment": { + "href": "https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number}" + }, + "commits": { + "href": "https://api.github.com/repos/octocat/Hello-World/pulls/1347/commits" + }, + "statuses": { + "href": "https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e" + } + }, + "author_association": "OWNER", + "draft": false, + "merged": false, + "mergeable": true, + "rebaseable": true, + "mergeable_state": "clean", + "merged_by": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "comments": 10, + "review_comments": 0, + "maintainer_can_modify": true, + "commits": 3, + "additions": 100, + "deletions": 3, + "changed_files": 5 + } + }, + "pull-request-review-comment-items": { + "value": [ + { + "url": "https://api.github.com/repos/octocat/Hello-World/pulls/comments/1", + "pull_request_review_id": 42, + "id": 10, + "node_id": "MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDEw", + "diff_hunk": "@@ -16,33 +16,40 @@ public class Connection : IConnection...", + "path": "file1.txt", + "position": 1, + "original_position": 4, + "commit_id": "6dcb09b5b57875f334f61aebed695e2e4193db5e", + "original_commit_id": "9c48853fa3dc5c1c3d6f1f1cd1f2743e72652840", + "in_reply_to_id": 8, + "user": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "body": "Great stuff!", + "created_at": "2011-04-14T16:00:49Z", + "updated_at": "2011-04-14T16:00:49Z", + "html_url": "https://github.com/octocat/Hello-World/pull/1#discussion-diff-1", + "pull_request_url": "https://api.github.com/repos/octocat/Hello-World/pulls/1", + "author_association": "NONE", + "_links": { + "self": { + "href": "https://api.github.com/repos/octocat/Hello-World/pulls/comments/1" + }, + "html": { + "href": "https://github.com/octocat/Hello-World/pull/1#discussion-diff-1" + }, + "pull_request": { + "href": "https://api.github.com/repos/octocat/Hello-World/pulls/1" + } + }, + "start_line": 1, + "original_start_line": 1, + "start_side": "RIGHT", + "line": 2, + "original_line": 2, + "side": "RIGHT" + } + ] + }, + "pull-request-review-comment-2": { + "value": { + "url": "https://api.github.com/repos/octocat/Hello-World/pulls/comments/1", + "pull_request_review_id": 42, + "id": 10, + "node_id": "MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDEw", + "diff_hunk": "@@ -16,33 +16,40 @@ public class Connection : IConnection...", + "path": "file1.txt", + "position": 1, + "original_position": 4, + "commit_id": "6dcb09b5b57875f334f61aebed695e2e4193db5e", + "original_commit_id": "9c48853fa3dc5c1c3d6f1f1cd1f2743e72652840", + "in_reply_to_id": 8, + "user": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "body": "Great stuff!", + "created_at": "2011-04-14T16:00:49Z", + "updated_at": "2011-04-14T16:00:49Z", + "html_url": "https://github.com/octocat/Hello-World/pull/1#discussion-diff-1", + "pull_request_url": "https://api.github.com/repos/octocat/Hello-World/pulls/1", + "author_association": "NONE", + "_links": { + "self": { + "href": "https://api.github.com/repos/octocat/Hello-World/pulls/comments/1" + }, + "html": { + "href": "https://github.com/octocat/Hello-World/pull/1#discussion-diff-1" + }, + "pull_request": { + "href": "https://api.github.com/repos/octocat/Hello-World/pulls/1" + } + }, + "start_line": 1, + "original_start_line": 1, + "start_side": "RIGHT", + "line": 2, + "original_line": 2, + "side": "RIGHT" + } + }, + "pull-request-review-comment-example-for-a-multi-line-comment": { + "value": { + "url": "https://api.github.com/repos/octocat/Hello-World/pulls/comments/1", + "pull_request_review_id": 42, + "id": 10, + "node_id": "MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDEw", + "diff_hunk": "@@ -16,33 +16,40 @@ public class Connection : IConnection...", + "path": "file1.txt", + "position": 1, + "original_position": 4, + "commit_id": "6dcb09b5b57875f334f61aebed695e2e4193db5e", + "original_commit_id": "9c48853fa3dc5c1c3d6f1f1cd1f2743e72652840", + "in_reply_to_id": 8, + "user": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "body": "Great stuff!", + "created_at": "2011-04-14T16:00:49Z", + "updated_at": "2011-04-14T16:00:49Z", + "html_url": "https://github.com/octocat/Hello-World/pull/1#discussion-diff-1", + "pull_request_url": "https://api.github.com/repos/octocat/Hello-World/pulls/1", + "author_association": "NONE", + "_links": { + "self": { + "href": "https://api.github.com/repos/octocat/Hello-World/pulls/comments/1" + }, + "html": { + "href": "https://github.com/octocat/Hello-World/pull/1#discussion-diff-1" + }, + "pull_request": { + "href": "https://api.github.com/repos/octocat/Hello-World/pulls/1" + } + }, + "start_line": 1, + "original_start_line": 1, + "start_side": "RIGHT", + "line": 2, + "original_line": 2, + "side": "RIGHT" + } + }, + "pull-request-review-comment": { + "value": { + "url": "https://api.github.com/repos/octocat/Hello-World/pulls/comments/1", + "pull_request_review_id": 42, + "id": 10, + "node_id": "MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDEw", + "diff_hunk": "@@ -16,33 +16,40 @@ public class Connection : IConnection...", + "path": "file1.txt", + "position": 1, + "original_position": 4, + "commit_id": "6dcb09b5b57875f334f61aebed695e2e4193db5e", + "original_commit_id": "9c48853fa3dc5c1c3d6f1f1cd1f2743e72652840", + "in_reply_to_id": 426899381, + "user": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "body": "Great stuff!", + "created_at": "2011-04-14T16:00:49Z", + "updated_at": "2011-04-14T16:00:49Z", + "html_url": "https://github.com/octocat/Hello-World/pull/1#discussion-diff-1", + "pull_request_url": "https://api.github.com/repos/octocat/Hello-World/pulls/1", + "author_association": "NONE", + "_links": { + "self": { + "href": "https://api.github.com/repos/octocat/Hello-World/pulls/comments/1" + }, + "html": { + "href": "https://github.com/octocat/Hello-World/pull/1#discussion-diff-1" + }, + "pull_request": { + "href": "https://api.github.com/repos/octocat/Hello-World/pulls/1" + } + }, + "start_line": 1, + "original_start_line": 1, + "start_side": "RIGHT", + "line": 2, + "original_line": 2, + "side": "RIGHT" + } + }, + "diff-entry-items": { + "value": [ + { + "sha": "bbcd538c8e72b8c175046e27cc8f907076331401", + "filename": "file1.txt", + "status": "added", + "additions": 103, + "deletions": 21, + "changes": 124, + "blob_url": "https://github.com/octocat/Hello-World/blob/6dcb09b5b57875f334f61aebed695e2e4193db5e/file1.txt", + "raw_url": "https://github.com/octocat/Hello-World/raw/6dcb09b5b57875f334f61aebed695e2e4193db5e/file1.txt", + "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/file1.txt?ref=6dcb09b5b57875f334f61aebed695e2e4193db5e", + "patch": "@@ -132,7 +132,7 @@ module Test @@ -1000,7 +1000,7 @@ module Test" + } + ] + }, + "pull-request-merge-result-response-if-merge-was-successful": { + "value": { + "sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e", + "merged": true, + "message": "Pull Request successfully merged" + } + }, + "simple-pull-request-review-request": { + "value": { + "users": [ + { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + } + ], + "teams": [ + { + "id": 1, + "node_id": "MDQ6VGVhbTE=", + "url": "https://api.github.com/teams/1", + "html_url": "https://api.github.com/teams/justice-league", + "name": "Justice League", + "slug": "justice-league", + "description": "A great team.", + "privacy": "closed", + "permission": "admin", + "members_url": "https://api.github.com/teams/1/members{/member}", + "repositories_url": "https://api.github.com/teams/1/repos", + "parent": null + } + ] + } + }, + "pull-request-review-request": { + "value": { + "url": "https://api.github.com/repos/octocat/Hello-World/pulls/1347", + "id": 1, + "node_id": "MDExOlB1bGxSZXF1ZXN0MQ==", + "html_url": "https://github.com/octocat/Hello-World/pull/1347", + "diff_url": "https://github.com/octocat/Hello-World/pull/1347.diff", + "patch_url": "https://github.com/octocat/Hello-World/pull/1347.patch", + "issue_url": "https://api.github.com/repos/octocat/Hello-World/issues/1347", + "commits_url": "https://api.github.com/repos/octocat/Hello-World/pulls/1347/commits", + "review_comments_url": "https://api.github.com/repos/octocat/Hello-World/pulls/1347/comments", + "review_comment_url": "https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/issues/1347/comments", + "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e", + "number": 1347, + "state": "open", + "locked": true, + "title": "Amazing new feature", + "user": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "body": "Please pull these awesome changes in!", + "labels": [ + { + "id": 208045946, + "node_id": "MDU6TGFiZWwyMDgwNDU5NDY=", + "url": "https://api.github.com/repos/octocat/Hello-World/labels/bug", + "name": "bug", + "description": "Something isn't working", + "color": "f29513", + "default": true + } + ], + "milestone": { + "url": "https://api.github.com/repos/octocat/Hello-World/milestones/1", + "html_url": "https://github.com/octocat/Hello-World/milestones/v1.0", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/milestones/1/labels", + "id": 1002604, + "node_id": "MDk6TWlsZXN0b25lMTAwMjYwNA==", + "number": 1, + "state": "open", + "title": "v1.0", + "description": "Tracking milestone for version 1.0", + "creator": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "open_issues": 4, + "closed_issues": 8, + "created_at": "2011-04-10T20:09:31Z", + "updated_at": "2014-03-03T18:58:10Z", + "closed_at": "2013-02-12T13:22:01Z", + "due_on": "2012-10-09T23:39:01Z" + }, + "active_lock_reason": "too heated", + "created_at": "2011-01-26T19:01:12Z", + "updated_at": "2011-01-26T19:01:12Z", + "closed_at": "2011-01-26T19:01:12Z", + "merged_at": "2011-01-26T19:01:12Z", + "merge_commit_sha": "e5bd3914e2e596debea16f433f57875b5b90bcd6", + "assignee": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "assignees": [ + { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "hubot", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/hubot_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/hubot", + "html_url": "https://github.com/hubot", + "followers_url": "https://api.github.com/users/hubot/followers", + "following_url": "https://api.github.com/users/hubot/following{/other_user}", + "gists_url": "https://api.github.com/users/hubot/gists{/gist_id}", + "starred_url": "https://api.github.com/users/hubot/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/hubot/subscriptions", + "organizations_url": "https://api.github.com/users/hubot/orgs", + "repos_url": "https://api.github.com/users/hubot/repos", + "events_url": "https://api.github.com/users/hubot/events{/privacy}", + "received_events_url": "https://api.github.com/users/hubot/received_events", + "type": "User", + "site_admin": true + } + ], + "requested_reviewers": [ + { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "hubot", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/hubot_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/hubot", + "html_url": "https://github.com/hubot", + "followers_url": "https://api.github.com/users/hubot/followers", + "following_url": "https://api.github.com/users/hubot/following{/other_user}", + "gists_url": "https://api.github.com/users/hubot/gists{/gist_id}", + "starred_url": "https://api.github.com/users/hubot/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/hubot/subscriptions", + "organizations_url": "https://api.github.com/users/hubot/orgs", + "repos_url": "https://api.github.com/users/hubot/repos", + "events_url": "https://api.github.com/users/hubot/events{/privacy}", + "received_events_url": "https://api.github.com/users/hubot/received_events", + "type": "User", + "site_admin": true + }, + { + "login": "other_user", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/other_user_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/other_user", + "html_url": "https://github.com/other_user", + "followers_url": "https://api.github.com/users/other_user/followers", + "following_url": "https://api.github.com/users/other_user/following{/other_user}", + "gists_url": "https://api.github.com/users/other_user/gists{/gist_id}", + "starred_url": "https://api.github.com/users/other_user/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/other_user/subscriptions", + "organizations_url": "https://api.github.com/users/other_user/orgs", + "repos_url": "https://api.github.com/users/other_user/repos", + "events_url": "https://api.github.com/users/other_user/events{/privacy}", + "received_events_url": "https://api.github.com/users/other_user/received_events", + "type": "User", + "site_admin": false + } + ], + "requested_teams": [ + { + "id": 1, + "node_id": "MDQ6VGVhbTE=", + "url": "https://api.github.com/teams/1", + "html_url": "https://api.github.com/teams/justice-league", + "name": "Justice League", + "slug": "justice-league", + "description": "A great team.", + "privacy": "closed", + "permission": "admin", + "members_url": "https://api.github.com/teams/1/members{/member}", + "repositories_url": "https://api.github.com/teams/1/repos" + } + ], + "head": { + "label": "octocat:new-topic", + "ref": "new-topic", + "sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e", + "user": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "repo": { + "id": 1296269, + "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", + "name": "Hello-World", + "full_name": "octocat/Hello-World", + "owner": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "private": false, + "html_url": "https://github.com/octocat/Hello-World", + "description": "This your first repo!", + "fork": false, + "url": "https://api.github.com/repos/octocat/Hello-World", + "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", + "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", + "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", + "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", + "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", + "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", + "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", + "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", + "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", + "events_url": "https://api.github.com/repos/octocat/Hello-World/events", + "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", + "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", + "git_url": "git:github.com/octocat/Hello-World.git", + "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", + "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", + "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", + "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", + "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", + "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", + "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", + "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", + "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", + "ssh_url": "git@github.com:octocat/Hello-World.git", + "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", + "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", + "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", + "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", + "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", + "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", + "clone_url": "https://github.com/octocat/Hello-World.git", + "mirror_url": "git:git.example.com/octocat/Hello-World", + "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", + "svn_url": "https://svn.github.com/octocat/Hello-World", + "homepage": "https://github.com", + "language": null, + "forks_count": 9, + "stargazers_count": 80, + "watchers_count": 80, + "size": 108, + "default_branch": "master", + "open_issues_count": 0, + "is_template": true, + "topics": ["octocat", "atom", "electron", "api"], + "has_issues": true, + "has_projects": true, + "has_wiki": true, + "has_pages": false, + "has_downloads": true, + "archived": false, + "disabled": false, + "visibility": "public", + "pushed_at": "2011-01-26T19:06:43Z", + "created_at": "2011-01-26T19:01:12Z", + "updated_at": "2011-01-26T19:14:43Z", + "permissions": { "admin": false, "push": false, "pull": true }, + "allow_rebase_merge": true, + "template_repository": null, + "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", + "allow_squash_merge": true, + "delete_branch_on_merge": true, + "allow_merge_commit": true, + "subscribers_count": 42, + "network_count": 0, + "license": { + "key": "mit", + "name": "MIT License", + "url": "https://api.github.com/licenses/mit", + "spdx_id": "MIT", + "node_id": "MDc6TGljZW5zZW1pdA==", + "html_url": "https://github.com/licenses/mit" + }, + "forks": 1, + "open_issues": 1, + "watchers": 1 + } + }, + "base": { + "label": "octocat:master", + "ref": "master", + "sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e", + "user": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "repo": { + "id": 1296269, + "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", + "name": "Hello-World", + "full_name": "octocat/Hello-World", + "owner": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "private": false, + "html_url": "https://github.com/octocat/Hello-World", + "description": "This your first repo!", + "fork": false, + "url": "https://api.github.com/repos/octocat/Hello-World", + "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", + "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", + "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", + "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", + "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", + "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", + "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", + "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", + "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", + "events_url": "https://api.github.com/repos/octocat/Hello-World/events", + "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", + "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", + "git_url": "git:github.com/octocat/Hello-World.git", + "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", + "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", + "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", + "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", + "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", + "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", + "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", + "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", + "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", + "ssh_url": "git@github.com:octocat/Hello-World.git", + "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", + "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", + "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", + "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", + "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", + "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", + "clone_url": "https://github.com/octocat/Hello-World.git", + "mirror_url": "git:git.example.com/octocat/Hello-World", + "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", + "svn_url": "https://svn.github.com/octocat/Hello-World", + "homepage": "https://github.com", + "language": null, + "forks_count": 9, + "stargazers_count": 80, + "watchers_count": 80, + "size": 108, + "default_branch": "master", + "open_issues_count": 0, + "is_template": true, + "topics": ["octocat", "atom", "electron", "api"], + "has_issues": true, + "has_projects": true, + "has_wiki": true, + "has_pages": false, + "has_downloads": true, + "archived": false, + "disabled": false, + "visibility": "public", + "pushed_at": "2011-01-26T19:06:43Z", + "created_at": "2011-01-26T19:01:12Z", + "updated_at": "2011-01-26T19:14:43Z", + "permissions": { "admin": false, "push": false, "pull": true }, + "allow_rebase_merge": true, + "template_repository": null, + "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", + "allow_squash_merge": true, + "delete_branch_on_merge": true, + "allow_merge_commit": true, + "subscribers_count": 42, + "network_count": 0, + "license": { + "key": "mit", + "name": "MIT License", + "url": "https://api.github.com/licenses/mit", + "spdx_id": "MIT", + "node_id": "MDc6TGljZW5zZW1pdA==", + "html_url": "https://api.github.com/licenses/mit" + }, + "forks": 1, + "open_issues": 1, + "watchers": 1 + } + }, + "_links": { + "self": { + "href": "https://api.github.com/repos/octocat/Hello-World/pulls/1347" + }, + "html": { + "href": "https://github.com/octocat/Hello-World/pull/1347" + }, + "issue": { + "href": "https://api.github.com/repos/octocat/Hello-World/issues/1347" + }, + "comments": { + "href": "https://api.github.com/repos/octocat/Hello-World/issues/1347/comments" + }, + "review_comments": { + "href": "https://api.github.com/repos/octocat/Hello-World/pulls/1347/comments" + }, + "review_comment": { + "href": "https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number}" + }, + "commits": { + "href": "https://api.github.com/repos/octocat/Hello-World/pulls/1347/commits" + }, + "statuses": { + "href": "https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e" + } + }, + "author_association": "OWNER", + "draft": false + } + }, + "pull-request-review-items": { + "value": [ + { + "id": 80, + "node_id": "MDE3OlB1bGxSZXF1ZXN0UmV2aWV3ODA=", + "user": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "body": "Here is the body for the review.", + "state": "APPROVED", + "html_url": "https://github.com/octocat/Hello-World/pull/12#pullrequestreview-80", + "pull_request_url": "https://api.github.com/repos/octocat/Hello-World/pulls/12", + "_links": { + "html": { + "href": "https://github.com/octocat/Hello-World/pull/12#pullrequestreview-80" + }, + "pull_request": { + "href": "https://api.github.com/repos/octocat/Hello-World/pulls/12" + } + }, + "submitted_at": "2019-11-17T17:43:43Z", + "commit_id": "ecdd80bb57125d7ba9641ffaa4d7d2c19d3f3091", + "author_association": "collaborator" + } + ] + }, + "pull-request-review": { + "value": { + "id": 80, + "node_id": "MDE3OlB1bGxSZXF1ZXN0UmV2aWV3ODA=", + "user": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "body": "This is close to perfect! Please address the suggested inline change.", + "state": "CHANGES_REQUESTED", + "html_url": "https://github.com/octocat/Hello-World/pull/12#pullrequestreview-80", + "pull_request_url": "https://api.github.com/repos/octocat/Hello-World/pulls/12", + "_links": { + "html": { + "href": "https://github.com/octocat/Hello-World/pull/12#pullrequestreview-80" + }, + "pull_request": { + "href": "https://api.github.com/repos/octocat/Hello-World/pulls/12" + } + }, + "submitted_at": "2019-11-17T17:43:43Z", + "commit_id": "ecdd80bb57125d7ba9641ffaa4d7d2c19d3f3091", + "author_association": "collaborator" + } + }, + "pull-request-review-4": { + "value": { + "id": 80, + "node_id": "MDE3OlB1bGxSZXF1ZXN0UmV2aWV3ODA=", + "user": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "body": "Here is the body for the review.", + "state": "APPROVED", + "html_url": "https://github.com/octocat/Hello-World/pull/12#pullrequestreview-80", + "pull_request_url": "https://api.github.com/repos/octocat/Hello-World/pulls/12", + "_links": { + "html": { + "href": "https://github.com/octocat/Hello-World/pull/12#pullrequestreview-80" + }, + "pull_request": { + "href": "https://api.github.com/repos/octocat/Hello-World/pulls/12" + } + }, + "submitted_at": "2019-11-17T17:43:43Z", + "commit_id": "ecdd80bb57125d7ba9641ffaa4d7d2c19d3f3091", + "author_association": "collaborator" + } + }, + "pull-request-review-5": { + "value": { + "id": 80, + "node_id": "MDE3OlB1bGxSZXF1ZXN0UmV2aWV3ODA=", + "user": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "body": "This is close to perfect! Please address the suggested inline change. And add more about this.", + "state": "CHANGES_REQUESTED", + "html_url": "https://github.com/octocat/Hello-World/pull/12#pullrequestreview-80", + "pull_request_url": "https://api.github.com/repos/octocat/Hello-World/pulls/12", + "_links": { + "html": { + "href": "https://github.com/octocat/Hello-World/pull/12#pullrequestreview-80" + }, + "pull_request": { + "href": "https://api.github.com/repos/octocat/Hello-World/pulls/12" + } + }, + "submitted_at": "2019-11-17T17:43:43Z", + "commit_id": "ecdd80bb57125d7ba9641ffaa4d7d2c19d3f3091", + "author_association": "collaborator" + } + }, + "review-comment-items": { + "value": [ + { + "url": "https://api.github.com/repos/octocat/Hello-World/pulls/comments/1", + "pull_request_review_id": 42, + "id": 10, + "node_id": "MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDEw", + "diff_hunk": "@@ -16,33 +16,40 @@ public class Connection : IConnection...", + "path": "file1.txt", + "position": 1, + "original_position": 4, + "commit_id": "6dcb09b5b57875f334f61aebed695e2e4193db5e", + "original_commit_id": "9c48853fa3dc5c1c3d6f1f1cd1f2743e72652840", + "in_reply_to_id": 8, + "user": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "body": "Great stuff!", + "created_at": "2011-04-14T16:00:49Z", + "updated_at": "2011-04-14T16:00:49Z", + "html_url": "https://github.com/octocat/Hello-World/pull/1#discussion-diff-1", + "pull_request_url": "https://api.github.com/repos/octocat/Hello-World/pulls/1", + "author_association": "NONE", + "_links": { + "self": { + "href": "https://api.github.com/repos/octocat/Hello-World/pulls/comments/1" + }, + "html": { + "href": "https://github.com/octocat/Hello-World/pull/1#discussion-diff-1" + }, + "pull_request": { + "href": "https://api.github.com/repos/octocat/Hello-World/pulls/1" + } + } + } + ] + }, + "pull-request-review-3": { + "value": { + "id": 80, + "node_id": "MDE3OlB1bGxSZXF1ZXN0UmV2aWV3ODA=", + "user": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "body": "Here is the body for the review.", + "state": "DISMISSED", + "html_url": "https://github.com/octocat/Hello-World/pull/12#pullrequestreview-80", + "pull_request_url": "https://api.github.com/repos/octocat/Hello-World/pulls/12", + "_links": { + "html": { + "href": "https://github.com/octocat/Hello-World/pull/12#pullrequestreview-80" + }, + "pull_request": { + "href": "https://api.github.com/repos/octocat/Hello-World/pulls/12" + } + }, + "submitted_at": "2019-11-17T17:43:43Z", + "commit_id": "ecdd80bb57125d7ba9641ffaa4d7d2c19d3f3091", + "author_association": "collaborator" + } + }, + "content-file": { + "value": { + "type": "file", + "encoding": "base64", + "size": 5362, + "name": "README.md", + "path": "README.md", + "content": "encoded content ...", + "sha": "3d21ec53a331a6f037a91c368710b99387d012c1", + "url": "https://api.github.com/repos/octokit/octokit.rb/contents/README.md", + "git_url": "https://api.github.com/repos/octokit/octokit.rb/git/blobs/3d21ec53a331a6f037a91c368710b99387d012c1", + "html_url": "https://github.com/octokit/octokit.rb/blob/master/README.md", + "download_url": "https://raw.githubusercontent.com/octokit/octokit.rb/master/README.md", + "_links": { + "git": "https://api.github.com/repos/octokit/octokit.rb/git/blobs/3d21ec53a331a6f037a91c368710b99387d012c1", + "self": "https://api.github.com/repos/octokit/octokit.rb/contents/README.md", + "html": "https://github.com/octokit/octokit.rb/blob/master/README.md" + } + } + }, + "release-items": { + "value": [ + { + "url": "https://api.github.com/repos/octocat/Hello-World/releases/1", + "html_url": "https://github.com/octocat/Hello-World/releases/v1.0.0", + "assets_url": "https://api.github.com/repos/octocat/Hello-World/releases/1/assets", + "upload_url": "https://uploads.github.com/repos/octocat/Hello-World/releases/1/assets{?name,label}", + "tarball_url": "https://api.github.com/repos/octocat/Hello-World/tarball/v1.0.0", + "zipball_url": "https://api.github.com/repos/octocat/Hello-World/zipball/v1.0.0", + "id": 1, + "node_id": "MDc6UmVsZWFzZTE=", + "tag_name": "v1.0.0", + "target_commitish": "master", + "name": "v1.0.0", + "body": "Description of the release", + "draft": false, + "prerelease": false, + "created_at": "2013-02-27T19:35:32Z", + "published_at": "2013-02-27T19:35:32Z", + "author": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "assets": [ + { + "url": "https://api.github.com/repos/octocat/Hello-World/releases/assets/1", + "browser_download_url": "https://github.com/octocat/Hello-World/releases/download/v1.0.0/example.zip", + "id": 1, + "node_id": "MDEyOlJlbGVhc2VBc3NldDE=", + "name": "example.zip", + "label": "short description", + "state": "uploaded", + "content_type": "application/zip", + "size": 1024, + "download_count": 42, + "created_at": "2013-02-27T19:35:32Z", + "updated_at": "2013-02-27T19:35:32Z", + "uploader": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + } + } + ] + } + ] + }, + "release": { + "value": { + "url": "https://api.github.com/repos/octocat/Hello-World/releases/1", + "html_url": "https://github.com/octocat/Hello-World/releases/v1.0.0", + "assets_url": "https://api.github.com/repos/octocat/Hello-World/releases/1/assets", + "upload_url": "https://uploads.github.com/repos/octocat/Hello-World/releases/1/assets{?name,label}", + "tarball_url": "https://api.github.com/repos/octocat/Hello-World/tarball/v1.0.0", + "zipball_url": "https://api.github.com/repos/octocat/Hello-World/zipball/v1.0.0", + "id": 1, + "node_id": "MDc6UmVsZWFzZTE=", + "tag_name": "v1.0.0", + "target_commitish": "master", + "name": "v1.0.0", + "body": "Description of the release", + "draft": false, + "prerelease": false, + "created_at": "2013-02-27T19:35:32Z", + "published_at": "2013-02-27T19:35:32Z", + "author": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "assets": [ + { + "url": "https://api.github.com/repos/octocat/Hello-World/releases/assets/1", + "browser_download_url": "https://github.com/octocat/Hello-World/releases/download/v1.0.0/example.zip", + "id": 1, + "node_id": "MDEyOlJlbGVhc2VBc3NldDE=", + "name": "example.zip", + "label": "short description", + "state": "uploaded", + "content_type": "application/zip", + "size": 1024, + "download_count": 42, + "created_at": "2013-02-27T19:35:32Z", + "updated_at": "2013-02-27T19:35:32Z", + "uploader": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + } + } + ] + } + }, + "release-asset": { + "value": { + "url": "https://api.github.com/repos/octocat/Hello-World/releases/assets/1", + "browser_download_url": "https://github.com/octocat/Hello-World/releases/download/v1.0.0/example.zip", + "id": 1, + "node_id": "MDEyOlJlbGVhc2VBc3NldDE=", + "name": "example.zip", + "label": "short description", + "state": "uploaded", + "content_type": "application/zip", + "size": 1024, + "download_count": 42, + "created_at": "2013-02-27T19:35:32Z", + "updated_at": "2013-02-27T19:35:32Z", + "uploader": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + } + } + }, + "release-asset-items": { + "value": [ + { + "url": "https://api.github.com/repos/octocat/Hello-World/releases/assets/1", + "browser_download_url": "https://github.com/octocat/Hello-World/releases/download/v1.0.0/example.zip", + "id": 1, + "node_id": "MDEyOlJlbGVhc2VBc3NldDE=", + "name": "example.zip", + "label": "short description", + "state": "uploaded", + "content_type": "application/zip", + "size": 1024, + "download_count": 42, + "created_at": "2013-02-27T19:35:32Z", + "updated_at": "2013-02-27T19:35:32Z", + "uploader": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + } + } + ] + }, + "release-asset-response-for-successful-upload": { + "value": { + "url": "https://api.github.com/repos/octocat/Hello-World/releases/assets/1", + "browser_download_url": "https://github.com/octocat/Hello-World/releases/download/v1.0.0/example.zip", + "id": 1, + "node_id": "MDEyOlJlbGVhc2VBc3NldDE=", + "name": "example.zip", + "label": "short description", + "state": "uploaded", + "content_type": "application/zip", + "size": 1024, + "download_count": 42, + "created_at": "2013-02-27T19:35:32Z", + "updated_at": "2013-02-27T19:35:32Z", + "uploader": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + } + } + }, + "secret-scanning-alert-list": { + "value": [ + { + "number": 2, + "created_at": "2020-11-06T18:48:51Z", + "url": "https://api.github.com/repos/owner/private-repo/secret-scanning/alerts/2", + "html_url": "https://github.com/owner/private-repo/security/secret-scanning/2", + "state": "resolved", + "resolution": "false_positive", + "resolved_at": "2020-11-07T02:47:13Z", + "resolved_by": { + "login": "monalisa", + "id": 2, + "node_id": "MDQ6VXNlcjI=", + "avatar_url": "https://alambic.github.com/avatars/u/2?", + "gravatar_id": "", + "url": "https://api.github.com/users/monalisa", + "html_url": "https://github.com/monalisa", + "followers_url": "https://api.github.com/users/monalisa/followers", + "following_url": "https://api.github.com/users/monalisa/following{/other_user}", + "gists_url": "https://api.github.com/users/monalisa/gists{/gist_id}", + "starred_url": "https://api.github.com/users/monalisa/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/monalisa/subscriptions", + "organizations_url": "https://api.github.com/users/monalisa/orgs", + "repos_url": "https://api.github.com/users/monalisa/repos", + "events_url": "https://api.github.com/users/monalisa/events{/privacy}", + "received_events_url": "https://api.github.com/users/monalisa/received_events", + "type": "User", + "site_admin": true + }, + "secret_type": "adafruit_io_key", + "secret": "aio_XXXXXXXXXXXXXXXXXXXXXXXXXXXX" + }, + { + "number": 1, + "created_at": "2020-11-06T18:18:30Z", + "url": "https://api.github.com/repos/owner/repo/secret-scanning/alerts/1", + "html_url": "https://github.com/owner/repo/security/secret-scanning/1", + "state": "open", + "resolution": null, + "resolved_at": null, + "resolved_by": null, + "secret_type": "mailchimp_api_key", + "secret": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-us2" + } + ] + }, + "secret-scanning-alert-open": { + "value": { + "number": 42, + "created_at": "2020-11-06T18:18:30Z", + "url": "https://api.github.com/repos/owner/private-repo/secret-scanning/alerts/42", + "html_url": "https://github.com/owner/private-repo/security/secret-scanning/42", + "state": "open", + "resolution": null, + "resolved_at": null, + "resolved_by": null, + "secret_type": "mailchimp_api_key", + "secret": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-us2" + } + }, + "secret-scanning-alert-resolved": { + "value": { + "number": 42, + "created_at": "2020-11-06T18:18:30Z", + "url": "https://api.github.com/repos/owner/private-repo/secret-scanning/alerts/42", + "html_url": "https://github.com/owner/private-repo/security/secret-scanning/42", + "state": "resolved", + "resolution": "used_in_tests", + "resolved_at": "2020-11-16T22:42:07Z", + "resolved_by": { + "login": "monalisa", + "id": 2, + "node_id": "MDQ6VXNlcjI=", + "avatar_url": "https://alambic.github.com/avatars/u/2?", + "gravatar_id": "", + "url": "https://api.github.com/users/monalisa", + "html_url": "https://github.com/monalisa", + "followers_url": "https://api.github.com/users/monalisa/followers", + "following_url": "https://api.github.com/users/monalisa/following{/other_user}", + "gists_url": "https://api.github.com/users/monalisa/gists{/gist_id}", + "starred_url": "https://api.github.com/users/monalisa/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/monalisa/subscriptions", + "organizations_url": "https://api.github.com/users/monalisa/orgs", + "repos_url": "https://api.github.com/users/monalisa/repos", + "events_url": "https://api.github.com/users/monalisa/events{/privacy}", + "received_events_url": "https://api.github.com/users/monalisa/received_events", + "type": "User", + "site_admin": true + }, + "secret_type": "mailchimp_api_key", + "secret": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-us2" + } + }, + "simple-user-items-default-response": { + "summary": "Default response", + "value": [ + { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + } + ] + }, + "stargazer-items-alternative-response-with-star-creation-timestamps": { + "summary": "Alternative response with star creation timestamps", + "value": [ + { + "starred_at": "2011-01-16T19:06:43Z", + "user": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + } + } + ] + }, + "code-frequency-stat-items": { "value": [[1302998400, 1124, -435]] }, + "commit-activity-items": { + "value": [ + { "days": [0, 3, 26, 20, 39, 1, 0], "total": 89, "week": 1336280400 } + ] + }, + "contributor-activity-items": { + "value": [ + { + "author": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "total": 135, + "weeks": [{ "w": "1367712000", "a": 6898, "d": 77, "c": 10 }] + } + ] + }, + "participation-stats": { + "value": { + "all": [ + 11, + 21, + 15, + 2, + 8, + 1, + 8, + 23, + 17, + 21, + 11, + 10, + 33, + 91, + 38, + 34, + 22, + 23, + 32, + 3, + 43, + 87, + 71, + 18, + 13, + 5, + 13, + 16, + 66, + 27, + 12, + 45, + 110, + 117, + 13, + 8, + 18, + 9, + 19, + 26, + 39, + 12, + 20, + 31, + 46, + 91, + 45, + 10, + 24, + 9, + 29, + 7 + ], + "owner": [ + 3, + 2, + 3, + 0, + 2, + 0, + 5, + 14, + 7, + 9, + 1, + 5, + 0, + 48, + 19, + 2, + 0, + 1, + 10, + 2, + 23, + 40, + 35, + 8, + 8, + 2, + 10, + 6, + 30, + 0, + 2, + 9, + 53, + 104, + 3, + 3, + 10, + 4, + 7, + 11, + 21, + 4, + 4, + 22, + 26, + 63, + 11, + 2, + 14, + 1, + 10, + 3 + ] + } + }, + "code-frequency-stat-items-2": { + "value": [ + [0, 0, 5], + [0, 1, 43], + [0, 2, 21] + ] + }, + "status": { + "value": { + "url": "https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e", + "avatar_url": "https://github.com/images/error/hubot_happy.gif", + "id": 1, + "node_id": "MDY6U3RhdHVzMQ==", + "state": "success", + "description": "Build has completed successfully", + "target_url": "https://ci.example.com/1000/output", + "context": "continuous-integration/jenkins", + "created_at": "2012-07-20T01:19:13Z", + "updated_at": "2012-07-20T01:19:13Z", + "creator": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + } + } + }, + "repository-subscription-response-if-you-subscribe-to-the-repository": { + "value": { + "subscribed": true, + "ignored": false, + "reason": null, + "created_at": "2012-10-06T21:34:12Z", + "url": "https://api.github.com/repos/octocat/example/subscription", + "repository_url": "https://api.github.com/repos/octocat/example" + } + }, + "repository-subscription": { + "value": { + "subscribed": true, + "ignored": false, + "reason": null, + "created_at": "2012-10-06T21:34:12Z", + "url": "https://api.github.com/repos/octocat/example/subscription", + "repository_url": "https://api.github.com/repos/octocat/example" + } + }, + "tag-items": { + "value": [ + { + "name": "v0.1", + "commit": { + "sha": "c5b97d5ae6c19d5c5df71a34c7fbeeda2479ccbc", + "url": "https://api.github.com/repos/octocat/Hello-World/commits/c5b97d5ae6c19d5c5df71a34c7fbeeda2479ccbc" + }, + "zipball_url": "https://github.com/octocat/Hello-World/zipball/v0.1", + "tarball_url": "https://github.com/octocat/Hello-World/tarball/v0.1", + "node_id": "MDQ6VXNlcjE=" + } + ] + }, + "topic": { "value": { "names": ["octocat", "atom", "electron", "api"] } }, + "clone-traffic": { + "value": { + "count": 173, + "uniques": 128, + "clones": [ + { "timestamp": "2016-10-10T00:00:00Z", "count": 2, "uniques": 1 }, + { "timestamp": "2016-10-11T00:00:00Z", "count": 17, "uniques": 16 }, + { "timestamp": "2016-10-12T00:00:00Z", "count": 21, "uniques": 15 }, + { "timestamp": "2016-10-13T00:00:00Z", "count": 8, "uniques": 7 }, + { "timestamp": "2016-10-14T00:00:00Z", "count": 5, "uniques": 5 }, + { "timestamp": "2016-10-15T00:00:00Z", "count": 2, "uniques": 2 }, + { "timestamp": "2016-10-16T00:00:00Z", "count": 8, "uniques": 7 }, + { "timestamp": "2016-10-17T00:00:00Z", "count": 26, "uniques": 15 }, + { "timestamp": "2016-10-18T00:00:00Z", "count": 19, "uniques": 17 }, + { "timestamp": "2016-10-19T00:00:00Z", "count": 19, "uniques": 14 }, + { "timestamp": "2016-10-20T00:00:00Z", "count": 19, "uniques": 15 }, + { "timestamp": "2016-10-21T00:00:00Z", "count": 9, "uniques": 7 }, + { "timestamp": "2016-10-22T00:00:00Z", "count": 5, "uniques": 5 }, + { "timestamp": "2016-10-23T00:00:00Z", "count": 6, "uniques": 5 }, + { "timestamp": "2016-10-24T00:00:00Z", "count": 7, "uniques": 5 } + ] + } + }, + "content-traffic-items": { + "value": [ + { + "path": "/github/hubot", + "title": "github/hubot: A customizable life embetterment robot.", + "count": 3542, + "uniques": 2225 + }, + { + "path": "/github/hubot/blob/master/docs/scripting.md", + "title": "hubot/scripting.md at master · github/hubot · GitHub", + "count": 1707, + "uniques": 804 + }, + { + "path": "/github/hubot/tree/master/docs", + "title": "hubot/docs at master · github/hubot · GitHub", + "count": 685, + "uniques": 435 + }, + { + "path": "/github/hubot/tree/master/src", + "title": "hubot/src at master · github/hubot · GitHub", + "count": 577, + "uniques": 347 + }, + { + "path": "/github/hubot/blob/master/docs/index.md", + "title": "hubot/index.md at master · github/hubot · GitHub", + "count": 379, + "uniques": 259 + }, + { + "path": "/github/hubot/blob/master/docs/adapters.md", + "title": "hubot/adapters.md at master · github/hubot · GitHub", + "count": 354, + "uniques": 201 + }, + { + "path": "/github/hubot/tree/master/examples", + "title": "hubot/examples at master · github/hubot · GitHub", + "count": 340, + "uniques": 260 + }, + { + "path": "/github/hubot/blob/master/docs/deploying/heroku.md", + "title": "hubot/heroku.md at master · github/hubot · GitHub", + "count": 324, + "uniques": 217 + }, + { + "path": "/github/hubot/blob/master/src/robot.coffee", + "title": "hubot/robot.coffee at master · github/hubot · GitHub", + "count": 293, + "uniques": 191 + }, + { + "path": "/github/hubot/blob/master/LICENSE.md", + "title": "hubot/LICENSE.md at master · github/hubot · GitHub", + "count": 281, + "uniques": 222 + } + ] + }, + "referrer-traffic-items": { + "value": [ + { "referrer": "Google", "count": 4, "uniques": 3 }, + { "referrer": "stackoverflow.com", "count": 2, "uniques": 2 }, + { "referrer": "eggsonbread.com", "count": 1, "uniques": 1 }, + { "referrer": "yandex.ru", "count": 1, "uniques": 1 } + ] + }, + "view-traffic": { + "value": { + "count": 14850, + "uniques": 3782, + "views": [ + { + "timestamp": "2016-10-10T00:00:00Z", + "count": 440, + "uniques": 143 + }, + { + "timestamp": "2016-10-11T00:00:00Z", + "count": 1308, + "uniques": 414 + }, + { + "timestamp": "2016-10-12T00:00:00Z", + "count": 1486, + "uniques": 452 + }, + { + "timestamp": "2016-10-13T00:00:00Z", + "count": 1170, + "uniques": 401 + }, + { + "timestamp": "2016-10-14T00:00:00Z", + "count": 868, + "uniques": 266 + }, + { + "timestamp": "2016-10-15T00:00:00Z", + "count": 495, + "uniques": 157 + }, + { + "timestamp": "2016-10-16T00:00:00Z", + "count": 524, + "uniques": 175 + }, + { + "timestamp": "2016-10-17T00:00:00Z", + "count": 1263, + "uniques": 412 + }, + { + "timestamp": "2016-10-18T00:00:00Z", + "count": 1402, + "uniques": 417 + }, + { + "timestamp": "2016-10-19T00:00:00Z", + "count": 1394, + "uniques": 424 + }, + { + "timestamp": "2016-10-20T00:00:00Z", + "count": 1492, + "uniques": 448 + }, + { + "timestamp": "2016-10-21T00:00:00Z", + "count": 1153, + "uniques": 332 + }, + { + "timestamp": "2016-10-22T00:00:00Z", + "count": 566, + "uniques": 168 + }, + { + "timestamp": "2016-10-23T00:00:00Z", + "count": 675, + "uniques": 184 + }, + { + "timestamp": "2016-10-24T00:00:00Z", + "count": 614, + "uniques": 237 + } + ] + } + }, + "repository-3": { + "value": { + "id": 1296269, + "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", + "name": "Hello-World", + "full_name": "octocat/Hello-World", + "owner": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "private": false, + "html_url": "https://github.com/octocat/Hello-World", + "description": "This your first repo!", + "fork": false, + "url": "https://api.github.com/repos/octocat/Hello-World", + "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", + "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", + "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", + "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", + "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", + "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", + "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", + "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", + "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", + "events_url": "https://api.github.com/repos/octocat/Hello-World/events", + "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", + "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", + "git_url": "git:github.com/octocat/Hello-World.git", + "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", + "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", + "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", + "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", + "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", + "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", + "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", + "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", + "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", + "ssh_url": "git@github.com:octocat/Hello-World.git", + "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", + "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", + "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", + "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", + "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", + "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", + "clone_url": "https://github.com/octocat/Hello-World.git", + "mirror_url": "git:git.example.com/octocat/Hello-World", + "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", + "svn_url": "https://svn.github.com/octocat/Hello-World", + "homepage": "https://github.com", + "language": null, + "forks_count": 9, + "forks": 9, + "stargazers_count": 80, + "watchers_count": 80, + "watchers": 80, + "size": 108, + "default_branch": "master", + "open_issues_count": 0, + "open_issues": 0, + "is_template": false, + "topics": ["octocat", "atom", "electron", "api"], + "has_issues": true, + "has_projects": true, + "has_wiki": true, + "has_pages": false, + "has_downloads": true, + "archived": false, + "disabled": false, + "visibility": "public", + "pushed_at": "2011-01-26T19:06:43Z", + "created_at": "2011-01-26T19:01:12Z", + "updated_at": "2011-01-26T19:14:43Z", + "permissions": { "admin": false, "push": false, "pull": true }, + "allow_rebase_merge": true, + "license": { + "key": "mit", + "name": "MIT License", + "url": "https://api.github.com/licenses/mit", + "spdx_id": "MIT", + "node_id": "MDc6TGljZW5zZW1pdA==", + "html_url": "https://github.com/licenses/mit" + } + } + }, + "public-repository-items": { + "value": [ + { + "id": 1296269, + "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", + "name": "Hello-World", + "full_name": "octocat/Hello-World", + "owner": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "private": false, + "html_url": "https://github.com/octocat/Hello-World", + "description": "This your first repo!", + "fork": false, + "url": "https://api.github.com/repos/octocat/Hello-World", + "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", + "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", + "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", + "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", + "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", + "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", + "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", + "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", + "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", + "events_url": "https://api.github.com/repos/octocat/Hello-World/events", + "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", + "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", + "git_url": "git:github.com/octocat/Hello-World.git", + "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", + "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", + "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", + "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", + "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", + "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", + "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", + "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", + "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", + "ssh_url": "git@github.com:octocat/Hello-World.git", + "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", + "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", + "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", + "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", + "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", + "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", + "hooks_url": "http://api.github.com/repos/octocat/Hello-World/hooks" + } + ] + }, + "scim-enterprise-group-list": { + "value": { + "schemas": ["urn:ietf:params:scim:api:messages:2.0:ListResponse"], + "totalResults": 2, + "itemsPerPage": 2, + "startIndex": 1, + "Resources": [ + { + "schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"], + "id": "abcd27f8-a9aa-11ea-8221-f59b2be9cccc", + "externalId": null, + "displayName": "octo-org", + "members": [ + { + "value": "92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", + "$ref": "https://api.github.com/scim/v2/enterprises/octo-corp/Users/92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", + "display": "octocat@github.com" + }, + { + "value": "aaaa8c34-a6b2-11ea-9d70-bbbbbd1c8fd5", + "$ref": "https://api.github.com/scim/v2/enterprises/octo-corp/Users/aaaa8c34-a6b2-11ea-9d70-bbbbbd1c8fd5", + "display": "hubot@example.com" + } + ], + "meta": { + "resourceType": "Group", + "created": "2020-06-09T03:10:17.000+10:00", + "lastModified": "2020-06-09T03:10:17.000+10:00", + "location": "https://api.github.com/scim/v2/enterprises/octo-corp/Groups/abcd27f8-a9aa-11ea-8221-f59b2be9cccc" + } + }, + { + "schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"], + "id": "5e75bbbb-aa1a-11ea-8644-75ff655cdddd", + "externalId": null, + "displayName": "octo-docs-org", + "members": [ + { + "value": "92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", + "$ref": "https://api.github.com/scim/v2/enterprises/octo-corp/Users/92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", + "display": "octocat@github.com" + } + ], + "meta": { + "resourceType": "Group", + "created": "2020-06-09T16:28:01.000+10:00", + "lastModified": "2020-06-09T16:28:01.000+10:00", + "location": "https://api.github.com/scim/v2/enterprises/octo-corp/Groups/5e75bbbb-aa1a-11ea-8644-75ff655cdddd" + } + } + ] + } + }, + "scim-enterprise-group": { + "value": { + "schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"], + "id": "abcd27f8-a9aa-11ea-8221-f59b2be9cccc", + "externalId": null, + "displayName": "octo-org", + "members": [ + { + "value": "92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", + "$ref": "https://api.github.com/scim/v2/enterprises/octo-corp/Users/92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", + "display": "octocat@github.com" + }, + { + "value": "aaaa8c34-a6b2-11ea-9d70-bbbbbd1c8fd5", + "$ref": "https://api.github.com/scim/v2/enterprises/octo-corp/Users/aaaa8c34-a6b2-11ea-9d70-bbbbbd1c8fd5", + "display": "hubot@example.com" + } + ], + "meta": { + "resourceType": "Group", + "created": "2020-06-09T03:10:17.000+10:0", + "lastModified": "2020-06-09T03:10:17.000+10:00", + "location": "https://api.github.com/scim/v2/enterprises/octo-corp/Groups/abcd27f8-a9aa-11ea-8221-f59b2be9cccc" + } + } + }, + "scim-enterprise-group-2": { + "value": { + "schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"], + "id": "abcd27f8-a9aa-11ea-8221-f59b2be9cccc", + "externalId": null, + "displayName": "octo-org", + "members": [ + { + "value": "92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", + "$ref": "https://api.github.com/scim/v2/enterprises/octo-corp/Users/92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", + "display": "octocat@github.com" + } + ], + "meta": { + "resourceType": "Group", + "created": "2020-06-09T03:10:17.000+10:00", + "lastModified": "2020-06-09T03:10:17.000+10:00", + "location": "https://api.github.com/scim/v2/enterprises/octo-corp/Groups/abcd27f8-a9aa-11ea-8221-f59b2be9cccc" + } + } + }, + "scim-enterprise-user-list": { + "value": { + "schemas": ["urn:ietf:params:scim:api:messages:2.0:ListResponse"], + "totalResults": 2, + "itemsPerPage": 2, + "startIndex": 1, + "Resources": [ + { + "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"], + "id": "92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", + "externalId": "00dowz5dr9oSfDFRA0h7", + "userName": "octocat@github.com", + "name": { "givenName": "Mona", "familyName": "Octocat" }, + "emails": [ + { + "value": "octocat@github.com", + "primary": true, + "type": "work" + } + ], + "groups": [{ "value": "468dd3fa-a1d6-11ea-9031-15a1f0d7811d" }], + "active": true, + "meta": { + "resourceType": "User", + "created": "2020-05-30T04:02:34.000+10:00", + "lastModified": "2020-05-30T04:05:04.000+10:00", + "location": "https://api.github.com/scim/v2/enterprises/octo-corp/Users/92b58aaa-a1d6-11ea-8227-b9ce9e023ccc" + } + }, + { + "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"], + "id": "e18b8c34-a6b2-11ea-9d70-54abbd1c8fd5", + "externalId": "sdfoiausdofiua", + "userName": "hubot@example.com", + "name": { "givenName": "hu", "familyName": "bot" }, + "emails": [ + { + "value": "hubot@example.com", + "type": "work", + "primary": true + } + ], + "groups": [], + "active": true, + "meta": { + "resourceType": "User", + "created": "2020-06-05T08:29:40.000+10:00", + "lastModified": "2020-06-05T08:30:19.000+10:00", + "location": "https://api.github.com/scim/v2/enterprises/octo-corp/Users/e18b8c34-a6b2-11ea-9d70-54abbd1c8fd5" + } + } + ] + } + }, + "scim-enterprise-user": { + "value": { + "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"], + "id": "92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", + "externalId": "00dowz5dr9oSfDFRA0h7", + "userName": "mona.octocat@okta.example.com", + "name": { "givenName": "Mona", "familyName": "Octocat" }, + "emails": [ + { + "value": "mona.octocat@okta.example.com", + "type": "work", + "primary": true + } + ], + "groups": [{ "value": "468dd3fa-a1d6-11ea-9031-15a1f0d7811d" }], + "active": true, + "meta": { + "resourceType": "User", + "created": "2017-03-09T16:11:13-05:00", + "lastModified": "2017-03-09T16:11:13-05:00", + "location": "https://api.github.com/scim/v2/enterprises/octo-corp/Users/92b58aaa-a1d6-11ea-8227-b9ce9e023ccc" + } + } + }, + "scim-enterprise-user-2": { + "value": { + "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"], + "id": "92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", + "externalId": "00dowz5dr9oSfDFRA0h7", + "userName": "mona.octocat@okta.example.com", + "name": { "givenName": "Monalisa", "familyName": "Octocat" }, + "emails": [ + { + "value": "mona.octocat@okta.example.com", + "type": "work", + "primary": true + }, + { "value": "monalisa@octocat.github.com", "type": "home" } + ], + "groups": [{ "value": "468dd3fa-a1d6-11ea-9031-15a1f0d7811d" }], + "active": true, + "meta": { + "resourceType": "User", + "created": "2017-03-09T16:11:13-05:00", + "lastModified": "2017-03-09T16:11:13-05:00", + "location": "https://api.github.com/scim/v2/enterprises/octo-corp/Users/92b58aaa-a1d6-11ea-8227-b9ce9e023ccc" + } + } + }, + "scim-user-list-response-with-filter": { + "summary": "Response with filter", + "value": { + "schemas": ["urn:ietf:params:scim:api:messages:2.0:ListResponse"], + "totalResults": 1, + "itemsPerPage": 1, + "startIndex": 1, + "Resources": [ + { + "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"], + "id": "5fc0c238-1112-11e8-8e45-920c87bdbd75", + "externalId": "00u1dhhb1fkIGP7RL1d8", + "userName": "octocat@github.com", + "displayName": "Mona Octocat", + "name": { + "givenName": "Mona", + "familyName": "Octocat", + "formatted": "Mona Octocat" + }, + "emails": [{ "value": "octocat@github.com", "primary": true }], + "active": true, + "meta": { + "resourceType": "User", + "created": "2018-02-13T15:05:24.000-08:00", + "lastModified": "2018-02-13T15:05:55.000-08:00", + "location": "https://api.github.com/scim/v2/organizations/octo-org/Users/5fc0c238-1112-11e8-8e45-920c87bdbd75" + } + } + ] + } + }, + "scim-user-list-response-without-filter": { + "summary": "Response without filter", + "value": { + "schemas": ["urn:ietf:params:scim:api:messages:2.0:ListResponse"], + "totalResults": 2, + "itemsPerPage": 2, + "startIndex": 1, + "Resources": [ + { + "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"], + "id": "edefdfedf-050c-11e7-8d32", + "externalId": "a7d0f98382", + "userName": "mona.octocat@okta.example.com", + "displayName": "Mona Octocat", + "name": { + "givenName": "Mona", + "familyName": "Octocat", + "formatted": "Mona Octocat" + }, + "emails": [ + { "value": "mona.octocat@okta.example.com", "primary": true } + ], + "active": true, + "meta": { + "resourceType": "User", + "created": "2017-03-09T16:11:13-05:00", + "lastModified": "2017-03-09T16:11:13-05:00", + "location": "https://api.github.com/scim/v2/organizations/octo-org/Users/edefdfedf-050c-11e7-8d32" + } + }, + { + "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"], + "id": "77563764-eb6-24-0598234-958243", + "externalId": "sdfoiausdofiua", + "userName": "hubot@example.com", + "displayName": "hu bot", + "name": { + "givenName": "hu", + "familyName": "bot", + "formatted": "hu bot" + }, + "emails": [{ "value": "hubot@example.com", "primary": true }], + "active": true, + "meta": { + "resourceType": "User", + "created": "2017-03-09T16:11:13-05:00", + "lastModified": "2017-03-09T16:11:13-05:00", + "location": "https://api.github.com/scim/v2/organizations/octo-org/Users/77563764-eb6-24-0598234-958243" + } + } + ] + } + }, + "scim-user": { + "value": { + "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"], + "id": "edefdfedf-050c-11e7-8d32", + "externalId": "a7d0f98382", + "userName": "mona.octocat@okta.example.com", + "displayName": "Monalisa Octocat", + "name": { + "givenName": "Monalisa", + "familyName": "Octocat", + "formatted": "Monalisa Octocat" + }, + "emails": [ + { "value": "mona.octocat@okta.example.com", "primary": true }, + { "value": "monalisa@octocat.github.com" } + ], + "active": true, + "meta": { + "resourceType": "User", + "created": "2017-03-09T16:11:13-05:00", + "lastModified": "2017-03-09T16:11:13-05:00", + "location": "https://api.github.com/scim/v2/organizations/octo-org/Users/edefdfedf-050c-11e7-8d32" + } + } + }, + "code-search-result-item-paginated": { + "value": { + "total_count": 7, + "incomplete_results": false, + "items": [ + { + "name": "classes.js", + "path": "src/attributes/classes.js", + "sha": "d7212f9dee2dcc18f084d7df8f417b80846ded5a", + "url": "https://api.github.com/repositories/167174/contents/src/attributes/classes.js?ref=825ac3773694e0cd23ee74895fd5aeb535b27da4", + "git_url": "https://api.github.com/repositories/167174/git/blobs/d7212f9dee2dcc18f084d7df8f417b80846ded5a", + "html_url": "https://github.com/jquery/jquery/blob/825ac3773694e0cd23ee74895fd5aeb535b27da4/src/attributes/classes.js", + "repository": { + "id": 167174, + "node_id": "MDEwOlJlcG9zaXRvcnkxNjcxNzQ=", + "name": "jquery", + "full_name": "jquery/jquery", + "owner": { + "login": "jquery", + "id": 70142, + "node_id": "MDQ6VXNlcjcwMTQy", + "avatar_url": "https://0.gravatar.com/avatar/6906f317a4733f4379b06c32229ef02f?d=https%3A%2F%2Fidenticons.github.com%2Ff426f04f2f9813718fb806b30e0093de.png", + "gravatar_id": "", + "url": "https://api.github.com/users/jquery", + "html_url": "https://github.com/jquery", + "followers_url": "https://api.github.com/users/jquery/followers", + "following_url": "https://api.github.com/users/jquery/following{/other_user}", + "gists_url": "https://api.github.com/users/jquery/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jquery/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jquery/subscriptions", + "organizations_url": "https://api.github.com/users/jquery/orgs", + "repos_url": "https://api.github.com/users/jquery/repos", + "events_url": "https://api.github.com/users/jquery/events{/privacy}", + "received_events_url": "https://api.github.com/users/jquery/received_events", + "type": "Organization", + "site_admin": false + }, + "private": false, + "html_url": "https://github.com/jquery/jquery", + "description": "jQuery JavaScript Library", + "fork": false, + "url": "https://api.github.com/repos/jquery/jquery", + "forks_url": "https://api.github.com/repos/jquery/jquery/forks", + "keys_url": "https://api.github.com/repos/jquery/jquery/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/jquery/jquery/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/jquery/jquery/teams", + "hooks_url": "https://api.github.com/repos/jquery/jquery/hooks", + "issue_events_url": "https://api.github.com/repos/jquery/jquery/issues/events{/number}", + "events_url": "https://api.github.com/repos/jquery/jquery/events", + "assignees_url": "https://api.github.com/repos/jquery/jquery/assignees{/user}", + "branches_url": "https://api.github.com/repos/jquery/jquery/branches{/branch}", + "tags_url": "https://api.github.com/repos/jquery/jquery/tags", + "blobs_url": "https://api.github.com/repos/jquery/jquery/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/jquery/jquery/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/jquery/jquery/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/jquery/jquery/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/jquery/jquery/statuses/{sha}", + "languages_url": "https://api.github.com/repos/jquery/jquery/languages", + "stargazers_url": "https://api.github.com/repos/jquery/jquery/stargazers", + "contributors_url": "https://api.github.com/repos/jquery/jquery/contributors", + "subscribers_url": "https://api.github.com/repos/jquery/jquery/subscribers", + "subscription_url": "https://api.github.com/repos/jquery/jquery/subscription", + "commits_url": "https://api.github.com/repos/jquery/jquery/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/jquery/jquery/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/jquery/jquery/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/jquery/jquery/issues/comments/{number}", + "contents_url": "https://api.github.com/repos/jquery/jquery/contents/{+path}", + "compare_url": "https://api.github.com/repos/jquery/jquery/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/jquery/jquery/merges", + "archive_url": "https://api.github.com/repos/jquery/jquery/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/jquery/jquery/downloads", + "issues_url": "https://api.github.com/repos/jquery/jquery/issues{/number}", + "pulls_url": "https://api.github.com/repos/jquery/jquery/pulls{/number}", + "milestones_url": "https://api.github.com/repos/jquery/jquery/milestones{/number}", + "notifications_url": "https://api.github.com/repos/jquery/jquery/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/jquery/jquery/labels{/name}", + "deployments_url": "http://api.github.com/repos/octocat/Hello-World/deployments", + "releases_url": "http://api.github.com/repos/octocat/Hello-World/releases{/id}" + }, + "score": 1 + } + ] + } + }, + "commit-search-result-item-paginated": { + "value": { + "total_count": 1, + "incomplete_results": false, + "items": [ + { + "url": "https://api.github.com/repos/octocat/Spoon-Knife/commits/bb4cc8d3b2e14b3af5df699876dd4ff3acd00b7f", + "sha": "bb4cc8d3b2e14b3af5df699876dd4ff3acd00b7f", + "html_url": "https://github.com/octocat/Spoon-Knife/commit/bb4cc8d3b2e14b3af5df699876dd4ff3acd00b7f", + "comments_url": "https://api.github.com/repos/octocat/Spoon-Knife/commits/bb4cc8d3b2e14b3af5df699876dd4ff3acd00b7f/comments", + "commit": { + "url": "https://api.github.com/repos/octocat/Spoon-Knife/git/commits/bb4cc8d3b2e14b3af5df699876dd4ff3acd00b7f", + "author": { + "date": "2014-02-04T14:38:36-08:00", + "name": "The Octocat", + "email": "octocat@nowhere.com" + }, + "committer": { + "date": "2014-02-12T15:18:55-08:00", + "name": "The Octocat", + "email": "octocat@nowhere.com" + }, + "message": "Create styles.css and updated README", + "tree": { + "url": "https://api.github.com/repos/octocat/Spoon-Knife/git/trees/a639e96f9038797fba6e0469f94a4b0cc459fa68", + "sha": "a639e96f9038797fba6e0469f94a4b0cc459fa68" + }, + "comment_count": 8 + }, + "author": { + "login": "octocat", + "id": 583231, + "node_id": "MDQ6VXNlcjU4MzIzMQ==", + "avatar_url": "https://avatars.githubusercontent.com/u/583231?v=3", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "committer": {}, + "parents": [ + { + "url": "https://api.github.com/repos/octocat/Spoon-Knife/commits/a30c19e3f13765a3b48829788bc1cb8b4e95cee4", + "html_url": "https://github.com/octocat/Spoon-Knife/commit/a30c19e3f13765a3b48829788bc1cb8b4e95cee4", + "sha": "a30c19e3f13765a3b48829788bc1cb8b4e95cee4" + } + ], + "repository": { + "id": 1300192, + "node_id": "MDEwOlJlcG9zaXRvcnkxMzAwMTky", + "name": "Spoon-Knife", + "full_name": "octocat/Spoon-Knife", + "owner": { + "login": "octocat", + "id": 583231, + "node_id": "MDQ6VXNlcjU4MzIzMQ==", + "avatar_url": "https://avatars.githubusercontent.com/u/583231?v=3", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "private": false, + "html_url": "https://github.com/octocat/Spoon-Knife", + "description": "This repo is for demonstration purposes only.", + "fork": false, + "url": "https://api.github.com/repos/octocat/Spoon-Knife", + "forks_url": "https://api.github.com/repos/octocat/Spoon-Knife/forks", + "keys_url": "https://api.github.com/repos/octocat/Spoon-Knife/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/octocat/Spoon-Knife/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/octocat/Spoon-Knife/teams", + "hooks_url": "https://api.github.com/repos/octocat/Spoon-Knife/hooks", + "issue_events_url": "https://api.github.com/repos/octocat/Spoon-Knife/issues/events{/number}", + "events_url": "https://api.github.com/repos/octocat/Spoon-Knife/events", + "assignees_url": "https://api.github.com/repos/octocat/Spoon-Knife/assignees{/user}", + "branches_url": "https://api.github.com/repos/octocat/Spoon-Knife/branches{/branch}", + "tags_url": "https://api.github.com/repos/octocat/Spoon-Knife/tags", + "blobs_url": "https://api.github.com/repos/octocat/Spoon-Knife/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/octocat/Spoon-Knife/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/octocat/Spoon-Knife/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/octocat/Spoon-Knife/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/octocat/Spoon-Knife/statuses/{sha}", + "languages_url": "https://api.github.com/repos/octocat/Spoon-Knife/languages", + "stargazers_url": "https://api.github.com/repos/octocat/Spoon-Knife/stargazers", + "contributors_url": "https://api.github.com/repos/octocat/Spoon-Knife/contributors", + "subscribers_url": "https://api.github.com/repos/octocat/Spoon-Knife/subscribers", + "subscription_url": "https://api.github.com/repos/octocat/Spoon-Knife/subscription", + "commits_url": "https://api.github.com/repos/octocat/Spoon-Knife/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/octocat/Spoon-Knife/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/octocat/Spoon-Knife/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/octocat/Spoon-Knife/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/octocat/Spoon-Knife/contents/{+path}", + "compare_url": "https://api.github.com/repos/octocat/Spoon-Knife/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/octocat/Spoon-Knife/merges", + "archive_url": "https://api.github.com/repos/octocat/Spoon-Knife/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/octocat/Spoon-Knife/downloads", + "issues_url": "https://api.github.com/repos/octocat/Spoon-Knife/issues{/number}", + "pulls_url": "https://api.github.com/repos/octocat/Spoon-Knife/pulls{/number}", + "milestones_url": "https://api.github.com/repos/octocat/Spoon-Knife/milestones{/number}", + "notifications_url": "https://api.github.com/repos/octocat/Spoon-Knife/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/octocat/Spoon-Knife/labels{/name}", + "releases_url": "https://api.github.com/repos/octocat/Spoon-Knife/releases{/id}", + "deployments_url": "https://api.github.com/repos/octocat/Spoon-Knife/deployments" + }, + "score": 1, + "node_id": "MDQ6VXNlcjU4MzIzMQ==" + } + ] + } + }, + "issue-search-result-item-paginated": { + "value": { + "total_count": 280, + "incomplete_results": false, + "items": [ + { + "url": "https://api.github.com/repos/batterseapower/pinyin-toolkit/issues/132", + "repository_url": "https://api.github.com/repos/batterseapower/pinyin-toolkit", + "labels_url": "https://api.github.com/repos/batterseapower/pinyin-toolkit/issues/132/labels{/name}", + "comments_url": "https://api.github.com/repos/batterseapower/pinyin-toolkit/issues/132/comments", + "events_url": "https://api.github.com/repos/batterseapower/pinyin-toolkit/issues/132/events", + "html_url": "https://github.com/batterseapower/pinyin-toolkit/issues/132", + "id": 35802, + "node_id": "MDU6SXNzdWUzNTgwMg==", + "number": 132, + "title": "Line Number Indexes Beyond 20 Not Displayed", + "user": { + "login": "Nick3C", + "id": 90254, + "node_id": "MDQ6VXNlcjkwMjU0", + "avatar_url": "https://secure.gravatar.com/avatar/934442aadfe3b2f4630510de416c5718?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png", + "gravatar_id": "", + "url": "https://api.github.com/users/Nick3C", + "html_url": "https://github.com/Nick3C", + "followers_url": "https://api.github.com/users/Nick3C/followers", + "following_url": "https://api.github.com/users/Nick3C/following{/other_user}", + "gists_url": "https://api.github.com/users/Nick3C/gists{/gist_id}", + "starred_url": "https://api.github.com/users/Nick3C/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Nick3C/subscriptions", + "organizations_url": "https://api.github.com/users/Nick3C/orgs", + "repos_url": "https://api.github.com/users/Nick3C/repos", + "events_url": "https://api.github.com/users/Nick3C/events{/privacy}", + "received_events_url": "https://api.github.com/users/Nick3C/received_events", + "type": "User", + "site_admin": true + }, + "labels": [ + { + "id": 4, + "node_id": "MDU6TGFiZWw0", + "url": "https://api.github.com/repos/batterseapower/pinyin-toolkit/labels/bug", + "name": "bug", + "color": "ff0000" + } + ], + "state": "open", + "assignee": null, + "milestone": { + "url": "https://api.github.com/repos/octocat/Hello-World/milestones/1", + "html_url": "https://github.com/octocat/Hello-World/milestones/v1.0", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/milestones/1/labels", + "id": 1002604, + "node_id": "MDk6TWlsZXN0b25lMTAwMjYwNA==", + "number": 1, + "state": "open", + "title": "v1.0", + "description": "Tracking milestone for version 1.0", + "creator": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "open_issues": 4, + "closed_issues": 8, + "created_at": "2011-04-10T20:09:31Z", + "updated_at": "2014-03-03T18:58:10Z", + "closed_at": "2013-02-12T13:22:01Z", + "due_on": "2012-10-09T23:39:01Z" + }, + "comments": 15, + "created_at": "2009-07-12T20:10:41Z", + "updated_at": "2009-07-19T09:23:43Z", + "closed_at": null, + "pull_request": { + "url": "https://api/github.com/repos/octocat/Hello-World/pull/1347", + "html_url": "https://github.com/octocat/Hello-World/pull/1347", + "diff_url": "https://github.com/octocat/Hello-World/pull/1347.diff", + "patch_url": "https://api.github.com/repos/octocat/Hello-World/pulls/1347" + }, + "body": "...", + "score": 1, + "locked": true, + "author_association": "collaborator" + } + ] + } + }, + "label-search-result-item-paginated": { + "value": { + "total_count": 2, + "incomplete_results": false, + "items": [ + { + "id": 418327088, + "node_id": "MDU6TGFiZWw0MTgzMjcwODg=", + "url": "https://api.github.com/repos/octocat/linguist/labels/enhancement", + "name": "enhancement", + "color": "84b6eb", + "default": true, + "description": "New feature or request.", + "score": 1 + }, + { + "id": 418327086, + "node_id": "MDU6TGFiZWw0MTgzMjcwODY=", + "url": "https://api.github.com/repos/octocat/linguist/labels/bug", + "name": "bug", + "color": "ee0701", + "default": true, + "description": "Something isn't working.", + "score": 1 + } + ] + } + }, + "repo-search-result-item-paginated": { + "value": { + "total_count": 40, + "incomplete_results": false, + "items": [ + { + "id": 3081286, + "node_id": "MDEwOlJlcG9zaXRvcnkzMDgxMjg2", + "name": "Tetris", + "full_name": "dtrupenn/Tetris", + "owner": { + "login": "dtrupenn", + "id": 872147, + "node_id": "MDQ6VXNlcjg3MjE0Nw==", + "avatar_url": "https://secure.gravatar.com/avatar/e7956084e75f239de85d3a31bc172ace?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png", + "gravatar_id": "", + "url": "https://api.github.com/users/dtrupenn", + "received_events_url": "https://api.github.com/users/dtrupenn/received_events", + "type": "User", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "site_admin": true + }, + "private": false, + "html_url": "https://github.com/dtrupenn/Tetris", + "description": "A C implementation of Tetris using Pennsim through LC4", + "fork": false, + "url": "https://api.github.com/repos/dtrupenn/Tetris", + "created_at": "2012-01-01T00:31:50Z", + "updated_at": "2013-01-05T17:58:47Z", + "pushed_at": "2012-01-01T00:37:02Z", + "homepage": "https://github.com", + "size": 524, + "stargazers_count": 1, + "watchers_count": 1, + "language": "Assembly", + "forks_count": 0, + "open_issues_count": 0, + "master_branch": "master", + "default_branch": "master", + "score": 1, + "archive_url": "https://api.github.com/repos/dtrupenn/Tetris/{archive_format}{/ref}", + "assignees_url": "https://api.github.com/repos/dtrupenn/Tetris/assignees{/user}", + "blobs_url": "https://api.github.com/repos/dtrupenn/Tetris/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/dtrupenn/Tetris/branches{/branch}", + "collaborators_url": "https://api.github.com/repos/dtrupenn/Tetris/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/dtrupenn/Tetris/comments{/number}", + "commits_url": "https://api.github.com/repos/dtrupenn/Tetris/commits{/sha}", + "compare_url": "https://api.github.com/repos/dtrupenn/Tetris/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/dtrupenn/Tetris/contents/{+path}", + "contributors_url": "https://api.github.com/repos/dtrupenn/Tetris/contributors", + "deployments_url": "https://api.github.com/repos/dtrupenn/Tetris/deployments", + "downloads_url": "https://api.github.com/repos/dtrupenn/Tetris/downloads", + "events_url": "https://api.github.com/repos/dtrupenn/Tetris/events", + "forks_url": "https://api.github.com/repos/dtrupenn/Tetris/forks", + "git_commits_url": "https://api.github.com/repos/dtrupenn/Tetris/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/dtrupenn/Tetris/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/dtrupenn/Tetris/git/tags{/sha}", + "git_url": "git:github.com/dtrupenn/Tetris.git", + "issue_comment_url": "https://api.github.com/repos/dtrupenn/Tetris/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/dtrupenn/Tetris/issues/events{/number}", + "issues_url": "https://api.github.com/repos/dtrupenn/Tetris/issues{/number}", + "keys_url": "https://api.github.com/repos/dtrupenn/Tetris/keys{/key_id}", + "labels_url": "https://api.github.com/repos/dtrupenn/Tetris/labels{/name}", + "languages_url": "https://api.github.com/repos/dtrupenn/Tetris/languages", + "merges_url": "https://api.github.com/repos/dtrupenn/Tetris/merges", + "milestones_url": "https://api.github.com/repos/dtrupenn/Tetris/milestones{/number}", + "notifications_url": "https://api.github.com/repos/dtrupenn/Tetris/notifications{?since,all,participating}", + "pulls_url": "https://api.github.com/repos/dtrupenn/Tetris/pulls{/number}", + "releases_url": "https://api.github.com/repos/dtrupenn/Tetris/releases{/id}", + "ssh_url": "git@github.com:dtrupenn/Tetris.git", + "stargazers_url": "https://api.github.com/repos/dtrupenn/Tetris/stargazers", + "statuses_url": "https://api.github.com/repos/dtrupenn/Tetris/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/dtrupenn/Tetris/subscribers", + "subscription_url": "https://api.github.com/repos/dtrupenn/Tetris/subscription", + "tags_url": "https://api.github.com/repos/dtrupenn/Tetris/tags", + "teams_url": "https://api.github.com/repos/dtrupenn/Tetris/teams", + "trees_url": "https://api.github.com/repos/dtrupenn/Tetris/git/trees{/sha}", + "clone_url": "https://github.com/dtrupenn/Tetris.git", + "mirror_url": "git:git.example.com/dtrupenn/Tetris", + "hooks_url": "https://api.github.com/repos/dtrupenn/Tetris/hooks", + "svn_url": "https://svn.github.com/dtrupenn/Tetris", + "forks": 1, + "open_issues": 1, + "watchers": 1, + "has_issues": true, + "has_projects": true, + "has_pages": true, + "has_wiki": true, + "has_downloads": true, + "archived": true, + "disabled": true, + "license": { + "key": "mit", + "name": "MIT License", + "url": "https://api.github.com/licenses/mit", + "spdx_id": "MIT", + "node_id": "MDc6TGljZW5zZW1pdA==", + "html_url": "https://api.github.com/licenses/mit" + } + } + ] + } + }, + "topic-search-result-item-paginated": { + "value": { + "total_count": 6, + "incomplete_results": false, + "items": [ + { + "name": "ruby", + "display_name": "Ruby", + "short_description": "Ruby is a scripting language designed for simplified object-oriented programming.", + "description": "Ruby was developed by Yukihiro \"Matz\" Matsumoto in 1995 with the intent of having an easily readable programming language. It is integrated with the Rails framework to create dynamic web-applications. Ruby's syntax is similar to that of Perl and Python.", + "created_by": "Yukihiro Matsumoto", + "released": "December 21, 1995", + "created_at": "2016-11-28T22:03:59Z", + "updated_at": "2017-10-30T18:16:32Z", + "featured": true, + "curated": true, + "score": 1 + }, + { + "name": "rails", + "display_name": "Rails", + "short_description": "Ruby on Rails (Rails) is a web application framework written in Ruby.", + "description": "Ruby on Rails (Rails) is a web application framework written in Ruby. It is meant to help simplify the building of complex websites.", + "created_by": "David Heinemeier Hansson", + "released": "December 13 2005", + "created_at": "2016-12-09T17:03:50Z", + "updated_at": "2017-10-30T16:20:19Z", + "featured": true, + "curated": true, + "score": 1 + }, + { + "name": "python", + "display_name": "Python", + "short_description": "Python is a dynamically typed programming language.", + "description": "Python is a dynamically typed programming language designed by Guido Van Rossum. Much like the programming language Ruby, Python was designed to be easily read by programmers. Because of its large following and many libraries, Python can be implemented and used to do anything from webpages to scientific research.", + "created_by": "Guido van Rossum", + "released": "February 20, 1991", + "created_at": "2016-12-07T00:07:02Z", + "updated_at": "2017-10-27T22:45:43Z", + "featured": true, + "curated": true, + "score": 1 + }, + { + "name": "jekyll", + "display_name": "Jekyll", + "short_description": "Jekyll is a simple, blog-aware static site generator.", + "description": "Jekyll is a blog-aware, site generator written in Ruby. It takes raw text files, runs it through a renderer and produces a publishable static website.", + "created_by": "Tom Preston-Werner", + "released": "2008", + "created_at": "2016-12-16T21:53:08Z", + "updated_at": "2017-10-27T19:00:24Z", + "featured": true, + "curated": true, + "score": 1 + }, + { + "name": "sass", + "display_name": "Sass", + "short_description": "Sass is a stable extension to classic CSS.", + "description": "Sass is a stylesheet language with a main implementation in Ruby. It is an extension of CSS that makes improvements to the old stylesheet format, such as being able to declare variables and using a cleaner nesting syntax.", + "created_by": "Hampton Catlin, Natalie Weizenbaum, Chris Eppstein", + "released": "November 28, 2006", + "created_at": "2016-12-16T21:53:45Z", + "updated_at": "2018-01-16T16:30:40Z", + "featured": true, + "curated": true, + "score": 1 + }, + { + "name": "homebrew", + "display_name": "Homebrew", + "short_description": "Homebrew is a package manager for macOS.", + "description": "Homebrew is a package manager for Apple's macOS operating system. It simplifies the installation of software and is popular in the Ruby on Rails community.", + "created_by": "Max Howell", + "released": "2009", + "created_at": "2016-12-17T20:30:44Z", + "updated_at": "2018-02-06T16:14:56Z", + "featured": true, + "curated": true, + "score": 1 + } + ] + } + }, + "user-search-result-item-paginated": { + "value": { + "total_count": 12, + "incomplete_results": false, + "items": [ + { + "login": "mojombo", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://secure.gravatar.com/avatar/25c7c18223fb42a4c6ae1c8db6f50f9b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png", + "gravatar_id": "", + "url": "https://api.github.com/users/mojombo", + "html_url": "https://github.com/mojombo", + "followers_url": "https://api.github.com/users/mojombo/followers", + "subscriptions_url": "https://api.github.com/users/mojombo/subscriptions", + "organizations_url": "https://api.github.com/users/mojombo/orgs", + "repos_url": "https://api.github.com/users/mojombo/repos", + "received_events_url": "https://api.github.com/users/mojombo/received_events", + "type": "User", + "score": 1, + "following_url": "https://api.github.com/users/mojombo/following{/other_user}", + "gists_url": "https://api.github.com/users/mojombo/gists{/gist_id}", + "starred_url": "https://api.github.com/users/mojombo/starred{/owner}{/repo}", + "events_url": "https://api.github.com/users/mojombo/events{/privacy}", + "site_admin": true + } + ] + } + }, + "team-repository-alternative-response-with-extra-repository-information": { + "value": { + "id": 1296269, + "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", + "name": "Hello-World", + "full_name": "octocat/Hello-World", + "owner": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "private": false, + "html_url": "https://github.com/octocat/Hello-World", + "description": "This your first repo!", + "fork": false, + "url": "https://api.github.com/repos/octocat/Hello-World", + "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", + "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", + "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", + "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", + "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", + "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", + "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", + "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", + "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", + "events_url": "https://api.github.com/repos/octocat/Hello-World/events", + "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", + "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", + "git_url": "git:github.com/octocat/Hello-World.git", + "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", + "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", + "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", + "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", + "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", + "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", + "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", + "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", + "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", + "ssh_url": "git@github.com:octocat/Hello-World.git", + "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", + "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", + "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", + "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", + "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", + "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", + "clone_url": "https://github.com/octocat/Hello-World.git", + "mirror_url": "git:git.example.com/octocat/Hello-World", + "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", + "svn_url": "https://svn.github.com/octocat/Hello-World", + "homepage": "https://github.com", + "language": null, + "forks_count": 9, + "stargazers_count": 80, + "watchers_count": 80, + "size": 108, + "default_branch": "master", + "open_issues_count": 0, + "is_template": true, + "topics": ["octocat", "atom", "electron", "api"], + "has_issues": true, + "has_projects": true, + "has_wiki": true, + "has_pages": false, + "has_downloads": true, + "archived": false, + "disabled": false, + "visibility": "public", + "pushed_at": "2011-01-26T19:06:43Z", + "created_at": "2011-01-26T19:01:12Z", + "updated_at": "2011-01-26T19:14:43Z", + "permissions": { "admin": false, "push": false, "pull": true }, + "allow_rebase_merge": true, + "template_repository": null, + "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", + "allow_squash_merge": true, + "delete_branch_on_merge": true, + "allow_merge_commit": true, + "subscribers_count": 42, + "network_count": 0, + "license": { + "key": "mit", + "name": "MIT License", + "url": "https://api.github.com/licenses/mit", + "spdx_id": "MIT", + "node_id": "MDc6TGljZW5zZW1pdA==", + "html_url": "https://api.github.com/licenses/mit" + }, + "forks": 1, + "open_issues": 1, + "watchers": 1 + } + }, + "group-mapping-2": { + "value": { + "groups": [ + { + "group_id": "123", + "group_name": "Octocat admins", + "group_description": "The people who configure your octoworld." + } + ] + } + }, + "private-user-response-with-public-and-private-profile-information": { + "summary": "Response with public and private profile information", + "value": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false, + "name": "monalisa octocat", + "company": "GitHub", + "blog": "https://github.com/blog", + "location": "San Francisco", + "email": "octocat@github.com", + "hireable": false, + "bio": "There once was...", + "twitter_username": "monatheoctocat", + "public_repos": 2, + "public_gists": 1, + "followers": 20, + "following": 0, + "created_at": "2008-01-14T04:33:35Z", + "updated_at": "2008-01-14T04:33:35Z", + "private_gists": 81, + "total_private_repos": 100, + "owned_private_repos": 100, + "disk_usage": 10000, + "collaborators": 8, + "two_factor_authentication": true, + "plan": { + "name": "Medium", + "space": 400, + "private_repos": 20, + "collaborators": 0 + } + } + }, + "private-user-response-with-public-profile-information": { + "summary": "Response with public profile information", + "value": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false, + "name": "monalisa octocat", + "company": "GitHub", + "blog": "https://github.com/blog", + "location": "San Francisco", + "email": "octocat@github.com", + "hireable": false, + "bio": "There once was...", + "twitter_username": "monatheoctocat", + "public_repos": 2, + "public_gists": 1, + "followers": 20, + "following": 0, + "created_at": "2008-01-14T04:33:35Z", + "updated_at": "2008-01-14T04:33:35Z" + } + }, + "private-user": { + "value": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false, + "name": "monalisa octocat", + "company": "GitHub", + "blog": "https://github.com/blog", + "location": "San Francisco", + "email": "octocat@github.com", + "hireable": false, + "bio": "There once was...", + "twitter_username": "monatheoctocat", + "public_repos": 2, + "public_gists": 1, + "followers": 20, + "following": 0, + "created_at": "2008-01-14T04:33:35Z", + "updated_at": "2008-01-14T04:33:35Z", + "private_gists": 81, + "total_private_repos": 100, + "owned_private_repos": 100, + "disk_usage": 10000, + "collaborators": 8, + "two_factor_authentication": true, + "plan": { + "name": "Medium", + "space": 400, + "private_repos": 20, + "collaborators": 0 + } + } + }, + "email-items-3": { + "value": [ + { + "email": "octocat@github.com", + "primary": true, + "verified": true, + "visibility": "private" + } + ] + }, + "email-items-2": { + "value": [ + { + "email": "octocat@github.com", + "verified": true, + "primary": true, + "visibility": "public" + } + ] + }, + "email-items": { + "value": [ + { + "email": "octocat@octocat.org", + "primary": false, + "verified": false, + "visibility": "public" + }, + { + "email": "octocat@github.com", + "primary": false, + "verified": false, + "visibility": null + }, + { + "email": "mona@github.com", + "primary": false, + "verified": false, + "visibility": null + } + ] + }, + "gpg-key-items": { + "value": [ + { + "id": 3, + "primary_key_id": 2, + "key_id": "3262EFF25BA0D270", + "public_key": "xsBNBFayYZ...", + "emails": [ + { + "email": "mastahyeti@users.noreply.github.com", + "verified": true + } + ], + "subkeys": [ + { + "id": 4, + "primary_key_id": 3, + "key_id": "4A595D4C72EE49C7", + "public_key": "zsBNBFayYZ...", + "emails": [], + "subkeys": [], + "can_sign": false, + "can_encrypt_comms": true, + "can_encrypt_storage": true, + "can_certify": false, + "created_at": "2016-03-24T11:31:04-06:00", + "expires_at": "2016-03-24T11:31:04-07:00" + } + ], + "can_sign": true, + "can_encrypt_comms": false, + "can_encrypt_storage": false, + "can_certify": true, + "created_at": "2016-03-24T11:31:04-06:00", + "expires_at": "2016-03-24T11:31:04-07:00", + "raw_key": "string" + } + ] + }, + "gpg-key": { + "value": { + "id": 3, + "primary_key_id": 2, + "key_id": "3262EFF25BA0D270", + "public_key": "xsBNBFayYZ...", + "emails": [ + { "email": "mastahyeti@users.noreply.github.com", "verified": true } + ], + "subkeys": [ + { + "id": 4, + "primary_key_id": 3, + "key_id": "4A595D4C72EE49C7", + "public_key": "zsBNBFayYZ...", + "emails": [], + "subkeys": [], + "can_sign": false, + "can_encrypt_comms": true, + "can_encrypt_storage": true, + "can_certify": false, + "created_at": "2016-03-24T11:31:04-06:00", + "expires_at": "2016-03-24T11:31:04-07:00" + } + ], + "can_sign": true, + "can_encrypt_comms": false, + "can_encrypt_storage": false, + "can_certify": true, + "created_at": "2016-03-24T11:31:04-06:00", + "expires_at": "2016-03-24T11:31:04-07:00", + "raw_key": "\"-----BEGIN PGP PUBLIC KEY BLOCK-----\\nVersion: GnuPG v2\\n\\nmQENBFayYZ0BCAC4hScoJXXpyR+MXGcrBxElqw3FzCVvkViuyeko+Jp76QJhg8kr\\nucRTxbnOoHfda/FmilEa/wxf9ch5/PSrrL26FxEoPHhJolp8fnIDLQeITn94NYdB\\nZtnnEKslpPrG97qSUWIchvyqCPtvOb8+8fWvGx9K/ZWcEEdh1X8+WFR2jMENMeoX\\nwxHWQoPnS7LpX/85/M7VUcJxvDVfv+eHsnQupmE5bGarKNih0oMe3LbdN3qA5PTz\\nSCm6Iudar1VsQ+xTz08ymL7t4pnEtLguQ7EyatFHCjxNblv5RzxoL0tDgN3HqoDz\\nc7TEA+q4RtDQl9amcvQ95emnXmZ974u7UkYdABEBAAG0HlNvbWUgVXNlciA8c29t\\nZXVzZXJAZ21haWwuY29tPokBOAQTAQIAIgUCVrJhnQIbAwYLCQgHAwIGFQgCCQoL\\nBBYCAwECHgECF4AACgkQMmLv8lug0nAViQgArWjI55+7p48URr2z9Jvak+yrBTx1\\nzkufltQAnHTJkq+Kl9dySSmTnOop8o3rE4++IOpYV5Y36PkKf9EZMk4n1RQiDPKE\\nAFtRVTkRaoWzOir9KQXJPfhKrl01j/QzY+utfiMvUoBJZ9ybq8Pa885SljW9lbaX\\nIYw+hl8ZdJ2KStvGrEyfQvRyq3aN5c9TV//4BdGnwx7Qabq/U+G18lizG6f/yq15\\ned7t0KELaCfeKPvytp4VE9/z/Ksah/h3+Qilx07/oG2Ae5kC1bEC9coD/ogPUhbv\\nb2bsBIoY9E9YwsLoif2lU+o1t76zLgUktuNscRRUKobW028H1zuFS/XQhrkBDQRW\\nsmGdAQgApnyyv3i144OLYy0O4UKQxd3e10Y3WpDwfnGIBefAI1m7RxnUxBag/DsU\\n7gi9qLEC4VHSfq4eiNfr1LJOyCL2edTgCWFgBhVjbXjZe6YAOrAnhxwCErnN0Y7N\\n6s8wVh9fObSOyf8ZE6G7JeKpcq9Q6gd/KxagfD48a1v+fyRHpyQc6J9pUEmtrDJ7\\nBjmsd2VWzLBvNWdHyxDNtZweIaqIO9VUYYpr1mtTliNBOZLUelmgrt7HBRcJpWMA\\nS8muVVbuP5MK0trLBq/JB8qUH3zRzB/PhMgzmkIfjEK1VYDWm4E8DYyTWEJcHqkb\\neqFsNjrIlwPaA122BWC6gUOPwwH+oQARAQABiQEfBBgBAgAJBQJWsmGdAhsMAAoJ\\nEDJi7/JboNJwAyAIALd4xcdmGbZD98gScJzqwzkOMcO8zFHqHNvJ42xIFvGny7c0\\n1Rx7iyrdypOby5AxE+viQcjG4rpLZW/xKYBNGrCfDyQO7511I0v8x20EICMlMfD/\\nNrWQCzesEPcUlKTP07d+sFyP8AyseOidbzY/92CpskTgdSBjY/ntLSaoknl/fjJE\\nQM8OkPqU7IraO1Jzzdnm20d5PZL9+PIwIWdSTedU/vBMTJyNcoqvSfKf1wNC66XP\\nhqfYgXJE564AdWZKA3C0IyCqiv+LHwxLnUHio1a4/r91C8KPzxs6tGxRDjXLd7ms\\nuYFGWymiUGOE/giHlcxdYcHzwLnPDliMQOLiTkK5AQ0EVuxMygEIAOD+bW1cDTmE\\nBxh5JECoqeHuwgl6DlLhnubWPkQ4ZeRzBRAsFcEJQlwlJjrzFDicL+lnm6Qq4tt0\\n560TwHdf15/AKTZIZu7H25axvGNzgeaUkJEJdYAq9zTKWwX7wKyzBszi485nQg97\\nMfAqwhMpDW0Qqf8+7Ug+WEmfBSGv9uL3aQC6WEeIsHfri0n0n8v4XgwhfShXguxO\\nCsOztEsuW7WWKW9P4TngKKv4lCHdPlV6FwxeMzODBJvc2fkHVHnqc0PqszJ5xcF8\\n6gZCpMM027SbpeYWCAD5zwJyYP9ntfO1p2HjnQ1dZaP9FeNcO7uIV1Lnd1eGCu6I\\nsrVp5k1f3isAEQEAAYkCPgQYAQIACQUCVuxMygIbAgEpCRAyYu/yW6DScMBdIAQZ\\nAQIABgUCVuxMygAKCRCKohN4dhq2b4tcCACHxmOHVXNpu47OvUGYQydLgMACUlXN\\nlj+HfE0VReqShxdDmpasAY9IRpuMB2RsGK8GbNP+4SlOlAiPf5SMhS7nZNkNDgQQ\\naZ3HFpgrFmFwmE10BKT4iQtoxELLM57z0qGOAfTsEjWFQa4sF+6IHAQR/ptkdkkI\\nBUEXiMnAwVwBysLIJiLO8qdjB6qp52QkT074JVrwywT/P+DkMfC2k4r/AfEbf6eF\\ndmPDuPk6KD87+hJZsSa5MaMUBQVvRO/mgEkhJRITVu58eWGaBOcQJ8gqurhCqM5P\\nDfUA4TJ7wiqM6sS764vV1rOioTTXkszzhClQqET7hPVnVQjenYgv0EZHNyQH/1f1\\n/CYqvV1vFjM9vJjMbxXsATCkZe6wvBVKD8vLsJAr8N+onKQz+4OPc3kmKq7aESu3\\nCi/iuie5KKVwnuNhr9AzT61vEkKxwHcVFEvHB77F6ZAAInhRvjzmQbD2dlPLLQCC\\nqDj71ODSSAPTEmUy6969bgD9PfWei7kNkBIx7s3eBv8yzytSc2EcuUgopqFazquw\\nFs1+tqGHjBvQfTo6bqbJjp/9Ci2pvde3ElV2rAgUlb3lqXyXjRDqrXosh5GcRPQj\\nK8Nhj1BNhnrCVskE4BP0LYbOHuzgm86uXwGCFsY+w2VOsSm16Jx5GHyG5S5WU3+D\\nIts/HFYRLiFgDLmTlxo=\\n=+OzK\\n-----END PGP PUBLIC KEY BLOCK-----\"" + } + }, + "base-installation-for-auth-user-paginated": { + "value": { + "total_count": 2, + "installations": [ + { + "id": 1, + "account": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "access_tokens_url": "https://api.github.com/installations/1/access_tokens", + "repositories_url": "https://api.github.com/installation/repositories", + "html_url": "https://github.com/organizations/github/settings/installations/1", + "app_id": 1, + "target_id": 1, + "target_type": "Organization", + "permissions": { + "checks": "write", + "metadata": "read", + "contents": "read" + }, + "events": ["push", "pull_request"], + "single_file_name": "config.yaml", + "has_multiple_single_files": true, + "single_file_paths": ["config.yml", ".github/issue_TEMPLATE.md"], + "repository_selection": "all", + "created_at": "2017-07-08T16:18:44-04:00", + "updated_at": "2017-07-08T16:18:44-04:00", + "app_slug": "github-actions" + }, + { + "id": 3, + "account": { + "login": "octocat", + "id": 2, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "access_tokens_url": "https://api.github.com/installations/1/access_tokens", + "repositories_url": "https://api.github.com/installation/repositories", + "html_url": "https://github.com/organizations/github/settings/installations/1", + "app_id": 1, + "target_id": 1, + "target_type": "Organization", + "permissions": { + "checks": "write", + "metadata": "read", + "contents": "read" + }, + "events": ["push", "pull_request"], + "single_file_name": "config.yaml", + "has_multiple_single_files": true, + "single_file_paths": ["config.yml", ".github/issue_TEMPLATE.md"], + "repository_selection": "all", + "created_at": "2017-07-08T16:18:44-04:00", + "updated_at": "2017-07-08T16:18:44-04:00", + "app_slug": "github-actions" + } + ] + } + }, + "interaction-limit-user": { + "value": { + "limit": "collaborators_only", + "origin": "user", + "expires_at": "2018-08-17T04:18:39Z" + } + }, + "key-items": { + "value": [ + { + "key_id": "012345678912345678", + "key": "2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234", + "id": 2, + "url": "https://api.github.com/user/keys/2", + "title": "ssh-rsa AAAAB3NzaC1yc2EAAA", + "created_at": "2020-06-11T21:31:57Z", + "verified": false, + "read_only": false + }, + { + "key_id": "012345678912345608", + "key": "2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJy931234", + "id": 3, + "url": "https://api.github.com/user/keys/3", + "title": "ssh-rsa AAAAB3NzaC1yc2EAAB", + "created_at": "2020-07-11T21:31:57Z", + "verified": false, + "read_only": false + } + ] + }, + "key": { + "value": { + "key_id": "012345678912345678", + "key": "2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234", + "id": 2, + "url": "https://api.github.com/user/keys/2", + "title": "ssh-rsa AAAAB3NzaC1yc2EAAA", + "created_at": "2020-06-11T21:31:57Z", + "verified": false, + "read_only": false + } + }, + "user-marketplace-purchase-items": { + "value": [ + { + "billing_cycle": "monthly", + "next_billing_date": "2017-11-11T00:00:00Z", + "unit_count": null, + "on_free_trial": true, + "free_trial_ends_on": "2017-11-11T00:00:00Z", + "updated_at": "2017-11-02T01:12:12Z", + "account": { + "login": "github", + "id": 4, + "url": "https://api.github.com/orgs/github", + "email": null, + "organization_billing_email": "billing@github.com", + "type": "Organization" + }, + "plan": { + "url": "https://api.github.com/marketplace_listing/plans/1313", + "accounts_url": "https://api.github.com/marketplace_listing/plans/1313/accounts", + "id": 1313, + "number": 3, + "name": "Pro", + "description": "A professional-grade CI solution", + "monthly_price_in_cents": 1099, + "yearly_price_in_cents": 11870, + "price_model": "flat-rate", + "has_free_trial": true, + "unit_name": null, + "state": "published", + "bullets": [ + "Up to 25 private repositories", + "11 concurrent builds" + ] + } + } + ] + }, + "org-membership-items": { + "value": [ + { + "url": "https://api.github.com/orgs/octocat/memberships/defunkt", + "state": "active", + "role": "admin", + "organization_url": "https://api.github.com/orgs/octocat", + "organization": { + "login": "github", + "id": 1, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", + "url": "https://api.github.com/orgs/github", + "repos_url": "https://api.github.com/orgs/github/repos", + "events_url": "https://api.github.com/orgs/github/events", + "hooks_url": "https://api.github.com/orgs/github/hooks", + "issues_url": "https://api.github.com/orgs/github/issues", + "members_url": "https://api.github.com/orgs/github/members{/member}", + "public_members_url": "https://api.github.com/orgs/github/public_members{/member}", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "description": "A great organization" + }, + "user": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + } + }, + { + "url": "https://api.github.com/orgs/invitocat/memberships/defunkt", + "state": "pending", + "role": "admin", + "organization_url": "https://api.github.com/orgs/invitocat", + "organization": { + "login": "github", + "id": 1, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", + "url": "https://api.github.com/orgs/github", + "repos_url": "https://api.github.com/orgs/github/repos", + "events_url": "https://api.github.com/orgs/github/events", + "hooks_url": "https://api.github.com/orgs/github/hooks", + "issues_url": "https://api.github.com/orgs/github/issues", + "members_url": "https://api.github.com/orgs/github/members{/member}", + "public_members_url": "https://api.github.com/orgs/github/public_members{/member}", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "description": "A great organization" + }, + "user": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + } + } + ] + }, + "org-membership": { + "value": { + "url": "https://api.github.com/orgs/invitocat/memberships/defunkt", + "state": "pending", + "role": "admin", + "organization_url": "https://api.github.com/orgs/invitocat", + "organization": { + "login": "github", + "id": 1, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", + "url": "https://api.github.com/orgs/github", + "repos_url": "https://api.github.com/orgs/github/repos", + "events_url": "https://api.github.com/orgs/github/events", + "hooks_url": "https://api.github.com/orgs/github/hooks", + "issues_url": "https://api.github.com/orgs/github/issues", + "members_url": "https://api.github.com/orgs/github/members{/member}", + "public_members_url": "https://api.github.com/orgs/github/public_members{/member}", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "description": "A great organization" + }, + "user": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + } + } + }, + "org-membership-2": { + "value": { + "url": "https://api.github.com/orgs/octocat/memberships/defunkt", + "state": "active", + "role": "admin", + "organization_url": "https://api.github.com/orgs/octocat", + "organization": { + "login": "github", + "id": 1, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", + "url": "https://api.github.com/orgs/github", + "repos_url": "https://api.github.com/orgs/github/repos", + "events_url": "https://api.github.com/orgs/github/events", + "hooks_url": "https://api.github.com/orgs/github/hooks", + "issues_url": "https://api.github.com/orgs/github/issues", + "members_url": "https://api.github.com/orgs/github/members{/member}", + "public_members_url": "https://api.github.com/orgs/github/public_members{/member}", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "description": "A great organization" + }, + "user": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + } + } + }, + "migration-items": { + "value": [ + { + "id": 79, + "owner": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "guid": "0b989ba4-242f-11e5-81e1-c7b6966d2516", + "state": "pending", + "lock_repositories": true, + "exclude_attachments": false, + "repositories": [ + { + "id": 1296269, + "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", + "name": "Hello-World", + "full_name": "octocat/Hello-World", + "owner": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "private": false, + "html_url": "https://github.com/octocat/Hello-World", + "description": "This your first repo!", + "fork": false, + "url": "https://api.github.com/repos/octocat/Hello-World", + "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", + "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", + "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", + "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", + "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", + "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", + "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", + "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", + "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", + "events_url": "https://api.github.com/repos/octocat/Hello-World/events", + "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", + "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", + "git_url": "git:github.com/octocat/Hello-World.git", + "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", + "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", + "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", + "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", + "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", + "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", + "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", + "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", + "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", + "ssh_url": "git@github.com:octocat/Hello-World.git", + "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", + "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", + "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", + "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", + "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", + "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", + "clone_url": "https://github.com/octocat/Hello-World.git", + "mirror_url": "git:git.example.com/octocat/Hello-World", + "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", + "svn_url": "https://svn.github.com/octocat/Hello-World", + "homepage": "https://github.com", + "language": null, + "forks_count": 9, + "stargazers_count": 80, + "watchers_count": 80, + "size": 108, + "default_branch": "master", + "open_issues_count": 0, + "is_template": true, + "topics": ["octocat", "atom", "electron", "api"], + "has_issues": true, + "has_projects": true, + "has_wiki": true, + "has_pages": false, + "has_downloads": true, + "archived": false, + "disabled": false, + "visibility": "public", + "pushed_at": "2011-01-26T19:06:43Z", + "created_at": "2011-01-26T19:01:12Z", + "updated_at": "2011-01-26T19:14:43Z", + "permissions": { "admin": false, "push": false, "pull": true }, + "allow_rebase_merge": true, + "template_repository": null, + "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", + "allow_squash_merge": true, + "delete_branch_on_merge": true, + "allow_merge_commit": true, + "subscribers_count": 42, + "network_count": 0, + "license": { + "key": "mit", + "name": "MIT License", + "url": "https://api.github.com/licenses/mit", + "spdx_id": "MIT", + "node_id": "MDc6TGljZW5zZW1pdA==", + "html_url": "https://api.github.com/licenses/mit" + }, + "forks": 1, + "open_issues": 1, + "watchers": 1 + } + ], + "url": "https://api.github.com/orgs/octo-org/migrations/79", + "created_at": "2015-07-06T15:33:38-07:00", + "updated_at": "2015-07-06T15:33:38-07:00", + "node_id": "MDQ6VXNlcjE=" + } + ] + }, + "migration-2": { + "value": { + "id": 79, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", + "owner": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "guid": "0b989ba4-242f-11e5-81e1-c7b6966d2516", + "state": "pending", + "lock_repositories": true, + "exclude_attachments": false, + "repositories": [ + { + "id": 1296269, + "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", + "name": "Hello-World", + "full_name": "octocat/Hello-World", + "owner": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "private": false, + "html_url": "https://github.com/octocat/Hello-World", + "description": "This your first repo!", + "fork": false, + "url": "https://api.github.com/repos/octocat/Hello-World", + "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", + "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", + "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", + "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", + "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", + "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", + "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", + "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", + "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", + "events_url": "https://api.github.com/repos/octocat/Hello-World/events", + "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", + "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", + "git_url": "git:github.com/octocat/Hello-World.git", + "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", + "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", + "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", + "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", + "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", + "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", + "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", + "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", + "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", + "ssh_url": "git@github.com:octocat/Hello-World.git", + "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", + "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", + "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", + "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", + "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", + "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", + "clone_url": "https://github.com/octocat/Hello-World.git", + "mirror_url": "git:git.example.com/octocat/Hello-World", + "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", + "svn_url": "https://svn.github.com/octocat/Hello-World", + "homepage": "https://github.com", + "language": null, + "forks_count": 9, + "stargazers_count": 80, + "watchers_count": 80, + "size": 108, + "default_branch": "master", + "open_issues_count": 0, + "is_template": true, + "topics": ["octocat", "atom", "electron", "api"], + "has_issues": true, + "has_projects": true, + "has_wiki": true, + "has_pages": false, + "has_downloads": true, + "archived": false, + "disabled": false, + "visibility": "public", + "pushed_at": "2011-01-26T19:06:43Z", + "created_at": "2011-01-26T19:01:12Z", + "updated_at": "2011-01-26T19:14:43Z", + "permissions": { "admin": false, "push": false, "pull": true }, + "allow_rebase_merge": true, + "template_repository": null, + "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", + "allow_squash_merge": true, + "delete_branch_on_merge": true, + "allow_merge_commit": true, + "subscribers_count": 42, + "network_count": 0, + "license": { + "key": "mit", + "name": "MIT License", + "url": "https://api.github.com/licenses/mit", + "spdx_id": "MIT", + "node_id": "MDc6TGljZW5zZW1pdA==", + "html_url": "https://api.github.com/licenses/mit" + }, + "forks": 1, + "open_issues": 1, + "watchers": 1 + } + ], + "url": "https://api.github.com/orgs/octo-org/migrations/79", + "created_at": "2015-07-06T15:33:38-07:00", + "updated_at": "2015-07-06T15:33:38-07:00" + } + }, + "migration": { + "value": { + "id": 79, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", + "owner": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "guid": "0b989ba4-242f-11e5-81e1-c7b6966d2516", + "state": "exported", + "lock_repositories": true, + "exclude_attachments": false, + "repositories": [ + { + "id": 1296269, + "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", + "name": "Hello-World", + "full_name": "octocat/Hello-World", + "owner": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "private": false, + "html_url": "https://github.com/octocat/Hello-World", + "description": "This your first repo!", + "fork": false, + "url": "https://api.github.com/repos/octocat/Hello-World", + "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", + "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", + "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", + "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", + "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", + "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", + "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", + "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", + "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", + "events_url": "https://api.github.com/repos/octocat/Hello-World/events", + "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", + "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", + "git_url": "git:github.com/octocat/Hello-World.git", + "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", + "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", + "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", + "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", + "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", + "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", + "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", + "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", + "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", + "ssh_url": "git@github.com:octocat/Hello-World.git", + "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", + "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", + "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", + "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", + "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", + "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", + "clone_url": "https://github.com/octocat/Hello-World.git", + "mirror_url": "git:git.example.com/octocat/Hello-World", + "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", + "svn_url": "https://svn.github.com/octocat/Hello-World", + "homepage": "https://github.com", + "language": null, + "forks_count": 9, + "stargazers_count": 80, + "watchers_count": 80, + "size": 108, + "default_branch": "master", + "open_issues_count": 0, + "is_template": true, + "topics": ["octocat", "atom", "electron", "api"], + "has_issues": true, + "has_projects": true, + "has_wiki": true, + "has_pages": false, + "has_downloads": true, + "archived": false, + "disabled": false, + "visibility": "public", + "pushed_at": "2011-01-26T19:06:43Z", + "created_at": "2011-01-26T19:01:12Z", + "updated_at": "2011-01-26T19:14:43Z", + "permissions": { "admin": false, "push": false, "pull": true }, + "allow_rebase_merge": true, + "template_repository": null, + "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", + "allow_squash_merge": true, + "delete_branch_on_merge": true, + "allow_merge_commit": true, + "subscribers_count": 42, + "network_count": 0, + "license": { + "key": "mit", + "name": "MIT License", + "url": "https://api.github.com/licenses/mit", + "spdx_id": "MIT", + "node_id": "MDc6TGljZW5zZW1pdA==", + "html_url": "https://api.github.com/licenses/mit" + }, + "forks": 1, + "open_issues": 1, + "watchers": 1 + } + ], + "url": "https://api.github.com/orgs/octo-org/migrations/79", + "created_at": "2015-07-06T15:33:38-07:00", + "updated_at": "2015-07-06T15:33:38-07:00" + } + }, + "project": { + "value": { + "owner_url": "https://api.github.com/users/octocat", + "url": "https://api.github.com/projects/1002603", + "html_url": "https://github.com/users/octocat/projects/1", + "columns_url": "https://api.github.com/projects/1002603/columns", + "id": 1002603, + "node_id": "MDc6UHJvamVjdDEwMDI2MDM=", + "name": "My Projects", + "body": "A board to manage my personal projects.", + "number": 1, + "state": "open", + "creator": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "created_at": "2011-04-10T20:09:31Z", + "updated_at": "2014-03-03T18:58:10Z" + } + }, + "repository-items-default-response": { + "summary": "Default response", + "value": [ + { + "id": 1296269, + "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", + "name": "Hello-World", + "full_name": "octocat/Hello-World", + "owner": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "private": false, + "html_url": "https://github.com/octocat/Hello-World", + "description": "This your first repo!", + "fork": false, + "url": "https://api.github.com/repos/octocat/Hello-World", + "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", + "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", + "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", + "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", + "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", + "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", + "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", + "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", + "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", + "events_url": "https://api.github.com/repos/octocat/Hello-World/events", + "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", + "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", + "git_url": "git:github.com/octocat/Hello-World.git", + "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", + "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", + "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", + "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", + "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", + "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", + "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", + "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", + "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", + "ssh_url": "git@github.com:octocat/Hello-World.git", + "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", + "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", + "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", + "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", + "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", + "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", + "clone_url": "https://github.com/octocat/Hello-World.git", + "mirror_url": "git:git.example.com/octocat/Hello-World", + "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", + "svn_url": "https://svn.github.com/octocat/Hello-World", + "homepage": "https://github.com", + "language": null, + "forks_count": 9, + "stargazers_count": 80, + "watchers_count": 80, + "size": 108, + "default_branch": "master", + "open_issues_count": 0, + "is_template": true, + "topics": ["octocat", "atom", "electron", "api"], + "has_issues": true, + "has_projects": true, + "has_wiki": true, + "has_pages": false, + "has_downloads": true, + "archived": false, + "disabled": false, + "visibility": "public", + "pushed_at": "2011-01-26T19:06:43Z", + "created_at": "2011-01-26T19:01:12Z", + "updated_at": "2011-01-26T19:14:43Z", + "permissions": { "admin": false, "push": false, "pull": true }, + "allow_rebase_merge": true, + "template_repository": null, + "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", + "allow_squash_merge": true, + "delete_branch_on_merge": true, + "allow_merge_commit": true, + "subscribers_count": 42, + "network_count": 0, + "license": { + "key": "mit", + "name": "MIT License", + "url": "https://api.github.com/licenses/mit", + "spdx_id": "MIT", + "node_id": "MDc6TGljZW5zZW1pdA==", + "html_url": "https://github.com/licenses/mit" + }, + "forks": 1, + "open_issues": 1, + "watchers": 1 + } + ] + }, + "starred-repository-items-alternative-response-with-star-creation-timestamps": { + "summary": "Alternative response with star creation timestamps", + "value": [ + { + "starred_at": "2011-01-16T19:06:43Z", + "repo": { + "id": 1296269, + "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", + "name": "Hello-World", + "full_name": "octocat/Hello-World", + "owner": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "private": false, + "html_url": "https://github.com/octocat/Hello-World", + "description": "This your first repo!", + "fork": false, + "url": "https://api.github.com/repos/octocat/Hello-World", + "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", + "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", + "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", + "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", + "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", + "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", + "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", + "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", + "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", + "events_url": "https://api.github.com/repos/octocat/Hello-World/events", + "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", + "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", + "git_url": "git:github.com/octocat/Hello-World.git", + "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", + "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", + "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", + "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", + "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", + "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", + "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", + "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", + "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", + "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", + "ssh_url": "git@github.com:octocat/Hello-World.git", + "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", + "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", + "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", + "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", + "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", + "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", + "clone_url": "https://github.com/octocat/Hello-World.git", + "mirror_url": "git:git.example.com/octocat/Hello-World", + "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", + "svn_url": "https://svn.github.com/octocat/Hello-World", + "homepage": "https://github.com", + "language": null, + "forks_count": 9, + "stargazers_count": 80, + "watchers_count": 80, + "size": 108, + "default_branch": "master", + "open_issues_count": 0, + "is_template": true, + "topics": ["octocat", "atom", "electron", "api"], + "has_issues": true, + "has_projects": true, + "has_wiki": true, + "has_pages": false, + "has_downloads": true, + "archived": false, + "disabled": false, + "visibility": "public", + "pushed_at": "2011-01-26T19:06:43Z", + "created_at": "2011-01-26T19:01:12Z", + "updated_at": "2011-01-26T19:14:43Z", + "permissions": { "admin": false, "push": false, "pull": true }, + "allow_rebase_merge": true, + "template_repository": null, + "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", + "allow_squash_merge": true, + "delete_branch_on_merge": true, + "allow_merge_commit": true, + "subscribers_count": 42, + "network_count": 0, + "license": { + "key": "mit", + "name": "MIT License", + "url": "https://api.github.com/licenses/mit", + "spdx_id": "MIT", + "node_id": "MDc6TGljZW5zZW1pdA==", + "html_url": "https://github.com/licenses/mit" + }, + "forks": 1, + "open_issues": 1, + "watchers": 1 + } + } + ] + }, + "team-full-items": { + "value": [ + { + "id": 1, + "node_id": "MDQ6VGVhbTE=", + "url": "https://api.github.com/teams/1", + "html_url": "https://api.github.com/teams/justice-league", + "name": "Justice League", + "slug": "justice-league", + "description": "A great team.", + "privacy": "closed", + "permission": "admin", + "members_url": "https://api.github.com/teams/1/members{/member}", + "repositories_url": "https://api.github.com/teams/1/repos", + "parent": null, + "members_count": 3, + "repos_count": 10, + "created_at": "2017-07-14T16:53:42Z", + "updated_at": "2017-08-17T12:37:15Z", + "organization": { + "login": "github", + "id": 1, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", + "url": "https://api.github.com/orgs/github", + "repos_url": "https://api.github.com/orgs/github/repos", + "events_url": "https://api.github.com/orgs/github/events", + "hooks_url": "https://api.github.com/orgs/github/hooks", + "issues_url": "https://api.github.com/orgs/github/issues", + "members_url": "https://api.github.com/orgs/github/members{/member}", + "public_members_url": "https://api.github.com/orgs/github/public_members{/member}", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "description": "A great organization", + "name": "github", + "company": "GitHub", + "blog": "https://github.com/blog", + "location": "San Francisco", + "email": "octocat@github.com", + "is_verified": true, + "has_organization_projects": true, + "has_repository_projects": true, + "public_repos": 2, + "public_gists": 1, + "followers": 20, + "following": 0, + "html_url": "https://github.com/octocat", + "created_at": "2008-01-14T04:33:35Z", + "updated_at": "2017-08-17T12:37:15Z", + "type": "Organization" + } + } + ] + }, + "public-user-default-response": { + "summary": "Default response", + "value": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false, + "name": "monalisa octocat", + "company": "GitHub", + "blog": "https://github.com/blog", + "location": "San Francisco", + "email": "octocat@github.com", + "hireable": false, + "bio": "There once was...", + "twitter_username": "monatheoctocat", + "public_repos": 2, + "public_gists": 1, + "followers": 20, + "following": 0, + "created_at": "2008-01-14T04:33:35Z", + "updated_at": "2008-01-14T04:33:35Z" + } + }, + "public-user-response-with-git-hub-plan-information": { + "summary": "Response with GitHub plan information", + "value": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false, + "name": "monalisa octocat", + "company": "GitHub", + "blog": "https://github.com/blog", + "location": "San Francisco", + "email": "octocat@github.com", + "hireable": false, + "bio": "There once was...", + "twitter_username": "monatheoctocat", + "public_repos": 2, + "public_gists": 1, + "followers": 20, + "following": 0, + "created_at": "2008-01-14T04:33:35Z", + "updated_at": "2008-01-14T04:33:35Z", + "plan": { + "name": "pro", + "space": 976562499, + "collaborators": 0, + "private_repos": 9999 + } + } + }, + "hovercard": { + "value": { + "contexts": [{ "message": "Owns this repository", "octicon": "repo" }] + } + }, + "key-simple-items": { "value": [{ "id": 1, "key": "ssh-rsa AAA..." }] }, + "project-items-3": { + "value": [ + { + "owner_url": "https://api.github.com/users/octocat", + "url": "https://api.github.com/projects/1002603", + "html_url": "https://github.com/users/octocat/projects/1", + "columns_url": "https://api.github.com/projects/1002603/columns", + "id": 1002603, + "node_id": "MDc6UHJvamVjdDEwMDI2MDM=", + "name": "My Projects", + "body": "A board to manage my personal projects.", + "number": 1, + "state": "open", + "creator": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "created_at": "2011-04-10T20:09:31Z", + "updated_at": "2014-03-03T18:58:10Z" + } + ] + } + }, + "responses": { + "not_found": { + "description": "Resource Not Found", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/basic-error" } + } + } + }, + "validation_failed_simple": { + "description": "Validation Failed", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/validation-error-simple" } + } + } + }, + "preview_header_missing": { + "description": "Preview Header Missing", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["message", "documentation_url"], + "properties": { + "message": { "type": "string" }, + "documentation_url": { "type": "string" } + } + } + } + } + }, + "forbidden": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/basic-error" } + } + } + }, + "requires_authentication": { + "description": "Requires Authentication", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/basic-error" } + } + } + }, + "validation_failed": { + "description": "Validation Failed", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/validation-error" } + } + } + }, + "not_modified": { "description": "Not Modified" }, + "gone": { + "description": "Gone", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/basic-error" } + } + } + }, + "service_unavailable": { + "description": "Service Unavailable", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "code": { "type": "string" }, + "message": { "type": "string" }, + "documentation_url": { "type": "string" } + } + } + } + } + }, + "forbidden_gist": { + "description": "Forbidden Gist", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "block": { + "type": "object", + "properties": { + "reason": { "type": "string" }, + "created_at": { "type": "string" }, + "html_url": { "type": "string", "nullable": true } + } + }, + "message": { "type": "string" }, + "documentation_url": { "type": "string" } + } + } + } + } + }, + "moved_permanently": { "description": "Moved Permanently" }, + "conflict": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/basic-error" } + } + } + }, + "internal_error": { + "description": "Internal Error", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/basic-error" } + } + } + }, + "bad_request": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/basic-error" } + }, + "application/scim+json": { + "schema": { "$ref": "#/components/schemas/scim-error" } + } + } + }, + "found": { "description": "Found" }, + "scim_not_found": { + "description": "Resource Not Found", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/scim-error" } + }, + "application/scim+json": { + "schema": { "$ref": "#/components/schemas/scim-error" } + } + } + }, + "scim_forbidden": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/scim-error" } + }, + "application/scim+json": { + "schema": { "$ref": "#/components/schemas/scim-error" } + } + } + }, + "scim_bad_request": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/scim-error" } + }, + "application/scim+json": { + "schema": { "$ref": "#/components/schemas/scim-error" } + } + } + }, + "scim_internal_error": { + "description": "Internal Error", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/scim-error" } + }, + "application/scim+json": { + "schema": { "$ref": "#/components/schemas/scim-error" } + } + } + }, + "scim_conflict": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/scim-error" } + }, + "application/scim+json": { + "schema": { "$ref": "#/components/schemas/scim-error" } + } + } + } + }, + "parameters": { + "per_page": { + "name": "per_page", + "description": "Results per page (max 100)", + "in": "query", + "schema": { "type": "integer", "default": 30 } + }, + "page": { + "name": "page", + "description": "Page number of the results to fetch.", + "in": "query", + "schema": { "type": "integer", "default": 1 } + }, + "since": { + "name": "since", + "description": "Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.", + "in": "query", + "required": false, + "schema": { "type": "string" } + }, + "installation_id": { + "name": "installation_id", + "description": "installation_id parameter", + "in": "path", + "required": true, + "schema": { "type": "integer" } + }, + "grant_id": { + "name": "grant_id", + "description": "grant_id parameter", + "in": "path", + "required": true, + "schema": { "type": "integer" } + }, + "client-id": { + "name": "client_id", + "in": "path", + "required": true, + "schema": { "type": "string" } + }, + "access-token": { + "name": "access_token", + "in": "path", + "required": true, + "schema": { "type": "string" } + }, + "app_slug": { + "name": "app_slug", + "in": "path", + "required": true, + "schema": { "type": "string" } + }, + "authorization_id": { + "name": "authorization_id", + "description": "authorization_id parameter", + "in": "path", + "required": true, + "schema": { "type": "integer" } + }, + "enterprise": { + "name": "enterprise", + "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.", + "in": "path", + "required": true, + "schema": { "type": "string" } + }, + "org_id": { + "name": "org_id", + "description": "Unique identifier of an organization.", + "in": "path", + "required": true, + "schema": { "type": "integer" } + }, + "runner_group_id": { + "name": "runner_group_id", + "description": "Unique identifier of the self-hosted runner group.", + "in": "path", + "required": true, + "schema": { "type": "integer" } + }, + "runner_id": { + "name": "runner_id", + "description": "Unique identifier of the self-hosted runner.", + "in": "path", + "required": true, + "schema": { "type": "integer" } + }, + "gist_id": { + "name": "gist_id", + "description": "gist_id parameter", + "in": "path", + "required": true, + "schema": { "type": "string" } + }, + "comment_id": { + "name": "comment_id", + "description": "comment_id parameter", + "in": "path", + "required": true, + "schema": { "type": "integer" } + }, + "labels": { + "name": "labels", + "description": "A list of comma separated label names. Example: `bug,ui,@high`", + "in": "query", + "required": false, + "schema": { "type": "string" } + }, + "direction": { + "name": "direction", + "description": "One of `asc` (ascending) or `desc` (descending).", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["asc", "desc"], + "default": "desc" + } + }, + "account_id": { + "name": "account_id", + "description": "account_id parameter", + "in": "path", + "required": true, + "schema": { "type": "integer" } + }, + "plan_id": { + "name": "plan_id", + "description": "plan_id parameter", + "in": "path", + "required": true, + "schema": { "type": "integer" } + }, + "sort": { + "name": "sort", + "description": "One of `created` (when the repository was starred) or `updated` (when it was last pushed to).", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["created", "updated"], + "default": "created" + } + }, + "owner": { + "name": "owner", + "in": "path", + "required": true, + "schema": { "type": "string" } + }, + "repo": { + "name": "repo", + "in": "path", + "required": true, + "schema": { "type": "string" } + }, + "all": { + "name": "all", + "description": "If `true`, show notifications marked as read.", + "in": "query", + "required": false, + "schema": { "type": "boolean", "default": false } + }, + "participating": { + "name": "participating", + "description": "If `true`, only shows notifications in which the user is directly participating or mentioned.", + "in": "query", + "required": false, + "schema": { "type": "boolean", "default": false } + }, + "before": { + "name": "before", + "description": "Only show notifications updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.", + "in": "query", + "required": false, + "schema": { "type": "string" } + }, + "thread_id": { + "name": "thread_id", + "description": "thread_id parameter", + "in": "path", + "required": true, + "schema": { "type": "integer" } + }, + "since-org": { + "name": "since", + "description": "An organization ID. Only return organizations with an ID greater than this ID.", + "in": "query", + "required": false, + "schema": { "type": "integer" } + }, + "org": { + "name": "org", + "in": "path", + "required": true, + "schema": { "type": "string" } + }, + "repository_id": { + "name": "repository_id", + "in": "path", + "required": true, + "schema": { "type": "integer" } + }, + "secret_name": { + "name": "secret_name", + "description": "secret_name parameter", + "in": "path", + "required": true, + "schema": { "type": "string" } + }, + "username": { + "name": "username", + "in": "path", + "required": true, + "schema": { "type": "string" } + }, + "hook-id": { + "name": "hook_id", + "in": "path", + "required": true, + "schema": { "type": "integer" } + }, + "invitation_id": { + "name": "invitation_id", + "description": "invitation_id parameter", + "in": "path", + "required": true, + "schema": { "type": "integer" } + }, + "migration_id": { + "name": "migration_id", + "description": "migration_id parameter", + "in": "path", + "required": true, + "schema": { "type": "integer" } + }, + "repo_name": { + "name": "repo_name", + "description": "repo_name parameter", + "in": "path", + "required": true, + "schema": { "type": "string" } + }, + "team_slug": { + "name": "team_slug", + "description": "team_slug parameter", + "in": "path", + "required": true, + "schema": { "type": "string" } + }, + "discussion-number": { + "name": "discussion_number", + "in": "path", + "required": true, + "schema": { "type": "integer" } + }, + "comment-number": { + "name": "comment_number", + "in": "path", + "required": true, + "schema": { "type": "integer" } + }, + "reaction-id": { + "name": "reaction_id", + "in": "path", + "required": true, + "schema": { "type": "integer" } + }, + "project-id": { + "name": "project_id", + "in": "path", + "required": true, + "schema": { "type": "integer" } + }, + "card_id": { + "name": "card_id", + "description": "card_id parameter", + "in": "path", + "required": true, + "schema": { "type": "integer" } + }, + "column_id": { + "name": "column_id", + "description": "column_id parameter", + "in": "path", + "required": true, + "schema": { "type": "integer" } + }, + "artifact_id": { + "name": "artifact_id", + "description": "artifact_id parameter", + "in": "path", + "required": true, + "schema": { "type": "integer" } + }, + "job_id": { + "name": "job_id", + "description": "job_id parameter", + "in": "path", + "required": true, + "schema": { "type": "integer" } + }, + "actor": { + "name": "actor", + "description": "Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run.", + "in": "query", + "required": false, + "schema": { "type": "string" } + }, + "workflow-run-branch": { + "name": "branch", + "description": "Returns workflow runs associated with a branch. Use the name of the branch of the `push`.", + "in": "query", + "required": false, + "schema": { "type": "string" } + }, + "event": { + "name": "event", + "description": "Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see \"[Events that trigger workflows](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows).\"", + "in": "query", + "required": false, + "schema": { "type": "string" } + }, + "workflow-run-status": { + "name": "status", + "description": "Returns workflow runs associated with the check run `status` or `conclusion` you specify. For example, a conclusion can be `success` or a status can be `completed`. For more information, see the `status` and `conclusion` options available in \"[Create a check run](https://docs.github.com/rest/reference/checks#create-a-check-run).\"", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["completed", "status", "conclusion"] + } + }, + "run-id": { + "name": "run_id", + "in": "path", + "required": true, + "schema": { "type": "integer" } + }, + "workflow-id": { + "name": "workflow_id", + "in": "path", + "description": "The ID of the workflow. You can also pass the workflow file name as a string.", + "required": true, + "schema": { "oneOf": [{ "type": "integer" }, { "type": "string" }] } + }, + "branch": { + "name": "branch", + "description": "branch+ parameter", + "in": "path", + "required": true, + "schema": { "type": "string" } + }, + "check_run_id": { + "name": "check_run_id", + "description": "check_run_id parameter", + "in": "path", + "required": true, + "schema": { "type": "integer" } + }, + "check_suite_id": { + "name": "check_suite_id", + "description": "check_suite_id parameter", + "in": "path", + "required": true, + "schema": { "type": "integer" } + }, + "check_name": { + "name": "check_name", + "description": "Returns check runs with the specified `name`.", + "in": "query", + "required": false, + "schema": { "type": "string" } + }, + "status": { + "name": "status", + "description": "Returns check runs with the specified `status`. Can be one of `queued`, `in_progress`, or `completed`.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["queued", "in_progress", "completed"] + } + }, + "alert_number": { + "name": "alert_number", + "in": "path", + "description": "The security alert number, found at the end of the security alert's URL.", + "required": true, + "schema": { "$ref": "#/components/schemas/alert-number" } + }, + "commit_sha": { + "name": "commit_sha", + "description": "commit_sha+ parameter", + "in": "path", + "required": true, + "schema": { "type": "string" } + }, + "deployment_id": { + "name": "deployment_id", + "description": "deployment_id parameter", + "in": "path", + "required": true, + "schema": { "type": "integer" } + }, + "since-user": { + "name": "since", + "description": "A user ID. Only return users with an ID greater than this ID.", + "in": "query", + "required": false, + "schema": { "type": "integer" } + }, + "issue_number": { + "name": "issue_number", + "description": "issue_number parameter", + "in": "path", + "required": true, + "schema": { "type": "integer" } + }, + "key_id": { + "name": "key_id", + "description": "key_id parameter", + "in": "path", + "required": true, + "schema": { "type": "integer" } + }, + "milestone_number": { + "name": "milestone_number", + "description": "milestone_number parameter", + "in": "path", + "required": true, + "schema": { "type": "integer" } + }, + "pull-number": { + "name": "pull_number", + "in": "path", + "required": true, + "schema": { "type": "integer" } + }, + "review_id": { + "name": "review_id", + "description": "review_id parameter", + "in": "path", + "required": true, + "schema": { "type": "integer" } + }, + "asset_id": { + "name": "asset_id", + "description": "asset_id parameter", + "in": "path", + "required": true, + "schema": { "type": "integer" } + }, + "release_id": { + "name": "release_id", + "description": "release_id parameter", + "in": "path", + "required": true, + "schema": { "type": "integer" } + }, + "per": { + "name": "per", + "description": "Must be one of: `day`, `week`.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["day", "week"], + "default": "day" + } + }, + "since-repo": { + "name": "since", + "description": "A repository ID. Only return repositories with an ID greater than this ID.", + "in": "query", + "required": false, + "schema": { "type": "integer" } + }, + "start_index": { + "name": "startIndex", + "description": "Used for pagination: the index of the first result to return.", + "in": "query", + "required": false, + "schema": { "type": "integer" } + }, + "count": { + "name": "count", + "description": "Used for pagination: the number of results to return.", + "in": "query", + "required": false, + "schema": { "type": "integer" } + }, + "scim_group_id": { + "name": "scim_group_id", + "description": "Identifier generated by the GitHub SCIM endpoint.", + "in": "path", + "required": true, + "schema": { "type": "string" } + }, + "scim_user_id": { + "name": "scim_user_id", + "description": "scim_user_id parameter", + "in": "path", + "required": true, + "schema": { "type": "string" } + }, + "order": { + "name": "order", + "description": "Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["desc", "asc"], + "default": "desc" + } + }, + "team-id": { + "name": "team_id", + "in": "path", + "required": true, + "schema": { "type": "integer" } + }, + "gpg_key_id": { + "name": "gpg_key_id", + "description": "gpg_key_id parameter", + "in": "path", + "required": true, + "schema": { "type": "integer" } + } + }, + "headers": { + "link": { + "example": "; rel=\"next\", ; rel=\"last\"", + "schema": { "type": "string" } + }, + "content-type": { + "example": "text/html", + "schema": { "type": "string" } + }, + "x-common-marker-version": { + "example": "0.17.4", + "schema": { "type": "string" } + }, + "x-rate-limit-limit": { + "example": "5000", + "schema": { "type": "integer" } + }, + "x-rate-limit-remaining": { + "example": "4999", + "schema": { "type": "integer" } + }, + "x-rate-limit-reset": { + "example": "1590701888", + "schema": { "type": "integer", "format": "timestamp" } + }, + "location": { + "example": "https://pipelines.actions.githubusercontent.com/OhgS4QRKqmgx7bKC27GKU83jnQjyeqG8oIMTge8eqtheppcmw8/_apis/pipelines/1/runs/176/signedlogcontent?urlExpires=2020-01-24T18%3A10%3A31.5729946Z&urlSigningMethod=HMACV1&urlSignature=agG73JakPYkHrh06seAkvmH7rBR4Ji4c2%2B6a2ejYh3E%3D", + "schema": { "type": "string" } + } + } + } +} diff --git a/node_modules/@octokit/openapi-types/generated/types.ts b/node_modules/@octokit/openapi-types/generated/types.ts new file mode 100644 index 0000000..b969851 --- /dev/null +++ b/node_modules/@octokit/openapi-types/generated/types.ts @@ -0,0 +1,27901 @@ +/** + * This file was auto-generated by openapi-typescript. + * Do not make direct changes to the file. + */ + +export interface paths { + "/": { + get: operations["meta/root"]; + }; + "/app": { + get: operations["apps/get-authenticated"]; + }; + "/app-manifests/{code}/conversions": { + post: operations["apps/create-from-manifest"]; + }; + "/app/hook/config": { + get: operations["apps/get-webhook-config-for-app"]; + patch: operations["apps/update-webhook-config-for-app"]; + }; + "/app/installations": { + get: operations["apps/list-installations"]; + }; + "/app/installations/{installation_id}": { + get: operations["apps/get-installation"]; + delete: operations["apps/delete-installation"]; + }; + "/app/installations/{installation_id}/access_tokens": { + post: operations["apps/create-installation-access-token"]; + }; + "/app/installations/{installation_id}/suspended": { + put: operations["apps/suspend-installation"]; + delete: operations["apps/unsuspend-installation"]; + }; + "/applications/grants": { + get: operations["oauth-authorizations/list-grants"]; + }; + "/applications/grants/{grant_id}": { + get: operations["oauth-authorizations/get-grant"]; + delete: operations["oauth-authorizations/delete-grant"]; + }; + "/applications/{client_id}/grant": { + delete: operations["apps/delete-authorization"]; + }; + "/applications/{client_id}/grants/{access_token}": { + delete: operations["apps/revoke-grant-for-application"]; + }; + "/applications/{client_id}/token": { + post: operations["apps/check-token"]; + patch: operations["apps/reset-token"]; + delete: operations["apps/delete-token"]; + }; + "/applications/{client_id}/tokens/{access_token}": { + get: operations["apps/check-authorization"]; + post: operations["apps/reset-authorization"]; + delete: operations["apps/revoke-authorization-for-application"]; + }; + "/apps/{app_slug}": { + get: operations["apps/get-by-slug"]; + }; + "/authorizations": { + get: operations["oauth-authorizations/list-authorizations"]; + post: operations["oauth-authorizations/create-authorization"]; + }; + "/authorizations/clients/{client_id}": { + put: operations["oauth-authorizations/get-or-create-authorization-for-app"]; + }; + "/authorizations/clients/{client_id}/{fingerprint}": { + put: operations["oauth-authorizations/get-or-create-authorization-for-app-and-fingerprint"]; + }; + "/authorizations/{authorization_id}": { + get: operations["oauth-authorizations/get-authorization"]; + patch: operations["oauth-authorizations/update-authorization"]; + delete: operations["oauth-authorizations/delete-authorization"]; + }; + "/codes_of_conduct": { + get: operations["codes-of-conduct/get-all-codes-of-conduct"]; + }; + "/codes_of_conduct/{key}": { + get: operations["codes-of-conduct/get-conduct-code"]; + }; + "/content_references/{content_reference_id}/attachments": { + post: operations["apps/create-content-attachment"]; + }; + "/emojis": { + get: operations["emojis/get"]; + }; + "/enterprises/{enterprise}/actions/permissions": { + get: operations["enterprise-admin/get-github-actions-permissions-enterprise"]; + put: operations["enterprise-admin/set-github-actions-permissions-enterprise"]; + }; + "/enterprises/{enterprise}/actions/permissions/organizations": { + get: operations["enterprise-admin/list-selected-organizations-enabled-github-actions-enterprise"]; + put: operations["enterprise-admin/set-selected-organizations-enabled-github-actions-enterprise"]; + }; + "/enterprises/{enterprise}/actions/permissions/organizations/{org_id}": { + put: operations["enterprise-admin/enable-selected-organization-github-actions-enterprise"]; + delete: operations["enterprise-admin/disable-selected-organization-github-actions-enterprise"]; + }; + "/enterprises/{enterprise}/actions/permissions/selected-actions": { + get: operations["enterprise-admin/get-allowed-actions-enterprise"]; + put: operations["enterprise-admin/set-allowed-actions-enterprise"]; + }; + "/enterprises/{enterprise}/actions/runner-groups": { + get: operations["enterprise-admin/list-self-hosted-runner-groups-for-enterprise"]; + post: operations["enterprise-admin/create-self-hosted-runner-group-for-enterprise"]; + }; + "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}": { + get: operations["enterprise-admin/get-self-hosted-runner-group-for-enterprise"]; + patch: operations["enterprise-admin/update-self-hosted-runner-group-for-enterprise"]; + delete: operations["enterprise-admin/delete-self-hosted-runner-group-from-enterprise"]; + }; + "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations": { + get: operations["enterprise-admin/list-org-access-to-self-hosted-runner-group-in-enterprise"]; + put: operations["enterprise-admin/set-org-access-to-self-hosted-runner-group-in-enterprise"]; + }; + "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations/{org_id}": { + put: operations["enterprise-admin/add-org-access-to-self-hosted-runner-group-in-enterprise"]; + delete: operations["enterprise-admin/remove-org-access-to-self-hosted-runner-group-in-enterprise"]; + }; + "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners": { + get: operations["enterprise-admin/list-self-hosted-runners-in-group-for-enterprise"]; + put: operations["enterprise-admin/set-self-hosted-runners-in-group-for-enterprise"]; + }; + "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners/{runner_id}": { + put: operations["enterprise-admin/add-self-hosted-runner-to-group-for-enterprise"]; + delete: operations["enterprise-admin/remove-self-hosted-runner-from-group-for-enterprise"]; + }; + "/enterprises/{enterprise}/actions/runners": { + get: operations["enterprise-admin/list-self-hosted-runners-for-enterprise"]; + }; + "/enterprises/{enterprise}/actions/runners/downloads": { + get: operations["enterprise-admin/list-runner-applications-for-enterprise"]; + }; + "/enterprises/{enterprise}/actions/runners/registration-token": { + post: operations["enterprise-admin/create-registration-token-for-enterprise"]; + }; + "/enterprises/{enterprise}/actions/runners/remove-token": { + post: operations["enterprise-admin/create-remove-token-for-enterprise"]; + }; + "/enterprises/{enterprise}/actions/runners/{runner_id}": { + get: operations["enterprise-admin/get-self-hosted-runner-for-enterprise"]; + delete: operations["enterprise-admin/delete-self-hosted-runner-from-enterprise"]; + }; + "/enterprises/{enterprise}/settings/billing/actions": { + get: operations["billing/get-github-actions-billing-ghe"]; + }; + "/enterprises/{enterprise}/settings/billing/packages": { + get: operations["billing/get-github-packages-billing-ghe"]; + }; + "/enterprises/{enterprise}/settings/billing/shared-storage": { + get: operations["billing/get-shared-storage-billing-ghe"]; + }; + "/events": { + get: operations["activity/list-public-events"]; + }; + "/feeds": { + get: operations["activity/get-feeds"]; + }; + "/gists": { + get: operations["gists/list"]; + post: operations["gists/create"]; + }; + "/gists/public": { + get: operations["gists/list-public"]; + }; + "/gists/starred": { + get: operations["gists/list-starred"]; + }; + "/gists/{gist_id}": { + get: operations["gists/get"]; + patch: operations["gists/update"]; + delete: operations["gists/delete"]; + }; + "/gists/{gist_id}/comments": { + get: operations["gists/list-comments"]; + post: operations["gists/create-comment"]; + }; + "/gists/{gist_id}/comments/{comment_id}": { + get: operations["gists/get-comment"]; + patch: operations["gists/update-comment"]; + delete: operations["gists/delete-comment"]; + }; + "/gists/{gist_id}/commits": { + get: operations["gists/list-commits"]; + }; + "/gists/{gist_id}/forks": { + get: operations["gists/list-forks"]; + post: operations["gists/fork"]; + }; + "/gists/{gist_id}/star": { + get: operations["gists/check-is-starred"]; + put: operations["gists/star"]; + delete: operations["gists/unstar"]; + }; + "/gists/{gist_id}/{sha}": { + get: operations["gists/get-revision"]; + }; + "/gitignore/templates": { + get: operations["gitignore/get-all-templates"]; + }; + "/gitignore/templates/{name}": { + get: operations["gitignore/get-template"]; + }; + "/installation/repositories": { + get: operations["apps/list-repos-accessible-to-installation"]; + }; + "/installation/token": { + delete: operations["apps/revoke-installation-access-token"]; + }; + "/issues": { + get: operations["issues/list"]; + }; + "/licenses": { + get: operations["licenses/get-all-commonly-used"]; + }; + "/licenses/{license}": { + get: operations["licenses/get"]; + }; + "/markdown": { + post: operations["markdown/render"]; + }; + "/markdown/raw": { + post: operations["markdown/render-raw"]; + }; + "/marketplace_listing/accounts/{account_id}": { + get: operations["apps/get-subscription-plan-for-account"]; + }; + "/marketplace_listing/plans": { + get: operations["apps/list-plans"]; + }; + "/marketplace_listing/plans/{plan_id}/accounts": { + get: operations["apps/list-accounts-for-plan"]; + }; + "/marketplace_listing/stubbed/accounts/{account_id}": { + get: operations["apps/get-subscription-plan-for-account-stubbed"]; + }; + "/marketplace_listing/stubbed/plans": { + get: operations["apps/list-plans-stubbed"]; + }; + "/marketplace_listing/stubbed/plans/{plan_id}/accounts": { + get: operations["apps/list-accounts-for-plan-stubbed"]; + }; + "/meta": { + get: operations["meta/get"]; + }; + "/networks/{owner}/{repo}/events": { + get: operations["activity/list-public-events-for-repo-network"]; + }; + "/notifications": { + get: operations["activity/list-notifications-for-authenticated-user"]; + put: operations["activity/mark-notifications-as-read"]; + }; + "/notifications/threads/{thread_id}": { + get: operations["activity/get-thread"]; + patch: operations["activity/mark-thread-as-read"]; + }; + "/notifications/threads/{thread_id}/subscription": { + get: operations["activity/get-thread-subscription-for-authenticated-user"]; + put: operations["activity/set-thread-subscription"]; + delete: operations["activity/delete-thread-subscription"]; + }; + "/octocat": { + get: operations["meta/get-octocat"]; + }; + "/organizations": { + get: operations["orgs/list"]; + }; + "/orgs/{org}": { + get: operations["orgs/get"]; + patch: operations["orgs/update"]; + }; + "/orgs/{org}/actions/permissions": { + get: operations["actions/get-github-actions-permissions-organization"]; + put: operations["actions/set-github-actions-permissions-organization"]; + }; + "/orgs/{org}/actions/permissions/repositories": { + get: operations["actions/list-selected-repositories-enabled-github-actions-organization"]; + put: operations["actions/set-selected-repositories-enabled-github-actions-organization"]; + }; + "/orgs/{org}/actions/permissions/repositories/{repository_id}": { + put: operations["actions/enable-selected-repository-github-actions-organization"]; + delete: operations["actions/disable-selected-repository-github-actions-organization"]; + }; + "/orgs/{org}/actions/permissions/selected-actions": { + get: operations["actions/get-allowed-actions-organization"]; + put: operations["actions/set-allowed-actions-organization"]; + }; + "/orgs/{org}/actions/runner-groups": { + get: operations["actions/list-self-hosted-runner-groups-for-org"]; + post: operations["actions/create-self-hosted-runner-group-for-org"]; + }; + "/orgs/{org}/actions/runner-groups/{runner_group_id}": { + get: operations["actions/get-self-hosted-runner-group-for-org"]; + patch: operations["actions/update-self-hosted-runner-group-for-org"]; + delete: operations["actions/delete-self-hosted-runner-group-from-org"]; + }; + "/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories": { + get: operations["actions/list-repo-access-to-self-hosted-runner-group-in-org"]; + put: operations["actions/set-repo-access-to-self-hosted-runner-group-in-org"]; + }; + "/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}": { + put: operations["actions/add-repo-access-to-self-hosted-runner-group-in-org"]; + delete: operations["actions/remove-repo-access-to-self-hosted-runner-group-in-org"]; + }; + "/orgs/{org}/actions/runner-groups/{runner_group_id}/runners": { + get: operations["actions/list-self-hosted-runners-in-group-for-org"]; + put: operations["actions/set-self-hosted-runners-in-group-for-org"]; + }; + "/orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id}": { + put: operations["actions/add-self-hosted-runner-to-group-for-org"]; + delete: operations["actions/remove-self-hosted-runner-from-group-for-org"]; + }; + "/orgs/{org}/actions/runners": { + get: operations["actions/list-self-hosted-runners-for-org"]; + }; + "/orgs/{org}/actions/runners/downloads": { + get: operations["actions/list-runner-applications-for-org"]; + }; + "/orgs/{org}/actions/runners/registration-token": { + post: operations["actions/create-registration-token-for-org"]; + }; + "/orgs/{org}/actions/runners/remove-token": { + post: operations["actions/create-remove-token-for-org"]; + }; + "/orgs/{org}/actions/runners/{runner_id}": { + get: operations["actions/get-self-hosted-runner-for-org"]; + delete: operations["actions/delete-self-hosted-runner-from-org"]; + }; + "/orgs/{org}/actions/secrets": { + get: operations["actions/list-org-secrets"]; + }; + "/orgs/{org}/actions/secrets/public-key": { + get: operations["actions/get-org-public-key"]; + }; + "/orgs/{org}/actions/secrets/{secret_name}": { + get: operations["actions/get-org-secret"]; + put: operations["actions/create-or-update-org-secret"]; + delete: operations["actions/delete-org-secret"]; + }; + "/orgs/{org}/actions/secrets/{secret_name}/repositories": { + get: operations["actions/list-selected-repos-for-org-secret"]; + put: operations["actions/set-selected-repos-for-org-secret"]; + }; + "/orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}": { + put: operations["actions/add-selected-repo-to-org-secret"]; + delete: operations["actions/remove-selected-repo-from-org-secret"]; + }; + "/orgs/{org}/blocks": { + get: operations["orgs/list-blocked-users"]; + }; + "/orgs/{org}/blocks/{username}": { + get: operations["orgs/check-blocked-user"]; + put: operations["orgs/block-user"]; + delete: operations["orgs/unblock-user"]; + }; + "/orgs/{org}/credential-authorizations": { + get: operations["orgs/list-saml-sso-authorizations"]; + }; + "/orgs/{org}/credential-authorizations/{credential_id}": { + delete: operations["orgs/remove-saml-sso-authorization"]; + }; + "/orgs/{org}/events": { + get: operations["activity/list-public-org-events"]; + }; + "/orgs/{org}/hooks": { + get: operations["orgs/list-webhooks"]; + post: operations["orgs/create-webhook"]; + }; + "/orgs/{org}/hooks/{hook_id}": { + get: operations["orgs/get-webhook"]; + patch: operations["orgs/update-webhook"]; + delete: operations["orgs/delete-webhook"]; + }; + "/orgs/{org}/hooks/{hook_id}/config": { + get: operations["orgs/get-webhook-config-for-org"]; + patch: operations["orgs/update-webhook-config-for-org"]; + }; + "/orgs/{org}/hooks/{hook_id}/pings": { + post: operations["orgs/ping-webhook"]; + }; + "/orgs/{org}/installation": { + get: operations["apps/get-org-installation"]; + }; + "/orgs/{org}/installations": { + get: operations["orgs/list-app-installations"]; + }; + "/orgs/{org}/interaction-limits": { + get: operations["interactions/get-restrictions-for-org"]; + put: operations["interactions/set-restrictions-for-org"]; + delete: operations["interactions/remove-restrictions-for-org"]; + }; + "/orgs/{org}/invitations": { + get: operations["orgs/list-pending-invitations"]; + post: operations["orgs/create-invitation"]; + }; + "/orgs/{org}/invitations/{invitation_id}/teams": { + get: operations["orgs/list-invitation-teams"]; + }; + "/orgs/{org}/issues": { + get: operations["issues/list-for-org"]; + }; + "/orgs/{org}/members": { + get: operations["orgs/list-members"]; + }; + "/orgs/{org}/members/{username}": { + get: operations["orgs/check-membership-for-user"]; + delete: operations["orgs/remove-member"]; + }; + "/orgs/{org}/memberships/{username}": { + get: operations["orgs/get-membership-for-user"]; + put: operations["orgs/set-membership-for-user"]; + delete: operations["orgs/remove-membership-for-user"]; + }; + "/orgs/{org}/migrations": { + get: operations["migrations/list-for-org"]; + post: operations["migrations/start-for-org"]; + }; + "/orgs/{org}/migrations/{migration_id}": { + get: operations["migrations/get-status-for-org"]; + }; + "/orgs/{org}/migrations/{migration_id}/archive": { + get: operations["migrations/download-archive-for-org"]; + delete: operations["migrations/delete-archive-for-org"]; + }; + "/orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock": { + delete: operations["migrations/unlock-repo-for-org"]; + }; + "/orgs/{org}/migrations/{migration_id}/repositories": { + get: operations["migrations/list-repos-for-org"]; + }; + "/orgs/{org}/outside_collaborators": { + get: operations["orgs/list-outside-collaborators"]; + }; + "/orgs/{org}/outside_collaborators/{username}": { + put: operations["orgs/convert-member-to-outside-collaborator"]; + delete: operations["orgs/remove-outside-collaborator"]; + }; + "/orgs/{org}/projects": { + get: operations["projects/list-for-org"]; + post: operations["projects/create-for-org"]; + }; + "/orgs/{org}/public_members": { + get: operations["orgs/list-public-members"]; + }; + "/orgs/{org}/public_members/{username}": { + get: operations["orgs/check-public-membership-for-user"]; + put: operations["orgs/set-public-membership-for-authenticated-user"]; + delete: operations["orgs/remove-public-membership-for-authenticated-user"]; + }; + "/orgs/{org}/repos": { + get: operations["repos/list-for-org"]; + post: operations["repos/create-in-org"]; + }; + "/orgs/{org}/settings/billing/actions": { + get: operations["billing/get-github-actions-billing-org"]; + }; + "/orgs/{org}/settings/billing/packages": { + get: operations["billing/get-github-packages-billing-org"]; + }; + "/orgs/{org}/settings/billing/shared-storage": { + get: operations["billing/get-shared-storage-billing-org"]; + }; + "/orgs/{org}/team-sync/groups": { + get: operations["teams/list-idp-groups-for-org"]; + }; + "/orgs/{org}/teams": { + get: operations["teams/list"]; + post: operations["teams/create"]; + }; + "/orgs/{org}/teams/{team_slug}": { + get: operations["teams/get-by-name"]; + patch: operations["teams/update-in-org"]; + delete: operations["teams/delete-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/discussions": { + get: operations["teams/list-discussions-in-org"]; + post: operations["teams/create-discussion-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}": { + get: operations["teams/get-discussion-in-org"]; + patch: operations["teams/update-discussion-in-org"]; + delete: operations["teams/delete-discussion-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments": { + get: operations["teams/list-discussion-comments-in-org"]; + post: operations["teams/create-discussion-comment-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}": { + get: operations["teams/get-discussion-comment-in-org"]; + patch: operations["teams/update-discussion-comment-in-org"]; + delete: operations["teams/delete-discussion-comment-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions": { + get: operations["reactions/list-for-team-discussion-comment-in-org"]; + post: operations["reactions/create-for-team-discussion-comment-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}": { + delete: operations["reactions/delete-for-team-discussion-comment"]; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions": { + get: operations["reactions/list-for-team-discussion-in-org"]; + post: operations["reactions/create-for-team-discussion-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}": { + delete: operations["reactions/delete-for-team-discussion"]; + }; + "/orgs/{org}/teams/{team_slug}/invitations": { + get: operations["teams/list-pending-invitations-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/members": { + get: operations["teams/list-members-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/memberships/{username}": { + get: operations["teams/get-membership-for-user-in-org"]; + put: operations["teams/add-or-update-membership-for-user-in-org"]; + delete: operations["teams/remove-membership-for-user-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/projects": { + get: operations["teams/list-projects-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/projects/{project_id}": { + get: operations["teams/check-permissions-for-project-in-org"]; + put: operations["teams/add-or-update-project-permissions-in-org"]; + delete: operations["teams/remove-project-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/repos": { + get: operations["teams/list-repos-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}": { + get: operations["teams/check-permissions-for-repo-in-org"]; + put: operations["teams/add-or-update-repo-permissions-in-org"]; + delete: operations["teams/remove-repo-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/team-sync/group-mappings": { + get: operations["teams/list-idp-groups-in-org"]; + patch: operations["teams/create-or-update-idp-group-connections-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/teams": { + get: operations["teams/list-child-in-org"]; + }; + "/projects/columns/cards/{card_id}": { + get: operations["projects/get-card"]; + patch: operations["projects/update-card"]; + delete: operations["projects/delete-card"]; + }; + "/projects/columns/cards/{card_id}/moves": { + post: operations["projects/move-card"]; + }; + "/projects/columns/{column_id}": { + get: operations["projects/get-column"]; + patch: operations["projects/update-column"]; + delete: operations["projects/delete-column"]; + }; + "/projects/columns/{column_id}/cards": { + get: operations["projects/list-cards"]; + post: operations["projects/create-card"]; + }; + "/projects/columns/{column_id}/moves": { + post: operations["projects/move-column"]; + }; + "/projects/{project_id}": { + get: operations["projects/get"]; + patch: operations["projects/update"]; + delete: operations["projects/delete"]; + }; + "/projects/{project_id}/collaborators": { + get: operations["projects/list-collaborators"]; + }; + "/projects/{project_id}/collaborators/{username}": { + put: operations["projects/add-collaborator"]; + delete: operations["projects/remove-collaborator"]; + }; + "/projects/{project_id}/collaborators/{username}/permission": { + get: operations["projects/get-permission-for-user"]; + }; + "/projects/{project_id}/columns": { + get: operations["projects/list-columns"]; + post: operations["projects/create-column"]; + }; + "/rate_limit": { + get: operations["rate-limit/get"]; + }; + "/reactions/{reaction_id}": { + delete: operations["reactions/delete-legacy"]; + }; + "/repos/{owner}/{repo}": { + get: operations["repos/get"]; + patch: operations["repos/update"]; + delete: operations["repos/delete"]; + }; + "/repos/{owner}/{repo}/actions/artifacts": { + get: operations["actions/list-artifacts-for-repo"]; + }; + "/repos/{owner}/{repo}/actions/artifacts/{artifact_id}": { + get: operations["actions/get-artifact"]; + delete: operations["actions/delete-artifact"]; + }; + "/repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}": { + get: operations["actions/download-artifact"]; + }; + "/repos/{owner}/{repo}/actions/jobs/{job_id}": { + get: operations["actions/get-job-for-workflow-run"]; + }; + "/repos/{owner}/{repo}/actions/jobs/{job_id}/logs": { + get: operations["actions/download-job-logs-for-workflow-run"]; + }; + "/repos/{owner}/{repo}/actions/permissions": { + get: operations["actions/get-github-actions-permissions-repository"]; + put: operations["actions/set-github-actions-permissions-repository"]; + }; + "/repos/{owner}/{repo}/actions/permissions/selected-actions": { + get: operations["actions/get-allowed-actions-repository"]; + put: operations["actions/set-allowed-actions-repository"]; + }; + "/repos/{owner}/{repo}/actions/runners": { + get: operations["actions/list-self-hosted-runners-for-repo"]; + }; + "/repos/{owner}/{repo}/actions/runners/downloads": { + get: operations["actions/list-runner-applications-for-repo"]; + }; + "/repos/{owner}/{repo}/actions/runners/registration-token": { + post: operations["actions/create-registration-token-for-repo"]; + }; + "/repos/{owner}/{repo}/actions/runners/remove-token": { + post: operations["actions/create-remove-token-for-repo"]; + }; + "/repos/{owner}/{repo}/actions/runners/{runner_id}": { + get: operations["actions/get-self-hosted-runner-for-repo"]; + delete: operations["actions/delete-self-hosted-runner-from-repo"]; + }; + "/repos/{owner}/{repo}/actions/runs": { + get: operations["actions/list-workflow-runs-for-repo"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}": { + get: operations["actions/get-workflow-run"]; + delete: operations["actions/delete-workflow-run"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/artifacts": { + get: operations["actions/list-workflow-run-artifacts"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/cancel": { + post: operations["actions/cancel-workflow-run"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/jobs": { + get: operations["actions/list-jobs-for-workflow-run"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/logs": { + get: operations["actions/download-workflow-run-logs"]; + delete: operations["actions/delete-workflow-run-logs"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/rerun": { + post: operations["actions/re-run-workflow"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/timing": { + get: operations["actions/get-workflow-run-usage"]; + }; + "/repos/{owner}/{repo}/actions/secrets": { + get: operations["actions/list-repo-secrets"]; + }; + "/repos/{owner}/{repo}/actions/secrets/public-key": { + get: operations["actions/get-repo-public-key"]; + }; + "/repos/{owner}/{repo}/actions/secrets/{secret_name}": { + get: operations["actions/get-repo-secret"]; + put: operations["actions/create-or-update-repo-secret"]; + delete: operations["actions/delete-repo-secret"]; + }; + "/repos/{owner}/{repo}/actions/workflows": { + get: operations["actions/list-repo-workflows"]; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}": { + get: operations["actions/get-workflow"]; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable": { + put: operations["actions/disable-workflow"]; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches": { + post: operations["actions/create-workflow-dispatch"]; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable": { + put: operations["actions/enable-workflow"]; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs": { + get: operations["actions/list-workflow-runs"]; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing": { + get: operations["actions/get-workflow-usage"]; + }; + "/repos/{owner}/{repo}/assignees": { + get: operations["issues/list-assignees"]; + }; + "/repos/{owner}/{repo}/assignees/{assignee}": { + get: operations["issues/check-user-can-be-assigned"]; + }; + "/repos/{owner}/{repo}/automated-security-fixes": { + put: operations["repos/enable-automated-security-fixes"]; + delete: operations["repos/disable-automated-security-fixes"]; + }; + "/repos/{owner}/{repo}/branches": { + get: operations["repos/list-branches"]; + }; + "/repos/{owner}/{repo}/branches/{branch}": { + get: operations["repos/get-branch"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection": { + get: operations["repos/get-branch-protection"]; + put: operations["repos/update-branch-protection"]; + delete: operations["repos/delete-branch-protection"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins": { + get: operations["repos/get-admin-branch-protection"]; + post: operations["repos/set-admin-branch-protection"]; + delete: operations["repos/delete-admin-branch-protection"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews": { + get: operations["repos/get-pull-request-review-protection"]; + patch: operations["repos/update-pull-request-review-protection"]; + delete: operations["repos/delete-pull-request-review-protection"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures": { + get: operations["repos/get-commit-signature-protection"]; + post: operations["repos/create-commit-signature-protection"]; + delete: operations["repos/delete-commit-signature-protection"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks": { + get: operations["repos/get-status-checks-protection"]; + patch: operations["repos/update-status-check-protection"]; + delete: operations["repos/remove-status-check-protection"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts": { + get: operations["repos/get-all-status-check-contexts"]; + post: operations["repos/add-status-check-contexts"]; + put: operations["repos/set-status-check-contexts"]; + delete: operations["repos/remove-status-check-contexts"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions": { + get: operations["repos/get-access-restrictions"]; + delete: operations["repos/delete-access-restrictions"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps": { + get: operations["repos/get-apps-with-access-to-protected-branch"]; + post: operations["repos/add-app-access-restrictions"]; + put: operations["repos/set-app-access-restrictions"]; + delete: operations["repos/remove-app-access-restrictions"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams": { + get: operations["repos/get-teams-with-access-to-protected-branch"]; + post: operations["repos/add-team-access-restrictions"]; + put: operations["repos/set-team-access-restrictions"]; + delete: operations["repos/remove-team-access-restrictions"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users": { + get: operations["repos/get-users-with-access-to-protected-branch"]; + post: operations["repos/add-user-access-restrictions"]; + put: operations["repos/set-user-access-restrictions"]; + delete: operations["repos/remove-user-access-restrictions"]; + }; + "/repos/{owner}/{repo}/check-runs": { + post: operations["checks/create"]; + }; + "/repos/{owner}/{repo}/check-runs/{check_run_id}": { + get: operations["checks/get"]; + patch: operations["checks/update"]; + }; + "/repos/{owner}/{repo}/check-runs/{check_run_id}/annotations": { + get: operations["checks/list-annotations"]; + }; + "/repos/{owner}/{repo}/check-suites": { + post: operations["checks/create-suite"]; + }; + "/repos/{owner}/{repo}/check-suites/preferences": { + patch: operations["checks/set-suites-preferences"]; + }; + "/repos/{owner}/{repo}/check-suites/{check_suite_id}": { + get: operations["checks/get-suite"]; + }; + "/repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs": { + get: operations["checks/list-for-suite"]; + }; + "/repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest": { + post: operations["checks/rerequest-suite"]; + }; + "/repos/{owner}/{repo}/code-scanning/alerts": { + get: operations["code-scanning/list-alerts-for-repo"]; + }; + "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}": { + get: operations["code-scanning/get-alert"]; + patch: operations["code-scanning/update-alert"]; + }; + "/repos/{owner}/{repo}/code-scanning/analyses": { + get: operations["code-scanning/list-recent-analyses"]; + }; + "/repos/{owner}/{repo}/code-scanning/sarifs": { + post: operations["code-scanning/upload-sarif"]; + }; + "/repos/{owner}/{repo}/collaborators": { + get: operations["repos/list-collaborators"]; + }; + "/repos/{owner}/{repo}/collaborators/{username}": { + get: operations["repos/check-collaborator"]; + put: operations["repos/add-collaborator"]; + delete: operations["repos/remove-collaborator"]; + }; + "/repos/{owner}/{repo}/collaborators/{username}/permission": { + get: operations["repos/get-collaborator-permission-level"]; + }; + "/repos/{owner}/{repo}/comments": { + get: operations["repos/list-commit-comments-for-repo"]; + }; + "/repos/{owner}/{repo}/comments/{comment_id}": { + get: operations["repos/get-commit-comment"]; + patch: operations["repos/update-commit-comment"]; + delete: operations["repos/delete-commit-comment"]; + }; + "/repos/{owner}/{repo}/comments/{comment_id}/reactions": { + get: operations["reactions/list-for-commit-comment"]; + post: operations["reactions/create-for-commit-comment"]; + }; + "/repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}": { + delete: operations["reactions/delete-for-commit-comment"]; + }; + "/repos/{owner}/{repo}/commits": { + get: operations["repos/list-commits"]; + }; + "/repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head": { + get: operations["repos/list-branches-for-head-commit"]; + }; + "/repos/{owner}/{repo}/commits/{commit_sha}/comments": { + get: operations["repos/list-comments-for-commit"]; + post: operations["repos/create-commit-comment"]; + }; + "/repos/{owner}/{repo}/commits/{commit_sha}/pulls": { + get: operations["repos/list-pull-requests-associated-with-commit"]; + }; + "/repos/{owner}/{repo}/commits/{ref}": { + get: operations["repos/get-commit"]; + }; + "/repos/{owner}/{repo}/commits/{ref}/check-runs": { + get: operations["checks/list-for-ref"]; + }; + "/repos/{owner}/{repo}/commits/{ref}/check-suites": { + get: operations["checks/list-suites-for-ref"]; + }; + "/repos/{owner}/{repo}/commits/{ref}/status": { + get: operations["repos/get-combined-status-for-ref"]; + }; + "/repos/{owner}/{repo}/commits/{ref}/statuses": { + get: operations["repos/list-commit-statuses-for-ref"]; + }; + "/repos/{owner}/{repo}/community/code_of_conduct": { + get: operations["codes-of-conduct/get-for-repo"]; + }; + "/repos/{owner}/{repo}/community/profile": { + get: operations["repos/get-community-profile-metrics"]; + }; + "/repos/{owner}/{repo}/compare/{base}...{head}": { + get: operations["repos/compare-commits"]; + }; + "/repos/{owner}/{repo}/contents/{path}": { + get: operations["repos/get-content"]; + put: operations["repos/create-or-update-file-contents"]; + delete: operations["repos/delete-file"]; + }; + "/repos/{owner}/{repo}/contributors": { + get: operations["repos/list-contributors"]; + }; + "/repos/{owner}/{repo}/deployments": { + get: operations["repos/list-deployments"]; + post: operations["repos/create-deployment"]; + }; + "/repos/{owner}/{repo}/deployments/{deployment_id}": { + get: operations["repos/get-deployment"]; + delete: operations["repos/delete-deployment"]; + }; + "/repos/{owner}/{repo}/deployments/{deployment_id}/statuses": { + get: operations["repos/list-deployment-statuses"]; + post: operations["repos/create-deployment-status"]; + }; + "/repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}": { + get: operations["repos/get-deployment-status"]; + }; + "/repos/{owner}/{repo}/dispatches": { + post: operations["repos/create-dispatch-event"]; + }; + "/repos/{owner}/{repo}/events": { + get: operations["activity/list-repo-events"]; + }; + "/repos/{owner}/{repo}/forks": { + get: operations["repos/list-forks"]; + post: operations["repos/create-fork"]; + }; + "/repos/{owner}/{repo}/git/blobs": { + post: operations["git/create-blob"]; + }; + "/repos/{owner}/{repo}/git/blobs/{file_sha}": { + get: operations["git/get-blob"]; + }; + "/repos/{owner}/{repo}/git/commits": { + post: operations["git/create-commit"]; + }; + "/repos/{owner}/{repo}/git/commits/{commit_sha}": { + get: operations["git/get-commit"]; + }; + "/repos/{owner}/{repo}/git/matching-refs/{ref}": { + get: operations["git/list-matching-refs"]; + }; + "/repos/{owner}/{repo}/git/ref/{ref}": { + get: operations["git/get-ref"]; + }; + "/repos/{owner}/{repo}/git/refs": { + post: operations["git/create-ref"]; + }; + "/repos/{owner}/{repo}/git/refs/{ref}": { + patch: operations["git/update-ref"]; + delete: operations["git/delete-ref"]; + }; + "/repos/{owner}/{repo}/git/tags": { + post: operations["git/create-tag"]; + }; + "/repos/{owner}/{repo}/git/tags/{tag_sha}": { + get: operations["git/get-tag"]; + }; + "/repos/{owner}/{repo}/git/trees": { + post: operations["git/create-tree"]; + }; + "/repos/{owner}/{repo}/git/trees/{tree_sha}": { + get: operations["git/get-tree"]; + }; + "/repos/{owner}/{repo}/hooks": { + get: operations["repos/list-webhooks"]; + post: operations["repos/create-webhook"]; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}": { + get: operations["repos/get-webhook"]; + patch: operations["repos/update-webhook"]; + delete: operations["repos/delete-webhook"]; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/config": { + get: operations["repos/get-webhook-config-for-repo"]; + patch: operations["repos/update-webhook-config-for-repo"]; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/pings": { + post: operations["repos/ping-webhook"]; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/tests": { + post: operations["repos/test-push-webhook"]; + }; + "/repos/{owner}/{repo}/import": { + get: operations["migrations/get-import-status"]; + put: operations["migrations/start-import"]; + patch: operations["migrations/update-import"]; + delete: operations["migrations/cancel-import"]; + }; + "/repos/{owner}/{repo}/import/authors": { + get: operations["migrations/get-commit-authors"]; + }; + "/repos/{owner}/{repo}/import/authors/{author_id}": { + patch: operations["migrations/map-commit-author"]; + }; + "/repos/{owner}/{repo}/import/large_files": { + get: operations["migrations/get-large-files"]; + }; + "/repos/{owner}/{repo}/import/lfs": { + patch: operations["migrations/set-lfs-preference"]; + }; + "/repos/{owner}/{repo}/installation": { + get: operations["apps/get-repo-installation"]; + }; + "/repos/{owner}/{repo}/interaction-limits": { + get: operations["interactions/get-restrictions-for-repo"]; + put: operations["interactions/set-restrictions-for-repo"]; + delete: operations["interactions/remove-restrictions-for-repo"]; + }; + "/repos/{owner}/{repo}/invitations": { + get: operations["repos/list-invitations"]; + }; + "/repos/{owner}/{repo}/invitations/{invitation_id}": { + patch: operations["repos/update-invitation"]; + delete: operations["repos/delete-invitation"]; + }; + "/repos/{owner}/{repo}/issues": { + get: operations["issues/list-for-repo"]; + post: operations["issues/create"]; + }; + "/repos/{owner}/{repo}/issues/comments": { + get: operations["issues/list-comments-for-repo"]; + }; + "/repos/{owner}/{repo}/issues/comments/{comment_id}": { + get: operations["issues/get-comment"]; + patch: operations["issues/update-comment"]; + delete: operations["issues/delete-comment"]; + }; + "/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions": { + get: operations["reactions/list-for-issue-comment"]; + post: operations["reactions/create-for-issue-comment"]; + }; + "/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}": { + delete: operations["reactions/delete-for-issue-comment"]; + }; + "/repos/{owner}/{repo}/issues/events": { + get: operations["issues/list-events-for-repo"]; + }; + "/repos/{owner}/{repo}/issues/events/{event_id}": { + get: operations["issues/get-event"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}": { + get: operations["issues/get"]; + patch: operations["issues/update"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/assignees": { + post: operations["issues/add-assignees"]; + delete: operations["issues/remove-assignees"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/comments": { + get: operations["issues/list-comments"]; + post: operations["issues/create-comment"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/events": { + get: operations["issues/list-events"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/labels": { + get: operations["issues/list-labels-on-issue"]; + post: operations["issues/add-labels"]; + put: operations["issues/set-labels"]; + delete: operations["issues/remove-all-labels"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/labels/{name}": { + delete: operations["issues/remove-label"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/lock": { + put: operations["issues/lock"]; + delete: operations["issues/unlock"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/reactions": { + get: operations["reactions/list-for-issue"]; + post: operations["reactions/create-for-issue"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}": { + delete: operations["reactions/delete-for-issue"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/timeline": { + get: operations["issues/list-events-for-timeline"]; + }; + "/repos/{owner}/{repo}/keys": { + get: operations["repos/list-deploy-keys"]; + post: operations["repos/create-deploy-key"]; + }; + "/repos/{owner}/{repo}/keys/{key_id}": { + get: operations["repos/get-deploy-key"]; + delete: operations["repos/delete-deploy-key"]; + }; + "/repos/{owner}/{repo}/labels": { + get: operations["issues/list-labels-for-repo"]; + post: operations["issues/create-label"]; + }; + "/repos/{owner}/{repo}/labels/{name}": { + get: operations["issues/get-label"]; + patch: operations["issues/update-label"]; + delete: operations["issues/delete-label"]; + }; + "/repos/{owner}/{repo}/languages": { + get: operations["repos/list-languages"]; + }; + "/repos/{owner}/{repo}/license": { + get: operations["licenses/get-for-repo"]; + }; + "/repos/{owner}/{repo}/merges": { + post: operations["repos/merge"]; + }; + "/repos/{owner}/{repo}/milestones": { + get: operations["issues/list-milestones"]; + post: operations["issues/create-milestone"]; + }; + "/repos/{owner}/{repo}/milestones/{milestone_number}": { + get: operations["issues/get-milestone"]; + patch: operations["issues/update-milestone"]; + delete: operations["issues/delete-milestone"]; + }; + "/repos/{owner}/{repo}/milestones/{milestone_number}/labels": { + get: operations["issues/list-labels-for-milestone"]; + }; + "/repos/{owner}/{repo}/notifications": { + get: operations["activity/list-repo-notifications-for-authenticated-user"]; + put: operations["activity/mark-repo-notifications-as-read"]; + }; + "/repos/{owner}/{repo}/pages": { + get: operations["repos/get-pages"]; + post: operations["repos/create-pages-site"]; + put: operations["repos/update-information-about-pages-site"]; + delete: operations["repos/delete-pages-site"]; + }; + "/repos/{owner}/{repo}/pages/builds": { + get: operations["repos/list-pages-builds"]; + post: operations["repos/request-pages-build"]; + }; + "/repos/{owner}/{repo}/pages/builds/latest": { + get: operations["repos/get-latest-pages-build"]; + }; + "/repos/{owner}/{repo}/pages/builds/{build_id}": { + get: operations["repos/get-pages-build"]; + }; + "/repos/{owner}/{repo}/projects": { + get: operations["projects/list-for-repo"]; + post: operations["projects/create-for-repo"]; + }; + "/repos/{owner}/{repo}/pulls": { + get: operations["pulls/list"]; + post: operations["pulls/create"]; + }; + "/repos/{owner}/{repo}/pulls/comments": { + get: operations["pulls/list-review-comments-for-repo"]; + }; + "/repos/{owner}/{repo}/pulls/comments/{comment_id}": { + get: operations["pulls/get-review-comment"]; + patch: operations["pulls/update-review-comment"]; + delete: operations["pulls/delete-review-comment"]; + }; + "/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions": { + get: operations["reactions/list-for-pull-request-review-comment"]; + post: operations["reactions/create-for-pull-request-review-comment"]; + }; + "/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}": { + delete: operations["reactions/delete-for-pull-request-comment"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}": { + get: operations["pulls/get"]; + patch: operations["pulls/update"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/comments": { + get: operations["pulls/list-review-comments"]; + post: operations["pulls/create-review-comment"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies": { + post: operations["pulls/create-reply-for-review-comment"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/commits": { + get: operations["pulls/list-commits"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/files": { + get: operations["pulls/list-files"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/merge": { + get: operations["pulls/check-if-merged"]; + put: operations["pulls/merge"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers": { + get: operations["pulls/list-requested-reviewers"]; + post: operations["pulls/request-reviewers"]; + delete: operations["pulls/remove-requested-reviewers"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews": { + get: operations["pulls/list-reviews"]; + post: operations["pulls/create-review"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}": { + get: operations["pulls/get-review"]; + put: operations["pulls/update-review"]; + delete: operations["pulls/delete-pending-review"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments": { + get: operations["pulls/list-comments-for-review"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals": { + put: operations["pulls/dismiss-review"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events": { + post: operations["pulls/submit-review"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/update-branch": { + put: operations["pulls/update-branch"]; + }; + "/repos/{owner}/{repo}/readme": { + get: operations["repos/get-readme"]; + }; + "/repos/{owner}/{repo}/releases": { + get: operations["repos/list-releases"]; + post: operations["repos/create-release"]; + }; + "/repos/{owner}/{repo}/releases/assets/{asset_id}": { + get: operations["repos/get-release-asset"]; + patch: operations["repos/update-release-asset"]; + delete: operations["repos/delete-release-asset"]; + }; + "/repos/{owner}/{repo}/releases/latest": { + get: operations["repos/get-latest-release"]; + }; + "/repos/{owner}/{repo}/releases/tags/{tag}": { + get: operations["repos/get-release-by-tag"]; + }; + "/repos/{owner}/{repo}/releases/{release_id}": { + get: operations["repos/get-release"]; + patch: operations["repos/update-release"]; + delete: operations["repos/delete-release"]; + }; + "/repos/{owner}/{repo}/releases/{release_id}/assets": { + get: operations["repos/list-release-assets"]; + post: operations["repos/upload-release-asset"]; + }; + "/repos/{owner}/{repo}/secret-scanning/alerts": { + get: operations["secret-scanning/list-alerts-for-repo"]; + }; + "/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}": { + get: operations["secret-scanning/get-alert"]; + patch: operations["secret-scanning/update-alert"]; + }; + "/repos/{owner}/{repo}/stargazers": { + get: operations["activity/list-stargazers-for-repo"]; + }; + "/repos/{owner}/{repo}/stats/code_frequency": { + get: operations["repos/get-code-frequency-stats"]; + }; + "/repos/{owner}/{repo}/stats/commit_activity": { + get: operations["repos/get-commit-activity-stats"]; + }; + "/repos/{owner}/{repo}/stats/contributors": { + get: operations["repos/get-contributors-stats"]; + }; + "/repos/{owner}/{repo}/stats/participation": { + get: operations["repos/get-participation-stats"]; + }; + "/repos/{owner}/{repo}/stats/punch_card": { + get: operations["repos/get-punch-card-stats"]; + }; + "/repos/{owner}/{repo}/statuses/{sha}": { + post: operations["repos/create-commit-status"]; + }; + "/repos/{owner}/{repo}/subscribers": { + get: operations["activity/list-watchers-for-repo"]; + }; + "/repos/{owner}/{repo}/subscription": { + get: operations["activity/get-repo-subscription"]; + put: operations["activity/set-repo-subscription"]; + delete: operations["activity/delete-repo-subscription"]; + }; + "/repos/{owner}/{repo}/tags": { + get: operations["repos/list-tags"]; + }; + "/repos/{owner}/{repo}/tarball/{ref}": { + get: operations["repos/download-tarball-archive"]; + }; + "/repos/{owner}/{repo}/teams": { + get: operations["repos/list-teams"]; + }; + "/repos/{owner}/{repo}/topics": { + get: operations["repos/get-all-topics"]; + put: operations["repos/replace-all-topics"]; + }; + "/repos/{owner}/{repo}/traffic/clones": { + get: operations["repos/get-clones"]; + }; + "/repos/{owner}/{repo}/traffic/popular/paths": { + get: operations["repos/get-top-paths"]; + }; + "/repos/{owner}/{repo}/traffic/popular/referrers": { + get: operations["repos/get-top-referrers"]; + }; + "/repos/{owner}/{repo}/traffic/views": { + get: operations["repos/get-views"]; + }; + "/repos/{owner}/{repo}/transfer": { + post: operations["repos/transfer"]; + }; + "/repos/{owner}/{repo}/vulnerability-alerts": { + get: operations["repos/check-vulnerability-alerts"]; + put: operations["repos/enable-vulnerability-alerts"]; + delete: operations["repos/disable-vulnerability-alerts"]; + }; + "/repos/{owner}/{repo}/zipball/{ref}": { + get: operations["repos/download-zipball-archive"]; + }; + "/repos/{template_owner}/{template_repo}/generate": { + post: operations["repos/create-using-template"]; + }; + "/repositories": { + get: operations["repos/list-public"]; + }; + "/scim/v2/enterprises/{enterprise}/Groups": { + get: operations["enterprise-admin/list-provisioned-groups-enterprise"]; + post: operations["enterprise-admin/provision-and-invite-enterprise-group"]; + }; + "/scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}": { + get: operations["enterprise-admin/get-provisioning-information-for-enterprise-group"]; + put: operations["enterprise-admin/set-information-for-provisioned-enterprise-group"]; + patch: operations["enterprise-admin/update-attribute-for-enterprise-group"]; + delete: operations["enterprise-admin/delete-scim-group-from-enterprise"]; + }; + "/scim/v2/enterprises/{enterprise}/Users": { + get: operations["enterprise-admin/list-provisioned-identities-enterprise"]; + post: operations["enterprise-admin/provision-and-invite-enterprise-user"]; + }; + "/scim/v2/enterprises/{enterprise}/Users/{scim_user_id}": { + get: operations["enterprise-admin/get-provisioning-information-for-enterprise-user"]; + put: operations["enterprise-admin/set-information-for-provisioned-enterprise-user"]; + patch: operations["enterprise-admin/update-attribute-for-enterprise-user"]; + delete: operations["enterprise-admin/delete-user-from-enterprise"]; + }; + "/scim/v2/organizations/{org}/Users": { + get: operations["scim/list-provisioned-identities"]; + post: operations["scim/provision-and-invite-user"]; + }; + "/scim/v2/organizations/{org}/Users/{scim_user_id}": { + get: operations["scim/get-provisioning-information-for-user"]; + put: operations["scim/set-information-for-provisioned-user"]; + patch: operations["scim/update-attribute-for-user"]; + delete: operations["scim/delete-user-from-org"]; + }; + "/search/code": { + get: operations["search/code"]; + }; + "/search/commits": { + get: operations["search/commits"]; + }; + "/search/issues": { + get: operations["search/issues-and-pull-requests"]; + }; + "/search/labels": { + get: operations["search/labels"]; + }; + "/search/repositories": { + get: operations["search/repos"]; + }; + "/search/topics": { + get: operations["search/topics"]; + }; + "/search/users": { + get: operations["search/users"]; + }; + "/teams/{team_id}": { + get: operations["teams/get-legacy"]; + patch: operations["teams/update-legacy"]; + delete: operations["teams/delete-legacy"]; + }; + "/teams/{team_id}/discussions": { + get: operations["teams/list-discussions-legacy"]; + post: operations["teams/create-discussion-legacy"]; + }; + "/teams/{team_id}/discussions/{discussion_number}": { + get: operations["teams/get-discussion-legacy"]; + patch: operations["teams/update-discussion-legacy"]; + delete: operations["teams/delete-discussion-legacy"]; + }; + "/teams/{team_id}/discussions/{discussion_number}/comments": { + get: operations["teams/list-discussion-comments-legacy"]; + post: operations["teams/create-discussion-comment-legacy"]; + }; + "/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}": { + get: operations["teams/get-discussion-comment-legacy"]; + patch: operations["teams/update-discussion-comment-legacy"]; + delete: operations["teams/delete-discussion-comment-legacy"]; + }; + "/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions": { + get: operations["reactions/list-for-team-discussion-comment-legacy"]; + post: operations["reactions/create-for-team-discussion-comment-legacy"]; + }; + "/teams/{team_id}/discussions/{discussion_number}/reactions": { + get: operations["reactions/list-for-team-discussion-legacy"]; + post: operations["reactions/create-for-team-discussion-legacy"]; + }; + "/teams/{team_id}/invitations": { + get: operations["teams/list-pending-invitations-legacy"]; + }; + "/teams/{team_id}/members": { + get: operations["teams/list-members-legacy"]; + }; + "/teams/{team_id}/members/{username}": { + get: operations["teams/get-member-legacy"]; + put: operations["teams/add-member-legacy"]; + delete: operations["teams/remove-member-legacy"]; + }; + "/teams/{team_id}/memberships/{username}": { + get: operations["teams/get-membership-for-user-legacy"]; + put: operations["teams/add-or-update-membership-for-user-legacy"]; + delete: operations["teams/remove-membership-for-user-legacy"]; + }; + "/teams/{team_id}/projects": { + get: operations["teams/list-projects-legacy"]; + }; + "/teams/{team_id}/projects/{project_id}": { + get: operations["teams/check-permissions-for-project-legacy"]; + put: operations["teams/add-or-update-project-permissions-legacy"]; + delete: operations["teams/remove-project-legacy"]; + }; + "/teams/{team_id}/repos": { + get: operations["teams/list-repos-legacy"]; + }; + "/teams/{team_id}/repos/{owner}/{repo}": { + get: operations["teams/check-permissions-for-repo-legacy"]; + put: operations["teams/add-or-update-repo-permissions-legacy"]; + delete: operations["teams/remove-repo-legacy"]; + }; + "/teams/{team_id}/team-sync/group-mappings": { + get: operations["teams/list-idp-groups-for-legacy"]; + patch: operations["teams/create-or-update-idp-group-connections-legacy"]; + }; + "/teams/{team_id}/teams": { + get: operations["teams/list-child-legacy"]; + }; + "/user": { + get: operations["users/get-authenticated"]; + patch: operations["users/update-authenticated"]; + }; + "/user/blocks": { + get: operations["users/list-blocked-by-authenticated"]; + }; + "/user/blocks/{username}": { + get: operations["users/check-blocked"]; + put: operations["users/block"]; + delete: operations["users/unblock"]; + }; + "/user/email/visibility": { + patch: operations["users/set-primary-email-visibility-for-authenticated"]; + }; + "/user/emails": { + get: operations["users/list-emails-for-authenticated"]; + post: operations["users/add-email-for-authenticated"]; + delete: operations["users/delete-email-for-authenticated"]; + }; + "/user/followers": { + get: operations["users/list-followers-for-authenticated-user"]; + }; + "/user/following": { + get: operations["users/list-followed-by-authenticated"]; + }; + "/user/following/{username}": { + get: operations["users/check-person-is-followed-by-authenticated"]; + put: operations["users/follow"]; + delete: operations["users/unfollow"]; + }; + "/user/gpg_keys": { + get: operations["users/list-gpg-keys-for-authenticated"]; + post: operations["users/create-gpg-key-for-authenticated"]; + }; + "/user/gpg_keys/{gpg_key_id}": { + get: operations["users/get-gpg-key-for-authenticated"]; + delete: operations["users/delete-gpg-key-for-authenticated"]; + }; + "/user/installations": { + get: operations["apps/list-installations-for-authenticated-user"]; + }; + "/user/installations/{installation_id}/repositories": { + get: operations["apps/list-installation-repos-for-authenticated-user"]; + }; + "/user/installations/{installation_id}/repositories/{repository_id}": { + put: operations["apps/add-repo-to-installation"]; + delete: operations["apps/remove-repo-from-installation"]; + }; + "/user/interaction-limits": { + get: operations["interactions/get-restrictions-for-your-public-repos"]; + put: operations["interactions/set-restrictions-for-your-public-repos"]; + delete: operations["interactions/remove-restrictions-for-your-public-repos"]; + }; + "/user/issues": { + get: operations["issues/list-for-authenticated-user"]; + }; + "/user/keys": { + get: operations["users/list-public-ssh-keys-for-authenticated"]; + post: operations["users/create-public-ssh-key-for-authenticated"]; + }; + "/user/keys/{key_id}": { + get: operations["users/get-public-ssh-key-for-authenticated"]; + delete: operations["users/delete-public-ssh-key-for-authenticated"]; + }; + "/user/marketplace_purchases": { + get: operations["apps/list-subscriptions-for-authenticated-user"]; + }; + "/user/marketplace_purchases/stubbed": { + get: operations["apps/list-subscriptions-for-authenticated-user-stubbed"]; + }; + "/user/memberships/orgs": { + get: operations["orgs/list-memberships-for-authenticated-user"]; + }; + "/user/memberships/orgs/{org}": { + get: operations["orgs/get-membership-for-authenticated-user"]; + patch: operations["orgs/update-membership-for-authenticated-user"]; + }; + "/user/migrations": { + get: operations["migrations/list-for-authenticated-user"]; + post: operations["migrations/start-for-authenticated-user"]; + }; + "/user/migrations/{migration_id}": { + get: operations["migrations/get-status-for-authenticated-user"]; + }; + "/user/migrations/{migration_id}/archive": { + get: operations["migrations/get-archive-for-authenticated-user"]; + delete: operations["migrations/delete-archive-for-authenticated-user"]; + }; + "/user/migrations/{migration_id}/repos/{repo_name}/lock": { + delete: operations["migrations/unlock-repo-for-authenticated-user"]; + }; + "/user/migrations/{migration_id}/repositories": { + get: operations["migrations/list-repos-for-user"]; + }; + "/user/orgs": { + get: operations["orgs/list-for-authenticated-user"]; + }; + "/user/projects": { + post: operations["projects/create-for-authenticated-user"]; + }; + "/user/public_emails": { + get: operations["users/list-public-emails-for-authenticated"]; + }; + "/user/repos": { + get: operations["repos/list-for-authenticated-user"]; + post: operations["repos/create-for-authenticated-user"]; + }; + "/user/repository_invitations": { + get: operations["repos/list-invitations-for-authenticated-user"]; + }; + "/user/repository_invitations/{invitation_id}": { + patch: operations["repos/accept-invitation"]; + delete: operations["repos/decline-invitation"]; + }; + "/user/starred": { + get: operations["activity/list-repos-starred-by-authenticated-user"]; + }; + "/user/starred/{owner}/{repo}": { + get: operations["activity/check-repo-is-starred-by-authenticated-user"]; + put: operations["activity/star-repo-for-authenticated-user"]; + delete: operations["activity/unstar-repo-for-authenticated-user"]; + }; + "/user/subscriptions": { + get: operations["activity/list-watched-repos-for-authenticated-user"]; + }; + "/user/teams": { + get: operations["teams/list-for-authenticated-user"]; + }; + "/users": { + get: operations["users/list"]; + }; + "/users/{username}": { + get: operations["users/get-by-username"]; + }; + "/users/{username}/events": { + get: operations["activity/list-events-for-authenticated-user"]; + }; + "/users/{username}/events/orgs/{org}": { + get: operations["activity/list-org-events-for-authenticated-user"]; + }; + "/users/{username}/events/public": { + get: operations["activity/list-public-events-for-user"]; + }; + "/users/{username}/followers": { + get: operations["users/list-followers-for-user"]; + }; + "/users/{username}/following": { + get: operations["users/list-following-for-user"]; + }; + "/users/{username}/following/{target_user}": { + get: operations["users/check-following-for-user"]; + }; + "/users/{username}/gists": { + get: operations["gists/list-for-user"]; + }; + "/users/{username}/gpg_keys": { + get: operations["users/list-gpg-keys-for-user"]; + }; + "/users/{username}/hovercard": { + get: operations["users/get-context-for-user"]; + }; + "/users/{username}/installation": { + get: operations["apps/get-user-installation"]; + }; + "/users/{username}/keys": { + get: operations["users/list-public-keys-for-user"]; + }; + "/users/{username}/orgs": { + get: operations["orgs/list-for-user"]; + }; + "/users/{username}/projects": { + get: operations["projects/list-for-user"]; + }; + "/users/{username}/received_events": { + get: operations["activity/list-received-events-for-user"]; + }; + "/users/{username}/received_events/public": { + get: operations["activity/list-received-public-events-for-user"]; + }; + "/users/{username}/repos": { + get: operations["repos/list-for-user"]; + }; + "/users/{username}/settings/billing/actions": { + get: operations["billing/get-github-actions-billing-user"]; + }; + "/users/{username}/settings/billing/packages": { + get: operations["billing/get-github-packages-billing-user"]; + }; + "/users/{username}/settings/billing/shared-storage": { + get: operations["billing/get-shared-storage-billing-user"]; + }; + "/users/{username}/starred": { + get: operations["activity/list-repos-starred-by-user"]; + }; + "/users/{username}/subscriptions": { + get: operations["activity/list-repos-watched-by-user"]; + }; + "/zen": { + get: operations["meta/get-zen"]; + }; +} + +export interface operations { + /** + * Get Hypermedia links to resources accessible in GitHub's REST API + */ + "meta/root": { + responses: { + /** + * response + */ + "200": { + "application/json": { + current_user_url: string; + current_user_authorizations_html_url: string; + authorizations_url: string; + code_search_url: string; + commit_search_url: string; + emails_url: string; + emojis_url: string; + events_url: string; + feeds_url: string; + followers_url: string; + following_url: string; + gists_url: string; + hub_url: string; + issue_search_url: string; + issues_url: string; + keys_url: string; + label_search_url: string; + notifications_url: string; + organization_url: string; + organization_repositories_url: string; + organization_teams_url: string; + public_gists_url: string; + rate_limit_url: string; + repository_url: string; + repository_search_url: string; + current_user_repositories_url: string; + starred_url: string; + starred_gists_url: string; + topic_search_url?: string; + user_url: string; + user_organizations_url: string; + user_repositories_url: string; + user_search_url: string; + }; + }; + }; + }; + /** + * Returns the GitHub App associated with the authentication credentials used. To see how many app installations are associated with this GitHub App, see the `installations_count` in the response. For more details about your app's installations, see the "[List installations for the authenticated app](https://docs.github.com/rest/reference/apps#list-installations-for-the-authenticated-app)" endpoint. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/get-authenticated": { + parameters: {}; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["integration"]; + }; + }; + }; + /** + * Use this endpoint to complete the handshake necessary when implementing the [GitHub App Manifest flow](https://docs.github.com/apps/building-github-apps/creating-github-apps-from-a-manifest/). When you create a GitHub App with the manifest flow, you receive a temporary `code` used to retrieve the GitHub App's `id`, `pem` (private key), and `webhook_secret`. + */ + "apps/create-from-manifest": { + parameters: { + path: { + code: string; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["integration"] & + ({ + client_id: string; + client_secret: string; + webhook_secret: string; + pem: string; + } & { [key: string]: any }); + }; + "404": unknown; + "422": unknown; + }; + }; + /** + * Returns the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/get-webhook-config-for-app": { + responses: { + /** + * Default response + */ + "200": { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; + /** + * Updates the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/update-webhook-config-for-app": { + requestBody: { + "application/json": { + url?: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + }; + }; + responses: { + /** + * Default response + */ + "200": { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; + /** + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + * + * The permissions the installation has are included under the `permissions` key. + */ + "apps/list-installations": { + parameters: { + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + since?: components["parameters"]["since"]; + outdated?: string; + }; + }; + responses: { + /** + * The permissions the installation has are included under the `permissions` key. + */ + "200": { + "application/json": components["schemas"]["installation"][]; + }; + }; + }; + /** + * Enables an authenticated GitHub App to find an installation's information using the installation id. The installation's account type (`target_type`) will be either an organization or a user account, depending which account the repository belongs to. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/get-installation": { + parameters: { + path: { + installation_id: components["parameters"]["installation_id"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["installation"]; + }; + "404": unknown; + "415": unknown; + }; + }; + /** + * Uninstalls a GitHub App on a user, organization, or business account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the "[Suspend an app installation](https://docs.github.com/v3/apps/#suspend-an-app-installation)" endpoint. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/delete-installation": { + parameters: { + path: { + installation_id: components["parameters"]["installation_id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "404": unknown; + }; + }; + /** + * Creates an installation access token that enables a GitHub App to make authenticated API requests for the app's installation on an organization or individual account. Installation tokens expire one hour from the time you create them. Using an expired token produces a status code of `401 - Unauthorized`, and requires creating a new installation token. By default the installation token has access to all repositories that the installation can access. To restrict the access to specific repositories, you can provide the `repository_ids` when creating the token. When you omit `repository_ids`, the response does not contain the `repositories` key. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/create-installation-access-token": { + parameters: { + path: { + installation_id: components["parameters"]["installation_id"]; + }; + }; + requestBody: { + "application/json": { + /** + * List of repository names that the token should have access to + */ + repositories?: string[]; + /** + * List of repository IDs that the token should have access to + */ + repository_ids?: number[]; + permissions?: { + contents?: string; + issues?: string; + deployments?: string; + single_file?: string; + def_not_a_repo?: string; + }; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["installation-token"]; + }; + "401": unknown; + "403": unknown; + "404": unknown; + "415": unknown; + "422": unknown; + }; + }; + /** + * **Note:** Suspending a GitHub App installation is currently in beta and subject to change. Before you can suspend a GitHub App, the app owner must enable suspending installations for the app by opting-in to the beta. For more information, see "[Suspending a GitHub App installation](https://docs.github.com/apps/managing-github-apps/suspending-a-github-app-installation/)." + * + * Suspends a GitHub App on a user, organization, or business account, which blocks the app from accessing the account's resources. When a GitHub App is suspended, the app's access to the GitHub API or webhook events is blocked for that account. + * + * To suspend a GitHub App, you must be an account owner or have admin permissions in the repository or organization where the app is installed. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/suspend-installation": { + parameters: { + path: { + installation_id: components["parameters"]["installation_id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "404": unknown; + }; + }; + /** + * **Note:** Suspending a GitHub App installation is currently in beta and subject to change. Before you can suspend a GitHub App, the app owner must enable suspending installations for the app by opting-in to the beta. For more information, see "[Suspending a GitHub App installation](https://docs.github.com/apps/managing-github-apps/suspending-a-github-app-installation/)." + * + * Removes a GitHub App installation suspension. + * + * To unsuspend a GitHub App, you must be an account owner or have admin permissions in the repository or organization where the app is installed and suspended. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/unsuspend-installation": { + parameters: { + path: { + installation_id: components["parameters"]["installation_id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "404": unknown; + }; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + * + * You can use this API to list the set of OAuth applications that have been granted access to your account. Unlike the [list your authorizations](https://docs.github.com/rest/reference/oauth-authorizations#list-your-authorizations) API, this API does not manage individual tokens. This API will return one entry for each OAuth application that has been granted access to your account, regardless of the number of tokens an application has generated for your user. The list of OAuth applications returned matches what is shown on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). The `scopes` returned are the union of scopes authorized for the application. For example, if an application has one token with `repo` scope and another token with `user` scope, the grant will return `["repo", "user"]`. + */ + "oauth-authorizations/list-grants": { + parameters: { + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["application-grant"][]; + }; + "304": never; + "401": unknown; + "403": unknown; + "404": unknown; + }; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + */ + "oauth-authorizations/get-grant": { + parameters: { + path: { + grant_id: components["parameters"]["grant_id"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["application-grant"]; + }; + "304": never; + "401": unknown; + "403": unknown; + }; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + * + * Deleting an OAuth application's grant will also delete all OAuth tokens associated with the application for your user. Once deleted, the application has no access to your account and is no longer listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). + */ + "oauth-authorizations/delete-grant": { + parameters: { + path: { + grant_id: components["parameters"]["grant_id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "304": never; + "401": unknown; + "403": unknown; + }; + }; + /** + * OAuth application owners can revoke a grant for their OAuth application and a specific user. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. You must also provide a valid OAuth `access_token` as an input parameter and the grant for the token's owner will be deleted. + * Deleting an OAuth application's grant will also delete all OAuth tokens associated with the application for the user. Once deleted, the application will have no access to the user's account and will no longer be listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). + */ + "apps/delete-authorization": { + parameters: { + path: { + client_id: components["parameters"]["client-id"]; + }; + }; + requestBody: { + "application/json": { + /** + * The OAuth access token used to authenticate to the GitHub API. + */ + access_token?: string; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "422": unknown; + }; + }; + /** + * **Deprecation Notice:** GitHub will replace and discontinue OAuth endpoints containing `access_token` in the path parameter. We are introducing new endpoints that allow you to securely manage tokens for OAuth Apps by using `access_token` as an input parameter. The OAuth Application API will be removed on May 5, 2021. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-app-endpoint/). + * + * OAuth application owners can revoke a grant for their OAuth application and a specific user. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. You must also provide a valid token as `:access_token` and the grant for the token's owner will be deleted. + * + * Deleting an OAuth application's grant will also delete all OAuth tokens associated with the application for the user. Once deleted, the application will have no access to the user's account and will no longer be listed on [the Applications settings page under "Authorized OAuth Apps" on GitHub](https://github.com/settings/applications#authorized). + */ + "apps/revoke-grant-for-application": { + parameters: { + path: { + client_id: components["parameters"]["client-id"]; + access_token: components["parameters"]["access-token"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * OAuth applications can use a special API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) to use this endpoint, where the username is the OAuth application `client_id` and the password is its `client_secret`. Invalid tokens will return `404 NOT FOUND`. + */ + "apps/check-token": { + parameters: { + path: { + client_id: components["parameters"]["client-id"]; + }; + }; + requestBody: { + "application/json": { + /** + * The access_token of the OAuth application. + */ + access_token: string; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["authorization"]; + }; + "404": unknown; + "422": unknown; + }; + }; + /** + * OAuth applications can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the "token" property in the response because changes take effect immediately. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. + */ + "apps/reset-token": { + parameters: { + path: { + client_id: components["parameters"]["client-id"]; + }; + }; + requestBody: { + "application/json": { + /** + * The access_token of the OAuth application. + */ + access_token: string; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["authorization"]; + }; + "422": unknown; + }; + }; + /** + * OAuth application owners can revoke a single token for an OAuth application. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. + */ + "apps/delete-token": { + parameters: { + path: { + client_id: components["parameters"]["client-id"]; + }; + }; + requestBody: { + "application/json": { + /** + * The OAuth access token used to authenticate to the GitHub API. + */ + access_token?: string; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "422": unknown; + }; + }; + /** + * **Deprecation Notice:** GitHub will replace and discontinue OAuth endpoints containing `access_token` in the path parameter. We are introducing new endpoints that allow you to securely manage tokens for OAuth Apps by using `access_token` as an input parameter. The OAuth Application API will be removed on May 5, 2021. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-app-endpoint/). + * + * OAuth applications can use a special API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. + */ + "apps/check-authorization": { + parameters: { + path: { + client_id: components["parameters"]["client-id"]; + access_token: components["parameters"]["access-token"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["authorization"]; + }; + "404": unknown; + }; + }; + /** + * **Deprecation Notice:** GitHub will replace and discontinue OAuth endpoints containing `access_token` in the path parameter. We are introducing new endpoints that allow you to securely manage tokens for OAuth Apps by using `access_token` as an input parameter. The OAuth Application API will be removed on May 5, 2021. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-app-endpoint/). + * + * OAuth applications can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the "token" property in the response because changes take effect immediately. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. + */ + "apps/reset-authorization": { + parameters: { + path: { + client_id: components["parameters"]["client-id"]; + access_token: components["parameters"]["access-token"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["authorization"]; + }; + }; + }; + /** + * **Deprecation Notice:** GitHub will replace and discontinue OAuth endpoints containing `access_token` in the path parameter. We are introducing new endpoints that allow you to securely manage tokens for OAuth Apps by using `access_token` as an input parameter. The OAuth Application API will be removed on May 5, 2021. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-app-endpoint/). + * + * OAuth application owners can revoke a single token for an OAuth application. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. + */ + "apps/revoke-authorization-for-application": { + parameters: { + path: { + client_id: components["parameters"]["client-id"]; + access_token: components["parameters"]["access-token"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * **Note**: The `:app_slug` is just the URL-friendly name of your GitHub App. You can find this on the settings page for your GitHub App (e.g., `https://github.com/settings/apps/:app_slug`). + * + * If the GitHub App you specify is public, you can access this endpoint without authenticating. If the GitHub App you specify is private, you must authenticate with a [personal access token](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/) or an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + */ + "apps/get-by-slug": { + parameters: { + path: { + app_slug: components["parameters"]["app_slug"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["integration"]; + }; + "403": unknown; + "404": unknown; + "415": unknown; + }; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + */ + "oauth-authorizations/list-authorizations": { + parameters: { + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["authorization"][]; + }; + "304": never; + "401": unknown; + "403": unknown; + "404": unknown; + }; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + * + * **Warning:** Apps must use the [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * Creates OAuth tokens using [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication). If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." + * + * To create tokens for a particular OAuth application using this endpoint, you must authenticate as the user you want to create an authorization for and provide the app's client ID and secret, found on your OAuth application's settings page. If your OAuth application intends to create multiple tokens for one user, use `fingerprint` to differentiate between them. + * + * You can also create tokens on GitHub from the [personal access tokens settings](https://github.com/settings/tokens) page. Read more about these tokens in [the GitHub Help documentation](https://help.github.com/articles/creating-an-access-token-for-command-line-use). + * + * Organizations that enforce SAML SSO require personal access tokens to be allowed. Read more about allowing tokens in [the GitHub Help documentation](https://help.github.com/articles/about-identity-and-access-management-with-saml-single-sign-on). + */ + "oauth-authorizations/create-authorization": { + parameters: {}; + requestBody: { + "application/json": { + /** + * A list of scopes that this authorization is in. + */ + scopes?: string[] | null; + /** + * A note to remind you what the OAuth token is for. + */ + note?: string; + /** + * A URL to remind you what app the OAuth token is for. + */ + note_url?: string; + /** + * The OAuth app client key for which to create the token. + */ + client_id?: string; + /** + * The OAuth app client secret for which to create the token. + */ + client_secret?: string; + /** + * A unique string to distinguish an authorization from others created for the same client ID and user. + */ + fingerprint?: string; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["authorization"]; + }; + "304": never; + "401": unknown; + "403": unknown; + "410": unknown; + "422": unknown; + }; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + * + * **Warning:** Apps must use the [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * Creates a new authorization for the specified OAuth application, only if an authorization for that application doesn't already exist for the user. The URL includes the 20 character client ID for the OAuth app that is requesting the token. It returns the user's existing authorization for the application if one is present. Otherwise, it creates and returns a new one. + * + * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." + * + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + */ + "oauth-authorizations/get-or-create-authorization-for-app": { + parameters: { + path: { + client_id: components["parameters"]["client-id"]; + }; + }; + requestBody: { + "application/json": { + /** + * The OAuth app client secret for which to create the token. + */ + client_secret: string; + /** + * A list of scopes that this authorization is in. + */ + scopes?: string[] | null; + /** + * A note to remind you what the OAuth token is for. + */ + note?: string; + /** + * A URL to remind you what app the OAuth token is for. + */ + note_url?: string; + /** + * A unique string to distinguish an authorization from others created for the same client ID and user. + */ + fingerprint?: string; + }; + }; + responses: { + /** + * Response if returning an existing token + */ + "200": { + "application/json": components["schemas"]["authorization"]; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + */ + "201": { + "application/json": components["schemas"]["authorization"]; + }; + "304": never; + "401": unknown; + "403": unknown; + "422": unknown; + }; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + * + * **Warning:** Apps must use the [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * This method will create a new authorization for the specified OAuth application, only if an authorization for that application and fingerprint do not already exist for the user. The URL includes the 20 character client ID for the OAuth app that is requesting the token. `fingerprint` is a unique string to distinguish an authorization from others created for the same client ID and user. It returns the user's existing authorization for the application if one is present. Otherwise, it creates and returns a new one. + * + * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." + */ + "oauth-authorizations/get-or-create-authorization-for-app-and-fingerprint": { + parameters: { + path: { + client_id: components["parameters"]["client-id"]; + fingerprint: string; + }; + }; + requestBody: { + "application/json": { + /** + * The OAuth app client secret for which to create the token. + */ + client_secret: string; + /** + * A list of scopes that this authorization is in. + */ + scopes?: string[] | null; + /** + * A note to remind you what the OAuth token is for. + */ + note?: string; + /** + * A URL to remind you what app the OAuth token is for. + */ + note_url?: string; + }; + }; + responses: { + /** + * Response if returning an existing token + */ + "200": { + "application/json": components["schemas"]["authorization"]; + }; + /** + * Response if returning a new token + */ + "201": { + "application/json": components["schemas"]["authorization"]; + }; + "422": unknown; + }; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + */ + "oauth-authorizations/get-authorization": { + parameters: { + path: { + authorization_id: components["parameters"]["authorization_id"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["authorization"]; + }; + "304": never; + "401": unknown; + "403": unknown; + }; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + * + * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." + * + * You can only send one of these scope keys at a time. + */ + "oauth-authorizations/update-authorization": { + parameters: { + path: { + authorization_id: components["parameters"]["authorization_id"]; + }; + }; + requestBody: { + "application/json": { + /** + * A list of scopes that this authorization is in. + */ + scopes?: string[] | null; + /** + * A list of scopes to add to this authorization. + */ + add_scopes?: string[]; + /** + * A list of scopes to remove from this authorization. + */ + remove_scopes?: string[]; + /** + * A note to remind you what the OAuth token is for. + */ + note?: string; + /** + * A URL to remind you what app the OAuth token is for. + */ + note_url?: string; + /** + * A unique string to distinguish an authorization from others created for the same client ID and user. + */ + fingerprint?: string; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["authorization"]; + }; + "422": unknown; + }; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + */ + "oauth-authorizations/delete-authorization": { + parameters: { + path: { + authorization_id: components["parameters"]["authorization_id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "304": never; + "401": unknown; + "403": unknown; + }; + }; + "codes-of-conduct/get-all-codes-of-conduct": { + parameters: {}; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["code-of-conduct"][]; + }; + "304": never; + "415": unknown; + }; + }; + "codes-of-conduct/get-conduct-code": { + parameters: { + path: { + key: string; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["code-of-conduct"]; + }; + "304": never; + "404": unknown; + "415": unknown; + }; + }; + /** + * Creates an attachment under a content reference URL in the body or comment of an issue or pull request. Use the `id` of the content reference from the [`content_reference` event](https://docs.github.com/webhooks/event-payloads/#content_reference) to create an attachment. + * + * The app must create a content attachment within six hours of the content reference URL being posted. See "[Using content attachments](https://docs.github.com/apps/using-content-attachments/)" for details about content attachments. + * + * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + */ + "apps/create-content-attachment": { + parameters: { + path: { + content_reference_id: number; + }; + }; + requestBody: { + "application/json": { + /** + * The title of the attachment + */ + title: string; + /** + * The body of the attachment + */ + body: string; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["content-reference-attachment"]; + }; + "304": never; + "403": unknown; + "404": unknown; + "410": unknown; + "415": unknown; + "422": unknown; + }; + }; + /** + * Lists all the emojis available to use on GitHub. + */ + "emojis/get": { + parameters: {}; + responses: { + /** + * response + */ + "200": { + "application/json": { [key: string]: string }; + }; + "304": never; + }; + }; + /** + * Gets the GitHub Actions permissions policy for organizations and allowed actions in an enterprise. + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/get-github-actions-permissions-enterprise": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["actions-enterprise-permissions"]; + }; + }; + }; + /** + * Sets the GitHub Actions permissions policy for organizations and allowed actions in an enterprise. + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/set-github-actions-permissions-enterprise": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + }; + }; + requestBody: { + "application/json": { + enabled_organizations: components["schemas"]["enabled-organizations"]; + allowed_actions?: components["schemas"]["allowed-actions"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * Lists the organizations that are selected to have GitHub Actions enabled in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/list-selected-organizations-enabled-github-actions-enterprise": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": { + total_count?: number; + organizations?: components["schemas"]["organization-simple"][]; + }; + }; + }; + }; + /** + * Replaces the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/set-selected-organizations-enabled-github-actions-enterprise": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + }; + }; + requestBody: { + "application/json": { + /** + * List of organization IDs to enable for GitHub Actions. + */ + selected_organization_ids: number[]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * Adds an organization to the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/enable-selected-organization-github-actions-enterprise": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + org_id: components["parameters"]["org_id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * Removes an organization from the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/disable-selected-organization-github-actions-enterprise": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + org_id: components["parameters"]["org_id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * Gets the selected actions that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/get-allowed-actions-enterprise": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["selected-actions"]; + }; + }; + }; + /** + * Sets the actions that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/set-allowed-actions-enterprise": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + }; + }; + requestBody: { + "application/json": components["schemas"]["selected-actions"]; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * Lists all self-hosted runner groups for an enterprise. + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/list-self-hosted-runner-groups-for-enterprise": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": { + total_count?: number; + runner_groups?: components["schemas"]["runner-groups-enterprise"][]; + }; + }; + }; + }; + /** + * Creates a new self-hosted runner group for an enterprise. + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/create-self-hosted-runner-group-for-enterprise": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + }; + }; + requestBody: { + "application/json": { + /** + * Name of the runner group. + */ + name: string; + /** + * Visibility of a runner group. You can select all organizations or select individual organization. Can be one of: `all` or `selected` + */ + visibility?: "selected" | "all"; + /** + * List of organization IDs that can access the runner group. + */ + selected_organization_ids?: number[]; + /** + * List of runner IDs to add to the runner group. + */ + runners?: number[]; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["runner-groups-enterprise"]; + }; + }; + }; + /** + * Gets a specific self-hosted runner group for an enterprise. + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/get-self-hosted-runner-group-for-enterprise": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + runner_group_id: components["parameters"]["runner_group_id"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["runner-groups-enterprise"]; + }; + }; + }; + /** + * Updates the `name` and `visibility` of a self-hosted runner group in an enterprise. + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/update-self-hosted-runner-group-for-enterprise": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + runner_group_id: components["parameters"]["runner_group_id"]; + }; + }; + requestBody: { + "application/json": { + /** + * Name of the runner group. + */ + name?: string; + /** + * Visibility of a runner group. You can select all organizations or select individual organizations. Can be one of: `all` or `selected` + */ + visibility?: "selected" | "all"; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["runner-groups-enterprise"]; + }; + }; + }; + /** + * Deletes a self-hosted runner group for an enterprise. + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/delete-self-hosted-runner-group-from-enterprise": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + runner_group_id: components["parameters"]["runner_group_id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * Lists the organizations with access to a self-hosted runner group. + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/list-org-access-to-self-hosted-runner-group-in-enterprise": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + runner_group_id: components["parameters"]["runner_group_id"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": { + total_count?: number; + organizations?: components["schemas"]["organization-simple"][]; + }; + }; + }; + }; + /** + * Replaces the list of organizations that have access to a self-hosted runner configured in an enterprise. + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/set-org-access-to-self-hosted-runner-group-in-enterprise": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + runner_group_id: components["parameters"]["runner_group_id"]; + }; + }; + requestBody: { + "application/json": { + /** + * List of organization IDs that can access the runner group. + */ + selected_organization_ids: number[]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * Adds an organization to the list of selected organizations that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an enterprise](#create-a-self-hosted-runner-group-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/add-org-access-to-self-hosted-runner-group-in-enterprise": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + runner_group_id: components["parameters"]["runner_group_id"]; + org_id: components["parameters"]["org_id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * Removes an organization from the list of selected organizations that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an enterprise](#create-a-self-hosted-runner-group-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/remove-org-access-to-self-hosted-runner-group-in-enterprise": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + runner_group_id: components["parameters"]["runner_group_id"]; + org_id: components["parameters"]["org_id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * Lists the self-hosted runners that are in a specific enterprise group. + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/list-self-hosted-runners-in-group-for-enterprise": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + runner_group_id: components["parameters"]["runner_group_id"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": { + total_count?: number; + runners?: components["schemas"]["runner"][]; + }; + }; + }; + }; + /** + * Replaces the list of self-hosted runners that that are part of an enterprise runner group. + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/set-self-hosted-runners-in-group-for-enterprise": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + runner_group_id: components["parameters"]["runner_group_id"]; + }; + }; + requestBody: { + "application/json": { + /** + * List of runner IDs to add to the runner group. + */ + runners: number[]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * Adds a self-hosted runner to a runner group configured in an enterprise. + * + * You must authenticate using an access token with the `admin:enterprise` + * scope to use this endpoint. + */ + "enterprise-admin/add-self-hosted-runner-to-group-for-enterprise": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + runner_group_id: components["parameters"]["runner_group_id"]; + runner_id: components["parameters"]["runner_id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * Removes a self-hosted runner from a group configured in an enterprise. The runner is then returned to the default group. + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/remove-self-hosted-runner-from-group-for-enterprise": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + runner_group_id: components["parameters"]["runner_group_id"]; + runner_id: components["parameters"]["runner_id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * Lists all self-hosted runners configured for an enterprise. + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/list-self-hosted-runners-for-enterprise": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": { + total_count?: number; + runners?: components["schemas"]["runner"][]; + }; + }; + }; + }; + /** + * Lists binaries for the runner application that you can download and run. + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/list-runner-applications-for-enterprise": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["runner-application"][]; + }; + }; + }; + /** + * Returns a token that you can pass to the `config` script. The token expires after one hour. + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * + * #### Example using registration token + * + * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint. + * + * ``` + * ./config.sh --url https://github.com/enterpises/octo-enterprise --token TOKEN + * ``` + */ + "enterprise-admin/create-registration-token-for-enterprise": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["authentication-token"]; + }; + }; + }; + /** + * Returns a token that you can pass to the `config` script to remove a self-hosted runner from an enterprise. The token expires after one hour. + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * + * #### Example using remove token + * + * To remove your self-hosted runner from an enterprise, replace `TOKEN` with the remove token provided by this + * endpoint. + * + * ``` + * ./config.sh remove --token TOKEN + * ``` + */ + "enterprise-admin/create-remove-token-for-enterprise": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["authentication-token"]; + }; + }; + }; + /** + * Gets a specific self-hosted runner configured in an enterprise. + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/get-self-hosted-runner-for-enterprise": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + runner_id: components["parameters"]["runner_id"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["runner"]; + }; + }; + }; + /** + * Forces the removal of a self-hosted runner from an enterprise. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/delete-self-hosted-runner-from-enterprise": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + runner_id: components["parameters"]["runner_id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * Gets the summary of the free and paid GitHub Actions minutes used. + * + * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * The authenticated user must be an enterprise admin. + */ + "billing/get-github-actions-billing-ghe": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["actions-billing-usage"]; + }; + }; + }; + /** + * Gets the free and paid storage used for GitHub Packages in gigabytes. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * The authenticated user must be an enterprise admin. + */ + "billing/get-github-packages-billing-ghe": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["packages-billing-usage"]; + }; + }; + }; + /** + * Gets the estimated paid and estimated total storage used for GitHub Actions and Github Packages. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * The authenticated user must be an enterprise admin. + */ + "billing/get-shared-storage-billing-ghe": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["combined-billing-usage"]; + }; + }; + }; + /** + * We delay the public events feed by five minutes, which means the most recent event returned by the public events API actually occurred at least five minutes ago. + */ + "activity/list-public-events": { + parameters: { + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["event"][]; + }; + "304": never; + "403": unknown; + "503": unknown; + }; + }; + /** + * GitHub provides several timeline resources in [Atom](http://en.wikipedia.org/wiki/Atom_(standard)) format. The Feeds API lists all the feeds available to the authenticated user: + * + * * **Timeline**: The GitHub global public timeline + * * **User**: The public timeline for any user, using [URI template](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) + * * **Current user public**: The public timeline for the authenticated user + * * **Current user**: The private timeline for the authenticated user + * * **Current user actor**: The private timeline for activity created by the authenticated user + * * **Current user organizations**: The private timeline for the organizations the authenticated user is a member of. + * * **Security advisories**: A collection of public announcements that provide information about security-related vulnerabilities in software on GitHub. + * + * **Note**: Private feeds are only returned when [authenticating via Basic Auth](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) since current feed URIs use the older, non revocable auth tokens. + */ + "activity/get-feeds": { + parameters: {}; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["feed"]; + }; + }; + }; + /** + * Lists the authenticated user's gists or if called anonymously, this endpoint returns all public gists: + */ + "gists/list": { + parameters: { + query: { + since?: components["parameters"]["since"]; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["base-gist"][]; + }; + "304": never; + "403": unknown; + }; + }; + /** + * Allows you to add a new gist with one or more files. + * + * **Note:** Don't name your files "gistfile" with a numerical suffix. This is the format of the automatic naming scheme that Gist uses internally. + */ + "gists/create": { + parameters: {}; + requestBody: { + "application/json": { + /** + * Description of the gist + */ + description?: string; + /** + * Names and content for the files that make up the gist + */ + files: { + [key: string]: { + /** + * Content of the file + */ + content: string; + }; + }; + public?: boolean | ("true" | "false"); + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["gist-full"]; + }; + "304": never; + "403": unknown; + "404": unknown; + "422": unknown; + }; + }; + /** + * List public gists sorted by most recently updated to least recently updated. + * + * Note: With [pagination](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination), you can fetch up to 3000 gists. For example, you can fetch 100 pages with 30 gists per page or 30 pages with 100 gists per page. + */ + "gists/list-public": { + parameters: { + query: { + since?: components["parameters"]["since"]; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["base-gist"][]; + }; + "304": never; + "403": unknown; + "422": unknown; + }; + }; + /** + * List the authenticated user's starred gists: + */ + "gists/list-starred": { + parameters: { + query: { + since?: components["parameters"]["since"]; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["base-gist"][]; + }; + "304": never; + "401": unknown; + "403": unknown; + }; + }; + "gists/get": { + parameters: { + path: { + gist_id: components["parameters"]["gist_id"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["gist-full"]; + }; + "304": never; + "403": unknown; + "404": unknown; + }; + }; + /** + * Allows you to update or delete a gist file and rename gist files. Files from the previous version of the gist that aren't explicitly changed during an edit are unchanged. + */ + "gists/update": { + parameters: { + path: { + gist_id: components["parameters"]["gist_id"]; + }; + }; + requestBody: { + "application/json": Partial<{ [key: string]: any }> & + Partial<{ [key: string]: any }>; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["gist-full"]; + }; + "404": unknown; + "422": unknown; + }; + }; + "gists/delete": { + parameters: { + path: { + gist_id: components["parameters"]["gist_id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "304": never; + "403": unknown; + "404": unknown; + }; + }; + "gists/list-comments": { + parameters: { + path: { + gist_id: components["parameters"]["gist_id"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["gist-comment"][]; + }; + "304": never; + "403": unknown; + "404": unknown; + }; + }; + "gists/create-comment": { + parameters: { + path: { + gist_id: components["parameters"]["gist_id"]; + }; + }; + requestBody: { + "application/json": { + /** + * The comment text. + */ + body: string; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["gist-comment"]; + }; + "304": never; + "403": unknown; + "404": unknown; + }; + }; + "gists/get-comment": { + parameters: { + path: { + gist_id: components["parameters"]["gist_id"]; + comment_id: components["parameters"]["comment_id"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["gist-comment"]; + }; + "304": never; + "403": unknown; + "404": unknown; + }; + }; + "gists/update-comment": { + parameters: { + path: { + gist_id: components["parameters"]["gist_id"]; + comment_id: components["parameters"]["comment_id"]; + }; + }; + requestBody: { + "application/json": { + /** + * The comment text. + */ + body: string; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["gist-comment"]; + }; + "404": unknown; + }; + }; + "gists/delete-comment": { + parameters: { + path: { + gist_id: components["parameters"]["gist_id"]; + comment_id: components["parameters"]["comment_id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "304": never; + "403": unknown; + "404": unknown; + }; + }; + "gists/list-commits": { + parameters: { + path: { + gist_id: components["parameters"]["gist_id"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["gist-commit"][]; + }; + "304": never; + "403": unknown; + "404": unknown; + }; + }; + "gists/list-forks": { + parameters: { + path: { + gist_id: components["parameters"]["gist_id"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["gist-full"][]; + }; + "304": never; + "403": unknown; + "404": unknown; + }; + }; + /** + * **Note**: This was previously `/gists/:gist_id/fork`. + */ + "gists/fork": { + parameters: { + path: { + gist_id: components["parameters"]["gist_id"]; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["base-gist"]; + }; + "304": never; + "403": unknown; + "404": unknown; + "422": unknown; + }; + }; + "gists/check-is-starred": { + parameters: { + path: { + gist_id: components["parameters"]["gist_id"]; + }; + }; + responses: { + /** + * Response if gist is starred + */ + "204": never; + "304": never; + "403": unknown; + /** + * Response if gist is not starred + */ + "404": { + "application/json": { [key: string]: any }; + }; + }; + }; + /** + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + "gists/star": { + parameters: { + path: { + gist_id: components["parameters"]["gist_id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "304": never; + "403": unknown; + "404": unknown; + }; + }; + "gists/unstar": { + parameters: { + path: { + gist_id: components["parameters"]["gist_id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "304": never; + "403": unknown; + "404": unknown; + }; + }; + "gists/get-revision": { + parameters: { + path: { + gist_id: components["parameters"]["gist_id"]; + sha: string; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["gist-full"]; + }; + "403": unknown; + "404": unknown; + "422": unknown; + }; + }; + /** + * List all templates available to pass as an option when [creating a repository](https://docs.github.com/rest/reference/repos#create-a-repository-for-the-authenticated-user). + */ + "gitignore/get-all-templates": { + parameters: {}; + responses: { + /** + * response + */ + "200": { + "application/json": string[]; + }; + "304": never; + }; + }; + /** + * The API also allows fetching the source of a single template. + * Use the raw [media type](https://docs.github.com/rest/overview/media-types/) to get the raw contents. + */ + "gitignore/get-template": { + parameters: { + path: { + name: string; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["gitignore-template"]; + }; + "304": never; + }; + }; + /** + * List repositories that an app installation can access. + * + * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + */ + "apps/list-repos-accessible-to-installation": { + parameters: { + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": { + total_count?: number; + repositories?: components["schemas"]["repository"][]; + repository_selection?: string; + }; + }; + "304": never; + "401": unknown; + "403": unknown; + }; + }; + /** + * Revokes the installation token you're using to authenticate as an installation and access this endpoint. + * + * Once an installation token is revoked, the token is invalidated and cannot be used. Other endpoints that require the revoked installation token must have a new installation token to work. You can create a new token using the "[Create an installation access token for an app](https://docs.github.com/rest/reference/apps#create-an-installation-access-token-for-an-app)" endpoint. + * + * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + */ + "apps/revoke-installation-access-token": { + parameters: {}; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * List issues assigned to the authenticated user across all visible repositories including owned repositories, member + * repositories, and organization repositories. You can use the `filter` query parameter to fetch issues that are not + * necessarily assigned to you. + * + * + * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + */ + "issues/list": { + parameters: { + query: { + /** + * Indicates which sorts of issues to return. Can be one of: + * \* `assigned`: Issues assigned to you + * \* `created`: Issues created by you + * \* `mentioned`: Issues mentioning you + * \* `subscribed`: Issues you're subscribed to updates for + * \* `all`: All issues the authenticated user can see, regardless of participation or creation + */ + filter?: "assigned" | "created" | "mentioned" | "subscribed" | "all"; + /** + * Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + labels?: components["parameters"]["labels"]; + /** + * What to sort results by. Can be either `created`, `updated`, `comments`. + */ + sort?: "created" | "updated" | "comments"; + direction?: components["parameters"]["direction"]; + since?: components["parameters"]["since"]; + collab?: boolean; + orgs?: boolean; + owned?: boolean; + pulls?: boolean; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["issue"][]; + }; + "304": never; + "404": unknown; + "422": unknown; + }; + }; + "licenses/get-all-commonly-used": { + parameters: { + query: { + featured?: boolean; + per_page?: components["parameters"]["per_page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["license-simple"][]; + }; + "304": never; + }; + }; + "licenses/get": { + parameters: { + path: { + license: string; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["license"]; + }; + "304": never; + "403": unknown; + "404": unknown; + }; + }; + "markdown/render": { + parameters: {}; + requestBody: { + "application/json": { + /** + * The Markdown text to render in HTML. + */ + text: string; + /** + * The rendering mode. + */ + mode?: "markdown" | "gfm"; + /** + * The repository context to use when creating references in `gfm` mode. + */ + context?: string; + }; + }; + responses: { + /** + * response + */ + "200": unknown; + "304": never; + }; + }; + /** + * You must send Markdown as plain text (using a `Content-Type` header of `text/plain` or `text/x-markdown`) to this endpoint, rather than using JSON format. In raw mode, [GitHub Flavored Markdown](https://github.github.com/gfm/) is not supported and Markdown will be rendered in plain format like a README.md file. Markdown content must be 400 KB or less. + */ + "markdown/render-raw": { + parameters: {}; + requestBody: { + "text/plain": string; + "text/x-markdown": string; + }; + responses: { + /** + * response + */ + "200": { + "text/html": string; + }; + "304": never; + }; + }; + /** + * Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + "apps/get-subscription-plan-for-account": { + parameters: { + path: { + account_id: components["parameters"]["account_id"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["marketplace-purchase"]; + }; + "401": unknown; + /** + * Response when the account has not purchased the listing + */ + "404": { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + /** + * Lists all plans that are part of your GitHub Marketplace listing. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + "apps/list-plans": { + parameters: { + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["marketplace-listing-plan"][]; + }; + "401": unknown; + "404": unknown; + }; + }; + /** + * Returns user and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + "apps/list-accounts-for-plan": { + parameters: { + path: { + plan_id: components["parameters"]["plan_id"]; + }; + query: { + sort?: components["parameters"]["sort"]; + /** + * To return the oldest accounts first, set to `asc`. Can be one of `asc` or `desc`. Ignored without the `sort` parameter. + */ + direction?: "asc" | "desc"; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["marketplace-purchase"][]; + }; + "401": unknown; + "404": unknown; + "422": unknown; + }; + }; + /** + * Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + "apps/get-subscription-plan-for-account-stubbed": { + parameters: { + path: { + account_id: components["parameters"]["account_id"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["marketplace-purchase"]; + }; + "401": unknown; + /** + * Response when the account has not purchased the listing + */ + "404": unknown; + }; + }; + /** + * Lists all plans that are part of your GitHub Marketplace listing. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + "apps/list-plans-stubbed": { + parameters: { + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["marketplace-listing-plan"][]; + }; + "401": unknown; + }; + }; + /** + * Returns repository and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + "apps/list-accounts-for-plan-stubbed": { + parameters: { + path: { + plan_id: components["parameters"]["plan_id"]; + }; + query: { + sort?: components["parameters"]["sort"]; + /** + * To return the oldest accounts first, set to `asc`. Can be one of `asc` or `desc`. Ignored without the `sort` parameter. + */ + direction?: "asc" | "desc"; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["marketplace-purchase"][]; + }; + "401": unknown; + }; + }; + /** + * This endpoint provides a list of GitHub's IP addresses. For more information, see "[About GitHub's IP addresses](https://help.github.com/articles/about-github-s-ip-addresses/)." + */ + "meta/get": { + parameters: {}; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["api-overview"]; + }; + "304": never; + }; + }; + "activity/list-public-events-for-repo-network": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["event"][]; + }; + "301": never; + "304": never; + "403": unknown; + "404": unknown; + }; + }; + /** + * List all notifications for the current user, sorted by most recently updated. + */ + "activity/list-notifications-for-authenticated-user": { + parameters: { + query: { + all?: components["parameters"]["all"]; + participating?: components["parameters"]["participating"]; + since?: components["parameters"]["since"]; + before?: components["parameters"]["before"]; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["thread"][]; + }; + "304": never; + "401": unknown; + "403": unknown; + "422": unknown; + }; + }; + /** + * Marks all notifications as "read" removes it from the [default view on GitHub](https://github.com/notifications). If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List notifications for the authenticated user](https://docs.github.com/rest/reference/activity#list-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. + */ + "activity/mark-notifications-as-read": { + parameters: {}; + requestBody: { + "application/json": { + /** + * Describes the last point that notifications were checked. + */ + last_read_at?: string; + /** + * Whether the notification has been read. + */ + read?: boolean; + }; + }; + responses: { + /** + * response + */ + "202": { + "application/json": { message?: string }; + }; + /** + * response + */ + "205": unknown; + "304": never; + "401": unknown; + "403": unknown; + }; + }; + "activity/get-thread": { + parameters: { + path: { + thread_id: components["parameters"]["thread_id"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["thread"]; + }; + "304": never; + "401": unknown; + "403": unknown; + }; + }; + "activity/mark-thread-as-read": { + parameters: { + path: { + thread_id: components["parameters"]["thread_id"]; + }; + }; + responses: { + /** + * response + */ + "205": unknown; + "304": never; + "403": unknown; + }; + }; + /** + * This checks to see if the current user is subscribed to a thread. You can also [get a repository subscription](https://docs.github.com/rest/reference/activity#get-a-repository-subscription). + * + * Note that subscriptions are only generated if a user is participating in a conversation--for example, they've replied to the thread, were **@mentioned**, or manually subscribe to a thread. + */ + "activity/get-thread-subscription-for-authenticated-user": { + parameters: { + path: { + thread_id: components["parameters"]["thread_id"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["thread-subscription"]; + }; + "304": never; + "401": unknown; + "403": unknown; + }; + }; + /** + * If you are watching a repository, you receive notifications for all threads by default. Use this endpoint to ignore future notifications for threads until you comment on the thread or get an **@mention**. + * + * You can also use this endpoint to subscribe to threads that you are currently not receiving notifications for or to subscribed to threads that you have previously ignored. + * + * Unsubscribing from a conversation in a repository that you are not watching is functionally equivalent to the [Delete a thread subscription](https://docs.github.com/rest/reference/activity#delete-a-thread-subscription) endpoint. + */ + "activity/set-thread-subscription": { + parameters: { + path: { + thread_id: components["parameters"]["thread_id"]; + }; + }; + requestBody: { + "application/json": { + /** + * Whether to block all notifications from a thread. + */ + ignored?: boolean; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["thread-subscription"]; + }; + "304": never; + "401": unknown; + "403": unknown; + }; + }; + /** + * Mutes all future notifications for a conversation until you comment on the thread or get an **@mention**. If you are watching the repository of the thread, you will still receive notifications. To ignore future notifications for a repository you are watching, use the [Set a thread subscription](https://docs.github.com/rest/reference/activity#set-a-thread-subscription) endpoint and set `ignore` to `true`. + */ + "activity/delete-thread-subscription": { + parameters: { + path: { + thread_id: components["parameters"]["thread_id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "304": never; + "401": unknown; + "403": unknown; + }; + }; + /** + * Get the octocat as ASCII art + */ + "meta/get-octocat": { + parameters: { + query: { + /** + * The words to show in Octocat's speech bubble + */ + s?: string; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/octocat-stream": string; + }; + }; + }; + /** + * Lists all organizations, in the order that they were created on GitHub. + * + * **Note:** Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of organizations. + */ + "orgs/list": { + parameters: { + query: { + since?: components["parameters"]["since-org"]; + per_page?: components["parameters"]["per_page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["organization-simple"][]; + }; + "304": never; + }; + }; + /** + * To see many of the organization response values, you need to be an authenticated organization owner with the `admin:org` scope. When the value of `two_factor_requirement_enabled` is `true`, the organization requires all members, billing managers, and outside collaborators to enable [two-factor authentication](https://help.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/). + * + * GitHub Apps with the `Organization plan` permission can use this endpoint to retrieve information about an organization's GitHub plan. See "[Authenticating with GitHub Apps](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/)" for details. For an example response, see 'Response with GitHub plan information' below." + */ + "orgs/get": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["organization-full"]; + }; + "404": unknown; + }; + }; + /** + * **Parameter Deprecation Notice:** GitHub will replace and discontinue `members_allowed_repository_creation_type` in favor of more granular permissions. The new input parameters are `members_can_create_public_repositories`, `members_can_create_private_repositories` for all organizations and `members_can_create_internal_repositories` for organizations associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes). + * + * Enables an authenticated organization owner with the `admin:org` scope to update the organization's profile and member privileges. + */ + "orgs/update": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + "application/json": { + /** + * Billing email address. This address is not publicized. + */ + billing_email?: string; + /** + * The company name. + */ + company?: string; + /** + * The publicly visible email address. + */ + email?: string; + /** + * The Twitter username of the company. + */ + twitter_username?: string; + /** + * The location. + */ + location?: string; + /** + * The shorthand name of the company. + */ + name?: string; + /** + * The description of the company. + */ + description?: string; + /** + * Toggles whether an organization can use organization projects. + */ + has_organization_projects?: boolean; + /** + * Toggles whether repositories that belong to the organization can use repository projects. + */ + has_repository_projects?: boolean; + /** + * Default permission level members have for organization repositories: + * \* `read` - can pull, but not push to or administer this repository. + * \* `write` - can pull and push, but not administer this repository. + * \* `admin` - can pull, push, and administer this repository. + * \* `none` - no permissions granted by default. + */ + default_repository_permission?: "read" | "write" | "admin" | "none"; + /** + * Toggles the ability of non-admin organization members to create repositories. Can be one of: + * \* `true` - all organization members can create repositories. + * \* `false` - only organization owners can create repositories. + * Default: `true` + * **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details. **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details. + */ + members_can_create_repositories?: boolean; + /** + * Toggles whether organization members can create internal repositories, which are visible to all enterprise members. You can only allow members to create internal repositories if your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. Can be one of: + * \* `true` - all organization members can create internal repositories. + * \* `false` - only organization owners can create internal repositories. + * Default: `true`. For more information, see "[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. + */ + members_can_create_internal_repositories?: boolean; + /** + * Toggles whether organization members can create private repositories, which are visible to organization members with permission. Can be one of: + * \* `true` - all organization members can create private repositories. + * \* `false` - only organization owners can create private repositories. + * Default: `true`. For more information, see "[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. + */ + members_can_create_private_repositories?: boolean; + /** + * Toggles whether organization members can create public repositories, which are visible to anyone. Can be one of: + * \* `true` - all organization members can create public repositories. + * \* `false` - only organization owners can create public repositories. + * Default: `true`. For more information, see "[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. + */ + members_can_create_public_repositories?: boolean; + /** + * Specifies which types of repositories non-admin organization members can create. Can be one of: + * \* `all` - all organization members can create public and private repositories. + * \* `private` - members can create private repositories. This option is only available to repositories that are part of an organization on GitHub Enterprise Cloud. + * \* `none` - only admin members can create repositories. + * **Note:** This parameter is deprecated and will be removed in the future. Its return value ignores internal repositories. Using this parameter overrides values set in `members_can_create_repositories`. See the parameter deprecation notice in the operation description for details. + */ + members_allowed_repository_creation_type?: "all" | "private" | "none"; + /** + * Toggles whether organization members can create GitHub Pages sites. Can be one of: + * \* `true` - all organization members can create GitHub Pages sites. + * \* `false` - no organization members can create GitHub Pages sites. Existing published sites will not be impacted. + * Default: `true`. + */ + members_can_create_pages?: boolean; + blog?: string; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["organization-full"]; + }; + "409": unknown; + "415": unknown; + /** + * Validation Failed + */ + "422": { + "application/json": + | components["schemas"]["validation-error"] + | components["schemas"]["validation-error-simple"]; + }; + }; + }; + /** + * Gets the GitHub Actions permissions policy for repositories and allowed actions in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + "actions/get-github-actions-permissions-organization": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["actions-organization-permissions"]; + }; + }; + }; + /** + * Sets the GitHub Actions permissions policy for repositories and allowed actions in an organization. + * + * If the organization belongs to an enterprise that has set restrictive permissions at the enterprise level, such as `allowed_actions` to `selected` actions, then you cannot override them for the organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + "actions/set-github-actions-permissions-organization": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + "application/json": { + enabled_repositories: components["schemas"]["enabled-repositories"]; + allowed_actions?: components["schemas"]["allowed-actions"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * Lists the selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + "actions/list-selected-repositories-enabled-github-actions-organization": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": { + total_count?: number; + repositories?: components["schemas"]["repository"][]; + }; + }; + }; + }; + /** + * Replaces the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + "actions/set-selected-repositories-enabled-github-actions-organization": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + "application/json": { + /** + * List of repository IDs to enable for GitHub Actions. + */ + selected_repository_ids: number[]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * Adds a repository to the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + "actions/enable-selected-repository-github-actions-organization": { + parameters: { + path: { + org: components["parameters"]["org"]; + repository_id: components["parameters"]["repository_id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * Removes a repository from the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + "actions/disable-selected-repository-github-actions-organization": { + parameters: { + path: { + org: components["parameters"]["org"]; + repository_id: components["parameters"]["repository_id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * Gets the selected actions that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)."" + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + "actions/get-allowed-actions-organization": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["selected-actions"]; + }; + }; + }; + /** + * Sets the actions that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * If the organization belongs to an enterprise that has `selected` actions set at the enterprise level, then you cannot override any of the enterprise's allowed actions settings. + * + * To use the `patterns_allowed` setting for private repositories, the organization must belong to an enterprise. If the organization does not belong to an enterprise, then the `patterns_allowed` setting only applies to public repositories in the organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + "actions/set-allowed-actions-organization": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + "application/json": components["schemas"]["selected-actions"]; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Lists all self-hosted runner groups configured in an organization and inherited from an enterprise. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/list-self-hosted-runner-groups-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": { + total_count?: number; + runner_groups?: components["schemas"]["runner-groups-org"][]; + }; + }; + }; + }; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud and GitHub Enterprise Server. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Creates a new self-hosted runner group for an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/create-self-hosted-runner-group-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + "application/json": { + /** + * Name of the runner group. + */ + name: string; + /** + * Visibility of a runner group. You can select all repositories, select individual repositories, or limit access to private repositories. Can be one of: `all`, `selected`, or `private`. + */ + visibility?: "selected" | "all" | "private"; + /** + * List of repository IDs that can access the runner group. + */ + selected_repository_ids?: number[]; + /** + * List of runner IDs to add to the runner group. + */ + runners?: number[]; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["runner-groups-org"]; + }; + }; + }; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Gets a specific self-hosted runner group for an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/get-self-hosted-runner-group-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + runner_group_id: components["parameters"]["runner_group_id"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["runner-groups-org"]; + }; + }; + }; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Updates the `name` and `visibility` of a self-hosted runner group in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/update-self-hosted-runner-group-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + runner_group_id: components["parameters"]["runner_group_id"]; + }; + }; + requestBody: { + "application/json": { + /** + * Name of the runner group. + */ + name?: string; + /** + * Visibility of a runner group. You can select all repositories, select individual repositories, or all private repositories. Can be one of: `all`, `selected`, or `private`. + */ + visibility?: "selected" | "all" | "private"; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["runner-groups-org"]; + }; + }; + }; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Deletes a self-hosted runner group for an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/delete-self-hosted-runner-group-from-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + runner_group_id: components["parameters"]["runner_group_id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud and GitHub Enterprise Server. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Lists the repositories with access to a self-hosted runner group configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/list-repo-access-to-self-hosted-runner-group-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + runner_group_id: components["parameters"]["runner_group_id"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": { + total_count?: number; + repositories?: components["schemas"]["repository"][]; + }; + }; + }; + }; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Replaces the list of repositories that have access to a self-hosted runner group configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/set-repo-access-to-self-hosted-runner-group-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + runner_group_id: components["parameters"]["runner_group_id"]; + }; + }; + requestBody: { + "application/json": { + /** + * List of repository IDs that can access the runner group. + */ + selected_repository_ids: number[]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * + * Adds a repository to the list of selected repositories that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an organization](#create-a-self-hosted-runner-group-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` + * scope to use this endpoint. + */ + "actions/add-repo-access-to-self-hosted-runner-group-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + runner_group_id: components["parameters"]["runner_group_id"]; + repository_id: components["parameters"]["repository_id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * + * Removes a repository from the list of selected repositories that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an organization](#create-a-self-hosted-runner-group-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/remove-repo-access-to-self-hosted-runner-group-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + runner_group_id: components["parameters"]["runner_group_id"]; + repository_id: components["parameters"]["repository_id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Lists self-hosted runners that are in a specific organization group. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/list-self-hosted-runners-in-group-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + runner_group_id: components["parameters"]["runner_group_id"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": { + total_count?: number; + runners?: components["schemas"]["runner"][]; + }; + }; + }; + }; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Replaces the list of self-hosted runners that are part of an organization runner group. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/set-self-hosted-runners-in-group-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + runner_group_id: components["parameters"]["runner_group_id"]; + }; + }; + requestBody: { + "application/json": { + /** + * List of runner IDs to add to the runner group. + */ + runners: number[]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * + * Adds a self-hosted runner to a runner group configured in an organization. + * + * You must authenticate using an access token with the `admin:org` + * scope to use this endpoint. + */ + "actions/add-self-hosted-runner-to-group-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + runner_group_id: components["parameters"]["runner_group_id"]; + runner_id: components["parameters"]["runner_id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * + * Removes a self-hosted runner from a group configured in an organization. The runner is then returned to the default group. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/remove-self-hosted-runner-from-group-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + runner_group_id: components["parameters"]["runner_group_id"]; + runner_id: components["parameters"]["runner_id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * Lists all self-hosted runners configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/list-self-hosted-runners-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": { + total_count?: number; + runners?: components["schemas"]["runner"][]; + }; + }; + }; + }; + /** + * Lists binaries for the runner application that you can download and run. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/list-runner-applications-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["runner-application"][]; + }; + }; + }; + /** + * Returns a token that you can pass to the `config` script. The token expires after one hour. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * + * #### Example using registration token + * + * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint. + * + * ``` + * ./config.sh --url https://github.com/octo-org --token TOKEN + * ``` + */ + "actions/create-registration-token-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["authentication-token"]; + }; + }; + }; + /** + * Returns a token that you can pass to the `config` script to remove a self-hosted runner from an organization. The token expires after one hour. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * + * #### Example using remove token + * + * To remove your self-hosted runner from an organization, replace `TOKEN` with the remove token provided by this + * endpoint. + * + * ``` + * ./config.sh remove --token TOKEN + * ``` + */ + "actions/create-remove-token-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["authentication-token"]; + }; + }; + }; + /** + * Gets a specific self-hosted runner configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/get-self-hosted-runner-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + runner_id: components["parameters"]["runner_id"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["runner"]; + }; + }; + }; + /** + * Forces the removal of a self-hosted runner from an organization. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/delete-self-hosted-runner-from-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + runner_id: components["parameters"]["runner_id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * Lists all secrets available in an organization without revealing their encrypted values. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. + */ + "actions/list-org-secrets": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": { + total_count?: number; + secrets?: components["schemas"]["organization-actions-secret"][]; + }; + }; + }; + }; + /** + * Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. + */ + "actions/get-org-public-key": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["actions-public-key"]; + }; + }; + }; + /** + * Gets a single organization secret without revealing its encrypted value. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. + */ + "actions/get-org-secret": { + parameters: { + path: { + org: components["parameters"]["org"]; + secret_name: components["parameters"]["secret_name"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["organization-actions-secret"]; + }; + }; + }; + /** + * Creates or updates an organization secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to + * use this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/stable/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + "actions/create-or-update-org-secret": { + parameters: { + path: { + org: components["parameters"]["org"]; + secret_name: components["parameters"]["secret_name"]; + }; + }; + requestBody: { + "application/json": { + /** + * Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an organization public key](https://docs.github.com/rest/reference/actions#get-an-organization-public-key) endpoint. + */ + encrypted_value?: string; + /** + * ID of the key you used to encrypt the secret. + */ + key_id?: string; + /** + * Configures the access that repositories have to the organization secret. Can be one of: + * \- `all` - All repositories in an organization can access the secret. + * \- `private` - Private repositories in an organization can access the secret. + * \- `selected` - Only specific repositories can access the secret. + */ + visibility?: "all" | "private" | "selected"; + /** + * An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can manage the list of selected repositories using the [List selected repositories for an organization secret](https://docs.github.com/rest/reference/actions#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/rest/reference/actions#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/rest/reference/actions#remove-selected-repository-from-an-organization-secret) endpoints. + */ + selected_repository_ids?: string[]; + }; + }; + responses: { + /** + * Response when creating a secret + */ + "201": unknown; + /** + * Response when updating a secret + */ + "204": never; + }; + }; + /** + * Deletes a secret in an organization using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. + */ + "actions/delete-org-secret": { + parameters: { + path: { + org: components["parameters"]["org"]; + secret_name: components["parameters"]["secret_name"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. + */ + "actions/list-selected-repos-for-org-secret": { + parameters: { + path: { + org: components["parameters"]["org"]; + secret_name: components["parameters"]["secret_name"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": { + total_count?: number; + repositories?: components["schemas"]["minimal-repository"][]; + }; + }; + }; + }; + /** + * Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. + */ + "actions/set-selected-repos-for-org-secret": { + parameters: { + path: { + org: components["parameters"]["org"]; + secret_name: components["parameters"]["secret_name"]; + }; + }; + requestBody: { + "application/json": { + /** + * An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can add and remove individual repositories using the [Set selected repositories for an organization secret](https://docs.github.com/rest/reference/actions#set-selected-repositories-for-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/rest/reference/actions#remove-selected-repository-from-an-organization-secret) endpoints. + */ + selected_repository_ids?: number[]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. + */ + "actions/add-selected-repo-to-org-secret": { + parameters: { + path: { + org: components["parameters"]["org"]; + secret_name: components["parameters"]["secret_name"]; + repository_id: number; + }; + }; + responses: { + /** + * Response when repository was added to the selected list + */ + "204": never; + /** + * Response when visibility type is not set to selected + */ + "409": unknown; + }; + }; + /** + * Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. + */ + "actions/remove-selected-repo-from-org-secret": { + parameters: { + path: { + org: components["parameters"]["org"]; + secret_name: components["parameters"]["secret_name"]; + repository_id: number; + }; + }; + responses: { + /** + * Response when repository was removed from the selected list + */ + "204": never; + /** + * Response when visibility type not set to selected + */ + "409": unknown; + }; + }; + /** + * List the users blocked by an organization. + */ + "orgs/list-blocked-users": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["simple-user"][]; + }; + "415": unknown; + }; + }; + "orgs/check-blocked-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** + * If the user is blocked: + */ + "204": never; + /** + * If the user is not blocked: + */ + "404": { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + "orgs/block-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "422": unknown; + }; + }; + "orgs/unblock-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * Listing and deleting credential authorizations is available to organizations with GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products). + * + * An authenticated organization owner with the `read:org` scope can list all credential authorizations for an organization that uses SAML single sign-on (SSO). The credentials are either personal access tokens or SSH keys that organization members have authorized for the organization. For more information, see [About authentication with SAML single sign-on](https://help.github.com/en/articles/about-authentication-with-saml-single-sign-on). + */ + "orgs/list-saml-sso-authorizations": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["credential-authorization"][]; + }; + }; + }; + /** + * Listing and deleting credential authorizations is available to organizations with GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products). + * + * An authenticated organization owner with the `admin:org` scope can remove a credential authorization for an organization that uses SAML SSO. Once you remove someone's credential authorization, they will need to create a new personal access token or SSH key and authorize it for the organization they want to access. + */ + "orgs/remove-saml-sso-authorization": { + parameters: { + path: { + org: components["parameters"]["org"]; + credential_id: number; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "404": unknown; + }; + }; + "activity/list-public-org-events": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["event"][]; + }; + }; + }; + "orgs/list-webhooks": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["org-hook"][]; + }; + "404": unknown; + }; + }; + /** + * Here's how you can create a hook that posts payloads in JSON format: + */ + "orgs/create-webhook": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + "application/json": { + /** + * Must be passed as "web". + */ + name: string; + /** + * Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/rest/reference/orgs#create-hook-config-params). + */ + config: { + url: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + username?: string; + password?: string; + }; + /** + * Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. + */ + events?: string[]; + /** + * Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + */ + active?: boolean; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["org-hook"]; + }; + "404": unknown; + "422": unknown; + }; + }; + /** + * Returns a webhook configured in an organization. To get only the webhook `config` properties, see "[Get a webhook configuration for an organization](/rest/reference/orgs#get-a-webhook-configuration-for-an-organization)." + */ + "orgs/get-webhook": { + parameters: { + path: { + org: components["parameters"]["org"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["org-hook"]; + }; + "404": unknown; + }; + }; + /** + * Updates a webhook configured in an organization. When you update a webhook, the `secret` will be overwritten. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for an organization](/rest/reference/orgs#update-a-webhook-configuration-for-an-organization)." + */ + "orgs/update-webhook": { + parameters: { + path: { + org: components["parameters"]["org"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + requestBody: { + "application/json": { + /** + * Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/rest/reference/orgs#update-hook-config-params). + */ + config?: { + url: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + }; + /** + * Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. + */ + events?: string[]; + /** + * Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + */ + active?: boolean; + name?: string; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["org-hook"]; + }; + "404": unknown; + "422": unknown; + }; + }; + "orgs/delete-webhook": { + parameters: { + path: { + org: components["parameters"]["org"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "404": unknown; + }; + }; + /** + * Returns the webhook configuration for an organization. To get more information about the webhook, including the `active` state and `events`, use "[Get an organization webhook ](/rest/reference/orgs#get-an-organization-webhook)." + * + * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:read` permission. + */ + "orgs/get-webhook-config-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** + * Default response + */ + "200": { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; + /** + * Updates the webhook configuration for an organization. To update more information about the webhook, including the `active` state and `events`, use "[Update an organization webhook ](/rest/reference/orgs#update-an-organization-webhook)." + * + * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:write` permission. + */ + "orgs/update-webhook-config-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + requestBody: { + "application/json": { + url?: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + }; + }; + responses: { + /** + * Default response + */ + "200": { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; + /** + * This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. + */ + "orgs/ping-webhook": { + parameters: { + path: { + org: components["parameters"]["org"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "404": unknown; + }; + }; + /** + * Enables an authenticated GitHub App to find the organization's installation information. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/get-org-installation": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["installation"]; + }; + }; + }; + /** + * Lists all GitHub Apps in an organization. The installation count includes all GitHub Apps installed on repositories in the organization. You must be an organization owner with `admin:read` scope to use this endpoint. + */ + "orgs/list-app-installations": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": { + total_count?: number; + installations?: components["schemas"]["installation"][]; + }; + }; + }; + }; + /** + * Shows which type of GitHub user can interact with this organization and when the restriction expires. If there is no restrictions, you will see an empty response. + */ + "interactions/get-restrictions-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["interaction-limit-response"]; + }; + }; + }; + /** + * Temporarily restricts interactions to a certain type of GitHub user in any public repository in the given organization. You must be an organization owner to set these restrictions. Setting the interaction limit at the organization level will overwrite any interaction limits that are set for individual repositories owned by the organization. + */ + "interactions/set-restrictions-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + "application/json": components["schemas"]["interaction-limit"]; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["interaction-limit-response"]; + }; + "422": unknown; + }; + }; + /** + * Removes all interaction restrictions from public repositories in the given organization. You must be an organization owner to remove restrictions. + */ + "interactions/remove-restrictions-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. + */ + "orgs/list-pending-invitations": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["organization-invitation"][]; + }; + "404": unknown; + }; + }; + /** + * Invite people to an organization by using their GitHub user ID or their email address. In order to create invitations in an organization, the authenticated user must be an organization owner. + * + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. + */ + "orgs/create-invitation": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + "application/json": { + /** + * **Required unless you provide `email`**. GitHub user ID for the person you are inviting. + */ + invitee_id?: number; + /** + * **Required unless you provide `invitee_id`**. Email address of the person you are inviting, which can be an existing GitHub user. + */ + email?: string; + /** + * Specify role for new member. Can be one of: + * \* `admin` - Organization owners with full administrative rights to the organization and complete access to all repositories and teams. + * \* `direct_member` - Non-owner organization members with ability to see other members and join teams by invitation. + * \* `billing_manager` - Non-owner organization members with ability to manage the billing settings of your organization. + */ + role?: "admin" | "direct_member" | "billing_manager"; + /** + * Specify IDs for the teams you want to invite new members to. + */ + team_ids?: number[]; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["organization-invitation"]; + }; + "404": unknown; + "422": unknown; + }; + }; + /** + * List all teams associated with an invitation. In order to see invitations in an organization, the authenticated user must be an organization owner. + */ + "orgs/list-invitation-teams": { + parameters: { + path: { + org: components["parameters"]["org"]; + invitation_id: components["parameters"]["invitation_id"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["team"][]; + }; + "404": unknown; + }; + }; + /** + * List issues in an organization assigned to the authenticated user. + * + * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + */ + "issues/list-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + query: { + /** + * Indicates which sorts of issues to return. Can be one of: + * \* `assigned`: Issues assigned to you + * \* `created`: Issues created by you + * \* `mentioned`: Issues mentioning you + * \* `subscribed`: Issues you're subscribed to updates for + * \* `all`: All issues the authenticated user can see, regardless of participation or creation + */ + filter?: "assigned" | "created" | "mentioned" | "subscribed" | "all"; + /** + * Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + labels?: components["parameters"]["labels"]; + /** + * What to sort results by. Can be either `created`, `updated`, `comments`. + */ + sort?: "created" | "updated" | "comments"; + direction?: components["parameters"]["direction"]; + since?: components["parameters"]["since"]; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["issue"][]; + }; + "404": unknown; + }; + }; + /** + * List all users who are members of an organization. If the authenticated user is also a member of this organization then both concealed and public members will be returned. + */ + "orgs/list-members": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + query: { + /** + * Filter members returned in the list. Can be one of: + * \* `2fa_disabled` - Members without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled. Available for organization owners. + * \* `all` - All members the authenticated user can see. + */ + filter?: "2fa_disabled" | "all"; + /** + * Filter members returned by their role. Can be one of: + * \* `all` - All members of the organization, regardless of role. + * \* `admin` - Organization owners. + * \* `member` - Non-owner organization members. + */ + role?: "all" | "admin" | "member"; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["simple-user"][]; + }; + /** + * Response if requester is not an organization member + */ + "302": never; + "422": unknown; + }; + }; + /** + * Check if a user is, publicly or privately, a member of the organization. + */ + "orgs/check-membership-for-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** + * Response if requester is an organization member and user is a member + */ + "204": never; + /** + * Response if requester is not an organization member + */ + "302": never; + /** + * Response if requester is an organization member and user is not a member + */ + "404": unknown; + }; + }; + /** + * Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories. + */ + "orgs/remove-member": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "403": unknown; + }; + }; + /** + * In order to get a user's membership with an organization, the authenticated user must be an organization member. + */ + "orgs/get-membership-for-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["org-membership"]; + }; + "403": unknown; + "404": unknown; + }; + }; + /** + * Only authenticated organization owners can add a member to the organization or update the member's role. + * + * * If the authenticated user is _adding_ a member to the organization, the invited user will receive an email inviting them to the organization. The user's [membership status](https://docs.github.com/rest/reference/orgs#get-organization-membership-for-a-user) will be `pending` until they accept the invitation. + * + * * Authenticated users can _update_ a user's membership by passing the `role` parameter. If the authenticated user changes a member's role to `admin`, the affected user will receive an email notifying them that they've been made an organization owner. If the authenticated user changes an owner's role to `member`, no email will be sent. + * + * **Rate limits** + * + * To prevent abuse, the authenticated user is limited to 50 organization invitations per 24 hour period. If the organization is more than one month old or on a paid plan, the limit is 500 invitations per 24 hour period. + */ + "orgs/set-membership-for-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + requestBody: { + "application/json": { + /** + * The role to give the user in the organization. Can be one of: + * \* `admin` - The user will become an owner of the organization. + * \* `member` - The user will become a non-owner member of the organization. + */ + role?: "admin" | "member"; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["org-membership"]; + }; + "403": unknown; + "422": unknown; + }; + }; + /** + * In order to remove a user's membership with an organization, the authenticated user must be an organization owner. + * + * If the specified user is an active member of the organization, this will remove them from the organization. If the specified user has been invited to the organization, this will cancel their invitation. The specified user will receive an email notification in both cases. + */ + "orgs/remove-membership-for-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "403": unknown; + "404": unknown; + }; + }; + /** + * Lists the most recent migrations. + */ + "migrations/list-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["migration"][]; + }; + }; + }; + /** + * Initiates the generation of a migration archive. + */ + "migrations/start-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + "application/json": { + /** + * A list of arrays indicating which repositories should be migrated. + */ + repositories: string[]; + /** + * Indicates whether repositories should be locked (to prevent manipulation) while migrating data. + */ + lock_repositories?: boolean; + /** + * Indicates whether attachments should be excluded from the migration (to reduce migration archive file size). + */ + exclude_attachments?: boolean; + exclude?: string[]; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["migration"]; + }; + "404": unknown; + "422": unknown; + }; + }; + /** + * Fetches the status of a migration. + * + * The `state` of a migration can be one of the following values: + * + * * `pending`, which means the migration hasn't started yet. + * * `exporting`, which means the migration is in progress. + * * `exported`, which means the migration finished successfully. + * * `failed`, which means the migration failed. + */ + "migrations/get-status-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + migration_id: components["parameters"]["migration_id"]; + }; + }; + responses: { + /** + * * `pending`, which means the migration hasn't started yet. + * * `exporting`, which means the migration is in progress. + * * `exported`, which means the migration finished successfully. + * * `failed`, which means the migration failed. + */ + "200": { + "application/json": components["schemas"]["migration"]; + }; + "404": unknown; + }; + }; + /** + * Fetches the URL to a migration archive. + */ + "migrations/download-archive-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + migration_id: components["parameters"]["migration_id"]; + }; + }; + responses: { + /** + * response + */ + "302": never; + "404": unknown; + }; + }; + /** + * Deletes a previous migration archive. Migration archives are automatically deleted after seven days. + */ + "migrations/delete-archive-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + migration_id: components["parameters"]["migration_id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "404": unknown; + }; + }; + /** + * Unlocks a repository that was locked for migration. You should unlock each migrated repository and [delete them](https://docs.github.com/rest/reference/repos#delete-a-repository) when the migration is complete and you no longer need the source data. + */ + "migrations/unlock-repo-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + migration_id: components["parameters"]["migration_id"]; + repo_name: components["parameters"]["repo_name"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "404": unknown; + }; + }; + /** + * List all the repositories for this organization migration. + */ + "migrations/list-repos-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + migration_id: components["parameters"]["migration_id"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["minimal-repository"][]; + }; + "404": unknown; + }; + }; + /** + * List all users who are outside collaborators of an organization. + */ + "orgs/list-outside-collaborators": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + query: { + /** + * Filter the list of outside collaborators. Can be one of: + * \* `2fa_disabled`: Outside collaborators without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled. + * \* `all`: All outside collaborators. + */ + filter?: "2fa_disabled" | "all"; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + /** + * When an organization member is converted to an outside collaborator, they'll only have access to the repositories that their current team membership allows. The user will no longer be a member of the organization. For more information, see "[Converting an organization member to an outside collaborator](https://help.github.com/articles/converting-an-organization-member-to-an-outside-collaborator/)". + */ + "orgs/convert-member-to-outside-collaborator": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** + * User is getting converted asynchronously + */ + "202": unknown; + /** + * User was converted + */ + "204": never; + /** + * response + */ + "403": { + "application/json": { message?: string; documentation_url?: string }; + }; + "404": unknown; + }; + }; + /** + * Removing a user from this list will remove them from all the organization's repositories. + */ + "orgs/remove-outside-collaborator": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + /** + * Response if user is a member of the organization + */ + "422": { + "application/json": { message?: string; documentation_url?: string }; + }; + }; + }; + /** + * Lists the projects in an organization. Returns a `404 Not Found` status if projects are disabled in the organization. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + "projects/list-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + query: { + /** + * Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["project"][]; + }; + "422": unknown; + }; + }; + /** + * Creates an organization project board. Returns a `404 Not Found` status if projects are disabled in the organization. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + "projects/create-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + "application/json": { + /** + * The name of the project. + */ + name: string; + /** + * The description of the project. + */ + body?: string; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["project"]; + }; + "401": unknown; + "403": unknown; + "404": unknown; + "410": unknown; + "422": unknown; + }; + }; + /** + * Members of an organization can choose to have their membership publicized or not. + */ + "orgs/list-public-members": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + "orgs/check-public-membership-for-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** + * Response if user is a public member + */ + "204": never; + /** + * Response if user is not a public member + */ + "404": unknown; + }; + }; + /** + * The user can publicize their own membership. (A user cannot publicize the membership for another user.) + * + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + "orgs/set-public-membership-for-authenticated-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "403": unknown; + }; + }; + "orgs/remove-public-membership-for-authenticated-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * Lists repositories for the specified organization. + */ + "repos/list-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + query: { + /** + * Specifies the types of repositories you want returned. Can be one of `all`, `public`, `private`, `forks`, `sources`, `member`, `internal`. Default: `all`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `type` can also be `internal`. + */ + type?: + | "all" + | "public" + | "private" + | "forks" + | "sources" + | "member" + | "internal"; + /** + * Can be one of `created`, `updated`, `pushed`, `full_name`. + */ + sort?: "created" | "updated" | "pushed" | "full_name"; + /** + * Can be one of `asc` or `desc`. Default: when using `full_name`: `asc`, otherwise `desc` + */ + direction?: "asc" | "desc"; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + }; + /** + * Creates a new repository in the specified organization. The authenticated user must be a member of the organization. + * + * **OAuth scope requirements** + * + * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: + * + * * `public_repo` scope or `repo` scope to create a public repository + * * `repo` scope to create a private repository + */ + "repos/create-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + "application/json": { + /** + * The name of the repository. + */ + name: string; + /** + * A short description of the repository. + */ + description?: string; + /** + * A URL with more information about the repository. + */ + homepage?: string; + /** + * Either `true` to create a private repository or `false` to create a public one. + */ + private?: boolean; + /** + * Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `visibility` can also be `internal`. For more information, see "[Creating an internal repository](https://help.github.com/en/github/creating-cloning-and-archiving-repositories/about-repository-visibility#about-internal-repositories)" in the GitHub Help documentation. + * The `visibility` parameter overrides the `private` parameter when you use both parameters with the `nebula-preview` preview header. + */ + visibility?: "public" | "private" | "visibility" | "internal"; + /** + * Either `true` to enable issues for this repository or `false` to disable them. + */ + has_issues?: boolean; + /** + * Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error. + */ + has_projects?: boolean; + /** + * Either `true` to enable the wiki for this repository or `false` to disable it. + */ + has_wiki?: boolean; + /** + * Either `true` to make this repo available as a template repository or `false` to prevent it. + */ + is_template?: boolean; + /** + * The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization. + */ + team_id?: number; + /** + * Pass `true` to create an initial commit with empty README. + */ + auto_init?: boolean; + /** + * Desired language or platform [.gitignore template](https://github.com/github/gitignore) to apply. Use the name of the template without the extension. For example, "Haskell". + */ + gitignore_template?: string; + /** + * Choose an [open source license template](https://choosealicense.com/) that best suits your needs, and then use the [license keyword](https://help.github.com/articles/licensing-a-repository/#searching-github-by-license-type) as the `license_template` string. For example, "mit" or "mpl-2.0". + */ + license_template?: string; + /** + * Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. + */ + allow_squash_merge?: boolean; + /** + * Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. + */ + allow_merge_commit?: boolean; + /** + * Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. + */ + allow_rebase_merge?: boolean; + /** + * Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. + */ + delete_branch_on_merge?: boolean; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["repository"]; + }; + "403": unknown; + "422": unknown; + }; + }; + /** + * Gets the summary of the free and paid GitHub Actions minutes used. + * + * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * Access tokens must have the `read:org` scope. + */ + "billing/get-github-actions-billing-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["actions-billing-usage"]; + }; + }; + }; + /** + * Gets the free and paid storage usued for GitHub Packages in gigabytes. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * Access tokens must have the `read:org` scope. + */ + "billing/get-github-packages-billing-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["packages-billing-usage"]; + }; + }; + }; + /** + * Gets the estimated paid and estimated total storage used for GitHub Actions and Github Packages. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * Access tokens must have the `read:org` scope. + */ + "billing/get-shared-storage-billing-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["combined-billing-usage"]; + }; + }; + }; + /** + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * List IdP groups available in an organization. You can limit your page results using the `per_page` parameter. GitHub generates a url-encoded `page` token using a cursor value for where the next page begins. For more information on cursor pagination, see "[Offset and Cursor Pagination explained](https://dev.to/jackmarchant/offset-and-cursor-pagination-explained-b89)." + * + * The `per_page` parameter provides pagination for a list of IdP groups the authenticated user can access in an organization. For example, if the user `octocat` wants to see two groups per page in `octo-org` via cURL, it would look like this: + */ + "teams/list-idp-groups-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["group-mapping"]; + }; + }; + }; + /** + * Lists all teams in an organization that are visible to the authenticated user. + */ + "teams/list": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["team"][]; + }; + "403": unknown; + }; + }; + /** + * To create a team, the authenticated user must be a member or owner of `{org}`. By default, organization members can create teams. Organization owners can limit team creation to organization owners. For more information, see "[Setting team creation permissions](https://help.github.com/en/articles/setting-team-creation-permissions-in-your-organization)." + * + * When you create a new team, you automatically become a team maintainer without explicitly adding yourself to the optional array of `maintainers`. For more information, see "[About teams](https://help.github.com/en/github/setting-up-and-managing-organizations-and-teams/about-teams)". + */ + "teams/create": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + "application/json": { + /** + * The name of the team. + */ + name: string; + /** + * The description of the team. + */ + description?: string; + /** + * List GitHub IDs for organization members who will become team maintainers. + */ + maintainers?: string[]; + /** + * The full name (e.g., "organization-name/repository-name") of repositories to add the team to. + */ + repo_names?: string[]; + /** + * The level of privacy this team should have. The options are: + * **For a non-nested team:** + * \* `secret` - only visible to organization owners and members of this team. + * \* `closed` - visible to all members of this organization. + * Default: `secret` + * **For a parent or child team:** + * \* `closed` - visible to all members of this organization. + * Default for child team: `closed` + */ + privacy?: "secret" | "closed"; + /** + * **Deprecated**. The permission that new repositories will be added to the team with when none is specified. Can be one of: + * \* `pull` - team members can pull, but not push to or administer newly-added repositories. + * \* `push` - team members can pull and push, but not administer newly-added repositories. + * \* `admin` - team members can pull, push and administer newly-added repositories. + */ + permission?: "pull" | "push" | "admin"; + /** + * The ID of a team to set as the parent team. + */ + parent_team_id?: number; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["team-full"]; + }; + "403": unknown; + "422": unknown; + }; + }; + /** + * Gets a team using the team's `slug`. GitHub generates the `slug` from the team `name`. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}`. + */ + "teams/get-by-name": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team_slug"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["team-full"]; + }; + "404": unknown; + }; + }; + /** + * To edit a team, the authenticated user must either be an organization owner or a team maintainer. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}`. + */ + "teams/update-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team_slug"]; + }; + }; + requestBody: { + "application/json": { + /** + * The name of the team. + */ + name: string; + /** + * The description of the team. + */ + description?: string; + /** + * The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. When a team is nested, the `privacy` for parent teams cannot be `secret`. The options are: + * **For a non-nested team:** + * \* `secret` - only visible to organization owners and members of this team. + * \* `closed` - visible to all members of this organization. + * **For a parent or child team:** + * \* `closed` - visible to all members of this organization. + */ + privacy?: "secret" | "closed"; + /** + * **Deprecated**. The permission that new repositories will be added to the team with when none is specified. Can be one of: + * \* `pull` - team members can pull, but not push to or administer newly-added repositories. + * \* `push` - team members can pull and push, but not administer newly-added repositories. + * \* `admin` - team members can pull, push and administer newly-added repositories. + */ + permission?: "pull" | "push" | "admin"; + /** + * The ID of a team to set as the parent team. + */ + parent_team_id?: number; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["team-full"]; + }; + }; + }; + /** + * To delete a team, the authenticated user must be an organization owner or team maintainer. + * + * If you are an organization owner, deleting a parent team will delete all of its child teams as well. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}`. + */ + "teams/delete-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team_slug"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions`. + */ + "teams/list-discussions-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team_slug"]; + }; + query: { + direction?: components["parameters"]["direction"]; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["team-discussion"][]; + }; + }; + }; + /** + * Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions`. + */ + "teams/create-discussion-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team_slug"]; + }; + }; + requestBody: { + "application/json": { + /** + * The discussion post's title. + */ + title: string; + /** + * The discussion post's body text. + */ + body: string; + /** + * Private posts are only visible to team members, organization owners, and team maintainers. Public posts are visible to all members of the organization. Set to `true` to create a private post. + */ + private?: boolean; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; + /** + * Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + */ + "teams/get-discussion-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team_slug"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; + /** + * Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + */ + "teams/update-discussion-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team_slug"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + requestBody: { + "application/json": { + /** + * The discussion post's title. + */ + title?: string; + /** + * The discussion post's body text. + */ + body?: string; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; + /** + * Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + */ + "teams/delete-discussion-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team_slug"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. + */ + "teams/list-discussion-comments-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team_slug"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + query: { + direction?: components["parameters"]["direction"]; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["team-discussion-comment"][]; + }; + }; + }; + /** + * Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. + */ + "teams/create-discussion-comment-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team_slug"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + requestBody: { + "application/json": { + /** + * The discussion comment's body text. + */ + body: string; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; + /** + * Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. + */ + "teams/get-discussion-comment-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team_slug"]; + discussion_number: components["parameters"]["discussion-number"]; + comment_number: components["parameters"]["comment-number"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; + /** + * Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. + */ + "teams/update-discussion-comment-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team_slug"]; + discussion_number: components["parameters"]["discussion-number"]; + comment_number: components["parameters"]["comment-number"]; + }; + }; + requestBody: { + "application/json": { + /** + * The discussion comment's body text. + */ + body: string; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; + /** + * Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. + */ + "teams/delete-discussion-comment-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team_slug"]; + discussion_number: components["parameters"]["discussion-number"]; + comment_number: components["parameters"]["comment-number"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * List the reactions to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments/). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. + */ + "reactions/list-for-team-discussion-comment-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team_slug"]; + discussion_number: components["parameters"]["discussion-number"]; + comment_number: components["parameters"]["comment-number"]; + }; + query: { + /** + * Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion comment. + */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["reaction"][]; + }; + }; + }; + /** + * Create a reaction to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with a `Status: 200 OK` means that you already added the reaction type to this team discussion comment. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. + */ + "reactions/create-for-team-discussion-comment-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team_slug"]; + discussion_number: components["parameters"]["discussion-number"]; + comment_number: components["parameters"]["comment-number"]; + }; + }; + requestBody: { + "application/json": { + /** + * The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the team discussion comment. + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["reaction"]; + }; + }; + }; + /** + * **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id`. + * + * Delete a reaction to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "reactions/delete-for-team-discussion-comment": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team_slug"]; + discussion_number: components["parameters"]["discussion-number"]; + comment_number: components["parameters"]["comment-number"]; + reaction_id: components["parameters"]["reaction-id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * List the reactions to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. + */ + "reactions/list-for-team-discussion-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team_slug"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + query: { + /** + * Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion. + */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["reaction"][]; + }; + }; + }; + /** + * Create a reaction to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with a `Status: 200 OK` means that you already added the reaction type to this team discussion. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. + */ + "reactions/create-for-team-discussion-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team_slug"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + requestBody: { + "application/json": { + /** + * The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the team discussion. + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["reaction"]; + }; + }; + }; + /** + * **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions/:reaction_id`. + * + * Delete a reaction to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "reactions/delete-for-team-discussion": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team_slug"]; + discussion_number: components["parameters"]["discussion-number"]; + reaction_id: components["parameters"]["reaction-id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/invitations`. + */ + "teams/list-pending-invitations-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team_slug"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["organization-invitation"][]; + }; + }; + }; + /** + * Team members will include the members of child teams. + * + * To list members in a team, the team must be visible to the authenticated user. + */ + "teams/list-members-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team_slug"]; + }; + query: { + /** + * Filters members returned by their role in the team. Can be one of: + * \* `member` - normal members of the team. + * \* `maintainer` - team maintainers. + * \* `all` - all members of the team. + */ + role?: "member" | "maintainer" | "all"; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + /** + * Team members will include the members of child teams. + * + * To get a user's membership with a team, the team must be visible to the authenticated user. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/memberships/{username}`. + * + * **Note:** The `role` for organization owners returns as `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/rest/reference/teams#create-a-team). + */ + "teams/get-membership-for-user-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team_slug"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["team-membership"]; + }; + /** + * Response if user has no team membership + */ + "404": unknown; + }; + }; + /** + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Adds an organization member to a team. An authenticated organization owner or team maintainer can add organization members to a team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * An organization owner can add someone who is not part of the team's organization to a team. When an organization owner adds someone to a team who is not an organization member, this endpoint will send an invitation to the person via email. This newly-created membership will be in the "pending" state until the person accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. + * + * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/memberships/{username}`. + */ + "teams/add-or-update-membership-for-user-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team_slug"]; + username: components["parameters"]["username"]; + }; + }; + requestBody: { + "application/json": { + /** + * The role that this user should have in the team. Can be one of: + * \* `member` - a normal member of the team. + * \* `maintainer` - a team maintainer. Able to add/remove other team members, promote other team members to team maintainer, and edit the team's name and description. + */ + role?: "member" | "maintainer"; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["team-membership"]; + }; + /** + * Response if team synchronization is set up + */ + "403": unknown; + /** + * Response if you attempt to add an organization to a team + */ + "422": { + "application/json": { + message?: string; + errors?: { code?: string; field?: string; resource?: string }[]; + }; + }; + }; + }; + /** + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/memberships/{username}`. + */ + "teams/remove-membership-for-user-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team_slug"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + /** + * Response if team synchronization is set up + */ + "403": unknown; + }; + }; + /** + * Lists the organization projects for a team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects`. + */ + "teams/list-projects-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team_slug"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["team-project"][]; + }; + }; + }; + /** + * Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects/{project_id}`. + */ + "teams/check-permissions-for-project-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team_slug"]; + project_id: components["parameters"]["project-id"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["team-project"]; + }; + /** + * Response if project is not managed by this team + */ + "404": unknown; + }; + }; + /** + * Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/projects/{project_id}`. + */ + "teams/add-or-update-project-permissions-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team_slug"]; + project_id: components["parameters"]["project-id"]; + }; + }; + requestBody: { + "application/json": { + /** + * The permission to grant to the team for this project. Can be one of: + * \* `read` - team members can read, but not write to or administer this project. + * \* `write` - team members can read and write, but not administer this project. + * \* `admin` - team members can read, write and administer this project. + * Default: the team's `permission` attribute will be used to determine what permission to grant the team on this project. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + permission?: "read" | "write" | "admin"; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + /** + * Response if the project is not owned by the organization + */ + "403": { + "application/json": { message?: string; documentation_url?: string }; + }; + }; + }; + /** + * Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. This endpoint removes the project from the team, but does not delete the project. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/projects/{project_id}`. + */ + "teams/remove-project-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team_slug"]; + project_id: components["parameters"]["project-id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * Lists a team's repositories visible to the authenticated user. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos`. + */ + "teams/list-repos-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team_slug"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + }; + /** + * Checks whether a team has `admin`, `push`, `maintain`, `triage`, or `pull` permission for a repository. Repositories inherited through a parent team will also be checked. + * + * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `application/vnd.github.v3.repository+json` accept header. + * + * If a team doesn't have permission for the repository, you will receive a `404 Not Found` response status. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + */ + "teams/check-permissions-for-repo-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team_slug"]; + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** + * Alternative response with repository permissions + */ + "200": { + "application/vnd.github.v3.repository+json": components["schemas"]["team-repository"]; + }; + /** + * Response if team has permission for the repository + */ + "204": never; + /** + * Response if team does not have permission for the repository + */ + "404": unknown; + }; + }; + /** + * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + * + * For more information about the permission levels, see "[Repository permission levels for an organization](https://help.github.com/en/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". + */ + "teams/add-or-update-repo-permissions-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team_slug"]; + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + "application/json": { + /** + * The permission to grant the team on this repository. Can be one of: + * \* `pull` - team members can pull, but not push to or administer this repository. + * \* `push` - team members can pull and push, but not administer this repository. + * \* `admin` - team members can pull, push and administer this repository. + * \* `maintain` - team members can manage the repository without access to sensitive or destructive actions. Recommended for project managers. Only applies to repositories owned by organizations. + * \* `triage` - team members can proactively manage issues and pull requests without write access. Recommended for contributors who triage a repository. Only applies to repositories owned by organizations. + * + * If no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository. + */ + permission?: "pull" | "push" | "admin" | "maintain" | "triage"; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. This does not delete the repository, it just removes it from the team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + */ + "teams/remove-repo-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team_slug"]; + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * List IdP groups connected to a team on GitHub. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/team-sync/group-mappings`. + */ + "teams/list-idp-groups-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team_slug"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["group-mapping"]; + }; + }; + }; + /** + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Creates, updates, or removes a connection between a team and an IdP group. When adding groups to a team, you must include all new and existing groups to avoid replacing existing groups with the new ones. Specifying an empty `groups` array will remove all connections for a team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/team-sync/group-mappings`. + */ + "teams/create-or-update-idp-group-connections-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team_slug"]; + }; + }; + requestBody: { + "application/json": { + /** + * The IdP groups you want to connect to a GitHub team. When updating, the new `groups` object will replace the original one. You must include any existing groups that you don't want to remove. + */ + groups: { + /** + * ID of the IdP group. + */ + group_id: string; + /** + * Name of the IdP group. + */ + group_name: string; + /** + * Description of the IdP group. + */ + group_description: string; + }[]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["group-mapping"]; + }; + }; + }; + /** + * Lists the child teams of the team specified by `{team_slug}`. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/teams`. + */ + "teams/list-child-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team_slug"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * Response if child teams exist + */ + "200": { + "application/json": components["schemas"]["team"][]; + }; + }; + }; + "projects/get-card": { + parameters: { + path: { + card_id: components["parameters"]["card_id"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["project-card"]; + }; + "304": never; + "401": unknown; + "403": unknown; + "404": unknown; + }; + }; + "projects/update-card": { + parameters: { + path: { + card_id: components["parameters"]["card_id"]; + }; + }; + requestBody: { + "application/json": { + /** + * The project card's note + */ + note?: string | null; + /** + * Whether or not the card is archived + */ + archived?: boolean; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["project-card"]; + }; + "304": never; + "401": unknown; + "403": unknown; + "404": unknown; + "422": unknown; + }; + }; + "projects/delete-card": { + parameters: { + path: { + card_id: components["parameters"]["card_id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "304": never; + "401": unknown; + /** + * Forbidden + */ + "403": { + "application/json": { + message?: string; + documentation_url?: string; + errors?: string[]; + }; + }; + "404": unknown; + }; + }; + "projects/move-card": { + parameters: { + path: { + card_id: components["parameters"]["card_id"]; + }; + }; + requestBody: { + "application/json": { + /** + * The position of the card in a column + */ + position: string; + /** + * The unique identifier of the column the card should be moved to + */ + column_id?: number; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": { [key: string]: any }; + }; + "304": never; + "401": unknown; + /** + * Forbidden + */ + "403": { + "application/json": { + message?: string; + documentation_url?: string; + errors?: { + code?: string; + message?: string; + resource?: string; + field?: string; + }[]; + }; + }; + "422": unknown; + /** + * Service Unavailable + */ + "503": { + "application/json": { + code?: string; + message?: string; + documentation_url?: string; + errors?: { code?: string; message?: string }[]; + }; + }; + }; + }; + "projects/get-column": { + parameters: { + path: { + column_id: components["parameters"]["column_id"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["project-column"]; + }; + "304": never; + "401": unknown; + "403": unknown; + "404": unknown; + }; + }; + "projects/update-column": { + parameters: { + path: { + column_id: components["parameters"]["column_id"]; + }; + }; + requestBody: { + "application/json": { + /** + * Name of the project column + */ + name: string; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["project-column"]; + }; + "304": never; + "401": unknown; + "403": unknown; + }; + }; + "projects/delete-column": { + parameters: { + path: { + column_id: components["parameters"]["column_id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "304": never; + "401": unknown; + "403": unknown; + }; + }; + "projects/list-cards": { + parameters: { + path: { + column_id: components["parameters"]["column_id"]; + }; + query: { + /** + * Filters the project cards that are returned by the card's state. Can be one of `all`,`archived`, or `not_archived`. + */ + archived_state?: "all" | "archived" | "not_archived"; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["project-card"][]; + }; + "304": never; + "401": unknown; + "403": unknown; + }; + }; + /** + * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by the `pull_request` key. + * + * Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + */ + "projects/create-card": { + parameters: { + path: { + column_id: components["parameters"]["column_id"]; + }; + }; + requestBody: { + "application/json": + | { + /** + * The project card's note + */ + note: string | null; + } + | { + /** + * The unique identifier of the content associated with the card + */ + content_id: number; + /** + * The piece of content associated with the card + */ + content_type: string; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["project-card"]; + }; + "304": never; + "401": unknown; + "403": unknown; + /** + * Validation Failed + */ + "422": { + "application/json": + | components["schemas"]["validation-error"] + | components["schemas"]["validation-error-simple"]; + }; + /** + * Service Unavailable + */ + "503": { + "application/json": { + code?: string; + message?: string; + documentation_url?: string; + errors?: { code?: string; message?: string }[]; + }; + }; + }; + }; + "projects/move-column": { + parameters: { + path: { + column_id: components["parameters"]["column_id"]; + }; + }; + requestBody: { + "application/json": { + /** + * The position of the column in a project + */ + position: string; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": { [key: string]: any }; + }; + "304": never; + "401": unknown; + "403": unknown; + "422": unknown; + }; + }; + /** + * Gets a project by its `id`. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + "projects/get": { + parameters: { + path: { + project_id: components["parameters"]["project-id"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["project"]; + }; + "304": never; + "401": unknown; + "403": unknown; + }; + }; + /** + * Updates a project board's information. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + "projects/update": { + parameters: { + path: { + project_id: components["parameters"]["project-id"]; + }; + }; + requestBody: { + "application/json": { + /** + * Name of the project + */ + name?: string; + /** + * Body of the project + */ + body?: string | null; + /** + * State of the project; either 'open' or 'closed' + */ + state?: string; + /** + * The baseline permission that all organization members have on this project + */ + organization_permission?: "read" | "write" | "admin" | "none"; + /** + * Whether or not this project can be seen by everyone. + */ + private?: boolean; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["project"]; + }; + "304": never; + "401": unknown; + /** + * Forbidden + */ + "403": { + "application/json": { + message?: string; + documentation_url?: string; + errors?: string[]; + }; + }; + /** + * Response if the authenticated user does not have access to the project + */ + "404": unknown; + "410": unknown; + "422": unknown; + }; + }; + /** + * Deletes a project board. Returns a `404 Not Found` status if projects are disabled. + */ + "projects/delete": { + parameters: { + path: { + project_id: components["parameters"]["project-id"]; + }; + }; + responses: { + /** + * Delete Success + */ + "204": never; + "304": never; + "401": unknown; + /** + * Forbidden + */ + "403": { + "application/json": { + message?: string; + documentation_url?: string; + errors?: string[]; + }; + }; + "404": unknown; + "410": unknown; + }; + }; + /** + * Lists the collaborators for an organization project. For a project, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. You must be an organization owner or a project `admin` to list collaborators. + */ + "projects/list-collaborators": { + parameters: { + path: { + project_id: components["parameters"]["project-id"]; + }; + query: { + /** + * Filters the collaborators by their affiliation. Can be one of: + * \* `outside`: Outside collaborators of a project that are not a member of the project's organization. + * \* `direct`: Collaborators with permissions to a project, regardless of organization membership status. + * \* `all`: All collaborators the authenticated user can see. + */ + affiliation?: "outside" | "direct" | "all"; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["simple-user"][]; + }; + "304": never; + "401": unknown; + "403": unknown; + "404": unknown; + "415": unknown; + "422": unknown; + }; + }; + /** + * Adds a collaborator to an organization project and sets their permission level. You must be an organization owner or a project `admin` to add a collaborator. + */ + "projects/add-collaborator": { + parameters: { + path: { + project_id: components["parameters"]["project-id"]; + username: components["parameters"]["username"]; + }; + }; + requestBody: { + "application/json": { + /** + * The permission to grant the collaborator. + */ + permission?: "read" | "write" | "admin"; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "304": never; + "401": unknown; + "403": unknown; + "404": unknown; + "415": unknown; + "422": unknown; + }; + }; + /** + * Removes a collaborator from an organization project. You must be an organization owner or a project `admin` to remove a collaborator. + */ + "projects/remove-collaborator": { + parameters: { + path: { + project_id: components["parameters"]["project-id"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "304": never; + "401": unknown; + "403": unknown; + "404": unknown; + "415": unknown; + "422": unknown; + }; + }; + /** + * Returns the collaborator's permission level for an organization project. Possible values for the `permission` key: `admin`, `write`, `read`, `none`. You must be an organization owner or a project `admin` to review a user's permission level. + */ + "projects/get-permission-for-user": { + parameters: { + path: { + project_id: components["parameters"]["project-id"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["repository-collaborator-permission"]; + }; + "304": never; + "401": unknown; + "403": unknown; + "404": unknown; + "415": unknown; + "422": unknown; + }; + }; + "projects/list-columns": { + parameters: { + path: { + project_id: components["parameters"]["project-id"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["project-column"][]; + }; + "304": never; + "401": unknown; + "403": unknown; + }; + }; + "projects/create-column": { + parameters: { + path: { + project_id: components["parameters"]["project-id"]; + }; + }; + requestBody: { + "application/json": { + /** + * Name of the project column + */ + name: string; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["project-column"]; + }; + "304": never; + "401": unknown; + "403": unknown; + "422": unknown; + }; + }; + /** + * **Note:** Accessing this endpoint does not count against your REST API rate limit. + * + * **Note:** The `rate` object is deprecated. If you're writing new API client code or updating existing code, you should use the `core` object instead of the `rate` object. The `core` object contains the same information that is present in the `rate` object. + */ + "rate-limit/get": { + parameters: {}; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["rate-limit-overview"]; + }; + "304": never; + "404": unknown; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Reactions API. We recommend migrating your existing code to use the new delete reactions endpoints. For more information, see this [blog post](https://developer.github.com/changes/2020-02-26-new-delete-reactions-endpoints/). + * + * OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), when deleting a [team discussion](https://docs.github.com/rest/reference/teams#discussions) or [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). + */ + "reactions/delete-legacy": { + parameters: { + path: { + reaction_id: components["parameters"]["reaction-id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "304": never; + "401": unknown; + "403": unknown; + "410": unknown; + "415": unknown; + }; + }; + /** + * When you pass the `scarlet-witch-preview` media type, requests to get a repository will also return the repository's code of conduct if it can be detected from the repository's code of conduct file. + * + * The `parent` and `source` objects are present when the repository is a fork. `parent` is the repository this repository was forked from, `source` is the ultimate source for the network. + */ + "repos/get": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["full-repository"]; + }; + "301": never; + "403": unknown; + "404": unknown; + }; + }; + /** + * **Note**: To edit a repository's topics, use the [Replace all repository topics](https://docs.github.com/rest/reference/repos#replace-all-repository-topics) endpoint. + */ + "repos/update": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + "application/json": { + /** + * The name of the repository. + */ + name?: string; + /** + * A short description of the repository. + */ + description?: string; + /** + * A URL with more information about the repository. + */ + homepage?: string; + /** + * Either `true` to make the repository private or `false` to make it public. Default: `false`. + * **Note**: You will get a `422` error if the organization restricts [changing repository visibility](https://help.github.com/articles/repository-permission-levels-for-an-organization#changing-the-visibility-of-repositories) to organization owners and a non-owner tries to change the value of private. **Note**: You will get a `422` error if the organization restricts [changing repository visibility](https://help.github.com/articles/repository-permission-levels-for-an-organization#changing-the-visibility-of-repositories) to organization owners and a non-owner tries to change the value of private. + */ + private?: boolean; + /** + * Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `visibility` can also be `internal`. The `visibility` parameter overrides the `private` parameter when you use both along with the `nebula-preview` preview header. + */ + visibility?: "public" | "private" | "visibility" | "internal"; + /** + * Either `true` to enable issues for this repository or `false` to disable them. + */ + has_issues?: boolean; + /** + * Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error. + */ + has_projects?: boolean; + /** + * Either `true` to enable the wiki for this repository or `false` to disable it. + */ + has_wiki?: boolean; + /** + * Either `true` to make this repo available as a template repository or `false` to prevent it. + */ + is_template?: boolean; + /** + * Updates the default branch for this repository. + */ + default_branch?: string; + /** + * Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. + */ + allow_squash_merge?: boolean; + /** + * Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. + */ + allow_merge_commit?: boolean; + /** + * Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. + */ + allow_rebase_merge?: boolean; + /** + * Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. + */ + delete_branch_on_merge?: boolean; + /** + * `true` to archive this repository. **Note**: You cannot unarchive repositories through the API. + */ + archived?: boolean; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["full-repository"]; + }; + "403": unknown; + "404": unknown; + "422": unknown; + }; + }; + /** + * Deleting a repository requires admin access. If OAuth is used, the `delete_repo` scope is required. + * + * If an organization owner has configured the organization to prevent members from deleting organization-owned + * repositories, you will get a `403 Forbidden` response. + */ + "repos/delete": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + /** + * If an organization owner has configured the organization to prevent members from deleting organization-owned repositories, a member will get this response: + */ + "403": { + "application/json": { message?: string; documentation_url?: string }; + }; + "404": unknown; + }; + }; + /** + * Lists all artifacts for a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + "actions/list-artifacts-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": { + total_count?: number; + artifacts?: components["schemas"]["artifact"][]; + }; + }; + }; + }; + /** + * Gets a specific artifact for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + "actions/get-artifact": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + artifact_id: components["parameters"]["artifact_id"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["artifact"]; + }; + }; + }; + /** + * Deletes an artifact for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + "actions/delete-artifact": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + artifact_id: components["parameters"]["artifact_id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * Gets a redirect URL to download an archive for a repository. This URL expires after 1 minute. Look for `Location:` in + * the response header to find the URL for the download. The `:archive_format` must be `zip`. Anyone with read access to + * the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. + * GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + "actions/download-artifact": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + artifact_id: components["parameters"]["artifact_id"]; + archive_format: string; + }; + }; + responses: { + /** + * response + */ + "302": never; + }; + }; + /** + * Gets a specific job in a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + "actions/get-job-for-workflow-run": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + job_id: components["parameters"]["job_id"]; + }; + }; + responses: { + /** + * response + */ + "202": { + "application/json": components["schemas"]["job"]; + }; + }; + }; + /** + * Gets a redirect URL to download a plain text file of logs for a workflow job. This link expires after 1 minute. Look + * for `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can + * use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must + * have the `actions:read` permission to use this endpoint. + */ + "actions/download-job-logs-for-workflow-run": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + job_id: components["parameters"]["job_id"]; + }; + }; + responses: { + /** + * response + */ + "302": never; + }; + }; + /** + * Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions allowed to run in the repository. + * + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. GitHub Apps must have the `administration` repository permission to use this API. + */ + "actions/get-github-actions-permissions-repository": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["actions-repository-permissions"]; + }; + }; + }; + /** + * Sets the GitHub Actions permissions policy for enabling GitHub Actions and allowed actions in the repository. + * + * If the repository belongs to an organization or enterprise that has set restrictive permissions at the organization or enterprise levels, such as `allowed_actions` to `selected` actions, then you cannot override them for the repository. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. + */ + "actions/set-github-actions-permissions-repository": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + "application/json": { + enabled: components["schemas"]["actions-enabled"]; + allowed_actions?: components["schemas"]["allowed-actions"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * Gets the settings for selected actions that are allowed in a repository. To use this endpoint, the repository policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. + */ + "actions/get-allowed-actions-repository": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["selected-actions"]; + }; + }; + }; + /** + * Sets the actions that are allowed in a repository. To use this endpoint, the repository permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." + * + * If the repository belongs to an organization or enterprise that has `selected` actions set at the organization or enterprise levels, then you cannot override any of the allowed actions settings. + * + * To use the `patterns_allowed` setting for private repositories, the repository must belong to an enterprise. If the repository does not belong to an enterprise, then the `patterns_allowed` setting only applies to public repositories. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. + */ + "actions/set-allowed-actions-repository": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + "application/json": components["schemas"]["selected-actions"]; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * Lists all self-hosted runners configured in a repository. You must authenticate using an access token with the `repo` scope to use this endpoint. + */ + "actions/list-self-hosted-runners-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": { + total_count?: number; + runners?: components["schemas"]["runner"][]; + }; + }; + }; + }; + /** + * Lists binaries for the runner application that you can download and run. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + */ + "actions/list-runner-applications-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["runner-application"][]; + }; + }; + }; + /** + * Returns a token that you can pass to the `config` script. The token expires after one hour. You must authenticate + * using an access token with the `repo` scope to use this endpoint. + * + * #### Example using registration token + * + * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint. + * + * ``` + * ./config.sh --url https://github.com/octo-org/octo-repo-artifacts --token TOKEN + * ``` + */ + "actions/create-registration-token-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["authentication-token"]; + }; + }; + }; + /** + * Returns a token that you can pass to remove a self-hosted runner from a repository. The token expires after one hour. + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * + * #### Example using remove token + * + * To remove your self-hosted runner from a repository, replace TOKEN with the remove token provided by this endpoint. + * + * ``` + * ./config.sh remove --token TOKEN + * ``` + */ + "actions/create-remove-token-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["authentication-token"]; + }; + }; + }; + /** + * Gets a specific self-hosted runner configured in a repository. + * + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. + */ + "actions/get-self-hosted-runner-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + runner_id: components["parameters"]["runner_id"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["runner"]; + }; + }; + }; + /** + * Forces the removal of a self-hosted runner from a repository. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. + * + * You must authenticate using an access token with the `repo` + * scope to use this endpoint. + */ + "actions/delete-self-hosted-runner-from-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + runner_id: components["parameters"]["runner_id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * Lists all workflow runs for a repository. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + "actions/list-workflow-runs-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + actor?: components["parameters"]["actor"]; + branch?: components["parameters"]["workflow-run-branch"]; + event?: components["parameters"]["event"]; + status?: components["parameters"]["workflow-run-status"]; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": { + total_count?: number; + workflow_runs?: components["schemas"]["workflow-run"][]; + }; + }; + }; + }; + /** + * Gets a specific workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + "actions/get-workflow-run": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["workflow-run"]; + }; + }; + }; + /** + * Delete a specific workflow run. Anyone with write access to the repository can use this endpoint. If the repository is + * private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:write` permission to use + * this endpoint. + */ + "actions/delete-workflow-run": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * Lists artifacts for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + "actions/list-workflow-run-artifacts": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + run_id: components["parameters"]["run-id"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": { + total_count?: number; + artifacts?: components["schemas"]["artifact"][]; + }; + }; + }; + }; + /** + * Cancels a workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + "actions/cancel-workflow-run": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** + * response + */ + "202": unknown; + }; + }; + /** + * Lists jobs for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). + */ + "actions/list-jobs-for-workflow-run": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + run_id: components["parameters"]["run-id"]; + }; + query: { + /** + * Filters jobs by their `completed_at` timestamp. Can be one of: + * \* `latest`: Returns jobs from the most recent execution of the workflow run. + * \* `all`: Returns all jobs for a workflow run, including from old executions of the workflow run. + */ + filter?: "latest" | "all"; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": { + total_count?: number; + jobs?: components["schemas"]["job"][]; + }; + }; + }; + }; + /** + * Gets a redirect URL to download an archive of log files for a workflow run. This link expires after 1 minute. Look for + * `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can use + * this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have + * the `actions:read` permission to use this endpoint. + */ + "actions/download-workflow-run-logs": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** + * response + */ + "302": never; + }; + }; + /** + * Deletes all logs for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + "actions/delete-workflow-run-logs": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * Re-runs your workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + "actions/re-run-workflow": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** + * response + */ + "201": unknown; + }; + }; + /** + * Gets the number of billable minutes and total run time for a specific workflow run. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + "actions/get-workflow-run-usage": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["workflow-run-usage"]; + }; + }; + }; + /** + * Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. + */ + "actions/list-repo-secrets": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": { + total_count?: number; + secrets?: components["schemas"]["actions-secret"][]; + }; + }; + }; + }; + /** + * Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `secrets` repository permission to use this endpoint. + */ + "actions/get-repo-public-key": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["actions-public-key"]; + }; + }; + }; + /** + * Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. + */ + "actions/get-repo-secret": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + secret_name: components["parameters"]["secret_name"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["actions-secret"]; + }; + }; + }; + /** + * Creates or updates a repository secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use + * this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/stable/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + "actions/create-or-update-repo-secret": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + secret_name: components["parameters"]["secret_name"]; + }; + }; + requestBody: { + "application/json": { + /** + * Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/rest/reference/actions#get-a-repository-public-key) endpoint. + */ + encrypted_value?: string; + /** + * ID of the key you used to encrypt the secret. + */ + key_id?: string; + }; + }; + responses: { + /** + * Response when creating a secret + */ + "201": unknown; + /** + * Response when updating a secret + */ + "204": never; + }; + }; + /** + * Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. + */ + "actions/delete-repo-secret": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + secret_name: components["parameters"]["secret_name"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * Lists the workflows in a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + "actions/list-repo-workflows": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": { + total_count?: number; + workflows?: components["schemas"]["workflow"][]; + }; + }; + }; + }; + /** + * Gets a specific workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + "actions/get-workflow": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + workflow_id: components["parameters"]["workflow-id"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["workflow"]; + }; + }; + }; + /** + * Disables a workflow and sets the `state` of the workflow to `disabled_manually`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + "actions/disable-workflow": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + workflow_id: components["parameters"]["workflow-id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * You can use this endpoint to manually trigger a GitHub Actions workflow run. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * You must configure your GitHub Actions workflow to run when the [`workflow_dispatch` webhook](/developers/webhooks-and-events/webhook-events-and-payloads#workflow_dispatch) event occurs. The `inputs` are configured in the workflow file. For more information about how to configure the `workflow_dispatch` event in the workflow file, see "[Events that trigger workflows](/actions/reference/events-that-trigger-workflows#workflow_dispatch)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. For more information, see "[Creating a personal access token for the command line](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line)." + */ + "actions/create-workflow-dispatch": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + workflow_id: components["parameters"]["workflow-id"]; + }; + }; + requestBody: { + "application/json": { + /** + * The git reference for the workflow. The reference can be a branch or tag name. + */ + ref: string; + /** + * Input keys and values configured in the workflow file. The maximum number of properties is 10. Any default properties configured in the workflow file will be used when `inputs` are omitted. + */ + inputs?: { [key: string]: string }; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * Enables a workflow and sets the `state` of the workflow to `active`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + "actions/enable-workflow": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + workflow_id: components["parameters"]["workflow-id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * List all workflow runs for a workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. + */ + "actions/list-workflow-runs": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + workflow_id: components["parameters"]["workflow-id"]; + }; + query: { + actor?: components["parameters"]["actor"]; + branch?: components["parameters"]["workflow-run-branch"]; + event?: components["parameters"]["event"]; + status?: components["parameters"]["workflow-run-status"]; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": { + total_count?: number; + workflow_runs?: components["schemas"]["workflow-run"][]; + }; + }; + }; + }; + /** + * Gets the number of billable minutes used by a specific workflow during the current billing cycle. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + "actions/get-workflow-usage": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + workflow_id: components["parameters"]["workflow-id"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["workflow-usage"]; + }; + }; + }; + /** + * Lists the [available assignees](https://help.github.com/articles/assigning-issues-and-pull-requests-to-other-github-users/) for issues in a repository. + */ + "issues/list-assignees": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["simple-user"][]; + }; + "404": unknown; + }; + }; + /** + * Checks if a user has permission to be assigned to an issue in this repository. + * + * If the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned. + * + * Otherwise a `404` status code is returned. + */ + "issues/check-user-can-be-assigned": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + assignee: string; + }; + }; + responses: { + /** + * If the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned. + */ + "204": never; + /** + * Otherwise a `404` status code is returned. + */ + "404": { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + /** + * Enables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://help.github.com/en/articles/configuring-automated-security-fixes)". + */ + "repos/enable-automated-security-fixes": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * Disables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://help.github.com/en/articles/configuring-automated-security-fixes)". + */ + "repos/disable-automated-security-fixes": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + "repos/list-branches": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + /** + * Setting to `true` returns only protected branches. When set to `false`, only unprotected branches are returned. Omitting this parameter returns all branches. + */ + protected?: boolean; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["short-branch"][]; + }; + "404": unknown; + }; + }; + "repos/get-branch": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["branch-with-protection"]; + }; + "404": unknown; + "415": unknown; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + "repos/get-branch-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["branch-protection"]; + }; + "404": unknown; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Protecting a branch requires admin or owner permissions to the repository. + * + * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. + * + * **Note**: The list of users, apps, and teams in total is limited to 100 items. + */ + "repos/update-branch-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + requestBody: { + "application/json": { + /** + * Require status checks to pass before merging. Set to `null` to disable. + */ + required_status_checks: { + /** + * Require branches to be up to date before merging. + */ + strict: boolean; + /** + * The list of status checks to require in order to merge into this branch + */ + contexts: string[]; + } | null; + /** + * Enforce all configured restrictions for administrators. Set to `true` to enforce required status checks for repository administrators. Set to `null` to disable. + */ + enforce_admins: boolean | null; + /** + * Require at least one approving review on a pull request, before merging. Set to `null` to disable. + */ + required_pull_request_reviews: { + /** + * Specify which users and teams can dismiss pull request reviews. Pass an empty `dismissal_restrictions` object to disable. User and team `dismissal_restrictions` are only available for organization-owned repositories. Omit this parameter for personal repositories. + */ + dismissal_restrictions?: { + /** + * The list of user `login`s with dismissal access + */ + users?: string[]; + /** + * The list of team `slug`s with dismissal access + */ + teams?: string[]; + }; + /** + * Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit. + */ + dismiss_stale_reviews?: boolean; + /** + * Blocks merging pull requests until [code owners](https://help.github.com/articles/about-code-owners/) review them. + */ + require_code_owner_reviews?: boolean; + /** + * Specify the number of reviewers required to approve pull requests. Use a number between 1 and 6. + */ + required_approving_review_count?: number; + } | null; + /** + * Restrict who can push to the protected branch. User, app, and team `restrictions` are only available for organization-owned repositories. Set to `null` to disable. + */ + restrictions: { + /** + * The list of user `login`s with push access + */ + users: string[]; + /** + * The list of team `slug`s with push access + */ + teams: string[]; + /** + * The list of app `slug`s with push access + */ + apps?: string[]; + } | null; + /** + * Enforces a linear commit Git history, which prevents anyone from pushing merge commits to a branch. Set to `true` to enforce a linear commit history. Set to `false` to disable a linear commit Git history. Your repository must allow squash merging or rebase merging before you can enable a linear commit history. Default: `false`. For more information, see "[Requiring a linear commit history](https://help.github.com/github/administering-a-repository/requiring-a-linear-commit-history)" in the GitHub Help documentation. + */ + required_linear_history?: boolean; + /** + * Permits force pushes to the protected branch by anyone with write access to the repository. Set to `true` to allow force pushes. Set to `false` or `null` to block force pushes. Default: `false`. For more information, see "[Enabling force pushes to a protected branch](https://help.github.com/en/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)" in the GitHub Help documentation." + */ + allow_force_pushes?: boolean | null; + /** + * Allows deletion of the protected branch by anyone with write access to the repository. Set to `false` to prevent deletion of the protected branch. Default: `false`. For more information, see "[Enabling force pushes to a protected branch](https://help.github.com/en/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)" in the GitHub Help documentation. + */ + allow_deletions?: boolean; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["protected-branch"]; + }; + "403": unknown; + "404": unknown; + "415": unknown; + "422": unknown; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + "repos/delete-branch-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "403": unknown; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + "repos/get-admin-branch-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["protected-branch-admin-enforced"]; + }; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Adding admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + */ + "repos/set-admin-branch-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["protected-branch-admin-enforced"]; + }; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removing admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + */ + "repos/delete-admin-branch-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** + * No Content + */ + "204": never; + "404": unknown; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + "repos/get-pull-request-review-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/vnd.github.luke-cage-preview+json": components["schemas"]["protected-branch-pull-request-review"]; + }; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Updating pull request review enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + * + * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. + */ + "repos/update-pull-request-review-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + requestBody: { + "application/json": { + /** + * Specify which users and teams can dismiss pull request reviews. Pass an empty `dismissal_restrictions` object to disable. User and team `dismissal_restrictions` are only available for organization-owned repositories. Omit this parameter for personal repositories. + */ + dismissal_restrictions?: { + /** + * The list of user `login`s with dismissal access + */ + users?: string[]; + /** + * The list of team `slug`s with dismissal access + */ + teams?: string[]; + }; + /** + * Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit. + */ + dismiss_stale_reviews?: boolean; + /** + * Blocks merging pull requests until [code owners](https://help.github.com/articles/about-code-owners/) have reviewed. + */ + require_code_owner_reviews?: boolean; + /** + * Specifies the number of reviewers required to approve pull requests. Use a number between 1 and 6. + */ + required_approving_review_count?: number; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["protected-branch-pull-request-review"]; + }; + "422": unknown; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + "repos/delete-pull-request-review-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** + * No Content + */ + "204": never; + "404": unknown; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to check whether a branch requires signed commits. An enabled status of `true` indicates you must sign commits on this branch. For more information, see [Signing commits with GPG](https://help.github.com/articles/signing-commits-with-gpg) in GitHub Help. + * + * **Note**: You must enable branch protection to require signed commits. + */ + "repos/get-commit-signature-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["protected-branch-admin-enforced"]; + }; + "404": unknown; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to require signed commits on a branch. You must enable branch protection to require signed commits. + */ + "repos/create-commit-signature-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["protected-branch-admin-enforced"]; + }; + "404": unknown; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to disable required signed commits on a branch. You must enable branch protection to require signed commits. + */ + "repos/delete-commit-signature-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** + * No Content + */ + "204": never; + "404": unknown; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + "repos/get-status-checks-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["status-check-policy"]; + }; + "404": unknown; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Updating required status checks requires admin or owner permissions to the repository and branch protection to be enabled. + */ + "repos/update-status-check-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + requestBody: { + "application/json": { + /** + * Require branches to be up to date before merging. + */ + strict?: boolean; + /** + * The list of status checks to require in order to merge into this branch + */ + contexts?: string[]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["status-check-policy"]; + }; + "404": unknown; + "422": unknown; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + "repos/remove-status-check-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** + * No Content + */ + "204": never; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + "repos/get-all-status-check-contexts": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": string[]; + }; + "404": unknown; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + "repos/add-status-check-contexts": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + requestBody: { + "application/json": { + /** + * contexts parameter + */ + contexts: string[]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": string[]; + }; + "403": unknown; + "404": unknown; + "422": unknown; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + "repos/set-status-check-contexts": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + requestBody: { + "application/json": { + /** + * contexts parameter + */ + contexts: string[]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": string[]; + }; + "404": unknown; + "422": unknown; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + "repos/remove-status-check-contexts": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + requestBody: { + "application/json": { + /** + * contexts parameter + */ + contexts: string[]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": string[]; + }; + "404": unknown; + "422": unknown; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists who has access to this protected branch. + * + * **Note**: Users, apps, and teams `restrictions` are only available for organization-owned repositories. + */ + "repos/get-access-restrictions": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["branch-restriction-policy"]; + }; + "404": unknown; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Disables the ability to restrict who can push to this branch. + */ + "repos/delete-access-restrictions": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** + * No Content + */ + "204": never; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the GitHub Apps that have push access to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + */ + "repos/get-apps-with-access-to-protected-branch": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["integration"][]; + }; + "404": unknown; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified apps push access for this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + * + * | Type | Description | + * | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | The GitHub Apps that have push access to this branch. Use the app's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + "repos/add-app-access-restrictions": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + requestBody: { + "application/json": { + /** + * apps parameter + */ + apps: string[]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["integration"][]; + }; + "422": unknown; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of apps that have push access to this branch. This removes all apps that previously had push access and grants push access to the new list of apps. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + * + * | Type | Description | + * | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | The GitHub Apps that have push access to this branch. Use the app's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + "repos/set-app-access-restrictions": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + requestBody: { + "application/json": { + /** + * apps parameter + */ + apps: string[]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["integration"][]; + }; + "422": unknown; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of an app to push to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + * + * | Type | Description | + * | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | The GitHub Apps that have push access to this branch. Use the app's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + "repos/remove-app-access-restrictions": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + requestBody: { + "application/json": { + /** + * apps parameter + */ + apps: string[]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["integration"][]; + }; + "422": unknown; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the teams who have push access to this branch. The list includes child teams. + */ + "repos/get-teams-with-access-to-protected-branch": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["team"][]; + }; + "404": unknown; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified teams push access for this branch. You can also give push access to child teams. + * + * | Type | Description | + * | ------- | ------------------------------------------------------------------------------------------------------------------------------------------ | + * | `array` | The teams that can have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + "repos/add-team-access-restrictions": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + requestBody: { + "application/json": { + /** + * teams parameter + */ + teams: string[]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["team"][]; + }; + "422": unknown; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of teams that have push access to this branch. This removes all teams that previously had push access and grants push access to the new list of teams. Team restrictions include child teams. + * + * | Type | Description | + * | ------- | ------------------------------------------------------------------------------------------------------------------------------------------ | + * | `array` | The teams that can have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + "repos/set-team-access-restrictions": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + requestBody: { + "application/json": { + /** + * teams parameter + */ + teams: string[]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["team"][]; + }; + "422": unknown; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of a team to push to this branch. You can also remove push access for child teams. + * + * | Type | Description | + * | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Teams that should no longer have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + "repos/remove-team-access-restrictions": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + requestBody: { + "application/json": { + /** + * teams parameter + */ + teams: string[]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["team"][]; + }; + "422": unknown; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the people who have push access to this branch. + */ + "repos/get-users-with-access-to-protected-branch": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["simple-user"][]; + }; + "404": unknown; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified people push access for this branch. + * + * | Type | Description | + * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + "repos/add-user-access-restrictions": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + requestBody: { + "application/json": { + /** + * users parameter + */ + users: string[]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["simple-user"][]; + }; + "422": unknown; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of people that have push access to this branch. This removes all people that previously had push access and grants push access to the new list of people. + * + * | Type | Description | + * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + "repos/set-user-access-restrictions": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + requestBody: { + "application/json": { + /** + * users parameter + */ + users: string[]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["simple-user"][]; + }; + "422": unknown; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of a user to push to this branch. + * + * | Type | Description | + * | ------- | --------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames of the people who should no longer have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + "repos/remove-user-access-restrictions": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + requestBody: { + "application/json": { + /** + * users parameter + */ + users: string[]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["simple-user"][]; + }; + "422": unknown; + }; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Creates a new check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to create check runs. + * + * In a check suite, GitHub limits the number of check runs with the same name to 1000. Once these check runs exceed 1000, GitHub will start to automatically delete older check runs. + */ + "checks/create": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + "application/json": { + /** + * The name of the check. For example, "code-coverage". + */ + name: string; + /** + * The SHA of the commit. + */ + head_sha: string; + /** + * The URL of the integrator's site that has the full details of the check. If the integrator does not provide this, then the homepage of the GitHub app is used. + */ + details_url?: string; + /** + * A reference for the run on the integrator's system. + */ + external_id?: string; + /** + * The current status. Can be one of `queued`, `in_progress`, or `completed`. + */ + status?: "queued" | "in_progress" | "completed"; + /** + * The time that the check run began. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + started_at?: string; + /** + * **Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. Can be one of `success`, `failure`, `neutral`, `cancelled`, `skipped`, `timed_out`, or `action_required`. When the conclusion is `action_required`, additional details should be provided on the site specified by `details_url`. + * **Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. Only GitHub can change a check run conclusion to `stale`. + */ + conclusion?: + | "success" + | "failure" + | "neutral" + | "cancelled" + | "skipped" + | "timed_out" + | "action_required"; + /** + * The time the check completed. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + completed_at?: string; + /** + * Check runs can accept a variety of data in the `output` object, including a `title` and `summary` and can optionally provide descriptive details about the run. See the [`output` object](https://docs.github.com/rest/reference/checks#output-object) description. + */ + output?: { + /** + * The title of the check run. + */ + title: string; + /** + * The summary of the check run. This parameter supports Markdown. + */ + summary: string; + /** + * The details of the check run. This parameter supports Markdown. + */ + text?: string; + /** + * Adds information from your analysis to specific lines of code. Annotations are visible on GitHub in the **Checks** and **Files changed** tab of the pull request. The Checks API limits the number of annotations to a maximum of 50 per API request. To create more than 50 annotations, you have to make multiple requests to the [Update a check run](https://docs.github.com/rest/reference/checks#update-a-check-run) endpoint. Each time you update the check run, annotations are appended to the list of annotations that already exist for the check run. For details about how you can view annotations on GitHub, see "[About status checks](https://help.github.com/articles/about-status-checks#checks)". See the [`annotations` object](https://docs.github.com/rest/reference/checks#annotations-object) description for details about how to use this parameter. + */ + annotations?: { + /** + * The path of the file to add an annotation to. For example, `assets/css/main.css`. + */ + path: string; + /** + * The start line of the annotation. + */ + start_line: number; + /** + * The end line of the annotation. + */ + end_line: number; + /** + * The start column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. + */ + start_column?: number; + /** + * The end column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. + */ + end_column?: number; + /** + * The level of the annotation. Can be one of `notice`, `warning`, or `failure`. + */ + annotation_level: "notice" | "warning" | "failure"; + /** + * A short description of the feedback for these lines of code. The maximum size is 64 KB. + */ + message: string; + /** + * The title that represents the annotation. The maximum size is 255 characters. + */ + title?: string; + /** + * Details about this annotation. The maximum size is 64 KB. + */ + raw_details?: string; + }[]; + /** + * Adds images to the output displayed in the GitHub pull request UI. See the [`images` object](https://docs.github.com/rest/reference/checks#images-object) description for details. + */ + images?: { + /** + * The alternative text for the image. + */ + alt: string; + /** + * The full URL of the image. + */ + image_url: string; + /** + * A short image description. + */ + caption?: string; + }[]; + }; + /** + * Displays a button on GitHub that can be clicked to alert your app to do additional tasks. For example, a code linting app can display a button that automatically fixes detected errors. The button created in this object is displayed after the check run completes. When a user clicks the button, GitHub sends the [`check_run.requested_action` webhook](https://docs.github.com/webhooks/event-payloads/#check_run) to your app. Each action includes a `label`, `identifier` and `description`. A maximum of three actions are accepted. See the [`actions` object](https://docs.github.com/rest/reference/checks#actions-object) description. To learn more about check runs and requested actions, see "[Check runs and requested actions](https://docs.github.com/rest/reference/checks#check-runs-and-requested-actions)." To learn more about check runs and requested actions, see "[Check runs and requested actions](https://docs.github.com/rest/reference/checks#check-runs-and-requested-actions)." + */ + actions?: { + /** + * The text to be displayed on a button in the web UI. The maximum size is 20 characters. + */ + label: string; + /** + * A short explanation of what this action would do. The maximum size is 40 characters. + */ + description: string; + /** + * A reference for the action on the integrator's system. The maximum size is 20 characters. + */ + identifier: string; + }[]; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["check-run"]; + }; + }; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Gets a single check run using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository. + */ + "checks/get": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + check_run_id: components["parameters"]["check_run_id"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["check-run"]; + }; + }; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Updates a check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to edit check runs. + */ + "checks/update": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + check_run_id: components["parameters"]["check_run_id"]; + }; + }; + requestBody: { + "application/json": { + /** + * The name of the check. For example, "code-coverage". + */ + name?: string; + /** + * The URL of the integrator's site that has the full details of the check. + */ + details_url?: string; + /** + * A reference for the run on the integrator's system. + */ + external_id?: string; + /** + * This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + started_at?: string; + /** + * The current status. Can be one of `queued`, `in_progress`, or `completed`. + */ + status?: "queued" | "in_progress" | "completed"; + /** + * **Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. Can be one of `success`, `failure`, `neutral`, `cancelled`, `skipped`, `timed_out`, or `action_required`. + * **Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. Only GitHub can change a check run conclusion to `stale`. + */ + conclusion?: + | "success" + | "failure" + | "neutral" + | "cancelled" + | "skipped" + | "timed_out" + | "action_required"; + /** + * The time the check completed. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + completed_at?: string; + /** + * Check runs can accept a variety of data in the `output` object, including a `title` and `summary` and can optionally provide descriptive details about the run. See the [`output` object](https://docs.github.com/rest/reference/checks#output-object-1) description. + */ + output?: { + /** + * **Required**. + */ + title?: string; + /** + * Can contain Markdown. + */ + summary: string; + /** + * Can contain Markdown. + */ + text?: string; + /** + * Adds information from your analysis to specific lines of code. Annotations are visible in GitHub's pull request UI. Annotations are visible in GitHub's pull request UI. The Checks API limits the number of annotations to a maximum of 50 per API request. To create more than 50 annotations, you have to make multiple requests to the [Update a check run](https://docs.github.com/rest/reference/checks#update-a-check-run) endpoint. Each time you update the check run, annotations are appended to the list of annotations that already exist for the check run. For details about annotations in the UI, see "[About status checks](https://help.github.com/articles/about-status-checks#checks)". See the [`annotations` object](https://docs.github.com/rest/reference/checks#annotations-object-1) description for details. + */ + annotations?: { + /** + * The path of the file to add an annotation to. For example, `assets/css/main.css`. + */ + path: string; + /** + * The start line of the annotation. + */ + start_line: number; + /** + * The end line of the annotation. + */ + end_line: number; + /** + * The start column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. + */ + start_column?: number; + /** + * The end column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. + */ + end_column?: number; + /** + * The level of the annotation. Can be one of `notice`, `warning`, or `failure`. + */ + annotation_level: "notice" | "warning" | "failure"; + /** + * A short description of the feedback for these lines of code. The maximum size is 64 KB. + */ + message: string; + /** + * The title that represents the annotation. The maximum size is 255 characters. + */ + title?: string; + /** + * Details about this annotation. The maximum size is 64 KB. + */ + raw_details?: string; + }[]; + /** + * Adds images to the output displayed in the GitHub pull request UI. See the [`images` object](https://docs.github.com/rest/reference/checks#annotations-object-1) description for details. + */ + images?: { + /** + * The alternative text for the image. + */ + alt: string; + /** + * The full URL of the image. + */ + image_url: string; + /** + * A short image description. + */ + caption?: string; + }[]; + }; + /** + * Possible further actions the integrator can perform, which a user may trigger. Each action includes a `label`, `identifier` and `description`. A maximum of three actions are accepted. See the [`actions` object](https://docs.github.com/rest/reference/checks#actions-object) description. To learn more about check runs and requested actions, see "[Check runs and requested actions](https://docs.github.com/rest/reference/checks#check-runs-and-requested-actions)." + */ + actions?: { + /** + * The text to be displayed on a button in the web UI. The maximum size is 20 characters. + */ + label: string; + /** + * A short explanation of what this action would do. The maximum size is 40 characters. + */ + description: string; + /** + * A reference for the action on the integrator's system. The maximum size is 20 characters. + */ + identifier: string; + }[]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["check-run"]; + }; + }; + }; + /** + * Lists annotations for a check run using the annotation `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get annotations for a check run. OAuth Apps and authenticated users must have the `repo` scope to get annotations for a check run in a private repository. + */ + "checks/list-annotations": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + check_run_id: components["parameters"]["check_run_id"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["check-annotation"][]; + }; + }; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * + * By default, check suites are automatically created when you create a [check run](https://docs.github.com/rest/reference/checks#check-runs). You only need to use this endpoint for manually creating check suites when you've disabled automatic creation using "[Update repository preferences for check suites](https://docs.github.com/rest/reference/checks#update-repository-preferences-for-check-suites)". Your GitHub App must have the `checks:write` permission to create check suites. + */ + "checks/create-suite": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + "application/json": { + /** + * The sha of the head commit. + */ + head_sha: string; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["check-suite"]; + }; + }; + }; + /** + * Changes the default automatic flow when creating check suites. By default, a check suite is automatically created each time code is pushed to a repository. When you disable the automatic creation of check suites, you can manually [Create a check suite](https://docs.github.com/rest/reference/checks#create-a-check-suite). You must have admin permissions in the repository to set preferences for check suites. + */ + "checks/set-suites-preferences": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + "application/json": { + /** + * Enables or disables automatic creation of CheckSuite events upon pushes to the repository. Enabled by default. See the [`auto_trigger_checks` object](https://docs.github.com/rest/reference/checks#auto_trigger_checks-object) description for details. + */ + auto_trigger_checks?: { + /** + * The `id` of the GitHub App. + */ + app_id: number; + /** + * Set to `true` to enable automatic creation of CheckSuite events upon pushes to the repository, or `false` to disable them. + */ + setting: boolean; + }[]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["check-suite-preference"]; + }; + }; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * + * Gets a single check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check suites. OAuth Apps and authenticated users must have the `repo` scope to get check suites in a private repository. + */ + "checks/get-suite": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + check_suite_id: components["parameters"]["check_suite_id"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["check-suite"]; + }; + }; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Lists check runs for a check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository. + */ + "checks/list-for-suite": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + check_suite_id: components["parameters"]["check_suite_id"]; + }; + query: { + check_name?: components["parameters"]["check_name"]; + status?: components["parameters"]["status"]; + /** + * Filters check runs by their `completed_at` timestamp. Can be one of `latest` (returning the most recent check runs) or `all`. + */ + filter?: "latest" | "all"; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": { + total_count?: number; + check_runs?: components["schemas"]["check-run"][]; + }; + }; + }; + }; + /** + * Triggers GitHub to rerequest an existing check suite, without pushing new code to a repository. This endpoint will trigger the [`check_suite` webhook](https://docs.github.com/webhooks/event-payloads/#check_suite) event with the action `rerequested`. When a check suite is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. + * + * To rerequest a check suite, your GitHub App must have the `checks:read` permission on a private repository or pull access to a public repository. + */ + "checks/rerequest-suite": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + check_suite_id: components["parameters"]["check_suite_id"]; + }; + }; + responses: { + /** + * response + */ + "201": unknown; + }; + }; + /** + * Lists all open code scanning alerts for the default branch (usually `main` or `master`). For private repos, you must use an access token with the `repo` scope. For public repos, you must use an access token with `public_repo` and `repo:security_events` scopes. GitHub Apps must have the `security_events` read permission to use this endpoint. + */ + "code-scanning/list-alerts-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + /** + * Set to `open`, `fixed`, or `dismissed` to list code scanning alerts in a specific state. + */ + state?: components["schemas"]["code-scanning-alert-state"]; + /** + * Set a full Git reference to list alerts for a specific branch. The `ref` must be formatted as `refs/heads/`. + */ + ref?: components["schemas"]["code-scanning-alert-ref"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["code-scanning-alert-code-scanning-alert-items"][]; + }; + /** + * Response if the ref does not match an existing ref + */ + "404": unknown; + "503": unknown; + }; + }; + /** + * Gets a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` read permission to use this endpoint. + * + * The security `alert_number` is found at the end of the security alert's URL. For example, the security alert ID for `https://github.com/Octo-org/octo-repo/security/code-scanning/88` is `88`. + */ + "code-scanning/get-alert": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + alert_number: number; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["code-scanning-alert-code-scanning-alert"]; + }; + "404": unknown; + "503": unknown; + }; + }; + /** + * Updates the status of a single code scanning alert. For private repos, you must use an access token with the `repo` scope. For public repos, you must use an access token with `public_repo` and `repo:security_events` scopes. + * GitHub Apps must have the `security_events` write permission to use this endpoint. + */ + "code-scanning/update-alert": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + alert_number: components["parameters"]["alert_number"]; + }; + }; + requestBody: { + "application/json": { + state: components["schemas"]["code-scanning-alert-set-state"]; + dismissed_reason?: components["schemas"]["code-scanning-alert-dismissed-reason"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["code-scanning-alert-code-scanning-alert"]; + }; + /** + * Response if the repository is archived + */ + "403": unknown; + /** + * Response when code scanning is not available and you should try again at a later time + */ + "503": unknown; + }; + }; + /** + * List the details of recent code scanning analyses for a repository. For private repos, you must use an access token with the `repo` scope. For public repos, you must use an access token with `public_repo` and `repo:security_events` scopes. GitHub Apps must have the `security_events` read permission to use this endpoint. + */ + "code-scanning/list-recent-analyses": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + /** + * Set a full Git reference to list alerts for a specific branch. The `ref` must be formatted as `refs/heads/`. + */ + ref?: components["schemas"]["code-scanning-analysis-ref"]; + /** + * Set a single code scanning tool name to filter alerts by tool. + */ + tool_name?: components["schemas"]["code-scanning-analysis-tool-name"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["code-scanning-analysis-code-scanning-analysis"][]; + }; + }; + }; + /** + * Upload a SARIF file containing the results of a code scanning analysis to make the results available in a repository. + * For private repos, you must use an access token with the `repo` scope. For public repos, you must use an access token with `public_repo` and `repo:security_events` scopes. GitHub Apps must have the `security_events` write permission to use this endpoint. + */ + "code-scanning/upload-sarif": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + "application/json": { + commit_sha: components["schemas"]["code-scanning-analysis-commit-sha"]; + ref: components["schemas"]["code-scanning-analysis-ref"]; + sarif: components["schemas"]["code-scanning-analysis-sarif-file"]; + /** + * The base directory used in the analysis, as it appears in the SARIF file. + * This property is used to convert file paths from absolute to relative, so that alerts can be mapped to their correct location in the repository. + */ + checkout_uri?: string; + /** + * The time that the analysis run began. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + started_at?: string; + tool_name: components["schemas"]["code-scanning-analysis-tool-name"]; + }; + }; + responses: { + /** + * response + */ + "202": unknown; + /** + * Response if the `sarif` field is invalid + */ + "400": unknown; + /** + * Response if the repository is archived + */ + "403": unknown; + /** + * Response if `commit_sha` or `ref` cannot be found + */ + "404": unknown; + /** + * Response if the `sarif` field is too large + */ + "413": unknown; + }; + }; + /** + * For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. + * + * Team members will include the members of child teams. + */ + "repos/list-collaborators": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + /** + * Filter collaborators returned by their affiliation. Can be one of: + * \* `outside`: All outside collaborators of an organization-owned repository. + * \* `direct`: All collaborators with permissions to an organization-owned repository, regardless of organization membership status. + * \* `all`: All collaborators the authenticated user can see. + */ + affiliation?: "outside" | "direct" | "all"; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["collaborator"][]; + }; + "404": unknown; + }; + }; + /** + * For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. + * + * Team members will include the members of child teams. + */ + "repos/check-collaborator": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** + * Response if user is a collaborator + */ + "204": never; + /** + * Response if user is not a collaborator + */ + "404": unknown; + }; + }; + /** + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. + * + * For more information the permission levels, see "[Repository permission levels for an organization](https://help.github.com/en/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * + * The invitee will receive a notification that they have been invited to the repository, which they must accept or decline. They may do this via the notifications page, the email they receive, or by using the [repository invitations API endpoints](https://docs.github.com/rest/reference/repos#invitations). + * + * **Rate limits** + * + * To prevent abuse, you are limited to sending 50 invitations to a repository per 24 hour period. Note there is no limit if you are inviting organization members to an organization repository. + */ + "repos/add-collaborator": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + username: components["parameters"]["username"]; + }; + }; + requestBody: { + "application/json": { + /** + * The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: + * \* `pull` - can pull, but not push to or administer this repository. + * \* `push` - can pull and push, but not administer this repository. + * \* `admin` - can pull, push and administer this repository. + * \* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. + * \* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access. + */ + permission?: "pull" | "push" | "admin" | "maintain" | "triage"; + permissions?: string; + }; + }; + responses: { + /** + * Response when a new invitation is created + */ + "201": { + "application/json": components["schemas"]["repository-invitation"]; + }; + /** + * Response when person is already a collaborator + */ + "204": never; + "403": unknown; + "422": unknown; + }; + }; + "repos/remove-collaborator": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * Checks the repository permission of a collaborator. The possible repository permissions are `admin`, `write`, `read`, and `none`. + */ + "repos/get-collaborator-permission-level": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** + * Response if user has admin permissions + */ + "200": { + "application/json": components["schemas"]["repository-collaborator-permission"]; + }; + "404": unknown; + }; + }; + /** + * Commit Comments use [these custom media types](https://docs.github.com/rest/reference/repos#custom-media-types). You can read more about the use of media types in the API [here](https://docs.github.com/rest/overview/media-types/). + * + * Comments are ordered by ascending ID. + */ + "repos/list-commit-comments-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["commit-comment"][]; + }; + }; + }; + "repos/get-commit-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + comment_id: components["parameters"]["comment_id"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["commit-comment"]; + }; + "404": unknown; + }; + }; + "repos/update-commit-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + comment_id: components["parameters"]["comment_id"]; + }; + }; + requestBody: { + "application/json": { + /** + * The contents of the comment + */ + body: string; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["commit-comment"]; + }; + "404": unknown; + }; + }; + "repos/delete-commit-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + comment_id: components["parameters"]["comment_id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "404": unknown; + }; + }; + /** + * List the reactions to a [commit comment](https://docs.github.com/rest/reference/repos#comments). + */ + "reactions/list-for-commit-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + comment_id: components["parameters"]["comment_id"]; + }; + query: { + /** + * Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a commit comment. + */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["reaction"][]; + }; + "404": unknown; + "415": unknown; + }; + }; + /** + * Create a reaction to a [commit comment](https://docs.github.com/rest/reference/repos#comments). A response with a `Status: 200 OK` means that you already added the reaction type to this commit comment. + */ + "reactions/create-for-commit-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + comment_id: components["parameters"]["comment_id"]; + }; + }; + requestBody: { + "application/json": { + /** + * The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the commit comment. + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + }; + }; + responses: { + /** + * Reaction exists + */ + "200": { + "application/json": components["schemas"]["reaction"]; + }; + /** + * Reaction created + */ + "201": { + "application/json": components["schemas"]["reaction"]; + }; + "415": unknown; + "422": unknown; + }; + }; + /** + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/comments/:comment_id/reactions/:reaction_id`. + * + * Delete a reaction to a [commit comment](https://docs.github.com/rest/reference/repos#comments). + */ + "reactions/delete-for-commit-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + comment_id: components["parameters"]["comment_id"]; + reaction_id: components["parameters"]["reaction-id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + "repos/list-commits": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + /** + * SHA or branch to start listing commits from. Default: the repository’s default branch (usually `master`). + */ + sha?: string; + /** + * Only commits containing this file path will be returned. + */ + path?: string; + /** + * GitHub login or email address by which to filter by commit author. + */ + author?: string; + since?: components["parameters"]["since"]; + /** + * Only commits before this date will be returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + until?: string; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["commit"][]; + }; + "400": unknown; + "404": unknown; + "409": unknown; + "500": unknown; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Returns all branches where the given commit SHA is the HEAD, or latest commit for the branch. + */ + "repos/list-branches-for-head-commit": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + commit_sha: components["parameters"]["commit_sha"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["branch-short"][]; + }; + "415": unknown; + "422": unknown; + }; + }; + /** + * Use the `:commit_sha` to specify the commit that will have its comments listed. + */ + "repos/list-comments-for-commit": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + commit_sha: components["parameters"]["commit_sha"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["commit-comment"][]; + }; + }; + }; + /** + * Create a comment for a commit using its `:commit_sha`. + * + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. + */ + "repos/create-commit-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + commit_sha: components["parameters"]["commit_sha"]; + }; + }; + requestBody: { + "application/json": { + /** + * The contents of the comment. + */ + body: string; + /** + * Relative path of the file to comment on. + */ + path?: string; + /** + * Line index in the diff to comment on. + */ + position?: number; + /** + * **Deprecated**. Use **position** parameter instead. Line number in the file to comment on. + */ + line?: number; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["commit-comment"]; + }; + "403": unknown; + "422": unknown; + }; + }; + /** + * Lists all pull requests containing the provided commit SHA, which can be from any point in the commit history. The results will include open and closed pull requests. Additional preview headers may be required to see certain details for associated pull requests, such as whether a pull request is in a draft state. For more information about previews that might affect this endpoint, see the [List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests) endpoint. + */ + "repos/list-pull-requests-associated-with-commit": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + commit_sha: components["parameters"]["commit_sha"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["pull-request-simple"][]; + }; + "415": unknown; + }; + }; + /** + * Returns the contents of a single commit reference. You must have `read` access for the repository to use this endpoint. + * + * **Note:** If there are more than 300 files in the commit diff, the response will include pagination link headers for the remaining files, up to a limit of 3000 files. Each page contains the static commit information, and the only changes are to the file listing. + * + * You can pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch `diff` and `patch` formats. Diffs with binary data will have no `patch` property. + * + * To return only the SHA-1 hash of the commit reference, you can provide the `sha` custom [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) in the `Accept` header. You can use this endpoint to check if a remote reference's SHA-1 hash is the same as your local reference's SHA-1 hash by providing the local SHA-1 reference as the ETag. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + "repos/get-commit": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** + * ref+ parameter + */ + ref: string; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["commit"]; + }; + "404": unknown; + "422": unknown; + "500": unknown; + }; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Lists check runs for a commit ref. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository. + */ + "checks/list-for-ref": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** + * ref+ parameter + */ + ref: string; + }; + query: { + check_name?: components["parameters"]["check_name"]; + status?: components["parameters"]["status"]; + /** + * Filters check runs by their `completed_at` timestamp. Can be one of `latest` (returning the most recent check runs) or `all`. + */ + filter?: "latest" | "all"; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": { + total_count?: number; + check_runs?: components["schemas"]["check-run"][]; + }; + }; + }; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * + * Lists check suites for a commit `ref`. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to list check suites. OAuth Apps and authenticated users must have the `repo` scope to get check suites in a private repository. + */ + "checks/list-suites-for-ref": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** + * ref+ parameter + */ + ref: string; + }; + query: { + /** + * Filters check suites by GitHub App `id`. + */ + app_id?: number; + check_name?: components["parameters"]["check_name"]; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": { + total_count?: number; + check_suites?: components["schemas"]["check-suite"][]; + }; + }; + }; + }; + /** + * Users with pull access in a repository can access a combined view of commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. + * + * The most recent status for each context is returned, up to 100. This field [paginates](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination) if there are over 100 contexts. + * + * Additionally, a combined `state` is returned. The `state` is one of: + * + * * **failure** if any of the contexts report as `error` or `failure` + * * **pending** if there are no statuses or a context is `pending` + * * **success** if the latest status for all contexts is `success` + */ + "repos/get-combined-status-for-ref": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** + * ref+ parameter + */ + ref: string; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["combined-commit-status"]; + }; + "404": unknown; + }; + }; + /** + * Users with pull access in a repository can view commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. Statuses are returned in reverse chronological order. The first status in the list will be the latest one. + * + * This resource is also available via a legacy route: `GET /repos/:owner/:repo/statuses/:ref`. + */ + "repos/list-commit-statuses-for-ref": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** + * ref+ parameter + */ + ref: string; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["status"][]; + }; + "301": never; + }; + }; + /** + * This method returns the contents of the repository's code of conduct file, if one is detected. + */ + "codes-of-conduct/get-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["code-of-conduct"]; + }; + }; + }; + /** + * This endpoint will return all community profile metrics, including an + * overall health score, repository description, the presence of documentation, detected + * code of conduct, detected license, and the presence of ISSUE\_TEMPLATE, PULL\_REQUEST\_TEMPLATE, + * README, and CONTRIBUTING files. + * + * `content_reports_enabled` is only returned for organization-owned repositories. + */ + "repos/get-community-profile-metrics": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["community-profile"]; + }; + }; + }; + /** + * Both `:base` and `:head` must be branch names in `:repo`. To compare branches across other repositories in the same network as `:repo`, use the format `:branch`. + * + * The response from the API is equivalent to running the `git log base..head` command; however, commits are returned in chronological order. Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. + * + * The response also includes details on the files that were changed between the two commits. This includes the status of the change (for example, if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a `renamed` status have a `previous_filename` field showing the previous filename of the file, and files with a `modified` status have a `patch` field showing the changes made to the file. + * + * **Working with large comparisons** + * + * The response will include a comparison of up to 250 commits. If you are working with a larger commit range, you can use the [List commits](https://docs.github.com/rest/reference/repos#list-commits) to enumerate all commits in the range. + * + * For comparisons with extremely large diffs, you may receive an error response indicating that the diff took too long + * to generate. You can typically resolve this error by using a smaller commit range. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + "repos/compare-commits": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + base: string; + head: string; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["commit-comparison"]; + }; + "404": unknown; + "500": unknown; + }; + }; + /** + * Gets the contents of a file or directory in a repository. Specify the file path or directory in `:path`. If you omit + * `:path`, you will receive the contents of all files in the repository. + * + * Files and symlinks support [a custom media type](https://docs.github.com/rest/reference/repos#custom-media-types) for + * retrieving the raw content or rendered HTML (when supported). All content types support [a custom media + * type](https://docs.github.com/rest/reference/repos#custom-media-types) to ensure the content is returned in a consistent + * object format. + * + * **Note**: + * * To get a repository's contents recursively, you can [recursively get the tree](https://docs.github.com/rest/reference/git#trees). + * * This API has an upper limit of 1,000 files for a directory. If you need to retrieve more files, use the [Git Trees + * API](https://docs.github.com/rest/reference/git#get-a-tree). + * * This API supports files up to 1 megabyte in size. + * + * #### If the content is a directory + * The response will be an array of objects, one object for each item in the directory. + * When listing the contents of a directory, submodules have their "type" specified as "file". Logically, the value + * _should_ be "submodule". This behavior exists in API v3 [for backwards compatibility purposes](https://git.io/v1YCW). + * In the next major version of the API, the type will be returned as "submodule". + * + * #### If the content is a symlink + * If the requested `:path` points to a symlink, and the symlink's target is a normal file in the repository, then the + * API responds with the content of the file (in the format shown in the example. Otherwise, the API responds with an object + * describing the symlink itself. + * + * #### If the content is a submodule + * The `submodule_git_url` identifies the location of the submodule repository, and the `sha` identifies a specific + * commit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out + * the submodule at that specific commit. + * + * If the submodule repository is not hosted on github.com, the Git URLs (`git_url` and `_links["git"]`) and the + * github.com URLs (`html_url` and `_links["html"]`) will have null values. + */ + "repos/get-content": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** + * path+ parameter + */ + path: string; + }; + query: { + /** + * The name of the commit/branch/tag. Default: the repository’s default branch (usually `master`) + */ + ref?: string; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/vnd.github.v3.object": components["schemas"]["content-tree"]; + "application/json": + | components["schemas"]["content-directory"] + | components["schemas"]["content-file"] + | components["schemas"]["content-symlink"] + | components["schemas"]["content-submodule"]; + }; + "302": never; + "403": unknown; + "404": unknown; + }; + }; + /** + * Creates a new file or replaces an existing file in a repository. + */ + "repos/create-or-update-file-contents": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** + * path+ parameter + */ + path: string; + }; + }; + requestBody: { + "application/json": { + /** + * The commit message. + */ + message: string; + /** + * The new file content, using Base64 encoding. + */ + content: string; + /** + * **Required if you are updating a file**. The blob SHA of the file being replaced. + */ + sha?: string; + /** + * The branch name. Default: the repository’s default branch (usually `master`) + */ + branch?: string; + /** + * The person that committed the file. Default: the authenticated user. + */ + committer?: { + /** + * The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted. + */ + name: string; + /** + * The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted. + */ + email: string; + date?: string; + }; + /** + * The author of the file. Default: The `committer` or the authenticated user if you omit `committer`. + */ + author?: { + /** + * The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted. + */ + name: string; + /** + * The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted. + */ + email: string; + date?: string; + }; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["file-commit"]; + }; + /** + * response + */ + "201": { + "application/json": components["schemas"]["file-commit"]; + }; + "404": unknown; + "409": unknown; + "422": unknown; + }; + }; + /** + * Deletes a file in a repository. + * + * You can provide an additional `committer` parameter, which is an object containing information about the committer. Or, you can provide an `author` parameter, which is an object containing information about the author. + * + * The `author` section is optional and is filled in with the `committer` information if omitted. If the `committer` information is omitted, the authenticated user's information is used. + * + * You must provide values for both `name` and `email`, whether you choose to use `author` or `committer`. Otherwise, you'll receive a `422` status code. + */ + "repos/delete-file": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** + * path+ parameter + */ + path: string; + }; + }; + requestBody: { + "application/json": { + /** + * The commit message. + */ + message: string; + /** + * The blob SHA of the file being replaced. + */ + sha: string; + /** + * The branch name. Default: the repository’s default branch (usually `master`) + */ + branch?: string; + /** + * object containing information about the committer. + */ + committer?: { + /** + * The name of the author (or committer) of the commit + */ + name?: string; + /** + * The email of the author (or committer) of the commit + */ + email?: string; + }; + /** + * object containing information about the author. + */ + author?: { + /** + * The name of the author (or committer) of the commit + */ + name?: string; + /** + * The email of the author (or committer) of the commit + */ + email?: string; + }; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["file-commit"]; + }; + "404": unknown; + "409": unknown; + "422": unknown; + "503": unknown; + }; + }; + /** + * Lists contributors to the specified repository and sorts them by the number of commits per contributor in descending order. This endpoint may return information that is a few hours old because the GitHub REST API v3 caches contributor data to improve performance. + * + * GitHub identifies contributors by author email address. This endpoint groups contribution counts by GitHub user, which includes all associated email addresses. To improve performance, only the first 500 author email addresses in the repository link to GitHub users. The rest will appear as anonymous contributors without associated GitHub user information. + */ + "repos/list-contributors": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + /** + * Set to `1` or `true` to include anonymous contributors in results. + */ + anon?: string; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * Response if repository contains content + */ + "200": { + "application/json": components["schemas"]["contributor"][]; + }; + /** + * Response if repository is empty + */ + "204": never; + "403": unknown; + "404": unknown; + }; + }; + /** + * Simple filtering of deployments is available via query parameters: + */ + "repos/list-deployments": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + /** + * The SHA recorded at creation time. + */ + sha?: string; + /** + * The name of the ref. This can be a branch, tag, or SHA. + */ + ref?: string; + /** + * The name of the task for the deployment (e.g., `deploy` or `deploy:migrations`). + */ + task?: string; + /** + * The name of the environment that was deployed to (e.g., `staging` or `production`). + */ + environment?: string; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["deployment"][]; + }; + }; + }; + /** + * Deployments offer a few configurable parameters with certain defaults. + * + * The `ref` parameter can be any named branch, tag, or SHA. At GitHub we often deploy branches and verify them + * before we merge a pull request. + * + * The `environment` parameter allows deployments to be issued to different runtime environments. Teams often have + * multiple environments for verifying their applications, such as `production`, `staging`, and `qa`. This parameter + * makes it easier to track which environments have requested deployments. The default environment is `production`. + * + * The `auto_merge` parameter is used to ensure that the requested ref is not behind the repository's default branch. If + * the ref _is_ behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds, + * the API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will + * return a failure response. + * + * By default, [commit statuses](https://docs.github.com/rest/reference/repos#statuses) for every submitted context must be in a `success` + * state. The `required_contexts` parameter allows you to specify a subset of contexts that must be `success`, or to + * specify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do + * not require any contexts or create any commit statuses, the deployment will always succeed. + * + * The `payload` parameter is available for any extra information that a deployment system might need. It is a JSON text + * field that will be passed on when a deployment event is dispatched. + * + * The `task` parameter is used by the deployment system to allow different execution paths. In the web world this might + * be `deploy:migrations` to run schema changes on the system. In the compiled world this could be a flag to compile an + * application with debugging enabled. + * + * Users with `repo` or `repo_deployment` scopes can create a deployment for a given ref. + * + * #### Merged branch response + * You will see this response when GitHub automatically merges the base branch into the topic branch instead of creating + * a deployment. This auto-merge happens when: + * * Auto-merge option is enabled in the repository + * * Topic branch does not include the latest changes on the base branch, which is `master` in the response example + * * There are no merge conflicts + * + * If there are no new commits in the base branch, a new request to create a deployment should give a successful + * response. + * + * #### Merge conflict response + * This error happens when the `auto_merge` option is enabled and when the default branch (in this case `master`), can't + * be merged into the branch that's being deployed (in this case `topic-branch`), due to merge conflicts. + * + * #### Failed commit status checks + * This error happens when the `required_contexts` parameter indicates that one or more contexts need to have a `success` + * status for the commit to be deployed, but one or more of the required contexts do not have a state of `success`. + */ + "repos/create-deployment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + "application/json": { + /** + * The ref to deploy. This can be a branch, tag, or SHA. + */ + ref: string; + /** + * Specifies a task to execute (e.g., `deploy` or `deploy:migrations`). + */ + task?: string; + /** + * Attempts to automatically merge the default branch into the requested ref, if it's behind the default branch. + */ + auto_merge?: boolean; + /** + * The [status](https://docs.github.com/rest/reference/repos#statuses) contexts to verify against commit status checks. If you omit this parameter, GitHub verifies all unique contexts before creating a deployment. To bypass checking entirely, pass an empty array. Defaults to all unique contexts. + */ + required_contexts?: string[]; + /** + * JSON payload with extra information about the deployment. + */ + payload?: string; + /** + * Name for the target deployment environment (e.g., `production`, `staging`, `qa`). + */ + environment?: string; + /** + * Short description of the deployment. + */ + description?: string | null; + /** + * Specifies if the given environment is specific to the deployment and will no longer exist at some point in the future. Default: `false` + * **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://docs.github.com/rest/overview/api-previews#enhanced-deployments) custom media type. **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://docs.github.com/rest/overview/api-previews#enhanced-deployments) custom media type. + */ + transient_environment?: boolean; + /** + * Specifies if the given environment is one that end-users directly interact with. Default: `true` when `environment` is `production` and `false` otherwise. + * **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://docs.github.com/rest/overview/api-previews#enhanced-deployments) custom media type. + */ + production_environment?: boolean; + created_at?: string; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["deployment"]; + }; + /** + * Merged branch response + */ + "202": { + "application/json": { message?: string }; + }; + /** + * response + */ + "409": { + "application/json": { message?: string; documentation_url?: string }; + }; + "422": unknown; + }; + }; + "repos/get-deployment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + deployment_id: components["parameters"]["deployment_id"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["deployment"]; + }; + "404": unknown; + }; + }; + /** + * To ensure there can always be an active deployment, you can only delete an _inactive_ deployment. Anyone with `repo` or `repo_deployment` scopes can delete an inactive deployment. + * + * To set a deployment as inactive, you must: + * + * * Create a new deployment that is active so that the system has a record of the current state, then delete the previously active deployment. + * * Mark the active deployment as inactive by adding any non-successful deployment status. + * + * For more information, see "[Create a deployment](https://docs.github.com/rest/reference/repos/deployments/#create-a-deployment)" and "[Create a deployment status](https://docs.github.com/rest/reference/repos#create-a-deployment-status)." + */ + "repos/delete-deployment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + deployment_id: components["parameters"]["deployment_id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "404": unknown; + "422": unknown; + }; + }; + /** + * Users with pull access can view deployment statuses for a deployment: + */ + "repos/list-deployment-statuses": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + deployment_id: components["parameters"]["deployment_id"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["deployment-status"][]; + }; + "404": unknown; + }; + }; + /** + * Users with `push` access can create deployment statuses for a given deployment. + * + * GitHub Apps require `read & write` access to "Deployments" and `read-only` access to "Repo contents" (for private repos). OAuth Apps require the `repo_deployment` scope. + */ + "repos/create-deployment-status": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + deployment_id: components["parameters"]["deployment_id"]; + }; + }; + requestBody: { + "application/json": { + /** + * The state of the status. Can be one of `error`, `failure`, `inactive`, `in_progress`, `queued` `pending`, or `success`. **Note:** To use the `inactive` state, you must provide the [`application/vnd.github.ant-man-preview+json`](https://docs.github.com/rest/overview/api-previews#enhanced-deployments) custom media type. To use the `in_progress` and `queued` states, you must provide the [`application/vnd.github.flash-preview+json`](https://docs.github.com/rest/overview/api-previews#deployment-statuses) custom media type. When you set a transient deployment to `inactive`, the deployment will be shown as `destroyed` in GitHub. + */ + state: + | "error" + | "failure" + | "inactive" + | "in_progress" + | "queued" + | "pending" + | "success"; + /** + * The target URL to associate with this status. This URL should contain output to keep the user updated while the task is running or serve as historical information for what happened in the deployment. **Note:** It's recommended to use the `log_url` parameter, which replaces `target_url`. + */ + target_url?: string; + /** + * The full URL of the deployment's output. This parameter replaces `target_url`. We will continue to accept `target_url` to support legacy uses, but we recommend replacing `target_url` with `log_url`. Setting `log_url` will automatically set `target_url` to the same value. Default: `""` + * **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://docs.github.com/rest/overview/api-previews#enhanced-deployments) custom media type. **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://docs.github.com/rest/overview/api-previews#enhanced-deployments) custom media type. + */ + log_url?: string; + /** + * A short description of the status. The maximum description length is 140 characters. + */ + description?: string; + /** + * Name for the target deployment environment, which can be changed when setting a deploy status. For example, `production`, `staging`, or `qa`. **Note:** This parameter requires you to use the [`application/vnd.github.flash-preview+json`](https://docs.github.com/rest/overview/api-previews#deployment-statuses) custom media type. + */ + environment?: "production" | "staging" | "qa"; + /** + * Sets the URL for accessing your environment. Default: `""` + * **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://docs.github.com/rest/overview/api-previews#enhanced-deployments) custom media type. **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://docs.github.com/rest/overview/api-previews#enhanced-deployments) custom media type. + */ + environment_url?: string; + /** + * Adds a new `inactive` status to all prior non-transient, non-production environment deployments with the same repository and `environment` name as the created status's deployment. An `inactive` status is only added to deployments that had a `success` state. Default: `true` + * **Note:** To add an `inactive` status to `production` environments, you must use the [`application/vnd.github.flash-preview+json`](https://docs.github.com/rest/overview/api-previews#deployment-statuses) custom media type. + * **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://docs.github.com/rest/overview/api-previews#enhanced-deployments) custom media type. + */ + auto_inactive?: boolean; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["deployment-status"]; + }; + "422": unknown; + }; + }; + /** + * Users with pull access can view a deployment status for a deployment: + */ + "repos/get-deployment-status": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + deployment_id: components["parameters"]["deployment_id"]; + status_id: number; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["deployment-status"]; + }; + "404": unknown; + "415": unknown; + }; + }; + /** + * You can use this endpoint to trigger a webhook event called `repository_dispatch` when you want activity that happens outside of GitHub to trigger a GitHub Actions workflow or GitHub App webhook. You must configure your GitHub Actions workflow or GitHub App to run when the `repository_dispatch` event occurs. For an example `repository_dispatch` webhook payload, see "[RepositoryDispatchEvent](https://docs.github.com/webhooks/event-payloads/#repository_dispatch)." + * + * The `client_payload` parameter is available for any extra information that your workflow might need. This parameter is a JSON payload that will be passed on when the webhook event is dispatched. For example, the `client_payload` can include a message that a user would like to send using a GitHub Actions workflow. Or the `client_payload` can be used as a test to debug your workflow. + * + * To give you write access to the repository, you must use a personal access token with the `repo` scope. For more information, see "[Creating a personal access token for the command line](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line)" in the GitHub Help documentation. + * + * This input example shows how you can use the `client_payload` as a test to debug your workflow. + */ + "repos/create-dispatch-event": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + "application/json": { + /** + * A custom webhook event name. + */ + event_type: string; + /** + * JSON payload with extra information about the webhook event that your action or worklow may use. + */ + client_payload?: { [key: string]: any }; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "422": unknown; + }; + }; + "activity/list-repo-events": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["event"][]; + }; + }; + }; + "repos/list-forks": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + /** + * The sort order. Can be either `newest`, `oldest`, or `stargazers`. + */ + sort?: "newest" | "oldest" | "stargazers"; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["minimal-repository"][]; + }; + "400": unknown; + }; + }; + /** + * Create a fork for the authenticated user. + * + * **Note**: Forking a Repository happens asynchronously. You may have to wait a short period of time before you can access the git objects. If this takes longer than 5 minutes, be sure to contact [GitHub Support](https://github.com/contact) or [GitHub Premium Support](https://premium.githubsupport.com). + */ + "repos/create-fork": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + "application/json": { + /** + * Optional parameter to specify the organization name if forking into an organization. + */ + organization?: string; + }; + }; + responses: { + /** + * response + */ + "202": { + "application/json": components["schemas"]["repository"]; + }; + "400": unknown; + "403": unknown; + "404": unknown; + "422": unknown; + }; + }; + "git/create-blob": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + "application/json": { + /** + * The new blob's content. + */ + content: string; + /** + * The encoding used for `content`. Currently, `"utf-8"` and `"base64"` are supported. + */ + encoding?: string; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["short-blob"]; + }; + "403": unknown; + "404": unknown; + "409": unknown; + "422": unknown; + }; + }; + /** + * The `content` in the response will always be Base64 encoded. + * + * _Note_: This API supports blobs up to 100 megabytes in size. + */ + "git/get-blob": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + file_sha: string; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["blob"]; + }; + "403": unknown; + "404": unknown; + "422": unknown; + }; + }; + /** + * Creates a new Git [commit object](https://git-scm.com/book/en/v1/Git-Internals-Git-Objects#Commit-Objects). + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + "git/create-commit": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + "application/json": { + /** + * The commit message + */ + message: string; + /** + * The SHA of the tree object this commit points to + */ + tree: string; + /** + * The SHAs of the commits that were the parents of this commit. If omitted or empty, the commit will be written as a root commit. For a single parent, an array of one SHA should be provided; for a merge commit, an array of more than one should be provided. + */ + parents?: string[]; + /** + * Information about the author of the commit. By default, the `author` will be the authenticated user and the current date. See the `author` and `committer` object below for details. + */ + author?: { + /** + * The name of the author (or committer) of the commit + */ + name?: string; + /** + * The email of the author (or committer) of the commit + */ + email?: string; + /** + * Indicates when this commit was authored (or committed). This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + date?: string; + }; + /** + * Information about the person who is making the commit. By default, `committer` will use the information set in `author`. See the `author` and `committer` object below for details. + */ + committer?: { + /** + * The name of the author (or committer) of the commit + */ + name?: string; + /** + * The email of the author (or committer) of the commit + */ + email?: string; + /** + * Indicates when this commit was authored (or committed). This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + date?: string; + }; + /** + * The [PGP signature](https://en.wikipedia.org/wiki/Pretty_Good_Privacy) of the commit. GitHub adds the signature to the `gpgsig` header of the created commit. For a commit signature to be verifiable by Git or GitHub, it must be an ASCII-armored detached PGP signature over the string commit as it would be written to the object database. To pass a `signature` parameter, you need to first manually create a valid PGP signature, which can be complicated. You may find it easier to [use the command line](https://git-scm.com/book/id/v2/Git-Tools-Signing-Your-Work) to create signed commits. + */ + signature?: string; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["git-commit"]; + }; + "404": unknown; + "422": unknown; + }; + }; + /** + * Gets a Git [commit object](https://git-scm.com/book/en/v1/Git-Internals-Git-Objects#Commit-Objects). + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + "git/get-commit": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + commit_sha: components["parameters"]["commit_sha"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["git-commit"]; + }; + "404": unknown; + }; + }; + /** + * Returns an array of references from your Git database that match the supplied name. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't exist in the repository, but existing refs start with `:ref`, they will be returned as an array. + * + * When you use this endpoint without providing a `:ref`, it will return an array of all the references from your Git database, including notes and stashes if they exist on the server. Anything in the namespace is returned, not just `heads` and `tags`. + * + * **Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/reference/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". + * + * If you request matching references for a branch named `feature` but the branch `feature` doesn't exist, the response can still include other matching head refs that start with the word `feature`, such as `featureA` and `featureB`. + */ + "git/list-matching-refs": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** + * ref+ parameter + */ + ref: string; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["git-ref"][]; + }; + }; + }; + /** + * Returns a single reference from your Git database. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't match an existing ref, a `404` is returned. + * + * **Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/reference/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". + */ + "git/get-ref": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** + * ref+ parameter + */ + ref: string; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["git-ref"]; + }; + "404": unknown; + }; + }; + /** + * Creates a reference for your repository. You are unable to create new references for empty repositories, even if the commit SHA-1 hash used exists. Empty repositories are repositories without branches. + */ + "git/create-ref": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + "application/json": { + /** + * The name of the fully qualified reference (ie: `refs/heads/master`). If it doesn't start with 'refs' and have at least two slashes, it will be rejected. + */ + ref: string; + /** + * The SHA1 value for this reference. + */ + sha: string; + key?: string; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["git-ref"]; + }; + "422": unknown; + }; + }; + "git/update-ref": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** + * ref+ parameter + */ + ref: string; + }; + }; + requestBody: { + "application/json": { + /** + * The SHA1 value to set this reference to + */ + sha: string; + /** + * Indicates whether to force the update or to make sure the update is a fast-forward update. Leaving this out or setting it to `false` will make sure you're not overwriting work. + */ + force?: boolean; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["git-ref"]; + }; + "422": unknown; + }; + }; + "git/delete-ref": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** + * ref+ parameter + */ + ref: string; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "422": unknown; + }; + }; + /** + * Note that creating a tag object does not create the reference that makes a tag in Git. If you want to create an annotated tag in Git, you have to do this call to create the tag object, and then [create](https://docs.github.com/rest/reference/git#create-a-reference) the `refs/tags/[tag]` reference. If you want to create a lightweight tag, you only have to [create](https://docs.github.com/rest/reference/git#create-a-reference) the tag reference - this call would be unnecessary. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + "git/create-tag": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + "application/json": { + /** + * The tag's name. This is typically a version (e.g., "v0.0.1"). + */ + tag: string; + /** + * The tag message. + */ + message: string; + /** + * The SHA of the git object this is tagging. + */ + object: string; + /** + * The type of the object we're tagging. Normally this is a `commit` but it can also be a `tree` or a `blob`. + */ + type: "commit" | "tree" | "blob"; + /** + * An object with information about the individual creating the tag. + */ + tagger?: { + /** + * The name of the author of the tag + */ + name?: string; + /** + * The email of the author of the tag + */ + email?: string; + /** + * When this object was tagged. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + date?: string; + }; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["git-tag"]; + }; + "422": unknown; + }; + }; + /** + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + "git/get-tag": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + tag_sha: string; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["git-tag"]; + }; + "404": unknown; + }; + }; + /** + * The tree creation API accepts nested entries. If you specify both a tree and a nested path modifying that tree, this endpoint will overwrite the contents of the tree with the new path contents, and create a new tree structure. + * + * If you use this endpoint to add, delete, or modify the file contents in a tree, you will need to commit the tree and then update a branch to point to the commit. For more information see "[Create a commit](https://docs.github.com/rest/reference/git#create-a-commit)" and "[Update a reference](https://docs.github.com/rest/reference/git#update-a-reference)." + */ + "git/create-tree": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + "application/json": { + /** + * Objects (of `path`, `mode`, `type`, and `sha`) specifying a tree structure. + */ + tree: { + /** + * The file referenced in the tree. + */ + path?: string; + /** + * The file mode; one of `100644` for file (blob), `100755` for executable (blob), `040000` for subdirectory (tree), `160000` for submodule (commit), or `120000` for a blob that specifies the path of a symlink. + */ + mode?: "100644" | "100755" | "040000" | "160000" | "120000"; + /** + * Either `blob`, `tree`, or `commit`. + */ + type?: "blob" | "tree" | "commit"; + /** + * The SHA1 checksum ID of the object in the tree. Also called `tree.sha`. If the value is `null` then the file will be deleted. + * + * **Note:** Use either `tree.sha` or `content` to specify the contents of the entry. Using both `tree.sha` and `content` will return an error. + */ + sha?: string | null; + /** + * The content you want this file to have. GitHub will write this blob out and use that SHA for this entry. Use either this, or `tree.sha`. + * + * **Note:** Use either `tree.sha` or `content` to specify the contents of the entry. Using both `tree.sha` and `content` will return an error. + */ + content?: string; + }[]; + /** + * The SHA1 of the tree you want to update with new data. If you don't set this, the commit will be created on top of everything; however, it will only contain your change, the rest of your files will show up as deleted. + */ + base_tree?: string; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["git-tree"]; + }; + "403": unknown; + "404": unknown; + "422": unknown; + }; + }; + /** + * Returns a single tree using the SHA1 value for that tree. + * + * If `truncated` is `true` in the response then the number of items in the `tree` array exceeded our maximum limit. If you need to fetch more items, use the non-recursive method of fetching trees, and fetch one sub-tree at a time. + */ + "git/get-tree": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + tree_sha: string; + }; + query: { + /** + * Setting this parameter to any value returns the objects or subtrees referenced by the tree specified in `:tree_sha`. For example, setting `recursive` to any of the following will enable returning objects or subtrees: `0`, `1`, `"true"`, and `"false"`. Omit this parameter to prevent recursively returning objects or subtrees. + */ + recursive?: string; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["git-tree"]; + }; + "404": unknown; + "422": unknown; + }; + }; + "repos/list-webhooks": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["hook"][]; + }; + "404": unknown; + }; + }; + /** + * Repositories can have multiple webhooks installed. Each webhook should have a unique `config`. Multiple webhooks can + * share the same `config` as long as those webhooks do not have any `events` that overlap. + */ + "repos/create-webhook": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + "application/json": { + /** + * Use `web` to create a webhook. Default: `web`. This parameter only accepts the value `web`. + */ + name?: string; + /** + * Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/rest/reference/repos#create-hook-config-params). + */ + config: { + url: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + token?: string; + digest?: string; + }; + /** + * Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. + */ + events?: string[]; + /** + * Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + */ + active?: boolean; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["hook"]; + }; + "403": unknown; + "404": unknown; + "422": unknown; + }; + }; + /** + * Returns a webhook configured in a repository. To get only the webhook `config` properties, see "[Get a webhook configuration for a repository](/rest/reference/repos#get-a-webhook-configuration-for-a-repository)." + */ + "repos/get-webhook": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["hook"]; + }; + "404": unknown; + }; + }; + /** + * Updates a webhook configured in a repository. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for a repository](/rest/reference/repos#update-a-webhook-configuration-for-a-repository)." + */ + "repos/update-webhook": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + requestBody: { + "application/json": { + /** + * Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/rest/reference/repos#create-hook-config-params). + */ + config?: { + url: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + address?: string; + room?: string; + }; + /** + * Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. This replaces the entire array of events. + */ + events?: string[]; + /** + * Determines a list of events to be added to the list of events that the Hook triggers for. + */ + add_events?: string[]; + /** + * Determines a list of events to be removed from the list of events that the Hook triggers for. + */ + remove_events?: string[]; + /** + * Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + */ + active?: boolean; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["hook"]; + }; + "404": unknown; + "422": unknown; + }; + }; + "repos/delete-webhook": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "404": unknown; + }; + }; + /** + * Returns the webhook configuration for a repository. To get more information about the webhook, including the `active` state and `events`, use "[Get a repository webhook](/rest/reference/orgs#get-a-repository-webhook)." + * + * Access tokens must have the `read:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:read` permission. + */ + "repos/get-webhook-config-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** + * Default response + */ + "200": { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; + /** + * Updates the webhook configuration for a repository. To update more information about the webhook, including the `active` state and `events`, use "[Update a repository webhook](/rest/reference/orgs#update-a-repository-webhook)." + * + * Access tokens must have the `write:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:write` permission. + */ + "repos/update-webhook-config-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + requestBody: { + "application/json": { + url?: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + }; + }; + responses: { + /** + * Default response + */ + "200": { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; + /** + * This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. + */ + "repos/ping-webhook": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "404": unknown; + }; + }; + /** + * This will trigger the hook with the latest push to the current repository if the hook is subscribed to `push` events. If the hook is not subscribed to `push` events, the server will respond with 204 but no test POST will be generated. + * + * **Note**: Previously `/repos/:owner/:repo/hooks/:hook_id/test` + */ + "repos/test-push-webhook": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "404": unknown; + }; + }; + /** + * View the progress of an import. + * + * **Import status** + * + * This section includes details about the possible values of the `status` field of the Import Progress response. + * + * An import that does not have errors will progress through these steps: + * + * * `detecting` - the "detection" step of the import is in progress because the request did not include a `vcs` parameter. The import is identifying the type of source control present at the URL. + * * `importing` - the "raw" step of the import is in progress. This is where commit data is fetched from the original repository. The import progress response will include `commit_count` (the total number of raw commits that will be imported) and `percent` (0 - 100, the current progress through the import). + * * `mapping` - the "rewrite" step of the import is in progress. This is where SVN branches are converted to Git branches, and where author updates are applied. The import progress response does not include progress information. + * * `pushing` - the "push" step of the import is in progress. This is where the importer updates the repository on GitHub. The import progress response will include `push_percent`, which is the percent value reported by `git push` when it is "Writing objects". + * * `complete` - the import is complete, and the repository is ready on GitHub. + * + * If there are problems, you will see one of these in the `status` field: + * + * * `auth_failed` - the import requires authentication in order to connect to the original repository. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/reference/migrations#update-an-import) section. + * * `error` - the import encountered an error. The import progress response will include the `failed_step` and an error message. Contact [GitHub Support](https://github.com/contact) or [GitHub Premium Support](https://premium.githubsupport.com) for more information. + * * `detection_needs_auth` - the importer requires authentication for the originating repository to continue detection. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/reference/migrations#update-an-import) section. + * * `detection_found_nothing` - the importer didn't recognize any source control at the URL. To resolve, [Cancel the import](https://docs.github.com/rest/reference/migrations#cancel-an-import) and [retry](https://docs.github.com/rest/reference/migrations#start-an-import) with the correct URL. + * * `detection_found_multiple` - the importer found several projects or repositories at the provided URL. When this is the case, the Import Progress response will also include a `project_choices` field with the possible project choices as values. To update project choice, please see the [Update an import](https://docs.github.com/rest/reference/migrations#update-an-import) section. + * + * **The project_choices field** + * + * When multiple projects are found at the provided URL, the response hash will include a `project_choices` field, the value of which is an array of hashes each representing a project choice. The exact key/value pairs of the project hashes will differ depending on the version control type. + * + * **Git LFS related fields** + * + * This section includes details about Git LFS related fields that may be present in the Import Progress response. + * + * * `use_lfs` - describes whether the import has been opted in or out of using Git LFS. The value can be `opt_in`, `opt_out`, or `undecided` if no action has been taken. + * * `has_large_files` - the boolean value describing whether files larger than 100MB were found during the `importing` step. + * * `large_files_size` - the total size in gigabytes of files larger than 100MB found in the originating repository. + * * `large_files_count` - the total number of files larger than 100MB found in the originating repository. To see a list of these files, make a "Get Large Files" request. + */ + "migrations/get-import-status": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["import"]; + }; + "404": unknown; + }; + }; + /** + * Start a source import to a GitHub repository using GitHub Importer. + */ + "migrations/start-import": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + "application/json": { + /** + * The URL of the originating repository. + */ + vcs_url: string; + /** + * The originating VCS type. Can be one of `subversion`, `git`, `mercurial`, or `tfvc`. Please be aware that without this parameter, the import job will take additional time to detect the VCS type before beginning the import. This detection step will be reflected in the response. + */ + vcs?: "subversion" | "git" | "mercurial" | "tfvc"; + /** + * If authentication is required, the username to provide to `vcs_url`. + */ + vcs_username?: string; + /** + * If authentication is required, the password to provide to `vcs_url`. + */ + vcs_password?: string; + /** + * For a tfvc import, the name of the project that is being imported. + */ + tfvc_project?: string; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["import"]; + }; + "404": unknown; + "422": unknown; + }; + }; + /** + * An import can be updated with credentials or a project choice by passing in the appropriate parameters in this API + * request. If no parameters are provided, the import will be restarted. + */ + "migrations/update-import": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + "application/json": { + /** + * The username to provide to the originating repository. + */ + vcs_username?: string; + /** + * The password to provide to the originating repository. + */ + vcs_password?: string; + vcs?: string; + tfvc_project?: string; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["import"]; + }; + }; + }; + /** + * Stop an import for a repository. + */ + "migrations/cancel-import": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * Each type of source control system represents authors in a different way. For example, a Git commit author has a display name and an email address, but a Subversion commit author just has a username. The GitHub Importer will make the author information valid, but the author might not be correct. For example, it will change the bare Subversion username `hubot` into something like `hubot `. + * + * This endpoint and the [Map a commit author](https://docs.github.com/rest/reference/migrations#map-a-commit-author) endpoint allow you to provide correct Git author information. + */ + "migrations/get-commit-authors": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + since?: components["parameters"]["since-user"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["porter-author"][]; + }; + "404": unknown; + }; + }; + /** + * Update an author's identity for the import. Your application can continue updating authors any time before you push new commits to the repository. + */ + "migrations/map-commit-author": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + author_id: number; + }; + }; + requestBody: { + "application/json": { + /** + * The new Git author email. + */ + email?: string; + /** + * The new Git author name. + */ + name?: string; + remote_id?: string; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["porter-author"]; + }; + "404": unknown; + "422": unknown; + }; + }; + /** + * List files larger than 100MB found during the import + */ + "migrations/get-large-files": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["porter-large-file"][]; + }; + }; + }; + /** + * You can import repositories from Subversion, Mercurial, and TFS that include files larger than 100MB. This ability is powered by [Git LFS](https://git-lfs.github.com). You can learn more about our LFS feature and working with large files [on our help site](https://help.github.com/articles/versioning-large-files/). + */ + "migrations/set-lfs-preference": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + "application/json": { + /** + * Can be one of `opt_in` (large files will be stored using Git LFS) or `opt_out` (large files will be removed during the import). + */ + use_lfs: "opt_in" | "opt_out"; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["import"]; + }; + "422": unknown; + }; + }; + /** + * Enables an authenticated GitHub App to find the repository's installation information. The installation's account type will be either an organization or a user account, depending which account the repository belongs to. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/get-repo-installation": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["installation"]; + }; + "301": never; + "404": unknown; + }; + }; + /** + * Shows which type of GitHub user can interact with this repository and when the restriction expires. If there are no restrictions, you will see an empty response. + */ + "interactions/get-restrictions-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["interaction-limit-response"]; + }; + }; + }; + /** + * Temporarily restricts interactions to a certain type of GitHub user within the given repository. You must have owner or admin access to set these restrictions. If an interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. + */ + "interactions/set-restrictions-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + "application/json": components["schemas"]["interaction-limit"]; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["interaction-limit-response"]; + }; + /** + * Conflict + */ + "409": unknown; + }; + }; + /** + * Removes all interaction restrictions from the given repository. You must have owner or admin access to remove restrictions. If the interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. + */ + "interactions/remove-restrictions-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + /** + * Conflict + */ + "409": unknown; + }; + }; + /** + * When authenticating as a user with admin rights to a repository, this endpoint will list all currently open repository invitations. + */ + "repos/list-invitations": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["repository-invitation"][]; + }; + }; + }; + "repos/update-invitation": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + invitation_id: components["parameters"]["invitation_id"]; + }; + }; + requestBody: { + "application/json": { + /** + * The permissions that the associated user will have on the repository. Valid values are `read`, `write`, `maintain`, `triage`, and `admin`. + */ + permissions?: "read" | "write" | "maintain" | "triage" | "admin"; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["repository-invitation"]; + }; + }; + }; + "repos/delete-invitation": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + invitation_id: components["parameters"]["invitation_id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * List issues in a repository. + * + * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + */ + "issues/list-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + /** + * If an `integer` is passed, it should refer to a milestone by its `number` field. If the string `*` is passed, issues with any milestone are accepted. If the string `none` is passed, issues without milestones are returned. + */ + milestone?: string; + /** + * Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + /** + * Can be the name of a user. Pass in `none` for issues with no assigned user, and `*` for issues assigned to any user. + */ + assignee?: string; + /** + * The user that created the issue. + */ + creator?: string; + /** + * A user that's mentioned in the issue. + */ + mentioned?: string; + labels?: components["parameters"]["labels"]; + /** + * What to sort results by. Can be either `created`, `updated`, `comments`. + */ + sort?: "created" | "updated" | "comments"; + direction?: components["parameters"]["direction"]; + since?: components["parameters"]["since"]; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["issue-simple"][]; + }; + "301": never; + "404": unknown; + "422": unknown; + }; + }; + /** + * Any user with pull access to a repository can create an issue. If [issues are disabled in the repository](https://help.github.com/articles/disabling-issues/), the API returns a `410 Gone` status. + * + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-abuse-rate-limits)" for details. + */ + "issues/create": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + "application/json": { + /** + * The title of the issue. + */ + title: string; + /** + * The contents of the issue. + */ + body?: string; + /** + * Login for the user that this issue should be assigned to. _NOTE: Only users with push access can set the assignee for new issues. The assignee is silently dropped otherwise. **This field is deprecated.**_ + */ + assignee?: string | null; + /** + * The `number` of the milestone to associate this issue with. _NOTE: Only users with push access can set the milestone for new issues. The milestone is silently dropped otherwise._ + */ + milestone?: number | null; + /** + * Labels to associate with this issue. _NOTE: Only users with push access can set labels for new issues. Labels are silently dropped otherwise._ + */ + labels?: ( + | string + | { id?: number; name?: string; description?: string; color?: string } + )[]; + /** + * Logins for Users to assign to this issue. _NOTE: Only users with push access can set assignees for new issues. Assignees are silently dropped otherwise._ + */ + assignees?: string[]; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["issue"]; + }; + "403": unknown; + "404": unknown; + "410": unknown; + "422": unknown; + "503": unknown; + }; + }; + /** + * By default, Issue Comments are ordered by ascending ID. + */ + "issues/list-comments-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + sort?: components["parameters"]["sort"]; + /** + * Either `asc` or `desc`. Ignored without the `sort` parameter. + */ + direction?: "asc" | "desc"; + since?: components["parameters"]["since"]; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["issue-comment"][]; + }; + "404": unknown; + "422": unknown; + }; + }; + "issues/get-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + comment_id: components["parameters"]["comment_id"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["issue-comment"]; + }; + "404": unknown; + }; + }; + "issues/update-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + comment_id: components["parameters"]["comment_id"]; + }; + }; + requestBody: { + "application/json": { + /** + * The contents of the comment. + */ + body: string; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["issue-comment"]; + }; + "422": unknown; + }; + }; + "issues/delete-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + comment_id: components["parameters"]["comment_id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * List the reactions to an [issue comment](https://docs.github.com/rest/reference/issues#comments). + */ + "reactions/list-for-issue-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + comment_id: components["parameters"]["comment_id"]; + }; + query: { + /** + * Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to an issue comment. + */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["reaction"][]; + }; + "404": unknown; + "415": unknown; + }; + }; + /** + * Create a reaction to an [issue comment](https://docs.github.com/rest/reference/issues#comments). A response with a `Status: 200 OK` means that you already added the reaction type to this issue comment. + */ + "reactions/create-for-issue-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + comment_id: components["parameters"]["comment_id"]; + }; + }; + requestBody: { + "application/json": { + /** + * The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the issue comment. + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + }; + }; + responses: { + /** + * Reaction exists + */ + "200": { + "application/json": components["schemas"]["reaction"]; + }; + /** + * Reaction created + */ + "201": { + "application/json": components["schemas"]["reaction"]; + }; + "415": unknown; + "422": unknown; + }; + }; + /** + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/issues/comments/:comment_id/reactions/:reaction_id`. + * + * Delete a reaction to an [issue comment](https://docs.github.com/rest/reference/issues#comments). + */ + "reactions/delete-for-issue-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + comment_id: components["parameters"]["comment_id"]; + reaction_id: components["parameters"]["reaction-id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + "issues/list-events-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["issue-event"][]; + }; + "422": unknown; + }; + }; + "issues/get-event": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + event_id: number; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["issue-event"]; + }; + "403": unknown; + "404": unknown; + "410": unknown; + }; + }; + /** + * The API returns a [`301 Moved Permanently` status](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-redirects-redirects) if the issue was + * [transferred](https://help.github.com/articles/transferring-an-issue-to-another-repository/) to another repository. If + * the issue was transferred to or deleted from a repository where the authenticated user lacks read access, the API + * returns a `404 Not Found` status. If the issue was deleted from a repository where the authenticated user has read + * access, the API returns a `410 Gone` status. To receive webhook events for transferred and deleted issues, subscribe + * to the [`issues`](https://docs.github.com/webhooks/event-payloads/#issues) webhook. + * + * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + */ + "issues/get": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue_number"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["issue"]; + }; + "301": never; + "304": never; + "404": unknown; + "410": unknown; + }; + }; + /** + * Issue owners and users with push access can edit an issue. + */ + "issues/update": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue_number"]; + }; + }; + requestBody: { + "application/json": { + /** + * The title of the issue. + */ + title?: string; + /** + * The contents of the issue. + */ + body?: string; + /** + * Login for the user that this issue should be assigned to. **This field is deprecated.** + */ + assignee?: string; + /** + * State of the issue. Either `open` or `closed`. + */ + state?: "open" | "closed"; + /** + * The `number` of the milestone to associate this issue with or `null` to remove current. _NOTE: Only users with push access can set the milestone for issues. The milestone is silently dropped otherwise._ + */ + milestone?: number | null; + /** + * Labels to associate with this issue. Pass one or more Labels to _replace_ the set of Labels on this Issue. Send an empty array (`[]`) to clear all Labels from the Issue. _NOTE: Only users with push access can set labels for issues. Labels are silently dropped otherwise._ + */ + labels?: ( + | string + | { id?: number; name?: string; description?: string; color?: string } + )[]; + /** + * Logins for Users to assign to this issue. Pass one or more user logins to _replace_ the set of assignees on this Issue. Send an empty array (`[]`) to clear all assignees from the Issue. _NOTE: Only users with push access can set assignees for new issues. Assignees are silently dropped otherwise._ + */ + assignees?: string[]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["issue"]; + }; + "301": never; + "403": unknown; + "404": unknown; + "410": unknown; + "422": unknown; + "503": unknown; + }; + }; + /** + * Adds up to 10 assignees to an issue. Users already assigned to an issue are not replaced. + */ + "issues/add-assignees": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue_number"]; + }; + }; + requestBody: { + "application/json": { + /** + * Usernames of people to assign this issue to. _NOTE: Only users with push access can add assignees to an issue. Assignees are silently ignored otherwise._ + */ + assignees?: string[]; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["issue-simple"]; + }; + }; + }; + /** + * Removes one or more assignees from an issue. + */ + "issues/remove-assignees": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue_number"]; + }; + }; + requestBody: { + "application/json": { + /** + * Usernames of assignees to remove from an issue. _NOTE: Only users with push access can remove assignees from an issue. Assignees are silently ignored otherwise._ + */ + assignees?: string[]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["issue-simple"]; + }; + }; + }; + /** + * Issue Comments are ordered by ascending ID. + */ + "issues/list-comments": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue_number"]; + }; + query: { + since?: components["parameters"]["since"]; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["issue-comment"][]; + }; + "404": unknown; + "410": unknown; + }; + }; + /** + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-abuse-rate-limits)" for details. + */ + "issues/create-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue_number"]; + }; + }; + requestBody: { + "application/json": { + /** + * The contents of the comment. + */ + body: string; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["issue-comment"]; + }; + "403": unknown; + "404": unknown; + "410": unknown; + "422": unknown; + }; + }; + "issues/list-events": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue_number"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["issue-event-for-issue"][]; + }; + "410": unknown; + }; + }; + "issues/list-labels-on-issue": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue_number"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["label"][]; + }; + "410": unknown; + }; + }; + "issues/add-labels": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue_number"]; + }; + }; + requestBody: { + "application/json": { + /** + * The name of the label to add to the issue. Must contain at least one label. **Note:** Alternatively, you can pass a single label as a `string` or an `array` of labels directly, but GitHub recommends passing an object with the `labels` key. + */ + labels: string[]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["label"][]; + }; + "410": unknown; + "422": unknown; + }; + }; + /** + * Removes any previous labels and sets the new labels for an issue. + */ + "issues/set-labels": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue_number"]; + }; + }; + requestBody: { + "application/json": { + /** + * The names of the labels to add to the issue. You can pass an empty array to remove all labels. **Note:** Alternatively, you can pass a single label as a `string` or an `array` of labels directly, but GitHub recommends passing an object with the `labels` key. + */ + labels?: string[]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["label"][]; + }; + "410": unknown; + "422": unknown; + }; + }; + "issues/remove-all-labels": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue_number"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "410": unknown; + }; + }; + /** + * Removes the specified label from the issue, and returns the remaining labels on the issue. This endpoint returns a `404 Not Found` status if the label does not exist. + */ + "issues/remove-label": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue_number"]; + name: string; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["label"][]; + }; + "404": unknown; + "410": unknown; + }; + }; + /** + * Users with push access can lock an issue or pull request's conversation. + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + "issues/lock": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue_number"]; + }; + }; + requestBody: { + "application/json": { + /** + * The reason for locking the issue or pull request conversation. Lock will fail if you don't use one of these reasons: + * \* `off-topic` + * \* `too heated` + * \* `resolved` + * \* `spam` + */ + lock_reason?: "off-topic" | "too heated" | "resolved" | "spam"; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "403": unknown; + "404": unknown; + "410": unknown; + "422": unknown; + }; + }; + /** + * Users with push access can unlock an issue's conversation. + */ + "issues/unlock": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue_number"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "403": unknown; + "404": unknown; + }; + }; + /** + * List the reactions to an [issue](https://docs.github.com/rest/reference/issues). + */ + "reactions/list-for-issue": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue_number"]; + }; + query: { + /** + * Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to an issue. + */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["reaction"][]; + }; + "404": unknown; + "410": unknown; + "415": unknown; + }; + }; + /** + * Create a reaction to an [issue](https://docs.github.com/rest/reference/issues/). A response with a `Status: 200 OK` means that you already added the reaction type to this issue. + */ + "reactions/create-for-issue": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue_number"]; + }; + }; + requestBody: { + "application/json": { + /** + * The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the issue. + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["reaction"]; + }; + "415": unknown; + "422": unknown; + }; + }; + /** + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/issues/:issue_number/reactions/:reaction_id`. + * + * Delete a reaction to an [issue](https://docs.github.com/rest/reference/issues/). + */ + "reactions/delete-for-issue": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue_number"]; + reaction_id: components["parameters"]["reaction-id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + "issues/list-events-for-timeline": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue_number"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["issue-event-for-issue"][]; + }; + "404": unknown; + "410": unknown; + "415": unknown; + }; + }; + "repos/list-deploy-keys": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["deploy-key"][]; + }; + }; + }; + /** + * You can create a read-only deploy key. + */ + "repos/create-deploy-key": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + "application/json": { + /** + * A name for the key. + */ + title?: string; + /** + * The contents of the key. + */ + key: string; + /** + * If `true`, the key will only be able to read repository contents. Otherwise, the key will be able to read and write. + * + * Deploy keys with write access can perform the same actions as an organization member with admin access, or a collaborator on a personal repository. For more information, see "[Repository permission levels for an organization](https://help.github.com/articles/repository-permission-levels-for-an-organization/)" and "[Permission levels for a user account repository](https://help.github.com/articles/permission-levels-for-a-user-account-repository/)." + */ + read_only?: boolean; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["deploy-key"]; + }; + "422": unknown; + }; + }; + "repos/get-deploy-key": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + key_id: components["parameters"]["key_id"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["deploy-key"]; + }; + "404": unknown; + }; + }; + /** + * Deploy keys are immutable. If you need to update a key, remove the key and create a new one instead. + */ + "repos/delete-deploy-key": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + key_id: components["parameters"]["key_id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + "issues/list-labels-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["label"][]; + }; + "404": unknown; + }; + }; + "issues/create-label": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + "application/json": { + /** + * The name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji ![:strawberry:](https://github.githubassets.com/images/icons/emoji/unicode/1f353.png ":strawberry:"). For a full list of available emoji and codes, see [emoji-cheat-sheet.com](http://emoji-cheat-sheet.com/). + */ + name: string; + /** + * The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`. + */ + color?: string; + /** + * A short description of the label. + */ + description?: string; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["label"]; + }; + "404": unknown; + "422": unknown; + }; + }; + "issues/get-label": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + name: string; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["label"]; + }; + "404": unknown; + }; + }; + "issues/update-label": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + name: string; + }; + }; + requestBody: { + "application/json": { + /** + * The new name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji ![:strawberry:](https://github.githubassets.com/images/icons/emoji/unicode/1f353.png ":strawberry:"). For a full list of available emoji and codes, see [emoji-cheat-sheet.com](http://emoji-cheat-sheet.com/). + */ + new_name?: string; + /** + * The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`. + */ + color?: string; + /** + * A short description of the label. + */ + description?: string; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["label"]; + }; + }; + }; + "issues/delete-label": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + name: string; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * Lists languages for the specified repository. The value shown for each language is the number of bytes of code written in that language. + */ + "repos/list-languages": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["language"]; + }; + }; + }; + /** + * This method returns the contents of the repository's license file, if one is detected. + * + * Similar to [Get repository content](https://docs.github.com/rest/reference/repos/contents#get-repository-content), this method also supports [custom media types](https://docs.github.com/rest/overview/media-types) for retrieving the raw license content or rendered license HTML. + */ + "licenses/get-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["license-content"]; + }; + }; + }; + "repos/merge": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + "application/json": { + /** + * The name of the base branch that the head will be merged into. + */ + base: string; + /** + * The head to merge. This can be a branch name or a commit SHA1. + */ + head: string; + /** + * Commit message to use for the merge commit. If omitted, a default message will be used. + */ + commit_message?: string; + }; + }; + responses: { + /** + * Successful Response (The resulting merge commit) + */ + "201": { + "application/json": components["schemas"]["commit"]; + }; + "403": unknown; + /** + * response + */ + "404": { + "application/json": { message?: string; documentation_url?: string }; + }; + /** + * Merge conflict response + */ + "409": { + "application/json": { message?: string; documentation_url?: string }; + }; + "422": unknown; + }; + }; + "issues/list-milestones": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + /** + * The state of the milestone. Either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + /** + * What to sort results by. Either `due_on` or `completeness`. + */ + sort?: "due_on" | "completeness"; + /** + * The direction of the sort. Either `asc` or `desc`. + */ + direction?: "asc" | "desc"; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["milestone"][]; + }; + "404": unknown; + }; + }; + "issues/create-milestone": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + "application/json": { + /** + * The title of the milestone. + */ + title: string; + /** + * The state of the milestone. Either `open` or `closed`. + */ + state?: "open" | "closed"; + /** + * A description of the milestone. + */ + description?: string; + /** + * The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + due_on?: string; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["milestone"]; + }; + "404": unknown; + "422": unknown; + }; + }; + "issues/get-milestone": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + milestone_number: components["parameters"]["milestone_number"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["milestone"]; + }; + "404": unknown; + }; + }; + "issues/update-milestone": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + milestone_number: components["parameters"]["milestone_number"]; + }; + }; + requestBody: { + "application/json": { + /** + * The title of the milestone. + */ + title?: string; + /** + * The state of the milestone. Either `open` or `closed`. + */ + state?: "open" | "closed"; + /** + * A description of the milestone. + */ + description?: string; + /** + * The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + due_on?: string; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["milestone"]; + }; + }; + }; + "issues/delete-milestone": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + milestone_number: components["parameters"]["milestone_number"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "404": unknown; + }; + }; + "issues/list-labels-for-milestone": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + milestone_number: components["parameters"]["milestone_number"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["label"][]; + }; + }; + }; + /** + * List all notifications for the current user. + */ + "activity/list-repo-notifications-for-authenticated-user": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + all?: components["parameters"]["all"]; + participating?: components["parameters"]["participating"]; + since?: components["parameters"]["since"]; + before?: components["parameters"]["before"]; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["thread"][]; + }; + }; + }; + /** + * Marks all notifications in a repository as "read" removes them from the [default view on GitHub](https://github.com/notifications). If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List repository notifications for the authenticated user](https://docs.github.com/rest/reference/activity#list-repository-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. + */ + "activity/mark-repo-notifications-as-read": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + "application/json": { + /** + * Describes the last point that notifications were checked. Anything updated since this time will not be marked as read. If you omit this parameter, all notifications are marked as read. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp. + */ + last_read_at?: string; + }; + }; + responses: { + /** + * response + */ + "202": unknown; + }; + }; + "repos/get-pages": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["page"]; + }; + "404": unknown; + }; + }; + /** + * Configures a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages)." + */ + "repos/create-pages-site": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + "application/json": { + /** + * The source branch and directory used to publish your Pages site. + */ + source: { + /** + * The repository branch used to publish your site's source files. + */ + branch: string; + /** + * The repository directory that includes the source files for the Pages site. Allowed paths are `/` or `/docs`. Default: `/` + */ + path?: "/" | "/docs"; + }; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["page"]; + }; + "409": unknown; + "415": unknown; + "422": unknown; + }; + }; + /** + * Updates information for a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages). + */ + "repos/update-information-about-pages-site": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + "application/json": { + /** + * Specify a custom domain for the repository. Sending a `null` value will remove the custom domain. For more about custom domains, see "[Using a custom domain with GitHub Pages](https://help.github.com/articles/using-a-custom-domain-with-github-pages/)." + */ + cname?: string | null; + source: Partial<"gh-pages" | "master" | "master /docs"> & + Partial<{ + /** + * The repository branch used to publish your site's source files. + */ + branch: string; + /** + * The repository directory that includes the source files for the Pages site. Allowed paths are `/` or `/docs`. + */ + path: "/" | "/docs"; + }>; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "400": unknown; + "422": unknown; + }; + }; + "repos/delete-pages-site": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "404": unknown; + "415": unknown; + "422": unknown; + }; + }; + "repos/list-pages-builds": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["page-build"][]; + }; + }; + }; + /** + * You can request that your site be built from the latest revision on the default branch. This has the same effect as pushing a commit to your default branch, but does not require an additional commit. Manually triggering page builds can be helpful when diagnosing build warnings and failures. + * + * Build requests are limited to one concurrent build per repository and one concurrent build per requester. If you request a build while another is still in progress, the second request will be queued until the first completes. + */ + "repos/request-pages-build": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["page-build-status"]; + }; + }; + }; + "repos/get-latest-pages-build": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["page-build"]; + }; + }; + }; + "repos/get-pages-build": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + build_id: number; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["page-build"]; + }; + }; + }; + /** + * Lists the projects in a repository. Returns a `404 Not Found` status if projects are disabled in the repository. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + "projects/list-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + /** + * Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["project"][]; + }; + "401": unknown; + "403": unknown; + "404": unknown; + "410": unknown; + "422": unknown; + }; + }; + /** + * Creates a repository project board. Returns a `404 Not Found` status if projects are disabled in the repository. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + "projects/create-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + "application/json": { + /** + * The name of the project. + */ + name: string; + /** + * The description of the project. + */ + body?: string; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["project"]; + }; + "401": unknown; + "403": unknown; + "404": unknown; + "410": unknown; + "422": unknown; + }; + }; + /** + * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + "pulls/list": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + /** + * Either `open`, `closed`, or `all` to filter by state. + */ + state?: "open" | "closed" | "all"; + /** + * Filter pulls by head user or head organization and branch name in the format of `user:ref-name` or `organization:ref-name`. For example: `github:new-script-format` or `octocat:test-branch`. + */ + head?: string; + /** + * Filter pulls by base branch name. Example: `gh-pages`. + */ + base?: string; + /** + * What to sort results by. Can be either `created`, `updated`, `popularity` (comment count) or `long-running` (age, filtering by pulls updated in the last month). + */ + sort?: "created" | "updated" | "popularity" | "long-running"; + /** + * The direction of the sort. Can be either `asc` or `desc`. Default: `desc` when sort is `created` or sort is not specified, otherwise `asc`. + */ + direction?: "asc" | "desc"; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["pull-request-simple"][]; + }; + "304": never; + "422": unknown; + }; + }; + /** + * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. + * + * You can create a new pull request. + * + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. + */ + "pulls/create": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + "application/json": { + /** + * The title of the new pull request. + */ + title?: string; + /** + * The name of the branch where your changes are implemented. For cross-repository pull requests in the same network, namespace `head` with a user like this: `username:branch`. + */ + head: string; + /** + * The name of the branch you want the changes pulled into. This should be an existing branch on the current repository. You cannot submit a pull request to one repository that requests a merge to a base of another repository. + */ + base: string; + /** + * The contents of the pull request. + */ + body?: string; + /** + * Indicates whether [maintainers can modify](https://help.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request. + */ + maintainer_can_modify?: boolean; + /** + * Indicates whether the pull request is a draft. See "[Draft Pull Requests](https://help.github.com/en/articles/about-pull-requests#draft-pull-requests)" in the GitHub Help documentation to learn more. + */ + draft?: boolean; + issue?: number; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["pull-request"]; + }; + "403": unknown; + "422": unknown; + }; + }; + /** + * **Note:** Multi-line comments on pull requests are currently in public beta and subject to change. + * + * Lists review comments for all pull requests in a repository. By default, review comments are in ascending order by ID. + * + * **Multi-line comment summary** + * + * **Note:** New parameters and response fields are available for developers to preview. During the preview period, these response fields may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2019-10-03-multi-line-comments) for full details. + * + * Use the `comfort-fade` preview header and the `line` parameter to show multi-line comment-supported fields in the response. + * + * If you use the `comfort-fade` preview header, your response will show: + * + * * For multi-line comments, values for `start_line`, `original_start_line`, `start_side`, `line`, `original_line`, and `side`. + * * For single-line comments, values for `line`, `original_line`, and `side` and a `null` value for `start_line`, `original_start_line`, and `start_side`. + * + * If you don't use the `comfort-fade` preview header, multi-line and single-line comments will appear the same way in the response with a single `position` attribute. Your response will show: + * + * * For multi-line comments, the last line of the comment range for the `position` attribute. + * * For single-line comments, the diff-positioned way of referencing comments for the `position` attribute. For more information, see `position` in the [input parameters](https://docs.github.com/rest/reference/pulls#parameters-2) table. + * + * The `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions. + */ + "pulls/list-review-comments-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + sort?: components["parameters"]["sort"]; + /** + * Can be either `asc` or `desc`. Ignored without `sort` parameter. + */ + direction?: "asc" | "desc"; + since?: components["parameters"]["since"]; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["pull-request-review-comment"][]; + }; + }; + }; + /** + * **Note:** Multi-line comments on pull requests are currently in public beta and subject to change. + * + * Provides details for a review comment. + * + * **Multi-line comment summary** + * + * **Note:** New parameters and response fields are available for developers to preview. During the preview period, these response fields may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2019-10-03-multi-line-comments) for full details. + * + * Use the `comfort-fade` preview header and the `line` parameter to show multi-line comment-supported fields in the response. + * + * If you use the `comfort-fade` preview header, your response will show: + * + * * For multi-line comments, values for `start_line`, `original_start_line`, `start_side`, `line`, `original_line`, and `side`. + * * For single-line comments, values for `line`, `original_line`, and `side` and a `null` value for `start_line`, `original_start_line`, and `start_side`. + * + * If you don't use the `comfort-fade` preview header, multi-line and single-line comments will appear the same way in the response with a single `position` attribute. Your response will show: + * + * * For multi-line comments, the last line of the comment range for the `position` attribute. + * * For single-line comments, the diff-positioned way of referencing comments for the `position` attribute. For more information, see `position` in the [input parameters](https://docs.github.com/rest/reference/pulls#parameters-2) table. + * + * The `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions. + */ + "pulls/get-review-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + comment_id: components["parameters"]["comment_id"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["pull-request-review-comment"]; + }; + "404": unknown; + }; + }; + /** + * **Note:** Multi-line comments on pull requests are currently in public beta and subject to change. + * + * Enables you to edit a review comment. + * + * **Multi-line comment summary** + * + * **Note:** New parameters and response fields are available for developers to preview. During the preview period, these response fields may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2019-10-03-multi-line-comments) for full details. + * + * Use the `comfort-fade` preview header and the `line` parameter to show multi-line comment-supported fields in the response. + * + * If you use the `comfort-fade` preview header, your response will show: + * + * * For multi-line comments, values for `start_line`, `original_start_line`, `start_side`, `line`, `original_line`, and `side`. + * * For single-line comments, values for `line`, `original_line`, and `side` and a `null` value for `start_line`, `original_start_line`, and `start_side`. + * + * If you don't use the `comfort-fade` preview header, multi-line and single-line comments will appear the same way in the response with a single `position` attribute. Your response will show: + * + * * For multi-line comments, the last line of the comment range for the `position` attribute. + * * For single-line comments, the diff-positioned way of referencing comments for the `position` attribute. For more information, see `position` in the [input parameters](https://docs.github.com/rest/reference/pulls#parameters-2) table. + */ + "pulls/update-review-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + comment_id: components["parameters"]["comment_id"]; + }; + }; + requestBody: { + "application/json": { + /** + * The text of the reply to the review comment. + */ + body: string; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["pull-request-review-comment"]; + }; + }; + }; + /** + * Deletes a review comment. + */ + "pulls/delete-review-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + comment_id: components["parameters"]["comment_id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "404": unknown; + }; + }; + /** + * List the reactions to a [pull request review comment](https://docs.github.com/rest/reference/pulls#review-comments). + */ + "reactions/list-for-pull-request-review-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + comment_id: components["parameters"]["comment_id"]; + }; + query: { + /** + * Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a pull request review comment. + */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["reaction"][]; + }; + "404": unknown; + "415": unknown; + }; + }; + /** + * Create a reaction to a [pull request review comment](https://docs.github.com/rest/reference/pulls#comments). A response with a `Status: 200 OK` means that you already added the reaction type to this pull request review comment. + */ + "reactions/create-for-pull-request-review-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + comment_id: components["parameters"]["comment_id"]; + }; + }; + requestBody: { + "application/json": { + /** + * The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the pull request review comment. + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + }; + }; + responses: { + /** + * Reaction exists + */ + "200": { + "application/json": components["schemas"]["reaction"]; + }; + /** + * Reaction created + */ + "201": { + "application/json": components["schemas"]["reaction"]; + }; + "415": unknown; + "422": unknown; + }; + }; + /** + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/pulls/comments/:comment_id/reactions/:reaction_id.` + * + * Delete a reaction to a [pull request review comment](https://docs.github.com/rest/reference/pulls#review-comments). + */ + "reactions/delete-for-pull-request-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + comment_id: components["parameters"]["comment_id"]; + reaction_id: components["parameters"]["reaction-id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists details of a pull request by providing its number. + * + * When you get, [create](https://docs.github.com/rest/reference/pulls/#create-a-pull-request), or [edit](https://docs.github.com/rest/reference/pulls#update-a-pull-request) a pull request, GitHub creates a merge commit to test whether the pull request can be automatically merged into the base branch. This test commit is not added to the base branch or the head branch. You can review the status of the test commit using the `mergeable` key. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". + * + * The value of the `mergeable` attribute can be `true`, `false`, or `null`. If the value is `null`, then GitHub has started a background job to compute the mergeability. After giving the job time to complete, resubmit the request. When the job finishes, you will see a non-`null` value for the `mergeable` attribute in the response. If `mergeable` is `true`, then `merge_commit_sha` will be the SHA of the _test_ merge commit. + * + * The value of the `merge_commit_sha` attribute changes depending on the state of the pull request. Before merging a pull request, the `merge_commit_sha` attribute holds the SHA of the _test_ merge commit. After merging a pull request, the `merge_commit_sha` attribute changes depending on how you merged the pull request: + * + * * If merged as a [merge commit](https://help.github.com/articles/about-merge-methods-on-github/), `merge_commit_sha` represents the SHA of the merge commit. + * * If merged via a [squash](https://help.github.com/articles/about-merge-methods-on-github/#squashing-your-merge-commits), `merge_commit_sha` represents the SHA of the squashed commit on the base branch. + * * If [rebased](https://help.github.com/articles/about-merge-methods-on-github/#rebasing-and-merging-your-commits), `merge_commit_sha` represents the commit that the base branch was updated to. + * + * Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. + */ + "pulls/get": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + }; + responses: { + /** + * Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. + */ + "200": { + "application/json": components["schemas"]["pull-request"]; + }; + "304": never; + "404": unknown; + "500": unknown; + }; + }; + /** + * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. + */ + "pulls/update": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + }; + requestBody: { + "application/json": { + /** + * The title of the pull request. + */ + title?: string; + /** + * The contents of the pull request. + */ + body?: string; + /** + * State of this Pull Request. Either `open` or `closed`. + */ + state?: "open" | "closed"; + /** + * The name of the branch you want your changes pulled into. This should be an existing branch on the current repository. You cannot update the base branch on a pull request to point to another repository. + */ + base?: string; + /** + * Indicates whether [maintainers can modify](https://help.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request. + */ + maintainer_can_modify?: boolean; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["pull-request"]; + }; + "403": unknown; + "422": unknown; + }; + }; + /** + * **Note:** Multi-line comments on pull requests are currently in public beta and subject to change. + * + * Lists all review comments for a pull request. By default, review comments are in ascending order by ID. + * + * **Multi-line comment summary** + * + * **Note:** New parameters and response fields are available for developers to preview. During the preview period, these response fields may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2019-10-03-multi-line-comments) for full details. + * + * Use the `comfort-fade` preview header and the `line` parameter to show multi-line comment-supported fields in the response. + * + * If you use the `comfort-fade` preview header, your response will show: + * + * * For multi-line comments, values for `start_line`, `original_start_line`, `start_side`, `line`, `original_line`, and `side`. + * * For single-line comments, values for `line`, `original_line`, and `side` and a `null` value for `start_line`, `original_start_line`, and `start_side`. + * + * If you don't use the `comfort-fade` preview header, multi-line and single-line comments will appear the same way in the response with a single `position` attribute. Your response will show: + * + * * For multi-line comments, the last line of the comment range for the `position` attribute. + * * For single-line comments, the diff-positioned way of referencing comments for the `position` attribute. For more information, see `position` in the [input parameters](https://docs.github.com/rest/reference/pulls#parameters-2) table. + * + * The `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://docs.github.com/rest/reference/reactions) reactions. + */ + "pulls/list-review-comments": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + query: { + sort?: components["parameters"]["sort"]; + /** + * Can be either `asc` or `desc`. Ignored without `sort` parameter. + */ + direction?: "asc" | "desc"; + since?: components["parameters"]["since"]; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["pull-request-review-comment"][]; + }; + }; + }; + /** + * **Note:** Multi-line comments on pull requests are currently in public beta and subject to change. + * + * Creates a review comment in the pull request diff. To add a regular comment to a pull request timeline, see "[Create an issue comment](https://docs.github.com/rest/reference/issues#create-an-issue-comment)." We recommend creating a review comment using `line`, `side`, and optionally `start_line` and `start_side` if your comment applies to more than one line in the pull request diff. + * + * You can still create a review comment using the `position` parameter. When you use `position`, the `line`, `side`, `start_line`, and `start_side` parameters are not required. For more information, see [Multi-line comment summary](https://docs.github.com/rest/reference/pulls#multi-line-comment-summary-3). + * + * **Note:** The position value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. + * + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. + * + * **Multi-line comment summary** + * + * **Note:** New parameters and response fields are available for developers to preview. During the preview period, these response fields may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2019-10-03-multi-line-comments) for full details. + * + * Use the `comfort-fade` preview header and the `line` parameter to show multi-line comment-supported fields in the response. + * + * If you use the `comfort-fade` preview header, your response will show: + * + * * For multi-line comments, values for `start_line`, `original_start_line`, `start_side`, `line`, `original_line`, and `side`. + * * For single-line comments, values for `line`, `original_line`, and `side` and a `null` value for `start_line`, `original_start_line`, and `start_side`. + * + * If you don't use the `comfort-fade` preview header, multi-line and single-line comments will appear the same way in the response with a single `position` attribute. Your response will show: + * + * * For multi-line comments, the last line of the comment range for the `position` attribute. + * * For single-line comments, the diff-positioned way of referencing comments for the `position` attribute. For more information, see `position` in the [input parameters](https://docs.github.com/rest/reference/pulls#parameters-2) table. + */ + "pulls/create-review-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + }; + requestBody: { + "application/json": { + /** + * The text of the review comment. + */ + body: string; + /** + * The SHA of the commit needing a comment. Not using the latest commit SHA may render your comment outdated if a subsequent commit modifies the line you specify as the `position`. + */ + commit_id?: string; + /** + * The relative path to the file that necessitates a comment. + */ + path: string; + /** + * **Required without `comfort-fade` preview**. The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note above. + */ + position?: number; + /** + * **Required with `comfort-fade` preview**. In a split diff view, the side of the diff that the pull request's changes appear on. Can be `LEFT` or `RIGHT`. Use `LEFT` for deletions that appear in red. Use `RIGHT` for additions that appear in green or unchanged lines that appear in white and are shown for context. For a multi-line comment, side represents whether the last line of the comment range is a deletion or addition. For more information, see "[Diff view options](https://help.github.com/en/articles/about-comparing-branches-in-pull-requests#diff-view-options)" in the GitHub Help documentation. + */ + side?: "LEFT" | "RIGHT"; + /** + * **Required with `comfort-fade` preview**. The line of the blob in the pull request diff that the comment applies to. For a multi-line comment, the last line of the range that your comment applies to. + */ + line?: number; + /** + * **Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. The `start_line` is the first line in the pull request diff that your multi-line comment applies to. To learn more about multi-line comments, see "[Commenting on a pull request](https://help.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. + */ + start_line?: number; + /** + * **Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. The `start_side` is the starting side of the diff that the comment applies to. Can be `LEFT` or `RIGHT`. To learn more about multi-line comments, see "[Commenting on a pull request](https://help.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. See `side` in this table for additional context. + */ + start_side?: "LEFT" | "RIGHT" | "side"; + in_reply_to?: number; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["pull-request-review-comment"]; + }; + "403": unknown; + "422": unknown; + }; + }; + /** + * Creates a reply to a review comment for a pull request. For the `comment_id`, provide the ID of the review comment you are replying to. This must be the ID of a _top-level review comment_, not a reply to that comment. Replies to replies are not supported. + * + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. + */ + "pulls/create-reply-for-review-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + comment_id: components["parameters"]["comment_id"]; + }; + }; + requestBody: { + "application/json": { + /** + * The text of the review comment. + */ + body: string; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["pull-request-review-comment"]; + }; + "404": unknown; + }; + }; + /** + * Lists a maximum of 250 commits for a pull request. To receive a complete commit list for pull requests with more than 250 commits, use the [List commits](https://docs.github.com/rest/reference/repos#list-commits) endpoint. + */ + "pulls/list-commits": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["commit"][]; + }; + }; + }; + /** + * **Note:** Responses include a maximum of 3000 files. The paginated response returns 30 files per page by default. + */ + "pulls/list-files": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["diff-entry"][]; + }; + "422": unknown; + "500": unknown; + }; + }; + "pulls/check-if-merged": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + }; + responses: { + /** + * Response if pull request has been merged + */ + "204": never; + /** + * Response if pull request has not been merged + */ + "404": unknown; + }; + }; + /** + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/reference/guides#dealing-with-abuse-rate-limits)" for details. + */ + "pulls/merge": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + }; + requestBody: { + "application/json": { + /** + * Title for the automatic commit message. + */ + commit_title?: string; + /** + * Extra detail to append to automatic commit message. + */ + commit_message?: string; + /** + * SHA that pull request head must match to allow merge. + */ + sha?: string; + /** + * Merge method to use. Possible values are `merge`, `squash` or `rebase`. Default is `merge`. + */ + merge_method?: "merge" | "squash" | "rebase"; + }; + }; + responses: { + /** + * Response if merge was successful + */ + "200": { + "application/json": components["schemas"]["pull-request-merge-result"]; + }; + "403": unknown; + "404": unknown; + /** + * Response if merge cannot be performed + */ + "405": { + "application/json": { message?: string; documentation_url?: string }; + }; + /** + * Response if sha was provided and pull request head did not match + */ + "409": { + "application/json": { message?: string; documentation_url?: string }; + }; + "422": unknown; + }; + }; + "pulls/list-requested-reviewers": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["pull-request-review-request"]; + }; + }; + }; + /** + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/reference/guides#dealing-with-abuse-rate-limits)" for details. + */ + "pulls/request-reviewers": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + }; + requestBody: { + "application/json": { + /** + * An array of user `login`s that will be requested. + */ + reviewers?: string[]; + /** + * An array of team `slug`s that will be requested. + */ + team_reviewers?: string[]; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["pull-request-simple"]; + }; + "403": unknown; + /** + * Response if user is not a collaborator + */ + "422": unknown; + }; + }; + "pulls/remove-requested-reviewers": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + }; + requestBody: { + "application/json": { + /** + * An array of user `login`s that will be removed. + */ + reviewers?: string[]; + /** + * An array of team `slug`s that will be removed. + */ + team_reviewers?: string[]; + }; + }; + responses: { + /** + * response + */ + "200": unknown; + "422": unknown; + }; + }; + /** + * The list of reviews returns in chronological order. + */ + "pulls/list-reviews": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * The list of reviews returns in chronological order. + */ + "200": { + "application/json": components["schemas"]["pull-request-review"][]; + }; + }; + }; + /** + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. + * + * Pull request reviews created in the `PENDING` state do not include the `submitted_at` property in the response. + * + * **Note:** To comment on a specific line in a file, you need to first determine the _position_ of that line in the diff. The GitHub REST API v3 offers the `application/vnd.github.v3.diff` [media type](https://docs.github.com/rest/reference/media/#commits-commit-comparison-and-pull-requests). To see a pull request diff, add this media type to the `Accept` header of a call to the [single pull request](https://docs.github.com/rest/reference/pulls#get-a-pull-request) endpoint. + * + * The `position` value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. + */ + "pulls/create-review": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + }; + requestBody: { + "application/json": { + /** + * The SHA of the commit that needs a review. Not using the latest commit SHA may render your review comment outdated if a subsequent commit modifies the line you specify as the `position`. Defaults to the most recent commit in the pull request when you do not specify a value. + */ + commit_id?: string; + /** + * **Required** when using `REQUEST_CHANGES` or `COMMENT` for the `event` parameter. The body text of the pull request review. + */ + body?: string; + /** + * The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. By leaving this blank, you set the review action state to `PENDING`, which means you will need to [submit the pull request review](https://docs.github.com/rest/reference/pulls#submit-a-review-for-a-pull-request) when you are ready. + */ + event?: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; + /** + * Use the following table to specify the location, destination, and contents of the draft review comment. + */ + comments?: { + /** + * The relative path to the file that necessitates a review comment. + */ + path: string; + /** + * The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note below. + */ + position?: number; + /** + * Text of the review comment. + */ + body: string; + line?: number; + side?: string; + start_line?: number; + start_side?: string; + }[]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["pull-request-review"]; + }; + "403": unknown; + "422": unknown; + }; + }; + "pulls/get-review": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + review_id: components["parameters"]["review_id"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["pull-request-review"]; + }; + "404": unknown; + }; + }; + /** + * Update the review summary comment with new text. + */ + "pulls/update-review": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + review_id: components["parameters"]["review_id"]; + }; + }; + requestBody: { + "application/json": { + /** + * The body text of the pull request review. + */ + body: string; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["pull-request-review"]; + }; + "422": unknown; + }; + }; + "pulls/delete-pending-review": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + review_id: components["parameters"]["review_id"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["pull-request-review"]; + }; + "404": unknown; + "422": unknown; + }; + }; + /** + * List comments for a specific pull request review. + */ + "pulls/list-comments-for-review": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + review_id: components["parameters"]["review_id"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["review-comment"][]; + }; + "404": unknown; + }; + }; + /** + * **Note:** To dismiss a pull request review on a [protected branch](https://docs.github.com/rest/reference/repos#branches), you must be a repository administrator or be included in the list of people or teams who can dismiss pull request reviews. + */ + "pulls/dismiss-review": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + review_id: components["parameters"]["review_id"]; + }; + }; + requestBody: { + "application/json": { + /** + * The message for the pull request review dismissal + */ + message: string; + event?: string; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["pull-request-review"]; + }; + "404": unknown; + "422": unknown; + }; + }; + "pulls/submit-review": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + review_id: components["parameters"]["review_id"]; + }; + }; + requestBody: { + "application/json": { + /** + * The body text of the pull request review + */ + body?: string; + /** + * The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. When you leave this blank, the API returns _HTTP 422 (Unrecognizable entity)_ and sets the review action state to `PENDING`, which means you will need to re-submit the pull request review using a review action. + */ + event: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["pull-request-review"]; + }; + "403": unknown; + "404": unknown; + "422": unknown; + }; + }; + /** + * Updates the pull request branch with the latest upstream changes by merging HEAD from the base branch into the pull request branch. + */ + "pulls/update-branch": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + }; + requestBody: { + "application/json": { + /** + * The expected SHA of the pull request's HEAD ref. This is the most recent commit on the pull request's branch. If the expected SHA does not match the pull request's HEAD, you will receive a `422 Unprocessable Entity` status. You can use the "[List commits](https://docs.github.com/rest/reference/repos#list-commits)" endpoint to find the most recent commit SHA. Default: SHA of the pull request's current HEAD ref. + */ + expected_head_sha?: string; + }; + }; + responses: { + /** + * response + */ + "202": { + "application/json": { message?: string; url?: string }; + }; + "403": unknown; + "415": unknown; + "422": unknown; + }; + }; + /** + * Gets the preferred README for a repository. + * + * READMEs support [custom media types](https://docs.github.com/rest/reference/repos#custom-media-types) for retrieving the raw content or rendered HTML. + */ + "repos/get-readme": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + /** + * The name of the commit/branch/tag. Default: the repository’s default branch (usually `master`) + */ + ref?: string; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["content-file"]; + }; + "404": unknown; + "422": unknown; + }; + }; + /** + * This returns a list of releases, which does not include regular Git tags that have not been associated with a release. To get a list of Git tags, use the [Repository Tags API](https://docs.github.com/rest/reference/repos#list-repository-tags). + * + * Information about published releases are available to everyone. Only users with push access will receive listings for draft releases. + */ + "repos/list-releases": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["release"][]; + }; + "404": unknown; + }; + }; + /** + * Users with push access to the repository can create a release. + * + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. + */ + "repos/create-release": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + "application/json": { + /** + * The name of the tag. + */ + tag_name: string; + /** + * Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch (usually `master`). + */ + target_commitish?: string; + /** + * The name of the release. + */ + name?: string; + /** + * Text describing the contents of the tag. + */ + body?: string; + /** + * `true` to create a draft (unpublished) release, `false` to create a published one. + */ + draft?: boolean; + /** + * `true` to identify the release as a prerelease. `false` to identify the release as a full release. + */ + prerelease?: boolean; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["release"]; + }; + "422": unknown; + }; + }; + /** + * To download the asset's binary content, set the `Accept` header of the request to [`application/octet-stream`](https://docs.github.com/rest/overview/media-types). The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a `200` or `302` response. + */ + "repos/get-release-asset": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + asset_id: components["parameters"]["asset_id"]; + }; + }; + responses: { + /** + * To download the asset's binary content, set the `Accept` header of the request to [`application/octet-stream`](https://docs.github.com/rest/overview/media-types). The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a `200` or `302` response. + */ + "200": { + "application/json": components["schemas"]["release-asset"]; + }; + "302": never; + "404": unknown; + "415": unknown; + }; + }; + /** + * Users with push access to the repository can edit a release asset. + */ + "repos/update-release-asset": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + asset_id: components["parameters"]["asset_id"]; + }; + }; + requestBody: { + "application/json": { + /** + * The file name of the asset. + */ + name?: string; + /** + * An alternate short description of the asset. Used in place of the filename. + */ + label?: string; + state?: string; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["release-asset"]; + }; + }; + }; + "repos/delete-release-asset": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + asset_id: components["parameters"]["asset_id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * View the latest published full release for the repository. + * + * The latest release is the most recent non-prerelease, non-draft release, sorted by the `created_at` attribute. The `created_at` attribute is the date of the commit used for the release, and not the date when the release was drafted or published. + */ + "repos/get-latest-release": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["release"]; + }; + }; + }; + /** + * Get a published release with the specified tag. + */ + "repos/get-release-by-tag": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** + * tag+ parameter + */ + tag: string; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["release"]; + }; + "404": unknown; + }; + }; + /** + * **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia). + */ + "repos/get-release": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + release_id: components["parameters"]["release_id"]; + }; + }; + responses: { + /** + * **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia). + */ + "200": { + "application/json": components["schemas"]["release"]; + }; + "404": unknown; + }; + }; + /** + * Users with push access to the repository can edit a release. + */ + "repos/update-release": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + release_id: components["parameters"]["release_id"]; + }; + }; + requestBody: { + "application/json": { + /** + * The name of the tag. + */ + tag_name?: string; + /** + * Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch (usually `master`). + */ + target_commitish?: string; + /** + * The name of the release. + */ + name?: string; + /** + * Text describing the contents of the tag. + */ + body?: string; + /** + * `true` makes the release a draft, and `false` publishes the release. + */ + draft?: boolean; + /** + * `true` to identify the release as a prerelease, `false` to identify the release as a full release. + */ + prerelease?: boolean; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["release"]; + }; + }; + }; + /** + * Users with push access to the repository can delete a release. + */ + "repos/delete-release": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + release_id: components["parameters"]["release_id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + "repos/list-release-assets": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + release_id: components["parameters"]["release_id"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["release-asset"][]; + }; + }; + }; + /** + * This endpoint makes use of [a Hypermedia relation](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) to determine which URL to access. The endpoint you call to upload release assets is specific to your release. Use the `upload_url` returned in + * the response of the [Create a release endpoint](https://docs.github.com/rest/reference/repos#create-a-release) to upload a release asset. + * + * You need to use an HTTP client which supports [SNI](http://en.wikipedia.org/wiki/Server_Name_Indication) to make calls to this endpoint. + * + * Most libraries will set the required `Content-Length` header automatically. Use the required `Content-Type` header to provide the media type of the asset. For a list of media types, see [Media Types](https://www.iana.org/assignments/media-types/media-types.xhtml). For example: + * + * `application/zip` + * + * GitHub expects the asset data in its raw binary form, rather than JSON. You will send the raw binary content of the asset as the request body. Everything else about the endpoint is the same as the rest of the API. For example, + * you'll still need to pass your authentication to be able to upload an asset. + * + * When an upstream failure occurs, you will receive a `502 Bad Gateway` status. This may leave an empty asset with a state of `starter`. It can be safely deleted. + * + * **Notes:** + * * GitHub renames asset filenames that have special characters, non-alphanumeric characters, and leading or trailing periods. The "[List assets for a release](https://docs.github.com/rest/reference/repos#list-assets-for-a-release)" + * endpoint lists the renamed filenames. For more information and help, contact [GitHub Support](https://github.com/contact). + * * If you upload an asset with the same filename as another uploaded asset, you'll receive an error and must delete the old file before you can re-upload the new asset. + */ + "repos/upload-release-asset": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + release_id: components["parameters"]["release_id"]; + }; + query: { + name?: string; + label?: string; + }; + }; + requestBody: { + "*/*": string; + }; + responses: { + /** + * Response for successful upload + */ + "201": { + "application/json": components["schemas"]["release-asset"]; + }; + }; + }; + /** + * Lists all secret scanning alerts for a private repository, from newest to oldest. To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the `repo` scope or `security_events` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + */ + "secret-scanning/list-alerts-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + /** + * Set to `open` or `resolved` to only list secret scanning alerts in a specific state. + */ + state?: "open" | "resolved"; + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per_page"]; + }; + }; + responses: { + /** + * Response + */ + "200": { + "application/json": components["schemas"]["secret-scanning-alert"][]; + }; + /** + * Repository is public or secret scanning is disabled for the repository + */ + "404": unknown; + "503": unknown; + }; + }; + /** + * Gets a single secret scanning alert detected in a private repository. To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the `repo` scope or `security_events` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + */ + "secret-scanning/get-alert": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + alert_number: components["parameters"]["alert_number"]; + }; + }; + responses: { + /** + * Default response + */ + "200": { + "application/json": components["schemas"]["secret-scanning-alert"]; + }; + /** + * Repository is public, or secret scanning is disabled for the repository, or the resource is not found + */ + "404": unknown; + "503": unknown; + }; + }; + /** + * Updates the status of a secret scanning alert in a private repository. To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the `repo` scope or `security_events` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` write permission to use this endpoint. + */ + "secret-scanning/update-alert": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + alert_number: components["parameters"]["alert_number"]; + }; + }; + requestBody: { + "application/json": { + state: components["schemas"]["secret-scanning-alert-state"]; + resolution?: components["schemas"]["secret-scanning-alert-resolution"]; + }; + }; + responses: { + /** + * Default response + */ + "200": { + "application/json": components["schemas"]["secret-scanning-alert"]; + }; + /** + * Repository is public, or secret scanning is disabled for the repository, or the resource is not found + */ + "404": unknown; + /** + * State does not match the resolution + */ + "422": unknown; + "503": unknown; + }; + }; + /** + * Lists the people that have starred the repository. + * + * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: + */ + "activity/list-stargazers-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["simple-user"][]; + "application/vnd.github.v3.star+json": components["schemas"]["stargazer"][]; + }; + "422": unknown; + }; + }; + /** + * Returns a weekly aggregate of the number of additions and deletions pushed to a repository. + */ + "repos/get-code-frequency-stats": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** + * Returns a weekly aggregate of the number of additions and deletions pushed to a repository. + */ + "200": { + "application/json": components["schemas"]["code-frequency-stat"][]; + }; + }; + }; + /** + * Returns the last year of commit activity grouped by week. The `days` array is a group of commits per day, starting on `Sunday`. + */ + "repos/get-commit-activity-stats": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["commit-activity"][]; + }; + }; + }; + /** + * Returns the `total` number of commits authored by the contributor. In addition, the response includes a Weekly Hash (`weeks` array) with the following information: + * + * * `w` - Start of the week, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). + * * `a` - Number of additions + * * `d` - Number of deletions + * * `c` - Number of commits + */ + "repos/get-contributors-stats": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** + * * `w` - Start of the week, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). + * * `a` - Number of additions + * * `d` - Number of deletions + * * `c` - Number of commits + */ + "200": { + "application/json": components["schemas"]["contributor-activity"][]; + }; + }; + }; + /** + * Returns the total commit counts for the `owner` and total commit counts in `all`. `all` is everyone combined, including the `owner` in the last 52 weeks. If you'd like to get the commit counts for non-owners, you can subtract `owner` from `all`. + * + * The array order is oldest week (index 0) to most recent week. + */ + "repos/get-participation-stats": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** + * The array order is oldest week (index 0) to most recent week. + */ + "200": { + "application/json": components["schemas"]["participation-stats"]; + }; + "404": unknown; + }; + }; + /** + * Each array contains the day number, hour number, and number of commits: + * + * * `0-6`: Sunday - Saturday + * * `0-23`: Hour of day + * * Number of commits + * + * For example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits. + */ + "repos/get-punch-card-stats": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** + * For example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits. + */ + "200": { + "application/json": components["schemas"]["code-frequency-stat"][]; + }; + }; + }; + /** + * Users with push access in a repository can create commit statuses for a given SHA. + * + * Note: there is a limit of 1000 statuses per `sha` and `context` within a repository. Attempts to create more than 1000 statuses will result in a validation error. + */ + "repos/create-commit-status": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + sha: string; + }; + }; + requestBody: { + "application/json": { + /** + * The state of the status. Can be one of `error`, `failure`, `pending`, or `success`. + */ + state: "error" | "failure" | "pending" | "success"; + /** + * The target URL to associate with this status. This URL will be linked from the GitHub UI to allow users to easily see the source of the status. + * For example, if your continuous integration system is posting build status, you would want to provide the deep link for the build output for this specific SHA: + * `http://ci.example.com/user/repo/build/sha` + */ + target_url?: string; + /** + * A short description of the status. + */ + description?: string; + /** + * A string label to differentiate this status from the status of other systems. + */ + context?: string; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["status"]; + }; + }; + }; + /** + * Lists the people watching the specified repository. + */ + "activity/list-watchers-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + "activity/get-repo-subscription": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** + * Response if you subscribe to the repository + */ + "200": { + "application/json": components["schemas"]["repository-subscription"]; + }; + "403": unknown; + /** + * Response if you don't subscribe to the repository + */ + "404": unknown; + }; + }; + /** + * If you would like to watch a repository, set `subscribed` to `true`. If you would like to ignore notifications made within a repository, set `ignored` to `true`. If you would like to stop watching a repository, [delete the repository's subscription](https://docs.github.com/rest/reference/activity#delete-a-repository-subscription) completely. + */ + "activity/set-repo-subscription": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + "application/json": { + /** + * Determines if notifications should be received from this repository. + */ + subscribed?: boolean; + /** + * Determines if all notifications should be blocked from this repository. + */ + ignored?: boolean; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["repository-subscription"]; + }; + }; + }; + /** + * This endpoint should only be used to stop watching a repository. To control whether or not you wish to receive notifications from a repository, [set the repository's subscription manually](https://docs.github.com/rest/reference/activity#set-a-repository-subscription). + */ + "activity/delete-repo-subscription": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + "repos/list-tags": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["tag"][]; + }; + }; + }; + /** + * Gets a redirect URL to download a tar archive for a repository. If you omit `:ref`, the repository’s default branch (usually + * `master`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use + * the `Location` header to make a second `GET` request. + * **Note**: For private repositories, these links are temporary and expire after five minutes. + */ + "repos/download-tarball-archive": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + ref: string; + }; + }; + responses: { + /** + * response + */ + "302": never; + }; + }; + "repos/list-teams": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["team"][]; + }; + }; + }; + "repos/get-all-topics": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["topic"]; + }; + "404": unknown; + "415": unknown; + }; + }; + "repos/replace-all-topics": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + "application/json": { + /** + * An array of topics to add to the repository. Pass one or more topics to _replace_ the set of existing topics. Send an empty array (`[]`) to clear all topics from the repository. **Note:** Topic `names` cannot contain uppercase letters. + */ + names: string[]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["topic"]; + }; + "404": unknown; + "415": unknown; + "422": unknown; + }; + }; + /** + * Get the total number of clones and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. + */ + "repos/get-clones": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + per?: components["parameters"]["per"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["clone-traffic"]; + }; + "403": unknown; + }; + }; + /** + * Get the top 10 popular contents over the last 14 days. + */ + "repos/get-top-paths": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["content-traffic"][]; + }; + "403": unknown; + }; + }; + /** + * Get the top 10 referrers over the last 14 days. + */ + "repos/get-top-referrers": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["referrer-traffic"][]; + }; + "403": unknown; + }; + }; + /** + * Get the total number of views and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. + */ + "repos/get-views": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + query: { + per?: components["parameters"]["per"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["view-traffic"]; + }; + "403": unknown; + }; + }; + /** + * A transfer request will need to be accepted by the new owner when transferring a personal repository to another user. The response will contain the original `owner`, and the transfer will continue asynchronously. For more details on the requirements to transfer personal and organization-owned repositories, see [about repository transfers](https://help.github.com/articles/about-repository-transfers/). + */ + "repos/transfer": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + "application/json": { + /** + * **Required:** The username or organization name the repository will be transferred to. + */ + new_owner?: string; + /** + * ID of the team or teams to add to the repository. Teams can only be added to organization-owned repositories. + */ + team_ids?: number[]; + }; + }; + responses: { + /** + * response + */ + "202": { + "application/json": components["schemas"]["repository"]; + }; + }; + }; + /** + * Shows whether dependency alerts are enabled or disabled for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://help.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)". + */ + "repos/check-vulnerability-alerts": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** + * Response if repository is enabled with vulnerability alerts + */ + "204": never; + /** + * Response if repository is not enabled with vulnerability alerts + */ + "404": unknown; + }; + }; + /** + * Enables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://help.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)". + */ + "repos/enable-vulnerability-alerts": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * Disables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://help.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)". + */ + "repos/disable-vulnerability-alerts": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * Gets a redirect URL to download a zip archive for a repository. If you omit `:ref`, the repository’s default branch (usually + * `master`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use + * the `Location` header to make a second `GET` request. + * **Note**: For private repositories, these links are temporary and expire after five minutes. + */ + "repos/download-zipball-archive": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + ref: string; + }; + }; + responses: { + /** + * response + */ + "302": never; + }; + }; + /** + * Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. The authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [Get a repository](https://docs.github.com/rest/reference/repos#get-a-repository) endpoint and check that the `is_template` key is `true`. + * + * **OAuth scope requirements** + * + * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: + * + * * `public_repo` scope or `repo` scope to create a public repository + * * `repo` scope to create a private repository + */ + "repos/create-using-template": { + parameters: { + path: { + template_owner: string; + template_repo: string; + }; + }; + requestBody: { + "application/json": { + /** + * The organization or person who will own the new repository. To create a new repository in an organization, the authenticated user must be a member of the specified organization. + */ + owner?: string; + /** + * The name of the new repository. + */ + name: string; + /** + * A short description of the new repository. + */ + description?: string; + /** + * Set to `true` to include the directory structure and files from all branches in the template repository, and not just the default branch. Default: `false`. + */ + include_all_branches?: boolean; + /** + * Either `true` to create a new private repository or `false` to create a new public one. + */ + private?: boolean; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["repository"]; + }; + }; + }; + /** + * Lists all public repositories in the order that they were created. + * + * Note: Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of repositories. + */ + "repos/list-public": { + parameters: { + query: { + since?: components["parameters"]["since-repo"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["minimal-repository"][]; + }; + "304": never; + "422": unknown; + }; + }; + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + */ + "enterprise-admin/list-provisioned-groups-enterprise": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + }; + query: { + startIndex?: components["parameters"]["start_index"]; + count?: components["parameters"]["count"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["scim-group-list-enterprise"]; + }; + }; + }; + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Provision an enterprise group, and invite users to the group. This sends invitation emails to the email address of the invited users to join the GitHub organization that the SCIM group corresponds to. + */ + "enterprise-admin/provision-and-invite-enterprise-group": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + }; + }; + requestBody: { + "application/json": { + /** + * The SCIM schema URIs. + */ + schemas: string[]; + /** + * The name of the SCIM group. This must match the GitHub organization that the group maps to. + */ + displayName: string; + members?: { + /** + * The SCIM user ID for a user. + */ + value: string; + }[]; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["scim-enterprise-group"]; + }; + }; + }; + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + */ + "enterprise-admin/get-provisioning-information-for-enterprise-group": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + scim_group_id: components["parameters"]["scim_group_id"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["scim-enterprise-group"]; + }; + }; + }; + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Replaces an existing provisioned group’s information. You must provide all the information required for the group as if you were provisioning it for the first time. Any existing group information that you don't provide will be removed, including group membership. If you want to only update a specific attribute, use the [Update an attribute for a SCIM enterprise group](#update-an-attribute-for-a-scim-enterprise-group) endpoint instead. + */ + "enterprise-admin/set-information-for-provisioned-enterprise-group": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + scim_group_id: components["parameters"]["scim_group_id"]; + }; + }; + requestBody: { + "application/json": { + /** + * The SCIM schema URIs. + */ + schemas: string[]; + /** + * The name of the SCIM group. This must match the GitHub organization that the group maps to. + */ + displayName: string; + members?: { + /** + * The SCIM user ID for a user. + */ + value: string; + }[]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["scim-enterprise-group"]; + }; + }; + }; + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Allows you to change a provisioned group’s individual attributes. To change a group’s values, you must provide a specific Operations JSON format that contains at least one of the add, remove, or replace operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2). + */ + "enterprise-admin/update-attribute-for-enterprise-group": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + scim_group_id: components["parameters"]["scim_group_id"]; + }; + }; + requestBody: { + "application/json": { + /** + * The SCIM schema URIs. + */ + schemas: string[]; + /** + * Array of [SCIM operations](https://tools.ietf.org/html/rfc7644#section-3.5.2). + */ + Operations: { [key: string]: any }[]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["scim-enterprise-group"]; + }; + }; + }; + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + */ + "enterprise-admin/delete-scim-group-from-enterprise": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + scim_group_id: components["parameters"]["scim_group_id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Retrieves a paginated list of all provisioned enterprise members, including pending invitations. + * + * When a user with a SAML-provisioned external identity leaves (or is removed from) an enterprise, the account's metadata is immediately removed. However, the returned list of user accounts might not always match the organization or enterprise member list you see on GitHub. This can happen in certain cases where an external identity associated with an organization will not match an organization member: + * - When a user with a SCIM-provisioned external identity is removed from an enterprise, the account's metadata is preserved to allow the user to re-join the organization in the future. + * - When inviting a user to join an organization, you can expect to see their external identity in the results before they accept the invitation, or if the invitation is cancelled (or never accepted). + * - When a user is invited over SCIM, an external identity is created that matches with the invitee's email address. However, this identity is only linked to a user account when the user accepts the invitation by going through SAML SSO. + * + * The returned list of external identities can include an entry for a `null` user. These are unlinked SAML identities that are created when a user goes through the following Single Sign-On (SSO) process but does not sign in to their GitHub account after completing SSO: + * + * 1. The user is granted access by the IdP and is not a member of the GitHub enterprise. + * + * 1. The user attempts to access the GitHub enterprise and initiates the SAML SSO process, and is not currently signed in to their GitHub account. + * + * 1. After successfully authenticating with the SAML SSO IdP, the `null` external identity entry is created and the user is prompted to sign in to their GitHub account: + * - If the user signs in, their GitHub account is linked to this entry. + * - If the user does not sign in (or does not create a new account when prompted), they are not added to the GitHub enterprise, and the external identity `null` entry remains in place. + */ + "enterprise-admin/list-provisioned-identities-enterprise": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + }; + query: { + startIndex?: components["parameters"]["start_index"]; + count?: components["parameters"]["count"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["scim-user-list-enterprise"]; + }; + }; + }; + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Provision enterprise membership for a user, and send organization invitation emails to the email address. + * + * You can optionally include the groups a user will be invited to join. If you do not provide a list of `groups`, the user is provisioned for the enterprise, but no organization invitation emails will be sent. + */ + "enterprise-admin/provision-and-invite-enterprise-user": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + }; + }; + requestBody: { + "application/json": { + /** + * The SCIM schema URIs. + */ + schemas: string[]; + /** + * The username for the user. + */ + userName: string; + name: { + /** + * The first name of the user. + */ + givenName: string; + /** + * The last name of the user. + */ + familyName: string; + }; + /** + * List of user emails. + */ + emails: { + /** + * The email address. + */ + value: string; + /** + * The type of email address. + */ + type: string; + /** + * Whether this email address is the primary address. + */ + primary: boolean; + }[]; + /** + * List of SCIM group IDs the user is a member of. + */ + groups?: { value?: string }[]; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["scim-enterprise-user"]; + }; + }; + }; + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + */ + "enterprise-admin/get-provisioning-information-for-enterprise-user": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + scim_user_id: components["parameters"]["scim_user_id"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["scim-enterprise-user"]; + }; + }; + }; + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Replaces an existing provisioned user's information. You must provide all the information required for the user as if you were provisioning them for the first time. Any existing user information that you don't provide will be removed. If you want to only update a specific attribute, use the [Update an attribute for a SCIM user](#update-an-attribute-for-an-enterprise-scim-user) endpoint instead. + * + * You must at least provide the required values for the user: `userName`, `name`, and `emails`. + * + * **Warning:** Setting `active: false` removes the user from the enterprise, deletes the external identity, and deletes the associated `{scim_user_id}`. + */ + "enterprise-admin/set-information-for-provisioned-enterprise-user": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + scim_user_id: components["parameters"]["scim_user_id"]; + }; + }; + requestBody: { + "application/json": { + /** + * The SCIM schema URIs. + */ + schemas: string[]; + /** + * The username for the user. + */ + userName: string; + name: { + /** + * The first name of the user. + */ + givenName: string; + /** + * The last name of the user. + */ + familyName: string; + }; + /** + * List of user emails. + */ + emails: { + /** + * The email address. + */ + value: string; + /** + * The type of email address. + */ + type: string; + /** + * Whether this email address is the primary address. + */ + primary: boolean; + }[]; + /** + * List of SCIM group IDs the user is a member of. + */ + groups?: { value?: string }[]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["scim-enterprise-user"]; + }; + }; + }; + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Allows you to change a provisioned user's individual attributes. To change a user's values, you must provide a specific `Operations` JSON format that contains at least one of the `add`, `remove`, or `replace` operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2). + * + * **Note:** Complicated SCIM `path` selectors that include filters are not supported. For example, a `path` selector defined as `"path": "emails[type eq \"work\"]"` will not work. + * + * **Warning:** If you set `active:false` using the `replace` operation (as shown in the JSON example below), it removes the user from the enterprise, deletes the external identity, and deletes the associated `:scim_user_id`. + * + * ``` + * { + * "Operations":[{ + * "op":"replace", + * "value":{ + * "active":false + * } + * }] + * } + * ``` + */ + "enterprise-admin/update-attribute-for-enterprise-user": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + scim_user_id: components["parameters"]["scim_user_id"]; + }; + }; + requestBody: { + "application/json": { + /** + * The SCIM schema URIs. + */ + schemas: string[]; + /** + * Array of [SCIM operations](https://tools.ietf.org/html/rfc7644#section-3.5.2). + */ + Operations: { [key: string]: any }[]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["scim-enterprise-user"]; + }; + }; + }; + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + */ + "enterprise-admin/delete-user-from-enterprise": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + scim_user_id: components["parameters"]["scim_user_id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * Retrieves a paginated list of all provisioned organization members, including pending invitations. If you provide the `filter` parameter, the resources for all matching provisions members are returned. + * + * When a user with a SAML-provisioned external identity leaves (or is removed from) an organization, the account's metadata is immediately removed. However, the returned list of user accounts might not always match the organization or enterprise member list you see on GitHub. This can happen in certain cases where an external identity associated with an organization will not match an organization member: + * - When a user with a SCIM-provisioned external identity is removed from an organization, the account's metadata is preserved to allow the user to re-join the organization in the future. + * - When inviting a user to join an organization, you can expect to see their external identity in the results before they accept the invitation, or if the invitation is cancelled (or never accepted). + * - When a user is invited over SCIM, an external identity is created that matches with the invitee's email address. However, this identity is only linked to a user account when the user accepts the invitation by going through SAML SSO. + * + * The returned list of external identities can include an entry for a `null` user. These are unlinked SAML identities that are created when a user goes through the following Single Sign-On (SSO) process but does not sign in to their GitHub account after completing SSO: + * + * 1. The user is granted access by the IdP and is not a member of the GitHub organization. + * + * 1. The user attempts to access the GitHub organization and initiates the SAML SSO process, and is not currently signed in to their GitHub account. + * + * 1. After successfully authenticating with the SAML SSO IdP, the `null` external identity entry is created and the user is prompted to sign in to their GitHub account: + * - If the user signs in, their GitHub account is linked to this entry. + * - If the user does not sign in (or does not create a new account when prompted), they are not added to the GitHub organization, and the external identity `null` entry remains in place. + */ + "scim/list-provisioned-identities": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + query: { + /** + * Used for pagination: the index of the first result to return. + */ + startIndex?: number; + /** + * Used for pagination: the number of results to return. + */ + count?: number; + /** + * Filters results using the equals query parameter operator (`eq`). You can filter results that are equal to `id`, `userName`, `emails`, and `external_id`. For example, to search for an identity with the `userName` Octocat, you would use this query: + * + * `?filter=userName%20eq%20\"Octocat\"`. + * + * To filter results for for the identity with the email `octocat@github.com`, you would use this query: + * + * `?filter=emails%20eq%20\"octocat@github.com\"`. + */ + filter?: string; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/scim+json": components["schemas"]["scim-user-list"]; + }; + "304": never; + "400": unknown; + "403": unknown; + "404": unknown; + }; + }; + /** + * Provision organization membership for a user, and send an activation email to the email address. + */ + "scim/provision-and-invite-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + "application/json": { + /** + * Configured by the admin. Could be an email, login, or username + */ + userName: string; + /** + * The name of the user, suitable for display to end-users + */ + displayName?: string; + name: { givenName: string; familyName: string; formatted?: string }; + /** + * user emails + */ + emails: { value: string; primary?: boolean; type?: string }[]; + schemas?: string[]; + externalId?: string; + groups?: string[]; + active?: boolean; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/scim+json": components["schemas"]["scim-user"]; + }; + "304": never; + "400": unknown; + "403": unknown; + "404": unknown; + "409": unknown; + "500": unknown; + }; + }; + "scim/get-provisioning-information-for-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + scim_user_id: components["parameters"]["scim_user_id"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/scim+json": components["schemas"]["scim-user"]; + }; + "304": never; + "403": unknown; + "404": unknown; + }; + }; + /** + * Replaces an existing provisioned user's information. You must provide all the information required for the user as if you were provisioning them for the first time. Any existing user information that you don't provide will be removed. If you want to only update a specific attribute, use the [Update an attribute for a SCIM user](https://docs.github.com/rest/reference/scim#update-an-attribute-for-a-scim-user) endpoint instead. + * + * You must at least provide the required values for the user: `userName`, `name`, and `emails`. + * + * **Warning:** Setting `active: false` removes the user from the organization, deletes the external identity, and deletes the associated `{scim_user_id}`. + */ + "scim/set-information-for-provisioned-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + scim_user_id: components["parameters"]["scim_user_id"]; + }; + }; + requestBody: { + "application/json": { + schemas?: string[]; + /** + * The name of the user, suitable for display to end-users + */ + displayName?: string; + externalId?: string; + groups?: string[]; + active?: boolean; + /** + * Configured by the admin. Could be an email, login, or username + */ + userName: string; + name: { givenName: string; familyName: string; formatted?: string }; + /** + * user emails + */ + emails: { type?: string; value: string; primary?: boolean }[]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/scim+json": components["schemas"]["scim-user"]; + }; + "304": never; + "403": unknown; + "404": unknown; + }; + }; + /** + * Allows you to change a provisioned user's individual attributes. To change a user's values, you must provide a specific `Operations` JSON format that contains at least one of the `add`, `remove`, or `replace` operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2). + * + * **Note:** Complicated SCIM `path` selectors that include filters are not supported. For example, a `path` selector defined as `"path": "emails[type eq \"work\"]"` will not work. + * + * **Warning:** If you set `active:false` using the `replace` operation (as shown in the JSON example below), it removes the user from the organization, deletes the external identity, and deletes the associated `:scim_user_id`. + * + * ``` + * { + * "Operations":[{ + * "op":"replace", + * "value":{ + * "active":false + * } + * }] + * } + * ``` + */ + "scim/update-attribute-for-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + scim_user_id: components["parameters"]["scim_user_id"]; + }; + }; + requestBody: { + "application/json": { + schemas?: string[]; + /** + * Set of operations to be performed + */ + Operations: { + op: "add" | "remove" | "replace"; + path?: string; + value?: + | { + active?: boolean | null; + userName?: string | null; + externalId?: string | null; + givenName?: string | null; + familyName?: string | null; + } + | { value?: string; primary?: boolean }[] + | string; + }[]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/scim+json": components["schemas"]["scim-user"]; + }; + "304": never; + "400": unknown; + "403": unknown; + "404": unknown; + /** + * Too many requests + */ + "429": { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + "scim/delete-user-from-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + scim_user_id: components["parameters"]["scim_user_id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "304": never; + "403": unknown; + "404": unknown; + }; + }; + /** + * Searches for query terms inside of a file. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for code, you can get text match metadata for the file **content** and file **path** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to find the definition of the `addClass` function inside [jQuery](https://github.com/jquery/jquery) repository, your query would look something like this: + * + * `q=addClass+in:file+language:js+repo:jquery/jquery` + * + * This query searches for the keyword `addClass` within a file's contents. The query limits the search to files where the language is JavaScript in the `jquery/jquery` repository. + * + * #### Considerations for code search + * + * Due to the complexity of searching code, there are a few restrictions on how searches are performed: + * + * * Only the _default branch_ is considered. In most cases, this will be the `master` branch. + * * Only files smaller than 384 KB are searchable. + * * You must always include at least one search term when searching source code. For example, searching for [`language:go`](https://github.com/search?utf8=%E2%9C%93&q=language%3Ago&type=Code) is not valid, while [`amazing + * language:go`](https://github.com/search?utf8=%E2%9C%93&q=amazing+language%3Ago&type=Code) is. + */ + "search/code": { + parameters: { + query: { + /** + * The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). See "[Searching code](https://help.github.com/articles/searching-code/)" for a detailed list of qualifiers. + */ + q: string; + /** + * Sorts the results of your query. Can only be `indexed`, which indicates how recently a file has been indexed by the GitHub search infrastructure. Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results) + */ + sort?: "indexed"; + order?: components["parameters"]["order"]; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": { + total_count?: number; + incomplete_results?: boolean; + items?: components["schemas"]["code-search-result-item"][]; + }; + }; + "304": never; + "403": unknown; + "422": unknown; + "503": unknown; + }; + }; + /** + * Find commits via various criteria on the default branch (usually `master`). This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for commits, you can get text match metadata for the **message** field when you provide the `text-match` media type. For more details about how to receive highlighted search results, see [Text match + * metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to find commits related to CSS in the [octocat/Spoon-Knife](https://github.com/octocat/Spoon-Knife) repository. Your query would look something like this: + * + * `q=repo:octocat/Spoon-Knife+css` + */ + "search/commits": { + parameters: { + query: { + /** + * The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). See "[Searching commits](https://help.github.com/articles/searching-commits/)" for a detailed list of qualifiers. + */ + q: string; + /** + * Sorts the results of your query by `author-date` or `committer-date`. Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results) + */ + sort?: "author-date" | "committer-date"; + order?: components["parameters"]["order"]; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": { + total_count?: number; + incomplete_results?: boolean; + items?: components["schemas"]["commit-search-result-item"][]; + }; + }; + "304": never; + "415": unknown; + }; + }; + /** + * Find issues by state and keyword. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for issues, you can get text match metadata for the issue **title**, issue **body**, and issue **comment body** fields when you pass the `text-match` media type. For more details about how to receive highlighted + * search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to find the oldest unresolved Python bugs on Windows. Your query might look something like this. + * + * `q=windows+label:bug+language:python+state:open&sort=created&order=asc` + * + * This query searches for the keyword `windows`, within any open issue that is labeled as `bug`. The search runs across repositories whose primary language is Python. The results are sorted by creation date in ascending order, which means the oldest issues appear first in the search results. + * + * **Note:** For [user-to-server](https://docs.github.com/developers/apps/identifying-and-authorizing-users-for-github-apps#user-to-server-requests) GitHub App requests, you can't retrieve a combination of issues and pull requests in a single query. Requests that don't include the `is:issue` or `is:pull-request` qualifier will receive an HTTP `422 Unprocessable Entity` response. To get results for both issues and pull requests, you must send separate queries for issues and pull requests. For more information about the `is` qualifier, see "[Searching only issues or pull requests](https://docs.github.com/github/searching-for-information-on-github/searching-issues-and-pull-requests#search-only-issues-or-pull-requests)." + */ + "search/issues-and-pull-requests": { + parameters: { + query: { + /** + * The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). See "[Searching issues and pull requests](https://help.github.com/articles/searching-issues-and-pull-requests/)" for a detailed list of qualifiers. + */ + q: string; + /** + * Sorts the results of your query by the number of `comments`, `reactions`, `reactions-+1`, `reactions--1`, `reactions-smile`, `reactions-thinking_face`, `reactions-heart`, `reactions-tada`, or `interactions`. You can also sort results by how recently the items were `created` or `updated`, Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results) + */ + sort?: + | "comments" + | "reactions" + | "reactions-+1" + | "reactions--1" + | "reactions-smile" + | "reactions-thinking_face" + | "reactions-heart" + | "reactions-tada" + | "interactions" + | "created" + | "updated"; + order?: components["parameters"]["order"]; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": { + total_count?: number; + incomplete_results?: boolean; + items?: components["schemas"]["issue-search-result-item"][]; + }; + }; + "304": never; + "403": unknown; + "422": unknown; + "503": unknown; + }; + }; + /** + * Find labels in a repository with names or descriptions that match search keywords. Returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for labels, you can get text match metadata for the label **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to find labels in the `linguist` repository that match `bug`, `defect`, or `enhancement`. Your query might look like this: + * + * `q=bug+defect+enhancement&repository_id=64778136` + * + * The labels that best match the query appear first in the search results. + */ + "search/labels": { + parameters: { + query: { + /** + * The id of the repository. + */ + repository_id: number; + /** + * The search keywords. This endpoint does not accept qualifiers in the query. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). + */ + q: string; + /** + * Sorts the results of your query by when the label was `created` or `updated`. Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results) + */ + sort?: "created" | "updated"; + order?: components["parameters"]["order"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": { + total_count?: number; + incomplete_results?: boolean; + items?: components["schemas"]["label-search-result-item"][]; + }; + }; + "304": never; + "403": unknown; + "404": unknown; + "422": unknown; + }; + }; + /** + * Find repositories via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for repositories, you can get text match metadata for the **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to search for popular Tetris repositories written in assembly code, your query might look like this: + * + * `q=tetris+language:assembly&sort=stars&order=desc` + * + * This query searches for repositories with the word `tetris` in the name, the description, or the README. The results are limited to repositories where the primary language is assembly. The results are sorted by stars in descending order, so that the most popular repositories appear first in the search results. + * + * When you include the `mercy` preview header, you can also search for multiple topics by adding more `topic:` instances. For example, your query might look like this: + * + * `q=topic:ruby+topic:rails` + */ + "search/repos": { + parameters: { + query: { + /** + * The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). See "[Searching for repositories](https://help.github.com/articles/searching-for-repositories/)" for a detailed list of qualifiers. + */ + q: string; + /** + * Sorts the results of your query by number of `stars`, `forks`, or `help-wanted-issues` or how recently the items were `updated`. Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results) + */ + sort?: "stars" | "forks" | "help-wanted-issues" | "updated"; + order?: components["parameters"]["order"]; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": { + total_count?: number; + incomplete_results?: boolean; + items?: components["schemas"]["repo-search-result-item"][]; + }; + }; + "304": never; + "422": unknown; + "503": unknown; + }; + }; + /** + * Find topics via various criteria. Results are sorted by best match. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). See "[Searching topics](https://help.github.com/articles/searching-topics/)" for a detailed list of qualifiers. + * + * When searching for topics, you can get text match metadata for the topic's **short\_description**, **description**, **name**, or **display\_name** field when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to search for topics related to Ruby that are featured on https://github.com/topics. Your query might look like this: + * + * `q=ruby+is:featured` + * + * This query searches for topics with the keyword `ruby` and limits the results to find only topics that are featured. The topics that are the best match for the query appear first in the search results. + */ + "search/topics": { + parameters: { + query: { + /** + * The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). + */ + q: string; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": { + total_count?: number; + incomplete_results?: boolean; + items?: components["schemas"]["topic-search-result-item"][]; + }; + }; + "304": never; + "415": unknown; + }; + }; + /** + * Find users via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for users, you can get text match metadata for the issue **login**, **email**, and **name** fields when you pass the `text-match` media type. For more details about highlighting search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you're looking for a list of popular users, you might try this query: + * + * `q=tom+repos:%3E42+followers:%3E1000` + * + * This query searches for users with the name `tom`. The results are restricted to users with more than 42 repositories and over 1,000 followers. + */ + "search/users": { + parameters: { + query: { + /** + * The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). See "[Searching users](https://help.github.com/articles/searching-users/)" for a detailed list of qualifiers. + */ + q: string; + /** + * Sorts the results of your query by number of `followers` or `repositories`, or when the person `joined` GitHub. Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results) + */ + sort?: "followers" | "repositories" | "joined"; + order?: components["parameters"]["order"]; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": { + total_count?: number; + incomplete_results?: boolean; + items?: components["schemas"]["user-search-result-item"][]; + }; + }; + "304": never; + "422": unknown; + "503": unknown; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the [Get a team by name](https://docs.github.com/rest/reference/teams#get-a-team-by-name) endpoint. + */ + "teams/get-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["team-full"]; + }; + "404": unknown; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a team](https://docs.github.com/rest/reference/teams#update-a-team) endpoint. + * + * To edit a team, the authenticated user must either be an organization owner or a team maintainer. + * + * **Note:** With nested teams, the `privacy` for parent teams cannot be `secret`. + */ + "teams/update-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + }; + }; + requestBody: { + "application/json": { + /** + * The name of the team. + */ + name: string; + /** + * The description of the team. + */ + description?: string; + /** + * The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. The options are: + * **For a non-nested team:** + * \* `secret` - only visible to organization owners and members of this team. + * \* `closed` - visible to all members of this organization. + * **For a parent or child team:** + * \* `closed` - visible to all members of this organization. + */ + privacy?: "secret" | "closed"; + /** + * **Deprecated**. The permission that new repositories will be added to the team with when none is specified. Can be one of: + * \* `pull` - team members can pull, but not push to or administer newly-added repositories. + * \* `push` - team members can pull and push, but not administer newly-added repositories. + * \* `admin` - team members can pull, push and administer newly-added repositories. + */ + permission?: "pull" | "push" | "admin"; + /** + * The ID of a team to set as the parent team. + */ + parent_team_id?: number | null; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["team-full"]; + }; + "403": unknown; + "404": unknown; + "422": unknown; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a team](https://docs.github.com/rest/reference/teams#delete-a-team) endpoint. + * + * To delete a team, the authenticated user must be an organization owner or team maintainer. + * + * If you are an organization owner, deleting a parent team will delete all of its child teams as well. + */ + "teams/delete-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "404": unknown; + "422": unknown; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List discussions`](https://docs.github.com/rest/reference/teams#list-discussions) endpoint. + * + * List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "teams/list-discussions-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + }; + query: { + direction?: components["parameters"]["direction"]; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["team-discussion"][]; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create a discussion`](https://docs.github.com/rest/reference/teams#create-a-discussion) endpoint. + * + * Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. + */ + "teams/create-discussion-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + }; + }; + requestBody: { + "application/json": { + /** + * The discussion post's title. + */ + title: string; + /** + * The discussion post's body text. + */ + body: string; + /** + * Private posts are only visible to team members, organization owners, and team maintainers. Public posts are visible to all members of the organization. Set to `true` to create a private post. + */ + private?: boolean; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion](https://docs.github.com/rest/reference/teams#get-a-discussion) endpoint. + * + * Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "teams/get-discussion-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion](https://docs.github.com/rest/reference/teams#update-a-discussion) endpoint. + * + * Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "teams/update-discussion-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + requestBody: { + "application/json": { + /** + * The discussion post's title. + */ + title?: string; + /** + * The discussion post's body text. + */ + body?: string; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete a discussion`](https://docs.github.com/rest/reference/teams#delete-a-discussion) endpoint. + * + * Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "teams/delete-discussion-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List discussion comments](https://docs.github.com/rest/reference/teams#list-discussion-comments) endpoint. + * + * List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "teams/list-discussion-comments-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + query: { + direction?: components["parameters"]["direction"]; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["team-discussion-comment"][]; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Create a discussion comment](https://docs.github.com/rest/reference/teams#create-a-discussion-comment) endpoint. + * + * Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. + */ + "teams/create-discussion-comment-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + requestBody: { + "application/json": { + /** + * The discussion comment's body text. + */ + body: string; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion comment](https://docs.github.com/rest/reference/teams#get-a-discussion-comment) endpoint. + * + * Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "teams/get-discussion-comment-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + discussion_number: components["parameters"]["discussion-number"]; + comment_number: components["parameters"]["comment-number"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion comment](https://docs.github.com/rest/reference/teams#update-a-discussion-comment) endpoint. + * + * Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "teams/update-discussion-comment-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + discussion_number: components["parameters"]["discussion-number"]; + comment_number: components["parameters"]["comment-number"]; + }; + }; + requestBody: { + "application/json": { + /** + * The discussion comment's body text. + */ + body: string; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a discussion comment](https://docs.github.com/rest/reference/teams#delete-a-discussion-comment) endpoint. + * + * Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "teams/delete-discussion-comment-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + discussion_number: components["parameters"]["discussion-number"]; + comment_number: components["parameters"]["comment-number"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion comment`](https://docs.github.com/rest/reference/reactions#list-reactions-for-a-team-discussion-comment) endpoint. + * + * List the reactions to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "reactions/list-for-team-discussion-comment-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + discussion_number: components["parameters"]["discussion-number"]; + comment_number: components["parameters"]["comment-number"]; + }; + query: { + /** + * Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion comment. + */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["reaction"][]; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create reaction for a team discussion comment`](https://docs.github.comt/rest/reference/reactions#create-reaction-for-a-team-discussion-comment) endpoint. + * + * Create a reaction to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with a `Status: 200 OK` means that you already added the reaction type to this team discussion comment. + */ + "reactions/create-for-team-discussion-comment-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + discussion_number: components["parameters"]["discussion-number"]; + comment_number: components["parameters"]["comment-number"]; + }; + }; + requestBody: { + "application/json": { + /** + * The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the team discussion comment. + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["reaction"]; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion`](https://docs.github.com/rest/reference/reactions#list-reactions-for-a-team-discussion) endpoint. + * + * List the reactions to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "reactions/list-for-team-discussion-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + query: { + /** + * Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion. + */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["reaction"][]; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create reaction for a team discussion`](https://docs.github.com/rest/reference/reactions#create-reaction-for-a-team-discussion) endpoint. + * + * Create a reaction to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with a `Status: 200 OK` means that you already added the reaction type to this team discussion. + */ + "reactions/create-for-team-discussion-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + requestBody: { + "application/json": { + /** + * The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the team discussion. + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["reaction"]; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List pending team invitations`](https://docs.github.com/rest/reference/teams#list-pending-team-invitations) endpoint. + * + * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. + */ + "teams/list-pending-invitations-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["organization-invitation"][]; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team members`](https://docs.github.com/rest/reference/teams#list-team-members) endpoint. + * + * Team members will include the members of child teams. + */ + "teams/list-members-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + }; + query: { + /** + * Filters members returned by their role in the team. Can be one of: + * \* `member` - normal members of the team. + * \* `maintainer` - team maintainers. + * \* `all` - all members of the team. + */ + role?: "member" | "maintainer" | "all"; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["simple-user"][]; + }; + "404": unknown; + }; + }; + /** + * The "Get team member" endpoint (described below) is deprecated. + * + * We recommend using the [Get team membership for a user](https://docs.github.com/rest/reference/teams#get-team-membership-for-a-user) endpoint instead. It allows you to get both active and pending memberships. + * + * To list members in a team, the team must be visible to the authenticated user. + */ + "teams/get-member-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** + * Response if user is a member + */ + "204": never; + /** + * Response if user is not a member + */ + "404": unknown; + }; + }; + /** + * The "Add team member" endpoint (described below) is deprecated. + * + * We recommend using the [Add or update team membership for a user](https://docs.github.com/rest/reference/teams#add-or-update-team-membership-for-a-user) endpoint instead. It allows you to invite new organization members to your teams. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To add someone to a team, the authenticated user must be an organization owner or a team maintainer in the team they're changing. The person being added to the team must be a member of the team's organization. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + "teams/add-member-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "403": unknown; + /** + * Response if team synchronization is set up + */ + "404": unknown; + /** + * response + */ + "422": { + "application/json": { + message?: string; + errors?: { code?: string; field?: string; resource?: string }[]; + documentation_url?: string; + }; + }; + }; + }; + /** + * The "Remove team member" endpoint (described below) is deprecated. + * + * We recommend using the [Remove team membership for a user](https://docs.github.com/rest/reference/teams#remove-team-membership-for-a-user) endpoint instead. It allows you to remove both active and pending memberships. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a team member, the authenticated user must have 'admin' permissions to the team or be an owner of the org that the team is associated with. Removing a team member does not delete the user, it just removes them from the team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + */ + "teams/remove-member-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + /** + * Response if team synchronization is setup + */ + "404": unknown; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get team membership for a user](https://docs.github.com/rest/reference/teams#get-team-membership-for-a-user) endpoint. + * + * Team members will include the members of child teams. + * + * To get a user's membership with a team, the team must be visible to the authenticated user. + * + * **Note:** The `role` for organization owners returns as `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/rest/reference/teams#create-a-team). + */ + "teams/get-membership-for-user-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["team-membership"]; + }; + "404": unknown; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team membership for a user](https://docs.github.com/rest/reference/teams#add-or-update-team-membership-for-a-user) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * If the user is already a member of the team's organization, this endpoint will add the user to the team. To add a membership between an organization member and a team, the authenticated user must be an organization owner or a team maintainer. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * If the user is unaffiliated with the team's organization, this endpoint will send an invitation to the user via email. This newly-created membership will be in the "pending" state until the user accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. To add a membership between an unaffiliated user and a team, the authenticated user must be an organization owner. + * + * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. + */ + "teams/add-or-update-membership-for-user-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + username: components["parameters"]["username"]; + }; + }; + requestBody: { + "application/json": { + /** + * The role that this user should have in the team. Can be one of: + * \* `member` - a normal member of the team. + * \* `maintainer` - a team maintainer. Able to add/remove other team members, promote other team members to team maintainer, and edit the team's name and description. + */ + role?: "member" | "maintainer"; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["team-membership"]; + }; + /** + * Response if team synchronization is set up + */ + "403": unknown; + "404": unknown; + /** + * Response if you attempt to add an organization to a team + */ + "422": { + "application/json": { + message?: string; + errors?: { code?: string; field?: string; resource?: string }[]; + documentation_url?: string; + }; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove team membership for a user](https://docs.github.com/rest/reference/teams#remove-team-membership-for-a-user) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + */ + "teams/remove-membership-for-user-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + /** + * Response if team synchronization is set up + */ + "403": unknown; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team projects`](https://docs.github.com/rest/reference/teams#list-team-projects) endpoint. + * + * Lists the organization projects for a team. + */ + "teams/list-projects-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["team-project"][]; + }; + "404": unknown; + "415": unknown; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a project](https://docs.github.com/rest/reference/teams#check-team-permissions-for-a-project) endpoint. + * + * Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. + */ + "teams/check-permissions-for-project-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + project_id: components["parameters"]["project-id"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["team-project"]; + }; + /** + * Response if project is not managed by this team + */ + "404": unknown; + "415": unknown; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team project permissions](https://docs.github.com/rest/reference/teams#add-or-update-team-project-permissions) endpoint. + * + * Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization. + */ + "teams/add-or-update-project-permissions-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + project_id: components["parameters"]["project-id"]; + }; + }; + requestBody: { + "application/json": { + /** + * The permission to grant to the team for this project. Can be one of: + * \* `read` - team members can read, but not write to or administer this project. + * \* `write` - team members can read and write, but not administer this project. + * \* `admin` - team members can read, write and administer this project. + * Default: the team's `permission` attribute will be used to determine what permission to grant the team on this project. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + permission?: "read" | "write" | "admin"; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + /** + * Response if the project is not owned by the organization + */ + "403": { + "application/json": { message?: string; documentation_url?: string }; + }; + "404": unknown; + "415": unknown; + "422": unknown; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a project from a team](https://docs.github.com/rest/reference/teams#remove-a-project-from-a-team) endpoint. + * + * Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. **Note:** This endpoint removes the project from the team, but does not delete it. + */ + "teams/remove-project-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + project_id: components["parameters"]["project-id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "404": unknown; + "415": unknown; + "422": unknown; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List team repositories](https://docs.github.com/rest/reference/teams#list-team-repositories) endpoint. + */ + "teams/list-repos-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["minimal-repository"][]; + }; + "404": unknown; + }; + }; + /** + * **Note**: Repositories inherited through a parent team will also be checked. + * + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a repository](https://docs.github.com/rest/reference/teams#check-team-permissions-for-a-repository) endpoint. + * + * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: + */ + "teams/check-permissions-for-repo-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** + * Alternative response with extra repository information + */ + "200": { + "application/vnd.github.v3.repository+json": components["schemas"]["team-repository"]; + }; + /** + * Response if repository is managed by this team + */ + "204": never; + /** + * Response if repository is not managed by this team + */ + "404": unknown; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team repository permissions](https://docs.github.comt/rest/reference/teams#add-or-update-team-project-permissions) endpoint. + * + * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + "teams/add-or-update-repo-permissions-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + "application/json": { + /** + * The permission to grant the team on this repository. Can be one of: + * \* `pull` - team members can pull, but not push to or administer this repository. + * \* `push` - team members can pull and push, but not administer this repository. + * \* `admin` - team members can pull, push and administer this repository. + * + * If no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository. + */ + permission?: "pull" | "push" | "admin"; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "403": unknown; + "422": unknown; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a repository from a team](https://docs.github.com/rest/reference/teams#remove-a-repository-from-a-team) endpoint. + * + * If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. NOTE: This does not delete the repository, it just removes it from the team. + */ + "teams/remove-repo-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List IdP groups for a team`](https://docs.github.com/rest/reference/teams#list-idp-groups-for-a-team) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * List IdP groups connected to a team on GitHub. + */ + "teams/list-idp-groups-for-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["group-mapping"]; + }; + "403": unknown; + "404": unknown; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create or update IdP group connections`](https://docs.github.com/rest/reference/teams#create-or-update-idp-group-connections) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Creates, updates, or removes a connection between a team and an IdP group. When adding groups to a team, you must include all new and existing groups to avoid replacing existing groups with the new ones. Specifying an empty `groups` array will remove all connections for a team. + */ + "teams/create-or-update-idp-group-connections-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + }; + }; + requestBody: { + "application/json": { + /** + * The IdP groups you want to connect to a GitHub team. When updating, the new `groups` object will replace the original one. You must include any existing groups that you don't want to remove. + */ + groups: { + /** + * ID of the IdP group. + */ + group_id: string; + /** + * Name of the IdP group. + */ + group_name: string; + /** + * Description of the IdP group. + */ + group_description: string; + id?: string; + name?: string; + description?: string; + }[]; + synced_at?: string; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["group-mapping"]; + }; + "403": unknown; + "422": unknown; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List child teams`](https://docs.github.com/rest/reference/teams#list-child-teams) endpoint. + */ + "teams/list-child-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * Response if child teams exist + */ + "200": { + "application/json": components["schemas"]["team"][]; + }; + "403": unknown; + "404": unknown; + "422": unknown; + }; + }; + /** + * If the authenticated user is authenticated through basic authentication or OAuth with the `user` scope, then the response lists public and private profile information. + * + * If the authenticated user is authenticated through OAuth without the `user` scope, then the response lists only public profile information. + */ + "users/get-authenticated": { + parameters: {}; + responses: { + /** + * response + */ + "200": { + "application/json": + | components["schemas"]["private-user"] + | components["schemas"]["public-user"]; + }; + "304": never; + "401": unknown; + "403": unknown; + }; + }; + /** + * **Note:** If your email is set to private and you send an `email` parameter as part of this request to update your profile, your privacy settings are still enforced: the email address will not be displayed on your public profile or via the API. + */ + "users/update-authenticated": { + parameters: {}; + requestBody: { + "application/json": { + /** + * The new name of the user. + */ + name?: string; + /** + * The publicly visible email address of the user. + */ + email?: string; + /** + * The new blog URL of the user. + */ + blog?: string; + /** + * The new Twitter username of the user. + */ + twitter_username?: string | null; + /** + * The new company of the user. + */ + company?: string; + /** + * The new location of the user. + */ + location?: string; + /** + * The new hiring availability of the user. + */ + hireable?: boolean; + /** + * The new short biography of the user. + */ + bio?: string; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["private-user"]; + }; + "304": never; + "401": unknown; + "403": unknown; + "404": unknown; + "422": unknown; + }; + }; + /** + * List the users you've blocked on your personal account. + */ + "users/list-blocked-by-authenticated": { + parameters: {}; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["simple-user"][]; + }; + "304": never; + "401": unknown; + "403": unknown; + "404": unknown; + "415": unknown; + }; + }; + /** + * If the user is blocked: + * + * If the user is not blocked: + */ + "users/check-blocked": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** + * If the user is blocked: + */ + "204": never; + "304": never; + "401": unknown; + "403": unknown; + /** + * If the user is not blocked: + */ + "404": { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + "users/block": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "304": never; + "401": unknown; + "403": unknown; + "404": unknown; + "422": unknown; + }; + }; + "users/unblock": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "304": never; + "401": unknown; + "403": unknown; + "404": unknown; + }; + }; + /** + * Sets the visibility for your primary email addresses. + */ + "users/set-primary-email-visibility-for-authenticated": { + parameters: {}; + requestBody: { + "application/json": { + /** + * An email address associated with the GitHub user account to manage. + */ + email: string; + /** + * Denotes whether an email is publically visible. + */ + visibility: "public" | "private"; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["email"][]; + }; + "304": never; + "401": unknown; + "403": unknown; + "404": unknown; + "422": unknown; + }; + }; + /** + * Lists all of your email addresses, and specifies which one is visible to the public. This endpoint is accessible with the `user:email` scope. + */ + "users/list-emails-for-authenticated": { + parameters: { + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["email"][]; + }; + "304": never; + "401": unknown; + "403": unknown; + "404": unknown; + }; + }; + /** + * This endpoint is accessible with the `user` scope. + */ + "users/add-email-for-authenticated": { + parameters: {}; + requestBody: { + "application/json": + | { + /** + * Adds one or more email addresses to your GitHub account. Must contain at least one email address. **Note:** Alternatively, you can pass a single email address or an `array` of emails addresses directly, but we recommend that you pass an object using the `emails` key. + */ + emails: string[]; + } + | string[] + | string; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["email"][]; + }; + "304": never; + "401": unknown; + "403": unknown; + "404": unknown; + "422": unknown; + }; + }; + /** + * This endpoint is accessible with the `user` scope. + */ + "users/delete-email-for-authenticated": { + parameters: {}; + requestBody: { + "application/json": + | { + /** + * Email addresses associated with the GitHub user account. + */ + emails: string[]; + } + | string[] + | string; + }; + responses: { + /** + * Empty response + */ + "204": never; + "304": never; + "401": unknown; + "403": unknown; + "404": unknown; + "422": unknown; + }; + }; + /** + * Lists the people following the authenticated user. + */ + "users/list-followers-for-authenticated-user": { + parameters: { + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["simple-user"][]; + }; + "304": never; + "401": unknown; + "403": unknown; + }; + }; + /** + * Lists the people who the authenticated user follows. + */ + "users/list-followed-by-authenticated": { + parameters: { + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["simple-user"][]; + }; + "304": never; + "401": unknown; + "403": unknown; + }; + }; + "users/check-person-is-followed-by-authenticated": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** + * Response if the person is followed by the authenticated user + */ + "204": never; + "304": never; + "401": unknown; + "403": unknown; + /** + * Response if the person is not followed by the authenticated user + */ + "404": { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + /** + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * + * Following a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. + */ + "users/follow": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "304": never; + "401": unknown; + "403": unknown; + "404": unknown; + }; + }; + /** + * Unfollowing a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. + */ + "users/unfollow": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "304": never; + "401": unknown; + "403": unknown; + "404": unknown; + }; + }; + /** + * Lists the current user's GPG keys. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "users/list-gpg-keys-for-authenticated": { + parameters: { + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["gpg-key"][]; + }; + "304": never; + "401": unknown; + "403": unknown; + "404": unknown; + }; + }; + /** + * Adds a GPG key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "users/create-gpg-key-for-authenticated": { + parameters: {}; + requestBody: { + "application/json": { + /** + * A GPG key in ASCII-armored format. + */ + armored_public_key: string; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["gpg-key"]; + }; + "304": never; + "401": unknown; + "403": unknown; + "404": unknown; + "422": unknown; + }; + }; + /** + * View extended details for a single GPG key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "users/get-gpg-key-for-authenticated": { + parameters: { + path: { + gpg_key_id: components["parameters"]["gpg_key_id"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["gpg-key"]; + }; + "304": never; + "401": unknown; + "403": unknown; + "404": unknown; + }; + }; + /** + * Removes a GPG key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "users/delete-gpg-key-for-authenticated": { + parameters: { + path: { + gpg_key_id: components["parameters"]["gpg_key_id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "304": never; + "401": unknown; + "403": unknown; + "404": unknown; + "422": unknown; + }; + }; + /** + * Lists installations of your GitHub App that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. + * + * You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + * + * You can find the permissions for the installation under the `permissions` key. + */ + "apps/list-installations-for-authenticated-user": { + parameters: { + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * You can find the permissions for the installation under the `permissions` key. + */ + "200": { + "application/json": { + total_count?: number; + installations?: components["schemas"]["installation"][]; + }; + }; + "304": never; + "401": unknown; + "403": unknown; + "415": unknown; + }; + }; + /** + * List repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access for an installation. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + * + * You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. + * + * The access the user has to each repository is included in the hash under the `permissions` key. + */ + "apps/list-installation-repos-for-authenticated-user": { + parameters: { + path: { + installation_id: components["parameters"]["installation_id"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * The access the user has to each repository is included in the hash under the `permissions` key. + */ + "200": { + "application/json": { + total_count?: number; + repository_selection?: string; + repositories?: components["schemas"]["repository"][]; + }; + }; + "304": never; + "403": unknown; + "404": unknown; + }; + }; + /** + * Add a single repository to an installation. The authenticated user must have admin access to the repository. + * + * You must use a personal access token (which you can create via the [command line](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/) or the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations#create-a-new-authorization) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) to access this endpoint. + */ + "apps/add-repo-to-installation": { + parameters: { + path: { + installation_id: components["parameters"]["installation_id"]; + repository_id: components["parameters"]["repository_id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "304": never; + "403": unknown; + "404": unknown; + }; + }; + /** + * Remove a single repository from an installation. The authenticated user must have admin access to the repository. + * + * You must use a personal access token (which you can create via the [command line](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/) or the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations#create-a-new-authorization) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) to access this endpoint. + */ + "apps/remove-repo-from-installation": { + parameters: { + path: { + installation_id: components["parameters"]["installation_id"]; + repository_id: components["parameters"]["repository_id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "304": never; + "403": unknown; + "404": unknown; + }; + }; + /** + * Shows which type of GitHub user can interact with your public repositories and when the restriction expires. If there are no restrictions, you will see an empty response. + */ + "interactions/get-restrictions-for-your-public-repos": { + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["interaction-limit-response"]; + }; + }; + }; + /** + * Temporarily restricts which type of GitHub user can interact with your public repositories. Setting the interaction limit at the user level will overwrite any interaction limits that are set for individual repositories owned by the user. + */ + "interactions/set-restrictions-for-your-public-repos": { + requestBody: { + "application/json": components["schemas"]["interaction-limit"]; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["interaction-limit-response"]; + }; + "422": unknown; + }; + }; + /** + * Removes any interaction restrictions from your public repositories. + */ + "interactions/remove-restrictions-for-your-public-repos": { + responses: { + /** + * Empty response + */ + "204": never; + }; + }; + /** + * List issues across owned and member repositories assigned to the authenticated user. + * + * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + */ + "issues/list-for-authenticated-user": { + parameters: { + query: { + /** + * Indicates which sorts of issues to return. Can be one of: + * \* `assigned`: Issues assigned to you + * \* `created`: Issues created by you + * \* `mentioned`: Issues mentioning you + * \* `subscribed`: Issues you're subscribed to updates for + * \* `all`: All issues the authenticated user can see, regardless of participation or creation + */ + filter?: "assigned" | "created" | "mentioned" | "subscribed" | "all"; + /** + * Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + labels?: components["parameters"]["labels"]; + /** + * What to sort results by. Can be either `created`, `updated`, `comments`. + */ + sort?: "created" | "updated" | "comments"; + direction?: components["parameters"]["direction"]; + since?: components["parameters"]["since"]; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["issue"][]; + }; + "304": never; + "404": unknown; + }; + }; + /** + * Lists the public SSH keys for the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "users/list-public-ssh-keys-for-authenticated": { + parameters: { + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["key"][]; + }; + "304": never; + "401": unknown; + "403": unknown; + "404": unknown; + }; + }; + /** + * Adds a public SSH key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "users/create-public-ssh-key-for-authenticated": { + parameters: {}; + requestBody: { + "application/json": { + /** + * A descriptive name for the new key. + */ + title?: string; + /** + * The public SSH key to add to your GitHub account. + */ + key: string; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["key"]; + }; + "304": never; + "401": unknown; + "403": unknown; + "404": unknown; + "422": unknown; + }; + }; + /** + * View extended details for a single public SSH key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "users/get-public-ssh-key-for-authenticated": { + parameters: { + path: { + key_id: components["parameters"]["key_id"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["key"]; + }; + "304": never; + "401": unknown; + "403": unknown; + "404": unknown; + }; + }; + /** + * Removes a public SSH key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "users/delete-public-ssh-key-for-authenticated": { + parameters: { + path: { + key_id: components["parameters"]["key_id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "304": never; + "401": unknown; + "403": unknown; + "404": unknown; + }; + }; + /** + * Lists the active subscriptions for the authenticated user. You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. . OAuth Apps must authenticate using an [OAuth token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/). + */ + "apps/list-subscriptions-for-authenticated-user": { + parameters: { + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["user-marketplace-purchase"][]; + }; + "304": never; + "401": unknown; + "404": unknown; + }; + }; + /** + * Lists the active subscriptions for the authenticated user. You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. . OAuth Apps must authenticate using an [OAuth token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/). + */ + "apps/list-subscriptions-for-authenticated-user-stubbed": { + parameters: { + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["user-marketplace-purchase"][]; + }; + "304": never; + "401": unknown; + }; + }; + "orgs/list-memberships-for-authenticated-user": { + parameters: { + query: { + /** + * Indicates the state of the memberships to return. Can be either `active` or `pending`. If not specified, the API returns both active and pending memberships. + */ + state?: "active" | "pending"; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["org-membership"][]; + }; + "304": never; + "401": unknown; + "403": unknown; + "422": unknown; + }; + }; + "orgs/get-membership-for-authenticated-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["org-membership"]; + }; + "403": unknown; + "404": unknown; + }; + }; + "orgs/update-membership-for-authenticated-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + "application/json": { + /** + * The state that the membership should be in. Only `"active"` will be accepted. + */ + state: "active"; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["org-membership"]; + }; + "403": unknown; + "404": unknown; + "422": unknown; + }; + }; + /** + * Lists all migrations a user has started. + */ + "migrations/list-for-authenticated-user": { + parameters: { + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["migration"][]; + }; + "304": never; + "401": unknown; + "403": unknown; + }; + }; + /** + * Initiates the generation of a user migration archive. + */ + "migrations/start-for-authenticated-user": { + parameters: {}; + requestBody: { + "application/json": { + /** + * Lock the repositories being migrated at the start of the migration + */ + lock_repositories?: boolean; + /** + * Do not include attachments in the migration + */ + exclude_attachments?: boolean; + /** + * Exclude attributes from the API response to improve performance + */ + exclude?: "repositories"[]; + repositories: string[]; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["migration"]; + }; + "304": never; + "401": unknown; + "403": unknown; + "422": unknown; + }; + }; + /** + * Fetches a single user migration. The response includes the `state` of the migration, which can be one of the following values: + * + * * `pending` - the migration hasn't started yet. + * * `exporting` - the migration is in progress. + * * `exported` - the migration finished successfully. + * * `failed` - the migration failed. + * + * Once the migration has been `exported` you can [download the migration archive](https://docs.github.com/rest/reference/migrations#download-a-user-migration-archive). + */ + "migrations/get-status-for-authenticated-user": { + parameters: { + path: { + migration_id: components["parameters"]["migration_id"]; + }; + query: { + exclude?: string[]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["migration"]; + }; + "304": never; + "401": unknown; + "403": unknown; + "404": unknown; + }; + }; + /** + * Fetches the URL to download the migration archive as a `tar.gz` file. Depending on the resources your repository uses, the migration archive can contain JSON files with data for these objects: + * + * * attachments + * * bases + * * commit\_comments + * * issue\_comments + * * issue\_events + * * issues + * * milestones + * * organizations + * * projects + * * protected\_branches + * * pull\_request\_reviews + * * pull\_requests + * * releases + * * repositories + * * review\_comments + * * schema + * * users + * + * The archive will also contain an `attachments` directory that includes all attachment files uploaded to GitHub.com and a `repositories` directory that contains the repository's Git data. + */ + "migrations/get-archive-for-authenticated-user": { + parameters: { + path: { + migration_id: components["parameters"]["migration_id"]; + }; + }; + responses: { + /** + * response + */ + "302": never; + "304": never; + "401": unknown; + "403": unknown; + }; + }; + /** + * Deletes a previous migration archive. Downloadable migration archives are automatically deleted after seven days. Migration metadata, which is returned in the [List user migrations](https://docs.github.com/rest/reference/migrations#list-user-migrations) and [Get a user migration status](https://docs.github.com/rest/reference/migrations#get-a-user-migration-status) endpoints, will continue to be available even after an archive is deleted. + */ + "migrations/delete-archive-for-authenticated-user": { + parameters: { + path: { + migration_id: components["parameters"]["migration_id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "304": never; + "401": unknown; + "403": unknown; + "404": unknown; + }; + }; + /** + * Unlocks a repository. You can lock repositories when you [start a user migration](https://docs.github.com/rest/reference/migrations#start-a-user-migration). Once the migration is complete you can unlock each repository to begin using it again or [delete the repository](https://docs.github.com/rest/reference/repos#delete-a-repository) if you no longer need the source data. Returns a status of `404 Not Found` if the repository is not locked. + */ + "migrations/unlock-repo-for-authenticated-user": { + parameters: { + path: { + migration_id: components["parameters"]["migration_id"]; + repo_name: components["parameters"]["repo_name"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "304": never; + "401": unknown; + "403": unknown; + "404": unknown; + }; + }; + /** + * Lists all the repositories for this user migration. + */ + "migrations/list-repos-for-user": { + parameters: { + path: { + migration_id: components["parameters"]["migration_id"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["minimal-repository"][]; + }; + "404": unknown; + }; + }; + /** + * List organizations for the authenticated user. + * + * **OAuth scope requirements** + * + * This only lists organizations that your authorization allows you to operate on in some way (e.g., you can list teams with `read:org` scope, you can publicize your organization membership with `user` scope, etc.). Therefore, this API requires at least `user` or `read:org` scope. OAuth requests with insufficient scope receive a `403 Forbidden` response. + */ + "orgs/list-for-authenticated-user": { + parameters: { + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["organization-simple"][]; + }; + "304": never; + "401": unknown; + "403": unknown; + }; + }; + "projects/create-for-authenticated-user": { + parameters: {}; + requestBody: { + "application/json": { + /** + * Name of the project + */ + name: string; + /** + * Body of the project + */ + body?: string | null; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["project"]; + }; + "304": never; + "401": unknown; + "403": unknown; + "415": unknown; + "422": unknown; + }; + }; + /** + * Lists your publicly visible email address, which you can set with the [Set primary email visibility for the authenticated user](https://docs.github.com/rest/reference/users#set-primary-email-visibility-for-the-authenticated-user) endpoint. This endpoint is accessible with the `user:email` scope. + */ + "users/list-public-emails-for-authenticated": { + parameters: { + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["email"][]; + }; + "304": never; + "401": unknown; + "403": unknown; + "404": unknown; + }; + }; + /** + * Lists repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + */ + "repos/list-for-authenticated-user": { + parameters: { + query: { + /** + * Can be one of `all`, `public`, or `private`. + */ + visibility?: "all" | "public" | "private"; + /** + * Comma-separated list of values. Can include: + * \* `owner`: Repositories that are owned by the authenticated user. + * \* `collaborator`: Repositories that the user has been added to as a collaborator. + * \* `organization_member`: Repositories that the user has access to through being a member of an organization. This includes every repository on every team that the user is on. + */ + affiliation?: string; + /** + * Can be one of `all`, `owner`, `public`, `private`, `member`. Default: `all` + * + * Will cause a `422` error if used in the same request as **visibility** or **affiliation**. Will cause a `422` error if used in the same request as **visibility** or **affiliation**. + */ + type?: "all" | "owner" | "public" | "private" | "member"; + /** + * Can be one of `created`, `updated`, `pushed`, `full_name`. + */ + sort?: "created" | "updated" | "pushed" | "full_name"; + /** + * Can be one of `asc` or `desc`. Default: `asc` when using `full_name`, otherwise `desc` + */ + direction?: "asc" | "desc"; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + since?: components["parameters"]["since"]; + before?: components["parameters"]["before"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["repository"][]; + }; + "304": never; + "401": unknown; + "403": unknown; + /** + * Response definition missing + */ + "418": unknown; + "422": unknown; + }; + }; + /** + * Creates a new repository for the authenticated user. + * + * **OAuth scope requirements** + * + * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: + * + * * `public_repo` scope or `repo` scope to create a public repository + * * `repo` scope to create a private repository + */ + "repos/create-for-authenticated-user": { + parameters: {}; + requestBody: { + "application/json": { + /** + * The name of the repository. + */ + name: string; + /** + * A short description of the repository. + */ + description?: string; + /** + * A URL with more information about the repository. + */ + homepage?: string; + /** + * Whether the repository is private or public. + */ + private?: boolean; + /** + * Whether issues are enabled. + */ + has_issues?: boolean; + /** + * Whether projects are enabled. + */ + has_projects?: boolean; + /** + * Whether the wiki is enabled. + */ + has_wiki?: boolean; + /** + * The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization. + */ + team_id?: number; + /** + * Whether the repository is initialized with a minimal README. + */ + auto_init?: boolean; + /** + * The desired language or platform to apply to the .gitignore. + */ + gitignore_template?: string; + /** + * The license keyword of the open source license for this repository. + */ + license_template?: string; + /** + * Whether to allow squash merges for pull requests. + */ + allow_squash_merge?: boolean; + /** + * Whether to allow merge commits for pull requests. + */ + allow_merge_commit?: boolean; + /** + * Whether to allow rebase merges for pull requests. + */ + allow_rebase_merge?: boolean; + /** + * Whether to delete head branches when pull requests are merged + */ + delete_branch_on_merge?: boolean; + /** + * Whether downloads are enabled. + */ + has_downloads?: boolean; + /** + * Whether this repository acts as a template that can be used to generate new repositories. + */ + is_template?: boolean; + }; + }; + responses: { + /** + * response + */ + "201": { + "application/json": components["schemas"]["repository"]; + }; + "304": never; + "400": unknown; + "401": unknown; + "403": unknown; + "404": unknown; + "422": unknown; + }; + }; + /** + * When authenticating as a user, this endpoint will list all currently open repository invitations for that user. + */ + "repos/list-invitations-for-authenticated-user": { + parameters: { + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["repository-invitation"][]; + }; + "304": never; + "401": unknown; + "403": unknown; + "404": unknown; + }; + }; + "repos/accept-invitation": { + parameters: { + path: { + invitation_id: components["parameters"]["invitation_id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "304": never; + "403": unknown; + "404": unknown; + "409": unknown; + }; + }; + "repos/decline-invitation": { + parameters: { + path: { + invitation_id: components["parameters"]["invitation_id"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "304": never; + "403": unknown; + "404": unknown; + "409": unknown; + }; + }; + /** + * Lists repositories the authenticated user has starred. + * + * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: + */ + "activity/list-repos-starred-by-authenticated-user": { + parameters: { + query: { + sort?: components["parameters"]["sort"]; + direction?: components["parameters"]["direction"]; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["repository"][]; + "application/vnd.github.v3.star+json": components["schemas"]["starred-repository"][]; + }; + "304": never; + "401": unknown; + "403": unknown; + }; + }; + "activity/check-repo-is-starred-by-authenticated-user": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** + * Response if this repository is starred by you + */ + "204": never; + "304": never; + "401": unknown; + "403": unknown; + /** + * Response if this repository is not starred by you + */ + "404": { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + /** + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + "activity/star-repo-for-authenticated-user": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "304": never; + "401": unknown; + "403": unknown; + "404": unknown; + }; + }; + "activity/unstar-repo-for-authenticated-user": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** + * Empty response + */ + "204": never; + "304": never; + "401": unknown; + "403": unknown; + "404": unknown; + }; + }; + /** + * Lists repositories the authenticated user is watching. + */ + "activity/list-watched-repos-for-authenticated-user": { + parameters: { + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["minimal-repository"][]; + }; + "304": never; + "401": unknown; + "403": unknown; + }; + }; + /** + * List all of the teams across all of the organizations to which the authenticated user belongs. This method requires `user`, `repo`, or `read:org` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/) when authenticating via [OAuth](https://docs.github.com/apps/building-oauth-apps/). + */ + "teams/list-for-authenticated-user": { + parameters: { + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["team-full"][]; + }; + "304": never; + "403": unknown; + "404": unknown; + }; + }; + /** + * Lists all users, in the order that they signed up on GitHub. This list includes personal user accounts and organization accounts. + * + * Note: Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of users. + */ + "users/list": { + parameters: { + query: { + since?: components["parameters"]["since-user"]; + per_page?: components["parameters"]["per_page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["simple-user"][]; + }; + "304": never; + }; + }; + /** + * Provides publicly available information about someone with a GitHub account. + * + * GitHub Apps with the `Plan` user permission can use this endpoint to retrieve information about a user's GitHub plan. The GitHub App must be authenticated as a user. See "[Identifying and authorizing users for GitHub Apps](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/)" for details about authentication. For an example response, see 'Response with GitHub plan information' below" + * + * The `email` key in the following response is the publicly visible email address from your GitHub [profile page](https://github.com/settings/profile). When setting up your profile, you can select a primary email address to be “public” which provides an email entry for this endpoint. If you do not set a public email address for `email`, then it will have a value of `null`. You only see publicly visible email addresses when authenticated with GitHub. For more information, see [Authentication](https://docs.github.com/rest/overview/resources-in-the-rest-api#authentication). + * + * The Emails API enables you to list all of your email addresses, and toggle a primary email to be visible publicly. For more information, see "[Emails API](https://docs.github.com/rest/reference/users#emails)". + */ + "users/get-by-username": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": + | components["schemas"]["private-user"] + | components["schemas"]["public-user"]; + }; + "404": unknown; + }; + }; + /** + * If you are authenticated as the given user, you will see your private events. Otherwise, you'll only see public events. + */ + "activity/list-events-for-authenticated-user": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["event"][]; + }; + }; + }; + /** + * This is the user's organization dashboard. You must be authenticated as the user to view this. + */ + "activity/list-org-events-for-authenticated-user": { + parameters: { + path: { + username: components["parameters"]["username"]; + org: components["parameters"]["org"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["event"][]; + }; + }; + }; + "activity/list-public-events-for-user": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["event"][]; + }; + }; + }; + /** + * Lists the people following the specified user. + */ + "users/list-followers-for-user": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + /** + * Lists the people who the specified user follows. + */ + "users/list-following-for-user": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + "users/check-following-for-user": { + parameters: { + path: { + username: components["parameters"]["username"]; + target_user: string; + }; + }; + responses: { + /** + * Response if the user follows the target user + */ + "204": never; + /** + * Response if the user does not follow the target user + */ + "404": unknown; + }; + }; + /** + * Lists public gists for the specified user: + */ + "gists/list-for-user": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + query: { + since?: components["parameters"]["since"]; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["base-gist"][]; + }; + "422": unknown; + }; + }; + /** + * Lists the GPG keys for a user. This information is accessible by anyone. + */ + "users/list-gpg-keys-for-user": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["gpg-key"][]; + }; + }; + }; + /** + * Provides hovercard information when authenticated through basic auth or OAuth with the `repo` scope. You can find out more about someone in relation to their pull requests, issues, repositories, and organizations. + * + * The `subject_type` and `subject_id` parameters provide context for the person's hovercard, which returns more information than without the parameters. For example, if you wanted to find out more about `octocat` who owns the `Spoon-Knife` repository via cURL, it would look like this: + * + * ```shell + * curl -u username:token + * https://api.github.com/users/octocat/hovercard?subject_type=repository&subject_id=1300192 + * ``` + */ + "users/get-context-for-user": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + query: { + /** + * Identifies which additional information you'd like to receive about the person's hovercard. Can be `organization`, `repository`, `issue`, `pull_request`. **Required** when using `subject_id`. + */ + subject_type?: "organization" | "repository" | "issue" | "pull_request"; + /** + * Uses the ID for the `subject_type` you specified. **Required** when using `subject_type`. + */ + subject_id?: string; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["hovercard"]; + }; + "404": unknown; + "422": unknown; + }; + }; + /** + * Enables an authenticated GitHub App to find the user’s installation information. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/get-user-installation": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["installation"]; + }; + }; + }; + /** + * Lists the _verified_ public SSH keys for a user. This is accessible by anyone. + */ + "users/list-public-keys-for-user": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["key-simple"][]; + }; + }; + }; + /** + * List [public organization memberships](https://help.github.com/articles/publicizing-or-concealing-organization-membership) for the specified user. + * + * This method only lists _public_ memberships, regardless of authentication. If you need to fetch all of the organization memberships (public and private) for the authenticated user, use the [List organizations for the authenticated user](https://docs.github.com/rest/reference/orgs#list-organizations-for-the-authenticated-user) API instead. + */ + "orgs/list-for-user": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["organization-simple"][]; + }; + }; + }; + "projects/list-for-user": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + query: { + /** + * Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["project"][]; + }; + "415": unknown; + "422": unknown; + }; + }; + /** + * These are events that you've received by watching repos and following users. If you are authenticated as the given user, you will see private events. Otherwise, you'll only see public events. + */ + "activity/list-received-events-for-user": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["event"][]; + }; + }; + }; + "activity/list-received-public-events-for-user": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["event"][]; + }; + }; + }; + /** + * Lists public repositories for the specified user. + */ + "repos/list-for-user": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + query: { + /** + * Can be one of `all`, `owner`, `member`. + */ + type?: "all" | "owner" | "member"; + /** + * Can be one of `created`, `updated`, `pushed`, `full_name`. + */ + sort?: "created" | "updated" | "pushed" | "full_name"; + /** + * Can be one of `asc` or `desc`. Default: `asc` when using `full_name`, otherwise `desc` + */ + direction?: "asc" | "desc"; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + }; + /** + * Gets the summary of the free and paid GitHub Actions minutes used. + * + * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * Access tokens must have the `user` scope. + */ + "billing/get-github-actions-billing-user": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["actions-billing-usage"]; + }; + }; + }; + /** + * Gets the free and paid storage used for GitHub Packages in gigabytes. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * Access tokens must have the `user` scope. + */ + "billing/get-github-packages-billing-user": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["packages-billing-usage"]; + }; + }; + }; + /** + * Gets the estimated paid and estimated total storage used for GitHub Actions and Github Packages. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * Access tokens must have the `user` scope. + */ + "billing/get-shared-storage-billing-user": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["combined-billing-usage"]; + }; + }; + }; + /** + * Lists repositories a user has starred. + * + * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: + */ + "activity/list-repos-starred-by-user": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + query: { + sort?: components["parameters"]["sort"]; + direction?: components["parameters"]["direction"]; + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["repository"][]; + "application/vnd.github.v3.star+json": components["schemas"]["starred-repository"][]; + }; + }; + }; + /** + * Lists repositories a user is watching. + */ + "activity/list-repos-watched-by-user": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + query: { + per_page?: components["parameters"]["per_page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** + * response + */ + "200": { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + }; + /** + * Get a random sentence from the Zen of GitHub + */ + "meta/get-zen": { + responses: { + /** + * response + */ + "200": { + "text/plain": string; + }; + }; + }; +} + +export interface components { + parameters: { + /** + * Results per page (max 100) + */ + per_page: number; + /** + * Page number of the results to fetch. + */ + page: number; + /** + * Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since: string; + /** + * installation_id parameter + */ + installation_id: number; + /** + * grant_id parameter + */ + grant_id: number; + "client-id": string; + "access-token": string; + app_slug: string; + /** + * authorization_id parameter + */ + authorization_id: number; + /** + * The slug version of the enterprise name. You can also substitute this value with the enterprise id. + */ + enterprise: string; + /** + * Unique identifier of an organization. + */ + org_id: number; + /** + * Unique identifier of the self-hosted runner group. + */ + runner_group_id: number; + /** + * Unique identifier of the self-hosted runner. + */ + runner_id: number; + /** + * gist_id parameter + */ + gist_id: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * A list of comma separated label names. Example: `bug,ui,@high` + */ + labels: string; + /** + * One of `asc` (ascending) or `desc` (descending). + */ + direction: "asc" | "desc"; + /** + * account_id parameter + */ + account_id: number; + /** + * plan_id parameter + */ + plan_id: number; + /** + * One of `created` (when the repository was starred) or `updated` (when it was last pushed to). + */ + sort: "created" | "updated"; + owner: string; + repo: string; + /** + * If `true`, show notifications marked as read. + */ + all: boolean; + /** + * If `true`, only shows notifications in which the user is directly participating or mentioned. + */ + participating: boolean; + /** + * Only show notifications updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + before: string; + /** + * thread_id parameter + */ + thread_id: number; + /** + * An organization ID. Only return organizations with an ID greater than this ID. + */ + "since-org": number; + org: string; + repository_id: number; + /** + * secret_name parameter + */ + secret_name: string; + username: string; + "hook-id": number; + /** + * invitation_id parameter + */ + invitation_id: number; + /** + * migration_id parameter + */ + migration_id: number; + /** + * repo_name parameter + */ + repo_name: string; + /** + * team_slug parameter + */ + team_slug: string; + "discussion-number": number; + "comment-number": number; + "reaction-id": number; + "project-id": number; + /** + * card_id parameter + */ + card_id: number; + /** + * column_id parameter + */ + column_id: number; + /** + * artifact_id parameter + */ + artifact_id: number; + /** + * job_id parameter + */ + job_id: number; + /** + * Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. + */ + actor: string; + /** + * Returns workflow runs associated with a branch. Use the name of the branch of the `push`. + */ + "workflow-run-branch": string; + /** + * Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)." + */ + event: string; + /** + * Returns workflow runs associated with the check run `status` or `conclusion` you specify. For example, a conclusion can be `success` or a status can be `completed`. For more information, see the `status` and `conclusion` options available in "[Create a check run](https://docs.github.com/rest/reference/checks#create-a-check-run)." + */ + "workflow-run-status": "completed" | "status" | "conclusion"; + "run-id": number; + /** + * The ID of the workflow. You can also pass the workflow file name as a string. + */ + "workflow-id": number | string; + /** + * branch+ parameter + */ + branch: string; + /** + * check_run_id parameter + */ + check_run_id: number; + /** + * check_suite_id parameter + */ + check_suite_id: number; + /** + * Returns check runs with the specified `name`. + */ + check_name: string; + /** + * Returns check runs with the specified `status`. Can be one of `queued`, `in_progress`, or `completed`. + */ + status: "queued" | "in_progress" | "completed"; + /** + * The security alert number, found at the end of the security alert's URL. + */ + alert_number: components["schemas"]["alert-number"]; + /** + * commit_sha+ parameter + */ + commit_sha: string; + /** + * deployment_id parameter + */ + deployment_id: number; + /** + * A user ID. Only return users with an ID greater than this ID. + */ + "since-user": number; + /** + * issue_number parameter + */ + issue_number: number; + /** + * key_id parameter + */ + key_id: number; + /** + * milestone_number parameter + */ + milestone_number: number; + "pull-number": number; + /** + * review_id parameter + */ + review_id: number; + /** + * asset_id parameter + */ + asset_id: number; + /** + * release_id parameter + */ + release_id: number; + /** + * Must be one of: `day`, `week`. + */ + per: "day" | "week"; + /** + * A repository ID. Only return repositories with an ID greater than this ID. + */ + "since-repo": number; + /** + * Used for pagination: the index of the first result to return. + */ + start_index: number; + /** + * Used for pagination: the number of results to return. + */ + count: number; + /** + * Identifier generated by the GitHub SCIM endpoint. + */ + scim_group_id: string; + /** + * scim_user_id parameter + */ + scim_user_id: string; + /** + * Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. + */ + order: "desc" | "asc"; + "team-id": number; + /** + * gpg_key_id parameter + */ + gpg_key_id: number; + }; + schemas: { + /** + * Simple User + */ + "simple-user": { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string | null; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; + starred_at?: string; + } | null; + /** + * GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + integration: { + /** + * Unique identifier of the GitHub app + */ + id: number; + /** + * The slug name of the GitHub app + */ + slug?: string; + node_id: string; + owner: components["schemas"]["simple-user"] | null; + /** + * The name of the GitHub app + */ + name: string; + description: string | null; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + /** + * The set of permissions for the GitHub app + */ + permissions: { + issues?: string; + checks?: string; + metadata?: string; + contents?: string; + deployments?: string; + } & { [key: string]: string }; + /** + * The list of events for the GitHub app + */ + events: string[]; + /** + * The number of installations associated with the GitHub app + */ + installations_count?: number; + client_id?: string; + client_secret?: string; + webhook_secret?: string; + pem?: string; + } & { [key: string]: any }; + /** + * Basic Error + */ + "basic-error": { message?: string; documentation_url?: string }; + /** + * Validation Error Simple + */ + "validation-error-simple": { + message: string; + documentation_url: string; + errors?: string[]; + }; + /** + * The URL to which the payloads will be delivered. + */ + "webhook-config-url": string; + /** + * The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`. + */ + "webhook-config-content-type": string; + /** + * If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value for [delivery signature headers](https://docs.github.com/webhooks/event-payloads/#delivery-headers). + */ + "webhook-config-secret": string; + /** + * Determines whether the SSL certificate of the host for `url` will be verified when delivering payloads. Supported values include `0` (verification is performed) and `1` (verification is not performed). The default is `0`. **We strongly recommend not setting this to `1` as you are subject to man-in-the-middle and other attacks.** + */ + "webhook-config-insecure-ssl": string; + /** + * Configuration object of the webhook + */ + "webhook-config": { + url?: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + }; + /** + * An enterprise account + */ + enterprise: { + /** + * A short description of the enterprise. + */ + description?: string | null; + html_url: string; + /** + * The enterprise's website URL. + */ + website_url?: string | null; + /** + * Unique identifier of the enterprise + */ + id: number; + node_id: string; + /** + * The name of the enterprise. + */ + name: string; + /** + * The slug url identifier for the enterprise. + */ + slug: string; + created_at: string | null; + updated_at: string | null; + avatar_url: string; + }; + /** + * Installation + */ + installation: { + /** + * The ID of the installation. + */ + id: number; + account: + | (Partial & + Partial) + | null; + /** + * Describe whether all repositories have been selected or there's a selection involved + */ + repository_selection: "all" | "selected"; + access_tokens_url: string; + repositories_url: string; + html_url: string; + app_id: number; + /** + * The ID of the user or organization this token is being scoped to. + */ + target_id: number; + target_type: string; + permissions: { + deployments?: string; + checks?: string; + metadata?: string; + contents?: string; + pull_requests?: string; + statuses?: string; + issues?: string; + organization_administration?: string; + }; + events: string[]; + created_at: string; + updated_at: string; + single_file_name: string | null; + has_multiple_single_files?: boolean; + single_file_paths?: string[]; + app_slug: string; + suspended_by?: components["schemas"]["simple-user"] | null; + suspended_at?: string | null; + contact_email?: string | null; + }; + /** + * License Simple + */ + "license-simple": { + key: string; + name: string; + url: string | null; + spdx_id: string | null; + node_id: string; + html_url?: string; + }; + /** + * A git repository + */ + repository: { + /** + * Unique identifier of the repository + */ + id: number; + node_id: string; + /** + * The name of the repository. + */ + name: string; + full_name: string; + license: components["schemas"]["license-simple"] | null; + forks: number; + permissions?: { + admin: boolean; + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + }; + owner: components["schemas"]["simple-user"] | null; + /** + * Whether the repository is private or public. + */ + private: boolean; + html_url: string; + description: string | null; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string | null; + hooks_url: string; + svn_url: string; + homepage: string | null; + language: string | null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + /** + * The default branch of the repository. + */ + default_branch: string; + open_issues_count: number; + /** + * Whether this repository acts as a template that can be used to generate new repositories. + */ + is_template?: boolean; + topics?: string[]; + /** + * Whether issues are enabled. + */ + has_issues: boolean; + /** + * Whether projects are enabled. + */ + has_projects: boolean; + /** + * Whether the wiki is enabled. + */ + has_wiki: boolean; + has_pages: boolean; + /** + * Whether downloads are enabled. + */ + has_downloads: boolean; + /** + * Whether the repository is archived. + */ + archived: boolean; + /** + * Returns whether or not this repository disabled. + */ + disabled: boolean; + /** + * The repository visibility: public, private, or internal. + */ + visibility?: string; + pushed_at: string | null; + created_at: string | null; + updated_at: string | null; + /** + * Whether to allow rebase merges for pull requests. + */ + allow_rebase_merge?: boolean; + template_repository?: { + id?: number; + node_id?: string; + name?: string; + full_name?: string; + owner?: { + login?: string; + id?: number; + node_id?: string; + avatar_url?: string; + gravatar_id?: string; + url?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + repos_url?: string; + events_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; + }; + private?: boolean; + html_url?: string; + description?: string; + fork?: boolean; + url?: string; + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + downloads_url?: string; + events_url?: string; + forks_url?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + notifications_url?: string; + pulls_url?: string; + releases_url?: string; + ssh_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + clone_url?: string; + mirror_url?: string; + hooks_url?: string; + svn_url?: string; + homepage?: string; + language?: string; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + pushed_at?: string; + created_at?: string; + updated_at?: string; + permissions?: { admin?: boolean; push?: boolean; pull?: boolean }; + allow_rebase_merge?: boolean; + template_repository?: string; + temp_clone_token?: string; + allow_squash_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_merge_commit?: boolean; + subscribers_count?: number; + network_count?: number; + } | null; + temp_clone_token?: string; + /** + * Whether to allow squash merges for pull requests. + */ + allow_squash_merge?: boolean; + /** + * Whether to delete head branches when pull requests are merged + */ + delete_branch_on_merge?: boolean; + /** + * Whether to allow merge commits for pull requests. + */ + allow_merge_commit?: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; + watchers: number; + master_branch?: string; + starred_at?: string; + }; + /** + * Authentication token for a GitHub App installed on a user or org. + */ + "installation-token": { + token?: string; + expires_at?: string; + permissions?: { + issues?: string; + contents?: string; + metadata?: string; + single_file?: string; + }; + repository_selection?: "all" | "selected"; + repositories?: components["schemas"]["repository"][]; + single_file?: string; + has_multiple_single_files?: boolean; + single_file_paths?: string[]; + }; + /** + * Validation Error + */ + "validation-error": { + message: string; + documentation_url: string; + errors?: { + resource?: string; + field?: string; + message?: string; + code: string; + index?: number; + value?: string | number | string[]; + }[]; + }; + /** + * The authorization associated with an OAuth Access. + */ + "application-grant": { + id: number; + url: string; + app: { client_id: string; name: string; url: string }; + created_at: string; + updated_at: string; + scopes: string[]; + user?: components["schemas"]["simple-user"] | null; + }; + "scoped-installation": { + permissions: { [key: string]: any }; + /** + * Describe whether all repositories have been selected or there's a selection involved + */ + repository_selection: "all" | "selected"; + single_file_name: string | null; + has_multiple_single_files?: boolean; + single_file_paths?: string[]; + repositories_url: string; + account: components["schemas"]["simple-user"]; + }; + /** + * The authorization for an OAuth app, GitHub App, or a Personal Access Token. + */ + authorization: { + id: number; + url: string; + /** + * A list of scopes that this authorization is in. + */ + scopes: string[] | null; + token: string; + token_last_eight: string | null; + hashed_token: string | null; + app: { client_id: string; name: string; url: string }; + note: string | null; + note_url: string | null; + updated_at: string; + created_at: string; + fingerprint: string | null; + user?: components["schemas"]["simple-user"] | null; + installation?: components["schemas"]["scoped-installation"] | null; + }; + /** + * Code Of Conduct + */ + "code-of-conduct": { + key: string; + name: string; + url: string; + body?: string; + html_url: string | null; + }; + /** + * Content Reference attachments allow you to provide context around URLs posted in comments + */ + "content-reference-attachment": { + /** + * The ID of the attachment + */ + id: number; + /** + * The title of the attachment + */ + title: string; + /** + * The body of the attachment + */ + body: string; + /** + * The node_id of the content attachment + */ + node_id?: string; + }; + /** + * The policy that controls the organizations in the enterprise that are allowed to run GitHub Actions. Can be one of: `all`, `none`, or `selected`. + */ + "enabled-organizations": "all" | "none" | "selected"; + /** + * The permissions policy that controls the actions that are allowed to run. Can be one of: `all`, `local_only`, or `selected`. + */ + "allowed-actions": "all" | "local_only" | "selected"; + /** + * The API URL to use to get or set the actions that are allowed to run, when `allowed_actions` is set to `selected`. + */ + "selected-actions-url": string; + "actions-enterprise-permissions": { + enabled_organizations?: components["schemas"]["enabled-organizations"]; + /** + * The API URL to use to get or set the selected organizations that are allowed to run GitHub Actions, when `enabled_organizations` is set to `selected`. + */ + selected_organizations_url?: string; + allowed_actions?: components["schemas"]["allowed-actions"]; + selected_actions_url?: components["schemas"]["selected-actions-url"]; + }; + /** + * Organization Simple + */ + "organization-simple": { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string | null; + }; + "selected-actions": { + /** + * Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization. + */ + github_owned_allowed?: boolean; + /** + * Whether actions in GitHub Marketplace from verified creators are allowed. Set to `true` to allow all GitHub Marketplace actions by verified creators. + */ + verified_allowed?: boolean; + /** + * Specifies a list of string-matching patterns to allow specific action(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`." + */ + patterns_allowed?: string[]; + }; + "runner-groups-enterprise": { + id?: number; + name?: string; + visibility?: string; + default?: boolean; + selected_organizations_url?: string; + runners_url?: string; + }; + /** + * A self hosted runner + */ + runner: { + /** + * The id of the runner. + */ + id: number; + /** + * The name of the runner. + */ + name: string; + /** + * The Operating System of the runner. + */ + os: string; + /** + * The status of the runner. + */ + status: string; + busy: boolean; + labels: { + /** + * Unique identifier of the label. + */ + id?: number; + /** + * Name of the label. + */ + name?: string; + /** + * The type of label. Read-only labels are applied automatically when the runner is configured. + */ + type?: "read-only" | "custom"; + }[]; + }; + /** + * Runner Application + */ + "runner-application": { + os?: string; + architecture?: string; + download_url?: string; + filename?: string; + }; + /** + * Authentication Token + */ + "authentication-token": { + /** + * The token used for authentication + */ + token: string; + /** + * The time this token expires + */ + expires_at: string; + permissions?: { [key: string]: any }; + /** + * The repositories this token has access to + */ + repositories?: components["schemas"]["repository"][]; + single_file?: string | null; + /** + * Describe whether all repositories have been selected or there's a selection involved + */ + repository_selection?: "all" | "selected"; + }; + "actions-billing-usage": { + /** + * The sum of the free and paid GitHub Actions minutes used. + */ + total_minutes_used?: number; + /** + * The total paid GitHub Actions minutes used. + */ + total_paid_minutes_used?: number; + /** + * The amount of free GitHub Actions minutes available. + */ + included_minutes?: number; + minutes_used_breakdown?: { + /** + * Total minutes used on Ubuntu runner machines. + */ + UBUNTU?: number; + /** + * Total minutes used on macOS runner machines. + */ + MACOS?: number; + /** + * Total minutes used on Windows runner machines. + */ + WINDOWS?: number; + }; + }; + "packages-billing-usage": { + /** + * Sum of the free and paid storage space (GB) for GitHuub Packages. + */ + total_gigabytes_bandwidth_used?: number; + /** + * Total paid storage space (GB) for GitHuub Packages. + */ + total_paid_gigabytes_bandwidth_used?: number; + /** + * Free storage space (GB) for GitHub Packages. + */ + included_gigabytes_bandwidth?: number; + }; + "combined-billing-usage": { + /** + * Numbers of days left in billing cycle. + */ + days_left_in_billing_cycle?: number; + /** + * Estimated storage space (GB) used in billing cycle. + */ + estimated_paid_storage_for_month?: number; + /** + * Estimated sum of free and paid storage space (GB) used in billing cycle. + */ + estimated_storage_for_month?: number; + }; + /** + * Actor + */ + actor: { + id: number; + login: string; + display_login?: string; + gravatar_id: string | null; + url: string; + avatar_url: string; + }; + /** + * A collection of related issues and pull requests. + */ + milestone: { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + /** + * The number of the milestone. + */ + number: number; + /** + * The state of the milestone. + */ + state: "open" | "closed"; + /** + * The title of the milestone. + */ + title: string; + description: string | null; + creator: components["schemas"]["simple-user"] | null; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string | null; + due_on: string | null; + }; + /** + * Issue Simple + */ + "issue-simple": { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body?: string; + user: components["schemas"]["simple-user"] | null; + labels: { + id?: number; + node_id?: string; + url?: string; + name?: string; + description?: string | null; + color?: string; + default?: boolean; + }[]; + assignee: components["schemas"]["simple-user"] | null; + assignees?: components["schemas"]["simple-user"][] | null; + milestone: components["schemas"]["milestone"] | null; + locked: boolean; + active_lock_reason?: string | null; + comments: number; + pull_request?: { + merged_at?: string | null; + diff_url: string | null; + html_url: string | null; + patch_url: string | null; + url: string | null; + }; + closed_at: string | null; + created_at: string; + updated_at: string; + author_association: string; + body_html?: string; + body_text?: string; + timeline_url?: string; + repository?: components["schemas"]["repository"]; + performed_via_github_app?: components["schemas"]["integration"] | null; + }; + "reaction-rollup": { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; + eyes: number; + rocket: number; + }; + /** + * Comments provide a way for people to collaborate on an issue. + */ + "issue-comment": { + /** + * Unique identifier of the issue comment + */ + id: number; + node_id: string; + /** + * URL for the issue comment + */ + url: string; + /** + * Contents of the issue comment + */ + body?: string; + body_text?: string; + body_html?: string; + html_url: string; + user: components["schemas"]["simple-user"] | null; + created_at: string; + updated_at: string; + issue_url: string; + author_association: + | "collaborator" + | "contributor" + | "first_timer" + | "first_time_contributor" + | "mannequin" + | "member" + | "none" + | "owner"; + performed_via_github_app?: components["schemas"]["integration"] | null; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * Event + */ + event: { + id: string; + type: string | null; + actor: components["schemas"]["actor"]; + repo: { id: number; name: string; url: string }; + org?: components["schemas"]["actor"]; + payload: { + action: string; + issue?: components["schemas"]["issue-simple"]; + comment?: components["schemas"]["issue-comment"]; + pages?: { + page_name?: string; + title?: string; + summary?: string | null; + action?: string; + sha?: string; + html_url?: string; + }[]; + }; + public: boolean; + created_at: string | null; + }; + /** + * Hypermedia Link with Type + */ + "link-with-type": { href: string; type: string }; + /** + * Feed + */ + feed: { + timeline_url: string; + user_url: string; + current_user_public_url?: string; + current_user_url?: string; + current_user_actor_url?: string; + current_user_organization_url?: string; + current_user_organization_urls?: string[]; + security_advisories_url?: string; + _links: { + timeline: components["schemas"]["link-with-type"]; + user: components["schemas"]["link-with-type"]; + security_advisories?: components["schemas"]["link-with-type"]; + current_user?: components["schemas"]["link-with-type"]; + current_user_public?: components["schemas"]["link-with-type"]; + current_user_actor?: components["schemas"]["link-with-type"]; + current_user_organization?: components["schemas"]["link-with-type"]; + current_user_organizations?: components["schemas"]["link-with-type"][]; + }; + }; + /** + * Base Gist + */ + "base-gist": { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: { + [key: string]: { + filename?: string; + type?: string; + language?: string; + raw_url?: string; + size?: number; + }; + }; + public: boolean; + created_at: string; + updated_at: string; + description: string | null; + comments: number; + user: components["schemas"]["simple-user"] | null; + comments_url: string; + owner?: components["schemas"]["simple-user"] | null; + truncated?: boolean; + forks?: { [key: string]: any }[]; + history?: { [key: string]: any }[]; + }; + /** + * Gist Simple + */ + "gist-simple": { + url?: string; + forks_url?: string; + commits_url?: string; + id?: string; + node_id?: string; + git_pull_url?: string; + git_push_url?: string; + html_url?: string; + files?: { + [key: string]: { + filename?: string; + type?: string; + language?: string; + raw_url?: string; + size?: number; + truncated?: boolean; + content?: string; + }; + }; + public?: boolean; + created_at?: string; + updated_at?: string; + description?: string | null; + comments?: number; + user?: string | null; + comments_url?: string; + owner?: components["schemas"]["simple-user"]; + truncated?: boolean; + }; + /** + * Gist Full + */ + "gist-full": components["schemas"]["gist-simple"] & { + forks?: { + user?: { + login?: string; + id?: number; + node_id?: string; + avatar_url?: string; + gravatar_id?: string; + url?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + repos_url?: string; + events_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; + }; + url?: string; + id?: string; + created_at?: string; + updated_at?: string; + }[]; + history?: { + url?: string; + version?: string; + user?: { + login?: string; + id?: number; + node_id?: string; + avatar_url?: string; + gravatar_id?: string; + url?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + repos_url?: string; + events_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; + } | null; + change_status?: { + deletions?: number; + additions?: number; + total?: number; + }; + committed_at?: string; + }[]; + fork_of?: components["schemas"]["gist-simple"] | null; + url?: string; + forks_url?: string; + commits_url?: string; + id?: string; + node_id?: string; + git_pull_url?: string; + git_push_url?: string; + html_url?: string; + created_at?: string; + updated_at?: string; + description?: string | null; + comments?: number; + comments_url?: string; + }; + /** + * A comment made to a gist. + */ + "gist-comment": { + id: number; + node_id: string; + url: string; + /** + * The comment text. + */ + body: string; + user: components["schemas"]["simple-user"] | null; + created_at: string; + updated_at: string; + author_association: string; + }; + /** + * Gist Commit + */ + "gist-commit": { + url: string; + version: string; + user: components["schemas"]["simple-user"] | null; + change_status: { total?: number; additions?: number; deletions?: number }; + committed_at: string; + }; + /** + * Gitignore Template + */ + "gitignore-template": { name: string; source: string }; + /** + * Issues are a great way to keep track of tasks, enhancements, and bugs for your projects. + */ + issue: { + id: number; + node_id: string; + /** + * URL for the issue + */ + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + /** + * Number uniquely identifying the issue within its repository + */ + number: number; + /** + * State of the issue; either 'open' or 'closed' + */ + state: string; + /** + * Title of the issue + */ + title: string; + /** + * Contents of the issue + */ + body?: string; + user: components["schemas"]["simple-user"] | null; + /** + * Labels to associate with this issue; pass one or more label names to replace the set of labels on this issue; send an empty array to clear all labels from the issue; note that the labels are silently dropped for users without push access to the repository + */ + labels: ( + | string + | { + id?: number; + node_id?: string; + url?: string; + name?: string; + description?: string | null; + color?: string | null; + default?: boolean; + } + )[]; + assignee: components["schemas"]["simple-user"] | null; + assignees?: components["schemas"]["simple-user"][] | null; + milestone: components["schemas"]["milestone"] | null; + locked: boolean; + active_lock_reason?: string | null; + comments: number; + pull_request?: { + merged_at?: string | null; + diff_url: string | null; + html_url: string | null; + patch_url: string | null; + url: string | null; + }; + closed_at: string | null; + created_at: string; + updated_at: string; + closed_by?: components["schemas"]["simple-user"] | null; + body_html?: string; + body_text?: string; + timeline_url?: string; + repository?: components["schemas"]["repository"]; + performed_via_github_app?: components["schemas"]["integration"] | null; + author_association: string; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * License + */ + license: { + key: string; + name: string; + spdx_id: string | null; + url: string | null; + node_id: string; + html_url: string; + description: string; + implementation: string; + permissions: string[]; + conditions: string[]; + limitations: string[]; + body: string; + featured: boolean; + }; + /** + * Marketplace Listing Plan + */ + "marketplace-listing-plan": { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + unit_name: string | null; + state: string; + bullets: string[]; + }; + /** + * Marketplace Purchase + */ + "marketplace-purchase": { + url: string; + type: string; + id: number; + login: string; + organization_billing_email?: string; + marketplace_pending_change?: { + is_installed?: boolean; + effective_date?: string; + unit_count?: number | null; + id?: number; + plan?: components["schemas"]["marketplace-listing-plan"]; + } | null; + marketplace_purchase: { + billing_cycle?: string; + next_billing_date?: string | null; + is_installed?: boolean; + unit_count?: number | null; + on_free_trial?: boolean; + free_trial_ends_on?: string | null; + updated_at?: string; + plan?: components["schemas"]["marketplace-listing-plan"]; + }; + }; + /** + * Api Overview + */ + "api-overview": { + verifiable_password_authentication: boolean; + ssh_key_fingerprints?: { SHA256_RSA?: string; SHA256_DSA?: string }; + hooks?: string[]; + web?: string[]; + api?: string[]; + git?: string[]; + pages?: string[]; + importer?: string[]; + github_services_sha?: string; + installed_version?: string; + }; + /** + * Minimal Repository + */ + "minimal-repository": { + id: number; + node_id: string; + name: string; + full_name: string; + owner: components["schemas"]["simple-user"] | null; + private: boolean; + html_url: string; + description: string | null; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url?: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url?: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url?: string; + mirror_url?: string | null; + hooks_url: string; + svn_url?: string; + homepage?: string | null; + language?: string | null; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + pushed_at?: string | null; + created_at?: string | null; + updated_at?: string | null; + permissions?: { admin?: boolean; push?: boolean; pull?: boolean }; + template_repository?: string; + temp_clone_token?: string; + delete_branch_on_merge?: boolean; + subscribers_count?: number; + network_count?: number; + license?: { + key?: string; + name?: string; + spdx_id?: string; + url?: string; + node_id?: string; + } | null; + forks?: number; + open_issues?: number; + watchers?: number; + }; + /** + * Thread + */ + thread: { + id?: string; + repository?: components["schemas"]["minimal-repository"]; + subject?: { + title?: string; + url?: string; + latest_comment_url?: string; + type?: string; + }; + reason?: string; + unread?: boolean; + updated_at?: string; + last_read_at?: string | null; + url?: string; + subscription_url?: string; + }; + /** + * Thread Subscription + */ + "thread-subscription": { + subscribed: boolean; + ignored: boolean; + reason: string | null; + created_at: string | null; + url: string; + thread_url?: string; + repository_url?: string; + }; + /** + * Organization Full + */ + "organization-full": { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string | null; + name?: string; + company?: string; + blog?: string; + location?: string; + email?: string; + twitter_username?: string | null; + is_verified?: boolean; + has_organization_projects: boolean; + has_repository_projects: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; + html_url: string; + created_at: string; + type: string; + total_private_repos?: number; + owned_private_repos?: number; + private_gists?: number | null; + disk_usage?: number | null; + collaborators?: number | null; + billing_email?: string | null; + plan?: { + name: string; + space: number; + private_repos: number; + filled_seats?: number; + seats?: number; + }; + default_repository_permission?: string | null; + members_can_create_repositories?: boolean | null; + two_factor_requirement_enabled?: boolean | null; + members_allowed_repository_creation_type?: string; + members_can_create_public_repositories?: boolean; + members_can_create_private_repositories?: boolean; + members_can_create_internal_repositories?: boolean; + members_can_create_pages?: boolean; + updated_at: string; + }; + /** + * The policy that controls the repositories in the organization that are allowed to run GitHub Actions. Can be one of: `all`, `none`, or `selected`. + */ + "enabled-repositories": "all" | "none" | "selected"; + "actions-organization-permissions": { + enabled_repositories?: components["schemas"]["enabled-repositories"]; + /** + * The API URL to use to get or set the selected repositories that are allowed to run GitHub Actions, when `enabled_repositories` is set to `selected`. + */ + selected_repositories_url?: string; + allowed_actions?: components["schemas"]["allowed-actions"]; + selected_actions_url?: components["schemas"]["selected-actions-url"]; + }; + "runner-groups-org": { + id?: number; + name?: string; + visibility?: string; + default?: boolean; + selected_repositories_url?: string; + runners_url?: string; + inherited?: boolean; + }; + /** + * Secrets for GitHub Actions for an organization. + */ + "organization-actions-secret": { + /** + * The name of the secret. + */ + name: string; + created_at: string; + updated_at: string; + /** + * Visibility of a secret + */ + visibility: "all" | "private" | "selected"; + selected_repositories_url?: string; + }; + /** + * The public key used for setting Actions Secrets. + */ + "actions-public-key": { + /** + * The identifier for the key. + */ + key_id: string; + /** + * The Base64 encoded public key. + */ + key: string; + id?: number; + url?: string; + title?: string; + created_at?: string; + }; + /** + * Credential Authorization + */ + "credential-authorization": { + /** + * User login that owns the underlying credential. + */ + login: string; + /** + * Unique identifier for the credential. + */ + credential_id: number; + /** + * Human-readable description of the credential type. + */ + credential_type: string; + /** + * Last eight characters of the credential. Only included in responses with credential_type of personal access token. + */ + token_last_eight?: string; + /** + * Date when the credential was authorized for use. + */ + credential_authorized_at: string; + /** + * List of oauth scopes the token has been granted. + */ + scopes?: string[]; + /** + * Unique string to distinguish the credential. Only included in responses with credential_type of SSH Key. + */ + fingerprint?: string; + /** + * Date when the credential was last accessed. May be null if it was never accessed + */ + credential_accessed_at?: string | null; + }; + /** + * Org Hook + */ + "org-hook": { + id: number; + url: string; + ping_url: string; + name: string; + events: string[]; + active: boolean; + config: { + url?: string; + insecure_ssl?: string; + content_type?: string; + secret?: string; + }; + updated_at: string; + created_at: string; + type: string; + }; + /** + * The type of GitHub user that can comment, open issues, or create pull requests while the interaction limit is in effect. Can be one of: `existing_users`, `contributors_only`, `collaborators_only`. + */ + "interaction-group": + | "existing_users" + | "contributors_only" + | "collaborators_only"; + /** + * Interaction limit settings. + */ + "interaction-limit-response": { + limit: components["schemas"]["interaction-group"]; + origin: string; + expires_at: string; + }; + /** + * The duration of the interaction restriction. Can be one of: `one_day`, `three_days`, `one_week`, `one_month`, `six_months`. Default: `one_day`. + */ + "interaction-expiry": + | "one_day" + | "three_days" + | "one_week" + | "one_month" + | "six_months"; + /** + * Limit interactions to a specific type of user for a specified duration + */ + "interaction-limit": { + limit: components["schemas"]["interaction-group"]; + expiry?: components["schemas"]["interaction-expiry"]; + }; + /** + * Organization Invitation + */ + "organization-invitation": { + id?: number; + login?: string | null; + email?: string | null; + role?: string; + created_at?: string; + inviter?: components["schemas"]["simple-user"]; + team_count?: number; + invitation_team_url?: string; + node_id?: string; + invitation_teams_url?: string; + }; + /** + * Groups of organization members that gives permissions on specified repositories. + */ + "team-simple": { + /** + * Unique identifier of the team + */ + id: number; + node_id: string; + /** + * URL for the team + */ + url: string; + members_url: string; + /** + * Name of the team + */ + name: string; + /** + * Description of the team + */ + description: string | null; + /** + * Permission that the team will have for its repositories + */ + permission: string; + /** + * The level of privacy this team should have + */ + privacy?: string; + html_url: string; + repositories_url: string; + slug: string; + /** + * Distinguished Name (DN) that team maps to within LDAP environment + */ + ldap_dn?: string; + } | null; + /** + * Groups of organization members that gives permissions on specified repositories. + */ + team: { + id: number; + node_id: string; + name: string; + slug: string; + description: string | null; + privacy?: string; + permission: string; + url: string; + html_url: string; + members_url: string; + repositories_url: string; + parent?: components["schemas"]["team-simple"] | null; + }; + /** + * Org Membership + */ + "org-membership": { + url: string; + state: string; + role: string; + organization_url: string; + organization: components["schemas"]["organization-simple"]; + user: components["schemas"]["simple-user"] | null; + permissions?: { can_create_repository: boolean }; + }; + /** + * A migration. + */ + migration: { + id: number; + owner: components["schemas"]["simple-user"] | null; + guid: string; + state: string; + lock_repositories: boolean; + exclude_attachments: boolean; + repositories: components["schemas"]["repository"][]; + url: string; + created_at: string; + updated_at: string; + node_id: string; + archive_url?: string; + exclude?: { [key: string]: any }[]; + }; + /** + * Projects are a way to organize columns and cards of work. + */ + project: { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + /** + * Name of the project + */ + name: string; + /** + * Body of the project + */ + body: string | null; + number: number; + /** + * State of the project; either 'open' or 'closed' + */ + state: string; + creator: components["schemas"]["simple-user"] | null; + created_at: string; + updated_at: string; + /** + * The baseline permission that all organization members have on this project + */ + organization_permission?: "read" | "write" | "admin" | "none"; + /** + * Whether or not this project can be seen by everyone. + */ + private?: boolean; + cards_url?: string; + permissions?: { read: boolean; write: boolean; admin: boolean }; + }; + /** + * External Groups to be mapped to a team for membership + */ + "group-mapping": { + /** + * Array of groups to be mapped to this team + */ + groups?: { + /** + * The ID of the group + */ + group_id: string; + /** + * The name of the group + */ + group_name: string; + /** + * a description of the group + */ + group_description: string; + }[]; + /** + * The ID of the group + */ + group_id?: string; + /** + * The name of the group + */ + group_name?: string; + /** + * a description of the group + */ + group_description?: string; + /** + * synchronization status for this group mapping + */ + status?: string; + /** + * the time of the last sync for this group-mapping + */ + synced_at?: string; + }; + /** + * Groups of organization members that gives permissions on specified repositories. + */ + "team-full": { + /** + * Unique identifier of the team + */ + id: number; + node_id: string; + /** + * URL for the team + */ + url: string; + html_url: string; + /** + * Name of the team + */ + name: string; + slug: string; + description: string | null; + /** + * The level of privacy this team should have + */ + privacy?: "closed" | "secret"; + /** + * Permission that the team will have for its repositories + */ + permission: string; + members_url: string; + repositories_url: string; + parent?: components["schemas"]["team-simple"] | null; + members_count: number; + repos_count: number; + created_at: string; + updated_at: string; + organization: components["schemas"]["organization-full"]; + /** + * Distinguished Name (DN) that team maps to within LDAP environment + */ + ldap_dn?: string; + }; + /** + * A team discussion is a persistent record of a free-form conversation within a team. + */ + "team-discussion": { + author: components["schemas"]["simple-user"] | null; + /** + * The main text of the discussion. + */ + body: string; + body_html: string; + /** + * The current version of the body content. If provided, this update operation will be rejected if the given version does not match the latest version on the server. + */ + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + last_edited_at: string | null; + html_url: string; + node_id: string; + /** + * The unique sequence number of a team discussion. + */ + number: number; + /** + * Whether or not this discussion should be pinned for easy retrieval. + */ + pinned: boolean; + /** + * Whether or not this discussion should be restricted to team members and organization administrators. + */ + private: boolean; + team_url: string; + /** + * The title of the discussion. + */ + title: string; + updated_at: string; + url: string; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * A reply to a discussion within a team. + */ + "team-discussion-comment": { + author: components["schemas"]["simple-user"] | null; + /** + * The main text of the comment. + */ + body: string; + body_html: string; + /** + * The current version of the body content. If provided, this update operation will be rejected if the given version does not match the latest version on the server. + */ + body_version: string; + created_at: string; + last_edited_at: string | null; + discussion_url: string; + html_url: string; + node_id: string; + /** + * The unique sequence number of a team discussion comment. + */ + number: number; + updated_at: string; + url: string; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * Reactions to conversations provide a way to help people express their feelings more simply and effectively. + */ + reaction: { + id: number; + node_id: string; + user: components["schemas"]["simple-user"] | null; + /** + * The reaction to use + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + created_at: string; + }; + /** + * Team Membership + */ + "team-membership": { + url: string; + /** + * The role of the user in the team. + */ + role: "member" | "maintainer"; + state: string; + }; + /** + * A team's access to a project. + */ + "team-project": { + owner_url?: string; + url?: string; + html_url?: string; + columns_url?: string; + id?: number; + node_id?: string; + name?: string; + body?: string | null; + number?: number; + state?: string; + creator?: components["schemas"]["simple-user"]; + created_at?: string; + updated_at?: string; + organization_permission?: string; + private?: boolean; + permissions?: { read?: boolean; write?: boolean; admin?: boolean }; + }; + /** + * A team's access to a repository. + */ + "team-repository": { + /** + * Unique identifier of the repository + */ + id: number; + node_id: string; + /** + * The name of the repository. + */ + name: string; + full_name: string; + license: components["schemas"]["license-simple"] | null; + forks: number; + permissions?: { + admin: boolean; + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + }; + owner: components["schemas"]["simple-user"] | null; + /** + * Whether the repository is private or public. + */ + private: boolean; + html_url: string; + description: string | null; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string | null; + hooks_url: string; + svn_url: string; + homepage: string | null; + language: string | null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + /** + * The default branch of the repository. + */ + default_branch: string; + open_issues_count: number; + /** + * Whether this repository acts as a template that can be used to generate new repositories. + */ + is_template?: boolean; + topics?: string[]; + /** + * Whether issues are enabled. + */ + has_issues: boolean; + /** + * Whether projects are enabled. + */ + has_projects: boolean; + /** + * Whether the wiki is enabled. + */ + has_wiki: boolean; + has_pages: boolean; + /** + * Whether downloads are enabled. + */ + has_downloads: boolean; + /** + * Whether the repository is archived. + */ + archived: boolean; + /** + * Returns whether or not this repository disabled. + */ + disabled: boolean; + /** + * The repository visibility: public, private, or internal. + */ + visibility?: string; + pushed_at: string | null; + created_at: string | null; + updated_at: string | null; + /** + * Whether to allow rebase merges for pull requests. + */ + allow_rebase_merge?: boolean; + template_repository?: { + id?: number; + node_id?: string; + name?: string; + full_name?: string; + owner?: { + login?: string; + id?: number; + node_id?: string; + avatar_url?: string; + gravatar_id?: string; + url?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + repos_url?: string; + events_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; + }; + private?: boolean; + html_url?: string; + description?: string; + fork?: boolean; + url?: string; + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + downloads_url?: string; + events_url?: string; + forks_url?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + notifications_url?: string; + pulls_url?: string; + releases_url?: string; + ssh_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + clone_url?: string; + mirror_url?: string; + hooks_url?: string; + svn_url?: string; + homepage?: string; + language?: string; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + pushed_at?: string; + created_at?: string; + updated_at?: string; + permissions?: { admin?: boolean; push?: boolean; pull?: boolean }; + allow_rebase_merge?: boolean; + template_repository?: string; + temp_clone_token?: string; + allow_squash_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_merge_commit?: boolean; + subscribers_count?: number; + network_count?: number; + } | null; + temp_clone_token?: string; + /** + * Whether to allow squash merges for pull requests. + */ + allow_squash_merge?: boolean; + /** + * Whether to delete head branches when pull requests are merged + */ + delete_branch_on_merge?: boolean; + /** + * Whether to allow merge commits for pull requests. + */ + allow_merge_commit?: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; + watchers: number; + master_branch?: string; + }; + /** + * Project cards represent a scope of work. + */ + "project-card": { + url: string; + /** + * The project card's ID + */ + id: number; + node_id: string; + note: string | null; + creator: components["schemas"]["simple-user"] | null; + created_at: string; + updated_at: string; + /** + * Whether or not the card is archived + */ + archived?: boolean; + column_url: string; + content_url?: string; + project_url: string; + }; + /** + * Project columns contain cards of work. + */ + "project-column": { + url: string; + project_url: string; + cards_url: string; + /** + * The unique identifier of the project column + */ + id: number; + node_id: string; + /** + * Name of the project column + */ + name: string; + created_at: string; + updated_at: string; + }; + /** + * Repository Collaborator Permission + */ + "repository-collaborator-permission": { + permission: string; + user: components["schemas"]["simple-user"] | null; + }; + "rate-limit": { limit: number; remaining: number; reset: number }; + /** + * Rate Limit Overview + */ + "rate-limit-overview": { + resources: { + core: components["schemas"]["rate-limit"]; + graphql?: components["schemas"]["rate-limit"]; + search: components["schemas"]["rate-limit"]; + source_import?: components["schemas"]["rate-limit"]; + integration_manifest?: components["schemas"]["rate-limit"]; + code_scanning_upload?: components["schemas"]["rate-limit"]; + }; + rate: components["schemas"]["rate-limit"]; + }; + /** + * Full Repository + */ + "full-repository": { + id: number; + node_id: string; + name: string; + full_name: string; + owner: components["schemas"]["simple-user"] | null; + private: boolean; + html_url: string; + description: string | null; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string | null; + hooks_url: string; + svn_url: string; + homepage: string | null; + language: string | null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template?: boolean; + topics?: string[]; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + /** + * Returns whether or not this repository disabled. + */ + disabled: boolean; + /** + * The repository visibility: public, private, or internal. + */ + visibility?: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions?: { admin: boolean; pull: boolean; push: boolean }; + allow_rebase_merge?: boolean; + template_repository?: components["schemas"]["repository"] | null; + temp_clone_token?: string | null; + allow_squash_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_merge_commit?: boolean; + subscribers_count: number; + network_count: number; + license: components["schemas"]["license-simple"] | null; + organization?: components["schemas"]["simple-user"] | null; + parent?: components["schemas"]["repository"]; + source?: components["schemas"]["repository"]; + forks: number; + master_branch?: string; + open_issues: number; + watchers: number; + /** + * Whether anonymous git access is allowed. + */ + anonymous_access_enabled?: boolean; + }; + /** + * An artifact + */ + artifact: { + id: number; + node_id: string; + /** + * The name of the artifact. + */ + name: string; + /** + * The size in bytes of the artifact. + */ + size_in_bytes: number; + url: string; + archive_download_url: string; + /** + * Whether or not the artifact has expired. + */ + expired: boolean; + created_at: string | null; + expires_at: string; + updated_at: string | null; + }; + /** + * Information of a job execution in a workflow run + */ + job: { + /** + * The id of the job. + */ + id: number; + /** + * The id of the associated workflow run. + */ + run_id: number; + run_url: string; + node_id: string; + /** + * The SHA of the commit that is being run. + */ + head_sha: string; + url: string; + html_url: string | null; + /** + * The phase of the lifecycle that the job is currently in. + */ + status: "queued" | "in_progress" | "completed"; + /** + * The outcome of the job. + */ + conclusion: string | null; + /** + * The time that the job started, in ISO 8601 format. + */ + started_at: string; + /** + * The time that the job finished, in ISO 8601 format. + */ + completed_at: string | null; + /** + * The name of the job. + */ + name: string; + /** + * Steps in this job. + */ + steps?: { + /** + * The phase of the lifecycle that the job is currently in. + */ + status: "queued" | "in_progress" | "completed"; + /** + * The outcome of the job. + */ + conclusion: string | null; + /** + * The name of the job. + */ + name: string; + number: number; + /** + * The time that the step started, in ISO 8601 format. + */ + started_at?: string | null; + /** + * The time that the job finished, in ISO 8601 format. + */ + completed_at?: string | null; + }[]; + check_run_url: string; + }; + /** + * Whether GitHub Actions is enabled on the repository. + */ + "actions-enabled": boolean; + "actions-repository-permissions": { + enabled?: components["schemas"]["actions-enabled"]; + allowed_actions?: components["schemas"]["allowed-actions"]; + selected_actions_url?: components["schemas"]["selected-actions-url"]; + }; + "pull-request-minimal": { + id: number; + number: number; + url: string; + head: { + ref: string; + sha: string; + repo: { id: number; url: string; name: string }; + }; + base: { + ref: string; + sha: string; + repo: { id: number; url: string; name: string }; + }; + }; + /** + * Simple Commit + */ + "simple-commit": { + id: string; + tree_id: string; + message: string; + timestamp: string; + author: { name: string; email: string } | null; + committer: { name: string; email: string } | null; + }; + /** + * An invocation of a workflow + */ + "workflow-run": { + /** + * The ID of the workflow run. + */ + id: number; + /** + * The name of the workflow run. + */ + name?: string; + node_id: string; + head_branch: string | null; + /** + * The SHA of the head commit that points to the version of the worflow being run. + */ + head_sha: string; + /** + * The auto incrementing run number for the workflow run. + */ + run_number: number; + event: string; + status: string | null; + conclusion: string | null; + /** + * The ID of the parent workflow. + */ + workflow_id: number; + /** + * The URL to the workflow run. + */ + url: string; + html_url: string; + pull_requests: components["schemas"]["pull-request-minimal"][] | null; + created_at: string | null; + updated_at: string | null; + /** + * The URL to the jobs for the workflow run. + */ + jobs_url: string; + /** + * The URL to download the logs for the workflow run. + */ + logs_url: string; + /** + * The URL to the associated check suite. + */ + check_suite_url: string; + /** + * The URL to the artifacts for the workflow run. + */ + artifacts_url: string; + /** + * The URL to cancel the workflow run. + */ + cancel_url: string; + /** + * The URL to rerun the workflow run. + */ + rerun_url: string; + /** + * The URL to the workflow. + */ + workflow_url: string; + head_commit: components["schemas"]["simple-commit"]; + repository: components["schemas"]["minimal-repository"]; + head_repository: components["schemas"]["minimal-repository"]; + head_repository_id?: number; + }; + /** + * Workflow Run Usage + */ + "workflow-run-usage": { + billable?: { + UBUNTU?: { total_ms?: number; jobs?: number }; + MACOS?: { total_ms?: number; jobs?: number }; + WINDOWS?: { total_ms?: number; jobs?: number }; + }; + run_duration_ms?: number; + }; + /** + * Set secrets for GitHub Actions. + */ + "actions-secret": { + /** + * The name of the secret. + */ + name: string; + created_at: string; + updated_at: string; + }; + /** + * A GitHub Actions workflow + */ + workflow: { + id: number; + node_id: string; + name: string; + path: string; + state: "active" | "deleted"; + created_at: string; + updated_at: string; + url: string; + html_url: string; + badge_url: string; + deleted_at?: string; + }; + /** + * Workflow Usage + */ + "workflow-usage": { + billable?: { + UBUNTU?: { total_ms?: number }; + MACOS?: { total_ms?: number }; + WINDOWS?: { total_ms?: number }; + }; + }; + /** + * Protected Branch Admin Enforced + */ + "protected-branch-admin-enforced": { url: string; enabled: boolean }; + /** + * Protected Branch Pull Request Review + */ + "protected-branch-pull-request-review": { + url?: string; + dismissal_restrictions?: { + /** + * The list of users with review dismissal access. + */ + users?: components["schemas"]["simple-user"][]; + /** + * The list of teams with review dismissal access. + */ + teams?: components["schemas"]["team"][]; + url?: string; + users_url?: string; + teams_url?: string; + }; + dismiss_stale_reviews: boolean; + require_code_owner_reviews: boolean; + required_approving_review_count?: number; + }; + /** + * Branch Restriction Policy + */ + "branch-restriction-policy": { + url: string; + users_url: string; + teams_url: string; + apps_url: string; + users: { + login?: string; + id?: number; + node_id?: string; + avatar_url?: string; + gravatar_id?: string; + url?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + repos_url?: string; + events_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; + }[]; + teams: { + id?: number; + node_id?: string; + url?: string; + html_url?: string; + name?: string; + slug?: string; + description?: string | null; + privacy?: string; + permission?: string; + members_url?: string; + repositories_url?: string; + parent?: string | null; + }[]; + apps: { + id?: number; + slug?: string; + node_id?: string; + owner?: { + login?: string; + id?: number; + node_id?: string; + url?: string; + repos_url?: string; + events_url?: string; + hooks_url?: string; + issues_url?: string; + members_url?: string; + public_members_url?: string; + avatar_url?: string; + description?: string; + gravatar_id?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + received_events_url?: string; + type?: string; + }; + name?: string; + description?: string; + external_url?: string; + html_url?: string; + created_at?: string; + updated_at?: string; + permissions?: { + metadata?: string; + contents?: string; + issues?: string; + single_file?: string; + }; + events?: string[]; + }[]; + }; + /** + * Branch Protection + */ + "branch-protection": { + url?: string; + required_status_checks: { + url?: string; + enforcement_level: string; + contexts: string[]; + contexts_url?: string; + }; + enforce_admins?: components["schemas"]["protected-branch-admin-enforced"]; + required_pull_request_reviews?: components["schemas"]["protected-branch-pull-request-review"]; + restrictions?: components["schemas"]["branch-restriction-policy"]; + required_linear_history?: { enabled?: boolean }; + allow_force_pushes?: { enabled?: boolean }; + allow_deletions?: { enabled?: boolean }; + enabled: boolean; + name?: string; + protection_url?: string; + }; + /** + * Short Branch + */ + "short-branch": { + name: string; + commit: { sha: string; url: string }; + protected: boolean; + protection?: components["schemas"]["branch-protection"]; + protection_url?: string; + }; + /** + * Metaproperties for Git author/committer information. + */ + "git-user": { name?: string; email?: string; date?: string }; + verification: { + verified: boolean; + reason: string; + payload: string | null; + signature: string | null; + }; + /** + * Commit + */ + commit: { + url: string | null; + sha: string | null; + node_id: string; + html_url: string; + comments_url: string; + commit: { + url: string; + author: components["schemas"]["git-user"] | null; + committer: components["schemas"]["git-user"] | null; + message: string; + comment_count: number; + tree: { sha: string; url: string }; + verification?: components["schemas"]["verification"]; + }; + author: components["schemas"]["simple-user"] | null; + committer: components["schemas"]["simple-user"] | null; + parents: { sha: string; url: string; html_url?: string }[]; + stats?: { additions?: number; deletions?: number; total?: number }; + files?: { + filename?: string; + additions?: number; + deletions?: number; + changes?: number; + status?: string; + raw_url?: string; + blob_url?: string; + patch?: string; + sha?: string; + contents_url?: string; + previous_filename?: string; + }[]; + }; + /** + * Branch With Protection + */ + "branch-with-protection": { + name: string; + commit: components["schemas"]["commit"]; + _links: { html: string; self: string }; + protected: boolean; + protection: components["schemas"]["branch-protection"]; + protection_url: string; + pattern?: string; + required_approving_review_count?: number; + }; + /** + * Status Check Policy + */ + "status-check-policy": { + url: string; + strict: boolean; + contexts: string[]; + contexts_url: string; + }; + /** + * Branch protections protect branches + */ + "protected-branch": { + url: string; + required_status_checks?: components["schemas"]["status-check-policy"]; + required_pull_request_reviews?: { + url: string; + dismiss_stale_reviews?: boolean; + require_code_owner_reviews?: boolean; + required_approving_review_count?: number; + dismissal_restrictions?: { + url: string; + users_url: string; + teams_url: string; + users: components["schemas"]["simple-user"][]; + teams: components["schemas"]["team"][]; + }; + }; + required_signatures?: { url: string; enabled: boolean }; + enforce_admins?: { url: string; enabled: boolean }; + required_linear_history?: { enabled: boolean }; + allow_force_pushes?: { enabled: boolean }; + allow_deletions?: { enabled: boolean }; + restrictions?: components["schemas"]["branch-restriction-policy"]; + }; + /** + * A check performed on the code of a given code change + */ + "check-run": { + /** + * The id of the check. + */ + id: number; + /** + * The SHA of the commit that is being checked. + */ + head_sha: string; + node_id: string; + external_id: string | null; + url: string; + html_url: string | null; + details_url: string | null; + /** + * The phase of the lifecycle that the check is currently in. + */ + status: "queued" | "in_progress" | "completed"; + conclusion: string | null; + started_at: string | null; + completed_at: string | null; + output: { + title: string | null; + summary: string | null; + text: string | null; + annotations_count: number; + annotations_url: string; + }; + /** + * The name of the check. + */ + name: string; + check_suite: { id: number } | null; + app: components["schemas"]["integration"] | null; + pull_requests: components["schemas"]["pull-request-minimal"][]; + }; + /** + * Check Annotation + */ + "check-annotation": { + path: string; + start_line: number; + end_line: number; + start_column: number | null; + end_column: number | null; + annotation_level: string | null; + title: string | null; + message: string | null; + raw_details: string | null; + blob_href: string; + }; + /** + * A suite of checks performed on the code of a given code change + */ + "check-suite": { + id: number; + node_id: string; + head_branch: string | null; + /** + * The SHA of the head commit that is being checked. + */ + head_sha: string; + status: string | null; + conclusion: string | null; + url: string | null; + before: string | null; + after: string | null; + pull_requests: components["schemas"]["pull-request-minimal"][] | null; + app: components["schemas"]["integration"] | null; + repository: components["schemas"]["minimal-repository"]; + created_at: string | null; + updated_at: string | null; + head_commit: components["schemas"]["simple-commit"]; + latest_check_runs_count: number; + check_runs_url: string; + }; + /** + * Check suite configuration preferences for a repository. + */ + "check-suite-preference": { + preferences?: { + auto_trigger_checks?: { app_id: number; setting: boolean }[]; + }; + repository?: components["schemas"]["repository"]; + }; + /** + * State of a code scanning alert. + */ + "code-scanning-alert-state": "open" | "dismissed" | "fixed"; + /** + * The full Git reference, formatted as `refs/heads/`. + */ + "code-scanning-alert-ref": string; + /** + * The security alert number. + */ + "alert-number": number; + /** + * The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + "alert-created-at": string; + /** + * The REST API URL of the alert resource. + */ + "alert-url": string; + /** + * The GitHub URL of the alert resource. + */ + "alert-html-url": string; + /** + * The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + "code-scanning-alert-dismissed-at": string | null; + /** + * **Required when the state is dismissed.** The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. + */ + "code-scanning-alert-dismissed-reason": string | null; + "code-scanning-alert-rule": { + /** + * A unique identifier for the rule used to detect the alert. + */ + id?: string | null; + /** + * The severity of the alert. + */ + severity?: ("none" | "note" | "warning" | "error") | null; + /** + * A short description of the rule used to detect the alert. + */ + description?: string; + }; + /** + * The name of the tool used to generate the code scanning analysis alert. + */ + "code-scanning-analysis-tool-name": string; + "code-scanning-analysis-tool": { + name?: components["schemas"]["code-scanning-analysis-tool-name"]; + /** + * The version of the tool used to detect the alert. + */ + version?: string | null; + }; + "code-scanning-alert-code-scanning-alert-items": { + number?: components["schemas"]["alert-number"]; + created_at?: components["schemas"]["alert-created-at"]; + url?: components["schemas"]["alert-url"]; + html_url?: components["schemas"]["alert-html-url"]; + state?: components["schemas"]["code-scanning-alert-state"]; + dismissed_by?: components["schemas"]["simple-user"]; + dismissed_at?: components["schemas"]["code-scanning-alert-dismissed-at"]; + dismissed_reason?: components["schemas"]["code-scanning-alert-dismissed-reason"]; + rule?: components["schemas"]["code-scanning-alert-rule"]; + tool?: components["schemas"]["code-scanning-analysis-tool"]; + }; + /** + * Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. + */ + "code-scanning-analysis-analysis-key": string; + /** + * Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. + */ + "code-scanning-alert-environment": string; + "code-scanning-alert-instances": + | { + ref?: components["schemas"]["code-scanning-alert-ref"]; + analysis_key?: components["schemas"]["code-scanning-analysis-analysis-key"]; + environment?: components["schemas"]["code-scanning-alert-environment"]; + matrix_vars?: string | null; + state?: components["schemas"]["code-scanning-alert-state"]; + }[] + | null; + "code-scanning-alert-code-scanning-alert": { + number?: components["schemas"]["alert-number"]; + created_at?: components["schemas"]["alert-created-at"]; + url?: components["schemas"]["alert-url"]; + html_url?: components["schemas"]["alert-html-url"]; + instances?: components["schemas"]["code-scanning-alert-instances"]; + state?: components["schemas"]["code-scanning-alert-state"]; + dismissed_by?: components["schemas"]["simple-user"]; + dismissed_at?: components["schemas"]["code-scanning-alert-dismissed-at"]; + dismissed_reason?: components["schemas"]["code-scanning-alert-dismissed-reason"]; + rule?: components["schemas"]["code-scanning-alert-rule"]; + tool?: components["schemas"]["code-scanning-analysis-tool"]; + }; + /** + * Sets the state of the code scanning alert. Can be one of `open` or `dismissed`. You must provide `dismissed_reason` when you set the state to `dismissed`. + */ + "code-scanning-alert-set-state": "open" | "dismissed"; + /** + * The full Git reference of the code scanning analysis file, formatted as `refs/heads/`. + */ + "code-scanning-analysis-ref": string; + /** + * The commit SHA of the code scanning analysis file. + */ + "code-scanning-analysis-commit-sha": string; + /** + * The time that the analysis was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + "code-scanning-analysis-created-at": string; + /** + * Identifies the variable values associated with the environment in which this analysis was performed. + */ + "code-scanning-analysis-environment": string; + "code-scanning-analysis-code-scanning-analysis": { + commit_sha?: components["schemas"]["code-scanning-analysis-commit-sha"]; + ref?: components["schemas"]["code-scanning-analysis-ref"]; + analysis_key?: components["schemas"]["code-scanning-analysis-analysis-key"]; + created_at?: components["schemas"]["code-scanning-analysis-created-at"]; + tool_name?: components["schemas"]["code-scanning-analysis-tool-name"]; + error?: string; + environment?: components["schemas"]["code-scanning-analysis-environment"]; + }; + /** + * A Base64 string representing the SARIF file to upload. You must first compress your SARIF file using [`gzip`](http://www.gnu.org/software/gzip/manual/gzip.html) and then translate the contents of the file into a Base64 encoding string. + */ + "code-scanning-analysis-sarif-file": string; + /** + * Collaborator + */ + collaborator: { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string | null; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; + permissions?: { pull: boolean; push: boolean; admin: boolean }; + }; + /** + * Repository invitations let you manage who you collaborate with. + */ + "repository-invitation": { + /** + * Unique identifier of the repository invitation. + */ + id: number; + repository: components["schemas"]["minimal-repository"]; + invitee: components["schemas"]["simple-user"] | null; + inviter: components["schemas"]["simple-user"] | null; + /** + * The permission associated with the invitation. + */ + permissions: "read" | "write" | "admin"; + created_at: string; + /** + * URL for the repository invitation + */ + url: string; + html_url: string; + node_id: string; + }; + /** + * Commit Comment + */ + "commit-comment": { + html_url: string; + url: string; + id: number; + node_id: string; + body: string; + path: string | null; + position: number | null; + line: number | null; + commit_id: string; + user: components["schemas"]["simple-user"] | null; + created_at: string; + updated_at: string; + author_association: string; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * Scim Error + */ + "scim-error": { + message?: string | null; + documentation_url?: string | null; + detail?: string | null; + status?: number; + scimType?: string | null; + schemas?: string[]; + }; + /** + * Branch Short + */ + "branch-short": { + name?: string; + commit?: { sha?: string; url?: string }; + protected?: boolean; + }; + /** + * Hypermedia Link + */ + link: { href: string }; + /** + * Pull Request Simple + */ + "pull-request-simple": { + url: string; + id: number; + node_id: string; + html_url: string; + diff_url: string; + patch_url: string; + issue_url: string; + commits_url: string; + review_comments_url: string; + review_comment_url: string; + comments_url: string; + statuses_url: string; + number: number; + state: string; + locked: boolean; + title: string; + user: components["schemas"]["simple-user"] | null; + body: string | null; + labels: { + id?: number; + node_id?: string; + url?: string; + name?: string; + description?: string; + color?: string; + default?: boolean; + }[]; + milestone: components["schemas"]["milestone"] | null; + active_lock_reason?: string | null; + created_at: string; + updated_at: string; + closed_at: string | null; + merged_at: string | null; + merge_commit_sha: string | null; + assignee: components["schemas"]["simple-user"] | null; + assignees?: components["schemas"]["simple-user"][] | null; + requested_reviewers?: components["schemas"]["simple-user"][] | null; + requested_teams?: components["schemas"]["team-simple"][] | null; + head: { + label: string; + ref: string; + repo: components["schemas"]["repository"]; + sha: string; + user: components["schemas"]["simple-user"] | null; + }; + base: { + label: string; + ref: string; + repo: components["schemas"]["repository"]; + sha: string; + user: components["schemas"]["simple-user"] | null; + }; + _links: { + comments: components["schemas"]["link"]; + commits: components["schemas"]["link"]; + statuses: components["schemas"]["link"]; + html: components["schemas"]["link"]; + issue: components["schemas"]["link"]; + review_comments: components["schemas"]["link"]; + review_comment: components["schemas"]["link"]; + self: components["schemas"]["link"]; + }; + author_association: string; + /** + * Indicates whether or not the pull request is a draft. + */ + draft?: boolean; + }; + "simple-commit-status": { + description: string | null; + id: number; + node_id: string; + state: string; + context: string; + target_url: string; + required?: boolean | null; + avatar_url: string | null; + url: string; + created_at: string; + updated_at: string; + }; + /** + * Combined Commit Status + */ + "combined-commit-status": { + state: string; + statuses: components["schemas"]["simple-commit-status"][]; + sha: string; + total_count: number; + repository: components["schemas"]["minimal-repository"]; + commit_url: string; + url: string; + }; + /** + * The status of a commit. + */ + status: { + url?: string; + avatar_url?: string | null; + id?: number; + node_id?: string; + state?: string; + description?: string; + target_url?: string; + context?: string; + created_at?: string; + updated_at?: string; + creator?: components["schemas"]["simple-user"]; + }; + /** + * Code of Conduct Simple + */ + "code-of-conduct-simple": { + url: string; + key: string; + name: string; + html_url: string | null; + }; + "community-health-file": { url: string; html_url: string }; + /** + * Community Profile + */ + "community-profile": { + health_percentage: number; + description: string | null; + documentation: string | null; + files: { + code_of_conduct: components["schemas"]["code-of-conduct-simple"] | null; + license: components["schemas"]["license-simple"] | null; + contributing: components["schemas"]["community-health-file"] | null; + readme: components["schemas"]["community-health-file"] | null; + issue_template: components["schemas"]["community-health-file"] | null; + pull_request_template: + | components["schemas"]["community-health-file"] + | null; + }; + updated_at: string | null; + content_reports_enabled?: boolean; + }; + /** + * Diff Entry + */ + "diff-entry": { + sha: string; + filename: string; + status: string; + additions: number; + deletions: number; + changes: number; + blob_url: string; + raw_url: string; + contents_url: string; + patch?: string; + previous_filename?: string; + }; + /** + * Commit Comparison + */ + "commit-comparison": { + url: string; + html_url: string; + permalink_url: string; + diff_url: string; + patch_url: string; + base_commit: components["schemas"]["commit"]; + merge_base_commit: components["schemas"]["commit"]; + status: "diverged" | "ahead" | "behind" | "identical"; + ahead_by: number; + behind_by: number; + total_commits: number; + commits: components["schemas"]["commit"][]; + files: components["schemas"]["diff-entry"][]; + }; + /** + * Content Tree + */ + "content-tree": { + type: string; + size: number; + name: string; + path: string; + sha: string; + url: string; + git_url: string | null; + html_url: string | null; + download_url: string | null; + entries?: { + type: string; + size: number; + name: string; + path: string; + content?: string; + sha: string; + url: string; + git_url: string | null; + html_url: string | null; + download_url: string | null; + _links: { git: string | null; html: string | null; self: string }; + }[]; + _links: { git: string | null; html: string | null; self: string }; + }; + /** + * A list of directory items + */ + "content-directory": { + type: string; + size: number; + name: string; + path: string; + content?: string; + sha: string; + url: string; + git_url: string | null; + html_url: string | null; + download_url: string | null; + _links: { git: string | null; html: string | null; self: string }; + }[]; + /** + * Content File + */ + "content-file": { + type: string; + encoding: string; + size: number; + name: string; + path: string; + content: string; + sha: string; + url: string; + git_url: string | null; + html_url: string | null; + download_url: string | null; + _links: { git: string | null; html: string | null; self: string }; + target?: string; + submodule_git_url?: string; + }; + /** + * An object describing a symlink + */ + "content-symlink": { + type: string; + target: string; + size: number; + name: string; + path: string; + sha: string; + url: string; + git_url: string | null; + html_url: string | null; + download_url: string | null; + _links: { git: string | null; html: string | null; self: string }; + }; + /** + * An object describing a symlink + */ + "content-submodule": { + type: string; + submodule_git_url: string; + size: number; + name: string; + path: string; + sha: string; + url: string; + git_url: string | null; + html_url: string | null; + download_url: string | null; + _links: { git: string | null; html: string | null; self: string }; + }; + /** + * File Commit + */ + "file-commit": { + content?: { + name?: string; + path?: string; + sha?: string; + size?: number; + url?: string; + html_url?: string; + git_url?: string; + download_url?: string; + type?: string; + _links?: { self?: string; git?: string; html?: string }; + } | null; + commit?: { + sha?: string; + node_id?: string; + url?: string; + html_url?: string; + author?: { date?: string; name?: string; email?: string }; + committer?: { date?: string; name?: string; email?: string }; + message?: string; + tree?: { url?: string; sha?: string }; + parents?: { url?: string; html_url?: string; sha?: string }[]; + verification?: { + verified?: boolean; + reason?: string; + signature?: string | null; + payload?: string | null; + }; + }; + }; + /** + * Contributor + */ + contributor: { + login?: string; + id?: number; + node_id?: string; + avatar_url?: string; + gravatar_id?: string | null; + url?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + repos_url?: string; + events_url?: string; + received_events_url?: string; + type: string; + site_admin?: boolean; + contributions: number; + email?: string; + name?: string; + }; + /** + * A request for a specific ref(branch,sha,tag) to be deployed + */ + deployment: { + url: string; + /** + * Unique identifier of the deployment + */ + id: number; + node_id: string; + sha: string; + /** + * The ref to deploy. This can be a branch, tag, or sha. + */ + ref: string; + /** + * Parameter to specify a task to execute + */ + task: string; + payload: { [key: string]: any }; + original_environment?: string; + /** + * Name for the target deployment environment. + */ + environment: string; + description: string | null; + creator: components["schemas"]["simple-user"] | null; + created_at: string; + updated_at: string; + statuses_url: string; + repository_url: string; + /** + * Specifies if the given environment is will no longer exist at some point in the future. Default: false. + */ + transient_environment?: boolean; + /** + * Specifies if the given environment is one that end-users directly interact with. Default: false. + */ + production_environment?: boolean; + performed_via_github_app?: components["schemas"]["integration"] | null; + }; + /** + * The status of a deployment. + */ + "deployment-status": { + url: string; + id: number; + node_id: string; + /** + * The state of the status. + */ + state: + | "error" + | "failure" + | "inactive" + | "pending" + | "success" + | "queued" + | "in_progress"; + creator: components["schemas"]["simple-user"] | null; + /** + * A short description of the status. + */ + description: string; + /** + * The environment of the deployment that the status is for. + */ + environment?: string; + /** + * Deprecated: the URL to associate with this status. + */ + target_url: string; + created_at: string; + updated_at: string; + deployment_url: string; + repository_url: string; + /** + * The URL for accessing your environment. + */ + environment_url?: string; + /** + * The URL to associate with this status. + */ + log_url?: string; + performed_via_github_app?: components["schemas"]["integration"] | null; + }; + /** + * Short Blob + */ + "short-blob": { url?: string; sha?: string }; + /** + * Blob + */ + blob: { + content: string; + encoding: string; + url: string; + sha: string; + size: number | null; + node_id: string; + highlighted_content?: string; + }; + /** + * Low-level Git commit operations within a repository + */ + "git-commit": { + /** + * SHA for the commit + */ + sha?: string; + node_id?: string; + url?: string; + /** + * Identifying information for the git-user + */ + author?: { + /** + * Timestamp of the commit + */ + date?: string; + /** + * Git email address of the user + */ + email: string; + /** + * Name of the git user + */ + name: string; + }; + /** + * Identifying information for the git-user + */ + committer?: { + /** + * Timestamp of the commit + */ + date?: string; + /** + * Git email address of the user + */ + email: string; + /** + * Name of the git user + */ + name: string; + }; + /** + * Message describing the purpose of the commit + */ + message?: string; + tree?: { + /** + * SHA for the commit + */ + sha?: string; + url?: string; + }; + parents?: { + /** + * SHA for the commit + */ + sha?: string; + url?: string; + html_url?: string; + }[]; + verification?: { + verified?: boolean; + reason?: string; + signature?: string | null; + payload?: string | null; + }; + html_url?: string; + }; + /** + * Git references within a repository + */ + "git-ref": { + ref?: string; + node_id?: string; + url?: string; + object?: { + type?: string; + /** + * SHA for the reference + */ + sha?: string; + url?: string; + }; + }; + /** + * Metadata for a Git tag + */ + "git-tag": { + node_id: string; + /** + * Name of the tag + */ + tag: string; + sha: string; + /** + * URL for the tag + */ + url: string; + /** + * Message describing the purpose of the tag + */ + message: string; + tagger: { date: string; email: string; name: string }; + object: { sha: string; type: string; url: string }; + verification?: components["schemas"]["verification"]; + }; + /** + * The hierarchy between files in a Git repository. + */ + "git-tree": { + sha: string; + url: string; + truncated: boolean; + /** + * Objects specifying a tree structure + */ + tree: { + path?: string; + mode?: string; + type?: string; + sha?: string; + size?: number; + url?: string; + }[]; + }; + "hook-response": { + code: number | null; + status: string | null; + message: string | null; + }; + /** + * Webhooks for repositories. + */ + hook: { + type: string; + /** + * Unique identifier of the webhook. + */ + id: number; + /** + * The name of a valid service, use 'web' for a webhook. + */ + name: string; + /** + * Determines whether the hook is actually triggered on pushes. + */ + active: boolean; + /** + * Determines what events the hook is triggered for. Default: ['push']. + */ + events: string[]; + config: { + email?: string; + password?: string; + room?: string; + subdomain?: string; + url?: components["schemas"]["webhook-config-url"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + digest?: string; + secret?: components["schemas"]["webhook-config-secret"]; + token?: string; + }; + updated_at: string; + created_at: string; + url: string; + test_url: string; + ping_url: string; + last_response: components["schemas"]["hook-response"]; + }; + /** + * A repository import from an external source. + */ + import: { + vcs: string | null; + use_lfs?: string; + /** + * The URL of the originating repository. + */ + vcs_url: string; + svc_root?: string; + tfvc_project?: string; + status: + | "auth" + | "error" + | "none" + | "detecting" + | "choose" + | "auth_failed" + | "importing" + | "mapping" + | "waiting_to_push" + | "pushing" + | "complete" + | "setup" + | "unknown" + | "detection_found_multiple" + | "detection_found_nothing" + | "detection_needs_auth"; + status_text?: string | null; + failed_step?: string | null; + error_message?: string | null; + import_percent?: number | null; + commit_count?: number | null; + push_percent?: number | null; + has_large_files?: boolean; + large_files_size?: number; + large_files_count?: number; + project_choices?: { + vcs?: string; + tfvc_project?: string; + human_name?: string; + }[]; + message?: string; + authors_count?: number | null; + url: string; + html_url: string; + authors_url: string; + repository_url: string; + svn_root?: string; + }; + /** + * Porter Author + */ + "porter-author": { + id: number; + remote_id: string; + remote_name: string; + email: string; + name: string; + url: string; + import_url: string; + }; + /** + * Porter Large File + */ + "porter-large-file": { + ref_name: string; + path: string; + oid: string; + size: number; + }; + /** + * Issue Event Label + */ + "issue-event-label": { name: string | null; color: string | null }; + "issue-event-dismissed-review": { + state: string; + review_id: number; + dismissal_message: string | null; + dismissal_commit_id?: string | null; + }; + /** + * Issue Event Milestone + */ + "issue-event-milestone": { title: string }; + /** + * Issue Event Project Card + */ + "issue-event-project-card": { + url: string; + id: number; + project_url: string; + project_id: number; + column_name: string; + previous_column_name?: string; + }; + /** + * Issue Event Rename + */ + "issue-event-rename": { from: string; to: string }; + /** + * Issue Event + */ + "issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"] | null; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + issue?: components["schemas"]["issue-simple"]; + label?: components["schemas"]["issue-event-label"]; + assignee?: components["schemas"]["simple-user"] | null; + assigner?: components["schemas"]["simple-user"] | null; + review_requester?: components["schemas"]["simple-user"] | null; + requested_reviewer?: components["schemas"]["simple-user"] | null; + requested_team?: components["schemas"]["team"]; + dismissed_review?: components["schemas"]["issue-event-dismissed-review"]; + milestone?: components["schemas"]["issue-event-milestone"]; + project_card?: components["schemas"]["issue-event-project-card"]; + rename?: components["schemas"]["issue-event-rename"]; + author_association?: string; + lock_reason?: string | null; + }; + /** + * Issue Event for Issue + */ + "issue-event-for-issue": { + id?: number; + node_id?: string; + url?: string; + actor?: components["schemas"]["simple-user"]; + event?: string; + commit_id?: string | null; + commit_url?: string | null; + created_at?: string; + sha?: string; + html_url?: string; + message?: string; + issue_url?: string; + updated_at?: string; + author_association?: string; + body?: string; + lock_reason?: string; + submitted_at?: string; + state?: string; + pull_request_url?: string; + body_html?: string; + body_text?: string; + }; + /** + * Color-coded labels help you categorize and filter your issues (just like labels in Gmail). + */ + label: { + id: number; + node_id: string; + /** + * URL for the label + */ + url: string; + /** + * The name of the label. + */ + name: string; + description?: string | null; + /** + * 6-character hex code, without the leading #, identifying the color + */ + color: string; + default: boolean; + }; + /** + * An SSH key granting access to a single repository. + */ + "deploy-key": { + id?: number; + key?: string; + url?: string; + title?: string; + verified?: boolean; + created_at?: string; + read_only?: boolean; + }; + /** + * Language + */ + language: { [key: string]: number }; + /** + * License Content + */ + "license-content": { + name: string; + path: string; + sha: string; + size: number; + url: string; + html_url: string | null; + git_url: string | null; + download_url: string | null; + type: string; + content: string; + encoding: string; + _links: { git: string | null; html: string | null; self: string }; + license: components["schemas"]["license-simple"] | null; + }; + "pages-source-hash": { branch: string; path: string }; + /** + * The configuration for GitHub Pages for a repository. + */ + page: { + /** + * The API address for accessing this Page resource. + */ + url: string; + /** + * The status of the most recent build of the Page. + */ + status: ("built" | "building" | "errored") | null; + /** + * The Pages site's custom domain + */ + cname: string | null; + /** + * Whether the Page has a custom 404 page. + */ + custom_404: boolean; + /** + * The web address the Page can be accessed from. + */ + html_url?: string; + source?: components["schemas"]["pages-source-hash"]; + }; + /** + * Page Build + */ + "page-build": { + url: string; + status: string; + error: { message: string | null }; + pusher: components["schemas"]["simple-user"] | null; + commit: string; + duration: number; + created_at: string; + updated_at: string; + }; + /** + * Page Build Status + */ + "page-build-status": { url: string; status: string }; + /** + * Pull requests let you tell others about changes you've pushed to a repository on GitHub. Once a pull request is sent, interested parties can review the set of changes, discuss potential modifications, and even push follow-up commits if necessary. + */ + "pull-request": { + url: string; + id: number; + node_id: string; + html_url: string; + diff_url: string; + patch_url: string; + issue_url: string; + commits_url: string; + review_comments_url: string; + review_comment_url: string; + comments_url: string; + statuses_url: string; + /** + * Number uniquely identifying the pull request within its repository. + */ + number: number; + /** + * State of this Pull Request. Either `open` or `closed`. + */ + state: "open" | "closed"; + locked: boolean; + /** + * The title of the pull request. + */ + title: string; + user: components["schemas"]["simple-user"] | null; + body: string | null; + labels: { + id?: number; + node_id?: string; + url?: string; + name?: string; + description?: string | null; + color?: string; + default?: boolean; + }[]; + milestone: components["schemas"]["milestone"] | null; + active_lock_reason?: string | null; + created_at: string; + updated_at: string; + closed_at: string | null; + merged_at: string | null; + merge_commit_sha: string | null; + assignee: components["schemas"]["simple-user"] | null; + assignees?: components["schemas"]["simple-user"][] | null; + requested_reviewers?: components["schemas"]["simple-user"][] | null; + requested_teams?: components["schemas"]["team-simple"][] | null; + head: { + label: string; + ref: string; + repo: { + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + description: string | null; + downloads_url: string; + events_url: string; + fork: boolean; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + hooks_url: string; + html_url: string; + id: number; + node_id: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + name: string; + notifications_url: string; + owner: { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string | null; + html_url: string; + id: number; + node_id: string; + login: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + private: boolean; + pulls_url: string; + releases_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + url: string; + clone_url: string; + default_branch: string; + forks: number; + forks_count: number; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + homepage: string | null; + language: string | null; + master_branch?: string; + archived: boolean; + disabled: boolean; + mirror_url: string | null; + open_issues: number; + open_issues_count: number; + permissions?: { admin: boolean; pull: boolean; push: boolean }; + temp_clone_token?: string; + allow_merge_commit?: boolean; + allow_squash_merge?: boolean; + allow_rebase_merge?: boolean; + license: { + key: string; + name: string; + url: string | null; + spdx_id: string | null; + node_id: string; + } | null; + pushed_at: string; + size: number; + ssh_url: string; + stargazers_count: number; + svn_url: string; + topics?: string[]; + watchers: number; + watchers_count: number; + created_at: string; + updated_at: string; + }; + sha: string; + user: { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string | null; + html_url: string; + id: number; + node_id: string; + login: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + }; + base: { + label: string; + ref: string; + repo: { + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + description: string | null; + downloads_url: string; + events_url: string; + fork: boolean; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + hooks_url: string; + html_url: string; + id: number; + node_id: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + name: string; + notifications_url: string; + owner: { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string | null; + html_url: string; + id: number; + node_id: string; + login: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + private: boolean; + pulls_url: string; + releases_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + url: string; + clone_url: string; + default_branch: string; + forks: number; + forks_count: number; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + homepage: string | null; + language: string | null; + master_branch?: string; + archived: boolean; + disabled: boolean; + mirror_url: string | null; + open_issues: number; + open_issues_count: number; + permissions?: { admin: boolean; pull: boolean; push: boolean }; + temp_clone_token?: string; + allow_merge_commit?: boolean; + allow_squash_merge?: boolean; + allow_rebase_merge?: boolean; + license: components["schemas"]["license-simple"] | null; + pushed_at: string; + size: number; + ssh_url: string; + stargazers_count: number; + svn_url: string; + topics?: string[]; + watchers: number; + watchers_count: number; + created_at: string; + updated_at: string; + }; + sha: string; + user: { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string | null; + html_url: string; + id: number; + node_id: string; + login: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + }; + _links: { + comments: components["schemas"]["link"]; + commits: components["schemas"]["link"]; + statuses: components["schemas"]["link"]; + html: components["schemas"]["link"]; + issue: components["schemas"]["link"]; + review_comments: components["schemas"]["link"]; + review_comment: components["schemas"]["link"]; + self: components["schemas"]["link"]; + }; + author_association: string; + /** + * Indicates whether or not the pull request is a draft. + */ + draft?: boolean; + merged: boolean; + mergeable: boolean | null; + rebaseable?: boolean | null; + mergeable_state: string; + merged_by: components["schemas"]["simple-user"] | null; + comments: number; + review_comments: number; + /** + * Indicates whether maintainers can modify the pull request. + */ + maintainer_can_modify: boolean; + commits: number; + additions: number; + deletions: number; + changed_files: number; + }; + /** + * Pull Request Review Comments are comments on a portion of the Pull Request's diff. + */ + "pull-request-review-comment": { + /** + * URL for the pull request review comment + */ + url: string; + /** + * The ID of the pull request review to which the comment belongs. + */ + pull_request_review_id: number | null; + /** + * The ID of the pull request review comment. + */ + id: number; + /** + * The node ID of the pull request review comment. + */ + node_id: string; + /** + * The diff of the line that the comment refers to. + */ + diff_hunk: string; + /** + * The relative path of the file to which the comment applies. + */ + path: string; + /** + * The line index in the diff to which the comment applies. + */ + position: number; + /** + * The index of the original line in the diff to which the comment applies. + */ + original_position: number; + /** + * The SHA of the commit to which the comment applies. + */ + commit_id: string; + /** + * The SHA of the original commit to which the comment applies. + */ + original_commit_id: string; + /** + * The comment ID to reply to. + */ + in_reply_to_id?: number; + user: components["schemas"]["simple-user"]; + /** + * The text of the comment. + */ + body: string; + created_at: string; + updated_at: string; + /** + * HTML URL for the pull request review comment. + */ + html_url: string; + /** + * URL for the pull request that the review comment belongs to. + */ + pull_request_url: string; + /** + * How the author of the comment is associated with the pull request. + */ + author_association: string; + _links: { + self: { href: string }; + html: { href: string }; + pull_request: { href: string }; + }; + /** + * The first line of the range for a multi-line comment. + */ + start_line?: number | null; + /** + * The first line of the range for a multi-line comment. + */ + original_start_line?: number | null; + /** + * The side of the first line of the range for a multi-line comment. + */ + start_side?: ("LEFT" | "RIGHT") | null; + /** + * The line of the blob to which the comment applies. The last line of the range for a multi-line comment + */ + line?: number; + /** + * The line of the blob to which the comment applies. The last line of the range for a multi-line comment + */ + original_line?: number; + /** + * The side of the diff to which the comment applies. The side of the last line of the range for a multi-line comment + */ + side?: "LEFT" | "RIGHT"; + reactions?: components["schemas"]["reaction-rollup"]; + body_html?: string; + body_text?: string; + }; + /** + * Pull Request Merge Result + */ + "pull-request-merge-result": { + sha: string; + merged: boolean; + message: string; + }; + /** + * Pull Request Review Request + */ + "pull-request-review-request": { + users?: { + login?: string; + id?: number; + node_id?: string; + avatar_url?: string; + gravatar_id?: string; + url?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + repos_url?: string; + events_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; + }[]; + teams?: { + id?: number; + node_id?: string; + url?: string; + html_url?: string; + name?: string; + slug?: string; + description?: string | null; + privacy?: string; + permission?: string; + members_url?: string; + repositories_url?: string; + parent?: string | null; + }[]; + }; + /** + * Pull Request Reviews are reviews on pull requests. + */ + "pull-request-review": { + /** + * Unique identifier of the review + */ + id: number; + node_id: string; + user: components["schemas"]["simple-user"] | null; + /** + * The text of the review. + */ + body: string; + state: string; + html_url: string; + pull_request_url: string; + _links: { html: { href: string }; pull_request: { href: string } }; + submitted_at?: string; + /** + * A commit SHA for the review. + */ + commit_id: string; + body_html?: string; + body_text?: string; + author_association: string; + }; + /** + * Legacy Review Comment + */ + "review-comment": { + url: string; + pull_request_review_id: number | null; + id: number; + node_id: string; + diff_hunk: string; + path: string; + position: number | null; + original_position: number; + commit_id: string; + original_commit_id: string; + in_reply_to_id?: number; + user: components["schemas"]["simple-user"] | null; + body: string; + created_at: string; + updated_at: string; + html_url: string; + pull_request_url: string; + author_association: string; + _links: { + self: components["schemas"]["link"]; + html: components["schemas"]["link"]; + pull_request: components["schemas"]["link"]; + }; + body_text?: string; + body_html?: string; + /** + * The side of the first line of the range for a multi-line comment. + */ + side?: "LEFT" | "RIGHT"; + /** + * The side of the first line of the range for a multi-line comment. + */ + start_side?: ("LEFT" | "RIGHT") | null; + /** + * The line of the blob to which the comment applies. The last line of the range for a multi-line comment + */ + line?: number; + /** + * The original line of the blob to which the comment applies. The last line of the range for a multi-line comment + */ + original_line?: number; + /** + * The first line of the range for a multi-line comment. + */ + start_line?: number | null; + /** + * The original first line of the range for a multi-line comment. + */ + original_start_line?: number | null; + }; + /** + * Data related to a release. + */ + "release-asset": { + url: string; + browser_download_url: string; + id: number; + node_id: string; + /** + * The file name of the asset. + */ + name: string; + label: string | null; + /** + * State of the release asset. + */ + state: "uploaded"; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: components["schemas"]["simple-user"] | null; + }; + /** + * A release. + */ + release: { + url: string; + html_url: string; + assets_url: string; + upload_url: string; + tarball_url: string | null; + zipball_url: string | null; + id: number; + node_id: string; + /** + * The name of the tag. + */ + tag_name: string; + /** + * Specifies the commitish value that determines where the Git tag is created from. + */ + target_commitish: string; + name: string | null; + body?: string | null; + /** + * true to create a draft (unpublished) release, false to create a published one. + */ + draft: boolean; + /** + * Whether to identify the release as a prerelease or a full release. + */ + prerelease: boolean; + created_at: string; + published_at: string | null; + author: components["schemas"]["simple-user"]; + assets: components["schemas"]["release-asset"][]; + body_html?: string; + body_text?: string; + }; + /** + * Sets the state of the secret scanning alert. Can be either `open` or `resolved`. You must provide `resolution` when you set the state to `resolved`. + */ + "secret-scanning-alert-state": "open" | "resolved"; + /** + * **Required when the `state` is `resolved`.** The reason for resolving the alert. Can be one of `false_positive`, `wont_fix`, `revoked`, or `used_in_tests`. + */ + "secret-scanning-alert-resolution": string | null; + "secret-scanning-alert": { + number?: components["schemas"]["alert-number"]; + created_at?: components["schemas"]["alert-created-at"]; + url?: components["schemas"]["alert-url"]; + html_url?: components["schemas"]["alert-html-url"]; + state?: components["schemas"]["secret-scanning-alert-state"]; + resolution?: components["schemas"]["secret-scanning-alert-resolution"]; + /** + * The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + resolved_at?: string | null; + resolved_by?: components["schemas"]["simple-user"]; + /** + * The type of secret that secret scanning detected. + */ + secret_type?: string; + /** + * The secret that was detected. + */ + secret?: string; + }; + /** + * Stargazer + */ + stargazer: { + starred_at: string; + user: components["schemas"]["simple-user"] | null; + }; + /** + * Code Frequency Stat + */ + "code-frequency-stat": number[]; + /** + * Commit Activity + */ + "commit-activity": { days: number[]; total: number; week: number }; + /** + * Contributor Activity + */ + "contributor-activity": { + author: components["schemas"]["simple-user"] | null; + total: number; + weeks: { w?: string; a?: number; d?: number; c?: number }[]; + }; + "participation-stats": { all?: number[]; owner?: number[] }; + /** + * Repository invitations let you manage who you collaborate with. + */ + "repository-subscription": { + /** + * Determines if notifications should be received from this repository. + */ + subscribed: boolean; + /** + * Determines if all notifications should be blocked from this repository. + */ + ignored: boolean; + reason: string | null; + created_at: string; + url: string; + repository_url: string; + }; + /** + * Tag + */ + tag: { + name: string; + commit: { sha: string; url: string }; + zipball_url: string; + tarball_url: string; + node_id: string; + }; + /** + * A topic aggregates entities that are related to a subject. + */ + topic: { names?: string[] }; + traffic: { timestamp: string; uniques: number; count: number }; + /** + * Clone Traffic + */ + "clone-traffic": { + count: number; + uniques: number; + clones: components["schemas"]["traffic"][]; + }; + /** + * Content Traffic + */ + "content-traffic": { + path: string; + title: string; + count: number; + uniques: number; + }; + /** + * Referrer Traffic + */ + "referrer-traffic": { referrer: string; count: number; uniques: number }; + /** + * View Traffic + */ + "view-traffic": { + count: number; + uniques: number; + views: components["schemas"]["traffic"][]; + }; + "scim-group-list-enterprise": { + schemas?: string[]; + totalResults?: number; + itemsPerPage?: number; + startIndex?: number; + Resources?: { + schemas?: string[]; + id?: string; + externalId?: string | null; + displayName?: string; + members?: { value?: string; $ref?: string; display?: string }[]; + meta?: { + resourceType?: string; + created?: string; + lastModified?: string; + location?: string; + }; + }[]; + }; + "scim-enterprise-group": { + schemas?: string[]; + id?: string; + externalId?: string | null; + displayName?: string; + members?: { value?: string; $ref?: string; display?: string }[]; + meta?: { + resourceType?: string; + created?: string; + lastModified?: string; + location?: string; + }; + }; + "scim-user-list-enterprise": { + schemas?: string[]; + totalResults?: number; + itemsPerPage?: number; + startIndex?: number; + Resources?: { + schemas?: string[]; + id?: string; + externalId?: string; + userName?: string; + name?: { givenName?: string; familyName?: string }; + emails?: { value?: string; primary?: boolean; type?: string }[]; + groups?: { value?: string }[]; + active?: boolean; + meta?: { + resourceType?: string; + created?: string; + lastModified?: string; + location?: string; + }; + }[]; + }; + "scim-enterprise-user": { + schemas?: string[]; + id?: string; + externalId?: string; + userName?: string; + name?: { givenName?: string; familyName?: string }; + emails?: { value?: string; type?: string; primary?: boolean }[]; + groups?: { value?: string }[]; + active?: boolean; + meta?: { + resourceType?: string; + created?: string; + lastModified?: string; + location?: string; + }; + }; + /** + * SCIM /Users provisioning endpoints + */ + "scim-user": { + /** + * SCIM schema used. + */ + schemas: string[]; + /** + * Unique identifier of an external identity + */ + id: string; + /** + * The ID of the User. + */ + externalId: string | null; + /** + * Configured by the admin. Could be an email, login, or username + */ + userName: string | null; + /** + * The name of the user, suitable for display to end-users + */ + displayName?: string | null; + name: { + givenName: string | null; + familyName: string | null; + formatted?: string | null; + }; + /** + * user emails + */ + emails: { value: string; primary?: boolean }[]; + /** + * The active status of the User. + */ + active: boolean; + meta: { + resourceType?: string; + created?: string; + lastModified?: string; + location?: string; + }; + /** + * The ID of the organization. + */ + organization_id?: number; + /** + * Set of operations to be performed + */ + operations?: { + op: "add" | "remove" | "replace"; + path?: string; + value?: string | { [key: string]: any } | { [key: string]: any }[]; + }[]; + /** + * associated groups + */ + groups?: { value?: string; display?: string }[]; + }; + /** + * SCIM User List + */ + "scim-user-list": { + /** + * SCIM schema used. + */ + schemas: string[]; + totalResults: number; + itemsPerPage: number; + startIndex: number; + Resources: components["schemas"]["scim-user"][]; + }; + "search-result-text-matches": { + object_url?: string; + object_type?: string | null; + property?: string; + fragment?: string; + matches?: { text?: string; indices?: number[] }[]; + }[]; + /** + * Code Search Result Item + */ + "code-search-result-item": { + name: string; + path: string; + sha: string; + url: string; + git_url: string; + html_url: string; + repository: components["schemas"]["minimal-repository"]; + score: number; + file_size?: number; + language?: string | null; + last_modified_at?: string; + line_numbers?: string[]; + text_matches?: components["schemas"]["search-result-text-matches"]; + }; + /** + * Commit Search Result Item + */ + "commit-search-result-item": { + url: string; + sha: string; + html_url: string; + comments_url: string; + commit: { + author: { name: string; email: string; date: string }; + committer: components["schemas"]["git-user"] | null; + comment_count: number; + message: string; + tree: { sha: string; url: string }; + url: string; + verification?: components["schemas"]["verification"]; + }; + author: components["schemas"]["simple-user"] | null; + committer: components["schemas"]["git-user"] | null; + parents: { url?: string; html_url?: string; sha?: string }[]; + repository: components["schemas"]["minimal-repository"]; + score: number; + node_id: string; + text_matches?: components["schemas"]["search-result-text-matches"]; + }; + /** + * Issue Search Result Item + */ + "issue-search-result-item": { + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + id: number; + node_id: string; + number: number; + title: string; + locked: boolean; + active_lock_reason?: string | null; + assignees?: components["schemas"]["simple-user"][] | null; + user: components["schemas"]["simple-user"] | null; + labels: { + id?: number; + node_id?: string; + url?: string; + name?: string; + color?: string; + default?: boolean; + description?: string | null; + }[]; + state: string; + assignee: components["schemas"]["simple-user"] | null; + milestone: components["schemas"]["milestone"] | null; + comments: number; + created_at: string; + updated_at: string; + closed_at: string | null; + text_matches?: components["schemas"]["search-result-text-matches"]; + pull_request?: { + merged_at?: string | null; + diff_url: string | null; + html_url: string | null; + patch_url: string | null; + url: string | null; + }; + body?: string; + score: number; + author_association: string; + draft?: boolean; + repository?: components["schemas"]["repository"]; + body_html?: string; + body_text?: string; + timeline_url?: string; + performed_via_github_app?: components["schemas"]["integration"] | null; + }; + /** + * Label Search Result Item + */ + "label-search-result-item": { + id: number; + node_id: string; + url: string; + name: string; + color: string; + default: boolean; + description: string | null; + score: number; + text_matches?: components["schemas"]["search-result-text-matches"]; + }; + /** + * Repo Search Result Item + */ + "repo-search-result-item": { + id: number; + node_id: string; + name: string; + full_name: string; + owner: components["schemas"]["simple-user"] | null; + private: boolean; + html_url: string; + description: string | null; + fork: boolean; + url: string; + created_at: string; + updated_at: string; + pushed_at: string; + homepage: string | null; + size: number; + stargazers_count: number; + watchers_count: number; + language: string | null; + forks_count: number; + open_issues_count: number; + master_branch?: string; + default_branch: string; + score: number; + forks_url: string; + keys_url: string; + collaborators_url: string; + teams_url: string; + hooks_url: string; + issue_events_url: string; + events_url: string; + assignees_url: string; + branches_url: string; + tags_url: string; + blobs_url: string; + git_tags_url: string; + git_refs_url: string; + trees_url: string; + statuses_url: string; + languages_url: string; + stargazers_url: string; + contributors_url: string; + subscribers_url: string; + subscription_url: string; + commits_url: string; + git_commits_url: string; + comments_url: string; + issue_comment_url: string; + contents_url: string; + compare_url: string; + merges_url: string; + archive_url: string; + downloads_url: string; + issues_url: string; + pulls_url: string; + milestones_url: string; + notifications_url: string; + labels_url: string; + releases_url: string; + deployments_url: string; + git_url: string; + ssh_url: string; + clone_url: string; + svn_url: string; + forks: number; + open_issues: number; + watchers: number; + topics?: string[]; + mirror_url: string | null; + has_issues: boolean; + has_projects: boolean; + has_pages: boolean; + has_wiki: boolean; + has_downloads: boolean; + archived: boolean; + /** + * Returns whether or not this repository disabled. + */ + disabled: boolean; + license: components["schemas"]["license-simple"] | null; + permissions?: { admin: boolean; pull: boolean; push: boolean }; + text_matches?: components["schemas"]["search-result-text-matches"]; + temp_clone_token?: string; + allow_merge_commit?: boolean; + allow_squash_merge?: boolean; + allow_rebase_merge?: boolean; + delete_branch_on_merge?: boolean; + }; + /** + * Topic Search Result Item + */ + "topic-search-result-item": { + name: string; + display_name: string | null; + short_description: string | null; + description: string | null; + created_by: string | null; + released: string | null; + created_at: string; + updated_at: string; + featured: boolean; + curated: boolean; + score: number; + repository_count?: number | null; + logo_url?: string | null; + text_matches?: components["schemas"]["search-result-text-matches"]; + related?: + | { + topic_relation?: { + id?: number; + name?: string; + topic_id?: number; + relation_type?: string; + }; + }[] + | null; + aliases?: + | { + topic_relation?: { + id?: number; + name?: string; + topic_id?: number; + relation_type?: string; + }; + }[] + | null; + }; + /** + * User Search Result Item + */ + "user-search-result-item": { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string | null; + url: string; + html_url: string; + followers_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + received_events_url: string; + type: string; + score: number; + following_url: string; + gists_url: string; + starred_url: string; + events_url: string; + public_repos?: number; + public_gists?: number; + followers?: number; + following?: number; + created_at?: string; + updated_at?: string; + name?: string | null; + bio?: string | null; + email?: string | null; + location?: string | null; + site_admin: boolean; + hireable?: boolean | null; + text_matches?: components["schemas"]["search-result-text-matches"]; + blog?: string | null; + company?: string | null; + suspended_at?: string | null; + }; + /** + * Private User + */ + "private-user": { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string | null; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; + name: string | null; + company: string | null; + blog: string | null; + location: string | null; + email: string | null; + hireable: boolean | null; + bio: string | null; + twitter_username?: string | null; + public_repos: number; + public_gists: number; + followers: number; + following: number; + created_at: string; + updated_at: string; + private_gists: number; + total_private_repos: number; + owned_private_repos: number; + disk_usage: number; + collaborators: number; + two_factor_authentication: boolean; + plan?: { + collaborators: number; + name: string; + space: number; + private_repos: number; + }; + suspended_at?: string | null; + business_plus?: boolean; + ldap_dn?: string; + }; + /** + * Public User + */ + "public-user": { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string | null; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; + name: string | null; + company: string | null; + blog: string | null; + location: string | null; + email: string | null; + hireable: boolean | null; + bio: string | null; + twitter_username?: string | null; + public_repos: number; + public_gists: number; + followers: number; + following: number; + created_at: string; + updated_at: string; + plan?: { + collaborators: number; + name: string; + space: number; + private_repos: number; + }; + suspended_at?: string | null; + private_gists?: number; + total_private_repos?: number; + owned_private_repos?: number; + disk_usage?: number; + collaborators?: number; + }; + /** + * Email + */ + email: + | { + email: string; + primary: boolean; + verified: boolean; + visibility: string | null; + } + | string; + /** + * A unique encryption key + */ + "gpg-key": { + id: number; + primary_key_id: number | null; + key_id: string; + public_key: string; + emails: { email?: string; verified?: boolean }[]; + subkeys: { + id?: number; + primary_key_id?: number; + key_id?: string; + public_key?: string; + emails?: { [key: string]: any }[]; + subkeys?: { [key: string]: any }[]; + can_sign?: boolean; + can_encrypt_comms?: boolean; + can_encrypt_storage?: boolean; + can_certify?: boolean; + created_at?: string; + expires_at?: string | null; + raw_key?: string | null; + }[]; + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_certify: boolean; + created_at: string; + expires_at: string | null; + raw_key: string | null; + }; + /** + * Key + */ + key: { + key_id?: string; + key?: string; + id?: number; + url?: string; + title?: string; + created_at?: string; + verified?: boolean; + read_only?: boolean; + }; + "marketplace-account": { + url: string; + id: number; + type: string; + node_id?: string; + login: string; + email?: string | null; + organization_billing_email?: string | null; + }; + /** + * User Marketplace Purchase + */ + "user-marketplace-purchase": { + billing_cycle: string; + next_billing_date: string | null; + unit_count: number | null; + on_free_trial: boolean; + free_trial_ends_on: string | null; + updated_at: string | null; + account: components["schemas"]["marketplace-account"]; + plan: components["schemas"]["marketplace-listing-plan"]; + }; + /** + * Starred Repository + */ + "starred-repository": { + starred_at: string; + repo: components["schemas"]["repository"]; + }; + /** + * Hovercard + */ + hovercard: { contexts: { message: string; octicon: string }[] }; + /** + * Key Simple + */ + "key-simple": { id: number; key: string }; + }; + responses: { + /** + * Resource Not Found + */ + not_found: { [key: string]: any }; + /** + * Validation Failed + */ + validation_failed_simple: { [key: string]: any }; + /** + * Preview Header Missing + */ + preview_header_missing: { [key: string]: any }; + /** + * Forbidden + */ + forbidden: { [key: string]: any }; + /** + * Requires Authentication + */ + requires_authentication: { [key: string]: any }; + /** + * Validation Failed + */ + validation_failed: { [key: string]: any }; + /** + * Not Modified + */ + not_modified: { [key: string]: any }; + /** + * Gone + */ + gone: { [key: string]: any }; + /** + * Service Unavailable + */ + service_unavailable: { [key: string]: any }; + /** + * Forbidden Gist + */ + forbidden_gist: { [key: string]: any }; + /** + * Moved Permanently + */ + moved_permanently: { [key: string]: any }; + /** + * Conflict + */ + conflict: { [key: string]: any }; + /** + * Internal Error + */ + internal_error: { [key: string]: any }; + /** + * Bad Request + */ + bad_request: { [key: string]: any }; + /** + * Found + */ + found: { [key: string]: any }; + /** + * Resource Not Found + */ + scim_not_found: { [key: string]: any }; + /** + * Forbidden + */ + scim_forbidden: { [key: string]: any }; + /** + * Bad Request + */ + scim_bad_request: { [key: string]: any }; + /** + * Internal Error + */ + scim_internal_error: { [key: string]: any }; + /** + * Conflict + */ + scim_conflict: { [key: string]: any }; + }; +} diff --git a/node_modules/@octokit/openapi-types/package.json b/node_modules/@octokit/openapi-types/package.json new file mode 100644 index 0000000..1e0e51b --- /dev/null +++ b/node_modules/@octokit/openapi-types/package.json @@ -0,0 +1,67 @@ +{ + "_args": [ + [ + "@octokit/openapi-types@2.0.1", + "/Users/1112456/github/jenkins-action" + ] + ], + "_from": "@octokit/openapi-types@2.0.1", + "_id": "@octokit/openapi-types@2.0.1", + "_inBundle": false, + "_integrity": "sha512-9AuC04PUnZrjoLiw3uPtwGh9FE4Q3rTqs51oNlQ0rkwgE8ftYsOC+lsrQyvCvWm85smBbSc0FNRKKumvGyb44Q==", + "_location": "/@octokit/openapi-types", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "@octokit/openapi-types@2.0.1", + "name": "@octokit/openapi-types", + "escapedName": "@octokit%2fopenapi-types", + "scope": "@octokit", + "rawSpec": "2.0.1", + "saveSpec": null, + "fetchSpec": "2.0.1" + }, + "_requiredBy": [ + "/@octokit/types" + ], + "_resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-2.0.1.tgz", + "_spec": "2.0.1", + "_where": "/Users/1112456/github/jenkins-action", + "author": { + "name": "Gregor Martynus", + "url": "https://twitter.com/gr2m" + }, + "bugs": { + "url": "https://github.com/octokit/openapi-types.ts/issues" + }, + "description": "Generated TypeScript definitions based on GitHub's OpenAPI spec", + "devDependencies": { + "openapi-typescript": "^2.4.2" + }, + "homepage": "https://github.com/octokit/openapi-types.ts#readme", + "keywords": [], + "license": "MIT", + "main": "generated/types.ts", + "name": "@octokit/openapi-types", + "octokit": { + "openapi-version": "2.0.0" + }, + "publishConfig": { + "access": "public" + }, + "release": { + "branches": "main" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/octokit/openapi-types.ts.git" + }, + "scripts": { + "download": "node scripts/download", + "generate-types": "npx openapi-typescript cache/openapi-schema.json -o generated/types.ts", + "postgenerate-types": "node scripts/update-package" + }, + "types": "generated/types.ts", + "version": "2.0.1" +} diff --git a/node_modules/@octokit/openapi-types/scripts/download.js b/node_modules/@octokit/openapi-types/scripts/download.js new file mode 100644 index 0000000..edd1d88 --- /dev/null +++ b/node_modules/@octokit/openapi-types/scripts/download.js @@ -0,0 +1,35 @@ +const { get } = require("https"); +const fs = require("fs"); + +if (!process.env.VERSION) { + throw new Error("VERSION is not set"); +} + +download(process.env.VERSION.replace(/^v/, "")).then( + () => console.log("done"), + console.error +); + +function download(version) { + const path = `cache/openapi-schema.json`; + const url = `https://unpkg.com/@octokit/openapi@${version}/generated/api.github.com.json`; + + const file = fs.createWriteStream(path); + + console.log("Downloading %s", url); + + return new Promise((resolve, reject) => { + get(url, (response) => { + response.pipe(file); + file + .on("finish", () => + file.close((error) => { + if (error) return reject(error); + console.log("%s written", path); + resolve(); + }) + ) + .on("error", (error) => reject(error.message)); + }); + }); +} diff --git a/node_modules/@octokit/openapi-types/scripts/update-package.js b/node_modules/@octokit/openapi-types/scripts/update-package.js new file mode 100644 index 0000000..2fe3948 --- /dev/null +++ b/node_modules/@octokit/openapi-types/scripts/update-package.js @@ -0,0 +1,15 @@ +const { writeFileSync } = require("fs"); + +if (!process.env.VERSION) { + throw new Error("VERSION is not set"); +} + +const pkg = require("../package.json"); + +if (!pkg.octokit) { + pkg.octokit = {}; +} + +pkg.octokit["openapi-version"] = process.env.VERSION.replace(/^v/, ""); + +writeFileSync("package.json", JSON.stringify(pkg, null, 2) + "\n"); diff --git a/node_modules/@octokit/plugin-paginate-rest/LICENSE b/node_modules/@octokit/plugin-paginate-rest/LICENSE new file mode 100644 index 0000000..57bee5f --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/LICENSE @@ -0,0 +1,7 @@ +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 (including the next paragraph) 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. diff --git a/node_modules/@octokit/plugin-paginate-rest/README.md b/node_modules/@octokit/plugin-paginate-rest/README.md new file mode 100644 index 0000000..4337667 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/README.md @@ -0,0 +1,135 @@ +# plugin-paginate-rest.js + +> Octokit plugin to paginate REST API endpoint responses + +[![@latest](https://img.shields.io/npm/v/@octokit/plugin-paginate-rest.svg)](https://www.npmjs.com/package/@octokit/plugin-paginate-rest) +[![Build Status](https://github.com/octokit/plugin-paginate-rest.js/workflows/Test/badge.svg)](https://github.com/octokit/plugin-paginate-rest.js/actions?workflow=Test) +[![Greenkeeper](https://badges.greenkeeper.io/octokit/plugin-paginate-rest.js.svg)](https://greenkeeper.io/) + +## Usage + + + + + + +
+Browsers + + +Load `@octokit/plugin-paginate-rest` and [`@octokit/core`](https://github.com/octokit/core.js) (or core-compatible module) directly from [cdn.pika.dev](https://cdn.pika.dev) + +```html + +``` + +
+Node + + +Install with `npm install @octokit/core @octokit/plugin-paginate-rest`. Optionally replace `@octokit/core` with a core-compatible module + +```js +const { Octokit } = require("@octokit/core"); +const { paginateRest } = require("@octokit/plugin-paginate-rest"); +``` + +
+ +```js +const MyOctokit = Octokit.plugin(paginateRest); +const octokit = new MyOctokit({ auth: "secret123" }); + +// See https://developer.github.com/v3/issues/#list-issues-for-a-repository +const issues = await octokit.paginate("GET /repos/:owner/:repo/issues", { + owner: "octocat", + repo: "hello-world", + since: "2010-10-01", + per_page: 100 +}); +``` + +## `octokit.paginate(route, parameters, mapFunction)` or `octokit.paginate(options, mapFunction)` + +The `paginateRest` plugin adds a new `octokit.paginate()` method which accepts the same parameters as [`octokit.request`](https://github.com/octokit/request.js#request). Only "List ..." endpoints such as [List issues for a repository](https://developer.github.com/v3/issues/#list-issues-for-a-repository) are supporting pagination. Their [response includes a Link header](https://developer.github.com/v3/issues/#response-1). For other endpoints, `octokit.paginate()` behaves the same as `octokit.request()`. + +The `per_page` parameter is usually defaulting to `30`, and can be set to up to `100`, which helps retrieving a big amount of data without hitting the rate limits too soon. + +An optional `mapFunction` can be passed to map each page response to a new value, usually an array with only the data you need. This can help to reduce memory usage, as only the relevant data has to be kept in memory until the pagination is complete. + +```js +const issueTitles = await octokit.paginate( + "GET /repos/:owner/:repo/issues", + { + owner: "octocat", + repo: "hello-world", + since: "2010-10-01", + per_page: 100 + }, + response => response.data.map(issue => issue.title) +); +``` + +The `mapFunction` gets a 2nd argument `done` which can be called to end the pagination early. + +```js +const issues = await octokit.paginate( + "GET /repos/:owner/:repo/issues", + { + owner: "octocat", + repo: "hello-world", + since: "2010-10-01", + per_page: 100 + }, + (response, done) => { + if (response.data.find(issues => issue.title.includes("something"))) { + done(); + } + return response.data; + } +); +``` + +## `octokit.paginate.iterator(route, parameters)` or `octokit.paginate.iterator(options)` + +If your target runtime environments supports async iterators (such as most modern browsers and Node 10+), you can iterate through each response + +```js +const parameters = { + owner: "octocat", + repo: "hello-world", + since: "2010-10-01", + per_page: 100 + } +for await (const response of octokit.paginate.iterator("GET /repos/:owner/:repo/issues", parameters)) { + // do whatever you want with each response, break out of the loop, etc. + console.log(response.data.title) +} +``` + +## How it works + +`octokit.paginate()` wraps `octokit.request()`. As long as a `rel="next"` link value is present in the response's `Link` header, it sends another request for that URL, and so on. + +Most of GitHub's paginating REST API endpoints return an array, but there are a few exceptions which return an object with a key that includes the items array. + +- [Search repositories](https://developer.github.com/v3/search/#example) (key `items`) +- [List check runs for a specific ref](https://developer.github.com/v3/checks/runs/#response-3) (key: `check_runs`) +- [List check suites for a specific ref](https://developer.github.com/v3/checks/suites/#response-1) (key: `check_suites`) +- [List repositories](https://developer.github.com/v3/apps/installations/#list-repositories) for an installation (key: `repositories`) +- [List installations for a user](https://developer.github.com/v3/apps/installations/#response-1) (key `installations`) + +`octokit.paginate()` is working around these inconsistencies so you don't have to worry about it. + +If a response is lacking the `Link` header, `octokit.paginate()` still resolves with an array, even if the response returns a single object. + +## Contributing + +See [CONTRIBUTING.md](CONTRIBUTING.md) + +## License + +[MIT](LICENSE) diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js b/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js new file mode 100644 index 0000000..1935931 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js @@ -0,0 +1,142 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +const VERSION = "1.1.2"; + +/** + * Some “list” response that can be paginated have a different response structure + * + * They have a `total_count` key in the response (search also has `incomplete_results`, + * /installation/repositories also has `repository_selection`), as well as a key with + * the list of the items which name varies from endpoint to endpoint: + * + * - https://developer.github.com/v3/search/#example (key `items`) + * - https://developer.github.com/v3/checks/runs/#response-3 (key: `check_runs`) + * - https://developer.github.com/v3/checks/suites/#response-1 (key: `check_suites`) + * - https://developer.github.com/v3/apps/installations/#list-repositories (key: `repositories`) + * - https://developer.github.com/v3/apps/installations/#list-installations-for-a-user (key `installations`) + * + * Octokit normalizes these responses so that paginated results are always returned following + * the same structure. One challenge is that if the list response has only one page, no Link + * header is provided, so this header alone is not sufficient to check wether a response is + * paginated or not. For the exceptions with the namespace, a fallback check for the route + * paths has to be added in order to normalize the response. We cannot check for the total_count + * property because it also exists in the response of Get the combined status for a specific ref. + */ +const REGEX = [/^\/search\//, /^\/repos\/[^/]+\/[^/]+\/commits\/[^/]+\/(check-runs|check-suites)([^/]|$)/, /^\/installation\/repositories([^/]|$)/, /^\/user\/installations([^/]|$)/, /^\/repos\/[^/]+\/[^/]+\/actions\/secrets([^/]|$)/, /^\/repos\/[^/]+\/[^/]+\/actions\/workflows(\/[^/]+\/runs)?([^/]|$)/, /^\/repos\/[^/]+\/[^/]+\/actions\/runs(\/[^/]+\/(artifacts|jobs))?([^/]|$)/]; +function normalizePaginatedListResponse(octokit, url, response) { + const path = url.replace(octokit.request.endpoint.DEFAULTS.baseUrl, ""); + const responseNeedsNormalization = REGEX.find(regex => regex.test(path)); + if (!responseNeedsNormalization) return; // keep the additional properties intact as there is currently no other way + // to retrieve the same information. + + const incompleteResults = response.data.incomplete_results; + const repositorySelection = response.data.repository_selection; + const totalCount = response.data.total_count; + delete response.data.incomplete_results; + delete response.data.repository_selection; + delete response.data.total_count; + const namespaceKey = Object.keys(response.data)[0]; + const data = response.data[namespaceKey]; + response.data = data; + + if (typeof incompleteResults !== "undefined") { + response.data.incomplete_results = incompleteResults; + } + + if (typeof repositorySelection !== "undefined") { + response.data.repository_selection = repositorySelection; + } + + response.data.total_count = totalCount; + Object.defineProperty(response.data, namespaceKey, { + get() { + octokit.log.warn(`[@octokit/paginate-rest] "response.data.${namespaceKey}" is deprecated for "GET ${path}". Get the results directly from "response.data"`); + return Array.from(data); + } + + }); +} + +function iterator(octokit, route, parameters) { + const options = octokit.request.endpoint(route, parameters); + const method = options.method; + const headers = options.headers; + let url = options.url; + return { + [Symbol.asyncIterator]: () => ({ + next() { + if (!url) { + return Promise.resolve({ + done: true + }); + } + + return octokit.request({ + method, + url, + headers + }).then(response => { + normalizePaginatedListResponse(octokit, url, response); // `response.headers.link` format: + // '; rel="next", ; rel="last"' + // sets `url` to undefined if "next" URL is not present or `link` header is not set + + url = ((response.headers.link || "").match(/<([^>]+)>;\s*rel="next"/) || [])[1]; + return { + value: response + }; + }); + } + + }) + }; +} + +function paginate(octokit, route, parameters, mapFn) { + if (typeof parameters === "function") { + mapFn = parameters; + parameters = undefined; + } + + return gather(octokit, [], iterator(octokit, route, parameters)[Symbol.asyncIterator](), mapFn); +} + +function gather(octokit, results, iterator, mapFn) { + return iterator.next().then(result => { + if (result.done) { + return results; + } + + let earlyExit = false; + + function done() { + earlyExit = true; + } + + results = results.concat(mapFn ? mapFn(result.value, done) : result.value.data); + + if (earlyExit) { + return results; + } + + return gather(octokit, results, iterator, mapFn); + }); +} + +/** + * @param octokit Octokit instance + * @param options Options passed to Octokit constructor + */ + +function paginateRest(octokit) { + return { + paginate: Object.assign(paginate.bind(null, octokit), { + iterator: iterator.bind(null, octokit) + }) + }; +} +paginateRest.VERSION = VERSION; + +exports.paginateRest = paginateRest; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js.map b/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js.map new file mode 100644 index 0000000..7955fa7 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/normalize-paginated-list-response.js","../dist-src/iterator.js","../dist-src/paginate.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"1.1.2\";\n","/**\n * Some “list” response that can be paginated have a different response structure\n *\n * They have a `total_count` key in the response (search also has `incomplete_results`,\n * /installation/repositories also has `repository_selection`), as well as a key with\n * the list of the items which name varies from endpoint to endpoint:\n *\n * - https://developer.github.com/v3/search/#example (key `items`)\n * - https://developer.github.com/v3/checks/runs/#response-3 (key: `check_runs`)\n * - https://developer.github.com/v3/checks/suites/#response-1 (key: `check_suites`)\n * - https://developer.github.com/v3/apps/installations/#list-repositories (key: `repositories`)\n * - https://developer.github.com/v3/apps/installations/#list-installations-for-a-user (key `installations`)\n *\n * Octokit normalizes these responses so that paginated results are always returned following\n * the same structure. One challenge is that if the list response has only one page, no Link\n * header is provided, so this header alone is not sufficient to check wether a response is\n * paginated or not. For the exceptions with the namespace, a fallback check for the route\n * paths has to be added in order to normalize the response. We cannot check for the total_count\n * property because it also exists in the response of Get the combined status for a specific ref.\n */\nconst REGEX = [\n /^\\/search\\//,\n /^\\/repos\\/[^/]+\\/[^/]+\\/commits\\/[^/]+\\/(check-runs|check-suites)([^/]|$)/,\n /^\\/installation\\/repositories([^/]|$)/,\n /^\\/user\\/installations([^/]|$)/,\n /^\\/repos\\/[^/]+\\/[^/]+\\/actions\\/secrets([^/]|$)/,\n /^\\/repos\\/[^/]+\\/[^/]+\\/actions\\/workflows(\\/[^/]+\\/runs)?([^/]|$)/,\n /^\\/repos\\/[^/]+\\/[^/]+\\/actions\\/runs(\\/[^/]+\\/(artifacts|jobs))?([^/]|$)/\n];\nexport function normalizePaginatedListResponse(octokit, url, response) {\n const path = url.replace(octokit.request.endpoint.DEFAULTS.baseUrl, \"\");\n const responseNeedsNormalization = REGEX.find(regex => regex.test(path));\n if (!responseNeedsNormalization)\n return;\n // keep the additional properties intact as there is currently no other way\n // to retrieve the same information.\n const incompleteResults = response.data.incomplete_results;\n const repositorySelection = response.data.repository_selection;\n const totalCount = response.data.total_count;\n delete response.data.incomplete_results;\n delete response.data.repository_selection;\n delete response.data.total_count;\n const namespaceKey = Object.keys(response.data)[0];\n const data = response.data[namespaceKey];\n response.data = data;\n if (typeof incompleteResults !== \"undefined\") {\n response.data.incomplete_results = incompleteResults;\n }\n if (typeof repositorySelection !== \"undefined\") {\n response.data.repository_selection = repositorySelection;\n }\n response.data.total_count = totalCount;\n Object.defineProperty(response.data, namespaceKey, {\n get() {\n octokit.log.warn(`[@octokit/paginate-rest] \"response.data.${namespaceKey}\" is deprecated for \"GET ${path}\". Get the results directly from \"response.data\"`);\n return Array.from(data);\n }\n });\n}\n","import { normalizePaginatedListResponse } from \"./normalize-paginated-list-response\";\nexport function iterator(octokit, route, parameters) {\n const options = octokit.request.endpoint(route, parameters);\n const method = options.method;\n const headers = options.headers;\n let url = options.url;\n return {\n [Symbol.asyncIterator]: () => ({\n next() {\n if (!url) {\n return Promise.resolve({ done: true });\n }\n return octokit\n .request({ method, url, headers })\n .then((response) => {\n normalizePaginatedListResponse(octokit, url, response);\n // `response.headers.link` format:\n // '; rel=\"next\", ; rel=\"last\"'\n // sets `url` to undefined if \"next\" URL is not present or `link` header is not set\n url = ((response.headers.link || \"\").match(/<([^>]+)>;\\s*rel=\"next\"/) || [])[1];\n return { value: response };\n });\n }\n })\n };\n}\n","import { iterator } from \"./iterator\";\nexport function paginate(octokit, route, parameters, mapFn) {\n if (typeof parameters === \"function\") {\n mapFn = parameters;\n parameters = undefined;\n }\n return gather(octokit, [], iterator(octokit, route, parameters)[Symbol.asyncIterator](), mapFn);\n}\nfunction gather(octokit, results, iterator, mapFn) {\n return iterator.next().then(result => {\n if (result.done) {\n return results;\n }\n let earlyExit = false;\n function done() {\n earlyExit = true;\n }\n results = results.concat(mapFn ? mapFn(result.value, done) : result.value.data);\n if (earlyExit) {\n return results;\n }\n return gather(octokit, results, iterator, mapFn);\n });\n}\n","import { VERSION } from \"./version\";\nimport { paginate } from \"./paginate\";\nimport { iterator } from \"./iterator\";\n/**\n * @param octokit Octokit instance\n * @param options Options passed to Octokit constructor\n */\nexport function paginateRest(octokit) {\n return {\n paginate: Object.assign(paginate.bind(null, octokit), {\n iterator: iterator.bind(null, octokit)\n })\n };\n}\npaginateRest.VERSION = VERSION;\n"],"names":["VERSION","REGEX","normalizePaginatedListResponse","octokit","url","response","path","replace","request","endpoint","DEFAULTS","baseUrl","responseNeedsNormalization","find","regex","test","incompleteResults","data","incomplete_results","repositorySelection","repository_selection","totalCount","total_count","namespaceKey","Object","keys","defineProperty","get","log","warn","Array","from","iterator","route","parameters","options","method","headers","Symbol","asyncIterator","next","Promise","resolve","done","then","link","match","value","paginate","mapFn","undefined","gather","results","result","earlyExit","concat","paginateRest","assign","bind"],"mappings":";;;;AAAO,MAAMA,OAAO,GAAG,mBAAhB;;ACAP;;;;;;;;;;;;;;;;;;;;AAoBA,MAAMC,KAAK,GAAG,CACV,aADU,EAEV,2EAFU,EAGV,uCAHU,EAIV,gCAJU,EAKV,kDALU,EAMV,oEANU,EAOV,2EAPU,CAAd;AASA,AAAO,SAASC,8BAAT,CAAwCC,OAAxC,EAAiDC,GAAjD,EAAsDC,QAAtD,EAAgE;QAC7DC,IAAI,GAAGF,GAAG,CAACG,OAAJ,CAAYJ,OAAO,CAACK,OAAR,CAAgBC,QAAhB,CAAyBC,QAAzB,CAAkCC,OAA9C,EAAuD,EAAvD,CAAb;QACMC,0BAA0B,GAAGX,KAAK,CAACY,IAAN,CAAWC,KAAK,IAAIA,KAAK,CAACC,IAAN,CAAWT,IAAX,CAApB,CAAnC;MACI,CAACM,0BAAL,EACI,OAJ+D;;;QAO7DI,iBAAiB,GAAGX,QAAQ,CAACY,IAAT,CAAcC,kBAAxC;QACMC,mBAAmB,GAAGd,QAAQ,CAACY,IAAT,CAAcG,oBAA1C;QACMC,UAAU,GAAGhB,QAAQ,CAACY,IAAT,CAAcK,WAAjC;SACOjB,QAAQ,CAACY,IAAT,CAAcC,kBAArB;SACOb,QAAQ,CAACY,IAAT,CAAcG,oBAArB;SACOf,QAAQ,CAACY,IAAT,CAAcK,WAArB;QACMC,YAAY,GAAGC,MAAM,CAACC,IAAP,CAAYpB,QAAQ,CAACY,IAArB,EAA2B,CAA3B,CAArB;QACMA,IAAI,GAAGZ,QAAQ,CAACY,IAAT,CAAcM,YAAd,CAAb;EACAlB,QAAQ,CAACY,IAAT,GAAgBA,IAAhB;;MACI,OAAOD,iBAAP,KAA6B,WAAjC,EAA8C;IAC1CX,QAAQ,CAACY,IAAT,CAAcC,kBAAd,GAAmCF,iBAAnC;;;MAEA,OAAOG,mBAAP,KAA+B,WAAnC,EAAgD;IAC5Cd,QAAQ,CAACY,IAAT,CAAcG,oBAAd,GAAqCD,mBAArC;;;EAEJd,QAAQ,CAACY,IAAT,CAAcK,WAAd,GAA4BD,UAA5B;EACAG,MAAM,CAACE,cAAP,CAAsBrB,QAAQ,CAACY,IAA/B,EAAqCM,YAArC,EAAmD;IAC/CI,GAAG,GAAG;MACFxB,OAAO,CAACyB,GAAR,CAAYC,IAAZ,CAAkB,2CAA0CN,YAAa,4BAA2BjB,IAAK,kDAAzG;aACOwB,KAAK,CAACC,IAAN,CAAWd,IAAX,CAAP;;;GAHR;;;ACnDG,SAASe,QAAT,CAAkB7B,OAAlB,EAA2B8B,KAA3B,EAAkCC,UAAlC,EAA8C;QAC3CC,OAAO,GAAGhC,OAAO,CAACK,OAAR,CAAgBC,QAAhB,CAAyBwB,KAAzB,EAAgCC,UAAhC,CAAhB;QACME,MAAM,GAAGD,OAAO,CAACC,MAAvB;QACMC,OAAO,GAAGF,OAAO,CAACE,OAAxB;MACIjC,GAAG,GAAG+B,OAAO,CAAC/B,GAAlB;SACO;KACFkC,MAAM,CAACC,aAAR,GAAwB,OAAO;MAC3BC,IAAI,GAAG;YACC,CAACpC,GAAL,EAAU;iBACCqC,OAAO,CAACC,OAAR,CAAgB;YAAEC,IAAI,EAAE;WAAxB,CAAP;;;eAEGxC,OAAO,CACTK,OADE,CACM;UAAE4B,MAAF;UAAUhC,GAAV;UAAeiC;SADrB,EAEFO,IAFE,CAEIvC,QAAD,IAAc;UACpBH,8BAA8B,CAACC,OAAD,EAAUC,GAAV,EAAeC,QAAf,CAA9B,CADoB;;;;UAKpBD,GAAG,GAAG,CAAC,CAACC,QAAQ,CAACgC,OAAT,CAAiBQ,IAAjB,IAAyB,EAA1B,EAA8BC,KAA9B,CAAoC,yBAApC,KAAkE,EAAnE,EAAuE,CAAvE,CAAN;iBACO;YAAEC,KAAK,EAAE1C;WAAhB;SARG,CAAP;;;KALgB;GAD5B;;;ACLG,SAAS2C,QAAT,CAAkB7C,OAAlB,EAA2B8B,KAA3B,EAAkCC,UAAlC,EAA8Ce,KAA9C,EAAqD;MACpD,OAAOf,UAAP,KAAsB,UAA1B,EAAsC;IAClCe,KAAK,GAAGf,UAAR;IACAA,UAAU,GAAGgB,SAAb;;;SAEGC,MAAM,CAAChD,OAAD,EAAU,EAAV,EAAc6B,QAAQ,CAAC7B,OAAD,EAAU8B,KAAV,EAAiBC,UAAjB,CAAR,CAAqCI,MAAM,CAACC,aAA5C,GAAd,EAA4EU,KAA5E,CAAb;;;AAEJ,SAASE,MAAT,CAAgBhD,OAAhB,EAAyBiD,OAAzB,EAAkCpB,QAAlC,EAA4CiB,KAA5C,EAAmD;SACxCjB,QAAQ,CAACQ,IAAT,GAAgBI,IAAhB,CAAqBS,MAAM,IAAI;QAC9BA,MAAM,CAACV,IAAX,EAAiB;aACNS,OAAP;;;QAEAE,SAAS,GAAG,KAAhB;;aACSX,IAAT,GAAgB;MACZW,SAAS,GAAG,IAAZ;;;IAEJF,OAAO,GAAGA,OAAO,CAACG,MAAR,CAAeN,KAAK,GAAGA,KAAK,CAACI,MAAM,CAACN,KAAR,EAAeJ,IAAf,CAAR,GAA+BU,MAAM,CAACN,KAAP,CAAa9B,IAAhE,CAAV;;QACIqC,SAAJ,EAAe;aACJF,OAAP;;;WAEGD,MAAM,CAAChD,OAAD,EAAUiD,OAAV,EAAmBpB,QAAnB,EAA6BiB,KAA7B,CAAb;GAZG,CAAP;;;ACNJ;;;;;AAIA,AAAO,SAASO,YAAT,CAAsBrD,OAAtB,EAA+B;SAC3B;IACH6C,QAAQ,EAAExB,MAAM,CAACiC,MAAP,CAAcT,QAAQ,CAACU,IAAT,CAAc,IAAd,EAAoBvD,OAApB,CAAd,EAA4C;MAClD6B,QAAQ,EAAEA,QAAQ,CAAC0B,IAAT,CAAc,IAAd,EAAoBvD,OAApB;KADJ;GADd;;AAMJqD,YAAY,CAACxD,OAAb,GAAuBA,OAAvB;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-src/index.js b/node_modules/@octokit/plugin-paginate-rest/dist-src/index.js new file mode 100644 index 0000000..aa5fe65 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/dist-src/index.js @@ -0,0 +1,15 @@ +import { VERSION } from "./version"; +import { paginate } from "./paginate"; +import { iterator } from "./iterator"; +/** + * @param octokit Octokit instance + * @param options Options passed to Octokit constructor + */ +export function paginateRest(octokit) { + return { + paginate: Object.assign(paginate.bind(null, octokit), { + iterator: iterator.bind(null, octokit) + }) + }; +} +paginateRest.VERSION = VERSION; diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-src/iterator.js b/node_modules/@octokit/plugin-paginate-rest/dist-src/iterator.js new file mode 100644 index 0000000..0f97338 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/dist-src/iterator.js @@ -0,0 +1,26 @@ +import { normalizePaginatedListResponse } from "./normalize-paginated-list-response"; +export function iterator(octokit, route, parameters) { + const options = octokit.request.endpoint(route, parameters); + const method = options.method; + const headers = options.headers; + let url = options.url; + return { + [Symbol.asyncIterator]: () => ({ + next() { + if (!url) { + return Promise.resolve({ done: true }); + } + return octokit + .request({ method, url, headers }) + .then((response) => { + normalizePaginatedListResponse(octokit, url, response); + // `response.headers.link` format: + // '; rel="next", ; rel="last"' + // sets `url` to undefined if "next" URL is not present or `link` header is not set + url = ((response.headers.link || "").match(/<([^>]+)>;\s*rel="next"/) || [])[1]; + return { value: response }; + }); + } + }) + }; +} diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-src/normalize-paginated-list-response.js b/node_modules/@octokit/plugin-paginate-rest/dist-src/normalize-paginated-list-response.js new file mode 100644 index 0000000..75fbf1c --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/dist-src/normalize-paginated-list-response.js @@ -0,0 +1,59 @@ +/** + * Some “list” response that can be paginated have a different response structure + * + * They have a `total_count` key in the response (search also has `incomplete_results`, + * /installation/repositories also has `repository_selection`), as well as a key with + * the list of the items which name varies from endpoint to endpoint: + * + * - https://developer.github.com/v3/search/#example (key `items`) + * - https://developer.github.com/v3/checks/runs/#response-3 (key: `check_runs`) + * - https://developer.github.com/v3/checks/suites/#response-1 (key: `check_suites`) + * - https://developer.github.com/v3/apps/installations/#list-repositories (key: `repositories`) + * - https://developer.github.com/v3/apps/installations/#list-installations-for-a-user (key `installations`) + * + * Octokit normalizes these responses so that paginated results are always returned following + * the same structure. One challenge is that if the list response has only one page, no Link + * header is provided, so this header alone is not sufficient to check wether a response is + * paginated or not. For the exceptions with the namespace, a fallback check for the route + * paths has to be added in order to normalize the response. We cannot check for the total_count + * property because it also exists in the response of Get the combined status for a specific ref. + */ +const REGEX = [ + /^\/search\//, + /^\/repos\/[^/]+\/[^/]+\/commits\/[^/]+\/(check-runs|check-suites)([^/]|$)/, + /^\/installation\/repositories([^/]|$)/, + /^\/user\/installations([^/]|$)/, + /^\/repos\/[^/]+\/[^/]+\/actions\/secrets([^/]|$)/, + /^\/repos\/[^/]+\/[^/]+\/actions\/workflows(\/[^/]+\/runs)?([^/]|$)/, + /^\/repos\/[^/]+\/[^/]+\/actions\/runs(\/[^/]+\/(artifacts|jobs))?([^/]|$)/ +]; +export function normalizePaginatedListResponse(octokit, url, response) { + const path = url.replace(octokit.request.endpoint.DEFAULTS.baseUrl, ""); + const responseNeedsNormalization = REGEX.find(regex => regex.test(path)); + if (!responseNeedsNormalization) + return; + // keep the additional properties intact as there is currently no other way + // to retrieve the same information. + const incompleteResults = response.data.incomplete_results; + const repositorySelection = response.data.repository_selection; + const totalCount = response.data.total_count; + delete response.data.incomplete_results; + delete response.data.repository_selection; + delete response.data.total_count; + const namespaceKey = Object.keys(response.data)[0]; + const data = response.data[namespaceKey]; + response.data = data; + if (typeof incompleteResults !== "undefined") { + response.data.incomplete_results = incompleteResults; + } + if (typeof repositorySelection !== "undefined") { + response.data.repository_selection = repositorySelection; + } + response.data.total_count = totalCount; + Object.defineProperty(response.data, namespaceKey, { + get() { + octokit.log.warn(`[@octokit/paginate-rest] "response.data.${namespaceKey}" is deprecated for "GET ${path}". Get the results directly from "response.data"`); + return Array.from(data); + } + }); +} diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-src/paginate.js b/node_modules/@octokit/plugin-paginate-rest/dist-src/paginate.js new file mode 100644 index 0000000..0633805 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/dist-src/paginate.js @@ -0,0 +1,24 @@ +import { iterator } from "./iterator"; +export function paginate(octokit, route, parameters, mapFn) { + if (typeof parameters === "function") { + mapFn = parameters; + parameters = undefined; + } + return gather(octokit, [], iterator(octokit, route, parameters)[Symbol.asyncIterator](), mapFn); +} +function gather(octokit, results, iterator, mapFn) { + return iterator.next().then(result => { + if (result.done) { + return results; + } + let earlyExit = false; + function done() { + earlyExit = true; + } + results = results.concat(mapFn ? mapFn(result.value, done) : result.value.data); + if (earlyExit) { + return results; + } + return gather(octokit, results, iterator, mapFn); + }); +} diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-src/types.js b/node_modules/@octokit/plugin-paginate-rest/dist-src/types.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-src/version.js b/node_modules/@octokit/plugin-paginate-rest/dist-src/version.js new file mode 100644 index 0000000..33f364d --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/dist-src/version.js @@ -0,0 +1 @@ +export const VERSION = "1.1.2"; diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-types/index.d.ts b/node_modules/@octokit/plugin-paginate-rest/dist-types/index.d.ts new file mode 100644 index 0000000..64f9c46 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/dist-types/index.d.ts @@ -0,0 +1,13 @@ +import { PaginateInterface } from "./types"; +export { PaginateInterface } from "./types"; +import { Octokit } from "@octokit/core"; +/** + * @param octokit Octokit instance + * @param options Options passed to Octokit constructor + */ +export declare function paginateRest(octokit: Octokit): { + paginate: PaginateInterface; +}; +export declare namespace paginateRest { + var VERSION: string; +} diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-types/iterator.d.ts b/node_modules/@octokit/plugin-paginate-rest/dist-types/iterator.d.ts new file mode 100644 index 0000000..eadc968 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/dist-types/iterator.d.ts @@ -0,0 +1,11 @@ +import { Octokit } from "@octokit/core"; +import { OctokitResponse, RequestParameters, Route } from "./types"; +export declare function iterator(octokit: Octokit, route: Route, parameters?: RequestParameters): { + [Symbol.asyncIterator]: () => { + next(): Promise<{ + done: boolean; + }> | Promise<{ + value: OctokitResponse; + }>; + }; +}; diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-types/normalize-paginated-list-response.d.ts b/node_modules/@octokit/plugin-paginate-rest/dist-types/normalize-paginated-list-response.d.ts new file mode 100644 index 0000000..cbae65e --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/dist-types/normalize-paginated-list-response.d.ts @@ -0,0 +1,23 @@ +/** + * Some “list” response that can be paginated have a different response structure + * + * They have a `total_count` key in the response (search also has `incomplete_results`, + * /installation/repositories also has `repository_selection`), as well as a key with + * the list of the items which name varies from endpoint to endpoint: + * + * - https://developer.github.com/v3/search/#example (key `items`) + * - https://developer.github.com/v3/checks/runs/#response-3 (key: `check_runs`) + * - https://developer.github.com/v3/checks/suites/#response-1 (key: `check_suites`) + * - https://developer.github.com/v3/apps/installations/#list-repositories (key: `repositories`) + * - https://developer.github.com/v3/apps/installations/#list-installations-for-a-user (key `installations`) + * + * Octokit normalizes these responses so that paginated results are always returned following + * the same structure. One challenge is that if the list response has only one page, no Link + * header is provided, so this header alone is not sufficient to check wether a response is + * paginated or not. For the exceptions with the namespace, a fallback check for the route + * paths has to be added in order to normalize the response. We cannot check for the total_count + * property because it also exists in the response of Get the combined status for a specific ref. + */ +import { Octokit } from "@octokit/core"; +import { OctokitResponse } from "./types"; +export declare function normalizePaginatedListResponse(octokit: Octokit, url: string, response: OctokitResponse): void; diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-types/paginate.d.ts b/node_modules/@octokit/plugin-paginate-rest/dist-types/paginate.d.ts new file mode 100644 index 0000000..2c7e8b2 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/dist-types/paginate.d.ts @@ -0,0 +1,3 @@ +import { Octokit } from "@octokit/core"; +import { MapFunction, PaginationResults, RequestParameters, Route } from "./types"; +export declare function paginate(octokit: Octokit, route: Route, parameters?: RequestParameters, mapFn?: MapFunction): Promise>; diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-types/types.d.ts b/node_modules/@octokit/plugin-paginate-rest/dist-types/types.d.ts new file mode 100644 index 0000000..cfd8ace --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/dist-types/types.d.ts @@ -0,0 +1,69 @@ +import * as OctokitTypes from "@octokit/types"; +export { EndpointOptions } from "@octokit/types"; +export { OctokitResponse } from "@octokit/types"; +export { RequestParameters } from "@octokit/types"; +export { Route } from "@octokit/types"; +export interface PaginateInterface { + /** + * Sends a request based on endpoint 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`. + * @param {function} mapFn Optional method to map each response to a custom array + */ + (options: OctokitTypes.EndpointOptions, mapFn: MapFunction): Promise>; + /** + * Sends a request based on endpoint 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: OctokitTypes.EndpointOptions): Promise>; + /** + * Sends a request based on endpoint options + * + * @param {string} route Request method + URL. Example: `'GET /orgs/:org'` + * @param {function} mapFn Optional method to map each response to a custom array + */ + (route: OctokitTypes.Route, mapFn: MapFunction): Promise>; + /** + * Sends a request based on endpoint 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`. + * @param {function} mapFn Optional method to map each response to a custom array + */ + (route: OctokitTypes.Route, parameters: OctokitTypes.RequestParameters, mapFn: MapFunction): Promise>; + /** + * Sends a request based on endpoint 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: OctokitTypes.Route, parameters: OctokitTypes.RequestParameters): Promise>; + /** + * Sends a request based on endpoint options + * + * @param {string} route Request method + URL. Example: `'GET /orgs/:org'` + */ + (route: OctokitTypes.Route): Promise>; + iterator: { + /** + * Get an asynchronous iterator for use with `for await()`, + * + * @see {link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of} for await...of + * @param {object} endpoint Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (EndpointOptions: OctokitTypes.EndpointOptions): AsyncIterableIterator>>; + /** + * Get an asynchronous iterator for use with `for await()`, + * + * @see {link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of} for await...of + * @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: OctokitTypes.Route, parameters?: OctokitTypes.RequestParameters): AsyncIterableIterator>>; + }; +} +export interface MapFunction { + (response: OctokitTypes.OctokitResponse>, done: () => void): R[]; +} +export declare type PaginationResults = T[]; diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-types/version.d.ts b/node_modules/@octokit/plugin-paginate-rest/dist-types/version.d.ts new file mode 100644 index 0000000..3b6537a --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/dist-types/version.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "1.1.2"; diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-web/index.js b/node_modules/@octokit/plugin-paginate-rest/dist-web/index.js new file mode 100644 index 0000000..aee57f1 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/dist-web/index.js @@ -0,0 +1,127 @@ +const VERSION = "1.1.2"; + +/** + * Some “list” response that can be paginated have a different response structure + * + * They have a `total_count` key in the response (search also has `incomplete_results`, + * /installation/repositories also has `repository_selection`), as well as a key with + * the list of the items which name varies from endpoint to endpoint: + * + * - https://developer.github.com/v3/search/#example (key `items`) + * - https://developer.github.com/v3/checks/runs/#response-3 (key: `check_runs`) + * - https://developer.github.com/v3/checks/suites/#response-1 (key: `check_suites`) + * - https://developer.github.com/v3/apps/installations/#list-repositories (key: `repositories`) + * - https://developer.github.com/v3/apps/installations/#list-installations-for-a-user (key `installations`) + * + * Octokit normalizes these responses so that paginated results are always returned following + * the same structure. One challenge is that if the list response has only one page, no Link + * header is provided, so this header alone is not sufficient to check wether a response is + * paginated or not. For the exceptions with the namespace, a fallback check for the route + * paths has to be added in order to normalize the response. We cannot check for the total_count + * property because it also exists in the response of Get the combined status for a specific ref. + */ +const REGEX = [ + /^\/search\//, + /^\/repos\/[^/]+\/[^/]+\/commits\/[^/]+\/(check-runs|check-suites)([^/]|$)/, + /^\/installation\/repositories([^/]|$)/, + /^\/user\/installations([^/]|$)/, + /^\/repos\/[^/]+\/[^/]+\/actions\/secrets([^/]|$)/, + /^\/repos\/[^/]+\/[^/]+\/actions\/workflows(\/[^/]+\/runs)?([^/]|$)/, + /^\/repos\/[^/]+\/[^/]+\/actions\/runs(\/[^/]+\/(artifacts|jobs))?([^/]|$)/ +]; +function normalizePaginatedListResponse(octokit, url, response) { + const path = url.replace(octokit.request.endpoint.DEFAULTS.baseUrl, ""); + const responseNeedsNormalization = REGEX.find(regex => regex.test(path)); + if (!responseNeedsNormalization) + return; + // keep the additional properties intact as there is currently no other way + // to retrieve the same information. + const incompleteResults = response.data.incomplete_results; + const repositorySelection = response.data.repository_selection; + const totalCount = response.data.total_count; + delete response.data.incomplete_results; + delete response.data.repository_selection; + delete response.data.total_count; + const namespaceKey = Object.keys(response.data)[0]; + const data = response.data[namespaceKey]; + response.data = data; + if (typeof incompleteResults !== "undefined") { + response.data.incomplete_results = incompleteResults; + } + if (typeof repositorySelection !== "undefined") { + response.data.repository_selection = repositorySelection; + } + response.data.total_count = totalCount; + Object.defineProperty(response.data, namespaceKey, { + get() { + octokit.log.warn(`[@octokit/paginate-rest] "response.data.${namespaceKey}" is deprecated for "GET ${path}". Get the results directly from "response.data"`); + return Array.from(data); + } + }); +} + +function iterator(octokit, route, parameters) { + const options = octokit.request.endpoint(route, parameters); + const method = options.method; + const headers = options.headers; + let url = options.url; + return { + [Symbol.asyncIterator]: () => ({ + next() { + if (!url) { + return Promise.resolve({ done: true }); + } + return octokit + .request({ method, url, headers }) + .then((response) => { + normalizePaginatedListResponse(octokit, url, response); + // `response.headers.link` format: + // '; rel="next", ; rel="last"' + // sets `url` to undefined if "next" URL is not present or `link` header is not set + url = ((response.headers.link || "").match(/<([^>]+)>;\s*rel="next"/) || [])[1]; + return { value: response }; + }); + } + }) + }; +} + +function paginate(octokit, route, parameters, mapFn) { + if (typeof parameters === "function") { + mapFn = parameters; + parameters = undefined; + } + return gather(octokit, [], iterator(octokit, route, parameters)[Symbol.asyncIterator](), mapFn); +} +function gather(octokit, results, iterator, mapFn) { + return iterator.next().then(result => { + if (result.done) { + return results; + } + let earlyExit = false; + function done() { + earlyExit = true; + } + results = results.concat(mapFn ? mapFn(result.value, done) : result.value.data); + if (earlyExit) { + return results; + } + return gather(octokit, results, iterator, mapFn); + }); +} + +/** + * @param octokit Octokit instance + * @param options Options passed to Octokit constructor + */ +function paginateRest(octokit) { + return { + paginate: Object.assign(paginate.bind(null, octokit), { + iterator: iterator.bind(null, octokit) + }) + }; +} +paginateRest.VERSION = VERSION; + +export { paginateRest }; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-web/index.js.map b/node_modules/@octokit/plugin-paginate-rest/dist-web/index.js.map new file mode 100644 index 0000000..a700b03 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/dist-web/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/normalize-paginated-list-response.js","../dist-src/iterator.js","../dist-src/paginate.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"1.1.2\";\n","/**\n * Some “list” response that can be paginated have a different response structure\n *\n * They have a `total_count` key in the response (search also has `incomplete_results`,\n * /installation/repositories also has `repository_selection`), as well as a key with\n * the list of the items which name varies from endpoint to endpoint:\n *\n * - https://developer.github.com/v3/search/#example (key `items`)\n * - https://developer.github.com/v3/checks/runs/#response-3 (key: `check_runs`)\n * - https://developer.github.com/v3/checks/suites/#response-1 (key: `check_suites`)\n * - https://developer.github.com/v3/apps/installations/#list-repositories (key: `repositories`)\n * - https://developer.github.com/v3/apps/installations/#list-installations-for-a-user (key `installations`)\n *\n * Octokit normalizes these responses so that paginated results are always returned following\n * the same structure. One challenge is that if the list response has only one page, no Link\n * header is provided, so this header alone is not sufficient to check wether a response is\n * paginated or not. For the exceptions with the namespace, a fallback check for the route\n * paths has to be added in order to normalize the response. We cannot check for the total_count\n * property because it also exists in the response of Get the combined status for a specific ref.\n */\nconst REGEX = [\n /^\\/search\\//,\n /^\\/repos\\/[^/]+\\/[^/]+\\/commits\\/[^/]+\\/(check-runs|check-suites)([^/]|$)/,\n /^\\/installation\\/repositories([^/]|$)/,\n /^\\/user\\/installations([^/]|$)/,\n /^\\/repos\\/[^/]+\\/[^/]+\\/actions\\/secrets([^/]|$)/,\n /^\\/repos\\/[^/]+\\/[^/]+\\/actions\\/workflows(\\/[^/]+\\/runs)?([^/]|$)/,\n /^\\/repos\\/[^/]+\\/[^/]+\\/actions\\/runs(\\/[^/]+\\/(artifacts|jobs))?([^/]|$)/\n];\nexport function normalizePaginatedListResponse(octokit, url, response) {\n const path = url.replace(octokit.request.endpoint.DEFAULTS.baseUrl, \"\");\n const responseNeedsNormalization = REGEX.find(regex => regex.test(path));\n if (!responseNeedsNormalization)\n return;\n // keep the additional properties intact as there is currently no other way\n // to retrieve the same information.\n const incompleteResults = response.data.incomplete_results;\n const repositorySelection = response.data.repository_selection;\n const totalCount = response.data.total_count;\n delete response.data.incomplete_results;\n delete response.data.repository_selection;\n delete response.data.total_count;\n const namespaceKey = Object.keys(response.data)[0];\n const data = response.data[namespaceKey];\n response.data = data;\n if (typeof incompleteResults !== \"undefined\") {\n response.data.incomplete_results = incompleteResults;\n }\n if (typeof repositorySelection !== \"undefined\") {\n response.data.repository_selection = repositorySelection;\n }\n response.data.total_count = totalCount;\n Object.defineProperty(response.data, namespaceKey, {\n get() {\n octokit.log.warn(`[@octokit/paginate-rest] \"response.data.${namespaceKey}\" is deprecated for \"GET ${path}\". Get the results directly from \"response.data\"`);\n return Array.from(data);\n }\n });\n}\n","import { normalizePaginatedListResponse } from \"./normalize-paginated-list-response\";\nexport function iterator(octokit, route, parameters) {\n const options = octokit.request.endpoint(route, parameters);\n const method = options.method;\n const headers = options.headers;\n let url = options.url;\n return {\n [Symbol.asyncIterator]: () => ({\n next() {\n if (!url) {\n return Promise.resolve({ done: true });\n }\n return octokit\n .request({ method, url, headers })\n .then((response) => {\n normalizePaginatedListResponse(octokit, url, response);\n // `response.headers.link` format:\n // '; rel=\"next\", ; rel=\"last\"'\n // sets `url` to undefined if \"next\" URL is not present or `link` header is not set\n url = ((response.headers.link || \"\").match(/<([^>]+)>;\\s*rel=\"next\"/) || [])[1];\n return { value: response };\n });\n }\n })\n };\n}\n","import { iterator } from \"./iterator\";\nexport function paginate(octokit, route, parameters, mapFn) {\n if (typeof parameters === \"function\") {\n mapFn = parameters;\n parameters = undefined;\n }\n return gather(octokit, [], iterator(octokit, route, parameters)[Symbol.asyncIterator](), mapFn);\n}\nfunction gather(octokit, results, iterator, mapFn) {\n return iterator.next().then(result => {\n if (result.done) {\n return results;\n }\n let earlyExit = false;\n function done() {\n earlyExit = true;\n }\n results = results.concat(mapFn ? mapFn(result.value, done) : result.value.data);\n if (earlyExit) {\n return results;\n }\n return gather(octokit, results, iterator, mapFn);\n });\n}\n","import { VERSION } from \"./version\";\nimport { paginate } from \"./paginate\";\nimport { iterator } from \"./iterator\";\n/**\n * @param octokit Octokit instance\n * @param options Options passed to Octokit constructor\n */\nexport function paginateRest(octokit) {\n return {\n paginate: Object.assign(paginate.bind(null, octokit), {\n iterator: iterator.bind(null, octokit)\n })\n };\n}\npaginateRest.VERSION = VERSION;\n"],"names":[],"mappings":"AAAO,MAAM,OAAO,GAAG,mBAAmB,CAAC;;ACA3C;;;;;;;;;;;;;;;;;;;;AAoBA,MAAM,KAAK,GAAG;IACV,aAAa;IACb,2EAA2E;IAC3E,uCAAuC;IACvC,gCAAgC;IAChC,kDAAkD;IAClD,oEAAoE;IACpE,2EAA2E;CAC9E,CAAC;AACF,AAAO,SAAS,8BAA8B,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE;IACnE,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACxE,MAAM,0BAA0B,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACzE,IAAI,CAAC,0BAA0B;QAC3B,OAAO;;;IAGX,MAAM,iBAAiB,GAAG,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC;IAC3D,MAAM,mBAAmB,GAAG,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC;IAC/D,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC;IAC7C,OAAO,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC;IACxC,OAAO,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC;IAC1C,OAAO,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC;IACjC,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,IAAI,OAAO,iBAAiB,KAAK,WAAW,EAAE;QAC1C,QAAQ,CAAC,IAAI,CAAC,kBAAkB,GAAG,iBAAiB,CAAC;KACxD;IACD,IAAI,OAAO,mBAAmB,KAAK,WAAW,EAAE;QAC5C,QAAQ,CAAC,IAAI,CAAC,oBAAoB,GAAG,mBAAmB,CAAC;KAC5D;IACD,QAAQ,CAAC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IACvC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,YAAY,EAAE;QAC/C,GAAG,GAAG;YACF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,wCAAwC,EAAE,YAAY,CAAC,yBAAyB,EAAE,IAAI,CAAC,gDAAgD,CAAC,CAAC,CAAC;YAC5J,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC3B;KACJ,CAAC,CAAC;CACN;;ACzDM,SAAS,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE;IACjD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,IAAI,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IACtB,OAAO;QACH,CAAC,MAAM,CAAC,aAAa,GAAG,OAAO;YAC3B,IAAI,GAAG;gBACH,IAAI,CAAC,GAAG,EAAE;oBACN,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;iBAC1C;gBACD,OAAO,OAAO;qBACT,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;qBACjC,IAAI,CAAC,CAAC,QAAQ,KAAK;oBACpB,8BAA8B,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;;;;oBAIvD,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,KAAK,CAAC,yBAAyB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;oBAChF,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;iBAC9B,CAAC,CAAC;aACN;SACJ,CAAC;KACL,CAAC;CACL;;ACxBM,SAAS,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;IACxD,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE;QAClC,KAAK,GAAG,UAAU,CAAC;QACnB,UAAU,GAAG,SAAS,CAAC;KAC1B;IACD,OAAO,MAAM,CAAC,OAAO,EAAE,EAAE,EAAE,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;CACnG;AACD,SAAS,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE;IAC/C,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI;QAClC,IAAI,MAAM,CAAC,IAAI,EAAE;YACb,OAAO,OAAO,CAAC;SAClB;QACD,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,SAAS,IAAI,GAAG;YACZ,SAAS,GAAG,IAAI,CAAC;SACpB;QACD,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChF,IAAI,SAAS,EAAE;YACX,OAAO,OAAO,CAAC;SAClB;QACD,OAAO,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;KACpD,CAAC,CAAC;CACN;;ACpBD;;;;AAIA,AAAO,SAAS,YAAY,CAAC,OAAO,EAAE;IAClC,OAAO;QACH,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE;YAClD,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;SACzC,CAAC;KACL,CAAC;CACL;AACD,YAAY,CAAC,OAAO,GAAG,OAAO,CAAC;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/LICENSE b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/LICENSE new file mode 100644 index 0000000..57bee5f --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/LICENSE @@ -0,0 +1,7 @@ +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 (including the next paragraph) 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. diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/README.md b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/README.md new file mode 100644 index 0000000..25b8f03 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/README.md @@ -0,0 +1,65 @@ +# types.ts + +> Shared TypeScript definitions for Octokit projects + +[![@latest](https://img.shields.io/npm/v/@octokit/types.svg)](https://www.npmjs.com/package/@octokit/types) +[![Build Status](https://github.com/octokit/types.ts/workflows/Test/badge.svg)](https://github.com/octokit/types.ts/actions?workflow=Test) +[![Greenkeeper](https://badges.greenkeeper.io/octokit/types.ts.svg)](https://greenkeeper.io/) + + + +- [Usage](#usage) +- [Examples](#examples) + - [Get parameter and response data types for a REST API endpoint](#get-parameter-and-response-data-types-for-a-rest-api-endpoint) + - [Get response types from endpoint methods](#get-response-types-from-endpoint-methods) +- [Contributing](#contributing) +- [License](#license) + + + +## Usage + +See all exported types at https://octokit.github.io/types.ts + +## Examples + +### Get parameter and response data types for a REST API endpoint + +```ts +import { Endpoints } from "./src"; + +type listUserReposParameters = Endpoints["GET /repos/:owner/:repo"]["parameters"]; +type listUserReposResponse = Endpoints["GET /repos/:owner/:repo"]["response"]; + +async function listRepos( + options: listUserReposParameters +): listUserReposResponse["data"] { + // ... +} +``` + +### Get response types from endpoint methods + +```ts +import { + GetResponseTypeFromEndpointMethod, + GetResponseDataTypeFromEndpointMethod, +} from "@octokit/types"; +import { Octokit } from "@octokit/rest"; + +const octokit = new Octokit(); +type CreateLabelResponseType = GetResponseTypeFromEndpointMethod< + typeof octokit.issues.createLabel +>; +type CreateLabelResponseDataType = GetResponseDataTypeFromEndpointMethod< + typeof octokit.issues.createLabel +>; +``` + +## Contributing + +See [CONTRIBUTING.md](CONTRIBUTING.md) + +## License + +[MIT](LICENSE) diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-node/index.js b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-node/index.js new file mode 100644 index 0000000..4c5b65f --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-node/index.js @@ -0,0 +1,8 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +const VERSION = "2.16.2"; + +exports.VERSION = VERSION; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-node/index.js.map b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-node/index.js.map new file mode 100644 index 0000000..2d148d3 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-node/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/VERSION.js"],"sourcesContent":["export const VERSION = \"0.0.0-development\";\n"],"names":["VERSION"],"mappings":";;;;MAAaA,OAAO,GAAG;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/AuthInterface.js b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/AuthInterface.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/EndpointDefaults.js b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/EndpointDefaults.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/EndpointInterface.js b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/EndpointInterface.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/EndpointOptions.js b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/EndpointOptions.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/Fetch.js b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/Fetch.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/OctokitResponse.js b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/OctokitResponse.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/RequestHeaders.js b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/RequestHeaders.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/RequestInterface.js b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/RequestInterface.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/RequestMethod.js b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/RequestMethod.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/RequestOptions.js b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/RequestOptions.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/RequestParameters.js b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/RequestParameters.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/RequestRequestOptions.js b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/RequestRequestOptions.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/ResponseHeaders.js b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/ResponseHeaders.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/Route.js b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/Route.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/Signal.js b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/Signal.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/StrategyInterface.js b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/StrategyInterface.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/Url.js b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/Url.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/VERSION.js b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/VERSION.js new file mode 100644 index 0000000..66bc3f7 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/VERSION.js @@ -0,0 +1 @@ +export const VERSION = "2.16.2"; diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/generated/Endpoints.js b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/generated/Endpoints.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/index.js b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/index.js new file mode 100644 index 0000000..04b2163 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/index.js @@ -0,0 +1 @@ +export * from "./VERSION"; diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/AuthInterface.d.ts b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/AuthInterface.d.ts new file mode 100644 index 0000000..0c19b50 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/AuthInterface.d.ts @@ -0,0 +1,31 @@ +import { EndpointOptions } from "./EndpointOptions"; +import { OctokitResponse } from "./OctokitResponse"; +import { RequestInterface } from "./RequestInterface"; +import { RequestParameters } from "./RequestParameters"; +import { Route } from "./Route"; +/** + * Interface to implement complex authentication strategies for Octokit. + * An object Implementing the AuthInterface can directly be passed as the + * `auth` option in the Octokit constructor. + * + * For the official implementations of the most common authentication + * strategies, see https://github.com/octokit/auth.js + */ +export interface AuthInterface { + (...args: AuthOptions): Promise; + hook: { + /** + * Sends a request using the passed `request` instance + * + * @param {object} endpoint Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (request: RequestInterface, options: EndpointOptions): Promise>; + /** + * Sends a request using the passed `request` instance + * + * @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`. + */ + (request: RequestInterface, route: Route, parameters?: RequestParameters): Promise>; + }; +} diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts new file mode 100644 index 0000000..a2c2307 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts @@ -0,0 +1,21 @@ +import { RequestHeaders } from "./RequestHeaders"; +import { RequestMethod } from "./RequestMethod"; +import { RequestParameters } from "./RequestParameters"; +import { Url } from "./Url"; +/** + * The `.endpoint()` method is guaranteed to set all keys defined by RequestParameters + * as well as the method property. + */ +export declare type EndpointDefaults = RequestParameters & { + baseUrl: Url; + method: RequestMethod; + url?: Url; + headers: RequestHeaders & { + accept: string; + "user-agent": string; + }; + mediaType: { + format: string; + previews: string[]; + }; +}; diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts new file mode 100644 index 0000000..df585be --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts @@ -0,0 +1,65 @@ +import { EndpointDefaults } from "./EndpointDefaults"; +import { RequestOptions } from "./RequestOptions"; +import { RequestParameters } from "./RequestParameters"; +import { Route } from "./Route"; +import { Endpoints } from "./generated/Endpoints"; +export interface EndpointInterface { + /** + * Transforms a GitHub REST API endpoint into generic request options + * + * @param {object} endpoint Must set `url` unless it's set defaults. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (options: O & { + method?: string; + } & ("url" extends keyof D ? { + url?: string; + } : { + url: string; + })): RequestOptions & Pick; + /** + * 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`. + */ + (route: keyof Endpoints | R, parameters?: P): (R extends keyof Endpoints ? Endpoints[R]["request"] : RequestOptions) & Pick; + /** + * Object with current default route and parameters + */ + DEFAULTS: D & EndpointDefaults; + /** + * Returns a new `endpoint` interface with new defaults + */ + defaults: (newDefaults: O) => EndpointInterface; + 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: keyof Endpoints | R, parameters?: P): D & (R extends keyof Endpoints ? Endpoints[R]["request"] & Endpoints[R]["parameters"] : EndpointDefaults) & P; + /** + * 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: P): EndpointDefaults & D & P; + /** + * Returns current default options. + * + * @deprecated use endpoint.DEFAULTS instead + */ + (): D & EndpointDefaults; + }; + /** + * 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: O) => RequestOptions & Pick; +} diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts new file mode 100644 index 0000000..b1b91f1 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts @@ -0,0 +1,7 @@ +import { RequestMethod } from "./RequestMethod"; +import { Url } from "./Url"; +import { RequestParameters } from "./RequestParameters"; +export declare type EndpointOptions = RequestParameters & { + method: RequestMethod; + url: Url; +}; diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/Fetch.d.ts b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/Fetch.d.ts new file mode 100644 index 0000000..cbbd5e8 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/Fetch.d.ts @@ -0,0 +1,4 @@ +/** + * Browser's fetch method (or compatible such as fetch-mock) + */ +export declare type Fetch = any; diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts new file mode 100644 index 0000000..70e1a8d --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts @@ -0,0 +1,5 @@ +declare type Unwrap = T extends Promise ? U : T; +declare type AnyFunction = (...args: any[]) => any; +export declare type GetResponseTypeFromEndpointMethod = Unwrap>; +export declare type GetResponseDataTypeFromEndpointMethod = Unwrap>["data"]; +export {}; diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts new file mode 100644 index 0000000..9a2dd7f --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts @@ -0,0 +1,17 @@ +import { ResponseHeaders } from "./ResponseHeaders"; +import { Url } from "./Url"; +export declare type OctokitResponse = { + headers: ResponseHeaders; + /** + * http response code + */ + status: number; + /** + * URL of response after all redirects + */ + url: Url; + /** + * This is the data you would see in https://developer.Octokit.com/v3/ + */ + data: T; +}; diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts new file mode 100644 index 0000000..ac5aae0 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts @@ -0,0 +1,15 @@ +export declare type RequestHeaders = { + /** + * Avoid setting `headers.accept`, use `mediaType.{format|previews}` option 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; +}; diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestInterface.d.ts b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestInterface.d.ts new file mode 100644 index 0000000..ef4d8d3 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestInterface.d.ts @@ -0,0 +1,34 @@ +import { EndpointInterface } from "./EndpointInterface"; +import { OctokitResponse } from "./OctokitResponse"; +import { RequestParameters } from "./RequestParameters"; +import { Route } from "./Route"; +import { Endpoints } from "./generated/Endpoints"; +export interface RequestInterface { + /** + * Sends a request based on endpoint 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: O & { + method?: string; + } & ("url" extends keyof D ? { + url?: string; + } : { + url: string; + })): Promise>; + /** + * Sends a request based on endpoint 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: keyof Endpoints | R, options?: R extends keyof Endpoints ? Endpoints[R]["parameters"] & RequestParameters : RequestParameters): R extends keyof Endpoints ? Promise : Promise>; + /** + * Returns a new `request` with updated route and parameters + */ + defaults: (newDefaults: O) => RequestInterface; + /** + * Octokit endpoint API, see {@link https://github.com/octokit/endpoint.js|@octokit/endpoint} + */ + endpoint: EndpointInterface; +} diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestMethod.d.ts b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestMethod.d.ts new file mode 100644 index 0000000..e999c8d --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestMethod.d.ts @@ -0,0 +1,4 @@ +/** + * HTTP Verb supported by GitHub's REST API + */ +export declare type RequestMethod = "DELETE" | "GET" | "HEAD" | "PATCH" | "POST" | "PUT"; diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestOptions.d.ts b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestOptions.d.ts new file mode 100644 index 0000000..97e2181 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestOptions.d.ts @@ -0,0 +1,14 @@ +import { RequestHeaders } from "./RequestHeaders"; +import { RequestMethod } from "./RequestMethod"; +import { RequestRequestOptions } from "./RequestRequestOptions"; +import { Url } from "./Url"; +/** + * Generic request options as they are returned by the `endpoint()` method + */ +export declare type RequestOptions = { + method: RequestMethod; + url: Url; + headers: RequestHeaders; + body?: any; + request?: RequestRequestOptions; +}; diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestParameters.d.ts b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestParameters.d.ts new file mode 100644 index 0000000..692d193 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestParameters.d.ts @@ -0,0 +1,45 @@ +import { RequestRequestOptions } from "./RequestRequestOptions"; +import { RequestHeaders } from "./RequestHeaders"; +import { Url } from "./Url"; +/** + * Parameters that can be passed into `request(route, parameters)` or `endpoint(route, parameters)` methods + */ +export declare type RequestParameters = { + /** + * 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 request + * will be sent to `https://enterprise.acme-inc.com/api/v3/orgs/:org`. + */ + baseUrl?: Url; + /** + * HTTP headers. Use lowercase keys. + */ + headers?: RequestHeaders; + /** + * 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?: RequestRequestOptions; + /** + * 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]: unknown; +}; diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts new file mode 100644 index 0000000..4482a8a --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts @@ -0,0 +1,26 @@ +/// +import { Agent } from "http"; +import { Fetch } from "./Fetch"; +import { Signal } from "./Signal"; +/** + * Octokit-specific request options which are ignored for the actual request, but can be used by Octokit or plugins to manipulate how the request is sent or how a response is handled + */ +export declare type RequestRequestOptions = { + /** + * Node only. Useful for custom proxy, certificate, or dns lookup. + */ + agent?: Agent; + /** + * Custom replacement for built-in fetch method. Useful for testing or request hooks. + */ + fetch?: Fetch; + /** + * Use an `AbortController` instance to cancel a request. In node you can only cancel streamed requests. + */ + signal?: Signal; + /** + * Node only. Request/response timeout in ms, it resets on redirect. 0 to disable (OS limit applies). `options.request.signal` is recommended instead. + */ + timeout?: number; + [option: string]: any; +}; diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts new file mode 100644 index 0000000..c8fbe43 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts @@ -0,0 +1,20 @@ +export declare type ResponseHeaders = { + "cache-control"?: string; + "content-length"?: number; + "content-type"?: string; + date?: string; + etag?: string; + "last-modified"?: string; + link?: string; + location?: string; + server?: string; + status?: string; + vary?: string; + "x-github-mediatype"?: string; + "x-github-request-id"?: string; + "x-oauth-scopes"?: string; + "x-ratelimit-limit"?: string; + "x-ratelimit-remaining"?: string; + "x-ratelimit-reset"?: string; + [header: string]: string | number | undefined; +}; diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/Route.d.ts b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/Route.d.ts new file mode 100644 index 0000000..8079044 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/Route.d.ts @@ -0,0 +1,4 @@ +/** + * String consisting of an optional HTTP method and relative path or absolute URL. Examples: `'/orgs/:org'`, `'PUT /orgs/:org'`, `GET https://example.com/foo/bar` + */ +export declare type Route = string; diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/Signal.d.ts b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/Signal.d.ts new file mode 100644 index 0000000..4ebcf24 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/Signal.d.ts @@ -0,0 +1,6 @@ +/** + * Abort signal + * + * @see https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal + */ +export declare type Signal = any; diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts new file mode 100644 index 0000000..405cbd2 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts @@ -0,0 +1,4 @@ +import { AuthInterface } from "./AuthInterface"; +export interface StrategyInterface { + (...args: StrategyOptions): AuthInterface; +} diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/Url.d.ts b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/Url.d.ts new file mode 100644 index 0000000..acaad63 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/Url.d.ts @@ -0,0 +1,4 @@ +/** + * Relative or absolute URL. Examples: `'/orgs/:org'`, `https://example.com/foo/bar` + */ +export declare type Url = string; diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/VERSION.d.ts b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/VERSION.d.ts new file mode 100644 index 0000000..c24737b --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/VERSION.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "2.16.2"; diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts new file mode 100644 index 0000000..d10c4c9 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts @@ -0,0 +1,41416 @@ +import { OctokitResponse } from "../OctokitResponse"; +import { RequestHeaders } from "../RequestHeaders"; +import { RequestRequestOptions } from "../RequestRequestOptions"; +declare type RequiredPreview = { + mediaType: { + previews: [T, ...string[]]; + }; +}; +export interface Endpoints { + /** + * @see https://developer.github.com/v3/apps/#delete-an-installation + */ + "DELETE /app/installations/:installation_id": { + parameters: AppsDeleteInstallationEndpoint; + request: AppsDeleteInstallationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#unsuspend-an-installation + */ + "DELETE /app/installations/:installation_id/suspended": { + parameters: AppsUnsuspendInstallationEndpoint; + request: AppsUnsuspendInstallationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/oauth_applications/#delete-an-app-authorization + */ + "DELETE /applications/:client_id/grant": { + parameters: AppsDeleteAuthorizationEndpoint; + request: AppsDeleteAuthorizationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/oauth_applications/#revoke-a-grant-for-an-application + */ + "DELETE /applications/:client_id/grants/:access_token": { + parameters: AppsRevokeGrantForApplicationEndpoint; + request: AppsRevokeGrantForApplicationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/oauth_applications/#delete-an-app-token + */ + "DELETE /applications/:client_id/token": { + parameters: AppsDeleteTokenEndpoint; + request: AppsDeleteTokenRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/oauth_applications/#revoke-an-authorization-for-an-application + */ + "DELETE /applications/:client_id/tokens/:access_token": { + parameters: AppsRevokeAuthorizationForApplicationEndpoint; + request: AppsRevokeAuthorizationForApplicationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#delete-a-grant + */ + "DELETE /applications/grants/:grant_id": { + parameters: OauthAuthorizationsDeleteGrantEndpoint; + request: OauthAuthorizationsDeleteGrantRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#delete-an-authorization + */ + "DELETE /authorizations/:authorization_id": { + parameters: OauthAuthorizationsDeleteAuthorizationEndpoint; + request: OauthAuthorizationsDeleteAuthorizationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#delete-a-gist + */ + "DELETE /gists/:gist_id": { + parameters: GistsDeleteEndpoint; + request: GistsDeleteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/comments/#delete-a-comment + */ + "DELETE /gists/:gist_id/comments/:comment_id": { + parameters: GistsDeleteCommentEndpoint; + request: GistsDeleteCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#unstar-a-gist + */ + "DELETE /gists/:gist_id/star": { + parameters: GistsUnstarEndpoint; + request: GistsUnstarRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/installations/#revoke-an-installation-token + */ + "DELETE /installation/token": { + parameters: AppsRevokeInstallationTokenEndpoint; + request: AppsRevokeInstallationTokenRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/notifications/#delete-a-thread-subscription + */ + "DELETE /notifications/threads/:thread_id/subscription": { + parameters: ActivityDeleteThreadSubscriptionEndpoint; + request: ActivityDeleteThreadSubscriptionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#delete-a-self-hosted-runner-from-an-organization + */ + "DELETE /orgs/:org/actions/runners/:runner_id": { + parameters: ActionsDeleteSelfHostedRunnerFromOrgEndpoint; + request: ActionsDeleteSelfHostedRunnerFromOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/blocking/#unblock-a-user + */ + "DELETE /orgs/:org/blocks/:username": { + parameters: OrgsUnblockUserEndpoint; + request: OrgsUnblockUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/#remove-a-credential-authorization-for-an-organization + */ + "DELETE /orgs/:org/credential-authorizations/:credential_id": { + parameters: OrgsRemoveCredentialAuthorizationEndpoint; + request: OrgsRemoveCredentialAuthorizationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/hooks/#delete-a-hook + */ + "DELETE /orgs/:org/hooks/:hook_id": { + parameters: OrgsDeleteHookEndpoint; + request: OrgsDeleteHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/interactions/orgs/#remove-interaction-restrictions-for-an-organization + */ + "DELETE /orgs/:org/interaction-limits": { + parameters: InteractionsRemoveRestrictionsForOrgEndpoint; + request: InteractionsRemoveRestrictionsForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#remove-a-member + */ + "DELETE /orgs/:org/members/:username": { + parameters: OrgsRemoveMemberEndpoint; + request: OrgsRemoveMemberRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#remove-organization-membership + */ + "DELETE /orgs/:org/memberships/:username": { + parameters: OrgsRemoveMembershipEndpoint; + request: OrgsRemoveMembershipRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/orgs/#delete-an-organization-migration-archive + */ + "DELETE /orgs/:org/migrations/:migration_id/archive": { + parameters: MigrationsDeleteArchiveForOrgEndpoint; + request: MigrationsDeleteArchiveForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/orgs/#unlock-an-organization-repository + */ + "DELETE /orgs/:org/migrations/:migration_id/repos/:repo_name/lock": { + parameters: MigrationsUnlockRepoForOrgEndpoint; + request: MigrationsUnlockRepoForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/outside_collaborators/#remove-outside-collaborator + */ + "DELETE /orgs/:org/outside_collaborators/:username": { + parameters: OrgsRemoveOutsideCollaboratorEndpoint; + request: OrgsRemoveOutsideCollaboratorRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#conceal-a-users-membership + */ + "DELETE /orgs/:org/public_members/:username": { + parameters: OrgsConcealMembershipEndpoint; + request: OrgsConcealMembershipRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#delete-team + */ + "DELETE /orgs/:org/teams/:team_slug": { + parameters: TeamsDeleteInOrgEndpoint; + request: TeamsDeleteInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#delete-a-discussion + */ + "DELETE /orgs/:org/teams/:team_slug/discussions/:discussion_number": { + parameters: TeamsDeleteDiscussionInOrgEndpoint; + request: TeamsDeleteDiscussionInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#delete-a-comment + */ + "DELETE /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number": { + parameters: TeamsDeleteDiscussionCommentInOrgEndpoint; + request: TeamsDeleteDiscussionCommentInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#delete-team-discussion-comment-reaction + */ + "DELETE /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id": { + parameters: ReactionsDeleteForTeamDiscussionCommentEndpoint; + request: ReactionsDeleteForTeamDiscussionCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#delete-team-discussion-reaction + */ + "DELETE /orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions/:reaction_id": { + parameters: ReactionsDeleteForTeamDiscussionEndpoint; + request: ReactionsDeleteForTeamDiscussionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#remove-team-membership + */ + "DELETE /orgs/:org/teams/:team_slug/memberships/:username": { + parameters: TeamsRemoveMembershipInOrgEndpoint; + request: TeamsRemoveMembershipInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#remove-team-project + */ + "DELETE /orgs/:org/teams/:team_slug/projects/:project_id": { + parameters: TeamsRemoveProjectInOrgEndpoint; + request: TeamsRemoveProjectInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#remove-team-repository + */ + "DELETE /orgs/:org/teams/:team_slug/repos/:owner/:repo": { + parameters: TeamsRemoveRepoInOrgEndpoint; + request: TeamsRemoveRepoInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/#delete-a-project + */ + "DELETE /projects/:project_id": { + parameters: ProjectsDeleteEndpoint; + request: ProjectsDeleteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/collaborators/#remove-user-as-a-collaborator + */ + "DELETE /projects/:project_id/collaborators/:username": { + parameters: ProjectsRemoveCollaboratorEndpoint; + request: ProjectsRemoveCollaboratorRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/columns/#delete-a-project-column + */ + "DELETE /projects/columns/:column_id": { + parameters: ProjectsDeleteColumnEndpoint; + request: ProjectsDeleteColumnRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/cards/#delete-a-project-card + */ + "DELETE /projects/columns/cards/:card_id": { + parameters: ProjectsDeleteCardEndpoint; + request: ProjectsDeleteCardRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#delete-a-reaction-legacy + */ + "DELETE /reactions/:reaction_id": { + parameters: ReactionsDeleteLegacyEndpoint; + request: ReactionsDeleteLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#delete-a-repository + */ + "DELETE /repos/:owner/:repo": { + parameters: ReposDeleteEndpoint; + request: ReposDeleteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/artifacts/#delete-an-artifact + */ + "DELETE /repos/:owner/:repo/actions/artifacts/:artifact_id": { + parameters: ActionsDeleteArtifactEndpoint; + request: ActionsDeleteArtifactRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#delete-a-self-hosted-runner-from-a-repository + */ + "DELETE /repos/:owner/:repo/actions/runners/:runner_id": { + parameters: ActionsDeleteSelfHostedRunnerFromRepoEndpoint; + request: ActionsDeleteSelfHostedRunnerFromRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-runs/#delete-workflow-run-logs + */ + "DELETE /repos/:owner/:repo/actions/runs/:run_id/logs": { + parameters: ActionsDeleteWorkflowRunLogsEndpoint; + request: ActionsDeleteWorkflowRunLogsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/secrets/#delete-a-secret-from-a-repository + */ + "DELETE /repos/:owner/:repo/actions/secrets/:name": { + parameters: ActionsDeleteSecretFromRepoEndpoint; + request: ActionsDeleteSecretFromRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#disable-automated-security-fixes + */ + "DELETE /repos/:owner/:repo/automated-security-fixes": { + parameters: ReposDisableAutomatedSecurityFixesEndpoint; + request: ReposDisableAutomatedSecurityFixesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-branch-protection + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection": { + parameters: ReposRemoveBranchProtectionEndpoint; + request: ReposRemoveBranchProtectionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-admin-enforcement-of-protected-branch + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection/enforce_admins": { + parameters: ReposRemoveProtectedBranchAdminEnforcementEndpoint; + request: ReposRemoveProtectedBranchAdminEnforcementRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-pull-request-review-enforcement-of-protected-branch + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews": { + parameters: ReposRemoveProtectedBranchPullRequestReviewEnforcementEndpoint; + request: ReposRemoveProtectedBranchPullRequestReviewEnforcementRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-required-signatures-of-protected-branch + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection/required_signatures": { + parameters: ReposRemoveProtectedBranchRequiredSignaturesEndpoint; + request: ReposRemoveProtectedBranchRequiredSignaturesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-required-status-checks-of-protected-branch + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection/required_status_checks": { + parameters: ReposRemoveProtectedBranchRequiredStatusChecksEndpoint; + request: ReposRemoveProtectedBranchRequiredStatusChecksRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-required-status-checks-contexts-of-protected-branch + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts": { + parameters: ReposRemoveProtectedBranchRequiredStatusChecksContextsEndpoint; + request: ReposRemoveProtectedBranchRequiredStatusChecksContextsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-restrictions-of-protected-branch + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection/restrictions": { + parameters: ReposRemoveProtectedBranchRestrictionsEndpoint; + request: ReposRemoveProtectedBranchRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-app-restrictions-of-protected-branch + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection/restrictions/apps": { + parameters: ReposRemoveProtectedBranchAppRestrictionsEndpoint; + request: ReposRemoveProtectedBranchAppRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-team-restrictions-of-protected-branch + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection/restrictions/teams": { + parameters: ReposRemoveProtectedBranchTeamRestrictionsEndpoint; + request: ReposRemoveProtectedBranchTeamRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-user-restrictions-of-protected-branch + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection/restrictions/users": { + parameters: ReposRemoveProtectedBranchUserRestrictionsEndpoint; + request: ReposRemoveProtectedBranchUserRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/collaborators/#remove-user-as-a-collaborator + */ + "DELETE /repos/:owner/:repo/collaborators/:username": { + parameters: ReposRemoveCollaboratorEndpoint; + request: ReposRemoveCollaboratorRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/comments/#delete-a-commit-comment + */ + "DELETE /repos/:owner/:repo/comments/:comment_id": { + parameters: ReposDeleteCommitCommentEndpoint; + request: ReposDeleteCommitCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#delete-a-commit-comment-reaction + */ + "DELETE /repos/:owner/:repo/comments/:comment_id/reactions/:reaction_id": { + parameters: ReactionsDeleteForCommitCommentEndpoint; + request: ReactionsDeleteForCommitCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/contents/#delete-a-file + */ + "DELETE /repos/:owner/:repo/contents/:path": { + parameters: ReposDeleteFileEndpoint; + request: ReposDeleteFileRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/deployments/#delete-a-deployment + */ + "DELETE /repos/:owner/:repo/deployments/:deployment_id": { + parameters: ReposDeleteDeploymentEndpoint; + request: ReposDeleteDeploymentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/downloads/#delete-a-download + */ + "DELETE /repos/:owner/:repo/downloads/:download_id": { + parameters: ReposDeleteDownloadEndpoint; + request: ReposDeleteDownloadRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/refs/#delete-a-reference + */ + "DELETE /repos/:owner/:repo/git/refs/:ref": { + parameters: GitDeleteRefEndpoint; + request: GitDeleteRefRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/hooks/#delete-a-hook + */ + "DELETE /repos/:owner/:repo/hooks/:hook_id": { + parameters: ReposDeleteHookEndpoint; + request: ReposDeleteHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/source_imports/#cancel-an-import + */ + "DELETE /repos/:owner/:repo/import": { + parameters: MigrationsCancelImportEndpoint; + request: MigrationsCancelImportRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/interactions/repos/#remove-interaction-restrictions-for-a-repository + */ + "DELETE /repos/:owner/:repo/interaction-limits": { + parameters: InteractionsRemoveRestrictionsForRepoEndpoint; + request: InteractionsRemoveRestrictionsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/invitations/#delete-a-repository-invitation + */ + "DELETE /repos/:owner/:repo/invitations/:invitation_id": { + parameters: ReposDeleteInvitationEndpoint; + request: ReposDeleteInvitationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/assignees/#remove-assignees-from-an-issue + */ + "DELETE /repos/:owner/:repo/issues/:issue_number/assignees": { + parameters: IssuesRemoveAssigneesEndpoint; + request: IssuesRemoveAssigneesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#remove-all-labels-from-an-issue + */ + "DELETE /repos/:owner/:repo/issues/:issue_number/labels": { + parameters: IssuesRemoveAllLabelsEndpoint; + request: IssuesRemoveAllLabelsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#remove-a-label-from-an-issue + */ + "DELETE /repos/:owner/:repo/issues/:issue_number/labels/:name": { + parameters: IssuesRemoveLabelEndpoint; + request: IssuesRemoveLabelRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/#unlock-an-issue + */ + "DELETE /repos/:owner/:repo/issues/:issue_number/lock": { + parameters: IssuesUnlockEndpoint; + request: IssuesUnlockRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#delete-an-issue-reaction + */ + "DELETE /repos/:owner/:repo/issues/:issue_number/reactions/:reaction_id": { + parameters: ReactionsDeleteForIssueEndpoint; + request: ReactionsDeleteForIssueRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/comments/#delete-a-comment + */ + "DELETE /repos/:owner/:repo/issues/comments/:comment_id": { + parameters: IssuesDeleteCommentEndpoint; + request: IssuesDeleteCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#delete-an-issue-comment-reaction + */ + "DELETE /repos/:owner/:repo/issues/comments/:comment_id/reactions/:reaction_id": { + parameters: ReactionsDeleteForIssueCommentEndpoint; + request: ReactionsDeleteForIssueCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/keys/#remove-a-deploy-key + */ + "DELETE /repos/:owner/:repo/keys/:key_id": { + parameters: ReposRemoveDeployKeyEndpoint; + request: ReposRemoveDeployKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#delete-a-label + */ + "DELETE /repos/:owner/:repo/labels/:name": { + parameters: IssuesDeleteLabelEndpoint; + request: IssuesDeleteLabelRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/milestones/#delete-a-milestone + */ + "DELETE /repos/:owner/:repo/milestones/:milestone_number": { + parameters: IssuesDeleteMilestoneEndpoint; + request: IssuesDeleteMilestoneRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/pages/#disable-a-pages-site + */ + "DELETE /repos/:owner/:repo/pages": { + parameters: ReposDisablePagesSiteEndpoint; + request: ReposDisablePagesSiteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/review_requests/#delete-a-review-request + */ + "DELETE /repos/:owner/:repo/pulls/:pull_number/requested_reviewers": { + parameters: PullsDeleteReviewRequestEndpoint; + request: PullsDeleteReviewRequestRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/reviews/#delete-a-pending-review + */ + "DELETE /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id": { + parameters: PullsDeletePendingReviewEndpoint; + request: PullsDeletePendingReviewRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/comments/#delete-a-comment + */ + "DELETE /repos/:owner/:repo/pulls/comments/:comment_id": { + parameters: PullsDeleteCommentEndpoint; + request: PullsDeleteCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#delete-a-pull-request-comment-reaction + */ + "DELETE /repos/:owner/:repo/pulls/comments/:comment_id/reactions/:reaction_id": { + parameters: ReactionsDeleteForPullRequestCommentEndpoint; + request: ReactionsDeleteForPullRequestCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#delete-a-release + */ + "DELETE /repos/:owner/:repo/releases/:release_id": { + parameters: ReposDeleteReleaseEndpoint; + request: ReposDeleteReleaseRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#delete-a-release-asset + */ + "DELETE /repos/:owner/:repo/releases/assets/:asset_id": { + parameters: ReposDeleteReleaseAssetEndpoint; + request: ReposDeleteReleaseAssetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/watching/#delete-a-repository-subscription + */ + "DELETE /repos/:owner/:repo/subscription": { + parameters: ActivityDeleteRepoSubscriptionEndpoint; + request: ActivityDeleteRepoSubscriptionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#disable-vulnerability-alerts + */ + "DELETE /repos/:owner/:repo/vulnerability-alerts": { + parameters: ReposDisableVulnerabilityAlertsEndpoint; + request: ReposDisableVulnerabilityAlertsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/scim/#remove-a-user-from-the-organization + */ + "DELETE /scim/v2/organizations/:org/Users/:scim_user_id": { + parameters: ScimRemoveUserFromOrgEndpoint; + request: ScimRemoveUserFromOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#delete-team-legacy + */ + "DELETE /teams/:team_id": { + parameters: TeamsDeleteLegacyEndpoint; + request: TeamsDeleteLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#delete-a-discussion-legacy + */ + "DELETE /teams/:team_id/discussions/:discussion_number": { + parameters: TeamsDeleteDiscussionLegacyEndpoint; + request: TeamsDeleteDiscussionLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#delete-a-comment-legacy + */ + "DELETE /teams/:team_id/discussions/:discussion_number/comments/:comment_number": { + parameters: TeamsDeleteDiscussionCommentLegacyEndpoint; + request: TeamsDeleteDiscussionCommentLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#remove-team-member-legacy + */ + "DELETE /teams/:team_id/members/:username": { + parameters: TeamsRemoveMemberLegacyEndpoint; + request: TeamsRemoveMemberLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#remove-team-membership-legacy + */ + "DELETE /teams/:team_id/memberships/:username": { + parameters: TeamsRemoveMembershipLegacyEndpoint; + request: TeamsRemoveMembershipLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#remove-team-project-legacy + */ + "DELETE /teams/:team_id/projects/:project_id": { + parameters: TeamsRemoveProjectLegacyEndpoint; + request: TeamsRemoveProjectLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#remove-team-repository-legacy + */ + "DELETE /teams/:team_id/repos/:owner/:repo": { + parameters: TeamsRemoveRepoLegacyEndpoint; + request: TeamsRemoveRepoLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/blocking/#unblock-a-user + */ + "DELETE /user/blocks/:username": { + parameters: UsersUnblockEndpoint; + request: UsersUnblockRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/emails/#delete-email-addresses + */ + "DELETE /user/emails": { + parameters: UsersDeleteEmailsEndpoint; + request: UsersDeleteEmailsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/followers/#unfollow-a-user + */ + "DELETE /user/following/:username": { + parameters: UsersUnfollowEndpoint; + request: UsersUnfollowRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/gpg_keys/#delete-a-gpg-key + */ + "DELETE /user/gpg_keys/:gpg_key_id": { + parameters: UsersDeleteGpgKeyEndpoint; + request: UsersDeleteGpgKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/installations/#remove-repository-from-installation + */ + "DELETE /user/installations/:installation_id/repositories/:repository_id": { + parameters: AppsRemoveRepoFromInstallationEndpoint; + request: AppsRemoveRepoFromInstallationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/keys/#delete-a-public-key + */ + "DELETE /user/keys/:key_id": { + parameters: UsersDeletePublicKeyEndpoint; + request: UsersDeletePublicKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/users/#delete-a-user-migration-archive + */ + "DELETE /user/migrations/:migration_id/archive": { + parameters: MigrationsDeleteArchiveForAuthenticatedUserEndpoint; + request: MigrationsDeleteArchiveForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/users/#unlock-a-user-repository + */ + "DELETE /user/migrations/:migration_id/repos/:repo_name/lock": { + parameters: MigrationsUnlockRepoForAuthenticatedUserEndpoint; + request: MigrationsUnlockRepoForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/invitations/#decline-a-repository-invitation + */ + "DELETE /user/repository_invitations/:invitation_id": { + parameters: ReposDeclineInvitationEndpoint; + request: ReposDeclineInvitationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/starring/#unstar-a-repository-for-the-authenticated-user + */ + "DELETE /user/starred/:owner/:repo": { + parameters: ActivityUnstarRepoForAuthenticatedUserEndpoint; + request: ActivityUnstarRepoForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/watching/#stop-watching-a-repository-legacy + */ + "DELETE /user/subscriptions/:owner/:repo": { + parameters: ActivityStopWatchingRepoLegacyEndpoint; + request: ActivityStopWatchingRepoLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#get-the-authenticated-github-app + */ + "GET /app": { + parameters: AppsGetAuthenticatedEndpoint; + request: AppsGetAuthenticatedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#list-installations + */ + "GET /app/installations": { + parameters: AppsListInstallationsEndpoint; + request: AppsListInstallationsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#get-an-installation + */ + "GET /app/installations/:installation_id": { + parameters: AppsGetInstallationEndpoint; + request: AppsGetInstallationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/oauth_applications/#check-an-authorization + */ + "GET /applications/:client_id/tokens/:access_token": { + parameters: AppsCheckAuthorizationEndpoint; + request: AppsCheckAuthorizationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#list-your-grants + */ + "GET /applications/grants": { + parameters: OauthAuthorizationsListGrantsEndpoint; + request: OauthAuthorizationsListGrantsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#get-a-single-grant + */ + "GET /applications/grants/:grant_id": { + parameters: OauthAuthorizationsGetGrantEndpoint; + request: OauthAuthorizationsGetGrantRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#get-a-single-github-app + */ + "GET /apps/:app_slug": { + parameters: AppsGetBySlugEndpoint; + request: AppsGetBySlugRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#list-your-authorizations + */ + "GET /authorizations": { + parameters: OauthAuthorizationsListAuthorizationsEndpoint; + request: OauthAuthorizationsListAuthorizationsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#get-a-single-authorization + */ + "GET /authorizations/:authorization_id": { + parameters: OauthAuthorizationsGetAuthorizationEndpoint; + request: OauthAuthorizationsGetAuthorizationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/codes_of_conduct/#list-all-codes-of-conduct + */ + "GET /codes_of_conduct": { + parameters: CodesOfConductGetAllCodesOfConductEndpoint; + request: CodesOfConductGetAllCodesOfConductRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/codes_of_conduct/#get-an-individual-code-of-conduct + */ + "GET /codes_of_conduct/:key": { + parameters: CodesOfConductGetConductCodeEndpoint; + request: CodesOfConductGetConductCodeRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/emojis/#emojis + */ + "GET /emojis": { + parameters: EmojisGetEndpoint; + request: EmojisGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/events/#list-public-events + */ + "GET /events": { + parameters: ActivityListPublicEventsEndpoint; + request: ActivityListPublicEventsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/feeds/#get-feeds + */ + "GET /feeds": { + parameters: ActivityGetFeedsEndpoint; + request: ActivityGetFeedsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#list-gists-for-the-authenticated-user + */ + "GET /gists": { + parameters: GistsListEndpoint; + request: GistsListRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#get-a-gist + */ + "GET /gists/:gist_id": { + parameters: GistsGetEndpoint; + request: GistsGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#get-a-specific-revision-of-a-gist + */ + "GET /gists/:gist_id/:sha": { + parameters: GistsGetRevisionEndpoint; + request: GistsGetRevisionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/comments/#list-comments-on-a-gist + */ + "GET /gists/:gist_id/comments": { + parameters: GistsListCommentsEndpoint; + request: GistsListCommentsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/comments/#get-a-single-comment + */ + "GET /gists/:gist_id/comments/:comment_id": { + parameters: GistsGetCommentEndpoint; + request: GistsGetCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#list-gist-commits + */ + "GET /gists/:gist_id/commits": { + parameters: GistsListCommitsEndpoint; + request: GistsListCommitsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#list-gist-forks + */ + "GET /gists/:gist_id/forks": { + parameters: GistsListForksEndpoint; + request: GistsListForksRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#check-if-a-gist-is-starred + */ + "GET /gists/:gist_id/star": { + parameters: GistsCheckIsStarredEndpoint; + request: GistsCheckIsStarredRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#list-public-gists + */ + "GET /gists/public": { + parameters: GistsListPublicEndpoint; + request: GistsListPublicRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#list-starred-gists + */ + "GET /gists/starred": { + parameters: GistsListStarredEndpoint; + request: GistsListStarredRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gitignore/#listing-available-templates + */ + "GET /gitignore/templates": { + parameters: GitignoreListTemplatesEndpoint; + request: GitignoreListTemplatesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gitignore/#get-a-single-template + */ + "GET /gitignore/templates/:name": { + parameters: GitignoreGetTemplateEndpoint; + request: GitignoreGetTemplateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/installations/#list-repositories + */ + "GET /installation/repositories": { + parameters: AppsListReposEndpoint; + request: AppsListReposRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/#list-issues-assigned-to-the-authenticated-user + */ + "GET /issues": { + parameters: IssuesListEndpoint; + request: IssuesListRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/legacy/#search-issues + */ + "GET /legacy/issues/search/:owner/:repository/:state/:keyword": { + parameters: SearchIssuesLegacyEndpoint; + request: SearchIssuesLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/legacy/#search-repositories + */ + "GET /legacy/repos/search/:keyword": { + parameters: SearchReposLegacyEndpoint; + request: SearchReposLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/legacy/#email-search + */ + "GET /legacy/user/email/:email": { + parameters: SearchEmailLegacyEndpoint; + request: SearchEmailLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/legacy/#search-users + */ + "GET /legacy/user/search/:keyword": { + parameters: SearchUsersLegacyEndpoint; + request: SearchUsersLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/licenses/#list-commonly-used-licenses + */ + "GET /licenses": { + parameters: LicensesListCommonlyUsedEndpoint; + request: LicensesListCommonlyUsedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/licenses/#get-an-individual-license + */ + "GET /licenses/:license": { + parameters: LicensesGetEndpoint; + request: LicensesGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/marketplace/#get-a-subscription-plan-for-an-account + */ + "GET /marketplace_listing/accounts/:account_id": { + parameters: AppsGetSubscriptionPlanForAccountEndpoint; + request: AppsGetSubscriptionPlanForAccountRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/marketplace/#list-plans + */ + "GET /marketplace_listing/plans": { + parameters: AppsListPlansEndpoint; + request: AppsListPlansRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/marketplace/#list-accounts-for-a-plan + */ + "GET /marketplace_listing/plans/:plan_id/accounts": { + parameters: AppsListAccountsForPlanEndpoint; + request: AppsListAccountsForPlanRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/marketplace/#get-a-subscription-plan-for-an-account-stubbed + */ + "GET /marketplace_listing/stubbed/accounts/:account_id": { + parameters: AppsGetSubscriptionPlanForAccountStubbedEndpoint; + request: AppsGetSubscriptionPlanForAccountStubbedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/marketplace/#list-plans-stubbed + */ + "GET /marketplace_listing/stubbed/plans": { + parameters: AppsListPlansStubbedEndpoint; + request: AppsListPlansStubbedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/marketplace/#list-accounts-for-a-plan-stubbed + */ + "GET /marketplace_listing/stubbed/plans/:plan_id/accounts": { + parameters: AppsListAccountsForPlanStubbedEndpoint; + request: AppsListAccountsForPlanStubbedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/meta/#meta + */ + "GET /meta": { + parameters: MetaGetEndpoint; + request: MetaGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/events/#list-public-events-for-a-network-of-repositories + */ + "GET /networks/:owner/:repo/events": { + parameters: ActivityListPublicEventsForRepoNetworkEndpoint; + request: ActivityListPublicEventsForRepoNetworkRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/notifications/#list-notifications-for-the-authenticated-user + */ + "GET /notifications": { + parameters: ActivityListNotificationsForAuthenticatedUserEndpoint; + request: ActivityListNotificationsForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/notifications/#get-a-thread + */ + "GET /notifications/threads/:thread_id": { + parameters: ActivityGetThreadEndpoint; + request: ActivityGetThreadRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/notifications/#get-a-thread-subscription-for-the-authenticated-user + */ + "GET /notifications/threads/:thread_id/subscription": { + parameters: ActivityGetThreadSubscriptionForAuthenticatedUserEndpoint; + request: ActivityGetThreadSubscriptionForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/#list-all-organizations + */ + "GET /organizations": { + parameters: OrgsListEndpoint; + request: OrgsListRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/#get-an-organization + */ + "GET /orgs/:org": { + parameters: OrgsGetEndpoint; + request: OrgsGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#list-self-hosted-runners-for-an-organization + */ + "GET /orgs/:org/actions/runners": { + parameters: ActionsListSelfHostedRunnersForOrgEndpoint; + request: ActionsListSelfHostedRunnersForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#get-a-self-hosted-runner-for-an-organization + */ + "GET /orgs/:org/actions/runners/:runner_id": { + parameters: ActionsGetSelfHostedRunnerForOrgEndpoint; + request: ActionsGetSelfHostedRunnerForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#list-runner-applications-for-an-organization + */ + "GET /orgs/:org/actions/runners/downloads": { + parameters: ActionsListRunnerApplicationsForOrgEndpoint; + request: ActionsListRunnerApplicationsForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/blocking/#list-blocked-users + */ + "GET /orgs/:org/blocks": { + parameters: OrgsListBlockedUsersEndpoint; + request: OrgsListBlockedUsersRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/blocking/#check-whether-a-user-is-blocked-from-an-organization + */ + "GET /orgs/:org/blocks/:username": { + parameters: OrgsCheckBlockedUserEndpoint; + request: OrgsCheckBlockedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/#list-credential-authorizations-for-an-organization + */ + "GET /orgs/:org/credential-authorizations": { + parameters: OrgsListCredentialAuthorizationsEndpoint; + request: OrgsListCredentialAuthorizationsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/events/#list-public-organization-events + */ + "GET /orgs/:org/events": { + parameters: ActivityListPublicOrgEventsEndpoint; + request: ActivityListPublicOrgEventsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/hooks/#list-hooks + */ + "GET /orgs/:org/hooks": { + parameters: OrgsListHooksEndpoint; + request: OrgsListHooksRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/hooks/#get-single-hook + */ + "GET /orgs/:org/hooks/:hook_id": { + parameters: OrgsGetHookEndpoint; + request: OrgsGetHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#get-an-organization-installation + */ + "GET /orgs/:org/installation": { + parameters: AppsGetOrgInstallationEndpoint; + request: AppsGetOrgInstallationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/#list-installations-for-an-organization + */ + "GET /orgs/:org/installations": { + parameters: OrgsListInstallationsEndpoint; + request: OrgsListInstallationsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/interactions/orgs/#get-interaction-restrictions-for-an-organization + */ + "GET /orgs/:org/interaction-limits": { + parameters: InteractionsGetRestrictionsForOrgEndpoint; + request: InteractionsGetRestrictionsForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#list-pending-organization-invitations + */ + "GET /orgs/:org/invitations": { + parameters: OrgsListPendingInvitationsEndpoint; + request: OrgsListPendingInvitationsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#list-organization-invitation-teams + */ + "GET /orgs/:org/invitations/:invitation_id/teams": { + parameters: OrgsListInvitationTeamsEndpoint; + request: OrgsListInvitationTeamsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/#list-organization-issues-assigned-to-the-authenticated-user + */ + "GET /orgs/:org/issues": { + parameters: IssuesListForOrgEndpoint; + request: IssuesListForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#members-list + */ + "GET /orgs/:org/members": { + parameters: OrgsListMembersEndpoint; + request: OrgsListMembersRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#check-membership + */ + "GET /orgs/:org/members/:username": { + parameters: OrgsCheckMembershipEndpoint; + request: OrgsCheckMembershipRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#get-organization-membership + */ + "GET /orgs/:org/memberships/:username": { + parameters: OrgsGetMembershipEndpoint; + request: OrgsGetMembershipRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/orgs/#list-organization-migrations + */ + "GET /orgs/:org/migrations": { + parameters: MigrationsListForOrgEndpoint; + request: MigrationsListForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/orgs/#get-the-status-of-an-organization-migration + */ + "GET /orgs/:org/migrations/:migration_id": { + parameters: MigrationsGetStatusForOrgEndpoint; + request: MigrationsGetStatusForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/orgs/#download-an-organization-migration-archive + */ + "GET /orgs/:org/migrations/:migration_id/archive": { + parameters: MigrationsDownloadArchiveForOrgEndpoint; + request: MigrationsDownloadArchiveForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/orgs/#list-repositories-in-an-organization-migration + */ + "GET /orgs/:org/migrations/:migration_id/repositories": { + parameters: MigrationsListReposForOrgEndpoint; + request: MigrationsListReposForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/outside_collaborators/#list-outside-collaborators + */ + "GET /orgs/:org/outside_collaborators": { + parameters: OrgsListOutsideCollaboratorsEndpoint; + request: OrgsListOutsideCollaboratorsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/#list-organization-projects + */ + "GET /orgs/:org/projects": { + parameters: ProjectsListForOrgEndpoint; + request: ProjectsListForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#public-members-list + */ + "GET /orgs/:org/public_members": { + parameters: OrgsListPublicMembersEndpoint; + request: OrgsListPublicMembersRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#check-public-membership + */ + "GET /orgs/:org/public_members/:username": { + parameters: OrgsCheckPublicMembershipEndpoint; + request: OrgsCheckPublicMembershipRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#list-organization-repositories + */ + "GET /orgs/:org/repos": { + parameters: ReposListForOrgEndpoint; + request: ReposListForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/team_sync/#list-idp-groups-in-an-organization + */ + "GET /orgs/:org/team-sync/groups": { + parameters: TeamsListIdPGroupsForOrgEndpoint; + request: TeamsListIdPGroupsForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#list-teams + */ + "GET /orgs/:org/teams": { + parameters: TeamsListEndpoint; + request: TeamsListRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#get-team-by-name + */ + "GET /orgs/:org/teams/:team_slug": { + parameters: TeamsGetByNameEndpoint; + request: TeamsGetByNameRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#list-discussions + */ + "GET /orgs/:org/teams/:team_slug/discussions": { + parameters: TeamsListDiscussionsInOrgEndpoint; + request: TeamsListDiscussionsInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#get-a-single-discussion + */ + "GET /orgs/:org/teams/:team_slug/discussions/:discussion_number": { + parameters: TeamsGetDiscussionInOrgEndpoint; + request: TeamsGetDiscussionInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#list-comments + */ + "GET /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments": { + parameters: TeamsListDiscussionCommentsInOrgEndpoint; + request: TeamsListDiscussionCommentsInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#get-a-single-comment + */ + "GET /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number": { + parameters: TeamsGetDiscussionCommentInOrgEndpoint; + request: TeamsGetDiscussionCommentInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-comment + */ + "GET /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions": { + parameters: ReactionsListForTeamDiscussionCommentInOrgEndpoint; + request: ReactionsListForTeamDiscussionCommentInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion + */ + "GET /orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions": { + parameters: ReactionsListForTeamDiscussionInOrgEndpoint; + request: ReactionsListForTeamDiscussionInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#list-pending-team-invitations + */ + "GET /orgs/:org/teams/:team_slug/invitations": { + parameters: TeamsListPendingInvitationsInOrgEndpoint; + request: TeamsListPendingInvitationsInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#list-team-members + */ + "GET /orgs/:org/teams/:team_slug/members": { + parameters: TeamsListMembersInOrgEndpoint; + request: TeamsListMembersInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#get-team-membership + */ + "GET /orgs/:org/teams/:team_slug/memberships/:username": { + parameters: TeamsGetMembershipInOrgEndpoint; + request: TeamsGetMembershipInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#list-team-projects + */ + "GET /orgs/:org/teams/:team_slug/projects": { + parameters: TeamsListProjectsInOrgEndpoint; + request: TeamsListProjectsInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#review-a-team-project + */ + "GET /orgs/:org/teams/:team_slug/projects/:project_id": { + parameters: TeamsReviewProjectInOrgEndpoint; + request: TeamsReviewProjectInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#list-team-repos + */ + "GET /orgs/:org/teams/:team_slug/repos": { + parameters: TeamsListReposInOrgEndpoint; + request: TeamsListReposInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#check-if-a-team-manages-a-repository + */ + "GET /orgs/:org/teams/:team_slug/repos/:owner/:repo": { + parameters: TeamsCheckManagesRepoInOrgEndpoint; + request: TeamsCheckManagesRepoInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/team_sync/#list-idp-groups-for-a-team + */ + "GET /orgs/:org/teams/:team_slug/team-sync/group-mappings": { + parameters: TeamsListIdPGroupsInOrgEndpoint; + request: TeamsListIdPGroupsInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#list-child-teams + */ + "GET /orgs/:org/teams/:team_slug/teams": { + parameters: TeamsListChildInOrgEndpoint; + request: TeamsListChildInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/#get-a-project + */ + "GET /projects/:project_id": { + parameters: ProjectsGetEndpoint; + request: ProjectsGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/collaborators/#list-collaborators + */ + "GET /projects/:project_id/collaborators": { + parameters: ProjectsListCollaboratorsEndpoint; + request: ProjectsListCollaboratorsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/collaborators/#review-a-users-permission-level + */ + "GET /projects/:project_id/collaborators/:username/permission": { + parameters: ProjectsReviewUserPermissionLevelEndpoint; + request: ProjectsReviewUserPermissionLevelRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/columns/#list-project-columns + */ + "GET /projects/:project_id/columns": { + parameters: ProjectsListColumnsEndpoint; + request: ProjectsListColumnsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/columns/#get-a-project-column + */ + "GET /projects/columns/:column_id": { + parameters: ProjectsGetColumnEndpoint; + request: ProjectsGetColumnRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/cards/#list-project-cards + */ + "GET /projects/columns/:column_id/cards": { + parameters: ProjectsListCardsEndpoint; + request: ProjectsListCardsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/cards/#get-a-project-card + */ + "GET /projects/columns/cards/:card_id": { + parameters: ProjectsGetCardEndpoint; + request: ProjectsGetCardRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/rate_limit/#get-your-current-rate-limit-status + */ + "GET /rate_limit": { + parameters: RateLimitGetEndpoint; + request: RateLimitGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#get-a-repository + */ + "GET /repos/:owner/:repo": { + parameters: ReposGetEndpoint; + request: ReposGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/contents/#get-archive-link + */ + "GET /repos/:owner/:repo/:archive_format/:ref": { + parameters: ReposGetArchiveLinkEndpoint; + request: ReposGetArchiveLinkRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/artifacts/#list-artifacts-for-a-repository + */ + "GET /repos/:owner/:repo/actions/artifacts": { + parameters: ActionsListArtifactsForRepoEndpoint; + request: ActionsListArtifactsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/artifacts/#get-an-artifact + */ + "GET /repos/:owner/:repo/actions/artifacts/:artifact_id": { + parameters: ActionsGetArtifactEndpoint; + request: ActionsGetArtifactRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/artifacts/#download-an-artifact + */ + "GET /repos/:owner/:repo/actions/artifacts/:artifact_id/:archive_format": { + parameters: ActionsDownloadArtifactEndpoint; + request: ActionsDownloadArtifactRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-jobs/#get-a-workflow-job + */ + "GET /repos/:owner/:repo/actions/jobs/:job_id": { + parameters: ActionsGetWorkflowJobEndpoint; + request: ActionsGetWorkflowJobRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-jobs/#download-workflow-job-logs + */ + "GET /repos/:owner/:repo/actions/jobs/:job_id/logs": { + parameters: ActionsDownloadWorkflowJobLogsEndpoint; + request: ActionsDownloadWorkflowJobLogsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#list-self-hosted-runners-for-a-repository + */ + "GET /repos/:owner/:repo/actions/runners": { + parameters: ActionsListSelfHostedRunnersForRepoEndpoint; + request: ActionsListSelfHostedRunnersForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#get-a-self-hosted-runner-for-a-repository + */ + "GET /repos/:owner/:repo/actions/runners/:runner_id": { + parameters: ActionsGetSelfHostedRunnerForRepoEndpoint; + request: ActionsGetSelfHostedRunnerForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#list-runner-applications-for-a-repository + */ + "GET /repos/:owner/:repo/actions/runners/downloads": { + parameters: ActionsListRunnerApplicationsForRepoEndpoint; + request: ActionsListRunnerApplicationsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-runs/#list-repository-workflow-runs + */ + "GET /repos/:owner/:repo/actions/runs": { + parameters: ActionsListRepoWorkflowRunsEndpoint; + request: ActionsListRepoWorkflowRunsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-runs/#get-a-workflow-run + */ + "GET /repos/:owner/:repo/actions/runs/:run_id": { + parameters: ActionsGetWorkflowRunEndpoint; + request: ActionsGetWorkflowRunRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/artifacts/#list-workflow-run-artifacts + */ + "GET /repos/:owner/:repo/actions/runs/:run_id/artifacts": { + parameters: ActionsListWorkflowRunArtifactsEndpoint; + request: ActionsListWorkflowRunArtifactsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-jobs/#list-jobs-for-a-workflow-run + */ + "GET /repos/:owner/:repo/actions/runs/:run_id/jobs": { + parameters: ActionsListJobsForWorkflowRunEndpoint; + request: ActionsListJobsForWorkflowRunRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-runs/#download-workflow-run-logs + */ + "GET /repos/:owner/:repo/actions/runs/:run_id/logs": { + parameters: ActionsDownloadWorkflowRunLogsEndpoint; + request: ActionsDownloadWorkflowRunLogsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/secrets/#list-secrets-for-a-repository + */ + "GET /repos/:owner/:repo/actions/secrets": { + parameters: ActionsListSecretsForRepoEndpoint; + request: ActionsListSecretsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/secrets/#get-a-secret + */ + "GET /repos/:owner/:repo/actions/secrets/:name": { + parameters: ActionsGetSecretEndpoint; + request: ActionsGetSecretRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/secrets/#get-your-public-key + */ + "GET /repos/:owner/:repo/actions/secrets/public-key": { + parameters: ActionsGetPublicKeyEndpoint; + request: ActionsGetPublicKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflows/#list-repository-workflows + */ + "GET /repos/:owner/:repo/actions/workflows": { + parameters: ActionsListRepoWorkflowsEndpoint; + request: ActionsListRepoWorkflowsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflows/#get-a-workflow + */ + "GET /repos/:owner/:repo/actions/workflows/:workflow_id": { + parameters: ActionsGetWorkflowEndpoint; + request: ActionsGetWorkflowRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-runs/#list-workflow-runs + */ + "GET /repos/:owner/:repo/actions/workflows/:workflow_id/runs": { + parameters: ActionsListWorkflowRunsEndpoint; + request: ActionsListWorkflowRunsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/assignees/#list-assignees + */ + "GET /repos/:owner/:repo/assignees": { + parameters: IssuesListAssigneesEndpoint; + request: IssuesListAssigneesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/assignees/#check-assignee + */ + "GET /repos/:owner/:repo/assignees/:assignee": { + parameters: IssuesCheckAssigneeEndpoint; + request: IssuesCheckAssigneeRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#list-branches + */ + "GET /repos/:owner/:repo/branches": { + parameters: ReposListBranchesEndpoint; + request: ReposListBranchesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#get-branch + */ + "GET /repos/:owner/:repo/branches/:branch": { + parameters: ReposGetBranchEndpoint; + request: ReposGetBranchRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#get-branch-protection + */ + "GET /repos/:owner/:repo/branches/:branch/protection": { + parameters: ReposGetBranchProtectionEndpoint; + request: ReposGetBranchProtectionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#get-admin-enforcement-of-protected-branch + */ + "GET /repos/:owner/:repo/branches/:branch/protection/enforce_admins": { + parameters: ReposGetProtectedBranchAdminEnforcementEndpoint; + request: ReposGetProtectedBranchAdminEnforcementRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#get-pull-request-review-enforcement-of-protected-branch + */ + "GET /repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews": { + parameters: ReposGetProtectedBranchPullRequestReviewEnforcementEndpoint; + request: ReposGetProtectedBranchPullRequestReviewEnforcementRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#get-required-signatures-of-protected-branch + */ + "GET /repos/:owner/:repo/branches/:branch/protection/required_signatures": { + parameters: ReposGetProtectedBranchRequiredSignaturesEndpoint; + request: ReposGetProtectedBranchRequiredSignaturesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#get-required-status-checks-of-protected-branch + */ + "GET /repos/:owner/:repo/branches/:branch/protection/required_status_checks": { + parameters: ReposGetProtectedBranchRequiredStatusChecksEndpoint; + request: ReposGetProtectedBranchRequiredStatusChecksRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#list-required-status-checks-contexts-of-protected-branch + */ + "GET /repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts": { + parameters: ReposListProtectedBranchRequiredStatusChecksContextsEndpoint; + request: ReposListProtectedBranchRequiredStatusChecksContextsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#get-restrictions-of-protected-branch + */ + "GET /repos/:owner/:repo/branches/:branch/protection/restrictions": { + parameters: ReposGetProtectedBranchRestrictionsEndpoint; + request: ReposGetProtectedBranchRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#list-apps-with-access-to-protected-branch + */ + "GET /repos/:owner/:repo/branches/:branch/protection/restrictions/apps": { + parameters: ReposGetAppsWithAccessToProtectedBranchEndpoint; + request: ReposGetAppsWithAccessToProtectedBranchRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#list-teams-with-access-to-protected-branch + */ + "GET /repos/:owner/:repo/branches/:branch/protection/restrictions/teams": { + parameters: ReposGetTeamsWithAccessToProtectedBranchEndpoint; + request: ReposGetTeamsWithAccessToProtectedBranchRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#list-users-with-access-to-protected-branch + */ + "GET /repos/:owner/:repo/branches/:branch/protection/restrictions/users": { + parameters: ReposGetUsersWithAccessToProtectedBranchEndpoint; + request: ReposGetUsersWithAccessToProtectedBranchRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/runs/#get-a-check-run + */ + "GET /repos/:owner/:repo/check-runs/:check_run_id": { + parameters: ChecksGetEndpoint; + request: ChecksGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/runs/#list-check-run-annotations + */ + "GET /repos/:owner/:repo/check-runs/:check_run_id/annotations": { + parameters: ChecksListAnnotationsEndpoint; + request: ChecksListAnnotationsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/suites/#get-a-check-suite + */ + "GET /repos/:owner/:repo/check-suites/:check_suite_id": { + parameters: ChecksGetSuiteEndpoint; + request: ChecksGetSuiteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/runs/#list-check-runs-in-a-check-suite + */ + "GET /repos/:owner/:repo/check-suites/:check_suite_id/check-runs": { + parameters: ChecksListForSuiteEndpoint; + request: ChecksListForSuiteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/code-scanning/#list-code-scanning-alerts-for-a-repository + */ + "GET /repos/:owner/:repo/code-scanning/alerts": { + parameters: CodeScanningListAlertsForRepoEndpoint; + request: CodeScanningListAlertsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/code-scanning/#get-a-code-scanning-alert + */ + "GET /repos/:owner/:repo/code-scanning/alerts/:alert_id": { + parameters: CodeScanningGetAlertEndpoint; + request: CodeScanningGetAlertRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/collaborators/#list-collaborators + */ + "GET /repos/:owner/:repo/collaborators": { + parameters: ReposListCollaboratorsEndpoint; + request: ReposListCollaboratorsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/collaborators/#check-if-a-user-is-a-collaborator + */ + "GET /repos/:owner/:repo/collaborators/:username": { + parameters: ReposCheckCollaboratorEndpoint; + request: ReposCheckCollaboratorRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/collaborators/#review-a-users-permission-level + */ + "GET /repos/:owner/:repo/collaborators/:username/permission": { + parameters: ReposGetCollaboratorPermissionLevelEndpoint; + request: ReposGetCollaboratorPermissionLevelRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/comments/#list-commit-comments-for-a-repository + */ + "GET /repos/:owner/:repo/comments": { + parameters: ReposListCommitCommentsEndpoint; + request: ReposListCommitCommentsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/comments/#get-a-single-commit-comment + */ + "GET /repos/:owner/:repo/comments/:comment_id": { + parameters: ReposGetCommitCommentEndpoint; + request: ReposGetCommitCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#list-reactions-for-a-commit-comment + */ + "GET /repos/:owner/:repo/comments/:comment_id/reactions": { + parameters: ReactionsListForCommitCommentEndpoint; + request: ReactionsListForCommitCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/commits/#list-commits-on-a-repository + */ + "GET /repos/:owner/:repo/commits": { + parameters: ReposListCommitsEndpoint; + request: ReposListCommitsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/commits/#list-branches-for-head-commit + */ + "GET /repos/:owner/:repo/commits/:commit_sha/branches-where-head": { + parameters: ReposListBranchesForHeadCommitEndpoint; + request: ReposListBranchesForHeadCommitRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/comments/#list-comments-for-a-single-commit + */ + "GET /repos/:owner/:repo/commits/:commit_sha/comments": { + parameters: ReposListCommentsForCommitEndpoint; + request: ReposListCommentsForCommitRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/commits/#list-pull-requests-associated-with-commit + */ + "GET /repos/:owner/:repo/commits/:commit_sha/pulls": { + parameters: ReposListPullRequestsAssociatedWithCommitEndpoint; + request: ReposListPullRequestsAssociatedWithCommitRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/commits/#get-a-single-commit + */ + "GET /repos/:owner/:repo/commits/:ref": { + parameters: ReposGetCommitEndpoint; + request: ReposGetCommitRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/runs/#list-check-runs-for-a-git-reference + */ + "GET /repos/:owner/:repo/commits/:ref/check-runs": { + parameters: ChecksListForRefEndpoint; + request: ChecksListForRefRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/suites/#list-check-suites-for-a-git-reference + */ + "GET /repos/:owner/:repo/commits/:ref/check-suites": { + parameters: ChecksListSuitesForRefEndpoint; + request: ChecksListSuitesForRefRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/statuses/#get-the-combined-status-for-a-specific-ref + */ + "GET /repos/:owner/:repo/commits/:ref/status": { + parameters: ReposGetCombinedStatusForRefEndpoint; + request: ReposGetCombinedStatusForRefRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/statuses/#list-statuses-for-a-specific-ref + */ + "GET /repos/:owner/:repo/commits/:ref/statuses": { + parameters: ReposListStatusesForRefEndpoint; + request: ReposListStatusesForRefRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/codes_of_conduct/#get-the-contents-of-a-repositorys-code-of-conduct + */ + "GET /repos/:owner/:repo/community/code_of_conduct": { + parameters: CodesOfConductGetForRepoEndpoint; + request: CodesOfConductGetForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/community/#retrieve-community-profile-metrics + */ + "GET /repos/:owner/:repo/community/profile": { + parameters: ReposRetrieveCommunityProfileMetricsEndpoint; + request: ReposRetrieveCommunityProfileMetricsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/commits/#compare-two-commits + */ + "GET /repos/:owner/:repo/compare/:base...:head": { + parameters: ReposCompareCommitsEndpoint; + request: ReposCompareCommitsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/contents/#get-contents + */ + "GET /repos/:owner/:repo/contents/:path": { + parameters: ReposGetContentsEndpoint; + request: ReposGetContentsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#list-contributors + */ + "GET /repos/:owner/:repo/contributors": { + parameters: ReposListContributorsEndpoint; + request: ReposListContributorsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/deployments/#list-deployments + */ + "GET /repos/:owner/:repo/deployments": { + parameters: ReposListDeploymentsEndpoint; + request: ReposListDeploymentsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/deployments/#get-a-single-deployment + */ + "GET /repos/:owner/:repo/deployments/:deployment_id": { + parameters: ReposGetDeploymentEndpoint; + request: ReposGetDeploymentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/deployments/#list-deployment-statuses + */ + "GET /repos/:owner/:repo/deployments/:deployment_id/statuses": { + parameters: ReposListDeploymentStatusesEndpoint; + request: ReposListDeploymentStatusesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/deployments/#get-a-single-deployment-status + */ + "GET /repos/:owner/:repo/deployments/:deployment_id/statuses/:status_id": { + parameters: ReposGetDeploymentStatusEndpoint; + request: ReposGetDeploymentStatusRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/downloads/#list-downloads-for-a-repository + */ + "GET /repos/:owner/:repo/downloads": { + parameters: ReposListDownloadsEndpoint; + request: ReposListDownloadsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/downloads/#get-a-single-download + */ + "GET /repos/:owner/:repo/downloads/:download_id": { + parameters: ReposGetDownloadEndpoint; + request: ReposGetDownloadRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/events/#list-repository-events + */ + "GET /repos/:owner/:repo/events": { + parameters: ActivityListRepoEventsEndpoint; + request: ActivityListRepoEventsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/forks/#list-forks + */ + "GET /repos/:owner/:repo/forks": { + parameters: ReposListForksEndpoint; + request: ReposListForksRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/blobs/#get-a-blob + */ + "GET /repos/:owner/:repo/git/blobs/:file_sha": { + parameters: GitGetBlobEndpoint; + request: GitGetBlobRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/commits/#get-a-commit + */ + "GET /repos/:owner/:repo/git/commits/:commit_sha": { + parameters: GitGetCommitEndpoint; + request: GitGetCommitRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/refs/#list-matching-references + */ + "GET /repos/:owner/:repo/git/matching-refs/:ref": { + parameters: GitListMatchingRefsEndpoint; + request: GitListMatchingRefsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/refs/#get-a-single-reference + */ + "GET /repos/:owner/:repo/git/ref/:ref": { + parameters: GitGetRefEndpoint; + request: GitGetRefRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/tags/#get-a-tag + */ + "GET /repos/:owner/:repo/git/tags/:tag_sha": { + parameters: GitGetTagEndpoint; + request: GitGetTagRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/trees/#get-a-tree + */ + "GET /repos/:owner/:repo/git/trees/:tree_sha": { + parameters: GitGetTreeEndpoint; + request: GitGetTreeRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/hooks/#list-hooks + */ + "GET /repos/:owner/:repo/hooks": { + parameters: ReposListHooksEndpoint; + request: ReposListHooksRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/hooks/#get-single-hook + */ + "GET /repos/:owner/:repo/hooks/:hook_id": { + parameters: ReposGetHookEndpoint; + request: ReposGetHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/source_imports/#get-import-progress + */ + "GET /repos/:owner/:repo/import": { + parameters: MigrationsGetImportProgressEndpoint; + request: MigrationsGetImportProgressRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/source_imports/#get-commit-authors + */ + "GET /repos/:owner/:repo/import/authors": { + parameters: MigrationsGetCommitAuthorsEndpoint; + request: MigrationsGetCommitAuthorsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/source_imports/#get-large-files + */ + "GET /repos/:owner/:repo/import/large_files": { + parameters: MigrationsGetLargeFilesEndpoint; + request: MigrationsGetLargeFilesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#get-a-repository-installation + */ + "GET /repos/:owner/:repo/installation": { + parameters: AppsGetRepoInstallationEndpoint; + request: AppsGetRepoInstallationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/interactions/repos/#get-interaction-restrictions-for-a-repository + */ + "GET /repos/:owner/:repo/interaction-limits": { + parameters: InteractionsGetRestrictionsForRepoEndpoint; + request: InteractionsGetRestrictionsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/invitations/#list-invitations-for-a-repository + */ + "GET /repos/:owner/:repo/invitations": { + parameters: ReposListInvitationsEndpoint; + request: ReposListInvitationsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/#list-repository-issues + */ + "GET /repos/:owner/:repo/issues": { + parameters: IssuesListForRepoEndpoint; + request: IssuesListForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/#get-an-issue + */ + "GET /repos/:owner/:repo/issues/:issue_number": { + parameters: IssuesGetEndpoint; + request: IssuesGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/comments/#list-comments-on-an-issue + */ + "GET /repos/:owner/:repo/issues/:issue_number/comments": { + parameters: IssuesListCommentsEndpoint; + request: IssuesListCommentsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/events/#list-events-for-an-issue + */ + "GET /repos/:owner/:repo/issues/:issue_number/events": { + parameters: IssuesListEventsEndpoint; + request: IssuesListEventsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#list-labels-on-an-issue + */ + "GET /repos/:owner/:repo/issues/:issue_number/labels": { + parameters: IssuesListLabelsOnIssueEndpoint; + request: IssuesListLabelsOnIssueRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#list-reactions-for-an-issue + */ + "GET /repos/:owner/:repo/issues/:issue_number/reactions": { + parameters: ReactionsListForIssueEndpoint; + request: ReactionsListForIssueRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/timeline/#list-events-for-an-issue + */ + "GET /repos/:owner/:repo/issues/:issue_number/timeline": { + parameters: IssuesListEventsForTimelineEndpoint; + request: IssuesListEventsForTimelineRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/comments/#list-comments-in-a-repository + */ + "GET /repos/:owner/:repo/issues/comments": { + parameters: IssuesListCommentsForRepoEndpoint; + request: IssuesListCommentsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/comments/#get-a-single-comment + */ + "GET /repos/:owner/:repo/issues/comments/:comment_id": { + parameters: IssuesGetCommentEndpoint; + request: IssuesGetCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#list-reactions-for-an-issue-comment + */ + "GET /repos/:owner/:repo/issues/comments/:comment_id/reactions": { + parameters: ReactionsListForIssueCommentEndpoint; + request: ReactionsListForIssueCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/events/#list-events-for-a-repository + */ + "GET /repos/:owner/:repo/issues/events": { + parameters: IssuesListEventsForRepoEndpoint; + request: IssuesListEventsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/events/#get-a-single-event + */ + "GET /repos/:owner/:repo/issues/events/:event_id": { + parameters: IssuesGetEventEndpoint; + request: IssuesGetEventRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/keys/#list-deploy-keys + */ + "GET /repos/:owner/:repo/keys": { + parameters: ReposListDeployKeysEndpoint; + request: ReposListDeployKeysRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/keys/#get-a-deploy-key + */ + "GET /repos/:owner/:repo/keys/:key_id": { + parameters: ReposGetDeployKeyEndpoint; + request: ReposGetDeployKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#list-all-labels-for-this-repository + */ + "GET /repos/:owner/:repo/labels": { + parameters: IssuesListLabelsForRepoEndpoint; + request: IssuesListLabelsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#get-a-single-label + */ + "GET /repos/:owner/:repo/labels/:name": { + parameters: IssuesGetLabelEndpoint; + request: IssuesGetLabelRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#list-languages + */ + "GET /repos/:owner/:repo/languages": { + parameters: ReposListLanguagesEndpoint; + request: ReposListLanguagesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/licenses/#get-the-contents-of-a-repositorys-license + */ + "GET /repos/:owner/:repo/license": { + parameters: LicensesGetForRepoEndpoint; + request: LicensesGetForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/milestones/#list-milestones-for-a-repository + */ + "GET /repos/:owner/:repo/milestones": { + parameters: IssuesListMilestonesForRepoEndpoint; + request: IssuesListMilestonesForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/milestones/#get-a-single-milestone + */ + "GET /repos/:owner/:repo/milestones/:milestone_number": { + parameters: IssuesGetMilestoneEndpoint; + request: IssuesGetMilestoneRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#get-labels-for-every-issue-in-a-milestone + */ + "GET /repos/:owner/:repo/milestones/:milestone_number/labels": { + parameters: IssuesListLabelsForMilestoneEndpoint; + request: IssuesListLabelsForMilestoneRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/notifications/#list-repository-notifications-for-the-authenticated-user + */ + "GET /repos/:owner/:repo/notifications": { + parameters: ActivityListRepoNotificationsForAuthenticatedUserEndpoint; + request: ActivityListRepoNotificationsForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/pages/#get-information-about-a-pages-site + */ + "GET /repos/:owner/:repo/pages": { + parameters: ReposGetPagesEndpoint; + request: ReposGetPagesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/pages/#list-pages-builds + */ + "GET /repos/:owner/:repo/pages/builds": { + parameters: ReposListPagesBuildsEndpoint; + request: ReposListPagesBuildsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/pages/#get-a-specific-pages-build + */ + "GET /repos/:owner/:repo/pages/builds/:build_id": { + parameters: ReposGetPagesBuildEndpoint; + request: ReposGetPagesBuildRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/pages/#get-latest-pages-build + */ + "GET /repos/:owner/:repo/pages/builds/latest": { + parameters: ReposGetLatestPagesBuildEndpoint; + request: ReposGetLatestPagesBuildRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/#list-repository-projects + */ + "GET /repos/:owner/:repo/projects": { + parameters: ProjectsListForRepoEndpoint; + request: ProjectsListForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/#list-pull-requests + */ + "GET /repos/:owner/:repo/pulls": { + parameters: PullsListEndpoint; + request: PullsListRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/#get-a-single-pull-request + */ + "GET /repos/:owner/:repo/pulls/:pull_number": { + parameters: PullsGetEndpoint; + request: PullsGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/comments/#list-comments-on-a-pull-request + */ + "GET /repos/:owner/:repo/pulls/:pull_number/comments": { + parameters: PullsListCommentsEndpoint; + request: PullsListCommentsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/#list-commits-on-a-pull-request + */ + "GET /repos/:owner/:repo/pulls/:pull_number/commits": { + parameters: PullsListCommitsEndpoint; + request: PullsListCommitsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/#list-pull-requests-files + */ + "GET /repos/:owner/:repo/pulls/:pull_number/files": { + parameters: PullsListFilesEndpoint; + request: PullsListFilesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/#get-if-a-pull-request-has-been-merged + */ + "GET /repos/:owner/:repo/pulls/:pull_number/merge": { + parameters: PullsCheckIfMergedEndpoint; + request: PullsCheckIfMergedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/review_requests/#list-review-requests + */ + "GET /repos/:owner/:repo/pulls/:pull_number/requested_reviewers": { + parameters: PullsListReviewRequestsEndpoint; + request: PullsListReviewRequestsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/reviews/#list-reviews-on-a-pull-request + */ + "GET /repos/:owner/:repo/pulls/:pull_number/reviews": { + parameters: PullsListReviewsEndpoint; + request: PullsListReviewsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/reviews/#get-a-single-review + */ + "GET /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id": { + parameters: PullsGetReviewEndpoint; + request: PullsGetReviewRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/reviews/#get-comments-for-a-single-review + */ + "GET /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/comments": { + parameters: PullsGetCommentsForReviewEndpoint; + request: PullsGetCommentsForReviewRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/comments/#list-comments-in-a-repository + */ + "GET /repos/:owner/:repo/pulls/comments": { + parameters: PullsListCommentsForRepoEndpoint; + request: PullsListCommentsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/comments/#get-a-single-comment + */ + "GET /repos/:owner/:repo/pulls/comments/:comment_id": { + parameters: PullsGetCommentEndpoint; + request: PullsGetCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#list-reactions-for-a-pull-request-review-comment + */ + "GET /repos/:owner/:repo/pulls/comments/:comment_id/reactions": { + parameters: ReactionsListForPullRequestReviewCommentEndpoint; + request: ReactionsListForPullRequestReviewCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/contents/#get-the-readme + */ + "GET /repos/:owner/:repo/readme": { + parameters: ReposGetReadmeEndpoint; + request: ReposGetReadmeRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#list-releases-for-a-repository + */ + "GET /repos/:owner/:repo/releases": { + parameters: ReposListReleasesEndpoint; + request: ReposListReleasesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#get-a-single-release + */ + "GET /repos/:owner/:repo/releases/:release_id": { + parameters: ReposGetReleaseEndpoint; + request: ReposGetReleaseRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#list-assets-for-a-release + */ + "GET /repos/:owner/:repo/releases/:release_id/assets": { + parameters: ReposListAssetsForReleaseEndpoint; + request: ReposListAssetsForReleaseRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#get-a-single-release-asset + */ + "GET /repos/:owner/:repo/releases/assets/:asset_id": { + parameters: ReposGetReleaseAssetEndpoint; + request: ReposGetReleaseAssetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#get-the-latest-release + */ + "GET /repos/:owner/:repo/releases/latest": { + parameters: ReposGetLatestReleaseEndpoint; + request: ReposGetLatestReleaseRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#get-a-release-by-tag-name + */ + "GET /repos/:owner/:repo/releases/tags/:tag": { + parameters: ReposGetReleaseByTagEndpoint; + request: ReposGetReleaseByTagRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/starring/#list-stargazers + */ + "GET /repos/:owner/:repo/stargazers": { + parameters: ActivityListStargazersForRepoEndpoint; + request: ActivityListStargazersForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/statistics/#get-the-number-of-additions-and-deletions-per-week + */ + "GET /repos/:owner/:repo/stats/code_frequency": { + parameters: ReposGetCodeFrequencyStatsEndpoint; + request: ReposGetCodeFrequencyStatsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/statistics/#get-the-last-year-of-commit-activity-data + */ + "GET /repos/:owner/:repo/stats/commit_activity": { + parameters: ReposGetCommitActivityStatsEndpoint; + request: ReposGetCommitActivityStatsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/statistics/#get-contributors-list-with-additions-deletions-and-commit-counts + */ + "GET /repos/:owner/:repo/stats/contributors": { + parameters: ReposGetContributorsStatsEndpoint; + request: ReposGetContributorsStatsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/statistics/#get-the-weekly-commit-count-for-the-repository-owner-and-everyone-else + */ + "GET /repos/:owner/:repo/stats/participation": { + parameters: ReposGetParticipationStatsEndpoint; + request: ReposGetParticipationStatsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/statistics/#get-the-number-of-commits-per-hour-in-each-day + */ + "GET /repos/:owner/:repo/stats/punch_card": { + parameters: ReposGetPunchCardStatsEndpoint; + request: ReposGetPunchCardStatsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/watching/#list-watchers + */ + "GET /repos/:owner/:repo/subscribers": { + parameters: ActivityListWatchersForRepoEndpoint; + request: ActivityListWatchersForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/watching/#get-a-repository-subscription + */ + "GET /repos/:owner/:repo/subscription": { + parameters: ActivityGetRepoSubscriptionEndpoint; + request: ActivityGetRepoSubscriptionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#list-tags + */ + "GET /repos/:owner/:repo/tags": { + parameters: ReposListTagsEndpoint; + request: ReposListTagsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#list-teams + */ + "GET /repos/:owner/:repo/teams": { + parameters: ReposListTeamsEndpoint; + request: ReposListTeamsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#get-all-repository-topics + */ + "GET /repos/:owner/:repo/topics": { + parameters: ReposGetAllTopicsEndpoint; + request: ReposGetAllTopicsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/traffic/#clones + */ + "GET /repos/:owner/:repo/traffic/clones": { + parameters: ReposGetClonesEndpoint; + request: ReposGetClonesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/traffic/#list-paths + */ + "GET /repos/:owner/:repo/traffic/popular/paths": { + parameters: ReposGetTopPathsEndpoint; + request: ReposGetTopPathsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/traffic/#list-referrers + */ + "GET /repos/:owner/:repo/traffic/popular/referrers": { + parameters: ReposGetTopReferrersEndpoint; + request: ReposGetTopReferrersRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/traffic/#views + */ + "GET /repos/:owner/:repo/traffic/views": { + parameters: ReposGetViewsEndpoint; + request: ReposGetViewsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#check-if-vulnerability-alerts-are-enabled-for-a-repository + */ + "GET /repos/:owner/:repo/vulnerability-alerts": { + parameters: ReposCheckVulnerabilityAlertsEndpoint; + request: ReposCheckVulnerabilityAlertsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#list-public-repositories + */ + "GET /repositories": { + parameters: ReposListPublicEndpoint; + request: ReposListPublicRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/scim/#get-a-list-of-provisioned-identities + */ + "GET /scim/v2/organizations/:org/Users": { + parameters: ScimListProvisionedIdentitiesEndpoint; + request: ScimListProvisionedIdentitiesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/scim/#get-provisioning-details-for-a-single-user + */ + "GET /scim/v2/organizations/:org/Users/:scim_user_id": { + parameters: ScimGetProvisioningDetailsForUserEndpoint; + request: ScimGetProvisioningDetailsForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/#search-code + */ + "GET /search/code": { + parameters: SearchCodeEndpoint; + request: SearchCodeRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/#search-commits + */ + "GET /search/commits": { + parameters: SearchCommitsEndpoint; + request: SearchCommitsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/#search-issues-and-pull-requests + */ + "GET /search/issues": { + parameters: SearchIssuesAndPullRequestsEndpoint; + request: SearchIssuesAndPullRequestsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/#search-labels + */ + "GET /search/labels": { + parameters: SearchLabelsEndpoint; + request: SearchLabelsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/#search-repositories + */ + "GET /search/repositories": { + parameters: SearchReposEndpoint; + request: SearchReposRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/#search-topics + */ + "GET /search/topics": { + parameters: SearchTopicsEndpoint; + request: SearchTopicsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/#search-users + */ + "GET /search/users": { + parameters: SearchUsersEndpoint; + request: SearchUsersRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#get-team-legacy + */ + "GET /teams/:team_id": { + parameters: TeamsGetLegacyEndpoint; + request: TeamsGetLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#list-discussions-legacy + */ + "GET /teams/:team_id/discussions": { + parameters: TeamsListDiscussionsLegacyEndpoint; + request: TeamsListDiscussionsLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#get-a-single-discussion-legacy + */ + "GET /teams/:team_id/discussions/:discussion_number": { + parameters: TeamsGetDiscussionLegacyEndpoint; + request: TeamsGetDiscussionLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#list-comments-legacy + */ + "GET /teams/:team_id/discussions/:discussion_number/comments": { + parameters: TeamsListDiscussionCommentsLegacyEndpoint; + request: TeamsListDiscussionCommentsLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#get-a-single-comment-legacy + */ + "GET /teams/:team_id/discussions/:discussion_number/comments/:comment_number": { + parameters: TeamsGetDiscussionCommentLegacyEndpoint; + request: TeamsGetDiscussionCommentLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-comment-legacy + */ + "GET /teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions": { + parameters: ReactionsListForTeamDiscussionCommentLegacyEndpoint; + request: ReactionsListForTeamDiscussionCommentLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-legacy + */ + "GET /teams/:team_id/discussions/:discussion_number/reactions": { + parameters: ReactionsListForTeamDiscussionLegacyEndpoint; + request: ReactionsListForTeamDiscussionLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#list-pending-team-invitations-legacy + */ + "GET /teams/:team_id/invitations": { + parameters: TeamsListPendingInvitationsLegacyEndpoint; + request: TeamsListPendingInvitationsLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#list-team-members-legacy + */ + "GET /teams/:team_id/members": { + parameters: TeamsListMembersLegacyEndpoint; + request: TeamsListMembersLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#get-team-member-legacy + */ + "GET /teams/:team_id/members/:username": { + parameters: TeamsGetMemberLegacyEndpoint; + request: TeamsGetMemberLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#get-team-membership-legacy + */ + "GET /teams/:team_id/memberships/:username": { + parameters: TeamsGetMembershipLegacyEndpoint; + request: TeamsGetMembershipLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#list-team-projects-legacy + */ + "GET /teams/:team_id/projects": { + parameters: TeamsListProjectsLegacyEndpoint; + request: TeamsListProjectsLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#review-a-team-project-legacy + */ + "GET /teams/:team_id/projects/:project_id": { + parameters: TeamsReviewProjectLegacyEndpoint; + request: TeamsReviewProjectLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#list-team-repos-legacy + */ + "GET /teams/:team_id/repos": { + parameters: TeamsListReposLegacyEndpoint; + request: TeamsListReposLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#check-if-a-team-manages-a-repository-legacy + */ + "GET /teams/:team_id/repos/:owner/:repo": { + parameters: TeamsCheckManagesRepoLegacyEndpoint; + request: TeamsCheckManagesRepoLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/team_sync/#list-idp-groups-for-a-team-legacy + */ + "GET /teams/:team_id/team-sync/group-mappings": { + parameters: TeamsListIdPGroupsForLegacyEndpoint; + request: TeamsListIdPGroupsForLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#list-child-teams-legacy + */ + "GET /teams/:team_id/teams": { + parameters: TeamsListChildLegacyEndpoint; + request: TeamsListChildLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/#get-the-authenticated-user + */ + "GET /user": { + parameters: UsersGetAuthenticatedEndpoint; + request: UsersGetAuthenticatedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/users/#list-repositories-for-a-user-migration + */ + "GET /user/:migration_id/repositories": { + parameters: MigrationsListReposForUserEndpoint; + request: MigrationsListReposForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/blocking/#list-blocked-users + */ + "GET /user/blocks": { + parameters: UsersListBlockedEndpoint; + request: UsersListBlockedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/blocking/#check-whether-youve-blocked-a-user + */ + "GET /user/blocks/:username": { + parameters: UsersCheckBlockedEndpoint; + request: UsersCheckBlockedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/emails/#list-email-addresses-for-a-user + */ + "GET /user/emails": { + parameters: UsersListEmailsEndpoint; + request: UsersListEmailsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/followers/#list-followers-of-the-authenticated-user + */ + "GET /user/followers": { + parameters: UsersListFollowersForAuthenticatedUserEndpoint; + request: UsersListFollowersForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/followers/#list-users-followed-by-the-authenticated-user + */ + "GET /user/following": { + parameters: UsersListFollowedByAuthenticatedEndpoint; + request: UsersListFollowedByAuthenticatedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/followers/#check-if-you-are-following-a-user + */ + "GET /user/following/:username": { + parameters: UsersCheckFollowingEndpoint; + request: UsersCheckFollowingRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/gpg_keys/#list-your-gpg-keys + */ + "GET /user/gpg_keys": { + parameters: UsersListGpgKeysEndpoint; + request: UsersListGpgKeysRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/gpg_keys/#get-a-single-gpg-key + */ + "GET /user/gpg_keys/:gpg_key_id": { + parameters: UsersGetGpgKeyEndpoint; + request: UsersGetGpgKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/installations/#list-installations-for-a-user + */ + "GET /user/installations": { + parameters: AppsListInstallationsForAuthenticatedUserEndpoint; + request: AppsListInstallationsForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/installations/#list-repositories-accessible-to-the-user-for-an-installation + */ + "GET /user/installations/:installation_id/repositories": { + parameters: AppsListInstallationReposForAuthenticatedUserEndpoint; + request: AppsListInstallationReposForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/#list-user-account-issues-assigned-to-the-authenticated-user + */ + "GET /user/issues": { + parameters: IssuesListForAuthenticatedUserEndpoint; + request: IssuesListForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/keys/#list-your-public-keys + */ + "GET /user/keys": { + parameters: UsersListPublicKeysEndpoint; + request: UsersListPublicKeysRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/keys/#get-a-single-public-key + */ + "GET /user/keys/:key_id": { + parameters: UsersGetPublicKeyEndpoint; + request: UsersGetPublicKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/marketplace/#list-subscriptions-for-the-authenticated-user + */ + "GET /user/marketplace_purchases": { + parameters: AppsListSubscriptionsForAuthenticatedUserEndpoint; + request: AppsListSubscriptionsForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/marketplace/#list-subscriptions-for-the-authenticated-user-stubbed + */ + "GET /user/marketplace_purchases/stubbed": { + parameters: AppsListSubscriptionsForAuthenticatedUserStubbedEndpoint; + request: AppsListSubscriptionsForAuthenticatedUserStubbedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#list-your-organization-memberships + */ + "GET /user/memberships/orgs": { + parameters: OrgsListMembershipsEndpoint; + request: OrgsListMembershipsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#get-your-organization-membership + */ + "GET /user/memberships/orgs/:org": { + parameters: OrgsGetMembershipForAuthenticatedUserEndpoint; + request: OrgsGetMembershipForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/users/#list-user-migrations + */ + "GET /user/migrations": { + parameters: MigrationsListForAuthenticatedUserEndpoint; + request: MigrationsListForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/users/#get-the-status-of-a-user-migration + */ + "GET /user/migrations/:migration_id": { + parameters: MigrationsGetStatusForAuthenticatedUserEndpoint; + request: MigrationsGetStatusForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/users/#download-a-user-migration-archive + */ + "GET /user/migrations/:migration_id/archive": { + parameters: MigrationsGetArchiveForAuthenticatedUserEndpoint; + request: MigrationsGetArchiveForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/#list-your-organizations + */ + "GET /user/orgs": { + parameters: OrgsListForAuthenticatedUserEndpoint; + request: OrgsListForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/emails/#list-public-email-addresses-for-a-user + */ + "GET /user/public_emails": { + parameters: UsersListPublicEmailsEndpoint; + request: UsersListPublicEmailsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#list-repositories-for-the-authenticated-user + */ + "GET /user/repos": { + parameters: ReposListForAuthenticatedUserEndpoint; + request: ReposListForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/invitations/#list-a-users-repository-invitations + */ + "GET /user/repository_invitations": { + parameters: ReposListInvitationsForAuthenticatedUserEndpoint; + request: ReposListInvitationsForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/starring/#list-repositories-starred-by-the-authenticated-user + */ + "GET /user/starred": { + parameters: ActivityListReposStarredByAuthenticatedUserEndpoint; + request: ActivityListReposStarredByAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/starring/#check-if-a-repository-is-starred-by-the-authenticated-user + */ + "GET /user/starred/:owner/:repo": { + parameters: ActivityCheckRepoIsStarredByAuthenticatedUserEndpoint; + request: ActivityCheckRepoIsStarredByAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/watching/#list-repositories-watched-by-the-authenticated-user + */ + "GET /user/subscriptions": { + parameters: ActivityListWatchedReposForAuthenticatedUserEndpoint; + request: ActivityListWatchedReposForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/watching/#check-if-you-are-watching-a-repository-legacy + */ + "GET /user/subscriptions/:owner/:repo": { + parameters: ActivityCheckWatchingRepoLegacyEndpoint; + request: ActivityCheckWatchingRepoLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#list-user-teams + */ + "GET /user/teams": { + parameters: TeamsListForAuthenticatedUserEndpoint; + request: TeamsListForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/#get-all-users + */ + "GET /users": { + parameters: UsersListEndpoint; + request: UsersListRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/#get-a-single-user + */ + "GET /users/:username": { + parameters: UsersGetByUsernameEndpoint; + request: UsersGetByUsernameRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/events/#list-events-for-the-authenticated-user + */ + "GET /users/:username/events": { + parameters: ActivityListEventsForAuthenticatedUserEndpoint; + request: ActivityListEventsForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/events/#list-organization-events-for-the-authenticated-user + */ + "GET /users/:username/events/orgs/:org": { + parameters: ActivityListOrgEventsForAuthenticatedUserEndpoint; + request: ActivityListOrgEventsForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/events/#list-public-events-for-a-user + */ + "GET /users/:username/events/public": { + parameters: ActivityListPublicEventsForUserEndpoint; + request: ActivityListPublicEventsForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/followers/#list-followers-of-a-user + */ + "GET /users/:username/followers": { + parameters: UsersListFollowersForUserEndpoint; + request: UsersListFollowersForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/followers/#list-users-followed-by-another-user + */ + "GET /users/:username/following": { + parameters: UsersListFollowingForUserEndpoint; + request: UsersListFollowingForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/followers/#check-if-one-user-follows-another + */ + "GET /users/:username/following/:target_user": { + parameters: UsersCheckFollowingForUserEndpoint; + request: UsersCheckFollowingForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#list-gists-for-a-user + */ + "GET /users/:username/gists": { + parameters: GistsListForUserEndpoint; + request: GistsListForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/gpg_keys/#list-gpg-keys-for-a-user + */ + "GET /users/:username/gpg_keys": { + parameters: UsersListGpgKeysForUserEndpoint; + request: UsersListGpgKeysForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/#get-contextual-information-about-a-user + */ + "GET /users/:username/hovercard": { + parameters: UsersGetContextForUserEndpoint; + request: UsersGetContextForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#get-a-user-installation + */ + "GET /users/:username/installation": { + parameters: AppsGetUserInstallationEndpoint; + request: AppsGetUserInstallationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/keys/#list-public-keys-for-a-user + */ + "GET /users/:username/keys": { + parameters: UsersListPublicKeysForUserEndpoint; + request: UsersListPublicKeysForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/#list-user-organizations + */ + "GET /users/:username/orgs": { + parameters: OrgsListForUserEndpoint; + request: OrgsListForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/#list-user-projects + */ + "GET /users/:username/projects": { + parameters: ProjectsListForUserEndpoint; + request: ProjectsListForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/events/#list-events-received-by-the-authenticated-user + */ + "GET /users/:username/received_events": { + parameters: ActivityListReceivedEventsForUserEndpoint; + request: ActivityListReceivedEventsForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/events/#list-public-events-received-by-a-user + */ + "GET /users/:username/received_events/public": { + parameters: ActivityListReceivedPublicEventsForUserEndpoint; + request: ActivityListReceivedPublicEventsForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#list-repositories-for-a-user + */ + "GET /users/:username/repos": { + parameters: ReposListForUserEndpoint; + request: ReposListForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/starring/#list-repositories-starred-by-a-user + */ + "GET /users/:username/starred": { + parameters: ActivityListReposStarredByUserEndpoint; + request: ActivityListReposStarredByUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/watching/#list-repositories-watched-by-a-user + */ + "GET /users/:username/subscriptions": { + parameters: ActivityListReposWatchedByUserEndpoint; + request: ActivityListReposWatchedByUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/oauth_applications/#reset-a-token + */ + "PATCH /applications/:client_id/token": { + parameters: AppsResetTokenEndpoint; + request: AppsResetTokenRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#update-an-existing-authorization + */ + "PATCH /authorizations/:authorization_id": { + parameters: OauthAuthorizationsUpdateAuthorizationEndpoint; + request: OauthAuthorizationsUpdateAuthorizationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#update-a-gist + */ + "PATCH /gists/:gist_id": { + parameters: GistsUpdateEndpoint; + request: GistsUpdateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/comments/#edit-a-comment + */ + "PATCH /gists/:gist_id/comments/:comment_id": { + parameters: GistsUpdateCommentEndpoint; + request: GistsUpdateCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/notifications/#mark-a-thread-as-read + */ + "PATCH /notifications/threads/:thread_id": { + parameters: ActivityMarkThreadAsReadEndpoint; + request: ActivityMarkThreadAsReadRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/#edit-an-organization + */ + "PATCH /orgs/:org": { + parameters: OrgsUpdateEndpoint; + request: OrgsUpdateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/hooks/#edit-a-hook + */ + "PATCH /orgs/:org/hooks/:hook_id": { + parameters: OrgsUpdateHookEndpoint; + request: OrgsUpdateHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#edit-team + */ + "PATCH /orgs/:org/teams/:team_slug": { + parameters: TeamsUpdateInOrgEndpoint; + request: TeamsUpdateInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#edit-a-discussion + */ + "PATCH /orgs/:org/teams/:team_slug/discussions/:discussion_number": { + parameters: TeamsUpdateDiscussionInOrgEndpoint; + request: TeamsUpdateDiscussionInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#edit-a-comment + */ + "PATCH /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number": { + parameters: TeamsUpdateDiscussionCommentInOrgEndpoint; + request: TeamsUpdateDiscussionCommentInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/team_sync/#create-or-update-idp-group-connections + */ + "PATCH /orgs/:org/teams/:team_slug/team-sync/group-mappings": { + parameters: TeamsCreateOrUpdateIdPGroupConnectionsInOrgEndpoint; + request: TeamsCreateOrUpdateIdPGroupConnectionsInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/#update-a-project + */ + "PATCH /projects/:project_id": { + parameters: ProjectsUpdateEndpoint; + request: ProjectsUpdateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/columns/#update-a-project-column + */ + "PATCH /projects/columns/:column_id": { + parameters: ProjectsUpdateColumnEndpoint; + request: ProjectsUpdateColumnRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/cards/#update-a-project-card + */ + "PATCH /projects/columns/cards/:card_id": { + parameters: ProjectsUpdateCardEndpoint; + request: ProjectsUpdateCardRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#update-a-repository + */ + "PATCH /repos/:owner/:repo": { + parameters: ReposUpdateEndpoint; + request: ReposUpdateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#update-pull-request-review-enforcement-of-protected-branch + */ + "PATCH /repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews": { + parameters: ReposUpdateProtectedBranchPullRequestReviewEnforcementEndpoint; + request: ReposUpdateProtectedBranchPullRequestReviewEnforcementRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#update-required-status-checks-of-protected-branch + */ + "PATCH /repos/:owner/:repo/branches/:branch/protection/required_status_checks": { + parameters: ReposUpdateProtectedBranchRequiredStatusChecksEndpoint; + request: ReposUpdateProtectedBranchRequiredStatusChecksRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/runs/#update-a-check-run + */ + "PATCH /repos/:owner/:repo/check-runs/:check_run_id": { + parameters: ChecksUpdateEndpoint; + request: ChecksUpdateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/suites/#update-repository-preferences-for-check-suites + */ + "PATCH /repos/:owner/:repo/check-suites/preferences": { + parameters: ChecksSetSuitesPreferencesEndpoint; + request: ChecksSetSuitesPreferencesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/comments/#update-a-commit-comment + */ + "PATCH /repos/:owner/:repo/comments/:comment_id": { + parameters: ReposUpdateCommitCommentEndpoint; + request: ReposUpdateCommitCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/refs/#update-a-reference + */ + "PATCH /repos/:owner/:repo/git/refs/:ref": { + parameters: GitUpdateRefEndpoint; + request: GitUpdateRefRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/hooks/#edit-a-hook + */ + "PATCH /repos/:owner/:repo/hooks/:hook_id": { + parameters: ReposUpdateHookEndpoint; + request: ReposUpdateHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/source_imports/#update-existing-import + */ + "PATCH /repos/:owner/:repo/import": { + parameters: MigrationsUpdateImportEndpoint; + request: MigrationsUpdateImportRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/source_imports/#map-a-commit-author + */ + "PATCH /repos/:owner/:repo/import/authors/:author_id": { + parameters: MigrationsMapCommitAuthorEndpoint; + request: MigrationsMapCommitAuthorRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/source_imports/#set-git-lfs-preference + */ + "PATCH /repos/:owner/:repo/import/lfs": { + parameters: MigrationsSetLfsPreferenceEndpoint; + request: MigrationsSetLfsPreferenceRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/invitations/#update-a-repository-invitation + */ + "PATCH /repos/:owner/:repo/invitations/:invitation_id": { + parameters: ReposUpdateInvitationEndpoint; + request: ReposUpdateInvitationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/#update-an-issue + */ + "PATCH /repos/:owner/:repo/issues/:issue_number": { + parameters: IssuesUpdateEndpoint; + request: IssuesUpdateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/comments/#edit-a-comment + */ + "PATCH /repos/:owner/:repo/issues/comments/:comment_id": { + parameters: IssuesUpdateCommentEndpoint; + request: IssuesUpdateCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#update-a-label + */ + "PATCH /repos/:owner/:repo/labels/:name": { + parameters: IssuesUpdateLabelEndpoint; + request: IssuesUpdateLabelRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/milestones/#update-a-milestone + */ + "PATCH /repos/:owner/:repo/milestones/:milestone_number": { + parameters: IssuesUpdateMilestoneEndpoint; + request: IssuesUpdateMilestoneRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/#update-a-pull-request + */ + "PATCH /repos/:owner/:repo/pulls/:pull_number": { + parameters: PullsUpdateEndpoint; + request: PullsUpdateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/comments/#edit-a-comment + */ + "PATCH /repos/:owner/:repo/pulls/comments/:comment_id": { + parameters: PullsUpdateCommentEndpoint; + request: PullsUpdateCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#edit-a-release + */ + "PATCH /repos/:owner/:repo/releases/:release_id": { + parameters: ReposUpdateReleaseEndpoint; + request: ReposUpdateReleaseRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#edit-a-release-asset + */ + "PATCH /repos/:owner/:repo/releases/assets/:asset_id": { + parameters: ReposUpdateReleaseAssetEndpoint; + request: ReposUpdateReleaseAssetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/scim/#update-a-user-attribute + */ + "PATCH /scim/v2/organizations/:org/Users/:scim_user_id": { + parameters: ScimUpdateUserAttributeEndpoint; + request: ScimUpdateUserAttributeRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#edit-team-legacy + */ + "PATCH /teams/:team_id": { + parameters: TeamsUpdateLegacyEndpoint; + request: TeamsUpdateLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#edit-a-discussion-legacy + */ + "PATCH /teams/:team_id/discussions/:discussion_number": { + parameters: TeamsUpdateDiscussionLegacyEndpoint; + request: TeamsUpdateDiscussionLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#edit-a-comment-legacy + */ + "PATCH /teams/:team_id/discussions/:discussion_number/comments/:comment_number": { + parameters: TeamsUpdateDiscussionCommentLegacyEndpoint; + request: TeamsUpdateDiscussionCommentLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/team_sync/#create-or-update-idp-group-connections-legacy + */ + "PATCH /teams/:team_id/team-sync/group-mappings": { + parameters: TeamsCreateOrUpdateIdPGroupConnectionsLegacyEndpoint; + request: TeamsCreateOrUpdateIdPGroupConnectionsLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/#update-the-authenticated-user + */ + "PATCH /user": { + parameters: UsersUpdateAuthenticatedEndpoint; + request: UsersUpdateAuthenticatedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/emails/#toggle-primary-email-visibility + */ + "PATCH /user/email/visibility": { + parameters: UsersTogglePrimaryEmailVisibilityEndpoint; + request: UsersTogglePrimaryEmailVisibilityRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#edit-your-organization-membership + */ + "PATCH /user/memberships/orgs/:org": { + parameters: OrgsUpdateMembershipEndpoint; + request: OrgsUpdateMembershipRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/invitations/#accept-a-repository-invitation + */ + "PATCH /user/repository_invitations/:invitation_id": { + parameters: ReposAcceptInvitationEndpoint; + request: ReposAcceptInvitationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#create-a-github-app-from-a-manifest + */ + "POST /app-manifests/:code/conversions": { + parameters: AppsCreateFromManifestEndpoint; + request: AppsCreateFromManifestRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#create-a-new-installation-token + */ + "POST /app/installations/:installation_id/access_tokens": { + parameters: AppsCreateInstallationTokenEndpoint; + request: AppsCreateInstallationTokenRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/oauth_applications/#check-a-token + */ + "POST /applications/:client_id/token": { + parameters: AppsCheckTokenEndpoint; + request: AppsCheckTokenRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/oauth_applications/#reset-an-authorization + */ + "POST /applications/:client_id/tokens/:access_token": { + parameters: AppsResetAuthorizationEndpoint; + request: AppsResetAuthorizationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#create-a-new-authorization + */ + "POST /authorizations": { + parameters: OauthAuthorizationsCreateAuthorizationEndpoint; + request: OauthAuthorizationsCreateAuthorizationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/installations/#create-a-content-attachment + */ + "POST /content_references/:content_reference_id/attachments": { + parameters: AppsCreateContentAttachmentEndpoint; + request: AppsCreateContentAttachmentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#create-a-gist + */ + "POST /gists": { + parameters: GistsCreateEndpoint; + request: GistsCreateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/comments/#create-a-comment + */ + "POST /gists/:gist_id/comments": { + parameters: GistsCreateCommentEndpoint; + request: GistsCreateCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#fork-a-gist + */ + "POST /gists/:gist_id/forks": { + parameters: GistsForkEndpoint; + request: GistsForkRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/markdown/#render-an-arbitrary-markdown-document + */ + "POST /markdown": { + parameters: MarkdownRenderEndpoint; + request: MarkdownRenderRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/markdown/#render-a-markdown-document-in-raw-mode + */ + "POST /markdown/raw": { + parameters: MarkdownRenderRawEndpoint; + request: MarkdownRenderRawRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#create-a-registration-token-for-an-organization + */ + "POST /orgs/:org/actions/runners/registration-token": { + parameters: ActionsCreateRegistrationTokenForOrgEndpoint; + request: ActionsCreateRegistrationTokenForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#create-a-remove-token-for-an-organization + */ + "POST /orgs/:org/actions/runners/remove-token": { + parameters: ActionsCreateRemoveTokenForOrgEndpoint; + request: ActionsCreateRemoveTokenForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/hooks/#create-a-hook + */ + "POST /orgs/:org/hooks": { + parameters: OrgsCreateHookEndpoint; + request: OrgsCreateHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/hooks/#ping-a-hook + */ + "POST /orgs/:org/hooks/:hook_id/pings": { + parameters: OrgsPingHookEndpoint; + request: OrgsPingHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#create-organization-invitation + */ + "POST /orgs/:org/invitations": { + parameters: OrgsCreateInvitationEndpoint; + request: OrgsCreateInvitationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/orgs/#start-an-organization-migration + */ + "POST /orgs/:org/migrations": { + parameters: MigrationsStartForOrgEndpoint; + request: MigrationsStartForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/#create-an-organization-project + */ + "POST /orgs/:org/projects": { + parameters: ProjectsCreateForOrgEndpoint; + request: ProjectsCreateForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#create-an-organization-repository + */ + "POST /orgs/:org/repos": { + parameters: ReposCreateInOrgEndpoint; + request: ReposCreateInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#create-team + */ + "POST /orgs/:org/teams": { + parameters: TeamsCreateEndpoint; + request: TeamsCreateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#create-a-discussion + */ + "POST /orgs/:org/teams/:team_slug/discussions": { + parameters: TeamsCreateDiscussionInOrgEndpoint; + request: TeamsCreateDiscussionInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#create-a-comment + */ + "POST /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments": { + parameters: TeamsCreateDiscussionCommentInOrgEndpoint; + request: TeamsCreateDiscussionCommentInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-comment + */ + "POST /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions": { + parameters: ReactionsCreateForTeamDiscussionCommentInOrgEndpoint; + request: ReactionsCreateForTeamDiscussionCommentInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion + */ + "POST /orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions": { + parameters: ReactionsCreateForTeamDiscussionInOrgEndpoint; + request: ReactionsCreateForTeamDiscussionInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/columns/#create-a-project-column + */ + "POST /projects/:project_id/columns": { + parameters: ProjectsCreateColumnEndpoint; + request: ProjectsCreateColumnRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/cards/#create-a-project-card + */ + "POST /projects/columns/:column_id/cards": { + parameters: ProjectsCreateCardEndpoint; + request: ProjectsCreateCardRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/columns/#move-a-project-column + */ + "POST /projects/columns/:column_id/moves": { + parameters: ProjectsMoveColumnEndpoint; + request: ProjectsMoveColumnRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/cards/#move-a-project-card + */ + "POST /projects/columns/cards/:card_id/moves": { + parameters: ProjectsMoveCardEndpoint; + request: ProjectsMoveCardRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#create-a-registration-token-for-a-repository + */ + "POST /repos/:owner/:repo/actions/runners/registration-token": { + parameters: ActionsCreateRegistrationTokenForRepoEndpoint; + request: ActionsCreateRegistrationTokenForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#create-a-remove-token-for-a-repository + */ + "POST /repos/:owner/:repo/actions/runners/remove-token": { + parameters: ActionsCreateRemoveTokenForRepoEndpoint; + request: ActionsCreateRemoveTokenForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-runs/#cancel-a-workflow-run + */ + "POST /repos/:owner/:repo/actions/runs/:run_id/cancel": { + parameters: ActionsCancelWorkflowRunEndpoint; + request: ActionsCancelWorkflowRunRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-runs/#re-run-a-workflow + */ + "POST /repos/:owner/:repo/actions/runs/:run_id/rerun": { + parameters: ActionsReRunWorkflowEndpoint; + request: ActionsReRunWorkflowRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#add-admin-enforcement-of-protected-branch + */ + "POST /repos/:owner/:repo/branches/:branch/protection/enforce_admins": { + parameters: ReposAddProtectedBranchAdminEnforcementEndpoint; + request: ReposAddProtectedBranchAdminEnforcementRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#add-required-signatures-of-protected-branch + */ + "POST /repos/:owner/:repo/branches/:branch/protection/required_signatures": { + parameters: ReposAddProtectedBranchRequiredSignaturesEndpoint; + request: ReposAddProtectedBranchRequiredSignaturesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#add-required-status-checks-contexts-of-protected-branch + */ + "POST /repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts": { + parameters: ReposAddProtectedBranchRequiredStatusChecksContextsEndpoint; + request: ReposAddProtectedBranchRequiredStatusChecksContextsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#add-app-restrictions-of-protected-branch + */ + "POST /repos/:owner/:repo/branches/:branch/protection/restrictions/apps": { + parameters: ReposAddProtectedBranchAppRestrictionsEndpoint; + request: ReposAddProtectedBranchAppRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#add-team-restrictions-of-protected-branch + */ + "POST /repos/:owner/:repo/branches/:branch/protection/restrictions/teams": { + parameters: ReposAddProtectedBranchTeamRestrictionsEndpoint; + request: ReposAddProtectedBranchTeamRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#add-user-restrictions-of-protected-branch + */ + "POST /repos/:owner/:repo/branches/:branch/protection/restrictions/users": { + parameters: ReposAddProtectedBranchUserRestrictionsEndpoint; + request: ReposAddProtectedBranchUserRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/runs/#create-a-check-run + */ + "POST /repos/:owner/:repo/check-runs": { + parameters: ChecksCreateEndpoint; + request: ChecksCreateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/suites/#create-a-check-suite + */ + "POST /repos/:owner/:repo/check-suites": { + parameters: ChecksCreateSuiteEndpoint; + request: ChecksCreateSuiteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/suites/#rerequest-a-check-suite + */ + "POST /repos/:owner/:repo/check-suites/:check_suite_id/rerequest": { + parameters: ChecksRerequestSuiteEndpoint; + request: ChecksRerequestSuiteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#create-reaction-for-a-commit-comment + */ + "POST /repos/:owner/:repo/comments/:comment_id/reactions": { + parameters: ReactionsCreateForCommitCommentEndpoint; + request: ReactionsCreateForCommitCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/comments/#create-a-commit-comment + */ + "POST /repos/:owner/:repo/commits/:commit_sha/comments": { + parameters: ReposCreateCommitCommentEndpoint; + request: ReposCreateCommitCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/deployments/#create-a-deployment + */ + "POST /repos/:owner/:repo/deployments": { + parameters: ReposCreateDeploymentEndpoint; + request: ReposCreateDeploymentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/deployments/#create-a-deployment-status + */ + "POST /repos/:owner/:repo/deployments/:deployment_id/statuses": { + parameters: ReposCreateDeploymentStatusEndpoint; + request: ReposCreateDeploymentStatusRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#create-a-repository-dispatch-event + */ + "POST /repos/:owner/:repo/dispatches": { + parameters: ReposCreateDispatchEventEndpoint; + request: ReposCreateDispatchEventRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/forks/#create-a-fork + */ + "POST /repos/:owner/:repo/forks": { + parameters: ReposCreateForkEndpoint; + request: ReposCreateForkRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/blobs/#create-a-blob + */ + "POST /repos/:owner/:repo/git/blobs": { + parameters: GitCreateBlobEndpoint; + request: GitCreateBlobRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/commits/#create-a-commit + */ + "POST /repos/:owner/:repo/git/commits": { + parameters: GitCreateCommitEndpoint; + request: GitCreateCommitRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/refs/#create-a-reference + */ + "POST /repos/:owner/:repo/git/refs": { + parameters: GitCreateRefEndpoint; + request: GitCreateRefRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/tags/#create-a-tag-object + */ + "POST /repos/:owner/:repo/git/tags": { + parameters: GitCreateTagEndpoint; + request: GitCreateTagRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/trees/#create-a-tree + */ + "POST /repos/:owner/:repo/git/trees": { + parameters: GitCreateTreeEndpoint; + request: GitCreateTreeRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/hooks/#create-a-hook + */ + "POST /repos/:owner/:repo/hooks": { + parameters: ReposCreateHookEndpoint; + request: ReposCreateHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/hooks/#ping-a-hook + */ + "POST /repos/:owner/:repo/hooks/:hook_id/pings": { + parameters: ReposPingHookEndpoint; + request: ReposPingHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/hooks/#test-a-push-hook + */ + "POST /repos/:owner/:repo/hooks/:hook_id/tests": { + parameters: ReposTestPushHookEndpoint; + request: ReposTestPushHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/#create-an-issue + */ + "POST /repos/:owner/:repo/issues": { + parameters: IssuesCreateEndpoint; + request: IssuesCreateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/assignees/#add-assignees-to-an-issue + */ + "POST /repos/:owner/:repo/issues/:issue_number/assignees": { + parameters: IssuesAddAssigneesEndpoint; + request: IssuesAddAssigneesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/comments/#create-a-comment + */ + "POST /repos/:owner/:repo/issues/:issue_number/comments": { + parameters: IssuesCreateCommentEndpoint; + request: IssuesCreateCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#add-labels-to-an-issue + */ + "POST /repos/:owner/:repo/issues/:issue_number/labels": { + parameters: IssuesAddLabelsEndpoint; + request: IssuesAddLabelsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#create-reaction-for-an-issue + */ + "POST /repos/:owner/:repo/issues/:issue_number/reactions": { + parameters: ReactionsCreateForIssueEndpoint; + request: ReactionsCreateForIssueRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#create-reaction-for-an-issue-comment + */ + "POST /repos/:owner/:repo/issues/comments/:comment_id/reactions": { + parameters: ReactionsCreateForIssueCommentEndpoint; + request: ReactionsCreateForIssueCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/keys/#add-a-new-deploy-key + */ + "POST /repos/:owner/:repo/keys": { + parameters: ReposAddDeployKeyEndpoint; + request: ReposAddDeployKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#create-a-label + */ + "POST /repos/:owner/:repo/labels": { + parameters: IssuesCreateLabelEndpoint; + request: IssuesCreateLabelRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/merging/#perform-a-merge + */ + "POST /repos/:owner/:repo/merges": { + parameters: ReposMergeEndpoint; + request: ReposMergeRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/milestones/#create-a-milestone + */ + "POST /repos/:owner/:repo/milestones": { + parameters: IssuesCreateMilestoneEndpoint; + request: IssuesCreateMilestoneRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/pages/#enable-a-pages-site + */ + "POST /repos/:owner/:repo/pages": { + parameters: ReposEnablePagesSiteEndpoint; + request: ReposEnablePagesSiteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/pages/#request-a-page-build + */ + "POST /repos/:owner/:repo/pages/builds": { + parameters: ReposRequestPageBuildEndpoint; + request: ReposRequestPageBuildRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/#create-a-repository-project + */ + "POST /repos/:owner/:repo/projects": { + parameters: ProjectsCreateForRepoEndpoint; + request: ProjectsCreateForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/#create-a-pull-request + */ + "POST /repos/:owner/:repo/pulls": { + parameters: PullsCreateEndpoint; + request: PullsCreateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/comments/#create-a-comment + */ + "POST /repos/:owner/:repo/pulls/:pull_number/comments": { + parameters: PullsCreateCommentEndpoint; + request: PullsCreateCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/comments/#create-a-review-comment-reply + */ + "POST /repos/:owner/:repo/pulls/:pull_number/comments/:comment_id/replies": { + parameters: PullsCreateReviewCommentReplyEndpoint; + request: PullsCreateReviewCommentReplyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/review_requests/#create-a-review-request + */ + "POST /repos/:owner/:repo/pulls/:pull_number/requested_reviewers": { + parameters: PullsCreateReviewRequestEndpoint; + request: PullsCreateReviewRequestRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/reviews/#create-a-pull-request-review + */ + "POST /repos/:owner/:repo/pulls/:pull_number/reviews": { + parameters: PullsCreateReviewEndpoint; + request: PullsCreateReviewRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/reviews/#submit-a-pull-request-review + */ + "POST /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/events": { + parameters: PullsSubmitReviewEndpoint; + request: PullsSubmitReviewRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#create-reaction-for-a-pull-request-review-comment + */ + "POST /repos/:owner/:repo/pulls/comments/:comment_id/reactions": { + parameters: ReactionsCreateForPullRequestReviewCommentEndpoint; + request: ReactionsCreateForPullRequestReviewCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#create-a-release + */ + "POST /repos/:owner/:repo/releases": { + parameters: ReposCreateReleaseEndpoint; + request: ReposCreateReleaseRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#upload-a-release-asset + */ + "POST /repos/:owner/:repo/releases/:release_id/assets{?name,label}": { + parameters: ReposUploadReleaseAssetEndpoint; + request: ReposUploadReleaseAssetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/statuses/#create-a-status + */ + "POST /repos/:owner/:repo/statuses/:sha": { + parameters: ReposCreateStatusEndpoint; + request: ReposCreateStatusRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#transfer-a-repository + */ + "POST /repos/:owner/:repo/transfer": { + parameters: ReposTransferEndpoint; + request: ReposTransferRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#create-a-repository-using-a-template + */ + "POST /repos/:template_owner/:template_repo/generate": { + parameters: ReposCreateUsingTemplateEndpoint; + request: ReposCreateUsingTemplateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/scim/#provision-and-invite-users + */ + "POST /scim/v2/organizations/:org/Users": { + parameters: ScimProvisionAndInviteUsersEndpoint; + request: ScimProvisionAndInviteUsersRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#create-a-discussion-legacy + */ + "POST /teams/:team_id/discussions": { + parameters: TeamsCreateDiscussionLegacyEndpoint; + request: TeamsCreateDiscussionLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#create-a-comment-legacy + */ + "POST /teams/:team_id/discussions/:discussion_number/comments": { + parameters: TeamsCreateDiscussionCommentLegacyEndpoint; + request: TeamsCreateDiscussionCommentLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-comment-legacy + */ + "POST /teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions": { + parameters: ReactionsCreateForTeamDiscussionCommentLegacyEndpoint; + request: ReactionsCreateForTeamDiscussionCommentLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-legacy + */ + "POST /teams/:team_id/discussions/:discussion_number/reactions": { + parameters: ReactionsCreateForTeamDiscussionLegacyEndpoint; + request: ReactionsCreateForTeamDiscussionLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/emails/#add-email-addresses + */ + "POST /user/emails": { + parameters: UsersAddEmailsEndpoint; + request: UsersAddEmailsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/gpg_keys/#create-a-gpg-key + */ + "POST /user/gpg_keys": { + parameters: UsersCreateGpgKeyEndpoint; + request: UsersCreateGpgKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/keys/#create-a-public-key + */ + "POST /user/keys": { + parameters: UsersCreatePublicKeyEndpoint; + request: UsersCreatePublicKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/users/#start-a-user-migration + */ + "POST /user/migrations": { + parameters: MigrationsStartForAuthenticatedUserEndpoint; + request: MigrationsStartForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/#create-a-user-project + */ + "POST /user/projects": { + parameters: ProjectsCreateForAuthenticatedUserEndpoint; + request: ProjectsCreateForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#create-a-repository-for-the-authenticated-user + */ + "POST /user/repos": { + parameters: ReposCreateForAuthenticatedUserEndpoint; + request: ReposCreateForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#suspend-an-installation + */ + "PUT /app/installations/:installation_id/suspended": { + parameters: AppsSuspendInstallationEndpoint; + request: AppsSuspendInstallationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app + */ + "PUT /authorizations/clients/:client_id": { + parameters: OauthAuthorizationsGetOrCreateAuthorizationForAppEndpoint; + request: OauthAuthorizationsGetOrCreateAuthorizationForAppRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app-and-fingerprint + */ + "PUT /authorizations/clients/:client_id/:fingerprint": { + parameters: OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintEndpoint; + request: OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#star-a-gist + */ + "PUT /gists/:gist_id/star": { + parameters: GistsStarEndpoint; + request: GistsStarRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/notifications/#mark-notifications-as-read + */ + "PUT /notifications": { + parameters: ActivityMarkNotificationsAsReadEndpoint; + request: ActivityMarkNotificationsAsReadRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/notifications/#set-a-thread-subscription + */ + "PUT /notifications/threads/:thread_id/subscription": { + parameters: ActivitySetThreadSubscriptionEndpoint; + request: ActivitySetThreadSubscriptionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/blocking/#block-a-user + */ + "PUT /orgs/:org/blocks/:username": { + parameters: OrgsBlockUserEndpoint; + request: OrgsBlockUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/interactions/orgs/#add-or-update-interaction-restrictions-for-an-organization + */ + "PUT /orgs/:org/interaction-limits": { + parameters: InteractionsAddOrUpdateRestrictionsForOrgEndpoint; + request: InteractionsAddOrUpdateRestrictionsForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#add-or-update-organization-membership + */ + "PUT /orgs/:org/memberships/:username": { + parameters: OrgsAddOrUpdateMembershipEndpoint; + request: OrgsAddOrUpdateMembershipRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/outside_collaborators/#convert-member-to-outside-collaborator + */ + "PUT /orgs/:org/outside_collaborators/:username": { + parameters: OrgsConvertMemberToOutsideCollaboratorEndpoint; + request: OrgsConvertMemberToOutsideCollaboratorRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#publicize-a-users-membership + */ + "PUT /orgs/:org/public_members/:username": { + parameters: OrgsPublicizeMembershipEndpoint; + request: OrgsPublicizeMembershipRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#add-or-update-team-membership + */ + "PUT /orgs/:org/teams/:team_slug/memberships/:username": { + parameters: TeamsAddOrUpdateMembershipInOrgEndpoint; + request: TeamsAddOrUpdateMembershipInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#add-or-update-team-project + */ + "PUT /orgs/:org/teams/:team_slug/projects/:project_id": { + parameters: TeamsAddOrUpdateProjectInOrgEndpoint; + request: TeamsAddOrUpdateProjectInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#add-or-update-team-repository + */ + "PUT /orgs/:org/teams/:team_slug/repos/:owner/:repo": { + parameters: TeamsAddOrUpdateRepoInOrgEndpoint; + request: TeamsAddOrUpdateRepoInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/collaborators/#add-user-as-a-collaborator + */ + "PUT /projects/:project_id/collaborators/:username": { + parameters: ProjectsAddCollaboratorEndpoint; + request: ProjectsAddCollaboratorRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/secrets/#create-or-update-a-secret-for-a-repository + */ + "PUT /repos/:owner/:repo/actions/secrets/:name": { + parameters: ActionsCreateOrUpdateSecretForRepoEndpoint; + request: ActionsCreateOrUpdateSecretForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#enable-automated-security-fixes + */ + "PUT /repos/:owner/:repo/automated-security-fixes": { + parameters: ReposEnableAutomatedSecurityFixesEndpoint; + request: ReposEnableAutomatedSecurityFixesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#update-branch-protection + */ + "PUT /repos/:owner/:repo/branches/:branch/protection": { + parameters: ReposUpdateBranchProtectionEndpoint; + request: ReposUpdateBranchProtectionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#replace-required-status-checks-contexts-of-protected-branch + */ + "PUT /repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts": { + parameters: ReposReplaceProtectedBranchRequiredStatusChecksContextsEndpoint; + request: ReposReplaceProtectedBranchRequiredStatusChecksContextsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#replace-app-restrictions-of-protected-branch + */ + "PUT /repos/:owner/:repo/branches/:branch/protection/restrictions/apps": { + parameters: ReposReplaceProtectedBranchAppRestrictionsEndpoint; + request: ReposReplaceProtectedBranchAppRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#replace-team-restrictions-of-protected-branch + */ + "PUT /repos/:owner/:repo/branches/:branch/protection/restrictions/teams": { + parameters: ReposReplaceProtectedBranchTeamRestrictionsEndpoint; + request: ReposReplaceProtectedBranchTeamRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#replace-user-restrictions-of-protected-branch + */ + "PUT /repos/:owner/:repo/branches/:branch/protection/restrictions/users": { + parameters: ReposReplaceProtectedBranchUserRestrictionsEndpoint; + request: ReposReplaceProtectedBranchUserRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/collaborators/#add-user-as-a-collaborator + */ + "PUT /repos/:owner/:repo/collaborators/:username": { + parameters: ReposAddCollaboratorEndpoint; + request: ReposAddCollaboratorRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/contents/#create-or-update-a-file + */ + "PUT /repos/:owner/:repo/contents/:path": { + parameters: ReposCreateOrUpdateFileEndpoint; + request: ReposCreateOrUpdateFileRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/source_imports/#start-an-import + */ + "PUT /repos/:owner/:repo/import": { + parameters: MigrationsStartImportEndpoint; + request: MigrationsStartImportRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/interactions/repos/#add-or-update-interaction-restrictions-for-a-repository + */ + "PUT /repos/:owner/:repo/interaction-limits": { + parameters: InteractionsAddOrUpdateRestrictionsForRepoEndpoint; + request: InteractionsAddOrUpdateRestrictionsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#replace-all-labels-for-an-issue + */ + "PUT /repos/:owner/:repo/issues/:issue_number/labels": { + parameters: IssuesReplaceAllLabelsEndpoint; + request: IssuesReplaceAllLabelsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/#lock-an-issue + */ + "PUT /repos/:owner/:repo/issues/:issue_number/lock": { + parameters: IssuesLockEndpoint; + request: IssuesLockRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/notifications/#mark-repository-notifications-as-read + */ + "PUT /repos/:owner/:repo/notifications": { + parameters: ActivityMarkRepoNotificationsAsReadEndpoint; + request: ActivityMarkRepoNotificationsAsReadRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/pages/#update-information-about-a-pages-site + */ + "PUT /repos/:owner/:repo/pages": { + parameters: ReposUpdateInformationAboutPagesSiteEndpoint; + request: ReposUpdateInformationAboutPagesSiteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/#merge-a-pull-request-merge-button + */ + "PUT /repos/:owner/:repo/pulls/:pull_number/merge": { + parameters: PullsMergeEndpoint; + request: PullsMergeRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/reviews/#update-a-pull-request-review + */ + "PUT /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id": { + parameters: PullsUpdateReviewEndpoint; + request: PullsUpdateReviewRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/reviews/#dismiss-a-pull-request-review + */ + "PUT /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/dismissals": { + parameters: PullsDismissReviewEndpoint; + request: PullsDismissReviewRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/#update-a-pull-request-branch + */ + "PUT /repos/:owner/:repo/pulls/:pull_number/update-branch": { + parameters: PullsUpdateBranchEndpoint; + request: PullsUpdateBranchRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/watching/#set-a-repository-subscription + */ + "PUT /repos/:owner/:repo/subscription": { + parameters: ActivitySetRepoSubscriptionEndpoint; + request: ActivitySetRepoSubscriptionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#replace-all-repository-topics + */ + "PUT /repos/:owner/:repo/topics": { + parameters: ReposReplaceAllTopicsEndpoint; + request: ReposReplaceAllTopicsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#enable-vulnerability-alerts + */ + "PUT /repos/:owner/:repo/vulnerability-alerts": { + parameters: ReposEnableVulnerabilityAlertsEndpoint; + request: ReposEnableVulnerabilityAlertsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/scim/#replace-a-provisioned-users-information + */ + "PUT /scim/v2/organizations/:org/Users/:scim_user_id": { + parameters: ScimReplaceProvisionedUserInformationEndpoint; + request: ScimReplaceProvisionedUserInformationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#add-team-member-legacy + */ + "PUT /teams/:team_id/members/:username": { + parameters: TeamsAddMemberLegacyEndpoint; + request: TeamsAddMemberLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#add-or-update-team-membership-legacy + */ + "PUT /teams/:team_id/memberships/:username": { + parameters: TeamsAddOrUpdateMembershipLegacyEndpoint; + request: TeamsAddOrUpdateMembershipLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#add-or-update-team-project-legacy + */ + "PUT /teams/:team_id/projects/:project_id": { + parameters: TeamsAddOrUpdateProjectLegacyEndpoint; + request: TeamsAddOrUpdateProjectLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#add-or-update-team-repository-legacy + */ + "PUT /teams/:team_id/repos/:owner/:repo": { + parameters: TeamsAddOrUpdateRepoLegacyEndpoint; + request: TeamsAddOrUpdateRepoLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/blocking/#block-a-user + */ + "PUT /user/blocks/:username": { + parameters: UsersBlockEndpoint; + request: UsersBlockRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/followers/#follow-a-user + */ + "PUT /user/following/:username": { + parameters: UsersFollowEndpoint; + request: UsersFollowRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/installations/#add-repository-to-installation + */ + "PUT /user/installations/:installation_id/repositories/:repository_id": { + parameters: AppsAddRepoToInstallationEndpoint; + request: AppsAddRepoToInstallationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/starring/#star-a-repository-for-the-authenticated-user + */ + "PUT /user/starred/:owner/:repo": { + parameters: ActivityStarRepoForAuthenticatedUserEndpoint; + request: ActivityStarRepoForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/watching/#watch-a-repository-legacy + */ + "PUT /user/subscriptions/:owner/:repo": { + parameters: ActivityWatchRepoLegacyEndpoint; + request: ActivityWatchRepoLegacyRequestOptions; + response: OctokitResponse; + }; +} +declare type AppsGetAuthenticatedEndpoint = {} & RequiredPreview<"machine-man">; +declare type AppsGetAuthenticatedRequestOptions = { + method: "GET"; + url: "/app"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetAuthenticatedResponseDataPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type AppsGetAuthenticatedResponseDataOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type AppsGetAuthenticatedResponseData = { + id: number; + slug: string; + node_id: string; + owner: AppsGetAuthenticatedResponseDataOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: AppsGetAuthenticatedResponseDataPermissions; + events: Array; + installations_count: number; +}; +declare type AppsCreateFromManifestEndpoint = { + /** + * code parameter + */ + code: string; +}; +declare type AppsCreateFromManifestRequestOptions = { + method: "POST"; + url: "/app-manifests/:code/conversions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsCreateFromManifestResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsCreateFromManifestResponseData = { + id: number; + node_id: string; + owner: AppsCreateFromManifestResponseDataOwner; + name: string; + description: null; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + client_id: string; + client_secret: string; + webhook_secret: string; + pem: string; +}; +declare type AppsListInstallationsEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"machine-man">; +declare type AppsListInstallationsRequestOptions = { + method: "GET"; + url: "/app/installations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListInstallationsResponseDataItemPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type AppsListInstallationsResponseDataItemAccount = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type AppsListInstallationsResponseDataItem = { + id: number; + account: AppsListInstallationsResponseDataItemAccount; + access_tokens_url: string; + repositories_url: string; + html_url: string; + app_id: number; + target_id: number; + target_type: string; + permissions: AppsListInstallationsResponseDataItemPermissions; + events: Array; + single_file_name: string; + repository_selection: string; +}; +declare type AppsListInstallationsResponseData = Array; +declare type AppsGetInstallationEndpoint = { + /** + * installation_id parameter + */ + installation_id: number; +} & RequiredPreview<"machine-man">; +declare type AppsGetInstallationRequestOptions = { + method: "GET"; + url: "/app/installations/:installation_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetInstallationResponseDataPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type AppsGetInstallationResponseDataAccount = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type AppsGetInstallationResponseData = { + id: number; + account: AppsGetInstallationResponseDataAccount; + access_tokens_url: string; + repositories_url: string; + html_url: string; + app_id: number; + target_id: number; + target_type: string; + permissions: AppsGetInstallationResponseDataPermissions; + events: Array; + single_file_name: string; + repository_selection: string; +}; +declare type AppsDeleteInstallationEndpoint = { + /** + * installation_id parameter + */ + installation_id: number; +} & RequiredPreview<"machine-man">; +declare type AppsDeleteInstallationRequestOptions = { + method: "DELETE"; + url: "/app/installations/:installation_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsCreateInstallationTokenEndpoint = { + /** + * installation_id parameter + */ + installation_id: number; + /** + * The `id`s of the repositories that the installation token can access. Providing repository `id`s restricts the access of an installation token to specific repositories. You can use the "[List repositories](https://developer.github.com/v3/apps/installations/#list-repositories)" endpoint to get the `id` of all repositories that an installation can access. For example, you can select specific repositories when creating an installation token to restrict the number of repositories that can be cloned using the token. + */ + repository_ids?: number[]; + /** + * The permissions granted to the access token. The permissions object includes the permission names and their access type. For a complete list of permissions and allowable values, see "[GitHub App permissions](https://developer.github.com/apps/building-github-apps/creating-github-apps-using-url-parameters/#github-app-permissions)." + */ + permissions?: AppsCreateInstallationTokenParamsPermissions; +} & RequiredPreview<"machine-man">; +declare type AppsCreateInstallationTokenRequestOptions = { + method: "POST"; + url: "/app/installations/:installation_id/access_tokens"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsCreateInstallationTokenResponseDataRepositoriesItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type AppsCreateInstallationTokenResponseDataRepositoriesItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsCreateInstallationTokenResponseDataRepositoriesItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: AppsCreateInstallationTokenResponseDataRepositoriesItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: AppsCreateInstallationTokenResponseDataRepositoriesItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type AppsCreateInstallationTokenResponseDataPermissions = { + issues: string; + contents: string; +}; +declare type AppsCreateInstallationTokenResponseData = { + token: string; + expires_at: string; + permissions: AppsCreateInstallationTokenResponseDataPermissions; + repositories: Array; +}; +declare type AppsSuspendInstallationEndpoint = { + /** + * installation_id parameter + */ + installation_id: number; +}; +declare type AppsSuspendInstallationRequestOptions = { + method: "PUT"; + url: "/app/installations/:installation_id/suspended"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsUnsuspendInstallationEndpoint = { + /** + * installation_id parameter + */ + installation_id: number; +}; +declare type AppsUnsuspendInstallationRequestOptions = { + method: "DELETE"; + url: "/app/installations/:installation_id/suspended"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OauthAuthorizationsListGrantsEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type OauthAuthorizationsListGrantsRequestOptions = { + method: "GET"; + url: "/applications/grants"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OauthAuthorizationsListGrantsResponseDataItemApp = { + url: string; + name: string; + client_id: string; +}; +declare type OauthAuthorizationsListGrantsResponseDataItem = { + id: number; + url: string; + app: OauthAuthorizationsListGrantsResponseDataItemApp; + created_at: string; + updated_at: string; + scopes: Array; +}; +declare type OauthAuthorizationsListGrantsResponseData = Array; +declare type OauthAuthorizationsGetGrantEndpoint = { + /** + * grant_id parameter + */ + grant_id: number; +}; +declare type OauthAuthorizationsGetGrantRequestOptions = { + method: "GET"; + url: "/applications/grants/:grant_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OauthAuthorizationsGetGrantResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type OauthAuthorizationsGetGrantResponseData = { + id: number; + url: string; + app: OauthAuthorizationsGetGrantResponseDataApp; + created_at: string; + updated_at: string; + scopes: Array; +}; +declare type OauthAuthorizationsDeleteGrantEndpoint = { + /** + * grant_id parameter + */ + grant_id: number; +}; +declare type OauthAuthorizationsDeleteGrantRequestOptions = { + method: "DELETE"; + url: "/applications/grants/:grant_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsDeleteAuthorizationEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * The OAuth access token used to authenticate to the GitHub API. + */ + access_token?: string; +}; +declare type AppsDeleteAuthorizationRequestOptions = { + method: "DELETE"; + url: "/applications/:client_id/grant"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsRevokeGrantForApplicationEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * access_token parameter + */ + access_token: string; +}; +declare type AppsRevokeGrantForApplicationRequestOptions = { + method: "DELETE"; + url: "/applications/:client_id/grants/:access_token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsCheckTokenEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * The OAuth access token used to authenticate to the GitHub API. + */ + access_token?: string; +}; +declare type AppsCheckTokenRequestOptions = { + method: "POST"; + url: "/applications/:client_id/token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsCheckTokenResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsCheckTokenResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type AppsCheckTokenResponseData = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: AppsCheckTokenResponseDataApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; + user: AppsCheckTokenResponseDataUser; +}; +declare type AppsResetTokenEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * The OAuth access token used to authenticate to the GitHub API. + */ + access_token?: string; +}; +declare type AppsResetTokenRequestOptions = { + method: "PATCH"; + url: "/applications/:client_id/token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsResetTokenResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsResetTokenResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type AppsResetTokenResponseData = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: AppsResetTokenResponseDataApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; + user: AppsResetTokenResponseDataUser; +}; +declare type AppsDeleteTokenEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * The OAuth access token used to authenticate to the GitHub API. + */ + access_token?: string; +}; +declare type AppsDeleteTokenRequestOptions = { + method: "DELETE"; + url: "/applications/:client_id/token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsCheckAuthorizationEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * access_token parameter + */ + access_token: string; +}; +declare type AppsCheckAuthorizationRequestOptions = { + method: "GET"; + url: "/applications/:client_id/tokens/:access_token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsCheckAuthorizationResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsCheckAuthorizationResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type AppsCheckAuthorizationResponseData = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: AppsCheckAuthorizationResponseDataApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; + user: AppsCheckAuthorizationResponseDataUser; +}; +declare type AppsResetAuthorizationEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * access_token parameter + */ + access_token: string; +}; +declare type AppsResetAuthorizationRequestOptions = { + method: "POST"; + url: "/applications/:client_id/tokens/:access_token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsResetAuthorizationResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsResetAuthorizationResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type AppsResetAuthorizationResponseData = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: AppsResetAuthorizationResponseDataApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; + user: AppsResetAuthorizationResponseDataUser; +}; +declare type AppsRevokeAuthorizationForApplicationEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * access_token parameter + */ + access_token: string; +}; +declare type AppsRevokeAuthorizationForApplicationRequestOptions = { + method: "DELETE"; + url: "/applications/:client_id/tokens/:access_token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetBySlugEndpoint = { + /** + * app_slug parameter + */ + app_slug: string; +} & RequiredPreview<"machine-man">; +declare type AppsGetBySlugRequestOptions = { + method: "GET"; + url: "/apps/:app_slug"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetBySlugResponseDataPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type AppsGetBySlugResponseDataOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type AppsGetBySlugResponseData = { + id: number; + slug: string; + node_id: string; + owner: AppsGetBySlugResponseDataOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: AppsGetBySlugResponseDataPermissions; + events: Array; +}; +declare type OauthAuthorizationsListAuthorizationsEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type OauthAuthorizationsListAuthorizationsRequestOptions = { + method: "GET"; + url: "/authorizations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OauthAuthorizationsListAuthorizationsResponseDataItemApp = { + url: string; + name: string; + client_id: string; +}; +declare type OauthAuthorizationsListAuthorizationsResponseDataItem = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: OauthAuthorizationsListAuthorizationsResponseDataItemApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; +}; +declare type OauthAuthorizationsListAuthorizationsResponseData = Array; +declare type OauthAuthorizationsCreateAuthorizationEndpoint = { + /** + * A list of scopes that this authorization is in. + */ + scopes?: string[]; + /** + * A note to remind you what the OAuth token is for. Tokens not associated with a specific OAuth application (i.e. personal access tokens) must have a unique note. + */ + note: string; + /** + * A URL to remind you what app the OAuth token is for. + */ + note_url?: string; + /** + * The 20 character OAuth app client key for which to create the token. + */ + client_id?: string; + /** + * The 40 character OAuth app client secret for which to create the token. + */ + client_secret?: string; + /** + * A unique string to distinguish an authorization from others created for the same client ID and user. + */ + fingerprint?: string; +}; +declare type OauthAuthorizationsCreateAuthorizationRequestOptions = { + method: "POST"; + url: "/authorizations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OauthAuthorizationsCreateAuthorizationResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type OauthAuthorizationsCreateAuthorizationResponseData = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: OauthAuthorizationsCreateAuthorizationResponseDataApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; +}; +declare type OauthAuthorizationsGetOrCreateAuthorizationForAppEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * The 40 character OAuth app client secret associated with the client ID specified in the URL. + */ + client_secret: string; + /** + * A list of scopes that this authorization is in. + */ + scopes?: string[]; + /** + * A note to remind you what the OAuth token is for. + */ + note?: string; + /** + * A URL to remind you what app the OAuth token is for. + */ + note_url?: string; + /** + * A unique string to distinguish an authorization from others created for the same client and user. If provided, this API is functionally equivalent to [Get-or-create an authorization for a specific app and fingerprint](https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app-and-fingerprint). + */ + fingerprint?: string; +}; +declare type OauthAuthorizationsGetOrCreateAuthorizationForAppRequestOptions = { + method: "PUT"; + url: "/authorizations/clients/:client_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OauthAuthorizationsGetOrCreateAuthorizationForAppResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type OauthAuthorizationsGetOrCreateAuthorizationForAppResponseData = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: OauthAuthorizationsGetOrCreateAuthorizationForAppResponseDataApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; +}; +declare type OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * fingerprint parameter + */ + fingerprint: string; + /** + * The 40 character OAuth app client secret associated with the client ID specified in the URL. + */ + client_secret: string; + /** + * A list of scopes that this authorization is in. + */ + scopes?: string[]; + /** + * A note to remind you what the OAuth token is for. + */ + note?: string; + /** + * A URL to remind you what app the OAuth token is for. + */ + note_url?: string; +}; +declare type OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintRequestOptions = { + method: "PUT"; + url: "/authorizations/clients/:client_id/:fingerprint"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintResponseData = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintResponseDataApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; +}; +declare type OauthAuthorizationsGetAuthorizationEndpoint = { + /** + * authorization_id parameter + */ + authorization_id: number; +}; +declare type OauthAuthorizationsGetAuthorizationRequestOptions = { + method: "GET"; + url: "/authorizations/:authorization_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OauthAuthorizationsGetAuthorizationResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type OauthAuthorizationsGetAuthorizationResponseData = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: OauthAuthorizationsGetAuthorizationResponseDataApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; +}; +declare type OauthAuthorizationsUpdateAuthorizationEndpoint = { + /** + * authorization_id parameter + */ + authorization_id: number; + /** + * Replaces the authorization scopes with these. + */ + scopes?: string[]; + /** + * A list of scopes to add to this authorization. + */ + add_scopes?: string[]; + /** + * A list of scopes to remove from this authorization. + */ + remove_scopes?: string[]; + /** + * A note to remind you what the OAuth token is for. Tokens not associated with a specific OAuth application (i.e. personal access tokens) must have a unique note. + */ + note?: string; + /** + * A URL to remind you what app the OAuth token is for. + */ + note_url?: string; + /** + * A unique string to distinguish an authorization from others created for the same client ID and user. + */ + fingerprint?: string; +}; +declare type OauthAuthorizationsUpdateAuthorizationRequestOptions = { + method: "PATCH"; + url: "/authorizations/:authorization_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OauthAuthorizationsUpdateAuthorizationResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type OauthAuthorizationsUpdateAuthorizationResponseData = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: OauthAuthorizationsUpdateAuthorizationResponseDataApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; +}; +declare type OauthAuthorizationsDeleteAuthorizationEndpoint = { + /** + * authorization_id parameter + */ + authorization_id: number; +}; +declare type OauthAuthorizationsDeleteAuthorizationRequestOptions = { + method: "DELETE"; + url: "/authorizations/:authorization_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type CodesOfConductGetAllCodesOfConductEndpoint = {} & RequiredPreview<"scarlet-witch">; +declare type CodesOfConductGetAllCodesOfConductRequestOptions = { + method: "GET"; + url: "/codes_of_conduct"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type CodesOfConductGetAllCodesOfConductResponseDataItem = { + key: string; + name: string; + url: string; +}; +declare type CodesOfConductGetAllCodesOfConductResponseData = Array; +declare type CodesOfConductGetConductCodeEndpoint = { + /** + * key parameter + */ + key: string; +} & RequiredPreview<"scarlet-witch">; +declare type CodesOfConductGetConductCodeRequestOptions = { + method: "GET"; + url: "/codes_of_conduct/:key"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type CodesOfConductGetConductCodeResponseData = { + key: string; + name: string; + url: string; + body: string; +}; +declare type AppsCreateContentAttachmentEndpoint = { + /** + * content_reference_id parameter + */ + content_reference_id: number; + /** + * The title of the content attachment displayed in the body or comment of an issue or pull request. + */ + title: string; + /** + * The body text of the content attachment displayed in the body or comment of an issue or pull request. This parameter supports markdown. + */ + body: string; +} & RequiredPreview<"corsair">; +declare type AppsCreateContentAttachmentRequestOptions = { + method: "POST"; + url: "/content_references/:content_reference_id/attachments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsCreateContentAttachmentResponseData = { + id: number; + title: string; + body: string; +}; +declare type EmojisGetEndpoint = {}; +declare type EmojisGetRequestOptions = { + method: "GET"; + url: "/emojis"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListPublicEventsEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListPublicEventsRequestOptions = { + method: "GET"; + url: "/events"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityGetFeedsEndpoint = {}; +declare type ActivityGetFeedsRequestOptions = { + method: "GET"; + url: "/feeds"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityGetFeedsResponseDataLinksSecurityAdvisories = { + href: string; + type: string; +}; +declare type ActivityGetFeedsResponseDataLinksCurrentUserOrganizationsItem = { + href: string; + type: string; +}; +declare type ActivityGetFeedsResponseDataLinksCurrentUserOrganization = { + href: string; + type: string; +}; +declare type ActivityGetFeedsResponseDataLinksCurrentUserActor = { + href: string; + type: string; +}; +declare type ActivityGetFeedsResponseDataLinksCurrentUser = { + href: string; + type: string; +}; +declare type ActivityGetFeedsResponseDataLinksCurrentUserPublic = { + href: string; + type: string; +}; +declare type ActivityGetFeedsResponseDataLinksUser = { + href: string; + type: string; +}; +declare type ActivityGetFeedsResponseDataLinksTimeline = { + href: string; + type: string; +}; +declare type ActivityGetFeedsResponseDataLinks = { + timeline: ActivityGetFeedsResponseDataLinksTimeline; + user: ActivityGetFeedsResponseDataLinksUser; + current_user_public: ActivityGetFeedsResponseDataLinksCurrentUserPublic; + current_user: ActivityGetFeedsResponseDataLinksCurrentUser; + current_user_actor: ActivityGetFeedsResponseDataLinksCurrentUserActor; + current_user_organization: ActivityGetFeedsResponseDataLinksCurrentUserOrganization; + current_user_organizations: Array; + security_advisories: ActivityGetFeedsResponseDataLinksSecurityAdvisories; +}; +declare type ActivityGetFeedsResponseData = { + timeline_url: string; + user_url: string; + current_user_public_url: string; + current_user_url: string; + current_user_actor_url: string; + current_user_organization_url: string; + current_user_organization_urls: Array; + security_advisories_url: string; + _links: ActivityGetFeedsResponseDataLinks; +}; +declare type GistsListEndpoint = { + /** + * This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Only gists updated at or after this time are returned. + */ + since?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type GistsListRequestOptions = { + method: "GET"; + url: "/gists"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsListResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsListResponseDataItemFilesHelloWorldRb = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; +}; +declare type GistsListResponseDataItemFiles = { + "hello_world.rb": GistsListResponseDataItemFilesHelloWorldRb; +}; +declare type GistsListResponseDataItem = { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: GistsListResponseDataItemFiles; + public: boolean; + created_at: string; + updated_at: string; + description: string; + comments: number; + user: null; + comments_url: string; + owner: GistsListResponseDataItemOwner; + truncated: boolean; +}; +declare type GistsListResponseData = Array; +declare type GistsCreateEndpoint = { + /** + * The filenames and content of each file in the gist. The keys in the `files` object represent the filename and have the type `string`. + */ + files: GistsCreateParamsFiles; + /** + * A descriptive name for this gist. + */ + description?: string; + /** + * When `true`, the gist will be public and available for anyone to see. + */ + public?: boolean; +}; +declare type GistsCreateRequestOptions = { + method: "POST"; + url: "/gists"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsCreateResponseDataHistoryItemChangeStatus = { + deletions: number; + additions: number; + total: number; +}; +declare type GistsCreateResponseDataHistoryItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsCreateResponseDataHistoryItem = { + url: string; + version: string; + user: GistsCreateResponseDataHistoryItemUser; + change_status: GistsCreateResponseDataHistoryItemChangeStatus; + committed_at: string; +}; +declare type GistsCreateResponseDataForksItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsCreateResponseDataForksItem = { + user: GistsCreateResponseDataForksItemUser; + url: string; + id: string; + created_at: string; + updated_at: string; +}; +declare type GistsCreateResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsCreateResponseDataFilesHelloWorldPythonTxt = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsCreateResponseDataFilesHelloWorldRubyTxt = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsCreateResponseDataFilesHelloWorldPy = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsCreateResponseDataFilesHelloWorldRb = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsCreateResponseDataFiles = { + "hello_world.rb": GistsCreateResponseDataFilesHelloWorldRb; + "hello_world.py": GistsCreateResponseDataFilesHelloWorldPy; + "hello_world_ruby.txt": GistsCreateResponseDataFilesHelloWorldRubyTxt; + "hello_world_python.txt": GistsCreateResponseDataFilesHelloWorldPythonTxt; +}; +declare type GistsCreateResponseData = { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: GistsCreateResponseDataFiles; + public: boolean; + created_at: string; + updated_at: string; + description: string; + comments: number; + user: null; + comments_url: string; + owner: GistsCreateResponseDataOwner; + truncated: boolean; + forks: Array; + history: Array; +}; +declare type GistsListPublicEndpoint = { + /** + * This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Only gists updated at or after this time are returned. + */ + since?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type GistsListPublicRequestOptions = { + method: "GET"; + url: "/gists/public"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsListPublicResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsListPublicResponseDataItemFilesHelloWorldRb = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; +}; +declare type GistsListPublicResponseDataItemFiles = { + "hello_world.rb": GistsListPublicResponseDataItemFilesHelloWorldRb; +}; +declare type GistsListPublicResponseDataItem = { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: GistsListPublicResponseDataItemFiles; + public: boolean; + created_at: string; + updated_at: string; + description: string; + comments: number; + user: null; + comments_url: string; + owner: GistsListPublicResponseDataItemOwner; + truncated: boolean; +}; +declare type GistsListPublicResponseData = Array; +declare type GistsListStarredEndpoint = { + /** + * This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Only gists updated at or after this time are returned. + */ + since?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type GistsListStarredRequestOptions = { + method: "GET"; + url: "/gists/starred"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsListStarredResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsListStarredResponseDataItemFilesHelloWorldRb = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; +}; +declare type GistsListStarredResponseDataItemFiles = { + "hello_world.rb": GistsListStarredResponseDataItemFilesHelloWorldRb; +}; +declare type GistsListStarredResponseDataItem = { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: GistsListStarredResponseDataItemFiles; + public: boolean; + created_at: string; + updated_at: string; + description: string; + comments: number; + user: null; + comments_url: string; + owner: GistsListStarredResponseDataItemOwner; + truncated: boolean; +}; +declare type GistsListStarredResponseData = Array; +declare type GistsGetEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; +}; +declare type GistsGetRequestOptions = { + method: "GET"; + url: "/gists/:gist_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsGetResponseDataHistoryItemChangeStatus = { + deletions: number; + additions: number; + total: number; +}; +declare type GistsGetResponseDataHistoryItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsGetResponseDataHistoryItem = { + url: string; + version: string; + user: GistsGetResponseDataHistoryItemUser; + change_status: GistsGetResponseDataHistoryItemChangeStatus; + committed_at: string; +}; +declare type GistsGetResponseDataForksItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsGetResponseDataForksItem = { + user: GistsGetResponseDataForksItemUser; + url: string; + id: string; + created_at: string; + updated_at: string; +}; +declare type GistsGetResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsGetResponseDataFilesHelloWorldPythonTxt = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsGetResponseDataFilesHelloWorldRubyTxt = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsGetResponseDataFilesHelloWorldPy = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsGetResponseDataFilesHelloWorldRb = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsGetResponseDataFiles = { + "hello_world.rb": GistsGetResponseDataFilesHelloWorldRb; + "hello_world.py": GistsGetResponseDataFilesHelloWorldPy; + "hello_world_ruby.txt": GistsGetResponseDataFilesHelloWorldRubyTxt; + "hello_world_python.txt": GistsGetResponseDataFilesHelloWorldPythonTxt; +}; +declare type GistsGetResponseData = { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: GistsGetResponseDataFiles; + public: boolean; + created_at: string; + updated_at: string; + description: string; + comments: number; + user: null; + comments_url: string; + owner: GistsGetResponseDataOwner; + truncated: boolean; + forks: Array; + history: Array; +}; +declare type GistsUpdateEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; + /** + * A descriptive name for this gist. + */ + description?: string; + /** + * The filenames and content that make up this gist. + */ + files?: GistsUpdateParamsFiles; +}; +declare type GistsUpdateRequestOptions = { + method: "PATCH"; + url: "/gists/:gist_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsUpdateResponseDataHistoryItemChangeStatus = { + deletions: number; + additions: number; + total: number; +}; +declare type GistsUpdateResponseDataHistoryItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsUpdateResponseDataHistoryItem = { + url: string; + version: string; + user: GistsUpdateResponseDataHistoryItemUser; + change_status: GistsUpdateResponseDataHistoryItemChangeStatus; + committed_at: string; +}; +declare type GistsUpdateResponseDataForksItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsUpdateResponseDataForksItem = { + user: GistsUpdateResponseDataForksItemUser; + url: string; + id: string; + created_at: string; + updated_at: string; +}; +declare type GistsUpdateResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsUpdateResponseDataFilesNewFileTxt = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsUpdateResponseDataFilesHelloWorldMd = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsUpdateResponseDataFilesHelloWorldPy = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsUpdateResponseDataFilesHelloWorldRb = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsUpdateResponseDataFiles = { + "hello_world.rb": GistsUpdateResponseDataFilesHelloWorldRb; + "hello_world.py": GistsUpdateResponseDataFilesHelloWorldPy; + "hello_world.md": GistsUpdateResponseDataFilesHelloWorldMd; + "new_file.txt": GistsUpdateResponseDataFilesNewFileTxt; +}; +declare type GistsUpdateResponseData = { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: GistsUpdateResponseDataFiles; + public: boolean; + created_at: string; + updated_at: string; + description: string; + comments: number; + user: null; + comments_url: string; + owner: GistsUpdateResponseDataOwner; + truncated: boolean; + forks: Array; + history: Array; +}; +declare type GistsDeleteEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; +}; +declare type GistsDeleteRequestOptions = { + method: "DELETE"; + url: "/gists/:gist_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsListCommentsEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type GistsListCommentsRequestOptions = { + method: "GET"; + url: "/gists/:gist_id/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsListCommentsResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsListCommentsResponseDataItem = { + id: number; + node_id: string; + url: string; + body: string; + user: GistsListCommentsResponseDataItemUser; + created_at: string; + updated_at: string; +}; +declare type GistsListCommentsResponseData = Array; +declare type GistsCreateCommentEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; + /** + * The comment text. + */ + body: string; +}; +declare type GistsCreateCommentRequestOptions = { + method: "POST"; + url: "/gists/:gist_id/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsCreateCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsCreateCommentResponseData = { + id: number; + node_id: string; + url: string; + body: string; + user: GistsCreateCommentResponseDataUser; + created_at: string; + updated_at: string; +}; +declare type GistsGetCommentEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; + /** + * comment_id parameter + */ + comment_id: number; +}; +declare type GistsGetCommentRequestOptions = { + method: "GET"; + url: "/gists/:gist_id/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsGetCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsGetCommentResponseData = { + id: number; + node_id: string; + url: string; + body: string; + user: GistsGetCommentResponseDataUser; + created_at: string; + updated_at: string; +}; +declare type GistsUpdateCommentEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * The comment text. + */ + body: string; +}; +declare type GistsUpdateCommentRequestOptions = { + method: "PATCH"; + url: "/gists/:gist_id/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsUpdateCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsUpdateCommentResponseData = { + id: number; + node_id: string; + url: string; + body: string; + user: GistsUpdateCommentResponseDataUser; + created_at: string; + updated_at: string; +}; +declare type GistsDeleteCommentEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; + /** + * comment_id parameter + */ + comment_id: number; +}; +declare type GistsDeleteCommentRequestOptions = { + method: "DELETE"; + url: "/gists/:gist_id/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsListCommitsEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type GistsListCommitsRequestOptions = { + method: "GET"; + url: "/gists/:gist_id/commits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsListCommitsResponseDataItemChangeStatus = { + deletions: number; + additions: number; + total: number; +}; +declare type GistsListCommitsResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsListCommitsResponseDataItem = { + url: string; + version: string; + user: GistsListCommitsResponseDataItemUser; + change_status: GistsListCommitsResponseDataItemChangeStatus; + committed_at: string; +}; +declare type GistsListCommitsResponseData = Array; +declare type GistsForkEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; +}; +declare type GistsForkRequestOptions = { + method: "POST"; + url: "/gists/:gist_id/forks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsForkResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsForkResponseDataFilesHelloWorldRb = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; +}; +declare type GistsForkResponseDataFiles = { + "hello_world.rb": GistsForkResponseDataFilesHelloWorldRb; +}; +declare type GistsForkResponseData = { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: GistsForkResponseDataFiles; + public: boolean; + created_at: string; + updated_at: string; + description: string; + comments: number; + user: null; + comments_url: string; + owner: GistsForkResponseDataOwner; + truncated: boolean; +}; +declare type GistsListForksEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type GistsListForksRequestOptions = { + method: "GET"; + url: "/gists/:gist_id/forks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsListForksResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsListForksResponseDataItem = { + user: GistsListForksResponseDataItemUser; + url: string; + id: string; + created_at: string; + updated_at: string; +}; +declare type GistsListForksResponseData = Array; +declare type GistsStarEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; +}; +declare type GistsStarRequestOptions = { + method: "PUT"; + url: "/gists/:gist_id/star"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsUnstarEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; +}; +declare type GistsUnstarRequestOptions = { + method: "DELETE"; + url: "/gists/:gist_id/star"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsCheckIsStarredEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; +}; +declare type GistsCheckIsStarredRequestOptions = { + method: "GET"; + url: "/gists/:gist_id/star"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsGetRevisionEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; + /** + * sha parameter + */ + sha: string; +}; +declare type GistsGetRevisionRequestOptions = { + method: "GET"; + url: "/gists/:gist_id/:sha"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsGetRevisionResponseDataHistoryItemChangeStatus = { + deletions: number; + additions: number; + total: number; +}; +declare type GistsGetRevisionResponseDataHistoryItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsGetRevisionResponseDataHistoryItem = { + url: string; + version: string; + user: GistsGetRevisionResponseDataHistoryItemUser; + change_status: GistsGetRevisionResponseDataHistoryItemChangeStatus; + committed_at: string; +}; +declare type GistsGetRevisionResponseDataForksItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsGetRevisionResponseDataForksItem = { + user: GistsGetRevisionResponseDataForksItemUser; + url: string; + id: string; + created_at: string; + updated_at: string; +}; +declare type GistsGetRevisionResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsGetRevisionResponseDataFilesHelloWorldPythonTxt = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsGetRevisionResponseDataFilesHelloWorldRubyTxt = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsGetRevisionResponseDataFilesHelloWorldPy = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsGetRevisionResponseDataFilesHelloWorldRb = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsGetRevisionResponseDataFiles = { + "hello_world.rb": GistsGetRevisionResponseDataFilesHelloWorldRb; + "hello_world.py": GistsGetRevisionResponseDataFilesHelloWorldPy; + "hello_world_ruby.txt": GistsGetRevisionResponseDataFilesHelloWorldRubyTxt; + "hello_world_python.txt": GistsGetRevisionResponseDataFilesHelloWorldPythonTxt; +}; +declare type GistsGetRevisionResponseData = { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: GistsGetRevisionResponseDataFiles; + public: boolean; + created_at: string; + updated_at: string; + description: string; + comments: number; + user: null; + comments_url: string; + owner: GistsGetRevisionResponseDataOwner; + truncated: boolean; + forks: Array; + history: Array; +}; +declare type GitignoreListTemplatesEndpoint = {}; +declare type GitignoreListTemplatesRequestOptions = { + method: "GET"; + url: "/gitignore/templates"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitignoreListTemplatesResponseData = Array; +declare type GitignoreGetTemplateEndpoint = { + /** + * name parameter + */ + name: string; +}; +declare type GitignoreGetTemplateRequestOptions = { + method: "GET"; + url: "/gitignore/templates/:name"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitignoreGetTemplateResponseData = { + name: string; + source: string; +}; +declare type AppsListReposEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"machine-man">; +declare type AppsListReposRequestOptions = { + method: "GET"; + url: "/installation/repositories"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListReposResponseDataRepositoriesItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsListReposResponseDataRepositoriesItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: AppsListReposResponseDataRepositoriesItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type AppsListReposResponseData = { + total_count: number; + repositories: Array; +}; +declare type AppsRevokeInstallationTokenEndpoint = {}; +declare type AppsRevokeInstallationTokenRequestOptions = { + method: "DELETE"; + url: "/installation/token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListEndpoint = { + /** + * Indicates which sorts of issues to return. Can be one of: + * \* `assigned`: Issues assigned to you + * \* `created`: Issues created by you + * \* `mentioned`: Issues mentioning you + * \* `subscribed`: Issues you're subscribed to updates for + * \* `all`: All issues the authenticated user can see, regardless of participation or creation + */ + filter?: "assigned" | "created" | "mentioned" | "subscribed" | "all"; + /** + * Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + /** + * A list of comma separated label names. Example: `bug,ui,@high` + */ + labels?: string; + /** + * What to sort results by. Can be either `created`, `updated`, `comments`. + */ + sort?: "created" | "updated" | "comments"; + /** + * The direction of the sort. Can be either `asc` or `desc`. + */ + direction?: "asc" | "desc"; + /** + * Only issues updated at or after this time are returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type IssuesListRequestOptions = { + method: "GET"; + url: "/issues"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListResponseDataItemRepositoryPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type IssuesListResponseDataItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListResponseDataItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: IssuesListResponseDataItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: IssuesListResponseDataItemRepositoryPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type IssuesListResponseDataItemPullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesListResponseDataItemMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListResponseDataItemMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesListResponseDataItemMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesListResponseDataItemAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListResponseDataItemAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListResponseDataItemLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesListResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListResponseDataItem = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesListResponseDataItemUser; + labels: Array; + assignee: IssuesListResponseDataItemAssignee; + assignees: Array; + milestone: IssuesListResponseDataItemMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesListResponseDataItemPullRequest; + closed_at: null; + created_at: string; + updated_at: string; + repository: IssuesListResponseDataItemRepository; +}; +declare type IssuesListResponseData = Array; +declare type SearchIssuesLegacyEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repository parameter + */ + repository: string; + /** + * Indicates the state of the issues to return. Can be either `open` or `closed`. + */ + state: "open" | "closed"; + /** + * The search term. + */ + keyword: string; +}; +declare type SearchIssuesLegacyRequestOptions = { + method: "GET"; + url: "/legacy/issues/search/:owner/:repository/:state/:keyword"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchIssuesLegacyResponseDataIssuesItem = { + gravatar_id: string; + position: number; + number: number; + votes: number; + created_at: string; + comments: number; + body: string; + title: string; + updated_at: string; + html_url: string; + user: string; + labels: Array; + state: string; +}; +declare type SearchIssuesLegacyResponseData = { + issues: Array; +}; +declare type SearchReposLegacyEndpoint = { + /** + * The search term. + */ + keyword: string; + /** + * Filter results by language. + */ + language?: string; + /** + * The page number to fetch. + */ + start_page?: string; + /** + * The sort field. One of `stars`, `forks`, or `updated`. Default: results are sorted by best match. + */ + sort?: "stars" | "forks" | "updated"; + /** + * The sort field. if `sort` param is provided. Can be either `asc` or `desc`. + */ + order?: "asc" | "desc"; +}; +declare type SearchReposLegacyRequestOptions = { + method: "GET"; + url: "/legacy/repos/search/:keyword"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchReposLegacyResponseDataRepositoriesItem = { + type: string; + created: string; + watchers: number; + has_downloads: boolean; + username: string; + homepage: string; + url: string; + fork: boolean; + has_issues: boolean; + has_wiki: boolean; + forks: number; + size: number; + private: boolean; + followers: number; + name: string; + owner: string; + open_issues: number; + pushed_at: string; + score: number; + pushed: string; + description: string; + language: string; + created_at: string; +}; +declare type SearchReposLegacyResponseData = { + repositories: Array; +}; +declare type SearchEmailLegacyEndpoint = { + /** + * The email address. + */ + email: string; +}; +declare type SearchEmailLegacyRequestOptions = { + method: "GET"; + url: "/legacy/user/email/:email"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchEmailLegacyResponseDataUser = { + public_repo_count: number; + public_gist_count: number; + followers_count: number; + following_count: number; + created: string; + created_at: string; + name: string; + company: string; + blog: string; + location: string; + email: string; + id: number; + login: string; + type: string; + gravatar_id: string; +}; +declare type SearchEmailLegacyResponseData = { + user: SearchEmailLegacyResponseDataUser; +}; +declare type SearchUsersLegacyEndpoint = { + /** + * The search term. + */ + keyword: string; + /** + * The page number to fetch. + */ + start_page?: string; + /** + * The sort field. One of `stars`, `forks`, or `updated`. Default: results are sorted by best match. + */ + sort?: "stars" | "forks" | "updated"; + /** + * The sort field. if `sort` param is provided. Can be either `asc` or `desc`. + */ + order?: "asc" | "desc"; +}; +declare type SearchUsersLegacyRequestOptions = { + method: "GET"; + url: "/legacy/user/search/:keyword"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchUsersLegacyResponseDataUsersItem = { + gravatar_id: string; + name: string; + created_at: string; + location: string; + public_repo_count: number; + followers: number; + language: string; + fullname: string; + username: string; + id: string; + repos: number; + type: string; + followers_count: number; + login: string; + score: number; + created: string; +}; +declare type SearchUsersLegacyResponseData = { + users: Array; +}; +declare type LicensesListCommonlyUsedEndpoint = {}; +declare type LicensesListCommonlyUsedRequestOptions = { + method: "GET"; + url: "/licenses"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type LicensesListCommonlyUsedResponseDataItem = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id?: string; +}; +declare type LicensesListCommonlyUsedResponseData = Array; +declare type LicensesGetEndpoint = { + /** + * license parameter + */ + license: string; +}; +declare type LicensesGetRequestOptions = { + method: "GET"; + url: "/licenses/:license"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type LicensesGetResponseData = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; + html_url: string; + description: string; + implementation: string; + permissions: Array; + conditions: Array; + limitations: Array; + body: string; + featured: boolean; +}; +declare type MarkdownRenderEndpoint = { + /** + * The Markdown text to render in HTML. Markdown content must be 400 KB or less. + */ + text: string; + /** + * The rendering mode. Can be either: + * \* `markdown` to render a document in plain Markdown, just like README.md files are rendered. + * \* `gfm` to render a document in [GitHub Flavored Markdown](https://github.github.com/gfm/), which creates links for user mentions as well as references to SHA-1 hashes, issues, and pull requests. + */ + mode?: "markdown" | "gfm"; + /** + * The repository context to use when creating references in `gfm` mode. Omit this parameter when using `markdown` mode. + */ + context?: string; +}; +declare type MarkdownRenderRequestOptions = { + method: "POST"; + url: "/markdown"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MarkdownRenderRawEndpoint = { + /** + * data parameter + */ + data: string; +} & { + headers: { + "content-type": "text/plain; charset=utf-8"; + }; +}; +declare type MarkdownRenderRawRequestOptions = { + method: "POST"; + url: "/markdown/raw"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetSubscriptionPlanForAccountEndpoint = { + /** + * account_id parameter + */ + account_id: number; +}; +declare type AppsGetSubscriptionPlanForAccountRequestOptions = { + method: "GET"; + url: "/marketplace_listing/accounts/:account_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetSubscriptionPlanForAccountResponseDataMarketplacePurchasePlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + unit_name: null; + state: string; + bullets: Array; +}; +declare type AppsGetSubscriptionPlanForAccountResponseDataMarketplacePurchase = { + billing_cycle: string; + next_billing_date: string; + unit_count: null; + on_free_trial: boolean; + free_trial_ends_on: string; + updated_at: string; + plan: AppsGetSubscriptionPlanForAccountResponseDataMarketplacePurchasePlan; +}; +declare type AppsGetSubscriptionPlanForAccountResponseDataMarketplacePendingChangePlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + state: string; + unit_name: null; + bullets: Array; +}; +declare type AppsGetSubscriptionPlanForAccountResponseDataMarketplacePendingChange = { + effective_date: string; + unit_count: null; + id: number; + plan: AppsGetSubscriptionPlanForAccountResponseDataMarketplacePendingChangePlan; +}; +declare type AppsGetSubscriptionPlanForAccountResponseData = { + url: string; + type: string; + id: number; + login: string; + email: null; + organization_billing_email: string; + marketplace_pending_change: AppsGetSubscriptionPlanForAccountResponseDataMarketplacePendingChange; + marketplace_purchase: AppsGetSubscriptionPlanForAccountResponseDataMarketplacePurchase; +}; +declare type AppsListPlansEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type AppsListPlansRequestOptions = { + method: "GET"; + url: "/marketplace_listing/plans"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListPlansResponseDataItem = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + unit_name: null; + state: string; + bullets: Array; +}; +declare type AppsListPlansResponseData = Array; +declare type AppsListAccountsForPlanEndpoint = { + /** + * plan_id parameter + */ + plan_id: number; + /** + * Sorts the GitHub accounts by the date they were created or last updated. Can be one of `created` or `updated`. + */ + sort?: "created" | "updated"; + /** + * To return the oldest accounts first, set to `asc`. Can be one of `asc` or `desc`. Ignored without the `sort` parameter. + */ + direction?: "asc" | "desc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type AppsListAccountsForPlanRequestOptions = { + method: "GET"; + url: "/marketplace_listing/plans/:plan_id/accounts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListAccountsForPlanResponseDataItemMarketplacePurchasePlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + unit_name: null; + state: string; + bullets: Array; +}; +declare type AppsListAccountsForPlanResponseDataItemMarketplacePurchase = { + billing_cycle: string; + next_billing_date: string; + unit_count: null; + on_free_trial: boolean; + free_trial_ends_on: string; + updated_at: string; + plan: AppsListAccountsForPlanResponseDataItemMarketplacePurchasePlan; +}; +declare type AppsListAccountsForPlanResponseDataItemMarketplacePendingChangePlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + state: string; + unit_name: null; + bullets: Array; +}; +declare type AppsListAccountsForPlanResponseDataItemMarketplacePendingChange = { + effective_date: string; + unit_count: null; + id: number; + plan: AppsListAccountsForPlanResponseDataItemMarketplacePendingChangePlan; +}; +declare type AppsListAccountsForPlanResponseDataItem = { + url: string; + type: string; + id: number; + login: string; + email: null; + organization_billing_email: string; + marketplace_pending_change: AppsListAccountsForPlanResponseDataItemMarketplacePendingChange; + marketplace_purchase: AppsListAccountsForPlanResponseDataItemMarketplacePurchase; +}; +declare type AppsListAccountsForPlanResponseData = Array; +declare type AppsGetSubscriptionPlanForAccountStubbedEndpoint = { + /** + * account_id parameter + */ + account_id: number; +}; +declare type AppsGetSubscriptionPlanForAccountStubbedRequestOptions = { + method: "GET"; + url: "/marketplace_listing/stubbed/accounts/:account_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetSubscriptionPlanForAccountStubbedResponseDataMarketplacePurchasePlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + unit_name: null; + state: string; + bullets: Array; +}; +declare type AppsGetSubscriptionPlanForAccountStubbedResponseDataMarketplacePurchase = { + billing_cycle: string; + next_billing_date: string; + unit_count: null; + on_free_trial: boolean; + free_trial_ends_on: string; + updated_at: string; + plan: AppsGetSubscriptionPlanForAccountStubbedResponseDataMarketplacePurchasePlan; +}; +declare type AppsGetSubscriptionPlanForAccountStubbedResponseDataMarketplacePendingChangePlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + state: string; + unit_name: null; + bullets: Array; +}; +declare type AppsGetSubscriptionPlanForAccountStubbedResponseDataMarketplacePendingChange = { + effective_date: string; + unit_count: null; + id: number; + plan: AppsGetSubscriptionPlanForAccountStubbedResponseDataMarketplacePendingChangePlan; +}; +declare type AppsGetSubscriptionPlanForAccountStubbedResponseData = { + url: string; + type: string; + id: number; + login: string; + email: null; + organization_billing_email: string; + marketplace_pending_change: AppsGetSubscriptionPlanForAccountStubbedResponseDataMarketplacePendingChange; + marketplace_purchase: AppsGetSubscriptionPlanForAccountStubbedResponseDataMarketplacePurchase; +}; +declare type AppsListPlansStubbedEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type AppsListPlansStubbedRequestOptions = { + method: "GET"; + url: "/marketplace_listing/stubbed/plans"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListPlansStubbedResponseDataItem = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + unit_name: null; + state: string; + bullets: Array; +}; +declare type AppsListPlansStubbedResponseData = Array; +declare type AppsListAccountsForPlanStubbedEndpoint = { + /** + * plan_id parameter + */ + plan_id: number; + /** + * Sorts the GitHub accounts by the date they were created or last updated. Can be one of `created` or `updated`. + */ + sort?: "created" | "updated"; + /** + * To return the oldest accounts first, set to `asc`. Can be one of `asc` or `desc`. Ignored without the `sort` parameter. + */ + direction?: "asc" | "desc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type AppsListAccountsForPlanStubbedRequestOptions = { + method: "GET"; + url: "/marketplace_listing/stubbed/plans/:plan_id/accounts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListAccountsForPlanStubbedResponseDataItemMarketplacePurchasePlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + unit_name: null; + state: string; + bullets: Array; +}; +declare type AppsListAccountsForPlanStubbedResponseDataItemMarketplacePurchase = { + billing_cycle: string; + next_billing_date: string; + unit_count: null; + on_free_trial: boolean; + free_trial_ends_on: string; + updated_at: string; + plan: AppsListAccountsForPlanStubbedResponseDataItemMarketplacePurchasePlan; +}; +declare type AppsListAccountsForPlanStubbedResponseDataItemMarketplacePendingChangePlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + state: string; + unit_name: null; + bullets: Array; +}; +declare type AppsListAccountsForPlanStubbedResponseDataItemMarketplacePendingChange = { + effective_date: string; + unit_count: null; + id: number; + plan: AppsListAccountsForPlanStubbedResponseDataItemMarketplacePendingChangePlan; +}; +declare type AppsListAccountsForPlanStubbedResponseDataItem = { + url: string; + type: string; + id: number; + login: string; + email: null; + organization_billing_email: string; + marketplace_pending_change: AppsListAccountsForPlanStubbedResponseDataItemMarketplacePendingChange; + marketplace_purchase: AppsListAccountsForPlanStubbedResponseDataItemMarketplacePurchase; +}; +declare type AppsListAccountsForPlanStubbedResponseData = Array; +declare type MetaGetEndpoint = {}; +declare type MetaGetRequestOptions = { + method: "GET"; + url: "/meta"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MetaGetResponseDataSshKeyFingerprints = { + MD5_RSA: string; + MD5_DSA: string; + SHA256_RSA: string; + SHA256_DSA: string; +}; +declare type MetaGetResponseData = { + verifiable_password_authentication: boolean; + ssh_key_fingerprints: MetaGetResponseDataSshKeyFingerprints; + hooks: Array; + web: Array; + api: Array; + git: Array; + pages: Array; + importer: Array; +}; +declare type ActivityListPublicEventsForRepoNetworkEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListPublicEventsForRepoNetworkRequestOptions = { + method: "GET"; + url: "/networks/:owner/:repo/events"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListNotificationsForAuthenticatedUserEndpoint = { + /** + * If `true`, show notifications marked as read. + */ + all?: boolean; + /** + * If `true`, only shows notifications in which the user is directly participating or mentioned. + */ + participating?: boolean; + /** + * Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; + /** + * Only show notifications updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + before?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListNotificationsForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/notifications"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListNotificationsForAuthenticatedUserResponseDataItemSubject = { + title: string; + url: string; + latest_comment_url: string; + type: string; +}; +declare type ActivityListNotificationsForAuthenticatedUserResponseDataItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActivityListNotificationsForAuthenticatedUserResponseDataItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActivityListNotificationsForAuthenticatedUserResponseDataItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ActivityListNotificationsForAuthenticatedUserResponseDataItem = { + id: string; + repository: ActivityListNotificationsForAuthenticatedUserResponseDataItemRepository; + subject: ActivityListNotificationsForAuthenticatedUserResponseDataItemSubject; + reason: string; + unread: boolean; + updated_at: string; + last_read_at: string; + url: string; +}; +declare type ActivityListNotificationsForAuthenticatedUserResponseData = Array; +declare type ActivityMarkNotificationsAsReadEndpoint = { + /** + * Describes the last point that notifications were checked. Anything updated since this time will not be marked as read. If you omit this parameter, all notifications are marked as read. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp. + */ + last_read_at?: string; +}; +declare type ActivityMarkNotificationsAsReadRequestOptions = { + method: "PUT"; + url: "/notifications"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityGetThreadEndpoint = { + /** + * thread_id parameter + */ + thread_id: number; +}; +declare type ActivityGetThreadRequestOptions = { + method: "GET"; + url: "/notifications/threads/:thread_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityGetThreadResponseDataSubject = { + title: string; + url: string; + latest_comment_url: string; + type: string; +}; +declare type ActivityGetThreadResponseDataRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActivityGetThreadResponseDataRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActivityGetThreadResponseDataRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ActivityGetThreadResponseData = { + id: string; + repository: ActivityGetThreadResponseDataRepository; + subject: ActivityGetThreadResponseDataSubject; + reason: string; + unread: boolean; + updated_at: string; + last_read_at: string; + url: string; +}; +declare type ActivityMarkThreadAsReadEndpoint = { + /** + * thread_id parameter + */ + thread_id: number; +}; +declare type ActivityMarkThreadAsReadRequestOptions = { + method: "PATCH"; + url: "/notifications/threads/:thread_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityGetThreadSubscriptionForAuthenticatedUserEndpoint = { + /** + * thread_id parameter + */ + thread_id: number; +}; +declare type ActivityGetThreadSubscriptionForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/notifications/threads/:thread_id/subscription"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityGetThreadSubscriptionForAuthenticatedUserResponseData = { + subscribed: boolean; + ignored: boolean; + reason: null; + created_at: string; + url: string; + thread_url: string; +}; +declare type ActivitySetThreadSubscriptionEndpoint = { + /** + * thread_id parameter + */ + thread_id: number; + /** + * Unsubscribes and subscribes you to a conversation. Set `ignored` to `true` to block all notifications from this thread. + */ + ignored?: boolean; +}; +declare type ActivitySetThreadSubscriptionRequestOptions = { + method: "PUT"; + url: "/notifications/threads/:thread_id/subscription"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivitySetThreadSubscriptionResponseData = { + subscribed: boolean; + ignored: boolean; + reason: null; + created_at: string; + url: string; + thread_url: string; +}; +declare type ActivityDeleteThreadSubscriptionEndpoint = { + /** + * thread_id parameter + */ + thread_id: number; +}; +declare type ActivityDeleteThreadSubscriptionRequestOptions = { + method: "DELETE"; + url: "/notifications/threads/:thread_id/subscription"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListEndpoint = { + /** + * The integer ID of the last organization that you've seen. + */ + since?: number; +}; +declare type OrgsListRequestOptions = { + method: "GET"; + url: "/organizations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListResponseDataItem = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type OrgsListResponseData = Array; +declare type OrgsGetEndpoint = { + /** + * org parameter + */ + org: string; +}; +declare type OrgsGetRequestOptions = { + method: "GET"; + url: "/orgs/:org"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsGetResponseDataPlan = { + name: string; + space: number; + private_repos: number; + filled_seats?: number; + seats?: number; +}; +declare type OrgsGetResponseData = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; + name: string; + company: string; + blog: string; + location: string; + email: string; + is_verified: boolean; + has_organization_projects: boolean; + has_repository_projects: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; + html_url: string; + created_at: string; + type: string; + total_private_repos?: number; + owned_private_repos?: number; + private_gists?: number; + disk_usage?: number; + collaborators?: number; + billing_email?: string; + plan: OrgsGetResponseDataPlan; + default_repository_permission?: string; + members_can_create_repositories?: boolean; + two_factor_requirement_enabled?: boolean; + members_allowed_repository_creation_type?: string; + members_can_create_public_repositories?: boolean; + members_can_create_private_repositories?: boolean; + members_can_create_internal_repositories?: boolean; +}; +declare type OrgsUpdateEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Billing email address. This address is not publicized. + */ + billing_email?: string; + /** + * The company name. + */ + company?: string; + /** + * The publicly visible email address. + */ + email?: string; + /** + * The location. + */ + location?: string; + /** + * The shorthand name of the company. + */ + name?: string; + /** + * The description of the company. + */ + description?: string; + /** + * Toggles whether an organization can use organization projects. + */ + has_organization_projects?: boolean; + /** + * Toggles whether repositories that belong to the organization can use repository projects. + */ + has_repository_projects?: boolean; + /** + * Default permission level members have for organization repositories: + * \* `read` - can pull, but not push to or administer this repository. + * \* `write` - can pull and push, but not administer this repository. + * \* `admin` - can pull, push, and administer this repository. + * \* `none` - no permissions granted by default. + */ + default_repository_permission?: "read" | "write" | "admin" | "none"; + /** + * Toggles the ability of non-admin organization members to create repositories. Can be one of: + * \* `true` - all organization members can create repositories. + * \* `false` - only organization owners can create repositories. + * Default: `true` + * **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details. **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details. + */ + members_can_create_repositories?: boolean; + /** + * Toggles whether organization members can create internal repositories, which are visible to all enterprise members. You can only allow members to create internal repositories if your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. Can be one of: + * \* `true` - all organization members can create internal repositories. + * \* `false` - only organization owners can create internal repositories. + * Default: `true`. For more information, see "[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. + */ + members_can_create_internal_repositories?: boolean; + /** + * Toggles whether organization members can create private repositories, which are visible to organization members with permission. Can be one of: + * \* `true` - all organization members can create private repositories. + * \* `false` - only organization owners can create private repositories. + * Default: `true`. For more information, see "[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. + */ + members_can_create_private_repositories?: boolean; + /** + * Toggles whether organization members can create public repositories, which are visible to anyone. Can be one of: + * \* `true` - all organization members can create public repositories. + * \* `false` - only organization owners can create public repositories. + * Default: `true`. For more information, see "[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. + */ + members_can_create_public_repositories?: boolean; + /** + * Specifies which types of repositories non-admin organization members can create. Can be one of: + * \* `all` - all organization members can create public and private repositories. + * \* `private` - members can create private repositories. This option is only available to repositories that are part of an organization on GitHub Enterprise Cloud. + * \* `none` - only admin members can create repositories. + * **Note:** This parameter is deprecated and will be removed in the future. Its return value ignores internal repositories. Using this parameter overrides values set in `members_can_create_repositories`. See [this note](https://developer.github.com/v3/orgs/#members_can_create_repositories) for details. + */ + members_allowed_repository_creation_type?: "all" | "private" | "none"; +}; +declare type OrgsUpdateRequestOptions = { + method: "PATCH"; + url: "/orgs/:org"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsUpdateResponseDataPlan = { + name: string; + space: number; + private_repos: number; +}; +declare type OrgsUpdateResponseData = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; + name: string; + company: string; + blog: string; + location: string; + email: string; + is_verified: boolean; + has_organization_projects: boolean; + has_repository_projects: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; + html_url: string; + created_at: string; + type: string; + total_private_repos: number; + owned_private_repos: number; + private_gists: number; + disk_usage: number; + collaborators: number; + billing_email: string; + plan: OrgsUpdateResponseDataPlan; + default_repository_permission: string; + members_can_create_repositories: boolean; + two_factor_requirement_enabled: boolean; + members_allowed_repository_creation_type: string; + members_can_create_public_repositories: boolean; + members_can_create_private_repositories: boolean; + members_can_create_internal_repositories: boolean; +}; +declare type ActionsListSelfHostedRunnersForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActionsListSelfHostedRunnersForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/actions/runners"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListSelfHostedRunnersForOrgResponseDataRunnersItem = { + id: number; + name: string; + os: string; + status: string; +}; +declare type ActionsListSelfHostedRunnersForOrgResponseData = { + total_count: number; + runners: Array; +}; +declare type ActionsListRunnerApplicationsForOrgEndpoint = { + /** + * org parameter + */ + org: string; +}; +declare type ActionsListRunnerApplicationsForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/actions/runners/downloads"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListRunnerApplicationsForOrgResponseDataItem = { + os: string; + architecture: string; + download_url: string; + filename: string; +}; +declare type ActionsListRunnerApplicationsForOrgResponseData = Array; +declare type ActionsCreateRegistrationTokenForOrgEndpoint = { + /** + * org parameter + */ + org: string; +}; +declare type ActionsCreateRegistrationTokenForOrgRequestOptions = { + method: "POST"; + url: "/orgs/:org/actions/runners/registration-token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsCreateRegistrationTokenForOrgResponseData = { + token: string; + expires_at: string; +}; +declare type ActionsCreateRemoveTokenForOrgEndpoint = { + /** + * org parameter + */ + org: string; +}; +declare type ActionsCreateRemoveTokenForOrgRequestOptions = { + method: "POST"; + url: "/orgs/:org/actions/runners/remove-token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsCreateRemoveTokenForOrgResponseData = { + token: string; + expires_at: string; +}; +declare type ActionsGetSelfHostedRunnerForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * runner_id parameter + */ + runner_id: number; +}; +declare type ActionsGetSelfHostedRunnerForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/actions/runners/:runner_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsGetSelfHostedRunnerForOrgResponseData = { + id: number; + name: string; + os: string; + status: string; +}; +declare type ActionsDeleteSelfHostedRunnerFromOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * runner_id parameter + */ + runner_id: number; +}; +declare type ActionsDeleteSelfHostedRunnerFromOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/actions/runners/:runner_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListBlockedUsersEndpoint = { + /** + * org parameter + */ + org: string; +}; +declare type OrgsListBlockedUsersRequestOptions = { + method: "GET"; + url: "/orgs/:org/blocks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListBlockedUsersResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsListBlockedUsersResponseData = Array; +declare type OrgsCheckBlockedUserEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsCheckBlockedUserRequestOptions = { + method: "GET"; + url: "/orgs/:org/blocks/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsBlockUserEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsBlockUserRequestOptions = { + method: "PUT"; + url: "/orgs/:org/blocks/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsUnblockUserEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsUnblockUserRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/blocks/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListCredentialAuthorizationsEndpoint = { + /** + * org parameter + */ + org: string; +}; +declare type OrgsListCredentialAuthorizationsRequestOptions = { + method: "GET"; + url: "/orgs/:org/credential-authorizations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListCredentialAuthorizationsResponseDataItem = { + login: string; + credential_id: string; + credential_type: string; + token_last_eight: string; + credential_authorized_at: string; + scopes: Array; +}; +declare type OrgsListCredentialAuthorizationsResponseData = Array; +declare type OrgsRemoveCredentialAuthorizationEndpoint = { + /** + * org parameter + */ + org: string; + /** + * credential_id parameter + */ + credential_id: number; +}; +declare type OrgsRemoveCredentialAuthorizationRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/credential-authorizations/:credential_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListPublicOrgEventsEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListPublicOrgEventsRequestOptions = { + method: "GET"; + url: "/orgs/:org/events"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListHooksEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type OrgsListHooksRequestOptions = { + method: "GET"; + url: "/orgs/:org/hooks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListHooksResponseDataItemConfig = { + url: string; + content_type: string; +}; +declare type OrgsListHooksResponseDataItem = { + id: number; + url: string; + ping_url: string; + name: string; + events: Array; + active: boolean; + config: OrgsListHooksResponseDataItemConfig; + updated_at: string; + created_at: string; +}; +declare type OrgsListHooksResponseData = Array; +declare type OrgsCreateHookEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Must be passed as "web". + */ + name: string; + /** + * Key/value pairs to provide settings for this webhook. [These are defined below](https://developer.github.com/v3/orgs/hooks/#create-hook-config-params). + */ + config: OrgsCreateHookParamsConfig; + /** + * Determines what [events](https://developer.github.com/v3/activity/events/types/) the hook is triggered for. + */ + events?: string[]; + /** + * Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + */ + active?: boolean; +}; +declare type OrgsCreateHookRequestOptions = { + method: "POST"; + url: "/orgs/:org/hooks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsCreateHookResponseDataConfig = { + url: string; + content_type: string; +}; +declare type OrgsCreateHookResponseData = { + id: number; + url: string; + ping_url: string; + name: string; + events: Array; + active: boolean; + config: OrgsCreateHookResponseDataConfig; + updated_at: string; + created_at: string; +}; +declare type OrgsGetHookEndpoint = { + /** + * org parameter + */ + org: string; + /** + * hook_id parameter + */ + hook_id: number; +}; +declare type OrgsGetHookRequestOptions = { + method: "GET"; + url: "/orgs/:org/hooks/:hook_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsGetHookResponseDataConfig = { + url: string; + content_type: string; +}; +declare type OrgsGetHookResponseData = { + id: number; + url: string; + ping_url: string; + name: string; + events: Array; + active: boolean; + config: OrgsGetHookResponseDataConfig; + updated_at: string; + created_at: string; +}; +declare type OrgsUpdateHookEndpoint = { + /** + * org parameter + */ + org: string; + /** + * hook_id parameter + */ + hook_id: number; + /** + * Key/value pairs to provide settings for this webhook. [These are defined below](https://developer.github.com/v3/orgs/hooks/#update-hook-config-params). + */ + config?: OrgsUpdateHookParamsConfig; + /** + * Determines what [events](https://developer.github.com/v3/activity/events/types/) the hook is triggered for. + */ + events?: string[]; + /** + * Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + */ + active?: boolean; +}; +declare type OrgsUpdateHookRequestOptions = { + method: "PATCH"; + url: "/orgs/:org/hooks/:hook_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsUpdateHookResponseDataConfig = { + url: string; + content_type: string; +}; +declare type OrgsUpdateHookResponseData = { + id: number; + url: string; + ping_url: string; + name: string; + events: Array; + active: boolean; + config: OrgsUpdateHookResponseDataConfig; + updated_at: string; + created_at: string; +}; +declare type OrgsDeleteHookEndpoint = { + /** + * org parameter + */ + org: string; + /** + * hook_id parameter + */ + hook_id: number; +}; +declare type OrgsDeleteHookRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/hooks/:hook_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsPingHookEndpoint = { + /** + * org parameter + */ + org: string; + /** + * hook_id parameter + */ + hook_id: number; +}; +declare type OrgsPingHookRequestOptions = { + method: "POST"; + url: "/orgs/:org/hooks/:hook_id/pings"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetOrgInstallationEndpoint = { + /** + * org parameter + */ + org: string; +} & RequiredPreview<"machine-man">; +declare type AppsGetOrgInstallationRequestOptions = { + method: "GET"; + url: "/orgs/:org/installation"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetOrgInstallationResponseDataPermissions = { + checks: string; + metadata: string; + contents: string; +}; +declare type AppsGetOrgInstallationResponseDataAccount = { + login: string; + id: number; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsGetOrgInstallationResponseData = { + id: number; + account: AppsGetOrgInstallationResponseDataAccount; + repository_selection: string; + access_tokens_url: string; + repositories_url: string; + html_url: string; + app_id: number; + target_id: number; + target_type: string; + permissions: AppsGetOrgInstallationResponseDataPermissions; + events: Array; + created_at: string; + updated_at: string; + single_file_name: null; +}; +declare type OrgsListInstallationsEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"machine-man">; +declare type OrgsListInstallationsRequestOptions = { + method: "GET"; + url: "/orgs/:org/installations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListInstallationsResponseDataInstallationsItemPermissions = { + deployments: string; + metadata: string; + pull_requests: string; + statuses: string; +}; +declare type OrgsListInstallationsResponseDataInstallationsItemAccount = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsListInstallationsResponseDataInstallationsItem = { + id: number; + account: OrgsListInstallationsResponseDataInstallationsItemAccount; + repository_selection: string; + access_tokens_url: string; + repositories_url: string; + html_url: string; + app_id: number; + target_id: number; + target_type: string; + permissions: OrgsListInstallationsResponseDataInstallationsItemPermissions; + events: Array; + created_at: string; + updated_at: string; + single_file_name: null; +}; +declare type OrgsListInstallationsResponseData = { + total_count: number; + installations: Array; +}; +declare type InteractionsGetRestrictionsForOrgEndpoint = { + /** + * org parameter + */ + org: string; +} & RequiredPreview<"sombra">; +declare type InteractionsGetRestrictionsForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/interaction-limits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type InteractionsGetRestrictionsForOrgResponseData = { + limit: string; + origin: string; + expires_at: string; +}; +declare type InteractionsAddOrUpdateRestrictionsForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Specifies the group of GitHub users who can comment, open issues, or create pull requests in public repositories for the given organization. Must be one of: `existing_users`, `contributors_only`, or `collaborators_only`. + */ + limit: "existing_users" | "contributors_only" | "collaborators_only"; +} & RequiredPreview<"sombra">; +declare type InteractionsAddOrUpdateRestrictionsForOrgRequestOptions = { + method: "PUT"; + url: "/orgs/:org/interaction-limits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type InteractionsAddOrUpdateRestrictionsForOrgResponseData = { + limit: string; + origin: string; + expires_at: string; +}; +declare type InteractionsRemoveRestrictionsForOrgEndpoint = { + /** + * org parameter + */ + org: string; +} & RequiredPreview<"sombra">; +declare type InteractionsRemoveRestrictionsForOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/interaction-limits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListPendingInvitationsEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type OrgsListPendingInvitationsRequestOptions = { + method: "GET"; + url: "/orgs/:org/invitations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListPendingInvitationsResponseDataItemInviter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsListPendingInvitationsResponseDataItem = { + id: number; + login: string; + email: string; + role: string; + created_at: string; + inviter: OrgsListPendingInvitationsResponseDataItemInviter; + team_count: number; + invitation_team_url: string; +}; +declare type OrgsListPendingInvitationsResponseData = Array; +declare type OrgsCreateInvitationEndpoint = { + /** + * org parameter + */ + org: string; + /** + * **Required unless you provide `email`**. GitHub user ID for the person you are inviting. + */ + invitee_id?: number; + /** + * **Required unless you provide `invitee_id`**. Email address of the person you are inviting, which can be an existing GitHub user. + */ + email?: string; + /** + * Specify role for new member. Can be one of: + * \* `admin` - Organization owners with full administrative rights to the organization and complete access to all repositories and teams. + * \* `direct_member` - Non-owner organization members with ability to see other members and join teams by invitation. + * \* `billing_manager` - Non-owner organization members with ability to manage the billing settings of your organization. + */ + role?: "admin" | "direct_member" | "billing_manager"; + /** + * Specify IDs for the teams you want to invite new members to. + */ + team_ids?: number[]; +}; +declare type OrgsCreateInvitationRequestOptions = { + method: "POST"; + url: "/orgs/:org/invitations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsCreateInvitationResponseDataInviter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsCreateInvitationResponseData = { + id: number; + login: string; + email: string; + role: string; + created_at: string; + inviter: OrgsCreateInvitationResponseDataInviter; + team_count: number; + invitation_team_url: string; +}; +declare type OrgsListInvitationTeamsEndpoint = { + /** + * org parameter + */ + org: string; + /** + * invitation_id parameter + */ + invitation_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type OrgsListInvitationTeamsRequestOptions = { + method: "GET"; + url: "/orgs/:org/invitations/:invitation_id/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListInvitationTeamsResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type OrgsListInvitationTeamsResponseData = Array; +declare type IssuesListForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Indicates which sorts of issues to return. Can be one of: + * \* `assigned`: Issues assigned to you + * \* `created`: Issues created by you + * \* `mentioned`: Issues mentioning you + * \* `subscribed`: Issues you're subscribed to updates for + * \* `all`: All issues the authenticated user can see, regardless of participation or creation + */ + filter?: "assigned" | "created" | "mentioned" | "subscribed" | "all"; + /** + * Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + /** + * A list of comma separated label names. Example: `bug,ui,@high` + */ + labels?: string; + /** + * What to sort results by. Can be either `created`, `updated`, `comments`. + */ + sort?: "created" | "updated" | "comments"; + /** + * The direction of the sort. Can be either `asc` or `desc`. + */ + direction?: "asc" | "desc"; + /** + * Only issues updated at or after this time are returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type IssuesListForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/issues"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListForOrgResponseDataItemRepositoryPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type IssuesListForOrgResponseDataItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForOrgResponseDataItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: IssuesListForOrgResponseDataItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: IssuesListForOrgResponseDataItemRepositoryPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type IssuesListForOrgResponseDataItemPullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesListForOrgResponseDataItemMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForOrgResponseDataItemMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesListForOrgResponseDataItemMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesListForOrgResponseDataItemAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForOrgResponseDataItemAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForOrgResponseDataItemLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesListForOrgResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForOrgResponseDataItem = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesListForOrgResponseDataItemUser; + labels: Array; + assignee: IssuesListForOrgResponseDataItemAssignee; + assignees: Array; + milestone: IssuesListForOrgResponseDataItemMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesListForOrgResponseDataItemPullRequest; + closed_at: null; + created_at: string; + updated_at: string; + repository: IssuesListForOrgResponseDataItemRepository; +}; +declare type IssuesListForOrgResponseData = Array; +declare type OrgsListMembersEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Filter members returned in the list. Can be one of: + * \* `2fa_disabled` - Members without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled. Available for organization owners. + * \* `all` - All members the authenticated user can see. + */ + filter?: "2fa_disabled" | "all"; + /** + * Filter members returned by their role. Can be one of: + * \* `all` - All members of the organization, regardless of role. + * \* `admin` - Organization owners. + * \* `member` - Non-owner organization members. + */ + role?: "all" | "admin" | "member"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type OrgsListMembersRequestOptions = { + method: "GET"; + url: "/orgs/:org/members"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListMembersResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsListMembersResponseData = Array; +declare type OrgsCheckMembershipEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsCheckMembershipRequestOptions = { + method: "GET"; + url: "/orgs/:org/members/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsRemoveMemberEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsRemoveMemberRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/members/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsGetMembershipEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsGetMembershipRequestOptions = { + method: "GET"; + url: "/orgs/:org/memberships/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsGetMembershipResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsGetMembershipResponseDataOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type OrgsGetMembershipResponseData = { + url: string; + state: string; + role: string; + organization_url: string; + organization: OrgsGetMembershipResponseDataOrganization; + user: OrgsGetMembershipResponseDataUser; +}; +declare type OrgsAddOrUpdateMembershipEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; + /** + * The role to give the user in the organization. Can be one of: + * \* `admin` - The user will become an owner of the organization. + * \* `member` - The user will become a non-owner member of the organization. + */ + role?: "admin" | "member"; +}; +declare type OrgsAddOrUpdateMembershipRequestOptions = { + method: "PUT"; + url: "/orgs/:org/memberships/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsAddOrUpdateMembershipResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsAddOrUpdateMembershipResponseDataOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type OrgsAddOrUpdateMembershipResponseData = { + url: string; + state: string; + role: string; + organization_url: string; + organization: OrgsAddOrUpdateMembershipResponseDataOrganization; + user: OrgsAddOrUpdateMembershipResponseDataUser; +}; +declare type OrgsRemoveMembershipEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsRemoveMembershipRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/memberships/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsStartForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * A list of arrays indicating which repositories should be migrated. + */ + repositories: string[]; + /** + * Indicates whether repositories should be locked (to prevent manipulation) while migrating data. + */ + lock_repositories?: boolean; + /** + * Indicates whether attachments should be excluded from the migration (to reduce migration archive file size). + */ + exclude_attachments?: boolean; +}; +declare type MigrationsStartForOrgRequestOptions = { + method: "POST"; + url: "/orgs/:org/migrations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsStartForOrgResponseDataRepositoriesItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type MigrationsStartForOrgResponseDataRepositoriesItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsStartForOrgResponseDataRepositoriesItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: MigrationsStartForOrgResponseDataRepositoriesItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: MigrationsStartForOrgResponseDataRepositoriesItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type MigrationsStartForOrgResponseDataOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type MigrationsStartForOrgResponseData = { + id: number; + owner: MigrationsStartForOrgResponseDataOwner; + guid: string; + state: string; + lock_repositories: boolean; + exclude_attachments: boolean; + repositories: Array; + url: string; + created_at: string; + updated_at: string; +}; +declare type MigrationsListForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsListForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/migrations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsListForOrgResponseDataItemRepositoriesItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type MigrationsListForOrgResponseDataItemRepositoriesItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsListForOrgResponseDataItemRepositoriesItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: MigrationsListForOrgResponseDataItemRepositoriesItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: MigrationsListForOrgResponseDataItemRepositoriesItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type MigrationsListForOrgResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type MigrationsListForOrgResponseDataItem = { + id: number; + owner: MigrationsListForOrgResponseDataItemOwner; + guid: string; + state: string; + lock_repositories: boolean; + exclude_attachments: boolean; + repositories: Array; + url: string; + created_at: string; + updated_at: string; +}; +declare type MigrationsListForOrgResponseData = Array; +declare type MigrationsGetStatusForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * migration_id parameter + */ + migration_id: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsGetStatusForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/migrations/:migration_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsGetStatusForOrgResponseDataRepositoriesItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type MigrationsGetStatusForOrgResponseDataRepositoriesItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsGetStatusForOrgResponseDataRepositoriesItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: MigrationsGetStatusForOrgResponseDataRepositoriesItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: MigrationsGetStatusForOrgResponseDataRepositoriesItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type MigrationsGetStatusForOrgResponseDataOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type MigrationsGetStatusForOrgResponseData = { + id: number; + owner: MigrationsGetStatusForOrgResponseDataOwner; + guid: string; + state: string; + lock_repositories: boolean; + exclude_attachments: boolean; + repositories: Array; + url: string; + created_at: string; + updated_at: string; +}; +declare type MigrationsDownloadArchiveForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * migration_id parameter + */ + migration_id: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsDownloadArchiveForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/migrations/:migration_id/archive"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsDeleteArchiveForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * migration_id parameter + */ + migration_id: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsDeleteArchiveForOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/migrations/:migration_id/archive"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsUnlockRepoForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * migration_id parameter + */ + migration_id: number; + /** + * repo_name parameter + */ + repo_name: string; +} & RequiredPreview<"wyandotte">; +declare type MigrationsUnlockRepoForOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/migrations/:migration_id/repos/:repo_name/lock"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsListReposForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * migration_id parameter + */ + migration_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsListReposForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/migrations/:migration_id/repositories"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsListReposForOrgResponseDataItemLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type MigrationsListReposForOrgResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type MigrationsListReposForOrgResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsListReposForOrgResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: MigrationsListReposForOrgResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: MigrationsListReposForOrgResponseDataItemPermissions; + template_repository: null; + temp_clone_token: string; + subscribers_count: number; + network_count: number; + license: MigrationsListReposForOrgResponseDataItemLicense; +}; +declare type MigrationsListReposForOrgResponseData = Array; +declare type OrgsListOutsideCollaboratorsEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Filter the list of outside collaborators. Can be one of: + * \* `2fa_disabled`: Outside collaborators without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled. + * \* `all`: All outside collaborators. + */ + filter?: "2fa_disabled" | "all"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type OrgsListOutsideCollaboratorsRequestOptions = { + method: "GET"; + url: "/orgs/:org/outside_collaborators"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListOutsideCollaboratorsResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsListOutsideCollaboratorsResponseData = Array; +declare type OrgsRemoveOutsideCollaboratorEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsRemoveOutsideCollaboratorRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/outside_collaborators/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsRemoveOutsideCollaboratorResponseData = { + message: string; + documentation_url: string; +}; +declare type OrgsConvertMemberToOutsideCollaboratorEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsConvertMemberToOutsideCollaboratorRequestOptions = { + method: "PUT"; + url: "/orgs/:org/outside_collaborators/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsConvertMemberToOutsideCollaboratorResponseData = { + message: string; + documentation_url: string; +}; +declare type ProjectsListForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"inertia">; +declare type ProjectsListForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/projects"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsListForOrgResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsListForOrgResponseDataItem = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: ProjectsListForOrgResponseDataItemCreator; + created_at: string; + updated_at: string; +}; +declare type ProjectsListForOrgResponseData = Array; +declare type ProjectsCreateForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * The name of the project. + */ + name: string; + /** + * The description of the project. + */ + body?: string; +} & RequiredPreview<"inertia">; +declare type ProjectsCreateForOrgRequestOptions = { + method: "POST"; + url: "/orgs/:org/projects"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsCreateForOrgResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsCreateForOrgResponseData = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: ProjectsCreateForOrgResponseDataCreator; + created_at: string; + updated_at: string; +}; +declare type OrgsListPublicMembersEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type OrgsListPublicMembersRequestOptions = { + method: "GET"; + url: "/orgs/:org/public_members"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListPublicMembersResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsListPublicMembersResponseData = Array; +declare type OrgsCheckPublicMembershipEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsCheckPublicMembershipRequestOptions = { + method: "GET"; + url: "/orgs/:org/public_members/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsPublicizeMembershipEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsPublicizeMembershipRequestOptions = { + method: "PUT"; + url: "/orgs/:org/public_members/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsConcealMembershipEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsConcealMembershipRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/public_members/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Specifies the types of repositories you want returned. Can be one of `all`, `public`, `private`, `forks`, `sources`, `member`, `internal`. Default: `all`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `type` can also be `internal`. + */ + type?: "all" | "public" | "private" | "forks" | "sources" | "member" | "internal"; + /** + * Can be one of `created`, `updated`, `pushed`, `full_name`. + */ + sort?: "created" | "updated" | "pushed" | "full_name"; + /** + * Can be one of `asc` or `desc`. Default: when using `full_name`: `asc`, otherwise `desc` + */ + direction?: "asc" | "desc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/repos"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListForOrgResponseDataItemLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type ReposListForOrgResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposListForOrgResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListForOrgResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposListForOrgResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposListForOrgResponseDataItemPermissions; + template_repository: null; + temp_clone_token: string; + subscribers_count: number; + network_count: number; + license: ReposListForOrgResponseDataItemLicense; +}; +declare type ReposListForOrgResponseData = Array; +declare type ReposCreateInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * The name of the repository. + */ + name: string; + /** + * A short description of the repository. + */ + description?: string; + /** + * A URL with more information about the repository. + */ + homepage?: string; + /** + * Either `true` to create a private repository or `false` to create a public one. + */ + private?: boolean; + /** + * Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `visibility` can also be `internal`. For more information, see "[Creating an internal repository](https://help.github.com/en/github/creating-cloning-and-archiving-repositories/about-repository-visibility#about-internal-repositories)" in the GitHub Help documentation. + * The `visibility` parameter overrides the `private` parameter when you use both parameters with the `nebula-preview` preview header. + */ + visibility?: "public" | "private" | "visibility" | "internal"; + /** + * Either `true` to enable issues for this repository or `false` to disable them. + */ + has_issues?: boolean; + /** + * Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error. + */ + has_projects?: boolean; + /** + * Either `true` to enable the wiki for this repository or `false` to disable it. + */ + has_wiki?: boolean; + /** + * Either `true` to make this repo available as a template repository or `false` to prevent it. + */ + is_template?: boolean; + /** + * The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization. + */ + team_id?: number; + /** + * Pass `true` to create an initial commit with empty README. + */ + auto_init?: boolean; + /** + * Desired language or platform [.gitignore template](https://github.com/github/gitignore) to apply. Use the name of the template without the extension. For example, "Haskell". + */ + gitignore_template?: string; + /** + * Choose an [open source license template](https://choosealicense.com/) that best suits your needs, and then use the [license keyword](https://help.github.com/articles/licensing-a-repository/#searching-github-by-license-type) as the `license_template` string. For example, "mit" or "mpl-2.0". + */ + license_template?: string; + /** + * Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. + */ + allow_squash_merge?: boolean; + /** + * Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. + */ + allow_merge_commit?: boolean; + /** + * Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. + */ + allow_rebase_merge?: boolean; + /** + * Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. + */ + delete_branch_on_merge?: boolean; +}; +declare type ReposCreateInOrgRequestOptions = { + method: "POST"; + url: "/orgs/:org/repos"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateInOrgResponseDataPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposCreateInOrgResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateInOrgResponseData = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposCreateInOrgResponseDataOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposCreateInOrgResponseDataPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type TeamsListIdPGroupsForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListIdPGroupsForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/team-sync/groups"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListIdPGroupsForOrgResponseDataGroupsItem = { + group_id: string; + group_name: string; + group_description: string; +}; +declare type TeamsListIdPGroupsForOrgResponseData = { + groups: Array; +}; +declare type TeamsListEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type TeamsListResponseData = Array; +declare type TeamsCreateEndpoint = { + /** + * org parameter + */ + org: string; + /** + * The name of the team. + */ + name: string; + /** + * The description of the team. + */ + description?: string; + /** + * List GitHub IDs for organization members who will become team maintainers. + */ + maintainers?: string[]; + /** + * The full name (e.g., "organization-name/repository-name") of repositories to add the team to. + */ + repo_names?: string[]; + /** + * The level of privacy this team should have. The options are: + * **For a non-nested team:** + * \* `secret` - only visible to organization owners and members of this team. + * \* `closed` - visible to all members of this organization. + * Default: `secret` + * **For a parent or child team:** + * \* `closed` - visible to all members of this organization. + * Default for child team: `closed` + */ + privacy?: "secret" | "closed"; + /** + * **Deprecated**. The permission that new repositories will be added to the team with when none is specified. Can be one of: + * \* `pull` - team members can pull, but not push to or administer newly-added repositories. + * \* `push` - team members can pull and push, but not administer newly-added repositories. + * \* `admin` - team members can pull, push and administer newly-added repositories. + */ + permission?: "pull" | "push" | "admin"; + /** + * The ID of a team to set as the parent team. + */ + parent_team_id?: number; +}; +declare type TeamsCreateRequestOptions = { + method: "POST"; + url: "/orgs/:org/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsCreateResponseDataOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; + name: string; + company: string; + blog: string; + location: string; + email: string; + is_verified: boolean; + has_organization_projects: boolean; + has_repository_projects: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; + html_url: string; + created_at: string; + type: string; +}; +declare type TeamsCreateResponseData = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; + members_count: number; + repos_count: number; + created_at: string; + updated_at: string; + organization: TeamsCreateResponseDataOrganization; +}; +declare type TeamsGetByNameEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; +}; +declare type TeamsGetByNameRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsGetByNameResponseDataOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; + name: string; + company: string; + blog: string; + location: string; + email: string; + is_verified: boolean; + has_organization_projects: boolean; + has_repository_projects: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; + html_url: string; + created_at: string; + type: string; +}; +declare type TeamsGetByNameResponseData = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; + members_count: number; + repos_count: number; + created_at: string; + updated_at: string; + organization: TeamsGetByNameResponseDataOrganization; +}; +declare type TeamsUpdateInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * The name of the team. + */ + name: string; + /** + * The description of the team. + */ + description?: string; + /** + * The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. When a team is nested, the `privacy` for parent teams cannot be `secret`. The options are: + * **For a non-nested team:** + * \* `secret` - only visible to organization owners and members of this team. + * \* `closed` - visible to all members of this organization. + * **For a parent or child team:** + * \* `closed` - visible to all members of this organization. + */ + privacy?: "secret" | "closed"; + /** + * **Deprecated**. The permission that new repositories will be added to the team with when none is specified. Can be one of: + * \* `pull` - team members can pull, but not push to or administer newly-added repositories. + * \* `push` - team members can pull and push, but not administer newly-added repositories. + * \* `admin` - team members can pull, push and administer newly-added repositories. + */ + permission?: "pull" | "push" | "admin"; + /** + * The ID of a team to set as the parent team. + */ + parent_team_id?: number; +}; +declare type TeamsUpdateInOrgRequestOptions = { + method: "PATCH"; + url: "/orgs/:org/teams/:team_slug"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsUpdateInOrgResponseDataOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; + name: string; + company: string; + blog: string; + location: string; + email: string; + is_verified: boolean; + has_organization_projects: boolean; + has_repository_projects: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; + html_url: string; + created_at: string; + type: string; +}; +declare type TeamsUpdateInOrgResponseData = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; + members_count: number; + repos_count: number; + created_at: string; + updated_at: string; + organization: TeamsUpdateInOrgResponseDataOrganization; +}; +declare type TeamsDeleteInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; +}; +declare type TeamsDeleteInOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/teams/:team_slug"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListDiscussionsInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * Sorts the discussion comments by the date they were created. To return the oldest comments first, set to `asc`. Can be one of `asc` or `desc`. + */ + direction?: "asc" | "desc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListDiscussionsInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/discussions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListDiscussionsInOrgResponseDataItemReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsListDiscussionsInOrgResponseDataItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListDiscussionsInOrgResponseDataItem = { + author: TeamsListDiscussionsInOrgResponseDataItemAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + last_edited_at: null; + html_url: string; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + team_url: string; + title: string; + updated_at: string; + url: string; + reactions: TeamsListDiscussionsInOrgResponseDataItemReactions; +}; +declare type TeamsListDiscussionsInOrgResponseData = Array; +declare type TeamsCreateDiscussionInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * The discussion post's title. + */ + title: string; + /** + * The discussion post's body text. + */ + body: string; + /** + * Private posts are only visible to team members, organization owners, and team maintainers. Public posts are visible to all members of the organization. Set to `true` to create a private post. + */ + private?: boolean; +}; +declare type TeamsCreateDiscussionInOrgRequestOptions = { + method: "POST"; + url: "/orgs/:org/teams/:team_slug/discussions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsCreateDiscussionInOrgResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsCreateDiscussionInOrgResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCreateDiscussionInOrgResponseData = { + author: TeamsCreateDiscussionInOrgResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + last_edited_at: null; + html_url: string; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + team_url: string; + title: string; + updated_at: string; + url: string; + reactions: TeamsCreateDiscussionInOrgResponseDataReactions; +}; +declare type TeamsGetDiscussionInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; +}; +declare type TeamsGetDiscussionInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsGetDiscussionInOrgResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsGetDiscussionInOrgResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsGetDiscussionInOrgResponseData = { + author: TeamsGetDiscussionInOrgResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + last_edited_at: null; + html_url: string; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + team_url: string; + title: string; + updated_at: string; + url: string; + reactions: TeamsGetDiscussionInOrgResponseDataReactions; +}; +declare type TeamsUpdateDiscussionInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * The discussion post's title. + */ + title?: string; + /** + * The discussion post's body text. + */ + body?: string; +}; +declare type TeamsUpdateDiscussionInOrgRequestOptions = { + method: "PATCH"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsUpdateDiscussionInOrgResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsUpdateDiscussionInOrgResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsUpdateDiscussionInOrgResponseData = { + author: TeamsUpdateDiscussionInOrgResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + last_edited_at: string; + html_url: string; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + team_url: string; + title: string; + updated_at: string; + url: string; + reactions: TeamsUpdateDiscussionInOrgResponseDataReactions; +}; +declare type TeamsDeleteDiscussionInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; +}; +declare type TeamsDeleteDiscussionInOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListDiscussionCommentsInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * Sorts the discussion comments by the date they were created. To return the oldest comments first, set to `asc`. Can be one of `asc` or `desc`. + */ + direction?: "asc" | "desc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListDiscussionCommentsInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListDiscussionCommentsInOrgResponseDataItemReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsListDiscussionCommentsInOrgResponseDataItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListDiscussionCommentsInOrgResponseDataItem = { + author: TeamsListDiscussionCommentsInOrgResponseDataItemAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + last_edited_at: null; + discussion_url: string; + html_url: string; + node_id: string; + number: number; + updated_at: string; + url: string; + reactions: TeamsListDiscussionCommentsInOrgResponseDataItemReactions; +}; +declare type TeamsListDiscussionCommentsInOrgResponseData = Array; +declare type TeamsCreateDiscussionCommentInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * The discussion comment's body text. + */ + body: string; +}; +declare type TeamsCreateDiscussionCommentInOrgRequestOptions = { + method: "POST"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsCreateDiscussionCommentInOrgResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsCreateDiscussionCommentInOrgResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCreateDiscussionCommentInOrgResponseData = { + author: TeamsCreateDiscussionCommentInOrgResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + last_edited_at: null; + discussion_url: string; + html_url: string; + node_id: string; + number: number; + updated_at: string; + url: string; + reactions: TeamsCreateDiscussionCommentInOrgResponseDataReactions; +}; +declare type TeamsGetDiscussionCommentInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; +}; +declare type TeamsGetDiscussionCommentInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsGetDiscussionCommentInOrgResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsGetDiscussionCommentInOrgResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsGetDiscussionCommentInOrgResponseData = { + author: TeamsGetDiscussionCommentInOrgResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + last_edited_at: null; + discussion_url: string; + html_url: string; + node_id: string; + number: number; + updated_at: string; + url: string; + reactions: TeamsGetDiscussionCommentInOrgResponseDataReactions; +}; +declare type TeamsUpdateDiscussionCommentInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; + /** + * The discussion comment's body text. + */ + body: string; +}; +declare type TeamsUpdateDiscussionCommentInOrgRequestOptions = { + method: "PATCH"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsUpdateDiscussionCommentInOrgResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsUpdateDiscussionCommentInOrgResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsUpdateDiscussionCommentInOrgResponseData = { + author: TeamsUpdateDiscussionCommentInOrgResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + last_edited_at: string; + discussion_url: string; + html_url: string; + node_id: string; + number: number; + updated_at: string; + url: string; + reactions: TeamsUpdateDiscussionCommentInOrgResponseDataReactions; +}; +declare type TeamsDeleteDiscussionCommentInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; +}; +declare type TeamsDeleteDiscussionCommentInOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForTeamDiscussionCommentInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to a team discussion comment. + */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsListForTeamDiscussionCommentInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForTeamDiscussionCommentInOrgResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsListForTeamDiscussionCommentInOrgResponseDataItem = { + id: number; + node_id: string; + user: ReactionsListForTeamDiscussionCommentInOrgResponseDataItemUser; + content: string; + created_at: string; +}; +declare type ReactionsListForTeamDiscussionCommentInOrgResponseData = Array; +declare type ReactionsCreateForTeamDiscussionCommentInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the team discussion comment. + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsCreateForTeamDiscussionCommentInOrgRequestOptions = { + method: "POST"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsCreateForTeamDiscussionCommentInOrgResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsCreateForTeamDiscussionCommentInOrgResponseData = { + id: number; + node_id: string; + user: ReactionsCreateForTeamDiscussionCommentInOrgResponseDataUser; + content: string; + created_at: string; +}; +declare type ReactionsDeleteForTeamDiscussionCommentEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; + /** + * reaction_id parameter + */ + reaction_id: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsDeleteForTeamDiscussionCommentRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForTeamDiscussionInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to a team discussion. + */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsListForTeamDiscussionInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForTeamDiscussionInOrgResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsListForTeamDiscussionInOrgResponseDataItem = { + id: number; + node_id: string; + user: ReactionsListForTeamDiscussionInOrgResponseDataItemUser; + content: string; + created_at: string; +}; +declare type ReactionsListForTeamDiscussionInOrgResponseData = Array; +declare type ReactionsCreateForTeamDiscussionInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the team discussion. + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsCreateForTeamDiscussionInOrgRequestOptions = { + method: "POST"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsCreateForTeamDiscussionInOrgResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsCreateForTeamDiscussionInOrgResponseData = { + id: number; + node_id: string; + user: ReactionsCreateForTeamDiscussionInOrgResponseDataUser; + content: string; + created_at: string; +}; +declare type ReactionsDeleteForTeamDiscussionEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * reaction_id parameter + */ + reaction_id: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsDeleteForTeamDiscussionRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions/:reaction_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListPendingInvitationsInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListPendingInvitationsInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/invitations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListPendingInvitationsInOrgResponseDataItemInviter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListPendingInvitationsInOrgResponseDataItem = { + id: number; + login: string; + email: string; + role: string; + created_at: string; + inviter: TeamsListPendingInvitationsInOrgResponseDataItemInviter; + team_count: number; + invitation_team_url: string; +}; +declare type TeamsListPendingInvitationsInOrgResponseData = Array; +declare type TeamsListMembersInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * Filters members returned by their role in the team. Can be one of: + * \* `member` - normal members of the team. + * \* `maintainer` - team maintainers. + * \* `all` - all members of the team. + */ + role?: "member" | "maintainer" | "all"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListMembersInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/members"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListMembersInOrgResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListMembersInOrgResponseData = Array; +declare type TeamsGetMembershipInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * username parameter + */ + username: string; +}; +declare type TeamsGetMembershipInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/memberships/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsGetMembershipInOrgResponseData = { + url: string; + role: string; + state: string; +}; +declare type TeamsAddOrUpdateMembershipInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * username parameter + */ + username: string; + /** + * The role that this user should have in the team. Can be one of: + * \* `member` - a normal member of the team. + * \* `maintainer` - a team maintainer. Able to add/remove other team members, promote other team members to team maintainer, and edit the team's name and description. + */ + role?: "member" | "maintainer"; +}; +declare type TeamsAddOrUpdateMembershipInOrgRequestOptions = { + method: "PUT"; + url: "/orgs/:org/teams/:team_slug/memberships/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsAddOrUpdateMembershipInOrgResponseData = { + url: string; + role: string; + state: string; +}; +declare type TeamsRemoveMembershipInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * username parameter + */ + username: string; +}; +declare type TeamsRemoveMembershipInOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/teams/:team_slug/memberships/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListProjectsInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"inertia">; +declare type TeamsListProjectsInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/projects"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListProjectsInOrgResponseDataItemPermissions = { + read: boolean; + write: boolean; + admin: boolean; +}; +declare type TeamsListProjectsInOrgResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListProjectsInOrgResponseDataItem = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: TeamsListProjectsInOrgResponseDataItemCreator; + created_at: string; + updated_at: string; + organization_permission: string; + private: boolean; + permissions: TeamsListProjectsInOrgResponseDataItemPermissions; +}; +declare type TeamsListProjectsInOrgResponseData = Array; +declare type TeamsReviewProjectInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * project_id parameter + */ + project_id: number; +} & RequiredPreview<"inertia">; +declare type TeamsReviewProjectInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/projects/:project_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsReviewProjectInOrgResponseDataPermissions = { + read: boolean; + write: boolean; + admin: boolean; +}; +declare type TeamsReviewProjectInOrgResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsReviewProjectInOrgResponseData = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: TeamsReviewProjectInOrgResponseDataCreator; + created_at: string; + updated_at: string; + organization_permission: string; + private: boolean; + permissions: TeamsReviewProjectInOrgResponseDataPermissions; +}; +declare type TeamsAddOrUpdateProjectInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * project_id parameter + */ + project_id: number; + /** + * The permission to grant to the team for this project. Can be one of: + * \* `read` - team members can read, but not write to or administer this project. + * \* `write` - team members can read and write, but not administer this project. + * \* `admin` - team members can read, write and administer this project. + * Default: the team's `permission` attribute will be used to determine what permission to grant the team on this project. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://developer.github.com/v3/#http-verbs)." + */ + permission?: "read" | "write" | "admin"; +} & RequiredPreview<"inertia">; +declare type TeamsAddOrUpdateProjectInOrgRequestOptions = { + method: "PUT"; + url: "/orgs/:org/teams/:team_slug/projects/:project_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsAddOrUpdateProjectInOrgResponseData = { + message: string; + documentation_url: string; +}; +declare type TeamsRemoveProjectInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * project_id parameter + */ + project_id: number; +}; +declare type TeamsRemoveProjectInOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/teams/:team_slug/projects/:project_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListReposInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListReposInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/repos"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListReposInOrgResponseDataItemLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type TeamsListReposInOrgResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type TeamsListReposInOrgResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListReposInOrgResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: TeamsListReposInOrgResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: TeamsListReposInOrgResponseDataItemPermissions; + template_repository: null; + temp_clone_token: string; + subscribers_count: number; + network_count: number; + license: TeamsListReposInOrgResponseDataItemLicense; +}; +declare type TeamsListReposInOrgResponseData = Array; +declare type TeamsCheckManagesRepoInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type TeamsCheckManagesRepoInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/repos/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsCheckManagesRepoInOrgResponseDataPermissions = { + pull: boolean; + triage: boolean; + push: boolean; + maintain: boolean; + admin: boolean; +}; +declare type TeamsCheckManagesRepoInOrgResponseDataSourcePermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type TeamsCheckManagesRepoInOrgResponseDataSourceOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCheckManagesRepoInOrgResponseDataSource = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: TeamsCheckManagesRepoInOrgResponseDataSourceOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: TeamsCheckManagesRepoInOrgResponseDataSourcePermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type TeamsCheckManagesRepoInOrgResponseDataParentPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type TeamsCheckManagesRepoInOrgResponseDataParentOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCheckManagesRepoInOrgResponseDataParent = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: TeamsCheckManagesRepoInOrgResponseDataParentOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: TeamsCheckManagesRepoInOrgResponseDataParentPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type TeamsCheckManagesRepoInOrgResponseDataOrganization = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCheckManagesRepoInOrgResponseData = { + organization: TeamsCheckManagesRepoInOrgResponseDataOrganization; + parent: TeamsCheckManagesRepoInOrgResponseDataParent; + source: TeamsCheckManagesRepoInOrgResponseDataSource; + permissions: TeamsCheckManagesRepoInOrgResponseDataPermissions; +}; +declare type TeamsAddOrUpdateRepoInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The permission to grant the team on this repository. Can be one of: + * \* `pull` - team members can pull, but not push to or administer this repository. + * \* `push` - team members can pull and push, but not administer this repository. + * \* `admin` - team members can pull, push and administer this repository. + * \* `maintain` - team members can manage the repository without access to sensitive or destructive actions. Recommended for project managers. Only applies to repositories owned by organizations. + * \* `triage` - team members can proactively manage issues and pull requests without write access. Recommended for contributors who triage a repository. Only applies to repositories owned by organizations. + * + * If no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository. + */ + permission?: "pull" | "push" | "admin" | "maintain" | "triage"; +}; +declare type TeamsAddOrUpdateRepoInOrgRequestOptions = { + method: "PUT"; + url: "/orgs/:org/teams/:team_slug/repos/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsRemoveRepoInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type TeamsRemoveRepoInOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/teams/:team_slug/repos/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListIdPGroupsInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; +}; +declare type TeamsListIdPGroupsInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/team-sync/group-mappings"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListIdPGroupsInOrgResponseDataGroupsItem = { + group_id: string; + group_name: string; + group_description: string; +}; +declare type TeamsListIdPGroupsInOrgResponseData = { + groups: Array; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * The IdP groups you want to connect to a GitHub team. When updating, the new `groups` object will replace the original one. You must include any existing groups that you don't want to remove. + */ + groups: TeamsCreateOrUpdateIdPGroupConnectionsInOrgParamsGroups[]; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsInOrgRequestOptions = { + method: "PATCH"; + url: "/orgs/:org/teams/:team_slug/team-sync/group-mappings"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsInOrgResponseDataGroups = { + group_id: string; + group_name: string; + group_description: string; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsInOrgResponseData = { + groups: TeamsCreateOrUpdateIdPGroupConnectionsInOrgResponseDataGroups; +}; +declare type TeamsListChildInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListChildInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListChildInOrgResponseDataItemParent = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; +}; +declare type TeamsListChildInOrgResponseDataItem = { + id: number; + node_id: string; + url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: TeamsListChildInOrgResponseDataItemParent; +}; +declare type TeamsListChildInOrgResponseData = Array; +declare type ProjectsGetCardEndpoint = { + /** + * card_id parameter + */ + card_id: number; +} & RequiredPreview<"inertia">; +declare type ProjectsGetCardRequestOptions = { + method: "GET"; + url: "/projects/columns/cards/:card_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsGetCardResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsGetCardResponseData = { + url: string; + id: number; + node_id: string; + note: string; + creator: ProjectsGetCardResponseDataCreator; + created_at: string; + updated_at: string; + archived: boolean; + column_url: string; + content_url: string; + project_url: string; +}; +declare type ProjectsUpdateCardEndpoint = { + /** + * card_id parameter + */ + card_id: number; + /** + * The card's note content. Only valid for cards without another type of content, so this cannot be specified if the card already has a `content_id` and `content_type`. + */ + note?: string; + /** + * Use `true` to archive a project card. Specify `false` if you need to restore a previously archived project card. + */ + archived?: boolean; +} & RequiredPreview<"inertia">; +declare type ProjectsUpdateCardRequestOptions = { + method: "PATCH"; + url: "/projects/columns/cards/:card_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsUpdateCardResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsUpdateCardResponseData = { + url: string; + id: number; + node_id: string; + note: string; + creator: ProjectsUpdateCardResponseDataCreator; + created_at: string; + updated_at: string; + archived: boolean; + column_url: string; + content_url: string; + project_url: string; +}; +declare type ProjectsDeleteCardEndpoint = { + /** + * card_id parameter + */ + card_id: number; +} & RequiredPreview<"inertia">; +declare type ProjectsDeleteCardRequestOptions = { + method: "DELETE"; + url: "/projects/columns/cards/:card_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsMoveCardEndpoint = { + /** + * card_id parameter + */ + card_id: number; + /** + * Can be one of `top`, `bottom`, or `after:`, where `` is the `id` value of a card in the same column, or in the new column specified by `column_id`. + */ + position: string; + /** + * The `id` value of a column in the same project. + */ + column_id?: number; +} & RequiredPreview<"inertia">; +declare type ProjectsMoveCardRequestOptions = { + method: "POST"; + url: "/projects/columns/cards/:card_id/moves"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsGetColumnEndpoint = { + /** + * column_id parameter + */ + column_id: number; +} & RequiredPreview<"inertia">; +declare type ProjectsGetColumnRequestOptions = { + method: "GET"; + url: "/projects/columns/:column_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsGetColumnResponseData = { + url: string; + project_url: string; + cards_url: string; + id: number; + node_id: string; + name: string; + created_at: string; + updated_at: string; +}; +declare type ProjectsUpdateColumnEndpoint = { + /** + * column_id parameter + */ + column_id: number; + /** + * The new name of the column. + */ + name: string; +} & RequiredPreview<"inertia">; +declare type ProjectsUpdateColumnRequestOptions = { + method: "PATCH"; + url: "/projects/columns/:column_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsUpdateColumnResponseData = { + url: string; + project_url: string; + cards_url: string; + id: number; + node_id: string; + name: string; + created_at: string; + updated_at: string; +}; +declare type ProjectsDeleteColumnEndpoint = { + /** + * column_id parameter + */ + column_id: number; +} & RequiredPreview<"inertia">; +declare type ProjectsDeleteColumnRequestOptions = { + method: "DELETE"; + url: "/projects/columns/:column_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsListCardsEndpoint = { + /** + * column_id parameter + */ + column_id: number; + /** + * Filters the project cards that are returned by the card's state. Can be one of `all`,`archived`, or `not_archived`. + */ + archived_state?: "all" | "archived" | "not_archived"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"inertia">; +declare type ProjectsListCardsRequestOptions = { + method: "GET"; + url: "/projects/columns/:column_id/cards"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsListCardsResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsListCardsResponseDataItem = { + url: string; + id: number; + node_id: string; + note: string; + creator: ProjectsListCardsResponseDataItemCreator; + created_at: string; + updated_at: string; + archived: boolean; + column_url: string; + content_url: string; + project_url: string; +}; +declare type ProjectsListCardsResponseData = Array; +declare type ProjectsCreateCardEndpoint = { + /** + * column_id parameter + */ + column_id: number; + /** + * The card's note content. Only valid for cards without another type of content, so you must omit when specifying `content_id` and `content_type`. + */ + note?: string; + /** + * The issue or pull request id you want to associate with this card. You can use the [List repository issues](https://developer.github.com/v3/issues/#list-repository-issues) and [List pull requests](https://developer.github.com/v3/pulls/#list-pull-requests) endpoints to find this id. + * **Note:** Depending on whether you use the issue id or pull request id, you will need to specify `Issue` or `PullRequest` as the `content_type`. + */ + content_id?: number; + /** + * **Required if you provide `content_id`**. The type of content you want to associate with this card. Use `Issue` when `content_id` is an issue id and use `PullRequest` when `content_id` is a pull request id. + */ + content_type?: string; +} & RequiredPreview<"inertia">; +declare type ProjectsCreateCardRequestOptions = { + method: "POST"; + url: "/projects/columns/:column_id/cards"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsCreateCardResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsCreateCardResponseData = { + url: string; + id: number; + node_id: string; + note: string; + creator: ProjectsCreateCardResponseDataCreator; + created_at: string; + updated_at: string; + archived: boolean; + column_url: string; + content_url: string; + project_url: string; +}; +declare type ProjectsMoveColumnEndpoint = { + /** + * column_id parameter + */ + column_id: number; + /** + * Can be one of `first`, `last`, or `after:`, where `` is the `id` value of a column in the same project. + */ + position: string; +} & RequiredPreview<"inertia">; +declare type ProjectsMoveColumnRequestOptions = { + method: "POST"; + url: "/projects/columns/:column_id/moves"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsGetEndpoint = { + /** + * project_id parameter + */ + project_id: number; +} & RequiredPreview<"inertia">; +declare type ProjectsGetRequestOptions = { + method: "GET"; + url: "/projects/:project_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsGetResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsGetResponseData = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: ProjectsGetResponseDataCreator; + created_at: string; + updated_at: string; +}; +declare type ProjectsUpdateEndpoint = { + /** + * project_id parameter + */ + project_id: number; + /** + * The name of the project. + */ + name?: string; + /** + * The description of the project. + */ + body?: string; + /** + * State of the project. Either `open` or `closed`. + */ + state?: "open" | "closed"; + /** + * The permission level that determines whether all members of the project's organization can see and/or make changes to the project. Setting `organization_permission` is only available for organization projects. If an organization member belongs to a team with a higher level of access or is a collaborator with a higher level of access, their permission level is not lowered by `organization_permission`. For information on changing access for a team or collaborator, see [Add or update team project](https://developer.github.com/v3/teams/#add-or-update-team-project) or [Add user as a collaborator](https://developer.github.com/v3/projects/collaborators/#add-user-as-a-collaborator). + * + * **Note:** Updating a project's `organization_permission` requires `admin` access to the project. + * + * Can be one of: + * \* `read` - Organization members can read, but not write to or administer this project. + * \* `write` - Organization members can read and write, but not administer this project. + * \* `admin` - Organization members can read, write and administer this project. + * \* `none` - Organization members can only see this project if it is public. + */ + organization_permission?: string; + /** + * Sets the visibility of a project board. Setting `private` is only available for organization and user projects. **Note:** Updating a project's visibility requires `admin` access to the project. + * + * Can be one of: + * \* `false` - Anyone can see the project. + * \* `true` - Only the user can view a project board created on a user account. Organization members with the appropriate `organization_permission` can see project boards in an organization account. + */ + private?: boolean; +} & RequiredPreview<"inertia">; +declare type ProjectsUpdateRequestOptions = { + method: "PATCH"; + url: "/projects/:project_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsUpdateResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsUpdateResponseData = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: ProjectsUpdateResponseDataCreator; + created_at: string; + updated_at: string; +}; +declare type ProjectsDeleteEndpoint = { + /** + * project_id parameter + */ + project_id: number; +} & RequiredPreview<"inertia">; +declare type ProjectsDeleteRequestOptions = { + method: "DELETE"; + url: "/projects/:project_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsListCollaboratorsEndpoint = { + /** + * project_id parameter + */ + project_id: number; + /** + * Filters the collaborators by their affiliation. Can be one of: + * \* `outside`: Outside collaborators of a project that are not a member of the project's organization. + * \* `direct`: Collaborators with permissions to a project, regardless of organization membership status. + * \* `all`: All collaborators the authenticated user can see. + */ + affiliation?: "outside" | "direct" | "all"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"inertia">; +declare type ProjectsListCollaboratorsRequestOptions = { + method: "GET"; + url: "/projects/:project_id/collaborators"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsListCollaboratorsResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsListCollaboratorsResponseData = Array; +declare type ProjectsAddCollaboratorEndpoint = { + /** + * project_id parameter + */ + project_id: number; + /** + * username parameter + */ + username: string; + /** + * The permission to grant the collaborator. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://developer.github.com/v3/#http-verbs)." Can be one of: + * \* `read` - can read, but not write to or administer this project. + * \* `write` - can read and write, but not administer this project. + * \* `admin` - can read, write and administer this project. + */ + permission?: "read" | "write" | "admin"; +} & RequiredPreview<"inertia">; +declare type ProjectsAddCollaboratorRequestOptions = { + method: "PUT"; + url: "/projects/:project_id/collaborators/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsRemoveCollaboratorEndpoint = { + /** + * project_id parameter + */ + project_id: number; + /** + * username parameter + */ + username: string; +} & RequiredPreview<"inertia">; +declare type ProjectsRemoveCollaboratorRequestOptions = { + method: "DELETE"; + url: "/projects/:project_id/collaborators/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsReviewUserPermissionLevelEndpoint = { + /** + * project_id parameter + */ + project_id: number; + /** + * username parameter + */ + username: string; +} & RequiredPreview<"inertia">; +declare type ProjectsReviewUserPermissionLevelRequestOptions = { + method: "GET"; + url: "/projects/:project_id/collaborators/:username/permission"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsReviewUserPermissionLevelResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsReviewUserPermissionLevelResponseData = { + permission: string; + user: ProjectsReviewUserPermissionLevelResponseDataUser; +}; +declare type ProjectsListColumnsEndpoint = { + /** + * project_id parameter + */ + project_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"inertia">; +declare type ProjectsListColumnsRequestOptions = { + method: "GET"; + url: "/projects/:project_id/columns"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsListColumnsResponseDataItem = { + url: string; + project_url: string; + cards_url: string; + id: number; + node_id: string; + name: string; + created_at: string; + updated_at: string; +}; +declare type ProjectsListColumnsResponseData = Array; +declare type ProjectsCreateColumnEndpoint = { + /** + * project_id parameter + */ + project_id: number; + /** + * The name of the column. + */ + name: string; +} & RequiredPreview<"inertia">; +declare type ProjectsCreateColumnRequestOptions = { + method: "POST"; + url: "/projects/:project_id/columns"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsCreateColumnResponseData = { + url: string; + project_url: string; + cards_url: string; + id: number; + node_id: string; + name: string; + created_at: string; + updated_at: string; +}; +declare type RateLimitGetEndpoint = {}; +declare type RateLimitGetRequestOptions = { + method: "GET"; + url: "/rate_limit"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type RateLimitGetResponseDataRate = { + limit: number; + remaining: number; + reset: number; +}; +declare type RateLimitGetResponseDataResourcesIntegrationManifest = { + limit: number; + remaining: number; + reset: number; +}; +declare type RateLimitGetResponseDataResourcesGraphql = { + limit: number; + remaining: number; + reset: number; +}; +declare type RateLimitGetResponseDataResourcesSearch = { + limit: number; + remaining: number; + reset: number; +}; +declare type RateLimitGetResponseDataResourcesCore = { + limit: number; + remaining: number; + reset: number; +}; +declare type RateLimitGetResponseDataResources = { + core: RateLimitGetResponseDataResourcesCore; + search: RateLimitGetResponseDataResourcesSearch; + graphql: RateLimitGetResponseDataResourcesGraphql; + integration_manifest: RateLimitGetResponseDataResourcesIntegrationManifest; +}; +declare type RateLimitGetResponseData = { + resources: RateLimitGetResponseDataResources; + rate: RateLimitGetResponseDataRate; +}; +declare type ReactionsDeleteLegacyEndpoint = { + /** + * reaction_id parameter + */ + reaction_id: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsDeleteLegacyRequestOptions = { + method: "DELETE"; + url: "/reactions/:reaction_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetResponseDataCodeOfConduct = { + key: string; + name: string; + url: string; +}; +declare type ReposGetResponseDataSourcePermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposGetResponseDataSourceOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetResponseDataSource = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposGetResponseDataSourceOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposGetResponseDataSourcePermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposGetResponseDataParentPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposGetResponseDataParentOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetResponseDataParent = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposGetResponseDataParentOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposGetResponseDataParentPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposGetResponseDataOrganization = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetResponseDataLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type ReposGetResponseDataPermissions = { + pull: boolean; + triage: boolean; + push: boolean; + maintain: boolean; + admin: boolean; +}; +declare type ReposGetResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetResponseData = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposGetResponseDataOwner; + private: boolean; + html_url: string; + description: string | null; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string | null; + hooks_url: string; + svn_url: string; + homepage: string | null; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template?: boolean; + topics?: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions?: ReposGetResponseDataPermissions; + allow_rebase_merge?: boolean; + template_repository?: null; + temp_clone_token?: string; + allow_squash_merge?: boolean; + allow_merge_commit?: boolean; + subscribers_count: number; + network_count: number; + license?: ReposGetResponseDataLicense; + organization?: ReposGetResponseDataOrganization; + parent?: ReposGetResponseDataParent; + source?: ReposGetResponseDataSource; + forks?: number; + open_issues?: number; + watchers?: number; + code_of_conduct?: ReposGetResponseDataCodeOfConduct; +}; +declare type ReposUpdateEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The name of the repository. + */ + name?: string; + /** + * A short description of the repository. + */ + description?: string; + /** + * A URL with more information about the repository. + */ + homepage?: string; + /** + * Either `true` to make the repository private or `false` to make it public. Default: `false`. + * **Note**: You will get a `422` error if the organization restricts [changing repository visibility](https://help.github.com/articles/repository-permission-levels-for-an-organization#changing-the-visibility-of-repositories) to organization owners and a non-owner tries to change the value of private. **Note**: You will get a `422` error if the organization restricts [changing repository visibility](https://help.github.com/articles/repository-permission-levels-for-an-organization#changing-the-visibility-of-repositories) to organization owners and a non-owner tries to change the value of private. + */ + private?: boolean; + /** + * Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `visibility` can also be `internal`. The `visibility` parameter overrides the `private` parameter when you use both along with the `nebula-preview` preview header. + */ + visibility?: "public" | "private" | "visibility" | "internal"; + /** + * Either `true` to enable issues for this repository or `false` to disable them. + */ + has_issues?: boolean; + /** + * Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error. + */ + has_projects?: boolean; + /** + * Either `true` to enable the wiki for this repository or `false` to disable it. + */ + has_wiki?: boolean; + /** + * Either `true` to make this repo available as a template repository or `false` to prevent it. + */ + is_template?: boolean; + /** + * Updates the default branch for this repository. + */ + default_branch?: string; + /** + * Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. + */ + allow_squash_merge?: boolean; + /** + * Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. + */ + allow_merge_commit?: boolean; + /** + * Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. + */ + allow_rebase_merge?: boolean; + /** + * Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. + */ + delete_branch_on_merge?: boolean; + /** + * `true` to archive this repository. **Note**: You cannot unarchive repositories through the API. + */ + archived?: boolean; +}; +declare type ReposUpdateRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateResponseDataSourcePermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposUpdateResponseDataSourceOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateResponseDataSource = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposUpdateResponseDataSourceOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposUpdateResponseDataSourcePermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposUpdateResponseDataParentPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposUpdateResponseDataParentOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateResponseDataParent = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposUpdateResponseDataParentOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposUpdateResponseDataParentPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposUpdateResponseDataOrganization = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateResponseDataPermissions = { + pull: boolean; + triage: boolean; + push: boolean; + maintain: boolean; + admin: boolean; +}; +declare type ReposUpdateResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateResponseData = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposUpdateResponseDataOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposUpdateResponseDataPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; + organization: ReposUpdateResponseDataOrganization; + parent: ReposUpdateResponseDataParent; + source: ReposUpdateResponseDataSource; +}; +declare type ReposDeleteEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposDeleteRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposDeleteResponseData = { + message: string; + documentation_url: string; +}; +declare type ActionsListArtifactsForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActionsListArtifactsForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/artifacts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListArtifactsForRepoResponseDataArtifactsItem = { + id: number; + node_id: string; + name: string; + size_in_bytes: number; + url: string; + archive_download_url: string; + expired: boolean; + created_at: string; + expires_at: string; +}; +declare type ActionsListArtifactsForRepoResponseData = { + total_count: number; + artifacts: Array; +}; +declare type ActionsGetArtifactEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * artifact_id parameter + */ + artifact_id: number; +}; +declare type ActionsGetArtifactRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/artifacts/:artifact_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsGetArtifactResponseData = { + id: number; + node_id: string; + name: string; + size_in_bytes: number; + url: string; + archive_download_url: string; + expired: boolean; + created_at: string; + expires_at: string; +}; +declare type ActionsDeleteArtifactEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * artifact_id parameter + */ + artifact_id: number; +}; +declare type ActionsDeleteArtifactRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/actions/artifacts/:artifact_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsDownloadArtifactEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * artifact_id parameter + */ + artifact_id: number; + /** + * archive_format parameter + */ + archive_format: string; +}; +declare type ActionsDownloadArtifactRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/artifacts/:artifact_id/:archive_format"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsGetWorkflowJobEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * job_id parameter + */ + job_id: number; +}; +declare type ActionsGetWorkflowJobRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/jobs/:job_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsGetWorkflowJobResponseDataStepsItem = { + name: string; + status: string; + conclusion: string; + number: number; + started_at: string; + completed_at: string; +}; +declare type ActionsGetWorkflowJobResponseData = { + id: number; + run_id: number; + run_url: string; + node_id: string; + head_sha: string; + url: string; + html_url: string; + status: string; + conclusion: string; + started_at: string; + completed_at: string; + name: string; + steps: Array; + check_run_url: string; +}; +declare type ActionsDownloadWorkflowJobLogsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * job_id parameter + */ + job_id: number; +}; +declare type ActionsDownloadWorkflowJobLogsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/jobs/:job_id/logs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListSelfHostedRunnersForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActionsListSelfHostedRunnersForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/runners"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListSelfHostedRunnersForRepoResponseDataRunnersItem = { + id: number; + name: string; + os: string; + status: string; +}; +declare type ActionsListSelfHostedRunnersForRepoResponseData = { + total_count: number; + runners: Array; +}; +declare type ActionsListRunnerApplicationsForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActionsListRunnerApplicationsForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/runners/downloads"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListRunnerApplicationsForRepoResponseDataItem = { + os: string; + architecture: string; + download_url: string; + filename: string; +}; +declare type ActionsListRunnerApplicationsForRepoResponseData = Array; +declare type ActionsCreateRegistrationTokenForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActionsCreateRegistrationTokenForRepoRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/actions/runners/registration-token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsCreateRegistrationTokenForRepoResponseData = { + token: string; + expires_at: string; +}; +declare type ActionsCreateRemoveTokenForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActionsCreateRemoveTokenForRepoRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/actions/runners/remove-token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsCreateRemoveTokenForRepoResponseData = { + token: string; + expires_at: string; +}; +declare type ActionsGetSelfHostedRunnerForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * runner_id parameter + */ + runner_id: number; +}; +declare type ActionsGetSelfHostedRunnerForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/runners/:runner_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsGetSelfHostedRunnerForRepoResponseData = { + id: number; + name: string; + os: string; + status: string; +}; +declare type ActionsDeleteSelfHostedRunnerFromRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * runner_id parameter + */ + runner_id: number; +}; +declare type ActionsDeleteSelfHostedRunnerFromRepoRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/actions/runners/:runner_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListRepoWorkflowRunsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. + */ + actor?: string; + /** + * Returns workflow runs associated with a branch. Use the name of the branch of the `push`. + */ + branch?: string; + /** + * Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)" in the GitHub Help documentation. + */ + event?: string; + /** + * Returns workflow runs associated with the check run `status` or `conclusion` you specify. For example, a conclusion can be `success` or a status can be `completed`. For more information, see the `status` and `conclusion` options available in "[Create a check run](https://developer.github.com/v3/checks/runs/#create-a-check-run)." + */ + status?: "completed" | "status" | "conclusion"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActionsListRepoWorkflowRunsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/runs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + private: boolean; + owner: ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadRepositoryOwner; + html_url: string; + description: null; + fork: boolean; + url: string; + forks_url: string; + keys_url: string; + collaborators_url: string; + teams_url: string; + hooks_url: string; + issue_events_url: string; + events_url: string; + assignees_url: string; + branches_url: string; + tags_url: string; + blobs_url: string; + git_tags_url: string; + git_refs_url: string; + trees_url: string; + statuses_url: string; + languages_url: string; + stargazers_url: string; + contributors_url: string; + subscribers_url: string; + subscription_url: string; + commits_url: string; + git_commits_url: string; + comments_url: string; + issue_comment_url: string; + contents_url: string; + compare_url: string; + merges_url: string; + archive_url: string; + downloads_url: string; + issues_url: string; + pulls_url: string; + milestones_url: string; + notifications_url: string; + labels_url: string; + releases_url: string; + deployments_url: string; +}; +declare type ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadCommitCommitter = { + name: string; + email: string; +}; +declare type ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadCommitAuthor = { + name: string; + email: string; +}; +declare type ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadCommit = { + id: string; + tree_id: string; + message: string; + timestamp: string; + author: ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadCommitAuthor; + committer: ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadCommitCommitter; +}; +declare type ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItem = { + id: number; + node_id: string; + head_branch: string; + head_sha: string; + run_number: number; + event: string; + status: string; + conclusion: null; + url: string; + html_url: string; + pull_requests: Array; + created_at: string; + updated_at: string; + jobs_url: string; + logs_url: string; + check_suite_url: string; + artifacts_url: string; + cancel_url: string; + rerun_url: string; + workflow_url: string; + head_commit: ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadCommit; + repository: ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemRepository; + head_repository: ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadRepository; +}; +declare type ActionsListRepoWorkflowRunsResponseData = { + total_count: number; + workflow_runs: Array; +}; +declare type ActionsGetWorkflowRunEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * run_id parameter + */ + run_id: number; +}; +declare type ActionsGetWorkflowRunRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/runs/:run_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsGetWorkflowRunResponseDataHeadRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActionsGetWorkflowRunResponseDataHeadRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + private: boolean; + owner: ActionsGetWorkflowRunResponseDataHeadRepositoryOwner; + html_url: string; + description: null; + fork: boolean; + url: string; + forks_url: string; + keys_url: string; + collaborators_url: string; + teams_url: string; + hooks_url: string; + issue_events_url: string; + events_url: string; + assignees_url: string; + branches_url: string; + tags_url: string; + blobs_url: string; + git_tags_url: string; + git_refs_url: string; + trees_url: string; + statuses_url: string; + languages_url: string; + stargazers_url: string; + contributors_url: string; + subscribers_url: string; + subscription_url: string; + commits_url: string; + git_commits_url: string; + comments_url: string; + issue_comment_url: string; + contents_url: string; + compare_url: string; + merges_url: string; + archive_url: string; + downloads_url: string; + issues_url: string; + pulls_url: string; + milestones_url: string; + notifications_url: string; + labels_url: string; + releases_url: string; + deployments_url: string; +}; +declare type ActionsGetWorkflowRunResponseDataRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActionsGetWorkflowRunResponseDataRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActionsGetWorkflowRunResponseDataRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ActionsGetWorkflowRunResponseDataHeadCommitCommitter = { + name: string; + email: string; +}; +declare type ActionsGetWorkflowRunResponseDataHeadCommitAuthor = { + name: string; + email: string; +}; +declare type ActionsGetWorkflowRunResponseDataHeadCommit = { + id: string; + tree_id: string; + message: string; + timestamp: string; + author: ActionsGetWorkflowRunResponseDataHeadCommitAuthor; + committer: ActionsGetWorkflowRunResponseDataHeadCommitCommitter; +}; +declare type ActionsGetWorkflowRunResponseData = { + id: number; + node_id: string; + head_branch: string; + head_sha: string; + run_number: number; + event: string; + status: string; + conclusion: null; + url: string; + html_url: string; + pull_requests: Array; + created_at: string; + updated_at: string; + jobs_url: string; + logs_url: string; + check_suite_url: string; + artifacts_url: string; + cancel_url: string; + rerun_url: string; + workflow_url: string; + head_commit: ActionsGetWorkflowRunResponseDataHeadCommit; + repository: ActionsGetWorkflowRunResponseDataRepository; + head_repository: ActionsGetWorkflowRunResponseDataHeadRepository; +}; +declare type ActionsListWorkflowRunArtifactsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * run_id parameter + */ + run_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActionsListWorkflowRunArtifactsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/runs/:run_id/artifacts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListWorkflowRunArtifactsResponseDataArtifactsItem = { + id: number; + node_id: string; + name: string; + size_in_bytes: number; + url: string; + archive_download_url: string; + expired: boolean; + created_at: string; + expires_at: string; +}; +declare type ActionsListWorkflowRunArtifactsResponseData = { + total_count: number; + artifacts: Array; +}; +declare type ActionsCancelWorkflowRunEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * run_id parameter + */ + run_id: number; +}; +declare type ActionsCancelWorkflowRunRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/actions/runs/:run_id/cancel"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListJobsForWorkflowRunEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * run_id parameter + */ + run_id: number; + /** + * Filters jobs by their `completed_at` timestamp. Can be one of: + * \* `latest`: Returns jobs from the most recent execution of the workflow run. + * \* `all`: Returns all jobs for a workflow run, including from old executions of the workflow run. + */ + filter?: "latest" | "all"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActionsListJobsForWorkflowRunRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/runs/:run_id/jobs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListJobsForWorkflowRunResponseDataJobsItemStepsItem = { + name: string; + status: string; + conclusion: string; + number: number; + started_at: string; + completed_at: string; +}; +declare type ActionsListJobsForWorkflowRunResponseDataJobsItem = { + id: number; + run_id: number; + run_url: string; + node_id: string; + head_sha: string; + url: string; + html_url: string; + status: string; + conclusion: string; + started_at: string; + completed_at: string; + name: string; + steps: Array; + check_run_url: string; +}; +declare type ActionsListJobsForWorkflowRunResponseData = { + total_count: number; + jobs: Array; +}; +declare type ActionsDownloadWorkflowRunLogsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * run_id parameter + */ + run_id: number; +}; +declare type ActionsDownloadWorkflowRunLogsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/runs/:run_id/logs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsDeleteWorkflowRunLogsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * run_id parameter + */ + run_id: number; +}; +declare type ActionsDeleteWorkflowRunLogsRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/actions/runs/:run_id/logs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsReRunWorkflowEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * run_id parameter + */ + run_id: number; +}; +declare type ActionsReRunWorkflowRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/actions/runs/:run_id/rerun"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListSecretsForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActionsListSecretsForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/secrets"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListSecretsForRepoResponseDataSecretsItem = { + name: string; + created_at: string; + updated_at: string; +}; +declare type ActionsListSecretsForRepoResponseData = { + total_count: number; + secrets: Array; +}; +declare type ActionsGetPublicKeyEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActionsGetPublicKeyRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/secrets/public-key"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsGetPublicKeyResponseData = { + key_id: string; + key: string; +}; +declare type ActionsGetSecretEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * name parameter + */ + name: string; +}; +declare type ActionsGetSecretRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/secrets/:name"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsGetSecretResponseData = { + name: string; + created_at: string; + updated_at: string; +}; +declare type ActionsCreateOrUpdateSecretForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * name parameter + */ + name: string; + /** + * Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get your public key](https://developer.github.com/v3/actions/secrets/#get-your-public-key) endpoint. + */ + encrypted_value?: string; + /** + * ID of the key you used to encrypt the secret. + */ + key_id?: string; +}; +declare type ActionsCreateOrUpdateSecretForRepoRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/actions/secrets/:name"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsDeleteSecretFromRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * name parameter + */ + name: string; +}; +declare type ActionsDeleteSecretFromRepoRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/actions/secrets/:name"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListRepoWorkflowsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActionsListRepoWorkflowsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/workflows"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListRepoWorkflowsResponseDataWorkflowsItem = { + id: number; + node_id: string; + name: string; + path: string; + state: string; + created_at: string; + updated_at: string; + url: string; + html_url: string; + badge_url: string; +}; +declare type ActionsListRepoWorkflowsResponseData = { + total_count: number; + workflows: Array; +}; +declare type ActionsGetWorkflowEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * workflow_id parameter + */ + workflow_id: number; +}; +declare type ActionsGetWorkflowRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/workflows/:workflow_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsGetWorkflowResponseData = { + id: number; + node_id: string; + name: string; + path: string; + state: string; + created_at: string; + updated_at: string; + url: string; + html_url: string; + badge_url: string; +}; +declare type ActionsListWorkflowRunsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * workflow_id parameter + */ + workflow_id: number; + /** + * Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. + */ + actor?: string; + /** + * Returns workflow runs associated with a branch. Use the name of the branch of the `push`. + */ + branch?: string; + /** + * Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)" in the GitHub Help documentation. + */ + event?: string; + /** + * Returns workflow runs associated with the check run `status` or `conclusion` you specify. For example, a conclusion can be `success` or a status can be `completed`. For more information, see the `status` and `conclusion` options available in "[Create a check run](https://developer.github.com/v3/checks/runs/#create-a-check-run)." + */ + status?: "completed" | "status" | "conclusion"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActionsListWorkflowRunsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/workflows/:workflow_id/runs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + private: boolean; + owner: ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadRepositoryOwner; + html_url: string; + description: null; + fork: boolean; + url: string; + forks_url: string; + keys_url: string; + collaborators_url: string; + teams_url: string; + hooks_url: string; + issue_events_url: string; + events_url: string; + assignees_url: string; + branches_url: string; + tags_url: string; + blobs_url: string; + git_tags_url: string; + git_refs_url: string; + trees_url: string; + statuses_url: string; + languages_url: string; + stargazers_url: string; + contributors_url: string; + subscribers_url: string; + subscription_url: string; + commits_url: string; + git_commits_url: string; + comments_url: string; + issue_comment_url: string; + contents_url: string; + compare_url: string; + merges_url: string; + archive_url: string; + downloads_url: string; + issues_url: string; + pulls_url: string; + milestones_url: string; + notifications_url: string; + labels_url: string; + releases_url: string; + deployments_url: string; +}; +declare type ActionsListWorkflowRunsResponseDataWorkflowRunsItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActionsListWorkflowRunsResponseDataWorkflowRunsItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActionsListWorkflowRunsResponseDataWorkflowRunsItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadCommitCommitter = { + name: string; + email: string; +}; +declare type ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadCommitAuthor = { + name: string; + email: string; +}; +declare type ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadCommit = { + id: string; + tree_id: string; + message: string; + timestamp: string; + author: ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadCommitAuthor; + committer: ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadCommitCommitter; +}; +declare type ActionsListWorkflowRunsResponseDataWorkflowRunsItem = { + id: number; + node_id: string; + head_branch: string; + head_sha: string; + run_number: number; + event: string; + status: string; + conclusion: null; + url: string; + html_url: string; + pull_requests: Array; + created_at: string; + updated_at: string; + jobs_url: string; + logs_url: string; + check_suite_url: string; + artifacts_url: string; + cancel_url: string; + rerun_url: string; + workflow_url: string; + head_commit: ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadCommit; + repository: ActionsListWorkflowRunsResponseDataWorkflowRunsItemRepository; + head_repository: ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadRepository; +}; +declare type ActionsListWorkflowRunsResponseData = { + total_count: number; + workflow_runs: Array; +}; +declare type IssuesListAssigneesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type IssuesListAssigneesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/assignees"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListAssigneesResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListAssigneesResponseData = Array; +declare type IssuesCheckAssigneeEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * assignee parameter + */ + assignee: string; +}; +declare type IssuesCheckAssigneeRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/assignees/:assignee"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposEnableAutomatedSecurityFixesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"london">; +declare type ReposEnableAutomatedSecurityFixesRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/automated-security-fixes"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposDisableAutomatedSecurityFixesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"london">; +declare type ReposDisableAutomatedSecurityFixesRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/automated-security-fixes"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListBranchesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Setting to `true` returns only protected branches. When set to `false`, only unprotected branches are returned. Omitting this parameter returns all branches. + */ + protected?: boolean; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListBranchesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListBranchesResponseDataItemProtectionRequiredStatusChecks = { + enforcement_level: string; + contexts: Array; +}; +declare type ReposListBranchesResponseDataItemProtection = { + enabled: boolean; + required_status_checks: ReposListBranchesResponseDataItemProtectionRequiredStatusChecks; +}; +declare type ReposListBranchesResponseDataItemCommit = { + sha: string; + url: string; +}; +declare type ReposListBranchesResponseDataItem = { + name: string; + commit: ReposListBranchesResponseDataItemCommit; + protected: boolean; + protection: ReposListBranchesResponseDataItemProtection; + protection_url: string; +}; +declare type ReposListBranchesResponseData = Array; +declare type ReposGetBranchEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposGetBranchRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetBranchResponseDataProtectionRequiredStatusChecks = { + enforcement_level: string; + contexts: Array; +}; +declare type ReposGetBranchResponseDataProtection = { + enabled: boolean; + required_status_checks: ReposGetBranchResponseDataProtectionRequiredStatusChecks; +}; +declare type ReposGetBranchResponseDataLinks = { + html: string; + self: string; +}; +declare type ReposGetBranchResponseDataCommitCommitter = { + gravatar_id: string; + avatar_url: string; + url: string; + id: number; + login: string; +}; +declare type ReposGetBranchResponseDataCommitParentsItem = { + sha: string; + url: string; +}; +declare type ReposGetBranchResponseDataCommitAuthor = { + gravatar_id: string; + avatar_url: string; + url: string; + id: number; + login: string; +}; +declare type ReposGetBranchResponseDataCommitCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type ReposGetBranchResponseDataCommitCommitCommitter = { + name: string; + date: string; + email: string; +}; +declare type ReposGetBranchResponseDataCommitCommitTree = { + sha: string; + url: string; +}; +declare type ReposGetBranchResponseDataCommitCommitAuthor = { + name: string; + date: string; + email: string; +}; +declare type ReposGetBranchResponseDataCommitCommit = { + author: ReposGetBranchResponseDataCommitCommitAuthor; + url: string; + message: string; + tree: ReposGetBranchResponseDataCommitCommitTree; + committer: ReposGetBranchResponseDataCommitCommitCommitter; + verification: ReposGetBranchResponseDataCommitCommitVerification; +}; +declare type ReposGetBranchResponseDataCommit = { + sha: string; + node_id: string; + commit: ReposGetBranchResponseDataCommitCommit; + author: ReposGetBranchResponseDataCommitAuthor; + parents: Array; + url: string; + committer: ReposGetBranchResponseDataCommitCommitter; +}; +declare type ReposGetBranchResponseData = { + name: string; + commit: ReposGetBranchResponseDataCommit; + _links: ReposGetBranchResponseDataLinks; + protected: boolean; + protection: ReposGetBranchResponseDataProtection; + protection_url: string; +}; +declare type ReposGetBranchProtectionEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposGetBranchProtectionRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetBranchProtectionResponseDataAllowDeletions = { + enabled: boolean; +}; +declare type ReposGetBranchProtectionResponseDataAllowForcePushes = { + enabled: boolean; +}; +declare type ReposGetBranchProtectionResponseDataRequiredLinearHistory = { + enabled: boolean; +}; +declare type ReposGetBranchProtectionResponseDataRestrictionsAppsItemPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ReposGetBranchProtectionResponseDataRestrictionsAppsItemOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ReposGetBranchProtectionResponseDataRestrictionsAppsItem = { + id: number; + slug: string; + node_id: string; + owner: ReposGetBranchProtectionResponseDataRestrictionsAppsItemOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ReposGetBranchProtectionResponseDataRestrictionsAppsItemPermissions; + events: Array; +}; +declare type ReposGetBranchProtectionResponseDataRestrictionsTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposGetBranchProtectionResponseDataRestrictionsUsersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetBranchProtectionResponseDataRestrictions = { + url: string; + users_url: string; + teams_url: string; + apps_url: string; + users: Array; + teams: Array; + apps: Array; +}; +declare type ReposGetBranchProtectionResponseDataRequiredPullRequestReviewsDismissalRestrictionsTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposGetBranchProtectionResponseDataRequiredPullRequestReviewsDismissalRestrictionsUsersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetBranchProtectionResponseDataRequiredPullRequestReviewsDismissalRestrictions = { + url: string; + users_url: string; + teams_url: string; + users: Array; + teams: Array; +}; +declare type ReposGetBranchProtectionResponseDataRequiredPullRequestReviews = { + url: string; + dismissal_restrictions: ReposGetBranchProtectionResponseDataRequiredPullRequestReviewsDismissalRestrictions; + dismiss_stale_reviews: boolean; + require_code_owner_reviews: boolean; + required_approving_review_count: number; +}; +declare type ReposGetBranchProtectionResponseDataEnforceAdmins = { + url: string; + enabled: boolean; +}; +declare type ReposGetBranchProtectionResponseDataRequiredStatusChecks = { + url: string; + strict: boolean; + contexts: Array; + contexts_url: string; +}; +declare type ReposGetBranchProtectionResponseData = { + url: string; + required_status_checks: ReposGetBranchProtectionResponseDataRequiredStatusChecks; + enforce_admins: ReposGetBranchProtectionResponseDataEnforceAdmins; + required_pull_request_reviews: ReposGetBranchProtectionResponseDataRequiredPullRequestReviews; + restrictions: ReposGetBranchProtectionResponseDataRestrictions; + required_linear_history: ReposGetBranchProtectionResponseDataRequiredLinearHistory; + allow_force_pushes: ReposGetBranchProtectionResponseDataAllowForcePushes; + allow_deletions: ReposGetBranchProtectionResponseDataAllowDeletions; +}; +declare type ReposUpdateBranchProtectionEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * Require status checks to pass before merging. Set to `null` to disable. + */ + required_status_checks: ReposUpdateBranchProtectionParamsRequiredStatusChecks | null; + /** + * Enforce all configured restrictions for administrators. Set to `true` to enforce required status checks for repository administrators. Set to `null` to disable. + */ + enforce_admins: boolean | null; + /** + * Require at least one approving review on a pull request, before merging. Set to `null` to disable. + */ + required_pull_request_reviews: ReposUpdateBranchProtectionParamsRequiredPullRequestReviews | null; + /** + * Restrict who can push to the protected branch. User, app, and team `restrictions` are only available for organization-owned repositories. Set to `null` to disable. + */ + restrictions: ReposUpdateBranchProtectionParamsRestrictions | null; + /** + * Enforces a linear commit Git history, which prevents anyone from pushing merge commits to a branch. Set to `true` to enforce a linear commit history. Set to `false` to disable a linear commit Git history. Your repository must allow squash merging or rebase merging before you can enable a linear commit history. Default: `false`. For more information, see "[Requiring a linear commit history](https://help.github.com/github/administering-a-repository/requiring-a-linear-commit-history)" in the GitHub Help documentation. + */ + required_linear_history?: boolean; + /** + * Permits force pushes to the protected branch by anyone with write access to the repository. Set to `true` to allow force pushes. Set to `false` or `null` to block force pushes. Default: `false`. For more information, see "[Enabling force pushes to a protected branch](https://help.github.com/en/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)" in the GitHub Help documentation." + */ + allow_force_pushes?: boolean | null; + /** + * Allows deletion of the protected branch by anyone with write access to the repository. Set to `false` to prevent deletion of the protected branch. Default: `false`. For more information, see "[Enabling force pushes to a protected branch](https://help.github.com/en/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)" in the GitHub Help documentation. + */ + allow_deletions?: boolean; +}; +declare type ReposUpdateBranchProtectionRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/branches/:branch/protection"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateBranchProtectionResponseDataAllowDeletions = { + enabled: boolean; +}; +declare type ReposUpdateBranchProtectionResponseDataAllowForcePushes = { + enabled: boolean; +}; +declare type ReposUpdateBranchProtectionResponseDataRequiredLinearHistory = { + enabled: boolean; +}; +declare type ReposUpdateBranchProtectionResponseDataRestrictionsAppsItemPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ReposUpdateBranchProtectionResponseDataRestrictionsAppsItemOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ReposUpdateBranchProtectionResponseDataRestrictionsAppsItem = { + id: number; + slug: string; + node_id: string; + owner: ReposUpdateBranchProtectionResponseDataRestrictionsAppsItemOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ReposUpdateBranchProtectionResponseDataRestrictionsAppsItemPermissions; + events: Array; +}; +declare type ReposUpdateBranchProtectionResponseDataRestrictionsTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposUpdateBranchProtectionResponseDataRestrictionsUsersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateBranchProtectionResponseDataRestrictions = { + url: string; + users_url: string; + teams_url: string; + apps_url: string; + users: Array; + teams: Array; + apps: Array; +}; +declare type ReposUpdateBranchProtectionResponseDataRequiredPullRequestReviewsDismissalRestrictionsTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposUpdateBranchProtectionResponseDataRequiredPullRequestReviewsDismissalRestrictionsUsersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateBranchProtectionResponseDataRequiredPullRequestReviewsDismissalRestrictions = { + url: string; + users_url: string; + teams_url: string; + users: Array; + teams: Array; +}; +declare type ReposUpdateBranchProtectionResponseDataRequiredPullRequestReviews = { + url: string; + dismissal_restrictions: ReposUpdateBranchProtectionResponseDataRequiredPullRequestReviewsDismissalRestrictions; + dismiss_stale_reviews: boolean; + require_code_owner_reviews: boolean; + required_approving_review_count: number; +}; +declare type ReposUpdateBranchProtectionResponseDataEnforceAdmins = { + url: string; + enabled: boolean; +}; +declare type ReposUpdateBranchProtectionResponseDataRequiredStatusChecks = { + url: string; + strict: boolean; + contexts: Array; + contexts_url: string; +}; +declare type ReposUpdateBranchProtectionResponseData = { + url: string; + required_status_checks: ReposUpdateBranchProtectionResponseDataRequiredStatusChecks; + enforce_admins: ReposUpdateBranchProtectionResponseDataEnforceAdmins; + required_pull_request_reviews: ReposUpdateBranchProtectionResponseDataRequiredPullRequestReviews; + restrictions: ReposUpdateBranchProtectionResponseDataRestrictions; + required_linear_history: ReposUpdateBranchProtectionResponseDataRequiredLinearHistory; + allow_force_pushes: ReposUpdateBranchProtectionResponseDataAllowForcePushes; + allow_deletions: ReposUpdateBranchProtectionResponseDataAllowDeletions; +}; +declare type ReposRemoveBranchProtectionEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposRemoveBranchProtectionRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetProtectedBranchAdminEnforcementEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposGetProtectedBranchAdminEnforcementRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection/enforce_admins"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetProtectedBranchAdminEnforcementResponseData = { + url: string; + enabled: boolean; +}; +declare type ReposAddProtectedBranchAdminEnforcementEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposAddProtectedBranchAdminEnforcementRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/branches/:branch/protection/enforce_admins"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposAddProtectedBranchAdminEnforcementResponseData = { + url: string; + enabled: boolean; +}; +declare type ReposRemoveProtectedBranchAdminEnforcementEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposRemoveProtectedBranchAdminEnforcementRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection/enforce_admins"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetProtectedBranchPullRequestReviewEnforcementEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposGetProtectedBranchPullRequestReviewEnforcementRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetProtectedBranchPullRequestReviewEnforcementResponseDataDismissalRestrictionsTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposGetProtectedBranchPullRequestReviewEnforcementResponseDataDismissalRestrictionsUsersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetProtectedBranchPullRequestReviewEnforcementResponseDataDismissalRestrictions = { + url: string; + users_url: string; + teams_url: string; + users: Array; + teams: Array; +}; +declare type ReposGetProtectedBranchPullRequestReviewEnforcementResponseData = { + url: string; + dismissal_restrictions: ReposGetProtectedBranchPullRequestReviewEnforcementResponseDataDismissalRestrictions; + dismiss_stale_reviews: boolean; + require_code_owner_reviews: boolean; + required_approving_review_count: number; +}; +declare type ReposUpdateProtectedBranchPullRequestReviewEnforcementEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * Specify which users and teams can dismiss pull request reviews. Pass an empty `dismissal_restrictions` object to disable. User and team `dismissal_restrictions` are only available for organization-owned repositories. Omit this parameter for personal repositories. + */ + dismissal_restrictions?: ReposUpdateProtectedBranchPullRequestReviewEnforcementParamsDismissalRestrictions; + /** + * Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit. + */ + dismiss_stale_reviews?: boolean; + /** + * Blocks merging pull requests until [code owners](https://help.github.com/articles/about-code-owners/) have reviewed. + */ + require_code_owner_reviews?: boolean; + /** + * Specifies the number of reviewers required to approve pull requests. Use a number between 1 and 6. + */ + required_approving_review_count?: number; +}; +declare type ReposUpdateProtectedBranchPullRequestReviewEnforcementRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseDataDismissalRestrictionsTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseDataDismissalRestrictionsUsersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseDataDismissalRestrictions = { + url: string; + users_url: string; + teams_url: string; + users: Array; + teams: Array; +}; +declare type ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseData = { + url: string; + dismissal_restrictions: ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseDataDismissalRestrictions; + dismiss_stale_reviews: boolean; + require_code_owner_reviews: boolean; + required_approving_review_count: number; +}; +declare type ReposRemoveProtectedBranchPullRequestReviewEnforcementEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposRemoveProtectedBranchPullRequestReviewEnforcementRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetProtectedBranchRequiredSignaturesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +} & RequiredPreview<"zzzax">; +declare type ReposGetProtectedBranchRequiredSignaturesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_signatures"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetProtectedBranchRequiredSignaturesResponseData = { + url: string; + enabled: boolean; +}; +declare type ReposAddProtectedBranchRequiredSignaturesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +} & RequiredPreview<"zzzax">; +declare type ReposAddProtectedBranchRequiredSignaturesRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_signatures"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposAddProtectedBranchRequiredSignaturesResponseData = { + url: string; + enabled: boolean; +}; +declare type ReposRemoveProtectedBranchRequiredSignaturesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +} & RequiredPreview<"zzzax">; +declare type ReposRemoveProtectedBranchRequiredSignaturesRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_signatures"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetProtectedBranchRequiredStatusChecksEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposGetProtectedBranchRequiredStatusChecksRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetProtectedBranchRequiredStatusChecksResponseData = { + url: string; + strict: boolean; + contexts: Array; + contexts_url: string; +}; +declare type ReposUpdateProtectedBranchRequiredStatusChecksEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * Require branches to be up to date before merging. + */ + strict?: boolean; + /** + * The list of status checks to require in order to merge into this branch + */ + contexts?: string[]; +}; +declare type ReposUpdateProtectedBranchRequiredStatusChecksRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateProtectedBranchRequiredStatusChecksResponseData = { + url: string; + strict: boolean; + contexts: Array; + contexts_url: string; +}; +declare type ReposRemoveProtectedBranchRequiredStatusChecksEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposRemoveProtectedBranchRequiredStatusChecksRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListProtectedBranchRequiredStatusChecksContextsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposListProtectedBranchRequiredStatusChecksContextsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListProtectedBranchRequiredStatusChecksContextsResponseData = Array; +declare type ReposReplaceProtectedBranchRequiredStatusChecksContextsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * contexts parameter + */ + contexts: string[]; +}; +declare type ReposReplaceProtectedBranchRequiredStatusChecksContextsRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposReplaceProtectedBranchRequiredStatusChecksContextsResponseData = Array; +declare type ReposAddProtectedBranchRequiredStatusChecksContextsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * contexts parameter + */ + contexts: string[]; +}; +declare type ReposAddProtectedBranchRequiredStatusChecksContextsRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposAddProtectedBranchRequiredStatusChecksContextsResponseData = Array; +declare type ReposRemoveProtectedBranchRequiredStatusChecksContextsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * contexts parameter + */ + contexts: string[]; +}; +declare type ReposRemoveProtectedBranchRequiredStatusChecksContextsRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposRemoveProtectedBranchRequiredStatusChecksContextsResponseData = Array; +declare type ReposGetProtectedBranchRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposGetProtectedBranchRestrictionsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetProtectedBranchRestrictionsResponseDataAppsItemPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ReposGetProtectedBranchRestrictionsResponseDataAppsItemOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ReposGetProtectedBranchRestrictionsResponseDataAppsItem = { + id: number; + slug: string; + node_id: string; + owner: ReposGetProtectedBranchRestrictionsResponseDataAppsItemOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ReposGetProtectedBranchRestrictionsResponseDataAppsItemPermissions; + events: Array; +}; +declare type ReposGetProtectedBranchRestrictionsResponseDataTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposGetProtectedBranchRestrictionsResponseDataUsersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetProtectedBranchRestrictionsResponseData = { + url: string; + users_url: string; + teams_url: string; + apps_url: string; + users: Array; + teams: Array; + apps: Array; +}; +declare type ReposRemoveProtectedBranchRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposRemoveProtectedBranchRestrictionsRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetAppsWithAccessToProtectedBranchEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposGetAppsWithAccessToProtectedBranchRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/apps"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetAppsWithAccessToProtectedBranchResponseDataItemPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ReposGetAppsWithAccessToProtectedBranchResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ReposGetAppsWithAccessToProtectedBranchResponseDataItem = { + id: number; + slug: string; + node_id: string; + owner: ReposGetAppsWithAccessToProtectedBranchResponseDataItemOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ReposGetAppsWithAccessToProtectedBranchResponseDataItemPermissions; + events: Array; +}; +declare type ReposGetAppsWithAccessToProtectedBranchResponseData = Array; +declare type ReposReplaceProtectedBranchAppRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * apps parameter + */ + apps: string[]; +}; +declare type ReposReplaceProtectedBranchAppRestrictionsRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/apps"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposReplaceProtectedBranchAppRestrictionsResponseDataItemPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ReposReplaceProtectedBranchAppRestrictionsResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ReposReplaceProtectedBranchAppRestrictionsResponseDataItem = { + id: number; + slug: string; + node_id: string; + owner: ReposReplaceProtectedBranchAppRestrictionsResponseDataItemOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ReposReplaceProtectedBranchAppRestrictionsResponseDataItemPermissions; + events: Array; +}; +declare type ReposReplaceProtectedBranchAppRestrictionsResponseData = Array; +declare type ReposAddProtectedBranchAppRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * apps parameter + */ + apps: string[]; +}; +declare type ReposAddProtectedBranchAppRestrictionsRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/apps"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposAddProtectedBranchAppRestrictionsResponseDataItemPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ReposAddProtectedBranchAppRestrictionsResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ReposAddProtectedBranchAppRestrictionsResponseDataItem = { + id: number; + slug: string; + node_id: string; + owner: ReposAddProtectedBranchAppRestrictionsResponseDataItemOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ReposAddProtectedBranchAppRestrictionsResponseDataItemPermissions; + events: Array; +}; +declare type ReposAddProtectedBranchAppRestrictionsResponseData = Array; +declare type ReposRemoveProtectedBranchAppRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * apps parameter + */ + apps: string[]; +}; +declare type ReposRemoveProtectedBranchAppRestrictionsRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/apps"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposRemoveProtectedBranchAppRestrictionsResponseDataItemPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ReposRemoveProtectedBranchAppRestrictionsResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ReposRemoveProtectedBranchAppRestrictionsResponseDataItem = { + id: number; + slug: string; + node_id: string; + owner: ReposRemoveProtectedBranchAppRestrictionsResponseDataItemOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ReposRemoveProtectedBranchAppRestrictionsResponseDataItemPermissions; + events: Array; +}; +declare type ReposRemoveProtectedBranchAppRestrictionsResponseData = Array; +declare type ReposGetTeamsWithAccessToProtectedBranchEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposGetTeamsWithAccessToProtectedBranchRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetTeamsWithAccessToProtectedBranchResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposGetTeamsWithAccessToProtectedBranchResponseData = Array; +declare type ReposReplaceProtectedBranchTeamRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * teams parameter + */ + teams: string[]; +}; +declare type ReposReplaceProtectedBranchTeamRestrictionsRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposReplaceProtectedBranchTeamRestrictionsResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposReplaceProtectedBranchTeamRestrictionsResponseData = Array; +declare type ReposAddProtectedBranchTeamRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * teams parameter + */ + teams: string[]; +}; +declare type ReposAddProtectedBranchTeamRestrictionsRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposAddProtectedBranchTeamRestrictionsResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposAddProtectedBranchTeamRestrictionsResponseData = Array; +declare type ReposRemoveProtectedBranchTeamRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * teams parameter + */ + teams: string[]; +}; +declare type ReposRemoveProtectedBranchTeamRestrictionsRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposRemoveProtectedBranchTeamRestrictionsResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposRemoveProtectedBranchTeamRestrictionsResponseData = Array; +declare type ReposGetUsersWithAccessToProtectedBranchEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposGetUsersWithAccessToProtectedBranchRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/users"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetUsersWithAccessToProtectedBranchResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetUsersWithAccessToProtectedBranchResponseData = Array; +declare type ReposReplaceProtectedBranchUserRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * users parameter + */ + users: string[]; +}; +declare type ReposReplaceProtectedBranchUserRestrictionsRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/users"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposReplaceProtectedBranchUserRestrictionsResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposReplaceProtectedBranchUserRestrictionsResponseData = Array; +declare type ReposAddProtectedBranchUserRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * users parameter + */ + users: string[]; +}; +declare type ReposAddProtectedBranchUserRestrictionsRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/users"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposAddProtectedBranchUserRestrictionsResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposAddProtectedBranchUserRestrictionsResponseData = Array; +declare type ReposRemoveProtectedBranchUserRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * users parameter + */ + users: string[]; +}; +declare type ReposRemoveProtectedBranchUserRestrictionsRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/users"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposRemoveProtectedBranchUserRestrictionsResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposRemoveProtectedBranchUserRestrictionsResponseData = Array; +declare type ChecksCreateEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The name of the check. For example, "code-coverage". + */ + name: string; + /** + * The SHA of the commit. + */ + head_sha: string; + /** + * The URL of the integrator's site that has the full details of the check. If the integrator does not provide this, then the homepage of the GitHub app is used. + */ + details_url?: string; + /** + * A reference for the run on the integrator's system. + */ + external_id?: string; + /** + * The current status. Can be one of `queued`, `in_progress`, or `completed`. + */ + status?: "queued" | "in_progress" | "completed"; + /** + * The time that the check run began. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + started_at?: string; + /** + * **Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. Can be one of `success`, `failure`, `neutral`, `cancelled`, `skipped`, `timed_out`, or `action_required`. When the conclusion is `action_required`, additional details should be provided on the site specified by `details_url`. + * **Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. Only GitHub can change a check run conclusion to `stale`. + */ + conclusion?: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required"; + /** + * The time the check completed. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + completed_at?: string; + /** + * Check runs can accept a variety of data in the `output` object, including a `title` and `summary` and can optionally provide descriptive details about the run. See the [`output` object](https://developer.github.com/v3/checks/runs/#output-object) description. + */ + output?: ChecksCreateParamsOutput; + /** + * Displays a button on GitHub that can be clicked to alert your app to do additional tasks. For example, a code linting app can display a button that automatically fixes detected errors. The button created in this object is displayed after the check run completes. When a user clicks the button, GitHub sends the [`check_run.requested_action` webhook](https://developer.github.com/v3/activity/events/types/#checkrunevent) to your app. Each action includes a `label`, `identifier` and `description`. A maximum of three actions are accepted. See the [`actions` object](https://developer.github.com/v3/checks/runs/#actions-object) description. To learn more about check runs and requested actions, see "[Check runs and requested actions](https://developer.github.com/v3/checks/runs/#check-runs-and-requested-actions)." To learn more about check runs and requested actions, see "[Check runs and requested actions](https://developer.github.com/v3/checks/runs/#check-runs-and-requested-actions)." + */ + actions?: ChecksCreateParamsActions[]; +} & RequiredPreview<"antiope">; +declare type ChecksCreateRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/check-runs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksCreateResponseDataPullRequestsItemBaseRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksCreateResponseDataPullRequestsItemBase = { + ref: string; + sha: string; + repo: ChecksCreateResponseDataPullRequestsItemBaseRepo; +}; +declare type ChecksCreateResponseDataPullRequestsItemHeadRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksCreateResponseDataPullRequestsItemHead = { + ref: string; + sha: string; + repo: ChecksCreateResponseDataPullRequestsItemHeadRepo; +}; +declare type ChecksCreateResponseDataPullRequestsItem = { + url: string; + id: number; + number: number; + head: ChecksCreateResponseDataPullRequestsItemHead; + base: ChecksCreateResponseDataPullRequestsItemBase; +}; +declare type ChecksCreateResponseDataAppPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ChecksCreateResponseDataAppOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ChecksCreateResponseDataApp = { + id: number; + slug: string; + node_id: string; + owner: ChecksCreateResponseDataAppOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ChecksCreateResponseDataAppPermissions; + events: Array; +}; +declare type ChecksCreateResponseDataCheckSuite = { + id: number; +}; +declare type ChecksCreateResponseDataOutput = { + title: string; + summary: string; + text: string; + annotations_count?: number; + annotations_url?: string; +}; +declare type ChecksCreateResponseData = { + id: number; + head_sha: string; + node_id: string; + external_id: string; + url: string; + html_url: string; + details_url: string; + status: string; + conclusion: null | string; + started_at: string; + completed_at: null | string; + output: ChecksCreateResponseDataOutput; + name: string; + check_suite: ChecksCreateResponseDataCheckSuite; + app: ChecksCreateResponseDataApp; + pull_requests: Array; +}; +declare type ChecksUpdateEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * check_run_id parameter + */ + check_run_id: number; + /** + * The name of the check. For example, "code-coverage". + */ + name?: string; + /** + * The URL of the integrator's site that has the full details of the check. + */ + details_url?: string; + /** + * A reference for the run on the integrator's system. + */ + external_id?: string; + /** + * This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + started_at?: string; + /** + * The current status. Can be one of `queued`, `in_progress`, or `completed`. + */ + status?: "queued" | "in_progress" | "completed"; + /** + * **Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. Can be one of `success`, `failure`, `neutral`, `cancelled`, `skipped`, `timed_out`, or `action_required`. + * **Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. Only GitHub can change a check run conclusion to `stale`. + */ + conclusion?: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required"; + /** + * The time the check completed. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + completed_at?: string; + /** + * Check runs can accept a variety of data in the `output` object, including a `title` and `summary` and can optionally provide descriptive details about the run. See the [`output` object](https://developer.github.com/v3/checks/runs/#output-object-1) description. + */ + output?: ChecksUpdateParamsOutput; + /** + * Possible further actions the integrator can perform, which a user may trigger. Each action includes a `label`, `identifier` and `description`. A maximum of three actions are accepted. See the [`actions` object](https://developer.github.com/v3/checks/runs/#actions-object) description. To learn more about check runs and requested actions, see "[Check runs and requested actions](https://developer.github.com/v3/checks/runs/#check-runs-and-requested-actions)." + */ + actions?: ChecksUpdateParamsActions[]; +} & RequiredPreview<"antiope">; +declare type ChecksUpdateRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/check-runs/:check_run_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksUpdateResponseDataPullRequestsItemBaseRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksUpdateResponseDataPullRequestsItemBase = { + ref: string; + sha: string; + repo: ChecksUpdateResponseDataPullRequestsItemBaseRepo; +}; +declare type ChecksUpdateResponseDataPullRequestsItemHeadRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksUpdateResponseDataPullRequestsItemHead = { + ref: string; + sha: string; + repo: ChecksUpdateResponseDataPullRequestsItemHeadRepo; +}; +declare type ChecksUpdateResponseDataPullRequestsItem = { + url: string; + id: number; + number: number; + head: ChecksUpdateResponseDataPullRequestsItemHead; + base: ChecksUpdateResponseDataPullRequestsItemBase; +}; +declare type ChecksUpdateResponseDataAppPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ChecksUpdateResponseDataAppOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ChecksUpdateResponseDataApp = { + id: number; + slug: string; + node_id: string; + owner: ChecksUpdateResponseDataAppOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ChecksUpdateResponseDataAppPermissions; + events: Array; +}; +declare type ChecksUpdateResponseDataCheckSuite = { + id: number; +}; +declare type ChecksUpdateResponseDataOutput = { + title: string; + summary: string; + text: string; + annotations_count: number; + annotations_url: string; +}; +declare type ChecksUpdateResponseData = { + id: number; + head_sha: string; + node_id: string; + external_id: string; + url: string; + html_url: string; + details_url: string; + status: string; + conclusion: string; + started_at: string; + completed_at: string; + output: ChecksUpdateResponseDataOutput; + name: string; + check_suite: ChecksUpdateResponseDataCheckSuite; + app: ChecksUpdateResponseDataApp; + pull_requests: Array; +}; +declare type ChecksGetEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * check_run_id parameter + */ + check_run_id: number; +} & RequiredPreview<"antiope">; +declare type ChecksGetRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/check-runs/:check_run_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksGetResponseDataPullRequestsItemBaseRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksGetResponseDataPullRequestsItemBase = { + ref: string; + sha: string; + repo: ChecksGetResponseDataPullRequestsItemBaseRepo; +}; +declare type ChecksGetResponseDataPullRequestsItemHeadRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksGetResponseDataPullRequestsItemHead = { + ref: string; + sha: string; + repo: ChecksGetResponseDataPullRequestsItemHeadRepo; +}; +declare type ChecksGetResponseDataPullRequestsItem = { + url: string; + id: number; + number: number; + head: ChecksGetResponseDataPullRequestsItemHead; + base: ChecksGetResponseDataPullRequestsItemBase; +}; +declare type ChecksGetResponseDataAppPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ChecksGetResponseDataAppOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ChecksGetResponseDataApp = { + id: number; + slug: string; + node_id: string; + owner: ChecksGetResponseDataAppOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ChecksGetResponseDataAppPermissions; + events: Array; +}; +declare type ChecksGetResponseDataCheckSuite = { + id: number; +}; +declare type ChecksGetResponseDataOutput = { + title: string; + summary: string; + text: string; + annotations_count: number; + annotations_url: string; +}; +declare type ChecksGetResponseData = { + id: number; + head_sha: string; + node_id: string; + external_id: string; + url: string; + html_url: string; + details_url: string; + status: string; + conclusion: string; + started_at: string; + completed_at: string; + output: ChecksGetResponseDataOutput; + name: string; + check_suite: ChecksGetResponseDataCheckSuite; + app: ChecksGetResponseDataApp; + pull_requests: Array; +}; +declare type ChecksListAnnotationsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * check_run_id parameter + */ + check_run_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"antiope">; +declare type ChecksListAnnotationsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/check-runs/:check_run_id/annotations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksListAnnotationsResponseDataItem = { + path: string; + start_line: number; + end_line: number; + start_column: number; + end_column: number; + annotation_level: string; + title: string; + message: string; + raw_details: string; +}; +declare type ChecksListAnnotationsResponseData = Array; +declare type ChecksCreateSuiteEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The sha of the head commit. + */ + head_sha: string; +} & RequiredPreview<"antiope">; +declare type ChecksCreateSuiteRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/check-suites"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksCreateSuiteResponseDataRepositoryPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ChecksCreateSuiteResponseDataRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ChecksCreateSuiteResponseDataRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ChecksCreateSuiteResponseDataRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ChecksCreateSuiteResponseDataRepositoryPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ChecksCreateSuiteResponseDataAppPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ChecksCreateSuiteResponseDataAppOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ChecksCreateSuiteResponseDataApp = { + id: number; + slug: string; + node_id: string; + owner: ChecksCreateSuiteResponseDataAppOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ChecksCreateSuiteResponseDataAppPermissions; + events: Array; +}; +declare type ChecksCreateSuiteResponseData = { + id: number; + node_id: string; + head_branch: string; + head_sha: string; + status: string; + conclusion: string; + url: string; + before: string; + after: string; + pull_requests: Array; + app: ChecksCreateSuiteResponseDataApp; + repository: ChecksCreateSuiteResponseDataRepository; +}; +declare type ChecksSetSuitesPreferencesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Enables or disables automatic creation of CheckSuite events upon pushes to the repository. Enabled by default. See the [`auto_trigger_checks` object](https://developer.github.com/v3/checks/suites/#auto_trigger_checks-object) description for details. + */ + auto_trigger_checks?: ChecksSetSuitesPreferencesParamsAutoTriggerChecks[]; +} & RequiredPreview<"antiope">; +declare type ChecksSetSuitesPreferencesRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/check-suites/preferences"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksSetSuitesPreferencesResponseDataRepositoryPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ChecksSetSuitesPreferencesResponseDataRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ChecksSetSuitesPreferencesResponseDataRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ChecksSetSuitesPreferencesResponseDataRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ChecksSetSuitesPreferencesResponseDataRepositoryPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ChecksSetSuitesPreferencesResponseDataPreferencesAutoTriggerChecksItem = { + app_id: number; + setting: boolean; +}; +declare type ChecksSetSuitesPreferencesResponseDataPreferences = { + auto_trigger_checks: Array; +}; +declare type ChecksSetSuitesPreferencesResponseData = { + preferences: ChecksSetSuitesPreferencesResponseDataPreferences; + repository: ChecksSetSuitesPreferencesResponseDataRepository; +}; +declare type ChecksGetSuiteEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * check_suite_id parameter + */ + check_suite_id: number; +} & RequiredPreview<"antiope">; +declare type ChecksGetSuiteRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/check-suites/:check_suite_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksGetSuiteResponseDataRepositoryPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ChecksGetSuiteResponseDataRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ChecksGetSuiteResponseDataRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ChecksGetSuiteResponseDataRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ChecksGetSuiteResponseDataRepositoryPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ChecksGetSuiteResponseDataAppPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ChecksGetSuiteResponseDataAppOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ChecksGetSuiteResponseDataApp = { + id: number; + slug: string; + node_id: string; + owner: ChecksGetSuiteResponseDataAppOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ChecksGetSuiteResponseDataAppPermissions; + events: Array; +}; +declare type ChecksGetSuiteResponseData = { + id: number; + node_id: string; + head_branch: string; + head_sha: string; + status: string; + conclusion: string; + url: string; + before: string; + after: string; + pull_requests: Array; + app: ChecksGetSuiteResponseDataApp; + repository: ChecksGetSuiteResponseDataRepository; +}; +declare type ChecksListForSuiteEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * check_suite_id parameter + */ + check_suite_id: number; + /** + * Returns check runs with the specified `name`. + */ + check_name?: string; + /** + * Returns check runs with the specified `status`. Can be one of `queued`, `in_progress`, or `completed`. + */ + status?: "queued" | "in_progress" | "completed"; + /** + * Filters check runs by their `completed_at` timestamp. Can be one of `latest` (returning the most recent check runs) or `all`. + */ + filter?: "latest" | "all"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"antiope">; +declare type ChecksListForSuiteRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/check-suites/:check_suite_id/check-runs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemPullRequestsItemBaseRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemPullRequestsItemBase = { + ref: string; + sha: string; + repo: ChecksListForSuiteResponseDataCheckRunsItemPullRequestsItemBaseRepo; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemPullRequestsItemHeadRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemPullRequestsItemHead = { + ref: string; + sha: string; + repo: ChecksListForSuiteResponseDataCheckRunsItemPullRequestsItemHeadRepo; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemPullRequestsItem = { + url: string; + id: number; + number: number; + head: ChecksListForSuiteResponseDataCheckRunsItemPullRequestsItemHead; + base: ChecksListForSuiteResponseDataCheckRunsItemPullRequestsItemBase; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemAppPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemAppOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemApp = { + id: number; + slug: string; + node_id: string; + owner: ChecksListForSuiteResponseDataCheckRunsItemAppOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ChecksListForSuiteResponseDataCheckRunsItemAppPermissions; + events: Array; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemCheckSuite = { + id: number; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemOutput = { + title: string; + summary: string; + text: string; + annotations_count: number; + annotations_url: string; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItem = { + id: number; + head_sha: string; + node_id: string; + external_id: string; + url: string; + html_url: string; + details_url: string; + status: string; + conclusion: string; + started_at: string; + completed_at: string; + output: ChecksListForSuiteResponseDataCheckRunsItemOutput; + name: string; + check_suite: ChecksListForSuiteResponseDataCheckRunsItemCheckSuite; + app: ChecksListForSuiteResponseDataCheckRunsItemApp; + pull_requests: Array; +}; +declare type ChecksListForSuiteResponseData = { + total_count: number; + check_runs: Array; +}; +declare type ChecksRerequestSuiteEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * check_suite_id parameter + */ + check_suite_id: number; +} & RequiredPreview<"antiope">; +declare type ChecksRerequestSuiteRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/check-suites/:check_suite_id/rerequest"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type CodeScanningListAlertsForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Set to `closed` to list only closed code scanning alerts. + */ + state?: string; + /** + * Returns a list of code scanning alerts for a specific brach reference. The `ref` must be formatted as `heads/`. + */ + ref?: string; +}; +declare type CodeScanningListAlertsForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/code-scanning/alerts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type CodeScanningListAlertsForRepoResponseDataItem = { + rule_id: string; + rule_severity: string; + rule_description: string; + tool: string; + created_at: string; + open: boolean; + closed_by: null; + closed_at: null; + url: string; + html_url: string; +}; +declare type CodeScanningListAlertsForRepoResponseData = Array; +declare type CodeScanningGetAlertEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * alert_id parameter + */ + alert_id: number; +}; +declare type CodeScanningGetAlertRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/code-scanning/alerts/:alert_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type CodeScanningGetAlertResponseData = { + rule_id: string; + rule_severity: string; + rule_description: string; + tool: string; + created_at: string; + open: boolean; + closed_by: null; + closed_at: null; + url: string; + html_url: string; +}; +declare type ReposListCollaboratorsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Filter collaborators returned by their affiliation. Can be one of: + * \* `outside`: All outside collaborators of an organization-owned repository. + * \* `direct`: All collaborators with permissions to an organization-owned repository, regardless of organization membership status. + * \* `all`: All collaborators the authenticated user can see. + */ + affiliation?: "outside" | "direct" | "all"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListCollaboratorsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/collaborators"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListCollaboratorsResponseDataItemPermissions = { + pull: boolean; + push: boolean; + admin: boolean; +}; +declare type ReposListCollaboratorsResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; + permissions: ReposListCollaboratorsResponseDataItemPermissions; +}; +declare type ReposListCollaboratorsResponseData = Array; +declare type ReposCheckCollaboratorEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * username parameter + */ + username: string; +}; +declare type ReposCheckCollaboratorRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/collaborators/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposAddCollaboratorEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * username parameter + */ + username: string; + /** + * The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: + * \* `pull` - can pull, but not push to or administer this repository. + * \* `push` - can pull and push, but not administer this repository. + * \* `admin` - can pull, push and administer this repository. + * \* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. + * \* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access. + */ + permission?: "pull" | "push" | "admin" | "maintain" | "triage"; +}; +declare type ReposAddCollaboratorRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/collaborators/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposAddCollaboratorResponseDataInviter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposAddCollaboratorResponseDataInvitee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposAddCollaboratorResponseDataRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposAddCollaboratorResponseDataRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposAddCollaboratorResponseDataRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ReposAddCollaboratorResponseData = { + id: number; + repository: ReposAddCollaboratorResponseDataRepository; + invitee: ReposAddCollaboratorResponseDataInvitee; + inviter: ReposAddCollaboratorResponseDataInviter; + permissions: string; + created_at: string; + url: string; + html_url: string; +}; +declare type ReposRemoveCollaboratorEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * username parameter + */ + username: string; +}; +declare type ReposRemoveCollaboratorRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/collaborators/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetCollaboratorPermissionLevelEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * username parameter + */ + username: string; +}; +declare type ReposGetCollaboratorPermissionLevelRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/collaborators/:username/permission"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetCollaboratorPermissionLevelResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetCollaboratorPermissionLevelResponseData = { + permission: string; + user: ReposGetCollaboratorPermissionLevelResponseDataUser; +}; +declare type ReposListCommitCommentsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListCommitCommentsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListCommitCommentsResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListCommitCommentsResponseDataItem = { + html_url: string; + url: string; + id: number; + node_id: string; + body: string; + path: string; + position: number; + line: number; + commit_id: string; + user: ReposListCommitCommentsResponseDataItemUser; + created_at: string; + updated_at: string; +}; +declare type ReposListCommitCommentsResponseData = Array; +declare type ReposGetCommitCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; +}; +declare type ReposGetCommitCommentRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetCommitCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetCommitCommentResponseData = { + html_url: string; + url: string; + id: number; + node_id: string; + body: string; + path: string; + position: number; + line: number; + commit_id: string; + user: ReposGetCommitCommentResponseDataUser; + created_at: string; + updated_at: string; +}; +declare type ReposUpdateCommitCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * The contents of the comment + */ + body: string; +}; +declare type ReposUpdateCommitCommentRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateCommitCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateCommitCommentResponseData = { + html_url: string; + url: string; + id: number; + node_id: string; + body: string; + path: string; + position: number; + line: number; + commit_id: string; + user: ReposUpdateCommitCommentResponseDataUser; + created_at: string; + updated_at: string; +}; +declare type ReposDeleteCommitCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; +}; +declare type ReposDeleteCommitCommentRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForCommitCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to a commit comment. + */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsListForCommitCommentRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/comments/:comment_id/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForCommitCommentResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsListForCommitCommentResponseDataItem = { + id: number; + node_id: string; + user: ReactionsListForCommitCommentResponseDataItemUser; + content: string; + created_at: string; +}; +declare type ReactionsListForCommitCommentResponseData = Array; +declare type ReactionsCreateForCommitCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the commit comment. + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsCreateForCommitCommentRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/comments/:comment_id/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsCreateForCommitCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsCreateForCommitCommentResponseData = { + id: number; + node_id: string; + user: ReactionsCreateForCommitCommentResponseDataUser; + content: string; + created_at: string; +}; +declare type ReactionsDeleteForCommitCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * reaction_id parameter + */ + reaction_id: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsDeleteForCommitCommentRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/comments/:comment_id/reactions/:reaction_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListCommitsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * SHA or branch to start listing commits from. Default: the repository’s default branch (usually `master`). + */ + sha?: string; + /** + * Only commits containing this file path will be returned. + */ + path?: string; + /** + * GitHub login or email address by which to filter by commit author. + */ + author?: string; + /** + * Only commits after this date will be returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; + /** + * Only commits before this date will be returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + until?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListCommitsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/commits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListCommitsResponseDataItemParentsItem = { + url: string; + sha: string; +}; +declare type ReposListCommitsResponseDataItemCommitter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListCommitsResponseDataItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListCommitsResponseDataItemCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type ReposListCommitsResponseDataItemCommitTree = { + url: string; + sha: string; +}; +declare type ReposListCommitsResponseDataItemCommitCommitter = { + name: string; + email: string; + date: string; +}; +declare type ReposListCommitsResponseDataItemCommitAuthor = { + name: string; + email: string; + date: string; +}; +declare type ReposListCommitsResponseDataItemCommit = { + url: string; + author: ReposListCommitsResponseDataItemCommitAuthor; + committer: ReposListCommitsResponseDataItemCommitCommitter; + message: string; + tree: ReposListCommitsResponseDataItemCommitTree; + comment_count: number; + verification: ReposListCommitsResponseDataItemCommitVerification; +}; +declare type ReposListCommitsResponseDataItem = { + url: string; + sha: string; + node_id: string; + html_url: string; + comments_url: string; + commit: ReposListCommitsResponseDataItemCommit; + author: ReposListCommitsResponseDataItemAuthor; + committer: ReposListCommitsResponseDataItemCommitter; + parents: Array; +}; +declare type ReposListCommitsResponseData = Array; +declare type ReposListBranchesForHeadCommitEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * commit_sha parameter + */ + commit_sha: string; +} & RequiredPreview<"groot">; +declare type ReposListBranchesForHeadCommitRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/commits/:commit_sha/branches-where-head"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListBranchesForHeadCommitResponseDataItemCommit = { + sha: string; + url: string; +}; +declare type ReposListBranchesForHeadCommitResponseDataItem = { + name: string; + commit: ReposListBranchesForHeadCommitResponseDataItemCommit; + protected: boolean; +}; +declare type ReposListBranchesForHeadCommitResponseData = Array; +declare type ReposListCommentsForCommitEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * commit_sha parameter + */ + commit_sha: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListCommentsForCommitRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/commits/:commit_sha/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListCommentsForCommitResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListCommentsForCommitResponseDataItem = { + html_url: string; + url: string; + id: number; + node_id: string; + body: string; + path: string; + position: number; + line: number; + commit_id: string; + user: ReposListCommentsForCommitResponseDataItemUser; + created_at: string; + updated_at: string; +}; +declare type ReposListCommentsForCommitResponseData = Array; +declare type ReposCreateCommitCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * commit_sha parameter + */ + commit_sha: string; + /** + * The contents of the comment. + */ + body: string; + /** + * Relative path of the file to comment on. + */ + path?: string; + /** + * Line index in the diff to comment on. + */ + position?: number; + /** + * **Deprecated**. Use **position** parameter instead. Line number in the file to comment on. + */ + line?: number; +}; +declare type ReposCreateCommitCommentRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/commits/:commit_sha/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateCommitCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateCommitCommentResponseData = { + html_url: string; + url: string; + id: number; + node_id: string; + body: string; + path: string; + position: number; + line: number; + commit_id: string; + user: ReposCreateCommitCommentResponseDataUser; + created_at: string; + updated_at: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * commit_sha parameter + */ + commit_sha: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"groot">; +declare type ReposListPullRequestsAssociatedWithCommitRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/commits/:commit_sha/pulls"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksStatuses = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksCommits = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksReviewComment = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksReviewComments = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksComments = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksIssue = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksHtml = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksSelf = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLinks = { + self: ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksSelf; + html: ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksHtml; + issue: ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksIssue; + comments: ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksComments; + review_comments: ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksReviewComments; + review_comment: ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksReviewComment; + commits: ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksCommits; + statuses: ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksStatuses; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemBaseRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemBaseRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemBaseRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposListPullRequestsAssociatedWithCommitResponseDataItemBaseRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposListPullRequestsAssociatedWithCommitResponseDataItemBaseRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemBaseUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemBase = { + label: string; + ref: string; + sha: string; + user: ReposListPullRequestsAssociatedWithCommitResponseDataItemBaseUser; + repo: ReposListPullRequestsAssociatedWithCommitResponseDataItemBaseRepo; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemHeadRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemHeadRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemHeadRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposListPullRequestsAssociatedWithCommitResponseDataItemHeadRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposListPullRequestsAssociatedWithCommitResponseDataItemHeadRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemHeadUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemHead = { + label: string; + ref: string; + sha: string; + user: ReposListPullRequestsAssociatedWithCommitResponseDataItemHeadUser; + repo: ReposListPullRequestsAssociatedWithCommitResponseDataItemHeadRepo; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemRequestedTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemRequestedReviewersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: ReposListPullRequestsAssociatedWithCommitResponseDataItemMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItem = { + url: string; + id: number; + node_id: string; + html_url: string; + diff_url: string; + patch_url: string; + issue_url: string; + commits_url: string; + review_comments_url: string; + review_comment_url: string; + comments_url: string; + statuses_url: string; + number: number; + state: string; + locked: boolean; + title: string; + user: ReposListPullRequestsAssociatedWithCommitResponseDataItemUser; + body: string; + labels: Array; + milestone: ReposListPullRequestsAssociatedWithCommitResponseDataItemMilestone; + active_lock_reason: string; + created_at: string; + updated_at: string; + closed_at: string; + merged_at: string; + merge_commit_sha: string; + assignee: ReposListPullRequestsAssociatedWithCommitResponseDataItemAssignee; + assignees: Array; + requested_reviewers: Array; + requested_teams: Array; + head: ReposListPullRequestsAssociatedWithCommitResponseDataItemHead; + base: ReposListPullRequestsAssociatedWithCommitResponseDataItemBase; + _links: ReposListPullRequestsAssociatedWithCommitResponseDataItemLinks; + author_association: string; + draft: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseData = Array; +declare type ReposGetCommitEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * ref parameter + */ + ref: string; +}; +declare type ReposGetCommitRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/commits/:ref"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetCommitResponseDataFilesItem = { + filename: string; + additions: number; + deletions: number; + changes: number; + status: string; + raw_url: string; + blob_url: string; + patch: string; +}; +declare type ReposGetCommitResponseDataStats = { + additions: number; + deletions: number; + total: number; +}; +declare type ReposGetCommitResponseDataParentsItem = { + url: string; + sha: string; +}; +declare type ReposGetCommitResponseDataCommitter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetCommitResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetCommitResponseDataCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type ReposGetCommitResponseDataCommitTree = { + url: string; + sha: string; +}; +declare type ReposGetCommitResponseDataCommitCommitter = { + name: string; + email: string; + date: string; +}; +declare type ReposGetCommitResponseDataCommitAuthor = { + name: string; + email: string; + date: string; +}; +declare type ReposGetCommitResponseDataCommit = { + url: string; + author: ReposGetCommitResponseDataCommitAuthor; + committer: ReposGetCommitResponseDataCommitCommitter; + message: string; + tree: ReposGetCommitResponseDataCommitTree; + comment_count: number; + verification: ReposGetCommitResponseDataCommitVerification; +}; +declare type ReposGetCommitResponseData = { + url: string; + sha: string; + node_id: string; + html_url: string; + comments_url: string; + commit: ReposGetCommitResponseDataCommit; + author: ReposGetCommitResponseDataAuthor; + committer: ReposGetCommitResponseDataCommitter; + parents: Array; + stats: ReposGetCommitResponseDataStats; + files: Array; +}; +declare type ChecksListForRefEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * ref parameter + */ + ref: string; + /** + * Returns check runs with the specified `name`. + */ + check_name?: string; + /** + * Returns check runs with the specified `status`. Can be one of `queued`, `in_progress`, or `completed`. + */ + status?: "queued" | "in_progress" | "completed"; + /** + * Filters check runs by their `completed_at` timestamp. Can be one of `latest` (returning the most recent check runs) or `all`. + */ + filter?: "latest" | "all"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"antiope">; +declare type ChecksListForRefRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/commits/:ref/check-runs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksListForRefResponseDataCheckRunsItemPullRequestsItemBaseRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksListForRefResponseDataCheckRunsItemPullRequestsItemBase = { + ref: string; + sha: string; + repo: ChecksListForRefResponseDataCheckRunsItemPullRequestsItemBaseRepo; +}; +declare type ChecksListForRefResponseDataCheckRunsItemPullRequestsItemHeadRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksListForRefResponseDataCheckRunsItemPullRequestsItemHead = { + ref: string; + sha: string; + repo: ChecksListForRefResponseDataCheckRunsItemPullRequestsItemHeadRepo; +}; +declare type ChecksListForRefResponseDataCheckRunsItemPullRequestsItem = { + url: string; + id: number; + number: number; + head: ChecksListForRefResponseDataCheckRunsItemPullRequestsItemHead; + base: ChecksListForRefResponseDataCheckRunsItemPullRequestsItemBase; +}; +declare type ChecksListForRefResponseDataCheckRunsItemAppPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ChecksListForRefResponseDataCheckRunsItemAppOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ChecksListForRefResponseDataCheckRunsItemApp = { + id: number; + slug: string; + node_id: string; + owner: ChecksListForRefResponseDataCheckRunsItemAppOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ChecksListForRefResponseDataCheckRunsItemAppPermissions; + events: Array; +}; +declare type ChecksListForRefResponseDataCheckRunsItemCheckSuite = { + id: number; +}; +declare type ChecksListForRefResponseDataCheckRunsItemOutput = { + title: string; + summary: string; + text: string; + annotations_count: number; + annotations_url: string; +}; +declare type ChecksListForRefResponseDataCheckRunsItem = { + id: number; + head_sha: string; + node_id: string; + external_id: string; + url: string; + html_url: string; + details_url: string; + status: string; + conclusion: string; + started_at: string; + completed_at: string; + output: ChecksListForRefResponseDataCheckRunsItemOutput; + name: string; + check_suite: ChecksListForRefResponseDataCheckRunsItemCheckSuite; + app: ChecksListForRefResponseDataCheckRunsItemApp; + pull_requests: Array; +}; +declare type ChecksListForRefResponseData = { + total_count: number; + check_runs: Array; +}; +declare type ChecksListSuitesForRefEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * ref parameter + */ + ref: string; + /** + * Filters check suites by GitHub App `id`. + */ + app_id?: number; + /** + * Filters checks suites by the name of the [check run](https://developer.github.com/v3/checks/runs/). + */ + check_name?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"antiope">; +declare type ChecksListSuitesForRefRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/commits/:ref/check-suites"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksListSuitesForRefResponseDataCheckSuitesItemRepositoryPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ChecksListSuitesForRefResponseDataCheckSuitesItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ChecksListSuitesForRefResponseDataCheckSuitesItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ChecksListSuitesForRefResponseDataCheckSuitesItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ChecksListSuitesForRefResponseDataCheckSuitesItemRepositoryPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ChecksListSuitesForRefResponseDataCheckSuitesItemAppPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ChecksListSuitesForRefResponseDataCheckSuitesItemAppOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ChecksListSuitesForRefResponseDataCheckSuitesItemApp = { + id: number; + slug: string; + node_id: string; + owner: ChecksListSuitesForRefResponseDataCheckSuitesItemAppOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ChecksListSuitesForRefResponseDataCheckSuitesItemAppPermissions; + events: Array; +}; +declare type ChecksListSuitesForRefResponseDataCheckSuitesItem = { + id: number; + node_id: string; + head_branch: string; + head_sha: string; + status: string; + conclusion: string; + url: string; + before: string; + after: string; + pull_requests: Array; + app: ChecksListSuitesForRefResponseDataCheckSuitesItemApp; + repository: ChecksListSuitesForRefResponseDataCheckSuitesItemRepository; +}; +declare type ChecksListSuitesForRefResponseData = { + total_count: number; + check_suites: Array; +}; +declare type ReposGetCombinedStatusForRefEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * ref parameter + */ + ref: string; +}; +declare type ReposGetCombinedStatusForRefRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/commits/:ref/status"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetCombinedStatusForRefResponseDataRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetCombinedStatusForRefResponseDataRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposGetCombinedStatusForRefResponseDataRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ReposGetCombinedStatusForRefResponseDataStatusesItem = { + url: string; + avatar_url: string; + id: number; + node_id: string; + state: string; + description: string; + target_url: string; + context: string; + created_at: string; + updated_at: string; +}; +declare type ReposGetCombinedStatusForRefResponseData = { + state: string; + statuses: Array; + sha: string; + total_count: number; + repository: ReposGetCombinedStatusForRefResponseDataRepository; + commit_url: string; + url: string; +}; +declare type ReposListStatusesForRefEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * ref parameter + */ + ref: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListStatusesForRefRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/commits/:ref/statuses"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListStatusesForRefResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListStatusesForRefResponseDataItem = { + url: string; + avatar_url: string; + id: number; + node_id: string; + state: string; + description: string; + target_url: string; + context: string; + created_at: string; + updated_at: string; + creator: ReposListStatusesForRefResponseDataItemCreator; +}; +declare type ReposListStatusesForRefResponseData = Array; +declare type CodesOfConductGetForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"scarlet-witch">; +declare type CodesOfConductGetForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/community/code_of_conduct"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type CodesOfConductGetForRepoResponseData = { + key: string; + name: string; + url: string; + body: string; +}; +declare type ReposRetrieveCommunityProfileMetricsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposRetrieveCommunityProfileMetricsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/community/profile"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseDataFilesReadme = { + url: string; + html_url: string; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseDataFilesLicense = { + name: string; + key: string; + spdx_id: string; + url: string; + html_url: string; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseDataFilesPullRequestTemplate = { + url: string; + html_url: string; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseDataFilesIssueTemplate = { + url: string; + html_url: string; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseDataFilesContributing = { + url: string; + html_url: string; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseDataFilesCodeOfConduct = { + name: string; + key: string; + url: string; + html_url: string; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseDataFiles = { + code_of_conduct: ReposRetrieveCommunityProfileMetricsResponseDataFilesCodeOfConduct; + contributing: ReposRetrieveCommunityProfileMetricsResponseDataFilesContributing; + issue_template: ReposRetrieveCommunityProfileMetricsResponseDataFilesIssueTemplate; + pull_request_template: ReposRetrieveCommunityProfileMetricsResponseDataFilesPullRequestTemplate; + license: ReposRetrieveCommunityProfileMetricsResponseDataFilesLicense; + readme: ReposRetrieveCommunityProfileMetricsResponseDataFilesReadme; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseData = { + health_percentage: number; + description: string; + documentation: boolean; + files: ReposRetrieveCommunityProfileMetricsResponseDataFiles; + updated_at: string; +}; +declare type ReposCompareCommitsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * base parameter + */ + base: string; + /** + * head parameter + */ + head: string; +}; +declare type ReposCompareCommitsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/compare/:base...:head"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCompareCommitsResponseDataFilesItem = { + sha: string; + filename: string; + status: string; + additions: number; + deletions: number; + changes: number; + blob_url: string; + raw_url: string; + contents_url: string; + patch: string; +}; +declare type ReposCompareCommitsResponseDataCommitsItemParentsItem = { + url: string; + sha: string; +}; +declare type ReposCompareCommitsResponseDataCommitsItemCommitter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCompareCommitsResponseDataCommitsItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCompareCommitsResponseDataCommitsItemCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type ReposCompareCommitsResponseDataCommitsItemCommitTree = { + url: string; + sha: string; +}; +declare type ReposCompareCommitsResponseDataCommitsItemCommitCommitter = { + name: string; + email: string; + date: string; +}; +declare type ReposCompareCommitsResponseDataCommitsItemCommitAuthor = { + name: string; + email: string; + date: string; +}; +declare type ReposCompareCommitsResponseDataCommitsItemCommit = { + url: string; + author: ReposCompareCommitsResponseDataCommitsItemCommitAuthor; + committer: ReposCompareCommitsResponseDataCommitsItemCommitCommitter; + message: string; + tree: ReposCompareCommitsResponseDataCommitsItemCommitTree; + comment_count: number; + verification: ReposCompareCommitsResponseDataCommitsItemCommitVerification; +}; +declare type ReposCompareCommitsResponseDataCommitsItem = { + url: string; + sha: string; + node_id: string; + html_url: string; + comments_url: string; + commit: ReposCompareCommitsResponseDataCommitsItemCommit; + author: ReposCompareCommitsResponseDataCommitsItemAuthor; + committer: ReposCompareCommitsResponseDataCommitsItemCommitter; + parents: Array; +}; +declare type ReposCompareCommitsResponseDataMergeBaseCommitParentsItem = { + url: string; + sha: string; +}; +declare type ReposCompareCommitsResponseDataMergeBaseCommitCommitter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCompareCommitsResponseDataMergeBaseCommitAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCompareCommitsResponseDataMergeBaseCommitCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type ReposCompareCommitsResponseDataMergeBaseCommitCommitTree = { + url: string; + sha: string; +}; +declare type ReposCompareCommitsResponseDataMergeBaseCommitCommitCommitter = { + name: string; + email: string; + date: string; +}; +declare type ReposCompareCommitsResponseDataMergeBaseCommitCommitAuthor = { + name: string; + email: string; + date: string; +}; +declare type ReposCompareCommitsResponseDataMergeBaseCommitCommit = { + url: string; + author: ReposCompareCommitsResponseDataMergeBaseCommitCommitAuthor; + committer: ReposCompareCommitsResponseDataMergeBaseCommitCommitCommitter; + message: string; + tree: ReposCompareCommitsResponseDataMergeBaseCommitCommitTree; + comment_count: number; + verification: ReposCompareCommitsResponseDataMergeBaseCommitCommitVerification; +}; +declare type ReposCompareCommitsResponseDataMergeBaseCommit = { + url: string; + sha: string; + node_id: string; + html_url: string; + comments_url: string; + commit: ReposCompareCommitsResponseDataMergeBaseCommitCommit; + author: ReposCompareCommitsResponseDataMergeBaseCommitAuthor; + committer: ReposCompareCommitsResponseDataMergeBaseCommitCommitter; + parents: Array; +}; +declare type ReposCompareCommitsResponseDataBaseCommitParentsItem = { + url: string; + sha: string; +}; +declare type ReposCompareCommitsResponseDataBaseCommitCommitter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCompareCommitsResponseDataBaseCommitAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCompareCommitsResponseDataBaseCommitCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type ReposCompareCommitsResponseDataBaseCommitCommitTree = { + url: string; + sha: string; +}; +declare type ReposCompareCommitsResponseDataBaseCommitCommitCommitter = { + name: string; + email: string; + date: string; +}; +declare type ReposCompareCommitsResponseDataBaseCommitCommitAuthor = { + name: string; + email: string; + date: string; +}; +declare type ReposCompareCommitsResponseDataBaseCommitCommit = { + url: string; + author: ReposCompareCommitsResponseDataBaseCommitCommitAuthor; + committer: ReposCompareCommitsResponseDataBaseCommitCommitCommitter; + message: string; + tree: ReposCompareCommitsResponseDataBaseCommitCommitTree; + comment_count: number; + verification: ReposCompareCommitsResponseDataBaseCommitCommitVerification; +}; +declare type ReposCompareCommitsResponseDataBaseCommit = { + url: string; + sha: string; + node_id: string; + html_url: string; + comments_url: string; + commit: ReposCompareCommitsResponseDataBaseCommitCommit; + author: ReposCompareCommitsResponseDataBaseCommitAuthor; + committer: ReposCompareCommitsResponseDataBaseCommitCommitter; + parents: Array; +}; +declare type ReposCompareCommitsResponseData = { + url: string; + html_url: string; + permalink_url: string; + diff_url: string; + patch_url: string; + base_commit: ReposCompareCommitsResponseDataBaseCommit; + merge_base_commit: ReposCompareCommitsResponseDataMergeBaseCommit; + status: string; + ahead_by: number; + behind_by: number; + total_commits: number; + commits: Array; + files: Array; +}; +declare type ReposGetContentsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * path parameter + */ + path: string; + /** + * The name of the commit/branch/tag. Default: the repository’s default branch (usually `master`) + */ + ref?: string; +}; +declare type ReposGetContentsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/contents/:path"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetContentsResponseDataItemLinks = { + self: string; + git: string; + html: string; +}; +declare type ReposGetContentsResponseDataItem = { + type: string; + size: number; + name: string; + path: string; + sha: string; + url: string; + git_url: string; + html_url: string; + download_url: string | null; + _links: ReposGetContentsResponseDataItemLinks; +}; +declare type ReposGetContentsResponseDataLinks = { + git: string; + self: string; + html: string; +}; +declare type ReposGetContentsResponseData = { + type: string; + encoding?: string; + size: number; + name: string; + path: string; + content?: string; + sha: string; + url: string; + git_url: string; + html_url: string; + download_url: string | null; + _links: ReposGetContentsResponseDataLinks; + target?: string; + submodule_git_url?: string; +} | Array; +declare type ReposCreateOrUpdateFileEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * path parameter + */ + path: string; + /** + * The commit message. + */ + message: string; + /** + * The new file content, using Base64 encoding. + */ + content: string; + /** + * **Required if you are updating a file**. The blob SHA of the file being replaced. + */ + sha?: string; + /** + * The branch name. Default: the repository’s default branch (usually `master`) + */ + branch?: string; + /** + * The person that committed the file. Default: the authenticated user. + */ + committer?: ReposCreateOrUpdateFileParamsCommitter; + /** + * The author of the file. Default: The `committer` or the authenticated user if you omit `committer`. + */ + author?: ReposCreateOrUpdateFileParamsAuthor; +}; +declare type ReposCreateOrUpdateFileRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/contents/:path"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateOrUpdateFileResponseDataCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type ReposCreateOrUpdateFileResponseDataCommitParentsItem = { + url: string; + html_url: string; + sha: string; +}; +declare type ReposCreateOrUpdateFileResponseDataCommitTree = { + url: string; + sha: string; +}; +declare type ReposCreateOrUpdateFileResponseDataCommitCommitter = { + date: string; + name: string; + email: string; +}; +declare type ReposCreateOrUpdateFileResponseDataCommitAuthor = { + date: string; + name: string; + email: string; +}; +declare type ReposCreateOrUpdateFileResponseDataCommit = { + sha: string; + node_id: string; + url: string; + html_url: string; + author: ReposCreateOrUpdateFileResponseDataCommitAuthor; + committer: ReposCreateOrUpdateFileResponseDataCommitCommitter; + message: string; + tree: ReposCreateOrUpdateFileResponseDataCommitTree; + parents: Array; + verification: ReposCreateOrUpdateFileResponseDataCommitVerification; +}; +declare type ReposCreateOrUpdateFileResponseDataContentLinks = { + self: string; + git: string; + html: string; +}; +declare type ReposCreateOrUpdateFileResponseDataContent = { + name: string; + path: string; + sha: string; + size: number; + url: string; + html_url: string; + git_url: string; + download_url: string; + type: string; + _links: ReposCreateOrUpdateFileResponseDataContentLinks; +}; +declare type ReposCreateOrUpdateFileResponseData = { + content: ReposCreateOrUpdateFileResponseDataContent; + commit: ReposCreateOrUpdateFileResponseDataCommit; +}; +declare type ReposDeleteFileEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * path parameter + */ + path: string; + /** + * The commit message. + */ + message: string; + /** + * The blob SHA of the file being replaced. + */ + sha: string; + /** + * The branch name. Default: the repository’s default branch (usually `master`) + */ + branch?: string; + /** + * object containing information about the committer. + */ + committer?: ReposDeleteFileParamsCommitter; + /** + * object containing information about the author. + */ + author?: ReposDeleteFileParamsAuthor; +}; +declare type ReposDeleteFileRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/contents/:path"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposDeleteFileResponseDataCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type ReposDeleteFileResponseDataCommitParentsItem = { + url: string; + html_url: string; + sha: string; +}; +declare type ReposDeleteFileResponseDataCommitTree = { + url: string; + sha: string; +}; +declare type ReposDeleteFileResponseDataCommitCommitter = { + date: string; + name: string; + email: string; +}; +declare type ReposDeleteFileResponseDataCommitAuthor = { + date: string; + name: string; + email: string; +}; +declare type ReposDeleteFileResponseDataCommit = { + sha: string; + node_id: string; + url: string; + html_url: string; + author: ReposDeleteFileResponseDataCommitAuthor; + committer: ReposDeleteFileResponseDataCommitCommitter; + message: string; + tree: ReposDeleteFileResponseDataCommitTree; + parents: Array; + verification: ReposDeleteFileResponseDataCommitVerification; +}; +declare type ReposDeleteFileResponseData = { + content: null; + commit: ReposDeleteFileResponseDataCommit; +}; +declare type ReposListContributorsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Set to `1` or `true` to include anonymous contributors in results. + */ + anon?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListContributorsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/contributors"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListContributorsResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; + contributions: number; +}; +declare type ReposListContributorsResponseData = Array; +declare type ReposListDeploymentsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The SHA recorded at creation time. + */ + sha?: string; + /** + * The name of the ref. This can be a branch, tag, or SHA. + */ + ref?: string; + /** + * The name of the task for the deployment (e.g., `deploy` or `deploy:migrations`). + */ + task?: string; + /** + * The name of the environment that was deployed to (e.g., `staging` or `production`). + */ + environment?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListDeploymentsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/deployments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListDeploymentsResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListDeploymentsResponseDataItemPayload = { + deploy: string; +}; +declare type ReposListDeploymentsResponseDataItem = { + url: string; + id: number; + node_id: string; + sha: string; + ref: string; + task: string; + payload: ReposListDeploymentsResponseDataItemPayload; + original_environment: string; + environment: string; + description: string; + creator: ReposListDeploymentsResponseDataItemCreator; + created_at: string; + updated_at: string; + statuses_url: string; + repository_url: string; + transient_environment: boolean; + production_environment: boolean; +}; +declare type ReposListDeploymentsResponseData = Array; +declare type ReposCreateDeploymentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The ref to deploy. This can be a branch, tag, or SHA. + */ + ref: string; + /** + * Specifies a task to execute (e.g., `deploy` or `deploy:migrations`). + */ + task?: string; + /** + * Attempts to automatically merge the default branch into the requested ref, if it's behind the default branch. + */ + auto_merge?: boolean; + /** + * The [status](https://developer.github.com/v3/repos/statuses/) contexts to verify against commit status checks. If you omit this parameter, GitHub verifies all unique contexts before creating a deployment. To bypass checking entirely, pass an empty array. Defaults to all unique contexts. + */ + required_contexts?: string[]; + /** + * JSON payload with extra information about the deployment. + */ + payload?: string; + /** + * Name for the target deployment environment (e.g., `production`, `staging`, `qa`). + */ + environment?: string; + /** + * Short description of the deployment. + */ + description?: string; + /** + * Specifies if the given environment is specific to the deployment and will no longer exist at some point in the future. Default: `false` + * **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. + */ + transient_environment?: boolean; + /** + * Specifies if the given environment is one that end-users directly interact with. Default: `true` when `environment` is `production` and `false` otherwise. + * **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. + */ + production_environment?: boolean; +}; +declare type ReposCreateDeploymentRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/deployments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateDeploymentResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateDeploymentResponseDataPayload = { + deploy: string; +}; +declare type ReposCreateDeploymentResponseData = { + url: string; + id: number; + node_id: string; + sha: string; + ref: string; + task: string; + payload: ReposCreateDeploymentResponseDataPayload; + original_environment: string; + environment: string; + description: string; + creator: ReposCreateDeploymentResponseDataCreator; + created_at: string; + updated_at: string; + statuses_url: string; + repository_url: string; + transient_environment: boolean; + production_environment: boolean; +}; +declare type ReposGetDeploymentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * deployment_id parameter + */ + deployment_id: number; +}; +declare type ReposGetDeploymentRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/deployments/:deployment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetDeploymentResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetDeploymentResponseDataPayload = { + deploy: string; +}; +declare type ReposGetDeploymentResponseData = { + url: string; + id: number; + node_id: string; + sha: string; + ref: string; + task: string; + payload: ReposGetDeploymentResponseDataPayload; + original_environment: string; + environment: string; + description: string; + creator: ReposGetDeploymentResponseDataCreator; + created_at: string; + updated_at: string; + statuses_url: string; + repository_url: string; + transient_environment: boolean; + production_environment: boolean; +}; +declare type ReposDeleteDeploymentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * deployment_id parameter + */ + deployment_id: number; +}; +declare type ReposDeleteDeploymentRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/deployments/:deployment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListDeploymentStatusesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * deployment_id parameter + */ + deployment_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListDeploymentStatusesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/deployments/:deployment_id/statuses"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListDeploymentStatusesResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListDeploymentStatusesResponseDataItem = { + url: string; + id: number; + node_id: string; + state: string; + creator: ReposListDeploymentStatusesResponseDataItemCreator; + description: string; + environment: string; + target_url: string; + created_at: string; + updated_at: string; + deployment_url: string; + repository_url: string; + environment_url: string; + log_url: string; +}; +declare type ReposListDeploymentStatusesResponseData = Array; +declare type ReposCreateDeploymentStatusEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * deployment_id parameter + */ + deployment_id: number; + /** + * The state of the status. Can be one of `error`, `failure`, `inactive`, `in_progress`, `queued` `pending`, or `success`. **Note:** To use the `inactive` state, you must provide the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. To use the `in_progress` and `queued` states, you must provide the [`application/vnd.github.flash-preview+json`](https://developer.github.com/v3/previews/#deployment-statuses) custom media type. + */ + state: "error" | "failure" | "inactive" | "in_progress" | "queued" | "pending" | "success"; + /** + * The target URL to associate with this status. This URL should contain output to keep the user updated while the task is running or serve as historical information for what happened in the deployment. **Note:** It's recommended to use the `log_url` parameter, which replaces `target_url`. + */ + target_url?: string; + /** + * The full URL of the deployment's output. This parameter replaces `target_url`. We will continue to accept `target_url` to support legacy uses, but we recommend replacing `target_url` with `log_url`. Setting `log_url` will automatically set `target_url` to the same value. Default: `""` + * **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. + */ + log_url?: string; + /** + * A short description of the status. The maximum description length is 140 characters. + */ + description?: string; + /** + * Name for the target deployment environment, which can be changed when setting a deploy status. For example, `production`, `staging`, or `qa`. **Note:** This parameter requires you to use the [`application/vnd.github.flash-preview+json`](https://developer.github.com/v3/previews/#deployment-statuses) custom media type. + */ + environment?: "production" | "staging" | "qa"; + /** + * Sets the URL for accessing your environment. Default: `""` + * **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. + */ + environment_url?: string; + /** + * Adds a new `inactive` status to all prior non-transient, non-production environment deployments with the same repository and `environment` name as the created status's deployment. An `inactive` status is only added to deployments that had a `success` state. Default: `true` + * **Note:** To add an `inactive` status to `production` environments, you must use the [`application/vnd.github.flash-preview+json`](https://developer.github.com/v3/previews/#deployment-statuses) custom media type. + * **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. + */ + auto_inactive?: boolean; +}; +declare type ReposCreateDeploymentStatusRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/deployments/:deployment_id/statuses"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateDeploymentStatusResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateDeploymentStatusResponseData = { + url: string; + id: number; + node_id: string; + state: string; + creator: ReposCreateDeploymentStatusResponseDataCreator; + description: string; + environment: string; + target_url: string; + created_at: string; + updated_at: string; + deployment_url: string; + repository_url: string; + environment_url: string; + log_url: string; +}; +declare type ReposGetDeploymentStatusEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * deployment_id parameter + */ + deployment_id: number; + /** + * status_id parameter + */ + status_id: number; +}; +declare type ReposGetDeploymentStatusRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/deployments/:deployment_id/statuses/:status_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetDeploymentStatusResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetDeploymentStatusResponseData = { + url: string; + id: number; + node_id: string; + state: string; + creator: ReposGetDeploymentStatusResponseDataCreator; + description: string; + environment: string; + target_url: string; + created_at: string; + updated_at: string; + deployment_url: string; + repository_url: string; + environment_url: string; + log_url: string; +}; +declare type ReposCreateDispatchEventEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * **Required:** A custom webhook event name. + */ + event_type?: string; + /** + * JSON payload with extra information about the webhook event that your action or worklow may use. + */ + client_payload?: ReposCreateDispatchEventParamsClientPayload; +}; +declare type ReposCreateDispatchEventRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/dispatches"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListDownloadsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListDownloadsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/downloads"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListDownloadsResponseDataItem = { + url: string; + html_url: string; + id: number; + name: string; + description: string; + size: number; + download_count: number; + content_type: string; +}; +declare type ReposListDownloadsResponseData = Array; +declare type ReposGetDownloadEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * download_id parameter + */ + download_id: number; +}; +declare type ReposGetDownloadRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/downloads/:download_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetDownloadResponseData = { + url: string; + html_url: string; + id: number; + name: string; + description: string; + size: number; + download_count: number; + content_type: string; +}; +declare type ReposDeleteDownloadEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * download_id parameter + */ + download_id: number; +}; +declare type ReposDeleteDownloadRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/downloads/:download_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListRepoEventsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListRepoEventsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/events"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListForksEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The sort order. Can be either `newest`, `oldest`, or `stargazers`. + */ + sort?: "newest" | "oldest" | "stargazers"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListForksRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/forks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListForksResponseDataItemLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type ReposListForksResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposListForksResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListForksResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposListForksResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposListForksResponseDataItemPermissions; + template_repository: null; + temp_clone_token: string; + subscribers_count: number; + network_count: number; + license: ReposListForksResponseDataItemLicense; +}; +declare type ReposListForksResponseData = Array; +declare type ReposCreateForkEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Optional parameter to specify the organization name if forking into an organization. + */ + organization?: string; +}; +declare type ReposCreateForkRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/forks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateForkResponseDataPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposCreateForkResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateForkResponseData = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposCreateForkResponseDataOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposCreateForkResponseDataPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type GitCreateBlobEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The new blob's content. + */ + content: string; + /** + * The encoding used for `content`. Currently, `"utf-8"` and `"base64"` are supported. + */ + encoding?: string; +}; +declare type GitCreateBlobRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/git/blobs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitCreateBlobResponseData = { + url: string; + sha: string; +}; +declare type GitGetBlobEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * file_sha parameter + */ + file_sha: string; +}; +declare type GitGetBlobRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/git/blobs/:file_sha"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitGetBlobResponseData = { + content: string; + encoding: string; + url: string; + sha: string; + size: number; +}; +declare type GitCreateCommitEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The commit message + */ + message: string; + /** + * The SHA of the tree object this commit points to + */ + tree: string; + /** + * The SHAs of the commits that were the parents of this commit. If omitted or empty, the commit will be written as a root commit. For a single parent, an array of one SHA should be provided; for a merge commit, an array of more than one should be provided. + */ + parents: string[]; + /** + * Information about the author of the commit. By default, the `author` will be the authenticated user and the current date. See the `author` and `committer` object below for details. + */ + author?: GitCreateCommitParamsAuthor; + /** + * Information about the person who is making the commit. By default, `committer` will use the information set in `author`. See the `author` and `committer` object below for details. + */ + committer?: GitCreateCommitParamsCommitter; + /** + * The [PGP signature](https://en.wikipedia.org/wiki/Pretty_Good_Privacy) of the commit. GitHub adds the signature to the `gpgsig` header of the created commit. For a commit signature to be verifiable by Git or GitHub, it must be an ASCII-armored detached PGP signature over the string commit as it would be written to the object database. To pass a `signature` parameter, you need to first manually create a valid PGP signature, which can be complicated. You may find it easier to [use the command line](https://git-scm.com/book/id/v2/Git-Tools-Signing-Your-Work) to create signed commits. + */ + signature?: string; +}; +declare type GitCreateCommitRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/git/commits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitCreateCommitResponseDataVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type GitCreateCommitResponseDataParentsItem = { + url: string; + sha: string; +}; +declare type GitCreateCommitResponseDataTree = { + url: string; + sha: string; +}; +declare type GitCreateCommitResponseDataCommitter = { + date: string; + name: string; + email: string; +}; +declare type GitCreateCommitResponseDataAuthor = { + date: string; + name: string; + email: string; +}; +declare type GitCreateCommitResponseData = { + sha: string; + node_id: string; + url: string; + author: GitCreateCommitResponseDataAuthor; + committer: GitCreateCommitResponseDataCommitter; + message: string; + tree: GitCreateCommitResponseDataTree; + parents: Array; + verification: GitCreateCommitResponseDataVerification; +}; +declare type GitGetCommitEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * commit_sha parameter + */ + commit_sha: string; +}; +declare type GitGetCommitRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/git/commits/:commit_sha"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitGetCommitResponseDataVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type GitGetCommitResponseDataParentsItem = { + url: string; + sha: string; +}; +declare type GitGetCommitResponseDataTree = { + url: string; + sha: string; +}; +declare type GitGetCommitResponseDataCommitter = { + date: string; + name: string; + email: string; +}; +declare type GitGetCommitResponseDataAuthor = { + date: string; + name: string; + email: string; +}; +declare type GitGetCommitResponseData = { + sha: string; + url: string; + author: GitGetCommitResponseDataAuthor; + committer: GitGetCommitResponseDataCommitter; + message: string; + tree: GitGetCommitResponseDataTree; + parents: Array; + verification: GitGetCommitResponseDataVerification; +}; +declare type GitListMatchingRefsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * ref parameter + */ + ref: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type GitListMatchingRefsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/git/matching-refs/:ref"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitListMatchingRefsResponseDataItemObject = { + type: string; + sha: string; + url: string; +}; +declare type GitListMatchingRefsResponseDataItem = { + ref: string; + node_id: string; + url: string; + object: GitListMatchingRefsResponseDataItemObject; +}; +declare type GitListMatchingRefsResponseData = Array; +declare type GitGetRefEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * ref parameter + */ + ref: string; +}; +declare type GitGetRefRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/git/ref/:ref"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitGetRefResponseDataObject = { + type: string; + sha: string; + url: string; +}; +declare type GitGetRefResponseData = { + ref: string; + node_id: string; + url: string; + object: GitGetRefResponseDataObject; +}; +declare type GitCreateRefEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The name of the fully qualified reference (ie: `refs/heads/master`). If it doesn't start with 'refs' and have at least two slashes, it will be rejected. + */ + ref: string; + /** + * The SHA1 value for this reference. + */ + sha: string; +}; +declare type GitCreateRefRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/git/refs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitCreateRefResponseDataObject = { + type: string; + sha: string; + url: string; +}; +declare type GitCreateRefResponseData = { + ref: string; + node_id: string; + url: string; + object: GitCreateRefResponseDataObject; +}; +declare type GitUpdateRefEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * ref parameter + */ + ref: string; + /** + * The SHA1 value to set this reference to + */ + sha: string; + /** + * Indicates whether to force the update or to make sure the update is a fast-forward update. Leaving this out or setting it to `false` will make sure you're not overwriting work. + */ + force?: boolean; +}; +declare type GitUpdateRefRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/git/refs/:ref"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitUpdateRefResponseDataObject = { + type: string; + sha: string; + url: string; +}; +declare type GitUpdateRefResponseData = { + ref: string; + node_id: string; + url: string; + object: GitUpdateRefResponseDataObject; +}; +declare type GitDeleteRefEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * ref parameter + */ + ref: string; +}; +declare type GitDeleteRefRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/git/refs/:ref"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitCreateTagEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The tag's name. This is typically a version (e.g., "v0.0.1"). + */ + tag: string; + /** + * The tag message. + */ + message: string; + /** + * The SHA of the git object this is tagging. + */ + object: string; + /** + * The type of the object we're tagging. Normally this is a `commit` but it can also be a `tree` or a `blob`. + */ + type: "commit" | "tree" | "blob"; + /** + * An object with information about the individual creating the tag. + */ + tagger?: GitCreateTagParamsTagger; +}; +declare type GitCreateTagRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/git/tags"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitCreateTagResponseDataVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type GitCreateTagResponseDataObject = { + type: string; + sha: string; + url: string; +}; +declare type GitCreateTagResponseDataTagger = { + name: string; + email: string; + date: string; +}; +declare type GitCreateTagResponseData = { + node_id: string; + tag: string; + sha: string; + url: string; + message: string; + tagger: GitCreateTagResponseDataTagger; + object: GitCreateTagResponseDataObject; + verification: GitCreateTagResponseDataVerification; +}; +declare type GitGetTagEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * tag_sha parameter + */ + tag_sha: string; +}; +declare type GitGetTagRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/git/tags/:tag_sha"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitGetTagResponseDataVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type GitGetTagResponseDataObject = { + type: string; + sha: string; + url: string; +}; +declare type GitGetTagResponseDataTagger = { + name: string; + email: string; + date: string; +}; +declare type GitGetTagResponseData = { + node_id: string; + tag: string; + sha: string; + url: string; + message: string; + tagger: GitGetTagResponseDataTagger; + object: GitGetTagResponseDataObject; + verification: GitGetTagResponseDataVerification; +}; +declare type GitCreateTreeEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Objects (of `path`, `mode`, `type`, and `sha`) specifying a tree structure. + */ + tree: GitCreateTreeParamsTree[]; + /** + * The SHA1 of the tree you want to update with new data. If you don't set this, the commit will be created on top of everything; however, it will only contain your change, the rest of your files will show up as deleted. + */ + base_tree?: string; +}; +declare type GitCreateTreeRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/git/trees"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitCreateTreeResponseDataTreeItem = { + path: string; + mode: string; + type: string; + size: number; + sha: string; + url: string; +}; +declare type GitCreateTreeResponseData = { + sha: string; + url: string; + tree: Array; +}; +declare type GitGetTreeEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * tree_sha parameter + */ + tree_sha: string; + /** + * recursive parameter + */ + recursive?: "1"; +}; +declare type GitGetTreeRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/git/trees/:tree_sha"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitGetTreeResponseDataTreeItem = { + path: string; + mode: string; + type: string; + size?: number; + sha: string; + url: string; +}; +declare type GitGetTreeResponseData = { + sha: string; + url: string; + tree: Array; + truncated: boolean; +}; +declare type ReposListHooksEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListHooksRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/hooks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListHooksResponseDataItemLastResponse = { + code: null; + status: string; + message: null; +}; +declare type ReposListHooksResponseDataItemConfig = { + content_type: string; + insecure_ssl: string; + url: string; +}; +declare type ReposListHooksResponseDataItem = { + type: string; + id: number; + name: string; + active: boolean; + events: Array; + config: ReposListHooksResponseDataItemConfig; + updated_at: string; + created_at: string; + url: string; + test_url: string; + ping_url: string; + last_response: ReposListHooksResponseDataItemLastResponse; +}; +declare type ReposListHooksResponseData = Array; +declare type ReposCreateHookEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Use `web` to create a webhook. Default: `web`. This parameter only accepts the value `web`. + */ + name?: string; + /** + * Key/value pairs to provide settings for this webhook. [These are defined below](https://developer.github.com/v3/repos/hooks/#create-hook-config-params). + */ + config: ReposCreateHookParamsConfig; + /** + * Determines what [events](https://developer.github.com/v3/activity/events/types/) the hook is triggered for. + */ + events?: string[]; + /** + * Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + */ + active?: boolean; +}; +declare type ReposCreateHookRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/hooks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateHookResponseDataLastResponse = { + code: null; + status: string; + message: null; +}; +declare type ReposCreateHookResponseDataConfig = { + content_type: string; + insecure_ssl: string; + url: string; +}; +declare type ReposCreateHookResponseData = { + type: string; + id: number; + name: string; + active: boolean; + events: Array; + config: ReposCreateHookResponseDataConfig; + updated_at: string; + created_at: string; + url: string; + test_url: string; + ping_url: string; + last_response: ReposCreateHookResponseDataLastResponse; +}; +declare type ReposGetHookEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * hook_id parameter + */ + hook_id: number; +}; +declare type ReposGetHookRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/hooks/:hook_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetHookResponseDataLastResponse = { + code: null; + status: string; + message: null; +}; +declare type ReposGetHookResponseDataConfig = { + content_type: string; + insecure_ssl: string; + url: string; +}; +declare type ReposGetHookResponseData = { + type: string; + id: number; + name: string; + active: boolean; + events: Array; + config: ReposGetHookResponseDataConfig; + updated_at: string; + created_at: string; + url: string; + test_url: string; + ping_url: string; + last_response: ReposGetHookResponseDataLastResponse; +}; +declare type ReposUpdateHookEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * hook_id parameter + */ + hook_id: number; + /** + * Key/value pairs to provide settings for this webhook. [These are defined below](https://developer.github.com/v3/repos/hooks/#create-hook-config-params). + */ + config?: ReposUpdateHookParamsConfig; + /** + * Determines what [events](https://developer.github.com/v3/activity/events/types/) the hook is triggered for. This replaces the entire array of events. + */ + events?: string[]; + /** + * Determines a list of events to be added to the list of events that the Hook triggers for. + */ + add_events?: string[]; + /** + * Determines a list of events to be removed from the list of events that the Hook triggers for. + */ + remove_events?: string[]; + /** + * Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + */ + active?: boolean; +}; +declare type ReposUpdateHookRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/hooks/:hook_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateHookResponseDataLastResponse = { + code: null; + status: string; + message: null; +}; +declare type ReposUpdateHookResponseDataConfig = { + content_type: string; + insecure_ssl: string; + url: string; +}; +declare type ReposUpdateHookResponseData = { + type: string; + id: number; + name: string; + active: boolean; + events: Array; + config: ReposUpdateHookResponseDataConfig; + updated_at: string; + created_at: string; + url: string; + test_url: string; + ping_url: string; + last_response: ReposUpdateHookResponseDataLastResponse; +}; +declare type ReposDeleteHookEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * hook_id parameter + */ + hook_id: number; +}; +declare type ReposDeleteHookRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/hooks/:hook_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposPingHookEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * hook_id parameter + */ + hook_id: number; +}; +declare type ReposPingHookRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/hooks/:hook_id/pings"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposTestPushHookEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * hook_id parameter + */ + hook_id: number; +}; +declare type ReposTestPushHookRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/hooks/:hook_id/tests"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsStartImportEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The URL of the originating repository. + */ + vcs_url: string; + /** + * The originating VCS type. Can be one of `subversion`, `git`, `mercurial`, or `tfvc`. Please be aware that without this parameter, the import job will take additional time to detect the VCS type before beginning the import. This detection step will be reflected in the response. + */ + vcs?: "subversion" | "git" | "mercurial" | "tfvc"; + /** + * If authentication is required, the username to provide to `vcs_url`. + */ + vcs_username?: string; + /** + * If authentication is required, the password to provide to `vcs_url`. + */ + vcs_password?: string; + /** + * For a tfvc import, the name of the project that is being imported. + */ + tfvc_project?: string; +}; +declare type MigrationsStartImportRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/import"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsStartImportResponseData = { + vcs: string; + use_lfs: string; + vcs_url: string; + status: string; + status_text: string; + has_large_files: boolean; + large_files_size: number; + large_files_count: number; + authors_count: number; + percent: number; + commit_count: number; + url: string; + html_url: string; + authors_url: string; + repository_url: string; +}; +declare type MigrationsGetImportProgressEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type MigrationsGetImportProgressRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/import"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsGetImportProgressResponseData = { + vcs: string; + use_lfs: string; + vcs_url: string; + status: string; + status_text: string; + has_large_files: boolean; + large_files_size: number; + large_files_count: number; + authors_count: number; + url: string; + html_url: string; + authors_url: string; + repository_url: string; +}; +declare type MigrationsUpdateImportEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The username to provide to the originating repository. + */ + vcs_username?: string; + /** + * The password to provide to the originating repository. + */ + vcs_password?: string; +}; +declare type MigrationsUpdateImportRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/import"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsUpdateImportResponseData = { + vcs: string; + use_lfs: string; + vcs_url: string; + status: string; + url: string; + html_url: string; + authors_url: string; + repository_url: string; + tfvc_project?: string; + status_text?: string; + has_large_files?: boolean; + large_files_size?: number; + large_files_count?: number; + authors_count?: number; + percent?: number; + commit_count?: number; +}; +declare type MigrationsCancelImportEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type MigrationsCancelImportRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/import"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsGetCommitAuthorsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Only authors found after this id are returned. Provide the highest author ID you've seen so far. New authors may be added to the list at any point while the importer is performing the `raw` step. + */ + since?: string; +}; +declare type MigrationsGetCommitAuthorsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/import/authors"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsGetCommitAuthorsResponseDataItem = { + id: number; + remote_id: string; + remote_name: string; + email: string; + name: string; + url: string; + import_url: string; +}; +declare type MigrationsGetCommitAuthorsResponseData = Array; +declare type MigrationsMapCommitAuthorEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * author_id parameter + */ + author_id: number; + /** + * The new Git author email. + */ + email?: string; + /** + * The new Git author name. + */ + name?: string; +}; +declare type MigrationsMapCommitAuthorRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/import/authors/:author_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsMapCommitAuthorResponseData = { + id: number; + remote_id: string; + remote_name: string; + email: string; + name: string; + url: string; + import_url: string; +}; +declare type MigrationsGetLargeFilesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type MigrationsGetLargeFilesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/import/large_files"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsGetLargeFilesResponseDataItem = { + ref_name: string; + path: string; + oid: string; + size: number; +}; +declare type MigrationsGetLargeFilesResponseData = Array; +declare type MigrationsSetLfsPreferenceEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Can be one of `opt_in` (large files will be stored using Git LFS) or `opt_out` (large files will be removed during the import). + */ + use_lfs: "opt_in" | "opt_out"; +}; +declare type MigrationsSetLfsPreferenceRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/import/lfs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsSetLfsPreferenceResponseData = { + vcs: string; + use_lfs: string; + vcs_url: string; + status: string; + status_text: string; + has_large_files: boolean; + large_files_size: number; + large_files_count: number; + authors_count: number; + url: string; + html_url: string; + authors_url: string; + repository_url: string; +}; +declare type AppsGetRepoInstallationEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"machine-man">; +declare type AppsGetRepoInstallationRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/installation"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetRepoInstallationResponseDataPermissions = { + checks: string; + metadata: string; + contents: string; +}; +declare type AppsGetRepoInstallationResponseDataAccount = { + login: string; + id: number; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsGetRepoInstallationResponseData = { + id: number; + account: AppsGetRepoInstallationResponseDataAccount; + repository_selection: string; + access_tokens_url: string; + repositories_url: string; + html_url: string; + app_id: number; + target_id: number; + target_type: string; + permissions: AppsGetRepoInstallationResponseDataPermissions; + events: Array; + created_at: string; + updated_at: string; + single_file_name: null; +}; +declare type InteractionsGetRestrictionsForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"sombra">; +declare type InteractionsGetRestrictionsForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/interaction-limits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type InteractionsGetRestrictionsForRepoResponseData = { + limit: string; + origin: string; + expires_at: string; +}; +declare type InteractionsAddOrUpdateRestrictionsForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Specifies the group of GitHub users who can comment, open issues, or create pull requests for the given repository. Must be one of: `existing_users`, `contributors_only`, or `collaborators_only`. + */ + limit: "existing_users" | "contributors_only" | "collaborators_only"; +} & RequiredPreview<"sombra">; +declare type InteractionsAddOrUpdateRestrictionsForRepoRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/interaction-limits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type InteractionsAddOrUpdateRestrictionsForRepoResponseData = { + limit: string; + origin: string; + expires_at: string; +}; +declare type InteractionsRemoveRestrictionsForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"sombra">; +declare type InteractionsRemoveRestrictionsForRepoRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/interaction-limits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListInvitationsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListInvitationsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/invitations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListInvitationsResponseDataItemInviter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListInvitationsResponseDataItemInvitee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListInvitationsResponseDataItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListInvitationsResponseDataItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposListInvitationsResponseDataItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ReposListInvitationsResponseDataItem = { + id: number; + repository: ReposListInvitationsResponseDataItemRepository; + invitee: ReposListInvitationsResponseDataItemInvitee; + inviter: ReposListInvitationsResponseDataItemInviter; + permissions: string; + created_at: string; + url: string; + html_url: string; +}; +declare type ReposListInvitationsResponseData = Array; +declare type ReposDeleteInvitationEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * invitation_id parameter + */ + invitation_id: number; +}; +declare type ReposDeleteInvitationRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/invitations/:invitation_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateInvitationEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * invitation_id parameter + */ + invitation_id: number; + /** + * The permissions that the associated user will have on the repository. Valid values are `read`, `write`, `maintain`, `triage`, and `admin`. + */ + permissions?: "read" | "write" | "maintain" | "triage" | "admin"; +}; +declare type ReposUpdateInvitationRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/invitations/:invitation_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateInvitationResponseDataInviter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateInvitationResponseDataInvitee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateInvitationResponseDataRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateInvitationResponseDataRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposUpdateInvitationResponseDataRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ReposUpdateInvitationResponseData = { + id: number; + repository: ReposUpdateInvitationResponseDataRepository; + invitee: ReposUpdateInvitationResponseDataInvitee; + inviter: ReposUpdateInvitationResponseDataInviter; + permissions: string; + created_at: string; + url: string; + html_url: string; +}; +declare type IssuesListForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * If an `integer` is passed, it should refer to a milestone by its `number` field. If the string `*` is passed, issues with any milestone are accepted. If the string `none` is passed, issues without milestones are returned. + */ + milestone?: string; + /** + * Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + /** + * Can be the name of a user. Pass in `none` for issues with no assigned user, and `*` for issues assigned to any user. + */ + assignee?: string; + /** + * The user that created the issue. + */ + creator?: string; + /** + * A user that's mentioned in the issue. + */ + mentioned?: string; + /** + * A list of comma separated label names. Example: `bug,ui,@high` + */ + labels?: string; + /** + * What to sort results by. Can be either `created`, `updated`, `comments`. + */ + sort?: "created" | "updated" | "comments"; + /** + * The direction of the sort. Can be either `asc` or `desc`. + */ + direction?: "asc" | "desc"; + /** + * Only issues updated at or after this time are returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type IssuesListForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListForRepoResponseDataItemPullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesListForRepoResponseDataItemMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForRepoResponseDataItemMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesListForRepoResponseDataItemMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesListForRepoResponseDataItemAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForRepoResponseDataItemAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForRepoResponseDataItemLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesListForRepoResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForRepoResponseDataItem = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesListForRepoResponseDataItemUser; + labels: Array; + assignee: IssuesListForRepoResponseDataItemAssignee; + assignees: Array; + milestone: IssuesListForRepoResponseDataItemMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesListForRepoResponseDataItemPullRequest; + closed_at: null; + created_at: string; + updated_at: string; +}; +declare type IssuesListForRepoResponseData = Array; +declare type IssuesCreateEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The title of the issue. + */ + title: string; + /** + * The contents of the issue. + */ + body?: string; + /** + * Login for the user that this issue should be assigned to. _NOTE: Only users with push access can set the assignee for new issues. The assignee is silently dropped otherwise. **This field is deprecated.**_ + */ + assignee?: string; + /** + * The `number` of the milestone to associate this issue with. _NOTE: Only users with push access can set the milestone for new issues. The milestone is silently dropped otherwise._ + */ + milestone?: number; + /** + * Labels to associate with this issue. _NOTE: Only users with push access can set labels for new issues. Labels are silently dropped otherwise._ + */ + labels?: string[]; + /** + * Logins for Users to assign to this issue. _NOTE: Only users with push access can set assignees for new issues. Assignees are silently dropped otherwise._ + */ + assignees?: string[]; +}; +declare type IssuesCreateRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/issues"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesCreateResponseDataClosedBy = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesCreateResponseDataPullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesCreateResponseDataMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesCreateResponseDataMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesCreateResponseDataMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesCreateResponseDataAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesCreateResponseDataAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesCreateResponseDataLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesCreateResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesCreateResponseData = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesCreateResponseDataUser; + labels: Array; + assignee: IssuesCreateResponseDataAssignee; + assignees: Array; + milestone: IssuesCreateResponseDataMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesCreateResponseDataPullRequest; + closed_at: null; + created_at: string; + updated_at: string; + closed_by: IssuesCreateResponseDataClosedBy; +}; +declare type IssuesListCommentsForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Either `created` or `updated`. + */ + sort?: "created" | "updated"; + /** + * Either `asc` or `desc`. Ignored without the `sort` parameter. + */ + direction?: "asc" | "desc"; + /** + * Only comments updated at or after this time are returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type IssuesListCommentsForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListCommentsForRepoResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListCommentsForRepoResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + body: string; + user: IssuesListCommentsForRepoResponseDataItemUser; + created_at: string; + updated_at: string; +}; +declare type IssuesListCommentsForRepoResponseData = Array; +declare type IssuesGetCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; +}; +declare type IssuesGetCommentRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesGetCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetCommentResponseData = { + id: number; + node_id: string; + url: string; + html_url: string; + body: string; + user: IssuesGetCommentResponseDataUser; + created_at: string; + updated_at: string; +}; +declare type IssuesUpdateCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * The contents of the comment. + */ + body: string; +}; +declare type IssuesUpdateCommentRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/issues/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesUpdateCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesUpdateCommentResponseData = { + id: number; + node_id: string; + url: string; + html_url: string; + body: string; + user: IssuesUpdateCommentResponseDataUser; + created_at: string; + updated_at: string; +}; +declare type IssuesDeleteCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; +}; +declare type IssuesDeleteCommentRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/issues/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForIssueCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to an issue comment. + */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsListForIssueCommentRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/comments/:comment_id/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForIssueCommentResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsListForIssueCommentResponseDataItem = { + id: number; + node_id: string; + user: ReactionsListForIssueCommentResponseDataItemUser; + content: string; + created_at: string; +}; +declare type ReactionsListForIssueCommentResponseData = Array; +declare type ReactionsCreateForIssueCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the issue comment. + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsCreateForIssueCommentRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/issues/comments/:comment_id/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsCreateForIssueCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsCreateForIssueCommentResponseData = { + id: number; + node_id: string; + user: ReactionsCreateForIssueCommentResponseDataUser; + content: string; + created_at: string; +}; +declare type ReactionsDeleteForIssueCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * reaction_id parameter + */ + reaction_id: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsDeleteForIssueCommentRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/issues/comments/:comment_id/reactions/:reaction_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListEventsForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type IssuesListEventsForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/events"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListEventsForRepoResponseDataItemIssuePullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesListEventsForRepoResponseDataItemIssueMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListEventsForRepoResponseDataItemIssueMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesListEventsForRepoResponseDataItemIssueMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesListEventsForRepoResponseDataItemIssueAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListEventsForRepoResponseDataItemIssueAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListEventsForRepoResponseDataItemIssueLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesListEventsForRepoResponseDataItemIssueUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListEventsForRepoResponseDataItemIssue = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesListEventsForRepoResponseDataItemIssueUser; + labels: Array; + assignee: IssuesListEventsForRepoResponseDataItemIssueAssignee; + assignees: Array; + milestone: IssuesListEventsForRepoResponseDataItemIssueMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesListEventsForRepoResponseDataItemIssuePullRequest; + closed_at: null; + created_at: string; + updated_at: string; +}; +declare type IssuesListEventsForRepoResponseDataItemActor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListEventsForRepoResponseDataItem = { + id: number; + node_id: string; + url: string; + actor: IssuesListEventsForRepoResponseDataItemActor; + event: string; + commit_id: string; + commit_url: string; + created_at: string; + issue: IssuesListEventsForRepoResponseDataItemIssue; +}; +declare type IssuesListEventsForRepoResponseData = Array; +declare type IssuesGetEventEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * event_id parameter + */ + event_id: number; +}; +declare type IssuesGetEventRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/events/:event_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesGetEventResponseDataIssuePullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesGetEventResponseDataIssueMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetEventResponseDataIssueMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesGetEventResponseDataIssueMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesGetEventResponseDataIssueAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetEventResponseDataIssueAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetEventResponseDataIssueLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesGetEventResponseDataIssueUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetEventResponseDataIssue = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesGetEventResponseDataIssueUser; + labels: Array; + assignee: IssuesGetEventResponseDataIssueAssignee; + assignees: Array; + milestone: IssuesGetEventResponseDataIssueMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesGetEventResponseDataIssuePullRequest; + closed_at: null; + created_at: string; + updated_at: string; +}; +declare type IssuesGetEventResponseDataActor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetEventResponseData = { + id: number; + node_id: string; + url: string; + actor: IssuesGetEventResponseDataActor; + event: string; + commit_id: string; + commit_url: string; + created_at: string; + issue: IssuesGetEventResponseDataIssue; +}; +declare type IssuesGetEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; +}; +declare type IssuesGetRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/:issue_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesGetResponseDataClosedBy = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetResponseDataPullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesGetResponseDataMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetResponseDataMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesGetResponseDataMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesGetResponseDataAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetResponseDataAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetResponseDataLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesGetResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetResponseData = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesGetResponseDataUser; + labels: Array; + assignee: IssuesGetResponseDataAssignee; + assignees: Array; + milestone: IssuesGetResponseDataMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesGetResponseDataPullRequest; + closed_at: null; + created_at: string; + updated_at: string; + closed_by: IssuesGetResponseDataClosedBy; +}; +declare type IssuesUpdateEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * The title of the issue. + */ + title?: string; + /** + * The contents of the issue. + */ + body?: string; + /** + * Login for the user that this issue should be assigned to. **This field is deprecated.** + */ + assignee?: string; + /** + * State of the issue. Either `open` or `closed`. + */ + state?: "open" | "closed"; + /** + * The `number` of the milestone to associate this issue with or `null` to remove current. _NOTE: Only users with push access can set the milestone for issues. The milestone is silently dropped otherwise._ + */ + milestone?: number | null; + /** + * Labels to associate with this issue. Pass one or more Labels to _replace_ the set of Labels on this Issue. Send an empty array (`[]`) to clear all Labels from the Issue. _NOTE: Only users with push access can set labels for issues. Labels are silently dropped otherwise._ + */ + labels?: string[]; + /** + * Logins for Users to assign to this issue. Pass one or more user logins to _replace_ the set of assignees on this Issue. Send an empty array (`[]`) to clear all assignees from the Issue. _NOTE: Only users with push access can set assignees for new issues. Assignees are silently dropped otherwise._ + */ + assignees?: string[]; +}; +declare type IssuesUpdateRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/issues/:issue_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesUpdateResponseDataClosedBy = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesUpdateResponseDataPullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesUpdateResponseDataMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesUpdateResponseDataMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesUpdateResponseDataMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesUpdateResponseDataAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesUpdateResponseDataAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesUpdateResponseDataLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesUpdateResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesUpdateResponseData = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesUpdateResponseDataUser; + labels: Array; + assignee: IssuesUpdateResponseDataAssignee; + assignees: Array; + milestone: IssuesUpdateResponseDataMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesUpdateResponseDataPullRequest; + closed_at: null; + created_at: string; + updated_at: string; + closed_by: IssuesUpdateResponseDataClosedBy; +}; +declare type IssuesAddAssigneesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * Usernames of people to assign this issue to. _NOTE: Only users with push access can add assignees to an issue. Assignees are silently ignored otherwise._ + */ + assignees?: string[]; +}; +declare type IssuesAddAssigneesRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/issues/:issue_number/assignees"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesAddAssigneesResponseDataPullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesAddAssigneesResponseDataMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesAddAssigneesResponseDataMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesAddAssigneesResponseDataMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesAddAssigneesResponseDataAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesAddAssigneesResponseDataAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesAddAssigneesResponseDataLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesAddAssigneesResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesAddAssigneesResponseData = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesAddAssigneesResponseDataUser; + labels: Array; + assignee: IssuesAddAssigneesResponseDataAssignee; + assignees: Array; + milestone: IssuesAddAssigneesResponseDataMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesAddAssigneesResponseDataPullRequest; + closed_at: null; + created_at: string; + updated_at: string; +}; +declare type IssuesRemoveAssigneesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * Usernames of assignees to remove from an issue. _NOTE: Only users with push access can remove assignees from an issue. Assignees are silently ignored otherwise._ + */ + assignees?: string[]; +}; +declare type IssuesRemoveAssigneesRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/issues/:issue_number/assignees"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesRemoveAssigneesResponseDataPullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesRemoveAssigneesResponseDataMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesRemoveAssigneesResponseDataMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesRemoveAssigneesResponseDataMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesRemoveAssigneesResponseDataAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesRemoveAssigneesResponseDataAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesRemoveAssigneesResponseDataLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesRemoveAssigneesResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesRemoveAssigneesResponseData = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesRemoveAssigneesResponseDataUser; + labels: Array; + assignee: IssuesRemoveAssigneesResponseDataAssignee; + assignees: Array; + milestone: IssuesRemoveAssigneesResponseDataMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesRemoveAssigneesResponseDataPullRequest; + closed_at: null; + created_at: string; + updated_at: string; +}; +declare type IssuesListCommentsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * Only comments updated at or after this time are returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type IssuesListCommentsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/:issue_number/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListCommentsResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListCommentsResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + body: string; + user: IssuesListCommentsResponseDataItemUser; + created_at: string; + updated_at: string; +}; +declare type IssuesListCommentsResponseData = Array; +declare type IssuesCreateCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * The contents of the comment. + */ + body: string; +}; +declare type IssuesCreateCommentRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/issues/:issue_number/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesCreateCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesCreateCommentResponseData = { + id: number; + node_id: string; + url: string; + html_url: string; + body: string; + user: IssuesCreateCommentResponseDataUser; + created_at: string; + updated_at: string; +}; +declare type IssuesListEventsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type IssuesListEventsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/:issue_number/events"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListEventsResponseDataItemActor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListEventsResponseDataItem = { + id: number; + node_id: string; + url: string; + actor: IssuesListEventsResponseDataItemActor; + event: string; + commit_id: string; + commit_url: string; + created_at: string; +}; +declare type IssuesListEventsResponseData = Array; +declare type IssuesListLabelsOnIssueEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type IssuesListLabelsOnIssueRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/:issue_number/labels"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListLabelsOnIssueResponseDataItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesListLabelsOnIssueResponseData = Array; +declare type IssuesAddLabelsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * The name of the label to add to the issue. Must contain at least one label. **Note:** Alternatively, you can pass a single label as a `string` or an `array` of labels directly, but GitHub recommends passing an object with the `labels` key. + */ + labels: string[]; +}; +declare type IssuesAddLabelsRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/issues/:issue_number/labels"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesAddLabelsResponseDataItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesAddLabelsResponseData = Array; +declare type IssuesReplaceAllLabelsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * The names of the labels to add to the issue. You can pass an empty array to remove all labels. **Note:** Alternatively, you can pass a single label as a `string` or an `array` of labels directly, but GitHub recommends passing an object with the `labels` key. + */ + labels?: string[]; +}; +declare type IssuesReplaceAllLabelsRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/issues/:issue_number/labels"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesReplaceAllLabelsResponseDataItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesReplaceAllLabelsResponseData = Array; +declare type IssuesRemoveAllLabelsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; +}; +declare type IssuesRemoveAllLabelsRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/issues/:issue_number/labels"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesRemoveLabelEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * name parameter + */ + name: string; +}; +declare type IssuesRemoveLabelRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/issues/:issue_number/labels/:name"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesRemoveLabelResponseDataItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesRemoveLabelResponseData = Array; +declare type IssuesLockEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * The reason for locking the issue or pull request conversation. Lock will fail if you don't use one of these reasons: + * \* `off-topic` + * \* `too heated` + * \* `resolved` + * \* `spam` + */ + lock_reason?: "off-topic" | "too heated" | "resolved" | "spam"; +}; +declare type IssuesLockRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/issues/:issue_number/lock"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesUnlockEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; +}; +declare type IssuesUnlockRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/issues/:issue_number/lock"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForIssueEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to an issue. + */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsListForIssueRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/:issue_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForIssueResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsListForIssueResponseDataItem = { + id: number; + node_id: string; + user: ReactionsListForIssueResponseDataItemUser; + content: string; + created_at: string; +}; +declare type ReactionsListForIssueResponseData = Array; +declare type ReactionsCreateForIssueEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the issue. + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsCreateForIssueRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/issues/:issue_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsCreateForIssueResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsCreateForIssueResponseData = { + id: number; + node_id: string; + user: ReactionsCreateForIssueResponseDataUser; + content: string; + created_at: string; +}; +declare type ReactionsDeleteForIssueEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * reaction_id parameter + */ + reaction_id: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsDeleteForIssueRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/issues/:issue_number/reactions/:reaction_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListEventsForTimelineEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"mockingbird">; +declare type IssuesListEventsForTimelineRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/:issue_number/timeline"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListEventsForTimelineResponseDataItemActor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListEventsForTimelineResponseDataItem = { + id: number; + node_id: string; + url: string; + actor: IssuesListEventsForTimelineResponseDataItemActor; + event: string; + commit_id: string; + commit_url: string; + created_at: string; +}; +declare type IssuesListEventsForTimelineResponseData = Array; +declare type ReposListDeployKeysEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListDeployKeysRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/keys"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListDeployKeysResponseDataItem = { + id: number; + key: string; + url: string; + title: string; + verified: boolean; + created_at: string; + read_only: boolean; +}; +declare type ReposListDeployKeysResponseData = Array; +declare type ReposAddDeployKeyEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * A name for the key. + */ + title?: string; + /** + * The contents of the key. + */ + key: string; + /** + * If `true`, the key will only be able to read repository contents. Otherwise, the key will be able to read and write. + * + * Deploy keys with write access can perform the same actions as an organization member with admin access, or a collaborator on a personal repository. For more information, see "[Repository permission levels for an organization](https://help.github.com/articles/repository-permission-levels-for-an-organization/)" and "[Permission levels for a user account repository](https://help.github.com/articles/permission-levels-for-a-user-account-repository/)." + */ + read_only?: boolean; +}; +declare type ReposAddDeployKeyRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/keys"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposAddDeployKeyResponseData = { + id: number; + key: string; + url: string; + title: string; + verified: boolean; + created_at: string; + read_only: boolean; +}; +declare type ReposGetDeployKeyEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * key_id parameter + */ + key_id: number; +}; +declare type ReposGetDeployKeyRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/keys/:key_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetDeployKeyResponseData = { + id: number; + key: string; + url: string; + title: string; + verified: boolean; + created_at: string; + read_only: boolean; +}; +declare type ReposRemoveDeployKeyEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * key_id parameter + */ + key_id: number; +}; +declare type ReposRemoveDeployKeyRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/keys/:key_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListLabelsForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type IssuesListLabelsForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/labels"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListLabelsForRepoResponseDataItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesListLabelsForRepoResponseData = Array; +declare type IssuesCreateLabelEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji ![:strawberry:](https://github.githubassets.com/images/icons/emoji/unicode/1f353.png ":strawberry:"). For a full list of available emoji and codes, see [emoji-cheat-sheet.com](http://emoji-cheat-sheet.com/). + */ + name: string; + /** + * The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`. + */ + color: string; + /** + * A short description of the label. + */ + description?: string; +}; +declare type IssuesCreateLabelRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/labels"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesCreateLabelResponseData = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesGetLabelEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * name parameter + */ + name: string; +}; +declare type IssuesGetLabelRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/labels/:name"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesGetLabelResponseData = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesUpdateLabelEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * name parameter + */ + name: string; + /** + * The new name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji ![:strawberry:](https://github.githubassets.com/images/icons/emoji/unicode/1f353.png ":strawberry:"). For a full list of available emoji and codes, see [emoji-cheat-sheet.com](http://emoji-cheat-sheet.com/). + */ + new_name?: string; + /** + * The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`. + */ + color?: string; + /** + * A short description of the label. + */ + description?: string; +}; +declare type IssuesUpdateLabelRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/labels/:name"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesUpdateLabelResponseData = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesDeleteLabelEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * name parameter + */ + name: string; +}; +declare type IssuesDeleteLabelRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/labels/:name"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListLanguagesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposListLanguagesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/languages"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListLanguagesResponseData = { + C: number; + Python: number; +}; +declare type LicensesGetForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type LicensesGetForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/license"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type LicensesGetForRepoResponseDataLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type LicensesGetForRepoResponseDataLinks = { + self: string; + git: string; + html: string; +}; +declare type LicensesGetForRepoResponseData = { + name: string; + path: string; + sha: string; + size: number; + url: string; + html_url: string; + git_url: string; + download_url: string; + type: string; + content: string; + encoding: string; + _links: LicensesGetForRepoResponseDataLinks; + license: LicensesGetForRepoResponseDataLicense; +}; +declare type ReposMergeEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The name of the base branch that the head will be merged into. + */ + base: string; + /** + * The head to merge. This can be a branch name or a commit SHA1. + */ + head: string; + /** + * Commit message to use for the merge commit. If omitted, a default message will be used. + */ + commit_message?: string; +}; +declare type ReposMergeRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/merges"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposMergeResponseDataParentsItem = { + sha: string; + url: string; +}; +declare type ReposMergeResponseDataCommitter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposMergeResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposMergeResponseDataCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type ReposMergeResponseDataCommitTree = { + sha: string; + url: string; +}; +declare type ReposMergeResponseDataCommitCommitter = { + name: string; + date: string; + email: string; +}; +declare type ReposMergeResponseDataCommitAuthor = { + name: string; + date: string; + email: string; +}; +declare type ReposMergeResponseDataCommit = { + author: ReposMergeResponseDataCommitAuthor; + committer: ReposMergeResponseDataCommitCommitter; + message: string; + tree: ReposMergeResponseDataCommitTree; + url: string; + comment_count: number; + verification: ReposMergeResponseDataCommitVerification; +}; +declare type ReposMergeResponseData = { + sha: string; + node_id: string; + commit: ReposMergeResponseDataCommit; + url: string; + html_url: string; + comments_url: string; + author: ReposMergeResponseDataAuthor; + committer: ReposMergeResponseDataCommitter; + parents: Array; +}; +declare type IssuesListMilestonesForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The state of the milestone. Either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + /** + * What to sort results by. Either `due_on` or `completeness`. + */ + sort?: "due_on" | "completeness"; + /** + * The direction of the sort. Either `asc` or `desc`. + */ + direction?: "asc" | "desc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type IssuesListMilestonesForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/milestones"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListMilestonesForRepoResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListMilestonesForRepoResponseDataItem = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesListMilestonesForRepoResponseDataItemCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesListMilestonesForRepoResponseData = Array; +declare type IssuesCreateMilestoneEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The title of the milestone. + */ + title: string; + /** + * The state of the milestone. Either `open` or `closed`. + */ + state?: "open" | "closed"; + /** + * A description of the milestone. + */ + description?: string; + /** + * The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + due_on?: string; +}; +declare type IssuesCreateMilestoneRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/milestones"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesCreateMilestoneResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesCreateMilestoneResponseData = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesCreateMilestoneResponseDataCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesGetMilestoneEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * milestone_number parameter + */ + milestone_number: number; +}; +declare type IssuesGetMilestoneRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/milestones/:milestone_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesGetMilestoneResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetMilestoneResponseData = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesGetMilestoneResponseDataCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesUpdateMilestoneEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * milestone_number parameter + */ + milestone_number: number; + /** + * The title of the milestone. + */ + title?: string; + /** + * The state of the milestone. Either `open` or `closed`. + */ + state?: "open" | "closed"; + /** + * A description of the milestone. + */ + description?: string; + /** + * The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + due_on?: string; +}; +declare type IssuesUpdateMilestoneRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/milestones/:milestone_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesUpdateMilestoneResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesUpdateMilestoneResponseData = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesUpdateMilestoneResponseDataCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesDeleteMilestoneEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * milestone_number parameter + */ + milestone_number: number; +}; +declare type IssuesDeleteMilestoneRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/milestones/:milestone_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListLabelsForMilestoneEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * milestone_number parameter + */ + milestone_number: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type IssuesListLabelsForMilestoneRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/milestones/:milestone_number/labels"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListLabelsForMilestoneResponseDataItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesListLabelsForMilestoneResponseData = Array; +declare type ActivityListRepoNotificationsForAuthenticatedUserEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * If `true`, show notifications marked as read. + */ + all?: boolean; + /** + * If `true`, only shows notifications in which the user is directly participating or mentioned. + */ + participating?: boolean; + /** + * Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; + /** + * Only show notifications updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + before?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListRepoNotificationsForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/notifications"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListRepoNotificationsForAuthenticatedUserResponseDataItemSubject = { + title: string; + url: string; + latest_comment_url: string; + type: string; +}; +declare type ActivityListRepoNotificationsForAuthenticatedUserResponseDataItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActivityListRepoNotificationsForAuthenticatedUserResponseDataItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActivityListRepoNotificationsForAuthenticatedUserResponseDataItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ActivityListRepoNotificationsForAuthenticatedUserResponseDataItem = { + id: string; + repository: ActivityListRepoNotificationsForAuthenticatedUserResponseDataItemRepository; + subject: ActivityListRepoNotificationsForAuthenticatedUserResponseDataItemSubject; + reason: string; + unread: boolean; + updated_at: string; + last_read_at: string; + url: string; +}; +declare type ActivityListRepoNotificationsForAuthenticatedUserResponseData = Array; +declare type ActivityMarkRepoNotificationsAsReadEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Describes the last point that notifications were checked. Anything updated since this time will not be marked as read. If you omit this parameter, all notifications are marked as read. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp. + */ + last_read_at?: string; +}; +declare type ActivityMarkRepoNotificationsAsReadRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/notifications"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetPagesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetPagesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pages"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetPagesResponseDataSource = { + branch: string; + directory: string; +}; +declare type ReposGetPagesResponseData = { + url: string; + status: string; + cname: string; + custom_404: boolean; + html_url: string; + source: ReposGetPagesResponseDataSource; +}; +declare type ReposEnablePagesSiteEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * source parameter + */ + source?: ReposEnablePagesSiteParamsSource; +} & RequiredPreview<"switcheroo">; +declare type ReposEnablePagesSiteRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/pages"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposEnablePagesSiteResponseDataSource = { + branch: string; + directory: string; +}; +declare type ReposEnablePagesSiteResponseData = { + url: string; + status: string; + cname: string; + custom_404: boolean; + html_url: string; + source: ReposEnablePagesSiteResponseDataSource; +}; +declare type ReposDisablePagesSiteEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"switcheroo">; +declare type ReposDisablePagesSiteRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/pages"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateInformationAboutPagesSiteEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Specify a custom domain for the repository. Sending a `null` value will remove the custom domain. For more about custom domains, see "[Using a custom domain with GitHub Pages](https://help.github.com/articles/using-a-custom-domain-with-github-pages/)." + */ + cname?: string; + /** + * Update the source for the repository. Must include the branch name, and may optionally specify the subdirectory `/docs`. Possible values are `"gh-pages"`, `"master"`, and `"master /docs"`. + */ + source?: '"gh-pages"' | '"master"' | '"master /docs"'; +}; +declare type ReposUpdateInformationAboutPagesSiteRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/pages"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposRequestPageBuildEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposRequestPageBuildRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/pages/builds"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposRequestPageBuildResponseData = { + url: string; + status: string; +}; +declare type ReposListPagesBuildsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListPagesBuildsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pages/builds"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListPagesBuildsResponseDataItemPusher = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPagesBuildsResponseDataItemError = { + message: null; +}; +declare type ReposListPagesBuildsResponseDataItem = { + url: string; + status: string; + error: ReposListPagesBuildsResponseDataItemError; + pusher: ReposListPagesBuildsResponseDataItemPusher; + commit: string; + duration: number; + created_at: string; + updated_at: string; +}; +declare type ReposListPagesBuildsResponseData = Array; +declare type ReposGetLatestPagesBuildEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetLatestPagesBuildRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pages/builds/latest"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetLatestPagesBuildResponseDataPusher = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetLatestPagesBuildResponseDataError = { + message: null; +}; +declare type ReposGetLatestPagesBuildResponseData = { + url: string; + status: string; + error: ReposGetLatestPagesBuildResponseDataError; + pusher: ReposGetLatestPagesBuildResponseDataPusher; + commit: string; + duration: number; + created_at: string; + updated_at: string; +}; +declare type ReposGetPagesBuildEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * build_id parameter + */ + build_id: number; +}; +declare type ReposGetPagesBuildRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pages/builds/:build_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetPagesBuildResponseDataPusher = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetPagesBuildResponseDataError = { + message: null; +}; +declare type ReposGetPagesBuildResponseData = { + url: string; + status: string; + error: ReposGetPagesBuildResponseDataError; + pusher: ReposGetPagesBuildResponseDataPusher; + commit: string; + duration: number; + created_at: string; + updated_at: string; +}; +declare type ProjectsListForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"inertia">; +declare type ProjectsListForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/projects"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsListForRepoResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsListForRepoResponseDataItem = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: ProjectsListForRepoResponseDataItemCreator; + created_at: string; + updated_at: string; +}; +declare type ProjectsListForRepoResponseData = Array; +declare type ProjectsCreateForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The name of the project. + */ + name: string; + /** + * The description of the project. + */ + body?: string; +} & RequiredPreview<"inertia">; +declare type ProjectsCreateForRepoRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/projects"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsCreateForRepoResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsCreateForRepoResponseData = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: ProjectsCreateForRepoResponseDataCreator; + created_at: string; + updated_at: string; +}; +declare type PullsListEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Either `open`, `closed`, or `all` to filter by state. + */ + state?: "open" | "closed" | "all"; + /** + * Filter pulls by head user or head organization and branch name in the format of `user:ref-name` or `organization:ref-name`. For example: `github:new-script-format` or `octocat:test-branch`. + */ + head?: string; + /** + * Filter pulls by base branch name. Example: `gh-pages`. + */ + base?: string; + /** + * What to sort results by. Can be either `created`, `updated`, `popularity` (comment count) or `long-running` (age, filtering by pulls updated in the last month). + */ + sort?: "created" | "updated" | "popularity" | "long-running"; + /** + * The direction of the sort. Can be either `asc` or `desc`. Default: `desc` when sort is `created` or sort is not specified, otherwise `asc`. + */ + direction?: "asc" | "desc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type PullsListRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsListResponseDataItemLinksStatuses = { + href: string; +}; +declare type PullsListResponseDataItemLinksCommits = { + href: string; +}; +declare type PullsListResponseDataItemLinksReviewComment = { + href: string; +}; +declare type PullsListResponseDataItemLinksReviewComments = { + href: string; +}; +declare type PullsListResponseDataItemLinksComments = { + href: string; +}; +declare type PullsListResponseDataItemLinksIssue = { + href: string; +}; +declare type PullsListResponseDataItemLinksHtml = { + href: string; +}; +declare type PullsListResponseDataItemLinksSelf = { + href: string; +}; +declare type PullsListResponseDataItemLinks = { + self: PullsListResponseDataItemLinksSelf; + html: PullsListResponseDataItemLinksHtml; + issue: PullsListResponseDataItemLinksIssue; + comments: PullsListResponseDataItemLinksComments; + review_comments: PullsListResponseDataItemLinksReviewComments; + review_comment: PullsListResponseDataItemLinksReviewComment; + commits: PullsListResponseDataItemLinksCommits; + statuses: PullsListResponseDataItemLinksStatuses; +}; +declare type PullsListResponseDataItemBaseRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsListResponseDataItemBaseRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListResponseDataItemBaseRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsListResponseDataItemBaseRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsListResponseDataItemBaseRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsListResponseDataItemBaseUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListResponseDataItemBase = { + label: string; + ref: string; + sha: string; + user: PullsListResponseDataItemBaseUser; + repo: PullsListResponseDataItemBaseRepo; +}; +declare type PullsListResponseDataItemHeadRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsListResponseDataItemHeadRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListResponseDataItemHeadRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsListResponseDataItemHeadRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsListResponseDataItemHeadRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsListResponseDataItemHeadUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListResponseDataItemHead = { + label: string; + ref: string; + sha: string; + user: PullsListResponseDataItemHeadUser; + repo: PullsListResponseDataItemHeadRepo; +}; +declare type PullsListResponseDataItemRequestedTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type PullsListResponseDataItemRequestedReviewersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListResponseDataItemAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListResponseDataItemAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListResponseDataItemMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListResponseDataItemMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: PullsListResponseDataItemMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type PullsListResponseDataItemLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type PullsListResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListResponseDataItem = { + url: string; + id: number; + node_id: string; + html_url: string; + diff_url: string; + patch_url: string; + issue_url: string; + commits_url: string; + review_comments_url: string; + review_comment_url: string; + comments_url: string; + statuses_url: string; + number: number; + state: string; + locked: boolean; + title: string; + user: PullsListResponseDataItemUser; + body: string; + labels: Array; + milestone: PullsListResponseDataItemMilestone; + active_lock_reason: string; + created_at: string; + updated_at: string; + closed_at: string; + merged_at: string; + merge_commit_sha: string; + assignee: PullsListResponseDataItemAssignee; + assignees: Array; + requested_reviewers: Array; + requested_teams: Array; + head: PullsListResponseDataItemHead; + base: PullsListResponseDataItemBase; + _links: PullsListResponseDataItemLinks; + author_association: string; + draft: boolean; +}; +declare type PullsListResponseData = Array; +declare type PullsCreateEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The title of the new pull request. + */ + title: string; + /** + * The name of the branch where your changes are implemented. For cross-repository pull requests in the same network, namespace `head` with a user like this: `username:branch`. + */ + head: string; + /** + * The name of the branch you want the changes pulled into. This should be an existing branch on the current repository. You cannot submit a pull request to one repository that requests a merge to a base of another repository. + */ + base: string; + /** + * The contents of the pull request. + */ + body?: string; + /** + * Indicates whether [maintainers can modify](https://help.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request. + */ + maintainer_can_modify?: boolean; + /** + * Indicates whether the pull request is a draft. See "[Draft Pull Requests](https://help.github.com/en/articles/about-pull-requests#draft-pull-requests)" in the GitHub Help documentation to learn more. + */ + draft?: boolean; +}; +declare type PullsCreateRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/pulls"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsCreateResponseDataMergedBy = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseDataLinksStatuses = { + href: string; +}; +declare type PullsCreateResponseDataLinksCommits = { + href: string; +}; +declare type PullsCreateResponseDataLinksReviewComment = { + href: string; +}; +declare type PullsCreateResponseDataLinksReviewComments = { + href: string; +}; +declare type PullsCreateResponseDataLinksComments = { + href: string; +}; +declare type PullsCreateResponseDataLinksIssue = { + href: string; +}; +declare type PullsCreateResponseDataLinksHtml = { + href: string; +}; +declare type PullsCreateResponseDataLinksSelf = { + href: string; +}; +declare type PullsCreateResponseDataLinks = { + self: PullsCreateResponseDataLinksSelf; + html: PullsCreateResponseDataLinksHtml; + issue: PullsCreateResponseDataLinksIssue; + comments: PullsCreateResponseDataLinksComments; + review_comments: PullsCreateResponseDataLinksReviewComments; + review_comment: PullsCreateResponseDataLinksReviewComment; + commits: PullsCreateResponseDataLinksCommits; + statuses: PullsCreateResponseDataLinksStatuses; +}; +declare type PullsCreateResponseDataBaseRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsCreateResponseDataBaseRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseDataBaseRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsCreateResponseDataBaseRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsCreateResponseDataBaseRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsCreateResponseDataBaseUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseDataBase = { + label: string; + ref: string; + sha: string; + user: PullsCreateResponseDataBaseUser; + repo: PullsCreateResponseDataBaseRepo; +}; +declare type PullsCreateResponseDataHeadRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsCreateResponseDataHeadRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseDataHeadRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsCreateResponseDataHeadRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsCreateResponseDataHeadRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsCreateResponseDataHeadUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseDataHead = { + label: string; + ref: string; + sha: string; + user: PullsCreateResponseDataHeadUser; + repo: PullsCreateResponseDataHeadRepo; +}; +declare type PullsCreateResponseDataRequestedTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type PullsCreateResponseDataRequestedReviewersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseDataAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseDataAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseDataMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseDataMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: PullsCreateResponseDataMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type PullsCreateResponseDataLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type PullsCreateResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseData = { + url: string; + id: number; + node_id: string; + html_url: string; + diff_url: string; + patch_url: string; + issue_url: string; + commits_url: string; + review_comments_url: string; + review_comment_url: string; + comments_url: string; + statuses_url: string; + number: number; + state: string; + locked: boolean; + title: string; + user: PullsCreateResponseDataUser; + body: string; + labels: Array; + milestone: PullsCreateResponseDataMilestone; + active_lock_reason: string; + created_at: string; + updated_at: string; + closed_at: string; + merged_at: string; + merge_commit_sha: string; + assignee: PullsCreateResponseDataAssignee; + assignees: Array; + requested_reviewers: Array; + requested_teams: Array; + head: PullsCreateResponseDataHead; + base: PullsCreateResponseDataBase; + _links: PullsCreateResponseDataLinks; + author_association: string; + draft: boolean; + merged: boolean; + mergeable: boolean; + rebaseable: boolean; + mergeable_state: string; + merged_by: PullsCreateResponseDataMergedBy; + comments: number; + review_comments: number; + maintainer_can_modify: boolean; + commits: number; + additions: number; + deletions: number; + changed_files: number; +}; +declare type PullsListCommentsForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Can be either `created` or `updated` comments. + */ + sort?: "created" | "updated"; + /** + * Can be either `asc` or `desc`. Ignored without `sort` parameter. + */ + direction?: "asc" | "desc"; + /** + * This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Only returns comments `updated` at or after this time. + */ + since?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type PullsListCommentsForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsListCommentsForRepoResponseDataItemLinksPullRequest = { + href: string; +}; +declare type PullsListCommentsForRepoResponseDataItemLinksHtml = { + href: string; +}; +declare type PullsListCommentsForRepoResponseDataItemLinksSelf = { + href: string; +}; +declare type PullsListCommentsForRepoResponseDataItemLinks = { + self: PullsListCommentsForRepoResponseDataItemLinksSelf; + html: PullsListCommentsForRepoResponseDataItemLinksHtml; + pull_request: PullsListCommentsForRepoResponseDataItemLinksPullRequest; +}; +declare type PullsListCommentsForRepoResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListCommentsForRepoResponseDataItem = { + url: string; + id: number; + node_id: string; + pull_request_review_id: number; + diff_hunk: string; + path: string; + position: number; + original_position: number; + commit_id: string; + original_commit_id: string; + in_reply_to_id: number; + user: PullsListCommentsForRepoResponseDataItemUser; + body: string; + created_at: string; + updated_at: string; + html_url: string; + pull_request_url: string; + author_association: string; + _links: PullsListCommentsForRepoResponseDataItemLinks; + start_line: number; + original_start_line: number; + start_side: string; + line: number; + original_line: number; + side: string; +}; +declare type PullsListCommentsForRepoResponseData = Array; +declare type PullsGetCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; +}; +declare type PullsGetCommentRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsGetCommentResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsGetCommentResponseDataLinksHtml = { + href: string; +}; +declare type PullsGetCommentResponseDataLinksSelf = { + href: string; +}; +declare type PullsGetCommentResponseDataLinks = { + self: PullsGetCommentResponseDataLinksSelf; + html: PullsGetCommentResponseDataLinksHtml; + pull_request: PullsGetCommentResponseDataLinksPullRequest; +}; +declare type PullsGetCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetCommentResponseData = { + url: string; + id: number; + node_id: string; + pull_request_review_id: number; + diff_hunk: string; + path: string; + position: number; + original_position: number; + commit_id: string; + original_commit_id: string; + in_reply_to_id: number; + user: PullsGetCommentResponseDataUser; + body: string; + created_at: string; + updated_at: string; + html_url: string; + pull_request_url: string; + author_association: string; + _links: PullsGetCommentResponseDataLinks; + start_line: number; + original_start_line: number; + start_side: string; + line: number; + original_line: number; + side: string; +}; +declare type PullsUpdateCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * The text of the reply to the review comment. + */ + body: string; +}; +declare type PullsUpdateCommentRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/pulls/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsUpdateCommentResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsUpdateCommentResponseDataLinksHtml = { + href: string; +}; +declare type PullsUpdateCommentResponseDataLinksSelf = { + href: string; +}; +declare type PullsUpdateCommentResponseDataLinks = { + self: PullsUpdateCommentResponseDataLinksSelf; + html: PullsUpdateCommentResponseDataLinksHtml; + pull_request: PullsUpdateCommentResponseDataLinksPullRequest; +}; +declare type PullsUpdateCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateCommentResponseData = { + url: string; + id: number; + node_id: string; + pull_request_review_id: number; + diff_hunk: string; + path: string; + position: number; + original_position: number; + commit_id: string; + original_commit_id: string; + in_reply_to_id: number; + user: PullsUpdateCommentResponseDataUser; + body: string; + created_at: string; + updated_at: string; + html_url: string; + pull_request_url: string; + author_association: string; + _links: PullsUpdateCommentResponseDataLinks; + start_line: number; + original_start_line: number; + start_side: string; + line: number; + original_line: number; + side: string; +}; +declare type PullsDeleteCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; +}; +declare type PullsDeleteCommentRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/pulls/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForPullRequestReviewCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to a pull request review comment. + */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsListForPullRequestReviewCommentRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/comments/:comment_id/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForPullRequestReviewCommentResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsListForPullRequestReviewCommentResponseDataItem = { + id: number; + node_id: string; + user: ReactionsListForPullRequestReviewCommentResponseDataItemUser; + content: string; + created_at: string; +}; +declare type ReactionsListForPullRequestReviewCommentResponseData = Array; +declare type ReactionsCreateForPullRequestReviewCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the pull request review comment. + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsCreateForPullRequestReviewCommentRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/pulls/comments/:comment_id/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsCreateForPullRequestReviewCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsCreateForPullRequestReviewCommentResponseData = { + id: number; + node_id: string; + user: ReactionsCreateForPullRequestReviewCommentResponseDataUser; + content: string; + created_at: string; +}; +declare type ReactionsDeleteForPullRequestCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * reaction_id parameter + */ + reaction_id: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsDeleteForPullRequestCommentRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/pulls/comments/:comment_id/reactions/:reaction_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsGetEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; +}; +declare type PullsGetRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/:pull_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsGetResponseDataMergedBy = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseDataLinksStatuses = { + href: string; +}; +declare type PullsGetResponseDataLinksCommits = { + href: string; +}; +declare type PullsGetResponseDataLinksReviewComment = { + href: string; +}; +declare type PullsGetResponseDataLinksReviewComments = { + href: string; +}; +declare type PullsGetResponseDataLinksComments = { + href: string; +}; +declare type PullsGetResponseDataLinksIssue = { + href: string; +}; +declare type PullsGetResponseDataLinksHtml = { + href: string; +}; +declare type PullsGetResponseDataLinksSelf = { + href: string; +}; +declare type PullsGetResponseDataLinks = { + self: PullsGetResponseDataLinksSelf; + html: PullsGetResponseDataLinksHtml; + issue: PullsGetResponseDataLinksIssue; + comments: PullsGetResponseDataLinksComments; + review_comments: PullsGetResponseDataLinksReviewComments; + review_comment: PullsGetResponseDataLinksReviewComment; + commits: PullsGetResponseDataLinksCommits; + statuses: PullsGetResponseDataLinksStatuses; +}; +declare type PullsGetResponseDataBaseRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsGetResponseDataBaseRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseDataBaseRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsGetResponseDataBaseRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsGetResponseDataBaseRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsGetResponseDataBaseUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseDataBase = { + label: string; + ref: string; + sha: string; + user: PullsGetResponseDataBaseUser; + repo: PullsGetResponseDataBaseRepo; +}; +declare type PullsGetResponseDataHeadRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsGetResponseDataHeadRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseDataHeadRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsGetResponseDataHeadRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsGetResponseDataHeadRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsGetResponseDataHeadUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseDataHead = { + label: string; + ref: string; + sha: string; + user: PullsGetResponseDataHeadUser; + repo: PullsGetResponseDataHeadRepo; +}; +declare type PullsGetResponseDataRequestedTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type PullsGetResponseDataRequestedReviewersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseDataAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseDataAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseDataMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseDataMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: PullsGetResponseDataMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type PullsGetResponseDataLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type PullsGetResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseData = { + url: string; + id: number; + node_id: string; + html_url: string; + diff_url: string; + patch_url: string; + issue_url: string; + commits_url: string; + review_comments_url: string; + review_comment_url: string; + comments_url: string; + statuses_url: string; + number: number; + state: string; + locked: boolean; + title: string; + user: PullsGetResponseDataUser; + body: string; + labels: Array; + milestone: PullsGetResponseDataMilestone; + active_lock_reason: string; + created_at: string; + updated_at: string; + closed_at: string; + merged_at: string; + merge_commit_sha: string; + assignee: PullsGetResponseDataAssignee; + assignees: Array; + requested_reviewers: Array; + requested_teams: Array; + head: PullsGetResponseDataHead; + base: PullsGetResponseDataBase; + _links: PullsGetResponseDataLinks; + author_association: string; + draft: boolean; + merged: boolean; + mergeable: boolean; + rebaseable: boolean; + mergeable_state: string; + merged_by: PullsGetResponseDataMergedBy; + comments: number; + review_comments: number; + maintainer_can_modify: boolean; + commits: number; + additions: number; + deletions: number; + changed_files: number; +}; +declare type PullsUpdateEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * The title of the pull request. + */ + title?: string; + /** + * The contents of the pull request. + */ + body?: string; + /** + * State of this Pull Request. Either `open` or `closed`. + */ + state?: "open" | "closed"; + /** + * The name of the branch you want your changes pulled into. This should be an existing branch on the current repository. You cannot update the base branch on a pull request to point to another repository. + */ + base?: string; + /** + * Indicates whether [maintainers can modify](https://help.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request. + */ + maintainer_can_modify?: boolean; +}; +declare type PullsUpdateRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/pulls/:pull_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsUpdateResponseDataMergedBy = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseDataLinksStatuses = { + href: string; +}; +declare type PullsUpdateResponseDataLinksCommits = { + href: string; +}; +declare type PullsUpdateResponseDataLinksReviewComment = { + href: string; +}; +declare type PullsUpdateResponseDataLinksReviewComments = { + href: string; +}; +declare type PullsUpdateResponseDataLinksComments = { + href: string; +}; +declare type PullsUpdateResponseDataLinksIssue = { + href: string; +}; +declare type PullsUpdateResponseDataLinksHtml = { + href: string; +}; +declare type PullsUpdateResponseDataLinksSelf = { + href: string; +}; +declare type PullsUpdateResponseDataLinks = { + self: PullsUpdateResponseDataLinksSelf; + html: PullsUpdateResponseDataLinksHtml; + issue: PullsUpdateResponseDataLinksIssue; + comments: PullsUpdateResponseDataLinksComments; + review_comments: PullsUpdateResponseDataLinksReviewComments; + review_comment: PullsUpdateResponseDataLinksReviewComment; + commits: PullsUpdateResponseDataLinksCommits; + statuses: PullsUpdateResponseDataLinksStatuses; +}; +declare type PullsUpdateResponseDataBaseRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsUpdateResponseDataBaseRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseDataBaseRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsUpdateResponseDataBaseRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsUpdateResponseDataBaseRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsUpdateResponseDataBaseUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseDataBase = { + label: string; + ref: string; + sha: string; + user: PullsUpdateResponseDataBaseUser; + repo: PullsUpdateResponseDataBaseRepo; +}; +declare type PullsUpdateResponseDataHeadRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsUpdateResponseDataHeadRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseDataHeadRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsUpdateResponseDataHeadRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsUpdateResponseDataHeadRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsUpdateResponseDataHeadUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseDataHead = { + label: string; + ref: string; + sha: string; + user: PullsUpdateResponseDataHeadUser; + repo: PullsUpdateResponseDataHeadRepo; +}; +declare type PullsUpdateResponseDataRequestedTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type PullsUpdateResponseDataRequestedReviewersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseDataAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseDataAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseDataMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseDataMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: PullsUpdateResponseDataMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type PullsUpdateResponseDataLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type PullsUpdateResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseData = { + url: string; + id: number; + node_id: string; + html_url: string; + diff_url: string; + patch_url: string; + issue_url: string; + commits_url: string; + review_comments_url: string; + review_comment_url: string; + comments_url: string; + statuses_url: string; + number: number; + state: string; + locked: boolean; + title: string; + user: PullsUpdateResponseDataUser; + body: string; + labels: Array; + milestone: PullsUpdateResponseDataMilestone; + active_lock_reason: string; + created_at: string; + updated_at: string; + closed_at: string; + merged_at: string; + merge_commit_sha: string; + assignee: PullsUpdateResponseDataAssignee; + assignees: Array; + requested_reviewers: Array; + requested_teams: Array; + head: PullsUpdateResponseDataHead; + base: PullsUpdateResponseDataBase; + _links: PullsUpdateResponseDataLinks; + author_association: string; + draft: boolean; + merged: boolean; + mergeable: boolean; + rebaseable: boolean; + mergeable_state: string; + merged_by: PullsUpdateResponseDataMergedBy; + comments: number; + review_comments: number; + maintainer_can_modify: boolean; + commits: number; + additions: number; + deletions: number; + changed_files: number; +}; +declare type PullsListCommentsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * Can be either `created` or `updated` comments. + */ + sort?: "created" | "updated"; + /** + * Can be either `asc` or `desc`. Ignored without `sort` parameter. + */ + direction?: "asc" | "desc"; + /** + * This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Only returns comments `updated` at or after this time. + */ + since?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type PullsListCommentsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/:pull_number/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsListCommentsResponseDataItemLinksPullRequest = { + href: string; +}; +declare type PullsListCommentsResponseDataItemLinksHtml = { + href: string; +}; +declare type PullsListCommentsResponseDataItemLinksSelf = { + href: string; +}; +declare type PullsListCommentsResponseDataItemLinks = { + self: PullsListCommentsResponseDataItemLinksSelf; + html: PullsListCommentsResponseDataItemLinksHtml; + pull_request: PullsListCommentsResponseDataItemLinksPullRequest; +}; +declare type PullsListCommentsResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListCommentsResponseDataItem = { + url: string; + id: number; + node_id: string; + pull_request_review_id: number; + diff_hunk: string; + path: string; + position: number; + original_position: number; + commit_id: string; + original_commit_id: string; + in_reply_to_id: number; + user: PullsListCommentsResponseDataItemUser; + body: string; + created_at: string; + updated_at: string; + html_url: string; + pull_request_url: string; + author_association: string; + _links: PullsListCommentsResponseDataItemLinks; + start_line: number; + original_start_line: number; + start_side: string; + line: number; + original_line: number; + side: string; +}; +declare type PullsListCommentsResponseData = Array; +declare type PullsCreateCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * The text of the review comment. + */ + body: string; + /** + * The SHA of the commit needing a comment. Not using the latest commit SHA may render your comment outdated if a subsequent commit modifies the line you specify as the `position`. + */ + commit_id: string; + /** + * The relative path to the file that necessitates a comment. + */ + path: string; + /** + * **Required without `comfort-fade` preview**. The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note above. + */ + position?: number; + /** + * **Required with `comfort-fade` preview**. In a split diff view, the side of the diff that the pull request's changes appear on. Can be `LEFT` or `RIGHT`. Use `LEFT` for deletions that appear in red. Use `RIGHT` for additions that appear in green or unchanged lines that appear in white and are shown for context. For a multi-line comment, side represents whether the last line of the comment range is a deletion or addition. For more information, see "[Diff view options](https://help.github.com/en/articles/about-comparing-branches-in-pull-requests#diff-view-options)" in the GitHub Help documentation. + */ + side?: "LEFT" | "RIGHT"; + /** + * **Required with `comfort-fade` preview**. The line of the blob in the pull request diff that the comment applies to. For a multi-line comment, the last line of the range that your comment applies to. + */ + line?: number; + /** + * **Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. The `start_line` is the first line in the pull request diff that your multi-line comment applies to. To learn more about multi-line comments, see "[Commenting on a pull request](https://help.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. + */ + start_line?: number; + /** + * **Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. The `start_side` is the starting side of the diff that the comment applies to. Can be `LEFT` or `RIGHT`. To learn more about multi-line comments, see "[Commenting on a pull request](https://help.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. See `side` in this table for additional context. + */ + start_side?: "LEFT" | "RIGHT" | "side"; +}; +declare type PullsCreateCommentRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/pulls/:pull_number/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsCreateCommentResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsCreateCommentResponseDataLinksHtml = { + href: string; +}; +declare type PullsCreateCommentResponseDataLinksSelf = { + href: string; +}; +declare type PullsCreateCommentResponseDataLinks = { + self: PullsCreateCommentResponseDataLinksSelf; + html: PullsCreateCommentResponseDataLinksHtml; + pull_request: PullsCreateCommentResponseDataLinksPullRequest; +}; +declare type PullsCreateCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateCommentResponseData = { + url: string; + id: number; + node_id: string; + pull_request_review_id: number; + diff_hunk: string; + path: string; + position: number; + original_position: number; + commit_id: string; + original_commit_id: string; + in_reply_to_id: number; + user: PullsCreateCommentResponseDataUser; + body: string; + created_at: string; + updated_at: string; + html_url: string; + pull_request_url: string; + author_association: string; + _links: PullsCreateCommentResponseDataLinks; + start_line: number; + original_start_line: number; + start_side: string; + line: number; + original_line: number; + side: string; +}; +declare type PullsCreateReviewCommentReplyEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * comment_id parameter + */ + comment_id: number; + /** + * The text of the review comment. + */ + body: string; +}; +declare type PullsCreateReviewCommentReplyRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/pulls/:pull_number/comments/:comment_id/replies"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsCreateReviewCommentReplyResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsCreateReviewCommentReplyResponseDataLinksHtml = { + href: string; +}; +declare type PullsCreateReviewCommentReplyResponseDataLinksSelf = { + href: string; +}; +declare type PullsCreateReviewCommentReplyResponseDataLinks = { + self: PullsCreateReviewCommentReplyResponseDataLinksSelf; + html: PullsCreateReviewCommentReplyResponseDataLinksHtml; + pull_request: PullsCreateReviewCommentReplyResponseDataLinksPullRequest; +}; +declare type PullsCreateReviewCommentReplyResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewCommentReplyResponseData = { + url: string; + pull_request_review_id: number; + id: number; + node_id: string; + diff_hunk: string; + path: string; + position: number; + original_position: number; + commit_id: string; + original_commit_id: string; + user: PullsCreateReviewCommentReplyResponseDataUser; + body: string; + created_at: string; + updated_at: string; + html_url: string; + pull_request_url: string; + author_association: string; + _links: PullsCreateReviewCommentReplyResponseDataLinks; +}; +declare type PullsListCommitsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type PullsListCommitsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/:pull_number/commits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsListCommitsResponseDataItemParentsItem = { + url: string; + sha: string; +}; +declare type PullsListCommitsResponseDataItemCommitter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListCommitsResponseDataItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListCommitsResponseDataItemCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type PullsListCommitsResponseDataItemCommitTree = { + url: string; + sha: string; +}; +declare type PullsListCommitsResponseDataItemCommitCommitter = { + name: string; + email: string; + date: string; +}; +declare type PullsListCommitsResponseDataItemCommitAuthor = { + name: string; + email: string; + date: string; +}; +declare type PullsListCommitsResponseDataItemCommit = { + url: string; + author: PullsListCommitsResponseDataItemCommitAuthor; + committer: PullsListCommitsResponseDataItemCommitCommitter; + message: string; + tree: PullsListCommitsResponseDataItemCommitTree; + comment_count: number; + verification: PullsListCommitsResponseDataItemCommitVerification; +}; +declare type PullsListCommitsResponseDataItem = { + url: string; + sha: string; + node_id: string; + html_url: string; + comments_url: string; + commit: PullsListCommitsResponseDataItemCommit; + author: PullsListCommitsResponseDataItemAuthor; + committer: PullsListCommitsResponseDataItemCommitter; + parents: Array; +}; +declare type PullsListCommitsResponseData = Array; +declare type PullsListFilesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type PullsListFilesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/:pull_number/files"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsListFilesResponseDataItem = { + sha: string; + filename: string; + status: string; + additions: number; + deletions: number; + changes: number; + blob_url: string; + raw_url: string; + contents_url: string; + patch: string; +}; +declare type PullsListFilesResponseData = Array; +declare type PullsCheckIfMergedEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; +}; +declare type PullsCheckIfMergedRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/:pull_number/merge"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsMergeEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * Title for the automatic commit message. + */ + commit_title?: string; + /** + * Extra detail to append to automatic commit message. + */ + commit_message?: string; + /** + * SHA that pull request head must match to allow merge. + */ + sha?: string; + /** + * Merge method to use. Possible values are `merge`, `squash` or `rebase`. Default is `merge`. + */ + merge_method?: "merge" | "squash" | "rebase"; +}; +declare type PullsMergeRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/pulls/:pull_number/merge"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsMergeResponseData = { + sha: string; + merged: boolean; + message: string; +}; +declare type PullsListReviewRequestsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type PullsListReviewRequestsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/:pull_number/requested_reviewers"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsListReviewRequestsResponseDataTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type PullsListReviewRequestsResponseDataUsersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListReviewRequestsResponseData = { + users: Array; + teams: Array; +}; +declare type PullsCreateReviewRequestEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * An array of user `login`s that will be requested. + */ + reviewers?: string[]; + /** + * An array of team `slug`s that will be requested. + */ + team_reviewers?: string[]; +}; +declare type PullsCreateReviewRequestRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/pulls/:pull_number/requested_reviewers"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsCreateReviewRequestResponseDataLinksStatuses = { + href: string; +}; +declare type PullsCreateReviewRequestResponseDataLinksCommits = { + href: string; +}; +declare type PullsCreateReviewRequestResponseDataLinksReviewComment = { + href: string; +}; +declare type PullsCreateReviewRequestResponseDataLinksReviewComments = { + href: string; +}; +declare type PullsCreateReviewRequestResponseDataLinksComments = { + href: string; +}; +declare type PullsCreateReviewRequestResponseDataLinksIssue = { + href: string; +}; +declare type PullsCreateReviewRequestResponseDataLinksHtml = { + href: string; +}; +declare type PullsCreateReviewRequestResponseDataLinksSelf = { + href: string; +}; +declare type PullsCreateReviewRequestResponseDataLinks = { + self: PullsCreateReviewRequestResponseDataLinksSelf; + html: PullsCreateReviewRequestResponseDataLinksHtml; + issue: PullsCreateReviewRequestResponseDataLinksIssue; + comments: PullsCreateReviewRequestResponseDataLinksComments; + review_comments: PullsCreateReviewRequestResponseDataLinksReviewComments; + review_comment: PullsCreateReviewRequestResponseDataLinksReviewComment; + commits: PullsCreateReviewRequestResponseDataLinksCommits; + statuses: PullsCreateReviewRequestResponseDataLinksStatuses; +}; +declare type PullsCreateReviewRequestResponseDataBaseRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsCreateReviewRequestResponseDataBaseRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewRequestResponseDataBaseRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsCreateReviewRequestResponseDataBaseRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsCreateReviewRequestResponseDataBaseRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsCreateReviewRequestResponseDataBaseUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewRequestResponseDataBase = { + label: string; + ref: string; + sha: string; + user: PullsCreateReviewRequestResponseDataBaseUser; + repo: PullsCreateReviewRequestResponseDataBaseRepo; +}; +declare type PullsCreateReviewRequestResponseDataHeadRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsCreateReviewRequestResponseDataHeadRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewRequestResponseDataHeadRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsCreateReviewRequestResponseDataHeadRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsCreateReviewRequestResponseDataHeadRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsCreateReviewRequestResponseDataHeadUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewRequestResponseDataHead = { + label: string; + ref: string; + sha: string; + user: PullsCreateReviewRequestResponseDataHeadUser; + repo: PullsCreateReviewRequestResponseDataHeadRepo; +}; +declare type PullsCreateReviewRequestResponseDataRequestedTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type PullsCreateReviewRequestResponseDataRequestedReviewersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewRequestResponseDataAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewRequestResponseDataAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewRequestResponseDataMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewRequestResponseDataMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: PullsCreateReviewRequestResponseDataMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type PullsCreateReviewRequestResponseDataLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type PullsCreateReviewRequestResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewRequestResponseData = { + url: string; + id: number; + node_id: string; + html_url: string; + diff_url: string; + patch_url: string; + issue_url: string; + commits_url: string; + review_comments_url: string; + review_comment_url: string; + comments_url: string; + statuses_url: string; + number: number; + state: string; + locked: boolean; + title: string; + user: PullsCreateReviewRequestResponseDataUser; + body: string; + labels: Array; + milestone: PullsCreateReviewRequestResponseDataMilestone; + active_lock_reason: string; + created_at: string; + updated_at: string; + closed_at: string; + merged_at: string; + merge_commit_sha: string; + assignee: PullsCreateReviewRequestResponseDataAssignee; + assignees: Array; + requested_reviewers: Array; + requested_teams: Array; + head: PullsCreateReviewRequestResponseDataHead; + base: PullsCreateReviewRequestResponseDataBase; + _links: PullsCreateReviewRequestResponseDataLinks; + author_association: string; + draft: boolean; +}; +declare type PullsDeleteReviewRequestEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * An array of user `login`s that will be removed. + */ + reviewers?: string[]; + /** + * An array of team `slug`s that will be removed. + */ + team_reviewers?: string[]; +}; +declare type PullsDeleteReviewRequestRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/pulls/:pull_number/requested_reviewers"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsListReviewsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type PullsListReviewsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/:pull_number/reviews"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsListReviewsResponseDataItemLinksPullRequest = { + href: string; +}; +declare type PullsListReviewsResponseDataItemLinksHtml = { + href: string; +}; +declare type PullsListReviewsResponseDataItemLinks = { + html: PullsListReviewsResponseDataItemLinksHtml; + pull_request: PullsListReviewsResponseDataItemLinksPullRequest; +}; +declare type PullsListReviewsResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListReviewsResponseDataItem = { + id: number; + node_id: string; + user: PullsListReviewsResponseDataItemUser; + body: string; + submitted_at: string; + commit_id: string; + state: string; + html_url: string; + pull_request_url: string; + _links: PullsListReviewsResponseDataItemLinks; +}; +declare type PullsListReviewsResponseData = Array; +declare type PullsCreateReviewEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * The SHA of the commit that needs a review. Not using the latest commit SHA may render your review comment outdated if a subsequent commit modifies the line you specify as the `position`. Defaults to the most recent commit in the pull request when you do not specify a value. + */ + commit_id?: string; + /** + * **Required** when using `REQUEST_CHANGES` or `COMMENT` for the `event` parameter. The body text of the pull request review. + */ + body?: string; + /** + * The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. By leaving this blank, you set the review action state to `PENDING`, which means you will need to [submit the pull request review](https://developer.github.com/v3/pulls/reviews/#submit-a-pull-request-review) when you are ready. + */ + event?: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; + /** + * Use the following table to specify the location, destination, and contents of the draft review comment. + */ + comments?: PullsCreateReviewParamsComments[]; +}; +declare type PullsCreateReviewRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/pulls/:pull_number/reviews"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsCreateReviewResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsCreateReviewResponseDataLinksHtml = { + href: string; +}; +declare type PullsCreateReviewResponseDataLinks = { + html: PullsCreateReviewResponseDataLinksHtml; + pull_request: PullsCreateReviewResponseDataLinksPullRequest; +}; +declare type PullsCreateReviewResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewResponseData = { + id: number; + node_id: string; + user: PullsCreateReviewResponseDataUser; + body: string; + commit_id: string; + state: string; + html_url: string; + pull_request_url: string; + _links: PullsCreateReviewResponseDataLinks; +}; +declare type PullsGetReviewEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * review_id parameter + */ + review_id: number; +}; +declare type PullsGetReviewRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsGetReviewResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsGetReviewResponseDataLinksHtml = { + href: string; +}; +declare type PullsGetReviewResponseDataLinks = { + html: PullsGetReviewResponseDataLinksHtml; + pull_request: PullsGetReviewResponseDataLinksPullRequest; +}; +declare type PullsGetReviewResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetReviewResponseData = { + id: number; + node_id: string; + user: PullsGetReviewResponseDataUser; + body: string; + submitted_at: string; + commit_id: string; + state: string; + html_url: string; + pull_request_url: string; + _links: PullsGetReviewResponseDataLinks; +}; +declare type PullsDeletePendingReviewEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * review_id parameter + */ + review_id: number; +}; +declare type PullsDeletePendingReviewRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsDeletePendingReviewResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsDeletePendingReviewResponseDataLinksHtml = { + href: string; +}; +declare type PullsDeletePendingReviewResponseDataLinks = { + html: PullsDeletePendingReviewResponseDataLinksHtml; + pull_request: PullsDeletePendingReviewResponseDataLinksPullRequest; +}; +declare type PullsDeletePendingReviewResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsDeletePendingReviewResponseData = { + id: number; + node_id: string; + user: PullsDeletePendingReviewResponseDataUser; + body: string; + commit_id: string; + state: string; + html_url: string; + pull_request_url: string; + _links: PullsDeletePendingReviewResponseDataLinks; +}; +declare type PullsUpdateReviewEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * review_id parameter + */ + review_id: number; + /** + * The body text of the pull request review. + */ + body: string; +}; +declare type PullsUpdateReviewRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsUpdateReviewResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsUpdateReviewResponseDataLinksHtml = { + href: string; +}; +declare type PullsUpdateReviewResponseDataLinks = { + html: PullsUpdateReviewResponseDataLinksHtml; + pull_request: PullsUpdateReviewResponseDataLinksPullRequest; +}; +declare type PullsUpdateReviewResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateReviewResponseData = { + id: number; + node_id: string; + user: PullsUpdateReviewResponseDataUser; + body: string; + commit_id: string; + state: string; + html_url: string; + pull_request_url: string; + _links: PullsUpdateReviewResponseDataLinks; +}; +declare type PullsGetCommentsForReviewEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * review_id parameter + */ + review_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type PullsGetCommentsForReviewRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsGetCommentsForReviewResponseDataItemLinksPullRequest = { + href: string; +}; +declare type PullsGetCommentsForReviewResponseDataItemLinksHtml = { + href: string; +}; +declare type PullsGetCommentsForReviewResponseDataItemLinksSelf = { + href: string; +}; +declare type PullsGetCommentsForReviewResponseDataItemLinks = { + self: PullsGetCommentsForReviewResponseDataItemLinksSelf; + html: PullsGetCommentsForReviewResponseDataItemLinksHtml; + pull_request: PullsGetCommentsForReviewResponseDataItemLinksPullRequest; +}; +declare type PullsGetCommentsForReviewResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetCommentsForReviewResponseDataItem = { + url: string; + id: number; + node_id: string; + pull_request_review_id: number; + diff_hunk: string; + path: string; + position: number; + original_position: number; + commit_id: string; + original_commit_id: string; + in_reply_to_id: number; + user: PullsGetCommentsForReviewResponseDataItemUser; + body: string; + created_at: string; + updated_at: string; + html_url: string; + pull_request_url: string; + author_association: string; + _links: PullsGetCommentsForReviewResponseDataItemLinks; +}; +declare type PullsGetCommentsForReviewResponseData = Array; +declare type PullsDismissReviewEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * review_id parameter + */ + review_id: number; + /** + * The message for the pull request review dismissal + */ + message: string; +}; +declare type PullsDismissReviewRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/dismissals"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsDismissReviewResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsDismissReviewResponseDataLinksHtml = { + href: string; +}; +declare type PullsDismissReviewResponseDataLinks = { + html: PullsDismissReviewResponseDataLinksHtml; + pull_request: PullsDismissReviewResponseDataLinksPullRequest; +}; +declare type PullsDismissReviewResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsDismissReviewResponseData = { + id: number; + node_id: string; + user: PullsDismissReviewResponseDataUser; + body: string; + commit_id: string; + state: string; + html_url: string; + pull_request_url: string; + _links: PullsDismissReviewResponseDataLinks; +}; +declare type PullsSubmitReviewEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * review_id parameter + */ + review_id: number; + /** + * The body text of the pull request review + */ + body?: string; + /** + * The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. When you leave this blank, the API returns _HTTP 422 (Unrecognizable entity)_ and sets the review action state to `PENDING`, which means you will need to re-submit the pull request review using a review action. + */ + event: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; +}; +declare type PullsSubmitReviewRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/events"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsSubmitReviewResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsSubmitReviewResponseDataLinksHtml = { + href: string; +}; +declare type PullsSubmitReviewResponseDataLinks = { + html: PullsSubmitReviewResponseDataLinksHtml; + pull_request: PullsSubmitReviewResponseDataLinksPullRequest; +}; +declare type PullsSubmitReviewResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsSubmitReviewResponseData = { + id: number; + node_id: string; + user: PullsSubmitReviewResponseDataUser; + body: string; + submitted_at: string; + commit_id: string; + state: string; + html_url: string; + pull_request_url: string; + _links: PullsSubmitReviewResponseDataLinks; +}; +declare type PullsUpdateBranchEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * The expected SHA of the pull request's HEAD ref. This is the most recent commit on the pull request's branch. If the expected SHA does not match the pull request's HEAD, you will receive a `422 Unprocessable Entity` status. You can use the "[List commits on a repository](https://developer.github.com/v3/repos/commits/#list-commits-on-a-repository)" endpoint to find the most recent commit SHA. Default: SHA of the pull request's current HEAD ref. + */ + expected_head_sha?: string; +} & RequiredPreview<"lydian">; +declare type PullsUpdateBranchRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/pulls/:pull_number/update-branch"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsUpdateBranchResponseData = { + message: string; + url: string; +}; +declare type ReposGetReadmeEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The name of the commit/branch/tag. Default: the repository’s default branch (usually `master`) + */ + ref?: string; +}; +declare type ReposGetReadmeRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/readme"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetReadmeResponseDataLinks = { + git: string; + self: string; + html: string; +}; +declare type ReposGetReadmeResponseData = { + type: string; + encoding: string; + size: number; + name: string; + path: string; + content: string; + sha: string; + url: string; + git_url: string; + html_url: string; + download_url: string; + _links: ReposGetReadmeResponseDataLinks; +}; +declare type ReposListReleasesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListReleasesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/releases"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListReleasesResponseDataItemAssetsItemUploader = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListReleasesResponseDataItemAssetsItem = { + url: string; + browser_download_url: string; + id: number; + node_id: string; + name: string; + label: string; + state: string; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: ReposListReleasesResponseDataItemAssetsItemUploader; +}; +declare type ReposListReleasesResponseDataItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListReleasesResponseDataItem = { + url: string; + html_url: string; + assets_url: string; + upload_url: string; + tarball_url: string; + zipball_url: string; + id: number; + node_id: string; + tag_name: string; + target_commitish: string; + name: string; + body: string; + draft: boolean; + prerelease: boolean; + created_at: string; + published_at: string; + author: ReposListReleasesResponseDataItemAuthor; + assets: Array; +}; +declare type ReposListReleasesResponseData = Array; +declare type ReposCreateReleaseEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The name of the tag. + */ + tag_name: string; + /** + * Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch (usually `master`). + */ + target_commitish?: string; + /** + * The name of the release. + */ + name?: string; + /** + * Text describing the contents of the tag. + */ + body?: string; + /** + * `true` to create a draft (unpublished) release, `false` to create a published one. + */ + draft?: boolean; + /** + * `true` to identify the release as a prerelease. `false` to identify the release as a full release. + */ + prerelease?: boolean; +}; +declare type ReposCreateReleaseRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/releases"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateReleaseResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateReleaseResponseData = { + url: string; + html_url: string; + assets_url: string; + upload_url: string; + tarball_url: string; + zipball_url: string; + id: number; + node_id: string; + tag_name: string; + target_commitish: string; + name: string; + body: string; + draft: boolean; + prerelease: boolean; + created_at: string; + published_at: string; + author: ReposCreateReleaseResponseDataAuthor; + assets: Array; +}; +declare type ReposGetReleaseAssetEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * asset_id parameter + */ + asset_id: number; +}; +declare type ReposGetReleaseAssetRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/releases/assets/:asset_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetReleaseAssetResponseDataUploader = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetReleaseAssetResponseData = { + url: string; + browser_download_url: string; + id: number; + node_id: string; + name: string; + label: string; + state: string; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: ReposGetReleaseAssetResponseDataUploader; +}; +declare type ReposUpdateReleaseAssetEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * asset_id parameter + */ + asset_id: number; + /** + * The file name of the asset. + */ + name?: string; + /** + * An alternate short description of the asset. Used in place of the filename. + */ + label?: string; +}; +declare type ReposUpdateReleaseAssetRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/releases/assets/:asset_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateReleaseAssetResponseDataUploader = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateReleaseAssetResponseData = { + url: string; + browser_download_url: string; + id: number; + node_id: string; + name: string; + label: string; + state: string; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: ReposUpdateReleaseAssetResponseDataUploader; +}; +declare type ReposDeleteReleaseAssetEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * asset_id parameter + */ + asset_id: number; +}; +declare type ReposDeleteReleaseAssetRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/releases/assets/:asset_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetLatestReleaseEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetLatestReleaseRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/releases/latest"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetLatestReleaseResponseDataAssetsItemUploader = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetLatestReleaseResponseDataAssetsItem = { + url: string; + browser_download_url: string; + id: number; + node_id: string; + name: string; + label: string; + state: string; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: ReposGetLatestReleaseResponseDataAssetsItemUploader; +}; +declare type ReposGetLatestReleaseResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetLatestReleaseResponseData = { + url: string; + html_url: string; + assets_url: string; + upload_url: string; + tarball_url: string; + zipball_url: string; + id: number; + node_id: string; + tag_name: string; + target_commitish: string; + name: string; + body: string; + draft: boolean; + prerelease: boolean; + created_at: string; + published_at: string; + author: ReposGetLatestReleaseResponseDataAuthor; + assets: Array; +}; +declare type ReposGetReleaseByTagEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * tag parameter + */ + tag: string; +}; +declare type ReposGetReleaseByTagRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/releases/tags/:tag"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetReleaseByTagResponseDataAssetsItemUploader = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetReleaseByTagResponseDataAssetsItem = { + url: string; + browser_download_url: string; + id: number; + node_id: string; + name: string; + label: string; + state: string; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: ReposGetReleaseByTagResponseDataAssetsItemUploader; +}; +declare type ReposGetReleaseByTagResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetReleaseByTagResponseData = { + url: string; + html_url: string; + assets_url: string; + upload_url: string; + tarball_url: string; + zipball_url: string; + id: number; + node_id: string; + tag_name: string; + target_commitish: string; + name: string; + body: string; + draft: boolean; + prerelease: boolean; + created_at: string; + published_at: string; + author: ReposGetReleaseByTagResponseDataAuthor; + assets: Array; +}; +declare type ReposGetReleaseEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * release_id parameter + */ + release_id: number; +}; +declare type ReposGetReleaseRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/releases/:release_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetReleaseResponseDataAssetsItemUploader = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetReleaseResponseDataAssetsItem = { + url: string; + browser_download_url: string; + id: number; + node_id: string; + name: string; + label: string; + state: string; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: ReposGetReleaseResponseDataAssetsItemUploader; +}; +declare type ReposGetReleaseResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetReleaseResponseData = { + url: string; + html_url: string; + assets_url: string; + upload_url: string; + tarball_url: string; + zipball_url: string; + id: number; + node_id: string; + tag_name: string; + target_commitish: string; + name: string; + body: string; + draft: boolean; + prerelease: boolean; + created_at: string; + published_at: string; + author: ReposGetReleaseResponseDataAuthor; + assets: Array; +}; +declare type ReposUpdateReleaseEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * release_id parameter + */ + release_id: number; + /** + * The name of the tag. + */ + tag_name?: string; + /** + * Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch (usually `master`). + */ + target_commitish?: string; + /** + * The name of the release. + */ + name?: string; + /** + * Text describing the contents of the tag. + */ + body?: string; + /** + * `true` makes the release a draft, and `false` publishes the release. + */ + draft?: boolean; + /** + * `true` to identify the release as a prerelease, `false` to identify the release as a full release. + */ + prerelease?: boolean; +}; +declare type ReposUpdateReleaseRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/releases/:release_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateReleaseResponseDataAssetsItemUploader = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateReleaseResponseDataAssetsItem = { + url: string; + browser_download_url: string; + id: number; + node_id: string; + name: string; + label: string; + state: string; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: ReposUpdateReleaseResponseDataAssetsItemUploader; +}; +declare type ReposUpdateReleaseResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateReleaseResponseData = { + url: string; + html_url: string; + assets_url: string; + upload_url: string; + tarball_url: string; + zipball_url: string; + id: number; + node_id: string; + tag_name: string; + target_commitish: string; + name: string; + body: string; + draft: boolean; + prerelease: boolean; + created_at: string; + published_at: string; + author: ReposUpdateReleaseResponseDataAuthor; + assets: Array; +}; +declare type ReposDeleteReleaseEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * release_id parameter + */ + release_id: number; +}; +declare type ReposDeleteReleaseRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/releases/:release_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListAssetsForReleaseEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * release_id parameter + */ + release_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListAssetsForReleaseRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/releases/:release_id/assets"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListAssetsForReleaseResponseDataItemUploader = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListAssetsForReleaseResponseDataItem = { + url: string; + browser_download_url: string; + id: number; + node_id: string; + name: string; + label: string; + state: string; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: ReposListAssetsForReleaseResponseDataItemUploader; +}; +declare type ReposListAssetsForReleaseResponseData = Array; +declare type ReposUploadReleaseAssetEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * release_id parameter + */ + release_id: number; + /** + * name parameter + */ + name?: string; + /** + * label parameter + */ + label?: string; + /** + * The raw file data + */ + data: string; + /** + * The URL origin (protocol + host name + port) is included in `upload_url` returned in the response of the "Create a release" endpoint + */ + origin?: string; + /** + * For https://api.github.com, set `baseUrl` to `https://uploads.github.com`. For GitHub Enterprise Server, set it to `/api/uploads` + */ + baseUrl: string; +} & { + headers: { + "content-type": string; + }; +}; +declare type ReposUploadReleaseAssetRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/releases/:release_id/assets{?name,label}"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUploadReleaseAssetResponseDataUploader = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUploadReleaseAssetResponseData = { + url: string; + browser_download_url: string; + id: number; + node_id: string; + name: string; + label: string; + state: string; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: ReposUploadReleaseAssetResponseDataUploader; +}; +declare type ActivityListStargazersForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListStargazersForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/stargazers"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListStargazersForRepoResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActivityListStargazersForRepoResponseData = Array; +declare type ReposGetCodeFrequencyStatsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetCodeFrequencyStatsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/stats/code_frequency"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetCodeFrequencyStatsResponseData = Array>; +declare type ReposGetCommitActivityStatsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetCommitActivityStatsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/stats/commit_activity"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetCommitActivityStatsResponseDataItem = { + days: Array; + total: number; + week: number; +}; +declare type ReposGetCommitActivityStatsResponseData = Array; +declare type ReposGetContributorsStatsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetContributorsStatsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/stats/contributors"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetContributorsStatsResponseDataItemWeeksItem = { + w: string; + a: number; + d: number; + c: number; +}; +declare type ReposGetContributorsStatsResponseDataItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetContributorsStatsResponseDataItem = { + author: ReposGetContributorsStatsResponseDataItemAuthor; + total: number; + weeks: Array; +}; +declare type ReposGetContributorsStatsResponseData = Array; +declare type ReposGetParticipationStatsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetParticipationStatsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/stats/participation"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetParticipationStatsResponseData = { + all: Array; + owner: Array; +}; +declare type ReposGetPunchCardStatsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetPunchCardStatsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/stats/punch_card"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetPunchCardStatsResponseData = Array>; +declare type ReposCreateStatusEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * sha parameter + */ + sha: string; + /** + * The state of the status. Can be one of `error`, `failure`, `pending`, or `success`. + */ + state: "error" | "failure" | "pending" | "success"; + /** + * The target URL to associate with this status. This URL will be linked from the GitHub UI to allow users to easily see the source of the status. + * For example, if your continuous integration system is posting build status, you would want to provide the deep link for the build output for this specific SHA: + * `http://ci.example.com/user/repo/build/sha` + */ + target_url?: string; + /** + * A short description of the status. + */ + description?: string; + /** + * A string label to differentiate this status from the status of other systems. + */ + context?: string; +}; +declare type ReposCreateStatusRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/statuses/:sha"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateStatusResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateStatusResponseData = { + url: string; + avatar_url: string; + id: number; + node_id: string; + state: string; + description: string; + target_url: string; + context: string; + created_at: string; + updated_at: string; + creator: ReposCreateStatusResponseDataCreator; +}; +declare type ActivityListWatchersForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListWatchersForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/subscribers"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListWatchersForRepoResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActivityListWatchersForRepoResponseData = Array; +declare type ActivityGetRepoSubscriptionEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActivityGetRepoSubscriptionRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/subscription"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityGetRepoSubscriptionResponseData = { + subscribed: boolean; + ignored: boolean; + reason: null; + created_at: string; + url: string; + repository_url: string; +}; +declare type ActivitySetRepoSubscriptionEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Determines if notifications should be received from this repository. + */ + subscribed?: boolean; + /** + * Determines if all notifications should be blocked from this repository. + */ + ignored?: boolean; +}; +declare type ActivitySetRepoSubscriptionRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/subscription"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivitySetRepoSubscriptionResponseData = { + subscribed: boolean; + ignored: boolean; + reason: null; + created_at: string; + url: string; + repository_url: string; +}; +declare type ActivityDeleteRepoSubscriptionEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActivityDeleteRepoSubscriptionRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/subscription"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListTagsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListTagsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/tags"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListTagsResponseDataItemCommit = { + sha: string; + url: string; +}; +declare type ReposListTagsResponseDataItem = { + name: string; + commit: ReposListTagsResponseDataItemCommit; + zipball_url: string; + tarball_url: string; +}; +declare type ReposListTagsResponseData = Array; +declare type ReposListTeamsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListTeamsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListTeamsResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposListTeamsResponseData = Array; +declare type ReposGetAllTopicsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"mercy">; +declare type ReposGetAllTopicsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/topics"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetAllTopicsResponseData = { + names: Array; +}; +declare type ReposReplaceAllTopicsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * An array of topics to add to the repository. Pass one or more topics to _replace_ the set of existing topics. Send an empty array (`[]`) to clear all topics from the repository. **Note:** Topic `names` cannot contain uppercase letters. + */ + names: string[]; +} & RequiredPreview<"mercy">; +declare type ReposReplaceAllTopicsRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/topics"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposReplaceAllTopicsResponseData = { + names: Array; +}; +declare type ReposGetClonesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Must be one of: `day`, `week`. + */ + per?: "day" | "week"; +}; +declare type ReposGetClonesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/traffic/clones"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetClonesResponseDataClonesItem = { + timestamp: string; + count: number; + uniques: number; +}; +declare type ReposGetClonesResponseData = { + count: number; + uniques: number; + clones: Array; +}; +declare type ReposGetTopPathsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetTopPathsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/traffic/popular/paths"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetTopPathsResponseDataItem = { + path: string; + title: string; + count: number; + uniques: number; +}; +declare type ReposGetTopPathsResponseData = Array; +declare type ReposGetTopReferrersEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetTopReferrersRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/traffic/popular/referrers"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetTopReferrersResponseDataItem = { + referrer: string; + count: number; + uniques: number; +}; +declare type ReposGetTopReferrersResponseData = Array; +declare type ReposGetViewsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Must be one of: `day`, `week`. + */ + per?: "day" | "week"; +}; +declare type ReposGetViewsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/traffic/views"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetViewsResponseDataViewsItem = { + timestamp: string; + count: number; + uniques: number; +}; +declare type ReposGetViewsResponseData = { + count: number; + uniques: number; + views: Array; +}; +declare type ReposTransferEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * **Required:** The username or organization name the repository will be transferred to. + */ + new_owner?: string; + /** + * ID of the team or teams to add to the repository. Teams can only be added to organization-owned repositories. + */ + team_ids?: number[]; +}; +declare type ReposTransferRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/transfer"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposTransferResponseDataPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposTransferResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposTransferResponseData = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposTransferResponseDataOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposTransferResponseDataPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposCheckVulnerabilityAlertsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"dorian">; +declare type ReposCheckVulnerabilityAlertsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/vulnerability-alerts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposEnableVulnerabilityAlertsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"dorian">; +declare type ReposEnableVulnerabilityAlertsRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/vulnerability-alerts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposDisableVulnerabilityAlertsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"dorian">; +declare type ReposDisableVulnerabilityAlertsRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/vulnerability-alerts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetArchiveLinkEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * archive_format parameter + */ + archive_format: string; + /** + * ref parameter + */ + ref: string; +}; +declare type ReposGetArchiveLinkRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/:archive_format/:ref"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateUsingTemplateEndpoint = { + /** + * template_owner parameter + */ + template_owner: string; + /** + * template_repo parameter + */ + template_repo: string; + /** + * The organization or person who will own the new repository. To create a new repository in an organization, the authenticated user must be a member of the specified organization. + */ + owner?: string; + /** + * The name of the new repository. + */ + name: string; + /** + * A short description of the new repository. + */ + description?: string; + /** + * Either `true` to create a new private repository or `false` to create a new public one. + */ + private?: boolean; +} & RequiredPreview<"baptiste">; +declare type ReposCreateUsingTemplateRequestOptions = { + method: "POST"; + url: "/repos/:template_owner/:template_repo/generate"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateUsingTemplateResponseDataTemplateRepositoryPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposCreateUsingTemplateResponseDataTemplateRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateUsingTemplateResponseDataTemplateRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposCreateUsingTemplateResponseDataTemplateRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposCreateUsingTemplateResponseDataTemplateRepositoryPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposCreateUsingTemplateResponseDataPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposCreateUsingTemplateResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateUsingTemplateResponseData = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposCreateUsingTemplateResponseDataOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposCreateUsingTemplateResponseDataPermissions; + allow_rebase_merge: boolean; + template_repository: ReposCreateUsingTemplateResponseDataTemplateRepository; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposListPublicEndpoint = { + /** + * The integer ID of the last repository that you've seen. + */ + since?: number; +}; +declare type ReposListPublicRequestOptions = { + method: "GET"; + url: "/repositories"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListPublicResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPublicResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposListPublicResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ReposListPublicResponseData = Array; +declare type ScimListProvisionedIdentitiesEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Used for pagination: the index of the first result to return. + */ + startIndex?: number; + /** + * Used for pagination: the number of results to return. + */ + count?: number; + /** + * Filters results using the equals query parameter operator (`eq`). You can filter results that are equal to `id`, `userName`, `emails`, and `external_id`. For example, to search for an identity with the `userName` Octocat, you would use this query: `?filter=userName%20eq%20\"Octocat\"`. + */ + filter?: string; +}; +declare type ScimListProvisionedIdentitiesRequestOptions = { + method: "GET"; + url: "/scim/v2/organizations/:org/Users"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ScimListProvisionedIdentitiesResponseDataResourcesItemMeta = { + resourceType: string; + created: string; + lastModified: string; + location: string; +}; +declare type ScimListProvisionedIdentitiesResponseDataResourcesItemEmailsItem = { + value: string; + primary: boolean; + type: string; +}; +declare type ScimListProvisionedIdentitiesResponseDataResourcesItemName = { + givenName: string; + familyName: string; +}; +declare type ScimListProvisionedIdentitiesResponseDataResourcesItem = { + schemas: Array; + id: string; + externalId: string; + userName: string; + name: ScimListProvisionedIdentitiesResponseDataResourcesItemName; + emails: Array; + active: boolean; + meta: ScimListProvisionedIdentitiesResponseDataResourcesItemMeta; +}; +declare type ScimListProvisionedIdentitiesResponseData = { + schemas: Array; + totalResults: number; + itemsPerPage: number; + startIndex: number; + Resources: Array; +}; +declare type ScimProvisionAndInviteUsersEndpoint = { + /** + * org parameter + */ + org: string; +}; +declare type ScimProvisionAndInviteUsersRequestOptions = { + method: "POST"; + url: "/scim/v2/organizations/:org/Users"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ScimProvisionAndInviteUsersResponseDataMeta = { + resourceType: string; + created: string; + lastModified: string; + location: string; +}; +declare type ScimProvisionAndInviteUsersResponseDataEmailsItem = { + value: string; + type: string; + primary: boolean; +}; +declare type ScimProvisionAndInviteUsersResponseDataName = { + givenName: string; + familyName: string; +}; +declare type ScimProvisionAndInviteUsersResponseData = { + schemas: Array; + id: string; + externalId: string; + userName: string; + name: ScimProvisionAndInviteUsersResponseDataName; + emails: Array; + active: boolean; + meta: ScimProvisionAndInviteUsersResponseDataMeta; +}; +declare type ScimGetProvisioningDetailsForUserEndpoint = { + /** + * org parameter + */ + org: string; + /** + * scim_user_id parameter + */ + scim_user_id: number; +}; +declare type ScimGetProvisioningDetailsForUserRequestOptions = { + method: "GET"; + url: "/scim/v2/organizations/:org/Users/:scim_user_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ScimGetProvisioningDetailsForUserResponseDataMeta = { + resourceType: string; + created: string; + lastModified: string; + location: string; +}; +declare type ScimGetProvisioningDetailsForUserResponseDataEmailsItem = { + value: string; + type: string; + primary: boolean; +}; +declare type ScimGetProvisioningDetailsForUserResponseDataName = { + givenName: string; + familyName: string; +}; +declare type ScimGetProvisioningDetailsForUserResponseData = { + schemas: Array; + id: string; + externalId: string; + userName: string; + name: ScimGetProvisioningDetailsForUserResponseDataName; + emails: Array; + active: boolean; + meta: ScimGetProvisioningDetailsForUserResponseDataMeta; +}; +declare type ScimReplaceProvisionedUserInformationEndpoint = { + /** + * org parameter + */ + org: string; + /** + * scim_user_id parameter + */ + scim_user_id: number; +}; +declare type ScimReplaceProvisionedUserInformationRequestOptions = { + method: "PUT"; + url: "/scim/v2/organizations/:org/Users/:scim_user_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ScimReplaceProvisionedUserInformationResponseDataMeta = { + resourceType: string; + created: string; + lastModified: string; + location: string; +}; +declare type ScimReplaceProvisionedUserInformationResponseDataEmailsItem = { + value: string; + type: string; + primary: boolean; +}; +declare type ScimReplaceProvisionedUserInformationResponseDataName = { + givenName: string; + familyName: string; +}; +declare type ScimReplaceProvisionedUserInformationResponseData = { + schemas: Array; + id: string; + externalId: string; + userName: string; + name: ScimReplaceProvisionedUserInformationResponseDataName; + emails: Array; + active: boolean; + meta: ScimReplaceProvisionedUserInformationResponseDataMeta; +}; +declare type ScimUpdateUserAttributeEndpoint = { + /** + * org parameter + */ + org: string; + /** + * scim_user_id parameter + */ + scim_user_id: number; +}; +declare type ScimUpdateUserAttributeRequestOptions = { + method: "PATCH"; + url: "/scim/v2/organizations/:org/Users/:scim_user_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ScimUpdateUserAttributeResponseDataMeta = { + resourceType: string; + created: string; + lastModified: string; + location: string; +}; +declare type ScimUpdateUserAttributeResponseDataEmailsItem = { + value: string; + type: string; + primary?: boolean; +}; +declare type ScimUpdateUserAttributeResponseDataName = { + givenName: string; + familyName: string; +}; +declare type ScimUpdateUserAttributeResponseData = { + schemas: Array; + id: string; + externalId: string; + userName: string; + name: ScimUpdateUserAttributeResponseDataName; + emails: Array; + active: boolean; + meta: ScimUpdateUserAttributeResponseDataMeta; +}; +declare type ScimRemoveUserFromOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * scim_user_id parameter + */ + scim_user_id: number; +}; +declare type ScimRemoveUserFromOrgRequestOptions = { + method: "DELETE"; + url: "/scim/v2/organizations/:org/Users/:scim_user_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchCodeEndpoint = { + /** + * The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). See "[Searching code](https://help.github.com/articles/searching-code/)" for a detailed list of qualifiers. + */ + q: string; + /** + * Sorts the results of your query. Can only be `indexed`, which indicates how recently a file has been indexed by the GitHub search infrastructure. Default: [best match](https://developer.github.com/v3/search/#ranking-search-results) + */ + sort?: "indexed"; + /** + * Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. + */ + order?: "desc" | "asc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type SearchCodeRequestOptions = { + method: "GET"; + url: "/search/code"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchCodeResponseDataItemsItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type SearchCodeResponseDataItemsItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: SearchCodeResponseDataItemsItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + forks_url: string; + keys_url: string; + collaborators_url: string; + teams_url: string; + hooks_url: string; + issue_events_url: string; + events_url: string; + assignees_url: string; + branches_url: string; + tags_url: string; + blobs_url: string; + git_tags_url: string; + git_refs_url: string; + trees_url: string; + statuses_url: string; + languages_url: string; + stargazers_url: string; + contributors_url: string; + subscribers_url: string; + subscription_url: string; + commits_url: string; + git_commits_url: string; + comments_url: string; + issue_comment_url: string; + contents_url: string; + compare_url: string; + merges_url: string; + archive_url: string; + downloads_url: string; + issues_url: string; + pulls_url: string; + milestones_url: string; + notifications_url: string; + labels_url: string; +}; +declare type SearchCodeResponseDataItemsItem = { + name: string; + path: string; + sha: string; + url: string; + git_url: string; + html_url: string; + repository: SearchCodeResponseDataItemsItemRepository; + score: number; +}; +declare type SearchCodeResponseData = { + total_count: number; + incomplete_results: boolean; + items: Array; +}; +declare type SearchCommitsEndpoint = { + /** + * The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). See "[Searching commits](https://help.github.com/articles/searching-commits/)" for a detailed list of qualifiers. + */ + q: string; + /** + * Sorts the results of your query by `author-date` or `committer-date`. Default: [best match](https://developer.github.com/v3/search/#ranking-search-results) + */ + sort?: "author-date" | "committer-date"; + /** + * Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. + */ + order?: "desc" | "asc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"cloak">; +declare type SearchCommitsRequestOptions = { + method: "GET"; + url: "/search/commits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchCommitsResponseDataItemsItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type SearchCommitsResponseDataItemsItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: SearchCommitsResponseDataItemsItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + forks_url: string; + keys_url: string; + collaborators_url: string; + teams_url: string; + hooks_url: string; + issue_events_url: string; + events_url: string; + assignees_url: string; + branches_url: string; + tags_url: string; + blobs_url: string; + git_tags_url: string; + git_refs_url: string; + trees_url: string; + statuses_url: string; + languages_url: string; + stargazers_url: string; + contributors_url: string; + subscribers_url: string; + subscription_url: string; + commits_url: string; + git_commits_url: string; + comments_url: string; + issue_comment_url: string; + contents_url: string; + compare_url: string; + merges_url: string; + archive_url: string; + downloads_url: string; + issues_url: string; + pulls_url: string; + milestones_url: string; + notifications_url: string; + labels_url: string; + releases_url: string; + deployments_url: string; +}; +declare type SearchCommitsResponseDataItemsItemParentsItem = { + url: string; + html_url: string; + sha: string; +}; +declare type SearchCommitsResponseDataItemsItemCommitter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type SearchCommitsResponseDataItemsItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type SearchCommitsResponseDataItemsItemCommitTree = { + url: string; + sha: string; +}; +declare type SearchCommitsResponseDataItemsItemCommitCommitter = { + date: string; + name: string; + email: string; +}; +declare type SearchCommitsResponseDataItemsItemCommitAuthor = { + date: string; + name: string; + email: string; +}; +declare type SearchCommitsResponseDataItemsItemCommit = { + url: string; + author: SearchCommitsResponseDataItemsItemCommitAuthor; + committer: SearchCommitsResponseDataItemsItemCommitCommitter; + message: string; + tree: SearchCommitsResponseDataItemsItemCommitTree; + comment_count: number; +}; +declare type SearchCommitsResponseDataItemsItem = { + url: string; + sha: string; + html_url: string; + comments_url: string; + commit: SearchCommitsResponseDataItemsItemCommit; + author: SearchCommitsResponseDataItemsItemAuthor; + committer: SearchCommitsResponseDataItemsItemCommitter; + parents: Array; + repository: SearchCommitsResponseDataItemsItemRepository; + score: number; +}; +declare type SearchCommitsResponseData = { + total_count: number; + incomplete_results: boolean; + items: Array; +}; +declare type SearchIssuesAndPullRequestsEndpoint = { + /** + * The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). See "[Searching issues and pull requests](https://help.github.com/articles/searching-issues-and-pull-requests/)" for a detailed list of qualifiers. + */ + q: string; + /** + * Sorts the results of your query by the number of `comments`, `reactions`, `reactions-+1`, `reactions--1`, `reactions-smile`, `reactions-thinking_face`, `reactions-heart`, `reactions-tada`, or `interactions`. You can also sort results by how recently the items were `created` or `updated`, Default: [best match](https://developer.github.com/v3/search/#ranking-search-results) + */ + sort?: "comments" | "reactions" | "reactions-+1" | "reactions--1" | "reactions-smile" | "reactions-thinking_face" | "reactions-heart" | "reactions-tada" | "interactions" | "created" | "updated"; + /** + * Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. + */ + order?: "desc" | "asc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type SearchIssuesAndPullRequestsRequestOptions = { + method: "GET"; + url: "/search/issues"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchIssuesAndPullRequestsResponseDataItemsItemPullRequest = { + html_url: null; + diff_url: null; + patch_url: null; +}; +declare type SearchIssuesAndPullRequestsResponseDataItemsItemLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + color: string; +}; +declare type SearchIssuesAndPullRequestsResponseDataItemsItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; +}; +declare type SearchIssuesAndPullRequestsResponseDataItemsItem = { + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + id: number; + node_id: string; + number: number; + title: string; + user: SearchIssuesAndPullRequestsResponseDataItemsItemUser; + labels: Array; + state: string; + assignee: null; + milestone: null; + comments: number; + created_at: string; + updated_at: string; + closed_at: null; + pull_request: SearchIssuesAndPullRequestsResponseDataItemsItemPullRequest; + body: string; + score: number; +}; +declare type SearchIssuesAndPullRequestsResponseData = { + total_count: number; + incomplete_results: boolean; + items: Array; +}; +declare type SearchLabelsEndpoint = { + /** + * The id of the repository. + */ + repository_id: number; + /** + * The search keywords. This endpoint does not accept qualifiers in the query. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). + */ + q: string; + /** + * Sorts the results of your query by when the label was `created` or `updated`. Default: [best match](https://developer.github.com/v3/search/#ranking-search-results) + */ + sort?: "created" | "updated"; + /** + * Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. + */ + order?: "desc" | "asc"; +}; +declare type SearchLabelsRequestOptions = { + method: "GET"; + url: "/search/labels"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchLabelsResponseDataItemsItem = { + id: number; + node_id: string; + url: string; + name: string; + color: string; + default: boolean; + description: string; + score: number; +}; +declare type SearchLabelsResponseData = { + total_count: number; + incomplete_results: boolean; + items: Array; +}; +declare type SearchReposEndpoint = { + /** + * The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). See "[Searching for repositories](https://help.github.com/articles/searching-for-repositories/)" for a detailed list of qualifiers. + */ + q: string; + /** + * Sorts the results of your query by number of `stars`, `forks`, or `help-wanted-issues` or how recently the items were `updated`. Default: [best match](https://developer.github.com/v3/search/#ranking-search-results) + */ + sort?: "stars" | "forks" | "help-wanted-issues" | "updated"; + /** + * Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. + */ + order?: "desc" | "asc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type SearchReposRequestOptions = { + method: "GET"; + url: "/search/repositories"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchReposResponseDataItemsItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + received_events_url: string; + type: string; +}; +declare type SearchReposResponseDataItemsItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: SearchReposResponseDataItemsItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + created_at: string; + updated_at: string; + pushed_at: string; + homepage: string; + size: number; + stargazers_count: number; + watchers_count: number; + language: string; + forks_count: number; + open_issues_count: number; + master_branch: string; + default_branch: string; + score: number; +}; +declare type SearchReposResponseData = { + total_count: number; + incomplete_results: boolean; + items: Array; +}; +declare type SearchTopicsEndpoint = { + /** + * The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). + */ + q: string; +}; +declare type SearchTopicsRequestOptions = { + method: "GET"; + url: "/search/topics"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchTopicsResponseDataItemsItem = { + name: string; + display_name: string; + short_description: string; + description: string; + created_by: string; + released: string; + created_at: string; + updated_at: string; + featured: boolean; + curated: boolean; + score: number; +}; +declare type SearchTopicsResponseData = { + total_count: number; + incomplete_results: boolean; + items: Array; +}; +declare type SearchUsersEndpoint = { + /** + * The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). See "[Searching users](https://help.github.com/articles/searching-users/)" for a detailed list of qualifiers. + */ + q: string; + /** + * Sorts the results of your query by number of `followers` or `repositories`, or when the person `joined` GitHub. Default: [best match](https://developer.github.com/v3/search/#ranking-search-results) + */ + sort?: "followers" | "repositories" | "joined"; + /** + * Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. + */ + order?: "desc" | "asc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type SearchUsersRequestOptions = { + method: "GET"; + url: "/search/users"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchUsersResponseDataItemsItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + received_events_url: string; + type: string; + score: number; +}; +declare type SearchUsersResponseData = { + total_count: number; + incomplete_results: boolean; + items: Array; +}; +declare type TeamsGetLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; +}; +declare type TeamsGetLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsGetLegacyResponseDataOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; + name: string; + company: string; + blog: string; + location: string; + email: string; + is_verified: boolean; + has_organization_projects: boolean; + has_repository_projects: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; + html_url: string; + created_at: string; + type: string; +}; +declare type TeamsGetLegacyResponseData = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; + members_count: number; + repos_count: number; + created_at: string; + updated_at: string; + organization: TeamsGetLegacyResponseDataOrganization; +}; +declare type TeamsUpdateLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * The name of the team. + */ + name: string; + /** + * The description of the team. + */ + description?: string; + /** + * The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. The options are: + * **For a non-nested team:** + * \* `secret` - only visible to organization owners and members of this team. + * \* `closed` - visible to all members of this organization. + * **For a parent or child team:** + * \* `closed` - visible to all members of this organization. + */ + privacy?: "secret" | "closed"; + /** + * **Deprecated**. The permission that new repositories will be added to the team with when none is specified. Can be one of: + * \* `pull` - team members can pull, but not push to or administer newly-added repositories. + * \* `push` - team members can pull and push, but not administer newly-added repositories. + * \* `admin` - team members can pull, push and administer newly-added repositories. + */ + permission?: "pull" | "push" | "admin"; + /** + * The ID of a team to set as the parent team. + */ + parent_team_id?: number; +}; +declare type TeamsUpdateLegacyRequestOptions = { + method: "PATCH"; + url: "/teams/:team_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsUpdateLegacyResponseDataOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; + name: string; + company: string; + blog: string; + location: string; + email: string; + is_verified: boolean; + has_organization_projects: boolean; + has_repository_projects: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; + html_url: string; + created_at: string; + type: string; +}; +declare type TeamsUpdateLegacyResponseData = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; + members_count: number; + repos_count: number; + created_at: string; + updated_at: string; + organization: TeamsUpdateLegacyResponseDataOrganization; +}; +declare type TeamsDeleteLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; +}; +declare type TeamsDeleteLegacyRequestOptions = { + method: "DELETE"; + url: "/teams/:team_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListDiscussionsLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * Sorts the discussion comments by the date they were created. To return the oldest comments first, set to `asc`. Can be one of `asc` or `desc`. + */ + direction?: "asc" | "desc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListDiscussionsLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/discussions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListDiscussionsLegacyResponseDataItemReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsListDiscussionsLegacyResponseDataItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListDiscussionsLegacyResponseDataItem = { + author: TeamsListDiscussionsLegacyResponseDataItemAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + last_edited_at: null; + html_url: string; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + team_url: string; + title: string; + updated_at: string; + url: string; + reactions: TeamsListDiscussionsLegacyResponseDataItemReactions; +}; +declare type TeamsListDiscussionsLegacyResponseData = Array; +declare type TeamsCreateDiscussionLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * The discussion post's title. + */ + title: string; + /** + * The discussion post's body text. + */ + body: string; + /** + * Private posts are only visible to team members, organization owners, and team maintainers. Public posts are visible to all members of the organization. Set to `true` to create a private post. + */ + private?: boolean; +}; +declare type TeamsCreateDiscussionLegacyRequestOptions = { + method: "POST"; + url: "/teams/:team_id/discussions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsCreateDiscussionLegacyResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsCreateDiscussionLegacyResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCreateDiscussionLegacyResponseData = { + author: TeamsCreateDiscussionLegacyResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + last_edited_at: null; + html_url: string; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + team_url: string; + title: string; + updated_at: string; + url: string; + reactions: TeamsCreateDiscussionLegacyResponseDataReactions; +}; +declare type TeamsGetDiscussionLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; +}; +declare type TeamsGetDiscussionLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/discussions/:discussion_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsGetDiscussionLegacyResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsGetDiscussionLegacyResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsGetDiscussionLegacyResponseData = { + author: TeamsGetDiscussionLegacyResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + last_edited_at: null; + html_url: string; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + team_url: string; + title: string; + updated_at: string; + url: string; + reactions: TeamsGetDiscussionLegacyResponseDataReactions; +}; +declare type TeamsUpdateDiscussionLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * The discussion post's title. + */ + title?: string; + /** + * The discussion post's body text. + */ + body?: string; +}; +declare type TeamsUpdateDiscussionLegacyRequestOptions = { + method: "PATCH"; + url: "/teams/:team_id/discussions/:discussion_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsUpdateDiscussionLegacyResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsUpdateDiscussionLegacyResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsUpdateDiscussionLegacyResponseData = { + author: TeamsUpdateDiscussionLegacyResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + last_edited_at: string; + html_url: string; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + team_url: string; + title: string; + updated_at: string; + url: string; + reactions: TeamsUpdateDiscussionLegacyResponseDataReactions; +}; +declare type TeamsDeleteDiscussionLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; +}; +declare type TeamsDeleteDiscussionLegacyRequestOptions = { + method: "DELETE"; + url: "/teams/:team_id/discussions/:discussion_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListDiscussionCommentsLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * Sorts the discussion comments by the date they were created. To return the oldest comments first, set to `asc`. Can be one of `asc` or `desc`. + */ + direction?: "asc" | "desc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListDiscussionCommentsLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/discussions/:discussion_number/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListDiscussionCommentsLegacyResponseDataItemReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsListDiscussionCommentsLegacyResponseDataItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListDiscussionCommentsLegacyResponseDataItem = { + author: TeamsListDiscussionCommentsLegacyResponseDataItemAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + last_edited_at: null; + discussion_url: string; + html_url: string; + node_id: string; + number: number; + updated_at: string; + url: string; + reactions: TeamsListDiscussionCommentsLegacyResponseDataItemReactions; +}; +declare type TeamsListDiscussionCommentsLegacyResponseData = Array; +declare type TeamsCreateDiscussionCommentLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * The discussion comment's body text. + */ + body: string; +}; +declare type TeamsCreateDiscussionCommentLegacyRequestOptions = { + method: "POST"; + url: "/teams/:team_id/discussions/:discussion_number/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsCreateDiscussionCommentLegacyResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsCreateDiscussionCommentLegacyResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCreateDiscussionCommentLegacyResponseData = { + author: TeamsCreateDiscussionCommentLegacyResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + last_edited_at: null; + discussion_url: string; + html_url: string; + node_id: string; + number: number; + updated_at: string; + url: string; + reactions: TeamsCreateDiscussionCommentLegacyResponseDataReactions; +}; +declare type TeamsGetDiscussionCommentLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; +}; +declare type TeamsGetDiscussionCommentLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsGetDiscussionCommentLegacyResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsGetDiscussionCommentLegacyResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsGetDiscussionCommentLegacyResponseData = { + author: TeamsGetDiscussionCommentLegacyResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + last_edited_at: null; + discussion_url: string; + html_url: string; + node_id: string; + number: number; + updated_at: string; + url: string; + reactions: TeamsGetDiscussionCommentLegacyResponseDataReactions; +}; +declare type TeamsUpdateDiscussionCommentLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; + /** + * The discussion comment's body text. + */ + body: string; +}; +declare type TeamsUpdateDiscussionCommentLegacyRequestOptions = { + method: "PATCH"; + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsUpdateDiscussionCommentLegacyResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsUpdateDiscussionCommentLegacyResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsUpdateDiscussionCommentLegacyResponseData = { + author: TeamsUpdateDiscussionCommentLegacyResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + last_edited_at: string; + discussion_url: string; + html_url: string; + node_id: string; + number: number; + updated_at: string; + url: string; + reactions: TeamsUpdateDiscussionCommentLegacyResponseDataReactions; +}; +declare type TeamsDeleteDiscussionCommentLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; +}; +declare type TeamsDeleteDiscussionCommentLegacyRequestOptions = { + method: "DELETE"; + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForTeamDiscussionCommentLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to a team discussion comment. + */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsListForTeamDiscussionCommentLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForTeamDiscussionCommentLegacyResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsListForTeamDiscussionCommentLegacyResponseDataItem = { + id: number; + node_id: string; + user: ReactionsListForTeamDiscussionCommentLegacyResponseDataItemUser; + content: string; + created_at: string; +}; +declare type ReactionsListForTeamDiscussionCommentLegacyResponseData = Array; +declare type ReactionsCreateForTeamDiscussionCommentLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the team discussion comment. + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsCreateForTeamDiscussionCommentLegacyRequestOptions = { + method: "POST"; + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsCreateForTeamDiscussionCommentLegacyResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsCreateForTeamDiscussionCommentLegacyResponseData = { + id: number; + node_id: string; + user: ReactionsCreateForTeamDiscussionCommentLegacyResponseDataUser; + content: string; + created_at: string; +}; +declare type ReactionsListForTeamDiscussionLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to a team discussion. + */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsListForTeamDiscussionLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/discussions/:discussion_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForTeamDiscussionLegacyResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsListForTeamDiscussionLegacyResponseDataItem = { + id: number; + node_id: string; + user: ReactionsListForTeamDiscussionLegacyResponseDataItemUser; + content: string; + created_at: string; +}; +declare type ReactionsListForTeamDiscussionLegacyResponseData = Array; +declare type ReactionsCreateForTeamDiscussionLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the team discussion. + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsCreateForTeamDiscussionLegacyRequestOptions = { + method: "POST"; + url: "/teams/:team_id/discussions/:discussion_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsCreateForTeamDiscussionLegacyResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsCreateForTeamDiscussionLegacyResponseData = { + id: number; + node_id: string; + user: ReactionsCreateForTeamDiscussionLegacyResponseDataUser; + content: string; + created_at: string; +}; +declare type TeamsListPendingInvitationsLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListPendingInvitationsLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/invitations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListPendingInvitationsLegacyResponseDataItemInviter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListPendingInvitationsLegacyResponseDataItem = { + id: number; + login: string; + email: string; + role: string; + created_at: string; + inviter: TeamsListPendingInvitationsLegacyResponseDataItemInviter; + team_count: number; + invitation_team_url: string; +}; +declare type TeamsListPendingInvitationsLegacyResponseData = Array; +declare type TeamsListMembersLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * Filters members returned by their role in the team. Can be one of: + * \* `member` - normal members of the team. + * \* `maintainer` - team maintainers. + * \* `all` - all members of the team. + */ + role?: "member" | "maintainer" | "all"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListMembersLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/members"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListMembersLegacyResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListMembersLegacyResponseData = Array; +declare type TeamsGetMemberLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * username parameter + */ + username: string; +}; +declare type TeamsGetMemberLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/members/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsAddMemberLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * username parameter + */ + username: string; +}; +declare type TeamsAddMemberLegacyRequestOptions = { + method: "PUT"; + url: "/teams/:team_id/members/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsAddMemberLegacyResponseDataErrorsItem = { + code: string; + field: string; + resource: string; +}; +declare type TeamsAddMemberLegacyResponseData = { + message: string; + errors: Array; +}; +declare type TeamsRemoveMemberLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * username parameter + */ + username: string; +}; +declare type TeamsRemoveMemberLegacyRequestOptions = { + method: "DELETE"; + url: "/teams/:team_id/members/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsGetMembershipLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * username parameter + */ + username: string; +}; +declare type TeamsGetMembershipLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/memberships/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsGetMembershipLegacyResponseData = { + url: string; + role: string; + state: string; +}; +declare type TeamsAddOrUpdateMembershipLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * username parameter + */ + username: string; + /** + * The role that this user should have in the team. Can be one of: + * \* `member` - a normal member of the team. + * \* `maintainer` - a team maintainer. Able to add/remove other team members, promote other team members to team maintainer, and edit the team's name and description. + */ + role?: "member" | "maintainer"; +}; +declare type TeamsAddOrUpdateMembershipLegacyRequestOptions = { + method: "PUT"; + url: "/teams/:team_id/memberships/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsAddOrUpdateMembershipLegacyResponseData = { + url: string; + role: string; + state: string; +}; +declare type TeamsRemoveMembershipLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * username parameter + */ + username: string; +}; +declare type TeamsRemoveMembershipLegacyRequestOptions = { + method: "DELETE"; + url: "/teams/:team_id/memberships/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListProjectsLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"inertia">; +declare type TeamsListProjectsLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/projects"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListProjectsLegacyResponseDataItemPermissions = { + read: boolean; + write: boolean; + admin: boolean; +}; +declare type TeamsListProjectsLegacyResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListProjectsLegacyResponseDataItem = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: TeamsListProjectsLegacyResponseDataItemCreator; + created_at: string; + updated_at: string; + organization_permission: string; + private: boolean; + permissions: TeamsListProjectsLegacyResponseDataItemPermissions; +}; +declare type TeamsListProjectsLegacyResponseData = Array; +declare type TeamsReviewProjectLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * project_id parameter + */ + project_id: number; +} & RequiredPreview<"inertia">; +declare type TeamsReviewProjectLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/projects/:project_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsReviewProjectLegacyResponseDataPermissions = { + read: boolean; + write: boolean; + admin: boolean; +}; +declare type TeamsReviewProjectLegacyResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsReviewProjectLegacyResponseData = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: TeamsReviewProjectLegacyResponseDataCreator; + created_at: string; + updated_at: string; + organization_permission: string; + private: boolean; + permissions: TeamsReviewProjectLegacyResponseDataPermissions; +}; +declare type TeamsAddOrUpdateProjectLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * project_id parameter + */ + project_id: number; + /** + * The permission to grant to the team for this project. Can be one of: + * \* `read` - team members can read, but not write to or administer this project. + * \* `write` - team members can read and write, but not administer this project. + * \* `admin` - team members can read, write and administer this project. + * Default: the team's `permission` attribute will be used to determine what permission to grant the team on this project. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://developer.github.com/v3/#http-verbs)." + */ + permission?: "read" | "write" | "admin"; +} & RequiredPreview<"inertia">; +declare type TeamsAddOrUpdateProjectLegacyRequestOptions = { + method: "PUT"; + url: "/teams/:team_id/projects/:project_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsAddOrUpdateProjectLegacyResponseData = { + message: string; + documentation_url: string; +}; +declare type TeamsRemoveProjectLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * project_id parameter + */ + project_id: number; +}; +declare type TeamsRemoveProjectLegacyRequestOptions = { + method: "DELETE"; + url: "/teams/:team_id/projects/:project_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListReposLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListReposLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/repos"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListReposLegacyResponseDataItemLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type TeamsListReposLegacyResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type TeamsListReposLegacyResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListReposLegacyResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: TeamsListReposLegacyResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: TeamsListReposLegacyResponseDataItemPermissions; + template_repository: null; + temp_clone_token: string; + subscribers_count: number; + network_count: number; + license: TeamsListReposLegacyResponseDataItemLicense; +}; +declare type TeamsListReposLegacyResponseData = Array; +declare type TeamsCheckManagesRepoLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type TeamsCheckManagesRepoLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/repos/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsCheckManagesRepoLegacyResponseDataPermissions = { + pull: boolean; + triage: boolean; + push: boolean; + maintain: boolean; + admin: boolean; +}; +declare type TeamsCheckManagesRepoLegacyResponseDataSourcePermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type TeamsCheckManagesRepoLegacyResponseDataSourceOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCheckManagesRepoLegacyResponseDataSource = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: TeamsCheckManagesRepoLegacyResponseDataSourceOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: TeamsCheckManagesRepoLegacyResponseDataSourcePermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type TeamsCheckManagesRepoLegacyResponseDataParentPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type TeamsCheckManagesRepoLegacyResponseDataParentOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCheckManagesRepoLegacyResponseDataParent = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: TeamsCheckManagesRepoLegacyResponseDataParentOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: TeamsCheckManagesRepoLegacyResponseDataParentPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type TeamsCheckManagesRepoLegacyResponseDataOrganization = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCheckManagesRepoLegacyResponseData = { + organization: TeamsCheckManagesRepoLegacyResponseDataOrganization; + parent: TeamsCheckManagesRepoLegacyResponseDataParent; + source: TeamsCheckManagesRepoLegacyResponseDataSource; + permissions: TeamsCheckManagesRepoLegacyResponseDataPermissions; +}; +declare type TeamsAddOrUpdateRepoLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The permission to grant the team on this repository. Can be one of: + * \* `pull` - team members can pull, but not push to or administer this repository. + * \* `push` - team members can pull and push, but not administer this repository. + * \* `admin` - team members can pull, push and administer this repository. + * + * If no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository. + */ + permission?: "pull" | "push" | "admin"; +}; +declare type TeamsAddOrUpdateRepoLegacyRequestOptions = { + method: "PUT"; + url: "/teams/:team_id/repos/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsRemoveRepoLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type TeamsRemoveRepoLegacyRequestOptions = { + method: "DELETE"; + url: "/teams/:team_id/repos/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListIdPGroupsForLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; +}; +declare type TeamsListIdPGroupsForLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/team-sync/group-mappings"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListIdPGroupsForLegacyResponseDataGroupsItem = { + group_id: string; + group_name: string; + group_description: string; +}; +declare type TeamsListIdPGroupsForLegacyResponseData = { + groups: Array; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * The IdP groups you want to connect to a GitHub team. When updating, the new `groups` object will replace the original one. You must include any existing groups that you don't want to remove. + */ + groups: TeamsCreateOrUpdateIdPGroupConnectionsLegacyParamsGroups[]; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsLegacyRequestOptions = { + method: "PATCH"; + url: "/teams/:team_id/team-sync/group-mappings"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsLegacyResponseDataGroupsItem = { + group_id: string; + group_name: string; + group_description: string; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsLegacyResponseData = { + groups: Array; +}; +declare type TeamsListChildLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListChildLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListChildLegacyResponseDataItemParent = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; +}; +declare type TeamsListChildLegacyResponseDataItem = { + id: number; + node_id: string; + url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: TeamsListChildLegacyResponseDataItemParent; +}; +declare type TeamsListChildLegacyResponseData = Array; +declare type UsersGetAuthenticatedEndpoint = {}; +declare type UsersGetAuthenticatedRequestOptions = { + method: "GET"; + url: "/user"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersGetAuthenticatedResponseDataPlan = { + name: string; + space: number; + private_repos: number; + collaborators: number; +}; +declare type UsersGetAuthenticatedResponseData = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; + name: string; + company: string; + blog: string; + location: string; + email: string; + hireable: boolean; + bio: string; + public_repos: number; + public_gists: number; + followers: number; + following: number; + created_at: string; + updated_at: string; + private_gists?: number; + total_private_repos?: number; + owned_private_repos?: number; + disk_usage?: number; + collaborators?: number; + two_factor_authentication?: boolean; + plan?: UsersGetAuthenticatedResponseDataPlan; +}; +declare type UsersUpdateAuthenticatedEndpoint = { + /** + * The new name of the user. + */ + name?: string; + /** + * The publicly visible email address of the user. + */ + email?: string; + /** + * The new blog URL of the user. + */ + blog?: string; + /** + * The new company of the user. + */ + company?: string; + /** + * The new location of the user. + */ + location?: string; + /** + * The new hiring availability of the user. + */ + hireable?: boolean; + /** + * The new short biography of the user. + */ + bio?: string; +}; +declare type UsersUpdateAuthenticatedRequestOptions = { + method: "PATCH"; + url: "/user"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersUpdateAuthenticatedResponseDataPlan = { + name: string; + space: number; + private_repos: number; + collaborators: number; +}; +declare type UsersUpdateAuthenticatedResponseData = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; + name: string; + company: string; + blog: string; + location: string; + email: string; + hireable: boolean; + bio: string; + public_repos: number; + public_gists: number; + followers: number; + following: number; + created_at: string; + updated_at: string; + private_gists: number; + total_private_repos: number; + owned_private_repos: number; + disk_usage: number; + collaborators: number; + two_factor_authentication: boolean; + plan: UsersUpdateAuthenticatedResponseDataPlan; +}; +declare type UsersListBlockedEndpoint = {}; +declare type UsersListBlockedRequestOptions = { + method: "GET"; + url: "/user/blocks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListBlockedResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type UsersListBlockedResponseData = Array; +declare type UsersCheckBlockedEndpoint = { + /** + * username parameter + */ + username: string; +}; +declare type UsersCheckBlockedRequestOptions = { + method: "GET"; + url: "/user/blocks/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersBlockEndpoint = { + /** + * username parameter + */ + username: string; +}; +declare type UsersBlockRequestOptions = { + method: "PUT"; + url: "/user/blocks/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersUnblockEndpoint = { + /** + * username parameter + */ + username: string; +}; +declare type UsersUnblockRequestOptions = { + method: "DELETE"; + url: "/user/blocks/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersTogglePrimaryEmailVisibilityEndpoint = { + /** + * Specify the _primary_ email address that needs a visibility change. + */ + email: string; + /** + * Use `public` to enable an authenticated user to view the specified email address, or use `private` so this primary email address cannot be seen publicly. + */ + visibility: string; +}; +declare type UsersTogglePrimaryEmailVisibilityRequestOptions = { + method: "PATCH"; + url: "/user/email/visibility"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersTogglePrimaryEmailVisibilityResponseDataItem = { + email: string; + primary: boolean; + verified: boolean; + visibility: string; +}; +declare type UsersTogglePrimaryEmailVisibilityResponseData = Array; +declare type UsersListEmailsEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListEmailsRequestOptions = { + method: "GET"; + url: "/user/emails"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListEmailsResponseDataItem = { + email: string; + verified: boolean; + primary: boolean; + visibility: string; +}; +declare type UsersListEmailsResponseData = Array; +declare type UsersAddEmailsEndpoint = { + /** + * Adds one or more email addresses to your GitHub account. Must contain at least one email address. **Note:** Alternatively, you can pass a single email address or an `array` of emails addresses directly, but we recommend that you pass an object using the `emails` key. + */ + emails: string[]; +}; +declare type UsersAddEmailsRequestOptions = { + method: "POST"; + url: "/user/emails"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersAddEmailsResponseDataItem = { + email: string; + primary: boolean; + verified: boolean; + visibility: string | null; +}; +declare type UsersAddEmailsResponseData = Array; +declare type UsersDeleteEmailsEndpoint = { + /** + * Deletes one or more email addresses from your GitHub account. Must contain at least one email address. **Note:** Alternatively, you can pass a single email address or an `array` of emails addresses directly, but we recommend that you pass an object using the `emails` key. + */ + emails: string[]; +}; +declare type UsersDeleteEmailsRequestOptions = { + method: "DELETE"; + url: "/user/emails"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListFollowersForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListFollowersForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/followers"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListFollowersForAuthenticatedUserResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type UsersListFollowersForAuthenticatedUserResponseData = Array; +declare type UsersListFollowedByAuthenticatedEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListFollowedByAuthenticatedRequestOptions = { + method: "GET"; + url: "/user/following"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListFollowedByAuthenticatedResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type UsersListFollowedByAuthenticatedResponseData = Array; +declare type UsersCheckFollowingEndpoint = { + /** + * username parameter + */ + username: string; +}; +declare type UsersCheckFollowingRequestOptions = { + method: "GET"; + url: "/user/following/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersFollowEndpoint = { + /** + * username parameter + */ + username: string; +}; +declare type UsersFollowRequestOptions = { + method: "PUT"; + url: "/user/following/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersUnfollowEndpoint = { + /** + * username parameter + */ + username: string; +}; +declare type UsersUnfollowRequestOptions = { + method: "DELETE"; + url: "/user/following/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListGpgKeysEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListGpgKeysRequestOptions = { + method: "GET"; + url: "/user/gpg_keys"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListGpgKeysResponseDataItemSubkeysItem = { + id: number; + primary_key_id: number; + key_id: string; + public_key: string; + emails: Array; + subkeys: Array; + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_certify: boolean; + created_at: string; + expires_at: null; +}; +declare type UsersListGpgKeysResponseDataItemEmailsItem = { + email: string; + verified: boolean; +}; +declare type UsersListGpgKeysResponseDataItem = { + id: number; + primary_key_id: null; + key_id: string; + public_key: string; + emails: Array; + subkeys: Array; + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_certify: boolean; + created_at: string; + expires_at: null; +}; +declare type UsersListGpgKeysResponseData = Array; +declare type UsersCreateGpgKeyEndpoint = { + /** + * Your GPG key, generated in ASCII-armored format. See "[Generating a new GPG key](https://help.github.com/articles/generating-a-new-gpg-key/)" for help creating a GPG key. + */ + armored_public_key?: string; +}; +declare type UsersCreateGpgKeyRequestOptions = { + method: "POST"; + url: "/user/gpg_keys"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersCreateGpgKeyResponseDataSubkeysItem = { + id: number; + primary_key_id: number; + key_id: string; + public_key: string; + emails: Array; + subkeys: Array; + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_certify: boolean; + created_at: string; + expires_at: null; +}; +declare type UsersCreateGpgKeyResponseDataEmailsItem = { + email: string; + verified: boolean; +}; +declare type UsersCreateGpgKeyResponseData = { + id: number; + primary_key_id: null; + key_id: string; + public_key: string; + emails: Array; + subkeys: Array; + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_certify: boolean; + created_at: string; + expires_at: null; +}; +declare type UsersGetGpgKeyEndpoint = { + /** + * gpg_key_id parameter + */ + gpg_key_id: number; +}; +declare type UsersGetGpgKeyRequestOptions = { + method: "GET"; + url: "/user/gpg_keys/:gpg_key_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersGetGpgKeyResponseDataSubkeysItem = { + id: number; + primary_key_id: number; + key_id: string; + public_key: string; + emails: Array; + subkeys: Array; + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_certify: boolean; + created_at: string; + expires_at: null; +}; +declare type UsersGetGpgKeyResponseDataEmailsItem = { + email: string; + verified: boolean; +}; +declare type UsersGetGpgKeyResponseData = { + id: number; + primary_key_id: null; + key_id: string; + public_key: string; + emails: Array; + subkeys: Array; + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_certify: boolean; + created_at: string; + expires_at: null; +}; +declare type UsersDeleteGpgKeyEndpoint = { + /** + * gpg_key_id parameter + */ + gpg_key_id: number; +}; +declare type UsersDeleteGpgKeyRequestOptions = { + method: "DELETE"; + url: "/user/gpg_keys/:gpg_key_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListInstallationsForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"machine-man">; +declare type AppsListInstallationsForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/installations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListInstallationsForAuthenticatedUserResponseDataInstallationsItemPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type AppsListInstallationsForAuthenticatedUserResponseDataInstallationsItemAccount = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url?: string; + issues_url?: string; + members_url?: string; + public_members_url?: string; + avatar_url: string; + description?: string; + gravatar_id?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; +}; +declare type AppsListInstallationsForAuthenticatedUserResponseDataInstallationsItem = { + id: number; + account: AppsListInstallationsForAuthenticatedUserResponseDataInstallationsItemAccount; + access_tokens_url: string; + repositories_url: string; + html_url: string; + app_id: number; + target_id: number; + target_type: string; + permissions: AppsListInstallationsForAuthenticatedUserResponseDataInstallationsItemPermissions; + events: Array; + single_file_name: string; +}; +declare type AppsListInstallationsForAuthenticatedUserResponseData = { + total_count: number; + installations: Array; +}; +declare type AppsListInstallationReposForAuthenticatedUserEndpoint = { + /** + * installation_id parameter + */ + installation_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"machine-man">; +declare type AppsListInstallationReposForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/installations/:installation_id/repositories"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListInstallationReposForAuthenticatedUserResponseDataRepositoriesItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type AppsListInstallationReposForAuthenticatedUserResponseDataRepositoriesItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsListInstallationReposForAuthenticatedUserResponseDataRepositoriesItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: AppsListInstallationReposForAuthenticatedUserResponseDataRepositoriesItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: AppsListInstallationReposForAuthenticatedUserResponseDataRepositoriesItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type AppsListInstallationReposForAuthenticatedUserResponseData = { + total_count: number; + repositories: Array; +}; +declare type AppsAddRepoToInstallationEndpoint = { + /** + * installation_id parameter + */ + installation_id: number; + /** + * repository_id parameter + */ + repository_id: number; +} & RequiredPreview<"machine-man">; +declare type AppsAddRepoToInstallationRequestOptions = { + method: "PUT"; + url: "/user/installations/:installation_id/repositories/:repository_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsRemoveRepoFromInstallationEndpoint = { + /** + * installation_id parameter + */ + installation_id: number; + /** + * repository_id parameter + */ + repository_id: number; +} & RequiredPreview<"machine-man">; +declare type AppsRemoveRepoFromInstallationRequestOptions = { + method: "DELETE"; + url: "/user/installations/:installation_id/repositories/:repository_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListForAuthenticatedUserEndpoint = { + /** + * Indicates which sorts of issues to return. Can be one of: + * \* `assigned`: Issues assigned to you + * \* `created`: Issues created by you + * \* `mentioned`: Issues mentioning you + * \* `subscribed`: Issues you're subscribed to updates for + * \* `all`: All issues the authenticated user can see, regardless of participation or creation + */ + filter?: "assigned" | "created" | "mentioned" | "subscribed" | "all"; + /** + * Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + /** + * A list of comma separated label names. Example: `bug,ui,@high` + */ + labels?: string; + /** + * What to sort results by. Can be either `created`, `updated`, `comments`. + */ + sort?: "created" | "updated" | "comments"; + /** + * The direction of the sort. Can be either `asc` or `desc`. + */ + direction?: "asc" | "desc"; + /** + * Only issues updated at or after this time are returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type IssuesListForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/issues"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemRepositoryPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: IssuesListForAuthenticatedUserResponseDataItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: IssuesListForAuthenticatedUserResponseDataItemRepositoryPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemPullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesListForAuthenticatedUserResponseDataItemMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForAuthenticatedUserResponseDataItem = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesListForAuthenticatedUserResponseDataItemUser; + labels: Array; + assignee: IssuesListForAuthenticatedUserResponseDataItemAssignee; + assignees: Array; + milestone: IssuesListForAuthenticatedUserResponseDataItemMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesListForAuthenticatedUserResponseDataItemPullRequest; + closed_at: null; + created_at: string; + updated_at: string; + repository: IssuesListForAuthenticatedUserResponseDataItemRepository; +}; +declare type IssuesListForAuthenticatedUserResponseData = Array; +declare type UsersListPublicKeysEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListPublicKeysRequestOptions = { + method: "GET"; + url: "/user/keys"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListPublicKeysResponseDataItem = { + key_id: string; + key: string; +}; +declare type UsersListPublicKeysResponseData = Array; +declare type UsersCreatePublicKeyEndpoint = { + /** + * A descriptive name for the new key. Use a name that will help you recognize this key in your GitHub account. For example, if you're using a personal Mac, you might call this key "Personal MacBook Air". + */ + title?: string; + /** + * The public SSH key to add to your GitHub account. See "[Generating a new SSH key](https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/)" for guidance on how to create a public SSH key. + */ + key?: string; +}; +declare type UsersCreatePublicKeyRequestOptions = { + method: "POST"; + url: "/user/keys"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersCreatePublicKeyResponseData = { + key_id: string; + key: string; +}; +declare type UsersGetPublicKeyEndpoint = { + /** + * key_id parameter + */ + key_id: number; +}; +declare type UsersGetPublicKeyRequestOptions = { + method: "GET"; + url: "/user/keys/:key_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersGetPublicKeyResponseData = { + key_id: string; + key: string; +}; +declare type UsersDeletePublicKeyEndpoint = { + /** + * key_id parameter + */ + key_id: number; +}; +declare type UsersDeletePublicKeyRequestOptions = { + method: "DELETE"; + url: "/user/keys/:key_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListSubscriptionsForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type AppsListSubscriptionsForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/marketplace_purchases"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListSubscriptionsForAuthenticatedUserResponseDataItemPlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + unit_name: null; + state: string; + bullets: Array; +}; +declare type AppsListSubscriptionsForAuthenticatedUserResponseDataItemAccount = { + login: string; + id: number; + url: string; + email: null; + organization_billing_email: string; + type: string; +}; +declare type AppsListSubscriptionsForAuthenticatedUserResponseDataItem = { + billing_cycle: string; + next_billing_date: string; + unit_count: null; + on_free_trial: boolean; + free_trial_ends_on: string; + updated_at: string; + account: AppsListSubscriptionsForAuthenticatedUserResponseDataItemAccount; + plan: AppsListSubscriptionsForAuthenticatedUserResponseDataItemPlan; +}; +declare type AppsListSubscriptionsForAuthenticatedUserResponseData = Array; +declare type AppsListSubscriptionsForAuthenticatedUserStubbedEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type AppsListSubscriptionsForAuthenticatedUserStubbedRequestOptions = { + method: "GET"; + url: "/user/marketplace_purchases/stubbed"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListSubscriptionsForAuthenticatedUserStubbedResponseDataItemPlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + unit_name: null; + state: string; + bullets: Array; +}; +declare type AppsListSubscriptionsForAuthenticatedUserStubbedResponseDataItemAccount = { + login: string; + id: number; + url: string; + email: null; + organization_billing_email: string; + type: string; +}; +declare type AppsListSubscriptionsForAuthenticatedUserStubbedResponseDataItem = { + billing_cycle: string; + next_billing_date: string; + unit_count: null; + on_free_trial: boolean; + free_trial_ends_on: string; + updated_at: string; + account: AppsListSubscriptionsForAuthenticatedUserStubbedResponseDataItemAccount; + plan: AppsListSubscriptionsForAuthenticatedUserStubbedResponseDataItemPlan; +}; +declare type AppsListSubscriptionsForAuthenticatedUserStubbedResponseData = Array; +declare type OrgsListMembershipsEndpoint = { + /** + * Indicates the state of the memberships to return. Can be either `active` or `pending`. If not specified, the API returns both active and pending memberships. + */ + state?: "active" | "pending"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type OrgsListMembershipsRequestOptions = { + method: "GET"; + url: "/user/memberships/orgs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListMembershipsResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsListMembershipsResponseDataItemOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type OrgsListMembershipsResponseDataItem = { + url: string; + state: string; + role: string; + organization_url: string; + organization: OrgsListMembershipsResponseDataItemOrganization; + user: OrgsListMembershipsResponseDataItemUser; +}; +declare type OrgsListMembershipsResponseData = Array; +declare type OrgsGetMembershipForAuthenticatedUserEndpoint = { + /** + * org parameter + */ + org: string; +}; +declare type OrgsGetMembershipForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/memberships/orgs/:org"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsGetMembershipForAuthenticatedUserResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsGetMembershipForAuthenticatedUserResponseDataOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type OrgsGetMembershipForAuthenticatedUserResponseData = { + url: string; + state: string; + role: string; + organization_url: string; + organization: OrgsGetMembershipForAuthenticatedUserResponseDataOrganization; + user: OrgsGetMembershipForAuthenticatedUserResponseDataUser; +}; +declare type OrgsUpdateMembershipEndpoint = { + /** + * org parameter + */ + org: string; + /** + * The state that the membership should be in. Only `"active"` will be accepted. + */ + state: "active"; +}; +declare type OrgsUpdateMembershipRequestOptions = { + method: "PATCH"; + url: "/user/memberships/orgs/:org"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsUpdateMembershipResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsUpdateMembershipResponseDataOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type OrgsUpdateMembershipResponseData = { + url: string; + state: string; + role: string; + organization_url: string; + organization: OrgsUpdateMembershipResponseDataOrganization; + user: OrgsUpdateMembershipResponseDataUser; +}; +declare type MigrationsStartForAuthenticatedUserEndpoint = { + /** + * An array of repositories to include in the migration. + */ + repositories: string[]; + /** + * Locks the `repositories` to prevent changes during the migration when set to `true`. + */ + lock_repositories?: boolean; + /** + * Does not include attachments uploaded to GitHub.com in the migration data when set to `true`. Excluding attachments will reduce the migration archive file size. + */ + exclude_attachments?: boolean; +}; +declare type MigrationsStartForAuthenticatedUserRequestOptions = { + method: "POST"; + url: "/user/migrations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsStartForAuthenticatedUserResponseDataRepositoriesItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type MigrationsStartForAuthenticatedUserResponseDataRepositoriesItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsStartForAuthenticatedUserResponseDataRepositoriesItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: MigrationsStartForAuthenticatedUserResponseDataRepositoriesItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: MigrationsStartForAuthenticatedUserResponseDataRepositoriesItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type MigrationsStartForAuthenticatedUserResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsStartForAuthenticatedUserResponseData = { + id: number; + owner: MigrationsStartForAuthenticatedUserResponseDataOwner; + guid: string; + state: string; + lock_repositories: boolean; + exclude_attachments: boolean; + repositories: Array; + url: string; + created_at: string; + updated_at: string; +}; +declare type MigrationsListForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsListForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/migrations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsListForAuthenticatedUserResponseDataItemRepositoriesItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type MigrationsListForAuthenticatedUserResponseDataItemRepositoriesItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsListForAuthenticatedUserResponseDataItemRepositoriesItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: MigrationsListForAuthenticatedUserResponseDataItemRepositoriesItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: MigrationsListForAuthenticatedUserResponseDataItemRepositoriesItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type MigrationsListForAuthenticatedUserResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsListForAuthenticatedUserResponseDataItem = { + id: number; + owner: MigrationsListForAuthenticatedUserResponseDataItemOwner; + guid: string; + state: string; + lock_repositories: boolean; + exclude_attachments: boolean; + repositories: Array; + url: string; + created_at: string; + updated_at: string; +}; +declare type MigrationsListForAuthenticatedUserResponseData = Array; +declare type MigrationsGetStatusForAuthenticatedUserEndpoint = { + /** + * migration_id parameter + */ + migration_id: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsGetStatusForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/migrations/:migration_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsGetStatusForAuthenticatedUserResponseDataRepositoriesItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type MigrationsGetStatusForAuthenticatedUserResponseDataRepositoriesItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsGetStatusForAuthenticatedUserResponseDataRepositoriesItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: MigrationsGetStatusForAuthenticatedUserResponseDataRepositoriesItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: MigrationsGetStatusForAuthenticatedUserResponseDataRepositoriesItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type MigrationsGetStatusForAuthenticatedUserResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsGetStatusForAuthenticatedUserResponseData = { + id: number; + owner: MigrationsGetStatusForAuthenticatedUserResponseDataOwner; + guid: string; + state: string; + lock_repositories: boolean; + exclude_attachments: boolean; + repositories: Array; + url: string; + created_at: string; + updated_at: string; +}; +declare type MigrationsGetArchiveForAuthenticatedUserEndpoint = { + /** + * migration_id parameter + */ + migration_id: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsGetArchiveForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/migrations/:migration_id/archive"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsDeleteArchiveForAuthenticatedUserEndpoint = { + /** + * migration_id parameter + */ + migration_id: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsDeleteArchiveForAuthenticatedUserRequestOptions = { + method: "DELETE"; + url: "/user/migrations/:migration_id/archive"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsUnlockRepoForAuthenticatedUserEndpoint = { + /** + * migration_id parameter + */ + migration_id: number; + /** + * repo_name parameter + */ + repo_name: string; +} & RequiredPreview<"wyandotte">; +declare type MigrationsUnlockRepoForAuthenticatedUserRequestOptions = { + method: "DELETE"; + url: "/user/migrations/:migration_id/repos/:repo_name/lock"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type OrgsListForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/orgs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListForAuthenticatedUserResponseDataItem = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type OrgsListForAuthenticatedUserResponseData = Array; +declare type ProjectsCreateForAuthenticatedUserEndpoint = { + /** + * The name of the project. + */ + name: string; + /** + * The description of the project. + */ + body?: string; +} & RequiredPreview<"inertia">; +declare type ProjectsCreateForAuthenticatedUserRequestOptions = { + method: "POST"; + url: "/user/projects"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsCreateForAuthenticatedUserResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsCreateForAuthenticatedUserResponseData = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: ProjectsCreateForAuthenticatedUserResponseDataCreator; + created_at: string; + updated_at: string; +}; +declare type UsersListPublicEmailsEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListPublicEmailsRequestOptions = { + method: "GET"; + url: "/user/public_emails"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListPublicEmailsResponseDataItem = { + email: string; + verified: boolean; + primary: boolean; + visibility: string; +}; +declare type UsersListPublicEmailsResponseData = Array; +declare type ReposListForAuthenticatedUserEndpoint = { + /** + * Can be one of `all`, `public`, or `private`. + */ + visibility?: "all" | "public" | "private"; + /** + * Comma-separated list of values. Can include: + * \* `owner`: Repositories that are owned by the authenticated user. + * \* `collaborator`: Repositories that the user has been added to as a collaborator. + * \* `organization_member`: Repositories that the user has access to through being a member of an organization. This includes every repository on every team that the user is on. + */ + affiliation?: string; + /** + * Can be one of `all`, `owner`, `public`, `private`, `member`. Default: `all` + * + * Will cause a `422` error if used in the same request as **visibility** or **affiliation**. Will cause a `422` error if used in the same request as **visibility** or **affiliation**. + */ + type?: "all" | "owner" | "public" | "private" | "member"; + /** + * Can be one of `created`, `updated`, `pushed`, `full_name`. + */ + sort?: "created" | "updated" | "pushed" | "full_name"; + /** + * Can be one of `asc` or `desc`. Default: `asc` when using `full_name`, otherwise `desc` + */ + direction?: "asc" | "desc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/repos"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateForAuthenticatedUserEndpoint = { + /** + * The name of the repository. + */ + name: string; + /** + * A short description of the repository. + */ + description?: string; + /** + * A URL with more information about the repository. + */ + homepage?: string; + /** + * Either `true` to create a private repository or `false` to create a public one. + */ + private?: boolean; + /** + * Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `visibility` can also be `internal`. For more information, see "[Creating an internal repository](https://help.github.com/github/creating-cloning-and-archiving-repositories/creating-an-internal-repository)" in the GitHub Help documentation. + * The `visibility` parameter overrides the `private` parameter when you use both parameters with the `nebula-preview` preview header. + */ + visibility?: "public" | "private" | "visibility" | "internal"; + /** + * Either `true` to enable issues for this repository or `false` to disable them. + */ + has_issues?: boolean; + /** + * Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error. + */ + has_projects?: boolean; + /** + * Either `true` to enable the wiki for this repository or `false` to disable it. + */ + has_wiki?: boolean; + /** + * Either `true` to make this repo available as a template repository or `false` to prevent it. + */ + is_template?: boolean; + /** + * The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization. + */ + team_id?: number; + /** + * Pass `true` to create an initial commit with empty README. + */ + auto_init?: boolean; + /** + * Desired language or platform [.gitignore template](https://github.com/github/gitignore) to apply. Use the name of the template without the extension. For example, "Haskell". + */ + gitignore_template?: string; + /** + * Choose an [open source license template](https://choosealicense.com/) that best suits your needs, and then use the [license keyword](https://help.github.com/articles/licensing-a-repository/#searching-github-by-license-type) as the `license_template` string. For example, "mit" or "mpl-2.0". + */ + license_template?: string; + /** + * Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. + */ + allow_squash_merge?: boolean; + /** + * Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. + */ + allow_merge_commit?: boolean; + /** + * Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. + */ + allow_rebase_merge?: boolean; + /** + * Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. + */ + delete_branch_on_merge?: boolean; +}; +declare type ReposCreateForAuthenticatedUserRequestOptions = { + method: "POST"; + url: "/user/repos"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateForAuthenticatedUserResponseDataPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposCreateForAuthenticatedUserResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateForAuthenticatedUserResponseData = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposCreateForAuthenticatedUserResponseDataOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposCreateForAuthenticatedUserResponseDataPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposListInvitationsForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListInvitationsForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/repository_invitations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListInvitationsForAuthenticatedUserResponseDataItemInviter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListInvitationsForAuthenticatedUserResponseDataItemInvitee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListInvitationsForAuthenticatedUserResponseDataItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListInvitationsForAuthenticatedUserResponseDataItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposListInvitationsForAuthenticatedUserResponseDataItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ReposListInvitationsForAuthenticatedUserResponseDataItem = { + id: number; + repository: ReposListInvitationsForAuthenticatedUserResponseDataItemRepository; + invitee: ReposListInvitationsForAuthenticatedUserResponseDataItemInvitee; + inviter: ReposListInvitationsForAuthenticatedUserResponseDataItemInviter; + permissions: string; + created_at: string; + url: string; + html_url: string; +}; +declare type ReposListInvitationsForAuthenticatedUserResponseData = Array; +declare type ReposAcceptInvitationEndpoint = { + /** + * invitation_id parameter + */ + invitation_id: number; +}; +declare type ReposAcceptInvitationRequestOptions = { + method: "PATCH"; + url: "/user/repository_invitations/:invitation_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposDeclineInvitationEndpoint = { + /** + * invitation_id parameter + */ + invitation_id: number; +}; +declare type ReposDeclineInvitationRequestOptions = { + method: "DELETE"; + url: "/user/repository_invitations/:invitation_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListReposStarredByAuthenticatedUserEndpoint = { + /** + * One of `created` (when the repository was starred) or `updated` (when it was last pushed to). + */ + sort?: "created" | "updated"; + /** + * One of `asc` (ascending) or `desc` (descending). + */ + direction?: "asc" | "desc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListReposStarredByAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/starred"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListReposStarredByAuthenticatedUserResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ActivityListReposStarredByAuthenticatedUserResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActivityListReposStarredByAuthenticatedUserResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActivityListReposStarredByAuthenticatedUserResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ActivityListReposStarredByAuthenticatedUserResponseDataItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ActivityListReposStarredByAuthenticatedUserResponseData = Array; +declare type ActivityCheckRepoIsStarredByAuthenticatedUserEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActivityCheckRepoIsStarredByAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/starred/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityStarRepoForAuthenticatedUserEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActivityStarRepoForAuthenticatedUserRequestOptions = { + method: "PUT"; + url: "/user/starred/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityUnstarRepoForAuthenticatedUserEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActivityUnstarRepoForAuthenticatedUserRequestOptions = { + method: "DELETE"; + url: "/user/starred/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListWatchedReposForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListWatchedReposForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/subscriptions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListWatchedReposForAuthenticatedUserResponseDataItemLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type ActivityListWatchedReposForAuthenticatedUserResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ActivityListWatchedReposForAuthenticatedUserResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActivityListWatchedReposForAuthenticatedUserResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActivityListWatchedReposForAuthenticatedUserResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ActivityListWatchedReposForAuthenticatedUserResponseDataItemPermissions; + template_repository: null; + temp_clone_token: string; + subscribers_count: number; + network_count: number; + license: ActivityListWatchedReposForAuthenticatedUserResponseDataItemLicense; +}; +declare type ActivityListWatchedReposForAuthenticatedUserResponseData = Array; +declare type ActivityCheckWatchingRepoLegacyEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActivityCheckWatchingRepoLegacyRequestOptions = { + method: "GET"; + url: "/user/subscriptions/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityWatchRepoLegacyEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActivityWatchRepoLegacyRequestOptions = { + method: "PUT"; + url: "/user/subscriptions/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityStopWatchingRepoLegacyEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActivityStopWatchingRepoLegacyRequestOptions = { + method: "DELETE"; + url: "/user/subscriptions/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListForAuthenticatedUserResponseDataItemOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; + name: string; + company: string; + blog: string; + location: string; + email: string; + is_verified: boolean; + has_organization_projects: boolean; + has_repository_projects: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; + html_url: string; + created_at: string; + type: string; +}; +declare type TeamsListForAuthenticatedUserResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; + members_count: number; + repos_count: number; + created_at: string; + updated_at: string; + organization: TeamsListForAuthenticatedUserResponseDataItemOrganization; +}; +declare type TeamsListForAuthenticatedUserResponseData = Array; +declare type MigrationsListReposForUserEndpoint = { + /** + * migration_id parameter + */ + migration_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsListReposForUserRequestOptions = { + method: "GET"; + url: "/user/:migration_id/repositories"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsListReposForUserResponseDataItemLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type MigrationsListReposForUserResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type MigrationsListReposForUserResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsListReposForUserResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: MigrationsListReposForUserResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: MigrationsListReposForUserResponseDataItemPermissions; + template_repository: null; + temp_clone_token: string; + subscribers_count: number; + network_count: number; + license: MigrationsListReposForUserResponseDataItemLicense; +}; +declare type MigrationsListReposForUserResponseData = Array; +declare type UsersListEndpoint = { + /** + * The integer ID of the last User that you've seen. + */ + since?: string; +}; +declare type UsersListRequestOptions = { + method: "GET"; + url: "/users"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type UsersListResponseData = Array; +declare type UsersGetByUsernameEndpoint = { + /** + * username parameter + */ + username: string; +}; +declare type UsersGetByUsernameRequestOptions = { + method: "GET"; + url: "/users/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersGetByUsernameResponseDataPlan = { + name: string; + space: number; + collaborators: number; + private_repos: number; +}; +declare type UsersGetByUsernameResponseData = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; + name: string; + company: string; + blog: string; + location: string; + email: string; + hireable: boolean; + bio: string; + public_repos: number; + public_gists: number; + followers: number; + following: number; + created_at: string; + updated_at: string; + plan?: UsersGetByUsernameResponseDataPlan; +}; +declare type ActivityListEventsForAuthenticatedUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListEventsForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/users/:username/events"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListOrgEventsForAuthenticatedUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListOrgEventsForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/users/:username/events/orgs/:org"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListPublicEventsForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListPublicEventsForUserRequestOptions = { + method: "GET"; + url: "/users/:username/events/public"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListFollowersForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListFollowersForUserRequestOptions = { + method: "GET"; + url: "/users/:username/followers"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListFollowersForUserResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type UsersListFollowersForUserResponseData = Array; +declare type UsersListFollowingForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListFollowingForUserRequestOptions = { + method: "GET"; + url: "/users/:username/following"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListFollowingForUserResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type UsersListFollowingForUserResponseData = Array; +declare type UsersCheckFollowingForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * target_user parameter + */ + target_user: string; +}; +declare type UsersCheckFollowingForUserRequestOptions = { + method: "GET"; + url: "/users/:username/following/:target_user"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsListForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Only gists updated at or after this time are returned. + */ + since?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type GistsListForUserRequestOptions = { + method: "GET"; + url: "/users/:username/gists"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsListForUserResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsListForUserResponseDataItemFilesHelloWorldRb = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; +}; +declare type GistsListForUserResponseDataItemFiles = { + "hello_world.rb": GistsListForUserResponseDataItemFilesHelloWorldRb; +}; +declare type GistsListForUserResponseDataItem = { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: GistsListForUserResponseDataItemFiles; + public: boolean; + created_at: string; + updated_at: string; + description: string; + comments: number; + user: null; + comments_url: string; + owner: GistsListForUserResponseDataItemOwner; + truncated: boolean; +}; +declare type GistsListForUserResponseData = Array; +declare type UsersListGpgKeysForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListGpgKeysForUserRequestOptions = { + method: "GET"; + url: "/users/:username/gpg_keys"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListGpgKeysForUserResponseDataItemSubkeysItem = { + id: number; + primary_key_id: number; + key_id: string; + public_key: string; + emails: Array; + subkeys: Array; + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_certify: boolean; + created_at: string; + expires_at: null; +}; +declare type UsersListGpgKeysForUserResponseDataItemEmailsItem = { + email: string; + verified: boolean; +}; +declare type UsersListGpgKeysForUserResponseDataItem = { + id: number; + primary_key_id: null; + key_id: string; + public_key: string; + emails: Array; + subkeys: Array; + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_certify: boolean; + created_at: string; + expires_at: null; +}; +declare type UsersListGpgKeysForUserResponseData = Array; +declare type UsersGetContextForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Identifies which additional information you'd like to receive about the person's hovercard. Can be `organization`, `repository`, `issue`, `pull_request`. **Required** when using `subject_id`. + */ + subject_type?: "organization" | "repository" | "issue" | "pull_request"; + /** + * Uses the ID for the `subject_type` you specified. **Required** when using `subject_type`. + */ + subject_id?: string; +}; +declare type UsersGetContextForUserRequestOptions = { + method: "GET"; + url: "/users/:username/hovercard"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersGetContextForUserResponseDataContextsItem = { + message: string; + octicon: string; +}; +declare type UsersGetContextForUserResponseData = { + contexts: Array; +}; +declare type AppsGetUserInstallationEndpoint = { + /** + * username parameter + */ + username: string; +} & RequiredPreview<"machine-man">; +declare type AppsGetUserInstallationRequestOptions = { + method: "GET"; + url: "/users/:username/installation"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetUserInstallationResponseDataPermissions = { + checks: string; + metadata: string; + contents: string; +}; +declare type AppsGetUserInstallationResponseDataAccount = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsGetUserInstallationResponseData = { + id: number; + account: AppsGetUserInstallationResponseDataAccount; + repository_selection: string; + access_tokens_url: string; + repositories_url: string; + html_url: string; + app_id: number; + target_id: number; + target_type: string; + permissions: AppsGetUserInstallationResponseDataPermissions; + events: Array; + created_at: string; + updated_at: string; + single_file_name: null; +}; +declare type UsersListPublicKeysForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListPublicKeysForUserRequestOptions = { + method: "GET"; + url: "/users/:username/keys"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListPublicKeysForUserResponseDataItem = { + id: number; + key: string; +}; +declare type UsersListPublicKeysForUserResponseData = Array; +declare type OrgsListForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type OrgsListForUserRequestOptions = { + method: "GET"; + url: "/users/:username/orgs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListForUserResponseDataItem = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type OrgsListForUserResponseData = Array; +declare type ProjectsListForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"inertia">; +declare type ProjectsListForUserRequestOptions = { + method: "GET"; + url: "/users/:username/projects"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsListForUserResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsListForUserResponseDataItem = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: ProjectsListForUserResponseDataItemCreator; + created_at: string; + updated_at: string; +}; +declare type ProjectsListForUserResponseData = Array; +declare type ActivityListReceivedEventsForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListReceivedEventsForUserRequestOptions = { + method: "GET"; + url: "/users/:username/received_events"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListReceivedPublicEventsForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListReceivedPublicEventsForUserRequestOptions = { + method: "GET"; + url: "/users/:username/received_events/public"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Can be one of `all`, `owner`, `member`. + */ + type?: "all" | "owner" | "member"; + /** + * Can be one of `created`, `updated`, `pushed`, `full_name`. + */ + sort?: "created" | "updated" | "pushed" | "full_name"; + /** + * Can be one of `asc` or `desc`. Default: `asc` when using `full_name`, otherwise `desc` + */ + direction?: "asc" | "desc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListForUserRequestOptions = { + method: "GET"; + url: "/users/:username/repos"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListReposStarredByUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * One of `created` (when the repository was starred) or `updated` (when it was last pushed to). + */ + sort?: "created" | "updated"; + /** + * One of `asc` (ascending) or `desc` (descending). + */ + direction?: "asc" | "desc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListReposStarredByUserRequestOptions = { + method: "GET"; + url: "/users/:username/starred"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListReposStarredByUserResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ActivityListReposStarredByUserResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActivityListReposStarredByUserResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActivityListReposStarredByUserResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ActivityListReposStarredByUserResponseDataItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ActivityListReposStarredByUserResponseData = Array; +declare type ActivityListReposWatchedByUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListReposWatchedByUserRequestOptions = { + method: "GET"; + url: "/users/:username/subscriptions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListReposWatchedByUserResponseDataItemLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type ActivityListReposWatchedByUserResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ActivityListReposWatchedByUserResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActivityListReposWatchedByUserResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActivityListReposWatchedByUserResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ActivityListReposWatchedByUserResponseDataItemPermissions; + template_repository: null; + temp_clone_token: string; + subscribers_count: number; + network_count: number; + license: ActivityListReposWatchedByUserResponseDataItemLicense; +}; +declare type ActivityListReposWatchedByUserResponseData = Array; +declare type AppsCreateInstallationTokenParamsPermissions = {}; +declare type GistsCreateParamsFiles = { + content?: string; +}; +declare type GistsUpdateParamsFiles = { + content?: string; + filename?: string; +}; +declare type OrgsCreateHookParamsConfig = { + url: string; + content_type?: string; + secret?: string; + insecure_ssl?: string; +}; +declare type OrgsUpdateHookParamsConfig = { + url: string; + content_type?: string; + secret?: string; + insecure_ssl?: string; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsInOrgParamsGroups = { + group_id: string; + group_name: string; + group_description: string; +}; +declare type ReposUpdateBranchProtectionParamsRequiredStatusChecks = { + strict: boolean; + contexts: string[]; +}; +declare type ReposUpdateBranchProtectionParamsRequiredPullRequestReviews = { + dismissal_restrictions?: ReposUpdateBranchProtectionParamsRequiredPullRequestReviewsDismissalRestrictions; + dismiss_stale_reviews?: boolean; + require_code_owner_reviews?: boolean; + required_approving_review_count?: number; +}; +declare type ReposUpdateBranchProtectionParamsRequiredPullRequestReviewsDismissalRestrictions = { + users?: string[]; + teams?: string[]; +}; +declare type ReposUpdateBranchProtectionParamsRestrictions = { + users: string[]; + teams: string[]; + apps?: string[]; +}; +declare type ReposUpdateProtectedBranchPullRequestReviewEnforcementParamsDismissalRestrictions = { + users?: string[]; + teams?: string[]; +}; +declare type ChecksCreateParamsOutput = { + title: string; + summary: string; + text?: string; + annotations?: ChecksCreateParamsOutputAnnotations[]; + images?: ChecksCreateParamsOutputImages[]; +}; +declare type ChecksCreateParamsOutputAnnotations = { + path: string; + start_line: number; + end_line: number; + start_column?: number; + end_column?: number; + annotation_level: "notice" | "warning" | "failure"; + message: string; + title?: string; + raw_details?: string; +}; +declare type ChecksCreateParamsOutputImages = { + alt: string; + image_url: string; + caption?: string; +}; +declare type ChecksCreateParamsActions = { + label: string; + description: string; + identifier: string; +}; +declare type ChecksUpdateParamsOutput = { + title?: string; + summary: string; + text?: string; + annotations?: ChecksUpdateParamsOutputAnnotations[]; + images?: ChecksUpdateParamsOutputImages[]; +}; +declare type ChecksUpdateParamsOutputAnnotations = { + path: string; + start_line: number; + end_line: number; + start_column?: number; + end_column?: number; + annotation_level: "notice" | "warning" | "failure"; + message: string; + title?: string; + raw_details?: string; +}; +declare type ChecksUpdateParamsOutputImages = { + alt: string; + image_url: string; + caption?: string; +}; +declare type ChecksUpdateParamsActions = { + label: string; + description: string; + identifier: string; +}; +declare type ChecksSetSuitesPreferencesParamsAutoTriggerChecks = { + app_id: number; + setting: boolean; +}; +declare type ReposCreateOrUpdateFileParamsCommitter = { + name: string; + email: string; +}; +declare type ReposCreateOrUpdateFileParamsAuthor = { + name: string; + email: string; +}; +declare type ReposDeleteFileParamsCommitter = { + name?: string; + email?: string; +}; +declare type ReposDeleteFileParamsAuthor = { + name?: string; + email?: string; +}; +declare type ReposCreateDispatchEventParamsClientPayload = {}; +declare type GitCreateCommitParamsAuthor = { + name?: string; + email?: string; + date?: string; +}; +declare type GitCreateCommitParamsCommitter = { + name?: string; + email?: string; + date?: string; +}; +declare type GitCreateTagParamsTagger = { + name?: string; + email?: string; + date?: string; +}; +declare type GitCreateTreeParamsTree = { + path?: string; + mode?: "100644" | "100755" | "040000" | "160000" | "120000"; + type?: "blob" | "tree" | "commit"; + sha?: string | null; + content?: string; +}; +declare type ReposCreateHookParamsConfig = { + url: string; + content_type?: string; + secret?: string; + insecure_ssl?: string; +}; +declare type ReposUpdateHookParamsConfig = { + url: string; + content_type?: string; + secret?: string; + insecure_ssl?: string; +}; +declare type ReposEnablePagesSiteParamsSource = { + branch?: "master" | "gh-pages"; + path?: string; +}; +declare type PullsCreateReviewParamsComments = { + path: string; + position: number; + body: string; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsLegacyParamsGroups = { + group_id: string; + group_name: string; + group_description: string; +}; +export {}; diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/index.d.ts b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/index.d.ts new file mode 100644 index 0000000..5d2d5ae --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/index.d.ts @@ -0,0 +1,20 @@ +export * from "./AuthInterface"; +export * from "./EndpointDefaults"; +export * from "./EndpointInterface"; +export * from "./EndpointOptions"; +export * from "./Fetch"; +export * from "./OctokitResponse"; +export * from "./RequestHeaders"; +export * from "./RequestInterface"; +export * from "./RequestMethod"; +export * from "./RequestOptions"; +export * from "./RequestParameters"; +export * from "./RequestRequestOptions"; +export * from "./ResponseHeaders"; +export * from "./Route"; +export * from "./Signal"; +export * from "./StrategyInterface"; +export * from "./Url"; +export * from "./VERSION"; +export * from "./GetResponseTypeFromEndpointMethod"; +export * from "./generated/Endpoints"; diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-web/index.js b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-web/index.js new file mode 100644 index 0000000..3c0cafc --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-web/index.js @@ -0,0 +1,4 @@ +const VERSION = "2.16.2"; + +export { VERSION }; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-web/index.js.map b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-web/index.js.map new file mode 100644 index 0000000..cd0e254 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-web/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/VERSION.js"],"sourcesContent":["export const VERSION = \"0.0.0-development\";\n"],"names":[],"mappings":"AAAY,MAAC,OAAO,GAAG;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/package.json b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/package.json new file mode 100644 index 0000000..9b102fc --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/package.json @@ -0,0 +1,85 @@ +{ + "_args": [ + [ + "@octokit/types@2.16.2", + "/Users/1112456/github/jenkins-action" + ] + ], + "_from": "@octokit/types@2.16.2", + "_id": "@octokit/types@2.16.2", + "_inBundle": false, + "_integrity": "sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==", + "_location": "/@octokit/plugin-paginate-rest/@octokit/types", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "@octokit/types@2.16.2", + "name": "@octokit/types", + "escapedName": "@octokit%2ftypes", + "scope": "@octokit", + "rawSpec": "2.16.2", + "saveSpec": null, + "fetchSpec": "2.16.2" + }, + "_requiredBy": [ + "/@octokit/plugin-paginate-rest" + ], + "_resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz", + "_spec": "2.16.2", + "_where": "/Users/1112456/github/jenkins-action", + "bugs": { + "url": "https://github.com/octokit/types.ts/issues" + }, + "dependencies": { + "@types/node": ">= 8" + }, + "description": "Shared TypeScript definitions for Octokit projects", + "devDependencies": { + "@gimenete/type-writer": "^0.1.5", + "@octokit/graphql": "^4.2.2", + "@pika/pack": "^0.5.0", + "@pika/plugin-build-node": "^0.9.0", + "@pika/plugin-build-web": "^0.9.0", + "@pika/plugin-ts-standard-pkg": "^0.9.0", + "handlebars": "^4.7.6", + "lodash.set": "^4.3.2", + "npm-run-all": "^4.1.5", + "pascal-case": "^3.1.1", + "prettier": "^2.0.0", + "semantic-release": "^17.0.0", + "semantic-release-plugin-update-version-in-files": "^1.0.0", + "sort-keys": "^4.0.0", + "string-to-jsdoc-comment": "^1.0.0", + "typedoc": "^0.17.0", + "typescript": "^3.6.4" + }, + "files": [ + "dist-*/", + "bin/" + ], + "homepage": "https://github.com/octokit/types.ts#readme", + "keywords": [ + "github", + "api", + "sdk", + "toolkit", + "typescript" + ], + "license": "MIT", + "main": "dist-node/index.js", + "module": "dist-web/index.js", + "name": "@octokit/types", + "pika": true, + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/octokit/types.ts.git" + }, + "sideEffects": false, + "source": "dist-src/index.js", + "types": "dist-types/index.d.ts", + "version": "2.16.2" +} diff --git a/node_modules/@octokit/plugin-paginate-rest/package.json b/node_modules/@octokit/plugin-paginate-rest/package.json new file mode 100644 index 0000000..0d1719d --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/package.json @@ -0,0 +1,84 @@ +{ + "_args": [ + [ + "@octokit/plugin-paginate-rest@1.1.2", + "/Users/1112456/github/jenkins-action" + ] + ], + "_from": "@octokit/plugin-paginate-rest@1.1.2", + "_id": "@octokit/plugin-paginate-rest@1.1.2", + "_inBundle": false, + "_integrity": "sha512-jbsSoi5Q1pj63sC16XIUboklNw+8tL9VOnJsWycWYR78TKss5PVpIPb1TUUcMQ+bBh7cY579cVAWmf5qG+dw+Q==", + "_location": "/@octokit/plugin-paginate-rest", + "_phantomChildren": { + "@types/node": "14.14.14" + }, + "_requested": { + "type": "version", + "registry": true, + "raw": "@octokit/plugin-paginate-rest@1.1.2", + "name": "@octokit/plugin-paginate-rest", + "escapedName": "@octokit%2fplugin-paginate-rest", + "scope": "@octokit", + "rawSpec": "1.1.2", + "saveSpec": null, + "fetchSpec": "1.1.2" + }, + "_requiredBy": [ + "/@octokit/rest" + ], + "_resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-1.1.2.tgz", + "_spec": "1.1.2", + "_where": "/Users/1112456/github/jenkins-action", + "bugs": { + "url": "https://github.com/octokit/plugin-paginate-rest.js/issues" + }, + "dependencies": { + "@octokit/types": "^2.0.1" + }, + "description": "Octokit plugin to paginate REST API endpoint responses", + "devDependencies": { + "@octokit/core": "^2.0.0", + "@pika/pack": "^0.5.0", + "@pika/plugin-build-node": "^0.8.1", + "@pika/plugin-build-web": "^0.8.1", + "@pika/plugin-ts-standard-pkg": "^0.8.1", + "@types/fetch-mock": "^7.3.1", + "@types/jest": "^24.0.18", + "@types/node": "^13.1.0", + "fetch-mock": "^8.0.0", + "jest": "^24.9.0", + "prettier": "^1.18.2", + "semantic-release": "^17.0.0", + "semantic-release-plugin-update-version-in-files": "^1.0.0", + "ts-jest": "^24.1.0", + "typescript": "^3.7.2" + }, + "files": [ + "dist-*/", + "bin/" + ], + "homepage": "https://github.com/octokit/plugin-paginate-rest.js#readme", + "keywords": [ + "github", + "api", + "sdk", + "toolkit" + ], + "license": "MIT", + "main": "dist-node/index.js", + "module": "dist-web/index.js", + "name": "@octokit/plugin-paginate-rest", + "pika": true, + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/octokit/plugin-paginate-rest.js.git" + }, + "sideEffects": false, + "source": "dist-src/index.js", + "types": "dist-types/index.d.ts", + "version": "1.1.2" +} diff --git a/node_modules/@octokit/plugin-request-log/LICENSE b/node_modules/@octokit/plugin-request-log/LICENSE new file mode 100644 index 0000000..d7d5927 --- /dev/null +++ b/node_modules/@octokit/plugin-request-log/LICENSE @@ -0,0 +1,7 @@ +MIT License Copyright (c) 2020 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 (including the next paragraph) 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. diff --git a/node_modules/@octokit/plugin-request-log/README.md b/node_modules/@octokit/plugin-request-log/README.md new file mode 100644 index 0000000..cbc8f1b --- /dev/null +++ b/node_modules/@octokit/plugin-request-log/README.md @@ -0,0 +1,69 @@ +# plugin-request-log.js + +> Log all requests and request errors + +[![@latest](https://img.shields.io/npm/v/@octokit/plugin-request-log.svg)](https://www.npmjs.com/package/@octokit/plugin-request-log) +[![Build Status](https://github.com/octokit/plugin-request-log.js/workflows/Test/badge.svg)](https://github.com/octokit/plugin-request-log.js/actions?workflow=Test) + +## Usage + + + + + + +
+Browsers + + +Load `@octokit/plugin-request-log` and [`@octokit/core`](https://github.com/octokit/core.js) (or core-compatible module) directly from [cdn.skypack.dev](https://cdn.skypack.dev) + +```html + +``` + +
+Node + + +Install with `npm install @octokit/core @octokit/plugin-request-log`. Optionally replace `@octokit/core` with a core-compatible module + +```js +const { Octokit } = require("@octokit/core"); +const { requestLog } = require("@octokit/plugin-request-log"); +``` + +
+ +```js +const MyOctokit = Octokit.plugin(requestLog); +const octokit = new MyOctokit({ auth: "secret123" }); + +octokit.request("GET /"); +// logs "GET / - 200 in 123ms + +octokit.request("GET /oops"); +// logs "GET / - 404 in 123ms +``` + +In order to log all request options, the `log.debug` option needs to be set. We recommend the [console-log-level](https://github.com/watson/console-log-level) package for a configurable log level + +```js +const octokit = new MyOctokit({ + log: require("console-log-level")({ + auth: "secret123", + level: "info", + }), +}); +``` + +## Contributing + +See [CONTRIBUTING.md](CONTRIBUTING.md) + +## License + +[MIT](LICENSE) diff --git a/node_modules/@octokit/plugin-request-log/dist-node/index.js b/node_modules/@octokit/plugin-request-log/dist-node/index.js new file mode 100644 index 0000000..60b651f --- /dev/null +++ b/node_modules/@octokit/plugin-request-log/dist-node/index.js @@ -0,0 +1,30 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +const VERSION = "1.0.2"; + +/** + * @param octokit Octokit instance + * @param options Options passed to Octokit constructor + */ + +function requestLog(octokit) { + octokit.hook.wrap("request", (request, options) => { + octokit.log.debug("request", options); + const start = Date.now(); + const requestOptions = octokit.request.endpoint.parse(options); + const path = requestOptions.url.replace(options.baseUrl, ""); + return request(options).then(response => { + octokit.log.info(`${requestOptions.method} ${path} - ${response.status} in ${Date.now() - start}ms`); + return response; + }).catch(error => { + octokit.log.info(`${requestOptions.method} ${path} - ${error.status} in ${Date.now() - start}ms`); + throw error; + }); + }); +} +requestLog.VERSION = VERSION; + +exports.requestLog = requestLog; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/plugin-request-log/dist-node/index.js.map b/node_modules/@octokit/plugin-request-log/dist-node/index.js.map new file mode 100644 index 0000000..26ad363 --- /dev/null +++ b/node_modules/@octokit/plugin-request-log/dist-node/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"1.0.2\";\n","import { VERSION } from \"./version\";\n/**\n * @param octokit Octokit instance\n * @param options Options passed to Octokit constructor\n */\nexport function requestLog(octokit) {\n octokit.hook.wrap(\"request\", (request, options) => {\n octokit.log.debug(\"request\", options);\n const start = Date.now();\n const requestOptions = octokit.request.endpoint.parse(options);\n const path = requestOptions.url.replace(options.baseUrl, \"\");\n return request(options)\n .then((response) => {\n octokit.log.info(`${requestOptions.method} ${path} - ${response.status} in ${Date.now() - start}ms`);\n return response;\n })\n .catch((error) => {\n octokit.log.info(`${requestOptions.method} ${path} - ${error.status} in ${Date.now() - start}ms`);\n throw error;\n });\n });\n}\nrequestLog.VERSION = VERSION;\n"],"names":["VERSION","requestLog","octokit","hook","wrap","request","options","log","debug","start","Date","now","requestOptions","endpoint","parse","path","url","replace","baseUrl","then","response","info","method","status","catch","error"],"mappings":";;;;AAAO,MAAMA,OAAO,GAAG,mBAAhB;;ACCP;;;;;AAIA,AAAO,SAASC,UAAT,CAAoBC,OAApB,EAA6B;AAChCA,EAAAA,OAAO,CAACC,IAAR,CAAaC,IAAb,CAAkB,SAAlB,EAA6B,CAACC,OAAD,EAAUC,OAAV,KAAsB;AAC/CJ,IAAAA,OAAO,CAACK,GAAR,CAAYC,KAAZ,CAAkB,SAAlB,EAA6BF,OAA7B;AACA,UAAMG,KAAK,GAAGC,IAAI,CAACC,GAAL,EAAd;AACA,UAAMC,cAAc,GAAGV,OAAO,CAACG,OAAR,CAAgBQ,QAAhB,CAAyBC,KAAzB,CAA+BR,OAA/B,CAAvB;AACA,UAAMS,IAAI,GAAGH,cAAc,CAACI,GAAf,CAAmBC,OAAnB,CAA2BX,OAAO,CAACY,OAAnC,EAA4C,EAA5C,CAAb;AACA,WAAOb,OAAO,CAACC,OAAD,CAAP,CACFa,IADE,CACIC,QAAD,IAAc;AACpBlB,MAAAA,OAAO,CAACK,GAAR,CAAYc,IAAZ,CAAkB,GAAET,cAAc,CAACU,MAAO,IAAGP,IAAK,MAAKK,QAAQ,CAACG,MAAO,OAAMb,IAAI,CAACC,GAAL,KAAaF,KAAM,IAAhG;AACA,aAAOW,QAAP;AACH,KAJM,EAKFI,KALE,CAKKC,KAAD,IAAW;AAClBvB,MAAAA,OAAO,CAACK,GAAR,CAAYc,IAAZ,CAAkB,GAAET,cAAc,CAACU,MAAO,IAAGP,IAAK,MAAKU,KAAK,CAACF,MAAO,OAAMb,IAAI,CAACC,GAAL,KAAaF,KAAM,IAA7F;AACA,YAAMgB,KAAN;AACH,KARM,CAAP;AASH,GAdD;AAeH;AACDxB,UAAU,CAACD,OAAX,GAAqBA,OAArB;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/plugin-request-log/dist-src/index.js b/node_modules/@octokit/plugin-request-log/dist-src/index.js new file mode 100644 index 0000000..033cc84 --- /dev/null +++ b/node_modules/@octokit/plugin-request-log/dist-src/index.js @@ -0,0 +1,23 @@ +import { VERSION } from "./version"; +/** + * @param octokit Octokit instance + * @param options Options passed to Octokit constructor + */ +export function requestLog(octokit) { + octokit.hook.wrap("request", (request, options) => { + octokit.log.debug("request", options); + const start = Date.now(); + const requestOptions = octokit.request.endpoint.parse(options); + const path = requestOptions.url.replace(options.baseUrl, ""); + return request(options) + .then((response) => { + octokit.log.info(`${requestOptions.method} ${path} - ${response.status} in ${Date.now() - start}ms`); + return response; + }) + .catch((error) => { + octokit.log.info(`${requestOptions.method} ${path} - ${error.status} in ${Date.now() - start}ms`); + throw error; + }); + }); +} +requestLog.VERSION = VERSION; diff --git a/node_modules/@octokit/plugin-request-log/dist-src/version.js b/node_modules/@octokit/plugin-request-log/dist-src/version.js new file mode 100644 index 0000000..9561062 --- /dev/null +++ b/node_modules/@octokit/plugin-request-log/dist-src/version.js @@ -0,0 +1 @@ +export const VERSION = "1.0.2"; diff --git a/node_modules/@octokit/plugin-request-log/dist-types/index.d.ts b/node_modules/@octokit/plugin-request-log/dist-types/index.d.ts new file mode 100644 index 0000000..dc62f63 --- /dev/null +++ b/node_modules/@octokit/plugin-request-log/dist-types/index.d.ts @@ -0,0 +1,9 @@ +import type { Octokit } from "@octokit/core"; +/** + * @param octokit Octokit instance + * @param options Options passed to Octokit constructor + */ +export declare function requestLog(octokit: Octokit): void; +export declare namespace requestLog { + var VERSION: string; +} diff --git a/node_modules/@octokit/plugin-request-log/dist-types/version.d.ts b/node_modules/@octokit/plugin-request-log/dist-types/version.d.ts new file mode 100644 index 0000000..9f861b6 --- /dev/null +++ b/node_modules/@octokit/plugin-request-log/dist-types/version.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "1.0.2"; diff --git a/node_modules/@octokit/plugin-request-log/dist-web/index.js b/node_modules/@octokit/plugin-request-log/dist-web/index.js new file mode 100644 index 0000000..ac4050d --- /dev/null +++ b/node_modules/@octokit/plugin-request-log/dist-web/index.js @@ -0,0 +1,27 @@ +const VERSION = "1.0.2"; + +/** + * @param octokit Octokit instance + * @param options Options passed to Octokit constructor + */ +function requestLog(octokit) { + octokit.hook.wrap("request", (request, options) => { + octokit.log.debug("request", options); + const start = Date.now(); + const requestOptions = octokit.request.endpoint.parse(options); + const path = requestOptions.url.replace(options.baseUrl, ""); + return request(options) + .then((response) => { + octokit.log.info(`${requestOptions.method} ${path} - ${response.status} in ${Date.now() - start}ms`); + return response; + }) + .catch((error) => { + octokit.log.info(`${requestOptions.method} ${path} - ${error.status} in ${Date.now() - start}ms`); + throw error; + }); + }); +} +requestLog.VERSION = VERSION; + +export { requestLog }; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/plugin-request-log/dist-web/index.js.map b/node_modules/@octokit/plugin-request-log/dist-web/index.js.map new file mode 100644 index 0000000..c691579 --- /dev/null +++ b/node_modules/@octokit/plugin-request-log/dist-web/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"1.0.2\";\n","import { VERSION } from \"./version\";\n/**\n * @param octokit Octokit instance\n * @param options Options passed to Octokit constructor\n */\nexport function requestLog(octokit) {\n octokit.hook.wrap(\"request\", (request, options) => {\n octokit.log.debug(\"request\", options);\n const start = Date.now();\n const requestOptions = octokit.request.endpoint.parse(options);\n const path = requestOptions.url.replace(options.baseUrl, \"\");\n return request(options)\n .then((response) => {\n octokit.log.info(`${requestOptions.method} ${path} - ${response.status} in ${Date.now() - start}ms`);\n return response;\n })\n .catch((error) => {\n octokit.log.info(`${requestOptions.method} ${path} - ${error.status} in ${Date.now() - start}ms`);\n throw error;\n });\n });\n}\nrequestLog.VERSION = VERSION;\n"],"names":[],"mappings":"AAAO,MAAM,OAAO,GAAG,mBAAmB;;ACC1C;AACA;AACA;AACA;AACA,AAAO,SAAS,UAAU,CAAC,OAAO,EAAE;AACpC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK;AACvD,QAAQ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAC9C,QAAQ,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AACjC,QAAQ,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AACvE,QAAQ,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AACrE,QAAQ,OAAO,OAAO,CAAC,OAAO,CAAC;AAC/B,aAAa,IAAI,CAAC,CAAC,QAAQ,KAAK;AAChC,YAAY,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;AACjH,YAAY,OAAO,QAAQ,CAAC;AAC5B,SAAS,CAAC;AACV,aAAa,KAAK,CAAC,CAAC,KAAK,KAAK;AAC9B,YAAY,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9G,YAAY,MAAM,KAAK,CAAC;AACxB,SAAS,CAAC,CAAC;AACX,KAAK,CAAC,CAAC;AACP,CAAC;AACD,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/plugin-request-log/package.json b/node_modules/@octokit/plugin-request-log/package.json new file mode 100644 index 0000000..fdf2354 --- /dev/null +++ b/node_modules/@octokit/plugin-request-log/package.json @@ -0,0 +1,83 @@ +{ + "_args": [ + [ + "@octokit/plugin-request-log@1.0.2", + "/Users/1112456/github/jenkins-action" + ] + ], + "_from": "@octokit/plugin-request-log@1.0.2", + "_id": "@octokit/plugin-request-log@1.0.2", + "_inBundle": false, + "_integrity": "sha512-oTJSNAmBqyDR41uSMunLQKMX0jmEXbwD1fpz8FG27lScV3RhtGfBa1/BBLym+PxcC16IBlF7KH9vP1BUYxA+Eg==", + "_location": "/@octokit/plugin-request-log", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "@octokit/plugin-request-log@1.0.2", + "name": "@octokit/plugin-request-log", + "escapedName": "@octokit%2fplugin-request-log", + "scope": "@octokit", + "rawSpec": "1.0.2", + "saveSpec": null, + "fetchSpec": "1.0.2" + }, + "_requiredBy": [ + "/@octokit/rest" + ], + "_resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.2.tgz", + "_spec": "1.0.2", + "_where": "/Users/1112456/github/jenkins-action", + "bugs": { + "url": "https://github.com/octokit/plugin-request-log.js/issues" + }, + "dependencies": {}, + "description": "Log all requests and request errors", + "devDependencies": { + "@octokit/core": "^3.0.0", + "@pika/pack": "^0.5.0", + "@pika/plugin-build-node": "^0.9.0", + "@pika/plugin-build-web": "^0.9.0", + "@pika/plugin-ts-standard-pkg": "^0.9.0", + "@types/fetch-mock": "^7.3.2", + "@types/jest": "^26.0.0", + "@types/node": "^14.0.4", + "fetch-mock": "^9.0.0", + "jest": "^25.1.0", + "prettier": "^2.0.1", + "semantic-release": "^17.0.0", + "semantic-release-plugin-update-version-in-files": "^1.0.0", + "ts-jest": "^25.0.0", + "typescript": "^3.7.4" + }, + "files": [ + "dist-*/", + "bin/" + ], + "homepage": "https://github.com/octokit/plugin-request-log.js#readme", + "keywords": [ + "github", + "api", + "sdk", + "toolkit" + ], + "license": "MIT", + "main": "dist-node/index.js", + "module": "dist-web/index.js", + "name": "@octokit/plugin-request-log", + "peerDependencies": { + "@octokit/core": ">=3" + }, + "pika": true, + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/octokit/plugin-request-log.js.git" + }, + "sideEffects": false, + "source": "dist-src/index.js", + "types": "dist-types/index.d.ts", + "version": "1.0.2" +} diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/LICENSE b/node_modules/@octokit/plugin-rest-endpoint-methods/LICENSE new file mode 100644 index 0000000..57bee5f --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/LICENSE @@ -0,0 +1,7 @@ +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 (including the next paragraph) 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. diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/README.md b/node_modules/@octokit/plugin-rest-endpoint-methods/README.md new file mode 100644 index 0000000..2c3ae5c --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/README.md @@ -0,0 +1,2717 @@ +# plugin-rest-endpoint-methods.js + +> Octokit plugin adding one method for all of api.github.com REST API endpoints + +[![@latest](https://img.shields.io/npm/v/@octokit/plugin-rest-endpoint-methods.svg)](https://www.npmjs.com/package/@octokit/plugin-rest-endpoint-methods) +[![Build Status](https://github.com/octokit/plugin-rest-endpoint-methods.js/workflows/Test/badge.svg)](https://github.com/octokit/plugin-rest-endpoint-methods.js/actions?workflow=Test) +[![Greenkeeper](https://badges.greenkeeper.io/octokit/plugin-rest-endpoint-methods.js.svg)](https://greenkeeper.io/) + +## Usage + + + + + + +
+Browsers + + +Load `@octokit/plugin-rest-endpoint-methods` and [`@octokit/core`](https://github.com/octokit/core.js) (or core-compatible module) directly from [cdn.pika.dev](https://cdn.pika.dev) + +```html + +``` + +
+Node + + +Install with `npm install @octokit/core @octokit/plugin-rest-endpoint-methods`. Optionally replace `@octokit/core` with a compatible module + +```js +const { Octokit } = require("@octokit/core"); +const { + restEndpointMethods +} = require("@octokit/plugin-rest-endpoint-methods"); +``` + +
+ +```js +const MyOctokit = Octokit.plugin(restEndpointMethods); +const octokit = new MyOctokit({ auth: "secret123" }); + +// https://developer.github.com/v3/apps/#get-the-authenticated-github-app +octokit.apps.getAuthenticated(); + +// https://developer.github.com/v3/apps/#create-a-github-app-from-a-manifest +octokit.apps.createFromManifest({ code }); + +// https://developer.github.com/v3/apps/#list-installations +octokit.apps.listInstallations(); + +// https://developer.github.com/v3/apps/#get-an-installation +octokit.apps.getInstallation({ installation_id }); + +// https://developer.github.com/v3/apps/#delete-an-installation +octokit.apps.deleteInstallation({ installation_id }); + +// https://developer.github.com/v3/apps/#create-a-new-installation-token +octokit.apps.createInstallationToken({ + installation_id, + repository_ids, + permissions +}); + +// https://developer.github.com/v3/oauth_authorizations/#list-your-grants +octokit.oauthAuthorizations.listGrants(); + +// https://developer.github.com/v3/oauth_authorizations/#get-a-single-grant +octokit.oauthAuthorizations.getGrant({ grant_id }); + +// https://developer.github.com/v3/oauth_authorizations/#delete-a-grant +octokit.oauthAuthorizations.deleteGrant({ grant_id }); + +// https://developer.github.com/v3/apps/oauth_applications/#delete-an-app-authorization +octokit.apps.deleteAuthorization({ client_id, access_token }); + +// https://developer.github.com/v3/apps/oauth_applications/#revoke-a-grant-for-an-application +octokit.apps.revokeGrantForApplication({ client_id, access_token }); + +// DEPRECATED: octokit.oauthAuthorizations.revokeGrantForApplication() has been renamed to octokit.apps.revokeGrantForApplication() +octokit.oauthAuthorizations.revokeGrantForApplication({ + client_id, + access_token +}); + +// https://developer.github.com/v3/apps/oauth_applications/#check-a-token +octokit.apps.checkToken({ client_id, access_token }); + +// https://developer.github.com/v3/apps/oauth_applications/#reset-a-token +octokit.apps.resetToken({ client_id, access_token }); + +// https://developer.github.com/v3/apps/oauth_applications/#delete-an-app-token +octokit.apps.deleteToken({ client_id, access_token }); + +// https://developer.github.com/v3/apps/oauth_applications/#check-an-authorization +octokit.apps.checkAuthorization({ client_id, access_token }); + +// DEPRECATED: octokit.oauthAuthorizations.checkAuthorization() has been renamed to octokit.apps.checkAuthorization() +octokit.oauthAuthorizations.checkAuthorization({ client_id, access_token }); + +// https://developer.github.com/v3/apps/oauth_applications/#reset-an-authorization +octokit.apps.resetAuthorization({ client_id, access_token }); + +// DEPRECATED: octokit.oauthAuthorizations.resetAuthorization() has been renamed to octokit.apps.resetAuthorization() +octokit.oauthAuthorizations.resetAuthorization({ client_id, access_token }); + +// https://developer.github.com/v3/apps/oauth_applications/#revoke-an-authorization-for-an-application +octokit.apps.revokeAuthorizationForApplication({ client_id, access_token }); + +// DEPRECATED: octokit.oauthAuthorizations.revokeAuthorizationForApplication() has been renamed to octokit.apps.revokeAuthorizationForApplication() +octokit.oauthAuthorizations.revokeAuthorizationForApplication({ + client_id, + access_token +}); + +// https://developer.github.com/v3/apps/#get-a-single-github-app +octokit.apps.getBySlug({ app_slug }); + +// https://developer.github.com/v3/oauth_authorizations/#list-your-authorizations +octokit.oauthAuthorizations.listAuthorizations(); + +// https://developer.github.com/v3/oauth_authorizations/#create-a-new-authorization +octokit.oauthAuthorizations.createAuthorization({ + scopes, + note, + note_url, + client_id, + client_secret, + fingerprint +}); + +// https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app +octokit.oauthAuthorizations.getOrCreateAuthorizationForApp({ + client_id, + client_secret, + scopes, + note, + note_url, + fingerprint +}); + +// https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app-and-fingerprint +octokit.oauthAuthorizations.getOrCreateAuthorizationForAppAndFingerprint({ + client_id, + fingerprint, + client_secret, + scopes, + note, + note_url +}); + +// DEPRECATED: octokit.oauthAuthorizations.getOrCreateAuthorizationForAppFingerprint() has been renamed to octokit.oauthAuthorizations.getOrCreateAuthorizationForAppAndFingerprint() +octokit.oauthAuthorizations.getOrCreateAuthorizationForAppFingerprint({ + client_id, + fingerprint, + client_secret, + scopes, + note, + note_url +}); + +// https://developer.github.com/v3/oauth_authorizations/#get-a-single-authorization +octokit.oauthAuthorizations.getAuthorization({ authorization_id }); + +// https://developer.github.com/v3/oauth_authorizations/#update-an-existing-authorization +octokit.oauthAuthorizations.updateAuthorization({ + authorization_id, + scopes, + add_scopes, + remove_scopes, + note, + note_url, + fingerprint +}); + +// https://developer.github.com/v3/oauth_authorizations/#delete-an-authorization +octokit.oauthAuthorizations.deleteAuthorization({ authorization_id }); + +// https://developer.github.com/v3/codes_of_conduct/#list-all-codes-of-conduct +octokit.codesOfConduct.listConductCodes(); + +// https://developer.github.com/v3/codes_of_conduct/#get-an-individual-code-of-conduct +octokit.codesOfConduct.getConductCode({ key }); + +// https://developer.github.com/v3/apps/installations/#create-a-content-attachment +octokit.apps.createContentAttachment({ content_reference_id, title, body }); + +// https://developer.github.com/v3/emojis/#emojis +octokit.emojis.get(); + +// https://developer.github.com/v3/activity/events/#list-public-events +octokit.activity.listPublicEvents(); + +// https://developer.github.com/v3/activity/feeds/#list-feeds +octokit.activity.listFeeds(); + +// https://developer.github.com/v3/gists/#list-a-users-gists +octokit.gists.list({ since }); + +// https://developer.github.com/v3/gists/#create-a-gist +octokit.gists.create({ files, description, public }); + +// https://developer.github.com/v3/gists/#list-all-public-gists +octokit.gists.listPublic({ since }); + +// https://developer.github.com/v3/gists/#list-starred-gists +octokit.gists.listStarred({ since }); + +// https://developer.github.com/v3/gists/#get-a-single-gist +octokit.gists.get({ gist_id }); + +// https://developer.github.com/v3/gists/#edit-a-gist +octokit.gists.update({ gist_id, description, files }); + +// https://developer.github.com/v3/gists/#delete-a-gist +octokit.gists.delete({ gist_id }); + +// https://developer.github.com/v3/gists/comments/#list-comments-on-a-gist +octokit.gists.listComments({ gist_id }); + +// https://developer.github.com/v3/gists/comments/#create-a-comment +octokit.gists.createComment({ gist_id, body }); + +// https://developer.github.com/v3/gists/comments/#get-a-single-comment +octokit.gists.getComment({ gist_id, comment_id }); + +// https://developer.github.com/v3/gists/comments/#edit-a-comment +octokit.gists.updateComment({ gist_id, comment_id, body }); + +// https://developer.github.com/v3/gists/comments/#delete-a-comment +octokit.gists.deleteComment({ gist_id, comment_id }); + +// https://developer.github.com/v3/gists/#list-gist-commits +octokit.gists.listCommits({ gist_id }); + +// https://developer.github.com/v3/gists/#fork-a-gist +octokit.gists.fork({ gist_id }); + +// https://developer.github.com/v3/gists/#list-gist-forks +octokit.gists.listForks({ gist_id }); + +// https://developer.github.com/v3/gists/#star-a-gist +octokit.gists.star({ gist_id }); + +// https://developer.github.com/v3/gists/#unstar-a-gist +octokit.gists.unstar({ gist_id }); + +// https://developer.github.com/v3/gists/#check-if-a-gist-is-starred +octokit.gists.checkIsStarred({ gist_id }); + +// https://developer.github.com/v3/gists/#get-a-specific-revision-of-a-gist +octokit.gists.getRevision({ gist_id, sha }); + +// https://developer.github.com/v3/gitignore/#listing-available-templates +octokit.gitignore.listTemplates(); + +// https://developer.github.com/v3/gitignore/#get-a-single-template +octokit.gitignore.getTemplate({ name }); + +// https://developer.github.com/v3/apps/installations/#list-repositories +octokit.apps.listRepos(); + +// https://developer.github.com/v3/apps/installations/#revoke-an-installation-token +octokit.apps.revokeInstallationToken(); + +// https://developer.github.com/v3/issues/#list-issues +octokit.issues.list({ filter, state, labels, sort, direction, since }); + +// https://developer.github.com/v3/licenses/#list-commonly-used-licenses +octokit.licenses.listCommonlyUsed(); + +// DEPRECATED: octokit.licenses.list() has been renamed to octokit.licenses.listCommonlyUsed() +octokit.licenses.list(); + +// https://developer.github.com/v3/licenses/#get-an-individual-license +octokit.licenses.get({ license }); + +// https://developer.github.com/v3/markdown/#render-an-arbitrary-markdown-document +octokit.markdown.render({ text, mode, context }); + +// https://developer.github.com/v3/markdown/#render-a-markdown-document-in-raw-mode +octokit.markdown.renderRaw({ data }); + +// https://developer.github.com/v3/apps/marketplace/#check-if-a-github-account-is-associated-with-any-marketplace-listing +octokit.apps.checkAccountIsAssociatedWithAny({ account_id }); + +// https://developer.github.com/v3/apps/marketplace/#list-all-plans-for-your-marketplace-listing +octokit.apps.listPlans(); + +// https://developer.github.com/v3/apps/marketplace/#list-all-github-accounts-user-or-organization-on-a-specific-plan +octokit.apps.listAccountsUserOrOrgOnPlan({ plan_id, sort, direction }); + +// https://developer.github.com/v3/apps/marketplace/#check-if-a-github-account-is-associated-with-any-marketplace-listing +octokit.apps.checkAccountIsAssociatedWithAnyStubbed({ account_id }); + +// https://developer.github.com/v3/apps/marketplace/#list-all-plans-for-your-marketplace-listing +octokit.apps.listPlansStubbed(); + +// https://developer.github.com/v3/apps/marketplace/#list-all-github-accounts-user-or-organization-on-a-specific-plan +octokit.apps.listAccountsUserOrOrgOnPlanStubbed({ plan_id, sort, direction }); + +// https://developer.github.com/v3/meta/#meta +octokit.meta.get(); + +// https://developer.github.com/v3/activity/events/#list-public-events-for-a-network-of-repositories +octokit.activity.listPublicEventsForRepoNetwork({ owner, repo }); + +// https://developer.github.com/v3/activity/notifications/#list-your-notifications +octokit.activity.listNotifications({ all, participating, since, before }); + +// https://developer.github.com/v3/activity/notifications/#mark-as-read +octokit.activity.markAsRead({ last_read_at }); + +// https://developer.github.com/v3/activity/notifications/#view-a-single-thread +octokit.activity.getThread({ thread_id }); + +// https://developer.github.com/v3/activity/notifications/#mark-a-thread-as-read +octokit.activity.markThreadAsRead({ thread_id }); + +// https://developer.github.com/v3/activity/notifications/#get-a-thread-subscription +octokit.activity.getThreadSubscription({ thread_id }); + +// https://developer.github.com/v3/activity/notifications/#set-a-thread-subscription +octokit.activity.setThreadSubscription({ thread_id, ignored }); + +// https://developer.github.com/v3/activity/notifications/#delete-a-thread-subscription +octokit.activity.deleteThreadSubscription({ thread_id }); + +// https://developer.github.com/v3/orgs/#list-all-organizations +octokit.orgs.list({ since }); + +// https://developer.github.com/v3/orgs/#get-an-organization +octokit.orgs.get({ org }); + +// https://developer.github.com/v3/orgs/#edit-an-organization +octokit.orgs.update({ + org, + billing_email, + company, + email, + location, + name, + description, + has_organization_projects, + has_repository_projects, + default_repository_permission, + members_can_create_repositories, + members_can_create_internal_repositories, + members_can_create_private_repositories, + members_can_create_public_repositories, + members_allowed_repository_creation_type +}); + +// https://developer.github.com/v3/orgs/blocking/#list-blocked-users +octokit.orgs.listBlockedUsers({ org }); + +// https://developer.github.com/v3/orgs/blocking/#check-whether-a-user-is-blocked-from-an-organization +octokit.orgs.checkBlockedUser({ org, username }); + +// https://developer.github.com/v3/orgs/blocking/#block-a-user +octokit.orgs.blockUser({ org, username }); + +// https://developer.github.com/v3/orgs/blocking/#unblock-a-user +octokit.orgs.unblockUser({ org, username }); + +// https://developer.github.com/v3/activity/events/#list-public-events-for-an-organization +octokit.activity.listPublicEventsForOrg({ org }); + +// https://developer.github.com/v3/orgs/hooks/#list-hooks +octokit.orgs.listHooks({ org }); + +// https://developer.github.com/v3/orgs/hooks/#create-a-hook +octokit.orgs.createHook({ org, name, config, events, active }); + +// https://developer.github.com/v3/orgs/hooks/#get-single-hook +octokit.orgs.getHook({ org, hook_id }); + +// https://developer.github.com/v3/orgs/hooks/#edit-a-hook +octokit.orgs.updateHook({ org, hook_id, config, events, active }); + +// https://developer.github.com/v3/orgs/hooks/#delete-a-hook +octokit.orgs.deleteHook({ org, hook_id }); + +// https://developer.github.com/v3/orgs/hooks/#ping-a-hook +octokit.orgs.pingHook({ org, hook_id }); + +// https://developer.github.com/v3/apps/#get-an-organization-installation +octokit.apps.getOrgInstallation({ org }); + +// DEPRECATED: octokit.apps.findOrgInstallation() has been renamed to octokit.apps.getOrgInstallation() +octokit.apps.findOrgInstallation({ org }); + +// https://developer.github.com/v3/orgs/#list-installations-for-an-organization +octokit.orgs.listInstallations({ org }); + +// https://developer.github.com/v3/interactions/orgs/#get-interaction-restrictions-for-an-organization +octokit.interactions.getRestrictionsForOrg({ org }); + +// https://developer.github.com/v3/interactions/orgs/#add-or-update-interaction-restrictions-for-an-organization +octokit.interactions.addOrUpdateRestrictionsForOrg({ org, limit }); + +// https://developer.github.com/v3/interactions/orgs/#remove-interaction-restrictions-for-an-organization +octokit.interactions.removeRestrictionsForOrg({ org }); + +// https://developer.github.com/v3/orgs/members/#list-pending-organization-invitations +octokit.orgs.listPendingInvitations({ org }); + +// https://developer.github.com/v3/orgs/members/#create-organization-invitation +octokit.orgs.createInvitation({ org, invitee_id, email, role, team_ids }); + +// https://developer.github.com/v3/orgs/members/#list-organization-invitation-teams +octokit.orgs.listInvitationTeams({ org, invitation_id }); + +// https://developer.github.com/v3/issues/#list-issues +octokit.issues.listForOrg({ + org, + filter, + state, + labels, + sort, + direction, + since +}); + +// https://developer.github.com/v3/orgs/members/#members-list +octokit.orgs.listMembers({ org, filter, role }); + +// https://developer.github.com/v3/orgs/members/#check-membership +octokit.orgs.checkMembership({ org, username }); + +// https://developer.github.com/v3/orgs/members/#remove-a-member +octokit.orgs.removeMember({ org, username }); + +// https://developer.github.com/v3/orgs/members/#get-organization-membership +octokit.orgs.getMembership({ org, username }); + +// https://developer.github.com/v3/orgs/members/#add-or-update-organization-membership +octokit.orgs.addOrUpdateMembership({ org, username, role }); + +// https://developer.github.com/v3/orgs/members/#remove-organization-membership +octokit.orgs.removeMembership({ org, username }); + +// https://developer.github.com/v3/migrations/orgs/#start-an-organization-migration +octokit.migrations.startForOrg({ + org, + repositories, + lock_repositories, + exclude_attachments +}); + +// https://developer.github.com/v3/migrations/orgs/#list-organization-migrations +octokit.migrations.listForOrg({ org }); + +// https://developer.github.com/v3/migrations/orgs/#get-the-status-of-an-organization-migration +octokit.migrations.getStatusForOrg({ org, migration_id }); + +// https://developer.github.com/v3/migrations/orgs/#download-an-organization-migration-archive +octokit.migrations.downloadArchiveForOrg({ org, migration_id }); + +// DEPRECATED: octokit.migrations.getArchiveForOrg() has been renamed to octokit.migrations.downloadArchiveForOrg() +octokit.migrations.getArchiveForOrg({ org, migration_id }); + +// https://developer.github.com/v3/migrations/orgs/#delete-an-organization-migration-archive +octokit.migrations.deleteArchiveForOrg({ org, migration_id }); + +// https://developer.github.com/v3/migrations/orgs/#unlock-an-organization-repository +octokit.migrations.unlockRepoForOrg({ org, migration_id, repo_name }); + +// https://developer.github.com/v3/migrations/orgs/#list-repositories-in-an-organization-migration +octokit.migrations.listReposForOrg({ org, migration_id }); + +// https://developer.github.com/v3/orgs/outside_collaborators/#list-outside-collaborators +octokit.orgs.listOutsideCollaborators({ org, filter }); + +// https://developer.github.com/v3/orgs/outside_collaborators/#remove-outside-collaborator +octokit.orgs.removeOutsideCollaborator({ org, username }); + +// https://developer.github.com/v3/orgs/outside_collaborators/#convert-member-to-outside-collaborator +octokit.orgs.convertMemberToOutsideCollaborator({ org, username }); + +// https://developer.github.com/v3/projects/#list-organization-projects +octokit.projects.listForOrg({ org, state }); + +// https://developer.github.com/v3/projects/#create-an-organization-project +octokit.projects.createForOrg({ org, name, body }); + +// https://developer.github.com/v3/orgs/members/#public-members-list +octokit.orgs.listPublicMembers({ org }); + +// https://developer.github.com/v3/orgs/members/#check-public-membership +octokit.orgs.checkPublicMembership({ org, username }); + +// https://developer.github.com/v3/orgs/members/#publicize-a-users-membership +octokit.orgs.publicizeMembership({ org, username }); + +// https://developer.github.com/v3/orgs/members/#conceal-a-users-membership +octokit.orgs.concealMembership({ org, username }); + +// https://developer.github.com/v3/repos/#list-organization-repositories +octokit.repos.listForOrg({ org, type, sort, direction }); + +// https://developer.github.com/v3/repos/#create +octokit.repos.createInOrg({ + org, + name, + description, + homepage, + private, + visibility, + has_issues, + has_projects, + has_wiki, + is_template, + team_id, + auto_init, + gitignore_template, + license_template, + allow_squash_merge, + allow_merge_commit, + allow_rebase_merge, + delete_branch_on_merge +}); + +// https://developer.github.com/v3/teams/#list-teams +octokit.teams.list({ org }); + +// https://developer.github.com/v3/teams/#create-team +octokit.teams.create({ + org, + name, + description, + maintainers, + repo_names, + privacy, + permission, + parent_team_id +}); + +// https://developer.github.com/v3/teams/#get-team-by-name +octokit.teams.getByName({ org, team_slug }); + +// https://developer.github.com/v3/teams/#edit-team +octokit.teams.updateInOrg({ + org, + team_slug, + name, + description, + privacy, + permission, + parent_team_id +}); + +// https://developer.github.com/v3/teams/#delete-team +octokit.teams.deleteInOrg({ org, team_slug }); + +// https://developer.github.com/v3/teams/discussions/#list-discussions +octokit.teams.listDiscussionsInOrg({ org, team_slug, direction }); + +// https://developer.github.com/v3/teams/discussions/#create-a-discussion +octokit.teams.createDiscussionInOrg({ org, team_slug, title, body, private }); + +// https://developer.github.com/v3/teams/discussions/#get-a-single-discussion +octokit.teams.getDiscussionInOrg({ org, team_slug, discussion_number }); + +// https://developer.github.com/v3/teams/discussions/#edit-a-discussion +octokit.teams.updateDiscussionInOrg({ + org, + team_slug, + discussion_number, + title, + body +}); + +// https://developer.github.com/v3/teams/discussions/#delete-a-discussion +octokit.teams.deleteDiscussionInOrg({ org, team_slug, discussion_number }); + +// https://developer.github.com/v3/teams/discussion_comments/#list-comments +octokit.teams.listDiscussionCommentsInOrg({ + org, + team_slug, + discussion_number, + direction +}); + +// https://developer.github.com/v3/teams/discussion_comments/#create-a-comment +octokit.teams.createDiscussionCommentInOrg({ + org, + team_slug, + discussion_number, + body +}); + +// https://developer.github.com/v3/teams/discussion_comments/#get-a-single-comment +octokit.teams.getDiscussionCommentInOrg({ + org, + team_slug, + discussion_number, + comment_number +}); + +// https://developer.github.com/v3/teams/discussion_comments/#edit-a-comment +octokit.teams.updateDiscussionCommentInOrg({ + org, + team_slug, + discussion_number, + comment_number, + body +}); + +// https://developer.github.com/v3/teams/discussion_comments/#delete-a-comment +octokit.teams.deleteDiscussionCommentInOrg({ + org, + team_slug, + discussion_number, + comment_number +}); + +// https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-comment +octokit.reactions.listForTeamDiscussionCommentInOrg({ + org, + team_slug, + discussion_number, + comment_number, + content +}); + +// https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-comment +octokit.reactions.createForTeamDiscussionCommentInOrg({ + org, + team_slug, + discussion_number, + comment_number, + content +}); + +// https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion +octokit.reactions.listForTeamDiscussionInOrg({ + org, + team_slug, + discussion_number, + content +}); + +// https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion +octokit.reactions.createForTeamDiscussionInOrg({ + org, + team_slug, + discussion_number, + content +}); + +// https://developer.github.com/v3/teams/members/#list-pending-team-invitations +octokit.teams.listPendingInvitationsInOrg({ org, team_slug }); + +// https://developer.github.com/v3/teams/members/#list-team-members +octokit.teams.listMembersInOrg({ org, team_slug, role }); + +// https://developer.github.com/v3/teams/members/#get-team-membership +octokit.teams.getMembershipInOrg({ org, team_slug, username }); + +// https://developer.github.com/v3/teams/members/#add-or-update-team-membership +octokit.teams.addOrUpdateMembershipInOrg({ org, team_slug, username, role }); + +// https://developer.github.com/v3/teams/members/#remove-team-membership +octokit.teams.removeMembershipInOrg({ org, team_slug, username }); + +// https://developer.github.com/v3/teams/#list-team-projects +octokit.teams.listProjectsInOrg({ org, team_slug }); + +// https://developer.github.com/v3/teams/#review-a-team-project +octokit.teams.reviewProjectInOrg({ org, team_slug, project_id }); + +// https://developer.github.com/v3/teams/#add-or-update-team-project +octokit.teams.addOrUpdateProjectInOrg({ + org, + team_slug, + project_id, + permission +}); + +// https://developer.github.com/v3/teams/#remove-team-project +octokit.teams.removeProjectInOrg({ org, team_slug, project_id }); + +// https://developer.github.com/v3/teams/#list-team-repos +octokit.teams.listReposInOrg({ org, team_slug }); + +// https://developer.github.com/v3/teams/#check-if-a-team-manages-a-repository +octokit.teams.checkManagesRepoInOrg({ org, team_slug, owner, repo }); + +// https://developer.github.com/v3/teams/#add-or-update-team-repository +octokit.teams.addOrUpdateRepoInOrg({ org, team_slug, owner, repo, permission }); + +// https://developer.github.com/v3/teams/#remove-team-repository +octokit.teams.removeRepoInOrg({ org, team_slug, owner, repo }); + +// https://developer.github.com/v3/teams/#list-child-teams +octokit.teams.listChildInOrg({ org, team_slug }); + +// https://developer.github.com/v3/projects/cards/#get-a-project-card +octokit.projects.getCard({ card_id }); + +// https://developer.github.com/v3/projects/cards/#update-a-project-card +octokit.projects.updateCard({ card_id, note, archived }); + +// https://developer.github.com/v3/projects/cards/#delete-a-project-card +octokit.projects.deleteCard({ card_id }); + +// https://developer.github.com/v3/projects/cards/#move-a-project-card +octokit.projects.moveCard({ card_id, position, column_id }); + +// https://developer.github.com/v3/projects/columns/#get-a-project-column +octokit.projects.getColumn({ column_id }); + +// https://developer.github.com/v3/projects/columns/#update-a-project-column +octokit.projects.updateColumn({ column_id, name }); + +// https://developer.github.com/v3/projects/columns/#delete-a-project-column +octokit.projects.deleteColumn({ column_id }); + +// https://developer.github.com/v3/projects/cards/#list-project-cards +octokit.projects.listCards({ column_id, archived_state }); + +// https://developer.github.com/v3/projects/cards/#create-a-project-card +octokit.projects.createCard({ column_id, note, content_id, content_type }); + +// https://developer.github.com/v3/projects/columns/#move-a-project-column +octokit.projects.moveColumn({ column_id, position }); + +// https://developer.github.com/v3/projects/#get-a-project +octokit.projects.get({ project_id }); + +// https://developer.github.com/v3/projects/#update-a-project +octokit.projects.update({ + project_id, + name, + body, + state, + organization_permission, + private +}); + +// https://developer.github.com/v3/projects/#delete-a-project +octokit.projects.delete({ project_id }); + +// https://developer.github.com/v3/projects/collaborators/#list-collaborators +octokit.projects.listCollaborators({ project_id, affiliation }); + +// https://developer.github.com/v3/projects/collaborators/#add-user-as-a-collaborator +octokit.projects.addCollaborator({ project_id, username, permission }); + +// https://developer.github.com/v3/projects/collaborators/#remove-user-as-a-collaborator +octokit.projects.removeCollaborator({ project_id, username }); + +// https://developer.github.com/v3/projects/collaborators/#review-a-users-permission-level +octokit.projects.reviewUserPermissionLevel({ project_id, username }); + +// https://developer.github.com/v3/projects/columns/#list-project-columns +octokit.projects.listColumns({ project_id }); + +// https://developer.github.com/v3/projects/columns/#create-a-project-column +octokit.projects.createColumn({ project_id, name }); + +// https://developer.github.com/v3/rate_limit/#get-your-current-rate-limit-status +octokit.rateLimit.get(); + +// https://developer.github.com/v3/reactions/#delete-a-reaction +octokit.reactions.delete({ reaction_id }); + +// https://developer.github.com/v3/repos/#get +octokit.repos.get({ owner, repo }); + +// https://developer.github.com/v3/repos/#edit +octokit.repos.update({ + owner, + repo, + name, + description, + homepage, + private, + visibility, + has_issues, + has_projects, + has_wiki, + is_template, + default_branch, + allow_squash_merge, + allow_merge_commit, + allow_rebase_merge, + delete_branch_on_merge, + archived +}); + +// https://developer.github.com/v3/repos/#delete-a-repository +octokit.repos.delete({ owner, repo }); + +// https://developer.github.com/v3/actions/artifacts/#get-an-artifact +octokit.actions.getArtifact({ owner, repo, artifact_id }); + +// https://developer.github.com/v3/actions/artifacts/#delete-an-artifact +octokit.actions.deleteArtifact({ owner, repo, artifact_id }); + +// https://developer.github.com/v3/actions/artifacts/#download-an-artifact +octokit.actions.downloadArtifact({ owner, repo, artifact_id, archive_format }); + +// https://developer.github.com/v3/actions/workflow_jobs/#get-a-workflow-job +octokit.actions.getWorkflowJob({ owner, repo, job_id }); + +// https://developer.github.com/v3/actions/workflow_jobs/#list-workflow-job-logs +octokit.actions.listWorkflowJobLogs({ owner, repo, job_id }); + +// https://developer.github.com/v3/actions/self_hosted_runners/#list-self-hosted-runners-for-a-repository +octokit.actions.listSelfHostedRunnersForRepo({ owner, repo }); + +// https://developer.github.com/v3/actions/self_hosted_runners/#list-downloads-for-the-self-hosted-runner-application +octokit.actions.listDownloadsForSelfHostedRunnerApplication({ owner, repo }); + +// https://developer.github.com/v3/actions/self_hosted_runners/#create-a-registration-token +octokit.actions.createRegistrationToken({ owner, repo }); + +// https://developer.github.com/v3/actions/self_hosted_runners/#create-a-remove-token +octokit.actions.createRemoveToken({ owner, repo }); + +// https://developer.github.com/v3/actions/self_hosted_runners/#get-a-self-hosted-runner +octokit.actions.getSelfHostedRunner({ owner, repo, runner_id }); + +// https://developer.github.com/v3/actions/self_hosted_runners/#remove-a-self-hosted-runner +octokit.actions.removeSelfHostedRunner({ owner, repo, runner_id }); + +// https://developer.github.com/v3/actions/workflow_runs/#list-repository-workflow-runs +octokit.actions.listRepoWorkflowRuns({ + owner, + repo, + actor, + branch, + event, + status +}); + +// https://developer.github.com/v3/actions/workflow_runs/#get-a-workflow-run +octokit.actions.getWorkflowRun({ owner, repo, run_id }); + +// https://developer.github.com/v3/actions/artifacts/#list-workflow-run-artifacts +octokit.actions.listWorkflowRunArtifacts({ owner, repo, run_id }); + +// https://developer.github.com/v3/actions/workflow_runs/#cancel-a-workflow-run +octokit.actions.cancelWorkflowRun({ owner, repo, run_id }); + +// https://developer.github.com/v3/actions/workflow_jobs/#list-jobs-for-a-workflow-run +octokit.actions.listJobsForWorkflowRun({ owner, repo, run_id }); + +// https://developer.github.com/v3/actions/workflow_runs/#list-workflow-run-logs +octokit.actions.listWorkflowRunLogs({ owner, repo, run_id }); + +// https://developer.github.com/v3/actions/workflow_runs/#re-run-a-workflow +octokit.actions.reRunWorkflow({ owner, repo, run_id }); + +// https://developer.github.com/v3/actions/secrets/#list-secrets-for-a-repository +octokit.actions.listSecretsForRepo({ owner, repo }); + +// https://developer.github.com/v3/actions/secrets/#get-your-public-key +octokit.actions.getPublicKey({ owner, repo }); + +// https://developer.github.com/v3/actions/secrets/#get-a-secret +octokit.actions.getSecret({ owner, repo, name }); + +// https://developer.github.com/v3/actions/secrets/#create-or-update-a-secret-for-a-repository +octokit.actions.createOrUpdateSecretForRepo({ + owner, + repo, + name, + encrypted_value, + key_id +}); + +// https://developer.github.com/v3/actions/secrets/#delete-a-secret-from-a-repository +octokit.actions.deleteSecretFromRepo({ owner, repo, name }); + +// https://developer.github.com/v3/actions/workflows/#list-repository-workflows +octokit.actions.listRepoWorkflows({ owner, repo }); + +// https://developer.github.com/v3/actions/workflows/#get-a-workflow +octokit.actions.getWorkflow({ owner, repo, workflow_id }); + +// https://developer.github.com/v3/actions/workflow_runs/#list-workflow-runs +octokit.actions.listWorkflowRuns({ + owner, + repo, + workflow_id, + actor, + branch, + event, + status +}); + +// https://developer.github.com/v3/issues/assignees/#list-assignees +octokit.issues.listAssignees({ owner, repo }); + +// https://developer.github.com/v3/issues/assignees/#check-assignee +octokit.issues.checkAssignee({ owner, repo, assignee }); + +// https://developer.github.com/v3/repos/#enable-automated-security-fixes +octokit.repos.enableAutomatedSecurityFixes({ owner, repo }); + +// https://developer.github.com/v3/repos/#disable-automated-security-fixes +octokit.repos.disableAutomatedSecurityFixes({ owner, repo }); + +// https://developer.github.com/v3/repos/branches/#list-branches +octokit.repos.listBranches({ owner, repo, protected }); + +// https://developer.github.com/v3/repos/branches/#get-branch +octokit.repos.getBranch({ owner, repo, branch }); + +// https://developer.github.com/v3/repos/branches/#get-branch-protection +octokit.repos.getBranchProtection({ owner, repo, branch }); + +// https://developer.github.com/v3/repos/branches/#update-branch-protection +octokit.repos.updateBranchProtection({ + owner, + repo, + branch, + required_status_checks, + enforce_admins, + required_pull_request_reviews, + restrictions, + required_linear_history, + allow_force_pushes, + allow_deletions +}); + +// https://developer.github.com/v3/repos/branches/#remove-branch-protection +octokit.repos.removeBranchProtection({ owner, repo, branch }); + +// https://developer.github.com/v3/repos/branches/#get-admin-enforcement-of-protected-branch +octokit.repos.getProtectedBranchAdminEnforcement({ owner, repo, branch }); + +// https://developer.github.com/v3/repos/branches/#add-admin-enforcement-of-protected-branch +octokit.repos.addProtectedBranchAdminEnforcement({ owner, repo, branch }); + +// https://developer.github.com/v3/repos/branches/#remove-admin-enforcement-of-protected-branch +octokit.repos.removeProtectedBranchAdminEnforcement({ owner, repo, branch }); + +// https://developer.github.com/v3/repos/branches/#get-pull-request-review-enforcement-of-protected-branch +octokit.repos.getProtectedBranchPullRequestReviewEnforcement({ + owner, + repo, + branch +}); + +// https://developer.github.com/v3/repos/branches/#update-pull-request-review-enforcement-of-protected-branch +octokit.repos.updateProtectedBranchPullRequestReviewEnforcement({ + owner, + repo, + branch, + dismissal_restrictions, + dismiss_stale_reviews, + require_code_owner_reviews, + required_approving_review_count +}); + +// https://developer.github.com/v3/repos/branches/#remove-pull-request-review-enforcement-of-protected-branch +octokit.repos.removeProtectedBranchPullRequestReviewEnforcement({ + owner, + repo, + branch +}); + +// https://developer.github.com/v3/repos/branches/#get-required-signatures-of-protected-branch +octokit.repos.getProtectedBranchRequiredSignatures({ owner, repo, branch }); + +// https://developer.github.com/v3/repos/branches/#add-required-signatures-of-protected-branch +octokit.repos.addProtectedBranchRequiredSignatures({ owner, repo, branch }); + +// https://developer.github.com/v3/repos/branches/#remove-required-signatures-of-protected-branch +octokit.repos.removeProtectedBranchRequiredSignatures({ owner, repo, branch }); + +// https://developer.github.com/v3/repos/branches/#get-required-status-checks-of-protected-branch +octokit.repos.getProtectedBranchRequiredStatusChecks({ owner, repo, branch }); + +// https://developer.github.com/v3/repos/branches/#update-required-status-checks-of-protected-branch +octokit.repos.updateProtectedBranchRequiredStatusChecks({ + owner, + repo, + branch, + strict, + contexts +}); + +// https://developer.github.com/v3/repos/branches/#remove-required-status-checks-of-protected-branch +octokit.repos.removeProtectedBranchRequiredStatusChecks({ + owner, + repo, + branch +}); + +// https://developer.github.com/v3/repos/branches/#list-required-status-checks-contexts-of-protected-branch +octokit.repos.listProtectedBranchRequiredStatusChecksContexts({ + owner, + repo, + branch +}); + +// https://developer.github.com/v3/repos/branches/#replace-required-status-checks-contexts-of-protected-branch +octokit.repos.replaceProtectedBranchRequiredStatusChecksContexts({ + owner, + repo, + branch, + contexts +}); + +// https://developer.github.com/v3/repos/branches/#add-required-status-checks-contexts-of-protected-branch +octokit.repos.addProtectedBranchRequiredStatusChecksContexts({ + owner, + repo, + branch, + contexts +}); + +// https://developer.github.com/v3/repos/branches/#remove-required-status-checks-contexts-of-protected-branch +octokit.repos.removeProtectedBranchRequiredStatusChecksContexts({ + owner, + repo, + branch, + contexts +}); + +// https://developer.github.com/v3/repos/branches/#get-restrictions-of-protected-branch +octokit.repos.getProtectedBranchRestrictions({ owner, repo, branch }); + +// https://developer.github.com/v3/repos/branches/#remove-restrictions-of-protected-branch +octokit.repos.removeProtectedBranchRestrictions({ owner, repo, branch }); + +// https://developer.github.com/v3/repos/branches/#list-apps-with-access-to-protected-branch +octokit.repos.getAppsWithAccessToProtectedBranch({ owner, repo, branch }); + +// DEPRECATED: octokit.repos.listAppsWithAccessToProtectedBranch() has been renamed to octokit.repos.getAppsWithAccessToProtectedBranch() +octokit.repos.listAppsWithAccessToProtectedBranch({ owner, repo, branch }); + +// https://developer.github.com/v3/repos/branches/#replace-app-restrictions-of-protected-branch +octokit.repos.replaceProtectedBranchAppRestrictions({ + owner, + repo, + branch, + apps +}); + +// https://developer.github.com/v3/repos/branches/#add-app-restrictions-of-protected-branch +octokit.repos.addProtectedBranchAppRestrictions({ owner, repo, branch, apps }); + +// https://developer.github.com/v3/repos/branches/#remove-app-restrictions-of-protected-branch +octokit.repos.removeProtectedBranchAppRestrictions({ + owner, + repo, + branch, + apps +}); + +// https://developer.github.com/v3/repos/branches/#list-teams-with-access-to-protected-branch +octokit.repos.getTeamsWithAccessToProtectedBranch({ owner, repo, branch }); + +// DEPRECATED: octokit.repos.listProtectedBranchTeamRestrictions() has been renamed to octokit.repos.getTeamsWithAccessToProtectedBranch() +octokit.repos.listProtectedBranchTeamRestrictions({ owner, repo, branch }); + +// DEPRECATED: octokit.repos.listTeamsWithAccessToProtectedBranch() has been renamed to octokit.repos.getTeamsWithAccessToProtectedBranch() +octokit.repos.listTeamsWithAccessToProtectedBranch({ owner, repo, branch }); + +// https://developer.github.com/v3/repos/branches/#replace-team-restrictions-of-protected-branch +octokit.repos.replaceProtectedBranchTeamRestrictions({ + owner, + repo, + branch, + teams +}); + +// https://developer.github.com/v3/repos/branches/#add-team-restrictions-of-protected-branch +octokit.repos.addProtectedBranchTeamRestrictions({ + owner, + repo, + branch, + teams +}); + +// https://developer.github.com/v3/repos/branches/#remove-team-restrictions-of-protected-branch +octokit.repos.removeProtectedBranchTeamRestrictions({ + owner, + repo, + branch, + teams +}); + +// https://developer.github.com/v3/repos/branches/#list-users-with-access-to-protected-branch +octokit.repos.getUsersWithAccessToProtectedBranch({ owner, repo, branch }); + +// DEPRECATED: octokit.repos.listProtectedBranchUserRestrictions() has been renamed to octokit.repos.getUsersWithAccessToProtectedBranch() +octokit.repos.listProtectedBranchUserRestrictions({ owner, repo, branch }); + +// DEPRECATED: octokit.repos.listUsersWithAccessToProtectedBranch() has been renamed to octokit.repos.getUsersWithAccessToProtectedBranch() +octokit.repos.listUsersWithAccessToProtectedBranch({ owner, repo, branch }); + +// https://developer.github.com/v3/repos/branches/#replace-user-restrictions-of-protected-branch +octokit.repos.replaceProtectedBranchUserRestrictions({ + owner, + repo, + branch, + users +}); + +// https://developer.github.com/v3/repos/branches/#add-user-restrictions-of-protected-branch +octokit.repos.addProtectedBranchUserRestrictions({ + owner, + repo, + branch, + users +}); + +// https://developer.github.com/v3/repos/branches/#remove-user-restrictions-of-protected-branch +octokit.repos.removeProtectedBranchUserRestrictions({ + owner, + repo, + branch, + users +}); + +// https://developer.github.com/v3/checks/runs/#create-a-check-run +octokit.checks.create({ + owner, + repo, + name, + head_sha, + details_url, + external_id, + status, + started_at, + conclusion, + completed_at, + output, + actions +}); + +// https://developer.github.com/v3/checks/runs/#update-a-check-run +octokit.checks.update({ + owner, + repo, + check_run_id, + name, + details_url, + external_id, + started_at, + status, + conclusion, + completed_at, + output, + actions +}); + +// https://developer.github.com/v3/checks/runs/#get-a-single-check-run +octokit.checks.get({ owner, repo, check_run_id }); + +// https://developer.github.com/v3/checks/runs/#list-annotations-for-a-check-run +octokit.checks.listAnnotations({ owner, repo, check_run_id }); + +// https://developer.github.com/v3/checks/suites/#create-a-check-suite +octokit.checks.createSuite({ owner, repo, head_sha }); + +// https://developer.github.com/v3/checks/suites/#set-preferences-for-check-suites-on-a-repository +octokit.checks.setSuitesPreferences({ owner, repo, auto_trigger_checks }); + +// https://developer.github.com/v3/checks/suites/#get-a-single-check-suite +octokit.checks.getSuite({ owner, repo, check_suite_id }); + +// https://developer.github.com/v3/checks/runs/#list-check-runs-in-a-check-suite +octokit.checks.listForSuite({ + owner, + repo, + check_suite_id, + check_name, + status, + filter +}); + +// https://developer.github.com/v3/checks/suites/#rerequest-check-suite +octokit.checks.rerequestSuite({ owner, repo, check_suite_id }); + +// https://developer.github.com/v3/repos/collaborators/#list-collaborators +octokit.repos.listCollaborators({ owner, repo, affiliation }); + +// https://developer.github.com/v3/repos/collaborators/#check-if-a-user-is-a-collaborator +octokit.repos.checkCollaborator({ owner, repo, username }); + +// https://developer.github.com/v3/repos/collaborators/#add-user-as-a-collaborator +octokit.repos.addCollaborator({ owner, repo, username, permission }); + +// https://developer.github.com/v3/repos/collaborators/#remove-user-as-a-collaborator +octokit.repos.removeCollaborator({ owner, repo, username }); + +// https://developer.github.com/v3/repos/collaborators/#review-a-users-permission-level +octokit.repos.getCollaboratorPermissionLevel({ owner, repo, username }); + +// https://developer.github.com/v3/repos/comments/#list-commit-comments-for-a-repository +octokit.repos.listCommitComments({ owner, repo }); + +// https://developer.github.com/v3/repos/comments/#get-a-single-commit-comment +octokit.repos.getCommitComment({ owner, repo, comment_id }); + +// https://developer.github.com/v3/repos/comments/#update-a-commit-comment +octokit.repos.updateCommitComment({ owner, repo, comment_id, body }); + +// https://developer.github.com/v3/repos/comments/#delete-a-commit-comment +octokit.repos.deleteCommitComment({ owner, repo, comment_id }); + +// https://developer.github.com/v3/reactions/#list-reactions-for-a-commit-comment +octokit.reactions.listForCommitComment({ owner, repo, comment_id, content }); + +// https://developer.github.com/v3/reactions/#create-reaction-for-a-commit-comment +octokit.reactions.createForCommitComment({ owner, repo, comment_id, content }); + +// https://developer.github.com/v3/repos/commits/#list-commits-on-a-repository +octokit.repos.listCommits({ owner, repo, sha, path, author, since, until }); + +// https://developer.github.com/v3/repos/commits/#list-branches-for-head-commit +octokit.repos.listBranchesForHeadCommit({ owner, repo, commit_sha }); + +// https://developer.github.com/v3/repos/comments/#list-comments-for-a-single-commit +octokit.repos.listCommentsForCommit({ owner, repo, commit_sha }); + +// https://developer.github.com/v3/repos/comments/#create-a-commit-comment +octokit.repos.createCommitComment({ + owner, + repo, + commit_sha, + body, + path, + position, + line +}); + +// https://developer.github.com/v3/repos/commits/#list-pull-requests-associated-with-commit +octokit.repos.listPullRequestsAssociatedWithCommit({ owner, repo, commit_sha }); + +// https://developer.github.com/v3/repos/commits/#get-a-single-commit +octokit.repos.getCommit({ owner, repo, ref }); + +// https://developer.github.com/v3/checks/runs/#list-check-runs-for-a-specific-ref +octokit.checks.listForRef({ owner, repo, ref, check_name, status, filter }); + +// https://developer.github.com/v3/checks/suites/#list-check-suites-for-a-specific-ref +octokit.checks.listSuitesForRef({ owner, repo, ref, app_id, check_name }); + +// https://developer.github.com/v3/repos/statuses/#get-the-combined-status-for-a-specific-ref +octokit.repos.getCombinedStatusForRef({ owner, repo, ref }); + +// https://developer.github.com/v3/repos/statuses/#list-statuses-for-a-specific-ref +octokit.repos.listStatusesForRef({ owner, repo, ref }); + +// https://developer.github.com/v3/codes_of_conduct/#get-the-contents-of-a-repositorys-code-of-conduct +octokit.codesOfConduct.getForRepo({ owner, repo }); + +// https://developer.github.com/v3/repos/community/#retrieve-community-profile-metrics +octokit.repos.retrieveCommunityProfileMetrics({ owner, repo }); + +// https://developer.github.com/v3/repos/commits/#compare-two-commits +octokit.repos.compareCommits({ owner, repo, base, head }); + +// https://developer.github.com/v3/repos/contents/#get-contents +octokit.repos.getContents({ owner, repo, path, ref }); + +// https://developer.github.com/v3/repos/contents/#create-or-update-a-file +octokit.repos.createOrUpdateFile({ + owner, + repo, + path, + message, + content, + sha, + branch, + committer, + author +}); + +// DEPRECATED: octokit.repos.createFile() has been renamed to octokit.repos.createOrUpdateFile() +octokit.repos.createFile({ + owner, + repo, + path, + message, + content, + sha, + branch, + committer, + author +}); + +// DEPRECATED: octokit.repos.updateFile() has been renamed to octokit.repos.createOrUpdateFile() +octokit.repos.updateFile({ + owner, + repo, + path, + message, + content, + sha, + branch, + committer, + author +}); + +// https://developer.github.com/v3/repos/contents/#delete-a-file +octokit.repos.deleteFile({ + owner, + repo, + path, + message, + sha, + branch, + committer, + author +}); + +// https://developer.github.com/v3/repos/#list-contributors +octokit.repos.listContributors({ owner, repo, anon }); + +// https://developer.github.com/v3/repos/deployments/#list-deployments +octokit.repos.listDeployments({ owner, repo, sha, ref, task, environment }); + +// https://developer.github.com/v3/repos/deployments/#create-a-deployment +octokit.repos.createDeployment({ + owner, + repo, + ref, + task, + auto_merge, + required_contexts, + payload, + environment, + description, + transient_environment, + production_environment +}); + +// https://developer.github.com/v3/repos/deployments/#get-a-single-deployment +octokit.repos.getDeployment({ owner, repo, deployment_id }); + +// https://developer.github.com/v3/repos/deployments/#list-deployment-statuses +octokit.repos.listDeploymentStatuses({ owner, repo, deployment_id }); + +// https://developer.github.com/v3/repos/deployments/#create-a-deployment-status +octokit.repos.createDeploymentStatus({ + owner, + repo, + deployment_id, + state, + target_url, + log_url, + description, + environment, + environment_url, + auto_inactive +}); + +// https://developer.github.com/v3/repos/deployments/#get-a-single-deployment-status +octokit.repos.getDeploymentStatus({ owner, repo, deployment_id, status_id }); + +// https://developer.github.com/v3/repos/#create-a-repository-dispatch-event +octokit.repos.createDispatchEvent({ owner, repo, event_type, client_payload }); + +// https://developer.github.com/v3/repos/downloads/#list-downloads-for-a-repository +octokit.repos.listDownloads({ owner, repo }); + +// https://developer.github.com/v3/repos/downloads/#get-a-single-download +octokit.repos.getDownload({ owner, repo, download_id }); + +// https://developer.github.com/v3/repos/downloads/#delete-a-download +octokit.repos.deleteDownload({ owner, repo, download_id }); + +// https://developer.github.com/v3/activity/events/#list-repository-events +octokit.activity.listRepoEvents({ owner, repo }); + +// https://developer.github.com/v3/repos/forks/#list-forks +octokit.repos.listForks({ owner, repo, sort }); + +// https://developer.github.com/v3/repos/forks/#create-a-fork +octokit.repos.createFork({ owner, repo, organization }); + +// https://developer.github.com/v3/git/blobs/#create-a-blob +octokit.git.createBlob({ owner, repo, content, encoding }); + +// https://developer.github.com/v3/git/blobs/#get-a-blob +octokit.git.getBlob({ owner, repo, file_sha }); + +// https://developer.github.com/v3/git/commits/#create-a-commit +octokit.git.createCommit({ + owner, + repo, + message, + tree, + parents, + author, + committer, + signature +}); + +// https://developer.github.com/v3/git/commits/#get-a-commit +octokit.git.getCommit({ owner, repo, commit_sha }); + +// https://developer.github.com/v3/git/refs/#list-matching-references +octokit.git.listMatchingRefs({ owner, repo, ref }); + +// https://developer.github.com/v3/git/refs/#get-a-single-reference +octokit.git.getRef({ owner, repo, ref }); + +// https://developer.github.com/v3/git/refs/#create-a-reference +octokit.git.createRef({ owner, repo, ref, sha }); + +// https://developer.github.com/v3/git/refs/#update-a-reference +octokit.git.updateRef({ owner, repo, ref, sha, force }); + +// https://developer.github.com/v3/git/refs/#delete-a-reference +octokit.git.deleteRef({ owner, repo, ref }); + +// https://developer.github.com/v3/git/tags/#create-a-tag-object +octokit.git.createTag({ owner, repo, tag, message, object, type, tagger }); + +// https://developer.github.com/v3/git/tags/#get-a-tag +octokit.git.getTag({ owner, repo, tag_sha }); + +// https://developer.github.com/v3/git/trees/#create-a-tree +octokit.git.createTree({ owner, repo, tree, base_tree }); + +// https://developer.github.com/v3/git/trees/#get-a-tree +octokit.git.getTree({ owner, repo, tree_sha, recursive }); + +// https://developer.github.com/v3/repos/hooks/#list-hooks +octokit.repos.listHooks({ owner, repo }); + +// https://developer.github.com/v3/repos/hooks/#create-a-hook +octokit.repos.createHook({ owner, repo, name, config, events, active }); + +// https://developer.github.com/v3/repos/hooks/#get-single-hook +octokit.repos.getHook({ owner, repo, hook_id }); + +// https://developer.github.com/v3/repos/hooks/#edit-a-hook +octokit.repos.updateHook({ + owner, + repo, + hook_id, + config, + events, + add_events, + remove_events, + active +}); + +// https://developer.github.com/v3/repos/hooks/#delete-a-hook +octokit.repos.deleteHook({ owner, repo, hook_id }); + +// https://developer.github.com/v3/repos/hooks/#ping-a-hook +octokit.repos.pingHook({ owner, repo, hook_id }); + +// https://developer.github.com/v3/repos/hooks/#test-a-push-hook +octokit.repos.testPushHook({ owner, repo, hook_id }); + +// https://developer.github.com/v3/migrations/source_imports/#start-an-import +octokit.migrations.startImport({ + owner, + repo, + vcs_url, + vcs, + vcs_username, + vcs_password, + tfvc_project +}); + +// https://developer.github.com/v3/migrations/source_imports/#get-import-progress +octokit.migrations.getImportProgress({ owner, repo }); + +// https://developer.github.com/v3/migrations/source_imports/#update-existing-import +octokit.migrations.updateImport({ owner, repo, vcs_username, vcs_password }); + +// https://developer.github.com/v3/migrations/source_imports/#cancel-an-import +octokit.migrations.cancelImport({ owner, repo }); + +// https://developer.github.com/v3/migrations/source_imports/#get-commit-authors +octokit.migrations.getCommitAuthors({ owner, repo, since }); + +// https://developer.github.com/v3/migrations/source_imports/#map-a-commit-author +octokit.migrations.mapCommitAuthor({ owner, repo, author_id, email, name }); + +// https://developer.github.com/v3/migrations/source_imports/#get-large-files +octokit.migrations.getLargeFiles({ owner, repo }); + +// https://developer.github.com/v3/migrations/source_imports/#set-git-lfs-preference +octokit.migrations.setLfsPreference({ owner, repo, use_lfs }); + +// https://developer.github.com/v3/apps/#get-a-repository-installation +octokit.apps.getRepoInstallation({ owner, repo }); + +// DEPRECATED: octokit.apps.findRepoInstallation() has been renamed to octokit.apps.getRepoInstallation() +octokit.apps.findRepoInstallation({ owner, repo }); + +// https://developer.github.com/v3/interactions/repos/#get-interaction-restrictions-for-a-repository +octokit.interactions.getRestrictionsForRepo({ owner, repo }); + +// https://developer.github.com/v3/interactions/repos/#add-or-update-interaction-restrictions-for-a-repository +octokit.interactions.addOrUpdateRestrictionsForRepo({ owner, repo, limit }); + +// https://developer.github.com/v3/interactions/repos/#remove-interaction-restrictions-for-a-repository +octokit.interactions.removeRestrictionsForRepo({ owner, repo }); + +// https://developer.github.com/v3/repos/invitations/#list-invitations-for-a-repository +octokit.repos.listInvitations({ owner, repo }); + +// https://developer.github.com/v3/repos/invitations/#delete-a-repository-invitation +octokit.repos.deleteInvitation({ owner, repo, invitation_id }); + +// https://developer.github.com/v3/repos/invitations/#update-a-repository-invitation +octokit.repos.updateInvitation({ owner, repo, invitation_id, permissions }); + +// https://developer.github.com/v3/issues/#list-issues-for-a-repository +octokit.issues.listForRepo({ + owner, + repo, + milestone, + state, + assignee, + creator, + mentioned, + labels, + sort, + direction, + since +}); + +// https://developer.github.com/v3/issues/#create-an-issue +octokit.issues.create({ + owner, + repo, + title, + body, + assignee, + milestone, + labels, + assignees +}); + +// https://developer.github.com/v3/issues/comments/#list-comments-in-a-repository +octokit.issues.listCommentsForRepo({ owner, repo, sort, direction, since }); + +// https://developer.github.com/v3/issues/comments/#get-a-single-comment +octokit.issues.getComment({ owner, repo, comment_id }); + +// https://developer.github.com/v3/issues/comments/#edit-a-comment +octokit.issues.updateComment({ owner, repo, comment_id, body }); + +// https://developer.github.com/v3/issues/comments/#delete-a-comment +octokit.issues.deleteComment({ owner, repo, comment_id }); + +// https://developer.github.com/v3/reactions/#list-reactions-for-an-issue-comment +octokit.reactions.listForIssueComment({ owner, repo, comment_id, content }); + +// https://developer.github.com/v3/reactions/#create-reaction-for-an-issue-comment +octokit.reactions.createForIssueComment({ owner, repo, comment_id, content }); + +// https://developer.github.com/v3/issues/events/#list-events-for-a-repository +octokit.issues.listEventsForRepo({ owner, repo }); + +// https://developer.github.com/v3/issues/events/#get-a-single-event +octokit.issues.getEvent({ owner, repo, event_id }); + +// https://developer.github.com/v3/issues/#get-a-single-issue +octokit.issues.get({ owner, repo, issue_number }); + +// https://developer.github.com/v3/issues/#edit-an-issue +octokit.issues.update({ + owner, + repo, + issue_number, + title, + body, + assignee, + state, + milestone, + labels, + assignees +}); + +// https://developer.github.com/v3/issues/assignees/#add-assignees-to-an-issue +octokit.issues.addAssignees({ owner, repo, issue_number, assignees }); + +// https://developer.github.com/v3/issues/assignees/#remove-assignees-from-an-issue +octokit.issues.removeAssignees({ owner, repo, issue_number, assignees }); + +// https://developer.github.com/v3/issues/comments/#list-comments-on-an-issue +octokit.issues.listComments({ owner, repo, issue_number, since }); + +// https://developer.github.com/v3/issues/comments/#create-a-comment +octokit.issues.createComment({ owner, repo, issue_number, body }); + +// https://developer.github.com/v3/issues/events/#list-events-for-an-issue +octokit.issues.listEvents({ owner, repo, issue_number }); + +// https://developer.github.com/v3/issues/labels/#list-labels-on-an-issue +octokit.issues.listLabelsOnIssue({ owner, repo, issue_number }); + +// https://developer.github.com/v3/issues/labels/#add-labels-to-an-issue +octokit.issues.addLabels({ owner, repo, issue_number, labels }); + +// https://developer.github.com/v3/issues/labels/#replace-all-labels-for-an-issue +octokit.issues.replaceLabels({ owner, repo, issue_number, labels }); + +// https://developer.github.com/v3/issues/labels/#remove-all-labels-from-an-issue +octokit.issues.removeLabels({ owner, repo, issue_number }); + +// https://developer.github.com/v3/issues/labels/#remove-a-label-from-an-issue +octokit.issues.removeLabel({ owner, repo, issue_number, name }); + +// https://developer.github.com/v3/issues/#lock-an-issue +octokit.issues.lock({ owner, repo, issue_number, lock_reason }); + +// https://developer.github.com/v3/issues/#unlock-an-issue +octokit.issues.unlock({ owner, repo, issue_number }); + +// https://developer.github.com/v3/reactions/#list-reactions-for-an-issue +octokit.reactions.listForIssue({ owner, repo, issue_number, content }); + +// https://developer.github.com/v3/reactions/#create-reaction-for-an-issue +octokit.reactions.createForIssue({ owner, repo, issue_number, content }); + +// https://developer.github.com/v3/issues/timeline/#list-events-for-an-issue +octokit.issues.listEventsForTimeline({ owner, repo, issue_number }); + +// https://developer.github.com/v3/repos/keys/#list-deploy-keys +octokit.repos.listDeployKeys({ owner, repo }); + +// https://developer.github.com/v3/repos/keys/#add-a-new-deploy-key +octokit.repos.addDeployKey({ owner, repo, title, key, read_only }); + +// https://developer.github.com/v3/repos/keys/#get-a-deploy-key +octokit.repos.getDeployKey({ owner, repo, key_id }); + +// https://developer.github.com/v3/repos/keys/#remove-a-deploy-key +octokit.repos.removeDeployKey({ owner, repo, key_id }); + +// https://developer.github.com/v3/issues/labels/#list-all-labels-for-this-repository +octokit.issues.listLabelsForRepo({ owner, repo }); + +// https://developer.github.com/v3/issues/labels/#create-a-label +octokit.issues.createLabel({ owner, repo, name, color, description }); + +// https://developer.github.com/v3/issues/labels/#get-a-single-label +octokit.issues.getLabel({ owner, repo, name }); + +// https://developer.github.com/v3/issues/labels/#update-a-label +octokit.issues.updateLabel({ owner, repo, name, new_name, color, description }); + +// https://developer.github.com/v3/issues/labels/#delete-a-label +octokit.issues.deleteLabel({ owner, repo, name }); + +// https://developer.github.com/v3/repos/#list-languages +octokit.repos.listLanguages({ owner, repo }); + +// https://developer.github.com/v3/licenses/#get-the-contents-of-a-repositorys-license +octokit.licenses.getForRepo({ owner, repo }); + +// https://developer.github.com/v3/repos/merging/#perform-a-merge +octokit.repos.merge({ owner, repo, base, head, commit_message }); + +// https://developer.github.com/v3/issues/milestones/#list-milestones-for-a-repository +octokit.issues.listMilestonesForRepo({ owner, repo, state, sort, direction }); + +// https://developer.github.com/v3/issues/milestones/#create-a-milestone +octokit.issues.createMilestone({ + owner, + repo, + title, + state, + description, + due_on +}); + +// https://developer.github.com/v3/issues/milestones/#get-a-single-milestone +octokit.issues.getMilestone({ owner, repo, milestone_number }); + +// https://developer.github.com/v3/issues/milestones/#update-a-milestone +octokit.issues.updateMilestone({ + owner, + repo, + milestone_number, + title, + state, + description, + due_on +}); + +// https://developer.github.com/v3/issues/milestones/#delete-a-milestone +octokit.issues.deleteMilestone({ owner, repo, milestone_number }); + +// https://developer.github.com/v3/issues/labels/#get-labels-for-every-issue-in-a-milestone +octokit.issues.listLabelsForMilestone({ owner, repo, milestone_number }); + +// https://developer.github.com/v3/activity/notifications/#list-your-notifications-in-a-repository +octokit.activity.listNotificationsForRepo({ + owner, + repo, + all, + participating, + since, + before +}); + +// https://developer.github.com/v3/activity/notifications/#mark-notifications-as-read-in-a-repository +octokit.activity.markNotificationsAsReadForRepo({ owner, repo, last_read_at }); + +// https://developer.github.com/v3/repos/pages/#get-information-about-a-pages-site +octokit.repos.getPages({ owner, repo }); + +// https://developer.github.com/v3/repos/pages/#enable-a-pages-site +octokit.repos.enablePagesSite({ owner, repo, source }); + +// https://developer.github.com/v3/repos/pages/#disable-a-pages-site +octokit.repos.disablePagesSite({ owner, repo }); + +// https://developer.github.com/v3/repos/pages/#update-information-about-a-pages-site +octokit.repos.updateInformationAboutPagesSite({ owner, repo, cname, source }); + +// https://developer.github.com/v3/repos/pages/#request-a-page-build +octokit.repos.requestPageBuild({ owner, repo }); + +// https://developer.github.com/v3/repos/pages/#list-pages-builds +octokit.repos.listPagesBuilds({ owner, repo }); + +// https://developer.github.com/v3/repos/pages/#get-latest-pages-build +octokit.repos.getLatestPagesBuild({ owner, repo }); + +// https://developer.github.com/v3/repos/pages/#get-a-specific-pages-build +octokit.repos.getPagesBuild({ owner, repo, build_id }); + +// https://developer.github.com/v3/projects/#list-repository-projects +octokit.projects.listForRepo({ owner, repo, state }); + +// https://developer.github.com/v3/projects/#create-a-repository-project +octokit.projects.createForRepo({ owner, repo, name, body }); + +// https://developer.github.com/v3/pulls/#list-pull-requests +octokit.pulls.list({ owner, repo, state, head, base, sort, direction }); + +// https://developer.github.com/v3/pulls/#create-a-pull-request +octokit.pulls.create({ + owner, + repo, + title, + head, + base, + body, + maintainer_can_modify, + draft +}); + +// https://developer.github.com/v3/pulls/comments/#list-comments-in-a-repository +octokit.pulls.listCommentsForRepo({ owner, repo, sort, direction, since }); + +// https://developer.github.com/v3/pulls/comments/#get-a-single-comment +octokit.pulls.getComment({ owner, repo, comment_id }); + +// https://developer.github.com/v3/pulls/comments/#edit-a-comment +octokit.pulls.updateComment({ owner, repo, comment_id, body }); + +// https://developer.github.com/v3/pulls/comments/#delete-a-comment +octokit.pulls.deleteComment({ owner, repo, comment_id }); + +// https://developer.github.com/v3/reactions/#list-reactions-for-a-pull-request-review-comment +octokit.reactions.listForPullRequestReviewComment({ + owner, + repo, + comment_id, + content +}); + +// https://developer.github.com/v3/reactions/#create-reaction-for-a-pull-request-review-comment +octokit.reactions.createForPullRequestReviewComment({ + owner, + repo, + comment_id, + content +}); + +// https://developer.github.com/v3/pulls/#get-a-single-pull-request +octokit.pulls.get({ owner, repo, pull_number }); + +// https://developer.github.com/v3/pulls/#update-a-pull-request +octokit.pulls.update({ + owner, + repo, + pull_number, + title, + body, + state, + base, + maintainer_can_modify +}); + +// https://developer.github.com/v3/pulls/comments/#list-comments-on-a-pull-request +octokit.pulls.listComments({ + owner, + repo, + pull_number, + sort, + direction, + since +}); + +// https://developer.github.com/v3/pulls/comments/#create-a-comment +octokit.pulls.createComment({ + owner, + repo, + pull_number, + body, + commit_id, + path, + position, + side, + line, + start_line, + start_side, + in_reply_to +}); + +// DEPRECATED: octokit.pulls.createCommentReply() has been renamed to octokit.pulls.createComment() +octokit.pulls.createCommentReply({ + owner, + repo, + pull_number, + body, + commit_id, + path, + position, + side, + line, + start_line, + start_side, + in_reply_to +}); + +// https://developer.github.com/v3/pulls/comments/#create-a-review-comment-reply +octokit.pulls.createReviewCommentReply({ + owner, + repo, + pull_number, + comment_id, + body +}); + +// https://developer.github.com/v3/pulls/#list-commits-on-a-pull-request +octokit.pulls.listCommits({ owner, repo, pull_number }); + +// https://developer.github.com/v3/pulls/#list-pull-requests-files +octokit.pulls.listFiles({ owner, repo, pull_number }); + +// https://developer.github.com/v3/pulls/#get-if-a-pull-request-has-been-merged +octokit.pulls.checkIfMerged({ owner, repo, pull_number }); + +// https://developer.github.com/v3/pulls/#merge-a-pull-request-merge-button +octokit.pulls.merge({ + owner, + repo, + pull_number, + commit_title, + commit_message, + sha, + merge_method +}); + +// https://developer.github.com/v3/pulls/review_requests/#list-review-requests +octokit.pulls.listReviewRequests({ owner, repo, pull_number }); + +// https://developer.github.com/v3/pulls/review_requests/#create-a-review-request +octokit.pulls.createReviewRequest({ + owner, + repo, + pull_number, + reviewers, + team_reviewers +}); + +// https://developer.github.com/v3/pulls/review_requests/#delete-a-review-request +octokit.pulls.deleteReviewRequest({ + owner, + repo, + pull_number, + reviewers, + team_reviewers +}); + +// https://developer.github.com/v3/pulls/reviews/#list-reviews-on-a-pull-request +octokit.pulls.listReviews({ owner, repo, pull_number }); + +// https://developer.github.com/v3/pulls/reviews/#create-a-pull-request-review +octokit.pulls.createReview({ + owner, + repo, + pull_number, + commit_id, + body, + event, + comments +}); + +// https://developer.github.com/v3/pulls/reviews/#get-a-single-review +octokit.pulls.getReview({ owner, repo, pull_number, review_id }); + +// https://developer.github.com/v3/pulls/reviews/#delete-a-pending-review +octokit.pulls.deletePendingReview({ owner, repo, pull_number, review_id }); + +// https://developer.github.com/v3/pulls/reviews/#update-a-pull-request-review +octokit.pulls.updateReview({ owner, repo, pull_number, review_id, body }); + +// https://developer.github.com/v3/pulls/reviews/#get-comments-for-a-single-review +octokit.pulls.getCommentsForReview({ owner, repo, pull_number, review_id }); + +// https://developer.github.com/v3/pulls/reviews/#dismiss-a-pull-request-review +octokit.pulls.dismissReview({ owner, repo, pull_number, review_id, message }); + +// https://developer.github.com/v3/pulls/reviews/#submit-a-pull-request-review +octokit.pulls.submitReview({ + owner, + repo, + pull_number, + review_id, + body, + event +}); + +// https://developer.github.com/v3/pulls/#update-a-pull-request-branch +octokit.pulls.updateBranch({ owner, repo, pull_number, expected_head_sha }); + +// https://developer.github.com/v3/repos/contents/#get-the-readme +octokit.repos.getReadme({ owner, repo, ref }); + +// https://developer.github.com/v3/repos/releases/#list-releases-for-a-repository +octokit.repos.listReleases({ owner, repo }); + +// https://developer.github.com/v3/repos/releases/#create-a-release +octokit.repos.createRelease({ + owner, + repo, + tag_name, + target_commitish, + name, + body, + draft, + prerelease +}); + +// https://developer.github.com/v3/repos/releases/#get-a-single-release-asset +octokit.repos.getReleaseAsset({ owner, repo, asset_id }); + +// https://developer.github.com/v3/repos/releases/#edit-a-release-asset +octokit.repos.updateReleaseAsset({ owner, repo, asset_id, name, label }); + +// https://developer.github.com/v3/repos/releases/#delete-a-release-asset +octokit.repos.deleteReleaseAsset({ owner, repo, asset_id }); + +// https://developer.github.com/v3/repos/releases/#get-the-latest-release +octokit.repos.getLatestRelease({ owner, repo }); + +// https://developer.github.com/v3/repos/releases/#get-a-release-by-tag-name +octokit.repos.getReleaseByTag({ owner, repo, tag }); + +// https://developer.github.com/v3/repos/releases/#get-a-single-release +octokit.repos.getRelease({ owner, repo, release_id }); + +// https://developer.github.com/v3/repos/releases/#edit-a-release +octokit.repos.updateRelease({ + owner, + repo, + release_id, + tag_name, + target_commitish, + name, + body, + draft, + prerelease +}); + +// https://developer.github.com/v3/repos/releases/#delete-a-release +octokit.repos.deleteRelease({ owner, repo, release_id }); + +// https://developer.github.com/v3/repos/releases/#list-assets-for-a-release +octokit.repos.listAssetsForRelease({ owner, repo, release_id }); + +// https://developer.github.com/v3/repos/releases/#upload-a-release-asset +octokit.repos.uploadReleaseAsset({ + owner, + repo, + release_id, + name, + label, + data, + origin +}); + +// https://developer.github.com/v3/activity/starring/#list-stargazers +octokit.activity.listStargazersForRepo({ owner, repo }); + +// https://developer.github.com/v3/repos/statistics/#get-the-number-of-additions-and-deletions-per-week +octokit.repos.getCodeFrequencyStats({ owner, repo }); + +// https://developer.github.com/v3/repos/statistics/#get-the-last-year-of-commit-activity-data +octokit.repos.getCommitActivityStats({ owner, repo }); + +// https://developer.github.com/v3/repos/statistics/#get-contributors-list-with-additions-deletions-and-commit-counts +octokit.repos.getContributorsStats({ owner, repo }); + +// https://developer.github.com/v3/repos/statistics/#get-the-weekly-commit-count-for-the-repository-owner-and-everyone-else +octokit.repos.getParticipationStats({ owner, repo }); + +// https://developer.github.com/v3/repos/statistics/#get-the-number-of-commits-per-hour-in-each-day +octokit.repos.getPunchCardStats({ owner, repo }); + +// https://developer.github.com/v3/repos/statuses/#create-a-status +octokit.repos.createStatus({ + owner, + repo, + sha, + state, + target_url, + description, + context +}); + +// https://developer.github.com/v3/activity/watching/#list-watchers +octokit.activity.listWatchersForRepo({ owner, repo }); + +// https://developer.github.com/v3/activity/watching/#get-a-repository-subscription +octokit.activity.getRepoSubscription({ owner, repo }); + +// https://developer.github.com/v3/activity/watching/#set-a-repository-subscription +octokit.activity.setRepoSubscription({ owner, repo, subscribed, ignored }); + +// https://developer.github.com/v3/activity/watching/#delete-a-repository-subscription +octokit.activity.deleteRepoSubscription({ owner, repo }); + +// https://developer.github.com/v3/repos/#list-tags +octokit.repos.listTags({ owner, repo }); + +// https://developer.github.com/v3/repos/#list-teams +octokit.repos.listTeams({ owner, repo }); + +// https://developer.github.com/v3/repos/#list-all-topics-for-a-repository +octokit.repos.listTopics({ owner, repo }); + +// https://developer.github.com/v3/repos/#replace-all-topics-for-a-repository +octokit.repos.replaceTopics({ owner, repo, names }); + +// https://developer.github.com/v3/repos/traffic/#clones +octokit.repos.getClones({ owner, repo, per }); + +// https://developer.github.com/v3/repos/traffic/#list-paths +octokit.repos.getTopPaths({ owner, repo }); + +// https://developer.github.com/v3/repos/traffic/#list-referrers +octokit.repos.getTopReferrers({ owner, repo }); + +// https://developer.github.com/v3/repos/traffic/#views +octokit.repos.getViews({ owner, repo, per }); + +// https://developer.github.com/v3/repos/#transfer-a-repository +octokit.repos.transfer({ owner, repo, new_owner, team_ids }); + +// https://developer.github.com/v3/repos/#check-if-vulnerability-alerts-are-enabled-for-a-repository +octokit.repos.checkVulnerabilityAlerts({ owner, repo }); + +// https://developer.github.com/v3/repos/#enable-vulnerability-alerts +octokit.repos.enableVulnerabilityAlerts({ owner, repo }); + +// https://developer.github.com/v3/repos/#disable-vulnerability-alerts +octokit.repos.disableVulnerabilityAlerts({ owner, repo }); + +// https://developer.github.com/v3/repos/contents/#get-archive-link +octokit.repos.getArchiveLink({ owner, repo, archive_format, ref }); + +// https://developer.github.com/v3/repos/#create-repository-using-a-repository-template +octokit.repos.createUsingTemplate({ + template_owner, + template_repo, + owner, + name, + description, + private +}); + +// https://developer.github.com/v3/repos/#list-all-public-repositories +octokit.repos.listPublic({ since }); + +// https://developer.github.com/v3/search/#search-code +octokit.search.code({ q, sort, order }); + +// https://developer.github.com/v3/search/#search-commits +octokit.search.commits({ q, sort, order }); + +// https://developer.github.com/v3/search/#search-issues-and-pull-requests +octokit.search.issuesAndPullRequests({ q, sort, order }); + +// DEPRECATED: octokit.search.issues() has been renamed to octokit.search.issuesAndPullRequests() +octokit.search.issues({ q, sort, order }); + +// https://developer.github.com/v3/search/#search-labels +octokit.search.labels({ repository_id, q, sort, order }); + +// https://developer.github.com/v3/search/#search-repositories +octokit.search.repos({ q, sort, order }); + +// https://developer.github.com/v3/search/#search-topics +octokit.search.topics({ q }); + +// https://developer.github.com/v3/search/#search-users +octokit.search.users({ q, sort, order }); + +// https://developer.github.com/v3/teams/#get-team-legacy +octokit.teams.getLegacy({ team_id }); + +// DEPRECATED: octokit.teams.get() has been renamed to octokit.teams.getLegacy() +octokit.teams.get({ team_id }); + +// https://developer.github.com/v3/teams/#edit-team-legacy +octokit.teams.updateLegacy({ + team_id, + name, + description, + privacy, + permission, + parent_team_id +}); + +// DEPRECATED: octokit.teams.update() has been renamed to octokit.teams.updateLegacy() +octokit.teams.update({ + team_id, + name, + description, + privacy, + permission, + parent_team_id +}); + +// https://developer.github.com/v3/teams/#delete-team-legacy +octokit.teams.deleteLegacy({ team_id }); + +// DEPRECATED: octokit.teams.delete() has been renamed to octokit.teams.deleteLegacy() +octokit.teams.delete({ team_id }); + +// https://developer.github.com/v3/teams/discussions/#list-discussions-legacy +octokit.teams.listDiscussionsLegacy({ team_id, direction }); + +// DEPRECATED: octokit.teams.listDiscussions() has been renamed to octokit.teams.listDiscussionsLegacy() +octokit.teams.listDiscussions({ team_id, direction }); + +// https://developer.github.com/v3/teams/discussions/#create-a-discussion-legacy +octokit.teams.createDiscussionLegacy({ team_id, title, body, private }); + +// DEPRECATED: octokit.teams.createDiscussion() has been renamed to octokit.teams.createDiscussionLegacy() +octokit.teams.createDiscussion({ team_id, title, body, private }); + +// https://developer.github.com/v3/teams/discussions/#get-a-single-discussion-legacy +octokit.teams.getDiscussionLegacy({ team_id, discussion_number }); + +// DEPRECATED: octokit.teams.getDiscussion() has been renamed to octokit.teams.getDiscussionLegacy() +octokit.teams.getDiscussion({ team_id, discussion_number }); + +// https://developer.github.com/v3/teams/discussions/#edit-a-discussion-legacy +octokit.teams.updateDiscussionLegacy({ + team_id, + discussion_number, + title, + body +}); + +// DEPRECATED: octokit.teams.updateDiscussion() has been renamed to octokit.teams.updateDiscussionLegacy() +octokit.teams.updateDiscussion({ team_id, discussion_number, title, body }); + +// https://developer.github.com/v3/teams/discussions/#delete-a-discussion-legacy +octokit.teams.deleteDiscussionLegacy({ team_id, discussion_number }); + +// DEPRECATED: octokit.teams.deleteDiscussion() has been renamed to octokit.teams.deleteDiscussionLegacy() +octokit.teams.deleteDiscussion({ team_id, discussion_number }); + +// https://developer.github.com/v3/teams/discussion_comments/#list-comments-legacy +octokit.teams.listDiscussionCommentsLegacy({ + team_id, + discussion_number, + direction +}); + +// DEPRECATED: octokit.teams.listDiscussionComments() has been renamed to octokit.teams.listDiscussionCommentsLegacy() +octokit.teams.listDiscussionComments({ team_id, discussion_number, direction }); + +// https://developer.github.com/v3/teams/discussion_comments/#create-a-comment-legacy +octokit.teams.createDiscussionCommentLegacy({ + team_id, + discussion_number, + body +}); + +// DEPRECATED: octokit.teams.createDiscussionComment() has been renamed to octokit.teams.createDiscussionCommentLegacy() +octokit.teams.createDiscussionComment({ team_id, discussion_number, body }); + +// https://developer.github.com/v3/teams/discussion_comments/#get-a-single-comment-legacy +octokit.teams.getDiscussionCommentLegacy({ + team_id, + discussion_number, + comment_number +}); + +// DEPRECATED: octokit.teams.getDiscussionComment() has been renamed to octokit.teams.getDiscussionCommentLegacy() +octokit.teams.getDiscussionComment({ + team_id, + discussion_number, + comment_number +}); + +// https://developer.github.com/v3/teams/discussion_comments/#edit-a-comment-legacy +octokit.teams.updateDiscussionCommentLegacy({ + team_id, + discussion_number, + comment_number, + body +}); + +// DEPRECATED: octokit.teams.updateDiscussionComment() has been renamed to octokit.teams.updateDiscussionCommentLegacy() +octokit.teams.updateDiscussionComment({ + team_id, + discussion_number, + comment_number, + body +}); + +// https://developer.github.com/v3/teams/discussion_comments/#delete-a-comment-legacy +octokit.teams.deleteDiscussionCommentLegacy({ + team_id, + discussion_number, + comment_number +}); + +// DEPRECATED: octokit.teams.deleteDiscussionComment() has been renamed to octokit.teams.deleteDiscussionCommentLegacy() +octokit.teams.deleteDiscussionComment({ + team_id, + discussion_number, + comment_number +}); + +// https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-comment-legacy +octokit.reactions.listForTeamDiscussionCommentLegacy({ + team_id, + discussion_number, + comment_number, + content +}); + +// DEPRECATED: octokit.reactions.listForTeamDiscussionComment() has been renamed to octokit.reactions.listForTeamDiscussionCommentLegacy() +octokit.reactions.listForTeamDiscussionComment({ + team_id, + discussion_number, + comment_number, + content +}); + +// https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-comment-legacy +octokit.reactions.createForTeamDiscussionCommentLegacy({ + team_id, + discussion_number, + comment_number, + content +}); + +// DEPRECATED: octokit.reactions.createForTeamDiscussionComment() has been renamed to octokit.reactions.createForTeamDiscussionCommentLegacy() +octokit.reactions.createForTeamDiscussionComment({ + team_id, + discussion_number, + comment_number, + content +}); + +// https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-legacy +octokit.reactions.listForTeamDiscussionLegacy({ + team_id, + discussion_number, + content +}); + +// DEPRECATED: octokit.reactions.listForTeamDiscussion() has been renamed to octokit.reactions.listForTeamDiscussionLegacy() +octokit.reactions.listForTeamDiscussion({ + team_id, + discussion_number, + content +}); + +// https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-legacy +octokit.reactions.createForTeamDiscussionLegacy({ + team_id, + discussion_number, + content +}); + +// DEPRECATED: octokit.reactions.createForTeamDiscussion() has been renamed to octokit.reactions.createForTeamDiscussionLegacy() +octokit.reactions.createForTeamDiscussion({ + team_id, + discussion_number, + content +}); + +// https://developer.github.com/v3/teams/members/#list-pending-team-invitations-legacy +octokit.teams.listPendingInvitationsLegacy({ team_id }); + +// DEPRECATED: octokit.teams.listPendingInvitations() has been renamed to octokit.teams.listPendingInvitationsLegacy() +octokit.teams.listPendingInvitations({ team_id }); + +// https://developer.github.com/v3/teams/members/#list-team-members-legacy +octokit.teams.listMembersLegacy({ team_id, role }); + +// DEPRECATED: octokit.teams.listMembers() has been renamed to octokit.teams.listMembersLegacy() +octokit.teams.listMembers({ team_id, role }); + +// https://developer.github.com/v3/teams/members/#get-team-member-legacy +octokit.teams.getMemberLegacy({ team_id, username }); + +// DEPRECATED: octokit.teams.getMember() has been renamed to octokit.teams.getMemberLegacy() +octokit.teams.getMember({ team_id, username }); + +// https://developer.github.com/v3/teams/members/#add-team-member-legacy +octokit.teams.addMemberLegacy({ team_id, username }); + +// DEPRECATED: octokit.teams.addMember() has been renamed to octokit.teams.addMemberLegacy() +octokit.teams.addMember({ team_id, username }); + +// https://developer.github.com/v3/teams/members/#remove-team-member-legacy +octokit.teams.removeMemberLegacy({ team_id, username }); + +// DEPRECATED: octokit.teams.removeMember() has been renamed to octokit.teams.removeMemberLegacy() +octokit.teams.removeMember({ team_id, username }); + +// https://developer.github.com/v3/teams/members/#get-team-membership-legacy +octokit.teams.getMembershipLegacy({ team_id, username }); + +// DEPRECATED: octokit.teams.getMembership() has been renamed to octokit.teams.getMembershipLegacy() +octokit.teams.getMembership({ team_id, username }); + +// https://developer.github.com/v3/teams/members/#add-or-update-team-membership-legacy +octokit.teams.addOrUpdateMembershipLegacy({ team_id, username, role }); + +// DEPRECATED: octokit.teams.addOrUpdateMembership() has been renamed to octokit.teams.addOrUpdateMembershipLegacy() +octokit.teams.addOrUpdateMembership({ team_id, username, role }); + +// https://developer.github.com/v3/teams/members/#remove-team-membership-legacy +octokit.teams.removeMembershipLegacy({ team_id, username }); + +// DEPRECATED: octokit.teams.removeMembership() has been renamed to octokit.teams.removeMembershipLegacy() +octokit.teams.removeMembership({ team_id, username }); + +// https://developer.github.com/v3/teams/#list-team-projects-legacy +octokit.teams.listProjectsLegacy({ team_id }); + +// DEPRECATED: octokit.teams.listProjects() has been renamed to octokit.teams.listProjectsLegacy() +octokit.teams.listProjects({ team_id }); + +// https://developer.github.com/v3/teams/#review-a-team-project-legacy +octokit.teams.reviewProjectLegacy({ team_id, project_id }); + +// DEPRECATED: octokit.teams.reviewProject() has been renamed to octokit.teams.reviewProjectLegacy() +octokit.teams.reviewProject({ team_id, project_id }); + +// https://developer.github.com/v3/teams/#add-or-update-team-project-legacy +octokit.teams.addOrUpdateProjectLegacy({ team_id, project_id, permission }); + +// DEPRECATED: octokit.teams.addOrUpdateProject() has been renamed to octokit.teams.addOrUpdateProjectLegacy() +octokit.teams.addOrUpdateProject({ team_id, project_id, permission }); + +// https://developer.github.com/v3/teams/#remove-team-project-legacy +octokit.teams.removeProjectLegacy({ team_id, project_id }); + +// DEPRECATED: octokit.teams.removeProject() has been renamed to octokit.teams.removeProjectLegacy() +octokit.teams.removeProject({ team_id, project_id }); + +// https://developer.github.com/v3/teams/#list-team-repos-legacy +octokit.teams.listReposLegacy({ team_id }); + +// DEPRECATED: octokit.teams.listRepos() has been renamed to octokit.teams.listReposLegacy() +octokit.teams.listRepos({ team_id }); + +// https://developer.github.com/v3/teams/#check-if-a-team-manages-a-repository-legacy +octokit.teams.checkManagesRepoLegacy({ team_id, owner, repo }); + +// DEPRECATED: octokit.teams.checkManagesRepo() has been renamed to octokit.teams.checkManagesRepoLegacy() +octokit.teams.checkManagesRepo({ team_id, owner, repo }); + +// https://developer.github.com/v3/teams/#add-or-update-team-repository-legacy +octokit.teams.addOrUpdateRepoLegacy({ team_id, owner, repo, permission }); + +// DEPRECATED: octokit.teams.addOrUpdateRepo() has been renamed to octokit.teams.addOrUpdateRepoLegacy() +octokit.teams.addOrUpdateRepo({ team_id, owner, repo, permission }); + +// https://developer.github.com/v3/teams/#remove-team-repository-legacy +octokit.teams.removeRepoLegacy({ team_id, owner, repo }); + +// DEPRECATED: octokit.teams.removeRepo() has been renamed to octokit.teams.removeRepoLegacy() +octokit.teams.removeRepo({ team_id, owner, repo }); + +// https://developer.github.com/v3/teams/#list-child-teams-legacy +octokit.teams.listChildLegacy({ team_id }); + +// DEPRECATED: octokit.teams.listChild() has been renamed to octokit.teams.listChildLegacy() +octokit.teams.listChild({ team_id }); + +// https://developer.github.com/v3/users/#get-the-authenticated-user +octokit.users.getAuthenticated(); + +// https://developer.github.com/v3/users/#update-the-authenticated-user +octokit.users.updateAuthenticated({ + name, + email, + blog, + company, + location, + hireable, + bio +}); + +// https://developer.github.com/v3/users/blocking/#list-blocked-users +octokit.users.listBlocked(); + +// https://developer.github.com/v3/users/blocking/#check-whether-youve-blocked-a-user +octokit.users.checkBlocked({ username }); + +// https://developer.github.com/v3/users/blocking/#block-a-user +octokit.users.block({ username }); + +// https://developer.github.com/v3/users/blocking/#unblock-a-user +octokit.users.unblock({ username }); + +// https://developer.github.com/v3/users/emails/#toggle-primary-email-visibility +octokit.users.togglePrimaryEmailVisibility({ email, visibility }); + +// https://developer.github.com/v3/users/emails/#list-email-addresses-for-a-user +octokit.users.listEmails(); + +// https://developer.github.com/v3/users/emails/#add-email-addresses +octokit.users.addEmails({ emails }); + +// https://developer.github.com/v3/users/emails/#delete-email-addresses +octokit.users.deleteEmails({ emails }); + +// https://developer.github.com/v3/users/followers/#list-followers-of-a-user +octokit.users.listFollowersForAuthenticatedUser(); + +// https://developer.github.com/v3/users/followers/#list-users-followed-by-another-user +octokit.users.listFollowingForAuthenticatedUser(); + +// https://developer.github.com/v3/users/followers/#check-if-you-are-following-a-user +octokit.users.checkFollowing({ username }); + +// https://developer.github.com/v3/users/followers/#follow-a-user +octokit.users.follow({ username }); + +// https://developer.github.com/v3/users/followers/#unfollow-a-user +octokit.users.unfollow({ username }); + +// https://developer.github.com/v3/users/gpg_keys/#list-your-gpg-keys +octokit.users.listGpgKeys(); + +// https://developer.github.com/v3/users/gpg_keys/#create-a-gpg-key +octokit.users.createGpgKey({ armored_public_key }); + +// https://developer.github.com/v3/users/gpg_keys/#get-a-single-gpg-key +octokit.users.getGpgKey({ gpg_key_id }); + +// https://developer.github.com/v3/users/gpg_keys/#delete-a-gpg-key +octokit.users.deleteGpgKey({ gpg_key_id }); + +// https://developer.github.com/v3/apps/installations/#list-installations-for-a-user +octokit.apps.listInstallationsForAuthenticatedUser(); + +// https://developer.github.com/v3/apps/installations/#list-repositories-accessible-to-the-user-for-an-installation +octokit.apps.listInstallationReposForAuthenticatedUser({ installation_id }); + +// https://developer.github.com/v3/apps/installations/#add-repository-to-installation +octokit.apps.addRepoToInstallation({ installation_id, repository_id }); + +// https://developer.github.com/v3/apps/installations/#remove-repository-from-installation +octokit.apps.removeRepoFromInstallation({ installation_id, repository_id }); + +// https://developer.github.com/v3/issues/#list-issues +octokit.issues.listForAuthenticatedUser({ + filter, + state, + labels, + sort, + direction, + since +}); + +// https://developer.github.com/v3/users/keys/#list-your-public-keys +octokit.users.listPublicKeys(); + +// https://developer.github.com/v3/users/keys/#create-a-public-key +octokit.users.createPublicKey({ title, key }); + +// https://developer.github.com/v3/users/keys/#get-a-single-public-key +octokit.users.getPublicKey({ key_id }); + +// https://developer.github.com/v3/users/keys/#delete-a-public-key +octokit.users.deletePublicKey({ key_id }); + +// https://developer.github.com/v3/apps/marketplace/#get-a-users-marketplace-purchases +octokit.apps.listMarketplacePurchasesForAuthenticatedUser(); + +// https://developer.github.com/v3/apps/marketplace/#get-a-users-marketplace-purchases +octokit.apps.listMarketplacePurchasesForAuthenticatedUserStubbed(); + +// https://developer.github.com/v3/orgs/members/#list-your-organization-memberships +octokit.orgs.listMemberships({ state }); + +// https://developer.github.com/v3/orgs/members/#get-your-organization-membership +octokit.orgs.getMembershipForAuthenticatedUser({ org }); + +// https://developer.github.com/v3/orgs/members/#edit-your-organization-membership +octokit.orgs.updateMembership({ org, state }); + +// https://developer.github.com/v3/migrations/users/#start-a-user-migration +octokit.migrations.startForAuthenticatedUser({ + repositories, + lock_repositories, + exclude_attachments +}); + +// https://developer.github.com/v3/migrations/users/#list-user-migrations +octokit.migrations.listForAuthenticatedUser(); + +// https://developer.github.com/v3/migrations/users/#get-the-status-of-a-user-migration +octokit.migrations.getStatusForAuthenticatedUser({ migration_id }); + +// https://developer.github.com/v3/migrations/users/#download-a-user-migration-archive +octokit.migrations.getArchiveForAuthenticatedUser({ migration_id }); + +// https://developer.github.com/v3/migrations/users/#delete-a-user-migration-archive +octokit.migrations.deleteArchiveForAuthenticatedUser({ migration_id }); + +// https://developer.github.com/v3/migrations/users/#unlock-a-user-repository +octokit.migrations.unlockRepoForAuthenticatedUser({ migration_id, repo_name }); + +// https://developer.github.com/v3/orgs/#list-your-organizations +octokit.orgs.listForAuthenticatedUser(); + +// https://developer.github.com/v3/projects/#create-a-user-project +octokit.projects.createForAuthenticatedUser({ name, body }); + +// https://developer.github.com/v3/users/emails/#list-public-email-addresses-for-a-user +octokit.users.listPublicEmails(); + +// https://developer.github.com/v3/repos/#list-your-repositories +octokit.repos.list({ visibility, affiliation, type, sort, direction }); + +// https://developer.github.com/v3/repos/#create +octokit.repos.createForAuthenticatedUser({ + name, + description, + homepage, + private, + visibility, + has_issues, + has_projects, + has_wiki, + is_template, + team_id, + auto_init, + gitignore_template, + license_template, + allow_squash_merge, + allow_merge_commit, + allow_rebase_merge, + delete_branch_on_merge +}); + +// https://developer.github.com/v3/repos/invitations/#list-a-users-repository-invitations +octokit.repos.listInvitationsForAuthenticatedUser(); + +// https://developer.github.com/v3/repos/invitations/#accept-a-repository-invitation +octokit.repos.acceptInvitation({ invitation_id }); + +// https://developer.github.com/v3/repos/invitations/#decline-a-repository-invitation +octokit.repos.declineInvitation({ invitation_id }); + +// https://developer.github.com/v3/activity/starring/#list-repositories-being-starred +octokit.activity.listReposStarredByAuthenticatedUser({ sort, direction }); + +// https://developer.github.com/v3/activity/starring/#check-if-you-are-starring-a-repository +octokit.activity.checkStarringRepo({ owner, repo }); + +// https://developer.github.com/v3/activity/starring/#star-a-repository +octokit.activity.starRepo({ owner, repo }); + +// https://developer.github.com/v3/activity/starring/#unstar-a-repository +octokit.activity.unstarRepo({ owner, repo }); + +// https://developer.github.com/v3/activity/watching/#list-repositories-being-watched +octokit.activity.listWatchedReposForAuthenticatedUser(); + +// https://developer.github.com/v3/teams/#list-user-teams +octokit.teams.listForAuthenticatedUser(); + +// https://developer.github.com/v3/migrations/users/#list-repositories-for-a-user-migration +octokit.migrations.listReposForUser({ migration_id }); + +// https://developer.github.com/v3/users/#get-all-users +octokit.users.list({ since }); + +// https://developer.github.com/v3/users/#get-a-single-user +octokit.users.getByUsername({ username }); + +// https://developer.github.com/v3/activity/events/#list-events-performed-by-a-user +octokit.activity.listEventsForUser({ username }); + +// https://developer.github.com/v3/activity/events/#list-events-for-an-organization +octokit.activity.listEventsForOrg({ username, org }); + +// https://developer.github.com/v3/activity/events/#list-public-events-performed-by-a-user +octokit.activity.listPublicEventsForUser({ username }); + +// https://developer.github.com/v3/users/followers/#list-followers-of-a-user +octokit.users.listFollowersForUser({ username }); + +// https://developer.github.com/v3/users/followers/#list-users-followed-by-another-user +octokit.users.listFollowingForUser({ username }); + +// https://developer.github.com/v3/users/followers/#check-if-one-user-follows-another +octokit.users.checkFollowingForUser({ username, target_user }); + +// https://developer.github.com/v3/gists/#list-a-users-gists +octokit.gists.listPublicForUser({ username, since }); + +// https://developer.github.com/v3/users/gpg_keys/#list-gpg-keys-for-a-user +octokit.users.listGpgKeysForUser({ username }); + +// https://developer.github.com/v3/users/#get-contextual-information-about-a-user +octokit.users.getContextForUser({ username, subject_type, subject_id }); + +// https://developer.github.com/v3/apps/#get-a-user-installation +octokit.apps.getUserInstallation({ username }); + +// DEPRECATED: octokit.apps.findUserInstallation() has been renamed to octokit.apps.getUserInstallation() +octokit.apps.findUserInstallation({ username }); + +// https://developer.github.com/v3/users/keys/#list-public-keys-for-a-user +octokit.users.listPublicKeysForUser({ username }); + +// https://developer.github.com/v3/orgs/#list-user-organizations +octokit.orgs.listForUser({ username }); + +// https://developer.github.com/v3/projects/#list-user-projects +octokit.projects.listForUser({ username, state }); + +// https://developer.github.com/v3/activity/events/#list-events-that-a-user-has-received +octokit.activity.listReceivedEventsForUser({ username }); + +// https://developer.github.com/v3/activity/events/#list-public-events-that-a-user-has-received +octokit.activity.listReceivedPublicEventsForUser({ username }); + +// https://developer.github.com/v3/repos/#list-user-repositories +octokit.repos.listForUser({ username, type, sort, direction }); + +// https://developer.github.com/v3/activity/starring/#list-repositories-being-starred +octokit.activity.listReposStarredByUser({ username, sort, direction }); + +// https://developer.github.com/v3/activity/watching/#list-repositories-being-watched +octokit.activity.listReposWatchedByUser({ username }); + +// https://developer.github.com/v3/repos/commits/#get-a-single-commit +octokit.repos.getCommitRefSha({ owner, ref, repo }); + +// https://developer.github.com/v3/git/refs/#get-all-references +octokit.git.listRefs({ owner, repo, namespace }); + +// https://developer.github.com/v3/issues/labels/#update-a-label +octokit.issues.updateLabel({ + owner, + repo, + current_name, + color, + name, + description +}); + +// https://developer.github.com/v3/pulls/#create-a-pull-request +octokit.pulls.createFromIssue({ + owner, + repo, + base, + draft, + head, + issue, + maintainer_can_modify, + owner, + repo +}); + +// https://developer.github.com/v3/repos/releases/#upload-a-release-asset +octokit.repos.uploadReleaseAsset({ data, headers, label, name, url }); +``` + +There is one method for each REST API endpoint documented at [https://developer.github.com/v3](https://developer.github.com/v3). + +## Contributing + +See [CONTRIBUTING.md](CONTRIBUTING.md) + +## License + +[MIT](LICENSE) diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js new file mode 100644 index 0000000..f391f5e --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js @@ -0,0 +1,13196 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var deprecation = require('deprecation'); + +var endpointsByScope = { + actions: { + cancelWorkflowRun: { + method: "POST", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + run_id: { + required: true, + type: "integer" + } + }, + url: "/repos/:owner/:repo/actions/runs/:run_id/cancel" + }, + createOrUpdateSecretForRepo: { + method: "PUT", + params: { + encrypted_value: { + type: "string" + }, + key_id: { + type: "string" + }, + name: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/actions/secrets/:name" + }, + createRegistrationToken: { + method: "POST", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/actions/runners/registration-token" + }, + createRemoveToken: { + method: "POST", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/actions/runners/remove-token" + }, + deleteArtifact: { + method: "DELETE", + params: { + artifact_id: { + required: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/actions/artifacts/:artifact_id" + }, + deleteSecretFromRepo: { + method: "DELETE", + params: { + name: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/actions/secrets/:name" + }, + downloadArtifact: { + method: "GET", + params: { + archive_format: { + required: true, + type: "string" + }, + artifact_id: { + required: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/actions/artifacts/:artifact_id/:archive_format" + }, + getArtifact: { + method: "GET", + params: { + artifact_id: { + required: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/actions/artifacts/:artifact_id" + }, + getPublicKey: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/actions/secrets/public-key" + }, + getSecret: { + method: "GET", + params: { + name: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/actions/secrets/:name" + }, + getSelfHostedRunner: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + runner_id: { + required: true, + type: "integer" + } + }, + url: "/repos/:owner/:repo/actions/runners/:runner_id" + }, + getWorkflow: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + workflow_id: { + required: true, + type: "integer" + } + }, + url: "/repos/:owner/:repo/actions/workflows/:workflow_id" + }, + getWorkflowJob: { + method: "GET", + params: { + job_id: { + required: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/actions/jobs/:job_id" + }, + getWorkflowRun: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + run_id: { + required: true, + type: "integer" + } + }, + url: "/repos/:owner/:repo/actions/runs/:run_id" + }, + listDownloadsForSelfHostedRunnerApplication: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/actions/runners/downloads" + }, + listJobsForWorkflowRun: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + }, + run_id: { + required: true, + type: "integer" + } + }, + url: "/repos/:owner/:repo/actions/runs/:run_id/jobs" + }, + listRepoWorkflowRuns: { + method: "GET", + params: { + actor: { + type: "string" + }, + branch: { + type: "string" + }, + event: { + type: "string" + }, + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + }, + status: { + enum: ["completed", "status", "conclusion"], + type: "string" + } + }, + url: "/repos/:owner/:repo/actions/runs" + }, + listRepoWorkflows: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/actions/workflows" + }, + listSecretsForRepo: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/actions/secrets" + }, + listSelfHostedRunnersForRepo: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/actions/runners" + }, + listWorkflowJobLogs: { + method: "GET", + params: { + job_id: { + required: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/actions/jobs/:job_id/logs" + }, + listWorkflowRunArtifacts: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + }, + run_id: { + required: true, + type: "integer" + } + }, + url: "/repos/:owner/:repo/actions/runs/:run_id/artifacts" + }, + listWorkflowRunLogs: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + }, + run_id: { + required: true, + type: "integer" + } + }, + url: "/repos/:owner/:repo/actions/runs/:run_id/logs" + }, + listWorkflowRuns: { + method: "GET", + params: { + actor: { + type: "string" + }, + branch: { + type: "string" + }, + event: { + type: "string" + }, + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + }, + status: { + enum: ["completed", "status", "conclusion"], + type: "string" + }, + workflow_id: { + required: true, + type: "integer" + } + }, + url: "/repos/:owner/:repo/actions/workflows/:workflow_id/runs" + }, + reRunWorkflow: { + method: "POST", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + run_id: { + required: true, + type: "integer" + } + }, + url: "/repos/:owner/:repo/actions/runs/:run_id/rerun" + }, + removeSelfHostedRunner: { + method: "DELETE", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + runner_id: { + required: true, + type: "integer" + } + }, + url: "/repos/:owner/:repo/actions/runners/:runner_id" + } + }, + activity: { + checkStarringRepo: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/user/starred/:owner/:repo" + }, + deleteRepoSubscription: { + method: "DELETE", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/subscription" + }, + deleteThreadSubscription: { + method: "DELETE", + params: { + thread_id: { + required: true, + type: "integer" + } + }, + url: "/notifications/threads/:thread_id/subscription" + }, + getRepoSubscription: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/subscription" + }, + getThread: { + method: "GET", + params: { + thread_id: { + required: true, + type: "integer" + } + }, + url: "/notifications/threads/:thread_id" + }, + getThreadSubscription: { + method: "GET", + params: { + thread_id: { + required: true, + type: "integer" + } + }, + url: "/notifications/threads/:thread_id/subscription" + }, + listEventsForOrg: { + method: "GET", + params: { + org: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + username: { + required: true, + type: "string" + } + }, + url: "/users/:username/events/orgs/:org" + }, + listEventsForUser: { + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + username: { + required: true, + type: "string" + } + }, + url: "/users/:username/events" + }, + listFeeds: { + method: "GET", + params: {}, + url: "/feeds" + }, + listNotifications: { + method: "GET", + params: { + all: { + type: "boolean" + }, + before: { + type: "string" + }, + page: { + type: "integer" + }, + participating: { + type: "boolean" + }, + per_page: { + type: "integer" + }, + since: { + type: "string" + } + }, + url: "/notifications" + }, + listNotificationsForRepo: { + method: "GET", + params: { + all: { + type: "boolean" + }, + before: { + type: "string" + }, + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + participating: { + type: "boolean" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + }, + since: { + type: "string" + } + }, + url: "/repos/:owner/:repo/notifications" + }, + listPublicEvents: { + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + } + }, + url: "/events" + }, + listPublicEventsForOrg: { + method: "GET", + params: { + org: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + } + }, + url: "/orgs/:org/events" + }, + listPublicEventsForRepoNetwork: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/networks/:owner/:repo/events" + }, + listPublicEventsForUser: { + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + username: { + required: true, + type: "string" + } + }, + url: "/users/:username/events/public" + }, + listReceivedEventsForUser: { + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + username: { + required: true, + type: "string" + } + }, + url: "/users/:username/received_events" + }, + listReceivedPublicEventsForUser: { + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + username: { + required: true, + type: "string" + } + }, + url: "/users/:username/received_events/public" + }, + listRepoEvents: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/events" + }, + listReposStarredByAuthenticatedUser: { + method: "GET", + params: { + direction: { + enum: ["asc", "desc"], + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + sort: { + enum: ["created", "updated"], + type: "string" + } + }, + url: "/user/starred" + }, + listReposStarredByUser: { + method: "GET", + params: { + direction: { + enum: ["asc", "desc"], + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + sort: { + enum: ["created", "updated"], + type: "string" + }, + username: { + required: true, + type: "string" + } + }, + url: "/users/:username/starred" + }, + listReposWatchedByUser: { + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + username: { + required: true, + type: "string" + } + }, + url: "/users/:username/subscriptions" + }, + listStargazersForRepo: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/stargazers" + }, + listWatchedReposForAuthenticatedUser: { + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + } + }, + url: "/user/subscriptions" + }, + listWatchersForRepo: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/subscribers" + }, + markAsRead: { + method: "PUT", + params: { + last_read_at: { + type: "string" + } + }, + url: "/notifications" + }, + markNotificationsAsReadForRepo: { + method: "PUT", + params: { + last_read_at: { + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/notifications" + }, + markThreadAsRead: { + method: "PATCH", + params: { + thread_id: { + required: true, + type: "integer" + } + }, + url: "/notifications/threads/:thread_id" + }, + setRepoSubscription: { + method: "PUT", + params: { + ignored: { + type: "boolean" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + subscribed: { + type: "boolean" + } + }, + url: "/repos/:owner/:repo/subscription" + }, + setThreadSubscription: { + method: "PUT", + params: { + ignored: { + type: "boolean" + }, + thread_id: { + required: true, + type: "integer" + } + }, + url: "/notifications/threads/:thread_id/subscription" + }, + starRepo: { + method: "PUT", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/user/starred/:owner/:repo" + }, + unstarRepo: { + method: "DELETE", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/user/starred/:owner/:repo" + } + }, + apps: { + addRepoToInstallation: { + headers: { + accept: "application/vnd.github.machine-man-preview+json" + }, + method: "PUT", + params: { + installation_id: { + required: true, + type: "integer" + }, + repository_id: { + required: true, + type: "integer" + } + }, + url: "/user/installations/:installation_id/repositories/:repository_id" + }, + checkAccountIsAssociatedWithAny: { + method: "GET", + params: { + account_id: { + required: true, + type: "integer" + } + }, + url: "/marketplace_listing/accounts/:account_id" + }, + checkAccountIsAssociatedWithAnyStubbed: { + method: "GET", + params: { + account_id: { + required: true, + type: "integer" + } + }, + url: "/marketplace_listing/stubbed/accounts/:account_id" + }, + checkAuthorization: { + deprecated: "octokit.apps.checkAuthorization() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#check-an-authorization", + method: "GET", + params: { + access_token: { + required: true, + type: "string" + }, + client_id: { + required: true, + type: "string" + } + }, + url: "/applications/:client_id/tokens/:access_token" + }, + checkToken: { + headers: { + accept: "application/vnd.github.doctor-strange-preview+json" + }, + method: "POST", + params: { + access_token: { + type: "string" + }, + client_id: { + required: true, + type: "string" + } + }, + url: "/applications/:client_id/token" + }, + createContentAttachment: { + headers: { + accept: "application/vnd.github.corsair-preview+json" + }, + method: "POST", + params: { + body: { + required: true, + type: "string" + }, + content_reference_id: { + required: true, + type: "integer" + }, + title: { + required: true, + type: "string" + } + }, + url: "/content_references/:content_reference_id/attachments" + }, + createFromManifest: { + headers: { + accept: "application/vnd.github.fury-preview+json" + }, + method: "POST", + params: { + code: { + required: true, + type: "string" + } + }, + url: "/app-manifests/:code/conversions" + }, + createInstallationToken: { + headers: { + accept: "application/vnd.github.machine-man-preview+json" + }, + method: "POST", + params: { + installation_id: { + required: true, + type: "integer" + }, + permissions: { + type: "object" + }, + repository_ids: { + type: "integer[]" + } + }, + url: "/app/installations/:installation_id/access_tokens" + }, + deleteAuthorization: { + headers: { + accept: "application/vnd.github.doctor-strange-preview+json" + }, + method: "DELETE", + params: { + access_token: { + type: "string" + }, + client_id: { + required: true, + type: "string" + } + }, + url: "/applications/:client_id/grant" + }, + deleteInstallation: { + headers: { + accept: "application/vnd.github.gambit-preview+json,application/vnd.github.machine-man-preview+json" + }, + method: "DELETE", + params: { + installation_id: { + required: true, + type: "integer" + } + }, + url: "/app/installations/:installation_id" + }, + deleteToken: { + headers: { + accept: "application/vnd.github.doctor-strange-preview+json" + }, + method: "DELETE", + params: { + access_token: { + type: "string" + }, + client_id: { + required: true, + type: "string" + } + }, + url: "/applications/:client_id/token" + }, + findOrgInstallation: { + deprecated: "octokit.apps.findOrgInstallation() has been renamed to octokit.apps.getOrgInstallation() (2019-04-10)", + headers: { + accept: "application/vnd.github.machine-man-preview+json" + }, + method: "GET", + params: { + org: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/installation" + }, + findRepoInstallation: { + deprecated: "octokit.apps.findRepoInstallation() has been renamed to octokit.apps.getRepoInstallation() (2019-04-10)", + headers: { + accept: "application/vnd.github.machine-man-preview+json" + }, + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/installation" + }, + findUserInstallation: { + deprecated: "octokit.apps.findUserInstallation() has been renamed to octokit.apps.getUserInstallation() (2019-04-10)", + headers: { + accept: "application/vnd.github.machine-man-preview+json" + }, + method: "GET", + params: { + username: { + required: true, + type: "string" + } + }, + url: "/users/:username/installation" + }, + getAuthenticated: { + headers: { + accept: "application/vnd.github.machine-man-preview+json" + }, + method: "GET", + params: {}, + url: "/app" + }, + getBySlug: { + headers: { + accept: "application/vnd.github.machine-man-preview+json" + }, + method: "GET", + params: { + app_slug: { + required: true, + type: "string" + } + }, + url: "/apps/:app_slug" + }, + getInstallation: { + headers: { + accept: "application/vnd.github.machine-man-preview+json" + }, + method: "GET", + params: { + installation_id: { + required: true, + type: "integer" + } + }, + url: "/app/installations/:installation_id" + }, + getOrgInstallation: { + headers: { + accept: "application/vnd.github.machine-man-preview+json" + }, + method: "GET", + params: { + org: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/installation" + }, + getRepoInstallation: { + headers: { + accept: "application/vnd.github.machine-man-preview+json" + }, + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/installation" + }, + getUserInstallation: { + headers: { + accept: "application/vnd.github.machine-man-preview+json" + }, + method: "GET", + params: { + username: { + required: true, + type: "string" + } + }, + url: "/users/:username/installation" + }, + listAccountsUserOrOrgOnPlan: { + method: "GET", + params: { + direction: { + enum: ["asc", "desc"], + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + plan_id: { + required: true, + type: "integer" + }, + sort: { + enum: ["created", "updated"], + type: "string" + } + }, + url: "/marketplace_listing/plans/:plan_id/accounts" + }, + listAccountsUserOrOrgOnPlanStubbed: { + method: "GET", + params: { + direction: { + enum: ["asc", "desc"], + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + plan_id: { + required: true, + type: "integer" + }, + sort: { + enum: ["created", "updated"], + type: "string" + } + }, + url: "/marketplace_listing/stubbed/plans/:plan_id/accounts" + }, + listInstallationReposForAuthenticatedUser: { + headers: { + accept: "application/vnd.github.machine-man-preview+json" + }, + method: "GET", + params: { + installation_id: { + required: true, + type: "integer" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + } + }, + url: "/user/installations/:installation_id/repositories" + }, + listInstallations: { + headers: { + accept: "application/vnd.github.machine-man-preview+json" + }, + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + } + }, + url: "/app/installations" + }, + listInstallationsForAuthenticatedUser: { + headers: { + accept: "application/vnd.github.machine-man-preview+json" + }, + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + } + }, + url: "/user/installations" + }, + listMarketplacePurchasesForAuthenticatedUser: { + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + } + }, + url: "/user/marketplace_purchases" + }, + listMarketplacePurchasesForAuthenticatedUserStubbed: { + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + } + }, + url: "/user/marketplace_purchases/stubbed" + }, + listPlans: { + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + } + }, + url: "/marketplace_listing/plans" + }, + listPlansStubbed: { + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + } + }, + url: "/marketplace_listing/stubbed/plans" + }, + listRepos: { + headers: { + accept: "application/vnd.github.machine-man-preview+json" + }, + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + } + }, + url: "/installation/repositories" + }, + removeRepoFromInstallation: { + headers: { + accept: "application/vnd.github.machine-man-preview+json" + }, + method: "DELETE", + params: { + installation_id: { + required: true, + type: "integer" + }, + repository_id: { + required: true, + type: "integer" + } + }, + url: "/user/installations/:installation_id/repositories/:repository_id" + }, + resetAuthorization: { + deprecated: "octokit.apps.resetAuthorization() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#reset-an-authorization", + method: "POST", + params: { + access_token: { + required: true, + type: "string" + }, + client_id: { + required: true, + type: "string" + } + }, + url: "/applications/:client_id/tokens/:access_token" + }, + resetToken: { + headers: { + accept: "application/vnd.github.doctor-strange-preview+json" + }, + method: "PATCH", + params: { + access_token: { + type: "string" + }, + client_id: { + required: true, + type: "string" + } + }, + url: "/applications/:client_id/token" + }, + revokeAuthorizationForApplication: { + deprecated: "octokit.apps.revokeAuthorizationForApplication() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#revoke-an-authorization-for-an-application", + method: "DELETE", + params: { + access_token: { + required: true, + type: "string" + }, + client_id: { + required: true, + type: "string" + } + }, + url: "/applications/:client_id/tokens/:access_token" + }, + revokeGrantForApplication: { + deprecated: "octokit.apps.revokeGrantForApplication() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#revoke-a-grant-for-an-application", + method: "DELETE", + params: { + access_token: { + required: true, + type: "string" + }, + client_id: { + required: true, + type: "string" + } + }, + url: "/applications/:client_id/grants/:access_token" + }, + revokeInstallationToken: { + headers: { + accept: "application/vnd.github.gambit-preview+json" + }, + method: "DELETE", + params: {}, + url: "/installation/token" + } + }, + checks: { + create: { + headers: { + accept: "application/vnd.github.antiope-preview+json" + }, + method: "POST", + params: { + actions: { + type: "object[]" + }, + "actions[].description": { + required: true, + type: "string" + }, + "actions[].identifier": { + required: true, + type: "string" + }, + "actions[].label": { + required: true, + type: "string" + }, + completed_at: { + type: "string" + }, + conclusion: { + enum: ["success", "failure", "neutral", "cancelled", "timed_out", "action_required"], + type: "string" + }, + details_url: { + type: "string" + }, + external_id: { + type: "string" + }, + head_sha: { + required: true, + type: "string" + }, + name: { + required: true, + type: "string" + }, + output: { + type: "object" + }, + "output.annotations": { + type: "object[]" + }, + "output.annotations[].annotation_level": { + enum: ["notice", "warning", "failure"], + required: true, + type: "string" + }, + "output.annotations[].end_column": { + type: "integer" + }, + "output.annotations[].end_line": { + required: true, + type: "integer" + }, + "output.annotations[].message": { + required: true, + type: "string" + }, + "output.annotations[].path": { + required: true, + type: "string" + }, + "output.annotations[].raw_details": { + type: "string" + }, + "output.annotations[].start_column": { + type: "integer" + }, + "output.annotations[].start_line": { + required: true, + type: "integer" + }, + "output.annotations[].title": { + type: "string" + }, + "output.images": { + type: "object[]" + }, + "output.images[].alt": { + required: true, + type: "string" + }, + "output.images[].caption": { + type: "string" + }, + "output.images[].image_url": { + required: true, + type: "string" + }, + "output.summary": { + required: true, + type: "string" + }, + "output.text": { + type: "string" + }, + "output.title": { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + started_at: { + type: "string" + }, + status: { + enum: ["queued", "in_progress", "completed"], + type: "string" + } + }, + url: "/repos/:owner/:repo/check-runs" + }, + createSuite: { + headers: { + accept: "application/vnd.github.antiope-preview+json" + }, + method: "POST", + params: { + head_sha: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/check-suites" + }, + get: { + headers: { + accept: "application/vnd.github.antiope-preview+json" + }, + method: "GET", + params: { + check_run_id: { + required: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/check-runs/:check_run_id" + }, + getSuite: { + headers: { + accept: "application/vnd.github.antiope-preview+json" + }, + method: "GET", + params: { + check_suite_id: { + required: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/check-suites/:check_suite_id" + }, + listAnnotations: { + headers: { + accept: "application/vnd.github.antiope-preview+json" + }, + method: "GET", + params: { + check_run_id: { + required: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/check-runs/:check_run_id/annotations" + }, + listForRef: { + headers: { + accept: "application/vnd.github.antiope-preview+json" + }, + method: "GET", + params: { + check_name: { + type: "string" + }, + filter: { + enum: ["latest", "all"], + type: "string" + }, + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + ref: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + status: { + enum: ["queued", "in_progress", "completed"], + type: "string" + } + }, + url: "/repos/:owner/:repo/commits/:ref/check-runs" + }, + listForSuite: { + headers: { + accept: "application/vnd.github.antiope-preview+json" + }, + method: "GET", + params: { + check_name: { + type: "string" + }, + check_suite_id: { + required: true, + type: "integer" + }, + filter: { + enum: ["latest", "all"], + type: "string" + }, + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + }, + status: { + enum: ["queued", "in_progress", "completed"], + type: "string" + } + }, + url: "/repos/:owner/:repo/check-suites/:check_suite_id/check-runs" + }, + listSuitesForRef: { + headers: { + accept: "application/vnd.github.antiope-preview+json" + }, + method: "GET", + params: { + app_id: { + type: "integer" + }, + check_name: { + type: "string" + }, + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + ref: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/commits/:ref/check-suites" + }, + rerequestSuite: { + headers: { + accept: "application/vnd.github.antiope-preview+json" + }, + method: "POST", + params: { + check_suite_id: { + required: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/check-suites/:check_suite_id/rerequest" + }, + setSuitesPreferences: { + headers: { + accept: "application/vnd.github.antiope-preview+json" + }, + method: "PATCH", + params: { + auto_trigger_checks: { + type: "object[]" + }, + "auto_trigger_checks[].app_id": { + required: true, + type: "integer" + }, + "auto_trigger_checks[].setting": { + required: true, + type: "boolean" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/check-suites/preferences" + }, + update: { + headers: { + accept: "application/vnd.github.antiope-preview+json" + }, + method: "PATCH", + params: { + actions: { + type: "object[]" + }, + "actions[].description": { + required: true, + type: "string" + }, + "actions[].identifier": { + required: true, + type: "string" + }, + "actions[].label": { + required: true, + type: "string" + }, + check_run_id: { + required: true, + type: "integer" + }, + completed_at: { + type: "string" + }, + conclusion: { + enum: ["success", "failure", "neutral", "cancelled", "timed_out", "action_required"], + type: "string" + }, + details_url: { + type: "string" + }, + external_id: { + type: "string" + }, + name: { + type: "string" + }, + output: { + type: "object" + }, + "output.annotations": { + type: "object[]" + }, + "output.annotations[].annotation_level": { + enum: ["notice", "warning", "failure"], + required: true, + type: "string" + }, + "output.annotations[].end_column": { + type: "integer" + }, + "output.annotations[].end_line": { + required: true, + type: "integer" + }, + "output.annotations[].message": { + required: true, + type: "string" + }, + "output.annotations[].path": { + required: true, + type: "string" + }, + "output.annotations[].raw_details": { + type: "string" + }, + "output.annotations[].start_column": { + type: "integer" + }, + "output.annotations[].start_line": { + required: true, + type: "integer" + }, + "output.annotations[].title": { + type: "string" + }, + "output.images": { + type: "object[]" + }, + "output.images[].alt": { + required: true, + type: "string" + }, + "output.images[].caption": { + type: "string" + }, + "output.images[].image_url": { + required: true, + type: "string" + }, + "output.summary": { + required: true, + type: "string" + }, + "output.text": { + type: "string" + }, + "output.title": { + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + started_at: { + type: "string" + }, + status: { + enum: ["queued", "in_progress", "completed"], + type: "string" + } + }, + url: "/repos/:owner/:repo/check-runs/:check_run_id" + } + }, + codesOfConduct: { + getConductCode: { + headers: { + accept: "application/vnd.github.scarlet-witch-preview+json" + }, + method: "GET", + params: { + key: { + required: true, + type: "string" + } + }, + url: "/codes_of_conduct/:key" + }, + getForRepo: { + headers: { + accept: "application/vnd.github.scarlet-witch-preview+json" + }, + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/community/code_of_conduct" + }, + listConductCodes: { + headers: { + accept: "application/vnd.github.scarlet-witch-preview+json" + }, + method: "GET", + params: {}, + url: "/codes_of_conduct" + } + }, + emojis: { + get: { + method: "GET", + params: {}, + url: "/emojis" + } + }, + gists: { + checkIsStarred: { + method: "GET", + params: { + gist_id: { + required: true, + type: "string" + } + }, + url: "/gists/:gist_id/star" + }, + create: { + method: "POST", + params: { + description: { + type: "string" + }, + files: { + required: true, + type: "object" + }, + "files.content": { + type: "string" + }, + public: { + type: "boolean" + } + }, + url: "/gists" + }, + createComment: { + method: "POST", + params: { + body: { + required: true, + type: "string" + }, + gist_id: { + required: true, + type: "string" + } + }, + url: "/gists/:gist_id/comments" + }, + delete: { + method: "DELETE", + params: { + gist_id: { + required: true, + type: "string" + } + }, + url: "/gists/:gist_id" + }, + deleteComment: { + method: "DELETE", + params: { + comment_id: { + required: true, + type: "integer" + }, + gist_id: { + required: true, + type: "string" + } + }, + url: "/gists/:gist_id/comments/:comment_id" + }, + fork: { + method: "POST", + params: { + gist_id: { + required: true, + type: "string" + } + }, + url: "/gists/:gist_id/forks" + }, + get: { + method: "GET", + params: { + gist_id: { + required: true, + type: "string" + } + }, + url: "/gists/:gist_id" + }, + getComment: { + method: "GET", + params: { + comment_id: { + required: true, + type: "integer" + }, + gist_id: { + required: true, + type: "string" + } + }, + url: "/gists/:gist_id/comments/:comment_id" + }, + getRevision: { + method: "GET", + params: { + gist_id: { + required: true, + type: "string" + }, + sha: { + required: true, + type: "string" + } + }, + url: "/gists/:gist_id/:sha" + }, + list: { + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + since: { + type: "string" + } + }, + url: "/gists" + }, + listComments: { + method: "GET", + params: { + gist_id: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + } + }, + url: "/gists/:gist_id/comments" + }, + listCommits: { + method: "GET", + params: { + gist_id: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + } + }, + url: "/gists/:gist_id/commits" + }, + listForks: { + method: "GET", + params: { + gist_id: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + } + }, + url: "/gists/:gist_id/forks" + }, + listPublic: { + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + since: { + type: "string" + } + }, + url: "/gists/public" + }, + listPublicForUser: { + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + since: { + type: "string" + }, + username: { + required: true, + type: "string" + } + }, + url: "/users/:username/gists" + }, + listStarred: { + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + since: { + type: "string" + } + }, + url: "/gists/starred" + }, + star: { + method: "PUT", + params: { + gist_id: { + required: true, + type: "string" + } + }, + url: "/gists/:gist_id/star" + }, + unstar: { + method: "DELETE", + params: { + gist_id: { + required: true, + type: "string" + } + }, + url: "/gists/:gist_id/star" + }, + update: { + method: "PATCH", + params: { + description: { + type: "string" + }, + files: { + type: "object" + }, + "files.content": { + type: "string" + }, + "files.filename": { + type: "string" + }, + gist_id: { + required: true, + type: "string" + } + }, + url: "/gists/:gist_id" + }, + updateComment: { + method: "PATCH", + params: { + body: { + required: true, + type: "string" + }, + comment_id: { + required: true, + type: "integer" + }, + gist_id: { + required: true, + type: "string" + } + }, + url: "/gists/:gist_id/comments/:comment_id" + } + }, + git: { + createBlob: { + method: "POST", + params: { + content: { + required: true, + type: "string" + }, + encoding: { + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/git/blobs" + }, + createCommit: { + method: "POST", + params: { + author: { + type: "object" + }, + "author.date": { + type: "string" + }, + "author.email": { + type: "string" + }, + "author.name": { + type: "string" + }, + committer: { + type: "object" + }, + "committer.date": { + type: "string" + }, + "committer.email": { + type: "string" + }, + "committer.name": { + type: "string" + }, + message: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + parents: { + required: true, + type: "string[]" + }, + repo: { + required: true, + type: "string" + }, + signature: { + type: "string" + }, + tree: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/git/commits" + }, + createRef: { + method: "POST", + params: { + owner: { + required: true, + type: "string" + }, + ref: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + sha: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/git/refs" + }, + createTag: { + method: "POST", + params: { + message: { + required: true, + type: "string" + }, + object: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + tag: { + required: true, + type: "string" + }, + tagger: { + type: "object" + }, + "tagger.date": { + type: "string" + }, + "tagger.email": { + type: "string" + }, + "tagger.name": { + type: "string" + }, + type: { + enum: ["commit", "tree", "blob"], + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/git/tags" + }, + createTree: { + method: "POST", + params: { + base_tree: { + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + tree: { + required: true, + type: "object[]" + }, + "tree[].content": { + type: "string" + }, + "tree[].mode": { + enum: ["100644", "100755", "040000", "160000", "120000"], + type: "string" + }, + "tree[].path": { + type: "string" + }, + "tree[].sha": { + allowNull: true, + type: "string" + }, + "tree[].type": { + enum: ["blob", "tree", "commit"], + type: "string" + } + }, + url: "/repos/:owner/:repo/git/trees" + }, + deleteRef: { + method: "DELETE", + params: { + owner: { + required: true, + type: "string" + }, + ref: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/git/refs/:ref" + }, + getBlob: { + method: "GET", + params: { + file_sha: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/git/blobs/:file_sha" + }, + getCommit: { + method: "GET", + params: { + commit_sha: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/git/commits/:commit_sha" + }, + getRef: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + ref: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/git/ref/:ref" + }, + getTag: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + tag_sha: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/git/tags/:tag_sha" + }, + getTree: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + recursive: { + enum: ["1"], + type: "integer" + }, + repo: { + required: true, + type: "string" + }, + tree_sha: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/git/trees/:tree_sha" + }, + listMatchingRefs: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + ref: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/git/matching-refs/:ref" + }, + listRefs: { + method: "GET", + params: { + namespace: { + type: "string" + }, + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/git/refs/:namespace" + }, + updateRef: { + method: "PATCH", + params: { + force: { + type: "boolean" + }, + owner: { + required: true, + type: "string" + }, + ref: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + sha: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/git/refs/:ref" + } + }, + gitignore: { + getTemplate: { + method: "GET", + params: { + name: { + required: true, + type: "string" + } + }, + url: "/gitignore/templates/:name" + }, + listTemplates: { + method: "GET", + params: {}, + url: "/gitignore/templates" + } + }, + interactions: { + addOrUpdateRestrictionsForOrg: { + headers: { + accept: "application/vnd.github.sombra-preview+json" + }, + method: "PUT", + params: { + limit: { + enum: ["existing_users", "contributors_only", "collaborators_only"], + required: true, + type: "string" + }, + org: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/interaction-limits" + }, + addOrUpdateRestrictionsForRepo: { + headers: { + accept: "application/vnd.github.sombra-preview+json" + }, + method: "PUT", + params: { + limit: { + enum: ["existing_users", "contributors_only", "collaborators_only"], + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/interaction-limits" + }, + getRestrictionsForOrg: { + headers: { + accept: "application/vnd.github.sombra-preview+json" + }, + method: "GET", + params: { + org: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/interaction-limits" + }, + getRestrictionsForRepo: { + headers: { + accept: "application/vnd.github.sombra-preview+json" + }, + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/interaction-limits" + }, + removeRestrictionsForOrg: { + headers: { + accept: "application/vnd.github.sombra-preview+json" + }, + method: "DELETE", + params: { + org: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/interaction-limits" + }, + removeRestrictionsForRepo: { + headers: { + accept: "application/vnd.github.sombra-preview+json" + }, + method: "DELETE", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/interaction-limits" + } + }, + issues: { + addAssignees: { + method: "POST", + params: { + assignees: { + type: "string[]" + }, + issue_number: { + required: true, + type: "integer" + }, + number: { + alias: "issue_number", + deprecated: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/issues/:issue_number/assignees" + }, + addLabels: { + method: "POST", + params: { + issue_number: { + required: true, + type: "integer" + }, + labels: { + required: true, + type: "string[]" + }, + number: { + alias: "issue_number", + deprecated: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/issues/:issue_number/labels" + }, + checkAssignee: { + method: "GET", + params: { + assignee: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/assignees/:assignee" + }, + create: { + method: "POST", + params: { + assignee: { + type: "string" + }, + assignees: { + type: "string[]" + }, + body: { + type: "string" + }, + labels: { + type: "string[]" + }, + milestone: { + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + title: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/issues" + }, + createComment: { + method: "POST", + params: { + body: { + required: true, + type: "string" + }, + issue_number: { + required: true, + type: "integer" + }, + number: { + alias: "issue_number", + deprecated: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/issues/:issue_number/comments" + }, + createLabel: { + method: "POST", + params: { + color: { + required: true, + type: "string" + }, + description: { + type: "string" + }, + name: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/labels" + }, + createMilestone: { + method: "POST", + params: { + description: { + type: "string" + }, + due_on: { + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + state: { + enum: ["open", "closed"], + type: "string" + }, + title: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/milestones" + }, + deleteComment: { + method: "DELETE", + params: { + comment_id: { + required: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/issues/comments/:comment_id" + }, + deleteLabel: { + method: "DELETE", + params: { + name: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/labels/:name" + }, + deleteMilestone: { + method: "DELETE", + params: { + milestone_number: { + required: true, + type: "integer" + }, + number: { + alias: "milestone_number", + deprecated: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/milestones/:milestone_number" + }, + get: { + method: "GET", + params: { + issue_number: { + required: true, + type: "integer" + }, + number: { + alias: "issue_number", + deprecated: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/issues/:issue_number" + }, + getComment: { + method: "GET", + params: { + comment_id: { + required: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/issues/comments/:comment_id" + }, + getEvent: { + method: "GET", + params: { + event_id: { + required: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/issues/events/:event_id" + }, + getLabel: { + method: "GET", + params: { + name: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/labels/:name" + }, + getMilestone: { + method: "GET", + params: { + milestone_number: { + required: true, + type: "integer" + }, + number: { + alias: "milestone_number", + deprecated: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/milestones/:milestone_number" + }, + list: { + method: "GET", + params: { + direction: { + enum: ["asc", "desc"], + type: "string" + }, + filter: { + enum: ["assigned", "created", "mentioned", "subscribed", "all"], + type: "string" + }, + labels: { + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + since: { + type: "string" + }, + sort: { + enum: ["created", "updated", "comments"], + type: "string" + }, + state: { + enum: ["open", "closed", "all"], + type: "string" + } + }, + url: "/issues" + }, + listAssignees: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/assignees" + }, + listComments: { + method: "GET", + params: { + issue_number: { + required: true, + type: "integer" + }, + number: { + alias: "issue_number", + deprecated: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + }, + since: { + type: "string" + } + }, + url: "/repos/:owner/:repo/issues/:issue_number/comments" + }, + listCommentsForRepo: { + method: "GET", + params: { + direction: { + enum: ["asc", "desc"], + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + since: { + type: "string" + }, + sort: { + enum: ["created", "updated"], + type: "string" + } + }, + url: "/repos/:owner/:repo/issues/comments" + }, + listEvents: { + method: "GET", + params: { + issue_number: { + required: true, + type: "integer" + }, + number: { + alias: "issue_number", + deprecated: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/issues/:issue_number/events" + }, + listEventsForRepo: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/issues/events" + }, + listEventsForTimeline: { + headers: { + accept: "application/vnd.github.mockingbird-preview+json" + }, + method: "GET", + params: { + issue_number: { + required: true, + type: "integer" + }, + number: { + alias: "issue_number", + deprecated: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/issues/:issue_number/timeline" + }, + listForAuthenticatedUser: { + method: "GET", + params: { + direction: { + enum: ["asc", "desc"], + type: "string" + }, + filter: { + enum: ["assigned", "created", "mentioned", "subscribed", "all"], + type: "string" + }, + labels: { + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + since: { + type: "string" + }, + sort: { + enum: ["created", "updated", "comments"], + type: "string" + }, + state: { + enum: ["open", "closed", "all"], + type: "string" + } + }, + url: "/user/issues" + }, + listForOrg: { + method: "GET", + params: { + direction: { + enum: ["asc", "desc"], + type: "string" + }, + filter: { + enum: ["assigned", "created", "mentioned", "subscribed", "all"], + type: "string" + }, + labels: { + type: "string" + }, + org: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + since: { + type: "string" + }, + sort: { + enum: ["created", "updated", "comments"], + type: "string" + }, + state: { + enum: ["open", "closed", "all"], + type: "string" + } + }, + url: "/orgs/:org/issues" + }, + listForRepo: { + method: "GET", + params: { + assignee: { + type: "string" + }, + creator: { + type: "string" + }, + direction: { + enum: ["asc", "desc"], + type: "string" + }, + labels: { + type: "string" + }, + mentioned: { + type: "string" + }, + milestone: { + type: "string" + }, + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + }, + since: { + type: "string" + }, + sort: { + enum: ["created", "updated", "comments"], + type: "string" + }, + state: { + enum: ["open", "closed", "all"], + type: "string" + } + }, + url: "/repos/:owner/:repo/issues" + }, + listLabelsForMilestone: { + method: "GET", + params: { + milestone_number: { + required: true, + type: "integer" + }, + number: { + alias: "milestone_number", + deprecated: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/milestones/:milestone_number/labels" + }, + listLabelsForRepo: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/labels" + }, + listLabelsOnIssue: { + method: "GET", + params: { + issue_number: { + required: true, + type: "integer" + }, + number: { + alias: "issue_number", + deprecated: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/issues/:issue_number/labels" + }, + listMilestonesForRepo: { + method: "GET", + params: { + direction: { + enum: ["asc", "desc"], + type: "string" + }, + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + }, + sort: { + enum: ["due_on", "completeness"], + type: "string" + }, + state: { + enum: ["open", "closed", "all"], + type: "string" + } + }, + url: "/repos/:owner/:repo/milestones" + }, + lock: { + method: "PUT", + params: { + issue_number: { + required: true, + type: "integer" + }, + lock_reason: { + enum: ["off-topic", "too heated", "resolved", "spam"], + type: "string" + }, + number: { + alias: "issue_number", + deprecated: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/issues/:issue_number/lock" + }, + removeAssignees: { + method: "DELETE", + params: { + assignees: { + type: "string[]" + }, + issue_number: { + required: true, + type: "integer" + }, + number: { + alias: "issue_number", + deprecated: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/issues/:issue_number/assignees" + }, + removeLabel: { + method: "DELETE", + params: { + issue_number: { + required: true, + type: "integer" + }, + name: { + required: true, + type: "string" + }, + number: { + alias: "issue_number", + deprecated: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/issues/:issue_number/labels/:name" + }, + removeLabels: { + method: "DELETE", + params: { + issue_number: { + required: true, + type: "integer" + }, + number: { + alias: "issue_number", + deprecated: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/issues/:issue_number/labels" + }, + replaceLabels: { + method: "PUT", + params: { + issue_number: { + required: true, + type: "integer" + }, + labels: { + type: "string[]" + }, + number: { + alias: "issue_number", + deprecated: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/issues/:issue_number/labels" + }, + unlock: { + method: "DELETE", + params: { + issue_number: { + required: true, + type: "integer" + }, + number: { + alias: "issue_number", + deprecated: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/issues/:issue_number/lock" + }, + update: { + method: "PATCH", + params: { + assignee: { + type: "string" + }, + assignees: { + type: "string[]" + }, + body: { + type: "string" + }, + issue_number: { + required: true, + type: "integer" + }, + labels: { + type: "string[]" + }, + milestone: { + allowNull: true, + type: "integer" + }, + number: { + alias: "issue_number", + deprecated: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + state: { + enum: ["open", "closed"], + type: "string" + }, + title: { + type: "string" + } + }, + url: "/repos/:owner/:repo/issues/:issue_number" + }, + updateComment: { + method: "PATCH", + params: { + body: { + required: true, + type: "string" + }, + comment_id: { + required: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/issues/comments/:comment_id" + }, + updateLabel: { + method: "PATCH", + params: { + color: { + type: "string" + }, + current_name: { + required: true, + type: "string" + }, + description: { + type: "string" + }, + name: { + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/labels/:current_name" + }, + updateMilestone: { + method: "PATCH", + params: { + description: { + type: "string" + }, + due_on: { + type: "string" + }, + milestone_number: { + required: true, + type: "integer" + }, + number: { + alias: "milestone_number", + deprecated: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + state: { + enum: ["open", "closed"], + type: "string" + }, + title: { + type: "string" + } + }, + url: "/repos/:owner/:repo/milestones/:milestone_number" + } + }, + licenses: { + get: { + method: "GET", + params: { + license: { + required: true, + type: "string" + } + }, + url: "/licenses/:license" + }, + getForRepo: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/license" + }, + list: { + deprecated: "octokit.licenses.list() has been renamed to octokit.licenses.listCommonlyUsed() (2019-03-05)", + method: "GET", + params: {}, + url: "/licenses" + }, + listCommonlyUsed: { + method: "GET", + params: {}, + url: "/licenses" + } + }, + markdown: { + render: { + method: "POST", + params: { + context: { + type: "string" + }, + mode: { + enum: ["markdown", "gfm"], + type: "string" + }, + text: { + required: true, + type: "string" + } + }, + url: "/markdown" + }, + renderRaw: { + headers: { + "content-type": "text/plain; charset=utf-8" + }, + method: "POST", + params: { + data: { + mapTo: "data", + required: true, + type: "string" + } + }, + url: "/markdown/raw" + } + }, + meta: { + get: { + method: "GET", + params: {}, + url: "/meta" + } + }, + migrations: { + cancelImport: { + method: "DELETE", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/import" + }, + deleteArchiveForAuthenticatedUser: { + headers: { + accept: "application/vnd.github.wyandotte-preview+json" + }, + method: "DELETE", + params: { + migration_id: { + required: true, + type: "integer" + } + }, + url: "/user/migrations/:migration_id/archive" + }, + deleteArchiveForOrg: { + headers: { + accept: "application/vnd.github.wyandotte-preview+json" + }, + method: "DELETE", + params: { + migration_id: { + required: true, + type: "integer" + }, + org: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/migrations/:migration_id/archive" + }, + downloadArchiveForOrg: { + headers: { + accept: "application/vnd.github.wyandotte-preview+json" + }, + method: "GET", + params: { + migration_id: { + required: true, + type: "integer" + }, + org: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/migrations/:migration_id/archive" + }, + getArchiveForAuthenticatedUser: { + headers: { + accept: "application/vnd.github.wyandotte-preview+json" + }, + method: "GET", + params: { + migration_id: { + required: true, + type: "integer" + } + }, + url: "/user/migrations/:migration_id/archive" + }, + getArchiveForOrg: { + deprecated: "octokit.migrations.getArchiveForOrg() has been renamed to octokit.migrations.downloadArchiveForOrg() (2020-01-27)", + headers: { + accept: "application/vnd.github.wyandotte-preview+json" + }, + method: "GET", + params: { + migration_id: { + required: true, + type: "integer" + }, + org: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/migrations/:migration_id/archive" + }, + getCommitAuthors: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + since: { + type: "string" + } + }, + url: "/repos/:owner/:repo/import/authors" + }, + getImportProgress: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/import" + }, + getLargeFiles: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/import/large_files" + }, + getStatusForAuthenticatedUser: { + headers: { + accept: "application/vnd.github.wyandotte-preview+json" + }, + method: "GET", + params: { + migration_id: { + required: true, + type: "integer" + } + }, + url: "/user/migrations/:migration_id" + }, + getStatusForOrg: { + headers: { + accept: "application/vnd.github.wyandotte-preview+json" + }, + method: "GET", + params: { + migration_id: { + required: true, + type: "integer" + }, + org: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/migrations/:migration_id" + }, + listForAuthenticatedUser: { + headers: { + accept: "application/vnd.github.wyandotte-preview+json" + }, + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + } + }, + url: "/user/migrations" + }, + listForOrg: { + headers: { + accept: "application/vnd.github.wyandotte-preview+json" + }, + method: "GET", + params: { + org: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + } + }, + url: "/orgs/:org/migrations" + }, + listReposForOrg: { + headers: { + accept: "application/vnd.github.wyandotte-preview+json" + }, + method: "GET", + params: { + migration_id: { + required: true, + type: "integer" + }, + org: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + } + }, + url: "/orgs/:org/migrations/:migration_id/repositories" + }, + listReposForUser: { + headers: { + accept: "application/vnd.github.wyandotte-preview+json" + }, + method: "GET", + params: { + migration_id: { + required: true, + type: "integer" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + } + }, + url: "/user/:migration_id/repositories" + }, + mapCommitAuthor: { + method: "PATCH", + params: { + author_id: { + required: true, + type: "integer" + }, + email: { + type: "string" + }, + name: { + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/import/authors/:author_id" + }, + setLfsPreference: { + method: "PATCH", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + use_lfs: { + enum: ["opt_in", "opt_out"], + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/import/lfs" + }, + startForAuthenticatedUser: { + method: "POST", + params: { + exclude_attachments: { + type: "boolean" + }, + lock_repositories: { + type: "boolean" + }, + repositories: { + required: true, + type: "string[]" + } + }, + url: "/user/migrations" + }, + startForOrg: { + method: "POST", + params: { + exclude_attachments: { + type: "boolean" + }, + lock_repositories: { + type: "boolean" + }, + org: { + required: true, + type: "string" + }, + repositories: { + required: true, + type: "string[]" + } + }, + url: "/orgs/:org/migrations" + }, + startImport: { + method: "PUT", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + tfvc_project: { + type: "string" + }, + vcs: { + enum: ["subversion", "git", "mercurial", "tfvc"], + type: "string" + }, + vcs_password: { + type: "string" + }, + vcs_url: { + required: true, + type: "string" + }, + vcs_username: { + type: "string" + } + }, + url: "/repos/:owner/:repo/import" + }, + unlockRepoForAuthenticatedUser: { + headers: { + accept: "application/vnd.github.wyandotte-preview+json" + }, + method: "DELETE", + params: { + migration_id: { + required: true, + type: "integer" + }, + repo_name: { + required: true, + type: "string" + } + }, + url: "/user/migrations/:migration_id/repos/:repo_name/lock" + }, + unlockRepoForOrg: { + headers: { + accept: "application/vnd.github.wyandotte-preview+json" + }, + method: "DELETE", + params: { + migration_id: { + required: true, + type: "integer" + }, + org: { + required: true, + type: "string" + }, + repo_name: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/migrations/:migration_id/repos/:repo_name/lock" + }, + updateImport: { + method: "PATCH", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + vcs_password: { + type: "string" + }, + vcs_username: { + type: "string" + } + }, + url: "/repos/:owner/:repo/import" + } + }, + oauthAuthorizations: { + checkAuthorization: { + deprecated: "octokit.oauthAuthorizations.checkAuthorization() has been renamed to octokit.apps.checkAuthorization() (2019-11-05)", + method: "GET", + params: { + access_token: { + required: true, + type: "string" + }, + client_id: { + required: true, + type: "string" + } + }, + url: "/applications/:client_id/tokens/:access_token" + }, + createAuthorization: { + deprecated: "octokit.oauthAuthorizations.createAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#create-a-new-authorization", + method: "POST", + params: { + client_id: { + type: "string" + }, + client_secret: { + type: "string" + }, + fingerprint: { + type: "string" + }, + note: { + required: true, + type: "string" + }, + note_url: { + type: "string" + }, + scopes: { + type: "string[]" + } + }, + url: "/authorizations" + }, + deleteAuthorization: { + deprecated: "octokit.oauthAuthorizations.deleteAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#delete-an-authorization", + method: "DELETE", + params: { + authorization_id: { + required: true, + type: "integer" + } + }, + url: "/authorizations/:authorization_id" + }, + deleteGrant: { + deprecated: "octokit.oauthAuthorizations.deleteGrant() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#delete-a-grant", + method: "DELETE", + params: { + grant_id: { + required: true, + type: "integer" + } + }, + url: "/applications/grants/:grant_id" + }, + getAuthorization: { + deprecated: "octokit.oauthAuthorizations.getAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-a-single-authorization", + method: "GET", + params: { + authorization_id: { + required: true, + type: "integer" + } + }, + url: "/authorizations/:authorization_id" + }, + getGrant: { + deprecated: "octokit.oauthAuthorizations.getGrant() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-a-single-grant", + method: "GET", + params: { + grant_id: { + required: true, + type: "integer" + } + }, + url: "/applications/grants/:grant_id" + }, + getOrCreateAuthorizationForApp: { + deprecated: "octokit.oauthAuthorizations.getOrCreateAuthorizationForApp() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app", + method: "PUT", + params: { + client_id: { + required: true, + type: "string" + }, + client_secret: { + required: true, + type: "string" + }, + fingerprint: { + type: "string" + }, + note: { + type: "string" + }, + note_url: { + type: "string" + }, + scopes: { + type: "string[]" + } + }, + url: "/authorizations/clients/:client_id" + }, + getOrCreateAuthorizationForAppAndFingerprint: { + deprecated: "octokit.oauthAuthorizations.getOrCreateAuthorizationForAppAndFingerprint() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app-and-fingerprint", + method: "PUT", + params: { + client_id: { + required: true, + type: "string" + }, + client_secret: { + required: true, + type: "string" + }, + fingerprint: { + required: true, + type: "string" + }, + note: { + type: "string" + }, + note_url: { + type: "string" + }, + scopes: { + type: "string[]" + } + }, + url: "/authorizations/clients/:client_id/:fingerprint" + }, + getOrCreateAuthorizationForAppFingerprint: { + deprecated: "octokit.oauthAuthorizations.getOrCreateAuthorizationForAppFingerprint() has been renamed to octokit.oauthAuthorizations.getOrCreateAuthorizationForAppAndFingerprint() (2018-12-27)", + method: "PUT", + params: { + client_id: { + required: true, + type: "string" + }, + client_secret: { + required: true, + type: "string" + }, + fingerprint: { + required: true, + type: "string" + }, + note: { + type: "string" + }, + note_url: { + type: "string" + }, + scopes: { + type: "string[]" + } + }, + url: "/authorizations/clients/:client_id/:fingerprint" + }, + listAuthorizations: { + deprecated: "octokit.oauthAuthorizations.listAuthorizations() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#list-your-authorizations", + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + } + }, + url: "/authorizations" + }, + listGrants: { + deprecated: "octokit.oauthAuthorizations.listGrants() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#list-your-grants", + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + } + }, + url: "/applications/grants" + }, + resetAuthorization: { + deprecated: "octokit.oauthAuthorizations.resetAuthorization() has been renamed to octokit.apps.resetAuthorization() (2019-11-05)", + method: "POST", + params: { + access_token: { + required: true, + type: "string" + }, + client_id: { + required: true, + type: "string" + } + }, + url: "/applications/:client_id/tokens/:access_token" + }, + revokeAuthorizationForApplication: { + deprecated: "octokit.oauthAuthorizations.revokeAuthorizationForApplication() has been renamed to octokit.apps.revokeAuthorizationForApplication() (2019-11-05)", + method: "DELETE", + params: { + access_token: { + required: true, + type: "string" + }, + client_id: { + required: true, + type: "string" + } + }, + url: "/applications/:client_id/tokens/:access_token" + }, + revokeGrantForApplication: { + deprecated: "octokit.oauthAuthorizations.revokeGrantForApplication() has been renamed to octokit.apps.revokeGrantForApplication() (2019-11-05)", + method: "DELETE", + params: { + access_token: { + required: true, + type: "string" + }, + client_id: { + required: true, + type: "string" + } + }, + url: "/applications/:client_id/grants/:access_token" + }, + updateAuthorization: { + deprecated: "octokit.oauthAuthorizations.updateAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#update-an-existing-authorization", + method: "PATCH", + params: { + add_scopes: { + type: "string[]" + }, + authorization_id: { + required: true, + type: "integer" + }, + fingerprint: { + type: "string" + }, + note: { + type: "string" + }, + note_url: { + type: "string" + }, + remove_scopes: { + type: "string[]" + }, + scopes: { + type: "string[]" + } + }, + url: "/authorizations/:authorization_id" + } + }, + orgs: { + addOrUpdateMembership: { + method: "PUT", + params: { + org: { + required: true, + type: "string" + }, + role: { + enum: ["admin", "member"], + type: "string" + }, + username: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/memberships/:username" + }, + blockUser: { + method: "PUT", + params: { + org: { + required: true, + type: "string" + }, + username: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/blocks/:username" + }, + checkBlockedUser: { + method: "GET", + params: { + org: { + required: true, + type: "string" + }, + username: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/blocks/:username" + }, + checkMembership: { + method: "GET", + params: { + org: { + required: true, + type: "string" + }, + username: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/members/:username" + }, + checkPublicMembership: { + method: "GET", + params: { + org: { + required: true, + type: "string" + }, + username: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/public_members/:username" + }, + concealMembership: { + method: "DELETE", + params: { + org: { + required: true, + type: "string" + }, + username: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/public_members/:username" + }, + convertMemberToOutsideCollaborator: { + method: "PUT", + params: { + org: { + required: true, + type: "string" + }, + username: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/outside_collaborators/:username" + }, + createHook: { + method: "POST", + params: { + active: { + type: "boolean" + }, + config: { + required: true, + type: "object" + }, + "config.content_type": { + type: "string" + }, + "config.insecure_ssl": { + type: "string" + }, + "config.secret": { + type: "string" + }, + "config.url": { + required: true, + type: "string" + }, + events: { + type: "string[]" + }, + name: { + required: true, + type: "string" + }, + org: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/hooks" + }, + createInvitation: { + method: "POST", + params: { + email: { + type: "string" + }, + invitee_id: { + type: "integer" + }, + org: { + required: true, + type: "string" + }, + role: { + enum: ["admin", "direct_member", "billing_manager"], + type: "string" + }, + team_ids: { + type: "integer[]" + } + }, + url: "/orgs/:org/invitations" + }, + deleteHook: { + method: "DELETE", + params: { + hook_id: { + required: true, + type: "integer" + }, + org: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/hooks/:hook_id" + }, + get: { + method: "GET", + params: { + org: { + required: true, + type: "string" + } + }, + url: "/orgs/:org" + }, + getHook: { + method: "GET", + params: { + hook_id: { + required: true, + type: "integer" + }, + org: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/hooks/:hook_id" + }, + getMembership: { + method: "GET", + params: { + org: { + required: true, + type: "string" + }, + username: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/memberships/:username" + }, + getMembershipForAuthenticatedUser: { + method: "GET", + params: { + org: { + required: true, + type: "string" + } + }, + url: "/user/memberships/orgs/:org" + }, + list: { + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + since: { + type: "integer" + } + }, + url: "/organizations" + }, + listBlockedUsers: { + method: "GET", + params: { + org: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/blocks" + }, + listForAuthenticatedUser: { + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + } + }, + url: "/user/orgs" + }, + listForUser: { + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + username: { + required: true, + type: "string" + } + }, + url: "/users/:username/orgs" + }, + listHooks: { + method: "GET", + params: { + org: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + } + }, + url: "/orgs/:org/hooks" + }, + listInstallations: { + headers: { + accept: "application/vnd.github.machine-man-preview+json" + }, + method: "GET", + params: { + org: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + } + }, + url: "/orgs/:org/installations" + }, + listInvitationTeams: { + method: "GET", + params: { + invitation_id: { + required: true, + type: "integer" + }, + org: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + } + }, + url: "/orgs/:org/invitations/:invitation_id/teams" + }, + listMembers: { + method: "GET", + params: { + filter: { + enum: ["2fa_disabled", "all"], + type: "string" + }, + org: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + role: { + enum: ["all", "admin", "member"], + type: "string" + } + }, + url: "/orgs/:org/members" + }, + listMemberships: { + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + state: { + enum: ["active", "pending"], + type: "string" + } + }, + url: "/user/memberships/orgs" + }, + listOutsideCollaborators: { + method: "GET", + params: { + filter: { + enum: ["2fa_disabled", "all"], + type: "string" + }, + org: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + } + }, + url: "/orgs/:org/outside_collaborators" + }, + listPendingInvitations: { + method: "GET", + params: { + org: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + } + }, + url: "/orgs/:org/invitations" + }, + listPublicMembers: { + method: "GET", + params: { + org: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + } + }, + url: "/orgs/:org/public_members" + }, + pingHook: { + method: "POST", + params: { + hook_id: { + required: true, + type: "integer" + }, + org: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/hooks/:hook_id/pings" + }, + publicizeMembership: { + method: "PUT", + params: { + org: { + required: true, + type: "string" + }, + username: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/public_members/:username" + }, + removeMember: { + method: "DELETE", + params: { + org: { + required: true, + type: "string" + }, + username: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/members/:username" + }, + removeMembership: { + method: "DELETE", + params: { + org: { + required: true, + type: "string" + }, + username: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/memberships/:username" + }, + removeOutsideCollaborator: { + method: "DELETE", + params: { + org: { + required: true, + type: "string" + }, + username: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/outside_collaborators/:username" + }, + unblockUser: { + method: "DELETE", + params: { + org: { + required: true, + type: "string" + }, + username: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/blocks/:username" + }, + update: { + method: "PATCH", + params: { + billing_email: { + type: "string" + }, + company: { + type: "string" + }, + default_repository_permission: { + enum: ["read", "write", "admin", "none"], + type: "string" + }, + description: { + type: "string" + }, + email: { + type: "string" + }, + has_organization_projects: { + type: "boolean" + }, + has_repository_projects: { + type: "boolean" + }, + location: { + type: "string" + }, + members_allowed_repository_creation_type: { + enum: ["all", "private", "none"], + type: "string" + }, + members_can_create_internal_repositories: { + type: "boolean" + }, + members_can_create_private_repositories: { + type: "boolean" + }, + members_can_create_public_repositories: { + type: "boolean" + }, + members_can_create_repositories: { + type: "boolean" + }, + name: { + type: "string" + }, + org: { + required: true, + type: "string" + } + }, + url: "/orgs/:org" + }, + updateHook: { + method: "PATCH", + params: { + active: { + type: "boolean" + }, + config: { + type: "object" + }, + "config.content_type": { + type: "string" + }, + "config.insecure_ssl": { + type: "string" + }, + "config.secret": { + type: "string" + }, + "config.url": { + required: true, + type: "string" + }, + events: { + type: "string[]" + }, + hook_id: { + required: true, + type: "integer" + }, + org: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/hooks/:hook_id" + }, + updateMembership: { + method: "PATCH", + params: { + org: { + required: true, + type: "string" + }, + state: { + enum: ["active"], + required: true, + type: "string" + } + }, + url: "/user/memberships/orgs/:org" + } + }, + projects: { + addCollaborator: { + headers: { + accept: "application/vnd.github.inertia-preview+json" + }, + method: "PUT", + params: { + permission: { + enum: ["read", "write", "admin"], + type: "string" + }, + project_id: { + required: true, + type: "integer" + }, + username: { + required: true, + type: "string" + } + }, + url: "/projects/:project_id/collaborators/:username" + }, + createCard: { + headers: { + accept: "application/vnd.github.inertia-preview+json" + }, + method: "POST", + params: { + column_id: { + required: true, + type: "integer" + }, + content_id: { + type: "integer" + }, + content_type: { + type: "string" + }, + note: { + type: "string" + } + }, + url: "/projects/columns/:column_id/cards" + }, + createColumn: { + headers: { + accept: "application/vnd.github.inertia-preview+json" + }, + method: "POST", + params: { + name: { + required: true, + type: "string" + }, + project_id: { + required: true, + type: "integer" + } + }, + url: "/projects/:project_id/columns" + }, + createForAuthenticatedUser: { + headers: { + accept: "application/vnd.github.inertia-preview+json" + }, + method: "POST", + params: { + body: { + type: "string" + }, + name: { + required: true, + type: "string" + } + }, + url: "/user/projects" + }, + createForOrg: { + headers: { + accept: "application/vnd.github.inertia-preview+json" + }, + method: "POST", + params: { + body: { + type: "string" + }, + name: { + required: true, + type: "string" + }, + org: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/projects" + }, + createForRepo: { + headers: { + accept: "application/vnd.github.inertia-preview+json" + }, + method: "POST", + params: { + body: { + type: "string" + }, + name: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/projects" + }, + delete: { + headers: { + accept: "application/vnd.github.inertia-preview+json" + }, + method: "DELETE", + params: { + project_id: { + required: true, + type: "integer" + } + }, + url: "/projects/:project_id" + }, + deleteCard: { + headers: { + accept: "application/vnd.github.inertia-preview+json" + }, + method: "DELETE", + params: { + card_id: { + required: true, + type: "integer" + } + }, + url: "/projects/columns/cards/:card_id" + }, + deleteColumn: { + headers: { + accept: "application/vnd.github.inertia-preview+json" + }, + method: "DELETE", + params: { + column_id: { + required: true, + type: "integer" + } + }, + url: "/projects/columns/:column_id" + }, + get: { + headers: { + accept: "application/vnd.github.inertia-preview+json" + }, + method: "GET", + params: { + project_id: { + required: true, + type: "integer" + } + }, + url: "/projects/:project_id" + }, + getCard: { + headers: { + accept: "application/vnd.github.inertia-preview+json" + }, + method: "GET", + params: { + card_id: { + required: true, + type: "integer" + } + }, + url: "/projects/columns/cards/:card_id" + }, + getColumn: { + headers: { + accept: "application/vnd.github.inertia-preview+json" + }, + method: "GET", + params: { + column_id: { + required: true, + type: "integer" + } + }, + url: "/projects/columns/:column_id" + }, + listCards: { + headers: { + accept: "application/vnd.github.inertia-preview+json" + }, + method: "GET", + params: { + archived_state: { + enum: ["all", "archived", "not_archived"], + type: "string" + }, + column_id: { + required: true, + type: "integer" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + } + }, + url: "/projects/columns/:column_id/cards" + }, + listCollaborators: { + headers: { + accept: "application/vnd.github.inertia-preview+json" + }, + method: "GET", + params: { + affiliation: { + enum: ["outside", "direct", "all"], + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + project_id: { + required: true, + type: "integer" + } + }, + url: "/projects/:project_id/collaborators" + }, + listColumns: { + headers: { + accept: "application/vnd.github.inertia-preview+json" + }, + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + project_id: { + required: true, + type: "integer" + } + }, + url: "/projects/:project_id/columns" + }, + listForOrg: { + headers: { + accept: "application/vnd.github.inertia-preview+json" + }, + method: "GET", + params: { + org: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + state: { + enum: ["open", "closed", "all"], + type: "string" + } + }, + url: "/orgs/:org/projects" + }, + listForRepo: { + headers: { + accept: "application/vnd.github.inertia-preview+json" + }, + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + }, + state: { + enum: ["open", "closed", "all"], + type: "string" + } + }, + url: "/repos/:owner/:repo/projects" + }, + listForUser: { + headers: { + accept: "application/vnd.github.inertia-preview+json" + }, + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + state: { + enum: ["open", "closed", "all"], + type: "string" + }, + username: { + required: true, + type: "string" + } + }, + url: "/users/:username/projects" + }, + moveCard: { + headers: { + accept: "application/vnd.github.inertia-preview+json" + }, + method: "POST", + params: { + card_id: { + required: true, + type: "integer" + }, + column_id: { + type: "integer" + }, + position: { + required: true, + type: "string", + validation: "^(top|bottom|after:\\d+)$" + } + }, + url: "/projects/columns/cards/:card_id/moves" + }, + moveColumn: { + headers: { + accept: "application/vnd.github.inertia-preview+json" + }, + method: "POST", + params: { + column_id: { + required: true, + type: "integer" + }, + position: { + required: true, + type: "string", + validation: "^(first|last|after:\\d+)$" + } + }, + url: "/projects/columns/:column_id/moves" + }, + removeCollaborator: { + headers: { + accept: "application/vnd.github.inertia-preview+json" + }, + method: "DELETE", + params: { + project_id: { + required: true, + type: "integer" + }, + username: { + required: true, + type: "string" + } + }, + url: "/projects/:project_id/collaborators/:username" + }, + reviewUserPermissionLevel: { + headers: { + accept: "application/vnd.github.inertia-preview+json" + }, + method: "GET", + params: { + project_id: { + required: true, + type: "integer" + }, + username: { + required: true, + type: "string" + } + }, + url: "/projects/:project_id/collaborators/:username/permission" + }, + update: { + headers: { + accept: "application/vnd.github.inertia-preview+json" + }, + method: "PATCH", + params: { + body: { + type: "string" + }, + name: { + type: "string" + }, + organization_permission: { + type: "string" + }, + private: { + type: "boolean" + }, + project_id: { + required: true, + type: "integer" + }, + state: { + enum: ["open", "closed"], + type: "string" + } + }, + url: "/projects/:project_id" + }, + updateCard: { + headers: { + accept: "application/vnd.github.inertia-preview+json" + }, + method: "PATCH", + params: { + archived: { + type: "boolean" + }, + card_id: { + required: true, + type: "integer" + }, + note: { + type: "string" + } + }, + url: "/projects/columns/cards/:card_id" + }, + updateColumn: { + headers: { + accept: "application/vnd.github.inertia-preview+json" + }, + method: "PATCH", + params: { + column_id: { + required: true, + type: "integer" + }, + name: { + required: true, + type: "string" + } + }, + url: "/projects/columns/:column_id" + } + }, + pulls: { + checkIfMerged: { + method: "GET", + params: { + number: { + alias: "pull_number", + deprecated: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + pull_number: { + required: true, + type: "integer" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/merge" + }, + create: { + method: "POST", + params: { + base: { + required: true, + type: "string" + }, + body: { + type: "string" + }, + draft: { + type: "boolean" + }, + head: { + required: true, + type: "string" + }, + maintainer_can_modify: { + type: "boolean" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + title: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/pulls" + }, + createComment: { + method: "POST", + params: { + body: { + required: true, + type: "string" + }, + commit_id: { + required: true, + type: "string" + }, + in_reply_to: { + deprecated: true, + description: "The comment ID to reply to. **Note**: This must be the ID of a top-level comment, not a reply to that comment. Replies to replies are not supported.", + type: "integer" + }, + line: { + type: "integer" + }, + number: { + alias: "pull_number", + deprecated: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + path: { + required: true, + type: "string" + }, + position: { + type: "integer" + }, + pull_number: { + required: true, + type: "integer" + }, + repo: { + required: true, + type: "string" + }, + side: { + enum: ["LEFT", "RIGHT"], + type: "string" + }, + start_line: { + type: "integer" + }, + start_side: { + enum: ["LEFT", "RIGHT", "side"], + type: "string" + } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/comments" + }, + createCommentReply: { + deprecated: "octokit.pulls.createCommentReply() has been renamed to octokit.pulls.createComment() (2019-09-09)", + method: "POST", + params: { + body: { + required: true, + type: "string" + }, + commit_id: { + required: true, + type: "string" + }, + in_reply_to: { + deprecated: true, + description: "The comment ID to reply to. **Note**: This must be the ID of a top-level comment, not a reply to that comment. Replies to replies are not supported.", + type: "integer" + }, + line: { + type: "integer" + }, + number: { + alias: "pull_number", + deprecated: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + path: { + required: true, + type: "string" + }, + position: { + type: "integer" + }, + pull_number: { + required: true, + type: "integer" + }, + repo: { + required: true, + type: "string" + }, + side: { + enum: ["LEFT", "RIGHT"], + type: "string" + }, + start_line: { + type: "integer" + }, + start_side: { + enum: ["LEFT", "RIGHT", "side"], + type: "string" + } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/comments" + }, + createFromIssue: { + deprecated: "octokit.pulls.createFromIssue() is deprecated, see https://developer.github.com/v3/pulls/#create-a-pull-request", + method: "POST", + params: { + base: { + required: true, + type: "string" + }, + draft: { + type: "boolean" + }, + head: { + required: true, + type: "string" + }, + issue: { + required: true, + type: "integer" + }, + maintainer_can_modify: { + type: "boolean" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/pulls" + }, + createReview: { + method: "POST", + params: { + body: { + type: "string" + }, + comments: { + type: "object[]" + }, + "comments[].body": { + required: true, + type: "string" + }, + "comments[].path": { + required: true, + type: "string" + }, + "comments[].position": { + required: true, + type: "integer" + }, + commit_id: { + type: "string" + }, + event: { + enum: ["APPROVE", "REQUEST_CHANGES", "COMMENT"], + type: "string" + }, + number: { + alias: "pull_number", + deprecated: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + pull_number: { + required: true, + type: "integer" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/reviews" + }, + createReviewCommentReply: { + method: "POST", + params: { + body: { + required: true, + type: "string" + }, + comment_id: { + required: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + pull_number: { + required: true, + type: "integer" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/comments/:comment_id/replies" + }, + createReviewRequest: { + method: "POST", + params: { + number: { + alias: "pull_number", + deprecated: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + pull_number: { + required: true, + type: "integer" + }, + repo: { + required: true, + type: "string" + }, + reviewers: { + type: "string[]" + }, + team_reviewers: { + type: "string[]" + } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/requested_reviewers" + }, + deleteComment: { + method: "DELETE", + params: { + comment_id: { + required: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/pulls/comments/:comment_id" + }, + deletePendingReview: { + method: "DELETE", + params: { + number: { + alias: "pull_number", + deprecated: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + pull_number: { + required: true, + type: "integer" + }, + repo: { + required: true, + type: "string" + }, + review_id: { + required: true, + type: "integer" + } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id" + }, + deleteReviewRequest: { + method: "DELETE", + params: { + number: { + alias: "pull_number", + deprecated: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + pull_number: { + required: true, + type: "integer" + }, + repo: { + required: true, + type: "string" + }, + reviewers: { + type: "string[]" + }, + team_reviewers: { + type: "string[]" + } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/requested_reviewers" + }, + dismissReview: { + method: "PUT", + params: { + message: { + required: true, + type: "string" + }, + number: { + alias: "pull_number", + deprecated: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + pull_number: { + required: true, + type: "integer" + }, + repo: { + required: true, + type: "string" + }, + review_id: { + required: true, + type: "integer" + } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/dismissals" + }, + get: { + method: "GET", + params: { + number: { + alias: "pull_number", + deprecated: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + pull_number: { + required: true, + type: "integer" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/pulls/:pull_number" + }, + getComment: { + method: "GET", + params: { + comment_id: { + required: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/pulls/comments/:comment_id" + }, + getCommentsForReview: { + method: "GET", + params: { + number: { + alias: "pull_number", + deprecated: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + pull_number: { + required: true, + type: "integer" + }, + repo: { + required: true, + type: "string" + }, + review_id: { + required: true, + type: "integer" + } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/comments" + }, + getReview: { + method: "GET", + params: { + number: { + alias: "pull_number", + deprecated: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + pull_number: { + required: true, + type: "integer" + }, + repo: { + required: true, + type: "string" + }, + review_id: { + required: true, + type: "integer" + } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id" + }, + list: { + method: "GET", + params: { + base: { + type: "string" + }, + direction: { + enum: ["asc", "desc"], + type: "string" + }, + head: { + type: "string" + }, + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + }, + sort: { + enum: ["created", "updated", "popularity", "long-running"], + type: "string" + }, + state: { + enum: ["open", "closed", "all"], + type: "string" + } + }, + url: "/repos/:owner/:repo/pulls" + }, + listComments: { + method: "GET", + params: { + direction: { + enum: ["asc", "desc"], + type: "string" + }, + number: { + alias: "pull_number", + deprecated: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + pull_number: { + required: true, + type: "integer" + }, + repo: { + required: true, + type: "string" + }, + since: { + type: "string" + }, + sort: { + enum: ["created", "updated"], + type: "string" + } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/comments" + }, + listCommentsForRepo: { + method: "GET", + params: { + direction: { + enum: ["asc", "desc"], + type: "string" + }, + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + }, + since: { + type: "string" + }, + sort: { + enum: ["created", "updated"], + type: "string" + } + }, + url: "/repos/:owner/:repo/pulls/comments" + }, + listCommits: { + method: "GET", + params: { + number: { + alias: "pull_number", + deprecated: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + pull_number: { + required: true, + type: "integer" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/commits" + }, + listFiles: { + method: "GET", + params: { + number: { + alias: "pull_number", + deprecated: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + pull_number: { + required: true, + type: "integer" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/files" + }, + listReviewRequests: { + method: "GET", + params: { + number: { + alias: "pull_number", + deprecated: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + pull_number: { + required: true, + type: "integer" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/requested_reviewers" + }, + listReviews: { + method: "GET", + params: { + number: { + alias: "pull_number", + deprecated: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + pull_number: { + required: true, + type: "integer" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/reviews" + }, + merge: { + method: "PUT", + params: { + commit_message: { + type: "string" + }, + commit_title: { + type: "string" + }, + merge_method: { + enum: ["merge", "squash", "rebase"], + type: "string" + }, + number: { + alias: "pull_number", + deprecated: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + pull_number: { + required: true, + type: "integer" + }, + repo: { + required: true, + type: "string" + }, + sha: { + type: "string" + } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/merge" + }, + submitReview: { + method: "POST", + params: { + body: { + type: "string" + }, + event: { + enum: ["APPROVE", "REQUEST_CHANGES", "COMMENT"], + required: true, + type: "string" + }, + number: { + alias: "pull_number", + deprecated: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + pull_number: { + required: true, + type: "integer" + }, + repo: { + required: true, + type: "string" + }, + review_id: { + required: true, + type: "integer" + } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/events" + }, + update: { + method: "PATCH", + params: { + base: { + type: "string" + }, + body: { + type: "string" + }, + maintainer_can_modify: { + type: "boolean" + }, + number: { + alias: "pull_number", + deprecated: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + pull_number: { + required: true, + type: "integer" + }, + repo: { + required: true, + type: "string" + }, + state: { + enum: ["open", "closed"], + type: "string" + }, + title: { + type: "string" + } + }, + url: "/repos/:owner/:repo/pulls/:pull_number" + }, + updateBranch: { + headers: { + accept: "application/vnd.github.lydian-preview+json" + }, + method: "PUT", + params: { + expected_head_sha: { + type: "string" + }, + owner: { + required: true, + type: "string" + }, + pull_number: { + required: true, + type: "integer" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/update-branch" + }, + updateComment: { + method: "PATCH", + params: { + body: { + required: true, + type: "string" + }, + comment_id: { + required: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/pulls/comments/:comment_id" + }, + updateReview: { + method: "PUT", + params: { + body: { + required: true, + type: "string" + }, + number: { + alias: "pull_number", + deprecated: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + pull_number: { + required: true, + type: "integer" + }, + repo: { + required: true, + type: "string" + }, + review_id: { + required: true, + type: "integer" + } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id" + } + }, + rateLimit: { + get: { + method: "GET", + params: {}, + url: "/rate_limit" + } + }, + reactions: { + createForCommitComment: { + headers: { + accept: "application/vnd.github.squirrel-girl-preview+json" + }, + method: "POST", + params: { + comment_id: { + required: true, + type: "integer" + }, + content: { + enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/comments/:comment_id/reactions" + }, + createForIssue: { + headers: { + accept: "application/vnd.github.squirrel-girl-preview+json" + }, + method: "POST", + params: { + content: { + enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], + required: true, + type: "string" + }, + issue_number: { + required: true, + type: "integer" + }, + number: { + alias: "issue_number", + deprecated: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/issues/:issue_number/reactions" + }, + createForIssueComment: { + headers: { + accept: "application/vnd.github.squirrel-girl-preview+json" + }, + method: "POST", + params: { + comment_id: { + required: true, + type: "integer" + }, + content: { + enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/issues/comments/:comment_id/reactions" + }, + createForPullRequestReviewComment: { + headers: { + accept: "application/vnd.github.squirrel-girl-preview+json" + }, + method: "POST", + params: { + comment_id: { + required: true, + type: "integer" + }, + content: { + enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/pulls/comments/:comment_id/reactions" + }, + createForTeamDiscussion: { + deprecated: "octokit.reactions.createForTeamDiscussion() has been renamed to octokit.reactions.createForTeamDiscussionLegacy() (2020-01-16)", + headers: { + accept: "application/vnd.github.squirrel-girl-preview+json" + }, + method: "POST", + params: { + content: { + enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], + required: true, + type: "string" + }, + discussion_number: { + required: true, + type: "integer" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/discussions/:discussion_number/reactions" + }, + createForTeamDiscussionComment: { + deprecated: "octokit.reactions.createForTeamDiscussionComment() has been renamed to octokit.reactions.createForTeamDiscussionCommentLegacy() (2020-01-16)", + headers: { + accept: "application/vnd.github.squirrel-girl-preview+json" + }, + method: "POST", + params: { + comment_number: { + required: true, + type: "integer" + }, + content: { + enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], + required: true, + type: "string" + }, + discussion_number: { + required: true, + type: "integer" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions" + }, + createForTeamDiscussionCommentInOrg: { + headers: { + accept: "application/vnd.github.squirrel-girl-preview+json" + }, + method: "POST", + params: { + comment_number: { + required: true, + type: "integer" + }, + content: { + enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], + required: true, + type: "string" + }, + discussion_number: { + required: true, + type: "integer" + }, + org: { + required: true, + type: "string" + }, + team_slug: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions" + }, + createForTeamDiscussionCommentLegacy: { + deprecated: "octokit.reactions.createForTeamDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-comment-legacy", + headers: { + accept: "application/vnd.github.squirrel-girl-preview+json" + }, + method: "POST", + params: { + comment_number: { + required: true, + type: "integer" + }, + content: { + enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], + required: true, + type: "string" + }, + discussion_number: { + required: true, + type: "integer" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions" + }, + createForTeamDiscussionInOrg: { + headers: { + accept: "application/vnd.github.squirrel-girl-preview+json" + }, + method: "POST", + params: { + content: { + enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], + required: true, + type: "string" + }, + discussion_number: { + required: true, + type: "integer" + }, + org: { + required: true, + type: "string" + }, + team_slug: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions" + }, + createForTeamDiscussionLegacy: { + deprecated: "octokit.reactions.createForTeamDiscussionLegacy() is deprecated, see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-legacy", + headers: { + accept: "application/vnd.github.squirrel-girl-preview+json" + }, + method: "POST", + params: { + content: { + enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], + required: true, + type: "string" + }, + discussion_number: { + required: true, + type: "integer" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/discussions/:discussion_number/reactions" + }, + delete: { + headers: { + accept: "application/vnd.github.squirrel-girl-preview+json" + }, + method: "DELETE", + params: { + reaction_id: { + required: true, + type: "integer" + } + }, + url: "/reactions/:reaction_id" + }, + listForCommitComment: { + headers: { + accept: "application/vnd.github.squirrel-girl-preview+json" + }, + method: "GET", + params: { + comment_id: { + required: true, + type: "integer" + }, + content: { + enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], + type: "string" + }, + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/comments/:comment_id/reactions" + }, + listForIssue: { + headers: { + accept: "application/vnd.github.squirrel-girl-preview+json" + }, + method: "GET", + params: { + content: { + enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], + type: "string" + }, + issue_number: { + required: true, + type: "integer" + }, + number: { + alias: "issue_number", + deprecated: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/issues/:issue_number/reactions" + }, + listForIssueComment: { + headers: { + accept: "application/vnd.github.squirrel-girl-preview+json" + }, + method: "GET", + params: { + comment_id: { + required: true, + type: "integer" + }, + content: { + enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], + type: "string" + }, + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/issues/comments/:comment_id/reactions" + }, + listForPullRequestReviewComment: { + headers: { + accept: "application/vnd.github.squirrel-girl-preview+json" + }, + method: "GET", + params: { + comment_id: { + required: true, + type: "integer" + }, + content: { + enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], + type: "string" + }, + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/pulls/comments/:comment_id/reactions" + }, + listForTeamDiscussion: { + deprecated: "octokit.reactions.listForTeamDiscussion() has been renamed to octokit.reactions.listForTeamDiscussionLegacy() (2020-01-16)", + headers: { + accept: "application/vnd.github.squirrel-girl-preview+json" + }, + method: "GET", + params: { + content: { + enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], + type: "string" + }, + discussion_number: { + required: true, + type: "integer" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/discussions/:discussion_number/reactions" + }, + listForTeamDiscussionComment: { + deprecated: "octokit.reactions.listForTeamDiscussionComment() has been renamed to octokit.reactions.listForTeamDiscussionCommentLegacy() (2020-01-16)", + headers: { + accept: "application/vnd.github.squirrel-girl-preview+json" + }, + method: "GET", + params: { + comment_number: { + required: true, + type: "integer" + }, + content: { + enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], + type: "string" + }, + discussion_number: { + required: true, + type: "integer" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions" + }, + listForTeamDiscussionCommentInOrg: { + headers: { + accept: "application/vnd.github.squirrel-girl-preview+json" + }, + method: "GET", + params: { + comment_number: { + required: true, + type: "integer" + }, + content: { + enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], + type: "string" + }, + discussion_number: { + required: true, + type: "integer" + }, + org: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + team_slug: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions" + }, + listForTeamDiscussionCommentLegacy: { + deprecated: "octokit.reactions.listForTeamDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-comment-legacy", + headers: { + accept: "application/vnd.github.squirrel-girl-preview+json" + }, + method: "GET", + params: { + comment_number: { + required: true, + type: "integer" + }, + content: { + enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], + type: "string" + }, + discussion_number: { + required: true, + type: "integer" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions" + }, + listForTeamDiscussionInOrg: { + headers: { + accept: "application/vnd.github.squirrel-girl-preview+json" + }, + method: "GET", + params: { + content: { + enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], + type: "string" + }, + discussion_number: { + required: true, + type: "integer" + }, + org: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + team_slug: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions" + }, + listForTeamDiscussionLegacy: { + deprecated: "octokit.reactions.listForTeamDiscussionLegacy() is deprecated, see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-legacy", + headers: { + accept: "application/vnd.github.squirrel-girl-preview+json" + }, + method: "GET", + params: { + content: { + enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], + type: "string" + }, + discussion_number: { + required: true, + type: "integer" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/discussions/:discussion_number/reactions" + } + }, + repos: { + acceptInvitation: { + method: "PATCH", + params: { + invitation_id: { + required: true, + type: "integer" + } + }, + url: "/user/repository_invitations/:invitation_id" + }, + addCollaborator: { + method: "PUT", + params: { + owner: { + required: true, + type: "string" + }, + permission: { + enum: ["pull", "push", "admin"], + type: "string" + }, + repo: { + required: true, + type: "string" + }, + username: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/collaborators/:username" + }, + addDeployKey: { + method: "POST", + params: { + key: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + read_only: { + type: "boolean" + }, + repo: { + required: true, + type: "string" + }, + title: { + type: "string" + } + }, + url: "/repos/:owner/:repo/keys" + }, + addProtectedBranchAdminEnforcement: { + method: "POST", + params: { + branch: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/enforce_admins" + }, + addProtectedBranchAppRestrictions: { + method: "POST", + params: { + apps: { + mapTo: "data", + required: true, + type: "string[]" + }, + branch: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/apps" + }, + addProtectedBranchRequiredSignatures: { + headers: { + accept: "application/vnd.github.zzzax-preview+json" + }, + method: "POST", + params: { + branch: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/required_signatures" + }, + addProtectedBranchRequiredStatusChecksContexts: { + method: "POST", + params: { + branch: { + required: true, + type: "string" + }, + contexts: { + mapTo: "data", + required: true, + type: "string[]" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts" + }, + addProtectedBranchTeamRestrictions: { + method: "POST", + params: { + branch: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + teams: { + mapTo: "data", + required: true, + type: "string[]" + } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams" + }, + addProtectedBranchUserRestrictions: { + method: "POST", + params: { + branch: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + users: { + mapTo: "data", + required: true, + type: "string[]" + } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/users" + }, + checkCollaborator: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + username: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/collaborators/:username" + }, + checkVulnerabilityAlerts: { + headers: { + accept: "application/vnd.github.dorian-preview+json" + }, + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/vulnerability-alerts" + }, + compareCommits: { + method: "GET", + params: { + base: { + required: true, + type: "string" + }, + head: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/compare/:base...:head" + }, + createCommitComment: { + method: "POST", + params: { + body: { + required: true, + type: "string" + }, + commit_sha: { + required: true, + type: "string" + }, + line: { + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + path: { + type: "string" + }, + position: { + type: "integer" + }, + repo: { + required: true, + type: "string" + }, + sha: { + alias: "commit_sha", + deprecated: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/commits/:commit_sha/comments" + }, + createDeployment: { + method: "POST", + params: { + auto_merge: { + type: "boolean" + }, + description: { + type: "string" + }, + environment: { + type: "string" + }, + owner: { + required: true, + type: "string" + }, + payload: { + type: "string" + }, + production_environment: { + type: "boolean" + }, + ref: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + required_contexts: { + type: "string[]" + }, + task: { + type: "string" + }, + transient_environment: { + type: "boolean" + } + }, + url: "/repos/:owner/:repo/deployments" + }, + createDeploymentStatus: { + method: "POST", + params: { + auto_inactive: { + type: "boolean" + }, + deployment_id: { + required: true, + type: "integer" + }, + description: { + type: "string" + }, + environment: { + enum: ["production", "staging", "qa"], + type: "string" + }, + environment_url: { + type: "string" + }, + log_url: { + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + state: { + enum: ["error", "failure", "inactive", "in_progress", "queued", "pending", "success"], + required: true, + type: "string" + }, + target_url: { + type: "string" + } + }, + url: "/repos/:owner/:repo/deployments/:deployment_id/statuses" + }, + createDispatchEvent: { + method: "POST", + params: { + client_payload: { + type: "object" + }, + event_type: { + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/dispatches" + }, + createFile: { + deprecated: "octokit.repos.createFile() has been renamed to octokit.repos.createOrUpdateFile() (2019-06-07)", + method: "PUT", + params: { + author: { + type: "object" + }, + "author.email": { + required: true, + type: "string" + }, + "author.name": { + required: true, + type: "string" + }, + branch: { + type: "string" + }, + committer: { + type: "object" + }, + "committer.email": { + required: true, + type: "string" + }, + "committer.name": { + required: true, + type: "string" + }, + content: { + required: true, + type: "string" + }, + message: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + path: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + sha: { + type: "string" + } + }, + url: "/repos/:owner/:repo/contents/:path" + }, + createForAuthenticatedUser: { + method: "POST", + params: { + allow_merge_commit: { + type: "boolean" + }, + allow_rebase_merge: { + type: "boolean" + }, + allow_squash_merge: { + type: "boolean" + }, + auto_init: { + type: "boolean" + }, + delete_branch_on_merge: { + type: "boolean" + }, + description: { + type: "string" + }, + gitignore_template: { + type: "string" + }, + has_issues: { + type: "boolean" + }, + has_projects: { + type: "boolean" + }, + has_wiki: { + type: "boolean" + }, + homepage: { + type: "string" + }, + is_template: { + type: "boolean" + }, + license_template: { + type: "string" + }, + name: { + required: true, + type: "string" + }, + private: { + type: "boolean" + }, + team_id: { + type: "integer" + }, + visibility: { + enum: ["public", "private", "visibility", "internal"], + type: "string" + } + }, + url: "/user/repos" + }, + createFork: { + method: "POST", + params: { + organization: { + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/forks" + }, + createHook: { + method: "POST", + params: { + active: { + type: "boolean" + }, + config: { + required: true, + type: "object" + }, + "config.content_type": { + type: "string" + }, + "config.insecure_ssl": { + type: "string" + }, + "config.secret": { + type: "string" + }, + "config.url": { + required: true, + type: "string" + }, + events: { + type: "string[]" + }, + name: { + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/hooks" + }, + createInOrg: { + method: "POST", + params: { + allow_merge_commit: { + type: "boolean" + }, + allow_rebase_merge: { + type: "boolean" + }, + allow_squash_merge: { + type: "boolean" + }, + auto_init: { + type: "boolean" + }, + delete_branch_on_merge: { + type: "boolean" + }, + description: { + type: "string" + }, + gitignore_template: { + type: "string" + }, + has_issues: { + type: "boolean" + }, + has_projects: { + type: "boolean" + }, + has_wiki: { + type: "boolean" + }, + homepage: { + type: "string" + }, + is_template: { + type: "boolean" + }, + license_template: { + type: "string" + }, + name: { + required: true, + type: "string" + }, + org: { + required: true, + type: "string" + }, + private: { + type: "boolean" + }, + team_id: { + type: "integer" + }, + visibility: { + enum: ["public", "private", "visibility", "internal"], + type: "string" + } + }, + url: "/orgs/:org/repos" + }, + createOrUpdateFile: { + method: "PUT", + params: { + author: { + type: "object" + }, + "author.email": { + required: true, + type: "string" + }, + "author.name": { + required: true, + type: "string" + }, + branch: { + type: "string" + }, + committer: { + type: "object" + }, + "committer.email": { + required: true, + type: "string" + }, + "committer.name": { + required: true, + type: "string" + }, + content: { + required: true, + type: "string" + }, + message: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + path: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + sha: { + type: "string" + } + }, + url: "/repos/:owner/:repo/contents/:path" + }, + createRelease: { + method: "POST", + params: { + body: { + type: "string" + }, + draft: { + type: "boolean" + }, + name: { + type: "string" + }, + owner: { + required: true, + type: "string" + }, + prerelease: { + type: "boolean" + }, + repo: { + required: true, + type: "string" + }, + tag_name: { + required: true, + type: "string" + }, + target_commitish: { + type: "string" + } + }, + url: "/repos/:owner/:repo/releases" + }, + createStatus: { + method: "POST", + params: { + context: { + type: "string" + }, + description: { + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + sha: { + required: true, + type: "string" + }, + state: { + enum: ["error", "failure", "pending", "success"], + required: true, + type: "string" + }, + target_url: { + type: "string" + } + }, + url: "/repos/:owner/:repo/statuses/:sha" + }, + createUsingTemplate: { + headers: { + accept: "application/vnd.github.baptiste-preview+json" + }, + method: "POST", + params: { + description: { + type: "string" + }, + name: { + required: true, + type: "string" + }, + owner: { + type: "string" + }, + private: { + type: "boolean" + }, + template_owner: { + required: true, + type: "string" + }, + template_repo: { + required: true, + type: "string" + } + }, + url: "/repos/:template_owner/:template_repo/generate" + }, + declineInvitation: { + method: "DELETE", + params: { + invitation_id: { + required: true, + type: "integer" + } + }, + url: "/user/repository_invitations/:invitation_id" + }, + delete: { + method: "DELETE", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo" + }, + deleteCommitComment: { + method: "DELETE", + params: { + comment_id: { + required: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/comments/:comment_id" + }, + deleteDownload: { + method: "DELETE", + params: { + download_id: { + required: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/downloads/:download_id" + }, + deleteFile: { + method: "DELETE", + params: { + author: { + type: "object" + }, + "author.email": { + type: "string" + }, + "author.name": { + type: "string" + }, + branch: { + type: "string" + }, + committer: { + type: "object" + }, + "committer.email": { + type: "string" + }, + "committer.name": { + type: "string" + }, + message: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + path: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + sha: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/contents/:path" + }, + deleteHook: { + method: "DELETE", + params: { + hook_id: { + required: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/hooks/:hook_id" + }, + deleteInvitation: { + method: "DELETE", + params: { + invitation_id: { + required: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/invitations/:invitation_id" + }, + deleteRelease: { + method: "DELETE", + params: { + owner: { + required: true, + type: "string" + }, + release_id: { + required: true, + type: "integer" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/releases/:release_id" + }, + deleteReleaseAsset: { + method: "DELETE", + params: { + asset_id: { + required: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/releases/assets/:asset_id" + }, + disableAutomatedSecurityFixes: { + headers: { + accept: "application/vnd.github.london-preview+json" + }, + method: "DELETE", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/automated-security-fixes" + }, + disablePagesSite: { + headers: { + accept: "application/vnd.github.switcheroo-preview+json" + }, + method: "DELETE", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/pages" + }, + disableVulnerabilityAlerts: { + headers: { + accept: "application/vnd.github.dorian-preview+json" + }, + method: "DELETE", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/vulnerability-alerts" + }, + enableAutomatedSecurityFixes: { + headers: { + accept: "application/vnd.github.london-preview+json" + }, + method: "PUT", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/automated-security-fixes" + }, + enablePagesSite: { + headers: { + accept: "application/vnd.github.switcheroo-preview+json" + }, + method: "POST", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + source: { + type: "object" + }, + "source.branch": { + enum: ["master", "gh-pages"], + type: "string" + }, + "source.path": { + type: "string" + } + }, + url: "/repos/:owner/:repo/pages" + }, + enableVulnerabilityAlerts: { + headers: { + accept: "application/vnd.github.dorian-preview+json" + }, + method: "PUT", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/vulnerability-alerts" + }, + get: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo" + }, + getAppsWithAccessToProtectedBranch: { + method: "GET", + params: { + branch: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/apps" + }, + getArchiveLink: { + method: "GET", + params: { + archive_format: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + ref: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/:archive_format/:ref" + }, + getBranch: { + method: "GET", + params: { + branch: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/branches/:branch" + }, + getBranchProtection: { + method: "GET", + params: { + branch: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/branches/:branch/protection" + }, + getClones: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + per: { + enum: ["day", "week"], + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/traffic/clones" + }, + getCodeFrequencyStats: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/stats/code_frequency" + }, + getCollaboratorPermissionLevel: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + username: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/collaborators/:username/permission" + }, + getCombinedStatusForRef: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + ref: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/commits/:ref/status" + }, + getCommit: { + method: "GET", + params: { + commit_sha: { + alias: "ref", + deprecated: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + ref: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + sha: { + alias: "ref", + deprecated: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/commits/:ref" + }, + getCommitActivityStats: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/stats/commit_activity" + }, + getCommitComment: { + method: "GET", + params: { + comment_id: { + required: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/comments/:comment_id" + }, + getCommitRefSha: { + deprecated: "octokit.repos.getCommitRefSha() is deprecated, see https://developer.github.com/v3/repos/commits/#get-a-single-commit", + headers: { + accept: "application/vnd.github.v3.sha" + }, + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + ref: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/commits/:ref" + }, + getContents: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + path: { + required: true, + type: "string" + }, + ref: { + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/contents/:path" + }, + getContributorsStats: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/stats/contributors" + }, + getDeployKey: { + method: "GET", + params: { + key_id: { + required: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/keys/:key_id" + }, + getDeployment: { + method: "GET", + params: { + deployment_id: { + required: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/deployments/:deployment_id" + }, + getDeploymentStatus: { + method: "GET", + params: { + deployment_id: { + required: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + status_id: { + required: true, + type: "integer" + } + }, + url: "/repos/:owner/:repo/deployments/:deployment_id/statuses/:status_id" + }, + getDownload: { + method: "GET", + params: { + download_id: { + required: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/downloads/:download_id" + }, + getHook: { + method: "GET", + params: { + hook_id: { + required: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/hooks/:hook_id" + }, + getLatestPagesBuild: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/pages/builds/latest" + }, + getLatestRelease: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/releases/latest" + }, + getPages: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/pages" + }, + getPagesBuild: { + method: "GET", + params: { + build_id: { + required: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/pages/builds/:build_id" + }, + getParticipationStats: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/stats/participation" + }, + getProtectedBranchAdminEnforcement: { + method: "GET", + params: { + branch: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/enforce_admins" + }, + getProtectedBranchPullRequestReviewEnforcement: { + method: "GET", + params: { + branch: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews" + }, + getProtectedBranchRequiredSignatures: { + headers: { + accept: "application/vnd.github.zzzax-preview+json" + }, + method: "GET", + params: { + branch: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/required_signatures" + }, + getProtectedBranchRequiredStatusChecks: { + method: "GET", + params: { + branch: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks" + }, + getProtectedBranchRestrictions: { + method: "GET", + params: { + branch: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions" + }, + getPunchCardStats: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/stats/punch_card" + }, + getReadme: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + ref: { + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/readme" + }, + getRelease: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + release_id: { + required: true, + type: "integer" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/releases/:release_id" + }, + getReleaseAsset: { + method: "GET", + params: { + asset_id: { + required: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/releases/assets/:asset_id" + }, + getReleaseByTag: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + tag: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/releases/tags/:tag" + }, + getTeamsWithAccessToProtectedBranch: { + method: "GET", + params: { + branch: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams" + }, + getTopPaths: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/traffic/popular/paths" + }, + getTopReferrers: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/traffic/popular/referrers" + }, + getUsersWithAccessToProtectedBranch: { + method: "GET", + params: { + branch: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/users" + }, + getViews: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + per: { + enum: ["day", "week"], + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/traffic/views" + }, + list: { + method: "GET", + params: { + affiliation: { + type: "string" + }, + direction: { + enum: ["asc", "desc"], + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + sort: { + enum: ["created", "updated", "pushed", "full_name"], + type: "string" + }, + type: { + enum: ["all", "owner", "public", "private", "member"], + type: "string" + }, + visibility: { + enum: ["all", "public", "private"], + type: "string" + } + }, + url: "/user/repos" + }, + listAppsWithAccessToProtectedBranch: { + deprecated: "octokit.repos.listAppsWithAccessToProtectedBranch() has been renamed to octokit.repos.getAppsWithAccessToProtectedBranch() (2019-09-13)", + method: "GET", + params: { + branch: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/apps" + }, + listAssetsForRelease: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + release_id: { + required: true, + type: "integer" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/releases/:release_id/assets" + }, + listBranches: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + protected: { + type: "boolean" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/branches" + }, + listBranchesForHeadCommit: { + headers: { + accept: "application/vnd.github.groot-preview+json" + }, + method: "GET", + params: { + commit_sha: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/commits/:commit_sha/branches-where-head" + }, + listCollaborators: { + method: "GET", + params: { + affiliation: { + enum: ["outside", "direct", "all"], + type: "string" + }, + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/collaborators" + }, + listCommentsForCommit: { + method: "GET", + params: { + commit_sha: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + ref: { + alias: "commit_sha", + deprecated: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/commits/:commit_sha/comments" + }, + listCommitComments: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/comments" + }, + listCommits: { + method: "GET", + params: { + author: { + type: "string" + }, + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + path: { + type: "string" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + }, + sha: { + type: "string" + }, + since: { + type: "string" + }, + until: { + type: "string" + } + }, + url: "/repos/:owner/:repo/commits" + }, + listContributors: { + method: "GET", + params: { + anon: { + type: "string" + }, + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/contributors" + }, + listDeployKeys: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/keys" + }, + listDeploymentStatuses: { + method: "GET", + params: { + deployment_id: { + required: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/deployments/:deployment_id/statuses" + }, + listDeployments: { + method: "GET", + params: { + environment: { + type: "string" + }, + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + ref: { + type: "string" + }, + repo: { + required: true, + type: "string" + }, + sha: { + type: "string" + }, + task: { + type: "string" + } + }, + url: "/repos/:owner/:repo/deployments" + }, + listDownloads: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/downloads" + }, + listForOrg: { + method: "GET", + params: { + direction: { + enum: ["asc", "desc"], + type: "string" + }, + org: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + sort: { + enum: ["created", "updated", "pushed", "full_name"], + type: "string" + }, + type: { + enum: ["all", "public", "private", "forks", "sources", "member", "internal"], + type: "string" + } + }, + url: "/orgs/:org/repos" + }, + listForUser: { + method: "GET", + params: { + direction: { + enum: ["asc", "desc"], + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + sort: { + enum: ["created", "updated", "pushed", "full_name"], + type: "string" + }, + type: { + enum: ["all", "owner", "member"], + type: "string" + }, + username: { + required: true, + type: "string" + } + }, + url: "/users/:username/repos" + }, + listForks: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + }, + sort: { + enum: ["newest", "oldest", "stargazers"], + type: "string" + } + }, + url: "/repos/:owner/:repo/forks" + }, + listHooks: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/hooks" + }, + listInvitations: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/invitations" + }, + listInvitationsForAuthenticatedUser: { + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + } + }, + url: "/user/repository_invitations" + }, + listLanguages: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/languages" + }, + listPagesBuilds: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/pages/builds" + }, + listProtectedBranchRequiredStatusChecksContexts: { + method: "GET", + params: { + branch: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts" + }, + listProtectedBranchTeamRestrictions: { + deprecated: "octokit.repos.listProtectedBranchTeamRestrictions() has been renamed to octokit.repos.getTeamsWithAccessToProtectedBranch() (2019-09-09)", + method: "GET", + params: { + branch: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams" + }, + listProtectedBranchUserRestrictions: { + deprecated: "octokit.repos.listProtectedBranchUserRestrictions() has been renamed to octokit.repos.getUsersWithAccessToProtectedBranch() (2019-09-09)", + method: "GET", + params: { + branch: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/users" + }, + listPublic: { + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + since: { + type: "integer" + } + }, + url: "/repositories" + }, + listPullRequestsAssociatedWithCommit: { + headers: { + accept: "application/vnd.github.groot-preview+json" + }, + method: "GET", + params: { + commit_sha: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/commits/:commit_sha/pulls" + }, + listReleases: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/releases" + }, + listStatusesForRef: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + ref: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/commits/:ref/statuses" + }, + listTags: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/tags" + }, + listTeams: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/teams" + }, + listTeamsWithAccessToProtectedBranch: { + deprecated: "octokit.repos.listTeamsWithAccessToProtectedBranch() has been renamed to octokit.repos.getTeamsWithAccessToProtectedBranch() (2019-09-13)", + method: "GET", + params: { + branch: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams" + }, + listTopics: { + headers: { + accept: "application/vnd.github.mercy-preview+json" + }, + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/topics" + }, + listUsersWithAccessToProtectedBranch: { + deprecated: "octokit.repos.listUsersWithAccessToProtectedBranch() has been renamed to octokit.repos.getUsersWithAccessToProtectedBranch() (2019-09-13)", + method: "GET", + params: { + branch: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/users" + }, + merge: { + method: "POST", + params: { + base: { + required: true, + type: "string" + }, + commit_message: { + type: "string" + }, + head: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/merges" + }, + pingHook: { + method: "POST", + params: { + hook_id: { + required: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/hooks/:hook_id/pings" + }, + removeBranchProtection: { + method: "DELETE", + params: { + branch: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/branches/:branch/protection" + }, + removeCollaborator: { + method: "DELETE", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + username: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/collaborators/:username" + }, + removeDeployKey: { + method: "DELETE", + params: { + key_id: { + required: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/keys/:key_id" + }, + removeProtectedBranchAdminEnforcement: { + method: "DELETE", + params: { + branch: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/enforce_admins" + }, + removeProtectedBranchAppRestrictions: { + method: "DELETE", + params: { + apps: { + mapTo: "data", + required: true, + type: "string[]" + }, + branch: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/apps" + }, + removeProtectedBranchPullRequestReviewEnforcement: { + method: "DELETE", + params: { + branch: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews" + }, + removeProtectedBranchRequiredSignatures: { + headers: { + accept: "application/vnd.github.zzzax-preview+json" + }, + method: "DELETE", + params: { + branch: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/required_signatures" + }, + removeProtectedBranchRequiredStatusChecks: { + method: "DELETE", + params: { + branch: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks" + }, + removeProtectedBranchRequiredStatusChecksContexts: { + method: "DELETE", + params: { + branch: { + required: true, + type: "string" + }, + contexts: { + mapTo: "data", + required: true, + type: "string[]" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts" + }, + removeProtectedBranchRestrictions: { + method: "DELETE", + params: { + branch: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions" + }, + removeProtectedBranchTeamRestrictions: { + method: "DELETE", + params: { + branch: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + teams: { + mapTo: "data", + required: true, + type: "string[]" + } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams" + }, + removeProtectedBranchUserRestrictions: { + method: "DELETE", + params: { + branch: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + users: { + mapTo: "data", + required: true, + type: "string[]" + } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/users" + }, + replaceProtectedBranchAppRestrictions: { + method: "PUT", + params: { + apps: { + mapTo: "data", + required: true, + type: "string[]" + }, + branch: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/apps" + }, + replaceProtectedBranchRequiredStatusChecksContexts: { + method: "PUT", + params: { + branch: { + required: true, + type: "string" + }, + contexts: { + mapTo: "data", + required: true, + type: "string[]" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts" + }, + replaceProtectedBranchTeamRestrictions: { + method: "PUT", + params: { + branch: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + teams: { + mapTo: "data", + required: true, + type: "string[]" + } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams" + }, + replaceProtectedBranchUserRestrictions: { + method: "PUT", + params: { + branch: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + users: { + mapTo: "data", + required: true, + type: "string[]" + } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/users" + }, + replaceTopics: { + headers: { + accept: "application/vnd.github.mercy-preview+json" + }, + method: "PUT", + params: { + names: { + required: true, + type: "string[]" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/topics" + }, + requestPageBuild: { + method: "POST", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/pages/builds" + }, + retrieveCommunityProfileMetrics: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/community/profile" + }, + testPushHook: { + method: "POST", + params: { + hook_id: { + required: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/hooks/:hook_id/tests" + }, + transfer: { + method: "POST", + params: { + new_owner: { + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + team_ids: { + type: "integer[]" + } + }, + url: "/repos/:owner/:repo/transfer" + }, + update: { + method: "PATCH", + params: { + allow_merge_commit: { + type: "boolean" + }, + allow_rebase_merge: { + type: "boolean" + }, + allow_squash_merge: { + type: "boolean" + }, + archived: { + type: "boolean" + }, + default_branch: { + type: "string" + }, + delete_branch_on_merge: { + type: "boolean" + }, + description: { + type: "string" + }, + has_issues: { + type: "boolean" + }, + has_projects: { + type: "boolean" + }, + has_wiki: { + type: "boolean" + }, + homepage: { + type: "string" + }, + is_template: { + type: "boolean" + }, + name: { + type: "string" + }, + owner: { + required: true, + type: "string" + }, + private: { + type: "boolean" + }, + repo: { + required: true, + type: "string" + }, + visibility: { + enum: ["public", "private", "visibility", "internal"], + type: "string" + } + }, + url: "/repos/:owner/:repo" + }, + updateBranchProtection: { + method: "PUT", + params: { + allow_deletions: { + type: "boolean" + }, + allow_force_pushes: { + allowNull: true, + type: "boolean" + }, + branch: { + required: true, + type: "string" + }, + enforce_admins: { + allowNull: true, + required: true, + type: "boolean" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + required_linear_history: { + type: "boolean" + }, + required_pull_request_reviews: { + allowNull: true, + required: true, + type: "object" + }, + "required_pull_request_reviews.dismiss_stale_reviews": { + type: "boolean" + }, + "required_pull_request_reviews.dismissal_restrictions": { + type: "object" + }, + "required_pull_request_reviews.dismissal_restrictions.teams": { + type: "string[]" + }, + "required_pull_request_reviews.dismissal_restrictions.users": { + type: "string[]" + }, + "required_pull_request_reviews.require_code_owner_reviews": { + type: "boolean" + }, + "required_pull_request_reviews.required_approving_review_count": { + type: "integer" + }, + required_status_checks: { + allowNull: true, + required: true, + type: "object" + }, + "required_status_checks.contexts": { + required: true, + type: "string[]" + }, + "required_status_checks.strict": { + required: true, + type: "boolean" + }, + restrictions: { + allowNull: true, + required: true, + type: "object" + }, + "restrictions.apps": { + type: "string[]" + }, + "restrictions.teams": { + required: true, + type: "string[]" + }, + "restrictions.users": { + required: true, + type: "string[]" + } + }, + url: "/repos/:owner/:repo/branches/:branch/protection" + }, + updateCommitComment: { + method: "PATCH", + params: { + body: { + required: true, + type: "string" + }, + comment_id: { + required: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/comments/:comment_id" + }, + updateFile: { + deprecated: "octokit.repos.updateFile() has been renamed to octokit.repos.createOrUpdateFile() (2019-06-07)", + method: "PUT", + params: { + author: { + type: "object" + }, + "author.email": { + required: true, + type: "string" + }, + "author.name": { + required: true, + type: "string" + }, + branch: { + type: "string" + }, + committer: { + type: "object" + }, + "committer.email": { + required: true, + type: "string" + }, + "committer.name": { + required: true, + type: "string" + }, + content: { + required: true, + type: "string" + }, + message: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + path: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + sha: { + type: "string" + } + }, + url: "/repos/:owner/:repo/contents/:path" + }, + updateHook: { + method: "PATCH", + params: { + active: { + type: "boolean" + }, + add_events: { + type: "string[]" + }, + config: { + type: "object" + }, + "config.content_type": { + type: "string" + }, + "config.insecure_ssl": { + type: "string" + }, + "config.secret": { + type: "string" + }, + "config.url": { + required: true, + type: "string" + }, + events: { + type: "string[]" + }, + hook_id: { + required: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + remove_events: { + type: "string[]" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/hooks/:hook_id" + }, + updateInformationAboutPagesSite: { + method: "PUT", + params: { + cname: { + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + source: { + enum: ['"gh-pages"', '"master"', '"master /docs"'], + type: "string" + } + }, + url: "/repos/:owner/:repo/pages" + }, + updateInvitation: { + method: "PATCH", + params: { + invitation_id: { + required: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + permissions: { + enum: ["read", "write", "admin"], + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/invitations/:invitation_id" + }, + updateProtectedBranchPullRequestReviewEnforcement: { + method: "PATCH", + params: { + branch: { + required: true, + type: "string" + }, + dismiss_stale_reviews: { + type: "boolean" + }, + dismissal_restrictions: { + type: "object" + }, + "dismissal_restrictions.teams": { + type: "string[]" + }, + "dismissal_restrictions.users": { + type: "string[]" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + require_code_owner_reviews: { + type: "boolean" + }, + required_approving_review_count: { + type: "integer" + } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews" + }, + updateProtectedBranchRequiredStatusChecks: { + method: "PATCH", + params: { + branch: { + required: true, + type: "string" + }, + contexts: { + type: "string[]" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + strict: { + type: "boolean" + } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks" + }, + updateRelease: { + method: "PATCH", + params: { + body: { + type: "string" + }, + draft: { + type: "boolean" + }, + name: { + type: "string" + }, + owner: { + required: true, + type: "string" + }, + prerelease: { + type: "boolean" + }, + release_id: { + required: true, + type: "integer" + }, + repo: { + required: true, + type: "string" + }, + tag_name: { + type: "string" + }, + target_commitish: { + type: "string" + } + }, + url: "/repos/:owner/:repo/releases/:release_id" + }, + updateReleaseAsset: { + method: "PATCH", + params: { + asset_id: { + required: true, + type: "integer" + }, + label: { + type: "string" + }, + name: { + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/releases/assets/:asset_id" + }, + uploadReleaseAsset: { + method: "POST", + params: { + data: { + mapTo: "data", + required: true, + type: "string | object" + }, + file: { + alias: "data", + deprecated: true, + type: "string | object" + }, + headers: { + required: true, + type: "object" + }, + "headers.content-length": { + required: true, + type: "integer" + }, + "headers.content-type": { + required: true, + type: "string" + }, + label: { + type: "string" + }, + name: { + required: true, + type: "string" + }, + url: { + required: true, + type: "string" + } + }, + url: ":url" + } + }, + search: { + code: { + method: "GET", + params: { + order: { + enum: ["desc", "asc"], + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + q: { + required: true, + type: "string" + }, + sort: { + enum: ["indexed"], + type: "string" + } + }, + url: "/search/code" + }, + commits: { + headers: { + accept: "application/vnd.github.cloak-preview+json" + }, + method: "GET", + params: { + order: { + enum: ["desc", "asc"], + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + q: { + required: true, + type: "string" + }, + sort: { + enum: ["author-date", "committer-date"], + type: "string" + } + }, + url: "/search/commits" + }, + issues: { + deprecated: "octokit.search.issues() has been renamed to octokit.search.issuesAndPullRequests() (2018-12-27)", + method: "GET", + params: { + order: { + enum: ["desc", "asc"], + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + q: { + required: true, + type: "string" + }, + sort: { + enum: ["comments", "reactions", "reactions-+1", "reactions--1", "reactions-smile", "reactions-thinking_face", "reactions-heart", "reactions-tada", "interactions", "created", "updated"], + type: "string" + } + }, + url: "/search/issues" + }, + issuesAndPullRequests: { + method: "GET", + params: { + order: { + enum: ["desc", "asc"], + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + q: { + required: true, + type: "string" + }, + sort: { + enum: ["comments", "reactions", "reactions-+1", "reactions--1", "reactions-smile", "reactions-thinking_face", "reactions-heart", "reactions-tada", "interactions", "created", "updated"], + type: "string" + } + }, + url: "/search/issues" + }, + labels: { + method: "GET", + params: { + order: { + enum: ["desc", "asc"], + type: "string" + }, + q: { + required: true, + type: "string" + }, + repository_id: { + required: true, + type: "integer" + }, + sort: { + enum: ["created", "updated"], + type: "string" + } + }, + url: "/search/labels" + }, + repos: { + method: "GET", + params: { + order: { + enum: ["desc", "asc"], + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + q: { + required: true, + type: "string" + }, + sort: { + enum: ["stars", "forks", "help-wanted-issues", "updated"], + type: "string" + } + }, + url: "/search/repositories" + }, + topics: { + method: "GET", + params: { + q: { + required: true, + type: "string" + } + }, + url: "/search/topics" + }, + users: { + method: "GET", + params: { + order: { + enum: ["desc", "asc"], + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + q: { + required: true, + type: "string" + }, + sort: { + enum: ["followers", "repositories", "joined"], + type: "string" + } + }, + url: "/search/users" + } + }, + teams: { + addMember: { + deprecated: "octokit.teams.addMember() has been renamed to octokit.teams.addMemberLegacy() (2020-01-16)", + method: "PUT", + params: { + team_id: { + required: true, + type: "integer" + }, + username: { + required: true, + type: "string" + } + }, + url: "/teams/:team_id/members/:username" + }, + addMemberLegacy: { + deprecated: "octokit.teams.addMemberLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#add-team-member-legacy", + method: "PUT", + params: { + team_id: { + required: true, + type: "integer" + }, + username: { + required: true, + type: "string" + } + }, + url: "/teams/:team_id/members/:username" + }, + addOrUpdateMembership: { + deprecated: "octokit.teams.addOrUpdateMembership() has been renamed to octokit.teams.addOrUpdateMembershipLegacy() (2020-01-16)", + method: "PUT", + params: { + role: { + enum: ["member", "maintainer"], + type: "string" + }, + team_id: { + required: true, + type: "integer" + }, + username: { + required: true, + type: "string" + } + }, + url: "/teams/:team_id/memberships/:username" + }, + addOrUpdateMembershipInOrg: { + method: "PUT", + params: { + org: { + required: true, + type: "string" + }, + role: { + enum: ["member", "maintainer"], + type: "string" + }, + team_slug: { + required: true, + type: "string" + }, + username: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/memberships/:username" + }, + addOrUpdateMembershipLegacy: { + deprecated: "octokit.teams.addOrUpdateMembershipLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#add-or-update-team-membership-legacy", + method: "PUT", + params: { + role: { + enum: ["member", "maintainer"], + type: "string" + }, + team_id: { + required: true, + type: "integer" + }, + username: { + required: true, + type: "string" + } + }, + url: "/teams/:team_id/memberships/:username" + }, + addOrUpdateProject: { + deprecated: "octokit.teams.addOrUpdateProject() has been renamed to octokit.teams.addOrUpdateProjectLegacy() (2020-01-16)", + headers: { + accept: "application/vnd.github.inertia-preview+json" + }, + method: "PUT", + params: { + permission: { + enum: ["read", "write", "admin"], + type: "string" + }, + project_id: { + required: true, + type: "integer" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/projects/:project_id" + }, + addOrUpdateProjectInOrg: { + headers: { + accept: "application/vnd.github.inertia-preview+json" + }, + method: "PUT", + params: { + org: { + required: true, + type: "string" + }, + permission: { + enum: ["read", "write", "admin"], + type: "string" + }, + project_id: { + required: true, + type: "integer" + }, + team_slug: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/projects/:project_id" + }, + addOrUpdateProjectLegacy: { + deprecated: "octokit.teams.addOrUpdateProjectLegacy() is deprecated, see https://developer.github.com/v3/teams/#add-or-update-team-project-legacy", + headers: { + accept: "application/vnd.github.inertia-preview+json" + }, + method: "PUT", + params: { + permission: { + enum: ["read", "write", "admin"], + type: "string" + }, + project_id: { + required: true, + type: "integer" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/projects/:project_id" + }, + addOrUpdateRepo: { + deprecated: "octokit.teams.addOrUpdateRepo() has been renamed to octokit.teams.addOrUpdateRepoLegacy() (2020-01-16)", + method: "PUT", + params: { + owner: { + required: true, + type: "string" + }, + permission: { + enum: ["pull", "push", "admin"], + type: "string" + }, + repo: { + required: true, + type: "string" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/repos/:owner/:repo" + }, + addOrUpdateRepoInOrg: { + method: "PUT", + params: { + org: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + permission: { + enum: ["pull", "push", "admin"], + type: "string" + }, + repo: { + required: true, + type: "string" + }, + team_slug: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/repos/:owner/:repo" + }, + addOrUpdateRepoLegacy: { + deprecated: "octokit.teams.addOrUpdateRepoLegacy() is deprecated, see https://developer.github.com/v3/teams/#add-or-update-team-repository-legacy", + method: "PUT", + params: { + owner: { + required: true, + type: "string" + }, + permission: { + enum: ["pull", "push", "admin"], + type: "string" + }, + repo: { + required: true, + type: "string" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/repos/:owner/:repo" + }, + checkManagesRepo: { + deprecated: "octokit.teams.checkManagesRepo() has been renamed to octokit.teams.checkManagesRepoLegacy() (2020-01-16)", + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/repos/:owner/:repo" + }, + checkManagesRepoInOrg: { + method: "GET", + params: { + org: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + team_slug: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/repos/:owner/:repo" + }, + checkManagesRepoLegacy: { + deprecated: "octokit.teams.checkManagesRepoLegacy() is deprecated, see https://developer.github.com/v3/teams/#check-if-a-team-manages-a-repository-legacy", + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/repos/:owner/:repo" + }, + create: { + method: "POST", + params: { + description: { + type: "string" + }, + maintainers: { + type: "string[]" + }, + name: { + required: true, + type: "string" + }, + org: { + required: true, + type: "string" + }, + parent_team_id: { + type: "integer" + }, + permission: { + enum: ["pull", "push", "admin"], + type: "string" + }, + privacy: { + enum: ["secret", "closed"], + type: "string" + }, + repo_names: { + type: "string[]" + } + }, + url: "/orgs/:org/teams" + }, + createDiscussion: { + deprecated: "octokit.teams.createDiscussion() has been renamed to octokit.teams.createDiscussionLegacy() (2020-01-16)", + method: "POST", + params: { + body: { + required: true, + type: "string" + }, + private: { + type: "boolean" + }, + team_id: { + required: true, + type: "integer" + }, + title: { + required: true, + type: "string" + } + }, + url: "/teams/:team_id/discussions" + }, + createDiscussionComment: { + deprecated: "octokit.teams.createDiscussionComment() has been renamed to octokit.teams.createDiscussionCommentLegacy() (2020-01-16)", + method: "POST", + params: { + body: { + required: true, + type: "string" + }, + discussion_number: { + required: true, + type: "integer" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/discussions/:discussion_number/comments" + }, + createDiscussionCommentInOrg: { + method: "POST", + params: { + body: { + required: true, + type: "string" + }, + discussion_number: { + required: true, + type: "integer" + }, + org: { + required: true, + type: "string" + }, + team_slug: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments" + }, + createDiscussionCommentLegacy: { + deprecated: "octokit.teams.createDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#create-a-comment-legacy", + method: "POST", + params: { + body: { + required: true, + type: "string" + }, + discussion_number: { + required: true, + type: "integer" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/discussions/:discussion_number/comments" + }, + createDiscussionInOrg: { + method: "POST", + params: { + body: { + required: true, + type: "string" + }, + org: { + required: true, + type: "string" + }, + private: { + type: "boolean" + }, + team_slug: { + required: true, + type: "string" + }, + title: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/discussions" + }, + createDiscussionLegacy: { + deprecated: "octokit.teams.createDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#create-a-discussion-legacy", + method: "POST", + params: { + body: { + required: true, + type: "string" + }, + private: { + type: "boolean" + }, + team_id: { + required: true, + type: "integer" + }, + title: { + required: true, + type: "string" + } + }, + url: "/teams/:team_id/discussions" + }, + delete: { + deprecated: "octokit.teams.delete() has been renamed to octokit.teams.deleteLegacy() (2020-01-16)", + method: "DELETE", + params: { + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id" + }, + deleteDiscussion: { + deprecated: "octokit.teams.deleteDiscussion() has been renamed to octokit.teams.deleteDiscussionLegacy() (2020-01-16)", + method: "DELETE", + params: { + discussion_number: { + required: true, + type: "integer" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/discussions/:discussion_number" + }, + deleteDiscussionComment: { + deprecated: "octokit.teams.deleteDiscussionComment() has been renamed to octokit.teams.deleteDiscussionCommentLegacy() (2020-01-16)", + method: "DELETE", + params: { + comment_number: { + required: true, + type: "integer" + }, + discussion_number: { + required: true, + type: "integer" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number" + }, + deleteDiscussionCommentInOrg: { + method: "DELETE", + params: { + comment_number: { + required: true, + type: "integer" + }, + discussion_number: { + required: true, + type: "integer" + }, + org: { + required: true, + type: "string" + }, + team_slug: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number" + }, + deleteDiscussionCommentLegacy: { + deprecated: "octokit.teams.deleteDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#delete-a-comment-legacy", + method: "DELETE", + params: { + comment_number: { + required: true, + type: "integer" + }, + discussion_number: { + required: true, + type: "integer" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number" + }, + deleteDiscussionInOrg: { + method: "DELETE", + params: { + discussion_number: { + required: true, + type: "integer" + }, + org: { + required: true, + type: "string" + }, + team_slug: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number" + }, + deleteDiscussionLegacy: { + deprecated: "octokit.teams.deleteDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#delete-a-discussion-legacy", + method: "DELETE", + params: { + discussion_number: { + required: true, + type: "integer" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/discussions/:discussion_number" + }, + deleteInOrg: { + method: "DELETE", + params: { + org: { + required: true, + type: "string" + }, + team_slug: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug" + }, + deleteLegacy: { + deprecated: "octokit.teams.deleteLegacy() is deprecated, see https://developer.github.com/v3/teams/#delete-team-legacy", + method: "DELETE", + params: { + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id" + }, + get: { + deprecated: "octokit.teams.get() has been renamed to octokit.teams.getLegacy() (2020-01-16)", + method: "GET", + params: { + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id" + }, + getByName: { + method: "GET", + params: { + org: { + required: true, + type: "string" + }, + team_slug: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug" + }, + getDiscussion: { + deprecated: "octokit.teams.getDiscussion() has been renamed to octokit.teams.getDiscussionLegacy() (2020-01-16)", + method: "GET", + params: { + discussion_number: { + required: true, + type: "integer" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/discussions/:discussion_number" + }, + getDiscussionComment: { + deprecated: "octokit.teams.getDiscussionComment() has been renamed to octokit.teams.getDiscussionCommentLegacy() (2020-01-16)", + method: "GET", + params: { + comment_number: { + required: true, + type: "integer" + }, + discussion_number: { + required: true, + type: "integer" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number" + }, + getDiscussionCommentInOrg: { + method: "GET", + params: { + comment_number: { + required: true, + type: "integer" + }, + discussion_number: { + required: true, + type: "integer" + }, + org: { + required: true, + type: "string" + }, + team_slug: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number" + }, + getDiscussionCommentLegacy: { + deprecated: "octokit.teams.getDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#get-a-single-comment-legacy", + method: "GET", + params: { + comment_number: { + required: true, + type: "integer" + }, + discussion_number: { + required: true, + type: "integer" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number" + }, + getDiscussionInOrg: { + method: "GET", + params: { + discussion_number: { + required: true, + type: "integer" + }, + org: { + required: true, + type: "string" + }, + team_slug: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number" + }, + getDiscussionLegacy: { + deprecated: "octokit.teams.getDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#get-a-single-discussion-legacy", + method: "GET", + params: { + discussion_number: { + required: true, + type: "integer" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/discussions/:discussion_number" + }, + getLegacy: { + deprecated: "octokit.teams.getLegacy() is deprecated, see https://developer.github.com/v3/teams/#get-team-legacy", + method: "GET", + params: { + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id" + }, + getMember: { + deprecated: "octokit.teams.getMember() has been renamed to octokit.teams.getMemberLegacy() (2020-01-16)", + method: "GET", + params: { + team_id: { + required: true, + type: "integer" + }, + username: { + required: true, + type: "string" + } + }, + url: "/teams/:team_id/members/:username" + }, + getMemberLegacy: { + deprecated: "octokit.teams.getMemberLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#get-team-member-legacy", + method: "GET", + params: { + team_id: { + required: true, + type: "integer" + }, + username: { + required: true, + type: "string" + } + }, + url: "/teams/:team_id/members/:username" + }, + getMembership: { + deprecated: "octokit.teams.getMembership() has been renamed to octokit.teams.getMembershipLegacy() (2020-01-16)", + method: "GET", + params: { + team_id: { + required: true, + type: "integer" + }, + username: { + required: true, + type: "string" + } + }, + url: "/teams/:team_id/memberships/:username" + }, + getMembershipInOrg: { + method: "GET", + params: { + org: { + required: true, + type: "string" + }, + team_slug: { + required: true, + type: "string" + }, + username: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/memberships/:username" + }, + getMembershipLegacy: { + deprecated: "octokit.teams.getMembershipLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#get-team-membership-legacy", + method: "GET", + params: { + team_id: { + required: true, + type: "integer" + }, + username: { + required: true, + type: "string" + } + }, + url: "/teams/:team_id/memberships/:username" + }, + list: { + method: "GET", + params: { + org: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + } + }, + url: "/orgs/:org/teams" + }, + listChild: { + deprecated: "octokit.teams.listChild() has been renamed to octokit.teams.listChildLegacy() (2020-01-16)", + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/teams" + }, + listChildInOrg: { + method: "GET", + params: { + org: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + team_slug: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/teams" + }, + listChildLegacy: { + deprecated: "octokit.teams.listChildLegacy() is deprecated, see https://developer.github.com/v3/teams/#list-child-teams-legacy", + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/teams" + }, + listDiscussionComments: { + deprecated: "octokit.teams.listDiscussionComments() has been renamed to octokit.teams.listDiscussionCommentsLegacy() (2020-01-16)", + method: "GET", + params: { + direction: { + enum: ["asc", "desc"], + type: "string" + }, + discussion_number: { + required: true, + type: "integer" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/discussions/:discussion_number/comments" + }, + listDiscussionCommentsInOrg: { + method: "GET", + params: { + direction: { + enum: ["asc", "desc"], + type: "string" + }, + discussion_number: { + required: true, + type: "integer" + }, + org: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + team_slug: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments" + }, + listDiscussionCommentsLegacy: { + deprecated: "octokit.teams.listDiscussionCommentsLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#list-comments-legacy", + method: "GET", + params: { + direction: { + enum: ["asc", "desc"], + type: "string" + }, + discussion_number: { + required: true, + type: "integer" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/discussions/:discussion_number/comments" + }, + listDiscussions: { + deprecated: "octokit.teams.listDiscussions() has been renamed to octokit.teams.listDiscussionsLegacy() (2020-01-16)", + method: "GET", + params: { + direction: { + enum: ["asc", "desc"], + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/discussions" + }, + listDiscussionsInOrg: { + method: "GET", + params: { + direction: { + enum: ["asc", "desc"], + type: "string" + }, + org: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + team_slug: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/discussions" + }, + listDiscussionsLegacy: { + deprecated: "octokit.teams.listDiscussionsLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#list-discussions-legacy", + method: "GET", + params: { + direction: { + enum: ["asc", "desc"], + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/discussions" + }, + listForAuthenticatedUser: { + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + } + }, + url: "/user/teams" + }, + listMembers: { + deprecated: "octokit.teams.listMembers() has been renamed to octokit.teams.listMembersLegacy() (2020-01-16)", + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + role: { + enum: ["member", "maintainer", "all"], + type: "string" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/members" + }, + listMembersInOrg: { + method: "GET", + params: { + org: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + role: { + enum: ["member", "maintainer", "all"], + type: "string" + }, + team_slug: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/members" + }, + listMembersLegacy: { + deprecated: "octokit.teams.listMembersLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#list-team-members-legacy", + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + role: { + enum: ["member", "maintainer", "all"], + type: "string" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/members" + }, + listPendingInvitations: { + deprecated: "octokit.teams.listPendingInvitations() has been renamed to octokit.teams.listPendingInvitationsLegacy() (2020-01-16)", + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/invitations" + }, + listPendingInvitationsInOrg: { + method: "GET", + params: { + org: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + team_slug: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/invitations" + }, + listPendingInvitationsLegacy: { + deprecated: "octokit.teams.listPendingInvitationsLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#list-pending-team-invitations-legacy", + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/invitations" + }, + listProjects: { + deprecated: "octokit.teams.listProjects() has been renamed to octokit.teams.listProjectsLegacy() (2020-01-16)", + headers: { + accept: "application/vnd.github.inertia-preview+json" + }, + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/projects" + }, + listProjectsInOrg: { + headers: { + accept: "application/vnd.github.inertia-preview+json" + }, + method: "GET", + params: { + org: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + team_slug: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/projects" + }, + listProjectsLegacy: { + deprecated: "octokit.teams.listProjectsLegacy() is deprecated, see https://developer.github.com/v3/teams/#list-team-projects-legacy", + headers: { + accept: "application/vnd.github.inertia-preview+json" + }, + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/projects" + }, + listRepos: { + deprecated: "octokit.teams.listRepos() has been renamed to octokit.teams.listReposLegacy() (2020-01-16)", + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/repos" + }, + listReposInOrg: { + method: "GET", + params: { + org: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + team_slug: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/repos" + }, + listReposLegacy: { + deprecated: "octokit.teams.listReposLegacy() is deprecated, see https://developer.github.com/v3/teams/#list-team-repos-legacy", + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/repos" + }, + removeMember: { + deprecated: "octokit.teams.removeMember() has been renamed to octokit.teams.removeMemberLegacy() (2020-01-16)", + method: "DELETE", + params: { + team_id: { + required: true, + type: "integer" + }, + username: { + required: true, + type: "string" + } + }, + url: "/teams/:team_id/members/:username" + }, + removeMemberLegacy: { + deprecated: "octokit.teams.removeMemberLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#remove-team-member-legacy", + method: "DELETE", + params: { + team_id: { + required: true, + type: "integer" + }, + username: { + required: true, + type: "string" + } + }, + url: "/teams/:team_id/members/:username" + }, + removeMembership: { + deprecated: "octokit.teams.removeMembership() has been renamed to octokit.teams.removeMembershipLegacy() (2020-01-16)", + method: "DELETE", + params: { + team_id: { + required: true, + type: "integer" + }, + username: { + required: true, + type: "string" + } + }, + url: "/teams/:team_id/memberships/:username" + }, + removeMembershipInOrg: { + method: "DELETE", + params: { + org: { + required: true, + type: "string" + }, + team_slug: { + required: true, + type: "string" + }, + username: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/memberships/:username" + }, + removeMembershipLegacy: { + deprecated: "octokit.teams.removeMembershipLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#remove-team-membership-legacy", + method: "DELETE", + params: { + team_id: { + required: true, + type: "integer" + }, + username: { + required: true, + type: "string" + } + }, + url: "/teams/:team_id/memberships/:username" + }, + removeProject: { + deprecated: "octokit.teams.removeProject() has been renamed to octokit.teams.removeProjectLegacy() (2020-01-16)", + method: "DELETE", + params: { + project_id: { + required: true, + type: "integer" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/projects/:project_id" + }, + removeProjectInOrg: { + method: "DELETE", + params: { + org: { + required: true, + type: "string" + }, + project_id: { + required: true, + type: "integer" + }, + team_slug: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/projects/:project_id" + }, + removeProjectLegacy: { + deprecated: "octokit.teams.removeProjectLegacy() is deprecated, see https://developer.github.com/v3/teams/#remove-team-project-legacy", + method: "DELETE", + params: { + project_id: { + required: true, + type: "integer" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/projects/:project_id" + }, + removeRepo: { + deprecated: "octokit.teams.removeRepo() has been renamed to octokit.teams.removeRepoLegacy() (2020-01-16)", + method: "DELETE", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/repos/:owner/:repo" + }, + removeRepoInOrg: { + method: "DELETE", + params: { + org: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + team_slug: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/repos/:owner/:repo" + }, + removeRepoLegacy: { + deprecated: "octokit.teams.removeRepoLegacy() is deprecated, see https://developer.github.com/v3/teams/#remove-team-repository-legacy", + method: "DELETE", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/repos/:owner/:repo" + }, + reviewProject: { + deprecated: "octokit.teams.reviewProject() has been renamed to octokit.teams.reviewProjectLegacy() (2020-01-16)", + headers: { + accept: "application/vnd.github.inertia-preview+json" + }, + method: "GET", + params: { + project_id: { + required: true, + type: "integer" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/projects/:project_id" + }, + reviewProjectInOrg: { + headers: { + accept: "application/vnd.github.inertia-preview+json" + }, + method: "GET", + params: { + org: { + required: true, + type: "string" + }, + project_id: { + required: true, + type: "integer" + }, + team_slug: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/projects/:project_id" + }, + reviewProjectLegacy: { + deprecated: "octokit.teams.reviewProjectLegacy() is deprecated, see https://developer.github.com/v3/teams/#review-a-team-project-legacy", + headers: { + accept: "application/vnd.github.inertia-preview+json" + }, + method: "GET", + params: { + project_id: { + required: true, + type: "integer" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/projects/:project_id" + }, + update: { + deprecated: "octokit.teams.update() has been renamed to octokit.teams.updateLegacy() (2020-01-16)", + method: "PATCH", + params: { + description: { + type: "string" + }, + name: { + required: true, + type: "string" + }, + parent_team_id: { + type: "integer" + }, + permission: { + enum: ["pull", "push", "admin"], + type: "string" + }, + privacy: { + enum: ["secret", "closed"], + type: "string" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id" + }, + updateDiscussion: { + deprecated: "octokit.teams.updateDiscussion() has been renamed to octokit.teams.updateDiscussionLegacy() (2020-01-16)", + method: "PATCH", + params: { + body: { + type: "string" + }, + discussion_number: { + required: true, + type: "integer" + }, + team_id: { + required: true, + type: "integer" + }, + title: { + type: "string" + } + }, + url: "/teams/:team_id/discussions/:discussion_number" + }, + updateDiscussionComment: { + deprecated: "octokit.teams.updateDiscussionComment() has been renamed to octokit.teams.updateDiscussionCommentLegacy() (2020-01-16)", + method: "PATCH", + params: { + body: { + required: true, + type: "string" + }, + comment_number: { + required: true, + type: "integer" + }, + discussion_number: { + required: true, + type: "integer" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number" + }, + updateDiscussionCommentInOrg: { + method: "PATCH", + params: { + body: { + required: true, + type: "string" + }, + comment_number: { + required: true, + type: "integer" + }, + discussion_number: { + required: true, + type: "integer" + }, + org: { + required: true, + type: "string" + }, + team_slug: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number" + }, + updateDiscussionCommentLegacy: { + deprecated: "octokit.teams.updateDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#edit-a-comment-legacy", + method: "PATCH", + params: { + body: { + required: true, + type: "string" + }, + comment_number: { + required: true, + type: "integer" + }, + discussion_number: { + required: true, + type: "integer" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number" + }, + updateDiscussionInOrg: { + method: "PATCH", + params: { + body: { + type: "string" + }, + discussion_number: { + required: true, + type: "integer" + }, + org: { + required: true, + type: "string" + }, + team_slug: { + required: true, + type: "string" + }, + title: { + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number" + }, + updateDiscussionLegacy: { + deprecated: "octokit.teams.updateDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#edit-a-discussion-legacy", + method: "PATCH", + params: { + body: { + type: "string" + }, + discussion_number: { + required: true, + type: "integer" + }, + team_id: { + required: true, + type: "integer" + }, + title: { + type: "string" + } + }, + url: "/teams/:team_id/discussions/:discussion_number" + }, + updateInOrg: { + method: "PATCH", + params: { + description: { + type: "string" + }, + name: { + required: true, + type: "string" + }, + org: { + required: true, + type: "string" + }, + parent_team_id: { + type: "integer" + }, + permission: { + enum: ["pull", "push", "admin"], + type: "string" + }, + privacy: { + enum: ["secret", "closed"], + type: "string" + }, + team_slug: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug" + }, + updateLegacy: { + deprecated: "octokit.teams.updateLegacy() is deprecated, see https://developer.github.com/v3/teams/#edit-team-legacy", + method: "PATCH", + params: { + description: { + type: "string" + }, + name: { + required: true, + type: "string" + }, + parent_team_id: { + type: "integer" + }, + permission: { + enum: ["pull", "push", "admin"], + type: "string" + }, + privacy: { + enum: ["secret", "closed"], + type: "string" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id" + } + }, + users: { + addEmails: { + method: "POST", + params: { + emails: { + required: true, + type: "string[]" + } + }, + url: "/user/emails" + }, + block: { + method: "PUT", + params: { + username: { + required: true, + type: "string" + } + }, + url: "/user/blocks/:username" + }, + checkBlocked: { + method: "GET", + params: { + username: { + required: true, + type: "string" + } + }, + url: "/user/blocks/:username" + }, + checkFollowing: { + method: "GET", + params: { + username: { + required: true, + type: "string" + } + }, + url: "/user/following/:username" + }, + checkFollowingForUser: { + method: "GET", + params: { + target_user: { + required: true, + type: "string" + }, + username: { + required: true, + type: "string" + } + }, + url: "/users/:username/following/:target_user" + }, + createGpgKey: { + method: "POST", + params: { + armored_public_key: { + type: "string" + } + }, + url: "/user/gpg_keys" + }, + createPublicKey: { + method: "POST", + params: { + key: { + type: "string" + }, + title: { + type: "string" + } + }, + url: "/user/keys" + }, + deleteEmails: { + method: "DELETE", + params: { + emails: { + required: true, + type: "string[]" + } + }, + url: "/user/emails" + }, + deleteGpgKey: { + method: "DELETE", + params: { + gpg_key_id: { + required: true, + type: "integer" + } + }, + url: "/user/gpg_keys/:gpg_key_id" + }, + deletePublicKey: { + method: "DELETE", + params: { + key_id: { + required: true, + type: "integer" + } + }, + url: "/user/keys/:key_id" + }, + follow: { + method: "PUT", + params: { + username: { + required: true, + type: "string" + } + }, + url: "/user/following/:username" + }, + getAuthenticated: { + method: "GET", + params: {}, + url: "/user" + }, + getByUsername: { + method: "GET", + params: { + username: { + required: true, + type: "string" + } + }, + url: "/users/:username" + }, + getContextForUser: { + method: "GET", + params: { + subject_id: { + type: "string" + }, + subject_type: { + enum: ["organization", "repository", "issue", "pull_request"], + type: "string" + }, + username: { + required: true, + type: "string" + } + }, + url: "/users/:username/hovercard" + }, + getGpgKey: { + method: "GET", + params: { + gpg_key_id: { + required: true, + type: "integer" + } + }, + url: "/user/gpg_keys/:gpg_key_id" + }, + getPublicKey: { + method: "GET", + params: { + key_id: { + required: true, + type: "integer" + } + }, + url: "/user/keys/:key_id" + }, + list: { + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + since: { + type: "string" + } + }, + url: "/users" + }, + listBlocked: { + method: "GET", + params: {}, + url: "/user/blocks" + }, + listEmails: { + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + } + }, + url: "/user/emails" + }, + listFollowersForAuthenticatedUser: { + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + } + }, + url: "/user/followers" + }, + listFollowersForUser: { + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + username: { + required: true, + type: "string" + } + }, + url: "/users/:username/followers" + }, + listFollowingForAuthenticatedUser: { + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + } + }, + url: "/user/following" + }, + listFollowingForUser: { + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + username: { + required: true, + type: "string" + } + }, + url: "/users/:username/following" + }, + listGpgKeys: { + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + } + }, + url: "/user/gpg_keys" + }, + listGpgKeysForUser: { + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + username: { + required: true, + type: "string" + } + }, + url: "/users/:username/gpg_keys" + }, + listPublicEmails: { + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + } + }, + url: "/user/public_emails" + }, + listPublicKeys: { + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + } + }, + url: "/user/keys" + }, + listPublicKeysForUser: { + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + username: { + required: true, + type: "string" + } + }, + url: "/users/:username/keys" + }, + togglePrimaryEmailVisibility: { + method: "PATCH", + params: { + email: { + required: true, + type: "string" + }, + visibility: { + required: true, + type: "string" + } + }, + url: "/user/email/visibility" + }, + unblock: { + method: "DELETE", + params: { + username: { + required: true, + type: "string" + } + }, + url: "/user/blocks/:username" + }, + unfollow: { + method: "DELETE", + params: { + username: { + required: true, + type: "string" + } + }, + url: "/user/following/:username" + }, + updateAuthenticated: { + method: "PATCH", + params: { + bio: { + type: "string" + }, + blog: { + type: "string" + }, + company: { + type: "string" + }, + email: { + type: "string" + }, + hireable: { + type: "boolean" + }, + location: { + type: "string" + }, + name: { + type: "string" + } + }, + url: "/user" + } + } +}; + +const VERSION = "2.4.0"; + +function registerEndpoints(octokit, routes) { + Object.keys(routes).forEach(namespaceName => { + if (!octokit[namespaceName]) { + octokit[namespaceName] = {}; + } + + Object.keys(routes[namespaceName]).forEach(apiName => { + const apiOptions = routes[namespaceName][apiName]; + const endpointDefaults = ["method", "url", "headers"].reduce((map, key) => { + if (typeof apiOptions[key] !== "undefined") { + map[key] = apiOptions[key]; + } + + return map; + }, {}); + endpointDefaults.request = { + validate: apiOptions.params + }; + let request = octokit.request.defaults(endpointDefaults); // patch request & endpoint methods to support deprecated parameters. + // Not the most elegant solution, but we don’t want to move deprecation + // logic into octokit/endpoint.js as it’s out of scope + + const hasDeprecatedParam = Object.keys(apiOptions.params || {}).find(key => apiOptions.params[key].deprecated); + + if (hasDeprecatedParam) { + const patch = patchForDeprecation.bind(null, octokit, apiOptions); + request = patch(octokit.request.defaults(endpointDefaults), `.${namespaceName}.${apiName}()`); + request.endpoint = patch(request.endpoint, `.${namespaceName}.${apiName}.endpoint()`); + request.endpoint.merge = patch(request.endpoint.merge, `.${namespaceName}.${apiName}.endpoint.merge()`); + } + + if (apiOptions.deprecated) { + octokit[namespaceName][apiName] = Object.assign(function deprecatedEndpointMethod() { + octokit.log.warn(new deprecation.Deprecation(`[@octokit/rest] ${apiOptions.deprecated}`)); + octokit[namespaceName][apiName] = request; + return request.apply(null, arguments); + }, request); + return; + } + + octokit[namespaceName][apiName] = request; + }); + }); +} + +function patchForDeprecation(octokit, apiOptions, method, methodName) { + const patchedMethod = options => { + options = Object.assign({}, options); + Object.keys(options).forEach(key => { + if (apiOptions.params[key] && apiOptions.params[key].deprecated) { + const aliasKey = apiOptions.params[key].alias; + octokit.log.warn(new deprecation.Deprecation(`[@octokit/rest] "${key}" parameter is deprecated for "${methodName}". Use "${aliasKey}" instead`)); + + if (!(aliasKey in options)) { + options[aliasKey] = options[key]; + } + + delete options[key]; + } + }); + return method(options); + }; + + Object.keys(method).forEach(key => { + patchedMethod[key] = method[key]; + }); + return patchedMethod; +} + +/** + * This plugin is a 1:1 copy of internal @octokit/rest plugins. The primary + * goal is to rebuild @octokit/rest on top of @octokit/core. Once that is + * done, we will remove the registerEndpoints methods and return the methods + * directly as with the other plugins. At that point we will also remove the + * legacy workarounds and deprecations. + * + * See the plan at + * https://github.com/octokit/plugin-rest-endpoint-methods.js/pull/1 + */ + +function restEndpointMethods(octokit) { + // @ts-ignore + octokit.registerEndpoints = registerEndpoints.bind(null, octokit); + registerEndpoints(octokit, endpointsByScope); // Aliasing scopes for backward compatibility + // See https://github.com/octokit/rest.js/pull/1134 + + [["gitdata", "git"], ["authorization", "oauthAuthorizations"], ["pullRequests", "pulls"]].forEach(([deprecatedScope, scope]) => { + Object.defineProperty(octokit, deprecatedScope, { + get() { + octokit.log.warn( // @ts-ignore + new deprecation.Deprecation(`[@octokit/plugin-rest-endpoint-methods] "octokit.${deprecatedScope}.*" methods are deprecated, use "octokit.${scope}.*" instead`)); // @ts-ignore + + return octokit[scope]; + } + + }); + }); + return {}; +} +restEndpointMethods.VERSION = VERSION; + +exports.restEndpointMethods = restEndpointMethods; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js.map b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js.map new file mode 100644 index 0000000..32beda9 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/generated/endpoints.js","../dist-src/version.js","../dist-src/register-endpoints.js","../dist-src/index.js"],"sourcesContent":["export default {\n actions: {\n cancelWorkflowRun: {\n method: \"POST\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n run_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/actions/runs/:run_id/cancel\"\n },\n createOrUpdateSecretForRepo: {\n method: \"PUT\",\n params: {\n encrypted_value: { type: \"string\" },\n key_id: { type: \"string\" },\n name: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/secrets/:name\"\n },\n createRegistrationToken: {\n method: \"POST\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/runners/registration-token\"\n },\n createRemoveToken: {\n method: \"POST\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/runners/remove-token\"\n },\n deleteArtifact: {\n method: \"DELETE\",\n params: {\n artifact_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/artifacts/:artifact_id\"\n },\n deleteSecretFromRepo: {\n method: \"DELETE\",\n params: {\n name: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/secrets/:name\"\n },\n downloadArtifact: {\n method: \"GET\",\n params: {\n archive_format: { required: true, type: \"string\" },\n artifact_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/artifacts/:artifact_id/:archive_format\"\n },\n getArtifact: {\n method: \"GET\",\n params: {\n artifact_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/artifacts/:artifact_id\"\n },\n getPublicKey: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/secrets/public-key\"\n },\n getSecret: {\n method: \"GET\",\n params: {\n name: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/secrets/:name\"\n },\n getSelfHostedRunner: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n runner_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/actions/runners/:runner_id\"\n },\n getWorkflow: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n workflow_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/actions/workflows/:workflow_id\"\n },\n getWorkflowJob: {\n method: \"GET\",\n params: {\n job_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/jobs/:job_id\"\n },\n getWorkflowRun: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n run_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/actions/runs/:run_id\"\n },\n listDownloadsForSelfHostedRunnerApplication: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/runners/downloads\"\n },\n listJobsForWorkflowRun: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n run_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/actions/runs/:run_id/jobs\"\n },\n listRepoWorkflowRuns: {\n method: \"GET\",\n params: {\n actor: { type: \"string\" },\n branch: { type: \"string\" },\n event: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n status: { enum: [\"completed\", \"status\", \"conclusion\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/runs\"\n },\n listRepoWorkflows: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/workflows\"\n },\n listSecretsForRepo: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/secrets\"\n },\n listSelfHostedRunnersForRepo: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/runners\"\n },\n listWorkflowJobLogs: {\n method: \"GET\",\n params: {\n job_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/jobs/:job_id/logs\"\n },\n listWorkflowRunArtifacts: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n run_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/actions/runs/:run_id/artifacts\"\n },\n listWorkflowRunLogs: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n run_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/actions/runs/:run_id/logs\"\n },\n listWorkflowRuns: {\n method: \"GET\",\n params: {\n actor: { type: \"string\" },\n branch: { type: \"string\" },\n event: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n status: { enum: [\"completed\", \"status\", \"conclusion\"], type: \"string\" },\n workflow_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/actions/workflows/:workflow_id/runs\"\n },\n reRunWorkflow: {\n method: \"POST\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n run_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/actions/runs/:run_id/rerun\"\n },\n removeSelfHostedRunner: {\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n runner_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/actions/runners/:runner_id\"\n }\n },\n activity: {\n checkStarringRepo: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/user/starred/:owner/:repo\"\n },\n deleteRepoSubscription: {\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/subscription\"\n },\n deleteThreadSubscription: {\n method: \"DELETE\",\n params: { thread_id: { required: true, type: \"integer\" } },\n url: \"/notifications/threads/:thread_id/subscription\"\n },\n getRepoSubscription: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/subscription\"\n },\n getThread: {\n method: \"GET\",\n params: { thread_id: { required: true, type: \"integer\" } },\n url: \"/notifications/threads/:thread_id\"\n },\n getThreadSubscription: {\n method: \"GET\",\n params: { thread_id: { required: true, type: \"integer\" } },\n url: \"/notifications/threads/:thread_id/subscription\"\n },\n listEventsForOrg: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/events/orgs/:org\"\n },\n listEventsForUser: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/events\"\n },\n listFeeds: { method: \"GET\", params: {}, url: \"/feeds\" },\n listNotifications: {\n method: \"GET\",\n params: {\n all: { type: \"boolean\" },\n before: { type: \"string\" },\n page: { type: \"integer\" },\n participating: { type: \"boolean\" },\n per_page: { type: \"integer\" },\n since: { type: \"string\" }\n },\n url: \"/notifications\"\n },\n listNotificationsForRepo: {\n method: \"GET\",\n params: {\n all: { type: \"boolean\" },\n before: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n participating: { type: \"boolean\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n since: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/notifications\"\n },\n listPublicEvents: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/events\"\n },\n listPublicEventsForOrg: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/orgs/:org/events\"\n },\n listPublicEventsForRepoNetwork: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/networks/:owner/:repo/events\"\n },\n listPublicEventsForUser: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/events/public\"\n },\n listReceivedEventsForUser: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/received_events\"\n },\n listReceivedPublicEventsForUser: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/received_events/public\"\n },\n listRepoEvents: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/events\"\n },\n listReposStarredByAuthenticatedUser: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n sort: { enum: [\"created\", \"updated\"], type: \"string\" }\n },\n url: \"/user/starred\"\n },\n listReposStarredByUser: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n sort: { enum: [\"created\", \"updated\"], type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/starred\"\n },\n listReposWatchedByUser: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/subscriptions\"\n },\n listStargazersForRepo: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/stargazers\"\n },\n listWatchedReposForAuthenticatedUser: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/subscriptions\"\n },\n listWatchersForRepo: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/subscribers\"\n },\n markAsRead: {\n method: \"PUT\",\n params: { last_read_at: { type: \"string\" } },\n url: \"/notifications\"\n },\n markNotificationsAsReadForRepo: {\n method: \"PUT\",\n params: {\n last_read_at: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/notifications\"\n },\n markThreadAsRead: {\n method: \"PATCH\",\n params: { thread_id: { required: true, type: \"integer\" } },\n url: \"/notifications/threads/:thread_id\"\n },\n setRepoSubscription: {\n method: \"PUT\",\n params: {\n ignored: { type: \"boolean\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n subscribed: { type: \"boolean\" }\n },\n url: \"/repos/:owner/:repo/subscription\"\n },\n setThreadSubscription: {\n method: \"PUT\",\n params: {\n ignored: { type: \"boolean\" },\n thread_id: { required: true, type: \"integer\" }\n },\n url: \"/notifications/threads/:thread_id/subscription\"\n },\n starRepo: {\n method: \"PUT\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/user/starred/:owner/:repo\"\n },\n unstarRepo: {\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/user/starred/:owner/:repo\"\n }\n },\n apps: {\n addRepoToInstallation: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"PUT\",\n params: {\n installation_id: { required: true, type: \"integer\" },\n repository_id: { required: true, type: \"integer\" }\n },\n url: \"/user/installations/:installation_id/repositories/:repository_id\"\n },\n checkAccountIsAssociatedWithAny: {\n method: \"GET\",\n params: { account_id: { required: true, type: \"integer\" } },\n url: \"/marketplace_listing/accounts/:account_id\"\n },\n checkAccountIsAssociatedWithAnyStubbed: {\n method: \"GET\",\n params: { account_id: { required: true, type: \"integer\" } },\n url: \"/marketplace_listing/stubbed/accounts/:account_id\"\n },\n checkAuthorization: {\n deprecated: \"octokit.apps.checkAuthorization() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#check-an-authorization\",\n method: \"GET\",\n params: {\n access_token: { required: true, type: \"string\" },\n client_id: { required: true, type: \"string\" }\n },\n url: \"/applications/:client_id/tokens/:access_token\"\n },\n checkToken: {\n headers: { accept: \"application/vnd.github.doctor-strange-preview+json\" },\n method: \"POST\",\n params: {\n access_token: { type: \"string\" },\n client_id: { required: true, type: \"string\" }\n },\n url: \"/applications/:client_id/token\"\n },\n createContentAttachment: {\n headers: { accept: \"application/vnd.github.corsair-preview+json\" },\n method: \"POST\",\n params: {\n body: { required: true, type: \"string\" },\n content_reference_id: { required: true, type: \"integer\" },\n title: { required: true, type: \"string\" }\n },\n url: \"/content_references/:content_reference_id/attachments\"\n },\n createFromManifest: {\n headers: { accept: \"application/vnd.github.fury-preview+json\" },\n method: \"POST\",\n params: { code: { required: true, type: \"string\" } },\n url: \"/app-manifests/:code/conversions\"\n },\n createInstallationToken: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"POST\",\n params: {\n installation_id: { required: true, type: \"integer\" },\n permissions: { type: \"object\" },\n repository_ids: { type: \"integer[]\" }\n },\n url: \"/app/installations/:installation_id/access_tokens\"\n },\n deleteAuthorization: {\n headers: { accept: \"application/vnd.github.doctor-strange-preview+json\" },\n method: \"DELETE\",\n params: {\n access_token: { type: \"string\" },\n client_id: { required: true, type: \"string\" }\n },\n url: \"/applications/:client_id/grant\"\n },\n deleteInstallation: {\n headers: {\n accept: \"application/vnd.github.gambit-preview+json,application/vnd.github.machine-man-preview+json\"\n },\n method: \"DELETE\",\n params: { installation_id: { required: true, type: \"integer\" } },\n url: \"/app/installations/:installation_id\"\n },\n deleteToken: {\n headers: { accept: \"application/vnd.github.doctor-strange-preview+json\" },\n method: \"DELETE\",\n params: {\n access_token: { type: \"string\" },\n client_id: { required: true, type: \"string\" }\n },\n url: \"/applications/:client_id/token\"\n },\n findOrgInstallation: {\n deprecated: \"octokit.apps.findOrgInstallation() has been renamed to octokit.apps.getOrgInstallation() (2019-04-10)\",\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: { org: { required: true, type: \"string\" } },\n url: \"/orgs/:org/installation\"\n },\n findRepoInstallation: {\n deprecated: \"octokit.apps.findRepoInstallation() has been renamed to octokit.apps.getRepoInstallation() (2019-04-10)\",\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/installation\"\n },\n findUserInstallation: {\n deprecated: \"octokit.apps.findUserInstallation() has been renamed to octokit.apps.getUserInstallation() (2019-04-10)\",\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: { username: { required: true, type: \"string\" } },\n url: \"/users/:username/installation\"\n },\n getAuthenticated: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: {},\n url: \"/app\"\n },\n getBySlug: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: { app_slug: { required: true, type: \"string\" } },\n url: \"/apps/:app_slug\"\n },\n getInstallation: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: { installation_id: { required: true, type: \"integer\" } },\n url: \"/app/installations/:installation_id\"\n },\n getOrgInstallation: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: { org: { required: true, type: \"string\" } },\n url: \"/orgs/:org/installation\"\n },\n getRepoInstallation: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/installation\"\n },\n getUserInstallation: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: { username: { required: true, type: \"string\" } },\n url: \"/users/:username/installation\"\n },\n listAccountsUserOrOrgOnPlan: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n plan_id: { required: true, type: \"integer\" },\n sort: { enum: [\"created\", \"updated\"], type: \"string\" }\n },\n url: \"/marketplace_listing/plans/:plan_id/accounts\"\n },\n listAccountsUserOrOrgOnPlanStubbed: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n plan_id: { required: true, type: \"integer\" },\n sort: { enum: [\"created\", \"updated\"], type: \"string\" }\n },\n url: \"/marketplace_listing/stubbed/plans/:plan_id/accounts\"\n },\n listInstallationReposForAuthenticatedUser: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: {\n installation_id: { required: true, type: \"integer\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/user/installations/:installation_id/repositories\"\n },\n listInstallations: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/app/installations\"\n },\n listInstallationsForAuthenticatedUser: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/installations\"\n },\n listMarketplacePurchasesForAuthenticatedUser: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/marketplace_purchases\"\n },\n listMarketplacePurchasesForAuthenticatedUserStubbed: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/marketplace_purchases/stubbed\"\n },\n listPlans: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/marketplace_listing/plans\"\n },\n listPlansStubbed: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/marketplace_listing/stubbed/plans\"\n },\n listRepos: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/installation/repositories\"\n },\n removeRepoFromInstallation: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"DELETE\",\n params: {\n installation_id: { required: true, type: \"integer\" },\n repository_id: { required: true, type: \"integer\" }\n },\n url: \"/user/installations/:installation_id/repositories/:repository_id\"\n },\n resetAuthorization: {\n deprecated: \"octokit.apps.resetAuthorization() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#reset-an-authorization\",\n method: \"POST\",\n params: {\n access_token: { required: true, type: \"string\" },\n client_id: { required: true, type: \"string\" }\n },\n url: \"/applications/:client_id/tokens/:access_token\"\n },\n resetToken: {\n headers: { accept: \"application/vnd.github.doctor-strange-preview+json\" },\n method: \"PATCH\",\n params: {\n access_token: { type: \"string\" },\n client_id: { required: true, type: \"string\" }\n },\n url: \"/applications/:client_id/token\"\n },\n revokeAuthorizationForApplication: {\n deprecated: \"octokit.apps.revokeAuthorizationForApplication() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#revoke-an-authorization-for-an-application\",\n method: \"DELETE\",\n params: {\n access_token: { required: true, type: \"string\" },\n client_id: { required: true, type: \"string\" }\n },\n url: \"/applications/:client_id/tokens/:access_token\"\n },\n revokeGrantForApplication: {\n deprecated: \"octokit.apps.revokeGrantForApplication() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#revoke-a-grant-for-an-application\",\n method: \"DELETE\",\n params: {\n access_token: { required: true, type: \"string\" },\n client_id: { required: true, type: \"string\" }\n },\n url: \"/applications/:client_id/grants/:access_token\"\n },\n revokeInstallationToken: {\n headers: { accept: \"application/vnd.github.gambit-preview+json\" },\n method: \"DELETE\",\n params: {},\n url: \"/installation/token\"\n }\n },\n checks: {\n create: {\n headers: { accept: \"application/vnd.github.antiope-preview+json\" },\n method: \"POST\",\n params: {\n actions: { type: \"object[]\" },\n \"actions[].description\": { required: true, type: \"string\" },\n \"actions[].identifier\": { required: true, type: \"string\" },\n \"actions[].label\": { required: true, type: \"string\" },\n completed_at: { type: \"string\" },\n conclusion: {\n enum: [\n \"success\",\n \"failure\",\n \"neutral\",\n \"cancelled\",\n \"timed_out\",\n \"action_required\"\n ],\n type: \"string\"\n },\n details_url: { type: \"string\" },\n external_id: { type: \"string\" },\n head_sha: { required: true, type: \"string\" },\n name: { required: true, type: \"string\" },\n output: { type: \"object\" },\n \"output.annotations\": { type: \"object[]\" },\n \"output.annotations[].annotation_level\": {\n enum: [\"notice\", \"warning\", \"failure\"],\n required: true,\n type: \"string\"\n },\n \"output.annotations[].end_column\": { type: \"integer\" },\n \"output.annotations[].end_line\": { required: true, type: \"integer\" },\n \"output.annotations[].message\": { required: true, type: \"string\" },\n \"output.annotations[].path\": { required: true, type: \"string\" },\n \"output.annotations[].raw_details\": { type: \"string\" },\n \"output.annotations[].start_column\": { type: \"integer\" },\n \"output.annotations[].start_line\": { required: true, type: \"integer\" },\n \"output.annotations[].title\": { type: \"string\" },\n \"output.images\": { type: \"object[]\" },\n \"output.images[].alt\": { required: true, type: \"string\" },\n \"output.images[].caption\": { type: \"string\" },\n \"output.images[].image_url\": { required: true, type: \"string\" },\n \"output.summary\": { required: true, type: \"string\" },\n \"output.text\": { type: \"string\" },\n \"output.title\": { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n started_at: { type: \"string\" },\n status: { enum: [\"queued\", \"in_progress\", \"completed\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/check-runs\"\n },\n createSuite: {\n headers: { accept: \"application/vnd.github.antiope-preview+json\" },\n method: \"POST\",\n params: {\n head_sha: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/check-suites\"\n },\n get: {\n headers: { accept: \"application/vnd.github.antiope-preview+json\" },\n method: \"GET\",\n params: {\n check_run_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/check-runs/:check_run_id\"\n },\n getSuite: {\n headers: { accept: \"application/vnd.github.antiope-preview+json\" },\n method: \"GET\",\n params: {\n check_suite_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/check-suites/:check_suite_id\"\n },\n listAnnotations: {\n headers: { accept: \"application/vnd.github.antiope-preview+json\" },\n method: \"GET\",\n params: {\n check_run_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/check-runs/:check_run_id/annotations\"\n },\n listForRef: {\n headers: { accept: \"application/vnd.github.antiope-preview+json\" },\n method: \"GET\",\n params: {\n check_name: { type: \"string\" },\n filter: { enum: [\"latest\", \"all\"], type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n ref: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n status: { enum: [\"queued\", \"in_progress\", \"completed\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/commits/:ref/check-runs\"\n },\n listForSuite: {\n headers: { accept: \"application/vnd.github.antiope-preview+json\" },\n method: \"GET\",\n params: {\n check_name: { type: \"string\" },\n check_suite_id: { required: true, type: \"integer\" },\n filter: { enum: [\"latest\", \"all\"], type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n status: { enum: [\"queued\", \"in_progress\", \"completed\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/check-suites/:check_suite_id/check-runs\"\n },\n listSuitesForRef: {\n headers: { accept: \"application/vnd.github.antiope-preview+json\" },\n method: \"GET\",\n params: {\n app_id: { type: \"integer\" },\n check_name: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n ref: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/commits/:ref/check-suites\"\n },\n rerequestSuite: {\n headers: { accept: \"application/vnd.github.antiope-preview+json\" },\n method: \"POST\",\n params: {\n check_suite_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/check-suites/:check_suite_id/rerequest\"\n },\n setSuitesPreferences: {\n headers: { accept: \"application/vnd.github.antiope-preview+json\" },\n method: \"PATCH\",\n params: {\n auto_trigger_checks: { type: \"object[]\" },\n \"auto_trigger_checks[].app_id\": { required: true, type: \"integer\" },\n \"auto_trigger_checks[].setting\": { required: true, type: \"boolean\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/check-suites/preferences\"\n },\n update: {\n headers: { accept: \"application/vnd.github.antiope-preview+json\" },\n method: \"PATCH\",\n params: {\n actions: { type: \"object[]\" },\n \"actions[].description\": { required: true, type: \"string\" },\n \"actions[].identifier\": { required: true, type: \"string\" },\n \"actions[].label\": { required: true, type: \"string\" },\n check_run_id: { required: true, type: \"integer\" },\n completed_at: { type: \"string\" },\n conclusion: {\n enum: [\n \"success\",\n \"failure\",\n \"neutral\",\n \"cancelled\",\n \"timed_out\",\n \"action_required\"\n ],\n type: \"string\"\n },\n details_url: { type: \"string\" },\n external_id: { type: \"string\" },\n name: { type: \"string\" },\n output: { type: \"object\" },\n \"output.annotations\": { type: \"object[]\" },\n \"output.annotations[].annotation_level\": {\n enum: [\"notice\", \"warning\", \"failure\"],\n required: true,\n type: \"string\"\n },\n \"output.annotations[].end_column\": { type: \"integer\" },\n \"output.annotations[].end_line\": { required: true, type: \"integer\" },\n \"output.annotations[].message\": { required: true, type: \"string\" },\n \"output.annotations[].path\": { required: true, type: \"string\" },\n \"output.annotations[].raw_details\": { type: \"string\" },\n \"output.annotations[].start_column\": { type: \"integer\" },\n \"output.annotations[].start_line\": { required: true, type: \"integer\" },\n \"output.annotations[].title\": { type: \"string\" },\n \"output.images\": { type: \"object[]\" },\n \"output.images[].alt\": { required: true, type: \"string\" },\n \"output.images[].caption\": { type: \"string\" },\n \"output.images[].image_url\": { required: true, type: \"string\" },\n \"output.summary\": { required: true, type: \"string\" },\n \"output.text\": { type: \"string\" },\n \"output.title\": { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n started_at: { type: \"string\" },\n status: { enum: [\"queued\", \"in_progress\", \"completed\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/check-runs/:check_run_id\"\n }\n },\n codesOfConduct: {\n getConductCode: {\n headers: { accept: \"application/vnd.github.scarlet-witch-preview+json\" },\n method: \"GET\",\n params: { key: { required: true, type: \"string\" } },\n url: \"/codes_of_conduct/:key\"\n },\n getForRepo: {\n headers: { accept: \"application/vnd.github.scarlet-witch-preview+json\" },\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/community/code_of_conduct\"\n },\n listConductCodes: {\n headers: { accept: \"application/vnd.github.scarlet-witch-preview+json\" },\n method: \"GET\",\n params: {},\n url: \"/codes_of_conduct\"\n }\n },\n emojis: { get: { method: \"GET\", params: {}, url: \"/emojis\" } },\n gists: {\n checkIsStarred: {\n method: \"GET\",\n params: { gist_id: { required: true, type: \"string\" } },\n url: \"/gists/:gist_id/star\"\n },\n create: {\n method: \"POST\",\n params: {\n description: { type: \"string\" },\n files: { required: true, type: \"object\" },\n \"files.content\": { type: \"string\" },\n public: { type: \"boolean\" }\n },\n url: \"/gists\"\n },\n createComment: {\n method: \"POST\",\n params: {\n body: { required: true, type: \"string\" },\n gist_id: { required: true, type: \"string\" }\n },\n url: \"/gists/:gist_id/comments\"\n },\n delete: {\n method: \"DELETE\",\n params: { gist_id: { required: true, type: \"string\" } },\n url: \"/gists/:gist_id\"\n },\n deleteComment: {\n method: \"DELETE\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n gist_id: { required: true, type: \"string\" }\n },\n url: \"/gists/:gist_id/comments/:comment_id\"\n },\n fork: {\n method: \"POST\",\n params: { gist_id: { required: true, type: \"string\" } },\n url: \"/gists/:gist_id/forks\"\n },\n get: {\n method: \"GET\",\n params: { gist_id: { required: true, type: \"string\" } },\n url: \"/gists/:gist_id\"\n },\n getComment: {\n method: \"GET\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n gist_id: { required: true, type: \"string\" }\n },\n url: \"/gists/:gist_id/comments/:comment_id\"\n },\n getRevision: {\n method: \"GET\",\n params: {\n gist_id: { required: true, type: \"string\" },\n sha: { required: true, type: \"string\" }\n },\n url: \"/gists/:gist_id/:sha\"\n },\n list: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n since: { type: \"string\" }\n },\n url: \"/gists\"\n },\n listComments: {\n method: \"GET\",\n params: {\n gist_id: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/gists/:gist_id/comments\"\n },\n listCommits: {\n method: \"GET\",\n params: {\n gist_id: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/gists/:gist_id/commits\"\n },\n listForks: {\n method: \"GET\",\n params: {\n gist_id: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/gists/:gist_id/forks\"\n },\n listPublic: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n since: { type: \"string\" }\n },\n url: \"/gists/public\"\n },\n listPublicForUser: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n since: { type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/gists\"\n },\n listStarred: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n since: { type: \"string\" }\n },\n url: \"/gists/starred\"\n },\n star: {\n method: \"PUT\",\n params: { gist_id: { required: true, type: \"string\" } },\n url: \"/gists/:gist_id/star\"\n },\n unstar: {\n method: \"DELETE\",\n params: { gist_id: { required: true, type: \"string\" } },\n url: \"/gists/:gist_id/star\"\n },\n update: {\n method: \"PATCH\",\n params: {\n description: { type: \"string\" },\n files: { type: \"object\" },\n \"files.content\": { type: \"string\" },\n \"files.filename\": { type: \"string\" },\n gist_id: { required: true, type: \"string\" }\n },\n url: \"/gists/:gist_id\"\n },\n updateComment: {\n method: \"PATCH\",\n params: {\n body: { required: true, type: \"string\" },\n comment_id: { required: true, type: \"integer\" },\n gist_id: { required: true, type: \"string\" }\n },\n url: \"/gists/:gist_id/comments/:comment_id\"\n }\n },\n git: {\n createBlob: {\n method: \"POST\",\n params: {\n content: { required: true, type: \"string\" },\n encoding: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/git/blobs\"\n },\n createCommit: {\n method: \"POST\",\n params: {\n author: { type: \"object\" },\n \"author.date\": { type: \"string\" },\n \"author.email\": { type: \"string\" },\n \"author.name\": { type: \"string\" },\n committer: { type: \"object\" },\n \"committer.date\": { type: \"string\" },\n \"committer.email\": { type: \"string\" },\n \"committer.name\": { type: \"string\" },\n message: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n parents: { required: true, type: \"string[]\" },\n repo: { required: true, type: \"string\" },\n signature: { type: \"string\" },\n tree: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/git/commits\"\n },\n createRef: {\n method: \"POST\",\n params: {\n owner: { required: true, type: \"string\" },\n ref: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n sha: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/git/refs\"\n },\n createTag: {\n method: \"POST\",\n params: {\n message: { required: true, type: \"string\" },\n object: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n tag: { required: true, type: \"string\" },\n tagger: { type: \"object\" },\n \"tagger.date\": { type: \"string\" },\n \"tagger.email\": { type: \"string\" },\n \"tagger.name\": { type: \"string\" },\n type: {\n enum: [\"commit\", \"tree\", \"blob\"],\n required: true,\n type: \"string\"\n }\n },\n url: \"/repos/:owner/:repo/git/tags\"\n },\n createTree: {\n method: \"POST\",\n params: {\n base_tree: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n tree: { required: true, type: \"object[]\" },\n \"tree[].content\": { type: \"string\" },\n \"tree[].mode\": {\n enum: [\"100644\", \"100755\", \"040000\", \"160000\", \"120000\"],\n type: \"string\"\n },\n \"tree[].path\": { type: \"string\" },\n \"tree[].sha\": { allowNull: true, type: \"string\" },\n \"tree[].type\": { enum: [\"blob\", \"tree\", \"commit\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/git/trees\"\n },\n deleteRef: {\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n ref: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/git/refs/:ref\"\n },\n getBlob: {\n method: \"GET\",\n params: {\n file_sha: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/git/blobs/:file_sha\"\n },\n getCommit: {\n method: \"GET\",\n params: {\n commit_sha: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/git/commits/:commit_sha\"\n },\n getRef: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n ref: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/git/ref/:ref\"\n },\n getTag: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n tag_sha: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/git/tags/:tag_sha\"\n },\n getTree: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n recursive: { enum: [\"1\"], type: \"integer\" },\n repo: { required: true, type: \"string\" },\n tree_sha: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/git/trees/:tree_sha\"\n },\n listMatchingRefs: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n ref: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/git/matching-refs/:ref\"\n },\n listRefs: {\n method: \"GET\",\n params: {\n namespace: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/git/refs/:namespace\"\n },\n updateRef: {\n method: \"PATCH\",\n params: {\n force: { type: \"boolean\" },\n owner: { required: true, type: \"string\" },\n ref: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n sha: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/git/refs/:ref\"\n }\n },\n gitignore: {\n getTemplate: {\n method: \"GET\",\n params: { name: { required: true, type: \"string\" } },\n url: \"/gitignore/templates/:name\"\n },\n listTemplates: { method: \"GET\", params: {}, url: \"/gitignore/templates\" }\n },\n interactions: {\n addOrUpdateRestrictionsForOrg: {\n headers: { accept: \"application/vnd.github.sombra-preview+json\" },\n method: \"PUT\",\n params: {\n limit: {\n enum: [\"existing_users\", \"contributors_only\", \"collaborators_only\"],\n required: true,\n type: \"string\"\n },\n org: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/interaction-limits\"\n },\n addOrUpdateRestrictionsForRepo: {\n headers: { accept: \"application/vnd.github.sombra-preview+json\" },\n method: \"PUT\",\n params: {\n limit: {\n enum: [\"existing_users\", \"contributors_only\", \"collaborators_only\"],\n required: true,\n type: \"string\"\n },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/interaction-limits\"\n },\n getRestrictionsForOrg: {\n headers: { accept: \"application/vnd.github.sombra-preview+json\" },\n method: \"GET\",\n params: { org: { required: true, type: \"string\" } },\n url: \"/orgs/:org/interaction-limits\"\n },\n getRestrictionsForRepo: {\n headers: { accept: \"application/vnd.github.sombra-preview+json\" },\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/interaction-limits\"\n },\n removeRestrictionsForOrg: {\n headers: { accept: \"application/vnd.github.sombra-preview+json\" },\n method: \"DELETE\",\n params: { org: { required: true, type: \"string\" } },\n url: \"/orgs/:org/interaction-limits\"\n },\n removeRestrictionsForRepo: {\n headers: { accept: \"application/vnd.github.sombra-preview+json\" },\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/interaction-limits\"\n }\n },\n issues: {\n addAssignees: {\n method: \"POST\",\n params: {\n assignees: { type: \"string[]\" },\n issue_number: { required: true, type: \"integer\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/assignees\"\n },\n addLabels: {\n method: \"POST\",\n params: {\n issue_number: { required: true, type: \"integer\" },\n labels: { required: true, type: \"string[]\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/labels\"\n },\n checkAssignee: {\n method: \"GET\",\n params: {\n assignee: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/assignees/:assignee\"\n },\n create: {\n method: \"POST\",\n params: {\n assignee: { type: \"string\" },\n assignees: { type: \"string[]\" },\n body: { type: \"string\" },\n labels: { type: \"string[]\" },\n milestone: { type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n title: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues\"\n },\n createComment: {\n method: \"POST\",\n params: {\n body: { required: true, type: \"string\" },\n issue_number: { required: true, type: \"integer\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/comments\"\n },\n createLabel: {\n method: \"POST\",\n params: {\n color: { required: true, type: \"string\" },\n description: { type: \"string\" },\n name: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/labels\"\n },\n createMilestone: {\n method: \"POST\",\n params: {\n description: { type: \"string\" },\n due_on: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n state: { enum: [\"open\", \"closed\"], type: \"string\" },\n title: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/milestones\"\n },\n deleteComment: {\n method: \"DELETE\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/comments/:comment_id\"\n },\n deleteLabel: {\n method: \"DELETE\",\n params: {\n name: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/labels/:name\"\n },\n deleteMilestone: {\n method: \"DELETE\",\n params: {\n milestone_number: { required: true, type: \"integer\" },\n number: {\n alias: \"milestone_number\",\n deprecated: true,\n type: \"integer\"\n },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/milestones/:milestone_number\"\n },\n get: {\n method: \"GET\",\n params: {\n issue_number: { required: true, type: \"integer\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number\"\n },\n getComment: {\n method: \"GET\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/comments/:comment_id\"\n },\n getEvent: {\n method: \"GET\",\n params: {\n event_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/events/:event_id\"\n },\n getLabel: {\n method: \"GET\",\n params: {\n name: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/labels/:name\"\n },\n getMilestone: {\n method: \"GET\",\n params: {\n milestone_number: { required: true, type: \"integer\" },\n number: {\n alias: \"milestone_number\",\n deprecated: true,\n type: \"integer\"\n },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/milestones/:milestone_number\"\n },\n list: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n filter: {\n enum: [\"assigned\", \"created\", \"mentioned\", \"subscribed\", \"all\"],\n type: \"string\"\n },\n labels: { type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n since: { type: \"string\" },\n sort: { enum: [\"created\", \"updated\", \"comments\"], type: \"string\" },\n state: { enum: [\"open\", \"closed\", \"all\"], type: \"string\" }\n },\n url: \"/issues\"\n },\n listAssignees: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/assignees\"\n },\n listComments: {\n method: \"GET\",\n params: {\n issue_number: { required: true, type: \"integer\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n since: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/comments\"\n },\n listCommentsForRepo: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n since: { type: \"string\" },\n sort: { enum: [\"created\", \"updated\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/comments\"\n },\n listEvents: {\n method: \"GET\",\n params: {\n issue_number: { required: true, type: \"integer\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/events\"\n },\n listEventsForRepo: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/events\"\n },\n listEventsForTimeline: {\n headers: { accept: \"application/vnd.github.mockingbird-preview+json\" },\n method: \"GET\",\n params: {\n issue_number: { required: true, type: \"integer\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/timeline\"\n },\n listForAuthenticatedUser: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n filter: {\n enum: [\"assigned\", \"created\", \"mentioned\", \"subscribed\", \"all\"],\n type: \"string\"\n },\n labels: { type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n since: { type: \"string\" },\n sort: { enum: [\"created\", \"updated\", \"comments\"], type: \"string\" },\n state: { enum: [\"open\", \"closed\", \"all\"], type: \"string\" }\n },\n url: \"/user/issues\"\n },\n listForOrg: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n filter: {\n enum: [\"assigned\", \"created\", \"mentioned\", \"subscribed\", \"all\"],\n type: \"string\"\n },\n labels: { type: \"string\" },\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n since: { type: \"string\" },\n sort: { enum: [\"created\", \"updated\", \"comments\"], type: \"string\" },\n state: { enum: [\"open\", \"closed\", \"all\"], type: \"string\" }\n },\n url: \"/orgs/:org/issues\"\n },\n listForRepo: {\n method: \"GET\",\n params: {\n assignee: { type: \"string\" },\n creator: { type: \"string\" },\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n labels: { type: \"string\" },\n mentioned: { type: \"string\" },\n milestone: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n since: { type: \"string\" },\n sort: { enum: [\"created\", \"updated\", \"comments\"], type: \"string\" },\n state: { enum: [\"open\", \"closed\", \"all\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues\"\n },\n listLabelsForMilestone: {\n method: \"GET\",\n params: {\n milestone_number: { required: true, type: \"integer\" },\n number: {\n alias: \"milestone_number\",\n deprecated: true,\n type: \"integer\"\n },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/milestones/:milestone_number/labels\"\n },\n listLabelsForRepo: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/labels\"\n },\n listLabelsOnIssue: {\n method: \"GET\",\n params: {\n issue_number: { required: true, type: \"integer\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/labels\"\n },\n listMilestonesForRepo: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n sort: { enum: [\"due_on\", \"completeness\"], type: \"string\" },\n state: { enum: [\"open\", \"closed\", \"all\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/milestones\"\n },\n lock: {\n method: \"PUT\",\n params: {\n issue_number: { required: true, type: \"integer\" },\n lock_reason: {\n enum: [\"off-topic\", \"too heated\", \"resolved\", \"spam\"],\n type: \"string\"\n },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/lock\"\n },\n removeAssignees: {\n method: \"DELETE\",\n params: {\n assignees: { type: \"string[]\" },\n issue_number: { required: true, type: \"integer\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/assignees\"\n },\n removeLabel: {\n method: \"DELETE\",\n params: {\n issue_number: { required: true, type: \"integer\" },\n name: { required: true, type: \"string\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/labels/:name\"\n },\n removeLabels: {\n method: \"DELETE\",\n params: {\n issue_number: { required: true, type: \"integer\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/labels\"\n },\n replaceLabels: {\n method: \"PUT\",\n params: {\n issue_number: { required: true, type: \"integer\" },\n labels: { type: \"string[]\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/labels\"\n },\n unlock: {\n method: \"DELETE\",\n params: {\n issue_number: { required: true, type: \"integer\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/lock\"\n },\n update: {\n method: \"PATCH\",\n params: {\n assignee: { type: \"string\" },\n assignees: { type: \"string[]\" },\n body: { type: \"string\" },\n issue_number: { required: true, type: \"integer\" },\n labels: { type: \"string[]\" },\n milestone: { allowNull: true, type: \"integer\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n state: { enum: [\"open\", \"closed\"], type: \"string\" },\n title: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number\"\n },\n updateComment: {\n method: \"PATCH\",\n params: {\n body: { required: true, type: \"string\" },\n comment_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/comments/:comment_id\"\n },\n updateLabel: {\n method: \"PATCH\",\n params: {\n color: { type: \"string\" },\n current_name: { required: true, type: \"string\" },\n description: { type: \"string\" },\n name: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/labels/:current_name\"\n },\n updateMilestone: {\n method: \"PATCH\",\n params: {\n description: { type: \"string\" },\n due_on: { type: \"string\" },\n milestone_number: { required: true, type: \"integer\" },\n number: {\n alias: \"milestone_number\",\n deprecated: true,\n type: \"integer\"\n },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n state: { enum: [\"open\", \"closed\"], type: \"string\" },\n title: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/milestones/:milestone_number\"\n }\n },\n licenses: {\n get: {\n method: \"GET\",\n params: { license: { required: true, type: \"string\" } },\n url: \"/licenses/:license\"\n },\n getForRepo: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/license\"\n },\n list: {\n deprecated: \"octokit.licenses.list() has been renamed to octokit.licenses.listCommonlyUsed() (2019-03-05)\",\n method: \"GET\",\n params: {},\n url: \"/licenses\"\n },\n listCommonlyUsed: { method: \"GET\", params: {}, url: \"/licenses\" }\n },\n markdown: {\n render: {\n method: \"POST\",\n params: {\n context: { type: \"string\" },\n mode: { enum: [\"markdown\", \"gfm\"], type: \"string\" },\n text: { required: true, type: \"string\" }\n },\n url: \"/markdown\"\n },\n renderRaw: {\n headers: { \"content-type\": \"text/plain; charset=utf-8\" },\n method: \"POST\",\n params: { data: { mapTo: \"data\", required: true, type: \"string\" } },\n url: \"/markdown/raw\"\n }\n },\n meta: { get: { method: \"GET\", params: {}, url: \"/meta\" } },\n migrations: {\n cancelImport: {\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/import\"\n },\n deleteArchiveForAuthenticatedUser: {\n headers: { accept: \"application/vnd.github.wyandotte-preview+json\" },\n method: \"DELETE\",\n params: { migration_id: { required: true, type: \"integer\" } },\n url: \"/user/migrations/:migration_id/archive\"\n },\n deleteArchiveForOrg: {\n headers: { accept: \"application/vnd.github.wyandotte-preview+json\" },\n method: \"DELETE\",\n params: {\n migration_id: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/migrations/:migration_id/archive\"\n },\n downloadArchiveForOrg: {\n headers: { accept: \"application/vnd.github.wyandotte-preview+json\" },\n method: \"GET\",\n params: {\n migration_id: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/migrations/:migration_id/archive\"\n },\n getArchiveForAuthenticatedUser: {\n headers: { accept: \"application/vnd.github.wyandotte-preview+json\" },\n method: \"GET\",\n params: { migration_id: { required: true, type: \"integer\" } },\n url: \"/user/migrations/:migration_id/archive\"\n },\n getArchiveForOrg: {\n deprecated: \"octokit.migrations.getArchiveForOrg() has been renamed to octokit.migrations.downloadArchiveForOrg() (2020-01-27)\",\n headers: { accept: \"application/vnd.github.wyandotte-preview+json\" },\n method: \"GET\",\n params: {\n migration_id: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/migrations/:migration_id/archive\"\n },\n getCommitAuthors: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n since: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/import/authors\"\n },\n getImportProgress: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/import\"\n },\n getLargeFiles: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/import/large_files\"\n },\n getStatusForAuthenticatedUser: {\n headers: { accept: \"application/vnd.github.wyandotte-preview+json\" },\n method: \"GET\",\n params: { migration_id: { required: true, type: \"integer\" } },\n url: \"/user/migrations/:migration_id\"\n },\n getStatusForOrg: {\n headers: { accept: \"application/vnd.github.wyandotte-preview+json\" },\n method: \"GET\",\n params: {\n migration_id: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/migrations/:migration_id\"\n },\n listForAuthenticatedUser: {\n headers: { accept: \"application/vnd.github.wyandotte-preview+json\" },\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/migrations\"\n },\n listForOrg: {\n headers: { accept: \"application/vnd.github.wyandotte-preview+json\" },\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/orgs/:org/migrations\"\n },\n listReposForOrg: {\n headers: { accept: \"application/vnd.github.wyandotte-preview+json\" },\n method: \"GET\",\n params: {\n migration_id: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/orgs/:org/migrations/:migration_id/repositories\"\n },\n listReposForUser: {\n headers: { accept: \"application/vnd.github.wyandotte-preview+json\" },\n method: \"GET\",\n params: {\n migration_id: { required: true, type: \"integer\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/user/:migration_id/repositories\"\n },\n mapCommitAuthor: {\n method: \"PATCH\",\n params: {\n author_id: { required: true, type: \"integer\" },\n email: { type: \"string\" },\n name: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/import/authors/:author_id\"\n },\n setLfsPreference: {\n method: \"PATCH\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n use_lfs: { enum: [\"opt_in\", \"opt_out\"], required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/import/lfs\"\n },\n startForAuthenticatedUser: {\n method: \"POST\",\n params: {\n exclude_attachments: { type: \"boolean\" },\n lock_repositories: { type: \"boolean\" },\n repositories: { required: true, type: \"string[]\" }\n },\n url: \"/user/migrations\"\n },\n startForOrg: {\n method: \"POST\",\n params: {\n exclude_attachments: { type: \"boolean\" },\n lock_repositories: { type: \"boolean\" },\n org: { required: true, type: \"string\" },\n repositories: { required: true, type: \"string[]\" }\n },\n url: \"/orgs/:org/migrations\"\n },\n startImport: {\n method: \"PUT\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n tfvc_project: { type: \"string\" },\n vcs: {\n enum: [\"subversion\", \"git\", \"mercurial\", \"tfvc\"],\n type: \"string\"\n },\n vcs_password: { type: \"string\" },\n vcs_url: { required: true, type: \"string\" },\n vcs_username: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/import\"\n },\n unlockRepoForAuthenticatedUser: {\n headers: { accept: \"application/vnd.github.wyandotte-preview+json\" },\n method: \"DELETE\",\n params: {\n migration_id: { required: true, type: \"integer\" },\n repo_name: { required: true, type: \"string\" }\n },\n url: \"/user/migrations/:migration_id/repos/:repo_name/lock\"\n },\n unlockRepoForOrg: {\n headers: { accept: \"application/vnd.github.wyandotte-preview+json\" },\n method: \"DELETE\",\n params: {\n migration_id: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n repo_name: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/migrations/:migration_id/repos/:repo_name/lock\"\n },\n updateImport: {\n method: \"PATCH\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n vcs_password: { type: \"string\" },\n vcs_username: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/import\"\n }\n },\n oauthAuthorizations: {\n checkAuthorization: {\n deprecated: \"octokit.oauthAuthorizations.checkAuthorization() has been renamed to octokit.apps.checkAuthorization() (2019-11-05)\",\n method: \"GET\",\n params: {\n access_token: { required: true, type: \"string\" },\n client_id: { required: true, type: \"string\" }\n },\n url: \"/applications/:client_id/tokens/:access_token\"\n },\n createAuthorization: {\n deprecated: \"octokit.oauthAuthorizations.createAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#create-a-new-authorization\",\n method: \"POST\",\n params: {\n client_id: { type: \"string\" },\n client_secret: { type: \"string\" },\n fingerprint: { type: \"string\" },\n note: { required: true, type: \"string\" },\n note_url: { type: \"string\" },\n scopes: { type: \"string[]\" }\n },\n url: \"/authorizations\"\n },\n deleteAuthorization: {\n deprecated: \"octokit.oauthAuthorizations.deleteAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#delete-an-authorization\",\n method: \"DELETE\",\n params: { authorization_id: { required: true, type: \"integer\" } },\n url: \"/authorizations/:authorization_id\"\n },\n deleteGrant: {\n deprecated: \"octokit.oauthAuthorizations.deleteGrant() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#delete-a-grant\",\n method: \"DELETE\",\n params: { grant_id: { required: true, type: \"integer\" } },\n url: \"/applications/grants/:grant_id\"\n },\n getAuthorization: {\n deprecated: \"octokit.oauthAuthorizations.getAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-a-single-authorization\",\n method: \"GET\",\n params: { authorization_id: { required: true, type: \"integer\" } },\n url: \"/authorizations/:authorization_id\"\n },\n getGrant: {\n deprecated: \"octokit.oauthAuthorizations.getGrant() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-a-single-grant\",\n method: \"GET\",\n params: { grant_id: { required: true, type: \"integer\" } },\n url: \"/applications/grants/:grant_id\"\n },\n getOrCreateAuthorizationForApp: {\n deprecated: \"octokit.oauthAuthorizations.getOrCreateAuthorizationForApp() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app\",\n method: \"PUT\",\n params: {\n client_id: { required: true, type: \"string\" },\n client_secret: { required: true, type: \"string\" },\n fingerprint: { type: \"string\" },\n note: { type: \"string\" },\n note_url: { type: \"string\" },\n scopes: { type: \"string[]\" }\n },\n url: \"/authorizations/clients/:client_id\"\n },\n getOrCreateAuthorizationForAppAndFingerprint: {\n deprecated: \"octokit.oauthAuthorizations.getOrCreateAuthorizationForAppAndFingerprint() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app-and-fingerprint\",\n method: \"PUT\",\n params: {\n client_id: { required: true, type: \"string\" },\n client_secret: { required: true, type: \"string\" },\n fingerprint: { required: true, type: \"string\" },\n note: { type: \"string\" },\n note_url: { type: \"string\" },\n scopes: { type: \"string[]\" }\n },\n url: \"/authorizations/clients/:client_id/:fingerprint\"\n },\n getOrCreateAuthorizationForAppFingerprint: {\n deprecated: \"octokit.oauthAuthorizations.getOrCreateAuthorizationForAppFingerprint() has been renamed to octokit.oauthAuthorizations.getOrCreateAuthorizationForAppAndFingerprint() (2018-12-27)\",\n method: \"PUT\",\n params: {\n client_id: { required: true, type: \"string\" },\n client_secret: { required: true, type: \"string\" },\n fingerprint: { required: true, type: \"string\" },\n note: { type: \"string\" },\n note_url: { type: \"string\" },\n scopes: { type: \"string[]\" }\n },\n url: \"/authorizations/clients/:client_id/:fingerprint\"\n },\n listAuthorizations: {\n deprecated: \"octokit.oauthAuthorizations.listAuthorizations() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#list-your-authorizations\",\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/authorizations\"\n },\n listGrants: {\n deprecated: \"octokit.oauthAuthorizations.listGrants() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#list-your-grants\",\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/applications/grants\"\n },\n resetAuthorization: {\n deprecated: \"octokit.oauthAuthorizations.resetAuthorization() has been renamed to octokit.apps.resetAuthorization() (2019-11-05)\",\n method: \"POST\",\n params: {\n access_token: { required: true, type: \"string\" },\n client_id: { required: true, type: \"string\" }\n },\n url: \"/applications/:client_id/tokens/:access_token\"\n },\n revokeAuthorizationForApplication: {\n deprecated: \"octokit.oauthAuthorizations.revokeAuthorizationForApplication() has been renamed to octokit.apps.revokeAuthorizationForApplication() (2019-11-05)\",\n method: \"DELETE\",\n params: {\n access_token: { required: true, type: \"string\" },\n client_id: { required: true, type: \"string\" }\n },\n url: \"/applications/:client_id/tokens/:access_token\"\n },\n revokeGrantForApplication: {\n deprecated: \"octokit.oauthAuthorizations.revokeGrantForApplication() has been renamed to octokit.apps.revokeGrantForApplication() (2019-11-05)\",\n method: \"DELETE\",\n params: {\n access_token: { required: true, type: \"string\" },\n client_id: { required: true, type: \"string\" }\n },\n url: \"/applications/:client_id/grants/:access_token\"\n },\n updateAuthorization: {\n deprecated: \"octokit.oauthAuthorizations.updateAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#update-an-existing-authorization\",\n method: \"PATCH\",\n params: {\n add_scopes: { type: \"string[]\" },\n authorization_id: { required: true, type: \"integer\" },\n fingerprint: { type: \"string\" },\n note: { type: \"string\" },\n note_url: { type: \"string\" },\n remove_scopes: { type: \"string[]\" },\n scopes: { type: \"string[]\" }\n },\n url: \"/authorizations/:authorization_id\"\n }\n },\n orgs: {\n addOrUpdateMembership: {\n method: \"PUT\",\n params: {\n org: { required: true, type: \"string\" },\n role: { enum: [\"admin\", \"member\"], type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/memberships/:username\"\n },\n blockUser: {\n method: \"PUT\",\n params: {\n org: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/blocks/:username\"\n },\n checkBlockedUser: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/blocks/:username\"\n },\n checkMembership: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/members/:username\"\n },\n checkPublicMembership: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/public_members/:username\"\n },\n concealMembership: {\n method: \"DELETE\",\n params: {\n org: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/public_members/:username\"\n },\n convertMemberToOutsideCollaborator: {\n method: \"PUT\",\n params: {\n org: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/outside_collaborators/:username\"\n },\n createHook: {\n method: \"POST\",\n params: {\n active: { type: \"boolean\" },\n config: { required: true, type: \"object\" },\n \"config.content_type\": { type: \"string\" },\n \"config.insecure_ssl\": { type: \"string\" },\n \"config.secret\": { type: \"string\" },\n \"config.url\": { required: true, type: \"string\" },\n events: { type: \"string[]\" },\n name: { required: true, type: \"string\" },\n org: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/hooks\"\n },\n createInvitation: {\n method: \"POST\",\n params: {\n email: { type: \"string\" },\n invitee_id: { type: \"integer\" },\n org: { required: true, type: \"string\" },\n role: {\n enum: [\"admin\", \"direct_member\", \"billing_manager\"],\n type: \"string\"\n },\n team_ids: { type: \"integer[]\" }\n },\n url: \"/orgs/:org/invitations\"\n },\n deleteHook: {\n method: \"DELETE\",\n params: {\n hook_id: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/hooks/:hook_id\"\n },\n get: {\n method: \"GET\",\n params: { org: { required: true, type: \"string\" } },\n url: \"/orgs/:org\"\n },\n getHook: {\n method: \"GET\",\n params: {\n hook_id: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/hooks/:hook_id\"\n },\n getMembership: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/memberships/:username\"\n },\n getMembershipForAuthenticatedUser: {\n method: \"GET\",\n params: { org: { required: true, type: \"string\" } },\n url: \"/user/memberships/orgs/:org\"\n },\n list: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n since: { type: \"integer\" }\n },\n url: \"/organizations\"\n },\n listBlockedUsers: {\n method: \"GET\",\n params: { org: { required: true, type: \"string\" } },\n url: \"/orgs/:org/blocks\"\n },\n listForAuthenticatedUser: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/orgs\"\n },\n listForUser: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/orgs\"\n },\n listHooks: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/orgs/:org/hooks\"\n },\n listInstallations: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/orgs/:org/installations\"\n },\n listInvitationTeams: {\n method: \"GET\",\n params: {\n invitation_id: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/orgs/:org/invitations/:invitation_id/teams\"\n },\n listMembers: {\n method: \"GET\",\n params: {\n filter: { enum: [\"2fa_disabled\", \"all\"], type: \"string\" },\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n role: { enum: [\"all\", \"admin\", \"member\"], type: \"string\" }\n },\n url: \"/orgs/:org/members\"\n },\n listMemberships: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n state: { enum: [\"active\", \"pending\"], type: \"string\" }\n },\n url: \"/user/memberships/orgs\"\n },\n listOutsideCollaborators: {\n method: \"GET\",\n params: {\n filter: { enum: [\"2fa_disabled\", \"all\"], type: \"string\" },\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/orgs/:org/outside_collaborators\"\n },\n listPendingInvitations: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/orgs/:org/invitations\"\n },\n listPublicMembers: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/orgs/:org/public_members\"\n },\n pingHook: {\n method: \"POST\",\n params: {\n hook_id: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/hooks/:hook_id/pings\"\n },\n publicizeMembership: {\n method: \"PUT\",\n params: {\n org: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/public_members/:username\"\n },\n removeMember: {\n method: \"DELETE\",\n params: {\n org: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/members/:username\"\n },\n removeMembership: {\n method: \"DELETE\",\n params: {\n org: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/memberships/:username\"\n },\n removeOutsideCollaborator: {\n method: \"DELETE\",\n params: {\n org: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/outside_collaborators/:username\"\n },\n unblockUser: {\n method: \"DELETE\",\n params: {\n org: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/blocks/:username\"\n },\n update: {\n method: \"PATCH\",\n params: {\n billing_email: { type: \"string\" },\n company: { type: \"string\" },\n default_repository_permission: {\n enum: [\"read\", \"write\", \"admin\", \"none\"],\n type: \"string\"\n },\n description: { type: \"string\" },\n email: { type: \"string\" },\n has_organization_projects: { type: \"boolean\" },\n has_repository_projects: { type: \"boolean\" },\n location: { type: \"string\" },\n members_allowed_repository_creation_type: {\n enum: [\"all\", \"private\", \"none\"],\n type: \"string\"\n },\n members_can_create_internal_repositories: { type: \"boolean\" },\n members_can_create_private_repositories: { type: \"boolean\" },\n members_can_create_public_repositories: { type: \"boolean\" },\n members_can_create_repositories: { type: \"boolean\" },\n name: { type: \"string\" },\n org: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org\"\n },\n updateHook: {\n method: \"PATCH\",\n params: {\n active: { type: \"boolean\" },\n config: { type: \"object\" },\n \"config.content_type\": { type: \"string\" },\n \"config.insecure_ssl\": { type: \"string\" },\n \"config.secret\": { type: \"string\" },\n \"config.url\": { required: true, type: \"string\" },\n events: { type: \"string[]\" },\n hook_id: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/hooks/:hook_id\"\n },\n updateMembership: {\n method: \"PATCH\",\n params: {\n org: { required: true, type: \"string\" },\n state: { enum: [\"active\"], required: true, type: \"string\" }\n },\n url: \"/user/memberships/orgs/:org\"\n }\n },\n projects: {\n addCollaborator: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"PUT\",\n params: {\n permission: { enum: [\"read\", \"write\", \"admin\"], type: \"string\" },\n project_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/projects/:project_id/collaborators/:username\"\n },\n createCard: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"POST\",\n params: {\n column_id: { required: true, type: \"integer\" },\n content_id: { type: \"integer\" },\n content_type: { type: \"string\" },\n note: { type: \"string\" }\n },\n url: \"/projects/columns/:column_id/cards\"\n },\n createColumn: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"POST\",\n params: {\n name: { required: true, type: \"string\" },\n project_id: { required: true, type: \"integer\" }\n },\n url: \"/projects/:project_id/columns\"\n },\n createForAuthenticatedUser: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"POST\",\n params: {\n body: { type: \"string\" },\n name: { required: true, type: \"string\" }\n },\n url: \"/user/projects\"\n },\n createForOrg: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"POST\",\n params: {\n body: { type: \"string\" },\n name: { required: true, type: \"string\" },\n org: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/projects\"\n },\n createForRepo: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"POST\",\n params: {\n body: { type: \"string\" },\n name: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/projects\"\n },\n delete: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"DELETE\",\n params: { project_id: { required: true, type: \"integer\" } },\n url: \"/projects/:project_id\"\n },\n deleteCard: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"DELETE\",\n params: { card_id: { required: true, type: \"integer\" } },\n url: \"/projects/columns/cards/:card_id\"\n },\n deleteColumn: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"DELETE\",\n params: { column_id: { required: true, type: \"integer\" } },\n url: \"/projects/columns/:column_id\"\n },\n get: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: { project_id: { required: true, type: \"integer\" } },\n url: \"/projects/:project_id\"\n },\n getCard: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: { card_id: { required: true, type: \"integer\" } },\n url: \"/projects/columns/cards/:card_id\"\n },\n getColumn: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: { column_id: { required: true, type: \"integer\" } },\n url: \"/projects/columns/:column_id\"\n },\n listCards: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: {\n archived_state: {\n enum: [\"all\", \"archived\", \"not_archived\"],\n type: \"string\"\n },\n column_id: { required: true, type: \"integer\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/projects/columns/:column_id/cards\"\n },\n listCollaborators: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: {\n affiliation: { enum: [\"outside\", \"direct\", \"all\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n project_id: { required: true, type: \"integer\" }\n },\n url: \"/projects/:project_id/collaborators\"\n },\n listColumns: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n project_id: { required: true, type: \"integer\" }\n },\n url: \"/projects/:project_id/columns\"\n },\n listForOrg: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n state: { enum: [\"open\", \"closed\", \"all\"], type: \"string\" }\n },\n url: \"/orgs/:org/projects\"\n },\n listForRepo: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n state: { enum: [\"open\", \"closed\", \"all\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/projects\"\n },\n listForUser: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n state: { enum: [\"open\", \"closed\", \"all\"], type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/projects\"\n },\n moveCard: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"POST\",\n params: {\n card_id: { required: true, type: \"integer\" },\n column_id: { type: \"integer\" },\n position: {\n required: true,\n type: \"string\",\n validation: \"^(top|bottom|after:\\\\d+)$\"\n }\n },\n url: \"/projects/columns/cards/:card_id/moves\"\n },\n moveColumn: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"POST\",\n params: {\n column_id: { required: true, type: \"integer\" },\n position: {\n required: true,\n type: \"string\",\n validation: \"^(first|last|after:\\\\d+)$\"\n }\n },\n url: \"/projects/columns/:column_id/moves\"\n },\n removeCollaborator: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"DELETE\",\n params: {\n project_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/projects/:project_id/collaborators/:username\"\n },\n reviewUserPermissionLevel: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: {\n project_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/projects/:project_id/collaborators/:username/permission\"\n },\n update: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"PATCH\",\n params: {\n body: { type: \"string\" },\n name: { type: \"string\" },\n organization_permission: { type: \"string\" },\n private: { type: \"boolean\" },\n project_id: { required: true, type: \"integer\" },\n state: { enum: [\"open\", \"closed\"], type: \"string\" }\n },\n url: \"/projects/:project_id\"\n },\n updateCard: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"PATCH\",\n params: {\n archived: { type: \"boolean\" },\n card_id: { required: true, type: \"integer\" },\n note: { type: \"string\" }\n },\n url: \"/projects/columns/cards/:card_id\"\n },\n updateColumn: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"PATCH\",\n params: {\n column_id: { required: true, type: \"integer\" },\n name: { required: true, type: \"string\" }\n },\n url: \"/projects/columns/:column_id\"\n }\n },\n pulls: {\n checkIfMerged: {\n method: \"GET\",\n params: {\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/merge\"\n },\n create: {\n method: \"POST\",\n params: {\n base: { required: true, type: \"string\" },\n body: { type: \"string\" },\n draft: { type: \"boolean\" },\n head: { required: true, type: \"string\" },\n maintainer_can_modify: { type: \"boolean\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n title: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls\"\n },\n createComment: {\n method: \"POST\",\n params: {\n body: { required: true, type: \"string\" },\n commit_id: { required: true, type: \"string\" },\n in_reply_to: {\n deprecated: true,\n description: \"The comment ID to reply to. **Note**: This must be the ID of a top-level comment, not a reply to that comment. Replies to replies are not supported.\",\n type: \"integer\"\n },\n line: { type: \"integer\" },\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n path: { required: true, type: \"string\" },\n position: { type: \"integer\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n side: { enum: [\"LEFT\", \"RIGHT\"], type: \"string\" },\n start_line: { type: \"integer\" },\n start_side: { enum: [\"LEFT\", \"RIGHT\", \"side\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/comments\"\n },\n createCommentReply: {\n deprecated: \"octokit.pulls.createCommentReply() has been renamed to octokit.pulls.createComment() (2019-09-09)\",\n method: \"POST\",\n params: {\n body: { required: true, type: \"string\" },\n commit_id: { required: true, type: \"string\" },\n in_reply_to: {\n deprecated: true,\n description: \"The comment ID to reply to. **Note**: This must be the ID of a top-level comment, not a reply to that comment. Replies to replies are not supported.\",\n type: \"integer\"\n },\n line: { type: \"integer\" },\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n path: { required: true, type: \"string\" },\n position: { type: \"integer\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n side: { enum: [\"LEFT\", \"RIGHT\"], type: \"string\" },\n start_line: { type: \"integer\" },\n start_side: { enum: [\"LEFT\", \"RIGHT\", \"side\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/comments\"\n },\n createFromIssue: {\n deprecated: \"octokit.pulls.createFromIssue() is deprecated, see https://developer.github.com/v3/pulls/#create-a-pull-request\",\n method: \"POST\",\n params: {\n base: { required: true, type: \"string\" },\n draft: { type: \"boolean\" },\n head: { required: true, type: \"string\" },\n issue: { required: true, type: \"integer\" },\n maintainer_can_modify: { type: \"boolean\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls\"\n },\n createReview: {\n method: \"POST\",\n params: {\n body: { type: \"string\" },\n comments: { type: \"object[]\" },\n \"comments[].body\": { required: true, type: \"string\" },\n \"comments[].path\": { required: true, type: \"string\" },\n \"comments[].position\": { required: true, type: \"integer\" },\n commit_id: { type: \"string\" },\n event: {\n enum: [\"APPROVE\", \"REQUEST_CHANGES\", \"COMMENT\"],\n type: \"string\"\n },\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/reviews\"\n },\n createReviewCommentReply: {\n method: \"POST\",\n params: {\n body: { required: true, type: \"string\" },\n comment_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/comments/:comment_id/replies\"\n },\n createReviewRequest: {\n method: \"POST\",\n params: {\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n reviewers: { type: \"string[]\" },\n team_reviewers: { type: \"string[]\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/requested_reviewers\"\n },\n deleteComment: {\n method: \"DELETE\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/comments/:comment_id\"\n },\n deletePendingReview: {\n method: \"DELETE\",\n params: {\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n review_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id\"\n },\n deleteReviewRequest: {\n method: \"DELETE\",\n params: {\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n reviewers: { type: \"string[]\" },\n team_reviewers: { type: \"string[]\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/requested_reviewers\"\n },\n dismissReview: {\n method: \"PUT\",\n params: {\n message: { required: true, type: \"string\" },\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n review_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/dismissals\"\n },\n get: {\n method: \"GET\",\n params: {\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number\"\n },\n getComment: {\n method: \"GET\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/comments/:comment_id\"\n },\n getCommentsForReview: {\n method: \"GET\",\n params: {\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n review_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/comments\"\n },\n getReview: {\n method: \"GET\",\n params: {\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n review_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id\"\n },\n list: {\n method: \"GET\",\n params: {\n base: { type: \"string\" },\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n head: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n sort: {\n enum: [\"created\", \"updated\", \"popularity\", \"long-running\"],\n type: \"string\"\n },\n state: { enum: [\"open\", \"closed\", \"all\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls\"\n },\n listComments: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n since: { type: \"string\" },\n sort: { enum: [\"created\", \"updated\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/comments\"\n },\n listCommentsForRepo: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n since: { type: \"string\" },\n sort: { enum: [\"created\", \"updated\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/comments\"\n },\n listCommits: {\n method: \"GET\",\n params: {\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/commits\"\n },\n listFiles: {\n method: \"GET\",\n params: {\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/files\"\n },\n listReviewRequests: {\n method: \"GET\",\n params: {\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/requested_reviewers\"\n },\n listReviews: {\n method: \"GET\",\n params: {\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/reviews\"\n },\n merge: {\n method: \"PUT\",\n params: {\n commit_message: { type: \"string\" },\n commit_title: { type: \"string\" },\n merge_method: { enum: [\"merge\", \"squash\", \"rebase\"], type: \"string\" },\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n sha: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/merge\"\n },\n submitReview: {\n method: \"POST\",\n params: {\n body: { type: \"string\" },\n event: {\n enum: [\"APPROVE\", \"REQUEST_CHANGES\", \"COMMENT\"],\n required: true,\n type: \"string\"\n },\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n review_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/events\"\n },\n update: {\n method: \"PATCH\",\n params: {\n base: { type: \"string\" },\n body: { type: \"string\" },\n maintainer_can_modify: { type: \"boolean\" },\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n state: { enum: [\"open\", \"closed\"], type: \"string\" },\n title: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number\"\n },\n updateBranch: {\n headers: { accept: \"application/vnd.github.lydian-preview+json\" },\n method: \"PUT\",\n params: {\n expected_head_sha: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/update-branch\"\n },\n updateComment: {\n method: \"PATCH\",\n params: {\n body: { required: true, type: \"string\" },\n comment_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/comments/:comment_id\"\n },\n updateReview: {\n method: \"PUT\",\n params: {\n body: { required: true, type: \"string\" },\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n review_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id\"\n }\n },\n rateLimit: { get: { method: \"GET\", params: {}, url: \"/rate_limit\" } },\n reactions: {\n createForCommitComment: {\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"POST\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n required: true,\n type: \"string\"\n },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/comments/:comment_id/reactions\"\n },\n createForIssue: {\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"POST\",\n params: {\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n required: true,\n type: \"string\"\n },\n issue_number: { required: true, type: \"integer\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/reactions\"\n },\n createForIssueComment: {\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"POST\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n required: true,\n type: \"string\"\n },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/comments/:comment_id/reactions\"\n },\n createForPullRequestReviewComment: {\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"POST\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n required: true,\n type: \"string\"\n },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/comments/:comment_id/reactions\"\n },\n createForTeamDiscussion: {\n deprecated: \"octokit.reactions.createForTeamDiscussion() has been renamed to octokit.reactions.createForTeamDiscussionLegacy() (2020-01-16)\",\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"POST\",\n params: {\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n required: true,\n type: \"string\"\n },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/reactions\"\n },\n createForTeamDiscussionComment: {\n deprecated: \"octokit.reactions.createForTeamDiscussionComment() has been renamed to octokit.reactions.createForTeamDiscussionCommentLegacy() (2020-01-16)\",\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"POST\",\n params: {\n comment_number: { required: true, type: \"integer\" },\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n required: true,\n type: \"string\"\n },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions\"\n },\n createForTeamDiscussionCommentInOrg: {\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"POST\",\n params: {\n comment_number: { required: true, type: \"integer\" },\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n required: true,\n type: \"string\"\n },\n discussion_number: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions\"\n },\n createForTeamDiscussionCommentLegacy: {\n deprecated: \"octokit.reactions.createForTeamDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-comment-legacy\",\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"POST\",\n params: {\n comment_number: { required: true, type: \"integer\" },\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n required: true,\n type: \"string\"\n },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions\"\n },\n createForTeamDiscussionInOrg: {\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"POST\",\n params: {\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n required: true,\n type: \"string\"\n },\n discussion_number: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions\"\n },\n createForTeamDiscussionLegacy: {\n deprecated: \"octokit.reactions.createForTeamDiscussionLegacy() is deprecated, see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-legacy\",\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"POST\",\n params: {\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n required: true,\n type: \"string\"\n },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/reactions\"\n },\n delete: {\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"DELETE\",\n params: { reaction_id: { required: true, type: \"integer\" } },\n url: \"/reactions/:reaction_id\"\n },\n listForCommitComment: {\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"GET\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n type: \"string\"\n },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/comments/:comment_id/reactions\"\n },\n listForIssue: {\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"GET\",\n params: {\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n type: \"string\"\n },\n issue_number: { required: true, type: \"integer\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/reactions\"\n },\n listForIssueComment: {\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"GET\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n type: \"string\"\n },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/comments/:comment_id/reactions\"\n },\n listForPullRequestReviewComment: {\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"GET\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n type: \"string\"\n },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/comments/:comment_id/reactions\"\n },\n listForTeamDiscussion: {\n deprecated: \"octokit.reactions.listForTeamDiscussion() has been renamed to octokit.reactions.listForTeamDiscussionLegacy() (2020-01-16)\",\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"GET\",\n params: {\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n type: \"string\"\n },\n discussion_number: { required: true, type: \"integer\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/reactions\"\n },\n listForTeamDiscussionComment: {\n deprecated: \"octokit.reactions.listForTeamDiscussionComment() has been renamed to octokit.reactions.listForTeamDiscussionCommentLegacy() (2020-01-16)\",\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"GET\",\n params: {\n comment_number: { required: true, type: \"integer\" },\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n type: \"string\"\n },\n discussion_number: { required: true, type: \"integer\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions\"\n },\n listForTeamDiscussionCommentInOrg: {\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"GET\",\n params: {\n comment_number: { required: true, type: \"integer\" },\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n type: \"string\"\n },\n discussion_number: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions\"\n },\n listForTeamDiscussionCommentLegacy: {\n deprecated: \"octokit.reactions.listForTeamDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-comment-legacy\",\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"GET\",\n params: {\n comment_number: { required: true, type: \"integer\" },\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n type: \"string\"\n },\n discussion_number: { required: true, type: \"integer\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions\"\n },\n listForTeamDiscussionInOrg: {\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"GET\",\n params: {\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n type: \"string\"\n },\n discussion_number: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions\"\n },\n listForTeamDiscussionLegacy: {\n deprecated: \"octokit.reactions.listForTeamDiscussionLegacy() is deprecated, see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-legacy\",\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"GET\",\n params: {\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n type: \"string\"\n },\n discussion_number: { required: true, type: \"integer\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/reactions\"\n }\n },\n repos: {\n acceptInvitation: {\n method: \"PATCH\",\n params: { invitation_id: { required: true, type: \"integer\" } },\n url: \"/user/repository_invitations/:invitation_id\"\n },\n addCollaborator: {\n method: \"PUT\",\n params: {\n owner: { required: true, type: \"string\" },\n permission: { enum: [\"pull\", \"push\", \"admin\"], type: \"string\" },\n repo: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/collaborators/:username\"\n },\n addDeployKey: {\n method: \"POST\",\n params: {\n key: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n read_only: { type: \"boolean\" },\n repo: { required: true, type: \"string\" },\n title: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/keys\"\n },\n addProtectedBranchAdminEnforcement: {\n method: \"POST\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/enforce_admins\"\n },\n addProtectedBranchAppRestrictions: {\n method: \"POST\",\n params: {\n apps: { mapTo: \"data\", required: true, type: \"string[]\" },\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/apps\"\n },\n addProtectedBranchRequiredSignatures: {\n headers: { accept: \"application/vnd.github.zzzax-preview+json\" },\n method: \"POST\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/required_signatures\"\n },\n addProtectedBranchRequiredStatusChecksContexts: {\n method: \"POST\",\n params: {\n branch: { required: true, type: \"string\" },\n contexts: { mapTo: \"data\", required: true, type: \"string[]\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts\"\n },\n addProtectedBranchTeamRestrictions: {\n method: \"POST\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n teams: { mapTo: \"data\", required: true, type: \"string[]\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/teams\"\n },\n addProtectedBranchUserRestrictions: {\n method: \"POST\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n users: { mapTo: \"data\", required: true, type: \"string[]\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/users\"\n },\n checkCollaborator: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/collaborators/:username\"\n },\n checkVulnerabilityAlerts: {\n headers: { accept: \"application/vnd.github.dorian-preview+json\" },\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/vulnerability-alerts\"\n },\n compareCommits: {\n method: \"GET\",\n params: {\n base: { required: true, type: \"string\" },\n head: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/compare/:base...:head\"\n },\n createCommitComment: {\n method: \"POST\",\n params: {\n body: { required: true, type: \"string\" },\n commit_sha: { required: true, type: \"string\" },\n line: { type: \"integer\" },\n owner: { required: true, type: \"string\" },\n path: { type: \"string\" },\n position: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n sha: { alias: \"commit_sha\", deprecated: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/commits/:commit_sha/comments\"\n },\n createDeployment: {\n method: \"POST\",\n params: {\n auto_merge: { type: \"boolean\" },\n description: { type: \"string\" },\n environment: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n payload: { type: \"string\" },\n production_environment: { type: \"boolean\" },\n ref: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n required_contexts: { type: \"string[]\" },\n task: { type: \"string\" },\n transient_environment: { type: \"boolean\" }\n },\n url: \"/repos/:owner/:repo/deployments\"\n },\n createDeploymentStatus: {\n method: \"POST\",\n params: {\n auto_inactive: { type: \"boolean\" },\n deployment_id: { required: true, type: \"integer\" },\n description: { type: \"string\" },\n environment: { enum: [\"production\", \"staging\", \"qa\"], type: \"string\" },\n environment_url: { type: \"string\" },\n log_url: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n state: {\n enum: [\n \"error\",\n \"failure\",\n \"inactive\",\n \"in_progress\",\n \"queued\",\n \"pending\",\n \"success\"\n ],\n required: true,\n type: \"string\"\n },\n target_url: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/deployments/:deployment_id/statuses\"\n },\n createDispatchEvent: {\n method: \"POST\",\n params: {\n client_payload: { type: \"object\" },\n event_type: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/dispatches\"\n },\n createFile: {\n deprecated: \"octokit.repos.createFile() has been renamed to octokit.repos.createOrUpdateFile() (2019-06-07)\",\n method: \"PUT\",\n params: {\n author: { type: \"object\" },\n \"author.email\": { required: true, type: \"string\" },\n \"author.name\": { required: true, type: \"string\" },\n branch: { type: \"string\" },\n committer: { type: \"object\" },\n \"committer.email\": { required: true, type: \"string\" },\n \"committer.name\": { required: true, type: \"string\" },\n content: { required: true, type: \"string\" },\n message: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n path: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n sha: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/contents/:path\"\n },\n createForAuthenticatedUser: {\n method: \"POST\",\n params: {\n allow_merge_commit: { type: \"boolean\" },\n allow_rebase_merge: { type: \"boolean\" },\n allow_squash_merge: { type: \"boolean\" },\n auto_init: { type: \"boolean\" },\n delete_branch_on_merge: { type: \"boolean\" },\n description: { type: \"string\" },\n gitignore_template: { type: \"string\" },\n has_issues: { type: \"boolean\" },\n has_projects: { type: \"boolean\" },\n has_wiki: { type: \"boolean\" },\n homepage: { type: \"string\" },\n is_template: { type: \"boolean\" },\n license_template: { type: \"string\" },\n name: { required: true, type: \"string\" },\n private: { type: \"boolean\" },\n team_id: { type: \"integer\" },\n visibility: {\n enum: [\"public\", \"private\", \"visibility\", \"internal\"],\n type: \"string\"\n }\n },\n url: \"/user/repos\"\n },\n createFork: {\n method: \"POST\",\n params: {\n organization: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/forks\"\n },\n createHook: {\n method: \"POST\",\n params: {\n active: { type: \"boolean\" },\n config: { required: true, type: \"object\" },\n \"config.content_type\": { type: \"string\" },\n \"config.insecure_ssl\": { type: \"string\" },\n \"config.secret\": { type: \"string\" },\n \"config.url\": { required: true, type: \"string\" },\n events: { type: \"string[]\" },\n name: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/hooks\"\n },\n createInOrg: {\n method: \"POST\",\n params: {\n allow_merge_commit: { type: \"boolean\" },\n allow_rebase_merge: { type: \"boolean\" },\n allow_squash_merge: { type: \"boolean\" },\n auto_init: { type: \"boolean\" },\n delete_branch_on_merge: { type: \"boolean\" },\n description: { type: \"string\" },\n gitignore_template: { type: \"string\" },\n has_issues: { type: \"boolean\" },\n has_projects: { type: \"boolean\" },\n has_wiki: { type: \"boolean\" },\n homepage: { type: \"string\" },\n is_template: { type: \"boolean\" },\n license_template: { type: \"string\" },\n name: { required: true, type: \"string\" },\n org: { required: true, type: \"string\" },\n private: { type: \"boolean\" },\n team_id: { type: \"integer\" },\n visibility: {\n enum: [\"public\", \"private\", \"visibility\", \"internal\"],\n type: \"string\"\n }\n },\n url: \"/orgs/:org/repos\"\n },\n createOrUpdateFile: {\n method: \"PUT\",\n params: {\n author: { type: \"object\" },\n \"author.email\": { required: true, type: \"string\" },\n \"author.name\": { required: true, type: \"string\" },\n branch: { type: \"string\" },\n committer: { type: \"object\" },\n \"committer.email\": { required: true, type: \"string\" },\n \"committer.name\": { required: true, type: \"string\" },\n content: { required: true, type: \"string\" },\n message: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n path: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n sha: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/contents/:path\"\n },\n createRelease: {\n method: \"POST\",\n params: {\n body: { type: \"string\" },\n draft: { type: \"boolean\" },\n name: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n prerelease: { type: \"boolean\" },\n repo: { required: true, type: \"string\" },\n tag_name: { required: true, type: \"string\" },\n target_commitish: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/releases\"\n },\n createStatus: {\n method: \"POST\",\n params: {\n context: { type: \"string\" },\n description: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n sha: { required: true, type: \"string\" },\n state: {\n enum: [\"error\", \"failure\", \"pending\", \"success\"],\n required: true,\n type: \"string\"\n },\n target_url: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/statuses/:sha\"\n },\n createUsingTemplate: {\n headers: { accept: \"application/vnd.github.baptiste-preview+json\" },\n method: \"POST\",\n params: {\n description: { type: \"string\" },\n name: { required: true, type: \"string\" },\n owner: { type: \"string\" },\n private: { type: \"boolean\" },\n template_owner: { required: true, type: \"string\" },\n template_repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:template_owner/:template_repo/generate\"\n },\n declineInvitation: {\n method: \"DELETE\",\n params: { invitation_id: { required: true, type: \"integer\" } },\n url: \"/user/repository_invitations/:invitation_id\"\n },\n delete: {\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo\"\n },\n deleteCommitComment: {\n method: \"DELETE\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/comments/:comment_id\"\n },\n deleteDownload: {\n method: \"DELETE\",\n params: {\n download_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/downloads/:download_id\"\n },\n deleteFile: {\n method: \"DELETE\",\n params: {\n author: { type: \"object\" },\n \"author.email\": { type: \"string\" },\n \"author.name\": { type: \"string\" },\n branch: { type: \"string\" },\n committer: { type: \"object\" },\n \"committer.email\": { type: \"string\" },\n \"committer.name\": { type: \"string\" },\n message: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n path: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n sha: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/contents/:path\"\n },\n deleteHook: {\n method: \"DELETE\",\n params: {\n hook_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/hooks/:hook_id\"\n },\n deleteInvitation: {\n method: \"DELETE\",\n params: {\n invitation_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/invitations/:invitation_id\"\n },\n deleteRelease: {\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n release_id: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/releases/:release_id\"\n },\n deleteReleaseAsset: {\n method: \"DELETE\",\n params: {\n asset_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/releases/assets/:asset_id\"\n },\n disableAutomatedSecurityFixes: {\n headers: { accept: \"application/vnd.github.london-preview+json\" },\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/automated-security-fixes\"\n },\n disablePagesSite: {\n headers: { accept: \"application/vnd.github.switcheroo-preview+json\" },\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pages\"\n },\n disableVulnerabilityAlerts: {\n headers: { accept: \"application/vnd.github.dorian-preview+json\" },\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/vulnerability-alerts\"\n },\n enableAutomatedSecurityFixes: {\n headers: { accept: \"application/vnd.github.london-preview+json\" },\n method: \"PUT\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/automated-security-fixes\"\n },\n enablePagesSite: {\n headers: { accept: \"application/vnd.github.switcheroo-preview+json\" },\n method: \"POST\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n source: { type: \"object\" },\n \"source.branch\": { enum: [\"master\", \"gh-pages\"], type: \"string\" },\n \"source.path\": { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pages\"\n },\n enableVulnerabilityAlerts: {\n headers: { accept: \"application/vnd.github.dorian-preview+json\" },\n method: \"PUT\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/vulnerability-alerts\"\n },\n get: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo\"\n },\n getAppsWithAccessToProtectedBranch: {\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/apps\"\n },\n getArchiveLink: {\n method: \"GET\",\n params: {\n archive_format: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n ref: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/:archive_format/:ref\"\n },\n getBranch: {\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch\"\n },\n getBranchProtection: {\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection\"\n },\n getClones: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n per: { enum: [\"day\", \"week\"], type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/traffic/clones\"\n },\n getCodeFrequencyStats: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/stats/code_frequency\"\n },\n getCollaboratorPermissionLevel: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/collaborators/:username/permission\"\n },\n getCombinedStatusForRef: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n ref: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/commits/:ref/status\"\n },\n getCommit: {\n method: \"GET\",\n params: {\n commit_sha: { alias: \"ref\", deprecated: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n ref: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n sha: { alias: \"ref\", deprecated: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/commits/:ref\"\n },\n getCommitActivityStats: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/stats/commit_activity\"\n },\n getCommitComment: {\n method: \"GET\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/comments/:comment_id\"\n },\n getCommitRefSha: {\n deprecated: \"octokit.repos.getCommitRefSha() is deprecated, see https://developer.github.com/v3/repos/commits/#get-a-single-commit\",\n headers: { accept: \"application/vnd.github.v3.sha\" },\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n ref: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/commits/:ref\"\n },\n getContents: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n path: { required: true, type: \"string\" },\n ref: { type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/contents/:path\"\n },\n getContributorsStats: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/stats/contributors\"\n },\n getDeployKey: {\n method: \"GET\",\n params: {\n key_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/keys/:key_id\"\n },\n getDeployment: {\n method: \"GET\",\n params: {\n deployment_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/deployments/:deployment_id\"\n },\n getDeploymentStatus: {\n method: \"GET\",\n params: {\n deployment_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n status_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/deployments/:deployment_id/statuses/:status_id\"\n },\n getDownload: {\n method: \"GET\",\n params: {\n download_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/downloads/:download_id\"\n },\n getHook: {\n method: \"GET\",\n params: {\n hook_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/hooks/:hook_id\"\n },\n getLatestPagesBuild: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pages/builds/latest\"\n },\n getLatestRelease: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/releases/latest\"\n },\n getPages: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pages\"\n },\n getPagesBuild: {\n method: \"GET\",\n params: {\n build_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pages/builds/:build_id\"\n },\n getParticipationStats: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/stats/participation\"\n },\n getProtectedBranchAdminEnforcement: {\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/enforce_admins\"\n },\n getProtectedBranchPullRequestReviewEnforcement: {\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews\"\n },\n getProtectedBranchRequiredSignatures: {\n headers: { accept: \"application/vnd.github.zzzax-preview+json\" },\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/required_signatures\"\n },\n getProtectedBranchRequiredStatusChecks: {\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/required_status_checks\"\n },\n getProtectedBranchRestrictions: {\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions\"\n },\n getPunchCardStats: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/stats/punch_card\"\n },\n getReadme: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n ref: { type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/readme\"\n },\n getRelease: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n release_id: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/releases/:release_id\"\n },\n getReleaseAsset: {\n method: \"GET\",\n params: {\n asset_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/releases/assets/:asset_id\"\n },\n getReleaseByTag: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n tag: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/releases/tags/:tag\"\n },\n getTeamsWithAccessToProtectedBranch: {\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/teams\"\n },\n getTopPaths: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/traffic/popular/paths\"\n },\n getTopReferrers: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/traffic/popular/referrers\"\n },\n getUsersWithAccessToProtectedBranch: {\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/users\"\n },\n getViews: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n per: { enum: [\"day\", \"week\"], type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/traffic/views\"\n },\n list: {\n method: \"GET\",\n params: {\n affiliation: { type: \"string\" },\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n sort: {\n enum: [\"created\", \"updated\", \"pushed\", \"full_name\"],\n type: \"string\"\n },\n type: {\n enum: [\"all\", \"owner\", \"public\", \"private\", \"member\"],\n type: \"string\"\n },\n visibility: { enum: [\"all\", \"public\", \"private\"], type: \"string\" }\n },\n url: \"/user/repos\"\n },\n listAppsWithAccessToProtectedBranch: {\n deprecated: \"octokit.repos.listAppsWithAccessToProtectedBranch() has been renamed to octokit.repos.getAppsWithAccessToProtectedBranch() (2019-09-13)\",\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/apps\"\n },\n listAssetsForRelease: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n release_id: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/releases/:release_id/assets\"\n },\n listBranches: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n protected: { type: \"boolean\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches\"\n },\n listBranchesForHeadCommit: {\n headers: { accept: \"application/vnd.github.groot-preview+json\" },\n method: \"GET\",\n params: {\n commit_sha: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/commits/:commit_sha/branches-where-head\"\n },\n listCollaborators: {\n method: \"GET\",\n params: {\n affiliation: { enum: [\"outside\", \"direct\", \"all\"], type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/collaborators\"\n },\n listCommentsForCommit: {\n method: \"GET\",\n params: {\n commit_sha: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n ref: { alias: \"commit_sha\", deprecated: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/commits/:commit_sha/comments\"\n },\n listCommitComments: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/comments\"\n },\n listCommits: {\n method: \"GET\",\n params: {\n author: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n path: { type: \"string\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n sha: { type: \"string\" },\n since: { type: \"string\" },\n until: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/commits\"\n },\n listContributors: {\n method: \"GET\",\n params: {\n anon: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/contributors\"\n },\n listDeployKeys: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/keys\"\n },\n listDeploymentStatuses: {\n method: \"GET\",\n params: {\n deployment_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/deployments/:deployment_id/statuses\"\n },\n listDeployments: {\n method: \"GET\",\n params: {\n environment: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n ref: { type: \"string\" },\n repo: { required: true, type: \"string\" },\n sha: { type: \"string\" },\n task: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/deployments\"\n },\n listDownloads: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/downloads\"\n },\n listForOrg: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n sort: {\n enum: [\"created\", \"updated\", \"pushed\", \"full_name\"],\n type: \"string\"\n },\n type: {\n enum: [\n \"all\",\n \"public\",\n \"private\",\n \"forks\",\n \"sources\",\n \"member\",\n \"internal\"\n ],\n type: \"string\"\n }\n },\n url: \"/orgs/:org/repos\"\n },\n listForUser: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n sort: {\n enum: [\"created\", \"updated\", \"pushed\", \"full_name\"],\n type: \"string\"\n },\n type: { enum: [\"all\", \"owner\", \"member\"], type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/repos\"\n },\n listForks: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n sort: { enum: [\"newest\", \"oldest\", \"stargazers\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/forks\"\n },\n listHooks: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/hooks\"\n },\n listInvitations: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/invitations\"\n },\n listInvitationsForAuthenticatedUser: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/repository_invitations\"\n },\n listLanguages: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/languages\"\n },\n listPagesBuilds: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pages/builds\"\n },\n listProtectedBranchRequiredStatusChecksContexts: {\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts\"\n },\n listProtectedBranchTeamRestrictions: {\n deprecated: \"octokit.repos.listProtectedBranchTeamRestrictions() has been renamed to octokit.repos.getTeamsWithAccessToProtectedBranch() (2019-09-09)\",\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/teams\"\n },\n listProtectedBranchUserRestrictions: {\n deprecated: \"octokit.repos.listProtectedBranchUserRestrictions() has been renamed to octokit.repos.getUsersWithAccessToProtectedBranch() (2019-09-09)\",\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/users\"\n },\n listPublic: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n since: { type: \"integer\" }\n },\n url: \"/repositories\"\n },\n listPullRequestsAssociatedWithCommit: {\n headers: { accept: \"application/vnd.github.groot-preview+json\" },\n method: \"GET\",\n params: {\n commit_sha: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/commits/:commit_sha/pulls\"\n },\n listReleases: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/releases\"\n },\n listStatusesForRef: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n ref: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/commits/:ref/statuses\"\n },\n listTags: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/tags\"\n },\n listTeams: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/teams\"\n },\n listTeamsWithAccessToProtectedBranch: {\n deprecated: \"octokit.repos.listTeamsWithAccessToProtectedBranch() has been renamed to octokit.repos.getTeamsWithAccessToProtectedBranch() (2019-09-13)\",\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/teams\"\n },\n listTopics: {\n headers: { accept: \"application/vnd.github.mercy-preview+json\" },\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/topics\"\n },\n listUsersWithAccessToProtectedBranch: {\n deprecated: \"octokit.repos.listUsersWithAccessToProtectedBranch() has been renamed to octokit.repos.getUsersWithAccessToProtectedBranch() (2019-09-13)\",\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/users\"\n },\n merge: {\n method: \"POST\",\n params: {\n base: { required: true, type: \"string\" },\n commit_message: { type: \"string\" },\n head: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/merges\"\n },\n pingHook: {\n method: \"POST\",\n params: {\n hook_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/hooks/:hook_id/pings\"\n },\n removeBranchProtection: {\n method: \"DELETE\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection\"\n },\n removeCollaborator: {\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/collaborators/:username\"\n },\n removeDeployKey: {\n method: \"DELETE\",\n params: {\n key_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/keys/:key_id\"\n },\n removeProtectedBranchAdminEnforcement: {\n method: \"DELETE\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/enforce_admins\"\n },\n removeProtectedBranchAppRestrictions: {\n method: \"DELETE\",\n params: {\n apps: { mapTo: \"data\", required: true, type: \"string[]\" },\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/apps\"\n },\n removeProtectedBranchPullRequestReviewEnforcement: {\n method: \"DELETE\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews\"\n },\n removeProtectedBranchRequiredSignatures: {\n headers: { accept: \"application/vnd.github.zzzax-preview+json\" },\n method: \"DELETE\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/required_signatures\"\n },\n removeProtectedBranchRequiredStatusChecks: {\n method: \"DELETE\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/required_status_checks\"\n },\n removeProtectedBranchRequiredStatusChecksContexts: {\n method: \"DELETE\",\n params: {\n branch: { required: true, type: \"string\" },\n contexts: { mapTo: \"data\", required: true, type: \"string[]\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts\"\n },\n removeProtectedBranchRestrictions: {\n method: \"DELETE\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions\"\n },\n removeProtectedBranchTeamRestrictions: {\n method: \"DELETE\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n teams: { mapTo: \"data\", required: true, type: \"string[]\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/teams\"\n },\n removeProtectedBranchUserRestrictions: {\n method: \"DELETE\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n users: { mapTo: \"data\", required: true, type: \"string[]\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/users\"\n },\n replaceProtectedBranchAppRestrictions: {\n method: \"PUT\",\n params: {\n apps: { mapTo: \"data\", required: true, type: \"string[]\" },\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/apps\"\n },\n replaceProtectedBranchRequiredStatusChecksContexts: {\n method: \"PUT\",\n params: {\n branch: { required: true, type: \"string\" },\n contexts: { mapTo: \"data\", required: true, type: \"string[]\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts\"\n },\n replaceProtectedBranchTeamRestrictions: {\n method: \"PUT\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n teams: { mapTo: \"data\", required: true, type: \"string[]\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/teams\"\n },\n replaceProtectedBranchUserRestrictions: {\n method: \"PUT\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n users: { mapTo: \"data\", required: true, type: \"string[]\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/users\"\n },\n replaceTopics: {\n headers: { accept: \"application/vnd.github.mercy-preview+json\" },\n method: \"PUT\",\n params: {\n names: { required: true, type: \"string[]\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/topics\"\n },\n requestPageBuild: {\n method: \"POST\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pages/builds\"\n },\n retrieveCommunityProfileMetrics: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/community/profile\"\n },\n testPushHook: {\n method: \"POST\",\n params: {\n hook_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/hooks/:hook_id/tests\"\n },\n transfer: {\n method: \"POST\",\n params: {\n new_owner: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n team_ids: { type: \"integer[]\" }\n },\n url: \"/repos/:owner/:repo/transfer\"\n },\n update: {\n method: \"PATCH\",\n params: {\n allow_merge_commit: { type: \"boolean\" },\n allow_rebase_merge: { type: \"boolean\" },\n allow_squash_merge: { type: \"boolean\" },\n archived: { type: \"boolean\" },\n default_branch: { type: \"string\" },\n delete_branch_on_merge: { type: \"boolean\" },\n description: { type: \"string\" },\n has_issues: { type: \"boolean\" },\n has_projects: { type: \"boolean\" },\n has_wiki: { type: \"boolean\" },\n homepage: { type: \"string\" },\n is_template: { type: \"boolean\" },\n name: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n private: { type: \"boolean\" },\n repo: { required: true, type: \"string\" },\n visibility: {\n enum: [\"public\", \"private\", \"visibility\", \"internal\"],\n type: \"string\"\n }\n },\n url: \"/repos/:owner/:repo\"\n },\n updateBranchProtection: {\n method: \"PUT\",\n params: {\n allow_deletions: { type: \"boolean\" },\n allow_force_pushes: { allowNull: true, type: \"boolean\" },\n branch: { required: true, type: \"string\" },\n enforce_admins: { allowNull: true, required: true, type: \"boolean\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n required_linear_history: { type: \"boolean\" },\n required_pull_request_reviews: {\n allowNull: true,\n required: true,\n type: \"object\"\n },\n \"required_pull_request_reviews.dismiss_stale_reviews\": {\n type: \"boolean\"\n },\n \"required_pull_request_reviews.dismissal_restrictions\": {\n type: \"object\"\n },\n \"required_pull_request_reviews.dismissal_restrictions.teams\": {\n type: \"string[]\"\n },\n \"required_pull_request_reviews.dismissal_restrictions.users\": {\n type: \"string[]\"\n },\n \"required_pull_request_reviews.require_code_owner_reviews\": {\n type: \"boolean\"\n },\n \"required_pull_request_reviews.required_approving_review_count\": {\n type: \"integer\"\n },\n required_status_checks: {\n allowNull: true,\n required: true,\n type: \"object\"\n },\n \"required_status_checks.contexts\": { required: true, type: \"string[]\" },\n \"required_status_checks.strict\": { required: true, type: \"boolean\" },\n restrictions: { allowNull: true, required: true, type: \"object\" },\n \"restrictions.apps\": { type: \"string[]\" },\n \"restrictions.teams\": { required: true, type: \"string[]\" },\n \"restrictions.users\": { required: true, type: \"string[]\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection\"\n },\n updateCommitComment: {\n method: \"PATCH\",\n params: {\n body: { required: true, type: \"string\" },\n comment_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/comments/:comment_id\"\n },\n updateFile: {\n deprecated: \"octokit.repos.updateFile() has been renamed to octokit.repos.createOrUpdateFile() (2019-06-07)\",\n method: \"PUT\",\n params: {\n author: { type: \"object\" },\n \"author.email\": { required: true, type: \"string\" },\n \"author.name\": { required: true, type: \"string\" },\n branch: { type: \"string\" },\n committer: { type: \"object\" },\n \"committer.email\": { required: true, type: \"string\" },\n \"committer.name\": { required: true, type: \"string\" },\n content: { required: true, type: \"string\" },\n message: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n path: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n sha: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/contents/:path\"\n },\n updateHook: {\n method: \"PATCH\",\n params: {\n active: { type: \"boolean\" },\n add_events: { type: \"string[]\" },\n config: { type: \"object\" },\n \"config.content_type\": { type: \"string\" },\n \"config.insecure_ssl\": { type: \"string\" },\n \"config.secret\": { type: \"string\" },\n \"config.url\": { required: true, type: \"string\" },\n events: { type: \"string[]\" },\n hook_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n remove_events: { type: \"string[]\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/hooks/:hook_id\"\n },\n updateInformationAboutPagesSite: {\n method: \"PUT\",\n params: {\n cname: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n source: {\n enum: ['\"gh-pages\"', '\"master\"', '\"master /docs\"'],\n type: \"string\"\n }\n },\n url: \"/repos/:owner/:repo/pages\"\n },\n updateInvitation: {\n method: \"PATCH\",\n params: {\n invitation_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n permissions: { enum: [\"read\", \"write\", \"admin\"], type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/invitations/:invitation_id\"\n },\n updateProtectedBranchPullRequestReviewEnforcement: {\n method: \"PATCH\",\n params: {\n branch: { required: true, type: \"string\" },\n dismiss_stale_reviews: { type: \"boolean\" },\n dismissal_restrictions: { type: \"object\" },\n \"dismissal_restrictions.teams\": { type: \"string[]\" },\n \"dismissal_restrictions.users\": { type: \"string[]\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n require_code_owner_reviews: { type: \"boolean\" },\n required_approving_review_count: { type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews\"\n },\n updateProtectedBranchRequiredStatusChecks: {\n method: \"PATCH\",\n params: {\n branch: { required: true, type: \"string\" },\n contexts: { type: \"string[]\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n strict: { type: \"boolean\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/required_status_checks\"\n },\n updateRelease: {\n method: \"PATCH\",\n params: {\n body: { type: \"string\" },\n draft: { type: \"boolean\" },\n name: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n prerelease: { type: \"boolean\" },\n release_id: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n tag_name: { type: \"string\" },\n target_commitish: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/releases/:release_id\"\n },\n updateReleaseAsset: {\n method: \"PATCH\",\n params: {\n asset_id: { required: true, type: \"integer\" },\n label: { type: \"string\" },\n name: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/releases/assets/:asset_id\"\n },\n uploadReleaseAsset: {\n method: \"POST\",\n params: {\n data: { mapTo: \"data\", required: true, type: \"string | object\" },\n file: { alias: \"data\", deprecated: true, type: \"string | object\" },\n headers: { required: true, type: \"object\" },\n \"headers.content-length\": { required: true, type: \"integer\" },\n \"headers.content-type\": { required: true, type: \"string\" },\n label: { type: \"string\" },\n name: { required: true, type: \"string\" },\n url: { required: true, type: \"string\" }\n },\n url: \":url\"\n }\n },\n search: {\n code: {\n method: \"GET\",\n params: {\n order: { enum: [\"desc\", \"asc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n q: { required: true, type: \"string\" },\n sort: { enum: [\"indexed\"], type: \"string\" }\n },\n url: \"/search/code\"\n },\n commits: {\n headers: { accept: \"application/vnd.github.cloak-preview+json\" },\n method: \"GET\",\n params: {\n order: { enum: [\"desc\", \"asc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n q: { required: true, type: \"string\" },\n sort: { enum: [\"author-date\", \"committer-date\"], type: \"string\" }\n },\n url: \"/search/commits\"\n },\n issues: {\n deprecated: \"octokit.search.issues() has been renamed to octokit.search.issuesAndPullRequests() (2018-12-27)\",\n method: \"GET\",\n params: {\n order: { enum: [\"desc\", \"asc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n q: { required: true, type: \"string\" },\n sort: {\n enum: [\n \"comments\",\n \"reactions\",\n \"reactions-+1\",\n \"reactions--1\",\n \"reactions-smile\",\n \"reactions-thinking_face\",\n \"reactions-heart\",\n \"reactions-tada\",\n \"interactions\",\n \"created\",\n \"updated\"\n ],\n type: \"string\"\n }\n },\n url: \"/search/issues\"\n },\n issuesAndPullRequests: {\n method: \"GET\",\n params: {\n order: { enum: [\"desc\", \"asc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n q: { required: true, type: \"string\" },\n sort: {\n enum: [\n \"comments\",\n \"reactions\",\n \"reactions-+1\",\n \"reactions--1\",\n \"reactions-smile\",\n \"reactions-thinking_face\",\n \"reactions-heart\",\n \"reactions-tada\",\n \"interactions\",\n \"created\",\n \"updated\"\n ],\n type: \"string\"\n }\n },\n url: \"/search/issues\"\n },\n labels: {\n method: \"GET\",\n params: {\n order: { enum: [\"desc\", \"asc\"], type: \"string\" },\n q: { required: true, type: \"string\" },\n repository_id: { required: true, type: \"integer\" },\n sort: { enum: [\"created\", \"updated\"], type: \"string\" }\n },\n url: \"/search/labels\"\n },\n repos: {\n method: \"GET\",\n params: {\n order: { enum: [\"desc\", \"asc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n q: { required: true, type: \"string\" },\n sort: {\n enum: [\"stars\", \"forks\", \"help-wanted-issues\", \"updated\"],\n type: \"string\"\n }\n },\n url: \"/search/repositories\"\n },\n topics: {\n method: \"GET\",\n params: { q: { required: true, type: \"string\" } },\n url: \"/search/topics\"\n },\n users: {\n method: \"GET\",\n params: {\n order: { enum: [\"desc\", \"asc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n q: { required: true, type: \"string\" },\n sort: { enum: [\"followers\", \"repositories\", \"joined\"], type: \"string\" }\n },\n url: \"/search/users\"\n }\n },\n teams: {\n addMember: {\n deprecated: \"octokit.teams.addMember() has been renamed to octokit.teams.addMemberLegacy() (2020-01-16)\",\n method: \"PUT\",\n params: {\n team_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/members/:username\"\n },\n addMemberLegacy: {\n deprecated: \"octokit.teams.addMemberLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#add-team-member-legacy\",\n method: \"PUT\",\n params: {\n team_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/members/:username\"\n },\n addOrUpdateMembership: {\n deprecated: \"octokit.teams.addOrUpdateMembership() has been renamed to octokit.teams.addOrUpdateMembershipLegacy() (2020-01-16)\",\n method: \"PUT\",\n params: {\n role: { enum: [\"member\", \"maintainer\"], type: \"string\" },\n team_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/memberships/:username\"\n },\n addOrUpdateMembershipInOrg: {\n method: \"PUT\",\n params: {\n org: { required: true, type: \"string\" },\n role: { enum: [\"member\", \"maintainer\"], type: \"string\" },\n team_slug: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/memberships/:username\"\n },\n addOrUpdateMembershipLegacy: {\n deprecated: \"octokit.teams.addOrUpdateMembershipLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#add-or-update-team-membership-legacy\",\n method: \"PUT\",\n params: {\n role: { enum: [\"member\", \"maintainer\"], type: \"string\" },\n team_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/memberships/:username\"\n },\n addOrUpdateProject: {\n deprecated: \"octokit.teams.addOrUpdateProject() has been renamed to octokit.teams.addOrUpdateProjectLegacy() (2020-01-16)\",\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"PUT\",\n params: {\n permission: { enum: [\"read\", \"write\", \"admin\"], type: \"string\" },\n project_id: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/projects/:project_id\"\n },\n addOrUpdateProjectInOrg: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"PUT\",\n params: {\n org: { required: true, type: \"string\" },\n permission: { enum: [\"read\", \"write\", \"admin\"], type: \"string\" },\n project_id: { required: true, type: \"integer\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/projects/:project_id\"\n },\n addOrUpdateProjectLegacy: {\n deprecated: \"octokit.teams.addOrUpdateProjectLegacy() is deprecated, see https://developer.github.com/v3/teams/#add-or-update-team-project-legacy\",\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"PUT\",\n params: {\n permission: { enum: [\"read\", \"write\", \"admin\"], type: \"string\" },\n project_id: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/projects/:project_id\"\n },\n addOrUpdateRepo: {\n deprecated: \"octokit.teams.addOrUpdateRepo() has been renamed to octokit.teams.addOrUpdateRepoLegacy() (2020-01-16)\",\n method: \"PUT\",\n params: {\n owner: { required: true, type: \"string\" },\n permission: { enum: [\"pull\", \"push\", \"admin\"], type: \"string\" },\n repo: { required: true, type: \"string\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/repos/:owner/:repo\"\n },\n addOrUpdateRepoInOrg: {\n method: \"PUT\",\n params: {\n org: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n permission: { enum: [\"pull\", \"push\", \"admin\"], type: \"string\" },\n repo: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/repos/:owner/:repo\"\n },\n addOrUpdateRepoLegacy: {\n deprecated: \"octokit.teams.addOrUpdateRepoLegacy() is deprecated, see https://developer.github.com/v3/teams/#add-or-update-team-repository-legacy\",\n method: \"PUT\",\n params: {\n owner: { required: true, type: \"string\" },\n permission: { enum: [\"pull\", \"push\", \"admin\"], type: \"string\" },\n repo: { required: true, type: \"string\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/repos/:owner/:repo\"\n },\n checkManagesRepo: {\n deprecated: \"octokit.teams.checkManagesRepo() has been renamed to octokit.teams.checkManagesRepoLegacy() (2020-01-16)\",\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/repos/:owner/:repo\"\n },\n checkManagesRepoInOrg: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/repos/:owner/:repo\"\n },\n checkManagesRepoLegacy: {\n deprecated: \"octokit.teams.checkManagesRepoLegacy() is deprecated, see https://developer.github.com/v3/teams/#check-if-a-team-manages-a-repository-legacy\",\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/repos/:owner/:repo\"\n },\n create: {\n method: \"POST\",\n params: {\n description: { type: \"string\" },\n maintainers: { type: \"string[]\" },\n name: { required: true, type: \"string\" },\n org: { required: true, type: \"string\" },\n parent_team_id: { type: \"integer\" },\n permission: { enum: [\"pull\", \"push\", \"admin\"], type: \"string\" },\n privacy: { enum: [\"secret\", \"closed\"], type: \"string\" },\n repo_names: { type: \"string[]\" }\n },\n url: \"/orgs/:org/teams\"\n },\n createDiscussion: {\n deprecated: \"octokit.teams.createDiscussion() has been renamed to octokit.teams.createDiscussionLegacy() (2020-01-16)\",\n method: \"POST\",\n params: {\n body: { required: true, type: \"string\" },\n private: { type: \"boolean\" },\n team_id: { required: true, type: \"integer\" },\n title: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/discussions\"\n },\n createDiscussionComment: {\n deprecated: \"octokit.teams.createDiscussionComment() has been renamed to octokit.teams.createDiscussionCommentLegacy() (2020-01-16)\",\n method: \"POST\",\n params: {\n body: { required: true, type: \"string\" },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments\"\n },\n createDiscussionCommentInOrg: {\n method: \"POST\",\n params: {\n body: { required: true, type: \"string\" },\n discussion_number: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments\"\n },\n createDiscussionCommentLegacy: {\n deprecated: \"octokit.teams.createDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#create-a-comment-legacy\",\n method: \"POST\",\n params: {\n body: { required: true, type: \"string\" },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments\"\n },\n createDiscussionInOrg: {\n method: \"POST\",\n params: {\n body: { required: true, type: \"string\" },\n org: { required: true, type: \"string\" },\n private: { type: \"boolean\" },\n team_slug: { required: true, type: \"string\" },\n title: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions\"\n },\n createDiscussionLegacy: {\n deprecated: \"octokit.teams.createDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#create-a-discussion-legacy\",\n method: \"POST\",\n params: {\n body: { required: true, type: \"string\" },\n private: { type: \"boolean\" },\n team_id: { required: true, type: \"integer\" },\n title: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/discussions\"\n },\n delete: {\n deprecated: \"octokit.teams.delete() has been renamed to octokit.teams.deleteLegacy() (2020-01-16)\",\n method: \"DELETE\",\n params: { team_id: { required: true, type: \"integer\" } },\n url: \"/teams/:team_id\"\n },\n deleteDiscussion: {\n deprecated: \"octokit.teams.deleteDiscussion() has been renamed to octokit.teams.deleteDiscussionLegacy() (2020-01-16)\",\n method: \"DELETE\",\n params: {\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number\"\n },\n deleteDiscussionComment: {\n deprecated: \"octokit.teams.deleteDiscussionComment() has been renamed to octokit.teams.deleteDiscussionCommentLegacy() (2020-01-16)\",\n method: \"DELETE\",\n params: {\n comment_number: { required: true, type: \"integer\" },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments/:comment_number\"\n },\n deleteDiscussionCommentInOrg: {\n method: \"DELETE\",\n params: {\n comment_number: { required: true, type: \"integer\" },\n discussion_number: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number\"\n },\n deleteDiscussionCommentLegacy: {\n deprecated: \"octokit.teams.deleteDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#delete-a-comment-legacy\",\n method: \"DELETE\",\n params: {\n comment_number: { required: true, type: \"integer\" },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments/:comment_number\"\n },\n deleteDiscussionInOrg: {\n method: \"DELETE\",\n params: {\n discussion_number: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions/:discussion_number\"\n },\n deleteDiscussionLegacy: {\n deprecated: \"octokit.teams.deleteDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#delete-a-discussion-legacy\",\n method: \"DELETE\",\n params: {\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number\"\n },\n deleteInOrg: {\n method: \"DELETE\",\n params: {\n org: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug\"\n },\n deleteLegacy: {\n deprecated: \"octokit.teams.deleteLegacy() is deprecated, see https://developer.github.com/v3/teams/#delete-team-legacy\",\n method: \"DELETE\",\n params: { team_id: { required: true, type: \"integer\" } },\n url: \"/teams/:team_id\"\n },\n get: {\n deprecated: \"octokit.teams.get() has been renamed to octokit.teams.getLegacy() (2020-01-16)\",\n method: \"GET\",\n params: { team_id: { required: true, type: \"integer\" } },\n url: \"/teams/:team_id\"\n },\n getByName: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug\"\n },\n getDiscussion: {\n deprecated: \"octokit.teams.getDiscussion() has been renamed to octokit.teams.getDiscussionLegacy() (2020-01-16)\",\n method: \"GET\",\n params: {\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number\"\n },\n getDiscussionComment: {\n deprecated: \"octokit.teams.getDiscussionComment() has been renamed to octokit.teams.getDiscussionCommentLegacy() (2020-01-16)\",\n method: \"GET\",\n params: {\n comment_number: { required: true, type: \"integer\" },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments/:comment_number\"\n },\n getDiscussionCommentInOrg: {\n method: \"GET\",\n params: {\n comment_number: { required: true, type: \"integer\" },\n discussion_number: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number\"\n },\n getDiscussionCommentLegacy: {\n deprecated: \"octokit.teams.getDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#get-a-single-comment-legacy\",\n method: \"GET\",\n params: {\n comment_number: { required: true, type: \"integer\" },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments/:comment_number\"\n },\n getDiscussionInOrg: {\n method: \"GET\",\n params: {\n discussion_number: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions/:discussion_number\"\n },\n getDiscussionLegacy: {\n deprecated: \"octokit.teams.getDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#get-a-single-discussion-legacy\",\n method: \"GET\",\n params: {\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number\"\n },\n getLegacy: {\n deprecated: \"octokit.teams.getLegacy() is deprecated, see https://developer.github.com/v3/teams/#get-team-legacy\",\n method: \"GET\",\n params: { team_id: { required: true, type: \"integer\" } },\n url: \"/teams/:team_id\"\n },\n getMember: {\n deprecated: \"octokit.teams.getMember() has been renamed to octokit.teams.getMemberLegacy() (2020-01-16)\",\n method: \"GET\",\n params: {\n team_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/members/:username\"\n },\n getMemberLegacy: {\n deprecated: \"octokit.teams.getMemberLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#get-team-member-legacy\",\n method: \"GET\",\n params: {\n team_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/members/:username\"\n },\n getMembership: {\n deprecated: \"octokit.teams.getMembership() has been renamed to octokit.teams.getMembershipLegacy() (2020-01-16)\",\n method: \"GET\",\n params: {\n team_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/memberships/:username\"\n },\n getMembershipInOrg: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/memberships/:username\"\n },\n getMembershipLegacy: {\n deprecated: \"octokit.teams.getMembershipLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#get-team-membership-legacy\",\n method: \"GET\",\n params: {\n team_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/memberships/:username\"\n },\n list: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/orgs/:org/teams\"\n },\n listChild: {\n deprecated: \"octokit.teams.listChild() has been renamed to octokit.teams.listChildLegacy() (2020-01-16)\",\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/teams\"\n },\n listChildInOrg: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/teams\"\n },\n listChildLegacy: {\n deprecated: \"octokit.teams.listChildLegacy() is deprecated, see https://developer.github.com/v3/teams/#list-child-teams-legacy\",\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/teams\"\n },\n listDiscussionComments: {\n deprecated: \"octokit.teams.listDiscussionComments() has been renamed to octokit.teams.listDiscussionCommentsLegacy() (2020-01-16)\",\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n discussion_number: { required: true, type: \"integer\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments\"\n },\n listDiscussionCommentsInOrg: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n discussion_number: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments\"\n },\n listDiscussionCommentsLegacy: {\n deprecated: \"octokit.teams.listDiscussionCommentsLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#list-comments-legacy\",\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n discussion_number: { required: true, type: \"integer\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments\"\n },\n listDiscussions: {\n deprecated: \"octokit.teams.listDiscussions() has been renamed to octokit.teams.listDiscussionsLegacy() (2020-01-16)\",\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions\"\n },\n listDiscussionsInOrg: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions\"\n },\n listDiscussionsLegacy: {\n deprecated: \"octokit.teams.listDiscussionsLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#list-discussions-legacy\",\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions\"\n },\n listForAuthenticatedUser: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/teams\"\n },\n listMembers: {\n deprecated: \"octokit.teams.listMembers() has been renamed to octokit.teams.listMembersLegacy() (2020-01-16)\",\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n role: { enum: [\"member\", \"maintainer\", \"all\"], type: \"string\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/members\"\n },\n listMembersInOrg: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n role: { enum: [\"member\", \"maintainer\", \"all\"], type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/members\"\n },\n listMembersLegacy: {\n deprecated: \"octokit.teams.listMembersLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#list-team-members-legacy\",\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n role: { enum: [\"member\", \"maintainer\", \"all\"], type: \"string\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/members\"\n },\n listPendingInvitations: {\n deprecated: \"octokit.teams.listPendingInvitations() has been renamed to octokit.teams.listPendingInvitationsLegacy() (2020-01-16)\",\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/invitations\"\n },\n listPendingInvitationsInOrg: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/invitations\"\n },\n listPendingInvitationsLegacy: {\n deprecated: \"octokit.teams.listPendingInvitationsLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#list-pending-team-invitations-legacy\",\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/invitations\"\n },\n listProjects: {\n deprecated: \"octokit.teams.listProjects() has been renamed to octokit.teams.listProjectsLegacy() (2020-01-16)\",\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/projects\"\n },\n listProjectsInOrg: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/projects\"\n },\n listProjectsLegacy: {\n deprecated: \"octokit.teams.listProjectsLegacy() is deprecated, see https://developer.github.com/v3/teams/#list-team-projects-legacy\",\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/projects\"\n },\n listRepos: {\n deprecated: \"octokit.teams.listRepos() has been renamed to octokit.teams.listReposLegacy() (2020-01-16)\",\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/repos\"\n },\n listReposInOrg: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/repos\"\n },\n listReposLegacy: {\n deprecated: \"octokit.teams.listReposLegacy() is deprecated, see https://developer.github.com/v3/teams/#list-team-repos-legacy\",\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/repos\"\n },\n removeMember: {\n deprecated: \"octokit.teams.removeMember() has been renamed to octokit.teams.removeMemberLegacy() (2020-01-16)\",\n method: \"DELETE\",\n params: {\n team_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/members/:username\"\n },\n removeMemberLegacy: {\n deprecated: \"octokit.teams.removeMemberLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#remove-team-member-legacy\",\n method: \"DELETE\",\n params: {\n team_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/members/:username\"\n },\n removeMembership: {\n deprecated: \"octokit.teams.removeMembership() has been renamed to octokit.teams.removeMembershipLegacy() (2020-01-16)\",\n method: \"DELETE\",\n params: {\n team_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/memberships/:username\"\n },\n removeMembershipInOrg: {\n method: \"DELETE\",\n params: {\n org: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/memberships/:username\"\n },\n removeMembershipLegacy: {\n deprecated: \"octokit.teams.removeMembershipLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#remove-team-membership-legacy\",\n method: \"DELETE\",\n params: {\n team_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/memberships/:username\"\n },\n removeProject: {\n deprecated: \"octokit.teams.removeProject() has been renamed to octokit.teams.removeProjectLegacy() (2020-01-16)\",\n method: \"DELETE\",\n params: {\n project_id: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/projects/:project_id\"\n },\n removeProjectInOrg: {\n method: \"DELETE\",\n params: {\n org: { required: true, type: \"string\" },\n project_id: { required: true, type: \"integer\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/projects/:project_id\"\n },\n removeProjectLegacy: {\n deprecated: \"octokit.teams.removeProjectLegacy() is deprecated, see https://developer.github.com/v3/teams/#remove-team-project-legacy\",\n method: \"DELETE\",\n params: {\n project_id: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/projects/:project_id\"\n },\n removeRepo: {\n deprecated: \"octokit.teams.removeRepo() has been renamed to octokit.teams.removeRepoLegacy() (2020-01-16)\",\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/repos/:owner/:repo\"\n },\n removeRepoInOrg: {\n method: \"DELETE\",\n params: {\n org: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/repos/:owner/:repo\"\n },\n removeRepoLegacy: {\n deprecated: \"octokit.teams.removeRepoLegacy() is deprecated, see https://developer.github.com/v3/teams/#remove-team-repository-legacy\",\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/repos/:owner/:repo\"\n },\n reviewProject: {\n deprecated: \"octokit.teams.reviewProject() has been renamed to octokit.teams.reviewProjectLegacy() (2020-01-16)\",\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: {\n project_id: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/projects/:project_id\"\n },\n reviewProjectInOrg: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n project_id: { required: true, type: \"integer\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/projects/:project_id\"\n },\n reviewProjectLegacy: {\n deprecated: \"octokit.teams.reviewProjectLegacy() is deprecated, see https://developer.github.com/v3/teams/#review-a-team-project-legacy\",\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: {\n project_id: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/projects/:project_id\"\n },\n update: {\n deprecated: \"octokit.teams.update() has been renamed to octokit.teams.updateLegacy() (2020-01-16)\",\n method: \"PATCH\",\n params: {\n description: { type: \"string\" },\n name: { required: true, type: \"string\" },\n parent_team_id: { type: \"integer\" },\n permission: { enum: [\"pull\", \"push\", \"admin\"], type: \"string\" },\n privacy: { enum: [\"secret\", \"closed\"], type: \"string\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id\"\n },\n updateDiscussion: {\n deprecated: \"octokit.teams.updateDiscussion() has been renamed to octokit.teams.updateDiscussionLegacy() (2020-01-16)\",\n method: \"PATCH\",\n params: {\n body: { type: \"string\" },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" },\n title: { type: \"string\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number\"\n },\n updateDiscussionComment: {\n deprecated: \"octokit.teams.updateDiscussionComment() has been renamed to octokit.teams.updateDiscussionCommentLegacy() (2020-01-16)\",\n method: \"PATCH\",\n params: {\n body: { required: true, type: \"string\" },\n comment_number: { required: true, type: \"integer\" },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments/:comment_number\"\n },\n updateDiscussionCommentInOrg: {\n method: \"PATCH\",\n params: {\n body: { required: true, type: \"string\" },\n comment_number: { required: true, type: \"integer\" },\n discussion_number: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number\"\n },\n updateDiscussionCommentLegacy: {\n deprecated: \"octokit.teams.updateDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#edit-a-comment-legacy\",\n method: \"PATCH\",\n params: {\n body: { required: true, type: \"string\" },\n comment_number: { required: true, type: \"integer\" },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments/:comment_number\"\n },\n updateDiscussionInOrg: {\n method: \"PATCH\",\n params: {\n body: { type: \"string\" },\n discussion_number: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" },\n title: { type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions/:discussion_number\"\n },\n updateDiscussionLegacy: {\n deprecated: \"octokit.teams.updateDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#edit-a-discussion-legacy\",\n method: \"PATCH\",\n params: {\n body: { type: \"string\" },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" },\n title: { type: \"string\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number\"\n },\n updateInOrg: {\n method: \"PATCH\",\n params: {\n description: { type: \"string\" },\n name: { required: true, type: \"string\" },\n org: { required: true, type: \"string\" },\n parent_team_id: { type: \"integer\" },\n permission: { enum: [\"pull\", \"push\", \"admin\"], type: \"string\" },\n privacy: { enum: [\"secret\", \"closed\"], type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug\"\n },\n updateLegacy: {\n deprecated: \"octokit.teams.updateLegacy() is deprecated, see https://developer.github.com/v3/teams/#edit-team-legacy\",\n method: \"PATCH\",\n params: {\n description: { type: \"string\" },\n name: { required: true, type: \"string\" },\n parent_team_id: { type: \"integer\" },\n permission: { enum: [\"pull\", \"push\", \"admin\"], type: \"string\" },\n privacy: { enum: [\"secret\", \"closed\"], type: \"string\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id\"\n }\n },\n users: {\n addEmails: {\n method: \"POST\",\n params: { emails: { required: true, type: \"string[]\" } },\n url: \"/user/emails\"\n },\n block: {\n method: \"PUT\",\n params: { username: { required: true, type: \"string\" } },\n url: \"/user/blocks/:username\"\n },\n checkBlocked: {\n method: \"GET\",\n params: { username: { required: true, type: \"string\" } },\n url: \"/user/blocks/:username\"\n },\n checkFollowing: {\n method: \"GET\",\n params: { username: { required: true, type: \"string\" } },\n url: \"/user/following/:username\"\n },\n checkFollowingForUser: {\n method: \"GET\",\n params: {\n target_user: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/following/:target_user\"\n },\n createGpgKey: {\n method: \"POST\",\n params: { armored_public_key: { type: \"string\" } },\n url: \"/user/gpg_keys\"\n },\n createPublicKey: {\n method: \"POST\",\n params: { key: { type: \"string\" }, title: { type: \"string\" } },\n url: \"/user/keys\"\n },\n deleteEmails: {\n method: \"DELETE\",\n params: { emails: { required: true, type: \"string[]\" } },\n url: \"/user/emails\"\n },\n deleteGpgKey: {\n method: \"DELETE\",\n params: { gpg_key_id: { required: true, type: \"integer\" } },\n url: \"/user/gpg_keys/:gpg_key_id\"\n },\n deletePublicKey: {\n method: \"DELETE\",\n params: { key_id: { required: true, type: \"integer\" } },\n url: \"/user/keys/:key_id\"\n },\n follow: {\n method: \"PUT\",\n params: { username: { required: true, type: \"string\" } },\n url: \"/user/following/:username\"\n },\n getAuthenticated: { method: \"GET\", params: {}, url: \"/user\" },\n getByUsername: {\n method: \"GET\",\n params: { username: { required: true, type: \"string\" } },\n url: \"/users/:username\"\n },\n getContextForUser: {\n method: \"GET\",\n params: {\n subject_id: { type: \"string\" },\n subject_type: {\n enum: [\"organization\", \"repository\", \"issue\", \"pull_request\"],\n type: \"string\"\n },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/hovercard\"\n },\n getGpgKey: {\n method: \"GET\",\n params: { gpg_key_id: { required: true, type: \"integer\" } },\n url: \"/user/gpg_keys/:gpg_key_id\"\n },\n getPublicKey: {\n method: \"GET\",\n params: { key_id: { required: true, type: \"integer\" } },\n url: \"/user/keys/:key_id\"\n },\n list: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n since: { type: \"string\" }\n },\n url: \"/users\"\n },\n listBlocked: { method: \"GET\", params: {}, url: \"/user/blocks\" },\n listEmails: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/emails\"\n },\n listFollowersForAuthenticatedUser: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/followers\"\n },\n listFollowersForUser: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/followers\"\n },\n listFollowingForAuthenticatedUser: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/following\"\n },\n listFollowingForUser: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/following\"\n },\n listGpgKeys: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/gpg_keys\"\n },\n listGpgKeysForUser: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/gpg_keys\"\n },\n listPublicEmails: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/public_emails\"\n },\n listPublicKeys: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/keys\"\n },\n listPublicKeysForUser: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/keys\"\n },\n togglePrimaryEmailVisibility: {\n method: \"PATCH\",\n params: {\n email: { required: true, type: \"string\" },\n visibility: { required: true, type: \"string\" }\n },\n url: \"/user/email/visibility\"\n },\n unblock: {\n method: \"DELETE\",\n params: { username: { required: true, type: \"string\" } },\n url: \"/user/blocks/:username\"\n },\n unfollow: {\n method: \"DELETE\",\n params: { username: { required: true, type: \"string\" } },\n url: \"/user/following/:username\"\n },\n updateAuthenticated: {\n method: \"PATCH\",\n params: {\n bio: { type: \"string\" },\n blog: { type: \"string\" },\n company: { type: \"string\" },\n email: { type: \"string\" },\n hireable: { type: \"boolean\" },\n location: { type: \"string\" },\n name: { type: \"string\" }\n },\n url: \"/user\"\n }\n }\n};\n","export const VERSION = \"2.4.0\";\n","import { Deprecation } from \"deprecation\";\nexport function registerEndpoints(octokit, routes) {\n Object.keys(routes).forEach(namespaceName => {\n if (!octokit[namespaceName]) {\n octokit[namespaceName] = {};\n }\n Object.keys(routes[namespaceName]).forEach(apiName => {\n const apiOptions = routes[namespaceName][apiName];\n const endpointDefaults = [\"method\", \"url\", \"headers\"].reduce((map, key) => {\n if (typeof apiOptions[key] !== \"undefined\") {\n map[key] = apiOptions[key];\n }\n return map;\n }, {});\n endpointDefaults.request = {\n validate: apiOptions.params\n };\n let request = octokit.request.defaults(endpointDefaults);\n // patch request & endpoint methods to support deprecated parameters.\n // Not the most elegant solution, but we don’t want to move deprecation\n // logic into octokit/endpoint.js as it’s out of scope\n const hasDeprecatedParam = Object.keys(apiOptions.params || {}).find(key => apiOptions.params[key].deprecated);\n if (hasDeprecatedParam) {\n const patch = patchForDeprecation.bind(null, octokit, apiOptions);\n request = patch(octokit.request.defaults(endpointDefaults), `.${namespaceName}.${apiName}()`);\n request.endpoint = patch(request.endpoint, `.${namespaceName}.${apiName}.endpoint()`);\n request.endpoint.merge = patch(request.endpoint.merge, `.${namespaceName}.${apiName}.endpoint.merge()`);\n }\n if (apiOptions.deprecated) {\n octokit[namespaceName][apiName] = Object.assign(function deprecatedEndpointMethod() {\n octokit.log.warn(new Deprecation(`[@octokit/rest] ${apiOptions.deprecated}`));\n octokit[namespaceName][apiName] = request;\n return request.apply(null, arguments);\n }, request);\n return;\n }\n octokit[namespaceName][apiName] = request;\n });\n });\n}\nfunction patchForDeprecation(octokit, apiOptions, method, methodName) {\n const patchedMethod = (options) => {\n options = Object.assign({}, options);\n Object.keys(options).forEach(key => {\n if (apiOptions.params[key] && apiOptions.params[key].deprecated) {\n const aliasKey = apiOptions.params[key].alias;\n octokit.log.warn(new Deprecation(`[@octokit/rest] \"${key}\" parameter is deprecated for \"${methodName}\". Use \"${aliasKey}\" instead`));\n if (!(aliasKey in options)) {\n options[aliasKey] = options[key];\n }\n delete options[key];\n }\n });\n return method(options);\n };\n Object.keys(method).forEach(key => {\n patchedMethod[key] = method[key];\n });\n return patchedMethod;\n}\n","import { Deprecation } from \"deprecation\";\nimport endpointsByScope from \"./generated/endpoints\";\nimport { VERSION } from \"./version\";\nimport { registerEndpoints } from \"./register-endpoints\";\n/**\n * This plugin is a 1:1 copy of internal @octokit/rest plugins. The primary\n * goal is to rebuild @octokit/rest on top of @octokit/core. Once that is\n * done, we will remove the registerEndpoints methods and return the methods\n * directly as with the other plugins. At that point we will also remove the\n * legacy workarounds and deprecations.\n *\n * See the plan at\n * https://github.com/octokit/plugin-rest-endpoint-methods.js/pull/1\n */\nexport function restEndpointMethods(octokit) {\n // @ts-ignore\n octokit.registerEndpoints = registerEndpoints.bind(null, octokit);\n registerEndpoints(octokit, endpointsByScope);\n // Aliasing scopes for backward compatibility\n // See https://github.com/octokit/rest.js/pull/1134\n [\n [\"gitdata\", \"git\"],\n [\"authorization\", \"oauthAuthorizations\"],\n [\"pullRequests\", \"pulls\"]\n ].forEach(([deprecatedScope, scope]) => {\n Object.defineProperty(octokit, deprecatedScope, {\n get() {\n octokit.log.warn(\n // @ts-ignore\n new Deprecation(`[@octokit/plugin-rest-endpoint-methods] \"octokit.${deprecatedScope}.*\" methods are deprecated, use \"octokit.${scope}.*\" instead`));\n // @ts-ignore\n return octokit[scope];\n }\n });\n });\n return {};\n}\nrestEndpointMethods.VERSION = VERSION;\n"],"names":["actions","cancelWorkflowRun","method","params","owner","required","type","repo","run_id","url","createOrUpdateSecretForRepo","encrypted_value","key_id","name","createRegistrationToken","createRemoveToken","deleteArtifact","artifact_id","deleteSecretFromRepo","downloadArtifact","archive_format","getArtifact","getPublicKey","getSecret","page","per_page","getSelfHostedRunner","runner_id","getWorkflow","workflow_id","getWorkflowJob","job_id","getWorkflowRun","listDownloadsForSelfHostedRunnerApplication","listJobsForWorkflowRun","listRepoWorkflowRuns","actor","branch","event","status","enum","listRepoWorkflows","listSecretsForRepo","listSelfHostedRunnersForRepo","listWorkflowJobLogs","listWorkflowRunArtifacts","listWorkflowRunLogs","listWorkflowRuns","reRunWorkflow","removeSelfHostedRunner","activity","checkStarringRepo","deleteRepoSubscription","deleteThreadSubscription","thread_id","getRepoSubscription","getThread","getThreadSubscription","listEventsForOrg","org","username","listEventsForUser","listFeeds","listNotifications","all","before","participating","since","listNotificationsForRepo","listPublicEvents","listPublicEventsForOrg","listPublicEventsForRepoNetwork","listPublicEventsForUser","listReceivedEventsForUser","listReceivedPublicEventsForUser","listRepoEvents","listReposStarredByAuthenticatedUser","direction","sort","listReposStarredByUser","listReposWatchedByUser","listStargazersForRepo","listWatchedReposForAuthenticatedUser","listWatchersForRepo","markAsRead","last_read_at","markNotificationsAsReadForRepo","markThreadAsRead","setRepoSubscription","ignored","subscribed","setThreadSubscription","starRepo","unstarRepo","apps","addRepoToInstallation","headers","accept","installation_id","repository_id","checkAccountIsAssociatedWithAny","account_id","checkAccountIsAssociatedWithAnyStubbed","checkAuthorization","deprecated","access_token","client_id","checkToken","createContentAttachment","body","content_reference_id","title","createFromManifest","code","createInstallationToken","permissions","repository_ids","deleteAuthorization","deleteInstallation","deleteToken","findOrgInstallation","findRepoInstallation","findUserInstallation","getAuthenticated","getBySlug","app_slug","getInstallation","getOrgInstallation","getRepoInstallation","getUserInstallation","listAccountsUserOrOrgOnPlan","plan_id","listAccountsUserOrOrgOnPlanStubbed","listInstallationReposForAuthenticatedUser","listInstallations","listInstallationsForAuthenticatedUser","listMarketplacePurchasesForAuthenticatedUser","listMarketplacePurchasesForAuthenticatedUserStubbed","listPlans","listPlansStubbed","listRepos","removeRepoFromInstallation","resetAuthorization","resetToken","revokeAuthorizationForApplication","revokeGrantForApplication","revokeInstallationToken","checks","create","completed_at","conclusion","details_url","external_id","head_sha","output","started_at","createSuite","get","check_run_id","getSuite","check_suite_id","listAnnotations","listForRef","check_name","filter","ref","listForSuite","listSuitesForRef","app_id","rerequestSuite","setSuitesPreferences","auto_trigger_checks","update","codesOfConduct","getConductCode","key","getForRepo","listConductCodes","emojis","gists","checkIsStarred","gist_id","description","files","public","createComment","delete","deleteComment","comment_id","fork","getComment","getRevision","sha","list","listComments","listCommits","listForks","listPublic","listPublicForUser","listStarred","star","unstar","updateComment","git","createBlob","content","encoding","createCommit","author","committer","message","parents","signature","tree","createRef","createTag","object","tag","tagger","createTree","base_tree","allowNull","deleteRef","getBlob","file_sha","getCommit","commit_sha","getRef","getTag","tag_sha","getTree","recursive","tree_sha","listMatchingRefs","listRefs","namespace","updateRef","force","gitignore","getTemplate","listTemplates","interactions","addOrUpdateRestrictionsForOrg","limit","addOrUpdateRestrictionsForRepo","getRestrictionsForOrg","getRestrictionsForRepo","removeRestrictionsForOrg","removeRestrictionsForRepo","issues","addAssignees","assignees","issue_number","number","alias","addLabels","labels","checkAssignee","assignee","milestone","createLabel","color","createMilestone","due_on","state","deleteLabel","deleteMilestone","milestone_number","getEvent","event_id","getLabel","getMilestone","listAssignees","listCommentsForRepo","listEvents","listEventsForRepo","listEventsForTimeline","listForAuthenticatedUser","listForOrg","listForRepo","creator","mentioned","listLabelsForMilestone","listLabelsForRepo","listLabelsOnIssue","listMilestonesForRepo","lock","lock_reason","removeAssignees","removeLabel","removeLabels","replaceLabels","unlock","updateLabel","current_name","updateMilestone","licenses","license","listCommonlyUsed","markdown","render","context","mode","text","renderRaw","data","mapTo","meta","migrations","cancelImport","deleteArchiveForAuthenticatedUser","migration_id","deleteArchiveForOrg","downloadArchiveForOrg","getArchiveForAuthenticatedUser","getArchiveForOrg","getCommitAuthors","getImportProgress","getLargeFiles","getStatusForAuthenticatedUser","getStatusForOrg","listReposForOrg","listReposForUser","mapCommitAuthor","author_id","email","setLfsPreference","use_lfs","startForAuthenticatedUser","exclude_attachments","lock_repositories","repositories","startForOrg","startImport","tfvc_project","vcs","vcs_password","vcs_url","vcs_username","unlockRepoForAuthenticatedUser","repo_name","unlockRepoForOrg","updateImport","oauthAuthorizations","createAuthorization","client_secret","fingerprint","note","note_url","scopes","authorization_id","deleteGrant","grant_id","getAuthorization","getGrant","getOrCreateAuthorizationForApp","getOrCreateAuthorizationForAppAndFingerprint","getOrCreateAuthorizationForAppFingerprint","listAuthorizations","listGrants","updateAuthorization","add_scopes","remove_scopes","orgs","addOrUpdateMembership","role","blockUser","checkBlockedUser","checkMembership","checkPublicMembership","concealMembership","convertMemberToOutsideCollaborator","createHook","active","config","events","createInvitation","invitee_id","team_ids","deleteHook","hook_id","getHook","getMembership","getMembershipForAuthenticatedUser","listBlockedUsers","listForUser","listHooks","listInvitationTeams","invitation_id","listMembers","listMemberships","listOutsideCollaborators","listPendingInvitations","listPublicMembers","pingHook","publicizeMembership","removeMember","removeMembership","removeOutsideCollaborator","unblockUser","billing_email","company","default_repository_permission","has_organization_projects","has_repository_projects","location","members_allowed_repository_creation_type","members_can_create_internal_repositories","members_can_create_private_repositories","members_can_create_public_repositories","members_can_create_repositories","updateHook","updateMembership","projects","addCollaborator","permission","project_id","createCard","column_id","content_id","content_type","createColumn","createForAuthenticatedUser","createForOrg","createForRepo","deleteCard","card_id","deleteColumn","getCard","getColumn","listCards","archived_state","listCollaborators","affiliation","listColumns","moveCard","position","validation","moveColumn","removeCollaborator","reviewUserPermissionLevel","organization_permission","private","updateCard","archived","updateColumn","pulls","checkIfMerged","pull_number","base","draft","head","maintainer_can_modify","commit_id","in_reply_to","line","path","side","start_line","start_side","createCommentReply","createFromIssue","issue","createReview","comments","createReviewCommentReply","createReviewRequest","reviewers","team_reviewers","deletePendingReview","review_id","deleteReviewRequest","dismissReview","getCommentsForReview","getReview","listFiles","listReviewRequests","listReviews","merge","commit_message","commit_title","merge_method","submitReview","updateBranch","expected_head_sha","updateReview","rateLimit","reactions","createForCommitComment","createForIssue","createForIssueComment","createForPullRequestReviewComment","createForTeamDiscussion","discussion_number","team_id","createForTeamDiscussionComment","comment_number","createForTeamDiscussionCommentInOrg","team_slug","createForTeamDiscussionCommentLegacy","createForTeamDiscussionInOrg","createForTeamDiscussionLegacy","reaction_id","listForCommitComment","listForIssue","listForIssueComment","listForPullRequestReviewComment","listForTeamDiscussion","listForTeamDiscussionComment","listForTeamDiscussionCommentInOrg","listForTeamDiscussionCommentLegacy","listForTeamDiscussionInOrg","listForTeamDiscussionLegacy","repos","acceptInvitation","addDeployKey","read_only","addProtectedBranchAdminEnforcement","addProtectedBranchAppRestrictions","addProtectedBranchRequiredSignatures","addProtectedBranchRequiredStatusChecksContexts","contexts","addProtectedBranchTeamRestrictions","teams","addProtectedBranchUserRestrictions","users","checkCollaborator","checkVulnerabilityAlerts","compareCommits","createCommitComment","createDeployment","auto_merge","environment","payload","production_environment","required_contexts","task","transient_environment","createDeploymentStatus","auto_inactive","deployment_id","environment_url","log_url","target_url","createDispatchEvent","client_payload","event_type","createFile","allow_merge_commit","allow_rebase_merge","allow_squash_merge","auto_init","delete_branch_on_merge","gitignore_template","has_issues","has_projects","has_wiki","homepage","is_template","license_template","visibility","createFork","organization","createInOrg","createOrUpdateFile","createRelease","prerelease","tag_name","target_commitish","createStatus","createUsingTemplate","template_owner","template_repo","declineInvitation","deleteCommitComment","deleteDownload","download_id","deleteFile","deleteInvitation","deleteRelease","release_id","deleteReleaseAsset","asset_id","disableAutomatedSecurityFixes","disablePagesSite","disableVulnerabilityAlerts","enableAutomatedSecurityFixes","enablePagesSite","source","enableVulnerabilityAlerts","getAppsWithAccessToProtectedBranch","getArchiveLink","getBranch","getBranchProtection","getClones","per","getCodeFrequencyStats","getCollaboratorPermissionLevel","getCombinedStatusForRef","getCommitActivityStats","getCommitComment","getCommitRefSha","getContents","getContributorsStats","getDeployKey","getDeployment","getDeploymentStatus","status_id","getDownload","getLatestPagesBuild","getLatestRelease","getPages","getPagesBuild","build_id","getParticipationStats","getProtectedBranchAdminEnforcement","getProtectedBranchPullRequestReviewEnforcement","getProtectedBranchRequiredSignatures","getProtectedBranchRequiredStatusChecks","getProtectedBranchRestrictions","getPunchCardStats","getReadme","getRelease","getReleaseAsset","getReleaseByTag","getTeamsWithAccessToProtectedBranch","getTopPaths","getTopReferrers","getUsersWithAccessToProtectedBranch","getViews","listAppsWithAccessToProtectedBranch","listAssetsForRelease","listBranches","protected","listBranchesForHeadCommit","listCommentsForCommit","listCommitComments","until","listContributors","anon","listDeployKeys","listDeploymentStatuses","listDeployments","listDownloads","listInvitations","listInvitationsForAuthenticatedUser","listLanguages","listPagesBuilds","listProtectedBranchRequiredStatusChecksContexts","listProtectedBranchTeamRestrictions","listProtectedBranchUserRestrictions","listPullRequestsAssociatedWithCommit","listReleases","listStatusesForRef","listTags","listTeams","listTeamsWithAccessToProtectedBranch","listTopics","listUsersWithAccessToProtectedBranch","removeBranchProtection","removeDeployKey","removeProtectedBranchAdminEnforcement","removeProtectedBranchAppRestrictions","removeProtectedBranchPullRequestReviewEnforcement","removeProtectedBranchRequiredSignatures","removeProtectedBranchRequiredStatusChecks","removeProtectedBranchRequiredStatusChecksContexts","removeProtectedBranchRestrictions","removeProtectedBranchTeamRestrictions","removeProtectedBranchUserRestrictions","replaceProtectedBranchAppRestrictions","replaceProtectedBranchRequiredStatusChecksContexts","replaceProtectedBranchTeamRestrictions","replaceProtectedBranchUserRestrictions","replaceTopics","names","requestPageBuild","retrieveCommunityProfileMetrics","testPushHook","transfer","new_owner","default_branch","updateBranchProtection","allow_deletions","allow_force_pushes","enforce_admins","required_linear_history","required_pull_request_reviews","required_status_checks","restrictions","updateCommitComment","updateFile","add_events","remove_events","updateInformationAboutPagesSite","cname","updateInvitation","updateProtectedBranchPullRequestReviewEnforcement","dismiss_stale_reviews","dismissal_restrictions","require_code_owner_reviews","required_approving_review_count","updateProtectedBranchRequiredStatusChecks","strict","updateRelease","updateReleaseAsset","label","uploadReleaseAsset","file","search","order","q","commits","issuesAndPullRequests","topics","addMember","addMemberLegacy","addOrUpdateMembershipInOrg","addOrUpdateMembershipLegacy","addOrUpdateProject","addOrUpdateProjectInOrg","addOrUpdateProjectLegacy","addOrUpdateRepo","addOrUpdateRepoInOrg","addOrUpdateRepoLegacy","checkManagesRepo","checkManagesRepoInOrg","checkManagesRepoLegacy","maintainers","parent_team_id","privacy","repo_names","createDiscussion","createDiscussionComment","createDiscussionCommentInOrg","createDiscussionCommentLegacy","createDiscussionInOrg","createDiscussionLegacy","deleteDiscussion","deleteDiscussionComment","deleteDiscussionCommentInOrg","deleteDiscussionCommentLegacy","deleteDiscussionInOrg","deleteDiscussionLegacy","deleteInOrg","deleteLegacy","getByName","getDiscussion","getDiscussionComment","getDiscussionCommentInOrg","getDiscussionCommentLegacy","getDiscussionInOrg","getDiscussionLegacy","getLegacy","getMember","getMemberLegacy","getMembershipInOrg","getMembershipLegacy","listChild","listChildInOrg","listChildLegacy","listDiscussionComments","listDiscussionCommentsInOrg","listDiscussionCommentsLegacy","listDiscussions","listDiscussionsInOrg","listDiscussionsLegacy","listMembersInOrg","listMembersLegacy","listPendingInvitationsInOrg","listPendingInvitationsLegacy","listProjects","listProjectsInOrg","listProjectsLegacy","listReposInOrg","listReposLegacy","removeMemberLegacy","removeMembershipInOrg","removeMembershipLegacy","removeProject","removeProjectInOrg","removeProjectLegacy","removeRepo","removeRepoInOrg","removeRepoLegacy","reviewProject","reviewProjectInOrg","reviewProjectLegacy","updateDiscussion","updateDiscussionComment","updateDiscussionCommentInOrg","updateDiscussionCommentLegacy","updateDiscussionInOrg","updateDiscussionLegacy","updateInOrg","updateLegacy","addEmails","emails","block","checkBlocked","checkFollowing","checkFollowingForUser","target_user","createGpgKey","armored_public_key","createPublicKey","deleteEmails","deleteGpgKey","gpg_key_id","deletePublicKey","follow","getByUsername","getContextForUser","subject_id","subject_type","getGpgKey","listBlocked","listEmails","listFollowersForAuthenticatedUser","listFollowersForUser","listFollowingForAuthenticatedUser","listFollowingForUser","listGpgKeys","listGpgKeysForUser","listPublicEmails","listPublicKeys","listPublicKeysForUser","togglePrimaryEmailVisibility","unblock","unfollow","updateAuthenticated","bio","blog","hireable","VERSION","registerEndpoints","octokit","routes","Object","keys","forEach","namespaceName","apiName","apiOptions","endpointDefaults","reduce","map","request","validate","defaults","hasDeprecatedParam","find","patch","patchForDeprecation","bind","endpoint","assign","deprecatedEndpointMethod","log","warn","Deprecation","apply","arguments","methodName","patchedMethod","options","aliasKey","restEndpointMethods","endpointsByScope","deprecatedScope","scope","defineProperty"],"mappings":";;;;;;AAAA,uBAAe;EACXA,OAAO,EAAE;IACLC,iBAAiB,EAAE;MACfC,MAAM,EAAE,MADO;MAEfC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJE,MAAM,EAAE;UAAEH,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALrB;MAOfG,GAAG,EAAE;KARJ;IAULC,2BAA2B,EAAE;MACzBR,MAAM,EAAE,KADiB;MAEzBC,MAAM,EAAE;QACJQ,eAAe,EAAE;UAAEL,IAAI,EAAE;SADrB;QAEJM,MAAM,EAAE;UAAEN,IAAI,EAAE;SAFZ;QAGJO,IAAI,EAAE;UAAER,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH1B;QAIJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ3B;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPT;MASzBG,GAAG,EAAE;KAnBJ;IAqBLK,uBAAuB,EAAE;MACrBZ,MAAM,EAAE,MADa;MAErBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJb;MAMrBG,GAAG,EAAE;KA3BJ;IA6BLM,iBAAiB,EAAE;MACfb,MAAM,EAAE,MADO;MAEfC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJnB;MAMfG,GAAG,EAAE;KAnCJ;IAqCLO,cAAc,EAAE;MACZd,MAAM,EAAE,QADI;MAEZC,MAAM,EAAE;QACJc,WAAW,EAAE;UAAEZ,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADjC;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALtB;MAOZG,GAAG,EAAE;KA5CJ;IA8CLS,oBAAoB,EAAE;MAClBhB,MAAM,EAAE,QADU;MAElBC,MAAM,EAAE;QACJU,IAAI,EAAE;UAAER,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALhB;MAOlBG,GAAG,EAAE;KArDJ;IAuDLU,gBAAgB,EAAE;MACdjB,MAAM,EAAE,KADM;MAEdC,MAAM,EAAE;QACJiB,cAAc,EAAE;UAAEf,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADpC;QAEJW,WAAW,EAAE;UAAEZ,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFjC;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANpB;MAQdG,GAAG,EAAE;KA/DJ;IAiELY,WAAW,EAAE;MACTnB,MAAM,EAAE,KADC;MAETC,MAAM,EAAE;QACJc,WAAW,EAAE;UAAEZ,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADjC;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALzB;MAOTG,GAAG,EAAE;KAxEJ;IA0ELa,YAAY,EAAE;MACVpB,MAAM,EAAE,KADE;MAEVC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJxB;MAMVG,GAAG,EAAE;KAhFJ;IAkFLc,SAAS,EAAE;MACPrB,MAAM,EAAE,KADD;MAEPC,MAAM,EAAE;QACJU,IAAI,EAAE;UAAER,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAJd;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAP3B;MASPG,GAAG,EAAE;KA3FJ;IA6FLiB,mBAAmB,EAAE;MACjBxB,MAAM,EAAE,KADS;MAEjBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJqB,SAAS,EAAE;UAAEtB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALtB;MAOjBG,GAAG,EAAE;KApGJ;IAsGLmB,WAAW,EAAE;MACT1B,MAAM,EAAE,KADC;MAETC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJuB,WAAW,EAAE;UAAExB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALhC;MAOTG,GAAG,EAAE;KA7GJ;IA+GLqB,cAAc,EAAE;MACZ5B,MAAM,EAAE,KADI;MAEZC,MAAM,EAAE;QACJ4B,MAAM,EAAE;UAAE1B,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALtB;MAOZG,GAAG,EAAE;KAtHJ;IAwHLuB,cAAc,EAAE;MACZ9B,MAAM,EAAE,KADI;MAEZC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJE,MAAM,EAAE;UAAEH,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALxB;MAOZG,GAAG,EAAE;KA/HJ;IAiILwB,2CAA2C,EAAE;MACzC/B,MAAM,EAAE,KADiC;MAEzCC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJO;MAMzCG,GAAG,EAAE;KAvIJ;IAyILyB,sBAAsB,EAAE;MACpBhC,MAAM,EAAE,KADY;MAEpBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ1B;QAKJE,MAAM,EAAE;UAAEH,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPhB;MASpBG,GAAG,EAAE;KAlJJ;IAoJL0B,oBAAoB,EAAE;MAClBjC,MAAM,EAAE,KADU;MAElBC,MAAM,EAAE;QACJiC,KAAK,EAAE;UAAE9B,IAAI,EAAE;SADX;QAEJ+B,MAAM,EAAE;UAAE/B,IAAI,EAAE;SAFZ;QAGJgC,KAAK,EAAE;UAAEhC,IAAI,EAAE;SAHX;QAIJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ3B;QAKJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SALV;QAMJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SANd;QAOJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAP1B;QAQJiC,MAAM,EAAE;UAAEC,IAAI,EAAE,CAAC,WAAD,EAAc,QAAd,EAAwB,YAAxB,CAAR;UAA+ClC,IAAI,EAAE;;OAV/C;MAYlBG,GAAG,EAAE;KAhKJ;IAkKLgC,iBAAiB,EAAE;MACfvC,MAAM,EAAE,KADO;MAEfC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANnB;MAQfG,GAAG,EAAE;KA1KJ;IA4KLiC,kBAAkB,EAAE;MAChBxC,MAAM,EAAE,KADQ;MAEhBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANlB;MAQhBG,GAAG,EAAE;KApLJ;IAsLLkC,4BAA4B,EAAE;MAC1BzC,MAAM,EAAE,KADkB;MAE1BC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANR;MAQ1BG,GAAG,EAAE;KA9LJ;IAgMLmC,mBAAmB,EAAE;MACjB1C,MAAM,EAAE,KADS;MAEjBC,MAAM,EAAE;QACJ4B,MAAM,EAAE;UAAE1B,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAJd;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPjB;MASjBG,GAAG,EAAE;KAzMJ;IA2MLoC,wBAAwB,EAAE;MACtB3C,MAAM,EAAE,KADc;MAEtBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ1B;QAKJE,MAAM,EAAE;UAAEH,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPd;MAStBG,GAAG,EAAE;KApNJ;IAsNLqC,mBAAmB,EAAE;MACjB5C,MAAM,EAAE,KADS;MAEjBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ1B;QAKJE,MAAM,EAAE;UAAEH,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPnB;MASjBG,GAAG,EAAE;KA/NJ;IAiOLsC,gBAAgB,EAAE;MACd7C,MAAM,EAAE,KADM;MAEdC,MAAM,EAAE;QACJiC,KAAK,EAAE;UAAE9B,IAAI,EAAE;SADX;QAEJ+B,MAAM,EAAE;UAAE/B,IAAI,EAAE;SAFZ;QAGJgC,KAAK,EAAE;UAAEhC,IAAI,EAAE;SAHX;QAIJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ3B;QAKJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SALV;QAMJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SANd;QAOJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAP1B;QAQJiC,MAAM,EAAE;UAAEC,IAAI,EAAE,CAAC,WAAD,EAAc,QAAd,EAAwB,YAAxB,CAAR;UAA+ClC,IAAI,EAAE;SARzD;QASJuB,WAAW,EAAE;UAAExB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAX3B;MAadG,GAAG,EAAE;KA9OJ;IAgPLuC,aAAa,EAAE;MACX9C,MAAM,EAAE,MADG;MAEXC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJE,MAAM,EAAE;UAAEH,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALzB;MAOXG,GAAG,EAAE;KAvPJ;IAyPLwC,sBAAsB,EAAE;MACpB/C,MAAM,EAAE,QADY;MAEpBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJqB,SAAS,EAAE;UAAEtB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALnB;MAOpBG,GAAG,EAAE;;GAjQF;EAoQXyC,QAAQ,EAAE;IACNC,iBAAiB,EAAE;MACfjD,MAAM,EAAE,KADO;MAEfC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJnB;MAMfG,GAAG,EAAE;KAPH;IASN2C,sBAAsB,EAAE;MACpBlD,MAAM,EAAE,QADY;MAEpBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJd;MAMpBG,GAAG,EAAE;KAfH;IAiBN4C,wBAAwB,EAAE;MACtBnD,MAAM,EAAE,QADc;MAEtBC,MAAM,EAAE;QAAEmD,SAAS,EAAE;UAAEjD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAFvB;MAGtBG,GAAG,EAAE;KApBH;IAsBN8C,mBAAmB,EAAE;MACjBrD,MAAM,EAAE,KADS;MAEjBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJjB;MAMjBG,GAAG,EAAE;KA5BH;IA8BN+C,SAAS,EAAE;MACPtD,MAAM,EAAE,KADD;MAEPC,MAAM,EAAE;QAAEmD,SAAS,EAAE;UAAEjD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAFtC;MAGPG,GAAG,EAAE;KAjCH;IAmCNgD,qBAAqB,EAAE;MACnBvD,MAAM,EAAE,KADW;MAEnBC,MAAM,EAAE;QAAEmD,SAAS,EAAE;UAAEjD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAF1B;MAGnBG,GAAG,EAAE;KAtCH;IAwCNiD,gBAAgB,EAAE;MACdxD,MAAM,EAAE,KADM;MAEdC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANxB;MAQdG,GAAG,EAAE;KAhDH;IAkDNoD,iBAAiB,EAAE;MACf3D,MAAM,EAAE,KADO;MAEfC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALvB;MAOfG,GAAG,EAAE;KAzDH;IA2DNqD,SAAS,EAAE;MAAE5D,MAAM,EAAE,KAAV;MAAiBC,MAAM,EAAE,EAAzB;MAA6BM,GAAG,EAAE;KA3DvC;IA4DNsD,iBAAiB,EAAE;MACf7D,MAAM,EAAE,KADO;MAEfC,MAAM,EAAE;QACJ6D,GAAG,EAAE;UAAE1D,IAAI,EAAE;SADT;QAEJ2D,MAAM,EAAE;UAAE3D,IAAI,EAAE;SAFZ;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJ4D,aAAa,EAAE;UAAE5D,IAAI,EAAE;SAJnB;QAKJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SALd;QAMJ6D,KAAK,EAAE;UAAE7D,IAAI,EAAE;;OARJ;MAUfG,GAAG,EAAE;KAtEH;IAwEN2D,wBAAwB,EAAE;MACtBlE,MAAM,EAAE,KADc;MAEtBC,MAAM,EAAE;QACJ6D,GAAG,EAAE;UAAE1D,IAAI,EAAE;SADT;QAEJ2D,MAAM,EAAE;UAAE3D,IAAI,EAAE;SAFZ;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAJV;QAKJ4D,aAAa,EAAE;UAAE5D,IAAI,EAAE;SALnB;QAMJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SANd;QAOJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAP1B;QAQJ6D,KAAK,EAAE;UAAE7D,IAAI,EAAE;;OAVG;MAYtBG,GAAG,EAAE;KApFH;IAsFN4D,gBAAgB,EAAE;MACdnE,MAAM,EAAE,KADM;MAEdC,MAAM,EAAE;QAAEqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAAhB;QAA6BmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OAFzC;MAGdG,GAAG,EAAE;KAzFH;IA2FN6D,sBAAsB,EAAE;MACpBpE,MAAM,EAAE,KADY;MAEpBC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OALF;MAOpBG,GAAG,EAAE;KAlGH;IAoGN8D,8BAA8B,EAAE;MAC5BrE,MAAM,EAAE,KADoB;MAE5BC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANN;MAQ5BG,GAAG,EAAE;KA5GH;IA8GN+D,uBAAuB,EAAE;MACrBtE,MAAM,EAAE,KADa;MAErBC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALjB;MAOrBG,GAAG,EAAE;KArHH;IAuHNgE,yBAAyB,EAAE;MACvBvE,MAAM,EAAE,KADe;MAEvBC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALf;MAOvBG,GAAG,EAAE;KA9HH;IAgINiE,+BAA+B,EAAE;MAC7BxE,MAAM,EAAE,KADqB;MAE7BC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALT;MAO7BG,GAAG,EAAE;KAvIH;IAyINkE,cAAc,EAAE;MACZzE,MAAM,EAAE,KADI;MAEZC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANtB;MAQZG,GAAG,EAAE;KAjJH;IAmJNmE,mCAAmC,EAAE;MACjC1E,MAAM,EAAE,KADyB;MAEjCC,MAAM,EAAE;QACJ0E,SAAS,EAAE;UAAErC,IAAI,EAAE,CAAC,KAAD,EAAQ,MAAR,CAAR;UAAyBlC,IAAI,EAAE;SADtC;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJwE,IAAI,EAAE;UAAEtC,IAAI,EAAE,CAAC,SAAD,EAAY,SAAZ,CAAR;UAAgClC,IAAI,EAAE;;OANf;MAQjCG,GAAG,EAAE;KA3JH;IA6JNsE,sBAAsB,EAAE;MACpB7E,MAAM,EAAE,KADY;MAEpBC,MAAM,EAAE;QACJ0E,SAAS,EAAE;UAAErC,IAAI,EAAE,CAAC,KAAD,EAAQ,MAAR,CAAR;UAAyBlC,IAAI,EAAE;SADtC;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJwE,IAAI,EAAE;UAAEtC,IAAI,EAAE,CAAC,SAAD,EAAY,SAAZ,CAAR;UAAgClC,IAAI,EAAE;SAJxC;QAKJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPlB;MASpBG,GAAG,EAAE;KAtKH;IAwKNuE,sBAAsB,EAAE;MACpB9E,MAAM,EAAE,KADY;MAEpBC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALlB;MAOpBG,GAAG,EAAE;KA/KH;IAiLNwE,qBAAqB,EAAE;MACnB/E,MAAM,EAAE,KADW;MAEnBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANf;MAQnBG,GAAG,EAAE;KAzLH;IA2LNyE,oCAAoC,EAAE;MAClChF,MAAM,EAAE,KAD0B;MAElCC,MAAM,EAAE;QAAEqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAAhB;QAA6BmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OAFrB;MAGlCG,GAAG,EAAE;KA9LH;IAgMN0E,mBAAmB,EAAE;MACjBjF,MAAM,EAAE,KADS;MAEjBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANjB;MAQjBG,GAAG,EAAE;KAxMH;IA0MN2E,UAAU,EAAE;MACRlF,MAAM,EAAE,KADA;MAERC,MAAM,EAAE;QAAEkF,YAAY,EAAE;UAAE/E,IAAI,EAAE;;OAFxB;MAGRG,GAAG,EAAE;KA7MH;IA+MN6E,8BAA8B,EAAE;MAC5BpF,MAAM,EAAE,KADoB;MAE5BC,MAAM,EAAE;QACJkF,YAAY,EAAE;UAAE/E,IAAI,EAAE;SADlB;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALN;MAO5BG,GAAG,EAAE;KAtNH;IAwNN8E,gBAAgB,EAAE;MACdrF,MAAM,EAAE,OADM;MAEdC,MAAM,EAAE;QAAEmD,SAAS,EAAE;UAAEjD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAF/B;MAGdG,GAAG,EAAE;KA3NH;IA6NN+E,mBAAmB,EAAE;MACjBtF,MAAM,EAAE,KADS;MAEjBC,MAAM,EAAE;QACJsF,OAAO,EAAE;UAAEnF,IAAI,EAAE;SADb;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH1B;QAIJoF,UAAU,EAAE;UAAEpF,IAAI,EAAE;;OANP;MAQjBG,GAAG,EAAE;KArOH;IAuONkF,qBAAqB,EAAE;MACnBzF,MAAM,EAAE,KADW;MAEnBC,MAAM,EAAE;QACJsF,OAAO,EAAE;UAAEnF,IAAI,EAAE;SADb;QAEJgD,SAAS,EAAE;UAAEjD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJpB;MAMnBG,GAAG,EAAE;KA7OH;IA+ONmF,QAAQ,EAAE;MACN1F,MAAM,EAAE,KADF;MAENC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJ5B;MAMNG,GAAG,EAAE;KArPH;IAuPNoF,UAAU,EAAE;MACR3F,MAAM,EAAE,QADA;MAERC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJ1B;MAMRG,GAAG,EAAE;;GAjgBF;EAogBXqF,IAAI,EAAE;IACFC,qBAAqB,EAAE;MACnBC,OAAO,EAAE;QAAEC,MAAM,EAAE;OADA;MAEnB/F,MAAM,EAAE,KAFW;MAGnBC,MAAM,EAAE;QACJ+F,eAAe,EAAE;UAAE7F,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADrC;QAEJ6F,aAAa,EAAE;UAAE9F,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALxB;MAOnBG,GAAG,EAAE;KARP;IAUF2F,+BAA+B,EAAE;MAC7BlG,MAAM,EAAE,KADqB;MAE7BC,MAAM,EAAE;QAAEkG,UAAU,EAAE;UAAEhG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAFjB;MAG7BG,GAAG,EAAE;KAbP;IAeF6F,sCAAsC,EAAE;MACpCpG,MAAM,EAAE,KAD4B;MAEpCC,MAAM,EAAE;QAAEkG,UAAU,EAAE;UAAEhG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAFV;MAGpCG,GAAG,EAAE;KAlBP;IAoBF8F,kBAAkB,EAAE;MAChBC,UAAU,EAAE,sIADI;MAEhBtG,MAAM,EAAE,KAFQ;MAGhBC,MAAM,EAAE;QACJsG,YAAY,EAAE;UAAEpG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJoG,SAAS,EAAE;UAAErG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALvB;MAOhBG,GAAG,EAAE;KA3BP;IA6BFkG,UAAU,EAAE;MACRX,OAAO,EAAE;QAAEC,MAAM,EAAE;OADX;MAER/F,MAAM,EAAE,MAFA;MAGRC,MAAM,EAAE;QACJsG,YAAY,EAAE;UAAEnG,IAAI,EAAE;SADlB;QAEJoG,SAAS,EAAE;UAAErG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL/B;MAORG,GAAG,EAAE;KApCP;IAsCFmG,uBAAuB,EAAE;MACrBZ,OAAO,EAAE;QAAEC,MAAM,EAAE;OADE;MAErB/F,MAAM,EAAE,MAFa;MAGrBC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAExG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJwG,oBAAoB,EAAE;UAAEzG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1C;QAGJyG,KAAK,EAAE;UAAE1G,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANd;MAQrBG,GAAG,EAAE;KA9CP;IAgDFuG,kBAAkB,EAAE;MAChBhB,OAAO,EAAE;QAAEC,MAAM,EAAE;OADH;MAEhB/F,MAAM,EAAE,MAFQ;MAGhBC,MAAM,EAAE;QAAE8G,IAAI,EAAE;UAAE5G,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAHxB;MAIhBG,GAAG,EAAE;KApDP;IAsDFyG,uBAAuB,EAAE;MACrBlB,OAAO,EAAE;QAAEC,MAAM,EAAE;OADE;MAErB/F,MAAM,EAAE,MAFa;MAGrBC,MAAM,EAAE;QACJ+F,eAAe,EAAE;UAAE7F,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADrC;QAEJ6G,WAAW,EAAE;UAAE7G,IAAI,EAAE;SAFjB;QAGJ8G,cAAc,EAAE;UAAE9G,IAAI,EAAE;;OANP;MAQrBG,GAAG,EAAE;KA9DP;IAgEF4G,mBAAmB,EAAE;MACjBrB,OAAO,EAAE;QAAEC,MAAM,EAAE;OADF;MAEjB/F,MAAM,EAAE,QAFS;MAGjBC,MAAM,EAAE;QACJsG,YAAY,EAAE;UAAEnG,IAAI,EAAE;SADlB;QAEJoG,SAAS,EAAE;UAAErG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALtB;MAOjBG,GAAG,EAAE;KAvEP;IAyEF6G,kBAAkB,EAAE;MAChBtB,OAAO,EAAE;QACLC,MAAM,EAAE;OAFI;MAIhB/F,MAAM,EAAE,QAJQ;MAKhBC,MAAM,EAAE;QAAE+F,eAAe,EAAE;UAAE7F,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALnC;MAMhBG,GAAG,EAAE;KA/EP;IAiFF8G,WAAW,EAAE;MACTvB,OAAO,EAAE;QAAEC,MAAM,EAAE;OADV;MAET/F,MAAM,EAAE,QAFC;MAGTC,MAAM,EAAE;QACJsG,YAAY,EAAE;UAAEnG,IAAI,EAAE;SADlB;QAEJoG,SAAS,EAAE;UAAErG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL9B;MAOTG,GAAG,EAAE;KAxFP;IA0FF+G,mBAAmB,EAAE;MACjBhB,UAAU,EAAE,uGADK;MAEjBR,OAAO,EAAE;QAAEC,MAAM,EAAE;OAFF;MAGjB/F,MAAM,EAAE,KAHS;MAIjBC,MAAM,EAAE;QAAEwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJtB;MAKjBG,GAAG,EAAE;KA/FP;IAiGFgH,oBAAoB,EAAE;MAClBjB,UAAU,EAAE,yGADM;MAElBR,OAAO,EAAE;QAAEC,MAAM,EAAE;OAFD;MAGlB/F,MAAM,EAAE,KAHU;MAIlBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANhB;MAQlBG,GAAG,EAAE;KAzGP;IA2GFiH,oBAAoB,EAAE;MAClBlB,UAAU,EAAE,yGADM;MAElBR,OAAO,EAAE;QAAEC,MAAM,EAAE;OAFD;MAGlB/F,MAAM,EAAE,KAHU;MAIlBC,MAAM,EAAE;QAAEyD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJ1B;MAKlBG,GAAG,EAAE;KAhHP;IAkHFkH,gBAAgB,EAAE;MACd3B,OAAO,EAAE;QAAEC,MAAM,EAAE;OADL;MAEd/F,MAAM,EAAE,KAFM;MAGdC,MAAM,EAAE,EAHM;MAIdM,GAAG,EAAE;KAtHP;IAwHFmH,SAAS,EAAE;MACP5B,OAAO,EAAE;QAAEC,MAAM,EAAE;OADZ;MAEP/F,MAAM,EAAE,KAFD;MAGPC,MAAM,EAAE;QAAE0H,QAAQ,EAAE;UAAExH,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAHrC;MAIPG,GAAG,EAAE;KA5HP;IA8HFqH,eAAe,EAAE;MACb9B,OAAO,EAAE;QAAEC,MAAM,EAAE;OADN;MAEb/F,MAAM,EAAE,KAFK;MAGbC,MAAM,EAAE;QAAE+F,eAAe,EAAE;UAAE7F,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAHtC;MAIbG,GAAG,EAAE;KAlIP;IAoIFsH,kBAAkB,EAAE;MAChB/B,OAAO,EAAE;QAAEC,MAAM,EAAE;OADH;MAEhB/F,MAAM,EAAE,KAFQ;MAGhBC,MAAM,EAAE;QAAEwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAHvB;MAIhBG,GAAG,EAAE;KAxIP;IA0IFuH,mBAAmB,EAAE;MACjBhC,OAAO,EAAE;QAAEC,MAAM,EAAE;OADF;MAEjB/F,MAAM,EAAE,KAFS;MAGjBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALjB;MAOjBG,GAAG,EAAE;KAjJP;IAmJFwH,mBAAmB,EAAE;MACjBjC,OAAO,EAAE;QAAEC,MAAM,EAAE;OADF;MAEjB/F,MAAM,EAAE,KAFS;MAGjBC,MAAM,EAAE;QAAEyD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAH3B;MAIjBG,GAAG,EAAE;KAvJP;IAyJFyH,2BAA2B,EAAE;MACzBhI,MAAM,EAAE,KADiB;MAEzBC,MAAM,EAAE;QACJ0E,SAAS,EAAE;UAAErC,IAAI,EAAE,CAAC,KAAD,EAAQ,MAAR,CAAR;UAAyBlC,IAAI,EAAE;SADtC;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJ6H,OAAO,EAAE;UAAE9H,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ7B;QAKJwE,IAAI,EAAE;UAAEtC,IAAI,EAAE,CAAC,SAAD,EAAY,SAAZ,CAAR;UAAgClC,IAAI,EAAE;;OAPvB;MASzBG,GAAG,EAAE;KAlKP;IAoKF2H,kCAAkC,EAAE;MAChClI,MAAM,EAAE,KADwB;MAEhCC,MAAM,EAAE;QACJ0E,SAAS,EAAE;UAAErC,IAAI,EAAE,CAAC,KAAD,EAAQ,MAAR,CAAR;UAAyBlC,IAAI,EAAE;SADtC;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJ6H,OAAO,EAAE;UAAE9H,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ7B;QAKJwE,IAAI,EAAE;UAAEtC,IAAI,EAAE,CAAC,SAAD,EAAY,SAAZ,CAAR;UAAgClC,IAAI,EAAE;;OAPhB;MAShCG,GAAG,EAAE;KA7KP;IA+KF4H,yCAAyC,EAAE;MACvCrC,OAAO,EAAE;QAAEC,MAAM,EAAE;OADoB;MAEvC/F,MAAM,EAAE,KAF+B;MAGvCC,MAAM,EAAE;QACJ+F,eAAe,EAAE;UAAE7F,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADrC;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OANiB;MAQvCG,GAAG,EAAE;KAvLP;IAyLF6H,iBAAiB,EAAE;MACftC,OAAO,EAAE;QAAEC,MAAM,EAAE;OADJ;MAEf/F,MAAM,EAAE,KAFO;MAGfC,MAAM,EAAE;QAAEqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAAhB;QAA6BmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OAHxC;MAIfG,GAAG,EAAE;KA7LP;IA+LF8H,qCAAqC,EAAE;MACnCvC,OAAO,EAAE;QAAEC,MAAM,EAAE;OADgB;MAEnC/F,MAAM,EAAE,KAF2B;MAGnCC,MAAM,EAAE;QAAEqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAAhB;QAA6BmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OAHpB;MAInCG,GAAG,EAAE;KAnMP;IAqMF+H,4CAA4C,EAAE;MAC1CtI,MAAM,EAAE,KADkC;MAE1CC,MAAM,EAAE;QAAEqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAAhB;QAA6BmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OAFb;MAG1CG,GAAG,EAAE;KAxMP;IA0MFgI,mDAAmD,EAAE;MACjDvI,MAAM,EAAE,KADyC;MAEjDC,MAAM,EAAE;QAAEqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAAhB;QAA6BmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OAFN;MAGjDG,GAAG,EAAE;KA7MP;IA+MFiI,SAAS,EAAE;MACPxI,MAAM,EAAE,KADD;MAEPC,MAAM,EAAE;QAAEqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAAhB;QAA6BmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OAFhD;MAGPG,GAAG,EAAE;KAlNP;IAoNFkI,gBAAgB,EAAE;MACdzI,MAAM,EAAE,KADM;MAEdC,MAAM,EAAE;QAAEqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAAhB;QAA6BmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OAFzC;MAGdG,GAAG,EAAE;KAvNP;IAyNFmI,SAAS,EAAE;MACP5C,OAAO,EAAE;QAAEC,MAAM,EAAE;OADZ;MAEP/F,MAAM,EAAE,KAFD;MAGPC,MAAM,EAAE;QAAEqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAAhB;QAA6BmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OAHhD;MAIPG,GAAG,EAAE;KA7NP;IA+NFoI,0BAA0B,EAAE;MACxB7C,OAAO,EAAE;QAAEC,MAAM,EAAE;OADK;MAExB/F,MAAM,EAAE,QAFgB;MAGxBC,MAAM,EAAE;QACJ+F,eAAe,EAAE;UAAE7F,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADrC;QAEJ6F,aAAa,EAAE;UAAE9F,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALnB;MAOxBG,GAAG,EAAE;KAtOP;IAwOFqI,kBAAkB,EAAE;MAChBtC,UAAU,EAAE,sIADI;MAEhBtG,MAAM,EAAE,MAFQ;MAGhBC,MAAM,EAAE;QACJsG,YAAY,EAAE;UAAEpG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJoG,SAAS,EAAE;UAAErG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALvB;MAOhBG,GAAG,EAAE;KA/OP;IAiPFsI,UAAU,EAAE;MACR/C,OAAO,EAAE;QAAEC,MAAM,EAAE;OADX;MAER/F,MAAM,EAAE,OAFA;MAGRC,MAAM,EAAE;QACJsG,YAAY,EAAE;UAAEnG,IAAI,EAAE;SADlB;QAEJoG,SAAS,EAAE;UAAErG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL/B;MAORG,GAAG,EAAE;KAxPP;IA0PFuI,iCAAiC,EAAE;MAC/BxC,UAAU,EAAE,yKADmB;MAE/BtG,MAAM,EAAE,QAFuB;MAG/BC,MAAM,EAAE;QACJsG,YAAY,EAAE;UAAEpG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJoG,SAAS,EAAE;UAAErG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALR;MAO/BG,GAAG,EAAE;KAjQP;IAmQFwI,yBAAyB,EAAE;MACvBzC,UAAU,EAAE,wJADW;MAEvBtG,MAAM,EAAE,QAFe;MAGvBC,MAAM,EAAE;QACJsG,YAAY,EAAE;UAAEpG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJoG,SAAS,EAAE;UAAErG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALhB;MAOvBG,GAAG,EAAE;KA1QP;IA4QFyI,uBAAuB,EAAE;MACrBlD,OAAO,EAAE;QAAEC,MAAM,EAAE;OADE;MAErB/F,MAAM,EAAE,QAFa;MAGrBC,MAAM,EAAE,EAHa;MAIrBM,GAAG,EAAE;;GApxBF;EAuxBX0I,MAAM,EAAE;IACJC,MAAM,EAAE;MACJpD,OAAO,EAAE;QAAEC,MAAM,EAAE;OADf;MAEJ/F,MAAM,EAAE,MAFJ;MAGJC,MAAM,EAAE;QACJH,OAAO,EAAE;UAAEM,IAAI,EAAE;SADb;iCAEqB;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF7C;gCAGoB;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH5C;2BAIe;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJvC;QAKJ+I,YAAY,EAAE;UAAE/I,IAAI,EAAE;SALlB;QAMJgJ,UAAU,EAAE;UACR9G,IAAI,EAAE,CACF,SADE,EAEF,SAFE,EAGF,SAHE,EAIF,WAJE,EAKF,WALE,EAMF,iBANE,CADE;UASRlC,IAAI,EAAE;SAfN;QAiBJiJ,WAAW,EAAE;UAAEjJ,IAAI,EAAE;SAjBjB;QAkBJkJ,WAAW,EAAE;UAAElJ,IAAI,EAAE;SAlBjB;QAmBJmJ,QAAQ,EAAE;UAAEpJ,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAnB9B;QAoBJO,IAAI,EAAE;UAAER,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SApB1B;QAqBJoJ,MAAM,EAAE;UAAEpJ,IAAI,EAAE;SArBZ;8BAsBkB;UAAEA,IAAI,EAAE;SAtB1B;iDAuBqC;UACrCkC,IAAI,EAAE,CAAC,QAAD,EAAW,SAAX,EAAsB,SAAtB,CAD+B;UAErCnC,QAAQ,EAAE,IAF2B;UAGrCC,IAAI,EAAE;SA1BN;2CA4B+B;UAAEA,IAAI,EAAE;SA5BvC;yCA6B6B;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SA7BrD;wCA8B4B;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SA9BpD;qCA+ByB;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SA/BjD;4CAgCgC;UAAEA,IAAI,EAAE;SAhCxC;6CAiCiC;UAAEA,IAAI,EAAE;SAjCzC;2CAkC+B;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAlCvD;sCAmC0B;UAAEA,IAAI,EAAE;SAnClC;yBAoCa;UAAEA,IAAI,EAAE;SApCrB;+BAqCmB;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SArC3C;mCAsCuB;UAAEA,IAAI,EAAE;SAtC/B;qCAuCyB;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAvCjD;0BAwCc;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAxCtC;uBAyCW;UAAEA,IAAI,EAAE;SAzCnB;wBA0CY;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SA1CpC;QA2CJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SA3C3B;QA4CJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SA5C1B;QA6CJqJ,UAAU,EAAE;UAAErJ,IAAI,EAAE;SA7ChB;QA8CJiC,MAAM,EAAE;UAAEC,IAAI,EAAE,CAAC,QAAD,EAAW,aAAX,EAA0B,WAA1B,CAAR;UAAgDlC,IAAI,EAAE;;OAjD9D;MAmDJG,GAAG,EAAE;KApDL;IAsDJmJ,WAAW,EAAE;MACT5D,OAAO,EAAE;QAAEC,MAAM,EAAE;OADV;MAET/F,MAAM,EAAE,MAFC;MAGTC,MAAM,EAAE;QACJsJ,QAAQ,EAAE;UAAEpJ,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD9B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANzB;MAQTG,GAAG,EAAE;KA9DL;IAgEJoJ,GAAG,EAAE;MACD7D,OAAO,EAAE;QAAEC,MAAM,EAAE;OADlB;MAED/F,MAAM,EAAE,KAFP;MAGDC,MAAM,EAAE;QACJ2J,YAAY,EAAE;UAAEzJ,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANjC;MAQDG,GAAG,EAAE;KAxEL;IA0EJsJ,QAAQ,EAAE;MACN/D,OAAO,EAAE;QAAEC,MAAM,EAAE;OADb;MAEN/F,MAAM,EAAE,KAFF;MAGNC,MAAM,EAAE;QACJ6J,cAAc,EAAE;UAAE3J,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADpC;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAN5B;MAQNG,GAAG,EAAE;KAlFL;IAoFJwJ,eAAe,EAAE;MACbjE,OAAO,EAAE;QAAEC,MAAM,EAAE;OADN;MAEb/F,MAAM,EAAE,KAFK;MAGbC,MAAM,EAAE;QACJ2J,YAAY,EAAE;UAAEzJ,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAJd;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OARrB;MAUbG,GAAG,EAAE;KA9FL;IAgGJyJ,UAAU,EAAE;MACRlE,OAAO,EAAE;QAAEC,MAAM,EAAE;OADX;MAER/F,MAAM,EAAE,KAFA;MAGRC,MAAM,EAAE;QACJgK,UAAU,EAAE;UAAE7J,IAAI,EAAE;SADhB;QAEJ8J,MAAM,EAAE;UAAE5H,IAAI,EAAE,CAAC,QAAD,EAAW,KAAX,CAAR;UAA2BlC,IAAI,EAAE;SAFrC;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAJV;QAKJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SALd;QAMJ+J,GAAG,EAAE;UAAEhK,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SANzB;QAOJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAP1B;QAQJiC,MAAM,EAAE;UAAEC,IAAI,EAAE,CAAC,QAAD,EAAW,aAAX,EAA0B,WAA1B,CAAR;UAAgDlC,IAAI,EAAE;;OAX1D;MAaRG,GAAG,EAAE;KA7GL;IA+GJ6J,YAAY,EAAE;MACVtE,OAAO,EAAE;QAAEC,MAAM,EAAE;OADT;MAEV/F,MAAM,EAAE,KAFE;MAGVC,MAAM,EAAE;QACJgK,UAAU,EAAE;UAAE7J,IAAI,EAAE;SADhB;QAEJ0J,cAAc,EAAE;UAAE3J,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFpC;QAGJ8J,MAAM,EAAE;UAAE5H,IAAI,EAAE,CAAC,QAAD,EAAW,KAAX,CAAR;UAA2BlC,IAAI,EAAE;SAHrC;QAIJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ3B;QAKJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SALV;QAMJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SANd;QAOJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAP1B;QAQJiC,MAAM,EAAE;UAAEC,IAAI,EAAE,CAAC,QAAD,EAAW,aAAX,EAA0B,WAA1B,CAAR;UAAgDlC,IAAI,EAAE;;OAXxD;MAaVG,GAAG,EAAE;KA5HL;IA8HJ8J,gBAAgB,EAAE;MACdvE,OAAO,EAAE;QAAEC,MAAM,EAAE;OADL;MAEd/F,MAAM,EAAE,KAFM;MAGdC,MAAM,EAAE;QACJqK,MAAM,EAAE;UAAElK,IAAI,EAAE;SADZ;QAEJ6J,UAAU,EAAE;UAAE7J,IAAI,EAAE;SAFhB;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAJV;QAKJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SALd;QAMJ+J,GAAG,EAAE;UAAEhK,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SANzB;QAOJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAVpB;MAYdG,GAAG,EAAE;KA1IL;IA4IJgK,cAAc,EAAE;MACZzE,OAAO,EAAE;QAAEC,MAAM,EAAE;OADP;MAEZ/F,MAAM,EAAE,MAFI;MAGZC,MAAM,EAAE;QACJ6J,cAAc,EAAE;UAAE3J,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADpC;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANtB;MAQZG,GAAG,EAAE;KApJL;IAsJJiK,oBAAoB,EAAE;MAClB1E,OAAO,EAAE;QAAEC,MAAM,EAAE;OADD;MAElB/F,MAAM,EAAE,OAFU;MAGlBC,MAAM,EAAE;QACJwK,mBAAmB,EAAE;UAAErK,IAAI,EAAE;SADzB;wCAE4B;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFpD;yCAG6B;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHrD;QAIJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ3B;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OARhB;MAUlBG,GAAG,EAAE;KAhKL;IAkKJmK,MAAM,EAAE;MACJ5E,OAAO,EAAE;QAAEC,MAAM,EAAE;OADf;MAEJ/F,MAAM,EAAE,OAFJ;MAGJC,MAAM,EAAE;QACJH,OAAO,EAAE;UAAEM,IAAI,EAAE;SADb;iCAEqB;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF7C;gCAGoB;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH5C;2BAIe;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJvC;QAKJwJ,YAAY,EAAE;UAAEzJ,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SALlC;QAMJ+I,YAAY,EAAE;UAAE/I,IAAI,EAAE;SANlB;QAOJgJ,UAAU,EAAE;UACR9G,IAAI,EAAE,CACF,SADE,EAEF,SAFE,EAGF,SAHE,EAIF,WAJE,EAKF,WALE,EAMF,iBANE,CADE;UASRlC,IAAI,EAAE;SAhBN;QAkBJiJ,WAAW,EAAE;UAAEjJ,IAAI,EAAE;SAlBjB;QAmBJkJ,WAAW,EAAE;UAAElJ,IAAI,EAAE;SAnBjB;QAoBJO,IAAI,EAAE;UAAEP,IAAI,EAAE;SApBV;QAqBJoJ,MAAM,EAAE;UAAEpJ,IAAI,EAAE;SArBZ;8BAsBkB;UAAEA,IAAI,EAAE;SAtB1B;iDAuBqC;UACrCkC,IAAI,EAAE,CAAC,QAAD,EAAW,SAAX,EAAsB,SAAtB,CAD+B;UAErCnC,QAAQ,EAAE,IAF2B;UAGrCC,IAAI,EAAE;SA1BN;2CA4B+B;UAAEA,IAAI,EAAE;SA5BvC;yCA6B6B;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SA7BrD;wCA8B4B;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SA9BpD;qCA+ByB;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SA/BjD;4CAgCgC;UAAEA,IAAI,EAAE;SAhCxC;6CAiCiC;UAAEA,IAAI,EAAE;SAjCzC;2CAkC+B;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAlCvD;sCAmC0B;UAAEA,IAAI,EAAE;SAnClC;yBAoCa;UAAEA,IAAI,EAAE;SApCrB;+BAqCmB;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SArC3C;mCAsCuB;UAAEA,IAAI,EAAE;SAtC/B;qCAuCyB;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAvCjD;0BAwCc;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAxCtC;uBAyCW;UAAEA,IAAI,EAAE;SAzCnB;wBA0CY;UAAEA,IAAI,EAAE;SA1CpB;QA2CJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SA3C3B;QA4CJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SA5C1B;QA6CJqJ,UAAU,EAAE;UAAErJ,IAAI,EAAE;SA7ChB;QA8CJiC,MAAM,EAAE;UAAEC,IAAI,EAAE,CAAC,QAAD,EAAW,aAAX,EAA0B,WAA1B,CAAR;UAAgDlC,IAAI,EAAE;;OAjD9D;MAmDJG,GAAG,EAAE;;GA5+BF;EA++BXoK,cAAc,EAAE;IACZC,cAAc,EAAE;MACZ9E,OAAO,EAAE;QAAEC,MAAM,EAAE;OADP;MAEZ/F,MAAM,EAAE,KAFI;MAGZC,MAAM,EAAE;QAAE4K,GAAG,EAAE;UAAE1K,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAH3B;MAIZG,GAAG,EAAE;KALG;IAOZuK,UAAU,EAAE;MACRhF,OAAO,EAAE;QAAEC,MAAM,EAAE;OADX;MAER/F,MAAM,EAAE,KAFA;MAGRC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL1B;MAORG,GAAG,EAAE;KAdG;IAgBZwK,gBAAgB,EAAE;MACdjF,OAAO,EAAE;QAAEC,MAAM,EAAE;OADL;MAEd/F,MAAM,EAAE,KAFM;MAGdC,MAAM,EAAE,EAHM;MAIdM,GAAG,EAAE;;GAngCF;EAsgCXyK,MAAM,EAAE;IAAErB,GAAG,EAAE;MAAE3J,MAAM,EAAE,KAAV;MAAiBC,MAAM,EAAE,EAAzB;MAA6BM,GAAG,EAAE;;GAtgCtC;EAugCX0K,KAAK,EAAE;IACHC,cAAc,EAAE;MACZlL,MAAM,EAAE,KADI;MAEZC,MAAM,EAAE;QAAEkL,OAAO,EAAE;UAAEhL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAF/B;MAGZG,GAAG,EAAE;KAJN;IAMH2I,MAAM,EAAE;MACJlJ,MAAM,EAAE,MADJ;MAEJC,MAAM,EAAE;QACJmL,WAAW,EAAE;UAAEhL,IAAI,EAAE;SADjB;QAEJiL,KAAK,EAAE;UAAElL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;yBAGa;UAAEA,IAAI,EAAE;SAHrB;QAIJkL,MAAM,EAAE;UAAElL,IAAI,EAAE;;OANhB;MAQJG,GAAG,EAAE;KAdN;IAgBHgL,aAAa,EAAE;MACXvL,MAAM,EAAE,MADG;MAEXC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAExG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJ+K,OAAO,EAAE;UAAEhL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJ1B;MAMXG,GAAG,EAAE;KAtBN;IAwBHiL,MAAM,EAAE;MACJxL,MAAM,EAAE,QADJ;MAEJC,MAAM,EAAE;QAAEkL,OAAO,EAAE;UAAEhL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAFvC;MAGJG,GAAG,EAAE;KA3BN;IA6BHkL,aAAa,EAAE;MACXzL,MAAM,EAAE,QADG;MAEXC,MAAM,EAAE;QACJyL,UAAU,EAAE;UAAEvL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADhC;QAEJ+K,OAAO,EAAE;UAAEhL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJ1B;MAMXG,GAAG,EAAE;KAnCN;IAqCHoL,IAAI,EAAE;MACF3L,MAAM,EAAE,MADN;MAEFC,MAAM,EAAE;QAAEkL,OAAO,EAAE;UAAEhL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAFzC;MAGFG,GAAG,EAAE;KAxCN;IA0CHoJ,GAAG,EAAE;MACD3J,MAAM,EAAE,KADP;MAEDC,MAAM,EAAE;QAAEkL,OAAO,EAAE;UAAEhL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAF1C;MAGDG,GAAG,EAAE;KA7CN;IA+CHqL,UAAU,EAAE;MACR5L,MAAM,EAAE,KADA;MAERC,MAAM,EAAE;QACJyL,UAAU,EAAE;UAAEvL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADhC;QAEJ+K,OAAO,EAAE;UAAEhL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJ7B;MAMRG,GAAG,EAAE;KArDN;IAuDHsL,WAAW,EAAE;MACT7L,MAAM,EAAE,KADC;MAETC,MAAM,EAAE;QACJkL,OAAO,EAAE;UAAEhL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD7B;QAEJ0L,GAAG,EAAE;UAAE3L,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJxB;MAMTG,GAAG,EAAE;KA7DN;IA+DHwL,IAAI,EAAE;MACF/L,MAAM,EAAE,KADN;MAEFC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJ6D,KAAK,EAAE;UAAE7D,IAAI,EAAE;;OALjB;MAOFG,GAAG,EAAE;KAtEN;IAwEHyL,YAAY,EAAE;MACVhM,MAAM,EAAE,KADE;MAEVC,MAAM,EAAE;QACJkL,OAAO,EAAE;UAAEhL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD7B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OALZ;MAOVG,GAAG,EAAE;KA/EN;IAiFH0L,WAAW,EAAE;MACTjM,MAAM,EAAE,KADC;MAETC,MAAM,EAAE;QACJkL,OAAO,EAAE;UAAEhL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD7B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OALb;MAOTG,GAAG,EAAE;KAxFN;IA0FH2L,SAAS,EAAE;MACPlM,MAAM,EAAE,KADD;MAEPC,MAAM,EAAE;QACJkL,OAAO,EAAE;UAAEhL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD7B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OALf;MAOPG,GAAG,EAAE;KAjGN;IAmGH4L,UAAU,EAAE;MACRnM,MAAM,EAAE,KADA;MAERC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJ6D,KAAK,EAAE;UAAE7D,IAAI,EAAE;;OALX;MAORG,GAAG,EAAE;KA1GN;IA4GH6L,iBAAiB,EAAE;MACfpM,MAAM,EAAE,KADO;MAEfC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJ6D,KAAK,EAAE;UAAE7D,IAAI,EAAE;SAHX;QAIJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANvB;MAQfG,GAAG,EAAE;KApHN;IAsHH8L,WAAW,EAAE;MACTrM,MAAM,EAAE,KADC;MAETC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJ6D,KAAK,EAAE;UAAE7D,IAAI,EAAE;;OALV;MAOTG,GAAG,EAAE;KA7HN;IA+HH+L,IAAI,EAAE;MACFtM,MAAM,EAAE,KADN;MAEFC,MAAM,EAAE;QAAEkL,OAAO,EAAE;UAAEhL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAFzC;MAGFG,GAAG,EAAE;KAlIN;IAoIHgM,MAAM,EAAE;MACJvM,MAAM,EAAE,QADJ;MAEJC,MAAM,EAAE;QAAEkL,OAAO,EAAE;UAAEhL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAFvC;MAGJG,GAAG,EAAE;KAvIN;IAyIHmK,MAAM,EAAE;MACJ1K,MAAM,EAAE,OADJ;MAEJC,MAAM,EAAE;QACJmL,WAAW,EAAE;UAAEhL,IAAI,EAAE;SADjB;QAEJiL,KAAK,EAAE;UAAEjL,IAAI,EAAE;SAFX;yBAGa;UAAEA,IAAI,EAAE;SAHrB;0BAIc;UAAEA,IAAI,EAAE;SAJtB;QAKJ+K,OAAO,EAAE;UAAEhL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPjC;MASJG,GAAG,EAAE;KAlJN;IAoJHiM,aAAa,EAAE;MACXxM,MAAM,EAAE,OADG;MAEXC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAExG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJsL,UAAU,EAAE;UAAEvL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFhC;QAGJ+K,OAAO,EAAE;UAAEhL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL1B;MAOXG,GAAG,EAAE;;GAlqCF;EAqqCXkM,GAAG,EAAE;IACDC,UAAU,EAAE;MACR1M,MAAM,EAAE,MADA;MAERC,MAAM,EAAE;QACJ0M,OAAO,EAAE;UAAExM,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD7B;QAEJwM,QAAQ,EAAE;UAAExM,IAAI,EAAE;SAFd;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAN1B;MAQRG,GAAG,EAAE;KATR;IAWDsM,YAAY,EAAE;MACV7M,MAAM,EAAE,MADE;MAEVC,MAAM,EAAE;QACJ6M,MAAM,EAAE;UAAE1M,IAAI,EAAE;SADZ;uBAEW;UAAEA,IAAI,EAAE;SAFnB;wBAGY;UAAEA,IAAI,EAAE;SAHpB;uBAIW;UAAEA,IAAI,EAAE;SAJnB;QAKJ2M,SAAS,EAAE;UAAE3M,IAAI,EAAE;SALf;0BAMc;UAAEA,IAAI,EAAE;SANtB;2BAOe;UAAEA,IAAI,EAAE;SAPvB;0BAQc;UAAEA,IAAI,EAAE;SARtB;QASJ4M,OAAO,EAAE;UAAE7M,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAT7B;QAUJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAV3B;QAWJ6M,OAAO,EAAE;UAAE9M,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAX7B;QAYJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAZ1B;QAaJ8M,SAAS,EAAE;UAAE9M,IAAI,EAAE;SAbf;QAcJ+M,IAAI,EAAE;UAAEhN,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAhBxB;MAkBVG,GAAG,EAAE;KA7BR;IA+BD6M,SAAS,EAAE;MACPpN,MAAM,EAAE,MADD;MAEPC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJ+J,GAAG,EAAE;UAAEhK,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFzB;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH1B;QAIJ0L,GAAG,EAAE;UAAE3L,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAN1B;MAQPG,GAAG,EAAE;KAvCR;IAyCD8M,SAAS,EAAE;MACPrN,MAAM,EAAE,MADD;MAEPC,MAAM,EAAE;QACJ+M,OAAO,EAAE;UAAE7M,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD7B;QAEJkN,MAAM,EAAE;UAAEnN,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF5B;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ1B;QAKJmN,GAAG,EAAE;UAAEpN,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SALzB;QAMJoN,MAAM,EAAE;UAAEpN,IAAI,EAAE;SANZ;uBAOW;UAAEA,IAAI,EAAE;SAPnB;wBAQY;UAAEA,IAAI,EAAE;SARpB;uBASW;UAAEA,IAAI,EAAE;SATnB;QAUJA,IAAI,EAAE;UACFkC,IAAI,EAAE,CAAC,QAAD,EAAW,MAAX,EAAmB,MAAnB,CADJ;UAEFnC,QAAQ,EAAE,IAFR;UAGFC,IAAI,EAAE;;OAfP;MAkBPG,GAAG,EAAE;KA3DR;IA6DDkN,UAAU,EAAE;MACRzN,MAAM,EAAE,MADA;MAERC,MAAM,EAAE;QACJyN,SAAS,EAAE;UAAEtN,IAAI,EAAE;SADf;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH1B;QAIJ+M,IAAI,EAAE;UAAEhN,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ1B;0BAKc;UAAEA,IAAI,EAAE;SALtB;uBAMW;UACXkC,IAAI,EAAE,CAAC,QAAD,EAAW,QAAX,EAAqB,QAArB,EAA+B,QAA/B,EAAyC,QAAzC,CADK;UAEXlC,IAAI,EAAE;SARN;uBAUW;UAAEA,IAAI,EAAE;SAVnB;sBAWU;UAAEuN,SAAS,EAAE,IAAb;UAAmBvN,IAAI,EAAE;SAXnC;uBAYW;UAAEkC,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,EAAiB,QAAjB,CAAR;UAAoClC,IAAI,EAAE;;OAdrD;MAgBRG,GAAG,EAAE;KA7ER;IA+EDqN,SAAS,EAAE;MACP5N,MAAM,EAAE,QADD;MAEPC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJ+J,GAAG,EAAE;UAAEhK,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFzB;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL3B;MAOPG,GAAG,EAAE;KAtFR;IAwFDsN,OAAO,EAAE;MACL7N,MAAM,EAAE,KADH;MAELC,MAAM,EAAE;QACJ6N,QAAQ,EAAE;UAAE3N,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD9B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL7B;MAOLG,GAAG,EAAE;KA/FR;IAiGDwN,SAAS,EAAE;MACP/N,MAAM,EAAE,KADD;MAEPC,MAAM,EAAE;QACJ+N,UAAU,EAAE;UAAE7N,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADhC;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL3B;MAOPG,GAAG,EAAE;KAxGR;IA0GD0N,MAAM,EAAE;MACJjO,MAAM,EAAE,KADJ;MAEJC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJ+J,GAAG,EAAE;UAAEhK,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFzB;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL9B;MAOJG,GAAG,EAAE;KAjHR;IAmHD2N,MAAM,EAAE;MACJlO,MAAM,EAAE,KADJ;MAEJC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJ+N,OAAO,EAAE;UAAEhO,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALjC;MAOJG,GAAG,EAAE;KA1HR;IA4HD6N,OAAO,EAAE;MACLpO,MAAM,EAAE,KADH;MAELC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJiO,SAAS,EAAE;UAAE/L,IAAI,EAAE,CAAC,GAAD,CAAR;UAAelC,IAAI,EAAE;SAF5B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH1B;QAIJkO,QAAQ,EAAE;UAAEnO,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANjC;MAQLG,GAAG,EAAE;KApIR;IAsIDgO,gBAAgB,EAAE;MACdvO,MAAM,EAAE,KADM;MAEdC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJ+J,GAAG,EAAE;UAAEhK,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJzB;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPpB;MASdG,GAAG,EAAE;KA/IR;IAiJDiO,QAAQ,EAAE;MACNxO,MAAM,EAAE,KADF;MAENC,MAAM,EAAE;QACJwO,SAAS,EAAE;UAAErO,IAAI,EAAE;SADf;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAJd;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAP5B;MASNG,GAAG,EAAE;KA1JR;IA4JDmO,SAAS,EAAE;MACP1O,MAAM,EAAE,OADD;MAEPC,MAAM,EAAE;QACJ0O,KAAK,EAAE;UAAEvO,IAAI,EAAE;SADX;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJ+J,GAAG,EAAE;UAAEhK,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHzB;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ1B;QAKJ0L,GAAG,EAAE;UAAE3L,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAP1B;MASPG,GAAG,EAAE;;GA10CF;EA60CXqO,SAAS,EAAE;IACPC,WAAW,EAAE;MACT7O,MAAM,EAAE,KADC;MAETC,MAAM,EAAE;QAAEU,IAAI,EAAE;UAAER,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAF/B;MAGTG,GAAG,EAAE;KAJF;IAMPuO,aAAa,EAAE;MAAE9O,MAAM,EAAE,KAAV;MAAiBC,MAAM,EAAE,EAAzB;MAA6BM,GAAG,EAAE;;GAn1C1C;EAq1CXwO,YAAY,EAAE;IACVC,6BAA6B,EAAE;MAC3BlJ,OAAO,EAAE;QAAEC,MAAM,EAAE;OADQ;MAE3B/F,MAAM,EAAE,KAFmB;MAG3BC,MAAM,EAAE;QACJgP,KAAK,EAAE;UACH3M,IAAI,EAAE,CAAC,gBAAD,EAAmB,mBAAnB,EAAwC,oBAAxC,CADH;UAEHnC,QAAQ,EAAE,IAFP;UAGHC,IAAI,EAAE;SAJN;QAMJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OATN;MAW3BG,GAAG,EAAE;KAZC;IAcV2O,8BAA8B,EAAE;MAC5BpJ,OAAO,EAAE;QAAEC,MAAM,EAAE;OADS;MAE5B/F,MAAM,EAAE,KAFoB;MAG5BC,MAAM,EAAE;QACJgP,KAAK,EAAE;UACH3M,IAAI,EAAE,CAAC,gBAAD,EAAmB,mBAAnB,EAAwC,oBAAxC,CADH;UAEHnC,QAAQ,EAAE,IAFP;UAGHC,IAAI,EAAE;SAJN;QAMJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAN3B;QAOJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAVN;MAY5BG,GAAG,EAAE;KA1BC;IA4BV4O,qBAAqB,EAAE;MACnBrJ,OAAO,EAAE;QAAEC,MAAM,EAAE;OADA;MAEnB/F,MAAM,EAAE,KAFW;MAGnBC,MAAM,EAAE;QAAEwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAHpB;MAInBG,GAAG,EAAE;KAhCC;IAkCV6O,sBAAsB,EAAE;MACpBtJ,OAAO,EAAE;QAAEC,MAAM,EAAE;OADC;MAEpB/F,MAAM,EAAE,KAFY;MAGpBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALd;MAOpBG,GAAG,EAAE;KAzCC;IA2CV8O,wBAAwB,EAAE;MACtBvJ,OAAO,EAAE;QAAEC,MAAM,EAAE;OADG;MAEtB/F,MAAM,EAAE,QAFc;MAGtBC,MAAM,EAAE;QAAEwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAHjB;MAItBG,GAAG,EAAE;KA/CC;IAiDV+O,yBAAyB,EAAE;MACvBxJ,OAAO,EAAE;QAAEC,MAAM,EAAE;OADI;MAEvB/F,MAAM,EAAE,QAFe;MAGvBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALX;MAOvBG,GAAG,EAAE;;GA74CF;EAg5CXgP,MAAM,EAAE;IACJC,YAAY,EAAE;MACVxP,MAAM,EAAE,MADE;MAEVC,MAAM,EAAE;QACJwP,SAAS,EAAE;UAAErP,IAAI,EAAE;SADf;QAEJsP,YAAY,EAAE;UAAEvP,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFlC;QAGJuP,MAAM,EAAE;UAAEC,KAAK,EAAE,cAAT;UAAyBtJ,UAAU,EAAE,IAArC;UAA2ClG,IAAI,EAAE;SAHrD;QAIJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ3B;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPxB;MASVG,GAAG,EAAE;KAVL;IAYJsP,SAAS,EAAE;MACP7P,MAAM,EAAE,MADD;MAEPC,MAAM,EAAE;QACJyP,YAAY,EAAE;UAAEvP,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJ0P,MAAM,EAAE;UAAE3P,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF5B;QAGJuP,MAAM,EAAE;UAAEC,KAAK,EAAE,cAAT;UAAyBtJ,UAAU,EAAE,IAArC;UAA2ClG,IAAI,EAAE;SAHrD;QAIJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ3B;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAP3B;MASPG,GAAG,EAAE;KArBL;IAuBJwP,aAAa,EAAE;MACX/P,MAAM,EAAE,KADG;MAEXC,MAAM,EAAE;QACJ+P,QAAQ,EAAE;UAAE7P,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD9B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALvB;MAOXG,GAAG,EAAE;KA9BL;IAgCJ2I,MAAM,EAAE;MACJlJ,MAAM,EAAE,MADJ;MAEJC,MAAM,EAAE;QACJ+P,QAAQ,EAAE;UAAE5P,IAAI,EAAE;SADd;QAEJqP,SAAS,EAAE;UAAErP,IAAI,EAAE;SAFf;QAGJuG,IAAI,EAAE;UAAEvG,IAAI,EAAE;SAHV;QAIJ0P,MAAM,EAAE;UAAE1P,IAAI,EAAE;SAJZ;QAKJ6P,SAAS,EAAE;UAAE7P,IAAI,EAAE;SALf;QAMJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAN3B;QAOJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAP1B;QAQJyG,KAAK,EAAE;UAAE1G,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAV/B;MAYJG,GAAG,EAAE;KA5CL;IA8CJgL,aAAa,EAAE;MACXvL,MAAM,EAAE,MADG;MAEXC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAExG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJsP,YAAY,EAAE;UAAEvP,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFlC;QAGJuP,MAAM,EAAE;UAAEC,KAAK,EAAE,cAAT;UAAyBtJ,UAAU,EAAE,IAArC;UAA2ClG,IAAI,EAAE;SAHrD;QAIJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ3B;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPvB;MASXG,GAAG,EAAE;KAvDL;IAyDJ2P,WAAW,EAAE;MACTlQ,MAAM,EAAE,MADC;MAETC,MAAM,EAAE;QACJkQ,KAAK,EAAE;UAAEhQ,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJgL,WAAW,EAAE;UAAEhL,IAAI,EAAE;SAFjB;QAGJO,IAAI,EAAE;UAAER,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH1B;QAIJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ3B;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPzB;MASTG,GAAG,EAAE;KAlEL;IAoEJ6P,eAAe,EAAE;MACbpQ,MAAM,EAAE,MADK;MAEbC,MAAM,EAAE;QACJmL,WAAW,EAAE;UAAEhL,IAAI,EAAE;SADjB;QAEJiQ,MAAM,EAAE;UAAEjQ,IAAI,EAAE;SAFZ;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ1B;QAKJkQ,KAAK,EAAE;UAAEhO,IAAI,EAAE,CAAC,MAAD,EAAS,QAAT,CAAR;UAA4BlC,IAAI,EAAE;SALrC;QAMJyG,KAAK,EAAE;UAAE1G,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OARtB;MAUbG,GAAG,EAAE;KA9EL;IAgFJkL,aAAa,EAAE;MACXzL,MAAM,EAAE,QADG;MAEXC,MAAM,EAAE;QACJyL,UAAU,EAAE;UAAEvL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADhC;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALvB;MAOXG,GAAG,EAAE;KAvFL;IAyFJgQ,WAAW,EAAE;MACTvQ,MAAM,EAAE,QADC;MAETC,MAAM,EAAE;QACJU,IAAI,EAAE;UAAER,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALzB;MAOTG,GAAG,EAAE;KAhGL;IAkGJiQ,eAAe,EAAE;MACbxQ,MAAM,EAAE,QADK;MAEbC,MAAM,EAAE;QACJwQ,gBAAgB,EAAE;UAAEtQ,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADtC;QAEJuP,MAAM,EAAE;UACJC,KAAK,EAAE,kBADH;UAEJtJ,UAAU,EAAE,IAFR;UAGJlG,IAAI,EAAE;SALN;QAOJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAP3B;QAQJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAVrB;MAYbG,GAAG,EAAE;KA9GL;IAgHJoJ,GAAG,EAAE;MACD3J,MAAM,EAAE,KADP;MAEDC,MAAM,EAAE;QACJyP,YAAY,EAAE;UAAEvP,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJuP,MAAM,EAAE;UAAEC,KAAK,EAAE,cAAT;UAAyBtJ,UAAU,EAAE,IAArC;UAA2ClG,IAAI,EAAE;SAFrD;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANjC;MAQDG,GAAG,EAAE;KAxHL;IA0HJqL,UAAU,EAAE;MACR5L,MAAM,EAAE,KADA;MAERC,MAAM,EAAE;QACJyL,UAAU,EAAE;UAAEvL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADhC;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL1B;MAORG,GAAG,EAAE;KAjIL;IAmIJmQ,QAAQ,EAAE;MACN1Q,MAAM,EAAE,KADF;MAENC,MAAM,EAAE;QACJ0Q,QAAQ,EAAE;UAAExQ,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD9B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL5B;MAONG,GAAG,EAAE;KA1IL;IA4IJqQ,QAAQ,EAAE;MACN5Q,MAAM,EAAE,KADF;MAENC,MAAM,EAAE;QACJU,IAAI,EAAE;UAAER,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL5B;MAONG,GAAG,EAAE;KAnJL;IAqJJsQ,YAAY,EAAE;MACV7Q,MAAM,EAAE,KADE;MAEVC,MAAM,EAAE;QACJwQ,gBAAgB,EAAE;UAAEtQ,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADtC;QAEJuP,MAAM,EAAE;UACJC,KAAK,EAAE,kBADH;UAEJtJ,UAAU,EAAE,IAFR;UAGJlG,IAAI,EAAE;SALN;QAOJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAP3B;QAQJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAVxB;MAYVG,GAAG,EAAE;KAjKL;IAmKJwL,IAAI,EAAE;MACF/L,MAAM,EAAE,KADN;MAEFC,MAAM,EAAE;QACJ0E,SAAS,EAAE;UAAErC,IAAI,EAAE,CAAC,KAAD,EAAQ,MAAR,CAAR;UAAyBlC,IAAI,EAAE;SADtC;QAEJ8J,MAAM,EAAE;UACJ5H,IAAI,EAAE,CAAC,UAAD,EAAa,SAAb,EAAwB,WAAxB,EAAqC,YAArC,EAAmD,KAAnD,CADF;UAEJlC,IAAI,EAAE;SAJN;QAMJ0P,MAAM,EAAE;UAAE1P,IAAI,EAAE;SANZ;QAOJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAPV;QAQJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SARd;QASJ6D,KAAK,EAAE;UAAE7D,IAAI,EAAE;SATX;QAUJwE,IAAI,EAAE;UAAEtC,IAAI,EAAE,CAAC,SAAD,EAAY,SAAZ,EAAuB,UAAvB,CAAR;UAA4ClC,IAAI,EAAE;SAVpD;QAWJkQ,KAAK,EAAE;UAAEhO,IAAI,EAAE,CAAC,MAAD,EAAS,QAAT,EAAmB,KAAnB,CAAR;UAAmClC,IAAI,EAAE;;OAblD;MAeFG,GAAG,EAAE;KAlLL;IAoLJuQ,aAAa,EAAE;MACX9Q,MAAM,EAAE,KADG;MAEXC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANvB;MAQXG,GAAG,EAAE;KA5LL;IA8LJyL,YAAY,EAAE;MACVhM,MAAM,EAAE,KADE;MAEVC,MAAM,EAAE;QACJyP,YAAY,EAAE;UAAEvP,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJuP,MAAM,EAAE;UAAEC,KAAK,EAAE,cAAT;UAAyBtJ,UAAU,EAAE,IAArC;UAA2ClG,IAAI,EAAE;SAFrD;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAJV;QAKJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SALd;QAMJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAN1B;QAOJ6D,KAAK,EAAE;UAAE7D,IAAI,EAAE;;OATT;MAWVG,GAAG,EAAE;KAzML;IA2MJwQ,mBAAmB,EAAE;MACjB/Q,MAAM,EAAE,KADS;MAEjBC,MAAM,EAAE;QACJ0E,SAAS,EAAE;UAAErC,IAAI,EAAE,CAAC,KAAD,EAAQ,MAAR,CAAR;UAAyBlC,IAAI,EAAE;SADtC;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH1B;QAIJ6D,KAAK,EAAE;UAAE7D,IAAI,EAAE;SAJX;QAKJwE,IAAI,EAAE;UAAEtC,IAAI,EAAE,CAAC,SAAD,EAAY,SAAZ,CAAR;UAAgClC,IAAI,EAAE;;OAP/B;MASjBG,GAAG,EAAE;KApNL;IAsNJyQ,UAAU,EAAE;MACRhR,MAAM,EAAE,KADA;MAERC,MAAM,EAAE;QACJyP,YAAY,EAAE;UAAEvP,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJuP,MAAM,EAAE;UAAEC,KAAK,EAAE,cAAT;UAAyBtJ,UAAU,EAAE,IAArC;UAA2ClG,IAAI,EAAE;SAFrD;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAJV;QAKJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SALd;QAMJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAR1B;MAURG,GAAG,EAAE;KAhOL;IAkOJ0Q,iBAAiB,EAAE;MACfjR,MAAM,EAAE,KADO;MAEfC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANnB;MAQfG,GAAG,EAAE;KA1OL;IA4OJ2Q,qBAAqB,EAAE;MACnBpL,OAAO,EAAE;QAAEC,MAAM,EAAE;OADA;MAEnB/F,MAAM,EAAE,KAFW;MAGnBC,MAAM,EAAE;QACJyP,YAAY,EAAE;UAAEvP,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJuP,MAAM,EAAE;UAAEC,KAAK,EAAE,cAAT;UAAyBtJ,UAAU,EAAE,IAArC;UAA2ClG,IAAI,EAAE;SAFrD;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAJV;QAKJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SALd;QAMJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OATf;MAWnBG,GAAG,EAAE;KAvPL;IAyPJ4Q,wBAAwB,EAAE;MACtBnR,MAAM,EAAE,KADc;MAEtBC,MAAM,EAAE;QACJ0E,SAAS,EAAE;UAAErC,IAAI,EAAE,CAAC,KAAD,EAAQ,MAAR,CAAR;UAAyBlC,IAAI,EAAE;SADtC;QAEJ8J,MAAM,EAAE;UACJ5H,IAAI,EAAE,CAAC,UAAD,EAAa,SAAb,EAAwB,WAAxB,EAAqC,YAArC,EAAmD,KAAnD,CADF;UAEJlC,IAAI,EAAE;SAJN;QAMJ0P,MAAM,EAAE;UAAE1P,IAAI,EAAE;SANZ;QAOJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAPV;QAQJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SARd;QASJ6D,KAAK,EAAE;UAAE7D,IAAI,EAAE;SATX;QAUJwE,IAAI,EAAE;UAAEtC,IAAI,EAAE,CAAC,SAAD,EAAY,SAAZ,EAAuB,UAAvB,CAAR;UAA4ClC,IAAI,EAAE;SAVpD;QAWJkQ,KAAK,EAAE;UAAEhO,IAAI,EAAE,CAAC,MAAD,EAAS,QAAT,EAAmB,KAAnB,CAAR;UAAmClC,IAAI,EAAE;;OAb9B;MAetBG,GAAG,EAAE;KAxQL;IA0QJ6Q,UAAU,EAAE;MACRpR,MAAM,EAAE,KADA;MAERC,MAAM,EAAE;QACJ0E,SAAS,EAAE;UAAErC,IAAI,EAAE,CAAC,KAAD,EAAQ,MAAR,CAAR;UAAyBlC,IAAI,EAAE;SADtC;QAEJ8J,MAAM,EAAE;UACJ5H,IAAI,EAAE,CAAC,UAAD,EAAa,SAAb,EAAwB,WAAxB,EAAqC,YAArC,EAAmD,KAAnD,CADF;UAEJlC,IAAI,EAAE;SAJN;QAMJ0P,MAAM,EAAE;UAAE1P,IAAI,EAAE;SANZ;QAOJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAPzB;QAQJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SARV;QASJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SATd;QAUJ6D,KAAK,EAAE;UAAE7D,IAAI,EAAE;SAVX;QAWJwE,IAAI,EAAE;UAAEtC,IAAI,EAAE,CAAC,SAAD,EAAY,SAAZ,EAAuB,UAAvB,CAAR;UAA4ClC,IAAI,EAAE;SAXpD;QAYJkQ,KAAK,EAAE;UAAEhO,IAAI,EAAE,CAAC,MAAD,EAAS,QAAT,EAAmB,KAAnB,CAAR;UAAmClC,IAAI,EAAE;;OAd5C;MAgBRG,GAAG,EAAE;KA1RL;IA4RJ8Q,WAAW,EAAE;MACTrR,MAAM,EAAE,KADC;MAETC,MAAM,EAAE;QACJ+P,QAAQ,EAAE;UAAE5P,IAAI,EAAE;SADd;QAEJkR,OAAO,EAAE;UAAElR,IAAI,EAAE;SAFb;QAGJuE,SAAS,EAAE;UAAErC,IAAI,EAAE,CAAC,KAAD,EAAQ,MAAR,CAAR;UAAyBlC,IAAI,EAAE;SAHtC;QAIJ0P,MAAM,EAAE;UAAE1P,IAAI,EAAE;SAJZ;QAKJmR,SAAS,EAAE;UAAEnR,IAAI,EAAE;SALf;QAMJ6P,SAAS,EAAE;UAAE7P,IAAI,EAAE;SANf;QAOJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAP3B;QAQJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SARV;QASJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SATd;QAUJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAV1B;QAWJ6D,KAAK,EAAE;UAAE7D,IAAI,EAAE;SAXX;QAYJwE,IAAI,EAAE;UAAEtC,IAAI,EAAE,CAAC,SAAD,EAAY,SAAZ,EAAuB,UAAvB,CAAR;UAA4ClC,IAAI,EAAE;SAZpD;QAaJkQ,KAAK,EAAE;UAAEhO,IAAI,EAAE,CAAC,MAAD,EAAS,QAAT,EAAmB,KAAnB,CAAR;UAAmClC,IAAI,EAAE;;OAf3C;MAiBTG,GAAG,EAAE;KA7SL;IA+SJiR,sBAAsB,EAAE;MACpBxR,MAAM,EAAE,KADY;MAEpBC,MAAM,EAAE;QACJwQ,gBAAgB,EAAE;UAAEtQ,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADtC;QAEJuP,MAAM,EAAE;UACJC,KAAK,EAAE,kBADH;UAEJtJ,UAAU,EAAE,IAFR;UAGJlG,IAAI,EAAE;SALN;QAOJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAP3B;QAQJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SARV;QASJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SATd;QAUJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAZd;MAcpBG,GAAG,EAAE;KA7TL;IA+TJkR,iBAAiB,EAAE;MACfzR,MAAM,EAAE,KADO;MAEfC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANnB;MAQfG,GAAG,EAAE;KAvUL;IAyUJmR,iBAAiB,EAAE;MACf1R,MAAM,EAAE,KADO;MAEfC,MAAM,EAAE;QACJyP,YAAY,EAAE;UAAEvP,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJuP,MAAM,EAAE;UAAEC,KAAK,EAAE,cAAT;UAAyBtJ,UAAU,EAAE,IAArC;UAA2ClG,IAAI,EAAE;SAFrD;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAJV;QAKJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SALd;QAMJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OARnB;MAUfG,GAAG,EAAE;KAnVL;IAqVJoR,qBAAqB,EAAE;MACnB3R,MAAM,EAAE,KADW;MAEnBC,MAAM,EAAE;QACJ0E,SAAS,EAAE;UAAErC,IAAI,EAAE,CAAC,KAAD,EAAQ,MAAR,CAAR;UAAyBlC,IAAI,EAAE;SADtC;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAJd;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAL1B;QAMJwE,IAAI,EAAE;UAAEtC,IAAI,EAAE,CAAC,QAAD,EAAW,cAAX,CAAR;UAAoClC,IAAI,EAAE;SAN5C;QAOJkQ,KAAK,EAAE;UAAEhO,IAAI,EAAE,CAAC,MAAD,EAAS,QAAT,EAAmB,KAAnB,CAAR;UAAmClC,IAAI,EAAE;;OATjC;MAWnBG,GAAG,EAAE;KAhWL;IAkWJqR,IAAI,EAAE;MACF5R,MAAM,EAAE,KADN;MAEFC,MAAM,EAAE;QACJyP,YAAY,EAAE;UAAEvP,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJyR,WAAW,EAAE;UACTvP,IAAI,EAAE,CAAC,WAAD,EAAc,YAAd,EAA4B,UAA5B,EAAwC,MAAxC,CADG;UAETlC,IAAI,EAAE;SAJN;QAMJuP,MAAM,EAAE;UAAEC,KAAK,EAAE,cAAT;UAAyBtJ,UAAU,EAAE,IAArC;UAA2ClG,IAAI,EAAE;SANrD;QAOJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAP3B;QAQJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAVhC;MAYFG,GAAG,EAAE;KA9WL;IAgXJuR,eAAe,EAAE;MACb9R,MAAM,EAAE,QADK;MAEbC,MAAM,EAAE;QACJwP,SAAS,EAAE;UAAErP,IAAI,EAAE;SADf;QAEJsP,YAAY,EAAE;UAAEvP,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFlC;QAGJuP,MAAM,EAAE;UAAEC,KAAK,EAAE,cAAT;UAAyBtJ,UAAU,EAAE,IAArC;UAA2ClG,IAAI,EAAE;SAHrD;QAIJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ3B;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPrB;MASbG,GAAG,EAAE;KAzXL;IA2XJwR,WAAW,EAAE;MACT/R,MAAM,EAAE,QADC;MAETC,MAAM,EAAE;QACJyP,YAAY,EAAE;UAAEvP,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJO,IAAI,EAAE;UAAER,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJuP,MAAM,EAAE;UAAEC,KAAK,EAAE,cAAT;UAAyBtJ,UAAU,EAAE,IAArC;UAA2ClG,IAAI,EAAE;SAHrD;QAIJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ3B;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPzB;MASTG,GAAG,EAAE;KApYL;IAsYJyR,YAAY,EAAE;MACVhS,MAAM,EAAE,QADE;MAEVC,MAAM,EAAE;QACJyP,YAAY,EAAE;UAAEvP,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJuP,MAAM,EAAE;UAAEC,KAAK,EAAE,cAAT;UAAyBtJ,UAAU,EAAE,IAArC;UAA2ClG,IAAI,EAAE;SAFrD;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANxB;MAQVG,GAAG,EAAE;KA9YL;IAgZJ0R,aAAa,EAAE;MACXjS,MAAM,EAAE,KADG;MAEXC,MAAM,EAAE;QACJyP,YAAY,EAAE;UAAEvP,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJ0P,MAAM,EAAE;UAAE1P,IAAI,EAAE;SAFZ;QAGJuP,MAAM,EAAE;UAAEC,KAAK,EAAE,cAAT;UAAyBtJ,UAAU,EAAE,IAArC;UAA2ClG,IAAI,EAAE;SAHrD;QAIJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ3B;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPvB;MASXG,GAAG,EAAE;KAzZL;IA2ZJ2R,MAAM,EAAE;MACJlS,MAAM,EAAE,QADJ;MAEJC,MAAM,EAAE;QACJyP,YAAY,EAAE;UAAEvP,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJuP,MAAM,EAAE;UAAEC,KAAK,EAAE,cAAT;UAAyBtJ,UAAU,EAAE,IAArC;UAA2ClG,IAAI,EAAE;SAFrD;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAN9B;MAQJG,GAAG,EAAE;KAnaL;IAqaJmK,MAAM,EAAE;MACJ1K,MAAM,EAAE,OADJ;MAEJC,MAAM,EAAE;QACJ+P,QAAQ,EAAE;UAAE5P,IAAI,EAAE;SADd;QAEJqP,SAAS,EAAE;UAAErP,IAAI,EAAE;SAFf;QAGJuG,IAAI,EAAE;UAAEvG,IAAI,EAAE;SAHV;QAIJsP,YAAY,EAAE;UAAEvP,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJlC;QAKJ0P,MAAM,EAAE;UAAE1P,IAAI,EAAE;SALZ;QAMJ6P,SAAS,EAAE;UAAEtC,SAAS,EAAE,IAAb;UAAmBvN,IAAI,EAAE;SANhC;QAOJuP,MAAM,EAAE;UAAEC,KAAK,EAAE,cAAT;UAAyBtJ,UAAU,EAAE,IAArC;UAA2ClG,IAAI,EAAE;SAPrD;QAQJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAR3B;QASJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAT1B;QAUJkQ,KAAK,EAAE;UAAEhO,IAAI,EAAE,CAAC,MAAD,EAAS,QAAT,CAAR;UAA4BlC,IAAI,EAAE;SAVrC;QAWJyG,KAAK,EAAE;UAAEzG,IAAI,EAAE;;OAbf;MAeJG,GAAG,EAAE;KApbL;IAsbJiM,aAAa,EAAE;MACXxM,MAAM,EAAE,OADG;MAEXC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAExG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJsL,UAAU,EAAE;UAAEvL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFhC;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANvB;MAQXG,GAAG,EAAE;KA9bL;IAgcJ4R,WAAW,EAAE;MACTnS,MAAM,EAAE,OADC;MAETC,MAAM,EAAE;QACJkQ,KAAK,EAAE;UAAE/P,IAAI,EAAE;SADX;QAEJgS,YAAY,EAAE;UAAEjS,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFlC;QAGJgL,WAAW,EAAE;UAAEhL,IAAI,EAAE;SAHjB;QAIJO,IAAI,EAAE;UAAEP,IAAI,EAAE;SAJV;QAKJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAL3B;QAMJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OARzB;MAUTG,GAAG,EAAE;KA1cL;IA4cJ8R,eAAe,EAAE;MACbrS,MAAM,EAAE,OADK;MAEbC,MAAM,EAAE;QACJmL,WAAW,EAAE;UAAEhL,IAAI,EAAE;SADjB;QAEJiQ,MAAM,EAAE;UAAEjQ,IAAI,EAAE;SAFZ;QAGJqQ,gBAAgB,EAAE;UAAEtQ,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHtC;QAIJuP,MAAM,EAAE;UACJC,KAAK,EAAE,kBADH;UAEJtJ,UAAU,EAAE,IAFR;UAGJlG,IAAI,EAAE;SAPN;QASJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAT3B;QAUJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAV1B;QAWJkQ,KAAK,EAAE;UAAEhO,IAAI,EAAE,CAAC,MAAD,EAAS,QAAT,CAAR;UAA4BlC,IAAI,EAAE;SAXrC;QAYJyG,KAAK,EAAE;UAAEzG,IAAI,EAAE;;OAdN;MAgBbG,GAAG,EAAE;;GA52DF;EA+2DX+R,QAAQ,EAAE;IACN3I,GAAG,EAAE;MACD3J,MAAM,EAAE,KADP;MAEDC,MAAM,EAAE;QAAEsS,OAAO,EAAE;UAAEpS,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAF1C;MAGDG,GAAG,EAAE;KAJH;IAMNuK,UAAU,EAAE;MACR9K,MAAM,EAAE,KADA;MAERC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJ1B;MAMRG,GAAG,EAAE;KAZH;IAcNwL,IAAI,EAAE;MACFzF,UAAU,EAAE,8FADV;MAEFtG,MAAM,EAAE,KAFN;MAGFC,MAAM,EAAE,EAHN;MAIFM,GAAG,EAAE;KAlBH;IAoBNiS,gBAAgB,EAAE;MAAExS,MAAM,EAAE,KAAV;MAAiBC,MAAM,EAAE,EAAzB;MAA6BM,GAAG,EAAE;;GAn4D7C;EAq4DXkS,QAAQ,EAAE;IACNC,MAAM,EAAE;MACJ1S,MAAM,EAAE,MADJ;MAEJC,MAAM,EAAE;QACJ0S,OAAO,EAAE;UAAEvS,IAAI,EAAE;SADb;QAEJwS,IAAI,EAAE;UAAEtQ,IAAI,EAAE,CAAC,UAAD,EAAa,KAAb,CAAR;UAA6BlC,IAAI,EAAE;SAFrC;QAGJyS,IAAI,EAAE;UAAE1S,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL9B;MAOJG,GAAG,EAAE;KARH;IAUNuS,SAAS,EAAE;MACPhN,OAAO,EAAE;wBAAkB;OADpB;MAEP9F,MAAM,EAAE,MAFD;MAGPC,MAAM,EAAE;QAAE8S,IAAI,EAAE;UAAEC,KAAK,EAAE,MAAT;UAAiB7S,QAAQ,EAAE,IAA3B;UAAiCC,IAAI,EAAE;;OAHhD;MAIPG,GAAG,EAAE;;GAn5DF;EAs5DX0S,IAAI,EAAE;IAAEtJ,GAAG,EAAE;MAAE3J,MAAM,EAAE,KAAV;MAAiBC,MAAM,EAAE,EAAzB;MAA6BM,GAAG,EAAE;;GAt5DpC;EAu5DX2S,UAAU,EAAE;IACRC,YAAY,EAAE;MACVnT,MAAM,EAAE,QADE;MAEVC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJxB;MAMVG,GAAG,EAAE;KAPD;IASR6S,iCAAiC,EAAE;MAC/BtN,OAAO,EAAE;QAAEC,MAAM,EAAE;OADY;MAE/B/F,MAAM,EAAE,QAFuB;MAG/BC,MAAM,EAAE;QAAEoT,YAAY,EAAE;UAAElT,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAHjB;MAI/BG,GAAG,EAAE;KAbD;IAeR+S,mBAAmB,EAAE;MACjBxN,OAAO,EAAE;QAAEC,MAAM,EAAE;OADF;MAEjB/F,MAAM,EAAE,QAFS;MAGjBC,MAAM,EAAE;QACJoT,YAAY,EAAE;UAAElT,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALhB;MAOjBG,GAAG,EAAE;KAtBD;IAwBRgT,qBAAqB,EAAE;MACnBzN,OAAO,EAAE;QAAEC,MAAM,EAAE;OADA;MAEnB/F,MAAM,EAAE,KAFW;MAGnBC,MAAM,EAAE;QACJoT,YAAY,EAAE;UAAElT,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALd;MAOnBG,GAAG,EAAE;KA/BD;IAiCRiT,8BAA8B,EAAE;MAC5B1N,OAAO,EAAE;QAAEC,MAAM,EAAE;OADS;MAE5B/F,MAAM,EAAE,KAFoB;MAG5BC,MAAM,EAAE;QAAEoT,YAAY,EAAE;UAAElT,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAHpB;MAI5BG,GAAG,EAAE;KArCD;IAuCRkT,gBAAgB,EAAE;MACdnN,UAAU,EAAE,mHADE;MAEdR,OAAO,EAAE;QAAEC,MAAM,EAAE;OAFL;MAGd/F,MAAM,EAAE,KAHM;MAIdC,MAAM,EAAE;QACJoT,YAAY,EAAE;UAAElT,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANnB;MAQdG,GAAG,EAAE;KA/CD;IAiDRmT,gBAAgB,EAAE;MACd1T,MAAM,EAAE,KADM;MAEdC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJ6D,KAAK,EAAE;UAAE7D,IAAI,EAAE;;OALL;MAOdG,GAAG,EAAE;KAxDD;IA0DRoT,iBAAiB,EAAE;MACf3T,MAAM,EAAE,KADO;MAEfC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJnB;MAMfG,GAAG,EAAE;KAhED;IAkERqT,aAAa,EAAE;MACX5T,MAAM,EAAE,KADG;MAEXC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJvB;MAMXG,GAAG,EAAE;KAxED;IA0ERsT,6BAA6B,EAAE;MAC3B/N,OAAO,EAAE;QAAEC,MAAM,EAAE;OADQ;MAE3B/F,MAAM,EAAE,KAFmB;MAG3BC,MAAM,EAAE;QAAEoT,YAAY,EAAE;UAAElT,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAHrB;MAI3BG,GAAG,EAAE;KA9ED;IAgFRuT,eAAe,EAAE;MACbhO,OAAO,EAAE;QAAEC,MAAM,EAAE;OADN;MAEb/F,MAAM,EAAE,KAFK;MAGbC,MAAM,EAAE;QACJoT,YAAY,EAAE;UAAElT,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALpB;MAObG,GAAG,EAAE;KAvFD;IAyFR4Q,wBAAwB,EAAE;MACtBrL,OAAO,EAAE;QAAEC,MAAM,EAAE;OADG;MAEtB/F,MAAM,EAAE,KAFc;MAGtBC,MAAM,EAAE;QAAEqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAAhB;QAA6BmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OAHjC;MAItBG,GAAG,EAAE;KA7FD;IA+FR6Q,UAAU,EAAE;MACRtL,OAAO,EAAE;QAAEC,MAAM,EAAE;OADX;MAER/F,MAAM,EAAE,KAFA;MAGRC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OANd;MAQRG,GAAG,EAAE;KAvGD;IAyGRwT,eAAe,EAAE;MACbjO,OAAO,EAAE;QAAEC,MAAM,EAAE;OADN;MAEb/F,MAAM,EAAE,KAFK;MAGbC,MAAM,EAAE;QACJoT,YAAY,EAAE;UAAElT,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFzB;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OAPT;MASbG,GAAG,EAAE;KAlHD;IAoHRyT,gBAAgB,EAAE;MACdlO,OAAO,EAAE;QAAEC,MAAM,EAAE;OADL;MAEd/F,MAAM,EAAE,KAFM;MAGdC,MAAM,EAAE;QACJoT,YAAY,EAAE;UAAElT,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OANR;MAQdG,GAAG,EAAE;KA5HD;IA8HR0T,eAAe,EAAE;MACbjU,MAAM,EAAE,OADK;MAEbC,MAAM,EAAE;QACJiU,SAAS,EAAE;UAAE/T,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD/B;QAEJ+T,KAAK,EAAE;UAAE/T,IAAI,EAAE;SAFX;QAGJO,IAAI,EAAE;UAAEP,IAAI,EAAE;SAHV;QAIJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ3B;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPrB;MASbG,GAAG,EAAE;KAvID;IAyIR6T,gBAAgB,EAAE;MACdpU,MAAM,EAAE,OADM;MAEdC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJiU,OAAO,EAAE;UAAE/R,IAAI,EAAE,CAAC,QAAD,EAAW,SAAX,CAAR;UAA+BnC,QAAQ,EAAE,IAAzC;UAA+CC,IAAI,EAAE;;OALpD;MAOdG,GAAG,EAAE;KAhJD;IAkJR+T,yBAAyB,EAAE;MACvBtU,MAAM,EAAE,MADe;MAEvBC,MAAM,EAAE;QACJsU,mBAAmB,EAAE;UAAEnU,IAAI,EAAE;SADzB;QAEJoU,iBAAiB,EAAE;UAAEpU,IAAI,EAAE;SAFvB;QAGJqU,YAAY,EAAE;UAAEtU,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALnB;MAOvBG,GAAG,EAAE;KAzJD;IA2JRmU,WAAW,EAAE;MACT1U,MAAM,EAAE,MADC;MAETC,MAAM,EAAE;QACJsU,mBAAmB,EAAE;UAAEnU,IAAI,EAAE;SADzB;QAEJoU,iBAAiB,EAAE;UAAEpU,IAAI,EAAE;SAFvB;QAGJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHzB;QAIJqU,YAAY,EAAE;UAAEtU,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANjC;MAQTG,GAAG,EAAE;KAnKD;IAqKRoU,WAAW,EAAE;MACT3U,MAAM,EAAE,KADC;MAETC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJwU,YAAY,EAAE;UAAExU,IAAI,EAAE;SAHlB;QAIJyU,GAAG,EAAE;UACDvS,IAAI,EAAE,CAAC,YAAD,EAAe,KAAf,EAAsB,WAAtB,EAAmC,MAAnC,CADL;UAEDlC,IAAI,EAAE;SANN;QAQJ0U,YAAY,EAAE;UAAE1U,IAAI,EAAE;SARlB;QASJ2U,OAAO,EAAE;UAAE5U,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAT7B;QAUJ4U,YAAY,EAAE;UAAE5U,IAAI,EAAE;;OAZjB;MAcTG,GAAG,EAAE;KAnLD;IAqLR0U,8BAA8B,EAAE;MAC5BnP,OAAO,EAAE;QAAEC,MAAM,EAAE;OADS;MAE5B/F,MAAM,EAAE,QAFoB;MAG5BC,MAAM,EAAE;QACJoT,YAAY,EAAE;UAAElT,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJ8U,SAAS,EAAE;UAAE/U,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALX;MAO5BG,GAAG,EAAE;KA5LD;IA8LR4U,gBAAgB,EAAE;MACdrP,OAAO,EAAE;QAAEC,MAAM,EAAE;OADL;MAEd/F,MAAM,EAAE,QAFM;MAGdC,MAAM,EAAE;QACJoT,YAAY,EAAE;UAAElT,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFzB;QAGJ8U,SAAS,EAAE;UAAE/U,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANzB;MAQdG,GAAG,EAAE;KAtMD;IAwMR6U,YAAY,EAAE;MACVpV,MAAM,EAAE,OADE;MAEVC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJ0U,YAAY,EAAE;UAAE1U,IAAI,EAAE;SAHlB;QAIJ4U,YAAY,EAAE;UAAE5U,IAAI,EAAE;;OANhB;MAQVG,GAAG,EAAE;;GAvmEF;EA0mEX8U,mBAAmB,EAAE;IACjBhP,kBAAkB,EAAE;MAChBC,UAAU,EAAE,qHADI;MAEhBtG,MAAM,EAAE,KAFQ;MAGhBC,MAAM,EAAE;QACJsG,YAAY,EAAE;UAAEpG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJoG,SAAS,EAAE;UAAErG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALvB;MAOhBG,GAAG,EAAE;KARQ;IAUjB+U,mBAAmB,EAAE;MACjBhP,UAAU,EAAE,uJADK;MAEjBtG,MAAM,EAAE,MAFS;MAGjBC,MAAM,EAAE;QACJuG,SAAS,EAAE;UAAEpG,IAAI,EAAE;SADf;QAEJmV,aAAa,EAAE;UAAEnV,IAAI,EAAE;SAFnB;QAGJoV,WAAW,EAAE;UAAEpV,IAAI,EAAE;SAHjB;QAIJqV,IAAI,EAAE;UAAEtV,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ1B;QAKJsV,QAAQ,EAAE;UAAEtV,IAAI,EAAE;SALd;QAMJuV,MAAM,EAAE;UAAEvV,IAAI,EAAE;;OATH;MAWjBG,GAAG,EAAE;KArBQ;IAuBjB4G,mBAAmB,EAAE;MACjBb,UAAU,EAAE,oJADK;MAEjBtG,MAAM,EAAE,QAFS;MAGjBC,MAAM,EAAE;QAAE2V,gBAAgB,EAAE;UAAEzV,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAHnC;MAIjBG,GAAG,EAAE;KA3BQ;IA6BjBsV,WAAW,EAAE;MACTvP,UAAU,EAAE,mIADH;MAETtG,MAAM,EAAE,QAFC;MAGTC,MAAM,EAAE;QAAE6V,QAAQ,EAAE;UAAE3V,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAHnC;MAITG,GAAG,EAAE;KAjCQ;IAmCjBwV,gBAAgB,EAAE;MACdzP,UAAU,EAAE,oJADE;MAEdtG,MAAM,EAAE,KAFM;MAGdC,MAAM,EAAE;QAAE2V,gBAAgB,EAAE;UAAEzV,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAHtC;MAIdG,GAAG,EAAE;KAvCQ;IAyCjByV,QAAQ,EAAE;MACN1P,UAAU,EAAE,oIADN;MAENtG,MAAM,EAAE,KAFF;MAGNC,MAAM,EAAE;QAAE6V,QAAQ,EAAE;UAAE3V,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAHtC;MAING,GAAG,EAAE;KA7CQ;IA+CjB0V,8BAA8B,EAAE;MAC5B3P,UAAU,EAAE,yLADgB;MAE5BtG,MAAM,EAAE,KAFoB;MAG5BC,MAAM,EAAE;QACJuG,SAAS,EAAE;UAAErG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD/B;QAEJmV,aAAa,EAAE;UAAEpV,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFnC;QAGJoV,WAAW,EAAE;UAAEpV,IAAI,EAAE;SAHjB;QAIJqV,IAAI,EAAE;UAAErV,IAAI,EAAE;SAJV;QAKJsV,QAAQ,EAAE;UAAEtV,IAAI,EAAE;SALd;QAMJuV,MAAM,EAAE;UAAEvV,IAAI,EAAE;;OATQ;MAW5BG,GAAG,EAAE;KA1DQ;IA4DjB2V,4CAA4C,EAAE;MAC1C5P,UAAU,EAAE,uNAD8B;MAE1CtG,MAAM,EAAE,KAFkC;MAG1CC,MAAM,EAAE;QACJuG,SAAS,EAAE;UAAErG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD/B;QAEJmV,aAAa,EAAE;UAAEpV,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFnC;QAGJoV,WAAW,EAAE;UAAErV,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHjC;QAIJqV,IAAI,EAAE;UAAErV,IAAI,EAAE;SAJV;QAKJsV,QAAQ,EAAE;UAAEtV,IAAI,EAAE;SALd;QAMJuV,MAAM,EAAE;UAAEvV,IAAI,EAAE;;OATsB;MAW1CG,GAAG,EAAE;KAvEQ;IAyEjB4V,yCAAyC,EAAE;MACvC7P,UAAU,EAAE,qLAD2B;MAEvCtG,MAAM,EAAE,KAF+B;MAGvCC,MAAM,EAAE;QACJuG,SAAS,EAAE;UAAErG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD/B;QAEJmV,aAAa,EAAE;UAAEpV,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFnC;QAGJoV,WAAW,EAAE;UAAErV,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHjC;QAIJqV,IAAI,EAAE;UAAErV,IAAI,EAAE;SAJV;QAKJsV,QAAQ,EAAE;UAAEtV,IAAI,EAAE;SALd;QAMJuV,MAAM,EAAE;UAAEvV,IAAI,EAAE;;OATmB;MAWvCG,GAAG,EAAE;KApFQ;IAsFjB6V,kBAAkB,EAAE;MAChB9P,UAAU,EAAE,oJADI;MAEhBtG,MAAM,EAAE,KAFQ;MAGhBC,MAAM,EAAE;QAAEqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAAhB;QAA6BmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OAHvC;MAIhBG,GAAG,EAAE;KA1FQ;IA4FjB8V,UAAU,EAAE;MACR/P,UAAU,EAAE,oIADJ;MAERtG,MAAM,EAAE,KAFA;MAGRC,MAAM,EAAE;QAAEqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAAhB;QAA6BmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OAH/C;MAIRG,GAAG,EAAE;KAhGQ;IAkGjBqI,kBAAkB,EAAE;MAChBtC,UAAU,EAAE,qHADI;MAEhBtG,MAAM,EAAE,MAFQ;MAGhBC,MAAM,EAAE;QACJsG,YAAY,EAAE;UAAEpG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJoG,SAAS,EAAE;UAAErG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALvB;MAOhBG,GAAG,EAAE;KAzGQ;IA2GjBuI,iCAAiC,EAAE;MAC/BxC,UAAU,EAAE,mJADmB;MAE/BtG,MAAM,EAAE,QAFuB;MAG/BC,MAAM,EAAE;QACJsG,YAAY,EAAE;UAAEpG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJoG,SAAS,EAAE;UAAErG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALR;MAO/BG,GAAG,EAAE;KAlHQ;IAoHjBwI,yBAAyB,EAAE;MACvBzC,UAAU,EAAE,mIADW;MAEvBtG,MAAM,EAAE,QAFe;MAGvBC,MAAM,EAAE;QACJsG,YAAY,EAAE;UAAEpG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJoG,SAAS,EAAE;UAAErG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALhB;MAOvBG,GAAG,EAAE;KA3HQ;IA6HjB+V,mBAAmB,EAAE;MACjBhQ,UAAU,EAAE,6JADK;MAEjBtG,MAAM,EAAE,OAFS;MAGjBC,MAAM,EAAE;QACJsW,UAAU,EAAE;UAAEnW,IAAI,EAAE;SADhB;QAEJwV,gBAAgB,EAAE;UAAEzV,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFtC;QAGJoV,WAAW,EAAE;UAAEpV,IAAI,EAAE;SAHjB;QAIJqV,IAAI,EAAE;UAAErV,IAAI,EAAE;SAJV;QAKJsV,QAAQ,EAAE;UAAEtV,IAAI,EAAE;SALd;QAMJoW,aAAa,EAAE;UAAEpW,IAAI,EAAE;SANnB;QAOJuV,MAAM,EAAE;UAAEvV,IAAI,EAAE;;OAVH;MAYjBG,GAAG,EAAE;;GAnvEF;EAsvEXkW,IAAI,EAAE;IACFC,qBAAqB,EAAE;MACnB1W,MAAM,EAAE,KADW;MAEnBC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJuW,IAAI,EAAE;UAAErU,IAAI,EAAE,CAAC,OAAD,EAAU,QAAV,CAAR;UAA6BlC,IAAI,EAAE;SAFrC;QAGJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALnB;MAOnBG,GAAG,EAAE;KARP;IAUFqW,SAAS,EAAE;MACP5W,MAAM,EAAE,KADD;MAEPC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJ/B;MAMPG,GAAG,EAAE;KAhBP;IAkBFsW,gBAAgB,EAAE;MACd7W,MAAM,EAAE,KADM;MAEdC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJxB;MAMdG,GAAG,EAAE;KAxBP;IA0BFuW,eAAe,EAAE;MACb9W,MAAM,EAAE,KADK;MAEbC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJzB;MAMbG,GAAG,EAAE;KAhCP;IAkCFwW,qBAAqB,EAAE;MACnB/W,MAAM,EAAE,KADW;MAEnBC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJnB;MAMnBG,GAAG,EAAE;KAxCP;IA0CFyW,iBAAiB,EAAE;MACfhX,MAAM,EAAE,QADO;MAEfC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJvB;MAMfG,GAAG,EAAE;KAhDP;IAkDF0W,kCAAkC,EAAE;MAChCjX,MAAM,EAAE,KADwB;MAEhCC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJN;MAMhCG,GAAG,EAAE;KAxDP;IA0DF2W,UAAU,EAAE;MACRlX,MAAM,EAAE,MADA;MAERC,MAAM,EAAE;QACJkX,MAAM,EAAE;UAAE/W,IAAI,EAAE;SADZ;QAEJgX,MAAM,EAAE;UAAEjX,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF5B;+BAGmB;UAAEA,IAAI,EAAE;SAH3B;+BAImB;UAAEA,IAAI,EAAE;SAJ3B;yBAKa;UAAEA,IAAI,EAAE;SALrB;sBAMU;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SANlC;QAOJiX,MAAM,EAAE;UAAEjX,IAAI,EAAE;SAPZ;QAQJO,IAAI,EAAE;UAAER,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAR1B;QASJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAXzB;MAaRG,GAAG,EAAE;KAvEP;IAyEF+W,gBAAgB,EAAE;MACdtX,MAAM,EAAE,MADM;MAEdC,MAAM,EAAE;QACJkU,KAAK,EAAE;UAAE/T,IAAI,EAAE;SADX;QAEJmX,UAAU,EAAE;UAAEnX,IAAI,EAAE;SAFhB;QAGJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHzB;QAIJuW,IAAI,EAAE;UACFrU,IAAI,EAAE,CAAC,OAAD,EAAU,eAAV,EAA2B,iBAA3B,CADJ;UAEFlC,IAAI,EAAE;SANN;QAQJoX,QAAQ,EAAE;UAAEpX,IAAI,EAAE;;OAVR;MAYdG,GAAG,EAAE;KArFP;IAuFFkX,UAAU,EAAE;MACRzX,MAAM,EAAE,QADA;MAERC,MAAM,EAAE;QACJyX,OAAO,EAAE;UAAEvX,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD7B;QAEJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJzB;MAMRG,GAAG,EAAE;KA7FP;IA+FFoJ,GAAG,EAAE;MACD3J,MAAM,EAAE,KADP;MAEDC,MAAM,EAAE;QAAEwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAFtC;MAGDG,GAAG,EAAE;KAlGP;IAoGFoX,OAAO,EAAE;MACL3X,MAAM,EAAE,KADH;MAELC,MAAM,EAAE;QACJyX,OAAO,EAAE;UAAEvX,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD7B;QAEJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJ5B;MAMLG,GAAG,EAAE;KA1GP;IA4GFqX,aAAa,EAAE;MACX5X,MAAM,EAAE,KADG;MAEXC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJ3B;MAMXG,GAAG,EAAE;KAlHP;IAoHFsX,iCAAiC,EAAE;MAC/B7X,MAAM,EAAE,KADuB;MAE/BC,MAAM,EAAE;QAAEwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAFR;MAG/BG,GAAG,EAAE;KAvHP;IAyHFwL,IAAI,EAAE;MACF/L,MAAM,EAAE,KADN;MAEFC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJ6D,KAAK,EAAE;UAAE7D,IAAI,EAAE;;OALjB;MAOFG,GAAG,EAAE;KAhIP;IAkIFuX,gBAAgB,EAAE;MACd9X,MAAM,EAAE,KADM;MAEdC,MAAM,EAAE;QAAEwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAFzB;MAGdG,GAAG,EAAE;KArIP;IAuIF4Q,wBAAwB,EAAE;MACtBnR,MAAM,EAAE,KADc;MAEtBC,MAAM,EAAE;QAAEqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAAhB;QAA6BmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OAFjC;MAGtBG,GAAG,EAAE;KA1IP;IA4IFwX,WAAW,EAAE;MACT/X,MAAM,EAAE,KADC;MAETC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL7B;MAOTG,GAAG,EAAE;KAnJP;IAqJFyX,SAAS,EAAE;MACPhY,MAAM,EAAE,KADD;MAEPC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OALf;MAOPG,GAAG,EAAE;KA5JP;IA8JF6H,iBAAiB,EAAE;MACftC,OAAO,EAAE;QAAEC,MAAM,EAAE;OADJ;MAEf/F,MAAM,EAAE,KAFO;MAGfC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OANP;MAQfG,GAAG,EAAE;KAtKP;IAwKF0X,mBAAmB,EAAE;MACjBjY,MAAM,EAAE,KADS;MAEjBC,MAAM,EAAE;QACJiY,aAAa,EAAE;UAAE/X,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADnC;QAEJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFzB;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OANL;MAQjBG,GAAG,EAAE;KAhLP;IAkLF4X,WAAW,EAAE;MACTnY,MAAM,EAAE,KADC;MAETC,MAAM,EAAE;QACJiK,MAAM,EAAE;UAAE5H,IAAI,EAAE,CAAC,cAAD,EAAiB,KAAjB,CAAR;UAAiClC,IAAI,EAAE;SAD3C;QAEJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFzB;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAJd;QAKJuW,IAAI,EAAE;UAAErU,IAAI,EAAE,CAAC,KAAD,EAAQ,OAAR,EAAiB,QAAjB,CAAR;UAAoClC,IAAI,EAAE;;OAP3C;MASTG,GAAG,EAAE;KA3LP;IA6LF6X,eAAe,EAAE;MACbpY,MAAM,EAAE,KADK;MAEbC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJkQ,KAAK,EAAE;UAAEhO,IAAI,EAAE,CAAC,QAAD,EAAW,SAAX,CAAR;UAA+BlC,IAAI,EAAE;;OALnC;MAObG,GAAG,EAAE;KApMP;IAsMF8X,wBAAwB,EAAE;MACtBrY,MAAM,EAAE,KADc;MAEtBC,MAAM,EAAE;QACJiK,MAAM,EAAE;UAAE5H,IAAI,EAAE,CAAC,cAAD,EAAiB,KAAjB,CAAR;UAAiClC,IAAI,EAAE;SAD3C;QAEJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFzB;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OANA;MAQtBG,GAAG,EAAE;KA9MP;IAgNF+X,sBAAsB,EAAE;MACpBtY,MAAM,EAAE,KADY;MAEpBC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OALF;MAOpBG,GAAG,EAAE;KAvNP;IAyNFgY,iBAAiB,EAAE;MACfvY,MAAM,EAAE,KADO;MAEfC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OALP;MAOfG,GAAG,EAAE;KAhOP;IAkOFiY,QAAQ,EAAE;MACNxY,MAAM,EAAE,MADF;MAENC,MAAM,EAAE;QACJyX,OAAO,EAAE;UAAEvX,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD7B;QAEJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJ3B;MAMNG,GAAG,EAAE;KAxOP;IA0OFkY,mBAAmB,EAAE;MACjBzY,MAAM,EAAE,KADS;MAEjBC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJrB;MAMjBG,GAAG,EAAE;KAhPP;IAkPFmY,YAAY,EAAE;MACV1Y,MAAM,EAAE,QADE;MAEVC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJ5B;MAMVG,GAAG,EAAE;KAxPP;IA0PFoY,gBAAgB,EAAE;MACd3Y,MAAM,EAAE,QADM;MAEdC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJxB;MAMdG,GAAG,EAAE;KAhQP;IAkQFqY,yBAAyB,EAAE;MACvB5Y,MAAM,EAAE,QADe;MAEvBC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJf;MAMvBG,GAAG,EAAE;KAxQP;IA0QFsY,WAAW,EAAE;MACT7Y,MAAM,EAAE,QADC;MAETC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJ7B;MAMTG,GAAG,EAAE;KAhRP;IAkRFmK,MAAM,EAAE;MACJ1K,MAAM,EAAE,OADJ;MAEJC,MAAM,EAAE;QACJ6Y,aAAa,EAAE;UAAE1Y,IAAI,EAAE;SADnB;QAEJ2Y,OAAO,EAAE;UAAE3Y,IAAI,EAAE;SAFb;QAGJ4Y,6BAA6B,EAAE;UAC3B1W,IAAI,EAAE,CAAC,MAAD,EAAS,OAAT,EAAkB,OAAlB,EAA2B,MAA3B,CADqB;UAE3BlC,IAAI,EAAE;SALN;QAOJgL,WAAW,EAAE;UAAEhL,IAAI,EAAE;SAPjB;QAQJ+T,KAAK,EAAE;UAAE/T,IAAI,EAAE;SARX;QASJ6Y,yBAAyB,EAAE;UAAE7Y,IAAI,EAAE;SAT/B;QAUJ8Y,uBAAuB,EAAE;UAAE9Y,IAAI,EAAE;SAV7B;QAWJ+Y,QAAQ,EAAE;UAAE/Y,IAAI,EAAE;SAXd;QAYJgZ,wCAAwC,EAAE;UACtC9W,IAAI,EAAE,CAAC,KAAD,EAAQ,SAAR,EAAmB,MAAnB,CADgC;UAEtClC,IAAI,EAAE;SAdN;QAgBJiZ,wCAAwC,EAAE;UAAEjZ,IAAI,EAAE;SAhB9C;QAiBJkZ,uCAAuC,EAAE;UAAElZ,IAAI,EAAE;SAjB7C;QAkBJmZ,sCAAsC,EAAE;UAAEnZ,IAAI,EAAE;SAlB5C;QAmBJoZ,+BAA+B,EAAE;UAAEpZ,IAAI,EAAE;SAnBrC;QAoBJO,IAAI,EAAE;UAAEP,IAAI,EAAE;SApBV;QAqBJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAvB7B;MAyBJG,GAAG,EAAE;KA3SP;IA6SFkZ,UAAU,EAAE;MACRzZ,MAAM,EAAE,OADA;MAERC,MAAM,EAAE;QACJkX,MAAM,EAAE;UAAE/W,IAAI,EAAE;SADZ;QAEJgX,MAAM,EAAE;UAAEhX,IAAI,EAAE;SAFZ;+BAGmB;UAAEA,IAAI,EAAE;SAH3B;+BAImB;UAAEA,IAAI,EAAE;SAJ3B;yBAKa;UAAEA,IAAI,EAAE;SALrB;sBAMU;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SANlC;QAOJiX,MAAM,EAAE;UAAEjX,IAAI,EAAE;SAPZ;QAQJsX,OAAO,EAAE;UAAEvX,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAR7B;QASJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAXzB;MAaRG,GAAG,EAAE;KA1TP;IA4TFmZ,gBAAgB,EAAE;MACd1Z,MAAM,EAAE,OADM;MAEdC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJkQ,KAAK,EAAE;UAAEhO,IAAI,EAAE,CAAC,QAAD,CAAR;UAAoBnC,QAAQ,EAAE,IAA9B;UAAoCC,IAAI,EAAE;;OAJvC;MAMdG,GAAG,EAAE;;GAxjFF;EA2jFXoZ,QAAQ,EAAE;IACNC,eAAe,EAAE;MACb9T,OAAO,EAAE;QAAEC,MAAM,EAAE;OADN;MAEb/F,MAAM,EAAE,KAFK;MAGbC,MAAM,EAAE;QACJ4Z,UAAU,EAAE;UAAEvX,IAAI,EAAE,CAAC,MAAD,EAAS,OAAT,EAAkB,OAAlB,CAAR;UAAoClC,IAAI,EAAE;SADlD;QAEJ0Z,UAAU,EAAE;UAAE3Z,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFhC;QAGJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANzB;MAQbG,GAAG,EAAE;KATH;IAWNwZ,UAAU,EAAE;MACRjU,OAAO,EAAE;QAAEC,MAAM,EAAE;OADX;MAER/F,MAAM,EAAE,MAFA;MAGRC,MAAM,EAAE;QACJ+Z,SAAS,EAAE;UAAE7Z,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD/B;QAEJ6Z,UAAU,EAAE;UAAE7Z,IAAI,EAAE;SAFhB;QAGJ8Z,YAAY,EAAE;UAAE9Z,IAAI,EAAE;SAHlB;QAIJqV,IAAI,EAAE;UAAErV,IAAI,EAAE;;OAPV;MASRG,GAAG,EAAE;KApBH;IAsBN4Z,YAAY,EAAE;MACVrU,OAAO,EAAE;QAAEC,MAAM,EAAE;OADT;MAEV/F,MAAM,EAAE,MAFE;MAGVC,MAAM,EAAE;QACJU,IAAI,EAAE;UAAER,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJ0Z,UAAU,EAAE;UAAE3Z,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL9B;MAOVG,GAAG,EAAE;KA7BH;IA+BN6Z,0BAA0B,EAAE;MACxBtU,OAAO,EAAE;QAAEC,MAAM,EAAE;OADK;MAExB/F,MAAM,EAAE,MAFgB;MAGxBC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAEvG,IAAI,EAAE;SADV;QAEJO,IAAI,EAAE;UAAER,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALV;MAOxBG,GAAG,EAAE;KAtCH;IAwCN8Z,YAAY,EAAE;MACVvU,OAAO,EAAE;QAAEC,MAAM,EAAE;OADT;MAEV/F,MAAM,EAAE,MAFE;MAGVC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAEvG,IAAI,EAAE;SADV;QAEJO,IAAI,EAAE;UAAER,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANvB;MAQVG,GAAG,EAAE;KAhDH;IAkDN+Z,aAAa,EAAE;MACXxU,OAAO,EAAE;QAAEC,MAAM,EAAE;OADR;MAEX/F,MAAM,EAAE,MAFG;MAGXC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAEvG,IAAI,EAAE;SADV;QAEJO,IAAI,EAAE;UAAER,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPvB;MASXG,GAAG,EAAE;KA3DH;IA6DNiL,MAAM,EAAE;MACJ1F,OAAO,EAAE;QAAEC,MAAM,EAAE;OADf;MAEJ/F,MAAM,EAAE,QAFJ;MAGJC,MAAM,EAAE;QAAE6Z,UAAU,EAAE;UAAE3Z,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAH1C;MAIJG,GAAG,EAAE;KAjEH;IAmENga,UAAU,EAAE;MACRzU,OAAO,EAAE;QAAEC,MAAM,EAAE;OADX;MAER/F,MAAM,EAAE,QAFA;MAGRC,MAAM,EAAE;QAAEua,OAAO,EAAE;UAAEra,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAHnC;MAIRG,GAAG,EAAE;KAvEH;IAyENka,YAAY,EAAE;MACV3U,OAAO,EAAE;QAAEC,MAAM,EAAE;OADT;MAEV/F,MAAM,EAAE,QAFE;MAGVC,MAAM,EAAE;QAAE+Z,SAAS,EAAE;UAAE7Z,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAHnC;MAIVG,GAAG,EAAE;KA7EH;IA+ENoJ,GAAG,EAAE;MACD7D,OAAO,EAAE;QAAEC,MAAM,EAAE;OADlB;MAED/F,MAAM,EAAE,KAFP;MAGDC,MAAM,EAAE;QAAE6Z,UAAU,EAAE;UAAE3Z,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAH7C;MAIDG,GAAG,EAAE;KAnFH;IAqFNma,OAAO,EAAE;MACL5U,OAAO,EAAE;QAAEC,MAAM,EAAE;OADd;MAEL/F,MAAM,EAAE,KAFH;MAGLC,MAAM,EAAE;QAAEua,OAAO,EAAE;UAAEra,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAHtC;MAILG,GAAG,EAAE;KAzFH;IA2FNoa,SAAS,EAAE;MACP7U,OAAO,EAAE;QAAEC,MAAM,EAAE;OADZ;MAEP/F,MAAM,EAAE,KAFD;MAGPC,MAAM,EAAE;QAAE+Z,SAAS,EAAE;UAAE7Z,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAHtC;MAIPG,GAAG,EAAE;KA/FH;IAiGNqa,SAAS,EAAE;MACP9U,OAAO,EAAE;QAAEC,MAAM,EAAE;OADZ;MAEP/F,MAAM,EAAE,KAFD;MAGPC,MAAM,EAAE;QACJ4a,cAAc,EAAE;UACZvY,IAAI,EAAE,CAAC,KAAD,EAAQ,UAAR,EAAoB,cAApB,CADM;UAEZlC,IAAI,EAAE;SAHN;QAKJ4Z,SAAS,EAAE;UAAE7Z,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAL/B;QAMJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SANV;QAOJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OAVf;MAYPG,GAAG,EAAE;KA7GH;IA+GNua,iBAAiB,EAAE;MACfhV,OAAO,EAAE;QAAEC,MAAM,EAAE;OADJ;MAEf/F,MAAM,EAAE,KAFO;MAGfC,MAAM,EAAE;QACJ8a,WAAW,EAAE;UAAEzY,IAAI,EAAE,CAAC,SAAD,EAAY,QAAZ,EAAsB,KAAtB,CAAR;UAAsClC,IAAI,EAAE;SADrD;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJ0Z,UAAU,EAAE;UAAE3Z,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPzB;MASfG,GAAG,EAAE;KAxHH;IA0HNya,WAAW,EAAE;MACTlV,OAAO,EAAE;QAAEC,MAAM,EAAE;OADV;MAET/F,MAAM,EAAE,KAFC;MAGTC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJ0Z,UAAU,EAAE;UAAE3Z,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAN/B;MAQTG,GAAG,EAAE;KAlIH;IAoIN6Q,UAAU,EAAE;MACRtL,OAAO,EAAE;QAAEC,MAAM,EAAE;OADX;MAER/F,MAAM,EAAE,KAFA;MAGRC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJkQ,KAAK,EAAE;UAAEhO,IAAI,EAAE,CAAC,MAAD,EAAS,QAAT,EAAmB,KAAnB,CAAR;UAAmClC,IAAI,EAAE;;OAP5C;MASRG,GAAG,EAAE;KA7IH;IA+IN8Q,WAAW,EAAE;MACTvL,OAAO,EAAE;QAAEC,MAAM,EAAE;OADV;MAET/F,MAAM,EAAE,KAFC;MAGTC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ1B;QAKJkQ,KAAK,EAAE;UAAEhO,IAAI,EAAE,CAAC,MAAD,EAAS,QAAT,EAAmB,KAAnB,CAAR;UAAmClC,IAAI,EAAE;;OAR3C;MAUTG,GAAG,EAAE;KAzJH;IA2JNwX,WAAW,EAAE;MACTjS,OAAO,EAAE;QAAEC,MAAM,EAAE;OADV;MAET/F,MAAM,EAAE,KAFC;MAGTC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJkQ,KAAK,EAAE;UAAEhO,IAAI,EAAE,CAAC,MAAD,EAAS,QAAT,EAAmB,KAAnB,CAAR;UAAmClC,IAAI,EAAE;SAH5C;QAIJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAP7B;MASTG,GAAG,EAAE;KApKH;IAsKN0a,QAAQ,EAAE;MACNnV,OAAO,EAAE;QAAEC,MAAM,EAAE;OADb;MAEN/F,MAAM,EAAE,MAFF;MAGNC,MAAM,EAAE;QACJua,OAAO,EAAE;UAAEra,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD7B;QAEJ4Z,SAAS,EAAE;UAAE5Z,IAAI,EAAE;SAFf;QAGJ8a,QAAQ,EAAE;UACN/a,QAAQ,EAAE,IADJ;UAENC,IAAI,EAAE,QAFA;UAGN+a,UAAU,EAAE;;OATd;MAYN5a,GAAG,EAAE;KAlLH;IAoLN6a,UAAU,EAAE;MACRtV,OAAO,EAAE;QAAEC,MAAM,EAAE;OADX;MAER/F,MAAM,EAAE,MAFA;MAGRC,MAAM,EAAE;QACJ+Z,SAAS,EAAE;UAAE7Z,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD/B;QAEJ8a,QAAQ,EAAE;UACN/a,QAAQ,EAAE,IADJ;UAENC,IAAI,EAAE,QAFA;UAGN+a,UAAU,EAAE;;OARZ;MAWR5a,GAAG,EAAE;KA/LH;IAiMN8a,kBAAkB,EAAE;MAChBvV,OAAO,EAAE;QAAEC,MAAM,EAAE;OADH;MAEhB/F,MAAM,EAAE,QAFQ;MAGhBC,MAAM,EAAE;QACJ6Z,UAAU,EAAE;UAAE3Z,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADhC;QAEJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALtB;MAOhBG,GAAG,EAAE;KAxMH;IA0MN+a,yBAAyB,EAAE;MACvBxV,OAAO,EAAE;QAAEC,MAAM,EAAE;OADI;MAEvB/F,MAAM,EAAE,KAFe;MAGvBC,MAAM,EAAE;QACJ6Z,UAAU,EAAE;UAAE3Z,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADhC;QAEJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALf;MAOvBG,GAAG,EAAE;KAjNH;IAmNNmK,MAAM,EAAE;MACJ5E,OAAO,EAAE;QAAEC,MAAM,EAAE;OADf;MAEJ/F,MAAM,EAAE,OAFJ;MAGJC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAEvG,IAAI,EAAE;SADV;QAEJO,IAAI,EAAE;UAAEP,IAAI,EAAE;SAFV;QAGJmb,uBAAuB,EAAE;UAAEnb,IAAI,EAAE;SAH7B;QAIJob,OAAO,EAAE;UAAEpb,IAAI,EAAE;SAJb;QAKJ0Z,UAAU,EAAE;UAAE3Z,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SALhC;QAMJkQ,KAAK,EAAE;UAAEhO,IAAI,EAAE,CAAC,MAAD,EAAS,QAAT,CAAR;UAA4BlC,IAAI,EAAE;;OATzC;MAWJG,GAAG,EAAE;KA9NH;IAgONkb,UAAU,EAAE;MACR3V,OAAO,EAAE;QAAEC,MAAM,EAAE;OADX;MAER/F,MAAM,EAAE,OAFA;MAGRC,MAAM,EAAE;QACJyb,QAAQ,EAAE;UAAEtb,IAAI,EAAE;SADd;QAEJoa,OAAO,EAAE;UAAEra,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF7B;QAGJqV,IAAI,EAAE;UAAErV,IAAI,EAAE;;OANV;MAQRG,GAAG,EAAE;KAxOH;IA0ONob,YAAY,EAAE;MACV7V,OAAO,EAAE;QAAEC,MAAM,EAAE;OADT;MAEV/F,MAAM,EAAE,OAFE;MAGVC,MAAM,EAAE;QACJ+Z,SAAS,EAAE;UAAE7Z,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD/B;QAEJO,IAAI,EAAE;UAAER,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALxB;MAOVG,GAAG,EAAE;;GA5yFF;EA+yFXqb,KAAK,EAAE;IACHC,aAAa,EAAE;MACX7b,MAAM,EAAE,KADG;MAEXC,MAAM,EAAE;QACJ0P,MAAM,EAAE;UAAEC,KAAK,EAAE,aAAT;UAAwBtJ,UAAU,EAAE,IAApC;UAA0ClG,IAAI,EAAE;SADpD;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJ0b,WAAW,EAAE;UAAE3b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHjC;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANvB;MAQXG,GAAG,EAAE;KATN;IAWH2I,MAAM,EAAE;MACJlJ,MAAM,EAAE,MADJ;MAEJC,MAAM,EAAE;QACJ8b,IAAI,EAAE;UAAE5b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJuG,IAAI,EAAE;UAAEvG,IAAI,EAAE;SAFV;QAGJ4b,KAAK,EAAE;UAAE5b,IAAI,EAAE;SAHX;QAIJ6b,IAAI,EAAE;UAAE9b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ1B;QAKJ8b,qBAAqB,EAAE;UAAE9b,IAAI,EAAE;SAL3B;QAMJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAN3B;QAOJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAP1B;QAQJyG,KAAK,EAAE;UAAE1G,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAV/B;MAYJG,GAAG,EAAE;KAvBN;IAyBHgL,aAAa,EAAE;MACXvL,MAAM,EAAE,MADG;MAEXC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAExG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJ+b,SAAS,EAAE;UAAEhc,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF/B;QAGJgc,WAAW,EAAE;UACT9V,UAAU,EAAE,IADH;UAET8E,WAAW,EAAE,sJAFJ;UAGThL,IAAI,EAAE;SANN;QAQJic,IAAI,EAAE;UAAEjc,IAAI,EAAE;SARV;QASJuP,MAAM,EAAE;UAAEC,KAAK,EAAE,aAAT;UAAwBtJ,UAAU,EAAE,IAApC;UAA0ClG,IAAI,EAAE;SATpD;QAUJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAV3B;QAWJkc,IAAI,EAAE;UAAEnc,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAX1B;QAYJ8a,QAAQ,EAAE;UAAE9a,IAAI,EAAE;SAZd;QAaJ0b,WAAW,EAAE;UAAE3b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAbjC;QAcJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAd1B;QAeJmc,IAAI,EAAE;UAAEja,IAAI,EAAE,CAAC,MAAD,EAAS,OAAT,CAAR;UAA2BlC,IAAI,EAAE;SAfnC;QAgBJoc,UAAU,EAAE;UAAEpc,IAAI,EAAE;SAhBhB;QAiBJqc,UAAU,EAAE;UAAEna,IAAI,EAAE,CAAC,MAAD,EAAS,OAAT,EAAkB,MAAlB,CAAR;UAAmClC,IAAI,EAAE;;OAnB9C;MAqBXG,GAAG,EAAE;KA9CN;IAgDHmc,kBAAkB,EAAE;MAChBpW,UAAU,EAAE,mGADI;MAEhBtG,MAAM,EAAE,MAFQ;MAGhBC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAExG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJ+b,SAAS,EAAE;UAAEhc,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF/B;QAGJgc,WAAW,EAAE;UACT9V,UAAU,EAAE,IADH;UAET8E,WAAW,EAAE,sJAFJ;UAGThL,IAAI,EAAE;SANN;QAQJic,IAAI,EAAE;UAAEjc,IAAI,EAAE;SARV;QASJuP,MAAM,EAAE;UAAEC,KAAK,EAAE,aAAT;UAAwBtJ,UAAU,EAAE,IAApC;UAA0ClG,IAAI,EAAE;SATpD;QAUJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAV3B;QAWJkc,IAAI,EAAE;UAAEnc,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAX1B;QAYJ8a,QAAQ,EAAE;UAAE9a,IAAI,EAAE;SAZd;QAaJ0b,WAAW,EAAE;UAAE3b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAbjC;QAcJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAd1B;QAeJmc,IAAI,EAAE;UAAEja,IAAI,EAAE,CAAC,MAAD,EAAS,OAAT,CAAR;UAA2BlC,IAAI,EAAE;SAfnC;QAgBJoc,UAAU,EAAE;UAAEpc,IAAI,EAAE;SAhBhB;QAiBJqc,UAAU,EAAE;UAAEna,IAAI,EAAE,CAAC,MAAD,EAAS,OAAT,EAAkB,MAAlB,CAAR;UAAmClC,IAAI,EAAE;;OApBzC;MAsBhBG,GAAG,EAAE;KAtEN;IAwEHoc,eAAe,EAAE;MACbrW,UAAU,EAAE,iHADC;MAEbtG,MAAM,EAAE,MAFK;MAGbC,MAAM,EAAE;QACJ8b,IAAI,EAAE;UAAE5b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJ4b,KAAK,EAAE;UAAE5b,IAAI,EAAE;SAFX;QAGJ6b,IAAI,EAAE;UAAE9b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH1B;QAIJwc,KAAK,EAAE;UAAEzc,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ3B;QAKJ8b,qBAAqB,EAAE;UAAE9b,IAAI,EAAE;SAL3B;QAMJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAN3B;QAOJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAVrB;MAYbG,GAAG,EAAE;KApFN;IAsFHsc,YAAY,EAAE;MACV7c,MAAM,EAAE,MADE;MAEVC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAEvG,IAAI,EAAE;SADV;QAEJ0c,QAAQ,EAAE;UAAE1c,IAAI,EAAE;SAFd;2BAGe;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHvC;2BAIe;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJvC;+BAKmB;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAL3C;QAMJ+b,SAAS,EAAE;UAAE/b,IAAI,EAAE;SANf;QAOJgC,KAAK,EAAE;UACHE,IAAI,EAAE,CAAC,SAAD,EAAY,iBAAZ,EAA+B,SAA/B,CADH;UAEHlC,IAAI,EAAE;SATN;QAWJuP,MAAM,EAAE;UAAEC,KAAK,EAAE,aAAT;UAAwBtJ,UAAU,EAAE,IAApC;UAA0ClG,IAAI,EAAE;SAXpD;QAYJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAZ3B;QAaJ0b,WAAW,EAAE;UAAE3b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAbjC;QAcJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAhBxB;MAkBVG,GAAG,EAAE;KAxGN;IA0GHwc,wBAAwB,EAAE;MACtB/c,MAAM,EAAE,MADc;MAEtBC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAExG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJsL,UAAU,EAAE;UAAEvL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFhC;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJ0b,WAAW,EAAE;UAAE3b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJjC;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPZ;MAStBG,GAAG,EAAE;KAnHN;IAqHHyc,mBAAmB,EAAE;MACjBhd,MAAM,EAAE,MADS;MAEjBC,MAAM,EAAE;QACJ0P,MAAM,EAAE;UAAEC,KAAK,EAAE,aAAT;UAAwBtJ,UAAU,EAAE,IAApC;UAA0ClG,IAAI,EAAE;SADpD;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJ0b,WAAW,EAAE;UAAE3b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHjC;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ1B;QAKJ6c,SAAS,EAAE;UAAE7c,IAAI,EAAE;SALf;QAMJ8c,cAAc,EAAE;UAAE9c,IAAI,EAAE;;OARX;MAUjBG,GAAG,EAAE;KA/HN;IAiIHkL,aAAa,EAAE;MACXzL,MAAM,EAAE,QADG;MAEXC,MAAM,EAAE;QACJyL,UAAU,EAAE;UAAEvL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADhC;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALvB;MAOXG,GAAG,EAAE;KAxIN;IA0IH4c,mBAAmB,EAAE;MACjBnd,MAAM,EAAE,QADS;MAEjBC,MAAM,EAAE;QACJ0P,MAAM,EAAE;UAAEC,KAAK,EAAE,aAAT;UAAwBtJ,UAAU,EAAE,IAApC;UAA0ClG,IAAI,EAAE;SADpD;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJ0b,WAAW,EAAE;UAAE3b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHjC;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ1B;QAKJgd,SAAS,EAAE;UAAEjd,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPtB;MASjBG,GAAG,EAAE;KAnJN;IAqJH8c,mBAAmB,EAAE;MACjBrd,MAAM,EAAE,QADS;MAEjBC,MAAM,EAAE;QACJ0P,MAAM,EAAE;UAAEC,KAAK,EAAE,aAAT;UAAwBtJ,UAAU,EAAE,IAApC;UAA0ClG,IAAI,EAAE;SADpD;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJ0b,WAAW,EAAE;UAAE3b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHjC;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ1B;QAKJ6c,SAAS,EAAE;UAAE7c,IAAI,EAAE;SALf;QAMJ8c,cAAc,EAAE;UAAE9c,IAAI,EAAE;;OARX;MAUjBG,GAAG,EAAE;KA/JN;IAiKH+c,aAAa,EAAE;MACXtd,MAAM,EAAE,KADG;MAEXC,MAAM,EAAE;QACJ+M,OAAO,EAAE;UAAE7M,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD7B;QAEJuP,MAAM,EAAE;UAAEC,KAAK,EAAE,aAAT;UAAwBtJ,UAAU,EAAE,IAApC;UAA0ClG,IAAI,EAAE;SAFpD;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJ0b,WAAW,EAAE;UAAE3b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJjC;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAL1B;QAMJgd,SAAS,EAAE;UAAEjd,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAR5B;MAUXG,GAAG,EAAE;KA3KN;IA6KHoJ,GAAG,EAAE;MACD3J,MAAM,EAAE,KADP;MAEDC,MAAM,EAAE;QACJ0P,MAAM,EAAE;UAAEC,KAAK,EAAE,aAAT;UAAwBtJ,UAAU,EAAE,IAApC;UAA0ClG,IAAI,EAAE;SADpD;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJ0b,WAAW,EAAE;UAAE3b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHjC;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANjC;MAQDG,GAAG,EAAE;KArLN;IAuLHqL,UAAU,EAAE;MACR5L,MAAM,EAAE,KADA;MAERC,MAAM,EAAE;QACJyL,UAAU,EAAE;UAAEvL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADhC;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL1B;MAORG,GAAG,EAAE;KA9LN;IAgMHgd,oBAAoB,EAAE;MAClBvd,MAAM,EAAE,KADU;MAElBC,MAAM,EAAE;QACJ0P,MAAM,EAAE;UAAEC,KAAK,EAAE,aAAT;UAAwBtJ,UAAU,EAAE,IAApC;UAA0ClG,IAAI,EAAE;SADpD;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAJd;QAKJ0b,WAAW,EAAE;UAAE3b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SALjC;QAMJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAN1B;QAOJgd,SAAS,EAAE;UAAEjd,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OATrB;MAWlBG,GAAG,EAAE;KA3MN;IA6MHid,SAAS,EAAE;MACPxd,MAAM,EAAE,KADD;MAEPC,MAAM,EAAE;QACJ0P,MAAM,EAAE;UAAEC,KAAK,EAAE,aAAT;UAAwBtJ,UAAU,EAAE,IAApC;UAA0ClG,IAAI,EAAE;SADpD;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJ0b,WAAW,EAAE;UAAE3b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHjC;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ1B;QAKJgd,SAAS,EAAE;UAAEjd,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPhC;MASPG,GAAG,EAAE;KAtNN;IAwNHwL,IAAI,EAAE;MACF/L,MAAM,EAAE,KADN;MAEFC,MAAM,EAAE;QACJ8b,IAAI,EAAE;UAAE3b,IAAI,EAAE;SADV;QAEJuE,SAAS,EAAE;UAAErC,IAAI,EAAE,CAAC,KAAD,EAAQ,MAAR,CAAR;UAAyBlC,IAAI,EAAE;SAFtC;QAGJ6b,IAAI,EAAE;UAAE7b,IAAI,EAAE;SAHV;QAIJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ3B;QAKJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SALV;QAMJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SANd;QAOJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAP1B;QAQJwE,IAAI,EAAE;UACFtC,IAAI,EAAE,CAAC,SAAD,EAAY,SAAZ,EAAuB,YAAvB,EAAqC,cAArC,CADJ;UAEFlC,IAAI,EAAE;SAVN;QAYJkQ,KAAK,EAAE;UAAEhO,IAAI,EAAE,CAAC,MAAD,EAAS,QAAT,EAAmB,KAAnB,CAAR;UAAmClC,IAAI,EAAE;;OAdlD;MAgBFG,GAAG,EAAE;KAxON;IA0OHyL,YAAY,EAAE;MACVhM,MAAM,EAAE,KADE;MAEVC,MAAM,EAAE;QACJ0E,SAAS,EAAE;UAAErC,IAAI,EAAE,CAAC,KAAD,EAAQ,MAAR,CAAR;UAAyBlC,IAAI,EAAE;SADtC;QAEJuP,MAAM,EAAE;UAAEC,KAAK,EAAE,aAAT;UAAwBtJ,UAAU,EAAE,IAApC;UAA0ClG,IAAI,EAAE;SAFpD;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAJV;QAKJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SALd;QAMJ0b,WAAW,EAAE;UAAE3b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SANjC;QAOJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAP1B;QAQJ6D,KAAK,EAAE;UAAE7D,IAAI,EAAE;SARX;QASJwE,IAAI,EAAE;UAAEtC,IAAI,EAAE,CAAC,SAAD,EAAY,SAAZ,CAAR;UAAgClC,IAAI,EAAE;;OAXtC;MAaVG,GAAG,EAAE;KAvPN;IAyPHwQ,mBAAmB,EAAE;MACjB/Q,MAAM,EAAE,KADS;MAEjBC,MAAM,EAAE;QACJ0E,SAAS,EAAE;UAAErC,IAAI,EAAE,CAAC,KAAD,EAAQ,MAAR,CAAR;UAAyBlC,IAAI,EAAE;SADtC;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAJd;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAL1B;QAMJ6D,KAAK,EAAE;UAAE7D,IAAI,EAAE;SANX;QAOJwE,IAAI,EAAE;UAAEtC,IAAI,EAAE,CAAC,SAAD,EAAY,SAAZ,CAAR;UAAgClC,IAAI,EAAE;;OAT/B;MAWjBG,GAAG,EAAE;KApQN;IAsQH0L,WAAW,EAAE;MACTjM,MAAM,EAAE,KADC;MAETC,MAAM,EAAE;QACJ0P,MAAM,EAAE;UAAEC,KAAK,EAAE,aAAT;UAAwBtJ,UAAU,EAAE,IAApC;UAA0ClG,IAAI,EAAE;SADpD;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAJd;QAKJ0b,WAAW,EAAE;UAAE3b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SALjC;QAMJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OARzB;MAUTG,GAAG,EAAE;KAhRN;IAkRHkd,SAAS,EAAE;MACPzd,MAAM,EAAE,KADD;MAEPC,MAAM,EAAE;QACJ0P,MAAM,EAAE;UAAEC,KAAK,EAAE,aAAT;UAAwBtJ,UAAU,EAAE,IAApC;UAA0ClG,IAAI,EAAE;SADpD;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAJd;QAKJ0b,WAAW,EAAE;UAAE3b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SALjC;QAMJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAR3B;MAUPG,GAAG,EAAE;KA5RN;IA8RHmd,kBAAkB,EAAE;MAChB1d,MAAM,EAAE,KADQ;MAEhBC,MAAM,EAAE;QACJ0P,MAAM,EAAE;UAAEC,KAAK,EAAE,aAAT;UAAwBtJ,UAAU,EAAE,IAApC;UAA0ClG,IAAI,EAAE;SADpD;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAJd;QAKJ0b,WAAW,EAAE;UAAE3b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SALjC;QAMJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OARlB;MAUhBG,GAAG,EAAE;KAxSN;IA0SHod,WAAW,EAAE;MACT3d,MAAM,EAAE,KADC;MAETC,MAAM,EAAE;QACJ0P,MAAM,EAAE;UAAEC,KAAK,EAAE,aAAT;UAAwBtJ,UAAU,EAAE,IAApC;UAA0ClG,IAAI,EAAE;SADpD;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAJd;QAKJ0b,WAAW,EAAE;UAAE3b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SALjC;QAMJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OARzB;MAUTG,GAAG,EAAE;KApTN;IAsTHqd,KAAK,EAAE;MACH5d,MAAM,EAAE,KADL;MAEHC,MAAM,EAAE;QACJ4d,cAAc,EAAE;UAAEzd,IAAI,EAAE;SADpB;QAEJ0d,YAAY,EAAE;UAAE1d,IAAI,EAAE;SAFlB;QAGJ2d,YAAY,EAAE;UAAEzb,IAAI,EAAE,CAAC,OAAD,EAAU,QAAV,EAAoB,QAApB,CAAR;UAAuClC,IAAI,EAAE;SAHvD;QAIJuP,MAAM,EAAE;UAAEC,KAAK,EAAE,aAAT;UAAwBtJ,UAAU,EAAE,IAApC;UAA0ClG,IAAI,EAAE;SAJpD;QAKJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAL3B;QAMJ0b,WAAW,EAAE;UAAE3b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SANjC;QAOJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAP1B;QAQJ0L,GAAG,EAAE;UAAE1L,IAAI,EAAE;;OAVd;MAYHG,GAAG,EAAE;KAlUN;IAoUHyd,YAAY,EAAE;MACVhe,MAAM,EAAE,MADE;MAEVC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAEvG,IAAI,EAAE;SADV;QAEJgC,KAAK,EAAE;UACHE,IAAI,EAAE,CAAC,SAAD,EAAY,iBAAZ,EAA+B,SAA/B,CADH;UAEHnC,QAAQ,EAAE,IAFP;UAGHC,IAAI,EAAE;SALN;QAOJuP,MAAM,EAAE;UAAEC,KAAK,EAAE,aAAT;UAAwBtJ,UAAU,EAAE,IAApC;UAA0ClG,IAAI,EAAE;SAPpD;QAQJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAR3B;QASJ0b,WAAW,EAAE;UAAE3b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SATjC;QAUJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAV1B;QAWJgd,SAAS,EAAE;UAAEjd,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAb7B;MAeVG,GAAG,EAAE;KAnVN;IAqVHmK,MAAM,EAAE;MACJ1K,MAAM,EAAE,OADJ;MAEJC,MAAM,EAAE;QACJ8b,IAAI,EAAE;UAAE3b,IAAI,EAAE;SADV;QAEJuG,IAAI,EAAE;UAAEvG,IAAI,EAAE;SAFV;QAGJ8b,qBAAqB,EAAE;UAAE9b,IAAI,EAAE;SAH3B;QAIJuP,MAAM,EAAE;UAAEC,KAAK,EAAE,aAAT;UAAwBtJ,UAAU,EAAE,IAApC;UAA0ClG,IAAI,EAAE;SAJpD;QAKJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAL3B;QAMJ0b,WAAW,EAAE;UAAE3b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SANjC;QAOJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAP1B;QAQJkQ,KAAK,EAAE;UAAEhO,IAAI,EAAE,CAAC,MAAD,EAAS,QAAT,CAAR;UAA4BlC,IAAI,EAAE;SARrC;QASJyG,KAAK,EAAE;UAAEzG,IAAI,EAAE;;OAXf;MAaJG,GAAG,EAAE;KAlWN;IAoWH0d,YAAY,EAAE;MACVnY,OAAO,EAAE;QAAEC,MAAM,EAAE;OADT;MAEV/F,MAAM,EAAE,KAFE;MAGVC,MAAM,EAAE;QACJie,iBAAiB,EAAE;UAAE9d,IAAI,EAAE;SADvB;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJ0b,WAAW,EAAE;UAAE3b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHjC;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPxB;MASVG,GAAG,EAAE;KA7WN;IA+WHiM,aAAa,EAAE;MACXxM,MAAM,EAAE,OADG;MAEXC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAExG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJsL,UAAU,EAAE;UAAEvL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFhC;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANvB;MAQXG,GAAG,EAAE;KAvXN;IAyXH4d,YAAY,EAAE;MACVne,MAAM,EAAE,KADE;MAEVC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAExG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJuP,MAAM,EAAE;UAAEC,KAAK,EAAE,aAAT;UAAwBtJ,UAAU,EAAE,IAApC;UAA0ClG,IAAI,EAAE;SAFpD;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJ0b,WAAW,EAAE;UAAE3b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJjC;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAL1B;QAMJgd,SAAS,EAAE;UAAEjd,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAR7B;MAUVG,GAAG,EAAE;;GAlrGF;EAqrGX6d,SAAS,EAAE;IAAEzU,GAAG,EAAE;MAAE3J,MAAM,EAAE,KAAV;MAAiBC,MAAM,EAAE,EAAzB;MAA6BM,GAAG,EAAE;;GArrGzC;EAsrGX8d,SAAS,EAAE;IACPC,sBAAsB,EAAE;MACpBxY,OAAO,EAAE;QAAEC,MAAM,EAAE;OADC;MAEpB/F,MAAM,EAAE,MAFY;MAGpBC,MAAM,EAAE;QACJyL,UAAU,EAAE;UAAEvL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADhC;QAEJuM,OAAO,EAAE;UACLrK,IAAI,EAAE,CACF,IADE,EAEF,IAFE,EAGF,OAHE,EAIF,UAJE,EAKF,OALE,EAMF,QANE,EAOF,QAPE,EAQF,MARE,CADD;UAWLnC,QAAQ,EAAE,IAXL;UAYLC,IAAI,EAAE;SAdN;QAgBJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAhB3B;QAiBJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OApBd;MAsBpBG,GAAG,EAAE;KAvBF;IAyBPge,cAAc,EAAE;MACZzY,OAAO,EAAE;QAAEC,MAAM,EAAE;OADP;MAEZ/F,MAAM,EAAE,MAFI;MAGZC,MAAM,EAAE;QACJ0M,OAAO,EAAE;UACLrK,IAAI,EAAE,CACF,IADE,EAEF,IAFE,EAGF,OAHE,EAIF,UAJE,EAKF,OALE,EAMF,QANE,EAOF,QAPE,EAQF,MARE,CADD;UAWLnC,QAAQ,EAAE,IAXL;UAYLC,IAAI,EAAE;SAbN;QAeJsP,YAAY,EAAE;UAAEvP,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAflC;QAgBJuP,MAAM,EAAE;UAAEC,KAAK,EAAE,cAAT;UAAyBtJ,UAAU,EAAE,IAArC;UAA2ClG,IAAI,EAAE;SAhBrD;QAiBJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAjB3B;QAkBJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OArBtB;MAuBZG,GAAG,EAAE;KAhDF;IAkDPie,qBAAqB,EAAE;MACnB1Y,OAAO,EAAE;QAAEC,MAAM,EAAE;OADA;MAEnB/F,MAAM,EAAE,MAFW;MAGnBC,MAAM,EAAE;QACJyL,UAAU,EAAE;UAAEvL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADhC;QAEJuM,OAAO,EAAE;UACLrK,IAAI,EAAE,CACF,IADE,EAEF,IAFE,EAGF,OAHE,EAIF,UAJE,EAKF,OALE,EAMF,QANE,EAOF,QAPE,EAQF,MARE,CADD;UAWLnC,QAAQ,EAAE,IAXL;UAYLC,IAAI,EAAE;SAdN;QAgBJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAhB3B;QAiBJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OApBf;MAsBnBG,GAAG,EAAE;KAxEF;IA0EPke,iCAAiC,EAAE;MAC/B3Y,OAAO,EAAE;QAAEC,MAAM,EAAE;OADY;MAE/B/F,MAAM,EAAE,MAFuB;MAG/BC,MAAM,EAAE;QACJyL,UAAU,EAAE;UAAEvL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADhC;QAEJuM,OAAO,EAAE;UACLrK,IAAI,EAAE,CACF,IADE,EAEF,IAFE,EAGF,OAHE,EAIF,UAJE,EAKF,OALE,EAMF,QANE,EAOF,QAPE,EAQF,MARE,CADD;UAWLnC,QAAQ,EAAE,IAXL;UAYLC,IAAI,EAAE;SAdN;QAgBJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAhB3B;QAiBJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OApBH;MAsB/BG,GAAG,EAAE;KAhGF;IAkGPme,uBAAuB,EAAE;MACrBpY,UAAU,EAAE,gIADS;MAErBR,OAAO,EAAE;QAAEC,MAAM,EAAE;OAFE;MAGrB/F,MAAM,EAAE,MAHa;MAIrBC,MAAM,EAAE;QACJ0M,OAAO,EAAE;UACLrK,IAAI,EAAE,CACF,IADE,EAEF,IAFE,EAGF,OAHE,EAIF,UAJE,EAKF,OALE,EAMF,QANE,EAOF,QAPE,EAQF,MARE,CADD;UAWLnC,QAAQ,EAAE,IAXL;UAYLC,IAAI,EAAE;SAbN;QAeJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAfvC;QAgBJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OApBhB;MAsBrBG,GAAG,EAAE;KAxHF;IA0HPse,8BAA8B,EAAE;MAC5BvY,UAAU,EAAE,8IADgB;MAE5BR,OAAO,EAAE;QAAEC,MAAM,EAAE;OAFS;MAG5B/F,MAAM,EAAE,MAHoB;MAI5BC,MAAM,EAAE;QACJ6e,cAAc,EAAE;UAAE3e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADpC;QAEJuM,OAAO,EAAE;UACLrK,IAAI,EAAE,CACF,IADE,EAEF,IAFE,EAGF,OAHE,EAIF,UAJE,EAKF,OALE,EAMF,QANE,EAOF,QAPE,EAQF,MARE,CADD;UAWLnC,QAAQ,EAAE,IAXL;UAYLC,IAAI,EAAE;SAdN;QAgBJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAhBvC;QAiBJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OArBT;MAuB5BG,GAAG,EAAE;KAjJF;IAmJPwe,mCAAmC,EAAE;MACjCjZ,OAAO,EAAE;QAAEC,MAAM,EAAE;OADc;MAEjC/F,MAAM,EAAE,MAFyB;MAGjCC,MAAM,EAAE;QACJ6e,cAAc,EAAE;UAAE3e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADpC;QAEJuM,OAAO,EAAE;UACLrK,IAAI,EAAE,CACF,IADE,EAEF,IAFE,EAGF,OAHE,EAIF,UAJE,EAKF,OALE,EAMF,QANE,EAOF,QAPE,EAQF,MARE,CADD;UAWLnC,QAAQ,EAAE,IAXL;UAYLC,IAAI,EAAE;SAdN;QAgBJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAhBvC;QAiBJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAjBzB;QAkBJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OArBN;MAuBjCG,GAAG,EAAE;KA1KF;IA4KP0e,oCAAoC,EAAE;MAClC3Y,UAAU,EAAE,6KADsB;MAElCR,OAAO,EAAE;QAAEC,MAAM,EAAE;OAFe;MAGlC/F,MAAM,EAAE,MAH0B;MAIlCC,MAAM,EAAE;QACJ6e,cAAc,EAAE;UAAE3e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADpC;QAEJuM,OAAO,EAAE;UACLrK,IAAI,EAAE,CACF,IADE,EAEF,IAFE,EAGF,OAHE,EAIF,UAJE,EAKF,OALE,EAMF,QANE,EAOF,QAPE,EAQF,MARE,CADD;UAWLnC,QAAQ,EAAE,IAXL;UAYLC,IAAI,EAAE;SAdN;QAgBJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAhBvC;QAiBJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OArBH;MAuBlCG,GAAG,EAAE;KAnMF;IAqMP2e,4BAA4B,EAAE;MAC1BpZ,OAAO,EAAE;QAAEC,MAAM,EAAE;OADO;MAE1B/F,MAAM,EAAE,MAFkB;MAG1BC,MAAM,EAAE;QACJ0M,OAAO,EAAE;UACLrK,IAAI,EAAE,CACF,IADE,EAEF,IAFE,EAGF,OAHE,EAIF,UAJE,EAKF,OALE,EAMF,QANE,EAOF,QAPE,EAQF,MARE,CADD;UAWLnC,QAAQ,EAAE,IAXL;UAYLC,IAAI,EAAE;SAbN;QAeJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAfvC;QAgBJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAhBzB;QAiBJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OApBb;MAsB1BG,GAAG,EAAE;KA3NF;IA6NP4e,6BAA6B,EAAE;MAC3B7Y,UAAU,EAAE,8JADe;MAE3BR,OAAO,EAAE;QAAEC,MAAM,EAAE;OAFQ;MAG3B/F,MAAM,EAAE,MAHmB;MAI3BC,MAAM,EAAE;QACJ0M,OAAO,EAAE;UACLrK,IAAI,EAAE,CACF,IADE,EAEF,IAFE,EAGF,OAHE,EAIF,UAJE,EAKF,OALE,EAMF,QANE,EAOF,QAPE,EAQF,MARE,CADD;UAWLnC,QAAQ,EAAE,IAXL;UAYLC,IAAI,EAAE;SAbN;QAeJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAfvC;QAgBJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OApBV;MAsB3BG,GAAG,EAAE;KAnPF;IAqPPiL,MAAM,EAAE;MACJ1F,OAAO,EAAE;QAAEC,MAAM,EAAE;OADf;MAEJ/F,MAAM,EAAE,QAFJ;MAGJC,MAAM,EAAE;QAAEmf,WAAW,EAAE;UAAEjf,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAH3C;MAIJG,GAAG,EAAE;KAzPF;IA2PP8e,oBAAoB,EAAE;MAClBvZ,OAAO,EAAE;QAAEC,MAAM,EAAE;OADD;MAElB/F,MAAM,EAAE,KAFU;MAGlBC,MAAM,EAAE;QACJyL,UAAU,EAAE;UAAEvL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADhC;QAEJuM,OAAO,EAAE;UACLrK,IAAI,EAAE,CACF,IADE,EAEF,IAFE,EAGF,OAHE,EAIF,UAJE,EAKF,OALE,EAMF,QANE,EAOF,QAPE,EAQF,MARE,CADD;UAWLlC,IAAI,EAAE;SAbN;QAeJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAf3B;QAgBJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAhBV;QAiBJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAjBd;QAkBJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OArBhB;MAuBlBG,GAAG,EAAE;KAlRF;IAoRP+e,YAAY,EAAE;MACVxZ,OAAO,EAAE;QAAEC,MAAM,EAAE;OADT;MAEV/F,MAAM,EAAE,KAFE;MAGVC,MAAM,EAAE;QACJ0M,OAAO,EAAE;UACLrK,IAAI,EAAE,CACF,IADE,EAEF,IAFE,EAGF,OAHE,EAIF,UAJE,EAKF,OALE,EAMF,QANE,EAOF,QAPE,EAQF,MARE,CADD;UAWLlC,IAAI,EAAE;SAZN;QAcJsP,YAAY,EAAE;UAAEvP,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAdlC;QAeJuP,MAAM,EAAE;UAAEC,KAAK,EAAE,cAAT;UAAyBtJ,UAAU,EAAE,IAArC;UAA2ClG,IAAI,EAAE;SAfrD;QAgBJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAhB3B;QAiBJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAjBV;QAkBJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAlBd;QAmBJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAtBxB;MAwBVG,GAAG,EAAE;KA5SF;IA8SPgf,mBAAmB,EAAE;MACjBzZ,OAAO,EAAE;QAAEC,MAAM,EAAE;OADF;MAEjB/F,MAAM,EAAE,KAFS;MAGjBC,MAAM,EAAE;QACJyL,UAAU,EAAE;UAAEvL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADhC;QAEJuM,OAAO,EAAE;UACLrK,IAAI,EAAE,CACF,IADE,EAEF,IAFE,EAGF,OAHE,EAIF,UAJE,EAKF,OALE,EAMF,QANE,EAOF,QAPE,EAQF,MARE,CADD;UAWLlC,IAAI,EAAE;SAbN;QAeJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAf3B;QAgBJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAhBV;QAiBJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAjBd;QAkBJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OArBjB;MAuBjBG,GAAG,EAAE;KArUF;IAuUPif,+BAA+B,EAAE;MAC7B1Z,OAAO,EAAE;QAAEC,MAAM,EAAE;OADU;MAE7B/F,MAAM,EAAE,KAFqB;MAG7BC,MAAM,EAAE;QACJyL,UAAU,EAAE;UAAEvL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADhC;QAEJuM,OAAO,EAAE;UACLrK,IAAI,EAAE,CACF,IADE,EAEF,IAFE,EAGF,OAHE,EAIF,UAJE,EAKF,OALE,EAMF,QANE,EAOF,QAPE,EAQF,MARE,CADD;UAWLlC,IAAI,EAAE;SAbN;QAeJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAf3B;QAgBJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAhBV;QAiBJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAjBd;QAkBJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OArBL;MAuB7BG,GAAG,EAAE;KA9VF;IAgWPkf,qBAAqB,EAAE;MACnBnZ,UAAU,EAAE,4HADO;MAEnBR,OAAO,EAAE;QAAEC,MAAM,EAAE;OAFA;MAGnB/F,MAAM,EAAE,KAHW;MAInBC,MAAM,EAAE;QACJ0M,OAAO,EAAE;UACLrK,IAAI,EAAE,CACF,IADE,EAEF,IAFE,EAGF,OAHE,EAIF,UAJE,EAKF,OALE,EAMF,QANE,EAOF,QAPE,EAQF,MARE,CADD;UAWLlC,IAAI,EAAE;SAZN;QAcJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAdvC;QAeJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAfV;QAgBJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAhBd;QAiBJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OArBlB;MAuBnBG,GAAG,EAAE;KAvXF;IAyXPmf,4BAA4B,EAAE;MAC1BpZ,UAAU,EAAE,0IADc;MAE1BR,OAAO,EAAE;QAAEC,MAAM,EAAE;OAFO;MAG1B/F,MAAM,EAAE,KAHkB;MAI1BC,MAAM,EAAE;QACJ6e,cAAc,EAAE;UAAE3e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADpC;QAEJuM,OAAO,EAAE;UACLrK,IAAI,EAAE,CACF,IADE,EAEF,IAFE,EAGF,OAHE,EAIF,UAJE,EAKF,OALE,EAMF,QANE,EAOF,QAPE,EAQF,MARE,CADD;UAWLlC,IAAI,EAAE;SAbN;QAeJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAfvC;QAgBJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAhBV;QAiBJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAjBd;QAkBJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAtBX;MAwB1BG,GAAG,EAAE;KAjZF;IAmZPof,iCAAiC,EAAE;MAC/B7Z,OAAO,EAAE;QAAEC,MAAM,EAAE;OADY;MAE/B/F,MAAM,EAAE,KAFuB;MAG/BC,MAAM,EAAE;QACJ6e,cAAc,EAAE;UAAE3e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADpC;QAEJuM,OAAO,EAAE;UACLrK,IAAI,EAAE,CACF,IADE,EAEF,IAFE,EAGF,OAHE,EAIF,UAJE,EAKF,OALE,EAMF,QANE,EAOF,QAPE,EAQF,MARE,CADD;UAWLlC,IAAI,EAAE;SAbN;QAeJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAfvC;QAgBJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAhBzB;QAiBJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAjBV;QAkBJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAlBd;QAmBJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAtBR;MAwB/BG,GAAG,EAAE;KA3aF;IA6aPqf,kCAAkC,EAAE;MAChCtZ,UAAU,EAAE,0KADoB;MAEhCR,OAAO,EAAE;QAAEC,MAAM,EAAE;OAFa;MAGhC/F,MAAM,EAAE,KAHwB;MAIhCC,MAAM,EAAE;QACJ6e,cAAc,EAAE;UAAE3e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADpC;QAEJuM,OAAO,EAAE;UACLrK,IAAI,EAAE,CACF,IADE,EAEF,IAFE,EAGF,OAHE,EAIF,UAJE,EAKF,OALE,EAMF,QANE,EAOF,QAPE,EAQF,MARE,CADD;UAWLlC,IAAI,EAAE;SAbN;QAeJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAfvC;QAgBJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAhBV;QAiBJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAjBd;QAkBJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAtBL;MAwBhCG,GAAG,EAAE;KArcF;IAucPsf,0BAA0B,EAAE;MACxB/Z,OAAO,EAAE;QAAEC,MAAM,EAAE;OADK;MAExB/F,MAAM,EAAE,KAFgB;MAGxBC,MAAM,EAAE;QACJ0M,OAAO,EAAE;UACLrK,IAAI,EAAE,CACF,IADE,EAEF,IAFE,EAGF,OAHE,EAIF,UAJE,EAKF,OALE,EAMF,QANE,EAOF,QAPE,EAQF,MARE,CADD;UAWLlC,IAAI,EAAE;SAZN;QAcJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAdvC;QAeJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAfzB;QAgBJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAhBV;QAiBJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAjBd;QAkBJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OArBf;MAuBxBG,GAAG,EAAE;KA9dF;IAgePuf,2BAA2B,EAAE;MACzBxZ,UAAU,EAAE,2JADa;MAEzBR,OAAO,EAAE;QAAEC,MAAM,EAAE;OAFM;MAGzB/F,MAAM,EAAE,KAHiB;MAIzBC,MAAM,EAAE;QACJ0M,OAAO,EAAE;UACLrK,IAAI,EAAE,CACF,IADE,EAEF,IAFE,EAGF,OAHE,EAIF,UAJE,EAKF,OALE,EAMF,QANE,EAOF,QAPE,EAQF,MARE,CADD;UAWLlC,IAAI,EAAE;SAZN;QAcJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAdvC;QAeJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAfV;QAgBJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAhBd;QAiBJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OArBZ;MAuBzBG,GAAG,EAAE;;GA7qHF;EAgrHXwf,KAAK,EAAE;IACHC,gBAAgB,EAAE;MACdhgB,MAAM,EAAE,OADM;MAEdC,MAAM,EAAE;QAAEiY,aAAa,EAAE;UAAE/X,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAFnC;MAGdG,GAAG,EAAE;KAJN;IAMHqZ,eAAe,EAAE;MACb5Z,MAAM,EAAE,KADK;MAEbC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJyZ,UAAU,EAAE;UAAEvX,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,EAAiB,OAAjB,CAAR;UAAmClC,IAAI,EAAE;SAFjD;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH1B;QAIJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANzB;MAQbG,GAAG,EAAE;KAdN;IAgBH0f,YAAY,EAAE;MACVjgB,MAAM,EAAE,MADE;MAEVC,MAAM,EAAE;QACJ4K,GAAG,EAAE;UAAE1K,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJ8f,SAAS,EAAE;UAAE9f,IAAI,EAAE;SAHf;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ1B;QAKJyG,KAAK,EAAE;UAAEzG,IAAI,EAAE;;OAPT;MASVG,GAAG,EAAE;KAzBN;IA2BH4f,kCAAkC,EAAE;MAChCngB,MAAM,EAAE,MADwB;MAEhCC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALF;MAOhCG,GAAG,EAAE;KAlCN;IAoCH6f,iCAAiC,EAAE;MAC/BpgB,MAAM,EAAE,MADuB;MAE/BC,MAAM,EAAE;QACJ2F,IAAI,EAAE;UAAEoN,KAAK,EAAE,MAAT;UAAiB7S,QAAQ,EAAE,IAA3B;UAAiCC,IAAI,EAAE;SADzC;QAEJ+B,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF5B;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANH;MAQ/BG,GAAG,EAAE;KA5CN;IA8CH8f,oCAAoC,EAAE;MAClCva,OAAO,EAAE;QAAEC,MAAM,EAAE;OADe;MAElC/F,MAAM,EAAE,MAF0B;MAGlCC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANA;MAQlCG,GAAG,EAAE;KAtDN;IAwDH+f,8CAA8C,EAAE;MAC5CtgB,MAAM,EAAE,MADoC;MAE5CC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJmgB,QAAQ,EAAE;UAAEvN,KAAK,EAAE,MAAT;UAAiB7S,QAAQ,EAAE,IAA3B;UAAiCC,IAAI,EAAE;SAF7C;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANU;MAQ5CG,GAAG,EAAE;KAhEN;IAkEHigB,kCAAkC,EAAE;MAChCxgB,MAAM,EAAE,MADwB;MAEhCC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH1B;QAIJqgB,KAAK,EAAE;UAAEzN,KAAK,EAAE,MAAT;UAAiB7S,QAAQ,EAAE,IAA3B;UAAiCC,IAAI,EAAE;;OANlB;MAQhCG,GAAG,EAAE;KA1EN;IA4EHmgB,kCAAkC,EAAE;MAChC1gB,MAAM,EAAE,MADwB;MAEhCC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH1B;QAIJugB,KAAK,EAAE;UAAE3N,KAAK,EAAE,MAAT;UAAiB7S,QAAQ,EAAE,IAA3B;UAAiCC,IAAI,EAAE;;OANlB;MAQhCG,GAAG,EAAE;KApFN;IAsFHqgB,iBAAiB,EAAE;MACf5gB,MAAM,EAAE,KADO;MAEfC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALvB;MAOfG,GAAG,EAAE;KA7FN;IA+FHsgB,wBAAwB,EAAE;MACtB/a,OAAO,EAAE;QAAEC,MAAM,EAAE;OADG;MAEtB/F,MAAM,EAAE,KAFc;MAGtBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALZ;MAOtBG,GAAG,EAAE;KAtGN;IAwGHugB,cAAc,EAAE;MACZ9gB,MAAM,EAAE,KADI;MAEZC,MAAM,EAAE;QACJ8b,IAAI,EAAE;UAAE5b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJ6b,IAAI,EAAE;UAAE9b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANtB;MAQZG,GAAG,EAAE;KAhHN;IAkHHwgB,mBAAmB,EAAE;MACjB/gB,MAAM,EAAE,MADS;MAEjBC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAExG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJ4N,UAAU,EAAE;UAAE7N,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFhC;QAGJic,IAAI,EAAE;UAAEjc,IAAI,EAAE;SAHV;QAIJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ3B;QAKJkc,IAAI,EAAE;UAAElc,IAAI,EAAE;SALV;QAMJ8a,QAAQ,EAAE;UAAE9a,IAAI,EAAE;SANd;QAOJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAP1B;QAQJ0L,GAAG,EAAE;UAAE8D,KAAK,EAAE,YAAT;UAAuBtJ,UAAU,EAAE,IAAnC;UAAyClG,IAAI,EAAE;;OAVvC;MAYjBG,GAAG,EAAE;KA9HN;IAgIHygB,gBAAgB,EAAE;MACdhhB,MAAM,EAAE,MADM;MAEdC,MAAM,EAAE;QACJghB,UAAU,EAAE;UAAE7gB,IAAI,EAAE;SADhB;QAEJgL,WAAW,EAAE;UAAEhL,IAAI,EAAE;SAFjB;QAGJ8gB,WAAW,EAAE;UAAE9gB,IAAI,EAAE;SAHjB;QAIJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ3B;QAKJ+gB,OAAO,EAAE;UAAE/gB,IAAI,EAAE;SALb;QAMJghB,sBAAsB,EAAE;UAAEhhB,IAAI,EAAE;SAN5B;QAOJ+J,GAAG,EAAE;UAAEhK,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAPzB;QAQJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAR1B;QASJihB,iBAAiB,EAAE;UAAEjhB,IAAI,EAAE;SATvB;QAUJkhB,IAAI,EAAE;UAAElhB,IAAI,EAAE;SAVV;QAWJmhB,qBAAqB,EAAE;UAAEnhB,IAAI,EAAE;;OAbrB;MAedG,GAAG,EAAE;KA/IN;IAiJHihB,sBAAsB,EAAE;MACpBxhB,MAAM,EAAE,MADY;MAEpBC,MAAM,EAAE;QACJwhB,aAAa,EAAE;UAAErhB,IAAI,EAAE;SADnB;QAEJshB,aAAa,EAAE;UAAEvhB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFnC;QAGJgL,WAAW,EAAE;UAAEhL,IAAI,EAAE;SAHjB;QAIJ8gB,WAAW,EAAE;UAAE5e,IAAI,EAAE,CAAC,YAAD,EAAe,SAAf,EAA0B,IAA1B,CAAR;UAAyClC,IAAI,EAAE;SAJxD;QAKJuhB,eAAe,EAAE;UAAEvhB,IAAI,EAAE;SALrB;QAMJwhB,OAAO,EAAE;UAAExhB,IAAI,EAAE;SANb;QAOJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAP3B;QAQJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAR1B;QASJkQ,KAAK,EAAE;UACHhO,IAAI,EAAE,CACF,OADE,EAEF,SAFE,EAGF,UAHE,EAIF,aAJE,EAKF,QALE,EAMF,SANE,EAOF,SAPE,CADH;UAUHnC,QAAQ,EAAE,IAVP;UAWHC,IAAI,EAAE;SApBN;QAsBJyhB,UAAU,EAAE;UAAEzhB,IAAI,EAAE;;OAxBJ;MA0BpBG,GAAG,EAAE;KA3KN;IA6KHuhB,mBAAmB,EAAE;MACjB9hB,MAAM,EAAE,MADS;MAEjBC,MAAM,EAAE;QACJ8hB,cAAc,EAAE;UAAE3hB,IAAI,EAAE;SADpB;QAEJ4hB,UAAU,EAAE;UAAE5hB,IAAI,EAAE;SAFhB;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANjB;MAQjBG,GAAG,EAAE;KArLN;IAuLH0hB,UAAU,EAAE;MACR3b,UAAU,EAAE,gGADJ;MAERtG,MAAM,EAAE,KAFA;MAGRC,MAAM,EAAE;QACJ6M,MAAM,EAAE;UAAE1M,IAAI,EAAE;SADZ;wBAEY;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFpC;uBAGW;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHnC;QAIJ+B,MAAM,EAAE;UAAE/B,IAAI,EAAE;SAJZ;QAKJ2M,SAAS,EAAE;UAAE3M,IAAI,EAAE;SALf;2BAMe;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SANvC;0BAOc;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAPtC;QAQJuM,OAAO,EAAE;UAAExM,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAR7B;QASJ4M,OAAO,EAAE;UAAE7M,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAT7B;QAUJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAV3B;QAWJkc,IAAI,EAAE;UAAEnc,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAX1B;QAYJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAZ1B;QAaJ0L,GAAG,EAAE;UAAE1L,IAAI,EAAE;;OAhBT;MAkBRG,GAAG,EAAE;KAzMN;IA2MH6Z,0BAA0B,EAAE;MACxBpa,MAAM,EAAE,MADgB;MAExBC,MAAM,EAAE;QACJiiB,kBAAkB,EAAE;UAAE9hB,IAAI,EAAE;SADxB;QAEJ+hB,kBAAkB,EAAE;UAAE/hB,IAAI,EAAE;SAFxB;QAGJgiB,kBAAkB,EAAE;UAAEhiB,IAAI,EAAE;SAHxB;QAIJiiB,SAAS,EAAE;UAAEjiB,IAAI,EAAE;SAJf;QAKJkiB,sBAAsB,EAAE;UAAEliB,IAAI,EAAE;SAL5B;QAMJgL,WAAW,EAAE;UAAEhL,IAAI,EAAE;SANjB;QAOJmiB,kBAAkB,EAAE;UAAEniB,IAAI,EAAE;SAPxB;QAQJoiB,UAAU,EAAE;UAAEpiB,IAAI,EAAE;SARhB;QASJqiB,YAAY,EAAE;UAAEriB,IAAI,EAAE;SATlB;QAUJsiB,QAAQ,EAAE;UAAEtiB,IAAI,EAAE;SAVd;QAWJuiB,QAAQ,EAAE;UAAEviB,IAAI,EAAE;SAXd;QAYJwiB,WAAW,EAAE;UAAExiB,IAAI,EAAE;SAZjB;QAaJyiB,gBAAgB,EAAE;UAAEziB,IAAI,EAAE;SAbtB;QAcJO,IAAI,EAAE;UAAER,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAd1B;QAeJob,OAAO,EAAE;UAAEpb,IAAI,EAAE;SAfb;QAgBJwe,OAAO,EAAE;UAAExe,IAAI,EAAE;SAhBb;QAiBJ0iB,UAAU,EAAE;UACRxgB,IAAI,EAAE,CAAC,QAAD,EAAW,SAAX,EAAsB,YAAtB,EAAoC,UAApC,CADE;UAERlC,IAAI,EAAE;;OArBU;MAwBxBG,GAAG,EAAE;KAnON;IAqOHwiB,UAAU,EAAE;MACR/iB,MAAM,EAAE,MADA;MAERC,MAAM,EAAE;QACJ+iB,YAAY,EAAE;UAAE5iB,IAAI,EAAE;SADlB;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL1B;MAORG,GAAG,EAAE;KA5ON;IA8OH2W,UAAU,EAAE;MACRlX,MAAM,EAAE,MADA;MAERC,MAAM,EAAE;QACJkX,MAAM,EAAE;UAAE/W,IAAI,EAAE;SADZ;QAEJgX,MAAM,EAAE;UAAEjX,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF5B;+BAGmB;UAAEA,IAAI,EAAE;SAH3B;+BAImB;UAAEA,IAAI,EAAE;SAJ3B;yBAKa;UAAEA,IAAI,EAAE;SALrB;sBAMU;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SANlC;QAOJiX,MAAM,EAAE;UAAEjX,IAAI,EAAE;SAPZ;QAQJO,IAAI,EAAE;UAAEP,IAAI,EAAE;SARV;QASJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAT3B;QAUJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAZ1B;MAcRG,GAAG,EAAE;KA5PN;IA8PH0iB,WAAW,EAAE;MACTjjB,MAAM,EAAE,MADC;MAETC,MAAM,EAAE;QACJiiB,kBAAkB,EAAE;UAAE9hB,IAAI,EAAE;SADxB;QAEJ+hB,kBAAkB,EAAE;UAAE/hB,IAAI,EAAE;SAFxB;QAGJgiB,kBAAkB,EAAE;UAAEhiB,IAAI,EAAE;SAHxB;QAIJiiB,SAAS,EAAE;UAAEjiB,IAAI,EAAE;SAJf;QAKJkiB,sBAAsB,EAAE;UAAEliB,IAAI,EAAE;SAL5B;QAMJgL,WAAW,EAAE;UAAEhL,IAAI,EAAE;SANjB;QAOJmiB,kBAAkB,EAAE;UAAEniB,IAAI,EAAE;SAPxB;QAQJoiB,UAAU,EAAE;UAAEpiB,IAAI,EAAE;SARhB;QASJqiB,YAAY,EAAE;UAAEriB,IAAI,EAAE;SATlB;QAUJsiB,QAAQ,EAAE;UAAEtiB,IAAI,EAAE;SAVd;QAWJuiB,QAAQ,EAAE;UAAEviB,IAAI,EAAE;SAXd;QAYJwiB,WAAW,EAAE;UAAExiB,IAAI,EAAE;SAZjB;QAaJyiB,gBAAgB,EAAE;UAAEziB,IAAI,EAAE;SAbtB;QAcJO,IAAI,EAAE;UAAER,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAd1B;QAeJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAfzB;QAgBJob,OAAO,EAAE;UAAEpb,IAAI,EAAE;SAhBb;QAiBJwe,OAAO,EAAE;UAAExe,IAAI,EAAE;SAjBb;QAkBJ0iB,UAAU,EAAE;UACRxgB,IAAI,EAAE,CAAC,QAAD,EAAW,SAAX,EAAsB,YAAtB,EAAoC,UAApC,CADE;UAERlC,IAAI,EAAE;;OAtBL;MAyBTG,GAAG,EAAE;KAvRN;IAyRH2iB,kBAAkB,EAAE;MAChBljB,MAAM,EAAE,KADQ;MAEhBC,MAAM,EAAE;QACJ6M,MAAM,EAAE;UAAE1M,IAAI,EAAE;SADZ;wBAEY;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFpC;uBAGW;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHnC;QAIJ+B,MAAM,EAAE;UAAE/B,IAAI,EAAE;SAJZ;QAKJ2M,SAAS,EAAE;UAAE3M,IAAI,EAAE;SALf;2BAMe;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SANvC;0BAOc;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAPtC;QAQJuM,OAAO,EAAE;UAAExM,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAR7B;QASJ4M,OAAO,EAAE;UAAE7M,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAT7B;QAUJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAV3B;QAWJkc,IAAI,EAAE;UAAEnc,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAX1B;QAYJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAZ1B;QAaJ0L,GAAG,EAAE;UAAE1L,IAAI,EAAE;;OAfD;MAiBhBG,GAAG,EAAE;KA1SN;IA4SH4iB,aAAa,EAAE;MACXnjB,MAAM,EAAE,MADG;MAEXC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAEvG,IAAI,EAAE;SADV;QAEJ4b,KAAK,EAAE;UAAE5b,IAAI,EAAE;SAFX;QAGJO,IAAI,EAAE;UAAEP,IAAI,EAAE;SAHV;QAIJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ3B;QAKJgjB,UAAU,EAAE;UAAEhjB,IAAI,EAAE;SALhB;QAMJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAN1B;QAOJijB,QAAQ,EAAE;UAAEljB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAP9B;QAQJkjB,gBAAgB,EAAE;UAAEljB,IAAI,EAAE;;OAVnB;MAYXG,GAAG,EAAE;KAxTN;IA0THgjB,YAAY,EAAE;MACVvjB,MAAM,EAAE,MADE;MAEVC,MAAM,EAAE;QACJ0S,OAAO,EAAE;UAAEvS,IAAI,EAAE;SADb;QAEJgL,WAAW,EAAE;UAAEhL,IAAI,EAAE;SAFjB;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ1B;QAKJ0L,GAAG,EAAE;UAAE3L,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SALzB;QAMJkQ,KAAK,EAAE;UACHhO,IAAI,EAAE,CAAC,OAAD,EAAU,SAAV,EAAqB,SAArB,EAAgC,SAAhC,CADH;UAEHnC,QAAQ,EAAE,IAFP;UAGHC,IAAI,EAAE;SATN;QAWJyhB,UAAU,EAAE;UAAEzhB,IAAI,EAAE;;OAbd;MAeVG,GAAG,EAAE;KAzUN;IA2UHijB,mBAAmB,EAAE;MACjB1d,OAAO,EAAE;QAAEC,MAAM,EAAE;OADF;MAEjB/F,MAAM,EAAE,MAFS;MAGjBC,MAAM,EAAE;QACJmL,WAAW,EAAE;UAAEhL,IAAI,EAAE;SADjB;QAEJO,IAAI,EAAE;UAAER,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJF,KAAK,EAAE;UAAEE,IAAI,EAAE;SAHX;QAIJob,OAAO,EAAE;UAAEpb,IAAI,EAAE;SAJb;QAKJqjB,cAAc,EAAE;UAAEtjB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SALpC;QAMJsjB,aAAa,EAAE;UAAEvjB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAT1B;MAWjBG,GAAG,EAAE;KAtVN;IAwVHojB,iBAAiB,EAAE;MACf3jB,MAAM,EAAE,QADO;MAEfC,MAAM,EAAE;QAAEiY,aAAa,EAAE;UAAE/X,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAFlC;MAGfG,GAAG,EAAE;KA3VN;IA6VHiL,MAAM,EAAE;MACJxL,MAAM,EAAE,QADJ;MAEJC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJ9B;MAMJG,GAAG,EAAE;KAnWN;IAqWHqjB,mBAAmB,EAAE;MACjB5jB,MAAM,EAAE,QADS;MAEjBC,MAAM,EAAE;QACJyL,UAAU,EAAE;UAAEvL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADhC;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALjB;MAOjBG,GAAG,EAAE;KA5WN;IA8WHsjB,cAAc,EAAE;MACZ7jB,MAAM,EAAE,QADI;MAEZC,MAAM,EAAE;QACJ6jB,WAAW,EAAE;UAAE3jB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADjC;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALtB;MAOZG,GAAG,EAAE;KArXN;IAuXHwjB,UAAU,EAAE;MACR/jB,MAAM,EAAE,QADA;MAERC,MAAM,EAAE;QACJ6M,MAAM,EAAE;UAAE1M,IAAI,EAAE;SADZ;wBAEY;UAAEA,IAAI,EAAE;SAFpB;uBAGW;UAAEA,IAAI,EAAE;SAHnB;QAIJ+B,MAAM,EAAE;UAAE/B,IAAI,EAAE;SAJZ;QAKJ2M,SAAS,EAAE;UAAE3M,IAAI,EAAE;SALf;2BAMe;UAAEA,IAAI,EAAE;SANvB;0BAOc;UAAEA,IAAI,EAAE;SAPtB;QAQJ4M,OAAO,EAAE;UAAE7M,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAR7B;QASJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAT3B;QAUJkc,IAAI,EAAE;UAAEnc,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAV1B;QAWJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAX1B;QAYJ0L,GAAG,EAAE;UAAE3L,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAdzB;MAgBRG,GAAG,EAAE;KAvYN;IAyYHkX,UAAU,EAAE;MACRzX,MAAM,EAAE,QADA;MAERC,MAAM,EAAE;QACJyX,OAAO,EAAE;UAAEvX,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD7B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL1B;MAORG,GAAG,EAAE;KAhZN;IAkZHyjB,gBAAgB,EAAE;MACdhkB,MAAM,EAAE,QADM;MAEdC,MAAM,EAAE;QACJiY,aAAa,EAAE;UAAE/X,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADnC;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALpB;MAOdG,GAAG,EAAE;KAzZN;IA2ZH0jB,aAAa,EAAE;MACXjkB,MAAM,EAAE,QADG;MAEXC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJ8jB,UAAU,EAAE;UAAE/jB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFhC;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALvB;MAOXG,GAAG,EAAE;KAlaN;IAoaH4jB,kBAAkB,EAAE;MAChBnkB,MAAM,EAAE,QADQ;MAEhBC,MAAM,EAAE;QACJmkB,QAAQ,EAAE;UAAEjkB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD9B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALlB;MAOhBG,GAAG,EAAE;KA3aN;IA6aH8jB,6BAA6B,EAAE;MAC3Bve,OAAO,EAAE;QAAEC,MAAM,EAAE;OADQ;MAE3B/F,MAAM,EAAE,QAFmB;MAG3BC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALP;MAO3BG,GAAG,EAAE;KApbN;IAsbH+jB,gBAAgB,EAAE;MACdxe,OAAO,EAAE;QAAEC,MAAM,EAAE;OADL;MAEd/F,MAAM,EAAE,QAFM;MAGdC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALpB;MAOdG,GAAG,EAAE;KA7bN;IA+bHgkB,0BAA0B,EAAE;MACxBze,OAAO,EAAE;QAAEC,MAAM,EAAE;OADK;MAExB/F,MAAM,EAAE,QAFgB;MAGxBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALV;MAOxBG,GAAG,EAAE;KAtcN;IAwcHikB,4BAA4B,EAAE;MAC1B1e,OAAO,EAAE;QAAEC,MAAM,EAAE;OADO;MAE1B/F,MAAM,EAAE,KAFkB;MAG1BC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALR;MAO1BG,GAAG,EAAE;KA/cN;IAidHkkB,eAAe,EAAE;MACb3e,OAAO,EAAE;QAAEC,MAAM,EAAE;OADN;MAEb/F,MAAM,EAAE,MAFK;MAGbC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJskB,MAAM,EAAE;UAAEtkB,IAAI,EAAE;SAHZ;yBAIa;UAAEkC,IAAI,EAAE,CAAC,QAAD,EAAW,UAAX,CAAR;UAAgClC,IAAI,EAAE;SAJnD;uBAKW;UAAEA,IAAI,EAAE;;OARd;MAUbG,GAAG,EAAE;KA3dN;IA6dHokB,yBAAyB,EAAE;MACvB7e,OAAO,EAAE;QAAEC,MAAM,EAAE;OADI;MAEvB/F,MAAM,EAAE,KAFe;MAGvBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALX;MAOvBG,GAAG,EAAE;KApeN;IAseHoJ,GAAG,EAAE;MACD3J,MAAM,EAAE,KADP;MAEDC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJjC;MAMDG,GAAG,EAAE;KA5eN;IA8eHqkB,kCAAkC,EAAE;MAChC5kB,MAAM,EAAE,KADwB;MAEhCC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALF;MAOhCG,GAAG,EAAE;KArfN;IAufHskB,cAAc,EAAE;MACZ7kB,MAAM,EAAE,KADI;MAEZC,MAAM,EAAE;QACJiB,cAAc,EAAE;UAAEf,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADpC;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJ+J,GAAG,EAAE;UAAEhK,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHzB;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANtB;MAQZG,GAAG,EAAE;KA/fN;IAigBHukB,SAAS,EAAE;MACP9kB,MAAM,EAAE,KADD;MAEPC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL3B;MAOPG,GAAG,EAAE;KAxgBN;IA0gBHwkB,mBAAmB,EAAE;MACjB/kB,MAAM,EAAE,KADS;MAEjBC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALjB;MAOjBG,GAAG,EAAE;KAjhBN;IAmhBHykB,SAAS,EAAE;MACPhlB,MAAM,EAAE,KADD;MAEPC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJ6kB,GAAG,EAAE;UAAE3iB,IAAI,EAAE,CAAC,KAAD,EAAQ,MAAR,CAAR;UAAyBlC,IAAI,EAAE;SAFhC;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL3B;MAOPG,GAAG,EAAE;KA1hBN;IA4hBH2kB,qBAAqB,EAAE;MACnBllB,MAAM,EAAE,KADW;MAEnBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJf;MAMnBG,GAAG,EAAE;KAliBN;IAoiBH4kB,8BAA8B,EAAE;MAC5BnlB,MAAM,EAAE,KADoB;MAE5BC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALV;MAO5BG,GAAG,EAAE;KA3iBN;IA6iBH6kB,uBAAuB,EAAE;MACrBplB,MAAM,EAAE,KADa;MAErBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJ+J,GAAG,EAAE;UAAEhK,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFzB;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALb;MAOrBG,GAAG,EAAE;KApjBN;IAsjBHwN,SAAS,EAAE;MACP/N,MAAM,EAAE,KADD;MAEPC,MAAM,EAAE;QACJ+N,UAAU,EAAE;UAAE4B,KAAK,EAAE,KAAT;UAAgBtJ,UAAU,EAAE,IAA5B;UAAkClG,IAAI,EAAE;SADhD;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJ+J,GAAG,EAAE;UAAEhK,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHzB;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ1B;QAKJ0L,GAAG,EAAE;UAAE8D,KAAK,EAAE,KAAT;UAAgBtJ,UAAU,EAAE,IAA5B;UAAkClG,IAAI,EAAE;;OAP1C;MASPG,GAAG,EAAE;KA/jBN;IAikBH8kB,sBAAsB,EAAE;MACpBrlB,MAAM,EAAE,KADY;MAEpBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJd;MAMpBG,GAAG,EAAE;KAvkBN;IAykBH+kB,gBAAgB,EAAE;MACdtlB,MAAM,EAAE,KADM;MAEdC,MAAM,EAAE;QACJyL,UAAU,EAAE;UAAEvL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADhC;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALpB;MAOdG,GAAG,EAAE;KAhlBN;IAklBHglB,eAAe,EAAE;MACbjf,UAAU,EAAE,uHADC;MAEbR,OAAO,EAAE;QAAEC,MAAM,EAAE;OAFN;MAGb/F,MAAM,EAAE,KAHK;MAIbC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJ+J,GAAG,EAAE;UAAEhK,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFzB;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPrB;MASbG,GAAG,EAAE;KA3lBN;IA6lBHilB,WAAW,EAAE;MACTxlB,MAAM,EAAE,KADC;MAETC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkc,IAAI,EAAE;UAAEnc,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJ+J,GAAG,EAAE;UAAE/J,IAAI,EAAE;SAHT;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANzB;MAQTG,GAAG,EAAE;KArmBN;IAumBHklB,oBAAoB,EAAE;MAClBzlB,MAAM,EAAE,KADU;MAElBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJhB;MAMlBG,GAAG,EAAE;KA7mBN;IA+mBHmlB,YAAY,EAAE;MACV1lB,MAAM,EAAE,KADE;MAEVC,MAAM,EAAE;QACJS,MAAM,EAAE;UAAEP,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALxB;MAOVG,GAAG,EAAE;KAtnBN;IAwnBHolB,aAAa,EAAE;MACX3lB,MAAM,EAAE,KADG;MAEXC,MAAM,EAAE;QACJyhB,aAAa,EAAE;UAAEvhB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADnC;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALvB;MAOXG,GAAG,EAAE;KA/nBN;IAioBHqlB,mBAAmB,EAAE;MACjB5lB,MAAM,EAAE,KADS;MAEjBC,MAAM,EAAE;QACJyhB,aAAa,EAAE;UAAEvhB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADnC;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH1B;QAIJylB,SAAS,EAAE;UAAE1lB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANtB;MAQjBG,GAAG,EAAE;KAzoBN;IA2oBHulB,WAAW,EAAE;MACT9lB,MAAM,EAAE,KADC;MAETC,MAAM,EAAE;QACJ6jB,WAAW,EAAE;UAAE3jB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADjC;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALzB;MAOTG,GAAG,EAAE;KAlpBN;IAopBHoX,OAAO,EAAE;MACL3X,MAAM,EAAE,KADH;MAELC,MAAM,EAAE;QACJyX,OAAO,EAAE;UAAEvX,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD7B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL7B;MAOLG,GAAG,EAAE;KA3pBN;IA6pBHwlB,mBAAmB,EAAE;MACjB/lB,MAAM,EAAE,KADS;MAEjBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJjB;MAMjBG,GAAG,EAAE;KAnqBN;IAqqBHylB,gBAAgB,EAAE;MACdhmB,MAAM,EAAE,KADM;MAEdC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJpB;MAMdG,GAAG,EAAE;KA3qBN;IA6qBH0lB,QAAQ,EAAE;MACNjmB,MAAM,EAAE,KADF;MAENC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJ5B;MAMNG,GAAG,EAAE;KAnrBN;IAqrBH2lB,aAAa,EAAE;MACXlmB,MAAM,EAAE,KADG;MAEXC,MAAM,EAAE;QACJkmB,QAAQ,EAAE;UAAEhmB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD9B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALvB;MAOXG,GAAG,EAAE;KA5rBN;IA8rBH6lB,qBAAqB,EAAE;MACnBpmB,MAAM,EAAE,KADW;MAEnBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJf;MAMnBG,GAAG,EAAE;KApsBN;IAssBH8lB,kCAAkC,EAAE;MAChCrmB,MAAM,EAAE,KADwB;MAEhCC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALF;MAOhCG,GAAG,EAAE;KA7sBN;IA+sBH+lB,8CAA8C,EAAE;MAC5CtmB,MAAM,EAAE,KADoC;MAE5CC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALU;MAO5CG,GAAG,EAAE;KAttBN;IAwtBHgmB,oCAAoC,EAAE;MAClCzgB,OAAO,EAAE;QAAEC,MAAM,EAAE;OADe;MAElC/F,MAAM,EAAE,KAF0B;MAGlCC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANA;MAQlCG,GAAG,EAAE;KAhuBN;IAkuBHimB,sCAAsC,EAAE;MACpCxmB,MAAM,EAAE,KAD4B;MAEpCC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALE;MAOpCG,GAAG,EAAE;KAzuBN;IA2uBHkmB,8BAA8B,EAAE;MAC5BzmB,MAAM,EAAE,KADoB;MAE5BC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALN;MAO5BG,GAAG,EAAE;KAlvBN;IAovBHmmB,iBAAiB,EAAE;MACf1mB,MAAM,EAAE,KADO;MAEfC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJnB;MAMfG,GAAG,EAAE;KA1vBN;IA4vBHomB,SAAS,EAAE;MACP3mB,MAAM,EAAE,KADD;MAEPC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJ+J,GAAG,EAAE;UAAE/J,IAAI,EAAE;SAFT;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL3B;MAOPG,GAAG,EAAE;KAnwBN;IAqwBHqmB,UAAU,EAAE;MACR5mB,MAAM,EAAE,KADA;MAERC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJ8jB,UAAU,EAAE;UAAE/jB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFhC;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL1B;MAORG,GAAG,EAAE;KA5wBN;IA8wBHsmB,eAAe,EAAE;MACb7mB,MAAM,EAAE,KADK;MAEbC,MAAM,EAAE;QACJmkB,QAAQ,EAAE;UAAEjkB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD9B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALrB;MAObG,GAAG,EAAE;KArxBN;IAuxBHumB,eAAe,EAAE;MACb9mB,MAAM,EAAE,KADK;MAEbC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJmN,GAAG,EAAE;UAAEpN,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALpB;MAObG,GAAG,EAAE;KA9xBN;IAgyBHwmB,mCAAmC,EAAE;MACjC/mB,MAAM,EAAE,KADyB;MAEjCC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALD;MAOjCG,GAAG,EAAE;KAvyBN;IAyyBHymB,WAAW,EAAE;MACThnB,MAAM,EAAE,KADC;MAETC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJzB;MAMTG,GAAG,EAAE;KA/yBN;IAizBH0mB,eAAe,EAAE;MACbjnB,MAAM,EAAE,KADK;MAEbC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJrB;MAMbG,GAAG,EAAE;KAvzBN;IAyzBH2mB,mCAAmC,EAAE;MACjClnB,MAAM,EAAE,KADyB;MAEjCC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALD;MAOjCG,GAAG,EAAE;KAh0BN;IAk0BH4mB,QAAQ,EAAE;MACNnnB,MAAM,EAAE,KADF;MAENC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJ6kB,GAAG,EAAE;UAAE3iB,IAAI,EAAE,CAAC,KAAD,EAAQ,MAAR,CAAR;UAAyBlC,IAAI,EAAE;SAFhC;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL5B;MAONG,GAAG,EAAE;KAz0BN;IA20BHwL,IAAI,EAAE;MACF/L,MAAM,EAAE,KADN;MAEFC,MAAM,EAAE;QACJ8a,WAAW,EAAE;UAAE3a,IAAI,EAAE;SADjB;QAEJuE,SAAS,EAAE;UAAErC,IAAI,EAAE,CAAC,KAAD,EAAQ,MAAR,CAAR;UAAyBlC,IAAI,EAAE;SAFtC;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAJd;QAKJwE,IAAI,EAAE;UACFtC,IAAI,EAAE,CAAC,SAAD,EAAY,SAAZ,EAAuB,QAAvB,EAAiC,WAAjC,CADJ;UAEFlC,IAAI,EAAE;SAPN;QASJA,IAAI,EAAE;UACFkC,IAAI,EAAE,CAAC,KAAD,EAAQ,OAAR,EAAiB,QAAjB,EAA2B,SAA3B,EAAsC,QAAtC,CADJ;UAEFlC,IAAI,EAAE;SAXN;QAaJ0iB,UAAU,EAAE;UAAExgB,IAAI,EAAE,CAAC,KAAD,EAAQ,QAAR,EAAkB,SAAlB,CAAR;UAAsClC,IAAI,EAAE;;OAf1D;MAiBFG,GAAG,EAAE;KA51BN;IA81BH6mB,mCAAmC,EAAE;MACjC9gB,UAAU,EAAE,yIADqB;MAEjCtG,MAAM,EAAE,KAFyB;MAGjCC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAND;MAQjCG,GAAG,EAAE;KAt2BN;IAw2BH8mB,oBAAoB,EAAE;MAClBrnB,MAAM,EAAE,KADU;MAElBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJ8jB,UAAU,EAAE;UAAE/jB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJhC;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPhB;MASlBG,GAAG,EAAE;KAj3BN;IAm3BH+mB,YAAY,EAAE;MACVtnB,MAAM,EAAE,KADE;MAEVC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJmnB,SAAS,EAAE;UAAEnnB,IAAI,EAAE;SAJf;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPxB;MASVG,GAAG,EAAE;KA53BN;IA83BHinB,yBAAyB,EAAE;MACvB1hB,OAAO,EAAE;QAAEC,MAAM,EAAE;OADI;MAEvB/F,MAAM,EAAE,KAFe;MAGvBC,MAAM,EAAE;QACJ+N,UAAU,EAAE;UAAE7N,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADhC;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANX;MAQvBG,GAAG,EAAE;KAt4BN;IAw4BHua,iBAAiB,EAAE;MACf9a,MAAM,EAAE,KADO;MAEfC,MAAM,EAAE;QACJ8a,WAAW,EAAE;UAAEzY,IAAI,EAAE,CAAC,SAAD,EAAY,QAAZ,EAAsB,KAAtB,CAAR;UAAsClC,IAAI,EAAE;SADrD;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAJd;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPnB;MASfG,GAAG,EAAE;KAj5BN;IAm5BHknB,qBAAqB,EAAE;MACnBznB,MAAM,EAAE,KADW;MAEnBC,MAAM,EAAE;QACJ+N,UAAU,EAAE;UAAE7N,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADhC;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAJd;QAKJ+J,GAAG,EAAE;UAAEyF,KAAK,EAAE,YAAT;UAAuBtJ,UAAU,EAAE,IAAnC;UAAyClG,IAAI,EAAE;SALhD;QAMJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OARf;MAUnBG,GAAG,EAAE;KA75BN;IA+5BHmnB,kBAAkB,EAAE;MAChB1nB,MAAM,EAAE,KADQ;MAEhBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANlB;MAQhBG,GAAG,EAAE;KAv6BN;IAy6BH0L,WAAW,EAAE;MACTjM,MAAM,EAAE,KADC;MAETC,MAAM,EAAE;QACJ6M,MAAM,EAAE;UAAE1M,IAAI,EAAE;SADZ;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJkc,IAAI,EAAE;UAAElc,IAAI,EAAE;SAJV;QAKJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SALd;QAMJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAN1B;QAOJ0L,GAAG,EAAE;UAAE1L,IAAI,EAAE;SAPT;QAQJ6D,KAAK,EAAE;UAAE7D,IAAI,EAAE;SARX;QASJunB,KAAK,EAAE;UAAEvnB,IAAI,EAAE;;OAXV;MAaTG,GAAG,EAAE;KAt7BN;IAw7BHqnB,gBAAgB,EAAE;MACd5nB,MAAM,EAAE,KADM;MAEdC,MAAM,EAAE;QACJ4nB,IAAI,EAAE;UAAEznB,IAAI,EAAE;SADV;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAJd;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPpB;MASdG,GAAG,EAAE;KAj8BN;IAm8BHunB,cAAc,EAAE;MACZ9nB,MAAM,EAAE,KADI;MAEZC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANtB;MAQZG,GAAG,EAAE;KA38BN;IA68BHwnB,sBAAsB,EAAE;MACpB/nB,MAAM,EAAE,KADY;MAEpBC,MAAM,EAAE;QACJyhB,aAAa,EAAE;UAAEvhB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADnC;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAJd;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPd;MASpBG,GAAG,EAAE;KAt9BN;IAw9BHynB,eAAe,EAAE;MACbhoB,MAAM,EAAE,KADK;MAEbC,MAAM,EAAE;QACJihB,WAAW,EAAE;UAAE9gB,IAAI,EAAE;SADjB;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAJd;QAKJ+J,GAAG,EAAE;UAAE/J,IAAI,EAAE;SALT;QAMJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAN1B;QAOJ0L,GAAG,EAAE;UAAE1L,IAAI,EAAE;SAPT;QAQJkhB,IAAI,EAAE;UAAElhB,IAAI,EAAE;;OAVL;MAYbG,GAAG,EAAE;KAp+BN;IAs+BH0nB,aAAa,EAAE;MACXjoB,MAAM,EAAE,KADG;MAEXC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANvB;MAQXG,GAAG,EAAE;KA9+BN;IAg/BH6Q,UAAU,EAAE;MACRpR,MAAM,EAAE,KADA;MAERC,MAAM,EAAE;QACJ0E,SAAS,EAAE;UAAErC,IAAI,EAAE,CAAC,KAAD,EAAQ,MAAR,CAAR;UAAyBlC,IAAI,EAAE;SADtC;QAEJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFzB;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAJd;QAKJwE,IAAI,EAAE;UACFtC,IAAI,EAAE,CAAC,SAAD,EAAY,SAAZ,EAAuB,QAAvB,EAAiC,WAAjC,CADJ;UAEFlC,IAAI,EAAE;SAPN;QASJA,IAAI,EAAE;UACFkC,IAAI,EAAE,CACF,KADE,EAEF,QAFE,EAGF,SAHE,EAIF,OAJE,EAKF,SALE,EAMF,QANE,EAOF,UAPE,CADJ;UAUFlC,IAAI,EAAE;;OArBN;MAwBRG,GAAG,EAAE;KAxgCN;IA0gCHwX,WAAW,EAAE;MACT/X,MAAM,EAAE,KADC;MAETC,MAAM,EAAE;QACJ0E,SAAS,EAAE;UAAErC,IAAI,EAAE,CAAC,KAAD,EAAQ,MAAR,CAAR;UAAyBlC,IAAI,EAAE;SADtC;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJwE,IAAI,EAAE;UACFtC,IAAI,EAAE,CAAC,SAAD,EAAY,SAAZ,EAAuB,QAAvB,EAAiC,WAAjC,CADJ;UAEFlC,IAAI,EAAE;SANN;QAQJA,IAAI,EAAE;UAAEkC,IAAI,EAAE,CAAC,KAAD,EAAQ,OAAR,EAAiB,QAAjB,CAAR;UAAoClC,IAAI,EAAE;SAR5C;QASJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAX7B;MAaTG,GAAG,EAAE;KAvhCN;IAyhCH2L,SAAS,EAAE;MACPlM,MAAM,EAAE,KADD;MAEPC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ1B;QAKJwE,IAAI,EAAE;UAAEtC,IAAI,EAAE,CAAC,QAAD,EAAW,QAAX,EAAqB,YAArB,CAAR;UAA4ClC,IAAI,EAAE;;OAPrD;MASPG,GAAG,EAAE;KAliCN;IAoiCHyX,SAAS,EAAE;MACPhY,MAAM,EAAE,KADD;MAEPC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAN3B;MAQPG,GAAG,EAAE;KA5iCN;IA8iCH2nB,eAAe,EAAE;MACbloB,MAAM,EAAE,KADK;MAEbC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANrB;MAQbG,GAAG,EAAE;KAtjCN;IAwjCH4nB,mCAAmC,EAAE;MACjCnoB,MAAM,EAAE,KADyB;MAEjCC,MAAM,EAAE;QAAEqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAAhB;QAA6BmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OAFtB;MAGjCG,GAAG,EAAE;KA3jCN;IA6jCH6nB,aAAa,EAAE;MACXpoB,MAAM,EAAE,KADG;MAEXC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJvB;MAMXG,GAAG,EAAE;KAnkCN;IAqkCH8nB,eAAe,EAAE;MACbroB,MAAM,EAAE,KADK;MAEbC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANrB;MAQbG,GAAG,EAAE;KA7kCN;IA+kCH+nB,+CAA+C,EAAE;MAC7CtoB,MAAM,EAAE,KADqC;MAE7CC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALW;MAO7CG,GAAG,EAAE;KAtlCN;IAwlCHgoB,mCAAmC,EAAE;MACjCjiB,UAAU,EAAE,0IADqB;MAEjCtG,MAAM,EAAE,KAFyB;MAGjCC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAND;MAQjCG,GAAG,EAAE;KAhmCN;IAkmCHioB,mCAAmC,EAAE;MACjCliB,UAAU,EAAE,0IADqB;MAEjCtG,MAAM,EAAE,KAFyB;MAGjCC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAND;MAQjCG,GAAG,EAAE;KA1mCN;IA4mCH4L,UAAU,EAAE;MACRnM,MAAM,EAAE,KADA;MAERC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJ6D,KAAK,EAAE;UAAE7D,IAAI,EAAE;;OALX;MAORG,GAAG,EAAE;KAnnCN;IAqnCHkoB,oCAAoC,EAAE;MAClC3iB,OAAO,EAAE;QAAEC,MAAM,EAAE;OADe;MAElC/F,MAAM,EAAE,KAF0B;MAGlCC,MAAM,EAAE;QACJ+N,UAAU,EAAE;UAAE7N,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADhC;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAJd;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OARA;MAUlCG,GAAG,EAAE;KA/nCN;IAioCHmoB,YAAY,EAAE;MACV1oB,MAAM,EAAE,KADE;MAEVC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANxB;MAQVG,GAAG,EAAE;KAzoCN;IA2oCHooB,kBAAkB,EAAE;MAChB3oB,MAAM,EAAE,KADQ;MAEhBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJ+J,GAAG,EAAE;UAAEhK,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJzB;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPlB;MAShBG,GAAG,EAAE;KAppCN;IAspCHqoB,QAAQ,EAAE;MACN5oB,MAAM,EAAE,KADF;MAENC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAN5B;MAQNG,GAAG,EAAE;KA9pCN;IAgqCHsoB,SAAS,EAAE;MACP7oB,MAAM,EAAE,KADD;MAEPC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAN3B;MAQPG,GAAG,EAAE;KAxqCN;IA0qCHuoB,oCAAoC,EAAE;MAClCxiB,UAAU,EAAE,2IADsB;MAElCtG,MAAM,EAAE,KAF0B;MAGlCC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANA;MAQlCG,GAAG,EAAE;KAlrCN;IAorCHwoB,UAAU,EAAE;MACRjjB,OAAO,EAAE;QAAEC,MAAM,EAAE;OADX;MAER/F,MAAM,EAAE,KAFA;MAGRC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL1B;MAORG,GAAG,EAAE;KA3rCN;IA6rCHyoB,oCAAoC,EAAE;MAClC1iB,UAAU,EAAE,2IADsB;MAElCtG,MAAM,EAAE,KAF0B;MAGlCC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANA;MAQlCG,GAAG,EAAE;KArsCN;IAusCHqd,KAAK,EAAE;MACH5d,MAAM,EAAE,MADL;MAEHC,MAAM,EAAE;QACJ8b,IAAI,EAAE;UAAE5b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJyd,cAAc,EAAE;UAAEzd,IAAI,EAAE;SAFpB;QAGJ6b,IAAI,EAAE;UAAE9b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH1B;QAIJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ3B;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAP/B;MASHG,GAAG,EAAE;KAhtCN;IAktCHiY,QAAQ,EAAE;MACNxY,MAAM,EAAE,MADF;MAENC,MAAM,EAAE;QACJyX,OAAO,EAAE;UAAEvX,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD7B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL5B;MAONG,GAAG,EAAE;KAztCN;IA2tCH0oB,sBAAsB,EAAE;MACpBjpB,MAAM,EAAE,QADY;MAEpBC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALd;MAOpBG,GAAG,EAAE;KAluCN;IAouCH8a,kBAAkB,EAAE;MAChBrb,MAAM,EAAE,QADQ;MAEhBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALtB;MAOhBG,GAAG,EAAE;KA3uCN;IA6uCH2oB,eAAe,EAAE;MACblpB,MAAM,EAAE,QADK;MAEbC,MAAM,EAAE;QACJS,MAAM,EAAE;UAAEP,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALrB;MAObG,GAAG,EAAE;KApvCN;IAsvCH4oB,qCAAqC,EAAE;MACnCnpB,MAAM,EAAE,QAD2B;MAEnCC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALC;MAOnCG,GAAG,EAAE;KA7vCN;IA+vCH6oB,oCAAoC,EAAE;MAClCppB,MAAM,EAAE,QAD0B;MAElCC,MAAM,EAAE;QACJ2F,IAAI,EAAE;UAAEoN,KAAK,EAAE,MAAT;UAAiB7S,QAAQ,EAAE,IAA3B;UAAiCC,IAAI,EAAE;SADzC;QAEJ+B,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF5B;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANA;MAQlCG,GAAG,EAAE;KAvwCN;IAywCH8oB,iDAAiD,EAAE;MAC/CrpB,MAAM,EAAE,QADuC;MAE/CC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALa;MAO/CG,GAAG,EAAE;KAhxCN;IAkxCH+oB,uCAAuC,EAAE;MACrCxjB,OAAO,EAAE;QAAEC,MAAM,EAAE;OADkB;MAErC/F,MAAM,EAAE,QAF6B;MAGrCC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANG;MAQrCG,GAAG,EAAE;KA1xCN;IA4xCHgpB,yCAAyC,EAAE;MACvCvpB,MAAM,EAAE,QAD+B;MAEvCC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALK;MAOvCG,GAAG,EAAE;KAnyCN;IAqyCHipB,iDAAiD,EAAE;MAC/CxpB,MAAM,EAAE,QADuC;MAE/CC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJmgB,QAAQ,EAAE;UAAEvN,KAAK,EAAE,MAAT;UAAiB7S,QAAQ,EAAE,IAA3B;UAAiCC,IAAI,EAAE;SAF7C;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANa;MAQ/CG,GAAG,EAAE;KA7yCN;IA+yCHkpB,iCAAiC,EAAE;MAC/BzpB,MAAM,EAAE,QADuB;MAE/BC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALH;MAO/BG,GAAG,EAAE;KAtzCN;IAwzCHmpB,qCAAqC,EAAE;MACnC1pB,MAAM,EAAE,QAD2B;MAEnCC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH1B;QAIJqgB,KAAK,EAAE;UAAEzN,KAAK,EAAE,MAAT;UAAiB7S,QAAQ,EAAE,IAA3B;UAAiCC,IAAI,EAAE;;OANf;MAQnCG,GAAG,EAAE;KAh0CN;IAk0CHopB,qCAAqC,EAAE;MACnC3pB,MAAM,EAAE,QAD2B;MAEnCC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH1B;QAIJugB,KAAK,EAAE;UAAE3N,KAAK,EAAE,MAAT;UAAiB7S,QAAQ,EAAE,IAA3B;UAAiCC,IAAI,EAAE;;OANf;MAQnCG,GAAG,EAAE;KA10CN;IA40CHqpB,qCAAqC,EAAE;MACnC5pB,MAAM,EAAE,KAD2B;MAEnCC,MAAM,EAAE;QACJ2F,IAAI,EAAE;UAAEoN,KAAK,EAAE,MAAT;UAAiB7S,QAAQ,EAAE,IAA3B;UAAiCC,IAAI,EAAE;SADzC;QAEJ+B,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF5B;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANC;MAQnCG,GAAG,EAAE;KAp1CN;IAs1CHspB,kDAAkD,EAAE;MAChD7pB,MAAM,EAAE,KADwC;MAEhDC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJmgB,QAAQ,EAAE;UAAEvN,KAAK,EAAE,MAAT;UAAiB7S,QAAQ,EAAE,IAA3B;UAAiCC,IAAI,EAAE;SAF7C;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANc;MAQhDG,GAAG,EAAE;KA91CN;IAg2CHupB,sCAAsC,EAAE;MACpC9pB,MAAM,EAAE,KAD4B;MAEpCC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH1B;QAIJqgB,KAAK,EAAE;UAAEzN,KAAK,EAAE,MAAT;UAAiB7S,QAAQ,EAAE,IAA3B;UAAiCC,IAAI,EAAE;;OANd;MAQpCG,GAAG,EAAE;KAx2CN;IA02CHwpB,sCAAsC,EAAE;MACpC/pB,MAAM,EAAE,KAD4B;MAEpCC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH1B;QAIJugB,KAAK,EAAE;UAAE3N,KAAK,EAAE,MAAT;UAAiB7S,QAAQ,EAAE,IAA3B;UAAiCC,IAAI,EAAE;;OANd;MAQpCG,GAAG,EAAE;KAl3CN;IAo3CHypB,aAAa,EAAE;MACXlkB,OAAO,EAAE;QAAEC,MAAM,EAAE;OADR;MAEX/F,MAAM,EAAE,KAFG;MAGXC,MAAM,EAAE;QACJgqB,KAAK,EAAE;UAAE9pB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANvB;MAQXG,GAAG,EAAE;KA53CN;IA83CH2pB,gBAAgB,EAAE;MACdlqB,MAAM,EAAE,MADM;MAEdC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJpB;MAMdG,GAAG,EAAE;KAp4CN;IAs4CH4pB,+BAA+B,EAAE;MAC7BnqB,MAAM,EAAE,KADqB;MAE7BC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJL;MAM7BG,GAAG,EAAE;KA54CN;IA84CH6pB,YAAY,EAAE;MACVpqB,MAAM,EAAE,MADE;MAEVC,MAAM,EAAE;QACJyX,OAAO,EAAE;UAAEvX,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD7B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALxB;MAOVG,GAAG,EAAE;KAr5CN;IAu5CH8pB,QAAQ,EAAE;MACNrqB,MAAM,EAAE,MADF;MAENC,MAAM,EAAE;QACJqqB,SAAS,EAAE;UAAElqB,IAAI,EAAE;SADf;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH1B;QAIJoX,QAAQ,EAAE;UAAEpX,IAAI,EAAE;;OANhB;MAQNG,GAAG,EAAE;KA/5CN;IAi6CHmK,MAAM,EAAE;MACJ1K,MAAM,EAAE,OADJ;MAEJC,MAAM,EAAE;QACJiiB,kBAAkB,EAAE;UAAE9hB,IAAI,EAAE;SADxB;QAEJ+hB,kBAAkB,EAAE;UAAE/hB,IAAI,EAAE;SAFxB;QAGJgiB,kBAAkB,EAAE;UAAEhiB,IAAI,EAAE;SAHxB;QAIJsb,QAAQ,EAAE;UAAEtb,IAAI,EAAE;SAJd;QAKJmqB,cAAc,EAAE;UAAEnqB,IAAI,EAAE;SALpB;QAMJkiB,sBAAsB,EAAE;UAAEliB,IAAI,EAAE;SAN5B;QAOJgL,WAAW,EAAE;UAAEhL,IAAI,EAAE;SAPjB;QAQJoiB,UAAU,EAAE;UAAEpiB,IAAI,EAAE;SARhB;QASJqiB,YAAY,EAAE;UAAEriB,IAAI,EAAE;SATlB;QAUJsiB,QAAQ,EAAE;UAAEtiB,IAAI,EAAE;SAVd;QAWJuiB,QAAQ,EAAE;UAAEviB,IAAI,EAAE;SAXd;QAYJwiB,WAAW,EAAE;UAAExiB,IAAI,EAAE;SAZjB;QAaJO,IAAI,EAAE;UAAEP,IAAI,EAAE;SAbV;QAcJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAd3B;QAeJob,OAAO,EAAE;UAAEpb,IAAI,EAAE;SAfb;QAgBJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAhB1B;QAiBJ0iB,UAAU,EAAE;UACRxgB,IAAI,EAAE,CAAC,QAAD,EAAW,SAAX,EAAsB,YAAtB,EAAoC,UAApC,CADE;UAERlC,IAAI,EAAE;;OArBV;MAwBJG,GAAG,EAAE;KAz7CN;IA27CHiqB,sBAAsB,EAAE;MACpBxqB,MAAM,EAAE,KADY;MAEpBC,MAAM,EAAE;QACJwqB,eAAe,EAAE;UAAErqB,IAAI,EAAE;SADrB;QAEJsqB,kBAAkB,EAAE;UAAE/c,SAAS,EAAE,IAAb;UAAmBvN,IAAI,EAAE;SAFzC;QAGJ+B,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH5B;QAIJuqB,cAAc,EAAE;UAAEhd,SAAS,EAAE,IAAb;UAAmBxN,QAAQ,EAAE,IAA7B;UAAmCC,IAAI,EAAE;SAJrD;QAKJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAL3B;QAMJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAN1B;QAOJwqB,uBAAuB,EAAE;UAAExqB,IAAI,EAAE;SAP7B;QAQJyqB,6BAA6B,EAAE;UAC3Bld,SAAS,EAAE,IADgB;UAE3BxN,QAAQ,EAAE,IAFiB;UAG3BC,IAAI,EAAE;SAXN;+DAamD;UACnDA,IAAI,EAAE;SAdN;gEAgBoD;UACpDA,IAAI,EAAE;SAjBN;sEAmB0D;UAC1DA,IAAI,EAAE;SApBN;sEAsB0D;UAC1DA,IAAI,EAAE;SAvBN;oEAyBwD;UACxDA,IAAI,EAAE;SA1BN;yEA4B6D;UAC7DA,IAAI,EAAE;SA7BN;QA+BJ0qB,sBAAsB,EAAE;UACpBnd,SAAS,EAAE,IADS;UAEpBxN,QAAQ,EAAE,IAFU;UAGpBC,IAAI,EAAE;SAlCN;2CAoC+B;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SApCvD;yCAqC6B;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SArCrD;QAsCJ2qB,YAAY,EAAE;UAAEpd,SAAS,EAAE,IAAb;UAAmBxN,QAAQ,EAAE,IAA7B;UAAmCC,IAAI,EAAE;SAtCnD;6BAuCiB;UAAEA,IAAI,EAAE;SAvCzB;8BAwCkB;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAxC1C;8BAyCkB;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OA3C9B;MA6CpBG,GAAG,EAAE;KAx+CN;IA0+CHyqB,mBAAmB,EAAE;MACjBhrB,MAAM,EAAE,OADS;MAEjBC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAExG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJsL,UAAU,EAAE;UAAEvL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFhC;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANjB;MAQjBG,GAAG,EAAE;KAl/CN;IAo/CH0qB,UAAU,EAAE;MACR3kB,UAAU,EAAE,gGADJ;MAERtG,MAAM,EAAE,KAFA;MAGRC,MAAM,EAAE;QACJ6M,MAAM,EAAE;UAAE1M,IAAI,EAAE;SADZ;wBAEY;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFpC;uBAGW;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHnC;QAIJ+B,MAAM,EAAE;UAAE/B,IAAI,EAAE;SAJZ;QAKJ2M,SAAS,EAAE;UAAE3M,IAAI,EAAE;SALf;2BAMe;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SANvC;0BAOc;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAPtC;QAQJuM,OAAO,EAAE;UAAExM,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAR7B;QASJ4M,OAAO,EAAE;UAAE7M,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAT7B;QAUJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAV3B;QAWJkc,IAAI,EAAE;UAAEnc,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAX1B;QAYJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAZ1B;QAaJ0L,GAAG,EAAE;UAAE1L,IAAI,EAAE;;OAhBT;MAkBRG,GAAG,EAAE;KAtgDN;IAwgDHkZ,UAAU,EAAE;MACRzZ,MAAM,EAAE,OADA;MAERC,MAAM,EAAE;QACJkX,MAAM,EAAE;UAAE/W,IAAI,EAAE;SADZ;QAEJ8qB,UAAU,EAAE;UAAE9qB,IAAI,EAAE;SAFhB;QAGJgX,MAAM,EAAE;UAAEhX,IAAI,EAAE;SAHZ;+BAImB;UAAEA,IAAI,EAAE;SAJ3B;+BAKmB;UAAEA,IAAI,EAAE;SAL3B;yBAMa;UAAEA,IAAI,EAAE;SANrB;sBAOU;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAPlC;QAQJiX,MAAM,EAAE;UAAEjX,IAAI,EAAE;SARZ;QASJsX,OAAO,EAAE;UAAEvX,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAT7B;QAUJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAV3B;QAWJ+qB,aAAa,EAAE;UAAE/qB,IAAI,EAAE;SAXnB;QAYJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAd1B;MAgBRG,GAAG,EAAE;KAxhDN;IA0hDH6qB,+BAA+B,EAAE;MAC7BprB,MAAM,EAAE,KADqB;MAE7BC,MAAM,EAAE;QACJorB,KAAK,EAAE;UAAEjrB,IAAI,EAAE;SADX;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH1B;QAIJskB,MAAM,EAAE;UACJpiB,IAAI,EAAE,CAAC,YAAD,EAAe,UAAf,EAA2B,gBAA3B,CADF;UAEJlC,IAAI,EAAE;;OARe;MAW7BG,GAAG,EAAE;KAriDN;IAuiDH+qB,gBAAgB,EAAE;MACdtrB,MAAM,EAAE,OADM;MAEdC,MAAM,EAAE;QACJiY,aAAa,EAAE;UAAE/X,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADnC;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJ6G,WAAW,EAAE;UAAE3E,IAAI,EAAE,CAAC,MAAD,EAAS,OAAT,EAAkB,OAAlB,CAAR;UAAoClC,IAAI,EAAE;SAHnD;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANpB;MAQdG,GAAG,EAAE;KA/iDN;IAijDHgrB,iDAAiD,EAAE;MAC/CvrB,MAAM,EAAE,OADuC;MAE/CC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJorB,qBAAqB,EAAE;UAAEprB,IAAI,EAAE;SAF3B;QAGJqrB,sBAAsB,EAAE;UAAErrB,IAAI,EAAE;SAH5B;wCAI4B;UAAEA,IAAI,EAAE;SAJpC;wCAK4B;UAAEA,IAAI,EAAE;SALpC;QAMJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAN3B;QAOJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAP1B;QAQJsrB,0BAA0B,EAAE;UAAEtrB,IAAI,EAAE;SARhC;QASJurB,+BAA+B,EAAE;UAAEvrB,IAAI,EAAE;;OAXE;MAa/CG,GAAG,EAAE;KA9jDN;IAgkDHqrB,yCAAyC,EAAE;MACvC5rB,MAAM,EAAE,OAD+B;MAEvCC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJmgB,QAAQ,EAAE;UAAEngB,IAAI,EAAE;SAFd;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ1B;QAKJyrB,MAAM,EAAE;UAAEzrB,IAAI,EAAE;;OAPmB;MASvCG,GAAG,EAAE;KAzkDN;IA2kDHurB,aAAa,EAAE;MACX9rB,MAAM,EAAE,OADG;MAEXC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAEvG,IAAI,EAAE;SADV;QAEJ4b,KAAK,EAAE;UAAE5b,IAAI,EAAE;SAFX;QAGJO,IAAI,EAAE;UAAEP,IAAI,EAAE;SAHV;QAIJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ3B;QAKJgjB,UAAU,EAAE;UAAEhjB,IAAI,EAAE;SALhB;QAMJ8jB,UAAU,EAAE;UAAE/jB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SANhC;QAOJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAP1B;QAQJijB,QAAQ,EAAE;UAAEjjB,IAAI,EAAE;SARd;QASJkjB,gBAAgB,EAAE;UAAEljB,IAAI,EAAE;;OAXnB;MAaXG,GAAG,EAAE;KAxlDN;IA0lDHwrB,kBAAkB,EAAE;MAChB/rB,MAAM,EAAE,OADQ;MAEhBC,MAAM,EAAE;QACJmkB,QAAQ,EAAE;UAAEjkB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD9B;QAEJ4rB,KAAK,EAAE;UAAE5rB,IAAI,EAAE;SAFX;QAGJO,IAAI,EAAE;UAAEP,IAAI,EAAE;SAHV;QAIJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ3B;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPlB;MAShBG,GAAG,EAAE;KAnmDN;IAqmDH0rB,kBAAkB,EAAE;MAChBjsB,MAAM,EAAE,MADQ;MAEhBC,MAAM,EAAE;QACJ8S,IAAI,EAAE;UAAEC,KAAK,EAAE,MAAT;UAAiB7S,QAAQ,EAAE,IAA3B;UAAiCC,IAAI,EAAE;SADzC;QAEJ8rB,IAAI,EAAE;UAAEtc,KAAK,EAAE,MAAT;UAAiBtJ,UAAU,EAAE,IAA7B;UAAmClG,IAAI,EAAE;SAF3C;QAGJ0F,OAAO,EAAE;UAAE3F,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH7B;kCAIsB;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ9C;gCAKoB;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAL5C;QAMJ4rB,KAAK,EAAE;UAAE5rB,IAAI,EAAE;SANX;QAOJO,IAAI,EAAE;UAAER,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAP1B;QAQJG,GAAG,EAAE;UAAEJ,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAVjB;MAYhBG,GAAG,EAAE;;GAjyKF;EAoyKX4rB,MAAM,EAAE;IACJplB,IAAI,EAAE;MACF/G,MAAM,EAAE,KADN;MAEFC,MAAM,EAAE;QACJmsB,KAAK,EAAE;UAAE9pB,IAAI,EAAE,CAAC,MAAD,EAAS,KAAT,CAAR;UAAyBlC,IAAI,EAAE;SADlC;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJisB,CAAC,EAAE;UAAElsB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJvB;QAKJwE,IAAI,EAAE;UAAEtC,IAAI,EAAE,CAAC,SAAD,CAAR;UAAqBlC,IAAI,EAAE;;OAPnC;MASFG,GAAG,EAAE;KAVL;IAYJ+rB,OAAO,EAAE;MACLxmB,OAAO,EAAE;QAAEC,MAAM,EAAE;OADd;MAEL/F,MAAM,EAAE,KAFH;MAGLC,MAAM,EAAE;QACJmsB,KAAK,EAAE;UAAE9pB,IAAI,EAAE,CAAC,MAAD,EAAS,KAAT,CAAR;UAAyBlC,IAAI,EAAE;SADlC;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJisB,CAAC,EAAE;UAAElsB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJvB;QAKJwE,IAAI,EAAE;UAAEtC,IAAI,EAAE,CAAC,aAAD,EAAgB,gBAAhB,CAAR;UAA2ClC,IAAI,EAAE;;OARtD;MAULG,GAAG,EAAE;KAtBL;IAwBJgP,MAAM,EAAE;MACJjJ,UAAU,EAAE,iGADR;MAEJtG,MAAM,EAAE,KAFJ;MAGJC,MAAM,EAAE;QACJmsB,KAAK,EAAE;UAAE9pB,IAAI,EAAE,CAAC,MAAD,EAAS,KAAT,CAAR;UAAyBlC,IAAI,EAAE;SADlC;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJisB,CAAC,EAAE;UAAElsB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJvB;QAKJwE,IAAI,EAAE;UACFtC,IAAI,EAAE,CACF,UADE,EAEF,WAFE,EAGF,cAHE,EAIF,cAJE,EAKF,iBALE,EAMF,yBANE,EAOF,iBAPE,EAQF,gBARE,EASF,cATE,EAUF,SAVE,EAWF,SAXE,CADJ;UAcFlC,IAAI,EAAE;;OAtBV;MAyBJG,GAAG,EAAE;KAjDL;IAmDJgsB,qBAAqB,EAAE;MACnBvsB,MAAM,EAAE,KADW;MAEnBC,MAAM,EAAE;QACJmsB,KAAK,EAAE;UAAE9pB,IAAI,EAAE,CAAC,MAAD,EAAS,KAAT,CAAR;UAAyBlC,IAAI,EAAE;SADlC;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJisB,CAAC,EAAE;UAAElsB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJvB;QAKJwE,IAAI,EAAE;UACFtC,IAAI,EAAE,CACF,UADE,EAEF,WAFE,EAGF,cAHE,EAIF,cAJE,EAKF,iBALE,EAMF,yBANE,EAOF,iBAPE,EAQF,gBARE,EASF,cATE,EAUF,SAVE,EAWF,SAXE,CADJ;UAcFlC,IAAI,EAAE;;OArBK;MAwBnBG,GAAG,EAAE;KA3EL;IA6EJuP,MAAM,EAAE;MACJ9P,MAAM,EAAE,KADJ;MAEJC,MAAM,EAAE;QACJmsB,KAAK,EAAE;UAAE9pB,IAAI,EAAE,CAAC,MAAD,EAAS,KAAT,CAAR;UAAyBlC,IAAI,EAAE;SADlC;QAEJisB,CAAC,EAAE;UAAElsB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFvB;QAGJ6F,aAAa,EAAE;UAAE9F,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHnC;QAIJwE,IAAI,EAAE;UAAEtC,IAAI,EAAE,CAAC,SAAD,EAAY,SAAZ,CAAR;UAAgClC,IAAI,EAAE;;OAN5C;MAQJG,GAAG,EAAE;KArFL;IAuFJwf,KAAK,EAAE;MACH/f,MAAM,EAAE,KADL;MAEHC,MAAM,EAAE;QACJmsB,KAAK,EAAE;UAAE9pB,IAAI,EAAE,CAAC,MAAD,EAAS,KAAT,CAAR;UAAyBlC,IAAI,EAAE;SADlC;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJisB,CAAC,EAAE;UAAElsB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJvB;QAKJwE,IAAI,EAAE;UACFtC,IAAI,EAAE,CAAC,OAAD,EAAU,OAAV,EAAmB,oBAAnB,EAAyC,SAAzC,CADJ;UAEFlC,IAAI,EAAE;;OATX;MAYHG,GAAG,EAAE;KAnGL;IAqGJisB,MAAM,EAAE;MACJxsB,MAAM,EAAE,KADJ;MAEJC,MAAM,EAAE;QAAEosB,CAAC,EAAE;UAAElsB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAFjC;MAGJG,GAAG,EAAE;KAxGL;IA0GJogB,KAAK,EAAE;MACH3gB,MAAM,EAAE,KADL;MAEHC,MAAM,EAAE;QACJmsB,KAAK,EAAE;UAAE9pB,IAAI,EAAE,CAAC,MAAD,EAAS,KAAT,CAAR;UAAyBlC,IAAI,EAAE;SADlC;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJisB,CAAC,EAAE;UAAElsB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJvB;QAKJwE,IAAI,EAAE;UAAEtC,IAAI,EAAE,CAAC,WAAD,EAAc,cAAd,EAA8B,QAA9B,CAAR;UAAiDlC,IAAI,EAAE;;OAP9D;MASHG,GAAG,EAAE;;GAv5KF;EA05KXkgB,KAAK,EAAE;IACHgM,SAAS,EAAE;MACPnmB,UAAU,EAAE,4FADL;MAEPtG,MAAM,EAAE,KAFD;MAGPC,MAAM,EAAE;QACJ2e,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD7B;QAEJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL/B;MAOPG,GAAG,EAAE;KARN;IAUHmsB,eAAe,EAAE;MACbpmB,UAAU,EAAE,0HADC;MAEbtG,MAAM,EAAE,KAFK;MAGbC,MAAM,EAAE;QACJ2e,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD7B;QAEJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALzB;MAObG,GAAG,EAAE;KAjBN;IAmBHmW,qBAAqB,EAAE;MACnBpQ,UAAU,EAAE,oHADO;MAEnBtG,MAAM,EAAE,KAFW;MAGnBC,MAAM,EAAE;QACJ0W,IAAI,EAAE;UAAErU,IAAI,EAAE,CAAC,QAAD,EAAW,YAAX,CAAR;UAAkClC,IAAI,EAAE;SAD1C;QAEJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF7B;QAGJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANnB;MAQnBG,GAAG,EAAE;KA3BN;IA6BHosB,0BAA0B,EAAE;MACxB3sB,MAAM,EAAE,KADgB;MAExBC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJuW,IAAI,EAAE;UAAErU,IAAI,EAAE,CAAC,QAAD,EAAW,YAAX,CAAR;UAAkClC,IAAI,EAAE;SAF1C;QAGJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH/B;QAIJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANd;MAQxBG,GAAG,EAAE;KArCN;IAuCHqsB,2BAA2B,EAAE;MACzBtmB,UAAU,EAAE,oJADa;MAEzBtG,MAAM,EAAE,KAFiB;MAGzBC,MAAM,EAAE;QACJ0W,IAAI,EAAE;UAAErU,IAAI,EAAE,CAAC,QAAD,EAAW,YAAX,CAAR;UAAkClC,IAAI,EAAE;SAD1C;QAEJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF7B;QAGJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANb;MAQzBG,GAAG,EAAE;KA/CN;IAiDHssB,kBAAkB,EAAE;MAChBvmB,UAAU,EAAE,8GADI;MAEhBR,OAAO,EAAE;QAAEC,MAAM,EAAE;OAFH;MAGhB/F,MAAM,EAAE,KAHQ;MAIhBC,MAAM,EAAE;QACJ4Z,UAAU,EAAE;UAAEvX,IAAI,EAAE,CAAC,MAAD,EAAS,OAAT,EAAkB,OAAlB,CAAR;UAAoClC,IAAI,EAAE;SADlD;QAEJ0Z,UAAU,EAAE;UAAE3Z,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFhC;QAGJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPrB;MAShBG,GAAG,EAAE;KA1DN;IA4DHusB,uBAAuB,EAAE;MACrBhnB,OAAO,EAAE;QAAEC,MAAM,EAAE;OADE;MAErB/F,MAAM,EAAE,KAFa;MAGrBC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJyZ,UAAU,EAAE;UAAEvX,IAAI,EAAE,CAAC,MAAD,EAAS,OAAT,EAAkB,OAAlB,CAAR;UAAoClC,IAAI,EAAE;SAFlD;QAGJ0Z,UAAU,EAAE;UAAE3Z,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHhC;QAIJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPlB;MASrBG,GAAG,EAAE;KArEN;IAuEHwsB,wBAAwB,EAAE;MACtBzmB,UAAU,EAAE,sIADU;MAEtBR,OAAO,EAAE;QAAEC,MAAM,EAAE;OAFG;MAGtB/F,MAAM,EAAE,KAHc;MAItBC,MAAM,EAAE;QACJ4Z,UAAU,EAAE;UAAEvX,IAAI,EAAE,CAAC,MAAD,EAAS,OAAT,EAAkB,OAAlB,CAAR;UAAoClC,IAAI,EAAE;SADlD;QAEJ0Z,UAAU,EAAE;UAAE3Z,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFhC;QAGJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPf;MAStBG,GAAG,EAAE;KAhFN;IAkFHysB,eAAe,EAAE;MACb1mB,UAAU,EAAE,wGADC;MAEbtG,MAAM,EAAE,KAFK;MAGbC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJyZ,UAAU,EAAE;UAAEvX,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,EAAiB,OAAjB,CAAR;UAAmClC,IAAI,EAAE;SAFjD;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH1B;QAIJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPxB;MASbG,GAAG,EAAE;KA3FN;IA6FH0sB,oBAAoB,EAAE;MAClBjtB,MAAM,EAAE,KADU;MAElBC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJyZ,UAAU,EAAE;UAAEvX,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,EAAiB,OAAjB,CAAR;UAAmClC,IAAI,EAAE;SAHjD;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ1B;QAKJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPrB;MASlBG,GAAG,EAAE;KAtGN;IAwGH2sB,qBAAqB,EAAE;MACnB5mB,UAAU,EAAE,sIADO;MAEnBtG,MAAM,EAAE,KAFW;MAGnBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJyZ,UAAU,EAAE;UAAEvX,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,EAAiB,OAAjB,CAAR;UAAmClC,IAAI,EAAE;SAFjD;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH1B;QAIJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPlB;MASnBG,GAAG,EAAE;KAjHN;IAmHH4sB,gBAAgB,EAAE;MACd7mB,UAAU,EAAE,0GADE;MAEdtG,MAAM,EAAE,KAFM;MAGdC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANvB;MAQdG,GAAG,EAAE;KA3HN;IA6HH6sB,qBAAqB,EAAE;MACnBptB,MAAM,EAAE,KADW;MAEnBC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH1B;QAIJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANpB;MAQnBG,GAAG,EAAE;KArIN;IAuIH8sB,sBAAsB,EAAE;MACpB/mB,UAAU,EAAE,8IADQ;MAEpBtG,MAAM,EAAE,KAFY;MAGpBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANjB;MAQpBG,GAAG,EAAE;KA/IN;IAiJH2I,MAAM,EAAE;MACJlJ,MAAM,EAAE,MADJ;MAEJC,MAAM,EAAE;QACJmL,WAAW,EAAE;UAAEhL,IAAI,EAAE;SADjB;QAEJktB,WAAW,EAAE;UAAEltB,IAAI,EAAE;SAFjB;QAGJO,IAAI,EAAE;UAAER,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH1B;QAIJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJzB;QAKJmtB,cAAc,EAAE;UAAEntB,IAAI,EAAE;SALpB;QAMJyZ,UAAU,EAAE;UAAEvX,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,EAAiB,OAAjB,CAAR;UAAmClC,IAAI,EAAE;SANjD;QAOJotB,OAAO,EAAE;UAAElrB,IAAI,EAAE,CAAC,QAAD,EAAW,QAAX,CAAR;UAA8BlC,IAAI,EAAE;SAPzC;QAQJqtB,UAAU,EAAE;UAAErtB,IAAI,EAAE;;OAVpB;MAYJG,GAAG,EAAE;KA7JN;IA+JHmtB,gBAAgB,EAAE;MACdpnB,UAAU,EAAE,0GADE;MAEdtG,MAAM,EAAE,MAFM;MAGdC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAExG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJob,OAAO,EAAE;UAAEpb,IAAI,EAAE;SAFb;QAGJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH7B;QAIJyG,KAAK,EAAE;UAAE1G,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPrB;MASdG,GAAG,EAAE;KAxKN;IA0KHotB,uBAAuB,EAAE;MACrBrnB,UAAU,EAAE,wHADS;MAErBtG,MAAM,EAAE,MAFa;MAGrBC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAExG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFvC;QAGJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANhB;MAQrBG,GAAG,EAAE;KAlLN;IAoLHqtB,4BAA4B,EAAE;MAC1B5tB,MAAM,EAAE,MADkB;MAE1BC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAExG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFvC;QAGJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHzB;QAIJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANb;MAQ1BG,GAAG,EAAE;KA5LN;IA8LHstB,6BAA6B,EAAE;MAC3BvnB,UAAU,EAAE,qJADe;MAE3BtG,MAAM,EAAE,MAFmB;MAG3BC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAExG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFvC;QAGJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANV;MAQ3BG,GAAG,EAAE;KAtMN;IAwMHutB,qBAAqB,EAAE;MACnB9tB,MAAM,EAAE,MADW;MAEnBC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAExG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFzB;QAGJob,OAAO,EAAE;UAAEpb,IAAI,EAAE;SAHb;QAIJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ/B;QAKJyG,KAAK,EAAE;UAAE1G,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPhB;MASnBG,GAAG,EAAE;KAjNN;IAmNHwtB,sBAAsB,EAAE;MACpBznB,UAAU,EAAE,yIADQ;MAEpBtG,MAAM,EAAE,MAFY;MAGpBC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAExG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJob,OAAO,EAAE;UAAEpb,IAAI,EAAE;SAFb;QAGJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH7B;QAIJyG,KAAK,EAAE;UAAE1G,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPf;MASpBG,GAAG,EAAE;KA5NN;IA8NHiL,MAAM,EAAE;MACJlF,UAAU,EAAE,sFADR;MAEJtG,MAAM,EAAE,QAFJ;MAGJC,MAAM,EAAE;QAAE2e,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAHvC;MAIJG,GAAG,EAAE;KAlON;IAoOHytB,gBAAgB,EAAE;MACd1nB,UAAU,EAAE,0GADE;MAEdtG,MAAM,EAAE,QAFM;MAGdC,MAAM,EAAE;QACJ0e,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADvC;QAEJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALvB;MAOdG,GAAG,EAAE;KA3ON;IA6OH0tB,uBAAuB,EAAE;MACrB3nB,UAAU,EAAE,wHADS;MAErBtG,MAAM,EAAE,QAFa;MAGrBC,MAAM,EAAE;QACJ6e,cAAc,EAAE;UAAE3e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADpC;QAEJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFvC;QAGJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANhB;MAQrBG,GAAG,EAAE;KArPN;IAuPH2tB,4BAA4B,EAAE;MAC1BluB,MAAM,EAAE,QADkB;MAE1BC,MAAM,EAAE;QACJ6e,cAAc,EAAE;UAAE3e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADpC;QAEJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFvC;QAGJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHzB;QAIJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANb;MAQ1BG,GAAG,EAAE;KA/PN;IAiQH4tB,6BAA6B,EAAE;MAC3B7nB,UAAU,EAAE,qJADe;MAE3BtG,MAAM,EAAE,QAFmB;MAG3BC,MAAM,EAAE;QACJ6e,cAAc,EAAE;UAAE3e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADpC;QAEJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFvC;QAGJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANV;MAQ3BG,GAAG,EAAE;KAzQN;IA2QH6tB,qBAAqB,EAAE;MACnBpuB,MAAM,EAAE,QADW;MAEnBC,MAAM,EAAE;QACJ0e,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADvC;QAEJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFzB;QAGJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALpB;MAOnBG,GAAG,EAAE;KAlRN;IAoRH8tB,sBAAsB,EAAE;MACpB/nB,UAAU,EAAE,yIADQ;MAEpBtG,MAAM,EAAE,QAFY;MAGpBC,MAAM,EAAE;QACJ0e,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADvC;QAEJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALjB;MAOpBG,GAAG,EAAE;KA3RN;IA6RH+tB,WAAW,EAAE;MACTtuB,MAAM,EAAE,QADC;MAETC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJ9B;MAMTG,GAAG,EAAE;KAnSN;IAqSHguB,YAAY,EAAE;MACVjoB,UAAU,EAAE,2GADF;MAEVtG,MAAM,EAAE,QAFE;MAGVC,MAAM,EAAE;QAAE2e,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAHjC;MAIVG,GAAG,EAAE;KAzSN;IA2SHoJ,GAAG,EAAE;MACDrD,UAAU,EAAE,gFADX;MAEDtG,MAAM,EAAE,KAFP;MAGDC,MAAM,EAAE;QAAE2e,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAH1C;MAIDG,GAAG,EAAE;KA/SN;IAiTHiuB,SAAS,EAAE;MACPxuB,MAAM,EAAE,KADD;MAEPC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJhC;MAMPG,GAAG,EAAE;KAvTN;IAyTHkuB,aAAa,EAAE;MACXnoB,UAAU,EAAE,oGADD;MAEXtG,MAAM,EAAE,KAFG;MAGXC,MAAM,EAAE;QACJ0e,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADvC;QAEJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL1B;MAOXG,GAAG,EAAE;KAhUN;IAkUHmuB,oBAAoB,EAAE;MAClBpoB,UAAU,EAAE,kHADM;MAElBtG,MAAM,EAAE,KAFU;MAGlBC,MAAM,EAAE;QACJ6e,cAAc,EAAE;UAAE3e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADpC;QAEJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFvC;QAGJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANnB;MAQlBG,GAAG,EAAE;KA1UN;IA4UHouB,yBAAyB,EAAE;MACvB3uB,MAAM,EAAE,KADe;MAEvBC,MAAM,EAAE;QACJ6e,cAAc,EAAE;UAAE3e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADpC;QAEJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFvC;QAGJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHzB;QAIJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANhB;MAQvBG,GAAG,EAAE;KApVN;IAsVHquB,0BAA0B,EAAE;MACxBtoB,UAAU,EAAE,sJADY;MAExBtG,MAAM,EAAE,KAFgB;MAGxBC,MAAM,EAAE;QACJ6e,cAAc,EAAE;UAAE3e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADpC;QAEJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFvC;QAGJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANb;MAQxBG,GAAG,EAAE;KA9VN;IAgWHsuB,kBAAkB,EAAE;MAChB7uB,MAAM,EAAE,KADQ;MAEhBC,MAAM,EAAE;QACJ0e,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADvC;QAEJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFzB;QAGJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALvB;MAOhBG,GAAG,EAAE;KAvWN;IAyWHuuB,mBAAmB,EAAE;MACjBxoB,UAAU,EAAE,0IADK;MAEjBtG,MAAM,EAAE,KAFS;MAGjBC,MAAM,EAAE;QACJ0e,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADvC;QAEJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALpB;MAOjBG,GAAG,EAAE;KAhXN;IAkXHwuB,SAAS,EAAE;MACPzoB,UAAU,EAAE,qGADL;MAEPtG,MAAM,EAAE,KAFD;MAGPC,MAAM,EAAE;QAAE2e,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAHpC;MAIPG,GAAG,EAAE;KAtXN;IAwXHyuB,SAAS,EAAE;MACP1oB,UAAU,EAAE,4FADL;MAEPtG,MAAM,EAAE,KAFD;MAGPC,MAAM,EAAE;QACJ2e,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD7B;QAEJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL/B;MAOPG,GAAG,EAAE;KA/XN;IAiYH0uB,eAAe,EAAE;MACb3oB,UAAU,EAAE,0HADC;MAEbtG,MAAM,EAAE,KAFK;MAGbC,MAAM,EAAE;QACJ2e,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD7B;QAEJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALzB;MAObG,GAAG,EAAE;KAxYN;IA0YHqX,aAAa,EAAE;MACXtR,UAAU,EAAE,oGADD;MAEXtG,MAAM,EAAE,KAFG;MAGXC,MAAM,EAAE;QACJ2e,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD7B;QAEJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL3B;MAOXG,GAAG,EAAE;KAjZN;IAmZH2uB,kBAAkB,EAAE;MAChBlvB,MAAM,EAAE,KADQ;MAEhBC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF/B;QAGJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALtB;MAOhBG,GAAG,EAAE;KA1ZN;IA4ZH4uB,mBAAmB,EAAE;MACjB7oB,UAAU,EAAE,kIADK;MAEjBtG,MAAM,EAAE,KAFS;MAGjBC,MAAM,EAAE;QACJ2e,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD7B;QAEJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALrB;MAOjBG,GAAG,EAAE;KAnaN;IAqaHwL,IAAI,EAAE;MACF/L,MAAM,EAAE,KADN;MAEFC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OALpB;MAOFG,GAAG,EAAE;KA5aN;IA8aH6uB,SAAS,EAAE;MACP9oB,UAAU,EAAE,4FADL;MAEPtG,MAAM,EAAE,KAFD;MAGPC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAN9B;MAQPG,GAAG,EAAE;KAtbN;IAwbH8uB,cAAc,EAAE;MACZrvB,MAAM,EAAE,KADI;MAEZC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAN3B;MAQZG,GAAG,EAAE;KAhcN;IAkcH+uB,eAAe,EAAE;MACbhpB,UAAU,EAAE,mHADC;MAEbtG,MAAM,EAAE,KAFK;MAGbC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANxB;MAQbG,GAAG,EAAE;KA1cN;IA4cHgvB,sBAAsB,EAAE;MACpBjpB,UAAU,EAAE,sHADQ;MAEpBtG,MAAM,EAAE,KAFY;MAGpBC,MAAM,EAAE;QACJ0E,SAAS,EAAE;UAAErC,IAAI,EAAE,CAAC,KAAD,EAAQ,MAAR,CAAR;UAAyBlC,IAAI,EAAE;SADtC;QAEJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFvC;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAJd;QAKJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OARjB;MAUpBG,GAAG,EAAE;KAtdN;IAwdHivB,2BAA2B,EAAE;MACzBxvB,MAAM,EAAE,KADiB;MAEzBC,MAAM,EAAE;QACJ0E,SAAS,EAAE;UAAErC,IAAI,EAAE,CAAC,KAAD,EAAQ,MAAR,CAAR;UAAyBlC,IAAI,EAAE;SADtC;QAEJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFvC;QAGJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHzB;QAIJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAJV;QAKJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SALd;QAMJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OARd;MAUzBG,GAAG,EAAE;KAleN;IAoeHkvB,4BAA4B,EAAE;MAC1BnpB,UAAU,EAAE,iJADc;MAE1BtG,MAAM,EAAE,KAFkB;MAG1BC,MAAM,EAAE;QACJ0E,SAAS,EAAE;UAAErC,IAAI,EAAE,CAAC,KAAD,EAAQ,MAAR,CAAR;UAAyBlC,IAAI,EAAE;SADtC;QAEJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFvC;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAJd;QAKJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OARX;MAU1BG,GAAG,EAAE;KA9eN;IAgfHmvB,eAAe,EAAE;MACbppB,UAAU,EAAE,wGADC;MAEbtG,MAAM,EAAE,KAFK;MAGbC,MAAM,EAAE;QACJ0E,SAAS,EAAE;UAAErC,IAAI,EAAE,CAAC,KAAD,EAAQ,MAAR,CAAR;UAAyBlC,IAAI,EAAE;SADtC;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPxB;MASbG,GAAG,EAAE;KAzfN;IA2fHovB,oBAAoB,EAAE;MAClB3vB,MAAM,EAAE,KADU;MAElBC,MAAM,EAAE;QACJ0E,SAAS,EAAE;UAAErC,IAAI,EAAE,CAAC,KAAD,EAAQ,MAAR,CAAR;UAAyBlC,IAAI,EAAE;SADtC;QAEJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFzB;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAJd;QAKJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPrB;MASlBG,GAAG,EAAE;KApgBN;IAsgBHqvB,qBAAqB,EAAE;MACnBtpB,UAAU,EAAE,qIADO;MAEnBtG,MAAM,EAAE,KAFW;MAGnBC,MAAM,EAAE;QACJ0E,SAAS,EAAE;UAAErC,IAAI,EAAE,CAAC,KAAD,EAAQ,MAAR,CAAR;UAAyBlC,IAAI,EAAE;SADtC;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPlB;MASnBG,GAAG,EAAE;KA/gBN;IAihBH4Q,wBAAwB,EAAE;MACtBnR,MAAM,EAAE,KADc;MAEtBC,MAAM,EAAE;QAAEqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAAhB;QAA6BmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OAFjC;MAGtBG,GAAG,EAAE;KAphBN;IAshBH4X,WAAW,EAAE;MACT7R,UAAU,EAAE,gGADH;MAETtG,MAAM,EAAE,KAFC;MAGTC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJuW,IAAI,EAAE;UAAErU,IAAI,EAAE,CAAC,QAAD,EAAW,YAAX,EAAyB,KAAzB,CAAR;UAAyClC,IAAI,EAAE;SAHjD;QAIJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAP5B;MASTG,GAAG,EAAE;KA/hBN;IAiiBHsvB,gBAAgB,EAAE;MACd7vB,MAAM,EAAE,KADM;MAEdC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJuW,IAAI,EAAE;UAAErU,IAAI,EAAE,CAAC,QAAD,EAAW,YAAX,EAAyB,KAAzB,CAAR;UAAyClC,IAAI,EAAE;SAJjD;QAKJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPzB;MASdG,GAAG,EAAE;KA1iBN;IA4iBHuvB,iBAAiB,EAAE;MACfxpB,UAAU,EAAE,8HADG;MAEftG,MAAM,EAAE,KAFO;MAGfC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJuW,IAAI,EAAE;UAAErU,IAAI,EAAE,CAAC,QAAD,EAAW,YAAX,EAAyB,KAAzB,CAAR;UAAyClC,IAAI,EAAE;SAHjD;QAIJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPtB;MASfG,GAAG,EAAE;KArjBN;IAujBH+X,sBAAsB,EAAE;MACpBhS,UAAU,EAAE,sHADQ;MAEpBtG,MAAM,EAAE,KAFY;MAGpBC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANjB;MAQpBG,GAAG,EAAE;KA/jBN;IAikBHwvB,2BAA2B,EAAE;MACzB/vB,MAAM,EAAE,KADiB;MAEzBC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANd;MAQzBG,GAAG,EAAE;KAzkBN;IA2kBHyvB,4BAA4B,EAAE;MAC1B1pB,UAAU,EAAE,qJADc;MAE1BtG,MAAM,EAAE,KAFkB;MAG1BC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANX;MAQ1BG,GAAG,EAAE;KAnlBN;IAqlBH0vB,YAAY,EAAE;MACV3pB,UAAU,EAAE,kGADF;MAEVR,OAAO,EAAE;QAAEC,MAAM,EAAE;OAFT;MAGV/F,MAAM,EAAE,KAHE;MAIVC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAP3B;MASVG,GAAG,EAAE;KA9lBN;IAgmBH2vB,iBAAiB,EAAE;MACfpqB,OAAO,EAAE;QAAEC,MAAM,EAAE;OADJ;MAEf/F,MAAM,EAAE,KAFO;MAGfC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPxB;MASfG,GAAG,EAAE;KAzmBN;IA2mBH4vB,kBAAkB,EAAE;MAChB7pB,UAAU,EAAE,wHADI;MAEhBR,OAAO,EAAE;QAAEC,MAAM,EAAE;OAFH;MAGhB/F,MAAM,EAAE,KAHQ;MAIhBC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPrB;MAShBG,GAAG,EAAE;KApnBN;IAsnBHmI,SAAS,EAAE;MACPpC,UAAU,EAAE,4FADL;MAEPtG,MAAM,EAAE,KAFD;MAGPC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAN9B;MAQPG,GAAG,EAAE;KA9nBN;IAgoBH6vB,cAAc,EAAE;MACZpwB,MAAM,EAAE,KADI;MAEZC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAN3B;MAQZG,GAAG,EAAE;KAxoBN;IA0oBH8vB,eAAe,EAAE;MACb/pB,UAAU,EAAE,kHADC;MAEbtG,MAAM,EAAE,KAFK;MAGbC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANxB;MAQbG,GAAG,EAAE;KAlpBN;IAopBHmY,YAAY,EAAE;MACVpS,UAAU,EAAE,kGADF;MAEVtG,MAAM,EAAE,QAFE;MAGVC,MAAM,EAAE;QACJ2e,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD7B;QAEJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL5B;MAOVG,GAAG,EAAE;KA3pBN;IA6pBH+vB,kBAAkB,EAAE;MAChBhqB,UAAU,EAAE,gIADI;MAEhBtG,MAAM,EAAE,QAFQ;MAGhBC,MAAM,EAAE;QACJ2e,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD7B;QAEJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALtB;MAOhBG,GAAG,EAAE;KApqBN;IAsqBHoY,gBAAgB,EAAE;MACdrS,UAAU,EAAE,0GADE;MAEdtG,MAAM,EAAE,QAFM;MAGdC,MAAM,EAAE;QACJ2e,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD7B;QAEJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALxB;MAOdG,GAAG,EAAE;KA7qBN;IA+qBHgwB,qBAAqB,EAAE;MACnBvwB,MAAM,EAAE,QADW;MAEnBC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF/B;QAGJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALnB;MAOnBG,GAAG,EAAE;KAtrBN;IAwrBHiwB,sBAAsB,EAAE;MACpBlqB,UAAU,EAAE,wIADQ;MAEpBtG,MAAM,EAAE,QAFY;MAGpBC,MAAM,EAAE;QACJ2e,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD7B;QAEJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALlB;MAOpBG,GAAG,EAAE;KA/rBN;IAisBHkwB,aAAa,EAAE;MACXnqB,UAAU,EAAE,oGADD;MAEXtG,MAAM,EAAE,QAFG;MAGXC,MAAM,EAAE;QACJ6Z,UAAU,EAAE;UAAE3Z,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADhC;QAEJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL1B;MAOXG,GAAG,EAAE;KAxsBN;IA0sBHmwB,kBAAkB,EAAE;MAChB1wB,MAAM,EAAE,QADQ;MAEhBC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJ0Z,UAAU,EAAE;UAAE3Z,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFhC;QAGJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALvB;MAOhBG,GAAG,EAAE;KAjtBN;IAmtBHowB,mBAAmB,EAAE;MACjBrqB,UAAU,EAAE,0HADK;MAEjBtG,MAAM,EAAE,QAFS;MAGjBC,MAAM,EAAE;QACJ6Z,UAAU,EAAE;UAAE3Z,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADhC;QAEJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALpB;MAOjBG,GAAG,EAAE;KA1tBN;IA4tBHqwB,UAAU,EAAE;MACRtqB,UAAU,EAAE,8FADJ;MAERtG,MAAM,EAAE,QAFA;MAGRC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAN7B;MAQRG,GAAG,EAAE;KApuBN;IAsuBHswB,eAAe,EAAE;MACb7wB,MAAM,EAAE,QADK;MAEbC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH1B;QAIJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAN1B;MAQbG,GAAG,EAAE;KA9uBN;IAgvBHuwB,gBAAgB,EAAE;MACdxqB,UAAU,EAAE,0HADE;MAEdtG,MAAM,EAAE,QAFM;MAGdC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANvB;MAQdG,GAAG,EAAE;KAxvBN;IA0vBHwwB,aAAa,EAAE;MACXzqB,UAAU,EAAE,oGADD;MAEXR,OAAO,EAAE;QAAEC,MAAM,EAAE;OAFR;MAGX/F,MAAM,EAAE,KAHG;MAIXC,MAAM,EAAE;QACJ6Z,UAAU,EAAE;UAAE3Z,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADhC;QAEJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAN1B;MAQXG,GAAG,EAAE;KAlwBN;IAowBHywB,kBAAkB,EAAE;MAChBlrB,OAAO,EAAE;QAAEC,MAAM,EAAE;OADH;MAEhB/F,MAAM,EAAE,KAFQ;MAGhBC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJ0Z,UAAU,EAAE;UAAE3Z,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFhC;QAGJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANvB;MAQhBG,GAAG,EAAE;KA5wBN;IA8wBH0wB,mBAAmB,EAAE;MACjB3qB,UAAU,EAAE,4HADK;MAEjBR,OAAO,EAAE;QAAEC,MAAM,EAAE;OAFF;MAGjB/F,MAAM,EAAE,KAHS;MAIjBC,MAAM,EAAE;QACJ6Z,UAAU,EAAE;UAAE3Z,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADhC;QAEJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANpB;MAQjBG,GAAG,EAAE;KAtxBN;IAwxBHmK,MAAM,EAAE;MACJpE,UAAU,EAAE,sFADR;MAEJtG,MAAM,EAAE,OAFJ;MAGJC,MAAM,EAAE;QACJmL,WAAW,EAAE;UAAEhL,IAAI,EAAE;SADjB;QAEJO,IAAI,EAAE;UAAER,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJmtB,cAAc,EAAE;UAAEntB,IAAI,EAAE;SAHpB;QAIJyZ,UAAU,EAAE;UAAEvX,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,EAAiB,OAAjB,CAAR;UAAmClC,IAAI,EAAE;SAJjD;QAKJotB,OAAO,EAAE;UAAElrB,IAAI,EAAE,CAAC,QAAD,EAAW,QAAX,CAAR;UAA8BlC,IAAI,EAAE;SALzC;QAMJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OATjC;MAWJG,GAAG,EAAE;KAnyBN;IAqyBH2wB,gBAAgB,EAAE;MACd5qB,UAAU,EAAE,0GADE;MAEdtG,MAAM,EAAE,OAFM;MAGdC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAEvG,IAAI,EAAE;SADV;QAEJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFvC;QAGJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH7B;QAIJyG,KAAK,EAAE;UAAEzG,IAAI,EAAE;;OAPL;MASdG,GAAG,EAAE;KA9yBN;IAgzBH4wB,uBAAuB,EAAE;MACrB7qB,UAAU,EAAE,wHADS;MAErBtG,MAAM,EAAE,OAFa;MAGrBC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAExG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJ0e,cAAc,EAAE;UAAE3e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFpC;QAGJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHvC;QAIJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPhB;MASrBG,GAAG,EAAE;KAzzBN;IA2zBH6wB,4BAA4B,EAAE;MAC1BpxB,MAAM,EAAE,OADkB;MAE1BC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAExG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJ0e,cAAc,EAAE;UAAE3e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFpC;QAGJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHvC;QAIJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJzB;QAKJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPb;MAS1BG,GAAG,EAAE;KAp0BN;IAs0BH8wB,6BAA6B,EAAE;MAC3B/qB,UAAU,EAAE,mJADe;MAE3BtG,MAAM,EAAE,OAFmB;MAG3BC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAExG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJ0e,cAAc,EAAE;UAAE3e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFpC;QAGJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHvC;QAIJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPV;MAS3BG,GAAG,EAAE;KA/0BN;IAi1BH+wB,qBAAqB,EAAE;MACnBtxB,MAAM,EAAE,OADW;MAEnBC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAEvG,IAAI,EAAE;SADV;QAEJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFvC;QAGJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHzB;QAIJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ/B;QAKJyG,KAAK,EAAE;UAAEzG,IAAI,EAAE;;OAPA;MASnBG,GAAG,EAAE;KA11BN;IA41BHgxB,sBAAsB,EAAE;MACpBjrB,UAAU,EAAE,uIADQ;MAEpBtG,MAAM,EAAE,OAFY;MAGpBC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAEvG,IAAI,EAAE;SADV;QAEJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFvC;QAGJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH7B;QAIJyG,KAAK,EAAE;UAAEzG,IAAI,EAAE;;OAPC;MASpBG,GAAG,EAAE;KAr2BN;IAu2BHixB,WAAW,EAAE;MACTxxB,MAAM,EAAE,OADC;MAETC,MAAM,EAAE;QACJmL,WAAW,EAAE;UAAEhL,IAAI,EAAE;SADjB;QAEJO,IAAI,EAAE;UAAER,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHzB;QAIJmtB,cAAc,EAAE;UAAEntB,IAAI,EAAE;SAJpB;QAKJyZ,UAAU,EAAE;UAAEvX,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,EAAiB,OAAjB,CAAR;UAAmClC,IAAI,EAAE;SALjD;QAMJotB,OAAO,EAAE;UAAElrB,IAAI,EAAE,CAAC,QAAD,EAAW,QAAX,CAAR;UAA8BlC,IAAI,EAAE;SANzC;QAOJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAT9B;MAWTG,GAAG,EAAE;KAl3BN;IAo3BHkxB,YAAY,EAAE;MACVnrB,UAAU,EAAE,yGADF;MAEVtG,MAAM,EAAE,OAFE;MAGVC,MAAM,EAAE;QACJmL,WAAW,EAAE;UAAEhL,IAAI,EAAE;SADjB;QAEJO,IAAI,EAAE;UAAER,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJmtB,cAAc,EAAE;UAAEntB,IAAI,EAAE;SAHpB;QAIJyZ,UAAU,EAAE;UAAEvX,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,EAAiB,OAAjB,CAAR;UAAmClC,IAAI,EAAE;SAJjD;QAKJotB,OAAO,EAAE;UAAElrB,IAAI,EAAE,CAAC,QAAD,EAAW,QAAX,CAAR;UAA8BlC,IAAI,EAAE;SALzC;QAMJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAT3B;MAWVG,GAAG,EAAE;;GAzxMF;EA4xMXogB,KAAK,EAAE;IACH+Q,SAAS,EAAE;MACP1xB,MAAM,EAAE,MADD;MAEPC,MAAM,EAAE;QAAE0xB,MAAM,EAAE;UAAExxB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAFnC;MAGPG,GAAG,EAAE;KAJN;IAMHqxB,KAAK,EAAE;MACH5xB,MAAM,EAAE,KADL;MAEHC,MAAM,EAAE;QAAEyD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAFzC;MAGHG,GAAG,EAAE;KATN;IAWHsxB,YAAY,EAAE;MACV7xB,MAAM,EAAE,KADE;MAEVC,MAAM,EAAE;QAAEyD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAFlC;MAGVG,GAAG,EAAE;KAdN;IAgBHuxB,cAAc,EAAE;MACZ9xB,MAAM,EAAE,KADI;MAEZC,MAAM,EAAE;QAAEyD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAFhC;MAGZG,GAAG,EAAE;KAnBN;IAqBHwxB,qBAAqB,EAAE;MACnB/xB,MAAM,EAAE,KADW;MAEnBC,MAAM,EAAE;QACJ+xB,WAAW,EAAE;UAAE7xB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADjC;QAEJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJnB;MAMnBG,GAAG,EAAE;KA3BN;IA6BH0xB,YAAY,EAAE;MACVjyB,MAAM,EAAE,MADE;MAEVC,MAAM,EAAE;QAAEiyB,kBAAkB,EAAE;UAAE9xB,IAAI,EAAE;;OAF5B;MAGVG,GAAG,EAAE;KAhCN;IAkCH4xB,eAAe,EAAE;MACbnyB,MAAM,EAAE,MADK;MAEbC,MAAM,EAAE;QAAE4K,GAAG,EAAE;UAAEzK,IAAI,EAAE;SAAf;QAA2ByG,KAAK,EAAE;UAAEzG,IAAI,EAAE;;OAFrC;MAGbG,GAAG,EAAE;KArCN;IAuCH6xB,YAAY,EAAE;MACVpyB,MAAM,EAAE,QADE;MAEVC,MAAM,EAAE;QAAE0xB,MAAM,EAAE;UAAExxB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAFhC;MAGVG,GAAG,EAAE;KA1CN;IA4CH8xB,YAAY,EAAE;MACVryB,MAAM,EAAE,QADE;MAEVC,MAAM,EAAE;QAAEqyB,UAAU,EAAE;UAAEnyB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAFpC;MAGVG,GAAG,EAAE;KA/CN;IAiDHgyB,eAAe,EAAE;MACbvyB,MAAM,EAAE,QADK;MAEbC,MAAM,EAAE;QAAES,MAAM,EAAE;UAAEP,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAF7B;MAGbG,GAAG,EAAE;KApDN;IAsDHiyB,MAAM,EAAE;MACJxyB,MAAM,EAAE,KADJ;MAEJC,MAAM,EAAE;QAAEyD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAFxC;MAGJG,GAAG,EAAE;KAzDN;IA2DHkH,gBAAgB,EAAE;MAAEzH,MAAM,EAAE,KAAV;MAAiBC,MAAM,EAAE,EAAzB;MAA6BM,GAAG,EAAE;KA3DjD;IA4DHkyB,aAAa,EAAE;MACXzyB,MAAM,EAAE,KADG;MAEXC,MAAM,EAAE;QAAEyD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAFjC;MAGXG,GAAG,EAAE;KA/DN;IAiEHmyB,iBAAiB,EAAE;MACf1yB,MAAM,EAAE,KADO;MAEfC,MAAM,EAAE;QACJ0yB,UAAU,EAAE;UAAEvyB,IAAI,EAAE;SADhB;QAEJwyB,YAAY,EAAE;UACVtwB,IAAI,EAAE,CAAC,cAAD,EAAiB,YAAjB,EAA+B,OAA/B,EAAwC,cAAxC,CADI;UAEVlC,IAAI,EAAE;SAJN;QAMJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OARvB;MAUfG,GAAG,EAAE;KA3EN;IA6EHsyB,SAAS,EAAE;MACP7yB,MAAM,EAAE,KADD;MAEPC,MAAM,EAAE;QAAEqyB,UAAU,EAAE;UAAEnyB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAFvC;MAGPG,GAAG,EAAE;KAhFN;IAkFHa,YAAY,EAAE;MACVpB,MAAM,EAAE,KADE;MAEVC,MAAM,EAAE;QAAES,MAAM,EAAE;UAAEP,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAFhC;MAGVG,GAAG,EAAE;KArFN;IAuFHwL,IAAI,EAAE;MACF/L,MAAM,EAAE,KADN;MAEFC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJ6D,KAAK,EAAE;UAAE7D,IAAI,EAAE;;OALjB;MAOFG,GAAG,EAAE;KA9FN;IAgGHuyB,WAAW,EAAE;MAAE9yB,MAAM,EAAE,KAAV;MAAiBC,MAAM,EAAE,EAAzB;MAA6BM,GAAG,EAAE;KAhG5C;IAiGHwyB,UAAU,EAAE;MACR/yB,MAAM,EAAE,KADA;MAERC,MAAM,EAAE;QAAEqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAAhB;QAA6BmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OAF/C;MAGRG,GAAG,EAAE;KApGN;IAsGHyyB,iCAAiC,EAAE;MAC/BhzB,MAAM,EAAE,KADuB;MAE/BC,MAAM,EAAE;QAAEqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAAhB;QAA6BmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OAFxB;MAG/BG,GAAG,EAAE;KAzGN;IA2GH0yB,oBAAoB,EAAE;MAClBjzB,MAAM,EAAE,KADU;MAElBC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALpB;MAOlBG,GAAG,EAAE;KAlHN;IAoHH2yB,iCAAiC,EAAE;MAC/BlzB,MAAM,EAAE,KADuB;MAE/BC,MAAM,EAAE;QAAEqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAAhB;QAA6BmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OAFxB;MAG/BG,GAAG,EAAE;KAvHN;IAyHH4yB,oBAAoB,EAAE;MAClBnzB,MAAM,EAAE,KADU;MAElBC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALpB;MAOlBG,GAAG,EAAE;KAhIN;IAkIH6yB,WAAW,EAAE;MACTpzB,MAAM,EAAE,KADC;MAETC,MAAM,EAAE;QAAEqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAAhB;QAA6BmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OAF9C;MAGTG,GAAG,EAAE;KArIN;IAuIH8yB,kBAAkB,EAAE;MAChBrzB,MAAM,EAAE,KADQ;MAEhBC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALtB;MAOhBG,GAAG,EAAE;KA9IN;IAgJH+yB,gBAAgB,EAAE;MACdtzB,MAAM,EAAE,KADM;MAEdC,MAAM,EAAE;QAAEqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAAhB;QAA6BmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OAFzC;MAGdG,GAAG,EAAE;KAnJN;IAqJHgzB,cAAc,EAAE;MACZvzB,MAAM,EAAE,KADI;MAEZC,MAAM,EAAE;QAAEqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAAhB;QAA6BmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OAF3C;MAGZG,GAAG,EAAE;KAxJN;IA0JHizB,qBAAqB,EAAE;MACnBxzB,MAAM,EAAE,KADW;MAEnBC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALnB;MAOnBG,GAAG,EAAE;KAjKN;IAmKHkzB,4BAA4B,EAAE;MAC1BzzB,MAAM,EAAE,OADkB;MAE1BC,MAAM,EAAE;QACJkU,KAAK,EAAE;UAAEhU,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJ0iB,UAAU,EAAE;UAAE3iB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJd;MAM1BG,GAAG,EAAE;KAzKN;IA2KHmzB,OAAO,EAAE;MACL1zB,MAAM,EAAE,QADH;MAELC,MAAM,EAAE;QAAEyD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAFvC;MAGLG,GAAG,EAAE;KA9KN;IAgLHozB,QAAQ,EAAE;MACN3zB,MAAM,EAAE,QADF;MAENC,MAAM,EAAE;QAAEyD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAFtC;MAGNG,GAAG,EAAE;KAnLN;IAqLHqzB,mBAAmB,EAAE;MACjB5zB,MAAM,EAAE,OADS;MAEjBC,MAAM,EAAE;QACJ4zB,GAAG,EAAE;UAAEzzB,IAAI,EAAE;SADT;QAEJ0zB,IAAI,EAAE;UAAE1zB,IAAI,EAAE;SAFV;QAGJ2Y,OAAO,EAAE;UAAE3Y,IAAI,EAAE;SAHb;QAIJ+T,KAAK,EAAE;UAAE/T,IAAI,EAAE;SAJX;QAKJ2zB,QAAQ,EAAE;UAAE3zB,IAAI,EAAE;SALd;QAMJ+Y,QAAQ,EAAE;UAAE/Y,IAAI,EAAE;SANd;QAOJO,IAAI,EAAE;UAAEP,IAAI,EAAE;;OATD;MAWjBG,GAAG,EAAE;;;CA59MjB;;ACAO,MAAMyzB,OAAO,GAAG,mBAAhB;;ACCA,SAASC,iBAAT,CAA2BC,OAA3B,EAAoCC,MAApC,EAA4C;EAC/CC,MAAM,CAACC,IAAP,CAAYF,MAAZ,EAAoBG,OAApB,CAA4BC,aAAa,IAAI;QACrC,CAACL,OAAO,CAACK,aAAD,CAAZ,EAA6B;MACzBL,OAAO,CAACK,aAAD,CAAP,GAAyB,EAAzB;;;IAEJH,MAAM,CAACC,IAAP,CAAYF,MAAM,CAACI,aAAD,CAAlB,EAAmCD,OAAnC,CAA2CE,OAAO,IAAI;YAC5CC,UAAU,GAAGN,MAAM,CAACI,aAAD,CAAN,CAAsBC,OAAtB,CAAnB;YACME,gBAAgB,GAAG,CAAC,QAAD,EAAW,KAAX,EAAkB,SAAlB,EAA6BC,MAA7B,CAAoC,CAACC,GAAD,EAAM/pB,GAAN,KAAc;YACnE,OAAO4pB,UAAU,CAAC5pB,GAAD,CAAjB,KAA2B,WAA/B,EAA4C;UACxC+pB,GAAG,CAAC/pB,GAAD,CAAH,GAAW4pB,UAAU,CAAC5pB,GAAD,CAArB;;;eAEG+pB,GAAP;OAJqB,EAKtB,EALsB,CAAzB;MAMAF,gBAAgB,CAACG,OAAjB,GAA2B;QACvBC,QAAQ,EAAEL,UAAU,CAACx0B;OADzB;UAGI40B,OAAO,GAAGX,OAAO,CAACW,OAAR,CAAgBE,QAAhB,CAAyBL,gBAAzB,CAAd,CAXkD;;;;YAe5CM,kBAAkB,GAAGZ,MAAM,CAACC,IAAP,CAAYI,UAAU,CAACx0B,MAAX,IAAqB,EAAjC,EAAqCg1B,IAArC,CAA0CpqB,GAAG,IAAI4pB,UAAU,CAACx0B,MAAX,CAAkB4K,GAAlB,EAAuBvE,UAAxE,CAA3B;;UACI0uB,kBAAJ,EAAwB;cACdE,KAAK,GAAGC,mBAAmB,CAACC,IAApB,CAAyB,IAAzB,EAA+BlB,OAA/B,EAAwCO,UAAxC,CAAd;QACAI,OAAO,GAAGK,KAAK,CAAChB,OAAO,CAACW,OAAR,CAAgBE,QAAhB,CAAyBL,gBAAzB,CAAD,EAA8C,IAAGH,aAAc,IAAGC,OAAQ,IAA1E,CAAf;QACAK,OAAO,CAACQ,QAAR,GAAmBH,KAAK,CAACL,OAAO,CAACQ,QAAT,EAAoB,IAAGd,aAAc,IAAGC,OAAQ,aAAhD,CAAxB;QACAK,OAAO,CAACQ,QAAR,CAAiBzX,KAAjB,GAAyBsX,KAAK,CAACL,OAAO,CAACQ,QAAR,CAAiBzX,KAAlB,EAA0B,IAAG2W,aAAc,IAAGC,OAAQ,mBAAtD,CAA9B;;;UAEAC,UAAU,CAACnuB,UAAf,EAA2B;QACvB4tB,OAAO,CAACK,aAAD,CAAP,CAAuBC,OAAvB,IAAkCJ,MAAM,CAACkB,MAAP,CAAc,SAASC,wBAAT,GAAoC;UAChFrB,OAAO,CAACsB,GAAR,CAAYC,IAAZ,CAAiB,IAAIC,uBAAJ,CAAiB,mBAAkBjB,UAAU,CAACnuB,UAAW,EAAzD,CAAjB;UACA4tB,OAAO,CAACK,aAAD,CAAP,CAAuBC,OAAvB,IAAkCK,OAAlC;iBACOA,OAAO,CAACc,KAAR,CAAc,IAAd,EAAoBC,SAApB,CAAP;SAH8B,EAI/Bf,OAJ+B,CAAlC;;;;MAOJX,OAAO,CAACK,aAAD,CAAP,CAAuBC,OAAvB,IAAkCK,OAAlC;KA9BJ;GAJJ;;;AAsCJ,SAASM,mBAAT,CAA6BjB,OAA7B,EAAsCO,UAAtC,EAAkDz0B,MAAlD,EAA0D61B,UAA1D,EAAsE;QAC5DC,aAAa,GAAIC,OAAD,IAAa;IAC/BA,OAAO,GAAG3B,MAAM,CAACkB,MAAP,CAAc,EAAd,EAAkBS,OAAlB,CAAV;IACA3B,MAAM,CAACC,IAAP,CAAY0B,OAAZ,EAAqBzB,OAArB,CAA6BzpB,GAAG,IAAI;UAC5B4pB,UAAU,CAACx0B,MAAX,CAAkB4K,GAAlB,KAA0B4pB,UAAU,CAACx0B,MAAX,CAAkB4K,GAAlB,EAAuBvE,UAArD,EAAiE;cACvD0vB,QAAQ,GAAGvB,UAAU,CAACx0B,MAAX,CAAkB4K,GAAlB,EAAuB+E,KAAxC;QACAskB,OAAO,CAACsB,GAAR,CAAYC,IAAZ,CAAiB,IAAIC,uBAAJ,CAAiB,oBAAmB7qB,GAAI,kCAAiCgrB,UAAW,WAAUG,QAAS,WAAvG,CAAjB;;YACI,EAAEA,QAAQ,IAAID,OAAd,CAAJ,EAA4B;UACxBA,OAAO,CAACC,QAAD,CAAP,GAAoBD,OAAO,CAAClrB,GAAD,CAA3B;;;eAEGkrB,OAAO,CAAClrB,GAAD,CAAd;;KAPR;WAUO7K,MAAM,CAAC+1B,OAAD,CAAb;GAZJ;;EAcA3B,MAAM,CAACC,IAAP,CAAYr0B,MAAZ,EAAoBs0B,OAApB,CAA4BzpB,GAAG,IAAI;IAC/BirB,aAAa,CAACjrB,GAAD,CAAb,GAAqB7K,MAAM,CAAC6K,GAAD,CAA3B;GADJ;SAGOirB,aAAP;;;ACtDJ;;;;;;;;;;;AAUA,AAAO,SAASG,mBAAT,CAA6B/B,OAA7B,EAAsC;;EAEzCA,OAAO,CAACD,iBAAR,GAA4BA,iBAAiB,CAACmB,IAAlB,CAAuB,IAAvB,EAA6BlB,OAA7B,CAA5B;EACAD,iBAAiB,CAACC,OAAD,EAAUgC,gBAAV,CAAjB,CAHyC;;;GAOrC,CAAC,SAAD,EAAY,KAAZ,CADJ,EAEI,CAAC,eAAD,EAAkB,qBAAlB,CAFJ,EAGI,CAAC,cAAD,EAAiB,OAAjB,CAHJ,EAIE5B,OAJF,CAIU,CAAC,CAAC6B,eAAD,EAAkBC,KAAlB,CAAD,KAA8B;IACpChC,MAAM,CAACiC,cAAP,CAAsBnC,OAAtB,EAA+BiC,eAA/B,EAAgD;MAC5CxsB,GAAG,GAAG;QACFuqB,OAAO,CAACsB,GAAR,CAAYC,IAAZ;YAEIC,uBAAJ,CAAiB,oDAAmDS,eAAgB,4CAA2CC,KAAM,aAArI,CAFA,EADE;;eAKKlC,OAAO,CAACkC,KAAD,CAAd;;;KANR;GALJ;SAeO,EAAP;;AAEJH,mBAAmB,CAACjC,OAApB,GAA8BA,OAA9B;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/endpoints.js b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/endpoints.js new file mode 100644 index 0000000..90efed2 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/endpoints.js @@ -0,0 +1,6624 @@ +export default { + actions: { + cancelWorkflowRun: { + method: "POST", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + run_id: { required: true, type: "integer" } + }, + url: "/repos/:owner/:repo/actions/runs/:run_id/cancel" + }, + createOrUpdateSecretForRepo: { + method: "PUT", + params: { + encrypted_value: { type: "string" }, + key_id: { type: "string" }, + name: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/secrets/:name" + }, + createRegistrationToken: { + method: "POST", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/runners/registration-token" + }, + createRemoveToken: { + method: "POST", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/runners/remove-token" + }, + deleteArtifact: { + method: "DELETE", + params: { + artifact_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/artifacts/:artifact_id" + }, + deleteSecretFromRepo: { + method: "DELETE", + params: { + name: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/secrets/:name" + }, + downloadArtifact: { + method: "GET", + params: { + archive_format: { required: true, type: "string" }, + artifact_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/artifacts/:artifact_id/:archive_format" + }, + getArtifact: { + method: "GET", + params: { + artifact_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/artifacts/:artifact_id" + }, + getPublicKey: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/secrets/public-key" + }, + getSecret: { + method: "GET", + params: { + name: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/secrets/:name" + }, + getSelfHostedRunner: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + runner_id: { required: true, type: "integer" } + }, + url: "/repos/:owner/:repo/actions/runners/:runner_id" + }, + getWorkflow: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + workflow_id: { required: true, type: "integer" } + }, + url: "/repos/:owner/:repo/actions/workflows/:workflow_id" + }, + getWorkflowJob: { + method: "GET", + params: { + job_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/jobs/:job_id" + }, + getWorkflowRun: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + run_id: { required: true, type: "integer" } + }, + url: "/repos/:owner/:repo/actions/runs/:run_id" + }, + listDownloadsForSelfHostedRunnerApplication: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/runners/downloads" + }, + listJobsForWorkflowRun: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" }, + run_id: { required: true, type: "integer" } + }, + url: "/repos/:owner/:repo/actions/runs/:run_id/jobs" + }, + listRepoWorkflowRuns: { + method: "GET", + params: { + actor: { type: "string" }, + branch: { type: "string" }, + event: { type: "string" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" }, + status: { enum: ["completed", "status", "conclusion"], type: "string" } + }, + url: "/repos/:owner/:repo/actions/runs" + }, + listRepoWorkflows: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/workflows" + }, + listSecretsForRepo: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/secrets" + }, + listSelfHostedRunnersForRepo: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/runners" + }, + listWorkflowJobLogs: { + method: "GET", + params: { + job_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/jobs/:job_id/logs" + }, + listWorkflowRunArtifacts: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" }, + run_id: { required: true, type: "integer" } + }, + url: "/repos/:owner/:repo/actions/runs/:run_id/artifacts" + }, + listWorkflowRunLogs: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" }, + run_id: { required: true, type: "integer" } + }, + url: "/repos/:owner/:repo/actions/runs/:run_id/logs" + }, + listWorkflowRuns: { + method: "GET", + params: { + actor: { type: "string" }, + branch: { type: "string" }, + event: { type: "string" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" }, + status: { enum: ["completed", "status", "conclusion"], type: "string" }, + workflow_id: { required: true, type: "integer" } + }, + url: "/repos/:owner/:repo/actions/workflows/:workflow_id/runs" + }, + reRunWorkflow: { + method: "POST", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + run_id: { required: true, type: "integer" } + }, + url: "/repos/:owner/:repo/actions/runs/:run_id/rerun" + }, + removeSelfHostedRunner: { + method: "DELETE", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + runner_id: { required: true, type: "integer" } + }, + url: "/repos/:owner/:repo/actions/runners/:runner_id" + } + }, + activity: { + checkStarringRepo: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/user/starred/:owner/:repo" + }, + deleteRepoSubscription: { + method: "DELETE", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/subscription" + }, + deleteThreadSubscription: { + method: "DELETE", + params: { thread_id: { required: true, type: "integer" } }, + url: "/notifications/threads/:thread_id/subscription" + }, + getRepoSubscription: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/subscription" + }, + getThread: { + method: "GET", + params: { thread_id: { required: true, type: "integer" } }, + url: "/notifications/threads/:thread_id" + }, + getThreadSubscription: { + method: "GET", + params: { thread_id: { required: true, type: "integer" } }, + url: "/notifications/threads/:thread_id/subscription" + }, + listEventsForOrg: { + method: "GET", + params: { + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/users/:username/events/orgs/:org" + }, + listEventsForUser: { + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/users/:username/events" + }, + listFeeds: { method: "GET", params: {}, url: "/feeds" }, + listNotifications: { + method: "GET", + params: { + all: { type: "boolean" }, + before: { type: "string" }, + page: { type: "integer" }, + participating: { type: "boolean" }, + per_page: { type: "integer" }, + since: { type: "string" } + }, + url: "/notifications" + }, + listNotificationsForRepo: { + method: "GET", + params: { + all: { type: "boolean" }, + before: { type: "string" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + participating: { type: "boolean" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" }, + since: { type: "string" } + }, + url: "/repos/:owner/:repo/notifications" + }, + listPublicEvents: { + method: "GET", + params: { page: { type: "integer" }, per_page: { type: "integer" } }, + url: "/events" + }, + listPublicEventsForOrg: { + method: "GET", + params: { + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" } + }, + url: "/orgs/:org/events" + }, + listPublicEventsForRepoNetwork: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/networks/:owner/:repo/events" + }, + listPublicEventsForUser: { + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/users/:username/events/public" + }, + listReceivedEventsForUser: { + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/users/:username/received_events" + }, + listReceivedPublicEventsForUser: { + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/users/:username/received_events/public" + }, + listRepoEvents: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/events" + }, + listReposStarredByAuthenticatedUser: { + method: "GET", + params: { + direction: { enum: ["asc", "desc"], type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + sort: { enum: ["created", "updated"], type: "string" } + }, + url: "/user/starred" + }, + listReposStarredByUser: { + method: "GET", + params: { + direction: { enum: ["asc", "desc"], type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + sort: { enum: ["created", "updated"], type: "string" }, + username: { required: true, type: "string" } + }, + url: "/users/:username/starred" + }, + listReposWatchedByUser: { + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/users/:username/subscriptions" + }, + listStargazersForRepo: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/stargazers" + }, + listWatchedReposForAuthenticatedUser: { + method: "GET", + params: { page: { type: "integer" }, per_page: { type: "integer" } }, + url: "/user/subscriptions" + }, + listWatchersForRepo: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/subscribers" + }, + markAsRead: { + method: "PUT", + params: { last_read_at: { type: "string" } }, + url: "/notifications" + }, + markNotificationsAsReadForRepo: { + method: "PUT", + params: { + last_read_at: { type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/notifications" + }, + markThreadAsRead: { + method: "PATCH", + params: { thread_id: { required: true, type: "integer" } }, + url: "/notifications/threads/:thread_id" + }, + setRepoSubscription: { + method: "PUT", + params: { + ignored: { type: "boolean" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + subscribed: { type: "boolean" } + }, + url: "/repos/:owner/:repo/subscription" + }, + setThreadSubscription: { + method: "PUT", + params: { + ignored: { type: "boolean" }, + thread_id: { required: true, type: "integer" } + }, + url: "/notifications/threads/:thread_id/subscription" + }, + starRepo: { + method: "PUT", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/user/starred/:owner/:repo" + }, + unstarRepo: { + method: "DELETE", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/user/starred/:owner/:repo" + } + }, + apps: { + addRepoToInstallation: { + headers: { accept: "application/vnd.github.machine-man-preview+json" }, + method: "PUT", + params: { + installation_id: { required: true, type: "integer" }, + repository_id: { required: true, type: "integer" } + }, + url: "/user/installations/:installation_id/repositories/:repository_id" + }, + checkAccountIsAssociatedWithAny: { + method: "GET", + params: { account_id: { required: true, type: "integer" } }, + url: "/marketplace_listing/accounts/:account_id" + }, + checkAccountIsAssociatedWithAnyStubbed: { + method: "GET", + params: { account_id: { required: true, type: "integer" } }, + url: "/marketplace_listing/stubbed/accounts/:account_id" + }, + checkAuthorization: { + deprecated: "octokit.apps.checkAuthorization() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#check-an-authorization", + method: "GET", + params: { + access_token: { required: true, type: "string" }, + client_id: { required: true, type: "string" } + }, + url: "/applications/:client_id/tokens/:access_token" + }, + checkToken: { + headers: { accept: "application/vnd.github.doctor-strange-preview+json" }, + method: "POST", + params: { + access_token: { type: "string" }, + client_id: { required: true, type: "string" } + }, + url: "/applications/:client_id/token" + }, + createContentAttachment: { + headers: { accept: "application/vnd.github.corsair-preview+json" }, + method: "POST", + params: { + body: { required: true, type: "string" }, + content_reference_id: { required: true, type: "integer" }, + title: { required: true, type: "string" } + }, + url: "/content_references/:content_reference_id/attachments" + }, + createFromManifest: { + headers: { accept: "application/vnd.github.fury-preview+json" }, + method: "POST", + params: { code: { required: true, type: "string" } }, + url: "/app-manifests/:code/conversions" + }, + createInstallationToken: { + headers: { accept: "application/vnd.github.machine-man-preview+json" }, + method: "POST", + params: { + installation_id: { required: true, type: "integer" }, + permissions: { type: "object" }, + repository_ids: { type: "integer[]" } + }, + url: "/app/installations/:installation_id/access_tokens" + }, + deleteAuthorization: { + headers: { accept: "application/vnd.github.doctor-strange-preview+json" }, + method: "DELETE", + params: { + access_token: { type: "string" }, + client_id: { required: true, type: "string" } + }, + url: "/applications/:client_id/grant" + }, + deleteInstallation: { + headers: { + accept: "application/vnd.github.gambit-preview+json,application/vnd.github.machine-man-preview+json" + }, + method: "DELETE", + params: { installation_id: { required: true, type: "integer" } }, + url: "/app/installations/:installation_id" + }, + deleteToken: { + headers: { accept: "application/vnd.github.doctor-strange-preview+json" }, + method: "DELETE", + params: { + access_token: { type: "string" }, + client_id: { required: true, type: "string" } + }, + url: "/applications/:client_id/token" + }, + findOrgInstallation: { + deprecated: "octokit.apps.findOrgInstallation() has been renamed to octokit.apps.getOrgInstallation() (2019-04-10)", + headers: { accept: "application/vnd.github.machine-man-preview+json" }, + method: "GET", + params: { org: { required: true, type: "string" } }, + url: "/orgs/:org/installation" + }, + findRepoInstallation: { + deprecated: "octokit.apps.findRepoInstallation() has been renamed to octokit.apps.getRepoInstallation() (2019-04-10)", + headers: { accept: "application/vnd.github.machine-man-preview+json" }, + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/installation" + }, + findUserInstallation: { + deprecated: "octokit.apps.findUserInstallation() has been renamed to octokit.apps.getUserInstallation() (2019-04-10)", + headers: { accept: "application/vnd.github.machine-man-preview+json" }, + method: "GET", + params: { username: { required: true, type: "string" } }, + url: "/users/:username/installation" + }, + getAuthenticated: { + headers: { accept: "application/vnd.github.machine-man-preview+json" }, + method: "GET", + params: {}, + url: "/app" + }, + getBySlug: { + headers: { accept: "application/vnd.github.machine-man-preview+json" }, + method: "GET", + params: { app_slug: { required: true, type: "string" } }, + url: "/apps/:app_slug" + }, + getInstallation: { + headers: { accept: "application/vnd.github.machine-man-preview+json" }, + method: "GET", + params: { installation_id: { required: true, type: "integer" } }, + url: "/app/installations/:installation_id" + }, + getOrgInstallation: { + headers: { accept: "application/vnd.github.machine-man-preview+json" }, + method: "GET", + params: { org: { required: true, type: "string" } }, + url: "/orgs/:org/installation" + }, + getRepoInstallation: { + headers: { accept: "application/vnd.github.machine-man-preview+json" }, + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/installation" + }, + getUserInstallation: { + headers: { accept: "application/vnd.github.machine-man-preview+json" }, + method: "GET", + params: { username: { required: true, type: "string" } }, + url: "/users/:username/installation" + }, + listAccountsUserOrOrgOnPlan: { + method: "GET", + params: { + direction: { enum: ["asc", "desc"], type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + plan_id: { required: true, type: "integer" }, + sort: { enum: ["created", "updated"], type: "string" } + }, + url: "/marketplace_listing/plans/:plan_id/accounts" + }, + listAccountsUserOrOrgOnPlanStubbed: { + method: "GET", + params: { + direction: { enum: ["asc", "desc"], type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + plan_id: { required: true, type: "integer" }, + sort: { enum: ["created", "updated"], type: "string" } + }, + url: "/marketplace_listing/stubbed/plans/:plan_id/accounts" + }, + listInstallationReposForAuthenticatedUser: { + headers: { accept: "application/vnd.github.machine-man-preview+json" }, + method: "GET", + params: { + installation_id: { required: true, type: "integer" }, + page: { type: "integer" }, + per_page: { type: "integer" } + }, + url: "/user/installations/:installation_id/repositories" + }, + listInstallations: { + headers: { accept: "application/vnd.github.machine-man-preview+json" }, + method: "GET", + params: { page: { type: "integer" }, per_page: { type: "integer" } }, + url: "/app/installations" + }, + listInstallationsForAuthenticatedUser: { + headers: { accept: "application/vnd.github.machine-man-preview+json" }, + method: "GET", + params: { page: { type: "integer" }, per_page: { type: "integer" } }, + url: "/user/installations" + }, + listMarketplacePurchasesForAuthenticatedUser: { + method: "GET", + params: { page: { type: "integer" }, per_page: { type: "integer" } }, + url: "/user/marketplace_purchases" + }, + listMarketplacePurchasesForAuthenticatedUserStubbed: { + method: "GET", + params: { page: { type: "integer" }, per_page: { type: "integer" } }, + url: "/user/marketplace_purchases/stubbed" + }, + listPlans: { + method: "GET", + params: { page: { type: "integer" }, per_page: { type: "integer" } }, + url: "/marketplace_listing/plans" + }, + listPlansStubbed: { + method: "GET", + params: { page: { type: "integer" }, per_page: { type: "integer" } }, + url: "/marketplace_listing/stubbed/plans" + }, + listRepos: { + headers: { accept: "application/vnd.github.machine-man-preview+json" }, + method: "GET", + params: { page: { type: "integer" }, per_page: { type: "integer" } }, + url: "/installation/repositories" + }, + removeRepoFromInstallation: { + headers: { accept: "application/vnd.github.machine-man-preview+json" }, + method: "DELETE", + params: { + installation_id: { required: true, type: "integer" }, + repository_id: { required: true, type: "integer" } + }, + url: "/user/installations/:installation_id/repositories/:repository_id" + }, + resetAuthorization: { + deprecated: "octokit.apps.resetAuthorization() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#reset-an-authorization", + method: "POST", + params: { + access_token: { required: true, type: "string" }, + client_id: { required: true, type: "string" } + }, + url: "/applications/:client_id/tokens/:access_token" + }, + resetToken: { + headers: { accept: "application/vnd.github.doctor-strange-preview+json" }, + method: "PATCH", + params: { + access_token: { type: "string" }, + client_id: { required: true, type: "string" } + }, + url: "/applications/:client_id/token" + }, + revokeAuthorizationForApplication: { + deprecated: "octokit.apps.revokeAuthorizationForApplication() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#revoke-an-authorization-for-an-application", + method: "DELETE", + params: { + access_token: { required: true, type: "string" }, + client_id: { required: true, type: "string" } + }, + url: "/applications/:client_id/tokens/:access_token" + }, + revokeGrantForApplication: { + deprecated: "octokit.apps.revokeGrantForApplication() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#revoke-a-grant-for-an-application", + method: "DELETE", + params: { + access_token: { required: true, type: "string" }, + client_id: { required: true, type: "string" } + }, + url: "/applications/:client_id/grants/:access_token" + }, + revokeInstallationToken: { + headers: { accept: "application/vnd.github.gambit-preview+json" }, + method: "DELETE", + params: {}, + url: "/installation/token" + } + }, + checks: { + create: { + headers: { accept: "application/vnd.github.antiope-preview+json" }, + method: "POST", + params: { + actions: { type: "object[]" }, + "actions[].description": { required: true, type: "string" }, + "actions[].identifier": { required: true, type: "string" }, + "actions[].label": { required: true, type: "string" }, + completed_at: { type: "string" }, + conclusion: { + enum: [ + "success", + "failure", + "neutral", + "cancelled", + "timed_out", + "action_required" + ], + type: "string" + }, + details_url: { type: "string" }, + external_id: { type: "string" }, + head_sha: { required: true, type: "string" }, + name: { required: true, type: "string" }, + output: { type: "object" }, + "output.annotations": { type: "object[]" }, + "output.annotations[].annotation_level": { + enum: ["notice", "warning", "failure"], + required: true, + type: "string" + }, + "output.annotations[].end_column": { type: "integer" }, + "output.annotations[].end_line": { required: true, type: "integer" }, + "output.annotations[].message": { required: true, type: "string" }, + "output.annotations[].path": { required: true, type: "string" }, + "output.annotations[].raw_details": { type: "string" }, + "output.annotations[].start_column": { type: "integer" }, + "output.annotations[].start_line": { required: true, type: "integer" }, + "output.annotations[].title": { type: "string" }, + "output.images": { type: "object[]" }, + "output.images[].alt": { required: true, type: "string" }, + "output.images[].caption": { type: "string" }, + "output.images[].image_url": { required: true, type: "string" }, + "output.summary": { required: true, type: "string" }, + "output.text": { type: "string" }, + "output.title": { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + started_at: { type: "string" }, + status: { enum: ["queued", "in_progress", "completed"], type: "string" } + }, + url: "/repos/:owner/:repo/check-runs" + }, + createSuite: { + headers: { accept: "application/vnd.github.antiope-preview+json" }, + method: "POST", + params: { + head_sha: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/check-suites" + }, + get: { + headers: { accept: "application/vnd.github.antiope-preview+json" }, + method: "GET", + params: { + check_run_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/check-runs/:check_run_id" + }, + getSuite: { + headers: { accept: "application/vnd.github.antiope-preview+json" }, + method: "GET", + params: { + check_suite_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/check-suites/:check_suite_id" + }, + listAnnotations: { + headers: { accept: "application/vnd.github.antiope-preview+json" }, + method: "GET", + params: { + check_run_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/check-runs/:check_run_id/annotations" + }, + listForRef: { + headers: { accept: "application/vnd.github.antiope-preview+json" }, + method: "GET", + params: { + check_name: { type: "string" }, + filter: { enum: ["latest", "all"], type: "string" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + ref: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + status: { enum: ["queued", "in_progress", "completed"], type: "string" } + }, + url: "/repos/:owner/:repo/commits/:ref/check-runs" + }, + listForSuite: { + headers: { accept: "application/vnd.github.antiope-preview+json" }, + method: "GET", + params: { + check_name: { type: "string" }, + check_suite_id: { required: true, type: "integer" }, + filter: { enum: ["latest", "all"], type: "string" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" }, + status: { enum: ["queued", "in_progress", "completed"], type: "string" } + }, + url: "/repos/:owner/:repo/check-suites/:check_suite_id/check-runs" + }, + listSuitesForRef: { + headers: { accept: "application/vnd.github.antiope-preview+json" }, + method: "GET", + params: { + app_id: { type: "integer" }, + check_name: { type: "string" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + ref: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/commits/:ref/check-suites" + }, + rerequestSuite: { + headers: { accept: "application/vnd.github.antiope-preview+json" }, + method: "POST", + params: { + check_suite_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/check-suites/:check_suite_id/rerequest" + }, + setSuitesPreferences: { + headers: { accept: "application/vnd.github.antiope-preview+json" }, + method: "PATCH", + params: { + auto_trigger_checks: { type: "object[]" }, + "auto_trigger_checks[].app_id": { required: true, type: "integer" }, + "auto_trigger_checks[].setting": { required: true, type: "boolean" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/check-suites/preferences" + }, + update: { + headers: { accept: "application/vnd.github.antiope-preview+json" }, + method: "PATCH", + params: { + actions: { type: "object[]" }, + "actions[].description": { required: true, type: "string" }, + "actions[].identifier": { required: true, type: "string" }, + "actions[].label": { required: true, type: "string" }, + check_run_id: { required: true, type: "integer" }, + completed_at: { type: "string" }, + conclusion: { + enum: [ + "success", + "failure", + "neutral", + "cancelled", + "timed_out", + "action_required" + ], + type: "string" + }, + details_url: { type: "string" }, + external_id: { type: "string" }, + name: { type: "string" }, + output: { type: "object" }, + "output.annotations": { type: "object[]" }, + "output.annotations[].annotation_level": { + enum: ["notice", "warning", "failure"], + required: true, + type: "string" + }, + "output.annotations[].end_column": { type: "integer" }, + "output.annotations[].end_line": { required: true, type: "integer" }, + "output.annotations[].message": { required: true, type: "string" }, + "output.annotations[].path": { required: true, type: "string" }, + "output.annotations[].raw_details": { type: "string" }, + "output.annotations[].start_column": { type: "integer" }, + "output.annotations[].start_line": { required: true, type: "integer" }, + "output.annotations[].title": { type: "string" }, + "output.images": { type: "object[]" }, + "output.images[].alt": { required: true, type: "string" }, + "output.images[].caption": { type: "string" }, + "output.images[].image_url": { required: true, type: "string" }, + "output.summary": { required: true, type: "string" }, + "output.text": { type: "string" }, + "output.title": { type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + started_at: { type: "string" }, + status: { enum: ["queued", "in_progress", "completed"], type: "string" } + }, + url: "/repos/:owner/:repo/check-runs/:check_run_id" + } + }, + codesOfConduct: { + getConductCode: { + headers: { accept: "application/vnd.github.scarlet-witch-preview+json" }, + method: "GET", + params: { key: { required: true, type: "string" } }, + url: "/codes_of_conduct/:key" + }, + getForRepo: { + headers: { accept: "application/vnd.github.scarlet-witch-preview+json" }, + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/community/code_of_conduct" + }, + listConductCodes: { + headers: { accept: "application/vnd.github.scarlet-witch-preview+json" }, + method: "GET", + params: {}, + url: "/codes_of_conduct" + } + }, + emojis: { get: { method: "GET", params: {}, url: "/emojis" } }, + gists: { + checkIsStarred: { + method: "GET", + params: { gist_id: { required: true, type: "string" } }, + url: "/gists/:gist_id/star" + }, + create: { + method: "POST", + params: { + description: { type: "string" }, + files: { required: true, type: "object" }, + "files.content": { type: "string" }, + public: { type: "boolean" } + }, + url: "/gists" + }, + createComment: { + method: "POST", + params: { + body: { required: true, type: "string" }, + gist_id: { required: true, type: "string" } + }, + url: "/gists/:gist_id/comments" + }, + delete: { + method: "DELETE", + params: { gist_id: { required: true, type: "string" } }, + url: "/gists/:gist_id" + }, + deleteComment: { + method: "DELETE", + params: { + comment_id: { required: true, type: "integer" }, + gist_id: { required: true, type: "string" } + }, + url: "/gists/:gist_id/comments/:comment_id" + }, + fork: { + method: "POST", + params: { gist_id: { required: true, type: "string" } }, + url: "/gists/:gist_id/forks" + }, + get: { + method: "GET", + params: { gist_id: { required: true, type: "string" } }, + url: "/gists/:gist_id" + }, + getComment: { + method: "GET", + params: { + comment_id: { required: true, type: "integer" }, + gist_id: { required: true, type: "string" } + }, + url: "/gists/:gist_id/comments/:comment_id" + }, + getRevision: { + method: "GET", + params: { + gist_id: { required: true, type: "string" }, + sha: { required: true, type: "string" } + }, + url: "/gists/:gist_id/:sha" + }, + list: { + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + since: { type: "string" } + }, + url: "/gists" + }, + listComments: { + method: "GET", + params: { + gist_id: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" } + }, + url: "/gists/:gist_id/comments" + }, + listCommits: { + method: "GET", + params: { + gist_id: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" } + }, + url: "/gists/:gist_id/commits" + }, + listForks: { + method: "GET", + params: { + gist_id: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" } + }, + url: "/gists/:gist_id/forks" + }, + listPublic: { + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + since: { type: "string" } + }, + url: "/gists/public" + }, + listPublicForUser: { + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + since: { type: "string" }, + username: { required: true, type: "string" } + }, + url: "/users/:username/gists" + }, + listStarred: { + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + since: { type: "string" } + }, + url: "/gists/starred" + }, + star: { + method: "PUT", + params: { gist_id: { required: true, type: "string" } }, + url: "/gists/:gist_id/star" + }, + unstar: { + method: "DELETE", + params: { gist_id: { required: true, type: "string" } }, + url: "/gists/:gist_id/star" + }, + update: { + method: "PATCH", + params: { + description: { type: "string" }, + files: { type: "object" }, + "files.content": { type: "string" }, + "files.filename": { type: "string" }, + gist_id: { required: true, type: "string" } + }, + url: "/gists/:gist_id" + }, + updateComment: { + method: "PATCH", + params: { + body: { required: true, type: "string" }, + comment_id: { required: true, type: "integer" }, + gist_id: { required: true, type: "string" } + }, + url: "/gists/:gist_id/comments/:comment_id" + } + }, + git: { + createBlob: { + method: "POST", + params: { + content: { required: true, type: "string" }, + encoding: { type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/git/blobs" + }, + createCommit: { + method: "POST", + params: { + author: { type: "object" }, + "author.date": { type: "string" }, + "author.email": { type: "string" }, + "author.name": { type: "string" }, + committer: { type: "object" }, + "committer.date": { type: "string" }, + "committer.email": { type: "string" }, + "committer.name": { type: "string" }, + message: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + parents: { required: true, type: "string[]" }, + repo: { required: true, type: "string" }, + signature: { type: "string" }, + tree: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/git/commits" + }, + createRef: { + method: "POST", + params: { + owner: { required: true, type: "string" }, + ref: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + sha: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/git/refs" + }, + createTag: { + method: "POST", + params: { + message: { required: true, type: "string" }, + object: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + tag: { required: true, type: "string" }, + tagger: { type: "object" }, + "tagger.date": { type: "string" }, + "tagger.email": { type: "string" }, + "tagger.name": { type: "string" }, + type: { + enum: ["commit", "tree", "blob"], + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/git/tags" + }, + createTree: { + method: "POST", + params: { + base_tree: { type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + tree: { required: true, type: "object[]" }, + "tree[].content": { type: "string" }, + "tree[].mode": { + enum: ["100644", "100755", "040000", "160000", "120000"], + type: "string" + }, + "tree[].path": { type: "string" }, + "tree[].sha": { allowNull: true, type: "string" }, + "tree[].type": { enum: ["blob", "tree", "commit"], type: "string" } + }, + url: "/repos/:owner/:repo/git/trees" + }, + deleteRef: { + method: "DELETE", + params: { + owner: { required: true, type: "string" }, + ref: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/git/refs/:ref" + }, + getBlob: { + method: "GET", + params: { + file_sha: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/git/blobs/:file_sha" + }, + getCommit: { + method: "GET", + params: { + commit_sha: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/git/commits/:commit_sha" + }, + getRef: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + ref: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/git/ref/:ref" + }, + getTag: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + tag_sha: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/git/tags/:tag_sha" + }, + getTree: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + recursive: { enum: ["1"], type: "integer" }, + repo: { required: true, type: "string" }, + tree_sha: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/git/trees/:tree_sha" + }, + listMatchingRefs: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + ref: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/git/matching-refs/:ref" + }, + listRefs: { + method: "GET", + params: { + namespace: { type: "string" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/git/refs/:namespace" + }, + updateRef: { + method: "PATCH", + params: { + force: { type: "boolean" }, + owner: { required: true, type: "string" }, + ref: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + sha: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/git/refs/:ref" + } + }, + gitignore: { + getTemplate: { + method: "GET", + params: { name: { required: true, type: "string" } }, + url: "/gitignore/templates/:name" + }, + listTemplates: { method: "GET", params: {}, url: "/gitignore/templates" } + }, + interactions: { + addOrUpdateRestrictionsForOrg: { + headers: { accept: "application/vnd.github.sombra-preview+json" }, + method: "PUT", + params: { + limit: { + enum: ["existing_users", "contributors_only", "collaborators_only"], + required: true, + type: "string" + }, + org: { required: true, type: "string" } + }, + url: "/orgs/:org/interaction-limits" + }, + addOrUpdateRestrictionsForRepo: { + headers: { accept: "application/vnd.github.sombra-preview+json" }, + method: "PUT", + params: { + limit: { + enum: ["existing_users", "contributors_only", "collaborators_only"], + required: true, + type: "string" + }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/interaction-limits" + }, + getRestrictionsForOrg: { + headers: { accept: "application/vnd.github.sombra-preview+json" }, + method: "GET", + params: { org: { required: true, type: "string" } }, + url: "/orgs/:org/interaction-limits" + }, + getRestrictionsForRepo: { + headers: { accept: "application/vnd.github.sombra-preview+json" }, + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/interaction-limits" + }, + removeRestrictionsForOrg: { + headers: { accept: "application/vnd.github.sombra-preview+json" }, + method: "DELETE", + params: { org: { required: true, type: "string" } }, + url: "/orgs/:org/interaction-limits" + }, + removeRestrictionsForRepo: { + headers: { accept: "application/vnd.github.sombra-preview+json" }, + method: "DELETE", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/interaction-limits" + } + }, + issues: { + addAssignees: { + method: "POST", + params: { + assignees: { type: "string[]" }, + issue_number: { required: true, type: "integer" }, + number: { alias: "issue_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/issues/:issue_number/assignees" + }, + addLabels: { + method: "POST", + params: { + issue_number: { required: true, type: "integer" }, + labels: { required: true, type: "string[]" }, + number: { alias: "issue_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/issues/:issue_number/labels" + }, + checkAssignee: { + method: "GET", + params: { + assignee: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/assignees/:assignee" + }, + create: { + method: "POST", + params: { + assignee: { type: "string" }, + assignees: { type: "string[]" }, + body: { type: "string" }, + labels: { type: "string[]" }, + milestone: { type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + title: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/issues" + }, + createComment: { + method: "POST", + params: { + body: { required: true, type: "string" }, + issue_number: { required: true, type: "integer" }, + number: { alias: "issue_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/issues/:issue_number/comments" + }, + createLabel: { + method: "POST", + params: { + color: { required: true, type: "string" }, + description: { type: "string" }, + name: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/labels" + }, + createMilestone: { + method: "POST", + params: { + description: { type: "string" }, + due_on: { type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + state: { enum: ["open", "closed"], type: "string" }, + title: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/milestones" + }, + deleteComment: { + method: "DELETE", + params: { + comment_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/issues/comments/:comment_id" + }, + deleteLabel: { + method: "DELETE", + params: { + name: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/labels/:name" + }, + deleteMilestone: { + method: "DELETE", + params: { + milestone_number: { required: true, type: "integer" }, + number: { + alias: "milestone_number", + deprecated: true, + type: "integer" + }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/milestones/:milestone_number" + }, + get: { + method: "GET", + params: { + issue_number: { required: true, type: "integer" }, + number: { alias: "issue_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/issues/:issue_number" + }, + getComment: { + method: "GET", + params: { + comment_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/issues/comments/:comment_id" + }, + getEvent: { + method: "GET", + params: { + event_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/issues/events/:event_id" + }, + getLabel: { + method: "GET", + params: { + name: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/labels/:name" + }, + getMilestone: { + method: "GET", + params: { + milestone_number: { required: true, type: "integer" }, + number: { + alias: "milestone_number", + deprecated: true, + type: "integer" + }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/milestones/:milestone_number" + }, + list: { + method: "GET", + params: { + direction: { enum: ["asc", "desc"], type: "string" }, + filter: { + enum: ["assigned", "created", "mentioned", "subscribed", "all"], + type: "string" + }, + labels: { type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + since: { type: "string" }, + sort: { enum: ["created", "updated", "comments"], type: "string" }, + state: { enum: ["open", "closed", "all"], type: "string" } + }, + url: "/issues" + }, + listAssignees: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/assignees" + }, + listComments: { + method: "GET", + params: { + issue_number: { required: true, type: "integer" }, + number: { alias: "issue_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" }, + since: { type: "string" } + }, + url: "/repos/:owner/:repo/issues/:issue_number/comments" + }, + listCommentsForRepo: { + method: "GET", + params: { + direction: { enum: ["asc", "desc"], type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + since: { type: "string" }, + sort: { enum: ["created", "updated"], type: "string" } + }, + url: "/repos/:owner/:repo/issues/comments" + }, + listEvents: { + method: "GET", + params: { + issue_number: { required: true, type: "integer" }, + number: { alias: "issue_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/issues/:issue_number/events" + }, + listEventsForRepo: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/issues/events" + }, + listEventsForTimeline: { + headers: { accept: "application/vnd.github.mockingbird-preview+json" }, + method: "GET", + params: { + issue_number: { required: true, type: "integer" }, + number: { alias: "issue_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/issues/:issue_number/timeline" + }, + listForAuthenticatedUser: { + method: "GET", + params: { + direction: { enum: ["asc", "desc"], type: "string" }, + filter: { + enum: ["assigned", "created", "mentioned", "subscribed", "all"], + type: "string" + }, + labels: { type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + since: { type: "string" }, + sort: { enum: ["created", "updated", "comments"], type: "string" }, + state: { enum: ["open", "closed", "all"], type: "string" } + }, + url: "/user/issues" + }, + listForOrg: { + method: "GET", + params: { + direction: { enum: ["asc", "desc"], type: "string" }, + filter: { + enum: ["assigned", "created", "mentioned", "subscribed", "all"], + type: "string" + }, + labels: { type: "string" }, + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + since: { type: "string" }, + sort: { enum: ["created", "updated", "comments"], type: "string" }, + state: { enum: ["open", "closed", "all"], type: "string" } + }, + url: "/orgs/:org/issues" + }, + listForRepo: { + method: "GET", + params: { + assignee: { type: "string" }, + creator: { type: "string" }, + direction: { enum: ["asc", "desc"], type: "string" }, + labels: { type: "string" }, + mentioned: { type: "string" }, + milestone: { type: "string" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" }, + since: { type: "string" }, + sort: { enum: ["created", "updated", "comments"], type: "string" }, + state: { enum: ["open", "closed", "all"], type: "string" } + }, + url: "/repos/:owner/:repo/issues" + }, + listLabelsForMilestone: { + method: "GET", + params: { + milestone_number: { required: true, type: "integer" }, + number: { + alias: "milestone_number", + deprecated: true, + type: "integer" + }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/milestones/:milestone_number/labels" + }, + listLabelsForRepo: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/labels" + }, + listLabelsOnIssue: { + method: "GET", + params: { + issue_number: { required: true, type: "integer" }, + number: { alias: "issue_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/issues/:issue_number/labels" + }, + listMilestonesForRepo: { + method: "GET", + params: { + direction: { enum: ["asc", "desc"], type: "string" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" }, + sort: { enum: ["due_on", "completeness"], type: "string" }, + state: { enum: ["open", "closed", "all"], type: "string" } + }, + url: "/repos/:owner/:repo/milestones" + }, + lock: { + method: "PUT", + params: { + issue_number: { required: true, type: "integer" }, + lock_reason: { + enum: ["off-topic", "too heated", "resolved", "spam"], + type: "string" + }, + number: { alias: "issue_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/issues/:issue_number/lock" + }, + removeAssignees: { + method: "DELETE", + params: { + assignees: { type: "string[]" }, + issue_number: { required: true, type: "integer" }, + number: { alias: "issue_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/issues/:issue_number/assignees" + }, + removeLabel: { + method: "DELETE", + params: { + issue_number: { required: true, type: "integer" }, + name: { required: true, type: "string" }, + number: { alias: "issue_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/issues/:issue_number/labels/:name" + }, + removeLabels: { + method: "DELETE", + params: { + issue_number: { required: true, type: "integer" }, + number: { alias: "issue_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/issues/:issue_number/labels" + }, + replaceLabels: { + method: "PUT", + params: { + issue_number: { required: true, type: "integer" }, + labels: { type: "string[]" }, + number: { alias: "issue_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/issues/:issue_number/labels" + }, + unlock: { + method: "DELETE", + params: { + issue_number: { required: true, type: "integer" }, + number: { alias: "issue_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/issues/:issue_number/lock" + }, + update: { + method: "PATCH", + params: { + assignee: { type: "string" }, + assignees: { type: "string[]" }, + body: { type: "string" }, + issue_number: { required: true, type: "integer" }, + labels: { type: "string[]" }, + milestone: { allowNull: true, type: "integer" }, + number: { alias: "issue_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + state: { enum: ["open", "closed"], type: "string" }, + title: { type: "string" } + }, + url: "/repos/:owner/:repo/issues/:issue_number" + }, + updateComment: { + method: "PATCH", + params: { + body: { required: true, type: "string" }, + comment_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/issues/comments/:comment_id" + }, + updateLabel: { + method: "PATCH", + params: { + color: { type: "string" }, + current_name: { required: true, type: "string" }, + description: { type: "string" }, + name: { type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/labels/:current_name" + }, + updateMilestone: { + method: "PATCH", + params: { + description: { type: "string" }, + due_on: { type: "string" }, + milestone_number: { required: true, type: "integer" }, + number: { + alias: "milestone_number", + deprecated: true, + type: "integer" + }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + state: { enum: ["open", "closed"], type: "string" }, + title: { type: "string" } + }, + url: "/repos/:owner/:repo/milestones/:milestone_number" + } + }, + licenses: { + get: { + method: "GET", + params: { license: { required: true, type: "string" } }, + url: "/licenses/:license" + }, + getForRepo: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/license" + }, + list: { + deprecated: "octokit.licenses.list() has been renamed to octokit.licenses.listCommonlyUsed() (2019-03-05)", + method: "GET", + params: {}, + url: "/licenses" + }, + listCommonlyUsed: { method: "GET", params: {}, url: "/licenses" } + }, + markdown: { + render: { + method: "POST", + params: { + context: { type: "string" }, + mode: { enum: ["markdown", "gfm"], type: "string" }, + text: { required: true, type: "string" } + }, + url: "/markdown" + }, + renderRaw: { + headers: { "content-type": "text/plain; charset=utf-8" }, + method: "POST", + params: { data: { mapTo: "data", required: true, type: "string" } }, + url: "/markdown/raw" + } + }, + meta: { get: { method: "GET", params: {}, url: "/meta" } }, + migrations: { + cancelImport: { + method: "DELETE", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/import" + }, + deleteArchiveForAuthenticatedUser: { + headers: { accept: "application/vnd.github.wyandotte-preview+json" }, + method: "DELETE", + params: { migration_id: { required: true, type: "integer" } }, + url: "/user/migrations/:migration_id/archive" + }, + deleteArchiveForOrg: { + headers: { accept: "application/vnd.github.wyandotte-preview+json" }, + method: "DELETE", + params: { + migration_id: { required: true, type: "integer" }, + org: { required: true, type: "string" } + }, + url: "/orgs/:org/migrations/:migration_id/archive" + }, + downloadArchiveForOrg: { + headers: { accept: "application/vnd.github.wyandotte-preview+json" }, + method: "GET", + params: { + migration_id: { required: true, type: "integer" }, + org: { required: true, type: "string" } + }, + url: "/orgs/:org/migrations/:migration_id/archive" + }, + getArchiveForAuthenticatedUser: { + headers: { accept: "application/vnd.github.wyandotte-preview+json" }, + method: "GET", + params: { migration_id: { required: true, type: "integer" } }, + url: "/user/migrations/:migration_id/archive" + }, + getArchiveForOrg: { + deprecated: "octokit.migrations.getArchiveForOrg() has been renamed to octokit.migrations.downloadArchiveForOrg() (2020-01-27)", + headers: { accept: "application/vnd.github.wyandotte-preview+json" }, + method: "GET", + params: { + migration_id: { required: true, type: "integer" }, + org: { required: true, type: "string" } + }, + url: "/orgs/:org/migrations/:migration_id/archive" + }, + getCommitAuthors: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + since: { type: "string" } + }, + url: "/repos/:owner/:repo/import/authors" + }, + getImportProgress: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/import" + }, + getLargeFiles: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/import/large_files" + }, + getStatusForAuthenticatedUser: { + headers: { accept: "application/vnd.github.wyandotte-preview+json" }, + method: "GET", + params: { migration_id: { required: true, type: "integer" } }, + url: "/user/migrations/:migration_id" + }, + getStatusForOrg: { + headers: { accept: "application/vnd.github.wyandotte-preview+json" }, + method: "GET", + params: { + migration_id: { required: true, type: "integer" }, + org: { required: true, type: "string" } + }, + url: "/orgs/:org/migrations/:migration_id" + }, + listForAuthenticatedUser: { + headers: { accept: "application/vnd.github.wyandotte-preview+json" }, + method: "GET", + params: { page: { type: "integer" }, per_page: { type: "integer" } }, + url: "/user/migrations" + }, + listForOrg: { + headers: { accept: "application/vnd.github.wyandotte-preview+json" }, + method: "GET", + params: { + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" } + }, + url: "/orgs/:org/migrations" + }, + listReposForOrg: { + headers: { accept: "application/vnd.github.wyandotte-preview+json" }, + method: "GET", + params: { + migration_id: { required: true, type: "integer" }, + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" } + }, + url: "/orgs/:org/migrations/:migration_id/repositories" + }, + listReposForUser: { + headers: { accept: "application/vnd.github.wyandotte-preview+json" }, + method: "GET", + params: { + migration_id: { required: true, type: "integer" }, + page: { type: "integer" }, + per_page: { type: "integer" } + }, + url: "/user/:migration_id/repositories" + }, + mapCommitAuthor: { + method: "PATCH", + params: { + author_id: { required: true, type: "integer" }, + email: { type: "string" }, + name: { type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/import/authors/:author_id" + }, + setLfsPreference: { + method: "PATCH", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + use_lfs: { enum: ["opt_in", "opt_out"], required: true, type: "string" } + }, + url: "/repos/:owner/:repo/import/lfs" + }, + startForAuthenticatedUser: { + method: "POST", + params: { + exclude_attachments: { type: "boolean" }, + lock_repositories: { type: "boolean" }, + repositories: { required: true, type: "string[]" } + }, + url: "/user/migrations" + }, + startForOrg: { + method: "POST", + params: { + exclude_attachments: { type: "boolean" }, + lock_repositories: { type: "boolean" }, + org: { required: true, type: "string" }, + repositories: { required: true, type: "string[]" } + }, + url: "/orgs/:org/migrations" + }, + startImport: { + method: "PUT", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + tfvc_project: { type: "string" }, + vcs: { + enum: ["subversion", "git", "mercurial", "tfvc"], + type: "string" + }, + vcs_password: { type: "string" }, + vcs_url: { required: true, type: "string" }, + vcs_username: { type: "string" } + }, + url: "/repos/:owner/:repo/import" + }, + unlockRepoForAuthenticatedUser: { + headers: { accept: "application/vnd.github.wyandotte-preview+json" }, + method: "DELETE", + params: { + migration_id: { required: true, type: "integer" }, + repo_name: { required: true, type: "string" } + }, + url: "/user/migrations/:migration_id/repos/:repo_name/lock" + }, + unlockRepoForOrg: { + headers: { accept: "application/vnd.github.wyandotte-preview+json" }, + method: "DELETE", + params: { + migration_id: { required: true, type: "integer" }, + org: { required: true, type: "string" }, + repo_name: { required: true, type: "string" } + }, + url: "/orgs/:org/migrations/:migration_id/repos/:repo_name/lock" + }, + updateImport: { + method: "PATCH", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + vcs_password: { type: "string" }, + vcs_username: { type: "string" } + }, + url: "/repos/:owner/:repo/import" + } + }, + oauthAuthorizations: { + checkAuthorization: { + deprecated: "octokit.oauthAuthorizations.checkAuthorization() has been renamed to octokit.apps.checkAuthorization() (2019-11-05)", + method: "GET", + params: { + access_token: { required: true, type: "string" }, + client_id: { required: true, type: "string" } + }, + url: "/applications/:client_id/tokens/:access_token" + }, + createAuthorization: { + deprecated: "octokit.oauthAuthorizations.createAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#create-a-new-authorization", + method: "POST", + params: { + client_id: { type: "string" }, + client_secret: { type: "string" }, + fingerprint: { type: "string" }, + note: { required: true, type: "string" }, + note_url: { type: "string" }, + scopes: { type: "string[]" } + }, + url: "/authorizations" + }, + deleteAuthorization: { + deprecated: "octokit.oauthAuthorizations.deleteAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#delete-an-authorization", + method: "DELETE", + params: { authorization_id: { required: true, type: "integer" } }, + url: "/authorizations/:authorization_id" + }, + deleteGrant: { + deprecated: "octokit.oauthAuthorizations.deleteGrant() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#delete-a-grant", + method: "DELETE", + params: { grant_id: { required: true, type: "integer" } }, + url: "/applications/grants/:grant_id" + }, + getAuthorization: { + deprecated: "octokit.oauthAuthorizations.getAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-a-single-authorization", + method: "GET", + params: { authorization_id: { required: true, type: "integer" } }, + url: "/authorizations/:authorization_id" + }, + getGrant: { + deprecated: "octokit.oauthAuthorizations.getGrant() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-a-single-grant", + method: "GET", + params: { grant_id: { required: true, type: "integer" } }, + url: "/applications/grants/:grant_id" + }, + getOrCreateAuthorizationForApp: { + deprecated: "octokit.oauthAuthorizations.getOrCreateAuthorizationForApp() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app", + method: "PUT", + params: { + client_id: { required: true, type: "string" }, + client_secret: { required: true, type: "string" }, + fingerprint: { type: "string" }, + note: { type: "string" }, + note_url: { type: "string" }, + scopes: { type: "string[]" } + }, + url: "/authorizations/clients/:client_id" + }, + getOrCreateAuthorizationForAppAndFingerprint: { + deprecated: "octokit.oauthAuthorizations.getOrCreateAuthorizationForAppAndFingerprint() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app-and-fingerprint", + method: "PUT", + params: { + client_id: { required: true, type: "string" }, + client_secret: { required: true, type: "string" }, + fingerprint: { required: true, type: "string" }, + note: { type: "string" }, + note_url: { type: "string" }, + scopes: { type: "string[]" } + }, + url: "/authorizations/clients/:client_id/:fingerprint" + }, + getOrCreateAuthorizationForAppFingerprint: { + deprecated: "octokit.oauthAuthorizations.getOrCreateAuthorizationForAppFingerprint() has been renamed to octokit.oauthAuthorizations.getOrCreateAuthorizationForAppAndFingerprint() (2018-12-27)", + method: "PUT", + params: { + client_id: { required: true, type: "string" }, + client_secret: { required: true, type: "string" }, + fingerprint: { required: true, type: "string" }, + note: { type: "string" }, + note_url: { type: "string" }, + scopes: { type: "string[]" } + }, + url: "/authorizations/clients/:client_id/:fingerprint" + }, + listAuthorizations: { + deprecated: "octokit.oauthAuthorizations.listAuthorizations() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#list-your-authorizations", + method: "GET", + params: { page: { type: "integer" }, per_page: { type: "integer" } }, + url: "/authorizations" + }, + listGrants: { + deprecated: "octokit.oauthAuthorizations.listGrants() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#list-your-grants", + method: "GET", + params: { page: { type: "integer" }, per_page: { type: "integer" } }, + url: "/applications/grants" + }, + resetAuthorization: { + deprecated: "octokit.oauthAuthorizations.resetAuthorization() has been renamed to octokit.apps.resetAuthorization() (2019-11-05)", + method: "POST", + params: { + access_token: { required: true, type: "string" }, + client_id: { required: true, type: "string" } + }, + url: "/applications/:client_id/tokens/:access_token" + }, + revokeAuthorizationForApplication: { + deprecated: "octokit.oauthAuthorizations.revokeAuthorizationForApplication() has been renamed to octokit.apps.revokeAuthorizationForApplication() (2019-11-05)", + method: "DELETE", + params: { + access_token: { required: true, type: "string" }, + client_id: { required: true, type: "string" } + }, + url: "/applications/:client_id/tokens/:access_token" + }, + revokeGrantForApplication: { + deprecated: "octokit.oauthAuthorizations.revokeGrantForApplication() has been renamed to octokit.apps.revokeGrantForApplication() (2019-11-05)", + method: "DELETE", + params: { + access_token: { required: true, type: "string" }, + client_id: { required: true, type: "string" } + }, + url: "/applications/:client_id/grants/:access_token" + }, + updateAuthorization: { + deprecated: "octokit.oauthAuthorizations.updateAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#update-an-existing-authorization", + method: "PATCH", + params: { + add_scopes: { type: "string[]" }, + authorization_id: { required: true, type: "integer" }, + fingerprint: { type: "string" }, + note: { type: "string" }, + note_url: { type: "string" }, + remove_scopes: { type: "string[]" }, + scopes: { type: "string[]" } + }, + url: "/authorizations/:authorization_id" + } + }, + orgs: { + addOrUpdateMembership: { + method: "PUT", + params: { + org: { required: true, type: "string" }, + role: { enum: ["admin", "member"], type: "string" }, + username: { required: true, type: "string" } + }, + url: "/orgs/:org/memberships/:username" + }, + blockUser: { + method: "PUT", + params: { + org: { required: true, type: "string" }, + username: { required: true, type: "string" } + }, + url: "/orgs/:org/blocks/:username" + }, + checkBlockedUser: { + method: "GET", + params: { + org: { required: true, type: "string" }, + username: { required: true, type: "string" } + }, + url: "/orgs/:org/blocks/:username" + }, + checkMembership: { + method: "GET", + params: { + org: { required: true, type: "string" }, + username: { required: true, type: "string" } + }, + url: "/orgs/:org/members/:username" + }, + checkPublicMembership: { + method: "GET", + params: { + org: { required: true, type: "string" }, + username: { required: true, type: "string" } + }, + url: "/orgs/:org/public_members/:username" + }, + concealMembership: { + method: "DELETE", + params: { + org: { required: true, type: "string" }, + username: { required: true, type: "string" } + }, + url: "/orgs/:org/public_members/:username" + }, + convertMemberToOutsideCollaborator: { + method: "PUT", + params: { + org: { required: true, type: "string" }, + username: { required: true, type: "string" } + }, + url: "/orgs/:org/outside_collaborators/:username" + }, + createHook: { + method: "POST", + params: { + active: { type: "boolean" }, + config: { required: true, type: "object" }, + "config.content_type": { type: "string" }, + "config.insecure_ssl": { type: "string" }, + "config.secret": { type: "string" }, + "config.url": { required: true, type: "string" }, + events: { type: "string[]" }, + name: { required: true, type: "string" }, + org: { required: true, type: "string" } + }, + url: "/orgs/:org/hooks" + }, + createInvitation: { + method: "POST", + params: { + email: { type: "string" }, + invitee_id: { type: "integer" }, + org: { required: true, type: "string" }, + role: { + enum: ["admin", "direct_member", "billing_manager"], + type: "string" + }, + team_ids: { type: "integer[]" } + }, + url: "/orgs/:org/invitations" + }, + deleteHook: { + method: "DELETE", + params: { + hook_id: { required: true, type: "integer" }, + org: { required: true, type: "string" } + }, + url: "/orgs/:org/hooks/:hook_id" + }, + get: { + method: "GET", + params: { org: { required: true, type: "string" } }, + url: "/orgs/:org" + }, + getHook: { + method: "GET", + params: { + hook_id: { required: true, type: "integer" }, + org: { required: true, type: "string" } + }, + url: "/orgs/:org/hooks/:hook_id" + }, + getMembership: { + method: "GET", + params: { + org: { required: true, type: "string" }, + username: { required: true, type: "string" } + }, + url: "/orgs/:org/memberships/:username" + }, + getMembershipForAuthenticatedUser: { + method: "GET", + params: { org: { required: true, type: "string" } }, + url: "/user/memberships/orgs/:org" + }, + list: { + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + since: { type: "integer" } + }, + url: "/organizations" + }, + listBlockedUsers: { + method: "GET", + params: { org: { required: true, type: "string" } }, + url: "/orgs/:org/blocks" + }, + listForAuthenticatedUser: { + method: "GET", + params: { page: { type: "integer" }, per_page: { type: "integer" } }, + url: "/user/orgs" + }, + listForUser: { + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/users/:username/orgs" + }, + listHooks: { + method: "GET", + params: { + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" } + }, + url: "/orgs/:org/hooks" + }, + listInstallations: { + headers: { accept: "application/vnd.github.machine-man-preview+json" }, + method: "GET", + params: { + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" } + }, + url: "/orgs/:org/installations" + }, + listInvitationTeams: { + method: "GET", + params: { + invitation_id: { required: true, type: "integer" }, + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" } + }, + url: "/orgs/:org/invitations/:invitation_id/teams" + }, + listMembers: { + method: "GET", + params: { + filter: { enum: ["2fa_disabled", "all"], type: "string" }, + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + role: { enum: ["all", "admin", "member"], type: "string" } + }, + url: "/orgs/:org/members" + }, + listMemberships: { + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + state: { enum: ["active", "pending"], type: "string" } + }, + url: "/user/memberships/orgs" + }, + listOutsideCollaborators: { + method: "GET", + params: { + filter: { enum: ["2fa_disabled", "all"], type: "string" }, + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" } + }, + url: "/orgs/:org/outside_collaborators" + }, + listPendingInvitations: { + method: "GET", + params: { + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" } + }, + url: "/orgs/:org/invitations" + }, + listPublicMembers: { + method: "GET", + params: { + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" } + }, + url: "/orgs/:org/public_members" + }, + pingHook: { + method: "POST", + params: { + hook_id: { required: true, type: "integer" }, + org: { required: true, type: "string" } + }, + url: "/orgs/:org/hooks/:hook_id/pings" + }, + publicizeMembership: { + method: "PUT", + params: { + org: { required: true, type: "string" }, + username: { required: true, type: "string" } + }, + url: "/orgs/:org/public_members/:username" + }, + removeMember: { + method: "DELETE", + params: { + org: { required: true, type: "string" }, + username: { required: true, type: "string" } + }, + url: "/orgs/:org/members/:username" + }, + removeMembership: { + method: "DELETE", + params: { + org: { required: true, type: "string" }, + username: { required: true, type: "string" } + }, + url: "/orgs/:org/memberships/:username" + }, + removeOutsideCollaborator: { + method: "DELETE", + params: { + org: { required: true, type: "string" }, + username: { required: true, type: "string" } + }, + url: "/orgs/:org/outside_collaborators/:username" + }, + unblockUser: { + method: "DELETE", + params: { + org: { required: true, type: "string" }, + username: { required: true, type: "string" } + }, + url: "/orgs/:org/blocks/:username" + }, + update: { + method: "PATCH", + params: { + billing_email: { type: "string" }, + company: { type: "string" }, + default_repository_permission: { + enum: ["read", "write", "admin", "none"], + type: "string" + }, + description: { type: "string" }, + email: { type: "string" }, + has_organization_projects: { type: "boolean" }, + has_repository_projects: { type: "boolean" }, + location: { type: "string" }, + members_allowed_repository_creation_type: { + enum: ["all", "private", "none"], + type: "string" + }, + members_can_create_internal_repositories: { type: "boolean" }, + members_can_create_private_repositories: { type: "boolean" }, + members_can_create_public_repositories: { type: "boolean" }, + members_can_create_repositories: { type: "boolean" }, + name: { type: "string" }, + org: { required: true, type: "string" } + }, + url: "/orgs/:org" + }, + updateHook: { + method: "PATCH", + params: { + active: { type: "boolean" }, + config: { type: "object" }, + "config.content_type": { type: "string" }, + "config.insecure_ssl": { type: "string" }, + "config.secret": { type: "string" }, + "config.url": { required: true, type: "string" }, + events: { type: "string[]" }, + hook_id: { required: true, type: "integer" }, + org: { required: true, type: "string" } + }, + url: "/orgs/:org/hooks/:hook_id" + }, + updateMembership: { + method: "PATCH", + params: { + org: { required: true, type: "string" }, + state: { enum: ["active"], required: true, type: "string" } + }, + url: "/user/memberships/orgs/:org" + } + }, + projects: { + addCollaborator: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "PUT", + params: { + permission: { enum: ["read", "write", "admin"], type: "string" }, + project_id: { required: true, type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/projects/:project_id/collaborators/:username" + }, + createCard: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "POST", + params: { + column_id: { required: true, type: "integer" }, + content_id: { type: "integer" }, + content_type: { type: "string" }, + note: { type: "string" } + }, + url: "/projects/columns/:column_id/cards" + }, + createColumn: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "POST", + params: { + name: { required: true, type: "string" }, + project_id: { required: true, type: "integer" } + }, + url: "/projects/:project_id/columns" + }, + createForAuthenticatedUser: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "POST", + params: { + body: { type: "string" }, + name: { required: true, type: "string" } + }, + url: "/user/projects" + }, + createForOrg: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "POST", + params: { + body: { type: "string" }, + name: { required: true, type: "string" }, + org: { required: true, type: "string" } + }, + url: "/orgs/:org/projects" + }, + createForRepo: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "POST", + params: { + body: { type: "string" }, + name: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/projects" + }, + delete: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "DELETE", + params: { project_id: { required: true, type: "integer" } }, + url: "/projects/:project_id" + }, + deleteCard: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "DELETE", + params: { card_id: { required: true, type: "integer" } }, + url: "/projects/columns/cards/:card_id" + }, + deleteColumn: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "DELETE", + params: { column_id: { required: true, type: "integer" } }, + url: "/projects/columns/:column_id" + }, + get: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "GET", + params: { project_id: { required: true, type: "integer" } }, + url: "/projects/:project_id" + }, + getCard: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "GET", + params: { card_id: { required: true, type: "integer" } }, + url: "/projects/columns/cards/:card_id" + }, + getColumn: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "GET", + params: { column_id: { required: true, type: "integer" } }, + url: "/projects/columns/:column_id" + }, + listCards: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "GET", + params: { + archived_state: { + enum: ["all", "archived", "not_archived"], + type: "string" + }, + column_id: { required: true, type: "integer" }, + page: { type: "integer" }, + per_page: { type: "integer" } + }, + url: "/projects/columns/:column_id/cards" + }, + listCollaborators: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "GET", + params: { + affiliation: { enum: ["outside", "direct", "all"], type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + project_id: { required: true, type: "integer" } + }, + url: "/projects/:project_id/collaborators" + }, + listColumns: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + project_id: { required: true, type: "integer" } + }, + url: "/projects/:project_id/columns" + }, + listForOrg: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "GET", + params: { + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + state: { enum: ["open", "closed", "all"], type: "string" } + }, + url: "/orgs/:org/projects" + }, + listForRepo: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" }, + state: { enum: ["open", "closed", "all"], type: "string" } + }, + url: "/repos/:owner/:repo/projects" + }, + listForUser: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + state: { enum: ["open", "closed", "all"], type: "string" }, + username: { required: true, type: "string" } + }, + url: "/users/:username/projects" + }, + moveCard: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "POST", + params: { + card_id: { required: true, type: "integer" }, + column_id: { type: "integer" }, + position: { + required: true, + type: "string", + validation: "^(top|bottom|after:\\d+)$" + } + }, + url: "/projects/columns/cards/:card_id/moves" + }, + moveColumn: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "POST", + params: { + column_id: { required: true, type: "integer" }, + position: { + required: true, + type: "string", + validation: "^(first|last|after:\\d+)$" + } + }, + url: "/projects/columns/:column_id/moves" + }, + removeCollaborator: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "DELETE", + params: { + project_id: { required: true, type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/projects/:project_id/collaborators/:username" + }, + reviewUserPermissionLevel: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "GET", + params: { + project_id: { required: true, type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/projects/:project_id/collaborators/:username/permission" + }, + update: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "PATCH", + params: { + body: { type: "string" }, + name: { type: "string" }, + organization_permission: { type: "string" }, + private: { type: "boolean" }, + project_id: { required: true, type: "integer" }, + state: { enum: ["open", "closed"], type: "string" } + }, + url: "/projects/:project_id" + }, + updateCard: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "PATCH", + params: { + archived: { type: "boolean" }, + card_id: { required: true, type: "integer" }, + note: { type: "string" } + }, + url: "/projects/columns/cards/:card_id" + }, + updateColumn: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "PATCH", + params: { + column_id: { required: true, type: "integer" }, + name: { required: true, type: "string" } + }, + url: "/projects/columns/:column_id" + } + }, + pulls: { + checkIfMerged: { + method: "GET", + params: { + number: { alias: "pull_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + pull_number: { required: true, type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/merge" + }, + create: { + method: "POST", + params: { + base: { required: true, type: "string" }, + body: { type: "string" }, + draft: { type: "boolean" }, + head: { required: true, type: "string" }, + maintainer_can_modify: { type: "boolean" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + title: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/pulls" + }, + createComment: { + method: "POST", + params: { + body: { required: true, type: "string" }, + commit_id: { required: true, type: "string" }, + in_reply_to: { + deprecated: true, + description: "The comment ID to reply to. **Note**: This must be the ID of a top-level comment, not a reply to that comment. Replies to replies are not supported.", + type: "integer" + }, + line: { type: "integer" }, + number: { alias: "pull_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + path: { required: true, type: "string" }, + position: { type: "integer" }, + pull_number: { required: true, type: "integer" }, + repo: { required: true, type: "string" }, + side: { enum: ["LEFT", "RIGHT"], type: "string" }, + start_line: { type: "integer" }, + start_side: { enum: ["LEFT", "RIGHT", "side"], type: "string" } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/comments" + }, + createCommentReply: { + deprecated: "octokit.pulls.createCommentReply() has been renamed to octokit.pulls.createComment() (2019-09-09)", + method: "POST", + params: { + body: { required: true, type: "string" }, + commit_id: { required: true, type: "string" }, + in_reply_to: { + deprecated: true, + description: "The comment ID to reply to. **Note**: This must be the ID of a top-level comment, not a reply to that comment. Replies to replies are not supported.", + type: "integer" + }, + line: { type: "integer" }, + number: { alias: "pull_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + path: { required: true, type: "string" }, + position: { type: "integer" }, + pull_number: { required: true, type: "integer" }, + repo: { required: true, type: "string" }, + side: { enum: ["LEFT", "RIGHT"], type: "string" }, + start_line: { type: "integer" }, + start_side: { enum: ["LEFT", "RIGHT", "side"], type: "string" } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/comments" + }, + createFromIssue: { + deprecated: "octokit.pulls.createFromIssue() is deprecated, see https://developer.github.com/v3/pulls/#create-a-pull-request", + method: "POST", + params: { + base: { required: true, type: "string" }, + draft: { type: "boolean" }, + head: { required: true, type: "string" }, + issue: { required: true, type: "integer" }, + maintainer_can_modify: { type: "boolean" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/pulls" + }, + createReview: { + method: "POST", + params: { + body: { type: "string" }, + comments: { type: "object[]" }, + "comments[].body": { required: true, type: "string" }, + "comments[].path": { required: true, type: "string" }, + "comments[].position": { required: true, type: "integer" }, + commit_id: { type: "string" }, + event: { + enum: ["APPROVE", "REQUEST_CHANGES", "COMMENT"], + type: "string" + }, + number: { alias: "pull_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + pull_number: { required: true, type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/reviews" + }, + createReviewCommentReply: { + method: "POST", + params: { + body: { required: true, type: "string" }, + comment_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + pull_number: { required: true, type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/comments/:comment_id/replies" + }, + createReviewRequest: { + method: "POST", + params: { + number: { alias: "pull_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + pull_number: { required: true, type: "integer" }, + repo: { required: true, type: "string" }, + reviewers: { type: "string[]" }, + team_reviewers: { type: "string[]" } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/requested_reviewers" + }, + deleteComment: { + method: "DELETE", + params: { + comment_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/pulls/comments/:comment_id" + }, + deletePendingReview: { + method: "DELETE", + params: { + number: { alias: "pull_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + pull_number: { required: true, type: "integer" }, + repo: { required: true, type: "string" }, + review_id: { required: true, type: "integer" } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id" + }, + deleteReviewRequest: { + method: "DELETE", + params: { + number: { alias: "pull_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + pull_number: { required: true, type: "integer" }, + repo: { required: true, type: "string" }, + reviewers: { type: "string[]" }, + team_reviewers: { type: "string[]" } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/requested_reviewers" + }, + dismissReview: { + method: "PUT", + params: { + message: { required: true, type: "string" }, + number: { alias: "pull_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + pull_number: { required: true, type: "integer" }, + repo: { required: true, type: "string" }, + review_id: { required: true, type: "integer" } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/dismissals" + }, + get: { + method: "GET", + params: { + number: { alias: "pull_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + pull_number: { required: true, type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/pulls/:pull_number" + }, + getComment: { + method: "GET", + params: { + comment_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/pulls/comments/:comment_id" + }, + getCommentsForReview: { + method: "GET", + params: { + number: { alias: "pull_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + pull_number: { required: true, type: "integer" }, + repo: { required: true, type: "string" }, + review_id: { required: true, type: "integer" } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/comments" + }, + getReview: { + method: "GET", + params: { + number: { alias: "pull_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + pull_number: { required: true, type: "integer" }, + repo: { required: true, type: "string" }, + review_id: { required: true, type: "integer" } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id" + }, + list: { + method: "GET", + params: { + base: { type: "string" }, + direction: { enum: ["asc", "desc"], type: "string" }, + head: { type: "string" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" }, + sort: { + enum: ["created", "updated", "popularity", "long-running"], + type: "string" + }, + state: { enum: ["open", "closed", "all"], type: "string" } + }, + url: "/repos/:owner/:repo/pulls" + }, + listComments: { + method: "GET", + params: { + direction: { enum: ["asc", "desc"], type: "string" }, + number: { alias: "pull_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + pull_number: { required: true, type: "integer" }, + repo: { required: true, type: "string" }, + since: { type: "string" }, + sort: { enum: ["created", "updated"], type: "string" } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/comments" + }, + listCommentsForRepo: { + method: "GET", + params: { + direction: { enum: ["asc", "desc"], type: "string" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" }, + since: { type: "string" }, + sort: { enum: ["created", "updated"], type: "string" } + }, + url: "/repos/:owner/:repo/pulls/comments" + }, + listCommits: { + method: "GET", + params: { + number: { alias: "pull_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + pull_number: { required: true, type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/commits" + }, + listFiles: { + method: "GET", + params: { + number: { alias: "pull_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + pull_number: { required: true, type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/files" + }, + listReviewRequests: { + method: "GET", + params: { + number: { alias: "pull_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + pull_number: { required: true, type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/requested_reviewers" + }, + listReviews: { + method: "GET", + params: { + number: { alias: "pull_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + pull_number: { required: true, type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/reviews" + }, + merge: { + method: "PUT", + params: { + commit_message: { type: "string" }, + commit_title: { type: "string" }, + merge_method: { enum: ["merge", "squash", "rebase"], type: "string" }, + number: { alias: "pull_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + pull_number: { required: true, type: "integer" }, + repo: { required: true, type: "string" }, + sha: { type: "string" } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/merge" + }, + submitReview: { + method: "POST", + params: { + body: { type: "string" }, + event: { + enum: ["APPROVE", "REQUEST_CHANGES", "COMMENT"], + required: true, + type: "string" + }, + number: { alias: "pull_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + pull_number: { required: true, type: "integer" }, + repo: { required: true, type: "string" }, + review_id: { required: true, type: "integer" } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/events" + }, + update: { + method: "PATCH", + params: { + base: { type: "string" }, + body: { type: "string" }, + maintainer_can_modify: { type: "boolean" }, + number: { alias: "pull_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + pull_number: { required: true, type: "integer" }, + repo: { required: true, type: "string" }, + state: { enum: ["open", "closed"], type: "string" }, + title: { type: "string" } + }, + url: "/repos/:owner/:repo/pulls/:pull_number" + }, + updateBranch: { + headers: { accept: "application/vnd.github.lydian-preview+json" }, + method: "PUT", + params: { + expected_head_sha: { type: "string" }, + owner: { required: true, type: "string" }, + pull_number: { required: true, type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/update-branch" + }, + updateComment: { + method: "PATCH", + params: { + body: { required: true, type: "string" }, + comment_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/pulls/comments/:comment_id" + }, + updateReview: { + method: "PUT", + params: { + body: { required: true, type: "string" }, + number: { alias: "pull_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + pull_number: { required: true, type: "integer" }, + repo: { required: true, type: "string" }, + review_id: { required: true, type: "integer" } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id" + } + }, + rateLimit: { get: { method: "GET", params: {}, url: "/rate_limit" } }, + reactions: { + createForCommitComment: { + headers: { accept: "application/vnd.github.squirrel-girl-preview+json" }, + method: "POST", + params: { + comment_id: { required: true, type: "integer" }, + content: { + enum: [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + required: true, + type: "string" + }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/comments/:comment_id/reactions" + }, + createForIssue: { + headers: { accept: "application/vnd.github.squirrel-girl-preview+json" }, + method: "POST", + params: { + content: { + enum: [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + required: true, + type: "string" + }, + issue_number: { required: true, type: "integer" }, + number: { alias: "issue_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/issues/:issue_number/reactions" + }, + createForIssueComment: { + headers: { accept: "application/vnd.github.squirrel-girl-preview+json" }, + method: "POST", + params: { + comment_id: { required: true, type: "integer" }, + content: { + enum: [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + required: true, + type: "string" + }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/issues/comments/:comment_id/reactions" + }, + createForPullRequestReviewComment: { + headers: { accept: "application/vnd.github.squirrel-girl-preview+json" }, + method: "POST", + params: { + comment_id: { required: true, type: "integer" }, + content: { + enum: [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + required: true, + type: "string" + }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/pulls/comments/:comment_id/reactions" + }, + createForTeamDiscussion: { + deprecated: "octokit.reactions.createForTeamDiscussion() has been renamed to octokit.reactions.createForTeamDiscussionLegacy() (2020-01-16)", + headers: { accept: "application/vnd.github.squirrel-girl-preview+json" }, + method: "POST", + params: { + content: { + enum: [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + required: true, + type: "string" + }, + discussion_number: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number/reactions" + }, + createForTeamDiscussionComment: { + deprecated: "octokit.reactions.createForTeamDiscussionComment() has been renamed to octokit.reactions.createForTeamDiscussionCommentLegacy() (2020-01-16)", + headers: { accept: "application/vnd.github.squirrel-girl-preview+json" }, + method: "POST", + params: { + comment_number: { required: true, type: "integer" }, + content: { + enum: [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + required: true, + type: "string" + }, + discussion_number: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions" + }, + createForTeamDiscussionCommentInOrg: { + headers: { accept: "application/vnd.github.squirrel-girl-preview+json" }, + method: "POST", + params: { + comment_number: { required: true, type: "integer" }, + content: { + enum: [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + required: true, + type: "string" + }, + discussion_number: { required: true, type: "integer" }, + org: { required: true, type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions" + }, + createForTeamDiscussionCommentLegacy: { + deprecated: "octokit.reactions.createForTeamDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-comment-legacy", + headers: { accept: "application/vnd.github.squirrel-girl-preview+json" }, + method: "POST", + params: { + comment_number: { required: true, type: "integer" }, + content: { + enum: [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + required: true, + type: "string" + }, + discussion_number: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions" + }, + createForTeamDiscussionInOrg: { + headers: { accept: "application/vnd.github.squirrel-girl-preview+json" }, + method: "POST", + params: { + content: { + enum: [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + required: true, + type: "string" + }, + discussion_number: { required: true, type: "integer" }, + org: { required: true, type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions" + }, + createForTeamDiscussionLegacy: { + deprecated: "octokit.reactions.createForTeamDiscussionLegacy() is deprecated, see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-legacy", + headers: { accept: "application/vnd.github.squirrel-girl-preview+json" }, + method: "POST", + params: { + content: { + enum: [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + required: true, + type: "string" + }, + discussion_number: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number/reactions" + }, + delete: { + headers: { accept: "application/vnd.github.squirrel-girl-preview+json" }, + method: "DELETE", + params: { reaction_id: { required: true, type: "integer" } }, + url: "/reactions/:reaction_id" + }, + listForCommitComment: { + headers: { accept: "application/vnd.github.squirrel-girl-preview+json" }, + method: "GET", + params: { + comment_id: { required: true, type: "integer" }, + content: { + enum: [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + type: "string" + }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/comments/:comment_id/reactions" + }, + listForIssue: { + headers: { accept: "application/vnd.github.squirrel-girl-preview+json" }, + method: "GET", + params: { + content: { + enum: [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + type: "string" + }, + issue_number: { required: true, type: "integer" }, + number: { alias: "issue_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/issues/:issue_number/reactions" + }, + listForIssueComment: { + headers: { accept: "application/vnd.github.squirrel-girl-preview+json" }, + method: "GET", + params: { + comment_id: { required: true, type: "integer" }, + content: { + enum: [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + type: "string" + }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/issues/comments/:comment_id/reactions" + }, + listForPullRequestReviewComment: { + headers: { accept: "application/vnd.github.squirrel-girl-preview+json" }, + method: "GET", + params: { + comment_id: { required: true, type: "integer" }, + content: { + enum: [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + type: "string" + }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/pulls/comments/:comment_id/reactions" + }, + listForTeamDiscussion: { + deprecated: "octokit.reactions.listForTeamDiscussion() has been renamed to octokit.reactions.listForTeamDiscussionLegacy() (2020-01-16)", + headers: { accept: "application/vnd.github.squirrel-girl-preview+json" }, + method: "GET", + params: { + content: { + enum: [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + type: "string" + }, + discussion_number: { required: true, type: "integer" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number/reactions" + }, + listForTeamDiscussionComment: { + deprecated: "octokit.reactions.listForTeamDiscussionComment() has been renamed to octokit.reactions.listForTeamDiscussionCommentLegacy() (2020-01-16)", + headers: { accept: "application/vnd.github.squirrel-girl-preview+json" }, + method: "GET", + params: { + comment_number: { required: true, type: "integer" }, + content: { + enum: [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + type: "string" + }, + discussion_number: { required: true, type: "integer" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions" + }, + listForTeamDiscussionCommentInOrg: { + headers: { accept: "application/vnd.github.squirrel-girl-preview+json" }, + method: "GET", + params: { + comment_number: { required: true, type: "integer" }, + content: { + enum: [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + type: "string" + }, + discussion_number: { required: true, type: "integer" }, + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions" + }, + listForTeamDiscussionCommentLegacy: { + deprecated: "octokit.reactions.listForTeamDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-comment-legacy", + headers: { accept: "application/vnd.github.squirrel-girl-preview+json" }, + method: "GET", + params: { + comment_number: { required: true, type: "integer" }, + content: { + enum: [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + type: "string" + }, + discussion_number: { required: true, type: "integer" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions" + }, + listForTeamDiscussionInOrg: { + headers: { accept: "application/vnd.github.squirrel-girl-preview+json" }, + method: "GET", + params: { + content: { + enum: [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + type: "string" + }, + discussion_number: { required: true, type: "integer" }, + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions" + }, + listForTeamDiscussionLegacy: { + deprecated: "octokit.reactions.listForTeamDiscussionLegacy() is deprecated, see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-legacy", + headers: { accept: "application/vnd.github.squirrel-girl-preview+json" }, + method: "GET", + params: { + content: { + enum: [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + type: "string" + }, + discussion_number: { required: true, type: "integer" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number/reactions" + } + }, + repos: { + acceptInvitation: { + method: "PATCH", + params: { invitation_id: { required: true, type: "integer" } }, + url: "/user/repository_invitations/:invitation_id" + }, + addCollaborator: { + method: "PUT", + params: { + owner: { required: true, type: "string" }, + permission: { enum: ["pull", "push", "admin"], type: "string" }, + repo: { required: true, type: "string" }, + username: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/collaborators/:username" + }, + addDeployKey: { + method: "POST", + params: { + key: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + read_only: { type: "boolean" }, + repo: { required: true, type: "string" }, + title: { type: "string" } + }, + url: "/repos/:owner/:repo/keys" + }, + addProtectedBranchAdminEnforcement: { + method: "POST", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/enforce_admins" + }, + addProtectedBranchAppRestrictions: { + method: "POST", + params: { + apps: { mapTo: "data", required: true, type: "string[]" }, + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/apps" + }, + addProtectedBranchRequiredSignatures: { + headers: { accept: "application/vnd.github.zzzax-preview+json" }, + method: "POST", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/required_signatures" + }, + addProtectedBranchRequiredStatusChecksContexts: { + method: "POST", + params: { + branch: { required: true, type: "string" }, + contexts: { mapTo: "data", required: true, type: "string[]" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts" + }, + addProtectedBranchTeamRestrictions: { + method: "POST", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + teams: { mapTo: "data", required: true, type: "string[]" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams" + }, + addProtectedBranchUserRestrictions: { + method: "POST", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + users: { mapTo: "data", required: true, type: "string[]" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/users" + }, + checkCollaborator: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + username: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/collaborators/:username" + }, + checkVulnerabilityAlerts: { + headers: { accept: "application/vnd.github.dorian-preview+json" }, + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/vulnerability-alerts" + }, + compareCommits: { + method: "GET", + params: { + base: { required: true, type: "string" }, + head: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/compare/:base...:head" + }, + createCommitComment: { + method: "POST", + params: { + body: { required: true, type: "string" }, + commit_sha: { required: true, type: "string" }, + line: { type: "integer" }, + owner: { required: true, type: "string" }, + path: { type: "string" }, + position: { type: "integer" }, + repo: { required: true, type: "string" }, + sha: { alias: "commit_sha", deprecated: true, type: "string" } + }, + url: "/repos/:owner/:repo/commits/:commit_sha/comments" + }, + createDeployment: { + method: "POST", + params: { + auto_merge: { type: "boolean" }, + description: { type: "string" }, + environment: { type: "string" }, + owner: { required: true, type: "string" }, + payload: { type: "string" }, + production_environment: { type: "boolean" }, + ref: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + required_contexts: { type: "string[]" }, + task: { type: "string" }, + transient_environment: { type: "boolean" } + }, + url: "/repos/:owner/:repo/deployments" + }, + createDeploymentStatus: { + method: "POST", + params: { + auto_inactive: { type: "boolean" }, + deployment_id: { required: true, type: "integer" }, + description: { type: "string" }, + environment: { enum: ["production", "staging", "qa"], type: "string" }, + environment_url: { type: "string" }, + log_url: { type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + state: { + enum: [ + "error", + "failure", + "inactive", + "in_progress", + "queued", + "pending", + "success" + ], + required: true, + type: "string" + }, + target_url: { type: "string" } + }, + url: "/repos/:owner/:repo/deployments/:deployment_id/statuses" + }, + createDispatchEvent: { + method: "POST", + params: { + client_payload: { type: "object" }, + event_type: { type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/dispatches" + }, + createFile: { + deprecated: "octokit.repos.createFile() has been renamed to octokit.repos.createOrUpdateFile() (2019-06-07)", + method: "PUT", + params: { + author: { type: "object" }, + "author.email": { required: true, type: "string" }, + "author.name": { required: true, type: "string" }, + branch: { type: "string" }, + committer: { type: "object" }, + "committer.email": { required: true, type: "string" }, + "committer.name": { required: true, type: "string" }, + content: { required: true, type: "string" }, + message: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + path: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + sha: { type: "string" } + }, + url: "/repos/:owner/:repo/contents/:path" + }, + createForAuthenticatedUser: { + method: "POST", + params: { + allow_merge_commit: { type: "boolean" }, + allow_rebase_merge: { type: "boolean" }, + allow_squash_merge: { type: "boolean" }, + auto_init: { type: "boolean" }, + delete_branch_on_merge: { type: "boolean" }, + description: { type: "string" }, + gitignore_template: { type: "string" }, + has_issues: { type: "boolean" }, + has_projects: { type: "boolean" }, + has_wiki: { type: "boolean" }, + homepage: { type: "string" }, + is_template: { type: "boolean" }, + license_template: { type: "string" }, + name: { required: true, type: "string" }, + private: { type: "boolean" }, + team_id: { type: "integer" }, + visibility: { + enum: ["public", "private", "visibility", "internal"], + type: "string" + } + }, + url: "/user/repos" + }, + createFork: { + method: "POST", + params: { + organization: { type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/forks" + }, + createHook: { + method: "POST", + params: { + active: { type: "boolean" }, + config: { required: true, type: "object" }, + "config.content_type": { type: "string" }, + "config.insecure_ssl": { type: "string" }, + "config.secret": { type: "string" }, + "config.url": { required: true, type: "string" }, + events: { type: "string[]" }, + name: { type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/hooks" + }, + createInOrg: { + method: "POST", + params: { + allow_merge_commit: { type: "boolean" }, + allow_rebase_merge: { type: "boolean" }, + allow_squash_merge: { type: "boolean" }, + auto_init: { type: "boolean" }, + delete_branch_on_merge: { type: "boolean" }, + description: { type: "string" }, + gitignore_template: { type: "string" }, + has_issues: { type: "boolean" }, + has_projects: { type: "boolean" }, + has_wiki: { type: "boolean" }, + homepage: { type: "string" }, + is_template: { type: "boolean" }, + license_template: { type: "string" }, + name: { required: true, type: "string" }, + org: { required: true, type: "string" }, + private: { type: "boolean" }, + team_id: { type: "integer" }, + visibility: { + enum: ["public", "private", "visibility", "internal"], + type: "string" + } + }, + url: "/orgs/:org/repos" + }, + createOrUpdateFile: { + method: "PUT", + params: { + author: { type: "object" }, + "author.email": { required: true, type: "string" }, + "author.name": { required: true, type: "string" }, + branch: { type: "string" }, + committer: { type: "object" }, + "committer.email": { required: true, type: "string" }, + "committer.name": { required: true, type: "string" }, + content: { required: true, type: "string" }, + message: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + path: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + sha: { type: "string" } + }, + url: "/repos/:owner/:repo/contents/:path" + }, + createRelease: { + method: "POST", + params: { + body: { type: "string" }, + draft: { type: "boolean" }, + name: { type: "string" }, + owner: { required: true, type: "string" }, + prerelease: { type: "boolean" }, + repo: { required: true, type: "string" }, + tag_name: { required: true, type: "string" }, + target_commitish: { type: "string" } + }, + url: "/repos/:owner/:repo/releases" + }, + createStatus: { + method: "POST", + params: { + context: { type: "string" }, + description: { type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + sha: { required: true, type: "string" }, + state: { + enum: ["error", "failure", "pending", "success"], + required: true, + type: "string" + }, + target_url: { type: "string" } + }, + url: "/repos/:owner/:repo/statuses/:sha" + }, + createUsingTemplate: { + headers: { accept: "application/vnd.github.baptiste-preview+json" }, + method: "POST", + params: { + description: { type: "string" }, + name: { required: true, type: "string" }, + owner: { type: "string" }, + private: { type: "boolean" }, + template_owner: { required: true, type: "string" }, + template_repo: { required: true, type: "string" } + }, + url: "/repos/:template_owner/:template_repo/generate" + }, + declineInvitation: { + method: "DELETE", + params: { invitation_id: { required: true, type: "integer" } }, + url: "/user/repository_invitations/:invitation_id" + }, + delete: { + method: "DELETE", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo" + }, + deleteCommitComment: { + method: "DELETE", + params: { + comment_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/comments/:comment_id" + }, + deleteDownload: { + method: "DELETE", + params: { + download_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/downloads/:download_id" + }, + deleteFile: { + method: "DELETE", + params: { + author: { type: "object" }, + "author.email": { type: "string" }, + "author.name": { type: "string" }, + branch: { type: "string" }, + committer: { type: "object" }, + "committer.email": { type: "string" }, + "committer.name": { type: "string" }, + message: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + path: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + sha: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/contents/:path" + }, + deleteHook: { + method: "DELETE", + params: { + hook_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/hooks/:hook_id" + }, + deleteInvitation: { + method: "DELETE", + params: { + invitation_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/invitations/:invitation_id" + }, + deleteRelease: { + method: "DELETE", + params: { + owner: { required: true, type: "string" }, + release_id: { required: true, type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/releases/:release_id" + }, + deleteReleaseAsset: { + method: "DELETE", + params: { + asset_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/releases/assets/:asset_id" + }, + disableAutomatedSecurityFixes: { + headers: { accept: "application/vnd.github.london-preview+json" }, + method: "DELETE", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/automated-security-fixes" + }, + disablePagesSite: { + headers: { accept: "application/vnd.github.switcheroo-preview+json" }, + method: "DELETE", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/pages" + }, + disableVulnerabilityAlerts: { + headers: { accept: "application/vnd.github.dorian-preview+json" }, + method: "DELETE", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/vulnerability-alerts" + }, + enableAutomatedSecurityFixes: { + headers: { accept: "application/vnd.github.london-preview+json" }, + method: "PUT", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/automated-security-fixes" + }, + enablePagesSite: { + headers: { accept: "application/vnd.github.switcheroo-preview+json" }, + method: "POST", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + source: { type: "object" }, + "source.branch": { enum: ["master", "gh-pages"], type: "string" }, + "source.path": { type: "string" } + }, + url: "/repos/:owner/:repo/pages" + }, + enableVulnerabilityAlerts: { + headers: { accept: "application/vnd.github.dorian-preview+json" }, + method: "PUT", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/vulnerability-alerts" + }, + get: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo" + }, + getAppsWithAccessToProtectedBranch: { + method: "GET", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/apps" + }, + getArchiveLink: { + method: "GET", + params: { + archive_format: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + ref: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/:archive_format/:ref" + }, + getBranch: { + method: "GET", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch" + }, + getBranchProtection: { + method: "GET", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection" + }, + getClones: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + per: { enum: ["day", "week"], type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/traffic/clones" + }, + getCodeFrequencyStats: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/stats/code_frequency" + }, + getCollaboratorPermissionLevel: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + username: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/collaborators/:username/permission" + }, + getCombinedStatusForRef: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + ref: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/commits/:ref/status" + }, + getCommit: { + method: "GET", + params: { + commit_sha: { alias: "ref", deprecated: true, type: "string" }, + owner: { required: true, type: "string" }, + ref: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + sha: { alias: "ref", deprecated: true, type: "string" } + }, + url: "/repos/:owner/:repo/commits/:ref" + }, + getCommitActivityStats: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/stats/commit_activity" + }, + getCommitComment: { + method: "GET", + params: { + comment_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/comments/:comment_id" + }, + getCommitRefSha: { + deprecated: "octokit.repos.getCommitRefSha() is deprecated, see https://developer.github.com/v3/repos/commits/#get-a-single-commit", + headers: { accept: "application/vnd.github.v3.sha" }, + method: "GET", + params: { + owner: { required: true, type: "string" }, + ref: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/commits/:ref" + }, + getContents: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + path: { required: true, type: "string" }, + ref: { type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/contents/:path" + }, + getContributorsStats: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/stats/contributors" + }, + getDeployKey: { + method: "GET", + params: { + key_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/keys/:key_id" + }, + getDeployment: { + method: "GET", + params: { + deployment_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/deployments/:deployment_id" + }, + getDeploymentStatus: { + method: "GET", + params: { + deployment_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + status_id: { required: true, type: "integer" } + }, + url: "/repos/:owner/:repo/deployments/:deployment_id/statuses/:status_id" + }, + getDownload: { + method: "GET", + params: { + download_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/downloads/:download_id" + }, + getHook: { + method: "GET", + params: { + hook_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/hooks/:hook_id" + }, + getLatestPagesBuild: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/pages/builds/latest" + }, + getLatestRelease: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/releases/latest" + }, + getPages: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/pages" + }, + getPagesBuild: { + method: "GET", + params: { + build_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/pages/builds/:build_id" + }, + getParticipationStats: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/stats/participation" + }, + getProtectedBranchAdminEnforcement: { + method: "GET", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/enforce_admins" + }, + getProtectedBranchPullRequestReviewEnforcement: { + method: "GET", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews" + }, + getProtectedBranchRequiredSignatures: { + headers: { accept: "application/vnd.github.zzzax-preview+json" }, + method: "GET", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/required_signatures" + }, + getProtectedBranchRequiredStatusChecks: { + method: "GET", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks" + }, + getProtectedBranchRestrictions: { + method: "GET", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions" + }, + getPunchCardStats: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/stats/punch_card" + }, + getReadme: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + ref: { type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/readme" + }, + getRelease: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + release_id: { required: true, type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/releases/:release_id" + }, + getReleaseAsset: { + method: "GET", + params: { + asset_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/releases/assets/:asset_id" + }, + getReleaseByTag: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + tag: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/releases/tags/:tag" + }, + getTeamsWithAccessToProtectedBranch: { + method: "GET", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams" + }, + getTopPaths: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/traffic/popular/paths" + }, + getTopReferrers: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/traffic/popular/referrers" + }, + getUsersWithAccessToProtectedBranch: { + method: "GET", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/users" + }, + getViews: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + per: { enum: ["day", "week"], type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/traffic/views" + }, + list: { + method: "GET", + params: { + affiliation: { type: "string" }, + direction: { enum: ["asc", "desc"], type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + sort: { + enum: ["created", "updated", "pushed", "full_name"], + type: "string" + }, + type: { + enum: ["all", "owner", "public", "private", "member"], + type: "string" + }, + visibility: { enum: ["all", "public", "private"], type: "string" } + }, + url: "/user/repos" + }, + listAppsWithAccessToProtectedBranch: { + deprecated: "octokit.repos.listAppsWithAccessToProtectedBranch() has been renamed to octokit.repos.getAppsWithAccessToProtectedBranch() (2019-09-13)", + method: "GET", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/apps" + }, + listAssetsForRelease: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + release_id: { required: true, type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/releases/:release_id/assets" + }, + listBranches: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + protected: { type: "boolean" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches" + }, + listBranchesForHeadCommit: { + headers: { accept: "application/vnd.github.groot-preview+json" }, + method: "GET", + params: { + commit_sha: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/commits/:commit_sha/branches-where-head" + }, + listCollaborators: { + method: "GET", + params: { + affiliation: { enum: ["outside", "direct", "all"], type: "string" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/collaborators" + }, + listCommentsForCommit: { + method: "GET", + params: { + commit_sha: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + ref: { alias: "commit_sha", deprecated: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/commits/:commit_sha/comments" + }, + listCommitComments: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/comments" + }, + listCommits: { + method: "GET", + params: { + author: { type: "string" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + path: { type: "string" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" }, + sha: { type: "string" }, + since: { type: "string" }, + until: { type: "string" } + }, + url: "/repos/:owner/:repo/commits" + }, + listContributors: { + method: "GET", + params: { + anon: { type: "string" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/contributors" + }, + listDeployKeys: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/keys" + }, + listDeploymentStatuses: { + method: "GET", + params: { + deployment_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/deployments/:deployment_id/statuses" + }, + listDeployments: { + method: "GET", + params: { + environment: { type: "string" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + ref: { type: "string" }, + repo: { required: true, type: "string" }, + sha: { type: "string" }, + task: { type: "string" } + }, + url: "/repos/:owner/:repo/deployments" + }, + listDownloads: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/downloads" + }, + listForOrg: { + method: "GET", + params: { + direction: { enum: ["asc", "desc"], type: "string" }, + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + sort: { + enum: ["created", "updated", "pushed", "full_name"], + type: "string" + }, + type: { + enum: [ + "all", + "public", + "private", + "forks", + "sources", + "member", + "internal" + ], + type: "string" + } + }, + url: "/orgs/:org/repos" + }, + listForUser: { + method: "GET", + params: { + direction: { enum: ["asc", "desc"], type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + sort: { + enum: ["created", "updated", "pushed", "full_name"], + type: "string" + }, + type: { enum: ["all", "owner", "member"], type: "string" }, + username: { required: true, type: "string" } + }, + url: "/users/:username/repos" + }, + listForks: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" }, + sort: { enum: ["newest", "oldest", "stargazers"], type: "string" } + }, + url: "/repos/:owner/:repo/forks" + }, + listHooks: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/hooks" + }, + listInvitations: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/invitations" + }, + listInvitationsForAuthenticatedUser: { + method: "GET", + params: { page: { type: "integer" }, per_page: { type: "integer" } }, + url: "/user/repository_invitations" + }, + listLanguages: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/languages" + }, + listPagesBuilds: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/pages/builds" + }, + listProtectedBranchRequiredStatusChecksContexts: { + method: "GET", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts" + }, + listProtectedBranchTeamRestrictions: { + deprecated: "octokit.repos.listProtectedBranchTeamRestrictions() has been renamed to octokit.repos.getTeamsWithAccessToProtectedBranch() (2019-09-09)", + method: "GET", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams" + }, + listProtectedBranchUserRestrictions: { + deprecated: "octokit.repos.listProtectedBranchUserRestrictions() has been renamed to octokit.repos.getUsersWithAccessToProtectedBranch() (2019-09-09)", + method: "GET", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/users" + }, + listPublic: { + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + since: { type: "integer" } + }, + url: "/repositories" + }, + listPullRequestsAssociatedWithCommit: { + headers: { accept: "application/vnd.github.groot-preview+json" }, + method: "GET", + params: { + commit_sha: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/commits/:commit_sha/pulls" + }, + listReleases: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/releases" + }, + listStatusesForRef: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + ref: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/commits/:ref/statuses" + }, + listTags: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/tags" + }, + listTeams: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/teams" + }, + listTeamsWithAccessToProtectedBranch: { + deprecated: "octokit.repos.listTeamsWithAccessToProtectedBranch() has been renamed to octokit.repos.getTeamsWithAccessToProtectedBranch() (2019-09-13)", + method: "GET", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams" + }, + listTopics: { + headers: { accept: "application/vnd.github.mercy-preview+json" }, + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/topics" + }, + listUsersWithAccessToProtectedBranch: { + deprecated: "octokit.repos.listUsersWithAccessToProtectedBranch() has been renamed to octokit.repos.getUsersWithAccessToProtectedBranch() (2019-09-13)", + method: "GET", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/users" + }, + merge: { + method: "POST", + params: { + base: { required: true, type: "string" }, + commit_message: { type: "string" }, + head: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/merges" + }, + pingHook: { + method: "POST", + params: { + hook_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/hooks/:hook_id/pings" + }, + removeBranchProtection: { + method: "DELETE", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection" + }, + removeCollaborator: { + method: "DELETE", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + username: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/collaborators/:username" + }, + removeDeployKey: { + method: "DELETE", + params: { + key_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/keys/:key_id" + }, + removeProtectedBranchAdminEnforcement: { + method: "DELETE", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/enforce_admins" + }, + removeProtectedBranchAppRestrictions: { + method: "DELETE", + params: { + apps: { mapTo: "data", required: true, type: "string[]" }, + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/apps" + }, + removeProtectedBranchPullRequestReviewEnforcement: { + method: "DELETE", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews" + }, + removeProtectedBranchRequiredSignatures: { + headers: { accept: "application/vnd.github.zzzax-preview+json" }, + method: "DELETE", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/required_signatures" + }, + removeProtectedBranchRequiredStatusChecks: { + method: "DELETE", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks" + }, + removeProtectedBranchRequiredStatusChecksContexts: { + method: "DELETE", + params: { + branch: { required: true, type: "string" }, + contexts: { mapTo: "data", required: true, type: "string[]" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts" + }, + removeProtectedBranchRestrictions: { + method: "DELETE", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions" + }, + removeProtectedBranchTeamRestrictions: { + method: "DELETE", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + teams: { mapTo: "data", required: true, type: "string[]" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams" + }, + removeProtectedBranchUserRestrictions: { + method: "DELETE", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + users: { mapTo: "data", required: true, type: "string[]" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/users" + }, + replaceProtectedBranchAppRestrictions: { + method: "PUT", + params: { + apps: { mapTo: "data", required: true, type: "string[]" }, + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/apps" + }, + replaceProtectedBranchRequiredStatusChecksContexts: { + method: "PUT", + params: { + branch: { required: true, type: "string" }, + contexts: { mapTo: "data", required: true, type: "string[]" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts" + }, + replaceProtectedBranchTeamRestrictions: { + method: "PUT", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + teams: { mapTo: "data", required: true, type: "string[]" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams" + }, + replaceProtectedBranchUserRestrictions: { + method: "PUT", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + users: { mapTo: "data", required: true, type: "string[]" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/users" + }, + replaceTopics: { + headers: { accept: "application/vnd.github.mercy-preview+json" }, + method: "PUT", + params: { + names: { required: true, type: "string[]" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/topics" + }, + requestPageBuild: { + method: "POST", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/pages/builds" + }, + retrieveCommunityProfileMetrics: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/community/profile" + }, + testPushHook: { + method: "POST", + params: { + hook_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/hooks/:hook_id/tests" + }, + transfer: { + method: "POST", + params: { + new_owner: { type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + team_ids: { type: "integer[]" } + }, + url: "/repos/:owner/:repo/transfer" + }, + update: { + method: "PATCH", + params: { + allow_merge_commit: { type: "boolean" }, + allow_rebase_merge: { type: "boolean" }, + allow_squash_merge: { type: "boolean" }, + archived: { type: "boolean" }, + default_branch: { type: "string" }, + delete_branch_on_merge: { type: "boolean" }, + description: { type: "string" }, + has_issues: { type: "boolean" }, + has_projects: { type: "boolean" }, + has_wiki: { type: "boolean" }, + homepage: { type: "string" }, + is_template: { type: "boolean" }, + name: { type: "string" }, + owner: { required: true, type: "string" }, + private: { type: "boolean" }, + repo: { required: true, type: "string" }, + visibility: { + enum: ["public", "private", "visibility", "internal"], + type: "string" + } + }, + url: "/repos/:owner/:repo" + }, + updateBranchProtection: { + method: "PUT", + params: { + allow_deletions: { type: "boolean" }, + allow_force_pushes: { allowNull: true, type: "boolean" }, + branch: { required: true, type: "string" }, + enforce_admins: { allowNull: true, required: true, type: "boolean" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + required_linear_history: { type: "boolean" }, + required_pull_request_reviews: { + allowNull: true, + required: true, + type: "object" + }, + "required_pull_request_reviews.dismiss_stale_reviews": { + type: "boolean" + }, + "required_pull_request_reviews.dismissal_restrictions": { + type: "object" + }, + "required_pull_request_reviews.dismissal_restrictions.teams": { + type: "string[]" + }, + "required_pull_request_reviews.dismissal_restrictions.users": { + type: "string[]" + }, + "required_pull_request_reviews.require_code_owner_reviews": { + type: "boolean" + }, + "required_pull_request_reviews.required_approving_review_count": { + type: "integer" + }, + required_status_checks: { + allowNull: true, + required: true, + type: "object" + }, + "required_status_checks.contexts": { required: true, type: "string[]" }, + "required_status_checks.strict": { required: true, type: "boolean" }, + restrictions: { allowNull: true, required: true, type: "object" }, + "restrictions.apps": { type: "string[]" }, + "restrictions.teams": { required: true, type: "string[]" }, + "restrictions.users": { required: true, type: "string[]" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection" + }, + updateCommitComment: { + method: "PATCH", + params: { + body: { required: true, type: "string" }, + comment_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/comments/:comment_id" + }, + updateFile: { + deprecated: "octokit.repos.updateFile() has been renamed to octokit.repos.createOrUpdateFile() (2019-06-07)", + method: "PUT", + params: { + author: { type: "object" }, + "author.email": { required: true, type: "string" }, + "author.name": { required: true, type: "string" }, + branch: { type: "string" }, + committer: { type: "object" }, + "committer.email": { required: true, type: "string" }, + "committer.name": { required: true, type: "string" }, + content: { required: true, type: "string" }, + message: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + path: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + sha: { type: "string" } + }, + url: "/repos/:owner/:repo/contents/:path" + }, + updateHook: { + method: "PATCH", + params: { + active: { type: "boolean" }, + add_events: { type: "string[]" }, + config: { type: "object" }, + "config.content_type": { type: "string" }, + "config.insecure_ssl": { type: "string" }, + "config.secret": { type: "string" }, + "config.url": { required: true, type: "string" }, + events: { type: "string[]" }, + hook_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + remove_events: { type: "string[]" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/hooks/:hook_id" + }, + updateInformationAboutPagesSite: { + method: "PUT", + params: { + cname: { type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + source: { + enum: ['"gh-pages"', '"master"', '"master /docs"'], + type: "string" + } + }, + url: "/repos/:owner/:repo/pages" + }, + updateInvitation: { + method: "PATCH", + params: { + invitation_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + permissions: { enum: ["read", "write", "admin"], type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/invitations/:invitation_id" + }, + updateProtectedBranchPullRequestReviewEnforcement: { + method: "PATCH", + params: { + branch: { required: true, type: "string" }, + dismiss_stale_reviews: { type: "boolean" }, + dismissal_restrictions: { type: "object" }, + "dismissal_restrictions.teams": { type: "string[]" }, + "dismissal_restrictions.users": { type: "string[]" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + require_code_owner_reviews: { type: "boolean" }, + required_approving_review_count: { type: "integer" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews" + }, + updateProtectedBranchRequiredStatusChecks: { + method: "PATCH", + params: { + branch: { required: true, type: "string" }, + contexts: { type: "string[]" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + strict: { type: "boolean" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks" + }, + updateRelease: { + method: "PATCH", + params: { + body: { type: "string" }, + draft: { type: "boolean" }, + name: { type: "string" }, + owner: { required: true, type: "string" }, + prerelease: { type: "boolean" }, + release_id: { required: true, type: "integer" }, + repo: { required: true, type: "string" }, + tag_name: { type: "string" }, + target_commitish: { type: "string" } + }, + url: "/repos/:owner/:repo/releases/:release_id" + }, + updateReleaseAsset: { + method: "PATCH", + params: { + asset_id: { required: true, type: "integer" }, + label: { type: "string" }, + name: { type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/releases/assets/:asset_id" + }, + uploadReleaseAsset: { + method: "POST", + params: { + data: { mapTo: "data", required: true, type: "string | object" }, + file: { alias: "data", deprecated: true, type: "string | object" }, + headers: { required: true, type: "object" }, + "headers.content-length": { required: true, type: "integer" }, + "headers.content-type": { required: true, type: "string" }, + label: { type: "string" }, + name: { required: true, type: "string" }, + url: { required: true, type: "string" } + }, + url: ":url" + } + }, + search: { + code: { + method: "GET", + params: { + order: { enum: ["desc", "asc"], type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + q: { required: true, type: "string" }, + sort: { enum: ["indexed"], type: "string" } + }, + url: "/search/code" + }, + commits: { + headers: { accept: "application/vnd.github.cloak-preview+json" }, + method: "GET", + params: { + order: { enum: ["desc", "asc"], type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + q: { required: true, type: "string" }, + sort: { enum: ["author-date", "committer-date"], type: "string" } + }, + url: "/search/commits" + }, + issues: { + deprecated: "octokit.search.issues() has been renamed to octokit.search.issuesAndPullRequests() (2018-12-27)", + method: "GET", + params: { + order: { enum: ["desc", "asc"], type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + q: { required: true, type: "string" }, + sort: { + enum: [ + "comments", + "reactions", + "reactions-+1", + "reactions--1", + "reactions-smile", + "reactions-thinking_face", + "reactions-heart", + "reactions-tada", + "interactions", + "created", + "updated" + ], + type: "string" + } + }, + url: "/search/issues" + }, + issuesAndPullRequests: { + method: "GET", + params: { + order: { enum: ["desc", "asc"], type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + q: { required: true, type: "string" }, + sort: { + enum: [ + "comments", + "reactions", + "reactions-+1", + "reactions--1", + "reactions-smile", + "reactions-thinking_face", + "reactions-heart", + "reactions-tada", + "interactions", + "created", + "updated" + ], + type: "string" + } + }, + url: "/search/issues" + }, + labels: { + method: "GET", + params: { + order: { enum: ["desc", "asc"], type: "string" }, + q: { required: true, type: "string" }, + repository_id: { required: true, type: "integer" }, + sort: { enum: ["created", "updated"], type: "string" } + }, + url: "/search/labels" + }, + repos: { + method: "GET", + params: { + order: { enum: ["desc", "asc"], type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + q: { required: true, type: "string" }, + sort: { + enum: ["stars", "forks", "help-wanted-issues", "updated"], + type: "string" + } + }, + url: "/search/repositories" + }, + topics: { + method: "GET", + params: { q: { required: true, type: "string" } }, + url: "/search/topics" + }, + users: { + method: "GET", + params: { + order: { enum: ["desc", "asc"], type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + q: { required: true, type: "string" }, + sort: { enum: ["followers", "repositories", "joined"], type: "string" } + }, + url: "/search/users" + } + }, + teams: { + addMember: { + deprecated: "octokit.teams.addMember() has been renamed to octokit.teams.addMemberLegacy() (2020-01-16)", + method: "PUT", + params: { + team_id: { required: true, type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/teams/:team_id/members/:username" + }, + addMemberLegacy: { + deprecated: "octokit.teams.addMemberLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#add-team-member-legacy", + method: "PUT", + params: { + team_id: { required: true, type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/teams/:team_id/members/:username" + }, + addOrUpdateMembership: { + deprecated: "octokit.teams.addOrUpdateMembership() has been renamed to octokit.teams.addOrUpdateMembershipLegacy() (2020-01-16)", + method: "PUT", + params: { + role: { enum: ["member", "maintainer"], type: "string" }, + team_id: { required: true, type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/teams/:team_id/memberships/:username" + }, + addOrUpdateMembershipInOrg: { + method: "PUT", + params: { + org: { required: true, type: "string" }, + role: { enum: ["member", "maintainer"], type: "string" }, + team_slug: { required: true, type: "string" }, + username: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/memberships/:username" + }, + addOrUpdateMembershipLegacy: { + deprecated: "octokit.teams.addOrUpdateMembershipLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#add-or-update-team-membership-legacy", + method: "PUT", + params: { + role: { enum: ["member", "maintainer"], type: "string" }, + team_id: { required: true, type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/teams/:team_id/memberships/:username" + }, + addOrUpdateProject: { + deprecated: "octokit.teams.addOrUpdateProject() has been renamed to octokit.teams.addOrUpdateProjectLegacy() (2020-01-16)", + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "PUT", + params: { + permission: { enum: ["read", "write", "admin"], type: "string" }, + project_id: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/projects/:project_id" + }, + addOrUpdateProjectInOrg: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "PUT", + params: { + org: { required: true, type: "string" }, + permission: { enum: ["read", "write", "admin"], type: "string" }, + project_id: { required: true, type: "integer" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/projects/:project_id" + }, + addOrUpdateProjectLegacy: { + deprecated: "octokit.teams.addOrUpdateProjectLegacy() is deprecated, see https://developer.github.com/v3/teams/#add-or-update-team-project-legacy", + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "PUT", + params: { + permission: { enum: ["read", "write", "admin"], type: "string" }, + project_id: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/projects/:project_id" + }, + addOrUpdateRepo: { + deprecated: "octokit.teams.addOrUpdateRepo() has been renamed to octokit.teams.addOrUpdateRepoLegacy() (2020-01-16)", + method: "PUT", + params: { + owner: { required: true, type: "string" }, + permission: { enum: ["pull", "push", "admin"], type: "string" }, + repo: { required: true, type: "string" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/repos/:owner/:repo" + }, + addOrUpdateRepoInOrg: { + method: "PUT", + params: { + org: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + permission: { enum: ["pull", "push", "admin"], type: "string" }, + repo: { required: true, type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/repos/:owner/:repo" + }, + addOrUpdateRepoLegacy: { + deprecated: "octokit.teams.addOrUpdateRepoLegacy() is deprecated, see https://developer.github.com/v3/teams/#add-or-update-team-repository-legacy", + method: "PUT", + params: { + owner: { required: true, type: "string" }, + permission: { enum: ["pull", "push", "admin"], type: "string" }, + repo: { required: true, type: "string" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/repos/:owner/:repo" + }, + checkManagesRepo: { + deprecated: "octokit.teams.checkManagesRepo() has been renamed to octokit.teams.checkManagesRepoLegacy() (2020-01-16)", + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/repos/:owner/:repo" + }, + checkManagesRepoInOrg: { + method: "GET", + params: { + org: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/repos/:owner/:repo" + }, + checkManagesRepoLegacy: { + deprecated: "octokit.teams.checkManagesRepoLegacy() is deprecated, see https://developer.github.com/v3/teams/#check-if-a-team-manages-a-repository-legacy", + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/repos/:owner/:repo" + }, + create: { + method: "POST", + params: { + description: { type: "string" }, + maintainers: { type: "string[]" }, + name: { required: true, type: "string" }, + org: { required: true, type: "string" }, + parent_team_id: { type: "integer" }, + permission: { enum: ["pull", "push", "admin"], type: "string" }, + privacy: { enum: ["secret", "closed"], type: "string" }, + repo_names: { type: "string[]" } + }, + url: "/orgs/:org/teams" + }, + createDiscussion: { + deprecated: "octokit.teams.createDiscussion() has been renamed to octokit.teams.createDiscussionLegacy() (2020-01-16)", + method: "POST", + params: { + body: { required: true, type: "string" }, + private: { type: "boolean" }, + team_id: { required: true, type: "integer" }, + title: { required: true, type: "string" } + }, + url: "/teams/:team_id/discussions" + }, + createDiscussionComment: { + deprecated: "octokit.teams.createDiscussionComment() has been renamed to octokit.teams.createDiscussionCommentLegacy() (2020-01-16)", + method: "POST", + params: { + body: { required: true, type: "string" }, + discussion_number: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number/comments" + }, + createDiscussionCommentInOrg: { + method: "POST", + params: { + body: { required: true, type: "string" }, + discussion_number: { required: true, type: "integer" }, + org: { required: true, type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments" + }, + createDiscussionCommentLegacy: { + deprecated: "octokit.teams.createDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#create-a-comment-legacy", + method: "POST", + params: { + body: { required: true, type: "string" }, + discussion_number: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number/comments" + }, + createDiscussionInOrg: { + method: "POST", + params: { + body: { required: true, type: "string" }, + org: { required: true, type: "string" }, + private: { type: "boolean" }, + team_slug: { required: true, type: "string" }, + title: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions" + }, + createDiscussionLegacy: { + deprecated: "octokit.teams.createDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#create-a-discussion-legacy", + method: "POST", + params: { + body: { required: true, type: "string" }, + private: { type: "boolean" }, + team_id: { required: true, type: "integer" }, + title: { required: true, type: "string" } + }, + url: "/teams/:team_id/discussions" + }, + delete: { + deprecated: "octokit.teams.delete() has been renamed to octokit.teams.deleteLegacy() (2020-01-16)", + method: "DELETE", + params: { team_id: { required: true, type: "integer" } }, + url: "/teams/:team_id" + }, + deleteDiscussion: { + deprecated: "octokit.teams.deleteDiscussion() has been renamed to octokit.teams.deleteDiscussionLegacy() (2020-01-16)", + method: "DELETE", + params: { + discussion_number: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number" + }, + deleteDiscussionComment: { + deprecated: "octokit.teams.deleteDiscussionComment() has been renamed to octokit.teams.deleteDiscussionCommentLegacy() (2020-01-16)", + method: "DELETE", + params: { + comment_number: { required: true, type: "integer" }, + discussion_number: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number" + }, + deleteDiscussionCommentInOrg: { + method: "DELETE", + params: { + comment_number: { required: true, type: "integer" }, + discussion_number: { required: true, type: "integer" }, + org: { required: true, type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number" + }, + deleteDiscussionCommentLegacy: { + deprecated: "octokit.teams.deleteDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#delete-a-comment-legacy", + method: "DELETE", + params: { + comment_number: { required: true, type: "integer" }, + discussion_number: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number" + }, + deleteDiscussionInOrg: { + method: "DELETE", + params: { + discussion_number: { required: true, type: "integer" }, + org: { required: true, type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number" + }, + deleteDiscussionLegacy: { + deprecated: "octokit.teams.deleteDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#delete-a-discussion-legacy", + method: "DELETE", + params: { + discussion_number: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number" + }, + deleteInOrg: { + method: "DELETE", + params: { + org: { required: true, type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug" + }, + deleteLegacy: { + deprecated: "octokit.teams.deleteLegacy() is deprecated, see https://developer.github.com/v3/teams/#delete-team-legacy", + method: "DELETE", + params: { team_id: { required: true, type: "integer" } }, + url: "/teams/:team_id" + }, + get: { + deprecated: "octokit.teams.get() has been renamed to octokit.teams.getLegacy() (2020-01-16)", + method: "GET", + params: { team_id: { required: true, type: "integer" } }, + url: "/teams/:team_id" + }, + getByName: { + method: "GET", + params: { + org: { required: true, type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug" + }, + getDiscussion: { + deprecated: "octokit.teams.getDiscussion() has been renamed to octokit.teams.getDiscussionLegacy() (2020-01-16)", + method: "GET", + params: { + discussion_number: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number" + }, + getDiscussionComment: { + deprecated: "octokit.teams.getDiscussionComment() has been renamed to octokit.teams.getDiscussionCommentLegacy() (2020-01-16)", + method: "GET", + params: { + comment_number: { required: true, type: "integer" }, + discussion_number: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number" + }, + getDiscussionCommentInOrg: { + method: "GET", + params: { + comment_number: { required: true, type: "integer" }, + discussion_number: { required: true, type: "integer" }, + org: { required: true, type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number" + }, + getDiscussionCommentLegacy: { + deprecated: "octokit.teams.getDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#get-a-single-comment-legacy", + method: "GET", + params: { + comment_number: { required: true, type: "integer" }, + discussion_number: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number" + }, + getDiscussionInOrg: { + method: "GET", + params: { + discussion_number: { required: true, type: "integer" }, + org: { required: true, type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number" + }, + getDiscussionLegacy: { + deprecated: "octokit.teams.getDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#get-a-single-discussion-legacy", + method: "GET", + params: { + discussion_number: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number" + }, + getLegacy: { + deprecated: "octokit.teams.getLegacy() is deprecated, see https://developer.github.com/v3/teams/#get-team-legacy", + method: "GET", + params: { team_id: { required: true, type: "integer" } }, + url: "/teams/:team_id" + }, + getMember: { + deprecated: "octokit.teams.getMember() has been renamed to octokit.teams.getMemberLegacy() (2020-01-16)", + method: "GET", + params: { + team_id: { required: true, type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/teams/:team_id/members/:username" + }, + getMemberLegacy: { + deprecated: "octokit.teams.getMemberLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#get-team-member-legacy", + method: "GET", + params: { + team_id: { required: true, type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/teams/:team_id/members/:username" + }, + getMembership: { + deprecated: "octokit.teams.getMembership() has been renamed to octokit.teams.getMembershipLegacy() (2020-01-16)", + method: "GET", + params: { + team_id: { required: true, type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/teams/:team_id/memberships/:username" + }, + getMembershipInOrg: { + method: "GET", + params: { + org: { required: true, type: "string" }, + team_slug: { required: true, type: "string" }, + username: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/memberships/:username" + }, + getMembershipLegacy: { + deprecated: "octokit.teams.getMembershipLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#get-team-membership-legacy", + method: "GET", + params: { + team_id: { required: true, type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/teams/:team_id/memberships/:username" + }, + list: { + method: "GET", + params: { + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" } + }, + url: "/orgs/:org/teams" + }, + listChild: { + deprecated: "octokit.teams.listChild() has been renamed to octokit.teams.listChildLegacy() (2020-01-16)", + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/teams" + }, + listChildInOrg: { + method: "GET", + params: { + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/teams" + }, + listChildLegacy: { + deprecated: "octokit.teams.listChildLegacy() is deprecated, see https://developer.github.com/v3/teams/#list-child-teams-legacy", + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/teams" + }, + listDiscussionComments: { + deprecated: "octokit.teams.listDiscussionComments() has been renamed to octokit.teams.listDiscussionCommentsLegacy() (2020-01-16)", + method: "GET", + params: { + direction: { enum: ["asc", "desc"], type: "string" }, + discussion_number: { required: true, type: "integer" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number/comments" + }, + listDiscussionCommentsInOrg: { + method: "GET", + params: { + direction: { enum: ["asc", "desc"], type: "string" }, + discussion_number: { required: true, type: "integer" }, + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments" + }, + listDiscussionCommentsLegacy: { + deprecated: "octokit.teams.listDiscussionCommentsLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#list-comments-legacy", + method: "GET", + params: { + direction: { enum: ["asc", "desc"], type: "string" }, + discussion_number: { required: true, type: "integer" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number/comments" + }, + listDiscussions: { + deprecated: "octokit.teams.listDiscussions() has been renamed to octokit.teams.listDiscussionsLegacy() (2020-01-16)", + method: "GET", + params: { + direction: { enum: ["asc", "desc"], type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions" + }, + listDiscussionsInOrg: { + method: "GET", + params: { + direction: { enum: ["asc", "desc"], type: "string" }, + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions" + }, + listDiscussionsLegacy: { + deprecated: "octokit.teams.listDiscussionsLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#list-discussions-legacy", + method: "GET", + params: { + direction: { enum: ["asc", "desc"], type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions" + }, + listForAuthenticatedUser: { + method: "GET", + params: { page: { type: "integer" }, per_page: { type: "integer" } }, + url: "/user/teams" + }, + listMembers: { + deprecated: "octokit.teams.listMembers() has been renamed to octokit.teams.listMembersLegacy() (2020-01-16)", + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + role: { enum: ["member", "maintainer", "all"], type: "string" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/members" + }, + listMembersInOrg: { + method: "GET", + params: { + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + role: { enum: ["member", "maintainer", "all"], type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/members" + }, + listMembersLegacy: { + deprecated: "octokit.teams.listMembersLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#list-team-members-legacy", + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + role: { enum: ["member", "maintainer", "all"], type: "string" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/members" + }, + listPendingInvitations: { + deprecated: "octokit.teams.listPendingInvitations() has been renamed to octokit.teams.listPendingInvitationsLegacy() (2020-01-16)", + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/invitations" + }, + listPendingInvitationsInOrg: { + method: "GET", + params: { + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/invitations" + }, + listPendingInvitationsLegacy: { + deprecated: "octokit.teams.listPendingInvitationsLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#list-pending-team-invitations-legacy", + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/invitations" + }, + listProjects: { + deprecated: "octokit.teams.listProjects() has been renamed to octokit.teams.listProjectsLegacy() (2020-01-16)", + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/projects" + }, + listProjectsInOrg: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "GET", + params: { + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/projects" + }, + listProjectsLegacy: { + deprecated: "octokit.teams.listProjectsLegacy() is deprecated, see https://developer.github.com/v3/teams/#list-team-projects-legacy", + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/projects" + }, + listRepos: { + deprecated: "octokit.teams.listRepos() has been renamed to octokit.teams.listReposLegacy() (2020-01-16)", + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/repos" + }, + listReposInOrg: { + method: "GET", + params: { + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/repos" + }, + listReposLegacy: { + deprecated: "octokit.teams.listReposLegacy() is deprecated, see https://developer.github.com/v3/teams/#list-team-repos-legacy", + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/repos" + }, + removeMember: { + deprecated: "octokit.teams.removeMember() has been renamed to octokit.teams.removeMemberLegacy() (2020-01-16)", + method: "DELETE", + params: { + team_id: { required: true, type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/teams/:team_id/members/:username" + }, + removeMemberLegacy: { + deprecated: "octokit.teams.removeMemberLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#remove-team-member-legacy", + method: "DELETE", + params: { + team_id: { required: true, type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/teams/:team_id/members/:username" + }, + removeMembership: { + deprecated: "octokit.teams.removeMembership() has been renamed to octokit.teams.removeMembershipLegacy() (2020-01-16)", + method: "DELETE", + params: { + team_id: { required: true, type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/teams/:team_id/memberships/:username" + }, + removeMembershipInOrg: { + method: "DELETE", + params: { + org: { required: true, type: "string" }, + team_slug: { required: true, type: "string" }, + username: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/memberships/:username" + }, + removeMembershipLegacy: { + deprecated: "octokit.teams.removeMembershipLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#remove-team-membership-legacy", + method: "DELETE", + params: { + team_id: { required: true, type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/teams/:team_id/memberships/:username" + }, + removeProject: { + deprecated: "octokit.teams.removeProject() has been renamed to octokit.teams.removeProjectLegacy() (2020-01-16)", + method: "DELETE", + params: { + project_id: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/projects/:project_id" + }, + removeProjectInOrg: { + method: "DELETE", + params: { + org: { required: true, type: "string" }, + project_id: { required: true, type: "integer" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/projects/:project_id" + }, + removeProjectLegacy: { + deprecated: "octokit.teams.removeProjectLegacy() is deprecated, see https://developer.github.com/v3/teams/#remove-team-project-legacy", + method: "DELETE", + params: { + project_id: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/projects/:project_id" + }, + removeRepo: { + deprecated: "octokit.teams.removeRepo() has been renamed to octokit.teams.removeRepoLegacy() (2020-01-16)", + method: "DELETE", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/repos/:owner/:repo" + }, + removeRepoInOrg: { + method: "DELETE", + params: { + org: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/repos/:owner/:repo" + }, + removeRepoLegacy: { + deprecated: "octokit.teams.removeRepoLegacy() is deprecated, see https://developer.github.com/v3/teams/#remove-team-repository-legacy", + method: "DELETE", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/repos/:owner/:repo" + }, + reviewProject: { + deprecated: "octokit.teams.reviewProject() has been renamed to octokit.teams.reviewProjectLegacy() (2020-01-16)", + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "GET", + params: { + project_id: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/projects/:project_id" + }, + reviewProjectInOrg: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "GET", + params: { + org: { required: true, type: "string" }, + project_id: { required: true, type: "integer" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/projects/:project_id" + }, + reviewProjectLegacy: { + deprecated: "octokit.teams.reviewProjectLegacy() is deprecated, see https://developer.github.com/v3/teams/#review-a-team-project-legacy", + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "GET", + params: { + project_id: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/projects/:project_id" + }, + update: { + deprecated: "octokit.teams.update() has been renamed to octokit.teams.updateLegacy() (2020-01-16)", + method: "PATCH", + params: { + description: { type: "string" }, + name: { required: true, type: "string" }, + parent_team_id: { type: "integer" }, + permission: { enum: ["pull", "push", "admin"], type: "string" }, + privacy: { enum: ["secret", "closed"], type: "string" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id" + }, + updateDiscussion: { + deprecated: "octokit.teams.updateDiscussion() has been renamed to octokit.teams.updateDiscussionLegacy() (2020-01-16)", + method: "PATCH", + params: { + body: { type: "string" }, + discussion_number: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" }, + title: { type: "string" } + }, + url: "/teams/:team_id/discussions/:discussion_number" + }, + updateDiscussionComment: { + deprecated: "octokit.teams.updateDiscussionComment() has been renamed to octokit.teams.updateDiscussionCommentLegacy() (2020-01-16)", + method: "PATCH", + params: { + body: { required: true, type: "string" }, + comment_number: { required: true, type: "integer" }, + discussion_number: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number" + }, + updateDiscussionCommentInOrg: { + method: "PATCH", + params: { + body: { required: true, type: "string" }, + comment_number: { required: true, type: "integer" }, + discussion_number: { required: true, type: "integer" }, + org: { required: true, type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number" + }, + updateDiscussionCommentLegacy: { + deprecated: "octokit.teams.updateDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#edit-a-comment-legacy", + method: "PATCH", + params: { + body: { required: true, type: "string" }, + comment_number: { required: true, type: "integer" }, + discussion_number: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number" + }, + updateDiscussionInOrg: { + method: "PATCH", + params: { + body: { type: "string" }, + discussion_number: { required: true, type: "integer" }, + org: { required: true, type: "string" }, + team_slug: { required: true, type: "string" }, + title: { type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number" + }, + updateDiscussionLegacy: { + deprecated: "octokit.teams.updateDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#edit-a-discussion-legacy", + method: "PATCH", + params: { + body: { type: "string" }, + discussion_number: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" }, + title: { type: "string" } + }, + url: "/teams/:team_id/discussions/:discussion_number" + }, + updateInOrg: { + method: "PATCH", + params: { + description: { type: "string" }, + name: { required: true, type: "string" }, + org: { required: true, type: "string" }, + parent_team_id: { type: "integer" }, + permission: { enum: ["pull", "push", "admin"], type: "string" }, + privacy: { enum: ["secret", "closed"], type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug" + }, + updateLegacy: { + deprecated: "octokit.teams.updateLegacy() is deprecated, see https://developer.github.com/v3/teams/#edit-team-legacy", + method: "PATCH", + params: { + description: { type: "string" }, + name: { required: true, type: "string" }, + parent_team_id: { type: "integer" }, + permission: { enum: ["pull", "push", "admin"], type: "string" }, + privacy: { enum: ["secret", "closed"], type: "string" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id" + } + }, + users: { + addEmails: { + method: "POST", + params: { emails: { required: true, type: "string[]" } }, + url: "/user/emails" + }, + block: { + method: "PUT", + params: { username: { required: true, type: "string" } }, + url: "/user/blocks/:username" + }, + checkBlocked: { + method: "GET", + params: { username: { required: true, type: "string" } }, + url: "/user/blocks/:username" + }, + checkFollowing: { + method: "GET", + params: { username: { required: true, type: "string" } }, + url: "/user/following/:username" + }, + checkFollowingForUser: { + method: "GET", + params: { + target_user: { required: true, type: "string" }, + username: { required: true, type: "string" } + }, + url: "/users/:username/following/:target_user" + }, + createGpgKey: { + method: "POST", + params: { armored_public_key: { type: "string" } }, + url: "/user/gpg_keys" + }, + createPublicKey: { + method: "POST", + params: { key: { type: "string" }, title: { type: "string" } }, + url: "/user/keys" + }, + deleteEmails: { + method: "DELETE", + params: { emails: { required: true, type: "string[]" } }, + url: "/user/emails" + }, + deleteGpgKey: { + method: "DELETE", + params: { gpg_key_id: { required: true, type: "integer" } }, + url: "/user/gpg_keys/:gpg_key_id" + }, + deletePublicKey: { + method: "DELETE", + params: { key_id: { required: true, type: "integer" } }, + url: "/user/keys/:key_id" + }, + follow: { + method: "PUT", + params: { username: { required: true, type: "string" } }, + url: "/user/following/:username" + }, + getAuthenticated: { method: "GET", params: {}, url: "/user" }, + getByUsername: { + method: "GET", + params: { username: { required: true, type: "string" } }, + url: "/users/:username" + }, + getContextForUser: { + method: "GET", + params: { + subject_id: { type: "string" }, + subject_type: { + enum: ["organization", "repository", "issue", "pull_request"], + type: "string" + }, + username: { required: true, type: "string" } + }, + url: "/users/:username/hovercard" + }, + getGpgKey: { + method: "GET", + params: { gpg_key_id: { required: true, type: "integer" } }, + url: "/user/gpg_keys/:gpg_key_id" + }, + getPublicKey: { + method: "GET", + params: { key_id: { required: true, type: "integer" } }, + url: "/user/keys/:key_id" + }, + list: { + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + since: { type: "string" } + }, + url: "/users" + }, + listBlocked: { method: "GET", params: {}, url: "/user/blocks" }, + listEmails: { + method: "GET", + params: { page: { type: "integer" }, per_page: { type: "integer" } }, + url: "/user/emails" + }, + listFollowersForAuthenticatedUser: { + method: "GET", + params: { page: { type: "integer" }, per_page: { type: "integer" } }, + url: "/user/followers" + }, + listFollowersForUser: { + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/users/:username/followers" + }, + listFollowingForAuthenticatedUser: { + method: "GET", + params: { page: { type: "integer" }, per_page: { type: "integer" } }, + url: "/user/following" + }, + listFollowingForUser: { + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/users/:username/following" + }, + listGpgKeys: { + method: "GET", + params: { page: { type: "integer" }, per_page: { type: "integer" } }, + url: "/user/gpg_keys" + }, + listGpgKeysForUser: { + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/users/:username/gpg_keys" + }, + listPublicEmails: { + method: "GET", + params: { page: { type: "integer" }, per_page: { type: "integer" } }, + url: "/user/public_emails" + }, + listPublicKeys: { + method: "GET", + params: { page: { type: "integer" }, per_page: { type: "integer" } }, + url: "/user/keys" + }, + listPublicKeysForUser: { + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/users/:username/keys" + }, + togglePrimaryEmailVisibility: { + method: "PATCH", + params: { + email: { required: true, type: "string" }, + visibility: { required: true, type: "string" } + }, + url: "/user/email/visibility" + }, + unblock: { + method: "DELETE", + params: { username: { required: true, type: "string" } }, + url: "/user/blocks/:username" + }, + unfollow: { + method: "DELETE", + params: { username: { required: true, type: "string" } }, + url: "/user/following/:username" + }, + updateAuthenticated: { + method: "PATCH", + params: { + bio: { type: "string" }, + blog: { type: "string" }, + company: { type: "string" }, + email: { type: "string" }, + hireable: { type: "boolean" }, + location: { type: "string" }, + name: { type: "string" } + }, + url: "/user" + } + } +}; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/rest-endpoint-methods-types.js b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/rest-endpoint-methods-types.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/index.js b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/index.js new file mode 100644 index 0000000..e442767 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/index.js @@ -0,0 +1,38 @@ +import { Deprecation } from "deprecation"; +import endpointsByScope from "./generated/endpoints"; +import { VERSION } from "./version"; +import { registerEndpoints } from "./register-endpoints"; +/** + * This plugin is a 1:1 copy of internal @octokit/rest plugins. The primary + * goal is to rebuild @octokit/rest on top of @octokit/core. Once that is + * done, we will remove the registerEndpoints methods and return the methods + * directly as with the other plugins. At that point we will also remove the + * legacy workarounds and deprecations. + * + * See the plan at + * https://github.com/octokit/plugin-rest-endpoint-methods.js/pull/1 + */ +export function restEndpointMethods(octokit) { + // @ts-ignore + octokit.registerEndpoints = registerEndpoints.bind(null, octokit); + registerEndpoints(octokit, endpointsByScope); + // Aliasing scopes for backward compatibility + // See https://github.com/octokit/rest.js/pull/1134 + [ + ["gitdata", "git"], + ["authorization", "oauthAuthorizations"], + ["pullRequests", "pulls"] + ].forEach(([deprecatedScope, scope]) => { + Object.defineProperty(octokit, deprecatedScope, { + get() { + octokit.log.warn( + // @ts-ignore + new Deprecation(`[@octokit/plugin-rest-endpoint-methods] "octokit.${deprecatedScope}.*" methods are deprecated, use "octokit.${scope}.*" instead`)); + // @ts-ignore + return octokit[scope]; + } + }); + }); + return {}; +} +restEndpointMethods.VERSION = VERSION; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/register-endpoints.js b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/register-endpoints.js new file mode 100644 index 0000000..7b0b3c2 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/register-endpoints.js @@ -0,0 +1,60 @@ +import { Deprecation } from "deprecation"; +export function registerEndpoints(octokit, routes) { + Object.keys(routes).forEach(namespaceName => { + if (!octokit[namespaceName]) { + octokit[namespaceName] = {}; + } + Object.keys(routes[namespaceName]).forEach(apiName => { + const apiOptions = routes[namespaceName][apiName]; + const endpointDefaults = ["method", "url", "headers"].reduce((map, key) => { + if (typeof apiOptions[key] !== "undefined") { + map[key] = apiOptions[key]; + } + return map; + }, {}); + endpointDefaults.request = { + validate: apiOptions.params + }; + let request = octokit.request.defaults(endpointDefaults); + // patch request & endpoint methods to support deprecated parameters. + // Not the most elegant solution, but we don’t want to move deprecation + // logic into octokit/endpoint.js as it’s out of scope + const hasDeprecatedParam = Object.keys(apiOptions.params || {}).find(key => apiOptions.params[key].deprecated); + if (hasDeprecatedParam) { + const patch = patchForDeprecation.bind(null, octokit, apiOptions); + request = patch(octokit.request.defaults(endpointDefaults), `.${namespaceName}.${apiName}()`); + request.endpoint = patch(request.endpoint, `.${namespaceName}.${apiName}.endpoint()`); + request.endpoint.merge = patch(request.endpoint.merge, `.${namespaceName}.${apiName}.endpoint.merge()`); + } + if (apiOptions.deprecated) { + octokit[namespaceName][apiName] = Object.assign(function deprecatedEndpointMethod() { + octokit.log.warn(new Deprecation(`[@octokit/rest] ${apiOptions.deprecated}`)); + octokit[namespaceName][apiName] = request; + return request.apply(null, arguments); + }, request); + return; + } + octokit[namespaceName][apiName] = request; + }); + }); +} +function patchForDeprecation(octokit, apiOptions, method, methodName) { + const patchedMethod = (options) => { + options = Object.assign({}, options); + Object.keys(options).forEach(key => { + if (apiOptions.params[key] && apiOptions.params[key].deprecated) { + const aliasKey = apiOptions.params[key].alias; + octokit.log.warn(new Deprecation(`[@octokit/rest] "${key}" parameter is deprecated for "${methodName}". Use "${aliasKey}" instead`)); + if (!(aliasKey in options)) { + options[aliasKey] = options[key]; + } + delete options[key]; + } + }); + return method(options); + }; + Object.keys(method).forEach(key => { + patchedMethod[key] = method[key]; + }); + return patchedMethod; +} diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/types.js b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/types.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js new file mode 100644 index 0000000..48b74ba --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js @@ -0,0 +1 @@ +export const VERSION = "2.4.0"; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/endpoints.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/endpoints.d.ts new file mode 100644 index 0000000..528dd6e --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/endpoints.d.ts @@ -0,0 +1,13085 @@ +declare const _default: { + actions: { + cancelWorkflowRun: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + run_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createOrUpdateSecretForRepo: { + method: string; + params: { + encrypted_value: { + type: string; + }; + key_id: { + type: string; + }; + name: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createRegistrationToken: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createRemoveToken: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteArtifact: { + method: string; + params: { + artifact_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteSecretFromRepo: { + method: string; + params: { + name: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + downloadArtifact: { + method: string; + params: { + archive_format: { + required: boolean; + type: string; + }; + artifact_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getArtifact: { + method: string; + params: { + artifact_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getPublicKey: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getSecret: { + method: string; + params: { + name: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getSelfHostedRunner: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + runner_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getWorkflow: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + workflow_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getWorkflowJob: { + method: string; + params: { + job_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getWorkflowRun: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + run_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listDownloadsForSelfHostedRunnerApplication: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listJobsForWorkflowRun: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + run_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listRepoWorkflowRuns: { + method: string; + params: { + actor: { + type: string; + }; + branch: { + type: string; + }; + event: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + status: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + listRepoWorkflows: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listSecretsForRepo: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listSelfHostedRunnersForRepo: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listWorkflowJobLogs: { + method: string; + params: { + job_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listWorkflowRunArtifacts: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + run_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listWorkflowRunLogs: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + run_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listWorkflowRuns: { + method: string; + params: { + actor: { + type: string; + }; + branch: { + type: string; + }; + event: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + status: { + enum: string[]; + type: string; + }; + workflow_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + reRunWorkflow: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + run_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeSelfHostedRunner: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + runner_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + }; + activity: { + checkStarringRepo: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteRepoSubscription: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteThreadSubscription: { + method: string; + params: { + thread_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getRepoSubscription: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getThread: { + method: string; + params: { + thread_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getThreadSubscription: { + method: string; + params: { + thread_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listEventsForOrg: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listEventsForUser: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listFeeds: { + method: string; + params: {}; + url: string; + }; + listNotifications: { + method: string; + params: { + all: { + type: string; + }; + before: { + type: string; + }; + page: { + type: string; + }; + participating: { + type: string; + }; + per_page: { + type: string; + }; + since: { + type: string; + }; + }; + url: string; + }; + listNotificationsForRepo: { + method: string; + params: { + all: { + type: string; + }; + before: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + participating: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + since: { + type: string; + }; + }; + url: string; + }; + listPublicEvents: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listPublicEventsForOrg: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listPublicEventsForRepoNetwork: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listPublicEventsForUser: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listReceivedEventsForUser: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listReceivedPublicEventsForUser: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listRepoEvents: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listReposStarredByAuthenticatedUser: { + method: string; + params: { + direction: { + enum: string[]; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + sort: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + listReposStarredByUser: { + method: string; + params: { + direction: { + enum: string[]; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + sort: { + enum: string[]; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listReposWatchedByUser: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listStargazersForRepo: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listWatchedReposForAuthenticatedUser: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listWatchersForRepo: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + markAsRead: { + method: string; + params: { + last_read_at: { + type: string; + }; + }; + url: string; + }; + markNotificationsAsReadForRepo: { + method: string; + params: { + last_read_at: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + markThreadAsRead: { + method: string; + params: { + thread_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + setRepoSubscription: { + method: string; + params: { + ignored: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + subscribed: { + type: string; + }; + }; + url: string; + }; + setThreadSubscription: { + method: string; + params: { + ignored: { + type: string; + }; + thread_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + starRepo: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + unstarRepo: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + }; + apps: { + addRepoToInstallation: { + headers: { + accept: string; + }; + method: string; + params: { + installation_id: { + required: boolean; + type: string; + }; + repository_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + checkAccountIsAssociatedWithAny: { + method: string; + params: { + account_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + checkAccountIsAssociatedWithAnyStubbed: { + method: string; + params: { + account_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + checkAuthorization: { + deprecated: string; + method: string; + params: { + access_token: { + required: boolean; + type: string; + }; + client_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + checkToken: { + headers: { + accept: string; + }; + method: string; + params: { + access_token: { + type: string; + }; + client_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createContentAttachment: { + headers: { + accept: string; + }; + method: string; + params: { + body: { + required: boolean; + type: string; + }; + content_reference_id: { + required: boolean; + type: string; + }; + title: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createFromManifest: { + headers: { + accept: string; + }; + method: string; + params: { + code: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createInstallationToken: { + headers: { + accept: string; + }; + method: string; + params: { + installation_id: { + required: boolean; + type: string; + }; + permissions: { + type: string; + }; + repository_ids: { + type: string; + }; + }; + url: string; + }; + deleteAuthorization: { + headers: { + accept: string; + }; + method: string; + params: { + access_token: { + type: string; + }; + client_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteInstallation: { + headers: { + accept: string; + }; + method: string; + params: { + installation_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteToken: { + headers: { + accept: string; + }; + method: string; + params: { + access_token: { + type: string; + }; + client_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + findOrgInstallation: { + deprecated: string; + headers: { + accept: string; + }; + method: string; + params: { + org: { + required: boolean; + type: string; + }; + }; + url: string; + }; + findRepoInstallation: { + deprecated: string; + headers: { + accept: string; + }; + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + findUserInstallation: { + deprecated: string; + headers: { + accept: string; + }; + method: string; + params: { + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getAuthenticated: { + headers: { + accept: string; + }; + method: string; + params: {}; + url: string; + }; + getBySlug: { + headers: { + accept: string; + }; + method: string; + params: { + app_slug: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getInstallation: { + headers: { + accept: string; + }; + method: string; + params: { + installation_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getOrgInstallation: { + headers: { + accept: string; + }; + method: string; + params: { + org: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getRepoInstallation: { + headers: { + accept: string; + }; + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getUserInstallation: { + headers: { + accept: string; + }; + method: string; + params: { + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listAccountsUserOrOrgOnPlan: { + method: string; + params: { + direction: { + enum: string[]; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + plan_id: { + required: boolean; + type: string; + }; + sort: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + listAccountsUserOrOrgOnPlanStubbed: { + method: string; + params: { + direction: { + enum: string[]; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + plan_id: { + required: boolean; + type: string; + }; + sort: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + listInstallationReposForAuthenticatedUser: { + headers: { + accept: string; + }; + method: string; + params: { + installation_id: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listInstallations: { + headers: { + accept: string; + }; + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listInstallationsForAuthenticatedUser: { + headers: { + accept: string; + }; + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listMarketplacePurchasesForAuthenticatedUser: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listMarketplacePurchasesForAuthenticatedUserStubbed: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listPlans: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listPlansStubbed: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listRepos: { + headers: { + accept: string; + }; + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + removeRepoFromInstallation: { + headers: { + accept: string; + }; + method: string; + params: { + installation_id: { + required: boolean; + type: string; + }; + repository_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + resetAuthorization: { + deprecated: string; + method: string; + params: { + access_token: { + required: boolean; + type: string; + }; + client_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + resetToken: { + headers: { + accept: string; + }; + method: string; + params: { + access_token: { + type: string; + }; + client_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + revokeAuthorizationForApplication: { + deprecated: string; + method: string; + params: { + access_token: { + required: boolean; + type: string; + }; + client_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + revokeGrantForApplication: { + deprecated: string; + method: string; + params: { + access_token: { + required: boolean; + type: string; + }; + client_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + revokeInstallationToken: { + headers: { + accept: string; + }; + method: string; + params: {}; + url: string; + }; + }; + checks: { + create: { + headers: { + accept: string; + }; + method: string; + params: { + actions: { + type: string; + }; + "actions[].description": { + required: boolean; + type: string; + }; + "actions[].identifier": { + required: boolean; + type: string; + }; + "actions[].label": { + required: boolean; + type: string; + }; + completed_at: { + type: string; + }; + conclusion: { + enum: string[]; + type: string; + }; + details_url: { + type: string; + }; + external_id: { + type: string; + }; + head_sha: { + required: boolean; + type: string; + }; + name: { + required: boolean; + type: string; + }; + output: { + type: string; + }; + "output.annotations": { + type: string; + }; + "output.annotations[].annotation_level": { + enum: string[]; + required: boolean; + type: string; + }; + "output.annotations[].end_column": { + type: string; + }; + "output.annotations[].end_line": { + required: boolean; + type: string; + }; + "output.annotations[].message": { + required: boolean; + type: string; + }; + "output.annotations[].path": { + required: boolean; + type: string; + }; + "output.annotations[].raw_details": { + type: string; + }; + "output.annotations[].start_column": { + type: string; + }; + "output.annotations[].start_line": { + required: boolean; + type: string; + }; + "output.annotations[].title": { + type: string; + }; + "output.images": { + type: string; + }; + "output.images[].alt": { + required: boolean; + type: string; + }; + "output.images[].caption": { + type: string; + }; + "output.images[].image_url": { + required: boolean; + type: string; + }; + "output.summary": { + required: boolean; + type: string; + }; + "output.text": { + type: string; + }; + "output.title": { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + started_at: { + type: string; + }; + status: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + createSuite: { + headers: { + accept: string; + }; + method: string; + params: { + head_sha: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + get: { + headers: { + accept: string; + }; + method: string; + params: { + check_run_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getSuite: { + headers: { + accept: string; + }; + method: string; + params: { + check_suite_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listAnnotations: { + headers: { + accept: string; + }; + method: string; + params: { + check_run_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listForRef: { + headers: { + accept: string; + }; + method: string; + params: { + check_name: { + type: string; + }; + filter: { + enum: string[]; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + ref: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + status: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + listForSuite: { + headers: { + accept: string; + }; + method: string; + params: { + check_name: { + type: string; + }; + check_suite_id: { + required: boolean; + type: string; + }; + filter: { + enum: string[]; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + status: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + listSuitesForRef: { + headers: { + accept: string; + }; + method: string; + params: { + app_id: { + type: string; + }; + check_name: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + ref: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + rerequestSuite: { + headers: { + accept: string; + }; + method: string; + params: { + check_suite_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + setSuitesPreferences: { + headers: { + accept: string; + }; + method: string; + params: { + auto_trigger_checks: { + type: string; + }; + "auto_trigger_checks[].app_id": { + required: boolean; + type: string; + }; + "auto_trigger_checks[].setting": { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + update: { + headers: { + accept: string; + }; + method: string; + params: { + actions: { + type: string; + }; + "actions[].description": { + required: boolean; + type: string; + }; + "actions[].identifier": { + required: boolean; + type: string; + }; + "actions[].label": { + required: boolean; + type: string; + }; + check_run_id: { + required: boolean; + type: string; + }; + completed_at: { + type: string; + }; + conclusion: { + enum: string[]; + type: string; + }; + details_url: { + type: string; + }; + external_id: { + type: string; + }; + name: { + type: string; + }; + output: { + type: string; + }; + "output.annotations": { + type: string; + }; + "output.annotations[].annotation_level": { + enum: string[]; + required: boolean; + type: string; + }; + "output.annotations[].end_column": { + type: string; + }; + "output.annotations[].end_line": { + required: boolean; + type: string; + }; + "output.annotations[].message": { + required: boolean; + type: string; + }; + "output.annotations[].path": { + required: boolean; + type: string; + }; + "output.annotations[].raw_details": { + type: string; + }; + "output.annotations[].start_column": { + type: string; + }; + "output.annotations[].start_line": { + required: boolean; + type: string; + }; + "output.annotations[].title": { + type: string; + }; + "output.images": { + type: string; + }; + "output.images[].alt": { + required: boolean; + type: string; + }; + "output.images[].caption": { + type: string; + }; + "output.images[].image_url": { + required: boolean; + type: string; + }; + "output.summary": { + required: boolean; + type: string; + }; + "output.text": { + type: string; + }; + "output.title": { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + started_at: { + type: string; + }; + status: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + }; + codesOfConduct: { + getConductCode: { + headers: { + accept: string; + }; + method: string; + params: { + key: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getForRepo: { + headers: { + accept: string; + }; + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listConductCodes: { + headers: { + accept: string; + }; + method: string; + params: {}; + url: string; + }; + }; + emojis: { + get: { + method: string; + params: {}; + url: string; + }; + }; + gists: { + checkIsStarred: { + method: string; + params: { + gist_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + create: { + method: string; + params: { + description: { + type: string; + }; + files: { + required: boolean; + type: string; + }; + "files.content": { + type: string; + }; + public: { + type: string; + }; + }; + url: string; + }; + createComment: { + method: string; + params: { + body: { + required: boolean; + type: string; + }; + gist_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + delete: { + method: string; + params: { + gist_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteComment: { + method: string; + params: { + comment_id: { + required: boolean; + type: string; + }; + gist_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + fork: { + method: string; + params: { + gist_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + get: { + method: string; + params: { + gist_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getComment: { + method: string; + params: { + comment_id: { + required: boolean; + type: string; + }; + gist_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getRevision: { + method: string; + params: { + gist_id: { + required: boolean; + type: string; + }; + sha: { + required: boolean; + type: string; + }; + }; + url: string; + }; + list: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + since: { + type: string; + }; + }; + url: string; + }; + listComments: { + method: string; + params: { + gist_id: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listCommits: { + method: string; + params: { + gist_id: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listForks: { + method: string; + params: { + gist_id: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listPublic: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + since: { + type: string; + }; + }; + url: string; + }; + listPublicForUser: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + since: { + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listStarred: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + since: { + type: string; + }; + }; + url: string; + }; + star: { + method: string; + params: { + gist_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + unstar: { + method: string; + params: { + gist_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + update: { + method: string; + params: { + description: { + type: string; + }; + files: { + type: string; + }; + "files.content": { + type: string; + }; + "files.filename": { + type: string; + }; + gist_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + updateComment: { + method: string; + params: { + body: { + required: boolean; + type: string; + }; + comment_id: { + required: boolean; + type: string; + }; + gist_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + }; + git: { + createBlob: { + method: string; + params: { + content: { + required: boolean; + type: string; + }; + encoding: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createCommit: { + method: string; + params: { + author: { + type: string; + }; + "author.date": { + type: string; + }; + "author.email": { + type: string; + }; + "author.name": { + type: string; + }; + committer: { + type: string; + }; + "committer.date": { + type: string; + }; + "committer.email": { + type: string; + }; + "committer.name": { + type: string; + }; + message: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + parents: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + signature: { + type: string; + }; + tree: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createRef: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + ref: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + sha: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createTag: { + method: string; + params: { + message: { + required: boolean; + type: string; + }; + object: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + tag: { + required: boolean; + type: string; + }; + tagger: { + type: string; + }; + "tagger.date": { + type: string; + }; + "tagger.email": { + type: string; + }; + "tagger.name": { + type: string; + }; + type: { + enum: string[]; + required: boolean; + type: string; + }; + }; + url: string; + }; + createTree: { + method: string; + params: { + base_tree: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + tree: { + required: boolean; + type: string; + }; + "tree[].content": { + type: string; + }; + "tree[].mode": { + enum: string[]; + type: string; + }; + "tree[].path": { + type: string; + }; + "tree[].sha": { + allowNull: boolean; + type: string; + }; + "tree[].type": { + enum: string[]; + type: string; + }; + }; + url: string; + }; + deleteRef: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + ref: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getBlob: { + method: string; + params: { + file_sha: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getCommit: { + method: string; + params: { + commit_sha: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getRef: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + ref: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getTag: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + tag_sha: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getTree: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + recursive: { + enum: string[]; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + tree_sha: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listMatchingRefs: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + ref: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listRefs: { + method: string; + params: { + namespace: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + updateRef: { + method: string; + params: { + force: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + ref: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + sha: { + required: boolean; + type: string; + }; + }; + url: string; + }; + }; + gitignore: { + getTemplate: { + method: string; + params: { + name: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listTemplates: { + method: string; + params: {}; + url: string; + }; + }; + interactions: { + addOrUpdateRestrictionsForOrg: { + headers: { + accept: string; + }; + method: string; + params: { + limit: { + enum: string[]; + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + }; + url: string; + }; + addOrUpdateRestrictionsForRepo: { + headers: { + accept: string; + }; + method: string; + params: { + limit: { + enum: string[]; + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getRestrictionsForOrg: { + headers: { + accept: string; + }; + method: string; + params: { + org: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getRestrictionsForRepo: { + headers: { + accept: string; + }; + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeRestrictionsForOrg: { + headers: { + accept: string; + }; + method: string; + params: { + org: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeRestrictionsForRepo: { + headers: { + accept: string; + }; + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + }; + issues: { + addAssignees: { + method: string; + params: { + assignees: { + type: string; + }; + issue_number: { + required: boolean; + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + addLabels: { + method: string; + params: { + issue_number: { + required: boolean; + type: string; + }; + labels: { + required: boolean; + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + checkAssignee: { + method: string; + params: { + assignee: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + create: { + method: string; + params: { + assignee: { + type: string; + }; + assignees: { + type: string; + }; + body: { + type: string; + }; + labels: { + type: string; + }; + milestone: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + title: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createComment: { + method: string; + params: { + body: { + required: boolean; + type: string; + }; + issue_number: { + required: boolean; + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createLabel: { + method: string; + params: { + color: { + required: boolean; + type: string; + }; + description: { + type: string; + }; + name: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createMilestone: { + method: string; + params: { + description: { + type: string; + }; + due_on: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + state: { + enum: string[]; + type: string; + }; + title: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteComment: { + method: string; + params: { + comment_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteLabel: { + method: string; + params: { + name: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteMilestone: { + method: string; + params: { + milestone_number: { + required: boolean; + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + get: { + method: string; + params: { + issue_number: { + required: boolean; + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getComment: { + method: string; + params: { + comment_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getEvent: { + method: string; + params: { + event_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getLabel: { + method: string; + params: { + name: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getMilestone: { + method: string; + params: { + milestone_number: { + required: boolean; + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + list: { + method: string; + params: { + direction: { + enum: string[]; + type: string; + }; + filter: { + enum: string[]; + type: string; + }; + labels: { + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + since: { + type: string; + }; + sort: { + enum: string[]; + type: string; + }; + state: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + listAssignees: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listComments: { + method: string; + params: { + issue_number: { + required: boolean; + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + since: { + type: string; + }; + }; + url: string; + }; + listCommentsForRepo: { + method: string; + params: { + direction: { + enum: string[]; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + since: { + type: string; + }; + sort: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + listEvents: { + method: string; + params: { + issue_number: { + required: boolean; + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listEventsForRepo: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listEventsForTimeline: { + headers: { + accept: string; + }; + method: string; + params: { + issue_number: { + required: boolean; + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listForAuthenticatedUser: { + method: string; + params: { + direction: { + enum: string[]; + type: string; + }; + filter: { + enum: string[]; + type: string; + }; + labels: { + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + since: { + type: string; + }; + sort: { + enum: string[]; + type: string; + }; + state: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + listForOrg: { + method: string; + params: { + direction: { + enum: string[]; + type: string; + }; + filter: { + enum: string[]; + type: string; + }; + labels: { + type: string; + }; + org: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + since: { + type: string; + }; + sort: { + enum: string[]; + type: string; + }; + state: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + listForRepo: { + method: string; + params: { + assignee: { + type: string; + }; + creator: { + type: string; + }; + direction: { + enum: string[]; + type: string; + }; + labels: { + type: string; + }; + mentioned: { + type: string; + }; + milestone: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + since: { + type: string; + }; + sort: { + enum: string[]; + type: string; + }; + state: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + listLabelsForMilestone: { + method: string; + params: { + milestone_number: { + required: boolean; + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listLabelsForRepo: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listLabelsOnIssue: { + method: string; + params: { + issue_number: { + required: boolean; + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listMilestonesForRepo: { + method: string; + params: { + direction: { + enum: string[]; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + sort: { + enum: string[]; + type: string; + }; + state: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + lock: { + method: string; + params: { + issue_number: { + required: boolean; + type: string; + }; + lock_reason: { + enum: string[]; + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeAssignees: { + method: string; + params: { + assignees: { + type: string; + }; + issue_number: { + required: boolean; + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeLabel: { + method: string; + params: { + issue_number: { + required: boolean; + type: string; + }; + name: { + required: boolean; + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeLabels: { + method: string; + params: { + issue_number: { + required: boolean; + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + replaceLabels: { + method: string; + params: { + issue_number: { + required: boolean; + type: string; + }; + labels: { + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + unlock: { + method: string; + params: { + issue_number: { + required: boolean; + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + update: { + method: string; + params: { + assignee: { + type: string; + }; + assignees: { + type: string; + }; + body: { + type: string; + }; + issue_number: { + required: boolean; + type: string; + }; + labels: { + type: string; + }; + milestone: { + allowNull: boolean; + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + state: { + enum: string[]; + type: string; + }; + title: { + type: string; + }; + }; + url: string; + }; + updateComment: { + method: string; + params: { + body: { + required: boolean; + type: string; + }; + comment_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + updateLabel: { + method: string; + params: { + color: { + type: string; + }; + current_name: { + required: boolean; + type: string; + }; + description: { + type: string; + }; + name: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + updateMilestone: { + method: string; + params: { + description: { + type: string; + }; + due_on: { + type: string; + }; + milestone_number: { + required: boolean; + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + state: { + enum: string[]; + type: string; + }; + title: { + type: string; + }; + }; + url: string; + }; + }; + licenses: { + get: { + method: string; + params: { + license: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getForRepo: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + list: { + deprecated: string; + method: string; + params: {}; + url: string; + }; + listCommonlyUsed: { + method: string; + params: {}; + url: string; + }; + }; + markdown: { + render: { + method: string; + params: { + context: { + type: string; + }; + mode: { + enum: string[]; + type: string; + }; + text: { + required: boolean; + type: string; + }; + }; + url: string; + }; + renderRaw: { + headers: { + "content-type": string; + }; + method: string; + params: { + data: { + mapTo: string; + required: boolean; + type: string; + }; + }; + url: string; + }; + }; + meta: { + get: { + method: string; + params: {}; + url: string; + }; + }; + migrations: { + cancelImport: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteArchiveForAuthenticatedUser: { + headers: { + accept: string; + }; + method: string; + params: { + migration_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteArchiveForOrg: { + headers: { + accept: string; + }; + method: string; + params: { + migration_id: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + }; + url: string; + }; + downloadArchiveForOrg: { + headers: { + accept: string; + }; + method: string; + params: { + migration_id: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getArchiveForAuthenticatedUser: { + headers: { + accept: string; + }; + method: string; + params: { + migration_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getArchiveForOrg: { + deprecated: string; + headers: { + accept: string; + }; + method: string; + params: { + migration_id: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getCommitAuthors: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + since: { + type: string; + }; + }; + url: string; + }; + getImportProgress: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getLargeFiles: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getStatusForAuthenticatedUser: { + headers: { + accept: string; + }; + method: string; + params: { + migration_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getStatusForOrg: { + headers: { + accept: string; + }; + method: string; + params: { + migration_id: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listForAuthenticatedUser: { + headers: { + accept: string; + }; + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listForOrg: { + headers: { + accept: string; + }; + method: string; + params: { + org: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listReposForOrg: { + headers: { + accept: string; + }; + method: string; + params: { + migration_id: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listReposForUser: { + headers: { + accept: string; + }; + method: string; + params: { + migration_id: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + mapCommitAuthor: { + method: string; + params: { + author_id: { + required: boolean; + type: string; + }; + email: { + type: string; + }; + name: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + setLfsPreference: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + use_lfs: { + enum: string[]; + required: boolean; + type: string; + }; + }; + url: string; + }; + startForAuthenticatedUser: { + method: string; + params: { + exclude_attachments: { + type: string; + }; + lock_repositories: { + type: string; + }; + repositories: { + required: boolean; + type: string; + }; + }; + url: string; + }; + startForOrg: { + method: string; + params: { + exclude_attachments: { + type: string; + }; + lock_repositories: { + type: string; + }; + org: { + required: boolean; + type: string; + }; + repositories: { + required: boolean; + type: string; + }; + }; + url: string; + }; + startImport: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + tfvc_project: { + type: string; + }; + vcs: { + enum: string[]; + type: string; + }; + vcs_password: { + type: string; + }; + vcs_url: { + required: boolean; + type: string; + }; + vcs_username: { + type: string; + }; + }; + url: string; + }; + unlockRepoForAuthenticatedUser: { + headers: { + accept: string; + }; + method: string; + params: { + migration_id: { + required: boolean; + type: string; + }; + repo_name: { + required: boolean; + type: string; + }; + }; + url: string; + }; + unlockRepoForOrg: { + headers: { + accept: string; + }; + method: string; + params: { + migration_id: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + repo_name: { + required: boolean; + type: string; + }; + }; + url: string; + }; + updateImport: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + vcs_password: { + type: string; + }; + vcs_username: { + type: string; + }; + }; + url: string; + }; + }; + oauthAuthorizations: { + checkAuthorization: { + deprecated: string; + method: string; + params: { + access_token: { + required: boolean; + type: string; + }; + client_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createAuthorization: { + deprecated: string; + method: string; + params: { + client_id: { + type: string; + }; + client_secret: { + type: string; + }; + fingerprint: { + type: string; + }; + note: { + required: boolean; + type: string; + }; + note_url: { + type: string; + }; + scopes: { + type: string; + }; + }; + url: string; + }; + deleteAuthorization: { + deprecated: string; + method: string; + params: { + authorization_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteGrant: { + deprecated: string; + method: string; + params: { + grant_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getAuthorization: { + deprecated: string; + method: string; + params: { + authorization_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getGrant: { + deprecated: string; + method: string; + params: { + grant_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getOrCreateAuthorizationForApp: { + deprecated: string; + method: string; + params: { + client_id: { + required: boolean; + type: string; + }; + client_secret: { + required: boolean; + type: string; + }; + fingerprint: { + type: string; + }; + note: { + type: string; + }; + note_url: { + type: string; + }; + scopes: { + type: string; + }; + }; + url: string; + }; + getOrCreateAuthorizationForAppAndFingerprint: { + deprecated: string; + method: string; + params: { + client_id: { + required: boolean; + type: string; + }; + client_secret: { + required: boolean; + type: string; + }; + fingerprint: { + required: boolean; + type: string; + }; + note: { + type: string; + }; + note_url: { + type: string; + }; + scopes: { + type: string; + }; + }; + url: string; + }; + getOrCreateAuthorizationForAppFingerprint: { + deprecated: string; + method: string; + params: { + client_id: { + required: boolean; + type: string; + }; + client_secret: { + required: boolean; + type: string; + }; + fingerprint: { + required: boolean; + type: string; + }; + note: { + type: string; + }; + note_url: { + type: string; + }; + scopes: { + type: string; + }; + }; + url: string; + }; + listAuthorizations: { + deprecated: string; + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listGrants: { + deprecated: string; + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + resetAuthorization: { + deprecated: string; + method: string; + params: { + access_token: { + required: boolean; + type: string; + }; + client_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + revokeAuthorizationForApplication: { + deprecated: string; + method: string; + params: { + access_token: { + required: boolean; + type: string; + }; + client_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + revokeGrantForApplication: { + deprecated: string; + method: string; + params: { + access_token: { + required: boolean; + type: string; + }; + client_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + updateAuthorization: { + deprecated: string; + method: string; + params: { + add_scopes: { + type: string; + }; + authorization_id: { + required: boolean; + type: string; + }; + fingerprint: { + type: string; + }; + note: { + type: string; + }; + note_url: { + type: string; + }; + remove_scopes: { + type: string; + }; + scopes: { + type: string; + }; + }; + url: string; + }; + }; + orgs: { + addOrUpdateMembership: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + role: { + enum: string[]; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + blockUser: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + checkBlockedUser: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + checkMembership: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + checkPublicMembership: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + concealMembership: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + convertMemberToOutsideCollaborator: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createHook: { + method: string; + params: { + active: { + type: string; + }; + config: { + required: boolean; + type: string; + }; + "config.content_type": { + type: string; + }; + "config.insecure_ssl": { + type: string; + }; + "config.secret": { + type: string; + }; + "config.url": { + required: boolean; + type: string; + }; + events: { + type: string; + }; + name: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createInvitation: { + method: string; + params: { + email: { + type: string; + }; + invitee_id: { + type: string; + }; + org: { + required: boolean; + type: string; + }; + role: { + enum: string[]; + type: string; + }; + team_ids: { + type: string; + }; + }; + url: string; + }; + deleteHook: { + method: string; + params: { + hook_id: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + }; + url: string; + }; + get: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getHook: { + method: string; + params: { + hook_id: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getMembership: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getMembershipForAuthenticatedUser: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + }; + url: string; + }; + list: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + since: { + type: string; + }; + }; + url: string; + }; + listBlockedUsers: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listForAuthenticatedUser: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listForUser: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listHooks: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listInstallations: { + headers: { + accept: string; + }; + method: string; + params: { + org: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listInvitationTeams: { + method: string; + params: { + invitation_id: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listMembers: { + method: string; + params: { + filter: { + enum: string[]; + type: string; + }; + org: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + role: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + listMemberships: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + state: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + listOutsideCollaborators: { + method: string; + params: { + filter: { + enum: string[]; + type: string; + }; + org: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listPendingInvitations: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listPublicMembers: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + pingHook: { + method: string; + params: { + hook_id: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + }; + url: string; + }; + publicizeMembership: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeMember: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeMembership: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeOutsideCollaborator: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + unblockUser: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + update: { + method: string; + params: { + billing_email: { + type: string; + }; + company: { + type: string; + }; + default_repository_permission: { + enum: string[]; + type: string; + }; + description: { + type: string; + }; + email: { + type: string; + }; + has_organization_projects: { + type: string; + }; + has_repository_projects: { + type: string; + }; + location: { + type: string; + }; + members_allowed_repository_creation_type: { + enum: string[]; + type: string; + }; + members_can_create_internal_repositories: { + type: string; + }; + members_can_create_private_repositories: { + type: string; + }; + members_can_create_public_repositories: { + type: string; + }; + members_can_create_repositories: { + type: string; + }; + name: { + type: string; + }; + org: { + required: boolean; + type: string; + }; + }; + url: string; + }; + updateHook: { + method: string; + params: { + active: { + type: string; + }; + config: { + type: string; + }; + "config.content_type": { + type: string; + }; + "config.insecure_ssl": { + type: string; + }; + "config.secret": { + type: string; + }; + "config.url": { + required: boolean; + type: string; + }; + events: { + type: string; + }; + hook_id: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + }; + url: string; + }; + updateMembership: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + state: { + enum: string[]; + required: boolean; + type: string; + }; + }; + url: string; + }; + }; + projects: { + addCollaborator: { + headers: { + accept: string; + }; + method: string; + params: { + permission: { + enum: string[]; + type: string; + }; + project_id: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createCard: { + headers: { + accept: string; + }; + method: string; + params: { + column_id: { + required: boolean; + type: string; + }; + content_id: { + type: string; + }; + content_type: { + type: string; + }; + note: { + type: string; + }; + }; + url: string; + }; + createColumn: { + headers: { + accept: string; + }; + method: string; + params: { + name: { + required: boolean; + type: string; + }; + project_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createForAuthenticatedUser: { + headers: { + accept: string; + }; + method: string; + params: { + body: { + type: string; + }; + name: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createForOrg: { + headers: { + accept: string; + }; + method: string; + params: { + body: { + type: string; + }; + name: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createForRepo: { + headers: { + accept: string; + }; + method: string; + params: { + body: { + type: string; + }; + name: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + delete: { + headers: { + accept: string; + }; + method: string; + params: { + project_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteCard: { + headers: { + accept: string; + }; + method: string; + params: { + card_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteColumn: { + headers: { + accept: string; + }; + method: string; + params: { + column_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + get: { + headers: { + accept: string; + }; + method: string; + params: { + project_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getCard: { + headers: { + accept: string; + }; + method: string; + params: { + card_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getColumn: { + headers: { + accept: string; + }; + method: string; + params: { + column_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listCards: { + headers: { + accept: string; + }; + method: string; + params: { + archived_state: { + enum: string[]; + type: string; + }; + column_id: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listCollaborators: { + headers: { + accept: string; + }; + method: string; + params: { + affiliation: { + enum: string[]; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + project_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listColumns: { + headers: { + accept: string; + }; + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + project_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listForOrg: { + headers: { + accept: string; + }; + method: string; + params: { + org: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + state: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + listForRepo: { + headers: { + accept: string; + }; + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + state: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + listForUser: { + headers: { + accept: string; + }; + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + state: { + enum: string[]; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + moveCard: { + headers: { + accept: string; + }; + method: string; + params: { + card_id: { + required: boolean; + type: string; + }; + column_id: { + type: string; + }; + position: { + required: boolean; + type: string; + validation: string; + }; + }; + url: string; + }; + moveColumn: { + headers: { + accept: string; + }; + method: string; + params: { + column_id: { + required: boolean; + type: string; + }; + position: { + required: boolean; + type: string; + validation: string; + }; + }; + url: string; + }; + removeCollaborator: { + headers: { + accept: string; + }; + method: string; + params: { + project_id: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + reviewUserPermissionLevel: { + headers: { + accept: string; + }; + method: string; + params: { + project_id: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + update: { + headers: { + accept: string; + }; + method: string; + params: { + body: { + type: string; + }; + name: { + type: string; + }; + organization_permission: { + type: string; + }; + private: { + type: string; + }; + project_id: { + required: boolean; + type: string; + }; + state: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + updateCard: { + headers: { + accept: string; + }; + method: string; + params: { + archived: { + type: string; + }; + card_id: { + required: boolean; + type: string; + }; + note: { + type: string; + }; + }; + url: string; + }; + updateColumn: { + headers: { + accept: string; + }; + method: string; + params: { + column_id: { + required: boolean; + type: string; + }; + name: { + required: boolean; + type: string; + }; + }; + url: string; + }; + }; + pulls: { + checkIfMerged: { + method: string; + params: { + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + pull_number: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + create: { + method: string; + params: { + base: { + required: boolean; + type: string; + }; + body: { + type: string; + }; + draft: { + type: string; + }; + head: { + required: boolean; + type: string; + }; + maintainer_can_modify: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + title: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createComment: { + method: string; + params: { + body: { + required: boolean; + type: string; + }; + commit_id: { + required: boolean; + type: string; + }; + in_reply_to: { + deprecated: boolean; + description: string; + type: string; + }; + line: { + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + path: { + required: boolean; + type: string; + }; + position: { + type: string; + }; + pull_number: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + side: { + enum: string[]; + type: string; + }; + start_line: { + type: string; + }; + start_side: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + createCommentReply: { + deprecated: string; + method: string; + params: { + body: { + required: boolean; + type: string; + }; + commit_id: { + required: boolean; + type: string; + }; + in_reply_to: { + deprecated: boolean; + description: string; + type: string; + }; + line: { + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + path: { + required: boolean; + type: string; + }; + position: { + type: string; + }; + pull_number: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + side: { + enum: string[]; + type: string; + }; + start_line: { + type: string; + }; + start_side: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + createFromIssue: { + deprecated: string; + method: string; + params: { + base: { + required: boolean; + type: string; + }; + draft: { + type: string; + }; + head: { + required: boolean; + type: string; + }; + issue: { + required: boolean; + type: string; + }; + maintainer_can_modify: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createReview: { + method: string; + params: { + body: { + type: string; + }; + comments: { + type: string; + }; + "comments[].body": { + required: boolean; + type: string; + }; + "comments[].path": { + required: boolean; + type: string; + }; + "comments[].position": { + required: boolean; + type: string; + }; + commit_id: { + type: string; + }; + event: { + enum: string[]; + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + pull_number: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createReviewCommentReply: { + method: string; + params: { + body: { + required: boolean; + type: string; + }; + comment_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + pull_number: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createReviewRequest: { + method: string; + params: { + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + pull_number: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + reviewers: { + type: string; + }; + team_reviewers: { + type: string; + }; + }; + url: string; + }; + deleteComment: { + method: string; + params: { + comment_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deletePendingReview: { + method: string; + params: { + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + pull_number: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + review_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteReviewRequest: { + method: string; + params: { + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + pull_number: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + reviewers: { + type: string; + }; + team_reviewers: { + type: string; + }; + }; + url: string; + }; + dismissReview: { + method: string; + params: { + message: { + required: boolean; + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + pull_number: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + review_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + get: { + method: string; + params: { + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + pull_number: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getComment: { + method: string; + params: { + comment_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getCommentsForReview: { + method: string; + params: { + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + pull_number: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + review_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getReview: { + method: string; + params: { + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + pull_number: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + review_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + list: { + method: string; + params: { + base: { + type: string; + }; + direction: { + enum: string[]; + type: string; + }; + head: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + sort: { + enum: string[]; + type: string; + }; + state: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + listComments: { + method: string; + params: { + direction: { + enum: string[]; + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + pull_number: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + since: { + type: string; + }; + sort: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + listCommentsForRepo: { + method: string; + params: { + direction: { + enum: string[]; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + since: { + type: string; + }; + sort: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + listCommits: { + method: string; + params: { + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + pull_number: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listFiles: { + method: string; + params: { + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + pull_number: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listReviewRequests: { + method: string; + params: { + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + pull_number: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listReviews: { + method: string; + params: { + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + pull_number: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + merge: { + method: string; + params: { + commit_message: { + type: string; + }; + commit_title: { + type: string; + }; + merge_method: { + enum: string[]; + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + pull_number: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + sha: { + type: string; + }; + }; + url: string; + }; + submitReview: { + method: string; + params: { + body: { + type: string; + }; + event: { + enum: string[]; + required: boolean; + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + pull_number: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + review_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + update: { + method: string; + params: { + base: { + type: string; + }; + body: { + type: string; + }; + maintainer_can_modify: { + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + pull_number: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + state: { + enum: string[]; + type: string; + }; + title: { + type: string; + }; + }; + url: string; + }; + updateBranch: { + headers: { + accept: string; + }; + method: string; + params: { + expected_head_sha: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + pull_number: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + updateComment: { + method: string; + params: { + body: { + required: boolean; + type: string; + }; + comment_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + updateReview: { + method: string; + params: { + body: { + required: boolean; + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + pull_number: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + review_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + }; + rateLimit: { + get: { + method: string; + params: {}; + url: string; + }; + }; + reactions: { + createForCommitComment: { + headers: { + accept: string; + }; + method: string; + params: { + comment_id: { + required: boolean; + type: string; + }; + content: { + enum: string[]; + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createForIssue: { + headers: { + accept: string; + }; + method: string; + params: { + content: { + enum: string[]; + required: boolean; + type: string; + }; + issue_number: { + required: boolean; + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createForIssueComment: { + headers: { + accept: string; + }; + method: string; + params: { + comment_id: { + required: boolean; + type: string; + }; + content: { + enum: string[]; + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createForPullRequestReviewComment: { + headers: { + accept: string; + }; + method: string; + params: { + comment_id: { + required: boolean; + type: string; + }; + content: { + enum: string[]; + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createForTeamDiscussion: { + deprecated: string; + headers: { + accept: string; + }; + method: string; + params: { + content: { + enum: string[]; + required: boolean; + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createForTeamDiscussionComment: { + deprecated: string; + headers: { + accept: string; + }; + method: string; + params: { + comment_number: { + required: boolean; + type: string; + }; + content: { + enum: string[]; + required: boolean; + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createForTeamDiscussionCommentInOrg: { + headers: { + accept: string; + }; + method: string; + params: { + comment_number: { + required: boolean; + type: string; + }; + content: { + enum: string[]; + required: boolean; + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createForTeamDiscussionCommentLegacy: { + deprecated: string; + headers: { + accept: string; + }; + method: string; + params: { + comment_number: { + required: boolean; + type: string; + }; + content: { + enum: string[]; + required: boolean; + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createForTeamDiscussionInOrg: { + headers: { + accept: string; + }; + method: string; + params: { + content: { + enum: string[]; + required: boolean; + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createForTeamDiscussionLegacy: { + deprecated: string; + headers: { + accept: string; + }; + method: string; + params: { + content: { + enum: string[]; + required: boolean; + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + delete: { + headers: { + accept: string; + }; + method: string; + params: { + reaction_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listForCommitComment: { + headers: { + accept: string; + }; + method: string; + params: { + comment_id: { + required: boolean; + type: string; + }; + content: { + enum: string[]; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listForIssue: { + headers: { + accept: string; + }; + method: string; + params: { + content: { + enum: string[]; + type: string; + }; + issue_number: { + required: boolean; + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listForIssueComment: { + headers: { + accept: string; + }; + method: string; + params: { + comment_id: { + required: boolean; + type: string; + }; + content: { + enum: string[]; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listForPullRequestReviewComment: { + headers: { + accept: string; + }; + method: string; + params: { + comment_id: { + required: boolean; + type: string; + }; + content: { + enum: string[]; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listForTeamDiscussion: { + deprecated: string; + headers: { + accept: string; + }; + method: string; + params: { + content: { + enum: string[]; + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listForTeamDiscussionComment: { + deprecated: string; + headers: { + accept: string; + }; + method: string; + params: { + comment_number: { + required: boolean; + type: string; + }; + content: { + enum: string[]; + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listForTeamDiscussionCommentInOrg: { + headers: { + accept: string; + }; + method: string; + params: { + comment_number: { + required: boolean; + type: string; + }; + content: { + enum: string[]; + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listForTeamDiscussionCommentLegacy: { + deprecated: string; + headers: { + accept: string; + }; + method: string; + params: { + comment_number: { + required: boolean; + type: string; + }; + content: { + enum: string[]; + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listForTeamDiscussionInOrg: { + headers: { + accept: string; + }; + method: string; + params: { + content: { + enum: string[]; + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listForTeamDiscussionLegacy: { + deprecated: string; + headers: { + accept: string; + }; + method: string; + params: { + content: { + enum: string[]; + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + }; + repos: { + acceptInvitation: { + method: string; + params: { + invitation_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + addCollaborator: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + permission: { + enum: string[]; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + addDeployKey: { + method: string; + params: { + key: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + read_only: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + title: { + type: string; + }; + }; + url: string; + }; + addProtectedBranchAdminEnforcement: { + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + addProtectedBranchAppRestrictions: { + method: string; + params: { + apps: { + mapTo: string; + required: boolean; + type: string; + }; + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + addProtectedBranchRequiredSignatures: { + headers: { + accept: string; + }; + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + addProtectedBranchRequiredStatusChecksContexts: { + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + contexts: { + mapTo: string; + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + addProtectedBranchTeamRestrictions: { + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + teams: { + mapTo: string; + required: boolean; + type: string; + }; + }; + url: string; + }; + addProtectedBranchUserRestrictions: { + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + users: { + mapTo: string; + required: boolean; + type: string; + }; + }; + url: string; + }; + checkCollaborator: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + checkVulnerabilityAlerts: { + headers: { + accept: string; + }; + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + compareCommits: { + method: string; + params: { + base: { + required: boolean; + type: string; + }; + head: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createCommitComment: { + method: string; + params: { + body: { + required: boolean; + type: string; + }; + commit_sha: { + required: boolean; + type: string; + }; + line: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + path: { + type: string; + }; + position: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + sha: { + alias: string; + deprecated: boolean; + type: string; + }; + }; + url: string; + }; + createDeployment: { + method: string; + params: { + auto_merge: { + type: string; + }; + description: { + type: string; + }; + environment: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + payload: { + type: string; + }; + production_environment: { + type: string; + }; + ref: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + required_contexts: { + type: string; + }; + task: { + type: string; + }; + transient_environment: { + type: string; + }; + }; + url: string; + }; + createDeploymentStatus: { + method: string; + params: { + auto_inactive: { + type: string; + }; + deployment_id: { + required: boolean; + type: string; + }; + description: { + type: string; + }; + environment: { + enum: string[]; + type: string; + }; + environment_url: { + type: string; + }; + log_url: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + state: { + enum: string[]; + required: boolean; + type: string; + }; + target_url: { + type: string; + }; + }; + url: string; + }; + createDispatchEvent: { + method: string; + params: { + client_payload: { + type: string; + }; + event_type: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createFile: { + deprecated: string; + method: string; + params: { + author: { + type: string; + }; + "author.email": { + required: boolean; + type: string; + }; + "author.name": { + required: boolean; + type: string; + }; + branch: { + type: string; + }; + committer: { + type: string; + }; + "committer.email": { + required: boolean; + type: string; + }; + "committer.name": { + required: boolean; + type: string; + }; + content: { + required: boolean; + type: string; + }; + message: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + path: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + sha: { + type: string; + }; + }; + url: string; + }; + createForAuthenticatedUser: { + method: string; + params: { + allow_merge_commit: { + type: string; + }; + allow_rebase_merge: { + type: string; + }; + allow_squash_merge: { + type: string; + }; + auto_init: { + type: string; + }; + delete_branch_on_merge: { + type: string; + }; + description: { + type: string; + }; + gitignore_template: { + type: string; + }; + has_issues: { + type: string; + }; + has_projects: { + type: string; + }; + has_wiki: { + type: string; + }; + homepage: { + type: string; + }; + is_template: { + type: string; + }; + license_template: { + type: string; + }; + name: { + required: boolean; + type: string; + }; + private: { + type: string; + }; + team_id: { + type: string; + }; + visibility: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + createFork: { + method: string; + params: { + organization: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createHook: { + method: string; + params: { + active: { + type: string; + }; + config: { + required: boolean; + type: string; + }; + "config.content_type": { + type: string; + }; + "config.insecure_ssl": { + type: string; + }; + "config.secret": { + type: string; + }; + "config.url": { + required: boolean; + type: string; + }; + events: { + type: string; + }; + name: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createInOrg: { + method: string; + params: { + allow_merge_commit: { + type: string; + }; + allow_rebase_merge: { + type: string; + }; + allow_squash_merge: { + type: string; + }; + auto_init: { + type: string; + }; + delete_branch_on_merge: { + type: string; + }; + description: { + type: string; + }; + gitignore_template: { + type: string; + }; + has_issues: { + type: string; + }; + has_projects: { + type: string; + }; + has_wiki: { + type: string; + }; + homepage: { + type: string; + }; + is_template: { + type: string; + }; + license_template: { + type: string; + }; + name: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + private: { + type: string; + }; + team_id: { + type: string; + }; + visibility: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + createOrUpdateFile: { + method: string; + params: { + author: { + type: string; + }; + "author.email": { + required: boolean; + type: string; + }; + "author.name": { + required: boolean; + type: string; + }; + branch: { + type: string; + }; + committer: { + type: string; + }; + "committer.email": { + required: boolean; + type: string; + }; + "committer.name": { + required: boolean; + type: string; + }; + content: { + required: boolean; + type: string; + }; + message: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + path: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + sha: { + type: string; + }; + }; + url: string; + }; + createRelease: { + method: string; + params: { + body: { + type: string; + }; + draft: { + type: string; + }; + name: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + prerelease: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + tag_name: { + required: boolean; + type: string; + }; + target_commitish: { + type: string; + }; + }; + url: string; + }; + createStatus: { + method: string; + params: { + context: { + type: string; + }; + description: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + sha: { + required: boolean; + type: string; + }; + state: { + enum: string[]; + required: boolean; + type: string; + }; + target_url: { + type: string; + }; + }; + url: string; + }; + createUsingTemplate: { + headers: { + accept: string; + }; + method: string; + params: { + description: { + type: string; + }; + name: { + required: boolean; + type: string; + }; + owner: { + type: string; + }; + private: { + type: string; + }; + template_owner: { + required: boolean; + type: string; + }; + template_repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + declineInvitation: { + method: string; + params: { + invitation_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + delete: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteCommitComment: { + method: string; + params: { + comment_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteDownload: { + method: string; + params: { + download_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteFile: { + method: string; + params: { + author: { + type: string; + }; + "author.email": { + type: string; + }; + "author.name": { + type: string; + }; + branch: { + type: string; + }; + committer: { + type: string; + }; + "committer.email": { + type: string; + }; + "committer.name": { + type: string; + }; + message: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + path: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + sha: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteHook: { + method: string; + params: { + hook_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteInvitation: { + method: string; + params: { + invitation_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteRelease: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + release_id: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteReleaseAsset: { + method: string; + params: { + asset_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + disableAutomatedSecurityFixes: { + headers: { + accept: string; + }; + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + disablePagesSite: { + headers: { + accept: string; + }; + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + disableVulnerabilityAlerts: { + headers: { + accept: string; + }; + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + enableAutomatedSecurityFixes: { + headers: { + accept: string; + }; + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + enablePagesSite: { + headers: { + accept: string; + }; + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + source: { + type: string; + }; + "source.branch": { + enum: string[]; + type: string; + }; + "source.path": { + type: string; + }; + }; + url: string; + }; + enableVulnerabilityAlerts: { + headers: { + accept: string; + }; + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + get: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getAppsWithAccessToProtectedBranch: { + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getArchiveLink: { + method: string; + params: { + archive_format: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + ref: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getBranch: { + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getBranchProtection: { + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getClones: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + per: { + enum: string[]; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getCodeFrequencyStats: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getCollaboratorPermissionLevel: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getCombinedStatusForRef: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + ref: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getCommit: { + method: string; + params: { + commit_sha: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + ref: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + sha: { + alias: string; + deprecated: boolean; + type: string; + }; + }; + url: string; + }; + getCommitActivityStats: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getCommitComment: { + method: string; + params: { + comment_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getCommitRefSha: { + deprecated: string; + headers: { + accept: string; + }; + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + ref: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getContents: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + path: { + required: boolean; + type: string; + }; + ref: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getContributorsStats: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getDeployKey: { + method: string; + params: { + key_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getDeployment: { + method: string; + params: { + deployment_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getDeploymentStatus: { + method: string; + params: { + deployment_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + status_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getDownload: { + method: string; + params: { + download_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getHook: { + method: string; + params: { + hook_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getLatestPagesBuild: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getLatestRelease: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getPages: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getPagesBuild: { + method: string; + params: { + build_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getParticipationStats: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getProtectedBranchAdminEnforcement: { + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getProtectedBranchPullRequestReviewEnforcement: { + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getProtectedBranchRequiredSignatures: { + headers: { + accept: string; + }; + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getProtectedBranchRequiredStatusChecks: { + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getProtectedBranchRestrictions: { + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getPunchCardStats: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getReadme: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + ref: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getRelease: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + release_id: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getReleaseAsset: { + method: string; + params: { + asset_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getReleaseByTag: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + tag: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getTeamsWithAccessToProtectedBranch: { + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getTopPaths: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getTopReferrers: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getUsersWithAccessToProtectedBranch: { + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getViews: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + per: { + enum: string[]; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + list: { + method: string; + params: { + affiliation: { + type: string; + }; + direction: { + enum: string[]; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + sort: { + enum: string[]; + type: string; + }; + type: { + enum: string[]; + type: string; + }; + visibility: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + listAppsWithAccessToProtectedBranch: { + deprecated: string; + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listAssetsForRelease: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + release_id: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listBranches: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + protected: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listBranchesForHeadCommit: { + headers: { + accept: string; + }; + method: string; + params: { + commit_sha: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listCollaborators: { + method: string; + params: { + affiliation: { + enum: string[]; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listCommentsForCommit: { + method: string; + params: { + commit_sha: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + ref: { + alias: string; + deprecated: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listCommitComments: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listCommits: { + method: string; + params: { + author: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + path: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + sha: { + type: string; + }; + since: { + type: string; + }; + until: { + type: string; + }; + }; + url: string; + }; + listContributors: { + method: string; + params: { + anon: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listDeployKeys: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listDeploymentStatuses: { + method: string; + params: { + deployment_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listDeployments: { + method: string; + params: { + environment: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + ref: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + sha: { + type: string; + }; + task: { + type: string; + }; + }; + url: string; + }; + listDownloads: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listForOrg: { + method: string; + params: { + direction: { + enum: string[]; + type: string; + }; + org: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + sort: { + enum: string[]; + type: string; + }; + type: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + listForUser: { + method: string; + params: { + direction: { + enum: string[]; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + sort: { + enum: string[]; + type: string; + }; + type: { + enum: string[]; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listForks: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + sort: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + listHooks: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listInvitations: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listInvitationsForAuthenticatedUser: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listLanguages: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listPagesBuilds: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listProtectedBranchRequiredStatusChecksContexts: { + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listProtectedBranchTeamRestrictions: { + deprecated: string; + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listProtectedBranchUserRestrictions: { + deprecated: string; + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listPublic: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + since: { + type: string; + }; + }; + url: string; + }; + listPullRequestsAssociatedWithCommit: { + headers: { + accept: string; + }; + method: string; + params: { + commit_sha: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listReleases: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listStatusesForRef: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + ref: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listTags: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listTeams: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listTeamsWithAccessToProtectedBranch: { + deprecated: string; + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listTopics: { + headers: { + accept: string; + }; + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listUsersWithAccessToProtectedBranch: { + deprecated: string; + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + merge: { + method: string; + params: { + base: { + required: boolean; + type: string; + }; + commit_message: { + type: string; + }; + head: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + pingHook: { + method: string; + params: { + hook_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeBranchProtection: { + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeCollaborator: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeDeployKey: { + method: string; + params: { + key_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeProtectedBranchAdminEnforcement: { + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeProtectedBranchAppRestrictions: { + method: string; + params: { + apps: { + mapTo: string; + required: boolean; + type: string; + }; + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeProtectedBranchPullRequestReviewEnforcement: { + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeProtectedBranchRequiredSignatures: { + headers: { + accept: string; + }; + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeProtectedBranchRequiredStatusChecks: { + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeProtectedBranchRequiredStatusChecksContexts: { + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + contexts: { + mapTo: string; + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeProtectedBranchRestrictions: { + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeProtectedBranchTeamRestrictions: { + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + teams: { + mapTo: string; + required: boolean; + type: string; + }; + }; + url: string; + }; + removeProtectedBranchUserRestrictions: { + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + users: { + mapTo: string; + required: boolean; + type: string; + }; + }; + url: string; + }; + replaceProtectedBranchAppRestrictions: { + method: string; + params: { + apps: { + mapTo: string; + required: boolean; + type: string; + }; + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + replaceProtectedBranchRequiredStatusChecksContexts: { + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + contexts: { + mapTo: string; + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + replaceProtectedBranchTeamRestrictions: { + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + teams: { + mapTo: string; + required: boolean; + type: string; + }; + }; + url: string; + }; + replaceProtectedBranchUserRestrictions: { + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + users: { + mapTo: string; + required: boolean; + type: string; + }; + }; + url: string; + }; + replaceTopics: { + headers: { + accept: string; + }; + method: string; + params: { + names: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + requestPageBuild: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + retrieveCommunityProfileMetrics: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + testPushHook: { + method: string; + params: { + hook_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + transfer: { + method: string; + params: { + new_owner: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + team_ids: { + type: string; + }; + }; + url: string; + }; + update: { + method: string; + params: { + allow_merge_commit: { + type: string; + }; + allow_rebase_merge: { + type: string; + }; + allow_squash_merge: { + type: string; + }; + archived: { + type: string; + }; + default_branch: { + type: string; + }; + delete_branch_on_merge: { + type: string; + }; + description: { + type: string; + }; + has_issues: { + type: string; + }; + has_projects: { + type: string; + }; + has_wiki: { + type: string; + }; + homepage: { + type: string; + }; + is_template: { + type: string; + }; + name: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + private: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + visibility: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + updateBranchProtection: { + method: string; + params: { + allow_deletions: { + type: string; + }; + allow_force_pushes: { + allowNull: boolean; + type: string; + }; + branch: { + required: boolean; + type: string; + }; + enforce_admins: { + allowNull: boolean; + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + required_linear_history: { + type: string; + }; + required_pull_request_reviews: { + allowNull: boolean; + required: boolean; + type: string; + }; + "required_pull_request_reviews.dismiss_stale_reviews": { + type: string; + }; + "required_pull_request_reviews.dismissal_restrictions": { + type: string; + }; + "required_pull_request_reviews.dismissal_restrictions.teams": { + type: string; + }; + "required_pull_request_reviews.dismissal_restrictions.users": { + type: string; + }; + "required_pull_request_reviews.require_code_owner_reviews": { + type: string; + }; + "required_pull_request_reviews.required_approving_review_count": { + type: string; + }; + required_status_checks: { + allowNull: boolean; + required: boolean; + type: string; + }; + "required_status_checks.contexts": { + required: boolean; + type: string; + }; + "required_status_checks.strict": { + required: boolean; + type: string; + }; + restrictions: { + allowNull: boolean; + required: boolean; + type: string; + }; + "restrictions.apps": { + type: string; + }; + "restrictions.teams": { + required: boolean; + type: string; + }; + "restrictions.users": { + required: boolean; + type: string; + }; + }; + url: string; + }; + updateCommitComment: { + method: string; + params: { + body: { + required: boolean; + type: string; + }; + comment_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + updateFile: { + deprecated: string; + method: string; + params: { + author: { + type: string; + }; + "author.email": { + required: boolean; + type: string; + }; + "author.name": { + required: boolean; + type: string; + }; + branch: { + type: string; + }; + committer: { + type: string; + }; + "committer.email": { + required: boolean; + type: string; + }; + "committer.name": { + required: boolean; + type: string; + }; + content: { + required: boolean; + type: string; + }; + message: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + path: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + sha: { + type: string; + }; + }; + url: string; + }; + updateHook: { + method: string; + params: { + active: { + type: string; + }; + add_events: { + type: string; + }; + config: { + type: string; + }; + "config.content_type": { + type: string; + }; + "config.insecure_ssl": { + type: string; + }; + "config.secret": { + type: string; + }; + "config.url": { + required: boolean; + type: string; + }; + events: { + type: string; + }; + hook_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + remove_events: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + updateInformationAboutPagesSite: { + method: string; + params: { + cname: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + source: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + updateInvitation: { + method: string; + params: { + invitation_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + permissions: { + enum: string[]; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + updateProtectedBranchPullRequestReviewEnforcement: { + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + dismiss_stale_reviews: { + type: string; + }; + dismissal_restrictions: { + type: string; + }; + "dismissal_restrictions.teams": { + type: string; + }; + "dismissal_restrictions.users": { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + require_code_owner_reviews: { + type: string; + }; + required_approving_review_count: { + type: string; + }; + }; + url: string; + }; + updateProtectedBranchRequiredStatusChecks: { + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + contexts: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + strict: { + type: string; + }; + }; + url: string; + }; + updateRelease: { + method: string; + params: { + body: { + type: string; + }; + draft: { + type: string; + }; + name: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + prerelease: { + type: string; + }; + release_id: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + tag_name: { + type: string; + }; + target_commitish: { + type: string; + }; + }; + url: string; + }; + updateReleaseAsset: { + method: string; + params: { + asset_id: { + required: boolean; + type: string; + }; + label: { + type: string; + }; + name: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + uploadReleaseAsset: { + method: string; + params: { + data: { + mapTo: string; + required: boolean; + type: string; + }; + file: { + alias: string; + deprecated: boolean; + type: string; + }; + headers: { + required: boolean; + type: string; + }; + "headers.content-length": { + required: boolean; + type: string; + }; + "headers.content-type": { + required: boolean; + type: string; + }; + label: { + type: string; + }; + name: { + required: boolean; + type: string; + }; + url: { + required: boolean; + type: string; + }; + }; + url: string; + }; + }; + search: { + code: { + method: string; + params: { + order: { + enum: string[]; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + q: { + required: boolean; + type: string; + }; + sort: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + commits: { + headers: { + accept: string; + }; + method: string; + params: { + order: { + enum: string[]; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + q: { + required: boolean; + type: string; + }; + sort: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + issues: { + deprecated: string; + method: string; + params: { + order: { + enum: string[]; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + q: { + required: boolean; + type: string; + }; + sort: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + issuesAndPullRequests: { + method: string; + params: { + order: { + enum: string[]; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + q: { + required: boolean; + type: string; + }; + sort: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + labels: { + method: string; + params: { + order: { + enum: string[]; + type: string; + }; + q: { + required: boolean; + type: string; + }; + repository_id: { + required: boolean; + type: string; + }; + sort: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + repos: { + method: string; + params: { + order: { + enum: string[]; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + q: { + required: boolean; + type: string; + }; + sort: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + topics: { + method: string; + params: { + q: { + required: boolean; + type: string; + }; + }; + url: string; + }; + users: { + method: string; + params: { + order: { + enum: string[]; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + q: { + required: boolean; + type: string; + }; + sort: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + }; + teams: { + addMember: { + deprecated: string; + method: string; + params: { + team_id: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + addMemberLegacy: { + deprecated: string; + method: string; + params: { + team_id: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + addOrUpdateMembership: { + deprecated: string; + method: string; + params: { + role: { + enum: string[]; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + addOrUpdateMembershipInOrg: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + role: { + enum: string[]; + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + addOrUpdateMembershipLegacy: { + deprecated: string; + method: string; + params: { + role: { + enum: string[]; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + addOrUpdateProject: { + deprecated: string; + headers: { + accept: string; + }; + method: string; + params: { + permission: { + enum: string[]; + type: string; + }; + project_id: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + addOrUpdateProjectInOrg: { + headers: { + accept: string; + }; + method: string; + params: { + org: { + required: boolean; + type: string; + }; + permission: { + enum: string[]; + type: string; + }; + project_id: { + required: boolean; + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + }; + url: string; + }; + addOrUpdateProjectLegacy: { + deprecated: string; + headers: { + accept: string; + }; + method: string; + params: { + permission: { + enum: string[]; + type: string; + }; + project_id: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + addOrUpdateRepo: { + deprecated: string; + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + permission: { + enum: string[]; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + addOrUpdateRepoInOrg: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + permission: { + enum: string[]; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + }; + url: string; + }; + addOrUpdateRepoLegacy: { + deprecated: string; + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + permission: { + enum: string[]; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + checkManagesRepo: { + deprecated: string; + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + checkManagesRepoInOrg: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + }; + url: string; + }; + checkManagesRepoLegacy: { + deprecated: string; + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + create: { + method: string; + params: { + description: { + type: string; + }; + maintainers: { + type: string; + }; + name: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + parent_team_id: { + type: string; + }; + permission: { + enum: string[]; + type: string; + }; + privacy: { + enum: string[]; + type: string; + }; + repo_names: { + type: string; + }; + }; + url: string; + }; + createDiscussion: { + deprecated: string; + method: string; + params: { + body: { + required: boolean; + type: string; + }; + private: { + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + title: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createDiscussionComment: { + deprecated: string; + method: string; + params: { + body: { + required: boolean; + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createDiscussionCommentInOrg: { + method: string; + params: { + body: { + required: boolean; + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createDiscussionCommentLegacy: { + deprecated: string; + method: string; + params: { + body: { + required: boolean; + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createDiscussionInOrg: { + method: string; + params: { + body: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + private: { + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + title: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createDiscussionLegacy: { + deprecated: string; + method: string; + params: { + body: { + required: boolean; + type: string; + }; + private: { + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + title: { + required: boolean; + type: string; + }; + }; + url: string; + }; + delete: { + deprecated: string; + method: string; + params: { + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteDiscussion: { + deprecated: string; + method: string; + params: { + discussion_number: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteDiscussionComment: { + deprecated: string; + method: string; + params: { + comment_number: { + required: boolean; + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteDiscussionCommentInOrg: { + method: string; + params: { + comment_number: { + required: boolean; + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteDiscussionCommentLegacy: { + deprecated: string; + method: string; + params: { + comment_number: { + required: boolean; + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteDiscussionInOrg: { + method: string; + params: { + discussion_number: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteDiscussionLegacy: { + deprecated: string; + method: string; + params: { + discussion_number: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteInOrg: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteLegacy: { + deprecated: string; + method: string; + params: { + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + get: { + deprecated: string; + method: string; + params: { + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getByName: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getDiscussion: { + deprecated: string; + method: string; + params: { + discussion_number: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getDiscussionComment: { + deprecated: string; + method: string; + params: { + comment_number: { + required: boolean; + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getDiscussionCommentInOrg: { + method: string; + params: { + comment_number: { + required: boolean; + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getDiscussionCommentLegacy: { + deprecated: string; + method: string; + params: { + comment_number: { + required: boolean; + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getDiscussionInOrg: { + method: string; + params: { + discussion_number: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getDiscussionLegacy: { + deprecated: string; + method: string; + params: { + discussion_number: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getLegacy: { + deprecated: string; + method: string; + params: { + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getMember: { + deprecated: string; + method: string; + params: { + team_id: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getMemberLegacy: { + deprecated: string; + method: string; + params: { + team_id: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getMembership: { + deprecated: string; + method: string; + params: { + team_id: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getMembershipInOrg: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getMembershipLegacy: { + deprecated: string; + method: string; + params: { + team_id: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + list: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listChild: { + deprecated: string; + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listChildInOrg: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listChildLegacy: { + deprecated: string; + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listDiscussionComments: { + deprecated: string; + method: string; + params: { + direction: { + enum: string[]; + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listDiscussionCommentsInOrg: { + method: string; + params: { + direction: { + enum: string[]; + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listDiscussionCommentsLegacy: { + deprecated: string; + method: string; + params: { + direction: { + enum: string[]; + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listDiscussions: { + deprecated: string; + method: string; + params: { + direction: { + enum: string[]; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listDiscussionsInOrg: { + method: string; + params: { + direction: { + enum: string[]; + type: string; + }; + org: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listDiscussionsLegacy: { + deprecated: string; + method: string; + params: { + direction: { + enum: string[]; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listForAuthenticatedUser: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listMembers: { + deprecated: string; + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + role: { + enum: string[]; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listMembersInOrg: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + role: { + enum: string[]; + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listMembersLegacy: { + deprecated: string; + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + role: { + enum: string[]; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listPendingInvitations: { + deprecated: string; + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listPendingInvitationsInOrg: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listPendingInvitationsLegacy: { + deprecated: string; + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listProjects: { + deprecated: string; + headers: { + accept: string; + }; + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listProjectsInOrg: { + headers: { + accept: string; + }; + method: string; + params: { + org: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listProjectsLegacy: { + deprecated: string; + headers: { + accept: string; + }; + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listRepos: { + deprecated: string; + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listReposInOrg: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listReposLegacy: { + deprecated: string; + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeMember: { + deprecated: string; + method: string; + params: { + team_id: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeMemberLegacy: { + deprecated: string; + method: string; + params: { + team_id: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeMembership: { + deprecated: string; + method: string; + params: { + team_id: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeMembershipInOrg: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeMembershipLegacy: { + deprecated: string; + method: string; + params: { + team_id: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeProject: { + deprecated: string; + method: string; + params: { + project_id: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeProjectInOrg: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + project_id: { + required: boolean; + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeProjectLegacy: { + deprecated: string; + method: string; + params: { + project_id: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeRepo: { + deprecated: string; + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeRepoInOrg: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeRepoLegacy: { + deprecated: string; + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + reviewProject: { + deprecated: string; + headers: { + accept: string; + }; + method: string; + params: { + project_id: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + reviewProjectInOrg: { + headers: { + accept: string; + }; + method: string; + params: { + org: { + required: boolean; + type: string; + }; + project_id: { + required: boolean; + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + }; + url: string; + }; + reviewProjectLegacy: { + deprecated: string; + headers: { + accept: string; + }; + method: string; + params: { + project_id: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + update: { + deprecated: string; + method: string; + params: { + description: { + type: string; + }; + name: { + required: boolean; + type: string; + }; + parent_team_id: { + type: string; + }; + permission: { + enum: string[]; + type: string; + }; + privacy: { + enum: string[]; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + updateDiscussion: { + deprecated: string; + method: string; + params: { + body: { + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + title: { + type: string; + }; + }; + url: string; + }; + updateDiscussionComment: { + deprecated: string; + method: string; + params: { + body: { + required: boolean; + type: string; + }; + comment_number: { + required: boolean; + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + updateDiscussionCommentInOrg: { + method: string; + params: { + body: { + required: boolean; + type: string; + }; + comment_number: { + required: boolean; + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + }; + url: string; + }; + updateDiscussionCommentLegacy: { + deprecated: string; + method: string; + params: { + body: { + required: boolean; + type: string; + }; + comment_number: { + required: boolean; + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + updateDiscussionInOrg: { + method: string; + params: { + body: { + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + title: { + type: string; + }; + }; + url: string; + }; + updateDiscussionLegacy: { + deprecated: string; + method: string; + params: { + body: { + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + title: { + type: string; + }; + }; + url: string; + }; + updateInOrg: { + method: string; + params: { + description: { + type: string; + }; + name: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + parent_team_id: { + type: string; + }; + permission: { + enum: string[]; + type: string; + }; + privacy: { + enum: string[]; + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + }; + url: string; + }; + updateLegacy: { + deprecated: string; + method: string; + params: { + description: { + type: string; + }; + name: { + required: boolean; + type: string; + }; + parent_team_id: { + type: string; + }; + permission: { + enum: string[]; + type: string; + }; + privacy: { + enum: string[]; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + }; + users: { + addEmails: { + method: string; + params: { + emails: { + required: boolean; + type: string; + }; + }; + url: string; + }; + block: { + method: string; + params: { + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + checkBlocked: { + method: string; + params: { + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + checkFollowing: { + method: string; + params: { + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + checkFollowingForUser: { + method: string; + params: { + target_user: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createGpgKey: { + method: string; + params: { + armored_public_key: { + type: string; + }; + }; + url: string; + }; + createPublicKey: { + method: string; + params: { + key: { + type: string; + }; + title: { + type: string; + }; + }; + url: string; + }; + deleteEmails: { + method: string; + params: { + emails: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteGpgKey: { + method: string; + params: { + gpg_key_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deletePublicKey: { + method: string; + params: { + key_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + follow: { + method: string; + params: { + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getAuthenticated: { + method: string; + params: {}; + url: string; + }; + getByUsername: { + method: string; + params: { + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getContextForUser: { + method: string; + params: { + subject_id: { + type: string; + }; + subject_type: { + enum: string[]; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getGpgKey: { + method: string; + params: { + gpg_key_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getPublicKey: { + method: string; + params: { + key_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + list: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + since: { + type: string; + }; + }; + url: string; + }; + listBlocked: { + method: string; + params: {}; + url: string; + }; + listEmails: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listFollowersForAuthenticatedUser: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listFollowersForUser: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listFollowingForAuthenticatedUser: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listFollowingForUser: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listGpgKeys: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listGpgKeysForUser: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listPublicEmails: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listPublicKeys: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listPublicKeysForUser: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + togglePrimaryEmailVisibility: { + method: string; + params: { + email: { + required: boolean; + type: string; + }; + visibility: { + required: boolean; + type: string; + }; + }; + url: string; + }; + unblock: { + method: string; + params: { + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + unfollow: { + method: string; + params: { + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + updateAuthenticated: { + method: string; + params: { + bio: { + type: string; + }; + blog: { + type: string; + }; + company: { + type: string; + }; + email: { + type: string; + }; + hireable: { + type: string; + }; + location: { + type: string; + }; + name: { + type: string; + }; + }; + url: string; + }; + }; +}; +export default _default; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/rest-endpoint-methods-types.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/rest-endpoint-methods-types.d.ts new file mode 100644 index 0000000..4a1927e --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/rest-endpoint-methods-types.d.ts @@ -0,0 +1,38224 @@ +import { EndpointInterface, RequestParameters, OctokitResponse } from "@octokit/types"; +declare type AnyResponse = OctokitResponse; +declare type EmptyParams = {}; +declare type UsersUpdateAuthenticatedResponsePlan = { + collaborators: number; + name: string; + private_repos: number; + space: number; +}; +declare type UsersUpdateAuthenticatedResponse = { + avatar_url: string; + bio: string; + blog: string; + collaborators: number; + company: string; + created_at: string; + disk_usage: number; + email: string; + events_url: string; + followers: number; + followers_url: string; + following: number; + following_url: string; + gists_url: string; + gravatar_id: string; + hireable: boolean; + html_url: string; + id: number; + location: string; + login: string; + name: string; + node_id: string; + organizations_url: string; + owned_private_repos: number; + plan: UsersUpdateAuthenticatedResponsePlan; + private_gists: number; + public_gists: number; + public_repos: number; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + total_private_repos: number; + two_factor_authentication: boolean; + type: string; + updated_at: string; + url: string; +}; +declare type UsersTogglePrimaryEmailVisibilityResponseItem = { + email: string; + primary: boolean; + verified: boolean; + visibility: string; +}; +declare type UsersListPublicKeysForUserResponseItem = { + id: number; + key: string; +}; +declare type UsersListPublicKeysResponseItem = { + key: string; + key_id: string; +}; +declare type UsersListPublicEmailsResponseItem = { + email: string; + primary: boolean; + verified: boolean; + visibility: string; +}; +declare type UsersListGpgKeysForUserResponseItemSubkeysItem = { + can_certify: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_sign: boolean; + created_at: string; + emails: Array; + expires_at: null; + id: number; + key_id: string; + primary_key_id: number; + public_key: string; + subkeys: Array; +}; +declare type UsersListGpgKeysForUserResponseItemEmailsItem = { + email: string; + verified: boolean; +}; +declare type UsersListGpgKeysForUserResponseItem = { + can_certify: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_sign: boolean; + created_at: string; + emails: Array; + expires_at: null; + id: number; + key_id: string; + primary_key_id: null; + public_key: string; + subkeys: Array; +}; +declare type UsersListGpgKeysResponseItemSubkeysItem = { + can_certify: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_sign: boolean; + created_at: string; + emails: Array; + expires_at: null; + id: number; + key_id: string; + primary_key_id: number; + public_key: string; + subkeys: Array; +}; +declare type UsersListGpgKeysResponseItemEmailsItem = { + email: string; + verified: boolean; +}; +declare type UsersListGpgKeysResponseItem = { + can_certify: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_sign: boolean; + created_at: string; + emails: Array; + expires_at: null; + id: number; + key_id: string; + primary_key_id: null; + public_key: string; + subkeys: Array; +}; +declare type UsersListFollowingForUserResponseItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type UsersListFollowingForAuthenticatedUserResponseItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type UsersListFollowersForUserResponseItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type UsersListFollowersForAuthenticatedUserResponseItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type UsersListEmailsResponseItem = { + email: string; + primary: boolean; + verified: boolean; + visibility: string; +}; +declare type UsersListBlockedResponseItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type UsersListResponseItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type UsersGetPublicKeyResponse = { + key: string; + key_id: string; +}; +declare type UsersGetGpgKeyResponseSubkeysItem = { + can_certify: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_sign: boolean; + created_at: string; + emails: Array; + expires_at: null; + id: number; + key_id: string; + primary_key_id: number; + public_key: string; + subkeys: Array; +}; +declare type UsersGetGpgKeyResponseEmailsItem = { + email: string; + verified: boolean; +}; +declare type UsersGetGpgKeyResponse = { + can_certify: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_sign: boolean; + created_at: string; + emails: Array; + expires_at: null; + id: number; + key_id: string; + primary_key_id: null; + public_key: string; + subkeys: Array; +}; +declare type UsersGetContextForUserResponseContextsItem = { + message: string; + octicon: string; +}; +declare type UsersGetContextForUserResponse = { + contexts: Array; +}; +declare type UsersGetByUsernameResponsePlan = { + collaborators: number; + name: string; + private_repos: number; + space: number; +}; +declare type UsersGetByUsernameResponse = { + avatar_url: string; + bio: string; + blog: string; + company: string; + created_at: string; + email: string; + events_url: string; + followers: number; + followers_url: string; + following: number; + following_url: string; + gists_url: string; + gravatar_id: string; + hireable: boolean; + html_url: string; + id: number; + location: string; + login: string; + name: string; + node_id: string; + organizations_url: string; + public_gists: number; + public_repos: number; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + updated_at: string; + url: string; + plan?: UsersGetByUsernameResponsePlan; +}; +declare type UsersGetAuthenticatedResponsePlan = { + collaborators: number; + name: string; + private_repos: number; + space: number; +}; +declare type UsersGetAuthenticatedResponse = { + avatar_url: string; + bio: string; + blog: string; + collaborators?: number; + company: string; + created_at: string; + disk_usage?: number; + email: string; + events_url: string; + followers: number; + followers_url: string; + following: number; + following_url: string; + gists_url: string; + gravatar_id: string; + hireable: boolean; + html_url: string; + id: number; + location: string; + login: string; + name: string; + node_id: string; + organizations_url: string; + owned_private_repos?: number; + plan?: UsersGetAuthenticatedResponsePlan; + private_gists?: number; + public_gists: number; + public_repos: number; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + total_private_repos?: number; + two_factor_authentication?: boolean; + type: string; + updated_at: string; + url: string; +}; +declare type UsersCreatePublicKeyResponse = { + key: string; + key_id: string; +}; +declare type UsersCreateGpgKeyResponseSubkeysItem = { + can_certify: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_sign: boolean; + created_at: string; + emails: Array; + expires_at: null; + id: number; + key_id: string; + primary_key_id: number; + public_key: string; + subkeys: Array; +}; +declare type UsersCreateGpgKeyResponseEmailsItem = { + email: string; + verified: boolean; +}; +declare type UsersCreateGpgKeyResponse = { + can_certify: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_sign: boolean; + created_at: string; + emails: Array; + expires_at: null; + id: number; + key_id: string; + primary_key_id: null; + public_key: string; + subkeys: Array; +}; +declare type UsersAddEmailsResponseItem = { + email: string; + primary: boolean; + verified: boolean; + visibility: string | null; +}; +declare type TeamsUpdateLegacyResponseOrganization = { + avatar_url: string; + blog: string; + company: string; + created_at: string; + description: string; + email: string; + events_url: string; + followers: number; + following: number; + has_organization_projects: boolean; + has_repository_projects: boolean; + hooks_url: string; + html_url: string; + id: number; + is_verified: boolean; + issues_url: string; + location: string; + login: string; + members_url: string; + name: string; + node_id: string; + public_gists: number; + public_members_url: string; + public_repos: number; + repos_url: string; + type: string; + url: string; +}; +declare type TeamsUpdateLegacyResponse = { + created_at: string; + description: string; + html_url: string; + id: number; + members_count: number; + members_url: string; + name: string; + node_id: string; + organization: TeamsUpdateLegacyResponseOrganization; + parent: null; + permission: string; + privacy: string; + repos_count: number; + repositories_url: string; + slug: string; + updated_at: string; + url: string; +}; +declare type TeamsUpdateInOrgResponseOrganization = { + avatar_url: string; + blog: string; + company: string; + created_at: string; + description: string; + email: string; + events_url: string; + followers: number; + following: number; + has_organization_projects: boolean; + has_repository_projects: boolean; + hooks_url: string; + html_url: string; + id: number; + is_verified: boolean; + issues_url: string; + location: string; + login: string; + members_url: string; + name: string; + node_id: string; + public_gists: number; + public_members_url: string; + public_repos: number; + repos_url: string; + type: string; + url: string; +}; +declare type TeamsUpdateInOrgResponse = { + created_at: string; + description: string; + html_url: string; + id: number; + members_count: number; + members_url: string; + name: string; + node_id: string; + organization: TeamsUpdateInOrgResponseOrganization; + parent: null; + permission: string; + privacy: string; + repos_count: number; + repositories_url: string; + slug: string; + updated_at: string; + url: string; +}; +declare type TeamsUpdateDiscussionLegacyResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; +}; +declare type TeamsUpdateDiscussionLegacyResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsUpdateDiscussionLegacyResponse = { + author: TeamsUpdateDiscussionLegacyResponseAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + html_url: string; + last_edited_at: string; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + reactions: TeamsUpdateDiscussionLegacyResponseReactions; + team_url: string; + title: string; + updated_at: string; + url: string; +}; +declare type TeamsUpdateDiscussionInOrgResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; +}; +declare type TeamsUpdateDiscussionInOrgResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsUpdateDiscussionInOrgResponse = { + author: TeamsUpdateDiscussionInOrgResponseAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + html_url: string; + last_edited_at: string; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + reactions: TeamsUpdateDiscussionInOrgResponseReactions; + team_url: string; + title: string; + updated_at: string; + url: string; +}; +declare type TeamsUpdateDiscussionCommentLegacyResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; +}; +declare type TeamsUpdateDiscussionCommentLegacyResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsUpdateDiscussionCommentLegacyResponse = { + author: TeamsUpdateDiscussionCommentLegacyResponseAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + discussion_url: string; + html_url: string; + last_edited_at: string; + node_id: string; + number: number; + reactions: TeamsUpdateDiscussionCommentLegacyResponseReactions; + updated_at: string; + url: string; +}; +declare type TeamsUpdateDiscussionCommentInOrgResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; +}; +declare type TeamsUpdateDiscussionCommentInOrgResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsUpdateDiscussionCommentInOrgResponse = { + author: TeamsUpdateDiscussionCommentInOrgResponseAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + discussion_url: string; + html_url: string; + last_edited_at: string; + node_id: string; + number: number; + reactions: TeamsUpdateDiscussionCommentInOrgResponseReactions; + updated_at: string; + url: string; +}; +declare type TeamsUpdateDiscussionCommentResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; +}; +declare type TeamsUpdateDiscussionCommentResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsUpdateDiscussionCommentResponse = { + author: TeamsUpdateDiscussionCommentResponseAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + discussion_url: string; + html_url: string; + last_edited_at: string; + node_id: string; + number: number; + reactions: TeamsUpdateDiscussionCommentResponseReactions; + updated_at: string; + url: string; +}; +declare type TeamsUpdateDiscussionResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; +}; +declare type TeamsUpdateDiscussionResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsUpdateDiscussionResponse = { + author: TeamsUpdateDiscussionResponseAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + html_url: string; + last_edited_at: string; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + reactions: TeamsUpdateDiscussionResponseReactions; + team_url: string; + title: string; + updated_at: string; + url: string; +}; +declare type TeamsUpdateResponseOrganization = { + avatar_url: string; + blog: string; + company: string; + created_at: string; + description: string; + email: string; + events_url: string; + followers: number; + following: number; + has_organization_projects: boolean; + has_repository_projects: boolean; + hooks_url: string; + html_url: string; + id: number; + is_verified: boolean; + issues_url: string; + location: string; + login: string; + members_url: string; + name: string; + node_id: string; + public_gists: number; + public_members_url: string; + public_repos: number; + repos_url: string; + type: string; + url: string; +}; +declare type TeamsUpdateResponse = { + created_at: string; + description: string; + html_url: string; + id: number; + members_count: number; + members_url: string; + name: string; + node_id: string; + organization: TeamsUpdateResponseOrganization; + parent: null; + permission: string; + privacy: string; + repos_count: number; + repositories_url: string; + slug: string; + updated_at: string; + url: string; +}; +declare type TeamsReviewProjectLegacyResponsePermissions = { + admin: boolean; + read: boolean; + write: boolean; +}; +declare type TeamsReviewProjectLegacyResponseCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsReviewProjectLegacyResponse = { + body: string; + columns_url: string; + created_at: string; + creator: TeamsReviewProjectLegacyResponseCreator; + html_url: string; + id: number; + name: string; + node_id: string; + number: number; + organization_permission: string; + owner_url: string; + permissions: TeamsReviewProjectLegacyResponsePermissions; + private: boolean; + state: string; + updated_at: string; + url: string; +}; +declare type TeamsReviewProjectInOrgResponsePermissions = { + admin: boolean; + read: boolean; + write: boolean; +}; +declare type TeamsReviewProjectInOrgResponseCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsReviewProjectInOrgResponse = { + body: string; + columns_url: string; + created_at: string; + creator: TeamsReviewProjectInOrgResponseCreator; + html_url: string; + id: number; + name: string; + node_id: string; + number: number; + organization_permission: string; + owner_url: string; + permissions: TeamsReviewProjectInOrgResponsePermissions; + private: boolean; + state: string; + updated_at: string; + url: string; +}; +declare type TeamsReviewProjectResponsePermissions = { + admin: boolean; + read: boolean; + write: boolean; +}; +declare type TeamsReviewProjectResponseCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsReviewProjectResponse = { + body: string; + columns_url: string; + created_at: string; + creator: TeamsReviewProjectResponseCreator; + html_url: string; + id: number; + name: string; + node_id: string; + number: number; + organization_permission: string; + owner_url: string; + permissions: TeamsReviewProjectResponsePermissions; + private: boolean; + state: string; + updated_at: string; + url: string; +}; +declare type TeamsListReposLegacyResponseItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type TeamsListReposLegacyResponseItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsListReposLegacyResponseItemLicense = { + key: string; + name: string; + node_id: string; + spdx_id: string; + url: string; +}; +declare type TeamsListReposLegacyResponseItem = { + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + license: TeamsListReposLegacyResponseItemLicense; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: TeamsListReposLegacyResponseItemOwner; + permissions: TeamsListReposLegacyResponseItemPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type TeamsListReposInOrgResponseItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type TeamsListReposInOrgResponseItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsListReposInOrgResponseItemLicense = { + key: string; + name: string; + node_id: string; + spdx_id: string; + url: string; +}; +declare type TeamsListReposInOrgResponseItem = { + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + license: TeamsListReposInOrgResponseItemLicense; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: TeamsListReposInOrgResponseItemOwner; + permissions: TeamsListReposInOrgResponseItemPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type TeamsListReposResponseItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type TeamsListReposResponseItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsListReposResponseItemLicense = { + key: string; + name: string; + node_id: string; + spdx_id: string; + url: string; +}; +declare type TeamsListReposResponseItem = { + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + license: TeamsListReposResponseItemLicense; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: TeamsListReposResponseItemOwner; + permissions: TeamsListReposResponseItemPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type TeamsListProjectsLegacyResponseItemPermissions = { + admin: boolean; + read: boolean; + write: boolean; +}; +declare type TeamsListProjectsLegacyResponseItemCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsListProjectsLegacyResponseItem = { + body: string; + columns_url: string; + created_at: string; + creator: TeamsListProjectsLegacyResponseItemCreator; + html_url: string; + id: number; + name: string; + node_id: string; + number: number; + organization_permission: string; + owner_url: string; + permissions: TeamsListProjectsLegacyResponseItemPermissions; + private: boolean; + state: string; + updated_at: string; + url: string; +}; +declare type TeamsListProjectsInOrgResponseItemPermissions = { + admin: boolean; + read: boolean; + write: boolean; +}; +declare type TeamsListProjectsInOrgResponseItemCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsListProjectsInOrgResponseItem = { + body: string; + columns_url: string; + created_at: string; + creator: TeamsListProjectsInOrgResponseItemCreator; + html_url: string; + id: number; + name: string; + node_id: string; + number: number; + organization_permission: string; + owner_url: string; + permissions: TeamsListProjectsInOrgResponseItemPermissions; + private: boolean; + state: string; + updated_at: string; + url: string; +}; +declare type TeamsListProjectsResponseItemPermissions = { + admin: boolean; + read: boolean; + write: boolean; +}; +declare type TeamsListProjectsResponseItemCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsListProjectsResponseItem = { + body: string; + columns_url: string; + created_at: string; + creator: TeamsListProjectsResponseItemCreator; + html_url: string; + id: number; + name: string; + node_id: string; + number: number; + organization_permission: string; + owner_url: string; + permissions: TeamsListProjectsResponseItemPermissions; + private: boolean; + state: string; + updated_at: string; + url: string; +}; +declare type TeamsListPendingInvitationsLegacyResponseItemInviter = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsListPendingInvitationsLegacyResponseItem = { + created_at: string; + email: string; + id: number; + invitation_team_url: string; + inviter: TeamsListPendingInvitationsLegacyResponseItemInviter; + login: string; + role: string; + team_count: number; +}; +declare type TeamsListPendingInvitationsInOrgResponseItemInviter = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsListPendingInvitationsInOrgResponseItem = { + created_at: string; + email: string; + id: number; + invitation_team_url: string; + inviter: TeamsListPendingInvitationsInOrgResponseItemInviter; + login: string; + role: string; + team_count: number; +}; +declare type TeamsListPendingInvitationsResponseItemInviter = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsListPendingInvitationsResponseItem = { + created_at: string; + email: string; + id: number; + invitation_team_url: string; + inviter: TeamsListPendingInvitationsResponseItemInviter; + login: string; + role: string; + team_count: number; +}; +declare type TeamsListMembersLegacyResponseItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsListMembersInOrgResponseItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsListMembersResponseItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsListForAuthenticatedUserResponseItemOrganization = { + avatar_url: string; + blog: string; + company: string; + created_at: string; + description: string; + email: string; + events_url: string; + followers: number; + following: number; + has_organization_projects: boolean; + has_repository_projects: boolean; + hooks_url: string; + html_url: string; + id: number; + is_verified: boolean; + issues_url: string; + location: string; + login: string; + members_url: string; + name: string; + node_id: string; + public_gists: number; + public_members_url: string; + public_repos: number; + repos_url: string; + type: string; + url: string; +}; +declare type TeamsListForAuthenticatedUserResponseItem = { + created_at: string; + description: string; + html_url: string; + id: number; + members_count: number; + members_url: string; + name: string; + node_id: string; + organization: TeamsListForAuthenticatedUserResponseItemOrganization; + parent: null; + permission: string; + privacy: string; + repos_count: number; + repositories_url: string; + slug: string; + updated_at: string; + url: string; +}; +declare type TeamsListDiscussionsLegacyResponseItemReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; +}; +declare type TeamsListDiscussionsLegacyResponseItemAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsListDiscussionsLegacyResponseItem = { + author: TeamsListDiscussionsLegacyResponseItemAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + html_url: string; + last_edited_at: null; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + reactions: TeamsListDiscussionsLegacyResponseItemReactions; + team_url: string; + title: string; + updated_at: string; + url: string; +}; +declare type TeamsListDiscussionsInOrgResponseItemReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; +}; +declare type TeamsListDiscussionsInOrgResponseItemAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsListDiscussionsInOrgResponseItem = { + author: TeamsListDiscussionsInOrgResponseItemAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + html_url: string; + last_edited_at: null; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + reactions: TeamsListDiscussionsInOrgResponseItemReactions; + team_url: string; + title: string; + updated_at: string; + url: string; +}; +declare type TeamsListDiscussionsResponseItemReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; +}; +declare type TeamsListDiscussionsResponseItemAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsListDiscussionsResponseItem = { + author: TeamsListDiscussionsResponseItemAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + html_url: string; + last_edited_at: null; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + reactions: TeamsListDiscussionsResponseItemReactions; + team_url: string; + title: string; + updated_at: string; + url: string; +}; +declare type TeamsListDiscussionCommentsLegacyResponseItemReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; +}; +declare type TeamsListDiscussionCommentsLegacyResponseItemAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsListDiscussionCommentsLegacyResponseItem = { + author: TeamsListDiscussionCommentsLegacyResponseItemAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + discussion_url: string; + html_url: string; + last_edited_at: null; + node_id: string; + number: number; + reactions: TeamsListDiscussionCommentsLegacyResponseItemReactions; + updated_at: string; + url: string; +}; +declare type TeamsListDiscussionCommentsInOrgResponseItemReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; +}; +declare type TeamsListDiscussionCommentsInOrgResponseItemAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsListDiscussionCommentsInOrgResponseItem = { + author: TeamsListDiscussionCommentsInOrgResponseItemAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + discussion_url: string; + html_url: string; + last_edited_at: null; + node_id: string; + number: number; + reactions: TeamsListDiscussionCommentsInOrgResponseItemReactions; + updated_at: string; + url: string; +}; +declare type TeamsListDiscussionCommentsResponseItemReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; +}; +declare type TeamsListDiscussionCommentsResponseItemAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsListDiscussionCommentsResponseItem = { + author: TeamsListDiscussionCommentsResponseItemAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + discussion_url: string; + html_url: string; + last_edited_at: null; + node_id: string; + number: number; + reactions: TeamsListDiscussionCommentsResponseItemReactions; + updated_at: string; + url: string; +}; +declare type TeamsListChildLegacyResponseItemParent = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; +}; +declare type TeamsListChildLegacyResponseItem = { + description: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: TeamsListChildLegacyResponseItemParent; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; +}; +declare type TeamsListChildInOrgResponseItemParent = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; +}; +declare type TeamsListChildInOrgResponseItem = { + description: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: TeamsListChildInOrgResponseItemParent; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; +}; +declare type TeamsListChildResponseItemParent = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; +}; +declare type TeamsListChildResponseItem = { + description: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: TeamsListChildResponseItemParent; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; +}; +declare type TeamsListResponseItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; +}; +declare type TeamsGetMembershipLegacyResponse = { + role: string; + state: string; + url: string; +}; +declare type TeamsGetMembershipInOrgResponse = { + role: string; + state: string; + url: string; +}; +declare type TeamsGetMembershipResponse = { + role: string; + state: string; + url: string; +}; +declare type TeamsGetLegacyResponseOrganization = { + avatar_url: string; + blog: string; + company: string; + created_at: string; + description: string; + email: string; + events_url: string; + followers: number; + following: number; + has_organization_projects: boolean; + has_repository_projects: boolean; + hooks_url: string; + html_url: string; + id: number; + is_verified: boolean; + issues_url: string; + location: string; + login: string; + members_url: string; + name: string; + node_id: string; + public_gists: number; + public_members_url: string; + public_repos: number; + repos_url: string; + type: string; + url: string; +}; +declare type TeamsGetLegacyResponse = { + created_at: string; + description: string; + html_url: string; + id: number; + members_count: number; + members_url: string; + name: string; + node_id: string; + organization: TeamsGetLegacyResponseOrganization; + parent: null; + permission: string; + privacy: string; + repos_count: number; + repositories_url: string; + slug: string; + updated_at: string; + url: string; +}; +declare type TeamsGetDiscussionLegacyResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; +}; +declare type TeamsGetDiscussionLegacyResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsGetDiscussionLegacyResponse = { + author: TeamsGetDiscussionLegacyResponseAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + html_url: string; + last_edited_at: null; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + reactions: TeamsGetDiscussionLegacyResponseReactions; + team_url: string; + title: string; + updated_at: string; + url: string; +}; +declare type TeamsGetDiscussionInOrgResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; +}; +declare type TeamsGetDiscussionInOrgResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsGetDiscussionInOrgResponse = { + author: TeamsGetDiscussionInOrgResponseAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + html_url: string; + last_edited_at: null; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + reactions: TeamsGetDiscussionInOrgResponseReactions; + team_url: string; + title: string; + updated_at: string; + url: string; +}; +declare type TeamsGetDiscussionCommentLegacyResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; +}; +declare type TeamsGetDiscussionCommentLegacyResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsGetDiscussionCommentLegacyResponse = { + author: TeamsGetDiscussionCommentLegacyResponseAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + discussion_url: string; + html_url: string; + last_edited_at: null; + node_id: string; + number: number; + reactions: TeamsGetDiscussionCommentLegacyResponseReactions; + updated_at: string; + url: string; +}; +declare type TeamsGetDiscussionCommentInOrgResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; +}; +declare type TeamsGetDiscussionCommentInOrgResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsGetDiscussionCommentInOrgResponse = { + author: TeamsGetDiscussionCommentInOrgResponseAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + discussion_url: string; + html_url: string; + last_edited_at: null; + node_id: string; + number: number; + reactions: TeamsGetDiscussionCommentInOrgResponseReactions; + updated_at: string; + url: string; +}; +declare type TeamsGetDiscussionCommentResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; +}; +declare type TeamsGetDiscussionCommentResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsGetDiscussionCommentResponse = { + author: TeamsGetDiscussionCommentResponseAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + discussion_url: string; + html_url: string; + last_edited_at: null; + node_id: string; + number: number; + reactions: TeamsGetDiscussionCommentResponseReactions; + updated_at: string; + url: string; +}; +declare type TeamsGetDiscussionResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; +}; +declare type TeamsGetDiscussionResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsGetDiscussionResponse = { + author: TeamsGetDiscussionResponseAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + html_url: string; + last_edited_at: null; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + reactions: TeamsGetDiscussionResponseReactions; + team_url: string; + title: string; + updated_at: string; + url: string; +}; +declare type TeamsGetByNameResponseOrganization = { + avatar_url: string; + blog: string; + company: string; + created_at: string; + description: string; + email: string; + events_url: string; + followers: number; + following: number; + has_organization_projects: boolean; + has_repository_projects: boolean; + hooks_url: string; + html_url: string; + id: number; + is_verified: boolean; + issues_url: string; + location: string; + login: string; + members_url: string; + name: string; + node_id: string; + public_gists: number; + public_members_url: string; + public_repos: number; + repos_url: string; + type: string; + url: string; +}; +declare type TeamsGetByNameResponse = { + created_at: string; + description: string; + html_url: string; + id: number; + members_count: number; + members_url: string; + name: string; + node_id: string; + organization: TeamsGetByNameResponseOrganization; + parent: null; + permission: string; + privacy: string; + repos_count: number; + repositories_url: string; + slug: string; + updated_at: string; + url: string; +}; +declare type TeamsGetResponseOrganization = { + avatar_url: string; + blog: string; + company: string; + created_at: string; + description: string; + email: string; + events_url: string; + followers: number; + following: number; + has_organization_projects: boolean; + has_repository_projects: boolean; + hooks_url: string; + html_url: string; + id: number; + is_verified: boolean; + issues_url: string; + location: string; + login: string; + members_url: string; + name: string; + node_id: string; + public_gists: number; + public_members_url: string; + public_repos: number; + repos_url: string; + type: string; + url: string; +}; +declare type TeamsGetResponse = { + created_at: string; + description: string; + html_url: string; + id: number; + members_count: number; + members_url: string; + name: string; + node_id: string; + organization: TeamsGetResponseOrganization; + parent: null; + permission: string; + privacy: string; + repos_count: number; + repositories_url: string; + slug: string; + updated_at: string; + url: string; +}; +declare type TeamsCreateDiscussionLegacyResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; +}; +declare type TeamsCreateDiscussionLegacyResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsCreateDiscussionLegacyResponse = { + author: TeamsCreateDiscussionLegacyResponseAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + html_url: string; + last_edited_at: null; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + reactions: TeamsCreateDiscussionLegacyResponseReactions; + team_url: string; + title: string; + updated_at: string; + url: string; +}; +declare type TeamsCreateDiscussionInOrgResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; +}; +declare type TeamsCreateDiscussionInOrgResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsCreateDiscussionInOrgResponse = { + author: TeamsCreateDiscussionInOrgResponseAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + html_url: string; + last_edited_at: null; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + reactions: TeamsCreateDiscussionInOrgResponseReactions; + team_url: string; + title: string; + updated_at: string; + url: string; +}; +declare type TeamsCreateDiscussionCommentLegacyResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; +}; +declare type TeamsCreateDiscussionCommentLegacyResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsCreateDiscussionCommentLegacyResponse = { + author: TeamsCreateDiscussionCommentLegacyResponseAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + discussion_url: string; + html_url: string; + last_edited_at: null; + node_id: string; + number: number; + reactions: TeamsCreateDiscussionCommentLegacyResponseReactions; + updated_at: string; + url: string; +}; +declare type TeamsCreateDiscussionCommentInOrgResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; +}; +declare type TeamsCreateDiscussionCommentInOrgResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsCreateDiscussionCommentInOrgResponse = { + author: TeamsCreateDiscussionCommentInOrgResponseAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + discussion_url: string; + html_url: string; + last_edited_at: null; + node_id: string; + number: number; + reactions: TeamsCreateDiscussionCommentInOrgResponseReactions; + updated_at: string; + url: string; +}; +declare type TeamsCreateDiscussionCommentResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; +}; +declare type TeamsCreateDiscussionCommentResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsCreateDiscussionCommentResponse = { + author: TeamsCreateDiscussionCommentResponseAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + discussion_url: string; + html_url: string; + last_edited_at: null; + node_id: string; + number: number; + reactions: TeamsCreateDiscussionCommentResponseReactions; + updated_at: string; + url: string; +}; +declare type TeamsCreateDiscussionResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; +}; +declare type TeamsCreateDiscussionResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsCreateDiscussionResponse = { + author: TeamsCreateDiscussionResponseAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + html_url: string; + last_edited_at: null; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + reactions: TeamsCreateDiscussionResponseReactions; + team_url: string; + title: string; + updated_at: string; + url: string; +}; +declare type TeamsCreateResponseOrganization = { + avatar_url: string; + blog: string; + company: string; + created_at: string; + description: string; + email: string; + events_url: string; + followers: number; + following: number; + has_organization_projects: boolean; + has_repository_projects: boolean; + hooks_url: string; + html_url: string; + id: number; + is_verified: boolean; + issues_url: string; + location: string; + login: string; + members_url: string; + name: string; + node_id: string; + public_gists: number; + public_members_url: string; + public_repos: number; + repos_url: string; + type: string; + url: string; +}; +declare type TeamsCreateResponse = { + created_at: string; + description: string; + html_url: string; + id: number; + members_count: number; + members_url: string; + name: string; + node_id: string; + organization: TeamsCreateResponseOrganization; + parent: null; + permission: string; + privacy: string; + repos_count: number; + repositories_url: string; + slug: string; + updated_at: string; + url: string; +}; +declare type TeamsCheckManagesRepoLegacyResponsePermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type TeamsCheckManagesRepoLegacyResponseOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsCheckManagesRepoLegacyResponse = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: TeamsCheckManagesRepoLegacyResponseOwner; + permissions: TeamsCheckManagesRepoLegacyResponsePermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type TeamsCheckManagesRepoInOrgResponsePermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type TeamsCheckManagesRepoInOrgResponseOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsCheckManagesRepoInOrgResponse = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: TeamsCheckManagesRepoInOrgResponseOwner; + permissions: TeamsCheckManagesRepoInOrgResponsePermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type TeamsCheckManagesRepoResponsePermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type TeamsCheckManagesRepoResponseOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsCheckManagesRepoResponse = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: TeamsCheckManagesRepoResponseOwner; + permissions: TeamsCheckManagesRepoResponsePermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type TeamsAddOrUpdateProjectLegacyResponse = { + documentation_url: string; + message: string; +}; +declare type TeamsAddOrUpdateProjectInOrgResponse = { + documentation_url: string; + message: string; +}; +declare type TeamsAddOrUpdateProjectResponse = { + documentation_url: string; + message: string; +}; +declare type TeamsAddOrUpdateMembershipLegacyResponse = { + role: string; + state: string; + url: string; +}; +declare type TeamsAddOrUpdateMembershipInOrgResponse = { + role: string; + state: string; + url: string; +}; +declare type TeamsAddOrUpdateMembershipResponse = { + role: string; + state: string; + url: string; +}; +declare type TeamsAddMemberLegacyResponseErrorsItem = { + code: string; + field: string; + resource: string; +}; +declare type TeamsAddMemberLegacyResponse = { + errors: Array; + message: string; +}; +declare type TeamsAddMemberResponseErrorsItem = { + code: string; + field: string; + resource: string; +}; +declare type TeamsAddMemberResponse = { + errors: Array; + message: string; +}; +declare type SearchUsersLegacyResponseUsersItem = { + created: string; + created_at: string; + followers: number; + followers_count: number; + fullname: string; + gravatar_id: string; + id: string; + language: string; + location: string; + login: string; + name: string; + public_repo_count: number; + repos: number; + score: number; + type: string; + username: string; +}; +declare type SearchUsersLegacyResponse = { + users: Array; +}; +declare type SearchUsersResponseItemsItem = { + avatar_url: string; + followers_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + score: number; + subscriptions_url: string; + type: string; + url: string; +}; +declare type SearchUsersResponse = { + incomplete_results: boolean; + items: Array; + total_count: number; +}; +declare type SearchTopicsResponseItemsItem = { + created_at: string; + created_by: string; + curated: boolean; + description: string; + display_name: string; + featured: boolean; + name: string; + released: string; + score: number; + short_description: string; + updated_at: string; +}; +declare type SearchTopicsResponse = { + incomplete_results: boolean; + items: Array; + total_count: number; +}; +declare type SearchReposLegacyResponseRepositoriesItem = { + created: string; + created_at: string; + description: string; + followers: number; + fork: boolean; + forks: number; + has_downloads: boolean; + has_issues: boolean; + has_wiki: boolean; + homepage: string; + language: string; + name: string; + open_issues: number; + owner: string; + private: boolean; + pushed: string; + pushed_at: string; + score: number; + size: number; + type: string; + url: string; + username: string; + watchers: number; +}; +declare type SearchReposLegacyResponse = { + repositories: Array; +}; +declare type SearchReposResponseItemsItemOwner = { + avatar_url: string; + gravatar_id: string; + id: number; + login: string; + node_id: string; + received_events_url: string; + type: string; + url: string; +}; +declare type SearchReposResponseItemsItem = { + created_at: string; + default_branch: string; + description: string; + fork: boolean; + forks_count: number; + full_name: string; + homepage: string; + html_url: string; + id: number; + language: string; + master_branch: string; + name: string; + node_id: string; + open_issues_count: number; + owner: SearchReposResponseItemsItemOwner; + private: boolean; + pushed_at: string; + score: number; + size: number; + stargazers_count: number; + updated_at: string; + url: string; + watchers_count: number; +}; +declare type SearchReposResponse = { + incomplete_results: boolean; + items: Array; + total_count: number; +}; +declare type SearchLabelsResponseItemsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + score: number; + url: string; +}; +declare type SearchLabelsResponse = { + incomplete_results: boolean; + items: Array; + total_count: number; +}; +declare type SearchIssuesLegacyResponseIssuesItem = { + body: string; + comments: number; + created_at: string; + gravatar_id: string; + html_url: string; + labels: Array; + number: number; + position: number; + state: string; + title: string; + updated_at: string; + user: string; + votes: number; +}; +declare type SearchIssuesLegacyResponse = { + issues: Array; +}; +declare type SearchIssuesAndPullRequestsResponseItemsItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type SearchIssuesAndPullRequestsResponseItemsItemPullRequest = { + diff_url: null; + html_url: null; + patch_url: null; +}; +declare type SearchIssuesAndPullRequestsResponseItemsItemLabelsItem = { + color: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare type SearchIssuesAndPullRequestsResponseItemsItem = { + assignee: null; + body: string; + closed_at: null; + comments: number; + comments_url: string; + created_at: string; + events_url: string; + html_url: string; + id: number; + labels: Array; + labels_url: string; + milestone: null; + node_id: string; + number: number; + pull_request: SearchIssuesAndPullRequestsResponseItemsItemPullRequest; + repository_url: string; + score: number; + state: string; + title: string; + updated_at: string; + url: string; + user: SearchIssuesAndPullRequestsResponseItemsItemUser; +}; +declare type SearchIssuesAndPullRequestsResponse = { + incomplete_results: boolean; + items: Array; + total_count: number; +}; +declare type SearchIssuesResponseItemsItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type SearchIssuesResponseItemsItemPullRequest = { + diff_url: null; + html_url: null; + patch_url: null; +}; +declare type SearchIssuesResponseItemsItemLabelsItem = { + color: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare type SearchIssuesResponseItemsItem = { + assignee: null; + body: string; + closed_at: null; + comments: number; + comments_url: string; + created_at: string; + events_url: string; + html_url: string; + id: number; + labels: Array; + labels_url: string; + milestone: null; + node_id: string; + number: number; + pull_request: SearchIssuesResponseItemsItemPullRequest; + repository_url: string; + score: number; + state: string; + title: string; + updated_at: string; + url: string; + user: SearchIssuesResponseItemsItemUser; +}; +declare type SearchIssuesResponse = { + incomplete_results: boolean; + items: Array; + total_count: number; +}; +declare type SearchEmailLegacyResponseUser = { + blog: string; + company: string; + created: string; + created_at: string; + email: string; + followers_count: number; + following_count: number; + gravatar_id: string; + id: number; + location: string; + login: string; + name: string; + public_gist_count: number; + public_repo_count: number; + type: string; +}; +declare type SearchEmailLegacyResponse = { + user: SearchEmailLegacyResponseUser; +}; +declare type SearchCommitsResponseItemsItemRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type SearchCommitsResponseItemsItemRepository = { + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + description: string; + downloads_url: string; + events_url: string; + fork: boolean; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + hooks_url: string; + html_url: string; + id: number; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + name: string; + node_id: string; + notifications_url: string; + owner: SearchCommitsResponseItemsItemRepositoryOwner; + private: boolean; + pulls_url: string; + releases_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + url: string; +}; +declare type SearchCommitsResponseItemsItemParentsItem = { + html_url: string; + sha: string; + url: string; +}; +declare type SearchCommitsResponseItemsItemCommitter = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type SearchCommitsResponseItemsItemCommitTree = { + sha: string; + url: string; +}; +declare type SearchCommitsResponseItemsItemCommitCommitter = { + date: string; + email: string; + name: string; +}; +declare type SearchCommitsResponseItemsItemCommitAuthor = { + date: string; + email: string; + name: string; +}; +declare type SearchCommitsResponseItemsItemCommit = { + author: SearchCommitsResponseItemsItemCommitAuthor; + comment_count: number; + committer: SearchCommitsResponseItemsItemCommitCommitter; + message: string; + tree: SearchCommitsResponseItemsItemCommitTree; + url: string; +}; +declare type SearchCommitsResponseItemsItemAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type SearchCommitsResponseItemsItem = { + author: SearchCommitsResponseItemsItemAuthor; + comments_url: string; + commit: SearchCommitsResponseItemsItemCommit; + committer: SearchCommitsResponseItemsItemCommitter; + html_url: string; + parents: Array; + repository: SearchCommitsResponseItemsItemRepository; + score: number; + sha: string; + url: string; +}; +declare type SearchCommitsResponse = { + incomplete_results: boolean; + items: Array; + total_count: number; +}; +declare type SearchCodeResponseItemsItemRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type SearchCodeResponseItemsItemRepository = { + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + description: string; + downloads_url: string; + events_url: string; + fork: boolean; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + hooks_url: string; + html_url: string; + id: number; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + name: string; + node_id: string; + notifications_url: string; + owner: SearchCodeResponseItemsItemRepositoryOwner; + private: boolean; + pulls_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + url: string; +}; +declare type SearchCodeResponseItemsItem = { + git_url: string; + html_url: string; + name: string; + path: string; + repository: SearchCodeResponseItemsItemRepository; + score: number; + sha: string; + url: string; +}; +declare type SearchCodeResponse = { + incomplete_results: boolean; + items: Array; + total_count: number; +}; +declare type ReposUploadReleaseAssetResponseValueUploader = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposUploadReleaseAssetResponseValue = { + browser_download_url: string; + content_type: string; + created_at: string; + download_count: number; + id: number; + label: string; + name: string; + node_id: string; + size: number; + state: string; + updated_at: string; + uploader: ReposUploadReleaseAssetResponseValueUploader; + url: string; +}; +declare type ReposUploadReleaseAssetResponse = { + value: ReposUploadReleaseAssetResponseValue; +}; +declare type ReposUpdateReleaseAssetResponseUploader = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposUpdateReleaseAssetResponse = { + browser_download_url: string; + content_type: string; + created_at: string; + download_count: number; + id: number; + label: string; + name: string; + node_id: string; + size: number; + state: string; + updated_at: string; + uploader: ReposUpdateReleaseAssetResponseUploader; + url: string; +}; +declare type ReposUpdateReleaseResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposUpdateReleaseResponseAssetsItemUploader = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposUpdateReleaseResponseAssetsItem = { + browser_download_url: string; + content_type: string; + created_at: string; + download_count: number; + id: number; + label: string; + name: string; + node_id: string; + size: number; + state: string; + updated_at: string; + uploader: ReposUpdateReleaseResponseAssetsItemUploader; + url: string; +}; +declare type ReposUpdateReleaseResponse = { + assets: Array; + assets_url: string; + author: ReposUpdateReleaseResponseAuthor; + body: string; + created_at: string; + draft: boolean; + html_url: string; + id: number; + name: string; + node_id: string; + prerelease: boolean; + published_at: string; + tag_name: string; + tarball_url: string; + target_commitish: string; + upload_url: string; + url: string; + zipball_url: string; +}; +declare type ReposUpdateProtectedBranchRequiredStatusChecksResponse = { + contexts: Array; + contexts_url: string; + strict: boolean; + url: string; +}; +declare type ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictionsUsersItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictionsTeamsItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; +}; +declare type ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictions = { + teams: Array; + teams_url: string; + url: string; + users: Array; + users_url: string; +}; +declare type ReposUpdateProtectedBranchPullRequestReviewEnforcementResponse = { + dismiss_stale_reviews: boolean; + dismissal_restrictions: ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictions; + require_code_owner_reviews: boolean; + required_approving_review_count: number; + url: string; +}; +declare type ReposUpdateInvitationResponseRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposUpdateInvitationResponseRepository = { + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + description: string; + downloads_url: string; + events_url: string; + fork: boolean; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + html_url: string; + id: number; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + name: string; + node_id: string; + notifications_url: string; + owner: ReposUpdateInvitationResponseRepositoryOwner; + private: boolean; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + url: string; +}; +declare type ReposUpdateInvitationResponseInviter = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposUpdateInvitationResponseInvitee = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposUpdateInvitationResponse = { + created_at: string; + html_url: string; + id: number; + invitee: ReposUpdateInvitationResponseInvitee; + inviter: ReposUpdateInvitationResponseInviter; + permissions: string; + repository: ReposUpdateInvitationResponseRepository; + url: string; +}; +declare type ReposUpdateHookResponseLastResponse = { + code: null; + message: null; + status: string; +}; +declare type ReposUpdateHookResponseConfig = { + content_type: string; + insecure_ssl: string; + url: string; +}; +declare type ReposUpdateHookResponse = { + active: boolean; + config: ReposUpdateHookResponseConfig; + created_at: string; + events: Array; + id: number; + last_response: ReposUpdateHookResponseLastResponse; + name: string; + ping_url: string; + test_url: string; + type: string; + updated_at: string; + url: string; +}; +declare type ReposUpdateFileResponseContentLinks = { + git: string; + html: string; + self: string; +}; +declare type ReposUpdateFileResponseContent = { + _links: ReposUpdateFileResponseContentLinks; + download_url: string; + git_url: string; + html_url: string; + name: string; + path: string; + sha: string; + size: number; + type: string; + url: string; +}; +declare type ReposUpdateFileResponseCommitVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; +}; +declare type ReposUpdateFileResponseCommitTree = { + sha: string; + url: string; +}; +declare type ReposUpdateFileResponseCommitParentsItem = { + html_url: string; + sha: string; + url: string; +}; +declare type ReposUpdateFileResponseCommitCommitter = { + date: string; + email: string; + name: string; +}; +declare type ReposUpdateFileResponseCommitAuthor = { + date: string; + email: string; + name: string; +}; +declare type ReposUpdateFileResponseCommit = { + author: ReposUpdateFileResponseCommitAuthor; + committer: ReposUpdateFileResponseCommitCommitter; + html_url: string; + message: string; + node_id: string; + parents: Array; + sha: string; + tree: ReposUpdateFileResponseCommitTree; + url: string; + verification: ReposUpdateFileResponseCommitVerification; +}; +declare type ReposUpdateFileResponse = { + commit: ReposUpdateFileResponseCommit; + content: ReposUpdateFileResponseContent; +}; +declare type ReposUpdateCommitCommentResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposUpdateCommitCommentResponse = { + body: string; + commit_id: string; + created_at: string; + html_url: string; + id: number; + line: number; + node_id: string; + path: string; + position: number; + updated_at: string; + url: string; + user: ReposUpdateCommitCommentResponseUser; +}; +declare type ReposUpdateBranchProtectionResponseRestrictionsUsersItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposUpdateBranchProtectionResponseRestrictionsTeamsItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; +}; +declare type ReposUpdateBranchProtectionResponseRestrictionsAppsItemPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; +}; +declare type ReposUpdateBranchProtectionResponseRestrictionsAppsItemOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; +}; +declare type ReposUpdateBranchProtectionResponseRestrictionsAppsItem = { + created_at: string; + description: string; + events: Array; + external_url: string; + html_url: string; + id: number; + name: string; + node_id: string; + owner: ReposUpdateBranchProtectionResponseRestrictionsAppsItemOwner; + permissions: ReposUpdateBranchProtectionResponseRestrictionsAppsItemPermissions; + slug: string; + updated_at: string; +}; +declare type ReposUpdateBranchProtectionResponseRestrictions = { + apps: Array; + apps_url: string; + teams: Array; + teams_url: string; + url: string; + users: Array; + users_url: string; +}; +declare type ReposUpdateBranchProtectionResponseRequiredStatusChecks = { + contexts: Array; + contexts_url: string; + strict: boolean; + url: string; +}; +declare type ReposUpdateBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictionsUsersItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposUpdateBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictionsTeamsItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; +}; +declare type ReposUpdateBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictions = { + teams: Array; + teams_url: string; + url: string; + users: Array; + users_url: string; +}; +declare type ReposUpdateBranchProtectionResponseRequiredPullRequestReviews = { + dismiss_stale_reviews: boolean; + dismissal_restrictions: ReposUpdateBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictions; + require_code_owner_reviews: boolean; + required_approving_review_count: number; + url: string; +}; +declare type ReposUpdateBranchProtectionResponseRequiredLinearHistory = { + enabled: boolean; +}; +declare type ReposUpdateBranchProtectionResponseEnforceAdmins = { + enabled: boolean; + url: string; +}; +declare type ReposUpdateBranchProtectionResponseAllowForcePushes = { + enabled: boolean; +}; +declare type ReposUpdateBranchProtectionResponseAllowDeletions = { + enabled: boolean; +}; +declare type ReposUpdateBranchProtectionResponse = { + allow_deletions: ReposUpdateBranchProtectionResponseAllowDeletions; + allow_force_pushes: ReposUpdateBranchProtectionResponseAllowForcePushes; + enforce_admins: ReposUpdateBranchProtectionResponseEnforceAdmins; + required_linear_history: ReposUpdateBranchProtectionResponseRequiredLinearHistory; + required_pull_request_reviews: ReposUpdateBranchProtectionResponseRequiredPullRequestReviews; + required_status_checks: ReposUpdateBranchProtectionResponseRequiredStatusChecks; + restrictions: ReposUpdateBranchProtectionResponseRestrictions; + url: string; +}; +declare type ReposUpdateResponseSourcePermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type ReposUpdateResponseSourceOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposUpdateResponseSource = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ReposUpdateResponseSourceOwner; + permissions: ReposUpdateResponseSourcePermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type ReposUpdateResponsePermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type ReposUpdateResponseParentPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type ReposUpdateResponseParentOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposUpdateResponseParent = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ReposUpdateResponseParentOwner; + permissions: ReposUpdateResponseParentPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type ReposUpdateResponseOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposUpdateResponseOrganization = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposUpdateResponse = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + organization: ReposUpdateResponseOrganization; + owner: ReposUpdateResponseOwner; + parent: ReposUpdateResponseParent; + permissions: ReposUpdateResponsePermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + source: ReposUpdateResponseSource; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type ReposTransferResponsePermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type ReposTransferResponseOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposTransferResponse = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ReposTransferResponseOwner; + permissions: ReposTransferResponsePermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseFilesReadme = { + html_url: string; + url: string; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseFilesPullRequestTemplate = { + html_url: string; + url: string; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseFilesLicense = { + html_url: string; + key: string; + name: string; + spdx_id: string; + url: string; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseFilesIssueTemplate = { + html_url: string; + url: string; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseFilesContributing = { + html_url: string; + url: string; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseFilesCodeOfConduct = { + html_url: string; + key: string; + name: string; + url: string; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseFiles = { + code_of_conduct: ReposRetrieveCommunityProfileMetricsResponseFilesCodeOfConduct; + contributing: ReposRetrieveCommunityProfileMetricsResponseFilesContributing; + issue_template: ReposRetrieveCommunityProfileMetricsResponseFilesIssueTemplate; + license: ReposRetrieveCommunityProfileMetricsResponseFilesLicense; + pull_request_template: ReposRetrieveCommunityProfileMetricsResponseFilesPullRequestTemplate; + readme: ReposRetrieveCommunityProfileMetricsResponseFilesReadme; +}; +declare type ReposRetrieveCommunityProfileMetricsResponse = { + description: string; + documentation: boolean; + files: ReposRetrieveCommunityProfileMetricsResponseFiles; + health_percentage: number; + updated_at: string; +}; +declare type ReposRequestPageBuildResponse = { + status: string; + url: string; +}; +declare type ReposReplaceTopicsResponse = { + names: Array; +}; +declare type ReposReplaceProtectedBranchUserRestrictionsResponseItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposReplaceProtectedBranchTeamRestrictionsResponseItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; +}; +declare type ReposReplaceProtectedBranchAppRestrictionsResponseItemPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; +}; +declare type ReposReplaceProtectedBranchAppRestrictionsResponseItemOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; +}; +declare type ReposReplaceProtectedBranchAppRestrictionsResponseItem = { + created_at: string; + description: string; + events: Array; + external_url: string; + html_url: string; + id: number; + name: string; + node_id: string; + owner: ReposReplaceProtectedBranchAppRestrictionsResponseItemOwner; + permissions: ReposReplaceProtectedBranchAppRestrictionsResponseItemPermissions; + slug: string; + updated_at: string; +}; +declare type ReposRemoveProtectedBranchUserRestrictionsResponseItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposRemoveProtectedBranchTeamRestrictionsResponseItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; +}; +declare type ReposRemoveProtectedBranchAppRestrictionsResponseItemPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; +}; +declare type ReposRemoveProtectedBranchAppRestrictionsResponseItemOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; +}; +declare type ReposRemoveProtectedBranchAppRestrictionsResponseItem = { + created_at: string; + description: string; + events: Array; + external_url: string; + html_url: string; + id: number; + name: string; + node_id: string; + owner: ReposRemoveProtectedBranchAppRestrictionsResponseItemOwner; + permissions: ReposRemoveProtectedBranchAppRestrictionsResponseItemPermissions; + slug: string; + updated_at: string; +}; +declare type ReposMergeResponseParentsItem = { + sha: string; + url: string; +}; +declare type ReposMergeResponseCommitter = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposMergeResponseCommitVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; +}; +declare type ReposMergeResponseCommitTree = { + sha: string; + url: string; +}; +declare type ReposMergeResponseCommitCommitter = { + date: string; + email: string; + name: string; +}; +declare type ReposMergeResponseCommitAuthor = { + date: string; + email: string; + name: string; +}; +declare type ReposMergeResponseCommit = { + author: ReposMergeResponseCommitAuthor; + comment_count: number; + committer: ReposMergeResponseCommitCommitter; + message: string; + tree: ReposMergeResponseCommitTree; + url: string; + verification: ReposMergeResponseCommitVerification; +}; +declare type ReposMergeResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposMergeResponse = { + author: ReposMergeResponseAuthor; + comments_url: string; + commit: ReposMergeResponseCommit; + committer: ReposMergeResponseCommitter; + html_url: string; + node_id: string; + parents: Array; + sha: string; + url: string; +}; +declare type ReposListUsersWithAccessToProtectedBranchResponseItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposListTopicsResponse = { + names: Array; +}; +declare type ReposListTeamsWithAccessToProtectedBranchResponseItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; +}; +declare type ReposListTeamsResponseItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; +}; +declare type ReposListTagsResponseItemCommit = { + sha: string; + url: string; +}; +declare type ReposListTagsResponseItem = { + commit: ReposListTagsResponseItemCommit; + name: string; + tarball_url: string; + zipball_url: string; +}; +declare type ReposListStatusesForRefResponseItemCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposListStatusesForRefResponseItem = { + avatar_url: string; + context: string; + created_at: string; + creator: ReposListStatusesForRefResponseItemCreator; + description: string; + id: number; + node_id: string; + state: string; + target_url: string; + updated_at: string; + url: string; +}; +declare type ReposListReleasesResponseItemAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposListReleasesResponseItemAssetsItemUploader = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposListReleasesResponseItemAssetsItem = { + browser_download_url: string; + content_type: string; + created_at: string; + download_count: number; + id: number; + label: string; + name: string; + node_id: string; + size: number; + state: string; + updated_at: string; + uploader: ReposListReleasesResponseItemAssetsItemUploader; + url: string; +}; +declare type ReposListReleasesResponseItem = { + assets: Array; + assets_url: string; + author: ReposListReleasesResponseItemAuthor; + body: string; + created_at: string; + draft: boolean; + html_url: string; + id: number; + name: string; + node_id: string; + prerelease: boolean; + published_at: string; + tag_name: string; + tarball_url: string; + target_commitish: string; + upload_url: string; + url: string; + zipball_url: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseItemRequestedTeamsItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseItemRequestedReviewersItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseItemMilestoneCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseItemMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: ReposListPullRequestsAssociatedWithCommitResponseItemMilestoneCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseItemLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseItemHeadUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseItemHeadRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseItemHeadRepoOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseItemHeadRepo = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ReposListPullRequestsAssociatedWithCommitResponseItemHeadRepoOwner; + permissions: ReposListPullRequestsAssociatedWithCommitResponseItemHeadRepoPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseItemHead = { + label: string; + ref: string; + repo: ReposListPullRequestsAssociatedWithCommitResponseItemHeadRepo; + sha: string; + user: ReposListPullRequestsAssociatedWithCommitResponseItemHeadUser; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseItemBaseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseItemBaseRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseItemBaseRepoOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseItemBaseRepo = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ReposListPullRequestsAssociatedWithCommitResponseItemBaseRepoOwner; + permissions: ReposListPullRequestsAssociatedWithCommitResponseItemBaseRepoPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseItemBase = { + label: string; + ref: string; + repo: ReposListPullRequestsAssociatedWithCommitResponseItemBaseRepo; + sha: string; + user: ReposListPullRequestsAssociatedWithCommitResponseItemBaseUser; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseItemAssigneesItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseItemAssignee = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseItemLinksStatuses = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseItemLinksSelf = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseItemLinksReviewComments = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseItemLinksReviewComment = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseItemLinksIssue = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseItemLinksHtml = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseItemLinksCommits = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseItemLinksComments = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseItemLinks = { + comments: ReposListPullRequestsAssociatedWithCommitResponseItemLinksComments; + commits: ReposListPullRequestsAssociatedWithCommitResponseItemLinksCommits; + html: ReposListPullRequestsAssociatedWithCommitResponseItemLinksHtml; + issue: ReposListPullRequestsAssociatedWithCommitResponseItemLinksIssue; + review_comment: ReposListPullRequestsAssociatedWithCommitResponseItemLinksReviewComment; + review_comments: ReposListPullRequestsAssociatedWithCommitResponseItemLinksReviewComments; + self: ReposListPullRequestsAssociatedWithCommitResponseItemLinksSelf; + statuses: ReposListPullRequestsAssociatedWithCommitResponseItemLinksStatuses; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseItem = { + _links: ReposListPullRequestsAssociatedWithCommitResponseItemLinks; + active_lock_reason: string; + assignee: ReposListPullRequestsAssociatedWithCommitResponseItemAssignee; + assignees: Array; + author_association: string; + base: ReposListPullRequestsAssociatedWithCommitResponseItemBase; + body: string; + closed_at: string; + comments_url: string; + commits_url: string; + created_at: string; + diff_url: string; + draft: boolean; + head: ReposListPullRequestsAssociatedWithCommitResponseItemHead; + html_url: string; + id: number; + issue_url: string; + labels: Array; + locked: boolean; + merge_commit_sha: string; + merged_at: string; + milestone: ReposListPullRequestsAssociatedWithCommitResponseItemMilestone; + node_id: string; + number: number; + patch_url: string; + requested_reviewers: Array; + requested_teams: Array; + review_comment_url: string; + review_comments_url: string; + state: string; + statuses_url: string; + title: string; + updated_at: string; + url: string; + user: ReposListPullRequestsAssociatedWithCommitResponseItemUser; +}; +declare type ReposListPublicResponseItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposListPublicResponseItem = { + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + description: string; + downloads_url: string; + events_url: string; + fork: boolean; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + html_url: string; + id: number; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + name: string; + node_id: string; + notifications_url: string; + owner: ReposListPublicResponseItemOwner; + private: boolean; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + url: string; +}; +declare type ReposListProtectedBranchUserRestrictionsResponseItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposListProtectedBranchTeamRestrictionsResponseItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; +}; +declare type ReposListPagesBuildsResponseItemPusher = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposListPagesBuildsResponseItemError = { + message: null; +}; +declare type ReposListPagesBuildsResponseItem = { + commit: string; + created_at: string; + duration: number; + error: ReposListPagesBuildsResponseItemError; + pusher: ReposListPagesBuildsResponseItemPusher; + status: string; + updated_at: string; + url: string; +}; +declare type ReposListLanguagesResponse = { + C: number; + Python: number; +}; +declare type ReposListInvitationsForAuthenticatedUserResponseItemRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposListInvitationsForAuthenticatedUserResponseItemRepository = { + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + description: string; + downloads_url: string; + events_url: string; + fork: boolean; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + html_url: string; + id: number; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + name: string; + node_id: string; + notifications_url: string; + owner: ReposListInvitationsForAuthenticatedUserResponseItemRepositoryOwner; + private: boolean; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + url: string; +}; +declare type ReposListInvitationsForAuthenticatedUserResponseItemInviter = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposListInvitationsForAuthenticatedUserResponseItemInvitee = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposListInvitationsForAuthenticatedUserResponseItem = { + created_at: string; + html_url: string; + id: number; + invitee: ReposListInvitationsForAuthenticatedUserResponseItemInvitee; + inviter: ReposListInvitationsForAuthenticatedUserResponseItemInviter; + permissions: string; + repository: ReposListInvitationsForAuthenticatedUserResponseItemRepository; + url: string; +}; +declare type ReposListInvitationsResponseItemRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposListInvitationsResponseItemRepository = { + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + description: string; + downloads_url: string; + events_url: string; + fork: boolean; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + html_url: string; + id: number; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + name: string; + node_id: string; + notifications_url: string; + owner: ReposListInvitationsResponseItemRepositoryOwner; + private: boolean; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + url: string; +}; +declare type ReposListInvitationsResponseItemInviter = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposListInvitationsResponseItemInvitee = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposListInvitationsResponseItem = { + created_at: string; + html_url: string; + id: number; + invitee: ReposListInvitationsResponseItemInvitee; + inviter: ReposListInvitationsResponseItemInviter; + permissions: string; + repository: ReposListInvitationsResponseItemRepository; + url: string; +}; +declare type ReposListHooksResponseItemLastResponse = { + code: null; + message: null; + status: string; +}; +declare type ReposListHooksResponseItemConfig = { + content_type: string; + insecure_ssl: string; + url: string; +}; +declare type ReposListHooksResponseItem = { + active: boolean; + config: ReposListHooksResponseItemConfig; + created_at: string; + events: Array; + id: number; + last_response: ReposListHooksResponseItemLastResponse; + name: string; + ping_url: string; + test_url: string; + type: string; + updated_at: string; + url: string; +}; +declare type ReposListForksResponseItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type ReposListForksResponseItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposListForksResponseItemLicense = { + key: string; + name: string; + node_id: string; + spdx_id: string; + url: string; +}; +declare type ReposListForksResponseItem = { + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + license: ReposListForksResponseItemLicense; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ReposListForksResponseItemOwner; + permissions: ReposListForksResponseItemPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type ReposListForOrgResponseItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type ReposListForOrgResponseItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposListForOrgResponseItemLicense = { + key: string; + name: string; + node_id: string; + spdx_id: string; + url: string; +}; +declare type ReposListForOrgResponseItem = { + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + license: ReposListForOrgResponseItemLicense; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ReposListForOrgResponseItemOwner; + permissions: ReposListForOrgResponseItemPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type ReposListDownloadsResponseItem = { + content_type: string; + description: string; + download_count: number; + html_url: string; + id: number; + name: string; + size: number; + url: string; +}; +declare type ReposListDeploymentsResponseItemPayload = { + deploy: string; +}; +declare type ReposListDeploymentsResponseItemCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposListDeploymentsResponseItem = { + created_at: string; + creator: ReposListDeploymentsResponseItemCreator; + description: string; + environment: string; + id: number; + node_id: string; + original_environment: string; + payload: ReposListDeploymentsResponseItemPayload; + production_environment: boolean; + ref: string; + repository_url: string; + sha: string; + statuses_url: string; + task: string; + transient_environment: boolean; + updated_at: string; + url: string; +}; +declare type ReposListDeploymentStatusesResponseItemCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposListDeploymentStatusesResponseItem = { + created_at: string; + creator: ReposListDeploymentStatusesResponseItemCreator; + deployment_url: string; + description: string; + environment: string; + environment_url: string; + id: number; + log_url: string; + node_id: string; + repository_url: string; + state: string; + target_url: string; + updated_at: string; + url: string; +}; +declare type ReposListDeployKeysResponseItem = { + created_at: string; + id: number; + key: string; + read_only: boolean; + title: string; + url: string; + verified: boolean; +}; +declare type ReposListContributorsResponseItem = { + avatar_url: string; + contributions: number; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposListCommitsResponseItemParentsItem = { + sha: string; + url: string; +}; +declare type ReposListCommitsResponseItemCommitter = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposListCommitsResponseItemCommitVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; +}; +declare type ReposListCommitsResponseItemCommitTree = { + sha: string; + url: string; +}; +declare type ReposListCommitsResponseItemCommitCommitter = { + date: string; + email: string; + name: string; +}; +declare type ReposListCommitsResponseItemCommitAuthor = { + date: string; + email: string; + name: string; +}; +declare type ReposListCommitsResponseItemCommit = { + author: ReposListCommitsResponseItemCommitAuthor; + comment_count: number; + committer: ReposListCommitsResponseItemCommitCommitter; + message: string; + tree: ReposListCommitsResponseItemCommitTree; + url: string; + verification: ReposListCommitsResponseItemCommitVerification; +}; +declare type ReposListCommitsResponseItemAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposListCommitsResponseItem = { + author: ReposListCommitsResponseItemAuthor; + comments_url: string; + commit: ReposListCommitsResponseItemCommit; + committer: ReposListCommitsResponseItemCommitter; + html_url: string; + node_id: string; + parents: Array; + sha: string; + url: string; +}; +declare type ReposListCommitCommentsResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposListCommitCommentsResponseItem = { + body: string; + commit_id: string; + created_at: string; + html_url: string; + id: number; + line: number; + node_id: string; + path: string; + position: number; + updated_at: string; + url: string; + user: ReposListCommitCommentsResponseItemUser; +}; +declare type ReposListCommentsForCommitResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposListCommentsForCommitResponseItem = { + body: string; + commit_id: string; + created_at: string; + html_url: string; + id: number; + line: number; + node_id: string; + path: string; + position: number; + updated_at: string; + url: string; + user: ReposListCommentsForCommitResponseItemUser; +}; +declare type ReposListCollaboratorsResponseItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type ReposListCollaboratorsResponseItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + permissions: ReposListCollaboratorsResponseItemPermissions; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposListBranchesForHeadCommitResponseItemCommit = { + sha: string; + url: string; +}; +declare type ReposListBranchesForHeadCommitResponseItem = { + commit: ReposListBranchesForHeadCommitResponseItemCommit; + name: string; + protected: string; +}; +declare type ReposListBranchesResponseItemProtectionRequiredStatusChecks = { + contexts: Array; + enforcement_level: string; +}; +declare type ReposListBranchesResponseItemProtection = { + enabled: boolean; + required_status_checks: ReposListBranchesResponseItemProtectionRequiredStatusChecks; +}; +declare type ReposListBranchesResponseItemCommit = { + sha: string; + url: string; +}; +declare type ReposListBranchesResponseItem = { + commit: ReposListBranchesResponseItemCommit; + name: string; + protected: boolean; + protection: ReposListBranchesResponseItemProtection; + protection_url: string; +}; +declare type ReposListAssetsForReleaseResponseItemUploader = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposListAssetsForReleaseResponseItem = { + browser_download_url: string; + content_type: string; + created_at: string; + download_count: number; + id: number; + label: string; + name: string; + node_id: string; + size: number; + state: string; + updated_at: string; + uploader: ReposListAssetsForReleaseResponseItemUploader; + url: string; +}; +declare type ReposListAppsWithAccessToProtectedBranchResponseItemPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; +}; +declare type ReposListAppsWithAccessToProtectedBranchResponseItemOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; +}; +declare type ReposListAppsWithAccessToProtectedBranchResponseItem = { + created_at: string; + description: string; + events: Array; + external_url: string; + html_url: string; + id: number; + name: string; + node_id: string; + owner: ReposListAppsWithAccessToProtectedBranchResponseItemOwner; + permissions: ReposListAppsWithAccessToProtectedBranchResponseItemPermissions; + slug: string; + updated_at: string; +}; +declare type ReposGetViewsResponseViewsItem = { + count: number; + timestamp: string; + uniques: number; +}; +declare type ReposGetViewsResponse = { + count: number; + uniques: number; + views: Array; +}; +declare type ReposGetUsersWithAccessToProtectedBranchResponseItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposGetTopReferrersResponseItem = { + count: number; + referrer: string; + uniques: number; +}; +declare type ReposGetTopPathsResponseItem = { + count: number; + path: string; + title: string; + uniques: number; +}; +declare type ReposGetTeamsWithAccessToProtectedBranchResponseItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; +}; +declare type ReposGetReleaseByTagResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposGetReleaseByTagResponseAssetsItemUploader = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposGetReleaseByTagResponseAssetsItem = { + browser_download_url: string; + content_type: string; + created_at: string; + download_count: number; + id: number; + label: string; + name: string; + node_id: string; + size: number; + state: string; + updated_at: string; + uploader: ReposGetReleaseByTagResponseAssetsItemUploader; + url: string; +}; +declare type ReposGetReleaseByTagResponse = { + assets: Array; + assets_url: string; + author: ReposGetReleaseByTagResponseAuthor; + body: string; + created_at: string; + draft: boolean; + html_url: string; + id: number; + name: string; + node_id: string; + prerelease: boolean; + published_at: string; + tag_name: string; + tarball_url: string; + target_commitish: string; + upload_url: string; + url: string; + zipball_url: string; +}; +declare type ReposGetReleaseAssetResponseUploader = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposGetReleaseAssetResponse = { + browser_download_url: string; + content_type: string; + created_at: string; + download_count: number; + id: number; + label: string; + name: string; + node_id: string; + size: number; + state: string; + updated_at: string; + uploader: ReposGetReleaseAssetResponseUploader; + url: string; +}; +declare type ReposGetReleaseResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposGetReleaseResponseAssetsItemUploader = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposGetReleaseResponseAssetsItem = { + browser_download_url: string; + content_type: string; + created_at: string; + download_count: number; + id: number; + label: string; + name: string; + node_id: string; + size: number; + state: string; + updated_at: string; + uploader: ReposGetReleaseResponseAssetsItemUploader; + url: string; +}; +declare type ReposGetReleaseResponse = { + assets: Array; + assets_url: string; + author: ReposGetReleaseResponseAuthor; + body: string; + created_at: string; + draft: boolean; + html_url: string; + id: number; + name: string; + node_id: string; + prerelease: boolean; + published_at: string; + tag_name: string; + tarball_url: string; + target_commitish: string; + upload_url: string; + url: string; + zipball_url: string; +}; +declare type ReposGetReadmeResponseLinks = { + git: string; + html: string; + self: string; +}; +declare type ReposGetReadmeResponse = { + _links: ReposGetReadmeResponseLinks; + content: string; + download_url: string; + encoding: string; + git_url: string; + html_url: string; + name: string; + path: string; + sha: string; + size: number; + type: string; + url: string; +}; +declare type ReposGetProtectedBranchRestrictionsResponseUsersItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposGetProtectedBranchRestrictionsResponseTeamsItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; +}; +declare type ReposGetProtectedBranchRestrictionsResponseAppsItemPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; +}; +declare type ReposGetProtectedBranchRestrictionsResponseAppsItemOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; +}; +declare type ReposGetProtectedBranchRestrictionsResponseAppsItem = { + created_at: string; + description: string; + events: Array; + external_url: string; + html_url: string; + id: number; + name: string; + node_id: string; + owner: ReposGetProtectedBranchRestrictionsResponseAppsItemOwner; + permissions: ReposGetProtectedBranchRestrictionsResponseAppsItemPermissions; + slug: string; + updated_at: string; +}; +declare type ReposGetProtectedBranchRestrictionsResponse = { + apps: Array; + apps_url: string; + teams: Array; + teams_url: string; + url: string; + users: Array; + users_url: string; +}; +declare type ReposGetProtectedBranchRequiredStatusChecksResponse = { + contexts: Array; + contexts_url: string; + strict: boolean; + url: string; +}; +declare type ReposGetProtectedBranchRequiredSignaturesResponse = { + enabled: boolean; + url: string; +}; +declare type ReposGetProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictionsUsersItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposGetProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictionsTeamsItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; +}; +declare type ReposGetProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictions = { + teams: Array; + teams_url: string; + url: string; + users: Array; + users_url: string; +}; +declare type ReposGetProtectedBranchPullRequestReviewEnforcementResponse = { + dismiss_stale_reviews: boolean; + dismissal_restrictions: ReposGetProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictions; + require_code_owner_reviews: boolean; + required_approving_review_count: number; + url: string; +}; +declare type ReposGetProtectedBranchAdminEnforcementResponse = { + enabled: boolean; + url: string; +}; +declare type ReposGetParticipationStatsResponse = { + all: Array; + owner: Array; +}; +declare type ReposGetPagesBuildResponsePusher = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposGetPagesBuildResponseError = { + message: null; +}; +declare type ReposGetPagesBuildResponse = { + commit: string; + created_at: string; + duration: number; + error: ReposGetPagesBuildResponseError; + pusher: ReposGetPagesBuildResponsePusher; + status: string; + updated_at: string; + url: string; +}; +declare type ReposGetPagesResponseSource = { + branch: string; + directory: string; +}; +declare type ReposGetPagesResponse = { + cname: string; + custom_404: boolean; + html_url: string; + source: ReposGetPagesResponseSource; + status: string; + url: string; +}; +declare type ReposGetLatestReleaseResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposGetLatestReleaseResponseAssetsItemUploader = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposGetLatestReleaseResponseAssetsItem = { + browser_download_url: string; + content_type: string; + created_at: string; + download_count: number; + id: number; + label: string; + name: string; + node_id: string; + size: number; + state: string; + updated_at: string; + uploader: ReposGetLatestReleaseResponseAssetsItemUploader; + url: string; +}; +declare type ReposGetLatestReleaseResponse = { + assets: Array; + assets_url: string; + author: ReposGetLatestReleaseResponseAuthor; + body: string; + created_at: string; + draft: boolean; + html_url: string; + id: number; + name: string; + node_id: string; + prerelease: boolean; + published_at: string; + tag_name: string; + tarball_url: string; + target_commitish: string; + upload_url: string; + url: string; + zipball_url: string; +}; +declare type ReposGetLatestPagesBuildResponsePusher = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposGetLatestPagesBuildResponseError = { + message: null; +}; +declare type ReposGetLatestPagesBuildResponse = { + commit: string; + created_at: string; + duration: number; + error: ReposGetLatestPagesBuildResponseError; + pusher: ReposGetLatestPagesBuildResponsePusher; + status: string; + updated_at: string; + url: string; +}; +declare type ReposGetHookResponseLastResponse = { + code: null; + message: null; + status: string; +}; +declare type ReposGetHookResponseConfig = { + content_type: string; + insecure_ssl: string; + url: string; +}; +declare type ReposGetHookResponse = { + active: boolean; + config: ReposGetHookResponseConfig; + created_at: string; + events: Array; + id: number; + last_response: ReposGetHookResponseLastResponse; + name: string; + ping_url: string; + test_url: string; + type: string; + updated_at: string; + url: string; +}; +declare type ReposGetDownloadResponse = { + content_type: string; + description: string; + download_count: number; + html_url: string; + id: number; + name: string; + size: number; + url: string; +}; +declare type ReposGetDeploymentStatusResponseCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposGetDeploymentStatusResponse = { + created_at: string; + creator: ReposGetDeploymentStatusResponseCreator; + deployment_url: string; + description: string; + environment: string; + environment_url: string; + id: number; + log_url: string; + node_id: string; + repository_url: string; + state: string; + target_url: string; + updated_at: string; + url: string; +}; +declare type ReposGetDeploymentResponsePayload = { + deploy: string; +}; +declare type ReposGetDeploymentResponseCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposGetDeploymentResponse = { + created_at: string; + creator: ReposGetDeploymentResponseCreator; + description: string; + environment: string; + id: number; + node_id: string; + original_environment: string; + payload: ReposGetDeploymentResponsePayload; + production_environment: boolean; + ref: string; + repository_url: string; + sha: string; + statuses_url: string; + task: string; + transient_environment: boolean; + updated_at: string; + url: string; +}; +declare type ReposGetDeployKeyResponse = { + created_at: string; + id: number; + key: string; + read_only: boolean; + title: string; + url: string; + verified: boolean; +}; +declare type ReposGetContributorsStatsResponseItemWeeksItem = { + a: number; + c: number; + d: number; + w: string; +}; +declare type ReposGetContributorsStatsResponseItemAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposGetContributorsStatsResponseItem = { + author: ReposGetContributorsStatsResponseItemAuthor; + total: number; + weeks: Array; +}; +declare type ReposGetContentsResponseItemLinks = { + git: string; + html: string; + self: string; +}; +declare type ReposGetContentsResponseItem = { + _links: ReposGetContentsResponseItemLinks; + download_url: string | null; + git_url: string; + html_url: string; + name: string; + path: string; + sha: string; + size: number; + type: string; + url: string; +}; +declare type ReposGetContentsResponseLinks = { + git: string; + html: string; + self: string; +}; +declare type ReposGetContentsResponse = { + _links: ReposGetContentsResponseLinks; + content?: string; + download_url: string | null; + encoding?: string; + git_url: string; + html_url: string; + name: string; + path: string; + sha: string; + size: number; + type: string; + url: string; + target?: string; + submodule_git_url?: string; +} | Array; +declare type ReposGetCommitCommentResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposGetCommitCommentResponse = { + body: string; + commit_id: string; + created_at: string; + html_url: string; + id: number; + line: number; + node_id: string; + path: string; + position: number; + updated_at: string; + url: string; + user: ReposGetCommitCommentResponseUser; +}; +declare type ReposGetCommitActivityStatsResponseItem = { + days: Array; + total: number; + week: number; +}; +declare type ReposGetCommitResponseStats = { + additions: number; + deletions: number; + total: number; +}; +declare type ReposGetCommitResponseParentsItem = { + sha: string; + url: string; +}; +declare type ReposGetCommitResponseFilesItem = { + additions: number; + blob_url: string; + changes: number; + deletions: number; + filename: string; + patch: string; + raw_url: string; + status: string; +}; +declare type ReposGetCommitResponseCommitter = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposGetCommitResponseCommitVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; +}; +declare type ReposGetCommitResponseCommitTree = { + sha: string; + url: string; +}; +declare type ReposGetCommitResponseCommitCommitter = { + date: string; + email: string; + name: string; +}; +declare type ReposGetCommitResponseCommitAuthor = { + date: string; + email: string; + name: string; +}; +declare type ReposGetCommitResponseCommit = { + author: ReposGetCommitResponseCommitAuthor; + comment_count: number; + committer: ReposGetCommitResponseCommitCommitter; + message: string; + tree: ReposGetCommitResponseCommitTree; + url: string; + verification: ReposGetCommitResponseCommitVerification; +}; +declare type ReposGetCommitResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposGetCommitResponse = { + author: ReposGetCommitResponseAuthor; + comments_url: string; + commit: ReposGetCommitResponseCommit; + committer: ReposGetCommitResponseCommitter; + files: Array; + html_url: string; + node_id: string; + parents: Array; + sha: string; + stats: ReposGetCommitResponseStats; + url: string; +}; +declare type ReposGetCombinedStatusForRefResponseStatusesItem = { + avatar_url: string; + context: string; + created_at: string; + description: string; + id: number; + node_id: string; + state: string; + target_url: string; + updated_at: string; + url: string; +}; +declare type ReposGetCombinedStatusForRefResponseRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposGetCombinedStatusForRefResponseRepository = { + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + description: string; + downloads_url: string; + events_url: string; + fork: boolean; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + html_url: string; + id: number; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + name: string; + node_id: string; + notifications_url: string; + owner: ReposGetCombinedStatusForRefResponseRepositoryOwner; + private: boolean; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + url: string; +}; +declare type ReposGetCombinedStatusForRefResponse = { + commit_url: string; + repository: ReposGetCombinedStatusForRefResponseRepository; + sha: string; + state: string; + statuses: Array; + total_count: number; + url: string; +}; +declare type ReposGetCollaboratorPermissionLevelResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposGetCollaboratorPermissionLevelResponse = { + permission: string; + user: ReposGetCollaboratorPermissionLevelResponseUser; +}; +declare type ReposGetClonesResponseClonesItem = { + count: number; + timestamp: string; + uniques: number; +}; +declare type ReposGetClonesResponse = { + clones: Array; + count: number; + uniques: number; +}; +declare type ReposGetBranchProtectionResponseRestrictionsUsersItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposGetBranchProtectionResponseRestrictionsTeamsItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; +}; +declare type ReposGetBranchProtectionResponseRestrictionsAppsItemPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; +}; +declare type ReposGetBranchProtectionResponseRestrictionsAppsItemOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; +}; +declare type ReposGetBranchProtectionResponseRestrictionsAppsItem = { + created_at: string; + description: string; + events: Array; + external_url: string; + html_url: string; + id: number; + name: string; + node_id: string; + owner: ReposGetBranchProtectionResponseRestrictionsAppsItemOwner; + permissions: ReposGetBranchProtectionResponseRestrictionsAppsItemPermissions; + slug: string; + updated_at: string; +}; +declare type ReposGetBranchProtectionResponseRestrictions = { + apps: Array; + apps_url: string; + teams: Array; + teams_url: string; + url: string; + users: Array; + users_url: string; +}; +declare type ReposGetBranchProtectionResponseRequiredStatusChecks = { + contexts: Array; + contexts_url: string; + strict: boolean; + url: string; +}; +declare type ReposGetBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictionsUsersItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposGetBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictionsTeamsItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; +}; +declare type ReposGetBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictions = { + teams: Array; + teams_url: string; + url: string; + users: Array; + users_url: string; +}; +declare type ReposGetBranchProtectionResponseRequiredPullRequestReviews = { + dismiss_stale_reviews: boolean; + dismissal_restrictions: ReposGetBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictions; + require_code_owner_reviews: boolean; + required_approving_review_count: number; + url: string; +}; +declare type ReposGetBranchProtectionResponseRequiredLinearHistory = { + enabled: boolean; +}; +declare type ReposGetBranchProtectionResponseEnforceAdmins = { + enabled: boolean; + url: string; +}; +declare type ReposGetBranchProtectionResponseAllowForcePushes = { + enabled: boolean; +}; +declare type ReposGetBranchProtectionResponseAllowDeletions = { + enabled: boolean; +}; +declare type ReposGetBranchProtectionResponse = { + allow_deletions: ReposGetBranchProtectionResponseAllowDeletions; + allow_force_pushes: ReposGetBranchProtectionResponseAllowForcePushes; + enforce_admins: ReposGetBranchProtectionResponseEnforceAdmins; + required_linear_history: ReposGetBranchProtectionResponseRequiredLinearHistory; + required_pull_request_reviews: ReposGetBranchProtectionResponseRequiredPullRequestReviews; + required_status_checks: ReposGetBranchProtectionResponseRequiredStatusChecks; + restrictions: ReposGetBranchProtectionResponseRestrictions; + url: string; +}; +declare type ReposGetBranchResponseProtectionRequiredStatusChecks = { + contexts: Array; + enforcement_level: string; +}; +declare type ReposGetBranchResponseProtection = { + enabled: boolean; + required_status_checks: ReposGetBranchResponseProtectionRequiredStatusChecks; +}; +declare type ReposGetBranchResponseCommitParentsItem = { + sha: string; + url: string; +}; +declare type ReposGetBranchResponseCommitCommitter = { + avatar_url: string; + gravatar_id: string; + id: number; + login: string; + url: string; +}; +declare type ReposGetBranchResponseCommitCommitVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; +}; +declare type ReposGetBranchResponseCommitCommitTree = { + sha: string; + url: string; +}; +declare type ReposGetBranchResponseCommitCommitCommitter = { + date: string; + email: string; + name: string; +}; +declare type ReposGetBranchResponseCommitCommitAuthor = { + date: string; + email: string; + name: string; +}; +declare type ReposGetBranchResponseCommitCommit = { + author: ReposGetBranchResponseCommitCommitAuthor; + committer: ReposGetBranchResponseCommitCommitCommitter; + message: string; + tree: ReposGetBranchResponseCommitCommitTree; + url: string; + verification: ReposGetBranchResponseCommitCommitVerification; +}; +declare type ReposGetBranchResponseCommitAuthor = { + avatar_url: string; + gravatar_id: string; + id: number; + login: string; + url: string; +}; +declare type ReposGetBranchResponseCommit = { + author: ReposGetBranchResponseCommitAuthor; + commit: ReposGetBranchResponseCommitCommit; + committer: ReposGetBranchResponseCommitCommitter; + node_id: string; + parents: Array; + sha: string; + url: string; +}; +declare type ReposGetBranchResponseLinks = { + html: string; + self: string; +}; +declare type ReposGetBranchResponse = { + _links: ReposGetBranchResponseLinks; + commit: ReposGetBranchResponseCommit; + name: string; + protected: boolean; + protection: ReposGetBranchResponseProtection; + protection_url: string; +}; +declare type ReposGetAppsWithAccessToProtectedBranchResponseItemPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; +}; +declare type ReposGetAppsWithAccessToProtectedBranchResponseItemOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; +}; +declare type ReposGetAppsWithAccessToProtectedBranchResponseItem = { + created_at: string; + description: string; + events: Array; + external_url: string; + html_url: string; + id: number; + name: string; + node_id: string; + owner: ReposGetAppsWithAccessToProtectedBranchResponseItemOwner; + permissions: ReposGetAppsWithAccessToProtectedBranchResponseItemPermissions; + slug: string; + updated_at: string; +}; +declare type ReposGetResponseSourcePermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type ReposGetResponseSourceOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposGetResponseSource = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ReposGetResponseSourceOwner; + permissions: ReposGetResponseSourcePermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type ReposGetResponsePermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type ReposGetResponseParentPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type ReposGetResponseParentOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposGetResponseParent = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ReposGetResponseParentOwner; + permissions: ReposGetResponseParentPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type ReposGetResponseOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposGetResponseOrganization = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposGetResponseLicense = { + key: string; + name: string; + node_id: string; + spdx_id: string; + url: string; +}; +declare type ReposGetResponse = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + license: ReposGetResponseLicense; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + organization: ReposGetResponseOrganization; + owner: ReposGetResponseOwner; + parent: ReposGetResponseParent; + permissions: ReposGetResponsePermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + source: ReposGetResponseSource; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type ReposEnablePagesSiteResponseSource = { + branch: string; + directory: string; +}; +declare type ReposEnablePagesSiteResponse = { + cname: string; + custom_404: boolean; + html_url: string; + source: ReposEnablePagesSiteResponseSource; + status: string; + url: string; +}; +declare type ReposDeleteFileResponseCommitVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; +}; +declare type ReposDeleteFileResponseCommitTree = { + sha: string; + url: string; +}; +declare type ReposDeleteFileResponseCommitParentsItem = { + html_url: string; + sha: string; + url: string; +}; +declare type ReposDeleteFileResponseCommitCommitter = { + date: string; + email: string; + name: string; +}; +declare type ReposDeleteFileResponseCommitAuthor = { + date: string; + email: string; + name: string; +}; +declare type ReposDeleteFileResponseCommit = { + author: ReposDeleteFileResponseCommitAuthor; + committer: ReposDeleteFileResponseCommitCommitter; + html_url: string; + message: string; + node_id: string; + parents: Array; + sha: string; + tree: ReposDeleteFileResponseCommitTree; + url: string; + verification: ReposDeleteFileResponseCommitVerification; +}; +declare type ReposDeleteFileResponse = { + commit: ReposDeleteFileResponseCommit; + content: null; +}; +declare type ReposDeleteResponse = { + documentation_url: string; + message: string; +}; +declare type ReposCreateUsingTemplateResponseTemplateRepositoryPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type ReposCreateUsingTemplateResponseTemplateRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposCreateUsingTemplateResponseTemplateRepository = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ReposCreateUsingTemplateResponseTemplateRepositoryOwner; + permissions: ReposCreateUsingTemplateResponseTemplateRepositoryPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type ReposCreateUsingTemplateResponsePermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type ReposCreateUsingTemplateResponseOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposCreateUsingTemplateResponse = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ReposCreateUsingTemplateResponseOwner; + permissions: ReposCreateUsingTemplateResponsePermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: ReposCreateUsingTemplateResponseTemplateRepository; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type ReposCreateStatusResponseCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposCreateStatusResponse = { + avatar_url: string; + context: string; + created_at: string; + creator: ReposCreateStatusResponseCreator; + description: string; + id: number; + node_id: string; + state: string; + target_url: string; + updated_at: string; + url: string; +}; +declare type ReposCreateReleaseResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposCreateReleaseResponse = { + assets: Array; + assets_url: string; + author: ReposCreateReleaseResponseAuthor; + body: string; + created_at: string; + draft: boolean; + html_url: string; + id: number; + name: string; + node_id: string; + prerelease: boolean; + published_at: string; + tag_name: string; + tarball_url: string; + target_commitish: string; + upload_url: string; + url: string; + zipball_url: string; +}; +declare type ReposCreateOrUpdateFileResponseContentLinks = { + git: string; + html: string; + self: string; +}; +declare type ReposCreateOrUpdateFileResponseContent = { + _links: ReposCreateOrUpdateFileResponseContentLinks; + download_url: string; + git_url: string; + html_url: string; + name: string; + path: string; + sha: string; + size: number; + type: string; + url: string; +}; +declare type ReposCreateOrUpdateFileResponseCommitVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; +}; +declare type ReposCreateOrUpdateFileResponseCommitTree = { + sha: string; + url: string; +}; +declare type ReposCreateOrUpdateFileResponseCommitParentsItem = { + html_url: string; + sha: string; + url: string; +}; +declare type ReposCreateOrUpdateFileResponseCommitCommitter = { + date: string; + email: string; + name: string; +}; +declare type ReposCreateOrUpdateFileResponseCommitAuthor = { + date: string; + email: string; + name: string; +}; +declare type ReposCreateOrUpdateFileResponseCommit = { + author: ReposCreateOrUpdateFileResponseCommitAuthor; + committer: ReposCreateOrUpdateFileResponseCommitCommitter; + html_url: string; + message: string; + node_id: string; + parents: Array; + sha: string; + tree: ReposCreateOrUpdateFileResponseCommitTree; + url: string; + verification: ReposCreateOrUpdateFileResponseCommitVerification; +}; +declare type ReposCreateOrUpdateFileResponse = { + commit: ReposCreateOrUpdateFileResponseCommit; + content: ReposCreateOrUpdateFileResponseContent; +}; +declare type ReposCreateInOrgResponsePermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type ReposCreateInOrgResponseOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposCreateInOrgResponse = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ReposCreateInOrgResponseOwner; + permissions: ReposCreateInOrgResponsePermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type ReposCreateHookResponseLastResponse = { + code: null; + message: null; + status: string; +}; +declare type ReposCreateHookResponseConfig = { + content_type: string; + insecure_ssl: string; + url: string; +}; +declare type ReposCreateHookResponse = { + active: boolean; + config: ReposCreateHookResponseConfig; + created_at: string; + events: Array; + id: number; + last_response: ReposCreateHookResponseLastResponse; + name: string; + ping_url: string; + test_url: string; + type: string; + updated_at: string; + url: string; +}; +declare type ReposCreateForkResponsePermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type ReposCreateForkResponseOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposCreateForkResponse = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ReposCreateForkResponseOwner; + permissions: ReposCreateForkResponsePermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type ReposCreateForAuthenticatedUserResponsePermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type ReposCreateForAuthenticatedUserResponseOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposCreateForAuthenticatedUserResponse = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ReposCreateForAuthenticatedUserResponseOwner; + permissions: ReposCreateForAuthenticatedUserResponsePermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type ReposCreateFileResponseContentLinks = { + git: string; + html: string; + self: string; +}; +declare type ReposCreateFileResponseContent = { + _links: ReposCreateFileResponseContentLinks; + download_url: string; + git_url: string; + html_url: string; + name: string; + path: string; + sha: string; + size: number; + type: string; + url: string; +}; +declare type ReposCreateFileResponseCommitVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; +}; +declare type ReposCreateFileResponseCommitTree = { + sha: string; + url: string; +}; +declare type ReposCreateFileResponseCommitParentsItem = { + html_url: string; + sha: string; + url: string; +}; +declare type ReposCreateFileResponseCommitCommitter = { + date: string; + email: string; + name: string; +}; +declare type ReposCreateFileResponseCommitAuthor = { + date: string; + email: string; + name: string; +}; +declare type ReposCreateFileResponseCommit = { + author: ReposCreateFileResponseCommitAuthor; + committer: ReposCreateFileResponseCommitCommitter; + html_url: string; + message: string; + node_id: string; + parents: Array; + sha: string; + tree: ReposCreateFileResponseCommitTree; + url: string; + verification: ReposCreateFileResponseCommitVerification; +}; +declare type ReposCreateFileResponse = { + commit: ReposCreateFileResponseCommit; + content: ReposCreateFileResponseContent; +}; +declare type ReposCreateDeploymentStatusResponseCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposCreateDeploymentStatusResponse = { + created_at: string; + creator: ReposCreateDeploymentStatusResponseCreator; + deployment_url: string; + description: string; + environment: string; + environment_url: string; + id: number; + log_url: string; + node_id: string; + repository_url: string; + state: string; + target_url: string; + updated_at: string; + url: string; +}; +declare type ReposCreateDeploymentResponsePayload = { + deploy: string; +}; +declare type ReposCreateDeploymentResponseCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposCreateDeploymentResponse = { + created_at: string; + creator: ReposCreateDeploymentResponseCreator; + description: string; + environment: string; + id: number; + node_id: string; + original_environment: string; + payload: ReposCreateDeploymentResponsePayload; + production_environment: boolean; + ref: string; + repository_url: string; + sha: string; + statuses_url: string; + task: string; + transient_environment: boolean; + updated_at: string; + url: string; +}; +declare type ReposCreateCommitCommentResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposCreateCommitCommentResponse = { + body: string; + commit_id: string; + created_at: string; + html_url: string; + id: number; + line: number; + node_id: string; + path: string; + position: number; + updated_at: string; + url: string; + user: ReposCreateCommitCommentResponseUser; +}; +declare type ReposCompareCommitsResponseMergeBaseCommitParentsItem = { + sha: string; + url: string; +}; +declare type ReposCompareCommitsResponseMergeBaseCommitCommitter = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposCompareCommitsResponseMergeBaseCommitCommitVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; +}; +declare type ReposCompareCommitsResponseMergeBaseCommitCommitTree = { + sha: string; + url: string; +}; +declare type ReposCompareCommitsResponseMergeBaseCommitCommitCommitter = { + date: string; + email: string; + name: string; +}; +declare type ReposCompareCommitsResponseMergeBaseCommitCommitAuthor = { + date: string; + email: string; + name: string; +}; +declare type ReposCompareCommitsResponseMergeBaseCommitCommit = { + author: ReposCompareCommitsResponseMergeBaseCommitCommitAuthor; + comment_count: number; + committer: ReposCompareCommitsResponseMergeBaseCommitCommitCommitter; + message: string; + tree: ReposCompareCommitsResponseMergeBaseCommitCommitTree; + url: string; + verification: ReposCompareCommitsResponseMergeBaseCommitCommitVerification; +}; +declare type ReposCompareCommitsResponseMergeBaseCommitAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposCompareCommitsResponseMergeBaseCommit = { + author: ReposCompareCommitsResponseMergeBaseCommitAuthor; + comments_url: string; + commit: ReposCompareCommitsResponseMergeBaseCommitCommit; + committer: ReposCompareCommitsResponseMergeBaseCommitCommitter; + html_url: string; + node_id: string; + parents: Array; + sha: string; + url: string; +}; +declare type ReposCompareCommitsResponseFilesItem = { + additions: number; + blob_url: string; + changes: number; + contents_url: string; + deletions: number; + filename: string; + patch: string; + raw_url: string; + sha: string; + status: string; +}; +declare type ReposCompareCommitsResponseCommitsItemParentsItem = { + sha: string; + url: string; +}; +declare type ReposCompareCommitsResponseCommitsItemCommitter = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposCompareCommitsResponseCommitsItemCommitVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; +}; +declare type ReposCompareCommitsResponseCommitsItemCommitTree = { + sha: string; + url: string; +}; +declare type ReposCompareCommitsResponseCommitsItemCommitCommitter = { + date: string; + email: string; + name: string; +}; +declare type ReposCompareCommitsResponseCommitsItemCommitAuthor = { + date: string; + email: string; + name: string; +}; +declare type ReposCompareCommitsResponseCommitsItemCommit = { + author: ReposCompareCommitsResponseCommitsItemCommitAuthor; + comment_count: number; + committer: ReposCompareCommitsResponseCommitsItemCommitCommitter; + message: string; + tree: ReposCompareCommitsResponseCommitsItemCommitTree; + url: string; + verification: ReposCompareCommitsResponseCommitsItemCommitVerification; +}; +declare type ReposCompareCommitsResponseCommitsItemAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposCompareCommitsResponseCommitsItem = { + author: ReposCompareCommitsResponseCommitsItemAuthor; + comments_url: string; + commit: ReposCompareCommitsResponseCommitsItemCommit; + committer: ReposCompareCommitsResponseCommitsItemCommitter; + html_url: string; + node_id: string; + parents: Array; + sha: string; + url: string; +}; +declare type ReposCompareCommitsResponseBaseCommitParentsItem = { + sha: string; + url: string; +}; +declare type ReposCompareCommitsResponseBaseCommitCommitter = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposCompareCommitsResponseBaseCommitCommitVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; +}; +declare type ReposCompareCommitsResponseBaseCommitCommitTree = { + sha: string; + url: string; +}; +declare type ReposCompareCommitsResponseBaseCommitCommitCommitter = { + date: string; + email: string; + name: string; +}; +declare type ReposCompareCommitsResponseBaseCommitCommitAuthor = { + date: string; + email: string; + name: string; +}; +declare type ReposCompareCommitsResponseBaseCommitCommit = { + author: ReposCompareCommitsResponseBaseCommitCommitAuthor; + comment_count: number; + committer: ReposCompareCommitsResponseBaseCommitCommitCommitter; + message: string; + tree: ReposCompareCommitsResponseBaseCommitCommitTree; + url: string; + verification: ReposCompareCommitsResponseBaseCommitCommitVerification; +}; +declare type ReposCompareCommitsResponseBaseCommitAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposCompareCommitsResponseBaseCommit = { + author: ReposCompareCommitsResponseBaseCommitAuthor; + comments_url: string; + commit: ReposCompareCommitsResponseBaseCommitCommit; + committer: ReposCompareCommitsResponseBaseCommitCommitter; + html_url: string; + node_id: string; + parents: Array; + sha: string; + url: string; +}; +declare type ReposCompareCommitsResponse = { + ahead_by: number; + base_commit: ReposCompareCommitsResponseBaseCommit; + behind_by: number; + commits: Array; + diff_url: string; + files: Array; + html_url: string; + merge_base_commit: ReposCompareCommitsResponseMergeBaseCommit; + patch_url: string; + permalink_url: string; + status: string; + total_commits: number; + url: string; +}; +declare type ReposAddProtectedBranchUserRestrictionsResponseItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposAddProtectedBranchTeamRestrictionsResponseItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; +}; +declare type ReposAddProtectedBranchRequiredSignaturesResponse = { + enabled: boolean; + url: string; +}; +declare type ReposAddProtectedBranchAppRestrictionsResponseItemPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; +}; +declare type ReposAddProtectedBranchAppRestrictionsResponseItemOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; +}; +declare type ReposAddProtectedBranchAppRestrictionsResponseItem = { + created_at: string; + description: string; + events: Array; + external_url: string; + html_url: string; + id: number; + name: string; + node_id: string; + owner: ReposAddProtectedBranchAppRestrictionsResponseItemOwner; + permissions: ReposAddProtectedBranchAppRestrictionsResponseItemPermissions; + slug: string; + updated_at: string; +}; +declare type ReposAddProtectedBranchAdminEnforcementResponse = { + enabled: boolean; + url: string; +}; +declare type ReposAddDeployKeyResponse = { + created_at: string; + id: number; + key: string; + read_only: boolean; + title: string; + url: string; + verified: boolean; +}; +declare type ReposAddCollaboratorResponseRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposAddCollaboratorResponseRepository = { + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + description: string; + downloads_url: string; + events_url: string; + fork: boolean; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + html_url: string; + id: number; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + name: string; + node_id: string; + notifications_url: string; + owner: ReposAddCollaboratorResponseRepositoryOwner; + private: boolean; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + url: string; +}; +declare type ReposAddCollaboratorResponseInviter = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposAddCollaboratorResponseInvitee = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReposAddCollaboratorResponse = { + created_at: string; + html_url: string; + id: number; + invitee: ReposAddCollaboratorResponseInvitee; + inviter: ReposAddCollaboratorResponseInviter; + permissions: string; + repository: ReposAddCollaboratorResponseRepository; + url: string; +}; +declare type ReactionsListForTeamDiscussionLegacyResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReactionsListForTeamDiscussionLegacyResponseItem = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsListForTeamDiscussionLegacyResponseItemUser; +}; +declare type ReactionsListForTeamDiscussionInOrgResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReactionsListForTeamDiscussionInOrgResponseItem = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsListForTeamDiscussionInOrgResponseItemUser; +}; +declare type ReactionsListForTeamDiscussionCommentLegacyResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReactionsListForTeamDiscussionCommentLegacyResponseItem = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsListForTeamDiscussionCommentLegacyResponseItemUser; +}; +declare type ReactionsListForTeamDiscussionCommentInOrgResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReactionsListForTeamDiscussionCommentInOrgResponseItem = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsListForTeamDiscussionCommentInOrgResponseItemUser; +}; +declare type ReactionsListForTeamDiscussionCommentResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReactionsListForTeamDiscussionCommentResponseItem = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsListForTeamDiscussionCommentResponseItemUser; +}; +declare type ReactionsListForTeamDiscussionResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReactionsListForTeamDiscussionResponseItem = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsListForTeamDiscussionResponseItemUser; +}; +declare type ReactionsListForPullRequestReviewCommentResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReactionsListForPullRequestReviewCommentResponseItem = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsListForPullRequestReviewCommentResponseItemUser; +}; +declare type ReactionsListForIssueCommentResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReactionsListForIssueCommentResponseItem = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsListForIssueCommentResponseItemUser; +}; +declare type ReactionsListForIssueResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReactionsListForIssueResponseItem = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsListForIssueResponseItemUser; +}; +declare type ReactionsListForCommitCommentResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReactionsListForCommitCommentResponseItem = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsListForCommitCommentResponseItemUser; +}; +declare type ReactionsCreateForTeamDiscussionLegacyResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReactionsCreateForTeamDiscussionLegacyResponse = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsCreateForTeamDiscussionLegacyResponseUser; +}; +declare type ReactionsCreateForTeamDiscussionInOrgResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReactionsCreateForTeamDiscussionInOrgResponse = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsCreateForTeamDiscussionInOrgResponseUser; +}; +declare type ReactionsCreateForTeamDiscussionCommentLegacyResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReactionsCreateForTeamDiscussionCommentLegacyResponse = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsCreateForTeamDiscussionCommentLegacyResponseUser; +}; +declare type ReactionsCreateForTeamDiscussionCommentInOrgResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReactionsCreateForTeamDiscussionCommentInOrgResponse = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsCreateForTeamDiscussionCommentInOrgResponseUser; +}; +declare type ReactionsCreateForTeamDiscussionCommentResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReactionsCreateForTeamDiscussionCommentResponse = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsCreateForTeamDiscussionCommentResponseUser; +}; +declare type ReactionsCreateForTeamDiscussionResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReactionsCreateForTeamDiscussionResponse = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsCreateForTeamDiscussionResponseUser; +}; +declare type ReactionsCreateForPullRequestReviewCommentResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReactionsCreateForPullRequestReviewCommentResponse = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsCreateForPullRequestReviewCommentResponseUser; +}; +declare type ReactionsCreateForIssueCommentResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReactionsCreateForIssueCommentResponse = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsCreateForIssueCommentResponseUser; +}; +declare type ReactionsCreateForIssueResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReactionsCreateForIssueResponse = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsCreateForIssueResponseUser; +}; +declare type ReactionsCreateForCommitCommentResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReactionsCreateForCommitCommentResponse = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsCreateForCommitCommentResponseUser; +}; +declare type RateLimitGetResponseResourcesSearch = { + limit: number; + remaining: number; + reset: number; +}; +declare type RateLimitGetResponseResourcesIntegrationManifest = { + limit: number; + remaining: number; + reset: number; +}; +declare type RateLimitGetResponseResourcesGraphql = { + limit: number; + remaining: number; + reset: number; +}; +declare type RateLimitGetResponseResourcesCore = { + limit: number; + remaining: number; + reset: number; +}; +declare type RateLimitGetResponseResources = { + core: RateLimitGetResponseResourcesCore; + graphql: RateLimitGetResponseResourcesGraphql; + integration_manifest: RateLimitGetResponseResourcesIntegrationManifest; + search: RateLimitGetResponseResourcesSearch; +}; +declare type RateLimitGetResponseRate = { + limit: number; + remaining: number; + reset: number; +}; +declare type RateLimitGetResponse = { + rate: RateLimitGetResponseRate; + resources: RateLimitGetResponseResources; +}; +declare type PullsUpdateReviewResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsUpdateReviewResponseLinksPullRequest = { + href: string; +}; +declare type PullsUpdateReviewResponseLinksHtml = { + href: string; +}; +declare type PullsUpdateReviewResponseLinks = { + html: PullsUpdateReviewResponseLinksHtml; + pull_request: PullsUpdateReviewResponseLinksPullRequest; +}; +declare type PullsUpdateReviewResponse = { + _links: PullsUpdateReviewResponseLinks; + body: string; + commit_id: string; + html_url: string; + id: number; + node_id: string; + pull_request_url: string; + state: string; + user: PullsUpdateReviewResponseUser; +}; +declare type PullsUpdateCommentResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsUpdateCommentResponseLinksSelf = { + href: string; +}; +declare type PullsUpdateCommentResponseLinksPullRequest = { + href: string; +}; +declare type PullsUpdateCommentResponseLinksHtml = { + href: string; +}; +declare type PullsUpdateCommentResponseLinks = { + html: PullsUpdateCommentResponseLinksHtml; + pull_request: PullsUpdateCommentResponseLinksPullRequest; + self: PullsUpdateCommentResponseLinksSelf; +}; +declare type PullsUpdateCommentResponse = { + _links: PullsUpdateCommentResponseLinks; + author_association: string; + body: string; + commit_id: string; + created_at: string; + diff_hunk: string; + html_url: string; + id: number; + in_reply_to_id: number; + line: number; + node_id: string; + original_commit_id: string; + original_line: number; + original_position: number; + original_start_line: number; + path: string; + position: number; + pull_request_review_id: number; + pull_request_url: string; + side: string; + start_line: number; + start_side: string; + updated_at: string; + url: string; + user: PullsUpdateCommentResponseUser; +}; +declare type PullsUpdateBranchResponse = { + message: string; + url: string; +}; +declare type PullsUpdateResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsUpdateResponseRequestedTeamsItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; +}; +declare type PullsUpdateResponseRequestedReviewersItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsUpdateResponseMilestoneCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsUpdateResponseMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: PullsUpdateResponseMilestoneCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; +}; +declare type PullsUpdateResponseMergedBy = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsUpdateResponseLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare type PullsUpdateResponseHeadUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsUpdateResponseHeadRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type PullsUpdateResponseHeadRepoOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsUpdateResponseHeadRepo = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: PullsUpdateResponseHeadRepoOwner; + permissions: PullsUpdateResponseHeadRepoPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type PullsUpdateResponseHead = { + label: string; + ref: string; + repo: PullsUpdateResponseHeadRepo; + sha: string; + user: PullsUpdateResponseHeadUser; +}; +declare type PullsUpdateResponseBaseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsUpdateResponseBaseRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type PullsUpdateResponseBaseRepoOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsUpdateResponseBaseRepo = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: PullsUpdateResponseBaseRepoOwner; + permissions: PullsUpdateResponseBaseRepoPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type PullsUpdateResponseBase = { + label: string; + ref: string; + repo: PullsUpdateResponseBaseRepo; + sha: string; + user: PullsUpdateResponseBaseUser; +}; +declare type PullsUpdateResponseAssigneesItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsUpdateResponseAssignee = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsUpdateResponseLinksStatuses = { + href: string; +}; +declare type PullsUpdateResponseLinksSelf = { + href: string; +}; +declare type PullsUpdateResponseLinksReviewComments = { + href: string; +}; +declare type PullsUpdateResponseLinksReviewComment = { + href: string; +}; +declare type PullsUpdateResponseLinksIssue = { + href: string; +}; +declare type PullsUpdateResponseLinksHtml = { + href: string; +}; +declare type PullsUpdateResponseLinksCommits = { + href: string; +}; +declare type PullsUpdateResponseLinksComments = { + href: string; +}; +declare type PullsUpdateResponseLinks = { + comments: PullsUpdateResponseLinksComments; + commits: PullsUpdateResponseLinksCommits; + html: PullsUpdateResponseLinksHtml; + issue: PullsUpdateResponseLinksIssue; + review_comment: PullsUpdateResponseLinksReviewComment; + review_comments: PullsUpdateResponseLinksReviewComments; + self: PullsUpdateResponseLinksSelf; + statuses: PullsUpdateResponseLinksStatuses; +}; +declare type PullsUpdateResponse = { + _links: PullsUpdateResponseLinks; + active_lock_reason: string; + additions: number; + assignee: PullsUpdateResponseAssignee; + assignees: Array; + author_association: string; + base: PullsUpdateResponseBase; + body: string; + changed_files: number; + closed_at: string; + comments: number; + comments_url: string; + commits: number; + commits_url: string; + created_at: string; + deletions: number; + diff_url: string; + draft: boolean; + head: PullsUpdateResponseHead; + html_url: string; + id: number; + issue_url: string; + labels: Array; + locked: boolean; + maintainer_can_modify: boolean; + merge_commit_sha: string; + mergeable: boolean; + mergeable_state: string; + merged: boolean; + merged_at: string; + merged_by: PullsUpdateResponseMergedBy; + milestone: PullsUpdateResponseMilestone; + node_id: string; + number: number; + patch_url: string; + rebaseable: boolean; + requested_reviewers: Array; + requested_teams: Array; + review_comment_url: string; + review_comments: number; + review_comments_url: string; + state: string; + statuses_url: string; + title: string; + updated_at: string; + url: string; + user: PullsUpdateResponseUser; +}; +declare type PullsSubmitReviewResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsSubmitReviewResponseLinksPullRequest = { + href: string; +}; +declare type PullsSubmitReviewResponseLinksHtml = { + href: string; +}; +declare type PullsSubmitReviewResponseLinks = { + html: PullsSubmitReviewResponseLinksHtml; + pull_request: PullsSubmitReviewResponseLinksPullRequest; +}; +declare type PullsSubmitReviewResponse = { + _links: PullsSubmitReviewResponseLinks; + body: string; + commit_id: string; + html_url: string; + id: number; + node_id: string; + pull_request_url: string; + state: string; + submitted_at: string; + user: PullsSubmitReviewResponseUser; +}; +declare type PullsMergeResponse = { + merged: boolean; + message: string; + sha: string; +}; +declare type PullsListReviewsResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsListReviewsResponseItemLinksPullRequest = { + href: string; +}; +declare type PullsListReviewsResponseItemLinksHtml = { + href: string; +}; +declare type PullsListReviewsResponseItemLinks = { + html: PullsListReviewsResponseItemLinksHtml; + pull_request: PullsListReviewsResponseItemLinksPullRequest; +}; +declare type PullsListReviewsResponseItem = { + _links: PullsListReviewsResponseItemLinks; + body: string; + commit_id: string; + html_url: string; + id: number; + node_id: string; + pull_request_url: string; + state: string; + submitted_at: string; + user: PullsListReviewsResponseItemUser; +}; +declare type PullsListReviewRequestsResponseUsersItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsListReviewRequestsResponseTeamsItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; +}; +declare type PullsListReviewRequestsResponse = { + teams: Array; + users: Array; +}; +declare type PullsListFilesResponseItem = { + additions: number; + blob_url: string; + changes: number; + contents_url: string; + deletions: number; + filename: string; + patch: string; + raw_url: string; + sha: string; + status: string; +}; +declare type PullsListCommitsResponseItemParentsItem = { + sha: string; + url: string; +}; +declare type PullsListCommitsResponseItemCommitter = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsListCommitsResponseItemCommitVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; +}; +declare type PullsListCommitsResponseItemCommitTree = { + sha: string; + url: string; +}; +declare type PullsListCommitsResponseItemCommitCommitter = { + date: string; + email: string; + name: string; +}; +declare type PullsListCommitsResponseItemCommitAuthor = { + date: string; + email: string; + name: string; +}; +declare type PullsListCommitsResponseItemCommit = { + author: PullsListCommitsResponseItemCommitAuthor; + comment_count: number; + committer: PullsListCommitsResponseItemCommitCommitter; + message: string; + tree: PullsListCommitsResponseItemCommitTree; + url: string; + verification: PullsListCommitsResponseItemCommitVerification; +}; +declare type PullsListCommitsResponseItemAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsListCommitsResponseItem = { + author: PullsListCommitsResponseItemAuthor; + comments_url: string; + commit: PullsListCommitsResponseItemCommit; + committer: PullsListCommitsResponseItemCommitter; + html_url: string; + node_id: string; + parents: Array; + sha: string; + url: string; +}; +declare type PullsListCommentsForRepoResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsListCommentsForRepoResponseItemLinksSelf = { + href: string; +}; +declare type PullsListCommentsForRepoResponseItemLinksPullRequest = { + href: string; +}; +declare type PullsListCommentsForRepoResponseItemLinksHtml = { + href: string; +}; +declare type PullsListCommentsForRepoResponseItemLinks = { + html: PullsListCommentsForRepoResponseItemLinksHtml; + pull_request: PullsListCommentsForRepoResponseItemLinksPullRequest; + self: PullsListCommentsForRepoResponseItemLinksSelf; +}; +declare type PullsListCommentsForRepoResponseItem = { + _links: PullsListCommentsForRepoResponseItemLinks; + author_association: string; + body: string; + commit_id: string; + created_at: string; + diff_hunk: string; + html_url: string; + id: number; + in_reply_to_id: number; + line: number; + node_id: string; + original_commit_id: string; + original_line: number; + original_position: number; + original_start_line: number; + path: string; + position: number; + pull_request_review_id: number; + pull_request_url: string; + side: string; + start_line: number; + start_side: string; + updated_at: string; + url: string; + user: PullsListCommentsForRepoResponseItemUser; +}; +declare type PullsListCommentsResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsListCommentsResponseItemLinksSelf = { + href: string; +}; +declare type PullsListCommentsResponseItemLinksPullRequest = { + href: string; +}; +declare type PullsListCommentsResponseItemLinksHtml = { + href: string; +}; +declare type PullsListCommentsResponseItemLinks = { + html: PullsListCommentsResponseItemLinksHtml; + pull_request: PullsListCommentsResponseItemLinksPullRequest; + self: PullsListCommentsResponseItemLinksSelf; +}; +declare type PullsListCommentsResponseItem = { + _links: PullsListCommentsResponseItemLinks; + author_association: string; + body: string; + commit_id: string; + created_at: string; + diff_hunk: string; + html_url: string; + id: number; + in_reply_to_id: number; + line: number; + node_id: string; + original_commit_id: string; + original_line: number; + original_position: number; + original_start_line: number; + path: string; + position: number; + pull_request_review_id: number; + pull_request_url: string; + side: string; + start_line: number; + start_side: string; + updated_at: string; + url: string; + user: PullsListCommentsResponseItemUser; +}; +declare type PullsListResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsListResponseItemRequestedTeamsItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; +}; +declare type PullsListResponseItemRequestedReviewersItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsListResponseItemMilestoneCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsListResponseItemMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: PullsListResponseItemMilestoneCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; +}; +declare type PullsListResponseItemLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare type PullsListResponseItemHeadUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsListResponseItemHeadRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type PullsListResponseItemHeadRepoOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsListResponseItemHeadRepo = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: PullsListResponseItemHeadRepoOwner; + permissions: PullsListResponseItemHeadRepoPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type PullsListResponseItemHead = { + label: string; + ref: string; + repo: PullsListResponseItemHeadRepo; + sha: string; + user: PullsListResponseItemHeadUser; +}; +declare type PullsListResponseItemBaseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsListResponseItemBaseRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type PullsListResponseItemBaseRepoOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsListResponseItemBaseRepo = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: PullsListResponseItemBaseRepoOwner; + permissions: PullsListResponseItemBaseRepoPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type PullsListResponseItemBase = { + label: string; + ref: string; + repo: PullsListResponseItemBaseRepo; + sha: string; + user: PullsListResponseItemBaseUser; +}; +declare type PullsListResponseItemAssigneesItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsListResponseItemAssignee = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsListResponseItemLinksStatuses = { + href: string; +}; +declare type PullsListResponseItemLinksSelf = { + href: string; +}; +declare type PullsListResponseItemLinksReviewComments = { + href: string; +}; +declare type PullsListResponseItemLinksReviewComment = { + href: string; +}; +declare type PullsListResponseItemLinksIssue = { + href: string; +}; +declare type PullsListResponseItemLinksHtml = { + href: string; +}; +declare type PullsListResponseItemLinksCommits = { + href: string; +}; +declare type PullsListResponseItemLinksComments = { + href: string; +}; +declare type PullsListResponseItemLinks = { + comments: PullsListResponseItemLinksComments; + commits: PullsListResponseItemLinksCommits; + html: PullsListResponseItemLinksHtml; + issue: PullsListResponseItemLinksIssue; + review_comment: PullsListResponseItemLinksReviewComment; + review_comments: PullsListResponseItemLinksReviewComments; + self: PullsListResponseItemLinksSelf; + statuses: PullsListResponseItemLinksStatuses; +}; +declare type PullsListResponseItem = { + _links: PullsListResponseItemLinks; + active_lock_reason: string; + assignee: PullsListResponseItemAssignee; + assignees: Array; + author_association: string; + base: PullsListResponseItemBase; + body: string; + closed_at: string; + comments_url: string; + commits_url: string; + created_at: string; + diff_url: string; + draft: boolean; + head: PullsListResponseItemHead; + html_url: string; + id: number; + issue_url: string; + labels: Array; + locked: boolean; + merge_commit_sha: string; + merged_at: string; + milestone: PullsListResponseItemMilestone; + node_id: string; + number: number; + patch_url: string; + requested_reviewers: Array; + requested_teams: Array; + review_comment_url: string; + review_comments_url: string; + state: string; + statuses_url: string; + title: string; + updated_at: string; + url: string; + user: PullsListResponseItemUser; +}; +declare type PullsGetReviewResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsGetReviewResponseLinksPullRequest = { + href: string; +}; +declare type PullsGetReviewResponseLinksHtml = { + href: string; +}; +declare type PullsGetReviewResponseLinks = { + html: PullsGetReviewResponseLinksHtml; + pull_request: PullsGetReviewResponseLinksPullRequest; +}; +declare type PullsGetReviewResponse = { + _links: PullsGetReviewResponseLinks; + body: string; + commit_id: string; + html_url: string; + id: number; + node_id: string; + pull_request_url: string; + state: string; + submitted_at: string; + user: PullsGetReviewResponseUser; +}; +declare type PullsGetCommentsForReviewResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsGetCommentsForReviewResponseItemLinksSelf = { + href: string; +}; +declare type PullsGetCommentsForReviewResponseItemLinksPullRequest = { + href: string; +}; +declare type PullsGetCommentsForReviewResponseItemLinksHtml = { + href: string; +}; +declare type PullsGetCommentsForReviewResponseItemLinks = { + html: PullsGetCommentsForReviewResponseItemLinksHtml; + pull_request: PullsGetCommentsForReviewResponseItemLinksPullRequest; + self: PullsGetCommentsForReviewResponseItemLinksSelf; +}; +declare type PullsGetCommentsForReviewResponseItem = { + _links: PullsGetCommentsForReviewResponseItemLinks; + author_association: string; + body: string; + commit_id: string; + created_at: string; + diff_hunk: string; + html_url: string; + id: number; + in_reply_to_id: number; + node_id: string; + original_commit_id: string; + original_position: number; + path: string; + position: number; + pull_request_review_id: number; + pull_request_url: string; + updated_at: string; + url: string; + user: PullsGetCommentsForReviewResponseItemUser; +}; +declare type PullsGetCommentResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsGetCommentResponseLinksSelf = { + href: string; +}; +declare type PullsGetCommentResponseLinksPullRequest = { + href: string; +}; +declare type PullsGetCommentResponseLinksHtml = { + href: string; +}; +declare type PullsGetCommentResponseLinks = { + html: PullsGetCommentResponseLinksHtml; + pull_request: PullsGetCommentResponseLinksPullRequest; + self: PullsGetCommentResponseLinksSelf; +}; +declare type PullsGetCommentResponse = { + _links: PullsGetCommentResponseLinks; + author_association: string; + body: string; + commit_id: string; + created_at: string; + diff_hunk: string; + html_url: string; + id: number; + in_reply_to_id: number; + line: number; + node_id: string; + original_commit_id: string; + original_line: number; + original_position: number; + original_start_line: number; + path: string; + position: number; + pull_request_review_id: number; + pull_request_url: string; + side: string; + start_line: number; + start_side: string; + updated_at: string; + url: string; + user: PullsGetCommentResponseUser; +}; +declare type PullsGetResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsGetResponseRequestedTeamsItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; +}; +declare type PullsGetResponseRequestedReviewersItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsGetResponseMilestoneCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsGetResponseMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: PullsGetResponseMilestoneCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; +}; +declare type PullsGetResponseMergedBy = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsGetResponseLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare type PullsGetResponseHeadUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsGetResponseHeadRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type PullsGetResponseHeadRepoOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsGetResponseHeadRepo = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: PullsGetResponseHeadRepoOwner; + permissions: PullsGetResponseHeadRepoPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type PullsGetResponseHead = { + label: string; + ref: string; + repo: PullsGetResponseHeadRepo; + sha: string; + user: PullsGetResponseHeadUser; +}; +declare type PullsGetResponseBaseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsGetResponseBaseRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type PullsGetResponseBaseRepoOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsGetResponseBaseRepo = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: PullsGetResponseBaseRepoOwner; + permissions: PullsGetResponseBaseRepoPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type PullsGetResponseBase = { + label: string; + ref: string; + repo: PullsGetResponseBaseRepo; + sha: string; + user: PullsGetResponseBaseUser; +}; +declare type PullsGetResponseAssigneesItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsGetResponseAssignee = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsGetResponseLinksStatuses = { + href: string; +}; +declare type PullsGetResponseLinksSelf = { + href: string; +}; +declare type PullsGetResponseLinksReviewComments = { + href: string; +}; +declare type PullsGetResponseLinksReviewComment = { + href: string; +}; +declare type PullsGetResponseLinksIssue = { + href: string; +}; +declare type PullsGetResponseLinksHtml = { + href: string; +}; +declare type PullsGetResponseLinksCommits = { + href: string; +}; +declare type PullsGetResponseLinksComments = { + href: string; +}; +declare type PullsGetResponseLinks = { + comments: PullsGetResponseLinksComments; + commits: PullsGetResponseLinksCommits; + html: PullsGetResponseLinksHtml; + issue: PullsGetResponseLinksIssue; + review_comment: PullsGetResponseLinksReviewComment; + review_comments: PullsGetResponseLinksReviewComments; + self: PullsGetResponseLinksSelf; + statuses: PullsGetResponseLinksStatuses; +}; +declare type PullsGetResponse = { + _links: PullsGetResponseLinks; + active_lock_reason: string; + additions: number; + assignee: PullsGetResponseAssignee; + assignees: Array; + author_association: string; + base: PullsGetResponseBase; + body: string; + changed_files: number; + closed_at: string; + comments: number; + comments_url: string; + commits: number; + commits_url: string; + created_at: string; + deletions: number; + diff_url: string; + draft: boolean; + head: PullsGetResponseHead; + html_url: string; + id: number; + issue_url: string; + labels: Array; + locked: boolean; + maintainer_can_modify: boolean; + merge_commit_sha: string; + mergeable: boolean; + mergeable_state: string; + merged: boolean; + merged_at: string; + merged_by: PullsGetResponseMergedBy; + milestone: PullsGetResponseMilestone; + node_id: string; + number: number; + patch_url: string; + rebaseable: boolean; + requested_reviewers: Array; + requested_teams: Array; + review_comment_url: string; + review_comments: number; + review_comments_url: string; + state: string; + statuses_url: string; + title: string; + updated_at: string; + url: string; + user: PullsGetResponseUser; +}; +declare type PullsDismissReviewResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsDismissReviewResponseLinksPullRequest = { + href: string; +}; +declare type PullsDismissReviewResponseLinksHtml = { + href: string; +}; +declare type PullsDismissReviewResponseLinks = { + html: PullsDismissReviewResponseLinksHtml; + pull_request: PullsDismissReviewResponseLinksPullRequest; +}; +declare type PullsDismissReviewResponse = { + _links: PullsDismissReviewResponseLinks; + body: string; + commit_id: string; + html_url: string; + id: number; + node_id: string; + pull_request_url: string; + state: string; + user: PullsDismissReviewResponseUser; +}; +declare type PullsDeletePendingReviewResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsDeletePendingReviewResponseLinksPullRequest = { + href: string; +}; +declare type PullsDeletePendingReviewResponseLinksHtml = { + href: string; +}; +declare type PullsDeletePendingReviewResponseLinks = { + html: PullsDeletePendingReviewResponseLinksHtml; + pull_request: PullsDeletePendingReviewResponseLinksPullRequest; +}; +declare type PullsDeletePendingReviewResponse = { + _links: PullsDeletePendingReviewResponseLinks; + body: string; + commit_id: string; + html_url: string; + id: number; + node_id: string; + pull_request_url: string; + state: string; + user: PullsDeletePendingReviewResponseUser; +}; +declare type PullsCreateReviewRequestResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsCreateReviewRequestResponseRequestedTeamsItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; +}; +declare type PullsCreateReviewRequestResponseRequestedReviewersItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsCreateReviewRequestResponseMilestoneCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsCreateReviewRequestResponseMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: PullsCreateReviewRequestResponseMilestoneCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; +}; +declare type PullsCreateReviewRequestResponseLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare type PullsCreateReviewRequestResponseHeadUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsCreateReviewRequestResponseHeadRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type PullsCreateReviewRequestResponseHeadRepoOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsCreateReviewRequestResponseHeadRepo = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: PullsCreateReviewRequestResponseHeadRepoOwner; + permissions: PullsCreateReviewRequestResponseHeadRepoPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type PullsCreateReviewRequestResponseHead = { + label: string; + ref: string; + repo: PullsCreateReviewRequestResponseHeadRepo; + sha: string; + user: PullsCreateReviewRequestResponseHeadUser; +}; +declare type PullsCreateReviewRequestResponseBaseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsCreateReviewRequestResponseBaseRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type PullsCreateReviewRequestResponseBaseRepoOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsCreateReviewRequestResponseBaseRepo = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: PullsCreateReviewRequestResponseBaseRepoOwner; + permissions: PullsCreateReviewRequestResponseBaseRepoPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type PullsCreateReviewRequestResponseBase = { + label: string; + ref: string; + repo: PullsCreateReviewRequestResponseBaseRepo; + sha: string; + user: PullsCreateReviewRequestResponseBaseUser; +}; +declare type PullsCreateReviewRequestResponseAssigneesItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsCreateReviewRequestResponseAssignee = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsCreateReviewRequestResponseLinksStatuses = { + href: string; +}; +declare type PullsCreateReviewRequestResponseLinksSelf = { + href: string; +}; +declare type PullsCreateReviewRequestResponseLinksReviewComments = { + href: string; +}; +declare type PullsCreateReviewRequestResponseLinksReviewComment = { + href: string; +}; +declare type PullsCreateReviewRequestResponseLinksIssue = { + href: string; +}; +declare type PullsCreateReviewRequestResponseLinksHtml = { + href: string; +}; +declare type PullsCreateReviewRequestResponseLinksCommits = { + href: string; +}; +declare type PullsCreateReviewRequestResponseLinksComments = { + href: string; +}; +declare type PullsCreateReviewRequestResponseLinks = { + comments: PullsCreateReviewRequestResponseLinksComments; + commits: PullsCreateReviewRequestResponseLinksCommits; + html: PullsCreateReviewRequestResponseLinksHtml; + issue: PullsCreateReviewRequestResponseLinksIssue; + review_comment: PullsCreateReviewRequestResponseLinksReviewComment; + review_comments: PullsCreateReviewRequestResponseLinksReviewComments; + self: PullsCreateReviewRequestResponseLinksSelf; + statuses: PullsCreateReviewRequestResponseLinksStatuses; +}; +declare type PullsCreateReviewRequestResponse = { + _links: PullsCreateReviewRequestResponseLinks; + active_lock_reason: string; + assignee: PullsCreateReviewRequestResponseAssignee; + assignees: Array; + author_association: string; + base: PullsCreateReviewRequestResponseBase; + body: string; + closed_at: string; + comments_url: string; + commits_url: string; + created_at: string; + diff_url: string; + draft: boolean; + head: PullsCreateReviewRequestResponseHead; + html_url: string; + id: number; + issue_url: string; + labels: Array; + locked: boolean; + merge_commit_sha: string; + merged_at: string; + milestone: PullsCreateReviewRequestResponseMilestone; + node_id: string; + number: number; + patch_url: string; + requested_reviewers: Array; + requested_teams: Array; + review_comment_url: string; + review_comments_url: string; + state: string; + statuses_url: string; + title: string; + updated_at: string; + url: string; + user: PullsCreateReviewRequestResponseUser; +}; +declare type PullsCreateReviewCommentReplyResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsCreateReviewCommentReplyResponseLinksSelf = { + href: string; +}; +declare type PullsCreateReviewCommentReplyResponseLinksPullRequest = { + href: string; +}; +declare type PullsCreateReviewCommentReplyResponseLinksHtml = { + href: string; +}; +declare type PullsCreateReviewCommentReplyResponseLinks = { + html: PullsCreateReviewCommentReplyResponseLinksHtml; + pull_request: PullsCreateReviewCommentReplyResponseLinksPullRequest; + self: PullsCreateReviewCommentReplyResponseLinksSelf; +}; +declare type PullsCreateReviewCommentReplyResponse = { + _links: PullsCreateReviewCommentReplyResponseLinks; + author_association: string; + body: string; + commit_id: string; + created_at: string; + diff_hunk: string; + html_url: string; + id: number; + node_id: string; + original_commit_id: string; + original_position: number; + path: string; + position: number; + pull_request_review_id: number; + pull_request_url: string; + updated_at: string; + url: string; + user: PullsCreateReviewCommentReplyResponseUser; +}; +declare type PullsCreateReviewResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsCreateReviewResponseLinksPullRequest = { + href: string; +}; +declare type PullsCreateReviewResponseLinksHtml = { + href: string; +}; +declare type PullsCreateReviewResponseLinks = { + html: PullsCreateReviewResponseLinksHtml; + pull_request: PullsCreateReviewResponseLinksPullRequest; +}; +declare type PullsCreateReviewResponse = { + _links: PullsCreateReviewResponseLinks; + body: string; + commit_id: string; + html_url: string; + id: number; + node_id: string; + pull_request_url: string; + state: string; + user: PullsCreateReviewResponseUser; +}; +declare type PullsCreateFromIssueResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsCreateFromIssueResponseRequestedTeamsItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; +}; +declare type PullsCreateFromIssueResponseRequestedReviewersItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsCreateFromIssueResponseMilestoneCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsCreateFromIssueResponseMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: PullsCreateFromIssueResponseMilestoneCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; +}; +declare type PullsCreateFromIssueResponseMergedBy = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsCreateFromIssueResponseLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare type PullsCreateFromIssueResponseHeadUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsCreateFromIssueResponseHeadRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type PullsCreateFromIssueResponseHeadRepoOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsCreateFromIssueResponseHeadRepo = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: PullsCreateFromIssueResponseHeadRepoOwner; + permissions: PullsCreateFromIssueResponseHeadRepoPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type PullsCreateFromIssueResponseHead = { + label: string; + ref: string; + repo: PullsCreateFromIssueResponseHeadRepo; + sha: string; + user: PullsCreateFromIssueResponseHeadUser; +}; +declare type PullsCreateFromIssueResponseBaseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsCreateFromIssueResponseBaseRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type PullsCreateFromIssueResponseBaseRepoOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsCreateFromIssueResponseBaseRepo = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: PullsCreateFromIssueResponseBaseRepoOwner; + permissions: PullsCreateFromIssueResponseBaseRepoPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type PullsCreateFromIssueResponseBase = { + label: string; + ref: string; + repo: PullsCreateFromIssueResponseBaseRepo; + sha: string; + user: PullsCreateFromIssueResponseBaseUser; +}; +declare type PullsCreateFromIssueResponseAssigneesItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsCreateFromIssueResponseAssignee = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsCreateFromIssueResponseLinksStatuses = { + href: string; +}; +declare type PullsCreateFromIssueResponseLinksSelf = { + href: string; +}; +declare type PullsCreateFromIssueResponseLinksReviewComments = { + href: string; +}; +declare type PullsCreateFromIssueResponseLinksReviewComment = { + href: string; +}; +declare type PullsCreateFromIssueResponseLinksIssue = { + href: string; +}; +declare type PullsCreateFromIssueResponseLinksHtml = { + href: string; +}; +declare type PullsCreateFromIssueResponseLinksCommits = { + href: string; +}; +declare type PullsCreateFromIssueResponseLinksComments = { + href: string; +}; +declare type PullsCreateFromIssueResponseLinks = { + comments: PullsCreateFromIssueResponseLinksComments; + commits: PullsCreateFromIssueResponseLinksCommits; + html: PullsCreateFromIssueResponseLinksHtml; + issue: PullsCreateFromIssueResponseLinksIssue; + review_comment: PullsCreateFromIssueResponseLinksReviewComment; + review_comments: PullsCreateFromIssueResponseLinksReviewComments; + self: PullsCreateFromIssueResponseLinksSelf; + statuses: PullsCreateFromIssueResponseLinksStatuses; +}; +declare type PullsCreateFromIssueResponse = { + _links: PullsCreateFromIssueResponseLinks; + active_lock_reason: string; + additions: number; + assignee: PullsCreateFromIssueResponseAssignee; + assignees: Array; + author_association: string; + base: PullsCreateFromIssueResponseBase; + body: string; + changed_files: number; + closed_at: string; + comments: number; + comments_url: string; + commits: number; + commits_url: string; + created_at: string; + deletions: number; + diff_url: string; + draft: boolean; + head: PullsCreateFromIssueResponseHead; + html_url: string; + id: number; + issue_url: string; + labels: Array; + locked: boolean; + maintainer_can_modify: boolean; + merge_commit_sha: string; + mergeable: boolean; + mergeable_state: string; + merged: boolean; + merged_at: string; + merged_by: PullsCreateFromIssueResponseMergedBy; + milestone: PullsCreateFromIssueResponseMilestone; + node_id: string; + number: number; + patch_url: string; + rebaseable: boolean; + requested_reviewers: Array; + requested_teams: Array; + review_comment_url: string; + review_comments: number; + review_comments_url: string; + state: string; + statuses_url: string; + title: string; + updated_at: string; + url: string; + user: PullsCreateFromIssueResponseUser; +}; +declare type PullsCreateCommentReplyResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsCreateCommentReplyResponseLinksSelf = { + href: string; +}; +declare type PullsCreateCommentReplyResponseLinksPullRequest = { + href: string; +}; +declare type PullsCreateCommentReplyResponseLinksHtml = { + href: string; +}; +declare type PullsCreateCommentReplyResponseLinks = { + html: PullsCreateCommentReplyResponseLinksHtml; + pull_request: PullsCreateCommentReplyResponseLinksPullRequest; + self: PullsCreateCommentReplyResponseLinksSelf; +}; +declare type PullsCreateCommentReplyResponse = { + _links: PullsCreateCommentReplyResponseLinks; + author_association: string; + body: string; + commit_id: string; + created_at: string; + diff_hunk: string; + html_url: string; + id: number; + in_reply_to_id: number; + line: number; + node_id: string; + original_commit_id: string; + original_line: number; + original_position: number; + original_start_line: number; + path: string; + position: number; + pull_request_review_id: number; + pull_request_url: string; + side: string; + start_line: number; + start_side: string; + updated_at: string; + url: string; + user: PullsCreateCommentReplyResponseUser; +}; +declare type PullsCreateCommentResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsCreateCommentResponseLinksSelf = { + href: string; +}; +declare type PullsCreateCommentResponseLinksPullRequest = { + href: string; +}; +declare type PullsCreateCommentResponseLinksHtml = { + href: string; +}; +declare type PullsCreateCommentResponseLinks = { + html: PullsCreateCommentResponseLinksHtml; + pull_request: PullsCreateCommentResponseLinksPullRequest; + self: PullsCreateCommentResponseLinksSelf; +}; +declare type PullsCreateCommentResponse = { + _links: PullsCreateCommentResponseLinks; + author_association: string; + body: string; + commit_id: string; + created_at: string; + diff_hunk: string; + html_url: string; + id: number; + in_reply_to_id: number; + line: number; + node_id: string; + original_commit_id: string; + original_line: number; + original_position: number; + original_start_line: number; + path: string; + position: number; + pull_request_review_id: number; + pull_request_url: string; + side: string; + start_line: number; + start_side: string; + updated_at: string; + url: string; + user: PullsCreateCommentResponseUser; +}; +declare type PullsCreateResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsCreateResponseRequestedTeamsItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; +}; +declare type PullsCreateResponseRequestedReviewersItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsCreateResponseMilestoneCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsCreateResponseMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: PullsCreateResponseMilestoneCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; +}; +declare type PullsCreateResponseMergedBy = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsCreateResponseLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare type PullsCreateResponseHeadUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsCreateResponseHeadRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type PullsCreateResponseHeadRepoOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsCreateResponseHeadRepo = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: PullsCreateResponseHeadRepoOwner; + permissions: PullsCreateResponseHeadRepoPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type PullsCreateResponseHead = { + label: string; + ref: string; + repo: PullsCreateResponseHeadRepo; + sha: string; + user: PullsCreateResponseHeadUser; +}; +declare type PullsCreateResponseBaseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsCreateResponseBaseRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type PullsCreateResponseBaseRepoOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsCreateResponseBaseRepo = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: PullsCreateResponseBaseRepoOwner; + permissions: PullsCreateResponseBaseRepoPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type PullsCreateResponseBase = { + label: string; + ref: string; + repo: PullsCreateResponseBaseRepo; + sha: string; + user: PullsCreateResponseBaseUser; +}; +declare type PullsCreateResponseAssigneesItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsCreateResponseAssignee = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type PullsCreateResponseLinksStatuses = { + href: string; +}; +declare type PullsCreateResponseLinksSelf = { + href: string; +}; +declare type PullsCreateResponseLinksReviewComments = { + href: string; +}; +declare type PullsCreateResponseLinksReviewComment = { + href: string; +}; +declare type PullsCreateResponseLinksIssue = { + href: string; +}; +declare type PullsCreateResponseLinksHtml = { + href: string; +}; +declare type PullsCreateResponseLinksCommits = { + href: string; +}; +declare type PullsCreateResponseLinksComments = { + href: string; +}; +declare type PullsCreateResponseLinks = { + comments: PullsCreateResponseLinksComments; + commits: PullsCreateResponseLinksCommits; + html: PullsCreateResponseLinksHtml; + issue: PullsCreateResponseLinksIssue; + review_comment: PullsCreateResponseLinksReviewComment; + review_comments: PullsCreateResponseLinksReviewComments; + self: PullsCreateResponseLinksSelf; + statuses: PullsCreateResponseLinksStatuses; +}; +declare type PullsCreateResponse = { + _links: PullsCreateResponseLinks; + active_lock_reason: string; + additions: number; + assignee: PullsCreateResponseAssignee; + assignees: Array; + author_association: string; + base: PullsCreateResponseBase; + body: string; + changed_files: number; + closed_at: string; + comments: number; + comments_url: string; + commits: number; + commits_url: string; + created_at: string; + deletions: number; + diff_url: string; + draft: boolean; + head: PullsCreateResponseHead; + html_url: string; + id: number; + issue_url: string; + labels: Array; + locked: boolean; + maintainer_can_modify: boolean; + merge_commit_sha: string; + mergeable: boolean; + mergeable_state: string; + merged: boolean; + merged_at: string; + merged_by: PullsCreateResponseMergedBy; + milestone: PullsCreateResponseMilestone; + node_id: string; + number: number; + patch_url: string; + rebaseable: boolean; + requested_reviewers: Array; + requested_teams: Array; + review_comment_url: string; + review_comments: number; + review_comments_url: string; + state: string; + statuses_url: string; + title: string; + updated_at: string; + url: string; + user: PullsCreateResponseUser; +}; +declare type ProjectsUpdateColumnResponse = { + cards_url: string; + created_at: string; + id: number; + name: string; + node_id: string; + project_url: string; + updated_at: string; + url: string; +}; +declare type ProjectsUpdateCardResponseCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ProjectsUpdateCardResponse = { + archived: boolean; + column_url: string; + content_url: string; + created_at: string; + creator: ProjectsUpdateCardResponseCreator; + id: number; + node_id: string; + note: string; + project_url: string; + updated_at: string; + url: string; +}; +declare type ProjectsUpdateResponseCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ProjectsUpdateResponse = { + body: string; + columns_url: string; + created_at: string; + creator: ProjectsUpdateResponseCreator; + html_url: string; + id: number; + name: string; + node_id: string; + number: number; + owner_url: string; + state: string; + updated_at: string; + url: string; +}; +declare type ProjectsReviewUserPermissionLevelResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ProjectsReviewUserPermissionLevelResponse = { + permission: string; + user: ProjectsReviewUserPermissionLevelResponseUser; +}; +declare type ProjectsListForUserResponseItemCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ProjectsListForUserResponseItem = { + body: string; + columns_url: string; + created_at: string; + creator: ProjectsListForUserResponseItemCreator; + html_url: string; + id: number; + name: string; + node_id: string; + number: number; + owner_url: string; + state: string; + updated_at: string; + url: string; +}; +declare type ProjectsListForRepoResponseItemCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ProjectsListForRepoResponseItem = { + body: string; + columns_url: string; + created_at: string; + creator: ProjectsListForRepoResponseItemCreator; + html_url: string; + id: number; + name: string; + node_id: string; + number: number; + owner_url: string; + state: string; + updated_at: string; + url: string; +}; +declare type ProjectsListForOrgResponseItemCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ProjectsListForOrgResponseItem = { + body: string; + columns_url: string; + created_at: string; + creator: ProjectsListForOrgResponseItemCreator; + html_url: string; + id: number; + name: string; + node_id: string; + number: number; + owner_url: string; + state: string; + updated_at: string; + url: string; +}; +declare type ProjectsListColumnsResponseItem = { + cards_url: string; + created_at: string; + id: number; + name: string; + node_id: string; + project_url: string; + updated_at: string; + url: string; +}; +declare type ProjectsListCollaboratorsResponseItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ProjectsListCardsResponseItemCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ProjectsListCardsResponseItem = { + archived: boolean; + column_url: string; + content_url: string; + created_at: string; + creator: ProjectsListCardsResponseItemCreator; + id: number; + node_id: string; + note: string; + project_url: string; + updated_at: string; + url: string; +}; +declare type ProjectsGetColumnResponse = { + cards_url: string; + created_at: string; + id: number; + name: string; + node_id: string; + project_url: string; + updated_at: string; + url: string; +}; +declare type ProjectsGetCardResponseCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ProjectsGetCardResponse = { + archived: boolean; + column_url: string; + content_url: string; + created_at: string; + creator: ProjectsGetCardResponseCreator; + id: number; + node_id: string; + note: string; + project_url: string; + updated_at: string; + url: string; +}; +declare type ProjectsGetResponseCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ProjectsGetResponse = { + body: string; + columns_url: string; + created_at: string; + creator: ProjectsGetResponseCreator; + html_url: string; + id: number; + name: string; + node_id: string; + number: number; + owner_url: string; + state: string; + updated_at: string; + url: string; +}; +declare type ProjectsCreateForRepoResponseCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ProjectsCreateForRepoResponse = { + body: string; + columns_url: string; + created_at: string; + creator: ProjectsCreateForRepoResponseCreator; + html_url: string; + id: number; + name: string; + node_id: string; + number: number; + owner_url: string; + state: string; + updated_at: string; + url: string; +}; +declare type ProjectsCreateForOrgResponseCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ProjectsCreateForOrgResponse = { + body: string; + columns_url: string; + created_at: string; + creator: ProjectsCreateForOrgResponseCreator; + html_url: string; + id: number; + name: string; + node_id: string; + number: number; + owner_url: string; + state: string; + updated_at: string; + url: string; +}; +declare type ProjectsCreateForAuthenticatedUserResponseCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ProjectsCreateForAuthenticatedUserResponse = { + body: string; + columns_url: string; + created_at: string; + creator: ProjectsCreateForAuthenticatedUserResponseCreator; + html_url: string; + id: number; + name: string; + node_id: string; + number: number; + owner_url: string; + state: string; + updated_at: string; + url: string; +}; +declare type ProjectsCreateColumnResponse = { + cards_url: string; + created_at: string; + id: number; + name: string; + node_id: string; + project_url: string; + updated_at: string; + url: string; +}; +declare type ProjectsCreateCardResponseCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ProjectsCreateCardResponse = { + archived: boolean; + column_url: string; + content_url: string; + created_at: string; + creator: ProjectsCreateCardResponseCreator; + id: number; + node_id: string; + note: string; + project_url: string; + updated_at: string; + url: string; +}; +declare type OrgsUpdateMembershipResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type OrgsUpdateMembershipResponseOrganization = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; +}; +declare type OrgsUpdateMembershipResponse = { + organization: OrgsUpdateMembershipResponseOrganization; + organization_url: string; + role: string; + state: string; + url: string; + user: OrgsUpdateMembershipResponseUser; +}; +declare type OrgsUpdateHookResponseConfig = { + content_type: string; + url: string; +}; +declare type OrgsUpdateHookResponse = { + active: boolean; + config: OrgsUpdateHookResponseConfig; + created_at: string; + events: Array; + id: number; + name: string; + ping_url: string; + updated_at: string; + url: string; +}; +declare type OrgsUpdateResponsePlan = { + name: string; + private_repos: number; + space: number; +}; +declare type OrgsUpdateResponse = { + avatar_url: string; + billing_email: string; + blog: string; + collaborators: number; + company: string; + created_at: string; + default_repository_permission: string; + description: string; + disk_usage: number; + email: string; + events_url: string; + followers: number; + following: number; + has_organization_projects: boolean; + has_repository_projects: boolean; + hooks_url: string; + html_url: string; + id: number; + is_verified: boolean; + issues_url: string; + location: string; + login: string; + members_allowed_repository_creation_type: string; + members_can_create_internal_repositories: boolean; + members_can_create_private_repositories: boolean; + members_can_create_public_repositories: boolean; + members_can_create_repositories: boolean; + members_url: string; + name: string; + node_id: string; + owned_private_repos: number; + plan: OrgsUpdateResponsePlan; + private_gists: number; + public_gists: number; + public_members_url: string; + public_repos: number; + repos_url: string; + total_private_repos: number; + two_factor_requirement_enabled: boolean; + type: string; + url: string; +}; +declare type OrgsRemoveOutsideCollaboratorResponse = { + documentation_url: string; + message: string; +}; +declare type OrgsListPublicMembersResponseItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type OrgsListPendingInvitationsResponseItemInviter = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type OrgsListPendingInvitationsResponseItem = { + created_at: string; + email: string; + id: number; + invitation_team_url: string; + inviter: OrgsListPendingInvitationsResponseItemInviter; + login: string; + role: string; + team_count: number; +}; +declare type OrgsListOutsideCollaboratorsResponseItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type OrgsListMembershipsResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type OrgsListMembershipsResponseItemOrganization = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; +}; +declare type OrgsListMembershipsResponseItem = { + organization: OrgsListMembershipsResponseItemOrganization; + organization_url: string; + role: string; + state: string; + url: string; + user: OrgsListMembershipsResponseItemUser; +}; +declare type OrgsListMembersResponseItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type OrgsListInvitationTeamsResponseItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; +}; +declare type OrgsListInstallationsResponseInstallationsItemPermissions = { + deployments: string; + metadata: string; + pull_requests: string; + statuses: string; +}; +declare type OrgsListInstallationsResponseInstallationsItemAccount = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type OrgsListInstallationsResponseInstallationsItem = { + access_tokens_url: string; + account: OrgsListInstallationsResponseInstallationsItemAccount; + app_id: number; + created_at: string; + events: Array; + html_url: string; + id: number; + permissions: OrgsListInstallationsResponseInstallationsItemPermissions; + repositories_url: string; + repository_selection: string; + single_file_name: null; + target_id: number; + target_type: string; + updated_at: string; +}; +declare type OrgsListInstallationsResponse = { + installations: Array; + total_count: number; +}; +declare type OrgsListHooksResponseItemConfig = { + content_type: string; + url: string; +}; +declare type OrgsListHooksResponseItem = { + active: boolean; + config: OrgsListHooksResponseItemConfig; + created_at: string; + events: Array; + id: number; + name: string; + ping_url: string; + updated_at: string; + url: string; +}; +declare type OrgsListForUserResponseItem = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; +}; +declare type OrgsListForAuthenticatedUserResponseItem = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; +}; +declare type OrgsListBlockedUsersResponseItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type OrgsListResponseItem = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; +}; +declare type OrgsGetMembershipForAuthenticatedUserResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type OrgsGetMembershipForAuthenticatedUserResponseOrganization = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; +}; +declare type OrgsGetMembershipForAuthenticatedUserResponse = { + organization: OrgsGetMembershipForAuthenticatedUserResponseOrganization; + organization_url: string; + role: string; + state: string; + url: string; + user: OrgsGetMembershipForAuthenticatedUserResponseUser; +}; +declare type OrgsGetMembershipResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type OrgsGetMembershipResponseOrganization = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; +}; +declare type OrgsGetMembershipResponse = { + organization: OrgsGetMembershipResponseOrganization; + organization_url: string; + role: string; + state: string; + url: string; + user: OrgsGetMembershipResponseUser; +}; +declare type OrgsGetHookResponseConfig = { + content_type: string; + url: string; +}; +declare type OrgsGetHookResponse = { + active: boolean; + config: OrgsGetHookResponseConfig; + created_at: string; + events: Array; + id: number; + name: string; + ping_url: string; + updated_at: string; + url: string; +}; +declare type OrgsGetResponsePlan = { + name: string; + private_repos: number; + space: number; + filled_seats?: number; + seats?: number; +}; +declare type OrgsGetResponse = { + avatar_url: string; + billing_email?: string; + blog: string; + collaborators?: number; + company: string; + created_at: string; + default_repository_permission?: string; + description: string; + disk_usage?: number; + email: string; + events_url: string; + followers: number; + following: number; + has_organization_projects: boolean; + has_repository_projects: boolean; + hooks_url: string; + html_url: string; + id: number; + is_verified: boolean; + issues_url: string; + location: string; + login: string; + members_allowed_repository_creation_type?: string; + members_can_create_internal_repositories?: boolean; + members_can_create_private_repositories?: boolean; + members_can_create_public_repositories?: boolean; + members_can_create_repositories?: boolean; + members_url: string; + name: string; + node_id: string; + owned_private_repos?: number; + plan: OrgsGetResponsePlan; + private_gists?: number; + public_gists: number; + public_members_url: string; + public_repos: number; + repos_url: string; + total_private_repos?: number; + two_factor_requirement_enabled?: boolean; + type: string; + url: string; +}; +declare type OrgsCreateInvitationResponseInviter = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type OrgsCreateInvitationResponse = { + created_at: string; + email: string; + id: number; + invitation_team_url: string; + inviter: OrgsCreateInvitationResponseInviter; + login: string; + role: string; + team_count: number; +}; +declare type OrgsCreateHookResponseConfig = { + content_type: string; + url: string; +}; +declare type OrgsCreateHookResponse = { + active: boolean; + config: OrgsCreateHookResponseConfig; + created_at: string; + events: Array; + id: number; + name: string; + ping_url: string; + updated_at: string; + url: string; +}; +declare type OrgsConvertMemberToOutsideCollaboratorResponse = { + documentation_url: string; + message: string; +}; +declare type OrgsAddOrUpdateMembershipResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type OrgsAddOrUpdateMembershipResponseOrganization = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; +}; +declare type OrgsAddOrUpdateMembershipResponse = { + organization: OrgsAddOrUpdateMembershipResponseOrganization; + organization_url: string; + role: string; + state: string; + url: string; + user: OrgsAddOrUpdateMembershipResponseUser; +}; +declare type OauthAuthorizationsUpdateAuthorizationResponseApp = { + client_id: string; + name: string; + url: string; +}; +declare type OauthAuthorizationsUpdateAuthorizationResponse = { + app: OauthAuthorizationsUpdateAuthorizationResponseApp; + created_at: string; + fingerprint: string; + hashed_token: string; + id: number; + note: string; + note_url: string; + scopes: Array; + token: string; + token_last_eight: string; + updated_at: string; + url: string; +}; +declare type OauthAuthorizationsResetAuthorizationResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type OauthAuthorizationsResetAuthorizationResponseApp = { + client_id: string; + name: string; + url: string; +}; +declare type OauthAuthorizationsResetAuthorizationResponse = { + app: OauthAuthorizationsResetAuthorizationResponseApp; + created_at: string; + fingerprint: string; + hashed_token: string; + id: number; + note: string; + note_url: string; + scopes: Array; + token: string; + token_last_eight: string; + updated_at: string; + url: string; + user: OauthAuthorizationsResetAuthorizationResponseUser; +}; +declare type OauthAuthorizationsListGrantsResponseItemApp = { + client_id: string; + name: string; + url: string; +}; +declare type OauthAuthorizationsListGrantsResponseItem = { + app: OauthAuthorizationsListGrantsResponseItemApp; + created_at: string; + id: number; + scopes: Array; + updated_at: string; + url: string; +}; +declare type OauthAuthorizationsListAuthorizationsResponseItemApp = { + client_id: string; + name: string; + url: string; +}; +declare type OauthAuthorizationsListAuthorizationsResponseItem = { + app: OauthAuthorizationsListAuthorizationsResponseItemApp; + created_at: string; + fingerprint: string; + hashed_token: string; + id: number; + note: string; + note_url: string; + scopes: Array; + token: string; + token_last_eight: string; + updated_at: string; + url: string; +}; +declare type OauthAuthorizationsGetOrCreateAuthorizationForAppFingerprintResponseApp = { + client_id: string; + name: string; + url: string; +}; +declare type OauthAuthorizationsGetOrCreateAuthorizationForAppFingerprintResponse = { + app: OauthAuthorizationsGetOrCreateAuthorizationForAppFingerprintResponseApp; + created_at: string; + fingerprint: string; + hashed_token: string; + id: number; + note: string; + note_url: string; + scopes: Array; + token: string; + token_last_eight: string; + updated_at: string; + url: string; +}; +declare type OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintResponseApp = { + client_id: string; + name: string; + url: string; +}; +declare type OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintResponse = { + app: OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintResponseApp; + created_at: string; + fingerprint: string; + hashed_token: string; + id: number; + note: string; + note_url: string; + scopes: Array; + token: string; + token_last_eight: string; + updated_at: string; + url: string; +}; +declare type OauthAuthorizationsGetOrCreateAuthorizationForAppResponseApp = { + client_id: string; + name: string; + url: string; +}; +declare type OauthAuthorizationsGetOrCreateAuthorizationForAppResponse = { + app: OauthAuthorizationsGetOrCreateAuthorizationForAppResponseApp; + created_at: string; + fingerprint: string; + hashed_token: string; + id: number; + note: string; + note_url: string; + scopes: Array; + token: string; + token_last_eight: string; + updated_at: string; + url: string; +}; +declare type OauthAuthorizationsGetGrantResponseApp = { + client_id: string; + name: string; + url: string; +}; +declare type OauthAuthorizationsGetGrantResponse = { + app: OauthAuthorizationsGetGrantResponseApp; + created_at: string; + id: number; + scopes: Array; + updated_at: string; + url: string; +}; +declare type OauthAuthorizationsGetAuthorizationResponseApp = { + client_id: string; + name: string; + url: string; +}; +declare type OauthAuthorizationsGetAuthorizationResponse = { + app: OauthAuthorizationsGetAuthorizationResponseApp; + created_at: string; + fingerprint: string; + hashed_token: string; + id: number; + note: string; + note_url: string; + scopes: Array; + token: string; + token_last_eight: string; + updated_at: string; + url: string; +}; +declare type OauthAuthorizationsCreateAuthorizationResponseApp = { + client_id: string; + name: string; + url: string; +}; +declare type OauthAuthorizationsCreateAuthorizationResponse = { + app: OauthAuthorizationsCreateAuthorizationResponseApp; + created_at: string; + fingerprint: string; + hashed_token: string; + id: number; + note: string; + note_url: string; + scopes: Array; + token: string; + token_last_eight: string; + updated_at: string; + url: string; +}; +declare type OauthAuthorizationsCheckAuthorizationResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type OauthAuthorizationsCheckAuthorizationResponseApp = { + client_id: string; + name: string; + url: string; +}; +declare type OauthAuthorizationsCheckAuthorizationResponse = { + app: OauthAuthorizationsCheckAuthorizationResponseApp; + created_at: string; + fingerprint: string; + hashed_token: string; + id: number; + note: string; + note_url: string; + scopes: Array; + token: string; + token_last_eight: string; + updated_at: string; + url: string; + user: OauthAuthorizationsCheckAuthorizationResponseUser; +}; +declare type MigrationsUpdateImportResponse = { + authors_url: string; + html_url: string; + repository_url: string; + status: string; + url: string; + use_lfs: string; + vcs: string; + vcs_url: string; + authors_count?: number; + commit_count?: number; + has_large_files?: boolean; + large_files_count?: number; + large_files_size?: number; + percent?: number; + status_text?: string; + tfvc_project?: string; +}; +declare type MigrationsStartImportResponse = { + authors_count: number; + authors_url: string; + commit_count: number; + has_large_files: boolean; + html_url: string; + large_files_count: number; + large_files_size: number; + percent: number; + repository_url: string; + status: string; + status_text: string; + url: string; + use_lfs: string; + vcs: string; + vcs_url: string; +}; +declare type MigrationsStartForOrgResponseRepositoriesItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type MigrationsStartForOrgResponseRepositoriesItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type MigrationsStartForOrgResponseRepositoriesItem = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: MigrationsStartForOrgResponseRepositoriesItemOwner; + permissions: MigrationsStartForOrgResponseRepositoriesItemPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type MigrationsStartForOrgResponseOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; +}; +declare type MigrationsStartForOrgResponse = { + created_at: string; + exclude_attachments: boolean; + guid: string; + id: number; + lock_repositories: boolean; + owner: MigrationsStartForOrgResponseOwner; + repositories: Array; + state: string; + updated_at: string; + url: string; +}; +declare type MigrationsStartForAuthenticatedUserResponseRepositoriesItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type MigrationsStartForAuthenticatedUserResponseRepositoriesItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type MigrationsStartForAuthenticatedUserResponseRepositoriesItem = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: MigrationsStartForAuthenticatedUserResponseRepositoriesItemOwner; + permissions: MigrationsStartForAuthenticatedUserResponseRepositoriesItemPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type MigrationsStartForAuthenticatedUserResponseOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type MigrationsStartForAuthenticatedUserResponse = { + created_at: string; + exclude_attachments: boolean; + guid: string; + id: number; + lock_repositories: boolean; + owner: MigrationsStartForAuthenticatedUserResponseOwner; + repositories: Array; + state: string; + updated_at: string; + url: string; +}; +declare type MigrationsSetLfsPreferenceResponse = { + authors_count: number; + authors_url: string; + has_large_files: boolean; + html_url: string; + large_files_count: number; + large_files_size: number; + repository_url: string; + status: string; + status_text: string; + url: string; + use_lfs: string; + vcs: string; + vcs_url: string; +}; +declare type MigrationsMapCommitAuthorResponse = { + email: string; + id: number; + import_url: string; + name: string; + remote_id: string; + remote_name: string; + url: string; +}; +declare type MigrationsListReposForUserResponseItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type MigrationsListReposForUserResponseItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type MigrationsListReposForUserResponseItemLicense = { + key: string; + name: string; + node_id: string; + spdx_id: string; + url: string; +}; +declare type MigrationsListReposForUserResponseItem = { + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + license: MigrationsListReposForUserResponseItemLicense; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: MigrationsListReposForUserResponseItemOwner; + permissions: MigrationsListReposForUserResponseItemPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type MigrationsListReposForOrgResponseItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type MigrationsListReposForOrgResponseItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type MigrationsListReposForOrgResponseItemLicense = { + key: string; + name: string; + node_id: string; + spdx_id: string; + url: string; +}; +declare type MigrationsListReposForOrgResponseItem = { + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + license: MigrationsListReposForOrgResponseItemLicense; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: MigrationsListReposForOrgResponseItemOwner; + permissions: MigrationsListReposForOrgResponseItemPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type MigrationsListForOrgResponseItemRepositoriesItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type MigrationsListForOrgResponseItemRepositoriesItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type MigrationsListForOrgResponseItemRepositoriesItem = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: MigrationsListForOrgResponseItemRepositoriesItemOwner; + permissions: MigrationsListForOrgResponseItemRepositoriesItemPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type MigrationsListForOrgResponseItemOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; +}; +declare type MigrationsListForOrgResponseItem = { + created_at: string; + exclude_attachments: boolean; + guid: string; + id: number; + lock_repositories: boolean; + owner: MigrationsListForOrgResponseItemOwner; + repositories: Array; + state: string; + updated_at: string; + url: string; +}; +declare type MigrationsListForAuthenticatedUserResponseItemRepositoriesItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type MigrationsListForAuthenticatedUserResponseItemRepositoriesItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type MigrationsListForAuthenticatedUserResponseItemRepositoriesItem = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: MigrationsListForAuthenticatedUserResponseItemRepositoriesItemOwner; + permissions: MigrationsListForAuthenticatedUserResponseItemRepositoriesItemPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type MigrationsListForAuthenticatedUserResponseItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type MigrationsListForAuthenticatedUserResponseItem = { + created_at: string; + exclude_attachments: boolean; + guid: string; + id: number; + lock_repositories: boolean; + owner: MigrationsListForAuthenticatedUserResponseItemOwner; + repositories: Array; + state: string; + updated_at: string; + url: string; +}; +declare type MigrationsGetStatusForOrgResponseRepositoriesItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type MigrationsGetStatusForOrgResponseRepositoriesItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type MigrationsGetStatusForOrgResponseRepositoriesItem = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: MigrationsGetStatusForOrgResponseRepositoriesItemOwner; + permissions: MigrationsGetStatusForOrgResponseRepositoriesItemPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type MigrationsGetStatusForOrgResponseOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; +}; +declare type MigrationsGetStatusForOrgResponse = { + created_at: string; + exclude_attachments: boolean; + guid: string; + id: number; + lock_repositories: boolean; + owner: MigrationsGetStatusForOrgResponseOwner; + repositories: Array; + state: string; + updated_at: string; + url: string; +}; +declare type MigrationsGetStatusForAuthenticatedUserResponseRepositoriesItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type MigrationsGetStatusForAuthenticatedUserResponseRepositoriesItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type MigrationsGetStatusForAuthenticatedUserResponseRepositoriesItem = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: MigrationsGetStatusForAuthenticatedUserResponseRepositoriesItemOwner; + permissions: MigrationsGetStatusForAuthenticatedUserResponseRepositoriesItemPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type MigrationsGetStatusForAuthenticatedUserResponseOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type MigrationsGetStatusForAuthenticatedUserResponse = { + created_at: string; + exclude_attachments: boolean; + guid: string; + id: number; + lock_repositories: boolean; + owner: MigrationsGetStatusForAuthenticatedUserResponseOwner; + repositories: Array; + state: string; + updated_at: string; + url: string; +}; +declare type MigrationsGetLargeFilesResponseItem = { + oid: string; + path: string; + ref_name: string; + size: number; +}; +declare type MigrationsGetImportProgressResponse = { + authors_count: number; + authors_url: string; + has_large_files: boolean; + html_url: string; + large_files_count: number; + large_files_size: number; + repository_url: string; + status: string; + status_text: string; + url: string; + use_lfs: string; + vcs: string; + vcs_url: string; +}; +declare type MigrationsGetCommitAuthorsResponseItem = { + email: string; + id: number; + import_url: string; + name: string; + remote_id: string; + remote_name: string; + url: string; +}; +declare type MetaGetResponseSshKeyFingerprints = { + MD5_DSA: string; + MD5_RSA: string; + SHA256_DSA: string; + SHA256_RSA: string; +}; +declare type MetaGetResponse = { + api: Array; + git: Array; + hooks: Array; + importer: Array; + pages: Array; + ssh_key_fingerprints: MetaGetResponseSshKeyFingerprints; + verifiable_password_authentication: boolean; + web: Array; +}; +declare type LicensesListCommonlyUsedResponseItem = { + key: string; + name: string; + node_id?: string; + spdx_id: string; + url: string; +}; +declare type LicensesListResponseItem = { + key: string; + name: string; + node_id?: string; + spdx_id: string; + url: string; +}; +declare type LicensesGetForRepoResponseLicense = { + key: string; + name: string; + node_id: string; + spdx_id: string; + url: string; +}; +declare type LicensesGetForRepoResponseLinks = { + git: string; + html: string; + self: string; +}; +declare type LicensesGetForRepoResponse = { + _links: LicensesGetForRepoResponseLinks; + content: string; + download_url: string; + encoding: string; + git_url: string; + html_url: string; + license: LicensesGetForRepoResponseLicense; + name: string; + path: string; + sha: string; + size: number; + type: string; + url: string; +}; +declare type LicensesGetResponse = { + body: string; + conditions: Array; + description: string; + featured: boolean; + html_url: string; + implementation: string; + key: string; + limitations: Array; + name: string; + node_id: string; + permissions: Array; + spdx_id: string; + url: string; +}; +declare type IssuesUpdateMilestoneResponseCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesUpdateMilestoneResponse = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: IssuesUpdateMilestoneResponseCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; +}; +declare type IssuesUpdateLabelResponse = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare type IssuesUpdateCommentResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesUpdateCommentResponse = { + body: string; + created_at: string; + html_url: string; + id: number; + node_id: string; + updated_at: string; + url: string; + user: IssuesUpdateCommentResponseUser; +}; +declare type IssuesUpdateResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesUpdateResponsePullRequest = { + diff_url: string; + html_url: string; + patch_url: string; + url: string; +}; +declare type IssuesUpdateResponseMilestoneCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesUpdateResponseMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: IssuesUpdateResponseMilestoneCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; +}; +declare type IssuesUpdateResponseLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare type IssuesUpdateResponseClosedBy = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesUpdateResponseAssigneesItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesUpdateResponseAssignee = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesUpdateResponse = { + active_lock_reason: string; + assignee: IssuesUpdateResponseAssignee; + assignees: Array; + body: string; + closed_at: null; + closed_by: IssuesUpdateResponseClosedBy; + comments: number; + comments_url: string; + created_at: string; + events_url: string; + html_url: string; + id: number; + labels: Array; + labels_url: string; + locked: boolean; + milestone: IssuesUpdateResponseMilestone; + node_id: string; + number: number; + pull_request: IssuesUpdateResponsePullRequest; + repository_url: string; + state: string; + title: string; + updated_at: string; + url: string; + user: IssuesUpdateResponseUser; +}; +declare type IssuesReplaceLabelsResponseItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare type IssuesRemoveLabelResponseItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare type IssuesRemoveAssigneesResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesRemoveAssigneesResponsePullRequest = { + diff_url: string; + html_url: string; + patch_url: string; + url: string; +}; +declare type IssuesRemoveAssigneesResponseMilestoneCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesRemoveAssigneesResponseMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: IssuesRemoveAssigneesResponseMilestoneCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; +}; +declare type IssuesRemoveAssigneesResponseLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare type IssuesRemoveAssigneesResponseAssigneesItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesRemoveAssigneesResponseAssignee = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesRemoveAssigneesResponse = { + active_lock_reason: string; + assignee: IssuesRemoveAssigneesResponseAssignee; + assignees: Array; + body: string; + closed_at: null; + comments: number; + comments_url: string; + created_at: string; + events_url: string; + html_url: string; + id: number; + labels: Array; + labels_url: string; + locked: boolean; + milestone: IssuesRemoveAssigneesResponseMilestone; + node_id: string; + number: number; + pull_request: IssuesRemoveAssigneesResponsePullRequest; + repository_url: string; + state: string; + title: string; + updated_at: string; + url: string; + user: IssuesRemoveAssigneesResponseUser; +}; +declare type IssuesListMilestonesForRepoResponseItemCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesListMilestonesForRepoResponseItem = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: IssuesListMilestonesForRepoResponseItemCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; +}; +declare type IssuesListLabelsOnIssueResponseItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare type IssuesListLabelsForRepoResponseItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare type IssuesListLabelsForMilestoneResponseItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare type IssuesListForRepoResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesListForRepoResponseItemPullRequest = { + diff_url: string; + html_url: string; + patch_url: string; + url: string; +}; +declare type IssuesListForRepoResponseItemMilestoneCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesListForRepoResponseItemMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: IssuesListForRepoResponseItemMilestoneCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; +}; +declare type IssuesListForRepoResponseItemLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare type IssuesListForRepoResponseItemAssigneesItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesListForRepoResponseItemAssignee = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesListForRepoResponseItem = { + active_lock_reason: string; + assignee: IssuesListForRepoResponseItemAssignee; + assignees: Array; + body: string; + closed_at: null; + comments: number; + comments_url: string; + created_at: string; + events_url: string; + html_url: string; + id: number; + labels: Array; + labels_url: string; + locked: boolean; + milestone: IssuesListForRepoResponseItemMilestone; + node_id: string; + number: number; + pull_request: IssuesListForRepoResponseItemPullRequest; + repository_url: string; + state: string; + title: string; + updated_at: string; + url: string; + user: IssuesListForRepoResponseItemUser; +}; +declare type IssuesListForOrgResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesListForOrgResponseItemRepositoryPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type IssuesListForOrgResponseItemRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesListForOrgResponseItemRepository = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: IssuesListForOrgResponseItemRepositoryOwner; + permissions: IssuesListForOrgResponseItemRepositoryPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type IssuesListForOrgResponseItemPullRequest = { + diff_url: string; + html_url: string; + patch_url: string; + url: string; +}; +declare type IssuesListForOrgResponseItemMilestoneCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesListForOrgResponseItemMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: IssuesListForOrgResponseItemMilestoneCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; +}; +declare type IssuesListForOrgResponseItemLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare type IssuesListForOrgResponseItemAssigneesItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesListForOrgResponseItemAssignee = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesListForOrgResponseItem = { + active_lock_reason: string; + assignee: IssuesListForOrgResponseItemAssignee; + assignees: Array; + body: string; + closed_at: null; + comments: number; + comments_url: string; + created_at: string; + events_url: string; + html_url: string; + id: number; + labels: Array; + labels_url: string; + locked: boolean; + milestone: IssuesListForOrgResponseItemMilestone; + node_id: string; + number: number; + pull_request: IssuesListForOrgResponseItemPullRequest; + repository: IssuesListForOrgResponseItemRepository; + repository_url: string; + state: string; + title: string; + updated_at: string; + url: string; + user: IssuesListForOrgResponseItemUser; +}; +declare type IssuesListForAuthenticatedUserResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesListForAuthenticatedUserResponseItemRepositoryPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type IssuesListForAuthenticatedUserResponseItemRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesListForAuthenticatedUserResponseItemRepository = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: IssuesListForAuthenticatedUserResponseItemRepositoryOwner; + permissions: IssuesListForAuthenticatedUserResponseItemRepositoryPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type IssuesListForAuthenticatedUserResponseItemPullRequest = { + diff_url: string; + html_url: string; + patch_url: string; + url: string; +}; +declare type IssuesListForAuthenticatedUserResponseItemMilestoneCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesListForAuthenticatedUserResponseItemMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: IssuesListForAuthenticatedUserResponseItemMilestoneCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; +}; +declare type IssuesListForAuthenticatedUserResponseItemLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare type IssuesListForAuthenticatedUserResponseItemAssigneesItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesListForAuthenticatedUserResponseItemAssignee = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesListForAuthenticatedUserResponseItem = { + active_lock_reason: string; + assignee: IssuesListForAuthenticatedUserResponseItemAssignee; + assignees: Array; + body: string; + closed_at: null; + comments: number; + comments_url: string; + created_at: string; + events_url: string; + html_url: string; + id: number; + labels: Array; + labels_url: string; + locked: boolean; + milestone: IssuesListForAuthenticatedUserResponseItemMilestone; + node_id: string; + number: number; + pull_request: IssuesListForAuthenticatedUserResponseItemPullRequest; + repository: IssuesListForAuthenticatedUserResponseItemRepository; + repository_url: string; + state: string; + title: string; + updated_at: string; + url: string; + user: IssuesListForAuthenticatedUserResponseItemUser; +}; +declare type IssuesListEventsForTimelineResponseItemActor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesListEventsForTimelineResponseItem = { + actor: IssuesListEventsForTimelineResponseItemActor; + commit_id: string; + commit_url: string; + created_at: string; + event: string; + id: number; + node_id: string; + url: string; +}; +declare type IssuesListEventsForRepoResponseItemIssueUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesListEventsForRepoResponseItemIssuePullRequest = { + diff_url: string; + html_url: string; + patch_url: string; + url: string; +}; +declare type IssuesListEventsForRepoResponseItemIssueMilestoneCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesListEventsForRepoResponseItemIssueMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: IssuesListEventsForRepoResponseItemIssueMilestoneCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; +}; +declare type IssuesListEventsForRepoResponseItemIssueLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare type IssuesListEventsForRepoResponseItemIssueAssigneesItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesListEventsForRepoResponseItemIssueAssignee = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesListEventsForRepoResponseItemIssue = { + active_lock_reason: string; + assignee: IssuesListEventsForRepoResponseItemIssueAssignee; + assignees: Array; + body: string; + closed_at: null; + comments: number; + comments_url: string; + created_at: string; + events_url: string; + html_url: string; + id: number; + labels: Array; + labels_url: string; + locked: boolean; + milestone: IssuesListEventsForRepoResponseItemIssueMilestone; + node_id: string; + number: number; + pull_request: IssuesListEventsForRepoResponseItemIssuePullRequest; + repository_url: string; + state: string; + title: string; + updated_at: string; + url: string; + user: IssuesListEventsForRepoResponseItemIssueUser; +}; +declare type IssuesListEventsForRepoResponseItemActor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesListEventsForRepoResponseItem = { + actor: IssuesListEventsForRepoResponseItemActor; + commit_id: string; + commit_url: string; + created_at: string; + event: string; + id: number; + issue: IssuesListEventsForRepoResponseItemIssue; + node_id: string; + url: string; +}; +declare type IssuesListEventsResponseItemActor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesListEventsResponseItem = { + actor: IssuesListEventsResponseItemActor; + commit_id: string; + commit_url: string; + created_at: string; + event: string; + id: number; + node_id: string; + url: string; +}; +declare type IssuesListCommentsForRepoResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesListCommentsForRepoResponseItem = { + body: string; + created_at: string; + html_url: string; + id: number; + node_id: string; + updated_at: string; + url: string; + user: IssuesListCommentsForRepoResponseItemUser; +}; +declare type IssuesListCommentsResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesListCommentsResponseItem = { + body: string; + created_at: string; + html_url: string; + id: number; + node_id: string; + updated_at: string; + url: string; + user: IssuesListCommentsResponseItemUser; +}; +declare type IssuesListAssigneesResponseItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesListResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesListResponseItemRepositoryPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type IssuesListResponseItemRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesListResponseItemRepository = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: IssuesListResponseItemRepositoryOwner; + permissions: IssuesListResponseItemRepositoryPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type IssuesListResponseItemPullRequest = { + diff_url: string; + html_url: string; + patch_url: string; + url: string; +}; +declare type IssuesListResponseItemMilestoneCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesListResponseItemMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: IssuesListResponseItemMilestoneCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; +}; +declare type IssuesListResponseItemLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare type IssuesListResponseItemAssigneesItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesListResponseItemAssignee = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesListResponseItem = { + active_lock_reason: string; + assignee: IssuesListResponseItemAssignee; + assignees: Array; + body: string; + closed_at: null; + comments: number; + comments_url: string; + created_at: string; + events_url: string; + html_url: string; + id: number; + labels: Array; + labels_url: string; + locked: boolean; + milestone: IssuesListResponseItemMilestone; + node_id: string; + number: number; + pull_request: IssuesListResponseItemPullRequest; + repository: IssuesListResponseItemRepository; + repository_url: string; + state: string; + title: string; + updated_at: string; + url: string; + user: IssuesListResponseItemUser; +}; +declare type IssuesGetMilestoneResponseCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesGetMilestoneResponse = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: IssuesGetMilestoneResponseCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; +}; +declare type IssuesGetLabelResponse = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare type IssuesGetEventResponseIssueUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesGetEventResponseIssuePullRequest = { + diff_url: string; + html_url: string; + patch_url: string; + url: string; +}; +declare type IssuesGetEventResponseIssueMilestoneCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesGetEventResponseIssueMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: IssuesGetEventResponseIssueMilestoneCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; +}; +declare type IssuesGetEventResponseIssueLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare type IssuesGetEventResponseIssueAssigneesItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesGetEventResponseIssueAssignee = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesGetEventResponseIssue = { + active_lock_reason: string; + assignee: IssuesGetEventResponseIssueAssignee; + assignees: Array; + body: string; + closed_at: null; + comments: number; + comments_url: string; + created_at: string; + events_url: string; + html_url: string; + id: number; + labels: Array; + labels_url: string; + locked: boolean; + milestone: IssuesGetEventResponseIssueMilestone; + node_id: string; + number: number; + pull_request: IssuesGetEventResponseIssuePullRequest; + repository_url: string; + state: string; + title: string; + updated_at: string; + url: string; + user: IssuesGetEventResponseIssueUser; +}; +declare type IssuesGetEventResponseActor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesGetEventResponse = { + actor: IssuesGetEventResponseActor; + commit_id: string; + commit_url: string; + created_at: string; + event: string; + id: number; + issue: IssuesGetEventResponseIssue; + node_id: string; + url: string; +}; +declare type IssuesGetCommentResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesGetCommentResponse = { + body: string; + created_at: string; + html_url: string; + id: number; + node_id: string; + updated_at: string; + url: string; + user: IssuesGetCommentResponseUser; +}; +declare type IssuesGetResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesGetResponsePullRequest = { + diff_url: string; + html_url: string; + patch_url: string; + url: string; +}; +declare type IssuesGetResponseMilestoneCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesGetResponseMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: IssuesGetResponseMilestoneCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; +}; +declare type IssuesGetResponseLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare type IssuesGetResponseClosedBy = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesGetResponseAssigneesItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesGetResponseAssignee = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesGetResponse = { + active_lock_reason: string; + assignee: IssuesGetResponseAssignee; + assignees: Array; + body: string; + closed_at: null; + closed_by: IssuesGetResponseClosedBy; + comments: number; + comments_url: string; + created_at: string; + events_url: string; + html_url: string; + id: number; + labels: Array; + labels_url: string; + locked: boolean; + milestone: IssuesGetResponseMilestone; + node_id: string; + number: number; + pull_request: IssuesGetResponsePullRequest; + repository_url: string; + state: string; + title: string; + updated_at: string; + url: string; + user: IssuesGetResponseUser; +}; +declare type IssuesCreateMilestoneResponseCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesCreateMilestoneResponse = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: IssuesCreateMilestoneResponseCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; +}; +declare type IssuesCreateLabelResponse = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare type IssuesCreateCommentResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesCreateCommentResponse = { + body: string; + created_at: string; + html_url: string; + id: number; + node_id: string; + updated_at: string; + url: string; + user: IssuesCreateCommentResponseUser; +}; +declare type IssuesCreateResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesCreateResponsePullRequest = { + diff_url: string; + html_url: string; + patch_url: string; + url: string; +}; +declare type IssuesCreateResponseMilestoneCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesCreateResponseMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: IssuesCreateResponseMilestoneCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; +}; +declare type IssuesCreateResponseLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare type IssuesCreateResponseClosedBy = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesCreateResponseAssigneesItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesCreateResponseAssignee = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesCreateResponse = { + active_lock_reason: string; + assignee: IssuesCreateResponseAssignee; + assignees: Array; + body: string; + closed_at: null; + closed_by: IssuesCreateResponseClosedBy; + comments: number; + comments_url: string; + created_at: string; + events_url: string; + html_url: string; + id: number; + labels: Array; + labels_url: string; + locked: boolean; + milestone: IssuesCreateResponseMilestone; + node_id: string; + number: number; + pull_request: IssuesCreateResponsePullRequest; + repository_url: string; + state: string; + title: string; + updated_at: string; + url: string; + user: IssuesCreateResponseUser; +}; +declare type IssuesAddLabelsResponseItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare type IssuesAddAssigneesResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesAddAssigneesResponsePullRequest = { + diff_url: string; + html_url: string; + patch_url: string; + url: string; +}; +declare type IssuesAddAssigneesResponseMilestoneCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesAddAssigneesResponseMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: IssuesAddAssigneesResponseMilestoneCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; +}; +declare type IssuesAddAssigneesResponseLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare type IssuesAddAssigneesResponseAssigneesItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesAddAssigneesResponseAssignee = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type IssuesAddAssigneesResponse = { + active_lock_reason: string; + assignee: IssuesAddAssigneesResponseAssignee; + assignees: Array; + body: string; + closed_at: null; + comments: number; + comments_url: string; + created_at: string; + events_url: string; + html_url: string; + id: number; + labels: Array; + labels_url: string; + locked: boolean; + milestone: IssuesAddAssigneesResponseMilestone; + node_id: string; + number: number; + pull_request: IssuesAddAssigneesResponsePullRequest; + repository_url: string; + state: string; + title: string; + updated_at: string; + url: string; + user: IssuesAddAssigneesResponseUser; +}; +declare type InteractionsGetRestrictionsForRepoResponse = { + expires_at: string; + limit: string; + origin: string; +}; +declare type InteractionsGetRestrictionsForOrgResponse = { + expires_at: string; + limit: string; + origin: string; +}; +declare type InteractionsAddOrUpdateRestrictionsForRepoResponse = { + expires_at: string; + limit: string; + origin: string; +}; +declare type InteractionsAddOrUpdateRestrictionsForOrgResponse = { + expires_at: string; + limit: string; + origin: string; +}; +declare type GitignoreGetTemplateResponse = { + name: string; + source: string; +}; +declare type GitUpdateRefResponseObject = { + sha: string; + type: string; + url: string; +}; +declare type GitUpdateRefResponse = { + node_id: string; + object: GitUpdateRefResponseObject; + ref: string; + url: string; +}; +declare type GitListMatchingRefsResponseItemObject = { + sha: string; + type: string; + url: string; +}; +declare type GitListMatchingRefsResponseItem = { + node_id: string; + object: GitListMatchingRefsResponseItemObject; + ref: string; + url: string; +}; +declare type GitGetTreeResponseTreeItem = { + mode: string; + path: string; + sha: string; + size?: number; + type: string; + url: string; +}; +declare type GitGetTreeResponse = { + sha: string; + tree: Array; + truncated: boolean; + url: string; +}; +declare type GitGetTagResponseVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; +}; +declare type GitGetTagResponseTagger = { + date: string; + email: string; + name: string; +}; +declare type GitGetTagResponseObject = { + sha: string; + type: string; + url: string; +}; +declare type GitGetTagResponse = { + message: string; + node_id: string; + object: GitGetTagResponseObject; + sha: string; + tag: string; + tagger: GitGetTagResponseTagger; + url: string; + verification: GitGetTagResponseVerification; +}; +declare type GitGetRefResponseObject = { + sha: string; + type: string; + url: string; +}; +declare type GitGetRefResponse = { + node_id: string; + object: GitGetRefResponseObject; + ref: string; + url: string; +}; +declare type GitGetCommitResponseVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; +}; +declare type GitGetCommitResponseTree = { + sha: string; + url: string; +}; +declare type GitGetCommitResponseParentsItem = { + sha: string; + url: string; +}; +declare type GitGetCommitResponseCommitter = { + date: string; + email: string; + name: string; +}; +declare type GitGetCommitResponseAuthor = { + date: string; + email: string; + name: string; +}; +declare type GitGetCommitResponse = { + author: GitGetCommitResponseAuthor; + committer: GitGetCommitResponseCommitter; + message: string; + parents: Array; + sha: string; + tree: GitGetCommitResponseTree; + url: string; + verification: GitGetCommitResponseVerification; +}; +declare type GitGetBlobResponse = { + content: string; + encoding: string; + sha: string; + size: number; + url: string; +}; +declare type GitCreateTreeResponseTreeItem = { + mode: string; + path: string; + sha: string; + size: number; + type: string; + url: string; +}; +declare type GitCreateTreeResponse = { + sha: string; + tree: Array; + url: string; +}; +declare type GitCreateTagResponseVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; +}; +declare type GitCreateTagResponseTagger = { + date: string; + email: string; + name: string; +}; +declare type GitCreateTagResponseObject = { + sha: string; + type: string; + url: string; +}; +declare type GitCreateTagResponse = { + message: string; + node_id: string; + object: GitCreateTagResponseObject; + sha: string; + tag: string; + tagger: GitCreateTagResponseTagger; + url: string; + verification: GitCreateTagResponseVerification; +}; +declare type GitCreateRefResponseObject = { + sha: string; + type: string; + url: string; +}; +declare type GitCreateRefResponse = { + node_id: string; + object: GitCreateRefResponseObject; + ref: string; + url: string; +}; +declare type GitCreateCommitResponseVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; +}; +declare type GitCreateCommitResponseTree = { + sha: string; + url: string; +}; +declare type GitCreateCommitResponseParentsItem = { + sha: string; + url: string; +}; +declare type GitCreateCommitResponseCommitter = { + date: string; + email: string; + name: string; +}; +declare type GitCreateCommitResponseAuthor = { + date: string; + email: string; + name: string; +}; +declare type GitCreateCommitResponse = { + author: GitCreateCommitResponseAuthor; + committer: GitCreateCommitResponseCommitter; + message: string; + node_id: string; + parents: Array; + sha: string; + tree: GitCreateCommitResponseTree; + url: string; + verification: GitCreateCommitResponseVerification; +}; +declare type GitCreateBlobResponse = { + sha: string; + url: string; +}; +declare type GistsUpdateCommentResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type GistsUpdateCommentResponse = { + body: string; + created_at: string; + id: number; + node_id: string; + updated_at: string; + url: string; + user: GistsUpdateCommentResponseUser; +}; +declare type GistsUpdateResponseOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type GistsUpdateResponseHistoryItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type GistsUpdateResponseHistoryItemChangeStatus = { + additions: number; + deletions: number; + total: number; +}; +declare type GistsUpdateResponseHistoryItem = { + change_status: GistsUpdateResponseHistoryItemChangeStatus; + committed_at: string; + url: string; + user: GistsUpdateResponseHistoryItemUser; + version: string; +}; +declare type GistsUpdateResponseForksItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type GistsUpdateResponseForksItem = { + created_at: string; + id: string; + updated_at: string; + url: string; + user: GistsUpdateResponseForksItemUser; +}; +declare type GistsUpdateResponseFilesNewFileTxt = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; +}; +declare type GistsUpdateResponseFilesHelloWorldRb = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; +}; +declare type GistsUpdateResponseFilesHelloWorldPy = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; +}; +declare type GistsUpdateResponseFilesHelloWorldMd = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; +}; +declare type GistsUpdateResponseFiles = { + "hello_world.md": GistsUpdateResponseFilesHelloWorldMd; + "hello_world.py": GistsUpdateResponseFilesHelloWorldPy; + "hello_world.rb": GistsUpdateResponseFilesHelloWorldRb; + "new_file.txt": GistsUpdateResponseFilesNewFileTxt; +}; +declare type GistsUpdateResponse = { + comments: number; + comments_url: string; + commits_url: string; + created_at: string; + description: string; + files: GistsUpdateResponseFiles; + forks: Array; + forks_url: string; + git_pull_url: string; + git_push_url: string; + history: Array; + html_url: string; + id: string; + node_id: string; + owner: GistsUpdateResponseOwner; + public: boolean; + truncated: boolean; + updated_at: string; + url: string; + user: null; +}; +declare type GistsListStarredResponseItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type GistsListStarredResponseItemFilesHelloWorldRb = { + filename: string; + language: string; + raw_url: string; + size: number; + type: string; +}; +declare type GistsListStarredResponseItemFiles = { + "hello_world.rb": GistsListStarredResponseItemFilesHelloWorldRb; +}; +declare type GistsListStarredResponseItem = { + comments: number; + comments_url: string; + commits_url: string; + created_at: string; + description: string; + files: GistsListStarredResponseItemFiles; + forks_url: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + id: string; + node_id: string; + owner: GistsListStarredResponseItemOwner; + public: boolean; + truncated: boolean; + updated_at: string; + url: string; + user: null; +}; +declare type GistsListPublicForUserResponseItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type GistsListPublicForUserResponseItemFilesHelloWorldRb = { + filename: string; + language: string; + raw_url: string; + size: number; + type: string; +}; +declare type GistsListPublicForUserResponseItemFiles = { + "hello_world.rb": GistsListPublicForUserResponseItemFilesHelloWorldRb; +}; +declare type GistsListPublicForUserResponseItem = { + comments: number; + comments_url: string; + commits_url: string; + created_at: string; + description: string; + files: GistsListPublicForUserResponseItemFiles; + forks_url: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + id: string; + node_id: string; + owner: GistsListPublicForUserResponseItemOwner; + public: boolean; + truncated: boolean; + updated_at: string; + url: string; + user: null; +}; +declare type GistsListPublicResponseItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type GistsListPublicResponseItemFilesHelloWorldRb = { + filename: string; + language: string; + raw_url: string; + size: number; + type: string; +}; +declare type GistsListPublicResponseItemFiles = { + "hello_world.rb": GistsListPublicResponseItemFilesHelloWorldRb; +}; +declare type GistsListPublicResponseItem = { + comments: number; + comments_url: string; + commits_url: string; + created_at: string; + description: string; + files: GistsListPublicResponseItemFiles; + forks_url: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + id: string; + node_id: string; + owner: GistsListPublicResponseItemOwner; + public: boolean; + truncated: boolean; + updated_at: string; + url: string; + user: null; +}; +declare type GistsListForksResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type GistsListForksResponseItem = { + created_at: string; + id: string; + updated_at: string; + url: string; + user: GistsListForksResponseItemUser; +}; +declare type GistsListCommitsResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type GistsListCommitsResponseItemChangeStatus = { + additions: number; + deletions: number; + total: number; +}; +declare type GistsListCommitsResponseItem = { + change_status: GistsListCommitsResponseItemChangeStatus; + committed_at: string; + url: string; + user: GistsListCommitsResponseItemUser; + version: string; +}; +declare type GistsListCommentsResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type GistsListCommentsResponseItem = { + body: string; + created_at: string; + id: number; + node_id: string; + updated_at: string; + url: string; + user: GistsListCommentsResponseItemUser; +}; +declare type GistsListResponseItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type GistsListResponseItemFilesHelloWorldRb = { + filename: string; + language: string; + raw_url: string; + size: number; + type: string; +}; +declare type GistsListResponseItemFiles = { + "hello_world.rb": GistsListResponseItemFilesHelloWorldRb; +}; +declare type GistsListResponseItem = { + comments: number; + comments_url: string; + commits_url: string; + created_at: string; + description: string; + files: GistsListResponseItemFiles; + forks_url: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + id: string; + node_id: string; + owner: GistsListResponseItemOwner; + public: boolean; + truncated: boolean; + updated_at: string; + url: string; + user: null; +}; +declare type GistsGetRevisionResponseOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type GistsGetRevisionResponseHistoryItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type GistsGetRevisionResponseHistoryItemChangeStatus = { + additions: number; + deletions: number; + total: number; +}; +declare type GistsGetRevisionResponseHistoryItem = { + change_status: GistsGetRevisionResponseHistoryItemChangeStatus; + committed_at: string; + url: string; + user: GistsGetRevisionResponseHistoryItemUser; + version: string; +}; +declare type GistsGetRevisionResponseForksItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type GistsGetRevisionResponseForksItem = { + created_at: string; + id: string; + updated_at: string; + url: string; + user: GistsGetRevisionResponseForksItemUser; +}; +declare type GistsGetRevisionResponseFilesHelloWorldRubyTxt = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; +}; +declare type GistsGetRevisionResponseFilesHelloWorldPythonTxt = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; +}; +declare type GistsGetRevisionResponseFilesHelloWorldRb = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; +}; +declare type GistsGetRevisionResponseFilesHelloWorldPy = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; +}; +declare type GistsGetRevisionResponseFiles = { + "hello_world.py": GistsGetRevisionResponseFilesHelloWorldPy; + "hello_world.rb": GistsGetRevisionResponseFilesHelloWorldRb; + "hello_world_python.txt": GistsGetRevisionResponseFilesHelloWorldPythonTxt; + "hello_world_ruby.txt": GistsGetRevisionResponseFilesHelloWorldRubyTxt; +}; +declare type GistsGetRevisionResponse = { + comments: number; + comments_url: string; + commits_url: string; + created_at: string; + description: string; + files: GistsGetRevisionResponseFiles; + forks: Array; + forks_url: string; + git_pull_url: string; + git_push_url: string; + history: Array; + html_url: string; + id: string; + node_id: string; + owner: GistsGetRevisionResponseOwner; + public: boolean; + truncated: boolean; + updated_at: string; + url: string; + user: null; +}; +declare type GistsGetCommentResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type GistsGetCommentResponse = { + body: string; + created_at: string; + id: number; + node_id: string; + updated_at: string; + url: string; + user: GistsGetCommentResponseUser; +}; +declare type GistsGetResponseOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type GistsGetResponseHistoryItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type GistsGetResponseHistoryItemChangeStatus = { + additions: number; + deletions: number; + total: number; +}; +declare type GistsGetResponseHistoryItem = { + change_status: GistsGetResponseHistoryItemChangeStatus; + committed_at: string; + url: string; + user: GistsGetResponseHistoryItemUser; + version: string; +}; +declare type GistsGetResponseForksItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type GistsGetResponseForksItem = { + created_at: string; + id: string; + updated_at: string; + url: string; + user: GistsGetResponseForksItemUser; +}; +declare type GistsGetResponseFilesHelloWorldRubyTxt = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; +}; +declare type GistsGetResponseFilesHelloWorldPythonTxt = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; +}; +declare type GistsGetResponseFilesHelloWorldRb = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; +}; +declare type GistsGetResponseFilesHelloWorldPy = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; +}; +declare type GistsGetResponseFiles = { + "hello_world.py": GistsGetResponseFilesHelloWorldPy; + "hello_world.rb": GistsGetResponseFilesHelloWorldRb; + "hello_world_python.txt": GistsGetResponseFilesHelloWorldPythonTxt; + "hello_world_ruby.txt": GistsGetResponseFilesHelloWorldRubyTxt; +}; +declare type GistsGetResponse = { + comments: number; + comments_url: string; + commits_url: string; + created_at: string; + description: string; + files: GistsGetResponseFiles; + forks: Array; + forks_url: string; + git_pull_url: string; + git_push_url: string; + history: Array; + html_url: string; + id: string; + node_id: string; + owner: GistsGetResponseOwner; + public: boolean; + truncated: boolean; + updated_at: string; + url: string; + user: null; +}; +declare type GistsForkResponseOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type GistsForkResponseFilesHelloWorldRb = { + filename: string; + language: string; + raw_url: string; + size: number; + type: string; +}; +declare type GistsForkResponseFiles = { + "hello_world.rb": GistsForkResponseFilesHelloWorldRb; +}; +declare type GistsForkResponse = { + comments: number; + comments_url: string; + commits_url: string; + created_at: string; + description: string; + files: GistsForkResponseFiles; + forks_url: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + id: string; + node_id: string; + owner: GistsForkResponseOwner; + public: boolean; + truncated: boolean; + updated_at: string; + url: string; + user: null; +}; +declare type GistsCreateCommentResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type GistsCreateCommentResponse = { + body: string; + created_at: string; + id: number; + node_id: string; + updated_at: string; + url: string; + user: GistsCreateCommentResponseUser; +}; +declare type GistsCreateResponseOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type GistsCreateResponseHistoryItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type GistsCreateResponseHistoryItemChangeStatus = { + additions: number; + deletions: number; + total: number; +}; +declare type GistsCreateResponseHistoryItem = { + change_status: GistsCreateResponseHistoryItemChangeStatus; + committed_at: string; + url: string; + user: GistsCreateResponseHistoryItemUser; + version: string; +}; +declare type GistsCreateResponseForksItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type GistsCreateResponseForksItem = { + created_at: string; + id: string; + updated_at: string; + url: string; + user: GistsCreateResponseForksItemUser; +}; +declare type GistsCreateResponseFilesHelloWorldRubyTxt = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; +}; +declare type GistsCreateResponseFilesHelloWorldPythonTxt = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; +}; +declare type GistsCreateResponseFilesHelloWorldRb = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; +}; +declare type GistsCreateResponseFilesHelloWorldPy = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; +}; +declare type GistsCreateResponseFiles = { + "hello_world.py": GistsCreateResponseFilesHelloWorldPy; + "hello_world.rb": GistsCreateResponseFilesHelloWorldRb; + "hello_world_python.txt": GistsCreateResponseFilesHelloWorldPythonTxt; + "hello_world_ruby.txt": GistsCreateResponseFilesHelloWorldRubyTxt; +}; +declare type GistsCreateResponse = { + comments: number; + comments_url: string; + commits_url: string; + created_at: string; + description: string; + files: GistsCreateResponseFiles; + forks: Array; + forks_url: string; + git_pull_url: string; + git_push_url: string; + history: Array; + html_url: string; + id: string; + node_id: string; + owner: GistsCreateResponseOwner; + public: boolean; + truncated: boolean; + updated_at: string; + url: string; + user: null; +}; +declare type CodesOfConductListConductCodesResponseItem = { + key: string; + name: string; + url: string; +}; +declare type CodesOfConductGetForRepoResponse = { + body: string; + key: string; + name: string; + url: string; +}; +declare type CodesOfConductGetConductCodeResponse = { + body: string; + key: string; + name: string; + url: string; +}; +declare type ChecksUpdateResponsePullRequestsItemHeadRepo = { + id: number; + name: string; + url: string; +}; +declare type ChecksUpdateResponsePullRequestsItemHead = { + ref: string; + repo: ChecksUpdateResponsePullRequestsItemHeadRepo; + sha: string; +}; +declare type ChecksUpdateResponsePullRequestsItemBaseRepo = { + id: number; + name: string; + url: string; +}; +declare type ChecksUpdateResponsePullRequestsItemBase = { + ref: string; + repo: ChecksUpdateResponsePullRequestsItemBaseRepo; + sha: string; +}; +declare type ChecksUpdateResponsePullRequestsItem = { + base: ChecksUpdateResponsePullRequestsItemBase; + head: ChecksUpdateResponsePullRequestsItemHead; + id: number; + number: number; + url: string; +}; +declare type ChecksUpdateResponseOutput = { + annotations_count: number; + annotations_url: string; + summary: string; + text: string; + title: string; +}; +declare type ChecksUpdateResponseCheckSuite = { + id: number; +}; +declare type ChecksUpdateResponseAppPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; +}; +declare type ChecksUpdateResponseAppOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; +}; +declare type ChecksUpdateResponseApp = { + created_at: string; + description: string; + events: Array; + external_url: string; + html_url: string; + id: number; + name: string; + node_id: string; + owner: ChecksUpdateResponseAppOwner; + permissions: ChecksUpdateResponseAppPermissions; + slug: string; + updated_at: string; +}; +declare type ChecksUpdateResponse = { + app: ChecksUpdateResponseApp; + check_suite: ChecksUpdateResponseCheckSuite; + completed_at: string; + conclusion: string; + details_url: string; + external_id: string; + head_sha: string; + html_url: string; + id: number; + name: string; + node_id: string; + output: ChecksUpdateResponseOutput; + pull_requests: Array; + started_at: string; + status: string; + url: string; +}; +declare type ChecksSetSuitesPreferencesResponseRepositoryPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type ChecksSetSuitesPreferencesResponseRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ChecksSetSuitesPreferencesResponseRepository = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ChecksSetSuitesPreferencesResponseRepositoryOwner; + permissions: ChecksSetSuitesPreferencesResponseRepositoryPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type ChecksSetSuitesPreferencesResponsePreferencesAutoTriggerChecksItem = { + app_id: number; + setting: boolean; +}; +declare type ChecksSetSuitesPreferencesResponsePreferences = { + auto_trigger_checks: Array; +}; +declare type ChecksSetSuitesPreferencesResponse = { + preferences: ChecksSetSuitesPreferencesResponsePreferences; + repository: ChecksSetSuitesPreferencesResponseRepository; +}; +declare type ChecksListSuitesForRefResponseCheckSuitesItemRepositoryPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type ChecksListSuitesForRefResponseCheckSuitesItemRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ChecksListSuitesForRefResponseCheckSuitesItemRepository = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ChecksListSuitesForRefResponseCheckSuitesItemRepositoryOwner; + permissions: ChecksListSuitesForRefResponseCheckSuitesItemRepositoryPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type ChecksListSuitesForRefResponseCheckSuitesItemAppPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; +}; +declare type ChecksListSuitesForRefResponseCheckSuitesItemAppOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; +}; +declare type ChecksListSuitesForRefResponseCheckSuitesItemApp = { + created_at: string; + description: string; + events: Array; + external_url: string; + html_url: string; + id: number; + name: string; + node_id: string; + owner: ChecksListSuitesForRefResponseCheckSuitesItemAppOwner; + permissions: ChecksListSuitesForRefResponseCheckSuitesItemAppPermissions; + slug: string; + updated_at: string; +}; +declare type ChecksListSuitesForRefResponseCheckSuitesItem = { + after: string; + app: ChecksListSuitesForRefResponseCheckSuitesItemApp; + before: string; + conclusion: string; + head_branch: string; + head_sha: string; + id: number; + node_id: string; + pull_requests: Array; + repository: ChecksListSuitesForRefResponseCheckSuitesItemRepository; + status: string; + url: string; +}; +declare type ChecksListSuitesForRefResponse = { + check_suites: Array; + total_count: number; +}; +declare type ChecksListForSuiteResponseCheckRunsItemPullRequestsItemHeadRepo = { + id: number; + name: string; + url: string; +}; +declare type ChecksListForSuiteResponseCheckRunsItemPullRequestsItemHead = { + ref: string; + repo: ChecksListForSuiteResponseCheckRunsItemPullRequestsItemHeadRepo; + sha: string; +}; +declare type ChecksListForSuiteResponseCheckRunsItemPullRequestsItemBaseRepo = { + id: number; + name: string; + url: string; +}; +declare type ChecksListForSuiteResponseCheckRunsItemPullRequestsItemBase = { + ref: string; + repo: ChecksListForSuiteResponseCheckRunsItemPullRequestsItemBaseRepo; + sha: string; +}; +declare type ChecksListForSuiteResponseCheckRunsItemPullRequestsItem = { + base: ChecksListForSuiteResponseCheckRunsItemPullRequestsItemBase; + head: ChecksListForSuiteResponseCheckRunsItemPullRequestsItemHead; + id: number; + number: number; + url: string; +}; +declare type ChecksListForSuiteResponseCheckRunsItemOutput = { + annotations_count: number; + annotations_url: string; + summary: string; + text: string; + title: string; +}; +declare type ChecksListForSuiteResponseCheckRunsItemCheckSuite = { + id: number; +}; +declare type ChecksListForSuiteResponseCheckRunsItemAppPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; +}; +declare type ChecksListForSuiteResponseCheckRunsItemAppOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; +}; +declare type ChecksListForSuiteResponseCheckRunsItemApp = { + created_at: string; + description: string; + events: Array; + external_url: string; + html_url: string; + id: number; + name: string; + node_id: string; + owner: ChecksListForSuiteResponseCheckRunsItemAppOwner; + permissions: ChecksListForSuiteResponseCheckRunsItemAppPermissions; + slug: string; + updated_at: string; +}; +declare type ChecksListForSuiteResponseCheckRunsItem = { + app: ChecksListForSuiteResponseCheckRunsItemApp; + check_suite: ChecksListForSuiteResponseCheckRunsItemCheckSuite; + completed_at: string; + conclusion: string; + details_url: string; + external_id: string; + head_sha: string; + html_url: string; + id: number; + name: string; + node_id: string; + output: ChecksListForSuiteResponseCheckRunsItemOutput; + pull_requests: Array; + started_at: string; + status: string; + url: string; +}; +declare type ChecksListForSuiteResponse = { + check_runs: Array; + total_count: number; +}; +declare type ChecksListForRefResponseCheckRunsItemPullRequestsItemHeadRepo = { + id: number; + name: string; + url: string; +}; +declare type ChecksListForRefResponseCheckRunsItemPullRequestsItemHead = { + ref: string; + repo: ChecksListForRefResponseCheckRunsItemPullRequestsItemHeadRepo; + sha: string; +}; +declare type ChecksListForRefResponseCheckRunsItemPullRequestsItemBaseRepo = { + id: number; + name: string; + url: string; +}; +declare type ChecksListForRefResponseCheckRunsItemPullRequestsItemBase = { + ref: string; + repo: ChecksListForRefResponseCheckRunsItemPullRequestsItemBaseRepo; + sha: string; +}; +declare type ChecksListForRefResponseCheckRunsItemPullRequestsItem = { + base: ChecksListForRefResponseCheckRunsItemPullRequestsItemBase; + head: ChecksListForRefResponseCheckRunsItemPullRequestsItemHead; + id: number; + number: number; + url: string; +}; +declare type ChecksListForRefResponseCheckRunsItemOutput = { + annotations_count: number; + annotations_url: string; + summary: string; + text: string; + title: string; +}; +declare type ChecksListForRefResponseCheckRunsItemCheckSuite = { + id: number; +}; +declare type ChecksListForRefResponseCheckRunsItemAppPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; +}; +declare type ChecksListForRefResponseCheckRunsItemAppOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; +}; +declare type ChecksListForRefResponseCheckRunsItemApp = { + created_at: string; + description: string; + events: Array; + external_url: string; + html_url: string; + id: number; + name: string; + node_id: string; + owner: ChecksListForRefResponseCheckRunsItemAppOwner; + permissions: ChecksListForRefResponseCheckRunsItemAppPermissions; + slug: string; + updated_at: string; +}; +declare type ChecksListForRefResponseCheckRunsItem = { + app: ChecksListForRefResponseCheckRunsItemApp; + check_suite: ChecksListForRefResponseCheckRunsItemCheckSuite; + completed_at: string; + conclusion: string; + details_url: string; + external_id: string; + head_sha: string; + html_url: string; + id: number; + name: string; + node_id: string; + output: ChecksListForRefResponseCheckRunsItemOutput; + pull_requests: Array; + started_at: string; + status: string; + url: string; +}; +declare type ChecksListForRefResponse = { + check_runs: Array; + total_count: number; +}; +declare type ChecksListAnnotationsResponseItem = { + annotation_level: string; + end_column: number; + end_line: number; + message: string; + path: string; + raw_details: string; + start_column: number; + start_line: number; + title: string; +}; +declare type ChecksGetSuiteResponseRepositoryPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type ChecksGetSuiteResponseRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ChecksGetSuiteResponseRepository = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ChecksGetSuiteResponseRepositoryOwner; + permissions: ChecksGetSuiteResponseRepositoryPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type ChecksGetSuiteResponseAppPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; +}; +declare type ChecksGetSuiteResponseAppOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; +}; +declare type ChecksGetSuiteResponseApp = { + created_at: string; + description: string; + events: Array; + external_url: string; + html_url: string; + id: number; + name: string; + node_id: string; + owner: ChecksGetSuiteResponseAppOwner; + permissions: ChecksGetSuiteResponseAppPermissions; + slug: string; + updated_at: string; +}; +declare type ChecksGetSuiteResponse = { + after: string; + app: ChecksGetSuiteResponseApp; + before: string; + conclusion: string; + head_branch: string; + head_sha: string; + id: number; + node_id: string; + pull_requests: Array; + repository: ChecksGetSuiteResponseRepository; + status: string; + url: string; +}; +declare type ChecksGetResponsePullRequestsItemHeadRepo = { + id: number; + name: string; + url: string; +}; +declare type ChecksGetResponsePullRequestsItemHead = { + ref: string; + repo: ChecksGetResponsePullRequestsItemHeadRepo; + sha: string; +}; +declare type ChecksGetResponsePullRequestsItemBaseRepo = { + id: number; + name: string; + url: string; +}; +declare type ChecksGetResponsePullRequestsItemBase = { + ref: string; + repo: ChecksGetResponsePullRequestsItemBaseRepo; + sha: string; +}; +declare type ChecksGetResponsePullRequestsItem = { + base: ChecksGetResponsePullRequestsItemBase; + head: ChecksGetResponsePullRequestsItemHead; + id: number; + number: number; + url: string; +}; +declare type ChecksGetResponseOutput = { + annotations_count: number; + annotations_url: string; + summary: string; + text: string; + title: string; +}; +declare type ChecksGetResponseCheckSuite = { + id: number; +}; +declare type ChecksGetResponseAppPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; +}; +declare type ChecksGetResponseAppOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; +}; +declare type ChecksGetResponseApp = { + created_at: string; + description: string; + events: Array; + external_url: string; + html_url: string; + id: number; + name: string; + node_id: string; + owner: ChecksGetResponseAppOwner; + permissions: ChecksGetResponseAppPermissions; + slug: string; + updated_at: string; +}; +declare type ChecksGetResponse = { + app: ChecksGetResponseApp; + check_suite: ChecksGetResponseCheckSuite; + completed_at: string; + conclusion: string; + details_url: string; + external_id: string; + head_sha: string; + html_url: string; + id: number; + name: string; + node_id: string; + output: ChecksGetResponseOutput; + pull_requests: Array; + started_at: string; + status: string; + url: string; +}; +declare type ChecksCreateSuiteResponseRepositoryPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type ChecksCreateSuiteResponseRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ChecksCreateSuiteResponseRepository = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ChecksCreateSuiteResponseRepositoryOwner; + permissions: ChecksCreateSuiteResponseRepositoryPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type ChecksCreateSuiteResponseAppPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; +}; +declare type ChecksCreateSuiteResponseAppOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; +}; +declare type ChecksCreateSuiteResponseApp = { + created_at: string; + description: string; + events: Array; + external_url: string; + html_url: string; + id: number; + name: string; + node_id: string; + owner: ChecksCreateSuiteResponseAppOwner; + permissions: ChecksCreateSuiteResponseAppPermissions; + slug: string; + updated_at: string; +}; +declare type ChecksCreateSuiteResponse = { + after: string; + app: ChecksCreateSuiteResponseApp; + before: string; + conclusion: string; + head_branch: string; + head_sha: string; + id: number; + node_id: string; + pull_requests: Array; + repository: ChecksCreateSuiteResponseRepository; + status: string; + url: string; +}; +declare type ChecksCreateResponsePullRequestsItemHeadRepo = { + id: number; + name: string; + url: string; +}; +declare type ChecksCreateResponsePullRequestsItemHead = { + ref: string; + repo: ChecksCreateResponsePullRequestsItemHeadRepo; + sha: string; +}; +declare type ChecksCreateResponsePullRequestsItemBaseRepo = { + id: number; + name: string; + url: string; +}; +declare type ChecksCreateResponsePullRequestsItemBase = { + ref: string; + repo: ChecksCreateResponsePullRequestsItemBaseRepo; + sha: string; +}; +declare type ChecksCreateResponsePullRequestsItem = { + base: ChecksCreateResponsePullRequestsItemBase; + head: ChecksCreateResponsePullRequestsItemHead; + id: number; + number: number; + url: string; +}; +declare type ChecksCreateResponseOutput = { + summary: string; + text: string; + title: string; + annotations_count?: number; + annotations_url?: string; +}; +declare type ChecksCreateResponseCheckSuite = { + id: number; +}; +declare type ChecksCreateResponseAppPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; +}; +declare type ChecksCreateResponseAppOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; +}; +declare type ChecksCreateResponseApp = { + created_at: string; + description: string; + events: Array; + external_url: string; + html_url: string; + id: number; + name: string; + node_id: string; + owner: ChecksCreateResponseAppOwner; + permissions: ChecksCreateResponseAppPermissions; + slug: string; + updated_at: string; +}; +declare type ChecksCreateResponse = { + app: ChecksCreateResponseApp; + check_suite: ChecksCreateResponseCheckSuite; + completed_at: null | string; + conclusion: null | string; + details_url: string; + external_id: string; + head_sha: string; + html_url: string; + id: number; + name: string; + node_id: string; + output: ChecksCreateResponseOutput; + pull_requests: Array; + started_at: string; + status: string; + url: string; +}; +declare type AppsResetTokenResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type AppsResetTokenResponseApp = { + client_id: string; + name: string; + url: string; +}; +declare type AppsResetTokenResponse = { + app: AppsResetTokenResponseApp; + created_at: string; + fingerprint: string; + hashed_token: string; + id: number; + note: string; + note_url: string; + scopes: Array; + token: string; + token_last_eight: string; + updated_at: string; + url: string; + user: AppsResetTokenResponseUser; +}; +declare type AppsResetAuthorizationResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type AppsResetAuthorizationResponseApp = { + client_id: string; + name: string; + url: string; +}; +declare type AppsResetAuthorizationResponse = { + app: AppsResetAuthorizationResponseApp; + created_at: string; + fingerprint: string; + hashed_token: string; + id: number; + note: string; + note_url: string; + scopes: Array; + token: string; + token_last_eight: string; + updated_at: string; + url: string; + user: AppsResetAuthorizationResponseUser; +}; +declare type AppsListReposResponseRepositoriesItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type AppsListReposResponseRepositoriesItem = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: AppsListReposResponseRepositoriesItemOwner; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type AppsListReposResponse = { + repositories: Array; + total_count: number; +}; +declare type AppsListPlansStubbedResponseItem = { + accounts_url: string; + bullets: Array; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + number: number; + price_model: string; + state: string; + unit_name: null; + url: string; + yearly_price_in_cents: number; +}; +declare type AppsListPlansResponseItem = { + accounts_url: string; + bullets: Array; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + number: number; + price_model: string; + state: string; + unit_name: null; + url: string; + yearly_price_in_cents: number; +}; +declare type AppsListMarketplacePurchasesForAuthenticatedUserStubbedResponseItemPlan = { + accounts_url: string; + bullets: Array; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + number: number; + price_model: string; + state: string; + unit_name: null; + url: string; + yearly_price_in_cents: number; +}; +declare type AppsListMarketplacePurchasesForAuthenticatedUserStubbedResponseItemAccount = { + email: null; + id: number; + login: string; + organization_billing_email: string; + type: string; + url: string; +}; +declare type AppsListMarketplacePurchasesForAuthenticatedUserStubbedResponseItem = { + account: AppsListMarketplacePurchasesForAuthenticatedUserStubbedResponseItemAccount; + billing_cycle: string; + free_trial_ends_on: string; + next_billing_date: string; + on_free_trial: boolean; + plan: AppsListMarketplacePurchasesForAuthenticatedUserStubbedResponseItemPlan; + unit_count: null; + updated_at: string; +}; +declare type AppsListMarketplacePurchasesForAuthenticatedUserResponseItemPlan = { + accounts_url: string; + bullets: Array; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + number: number; + price_model: string; + state: string; + unit_name: null; + url: string; + yearly_price_in_cents: number; +}; +declare type AppsListMarketplacePurchasesForAuthenticatedUserResponseItemAccount = { + email: null; + id: number; + login: string; + organization_billing_email: string; + type: string; + url: string; +}; +declare type AppsListMarketplacePurchasesForAuthenticatedUserResponseItem = { + account: AppsListMarketplacePurchasesForAuthenticatedUserResponseItemAccount; + billing_cycle: string; + free_trial_ends_on: string; + next_billing_date: string; + on_free_trial: boolean; + plan: AppsListMarketplacePurchasesForAuthenticatedUserResponseItemPlan; + unit_count: null; + updated_at: string; +}; +declare type AppsListInstallationsForAuthenticatedUserResponseInstallationsItemPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; +}; +declare type AppsListInstallationsForAuthenticatedUserResponseInstallationsItemAccount = { + avatar_url: string; + description?: string; + events_url: string; + hooks_url?: string; + id: number; + issues_url?: string; + login: string; + members_url?: string; + node_id: string; + public_members_url?: string; + repos_url: string; + url: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + organizations_url?: string; + received_events_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; +}; +declare type AppsListInstallationsForAuthenticatedUserResponseInstallationsItem = { + access_tokens_url: string; + account: AppsListInstallationsForAuthenticatedUserResponseInstallationsItemAccount; + app_id: number; + events: Array; + html_url: string; + id: number; + permissions: AppsListInstallationsForAuthenticatedUserResponseInstallationsItemPermissions; + repositories_url: string; + single_file_name: string; + target_id: number; + target_type: string; +}; +declare type AppsListInstallationsForAuthenticatedUserResponse = { + installations: Array; + total_count: number; +}; +declare type AppsListInstallationsResponseItemPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; +}; +declare type AppsListInstallationsResponseItemAccount = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; +}; +declare type AppsListInstallationsResponseItem = { + access_tokens_url: string; + account: AppsListInstallationsResponseItemAccount; + app_id: number; + events: Array; + html_url: string; + id: number; + permissions: AppsListInstallationsResponseItemPermissions; + repositories_url: string; + repository_selection: string; + single_file_name: string; + target_id: number; + target_type: string; +}; +declare type AppsListInstallationReposForAuthenticatedUserResponseRepositoriesItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type AppsListInstallationReposForAuthenticatedUserResponseRepositoriesItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type AppsListInstallationReposForAuthenticatedUserResponseRepositoriesItem = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: AppsListInstallationReposForAuthenticatedUserResponseRepositoriesItemOwner; + permissions: AppsListInstallationReposForAuthenticatedUserResponseRepositoriesItemPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type AppsListInstallationReposForAuthenticatedUserResponse = { + repositories: Array; + total_count: number; +}; +declare type AppsListAccountsUserOrOrgOnPlanStubbedResponseItemMarketplacePurchasePlan = { + accounts_url: string; + bullets: Array; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + number: number; + price_model: string; + state: string; + unit_name: null; + url: string; + yearly_price_in_cents: number; +}; +declare type AppsListAccountsUserOrOrgOnPlanStubbedResponseItemMarketplacePurchase = { + billing_cycle: string; + free_trial_ends_on: string; + next_billing_date: string; + on_free_trial: boolean; + plan: AppsListAccountsUserOrOrgOnPlanStubbedResponseItemMarketplacePurchasePlan; + unit_count: null; + updated_at: string; +}; +declare type AppsListAccountsUserOrOrgOnPlanStubbedResponseItemMarketplacePendingChangePlan = { + accounts_url: string; + bullets: Array; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + number: number; + price_model: string; + state: string; + unit_name: null; + url: string; + yearly_price_in_cents: number; +}; +declare type AppsListAccountsUserOrOrgOnPlanStubbedResponseItemMarketplacePendingChange = { + effective_date: string; + id: number; + plan: AppsListAccountsUserOrOrgOnPlanStubbedResponseItemMarketplacePendingChangePlan; + unit_count: null; +}; +declare type AppsListAccountsUserOrOrgOnPlanStubbedResponseItem = { + email: null; + id: number; + login: string; + marketplace_pending_change: AppsListAccountsUserOrOrgOnPlanStubbedResponseItemMarketplacePendingChange; + marketplace_purchase: AppsListAccountsUserOrOrgOnPlanStubbedResponseItemMarketplacePurchase; + organization_billing_email: string; + type: string; + url: string; +}; +declare type AppsListAccountsUserOrOrgOnPlanResponseItemMarketplacePurchasePlan = { + accounts_url: string; + bullets: Array; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + number: number; + price_model: string; + state: string; + unit_name: null; + url: string; + yearly_price_in_cents: number; +}; +declare type AppsListAccountsUserOrOrgOnPlanResponseItemMarketplacePurchase = { + billing_cycle: string; + free_trial_ends_on: string; + next_billing_date: string; + on_free_trial: boolean; + plan: AppsListAccountsUserOrOrgOnPlanResponseItemMarketplacePurchasePlan; + unit_count: null; + updated_at: string; +}; +declare type AppsListAccountsUserOrOrgOnPlanResponseItemMarketplacePendingChangePlan = { + accounts_url: string; + bullets: Array; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + number: number; + price_model: string; + state: string; + unit_name: null; + url: string; + yearly_price_in_cents: number; +}; +declare type AppsListAccountsUserOrOrgOnPlanResponseItemMarketplacePendingChange = { + effective_date: string; + id: number; + plan: AppsListAccountsUserOrOrgOnPlanResponseItemMarketplacePendingChangePlan; + unit_count: null; +}; +declare type AppsListAccountsUserOrOrgOnPlanResponseItem = { + email: null; + id: number; + login: string; + marketplace_pending_change: AppsListAccountsUserOrOrgOnPlanResponseItemMarketplacePendingChange; + marketplace_purchase: AppsListAccountsUserOrOrgOnPlanResponseItemMarketplacePurchase; + organization_billing_email: string; + type: string; + url: string; +}; +declare type AppsGetUserInstallationResponsePermissions = { + checks: string; + contents: string; + metadata: string; +}; +declare type AppsGetUserInstallationResponseAccount = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type AppsGetUserInstallationResponse = { + access_tokens_url: string; + account: AppsGetUserInstallationResponseAccount; + app_id: number; + created_at: string; + events: Array; + html_url: string; + id: number; + permissions: AppsGetUserInstallationResponsePermissions; + repositories_url: string; + repository_selection: string; + single_file_name: null; + target_id: number; + target_type: string; + updated_at: string; +}; +declare type AppsGetRepoInstallationResponsePermissions = { + checks: string; + contents: string; + metadata: string; +}; +declare type AppsGetRepoInstallationResponseAccount = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type AppsGetRepoInstallationResponse = { + access_tokens_url: string; + account: AppsGetRepoInstallationResponseAccount; + app_id: number; + created_at: string; + events: Array; + html_url: string; + id: number; + permissions: AppsGetRepoInstallationResponsePermissions; + repositories_url: string; + repository_selection: string; + single_file_name: null; + target_id: number; + target_type: string; + updated_at: string; +}; +declare type AppsGetOrgInstallationResponsePermissions = { + checks: string; + contents: string; + metadata: string; +}; +declare type AppsGetOrgInstallationResponseAccount = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type AppsGetOrgInstallationResponse = { + access_tokens_url: string; + account: AppsGetOrgInstallationResponseAccount; + app_id: number; + created_at: string; + events: Array; + html_url: string; + id: number; + permissions: AppsGetOrgInstallationResponsePermissions; + repositories_url: string; + repository_selection: string; + single_file_name: null; + target_id: number; + target_type: string; + updated_at: string; +}; +declare type AppsGetInstallationResponsePermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; +}; +declare type AppsGetInstallationResponseAccount = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; +}; +declare type AppsGetInstallationResponse = { + access_tokens_url: string; + account: AppsGetInstallationResponseAccount; + app_id: number; + events: Array; + html_url: string; + id: number; + permissions: AppsGetInstallationResponsePermissions; + repositories_url: string; + repository_selection: string; + single_file_name: string; + target_id: number; + target_type: string; +}; +declare type AppsGetBySlugResponsePermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; +}; +declare type AppsGetBySlugResponseOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; +}; +declare type AppsGetBySlugResponse = { + created_at: string; + description: string; + events: Array; + external_url: string; + html_url: string; + id: number; + name: string; + node_id: string; + owner: AppsGetBySlugResponseOwner; + permissions: AppsGetBySlugResponsePermissions; + slug: string; + updated_at: string; +}; +declare type AppsGetAuthenticatedResponsePermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; +}; +declare type AppsGetAuthenticatedResponseOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; +}; +declare type AppsGetAuthenticatedResponse = { + created_at: string; + description: string; + events: Array; + external_url: string; + html_url: string; + id: number; + installations_count: number; + name: string; + node_id: string; + owner: AppsGetAuthenticatedResponseOwner; + permissions: AppsGetAuthenticatedResponsePermissions; + slug: string; + updated_at: string; +}; +declare type AppsFindUserInstallationResponsePermissions = { + checks: string; + contents: string; + metadata: string; +}; +declare type AppsFindUserInstallationResponseAccount = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type AppsFindUserInstallationResponse = { + access_tokens_url: string; + account: AppsFindUserInstallationResponseAccount; + app_id: number; + created_at: string; + events: Array; + html_url: string; + id: number; + permissions: AppsFindUserInstallationResponsePermissions; + repositories_url: string; + repository_selection: string; + single_file_name: null; + target_id: number; + target_type: string; + updated_at: string; +}; +declare type AppsFindRepoInstallationResponsePermissions = { + checks: string; + contents: string; + metadata: string; +}; +declare type AppsFindRepoInstallationResponseAccount = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type AppsFindRepoInstallationResponse = { + access_tokens_url: string; + account: AppsFindRepoInstallationResponseAccount; + app_id: number; + created_at: string; + events: Array; + html_url: string; + id: number; + permissions: AppsFindRepoInstallationResponsePermissions; + repositories_url: string; + repository_selection: string; + single_file_name: null; + target_id: number; + target_type: string; + updated_at: string; +}; +declare type AppsFindOrgInstallationResponsePermissions = { + checks: string; + contents: string; + metadata: string; +}; +declare type AppsFindOrgInstallationResponseAccount = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type AppsFindOrgInstallationResponse = { + access_tokens_url: string; + account: AppsFindOrgInstallationResponseAccount; + app_id: number; + created_at: string; + events: Array; + html_url: string; + id: number; + permissions: AppsFindOrgInstallationResponsePermissions; + repositories_url: string; + repository_selection: string; + single_file_name: null; + target_id: number; + target_type: string; + updated_at: string; +}; +declare type AppsCreateInstallationTokenResponseRepositoriesItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type AppsCreateInstallationTokenResponseRepositoriesItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type AppsCreateInstallationTokenResponseRepositoriesItem = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: AppsCreateInstallationTokenResponseRepositoriesItemOwner; + permissions: AppsCreateInstallationTokenResponseRepositoriesItemPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type AppsCreateInstallationTokenResponsePermissions = { + contents: string; + issues: string; +}; +declare type AppsCreateInstallationTokenResponse = { + expires_at: string; + permissions: AppsCreateInstallationTokenResponsePermissions; + repositories: Array; + token: string; +}; +declare type AppsCreateFromManifestResponseOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type AppsCreateFromManifestResponse = { + client_id: string; + client_secret: string; + created_at: string; + description: null; + external_url: string; + html_url: string; + id: number; + name: string; + node_id: string; + owner: AppsCreateFromManifestResponseOwner; + pem: string; + updated_at: string; + webhook_secret: string; +}; +declare type AppsCreateContentAttachmentResponse = { + body: string; + id: number; + title: string; +}; +declare type AppsCheckTokenResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type AppsCheckTokenResponseApp = { + client_id: string; + name: string; + url: string; +}; +declare type AppsCheckTokenResponse = { + app: AppsCheckTokenResponseApp; + created_at: string; + fingerprint: string; + hashed_token: string; + id: number; + note: string; + note_url: string; + scopes: Array; + token: string; + token_last_eight: string; + updated_at: string; + url: string; + user: AppsCheckTokenResponseUser; +}; +declare type AppsCheckAuthorizationResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type AppsCheckAuthorizationResponseApp = { + client_id: string; + name: string; + url: string; +}; +declare type AppsCheckAuthorizationResponse = { + app: AppsCheckAuthorizationResponseApp; + created_at: string; + fingerprint: string; + hashed_token: string; + id: number; + note: string; + note_url: string; + scopes: Array; + token: string; + token_last_eight: string; + updated_at: string; + url: string; + user: AppsCheckAuthorizationResponseUser; +}; +declare type AppsCheckAccountIsAssociatedWithAnyStubbedResponseMarketplacePurchasePlan = { + accounts_url: string; + bullets: Array; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + number: number; + price_model: string; + state: string; + unit_name: null; + url: string; + yearly_price_in_cents: number; +}; +declare type AppsCheckAccountIsAssociatedWithAnyStubbedResponseMarketplacePurchase = { + billing_cycle: string; + free_trial_ends_on: string; + next_billing_date: string; + on_free_trial: boolean; + plan: AppsCheckAccountIsAssociatedWithAnyStubbedResponseMarketplacePurchasePlan; + unit_count: null; + updated_at: string; +}; +declare type AppsCheckAccountIsAssociatedWithAnyStubbedResponseMarketplacePendingChangePlan = { + accounts_url: string; + bullets: Array; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + number: number; + price_model: string; + state: string; + unit_name: null; + url: string; + yearly_price_in_cents: number; +}; +declare type AppsCheckAccountIsAssociatedWithAnyStubbedResponseMarketplacePendingChange = { + effective_date: string; + id: number; + plan: AppsCheckAccountIsAssociatedWithAnyStubbedResponseMarketplacePendingChangePlan; + unit_count: null; +}; +declare type AppsCheckAccountIsAssociatedWithAnyStubbedResponse = { + email: null; + id: number; + login: string; + marketplace_pending_change: AppsCheckAccountIsAssociatedWithAnyStubbedResponseMarketplacePendingChange; + marketplace_purchase: AppsCheckAccountIsAssociatedWithAnyStubbedResponseMarketplacePurchase; + organization_billing_email: string; + type: string; + url: string; +}; +declare type AppsCheckAccountIsAssociatedWithAnyResponseMarketplacePurchasePlan = { + accounts_url: string; + bullets: Array; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + number: number; + price_model: string; + state: string; + unit_name: null; + url: string; + yearly_price_in_cents: number; +}; +declare type AppsCheckAccountIsAssociatedWithAnyResponseMarketplacePurchase = { + billing_cycle: string; + free_trial_ends_on: string; + next_billing_date: string; + on_free_trial: boolean; + plan: AppsCheckAccountIsAssociatedWithAnyResponseMarketplacePurchasePlan; + unit_count: null; + updated_at: string; +}; +declare type AppsCheckAccountIsAssociatedWithAnyResponseMarketplacePendingChangePlan = { + accounts_url: string; + bullets: Array; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + number: number; + price_model: string; + state: string; + unit_name: null; + url: string; + yearly_price_in_cents: number; +}; +declare type AppsCheckAccountIsAssociatedWithAnyResponseMarketplacePendingChange = { + effective_date: string; + id: number; + plan: AppsCheckAccountIsAssociatedWithAnyResponseMarketplacePendingChangePlan; + unit_count: null; +}; +declare type AppsCheckAccountIsAssociatedWithAnyResponse = { + email: null; + id: number; + login: string; + marketplace_pending_change: AppsCheckAccountIsAssociatedWithAnyResponseMarketplacePendingChange; + marketplace_purchase: AppsCheckAccountIsAssociatedWithAnyResponseMarketplacePurchase; + organization_billing_email: string; + type: string; + url: string; +}; +declare type ActivitySetThreadSubscriptionResponse = { + created_at: string; + ignored: boolean; + reason: null; + subscribed: boolean; + thread_url: string; + url: string; +}; +declare type ActivitySetRepoSubscriptionResponse = { + created_at: string; + ignored: boolean; + reason: null; + repository_url: string; + subscribed: boolean; + url: string; +}; +declare type ActivityListWatchersForRepoResponseItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ActivityListWatchedReposForAuthenticatedUserResponseItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type ActivityListWatchedReposForAuthenticatedUserResponseItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ActivityListWatchedReposForAuthenticatedUserResponseItemLicense = { + key: string; + name: string; + node_id: string; + spdx_id: string; + url: string; +}; +declare type ActivityListWatchedReposForAuthenticatedUserResponseItem = { + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + license: ActivityListWatchedReposForAuthenticatedUserResponseItemLicense; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ActivityListWatchedReposForAuthenticatedUserResponseItemOwner; + permissions: ActivityListWatchedReposForAuthenticatedUserResponseItemPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type ActivityListStargazersForRepoResponseItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ActivityListReposWatchedByUserResponseItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type ActivityListReposWatchedByUserResponseItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ActivityListReposWatchedByUserResponseItemLicense = { + key: string; + name: string; + node_id: string; + spdx_id: string; + url: string; +}; +declare type ActivityListReposWatchedByUserResponseItem = { + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + license: ActivityListReposWatchedByUserResponseItemLicense; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ActivityListReposWatchedByUserResponseItemOwner; + permissions: ActivityListReposWatchedByUserResponseItemPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type ActivityListReposStarredByUserResponseItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type ActivityListReposStarredByUserResponseItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ActivityListReposStarredByUserResponseItem = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ActivityListReposStarredByUserResponseItemOwner; + permissions: ActivityListReposStarredByUserResponseItemPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type ActivityListReposStarredByAuthenticatedUserResponseItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type ActivityListReposStarredByAuthenticatedUserResponseItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ActivityListReposStarredByAuthenticatedUserResponseItem = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ActivityListReposStarredByAuthenticatedUserResponseItemOwner; + permissions: ActivityListReposStarredByAuthenticatedUserResponseItemPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type ActivityListNotificationsForRepoResponseItemSubject = { + latest_comment_url: string; + title: string; + type: string; + url: string; +}; +declare type ActivityListNotificationsForRepoResponseItemRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ActivityListNotificationsForRepoResponseItemRepository = { + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + description: string; + downloads_url: string; + events_url: string; + fork: boolean; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + html_url: string; + id: number; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + name: string; + node_id: string; + notifications_url: string; + owner: ActivityListNotificationsForRepoResponseItemRepositoryOwner; + private: boolean; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + url: string; +}; +declare type ActivityListNotificationsForRepoResponseItem = { + id: string; + last_read_at: string; + reason: string; + repository: ActivityListNotificationsForRepoResponseItemRepository; + subject: ActivityListNotificationsForRepoResponseItemSubject; + unread: boolean; + updated_at: string; + url: string; +}; +declare type ActivityListNotificationsResponseItemSubject = { + latest_comment_url: string; + title: string; + type: string; + url: string; +}; +declare type ActivityListNotificationsResponseItemRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ActivityListNotificationsResponseItemRepository = { + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + description: string; + downloads_url: string; + events_url: string; + fork: boolean; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + html_url: string; + id: number; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + name: string; + node_id: string; + notifications_url: string; + owner: ActivityListNotificationsResponseItemRepositoryOwner; + private: boolean; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + url: string; +}; +declare type ActivityListNotificationsResponseItem = { + id: string; + last_read_at: string; + reason: string; + repository: ActivityListNotificationsResponseItemRepository; + subject: ActivityListNotificationsResponseItemSubject; + unread: boolean; + updated_at: string; + url: string; +}; +declare type ActivityListFeedsResponseLinksUser = { + href: string; + type: string; +}; +declare type ActivityListFeedsResponseLinksTimeline = { + href: string; + type: string; +}; +declare type ActivityListFeedsResponseLinksSecurityAdvisories = { + href: string; + type: string; +}; +declare type ActivityListFeedsResponseLinksCurrentUserPublic = { + href: string; + type: string; +}; +declare type ActivityListFeedsResponseLinksCurrentUserOrganizationsItem = { + href: string; + type: string; +}; +declare type ActivityListFeedsResponseLinksCurrentUserOrganization = { + href: string; + type: string; +}; +declare type ActivityListFeedsResponseLinksCurrentUserActor = { + href: string; + type: string; +}; +declare type ActivityListFeedsResponseLinksCurrentUser = { + href: string; + type: string; +}; +declare type ActivityListFeedsResponseLinks = { + current_user: ActivityListFeedsResponseLinksCurrentUser; + current_user_actor: ActivityListFeedsResponseLinksCurrentUserActor; + current_user_organization: ActivityListFeedsResponseLinksCurrentUserOrganization; + current_user_organizations: Array; + current_user_public: ActivityListFeedsResponseLinksCurrentUserPublic; + security_advisories: ActivityListFeedsResponseLinksSecurityAdvisories; + timeline: ActivityListFeedsResponseLinksTimeline; + user: ActivityListFeedsResponseLinksUser; +}; +declare type ActivityListFeedsResponse = { + _links: ActivityListFeedsResponseLinks; + current_user_actor_url: string; + current_user_organization_url: string; + current_user_organization_urls: Array; + current_user_public_url: string; + current_user_url: string; + security_advisories_url: string; + timeline_url: string; + user_url: string; +}; +declare type ActivityGetThreadSubscriptionResponse = { + created_at: string; + ignored: boolean; + reason: null; + subscribed: boolean; + thread_url: string; + url: string; +}; +declare type ActivityGetThreadResponseSubject = { + latest_comment_url: string; + title: string; + type: string; + url: string; +}; +declare type ActivityGetThreadResponseRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ActivityGetThreadResponseRepository = { + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + description: string; + downloads_url: string; + events_url: string; + fork: boolean; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + html_url: string; + id: number; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + name: string; + node_id: string; + notifications_url: string; + owner: ActivityGetThreadResponseRepositoryOwner; + private: boolean; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + url: string; +}; +declare type ActivityGetThreadResponse = { + id: string; + last_read_at: string; + reason: string; + repository: ActivityGetThreadResponseRepository; + subject: ActivityGetThreadResponseSubject; + unread: boolean; + updated_at: string; + url: string; +}; +declare type ActivityGetRepoSubscriptionResponse = { + created_at: string; + ignored: boolean; + reason: null; + repository_url: string; + subscribed: boolean; + url: string; +}; +declare type ActionsListWorkflowRunsResponseWorkflowRunsItemRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ActionsListWorkflowRunsResponseWorkflowRunsItemRepository = { + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + description: string; + downloads_url: string; + events_url: string; + fork: boolean; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + html_url: string; + id: number; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + name: string; + node_id: string; + notifications_url: string; + owner: ActionsListWorkflowRunsResponseWorkflowRunsItemRepositoryOwner; + private: boolean; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + url: string; +}; +declare type ActionsListWorkflowRunsResponseWorkflowRunsItemHeadRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ActionsListWorkflowRunsResponseWorkflowRunsItemHeadRepository = { + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + description: null; + downloads_url: string; + events_url: string; + fork: boolean; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + hooks_url: string; + html_url: string; + id: number; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + name: string; + node_id: string; + notifications_url: string; + owner: ActionsListWorkflowRunsResponseWorkflowRunsItemHeadRepositoryOwner; + private: boolean; + pulls_url: string; + releases_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + url: string; +}; +declare type ActionsListWorkflowRunsResponseWorkflowRunsItemHeadCommitCommitter = { + email: string; + name: string; +}; +declare type ActionsListWorkflowRunsResponseWorkflowRunsItemHeadCommitAuthor = { + email: string; + name: string; +}; +declare type ActionsListWorkflowRunsResponseWorkflowRunsItemHeadCommit = { + author: ActionsListWorkflowRunsResponseWorkflowRunsItemHeadCommitAuthor; + committer: ActionsListWorkflowRunsResponseWorkflowRunsItemHeadCommitCommitter; + id: string; + message: string; + timestamp: string; + tree_id: string; +}; +declare type ActionsListWorkflowRunsResponseWorkflowRunsItem = { + artifacts_url: string; + cancel_url: string; + check_suite_id: number; + conclusion: null; + created_at: string; + event: string; + head_branch: string; + head_commit: ActionsListWorkflowRunsResponseWorkflowRunsItemHeadCommit; + head_repository: ActionsListWorkflowRunsResponseWorkflowRunsItemHeadRepository; + head_sha: string; + html_url: string; + id: number; + jobs_url: string; + logs_url: string; + node_id: string; + pull_requests: Array; + repository: ActionsListWorkflowRunsResponseWorkflowRunsItemRepository; + rerun_url: string; + run_number: number; + status: string; + updated_at: string; + url: string; + workflow_url: string; +}; +declare type ActionsListWorkflowRunsResponse = { + total_count: number; + workflow_runs: Array; +}; +declare type ActionsListWorkflowRunArtifactsResponseArtifactsItem = { + archive_download_url: string; + created_at: string; + expired: string; + expires_at: string; + id: number; + name: string; + node_id: string; + size_in_bytes: number; +}; +declare type ActionsListWorkflowRunArtifactsResponse = { + artifacts: Array; + total_count: number; +}; +declare type ActionsListSelfHostedRunnersForRepoResponseItemItem = { + id: number; + name: string; + os: string; + status: string; +}; +declare type ActionsListSecretsForRepoResponseSecretsItem = { + created_at: string; + name: string; + updated_at: string; +}; +declare type ActionsListSecretsForRepoResponse = { + secrets: Array; + total_count: number; +}; +declare type ActionsListRepoWorkflowsResponseWorkflowsItem = { + badge_url: string; + created_at: string; + html_url: string; + id: number; + name: string; + node_id: string; + path: string; + state: string; + updated_at: string; + url: string; +}; +declare type ActionsListRepoWorkflowsResponse = { + total_count: number; + workflows: Array; +}; +declare type ActionsListRepoWorkflowRunsResponseWorkflowRunsItemRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ActionsListRepoWorkflowRunsResponseWorkflowRunsItemRepository = { + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + description: string; + downloads_url: string; + events_url: string; + fork: boolean; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + html_url: string; + id: number; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + name: string; + node_id: string; + notifications_url: string; + owner: ActionsListRepoWorkflowRunsResponseWorkflowRunsItemRepositoryOwner; + private: boolean; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + url: string; +}; +declare type ActionsListRepoWorkflowRunsResponseWorkflowRunsItemHeadRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ActionsListRepoWorkflowRunsResponseWorkflowRunsItemHeadRepository = { + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + description: null; + downloads_url: string; + events_url: string; + fork: boolean; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + hooks_url: string; + html_url: string; + id: number; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + name: string; + node_id: string; + notifications_url: string; + owner: ActionsListRepoWorkflowRunsResponseWorkflowRunsItemHeadRepositoryOwner; + private: boolean; + pulls_url: string; + releases_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + url: string; +}; +declare type ActionsListRepoWorkflowRunsResponseWorkflowRunsItemHeadCommitCommitter = { + email: string; + name: string; +}; +declare type ActionsListRepoWorkflowRunsResponseWorkflowRunsItemHeadCommitAuthor = { + email: string; + name: string; +}; +declare type ActionsListRepoWorkflowRunsResponseWorkflowRunsItemHeadCommit = { + author: ActionsListRepoWorkflowRunsResponseWorkflowRunsItemHeadCommitAuthor; + committer: ActionsListRepoWorkflowRunsResponseWorkflowRunsItemHeadCommitCommitter; + id: string; + message: string; + timestamp: string; + tree_id: string; +}; +declare type ActionsListRepoWorkflowRunsResponseWorkflowRunsItem = { + artifacts_url: string; + cancel_url: string; + check_suite_id: number; + conclusion: null; + created_at: string; + event: string; + head_branch: string; + head_commit: ActionsListRepoWorkflowRunsResponseWorkflowRunsItemHeadCommit; + head_repository: ActionsListRepoWorkflowRunsResponseWorkflowRunsItemHeadRepository; + head_sha: string; + html_url: string; + id: number; + jobs_url: string; + logs_url: string; + node_id: string; + pull_requests: Array; + repository: ActionsListRepoWorkflowRunsResponseWorkflowRunsItemRepository; + rerun_url: string; + run_number: number; + status: string; + updated_at: string; + url: string; + workflow_url: string; +}; +declare type ActionsListRepoWorkflowRunsResponse = { + total_count: number; + workflow_runs: Array; +}; +declare type ActionsListJobsForWorkflowRunResponseJobsItemStepsItem = { + completed_at: string; + conclusion: string; + name: string; + number: number; + started_at: string; + status: string; +}; +declare type ActionsListJobsForWorkflowRunResponseJobsItem = { + check_run_url: string; + completed_at: string; + conclusion: string; + head_sha: string; + html_url: string; + id: number; + name: string; + node_id: string; + run_id: number; + run_url: string; + started_at: string; + status: string; + steps: Array; + url: string; +}; +declare type ActionsListJobsForWorkflowRunResponse = { + jobs: Array; + total_count: number; +}; +declare type ActionsListDownloadsForSelfHostedRunnerApplicationResponseItem = { + architecture: string; + download_url: string; + filename: string; + os: string; +}; +declare type ActionsGetWorkflowRunResponseRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ActionsGetWorkflowRunResponseRepository = { + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + description: string; + downloads_url: string; + events_url: string; + fork: boolean; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + html_url: string; + id: number; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + name: string; + node_id: string; + notifications_url: string; + owner: ActionsGetWorkflowRunResponseRepositoryOwner; + private: boolean; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + url: string; +}; +declare type ActionsGetWorkflowRunResponseHeadRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ActionsGetWorkflowRunResponseHeadRepository = { + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + description: null; + downloads_url: string; + events_url: string; + fork: boolean; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + hooks_url: string; + html_url: string; + id: number; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + name: string; + node_id: string; + notifications_url: string; + owner: ActionsGetWorkflowRunResponseHeadRepositoryOwner; + private: boolean; + pulls_url: string; + releases_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + url: string; +}; +declare type ActionsGetWorkflowRunResponseHeadCommitCommitter = { + email: string; + name: string; +}; +declare type ActionsGetWorkflowRunResponseHeadCommitAuthor = { + email: string; + name: string; +}; +declare type ActionsGetWorkflowRunResponseHeadCommit = { + author: ActionsGetWorkflowRunResponseHeadCommitAuthor; + committer: ActionsGetWorkflowRunResponseHeadCommitCommitter; + id: string; + message: string; + timestamp: string; + tree_id: string; +}; +declare type ActionsGetWorkflowRunResponse = { + artifacts_url: string; + cancel_url: string; + check_suite_id: number; + conclusion: null; + created_at: string; + event: string; + head_branch: string; + head_commit: ActionsGetWorkflowRunResponseHeadCommit; + head_repository: ActionsGetWorkflowRunResponseHeadRepository; + head_sha: string; + html_url: string; + id: number; + jobs_url: string; + logs_url: string; + node_id: string; + pull_requests: Array; + repository: ActionsGetWorkflowRunResponseRepository; + rerun_url: string; + run_number: number; + status: string; + updated_at: string; + url: string; + workflow_url: string; +}; +declare type ActionsGetWorkflowJobResponseStepsItem = { + completed_at: string; + conclusion: string; + name: string; + number: number; + started_at: string; + status: string; +}; +declare type ActionsGetWorkflowJobResponse = { + check_run_url: string; + completed_at: string; + conclusion: string; + head_sha: string; + html_url: string; + id: number; + name: string; + node_id: string; + run_id: number; + run_url: string; + started_at: string; + status: string; + steps: Array; + url: string; +}; +declare type ActionsGetWorkflowResponse = { + badge_url: string; + created_at: string; + html_url: string; + id: number; + name: string; + node_id: string; + path: string; + state: string; + updated_at: string; + url: string; +}; +declare type ActionsGetSelfHostedRunnerResponse = { + id: number; + name: string; + os: string; + status: string; +}; +declare type ActionsGetSecretResponse = { + created_at: string; + name: string; + updated_at: string; +}; +declare type ActionsGetPublicKeyResponse = { + key: string; + key_id: string; +}; +declare type ActionsGetArtifactResponse = { + archive_download_url: string; + created_at: string; + expired: string; + expires_at: string; + id: number; + name: string; + node_id: string; + size_in_bytes: number; +}; +declare type ActionsCreateRemoveTokenResponse = { + expires_at: string; + token: string; +}; +declare type ActionsCreateRegistrationTokenResponse = { + expires_at: string; + token: string; +}; +declare type ActionsListDownloadsForSelfHostedRunnerApplicationResponse = Array; +declare type ActionsListSelfHostedRunnersForRepoResponse = Array>; +declare type ActivityListNotificationsResponse = Array; +declare type ActivityListNotificationsForRepoResponse = Array; +declare type ActivityListReposStarredByAuthenticatedUserResponse = Array; +declare type ActivityListReposStarredByUserResponse = Array; +declare type ActivityListReposWatchedByUserResponse = Array; +declare type ActivityListStargazersForRepoResponse = Array; +declare type ActivityListWatchedReposForAuthenticatedUserResponse = Array; +declare type ActivityListWatchersForRepoResponse = Array; +declare type AppsListAccountsUserOrOrgOnPlanResponse = Array; +declare type AppsListAccountsUserOrOrgOnPlanStubbedResponse = Array; +declare type AppsListInstallationsResponse = Array; +declare type AppsListMarketplacePurchasesForAuthenticatedUserResponse = Array; +declare type AppsListMarketplacePurchasesForAuthenticatedUserStubbedResponse = Array; +declare type AppsListPlansResponse = Array; +declare type AppsListPlansStubbedResponse = Array; +declare type ChecksListAnnotationsResponse = Array; +declare type CodesOfConductListConductCodesResponse = Array; +declare type GistsListResponse = Array; +declare type GistsListCommentsResponse = Array; +declare type GistsListCommitsResponse = Array; +declare type GistsListForksResponse = Array; +declare type GistsListPublicResponse = Array; +declare type GistsListPublicForUserResponse = Array; +declare type GistsListStarredResponse = Array; +declare type GitListMatchingRefsResponse = Array; +declare type GitignoreListTemplatesResponse = Array; +declare type IssuesAddLabelsResponse = Array; +declare type IssuesListResponse = Array; +declare type IssuesListAssigneesResponse = Array; +declare type IssuesListCommentsResponse = Array; +declare type IssuesListCommentsForRepoResponse = Array; +declare type IssuesListEventsResponse = Array; +declare type IssuesListEventsForRepoResponse = Array; +declare type IssuesListEventsForTimelineResponse = Array; +declare type IssuesListForAuthenticatedUserResponse = Array; +declare type IssuesListForOrgResponse = Array; +declare type IssuesListForRepoResponse = Array; +declare type IssuesListLabelsForMilestoneResponse = Array; +declare type IssuesListLabelsForRepoResponse = Array; +declare type IssuesListLabelsOnIssueResponse = Array; +declare type IssuesListMilestonesForRepoResponse = Array; +declare type IssuesRemoveLabelResponse = Array; +declare type IssuesReplaceLabelsResponse = Array; +declare type LicensesListResponse = Array; +declare type LicensesListCommonlyUsedResponse = Array; +declare type MigrationsGetCommitAuthorsResponse = Array; +declare type MigrationsGetLargeFilesResponse = Array; +declare type MigrationsListForAuthenticatedUserResponse = Array; +declare type MigrationsListForOrgResponse = Array; +declare type MigrationsListReposForOrgResponse = Array; +declare type MigrationsListReposForUserResponse = Array; +declare type OauthAuthorizationsListAuthorizationsResponse = Array; +declare type OauthAuthorizationsListGrantsResponse = Array; +declare type OrgsListResponse = Array; +declare type OrgsListBlockedUsersResponse = Array; +declare type OrgsListForAuthenticatedUserResponse = Array; +declare type OrgsListForUserResponse = Array; +declare type OrgsListHooksResponse = Array; +declare type OrgsListInvitationTeamsResponse = Array; +declare type OrgsListMembersResponse = Array; +declare type OrgsListMembershipsResponse = Array; +declare type OrgsListOutsideCollaboratorsResponse = Array; +declare type OrgsListPendingInvitationsResponse = Array; +declare type OrgsListPublicMembersResponse = Array; +declare type ProjectsListCardsResponse = Array; +declare type ProjectsListCollaboratorsResponse = Array; +declare type ProjectsListColumnsResponse = Array; +declare type ProjectsListForOrgResponse = Array; +declare type ProjectsListForRepoResponse = Array; +declare type ProjectsListForUserResponse = Array; +declare type PullsGetCommentsForReviewResponse = Array; +declare type PullsListResponse = Array; +declare type PullsListCommentsResponse = Array; +declare type PullsListCommentsForRepoResponse = Array; +declare type PullsListCommitsResponse = Array; +declare type PullsListFilesResponse = Array; +declare type PullsListReviewsResponse = Array; +declare type ReactionsListForCommitCommentResponse = Array; +declare type ReactionsListForIssueResponse = Array; +declare type ReactionsListForIssueCommentResponse = Array; +declare type ReactionsListForPullRequestReviewCommentResponse = Array; +declare type ReactionsListForTeamDiscussionResponse = Array; +declare type ReactionsListForTeamDiscussionCommentResponse = Array; +declare type ReactionsListForTeamDiscussionCommentInOrgResponse = Array; +declare type ReactionsListForTeamDiscussionCommentLegacyResponse = Array; +declare type ReactionsListForTeamDiscussionInOrgResponse = Array; +declare type ReactionsListForTeamDiscussionLegacyResponse = Array; +declare type ReposAddProtectedBranchAppRestrictionsResponse = Array; +declare type ReposAddProtectedBranchRequiredStatusChecksContextsResponse = Array; +declare type ReposAddProtectedBranchTeamRestrictionsResponse = Array; +declare type ReposAddProtectedBranchUserRestrictionsResponse = Array; +declare type ReposGetAppsWithAccessToProtectedBranchResponse = Array; +declare type ReposGetCodeFrequencyStatsResponse = Array>; +declare type ReposGetCommitActivityStatsResponse = Array; +declare type ReposGetContributorsStatsResponse = Array; +declare type ReposGetPunchCardStatsResponse = Array>; +declare type ReposGetTeamsWithAccessToProtectedBranchResponse = Array; +declare type ReposGetTopPathsResponse = Array; +declare type ReposGetTopReferrersResponse = Array; +declare type ReposGetUsersWithAccessToProtectedBranchResponse = Array; +declare type ReposListAppsWithAccessToProtectedBranchResponse = Array; +declare type ReposListAssetsForReleaseResponse = Array; +declare type ReposListBranchesResponse = Array; +declare type ReposListBranchesForHeadCommitResponse = Array; +declare type ReposListCollaboratorsResponse = Array; +declare type ReposListCommentsForCommitResponse = Array; +declare type ReposListCommitCommentsResponse = Array; +declare type ReposListCommitsResponse = Array; +declare type ReposListContributorsResponse = Array; +declare type ReposListDeployKeysResponse = Array; +declare type ReposListDeploymentStatusesResponse = Array; +declare type ReposListDeploymentsResponse = Array; +declare type ReposListDownloadsResponse = Array; +declare type ReposListForOrgResponse = Array; +declare type ReposListForksResponse = Array; +declare type ReposListHooksResponse = Array; +declare type ReposListInvitationsResponse = Array; +declare type ReposListInvitationsForAuthenticatedUserResponse = Array; +declare type ReposListPagesBuildsResponse = Array; +declare type ReposListProtectedBranchRequiredStatusChecksContextsResponse = Array; +declare type ReposListProtectedBranchTeamRestrictionsResponse = Array; +declare type ReposListProtectedBranchUserRestrictionsResponse = Array; +declare type ReposListPublicResponse = Array; +declare type ReposListPullRequestsAssociatedWithCommitResponse = Array; +declare type ReposListReleasesResponse = Array; +declare type ReposListStatusesForRefResponse = Array; +declare type ReposListTagsResponse = Array; +declare type ReposListTeamsResponse = Array; +declare type ReposListTeamsWithAccessToProtectedBranchResponse = Array; +declare type ReposListUsersWithAccessToProtectedBranchResponse = Array; +declare type ReposRemoveProtectedBranchAppRestrictionsResponse = Array; +declare type ReposRemoveProtectedBranchRequiredStatusChecksContextsResponse = Array; +declare type ReposRemoveProtectedBranchTeamRestrictionsResponse = Array; +declare type ReposRemoveProtectedBranchUserRestrictionsResponse = Array; +declare type ReposReplaceProtectedBranchAppRestrictionsResponse = Array; +declare type ReposReplaceProtectedBranchRequiredStatusChecksContextsResponse = Array; +declare type ReposReplaceProtectedBranchTeamRestrictionsResponse = Array; +declare type ReposReplaceProtectedBranchUserRestrictionsResponse = Array; +declare type TeamsListResponse = Array; +declare type TeamsListChildResponse = Array; +declare type TeamsListChildInOrgResponse = Array; +declare type TeamsListChildLegacyResponse = Array; +declare type TeamsListDiscussionCommentsResponse = Array; +declare type TeamsListDiscussionCommentsInOrgResponse = Array; +declare type TeamsListDiscussionCommentsLegacyResponse = Array; +declare type TeamsListDiscussionsResponse = Array; +declare type TeamsListDiscussionsInOrgResponse = Array; +declare type TeamsListDiscussionsLegacyResponse = Array; +declare type TeamsListForAuthenticatedUserResponse = Array; +declare type TeamsListMembersResponse = Array; +declare type TeamsListMembersInOrgResponse = Array; +declare type TeamsListMembersLegacyResponse = Array; +declare type TeamsListPendingInvitationsResponse = Array; +declare type TeamsListPendingInvitationsInOrgResponse = Array; +declare type TeamsListPendingInvitationsLegacyResponse = Array; +declare type TeamsListProjectsResponse = Array; +declare type TeamsListProjectsInOrgResponse = Array; +declare type TeamsListProjectsLegacyResponse = Array; +declare type TeamsListReposResponse = Array; +declare type TeamsListReposInOrgResponse = Array; +declare type TeamsListReposLegacyResponse = Array; +declare type UsersAddEmailsResponse = Array; +declare type UsersListResponse = Array; +declare type UsersListBlockedResponse = Array; +declare type UsersListEmailsResponse = Array; +declare type UsersListFollowersForAuthenticatedUserResponse = Array; +declare type UsersListFollowersForUserResponse = Array; +declare type UsersListFollowingForAuthenticatedUserResponse = Array; +declare type UsersListFollowingForUserResponse = Array; +declare type UsersListGpgKeysResponse = Array; +declare type UsersListGpgKeysForUserResponse = Array; +declare type UsersListPublicEmailsResponse = Array; +declare type UsersListPublicKeysResponse = Array; +declare type UsersListPublicKeysForUserResponse = Array; +declare type UsersTogglePrimaryEmailVisibilityResponse = Array; +export declare type ActionsCancelWorkflowRunParams = { + owner: string; + repo: string; + run_id: number; +}; +export declare type ActionsCreateOrUpdateSecretForRepoParams = { + /** + * Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get your public key](https://developer.github.com/v3/actions/secrets/#get-your-public-key) endpoint. + */ + encrypted_value?: string; + /** + * ID of the key you used to encrypt the secret. + */ + key_id?: string; + name: string; + owner: string; + repo: string; +}; +export declare type ActionsCreateRegistrationTokenParams = { + owner: string; + repo: string; +}; +export declare type ActionsCreateRemoveTokenParams = { + owner: string; + repo: string; +}; +export declare type ActionsDeleteArtifactParams = { + artifact_id: number; + owner: string; + repo: string; +}; +export declare type ActionsDeleteSecretFromRepoParams = { + name: string; + owner: string; + repo: string; +}; +export declare type ActionsDownloadArtifactParams = { + archive_format: string; + artifact_id: number; + owner: string; + repo: string; +}; +export declare type ActionsGetArtifactParams = { + artifact_id: number; + owner: string; + repo: string; +}; +export declare type ActionsGetPublicKeyParams = { + owner: string; + repo: string; +}; +export declare type ActionsGetSecretParams = { + name: string; + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type ActionsGetSelfHostedRunnerParams = { + owner: string; + repo: string; + runner_id: number; +}; +export declare type ActionsGetWorkflowParams = { + owner: string; + repo: string; + workflow_id: number; +}; +export declare type ActionsGetWorkflowJobParams = { + job_id: number; + owner: string; + repo: string; +}; +export declare type ActionsGetWorkflowRunParams = { + owner: string; + repo: string; + run_id: number; +}; +export declare type ActionsListDownloadsForSelfHostedRunnerApplicationParams = { + owner: string; + repo: string; +}; +export declare type ActionsListJobsForWorkflowRunParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; + run_id: number; +}; +export declare type ActionsListRepoWorkflowRunsParams = { + /** + * Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. + */ + actor?: string; + /** + * Returns workflow runs associated with a branch. Use the name of the branch of the `push`. + */ + branch?: string; + /** + * Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)" in the GitHub Help documentation. + */ + event?: string; + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; + /** + * Returns workflow runs associated with the check run `status` or `conclusion` you specify. For example, a conclusion can be `success` or a status can be `completed`. For more information, see the `status` and `conclusion` options available in "[Create a check run](https://developer.github.com/v3/checks/runs/#create-a-check-run)." + */ + status?: "completed" | "status" | "conclusion"; +}; +export declare type ActionsListRepoWorkflowsParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type ActionsListSecretsForRepoParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type ActionsListSelfHostedRunnersForRepoParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type ActionsListWorkflowJobLogsParams = { + job_id: number; + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type ActionsListWorkflowRunArtifactsParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; + run_id: number; +}; +export declare type ActionsListWorkflowRunLogsParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; + run_id: number; +}; +export declare type ActionsListWorkflowRunsParams = { + /** + * Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. + */ + actor?: string; + /** + * Returns workflow runs associated with a branch. Use the name of the branch of the `push`. + */ + branch?: string; + /** + * Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)" in the GitHub Help documentation. + */ + event?: string; + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; + /** + * Returns workflow runs associated with the check run `status` or `conclusion` you specify. For example, a conclusion can be `success` or a status can be `completed`. For more information, see the `status` and `conclusion` options available in "[Create a check run](https://developer.github.com/v3/checks/runs/#create-a-check-run)." + */ + status?: "completed" | "status" | "conclusion"; + workflow_id: number; +}; +export declare type ActionsReRunWorkflowParams = { + owner: string; + repo: string; + run_id: number; +}; +export declare type ActionsRemoveSelfHostedRunnerParams = { + owner: string; + repo: string; + runner_id: number; +}; +export declare type ActivityCheckStarringRepoParams = { + owner: string; + repo: string; +}; +export declare type ActivityCheckWatchingRepoLegacyParams = { + owner: string; + repo: string; +}; +export declare type ActivityDeleteRepoSubscriptionParams = { + owner: string; + repo: string; +}; +export declare type ActivityDeleteThreadSubscriptionParams = { + thread_id: number; +}; +export declare type ActivityGetRepoSubscriptionParams = { + owner: string; + repo: string; +}; +export declare type ActivityGetThreadParams = { + thread_id: number; +}; +export declare type ActivityGetThreadSubscriptionParams = { + thread_id: number; +}; +export declare type ActivityListEventsForOrgParams = { + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + username: string; +}; +export declare type ActivityListEventsForUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + username: string; +}; +export declare type ActivityListNotificationsParams = { + /** + * If `true`, show notifications marked as read. + */ + all?: boolean; + /** + * Only show notifications updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + before?: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * If `true`, only shows notifications in which the user is directly participating or mentioned. + */ + participating?: boolean; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; +}; +export declare type ActivityListNotificationsForRepoParams = { + /** + * If `true`, show notifications marked as read. + */ + all?: boolean; + /** + * Only show notifications updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + before?: string; + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * If `true`, only shows notifications in which the user is directly participating or mentioned. + */ + participating?: boolean; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; + /** + * Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; +}; +export declare type ActivityListPublicEventsParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type ActivityListPublicEventsForOrgParams = { + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type ActivityListPublicEventsForRepoNetworkParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type ActivityListPublicEventsForUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + username: string; +}; +export declare type ActivityListReceivedEventsForUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + username: string; +}; +export declare type ActivityListReceivedPublicEventsForUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + username: string; +}; +export declare type ActivityListRepoEventsParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type ActivityListReposStarredByAuthenticatedUserParams = { + /** + * One of `asc` (ascending) or `desc` (descending). + */ + direction?: "asc" | "desc"; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * One of `created` (when the repository was starred) or `updated` (when it was last pushed to). + */ + sort?: "created" | "updated"; +}; +export declare type ActivityListReposStarredByUserParams = { + /** + * One of `asc` (ascending) or `desc` (descending). + */ + direction?: "asc" | "desc"; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * One of `created` (when the repository was starred) or `updated` (when it was last pushed to). + */ + sort?: "created" | "updated"; + username: string; +}; +export declare type ActivityListReposWatchedByUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + username: string; +}; +export declare type ActivityListStargazersForRepoParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type ActivityListWatchedReposForAuthenticatedUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type ActivityListWatchersForRepoParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type ActivityMarkAsReadParams = { + /** + * Describes the last point that notifications were checked. Anything updated since this time will not be updated. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp. + */ + last_read_at?: string; +}; +export declare type ActivityMarkNotificationsAsReadForRepoParams = { + /** + * Describes the last point that notifications were checked. Anything updated since this time will not be updated. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp. + */ + last_read_at?: string; + owner: string; + repo: string; +}; +export declare type ActivityMarkThreadAsReadParams = { + thread_id: number; +}; +export declare type ActivitySetRepoSubscriptionParams = { + /** + * Determines if all notifications should be blocked from this repository. + */ + ignored?: boolean; + owner: string; + repo: string; + /** + * Determines if notifications should be received from this repository. + */ + subscribed?: boolean; +}; +export declare type ActivitySetThreadSubscriptionParams = { + /** + * Unsubscribes and subscribes you to a conversation. Set `ignored` to `true` to block all notifications from this thread. + */ + ignored?: boolean; + thread_id: number; +}; +export declare type ActivityStarRepoParams = { + owner: string; + repo: string; +}; +export declare type ActivityStopWatchingRepoLegacyParams = { + owner: string; + repo: string; +}; +export declare type ActivityUnstarRepoParams = { + owner: string; + repo: string; +}; +export declare type ActivityWatchRepoLegacyParams = { + owner: string; + repo: string; +}; +export declare type AppsAddRepoToInstallationParams = { + installation_id: number; + repository_id: number; +}; +export declare type AppsCheckAccountIsAssociatedWithAnyParams = { + account_id: number; +}; +export declare type AppsCheckAccountIsAssociatedWithAnyStubbedParams = { + account_id: number; +}; +export declare type AppsCheckAuthorizationParams = { + access_token: string; + client_id: string; +}; +export declare type AppsCheckTokenParams = { + /** + * The OAuth access token used to authenticate to the GitHub API. + */ + access_token?: string; + client_id: string; +}; +export declare type AppsCreateContentAttachmentParams = { + /** + * The body text of the content attachment displayed in the body or comment of an issue or pull request. This parameter supports markdown. + */ + body: string; + content_reference_id: number; + /** + * The title of the content attachment displayed in the body or comment of an issue or pull request. + */ + title: string; +}; +export declare type AppsCreateFromManifestParams = { + code: string; +}; +export declare type AppsCreateInstallationTokenParams = { + installation_id: number; + /** + * The permissions granted to the access token. The permissions object includes the permission names and their access type. For a complete list of permissions and allowable values, see "[GitHub App permissions](https://developer.github.com/apps/building-github-apps/creating-github-apps-using-url-parameters/#github-app-permissions)." + */ + permissions?: AppsCreateInstallationTokenParamsPermissions; + /** + * The `id`s of the repositories that the installation token can access. Providing repository `id`s restricts the access of an installation token to specific repositories. You can use the "[List repositories](https://developer.github.com/v3/apps/installations/#list-repositories)" endpoint to get the `id` of all repositories that an installation can access. For example, you can select specific repositories when creating an installation token to restrict the number of repositories that can be cloned using the token. + */ + repository_ids?: number[]; +}; +export declare type AppsDeleteAuthorizationParams = { + /** + * The OAuth access token used to authenticate to the GitHub API. + */ + access_token?: string; + client_id: string; +}; +export declare type AppsDeleteInstallationParams = { + installation_id: number; +}; +export declare type AppsDeleteTokenParams = { + /** + * The OAuth access token used to authenticate to the GitHub API. + */ + access_token?: string; + client_id: string; +}; +export declare type AppsFindOrgInstallationParams = { + org: string; +}; +export declare type AppsFindRepoInstallationParams = { + owner: string; + repo: string; +}; +export declare type AppsFindUserInstallationParams = { + username: string; +}; +export declare type AppsGetBySlugParams = { + app_slug: string; +}; +export declare type AppsGetInstallationParams = { + installation_id: number; +}; +export declare type AppsGetOrgInstallationParams = { + org: string; +}; +export declare type AppsGetRepoInstallationParams = { + owner: string; + repo: string; +}; +export declare type AppsGetUserInstallationParams = { + username: string; +}; +export declare type AppsListAccountsUserOrOrgOnPlanParams = { + /** + * To return the oldest accounts first, set to `asc`. Can be one of `asc` or `desc`. Ignored without the `sort` parameter. + */ + direction?: "asc" | "desc"; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + plan_id: number; + /** + * Sorts the GitHub accounts by the date they were created or last updated. Can be one of `created` or `updated`. + */ + sort?: "created" | "updated"; +}; +export declare type AppsListAccountsUserOrOrgOnPlanStubbedParams = { + /** + * To return the oldest accounts first, set to `asc`. Can be one of `asc` or `desc`. Ignored without the `sort` parameter. + */ + direction?: "asc" | "desc"; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + plan_id: number; + /** + * Sorts the GitHub accounts by the date they were created or last updated. Can be one of `created` or `updated`. + */ + sort?: "created" | "updated"; +}; +export declare type AppsListInstallationReposForAuthenticatedUserParams = { + installation_id: number; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type AppsListInstallationsParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type AppsListInstallationsForAuthenticatedUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type AppsListMarketplacePurchasesForAuthenticatedUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type AppsListMarketplacePurchasesForAuthenticatedUserStubbedParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type AppsListPlansParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type AppsListPlansStubbedParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type AppsListReposParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type AppsRemoveRepoFromInstallationParams = { + installation_id: number; + repository_id: number; +}; +export declare type AppsResetAuthorizationParams = { + access_token: string; + client_id: string; +}; +export declare type AppsResetTokenParams = { + /** + * The OAuth access token used to authenticate to the GitHub API. + */ + access_token?: string; + client_id: string; +}; +export declare type AppsRevokeAuthorizationForApplicationParams = { + access_token: string; + client_id: string; +}; +export declare type AppsRevokeGrantForApplicationParams = { + access_token: string; + client_id: string; +}; +export declare type ChecksCreateParams = { + /** + * Displays a button on GitHub that can be clicked to alert your app to do additional tasks. For example, a code linting app can display a button that automatically fixes detected errors. The button created in this object is displayed after the check run completes. When a user clicks the button, GitHub sends the [`check_run.requested_action` webhook](https://developer.github.com/v3/activity/events/types/#checkrunevent) to your app. Each action includes a `label`, `identifier` and `description`. A maximum of three actions are accepted. See the [`actions` object](https://developer.github.com/v3/checks/runs/#actions-object) description. To learn more about check runs and requested actions, see "[Check runs and requested actions](https://developer.github.com/v3/checks/runs/#check-runs-and-requested-actions)." To learn more about check runs and requested actions, see "[Check runs and requested actions](https://developer.github.com/v3/checks/runs/#check-runs-and-requested-actions)." + */ + actions?: ChecksCreateParamsActions[]; + /** + * The time the check completed. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + completed_at?: string; + /** + * **Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. Can be one of `success`, `failure`, `neutral`, `cancelled`, `timed_out`, or `action_required`. When the conclusion is `action_required`, additional details should be provided on the site specified by `details_url`. + * **Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. + */ + conclusion?: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required"; + /** + * The URL of the integrator's site that has the full details of the check. + */ + details_url?: string; + /** + * A reference for the run on the integrator's system. + */ + external_id?: string; + /** + * The SHA of the commit. + */ + head_sha: string; + /** + * The name of the check. For example, "code-coverage". + */ + name: string; + /** + * Check runs can accept a variety of data in the `output` object, including a `title` and `summary` and can optionally provide descriptive details about the run. See the [`output` object](https://developer.github.com/v3/checks/runs/#output-object) description. + */ + output?: ChecksCreateParamsOutput; + owner: string; + repo: string; + /** + * The time that the check run began. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + started_at?: string; + /** + * The current status. Can be one of `queued`, `in_progress`, or `completed`. + */ + status?: "queued" | "in_progress" | "completed"; +}; +export declare type ChecksCreateSuiteParams = { + /** + * The sha of the head commit. + */ + head_sha: string; + owner: string; + repo: string; +}; +export declare type ChecksGetParams = { + check_run_id: number; + owner: string; + repo: string; +}; +export declare type ChecksGetSuiteParams = { + check_suite_id: number; + owner: string; + repo: string; +}; +export declare type ChecksListAnnotationsParams = { + check_run_id: number; + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type ChecksListForRefParams = { + /** + * Returns check runs with the specified `name`. + */ + check_name?: string; + /** + * Filters check runs by their `completed_at` timestamp. Can be one of `latest` (returning the most recent check runs) or `all`. + */ + filter?: "latest" | "all"; + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + ref: string; + repo: string; + /** + * Returns check runs with the specified `status`. Can be one of `queued`, `in_progress`, or `completed`. + */ + status?: "queued" | "in_progress" | "completed"; +}; +export declare type ChecksListForSuiteParams = { + /** + * Returns check runs with the specified `name`. + */ + check_name?: string; + check_suite_id: number; + /** + * Filters check runs by their `completed_at` timestamp. Can be one of `latest` (returning the most recent check runs) or `all`. + */ + filter?: "latest" | "all"; + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; + /** + * Returns check runs with the specified `status`. Can be one of `queued`, `in_progress`, or `completed`. + */ + status?: "queued" | "in_progress" | "completed"; +}; +export declare type ChecksListSuitesForRefParams = { + /** + * Filters check suites by GitHub App `id`. + */ + app_id?: number; + /** + * Filters checks suites by the name of the [check run](https://developer.github.com/v3/checks/runs/). + */ + check_name?: string; + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + ref: string; + repo: string; +}; +export declare type ChecksRerequestSuiteParams = { + check_suite_id: number; + owner: string; + repo: string; +}; +export declare type ChecksSetSuitesPreferencesParams = { + /** + * Enables or disables automatic creation of CheckSuite events upon pushes to the repository. Enabled by default. See the [`auto_trigger_checks` object](https://developer.github.com/v3/checks/suites/#auto_trigger_checks-object) description for details. + */ + auto_trigger_checks?: ChecksSetSuitesPreferencesParamsAutoTriggerChecks[]; + owner: string; + repo: string; +}; +export declare type ChecksUpdateParams = { + /** + * Possible further actions the integrator can perform, which a user may trigger. Each action includes a `label`, `identifier` and `description`. A maximum of three actions are accepted. See the [`actions` object](https://developer.github.com/v3/checks/runs/#actions-object) description. To learn more about check runs and requested actions, see "[Check runs and requested actions](https://developer.github.com/v3/checks/runs/#check-runs-and-requested-actions)." + */ + actions?: ChecksUpdateParamsActions[]; + check_run_id: number; + /** + * The time the check completed. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + completed_at?: string; + /** + * **Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. Can be one of `success`, `failure`, `neutral`, `cancelled`, `timed_out`, or `action_required`. + * **Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. + */ + conclusion?: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required"; + /** + * The URL of the integrator's site that has the full details of the check. + */ + details_url?: string; + /** + * A reference for the run on the integrator's system. + */ + external_id?: string; + /** + * The name of the check. For example, "code-coverage". + */ + name?: string; + /** + * Check runs can accept a variety of data in the `output` object, including a `title` and `summary` and can optionally provide descriptive details about the run. See the [`output` object](https://developer.github.com/v3/checks/runs/#output-object-1) description. + */ + output?: ChecksUpdateParamsOutput; + owner: string; + repo: string; + /** + * This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + started_at?: string; + /** + * The current status. Can be one of `queued`, `in_progress`, or `completed`. + */ + status?: "queued" | "in_progress" | "completed"; +}; +export declare type CodesOfConductGetConductCodeParams = { + key: string; +}; +export declare type CodesOfConductGetForRepoParams = { + owner: string; + repo: string; +}; +export declare type GistsCheckIsStarredParams = { + gist_id: string; +}; +export declare type GistsCreateParams = { + /** + * A descriptive name for this gist. + */ + description?: string; + /** + * The filenames and content of each file in the gist. The keys in the `files` object represent the filename and have the type `string`. + */ + files: GistsCreateParamsFiles; + /** + * When `true`, the gist will be public and available for anyone to see. + */ + public?: boolean; +}; +export declare type GistsCreateCommentParams = { + /** + * The comment text. + */ + body: string; + gist_id: string; +}; +export declare type GistsDeleteParams = { + gist_id: string; +}; +export declare type GistsDeleteCommentParams = { + comment_id: number; + gist_id: string; +}; +export declare type GistsForkParams = { + gist_id: string; +}; +export declare type GistsGetParams = { + gist_id: string; +}; +export declare type GistsGetCommentParams = { + comment_id: number; + gist_id: string; +}; +export declare type GistsGetRevisionParams = { + gist_id: string; + sha: string; +}; +export declare type GistsListParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Only gists updated at or after this time are returned. + */ + since?: string; +}; +export declare type GistsListCommentsParams = { + gist_id: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type GistsListCommitsParams = { + gist_id: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type GistsListForksParams = { + gist_id: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type GistsListPublicParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Only gists updated at or after this time are returned. + */ + since?: string; +}; +export declare type GistsListPublicForUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Only gists updated at or after this time are returned. + */ + since?: string; + username: string; +}; +export declare type GistsListStarredParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Only gists updated at or after this time are returned. + */ + since?: string; +}; +export declare type GistsStarParams = { + gist_id: string; +}; +export declare type GistsUnstarParams = { + gist_id: string; +}; +export declare type GistsUpdateParams = { + /** + * A descriptive name for this gist. + */ + description?: string; + /** + * The filenames and content that make up this gist. + */ + files?: GistsUpdateParamsFiles; + gist_id: string; +}; +export declare type GistsUpdateCommentParams = { + /** + * The comment text. + */ + body: string; + comment_id: number; + gist_id: string; +}; +export declare type GitCreateBlobParams = { + /** + * The new blob's content. + */ + content: string; + /** + * The encoding used for `content`. Currently, `"utf-8"` and `"base64"` are supported. + */ + encoding?: string; + owner: string; + repo: string; +}; +export declare type GitCreateCommitParams = { + /** + * Information about the author of the commit. By default, the `author` will be the authenticated user and the current date. See the `author` and `committer` object below for details. + */ + author?: GitCreateCommitParamsAuthor; + /** + * Information about the person who is making the commit. By default, `committer` will use the information set in `author`. See the `author` and `committer` object below for details. + */ + committer?: GitCreateCommitParamsCommitter; + /** + * The commit message + */ + message: string; + owner: string; + /** + * The SHAs of the commits that were the parents of this commit. If omitted or empty, the commit will be written as a root commit. For a single parent, an array of one SHA should be provided; for a merge commit, an array of more than one should be provided. + */ + parents: string[]; + repo: string; + /** + * The [PGP signature](https://en.wikipedia.org/wiki/Pretty_Good_Privacy) of the commit. GitHub adds the signature to the `gpgsig` header of the created commit. For a commit signature to be verifiable by Git or GitHub, it must be an ASCII-armored detached PGP signature over the string commit as it would be written to the object database. To pass a `signature` parameter, you need to first manually create a valid PGP signature, which can be complicated. You may find it easier to [use the command line](https://git-scm.com/book/id/v2/Git-Tools-Signing-Your-Work) to create signed commits. + */ + signature?: string; + /** + * The SHA of the tree object this commit points to + */ + tree: string; +}; +export declare type GitCreateRefParams = { + owner: string; + /** + * The name of the fully qualified reference (ie: `refs/heads/master`). If it doesn't start with 'refs' and have at least two slashes, it will be rejected. + */ + ref: string; + repo: string; + /** + * The SHA1 value for this reference. + */ + sha: string; +}; +export declare type GitCreateTagParams = { + /** + * The tag message. + */ + message: string; + /** + * The SHA of the git object this is tagging. + */ + object: string; + owner: string; + repo: string; + /** + * The tag's name. This is typically a version (e.g., "v0.0.1"). + */ + tag: string; + /** + * An object with information about the individual creating the tag. + */ + tagger?: GitCreateTagParamsTagger; + /** + * The type of the object we're tagging. Normally this is a `commit` but it can also be a `tree` or a `blob`. + */ + type: "commit" | "tree" | "blob"; +}; +export declare type GitCreateTreeParams = { + /** + * The SHA1 of the tree you want to update with new data. If you don't set this, the commit will be created on top of everything; however, it will only contain your change, the rest of your files will show up as deleted. + */ + base_tree?: string; + owner: string; + repo: string; + /** + * Objects (of `path`, `mode`, `type`, and `sha`) specifying a tree structure. + */ + tree: GitCreateTreeParamsTree[]; +}; +export declare type GitDeleteRefParams = { + owner: string; + ref: string; + repo: string; +}; +export declare type GitGetBlobParams = { + file_sha: string; + owner: string; + repo: string; +}; +export declare type GitGetCommitParams = { + commit_sha: string; + owner: string; + repo: string; +}; +export declare type GitGetRefParams = { + owner: string; + ref: string; + repo: string; +}; +export declare type GitGetTagParams = { + owner: string; + repo: string; + tag_sha: string; +}; +export declare type GitGetTreeParams = { + owner: string; + recursive?: "1"; + repo: string; + tree_sha: string; +}; +export declare type GitListMatchingRefsParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + ref: string; + repo: string; +}; +export declare type GitListRefsParams = { + /** + * Filter by sub-namespace (reference prefix). Most commen examples would be `'heads/'` and `'tags/'` to retrieve branches or tags + */ + namespace?: string; + owner: string; + page?: number; + per_page?: number; + repo: string; +}; +export declare type GitUpdateRefParams = { + /** + * Indicates whether to force the update or to make sure the update is a fast-forward update. Leaving this out or setting it to `false` will make sure you're not overwriting work. + */ + force?: boolean; + owner: string; + ref: string; + repo: string; + /** + * The SHA1 value to set this reference to + */ + sha: string; +}; +export declare type GitignoreGetTemplateParams = { + name: string; +}; +export declare type InteractionsAddOrUpdateRestrictionsForOrgParams = { + /** + * Specifies the group of GitHub users who can comment, open issues, or create pull requests in public repositories for the given organization. Must be one of: `existing_users`, `contributors_only`, or `collaborators_only`. + */ + limit: "existing_users" | "contributors_only" | "collaborators_only"; + org: string; +}; +export declare type InteractionsAddOrUpdateRestrictionsForRepoParams = { + /** + * Specifies the group of GitHub users who can comment, open issues, or create pull requests for the given repository. Must be one of: `existing_users`, `contributors_only`, or `collaborators_only`. + */ + limit: "existing_users" | "contributors_only" | "collaborators_only"; + owner: string; + repo: string; +}; +export declare type InteractionsGetRestrictionsForOrgParams = { + org: string; +}; +export declare type InteractionsGetRestrictionsForRepoParams = { + owner: string; + repo: string; +}; +export declare type InteractionsRemoveRestrictionsForOrgParams = { + org: string; +}; +export declare type InteractionsRemoveRestrictionsForRepoParams = { + owner: string; + repo: string; +}; +export declare type IssuesAddAssigneesParamsDeprecatedNumber = { + /** + * Usernames of people to assign this issue to. _NOTE: Only users with push access can add assignees to an issue. Assignees are silently ignored otherwise._ + */ + assignees?: string[]; + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + owner: string; + repo: string; +}; +export declare type IssuesAddAssigneesParams = { + /** + * Usernames of people to assign this issue to. _NOTE: Only users with push access can add assignees to an issue. Assignees are silently ignored otherwise._ + */ + assignees?: string[]; + issue_number: number; + owner: string; + repo: string; +}; +export declare type IssuesAddLabelsParamsDeprecatedNumber = { + /** + * The name of the label to add to the issue. Must contain at least one label. **Note:** Alternatively, you can pass a single label as a `string` or an `array` of labels directly, but GitHub recommends passing an object with the `labels` key. + */ + labels: string[]; + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + owner: string; + repo: string; +}; +export declare type IssuesAddLabelsParams = { + issue_number: number; + /** + * The name of the label to add to the issue. Must contain at least one label. **Note:** Alternatively, you can pass a single label as a `string` or an `array` of labels directly, but GitHub recommends passing an object with the `labels` key. + */ + labels: string[]; + owner: string; + repo: string; +}; +export declare type IssuesCheckAssigneeParams = { + assignee: string; + owner: string; + repo: string; +}; +export declare type IssuesCreateParamsDeprecatedAssignee = { + /** + * Login for the user that this issue should be assigned to. _NOTE: Only users with push access can set the assignee for new issues. The assignee is silently dropped otherwise. **This field is deprecated.**_ + * @deprecated "assignee" parameter has been deprecated and will be removed in future + */ + assignee?: string; + /** + * Logins for Users to assign to this issue. _NOTE: Only users with push access can set assignees for new issues. Assignees are silently dropped otherwise._ + */ + assignees?: string[]; + /** + * The contents of the issue. + */ + body?: string; + /** + * Labels to associate with this issue. _NOTE: Only users with push access can set labels for new issues. Labels are silently dropped otherwise._ + */ + labels?: string[]; + /** + * The `number` of the milestone to associate this issue with. _NOTE: Only users with push access can set the milestone for new issues. The milestone is silently dropped otherwise._ + */ + milestone?: number; + owner: string; + repo: string; + /** + * The title of the issue. + */ + title: string; +}; +export declare type IssuesCreateParams = { + /** + * Logins for Users to assign to this issue. _NOTE: Only users with push access can set assignees for new issues. Assignees are silently dropped otherwise._ + */ + assignees?: string[]; + /** + * The contents of the issue. + */ + body?: string; + /** + * Labels to associate with this issue. _NOTE: Only users with push access can set labels for new issues. Labels are silently dropped otherwise._ + */ + labels?: string[]; + /** + * The `number` of the milestone to associate this issue with. _NOTE: Only users with push access can set the milestone for new issues. The milestone is silently dropped otherwise._ + */ + milestone?: number; + owner: string; + repo: string; + /** + * The title of the issue. + */ + title: string; +}; +export declare type IssuesCreateCommentParamsDeprecatedNumber = { + /** + * The contents of the comment. + */ + body: string; + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + owner: string; + repo: string; +}; +export declare type IssuesCreateCommentParams = { + /** + * The contents of the comment. + */ + body: string; + issue_number: number; + owner: string; + repo: string; +}; +export declare type IssuesCreateLabelParams = { + /** + * The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`. + */ + color: string; + /** + * A short description of the label. + */ + description?: string; + /** + * The name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji ![:strawberry:](https://github.githubassets.com/images/icons/emoji/unicode/1f353.png ":strawberry:"). For a full list of available emoji and codes, see [emoji-cheat-sheet.com](http://emoji-cheat-sheet.com/). + */ + name: string; + owner: string; + repo: string; +}; +export declare type IssuesCreateMilestoneParams = { + /** + * A description of the milestone. + */ + description?: string; + /** + * The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + due_on?: string; + owner: string; + repo: string; + /** + * The state of the milestone. Either `open` or `closed`. + */ + state?: "open" | "closed"; + /** + * The title of the milestone. + */ + title: string; +}; +export declare type IssuesDeleteCommentParams = { + comment_id: number; + owner: string; + repo: string; +}; +export declare type IssuesDeleteLabelParams = { + name: string; + owner: string; + repo: string; +}; +export declare type IssuesDeleteMilestoneParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "milestone_number" + */ + number: number; + owner: string; + repo: string; +}; +export declare type IssuesDeleteMilestoneParams = { + milestone_number: number; + owner: string; + repo: string; +}; +export declare type IssuesGetParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + owner: string; + repo: string; +}; +export declare type IssuesGetParams = { + issue_number: number; + owner: string; + repo: string; +}; +export declare type IssuesGetCommentParams = { + comment_id: number; + owner: string; + repo: string; +}; +export declare type IssuesGetEventParams = { + event_id: number; + owner: string; + repo: string; +}; +export declare type IssuesGetLabelParams = { + name: string; + owner: string; + repo: string; +}; +export declare type IssuesGetMilestoneParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "milestone_number" + */ + number: number; + owner: string; + repo: string; +}; +export declare type IssuesGetMilestoneParams = { + milestone_number: number; + owner: string; + repo: string; +}; +export declare type IssuesListParams = { + /** + * The direction of the sort. Can be either `asc` or `desc`. + */ + direction?: "asc" | "desc"; + /** + * Indicates which sorts of issues to return. Can be one of: + * \* `assigned`: Issues assigned to you + * \* `created`: Issues created by you + * \* `mentioned`: Issues mentioning you + * \* `subscribed`: Issues you're subscribed to updates for + * \* `all`: All issues the authenticated user can see, regardless of participation or creation + */ + filter?: "assigned" | "created" | "mentioned" | "subscribed" | "all"; + /** + * A list of comma separated label names. Example: `bug,ui,@high` + */ + labels?: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Only issues updated at or after this time are returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; + /** + * What to sort results by. Can be either `created`, `updated`, `comments`. + */ + sort?: "created" | "updated" | "comments"; + /** + * Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; +}; +export declare type IssuesListAssigneesParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type IssuesListCommentsParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; + /** + * Only comments updated at or after this time are returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; +}; +export declare type IssuesListCommentsParams = { + issue_number: number; + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; + /** + * Only comments updated at or after this time are returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; +}; +export declare type IssuesListCommentsForRepoParams = { + /** + * Either `asc` or `desc`. Ignored without the `sort` parameter. + */ + direction?: "asc" | "desc"; + owner: string; + repo: string; + /** + * Only comments updated at or after this time are returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; + /** + * Either `created` or `updated`. + */ + sort?: "created" | "updated"; +}; +export declare type IssuesListEventsParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type IssuesListEventsParams = { + issue_number: number; + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type IssuesListEventsForRepoParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type IssuesListEventsForTimelineParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type IssuesListEventsForTimelineParams = { + issue_number: number; + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type IssuesListForAuthenticatedUserParams = { + /** + * The direction of the sort. Can be either `asc` or `desc`. + */ + direction?: "asc" | "desc"; + /** + * Indicates which sorts of issues to return. Can be one of: + * \* `assigned`: Issues assigned to you + * \* `created`: Issues created by you + * \* `mentioned`: Issues mentioning you + * \* `subscribed`: Issues you're subscribed to updates for + * \* `all`: All issues the authenticated user can see, regardless of participation or creation + */ + filter?: "assigned" | "created" | "mentioned" | "subscribed" | "all"; + /** + * A list of comma separated label names. Example: `bug,ui,@high` + */ + labels?: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Only issues updated at or after this time are returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; + /** + * What to sort results by. Can be either `created`, `updated`, `comments`. + */ + sort?: "created" | "updated" | "comments"; + /** + * Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; +}; +export declare type IssuesListForOrgParams = { + /** + * The direction of the sort. Can be either `asc` or `desc`. + */ + direction?: "asc" | "desc"; + /** + * Indicates which sorts of issues to return. Can be one of: + * \* `assigned`: Issues assigned to you + * \* `created`: Issues created by you + * \* `mentioned`: Issues mentioning you + * \* `subscribed`: Issues you're subscribed to updates for + * \* `all`: All issues the authenticated user can see, regardless of participation or creation + */ + filter?: "assigned" | "created" | "mentioned" | "subscribed" | "all"; + /** + * A list of comma separated label names. Example: `bug,ui,@high` + */ + labels?: string; + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Only issues updated at or after this time are returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; + /** + * What to sort results by. Can be either `created`, `updated`, `comments`. + */ + sort?: "created" | "updated" | "comments"; + /** + * Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; +}; +export declare type IssuesListForRepoParams = { + /** + * Can be the name of a user. Pass in `none` for issues with no assigned user, and `*` for issues assigned to any user. + */ + assignee?: string; + /** + * The user that created the issue. + */ + creator?: string; + /** + * The direction of the sort. Can be either `asc` or `desc`. + */ + direction?: "asc" | "desc"; + /** + * A list of comma separated label names. Example: `bug,ui,@high` + */ + labels?: string; + /** + * A user that's mentioned in the issue. + */ + mentioned?: string; + /** + * If an `integer` is passed, it should refer to a milestone by its `number` field. If the string `*` is passed, issues with any milestone are accepted. If the string `none` is passed, issues without milestones are returned. + */ + milestone?: string; + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; + /** + * Only issues updated at or after this time are returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; + /** + * What to sort results by. Can be either `created`, `updated`, `comments`. + */ + sort?: "created" | "updated" | "comments"; + /** + * Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; +}; +export declare type IssuesListLabelsForMilestoneParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "milestone_number" + */ + number: number; + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type IssuesListLabelsForMilestoneParams = { + milestone_number: number; + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type IssuesListLabelsForRepoParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type IssuesListLabelsOnIssueParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type IssuesListLabelsOnIssueParams = { + issue_number: number; + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type IssuesListMilestonesForRepoParams = { + /** + * The direction of the sort. Either `asc` or `desc`. + */ + direction?: "asc" | "desc"; + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; + /** + * What to sort results by. Either `due_on` or `completeness`. + */ + sort?: "due_on" | "completeness"; + /** + * The state of the milestone. Either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; +}; +export declare type IssuesLockParamsDeprecatedNumber = { + /** + * The reason for locking the issue or pull request conversation. Lock will fail if you don't use one of these reasons: + * \* `off-topic` + * \* `too heated` + * \* `resolved` + * \* `spam` + */ + lock_reason?: "off-topic" | "too heated" | "resolved" | "spam"; + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + owner: string; + repo: string; +}; +export declare type IssuesLockParams = { + issue_number: number; + /** + * The reason for locking the issue or pull request conversation. Lock will fail if you don't use one of these reasons: + * \* `off-topic` + * \* `too heated` + * \* `resolved` + * \* `spam` + */ + lock_reason?: "off-topic" | "too heated" | "resolved" | "spam"; + owner: string; + repo: string; +}; +export declare type IssuesRemoveAssigneesParamsDeprecatedNumber = { + /** + * Usernames of assignees to remove from an issue. _NOTE: Only users with push access can remove assignees from an issue. Assignees are silently ignored otherwise._ + */ + assignees?: string[]; + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + owner: string; + repo: string; +}; +export declare type IssuesRemoveAssigneesParams = { + /** + * Usernames of assignees to remove from an issue. _NOTE: Only users with push access can remove assignees from an issue. Assignees are silently ignored otherwise._ + */ + assignees?: string[]; + issue_number: number; + owner: string; + repo: string; +}; +export declare type IssuesRemoveLabelParamsDeprecatedNumber = { + name: string; + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + owner: string; + repo: string; +}; +export declare type IssuesRemoveLabelParams = { + issue_number: number; + name: string; + owner: string; + repo: string; +}; +export declare type IssuesRemoveLabelsParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + owner: string; + repo: string; +}; +export declare type IssuesRemoveLabelsParams = { + issue_number: number; + owner: string; + repo: string; +}; +export declare type IssuesReplaceLabelsParamsDeprecatedNumber = { + /** + * The names of the labels to add to the issue. You can pass an empty array to remove all labels. **Note:** Alternatively, you can pass a single label as a `string` or an `array` of labels directly, but GitHub recommends passing an object with the `labels` key. + */ + labels?: string[]; + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + owner: string; + repo: string; +}; +export declare type IssuesReplaceLabelsParams = { + issue_number: number; + /** + * The names of the labels to add to the issue. You can pass an empty array to remove all labels. **Note:** Alternatively, you can pass a single label as a `string` or an `array` of labels directly, but GitHub recommends passing an object with the `labels` key. + */ + labels?: string[]; + owner: string; + repo: string; +}; +export declare type IssuesUnlockParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + owner: string; + repo: string; +}; +export declare type IssuesUnlockParams = { + issue_number: number; + owner: string; + repo: string; +}; +export declare type IssuesUpdateParamsDeprecatedNumber = { + /** + * Logins for Users to assign to this issue. Pass one or more user logins to _replace_ the set of assignees on this Issue. Send an empty array (`[]`) to clear all assignees from the Issue. _NOTE: Only users with push access can set assignees for new issues. Assignees are silently dropped otherwise._ + */ + assignees?: string[]; + /** + * The contents of the issue. + */ + body?: string; + /** + * Labels to associate with this issue. Pass one or more Labels to _replace_ the set of Labels on this Issue. Send an empty array (`[]`) to clear all Labels from the Issue. _NOTE: Only users with push access can set labels for issues. Labels are silently dropped otherwise._ + */ + labels?: string[]; + /** + * The `number` of the milestone to associate this issue with or `null` to remove current. _NOTE: Only users with push access can set the milestone for issues. The milestone is silently dropped otherwise._ + */ + milestone?: number | null; + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + owner: string; + repo: string; + /** + * State of the issue. Either `open` or `closed`. + */ + state?: "open" | "closed"; + /** + * The title of the issue. + */ + title?: string; +}; +export declare type IssuesUpdateParamsDeprecatedAssignee = { + /** + * Login for the user that this issue should be assigned to. **This field is deprecated.** + * @deprecated "assignee" parameter has been deprecated and will be removed in future + */ + assignee?: string; + /** + * Logins for Users to assign to this issue. Pass one or more user logins to _replace_ the set of assignees on this Issue. Send an empty array (`[]`) to clear all assignees from the Issue. _NOTE: Only users with push access can set assignees for new issues. Assignees are silently dropped otherwise._ + */ + assignees?: string[]; + /** + * The contents of the issue. + */ + body?: string; + issue_number: number; + /** + * Labels to associate with this issue. Pass one or more Labels to _replace_ the set of Labels on this Issue. Send an empty array (`[]`) to clear all Labels from the Issue. _NOTE: Only users with push access can set labels for issues. Labels are silently dropped otherwise._ + */ + labels?: string[]; + /** + * The `number` of the milestone to associate this issue with or `null` to remove current. _NOTE: Only users with push access can set the milestone for issues. The milestone is silently dropped otherwise._ + */ + milestone?: number | null; + owner: string; + repo: string; + /** + * State of the issue. Either `open` or `closed`. + */ + state?: "open" | "closed"; + /** + * The title of the issue. + */ + title?: string; +}; +export declare type IssuesUpdateParams = { + /** + * Logins for Users to assign to this issue. Pass one or more user logins to _replace_ the set of assignees on this Issue. Send an empty array (`[]`) to clear all assignees from the Issue. _NOTE: Only users with push access can set assignees for new issues. Assignees are silently dropped otherwise._ + */ + assignees?: string[]; + /** + * The contents of the issue. + */ + body?: string; + issue_number: number; + /** + * Labels to associate with this issue. Pass one or more Labels to _replace_ the set of Labels on this Issue. Send an empty array (`[]`) to clear all Labels from the Issue. _NOTE: Only users with push access can set labels for issues. Labels are silently dropped otherwise._ + */ + labels?: string[]; + /** + * The `number` of the milestone to associate this issue with or `null` to remove current. _NOTE: Only users with push access can set the milestone for issues. The milestone is silently dropped otherwise._ + */ + milestone?: number | null; + owner: string; + repo: string; + /** + * State of the issue. Either `open` or `closed`. + */ + state?: "open" | "closed"; + /** + * The title of the issue. + */ + title?: string; +}; +export declare type IssuesUpdateCommentParams = { + /** + * The contents of the comment. + */ + body: string; + comment_id: number; + owner: string; + repo: string; +}; +export declare type IssuesUpdateLabelParams = { + /** + * The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`. + */ + color?: string; + current_name: string; + /** + * A short description of the label. + */ + description?: string; + /** + * The new name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji ![:strawberry:](https://github.githubassets.com/images/icons/emoji/unicode/1f353.png ":strawberry:"). For a full list of available emoji and codes, see [emoji-cheat-sheet.com](http://emoji-cheat-sheet.com/). + */ + name?: string; + owner: string; + repo: string; +}; +export declare type IssuesUpdateMilestoneParamsDeprecatedNumber = { + /** + * A description of the milestone. + */ + description?: string; + /** + * The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + due_on?: string; + /** + * @deprecated "number" parameter renamed to "milestone_number" + */ + number: number; + owner: string; + repo: string; + /** + * The state of the milestone. Either `open` or `closed`. + */ + state?: "open" | "closed"; + /** + * The title of the milestone. + */ + title?: string; +}; +export declare type IssuesUpdateMilestoneParams = { + /** + * A description of the milestone. + */ + description?: string; + /** + * The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + due_on?: string; + milestone_number: number; + owner: string; + repo: string; + /** + * The state of the milestone. Either `open` or `closed`. + */ + state?: "open" | "closed"; + /** + * The title of the milestone. + */ + title?: string; +}; +export declare type LicensesGetParams = { + license: string; +}; +export declare type LicensesGetForRepoParams = { + owner: string; + repo: string; +}; +export declare type MarkdownRenderParams = { + /** + * The repository context to use when creating references in `gfm` mode. Omit this parameter when using `markdown` mode. + */ + context?: string; + /** + * The rendering mode. Can be either: + * \* `markdown` to render a document in plain Markdown, just like README.md files are rendered. + * \* `gfm` to render a document in [GitHub Flavored Markdown](https://github.github.com/gfm/), which creates links for user mentions as well as references to SHA-1 hashes, issues, and pull requests. + */ + mode?: "markdown" | "gfm"; + /** + * The Markdown text to render in HTML. Markdown content must be 400 KB or less. + */ + text: string; +}; +export declare type MarkdownRenderRawParams = { + data: string; +}; +export declare type MigrationsCancelImportParams = { + owner: string; + repo: string; +}; +export declare type MigrationsDeleteArchiveForAuthenticatedUserParams = { + migration_id: number; +}; +export declare type MigrationsDeleteArchiveForOrgParams = { + migration_id: number; + org: string; +}; +export declare type MigrationsDownloadArchiveForOrgParams = { + migration_id: number; + org: string; +}; +export declare type MigrationsGetArchiveForAuthenticatedUserParams = { + migration_id: number; +}; +export declare type MigrationsGetArchiveForOrgParams = { + migration_id: number; + org: string; +}; +export declare type MigrationsGetCommitAuthorsParams = { + owner: string; + repo: string; + /** + * Only authors found after this id are returned. Provide the highest author ID you've seen so far. New authors may be added to the list at any point while the importer is performing the `raw` step. + */ + since?: string; +}; +export declare type MigrationsGetImportProgressParams = { + owner: string; + repo: string; +}; +export declare type MigrationsGetLargeFilesParams = { + owner: string; + repo: string; +}; +export declare type MigrationsGetStatusForAuthenticatedUserParams = { + migration_id: number; +}; +export declare type MigrationsGetStatusForOrgParams = { + migration_id: number; + org: string; +}; +export declare type MigrationsListForAuthenticatedUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type MigrationsListForOrgParams = { + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type MigrationsListReposForOrgParams = { + migration_id: number; + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type MigrationsListReposForUserParams = { + migration_id: number; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type MigrationsMapCommitAuthorParams = { + author_id: number; + /** + * The new Git author email. + */ + email?: string; + /** + * The new Git author name. + */ + name?: string; + owner: string; + repo: string; +}; +export declare type MigrationsSetLfsPreferenceParams = { + owner: string; + repo: string; + /** + * Can be one of `opt_in` (large files will be stored using Git LFS) or `opt_out` (large files will be removed during the import). + */ + use_lfs: "opt_in" | "opt_out"; +}; +export declare type MigrationsStartForAuthenticatedUserParams = { + /** + * Does not include attachments uploaded to GitHub.com in the migration data when set to `true`. Excluding attachments will reduce the migration archive file size. + */ + exclude_attachments?: boolean; + /** + * Locks the `repositories` to prevent changes during the migration when set to `true`. + */ + lock_repositories?: boolean; + /** + * An array of repositories to include in the migration. + */ + repositories: string[]; +}; +export declare type MigrationsStartForOrgParams = { + /** + * Indicates whether attachments should be excluded from the migration (to reduce migration archive file size). + */ + exclude_attachments?: boolean; + /** + * Indicates whether repositories should be locked (to prevent manipulation) while migrating data. + */ + lock_repositories?: boolean; + org: string; + /** + * A list of arrays indicating which repositories should be migrated. + */ + repositories: string[]; +}; +export declare type MigrationsStartImportParams = { + owner: string; + repo: string; + /** + * For a tfvc import, the name of the project that is being imported. + */ + tfvc_project?: string; + /** + * The originating VCS type. Can be one of `subversion`, `git`, `mercurial`, or `tfvc`. Please be aware that without this parameter, the import job will take additional time to detect the VCS type before beginning the import. This detection step will be reflected in the response. + */ + vcs?: "subversion" | "git" | "mercurial" | "tfvc"; + /** + * If authentication is required, the password to provide to `vcs_url`. + */ + vcs_password?: string; + /** + * The URL of the originating repository. + */ + vcs_url: string; + /** + * If authentication is required, the username to provide to `vcs_url`. + */ + vcs_username?: string; +}; +export declare type MigrationsUnlockRepoForAuthenticatedUserParams = { + migration_id: number; + repo_name: string; +}; +export declare type MigrationsUnlockRepoForOrgParams = { + migration_id: number; + org: string; + repo_name: string; +}; +export declare type MigrationsUpdateImportParams = { + owner: string; + repo: string; + /** + * The password to provide to the originating repository. + */ + vcs_password?: string; + /** + * The username to provide to the originating repository. + */ + vcs_username?: string; +}; +export declare type OauthAuthorizationsCheckAuthorizationParams = { + access_token: string; + client_id: string; +}; +export declare type OauthAuthorizationsCreateAuthorizationParams = { + /** + * The 20 character OAuth app client key for which to create the token. + */ + client_id?: string; + /** + * The 40 character OAuth app client secret for which to create the token. + */ + client_secret?: string; + /** + * A unique string to distinguish an authorization from others created for the same client ID and user. + */ + fingerprint?: string; + /** + * A note to remind you what the OAuth token is for. Tokens not associated with a specific OAuth application (i.e. personal access tokens) must have a unique note. + */ + note: string; + /** + * A URL to remind you what app the OAuth token is for. + */ + note_url?: string; + /** + * A list of scopes that this authorization is in. + */ + scopes?: string[]; +}; +export declare type OauthAuthorizationsDeleteAuthorizationParams = { + authorization_id: number; +}; +export declare type OauthAuthorizationsDeleteGrantParams = { + grant_id: number; +}; +export declare type OauthAuthorizationsGetAuthorizationParams = { + authorization_id: number; +}; +export declare type OauthAuthorizationsGetGrantParams = { + grant_id: number; +}; +export declare type OauthAuthorizationsGetOrCreateAuthorizationForAppParams = { + client_id: string; + /** + * The 40 character OAuth app client secret associated with the client ID specified in the URL. + */ + client_secret: string; + /** + * A unique string to distinguish an authorization from others created for the same client and user. If provided, this API is functionally equivalent to [Get-or-create an authorization for a specific app and fingerprint](https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app-and-fingerprint). + */ + fingerprint?: string; + /** + * A note to remind you what the OAuth token is for. + */ + note?: string; + /** + * A URL to remind you what app the OAuth token is for. + */ + note_url?: string; + /** + * A list of scopes that this authorization is in. + */ + scopes?: string[]; +}; +export declare type OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintParams = { + client_id: string; + /** + * The 40 character OAuth app client secret associated with the client ID specified in the URL. + */ + client_secret: string; + fingerprint: string; + /** + * A note to remind you what the OAuth token is for. + */ + note?: string; + /** + * A URL to remind you what app the OAuth token is for. + */ + note_url?: string; + /** + * A list of scopes that this authorization is in. + */ + scopes?: string[]; +}; +export declare type OauthAuthorizationsGetOrCreateAuthorizationForAppFingerprintParams = { + client_id: string; + /** + * The 40 character OAuth app client secret associated with the client ID specified in the URL. + */ + client_secret: string; + fingerprint: string; + /** + * A note to remind you what the OAuth token is for. + */ + note?: string; + /** + * A URL to remind you what app the OAuth token is for. + */ + note_url?: string; + /** + * A list of scopes that this authorization is in. + */ + scopes?: string[]; +}; +export declare type OauthAuthorizationsListAuthorizationsParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type OauthAuthorizationsListGrantsParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type OauthAuthorizationsResetAuthorizationParams = { + access_token: string; + client_id: string; +}; +export declare type OauthAuthorizationsRevokeAuthorizationForApplicationParams = { + access_token: string; + client_id: string; +}; +export declare type OauthAuthorizationsRevokeGrantForApplicationParams = { + access_token: string; + client_id: string; +}; +export declare type OauthAuthorizationsUpdateAuthorizationParams = { + /** + * A list of scopes to add to this authorization. + */ + add_scopes?: string[]; + authorization_id: number; + /** + * A unique string to distinguish an authorization from others created for the same client ID and user. + */ + fingerprint?: string; + /** + * A note to remind you what the OAuth token is for. Tokens not associated with a specific OAuth application (i.e. personal access tokens) must have a unique note. + */ + note?: string; + /** + * A URL to remind you what app the OAuth token is for. + */ + note_url?: string; + /** + * A list of scopes to remove from this authorization. + */ + remove_scopes?: string[]; + /** + * Replaces the authorization scopes with these. + */ + scopes?: string[]; +}; +export declare type OrgsAddOrUpdateMembershipParams = { + org: string; + /** + * The role to give the user in the organization. Can be one of: + * \* `admin` - The user will become an owner of the organization. + * \* `member` - The user will become a non-owner member of the organization. + */ + role?: "admin" | "member"; + username: string; +}; +export declare type OrgsBlockUserParams = { + org: string; + username: string; +}; +export declare type OrgsCheckBlockedUserParams = { + org: string; + username: string; +}; +export declare type OrgsCheckMembershipParams = { + org: string; + username: string; +}; +export declare type OrgsCheckPublicMembershipParams = { + org: string; + username: string; +}; +export declare type OrgsConcealMembershipParams = { + org: string; + username: string; +}; +export declare type OrgsConvertMemberToOutsideCollaboratorParams = { + org: string; + username: string; +}; +export declare type OrgsCreateHookParams = { + /** + * Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + */ + active?: boolean; + /** + * Key/value pairs to provide settings for this webhook. [These are defined below](https://developer.github.com/v3/orgs/hooks/#create-hook-config-params). + */ + config: OrgsCreateHookParamsConfig; + /** + * Determines what [events](https://developer.github.com/v3/activity/events/types/) the hook is triggered for. + */ + events?: string[]; + /** + * Must be passed as "web". + */ + name: string; + org: string; +}; +export declare type OrgsCreateInvitationParams = { + /** + * **Required unless you provide `invitee_id`**. Email address of the person you are inviting, which can be an existing GitHub user. + */ + email?: string; + /** + * **Required unless you provide `email`**. GitHub user ID for the person you are inviting. + */ + invitee_id?: number; + org: string; + /** + * Specify role for new member. Can be one of: + * \* `admin` - Organization owners with full administrative rights to the organization and complete access to all repositories and teams. + * \* `direct_member` - Non-owner organization members with ability to see other members and join teams by invitation. + * \* `billing_manager` - Non-owner organization members with ability to manage the billing settings of your organization. + */ + role?: "admin" | "direct_member" | "billing_manager"; + /** + * Specify IDs for the teams you want to invite new members to. + */ + team_ids?: number[]; +}; +export declare type OrgsDeleteHookParams = { + hook_id: number; + org: string; +}; +export declare type OrgsGetParams = { + org: string; +}; +export declare type OrgsGetHookParams = { + hook_id: number; + org: string; +}; +export declare type OrgsGetMembershipParams = { + org: string; + username: string; +}; +export declare type OrgsGetMembershipForAuthenticatedUserParams = { + org: string; +}; +export declare type OrgsListParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * The integer ID of the last organization that you've seen. + */ + since?: number; +}; +export declare type OrgsListBlockedUsersParams = { + org: string; +}; +export declare type OrgsListForAuthenticatedUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type OrgsListForUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + username: string; +}; +export declare type OrgsListHooksParams = { + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type OrgsListInstallationsParams = { + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type OrgsListInvitationTeamsParams = { + invitation_id: number; + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type OrgsListMembersParams = { + /** + * Filter members returned in the list. Can be one of: + * \* `2fa_disabled` - Members without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled. Available for organization owners. + * \* `all` - All members the authenticated user can see. + */ + filter?: "2fa_disabled" | "all"; + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Filter members returned by their role. Can be one of: + * \* `all` - All members of the organization, regardless of role. + * \* `admin` - Organization owners. + * \* `member` - Non-owner organization members. + */ + role?: "all" | "admin" | "member"; +}; +export declare type OrgsListMembershipsParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Indicates the state of the memberships to return. Can be either `active` or `pending`. If not specified, the API returns both active and pending memberships. + */ + state?: "active" | "pending"; +}; +export declare type OrgsListOutsideCollaboratorsParams = { + /** + * Filter the list of outside collaborators. Can be one of: + * \* `2fa_disabled`: Outside collaborators without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled. + * \* `all`: All outside collaborators. + */ + filter?: "2fa_disabled" | "all"; + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type OrgsListPendingInvitationsParams = { + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type OrgsListPublicMembersParams = { + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type OrgsPingHookParams = { + hook_id: number; + org: string; +}; +export declare type OrgsPublicizeMembershipParams = { + org: string; + username: string; +}; +export declare type OrgsRemoveMemberParams = { + org: string; + username: string; +}; +export declare type OrgsRemoveMembershipParams = { + org: string; + username: string; +}; +export declare type OrgsRemoveOutsideCollaboratorParams = { + org: string; + username: string; +}; +export declare type OrgsUnblockUserParams = { + org: string; + username: string; +}; +export declare type OrgsUpdateParamsDeprecatedMembersAllowedRepositoryCreationType = { + /** + * Billing email address. This address is not publicized. + */ + billing_email?: string; + /** + * The company name. + */ + company?: string; + /** + * Default permission level members have for organization repositories: + * \* `read` - can pull, but not push to or administer this repository. + * \* `write` - can pull and push, but not administer this repository. + * \* `admin` - can pull, push, and administer this repository. + * \* `none` - no permissions granted by default. + */ + default_repository_permission?: "read" | "write" | "admin" | "none"; + /** + * The description of the company. + */ + description?: string; + /** + * The publicly visible email address. + */ + email?: string; + /** + * Toggles whether an organization can use organization projects. + */ + has_organization_projects?: boolean; + /** + * Toggles whether repositories that belong to the organization can use repository projects. + */ + has_repository_projects?: boolean; + /** + * The location. + */ + location?: string; + /** + * Specifies which types of repositories non-admin organization members can create. Can be one of: + * \* `all` - all organization members can create public and private repositories. + * \* `private` - members can create private repositories. This option is only available to repositories that are part of an organization on GitHub Enterprise Cloud. + * \* `none` - only admin members can create repositories. + * **Note:** This parameter is deprecated and will be removed in the future. Its return value ignores internal repositories. Using this parameter overrides values set in `members_can_create_repositories`. See [this note](https://developer.github.com/v3/orgs/#members_can_create_repositories) for details. + * @deprecated "members_allowed_repository_creation_type" parameter has been deprecated and will be removed in future + */ + members_allowed_repository_creation_type?: string; + /** + * Toggles whether organization members can create internal repositories, which are visible to all enterprise members. You can only allow members to create internal repositories if your organization is associated with an enterprise account using GitHub Enterprise Cloud. Can be one of: + * \* `true` - all organization members can create internal repositories. + * \* `false` - only organization owners can create internal repositories. + * Default: `true`. For more information, see "[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. + */ + members_can_create_internal_repositories?: boolean; + /** + * Toggles whether organization members can create private repositories, which are visible to organization members with permission. Can be one of: + * \* `true` - all organization members can create private repositories. + * \* `false` - only organization owners can create private repositories. + * Default: `true`. For more information, see "[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. + */ + members_can_create_private_repositories?: boolean; + /** + * Toggles whether organization members can create public repositories, which are visible to anyone. Can be one of: + * \* `true` - all organization members can create public repositories. + * \* `false` - only organization owners can create public repositories. + * Default: `true`. For more information, see "[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. + */ + members_can_create_public_repositories?: boolean; + /** + * Toggles the ability of non-admin organization members to create repositories. Can be one of: + * \* `true` - all organization members can create repositories. + * \* `false` - only organization owners can create repositories. + * Default: `true` + * **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details. **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details. + */ + members_can_create_repositories?: boolean; + /** + * The shorthand name of the company. + */ + name?: string; + org: string; +}; +export declare type OrgsUpdateParams = { + /** + * Billing email address. This address is not publicized. + */ + billing_email?: string; + /** + * The company name. + */ + company?: string; + /** + * Default permission level members have for organization repositories: + * \* `read` - can pull, but not push to or administer this repository. + * \* `write` - can pull and push, but not administer this repository. + * \* `admin` - can pull, push, and administer this repository. + * \* `none` - no permissions granted by default. + */ + default_repository_permission?: "read" | "write" | "admin" | "none"; + /** + * The description of the company. + */ + description?: string; + /** + * The publicly visible email address. + */ + email?: string; + /** + * Toggles whether an organization can use organization projects. + */ + has_organization_projects?: boolean; + /** + * Toggles whether repositories that belong to the organization can use repository projects. + */ + has_repository_projects?: boolean; + /** + * The location. + */ + location?: string; + /** + * Toggles whether organization members can create internal repositories, which are visible to all enterprise members. You can only allow members to create internal repositories if your organization is associated with an enterprise account using GitHub Enterprise Cloud. Can be one of: + * \* `true` - all organization members can create internal repositories. + * \* `false` - only organization owners can create internal repositories. + * Default: `true`. For more information, see "[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. + */ + members_can_create_internal_repositories?: boolean; + /** + * Toggles whether organization members can create private repositories, which are visible to organization members with permission. Can be one of: + * \* `true` - all organization members can create private repositories. + * \* `false` - only organization owners can create private repositories. + * Default: `true`. For more information, see "[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. + */ + members_can_create_private_repositories?: boolean; + /** + * Toggles whether organization members can create public repositories, which are visible to anyone. Can be one of: + * \* `true` - all organization members can create public repositories. + * \* `false` - only organization owners can create public repositories. + * Default: `true`. For more information, see "[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. + */ + members_can_create_public_repositories?: boolean; + /** + * Toggles the ability of non-admin organization members to create repositories. Can be one of: + * \* `true` - all organization members can create repositories. + * \* `false` - only organization owners can create repositories. + * Default: `true` + * **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details. **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details. + */ + members_can_create_repositories?: boolean; + /** + * The shorthand name of the company. + */ + name?: string; + org: string; +}; +export declare type OrgsUpdateHookParams = { + /** + * Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + */ + active?: boolean; + /** + * Key/value pairs to provide settings for this webhook. [These are defined below](https://developer.github.com/v3/orgs/hooks/#update-hook-config-params). + */ + config?: OrgsUpdateHookParamsConfig; + /** + * Determines what [events](https://developer.github.com/v3/activity/events/types/) the hook is triggered for. + */ + events?: string[]; + hook_id: number; + org: string; +}; +export declare type OrgsUpdateMembershipParams = { + org: string; + /** + * The state that the membership should be in. Only `"active"` will be accepted. + */ + state: "active"; +}; +export declare type ProjectsAddCollaboratorParams = { + /** + * The permission to grant the collaborator. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://developer.github.com/v3/#http-verbs)." Can be one of: + * \* `read` - can read, but not write to or administer this project. + * \* `write` - can read and write, but not administer this project. + * \* `admin` - can read, write and administer this project. + */ + permission?: "read" | "write" | "admin"; + project_id: number; + username: string; +}; +export declare type ProjectsCreateCardParams = { + column_id: number; + /** + * The issue or pull request id you want to associate with this card. You can use the [List issues for a repository](https://developer.github.com/v3/issues/#list-issues-for-a-repository) and [List pull requests](https://developer.github.com/v3/pulls/#list-pull-requests) endpoints to find this id. + * **Note:** Depending on whether you use the issue id or pull request id, you will need to specify `Issue` or `PullRequest` as the `content_type`. + */ + content_id?: number; + /** + * **Required if you provide `content_id`**. The type of content you want to associate with this card. Use `Issue` when `content_id` is an issue id and use `PullRequest` when `content_id` is a pull request id. + */ + content_type?: string; + /** + * The card's note content. Only valid for cards without another type of content, so you must omit when specifying `content_id` and `content_type`. + */ + note?: string; +}; +export declare type ProjectsCreateColumnParams = { + /** + * The name of the column. + */ + name: string; + project_id: number; +}; +export declare type ProjectsCreateForAuthenticatedUserParams = { + /** + * The description of the project. + */ + body?: string; + /** + * The name of the project. + */ + name: string; +}; +export declare type ProjectsCreateForOrgParams = { + /** + * The description of the project. + */ + body?: string; + /** + * The name of the project. + */ + name: string; + org: string; +}; +export declare type ProjectsCreateForRepoParams = { + /** + * The description of the project. + */ + body?: string; + /** + * The name of the project. + */ + name: string; + owner: string; + repo: string; +}; +export declare type ProjectsDeleteParams = { + project_id: number; +}; +export declare type ProjectsDeleteCardParams = { + card_id: number; +}; +export declare type ProjectsDeleteColumnParams = { + column_id: number; +}; +export declare type ProjectsGetParams = { + project_id: number; +}; +export declare type ProjectsGetCardParams = { + card_id: number; +}; +export declare type ProjectsGetColumnParams = { + column_id: number; +}; +export declare type ProjectsListCardsParams = { + /** + * Filters the project cards that are returned by the card's state. Can be one of `all`,`archived`, or `not_archived`. + */ + archived_state?: "all" | "archived" | "not_archived"; + column_id: number; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type ProjectsListCollaboratorsParams = { + /** + * Filters the collaborators by their affiliation. Can be one of: + * \* `outside`: Outside collaborators of a project that are not a member of the project's organization. + * \* `direct`: Collaborators with permissions to a project, regardless of organization membership status. + * \* `all`: All collaborators the authenticated user can see. + */ + affiliation?: "outside" | "direct" | "all"; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + project_id: number; +}; +export declare type ProjectsListColumnsParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + project_id: number; +}; +export declare type ProjectsListForOrgParams = { + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; +}; +export declare type ProjectsListForRepoParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; + /** + * Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; +}; +export declare type ProjectsListForUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + username: string; +}; +export declare type ProjectsMoveCardParams = { + card_id: number; + /** + * The `id` value of a column in the same project. + */ + column_id?: number; + /** + * Can be one of `top`, `bottom`, or `after:`, where `` is the `id` value of a card in the same column, or in the new column specified by `column_id`. + */ + position: string; +}; +export declare type ProjectsMoveColumnParams = { + column_id: number; + /** + * Can be one of `first`, `last`, or `after:`, where `` is the `id` value of a column in the same project. + */ + position: string; +}; +export declare type ProjectsRemoveCollaboratorParams = { + project_id: number; + username: string; +}; +export declare type ProjectsReviewUserPermissionLevelParams = { + project_id: number; + username: string; +}; +export declare type ProjectsUpdateParams = { + /** + * The description of the project. + */ + body?: string; + /** + * The name of the project. + */ + name?: string; + /** + * The permission level that determines whether all members of the project's organization can see and/or make changes to the project. Setting `organization_permission` is only available for organization projects. If an organization member belongs to a team with a higher level of access or is a collaborator with a higher level of access, their permission level is not lowered by `organization_permission`. For information on changing access for a team or collaborator, see [Add or update team project](https://developer.github.com/v3/teams/#add-or-update-team-project) or [Add user as a collaborator](https://developer.github.com/v3/projects/collaborators/#add-user-as-a-collaborator). + * + * **Note:** Updating a project's `organization_permission` requires `admin` access to the project. + * + * Can be one of: + * \* `read` - Organization members can read, but not write to or administer this project. + * \* `write` - Organization members can read and write, but not administer this project. + * \* `admin` - Organization members can read, write and administer this project. + * \* `none` - Organization members can only see this project if it is public. + */ + organization_permission?: string; + /** + * Sets the visibility of a project board. Setting `private` is only available for organization and user projects. **Note:** Updating a project's visibility requires `admin` access to the project. + * + * Can be one of: + * \* `false` - Anyone can see the project. + * \* `true` - Only the user can view a project board created on a user account. Organization members with the appropriate `organization_permission` can see project boards in an organization account. + */ + private?: boolean; + project_id: number; + /** + * State of the project. Either `open` or `closed`. + */ + state?: "open" | "closed"; +}; +export declare type ProjectsUpdateCardParams = { + /** + * Use `true` to archive a project card. Specify `false` if you need to restore a previously archived project card. + */ + archived?: boolean; + card_id: number; + /** + * The card's note content. Only valid for cards without another type of content, so this cannot be specified if the card already has a `content_id` and `content_type`. + */ + note?: string; +}; +export declare type ProjectsUpdateColumnParams = { + column_id: number; + /** + * The new name of the column. + */ + name: string; +}; +export declare type PullsCheckIfMergedParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + owner: string; + repo: string; +}; +export declare type PullsCheckIfMergedParams = { + owner: string; + pull_number: number; + repo: string; +}; +export declare type PullsCreateParams = { + /** + * The name of the branch you want the changes pulled into. This should be an existing branch on the current repository. You cannot submit a pull request to one repository that requests a merge to a base of another repository. + */ + base: string; + /** + * The contents of the pull request. + */ + body?: string; + /** + * Indicates whether the pull request is a draft. See "[Draft Pull Requests](https://help.github.com/en/articles/about-pull-requests#draft-pull-requests)" in the GitHub Help documentation to learn more. + */ + draft?: boolean; + /** + * The name of the branch where your changes are implemented. For cross-repository pull requests in the same network, namespace `head` with a user like this: `username:branch`. + */ + head: string; + /** + * Indicates whether [maintainers can modify](https://help.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request. + */ + maintainer_can_modify?: boolean; + owner: string; + repo: string; + /** + * The title of the new pull request. + */ + title: string; +}; +export declare type PullsCreateCommentParamsDeprecatedNumber = { + /** + * The text of the review comment. + */ + body: string; + /** + * The SHA of the commit needing a comment. Not using the latest commit SHA may render your comment outdated if a subsequent commit modifies the line you specify as the `position`. + */ + commit_id: string; + /** + * **Required with `comfort-fade` preview**. The line of the blob in the pull request diff that the comment applies to. For a multi-line comment, the last line of the range that your comment applies to. + */ + line?: number; + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + owner: string; + /** + * The relative path to the file that necessitates a comment. + */ + path: string; + /** + * **Required without `comfort-fade` preview**. The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note above. + */ + position?: number; + repo: string; + /** + * **Required with `comfort-fade` preview**. In a split diff view, the side of the diff that the pull request's changes appear on. Can be `LEFT` or `RIGHT`. Use `LEFT` for deletions that appear in red. Use `RIGHT` for additions that appear in green or unchanged lines that appear in white and are shown for context. For a multi-line comment, side represents whether the last line of the comment range is a deletion or addition. For more information, see "[Diff view options](https://help.github.com/en/articles/about-comparing-branches-in-pull-requests#diff-view-options)" in the GitHub Help documentation. + */ + side?: "LEFT" | "RIGHT"; + /** + * **Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. The `start_line` is the first line in the pull request diff that your multi-line comment applies to. To learn more about multi-line comments, see "[Commenting on a pull request](https://help.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. + */ + start_line?: number; + /** + * **Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. The `start_side` is the starting side of the diff that the comment applies to. Can be `LEFT` or `RIGHT`. To learn more about multi-line comments, see "[Commenting on a pull request](https://help.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. See `side` in this table for additional context. + */ + start_side?: "LEFT" | "RIGHT" | "side"; +}; +export declare type PullsCreateCommentParamsDeprecatedInReplyTo = { + /** + * The text of the review comment. + */ + body: string; + /** + * The SHA of the commit needing a comment. Not using the latest commit SHA may render your comment outdated if a subsequent commit modifies the line you specify as the `position`. + */ + commit_id: string; + /** + * The comment ID to reply to. **Note**: This must be the ID of a top-level comment, not a reply to that comment. Replies to replies are not supported. + * @deprecated "in_reply_to" parameter has been deprecated and will be removed in future + */ + in_reply_to?: number; + /** + * **Required with `comfort-fade` preview**. The line of the blob in the pull request diff that the comment applies to. For a multi-line comment, the last line of the range that your comment applies to. + */ + line?: number; + owner: string; + /** + * The relative path to the file that necessitates a comment. + */ + path: string; + /** + * **Required without `comfort-fade` preview**. The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note above. + */ + position?: number; + pull_number: number; + repo: string; + /** + * **Required with `comfort-fade` preview**. In a split diff view, the side of the diff that the pull request's changes appear on. Can be `LEFT` or `RIGHT`. Use `LEFT` for deletions that appear in red. Use `RIGHT` for additions that appear in green or unchanged lines that appear in white and are shown for context. For a multi-line comment, side represents whether the last line of the comment range is a deletion or addition. For more information, see "[Diff view options](https://help.github.com/en/articles/about-comparing-branches-in-pull-requests#diff-view-options)" in the GitHub Help documentation. + */ + side?: "LEFT" | "RIGHT"; + /** + * **Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. The `start_line` is the first line in the pull request diff that your multi-line comment applies to. To learn more about multi-line comments, see "[Commenting on a pull request](https://help.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. + */ + start_line?: number; + /** + * **Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. The `start_side` is the starting side of the diff that the comment applies to. Can be `LEFT` or `RIGHT`. To learn more about multi-line comments, see "[Commenting on a pull request](https://help.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. See `side` in this table for additional context. + */ + start_side?: "LEFT" | "RIGHT" | "side"; +}; +export declare type PullsCreateCommentParams = { + /** + * The text of the review comment. + */ + body: string; + /** + * The SHA of the commit needing a comment. Not using the latest commit SHA may render your comment outdated if a subsequent commit modifies the line you specify as the `position`. + */ + commit_id: string; + /** + * **Required with `comfort-fade` preview**. The line of the blob in the pull request diff that the comment applies to. For a multi-line comment, the last line of the range that your comment applies to. + */ + line?: number; + owner: string; + /** + * The relative path to the file that necessitates a comment. + */ + path: string; + /** + * **Required without `comfort-fade` preview**. The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note above. + */ + position?: number; + pull_number: number; + repo: string; + /** + * **Required with `comfort-fade` preview**. In a split diff view, the side of the diff that the pull request's changes appear on. Can be `LEFT` or `RIGHT`. Use `LEFT` for deletions that appear in red. Use `RIGHT` for additions that appear in green or unchanged lines that appear in white and are shown for context. For a multi-line comment, side represents whether the last line of the comment range is a deletion or addition. For more information, see "[Diff view options](https://help.github.com/en/articles/about-comparing-branches-in-pull-requests#diff-view-options)" in the GitHub Help documentation. + */ + side?: "LEFT" | "RIGHT"; + /** + * **Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. The `start_line` is the first line in the pull request diff that your multi-line comment applies to. To learn more about multi-line comments, see "[Commenting on a pull request](https://help.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. + */ + start_line?: number; + /** + * **Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. The `start_side` is the starting side of the diff that the comment applies to. Can be `LEFT` or `RIGHT`. To learn more about multi-line comments, see "[Commenting on a pull request](https://help.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. See `side` in this table for additional context. + */ + start_side?: "LEFT" | "RIGHT" | "side"; +}; +export declare type PullsCreateCommentReplyParamsDeprecatedNumber = { + /** + * The text of the review comment. + */ + body: string; + /** + * The SHA of the commit needing a comment. Not using the latest commit SHA may render your comment outdated if a subsequent commit modifies the line you specify as the `position`. + */ + commit_id: string; + /** + * **Required with `comfort-fade` preview**. The line of the blob in the pull request diff that the comment applies to. For a multi-line comment, the last line of the range that your comment applies to. + */ + line?: number; + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + owner: string; + /** + * The relative path to the file that necessitates a comment. + */ + path: string; + /** + * **Required without `comfort-fade` preview**. The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note above. + */ + position?: number; + repo: string; + /** + * **Required with `comfort-fade` preview**. In a split diff view, the side of the diff that the pull request's changes appear on. Can be `LEFT` or `RIGHT`. Use `LEFT` for deletions that appear in red. Use `RIGHT` for additions that appear in green or unchanged lines that appear in white and are shown for context. For a multi-line comment, side represents whether the last line of the comment range is a deletion or addition. For more information, see "[Diff view options](https://help.github.com/en/articles/about-comparing-branches-in-pull-requests#diff-view-options)" in the GitHub Help documentation. + */ + side?: "LEFT" | "RIGHT"; + /** + * **Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. The `start_line` is the first line in the pull request diff that your multi-line comment applies to. To learn more about multi-line comments, see "[Commenting on a pull request](https://help.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. + */ + start_line?: number; + /** + * **Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. The `start_side` is the starting side of the diff that the comment applies to. Can be `LEFT` or `RIGHT`. To learn more about multi-line comments, see "[Commenting on a pull request](https://help.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. See `side` in this table for additional context. + */ + start_side?: "LEFT" | "RIGHT" | "side"; +}; +export declare type PullsCreateCommentReplyParamsDeprecatedInReplyTo = { + /** + * The text of the review comment. + */ + body: string; + /** + * The SHA of the commit needing a comment. Not using the latest commit SHA may render your comment outdated if a subsequent commit modifies the line you specify as the `position`. + */ + commit_id: string; + /** + * The comment ID to reply to. **Note**: This must be the ID of a top-level comment, not a reply to that comment. Replies to replies are not supported. + * @deprecated "in_reply_to" parameter has been deprecated and will be removed in future + */ + in_reply_to?: number; + /** + * **Required with `comfort-fade` preview**. The line of the blob in the pull request diff that the comment applies to. For a multi-line comment, the last line of the range that your comment applies to. + */ + line?: number; + owner: string; + /** + * The relative path to the file that necessitates a comment. + */ + path: string; + /** + * **Required without `comfort-fade` preview**. The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note above. + */ + position?: number; + pull_number: number; + repo: string; + /** + * **Required with `comfort-fade` preview**. In a split diff view, the side of the diff that the pull request's changes appear on. Can be `LEFT` or `RIGHT`. Use `LEFT` for deletions that appear in red. Use `RIGHT` for additions that appear in green or unchanged lines that appear in white and are shown for context. For a multi-line comment, side represents whether the last line of the comment range is a deletion or addition. For more information, see "[Diff view options](https://help.github.com/en/articles/about-comparing-branches-in-pull-requests#diff-view-options)" in the GitHub Help documentation. + */ + side?: "LEFT" | "RIGHT"; + /** + * **Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. The `start_line` is the first line in the pull request diff that your multi-line comment applies to. To learn more about multi-line comments, see "[Commenting on a pull request](https://help.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. + */ + start_line?: number; + /** + * **Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. The `start_side` is the starting side of the diff that the comment applies to. Can be `LEFT` or `RIGHT`. To learn more about multi-line comments, see "[Commenting on a pull request](https://help.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. See `side` in this table for additional context. + */ + start_side?: "LEFT" | "RIGHT" | "side"; +}; +export declare type PullsCreateCommentReplyParams = { + /** + * The text of the review comment. + */ + body: string; + /** + * The SHA of the commit needing a comment. Not using the latest commit SHA may render your comment outdated if a subsequent commit modifies the line you specify as the `position`. + */ + commit_id: string; + /** + * **Required with `comfort-fade` preview**. The line of the blob in the pull request diff that the comment applies to. For a multi-line comment, the last line of the range that your comment applies to. + */ + line?: number; + owner: string; + /** + * The relative path to the file that necessitates a comment. + */ + path: string; + /** + * **Required without `comfort-fade` preview**. The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note above. + */ + position?: number; + pull_number: number; + repo: string; + /** + * **Required with `comfort-fade` preview**. In a split diff view, the side of the diff that the pull request's changes appear on. Can be `LEFT` or `RIGHT`. Use `LEFT` for deletions that appear in red. Use `RIGHT` for additions that appear in green or unchanged lines that appear in white and are shown for context. For a multi-line comment, side represents whether the last line of the comment range is a deletion or addition. For more information, see "[Diff view options](https://help.github.com/en/articles/about-comparing-branches-in-pull-requests#diff-view-options)" in the GitHub Help documentation. + */ + side?: "LEFT" | "RIGHT"; + /** + * **Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. The `start_line` is the first line in the pull request diff that your multi-line comment applies to. To learn more about multi-line comments, see "[Commenting on a pull request](https://help.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. + */ + start_line?: number; + /** + * **Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. The `start_side` is the starting side of the diff that the comment applies to. Can be `LEFT` or `RIGHT`. To learn more about multi-line comments, see "[Commenting on a pull request](https://help.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. See `side` in this table for additional context. + */ + start_side?: "LEFT" | "RIGHT" | "side"; +}; +export declare type PullsCreateFromIssueParams = { + base: string; + draft?: boolean; + head: string; + issue: number; + maintainer_can_modify?: boolean; + owner: string; + repo: string; +}; +export declare type PullsCreateReviewParamsDeprecatedNumber = { + /** + * **Required** when using `REQUEST_CHANGES` or `COMMENT` for the `event` parameter. The body text of the pull request review. + */ + body?: string; + /** + * Use the following table to specify the location, destination, and contents of the draft review comment. + */ + comments?: PullsCreateReviewParamsComments[]; + /** + * The SHA of the commit that needs a review. Not using the latest commit SHA may render your review comment outdated if a subsequent commit modifies the line you specify as the `position`. Defaults to the most recent commit in the pull request when you do not specify a value. + */ + commit_id?: string; + /** + * The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. By leaving this blank, you set the review action state to `PENDING`, which means you will need to [submit the pull request review](https://developer.github.com/v3/pulls/reviews/#submit-a-pull-request-review) when you are ready. + */ + event?: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + owner: string; + repo: string; +}; +export declare type PullsCreateReviewParams = { + /** + * **Required** when using `REQUEST_CHANGES` or `COMMENT` for the `event` parameter. The body text of the pull request review. + */ + body?: string; + /** + * Use the following table to specify the location, destination, and contents of the draft review comment. + */ + comments?: PullsCreateReviewParamsComments[]; + /** + * The SHA of the commit that needs a review. Not using the latest commit SHA may render your review comment outdated if a subsequent commit modifies the line you specify as the `position`. Defaults to the most recent commit in the pull request when you do not specify a value. + */ + commit_id?: string; + /** + * The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. By leaving this blank, you set the review action state to `PENDING`, which means you will need to [submit the pull request review](https://developer.github.com/v3/pulls/reviews/#submit-a-pull-request-review) when you are ready. + */ + event?: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; + owner: string; + pull_number: number; + repo: string; +}; +export declare type PullsCreateReviewCommentReplyParams = { + /** + * The text of the review comment. + */ + body: string; + comment_id: number; + owner: string; + pull_number: number; + repo: string; +}; +export declare type PullsCreateReviewRequestParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + owner: string; + repo: string; + /** + * An array of user `login`s that will be requested. + */ + reviewers?: string[]; + /** + * An array of team `slug`s that will be requested. + */ + team_reviewers?: string[]; +}; +export declare type PullsCreateReviewRequestParams = { + owner: string; + pull_number: number; + repo: string; + /** + * An array of user `login`s that will be requested. + */ + reviewers?: string[]; + /** + * An array of team `slug`s that will be requested. + */ + team_reviewers?: string[]; +}; +export declare type PullsDeleteCommentParams = { + comment_id: number; + owner: string; + repo: string; +}; +export declare type PullsDeletePendingReviewParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + owner: string; + repo: string; + review_id: number; +}; +export declare type PullsDeletePendingReviewParams = { + owner: string; + pull_number: number; + repo: string; + review_id: number; +}; +export declare type PullsDeleteReviewRequestParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + owner: string; + repo: string; + /** + * An array of user `login`s that will be removed. + */ + reviewers?: string[]; + /** + * An array of team `slug`s that will be removed. + */ + team_reviewers?: string[]; +}; +export declare type PullsDeleteReviewRequestParams = { + owner: string; + pull_number: number; + repo: string; + /** + * An array of user `login`s that will be removed. + */ + reviewers?: string[]; + /** + * An array of team `slug`s that will be removed. + */ + team_reviewers?: string[]; +}; +export declare type PullsDismissReviewParamsDeprecatedNumber = { + /** + * The message for the pull request review dismissal + */ + message: string; + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + owner: string; + repo: string; + review_id: number; +}; +export declare type PullsDismissReviewParams = { + /** + * The message for the pull request review dismissal + */ + message: string; + owner: string; + pull_number: number; + repo: string; + review_id: number; +}; +export declare type PullsGetParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + owner: string; + repo: string; +}; +export declare type PullsGetParams = { + owner: string; + pull_number: number; + repo: string; +}; +export declare type PullsGetCommentParams = { + comment_id: number; + owner: string; + repo: string; +}; +export declare type PullsGetCommentsForReviewParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; + review_id: number; +}; +export declare type PullsGetCommentsForReviewParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + pull_number: number; + repo: string; + review_id: number; +}; +export declare type PullsGetReviewParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + owner: string; + repo: string; + review_id: number; +}; +export declare type PullsGetReviewParams = { + owner: string; + pull_number: number; + repo: string; + review_id: number; +}; +export declare type PullsListParams = { + /** + * Filter pulls by base branch name. Example: `gh-pages`. + */ + base?: string; + /** + * The direction of the sort. Can be either `asc` or `desc`. Default: `desc` when sort is `created` or sort is not specified, otherwise `asc`. + */ + direction?: "asc" | "desc"; + /** + * Filter pulls by head user or head organization and branch name in the format of `user:ref-name` or `organization:ref-name`. For example: `github:new-script-format` or `octocat:test-branch`. + */ + head?: string; + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; + /** + * What to sort results by. Can be either `created`, `updated`, `popularity` (comment count) or `long-running` (age, filtering by pulls updated in the last month). + */ + sort?: "created" | "updated" | "popularity" | "long-running"; + /** + * Either `open`, `closed`, or `all` to filter by state. + */ + state?: "open" | "closed" | "all"; +}; +export declare type PullsListCommentsParamsDeprecatedNumber = { + /** + * Can be either `asc` or `desc`. Ignored without `sort` parameter. + */ + direction?: "asc" | "desc"; + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; + /** + * This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Only returns comments `updated` at or after this time. + */ + since?: string; + /** + * Can be either `created` or `updated` comments. + */ + sort?: "created" | "updated"; +}; +export declare type PullsListCommentsParams = { + /** + * Can be either `asc` or `desc`. Ignored without `sort` parameter. + */ + direction?: "asc" | "desc"; + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + pull_number: number; + repo: string; + /** + * This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Only returns comments `updated` at or after this time. + */ + since?: string; + /** + * Can be either `created` or `updated` comments. + */ + sort?: "created" | "updated"; +}; +export declare type PullsListCommentsForRepoParams = { + /** + * Can be either `asc` or `desc`. Ignored without `sort` parameter. + */ + direction?: "asc" | "desc"; + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; + /** + * This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Only returns comments `updated` at or after this time. + */ + since?: string; + /** + * Can be either `created` or `updated` comments. + */ + sort?: "created" | "updated"; +}; +export declare type PullsListCommitsParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type PullsListCommitsParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + pull_number: number; + repo: string; +}; +export declare type PullsListFilesParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type PullsListFilesParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + pull_number: number; + repo: string; +}; +export declare type PullsListReviewRequestsParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type PullsListReviewRequestsParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + pull_number: number; + repo: string; +}; +export declare type PullsListReviewsParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type PullsListReviewsParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + pull_number: number; + repo: string; +}; +export declare type PullsMergeParamsDeprecatedNumber = { + /** + * Extra detail to append to automatic commit message. + */ + commit_message?: string; + /** + * Title for the automatic commit message. + */ + commit_title?: string; + /** + * Merge method to use. Possible values are `merge`, `squash` or `rebase`. Default is `merge`. + */ + merge_method?: "merge" | "squash" | "rebase"; + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + owner: string; + repo: string; + /** + * SHA that pull request head must match to allow merge. + */ + sha?: string; +}; +export declare type PullsMergeParams = { + /** + * Extra detail to append to automatic commit message. + */ + commit_message?: string; + /** + * Title for the automatic commit message. + */ + commit_title?: string; + /** + * Merge method to use. Possible values are `merge`, `squash` or `rebase`. Default is `merge`. + */ + merge_method?: "merge" | "squash" | "rebase"; + owner: string; + pull_number: number; + repo: string; + /** + * SHA that pull request head must match to allow merge. + */ + sha?: string; +}; +export declare type PullsSubmitReviewParamsDeprecatedNumber = { + /** + * The body text of the pull request review + */ + body?: string; + /** + * The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. When you leave this blank, the API returns _HTTP 422 (Unrecognizable entity)_ and sets the review action state to `PENDING`, which means you will need to re-submit the pull request review using a review action. + */ + event: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + owner: string; + repo: string; + review_id: number; +}; +export declare type PullsSubmitReviewParams = { + /** + * The body text of the pull request review + */ + body?: string; + /** + * The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. When you leave this blank, the API returns _HTTP 422 (Unrecognizable entity)_ and sets the review action state to `PENDING`, which means you will need to re-submit the pull request review using a review action. + */ + event: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; + owner: string; + pull_number: number; + repo: string; + review_id: number; +}; +export declare type PullsUpdateParamsDeprecatedNumber = { + /** + * The name of the branch you want your changes pulled into. This should be an existing branch on the current repository. You cannot update the base branch on a pull request to point to another repository. + */ + base?: string; + /** + * The contents of the pull request. + */ + body?: string; + /** + * Indicates whether [maintainers can modify](https://help.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request. + */ + maintainer_can_modify?: boolean; + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + owner: string; + repo: string; + /** + * State of this Pull Request. Either `open` or `closed`. + */ + state?: "open" | "closed"; + /** + * The title of the pull request. + */ + title?: string; +}; +export declare type PullsUpdateParams = { + /** + * The name of the branch you want your changes pulled into. This should be an existing branch on the current repository. You cannot update the base branch on a pull request to point to another repository. + */ + base?: string; + /** + * The contents of the pull request. + */ + body?: string; + /** + * Indicates whether [maintainers can modify](https://help.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request. + */ + maintainer_can_modify?: boolean; + owner: string; + pull_number: number; + repo: string; + /** + * State of this Pull Request. Either `open` or `closed`. + */ + state?: "open" | "closed"; + /** + * The title of the pull request. + */ + title?: string; +}; +export declare type PullsUpdateBranchParams = { + /** + * The expected SHA of the pull request's HEAD ref. This is the most recent commit on the pull request's branch. If the expected SHA does not match the pull request's HEAD, you will receive a `422 Unprocessable Entity` status. You can use the "[List commits on a repository](https://developer.github.com/v3/repos/commits/#list-commits-on-a-repository)" endpoint to find the most recent commit SHA. Default: SHA of the pull request's current HEAD ref. + */ + expected_head_sha?: string; + owner: string; + pull_number: number; + repo: string; +}; +export declare type PullsUpdateCommentParams = { + /** + * The text of the reply to the review comment. + */ + body: string; + comment_id: number; + owner: string; + repo: string; +}; +export declare type PullsUpdateReviewParamsDeprecatedNumber = { + /** + * The body text of the pull request review. + */ + body: string; + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + owner: string; + repo: string; + review_id: number; +}; +export declare type PullsUpdateReviewParams = { + /** + * The body text of the pull request review. + */ + body: string; + owner: string; + pull_number: number; + repo: string; + review_id: number; +}; +export declare type ReactionsCreateForCommitCommentParams = { + comment_id: number; + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the commit comment. + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + owner: string; + repo: string; +}; +export declare type ReactionsCreateForIssueParamsDeprecatedNumber = { + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the issue. + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + owner: string; + repo: string; +}; +export declare type ReactionsCreateForIssueParams = { + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the issue. + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + issue_number: number; + owner: string; + repo: string; +}; +export declare type ReactionsCreateForIssueCommentParams = { + comment_id: number; + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the issue comment. + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + owner: string; + repo: string; +}; +export declare type ReactionsCreateForPullRequestReviewCommentParams = { + comment_id: number; + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the pull request review comment. + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + owner: string; + repo: string; +}; +export declare type ReactionsCreateForTeamDiscussionParams = { + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the team discussion. + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + discussion_number: number; + team_id: number; +}; +export declare type ReactionsCreateForTeamDiscussionCommentParams = { + comment_number: number; + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the team discussion comment. + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + discussion_number: number; + team_id: number; +}; +export declare type ReactionsCreateForTeamDiscussionCommentInOrgParams = { + comment_number: number; + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the team discussion comment. + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + discussion_number: number; + org: string; + team_slug: string; +}; +export declare type ReactionsCreateForTeamDiscussionCommentLegacyParams = { + comment_number: number; + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the team discussion comment. + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + discussion_number: number; + team_id: number; +}; +export declare type ReactionsCreateForTeamDiscussionInOrgParams = { + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the team discussion. + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + discussion_number: number; + org: string; + team_slug: string; +}; +export declare type ReactionsCreateForTeamDiscussionLegacyParams = { + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the team discussion. + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + discussion_number: number; + team_id: number; +}; +export declare type ReactionsDeleteParams = { + reaction_id: number; +}; +export declare type ReactionsListForCommitCommentParams = { + comment_id: number; + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to a commit comment. + */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type ReactionsListForIssueParamsDeprecatedNumber = { + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to an issue. + */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type ReactionsListForIssueParams = { + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to an issue. + */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + issue_number: number; + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type ReactionsListForIssueCommentParams = { + comment_id: number; + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to an issue comment. + */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type ReactionsListForPullRequestReviewCommentParams = { + comment_id: number; + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to a pull request review comment. + */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type ReactionsListForTeamDiscussionParams = { + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to a team discussion. + */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + discussion_number: number; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + team_id: number; +}; +export declare type ReactionsListForTeamDiscussionCommentParams = { + comment_number: number; + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to a team discussion comment. + */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + discussion_number: number; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + team_id: number; +}; +export declare type ReactionsListForTeamDiscussionCommentInOrgParams = { + comment_number: number; + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to a team discussion comment. + */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + discussion_number: number; + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + team_slug: string; +}; +export declare type ReactionsListForTeamDiscussionCommentLegacyParams = { + comment_number: number; + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to a team discussion comment. + */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + discussion_number: number; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + team_id: number; +}; +export declare type ReactionsListForTeamDiscussionInOrgParams = { + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to a team discussion. + */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + discussion_number: number; + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + team_slug: string; +}; +export declare type ReactionsListForTeamDiscussionLegacyParams = { + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to a team discussion. + */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + discussion_number: number; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + team_id: number; +}; +export declare type ReposAcceptInvitationParams = { + invitation_id: number; +}; +export declare type ReposAddCollaboratorParams = { + owner: string; + /** + * The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: + * \* `pull` - can pull, but not push to or administer this repository. + * \* `push` - can pull and push, but not administer this repository. + * \* `admin` - can pull, push and administer this repository. + */ + permission?: "pull" | "push" | "admin"; + repo: string; + username: string; +}; +export declare type ReposAddDeployKeyParams = { + /** + * The contents of the key. + */ + key: string; + owner: string; + /** + * If `true`, the key will only be able to read repository contents. Otherwise, the key will be able to read and write. + * + * Deploy keys with write access can perform the same actions as an organization member with admin access, or a collaborator on a personal repository. For more information, see "[Repository permission levels for an organization](https://help.github.com/articles/repository-permission-levels-for-an-organization/)" and "[Permission levels for a user account repository](https://help.github.com/articles/permission-levels-for-a-user-account-repository/)." + */ + read_only?: boolean; + repo: string; + /** + * A name for the key. + */ + title?: string; +}; +export declare type ReposAddProtectedBranchAdminEnforcementParams = { + branch: string; + owner: string; + repo: string; +}; +export declare type ReposAddProtectedBranchAppRestrictionsParams = { + apps: string[]; + branch: string; + owner: string; + repo: string; +}; +export declare type ReposAddProtectedBranchRequiredSignaturesParams = { + branch: string; + owner: string; + repo: string; +}; +export declare type ReposAddProtectedBranchRequiredStatusChecksContextsParams = { + branch: string; + contexts: string[]; + owner: string; + repo: string; +}; +export declare type ReposAddProtectedBranchTeamRestrictionsParams = { + branch: string; + owner: string; + repo: string; + teams: string[]; +}; +export declare type ReposAddProtectedBranchUserRestrictionsParams = { + branch: string; + owner: string; + repo: string; + users: string[]; +}; +export declare type ReposCheckCollaboratorParams = { + owner: string; + repo: string; + username: string; +}; +export declare type ReposCheckVulnerabilityAlertsParams = { + owner: string; + repo: string; +}; +export declare type ReposCompareCommitsParams = { + base: string; + head: string; + owner: string; + repo: string; +}; +export declare type ReposCreateCommitCommentParamsDeprecatedSha = { + /** + * The contents of the comment. + */ + body: string; + owner: string; + /** + * Relative path of the file to comment on. + */ + path?: string; + /** + * Line index in the diff to comment on. + */ + position?: number; + repo: string; + /** + * @deprecated "sha" parameter renamed to "commit_sha" + */ + sha: string; +}; +export declare type ReposCreateCommitCommentParamsDeprecatedLine = { + /** + * The contents of the comment. + */ + body: string; + commit_sha: string; + /** + * **Deprecated**. Use **position** parameter instead. Line number in the file to comment on. + * @deprecated "line" parameter has been deprecated and will be removed in future + */ + line?: number; + owner: string; + /** + * Relative path of the file to comment on. + */ + path?: string; + /** + * Line index in the diff to comment on. + */ + position?: number; + repo: string; +}; +export declare type ReposCreateCommitCommentParams = { + /** + * The contents of the comment. + */ + body: string; + commit_sha: string; + owner: string; + /** + * Relative path of the file to comment on. + */ + path?: string; + /** + * Line index in the diff to comment on. + */ + position?: number; + repo: string; +}; +export declare type ReposCreateDeploymentParams = { + /** + * Attempts to automatically merge the default branch into the requested ref, if it's behind the default branch. + */ + auto_merge?: boolean; + /** + * Short description of the deployment. + */ + description?: string; + /** + * Name for the target deployment environment (e.g., `production`, `staging`, `qa`). + */ + environment?: string; + owner: string; + /** + * JSON payload with extra information about the deployment. + */ + payload?: string; + /** + * Specifies if the given environment is one that end-users directly interact with. Default: `true` when `environment` is `production` and `false` otherwise. + * **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. + */ + production_environment?: boolean; + /** + * The ref to deploy. This can be a branch, tag, or SHA. + */ + ref: string; + repo: string; + /** + * The [status](https://developer.github.com/v3/repos/statuses/) contexts to verify against commit status checks. If you omit this parameter, GitHub verifies all unique contexts before creating a deployment. To bypass checking entirely, pass an empty array. Defaults to all unique contexts. + */ + required_contexts?: string[]; + /** + * Specifies a task to execute (e.g., `deploy` or `deploy:migrations`). + */ + task?: string; + /** + * Specifies if the given environment is specific to the deployment and will no longer exist at some point in the future. Default: `false` + * **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. + */ + transient_environment?: boolean; +}; +export declare type ReposCreateDeploymentStatusParams = { + /** + * Adds a new `inactive` status to all prior non-transient, non-production environment deployments with the same repository and `environment` name as the created status's deployment. An `inactive` status is only added to deployments that had a `success` state. Default: `true` + * **Note:** To add an `inactive` status to `production` environments, you must use the [`application/vnd.github.flash-preview+json`](https://developer.github.com/v3/previews/#deployment-statuses) custom media type. + * **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. + */ + auto_inactive?: boolean; + deployment_id: number; + /** + * A short description of the status. The maximum description length is 140 characters. + */ + description?: string; + /** + * Name for the target deployment environment, which can be changed when setting a deploy status. For example, `production`, `staging`, or `qa`. **Note:** This parameter requires you to use the [`application/vnd.github.flash-preview+json`](https://developer.github.com/v3/previews/#deployment-statuses) custom media type. + */ + environment?: "production" | "staging" | "qa"; + /** + * Sets the URL for accessing your environment. Default: `""` + * **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. + */ + environment_url?: string; + /** + * The full URL of the deployment's output. This parameter replaces `target_url`. We will continue to accept `target_url` to support legacy uses, but we recommend replacing `target_url` with `log_url`. Setting `log_url` will automatically set `target_url` to the same value. Default: `""` + * **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. + */ + log_url?: string; + owner: string; + repo: string; + /** + * The state of the status. Can be one of `error`, `failure`, `inactive`, `in_progress`, `queued` `pending`, or `success`. **Note:** To use the `inactive` state, you must provide the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. To use the `in_progress` and `queued` states, you must provide the [`application/vnd.github.flash-preview+json`](https://developer.github.com/v3/previews/#deployment-statuses) custom media type. + */ + state: "error" | "failure" | "inactive" | "in_progress" | "queued" | "pending" | "success"; + /** + * The target URL to associate with this status. This URL should contain output to keep the user updated while the task is running or serve as historical information for what happened in the deployment. **Note:** It's recommended to use the `log_url` parameter, which replaces `target_url`. + */ + target_url?: string; +}; +export declare type ReposCreateDispatchEventParams = { + /** + * JSON payload with extra information about the webhook event that your action or worklow may use. + */ + client_payload?: ReposCreateDispatchEventParamsClientPayload; + /** + * **Required:** A custom webhook event name. + */ + event_type?: string; + owner: string; + repo: string; +}; +export declare type ReposCreateFileParams = { + /** + * The author of the file. Default: The `committer` or the authenticated user if you omit `committer`. + */ + author?: ReposCreateFileParamsAuthor; + /** + * The branch name. Default: the repository’s default branch (usually `master`) + */ + branch?: string; + /** + * The person that committed the file. Default: the authenticated user. + */ + committer?: ReposCreateFileParamsCommitter; + /** + * The new file content, using Base64 encoding. + */ + content: string; + /** + * The commit message. + */ + message: string; + owner: string; + path: string; + repo: string; + /** + * **Required if you are updating a file**. The blob SHA of the file being replaced. + */ + sha?: string; +}; +export declare type ReposCreateForAuthenticatedUserParams = { + /** + * Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. + */ + allow_merge_commit?: boolean; + /** + * Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. + */ + allow_rebase_merge?: boolean; + /** + * Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. + */ + allow_squash_merge?: boolean; + /** + * Pass `true` to create an initial commit with empty README. + */ + auto_init?: boolean; + /** + * Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. + */ + delete_branch_on_merge?: boolean; + /** + * A short description of the repository. + */ + description?: string; + /** + * Desired language or platform [.gitignore template](https://github.com/github/gitignore) to apply. Use the name of the template without the extension. For example, "Haskell". + */ + gitignore_template?: string; + /** + * Either `true` to enable issues for this repository or `false` to disable them. + */ + has_issues?: boolean; + /** + * Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error. + */ + has_projects?: boolean; + /** + * Either `true` to enable the wiki for this repository or `false` to disable it. + */ + has_wiki?: boolean; + /** + * A URL with more information about the repository. + */ + homepage?: string; + /** + * Either `true` to make this repo available as a template repository or `false` to prevent it. + */ + is_template?: boolean; + /** + * Choose an [open source license template](https://choosealicense.com/) that best suits your needs, and then use the [license keyword](https://help.github.com/articles/licensing-a-repository/#searching-github-by-license-type) as the `license_template` string. For example, "mit" or "mpl-2.0". + */ + license_template?: string; + /** + * The name of the repository. + */ + name: string; + /** + * Either `true` to create a private repository or `false` to create a public one. Creating private repositories requires a paid GitHub account. + */ + private?: boolean; + /** + * The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization. + */ + team_id?: number; + /** + * Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud, `visibility` can also be `internal`. For more information, see "[Creating an internal repository](https://help.github.com/github/creating-cloning-and-archiving-repositories/creating-an-internal-repository)" in the GitHub Help documentation. + * The `visibility` parameter overrides the `private` parameter when you use both parameters with the `nebula-preview` preview header. + */ + visibility?: "public" | "private" | "visibility" | "internal"; +}; +export declare type ReposCreateForkParams = { + /** + * Optional parameter to specify the organization name if forking into an organization. + */ + organization?: string; + owner: string; + repo: string; +}; +export declare type ReposCreateHookParams = { + /** + * Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + */ + active?: boolean; + /** + * Key/value pairs to provide settings for this webhook. [These are defined below](https://developer.github.com/v3/repos/hooks/#create-hook-config-params). + */ + config: ReposCreateHookParamsConfig; + /** + * Determines what [events](https://developer.github.com/v3/activity/events/types/) the hook is triggered for. + */ + events?: string[]; + /** + * Use `web` to create a webhook. Default: `web`. This parameter only accepts the value `web`. + */ + name?: string; + owner: string; + repo: string; +}; +export declare type ReposCreateInOrgParams = { + /** + * Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. + */ + allow_merge_commit?: boolean; + /** + * Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. + */ + allow_rebase_merge?: boolean; + /** + * Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. + */ + allow_squash_merge?: boolean; + /** + * Pass `true` to create an initial commit with empty README. + */ + auto_init?: boolean; + /** + * Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. + */ + delete_branch_on_merge?: boolean; + /** + * A short description of the repository. + */ + description?: string; + /** + * Desired language or platform [.gitignore template](https://github.com/github/gitignore) to apply. Use the name of the template without the extension. For example, "Haskell". + */ + gitignore_template?: string; + /** + * Either `true` to enable issues for this repository or `false` to disable them. + */ + has_issues?: boolean; + /** + * Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error. + */ + has_projects?: boolean; + /** + * Either `true` to enable the wiki for this repository or `false` to disable it. + */ + has_wiki?: boolean; + /** + * A URL with more information about the repository. + */ + homepage?: string; + /** + * Either `true` to make this repo available as a template repository or `false` to prevent it. + */ + is_template?: boolean; + /** + * Choose an [open source license template](https://choosealicense.com/) that best suits your needs, and then use the [license keyword](https://help.github.com/articles/licensing-a-repository/#searching-github-by-license-type) as the `license_template` string. For example, "mit" or "mpl-2.0". + */ + license_template?: string; + /** + * The name of the repository. + */ + name: string; + org: string; + /** + * Either `true` to create a private repository or `false` to create a public one. Creating private repositories requires a paid GitHub account. + */ + private?: boolean; + /** + * The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization. + */ + team_id?: number; + /** + * Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud, `visibility` can also be `internal`. For more information, see "[Creating an internal repository](https://help.github.com/github/creating-cloning-and-archiving-repositories/creating-an-internal-repository)" in the GitHub Help documentation. + * The `visibility` parameter overrides the `private` parameter when you use both parameters with the `nebula-preview` preview header. + */ + visibility?: "public" | "private" | "visibility" | "internal"; +}; +export declare type ReposCreateOrUpdateFileParams = { + /** + * The author of the file. Default: The `committer` or the authenticated user if you omit `committer`. + */ + author?: ReposCreateOrUpdateFileParamsAuthor; + /** + * The branch name. Default: the repository’s default branch (usually `master`) + */ + branch?: string; + /** + * The person that committed the file. Default: the authenticated user. + */ + committer?: ReposCreateOrUpdateFileParamsCommitter; + /** + * The new file content, using Base64 encoding. + */ + content: string; + /** + * The commit message. + */ + message: string; + owner: string; + path: string; + repo: string; + /** + * **Required if you are updating a file**. The blob SHA of the file being replaced. + */ + sha?: string; +}; +export declare type ReposCreateReleaseParams = { + /** + * Text describing the contents of the tag. + */ + body?: string; + /** + * `true` to create a draft (unpublished) release, `false` to create a published one. + */ + draft?: boolean; + /** + * The name of the release. + */ + name?: string; + owner: string; + /** + * `true` to identify the release as a prerelease. `false` to identify the release as a full release. + */ + prerelease?: boolean; + repo: string; + /** + * The name of the tag. + */ + tag_name: string; + /** + * Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch (usually `master`). + */ + target_commitish?: string; +}; +export declare type ReposCreateStatusParams = { + /** + * A string label to differentiate this status from the status of other systems. + */ + context?: string; + /** + * A short description of the status. + */ + description?: string; + owner: string; + repo: string; + sha: string; + /** + * The state of the status. Can be one of `error`, `failure`, `pending`, or `success`. + */ + state: "error" | "failure" | "pending" | "success"; + /** + * The target URL to associate with this status. This URL will be linked from the GitHub UI to allow users to easily see the source of the status. + * For example, if your continuous integration system is posting build status, you would want to provide the deep link for the build output for this specific SHA: + * `http://ci.example.com/user/repo/build/sha` + */ + target_url?: string; +}; +export declare type ReposCreateUsingTemplateParams = { + /** + * A short description of the new repository. + */ + description?: string; + /** + * The name of the new repository. + */ + name: string; + /** + * The organization or person who will own the new repository. To create a new repository in an organization, the authenticated user must be a member of the specified organization. + */ + owner?: string; + /** + * Either `true` to create a new private repository or `false` to create a new public one. + */ + private?: boolean; + template_owner: string; + template_repo: string; +}; +export declare type ReposDeclineInvitationParams = { + invitation_id: number; +}; +export declare type ReposDeleteParams = { + owner: string; + repo: string; +}; +export declare type ReposDeleteCommitCommentParams = { + comment_id: number; + owner: string; + repo: string; +}; +export declare type ReposDeleteDownloadParams = { + download_id: number; + owner: string; + repo: string; +}; +export declare type ReposDeleteFileParams = { + /** + * object containing information about the author. + */ + author?: ReposDeleteFileParamsAuthor; + /** + * The branch name. Default: the repository’s default branch (usually `master`) + */ + branch?: string; + /** + * object containing information about the committer. + */ + committer?: ReposDeleteFileParamsCommitter; + /** + * The commit message. + */ + message: string; + owner: string; + path: string; + repo: string; + /** + * The blob SHA of the file being replaced. + */ + sha: string; +}; +export declare type ReposDeleteHookParams = { + hook_id: number; + owner: string; + repo: string; +}; +export declare type ReposDeleteInvitationParams = { + invitation_id: number; + owner: string; + repo: string; +}; +export declare type ReposDeleteReleaseParams = { + owner: string; + release_id: number; + repo: string; +}; +export declare type ReposDeleteReleaseAssetParams = { + asset_id: number; + owner: string; + repo: string; +}; +export declare type ReposDisableAutomatedSecurityFixesParams = { + owner: string; + repo: string; +}; +export declare type ReposDisablePagesSiteParams = { + owner: string; + repo: string; +}; +export declare type ReposDisableVulnerabilityAlertsParams = { + owner: string; + repo: string; +}; +export declare type ReposEnableAutomatedSecurityFixesParams = { + owner: string; + repo: string; +}; +export declare type ReposEnablePagesSiteParams = { + owner: string; + repo: string; + source?: ReposEnablePagesSiteParamsSource; +}; +export declare type ReposEnableVulnerabilityAlertsParams = { + owner: string; + repo: string; +}; +export declare type ReposGetParams = { + owner: string; + repo: string; +}; +export declare type ReposGetAppsWithAccessToProtectedBranchParams = { + branch: string; + owner: string; + repo: string; +}; +export declare type ReposGetArchiveLinkParams = { + archive_format: string; + owner: string; + ref: string; + repo: string; +}; +export declare type ReposGetBranchParams = { + branch: string; + owner: string; + repo: string; +}; +export declare type ReposGetBranchProtectionParams = { + branch: string; + owner: string; + repo: string; +}; +export declare type ReposGetClonesParams = { + owner: string; + /** + * Must be one of: `day`, `week`. + */ + per?: "day" | "week"; + repo: string; +}; +export declare type ReposGetCodeFrequencyStatsParams = { + owner: string; + repo: string; +}; +export declare type ReposGetCollaboratorPermissionLevelParams = { + owner: string; + repo: string; + username: string; +}; +export declare type ReposGetCombinedStatusForRefParams = { + owner: string; + ref: string; + repo: string; +}; +export declare type ReposGetCommitParamsDeprecatedSha = { + owner: string; + repo: string; + /** + * @deprecated "sha" parameter renamed to "ref" + */ + sha: string; +}; +export declare type ReposGetCommitParamsDeprecatedCommitSha = { + /** + * @deprecated "commit_sha" parameter renamed to "ref" + */ + commit_sha: string; + owner: string; + repo: string; +}; +export declare type ReposGetCommitParams = { + owner: string; + ref: string; + repo: string; +}; +export declare type ReposGetCommitActivityStatsParams = { + owner: string; + repo: string; +}; +export declare type ReposGetCommitCommentParams = { + comment_id: number; + owner: string; + repo: string; +}; +export declare type ReposGetCommitRefShaParams = { + owner: string; + ref: string; + repo: string; +}; +export declare type ReposGetContentsParams = { + owner: string; + path: string; + /** + * The name of the commit/branch/tag. Default: the repository’s default branch (usually `master`) + */ + ref?: string; + repo: string; +}; +export declare type ReposGetContributorsStatsParams = { + owner: string; + repo: string; +}; +export declare type ReposGetDeployKeyParams = { + key_id: number; + owner: string; + repo: string; +}; +export declare type ReposGetDeploymentParams = { + deployment_id: number; + owner: string; + repo: string; +}; +export declare type ReposGetDeploymentStatusParams = { + deployment_id: number; + owner: string; + repo: string; + status_id: number; +}; +export declare type ReposGetDownloadParams = { + download_id: number; + owner: string; + repo: string; +}; +export declare type ReposGetHookParams = { + hook_id: number; + owner: string; + repo: string; +}; +export declare type ReposGetLatestPagesBuildParams = { + owner: string; + repo: string; +}; +export declare type ReposGetLatestReleaseParams = { + owner: string; + repo: string; +}; +export declare type ReposGetPagesParams = { + owner: string; + repo: string; +}; +export declare type ReposGetPagesBuildParams = { + build_id: number; + owner: string; + repo: string; +}; +export declare type ReposGetParticipationStatsParams = { + owner: string; + repo: string; +}; +export declare type ReposGetProtectedBranchAdminEnforcementParams = { + branch: string; + owner: string; + repo: string; +}; +export declare type ReposGetProtectedBranchPullRequestReviewEnforcementParams = { + branch: string; + owner: string; + repo: string; +}; +export declare type ReposGetProtectedBranchRequiredSignaturesParams = { + branch: string; + owner: string; + repo: string; +}; +export declare type ReposGetProtectedBranchRequiredStatusChecksParams = { + branch: string; + owner: string; + repo: string; +}; +export declare type ReposGetProtectedBranchRestrictionsParams = { + branch: string; + owner: string; + repo: string; +}; +export declare type ReposGetPunchCardStatsParams = { + owner: string; + repo: string; +}; +export declare type ReposGetReadmeParams = { + owner: string; + /** + * The name of the commit/branch/tag. Default: the repository’s default branch (usually `master`) + */ + ref?: string; + repo: string; +}; +export declare type ReposGetReleaseParams = { + owner: string; + release_id: number; + repo: string; +}; +export declare type ReposGetReleaseAssetParams = { + asset_id: number; + owner: string; + repo: string; +}; +export declare type ReposGetReleaseByTagParams = { + owner: string; + repo: string; + tag: string; +}; +export declare type ReposGetTeamsWithAccessToProtectedBranchParams = { + branch: string; + owner: string; + repo: string; +}; +export declare type ReposGetTopPathsParams = { + owner: string; + repo: string; +}; +export declare type ReposGetTopReferrersParams = { + owner: string; + repo: string; +}; +export declare type ReposGetUsersWithAccessToProtectedBranchParams = { + branch: string; + owner: string; + repo: string; +}; +export declare type ReposGetViewsParams = { + owner: string; + /** + * Must be one of: `day`, `week`. + */ + per?: "day" | "week"; + repo: string; +}; +export declare type ReposListParams = { + /** + * Comma-separated list of values. Can include: + * \* `owner`: Repositories that are owned by the authenticated user. + * \* `collaborator`: Repositories that the user has been added to as a collaborator. + * \* `organization_member`: Repositories that the user has access to through being a member of an organization. This includes every repository on every team that the user is on. + */ + affiliation?: string; + /** + * Can be one of `asc` or `desc`. Default: `asc` when using `full_name`, otherwise `desc` + */ + direction?: "asc" | "desc"; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Can be one of `created`, `updated`, `pushed`, `full_name`. + */ + sort?: "created" | "updated" | "pushed" | "full_name"; + /** + * Can be one of `all`, `owner`, `public`, `private`, `member`. Default: `all` + * + * Will cause a `422` error if used in the same request as **visibility** or **affiliation**. Will cause a `422` error if used in the same request as **visibility** or **affiliation**. + */ + type?: "all" | "owner" | "public" | "private" | "member"; + /** + * Can be one of `all`, `public`, or `private`. + */ + visibility?: "all" | "public" | "private"; +}; +export declare type ReposListAppsWithAccessToProtectedBranchParams = { + branch: string; + owner: string; + repo: string; +}; +export declare type ReposListAssetsForReleaseParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + release_id: number; + repo: string; +}; +export declare type ReposListBranchesParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Setting to `true` returns only protected branches. When set to `false`, only unprotected branches are returned. Omitting this parameter returns all branches. + */ + protected?: boolean; + repo: string; +}; +export declare type ReposListBranchesForHeadCommitParams = { + commit_sha: string; + owner: string; + repo: string; +}; +export declare type ReposListCollaboratorsParams = { + /** + * Filter collaborators returned by their affiliation. Can be one of: + * \* `outside`: All outside collaborators of an organization-owned repository. + * \* `direct`: All collaborators with permissions to an organization-owned repository, regardless of organization membership status. + * \* `all`: All collaborators the authenticated user can see. + */ + affiliation?: "outside" | "direct" | "all"; + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type ReposListCommentsForCommitParamsDeprecatedRef = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * @deprecated "ref" parameter renamed to "commit_sha" + */ + ref: string; + repo: string; +}; +export declare type ReposListCommentsForCommitParams = { + commit_sha: string; + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type ReposListCommitCommentsParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type ReposListCommitsParams = { + /** + * GitHub login or email address by which to filter by commit author. + */ + author?: string; + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Only commits containing this file path will be returned. + */ + path?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; + /** + * SHA or branch to start listing commits from. Default: the repository’s default branch (usually `master`). + */ + sha?: string; + /** + * Only commits after this date will be returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; + /** + * Only commits before this date will be returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + until?: string; +}; +export declare type ReposListContributorsParams = { + /** + * Set to `1` or `true` to include anonymous contributors in results. + */ + anon?: string; + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type ReposListDeployKeysParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type ReposListDeploymentStatusesParams = { + deployment_id: number; + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type ReposListDeploymentsParams = { + /** + * The name of the environment that was deployed to (e.g., `staging` or `production`). + */ + environment?: string; + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * The name of the ref. This can be a branch, tag, or SHA. + */ + ref?: string; + repo: string; + /** + * The SHA recorded at creation time. + */ + sha?: string; + /** + * The name of the task for the deployment (e.g., `deploy` or `deploy:migrations`). + */ + task?: string; +}; +export declare type ReposListDownloadsParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type ReposListForOrgParams = { + /** + * Can be one of `asc` or `desc`. Default: when using `full_name`: `asc`, otherwise `desc` + */ + direction?: "asc" | "desc"; + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Can be one of `created`, `updated`, `pushed`, `full_name`. + */ + sort?: "created" | "updated" | "pushed" | "full_name"; + /** + * Specifies the types of repositories you want returned. Can be one of `all`, `public`, `private`, `forks`, `sources`, `member`, `internal`. Default: `all`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud, `type` can also be `internal`. + */ + type?: "all" | "public" | "private" | "forks" | "sources" | "member" | "internal"; +}; +export declare type ReposListForUserParams = { + /** + * Can be one of `asc` or `desc`. Default: `asc` when using `full_name`, otherwise `desc` + */ + direction?: "asc" | "desc"; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Can be one of `created`, `updated`, `pushed`, `full_name`. + */ + sort?: "created" | "updated" | "pushed" | "full_name"; + /** + * Can be one of `all`, `owner`, `member`. + */ + type?: "all" | "owner" | "member"; + username: string; +}; +export declare type ReposListForksParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; + /** + * The sort order. Can be either `newest`, `oldest`, or `stargazers`. + */ + sort?: "newest" | "oldest" | "stargazers"; +}; +export declare type ReposListHooksParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type ReposListInvitationsParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type ReposListInvitationsForAuthenticatedUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type ReposListLanguagesParams = { + owner: string; + repo: string; +}; +export declare type ReposListPagesBuildsParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type ReposListProtectedBranchRequiredStatusChecksContextsParams = { + branch: string; + owner: string; + repo: string; +}; +export declare type ReposListProtectedBranchTeamRestrictionsParams = { + branch: string; + owner: string; + repo: string; +}; +export declare type ReposListProtectedBranchUserRestrictionsParams = { + branch: string; + owner: string; + repo: string; +}; +export declare type ReposListPublicParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * The integer ID of the last repository that you've seen. + */ + since?: number; +}; +export declare type ReposListPullRequestsAssociatedWithCommitParams = { + commit_sha: string; + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type ReposListReleasesParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type ReposListStatusesForRefParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + ref: string; + repo: string; +}; +export declare type ReposListTagsParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type ReposListTeamsParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type ReposListTeamsWithAccessToProtectedBranchParams = { + branch: string; + owner: string; + repo: string; +}; +export declare type ReposListTopicsParams = { + owner: string; + repo: string; +}; +export declare type ReposListUsersWithAccessToProtectedBranchParams = { + branch: string; + owner: string; + repo: string; +}; +export declare type ReposMergeParams = { + /** + * The name of the base branch that the head will be merged into. + */ + base: string; + /** + * Commit message to use for the merge commit. If omitted, a default message will be used. + */ + commit_message?: string; + /** + * The head to merge. This can be a branch name or a commit SHA1. + */ + head: string; + owner: string; + repo: string; +}; +export declare type ReposPingHookParams = { + hook_id: number; + owner: string; + repo: string; +}; +export declare type ReposRemoveBranchProtectionParams = { + branch: string; + owner: string; + repo: string; +}; +export declare type ReposRemoveCollaboratorParams = { + owner: string; + repo: string; + username: string; +}; +export declare type ReposRemoveDeployKeyParams = { + key_id: number; + owner: string; + repo: string; +}; +export declare type ReposRemoveProtectedBranchAdminEnforcementParams = { + branch: string; + owner: string; + repo: string; +}; +export declare type ReposRemoveProtectedBranchAppRestrictionsParams = { + apps: string[]; + branch: string; + owner: string; + repo: string; +}; +export declare type ReposRemoveProtectedBranchPullRequestReviewEnforcementParams = { + branch: string; + owner: string; + repo: string; +}; +export declare type ReposRemoveProtectedBranchRequiredSignaturesParams = { + branch: string; + owner: string; + repo: string; +}; +export declare type ReposRemoveProtectedBranchRequiredStatusChecksParams = { + branch: string; + owner: string; + repo: string; +}; +export declare type ReposRemoveProtectedBranchRequiredStatusChecksContextsParams = { + branch: string; + contexts: string[]; + owner: string; + repo: string; +}; +export declare type ReposRemoveProtectedBranchRestrictionsParams = { + branch: string; + owner: string; + repo: string; +}; +export declare type ReposRemoveProtectedBranchTeamRestrictionsParams = { + branch: string; + owner: string; + repo: string; + teams: string[]; +}; +export declare type ReposRemoveProtectedBranchUserRestrictionsParams = { + branch: string; + owner: string; + repo: string; + users: string[]; +}; +export declare type ReposReplaceProtectedBranchAppRestrictionsParams = { + apps: string[]; + branch: string; + owner: string; + repo: string; +}; +export declare type ReposReplaceProtectedBranchRequiredStatusChecksContextsParams = { + branch: string; + contexts: string[]; + owner: string; + repo: string; +}; +export declare type ReposReplaceProtectedBranchTeamRestrictionsParams = { + branch: string; + owner: string; + repo: string; + teams: string[]; +}; +export declare type ReposReplaceProtectedBranchUserRestrictionsParams = { + branch: string; + owner: string; + repo: string; + users: string[]; +}; +export declare type ReposReplaceTopicsParams = { + /** + * An array of topics to add to the repository. Pass one or more topics to _replace_ the set of existing topics. Send an empty array (`[]`) to clear all topics from the repository. **Note:** Topic `names` cannot contain uppercase letters. + */ + names: string[]; + owner: string; + repo: string; +}; +export declare type ReposRequestPageBuildParams = { + owner: string; + repo: string; +}; +export declare type ReposRetrieveCommunityProfileMetricsParams = { + owner: string; + repo: string; +}; +export declare type ReposTestPushHookParams = { + hook_id: number; + owner: string; + repo: string; +}; +export declare type ReposTransferParams = { + /** + * **Required:** The username or organization name the repository will be transferred to. + */ + new_owner?: string; + owner: string; + repo: string; + /** + * ID of the team or teams to add to the repository. Teams can only be added to organization-owned repositories. + */ + team_ids?: number[]; +}; +export declare type ReposUpdateParams = { + /** + * Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. + */ + allow_merge_commit?: boolean; + /** + * Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. + */ + allow_rebase_merge?: boolean; + /** + * Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. + */ + allow_squash_merge?: boolean; + /** + * `true` to archive this repository. **Note**: You cannot unarchive repositories through the API. + */ + archived?: boolean; + /** + * Updates the default branch for this repository. + */ + default_branch?: string; + /** + * Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. + */ + delete_branch_on_merge?: boolean; + /** + * A short description of the repository. + */ + description?: string; + /** + * Either `true` to enable issues for this repository or `false` to disable them. + */ + has_issues?: boolean; + /** + * Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error. + */ + has_projects?: boolean; + /** + * Either `true` to enable the wiki for this repository or `false` to disable it. + */ + has_wiki?: boolean; + /** + * A URL with more information about the repository. + */ + homepage?: string; + /** + * Either `true` to make this repo available as a template repository or `false` to prevent it. + */ + is_template?: boolean; + /** + * The name of the repository. + */ + name?: string; + owner: string; + /** + * Either `true` to make the repository private or `false` to make it public. Creating private repositories requires a paid GitHub account. Default: `false`. + * **Note**: You will get a `422` error if the organization restricts [changing repository visibility](https://help.github.com/articles/repository-permission-levels-for-an-organization#changing-the-visibility-of-repositories) to organization owners and a non-owner tries to change the value of private. **Note**: You will get a `422` error if the organization restricts [changing repository visibility](https://help.github.com/articles/repository-permission-levels-for-an-organization#changing-the-visibility-of-repositories) to organization owners and a non-owner tries to change the value of private. + */ + private?: boolean; + repo: string; + /** + * Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud, `visibility` can also be `internal`. The `visibility` parameter overrides the `private` parameter when you use both along with the `nebula-preview` preview header. + */ + visibility?: "public" | "private" | "visibility" | "internal"; +}; +export declare type ReposUpdateBranchProtectionParams = { + /** + * Allows deletion of the protected branch by anyone with write access to the repository. Set to `false` to prevent deletion of the protected branch. Default: `false`. For more information, see "[Enabling force pushes to a protected branch](https://help.github.com/en/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)" in the GitHub Help documentation. + */ + allow_deletions?: boolean; + /** + * Permits force pushes to the protected branch by anyone with write access to the repository. Set to `true` to allow force pushes. Set to `false` or `null` to block force pushes. Default: `false`. For more information, see "[Enabling force pushes to a protected branch](https://help.github.com/en/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)" in the GitHub Help documentation." + */ + allow_force_pushes?: boolean | null; + branch: string; + /** + * Enforce all configured restrictions for administrators. Set to `true` to enforce required status checks for repository administrators. Set to `null` to disable. + */ + enforce_admins: boolean | null; + owner: string; + repo: string; + /** + * Enforces a linear commit Git history, which prevents anyone from pushing merge commits to a branch. Set to `true` to enforce a linear commit history. Set to `false` to disable a linear commit Git history. Your repository must allow squash merging or rebase merging before you can enable a linear commit history. Default: `false`. For more information, see "[Requiring a linear commit history](https://help.github.com/github/administering-a-repository/requiring-a-linear-commit-history)" in the GitHub Help documentation. + */ + required_linear_history?: boolean; + /** + * Require at least one approving review on a pull request, before merging. Set to `null` to disable. + */ + required_pull_request_reviews: ReposUpdateBranchProtectionParamsRequiredPullRequestReviews | null; + /** + * Require status checks to pass before merging. Set to `null` to disable. + */ + required_status_checks: ReposUpdateBranchProtectionParamsRequiredStatusChecks | null; + /** + * Restrict who can push to the protected branch. User, app, and team `restrictions` are only available for organization-owned repositories. Set to `null` to disable. + */ + restrictions: ReposUpdateBranchProtectionParamsRestrictions | null; +}; +export declare type ReposUpdateCommitCommentParams = { + /** + * The contents of the comment + */ + body: string; + comment_id: number; + owner: string; + repo: string; +}; +export declare type ReposUpdateFileParams = { + /** + * The author of the file. Default: The `committer` or the authenticated user if you omit `committer`. + */ + author?: ReposUpdateFileParamsAuthor; + /** + * The branch name. Default: the repository’s default branch (usually `master`) + */ + branch?: string; + /** + * The person that committed the file. Default: the authenticated user. + */ + committer?: ReposUpdateFileParamsCommitter; + /** + * The new file content, using Base64 encoding. + */ + content: string; + /** + * The commit message. + */ + message: string; + owner: string; + path: string; + repo: string; + /** + * **Required if you are updating a file**. The blob SHA of the file being replaced. + */ + sha?: string; +}; +export declare type ReposUpdateHookParams = { + /** + * Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + */ + active?: boolean; + /** + * Determines a list of events to be added to the list of events that the Hook triggers for. + */ + add_events?: string[]; + /** + * Key/value pairs to provide settings for this webhook. [These are defined below](https://developer.github.com/v3/repos/hooks/#create-hook-config-params). + */ + config?: ReposUpdateHookParamsConfig; + /** + * Determines what [events](https://developer.github.com/v3/activity/events/types/) the hook is triggered for. This replaces the entire array of events. + */ + events?: string[]; + hook_id: number; + owner: string; + /** + * Determines a list of events to be removed from the list of events that the Hook triggers for. + */ + remove_events?: string[]; + repo: string; +}; +export declare type ReposUpdateInformationAboutPagesSiteParams = { + /** + * Specify a custom domain for the repository. Sending a `null` value will remove the custom domain. For more about custom domains, see "[Using a custom domain with GitHub Pages](https://help.github.com/articles/using-a-custom-domain-with-github-pages/)." + */ + cname?: string; + owner: string; + repo: string; + /** + * Update the source for the repository. Must include the branch name, and may optionally specify the subdirectory `/docs`. Possible values are `"gh-pages"`, `"master"`, and `"master /docs"`. + */ + source?: '"gh-pages"' | '"master"' | '"master /docs"'; +}; +export declare type ReposUpdateInvitationParams = { + invitation_id: number; + owner: string; + /** + * The permissions that the associated user will have on the repository. Valid values are `read`, `write`, and `admin`. + */ + permissions?: "read" | "write" | "admin"; + repo: string; +}; +export declare type ReposUpdateProtectedBranchPullRequestReviewEnforcementParams = { + branch: string; + /** + * Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit. + */ + dismiss_stale_reviews?: boolean; + /** + * Specify which users and teams can dismiss pull request reviews. Pass an empty `dismissal_restrictions` object to disable. User and team `dismissal_restrictions` are only available for organization-owned repositories. Omit this parameter for personal repositories. + */ + dismissal_restrictions?: ReposUpdateProtectedBranchPullRequestReviewEnforcementParamsDismissalRestrictions; + owner: string; + repo: string; + /** + * Blocks merging pull requests until [code owners](https://help.github.com/articles/about-code-owners/) have reviewed. + */ + require_code_owner_reviews?: boolean; + /** + * Specifies the number of reviewers required to approve pull requests. Use a number between 1 and 6. + */ + required_approving_review_count?: number; +}; +export declare type ReposUpdateProtectedBranchRequiredStatusChecksParams = { + branch: string; + /** + * The list of status checks to require in order to merge into this branch + */ + contexts?: string[]; + owner: string; + repo: string; + /** + * Require branches to be up to date before merging. + */ + strict?: boolean; +}; +export declare type ReposUpdateReleaseParams = { + /** + * Text describing the contents of the tag. + */ + body?: string; + /** + * `true` makes the release a draft, and `false` publishes the release. + */ + draft?: boolean; + /** + * The name of the release. + */ + name?: string; + owner: string; + /** + * `true` to identify the release as a prerelease, `false` to identify the release as a full release. + */ + prerelease?: boolean; + release_id: number; + repo: string; + /** + * The name of the tag. + */ + tag_name?: string; + /** + * Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch (usually `master`). + */ + target_commitish?: string; +}; +export declare type ReposUpdateReleaseAssetParams = { + asset_id: number; + /** + * An alternate short description of the asset. Used in place of the filename. + */ + label?: string; + /** + * The file name of the asset. + */ + name?: string; + owner: string; + repo: string; +}; +export declare type ReposUploadReleaseAssetParamsDeprecatedFile = { + /** + * @deprecated "file" parameter renamed to "data" + */ + file: string | object; + headers: ReposUploadReleaseAssetParamsHeaders; + /** + * An alternate short description of the asset. Used in place of the filename. This should be set in a URI query parameter. + */ + label?: string; + /** + * The file name of the asset. This should be set in a URI query parameter. + */ + name: string; + /** + * The `upload_url` key returned from creating or getting a release + */ + url: string; +}; +export declare type ReposUploadReleaseAssetParams = { + data: string | object; + headers: ReposUploadReleaseAssetParamsHeaders; + /** + * An alternate short description of the asset. Used in place of the filename. This should be set in a URI query parameter. + */ + label?: string; + /** + * The file name of the asset. This should be set in a URI query parameter. + */ + name: string; + /** + * The `upload_url` key returned from creating or getting a release + */ + url: string; +}; +export declare type SearchCodeParams = { + /** + * Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. + */ + order?: "desc" | "asc"; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). See "[Searching code](https://help.github.com/articles/searching-code/)" for a detailed list of qualifiers. + */ + q: string; + /** + * Sorts the results of your query. Can only be `indexed`, which indicates how recently a file has been indexed by the GitHub search infrastructure. Default: [best match](https://developer.github.com/v3/search/#ranking-search-results) + */ + sort?: "indexed"; +}; +export declare type SearchCommitsParams = { + /** + * Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. + */ + order?: "desc" | "asc"; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). See "[Searching commits](https://help.github.com/articles/searching-commits/)" for a detailed list of qualifiers. + */ + q: string; + /** + * Sorts the results of your query by `author-date` or `committer-date`. Default: [best match](https://developer.github.com/v3/search/#ranking-search-results) + */ + sort?: "author-date" | "committer-date"; +}; +export declare type SearchEmailLegacyParams = { + /** + * The email address. + */ + email: string; +}; +export declare type SearchIssuesParams = { + /** + * Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. + */ + order?: "desc" | "asc"; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). See "[Searching issues and pull requests](https://help.github.com/articles/searching-issues-and-pull-requests/)" for a detailed list of qualifiers. + */ + q: string; + /** + * Sorts the results of your query by the number of `comments`, `reactions`, `reactions-+1`, `reactions--1`, `reactions-smile`, `reactions-thinking_face`, `reactions-heart`, `reactions-tada`, or `interactions`. You can also sort results by how recently the items were `created` or `updated`, Default: [best match](https://developer.github.com/v3/search/#ranking-search-results) + */ + sort?: "comments" | "reactions" | "reactions-+1" | "reactions--1" | "reactions-smile" | "reactions-thinking_face" | "reactions-heart" | "reactions-tada" | "interactions" | "created" | "updated"; +}; +export declare type SearchIssuesAndPullRequestsParams = { + /** + * Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. + */ + order?: "desc" | "asc"; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). See "[Searching issues and pull requests](https://help.github.com/articles/searching-issues-and-pull-requests/)" for a detailed list of qualifiers. + */ + q: string; + /** + * Sorts the results of your query by the number of `comments`, `reactions`, `reactions-+1`, `reactions--1`, `reactions-smile`, `reactions-thinking_face`, `reactions-heart`, `reactions-tada`, or `interactions`. You can also sort results by how recently the items were `created` or `updated`, Default: [best match](https://developer.github.com/v3/search/#ranking-search-results) + */ + sort?: "comments" | "reactions" | "reactions-+1" | "reactions--1" | "reactions-smile" | "reactions-thinking_face" | "reactions-heart" | "reactions-tada" | "interactions" | "created" | "updated"; +}; +export declare type SearchIssuesLegacyParams = { + /** + * The search term. + */ + keyword: string; + owner: string; + repository: string; + /** + * Indicates the state of the issues to return. Can be either `open` or `closed`. + */ + state: "open" | "closed"; +}; +export declare type SearchLabelsParams = { + /** + * Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. + */ + order?: "desc" | "asc"; + /** + * The search keywords. This endpoint does not accept qualifiers in the query. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). + */ + q: string; + /** + * The id of the repository. + */ + repository_id: number; + /** + * Sorts the results of your query by when the label was `created` or `updated`. Default: [best match](https://developer.github.com/v3/search/#ranking-search-results) + */ + sort?: "created" | "updated"; +}; +export declare type SearchReposParams = { + /** + * Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. + */ + order?: "desc" | "asc"; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). See "[Searching for repositories](https://help.github.com/articles/searching-for-repositories/)" for a detailed list of qualifiers. + */ + q: string; + /** + * Sorts the results of your query by number of `stars`, `forks`, or `help-wanted-issues` or how recently the items were `updated`. Default: [best match](https://developer.github.com/v3/search/#ranking-search-results) + */ + sort?: "stars" | "forks" | "help-wanted-issues" | "updated"; +}; +export declare type SearchReposLegacyParams = { + /** + * The search term. + */ + keyword: string; + /** + * Filter results by language. + */ + language?: string; + /** + * The sort field. if `sort` param is provided. Can be either `asc` or `desc`. + */ + order?: "asc" | "desc"; + /** + * The sort field. One of `stars`, `forks`, or `updated`. Default: results are sorted by best match. + */ + sort?: "stars" | "forks" | "updated"; + /** + * The page number to fetch. + */ + start_page?: string; +}; +export declare type SearchTopicsParams = { + /** + * The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). + */ + q: string; +}; +export declare type SearchUsersParams = { + /** + * Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. + */ + order?: "desc" | "asc"; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). See "[Searching users](https://help.github.com/articles/searching-users/)" for a detailed list of qualifiers. + */ + q: string; + /** + * Sorts the results of your query by number of `followers` or `repositories`, or when the person `joined` GitHub. Default: [best match](https://developer.github.com/v3/search/#ranking-search-results) + */ + sort?: "followers" | "repositories" | "joined"; +}; +export declare type SearchUsersLegacyParams = { + /** + * The search term. + */ + keyword: string; + /** + * The sort field. if `sort` param is provided. Can be either `asc` or `desc`. + */ + order?: "asc" | "desc"; + /** + * The sort field. One of `stars`, `forks`, or `updated`. Default: results are sorted by best match. + */ + sort?: "stars" | "forks" | "updated"; + /** + * The page number to fetch. + */ + start_page?: string; +}; +export declare type TeamsAddMemberParams = { + team_id: number; + username: string; +}; +export declare type TeamsAddMemberLegacyParams = { + team_id: number; + username: string; +}; +export declare type TeamsAddOrUpdateMembershipParams = { + /** + * The role that this user should have in the team. Can be one of: + * \* `member` - a normal member of the team. + * \* `maintainer` - a team maintainer. Able to add/remove other team members, promote other team members to team maintainer, and edit the team's name and description. + */ + role?: "member" | "maintainer"; + team_id: number; + username: string; +}; +export declare type TeamsAddOrUpdateMembershipInOrgParams = { + org: string; + /** + * The role that this user should have in the team. Can be one of: + * \* `member` - a normal member of the team. + * \* `maintainer` - a team maintainer. Able to add/remove other team members, promote other team members to team maintainer, and edit the team's name and description. + */ + role?: "member" | "maintainer"; + team_slug: string; + username: string; +}; +export declare type TeamsAddOrUpdateMembershipLegacyParams = { + /** + * The role that this user should have in the team. Can be one of: + * \* `member` - a normal member of the team. + * \* `maintainer` - a team maintainer. Able to add/remove other team members, promote other team members to team maintainer, and edit the team's name and description. + */ + role?: "member" | "maintainer"; + team_id: number; + username: string; +}; +export declare type TeamsAddOrUpdateProjectParams = { + /** + * The permission to grant to the team for this project. Can be one of: + * \* `read` - team members can read, but not write to or administer this project. + * \* `write` - team members can read and write, but not administer this project. + * \* `admin` - team members can read, write and administer this project. + * Default: the team's `permission` attribute will be used to determine what permission to grant the team on this project. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://developer.github.com/v3/#http-verbs)." + */ + permission?: "read" | "write" | "admin"; + project_id: number; + team_id: number; +}; +export declare type TeamsAddOrUpdateProjectInOrgParams = { + org: string; + /** + * The permission to grant to the team for this project. Can be one of: + * \* `read` - team members can read, but not write to or administer this project. + * \* `write` - team members can read and write, but not administer this project. + * \* `admin` - team members can read, write and administer this project. + * Default: the team's `permission` attribute will be used to determine what permission to grant the team on this project. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://developer.github.com/v3/#http-verbs)." + */ + permission?: "read" | "write" | "admin"; + project_id: number; + team_slug: string; +}; +export declare type TeamsAddOrUpdateProjectLegacyParams = { + /** + * The permission to grant to the team for this project. Can be one of: + * \* `read` - team members can read, but not write to or administer this project. + * \* `write` - team members can read and write, but not administer this project. + * \* `admin` - team members can read, write and administer this project. + * Default: the team's `permission` attribute will be used to determine what permission to grant the team on this project. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://developer.github.com/v3/#http-verbs)." + */ + permission?: "read" | "write" | "admin"; + project_id: number; + team_id: number; +}; +export declare type TeamsAddOrUpdateRepoParams = { + owner: string; + /** + * The permission to grant the team on this repository. Can be one of: + * \* `pull` - team members can pull, but not push to or administer this repository. + * \* `push` - team members can pull and push, but not administer this repository. + * \* `admin` - team members can pull, push and administer this repository. + * + * If no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository. + */ + permission?: "pull" | "push" | "admin"; + repo: string; + team_id: number; +}; +export declare type TeamsAddOrUpdateRepoInOrgParams = { + org: string; + owner: string; + /** + * The permission to grant the team on this repository. Can be one of: + * \* `pull` - team members can pull, but not push to or administer this repository. + * \* `push` - team members can pull and push, but not administer this repository. + * \* `admin` - team members can pull, push and administer this repository. + * + * If no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository. + */ + permission?: "pull" | "push" | "admin"; + repo: string; + team_slug: string; +}; +export declare type TeamsAddOrUpdateRepoLegacyParams = { + owner: string; + /** + * The permission to grant the team on this repository. Can be one of: + * \* `pull` - team members can pull, but not push to or administer this repository. + * \* `push` - team members can pull and push, but not administer this repository. + * \* `admin` - team members can pull, push and administer this repository. + * + * If no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository. + */ + permission?: "pull" | "push" | "admin"; + repo: string; + team_id: number; +}; +export declare type TeamsCheckManagesRepoParams = { + owner: string; + repo: string; + team_id: number; +}; +export declare type TeamsCheckManagesRepoInOrgParams = { + org: string; + owner: string; + repo: string; + team_slug: string; +}; +export declare type TeamsCheckManagesRepoLegacyParams = { + owner: string; + repo: string; + team_id: number; +}; +export declare type TeamsCreateParamsDeprecatedPermission = { + /** + * The description of the team. + */ + description?: string; + /** + * List GitHub IDs for organization members who will become team maintainers. + */ + maintainers?: string[]; + /** + * The name of the team. + */ + name: string; + org: string; + /** + * The ID of a team to set as the parent team. + */ + parent_team_id?: number; + /** + * **Deprecated**. The permission that new repositories will be added to the team with when none is specified. Can be one of: + * \* `pull` - team members can pull, but not push to or administer newly-added repositories. + * \* `push` - team members can pull and push, but not administer newly-added repositories. + * \* `admin` - team members can pull, push and administer newly-added repositories. + * @deprecated "permission" parameter has been deprecated and will be removed in future + */ + permission?: string; + /** + * The level of privacy this team should have. The options are: + * **For a non-nested team:** + * \* `secret` - only visible to organization owners and members of this team. + * \* `closed` - visible to all members of this organization. + * Default: `secret` + * **For a parent or child team:** + * \* `closed` - visible to all members of this organization. + * Default for child team: `closed` + */ + privacy?: "secret" | "closed"; + /** + * The full name (e.g., "organization-name/repository-name") of repositories to add the team to. + */ + repo_names?: string[]; +}; +export declare type TeamsCreateParams = { + /** + * The description of the team. + */ + description?: string; + /** + * List GitHub IDs for organization members who will become team maintainers. + */ + maintainers?: string[]; + /** + * The name of the team. + */ + name: string; + org: string; + /** + * The ID of a team to set as the parent team. + */ + parent_team_id?: number; + /** + * The level of privacy this team should have. The options are: + * **For a non-nested team:** + * \* `secret` - only visible to organization owners and members of this team. + * \* `closed` - visible to all members of this organization. + * Default: `secret` + * **For a parent or child team:** + * \* `closed` - visible to all members of this organization. + * Default for child team: `closed` + */ + privacy?: "secret" | "closed"; + /** + * The full name (e.g., "organization-name/repository-name") of repositories to add the team to. + */ + repo_names?: string[]; +}; +export declare type TeamsCreateDiscussionParams = { + /** + * The discussion post's body text. + */ + body: string; + /** + * Private posts are only visible to team members, organization owners, and team maintainers. Public posts are visible to all members of the organization. Set to `true` to create a private post. + */ + private?: boolean; + team_id: number; + /** + * The discussion post's title. + */ + title: string; +}; +export declare type TeamsCreateDiscussionCommentParams = { + /** + * The discussion comment's body text. + */ + body: string; + discussion_number: number; + team_id: number; +}; +export declare type TeamsCreateDiscussionCommentInOrgParams = { + /** + * The discussion comment's body text. + */ + body: string; + discussion_number: number; + org: string; + team_slug: string; +}; +export declare type TeamsCreateDiscussionCommentLegacyParams = { + /** + * The discussion comment's body text. + */ + body: string; + discussion_number: number; + team_id: number; +}; +export declare type TeamsCreateDiscussionInOrgParams = { + /** + * The discussion post's body text. + */ + body: string; + org: string; + /** + * Private posts are only visible to team members, organization owners, and team maintainers. Public posts are visible to all members of the organization. Set to `true` to create a private post. + */ + private?: boolean; + team_slug: string; + /** + * The discussion post's title. + */ + title: string; +}; +export declare type TeamsCreateDiscussionLegacyParams = { + /** + * The discussion post's body text. + */ + body: string; + /** + * Private posts are only visible to team members, organization owners, and team maintainers. Public posts are visible to all members of the organization. Set to `true` to create a private post. + */ + private?: boolean; + team_id: number; + /** + * The discussion post's title. + */ + title: string; +}; +export declare type TeamsDeleteParams = { + team_id: number; +}; +export declare type TeamsDeleteDiscussionParams = { + discussion_number: number; + team_id: number; +}; +export declare type TeamsDeleteDiscussionCommentParams = { + comment_number: number; + discussion_number: number; + team_id: number; +}; +export declare type TeamsDeleteDiscussionCommentInOrgParams = { + comment_number: number; + discussion_number: number; + org: string; + team_slug: string; +}; +export declare type TeamsDeleteDiscussionCommentLegacyParams = { + comment_number: number; + discussion_number: number; + team_id: number; +}; +export declare type TeamsDeleteDiscussionInOrgParams = { + discussion_number: number; + org: string; + team_slug: string; +}; +export declare type TeamsDeleteDiscussionLegacyParams = { + discussion_number: number; + team_id: number; +}; +export declare type TeamsDeleteInOrgParams = { + org: string; + team_slug: string; +}; +export declare type TeamsDeleteLegacyParams = { + team_id: number; +}; +export declare type TeamsGetParams = { + team_id: number; +}; +export declare type TeamsGetByNameParams = { + org: string; + team_slug: string; +}; +export declare type TeamsGetDiscussionParams = { + discussion_number: number; + team_id: number; +}; +export declare type TeamsGetDiscussionCommentParams = { + comment_number: number; + discussion_number: number; + team_id: number; +}; +export declare type TeamsGetDiscussionCommentInOrgParams = { + comment_number: number; + discussion_number: number; + org: string; + team_slug: string; +}; +export declare type TeamsGetDiscussionCommentLegacyParams = { + comment_number: number; + discussion_number: number; + team_id: number; +}; +export declare type TeamsGetDiscussionInOrgParams = { + discussion_number: number; + org: string; + team_slug: string; +}; +export declare type TeamsGetDiscussionLegacyParams = { + discussion_number: number; + team_id: number; +}; +export declare type TeamsGetLegacyParams = { + team_id: number; +}; +export declare type TeamsGetMemberParams = { + team_id: number; + username: string; +}; +export declare type TeamsGetMemberLegacyParams = { + team_id: number; + username: string; +}; +export declare type TeamsGetMembershipParams = { + team_id: number; + username: string; +}; +export declare type TeamsGetMembershipInOrgParams = { + org: string; + team_slug: string; + username: string; +}; +export declare type TeamsGetMembershipLegacyParams = { + team_id: number; + username: string; +}; +export declare type TeamsListParams = { + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type TeamsListChildParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + team_id: number; +}; +export declare type TeamsListChildInOrgParams = { + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + team_slug: string; +}; +export declare type TeamsListChildLegacyParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + team_id: number; +}; +export declare type TeamsListDiscussionCommentsParams = { + /** + * Sorts the discussion comments by the date they were created. To return the oldest comments first, set to `asc`. Can be one of `asc` or `desc`. + */ + direction?: "asc" | "desc"; + discussion_number: number; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + team_id: number; +}; +export declare type TeamsListDiscussionCommentsInOrgParams = { + /** + * Sorts the discussion comments by the date they were created. To return the oldest comments first, set to `asc`. Can be one of `asc` or `desc`. + */ + direction?: "asc" | "desc"; + discussion_number: number; + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + team_slug: string; +}; +export declare type TeamsListDiscussionCommentsLegacyParams = { + /** + * Sorts the discussion comments by the date they were created. To return the oldest comments first, set to `asc`. Can be one of `asc` or `desc`. + */ + direction?: "asc" | "desc"; + discussion_number: number; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + team_id: number; +}; +export declare type TeamsListDiscussionsParams = { + /** + * Sorts the discussion comments by the date they were created. To return the oldest comments first, set to `asc`. Can be one of `asc` or `desc`. + */ + direction?: "asc" | "desc"; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + team_id: number; +}; +export declare type TeamsListDiscussionsInOrgParams = { + /** + * Sorts the discussion comments by the date they were created. To return the oldest comments first, set to `asc`. Can be one of `asc` or `desc`. + */ + direction?: "asc" | "desc"; + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + team_slug: string; +}; +export declare type TeamsListDiscussionsLegacyParams = { + /** + * Sorts the discussion comments by the date they were created. To return the oldest comments first, set to `asc`. Can be one of `asc` or `desc`. + */ + direction?: "asc" | "desc"; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + team_id: number; +}; +export declare type TeamsListForAuthenticatedUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type TeamsListMembersParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Filters members returned by their role in the team. Can be one of: + * \* `member` - normal members of the team. + * \* `maintainer` - team maintainers. + * \* `all` - all members of the team. + */ + role?: "member" | "maintainer" | "all"; + team_id: number; +}; +export declare type TeamsListMembersInOrgParams = { + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Filters members returned by their role in the team. Can be one of: + * \* `member` - normal members of the team. + * \* `maintainer` - team maintainers. + * \* `all` - all members of the team. + */ + role?: "member" | "maintainer" | "all"; + team_slug: string; +}; +export declare type TeamsListMembersLegacyParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Filters members returned by their role in the team. Can be one of: + * \* `member` - normal members of the team. + * \* `maintainer` - team maintainers. + * \* `all` - all members of the team. + */ + role?: "member" | "maintainer" | "all"; + team_id: number; +}; +export declare type TeamsListPendingInvitationsParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + team_id: number; +}; +export declare type TeamsListPendingInvitationsInOrgParams = { + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + team_slug: string; +}; +export declare type TeamsListPendingInvitationsLegacyParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + team_id: number; +}; +export declare type TeamsListProjectsParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + team_id: number; +}; +export declare type TeamsListProjectsInOrgParams = { + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + team_slug: string; +}; +export declare type TeamsListProjectsLegacyParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + team_id: number; +}; +export declare type TeamsListReposParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + team_id: number; +}; +export declare type TeamsListReposInOrgParams = { + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + team_slug: string; +}; +export declare type TeamsListReposLegacyParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + team_id: number; +}; +export declare type TeamsRemoveMemberParams = { + team_id: number; + username: string; +}; +export declare type TeamsRemoveMemberLegacyParams = { + team_id: number; + username: string; +}; +export declare type TeamsRemoveMembershipParams = { + team_id: number; + username: string; +}; +export declare type TeamsRemoveMembershipInOrgParams = { + org: string; + team_slug: string; + username: string; +}; +export declare type TeamsRemoveMembershipLegacyParams = { + team_id: number; + username: string; +}; +export declare type TeamsRemoveProjectParams = { + project_id: number; + team_id: number; +}; +export declare type TeamsRemoveProjectInOrgParams = { + org: string; + project_id: number; + team_slug: string; +}; +export declare type TeamsRemoveProjectLegacyParams = { + project_id: number; + team_id: number; +}; +export declare type TeamsRemoveRepoParams = { + owner: string; + repo: string; + team_id: number; +}; +export declare type TeamsRemoveRepoInOrgParams = { + org: string; + owner: string; + repo: string; + team_slug: string; +}; +export declare type TeamsRemoveRepoLegacyParams = { + owner: string; + repo: string; + team_id: number; +}; +export declare type TeamsReviewProjectParams = { + project_id: number; + team_id: number; +}; +export declare type TeamsReviewProjectInOrgParams = { + org: string; + project_id: number; + team_slug: string; +}; +export declare type TeamsReviewProjectLegacyParams = { + project_id: number; + team_id: number; +}; +export declare type TeamsUpdateParamsDeprecatedPermission = { + /** + * The description of the team. + */ + description?: string; + /** + * The name of the team. + */ + name: string; + /** + * The ID of a team to set as the parent team. + */ + parent_team_id?: number; + /** + * **Deprecated**. The permission that new repositories will be added to the team with when none is specified. Can be one of: + * \* `pull` - team members can pull, but not push to or administer newly-added repositories. + * \* `push` - team members can pull and push, but not administer newly-added repositories. + * \* `admin` - team members can pull, push and administer newly-added repositories. + * @deprecated "permission" parameter has been deprecated and will be removed in future + */ + permission?: string; + /** + * The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. The options are: + * **For a non-nested team:** + * \* `secret` - only visible to organization owners and members of this team. + * \* `closed` - visible to all members of this organization. + * **For a parent or child team:** + * \* `closed` - visible to all members of this organization. + */ + privacy?: "secret" | "closed"; + team_id: number; +}; +export declare type TeamsUpdateParams = { + /** + * The description of the team. + */ + description?: string; + /** + * The name of the team. + */ + name: string; + /** + * The ID of a team to set as the parent team. + */ + parent_team_id?: number; + /** + * The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. The options are: + * **For a non-nested team:** + * \* `secret` - only visible to organization owners and members of this team. + * \* `closed` - visible to all members of this organization. + * **For a parent or child team:** + * \* `closed` - visible to all members of this organization. + */ + privacy?: "secret" | "closed"; + team_id: number; +}; +export declare type TeamsUpdateDiscussionParams = { + /** + * The discussion post's body text. + */ + body?: string; + discussion_number: number; + team_id: number; + /** + * The discussion post's title. + */ + title?: string; +}; +export declare type TeamsUpdateDiscussionCommentParams = { + /** + * The discussion comment's body text. + */ + body: string; + comment_number: number; + discussion_number: number; + team_id: number; +}; +export declare type TeamsUpdateDiscussionCommentInOrgParams = { + /** + * The discussion comment's body text. + */ + body: string; + comment_number: number; + discussion_number: number; + org: string; + team_slug: string; +}; +export declare type TeamsUpdateDiscussionCommentLegacyParams = { + /** + * The discussion comment's body text. + */ + body: string; + comment_number: number; + discussion_number: number; + team_id: number; +}; +export declare type TeamsUpdateDiscussionInOrgParams = { + /** + * The discussion post's body text. + */ + body?: string; + discussion_number: number; + org: string; + team_slug: string; + /** + * The discussion post's title. + */ + title?: string; +}; +export declare type TeamsUpdateDiscussionLegacyParams = { + /** + * The discussion post's body text. + */ + body?: string; + discussion_number: number; + team_id: number; + /** + * The discussion post's title. + */ + title?: string; +}; +export declare type TeamsUpdateInOrgParamsDeprecatedPermission = { + /** + * The description of the team. + */ + description?: string; + /** + * The name of the team. + */ + name: string; + org: string; + /** + * The ID of a team to set as the parent team. + */ + parent_team_id?: number; + /** + * **Deprecated**. The permission that new repositories will be added to the team with when none is specified. Can be one of: + * \* `pull` - team members can pull, but not push to or administer newly-added repositories. + * \* `push` - team members can pull and push, but not administer newly-added repositories. + * \* `admin` - team members can pull, push and administer newly-added repositories. + * @deprecated "permission" parameter has been deprecated and will be removed in future + */ + permission?: string; + /** + * The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. When a team is nested, the `privacy` for parent teams cannot be `secret`. The options are: + * **For a non-nested team:** + * \* `secret` - only visible to organization owners and members of this team. + * \* `closed` - visible to all members of this organization. + * **For a parent or child team:** + * \* `closed` - visible to all members of this organization. + */ + privacy?: "secret" | "closed"; + team_slug: string; +}; +export declare type TeamsUpdateInOrgParams = { + /** + * The description of the team. + */ + description?: string; + /** + * The name of the team. + */ + name: string; + org: string; + /** + * The ID of a team to set as the parent team. + */ + parent_team_id?: number; + /** + * The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. When a team is nested, the `privacy` for parent teams cannot be `secret`. The options are: + * **For a non-nested team:** + * \* `secret` - only visible to organization owners and members of this team. + * \* `closed` - visible to all members of this organization. + * **For a parent or child team:** + * \* `closed` - visible to all members of this organization. + */ + privacy?: "secret" | "closed"; + team_slug: string; +}; +export declare type TeamsUpdateLegacyParamsDeprecatedPermission = { + /** + * The description of the team. + */ + description?: string; + /** + * The name of the team. + */ + name: string; + /** + * The ID of a team to set as the parent team. + */ + parent_team_id?: number; + /** + * **Deprecated**. The permission that new repositories will be added to the team with when none is specified. Can be one of: + * \* `pull` - team members can pull, but not push to or administer newly-added repositories. + * \* `push` - team members can pull and push, but not administer newly-added repositories. + * \* `admin` - team members can pull, push and administer newly-added repositories. + * @deprecated "permission" parameter has been deprecated and will be removed in future + */ + permission?: string; + /** + * The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. The options are: + * **For a non-nested team:** + * \* `secret` - only visible to organization owners and members of this team. + * \* `closed` - visible to all members of this organization. + * **For a parent or child team:** + * \* `closed` - visible to all members of this organization. + */ + privacy?: "secret" | "closed"; + team_id: number; +}; +export declare type TeamsUpdateLegacyParams = { + /** + * The description of the team. + */ + description?: string; + /** + * The name of the team. + */ + name: string; + /** + * The ID of a team to set as the parent team. + */ + parent_team_id?: number; + /** + * The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. The options are: + * **For a non-nested team:** + * \* `secret` - only visible to organization owners and members of this team. + * \* `closed` - visible to all members of this organization. + * **For a parent or child team:** + * \* `closed` - visible to all members of this organization. + */ + privacy?: "secret" | "closed"; + team_id: number; +}; +export declare type UsersAddEmailsParams = { + /** + * Adds one or more email addresses to your GitHub account. Must contain at least one email address. **Note:** Alternatively, you can pass a single email address or an `array` of emails addresses directly, but we recommend that you pass an object using the `emails` key. + */ + emails: string[]; +}; +export declare type UsersBlockParams = { + username: string; +}; +export declare type UsersCheckBlockedParams = { + username: string; +}; +export declare type UsersCheckFollowingParams = { + username: string; +}; +export declare type UsersCheckFollowingForUserParams = { + target_user: string; + username: string; +}; +export declare type UsersCreateGpgKeyParams = { + /** + * Your GPG key, generated in ASCII-armored format. See "[Generating a new GPG key](https://help.github.com/articles/generating-a-new-gpg-key/)" for help creating a GPG key. + */ + armored_public_key?: string; +}; +export declare type UsersCreatePublicKeyParams = { + /** + * The public SSH key to add to your GitHub account. See "[Generating a new SSH key](https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/)" for guidance on how to create a public SSH key. + */ + key?: string; + /** + * A descriptive name for the new key. Use a name that will help you recognize this key in your GitHub account. For example, if you're using a personal Mac, you might call this key "Personal MacBook Air". + */ + title?: string; +}; +export declare type UsersDeleteEmailsParams = { + /** + * Deletes one or more email addresses from your GitHub account. Must contain at least one email address. **Note:** Alternatively, you can pass a single email address or an `array` of emails addresses directly, but we recommend that you pass an object using the `emails` key. + */ + emails: string[]; +}; +export declare type UsersDeleteGpgKeyParams = { + gpg_key_id: number; +}; +export declare type UsersDeletePublicKeyParams = { + key_id: number; +}; +export declare type UsersFollowParams = { + username: string; +}; +export declare type UsersGetByUsernameParams = { + username: string; +}; +export declare type UsersGetContextForUserParams = { + /** + * Uses the ID for the `subject_type` you specified. **Required** when using `subject_type`. + */ + subject_id?: string; + /** + * Identifies which additional information you'd like to receive about the person's hovercard. Can be `organization`, `repository`, `issue`, `pull_request`. **Required** when using `subject_id`. + */ + subject_type?: "organization" | "repository" | "issue" | "pull_request"; + username: string; +}; +export declare type UsersGetGpgKeyParams = { + gpg_key_id: number; +}; +export declare type UsersGetPublicKeyParams = { + key_id: number; +}; +export declare type UsersListParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * The integer ID of the last User that you've seen. + */ + since?: string; +}; +export declare type UsersListEmailsParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type UsersListFollowersForAuthenticatedUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type UsersListFollowersForUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + username: string; +}; +export declare type UsersListFollowingForAuthenticatedUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type UsersListFollowingForUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + username: string; +}; +export declare type UsersListGpgKeysParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type UsersListGpgKeysForUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + username: string; +}; +export declare type UsersListPublicEmailsParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type UsersListPublicKeysParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type UsersListPublicKeysForUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + username: string; +}; +export declare type UsersTogglePrimaryEmailVisibilityParams = { + /** + * Specify the _primary_ email address that needs a visibility change. + */ + email: string; + /** + * Use `public` to enable an authenticated user to view the specified email address, or use `private` so this primary email address cannot be seen publicly. + */ + visibility: string; +}; +export declare type UsersUnblockParams = { + username: string; +}; +export declare type UsersUnfollowParams = { + username: string; +}; +export declare type UsersUpdateAuthenticatedParams = { + /** + * The new short biography of the user. + */ + bio?: string; + /** + * The new blog URL of the user. + */ + blog?: string; + /** + * The new company of the user. + */ + company?: string; + /** + * The publicly visible email address of the user. + */ + email?: string; + /** + * The new hiring availability of the user. + */ + hireable?: boolean; + /** + * The new location of the user. + */ + location?: string; + /** + * The new name of the user. + */ + name?: string; +}; +export declare type AppsCreateInstallationTokenParamsPermissions = {}; +export declare type ChecksCreateParamsActions = { + /** + * A short explanation of what this action would do. The maximum size is 40 characters. + */ + description: string; + /** + * A reference for the action on the integrator's system. The maximum size is 20 characters. + */ + identifier: string; + /** + * The text to be displayed on a button in the web UI. The maximum size is 20 characters. + */ + label: string; +}; +export declare type ChecksCreateParamsOutput = { + /** + * Adds information from your analysis to specific lines of code. Annotations are visible on GitHub in the **Checks** and **Files changed** tab of the pull request. The Checks API limits the number of annotations to a maximum of 50 per API request. To create more than 50 annotations, you have to make multiple requests to the [Update a check run](https://developer.github.com/v3/checks/runs/#update-a-check-run) endpoint. Each time you update the check run, annotations are appended to the list of annotations that already exist for the check run. For details about how you can view annotations on GitHub, see "[About status checks](https://help.github.com/articles/about-status-checks#checks)". See the [`annotations` object](https://developer.github.com/v3/checks/runs/#annotations-object) description for details about how to use this parameter. + */ + annotations?: ChecksCreateParamsOutputAnnotations[]; + /** + * Adds images to the output displayed in the GitHub pull request UI. See the [`images` object](https://developer.github.com/v3/checks/runs/#images-object) description for details. + */ + images?: ChecksCreateParamsOutputImages[]; + /** + * The summary of the check run. This parameter supports Markdown. + */ + summary: string; + /** + * The details of the check run. This parameter supports Markdown. + */ + text?: string; + /** + * The title of the check run. + */ + title: string; +}; +export declare type ChecksCreateParamsOutputAnnotations = { + /** + * The level of the annotation. Can be one of `notice`, `warning`, or `failure`. + */ + annotation_level: "notice" | "warning" | "failure"; + /** + * The end column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. + */ + end_column?: number; + /** + * The end line of the annotation. + */ + end_line: number; + /** + * A short description of the feedback for these lines of code. The maximum size is 64 KB. + */ + message: string; + /** + * The path of the file to add an annotation to. For example, `assets/css/main.css`. + */ + path: string; + /** + * Details about this annotation. The maximum size is 64 KB. + */ + raw_details?: string; + /** + * The start column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. + */ + start_column?: number; + /** + * The start line of the annotation. + */ + start_line: number; + /** + * The title that represents the annotation. The maximum size is 255 characters. + */ + title?: string; +}; +export declare type ChecksCreateParamsOutputImages = { + /** + * The alternative text for the image. + */ + alt: string; + /** + * A short image description. + */ + caption?: string; + /** + * The full URL of the image. + */ + image_url: string; +}; +export declare type ChecksSetSuitesPreferencesParamsAutoTriggerChecks = { + /** + * The `id` of the GitHub App. + */ + app_id: number; + /** + * Set to `true` to enable automatic creation of CheckSuite events upon pushes to the repository, or `false` to disable them. + */ + setting: boolean; +}; +export declare type ChecksUpdateParamsActions = { + /** + * A short explanation of what this action would do. The maximum size is 40 characters. + */ + description: string; + /** + * A reference for the action on the integrator's system. The maximum size is 20 characters. + */ + identifier: string; + /** + * The text to be displayed on a button in the web UI. The maximum size is 20 characters. + */ + label: string; +}; +export declare type ChecksUpdateParamsOutput = { + /** + * Adds information from your analysis to specific lines of code. Annotations are visible in GitHub's pull request UI. Annotations are visible in GitHub's pull request UI. The Checks API limits the number of annotations to a maximum of 50 per API request. To create more than 50 annotations, you have to make multiple requests to the [Update a check run](https://developer.github.com/v3/checks/runs/#update-a-check-run) endpoint. Each time you update the check run, annotations are appended to the list of annotations that already exist for the check run. For details about annotations in the UI, see "[About status checks](https://help.github.com/articles/about-status-checks#checks)". See the [`annotations` object](https://developer.github.com/v3/checks/runs/#annotations-object-1) description for details. + */ + annotations?: ChecksUpdateParamsOutputAnnotations[]; + /** + * Adds images to the output displayed in the GitHub pull request UI. See the [`images` object](https://developer.github.com/v3/checks/runs/#annotations-object-1) description for details. + */ + images?: ChecksUpdateParamsOutputImages[]; + /** + * Can contain Markdown. + */ + summary: string; + /** + * Can contain Markdown. + */ + text?: string; + /** + * **Required**. + */ + title?: string; +}; +export declare type ChecksUpdateParamsOutputAnnotations = { + /** + * The level of the annotation. Can be one of `notice`, `warning`, or `failure`. + */ + annotation_level: "notice" | "warning" | "failure"; + /** + * The end column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. + */ + end_column?: number; + /** + * The end line of the annotation. + */ + end_line: number; + /** + * A short description of the feedback for these lines of code. The maximum size is 64 KB. + */ + message: string; + /** + * The path of the file to add an annotation to. For example, `assets/css/main.css`. + */ + path: string; + /** + * Details about this annotation. The maximum size is 64 KB. + */ + raw_details?: string; + /** + * The start column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. + */ + start_column?: number; + /** + * The start line of the annotation. + */ + start_line: number; + /** + * The title that represents the annotation. The maximum size is 255 characters. + */ + title?: string; +}; +export declare type ChecksUpdateParamsOutputImages = { + /** + * The alternative text for the image. + */ + alt: string; + /** + * A short image description. + */ + caption?: string; + /** + * The full URL of the image. + */ + image_url: string; +}; +export declare type GistsCreateParamsFiles = { + /** + * The content of the file. + */ + content?: string; +}; +export declare type GistsUpdateParamsFiles = { + /** + * The updated content of the file. + */ + content?: string; + /** + * The new name for this file. To delete a file, set the value of the filename to `null`. + */ + filename?: string; +}; +export declare type GitCreateCommitParamsAuthor = { + /** + * Indicates when this commit was authored (or committed). This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + date?: string; + /** + * The email of the author (or committer) of the commit + */ + email?: string; + /** + * The name of the author (or committer) of the commit + */ + name?: string; +}; +export declare type GitCreateCommitParamsCommitter = { + /** + * Indicates when this commit was authored (or committed). This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + date?: string; + /** + * The email of the author (or committer) of the commit + */ + email?: string; + /** + * The name of the author (or committer) of the commit + */ + name?: string; +}; +export declare type GitCreateTagParamsTagger = { + /** + * When this object was tagged. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + date?: string; + /** + * The email of the author of the tag + */ + email?: string; + /** + * The name of the author of the tag + */ + name?: string; +}; +export declare type GitCreateTreeParamsTree = { + /** + * The content you want this file to have. GitHub will write this blob out and use that SHA for this entry. Use either this, or `tree.sha`. + * + * **Note:** Use either `tree.sha` or `content` to specify the contents of the entry. Using both `tree.sha` and `content` will return an error. + */ + content?: string; + /** + * The file mode; one of `100644` for file (blob), `100755` for executable (blob), `040000` for subdirectory (tree), `160000` for submodule (commit), or `120000` for a blob that specifies the path of a symlink. + */ + mode?: "100644" | "100755" | "040000" | "160000" | "120000"; + /** + * The file referenced in the tree. + */ + path?: string; + /** + * The SHA1 checksum ID of the object in the tree. Also called `tree.sha`. If the value is `null` then the file will be deleted. + * + * **Note:** Use either `tree.sha` or `content` to specify the contents of the entry. Using both `tree.sha` and `content` will return an error. + */ + sha?: string | null; + /** + * Either `blob`, `tree`, or `commit`. + */ + type?: "blob" | "tree" | "commit"; +}; +export declare type OrgsCreateHookParamsConfig = { + /** + * The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`. + */ + content_type?: string; + /** + * Determines whether the SSL certificate of the host for `url` will be verified when delivering payloads. Supported values include `0` (verification is performed) and `1` (verification is not performed). The default is `0`. **We strongly recommend not setting this to `1` as you are subject to man-in-the-middle and other attacks.** + */ + insecure_ssl?: string; + /** + * If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value in the [`X-Hub-Signature`](https://developer.github.com/webhooks/#delivery-headers) header. + */ + secret?: string; + /** + * The URL to which the payloads will be delivered. + */ + url: string; +}; +export declare type OrgsUpdateHookParamsConfig = { + /** + * The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`. + */ + content_type?: string; + /** + * Determines whether the SSL certificate of the host for `url` will be verified when delivering payloads. Supported values include `0` (verification is performed) and `1` (verification is not performed). The default is `0`. **We strongly recommend not setting this to `1` as you are subject to man-in-the-middle and other attacks.** + */ + insecure_ssl?: string; + /** + * If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value in the [`X-Hub-Signature`](https://developer.github.com/webhooks/#delivery-headers) header. + */ + secret?: string; + /** + * The URL to which the payloads will be delivered. + */ + url: string; +}; +export declare type PullsCreateReviewParamsComments = { + /** + * Text of the review comment. + */ + body: string; + /** + * The relative path to the file that necessitates a review comment. + */ + path: string; + /** + * The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note below. + */ + position: number; +}; +export declare type ReposCreateDispatchEventParamsClientPayload = {}; +export declare type ReposCreateFileParamsAuthor = { + /** + * The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted. + */ + email: string; + /** + * The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted. + */ + name: string; +}; +export declare type ReposCreateFileParamsCommitter = { + /** + * The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted. + */ + email: string; + /** + * The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted. + */ + name: string; +}; +export declare type ReposCreateHookParamsConfig = { + /** + * The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`. + */ + content_type?: string; + /** + * Determines whether the SSL certificate of the host for `url` will be verified when delivering payloads. Supported values include `0` (verification is performed) and `1` (verification is not performed). The default is `0`. **We strongly recommend not setting this to `1` as you are subject to man-in-the-middle and other attacks.** + */ + insecure_ssl?: string; + /** + * If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value in the [`X-Hub-Signature`](https://developer.github.com/webhooks/#delivery-headers) header. + */ + secret?: string; + /** + * The URL to which the payloads will be delivered. + */ + url: string; +}; +export declare type ReposCreateOrUpdateFileParamsAuthor = { + /** + * The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted. + */ + email: string; + /** + * The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted. + */ + name: string; +}; +export declare type ReposCreateOrUpdateFileParamsCommitter = { + /** + * The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted. + */ + email: string; + /** + * The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted. + */ + name: string; +}; +export declare type ReposDeleteFileParamsAuthor = { + /** + * The email of the author (or committer) of the commit + */ + email?: string; + /** + * The name of the author (or committer) of the commit + */ + name?: string; +}; +export declare type ReposDeleteFileParamsCommitter = { + /** + * The email of the author (or committer) of the commit + */ + email?: string; + /** + * The name of the author (or committer) of the commit + */ + name?: string; +}; +export declare type ReposEnablePagesSiteParamsSource = { + /** + * The repository branch used to publish your [site's source files](https://help.github.com/articles/configuring-a-publishing-source-for-github-pages/). Can be either `master` or `gh-pages`. + */ + branch?: "master" | "gh-pages"; + /** + * The repository directory that includes the source files for the Pages site. When `branch` is `master`, you can change `path` to `/docs`. When `branch` is `gh-pages`, you are unable to specify a `path` other than `/`. + */ + path?: string; +}; +export declare type ReposUpdateBranchProtectionParamsRequiredPullRequestReviews = { + /** + * Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit. + */ + dismiss_stale_reviews?: boolean; + /** + * Specify which users and teams can dismiss pull request reviews. Pass an empty `dismissal_restrictions` object to disable. User and team `dismissal_restrictions` are only available for organization-owned repositories. Omit this parameter for personal repositories. + */ + dismissal_restrictions?: ReposUpdateBranchProtectionParamsRequiredPullRequestReviewsDismissalRestrictions; + /** + * Blocks merging pull requests until [code owners](https://help.github.com/articles/about-code-owners/) review them. + */ + require_code_owner_reviews?: boolean; + /** + * Specify the number of reviewers required to approve pull requests. Use a number between 1 and 6. + */ + required_approving_review_count?: number; +}; +export declare type ReposUpdateBranchProtectionParamsRequiredPullRequestReviewsDismissalRestrictions = { + /** + * The list of team `slug`s with dismissal access + */ + teams?: string[]; + /** + * The list of user `login`s with dismissal access + */ + users?: string[]; +}; +export declare type ReposUpdateBranchProtectionParamsRequiredStatusChecks = { + /** + * The list of status checks to require in order to merge into this branch + */ + contexts: string[]; + /** + * Require branches to be up to date before merging. + */ + strict: boolean; +}; +export declare type ReposUpdateBranchProtectionParamsRestrictions = { + /** + * The list of app `slug`s with push access + */ + apps?: string[]; + /** + * The list of team `slug`s with push access + */ + teams: string[]; + /** + * The list of user `login`s with push access + */ + users: string[]; +}; +export declare type ReposUpdateFileParamsAuthor = { + /** + * The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted. + */ + email: string; + /** + * The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted. + */ + name: string; +}; +export declare type ReposUpdateFileParamsCommitter = { + /** + * The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted. + */ + email: string; + /** + * The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted. + */ + name: string; +}; +export declare type ReposUpdateHookParamsConfig = { + /** + * The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`. + */ + content_type?: string; + /** + * Determines whether the SSL certificate of the host for `url` will be verified when delivering payloads. Supported values include `0` (verification is performed) and `1` (verification is not performed). The default is `0`. **We strongly recommend not setting this to `1` as you are subject to man-in-the-middle and other attacks.** + */ + insecure_ssl?: string; + /** + * If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value in the [`X-Hub-Signature`](https://developer.github.com/webhooks/#delivery-headers) header. + */ + secret?: string; + /** + * The URL to which the payloads will be delivered. + */ + url: string; +}; +export declare type ReposUpdateProtectedBranchPullRequestReviewEnforcementParamsDismissalRestrictions = { + /** + * The list of team `slug`s with dismissal access + */ + teams?: string[]; + /** + * The list of user `login`s with dismissal access + */ + users?: string[]; +}; +export declare type ReposUploadReleaseAssetParamsHeaders = { + "content-length": number; + "content-type": string; +}; +export declare type RestEndpointMethods = { + actions: { + /** + * Cancels a workflow run using its `id`. Anyone with write access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. + */ + cancelWorkflowRun: { + (params?: RequestParameters & ActionsCancelWorkflowRunParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Creates or updates a secret with an encrypted value. Encrypt your secret using [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). Anyone with write access to the repository can use this endpoint. GitHub Apps must have the `secrets` permission to use this endpoint. + * + * Encrypt your secret using the [tweetsodium](https://github.com/mastahyeti/tweetsodium) library. + * + * + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/stable/public/#nacl-public-sealedbox) with Python 3. + * + * + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + */ + createOrUpdateSecretForRepo: { + (params?: RequestParameters & ActionsCreateOrUpdateSecretForRepoParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Returns a token that you can pass to the `config` script. The token expires after one hour. Anyone with admin access to the repository can use this endpoint. GitHub Apps must have the `administration` permission to use this endpoint. + * + * Configure your self-hosted runner, replacing TOKEN with the registration token provided by this endpoint. + */ + createRegistrationToken: { + (params?: RequestParameters & ActionsCreateRegistrationTokenParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Returns a token that you can pass to remove a self-hosted runner from a repository. The token expires after one hour. Anyone with admin access to the repository can use this endpoint. GitHub Apps must have the `administration` permission to use this endpoint. + * + * Remove your self-hosted runner from a repository, replacing TOKEN with the remove token provided by this endpoint. + */ + createRemoveToken: { + (params?: RequestParameters & ActionsCreateRemoveTokenParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Deletes an artifact for a workflow run. Anyone with write access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. + */ + deleteArtifact: { + (params?: RequestParameters & ActionsDeleteArtifactParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Deletes a secret in a repository using the secret name. Anyone with write access to the repository can use this endpoint. GitHub Apps must have the `secrets` permission to use this endpoint. + */ + deleteSecretFromRepo: { + (params?: RequestParameters & ActionsDeleteSecretFromRepoParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Gets a redirect URL to download an archive for a repository. This URL expires after 1 minute. Look for `Location:` in the response header to find the URL for the download. The `:archive_format` must be `zip`. Anyone with read access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. + * + * Call this endpoint using the `-v` flag, which enables verbose output and allows you to see the download URL in the header. To download the file into the current working directory, specify the filename using the `-o` flag. + */ + downloadArtifact: { + (params?: RequestParameters & ActionsDownloadArtifactParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Gets a specific artifact for a workflow run. Anyone with read access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. + */ + getArtifact: { + (params?: RequestParameters & ActionsGetArtifactParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Gets your public key, which you must store. You need your public key to use other secrets endpoints. Use the returned `key` to encrypt your secrets. Anyone with read access to the repository can use this endpoint. GitHub Apps must have the `secrets` permission to use this endpoint. + */ + getPublicKey: { + (params?: RequestParameters & ActionsGetPublicKeyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Gets a single secret without revealing its encrypted value. Anyone with write access to the repository can use this endpoint. GitHub Apps must have the `secrets` permission to use this endpoint. + */ + getSecret: { + (params?: RequestParameters & ActionsGetSecretParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Gets a specific self-hosted runner. Anyone with admin access to the repository can use this endpoint. GitHub Apps must have the `administration` permission to use this endpoint. + */ + getSelfHostedRunner: { + (params?: RequestParameters & ActionsGetSelfHostedRunnerParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Gets a specific workflow. You can also replace `:workflow_id` with `:workflow_file_name`. For example, you could use `main.yml`. Anyone with read access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. + */ + getWorkflow: { + (params?: RequestParameters & ActionsGetWorkflowParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Gets a specific job in a workflow run. Anyone with read access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. + */ + getWorkflowJob: { + (params?: RequestParameters & ActionsGetWorkflowJobParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Gets a specific workflow run. Anyone with read access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. + */ + getWorkflowRun: { + (params?: RequestParameters & ActionsGetWorkflowRunParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Lists binaries for the self-hosted runner application that you can download and run. Anyone with admin access to the repository can use this endpoint. GitHub Apps must have the `administration` permission to use this endpoint. + */ + listDownloadsForSelfHostedRunnerApplication: { + (params?: RequestParameters & ActionsListDownloadsForSelfHostedRunnerApplicationParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Lists jobs for a workflow run. Anyone with read access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. + */ + listJobsForWorkflowRun: { + (params?: RequestParameters & ActionsListJobsForWorkflowRunParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Lists all workflow runs for a repository. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://developer.github.com/v3/#parameters). + * + * Anyone with read access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. + */ + listRepoWorkflowRuns: { + (params?: RequestParameters & ActionsListRepoWorkflowRunsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Lists the workflows in a repository. Anyone with read access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. + */ + listRepoWorkflows: { + (params?: RequestParameters & ActionsListRepoWorkflowsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Lists all secrets available in a repository without revealing their encrypted values. Anyone with write access to the repository can use this endpoint. GitHub Apps must have the `secrets` permission to use this endpoint. + */ + listSecretsForRepo: { + (params?: RequestParameters & ActionsListSecretsForRepoParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Lists all self-hosted runners for a repository. Anyone with admin access to the repository can use this endpoint. GitHub Apps must have the `administration` permission to use this endpoint. + */ + listSelfHostedRunnersForRepo: { + (params?: RequestParameters & ActionsListSelfHostedRunnersForRepoParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Gets a redirect URL to download a plain text file of logs for a workflow job. This link expires after 1 minute. Look for `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. + * + * Call this endpoint using the `-v` flag, which enables verbose output and allows you to see the download URL in the header. To download the file into the current working directory, specify the filename using the `-o` flag. + */ + listWorkflowJobLogs: { + (params?: RequestParameters & ActionsListWorkflowJobLogsParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Lists artifacts for a workflow run. Anyone with read access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. + */ + listWorkflowRunArtifacts: { + (params?: RequestParameters & ActionsListWorkflowRunArtifactsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Gets a redirect URL to download an archive of log files for a workflow run. This link expires after 1 minute. Look for `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. + * + * Call this endpoint using the `-v` flag, which enables verbose output and allows you to see the download URL in the header. To download the file into the current working directory, specify the filename using the `-o` flag. + */ + listWorkflowRunLogs: { + (params?: RequestParameters & ActionsListWorkflowRunLogsParams): Promise; + endpoint: EndpointInterface; + }; + /** + * List all workflow runs for a workflow. You can also replace `:workflow_id` with `:workflow_file_name`. For example, you could use `main.yml`. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://developer.github.com/v3/#parameters). + * + * Anyone with read access to the repository can use this endpoint. + */ + listWorkflowRuns: { + (params?: RequestParameters & ActionsListWorkflowRunsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Re-runs your workflow run using its `id`. Anyone with write access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. + */ + reRunWorkflow: { + (params?: RequestParameters & ActionsReRunWorkflowParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Forces the removal of a self-hosted runner from a repository. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. Anyone with admin access to the repository can use this endpoint. GitHub Apps must have the `administration` permission to use this endpoint. + */ + removeSelfHostedRunner: { + (params?: RequestParameters & ActionsRemoveSelfHostedRunnerParams): Promise; + endpoint: EndpointInterface; + }; + }; + activity: { + /** + * Requires for the user to be authenticated. + */ + checkStarringRepo: { + (params?: RequestParameters & ActivityCheckStarringRepoParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Requires for the user to be authenticated. + */ + checkWatchingRepoLegacy: { + (params?: RequestParameters & ActivityCheckWatchingRepoLegacyParams): Promise; + endpoint: EndpointInterface; + }; + /** + * This endpoint should only be used to stop watching a repository. To control whether or not you wish to receive notifications from a repository, [set the repository's subscription manually](https://developer.github.com/v3/activity/watching/#set-a-repository-subscription). + */ + deleteRepoSubscription: { + (params?: RequestParameters & ActivityDeleteRepoSubscriptionParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Mutes all future notifications for a conversation until you comment on the thread or get **@mention**ed. + */ + deleteThreadSubscription: { + (params?: RequestParameters & ActivityDeleteThreadSubscriptionParams): Promise; + endpoint: EndpointInterface; + }; + getRepoSubscription: { + (params?: RequestParameters & ActivityGetRepoSubscriptionParams): Promise>; + endpoint: EndpointInterface; + }; + getThread: { + (params?: RequestParameters & ActivityGetThreadParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * This checks to see if the current user is subscribed to a thread. You can also [get a repository subscription](https://developer.github.com/v3/activity/watching/#get-a-repository-subscription). + * + * Note that subscriptions are only generated if a user is participating in a conversation--for example, they've replied to the thread, were **@mentioned**, or manually subscribe to a thread. + */ + getThreadSubscription: { + (params?: RequestParameters & ActivityGetThreadSubscriptionParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * This is the user's organization dashboard. You must be authenticated as the user to view this. + */ + listEventsForOrg: { + (params?: RequestParameters & ActivityListEventsForOrgParams): Promise; + endpoint: EndpointInterface; + }; + /** + * If you are authenticated as the given user, you will see your private events. Otherwise, you'll only see public events. + */ + listEventsForUser: { + (params?: RequestParameters & ActivityListEventsForUserParams): Promise; + endpoint: EndpointInterface; + }; + /** + * GitHub provides several timeline resources in [Atom](http://en.wikipedia.org/wiki/Atom_(standard)) format. The Feeds API lists all the feeds available to the authenticated user: + * + * * **Timeline**: The GitHub global public timeline + * * **User**: The public timeline for any user, using [URI template](https://developer.github.com/v3/#hypermedia) + * * **Current user public**: The public timeline for the authenticated user + * * **Current user**: The private timeline for the authenticated user + * * **Current user actor**: The private timeline for activity created by the authenticated user + * * **Current user organizations**: The private timeline for the organizations the authenticated user is a member of. + * * **Security advisories**: A collection of public announcements that provide information about security-related vulnerabilities in software on GitHub. + * + * **Note**: Private feeds are only returned when [authenticating via Basic Auth](https://developer.github.com/v3/#basic-authentication) since current feed URIs use the older, non revocable auth tokens. + */ + listFeeds: { + (params?: RequestParameters & EmptyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * List all notifications for the current user, sorted by most recently updated. + * + * The following example uses the `since` parameter to list notifications that have been updated after the specified time. + */ + listNotifications: { + (params?: RequestParameters & ActivityListNotificationsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * List all notifications for the current user. + */ + listNotificationsForRepo: { + (params?: RequestParameters & ActivityListNotificationsForRepoParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * We delay the public events feed by five minutes, which means the most recent event returned by the public events API actually occurred at least five minutes ago. + */ + listPublicEvents: { + (params?: RequestParameters & ActivityListPublicEventsParams): Promise; + endpoint: EndpointInterface; + }; + listPublicEventsForOrg: { + (params?: RequestParameters & ActivityListPublicEventsForOrgParams): Promise; + endpoint: EndpointInterface; + }; + listPublicEventsForRepoNetwork: { + (params?: RequestParameters & ActivityListPublicEventsForRepoNetworkParams): Promise; + endpoint: EndpointInterface; + }; + listPublicEventsForUser: { + (params?: RequestParameters & ActivityListPublicEventsForUserParams): Promise; + endpoint: EndpointInterface; + }; + /** + * These are events that you've received by watching repos and following users. If you are authenticated as the given user, you will see private events. Otherwise, you'll only see public events. + */ + listReceivedEventsForUser: { + (params?: RequestParameters & ActivityListReceivedEventsForUserParams): Promise; + endpoint: EndpointInterface; + }; + listReceivedPublicEventsForUser: { + (params?: RequestParameters & ActivityListReceivedPublicEventsForUserParams): Promise; + endpoint: EndpointInterface; + }; + listRepoEvents: { + (params?: RequestParameters & ActivityListRepoEventsParams): Promise; + endpoint: EndpointInterface; + }; + /** + * You can also find out _when_ stars were created by passing the following custom [media type](https://developer.github.com/v3/media/) via the `Accept` header: + */ + listReposStarredByAuthenticatedUser: { + (params?: RequestParameters & ActivityListReposStarredByAuthenticatedUserParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * You can also find out _when_ stars were created by passing the following custom [media type](https://developer.github.com/v3/media/) via the `Accept` header: + */ + listReposStarredByUser: { + (params?: RequestParameters & ActivityListReposStarredByUserParams): Promise>; + endpoint: EndpointInterface; + }; + listReposWatchedByUser: { + (params?: RequestParameters & ActivityListReposWatchedByUserParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * You can also find out _when_ stars were created by passing the following custom [media type](https://developer.github.com/v3/media/) via the `Accept` header: + */ + listStargazersForRepo: { + (params?: RequestParameters & ActivityListStargazersForRepoParams): Promise>; + endpoint: EndpointInterface; + }; + listWatchedReposForAuthenticatedUser: { + (params?: RequestParameters & ActivityListWatchedReposForAuthenticatedUserParams): Promise>; + endpoint: EndpointInterface; + }; + listWatchersForRepo: { + (params?: RequestParameters & ActivityListWatchersForRepoParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Marks a notification as "read" removes it from the [default view on GitHub](https://github.com/notifications). If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List your notifications](https://developer.github.com/v3/activity/notifications/#list-your-notifications) endpoint and pass the query parameter `all=false`. + */ + markAsRead: { + (params?: RequestParameters & ActivityMarkAsReadParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Marks all notifications in a repository as "read" removes them from the [default view on GitHub](https://github.com/notifications). If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List your notifications in a repository](https://developer.github.com/v3/activity/notifications/#list-your-notifications-in-a-repository) endpoint and pass the query parameter `all=false`. + */ + markNotificationsAsReadForRepo: { + (params?: RequestParameters & ActivityMarkNotificationsAsReadForRepoParams): Promise; + endpoint: EndpointInterface; + }; + markThreadAsRead: { + (params?: RequestParameters & ActivityMarkThreadAsReadParams): Promise; + endpoint: EndpointInterface; + }; + /** + * If you would like to watch a repository, set `subscribed` to `true`. If you would like to ignore notifications made within a repository, set `ignored` to `true`. If you would like to stop watching a repository, [delete the repository's subscription](https://developer.github.com/v3/activity/watching/#delete-a-repository-subscription) completely. + */ + setRepoSubscription: { + (params?: RequestParameters & ActivitySetRepoSubscriptionParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * This lets you subscribe or unsubscribe from a conversation. + */ + setThreadSubscription: { + (params?: RequestParameters & ActivitySetThreadSubscriptionParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Requires for the user to be authenticated. + * + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://developer.github.com/v3/#http-verbs)." + */ + starRepo: { + (params?: RequestParameters & ActivityStarRepoParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Requires for the user to be authenticated. + */ + stopWatchingRepoLegacy: { + (params?: RequestParameters & ActivityStopWatchingRepoLegacyParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Requires for the user to be authenticated. + */ + unstarRepo: { + (params?: RequestParameters & ActivityUnstarRepoParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Requires the user to be authenticated. + * + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://developer.github.com/v3/#http-verbs)." + */ + watchRepoLegacy: { + (params?: RequestParameters & ActivityWatchRepoLegacyParams): Promise; + endpoint: EndpointInterface; + }; + }; + apps: { + /** + * Add a single repository to an installation. The authenticated user must have admin access to the repository. + * + * You must use a personal access token (which you can create via the [command line](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/) or the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/#create-a-new-authorization)) or [Basic Authentication](https://developer.github.com/v3/auth/#basic-authentication) to access this endpoint. + */ + addRepoToInstallation: { + (params?: RequestParameters & AppsAddRepoToInstallationParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://developer.github.com/v3/auth/#basic-authentication) with their client ID and client secret to access this endpoint. + */ + checkAccountIsAssociatedWithAny: { + (params?: RequestParameters & AppsCheckAccountIsAssociatedWithAnyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://developer.github.com/v3/auth/#basic-authentication) with their client ID and client secret to access this endpoint. + */ + checkAccountIsAssociatedWithAnyStubbed: { + (params?: RequestParameters & AppsCheckAccountIsAssociatedWithAnyStubbedParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** GitHub will replace and discontinue OAuth endpoints containing `access_token` in the path parameter. We are introducing new endpoints that allow you to securely manage tokens for OAuth Apps by using `access_token` as an input parameter. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * OAuth applications can use a special API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://developer.github.com/v3/auth#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. + * @deprecated octokit.apps.checkAuthorization() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#check-an-authorization + */ + checkAuthorization: { + (params?: RequestParameters & AppsCheckAuthorizationParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * OAuth applications can use a special API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://developer.github.com/v3/auth#basic-authentication) to use this endpoint, where the username is the OAuth application `client_id` and the password is its `client_secret`. Invalid tokens will return `404 NOT FOUND`. + */ + checkToken: { + (params?: RequestParameters & AppsCheckTokenParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Creates an attachment under a content reference URL in the body or comment of an issue or pull request. Use the `id` of the content reference from the [`content_reference` event](https://developer.github.com/v3/activity/events/types/#contentreferenceevent) to create an attachment. + * + * The app must create a content attachment within six hours of the content reference URL being posted. See "[Using content attachments](https://developer.github.com/apps/using-content-attachments/)" for details about content attachments. + * + * You must use an [installation access token](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + * + * This example creates a content attachment for the domain `https://errors.ai/`. + */ + createContentAttachment: { + (params?: RequestParameters & AppsCreateContentAttachmentParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Use this endpoint to complete the handshake necessary when implementing the [GitHub App Manifest flow](https://developer.github.com/apps/building-github-apps/creating-github-apps-from-a-manifest/). When you create a GitHub App with the manifest flow, you receive a temporary `code` used to retrieve the GitHub App's `id`, `pem` (private key), and `webhook_secret`. + */ + createFromManifest: { + (params?: RequestParameters & AppsCreateFromManifestParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Creates an installation access token that enables a GitHub App to make authenticated API requests for the app's installation on an organization or individual account. Installation tokens expire one hour from the time you create them. Using an expired token produces a status code of `401 - Unauthorized`, and requires creating a new installation token. By default the installation token has access to all repositories that the installation can access. To restrict the access to specific repositories, you can provide the `repository_ids` when creating the token. When you omit `repository_ids`, the response does not contain the `repositories` key. + * + * You must use a [JWT](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + * + * This example grants the token "Read and write" permission to `issues` and "Read" permission to `contents`, and restricts the token's access to the repository with an `id` of 1296269. + */ + createInstallationToken: { + (params?: RequestParameters & AppsCreateInstallationTokenParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * OAuth application owners can revoke a grant for their OAuth application and a specific user. You must use [Basic Authentication](https://developer.github.com/v3/auth#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. You must also provide a valid OAuth `access_token` as an input parameter and the grant for the token's owner will be deleted. + * + * Deleting an OAuth application's grant will also delete all OAuth tokens associated with the application for the user. Once deleted, the application will have no access to the user's account and will no longer be listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). + */ + deleteAuthorization: { + (params?: RequestParameters & AppsDeleteAuthorizationParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Uninstalls a GitHub App on a user, organization, or business account. + * + * You must use a [JWT](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + deleteInstallation: { + (params?: RequestParameters & AppsDeleteInstallationParams): Promise; + endpoint: EndpointInterface; + }; + /** + * OAuth application owners can revoke a single token for an OAuth application. You must use [Basic Authentication](https://developer.github.com/v3/auth#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. + */ + deleteToken: { + (params?: RequestParameters & AppsDeleteTokenParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Enables an authenticated GitHub App to find the organization's installation information. + * + * You must use a [JWT](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + * @deprecated octokit.apps.findOrgInstallation() has been renamed to octokit.apps.getOrgInstallation() (2019-04-10) + */ + findOrgInstallation: { + (params?: RequestParameters & AppsFindOrgInstallationParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Enables an authenticated GitHub App to find the repository's installation information. The installation's account type will be either an organization or a user account, depending which account the repository belongs to. + * + * You must use a [JWT](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + * @deprecated octokit.apps.findRepoInstallation() has been renamed to octokit.apps.getRepoInstallation() (2019-04-10) + */ + findRepoInstallation: { + (params?: RequestParameters & AppsFindRepoInstallationParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Enables an authenticated GitHub App to find the user’s installation information. + * + * You must use a [JWT](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + * @deprecated octokit.apps.findUserInstallation() has been renamed to octokit.apps.getUserInstallation() (2019-04-10) + */ + findUserInstallation: { + (params?: RequestParameters & AppsFindUserInstallationParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Returns the GitHub App associated with the authentication credentials used. To see how many app installations are associated with this GitHub App, see the `installations_count` in the response. For more details about your app's installations, see the "[List installations](https://developer.github.com/v3/apps/#list-installations)" endpoint. + * + * You must use a [JWT](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + getAuthenticated: { + (params?: RequestParameters & EmptyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Note**: The `:app_slug` is just the URL-friendly name of your GitHub App. You can find this on the settings page for your GitHub App (e.g., `https://github.com/settings/apps/:app_slug`). + * + * If the GitHub App you specify is public, you can access this endpoint without authenticating. If the GitHub App you specify is private, you must authenticate with a [personal access token](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/) or an [installation access token](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + */ + getBySlug: { + (params?: RequestParameters & AppsGetBySlugParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * You must use a [JWT](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + getInstallation: { + (params?: RequestParameters & AppsGetInstallationParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Enables an authenticated GitHub App to find the organization's installation information. + * + * You must use a [JWT](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + getOrgInstallation: { + (params?: RequestParameters & AppsGetOrgInstallationParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Enables an authenticated GitHub App to find the repository's installation information. The installation's account type will be either an organization or a user account, depending which account the repository belongs to. + * + * You must use a [JWT](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + getRepoInstallation: { + (params?: RequestParameters & AppsGetRepoInstallationParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Enables an authenticated GitHub App to find the user’s installation information. + * + * You must use a [JWT](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + getUserInstallation: { + (params?: RequestParameters & AppsGetUserInstallationParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Returns any accounts associated with a plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://developer.github.com/v3/auth/#basic-authentication) with their client ID and client secret to access this endpoint. + */ + listAccountsUserOrOrgOnPlan: { + (params?: RequestParameters & AppsListAccountsUserOrOrgOnPlanParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Returns any accounts associated with a plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://developer.github.com/v3/auth/#basic-authentication) with their client ID and client secret to access this endpoint. + */ + listAccountsUserOrOrgOnPlanStubbed: { + (params?: RequestParameters & AppsListAccountsUserOrOrgOnPlanStubbedParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * List repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access for an installation. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + * + * You must use a [user-to-server OAuth access token](https://developer.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. + * + * The access the user has to each repository is included in the hash under the `permissions` key. + */ + listInstallationReposForAuthenticatedUser: { + (params?: RequestParameters & AppsListInstallationReposForAuthenticatedUserParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * You must use a [JWT](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + * + * The permissions the installation has are included under the `permissions` key. + */ + listInstallations: { + (params?: RequestParameters & AppsListInstallationsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Lists installations of your GitHub App that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. + * + * You must use a [user-to-server OAuth access token](https://developer.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + * + * You can find the permissions for the installation under the `permissions` key. + */ + listInstallationsForAuthenticatedUser: { + (params?: RequestParameters & AppsListInstallationsForAuthenticatedUserParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Returns only active subscriptions. You must use a [user-to-server OAuth access token](https://developer.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. . OAuth Apps must authenticate using an [OAuth token](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/). + */ + listMarketplacePurchasesForAuthenticatedUser: { + (params?: RequestParameters & AppsListMarketplacePurchasesForAuthenticatedUserParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Returns only active subscriptions. You must use a [user-to-server OAuth access token](https://developer.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. . OAuth Apps must authenticate using an [OAuth token](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/). + */ + listMarketplacePurchasesForAuthenticatedUserStubbed: { + (params?: RequestParameters & AppsListMarketplacePurchasesForAuthenticatedUserStubbedParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * GitHub Apps must use a [JWT](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://developer.github.com/v3/auth/#basic-authentication) with their client ID and client secret to access this endpoint. + */ + listPlans: { + (params?: RequestParameters & AppsListPlansParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * GitHub Apps must use a [JWT](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://developer.github.com/v3/auth/#basic-authentication) with their client ID and client secret to access this endpoint. + */ + listPlansStubbed: { + (params?: RequestParameters & AppsListPlansStubbedParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * List repositories that an installation can access. + * + * You must use an [installation access token](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + */ + listRepos: { + (params?: RequestParameters & AppsListReposParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Remove a single repository from an installation. The authenticated user must have admin access to the repository. + * + * You must use a personal access token (which you can create via the [command line](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/) or the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/#create-a-new-authorization)) or [Basic Authentication](https://developer.github.com/v3/auth/#basic-authentication) to access this endpoint. + */ + removeRepoFromInstallation: { + (params?: RequestParameters & AppsRemoveRepoFromInstallationParams): Promise; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** GitHub will replace and discontinue OAuth endpoints containing `access_token` in the path parameter. We are introducing new endpoints that allow you to securely manage tokens for OAuth Apps by using `access_token` as an input parameter. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * OAuth applications can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the "token" property in the response because changes take effect immediately. You must use [Basic Authentication](https://developer.github.com/v3/auth#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. + * @deprecated octokit.apps.resetAuthorization() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#reset-an-authorization + */ + resetAuthorization: { + (params?: RequestParameters & AppsResetAuthorizationParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * OAuth applications can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the "token" property in the response because changes take effect immediately. You must use [Basic Authentication](https://developer.github.com/v3/auth#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. + */ + resetToken: { + (params?: RequestParameters & AppsResetTokenParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** GitHub will replace and discontinue OAuth endpoints containing `access_token` in the path parameter. We are introducing new endpoints that allow you to securely manage tokens for OAuth Apps by using `access_token` as an input parameter. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * OAuth application owners can revoke a single token for an OAuth application. You must use [Basic Authentication](https://developer.github.com/v3/auth#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. + * @deprecated octokit.apps.revokeAuthorizationForApplication() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#revoke-an-authorization-for-an-application + */ + revokeAuthorizationForApplication: { + (params?: RequestParameters & AppsRevokeAuthorizationForApplicationParams): Promise; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** GitHub will replace and discontinue OAuth endpoints containing `access_token` in the path parameter. We are introducing new endpoints that allow you to securely manage tokens for OAuth Apps by using `access_token` as an input parameter. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * OAuth application owners can revoke a grant for their OAuth application and a specific user. You must use [Basic Authentication](https://developer.github.com/v3/auth#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. You must also provide a valid token as `:access_token` and the grant for the token's owner will be deleted. + * + * Deleting an OAuth application's grant will also delete all OAuth tokens associated with the application for the user. Once deleted, the application will have no access to the user's account and will no longer be listed on [the Applications settings page under "Authorized OAuth Apps" on GitHub](https://github.com/settings/applications#authorized). + * @deprecated octokit.apps.revokeGrantForApplication() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#revoke-a-grant-for-an-application + */ + revokeGrantForApplication: { + (params?: RequestParameters & AppsRevokeGrantForApplicationParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Revokes the installation token you're using to authenticate as an installation and access this endpoint. + * + * Once an installation token is revoked, the token is invalidated and cannot be used. Other endpoints that require the revoked installation token must have a new installation token to work. You can create a new token using the "[Create a new installation token](https://developer.github.com/v3/apps/#create-a-new-installation-token)" endpoint. + * + * You must use an [installation access token](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + */ + revokeInstallationToken: { + (params?: RequestParameters & EmptyParams): Promise; + endpoint: EndpointInterface; + }; + }; + checks: { + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Creates a new check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to create check runs. + */ + create: { + (params?: RequestParameters & ChecksCreateParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * + * By default, check suites are automatically created when you create a [check run](https://developer.github.com/v3/checks/runs/). You only need to use this endpoint for manually creating check suites when you've disabled automatic creation using "[Set preferences for check suites on a repository](https://developer.github.com/v3/checks/suites/#set-preferences-for-check-suites-on-a-repository)". Your GitHub App must have the `checks:write` permission to create check suites. + */ + createSuite: { + (params?: RequestParameters & ChecksCreateSuiteParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Gets a single check run using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository. + */ + get: { + (params?: RequestParameters & ChecksGetParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * + * Gets a single check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check suites. OAuth Apps and authenticated users must have the `repo` scope to get check suites in a private repository. + */ + getSuite: { + (params?: RequestParameters & ChecksGetSuiteParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Lists annotations for a check run using the annotation `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get annotations for a check run. OAuth Apps and authenticated users must have the `repo` scope to get annotations for a check run in a private repository. + */ + listAnnotations: { + (params?: RequestParameters & ChecksListAnnotationsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Lists check runs for a commit ref. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository. + */ + listForRef: { + (params?: RequestParameters & ChecksListForRefParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Lists check runs for a check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository. + */ + listForSuite: { + (params?: RequestParameters & ChecksListForSuiteParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * + * Lists check suites for a commit `ref`. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to list check suites. OAuth Apps and authenticated users must have the `repo` scope to get check suites in a private repository. + */ + listSuitesForRef: { + (params?: RequestParameters & ChecksListSuitesForRefParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Triggers GitHub to rerequest an existing check suite, without pushing new code to a repository. This endpoint will trigger the [`check_suite` webhook](https://developer.github.com/v3/activity/events/types/#checksuiteevent) event with the action `rerequested`. When a check suite is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. + * + * To rerequest a check suite, your GitHub App must have the `checks:read` permission on a private repository or pull access to a public repository. + */ + rerequestSuite: { + (params?: RequestParameters & ChecksRerequestSuiteParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Changes the default automatic flow when creating check suites. By default, the CheckSuiteEvent is automatically created each time code is pushed to a repository. When you disable the automatic creation of check suites, you can manually [Create a check suite](https://developer.github.com/v3/checks/suites/#create-a-check-suite). You must have admin permissions in the repository to set preferences for check suites. + */ + setSuitesPreferences: { + (params?: RequestParameters & ChecksSetSuitesPreferencesParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Updates a check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to edit check runs. + */ + update: { + (params?: RequestParameters & ChecksUpdateParams): Promise>; + endpoint: EndpointInterface; + }; + }; + codesOfConduct: { + getConductCode: { + (params?: RequestParameters & CodesOfConductGetConductCodeParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * This method returns the contents of the repository's code of conduct file, if one is detected. + */ + getForRepo: { + (params?: RequestParameters & CodesOfConductGetForRepoParams): Promise>; + endpoint: EndpointInterface; + }; + listConductCodes: { + (params?: RequestParameters & EmptyParams): Promise>; + endpoint: EndpointInterface; + }; + }; + emojis: { + /** + * Lists all the emojis available to use on GitHub. + */ + get: { + (params?: RequestParameters & EmptyParams): Promise; + endpoint: EndpointInterface; + }; + }; + gists: { + checkIsStarred: { + (params?: RequestParameters & GistsCheckIsStarredParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Allows you to add a new gist with one or more files. + * + * **Note:** Don't name your files "gistfile" with a numerical suffix. This is the format of the automatic naming scheme that Gist uses internally. + */ + create: { + (params?: RequestParameters & GistsCreateParams): Promise>; + endpoint: EndpointInterface; + }; + createComment: { + (params?: RequestParameters & GistsCreateCommentParams): Promise>; + endpoint: EndpointInterface; + }; + delete: { + (params?: RequestParameters & GistsDeleteParams): Promise; + endpoint: EndpointInterface; + }; + deleteComment: { + (params?: RequestParameters & GistsDeleteCommentParams): Promise; + endpoint: EndpointInterface; + }; + /** + * **Note**: This was previously `/gists/:gist_id/fork`. + */ + fork: { + (params?: RequestParameters & GistsForkParams): Promise>; + endpoint: EndpointInterface; + }; + get: { + (params?: RequestParameters & GistsGetParams): Promise>; + endpoint: EndpointInterface; + }; + getComment: { + (params?: RequestParameters & GistsGetCommentParams): Promise>; + endpoint: EndpointInterface; + }; + getRevision: { + (params?: RequestParameters & GistsGetRevisionParams): Promise>; + endpoint: EndpointInterface; + }; + list: { + (params?: RequestParameters & GistsListParams): Promise>; + endpoint: EndpointInterface; + }; + listComments: { + (params?: RequestParameters & GistsListCommentsParams): Promise>; + endpoint: EndpointInterface; + }; + listCommits: { + (params?: RequestParameters & GistsListCommitsParams): Promise>; + endpoint: EndpointInterface; + }; + listForks: { + (params?: RequestParameters & GistsListForksParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * List all public gists sorted by most recently updated to least recently updated. + * + * Note: With [pagination](https://developer.github.com/v3/#pagination), you can fetch up to 3000 gists. For example, you can fetch 100 pages with 30 gists per page or 30 pages with 100 gists per page. + */ + listPublic: { + (params?: RequestParameters & GistsListPublicParams): Promise>; + endpoint: EndpointInterface; + }; + listPublicForUser: { + (params?: RequestParameters & GistsListPublicForUserParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * List the authenticated user's starred gists: + */ + listStarred: { + (params?: RequestParameters & GistsListStarredParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://developer.github.com/v3/#http-verbs)." + */ + star: { + (params?: RequestParameters & GistsStarParams): Promise; + endpoint: EndpointInterface; + }; + unstar: { + (params?: RequestParameters & GistsUnstarParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Allows you to update or delete a gist file and rename gist files. Files from the previous version of the gist that aren't explicitly changed during an edit are unchanged. + */ + update: { + (params?: RequestParameters & GistsUpdateParams): Promise>; + endpoint: EndpointInterface; + }; + updateComment: { + (params?: RequestParameters & GistsUpdateCommentParams): Promise>; + endpoint: EndpointInterface; + }; + }; + git: { + createBlob: { + (params?: RequestParameters & GitCreateBlobParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Creates a new Git [commit object](https://git-scm.com/book/en/v1/Git-Internals-Git-Objects#Commit-Objects). + * + * In this example, the payload of the signature would be: + * + * + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ------------------------ | --------------------------------------------------------------------------------------------------------------------------------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + createCommit: { + (params?: RequestParameters & GitCreateCommitParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Creates a reference for your repository. You are unable to create new references for empty repositories, even if the commit SHA-1 hash used exists. Empty repositories are repositories without branches. + */ + createRef: { + (params?: RequestParameters & GitCreateRefParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Note that creating a tag object does not create the reference that makes a tag in Git. If you want to create an annotated tag in Git, you have to do this call to create the tag object, and then [create](https://developer.github.com/v3/git/refs/#create-a-reference) the `refs/tags/[tag]` reference. If you want to create a lightweight tag, you only have to [create](https://developer.github.com/v3/git/refs/#create-a-reference) the tag reference - this call would be unnecessary. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ------------------------ | --------------------------------------------------------------------------------------------------------------------------------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + createTag: { + (params?: RequestParameters & GitCreateTagParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * The tree creation API accepts nested entries. If you specify both a tree and a nested path modifying that tree, this endpoint will overwrite the contents of the tree with the new path contents, and create a new tree structure. + * + * If you use this endpoint to add, delete, or modify the file contents in a tree, you will need to commit the tree and then update a branch to point to the commit. For more information see "[Create a commit](https://developer.github.com/v3/git/commits/#create-a-commit)" and "[Update a reference](https://developer.github.com/v3/git/refs/#update-a-reference)." + */ + createTree: { + (params?: RequestParameters & GitCreateTreeParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * ``` + * DELETE /repos/octocat/Hello-World/git/refs/heads/feature-a + * ``` + * + * ``` + * DELETE /repos/octocat/Hello-World/git/refs/tags/v1.0 + * ``` + */ + deleteRef: { + (params?: RequestParameters & GitDeleteRefParams): Promise; + endpoint: EndpointInterface; + }; + /** + * The `content` in the response will always be Base64 encoded. + * + * _Note_: This API supports blobs up to 100 megabytes in size. + */ + getBlob: { + (params?: RequestParameters & GitGetBlobParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Gets a Git [commit object](https://git-scm.com/book/en/v1/Git-Internals-Git-Objects#Commit-Objects). + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ------------------------ | --------------------------------------------------------------------------------------------------------------------------------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + getCommit: { + (params?: RequestParameters & GitGetCommitParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Returns a single reference from your Git database. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't match an existing ref, a `404` is returned. + * + * **Note:** You need to explicitly [request a pull request](https://developer.github.com/v3/pulls/#get-a-single-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://developer.github.com/v3/git/#checking-mergeability-of-pull-requests)". + * + * To get the reference for a branch named `skunkworkz/featureA`, the endpoint route is: + */ + getRef: { + (params?: RequestParameters & GitGetRefParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ------------------------ | --------------------------------------------------------------------------------------------------------------------------------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + getTag: { + (params?: RequestParameters & GitGetTagParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Returns a single tree using the SHA1 value for that tree. + * + * If `truncated` is `true` in the response then the number of items in the `tree` array exceeded our maximum limit. If you need to fetch more items, you can clone the repository and iterate over the Git data locally. + */ + getTree: { + (params?: RequestParameters & GitGetTreeParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Returns an array of references from your Git database that match the supplied name. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't exist in the repository, but existing refs start with `:ref`, they will be returned as an array. + * + * When you use this endpoint without providing a `:ref`, it will return an array of all the references from your Git database, including notes and stashes if they exist on the server. Anything in the namespace is returned, not just `heads` and `tags`. + * + * **Note:** You need to explicitly [request a pull request](https://developer.github.com/v3/pulls/#get-a-single-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://developer.github.com/v3/git/#checking-mergeability-of-pull-requests)". + * + * If you request matching references for a branch named `feature` but the branch `feature` doesn't exist, the response can still include other matching head refs that start with the word `feature`, such as `featureA` and `featureB`. + */ + listMatchingRefs: { + (params?: RequestParameters & GitListMatchingRefsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Returns an array of all the references from your Git database, including notes and stashes if they exist on the server. Anything in the namespace is returned, not just `heads` and `tags`. If there are no references to list, a `404` is returned. + */ + listRefs: { + (params?: RequestParameters & GitListRefsParams): Promise; + endpoint: EndpointInterface; + }; + updateRef: { + (params?: RequestParameters & GitUpdateRefParams): Promise>; + endpoint: EndpointInterface; + }; + }; + gitignore: { + /** + * The API also allows fetching the source of a single template. + * + * Use the raw [media type](https://developer.github.com/v3/media/) to get the raw contents. + */ + getTemplate: { + (params?: RequestParameters & GitignoreGetTemplateParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * List all templates available to pass as an option when [creating a repository](https://developer.github.com/v3/repos/#create). + */ + listTemplates: { + (params?: RequestParameters & EmptyParams): Promise>; + endpoint: EndpointInterface; + }; + }; + interactions: { + /** + * Temporarily restricts interactions to certain GitHub users in any public repository in the given organization. You must be an organization owner to set these restrictions. + */ + addOrUpdateRestrictionsForOrg: { + (params?: RequestParameters & InteractionsAddOrUpdateRestrictionsForOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Temporarily restricts interactions to certain GitHub users within the given repository. You must have owner or admin access to set restrictions. + */ + addOrUpdateRestrictionsForRepo: { + (params?: RequestParameters & InteractionsAddOrUpdateRestrictionsForRepoParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Shows which group of GitHub users can interact with this organization and when the restriction expires. If there are no restrictions, you will see an empty response. + */ + getRestrictionsForOrg: { + (params?: RequestParameters & InteractionsGetRestrictionsForOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Shows which group of GitHub users can interact with this repository and when the restriction expires. If there are no restrictions, you will see an empty response. + */ + getRestrictionsForRepo: { + (params?: RequestParameters & InteractionsGetRestrictionsForRepoParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Removes all interaction restrictions from public repositories in the given organization. You must be an organization owner to remove restrictions. + */ + removeRestrictionsForOrg: { + (params?: RequestParameters & InteractionsRemoveRestrictionsForOrgParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Removes all interaction restrictions from the given repository. You must have owner or admin access to remove restrictions. + */ + removeRestrictionsForRepo: { + (params?: RequestParameters & InteractionsRemoveRestrictionsForRepoParams): Promise; + endpoint: EndpointInterface; + }; + }; + issues: { + /** + * Adds up to 10 assignees to an issue. Users already assigned to an issue are not replaced. + * + * This example adds two assignees to the existing `octocat` assignee. + */ + addAssignees: { + (params?: RequestParameters & IssuesAddAssigneesParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & IssuesAddAssigneesParams): Promise>; + endpoint: EndpointInterface; + }; + addLabels: { + (params?: RequestParameters & IssuesAddLabelsParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & IssuesAddLabelsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Checks if a user has permission to be assigned to an issue in this repository. + * + * If the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned. + * + * Otherwise a `404` status code is returned. + */ + checkAssignee: { + (params?: RequestParameters & IssuesCheckAssigneeParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Any user with pull access to a repository can create an issue. If [issues are disabled in the repository](https://help.github.com/articles/disabling-issues/), the API returns a `410 Gone` status. + * + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://developer.github.com/v3/#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://developer.github.com/v3/guides/best-practices-for-integrators/#dealing-with-abuse-rate-limits)" for details. + */ + create: { + (params?: RequestParameters & IssuesCreateParamsDeprecatedAssignee): Promise>; + (params?: RequestParameters & IssuesCreateParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://developer.github.com/v3/#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://developer.github.com/v3/guides/best-practices-for-integrators/#dealing-with-abuse-rate-limits)" for details. + */ + createComment: { + (params?: RequestParameters & IssuesCreateCommentParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & IssuesCreateCommentParams): Promise>; + endpoint: EndpointInterface; + }; + createLabel: { + (params?: RequestParameters & IssuesCreateLabelParams): Promise>; + endpoint: EndpointInterface; + }; + createMilestone: { + (params?: RequestParameters & IssuesCreateMilestoneParams): Promise>; + endpoint: EndpointInterface; + }; + deleteComment: { + (params?: RequestParameters & IssuesDeleteCommentParams): Promise; + endpoint: EndpointInterface; + }; + deleteLabel: { + (params?: RequestParameters & IssuesDeleteLabelParams): Promise; + endpoint: EndpointInterface; + }; + deleteMilestone: { + (params?: RequestParameters & IssuesDeleteMilestoneParamsDeprecatedNumber): Promise; + (params?: RequestParameters & IssuesDeleteMilestoneParams): Promise; + endpoint: EndpointInterface; + }; + /** + * The API returns a [`301 Moved Permanently` status](https://developer.github.com/v3/#http-redirects) if the issue was [transferred](https://help.github.com/articles/transferring-an-issue-to-another-repository/) to another repository. If the issue was transferred to or deleted from a repository where the authenticated user lacks read access, the API returns a `404 Not Found` status. If the issue was deleted from a repository where the authenticated user has read access, the API returns a `410 Gone` status. To receive webhook events for transferred and deleted issues, subscribe to the [`issues`](https://developer.github.com/v3/activity/events/types/#issuesevent) webhook. + * + * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by the `pull_request` key. + * + * Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull request id, use the "[List pull requests](https://developer.github.com/v3/pulls/#list-pull-requests)" endpoint. + */ + get: { + (params?: RequestParameters & IssuesGetParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & IssuesGetParams): Promise>; + endpoint: EndpointInterface; + }; + getComment: { + (params?: RequestParameters & IssuesGetCommentParams): Promise>; + endpoint: EndpointInterface; + }; + getEvent: { + (params?: RequestParameters & IssuesGetEventParams): Promise>; + endpoint: EndpointInterface; + }; + getLabel: { + (params?: RequestParameters & IssuesGetLabelParams): Promise>; + endpoint: EndpointInterface; + }; + getMilestone: { + (params?: RequestParameters & IssuesGetMilestoneParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & IssuesGetMilestoneParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by the `pull_request` key. + * + * Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull request id, use the "[List pull requests](https://developer.github.com/v3/pulls/#list-pull-requests)" endpoint. + */ + list: { + (params?: RequestParameters & IssuesListParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Lists the [available assignees](https://help.github.com/articles/assigning-issues-and-pull-requests-to-other-github-users/) for issues in a repository. + */ + listAssignees: { + (params?: RequestParameters & IssuesListAssigneesParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Issue Comments are ordered by ascending ID. + */ + listComments: { + (params?: RequestParameters & IssuesListCommentsParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & IssuesListCommentsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * By default, Issue Comments are ordered by ascending ID. + */ + listCommentsForRepo: { + (params?: RequestParameters & IssuesListCommentsForRepoParams): Promise>; + endpoint: EndpointInterface; + }; + listEvents: { + (params?: RequestParameters & IssuesListEventsParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & IssuesListEventsParams): Promise>; + endpoint: EndpointInterface; + }; + listEventsForRepo: { + (params?: RequestParameters & IssuesListEventsForRepoParams): Promise>; + endpoint: EndpointInterface; + }; + listEventsForTimeline: { + (params?: RequestParameters & IssuesListEventsForTimelineParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & IssuesListEventsForTimelineParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by the `pull_request` key. + * + * Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull request id, use the "[List pull requests](https://developer.github.com/v3/pulls/#list-pull-requests)" endpoint. + */ + listForAuthenticatedUser: { + (params?: RequestParameters & IssuesListForAuthenticatedUserParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by the `pull_request` key. + * + * Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull request id, use the "[List pull requests](https://developer.github.com/v3/pulls/#list-pull-requests)" endpoint. + */ + listForOrg: { + (params?: RequestParameters & IssuesListForOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by the `pull_request` key. + * + * Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull request id, use the "[List pull requests](https://developer.github.com/v3/pulls/#list-pull-requests)" endpoint. + */ + listForRepo: { + (params?: RequestParameters & IssuesListForRepoParams): Promise>; + endpoint: EndpointInterface; + }; + listLabelsForMilestone: { + (params?: RequestParameters & IssuesListLabelsForMilestoneParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & IssuesListLabelsForMilestoneParams): Promise>; + endpoint: EndpointInterface; + }; + listLabelsForRepo: { + (params?: RequestParameters & IssuesListLabelsForRepoParams): Promise>; + endpoint: EndpointInterface; + }; + listLabelsOnIssue: { + (params?: RequestParameters & IssuesListLabelsOnIssueParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & IssuesListLabelsOnIssueParams): Promise>; + endpoint: EndpointInterface; + }; + listMilestonesForRepo: { + (params?: RequestParameters & IssuesListMilestonesForRepoParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Users with push access can lock an issue or pull request's conversation. + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://developer.github.com/v3/#http-verbs)." + */ + lock: { + (params?: RequestParameters & IssuesLockParamsDeprecatedNumber): Promise; + (params?: RequestParameters & IssuesLockParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Removes one or more assignees from an issue. + * + * This example removes two of three assignees, leaving the `octocat` assignee. + */ + removeAssignees: { + (params?: RequestParameters & IssuesRemoveAssigneesParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & IssuesRemoveAssigneesParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Removes the specified label from the issue, and returns the remaining labels on the issue. This endpoint returns a `404 Not Found` status if the label does not exist. + */ + removeLabel: { + (params?: RequestParameters & IssuesRemoveLabelParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & IssuesRemoveLabelParams): Promise>; + endpoint: EndpointInterface; + }; + removeLabels: { + (params?: RequestParameters & IssuesRemoveLabelsParamsDeprecatedNumber): Promise; + (params?: RequestParameters & IssuesRemoveLabelsParams): Promise; + endpoint: EndpointInterface; + }; + replaceLabels: { + (params?: RequestParameters & IssuesReplaceLabelsParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & IssuesReplaceLabelsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Users with push access can unlock an issue's conversation. + */ + unlock: { + (params?: RequestParameters & IssuesUnlockParamsDeprecatedNumber): Promise; + (params?: RequestParameters & IssuesUnlockParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Issue owners and users with push access can edit an issue. + */ + update: { + (params?: RequestParameters & IssuesUpdateParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & IssuesUpdateParamsDeprecatedAssignee): Promise>; + (params?: RequestParameters & IssuesUpdateParams): Promise>; + endpoint: EndpointInterface; + }; + updateComment: { + (params?: RequestParameters & IssuesUpdateCommentParams): Promise>; + endpoint: EndpointInterface; + }; + updateLabel: { + (params?: RequestParameters & IssuesUpdateLabelParams): Promise>; + endpoint: EndpointInterface; + }; + updateMilestone: { + (params?: RequestParameters & IssuesUpdateMilestoneParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & IssuesUpdateMilestoneParams): Promise>; + endpoint: EndpointInterface; + }; + }; + licenses: { + get: { + (params?: RequestParameters & LicensesGetParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * This method returns the contents of the repository's license file, if one is detected. + * + * Similar to [the repository contents API](https://developer.github.com/v3/repos/contents/#get-contents), this method also supports [custom media types](https://developer.github.com/v3/repos/contents/#custom-media-types) for retrieving the raw license content or rendered license HTML. + */ + getForRepo: { + (params?: RequestParameters & LicensesGetForRepoParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * @deprecated octokit.licenses.list() has been renamed to octokit.licenses.listCommonlyUsed() (2019-03-05) + */ + list: { + (params?: RequestParameters & EmptyParams): Promise>; + endpoint: EndpointInterface; + }; + listCommonlyUsed: { + (params?: RequestParameters & EmptyParams): Promise>; + endpoint: EndpointInterface; + }; + }; + markdown: { + render: { + (params?: RequestParameters & MarkdownRenderParams): Promise; + endpoint: EndpointInterface; + }; + /** + * You must send Markdown as plain text (using a `Content-Type` header of `text/plain` or `text/x-markdown`) to this endpoint, rather than using JSON format. In raw mode, [GitHub Flavored Markdown](https://github.github.com/gfm/) is not supported and Markdown will be rendered in plain format like a README.md file. Markdown content must be 400 KB or less. + */ + renderRaw: { + (params?: RequestParameters & MarkdownRenderRawParams): Promise; + endpoint: EndpointInterface; + }; + }; + meta: { + /** + * This endpoint provides a list of GitHub's IP addresses. For more information, see "[About GitHub's IP addresses](https://help.github.com/articles/about-github-s-ip-addresses/)." + */ + get: { + (params?: RequestParameters & EmptyParams): Promise>; + endpoint: EndpointInterface; + }; + }; + migrations: { + /** + * Stop an import for a repository. + */ + cancelImport: { + (params?: RequestParameters & MigrationsCancelImportParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Deletes a previous migration archive. Downloadable migration archives are automatically deleted after seven days. Migration metadata, which is returned in the [List user migrations](https://developer.github.com/v3/migrations/users/#list-user-migrations) and [Get the status of a user migration](https://developer.github.com/v3/migrations/users/#get-the-status-of-a-user-migration) endpoints, will continue to be available even after an archive is deleted. + */ + deleteArchiveForAuthenticatedUser: { + (params?: RequestParameters & MigrationsDeleteArchiveForAuthenticatedUserParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Deletes a previous migration archive. Migration archives are automatically deleted after seven days. + */ + deleteArchiveForOrg: { + (params?: RequestParameters & MigrationsDeleteArchiveForOrgParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Fetches the URL to a migration archive. + */ + downloadArchiveForOrg: { + (params?: RequestParameters & MigrationsDownloadArchiveForOrgParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Fetches the URL to download the migration archive as a `tar.gz` file. Depending on the resources your repository uses, the migration archive can contain JSON files with data for these objects: + * + * * attachments + * * bases + * * commit\_comments + * * issue\_comments + * * issue\_events + * * issues + * * milestones + * * organizations + * * projects + * * protected\_branches + * * pull\_request\_reviews + * * pull\_requests + * * releases + * * repositories + * * review\_comments + * * schema + * * users + * + * The archive will also contain an `attachments` directory that includes all attachment files uploaded to GitHub.com and a `repositories` directory that contains the repository's Git data. + */ + getArchiveForAuthenticatedUser: { + (params?: RequestParameters & MigrationsGetArchiveForAuthenticatedUserParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Fetches the URL to a migration archive. + * + * + * @deprecated octokit.migrations.getArchiveForOrg() has been renamed to octokit.migrations.downloadArchiveForOrg() (2020-01-27) + */ + getArchiveForOrg: { + (params?: RequestParameters & MigrationsGetArchiveForOrgParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Each type of source control system represents authors in a different way. For example, a Git commit author has a display name and an email address, but a Subversion commit author just has a username. The GitHub Importer will make the author information valid, but the author might not be correct. For example, it will change the bare Subversion username `hubot` into something like `hubot `. + * + * This API method and the "Map a commit author" method allow you to provide correct Git author information. + */ + getCommitAuthors: { + (params?: RequestParameters & MigrationsGetCommitAuthorsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * View the progress of an import. + * + * **Import status** + * + * This section includes details about the possible values of the `status` field of the Import Progress response. + * + * An import that does not have errors will progress through these steps: + * + * * `detecting` - the "detection" step of the import is in progress because the request did not include a `vcs` parameter. The import is identifying the type of source control present at the URL. + * * `importing` - the "raw" step of the import is in progress. This is where commit data is fetched from the original repository. The import progress response will include `commit_count` (the total number of raw commits that will be imported) and `percent` (0 - 100, the current progress through the import). + * * `mapping` - the "rewrite" step of the import is in progress. This is where SVN branches are converted to Git branches, and where author updates are applied. The import progress response does not include progress information. + * * `pushing` - the "push" step of the import is in progress. This is where the importer updates the repository on GitHub. The import progress response will include `push_percent`, which is the percent value reported by `git push` when it is "Writing objects". + * * `complete` - the import is complete, and the repository is ready on GitHub. + * + * If there are problems, you will see one of these in the `status` field: + * + * * `auth_failed` - the import requires authentication in order to connect to the original repository. To update authentication for the import, please see the [Update Existing Import](https://developer.github.com/v3/migrations/source_imports/#update-existing-import) section. + * * `error` - the import encountered an error. The import progress response will include the `failed_step` and an error message. Contact [GitHub Support](https://github.com/contact) or [GitHub Premium Support](https://premium.githubsupport.com) for more information. + * * `detection_needs_auth` - the importer requires authentication for the originating repository to continue detection. To update authentication for the import, please see the [Update Existing Import](https://developer.github.com/v3/migrations/source_imports/#update-existing-import) section. + * * `detection_found_nothing` - the importer didn't recognize any source control at the URL. To resolve, [Cancel the import](https://developer.github.com/v3/migrations/source_imports/#cancel-an-import) and [retry](https://developer.github.com/v3/migrations/source_imports/#start-an-import) with the correct URL. + * * `detection_found_multiple` - the importer found several projects or repositories at the provided URL. When this is the case, the Import Progress response will also include a `project_choices` field with the possible project choices as values. To update project choice, please see the [Update Existing Import](https://developer.github.com/v3/migrations/source_imports/#update-existing-import) section. + * + * **The project_choices field** + * + * When multiple projects are found at the provided URL, the response hash will include a `project_choices` field, the value of which is an array of hashes each representing a project choice. The exact key/value pairs of the project hashes will differ depending on the version control type. + * + * **Git LFS related fields** + * + * This section includes details about Git LFS related fields that may be present in the Import Progress response. + * + * * `use_lfs` - describes whether the import has been opted in or out of using Git LFS. The value can be `opt_in`, `opt_out`, or `undecided` if no action has been taken. + * * `has_large_files` - the boolean value describing whether files larger than 100MB were found during the `importing` step. + * * `large_files_size` - the total size in gigabytes of files larger than 100MB found in the originating repository. + * * `large_files_count` - the total number of files larger than 100MB found in the originating repository. To see a list of these files, make a "Get Large Files" request. + */ + getImportProgress: { + (params?: RequestParameters & MigrationsGetImportProgressParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * List files larger than 100MB found during the import + */ + getLargeFiles: { + (params?: RequestParameters & MigrationsGetLargeFilesParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Fetches a single user migration. The response includes the `state` of the migration, which can be one of the following values: + * + * * `pending` - the migration hasn't started yet. + * * `exporting` - the migration is in progress. + * * `exported` - the migration finished successfully. + * * `failed` - the migration failed. + * + * Once the migration has been `exported` you can [download the migration archive](https://developer.github.com/v3/migrations/users/#download-a-user-migration-archive). + */ + getStatusForAuthenticatedUser: { + (params?: RequestParameters & MigrationsGetStatusForAuthenticatedUserParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Fetches the status of a migration. + * + * The `state` of a migration can be one of the following values: + * + * * `pending`, which means the migration hasn't started yet. + * * `exporting`, which means the migration is in progress. + * * `exported`, which means the migration finished successfully. + * * `failed`, which means the migration failed. + */ + getStatusForOrg: { + (params?: RequestParameters & MigrationsGetStatusForOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Lists all migrations a user has started. + */ + listForAuthenticatedUser: { + (params?: RequestParameters & MigrationsListForAuthenticatedUserParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Lists the most recent migrations. + */ + listForOrg: { + (params?: RequestParameters & MigrationsListForOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * List all the repositories for this organization migration. + */ + listReposForOrg: { + (params?: RequestParameters & MigrationsListReposForOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Lists all the repositories for this user migration. + */ + listReposForUser: { + (params?: RequestParameters & MigrationsListReposForUserParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Update an author's identity for the import. Your application can continue updating authors any time before you push new commits to the repository. + */ + mapCommitAuthor: { + (params?: RequestParameters & MigrationsMapCommitAuthorParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * You can import repositories from Subversion, Mercurial, and TFS that include files larger than 100MB. This ability is powered by [Git LFS](https://git-lfs.github.com). You can learn more about our LFS feature and working with large files [on our help site](https://help.github.com/articles/versioning-large-files/). + */ + setLfsPreference: { + (params?: RequestParameters & MigrationsSetLfsPreferenceParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Initiates the generation of a user migration archive. + */ + startForAuthenticatedUser: { + (params?: RequestParameters & MigrationsStartForAuthenticatedUserParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Initiates the generation of a migration archive. + */ + startForOrg: { + (params?: RequestParameters & MigrationsStartForOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Start a source import to a GitHub repository using GitHub Importer. + */ + startImport: { + (params?: RequestParameters & MigrationsStartImportParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Unlocks a repository. You can lock repositories when you [start a user migration](https://developer.github.com/v3/migrations/users/#start-a-user-migration). Once the migration is complete you can unlock each repository to begin using it again or [delete the repository](https://developer.github.com/v3/repos/#delete-a-repository) if you no longer need the source data. Returns a status of `404 Not Found` if the repository is not locked. + */ + unlockRepoForAuthenticatedUser: { + (params?: RequestParameters & MigrationsUnlockRepoForAuthenticatedUserParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Unlocks a repository that was locked for migration. You should unlock each migrated repository and [delete them](https://developer.github.com/v3/repos/#delete-a-repository) when the migration is complete and you no longer need the source data. + */ + unlockRepoForOrg: { + (params?: RequestParameters & MigrationsUnlockRepoForOrgParams): Promise; + endpoint: EndpointInterface; + }; + /** + * An import can be updated with credentials or a project choice by passing in the appropriate parameters in this API request. If no parameters are provided, the import will be restarted. + * + * Some servers (e.g. TFS servers) can have several projects at a single URL. In those cases the import progress will have the status `detection_found_multiple` and the Import Progress response will include a `project_choices` array. You can select the project to import by providing one of the objects in the `project_choices` array in the update request. + * + * The following example demonstrates the workflow for updating an import with "project1" as the project choice. Given a `project_choices` array like such: + * + * To restart an import, no parameters are provided in the update request. + */ + updateImport: { + (params?: RequestParameters & MigrationsUpdateImportParams): Promise>; + endpoint: EndpointInterface; + }; + }; + oauthAuthorizations: { + /** + * **Deprecation Notice:** GitHub will replace and discontinue OAuth endpoints containing `access_token` in the path parameter. We are introducing new endpoints that allow you to securely manage tokens for OAuth Apps by using `access_token` as an input parameter. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * OAuth applications can use a special API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://developer.github.com/v3/auth#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. + * @deprecated octokit.oauthAuthorizations.checkAuthorization() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#check-an-authorization + */ + checkAuthorization: { + (params?: RequestParameters & OauthAuthorizationsCheckAuthorizationParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * **Warning:** Apps must use the [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * Creates OAuth tokens using [Basic Authentication](https://developer.github.com/v3/auth#basic-authentication). If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://developer.github.com/v3/auth/#working-with-two-factor-authentication)." + * + * To create tokens for a particular OAuth application using this endpoint, you must authenticate as the user you want to create an authorization for and provide the app's client ID and secret, found on your OAuth application's settings page. If your OAuth application intends to create multiple tokens for one user, use `fingerprint` to differentiate between them. + * + * You can also create tokens on GitHub from the [personal access tokens settings](https://github.com/settings/tokens) page. Read more about these tokens in [the GitHub Help documentation](https://help.github.com/articles/creating-an-access-token-for-command-line-use). + * + * Organizations that enforce SAML SSO require personal access tokens to be whitelisted. Read more about whitelisting tokens in [the GitHub Help documentation](https://help.github.com/articles/about-identity-and-access-management-with-saml-single-sign-on). + * @deprecated octokit.oauthAuthorizations.createAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#create-a-new-authorization + */ + createAuthorization: { + (params?: RequestParameters & OauthAuthorizationsCreateAuthorizationParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * @deprecated octokit.oauthAuthorizations.deleteAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#delete-an-authorization + */ + deleteAuthorization: { + (params?: RequestParameters & OauthAuthorizationsDeleteAuthorizationParams): Promise; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * Deleting an OAuth application's grant will also delete all OAuth tokens associated with the application for your user. Once deleted, the application has no access to your account and is no longer listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). + * @deprecated octokit.oauthAuthorizations.deleteGrant() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#delete-a-grant + */ + deleteGrant: { + (params?: RequestParameters & OauthAuthorizationsDeleteGrantParams): Promise; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * @deprecated octokit.oauthAuthorizations.getAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-a-single-authorization + */ + getAuthorization: { + (params?: RequestParameters & OauthAuthorizationsGetAuthorizationParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * @deprecated octokit.oauthAuthorizations.getGrant() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-a-single-grant + */ + getGrant: { + (params?: RequestParameters & OauthAuthorizationsGetGrantParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * **Warning:** Apps must use the [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * Creates a new authorization for the specified OAuth application, only if an authorization for that application doesn't already exist for the user. The URL includes the 20 character client ID for the OAuth app that is requesting the token. It returns the user's existing authorization for the application if one is present. Otherwise, it creates and returns a new one. + * + * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://developer.github.com/v3/auth/#working-with-two-factor-authentication)." + * + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * @deprecated octokit.oauthAuthorizations.getOrCreateAuthorizationForApp() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app + */ + getOrCreateAuthorizationForApp: { + (params?: RequestParameters & OauthAuthorizationsGetOrCreateAuthorizationForAppParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * **Warning:** Apps must use the [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * This method will create a new authorization for the specified OAuth application, only if an authorization for that application and fingerprint do not already exist for the user. The URL includes the 20 character client ID for the OAuth app that is requesting the token. `fingerprint` is a unique string to distinguish an authorization from others created for the same client ID and user. It returns the user's existing authorization for the application if one is present. Otherwise, it creates and returns a new one. + * + * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://developer.github.com/v3/auth/#working-with-two-factor-authentication)." + * @deprecated octokit.oauthAuthorizations.getOrCreateAuthorizationForAppAndFingerprint() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app-and-fingerprint + */ + getOrCreateAuthorizationForAppAndFingerprint: { + (params?: RequestParameters & OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * **Warning:** Apps must use the [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * This method will create a new authorization for the specified OAuth application, only if an authorization for that application and fingerprint do not already exist for the user. The URL includes the 20 character client ID for the OAuth app that is requesting the token. `fingerprint` is a unique string to distinguish an authorization from others created for the same client ID and user. It returns the user's existing authorization for the application if one is present. Otherwise, it creates and returns a new one. + * + * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://developer.github.com/v3/auth/#working-with-two-factor-authentication)." + * @deprecated octokit.oauthAuthorizations.getOrCreateAuthorizationForAppFingerprint() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app-and-fingerprint + */ + getOrCreateAuthorizationForAppFingerprint: { + (params?: RequestParameters & OauthAuthorizationsGetOrCreateAuthorizationForAppFingerprintParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * @deprecated octokit.oauthAuthorizations.listAuthorizations() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#list-your-authorizations + */ + listAuthorizations: { + (params?: RequestParameters & OauthAuthorizationsListAuthorizationsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * You can use this API to list the set of OAuth applications that have been granted access to your account. Unlike the [list your authorizations](https://developer.github.com/v3/oauth_authorizations/#list-your-authorizations) API, this API does not manage individual tokens. This API will return one entry for each OAuth application that has been granted access to your account, regardless of the number of tokens an application has generated for your user. The list of OAuth applications returned matches what is shown on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). The `scopes` returned are the union of scopes authorized for the application. For example, if an application has one token with `repo` scope and another token with `user` scope, the grant will return `["repo", "user"]`. + * @deprecated octokit.oauthAuthorizations.listGrants() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#list-your-grants + */ + listGrants: { + (params?: RequestParameters & OauthAuthorizationsListGrantsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** GitHub will replace and discontinue OAuth endpoints containing `access_token` in the path parameter. We are introducing new endpoints that allow you to securely manage tokens for OAuth Apps by using `access_token` as an input parameter. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * OAuth applications can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the "token" property in the response because changes take effect immediately. You must use [Basic Authentication](https://developer.github.com/v3/auth#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. + * @deprecated octokit.oauthAuthorizations.resetAuthorization() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#reset-an-authorization + */ + resetAuthorization: { + (params?: RequestParameters & OauthAuthorizationsResetAuthorizationParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** GitHub will replace and discontinue OAuth endpoints containing `access_token` in the path parameter. We are introducing new endpoints that allow you to securely manage tokens for OAuth Apps by using `access_token` as an input parameter. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * OAuth application owners can revoke a single token for an OAuth application. You must use [Basic Authentication](https://developer.github.com/v3/auth#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. + * @deprecated octokit.oauthAuthorizations.revokeAuthorizationForApplication() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#revoke-an-authorization-for-an-application + */ + revokeAuthorizationForApplication: { + (params?: RequestParameters & OauthAuthorizationsRevokeAuthorizationForApplicationParams): Promise; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** GitHub will replace and discontinue OAuth endpoints containing `access_token` in the path parameter. We are introducing new endpoints that allow you to securely manage tokens for OAuth Apps by using `access_token` as an input parameter. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * OAuth application owners can revoke a grant for their OAuth application and a specific user. You must use [Basic Authentication](https://developer.github.com/v3/auth#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. You must also provide a valid token as `:access_token` and the grant for the token's owner will be deleted. + * + * Deleting an OAuth application's grant will also delete all OAuth tokens associated with the application for the user. Once deleted, the application will have no access to the user's account and will no longer be listed on [the Applications settings page under "Authorized OAuth Apps" on GitHub](https://github.com/settings/applications#authorized). + * @deprecated octokit.oauthAuthorizations.revokeGrantForApplication() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#revoke-a-grant-for-an-application + */ + revokeGrantForApplication: { + (params?: RequestParameters & OauthAuthorizationsRevokeGrantForApplicationParams): Promise; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://developer.github.com/v3/auth/#working-with-two-factor-authentication)." + * + * You can only send one of these scope keys at a time. + * @deprecated octokit.oauthAuthorizations.updateAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#update-an-existing-authorization + */ + updateAuthorization: { + (params?: RequestParameters & OauthAuthorizationsUpdateAuthorizationParams): Promise>; + endpoint: EndpointInterface; + }; + }; + orgs: { + /** + * Only authenticated organization owners can add a member to the organization or update the member's role. + * + * * If the authenticated user is _adding_ a member to the organization, the invited user will receive an email inviting them to the organization. The user's [membership status](https://developer.github.com/v3/orgs/members/#get-organization-membership) will be `pending` until they accept the invitation. + * + * * Authenticated users can _update_ a user's membership by passing the `role` parameter. If the authenticated user changes a member's role to `admin`, the affected user will receive an email notifying them that they've been made an organization owner. If the authenticated user changes an owner's role to `member`, no email will be sent. + * + * **Rate limits** + * + * To prevent abuse, the authenticated user is limited to 50 organization invitations per 24 hour period. If the organization is more than one month old or on a paid plan, the limit is 500 invitations per 24 hour period. + */ + addOrUpdateMembership: { + (params?: RequestParameters & OrgsAddOrUpdateMembershipParams): Promise>; + endpoint: EndpointInterface; + }; + blockUser: { + (params?: RequestParameters & OrgsBlockUserParams): Promise; + endpoint: EndpointInterface; + }; + /** + * If the user is blocked: + * + * If the user is not blocked: + */ + checkBlockedUser: { + (params?: RequestParameters & OrgsCheckBlockedUserParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Check if a user is, publicly or privately, a member of the organization. + */ + checkMembership: { + (params?: RequestParameters & OrgsCheckMembershipParams): Promise; + endpoint: EndpointInterface; + }; + checkPublicMembership: { + (params?: RequestParameters & OrgsCheckPublicMembershipParams): Promise; + endpoint: EndpointInterface; + }; + concealMembership: { + (params?: RequestParameters & OrgsConcealMembershipParams): Promise; + endpoint: EndpointInterface; + }; + /** + * When an organization member is converted to an outside collaborator, they'll only have access to the repositories that their current team membership allows. The user will no longer be a member of the organization. For more information, see "[Converting an organization member to an outside collaborator](https://help.github.com/articles/converting-an-organization-member-to-an-outside-collaborator/)". + */ + convertMemberToOutsideCollaborator: { + (params?: RequestParameters & OrgsConvertMemberToOutsideCollaboratorParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Here's how you can create a hook that posts payloads in JSON format: + */ + createHook: { + (params?: RequestParameters & OrgsCreateHookParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Invite people to an organization by using their GitHub user ID or their email address. In order to create invitations in an organization, the authenticated user must be an organization owner. + * + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://developer.github.com/v3/#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://developer.github.com/v3/guides/best-practices-for-integrators/#dealing-with-abuse-rate-limits)" for details. + */ + createInvitation: { + (params?: RequestParameters & OrgsCreateInvitationParams): Promise>; + endpoint: EndpointInterface; + }; + deleteHook: { + (params?: RequestParameters & OrgsDeleteHookParams): Promise; + endpoint: EndpointInterface; + }; + /** + * To see many of the organization response values, you need to be an authenticated organization owner with the `admin:org` scope. When the value of `two_factor_requirement_enabled` is `true`, the organization requires all members, billing managers, and outside collaborators to enable [two-factor authentication](https://help.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/). + * + * GitHub Apps with the `Organization plan` permission can use this endpoint to retrieve information about an organization's GitHub plan. See "[Authenticating with GitHub Apps](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/)" for details. For an example response, see "[Response with GitHub plan information](https://developer.github.com/v3/orgs/#response-with-github-plan-information)." + */ + get: { + (params?: RequestParameters & OrgsGetParams): Promise>; + endpoint: EndpointInterface; + }; + getHook: { + (params?: RequestParameters & OrgsGetHookParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * In order to get a user's membership with an organization, the authenticated user must be an organization member. + */ + getMembership: { + (params?: RequestParameters & OrgsGetMembershipParams): Promise>; + endpoint: EndpointInterface; + }; + getMembershipForAuthenticatedUser: { + (params?: RequestParameters & OrgsGetMembershipForAuthenticatedUserParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Lists all organizations, in the order that they were created on GitHub. + * + * **Note:** Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://developer.github.com/v3/#link-header) to get the URL for the next page of organizations. + */ + list: { + (params?: RequestParameters & OrgsListParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * List the users blocked by an organization. + */ + listBlockedUsers: { + (params?: RequestParameters & OrgsListBlockedUsersParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * List organizations for the authenticated user. + * + * **OAuth scope requirements** + * + * This only lists organizations that your authorization allows you to operate on in some way (e.g., you can list teams with `read:org` scope, you can publicize your organization membership with `user` scope, etc.). Therefore, this API requires at least `user` or `read:org` scope. OAuth requests with insufficient scope receive a `403 Forbidden` response. + */ + listForAuthenticatedUser: { + (params?: RequestParameters & OrgsListForAuthenticatedUserParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * List [public organization memberships](https://help.github.com/articles/publicizing-or-concealing-organization-membership) for the specified user. + * + * This method only lists _public_ memberships, regardless of authentication. If you need to fetch all of the organization memberships (public and private) for the authenticated user, use the [List your organizations](https://developer.github.com/v3/orgs/#list-your-organizations) API instead. + */ + listForUser: { + (params?: RequestParameters & OrgsListForUserParams): Promise>; + endpoint: EndpointInterface; + }; + listHooks: { + (params?: RequestParameters & OrgsListHooksParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Lists all GitHub Apps in an organization. The installation count includes all GitHub Apps installed on repositories in the organization. You must be an organization owner with `admin:read` scope to use this endpoint. + */ + listInstallations: { + (params?: RequestParameters & OrgsListInstallationsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * List all teams associated with an invitation. In order to see invitations in an organization, the authenticated user must be an organization owner. + */ + listInvitationTeams: { + (params?: RequestParameters & OrgsListInvitationTeamsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * List all users who are members of an organization. If the authenticated user is also a member of this organization then both concealed and public members will be returned. + */ + listMembers: { + (params?: RequestParameters & OrgsListMembersParams): Promise>; + endpoint: EndpointInterface; + }; + listMemberships: { + (params?: RequestParameters & OrgsListMembershipsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * List all users who are outside collaborators of an organization. + */ + listOutsideCollaborators: { + (params?: RequestParameters & OrgsListOutsideCollaboratorsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. + */ + listPendingInvitations: { + (params?: RequestParameters & OrgsListPendingInvitationsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Members of an organization can choose to have their membership publicized or not. + */ + listPublicMembers: { + (params?: RequestParameters & OrgsListPublicMembersParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * This will trigger a [ping event](https://developer.github.com/webhooks/#ping-event) to be sent to the hook. + */ + pingHook: { + (params?: RequestParameters & OrgsPingHookParams): Promise; + endpoint: EndpointInterface; + }; + /** + * The user can publicize their own membership. (A user cannot publicize the membership for another user.) + * + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://developer.github.com/v3/#http-verbs)." + */ + publicizeMembership: { + (params?: RequestParameters & OrgsPublicizeMembershipParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories. + */ + removeMember: { + (params?: RequestParameters & OrgsRemoveMemberParams): Promise; + endpoint: EndpointInterface; + }; + /** + * In order to remove a user's membership with an organization, the authenticated user must be an organization owner. + * + * If the specified user is an active member of the organization, this will remove them from the organization. If the specified user has been invited to the organization, this will cancel their invitation. The specified user will receive an email notification in both cases. + */ + removeMembership: { + (params?: RequestParameters & OrgsRemoveMembershipParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Removing a user from this list will remove them from all the organization's repositories. + */ + removeOutsideCollaborator: { + (params?: RequestParameters & OrgsRemoveOutsideCollaboratorParams): Promise>; + endpoint: EndpointInterface; + }; + unblockUser: { + (params?: RequestParameters & OrgsUnblockUserParams): Promise; + endpoint: EndpointInterface; + }; + /** + * **Parameter Deprecation Notice:** GitHub will replace and discontinue `members_allowed_repository_creation_type` in favor of more granular permissions. The new input parameters are `members_can_create_public_repositories`, `members_can_create_private_repositories` for all organizations and `members_can_create_internal_repositories` for organizations associated with an enterprise account using GitHub Enterprise Cloud. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes). + * + * Enables an authenticated organization owner with the `admin:org` scope to update the organization's profile and member privileges. + */ + update: { + (params?: RequestParameters & OrgsUpdateParamsDeprecatedMembersAllowedRepositoryCreationType): Promise>; + (params?: RequestParameters & OrgsUpdateParams): Promise>; + endpoint: EndpointInterface; + }; + updateHook: { + (params?: RequestParameters & OrgsUpdateHookParams): Promise>; + endpoint: EndpointInterface; + }; + updateMembership: { + (params?: RequestParameters & OrgsUpdateMembershipParams): Promise>; + endpoint: EndpointInterface; + }; + }; + projects: { + /** + * Adds a collaborator to a an organization project and sets their permission level. You must be an organization owner or a project `admin` to add a collaborator. + */ + addCollaborator: { + (params?: RequestParameters & ProjectsAddCollaboratorParams): Promise; + endpoint: EndpointInterface; + }; + /** + * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by the `pull_request` key. + * + * Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull request id, use the "[List pull requests](https://developer.github.com/v3/pulls/#list-pull-requests)" endpoint. + */ + createCard: { + (params?: RequestParameters & ProjectsCreateCardParams): Promise>; + endpoint: EndpointInterface; + }; + createColumn: { + (params?: RequestParameters & ProjectsCreateColumnParams): Promise>; + endpoint: EndpointInterface; + }; + createForAuthenticatedUser: { + (params?: RequestParameters & ProjectsCreateForAuthenticatedUserParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Creates an organization project board. Returns a `404 Not Found` status if projects are disabled in the organization. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + createForOrg: { + (params?: RequestParameters & ProjectsCreateForOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Creates a repository project board. Returns a `404 Not Found` status if projects are disabled in the repository. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + createForRepo: { + (params?: RequestParameters & ProjectsCreateForRepoParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Deletes a project board. Returns a `404 Not Found` status if projects are disabled. + */ + delete: { + (params?: RequestParameters & ProjectsDeleteParams): Promise; + endpoint: EndpointInterface; + }; + deleteCard: { + (params?: RequestParameters & ProjectsDeleteCardParams): Promise; + endpoint: EndpointInterface; + }; + deleteColumn: { + (params?: RequestParameters & ProjectsDeleteColumnParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Gets a project by its `id`. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + get: { + (params?: RequestParameters & ProjectsGetParams): Promise>; + endpoint: EndpointInterface; + }; + getCard: { + (params?: RequestParameters & ProjectsGetCardParams): Promise>; + endpoint: EndpointInterface; + }; + getColumn: { + (params?: RequestParameters & ProjectsGetColumnParams): Promise>; + endpoint: EndpointInterface; + }; + listCards: { + (params?: RequestParameters & ProjectsListCardsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Lists the collaborators for an organization project. For a project, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. You must be an organization owner or a project `admin` to list collaborators. + */ + listCollaborators: { + (params?: RequestParameters & ProjectsListCollaboratorsParams): Promise>; + endpoint: EndpointInterface; + }; + listColumns: { + (params?: RequestParameters & ProjectsListColumnsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Lists the projects in an organization. Returns a `404 Not Found` status if projects are disabled in the organization. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + * + * s + */ + listForOrg: { + (params?: RequestParameters & ProjectsListForOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Lists the projects in a repository. Returns a `404 Not Found` status if projects are disabled in the repository. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + listForRepo: { + (params?: RequestParameters & ProjectsListForRepoParams): Promise>; + endpoint: EndpointInterface; + }; + listForUser: { + (params?: RequestParameters & ProjectsListForUserParams): Promise>; + endpoint: EndpointInterface; + }; + moveCard: { + (params?: RequestParameters & ProjectsMoveCardParams): Promise; + endpoint: EndpointInterface; + }; + moveColumn: { + (params?: RequestParameters & ProjectsMoveColumnParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Removes a collaborator from an organization project. You must be an organization owner or a project `admin` to remove a collaborator. + */ + removeCollaborator: { + (params?: RequestParameters & ProjectsRemoveCollaboratorParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Returns the collaborator's permission level for an organization project. Possible values for the `permission` key: `admin`, `write`, `read`, `none`. You must be an organization owner or a project `admin` to review a user's permission level. + */ + reviewUserPermissionLevel: { + (params?: RequestParameters & ProjectsReviewUserPermissionLevelParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Updates a project board's information. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + update: { + (params?: RequestParameters & ProjectsUpdateParams): Promise>; + endpoint: EndpointInterface; + }; + updateCard: { + (params?: RequestParameters & ProjectsUpdateCardParams): Promise>; + endpoint: EndpointInterface; + }; + updateColumn: { + (params?: RequestParameters & ProjectsUpdateColumnParams): Promise>; + endpoint: EndpointInterface; + }; + }; + pulls: { + checkIfMerged: { + (params?: RequestParameters & PullsCheckIfMergedParamsDeprecatedNumber): Promise; + (params?: RequestParameters & PullsCheckIfMergedParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Draft pull requests are available in public repositories with GitHub Free and GitHub Pro, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. + * + * You can create a new pull request. + * + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://developer.github.com/v3/#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://developer.github.com/v3/guides/best-practices-for-integrators/#dealing-with-abuse-rate-limits)" for details. + */ + create: { + (params?: RequestParameters & PullsCreateParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Note:** Multi-line comments on pull requests are currently in public beta and subject to change. + * + * Creates a review comment in the pull request diff. To add a regular comment to a pull request timeline, see "[Comments](https://developer.github.com/v3/issues/comments/#create-a-comment)." We recommend creating a review comment using `line`, `side`, and optionally `start_line` and `start_side` if your comment applies to more than one line in the pull request diff. + * + * You can still create a review comment using the `position` parameter. When you use `position`, the `line`, `side`, `start_line`, and `start_side` parameters are not required. For more information, see [Multi-line comment summary](https://developer.github.com/v3/pulls/comments/#multi-line-comment-summary-3). + * + * **Note:** The position value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. + * + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://developer.github.com/v3/#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://developer.github.com/v3/guides/best-practices-for-integrators/#dealing-with-abuse-rate-limits)" for details. + * + * **Multi-line comment summary** + * + * **Note:** New parameters and response fields are available for developers to preview. During the preview period, these response fields may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2019-10-03-multi-line-comments) for full details. + * + * Use the `comfort-fade` preview header and the `line` parameter to show multi-line comment-supported fields in the response. + * + * If you use the `comfort-fade` preview header, your response will show: + * + * * For multi-line comments, values for `start_line`, `original_start_line`, `start_side`, `line`, `original_line`, and `side`. + * * For single-line comments, values for `line`, `original_line`, and `side` and a `null` value for `start_line`, `original_start_line`, and `start_side`. + * + * If you don't use the `comfort-fade` preview header, multi-line and single-line comments will appear the same way in the response with a single `position` attribute. Your response will show: + * + * * For multi-line comments, the last line of the comment range for the `position` attribute. + * * For single-line comments, the diff-positioned way of referencing comments for the `position` attribute. For more information, see `position` in the [input parameters](https://developer.github.com/v3/pulls/comments/#parameters-2) table. + */ + createComment: { + (params?: RequestParameters & PullsCreateCommentParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & PullsCreateCommentParamsDeprecatedInReplyTo): Promise>; + (params?: RequestParameters & PullsCreateCommentParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Note:** Multi-line comments on pull requests are currently in public beta and subject to change. + * + * Creates a review comment in the pull request diff. To add a regular comment to a pull request timeline, see "[Comments](https://developer.github.com/v3/issues/comments/#create-a-comment)." We recommend creating a review comment using `line`, `side`, and optionally `start_line` and `start_side` if your comment applies to more than one line in the pull request diff. + * + * You can still create a review comment using the `position` parameter. When you use `position`, the `line`, `side`, `start_line`, and `start_side` parameters are not required. For more information, see [Multi-line comment summary](https://developer.github.com/v3/pulls/comments/#multi-line-comment-summary-3). + * + * **Note:** The position value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. + * + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://developer.github.com/v3/#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://developer.github.com/v3/guides/best-practices-for-integrators/#dealing-with-abuse-rate-limits)" for details. + * + * **Multi-line comment summary** + * + * **Note:** New parameters and response fields are available for developers to preview. During the preview period, these response fields may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2019-10-03-multi-line-comments) for full details. + * + * Use the `comfort-fade` preview header and the `line` parameter to show multi-line comment-supported fields in the response. + * + * If you use the `comfort-fade` preview header, your response will show: + * + * * For multi-line comments, values for `start_line`, `original_start_line`, `start_side`, `line`, `original_line`, and `side`. + * * For single-line comments, values for `line`, `original_line`, and `side` and a `null` value for `start_line`, `original_start_line`, and `start_side`. + * + * If you don't use the `comfort-fade` preview header, multi-line and single-line comments will appear the same way in the response with a single `position` attribute. Your response will show: + * + * * For multi-line comments, the last line of the comment range for the `position` attribute. + * * For single-line comments, the diff-positioned way of referencing comments for the `position` attribute. For more information, see `position` in the [input parameters](https://developer.github.com/v3/pulls/comments/#parameters-2) table. + * @deprecated octokit.pulls.createCommentReply() has been renamed to octokit.pulls.createComment() (2019-09-09) + */ + createCommentReply: { + (params?: RequestParameters & PullsCreateCommentReplyParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & PullsCreateCommentReplyParamsDeprecatedInReplyTo): Promise>; + (params?: RequestParameters & PullsCreateCommentReplyParams): Promise>; + endpoint: EndpointInterface; + }; + createFromIssue: { + (params?: RequestParameters & PullsCreateFromIssueParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://developer.github.com/v3/#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://developer.github.com/v3/guides/best-practices-for-integrators/#dealing-with-abuse-rate-limits)" for details. + * + * **Note:** To comment on a specific line in a file, you need to first determine the _position_ of that line in the diff. The GitHub REST API v3 offers the `application/vnd.github.v3.diff` [media type](https://developer.github.com/v3/media/#commits-commit-comparison-and-pull-requests). To see a pull request diff, add this media type to the `Accept` header of a call to the [single pull request](https://developer.github.com/v3/pulls/#get-a-single-pull-request) endpoint. + * + * The `position` value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. + */ + createReview: { + (params?: RequestParameters & PullsCreateReviewParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & PullsCreateReviewParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Creates a reply to a review comment for a pull request. For the `comment_id`, provide the ID of the review comment you are replying to. This must be the ID of a _top-level review comment_, not a reply to that comment. Replies to replies are not supported. + * + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://developer.github.com/v3/#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://developer.github.com/v3/guides/best-practices-for-integrators/#dealing-with-abuse-rate-limits)" for details. + */ + createReviewCommentReply: { + (params?: RequestParameters & PullsCreateReviewCommentReplyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://developer.github.com/v3/#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://developer.github.com/v3/guides/best-practices-for-integrators/#dealing-with-abuse-rate-limits)" for details. + */ + createReviewRequest: { + (params?: RequestParameters & PullsCreateReviewRequestParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & PullsCreateReviewRequestParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Deletes a review comment. + */ + deleteComment: { + (params?: RequestParameters & PullsDeleteCommentParams): Promise; + endpoint: EndpointInterface; + }; + deletePendingReview: { + (params?: RequestParameters & PullsDeletePendingReviewParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & PullsDeletePendingReviewParams): Promise>; + endpoint: EndpointInterface; + }; + deleteReviewRequest: { + (params?: RequestParameters & PullsDeleteReviewRequestParamsDeprecatedNumber): Promise; + (params?: RequestParameters & PullsDeleteReviewRequestParams): Promise; + endpoint: EndpointInterface; + }; + /** + * **Note:** To dismiss a pull request review on a [protected branch](https://developer.github.com/v3/repos/branches/), you must be a repository administrator or be included in the list of people or teams who can dismiss pull request reviews. + */ + dismissReview: { + (params?: RequestParameters & PullsDismissReviewParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & PullsDismissReviewParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Draft pull requests are available in public repositories with GitHub Free and GitHub Pro, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists details of a pull request by providing its number. + * + * When you get, [create](https://developer.github.com/v3/pulls/#create-a-pull-request), or [edit](https://developer.github.com/v3/pulls/#update-a-pull-request) a pull request, GitHub creates a merge commit to test whether the pull request can be automatically merged into the base branch. This test commit is not added to the base branch or the head branch. You can review the status of the test commit using the `mergeable` key. For more information, see "[Checking mergeability of pull requests](https://developer.github.com/v3/git/#checking-mergeability-of-pull-requests)". + * + * The value of the `mergeable` attribute can be `true`, `false`, or `null`. If the value is `null`, then GitHub has started a background job to compute the mergeability. After giving the job time to complete, resubmit the request. When the job finishes, you will see a non-`null` value for the `mergeable` attribute in the response. If `mergeable` is `true`, then `merge_commit_sha` will be the SHA of the _test_ merge commit. + * + * The value of the `merge_commit_sha` attribute changes depending on the state of the pull request. Before merging a pull request, the `merge_commit_sha` attribute holds the SHA of the _test_ merge commit. After merging a pull request, the `merge_commit_sha` attribute changes depending on how you merged the pull request: + * + * * If merged as a [merge commit](https://help.github.com/articles/about-merge-methods-on-github/), `merge_commit_sha` represents the SHA of the merge commit. + * * If merged via a [squash](https://help.github.com/articles/about-merge-methods-on-github/#squashing-your-merge-commits), `merge_commit_sha` represents the SHA of the squashed commit on the base branch. + * * If [rebased](https://help.github.com/articles/about-merge-methods-on-github/#rebasing-and-merging-your-commits), `merge_commit_sha` represents the commit that the base branch was updated to. + * + * Pass the appropriate [media type](https://developer.github.com/v3/media/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. + */ + get: { + (params?: RequestParameters & PullsGetParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & PullsGetParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Note:** Multi-line comments on pull requests are currently in public beta and subject to change. + * + * Provides details for a review comment. + * + * **Multi-line comment summary** + * + * **Note:** New parameters and response fields are available for developers to preview. During the preview period, these response fields may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2019-10-03-multi-line-comments) for full details. + * + * Use the `comfort-fade` preview header and the `line` parameter to show multi-line comment-supported fields in the response. + * + * If you use the `comfort-fade` preview header, your response will show: + * + * * For multi-line comments, values for `start_line`, `original_start_line`, `start_side`, `line`, `original_line`, and `side`. + * * For single-line comments, values for `line`, `original_line`, and `side` and a `null` value for `start_line`, `original_start_line`, and `start_side`. + * + * If you don't use the `comfort-fade` preview header, multi-line and single-line comments will appear the same way in the response with a single `position` attribute. Your response will show: + * + * * For multi-line comments, the last line of the comment range for the `position` attribute. + * * For single-line comments, the diff-positioned way of referencing comments for the `position` attribute. For more information, see `position` in the [input parameters](https://developer.github.com/v3/pulls/comments/#parameters-2) table. + * + * The `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://developer.github.com/v3/reactions) reactions. + */ + getComment: { + (params?: RequestParameters & PullsGetCommentParams): Promise>; + endpoint: EndpointInterface; + }; + getCommentsForReview: { + (params?: RequestParameters & PullsGetCommentsForReviewParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & PullsGetCommentsForReviewParams): Promise>; + endpoint: EndpointInterface; + }; + getReview: { + (params?: RequestParameters & PullsGetReviewParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & PullsGetReviewParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Draft pull requests are available in public repositories with GitHub Free and GitHub Pro, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + list: { + (params?: RequestParameters & PullsListParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Note:** Multi-line comments on pull requests are currently in public beta and subject to change. + * + * Lists review comments for a pull request. By default, review comments are in ascending order by ID. + * + * **Multi-line comment summary** + * + * **Note:** New parameters and response fields are available for developers to preview. During the preview period, these response fields may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2019-10-03-multi-line-comments) for full details. + * + * Use the `comfort-fade` preview header and the `line` parameter to show multi-line comment-supported fields in the response. + * + * If you use the `comfort-fade` preview header, your response will show: + * + * * For multi-line comments, values for `start_line`, `original_start_line`, `start_side`, `line`, `original_line`, and `side`. + * * For single-line comments, values for `line`, `original_line`, and `side` and a `null` value for `start_line`, `original_start_line`, and `start_side`. + * + * If you don't use the `comfort-fade` preview header, multi-line and single-line comments will appear the same way in the response with a single `position` attribute. Your response will show: + * + * * For multi-line comments, the last line of the comment range for the `position` attribute. + * * For single-line comments, the diff-positioned way of referencing comments for the `position` attribute. For more information, see `position` in the [input parameters](https://developer.github.com/v3/pulls/comments/#parameters-2) table. + * + * The `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://developer.github.com/v3/reactions) reactions. + */ + listComments: { + (params?: RequestParameters & PullsListCommentsParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & PullsListCommentsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Note:** Multi-line comments on pull requests are currently in public beta and subject to change. + * + * Lists review comments for all pull requests in a repository. By default, review comments are in ascending order by ID. + * + * **Multi-line comment summary** + * + * **Note:** New parameters and response fields are available for developers to preview. During the preview period, these response fields may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2019-10-03-multi-line-comments) for full details. + * + * Use the `comfort-fade` preview header and the `line` parameter to show multi-line comment-supported fields in the response. + * + * If you use the `comfort-fade` preview header, your response will show: + * + * * For multi-line comments, values for `start_line`, `original_start_line`, `start_side`, `line`, `original_line`, and `side`. + * * For single-line comments, values for `line`, `original_line`, and `side` and a `null` value for `start_line`, `original_start_line`, and `start_side`. + * + * If you don't use the `comfort-fade` preview header, multi-line and single-line comments will appear the same way in the response with a single `position` attribute. Your response will show: + * + * * For multi-line comments, the last line of the comment range for the `position` attribute. + * * For single-line comments, the diff-positioned way of referencing comments for the `position` attribute. For more information, see `position` in the [input parameters](https://developer.github.com/v3/pulls/comments/#parameters-2) table. + * + * The `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://developer.github.com/v3/reactions) reactions. + */ + listCommentsForRepo: { + (params?: RequestParameters & PullsListCommentsForRepoParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Lists a maximum of 250 commits for a pull request. To receive a complete commit list for pull requests with more than 250 commits, use the [Commit List API](https://developer.github.com/v3/repos/commits/#list-commits-on-a-repository). + */ + listCommits: { + (params?: RequestParameters & PullsListCommitsParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & PullsListCommitsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Note:** Responses include a maximum of 3000 files. The paginated response returns 30 files per page by default. + */ + listFiles: { + (params?: RequestParameters & PullsListFilesParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & PullsListFilesParams): Promise>; + endpoint: EndpointInterface; + }; + listReviewRequests: { + (params?: RequestParameters & PullsListReviewRequestsParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & PullsListReviewRequestsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * The list of reviews returns in chronological order. + */ + listReviews: { + (params?: RequestParameters & PullsListReviewsParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & PullsListReviewsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://developer.github.com/v3/#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://developer.github.com/v3/guides/best-practices-for-integrators/#dealing-with-abuse-rate-limits)" for details. + */ + merge: { + (params?: RequestParameters & PullsMergeParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & PullsMergeParams): Promise>; + endpoint: EndpointInterface; + }; + submitReview: { + (params?: RequestParameters & PullsSubmitReviewParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & PullsSubmitReviewParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Draft pull requests are available in public repositories with GitHub Free and GitHub Pro, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. + */ + update: { + (params?: RequestParameters & PullsUpdateParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & PullsUpdateParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Updates the pull request branch with the latest upstream changes by merging HEAD from the base branch into the pull request branch. + */ + updateBranch: { + (params?: RequestParameters & PullsUpdateBranchParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Note:** Multi-line comments on pull requests are currently in public beta and subject to change. + * + * Enables you to edit a review comment. + * + * **Multi-line comment summary** + * + * **Note:** New parameters and response fields are available for developers to preview. During the preview period, these response fields may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2019-10-03-multi-line-comments) for full details. + * + * Use the `comfort-fade` preview header and the `line` parameter to show multi-line comment-supported fields in the response. + * + * If you use the `comfort-fade` preview header, your response will show: + * + * * For multi-line comments, values for `start_line`, `original_start_line`, `start_side`, `line`, `original_line`, and `side`. + * * For single-line comments, values for `line`, `original_line`, and `side` and a `null` value for `start_line`, `original_start_line`, and `start_side`. + * + * If you don't use the `comfort-fade` preview header, multi-line and single-line comments will appear the same way in the response with a single `position` attribute. Your response will show: + * + * * For multi-line comments, the last line of the comment range for the `position` attribute. + * * For single-line comments, the diff-positioned way of referencing comments for the `position` attribute. For more information, see `position` in the [input parameters](https://developer.github.com/v3/pulls/comments/#parameters-2) table. + */ + updateComment: { + (params?: RequestParameters & PullsUpdateCommentParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Update the review summary comment with new text. + */ + updateReview: { + (params?: RequestParameters & PullsUpdateReviewParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & PullsUpdateReviewParams): Promise>; + endpoint: EndpointInterface; + }; + }; + rateLimit: { + /** + * **Note:** Accessing this endpoint does not count against your REST API rate limit. + * + * **Understanding your rate limit status** + * + * The Search API has a [custom rate limit](https://developer.github.com/v3/search/#rate-limit), separate from the rate limit governing the rest of the REST API. The GraphQL API also has a [custom rate limit](https://developer.github.com/v4/guides/resource-limitations/#rate-limit) that is separate from and calculated differently than rate limits in the REST API. + * + * For these reasons, the Rate Limit API response categorizes your rate limit. Under `resources`, you'll see four objects: + * + * * The `core` object provides your rate limit status for all non-search-related resources in the REST API. + * * The `search` object provides your rate limit status for the [Search API](https://developer.github.com/v3/search/). + * * The `graphql` object provides your rate limit status for the [GraphQL API](https://developer.github.com/v4/). + * * The `integration_manifest` object provides your rate limit status for the [GitHub App Manifest code conversion](https://developer.github.com/apps/building-github-apps/creating-github-apps-from-a-manifest/#3-you-exchange-the-temporary-code-to-retrieve-the-app-configuration) endpoint. + * + * For more information on the headers and values in the rate limit response, see "[Rate limiting](https://developer.github.com/v3/#rate-limiting)." + * + * The `rate` object (shown at the bottom of the response above) is deprecated. + * + * If you're writing new API client code or updating existing code, you should use the `core` object instead of the `rate` object. The `core` object contains the same information that is present in the `rate` object. + */ + get: { + (params?: RequestParameters & EmptyParams): Promise>; + endpoint: EndpointInterface; + }; + }; + reactions: { + /** + * Create a reaction to a [commit comment](https://developer.github.com/v3/repos/comments/). A response with a `Status: 200 OK` means that you already added the reaction type to this commit comment. + */ + createForCommitComment: { + (params?: RequestParameters & ReactionsCreateForCommitCommentParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Create a reaction to an [issue](https://developer.github.com/v3/issues/). A response with a `Status: 200 OK` means that you already added the reaction type to this issue. + */ + createForIssue: { + (params?: RequestParameters & ReactionsCreateForIssueParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & ReactionsCreateForIssueParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Create a reaction to an [issue comment](https://developer.github.com/v3/issues/comments/). A response with a `Status: 200 OK` means that you already added the reaction type to this issue comment. + */ + createForIssueComment: { + (params?: RequestParameters & ReactionsCreateForIssueCommentParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Create a reaction to a [pull request review comment](https://developer.github.com/v3/pulls/comments/). A response with a `Status: 200 OK` means that you already added the reaction type to this pull request review comment. + */ + createForPullRequestReviewComment: { + (params?: RequestParameters & ReactionsCreateForPullRequestReviewCommentParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create reaction for a team discussion`](https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion) endpoint. + * + * Create a reaction to a [team discussion](https://developer.github.com/v3/teams/discussions/). OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with a `Status: 200 OK` means that you already added the reaction type to this team discussion. + * @deprecated octokit.reactions.createForTeamDiscussion() is deprecated, see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-legacy + */ + createForTeamDiscussion: { + (params?: RequestParameters & ReactionsCreateForTeamDiscussionParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create reaction for a team discussion comment`](https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-comment) endpoint. + * + * Create a reaction to a [team discussion comment](https://developer.github.com/v3/teams/discussion_comments/). OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with a `Status: 200 OK` means that you already added the reaction type to this team discussion comment. + * @deprecated octokit.reactions.createForTeamDiscussionComment() is deprecated, see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-comment-legacy + */ + createForTeamDiscussionComment: { + (params?: RequestParameters & ReactionsCreateForTeamDiscussionCommentParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Create a reaction to a [team discussion comment](https://developer.github.com/v3/teams/discussion_comments/). OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with a `Status: 200 OK` means that you already added the reaction type to this team discussion comment. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. + */ + createForTeamDiscussionCommentInOrg: { + (params?: RequestParameters & ReactionsCreateForTeamDiscussionCommentInOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create reaction for a team discussion comment`](https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-comment) endpoint. + * + * Create a reaction to a [team discussion comment](https://developer.github.com/v3/teams/discussion_comments/). OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with a `Status: 200 OK` means that you already added the reaction type to this team discussion comment. + * @deprecated octokit.reactions.createForTeamDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-comment-legacy + */ + createForTeamDiscussionCommentLegacy: { + (params?: RequestParameters & ReactionsCreateForTeamDiscussionCommentLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Create a reaction to a [team discussion](https://developer.github.com/v3/teams/discussions/). OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with a `Status: 200 OK` means that you already added the reaction type to this team discussion. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. + */ + createForTeamDiscussionInOrg: { + (params?: RequestParameters & ReactionsCreateForTeamDiscussionInOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create reaction for a team discussion`](https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion) endpoint. + * + * Create a reaction to a [team discussion](https://developer.github.com/v3/teams/discussions/). OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with a `Status: 200 OK` means that you already added the reaction type to this team discussion. + * @deprecated octokit.reactions.createForTeamDiscussionLegacy() is deprecated, see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-legacy + */ + createForTeamDiscussionLegacy: { + (params?: RequestParameters & ReactionsCreateForTeamDiscussionLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), when deleting a [team discussion](https://developer.github.com/v3/teams/discussions/) or [team discussion comment](https://developer.github.com/v3/teams/discussion_comments/). + */ + delete: { + (params?: RequestParameters & ReactionsDeleteParams): Promise; + endpoint: EndpointInterface; + }; + /** + * List the reactions to a [commit comment](https://developer.github.com/v3/repos/comments/). + */ + listForCommitComment: { + (params?: RequestParameters & ReactionsListForCommitCommentParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * List the reactions to an [issue](https://developer.github.com/v3/issues/). + */ + listForIssue: { + (params?: RequestParameters & ReactionsListForIssueParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & ReactionsListForIssueParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * List the reactions to an [issue comment](https://developer.github.com/v3/issues/comments/). + */ + listForIssueComment: { + (params?: RequestParameters & ReactionsListForIssueCommentParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * List the reactions to a [pull request review comment](https://developer.github.com/v3/pulls/comments/). + */ + listForPullRequestReviewComment: { + (params?: RequestParameters & ReactionsListForPullRequestReviewCommentParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion`](https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion) endpoint. + * + * List the reactions to a [team discussion](https://developer.github.com/v3/teams/discussions/). OAuth access tokens require the `read:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @deprecated octokit.reactions.listForTeamDiscussion() is deprecated, see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-legacy + */ + listForTeamDiscussion: { + (params?: RequestParameters & ReactionsListForTeamDiscussionParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion comment`](https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-comment) endpoint. + * + * List the reactions to a [team discussion comment](https://developer.github.com/v3/teams/discussion_comments/). OAuth access tokens require the `read:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @deprecated octokit.reactions.listForTeamDiscussionComment() is deprecated, see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-comment-legacy + */ + listForTeamDiscussionComment: { + (params?: RequestParameters & ReactionsListForTeamDiscussionCommentParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * List the reactions to a [team discussion comment](https://developer.github.com/v3/teams/discussion_comments/). OAuth access tokens require the `read:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. + */ + listForTeamDiscussionCommentInOrg: { + (params?: RequestParameters & ReactionsListForTeamDiscussionCommentInOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion comment`](https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-comment) endpoint. + * + * List the reactions to a [team discussion comment](https://developer.github.com/v3/teams/discussion_comments/). OAuth access tokens require the `read:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @deprecated octokit.reactions.listForTeamDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-comment-legacy + */ + listForTeamDiscussionCommentLegacy: { + (params?: RequestParameters & ReactionsListForTeamDiscussionCommentLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * List the reactions to a [team discussion](https://developer.github.com/v3/teams/discussions/). OAuth access tokens require the `read:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. + */ + listForTeamDiscussionInOrg: { + (params?: RequestParameters & ReactionsListForTeamDiscussionInOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion`](https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion) endpoint. + * + * List the reactions to a [team discussion](https://developer.github.com/v3/teams/discussions/). OAuth access tokens require the `read:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @deprecated octokit.reactions.listForTeamDiscussionLegacy() is deprecated, see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-legacy + */ + listForTeamDiscussionLegacy: { + (params?: RequestParameters & ReactionsListForTeamDiscussionLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + }; + repos: { + acceptInvitation: { + (params?: RequestParameters & ReposAcceptInvitationParams): Promise; + endpoint: EndpointInterface; + }; + /** + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://developer.github.com/v3/#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://developer.github.com/v3/guides/best-practices-for-integrators/#dealing-with-abuse-rate-limits)" for details. + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://developer.github.com/v3/#http-verbs)." + * + * The invitee will receive a notification that they have been invited to the repository, which they must accept or decline. They may do this via the notifications page, the email they receive, or by using the [repository invitations API endpoints](https://developer.github.com/v3/repos/invitations/). + * + * **Rate limits** + * + * To prevent abuse, you are limited to sending 50 invitations to a repository per 24 hour period. Note there is no limit if you are inviting organization members to an organization repository. + */ + addCollaborator: { + (params?: RequestParameters & ReposAddCollaboratorParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Here's how you can create a read-only deploy key: + */ + addDeployKey: { + (params?: RequestParameters & ReposAddDeployKeyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Adding admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + */ + addProtectedBranchAdminEnforcement: { + (params?: RequestParameters & ReposAddProtectedBranchAdminEnforcementParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified apps push access for this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + * + * | Type | Description | + * | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | The GitHub Apps that have push access to this branch. Use the app's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + addProtectedBranchAppRestrictions: { + (params?: RequestParameters & ReposAddProtectedBranchAppRestrictionsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to require signed commits on a branch. You must enable branch protection to require signed commits. + */ + addProtectedBranchRequiredSignatures: { + (params?: RequestParameters & ReposAddProtectedBranchRequiredSignaturesParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + addProtectedBranchRequiredStatusChecksContexts: { + (params?: RequestParameters & ReposAddProtectedBranchRequiredStatusChecksContextsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified teams push access for this branch. You can also give push access to child teams. + * + * | Type | Description | + * | ------- | ------------------------------------------------------------------------------------------------------------------------------------------ | + * | `array` | The teams that can have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + addProtectedBranchTeamRestrictions: { + (params?: RequestParameters & ReposAddProtectedBranchTeamRestrictionsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified people push access for this branch. + * + * | Type | Description | + * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + addProtectedBranchUserRestrictions: { + (params?: RequestParameters & ReposAddProtectedBranchUserRestrictionsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. + * + * Team members will include the members of child teams. + */ + checkCollaborator: { + (params?: RequestParameters & ReposCheckCollaboratorParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Shows whether vulnerability alerts are enabled or disabled for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://help.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)" in the GitHub Help documentation. + */ + checkVulnerabilityAlerts: { + (params?: RequestParameters & ReposCheckVulnerabilityAlertsParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Both `:base` and `:head` must be branch names in `:repo`. To compare branches across other repositories in the same network as `:repo`, use the format `:branch`. + * + * The response from the API is equivalent to running the `git log base..head` command; however, commits are returned in chronological order. Pass the appropriate [media type](https://developer.github.com/v3/media/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. + * + * The response also includes details on the files that were changed between the two commits. This includes the status of the change (for example, if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a `renamed` status have a `previous_filename` field showing the previous filename of the file, and files with a `modified` status have a `patch` field showing the changes made to the file. + * + * **Working with large comparisons** + * + * The response will include a comparison of up to 250 commits. If you are working with a larger commit range, you can use the [Commit List API](https://developer.github.com/v3/repos/commits/#list-commits-on-a-repository) to enumerate all commits in the range. + * + * For comparisons with extremely large diffs, you may receive an error response indicating that the diff took too long to generate. You can typically resolve this error by using a smaller commit range. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ------------------------ | --------------------------------------------------------------------------------------------------------------------------------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + compareCommits: { + (params?: RequestParameters & ReposCompareCommitsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Create a comment for a commit using its `:commit_sha`. + * + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://developer.github.com/v3/#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://developer.github.com/v3/guides/best-practices-for-integrators/#dealing-with-abuse-rate-limits)" for details. + */ + createCommitComment: { + (params?: RequestParameters & ReposCreateCommitCommentParamsDeprecatedSha): Promise>; + (params?: RequestParameters & ReposCreateCommitCommentParamsDeprecatedLine): Promise>; + (params?: RequestParameters & ReposCreateCommitCommentParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Deployments offer a few configurable parameters with sane defaults. + * + * The `ref` parameter can be any named branch, tag, or SHA. At GitHub we often deploy branches and verify them before we merge a pull request. + * + * The `environment` parameter allows deployments to be issued to different runtime environments. Teams often have multiple environments for verifying their applications, such as `production`, `staging`, and `qa`. This parameter makes it easier to track which environments have requested deployments. The default environment is `production`. + * + * The `auto_merge` parameter is used to ensure that the requested ref is not behind the repository's default branch. If the ref _is_ behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds, the API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will return a failure response. + * + * By default, [commit statuses](https://developer.github.com/v3/repos/statuses) for every submitted context must be in a `success` state. The `required_contexts` parameter allows you to specify a subset of contexts that must be `success`, or to specify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do not require any contexts or create any commit statuses, the deployment will always succeed. + * + * The `payload` parameter is available for any extra information that a deployment system might need. It is a JSON text field that will be passed on when a deployment event is dispatched. + * + * The `task` parameter is used by the deployment system to allow different execution paths. In the web world this might be `deploy:migrations` to run schema changes on the system. In the compiled world this could be a flag to compile an application with debugging enabled. + * + * Users with `repo` or `repo_deployment` scopes can create a deployment for a given ref: + * + * A simple example putting the user and room into the payload to notify back to chat networks. + * + * A more advanced example specifying required commit statuses and bypassing auto-merging. + * + * You will see this response when GitHub automatically merges the base branch into the topic branch instead of creating a deployment. This auto-merge happens when: + * + * * Auto-merge option is enabled in the repository + * * Topic branch does not include the latest changes on the base branch, which is `master`in the response example + * * There are no merge conflicts + * + * If there are no new commits in the base branch, a new request to create a deployment should give a successful response. + * + * This error happens when the `auto_merge` option is enabled and when the default branch (in this case `master`), can't be merged into the branch that's being deployed (in this case `topic-branch`), due to merge conflicts. + * + * This error happens when the `required_contexts` parameter indicates that one or more contexts need to have a `success` status for the commit to be deployed, but one or more of the required contexts do not have a state of `success`. + */ + createDeployment: { + (params?: RequestParameters & ReposCreateDeploymentParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Users with `push` access can create deployment statuses for a given deployment. + * + * GitHub Apps require `read & write` access to "Deployments" and `read-only` access to "Repo contents" (for private repos). OAuth Apps require the `repo_deployment` scope. + */ + createDeploymentStatus: { + (params?: RequestParameters & ReposCreateDeploymentStatusParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * You can use this endpoint to trigger a webhook event called `repository_dispatch` when you want activity that happens outside of GitHub to trigger a GitHub Actions workflow or GitHub App webhook. You must configure your GitHub Actions workflow or GitHub App to run when the `repository_dispatch` event occurs. For an example `repository_dispatch` webhook payload, see "[RepositoryDispatchEvent](https://developer.github.com/v3/activity/events/types/#repositorydispatchevent)." + * + * The `client_payload` parameter is available for any extra information that your workflow might need. This parameter is a JSON payload that will be passed on when the webhook event is dispatched. For example, the `client_payload` can include a message that a user would like to send using a GitHub Actions workflow. Or the `client_payload` can be used as a test to debug your workflow. For a test example, see the [input example](https://developer.github.com/v3/repos/#example-4). + * + * To give you write access to the repository, you must use a personal access token with the `repo` scope. For more information, see "[Creating a personal access token for the command line](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line)" in the GitHub Help documentation. + * + * This input example shows how you can use the `client_payload` as a test to debug your workflow. + */ + createDispatchEvent: { + (params?: RequestParameters & ReposCreateDispatchEventParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Creates a new file or updates an existing file in a repository. + * @deprecated octokit.repos.createFile() has been renamed to octokit.repos.createOrUpdateFile() (2019-06-07) + */ + createFile: { + (params?: RequestParameters & ReposCreateFileParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Creates a new repository for the authenticated user. + * + * **OAuth scope requirements** + * + * When using [OAuth](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: + * + * * `public_repo` scope or `repo` scope to create a public repository + * * `repo` scope to create a private repository + */ + createForAuthenticatedUser: { + (params?: RequestParameters & ReposCreateForAuthenticatedUserParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Create a fork for the authenticated user. + * + * **Note**: Forking a Repository happens asynchronously. You may have to wait a short period of time before you can access the git objects. If this takes longer than 5 minutes, be sure to contact [GitHub Support](https://github.com/contact) or [GitHub Premium Support](https://premium.githubsupport.com). + */ + createFork: { + (params?: RequestParameters & ReposCreateForkParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Repositories can have multiple webhooks installed. Each webhook should have a unique `config`. Multiple webhooks can share the same `config` as long as those webhooks do not have any `events` that overlap. + * + * Here's how you can create a hook that posts payloads in JSON format: + */ + createHook: { + (params?: RequestParameters & ReposCreateHookParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Creates a new repository for the authenticated user. + * + * **OAuth scope requirements** + * + * When using [OAuth](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: + * + * * `public_repo` scope or `repo` scope to create a public repository + * * `repo` scope to create a private repository + */ + createInOrg: { + (params?: RequestParameters & ReposCreateInOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Creates a new file or updates an existing file in a repository. + */ + createOrUpdateFile: { + (params?: RequestParameters & ReposCreateOrUpdateFileParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Users with push access to the repository can create a release. + * + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://developer.github.com/v3/#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://developer.github.com/v3/guides/best-practices-for-integrators/#dealing-with-abuse-rate-limits)" for details. + */ + createRelease: { + (params?: RequestParameters & ReposCreateReleaseParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Users with push access in a repository can create commit statuses for a given SHA. + * + * Note: there is a limit of 1000 statuses per `sha` and `context` within a repository. Attempts to create more than 1000 statuses will result in a validation error. + */ + createStatus: { + (params?: RequestParameters & ReposCreateStatusParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. The authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [`GET /repos/:owner/:repo`](https://developer.github.com/v3/repos/#get) endpoint and check that the `is_template` key is `true`. + * + * **OAuth scope requirements** + * + * When using [OAuth](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: + * + * * `public_repo` scope or `repo` scope to create a public repository + * * `repo` scope to create a private repository + * + * \` + */ + createUsingTemplate: { + (params?: RequestParameters & ReposCreateUsingTemplateParams): Promise>; + endpoint: EndpointInterface; + }; + declineInvitation: { + (params?: RequestParameters & ReposDeclineInvitationParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Deleting a repository requires admin access. If OAuth is used, the `delete_repo` scope is required. + * + * If an organization owner has configured the organization to prevent members from deleting organization-owned repositories, a member will get this response: + */ + delete: { + (params?: RequestParameters & ReposDeleteParams): Promise>; + endpoint: EndpointInterface; + }; + deleteCommitComment: { + (params?: RequestParameters & ReposDeleteCommitCommentParams): Promise; + endpoint: EndpointInterface; + }; + deleteDownload: { + (params?: RequestParameters & ReposDeleteDownloadParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Deletes a file in a repository. + * + * You can provide an additional `committer` parameter, which is an object containing information about the committer. Or, you can provide an `author` parameter, which is an object containing information about the author. + * + * The `author` section is optional and is filled in with the `committer` information if omitted. If the `committer` information is omitted, the authenticated user's information is used. + * + * You must provide values for both `name` and `email`, whether you choose to use `author` or `committer`. Otherwise, you'll receive a `422` status code. + */ + deleteFile: { + (params?: RequestParameters & ReposDeleteFileParams): Promise>; + endpoint: EndpointInterface; + }; + deleteHook: { + (params?: RequestParameters & ReposDeleteHookParams): Promise; + endpoint: EndpointInterface; + }; + deleteInvitation: { + (params?: RequestParameters & ReposDeleteInvitationParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Users with push access to the repository can delete a release. + */ + deleteRelease: { + (params?: RequestParameters & ReposDeleteReleaseParams): Promise; + endpoint: EndpointInterface; + }; + deleteReleaseAsset: { + (params?: RequestParameters & ReposDeleteReleaseAssetParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Disables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://help.github.com/en/articles/configuring-automated-security-fixes)" in the GitHub Help documentation. + */ + disableAutomatedSecurityFixes: { + (params?: RequestParameters & ReposDisableAutomatedSecurityFixesParams): Promise; + endpoint: EndpointInterface; + }; + disablePagesSite: { + (params?: RequestParameters & ReposDisablePagesSiteParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Disables vulnerability alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://help.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)" in the GitHub Help documentation. + */ + disableVulnerabilityAlerts: { + (params?: RequestParameters & ReposDisableVulnerabilityAlertsParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Enables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://help.github.com/en/articles/configuring-automated-security-fixes)" in the GitHub Help documentation. + */ + enableAutomatedSecurityFixes: { + (params?: RequestParameters & ReposEnableAutomatedSecurityFixesParams): Promise; + endpoint: EndpointInterface; + }; + enablePagesSite: { + (params?: RequestParameters & ReposEnablePagesSiteParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Enables vulnerability alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://help.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)" in the GitHub Help documentation. + */ + enableVulnerabilityAlerts: { + (params?: RequestParameters & ReposEnableVulnerabilityAlertsParams): Promise; + endpoint: EndpointInterface; + }; + /** + * The `parent` and `source` objects are present when the repository is a fork. `parent` is the repository this repository was forked from, `source` is the ultimate source for the network. + */ + get: { + (params?: RequestParameters & ReposGetParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the GitHub Apps that have push access to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + */ + getAppsWithAccessToProtectedBranch: { + (params?: RequestParameters & ReposGetAppsWithAccessToProtectedBranchParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Gets a redirect URL to download an archive for a repository. The `:archive_format` can be either `tarball` or `zipball`. The `:ref` must be a valid Git reference. If you omit `:ref`, the repository’s default branch (usually `master`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use the `Location` header to make a second `GET` request. + * + * _Note_: For private repositories, these links are temporary and expire after five minutes. + * + * To follow redirects with curl, use the `-L` switch: + */ + getArchiveLink: { + (params?: RequestParameters & ReposGetArchiveLinkParams): Promise; + endpoint: EndpointInterface; + }; + getBranch: { + (params?: RequestParameters & ReposGetBranchParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + getBranchProtection: { + (params?: RequestParameters & ReposGetBranchProtectionParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Get the total number of clones and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. + */ + getClones: { + (params?: RequestParameters & ReposGetClonesParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Returns a weekly aggregate of the number of additions and deletions pushed to a repository. + */ + getCodeFrequencyStats: { + (params?: RequestParameters & ReposGetCodeFrequencyStatsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Possible values for the `permission` key: `admin`, `write`, `read`, `none`. + */ + getCollaboratorPermissionLevel: { + (params?: RequestParameters & ReposGetCollaboratorPermissionLevelParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Users with pull access in a repository can access a combined view of commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. + * + * The most recent status for each context is returned, up to 100. This field [paginates](https://developer.github.com/v3/#pagination) if there are over 100 contexts. + * + * Additionally, a combined `state` is returned. The `state` is one of: + * + * * **failure** if any of the contexts report as `error` or `failure` + * * **pending** if there are no statuses or a context is `pending` + * * **success** if the latest status for all contexts is `success` + */ + getCombinedStatusForRef: { + (params?: RequestParameters & ReposGetCombinedStatusForRefParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Returns the contents of a single commit reference. You must have `read` access for the repository to use this endpoint. + * + * You can pass the appropriate [media type](https://developer.github.com/v3/media/#commits-commit-comparison-and-pull-requests) to fetch `diff` and `patch` formats. Diffs with binary data will have no `patch` property. + * + * To return only the SHA-1 hash of the commit reference, you can provide the `sha` custom [media type](https://developer.github.com/v3/media/#commits-commit-comparison-and-pull-requests) in the `Accept` header. You can use this endpoint to check if a remote reference's SHA-1 hash is the same as your local reference's SHA-1 hash by providing the local SHA-1 reference as the ETag. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ------------------------ | --------------------------------------------------------------------------------------------------------------------------------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + getCommit: { + (params?: RequestParameters & ReposGetCommitParamsDeprecatedSha): Promise>; + (params?: RequestParameters & ReposGetCommitParamsDeprecatedCommitSha): Promise>; + (params?: RequestParameters & ReposGetCommitParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Returns the last year of commit activity grouped by week. The `days` array is a group of commits per day, starting on `Sunday`. + */ + getCommitActivityStats: { + (params?: RequestParameters & ReposGetCommitActivityStatsParams): Promise>; + endpoint: EndpointInterface; + }; + getCommitComment: { + (params?: RequestParameters & ReposGetCommitCommentParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Note:** To access this endpoint, you must provide a custom [media type](https://developer.github.com/v3/media) in the `Accept` header: + * ``` + * application/vnd.github.VERSION.sha + * ``` + * Returns the SHA-1 of the commit reference. You must have `read` access for the repository to get the SHA-1 of a commit reference. You can use this endpoint to check if a remote reference's SHA-1 is the same as your local reference's SHA-1 by providing the local SHA-1 reference as the ETag. + * @deprecated "Get the SHA-1 of a commit reference" will be removed. Use "Get a single commit" instead with media type format set to "sha" instead. + */ + getCommitRefSha: { + (params?: RequestParameters & ReposGetCommitRefShaParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Gets the contents of a file or directory in a repository. Specify the file path or directory in `:path`. If you omit `:path`, you will receive the contents of all files in the repository. + * + * Files and symlinks support [a custom media type](https://developer.github.com/v3/repos/contents/#custom-media-types) for retrieving the raw content or rendered HTML (when supported). All content types support [a custom media type](https://developer.github.com/v3/repos/contents/#custom-media-types) to ensure the content is returned in a consistent object format. + * + * **Note**: + * + * * To get a repository's contents recursively, you can [recursively get the tree](https://developer.github.com/v3/git/trees/). + * * This API has an upper limit of 1,000 files for a directory. If you need to retrieve more files, use the [Git Trees API](https://developer.github.com/v3/git/trees/#get-a-tree). + * * This API supports files up to 1 megabyte in size. + * + * The response will be an array of objects, one object for each item in the directory. + * + * When listing the contents of a directory, submodules have their "type" specified as "file". Logically, the value _should_ be "submodule". This behavior exists in API v3 [for backwards compatibility purposes](https://git.io/v1YCW). In the next major version of the API, the type will be returned as "submodule". + * + * If the requested `:path` points to a symlink, and the symlink's target is a normal file in the repository, then the API responds with the content of the file (in the [format shown above](https://developer.github.com/v3/repos/contents/#response-if-content-is-a-file)). + * + * Otherwise, the API responds with an object describing the symlink itself: + * + * The `submodule_git_url` identifies the location of the submodule repository, and the `sha` identifies a specific commit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out the submodule at that specific commit. + * + * If the submodule repository is not hosted on github.com, the Git URLs (`git_url` and `_links["git"]`) and the github.com URLs (`html_url` and `_links["html"]`) will have null values. + */ + getContents: { + (params?: RequestParameters & ReposGetContentsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * * `total` - The Total number of commits authored by the contributor. + * + * Weekly Hash (`weeks` array): + * + * * `w` - Start of the week, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). + * * `a` - Number of additions + * * `d` - Number of deletions + * * `c` - Number of commits + */ + getContributorsStats: { + (params?: RequestParameters & ReposGetContributorsStatsParams): Promise>; + endpoint: EndpointInterface; + }; + getDeployKey: { + (params?: RequestParameters & ReposGetDeployKeyParams): Promise>; + endpoint: EndpointInterface; + }; + getDeployment: { + (params?: RequestParameters & ReposGetDeploymentParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Users with pull access can view a deployment status for a deployment: + */ + getDeploymentStatus: { + (params?: RequestParameters & ReposGetDeploymentStatusParams): Promise>; + endpoint: EndpointInterface; + }; + getDownload: { + (params?: RequestParameters & ReposGetDownloadParams): Promise>; + endpoint: EndpointInterface; + }; + getHook: { + (params?: RequestParameters & ReposGetHookParams): Promise>; + endpoint: EndpointInterface; + }; + getLatestPagesBuild: { + (params?: RequestParameters & ReposGetLatestPagesBuildParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * View the latest published full release for the repository. + * + * The latest release is the most recent non-prerelease, non-draft release, sorted by the `created_at` attribute. The `created_at` attribute is the date of the commit used for the release, and not the date when the release was drafted or published. + */ + getLatestRelease: { + (params?: RequestParameters & ReposGetLatestReleaseParams): Promise>; + endpoint: EndpointInterface; + }; + getPages: { + (params?: RequestParameters & ReposGetPagesParams): Promise>; + endpoint: EndpointInterface; + }; + getPagesBuild: { + (params?: RequestParameters & ReposGetPagesBuildParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Returns the total commit counts for the `owner` and total commit counts in `all`. `all` is everyone combined, including the `owner` in the last 52 weeks. If you'd like to get the commit counts for non-owners, you can subtract `owner` from `all`. + * + * The array order is oldest week (index 0) to most recent week. + */ + getParticipationStats: { + (params?: RequestParameters & ReposGetParticipationStatsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + getProtectedBranchAdminEnforcement: { + (params?: RequestParameters & ReposGetProtectedBranchAdminEnforcementParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + getProtectedBranchPullRequestReviewEnforcement: { + (params?: RequestParameters & ReposGetProtectedBranchPullRequestReviewEnforcementParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to check whether a branch requires signed commits. An enabled status of `true` indicates you must sign commits on this branch. For more information, see [Signing commits with GPG](https://help.github.com/articles/signing-commits-with-gpg) in GitHub Help. + * + * **Note**: You must enable branch protection to require signed commits. + */ + getProtectedBranchRequiredSignatures: { + (params?: RequestParameters & ReposGetProtectedBranchRequiredSignaturesParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + getProtectedBranchRequiredStatusChecks: { + (params?: RequestParameters & ReposGetProtectedBranchRequiredStatusChecksParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists who has access to this protected branch. {{#note}} + * + * **Note**: Users, apps, and teams `restrictions` are only available for organization-owned repositories. + */ + getProtectedBranchRestrictions: { + (params?: RequestParameters & ReposGetProtectedBranchRestrictionsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Each array contains the day number, hour number, and number of commits: + * + * * `0-6`: Sunday - Saturday + * * `0-23`: Hour of day + * * Number of commits + * + * For example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits. + */ + getPunchCardStats: { + (params?: RequestParameters & ReposGetPunchCardStatsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Gets the preferred README for a repository. + * + * READMEs support [custom media types](https://developer.github.com/v3/repos/contents/#custom-media-types) for retrieving the raw content or rendered HTML. + */ + getReadme: { + (params?: RequestParameters & ReposGetReadmeParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://developer.github.com/v3/#hypermedia). + */ + getRelease: { + (params?: RequestParameters & ReposGetReleaseParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * To download the asset's binary content, set the `Accept` header of the request to [`application/octet-stream`](https://developer.github.com/v3/media/#media-types). The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a `200` or `302` response. + */ + getReleaseAsset: { + (params?: RequestParameters & ReposGetReleaseAssetParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Get a published release with the specified tag. + */ + getReleaseByTag: { + (params?: RequestParameters & ReposGetReleaseByTagParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the teams who have push access to this branch. The list includes child teams. + */ + getTeamsWithAccessToProtectedBranch: { + (params?: RequestParameters & ReposGetTeamsWithAccessToProtectedBranchParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Get the top 10 popular contents over the last 14 days. + */ + getTopPaths: { + (params?: RequestParameters & ReposGetTopPathsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Get the top 10 referrers over the last 14 days. + */ + getTopReferrers: { + (params?: RequestParameters & ReposGetTopReferrersParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the people who have push access to this branch. + */ + getUsersWithAccessToProtectedBranch: { + (params?: RequestParameters & ReposGetUsersWithAccessToProtectedBranchParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Get the total number of views and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. + */ + getViews: { + (params?: RequestParameters & ReposGetViewsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Lists repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + */ + list: { + (params?: RequestParameters & ReposListParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the GitHub Apps that have push access to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + * @deprecated octokit.repos.listAppsWithAccessToProtectedBranch() has been renamed to octokit.repos.getAppsWithAccessToProtectedBranch() (2019-09-13) + */ + listAppsWithAccessToProtectedBranch: { + (params?: RequestParameters & ReposListAppsWithAccessToProtectedBranchParams): Promise>; + endpoint: EndpointInterface; + }; + listAssetsForRelease: { + (params?: RequestParameters & ReposListAssetsForReleaseParams): Promise>; + endpoint: EndpointInterface; + }; + listBranches: { + (params?: RequestParameters & ReposListBranchesParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Returns all branches where the given commit SHA is the HEAD, or latest commit for the branch. + */ + listBranchesForHeadCommit: { + (params?: RequestParameters & ReposListBranchesForHeadCommitParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. + * + * Team members will include the members of child teams. + */ + listCollaborators: { + (params?: RequestParameters & ReposListCollaboratorsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Use the `:commit_sha` to specify the commit that will have its comments listed. + */ + listCommentsForCommit: { + (params?: RequestParameters & ReposListCommentsForCommitParamsDeprecatedRef): Promise>; + (params?: RequestParameters & ReposListCommentsForCommitParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Commit Comments use [these custom media types](https://developer.github.com/v3/repos/comments/#custom-media-types). You can read more about the use of media types in the API [here](https://developer.github.com/v3/media/). + * + * Comments are ordered by ascending ID. + */ + listCommitComments: { + (params?: RequestParameters & ReposListCommitCommentsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ------------------------ | --------------------------------------------------------------------------------------------------------------------------------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + listCommits: { + (params?: RequestParameters & ReposListCommitsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Lists contributors to the specified repository and sorts them by the number of commits per contributor in descending order. This endpoint may return information that is a few hours old because the GitHub REST API v3 caches contributor data to improve performance. + * + * GitHub identifies contributors by author email address. This endpoint groups contribution counts by GitHub user, which includes all associated email addresses. To improve performance, only the first 500 author email addresses in the repository link to GitHub users. The rest will appear as anonymous contributors without associated GitHub user information. + */ + listContributors: { + (params?: RequestParameters & ReposListContributorsParams): Promise>; + endpoint: EndpointInterface; + }; + listDeployKeys: { + (params?: RequestParameters & ReposListDeployKeysParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Users with pull access can view deployment statuses for a deployment: + */ + listDeploymentStatuses: { + (params?: RequestParameters & ReposListDeploymentStatusesParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Simple filtering of deployments is available via query parameters: + */ + listDeployments: { + (params?: RequestParameters & ReposListDeploymentsParams): Promise>; + endpoint: EndpointInterface; + }; + listDownloads: { + (params?: RequestParameters & ReposListDownloadsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Lists repositories for the specified organization. + */ + listForOrg: { + (params?: RequestParameters & ReposListForOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Lists public repositories for the specified user. + */ + listForUser: { + (params?: RequestParameters & ReposListForUserParams): Promise; + endpoint: EndpointInterface; + }; + listForks: { + (params?: RequestParameters & ReposListForksParams): Promise>; + endpoint: EndpointInterface; + }; + listHooks: { + (params?: RequestParameters & ReposListHooksParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * When authenticating as a user with admin rights to a repository, this endpoint will list all currently open repository invitations. + */ + listInvitations: { + (params?: RequestParameters & ReposListInvitationsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * When authenticating as a user, this endpoint will list all currently open repository invitations for that user. + */ + listInvitationsForAuthenticatedUser: { + (params?: RequestParameters & ReposListInvitationsForAuthenticatedUserParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Lists languages for the specified repository. The value shown for each language is the number of bytes of code written in that language. + */ + listLanguages: { + (params?: RequestParameters & ReposListLanguagesParams): Promise>; + endpoint: EndpointInterface; + }; + listPagesBuilds: { + (params?: RequestParameters & ReposListPagesBuildsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + listProtectedBranchRequiredStatusChecksContexts: { + (params?: RequestParameters & ReposListProtectedBranchRequiredStatusChecksContextsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the teams who have push access to this branch. The list includes child teams. + * @deprecated octokit.repos.listProtectedBranchTeamRestrictions() has been renamed to octokit.repos.getTeamsWithAccessToProtectedBranch() (2019-09-09) + */ + listProtectedBranchTeamRestrictions: { + (params?: RequestParameters & ReposListProtectedBranchTeamRestrictionsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the people who have push access to this branch. + * @deprecated octokit.repos.listProtectedBranchUserRestrictions() has been renamed to octokit.repos.getUsersWithAccessToProtectedBranch() (2019-09-09) + */ + listProtectedBranchUserRestrictions: { + (params?: RequestParameters & ReposListProtectedBranchUserRestrictionsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Lists all public repositories in the order that they were created. + * + * Note: Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://developer.github.com/v3/#link-header) to get the URL for the next page of repositories. + */ + listPublic: { + (params?: RequestParameters & ReposListPublicParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Lists all pull requests containing the provided commit SHA, which can be from any point in the commit history. The results will include open and closed pull requests. Additional preview headers may be required to see certain details for associated pull requests, such as whether a pull request is in a draft state. For more information about previews that might affect this endpoint, see the [List pull requests](https://developer.github.com/v3/pulls/#list-pull-requests) endpoint. + */ + listPullRequestsAssociatedWithCommit: { + (params?: RequestParameters & ReposListPullRequestsAssociatedWithCommitParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * This returns a list of releases, which does not include regular Git tags that have not been associated with a release. To get a list of Git tags, use the [Repository Tags API](https://developer.github.com/v3/repos/#list-tags). + * + * Information about published releases are available to everyone. Only users with push access will receive listings for draft releases. + */ + listReleases: { + (params?: RequestParameters & ReposListReleasesParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Users with pull access in a repository can view commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. Statuses are returned in reverse chronological order. The first status in the list will be the latest one. + * + * This resource is also available via a legacy route: `GET /repos/:owner/:repo/statuses/:ref`. + */ + listStatusesForRef: { + (params?: RequestParameters & ReposListStatusesForRefParams): Promise>; + endpoint: EndpointInterface; + }; + listTags: { + (params?: RequestParameters & ReposListTagsParams): Promise>; + endpoint: EndpointInterface; + }; + listTeams: { + (params?: RequestParameters & ReposListTeamsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the teams who have push access to this branch. The list includes child teams. + * @deprecated octokit.repos.listTeamsWithAccessToProtectedBranch() has been renamed to octokit.repos.getTeamsWithAccessToProtectedBranch() (2019-09-13) + */ + listTeamsWithAccessToProtectedBranch: { + (params?: RequestParameters & ReposListTeamsWithAccessToProtectedBranchParams): Promise>; + endpoint: EndpointInterface; + }; + listTopics: { + (params?: RequestParameters & ReposListTopicsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the people who have push access to this branch. + * @deprecated octokit.repos.listUsersWithAccessToProtectedBranch() has been renamed to octokit.repos.getUsersWithAccessToProtectedBranch() (2019-09-13) + */ + listUsersWithAccessToProtectedBranch: { + (params?: RequestParameters & ReposListUsersWithAccessToProtectedBranchParams): Promise>; + endpoint: EndpointInterface; + }; + merge: { + (params?: RequestParameters & ReposMergeParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * This will trigger a [ping event](https://developer.github.com/webhooks/#ping-event) to be sent to the hook. + */ + pingHook: { + (params?: RequestParameters & ReposPingHookParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + removeBranchProtection: { + (params?: RequestParameters & ReposRemoveBranchProtectionParams): Promise; + endpoint: EndpointInterface; + }; + removeCollaborator: { + (params?: RequestParameters & ReposRemoveCollaboratorParams): Promise; + endpoint: EndpointInterface; + }; + removeDeployKey: { + (params?: RequestParameters & ReposRemoveDeployKeyParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removing admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + */ + removeProtectedBranchAdminEnforcement: { + (params?: RequestParameters & ReposRemoveProtectedBranchAdminEnforcementParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of an app to push to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + * + * | Type | Description | + * | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | The GitHub Apps that have push access to this branch. Use the app's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + removeProtectedBranchAppRestrictions: { + (params?: RequestParameters & ReposRemoveProtectedBranchAppRestrictionsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + removeProtectedBranchPullRequestReviewEnforcement: { + (params?: RequestParameters & ReposRemoveProtectedBranchPullRequestReviewEnforcementParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to disable required signed commits on a branch. You must enable branch protection to require signed commits. + */ + removeProtectedBranchRequiredSignatures: { + (params?: RequestParameters & ReposRemoveProtectedBranchRequiredSignaturesParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + removeProtectedBranchRequiredStatusChecks: { + (params?: RequestParameters & ReposRemoveProtectedBranchRequiredStatusChecksParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + removeProtectedBranchRequiredStatusChecksContexts: { + (params?: RequestParameters & ReposRemoveProtectedBranchRequiredStatusChecksContextsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Disables the ability to restrict who can push to this branch. + */ + removeProtectedBranchRestrictions: { + (params?: RequestParameters & ReposRemoveProtectedBranchRestrictionsParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of a team to push to this branch. You can also remove push access for child teams. + * + * | Type | Description | + * | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Teams that should no longer have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + removeProtectedBranchTeamRestrictions: { + (params?: RequestParameters & ReposRemoveProtectedBranchTeamRestrictionsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of a user to push to this branch. + * + * | Type | Description | + * | ------- | --------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames of the people who should no longer have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + removeProtectedBranchUserRestrictions: { + (params?: RequestParameters & ReposRemoveProtectedBranchUserRestrictionsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of apps that have push access to this branch. This removes all apps that previously had push access and grants push access to the new list of apps. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + * + * | Type | Description | + * | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | The GitHub Apps that have push access to this branch. Use the app's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + replaceProtectedBranchAppRestrictions: { + (params?: RequestParameters & ReposReplaceProtectedBranchAppRestrictionsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + replaceProtectedBranchRequiredStatusChecksContexts: { + (params?: RequestParameters & ReposReplaceProtectedBranchRequiredStatusChecksContextsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of teams that have push access to this branch. This removes all teams that previously had push access and grants push access to the new list of teams. Team restrictions include child teams. + * + * | Type | Description | + * | ------- | ------------------------------------------------------------------------------------------------------------------------------------------ | + * | `array` | The teams that can have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + replaceProtectedBranchTeamRestrictions: { + (params?: RequestParameters & ReposReplaceProtectedBranchTeamRestrictionsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of people that have push access to this branch. This removes all people that previously had push access and grants push access to the new list of people. + * + * | Type | Description | + * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + replaceProtectedBranchUserRestrictions: { + (params?: RequestParameters & ReposReplaceProtectedBranchUserRestrictionsParams): Promise>; + endpoint: EndpointInterface; + }; + replaceTopics: { + (params?: RequestParameters & ReposReplaceTopicsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * You can request that your site be built from the latest revision on the default branch. This has the same effect as pushing a commit to your default branch, but does not require an additional commit. Manually triggering page builds can be helpful when diagnosing build warnings and failures. + * + * Build requests are limited to one concurrent build per repository and one concurrent build per requester. If you request a build while another is still in progress, the second request will be queued until the first completes. + */ + requestPageBuild: { + (params?: RequestParameters & ReposRequestPageBuildParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * This endpoint will return all community profile metrics, including an overall health score, repository description, the presence of documentation, detected code of conduct, detected license, and the presence of ISSUE\_TEMPLATE, PULL\_REQUEST\_TEMPLATE, README, and CONTRIBUTING files. + */ + retrieveCommunityProfileMetrics: { + (params?: RequestParameters & ReposRetrieveCommunityProfileMetricsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * This will trigger the hook with the latest push to the current repository if the hook is subscribed to `push` events. If the hook is not subscribed to `push` events, the server will respond with 204 but no test POST will be generated. + * + * **Note**: Previously `/repos/:owner/:repo/hooks/:hook_id/test` + */ + testPushHook: { + (params?: RequestParameters & ReposTestPushHookParams): Promise; + endpoint: EndpointInterface; + }; + /** + * A transfer request will need to be accepted by the new owner when transferring a personal repository to another user. The response will contain the original `owner`, and the transfer will continue asynchronously. For more details on the requirements to transfer personal and organization-owned repositories, see [about repository transfers](https://help.github.com/articles/about-repository-transfers/). + */ + transfer: { + (params?: RequestParameters & ReposTransferParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Note**: To edit a repository's topics, use the [`topics` endpoint](https://developer.github.com/v3/repos/#replace-all-topics-for-a-repository). + */ + update: { + (params?: RequestParameters & ReposUpdateParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Protecting a branch requires admin or owner permissions to the repository. + * + * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. + * + * **Note**: The list of users, apps, and teams in total is limited to 100 items. + */ + updateBranchProtection: { + (params?: RequestParameters & ReposUpdateBranchProtectionParams): Promise>; + endpoint: EndpointInterface; + }; + updateCommitComment: { + (params?: RequestParameters & ReposUpdateCommitCommentParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Creates a new file or updates an existing file in a repository. + * @deprecated octokit.repos.updateFile() has been renamed to octokit.repos.createOrUpdateFile() (2019-06-07) + */ + updateFile: { + (params?: RequestParameters & ReposUpdateFileParams): Promise>; + endpoint: EndpointInterface; + }; + updateHook: { + (params?: RequestParameters & ReposUpdateHookParams): Promise>; + endpoint: EndpointInterface; + }; + updateInformationAboutPagesSite: { + (params?: RequestParameters & ReposUpdateInformationAboutPagesSiteParams): Promise; + endpoint: EndpointInterface; + }; + updateInvitation: { + (params?: RequestParameters & ReposUpdateInvitationParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Updating pull request review enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + * + * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. + */ + updateProtectedBranchPullRequestReviewEnforcement: { + (params?: RequestParameters & ReposUpdateProtectedBranchPullRequestReviewEnforcementParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Updating required status checks requires admin or owner permissions to the repository and branch protection to be enabled. + */ + updateProtectedBranchRequiredStatusChecks: { + (params?: RequestParameters & ReposUpdateProtectedBranchRequiredStatusChecksParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Users with push access to the repository can edit a release. + */ + updateRelease: { + (params?: RequestParameters & ReposUpdateReleaseParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Users with push access to the repository can edit a release asset. + */ + updateReleaseAsset: { + (params?: RequestParameters & ReposUpdateReleaseAssetParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * This endpoint makes use of [a Hypermedia relation](https://developer.github.com/v3/#hypermedia) to determine which URL to access. The endpoint you call to upload release assets is specific to your release. Use the `upload_url` returned in the response of the [Create a release endpoint](https://developer.github.com/v3/repos/releases/#create-a-release) to upload a release asset. + * + * You need to use an HTTP client which supports [SNI](http://en.wikipedia.org/wiki/Server_Name_Indication) to make calls to this endpoint. + * + * Most libraries will set the required `Content-Length` header automatically. Use the required `Content-Type` header to provide the media type of the asset. For a list of media types, see [Media Types](https://www.iana.org/assignments/media-types/media-types.xhtml). For example: + * + * `application/zip` + * + * GitHub expects the asset data in its raw binary form, rather than JSON. You will send the raw binary content of the asset as the request body. Everything else about the endpoint is the same as the rest of the API. For example, you'll still need to pass your authentication to be able to upload an asset. + */ + uploadReleaseAsset: { + (params?: RequestParameters & ReposUploadReleaseAssetParamsDeprecatedFile): Promise>; + (params?: RequestParameters & ReposUploadReleaseAssetParams): Promise>; + endpoint: EndpointInterface; + }; + }; + search: { + /** + * Find file contents via various criteria. This method returns up to 100 results [per page](https://developer.github.com/v3/#pagination). + * + * When searching for code, you can get text match metadata for the file **content** and file **path** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://developer.github.com/v3/search/#text-match-metadata). + * + * **Note:** You must [authenticate](https://developer.github.com/v3/#authentication) to search for code across all public repositories. + * + * **Considerations for code search** + * + * Due to the complexity of searching code, there are a few restrictions on how searches are performed: + * + * * Only the _default branch_ is considered. In most cases, this will be the `master` branch. + * * Only files smaller than 384 KB are searchable. + * * You must always include at least one search term when searching source code. For example, searching for [`language:go`](https://github.com/search?utf8=%E2%9C%93&q=language%3Ago&type=Code) is not valid, while [`amazing language:go`](https://github.com/search?utf8=%E2%9C%93&q=amazing+language%3Ago&type=Code) is. + * + * Suppose you want to find the definition of the `addClass` function inside [jQuery](https://github.com/jquery/jquery). Your query would look something like this: + * + * Here, we're searching for the keyword `addClass` within a file's contents. We're making sure that we're only looking in files where the language is JavaScript. And we're scoping the search to the `repo:jquery/jquery` repository. + */ + code: { + (params?: RequestParameters & SearchCodeParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Find commits via various criteria. This method returns up to 100 results [per page](https://developer.github.com/v3/#pagination). + * + * When searching for commits, you can get text match metadata for the **message** field when you provide the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://developer.github.com/v3/search/#text-match-metadata). + * + * **Considerations for commit search** + * + * Only the _default branch_ is considered. In most cases, this will be the `master` branch. + * + * Suppose you want to find commits related to CSS in the [octocat/Spoon-Knife](https://github.com/octocat/Spoon-Knife) repository. Your query would look something like this: + */ + commits: { + (params?: RequestParameters & SearchCommitsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * This API call is added for compatibility reasons only. There's no guarantee that full email searches will always be available. The `@` character in the address must be left unencoded. Searches only against public email addresses (as configured on the user's GitHub profile). + * @deprecated octokit.search.emailLegacy() is deprecated, see https://developer.github.com/v3/search/legacy/#email-search + */ + emailLegacy: { + (params?: RequestParameters & SearchEmailLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Find issues by state and keyword. This method returns up to 100 results [per page](https://developer.github.com/v3/#pagination). + * + * When searching for issues, you can get text match metadata for the issue **title**, issue **body**, and issue **comment body** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://developer.github.com/v3/search/#text-match-metadata). + * + * Let's say you want to find the oldest unresolved Python bugs on Windows. Your query might look something like this. + * + * In this query, we're searching for the keyword `windows`, within any open issue that's labeled as `bug`. The search runs across repositories whose primary language is Python. We’re sorting by creation date in ascending order, so that the oldest issues appear first in the search results. + * @deprecated octokit.search.issues() has been renamed to octokit.search.issuesAndPullRequests() (2018-12-27) + */ + issues: { + (params?: RequestParameters & SearchIssuesParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Find issues by state and keyword. This method returns up to 100 results [per page](https://developer.github.com/v3/#pagination). + * + * When searching for issues, you can get text match metadata for the issue **title**, issue **body**, and issue **comment body** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://developer.github.com/v3/search/#text-match-metadata). + * + * Let's say you want to find the oldest unresolved Python bugs on Windows. Your query might look something like this. + * + * In this query, we're searching for the keyword `windows`, within any open issue that's labeled as `bug`. The search runs across repositories whose primary language is Python. We’re sorting by creation date in ascending order, so that the oldest issues appear first in the search results. + */ + issuesAndPullRequests: { + (params?: RequestParameters & SearchIssuesAndPullRequestsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Find issues by state and keyword. + * @deprecated octokit.search.issuesLegacy() is deprecated, see https://developer.github.com/v3/search/legacy/#search-issues + */ + issuesLegacy: { + (params?: RequestParameters & SearchIssuesLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Find labels in a repository with names or descriptions that match search keywords. Returns up to 100 results [per page](https://developer.github.com/v3/#pagination). + * + * When searching for labels, you can get text match metadata for the label **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://developer.github.com/v3/search/#text-match-metadata). + * + * Suppose you want to find labels in the `linguist` repository that match `bug`, `defect`, or `enhancement`. Your query might look like this: + * + * The labels that best match for the query appear first in the search results. + */ + labels: { + (params?: RequestParameters & SearchLabelsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Find repositories via various criteria. This method returns up to 100 results [per page](https://developer.github.com/v3/#pagination). + * + * When searching for repositories, you can get text match metadata for the **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://developer.github.com/v3/search/#text-match-metadata). + * + * Suppose you want to search for popular Tetris repositories written in Assembly. Your query might look like this. + * + * You can search for multiple topics by adding more `topic:` instances, and including the `mercy-preview` header. For example: + * + * In this request, we're searching for repositories with the word `tetris` in the name, the description, or the README. We're limiting the results to only find repositories where the primary language is Assembly. We're sorting by stars in descending order, so that the most popular repositories appear first in the search results. + */ + repos: { + (params?: RequestParameters & SearchReposParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Find repositories by keyword. Note, this legacy method does not follow the v3 pagination pattern. This method returns up to 100 results per page and pages can be fetched using the `start_page` parameter. + * @deprecated octokit.search.reposLegacy() is deprecated, see https://developer.github.com/v3/search/legacy/#search-repositories + */ + reposLegacy: { + (params?: RequestParameters & SearchReposLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Find topics via various criteria. Results are sorted by best match. This method returns up to 100 results [per page](https://developer.github.com/v3/#pagination). + * + * When searching for topics, you can get text match metadata for the topic's **short\_description**, **description**, **name**, or **display\_name** field when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://developer.github.com/v3/search/#text-match-metadata). + * + * See "[Searching topics](https://help.github.com/articles/searching-topics/)" for a detailed list of qualifiers. + * + * Suppose you want to search for topics related to Ruby that are featured on [https://github.com/topics](https://github.com/topics). Your query might look like this: + * + * In this request, we're searching for topics with the keyword `ruby`, and we're limiting the results to find only topics that are featured. The topics that are the best match for the query appear first in the search results. + * + * **Note:** A search for featured Ruby topics only has 6 total results, so a [Link header](https://developer.github.com/v3/#link-header) indicating pagination is not included in the response. + */ + topics: { + (params?: RequestParameters & SearchTopicsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Find users via various criteria. This method returns up to 100 results [per page](https://developer.github.com/v3/#pagination). + * + * When searching for users, you can get text match metadata for the issue **login**, **email**, and **name** fields when you pass the `text-match` media type. For more details about highlighting search results, see [Text match metadata](https://developer.github.com/v3/search/#text-match-metadata). For more details about how to receive highlighted search results, see [Text match metadata](https://developer.github.com/v3/search/#text-match-metadata). + * + * Imagine you're looking for a list of popular users. You might try out this query: + * + * Here, we're looking at users with the name Tom. We're only interested in those with more than 42 repositories, and only if they have over 1,000 followers. + */ + users: { + (params?: RequestParameters & SearchUsersParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Find users by keyword. + * @deprecated octokit.search.usersLegacy() is deprecated, see https://developer.github.com/v3/search/legacy/#search-users + */ + usersLegacy: { + (params?: RequestParameters & SearchUsersLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + }; + teams: { + /** + * The "Add team member" endpoint (described below) is deprecated. + * + * We recommend using the [Add team membership](https://developer.github.com/v3/teams/members/#add-or-update-team-membership) endpoint instead. It allows you to invite new organization members to your teams. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To add someone to a team, the authenticated user must be an organization owner or a team maintainer in the team they're changing. The person being added to the team must be a member of the team's organization. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://developer.github.com/v3/#http-verbs)." + * @deprecated octokit.teams.addMember() is deprecated, see https://developer.github.com/v3/teams/members/#add-team-member-legacy + */ + addMember: { + (params?: RequestParameters & TeamsAddMemberParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * The "Add team member" endpoint (described below) is deprecated. + * + * We recommend using the [Add team membership](https://developer.github.com/v3/teams/members/#add-or-update-team-membership) endpoint instead. It allows you to invite new organization members to your teams. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To add someone to a team, the authenticated user must be an organization owner or a team maintainer in the team they're changing. The person being added to the team must be a member of the team's organization. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://developer.github.com/v3/#http-verbs)." + * @deprecated octokit.teams.addMemberLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#add-team-member-legacy + */ + addMemberLegacy: { + (params?: RequestParameters & TeamsAddMemberLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Add or update team membership`](https://developer.github.com/v3/teams/members/#add-or-update-team-membership) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * If the user is already a member of the team's organization, this endpoint will add the user to the team. To add a membership between an organization member and a team, the authenticated user must be an organization owner or a team maintainer. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * If the user is unaffiliated with the team's organization, this endpoint will send an invitation to the user via email. This newly-created membership will be in the "pending" state until the user accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. To add a membership between an unaffiliated user and a team, the authenticated user must be an organization owner. + * + * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. + * @deprecated octokit.teams.addOrUpdateMembership() is deprecated, see https://developer.github.com/v3/teams/members/#add-or-update-team-membership-legacy + */ + addOrUpdateMembership: { + (params?: RequestParameters & TeamsAddOrUpdateMembershipParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Adds an organization member to a team. An authenticated organization owner or team maintainer can add organization members to a team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * An organization owner can add someone who is not part of the team's organization to a team. When an organization owner adds someone to a team who is not an organization member, this endpoint will send an invitation to the person via email. This newly-created membership will be in the "pending" state until the person accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. + * + * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/:org_id/team/:team_id/memberships/:username`. + */ + addOrUpdateMembershipInOrg: { + (params?: RequestParameters & TeamsAddOrUpdateMembershipInOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Add or update team membership`](https://developer.github.com/v3/teams/members/#add-or-update-team-membership) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * If the user is already a member of the team's organization, this endpoint will add the user to the team. To add a membership between an organization member and a team, the authenticated user must be an organization owner or a team maintainer. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * If the user is unaffiliated with the team's organization, this endpoint will send an invitation to the user via email. This newly-created membership will be in the "pending" state until the user accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. To add a membership between an unaffiliated user and a team, the authenticated user must be an organization owner. + * + * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. + * @deprecated octokit.teams.addOrUpdateMembershipLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#add-or-update-team-membership-legacy + */ + addOrUpdateMembershipLegacy: { + (params?: RequestParameters & TeamsAddOrUpdateMembershipLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Add or update team project`](https://developer.github.com/v3/teams/#add-or-update-team-project) endpoint. + * + * Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization. + * @deprecated octokit.teams.addOrUpdateProject() is deprecated, see https://developer.github.com/v3/teams/#add-or-update-team-project-legacy + */ + addOrUpdateProject: { + (params?: RequestParameters & TeamsAddOrUpdateProjectParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/:org_id/team/:team_id/projects/:project_id`. + */ + addOrUpdateProjectInOrg: { + (params?: RequestParameters & TeamsAddOrUpdateProjectInOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Add or update team project`](https://developer.github.com/v3/teams/#add-or-update-team-project) endpoint. + * + * Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization. + * @deprecated octokit.teams.addOrUpdateProjectLegacy() is deprecated, see https://developer.github.com/v3/teams/#add-or-update-team-project-legacy + */ + addOrUpdateProjectLegacy: { + (params?: RequestParameters & TeamsAddOrUpdateProjectLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Add or update team repository`](https://developer.github.com/v3/teams/#add-or-update-team-repository) endpoint. + * + * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://developer.github.com/v3/#http-verbs)." + * @deprecated octokit.teams.addOrUpdateRepo() is deprecated, see https://developer.github.com/v3/teams/#add-or-update-team-repository-legacy + */ + addOrUpdateRepo: { + (params?: RequestParameters & TeamsAddOrUpdateRepoParams): Promise; + endpoint: EndpointInterface; + }; + /** + * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://developer.github.com/v3/#http-verbs)." + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/:org_id/team/:team_id/repos/:owner/:repo`. + */ + addOrUpdateRepoInOrg: { + (params?: RequestParameters & TeamsAddOrUpdateRepoInOrgParams): Promise; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Add or update team repository`](https://developer.github.com/v3/teams/#add-or-update-team-repository) endpoint. + * + * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://developer.github.com/v3/#http-verbs)." + * @deprecated octokit.teams.addOrUpdateRepoLegacy() is deprecated, see https://developer.github.com/v3/teams/#add-or-update-team-repository-legacy + */ + addOrUpdateRepoLegacy: { + (params?: RequestParameters & TeamsAddOrUpdateRepoLegacyParams): Promise; + endpoint: EndpointInterface; + }; + /** + * **Note**: Repositories inherited through a parent team will also be checked. + * + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Check if a team manages a repository`](https://developer.github.com/v3/teams/#check-if-a-team-manages-a-repository) endpoint. + * + * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://developer.github.com/v3/media/) via the `Accept` header: + * @deprecated octokit.teams.checkManagesRepo() is deprecated, see https://developer.github.com/v3/teams/#check-if-a-team-manages-a-repository-legacy + */ + checkManagesRepo: { + (params?: RequestParameters & TeamsCheckManagesRepoParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Checks whether a team has `admin`, `push`, or `pull` permission for a repository. Repositories inherited through a parent team will also be checked. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/repos/:owner/:repo`. + * + * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://developer.github.com/v3/media/) via the `Accept` header: + */ + checkManagesRepoInOrg: { + (params?: RequestParameters & TeamsCheckManagesRepoInOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Note**: Repositories inherited through a parent team will also be checked. + * + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Check if a team manages a repository`](https://developer.github.com/v3/teams/#check-if-a-team-manages-a-repository) endpoint. + * + * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://developer.github.com/v3/media/) via the `Accept` header: + * @deprecated octokit.teams.checkManagesRepoLegacy() is deprecated, see https://developer.github.com/v3/teams/#check-if-a-team-manages-a-repository-legacy + */ + checkManagesRepoLegacy: { + (params?: RequestParameters & TeamsCheckManagesRepoLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * To create a team, the authenticated user must be a member or owner of `:org`. By default, organization members can create teams. Organization owners can limit team creation to organization owners. For more information, see "[Setting team creation permissions](https://help.github.com/en/articles/setting-team-creation-permissions-in-your-organization)." + * + * When you create a new team, you automatically become a team maintainer without explicitly adding yourself to the optional array of `maintainers`. For more information, see "[About teams](https://help.github.com/en/github/setting-up-and-managing-organizations-and-teams/about-teams)" in the GitHub Help documentation. + */ + create: { + (params?: RequestParameters & TeamsCreateParamsDeprecatedPermission): Promise>; + (params?: RequestParameters & TeamsCreateParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create a discussion`](https://developer.github.com/v3/teams/discussions/#create-a-discussion) endpoint. + * + * Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://developer.github.com/v3/#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://developer.github.com/v3/guides/best-practices-for-integrators/#dealing-with-abuse-rate-limits)" for details. + * @deprecated octokit.teams.createDiscussion() is deprecated, see https://developer.github.com/v3/teams/discussions/#create-a-discussion-legacy + */ + createDiscussion: { + (params?: RequestParameters & TeamsCreateDiscussionParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create a comment`](https://developer.github.com/v3/teams/discussion_comments/#create-a-comment) endpoint. + * + * Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://developer.github.com/v3/#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://developer.github.com/v3/guides/best-practices-for-integrators/#dealing-with-abuse-rate-limits)" for details. + * @deprecated octokit.teams.createDiscussionComment() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#create-a-comment-legacy + */ + createDiscussionComment: { + (params?: RequestParameters & TeamsCreateDiscussionCommentParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://developer.github.com/v3/#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://developer.github.com/v3/guides/best-practices-for-integrators/#dealing-with-abuse-rate-limits)" for details. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments`. + */ + createDiscussionCommentInOrg: { + (params?: RequestParameters & TeamsCreateDiscussionCommentInOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create a comment`](https://developer.github.com/v3/teams/discussion_comments/#create-a-comment) endpoint. + * + * Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://developer.github.com/v3/#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://developer.github.com/v3/guides/best-practices-for-integrators/#dealing-with-abuse-rate-limits)" for details. + * @deprecated octokit.teams.createDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#create-a-comment-legacy + */ + createDiscussionCommentLegacy: { + (params?: RequestParameters & TeamsCreateDiscussionCommentLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://developer.github.com/v3/#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://developer.github.com/v3/guides/best-practices-for-integrators/#dealing-with-abuse-rate-limits)" for details. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions`. + */ + createDiscussionInOrg: { + (params?: RequestParameters & TeamsCreateDiscussionInOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create a discussion`](https://developer.github.com/v3/teams/discussions/#create-a-discussion) endpoint. + * + * Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://developer.github.com/v3/#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://developer.github.com/v3/guides/best-practices-for-integrators/#dealing-with-abuse-rate-limits)" for details. + * @deprecated octokit.teams.createDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#create-a-discussion-legacy + */ + createDiscussionLegacy: { + (params?: RequestParameters & TeamsCreateDiscussionLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete team`](https://developer.github.com/v3/teams/#delete-team) endpoint. + * + * To delete a team, the authenticated user must be an organization owner or team maintainer. + * + * If you are an organization owner, deleting a parent team will delete all of its child teams as well. + * @deprecated octokit.teams.delete() is deprecated, see https://developer.github.com/v3/teams/#delete-team-legacy + */ + delete: { + (params?: RequestParameters & TeamsDeleteParams): Promise; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete a discussion`](https://developer.github.com/v3/teams/discussions/#delete-a-discussion) endpoint. + * + * Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @deprecated octokit.teams.deleteDiscussion() is deprecated, see https://developer.github.com/v3/teams/discussions/#delete-a-discussion-legacy + */ + deleteDiscussion: { + (params?: RequestParameters & TeamsDeleteDiscussionParams): Promise; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete a comment`](https://developer.github.com/v3/teams/discussion_comments/#delete-a-comment) endpoint. + * + * Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @deprecated octokit.teams.deleteDiscussionComment() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#delete-a-comment-legacy + */ + deleteDiscussionComment: { + (params?: RequestParameters & TeamsDeleteDiscussionCommentParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number`. + */ + deleteDiscussionCommentInOrg: { + (params?: RequestParameters & TeamsDeleteDiscussionCommentInOrgParams): Promise; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete a comment`](https://developer.github.com/v3/teams/discussion_comments/#delete-a-comment) endpoint. + * + * Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @deprecated octokit.teams.deleteDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#delete-a-comment-legacy + */ + deleteDiscussionCommentLegacy: { + (params?: RequestParameters & TeamsDeleteDiscussionCommentLegacyParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number`. + */ + deleteDiscussionInOrg: { + (params?: RequestParameters & TeamsDeleteDiscussionInOrgParams): Promise; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete a discussion`](https://developer.github.com/v3/teams/discussions/#delete-a-discussion) endpoint. + * + * Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @deprecated octokit.teams.deleteDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#delete-a-discussion-legacy + */ + deleteDiscussionLegacy: { + (params?: RequestParameters & TeamsDeleteDiscussionLegacyParams): Promise; + endpoint: EndpointInterface; + }; + /** + * To delete a team, the authenticated user must be an organization owner or team maintainer. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/:org_id/team/:team_id`. + * + * If you are an organization owner, deleting a parent team will delete all of its child teams as well. + */ + deleteInOrg: { + (params?: RequestParameters & TeamsDeleteInOrgParams): Promise; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete team`](https://developer.github.com/v3/teams/#delete-team) endpoint. + * + * To delete a team, the authenticated user must be an organization owner or team maintainer. + * + * If you are an organization owner, deleting a parent team will delete all of its child teams as well. + * @deprecated octokit.teams.deleteLegacy() is deprecated, see https://developer.github.com/v3/teams/#delete-team-legacy + */ + deleteLegacy: { + (params?: RequestParameters & TeamsDeleteLegacyParams): Promise; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the [`Get team by name`](https://developer.github.com/v3/teams/#get-team-by-name) endpoint. + * @deprecated octokit.teams.get() is deprecated, see https://developer.github.com/v3/teams/#get-team-legacy + */ + get: { + (params?: RequestParameters & TeamsGetParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Gets a team using the team's `slug`. GitHub generates the `slug` from the team `name`. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id`. + */ + getByName: { + (params?: RequestParameters & TeamsGetByNameParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Get a single discussion`](https://developer.github.com/v3/teams/discussions/#get-a-single-discussion) endpoint. + * + * Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @deprecated octokit.teams.getDiscussion() is deprecated, see https://developer.github.com/v3/teams/discussions/#get-a-single-discussion-legacy + */ + getDiscussion: { + (params?: RequestParameters & TeamsGetDiscussionParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Get a single comment`](https://developer.github.com/v3/teams/discussion_comments/#get-a-single-comment) endpoint. + * + * Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @deprecated octokit.teams.getDiscussionComment() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#get-a-single-comment-legacy + */ + getDiscussionComment: { + (params?: RequestParameters & TeamsGetDiscussionCommentParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number`. + */ + getDiscussionCommentInOrg: { + (params?: RequestParameters & TeamsGetDiscussionCommentInOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Get a single comment`](https://developer.github.com/v3/teams/discussion_comments/#get-a-single-comment) endpoint. + * + * Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @deprecated octokit.teams.getDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#get-a-single-comment-legacy + */ + getDiscussionCommentLegacy: { + (params?: RequestParameters & TeamsGetDiscussionCommentLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number`. + */ + getDiscussionInOrg: { + (params?: RequestParameters & TeamsGetDiscussionInOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Get a single discussion`](https://developer.github.com/v3/teams/discussions/#get-a-single-discussion) endpoint. + * + * Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @deprecated octokit.teams.getDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#get-a-single-discussion-legacy + */ + getDiscussionLegacy: { + (params?: RequestParameters & TeamsGetDiscussionLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the [`Get team by name`](https://developer.github.com/v3/teams/#get-team-by-name) endpoint. + * @deprecated octokit.teams.getLegacy() is deprecated, see https://developer.github.com/v3/teams/#get-team-legacy + */ + getLegacy: { + (params?: RequestParameters & TeamsGetLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * The "Get team member" endpoint (described below) is deprecated. + * + * We recommend using the [Get team membership](https://developer.github.com/v3/teams/members/#get-team-membership) endpoint instead. It allows you to get both active and pending memberships. + * + * To list members in a team, the team must be visible to the authenticated user. + * @deprecated octokit.teams.getMember() is deprecated, see https://developer.github.com/v3/teams/members/#get-team-member-legacy + */ + getMember: { + (params?: RequestParameters & TeamsGetMemberParams): Promise; + endpoint: EndpointInterface; + }; + /** + * The "Get team member" endpoint (described below) is deprecated. + * + * We recommend using the [Get team membership](https://developer.github.com/v3/teams/members/#get-team-membership) endpoint instead. It allows you to get both active and pending memberships. + * + * To list members in a team, the team must be visible to the authenticated user. + * @deprecated octokit.teams.getMemberLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#get-team-member-legacy + */ + getMemberLegacy: { + (params?: RequestParameters & TeamsGetMemberLegacyParams): Promise; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Get team membership`](https://developer.github.com/v3/teams/members/#get-team-membership) endpoint. + * + * Team members will include the members of child teams. + * + * To get a user's membership with a team, the team must be visible to the authenticated user. + * + * **Note:** The `role` for organization owners returns as `maintainer`. For more information about `maintainer` roles, see [Create team](https://developer.github.com/v3/teams#create-team). + * @deprecated octokit.teams.getMembership() is deprecated, see https://developer.github.com/v3/teams/members/#get-team-membership-legacy + */ + getMembership: { + (params?: RequestParameters & TeamsGetMembershipParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Team members will include the members of child teams. + * + * To get a user's membership with a team, the team must be visible to the authenticated user. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/memberships/:username`. + * + * **Note:** The `role` for organization owners returns as `maintainer`. For more information about `maintainer` roles, see [Create team](https://developer.github.com/v3/teams#create-team). + */ + getMembershipInOrg: { + (params?: RequestParameters & TeamsGetMembershipInOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Get team membership`](https://developer.github.com/v3/teams/members/#get-team-membership) endpoint. + * + * Team members will include the members of child teams. + * + * To get a user's membership with a team, the team must be visible to the authenticated user. + * + * **Note:** The `role` for organization owners returns as `maintainer`. For more information about `maintainer` roles, see [Create team](https://developer.github.com/v3/teams#create-team). + * @deprecated octokit.teams.getMembershipLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#get-team-membership-legacy + */ + getMembershipLegacy: { + (params?: RequestParameters & TeamsGetMembershipLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Lists all teams in an organization that are visible to the authenticated user. + */ + list: { + (params?: RequestParameters & TeamsListParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List child teams`](https://developer.github.com/v3/teams/#list-child-teams) endpoint. + * + * + * @deprecated octokit.teams.listChild() is deprecated, see https://developer.github.com/v3/teams/#list-child-teams-legacy + */ + listChild: { + (params?: RequestParameters & TeamsListChildParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Lists the child teams of the team requested by `:team_slug`. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/teams`. + */ + listChildInOrg: { + (params?: RequestParameters & TeamsListChildInOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List child teams`](https://developer.github.com/v3/teams/#list-child-teams) endpoint. + * + * + * @deprecated octokit.teams.listChildLegacy() is deprecated, see https://developer.github.com/v3/teams/#list-child-teams-legacy + */ + listChildLegacy: { + (params?: RequestParameters & TeamsListChildLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List comments`](https://developer.github.com/v3/teams/discussion_comments/#list-comments) endpoint. + * + * List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @deprecated octokit.teams.listDiscussionComments() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#list-comments-legacy + */ + listDiscussionComments: { + (params?: RequestParameters & TeamsListDiscussionCommentsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments`. + */ + listDiscussionCommentsInOrg: { + (params?: RequestParameters & TeamsListDiscussionCommentsInOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List comments`](https://developer.github.com/v3/teams/discussion_comments/#list-comments) endpoint. + * + * List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @deprecated octokit.teams.listDiscussionCommentsLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#list-comments-legacy + */ + listDiscussionCommentsLegacy: { + (params?: RequestParameters & TeamsListDiscussionCommentsLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List discussions`](https://developer.github.com/v3/teams/discussions/#list-discussions) endpoint. + * + * List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @deprecated octokit.teams.listDiscussions() is deprecated, see https://developer.github.com/v3/teams/discussions/#list-discussions-legacy + */ + listDiscussions: { + (params?: RequestParameters & TeamsListDiscussionsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions`. + */ + listDiscussionsInOrg: { + (params?: RequestParameters & TeamsListDiscussionsInOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List discussions`](https://developer.github.com/v3/teams/discussions/#list-discussions) endpoint. + * + * List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @deprecated octokit.teams.listDiscussionsLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#list-discussions-legacy + */ + listDiscussionsLegacy: { + (params?: RequestParameters & TeamsListDiscussionsLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * List all of the teams across all of the organizations to which the authenticated user belongs. This method requires `user`, `repo`, or `read:org` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/) when authenticating via [OAuth](https://developer.github.com/apps/building-oauth-apps/). + */ + listForAuthenticatedUser: { + (params?: RequestParameters & TeamsListForAuthenticatedUserParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team members`](https://developer.github.com/v3/teams/members/#list-team-members) endpoint. + * + * Team members will include the members of child teams. + * @deprecated octokit.teams.listMembers() is deprecated, see https://developer.github.com/v3/teams/members/#list-team-members-legacy + */ + listMembers: { + (params?: RequestParameters & TeamsListMembersParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Team members will include the members of child teams. + * + * To list members in a team, the team must be visible to the authenticated user. + */ + listMembersInOrg: { + (params?: RequestParameters & TeamsListMembersInOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team members`](https://developer.github.com/v3/teams/members/#list-team-members) endpoint. + * + * Team members will include the members of child teams. + * @deprecated octokit.teams.listMembersLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#list-team-members-legacy + */ + listMembersLegacy: { + (params?: RequestParameters & TeamsListMembersLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List pending team invitations`](https://developer.github.com/v3/teams/members/#list-pending-team-invitations) endpoint. + * + * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. + * @deprecated octokit.teams.listPendingInvitations() is deprecated, see https://developer.github.com/v3/teams/members/#list-pending-team-invitations-legacy + */ + listPendingInvitations: { + (params?: RequestParameters & TeamsListPendingInvitationsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/invitations`. + */ + listPendingInvitationsInOrg: { + (params?: RequestParameters & TeamsListPendingInvitationsInOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List pending team invitations`](https://developer.github.com/v3/teams/members/#list-pending-team-invitations) endpoint. + * + * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. + * @deprecated octokit.teams.listPendingInvitationsLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#list-pending-team-invitations-legacy + */ + listPendingInvitationsLegacy: { + (params?: RequestParameters & TeamsListPendingInvitationsLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team projects`](https://developer.github.com/v3/teams/#list-team-projects) endpoint. + * + * Lists the organization projects for a team. + * @deprecated octokit.teams.listProjects() is deprecated, see https://developer.github.com/v3/teams/#list-team-projects-legacy + */ + listProjects: { + (params?: RequestParameters & TeamsListProjectsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Lists the organization projects for a team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/projects`. + */ + listProjectsInOrg: { + (params?: RequestParameters & TeamsListProjectsInOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team projects`](https://developer.github.com/v3/teams/#list-team-projects) endpoint. + * + * Lists the organization projects for a team. + * @deprecated octokit.teams.listProjectsLegacy() is deprecated, see https://developer.github.com/v3/teams/#list-team-projects-legacy + */ + listProjectsLegacy: { + (params?: RequestParameters & TeamsListProjectsLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team repos`](https://developer.github.com/v3/teams/#list-team-repos) endpoint. + * @deprecated octokit.teams.listRepos() is deprecated, see https://developer.github.com/v3/teams/#list-team-repos-legacy + */ + listRepos: { + (params?: RequestParameters & TeamsListReposParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Lists a team's repositories visible to the authenticated user. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/repos`. + */ + listReposInOrg: { + (params?: RequestParameters & TeamsListReposInOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team repos`](https://developer.github.com/v3/teams/#list-team-repos) endpoint. + * @deprecated octokit.teams.listReposLegacy() is deprecated, see https://developer.github.com/v3/teams/#list-team-repos-legacy + */ + listReposLegacy: { + (params?: RequestParameters & TeamsListReposLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * The "Remove team member" endpoint (described below) is deprecated. + * + * We recommend using the [Remove team membership](https://developer.github.com/v3/teams/members/#remove-team-membership) endpoint instead. It allows you to remove both active and pending memberships. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a team member, the authenticated user must have 'admin' permissions to the team or be an owner of the org that the team is associated with. Removing a team member does not delete the user, it just removes them from the team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * @deprecated octokit.teams.removeMember() is deprecated, see https://developer.github.com/v3/teams/members/#remove-team-member-legacy + */ + removeMember: { + (params?: RequestParameters & TeamsRemoveMemberParams): Promise; + endpoint: EndpointInterface; + }; + /** + * The "Remove team member" endpoint (described below) is deprecated. + * + * We recommend using the [Remove team membership](https://developer.github.com/v3/teams/members/#remove-team-membership) endpoint instead. It allows you to remove both active and pending memberships. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a team member, the authenticated user must have 'admin' permissions to the team or be an owner of the org that the team is associated with. Removing a team member does not delete the user, it just removes them from the team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * @deprecated octokit.teams.removeMemberLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#remove-team-member-legacy + */ + removeMemberLegacy: { + (params?: RequestParameters & TeamsRemoveMemberLegacyParams): Promise; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Remove team membership`](https://developer.github.com/v3/teams/members/#remove-team-membership) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * @deprecated octokit.teams.removeMembership() is deprecated, see https://developer.github.com/v3/teams/members/#remove-team-membership-legacy + */ + removeMembership: { + (params?: RequestParameters & TeamsRemoveMembershipParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/:org_id/team/:team_id/memberships/:username`. + */ + removeMembershipInOrg: { + (params?: RequestParameters & TeamsRemoveMembershipInOrgParams): Promise; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Remove team membership`](https://developer.github.com/v3/teams/members/#remove-team-membership) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * @deprecated octokit.teams.removeMembershipLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#remove-team-membership-legacy + */ + removeMembershipLegacy: { + (params?: RequestParameters & TeamsRemoveMembershipLegacyParams): Promise; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Remove team project`](https://developer.github.com/v3/teams/#remove-team-project) endpoint. + * + * Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. **Note:** This endpoint removes the project from the team, but does not delete it. + * @deprecated octokit.teams.removeProject() is deprecated, see https://developer.github.com/v3/teams/#remove-team-project-legacy + */ + removeProject: { + (params?: RequestParameters & TeamsRemoveProjectParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. This endpoint removes the project from the team, but does not delete the project. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/:org_id/team/:team_id/projects/:project_id`. + */ + removeProjectInOrg: { + (params?: RequestParameters & TeamsRemoveProjectInOrgParams): Promise; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Remove team project`](https://developer.github.com/v3/teams/#remove-team-project) endpoint. + * + * Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. **Note:** This endpoint removes the project from the team, but does not delete it. + * @deprecated octokit.teams.removeProjectLegacy() is deprecated, see https://developer.github.com/v3/teams/#remove-team-project-legacy + */ + removeProjectLegacy: { + (params?: RequestParameters & TeamsRemoveProjectLegacyParams): Promise; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Remove team repository`](https://developer.github.com/v3/teams/#remove-team-repository) endpoint. + * + * If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. NOTE: This does not delete the repository, it just removes it from the team. + * @deprecated octokit.teams.removeRepo() is deprecated, see https://developer.github.com/v3/teams/#remove-team-repository-legacy + */ + removeRepo: { + (params?: RequestParameters & TeamsRemoveRepoParams): Promise; + endpoint: EndpointInterface; + }; + /** + * If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. This does not delete the repository, it just removes it from the team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/:org_id/team/:team_id/repos/:owner/:repo`. + */ + removeRepoInOrg: { + (params?: RequestParameters & TeamsRemoveRepoInOrgParams): Promise; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Remove team repository`](https://developer.github.com/v3/teams/#remove-team-repository) endpoint. + * + * If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. NOTE: This does not delete the repository, it just removes it from the team. + * @deprecated octokit.teams.removeRepoLegacy() is deprecated, see https://developer.github.com/v3/teams/#remove-team-repository-legacy + */ + removeRepoLegacy: { + (params?: RequestParameters & TeamsRemoveRepoLegacyParams): Promise; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Review a team project`](https://developer.github.com/v3/teams/#review-a-team-project) endpoint. + * + * Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. + * @deprecated octokit.teams.reviewProject() is deprecated, see https://developer.github.com/v3/teams/#review-a-team-project-legacy + */ + reviewProject: { + (params?: RequestParameters & TeamsReviewProjectParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/projects/:project_id`. + */ + reviewProjectInOrg: { + (params?: RequestParameters & TeamsReviewProjectInOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Review a team project`](https://developer.github.com/v3/teams/#review-a-team-project) endpoint. + * + * Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. + * @deprecated octokit.teams.reviewProjectLegacy() is deprecated, see https://developer.github.com/v3/teams/#review-a-team-project-legacy + */ + reviewProjectLegacy: { + (params?: RequestParameters & TeamsReviewProjectLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Edit team`](https://developer.github.com/v3/teams/#edit-team) endpoint. + * + * To edit a team, the authenticated user must either be an organization owner or a team maintainer. + * + * **Note:** With nested teams, the `privacy` for parent teams cannot be `secret`. + * @deprecated octokit.teams.update() is deprecated, see https://developer.github.com/v3/teams/#edit-team-legacy + */ + update: { + (params?: RequestParameters & TeamsUpdateParamsDeprecatedPermission): Promise>; + (params?: RequestParameters & TeamsUpdateParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Edit a discussion`](https://developer.github.com/v3/teams/discussions/#edit-a-discussion) endpoint. + * + * Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @deprecated octokit.teams.updateDiscussion() is deprecated, see https://developer.github.com/v3/teams/discussions/#edit-a-discussion-legacy + */ + updateDiscussion: { + (params?: RequestParameters & TeamsUpdateDiscussionParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Edit a comment`](https://developer.github.com/v3/teams/discussion_comments/#edit-a-comment) endpoint. + * + * Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @deprecated octokit.teams.updateDiscussionComment() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#edit-a-comment-legacy + */ + updateDiscussionComment: { + (params?: RequestParameters & TeamsUpdateDiscussionCommentParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number`. + */ + updateDiscussionCommentInOrg: { + (params?: RequestParameters & TeamsUpdateDiscussionCommentInOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Edit a comment`](https://developer.github.com/v3/teams/discussion_comments/#edit-a-comment) endpoint. + * + * Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @deprecated octokit.teams.updateDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#edit-a-comment-legacy + */ + updateDiscussionCommentLegacy: { + (params?: RequestParameters & TeamsUpdateDiscussionCommentLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/:org_id/team/:team_id/discussions/:discussion_number`. + */ + updateDiscussionInOrg: { + (params?: RequestParameters & TeamsUpdateDiscussionInOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Edit a discussion`](https://developer.github.com/v3/teams/discussions/#edit-a-discussion) endpoint. + * + * Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @deprecated octokit.teams.updateDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#edit-a-discussion-legacy + */ + updateDiscussionLegacy: { + (params?: RequestParameters & TeamsUpdateDiscussionLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * To edit a team, the authenticated user must either be an organization owner or a team maintainer. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/:org_id/team/:team_id`. + */ + updateInOrg: { + (params?: RequestParameters & TeamsUpdateInOrgParamsDeprecatedPermission): Promise>; + (params?: RequestParameters & TeamsUpdateInOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Edit team`](https://developer.github.com/v3/teams/#edit-team) endpoint. + * + * To edit a team, the authenticated user must either be an organization owner or a team maintainer. + * + * **Note:** With nested teams, the `privacy` for parent teams cannot be `secret`. + * @deprecated octokit.teams.updateLegacy() is deprecated, see https://developer.github.com/v3/teams/#edit-team-legacy + */ + updateLegacy: { + (params?: RequestParameters & TeamsUpdateLegacyParamsDeprecatedPermission): Promise>; + (params?: RequestParameters & TeamsUpdateLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + }; + users: { + /** + * This endpoint is accessible with the `user` scope. + */ + addEmails: { + (params?: RequestParameters & UsersAddEmailsParams): Promise>; + endpoint: EndpointInterface; + }; + block: { + (params?: RequestParameters & UsersBlockParams): Promise; + endpoint: EndpointInterface; + }; + /** + * If the user is blocked: + * + * If the user is not blocked: + */ + checkBlocked: { + (params?: RequestParameters & UsersCheckBlockedParams): Promise; + endpoint: EndpointInterface; + }; + checkFollowing: { + (params?: RequestParameters & UsersCheckFollowingParams): Promise; + endpoint: EndpointInterface; + }; + checkFollowingForUser: { + (params?: RequestParameters & UsersCheckFollowingForUserParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Adds a GPG key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:gpg_key` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + createGpgKey: { + (params?: RequestParameters & UsersCreateGpgKeyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Adds a public SSH key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:public_key` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + createPublicKey: { + (params?: RequestParameters & UsersCreatePublicKeyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * This endpoint is accessible with the `user` scope. + */ + deleteEmails: { + (params?: RequestParameters & UsersDeleteEmailsParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Removes a GPG key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:gpg_key` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + deleteGpgKey: { + (params?: RequestParameters & UsersDeleteGpgKeyParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Removes a public SSH key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:public_key` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + deletePublicKey: { + (params?: RequestParameters & UsersDeletePublicKeyParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://developer.github.com/v3/#http-verbs)." + * + * Following a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. + */ + follow: { + (params?: RequestParameters & UsersFollowParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Lists public and private profile information when authenticated through basic auth or OAuth with the `user` scope. + * + * Lists public profile information when authenticated through OAuth without the `user` scope. + */ + getAuthenticated: { + (params?: RequestParameters & EmptyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Provides publicly available information about someone with a GitHub account. + * + * GitHub Apps with the `Plan` user permission can use this endpoint to retrieve information about a user's GitHub plan. The GitHub App must be authenticated as a user. See "[Identifying and authorizing users for GitHub Apps](https://developer.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/)" for details about authentication. For an example response, see "[Response with GitHub plan information](https://developer.github.com/v3/users/#response-with-github-plan-information)." + * + * The `email` key in the following response is the publicly visible email address from your GitHub [profile page](https://github.com/settings/profile). When setting up your profile, you can select a primary email address to be “public” which provides an email entry for this endpoint. If you do not set a public email address for `email`, then it will have a value of `null`. You only see publicly visible email addresses when authenticated with GitHub. For more information, see [Authentication](https://developer.github.com/v3/#authentication). + * + * The Emails API enables you to list all of your email addresses, and toggle a primary email to be visible publicly. For more information, see "[Emails API](https://developer.github.com/v3/users/emails/)". + */ + getByUsername: { + (params?: RequestParameters & UsersGetByUsernameParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Provides hovercard information when authenticated through basic auth or OAuth with the `repo` scope. You can find out more about someone in relation to their pull requests, issues, repositories, and organizations. + * + * The `subject_type` and `subject_id` parameters provide context for the person's hovercard, which returns more information than without the parameters. For example, if you wanted to find out more about `octocat` who owns the `Spoon-Knife` repository via cURL, it would look like this: + */ + getContextForUser: { + (params?: RequestParameters & UsersGetContextForUserParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * View extended details for a single GPG key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + getGpgKey: { + (params?: RequestParameters & UsersGetGpgKeyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * View extended details for a single public SSH key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + getPublicKey: { + (params?: RequestParameters & UsersGetPublicKeyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Lists all users, in the order that they signed up on GitHub. This list includes personal user accounts and organization accounts. + * + * Note: Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://developer.github.com/v3/#link-header) to get the URL for the next page of users. + */ + list: { + (params?: RequestParameters & UsersListParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * List the users you've blocked on your personal account. + */ + listBlocked: { + (params?: RequestParameters & EmptyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Lists all of your email addresses, and specifies which one is visible to the public. This endpoint is accessible with the `user:email` scope. + */ + listEmails: { + (params?: RequestParameters & UsersListEmailsParams): Promise>; + endpoint: EndpointInterface; + }; + listFollowersForAuthenticatedUser: { + (params?: RequestParameters & UsersListFollowersForAuthenticatedUserParams): Promise>; + endpoint: EndpointInterface; + }; + listFollowersForUser: { + (params?: RequestParameters & UsersListFollowersForUserParams): Promise>; + endpoint: EndpointInterface; + }; + listFollowingForAuthenticatedUser: { + (params?: RequestParameters & UsersListFollowingForAuthenticatedUserParams): Promise>; + endpoint: EndpointInterface; + }; + listFollowingForUser: { + (params?: RequestParameters & UsersListFollowingForUserParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Lists the current user's GPG keys. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + listGpgKeys: { + (params?: RequestParameters & UsersListGpgKeysParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Lists the GPG keys for a user. This information is accessible by anyone. + */ + listGpgKeysForUser: { + (params?: RequestParameters & UsersListGpgKeysForUserParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Lists your publicly visible email address, which you can set with the [Toggle primary email visibility](https://developer.github.com/v3/users/emails/#toggle-primary-email-visibility) endpoint. This endpoint is accessible with the `user:email` scope. + */ + listPublicEmails: { + (params?: RequestParameters & UsersListPublicEmailsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Lists the public SSH keys for the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + listPublicKeys: { + (params?: RequestParameters & UsersListPublicKeysParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Lists the _verified_ public SSH keys for a user. This is accessible by anyone. + */ + listPublicKeysForUser: { + (params?: RequestParameters & UsersListPublicKeysForUserParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Sets the visibility for your primary email addresses. + */ + togglePrimaryEmailVisibility: { + (params?: RequestParameters & UsersTogglePrimaryEmailVisibilityParams): Promise>; + endpoint: EndpointInterface; + }; + unblock: { + (params?: RequestParameters & UsersUnblockParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Unfollowing a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. + */ + unfollow: { + (params?: RequestParameters & UsersUnfollowParams): Promise; + endpoint: EndpointInterface; + }; + /** + * **Note:** If your email is set to private and you send an `email` parameter as part of this request to update your profile, your privacy settings are still enforced: the email address will not be displayed on your public profile or via the API. + */ + updateAuthenticated: { + (params?: RequestParameters & UsersUpdateAuthenticatedParams): Promise>; + endpoint: EndpointInterface; + }; + }; +}; +export {}; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/index.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/index.d.ts new file mode 100644 index 0000000..454dd5e --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/index.d.ts @@ -0,0 +1,16 @@ +import { Octokit } from "@octokit/core"; +import { Api } from "./types"; +/** + * This plugin is a 1:1 copy of internal @octokit/rest plugins. The primary + * goal is to rebuild @octokit/rest on top of @octokit/core. Once that is + * done, we will remove the registerEndpoints methods and return the methods + * directly as with the other plugins. At that point we will also remove the + * legacy workarounds and deprecations. + * + * See the plan at + * https://github.com/octokit/plugin-rest-endpoint-methods.js/pull/1 + */ +export declare function restEndpointMethods(octokit: Octokit): Api; +export declare namespace restEndpointMethods { + var VERSION: string; +} diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/register-endpoints.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/register-endpoints.d.ts new file mode 100644 index 0000000..b80dde0 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/register-endpoints.d.ts @@ -0,0 +1 @@ +export declare function registerEndpoints(octokit: any, routes: any): void; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/types.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/types.d.ts new file mode 100644 index 0000000..4cabd9f --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/types.d.ts @@ -0,0 +1,4 @@ +import { RestEndpointMethods } from "./generated/rest-endpoint-methods-types"; +export declare type Api = { + registerEndpoints: (endpoints: any) => void; +} & RestEndpointMethods; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/version.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/version.d.ts new file mode 100644 index 0000000..d1c6894 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/version.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "2.4.0"; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js new file mode 100644 index 0000000..b6b0f1c --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js @@ -0,0 +1,6726 @@ +import { Deprecation } from 'deprecation'; + +var endpointsByScope = { + actions: { + cancelWorkflowRun: { + method: "POST", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + run_id: { required: true, type: "integer" } + }, + url: "/repos/:owner/:repo/actions/runs/:run_id/cancel" + }, + createOrUpdateSecretForRepo: { + method: "PUT", + params: { + encrypted_value: { type: "string" }, + key_id: { type: "string" }, + name: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/secrets/:name" + }, + createRegistrationToken: { + method: "POST", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/runners/registration-token" + }, + createRemoveToken: { + method: "POST", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/runners/remove-token" + }, + deleteArtifact: { + method: "DELETE", + params: { + artifact_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/artifacts/:artifact_id" + }, + deleteSecretFromRepo: { + method: "DELETE", + params: { + name: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/secrets/:name" + }, + downloadArtifact: { + method: "GET", + params: { + archive_format: { required: true, type: "string" }, + artifact_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/artifacts/:artifact_id/:archive_format" + }, + getArtifact: { + method: "GET", + params: { + artifact_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/artifacts/:artifact_id" + }, + getPublicKey: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/secrets/public-key" + }, + getSecret: { + method: "GET", + params: { + name: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/secrets/:name" + }, + getSelfHostedRunner: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + runner_id: { required: true, type: "integer" } + }, + url: "/repos/:owner/:repo/actions/runners/:runner_id" + }, + getWorkflow: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + workflow_id: { required: true, type: "integer" } + }, + url: "/repos/:owner/:repo/actions/workflows/:workflow_id" + }, + getWorkflowJob: { + method: "GET", + params: { + job_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/jobs/:job_id" + }, + getWorkflowRun: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + run_id: { required: true, type: "integer" } + }, + url: "/repos/:owner/:repo/actions/runs/:run_id" + }, + listDownloadsForSelfHostedRunnerApplication: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/runners/downloads" + }, + listJobsForWorkflowRun: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" }, + run_id: { required: true, type: "integer" } + }, + url: "/repos/:owner/:repo/actions/runs/:run_id/jobs" + }, + listRepoWorkflowRuns: { + method: "GET", + params: { + actor: { type: "string" }, + branch: { type: "string" }, + event: { type: "string" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" }, + status: { enum: ["completed", "status", "conclusion"], type: "string" } + }, + url: "/repos/:owner/:repo/actions/runs" + }, + listRepoWorkflows: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/workflows" + }, + listSecretsForRepo: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/secrets" + }, + listSelfHostedRunnersForRepo: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/runners" + }, + listWorkflowJobLogs: { + method: "GET", + params: { + job_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/jobs/:job_id/logs" + }, + listWorkflowRunArtifacts: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" }, + run_id: { required: true, type: "integer" } + }, + url: "/repos/:owner/:repo/actions/runs/:run_id/artifacts" + }, + listWorkflowRunLogs: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" }, + run_id: { required: true, type: "integer" } + }, + url: "/repos/:owner/:repo/actions/runs/:run_id/logs" + }, + listWorkflowRuns: { + method: "GET", + params: { + actor: { type: "string" }, + branch: { type: "string" }, + event: { type: "string" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" }, + status: { enum: ["completed", "status", "conclusion"], type: "string" }, + workflow_id: { required: true, type: "integer" } + }, + url: "/repos/:owner/:repo/actions/workflows/:workflow_id/runs" + }, + reRunWorkflow: { + method: "POST", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + run_id: { required: true, type: "integer" } + }, + url: "/repos/:owner/:repo/actions/runs/:run_id/rerun" + }, + removeSelfHostedRunner: { + method: "DELETE", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + runner_id: { required: true, type: "integer" } + }, + url: "/repos/:owner/:repo/actions/runners/:runner_id" + } + }, + activity: { + checkStarringRepo: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/user/starred/:owner/:repo" + }, + deleteRepoSubscription: { + method: "DELETE", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/subscription" + }, + deleteThreadSubscription: { + method: "DELETE", + params: { thread_id: { required: true, type: "integer" } }, + url: "/notifications/threads/:thread_id/subscription" + }, + getRepoSubscription: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/subscription" + }, + getThread: { + method: "GET", + params: { thread_id: { required: true, type: "integer" } }, + url: "/notifications/threads/:thread_id" + }, + getThreadSubscription: { + method: "GET", + params: { thread_id: { required: true, type: "integer" } }, + url: "/notifications/threads/:thread_id/subscription" + }, + listEventsForOrg: { + method: "GET", + params: { + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/users/:username/events/orgs/:org" + }, + listEventsForUser: { + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/users/:username/events" + }, + listFeeds: { method: "GET", params: {}, url: "/feeds" }, + listNotifications: { + method: "GET", + params: { + all: { type: "boolean" }, + before: { type: "string" }, + page: { type: "integer" }, + participating: { type: "boolean" }, + per_page: { type: "integer" }, + since: { type: "string" } + }, + url: "/notifications" + }, + listNotificationsForRepo: { + method: "GET", + params: { + all: { type: "boolean" }, + before: { type: "string" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + participating: { type: "boolean" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" }, + since: { type: "string" } + }, + url: "/repos/:owner/:repo/notifications" + }, + listPublicEvents: { + method: "GET", + params: { page: { type: "integer" }, per_page: { type: "integer" } }, + url: "/events" + }, + listPublicEventsForOrg: { + method: "GET", + params: { + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" } + }, + url: "/orgs/:org/events" + }, + listPublicEventsForRepoNetwork: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/networks/:owner/:repo/events" + }, + listPublicEventsForUser: { + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/users/:username/events/public" + }, + listReceivedEventsForUser: { + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/users/:username/received_events" + }, + listReceivedPublicEventsForUser: { + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/users/:username/received_events/public" + }, + listRepoEvents: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/events" + }, + listReposStarredByAuthenticatedUser: { + method: "GET", + params: { + direction: { enum: ["asc", "desc"], type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + sort: { enum: ["created", "updated"], type: "string" } + }, + url: "/user/starred" + }, + listReposStarredByUser: { + method: "GET", + params: { + direction: { enum: ["asc", "desc"], type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + sort: { enum: ["created", "updated"], type: "string" }, + username: { required: true, type: "string" } + }, + url: "/users/:username/starred" + }, + listReposWatchedByUser: { + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/users/:username/subscriptions" + }, + listStargazersForRepo: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/stargazers" + }, + listWatchedReposForAuthenticatedUser: { + method: "GET", + params: { page: { type: "integer" }, per_page: { type: "integer" } }, + url: "/user/subscriptions" + }, + listWatchersForRepo: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/subscribers" + }, + markAsRead: { + method: "PUT", + params: { last_read_at: { type: "string" } }, + url: "/notifications" + }, + markNotificationsAsReadForRepo: { + method: "PUT", + params: { + last_read_at: { type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/notifications" + }, + markThreadAsRead: { + method: "PATCH", + params: { thread_id: { required: true, type: "integer" } }, + url: "/notifications/threads/:thread_id" + }, + setRepoSubscription: { + method: "PUT", + params: { + ignored: { type: "boolean" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + subscribed: { type: "boolean" } + }, + url: "/repos/:owner/:repo/subscription" + }, + setThreadSubscription: { + method: "PUT", + params: { + ignored: { type: "boolean" }, + thread_id: { required: true, type: "integer" } + }, + url: "/notifications/threads/:thread_id/subscription" + }, + starRepo: { + method: "PUT", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/user/starred/:owner/:repo" + }, + unstarRepo: { + method: "DELETE", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/user/starred/:owner/:repo" + } + }, + apps: { + addRepoToInstallation: { + headers: { accept: "application/vnd.github.machine-man-preview+json" }, + method: "PUT", + params: { + installation_id: { required: true, type: "integer" }, + repository_id: { required: true, type: "integer" } + }, + url: "/user/installations/:installation_id/repositories/:repository_id" + }, + checkAccountIsAssociatedWithAny: { + method: "GET", + params: { account_id: { required: true, type: "integer" } }, + url: "/marketplace_listing/accounts/:account_id" + }, + checkAccountIsAssociatedWithAnyStubbed: { + method: "GET", + params: { account_id: { required: true, type: "integer" } }, + url: "/marketplace_listing/stubbed/accounts/:account_id" + }, + checkAuthorization: { + deprecated: "octokit.apps.checkAuthorization() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#check-an-authorization", + method: "GET", + params: { + access_token: { required: true, type: "string" }, + client_id: { required: true, type: "string" } + }, + url: "/applications/:client_id/tokens/:access_token" + }, + checkToken: { + headers: { accept: "application/vnd.github.doctor-strange-preview+json" }, + method: "POST", + params: { + access_token: { type: "string" }, + client_id: { required: true, type: "string" } + }, + url: "/applications/:client_id/token" + }, + createContentAttachment: { + headers: { accept: "application/vnd.github.corsair-preview+json" }, + method: "POST", + params: { + body: { required: true, type: "string" }, + content_reference_id: { required: true, type: "integer" }, + title: { required: true, type: "string" } + }, + url: "/content_references/:content_reference_id/attachments" + }, + createFromManifest: { + headers: { accept: "application/vnd.github.fury-preview+json" }, + method: "POST", + params: { code: { required: true, type: "string" } }, + url: "/app-manifests/:code/conversions" + }, + createInstallationToken: { + headers: { accept: "application/vnd.github.machine-man-preview+json" }, + method: "POST", + params: { + installation_id: { required: true, type: "integer" }, + permissions: { type: "object" }, + repository_ids: { type: "integer[]" } + }, + url: "/app/installations/:installation_id/access_tokens" + }, + deleteAuthorization: { + headers: { accept: "application/vnd.github.doctor-strange-preview+json" }, + method: "DELETE", + params: { + access_token: { type: "string" }, + client_id: { required: true, type: "string" } + }, + url: "/applications/:client_id/grant" + }, + deleteInstallation: { + headers: { + accept: "application/vnd.github.gambit-preview+json,application/vnd.github.machine-man-preview+json" + }, + method: "DELETE", + params: { installation_id: { required: true, type: "integer" } }, + url: "/app/installations/:installation_id" + }, + deleteToken: { + headers: { accept: "application/vnd.github.doctor-strange-preview+json" }, + method: "DELETE", + params: { + access_token: { type: "string" }, + client_id: { required: true, type: "string" } + }, + url: "/applications/:client_id/token" + }, + findOrgInstallation: { + deprecated: "octokit.apps.findOrgInstallation() has been renamed to octokit.apps.getOrgInstallation() (2019-04-10)", + headers: { accept: "application/vnd.github.machine-man-preview+json" }, + method: "GET", + params: { org: { required: true, type: "string" } }, + url: "/orgs/:org/installation" + }, + findRepoInstallation: { + deprecated: "octokit.apps.findRepoInstallation() has been renamed to octokit.apps.getRepoInstallation() (2019-04-10)", + headers: { accept: "application/vnd.github.machine-man-preview+json" }, + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/installation" + }, + findUserInstallation: { + deprecated: "octokit.apps.findUserInstallation() has been renamed to octokit.apps.getUserInstallation() (2019-04-10)", + headers: { accept: "application/vnd.github.machine-man-preview+json" }, + method: "GET", + params: { username: { required: true, type: "string" } }, + url: "/users/:username/installation" + }, + getAuthenticated: { + headers: { accept: "application/vnd.github.machine-man-preview+json" }, + method: "GET", + params: {}, + url: "/app" + }, + getBySlug: { + headers: { accept: "application/vnd.github.machine-man-preview+json" }, + method: "GET", + params: { app_slug: { required: true, type: "string" } }, + url: "/apps/:app_slug" + }, + getInstallation: { + headers: { accept: "application/vnd.github.machine-man-preview+json" }, + method: "GET", + params: { installation_id: { required: true, type: "integer" } }, + url: "/app/installations/:installation_id" + }, + getOrgInstallation: { + headers: { accept: "application/vnd.github.machine-man-preview+json" }, + method: "GET", + params: { org: { required: true, type: "string" } }, + url: "/orgs/:org/installation" + }, + getRepoInstallation: { + headers: { accept: "application/vnd.github.machine-man-preview+json" }, + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/installation" + }, + getUserInstallation: { + headers: { accept: "application/vnd.github.machine-man-preview+json" }, + method: "GET", + params: { username: { required: true, type: "string" } }, + url: "/users/:username/installation" + }, + listAccountsUserOrOrgOnPlan: { + method: "GET", + params: { + direction: { enum: ["asc", "desc"], type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + plan_id: { required: true, type: "integer" }, + sort: { enum: ["created", "updated"], type: "string" } + }, + url: "/marketplace_listing/plans/:plan_id/accounts" + }, + listAccountsUserOrOrgOnPlanStubbed: { + method: "GET", + params: { + direction: { enum: ["asc", "desc"], type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + plan_id: { required: true, type: "integer" }, + sort: { enum: ["created", "updated"], type: "string" } + }, + url: "/marketplace_listing/stubbed/plans/:plan_id/accounts" + }, + listInstallationReposForAuthenticatedUser: { + headers: { accept: "application/vnd.github.machine-man-preview+json" }, + method: "GET", + params: { + installation_id: { required: true, type: "integer" }, + page: { type: "integer" }, + per_page: { type: "integer" } + }, + url: "/user/installations/:installation_id/repositories" + }, + listInstallations: { + headers: { accept: "application/vnd.github.machine-man-preview+json" }, + method: "GET", + params: { page: { type: "integer" }, per_page: { type: "integer" } }, + url: "/app/installations" + }, + listInstallationsForAuthenticatedUser: { + headers: { accept: "application/vnd.github.machine-man-preview+json" }, + method: "GET", + params: { page: { type: "integer" }, per_page: { type: "integer" } }, + url: "/user/installations" + }, + listMarketplacePurchasesForAuthenticatedUser: { + method: "GET", + params: { page: { type: "integer" }, per_page: { type: "integer" } }, + url: "/user/marketplace_purchases" + }, + listMarketplacePurchasesForAuthenticatedUserStubbed: { + method: "GET", + params: { page: { type: "integer" }, per_page: { type: "integer" } }, + url: "/user/marketplace_purchases/stubbed" + }, + listPlans: { + method: "GET", + params: { page: { type: "integer" }, per_page: { type: "integer" } }, + url: "/marketplace_listing/plans" + }, + listPlansStubbed: { + method: "GET", + params: { page: { type: "integer" }, per_page: { type: "integer" } }, + url: "/marketplace_listing/stubbed/plans" + }, + listRepos: { + headers: { accept: "application/vnd.github.machine-man-preview+json" }, + method: "GET", + params: { page: { type: "integer" }, per_page: { type: "integer" } }, + url: "/installation/repositories" + }, + removeRepoFromInstallation: { + headers: { accept: "application/vnd.github.machine-man-preview+json" }, + method: "DELETE", + params: { + installation_id: { required: true, type: "integer" }, + repository_id: { required: true, type: "integer" } + }, + url: "/user/installations/:installation_id/repositories/:repository_id" + }, + resetAuthorization: { + deprecated: "octokit.apps.resetAuthorization() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#reset-an-authorization", + method: "POST", + params: { + access_token: { required: true, type: "string" }, + client_id: { required: true, type: "string" } + }, + url: "/applications/:client_id/tokens/:access_token" + }, + resetToken: { + headers: { accept: "application/vnd.github.doctor-strange-preview+json" }, + method: "PATCH", + params: { + access_token: { type: "string" }, + client_id: { required: true, type: "string" } + }, + url: "/applications/:client_id/token" + }, + revokeAuthorizationForApplication: { + deprecated: "octokit.apps.revokeAuthorizationForApplication() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#revoke-an-authorization-for-an-application", + method: "DELETE", + params: { + access_token: { required: true, type: "string" }, + client_id: { required: true, type: "string" } + }, + url: "/applications/:client_id/tokens/:access_token" + }, + revokeGrantForApplication: { + deprecated: "octokit.apps.revokeGrantForApplication() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#revoke-a-grant-for-an-application", + method: "DELETE", + params: { + access_token: { required: true, type: "string" }, + client_id: { required: true, type: "string" } + }, + url: "/applications/:client_id/grants/:access_token" + }, + revokeInstallationToken: { + headers: { accept: "application/vnd.github.gambit-preview+json" }, + method: "DELETE", + params: {}, + url: "/installation/token" + } + }, + checks: { + create: { + headers: { accept: "application/vnd.github.antiope-preview+json" }, + method: "POST", + params: { + actions: { type: "object[]" }, + "actions[].description": { required: true, type: "string" }, + "actions[].identifier": { required: true, type: "string" }, + "actions[].label": { required: true, type: "string" }, + completed_at: { type: "string" }, + conclusion: { + enum: [ + "success", + "failure", + "neutral", + "cancelled", + "timed_out", + "action_required" + ], + type: "string" + }, + details_url: { type: "string" }, + external_id: { type: "string" }, + head_sha: { required: true, type: "string" }, + name: { required: true, type: "string" }, + output: { type: "object" }, + "output.annotations": { type: "object[]" }, + "output.annotations[].annotation_level": { + enum: ["notice", "warning", "failure"], + required: true, + type: "string" + }, + "output.annotations[].end_column": { type: "integer" }, + "output.annotations[].end_line": { required: true, type: "integer" }, + "output.annotations[].message": { required: true, type: "string" }, + "output.annotations[].path": { required: true, type: "string" }, + "output.annotations[].raw_details": { type: "string" }, + "output.annotations[].start_column": { type: "integer" }, + "output.annotations[].start_line": { required: true, type: "integer" }, + "output.annotations[].title": { type: "string" }, + "output.images": { type: "object[]" }, + "output.images[].alt": { required: true, type: "string" }, + "output.images[].caption": { type: "string" }, + "output.images[].image_url": { required: true, type: "string" }, + "output.summary": { required: true, type: "string" }, + "output.text": { type: "string" }, + "output.title": { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + started_at: { type: "string" }, + status: { enum: ["queued", "in_progress", "completed"], type: "string" } + }, + url: "/repos/:owner/:repo/check-runs" + }, + createSuite: { + headers: { accept: "application/vnd.github.antiope-preview+json" }, + method: "POST", + params: { + head_sha: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/check-suites" + }, + get: { + headers: { accept: "application/vnd.github.antiope-preview+json" }, + method: "GET", + params: { + check_run_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/check-runs/:check_run_id" + }, + getSuite: { + headers: { accept: "application/vnd.github.antiope-preview+json" }, + method: "GET", + params: { + check_suite_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/check-suites/:check_suite_id" + }, + listAnnotations: { + headers: { accept: "application/vnd.github.antiope-preview+json" }, + method: "GET", + params: { + check_run_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/check-runs/:check_run_id/annotations" + }, + listForRef: { + headers: { accept: "application/vnd.github.antiope-preview+json" }, + method: "GET", + params: { + check_name: { type: "string" }, + filter: { enum: ["latest", "all"], type: "string" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + ref: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + status: { enum: ["queued", "in_progress", "completed"], type: "string" } + }, + url: "/repos/:owner/:repo/commits/:ref/check-runs" + }, + listForSuite: { + headers: { accept: "application/vnd.github.antiope-preview+json" }, + method: "GET", + params: { + check_name: { type: "string" }, + check_suite_id: { required: true, type: "integer" }, + filter: { enum: ["latest", "all"], type: "string" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" }, + status: { enum: ["queued", "in_progress", "completed"], type: "string" } + }, + url: "/repos/:owner/:repo/check-suites/:check_suite_id/check-runs" + }, + listSuitesForRef: { + headers: { accept: "application/vnd.github.antiope-preview+json" }, + method: "GET", + params: { + app_id: { type: "integer" }, + check_name: { type: "string" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + ref: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/commits/:ref/check-suites" + }, + rerequestSuite: { + headers: { accept: "application/vnd.github.antiope-preview+json" }, + method: "POST", + params: { + check_suite_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/check-suites/:check_suite_id/rerequest" + }, + setSuitesPreferences: { + headers: { accept: "application/vnd.github.antiope-preview+json" }, + method: "PATCH", + params: { + auto_trigger_checks: { type: "object[]" }, + "auto_trigger_checks[].app_id": { required: true, type: "integer" }, + "auto_trigger_checks[].setting": { required: true, type: "boolean" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/check-suites/preferences" + }, + update: { + headers: { accept: "application/vnd.github.antiope-preview+json" }, + method: "PATCH", + params: { + actions: { type: "object[]" }, + "actions[].description": { required: true, type: "string" }, + "actions[].identifier": { required: true, type: "string" }, + "actions[].label": { required: true, type: "string" }, + check_run_id: { required: true, type: "integer" }, + completed_at: { type: "string" }, + conclusion: { + enum: [ + "success", + "failure", + "neutral", + "cancelled", + "timed_out", + "action_required" + ], + type: "string" + }, + details_url: { type: "string" }, + external_id: { type: "string" }, + name: { type: "string" }, + output: { type: "object" }, + "output.annotations": { type: "object[]" }, + "output.annotations[].annotation_level": { + enum: ["notice", "warning", "failure"], + required: true, + type: "string" + }, + "output.annotations[].end_column": { type: "integer" }, + "output.annotations[].end_line": { required: true, type: "integer" }, + "output.annotations[].message": { required: true, type: "string" }, + "output.annotations[].path": { required: true, type: "string" }, + "output.annotations[].raw_details": { type: "string" }, + "output.annotations[].start_column": { type: "integer" }, + "output.annotations[].start_line": { required: true, type: "integer" }, + "output.annotations[].title": { type: "string" }, + "output.images": { type: "object[]" }, + "output.images[].alt": { required: true, type: "string" }, + "output.images[].caption": { type: "string" }, + "output.images[].image_url": { required: true, type: "string" }, + "output.summary": { required: true, type: "string" }, + "output.text": { type: "string" }, + "output.title": { type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + started_at: { type: "string" }, + status: { enum: ["queued", "in_progress", "completed"], type: "string" } + }, + url: "/repos/:owner/:repo/check-runs/:check_run_id" + } + }, + codesOfConduct: { + getConductCode: { + headers: { accept: "application/vnd.github.scarlet-witch-preview+json" }, + method: "GET", + params: { key: { required: true, type: "string" } }, + url: "/codes_of_conduct/:key" + }, + getForRepo: { + headers: { accept: "application/vnd.github.scarlet-witch-preview+json" }, + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/community/code_of_conduct" + }, + listConductCodes: { + headers: { accept: "application/vnd.github.scarlet-witch-preview+json" }, + method: "GET", + params: {}, + url: "/codes_of_conduct" + } + }, + emojis: { get: { method: "GET", params: {}, url: "/emojis" } }, + gists: { + checkIsStarred: { + method: "GET", + params: { gist_id: { required: true, type: "string" } }, + url: "/gists/:gist_id/star" + }, + create: { + method: "POST", + params: { + description: { type: "string" }, + files: { required: true, type: "object" }, + "files.content": { type: "string" }, + public: { type: "boolean" } + }, + url: "/gists" + }, + createComment: { + method: "POST", + params: { + body: { required: true, type: "string" }, + gist_id: { required: true, type: "string" } + }, + url: "/gists/:gist_id/comments" + }, + delete: { + method: "DELETE", + params: { gist_id: { required: true, type: "string" } }, + url: "/gists/:gist_id" + }, + deleteComment: { + method: "DELETE", + params: { + comment_id: { required: true, type: "integer" }, + gist_id: { required: true, type: "string" } + }, + url: "/gists/:gist_id/comments/:comment_id" + }, + fork: { + method: "POST", + params: { gist_id: { required: true, type: "string" } }, + url: "/gists/:gist_id/forks" + }, + get: { + method: "GET", + params: { gist_id: { required: true, type: "string" } }, + url: "/gists/:gist_id" + }, + getComment: { + method: "GET", + params: { + comment_id: { required: true, type: "integer" }, + gist_id: { required: true, type: "string" } + }, + url: "/gists/:gist_id/comments/:comment_id" + }, + getRevision: { + method: "GET", + params: { + gist_id: { required: true, type: "string" }, + sha: { required: true, type: "string" } + }, + url: "/gists/:gist_id/:sha" + }, + list: { + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + since: { type: "string" } + }, + url: "/gists" + }, + listComments: { + method: "GET", + params: { + gist_id: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" } + }, + url: "/gists/:gist_id/comments" + }, + listCommits: { + method: "GET", + params: { + gist_id: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" } + }, + url: "/gists/:gist_id/commits" + }, + listForks: { + method: "GET", + params: { + gist_id: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" } + }, + url: "/gists/:gist_id/forks" + }, + listPublic: { + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + since: { type: "string" } + }, + url: "/gists/public" + }, + listPublicForUser: { + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + since: { type: "string" }, + username: { required: true, type: "string" } + }, + url: "/users/:username/gists" + }, + listStarred: { + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + since: { type: "string" } + }, + url: "/gists/starred" + }, + star: { + method: "PUT", + params: { gist_id: { required: true, type: "string" } }, + url: "/gists/:gist_id/star" + }, + unstar: { + method: "DELETE", + params: { gist_id: { required: true, type: "string" } }, + url: "/gists/:gist_id/star" + }, + update: { + method: "PATCH", + params: { + description: { type: "string" }, + files: { type: "object" }, + "files.content": { type: "string" }, + "files.filename": { type: "string" }, + gist_id: { required: true, type: "string" } + }, + url: "/gists/:gist_id" + }, + updateComment: { + method: "PATCH", + params: { + body: { required: true, type: "string" }, + comment_id: { required: true, type: "integer" }, + gist_id: { required: true, type: "string" } + }, + url: "/gists/:gist_id/comments/:comment_id" + } + }, + git: { + createBlob: { + method: "POST", + params: { + content: { required: true, type: "string" }, + encoding: { type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/git/blobs" + }, + createCommit: { + method: "POST", + params: { + author: { type: "object" }, + "author.date": { type: "string" }, + "author.email": { type: "string" }, + "author.name": { type: "string" }, + committer: { type: "object" }, + "committer.date": { type: "string" }, + "committer.email": { type: "string" }, + "committer.name": { type: "string" }, + message: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + parents: { required: true, type: "string[]" }, + repo: { required: true, type: "string" }, + signature: { type: "string" }, + tree: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/git/commits" + }, + createRef: { + method: "POST", + params: { + owner: { required: true, type: "string" }, + ref: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + sha: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/git/refs" + }, + createTag: { + method: "POST", + params: { + message: { required: true, type: "string" }, + object: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + tag: { required: true, type: "string" }, + tagger: { type: "object" }, + "tagger.date": { type: "string" }, + "tagger.email": { type: "string" }, + "tagger.name": { type: "string" }, + type: { + enum: ["commit", "tree", "blob"], + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/git/tags" + }, + createTree: { + method: "POST", + params: { + base_tree: { type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + tree: { required: true, type: "object[]" }, + "tree[].content": { type: "string" }, + "tree[].mode": { + enum: ["100644", "100755", "040000", "160000", "120000"], + type: "string" + }, + "tree[].path": { type: "string" }, + "tree[].sha": { allowNull: true, type: "string" }, + "tree[].type": { enum: ["blob", "tree", "commit"], type: "string" } + }, + url: "/repos/:owner/:repo/git/trees" + }, + deleteRef: { + method: "DELETE", + params: { + owner: { required: true, type: "string" }, + ref: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/git/refs/:ref" + }, + getBlob: { + method: "GET", + params: { + file_sha: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/git/blobs/:file_sha" + }, + getCommit: { + method: "GET", + params: { + commit_sha: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/git/commits/:commit_sha" + }, + getRef: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + ref: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/git/ref/:ref" + }, + getTag: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + tag_sha: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/git/tags/:tag_sha" + }, + getTree: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + recursive: { enum: ["1"], type: "integer" }, + repo: { required: true, type: "string" }, + tree_sha: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/git/trees/:tree_sha" + }, + listMatchingRefs: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + ref: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/git/matching-refs/:ref" + }, + listRefs: { + method: "GET", + params: { + namespace: { type: "string" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/git/refs/:namespace" + }, + updateRef: { + method: "PATCH", + params: { + force: { type: "boolean" }, + owner: { required: true, type: "string" }, + ref: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + sha: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/git/refs/:ref" + } + }, + gitignore: { + getTemplate: { + method: "GET", + params: { name: { required: true, type: "string" } }, + url: "/gitignore/templates/:name" + }, + listTemplates: { method: "GET", params: {}, url: "/gitignore/templates" } + }, + interactions: { + addOrUpdateRestrictionsForOrg: { + headers: { accept: "application/vnd.github.sombra-preview+json" }, + method: "PUT", + params: { + limit: { + enum: ["existing_users", "contributors_only", "collaborators_only"], + required: true, + type: "string" + }, + org: { required: true, type: "string" } + }, + url: "/orgs/:org/interaction-limits" + }, + addOrUpdateRestrictionsForRepo: { + headers: { accept: "application/vnd.github.sombra-preview+json" }, + method: "PUT", + params: { + limit: { + enum: ["existing_users", "contributors_only", "collaborators_only"], + required: true, + type: "string" + }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/interaction-limits" + }, + getRestrictionsForOrg: { + headers: { accept: "application/vnd.github.sombra-preview+json" }, + method: "GET", + params: { org: { required: true, type: "string" } }, + url: "/orgs/:org/interaction-limits" + }, + getRestrictionsForRepo: { + headers: { accept: "application/vnd.github.sombra-preview+json" }, + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/interaction-limits" + }, + removeRestrictionsForOrg: { + headers: { accept: "application/vnd.github.sombra-preview+json" }, + method: "DELETE", + params: { org: { required: true, type: "string" } }, + url: "/orgs/:org/interaction-limits" + }, + removeRestrictionsForRepo: { + headers: { accept: "application/vnd.github.sombra-preview+json" }, + method: "DELETE", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/interaction-limits" + } + }, + issues: { + addAssignees: { + method: "POST", + params: { + assignees: { type: "string[]" }, + issue_number: { required: true, type: "integer" }, + number: { alias: "issue_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/issues/:issue_number/assignees" + }, + addLabels: { + method: "POST", + params: { + issue_number: { required: true, type: "integer" }, + labels: { required: true, type: "string[]" }, + number: { alias: "issue_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/issues/:issue_number/labels" + }, + checkAssignee: { + method: "GET", + params: { + assignee: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/assignees/:assignee" + }, + create: { + method: "POST", + params: { + assignee: { type: "string" }, + assignees: { type: "string[]" }, + body: { type: "string" }, + labels: { type: "string[]" }, + milestone: { type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + title: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/issues" + }, + createComment: { + method: "POST", + params: { + body: { required: true, type: "string" }, + issue_number: { required: true, type: "integer" }, + number: { alias: "issue_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/issues/:issue_number/comments" + }, + createLabel: { + method: "POST", + params: { + color: { required: true, type: "string" }, + description: { type: "string" }, + name: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/labels" + }, + createMilestone: { + method: "POST", + params: { + description: { type: "string" }, + due_on: { type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + state: { enum: ["open", "closed"], type: "string" }, + title: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/milestones" + }, + deleteComment: { + method: "DELETE", + params: { + comment_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/issues/comments/:comment_id" + }, + deleteLabel: { + method: "DELETE", + params: { + name: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/labels/:name" + }, + deleteMilestone: { + method: "DELETE", + params: { + milestone_number: { required: true, type: "integer" }, + number: { + alias: "milestone_number", + deprecated: true, + type: "integer" + }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/milestones/:milestone_number" + }, + get: { + method: "GET", + params: { + issue_number: { required: true, type: "integer" }, + number: { alias: "issue_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/issues/:issue_number" + }, + getComment: { + method: "GET", + params: { + comment_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/issues/comments/:comment_id" + }, + getEvent: { + method: "GET", + params: { + event_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/issues/events/:event_id" + }, + getLabel: { + method: "GET", + params: { + name: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/labels/:name" + }, + getMilestone: { + method: "GET", + params: { + milestone_number: { required: true, type: "integer" }, + number: { + alias: "milestone_number", + deprecated: true, + type: "integer" + }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/milestones/:milestone_number" + }, + list: { + method: "GET", + params: { + direction: { enum: ["asc", "desc"], type: "string" }, + filter: { + enum: ["assigned", "created", "mentioned", "subscribed", "all"], + type: "string" + }, + labels: { type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + since: { type: "string" }, + sort: { enum: ["created", "updated", "comments"], type: "string" }, + state: { enum: ["open", "closed", "all"], type: "string" } + }, + url: "/issues" + }, + listAssignees: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/assignees" + }, + listComments: { + method: "GET", + params: { + issue_number: { required: true, type: "integer" }, + number: { alias: "issue_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" }, + since: { type: "string" } + }, + url: "/repos/:owner/:repo/issues/:issue_number/comments" + }, + listCommentsForRepo: { + method: "GET", + params: { + direction: { enum: ["asc", "desc"], type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + since: { type: "string" }, + sort: { enum: ["created", "updated"], type: "string" } + }, + url: "/repos/:owner/:repo/issues/comments" + }, + listEvents: { + method: "GET", + params: { + issue_number: { required: true, type: "integer" }, + number: { alias: "issue_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/issues/:issue_number/events" + }, + listEventsForRepo: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/issues/events" + }, + listEventsForTimeline: { + headers: { accept: "application/vnd.github.mockingbird-preview+json" }, + method: "GET", + params: { + issue_number: { required: true, type: "integer" }, + number: { alias: "issue_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/issues/:issue_number/timeline" + }, + listForAuthenticatedUser: { + method: "GET", + params: { + direction: { enum: ["asc", "desc"], type: "string" }, + filter: { + enum: ["assigned", "created", "mentioned", "subscribed", "all"], + type: "string" + }, + labels: { type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + since: { type: "string" }, + sort: { enum: ["created", "updated", "comments"], type: "string" }, + state: { enum: ["open", "closed", "all"], type: "string" } + }, + url: "/user/issues" + }, + listForOrg: { + method: "GET", + params: { + direction: { enum: ["asc", "desc"], type: "string" }, + filter: { + enum: ["assigned", "created", "mentioned", "subscribed", "all"], + type: "string" + }, + labels: { type: "string" }, + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + since: { type: "string" }, + sort: { enum: ["created", "updated", "comments"], type: "string" }, + state: { enum: ["open", "closed", "all"], type: "string" } + }, + url: "/orgs/:org/issues" + }, + listForRepo: { + method: "GET", + params: { + assignee: { type: "string" }, + creator: { type: "string" }, + direction: { enum: ["asc", "desc"], type: "string" }, + labels: { type: "string" }, + mentioned: { type: "string" }, + milestone: { type: "string" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" }, + since: { type: "string" }, + sort: { enum: ["created", "updated", "comments"], type: "string" }, + state: { enum: ["open", "closed", "all"], type: "string" } + }, + url: "/repos/:owner/:repo/issues" + }, + listLabelsForMilestone: { + method: "GET", + params: { + milestone_number: { required: true, type: "integer" }, + number: { + alias: "milestone_number", + deprecated: true, + type: "integer" + }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/milestones/:milestone_number/labels" + }, + listLabelsForRepo: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/labels" + }, + listLabelsOnIssue: { + method: "GET", + params: { + issue_number: { required: true, type: "integer" }, + number: { alias: "issue_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/issues/:issue_number/labels" + }, + listMilestonesForRepo: { + method: "GET", + params: { + direction: { enum: ["asc", "desc"], type: "string" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" }, + sort: { enum: ["due_on", "completeness"], type: "string" }, + state: { enum: ["open", "closed", "all"], type: "string" } + }, + url: "/repos/:owner/:repo/milestones" + }, + lock: { + method: "PUT", + params: { + issue_number: { required: true, type: "integer" }, + lock_reason: { + enum: ["off-topic", "too heated", "resolved", "spam"], + type: "string" + }, + number: { alias: "issue_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/issues/:issue_number/lock" + }, + removeAssignees: { + method: "DELETE", + params: { + assignees: { type: "string[]" }, + issue_number: { required: true, type: "integer" }, + number: { alias: "issue_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/issues/:issue_number/assignees" + }, + removeLabel: { + method: "DELETE", + params: { + issue_number: { required: true, type: "integer" }, + name: { required: true, type: "string" }, + number: { alias: "issue_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/issues/:issue_number/labels/:name" + }, + removeLabels: { + method: "DELETE", + params: { + issue_number: { required: true, type: "integer" }, + number: { alias: "issue_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/issues/:issue_number/labels" + }, + replaceLabels: { + method: "PUT", + params: { + issue_number: { required: true, type: "integer" }, + labels: { type: "string[]" }, + number: { alias: "issue_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/issues/:issue_number/labels" + }, + unlock: { + method: "DELETE", + params: { + issue_number: { required: true, type: "integer" }, + number: { alias: "issue_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/issues/:issue_number/lock" + }, + update: { + method: "PATCH", + params: { + assignee: { type: "string" }, + assignees: { type: "string[]" }, + body: { type: "string" }, + issue_number: { required: true, type: "integer" }, + labels: { type: "string[]" }, + milestone: { allowNull: true, type: "integer" }, + number: { alias: "issue_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + state: { enum: ["open", "closed"], type: "string" }, + title: { type: "string" } + }, + url: "/repos/:owner/:repo/issues/:issue_number" + }, + updateComment: { + method: "PATCH", + params: { + body: { required: true, type: "string" }, + comment_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/issues/comments/:comment_id" + }, + updateLabel: { + method: "PATCH", + params: { + color: { type: "string" }, + current_name: { required: true, type: "string" }, + description: { type: "string" }, + name: { type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/labels/:current_name" + }, + updateMilestone: { + method: "PATCH", + params: { + description: { type: "string" }, + due_on: { type: "string" }, + milestone_number: { required: true, type: "integer" }, + number: { + alias: "milestone_number", + deprecated: true, + type: "integer" + }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + state: { enum: ["open", "closed"], type: "string" }, + title: { type: "string" } + }, + url: "/repos/:owner/:repo/milestones/:milestone_number" + } + }, + licenses: { + get: { + method: "GET", + params: { license: { required: true, type: "string" } }, + url: "/licenses/:license" + }, + getForRepo: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/license" + }, + list: { + deprecated: "octokit.licenses.list() has been renamed to octokit.licenses.listCommonlyUsed() (2019-03-05)", + method: "GET", + params: {}, + url: "/licenses" + }, + listCommonlyUsed: { method: "GET", params: {}, url: "/licenses" } + }, + markdown: { + render: { + method: "POST", + params: { + context: { type: "string" }, + mode: { enum: ["markdown", "gfm"], type: "string" }, + text: { required: true, type: "string" } + }, + url: "/markdown" + }, + renderRaw: { + headers: { "content-type": "text/plain; charset=utf-8" }, + method: "POST", + params: { data: { mapTo: "data", required: true, type: "string" } }, + url: "/markdown/raw" + } + }, + meta: { get: { method: "GET", params: {}, url: "/meta" } }, + migrations: { + cancelImport: { + method: "DELETE", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/import" + }, + deleteArchiveForAuthenticatedUser: { + headers: { accept: "application/vnd.github.wyandotte-preview+json" }, + method: "DELETE", + params: { migration_id: { required: true, type: "integer" } }, + url: "/user/migrations/:migration_id/archive" + }, + deleteArchiveForOrg: { + headers: { accept: "application/vnd.github.wyandotte-preview+json" }, + method: "DELETE", + params: { + migration_id: { required: true, type: "integer" }, + org: { required: true, type: "string" } + }, + url: "/orgs/:org/migrations/:migration_id/archive" + }, + downloadArchiveForOrg: { + headers: { accept: "application/vnd.github.wyandotte-preview+json" }, + method: "GET", + params: { + migration_id: { required: true, type: "integer" }, + org: { required: true, type: "string" } + }, + url: "/orgs/:org/migrations/:migration_id/archive" + }, + getArchiveForAuthenticatedUser: { + headers: { accept: "application/vnd.github.wyandotte-preview+json" }, + method: "GET", + params: { migration_id: { required: true, type: "integer" } }, + url: "/user/migrations/:migration_id/archive" + }, + getArchiveForOrg: { + deprecated: "octokit.migrations.getArchiveForOrg() has been renamed to octokit.migrations.downloadArchiveForOrg() (2020-01-27)", + headers: { accept: "application/vnd.github.wyandotte-preview+json" }, + method: "GET", + params: { + migration_id: { required: true, type: "integer" }, + org: { required: true, type: "string" } + }, + url: "/orgs/:org/migrations/:migration_id/archive" + }, + getCommitAuthors: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + since: { type: "string" } + }, + url: "/repos/:owner/:repo/import/authors" + }, + getImportProgress: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/import" + }, + getLargeFiles: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/import/large_files" + }, + getStatusForAuthenticatedUser: { + headers: { accept: "application/vnd.github.wyandotte-preview+json" }, + method: "GET", + params: { migration_id: { required: true, type: "integer" } }, + url: "/user/migrations/:migration_id" + }, + getStatusForOrg: { + headers: { accept: "application/vnd.github.wyandotte-preview+json" }, + method: "GET", + params: { + migration_id: { required: true, type: "integer" }, + org: { required: true, type: "string" } + }, + url: "/orgs/:org/migrations/:migration_id" + }, + listForAuthenticatedUser: { + headers: { accept: "application/vnd.github.wyandotte-preview+json" }, + method: "GET", + params: { page: { type: "integer" }, per_page: { type: "integer" } }, + url: "/user/migrations" + }, + listForOrg: { + headers: { accept: "application/vnd.github.wyandotte-preview+json" }, + method: "GET", + params: { + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" } + }, + url: "/orgs/:org/migrations" + }, + listReposForOrg: { + headers: { accept: "application/vnd.github.wyandotte-preview+json" }, + method: "GET", + params: { + migration_id: { required: true, type: "integer" }, + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" } + }, + url: "/orgs/:org/migrations/:migration_id/repositories" + }, + listReposForUser: { + headers: { accept: "application/vnd.github.wyandotte-preview+json" }, + method: "GET", + params: { + migration_id: { required: true, type: "integer" }, + page: { type: "integer" }, + per_page: { type: "integer" } + }, + url: "/user/:migration_id/repositories" + }, + mapCommitAuthor: { + method: "PATCH", + params: { + author_id: { required: true, type: "integer" }, + email: { type: "string" }, + name: { type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/import/authors/:author_id" + }, + setLfsPreference: { + method: "PATCH", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + use_lfs: { enum: ["opt_in", "opt_out"], required: true, type: "string" } + }, + url: "/repos/:owner/:repo/import/lfs" + }, + startForAuthenticatedUser: { + method: "POST", + params: { + exclude_attachments: { type: "boolean" }, + lock_repositories: { type: "boolean" }, + repositories: { required: true, type: "string[]" } + }, + url: "/user/migrations" + }, + startForOrg: { + method: "POST", + params: { + exclude_attachments: { type: "boolean" }, + lock_repositories: { type: "boolean" }, + org: { required: true, type: "string" }, + repositories: { required: true, type: "string[]" } + }, + url: "/orgs/:org/migrations" + }, + startImport: { + method: "PUT", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + tfvc_project: { type: "string" }, + vcs: { + enum: ["subversion", "git", "mercurial", "tfvc"], + type: "string" + }, + vcs_password: { type: "string" }, + vcs_url: { required: true, type: "string" }, + vcs_username: { type: "string" } + }, + url: "/repos/:owner/:repo/import" + }, + unlockRepoForAuthenticatedUser: { + headers: { accept: "application/vnd.github.wyandotte-preview+json" }, + method: "DELETE", + params: { + migration_id: { required: true, type: "integer" }, + repo_name: { required: true, type: "string" } + }, + url: "/user/migrations/:migration_id/repos/:repo_name/lock" + }, + unlockRepoForOrg: { + headers: { accept: "application/vnd.github.wyandotte-preview+json" }, + method: "DELETE", + params: { + migration_id: { required: true, type: "integer" }, + org: { required: true, type: "string" }, + repo_name: { required: true, type: "string" } + }, + url: "/orgs/:org/migrations/:migration_id/repos/:repo_name/lock" + }, + updateImport: { + method: "PATCH", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + vcs_password: { type: "string" }, + vcs_username: { type: "string" } + }, + url: "/repos/:owner/:repo/import" + } + }, + oauthAuthorizations: { + checkAuthorization: { + deprecated: "octokit.oauthAuthorizations.checkAuthorization() has been renamed to octokit.apps.checkAuthorization() (2019-11-05)", + method: "GET", + params: { + access_token: { required: true, type: "string" }, + client_id: { required: true, type: "string" } + }, + url: "/applications/:client_id/tokens/:access_token" + }, + createAuthorization: { + deprecated: "octokit.oauthAuthorizations.createAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#create-a-new-authorization", + method: "POST", + params: { + client_id: { type: "string" }, + client_secret: { type: "string" }, + fingerprint: { type: "string" }, + note: { required: true, type: "string" }, + note_url: { type: "string" }, + scopes: { type: "string[]" } + }, + url: "/authorizations" + }, + deleteAuthorization: { + deprecated: "octokit.oauthAuthorizations.deleteAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#delete-an-authorization", + method: "DELETE", + params: { authorization_id: { required: true, type: "integer" } }, + url: "/authorizations/:authorization_id" + }, + deleteGrant: { + deprecated: "octokit.oauthAuthorizations.deleteGrant() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#delete-a-grant", + method: "DELETE", + params: { grant_id: { required: true, type: "integer" } }, + url: "/applications/grants/:grant_id" + }, + getAuthorization: { + deprecated: "octokit.oauthAuthorizations.getAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-a-single-authorization", + method: "GET", + params: { authorization_id: { required: true, type: "integer" } }, + url: "/authorizations/:authorization_id" + }, + getGrant: { + deprecated: "octokit.oauthAuthorizations.getGrant() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-a-single-grant", + method: "GET", + params: { grant_id: { required: true, type: "integer" } }, + url: "/applications/grants/:grant_id" + }, + getOrCreateAuthorizationForApp: { + deprecated: "octokit.oauthAuthorizations.getOrCreateAuthorizationForApp() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app", + method: "PUT", + params: { + client_id: { required: true, type: "string" }, + client_secret: { required: true, type: "string" }, + fingerprint: { type: "string" }, + note: { type: "string" }, + note_url: { type: "string" }, + scopes: { type: "string[]" } + }, + url: "/authorizations/clients/:client_id" + }, + getOrCreateAuthorizationForAppAndFingerprint: { + deprecated: "octokit.oauthAuthorizations.getOrCreateAuthorizationForAppAndFingerprint() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app-and-fingerprint", + method: "PUT", + params: { + client_id: { required: true, type: "string" }, + client_secret: { required: true, type: "string" }, + fingerprint: { required: true, type: "string" }, + note: { type: "string" }, + note_url: { type: "string" }, + scopes: { type: "string[]" } + }, + url: "/authorizations/clients/:client_id/:fingerprint" + }, + getOrCreateAuthorizationForAppFingerprint: { + deprecated: "octokit.oauthAuthorizations.getOrCreateAuthorizationForAppFingerprint() has been renamed to octokit.oauthAuthorizations.getOrCreateAuthorizationForAppAndFingerprint() (2018-12-27)", + method: "PUT", + params: { + client_id: { required: true, type: "string" }, + client_secret: { required: true, type: "string" }, + fingerprint: { required: true, type: "string" }, + note: { type: "string" }, + note_url: { type: "string" }, + scopes: { type: "string[]" } + }, + url: "/authorizations/clients/:client_id/:fingerprint" + }, + listAuthorizations: { + deprecated: "octokit.oauthAuthorizations.listAuthorizations() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#list-your-authorizations", + method: "GET", + params: { page: { type: "integer" }, per_page: { type: "integer" } }, + url: "/authorizations" + }, + listGrants: { + deprecated: "octokit.oauthAuthorizations.listGrants() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#list-your-grants", + method: "GET", + params: { page: { type: "integer" }, per_page: { type: "integer" } }, + url: "/applications/grants" + }, + resetAuthorization: { + deprecated: "octokit.oauthAuthorizations.resetAuthorization() has been renamed to octokit.apps.resetAuthorization() (2019-11-05)", + method: "POST", + params: { + access_token: { required: true, type: "string" }, + client_id: { required: true, type: "string" } + }, + url: "/applications/:client_id/tokens/:access_token" + }, + revokeAuthorizationForApplication: { + deprecated: "octokit.oauthAuthorizations.revokeAuthorizationForApplication() has been renamed to octokit.apps.revokeAuthorizationForApplication() (2019-11-05)", + method: "DELETE", + params: { + access_token: { required: true, type: "string" }, + client_id: { required: true, type: "string" } + }, + url: "/applications/:client_id/tokens/:access_token" + }, + revokeGrantForApplication: { + deprecated: "octokit.oauthAuthorizations.revokeGrantForApplication() has been renamed to octokit.apps.revokeGrantForApplication() (2019-11-05)", + method: "DELETE", + params: { + access_token: { required: true, type: "string" }, + client_id: { required: true, type: "string" } + }, + url: "/applications/:client_id/grants/:access_token" + }, + updateAuthorization: { + deprecated: "octokit.oauthAuthorizations.updateAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#update-an-existing-authorization", + method: "PATCH", + params: { + add_scopes: { type: "string[]" }, + authorization_id: { required: true, type: "integer" }, + fingerprint: { type: "string" }, + note: { type: "string" }, + note_url: { type: "string" }, + remove_scopes: { type: "string[]" }, + scopes: { type: "string[]" } + }, + url: "/authorizations/:authorization_id" + } + }, + orgs: { + addOrUpdateMembership: { + method: "PUT", + params: { + org: { required: true, type: "string" }, + role: { enum: ["admin", "member"], type: "string" }, + username: { required: true, type: "string" } + }, + url: "/orgs/:org/memberships/:username" + }, + blockUser: { + method: "PUT", + params: { + org: { required: true, type: "string" }, + username: { required: true, type: "string" } + }, + url: "/orgs/:org/blocks/:username" + }, + checkBlockedUser: { + method: "GET", + params: { + org: { required: true, type: "string" }, + username: { required: true, type: "string" } + }, + url: "/orgs/:org/blocks/:username" + }, + checkMembership: { + method: "GET", + params: { + org: { required: true, type: "string" }, + username: { required: true, type: "string" } + }, + url: "/orgs/:org/members/:username" + }, + checkPublicMembership: { + method: "GET", + params: { + org: { required: true, type: "string" }, + username: { required: true, type: "string" } + }, + url: "/orgs/:org/public_members/:username" + }, + concealMembership: { + method: "DELETE", + params: { + org: { required: true, type: "string" }, + username: { required: true, type: "string" } + }, + url: "/orgs/:org/public_members/:username" + }, + convertMemberToOutsideCollaborator: { + method: "PUT", + params: { + org: { required: true, type: "string" }, + username: { required: true, type: "string" } + }, + url: "/orgs/:org/outside_collaborators/:username" + }, + createHook: { + method: "POST", + params: { + active: { type: "boolean" }, + config: { required: true, type: "object" }, + "config.content_type": { type: "string" }, + "config.insecure_ssl": { type: "string" }, + "config.secret": { type: "string" }, + "config.url": { required: true, type: "string" }, + events: { type: "string[]" }, + name: { required: true, type: "string" }, + org: { required: true, type: "string" } + }, + url: "/orgs/:org/hooks" + }, + createInvitation: { + method: "POST", + params: { + email: { type: "string" }, + invitee_id: { type: "integer" }, + org: { required: true, type: "string" }, + role: { + enum: ["admin", "direct_member", "billing_manager"], + type: "string" + }, + team_ids: { type: "integer[]" } + }, + url: "/orgs/:org/invitations" + }, + deleteHook: { + method: "DELETE", + params: { + hook_id: { required: true, type: "integer" }, + org: { required: true, type: "string" } + }, + url: "/orgs/:org/hooks/:hook_id" + }, + get: { + method: "GET", + params: { org: { required: true, type: "string" } }, + url: "/orgs/:org" + }, + getHook: { + method: "GET", + params: { + hook_id: { required: true, type: "integer" }, + org: { required: true, type: "string" } + }, + url: "/orgs/:org/hooks/:hook_id" + }, + getMembership: { + method: "GET", + params: { + org: { required: true, type: "string" }, + username: { required: true, type: "string" } + }, + url: "/orgs/:org/memberships/:username" + }, + getMembershipForAuthenticatedUser: { + method: "GET", + params: { org: { required: true, type: "string" } }, + url: "/user/memberships/orgs/:org" + }, + list: { + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + since: { type: "integer" } + }, + url: "/organizations" + }, + listBlockedUsers: { + method: "GET", + params: { org: { required: true, type: "string" } }, + url: "/orgs/:org/blocks" + }, + listForAuthenticatedUser: { + method: "GET", + params: { page: { type: "integer" }, per_page: { type: "integer" } }, + url: "/user/orgs" + }, + listForUser: { + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/users/:username/orgs" + }, + listHooks: { + method: "GET", + params: { + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" } + }, + url: "/orgs/:org/hooks" + }, + listInstallations: { + headers: { accept: "application/vnd.github.machine-man-preview+json" }, + method: "GET", + params: { + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" } + }, + url: "/orgs/:org/installations" + }, + listInvitationTeams: { + method: "GET", + params: { + invitation_id: { required: true, type: "integer" }, + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" } + }, + url: "/orgs/:org/invitations/:invitation_id/teams" + }, + listMembers: { + method: "GET", + params: { + filter: { enum: ["2fa_disabled", "all"], type: "string" }, + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + role: { enum: ["all", "admin", "member"], type: "string" } + }, + url: "/orgs/:org/members" + }, + listMemberships: { + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + state: { enum: ["active", "pending"], type: "string" } + }, + url: "/user/memberships/orgs" + }, + listOutsideCollaborators: { + method: "GET", + params: { + filter: { enum: ["2fa_disabled", "all"], type: "string" }, + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" } + }, + url: "/orgs/:org/outside_collaborators" + }, + listPendingInvitations: { + method: "GET", + params: { + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" } + }, + url: "/orgs/:org/invitations" + }, + listPublicMembers: { + method: "GET", + params: { + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" } + }, + url: "/orgs/:org/public_members" + }, + pingHook: { + method: "POST", + params: { + hook_id: { required: true, type: "integer" }, + org: { required: true, type: "string" } + }, + url: "/orgs/:org/hooks/:hook_id/pings" + }, + publicizeMembership: { + method: "PUT", + params: { + org: { required: true, type: "string" }, + username: { required: true, type: "string" } + }, + url: "/orgs/:org/public_members/:username" + }, + removeMember: { + method: "DELETE", + params: { + org: { required: true, type: "string" }, + username: { required: true, type: "string" } + }, + url: "/orgs/:org/members/:username" + }, + removeMembership: { + method: "DELETE", + params: { + org: { required: true, type: "string" }, + username: { required: true, type: "string" } + }, + url: "/orgs/:org/memberships/:username" + }, + removeOutsideCollaborator: { + method: "DELETE", + params: { + org: { required: true, type: "string" }, + username: { required: true, type: "string" } + }, + url: "/orgs/:org/outside_collaborators/:username" + }, + unblockUser: { + method: "DELETE", + params: { + org: { required: true, type: "string" }, + username: { required: true, type: "string" } + }, + url: "/orgs/:org/blocks/:username" + }, + update: { + method: "PATCH", + params: { + billing_email: { type: "string" }, + company: { type: "string" }, + default_repository_permission: { + enum: ["read", "write", "admin", "none"], + type: "string" + }, + description: { type: "string" }, + email: { type: "string" }, + has_organization_projects: { type: "boolean" }, + has_repository_projects: { type: "boolean" }, + location: { type: "string" }, + members_allowed_repository_creation_type: { + enum: ["all", "private", "none"], + type: "string" + }, + members_can_create_internal_repositories: { type: "boolean" }, + members_can_create_private_repositories: { type: "boolean" }, + members_can_create_public_repositories: { type: "boolean" }, + members_can_create_repositories: { type: "boolean" }, + name: { type: "string" }, + org: { required: true, type: "string" } + }, + url: "/orgs/:org" + }, + updateHook: { + method: "PATCH", + params: { + active: { type: "boolean" }, + config: { type: "object" }, + "config.content_type": { type: "string" }, + "config.insecure_ssl": { type: "string" }, + "config.secret": { type: "string" }, + "config.url": { required: true, type: "string" }, + events: { type: "string[]" }, + hook_id: { required: true, type: "integer" }, + org: { required: true, type: "string" } + }, + url: "/orgs/:org/hooks/:hook_id" + }, + updateMembership: { + method: "PATCH", + params: { + org: { required: true, type: "string" }, + state: { enum: ["active"], required: true, type: "string" } + }, + url: "/user/memberships/orgs/:org" + } + }, + projects: { + addCollaborator: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "PUT", + params: { + permission: { enum: ["read", "write", "admin"], type: "string" }, + project_id: { required: true, type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/projects/:project_id/collaborators/:username" + }, + createCard: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "POST", + params: { + column_id: { required: true, type: "integer" }, + content_id: { type: "integer" }, + content_type: { type: "string" }, + note: { type: "string" } + }, + url: "/projects/columns/:column_id/cards" + }, + createColumn: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "POST", + params: { + name: { required: true, type: "string" }, + project_id: { required: true, type: "integer" } + }, + url: "/projects/:project_id/columns" + }, + createForAuthenticatedUser: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "POST", + params: { + body: { type: "string" }, + name: { required: true, type: "string" } + }, + url: "/user/projects" + }, + createForOrg: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "POST", + params: { + body: { type: "string" }, + name: { required: true, type: "string" }, + org: { required: true, type: "string" } + }, + url: "/orgs/:org/projects" + }, + createForRepo: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "POST", + params: { + body: { type: "string" }, + name: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/projects" + }, + delete: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "DELETE", + params: { project_id: { required: true, type: "integer" } }, + url: "/projects/:project_id" + }, + deleteCard: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "DELETE", + params: { card_id: { required: true, type: "integer" } }, + url: "/projects/columns/cards/:card_id" + }, + deleteColumn: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "DELETE", + params: { column_id: { required: true, type: "integer" } }, + url: "/projects/columns/:column_id" + }, + get: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "GET", + params: { project_id: { required: true, type: "integer" } }, + url: "/projects/:project_id" + }, + getCard: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "GET", + params: { card_id: { required: true, type: "integer" } }, + url: "/projects/columns/cards/:card_id" + }, + getColumn: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "GET", + params: { column_id: { required: true, type: "integer" } }, + url: "/projects/columns/:column_id" + }, + listCards: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "GET", + params: { + archived_state: { + enum: ["all", "archived", "not_archived"], + type: "string" + }, + column_id: { required: true, type: "integer" }, + page: { type: "integer" }, + per_page: { type: "integer" } + }, + url: "/projects/columns/:column_id/cards" + }, + listCollaborators: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "GET", + params: { + affiliation: { enum: ["outside", "direct", "all"], type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + project_id: { required: true, type: "integer" } + }, + url: "/projects/:project_id/collaborators" + }, + listColumns: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + project_id: { required: true, type: "integer" } + }, + url: "/projects/:project_id/columns" + }, + listForOrg: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "GET", + params: { + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + state: { enum: ["open", "closed", "all"], type: "string" } + }, + url: "/orgs/:org/projects" + }, + listForRepo: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" }, + state: { enum: ["open", "closed", "all"], type: "string" } + }, + url: "/repos/:owner/:repo/projects" + }, + listForUser: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + state: { enum: ["open", "closed", "all"], type: "string" }, + username: { required: true, type: "string" } + }, + url: "/users/:username/projects" + }, + moveCard: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "POST", + params: { + card_id: { required: true, type: "integer" }, + column_id: { type: "integer" }, + position: { + required: true, + type: "string", + validation: "^(top|bottom|after:\\d+)$" + } + }, + url: "/projects/columns/cards/:card_id/moves" + }, + moveColumn: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "POST", + params: { + column_id: { required: true, type: "integer" }, + position: { + required: true, + type: "string", + validation: "^(first|last|after:\\d+)$" + } + }, + url: "/projects/columns/:column_id/moves" + }, + removeCollaborator: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "DELETE", + params: { + project_id: { required: true, type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/projects/:project_id/collaborators/:username" + }, + reviewUserPermissionLevel: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "GET", + params: { + project_id: { required: true, type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/projects/:project_id/collaborators/:username/permission" + }, + update: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "PATCH", + params: { + body: { type: "string" }, + name: { type: "string" }, + organization_permission: { type: "string" }, + private: { type: "boolean" }, + project_id: { required: true, type: "integer" }, + state: { enum: ["open", "closed"], type: "string" } + }, + url: "/projects/:project_id" + }, + updateCard: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "PATCH", + params: { + archived: { type: "boolean" }, + card_id: { required: true, type: "integer" }, + note: { type: "string" } + }, + url: "/projects/columns/cards/:card_id" + }, + updateColumn: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "PATCH", + params: { + column_id: { required: true, type: "integer" }, + name: { required: true, type: "string" } + }, + url: "/projects/columns/:column_id" + } + }, + pulls: { + checkIfMerged: { + method: "GET", + params: { + number: { alias: "pull_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + pull_number: { required: true, type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/merge" + }, + create: { + method: "POST", + params: { + base: { required: true, type: "string" }, + body: { type: "string" }, + draft: { type: "boolean" }, + head: { required: true, type: "string" }, + maintainer_can_modify: { type: "boolean" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + title: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/pulls" + }, + createComment: { + method: "POST", + params: { + body: { required: true, type: "string" }, + commit_id: { required: true, type: "string" }, + in_reply_to: { + deprecated: true, + description: "The comment ID to reply to. **Note**: This must be the ID of a top-level comment, not a reply to that comment. Replies to replies are not supported.", + type: "integer" + }, + line: { type: "integer" }, + number: { alias: "pull_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + path: { required: true, type: "string" }, + position: { type: "integer" }, + pull_number: { required: true, type: "integer" }, + repo: { required: true, type: "string" }, + side: { enum: ["LEFT", "RIGHT"], type: "string" }, + start_line: { type: "integer" }, + start_side: { enum: ["LEFT", "RIGHT", "side"], type: "string" } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/comments" + }, + createCommentReply: { + deprecated: "octokit.pulls.createCommentReply() has been renamed to octokit.pulls.createComment() (2019-09-09)", + method: "POST", + params: { + body: { required: true, type: "string" }, + commit_id: { required: true, type: "string" }, + in_reply_to: { + deprecated: true, + description: "The comment ID to reply to. **Note**: This must be the ID of a top-level comment, not a reply to that comment. Replies to replies are not supported.", + type: "integer" + }, + line: { type: "integer" }, + number: { alias: "pull_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + path: { required: true, type: "string" }, + position: { type: "integer" }, + pull_number: { required: true, type: "integer" }, + repo: { required: true, type: "string" }, + side: { enum: ["LEFT", "RIGHT"], type: "string" }, + start_line: { type: "integer" }, + start_side: { enum: ["LEFT", "RIGHT", "side"], type: "string" } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/comments" + }, + createFromIssue: { + deprecated: "octokit.pulls.createFromIssue() is deprecated, see https://developer.github.com/v3/pulls/#create-a-pull-request", + method: "POST", + params: { + base: { required: true, type: "string" }, + draft: { type: "boolean" }, + head: { required: true, type: "string" }, + issue: { required: true, type: "integer" }, + maintainer_can_modify: { type: "boolean" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/pulls" + }, + createReview: { + method: "POST", + params: { + body: { type: "string" }, + comments: { type: "object[]" }, + "comments[].body": { required: true, type: "string" }, + "comments[].path": { required: true, type: "string" }, + "comments[].position": { required: true, type: "integer" }, + commit_id: { type: "string" }, + event: { + enum: ["APPROVE", "REQUEST_CHANGES", "COMMENT"], + type: "string" + }, + number: { alias: "pull_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + pull_number: { required: true, type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/reviews" + }, + createReviewCommentReply: { + method: "POST", + params: { + body: { required: true, type: "string" }, + comment_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + pull_number: { required: true, type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/comments/:comment_id/replies" + }, + createReviewRequest: { + method: "POST", + params: { + number: { alias: "pull_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + pull_number: { required: true, type: "integer" }, + repo: { required: true, type: "string" }, + reviewers: { type: "string[]" }, + team_reviewers: { type: "string[]" } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/requested_reviewers" + }, + deleteComment: { + method: "DELETE", + params: { + comment_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/pulls/comments/:comment_id" + }, + deletePendingReview: { + method: "DELETE", + params: { + number: { alias: "pull_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + pull_number: { required: true, type: "integer" }, + repo: { required: true, type: "string" }, + review_id: { required: true, type: "integer" } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id" + }, + deleteReviewRequest: { + method: "DELETE", + params: { + number: { alias: "pull_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + pull_number: { required: true, type: "integer" }, + repo: { required: true, type: "string" }, + reviewers: { type: "string[]" }, + team_reviewers: { type: "string[]" } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/requested_reviewers" + }, + dismissReview: { + method: "PUT", + params: { + message: { required: true, type: "string" }, + number: { alias: "pull_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + pull_number: { required: true, type: "integer" }, + repo: { required: true, type: "string" }, + review_id: { required: true, type: "integer" } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/dismissals" + }, + get: { + method: "GET", + params: { + number: { alias: "pull_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + pull_number: { required: true, type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/pulls/:pull_number" + }, + getComment: { + method: "GET", + params: { + comment_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/pulls/comments/:comment_id" + }, + getCommentsForReview: { + method: "GET", + params: { + number: { alias: "pull_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + pull_number: { required: true, type: "integer" }, + repo: { required: true, type: "string" }, + review_id: { required: true, type: "integer" } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/comments" + }, + getReview: { + method: "GET", + params: { + number: { alias: "pull_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + pull_number: { required: true, type: "integer" }, + repo: { required: true, type: "string" }, + review_id: { required: true, type: "integer" } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id" + }, + list: { + method: "GET", + params: { + base: { type: "string" }, + direction: { enum: ["asc", "desc"], type: "string" }, + head: { type: "string" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" }, + sort: { + enum: ["created", "updated", "popularity", "long-running"], + type: "string" + }, + state: { enum: ["open", "closed", "all"], type: "string" } + }, + url: "/repos/:owner/:repo/pulls" + }, + listComments: { + method: "GET", + params: { + direction: { enum: ["asc", "desc"], type: "string" }, + number: { alias: "pull_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + pull_number: { required: true, type: "integer" }, + repo: { required: true, type: "string" }, + since: { type: "string" }, + sort: { enum: ["created", "updated"], type: "string" } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/comments" + }, + listCommentsForRepo: { + method: "GET", + params: { + direction: { enum: ["asc", "desc"], type: "string" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" }, + since: { type: "string" }, + sort: { enum: ["created", "updated"], type: "string" } + }, + url: "/repos/:owner/:repo/pulls/comments" + }, + listCommits: { + method: "GET", + params: { + number: { alias: "pull_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + pull_number: { required: true, type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/commits" + }, + listFiles: { + method: "GET", + params: { + number: { alias: "pull_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + pull_number: { required: true, type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/files" + }, + listReviewRequests: { + method: "GET", + params: { + number: { alias: "pull_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + pull_number: { required: true, type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/requested_reviewers" + }, + listReviews: { + method: "GET", + params: { + number: { alias: "pull_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + pull_number: { required: true, type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/reviews" + }, + merge: { + method: "PUT", + params: { + commit_message: { type: "string" }, + commit_title: { type: "string" }, + merge_method: { enum: ["merge", "squash", "rebase"], type: "string" }, + number: { alias: "pull_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + pull_number: { required: true, type: "integer" }, + repo: { required: true, type: "string" }, + sha: { type: "string" } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/merge" + }, + submitReview: { + method: "POST", + params: { + body: { type: "string" }, + event: { + enum: ["APPROVE", "REQUEST_CHANGES", "COMMENT"], + required: true, + type: "string" + }, + number: { alias: "pull_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + pull_number: { required: true, type: "integer" }, + repo: { required: true, type: "string" }, + review_id: { required: true, type: "integer" } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/events" + }, + update: { + method: "PATCH", + params: { + base: { type: "string" }, + body: { type: "string" }, + maintainer_can_modify: { type: "boolean" }, + number: { alias: "pull_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + pull_number: { required: true, type: "integer" }, + repo: { required: true, type: "string" }, + state: { enum: ["open", "closed"], type: "string" }, + title: { type: "string" } + }, + url: "/repos/:owner/:repo/pulls/:pull_number" + }, + updateBranch: { + headers: { accept: "application/vnd.github.lydian-preview+json" }, + method: "PUT", + params: { + expected_head_sha: { type: "string" }, + owner: { required: true, type: "string" }, + pull_number: { required: true, type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/update-branch" + }, + updateComment: { + method: "PATCH", + params: { + body: { required: true, type: "string" }, + comment_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/pulls/comments/:comment_id" + }, + updateReview: { + method: "PUT", + params: { + body: { required: true, type: "string" }, + number: { alias: "pull_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + pull_number: { required: true, type: "integer" }, + repo: { required: true, type: "string" }, + review_id: { required: true, type: "integer" } + }, + url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id" + } + }, + rateLimit: { get: { method: "GET", params: {}, url: "/rate_limit" } }, + reactions: { + createForCommitComment: { + headers: { accept: "application/vnd.github.squirrel-girl-preview+json" }, + method: "POST", + params: { + comment_id: { required: true, type: "integer" }, + content: { + enum: [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + required: true, + type: "string" + }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/comments/:comment_id/reactions" + }, + createForIssue: { + headers: { accept: "application/vnd.github.squirrel-girl-preview+json" }, + method: "POST", + params: { + content: { + enum: [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + required: true, + type: "string" + }, + issue_number: { required: true, type: "integer" }, + number: { alias: "issue_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/issues/:issue_number/reactions" + }, + createForIssueComment: { + headers: { accept: "application/vnd.github.squirrel-girl-preview+json" }, + method: "POST", + params: { + comment_id: { required: true, type: "integer" }, + content: { + enum: [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + required: true, + type: "string" + }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/issues/comments/:comment_id/reactions" + }, + createForPullRequestReviewComment: { + headers: { accept: "application/vnd.github.squirrel-girl-preview+json" }, + method: "POST", + params: { + comment_id: { required: true, type: "integer" }, + content: { + enum: [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + required: true, + type: "string" + }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/pulls/comments/:comment_id/reactions" + }, + createForTeamDiscussion: { + deprecated: "octokit.reactions.createForTeamDiscussion() has been renamed to octokit.reactions.createForTeamDiscussionLegacy() (2020-01-16)", + headers: { accept: "application/vnd.github.squirrel-girl-preview+json" }, + method: "POST", + params: { + content: { + enum: [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + required: true, + type: "string" + }, + discussion_number: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number/reactions" + }, + createForTeamDiscussionComment: { + deprecated: "octokit.reactions.createForTeamDiscussionComment() has been renamed to octokit.reactions.createForTeamDiscussionCommentLegacy() (2020-01-16)", + headers: { accept: "application/vnd.github.squirrel-girl-preview+json" }, + method: "POST", + params: { + comment_number: { required: true, type: "integer" }, + content: { + enum: [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + required: true, + type: "string" + }, + discussion_number: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions" + }, + createForTeamDiscussionCommentInOrg: { + headers: { accept: "application/vnd.github.squirrel-girl-preview+json" }, + method: "POST", + params: { + comment_number: { required: true, type: "integer" }, + content: { + enum: [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + required: true, + type: "string" + }, + discussion_number: { required: true, type: "integer" }, + org: { required: true, type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions" + }, + createForTeamDiscussionCommentLegacy: { + deprecated: "octokit.reactions.createForTeamDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-comment-legacy", + headers: { accept: "application/vnd.github.squirrel-girl-preview+json" }, + method: "POST", + params: { + comment_number: { required: true, type: "integer" }, + content: { + enum: [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + required: true, + type: "string" + }, + discussion_number: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions" + }, + createForTeamDiscussionInOrg: { + headers: { accept: "application/vnd.github.squirrel-girl-preview+json" }, + method: "POST", + params: { + content: { + enum: [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + required: true, + type: "string" + }, + discussion_number: { required: true, type: "integer" }, + org: { required: true, type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions" + }, + createForTeamDiscussionLegacy: { + deprecated: "octokit.reactions.createForTeamDiscussionLegacy() is deprecated, see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-legacy", + headers: { accept: "application/vnd.github.squirrel-girl-preview+json" }, + method: "POST", + params: { + content: { + enum: [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + required: true, + type: "string" + }, + discussion_number: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number/reactions" + }, + delete: { + headers: { accept: "application/vnd.github.squirrel-girl-preview+json" }, + method: "DELETE", + params: { reaction_id: { required: true, type: "integer" } }, + url: "/reactions/:reaction_id" + }, + listForCommitComment: { + headers: { accept: "application/vnd.github.squirrel-girl-preview+json" }, + method: "GET", + params: { + comment_id: { required: true, type: "integer" }, + content: { + enum: [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + type: "string" + }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/comments/:comment_id/reactions" + }, + listForIssue: { + headers: { accept: "application/vnd.github.squirrel-girl-preview+json" }, + method: "GET", + params: { + content: { + enum: [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + type: "string" + }, + issue_number: { required: true, type: "integer" }, + number: { alias: "issue_number", deprecated: true, type: "integer" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/issues/:issue_number/reactions" + }, + listForIssueComment: { + headers: { accept: "application/vnd.github.squirrel-girl-preview+json" }, + method: "GET", + params: { + comment_id: { required: true, type: "integer" }, + content: { + enum: [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + type: "string" + }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/issues/comments/:comment_id/reactions" + }, + listForPullRequestReviewComment: { + headers: { accept: "application/vnd.github.squirrel-girl-preview+json" }, + method: "GET", + params: { + comment_id: { required: true, type: "integer" }, + content: { + enum: [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + type: "string" + }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/pulls/comments/:comment_id/reactions" + }, + listForTeamDiscussion: { + deprecated: "octokit.reactions.listForTeamDiscussion() has been renamed to octokit.reactions.listForTeamDiscussionLegacy() (2020-01-16)", + headers: { accept: "application/vnd.github.squirrel-girl-preview+json" }, + method: "GET", + params: { + content: { + enum: [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + type: "string" + }, + discussion_number: { required: true, type: "integer" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number/reactions" + }, + listForTeamDiscussionComment: { + deprecated: "octokit.reactions.listForTeamDiscussionComment() has been renamed to octokit.reactions.listForTeamDiscussionCommentLegacy() (2020-01-16)", + headers: { accept: "application/vnd.github.squirrel-girl-preview+json" }, + method: "GET", + params: { + comment_number: { required: true, type: "integer" }, + content: { + enum: [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + type: "string" + }, + discussion_number: { required: true, type: "integer" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions" + }, + listForTeamDiscussionCommentInOrg: { + headers: { accept: "application/vnd.github.squirrel-girl-preview+json" }, + method: "GET", + params: { + comment_number: { required: true, type: "integer" }, + content: { + enum: [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + type: "string" + }, + discussion_number: { required: true, type: "integer" }, + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions" + }, + listForTeamDiscussionCommentLegacy: { + deprecated: "octokit.reactions.listForTeamDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-comment-legacy", + headers: { accept: "application/vnd.github.squirrel-girl-preview+json" }, + method: "GET", + params: { + comment_number: { required: true, type: "integer" }, + content: { + enum: [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + type: "string" + }, + discussion_number: { required: true, type: "integer" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions" + }, + listForTeamDiscussionInOrg: { + headers: { accept: "application/vnd.github.squirrel-girl-preview+json" }, + method: "GET", + params: { + content: { + enum: [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + type: "string" + }, + discussion_number: { required: true, type: "integer" }, + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions" + }, + listForTeamDiscussionLegacy: { + deprecated: "octokit.reactions.listForTeamDiscussionLegacy() is deprecated, see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-legacy", + headers: { accept: "application/vnd.github.squirrel-girl-preview+json" }, + method: "GET", + params: { + content: { + enum: [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + type: "string" + }, + discussion_number: { required: true, type: "integer" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number/reactions" + } + }, + repos: { + acceptInvitation: { + method: "PATCH", + params: { invitation_id: { required: true, type: "integer" } }, + url: "/user/repository_invitations/:invitation_id" + }, + addCollaborator: { + method: "PUT", + params: { + owner: { required: true, type: "string" }, + permission: { enum: ["pull", "push", "admin"], type: "string" }, + repo: { required: true, type: "string" }, + username: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/collaborators/:username" + }, + addDeployKey: { + method: "POST", + params: { + key: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + read_only: { type: "boolean" }, + repo: { required: true, type: "string" }, + title: { type: "string" } + }, + url: "/repos/:owner/:repo/keys" + }, + addProtectedBranchAdminEnforcement: { + method: "POST", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/enforce_admins" + }, + addProtectedBranchAppRestrictions: { + method: "POST", + params: { + apps: { mapTo: "data", required: true, type: "string[]" }, + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/apps" + }, + addProtectedBranchRequiredSignatures: { + headers: { accept: "application/vnd.github.zzzax-preview+json" }, + method: "POST", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/required_signatures" + }, + addProtectedBranchRequiredStatusChecksContexts: { + method: "POST", + params: { + branch: { required: true, type: "string" }, + contexts: { mapTo: "data", required: true, type: "string[]" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts" + }, + addProtectedBranchTeamRestrictions: { + method: "POST", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + teams: { mapTo: "data", required: true, type: "string[]" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams" + }, + addProtectedBranchUserRestrictions: { + method: "POST", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + users: { mapTo: "data", required: true, type: "string[]" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/users" + }, + checkCollaborator: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + username: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/collaborators/:username" + }, + checkVulnerabilityAlerts: { + headers: { accept: "application/vnd.github.dorian-preview+json" }, + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/vulnerability-alerts" + }, + compareCommits: { + method: "GET", + params: { + base: { required: true, type: "string" }, + head: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/compare/:base...:head" + }, + createCommitComment: { + method: "POST", + params: { + body: { required: true, type: "string" }, + commit_sha: { required: true, type: "string" }, + line: { type: "integer" }, + owner: { required: true, type: "string" }, + path: { type: "string" }, + position: { type: "integer" }, + repo: { required: true, type: "string" }, + sha: { alias: "commit_sha", deprecated: true, type: "string" } + }, + url: "/repos/:owner/:repo/commits/:commit_sha/comments" + }, + createDeployment: { + method: "POST", + params: { + auto_merge: { type: "boolean" }, + description: { type: "string" }, + environment: { type: "string" }, + owner: { required: true, type: "string" }, + payload: { type: "string" }, + production_environment: { type: "boolean" }, + ref: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + required_contexts: { type: "string[]" }, + task: { type: "string" }, + transient_environment: { type: "boolean" } + }, + url: "/repos/:owner/:repo/deployments" + }, + createDeploymentStatus: { + method: "POST", + params: { + auto_inactive: { type: "boolean" }, + deployment_id: { required: true, type: "integer" }, + description: { type: "string" }, + environment: { enum: ["production", "staging", "qa"], type: "string" }, + environment_url: { type: "string" }, + log_url: { type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + state: { + enum: [ + "error", + "failure", + "inactive", + "in_progress", + "queued", + "pending", + "success" + ], + required: true, + type: "string" + }, + target_url: { type: "string" } + }, + url: "/repos/:owner/:repo/deployments/:deployment_id/statuses" + }, + createDispatchEvent: { + method: "POST", + params: { + client_payload: { type: "object" }, + event_type: { type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/dispatches" + }, + createFile: { + deprecated: "octokit.repos.createFile() has been renamed to octokit.repos.createOrUpdateFile() (2019-06-07)", + method: "PUT", + params: { + author: { type: "object" }, + "author.email": { required: true, type: "string" }, + "author.name": { required: true, type: "string" }, + branch: { type: "string" }, + committer: { type: "object" }, + "committer.email": { required: true, type: "string" }, + "committer.name": { required: true, type: "string" }, + content: { required: true, type: "string" }, + message: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + path: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + sha: { type: "string" } + }, + url: "/repos/:owner/:repo/contents/:path" + }, + createForAuthenticatedUser: { + method: "POST", + params: { + allow_merge_commit: { type: "boolean" }, + allow_rebase_merge: { type: "boolean" }, + allow_squash_merge: { type: "boolean" }, + auto_init: { type: "boolean" }, + delete_branch_on_merge: { type: "boolean" }, + description: { type: "string" }, + gitignore_template: { type: "string" }, + has_issues: { type: "boolean" }, + has_projects: { type: "boolean" }, + has_wiki: { type: "boolean" }, + homepage: { type: "string" }, + is_template: { type: "boolean" }, + license_template: { type: "string" }, + name: { required: true, type: "string" }, + private: { type: "boolean" }, + team_id: { type: "integer" }, + visibility: { + enum: ["public", "private", "visibility", "internal"], + type: "string" + } + }, + url: "/user/repos" + }, + createFork: { + method: "POST", + params: { + organization: { type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/forks" + }, + createHook: { + method: "POST", + params: { + active: { type: "boolean" }, + config: { required: true, type: "object" }, + "config.content_type": { type: "string" }, + "config.insecure_ssl": { type: "string" }, + "config.secret": { type: "string" }, + "config.url": { required: true, type: "string" }, + events: { type: "string[]" }, + name: { type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/hooks" + }, + createInOrg: { + method: "POST", + params: { + allow_merge_commit: { type: "boolean" }, + allow_rebase_merge: { type: "boolean" }, + allow_squash_merge: { type: "boolean" }, + auto_init: { type: "boolean" }, + delete_branch_on_merge: { type: "boolean" }, + description: { type: "string" }, + gitignore_template: { type: "string" }, + has_issues: { type: "boolean" }, + has_projects: { type: "boolean" }, + has_wiki: { type: "boolean" }, + homepage: { type: "string" }, + is_template: { type: "boolean" }, + license_template: { type: "string" }, + name: { required: true, type: "string" }, + org: { required: true, type: "string" }, + private: { type: "boolean" }, + team_id: { type: "integer" }, + visibility: { + enum: ["public", "private", "visibility", "internal"], + type: "string" + } + }, + url: "/orgs/:org/repos" + }, + createOrUpdateFile: { + method: "PUT", + params: { + author: { type: "object" }, + "author.email": { required: true, type: "string" }, + "author.name": { required: true, type: "string" }, + branch: { type: "string" }, + committer: { type: "object" }, + "committer.email": { required: true, type: "string" }, + "committer.name": { required: true, type: "string" }, + content: { required: true, type: "string" }, + message: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + path: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + sha: { type: "string" } + }, + url: "/repos/:owner/:repo/contents/:path" + }, + createRelease: { + method: "POST", + params: { + body: { type: "string" }, + draft: { type: "boolean" }, + name: { type: "string" }, + owner: { required: true, type: "string" }, + prerelease: { type: "boolean" }, + repo: { required: true, type: "string" }, + tag_name: { required: true, type: "string" }, + target_commitish: { type: "string" } + }, + url: "/repos/:owner/:repo/releases" + }, + createStatus: { + method: "POST", + params: { + context: { type: "string" }, + description: { type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + sha: { required: true, type: "string" }, + state: { + enum: ["error", "failure", "pending", "success"], + required: true, + type: "string" + }, + target_url: { type: "string" } + }, + url: "/repos/:owner/:repo/statuses/:sha" + }, + createUsingTemplate: { + headers: { accept: "application/vnd.github.baptiste-preview+json" }, + method: "POST", + params: { + description: { type: "string" }, + name: { required: true, type: "string" }, + owner: { type: "string" }, + private: { type: "boolean" }, + template_owner: { required: true, type: "string" }, + template_repo: { required: true, type: "string" } + }, + url: "/repos/:template_owner/:template_repo/generate" + }, + declineInvitation: { + method: "DELETE", + params: { invitation_id: { required: true, type: "integer" } }, + url: "/user/repository_invitations/:invitation_id" + }, + delete: { + method: "DELETE", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo" + }, + deleteCommitComment: { + method: "DELETE", + params: { + comment_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/comments/:comment_id" + }, + deleteDownload: { + method: "DELETE", + params: { + download_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/downloads/:download_id" + }, + deleteFile: { + method: "DELETE", + params: { + author: { type: "object" }, + "author.email": { type: "string" }, + "author.name": { type: "string" }, + branch: { type: "string" }, + committer: { type: "object" }, + "committer.email": { type: "string" }, + "committer.name": { type: "string" }, + message: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + path: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + sha: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/contents/:path" + }, + deleteHook: { + method: "DELETE", + params: { + hook_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/hooks/:hook_id" + }, + deleteInvitation: { + method: "DELETE", + params: { + invitation_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/invitations/:invitation_id" + }, + deleteRelease: { + method: "DELETE", + params: { + owner: { required: true, type: "string" }, + release_id: { required: true, type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/releases/:release_id" + }, + deleteReleaseAsset: { + method: "DELETE", + params: { + asset_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/releases/assets/:asset_id" + }, + disableAutomatedSecurityFixes: { + headers: { accept: "application/vnd.github.london-preview+json" }, + method: "DELETE", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/automated-security-fixes" + }, + disablePagesSite: { + headers: { accept: "application/vnd.github.switcheroo-preview+json" }, + method: "DELETE", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/pages" + }, + disableVulnerabilityAlerts: { + headers: { accept: "application/vnd.github.dorian-preview+json" }, + method: "DELETE", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/vulnerability-alerts" + }, + enableAutomatedSecurityFixes: { + headers: { accept: "application/vnd.github.london-preview+json" }, + method: "PUT", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/automated-security-fixes" + }, + enablePagesSite: { + headers: { accept: "application/vnd.github.switcheroo-preview+json" }, + method: "POST", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + source: { type: "object" }, + "source.branch": { enum: ["master", "gh-pages"], type: "string" }, + "source.path": { type: "string" } + }, + url: "/repos/:owner/:repo/pages" + }, + enableVulnerabilityAlerts: { + headers: { accept: "application/vnd.github.dorian-preview+json" }, + method: "PUT", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/vulnerability-alerts" + }, + get: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo" + }, + getAppsWithAccessToProtectedBranch: { + method: "GET", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/apps" + }, + getArchiveLink: { + method: "GET", + params: { + archive_format: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + ref: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/:archive_format/:ref" + }, + getBranch: { + method: "GET", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch" + }, + getBranchProtection: { + method: "GET", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection" + }, + getClones: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + per: { enum: ["day", "week"], type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/traffic/clones" + }, + getCodeFrequencyStats: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/stats/code_frequency" + }, + getCollaboratorPermissionLevel: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + username: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/collaborators/:username/permission" + }, + getCombinedStatusForRef: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + ref: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/commits/:ref/status" + }, + getCommit: { + method: "GET", + params: { + commit_sha: { alias: "ref", deprecated: true, type: "string" }, + owner: { required: true, type: "string" }, + ref: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + sha: { alias: "ref", deprecated: true, type: "string" } + }, + url: "/repos/:owner/:repo/commits/:ref" + }, + getCommitActivityStats: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/stats/commit_activity" + }, + getCommitComment: { + method: "GET", + params: { + comment_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/comments/:comment_id" + }, + getCommitRefSha: { + deprecated: "octokit.repos.getCommitRefSha() is deprecated, see https://developer.github.com/v3/repos/commits/#get-a-single-commit", + headers: { accept: "application/vnd.github.v3.sha" }, + method: "GET", + params: { + owner: { required: true, type: "string" }, + ref: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/commits/:ref" + }, + getContents: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + path: { required: true, type: "string" }, + ref: { type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/contents/:path" + }, + getContributorsStats: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/stats/contributors" + }, + getDeployKey: { + method: "GET", + params: { + key_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/keys/:key_id" + }, + getDeployment: { + method: "GET", + params: { + deployment_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/deployments/:deployment_id" + }, + getDeploymentStatus: { + method: "GET", + params: { + deployment_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + status_id: { required: true, type: "integer" } + }, + url: "/repos/:owner/:repo/deployments/:deployment_id/statuses/:status_id" + }, + getDownload: { + method: "GET", + params: { + download_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/downloads/:download_id" + }, + getHook: { + method: "GET", + params: { + hook_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/hooks/:hook_id" + }, + getLatestPagesBuild: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/pages/builds/latest" + }, + getLatestRelease: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/releases/latest" + }, + getPages: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/pages" + }, + getPagesBuild: { + method: "GET", + params: { + build_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/pages/builds/:build_id" + }, + getParticipationStats: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/stats/participation" + }, + getProtectedBranchAdminEnforcement: { + method: "GET", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/enforce_admins" + }, + getProtectedBranchPullRequestReviewEnforcement: { + method: "GET", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews" + }, + getProtectedBranchRequiredSignatures: { + headers: { accept: "application/vnd.github.zzzax-preview+json" }, + method: "GET", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/required_signatures" + }, + getProtectedBranchRequiredStatusChecks: { + method: "GET", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks" + }, + getProtectedBranchRestrictions: { + method: "GET", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions" + }, + getPunchCardStats: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/stats/punch_card" + }, + getReadme: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + ref: { type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/readme" + }, + getRelease: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + release_id: { required: true, type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/releases/:release_id" + }, + getReleaseAsset: { + method: "GET", + params: { + asset_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/releases/assets/:asset_id" + }, + getReleaseByTag: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + tag: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/releases/tags/:tag" + }, + getTeamsWithAccessToProtectedBranch: { + method: "GET", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams" + }, + getTopPaths: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/traffic/popular/paths" + }, + getTopReferrers: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/traffic/popular/referrers" + }, + getUsersWithAccessToProtectedBranch: { + method: "GET", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/users" + }, + getViews: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + per: { enum: ["day", "week"], type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/traffic/views" + }, + list: { + method: "GET", + params: { + affiliation: { type: "string" }, + direction: { enum: ["asc", "desc"], type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + sort: { + enum: ["created", "updated", "pushed", "full_name"], + type: "string" + }, + type: { + enum: ["all", "owner", "public", "private", "member"], + type: "string" + }, + visibility: { enum: ["all", "public", "private"], type: "string" } + }, + url: "/user/repos" + }, + listAppsWithAccessToProtectedBranch: { + deprecated: "octokit.repos.listAppsWithAccessToProtectedBranch() has been renamed to octokit.repos.getAppsWithAccessToProtectedBranch() (2019-09-13)", + method: "GET", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/apps" + }, + listAssetsForRelease: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + release_id: { required: true, type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/releases/:release_id/assets" + }, + listBranches: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + protected: { type: "boolean" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches" + }, + listBranchesForHeadCommit: { + headers: { accept: "application/vnd.github.groot-preview+json" }, + method: "GET", + params: { + commit_sha: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/commits/:commit_sha/branches-where-head" + }, + listCollaborators: { + method: "GET", + params: { + affiliation: { enum: ["outside", "direct", "all"], type: "string" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/collaborators" + }, + listCommentsForCommit: { + method: "GET", + params: { + commit_sha: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + ref: { alias: "commit_sha", deprecated: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/commits/:commit_sha/comments" + }, + listCommitComments: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/comments" + }, + listCommits: { + method: "GET", + params: { + author: { type: "string" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + path: { type: "string" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" }, + sha: { type: "string" }, + since: { type: "string" }, + until: { type: "string" } + }, + url: "/repos/:owner/:repo/commits" + }, + listContributors: { + method: "GET", + params: { + anon: { type: "string" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/contributors" + }, + listDeployKeys: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/keys" + }, + listDeploymentStatuses: { + method: "GET", + params: { + deployment_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/deployments/:deployment_id/statuses" + }, + listDeployments: { + method: "GET", + params: { + environment: { type: "string" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + ref: { type: "string" }, + repo: { required: true, type: "string" }, + sha: { type: "string" }, + task: { type: "string" } + }, + url: "/repos/:owner/:repo/deployments" + }, + listDownloads: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/downloads" + }, + listForOrg: { + method: "GET", + params: { + direction: { enum: ["asc", "desc"], type: "string" }, + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + sort: { + enum: ["created", "updated", "pushed", "full_name"], + type: "string" + }, + type: { + enum: [ + "all", + "public", + "private", + "forks", + "sources", + "member", + "internal" + ], + type: "string" + } + }, + url: "/orgs/:org/repos" + }, + listForUser: { + method: "GET", + params: { + direction: { enum: ["asc", "desc"], type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + sort: { + enum: ["created", "updated", "pushed", "full_name"], + type: "string" + }, + type: { enum: ["all", "owner", "member"], type: "string" }, + username: { required: true, type: "string" } + }, + url: "/users/:username/repos" + }, + listForks: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" }, + sort: { enum: ["newest", "oldest", "stargazers"], type: "string" } + }, + url: "/repos/:owner/:repo/forks" + }, + listHooks: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/hooks" + }, + listInvitations: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/invitations" + }, + listInvitationsForAuthenticatedUser: { + method: "GET", + params: { page: { type: "integer" }, per_page: { type: "integer" } }, + url: "/user/repository_invitations" + }, + listLanguages: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/languages" + }, + listPagesBuilds: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/pages/builds" + }, + listProtectedBranchRequiredStatusChecksContexts: { + method: "GET", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts" + }, + listProtectedBranchTeamRestrictions: { + deprecated: "octokit.repos.listProtectedBranchTeamRestrictions() has been renamed to octokit.repos.getTeamsWithAccessToProtectedBranch() (2019-09-09)", + method: "GET", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams" + }, + listProtectedBranchUserRestrictions: { + deprecated: "octokit.repos.listProtectedBranchUserRestrictions() has been renamed to octokit.repos.getUsersWithAccessToProtectedBranch() (2019-09-09)", + method: "GET", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/users" + }, + listPublic: { + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + since: { type: "integer" } + }, + url: "/repositories" + }, + listPullRequestsAssociatedWithCommit: { + headers: { accept: "application/vnd.github.groot-preview+json" }, + method: "GET", + params: { + commit_sha: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/commits/:commit_sha/pulls" + }, + listReleases: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/releases" + }, + listStatusesForRef: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + ref: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/commits/:ref/statuses" + }, + listTags: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/tags" + }, + listTeams: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/teams" + }, + listTeamsWithAccessToProtectedBranch: { + deprecated: "octokit.repos.listTeamsWithAccessToProtectedBranch() has been renamed to octokit.repos.getTeamsWithAccessToProtectedBranch() (2019-09-13)", + method: "GET", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams" + }, + listTopics: { + headers: { accept: "application/vnd.github.mercy-preview+json" }, + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/topics" + }, + listUsersWithAccessToProtectedBranch: { + deprecated: "octokit.repos.listUsersWithAccessToProtectedBranch() has been renamed to octokit.repos.getUsersWithAccessToProtectedBranch() (2019-09-13)", + method: "GET", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/users" + }, + merge: { + method: "POST", + params: { + base: { required: true, type: "string" }, + commit_message: { type: "string" }, + head: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/merges" + }, + pingHook: { + method: "POST", + params: { + hook_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/hooks/:hook_id/pings" + }, + removeBranchProtection: { + method: "DELETE", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection" + }, + removeCollaborator: { + method: "DELETE", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + username: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/collaborators/:username" + }, + removeDeployKey: { + method: "DELETE", + params: { + key_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/keys/:key_id" + }, + removeProtectedBranchAdminEnforcement: { + method: "DELETE", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/enforce_admins" + }, + removeProtectedBranchAppRestrictions: { + method: "DELETE", + params: { + apps: { mapTo: "data", required: true, type: "string[]" }, + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/apps" + }, + removeProtectedBranchPullRequestReviewEnforcement: { + method: "DELETE", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews" + }, + removeProtectedBranchRequiredSignatures: { + headers: { accept: "application/vnd.github.zzzax-preview+json" }, + method: "DELETE", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/required_signatures" + }, + removeProtectedBranchRequiredStatusChecks: { + method: "DELETE", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks" + }, + removeProtectedBranchRequiredStatusChecksContexts: { + method: "DELETE", + params: { + branch: { required: true, type: "string" }, + contexts: { mapTo: "data", required: true, type: "string[]" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts" + }, + removeProtectedBranchRestrictions: { + method: "DELETE", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions" + }, + removeProtectedBranchTeamRestrictions: { + method: "DELETE", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + teams: { mapTo: "data", required: true, type: "string[]" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams" + }, + removeProtectedBranchUserRestrictions: { + method: "DELETE", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + users: { mapTo: "data", required: true, type: "string[]" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/users" + }, + replaceProtectedBranchAppRestrictions: { + method: "PUT", + params: { + apps: { mapTo: "data", required: true, type: "string[]" }, + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/apps" + }, + replaceProtectedBranchRequiredStatusChecksContexts: { + method: "PUT", + params: { + branch: { required: true, type: "string" }, + contexts: { mapTo: "data", required: true, type: "string[]" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts" + }, + replaceProtectedBranchTeamRestrictions: { + method: "PUT", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + teams: { mapTo: "data", required: true, type: "string[]" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams" + }, + replaceProtectedBranchUserRestrictions: { + method: "PUT", + params: { + branch: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + users: { mapTo: "data", required: true, type: "string[]" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/users" + }, + replaceTopics: { + headers: { accept: "application/vnd.github.mercy-preview+json" }, + method: "PUT", + params: { + names: { required: true, type: "string[]" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/topics" + }, + requestPageBuild: { + method: "POST", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/pages/builds" + }, + retrieveCommunityProfileMetrics: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/community/profile" + }, + testPushHook: { + method: "POST", + params: { + hook_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/hooks/:hook_id/tests" + }, + transfer: { + method: "POST", + params: { + new_owner: { type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + team_ids: { type: "integer[]" } + }, + url: "/repos/:owner/:repo/transfer" + }, + update: { + method: "PATCH", + params: { + allow_merge_commit: { type: "boolean" }, + allow_rebase_merge: { type: "boolean" }, + allow_squash_merge: { type: "boolean" }, + archived: { type: "boolean" }, + default_branch: { type: "string" }, + delete_branch_on_merge: { type: "boolean" }, + description: { type: "string" }, + has_issues: { type: "boolean" }, + has_projects: { type: "boolean" }, + has_wiki: { type: "boolean" }, + homepage: { type: "string" }, + is_template: { type: "boolean" }, + name: { type: "string" }, + owner: { required: true, type: "string" }, + private: { type: "boolean" }, + repo: { required: true, type: "string" }, + visibility: { + enum: ["public", "private", "visibility", "internal"], + type: "string" + } + }, + url: "/repos/:owner/:repo" + }, + updateBranchProtection: { + method: "PUT", + params: { + allow_deletions: { type: "boolean" }, + allow_force_pushes: { allowNull: true, type: "boolean" }, + branch: { required: true, type: "string" }, + enforce_admins: { allowNull: true, required: true, type: "boolean" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + required_linear_history: { type: "boolean" }, + required_pull_request_reviews: { + allowNull: true, + required: true, + type: "object" + }, + "required_pull_request_reviews.dismiss_stale_reviews": { + type: "boolean" + }, + "required_pull_request_reviews.dismissal_restrictions": { + type: "object" + }, + "required_pull_request_reviews.dismissal_restrictions.teams": { + type: "string[]" + }, + "required_pull_request_reviews.dismissal_restrictions.users": { + type: "string[]" + }, + "required_pull_request_reviews.require_code_owner_reviews": { + type: "boolean" + }, + "required_pull_request_reviews.required_approving_review_count": { + type: "integer" + }, + required_status_checks: { + allowNull: true, + required: true, + type: "object" + }, + "required_status_checks.contexts": { required: true, type: "string[]" }, + "required_status_checks.strict": { required: true, type: "boolean" }, + restrictions: { allowNull: true, required: true, type: "object" }, + "restrictions.apps": { type: "string[]" }, + "restrictions.teams": { required: true, type: "string[]" }, + "restrictions.users": { required: true, type: "string[]" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection" + }, + updateCommitComment: { + method: "PATCH", + params: { + body: { required: true, type: "string" }, + comment_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/comments/:comment_id" + }, + updateFile: { + deprecated: "octokit.repos.updateFile() has been renamed to octokit.repos.createOrUpdateFile() (2019-06-07)", + method: "PUT", + params: { + author: { type: "object" }, + "author.email": { required: true, type: "string" }, + "author.name": { required: true, type: "string" }, + branch: { type: "string" }, + committer: { type: "object" }, + "committer.email": { required: true, type: "string" }, + "committer.name": { required: true, type: "string" }, + content: { required: true, type: "string" }, + message: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + path: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + sha: { type: "string" } + }, + url: "/repos/:owner/:repo/contents/:path" + }, + updateHook: { + method: "PATCH", + params: { + active: { type: "boolean" }, + add_events: { type: "string[]" }, + config: { type: "object" }, + "config.content_type": { type: "string" }, + "config.insecure_ssl": { type: "string" }, + "config.secret": { type: "string" }, + "config.url": { required: true, type: "string" }, + events: { type: "string[]" }, + hook_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + remove_events: { type: "string[]" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/hooks/:hook_id" + }, + updateInformationAboutPagesSite: { + method: "PUT", + params: { + cname: { type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + source: { + enum: ['"gh-pages"', '"master"', '"master /docs"'], + type: "string" + } + }, + url: "/repos/:owner/:repo/pages" + }, + updateInvitation: { + method: "PATCH", + params: { + invitation_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + permissions: { enum: ["read", "write", "admin"], type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/invitations/:invitation_id" + }, + updateProtectedBranchPullRequestReviewEnforcement: { + method: "PATCH", + params: { + branch: { required: true, type: "string" }, + dismiss_stale_reviews: { type: "boolean" }, + dismissal_restrictions: { type: "object" }, + "dismissal_restrictions.teams": { type: "string[]" }, + "dismissal_restrictions.users": { type: "string[]" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + require_code_owner_reviews: { type: "boolean" }, + required_approving_review_count: { type: "integer" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews" + }, + updateProtectedBranchRequiredStatusChecks: { + method: "PATCH", + params: { + branch: { required: true, type: "string" }, + contexts: { type: "string[]" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + strict: { type: "boolean" } + }, + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks" + }, + updateRelease: { + method: "PATCH", + params: { + body: { type: "string" }, + draft: { type: "boolean" }, + name: { type: "string" }, + owner: { required: true, type: "string" }, + prerelease: { type: "boolean" }, + release_id: { required: true, type: "integer" }, + repo: { required: true, type: "string" }, + tag_name: { type: "string" }, + target_commitish: { type: "string" } + }, + url: "/repos/:owner/:repo/releases/:release_id" + }, + updateReleaseAsset: { + method: "PATCH", + params: { + asset_id: { required: true, type: "integer" }, + label: { type: "string" }, + name: { type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/releases/assets/:asset_id" + }, + uploadReleaseAsset: { + method: "POST", + params: { + data: { mapTo: "data", required: true, type: "string | object" }, + file: { alias: "data", deprecated: true, type: "string | object" }, + headers: { required: true, type: "object" }, + "headers.content-length": { required: true, type: "integer" }, + "headers.content-type": { required: true, type: "string" }, + label: { type: "string" }, + name: { required: true, type: "string" }, + url: { required: true, type: "string" } + }, + url: ":url" + } + }, + search: { + code: { + method: "GET", + params: { + order: { enum: ["desc", "asc"], type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + q: { required: true, type: "string" }, + sort: { enum: ["indexed"], type: "string" } + }, + url: "/search/code" + }, + commits: { + headers: { accept: "application/vnd.github.cloak-preview+json" }, + method: "GET", + params: { + order: { enum: ["desc", "asc"], type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + q: { required: true, type: "string" }, + sort: { enum: ["author-date", "committer-date"], type: "string" } + }, + url: "/search/commits" + }, + issues: { + deprecated: "octokit.search.issues() has been renamed to octokit.search.issuesAndPullRequests() (2018-12-27)", + method: "GET", + params: { + order: { enum: ["desc", "asc"], type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + q: { required: true, type: "string" }, + sort: { + enum: [ + "comments", + "reactions", + "reactions-+1", + "reactions--1", + "reactions-smile", + "reactions-thinking_face", + "reactions-heart", + "reactions-tada", + "interactions", + "created", + "updated" + ], + type: "string" + } + }, + url: "/search/issues" + }, + issuesAndPullRequests: { + method: "GET", + params: { + order: { enum: ["desc", "asc"], type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + q: { required: true, type: "string" }, + sort: { + enum: [ + "comments", + "reactions", + "reactions-+1", + "reactions--1", + "reactions-smile", + "reactions-thinking_face", + "reactions-heart", + "reactions-tada", + "interactions", + "created", + "updated" + ], + type: "string" + } + }, + url: "/search/issues" + }, + labels: { + method: "GET", + params: { + order: { enum: ["desc", "asc"], type: "string" }, + q: { required: true, type: "string" }, + repository_id: { required: true, type: "integer" }, + sort: { enum: ["created", "updated"], type: "string" } + }, + url: "/search/labels" + }, + repos: { + method: "GET", + params: { + order: { enum: ["desc", "asc"], type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + q: { required: true, type: "string" }, + sort: { + enum: ["stars", "forks", "help-wanted-issues", "updated"], + type: "string" + } + }, + url: "/search/repositories" + }, + topics: { + method: "GET", + params: { q: { required: true, type: "string" } }, + url: "/search/topics" + }, + users: { + method: "GET", + params: { + order: { enum: ["desc", "asc"], type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + q: { required: true, type: "string" }, + sort: { enum: ["followers", "repositories", "joined"], type: "string" } + }, + url: "/search/users" + } + }, + teams: { + addMember: { + deprecated: "octokit.teams.addMember() has been renamed to octokit.teams.addMemberLegacy() (2020-01-16)", + method: "PUT", + params: { + team_id: { required: true, type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/teams/:team_id/members/:username" + }, + addMemberLegacy: { + deprecated: "octokit.teams.addMemberLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#add-team-member-legacy", + method: "PUT", + params: { + team_id: { required: true, type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/teams/:team_id/members/:username" + }, + addOrUpdateMembership: { + deprecated: "octokit.teams.addOrUpdateMembership() has been renamed to octokit.teams.addOrUpdateMembershipLegacy() (2020-01-16)", + method: "PUT", + params: { + role: { enum: ["member", "maintainer"], type: "string" }, + team_id: { required: true, type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/teams/:team_id/memberships/:username" + }, + addOrUpdateMembershipInOrg: { + method: "PUT", + params: { + org: { required: true, type: "string" }, + role: { enum: ["member", "maintainer"], type: "string" }, + team_slug: { required: true, type: "string" }, + username: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/memberships/:username" + }, + addOrUpdateMembershipLegacy: { + deprecated: "octokit.teams.addOrUpdateMembershipLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#add-or-update-team-membership-legacy", + method: "PUT", + params: { + role: { enum: ["member", "maintainer"], type: "string" }, + team_id: { required: true, type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/teams/:team_id/memberships/:username" + }, + addOrUpdateProject: { + deprecated: "octokit.teams.addOrUpdateProject() has been renamed to octokit.teams.addOrUpdateProjectLegacy() (2020-01-16)", + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "PUT", + params: { + permission: { enum: ["read", "write", "admin"], type: "string" }, + project_id: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/projects/:project_id" + }, + addOrUpdateProjectInOrg: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "PUT", + params: { + org: { required: true, type: "string" }, + permission: { enum: ["read", "write", "admin"], type: "string" }, + project_id: { required: true, type: "integer" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/projects/:project_id" + }, + addOrUpdateProjectLegacy: { + deprecated: "octokit.teams.addOrUpdateProjectLegacy() is deprecated, see https://developer.github.com/v3/teams/#add-or-update-team-project-legacy", + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "PUT", + params: { + permission: { enum: ["read", "write", "admin"], type: "string" }, + project_id: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/projects/:project_id" + }, + addOrUpdateRepo: { + deprecated: "octokit.teams.addOrUpdateRepo() has been renamed to octokit.teams.addOrUpdateRepoLegacy() (2020-01-16)", + method: "PUT", + params: { + owner: { required: true, type: "string" }, + permission: { enum: ["pull", "push", "admin"], type: "string" }, + repo: { required: true, type: "string" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/repos/:owner/:repo" + }, + addOrUpdateRepoInOrg: { + method: "PUT", + params: { + org: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + permission: { enum: ["pull", "push", "admin"], type: "string" }, + repo: { required: true, type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/repos/:owner/:repo" + }, + addOrUpdateRepoLegacy: { + deprecated: "octokit.teams.addOrUpdateRepoLegacy() is deprecated, see https://developer.github.com/v3/teams/#add-or-update-team-repository-legacy", + method: "PUT", + params: { + owner: { required: true, type: "string" }, + permission: { enum: ["pull", "push", "admin"], type: "string" }, + repo: { required: true, type: "string" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/repos/:owner/:repo" + }, + checkManagesRepo: { + deprecated: "octokit.teams.checkManagesRepo() has been renamed to octokit.teams.checkManagesRepoLegacy() (2020-01-16)", + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/repos/:owner/:repo" + }, + checkManagesRepoInOrg: { + method: "GET", + params: { + org: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/repos/:owner/:repo" + }, + checkManagesRepoLegacy: { + deprecated: "octokit.teams.checkManagesRepoLegacy() is deprecated, see https://developer.github.com/v3/teams/#check-if-a-team-manages-a-repository-legacy", + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/repos/:owner/:repo" + }, + create: { + method: "POST", + params: { + description: { type: "string" }, + maintainers: { type: "string[]" }, + name: { required: true, type: "string" }, + org: { required: true, type: "string" }, + parent_team_id: { type: "integer" }, + permission: { enum: ["pull", "push", "admin"], type: "string" }, + privacy: { enum: ["secret", "closed"], type: "string" }, + repo_names: { type: "string[]" } + }, + url: "/orgs/:org/teams" + }, + createDiscussion: { + deprecated: "octokit.teams.createDiscussion() has been renamed to octokit.teams.createDiscussionLegacy() (2020-01-16)", + method: "POST", + params: { + body: { required: true, type: "string" }, + private: { type: "boolean" }, + team_id: { required: true, type: "integer" }, + title: { required: true, type: "string" } + }, + url: "/teams/:team_id/discussions" + }, + createDiscussionComment: { + deprecated: "octokit.teams.createDiscussionComment() has been renamed to octokit.teams.createDiscussionCommentLegacy() (2020-01-16)", + method: "POST", + params: { + body: { required: true, type: "string" }, + discussion_number: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number/comments" + }, + createDiscussionCommentInOrg: { + method: "POST", + params: { + body: { required: true, type: "string" }, + discussion_number: { required: true, type: "integer" }, + org: { required: true, type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments" + }, + createDiscussionCommentLegacy: { + deprecated: "octokit.teams.createDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#create-a-comment-legacy", + method: "POST", + params: { + body: { required: true, type: "string" }, + discussion_number: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number/comments" + }, + createDiscussionInOrg: { + method: "POST", + params: { + body: { required: true, type: "string" }, + org: { required: true, type: "string" }, + private: { type: "boolean" }, + team_slug: { required: true, type: "string" }, + title: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions" + }, + createDiscussionLegacy: { + deprecated: "octokit.teams.createDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#create-a-discussion-legacy", + method: "POST", + params: { + body: { required: true, type: "string" }, + private: { type: "boolean" }, + team_id: { required: true, type: "integer" }, + title: { required: true, type: "string" } + }, + url: "/teams/:team_id/discussions" + }, + delete: { + deprecated: "octokit.teams.delete() has been renamed to octokit.teams.deleteLegacy() (2020-01-16)", + method: "DELETE", + params: { team_id: { required: true, type: "integer" } }, + url: "/teams/:team_id" + }, + deleteDiscussion: { + deprecated: "octokit.teams.deleteDiscussion() has been renamed to octokit.teams.deleteDiscussionLegacy() (2020-01-16)", + method: "DELETE", + params: { + discussion_number: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number" + }, + deleteDiscussionComment: { + deprecated: "octokit.teams.deleteDiscussionComment() has been renamed to octokit.teams.deleteDiscussionCommentLegacy() (2020-01-16)", + method: "DELETE", + params: { + comment_number: { required: true, type: "integer" }, + discussion_number: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number" + }, + deleteDiscussionCommentInOrg: { + method: "DELETE", + params: { + comment_number: { required: true, type: "integer" }, + discussion_number: { required: true, type: "integer" }, + org: { required: true, type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number" + }, + deleteDiscussionCommentLegacy: { + deprecated: "octokit.teams.deleteDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#delete-a-comment-legacy", + method: "DELETE", + params: { + comment_number: { required: true, type: "integer" }, + discussion_number: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number" + }, + deleteDiscussionInOrg: { + method: "DELETE", + params: { + discussion_number: { required: true, type: "integer" }, + org: { required: true, type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number" + }, + deleteDiscussionLegacy: { + deprecated: "octokit.teams.deleteDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#delete-a-discussion-legacy", + method: "DELETE", + params: { + discussion_number: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number" + }, + deleteInOrg: { + method: "DELETE", + params: { + org: { required: true, type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug" + }, + deleteLegacy: { + deprecated: "octokit.teams.deleteLegacy() is deprecated, see https://developer.github.com/v3/teams/#delete-team-legacy", + method: "DELETE", + params: { team_id: { required: true, type: "integer" } }, + url: "/teams/:team_id" + }, + get: { + deprecated: "octokit.teams.get() has been renamed to octokit.teams.getLegacy() (2020-01-16)", + method: "GET", + params: { team_id: { required: true, type: "integer" } }, + url: "/teams/:team_id" + }, + getByName: { + method: "GET", + params: { + org: { required: true, type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug" + }, + getDiscussion: { + deprecated: "octokit.teams.getDiscussion() has been renamed to octokit.teams.getDiscussionLegacy() (2020-01-16)", + method: "GET", + params: { + discussion_number: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number" + }, + getDiscussionComment: { + deprecated: "octokit.teams.getDiscussionComment() has been renamed to octokit.teams.getDiscussionCommentLegacy() (2020-01-16)", + method: "GET", + params: { + comment_number: { required: true, type: "integer" }, + discussion_number: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number" + }, + getDiscussionCommentInOrg: { + method: "GET", + params: { + comment_number: { required: true, type: "integer" }, + discussion_number: { required: true, type: "integer" }, + org: { required: true, type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number" + }, + getDiscussionCommentLegacy: { + deprecated: "octokit.teams.getDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#get-a-single-comment-legacy", + method: "GET", + params: { + comment_number: { required: true, type: "integer" }, + discussion_number: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number" + }, + getDiscussionInOrg: { + method: "GET", + params: { + discussion_number: { required: true, type: "integer" }, + org: { required: true, type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number" + }, + getDiscussionLegacy: { + deprecated: "octokit.teams.getDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#get-a-single-discussion-legacy", + method: "GET", + params: { + discussion_number: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number" + }, + getLegacy: { + deprecated: "octokit.teams.getLegacy() is deprecated, see https://developer.github.com/v3/teams/#get-team-legacy", + method: "GET", + params: { team_id: { required: true, type: "integer" } }, + url: "/teams/:team_id" + }, + getMember: { + deprecated: "octokit.teams.getMember() has been renamed to octokit.teams.getMemberLegacy() (2020-01-16)", + method: "GET", + params: { + team_id: { required: true, type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/teams/:team_id/members/:username" + }, + getMemberLegacy: { + deprecated: "octokit.teams.getMemberLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#get-team-member-legacy", + method: "GET", + params: { + team_id: { required: true, type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/teams/:team_id/members/:username" + }, + getMembership: { + deprecated: "octokit.teams.getMembership() has been renamed to octokit.teams.getMembershipLegacy() (2020-01-16)", + method: "GET", + params: { + team_id: { required: true, type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/teams/:team_id/memberships/:username" + }, + getMembershipInOrg: { + method: "GET", + params: { + org: { required: true, type: "string" }, + team_slug: { required: true, type: "string" }, + username: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/memberships/:username" + }, + getMembershipLegacy: { + deprecated: "octokit.teams.getMembershipLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#get-team-membership-legacy", + method: "GET", + params: { + team_id: { required: true, type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/teams/:team_id/memberships/:username" + }, + list: { + method: "GET", + params: { + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" } + }, + url: "/orgs/:org/teams" + }, + listChild: { + deprecated: "octokit.teams.listChild() has been renamed to octokit.teams.listChildLegacy() (2020-01-16)", + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/teams" + }, + listChildInOrg: { + method: "GET", + params: { + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/teams" + }, + listChildLegacy: { + deprecated: "octokit.teams.listChildLegacy() is deprecated, see https://developer.github.com/v3/teams/#list-child-teams-legacy", + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/teams" + }, + listDiscussionComments: { + deprecated: "octokit.teams.listDiscussionComments() has been renamed to octokit.teams.listDiscussionCommentsLegacy() (2020-01-16)", + method: "GET", + params: { + direction: { enum: ["asc", "desc"], type: "string" }, + discussion_number: { required: true, type: "integer" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number/comments" + }, + listDiscussionCommentsInOrg: { + method: "GET", + params: { + direction: { enum: ["asc", "desc"], type: "string" }, + discussion_number: { required: true, type: "integer" }, + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments" + }, + listDiscussionCommentsLegacy: { + deprecated: "octokit.teams.listDiscussionCommentsLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#list-comments-legacy", + method: "GET", + params: { + direction: { enum: ["asc", "desc"], type: "string" }, + discussion_number: { required: true, type: "integer" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number/comments" + }, + listDiscussions: { + deprecated: "octokit.teams.listDiscussions() has been renamed to octokit.teams.listDiscussionsLegacy() (2020-01-16)", + method: "GET", + params: { + direction: { enum: ["asc", "desc"], type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions" + }, + listDiscussionsInOrg: { + method: "GET", + params: { + direction: { enum: ["asc", "desc"], type: "string" }, + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions" + }, + listDiscussionsLegacy: { + deprecated: "octokit.teams.listDiscussionsLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#list-discussions-legacy", + method: "GET", + params: { + direction: { enum: ["asc", "desc"], type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions" + }, + listForAuthenticatedUser: { + method: "GET", + params: { page: { type: "integer" }, per_page: { type: "integer" } }, + url: "/user/teams" + }, + listMembers: { + deprecated: "octokit.teams.listMembers() has been renamed to octokit.teams.listMembersLegacy() (2020-01-16)", + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + role: { enum: ["member", "maintainer", "all"], type: "string" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/members" + }, + listMembersInOrg: { + method: "GET", + params: { + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + role: { enum: ["member", "maintainer", "all"], type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/members" + }, + listMembersLegacy: { + deprecated: "octokit.teams.listMembersLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#list-team-members-legacy", + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + role: { enum: ["member", "maintainer", "all"], type: "string" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/members" + }, + listPendingInvitations: { + deprecated: "octokit.teams.listPendingInvitations() has been renamed to octokit.teams.listPendingInvitationsLegacy() (2020-01-16)", + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/invitations" + }, + listPendingInvitationsInOrg: { + method: "GET", + params: { + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/invitations" + }, + listPendingInvitationsLegacy: { + deprecated: "octokit.teams.listPendingInvitationsLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#list-pending-team-invitations-legacy", + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/invitations" + }, + listProjects: { + deprecated: "octokit.teams.listProjects() has been renamed to octokit.teams.listProjectsLegacy() (2020-01-16)", + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/projects" + }, + listProjectsInOrg: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "GET", + params: { + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/projects" + }, + listProjectsLegacy: { + deprecated: "octokit.teams.listProjectsLegacy() is deprecated, see https://developer.github.com/v3/teams/#list-team-projects-legacy", + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/projects" + }, + listRepos: { + deprecated: "octokit.teams.listRepos() has been renamed to octokit.teams.listReposLegacy() (2020-01-16)", + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/repos" + }, + listReposInOrg: { + method: "GET", + params: { + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/repos" + }, + listReposLegacy: { + deprecated: "octokit.teams.listReposLegacy() is deprecated, see https://developer.github.com/v3/teams/#list-team-repos-legacy", + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/repos" + }, + removeMember: { + deprecated: "octokit.teams.removeMember() has been renamed to octokit.teams.removeMemberLegacy() (2020-01-16)", + method: "DELETE", + params: { + team_id: { required: true, type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/teams/:team_id/members/:username" + }, + removeMemberLegacy: { + deprecated: "octokit.teams.removeMemberLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#remove-team-member-legacy", + method: "DELETE", + params: { + team_id: { required: true, type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/teams/:team_id/members/:username" + }, + removeMembership: { + deprecated: "octokit.teams.removeMembership() has been renamed to octokit.teams.removeMembershipLegacy() (2020-01-16)", + method: "DELETE", + params: { + team_id: { required: true, type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/teams/:team_id/memberships/:username" + }, + removeMembershipInOrg: { + method: "DELETE", + params: { + org: { required: true, type: "string" }, + team_slug: { required: true, type: "string" }, + username: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/memberships/:username" + }, + removeMembershipLegacy: { + deprecated: "octokit.teams.removeMembershipLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#remove-team-membership-legacy", + method: "DELETE", + params: { + team_id: { required: true, type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/teams/:team_id/memberships/:username" + }, + removeProject: { + deprecated: "octokit.teams.removeProject() has been renamed to octokit.teams.removeProjectLegacy() (2020-01-16)", + method: "DELETE", + params: { + project_id: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/projects/:project_id" + }, + removeProjectInOrg: { + method: "DELETE", + params: { + org: { required: true, type: "string" }, + project_id: { required: true, type: "integer" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/projects/:project_id" + }, + removeProjectLegacy: { + deprecated: "octokit.teams.removeProjectLegacy() is deprecated, see https://developer.github.com/v3/teams/#remove-team-project-legacy", + method: "DELETE", + params: { + project_id: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/projects/:project_id" + }, + removeRepo: { + deprecated: "octokit.teams.removeRepo() has been renamed to octokit.teams.removeRepoLegacy() (2020-01-16)", + method: "DELETE", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/repos/:owner/:repo" + }, + removeRepoInOrg: { + method: "DELETE", + params: { + org: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/repos/:owner/:repo" + }, + removeRepoLegacy: { + deprecated: "octokit.teams.removeRepoLegacy() is deprecated, see https://developer.github.com/v3/teams/#remove-team-repository-legacy", + method: "DELETE", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/repos/:owner/:repo" + }, + reviewProject: { + deprecated: "octokit.teams.reviewProject() has been renamed to octokit.teams.reviewProjectLegacy() (2020-01-16)", + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "GET", + params: { + project_id: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/projects/:project_id" + }, + reviewProjectInOrg: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "GET", + params: { + org: { required: true, type: "string" }, + project_id: { required: true, type: "integer" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/projects/:project_id" + }, + reviewProjectLegacy: { + deprecated: "octokit.teams.reviewProjectLegacy() is deprecated, see https://developer.github.com/v3/teams/#review-a-team-project-legacy", + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "GET", + params: { + project_id: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/projects/:project_id" + }, + update: { + deprecated: "octokit.teams.update() has been renamed to octokit.teams.updateLegacy() (2020-01-16)", + method: "PATCH", + params: { + description: { type: "string" }, + name: { required: true, type: "string" }, + parent_team_id: { type: "integer" }, + permission: { enum: ["pull", "push", "admin"], type: "string" }, + privacy: { enum: ["secret", "closed"], type: "string" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id" + }, + updateDiscussion: { + deprecated: "octokit.teams.updateDiscussion() has been renamed to octokit.teams.updateDiscussionLegacy() (2020-01-16)", + method: "PATCH", + params: { + body: { type: "string" }, + discussion_number: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" }, + title: { type: "string" } + }, + url: "/teams/:team_id/discussions/:discussion_number" + }, + updateDiscussionComment: { + deprecated: "octokit.teams.updateDiscussionComment() has been renamed to octokit.teams.updateDiscussionCommentLegacy() (2020-01-16)", + method: "PATCH", + params: { + body: { required: true, type: "string" }, + comment_number: { required: true, type: "integer" }, + discussion_number: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number" + }, + updateDiscussionCommentInOrg: { + method: "PATCH", + params: { + body: { required: true, type: "string" }, + comment_number: { required: true, type: "integer" }, + discussion_number: { required: true, type: "integer" }, + org: { required: true, type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number" + }, + updateDiscussionCommentLegacy: { + deprecated: "octokit.teams.updateDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#edit-a-comment-legacy", + method: "PATCH", + params: { + body: { required: true, type: "string" }, + comment_number: { required: true, type: "integer" }, + discussion_number: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number" + }, + updateDiscussionInOrg: { + method: "PATCH", + params: { + body: { type: "string" }, + discussion_number: { required: true, type: "integer" }, + org: { required: true, type: "string" }, + team_slug: { required: true, type: "string" }, + title: { type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number" + }, + updateDiscussionLegacy: { + deprecated: "octokit.teams.updateDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#edit-a-discussion-legacy", + method: "PATCH", + params: { + body: { type: "string" }, + discussion_number: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" }, + title: { type: "string" } + }, + url: "/teams/:team_id/discussions/:discussion_number" + }, + updateInOrg: { + method: "PATCH", + params: { + description: { type: "string" }, + name: { required: true, type: "string" }, + org: { required: true, type: "string" }, + parent_team_id: { type: "integer" }, + permission: { enum: ["pull", "push", "admin"], type: "string" }, + privacy: { enum: ["secret", "closed"], type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug" + }, + updateLegacy: { + deprecated: "octokit.teams.updateLegacy() is deprecated, see https://developer.github.com/v3/teams/#edit-team-legacy", + method: "PATCH", + params: { + description: { type: "string" }, + name: { required: true, type: "string" }, + parent_team_id: { type: "integer" }, + permission: { enum: ["pull", "push", "admin"], type: "string" }, + privacy: { enum: ["secret", "closed"], type: "string" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id" + } + }, + users: { + addEmails: { + method: "POST", + params: { emails: { required: true, type: "string[]" } }, + url: "/user/emails" + }, + block: { + method: "PUT", + params: { username: { required: true, type: "string" } }, + url: "/user/blocks/:username" + }, + checkBlocked: { + method: "GET", + params: { username: { required: true, type: "string" } }, + url: "/user/blocks/:username" + }, + checkFollowing: { + method: "GET", + params: { username: { required: true, type: "string" } }, + url: "/user/following/:username" + }, + checkFollowingForUser: { + method: "GET", + params: { + target_user: { required: true, type: "string" }, + username: { required: true, type: "string" } + }, + url: "/users/:username/following/:target_user" + }, + createGpgKey: { + method: "POST", + params: { armored_public_key: { type: "string" } }, + url: "/user/gpg_keys" + }, + createPublicKey: { + method: "POST", + params: { key: { type: "string" }, title: { type: "string" } }, + url: "/user/keys" + }, + deleteEmails: { + method: "DELETE", + params: { emails: { required: true, type: "string[]" } }, + url: "/user/emails" + }, + deleteGpgKey: { + method: "DELETE", + params: { gpg_key_id: { required: true, type: "integer" } }, + url: "/user/gpg_keys/:gpg_key_id" + }, + deletePublicKey: { + method: "DELETE", + params: { key_id: { required: true, type: "integer" } }, + url: "/user/keys/:key_id" + }, + follow: { + method: "PUT", + params: { username: { required: true, type: "string" } }, + url: "/user/following/:username" + }, + getAuthenticated: { method: "GET", params: {}, url: "/user" }, + getByUsername: { + method: "GET", + params: { username: { required: true, type: "string" } }, + url: "/users/:username" + }, + getContextForUser: { + method: "GET", + params: { + subject_id: { type: "string" }, + subject_type: { + enum: ["organization", "repository", "issue", "pull_request"], + type: "string" + }, + username: { required: true, type: "string" } + }, + url: "/users/:username/hovercard" + }, + getGpgKey: { + method: "GET", + params: { gpg_key_id: { required: true, type: "integer" } }, + url: "/user/gpg_keys/:gpg_key_id" + }, + getPublicKey: { + method: "GET", + params: { key_id: { required: true, type: "integer" } }, + url: "/user/keys/:key_id" + }, + list: { + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + since: { type: "string" } + }, + url: "/users" + }, + listBlocked: { method: "GET", params: {}, url: "/user/blocks" }, + listEmails: { + method: "GET", + params: { page: { type: "integer" }, per_page: { type: "integer" } }, + url: "/user/emails" + }, + listFollowersForAuthenticatedUser: { + method: "GET", + params: { page: { type: "integer" }, per_page: { type: "integer" } }, + url: "/user/followers" + }, + listFollowersForUser: { + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/users/:username/followers" + }, + listFollowingForAuthenticatedUser: { + method: "GET", + params: { page: { type: "integer" }, per_page: { type: "integer" } }, + url: "/user/following" + }, + listFollowingForUser: { + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/users/:username/following" + }, + listGpgKeys: { + method: "GET", + params: { page: { type: "integer" }, per_page: { type: "integer" } }, + url: "/user/gpg_keys" + }, + listGpgKeysForUser: { + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/users/:username/gpg_keys" + }, + listPublicEmails: { + method: "GET", + params: { page: { type: "integer" }, per_page: { type: "integer" } }, + url: "/user/public_emails" + }, + listPublicKeys: { + method: "GET", + params: { page: { type: "integer" }, per_page: { type: "integer" } }, + url: "/user/keys" + }, + listPublicKeysForUser: { + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/users/:username/keys" + }, + togglePrimaryEmailVisibility: { + method: "PATCH", + params: { + email: { required: true, type: "string" }, + visibility: { required: true, type: "string" } + }, + url: "/user/email/visibility" + }, + unblock: { + method: "DELETE", + params: { username: { required: true, type: "string" } }, + url: "/user/blocks/:username" + }, + unfollow: { + method: "DELETE", + params: { username: { required: true, type: "string" } }, + url: "/user/following/:username" + }, + updateAuthenticated: { + method: "PATCH", + params: { + bio: { type: "string" }, + blog: { type: "string" }, + company: { type: "string" }, + email: { type: "string" }, + hireable: { type: "boolean" }, + location: { type: "string" }, + name: { type: "string" } + }, + url: "/user" + } + } +}; + +const VERSION = "2.4.0"; + +function registerEndpoints(octokit, routes) { + Object.keys(routes).forEach(namespaceName => { + if (!octokit[namespaceName]) { + octokit[namespaceName] = {}; + } + Object.keys(routes[namespaceName]).forEach(apiName => { + const apiOptions = routes[namespaceName][apiName]; + const endpointDefaults = ["method", "url", "headers"].reduce((map, key) => { + if (typeof apiOptions[key] !== "undefined") { + map[key] = apiOptions[key]; + } + return map; + }, {}); + endpointDefaults.request = { + validate: apiOptions.params + }; + let request = octokit.request.defaults(endpointDefaults); + // patch request & endpoint methods to support deprecated parameters. + // Not the most elegant solution, but we don’t want to move deprecation + // logic into octokit/endpoint.js as it’s out of scope + const hasDeprecatedParam = Object.keys(apiOptions.params || {}).find(key => apiOptions.params[key].deprecated); + if (hasDeprecatedParam) { + const patch = patchForDeprecation.bind(null, octokit, apiOptions); + request = patch(octokit.request.defaults(endpointDefaults), `.${namespaceName}.${apiName}()`); + request.endpoint = patch(request.endpoint, `.${namespaceName}.${apiName}.endpoint()`); + request.endpoint.merge = patch(request.endpoint.merge, `.${namespaceName}.${apiName}.endpoint.merge()`); + } + if (apiOptions.deprecated) { + octokit[namespaceName][apiName] = Object.assign(function deprecatedEndpointMethod() { + octokit.log.warn(new Deprecation(`[@octokit/rest] ${apiOptions.deprecated}`)); + octokit[namespaceName][apiName] = request; + return request.apply(null, arguments); + }, request); + return; + } + octokit[namespaceName][apiName] = request; + }); + }); +} +function patchForDeprecation(octokit, apiOptions, method, methodName) { + const patchedMethod = (options) => { + options = Object.assign({}, options); + Object.keys(options).forEach(key => { + if (apiOptions.params[key] && apiOptions.params[key].deprecated) { + const aliasKey = apiOptions.params[key].alias; + octokit.log.warn(new Deprecation(`[@octokit/rest] "${key}" parameter is deprecated for "${methodName}". Use "${aliasKey}" instead`)); + if (!(aliasKey in options)) { + options[aliasKey] = options[key]; + } + delete options[key]; + } + }); + return method(options); + }; + Object.keys(method).forEach(key => { + patchedMethod[key] = method[key]; + }); + return patchedMethod; +} + +/** + * This plugin is a 1:1 copy of internal @octokit/rest plugins. The primary + * goal is to rebuild @octokit/rest on top of @octokit/core. Once that is + * done, we will remove the registerEndpoints methods and return the methods + * directly as with the other plugins. At that point we will also remove the + * legacy workarounds and deprecations. + * + * See the plan at + * https://github.com/octokit/plugin-rest-endpoint-methods.js/pull/1 + */ +function restEndpointMethods(octokit) { + // @ts-ignore + octokit.registerEndpoints = registerEndpoints.bind(null, octokit); + registerEndpoints(octokit, endpointsByScope); + // Aliasing scopes for backward compatibility + // See https://github.com/octokit/rest.js/pull/1134 + [ + ["gitdata", "git"], + ["authorization", "oauthAuthorizations"], + ["pullRequests", "pulls"] + ].forEach(([deprecatedScope, scope]) => { + Object.defineProperty(octokit, deprecatedScope, { + get() { + octokit.log.warn( + // @ts-ignore + new Deprecation(`[@octokit/plugin-rest-endpoint-methods] "octokit.${deprecatedScope}.*" methods are deprecated, use "octokit.${scope}.*" instead`)); + // @ts-ignore + return octokit[scope]; + } + }); + }); + return {}; +} +restEndpointMethods.VERSION = VERSION; + +export { restEndpointMethods }; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js.map b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js.map new file mode 100644 index 0000000..017c313 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/generated/endpoints.js","../dist-src/version.js","../dist-src/register-endpoints.js","../dist-src/index.js"],"sourcesContent":["export default {\n actions: {\n cancelWorkflowRun: {\n method: \"POST\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n run_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/actions/runs/:run_id/cancel\"\n },\n createOrUpdateSecretForRepo: {\n method: \"PUT\",\n params: {\n encrypted_value: { type: \"string\" },\n key_id: { type: \"string\" },\n name: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/secrets/:name\"\n },\n createRegistrationToken: {\n method: \"POST\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/runners/registration-token\"\n },\n createRemoveToken: {\n method: \"POST\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/runners/remove-token\"\n },\n deleteArtifact: {\n method: \"DELETE\",\n params: {\n artifact_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/artifacts/:artifact_id\"\n },\n deleteSecretFromRepo: {\n method: \"DELETE\",\n params: {\n name: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/secrets/:name\"\n },\n downloadArtifact: {\n method: \"GET\",\n params: {\n archive_format: { required: true, type: \"string\" },\n artifact_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/artifacts/:artifact_id/:archive_format\"\n },\n getArtifact: {\n method: \"GET\",\n params: {\n artifact_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/artifacts/:artifact_id\"\n },\n getPublicKey: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/secrets/public-key\"\n },\n getSecret: {\n method: \"GET\",\n params: {\n name: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/secrets/:name\"\n },\n getSelfHostedRunner: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n runner_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/actions/runners/:runner_id\"\n },\n getWorkflow: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n workflow_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/actions/workflows/:workflow_id\"\n },\n getWorkflowJob: {\n method: \"GET\",\n params: {\n job_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/jobs/:job_id\"\n },\n getWorkflowRun: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n run_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/actions/runs/:run_id\"\n },\n listDownloadsForSelfHostedRunnerApplication: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/runners/downloads\"\n },\n listJobsForWorkflowRun: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n run_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/actions/runs/:run_id/jobs\"\n },\n listRepoWorkflowRuns: {\n method: \"GET\",\n params: {\n actor: { type: \"string\" },\n branch: { type: \"string\" },\n event: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n status: { enum: [\"completed\", \"status\", \"conclusion\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/runs\"\n },\n listRepoWorkflows: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/workflows\"\n },\n listSecretsForRepo: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/secrets\"\n },\n listSelfHostedRunnersForRepo: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/runners\"\n },\n listWorkflowJobLogs: {\n method: \"GET\",\n params: {\n job_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/jobs/:job_id/logs\"\n },\n listWorkflowRunArtifacts: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n run_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/actions/runs/:run_id/artifacts\"\n },\n listWorkflowRunLogs: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n run_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/actions/runs/:run_id/logs\"\n },\n listWorkflowRuns: {\n method: \"GET\",\n params: {\n actor: { type: \"string\" },\n branch: { type: \"string\" },\n event: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n status: { enum: [\"completed\", \"status\", \"conclusion\"], type: \"string\" },\n workflow_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/actions/workflows/:workflow_id/runs\"\n },\n reRunWorkflow: {\n method: \"POST\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n run_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/actions/runs/:run_id/rerun\"\n },\n removeSelfHostedRunner: {\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n runner_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/actions/runners/:runner_id\"\n }\n },\n activity: {\n checkStarringRepo: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/user/starred/:owner/:repo\"\n },\n deleteRepoSubscription: {\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/subscription\"\n },\n deleteThreadSubscription: {\n method: \"DELETE\",\n params: { thread_id: { required: true, type: \"integer\" } },\n url: \"/notifications/threads/:thread_id/subscription\"\n },\n getRepoSubscription: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/subscription\"\n },\n getThread: {\n method: \"GET\",\n params: { thread_id: { required: true, type: \"integer\" } },\n url: \"/notifications/threads/:thread_id\"\n },\n getThreadSubscription: {\n method: \"GET\",\n params: { thread_id: { required: true, type: \"integer\" } },\n url: \"/notifications/threads/:thread_id/subscription\"\n },\n listEventsForOrg: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/events/orgs/:org\"\n },\n listEventsForUser: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/events\"\n },\n listFeeds: { method: \"GET\", params: {}, url: \"/feeds\" },\n listNotifications: {\n method: \"GET\",\n params: {\n all: { type: \"boolean\" },\n before: { type: \"string\" },\n page: { type: \"integer\" },\n participating: { type: \"boolean\" },\n per_page: { type: \"integer\" },\n since: { type: \"string\" }\n },\n url: \"/notifications\"\n },\n listNotificationsForRepo: {\n method: \"GET\",\n params: {\n all: { type: \"boolean\" },\n before: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n participating: { type: \"boolean\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n since: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/notifications\"\n },\n listPublicEvents: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/events\"\n },\n listPublicEventsForOrg: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/orgs/:org/events\"\n },\n listPublicEventsForRepoNetwork: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/networks/:owner/:repo/events\"\n },\n listPublicEventsForUser: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/events/public\"\n },\n listReceivedEventsForUser: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/received_events\"\n },\n listReceivedPublicEventsForUser: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/received_events/public\"\n },\n listRepoEvents: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/events\"\n },\n listReposStarredByAuthenticatedUser: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n sort: { enum: [\"created\", \"updated\"], type: \"string\" }\n },\n url: \"/user/starred\"\n },\n listReposStarredByUser: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n sort: { enum: [\"created\", \"updated\"], type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/starred\"\n },\n listReposWatchedByUser: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/subscriptions\"\n },\n listStargazersForRepo: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/stargazers\"\n },\n listWatchedReposForAuthenticatedUser: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/subscriptions\"\n },\n listWatchersForRepo: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/subscribers\"\n },\n markAsRead: {\n method: \"PUT\",\n params: { last_read_at: { type: \"string\" } },\n url: \"/notifications\"\n },\n markNotificationsAsReadForRepo: {\n method: \"PUT\",\n params: {\n last_read_at: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/notifications\"\n },\n markThreadAsRead: {\n method: \"PATCH\",\n params: { thread_id: { required: true, type: \"integer\" } },\n url: \"/notifications/threads/:thread_id\"\n },\n setRepoSubscription: {\n method: \"PUT\",\n params: {\n ignored: { type: \"boolean\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n subscribed: { type: \"boolean\" }\n },\n url: \"/repos/:owner/:repo/subscription\"\n },\n setThreadSubscription: {\n method: \"PUT\",\n params: {\n ignored: { type: \"boolean\" },\n thread_id: { required: true, type: \"integer\" }\n },\n url: \"/notifications/threads/:thread_id/subscription\"\n },\n starRepo: {\n method: \"PUT\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/user/starred/:owner/:repo\"\n },\n unstarRepo: {\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/user/starred/:owner/:repo\"\n }\n },\n apps: {\n addRepoToInstallation: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"PUT\",\n params: {\n installation_id: { required: true, type: \"integer\" },\n repository_id: { required: true, type: \"integer\" }\n },\n url: \"/user/installations/:installation_id/repositories/:repository_id\"\n },\n checkAccountIsAssociatedWithAny: {\n method: \"GET\",\n params: { account_id: { required: true, type: \"integer\" } },\n url: \"/marketplace_listing/accounts/:account_id\"\n },\n checkAccountIsAssociatedWithAnyStubbed: {\n method: \"GET\",\n params: { account_id: { required: true, type: \"integer\" } },\n url: \"/marketplace_listing/stubbed/accounts/:account_id\"\n },\n checkAuthorization: {\n deprecated: \"octokit.apps.checkAuthorization() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#check-an-authorization\",\n method: \"GET\",\n params: {\n access_token: { required: true, type: \"string\" },\n client_id: { required: true, type: \"string\" }\n },\n url: \"/applications/:client_id/tokens/:access_token\"\n },\n checkToken: {\n headers: { accept: \"application/vnd.github.doctor-strange-preview+json\" },\n method: \"POST\",\n params: {\n access_token: { type: \"string\" },\n client_id: { required: true, type: \"string\" }\n },\n url: \"/applications/:client_id/token\"\n },\n createContentAttachment: {\n headers: { accept: \"application/vnd.github.corsair-preview+json\" },\n method: \"POST\",\n params: {\n body: { required: true, type: \"string\" },\n content_reference_id: { required: true, type: \"integer\" },\n title: { required: true, type: \"string\" }\n },\n url: \"/content_references/:content_reference_id/attachments\"\n },\n createFromManifest: {\n headers: { accept: \"application/vnd.github.fury-preview+json\" },\n method: \"POST\",\n params: { code: { required: true, type: \"string\" } },\n url: \"/app-manifests/:code/conversions\"\n },\n createInstallationToken: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"POST\",\n params: {\n installation_id: { required: true, type: \"integer\" },\n permissions: { type: \"object\" },\n repository_ids: { type: \"integer[]\" }\n },\n url: \"/app/installations/:installation_id/access_tokens\"\n },\n deleteAuthorization: {\n headers: { accept: \"application/vnd.github.doctor-strange-preview+json\" },\n method: \"DELETE\",\n params: {\n access_token: { type: \"string\" },\n client_id: { required: true, type: \"string\" }\n },\n url: \"/applications/:client_id/grant\"\n },\n deleteInstallation: {\n headers: {\n accept: \"application/vnd.github.gambit-preview+json,application/vnd.github.machine-man-preview+json\"\n },\n method: \"DELETE\",\n params: { installation_id: { required: true, type: \"integer\" } },\n url: \"/app/installations/:installation_id\"\n },\n deleteToken: {\n headers: { accept: \"application/vnd.github.doctor-strange-preview+json\" },\n method: \"DELETE\",\n params: {\n access_token: { type: \"string\" },\n client_id: { required: true, type: \"string\" }\n },\n url: \"/applications/:client_id/token\"\n },\n findOrgInstallation: {\n deprecated: \"octokit.apps.findOrgInstallation() has been renamed to octokit.apps.getOrgInstallation() (2019-04-10)\",\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: { org: { required: true, type: \"string\" } },\n url: \"/orgs/:org/installation\"\n },\n findRepoInstallation: {\n deprecated: \"octokit.apps.findRepoInstallation() has been renamed to octokit.apps.getRepoInstallation() (2019-04-10)\",\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/installation\"\n },\n findUserInstallation: {\n deprecated: \"octokit.apps.findUserInstallation() has been renamed to octokit.apps.getUserInstallation() (2019-04-10)\",\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: { username: { required: true, type: \"string\" } },\n url: \"/users/:username/installation\"\n },\n getAuthenticated: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: {},\n url: \"/app\"\n },\n getBySlug: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: { app_slug: { required: true, type: \"string\" } },\n url: \"/apps/:app_slug\"\n },\n getInstallation: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: { installation_id: { required: true, type: \"integer\" } },\n url: \"/app/installations/:installation_id\"\n },\n getOrgInstallation: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: { org: { required: true, type: \"string\" } },\n url: \"/orgs/:org/installation\"\n },\n getRepoInstallation: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/installation\"\n },\n getUserInstallation: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: { username: { required: true, type: \"string\" } },\n url: \"/users/:username/installation\"\n },\n listAccountsUserOrOrgOnPlan: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n plan_id: { required: true, type: \"integer\" },\n sort: { enum: [\"created\", \"updated\"], type: \"string\" }\n },\n url: \"/marketplace_listing/plans/:plan_id/accounts\"\n },\n listAccountsUserOrOrgOnPlanStubbed: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n plan_id: { required: true, type: \"integer\" },\n sort: { enum: [\"created\", \"updated\"], type: \"string\" }\n },\n url: \"/marketplace_listing/stubbed/plans/:plan_id/accounts\"\n },\n listInstallationReposForAuthenticatedUser: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: {\n installation_id: { required: true, type: \"integer\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/user/installations/:installation_id/repositories\"\n },\n listInstallations: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/app/installations\"\n },\n listInstallationsForAuthenticatedUser: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/installations\"\n },\n listMarketplacePurchasesForAuthenticatedUser: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/marketplace_purchases\"\n },\n listMarketplacePurchasesForAuthenticatedUserStubbed: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/marketplace_purchases/stubbed\"\n },\n listPlans: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/marketplace_listing/plans\"\n },\n listPlansStubbed: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/marketplace_listing/stubbed/plans\"\n },\n listRepos: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/installation/repositories\"\n },\n removeRepoFromInstallation: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"DELETE\",\n params: {\n installation_id: { required: true, type: \"integer\" },\n repository_id: { required: true, type: \"integer\" }\n },\n url: \"/user/installations/:installation_id/repositories/:repository_id\"\n },\n resetAuthorization: {\n deprecated: \"octokit.apps.resetAuthorization() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#reset-an-authorization\",\n method: \"POST\",\n params: {\n access_token: { required: true, type: \"string\" },\n client_id: { required: true, type: \"string\" }\n },\n url: \"/applications/:client_id/tokens/:access_token\"\n },\n resetToken: {\n headers: { accept: \"application/vnd.github.doctor-strange-preview+json\" },\n method: \"PATCH\",\n params: {\n access_token: { type: \"string\" },\n client_id: { required: true, type: \"string\" }\n },\n url: \"/applications/:client_id/token\"\n },\n revokeAuthorizationForApplication: {\n deprecated: \"octokit.apps.revokeAuthorizationForApplication() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#revoke-an-authorization-for-an-application\",\n method: \"DELETE\",\n params: {\n access_token: { required: true, type: \"string\" },\n client_id: { required: true, type: \"string\" }\n },\n url: \"/applications/:client_id/tokens/:access_token\"\n },\n revokeGrantForApplication: {\n deprecated: \"octokit.apps.revokeGrantForApplication() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#revoke-a-grant-for-an-application\",\n method: \"DELETE\",\n params: {\n access_token: { required: true, type: \"string\" },\n client_id: { required: true, type: \"string\" }\n },\n url: \"/applications/:client_id/grants/:access_token\"\n },\n revokeInstallationToken: {\n headers: { accept: \"application/vnd.github.gambit-preview+json\" },\n method: \"DELETE\",\n params: {},\n url: \"/installation/token\"\n }\n },\n checks: {\n create: {\n headers: { accept: \"application/vnd.github.antiope-preview+json\" },\n method: \"POST\",\n params: {\n actions: { type: \"object[]\" },\n \"actions[].description\": { required: true, type: \"string\" },\n \"actions[].identifier\": { required: true, type: \"string\" },\n \"actions[].label\": { required: true, type: \"string\" },\n completed_at: { type: \"string\" },\n conclusion: {\n enum: [\n \"success\",\n \"failure\",\n \"neutral\",\n \"cancelled\",\n \"timed_out\",\n \"action_required\"\n ],\n type: \"string\"\n },\n details_url: { type: \"string\" },\n external_id: { type: \"string\" },\n head_sha: { required: true, type: \"string\" },\n name: { required: true, type: \"string\" },\n output: { type: \"object\" },\n \"output.annotations\": { type: \"object[]\" },\n \"output.annotations[].annotation_level\": {\n enum: [\"notice\", \"warning\", \"failure\"],\n required: true,\n type: \"string\"\n },\n \"output.annotations[].end_column\": { type: \"integer\" },\n \"output.annotations[].end_line\": { required: true, type: \"integer\" },\n \"output.annotations[].message\": { required: true, type: \"string\" },\n \"output.annotations[].path\": { required: true, type: \"string\" },\n \"output.annotations[].raw_details\": { type: \"string\" },\n \"output.annotations[].start_column\": { type: \"integer\" },\n \"output.annotations[].start_line\": { required: true, type: \"integer\" },\n \"output.annotations[].title\": { type: \"string\" },\n \"output.images\": { type: \"object[]\" },\n \"output.images[].alt\": { required: true, type: \"string\" },\n \"output.images[].caption\": { type: \"string\" },\n \"output.images[].image_url\": { required: true, type: \"string\" },\n \"output.summary\": { required: true, type: \"string\" },\n \"output.text\": { type: \"string\" },\n \"output.title\": { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n started_at: { type: \"string\" },\n status: { enum: [\"queued\", \"in_progress\", \"completed\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/check-runs\"\n },\n createSuite: {\n headers: { accept: \"application/vnd.github.antiope-preview+json\" },\n method: \"POST\",\n params: {\n head_sha: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/check-suites\"\n },\n get: {\n headers: { accept: \"application/vnd.github.antiope-preview+json\" },\n method: \"GET\",\n params: {\n check_run_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/check-runs/:check_run_id\"\n },\n getSuite: {\n headers: { accept: \"application/vnd.github.antiope-preview+json\" },\n method: \"GET\",\n params: {\n check_suite_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/check-suites/:check_suite_id\"\n },\n listAnnotations: {\n headers: { accept: \"application/vnd.github.antiope-preview+json\" },\n method: \"GET\",\n params: {\n check_run_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/check-runs/:check_run_id/annotations\"\n },\n listForRef: {\n headers: { accept: \"application/vnd.github.antiope-preview+json\" },\n method: \"GET\",\n params: {\n check_name: { type: \"string\" },\n filter: { enum: [\"latest\", \"all\"], type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n ref: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n status: { enum: [\"queued\", \"in_progress\", \"completed\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/commits/:ref/check-runs\"\n },\n listForSuite: {\n headers: { accept: \"application/vnd.github.antiope-preview+json\" },\n method: \"GET\",\n params: {\n check_name: { type: \"string\" },\n check_suite_id: { required: true, type: \"integer\" },\n filter: { enum: [\"latest\", \"all\"], type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n status: { enum: [\"queued\", \"in_progress\", \"completed\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/check-suites/:check_suite_id/check-runs\"\n },\n listSuitesForRef: {\n headers: { accept: \"application/vnd.github.antiope-preview+json\" },\n method: \"GET\",\n params: {\n app_id: { type: \"integer\" },\n check_name: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n ref: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/commits/:ref/check-suites\"\n },\n rerequestSuite: {\n headers: { accept: \"application/vnd.github.antiope-preview+json\" },\n method: \"POST\",\n params: {\n check_suite_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/check-suites/:check_suite_id/rerequest\"\n },\n setSuitesPreferences: {\n headers: { accept: \"application/vnd.github.antiope-preview+json\" },\n method: \"PATCH\",\n params: {\n auto_trigger_checks: { type: \"object[]\" },\n \"auto_trigger_checks[].app_id\": { required: true, type: \"integer\" },\n \"auto_trigger_checks[].setting\": { required: true, type: \"boolean\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/check-suites/preferences\"\n },\n update: {\n headers: { accept: \"application/vnd.github.antiope-preview+json\" },\n method: \"PATCH\",\n params: {\n actions: { type: \"object[]\" },\n \"actions[].description\": { required: true, type: \"string\" },\n \"actions[].identifier\": { required: true, type: \"string\" },\n \"actions[].label\": { required: true, type: \"string\" },\n check_run_id: { required: true, type: \"integer\" },\n completed_at: { type: \"string\" },\n conclusion: {\n enum: [\n \"success\",\n \"failure\",\n \"neutral\",\n \"cancelled\",\n \"timed_out\",\n \"action_required\"\n ],\n type: \"string\"\n },\n details_url: { type: \"string\" },\n external_id: { type: \"string\" },\n name: { type: \"string\" },\n output: { type: \"object\" },\n \"output.annotations\": { type: \"object[]\" },\n \"output.annotations[].annotation_level\": {\n enum: [\"notice\", \"warning\", \"failure\"],\n required: true,\n type: \"string\"\n },\n \"output.annotations[].end_column\": { type: \"integer\" },\n \"output.annotations[].end_line\": { required: true, type: \"integer\" },\n \"output.annotations[].message\": { required: true, type: \"string\" },\n \"output.annotations[].path\": { required: true, type: \"string\" },\n \"output.annotations[].raw_details\": { type: \"string\" },\n \"output.annotations[].start_column\": { type: \"integer\" },\n \"output.annotations[].start_line\": { required: true, type: \"integer\" },\n \"output.annotations[].title\": { type: \"string\" },\n \"output.images\": { type: \"object[]\" },\n \"output.images[].alt\": { required: true, type: \"string\" },\n \"output.images[].caption\": { type: \"string\" },\n \"output.images[].image_url\": { required: true, type: \"string\" },\n \"output.summary\": { required: true, type: \"string\" },\n \"output.text\": { type: \"string\" },\n \"output.title\": { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n started_at: { type: \"string\" },\n status: { enum: [\"queued\", \"in_progress\", \"completed\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/check-runs/:check_run_id\"\n }\n },\n codesOfConduct: {\n getConductCode: {\n headers: { accept: \"application/vnd.github.scarlet-witch-preview+json\" },\n method: \"GET\",\n params: { key: { required: true, type: \"string\" } },\n url: \"/codes_of_conduct/:key\"\n },\n getForRepo: {\n headers: { accept: \"application/vnd.github.scarlet-witch-preview+json\" },\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/community/code_of_conduct\"\n },\n listConductCodes: {\n headers: { accept: \"application/vnd.github.scarlet-witch-preview+json\" },\n method: \"GET\",\n params: {},\n url: \"/codes_of_conduct\"\n }\n },\n emojis: { get: { method: \"GET\", params: {}, url: \"/emojis\" } },\n gists: {\n checkIsStarred: {\n method: \"GET\",\n params: { gist_id: { required: true, type: \"string\" } },\n url: \"/gists/:gist_id/star\"\n },\n create: {\n method: \"POST\",\n params: {\n description: { type: \"string\" },\n files: { required: true, type: \"object\" },\n \"files.content\": { type: \"string\" },\n public: { type: \"boolean\" }\n },\n url: \"/gists\"\n },\n createComment: {\n method: \"POST\",\n params: {\n body: { required: true, type: \"string\" },\n gist_id: { required: true, type: \"string\" }\n },\n url: \"/gists/:gist_id/comments\"\n },\n delete: {\n method: \"DELETE\",\n params: { gist_id: { required: true, type: \"string\" } },\n url: \"/gists/:gist_id\"\n },\n deleteComment: {\n method: \"DELETE\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n gist_id: { required: true, type: \"string\" }\n },\n url: \"/gists/:gist_id/comments/:comment_id\"\n },\n fork: {\n method: \"POST\",\n params: { gist_id: { required: true, type: \"string\" } },\n url: \"/gists/:gist_id/forks\"\n },\n get: {\n method: \"GET\",\n params: { gist_id: { required: true, type: \"string\" } },\n url: \"/gists/:gist_id\"\n },\n getComment: {\n method: \"GET\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n gist_id: { required: true, type: \"string\" }\n },\n url: \"/gists/:gist_id/comments/:comment_id\"\n },\n getRevision: {\n method: \"GET\",\n params: {\n gist_id: { required: true, type: \"string\" },\n sha: { required: true, type: \"string\" }\n },\n url: \"/gists/:gist_id/:sha\"\n },\n list: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n since: { type: \"string\" }\n },\n url: \"/gists\"\n },\n listComments: {\n method: \"GET\",\n params: {\n gist_id: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/gists/:gist_id/comments\"\n },\n listCommits: {\n method: \"GET\",\n params: {\n gist_id: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/gists/:gist_id/commits\"\n },\n listForks: {\n method: \"GET\",\n params: {\n gist_id: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/gists/:gist_id/forks\"\n },\n listPublic: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n since: { type: \"string\" }\n },\n url: \"/gists/public\"\n },\n listPublicForUser: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n since: { type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/gists\"\n },\n listStarred: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n since: { type: \"string\" }\n },\n url: \"/gists/starred\"\n },\n star: {\n method: \"PUT\",\n params: { gist_id: { required: true, type: \"string\" } },\n url: \"/gists/:gist_id/star\"\n },\n unstar: {\n method: \"DELETE\",\n params: { gist_id: { required: true, type: \"string\" } },\n url: \"/gists/:gist_id/star\"\n },\n update: {\n method: \"PATCH\",\n params: {\n description: { type: \"string\" },\n files: { type: \"object\" },\n \"files.content\": { type: \"string\" },\n \"files.filename\": { type: \"string\" },\n gist_id: { required: true, type: \"string\" }\n },\n url: \"/gists/:gist_id\"\n },\n updateComment: {\n method: \"PATCH\",\n params: {\n body: { required: true, type: \"string\" },\n comment_id: { required: true, type: \"integer\" },\n gist_id: { required: true, type: \"string\" }\n },\n url: \"/gists/:gist_id/comments/:comment_id\"\n }\n },\n git: {\n createBlob: {\n method: \"POST\",\n params: {\n content: { required: true, type: \"string\" },\n encoding: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/git/blobs\"\n },\n createCommit: {\n method: \"POST\",\n params: {\n author: { type: \"object\" },\n \"author.date\": { type: \"string\" },\n \"author.email\": { type: \"string\" },\n \"author.name\": { type: \"string\" },\n committer: { type: \"object\" },\n \"committer.date\": { type: \"string\" },\n \"committer.email\": { type: \"string\" },\n \"committer.name\": { type: \"string\" },\n message: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n parents: { required: true, type: \"string[]\" },\n repo: { required: true, type: \"string\" },\n signature: { type: \"string\" },\n tree: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/git/commits\"\n },\n createRef: {\n method: \"POST\",\n params: {\n owner: { required: true, type: \"string\" },\n ref: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n sha: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/git/refs\"\n },\n createTag: {\n method: \"POST\",\n params: {\n message: { required: true, type: \"string\" },\n object: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n tag: { required: true, type: \"string\" },\n tagger: { type: \"object\" },\n \"tagger.date\": { type: \"string\" },\n \"tagger.email\": { type: \"string\" },\n \"tagger.name\": { type: \"string\" },\n type: {\n enum: [\"commit\", \"tree\", \"blob\"],\n required: true,\n type: \"string\"\n }\n },\n url: \"/repos/:owner/:repo/git/tags\"\n },\n createTree: {\n method: \"POST\",\n params: {\n base_tree: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n tree: { required: true, type: \"object[]\" },\n \"tree[].content\": { type: \"string\" },\n \"tree[].mode\": {\n enum: [\"100644\", \"100755\", \"040000\", \"160000\", \"120000\"],\n type: \"string\"\n },\n \"tree[].path\": { type: \"string\" },\n \"tree[].sha\": { allowNull: true, type: \"string\" },\n \"tree[].type\": { enum: [\"blob\", \"tree\", \"commit\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/git/trees\"\n },\n deleteRef: {\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n ref: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/git/refs/:ref\"\n },\n getBlob: {\n method: \"GET\",\n params: {\n file_sha: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/git/blobs/:file_sha\"\n },\n getCommit: {\n method: \"GET\",\n params: {\n commit_sha: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/git/commits/:commit_sha\"\n },\n getRef: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n ref: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/git/ref/:ref\"\n },\n getTag: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n tag_sha: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/git/tags/:tag_sha\"\n },\n getTree: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n recursive: { enum: [\"1\"], type: \"integer\" },\n repo: { required: true, type: \"string\" },\n tree_sha: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/git/trees/:tree_sha\"\n },\n listMatchingRefs: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n ref: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/git/matching-refs/:ref\"\n },\n listRefs: {\n method: \"GET\",\n params: {\n namespace: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/git/refs/:namespace\"\n },\n updateRef: {\n method: \"PATCH\",\n params: {\n force: { type: \"boolean\" },\n owner: { required: true, type: \"string\" },\n ref: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n sha: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/git/refs/:ref\"\n }\n },\n gitignore: {\n getTemplate: {\n method: \"GET\",\n params: { name: { required: true, type: \"string\" } },\n url: \"/gitignore/templates/:name\"\n },\n listTemplates: { method: \"GET\", params: {}, url: \"/gitignore/templates\" }\n },\n interactions: {\n addOrUpdateRestrictionsForOrg: {\n headers: { accept: \"application/vnd.github.sombra-preview+json\" },\n method: \"PUT\",\n params: {\n limit: {\n enum: [\"existing_users\", \"contributors_only\", \"collaborators_only\"],\n required: true,\n type: \"string\"\n },\n org: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/interaction-limits\"\n },\n addOrUpdateRestrictionsForRepo: {\n headers: { accept: \"application/vnd.github.sombra-preview+json\" },\n method: \"PUT\",\n params: {\n limit: {\n enum: [\"existing_users\", \"contributors_only\", \"collaborators_only\"],\n required: true,\n type: \"string\"\n },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/interaction-limits\"\n },\n getRestrictionsForOrg: {\n headers: { accept: \"application/vnd.github.sombra-preview+json\" },\n method: \"GET\",\n params: { org: { required: true, type: \"string\" } },\n url: \"/orgs/:org/interaction-limits\"\n },\n getRestrictionsForRepo: {\n headers: { accept: \"application/vnd.github.sombra-preview+json\" },\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/interaction-limits\"\n },\n removeRestrictionsForOrg: {\n headers: { accept: \"application/vnd.github.sombra-preview+json\" },\n method: \"DELETE\",\n params: { org: { required: true, type: \"string\" } },\n url: \"/orgs/:org/interaction-limits\"\n },\n removeRestrictionsForRepo: {\n headers: { accept: \"application/vnd.github.sombra-preview+json\" },\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/interaction-limits\"\n }\n },\n issues: {\n addAssignees: {\n method: \"POST\",\n params: {\n assignees: { type: \"string[]\" },\n issue_number: { required: true, type: \"integer\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/assignees\"\n },\n addLabels: {\n method: \"POST\",\n params: {\n issue_number: { required: true, type: \"integer\" },\n labels: { required: true, type: \"string[]\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/labels\"\n },\n checkAssignee: {\n method: \"GET\",\n params: {\n assignee: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/assignees/:assignee\"\n },\n create: {\n method: \"POST\",\n params: {\n assignee: { type: \"string\" },\n assignees: { type: \"string[]\" },\n body: { type: \"string\" },\n labels: { type: \"string[]\" },\n milestone: { type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n title: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues\"\n },\n createComment: {\n method: \"POST\",\n params: {\n body: { required: true, type: \"string\" },\n issue_number: { required: true, type: \"integer\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/comments\"\n },\n createLabel: {\n method: \"POST\",\n params: {\n color: { required: true, type: \"string\" },\n description: { type: \"string\" },\n name: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/labels\"\n },\n createMilestone: {\n method: \"POST\",\n params: {\n description: { type: \"string\" },\n due_on: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n state: { enum: [\"open\", \"closed\"], type: \"string\" },\n title: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/milestones\"\n },\n deleteComment: {\n method: \"DELETE\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/comments/:comment_id\"\n },\n deleteLabel: {\n method: \"DELETE\",\n params: {\n name: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/labels/:name\"\n },\n deleteMilestone: {\n method: \"DELETE\",\n params: {\n milestone_number: { required: true, type: \"integer\" },\n number: {\n alias: \"milestone_number\",\n deprecated: true,\n type: \"integer\"\n },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/milestones/:milestone_number\"\n },\n get: {\n method: \"GET\",\n params: {\n issue_number: { required: true, type: \"integer\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number\"\n },\n getComment: {\n method: \"GET\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/comments/:comment_id\"\n },\n getEvent: {\n method: \"GET\",\n params: {\n event_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/events/:event_id\"\n },\n getLabel: {\n method: \"GET\",\n params: {\n name: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/labels/:name\"\n },\n getMilestone: {\n method: \"GET\",\n params: {\n milestone_number: { required: true, type: \"integer\" },\n number: {\n alias: \"milestone_number\",\n deprecated: true,\n type: \"integer\"\n },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/milestones/:milestone_number\"\n },\n list: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n filter: {\n enum: [\"assigned\", \"created\", \"mentioned\", \"subscribed\", \"all\"],\n type: \"string\"\n },\n labels: { type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n since: { type: \"string\" },\n sort: { enum: [\"created\", \"updated\", \"comments\"], type: \"string\" },\n state: { enum: [\"open\", \"closed\", \"all\"], type: \"string\" }\n },\n url: \"/issues\"\n },\n listAssignees: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/assignees\"\n },\n listComments: {\n method: \"GET\",\n params: {\n issue_number: { required: true, type: \"integer\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n since: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/comments\"\n },\n listCommentsForRepo: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n since: { type: \"string\" },\n sort: { enum: [\"created\", \"updated\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/comments\"\n },\n listEvents: {\n method: \"GET\",\n params: {\n issue_number: { required: true, type: \"integer\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/events\"\n },\n listEventsForRepo: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/events\"\n },\n listEventsForTimeline: {\n headers: { accept: \"application/vnd.github.mockingbird-preview+json\" },\n method: \"GET\",\n params: {\n issue_number: { required: true, type: \"integer\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/timeline\"\n },\n listForAuthenticatedUser: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n filter: {\n enum: [\"assigned\", \"created\", \"mentioned\", \"subscribed\", \"all\"],\n type: \"string\"\n },\n labels: { type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n since: { type: \"string\" },\n sort: { enum: [\"created\", \"updated\", \"comments\"], type: \"string\" },\n state: { enum: [\"open\", \"closed\", \"all\"], type: \"string\" }\n },\n url: \"/user/issues\"\n },\n listForOrg: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n filter: {\n enum: [\"assigned\", \"created\", \"mentioned\", \"subscribed\", \"all\"],\n type: \"string\"\n },\n labels: { type: \"string\" },\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n since: { type: \"string\" },\n sort: { enum: [\"created\", \"updated\", \"comments\"], type: \"string\" },\n state: { enum: [\"open\", \"closed\", \"all\"], type: \"string\" }\n },\n url: \"/orgs/:org/issues\"\n },\n listForRepo: {\n method: \"GET\",\n params: {\n assignee: { type: \"string\" },\n creator: { type: \"string\" },\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n labels: { type: \"string\" },\n mentioned: { type: \"string\" },\n milestone: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n since: { type: \"string\" },\n sort: { enum: [\"created\", \"updated\", \"comments\"], type: \"string\" },\n state: { enum: [\"open\", \"closed\", \"all\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues\"\n },\n listLabelsForMilestone: {\n method: \"GET\",\n params: {\n milestone_number: { required: true, type: \"integer\" },\n number: {\n alias: \"milestone_number\",\n deprecated: true,\n type: \"integer\"\n },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/milestones/:milestone_number/labels\"\n },\n listLabelsForRepo: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/labels\"\n },\n listLabelsOnIssue: {\n method: \"GET\",\n params: {\n issue_number: { required: true, type: \"integer\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/labels\"\n },\n listMilestonesForRepo: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n sort: { enum: [\"due_on\", \"completeness\"], type: \"string\" },\n state: { enum: [\"open\", \"closed\", \"all\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/milestones\"\n },\n lock: {\n method: \"PUT\",\n params: {\n issue_number: { required: true, type: \"integer\" },\n lock_reason: {\n enum: [\"off-topic\", \"too heated\", \"resolved\", \"spam\"],\n type: \"string\"\n },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/lock\"\n },\n removeAssignees: {\n method: \"DELETE\",\n params: {\n assignees: { type: \"string[]\" },\n issue_number: { required: true, type: \"integer\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/assignees\"\n },\n removeLabel: {\n method: \"DELETE\",\n params: {\n issue_number: { required: true, type: \"integer\" },\n name: { required: true, type: \"string\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/labels/:name\"\n },\n removeLabels: {\n method: \"DELETE\",\n params: {\n issue_number: { required: true, type: \"integer\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/labels\"\n },\n replaceLabels: {\n method: \"PUT\",\n params: {\n issue_number: { required: true, type: \"integer\" },\n labels: { type: \"string[]\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/labels\"\n },\n unlock: {\n method: \"DELETE\",\n params: {\n issue_number: { required: true, type: \"integer\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/lock\"\n },\n update: {\n method: \"PATCH\",\n params: {\n assignee: { type: \"string\" },\n assignees: { type: \"string[]\" },\n body: { type: \"string\" },\n issue_number: { required: true, type: \"integer\" },\n labels: { type: \"string[]\" },\n milestone: { allowNull: true, type: \"integer\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n state: { enum: [\"open\", \"closed\"], type: \"string\" },\n title: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number\"\n },\n updateComment: {\n method: \"PATCH\",\n params: {\n body: { required: true, type: \"string\" },\n comment_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/comments/:comment_id\"\n },\n updateLabel: {\n method: \"PATCH\",\n params: {\n color: { type: \"string\" },\n current_name: { required: true, type: \"string\" },\n description: { type: \"string\" },\n name: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/labels/:current_name\"\n },\n updateMilestone: {\n method: \"PATCH\",\n params: {\n description: { type: \"string\" },\n due_on: { type: \"string\" },\n milestone_number: { required: true, type: \"integer\" },\n number: {\n alias: \"milestone_number\",\n deprecated: true,\n type: \"integer\"\n },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n state: { enum: [\"open\", \"closed\"], type: \"string\" },\n title: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/milestones/:milestone_number\"\n }\n },\n licenses: {\n get: {\n method: \"GET\",\n params: { license: { required: true, type: \"string\" } },\n url: \"/licenses/:license\"\n },\n getForRepo: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/license\"\n },\n list: {\n deprecated: \"octokit.licenses.list() has been renamed to octokit.licenses.listCommonlyUsed() (2019-03-05)\",\n method: \"GET\",\n params: {},\n url: \"/licenses\"\n },\n listCommonlyUsed: { method: \"GET\", params: {}, url: \"/licenses\" }\n },\n markdown: {\n render: {\n method: \"POST\",\n params: {\n context: { type: \"string\" },\n mode: { enum: [\"markdown\", \"gfm\"], type: \"string\" },\n text: { required: true, type: \"string\" }\n },\n url: \"/markdown\"\n },\n renderRaw: {\n headers: { \"content-type\": \"text/plain; charset=utf-8\" },\n method: \"POST\",\n params: { data: { mapTo: \"data\", required: true, type: \"string\" } },\n url: \"/markdown/raw\"\n }\n },\n meta: { get: { method: \"GET\", params: {}, url: \"/meta\" } },\n migrations: {\n cancelImport: {\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/import\"\n },\n deleteArchiveForAuthenticatedUser: {\n headers: { accept: \"application/vnd.github.wyandotte-preview+json\" },\n method: \"DELETE\",\n params: { migration_id: { required: true, type: \"integer\" } },\n url: \"/user/migrations/:migration_id/archive\"\n },\n deleteArchiveForOrg: {\n headers: { accept: \"application/vnd.github.wyandotte-preview+json\" },\n method: \"DELETE\",\n params: {\n migration_id: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/migrations/:migration_id/archive\"\n },\n downloadArchiveForOrg: {\n headers: { accept: \"application/vnd.github.wyandotte-preview+json\" },\n method: \"GET\",\n params: {\n migration_id: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/migrations/:migration_id/archive\"\n },\n getArchiveForAuthenticatedUser: {\n headers: { accept: \"application/vnd.github.wyandotte-preview+json\" },\n method: \"GET\",\n params: { migration_id: { required: true, type: \"integer\" } },\n url: \"/user/migrations/:migration_id/archive\"\n },\n getArchiveForOrg: {\n deprecated: \"octokit.migrations.getArchiveForOrg() has been renamed to octokit.migrations.downloadArchiveForOrg() (2020-01-27)\",\n headers: { accept: \"application/vnd.github.wyandotte-preview+json\" },\n method: \"GET\",\n params: {\n migration_id: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/migrations/:migration_id/archive\"\n },\n getCommitAuthors: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n since: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/import/authors\"\n },\n getImportProgress: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/import\"\n },\n getLargeFiles: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/import/large_files\"\n },\n getStatusForAuthenticatedUser: {\n headers: { accept: \"application/vnd.github.wyandotte-preview+json\" },\n method: \"GET\",\n params: { migration_id: { required: true, type: \"integer\" } },\n url: \"/user/migrations/:migration_id\"\n },\n getStatusForOrg: {\n headers: { accept: \"application/vnd.github.wyandotte-preview+json\" },\n method: \"GET\",\n params: {\n migration_id: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/migrations/:migration_id\"\n },\n listForAuthenticatedUser: {\n headers: { accept: \"application/vnd.github.wyandotte-preview+json\" },\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/migrations\"\n },\n listForOrg: {\n headers: { accept: \"application/vnd.github.wyandotte-preview+json\" },\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/orgs/:org/migrations\"\n },\n listReposForOrg: {\n headers: { accept: \"application/vnd.github.wyandotte-preview+json\" },\n method: \"GET\",\n params: {\n migration_id: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/orgs/:org/migrations/:migration_id/repositories\"\n },\n listReposForUser: {\n headers: { accept: \"application/vnd.github.wyandotte-preview+json\" },\n method: \"GET\",\n params: {\n migration_id: { required: true, type: \"integer\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/user/:migration_id/repositories\"\n },\n mapCommitAuthor: {\n method: \"PATCH\",\n params: {\n author_id: { required: true, type: \"integer\" },\n email: { type: \"string\" },\n name: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/import/authors/:author_id\"\n },\n setLfsPreference: {\n method: \"PATCH\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n use_lfs: { enum: [\"opt_in\", \"opt_out\"], required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/import/lfs\"\n },\n startForAuthenticatedUser: {\n method: \"POST\",\n params: {\n exclude_attachments: { type: \"boolean\" },\n lock_repositories: { type: \"boolean\" },\n repositories: { required: true, type: \"string[]\" }\n },\n url: \"/user/migrations\"\n },\n startForOrg: {\n method: \"POST\",\n params: {\n exclude_attachments: { type: \"boolean\" },\n lock_repositories: { type: \"boolean\" },\n org: { required: true, type: \"string\" },\n repositories: { required: true, type: \"string[]\" }\n },\n url: \"/orgs/:org/migrations\"\n },\n startImport: {\n method: \"PUT\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n tfvc_project: { type: \"string\" },\n vcs: {\n enum: [\"subversion\", \"git\", \"mercurial\", \"tfvc\"],\n type: \"string\"\n },\n vcs_password: { type: \"string\" },\n vcs_url: { required: true, type: \"string\" },\n vcs_username: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/import\"\n },\n unlockRepoForAuthenticatedUser: {\n headers: { accept: \"application/vnd.github.wyandotte-preview+json\" },\n method: \"DELETE\",\n params: {\n migration_id: { required: true, type: \"integer\" },\n repo_name: { required: true, type: \"string\" }\n },\n url: \"/user/migrations/:migration_id/repos/:repo_name/lock\"\n },\n unlockRepoForOrg: {\n headers: { accept: \"application/vnd.github.wyandotte-preview+json\" },\n method: \"DELETE\",\n params: {\n migration_id: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n repo_name: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/migrations/:migration_id/repos/:repo_name/lock\"\n },\n updateImport: {\n method: \"PATCH\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n vcs_password: { type: \"string\" },\n vcs_username: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/import\"\n }\n },\n oauthAuthorizations: {\n checkAuthorization: {\n deprecated: \"octokit.oauthAuthorizations.checkAuthorization() has been renamed to octokit.apps.checkAuthorization() (2019-11-05)\",\n method: \"GET\",\n params: {\n access_token: { required: true, type: \"string\" },\n client_id: { required: true, type: \"string\" }\n },\n url: \"/applications/:client_id/tokens/:access_token\"\n },\n createAuthorization: {\n deprecated: \"octokit.oauthAuthorizations.createAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#create-a-new-authorization\",\n method: \"POST\",\n params: {\n client_id: { type: \"string\" },\n client_secret: { type: \"string\" },\n fingerprint: { type: \"string\" },\n note: { required: true, type: \"string\" },\n note_url: { type: \"string\" },\n scopes: { type: \"string[]\" }\n },\n url: \"/authorizations\"\n },\n deleteAuthorization: {\n deprecated: \"octokit.oauthAuthorizations.deleteAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#delete-an-authorization\",\n method: \"DELETE\",\n params: { authorization_id: { required: true, type: \"integer\" } },\n url: \"/authorizations/:authorization_id\"\n },\n deleteGrant: {\n deprecated: \"octokit.oauthAuthorizations.deleteGrant() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#delete-a-grant\",\n method: \"DELETE\",\n params: { grant_id: { required: true, type: \"integer\" } },\n url: \"/applications/grants/:grant_id\"\n },\n getAuthorization: {\n deprecated: \"octokit.oauthAuthorizations.getAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-a-single-authorization\",\n method: \"GET\",\n params: { authorization_id: { required: true, type: \"integer\" } },\n url: \"/authorizations/:authorization_id\"\n },\n getGrant: {\n deprecated: \"octokit.oauthAuthorizations.getGrant() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-a-single-grant\",\n method: \"GET\",\n params: { grant_id: { required: true, type: \"integer\" } },\n url: \"/applications/grants/:grant_id\"\n },\n getOrCreateAuthorizationForApp: {\n deprecated: \"octokit.oauthAuthorizations.getOrCreateAuthorizationForApp() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app\",\n method: \"PUT\",\n params: {\n client_id: { required: true, type: \"string\" },\n client_secret: { required: true, type: \"string\" },\n fingerprint: { type: \"string\" },\n note: { type: \"string\" },\n note_url: { type: \"string\" },\n scopes: { type: \"string[]\" }\n },\n url: \"/authorizations/clients/:client_id\"\n },\n getOrCreateAuthorizationForAppAndFingerprint: {\n deprecated: \"octokit.oauthAuthorizations.getOrCreateAuthorizationForAppAndFingerprint() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app-and-fingerprint\",\n method: \"PUT\",\n params: {\n client_id: { required: true, type: \"string\" },\n client_secret: { required: true, type: \"string\" },\n fingerprint: { required: true, type: \"string\" },\n note: { type: \"string\" },\n note_url: { type: \"string\" },\n scopes: { type: \"string[]\" }\n },\n url: \"/authorizations/clients/:client_id/:fingerprint\"\n },\n getOrCreateAuthorizationForAppFingerprint: {\n deprecated: \"octokit.oauthAuthorizations.getOrCreateAuthorizationForAppFingerprint() has been renamed to octokit.oauthAuthorizations.getOrCreateAuthorizationForAppAndFingerprint() (2018-12-27)\",\n method: \"PUT\",\n params: {\n client_id: { required: true, type: \"string\" },\n client_secret: { required: true, type: \"string\" },\n fingerprint: { required: true, type: \"string\" },\n note: { type: \"string\" },\n note_url: { type: \"string\" },\n scopes: { type: \"string[]\" }\n },\n url: \"/authorizations/clients/:client_id/:fingerprint\"\n },\n listAuthorizations: {\n deprecated: \"octokit.oauthAuthorizations.listAuthorizations() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#list-your-authorizations\",\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/authorizations\"\n },\n listGrants: {\n deprecated: \"octokit.oauthAuthorizations.listGrants() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#list-your-grants\",\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/applications/grants\"\n },\n resetAuthorization: {\n deprecated: \"octokit.oauthAuthorizations.resetAuthorization() has been renamed to octokit.apps.resetAuthorization() (2019-11-05)\",\n method: \"POST\",\n params: {\n access_token: { required: true, type: \"string\" },\n client_id: { required: true, type: \"string\" }\n },\n url: \"/applications/:client_id/tokens/:access_token\"\n },\n revokeAuthorizationForApplication: {\n deprecated: \"octokit.oauthAuthorizations.revokeAuthorizationForApplication() has been renamed to octokit.apps.revokeAuthorizationForApplication() (2019-11-05)\",\n method: \"DELETE\",\n params: {\n access_token: { required: true, type: \"string\" },\n client_id: { required: true, type: \"string\" }\n },\n url: \"/applications/:client_id/tokens/:access_token\"\n },\n revokeGrantForApplication: {\n deprecated: \"octokit.oauthAuthorizations.revokeGrantForApplication() has been renamed to octokit.apps.revokeGrantForApplication() (2019-11-05)\",\n method: \"DELETE\",\n params: {\n access_token: { required: true, type: \"string\" },\n client_id: { required: true, type: \"string\" }\n },\n url: \"/applications/:client_id/grants/:access_token\"\n },\n updateAuthorization: {\n deprecated: \"octokit.oauthAuthorizations.updateAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#update-an-existing-authorization\",\n method: \"PATCH\",\n params: {\n add_scopes: { type: \"string[]\" },\n authorization_id: { required: true, type: \"integer\" },\n fingerprint: { type: \"string\" },\n note: { type: \"string\" },\n note_url: { type: \"string\" },\n remove_scopes: { type: \"string[]\" },\n scopes: { type: \"string[]\" }\n },\n url: \"/authorizations/:authorization_id\"\n }\n },\n orgs: {\n addOrUpdateMembership: {\n method: \"PUT\",\n params: {\n org: { required: true, type: \"string\" },\n role: { enum: [\"admin\", \"member\"], type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/memberships/:username\"\n },\n blockUser: {\n method: \"PUT\",\n params: {\n org: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/blocks/:username\"\n },\n checkBlockedUser: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/blocks/:username\"\n },\n checkMembership: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/members/:username\"\n },\n checkPublicMembership: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/public_members/:username\"\n },\n concealMembership: {\n method: \"DELETE\",\n params: {\n org: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/public_members/:username\"\n },\n convertMemberToOutsideCollaborator: {\n method: \"PUT\",\n params: {\n org: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/outside_collaborators/:username\"\n },\n createHook: {\n method: \"POST\",\n params: {\n active: { type: \"boolean\" },\n config: { required: true, type: \"object\" },\n \"config.content_type\": { type: \"string\" },\n \"config.insecure_ssl\": { type: \"string\" },\n \"config.secret\": { type: \"string\" },\n \"config.url\": { required: true, type: \"string\" },\n events: { type: \"string[]\" },\n name: { required: true, type: \"string\" },\n org: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/hooks\"\n },\n createInvitation: {\n method: \"POST\",\n params: {\n email: { type: \"string\" },\n invitee_id: { type: \"integer\" },\n org: { required: true, type: \"string\" },\n role: {\n enum: [\"admin\", \"direct_member\", \"billing_manager\"],\n type: \"string\"\n },\n team_ids: { type: \"integer[]\" }\n },\n url: \"/orgs/:org/invitations\"\n },\n deleteHook: {\n method: \"DELETE\",\n params: {\n hook_id: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/hooks/:hook_id\"\n },\n get: {\n method: \"GET\",\n params: { org: { required: true, type: \"string\" } },\n url: \"/orgs/:org\"\n },\n getHook: {\n method: \"GET\",\n params: {\n hook_id: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/hooks/:hook_id\"\n },\n getMembership: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/memberships/:username\"\n },\n getMembershipForAuthenticatedUser: {\n method: \"GET\",\n params: { org: { required: true, type: \"string\" } },\n url: \"/user/memberships/orgs/:org\"\n },\n list: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n since: { type: \"integer\" }\n },\n url: \"/organizations\"\n },\n listBlockedUsers: {\n method: \"GET\",\n params: { org: { required: true, type: \"string\" } },\n url: \"/orgs/:org/blocks\"\n },\n listForAuthenticatedUser: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/orgs\"\n },\n listForUser: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/orgs\"\n },\n listHooks: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/orgs/:org/hooks\"\n },\n listInstallations: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/orgs/:org/installations\"\n },\n listInvitationTeams: {\n method: \"GET\",\n params: {\n invitation_id: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/orgs/:org/invitations/:invitation_id/teams\"\n },\n listMembers: {\n method: \"GET\",\n params: {\n filter: { enum: [\"2fa_disabled\", \"all\"], type: \"string\" },\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n role: { enum: [\"all\", \"admin\", \"member\"], type: \"string\" }\n },\n url: \"/orgs/:org/members\"\n },\n listMemberships: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n state: { enum: [\"active\", \"pending\"], type: \"string\" }\n },\n url: \"/user/memberships/orgs\"\n },\n listOutsideCollaborators: {\n method: \"GET\",\n params: {\n filter: { enum: [\"2fa_disabled\", \"all\"], type: \"string\" },\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/orgs/:org/outside_collaborators\"\n },\n listPendingInvitations: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/orgs/:org/invitations\"\n },\n listPublicMembers: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/orgs/:org/public_members\"\n },\n pingHook: {\n method: \"POST\",\n params: {\n hook_id: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/hooks/:hook_id/pings\"\n },\n publicizeMembership: {\n method: \"PUT\",\n params: {\n org: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/public_members/:username\"\n },\n removeMember: {\n method: \"DELETE\",\n params: {\n org: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/members/:username\"\n },\n removeMembership: {\n method: \"DELETE\",\n params: {\n org: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/memberships/:username\"\n },\n removeOutsideCollaborator: {\n method: \"DELETE\",\n params: {\n org: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/outside_collaborators/:username\"\n },\n unblockUser: {\n method: \"DELETE\",\n params: {\n org: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/blocks/:username\"\n },\n update: {\n method: \"PATCH\",\n params: {\n billing_email: { type: \"string\" },\n company: { type: \"string\" },\n default_repository_permission: {\n enum: [\"read\", \"write\", \"admin\", \"none\"],\n type: \"string\"\n },\n description: { type: \"string\" },\n email: { type: \"string\" },\n has_organization_projects: { type: \"boolean\" },\n has_repository_projects: { type: \"boolean\" },\n location: { type: \"string\" },\n members_allowed_repository_creation_type: {\n enum: [\"all\", \"private\", \"none\"],\n type: \"string\"\n },\n members_can_create_internal_repositories: { type: \"boolean\" },\n members_can_create_private_repositories: { type: \"boolean\" },\n members_can_create_public_repositories: { type: \"boolean\" },\n members_can_create_repositories: { type: \"boolean\" },\n name: { type: \"string\" },\n org: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org\"\n },\n updateHook: {\n method: \"PATCH\",\n params: {\n active: { type: \"boolean\" },\n config: { type: \"object\" },\n \"config.content_type\": { type: \"string\" },\n \"config.insecure_ssl\": { type: \"string\" },\n \"config.secret\": { type: \"string\" },\n \"config.url\": { required: true, type: \"string\" },\n events: { type: \"string[]\" },\n hook_id: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/hooks/:hook_id\"\n },\n updateMembership: {\n method: \"PATCH\",\n params: {\n org: { required: true, type: \"string\" },\n state: { enum: [\"active\"], required: true, type: \"string\" }\n },\n url: \"/user/memberships/orgs/:org\"\n }\n },\n projects: {\n addCollaborator: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"PUT\",\n params: {\n permission: { enum: [\"read\", \"write\", \"admin\"], type: \"string\" },\n project_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/projects/:project_id/collaborators/:username\"\n },\n createCard: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"POST\",\n params: {\n column_id: { required: true, type: \"integer\" },\n content_id: { type: \"integer\" },\n content_type: { type: \"string\" },\n note: { type: \"string\" }\n },\n url: \"/projects/columns/:column_id/cards\"\n },\n createColumn: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"POST\",\n params: {\n name: { required: true, type: \"string\" },\n project_id: { required: true, type: \"integer\" }\n },\n url: \"/projects/:project_id/columns\"\n },\n createForAuthenticatedUser: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"POST\",\n params: {\n body: { type: \"string\" },\n name: { required: true, type: \"string\" }\n },\n url: \"/user/projects\"\n },\n createForOrg: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"POST\",\n params: {\n body: { type: \"string\" },\n name: { required: true, type: \"string\" },\n org: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/projects\"\n },\n createForRepo: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"POST\",\n params: {\n body: { type: \"string\" },\n name: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/projects\"\n },\n delete: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"DELETE\",\n params: { project_id: { required: true, type: \"integer\" } },\n url: \"/projects/:project_id\"\n },\n deleteCard: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"DELETE\",\n params: { card_id: { required: true, type: \"integer\" } },\n url: \"/projects/columns/cards/:card_id\"\n },\n deleteColumn: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"DELETE\",\n params: { column_id: { required: true, type: \"integer\" } },\n url: \"/projects/columns/:column_id\"\n },\n get: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: { project_id: { required: true, type: \"integer\" } },\n url: \"/projects/:project_id\"\n },\n getCard: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: { card_id: { required: true, type: \"integer\" } },\n url: \"/projects/columns/cards/:card_id\"\n },\n getColumn: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: { column_id: { required: true, type: \"integer\" } },\n url: \"/projects/columns/:column_id\"\n },\n listCards: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: {\n archived_state: {\n enum: [\"all\", \"archived\", \"not_archived\"],\n type: \"string\"\n },\n column_id: { required: true, type: \"integer\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/projects/columns/:column_id/cards\"\n },\n listCollaborators: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: {\n affiliation: { enum: [\"outside\", \"direct\", \"all\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n project_id: { required: true, type: \"integer\" }\n },\n url: \"/projects/:project_id/collaborators\"\n },\n listColumns: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n project_id: { required: true, type: \"integer\" }\n },\n url: \"/projects/:project_id/columns\"\n },\n listForOrg: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n state: { enum: [\"open\", \"closed\", \"all\"], type: \"string\" }\n },\n url: \"/orgs/:org/projects\"\n },\n listForRepo: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n state: { enum: [\"open\", \"closed\", \"all\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/projects\"\n },\n listForUser: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n state: { enum: [\"open\", \"closed\", \"all\"], type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/projects\"\n },\n moveCard: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"POST\",\n params: {\n card_id: { required: true, type: \"integer\" },\n column_id: { type: \"integer\" },\n position: {\n required: true,\n type: \"string\",\n validation: \"^(top|bottom|after:\\\\d+)$\"\n }\n },\n url: \"/projects/columns/cards/:card_id/moves\"\n },\n moveColumn: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"POST\",\n params: {\n column_id: { required: true, type: \"integer\" },\n position: {\n required: true,\n type: \"string\",\n validation: \"^(first|last|after:\\\\d+)$\"\n }\n },\n url: \"/projects/columns/:column_id/moves\"\n },\n removeCollaborator: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"DELETE\",\n params: {\n project_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/projects/:project_id/collaborators/:username\"\n },\n reviewUserPermissionLevel: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: {\n project_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/projects/:project_id/collaborators/:username/permission\"\n },\n update: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"PATCH\",\n params: {\n body: { type: \"string\" },\n name: { type: \"string\" },\n organization_permission: { type: \"string\" },\n private: { type: \"boolean\" },\n project_id: { required: true, type: \"integer\" },\n state: { enum: [\"open\", \"closed\"], type: \"string\" }\n },\n url: \"/projects/:project_id\"\n },\n updateCard: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"PATCH\",\n params: {\n archived: { type: \"boolean\" },\n card_id: { required: true, type: \"integer\" },\n note: { type: \"string\" }\n },\n url: \"/projects/columns/cards/:card_id\"\n },\n updateColumn: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"PATCH\",\n params: {\n column_id: { required: true, type: \"integer\" },\n name: { required: true, type: \"string\" }\n },\n url: \"/projects/columns/:column_id\"\n }\n },\n pulls: {\n checkIfMerged: {\n method: \"GET\",\n params: {\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/merge\"\n },\n create: {\n method: \"POST\",\n params: {\n base: { required: true, type: \"string\" },\n body: { type: \"string\" },\n draft: { type: \"boolean\" },\n head: { required: true, type: \"string\" },\n maintainer_can_modify: { type: \"boolean\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n title: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls\"\n },\n createComment: {\n method: \"POST\",\n params: {\n body: { required: true, type: \"string\" },\n commit_id: { required: true, type: \"string\" },\n in_reply_to: {\n deprecated: true,\n description: \"The comment ID to reply to. **Note**: This must be the ID of a top-level comment, not a reply to that comment. Replies to replies are not supported.\",\n type: \"integer\"\n },\n line: { type: \"integer\" },\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n path: { required: true, type: \"string\" },\n position: { type: \"integer\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n side: { enum: [\"LEFT\", \"RIGHT\"], type: \"string\" },\n start_line: { type: \"integer\" },\n start_side: { enum: [\"LEFT\", \"RIGHT\", \"side\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/comments\"\n },\n createCommentReply: {\n deprecated: \"octokit.pulls.createCommentReply() has been renamed to octokit.pulls.createComment() (2019-09-09)\",\n method: \"POST\",\n params: {\n body: { required: true, type: \"string\" },\n commit_id: { required: true, type: \"string\" },\n in_reply_to: {\n deprecated: true,\n description: \"The comment ID to reply to. **Note**: This must be the ID of a top-level comment, not a reply to that comment. Replies to replies are not supported.\",\n type: \"integer\"\n },\n line: { type: \"integer\" },\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n path: { required: true, type: \"string\" },\n position: { type: \"integer\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n side: { enum: [\"LEFT\", \"RIGHT\"], type: \"string\" },\n start_line: { type: \"integer\" },\n start_side: { enum: [\"LEFT\", \"RIGHT\", \"side\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/comments\"\n },\n createFromIssue: {\n deprecated: \"octokit.pulls.createFromIssue() is deprecated, see https://developer.github.com/v3/pulls/#create-a-pull-request\",\n method: \"POST\",\n params: {\n base: { required: true, type: \"string\" },\n draft: { type: \"boolean\" },\n head: { required: true, type: \"string\" },\n issue: { required: true, type: \"integer\" },\n maintainer_can_modify: { type: \"boolean\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls\"\n },\n createReview: {\n method: \"POST\",\n params: {\n body: { type: \"string\" },\n comments: { type: \"object[]\" },\n \"comments[].body\": { required: true, type: \"string\" },\n \"comments[].path\": { required: true, type: \"string\" },\n \"comments[].position\": { required: true, type: \"integer\" },\n commit_id: { type: \"string\" },\n event: {\n enum: [\"APPROVE\", \"REQUEST_CHANGES\", \"COMMENT\"],\n type: \"string\"\n },\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/reviews\"\n },\n createReviewCommentReply: {\n method: \"POST\",\n params: {\n body: { required: true, type: \"string\" },\n comment_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/comments/:comment_id/replies\"\n },\n createReviewRequest: {\n method: \"POST\",\n params: {\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n reviewers: { type: \"string[]\" },\n team_reviewers: { type: \"string[]\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/requested_reviewers\"\n },\n deleteComment: {\n method: \"DELETE\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/comments/:comment_id\"\n },\n deletePendingReview: {\n method: \"DELETE\",\n params: {\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n review_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id\"\n },\n deleteReviewRequest: {\n method: \"DELETE\",\n params: {\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n reviewers: { type: \"string[]\" },\n team_reviewers: { type: \"string[]\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/requested_reviewers\"\n },\n dismissReview: {\n method: \"PUT\",\n params: {\n message: { required: true, type: \"string\" },\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n review_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/dismissals\"\n },\n get: {\n method: \"GET\",\n params: {\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number\"\n },\n getComment: {\n method: \"GET\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/comments/:comment_id\"\n },\n getCommentsForReview: {\n method: \"GET\",\n params: {\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n review_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/comments\"\n },\n getReview: {\n method: \"GET\",\n params: {\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n review_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id\"\n },\n list: {\n method: \"GET\",\n params: {\n base: { type: \"string\" },\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n head: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n sort: {\n enum: [\"created\", \"updated\", \"popularity\", \"long-running\"],\n type: \"string\"\n },\n state: { enum: [\"open\", \"closed\", \"all\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls\"\n },\n listComments: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n since: { type: \"string\" },\n sort: { enum: [\"created\", \"updated\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/comments\"\n },\n listCommentsForRepo: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n since: { type: \"string\" },\n sort: { enum: [\"created\", \"updated\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/comments\"\n },\n listCommits: {\n method: \"GET\",\n params: {\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/commits\"\n },\n listFiles: {\n method: \"GET\",\n params: {\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/files\"\n },\n listReviewRequests: {\n method: \"GET\",\n params: {\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/requested_reviewers\"\n },\n listReviews: {\n method: \"GET\",\n params: {\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/reviews\"\n },\n merge: {\n method: \"PUT\",\n params: {\n commit_message: { type: \"string\" },\n commit_title: { type: \"string\" },\n merge_method: { enum: [\"merge\", \"squash\", \"rebase\"], type: \"string\" },\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n sha: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/merge\"\n },\n submitReview: {\n method: \"POST\",\n params: {\n body: { type: \"string\" },\n event: {\n enum: [\"APPROVE\", \"REQUEST_CHANGES\", \"COMMENT\"],\n required: true,\n type: \"string\"\n },\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n review_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/events\"\n },\n update: {\n method: \"PATCH\",\n params: {\n base: { type: \"string\" },\n body: { type: \"string\" },\n maintainer_can_modify: { type: \"boolean\" },\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n state: { enum: [\"open\", \"closed\"], type: \"string\" },\n title: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number\"\n },\n updateBranch: {\n headers: { accept: \"application/vnd.github.lydian-preview+json\" },\n method: \"PUT\",\n params: {\n expected_head_sha: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/update-branch\"\n },\n updateComment: {\n method: \"PATCH\",\n params: {\n body: { required: true, type: \"string\" },\n comment_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/comments/:comment_id\"\n },\n updateReview: {\n method: \"PUT\",\n params: {\n body: { required: true, type: \"string\" },\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n review_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id\"\n }\n },\n rateLimit: { get: { method: \"GET\", params: {}, url: \"/rate_limit\" } },\n reactions: {\n createForCommitComment: {\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"POST\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n required: true,\n type: \"string\"\n },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/comments/:comment_id/reactions\"\n },\n createForIssue: {\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"POST\",\n params: {\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n required: true,\n type: \"string\"\n },\n issue_number: { required: true, type: \"integer\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/reactions\"\n },\n createForIssueComment: {\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"POST\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n required: true,\n type: \"string\"\n },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/comments/:comment_id/reactions\"\n },\n createForPullRequestReviewComment: {\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"POST\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n required: true,\n type: \"string\"\n },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/comments/:comment_id/reactions\"\n },\n createForTeamDiscussion: {\n deprecated: \"octokit.reactions.createForTeamDiscussion() has been renamed to octokit.reactions.createForTeamDiscussionLegacy() (2020-01-16)\",\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"POST\",\n params: {\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n required: true,\n type: \"string\"\n },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/reactions\"\n },\n createForTeamDiscussionComment: {\n deprecated: \"octokit.reactions.createForTeamDiscussionComment() has been renamed to octokit.reactions.createForTeamDiscussionCommentLegacy() (2020-01-16)\",\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"POST\",\n params: {\n comment_number: { required: true, type: \"integer\" },\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n required: true,\n type: \"string\"\n },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions\"\n },\n createForTeamDiscussionCommentInOrg: {\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"POST\",\n params: {\n comment_number: { required: true, type: \"integer\" },\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n required: true,\n type: \"string\"\n },\n discussion_number: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions\"\n },\n createForTeamDiscussionCommentLegacy: {\n deprecated: \"octokit.reactions.createForTeamDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-comment-legacy\",\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"POST\",\n params: {\n comment_number: { required: true, type: \"integer\" },\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n required: true,\n type: \"string\"\n },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions\"\n },\n createForTeamDiscussionInOrg: {\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"POST\",\n params: {\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n required: true,\n type: \"string\"\n },\n discussion_number: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions\"\n },\n createForTeamDiscussionLegacy: {\n deprecated: \"octokit.reactions.createForTeamDiscussionLegacy() is deprecated, see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-legacy\",\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"POST\",\n params: {\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n required: true,\n type: \"string\"\n },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/reactions\"\n },\n delete: {\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"DELETE\",\n params: { reaction_id: { required: true, type: \"integer\" } },\n url: \"/reactions/:reaction_id\"\n },\n listForCommitComment: {\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"GET\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n type: \"string\"\n },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/comments/:comment_id/reactions\"\n },\n listForIssue: {\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"GET\",\n params: {\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n type: \"string\"\n },\n issue_number: { required: true, type: \"integer\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/reactions\"\n },\n listForIssueComment: {\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"GET\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n type: \"string\"\n },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/comments/:comment_id/reactions\"\n },\n listForPullRequestReviewComment: {\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"GET\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n type: \"string\"\n },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/comments/:comment_id/reactions\"\n },\n listForTeamDiscussion: {\n deprecated: \"octokit.reactions.listForTeamDiscussion() has been renamed to octokit.reactions.listForTeamDiscussionLegacy() (2020-01-16)\",\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"GET\",\n params: {\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n type: \"string\"\n },\n discussion_number: { required: true, type: \"integer\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/reactions\"\n },\n listForTeamDiscussionComment: {\n deprecated: \"octokit.reactions.listForTeamDiscussionComment() has been renamed to octokit.reactions.listForTeamDiscussionCommentLegacy() (2020-01-16)\",\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"GET\",\n params: {\n comment_number: { required: true, type: \"integer\" },\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n type: \"string\"\n },\n discussion_number: { required: true, type: \"integer\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions\"\n },\n listForTeamDiscussionCommentInOrg: {\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"GET\",\n params: {\n comment_number: { required: true, type: \"integer\" },\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n type: \"string\"\n },\n discussion_number: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions\"\n },\n listForTeamDiscussionCommentLegacy: {\n deprecated: \"octokit.reactions.listForTeamDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-comment-legacy\",\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"GET\",\n params: {\n comment_number: { required: true, type: \"integer\" },\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n type: \"string\"\n },\n discussion_number: { required: true, type: \"integer\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions\"\n },\n listForTeamDiscussionInOrg: {\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"GET\",\n params: {\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n type: \"string\"\n },\n discussion_number: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions\"\n },\n listForTeamDiscussionLegacy: {\n deprecated: \"octokit.reactions.listForTeamDiscussionLegacy() is deprecated, see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-legacy\",\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"GET\",\n params: {\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n type: \"string\"\n },\n discussion_number: { required: true, type: \"integer\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/reactions\"\n }\n },\n repos: {\n acceptInvitation: {\n method: \"PATCH\",\n params: { invitation_id: { required: true, type: \"integer\" } },\n url: \"/user/repository_invitations/:invitation_id\"\n },\n addCollaborator: {\n method: \"PUT\",\n params: {\n owner: { required: true, type: \"string\" },\n permission: { enum: [\"pull\", \"push\", \"admin\"], type: \"string\" },\n repo: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/collaborators/:username\"\n },\n addDeployKey: {\n method: \"POST\",\n params: {\n key: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n read_only: { type: \"boolean\" },\n repo: { required: true, type: \"string\" },\n title: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/keys\"\n },\n addProtectedBranchAdminEnforcement: {\n method: \"POST\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/enforce_admins\"\n },\n addProtectedBranchAppRestrictions: {\n method: \"POST\",\n params: {\n apps: { mapTo: \"data\", required: true, type: \"string[]\" },\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/apps\"\n },\n addProtectedBranchRequiredSignatures: {\n headers: { accept: \"application/vnd.github.zzzax-preview+json\" },\n method: \"POST\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/required_signatures\"\n },\n addProtectedBranchRequiredStatusChecksContexts: {\n method: \"POST\",\n params: {\n branch: { required: true, type: \"string\" },\n contexts: { mapTo: \"data\", required: true, type: \"string[]\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts\"\n },\n addProtectedBranchTeamRestrictions: {\n method: \"POST\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n teams: { mapTo: \"data\", required: true, type: \"string[]\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/teams\"\n },\n addProtectedBranchUserRestrictions: {\n method: \"POST\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n users: { mapTo: \"data\", required: true, type: \"string[]\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/users\"\n },\n checkCollaborator: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/collaborators/:username\"\n },\n checkVulnerabilityAlerts: {\n headers: { accept: \"application/vnd.github.dorian-preview+json\" },\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/vulnerability-alerts\"\n },\n compareCommits: {\n method: \"GET\",\n params: {\n base: { required: true, type: \"string\" },\n head: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/compare/:base...:head\"\n },\n createCommitComment: {\n method: \"POST\",\n params: {\n body: { required: true, type: \"string\" },\n commit_sha: { required: true, type: \"string\" },\n line: { type: \"integer\" },\n owner: { required: true, type: \"string\" },\n path: { type: \"string\" },\n position: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n sha: { alias: \"commit_sha\", deprecated: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/commits/:commit_sha/comments\"\n },\n createDeployment: {\n method: \"POST\",\n params: {\n auto_merge: { type: \"boolean\" },\n description: { type: \"string\" },\n environment: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n payload: { type: \"string\" },\n production_environment: { type: \"boolean\" },\n ref: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n required_contexts: { type: \"string[]\" },\n task: { type: \"string\" },\n transient_environment: { type: \"boolean\" }\n },\n url: \"/repos/:owner/:repo/deployments\"\n },\n createDeploymentStatus: {\n method: \"POST\",\n params: {\n auto_inactive: { type: \"boolean\" },\n deployment_id: { required: true, type: \"integer\" },\n description: { type: \"string\" },\n environment: { enum: [\"production\", \"staging\", \"qa\"], type: \"string\" },\n environment_url: { type: \"string\" },\n log_url: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n state: {\n enum: [\n \"error\",\n \"failure\",\n \"inactive\",\n \"in_progress\",\n \"queued\",\n \"pending\",\n \"success\"\n ],\n required: true,\n type: \"string\"\n },\n target_url: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/deployments/:deployment_id/statuses\"\n },\n createDispatchEvent: {\n method: \"POST\",\n params: {\n client_payload: { type: \"object\" },\n event_type: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/dispatches\"\n },\n createFile: {\n deprecated: \"octokit.repos.createFile() has been renamed to octokit.repos.createOrUpdateFile() (2019-06-07)\",\n method: \"PUT\",\n params: {\n author: { type: \"object\" },\n \"author.email\": { required: true, type: \"string\" },\n \"author.name\": { required: true, type: \"string\" },\n branch: { type: \"string\" },\n committer: { type: \"object\" },\n \"committer.email\": { required: true, type: \"string\" },\n \"committer.name\": { required: true, type: \"string\" },\n content: { required: true, type: \"string\" },\n message: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n path: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n sha: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/contents/:path\"\n },\n createForAuthenticatedUser: {\n method: \"POST\",\n params: {\n allow_merge_commit: { type: \"boolean\" },\n allow_rebase_merge: { type: \"boolean\" },\n allow_squash_merge: { type: \"boolean\" },\n auto_init: { type: \"boolean\" },\n delete_branch_on_merge: { type: \"boolean\" },\n description: { type: \"string\" },\n gitignore_template: { type: \"string\" },\n has_issues: { type: \"boolean\" },\n has_projects: { type: \"boolean\" },\n has_wiki: { type: \"boolean\" },\n homepage: { type: \"string\" },\n is_template: { type: \"boolean\" },\n license_template: { type: \"string\" },\n name: { required: true, type: \"string\" },\n private: { type: \"boolean\" },\n team_id: { type: \"integer\" },\n visibility: {\n enum: [\"public\", \"private\", \"visibility\", \"internal\"],\n type: \"string\"\n }\n },\n url: \"/user/repos\"\n },\n createFork: {\n method: \"POST\",\n params: {\n organization: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/forks\"\n },\n createHook: {\n method: \"POST\",\n params: {\n active: { type: \"boolean\" },\n config: { required: true, type: \"object\" },\n \"config.content_type\": { type: \"string\" },\n \"config.insecure_ssl\": { type: \"string\" },\n \"config.secret\": { type: \"string\" },\n \"config.url\": { required: true, type: \"string\" },\n events: { type: \"string[]\" },\n name: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/hooks\"\n },\n createInOrg: {\n method: \"POST\",\n params: {\n allow_merge_commit: { type: \"boolean\" },\n allow_rebase_merge: { type: \"boolean\" },\n allow_squash_merge: { type: \"boolean\" },\n auto_init: { type: \"boolean\" },\n delete_branch_on_merge: { type: \"boolean\" },\n description: { type: \"string\" },\n gitignore_template: { type: \"string\" },\n has_issues: { type: \"boolean\" },\n has_projects: { type: \"boolean\" },\n has_wiki: { type: \"boolean\" },\n homepage: { type: \"string\" },\n is_template: { type: \"boolean\" },\n license_template: { type: \"string\" },\n name: { required: true, type: \"string\" },\n org: { required: true, type: \"string\" },\n private: { type: \"boolean\" },\n team_id: { type: \"integer\" },\n visibility: {\n enum: [\"public\", \"private\", \"visibility\", \"internal\"],\n type: \"string\"\n }\n },\n url: \"/orgs/:org/repos\"\n },\n createOrUpdateFile: {\n method: \"PUT\",\n params: {\n author: { type: \"object\" },\n \"author.email\": { required: true, type: \"string\" },\n \"author.name\": { required: true, type: \"string\" },\n branch: { type: \"string\" },\n committer: { type: \"object\" },\n \"committer.email\": { required: true, type: \"string\" },\n \"committer.name\": { required: true, type: \"string\" },\n content: { required: true, type: \"string\" },\n message: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n path: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n sha: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/contents/:path\"\n },\n createRelease: {\n method: \"POST\",\n params: {\n body: { type: \"string\" },\n draft: { type: \"boolean\" },\n name: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n prerelease: { type: \"boolean\" },\n repo: { required: true, type: \"string\" },\n tag_name: { required: true, type: \"string\" },\n target_commitish: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/releases\"\n },\n createStatus: {\n method: \"POST\",\n params: {\n context: { type: \"string\" },\n description: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n sha: { required: true, type: \"string\" },\n state: {\n enum: [\"error\", \"failure\", \"pending\", \"success\"],\n required: true,\n type: \"string\"\n },\n target_url: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/statuses/:sha\"\n },\n createUsingTemplate: {\n headers: { accept: \"application/vnd.github.baptiste-preview+json\" },\n method: \"POST\",\n params: {\n description: { type: \"string\" },\n name: { required: true, type: \"string\" },\n owner: { type: \"string\" },\n private: { type: \"boolean\" },\n template_owner: { required: true, type: \"string\" },\n template_repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:template_owner/:template_repo/generate\"\n },\n declineInvitation: {\n method: \"DELETE\",\n params: { invitation_id: { required: true, type: \"integer\" } },\n url: \"/user/repository_invitations/:invitation_id\"\n },\n delete: {\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo\"\n },\n deleteCommitComment: {\n method: \"DELETE\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/comments/:comment_id\"\n },\n deleteDownload: {\n method: \"DELETE\",\n params: {\n download_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/downloads/:download_id\"\n },\n deleteFile: {\n method: \"DELETE\",\n params: {\n author: { type: \"object\" },\n \"author.email\": { type: \"string\" },\n \"author.name\": { type: \"string\" },\n branch: { type: \"string\" },\n committer: { type: \"object\" },\n \"committer.email\": { type: \"string\" },\n \"committer.name\": { type: \"string\" },\n message: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n path: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n sha: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/contents/:path\"\n },\n deleteHook: {\n method: \"DELETE\",\n params: {\n hook_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/hooks/:hook_id\"\n },\n deleteInvitation: {\n method: \"DELETE\",\n params: {\n invitation_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/invitations/:invitation_id\"\n },\n deleteRelease: {\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n release_id: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/releases/:release_id\"\n },\n deleteReleaseAsset: {\n method: \"DELETE\",\n params: {\n asset_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/releases/assets/:asset_id\"\n },\n disableAutomatedSecurityFixes: {\n headers: { accept: \"application/vnd.github.london-preview+json\" },\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/automated-security-fixes\"\n },\n disablePagesSite: {\n headers: { accept: \"application/vnd.github.switcheroo-preview+json\" },\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pages\"\n },\n disableVulnerabilityAlerts: {\n headers: { accept: \"application/vnd.github.dorian-preview+json\" },\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/vulnerability-alerts\"\n },\n enableAutomatedSecurityFixes: {\n headers: { accept: \"application/vnd.github.london-preview+json\" },\n method: \"PUT\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/automated-security-fixes\"\n },\n enablePagesSite: {\n headers: { accept: \"application/vnd.github.switcheroo-preview+json\" },\n method: \"POST\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n source: { type: \"object\" },\n \"source.branch\": { enum: [\"master\", \"gh-pages\"], type: \"string\" },\n \"source.path\": { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pages\"\n },\n enableVulnerabilityAlerts: {\n headers: { accept: \"application/vnd.github.dorian-preview+json\" },\n method: \"PUT\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/vulnerability-alerts\"\n },\n get: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo\"\n },\n getAppsWithAccessToProtectedBranch: {\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/apps\"\n },\n getArchiveLink: {\n method: \"GET\",\n params: {\n archive_format: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n ref: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/:archive_format/:ref\"\n },\n getBranch: {\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch\"\n },\n getBranchProtection: {\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection\"\n },\n getClones: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n per: { enum: [\"day\", \"week\"], type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/traffic/clones\"\n },\n getCodeFrequencyStats: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/stats/code_frequency\"\n },\n getCollaboratorPermissionLevel: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/collaborators/:username/permission\"\n },\n getCombinedStatusForRef: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n ref: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/commits/:ref/status\"\n },\n getCommit: {\n method: \"GET\",\n params: {\n commit_sha: { alias: \"ref\", deprecated: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n ref: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n sha: { alias: \"ref\", deprecated: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/commits/:ref\"\n },\n getCommitActivityStats: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/stats/commit_activity\"\n },\n getCommitComment: {\n method: \"GET\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/comments/:comment_id\"\n },\n getCommitRefSha: {\n deprecated: \"octokit.repos.getCommitRefSha() is deprecated, see https://developer.github.com/v3/repos/commits/#get-a-single-commit\",\n headers: { accept: \"application/vnd.github.v3.sha\" },\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n ref: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/commits/:ref\"\n },\n getContents: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n path: { required: true, type: \"string\" },\n ref: { type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/contents/:path\"\n },\n getContributorsStats: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/stats/contributors\"\n },\n getDeployKey: {\n method: \"GET\",\n params: {\n key_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/keys/:key_id\"\n },\n getDeployment: {\n method: \"GET\",\n params: {\n deployment_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/deployments/:deployment_id\"\n },\n getDeploymentStatus: {\n method: \"GET\",\n params: {\n deployment_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n status_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/deployments/:deployment_id/statuses/:status_id\"\n },\n getDownload: {\n method: \"GET\",\n params: {\n download_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/downloads/:download_id\"\n },\n getHook: {\n method: \"GET\",\n params: {\n hook_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/hooks/:hook_id\"\n },\n getLatestPagesBuild: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pages/builds/latest\"\n },\n getLatestRelease: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/releases/latest\"\n },\n getPages: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pages\"\n },\n getPagesBuild: {\n method: \"GET\",\n params: {\n build_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pages/builds/:build_id\"\n },\n getParticipationStats: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/stats/participation\"\n },\n getProtectedBranchAdminEnforcement: {\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/enforce_admins\"\n },\n getProtectedBranchPullRequestReviewEnforcement: {\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews\"\n },\n getProtectedBranchRequiredSignatures: {\n headers: { accept: \"application/vnd.github.zzzax-preview+json\" },\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/required_signatures\"\n },\n getProtectedBranchRequiredStatusChecks: {\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/required_status_checks\"\n },\n getProtectedBranchRestrictions: {\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions\"\n },\n getPunchCardStats: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/stats/punch_card\"\n },\n getReadme: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n ref: { type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/readme\"\n },\n getRelease: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n release_id: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/releases/:release_id\"\n },\n getReleaseAsset: {\n method: \"GET\",\n params: {\n asset_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/releases/assets/:asset_id\"\n },\n getReleaseByTag: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n tag: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/releases/tags/:tag\"\n },\n getTeamsWithAccessToProtectedBranch: {\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/teams\"\n },\n getTopPaths: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/traffic/popular/paths\"\n },\n getTopReferrers: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/traffic/popular/referrers\"\n },\n getUsersWithAccessToProtectedBranch: {\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/users\"\n },\n getViews: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n per: { enum: [\"day\", \"week\"], type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/traffic/views\"\n },\n list: {\n method: \"GET\",\n params: {\n affiliation: { type: \"string\" },\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n sort: {\n enum: [\"created\", \"updated\", \"pushed\", \"full_name\"],\n type: \"string\"\n },\n type: {\n enum: [\"all\", \"owner\", \"public\", \"private\", \"member\"],\n type: \"string\"\n },\n visibility: { enum: [\"all\", \"public\", \"private\"], type: \"string\" }\n },\n url: \"/user/repos\"\n },\n listAppsWithAccessToProtectedBranch: {\n deprecated: \"octokit.repos.listAppsWithAccessToProtectedBranch() has been renamed to octokit.repos.getAppsWithAccessToProtectedBranch() (2019-09-13)\",\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/apps\"\n },\n listAssetsForRelease: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n release_id: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/releases/:release_id/assets\"\n },\n listBranches: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n protected: { type: \"boolean\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches\"\n },\n listBranchesForHeadCommit: {\n headers: { accept: \"application/vnd.github.groot-preview+json\" },\n method: \"GET\",\n params: {\n commit_sha: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/commits/:commit_sha/branches-where-head\"\n },\n listCollaborators: {\n method: \"GET\",\n params: {\n affiliation: { enum: [\"outside\", \"direct\", \"all\"], type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/collaborators\"\n },\n listCommentsForCommit: {\n method: \"GET\",\n params: {\n commit_sha: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n ref: { alias: \"commit_sha\", deprecated: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/commits/:commit_sha/comments\"\n },\n listCommitComments: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/comments\"\n },\n listCommits: {\n method: \"GET\",\n params: {\n author: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n path: { type: \"string\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n sha: { type: \"string\" },\n since: { type: \"string\" },\n until: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/commits\"\n },\n listContributors: {\n method: \"GET\",\n params: {\n anon: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/contributors\"\n },\n listDeployKeys: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/keys\"\n },\n listDeploymentStatuses: {\n method: \"GET\",\n params: {\n deployment_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/deployments/:deployment_id/statuses\"\n },\n listDeployments: {\n method: \"GET\",\n params: {\n environment: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n ref: { type: \"string\" },\n repo: { required: true, type: \"string\" },\n sha: { type: \"string\" },\n task: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/deployments\"\n },\n listDownloads: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/downloads\"\n },\n listForOrg: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n sort: {\n enum: [\"created\", \"updated\", \"pushed\", \"full_name\"],\n type: \"string\"\n },\n type: {\n enum: [\n \"all\",\n \"public\",\n \"private\",\n \"forks\",\n \"sources\",\n \"member\",\n \"internal\"\n ],\n type: \"string\"\n }\n },\n url: \"/orgs/:org/repos\"\n },\n listForUser: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n sort: {\n enum: [\"created\", \"updated\", \"pushed\", \"full_name\"],\n type: \"string\"\n },\n type: { enum: [\"all\", \"owner\", \"member\"], type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/repos\"\n },\n listForks: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n sort: { enum: [\"newest\", \"oldest\", \"stargazers\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/forks\"\n },\n listHooks: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/hooks\"\n },\n listInvitations: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/invitations\"\n },\n listInvitationsForAuthenticatedUser: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/repository_invitations\"\n },\n listLanguages: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/languages\"\n },\n listPagesBuilds: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pages/builds\"\n },\n listProtectedBranchRequiredStatusChecksContexts: {\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts\"\n },\n listProtectedBranchTeamRestrictions: {\n deprecated: \"octokit.repos.listProtectedBranchTeamRestrictions() has been renamed to octokit.repos.getTeamsWithAccessToProtectedBranch() (2019-09-09)\",\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/teams\"\n },\n listProtectedBranchUserRestrictions: {\n deprecated: \"octokit.repos.listProtectedBranchUserRestrictions() has been renamed to octokit.repos.getUsersWithAccessToProtectedBranch() (2019-09-09)\",\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/users\"\n },\n listPublic: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n since: { type: \"integer\" }\n },\n url: \"/repositories\"\n },\n listPullRequestsAssociatedWithCommit: {\n headers: { accept: \"application/vnd.github.groot-preview+json\" },\n method: \"GET\",\n params: {\n commit_sha: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/commits/:commit_sha/pulls\"\n },\n listReleases: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/releases\"\n },\n listStatusesForRef: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n ref: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/commits/:ref/statuses\"\n },\n listTags: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/tags\"\n },\n listTeams: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/teams\"\n },\n listTeamsWithAccessToProtectedBranch: {\n deprecated: \"octokit.repos.listTeamsWithAccessToProtectedBranch() has been renamed to octokit.repos.getTeamsWithAccessToProtectedBranch() (2019-09-13)\",\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/teams\"\n },\n listTopics: {\n headers: { accept: \"application/vnd.github.mercy-preview+json\" },\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/topics\"\n },\n listUsersWithAccessToProtectedBranch: {\n deprecated: \"octokit.repos.listUsersWithAccessToProtectedBranch() has been renamed to octokit.repos.getUsersWithAccessToProtectedBranch() (2019-09-13)\",\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/users\"\n },\n merge: {\n method: \"POST\",\n params: {\n base: { required: true, type: \"string\" },\n commit_message: { type: \"string\" },\n head: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/merges\"\n },\n pingHook: {\n method: \"POST\",\n params: {\n hook_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/hooks/:hook_id/pings\"\n },\n removeBranchProtection: {\n method: \"DELETE\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection\"\n },\n removeCollaborator: {\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/collaborators/:username\"\n },\n removeDeployKey: {\n method: \"DELETE\",\n params: {\n key_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/keys/:key_id\"\n },\n removeProtectedBranchAdminEnforcement: {\n method: \"DELETE\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/enforce_admins\"\n },\n removeProtectedBranchAppRestrictions: {\n method: \"DELETE\",\n params: {\n apps: { mapTo: \"data\", required: true, type: \"string[]\" },\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/apps\"\n },\n removeProtectedBranchPullRequestReviewEnforcement: {\n method: \"DELETE\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews\"\n },\n removeProtectedBranchRequiredSignatures: {\n headers: { accept: \"application/vnd.github.zzzax-preview+json\" },\n method: \"DELETE\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/required_signatures\"\n },\n removeProtectedBranchRequiredStatusChecks: {\n method: \"DELETE\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/required_status_checks\"\n },\n removeProtectedBranchRequiredStatusChecksContexts: {\n method: \"DELETE\",\n params: {\n branch: { required: true, type: \"string\" },\n contexts: { mapTo: \"data\", required: true, type: \"string[]\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts\"\n },\n removeProtectedBranchRestrictions: {\n method: \"DELETE\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions\"\n },\n removeProtectedBranchTeamRestrictions: {\n method: \"DELETE\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n teams: { mapTo: \"data\", required: true, type: \"string[]\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/teams\"\n },\n removeProtectedBranchUserRestrictions: {\n method: \"DELETE\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n users: { mapTo: \"data\", required: true, type: \"string[]\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/users\"\n },\n replaceProtectedBranchAppRestrictions: {\n method: \"PUT\",\n params: {\n apps: { mapTo: \"data\", required: true, type: \"string[]\" },\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/apps\"\n },\n replaceProtectedBranchRequiredStatusChecksContexts: {\n method: \"PUT\",\n params: {\n branch: { required: true, type: \"string\" },\n contexts: { mapTo: \"data\", required: true, type: \"string[]\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts\"\n },\n replaceProtectedBranchTeamRestrictions: {\n method: \"PUT\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n teams: { mapTo: \"data\", required: true, type: \"string[]\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/teams\"\n },\n replaceProtectedBranchUserRestrictions: {\n method: \"PUT\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n users: { mapTo: \"data\", required: true, type: \"string[]\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/users\"\n },\n replaceTopics: {\n headers: { accept: \"application/vnd.github.mercy-preview+json\" },\n method: \"PUT\",\n params: {\n names: { required: true, type: \"string[]\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/topics\"\n },\n requestPageBuild: {\n method: \"POST\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pages/builds\"\n },\n retrieveCommunityProfileMetrics: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/community/profile\"\n },\n testPushHook: {\n method: \"POST\",\n params: {\n hook_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/hooks/:hook_id/tests\"\n },\n transfer: {\n method: \"POST\",\n params: {\n new_owner: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n team_ids: { type: \"integer[]\" }\n },\n url: \"/repos/:owner/:repo/transfer\"\n },\n update: {\n method: \"PATCH\",\n params: {\n allow_merge_commit: { type: \"boolean\" },\n allow_rebase_merge: { type: \"boolean\" },\n allow_squash_merge: { type: \"boolean\" },\n archived: { type: \"boolean\" },\n default_branch: { type: \"string\" },\n delete_branch_on_merge: { type: \"boolean\" },\n description: { type: \"string\" },\n has_issues: { type: \"boolean\" },\n has_projects: { type: \"boolean\" },\n has_wiki: { type: \"boolean\" },\n homepage: { type: \"string\" },\n is_template: { type: \"boolean\" },\n name: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n private: { type: \"boolean\" },\n repo: { required: true, type: \"string\" },\n visibility: {\n enum: [\"public\", \"private\", \"visibility\", \"internal\"],\n type: \"string\"\n }\n },\n url: \"/repos/:owner/:repo\"\n },\n updateBranchProtection: {\n method: \"PUT\",\n params: {\n allow_deletions: { type: \"boolean\" },\n allow_force_pushes: { allowNull: true, type: \"boolean\" },\n branch: { required: true, type: \"string\" },\n enforce_admins: { allowNull: true, required: true, type: \"boolean\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n required_linear_history: { type: \"boolean\" },\n required_pull_request_reviews: {\n allowNull: true,\n required: true,\n type: \"object\"\n },\n \"required_pull_request_reviews.dismiss_stale_reviews\": {\n type: \"boolean\"\n },\n \"required_pull_request_reviews.dismissal_restrictions\": {\n type: \"object\"\n },\n \"required_pull_request_reviews.dismissal_restrictions.teams\": {\n type: \"string[]\"\n },\n \"required_pull_request_reviews.dismissal_restrictions.users\": {\n type: \"string[]\"\n },\n \"required_pull_request_reviews.require_code_owner_reviews\": {\n type: \"boolean\"\n },\n \"required_pull_request_reviews.required_approving_review_count\": {\n type: \"integer\"\n },\n required_status_checks: {\n allowNull: true,\n required: true,\n type: \"object\"\n },\n \"required_status_checks.contexts\": { required: true, type: \"string[]\" },\n \"required_status_checks.strict\": { required: true, type: \"boolean\" },\n restrictions: { allowNull: true, required: true, type: \"object\" },\n \"restrictions.apps\": { type: \"string[]\" },\n \"restrictions.teams\": { required: true, type: \"string[]\" },\n \"restrictions.users\": { required: true, type: \"string[]\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection\"\n },\n updateCommitComment: {\n method: \"PATCH\",\n params: {\n body: { required: true, type: \"string\" },\n comment_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/comments/:comment_id\"\n },\n updateFile: {\n deprecated: \"octokit.repos.updateFile() has been renamed to octokit.repos.createOrUpdateFile() (2019-06-07)\",\n method: \"PUT\",\n params: {\n author: { type: \"object\" },\n \"author.email\": { required: true, type: \"string\" },\n \"author.name\": { required: true, type: \"string\" },\n branch: { type: \"string\" },\n committer: { type: \"object\" },\n \"committer.email\": { required: true, type: \"string\" },\n \"committer.name\": { required: true, type: \"string\" },\n content: { required: true, type: \"string\" },\n message: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n path: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n sha: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/contents/:path\"\n },\n updateHook: {\n method: \"PATCH\",\n params: {\n active: { type: \"boolean\" },\n add_events: { type: \"string[]\" },\n config: { type: \"object\" },\n \"config.content_type\": { type: \"string\" },\n \"config.insecure_ssl\": { type: \"string\" },\n \"config.secret\": { type: \"string\" },\n \"config.url\": { required: true, type: \"string\" },\n events: { type: \"string[]\" },\n hook_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n remove_events: { type: \"string[]\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/hooks/:hook_id\"\n },\n updateInformationAboutPagesSite: {\n method: \"PUT\",\n params: {\n cname: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n source: {\n enum: ['\"gh-pages\"', '\"master\"', '\"master /docs\"'],\n type: \"string\"\n }\n },\n url: \"/repos/:owner/:repo/pages\"\n },\n updateInvitation: {\n method: \"PATCH\",\n params: {\n invitation_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n permissions: { enum: [\"read\", \"write\", \"admin\"], type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/invitations/:invitation_id\"\n },\n updateProtectedBranchPullRequestReviewEnforcement: {\n method: \"PATCH\",\n params: {\n branch: { required: true, type: \"string\" },\n dismiss_stale_reviews: { type: \"boolean\" },\n dismissal_restrictions: { type: \"object\" },\n \"dismissal_restrictions.teams\": { type: \"string[]\" },\n \"dismissal_restrictions.users\": { type: \"string[]\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n require_code_owner_reviews: { type: \"boolean\" },\n required_approving_review_count: { type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews\"\n },\n updateProtectedBranchRequiredStatusChecks: {\n method: \"PATCH\",\n params: {\n branch: { required: true, type: \"string\" },\n contexts: { type: \"string[]\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n strict: { type: \"boolean\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/required_status_checks\"\n },\n updateRelease: {\n method: \"PATCH\",\n params: {\n body: { type: \"string\" },\n draft: { type: \"boolean\" },\n name: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n prerelease: { type: \"boolean\" },\n release_id: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n tag_name: { type: \"string\" },\n target_commitish: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/releases/:release_id\"\n },\n updateReleaseAsset: {\n method: \"PATCH\",\n params: {\n asset_id: { required: true, type: \"integer\" },\n label: { type: \"string\" },\n name: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/releases/assets/:asset_id\"\n },\n uploadReleaseAsset: {\n method: \"POST\",\n params: {\n data: { mapTo: \"data\", required: true, type: \"string | object\" },\n file: { alias: \"data\", deprecated: true, type: \"string | object\" },\n headers: { required: true, type: \"object\" },\n \"headers.content-length\": { required: true, type: \"integer\" },\n \"headers.content-type\": { required: true, type: \"string\" },\n label: { type: \"string\" },\n name: { required: true, type: \"string\" },\n url: { required: true, type: \"string\" }\n },\n url: \":url\"\n }\n },\n search: {\n code: {\n method: \"GET\",\n params: {\n order: { enum: [\"desc\", \"asc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n q: { required: true, type: \"string\" },\n sort: { enum: [\"indexed\"], type: \"string\" }\n },\n url: \"/search/code\"\n },\n commits: {\n headers: { accept: \"application/vnd.github.cloak-preview+json\" },\n method: \"GET\",\n params: {\n order: { enum: [\"desc\", \"asc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n q: { required: true, type: \"string\" },\n sort: { enum: [\"author-date\", \"committer-date\"], type: \"string\" }\n },\n url: \"/search/commits\"\n },\n issues: {\n deprecated: \"octokit.search.issues() has been renamed to octokit.search.issuesAndPullRequests() (2018-12-27)\",\n method: \"GET\",\n params: {\n order: { enum: [\"desc\", \"asc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n q: { required: true, type: \"string\" },\n sort: {\n enum: [\n \"comments\",\n \"reactions\",\n \"reactions-+1\",\n \"reactions--1\",\n \"reactions-smile\",\n \"reactions-thinking_face\",\n \"reactions-heart\",\n \"reactions-tada\",\n \"interactions\",\n \"created\",\n \"updated\"\n ],\n type: \"string\"\n }\n },\n url: \"/search/issues\"\n },\n issuesAndPullRequests: {\n method: \"GET\",\n params: {\n order: { enum: [\"desc\", \"asc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n q: { required: true, type: \"string\" },\n sort: {\n enum: [\n \"comments\",\n \"reactions\",\n \"reactions-+1\",\n \"reactions--1\",\n \"reactions-smile\",\n \"reactions-thinking_face\",\n \"reactions-heart\",\n \"reactions-tada\",\n \"interactions\",\n \"created\",\n \"updated\"\n ],\n type: \"string\"\n }\n },\n url: \"/search/issues\"\n },\n labels: {\n method: \"GET\",\n params: {\n order: { enum: [\"desc\", \"asc\"], type: \"string\" },\n q: { required: true, type: \"string\" },\n repository_id: { required: true, type: \"integer\" },\n sort: { enum: [\"created\", \"updated\"], type: \"string\" }\n },\n url: \"/search/labels\"\n },\n repos: {\n method: \"GET\",\n params: {\n order: { enum: [\"desc\", \"asc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n q: { required: true, type: \"string\" },\n sort: {\n enum: [\"stars\", \"forks\", \"help-wanted-issues\", \"updated\"],\n type: \"string\"\n }\n },\n url: \"/search/repositories\"\n },\n topics: {\n method: \"GET\",\n params: { q: { required: true, type: \"string\" } },\n url: \"/search/topics\"\n },\n users: {\n method: \"GET\",\n params: {\n order: { enum: [\"desc\", \"asc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n q: { required: true, type: \"string\" },\n sort: { enum: [\"followers\", \"repositories\", \"joined\"], type: \"string\" }\n },\n url: \"/search/users\"\n }\n },\n teams: {\n addMember: {\n deprecated: \"octokit.teams.addMember() has been renamed to octokit.teams.addMemberLegacy() (2020-01-16)\",\n method: \"PUT\",\n params: {\n team_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/members/:username\"\n },\n addMemberLegacy: {\n deprecated: \"octokit.teams.addMemberLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#add-team-member-legacy\",\n method: \"PUT\",\n params: {\n team_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/members/:username\"\n },\n addOrUpdateMembership: {\n deprecated: \"octokit.teams.addOrUpdateMembership() has been renamed to octokit.teams.addOrUpdateMembershipLegacy() (2020-01-16)\",\n method: \"PUT\",\n params: {\n role: { enum: [\"member\", \"maintainer\"], type: \"string\" },\n team_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/memberships/:username\"\n },\n addOrUpdateMembershipInOrg: {\n method: \"PUT\",\n params: {\n org: { required: true, type: \"string\" },\n role: { enum: [\"member\", \"maintainer\"], type: \"string\" },\n team_slug: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/memberships/:username\"\n },\n addOrUpdateMembershipLegacy: {\n deprecated: \"octokit.teams.addOrUpdateMembershipLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#add-or-update-team-membership-legacy\",\n method: \"PUT\",\n params: {\n role: { enum: [\"member\", \"maintainer\"], type: \"string\" },\n team_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/memberships/:username\"\n },\n addOrUpdateProject: {\n deprecated: \"octokit.teams.addOrUpdateProject() has been renamed to octokit.teams.addOrUpdateProjectLegacy() (2020-01-16)\",\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"PUT\",\n params: {\n permission: { enum: [\"read\", \"write\", \"admin\"], type: \"string\" },\n project_id: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/projects/:project_id\"\n },\n addOrUpdateProjectInOrg: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"PUT\",\n params: {\n org: { required: true, type: \"string\" },\n permission: { enum: [\"read\", \"write\", \"admin\"], type: \"string\" },\n project_id: { required: true, type: \"integer\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/projects/:project_id\"\n },\n addOrUpdateProjectLegacy: {\n deprecated: \"octokit.teams.addOrUpdateProjectLegacy() is deprecated, see https://developer.github.com/v3/teams/#add-or-update-team-project-legacy\",\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"PUT\",\n params: {\n permission: { enum: [\"read\", \"write\", \"admin\"], type: \"string\" },\n project_id: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/projects/:project_id\"\n },\n addOrUpdateRepo: {\n deprecated: \"octokit.teams.addOrUpdateRepo() has been renamed to octokit.teams.addOrUpdateRepoLegacy() (2020-01-16)\",\n method: \"PUT\",\n params: {\n owner: { required: true, type: \"string\" },\n permission: { enum: [\"pull\", \"push\", \"admin\"], type: \"string\" },\n repo: { required: true, type: \"string\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/repos/:owner/:repo\"\n },\n addOrUpdateRepoInOrg: {\n method: \"PUT\",\n params: {\n org: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n permission: { enum: [\"pull\", \"push\", \"admin\"], type: \"string\" },\n repo: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/repos/:owner/:repo\"\n },\n addOrUpdateRepoLegacy: {\n deprecated: \"octokit.teams.addOrUpdateRepoLegacy() is deprecated, see https://developer.github.com/v3/teams/#add-or-update-team-repository-legacy\",\n method: \"PUT\",\n params: {\n owner: { required: true, type: \"string\" },\n permission: { enum: [\"pull\", \"push\", \"admin\"], type: \"string\" },\n repo: { required: true, type: \"string\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/repos/:owner/:repo\"\n },\n checkManagesRepo: {\n deprecated: \"octokit.teams.checkManagesRepo() has been renamed to octokit.teams.checkManagesRepoLegacy() (2020-01-16)\",\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/repos/:owner/:repo\"\n },\n checkManagesRepoInOrg: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/repos/:owner/:repo\"\n },\n checkManagesRepoLegacy: {\n deprecated: \"octokit.teams.checkManagesRepoLegacy() is deprecated, see https://developer.github.com/v3/teams/#check-if-a-team-manages-a-repository-legacy\",\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/repos/:owner/:repo\"\n },\n create: {\n method: \"POST\",\n params: {\n description: { type: \"string\" },\n maintainers: { type: \"string[]\" },\n name: { required: true, type: \"string\" },\n org: { required: true, type: \"string\" },\n parent_team_id: { type: \"integer\" },\n permission: { enum: [\"pull\", \"push\", \"admin\"], type: \"string\" },\n privacy: { enum: [\"secret\", \"closed\"], type: \"string\" },\n repo_names: { type: \"string[]\" }\n },\n url: \"/orgs/:org/teams\"\n },\n createDiscussion: {\n deprecated: \"octokit.teams.createDiscussion() has been renamed to octokit.teams.createDiscussionLegacy() (2020-01-16)\",\n method: \"POST\",\n params: {\n body: { required: true, type: \"string\" },\n private: { type: \"boolean\" },\n team_id: { required: true, type: \"integer\" },\n title: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/discussions\"\n },\n createDiscussionComment: {\n deprecated: \"octokit.teams.createDiscussionComment() has been renamed to octokit.teams.createDiscussionCommentLegacy() (2020-01-16)\",\n method: \"POST\",\n params: {\n body: { required: true, type: \"string\" },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments\"\n },\n createDiscussionCommentInOrg: {\n method: \"POST\",\n params: {\n body: { required: true, type: \"string\" },\n discussion_number: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments\"\n },\n createDiscussionCommentLegacy: {\n deprecated: \"octokit.teams.createDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#create-a-comment-legacy\",\n method: \"POST\",\n params: {\n body: { required: true, type: \"string\" },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments\"\n },\n createDiscussionInOrg: {\n method: \"POST\",\n params: {\n body: { required: true, type: \"string\" },\n org: { required: true, type: \"string\" },\n private: { type: \"boolean\" },\n team_slug: { required: true, type: \"string\" },\n title: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions\"\n },\n createDiscussionLegacy: {\n deprecated: \"octokit.teams.createDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#create-a-discussion-legacy\",\n method: \"POST\",\n params: {\n body: { required: true, type: \"string\" },\n private: { type: \"boolean\" },\n team_id: { required: true, type: \"integer\" },\n title: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/discussions\"\n },\n delete: {\n deprecated: \"octokit.teams.delete() has been renamed to octokit.teams.deleteLegacy() (2020-01-16)\",\n method: \"DELETE\",\n params: { team_id: { required: true, type: \"integer\" } },\n url: \"/teams/:team_id\"\n },\n deleteDiscussion: {\n deprecated: \"octokit.teams.deleteDiscussion() has been renamed to octokit.teams.deleteDiscussionLegacy() (2020-01-16)\",\n method: \"DELETE\",\n params: {\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number\"\n },\n deleteDiscussionComment: {\n deprecated: \"octokit.teams.deleteDiscussionComment() has been renamed to octokit.teams.deleteDiscussionCommentLegacy() (2020-01-16)\",\n method: \"DELETE\",\n params: {\n comment_number: { required: true, type: \"integer\" },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments/:comment_number\"\n },\n deleteDiscussionCommentInOrg: {\n method: \"DELETE\",\n params: {\n comment_number: { required: true, type: \"integer\" },\n discussion_number: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number\"\n },\n deleteDiscussionCommentLegacy: {\n deprecated: \"octokit.teams.deleteDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#delete-a-comment-legacy\",\n method: \"DELETE\",\n params: {\n comment_number: { required: true, type: \"integer\" },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments/:comment_number\"\n },\n deleteDiscussionInOrg: {\n method: \"DELETE\",\n params: {\n discussion_number: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions/:discussion_number\"\n },\n deleteDiscussionLegacy: {\n deprecated: \"octokit.teams.deleteDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#delete-a-discussion-legacy\",\n method: \"DELETE\",\n params: {\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number\"\n },\n deleteInOrg: {\n method: \"DELETE\",\n params: {\n org: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug\"\n },\n deleteLegacy: {\n deprecated: \"octokit.teams.deleteLegacy() is deprecated, see https://developer.github.com/v3/teams/#delete-team-legacy\",\n method: \"DELETE\",\n params: { team_id: { required: true, type: \"integer\" } },\n url: \"/teams/:team_id\"\n },\n get: {\n deprecated: \"octokit.teams.get() has been renamed to octokit.teams.getLegacy() (2020-01-16)\",\n method: \"GET\",\n params: { team_id: { required: true, type: \"integer\" } },\n url: \"/teams/:team_id\"\n },\n getByName: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug\"\n },\n getDiscussion: {\n deprecated: \"octokit.teams.getDiscussion() has been renamed to octokit.teams.getDiscussionLegacy() (2020-01-16)\",\n method: \"GET\",\n params: {\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number\"\n },\n getDiscussionComment: {\n deprecated: \"octokit.teams.getDiscussionComment() has been renamed to octokit.teams.getDiscussionCommentLegacy() (2020-01-16)\",\n method: \"GET\",\n params: {\n comment_number: { required: true, type: \"integer\" },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments/:comment_number\"\n },\n getDiscussionCommentInOrg: {\n method: \"GET\",\n params: {\n comment_number: { required: true, type: \"integer\" },\n discussion_number: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number\"\n },\n getDiscussionCommentLegacy: {\n deprecated: \"octokit.teams.getDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#get-a-single-comment-legacy\",\n method: \"GET\",\n params: {\n comment_number: { required: true, type: \"integer\" },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments/:comment_number\"\n },\n getDiscussionInOrg: {\n method: \"GET\",\n params: {\n discussion_number: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions/:discussion_number\"\n },\n getDiscussionLegacy: {\n deprecated: \"octokit.teams.getDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#get-a-single-discussion-legacy\",\n method: \"GET\",\n params: {\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number\"\n },\n getLegacy: {\n deprecated: \"octokit.teams.getLegacy() is deprecated, see https://developer.github.com/v3/teams/#get-team-legacy\",\n method: \"GET\",\n params: { team_id: { required: true, type: \"integer\" } },\n url: \"/teams/:team_id\"\n },\n getMember: {\n deprecated: \"octokit.teams.getMember() has been renamed to octokit.teams.getMemberLegacy() (2020-01-16)\",\n method: \"GET\",\n params: {\n team_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/members/:username\"\n },\n getMemberLegacy: {\n deprecated: \"octokit.teams.getMemberLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#get-team-member-legacy\",\n method: \"GET\",\n params: {\n team_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/members/:username\"\n },\n getMembership: {\n deprecated: \"octokit.teams.getMembership() has been renamed to octokit.teams.getMembershipLegacy() (2020-01-16)\",\n method: \"GET\",\n params: {\n team_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/memberships/:username\"\n },\n getMembershipInOrg: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/memberships/:username\"\n },\n getMembershipLegacy: {\n deprecated: \"octokit.teams.getMembershipLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#get-team-membership-legacy\",\n method: \"GET\",\n params: {\n team_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/memberships/:username\"\n },\n list: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/orgs/:org/teams\"\n },\n listChild: {\n deprecated: \"octokit.teams.listChild() has been renamed to octokit.teams.listChildLegacy() (2020-01-16)\",\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/teams\"\n },\n listChildInOrg: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/teams\"\n },\n listChildLegacy: {\n deprecated: \"octokit.teams.listChildLegacy() is deprecated, see https://developer.github.com/v3/teams/#list-child-teams-legacy\",\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/teams\"\n },\n listDiscussionComments: {\n deprecated: \"octokit.teams.listDiscussionComments() has been renamed to octokit.teams.listDiscussionCommentsLegacy() (2020-01-16)\",\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n discussion_number: { required: true, type: \"integer\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments\"\n },\n listDiscussionCommentsInOrg: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n discussion_number: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments\"\n },\n listDiscussionCommentsLegacy: {\n deprecated: \"octokit.teams.listDiscussionCommentsLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#list-comments-legacy\",\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n discussion_number: { required: true, type: \"integer\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments\"\n },\n listDiscussions: {\n deprecated: \"octokit.teams.listDiscussions() has been renamed to octokit.teams.listDiscussionsLegacy() (2020-01-16)\",\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions\"\n },\n listDiscussionsInOrg: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions\"\n },\n listDiscussionsLegacy: {\n deprecated: \"octokit.teams.listDiscussionsLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#list-discussions-legacy\",\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions\"\n },\n listForAuthenticatedUser: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/teams\"\n },\n listMembers: {\n deprecated: \"octokit.teams.listMembers() has been renamed to octokit.teams.listMembersLegacy() (2020-01-16)\",\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n role: { enum: [\"member\", \"maintainer\", \"all\"], type: \"string\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/members\"\n },\n listMembersInOrg: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n role: { enum: [\"member\", \"maintainer\", \"all\"], type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/members\"\n },\n listMembersLegacy: {\n deprecated: \"octokit.teams.listMembersLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#list-team-members-legacy\",\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n role: { enum: [\"member\", \"maintainer\", \"all\"], type: \"string\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/members\"\n },\n listPendingInvitations: {\n deprecated: \"octokit.teams.listPendingInvitations() has been renamed to octokit.teams.listPendingInvitationsLegacy() (2020-01-16)\",\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/invitations\"\n },\n listPendingInvitationsInOrg: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/invitations\"\n },\n listPendingInvitationsLegacy: {\n deprecated: \"octokit.teams.listPendingInvitationsLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#list-pending-team-invitations-legacy\",\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/invitations\"\n },\n listProjects: {\n deprecated: \"octokit.teams.listProjects() has been renamed to octokit.teams.listProjectsLegacy() (2020-01-16)\",\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/projects\"\n },\n listProjectsInOrg: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/projects\"\n },\n listProjectsLegacy: {\n deprecated: \"octokit.teams.listProjectsLegacy() is deprecated, see https://developer.github.com/v3/teams/#list-team-projects-legacy\",\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/projects\"\n },\n listRepos: {\n deprecated: \"octokit.teams.listRepos() has been renamed to octokit.teams.listReposLegacy() (2020-01-16)\",\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/repos\"\n },\n listReposInOrg: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/repos\"\n },\n listReposLegacy: {\n deprecated: \"octokit.teams.listReposLegacy() is deprecated, see https://developer.github.com/v3/teams/#list-team-repos-legacy\",\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/repos\"\n },\n removeMember: {\n deprecated: \"octokit.teams.removeMember() has been renamed to octokit.teams.removeMemberLegacy() (2020-01-16)\",\n method: \"DELETE\",\n params: {\n team_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/members/:username\"\n },\n removeMemberLegacy: {\n deprecated: \"octokit.teams.removeMemberLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#remove-team-member-legacy\",\n method: \"DELETE\",\n params: {\n team_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/members/:username\"\n },\n removeMembership: {\n deprecated: \"octokit.teams.removeMembership() has been renamed to octokit.teams.removeMembershipLegacy() (2020-01-16)\",\n method: \"DELETE\",\n params: {\n team_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/memberships/:username\"\n },\n removeMembershipInOrg: {\n method: \"DELETE\",\n params: {\n org: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/memberships/:username\"\n },\n removeMembershipLegacy: {\n deprecated: \"octokit.teams.removeMembershipLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#remove-team-membership-legacy\",\n method: \"DELETE\",\n params: {\n team_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/memberships/:username\"\n },\n removeProject: {\n deprecated: \"octokit.teams.removeProject() has been renamed to octokit.teams.removeProjectLegacy() (2020-01-16)\",\n method: \"DELETE\",\n params: {\n project_id: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/projects/:project_id\"\n },\n removeProjectInOrg: {\n method: \"DELETE\",\n params: {\n org: { required: true, type: \"string\" },\n project_id: { required: true, type: \"integer\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/projects/:project_id\"\n },\n removeProjectLegacy: {\n deprecated: \"octokit.teams.removeProjectLegacy() is deprecated, see https://developer.github.com/v3/teams/#remove-team-project-legacy\",\n method: \"DELETE\",\n params: {\n project_id: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/projects/:project_id\"\n },\n removeRepo: {\n deprecated: \"octokit.teams.removeRepo() has been renamed to octokit.teams.removeRepoLegacy() (2020-01-16)\",\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/repos/:owner/:repo\"\n },\n removeRepoInOrg: {\n method: \"DELETE\",\n params: {\n org: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/repos/:owner/:repo\"\n },\n removeRepoLegacy: {\n deprecated: \"octokit.teams.removeRepoLegacy() is deprecated, see https://developer.github.com/v3/teams/#remove-team-repository-legacy\",\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/repos/:owner/:repo\"\n },\n reviewProject: {\n deprecated: \"octokit.teams.reviewProject() has been renamed to octokit.teams.reviewProjectLegacy() (2020-01-16)\",\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: {\n project_id: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/projects/:project_id\"\n },\n reviewProjectInOrg: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n project_id: { required: true, type: \"integer\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/projects/:project_id\"\n },\n reviewProjectLegacy: {\n deprecated: \"octokit.teams.reviewProjectLegacy() is deprecated, see https://developer.github.com/v3/teams/#review-a-team-project-legacy\",\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: {\n project_id: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/projects/:project_id\"\n },\n update: {\n deprecated: \"octokit.teams.update() has been renamed to octokit.teams.updateLegacy() (2020-01-16)\",\n method: \"PATCH\",\n params: {\n description: { type: \"string\" },\n name: { required: true, type: \"string\" },\n parent_team_id: { type: \"integer\" },\n permission: { enum: [\"pull\", \"push\", \"admin\"], type: \"string\" },\n privacy: { enum: [\"secret\", \"closed\"], type: \"string\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id\"\n },\n updateDiscussion: {\n deprecated: \"octokit.teams.updateDiscussion() has been renamed to octokit.teams.updateDiscussionLegacy() (2020-01-16)\",\n method: \"PATCH\",\n params: {\n body: { type: \"string\" },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" },\n title: { type: \"string\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number\"\n },\n updateDiscussionComment: {\n deprecated: \"octokit.teams.updateDiscussionComment() has been renamed to octokit.teams.updateDiscussionCommentLegacy() (2020-01-16)\",\n method: \"PATCH\",\n params: {\n body: { required: true, type: \"string\" },\n comment_number: { required: true, type: \"integer\" },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments/:comment_number\"\n },\n updateDiscussionCommentInOrg: {\n method: \"PATCH\",\n params: {\n body: { required: true, type: \"string\" },\n comment_number: { required: true, type: \"integer\" },\n discussion_number: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number\"\n },\n updateDiscussionCommentLegacy: {\n deprecated: \"octokit.teams.updateDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#edit-a-comment-legacy\",\n method: \"PATCH\",\n params: {\n body: { required: true, type: \"string\" },\n comment_number: { required: true, type: \"integer\" },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments/:comment_number\"\n },\n updateDiscussionInOrg: {\n method: \"PATCH\",\n params: {\n body: { type: \"string\" },\n discussion_number: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" },\n title: { type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions/:discussion_number\"\n },\n updateDiscussionLegacy: {\n deprecated: \"octokit.teams.updateDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#edit-a-discussion-legacy\",\n method: \"PATCH\",\n params: {\n body: { type: \"string\" },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" },\n title: { type: \"string\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number\"\n },\n updateInOrg: {\n method: \"PATCH\",\n params: {\n description: { type: \"string\" },\n name: { required: true, type: \"string\" },\n org: { required: true, type: \"string\" },\n parent_team_id: { type: \"integer\" },\n permission: { enum: [\"pull\", \"push\", \"admin\"], type: \"string\" },\n privacy: { enum: [\"secret\", \"closed\"], type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug\"\n },\n updateLegacy: {\n deprecated: \"octokit.teams.updateLegacy() is deprecated, see https://developer.github.com/v3/teams/#edit-team-legacy\",\n method: \"PATCH\",\n params: {\n description: { type: \"string\" },\n name: { required: true, type: \"string\" },\n parent_team_id: { type: \"integer\" },\n permission: { enum: [\"pull\", \"push\", \"admin\"], type: \"string\" },\n privacy: { enum: [\"secret\", \"closed\"], type: \"string\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id\"\n }\n },\n users: {\n addEmails: {\n method: \"POST\",\n params: { emails: { required: true, type: \"string[]\" } },\n url: \"/user/emails\"\n },\n block: {\n method: \"PUT\",\n params: { username: { required: true, type: \"string\" } },\n url: \"/user/blocks/:username\"\n },\n checkBlocked: {\n method: \"GET\",\n params: { username: { required: true, type: \"string\" } },\n url: \"/user/blocks/:username\"\n },\n checkFollowing: {\n method: \"GET\",\n params: { username: { required: true, type: \"string\" } },\n url: \"/user/following/:username\"\n },\n checkFollowingForUser: {\n method: \"GET\",\n params: {\n target_user: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/following/:target_user\"\n },\n createGpgKey: {\n method: \"POST\",\n params: { armored_public_key: { type: \"string\" } },\n url: \"/user/gpg_keys\"\n },\n createPublicKey: {\n method: \"POST\",\n params: { key: { type: \"string\" }, title: { type: \"string\" } },\n url: \"/user/keys\"\n },\n deleteEmails: {\n method: \"DELETE\",\n params: { emails: { required: true, type: \"string[]\" } },\n url: \"/user/emails\"\n },\n deleteGpgKey: {\n method: \"DELETE\",\n params: { gpg_key_id: { required: true, type: \"integer\" } },\n url: \"/user/gpg_keys/:gpg_key_id\"\n },\n deletePublicKey: {\n method: \"DELETE\",\n params: { key_id: { required: true, type: \"integer\" } },\n url: \"/user/keys/:key_id\"\n },\n follow: {\n method: \"PUT\",\n params: { username: { required: true, type: \"string\" } },\n url: \"/user/following/:username\"\n },\n getAuthenticated: { method: \"GET\", params: {}, url: \"/user\" },\n getByUsername: {\n method: \"GET\",\n params: { username: { required: true, type: \"string\" } },\n url: \"/users/:username\"\n },\n getContextForUser: {\n method: \"GET\",\n params: {\n subject_id: { type: \"string\" },\n subject_type: {\n enum: [\"organization\", \"repository\", \"issue\", \"pull_request\"],\n type: \"string\"\n },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/hovercard\"\n },\n getGpgKey: {\n method: \"GET\",\n params: { gpg_key_id: { required: true, type: \"integer\" } },\n url: \"/user/gpg_keys/:gpg_key_id\"\n },\n getPublicKey: {\n method: \"GET\",\n params: { key_id: { required: true, type: \"integer\" } },\n url: \"/user/keys/:key_id\"\n },\n list: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n since: { type: \"string\" }\n },\n url: \"/users\"\n },\n listBlocked: { method: \"GET\", params: {}, url: \"/user/blocks\" },\n listEmails: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/emails\"\n },\n listFollowersForAuthenticatedUser: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/followers\"\n },\n listFollowersForUser: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/followers\"\n },\n listFollowingForAuthenticatedUser: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/following\"\n },\n listFollowingForUser: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/following\"\n },\n listGpgKeys: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/gpg_keys\"\n },\n listGpgKeysForUser: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/gpg_keys\"\n },\n listPublicEmails: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/public_emails\"\n },\n listPublicKeys: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/keys\"\n },\n listPublicKeysForUser: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/keys\"\n },\n togglePrimaryEmailVisibility: {\n method: \"PATCH\",\n params: {\n email: { required: true, type: \"string\" },\n visibility: { required: true, type: \"string\" }\n },\n url: \"/user/email/visibility\"\n },\n unblock: {\n method: \"DELETE\",\n params: { username: { required: true, type: \"string\" } },\n url: \"/user/blocks/:username\"\n },\n unfollow: {\n method: \"DELETE\",\n params: { username: { required: true, type: \"string\" } },\n url: \"/user/following/:username\"\n },\n updateAuthenticated: {\n method: \"PATCH\",\n params: {\n bio: { type: \"string\" },\n blog: { type: \"string\" },\n company: { type: \"string\" },\n email: { type: \"string\" },\n hireable: { type: \"boolean\" },\n location: { type: \"string\" },\n name: { type: \"string\" }\n },\n url: \"/user\"\n }\n }\n};\n","export const VERSION = \"2.4.0\";\n","import { Deprecation } from \"deprecation\";\nexport function registerEndpoints(octokit, routes) {\n Object.keys(routes).forEach(namespaceName => {\n if (!octokit[namespaceName]) {\n octokit[namespaceName] = {};\n }\n Object.keys(routes[namespaceName]).forEach(apiName => {\n const apiOptions = routes[namespaceName][apiName];\n const endpointDefaults = [\"method\", \"url\", \"headers\"].reduce((map, key) => {\n if (typeof apiOptions[key] !== \"undefined\") {\n map[key] = apiOptions[key];\n }\n return map;\n }, {});\n endpointDefaults.request = {\n validate: apiOptions.params\n };\n let request = octokit.request.defaults(endpointDefaults);\n // patch request & endpoint methods to support deprecated parameters.\n // Not the most elegant solution, but we don’t want to move deprecation\n // logic into octokit/endpoint.js as it’s out of scope\n const hasDeprecatedParam = Object.keys(apiOptions.params || {}).find(key => apiOptions.params[key].deprecated);\n if (hasDeprecatedParam) {\n const patch = patchForDeprecation.bind(null, octokit, apiOptions);\n request = patch(octokit.request.defaults(endpointDefaults), `.${namespaceName}.${apiName}()`);\n request.endpoint = patch(request.endpoint, `.${namespaceName}.${apiName}.endpoint()`);\n request.endpoint.merge = patch(request.endpoint.merge, `.${namespaceName}.${apiName}.endpoint.merge()`);\n }\n if (apiOptions.deprecated) {\n octokit[namespaceName][apiName] = Object.assign(function deprecatedEndpointMethod() {\n octokit.log.warn(new Deprecation(`[@octokit/rest] ${apiOptions.deprecated}`));\n octokit[namespaceName][apiName] = request;\n return request.apply(null, arguments);\n }, request);\n return;\n }\n octokit[namespaceName][apiName] = request;\n });\n });\n}\nfunction patchForDeprecation(octokit, apiOptions, method, methodName) {\n const patchedMethod = (options) => {\n options = Object.assign({}, options);\n Object.keys(options).forEach(key => {\n if (apiOptions.params[key] && apiOptions.params[key].deprecated) {\n const aliasKey = apiOptions.params[key].alias;\n octokit.log.warn(new Deprecation(`[@octokit/rest] \"${key}\" parameter is deprecated for \"${methodName}\". Use \"${aliasKey}\" instead`));\n if (!(aliasKey in options)) {\n options[aliasKey] = options[key];\n }\n delete options[key];\n }\n });\n return method(options);\n };\n Object.keys(method).forEach(key => {\n patchedMethod[key] = method[key];\n });\n return patchedMethod;\n}\n","import { Deprecation } from \"deprecation\";\nimport endpointsByScope from \"./generated/endpoints\";\nimport { VERSION } from \"./version\";\nimport { registerEndpoints } from \"./register-endpoints\";\n/**\n * This plugin is a 1:1 copy of internal @octokit/rest plugins. The primary\n * goal is to rebuild @octokit/rest on top of @octokit/core. Once that is\n * done, we will remove the registerEndpoints methods and return the methods\n * directly as with the other plugins. At that point we will also remove the\n * legacy workarounds and deprecations.\n *\n * See the plan at\n * https://github.com/octokit/plugin-rest-endpoint-methods.js/pull/1\n */\nexport function restEndpointMethods(octokit) {\n // @ts-ignore\n octokit.registerEndpoints = registerEndpoints.bind(null, octokit);\n registerEndpoints(octokit, endpointsByScope);\n // Aliasing scopes for backward compatibility\n // See https://github.com/octokit/rest.js/pull/1134\n [\n [\"gitdata\", \"git\"],\n [\"authorization\", \"oauthAuthorizations\"],\n [\"pullRequests\", \"pulls\"]\n ].forEach(([deprecatedScope, scope]) => {\n Object.defineProperty(octokit, deprecatedScope, {\n get() {\n octokit.log.warn(\n // @ts-ignore\n new Deprecation(`[@octokit/plugin-rest-endpoint-methods] \"octokit.${deprecatedScope}.*\" methods are deprecated, use \"octokit.${scope}.*\" instead`));\n // @ts-ignore\n return octokit[scope];\n }\n });\n });\n return {};\n}\nrestEndpointMethods.VERSION = VERSION;\n"],"names":[],"mappings":";;AAAA,uBAAe;IACX,OAAO,EAAE;QACL,iBAAiB,EAAE;YACf,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC9C;YACD,GAAG,EAAE,iDAAiD;SACzD;QACD,2BAA2B,EAAE;YACzB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACnC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,2CAA2C;SACnD;QACD,uBAAuB,EAAE;YACrB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,wDAAwD;SAChE;QACD,iBAAiB,EAAE;YACf,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,kDAAkD;SAC1D;QACD,cAAc,EAAE;YACZ,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,oDAAoD;SAC5D;QACD,oBAAoB,EAAE;YAClB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,2CAA2C;SACnD;QACD,gBAAgB,EAAE;YACd,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAClD,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,oEAAoE;SAC5E;QACD,WAAW,EAAE;YACT,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,oDAAoD;SAC5D;QACD,YAAY,EAAE;YACV,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,gDAAgD;SACxD;QACD,SAAS,EAAE;YACP,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,2CAA2C;SACnD;QACD,mBAAmB,EAAE;YACjB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aACjD;YACD,GAAG,EAAE,gDAAgD;SACxD;QACD,WAAW,EAAE;YACT,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aACnD;YACD,GAAG,EAAE,oDAAoD;SAC5D;QACD,cAAc,EAAE;YACZ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC3C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,0CAA0C;SAClD;QACD,cAAc,EAAE;YACZ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC9C;YACD,GAAG,EAAE,0CAA0C;SAClD;QACD,2CAA2C,EAAE;YACzC,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,+CAA+C;SACvD;QACD,sBAAsB,EAAE;YACpB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC9C;YACD,GAAG,EAAE,+CAA+C;SACvD;QACD,oBAAoB,EAAE;YAClB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1E;YACD,GAAG,EAAE,kCAAkC;SAC1C;QACD,iBAAiB,EAAE;YACf,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,uCAAuC;SAC/C;QACD,kBAAkB,EAAE;YAChB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,qCAAqC;SAC7C;QACD,4BAA4B,EAAE;YAC1B,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,qCAAqC;SAC7C;QACD,mBAAmB,EAAE;YACjB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC3C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,+CAA+C;SACvD;QACD,wBAAwB,EAAE;YACtB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC9C;YACD,GAAG,EAAE,oDAAoD;SAC5D;QACD,mBAAmB,EAAE;YACjB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC9C;YACD,GAAG,EAAE,+CAA+C;SACvD;QACD,gBAAgB,EAAE;YACd,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvE,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aACnD;YACD,GAAG,EAAE,yDAAyD;SACjE;QACD,aAAa,EAAE;YACX,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC9C;YACD,GAAG,EAAE,gDAAgD;SACxD;QACD,sBAAsB,EAAE;YACpB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aACjD;YACD,GAAG,EAAE,gDAAgD;SACxD;KACJ;IACD,QAAQ,EAAE;QACN,iBAAiB,EAAE;YACf,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,4BAA4B;SACpC;QACD,sBAAsB,EAAE;YACpB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,kCAAkC;SAC1C;QACD,wBAAwB,EAAE;YACtB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YAC1D,GAAG,EAAE,gDAAgD;SACxD;QACD,mBAAmB,EAAE;YACjB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,kCAAkC;SAC1C;QACD,SAAS,EAAE;YACP,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YAC1D,GAAG,EAAE,mCAAmC;SAC3C;QACD,qBAAqB,EAAE;YACnB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YAC1D,GAAG,EAAE,gDAAgD;SACxD;QACD,gBAAgB,EAAE;YACd,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,mCAAmC;SAC3C;QACD,iBAAiB,EAAE;YACf,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,yBAAyB;SACjC;QACD,SAAS,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE;QACvD,iBAAiB,EAAE;YACf,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACxB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,aAAa,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAClC,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5B;YACD,GAAG,EAAE,gBAAgB;SACxB;QACD,wBAAwB,EAAE;YACtB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACxB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,aAAa,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAClC,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5B;YACD,GAAG,EAAE,mCAAmC;SAC3C;QACD,gBAAgB,EAAE;YACd,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACpE,GAAG,EAAE,SAAS;SACjB;QACD,sBAAsB,EAAE;YACpB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAChC;YACD,GAAG,EAAE,mBAAmB;SAC3B;QACD,8BAA8B,EAAE;YAC5B,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,+BAA+B;SACvC;QACD,uBAAuB,EAAE;YACrB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,gCAAgC;SACxC;QACD,yBAAyB,EAAE;YACvB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,kCAAkC;SAC1C;QACD,+BAA+B,EAAE;YAC7B,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,yCAAyC;SACjD;QACD,cAAc,EAAE;YACZ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,4BAA4B;SACpC;QACD,mCAAmC,EAAE;YACjC,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aACzD;YACD,GAAG,EAAE,eAAe;SACvB;QACD,sBAAsB,EAAE;YACpB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACtD,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,0BAA0B;SAClC;QACD,sBAAsB,EAAE;YACpB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,gCAAgC;SACxC;QACD,qBAAqB,EAAE;YACnB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,gCAAgC;SACxC;QACD,oCAAoC,EAAE;YAClC,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACpE,GAAG,EAAE,qBAAqB;SAC7B;QACD,mBAAmB,EAAE;YACjB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,iCAAiC;SACzC;QACD,UAAU,EAAE;YACR,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YAC5C,GAAG,EAAE,gBAAgB;SACxB;QACD,8BAA8B,EAAE;YAC5B,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,mCAAmC;SAC3C;QACD,gBAAgB,EAAE;YACd,MAAM,EAAE,OAAO;YACf,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YAC1D,GAAG,EAAE,mCAAmC;SAC3C;QACD,mBAAmB,EAAE;YACjB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5B,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAClC;YACD,GAAG,EAAE,kCAAkC;SAC1C;QACD,qBAAqB,EAAE;YACnB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5B,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aACjD;YACD,GAAG,EAAE,gDAAgD;SACxD;QACD,QAAQ,EAAE;YACN,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,4BAA4B;SACpC;QACD,UAAU,EAAE;YACR,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,4BAA4B;SACpC;KACJ;IACD,IAAI,EAAE;QACF,qBAAqB,EAAE;YACnB,OAAO,EAAE,EAAE,MAAM,EAAE,iDAAiD,EAAE;YACtE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,eAAe,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpD,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aACrD;YACD,GAAG,EAAE,kEAAkE;SAC1E;QACD,+BAA+B,EAAE;YAC7B,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YAC3D,GAAG,EAAE,2CAA2C;SACnD;QACD,sCAAsC,EAAE;YACpC,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YAC3D,GAAG,EAAE,mDAAmD;SAC3D;QACD,kBAAkB,EAAE;YAChB,UAAU,EAAE,sIAAsI;YAClJ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChD,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,+CAA+C;SACvD;QACD,UAAU,EAAE;YACR,OAAO,EAAE,EAAE,MAAM,EAAE,oDAAoD,EAAE;YACzE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,gCAAgC;SACxC;QACD,uBAAuB,EAAE;YACrB,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,oBAAoB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5C;YACD,GAAG,EAAE,uDAAuD;SAC/D;QACD,kBAAkB,EAAE;YAChB,OAAO,EAAE,EAAE,MAAM,EAAE,0CAA0C,EAAE;YAC/D,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACpD,GAAG,EAAE,kCAAkC;SAC1C;QACD,uBAAuB,EAAE;YACrB,OAAO,EAAE,EAAE,MAAM,EAAE,iDAAiD,EAAE;YACtE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,eAAe,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,cAAc,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;aACxC;YACD,GAAG,EAAE,mDAAmD;SAC3D;QACD,mBAAmB,EAAE;YACjB,OAAO,EAAE,EAAE,MAAM,EAAE,oDAAoD,EAAE;YACzE,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,gCAAgC;SACxC;QACD,kBAAkB,EAAE;YAChB,OAAO,EAAE;gBACL,MAAM,EAAE,4FAA4F;aACvG;YACD,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,EAAE,eAAe,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YAChE,GAAG,EAAE,qCAAqC;SAC7C;QACD,WAAW,EAAE;YACT,OAAO,EAAE,EAAE,MAAM,EAAE,oDAAoD,EAAE;YACzE,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,gCAAgC;SACxC;QACD,mBAAmB,EAAE;YACjB,UAAU,EAAE,uGAAuG;YACnH,OAAO,EAAE,EAAE,MAAM,EAAE,iDAAiD,EAAE;YACtE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACnD,GAAG,EAAE,yBAAyB;SACjC;QACD,oBAAoB,EAAE;YAClB,UAAU,EAAE,yGAAyG;YACrH,OAAO,EAAE,EAAE,MAAM,EAAE,iDAAiD,EAAE;YACtE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,kCAAkC;SAC1C;QACD,oBAAoB,EAAE;YAClB,UAAU,EAAE,yGAAyG;YACrH,OAAO,EAAE,EAAE,MAAM,EAAE,iDAAiD,EAAE;YACtE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACxD,GAAG,EAAE,+BAA+B;SACvC;QACD,gBAAgB,EAAE;YACd,OAAO,EAAE,EAAE,MAAM,EAAE,iDAAiD,EAAE;YACtE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE;YACV,GAAG,EAAE,MAAM;SACd;QACD,SAAS,EAAE;YACP,OAAO,EAAE,EAAE,MAAM,EAAE,iDAAiD,EAAE;YACtE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACxD,GAAG,EAAE,iBAAiB;SACzB;QACD,eAAe,EAAE;YACb,OAAO,EAAE,EAAE,MAAM,EAAE,iDAAiD,EAAE;YACtE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,eAAe,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YAChE,GAAG,EAAE,qCAAqC;SAC7C;QACD,kBAAkB,EAAE;YAChB,OAAO,EAAE,EAAE,MAAM,EAAE,iDAAiD,EAAE;YACtE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACnD,GAAG,EAAE,yBAAyB;SACjC;QACD,mBAAmB,EAAE;YACjB,OAAO,EAAE,EAAE,MAAM,EAAE,iDAAiD,EAAE;YACtE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,kCAAkC;SAC1C;QACD,mBAAmB,EAAE;YACjB,OAAO,EAAE,EAAE,MAAM,EAAE,iDAAiD,EAAE;YACtE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACxD,GAAG,EAAE,+BAA+B;SACvC;QACD,2BAA2B,EAAE;YACzB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aACzD;YACD,GAAG,EAAE,8CAA8C;SACtD;QACD,kCAAkC,EAAE;YAChC,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aACzD;YACD,GAAG,EAAE,sDAAsD;SAC9D;QACD,yCAAyC,EAAE;YACvC,OAAO,EAAE,EAAE,MAAM,EAAE,iDAAiD,EAAE;YACtE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,eAAe,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAChC;YACD,GAAG,EAAE,mDAAmD;SAC3D;QACD,iBAAiB,EAAE;YACf,OAAO,EAAE,EAAE,MAAM,EAAE,iDAAiD,EAAE;YACtE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACpE,GAAG,EAAE,oBAAoB;SAC5B;QACD,qCAAqC,EAAE;YACnC,OAAO,EAAE,EAAE,MAAM,EAAE,iDAAiD,EAAE;YACtE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACpE,GAAG,EAAE,qBAAqB;SAC7B;QACD,4CAA4C,EAAE;YAC1C,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACpE,GAAG,EAAE,6BAA6B;SACrC;QACD,mDAAmD,EAAE;YACjD,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACpE,GAAG,EAAE,qCAAqC;SAC7C;QACD,SAAS,EAAE;YACP,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACpE,GAAG,EAAE,4BAA4B;SACpC;QACD,gBAAgB,EAAE;YACd,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACpE,GAAG,EAAE,oCAAoC;SAC5C;QACD,SAAS,EAAE;YACP,OAAO,EAAE,EAAE,MAAM,EAAE,iDAAiD,EAAE;YACtE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACpE,GAAG,EAAE,4BAA4B;SACpC;QACD,0BAA0B,EAAE;YACxB,OAAO,EAAE,EAAE,MAAM,EAAE,iDAAiD,EAAE;YACtE,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,eAAe,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpD,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aACrD;YACD,GAAG,EAAE,kEAAkE;SAC1E;QACD,kBAAkB,EAAE;YAChB,UAAU,EAAE,sIAAsI;YAClJ,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChD,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,+CAA+C;SACvD;QACD,UAAU,EAAE;YACR,OAAO,EAAE,EAAE,MAAM,EAAE,oDAAoD,EAAE;YACzE,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,gCAAgC;SACxC;QACD,iCAAiC,EAAE;YAC/B,UAAU,EAAE,yKAAyK;YACrL,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChD,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,+CAA+C;SACvD;QACD,yBAAyB,EAAE;YACvB,UAAU,EAAE,wJAAwJ;YACpK,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChD,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,+CAA+C;SACvD;QACD,uBAAuB,EAAE;YACrB,OAAO,EAAE,EAAE,MAAM,EAAE,4CAA4C,EAAE;YACjE,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,EAAE;YACV,GAAG,EAAE,qBAAqB;SAC7B;KACJ;IACD,MAAM,EAAE;QACJ,MAAM,EAAE;YACJ,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC7B,uBAAuB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3D,sBAAsB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1D,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACrD,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChC,UAAU,EAAE;oBACR,IAAI,EAAE;wBACF,SAAS;wBACT,SAAS;wBACT,SAAS;wBACT,WAAW;wBACX,WAAW;wBACX,iBAAiB;qBACpB;oBACD,IAAI,EAAE,QAAQ;iBACjB;gBACD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5C,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,oBAAoB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC1C,uCAAuC,EAAE;oBACrC,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC;oBACtC,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,QAAQ;iBACjB;gBACD,iCAAiC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,+BAA+B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpE,8BAA8B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAClE,2BAA2B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/D,kCAAkC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACtD,mCAAmC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACxD,iCAAiC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtE,4BAA4B,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChD,eAAe,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBACrC,qBAAqB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzD,yBAAyB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7C,2BAA2B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/D,gBAAgB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACjC,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAClD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC9B,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3E;YACD,GAAG,EAAE,gCAAgC;SACxC;QACD,WAAW,EAAE;YACT,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,kCAAkC;SAC1C;QACD,GAAG,EAAE;YACD,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,8CAA8C;SACtD;QACD,QAAQ,EAAE;YACN,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,kDAAkD;SAC1D;QACD,eAAe,EAAE;YACb,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,0DAA0D;SAClE;QACD,UAAU,EAAE;YACR,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC9B,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACnD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3E;YACD,GAAG,EAAE,6CAA6C;SACrD;QACD,YAAY,EAAE;YACV,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC9B,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnD,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACnD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3E;YACD,GAAG,EAAE,6DAA6D;SACrE;QACD,gBAAgB,EAAE;YACd,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC3B,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC9B,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,+CAA+C;SACvD;QACD,cAAc,EAAE;YACZ,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,4DAA4D;SACpE;QACD,oBAAoB,EAAE;YAClB,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,mBAAmB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBACzC,8BAA8B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnE,+BAA+B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,8CAA8C;SACtD;QACD,MAAM,EAAE;YACJ,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC7B,uBAAuB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3D,sBAAsB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1D,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACrD,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChC,UAAU,EAAE;oBACR,IAAI,EAAE;wBACF,SAAS;wBACT,SAAS;wBACT,SAAS;wBACT,WAAW;wBACX,WAAW;wBACX,iBAAiB;qBACpB;oBACD,IAAI,EAAE,QAAQ;iBACjB;gBACD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,oBAAoB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC1C,uCAAuC,EAAE;oBACrC,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC;oBACtC,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,QAAQ;iBACjB;gBACD,iCAAiC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,+BAA+B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpE,8BAA8B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAClE,2BAA2B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/D,kCAAkC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACtD,mCAAmC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACxD,iCAAiC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtE,4BAA4B,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChD,eAAe,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBACrC,qBAAqB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzD,yBAAyB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7C,2BAA2B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/D,gBAAgB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACjC,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAClC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC9B,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3E;YACD,GAAG,EAAE,8CAA8C;SACtD;KACJ;IACD,cAAc,EAAE;QACZ,cAAc,EAAE;YACZ,OAAO,EAAE,EAAE,MAAM,EAAE,mDAAmD,EAAE;YACxE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACnD,GAAG,EAAE,wBAAwB;SAChC;QACD,UAAU,EAAE;YACR,OAAO,EAAE,EAAE,MAAM,EAAE,mDAAmD,EAAE;YACxE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,+CAA+C;SACvD;QACD,gBAAgB,EAAE;YACd,OAAO,EAAE,EAAE,MAAM,EAAE,mDAAmD,EAAE;YACxE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE;YACV,GAAG,EAAE,mBAAmB;SAC3B;KACJ;IACD,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE;IAC9D,KAAK,EAAE;QACH,cAAc,EAAE;YACZ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACvD,GAAG,EAAE,sBAAsB;SAC9B;QACD,MAAM,EAAE;YACJ,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACnC,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAC9B;YACD,GAAG,EAAE,QAAQ;SAChB;QACD,aAAa,EAAE;YACX,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC9C;YACD,GAAG,EAAE,0BAA0B;SAClC;QACD,MAAM,EAAE;YACJ,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACvD,GAAG,EAAE,iBAAiB;SACzB;QACD,aAAa,EAAE;YACX,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC9C;YACD,GAAG,EAAE,sCAAsC;SAC9C;QACD,IAAI,EAAE;YACF,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACvD,GAAG,EAAE,uBAAuB;SAC/B;QACD,GAAG,EAAE;YACD,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACvD,GAAG,EAAE,iBAAiB;SACzB;QACD,UAAU,EAAE;YACR,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC9C;YACD,GAAG,EAAE,sCAAsC;SAC9C;QACD,WAAW,EAAE;YACT,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3C,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1C;YACD,GAAG,EAAE,sBAAsB;SAC9B;QACD,IAAI,EAAE;YACF,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5B;YACD,GAAG,EAAE,QAAQ;SAChB;QACD,YAAY,EAAE;YACV,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3C,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAChC;YACD,GAAG,EAAE,0BAA0B;SAClC;QACD,WAAW,EAAE;YACT,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3C,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAChC;YACD,GAAG,EAAE,yBAAyB;SACjC;QACD,SAAS,EAAE;YACP,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3C,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAChC;YACD,GAAG,EAAE,uBAAuB;SAC/B;QACD,UAAU,EAAE;YACR,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5B;YACD,GAAG,EAAE,eAAe;SACvB;QACD,iBAAiB,EAAE;YACf,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,wBAAwB;SAChC;QACD,WAAW,EAAE;YACT,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5B;YACD,GAAG,EAAE,gBAAgB;SACxB;QACD,IAAI,EAAE;YACF,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACvD,GAAG,EAAE,sBAAsB;SAC9B;QACD,MAAM,EAAE;YACJ,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACvD,GAAG,EAAE,sBAAsB;SAC9B;QACD,MAAM,EAAE;YACJ,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACnC,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC9C;YACD,GAAG,EAAE,iBAAiB;SACzB;QACD,aAAa,EAAE;YACX,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC9C;YACD,GAAG,EAAE,sCAAsC;SAC9C;KACJ;IACD,GAAG,EAAE;QACD,UAAU,EAAE;YACR,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3C,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5B,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,+BAA+B;SACvC;QACD,YAAY,EAAE;YACV,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACjC,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAClC,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACjC,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7B,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpC,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACrC,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC7C,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,iCAAiC;SACzC;QACD,SAAS,EAAE;YACP,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1C;YACD,GAAG,EAAE,8BAA8B;SACtC;QACD,SAAS,EAAE;YACP,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3C,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACjC,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAClC,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACjC,IAAI,EAAE;oBACF,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;oBAChC,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,QAAQ;iBACjB;aACJ;YACD,GAAG,EAAE,8BAA8B;SACtC;QACD,UAAU,EAAE;YACR,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7B,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC1C,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpC,aAAa,EAAE;oBACX,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;oBACxD,IAAI,EAAE,QAAQ;iBACjB;gBACD,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACjC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACjD,aAAa,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aACtE;YACD,GAAG,EAAE,+BAA+B;SACvC;QACD,SAAS,EAAE;YACP,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,mCAAmC;SAC3C;QACD,OAAO,EAAE;YACL,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,yCAAyC;SACjD;QACD,SAAS,EAAE;YACP,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC9C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,6CAA6C;SACrD;QACD,MAAM,EAAE;YACJ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,kCAAkC;SAC1C;QACD,MAAM,EAAE;YACJ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC9C;YACD,GAAG,EAAE,uCAAuC;SAC/C;QACD,OAAO,EAAE;YACL,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC3C,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,yCAAyC;SACjD;QACD,gBAAgB,EAAE;YACd,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,4CAA4C;SACpD;QACD,QAAQ,EAAE;YACN,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7B,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,yCAAyC;SACjD;QACD,SAAS,EAAE;YACP,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC1B,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1C;YACD,GAAG,EAAE,mCAAmC;SAC3C;KACJ;IACD,SAAS,EAAE;QACP,WAAW,EAAE;YACT,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACpD,GAAG,EAAE,4BAA4B;SACpC;QACD,aAAa,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,sBAAsB,EAAE;KAC5E;IACD,YAAY,EAAE;QACV,6BAA6B,EAAE;YAC3B,OAAO,EAAE,EAAE,MAAM,EAAE,4CAA4C,EAAE;YACjE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE;oBACH,IAAI,EAAE,CAAC,gBAAgB,EAAE,mBAAmB,EAAE,oBAAoB,CAAC;oBACnE,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,QAAQ;iBACjB;gBACD,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1C;YACD,GAAG,EAAE,+BAA+B;SACvC;QACD,8BAA8B,EAAE;YAC5B,OAAO,EAAE,EAAE,MAAM,EAAE,4CAA4C,EAAE;YACjE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE;oBACH,IAAI,EAAE,CAAC,gBAAgB,EAAE,mBAAmB,EAAE,oBAAoB,CAAC;oBACnE,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,QAAQ;iBACjB;gBACD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,wCAAwC;SAChD;QACD,qBAAqB,EAAE;YACnB,OAAO,EAAE,EAAE,MAAM,EAAE,4CAA4C,EAAE;YACjE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACnD,GAAG,EAAE,+BAA+B;SACvC;QACD,sBAAsB,EAAE;YACpB,OAAO,EAAE,EAAE,MAAM,EAAE,4CAA4C,EAAE;YACjE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,wCAAwC;SAChD;QACD,wBAAwB,EAAE;YACtB,OAAO,EAAE,EAAE,MAAM,EAAE,4CAA4C,EAAE;YACjE,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACnD,GAAG,EAAE,+BAA+B;SACvC;QACD,yBAAyB,EAAE;YACvB,OAAO,EAAE,EAAE,MAAM,EAAE,4CAA4C,EAAE;YACjE,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,wCAAwC;SAChD;KACJ;IACD,MAAM,EAAE;QACJ,YAAY,EAAE;YACV,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC/B,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,oDAAoD;SAC5D;QACD,SAAS,EAAE;YACP,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC5C,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,iDAAiD;SACzD;QACD,aAAa,EAAE;YACX,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,yCAAyC;SACjD;QACD,MAAM,EAAE;YACJ,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5B,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC/B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC5B,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC9B,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5C;YACD,GAAG,EAAE,4BAA4B;SACpC;QACD,aAAa,EAAE;YACX,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,mDAAmD;SAC3D;QACD,WAAW,EAAE;YACT,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,4BAA4B;SACpC;QACD,eAAe,EAAE;YACb,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACnD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5C;YACD,GAAG,EAAE,gCAAgC;SACxC;QACD,aAAa,EAAE;YACX,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,iDAAiD;SACzD;QACD,WAAW,EAAE;YACT,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,kCAAkC;SAC1C;QACD,eAAe,EAAE;YACb,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,gBAAgB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACrD,MAAM,EAAE;oBACJ,KAAK,EAAE,kBAAkB;oBACzB,UAAU,EAAE,IAAI;oBAChB,IAAI,EAAE,SAAS;iBAClB;gBACD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,kDAAkD;SAC1D;QACD,GAAG,EAAE;YACD,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,0CAA0C;SAClD;QACD,UAAU,EAAE;YACR,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,iDAAiD;SACzD;QACD,QAAQ,EAAE;YACN,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,6CAA6C;SACrD;QACD,QAAQ,EAAE;YACN,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,kCAAkC;SAC1C;QACD,YAAY,EAAE;YACV,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,gBAAgB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACrD,MAAM,EAAE;oBACJ,KAAK,EAAE,kBAAkB;oBACzB,UAAU,EAAE,IAAI;oBAChB,IAAI,EAAE,SAAS;iBAClB;gBACD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,kDAAkD;SAC1D;QACD,IAAI,EAAE;YACF,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,MAAM,EAAE;oBACJ,IAAI,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,CAAC;oBAC/D,IAAI,EAAE,QAAQ;iBACjB;gBACD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAClE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC7D;YACD,GAAG,EAAE,SAAS;SACjB;QACD,aAAa,EAAE;YACX,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,+BAA+B;SACvC;QACD,YAAY,EAAE;YACV,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5B;YACD,GAAG,EAAE,mDAAmD;SAC3D;QACD,mBAAmB,EAAE;YACjB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aACzD;YACD,GAAG,EAAE,qCAAqC;SAC7C;QACD,UAAU,EAAE;YACR,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,iDAAiD;SACzD;QACD,iBAAiB,EAAE;YACf,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,mCAAmC;SAC3C;QACD,qBAAqB,EAAE;YACnB,OAAO,EAAE,EAAE,MAAM,EAAE,iDAAiD,EAAE;YACtE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,mDAAmD;SAC3D;QACD,wBAAwB,EAAE;YACtB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,MAAM,EAAE;oBACJ,IAAI,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,CAAC;oBAC/D,IAAI,EAAE,QAAQ;iBACjB;gBACD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAClE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC7D;YACD,GAAG,EAAE,cAAc;SACtB;QACD,UAAU,EAAE;YACR,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,MAAM,EAAE;oBACJ,IAAI,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,CAAC;oBAC/D,IAAI,EAAE,QAAQ;iBACjB;gBACD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAClE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC7D;YACD,GAAG,EAAE,mBAAmB;SAC3B;QACD,WAAW,EAAE;YACT,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3B,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7B,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAClE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC7D;YACD,GAAG,EAAE,4BAA4B;SACpC;QACD,sBAAsB,EAAE;YACpB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,gBAAgB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACrD,MAAM,EAAE;oBACJ,KAAK,EAAE,kBAAkB;oBACzB,UAAU,EAAE,IAAI;oBAChB,IAAI,EAAE,SAAS;iBAClB;gBACD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,yDAAyD;SACjE;QACD,iBAAiB,EAAE;YACf,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,4BAA4B;SACpC;QACD,iBAAiB,EAAE;YACf,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,iDAAiD;SACzD;QACD,qBAAqB,EAAE;YACnB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1D,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC7D;YACD,GAAG,EAAE,gCAAgC;SACxC;QACD,IAAI,EAAE;YACF,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,WAAW,EAAE;oBACT,IAAI,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,CAAC;oBACrD,IAAI,EAAE,QAAQ;iBACjB;gBACD,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,+CAA+C;SACvD;QACD,eAAe,EAAE;YACb,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC/B,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,oDAAoD;SAC5D;QACD,WAAW,EAAE;YACT,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,uDAAuD;SAC/D;QACD,YAAY,EAAE;YACV,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,iDAAiD;SACzD;QACD,aAAa,EAAE;YACX,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC5B,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,iDAAiD;SACzD;QACD,MAAM,EAAE;YACJ,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,+CAA+C;SACvD;QACD,MAAM,EAAE;YACJ,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5B,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC/B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC5B,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACnD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5B;YACD,GAAG,EAAE,0CAA0C;SAClD;QACD,aAAa,EAAE;YACX,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,iDAAiD;SACzD;QACD,WAAW,EAAE;YACT,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,0CAA0C;SAClD;QACD,eAAe,EAAE;YACb,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,gBAAgB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACrD,MAAM,EAAE;oBACJ,KAAK,EAAE,kBAAkB;oBACzB,UAAU,EAAE,IAAI;oBAChB,IAAI,EAAE,SAAS;iBAClB;gBACD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACnD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5B;YACD,GAAG,EAAE,kDAAkD;SAC1D;KACJ;IACD,QAAQ,EAAE;QACN,GAAG,EAAE;YACD,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACvD,GAAG,EAAE,oBAAoB;SAC5B;QACD,UAAU,EAAE;YACR,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,6BAA6B;SACrC;QACD,IAAI,EAAE;YACF,UAAU,EAAE,8FAA8F;YAC1G,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE;YACV,GAAG,EAAE,WAAW;SACnB;QACD,gBAAgB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE;KACpE;IACD,QAAQ,EAAE;QACN,MAAM,EAAE;YACJ,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3B,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACnD,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,WAAW;SACnB;QACD,SAAS,EAAE;YACP,OAAO,EAAE,EAAE,cAAc,EAAE,2BAA2B,EAAE;YACxD,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACnE,GAAG,EAAE,eAAe;SACvB;KACJ;IACD,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE;IAC1D,UAAU,EAAE;QACR,YAAY,EAAE;YACV,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,4BAA4B;SACpC;QACD,iCAAiC,EAAE;YAC/B,OAAO,EAAE,EAAE,MAAM,EAAE,+CAA+C,EAAE;YACpE,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,EAAE,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YAC7D,GAAG,EAAE,wCAAwC;SAChD;QACD,mBAAmB,EAAE;YACjB,OAAO,EAAE,EAAE,MAAM,EAAE,+CAA+C,EAAE;YACpE,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1C;YACD,GAAG,EAAE,6CAA6C;SACrD;QACD,qBAAqB,EAAE;YACnB,OAAO,EAAE,EAAE,MAAM,EAAE,+CAA+C,EAAE;YACpE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1C;YACD,GAAG,EAAE,6CAA6C;SACrD;QACD,8BAA8B,EAAE;YAC5B,OAAO,EAAE,EAAE,MAAM,EAAE,+CAA+C,EAAE;YACpE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YAC7D,GAAG,EAAE,wCAAwC;SAChD;QACD,gBAAgB,EAAE;YACd,UAAU,EAAE,mHAAmH;YAC/H,OAAO,EAAE,EAAE,MAAM,EAAE,+CAA+C,EAAE;YACpE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1C;YACD,GAAG,EAAE,6CAA6C;SACrD;QACD,gBAAgB,EAAE;YACd,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5B;YACD,GAAG,EAAE,oCAAoC;SAC5C;QACD,iBAAiB,EAAE;YACf,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,4BAA4B;SACpC;QACD,aAAa,EAAE;YACX,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,wCAAwC;SAChD;QACD,6BAA6B,EAAE;YAC3B,OAAO,EAAE,EAAE,MAAM,EAAE,+CAA+C,EAAE;YACpE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YAC7D,GAAG,EAAE,gCAAgC;SACxC;QACD,eAAe,EAAE;YACb,OAAO,EAAE,EAAE,MAAM,EAAE,+CAA+C,EAAE;YACpE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1C;YACD,GAAG,EAAE,qCAAqC;SAC7C;QACD,wBAAwB,EAAE;YACtB,OAAO,EAAE,EAAE,MAAM,EAAE,+CAA+C,EAAE;YACpE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACpE,GAAG,EAAE,kBAAkB;SAC1B;QACD,UAAU,EAAE;YACR,OAAO,EAAE,EAAE,MAAM,EAAE,+CAA+C,EAAE;YACpE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAChC;YACD,GAAG,EAAE,uBAAuB;SAC/B;QACD,eAAe,EAAE;YACb,OAAO,EAAE,EAAE,MAAM,EAAE,+CAA+C,EAAE;YACpE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAChC;YACD,GAAG,EAAE,kDAAkD;SAC1D;QACD,gBAAgB,EAAE;YACd,OAAO,EAAE,EAAE,MAAM,EAAE,+CAA+C,EAAE;YACpE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAChC;YACD,GAAG,EAAE,kCAAkC;SAC1C;QACD,eAAe,EAAE;YACb,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC9C,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,+CAA+C;SACvD;QACD,gBAAgB,EAAE;YACd,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3E;YACD,GAAG,EAAE,gCAAgC;SACxC;QACD,yBAAyB,EAAE;YACvB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,mBAAmB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACxC,iBAAiB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtC,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;aACrD;YACD,GAAG,EAAE,kBAAkB;SAC1B;QACD,WAAW,EAAE;YACT,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,mBAAmB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACxC,iBAAiB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;aACrD;YACD,GAAG,EAAE,uBAAuB;SAC/B;QACD,WAAW,EAAE;YACT,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChC,GAAG,EAAE;oBACD,IAAI,EAAE,CAAC,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC;oBAChD,IAAI,EAAE,QAAQ;iBACjB;gBACD,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3C,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aACnC;YACD,GAAG,EAAE,4BAA4B;SACpC;QACD,8BAA8B,EAAE;YAC5B,OAAO,EAAE,EAAE,MAAM,EAAE,+CAA+C,EAAE;YACpE,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,sDAAsD;SAC9D;QACD,gBAAgB,EAAE;YACd,OAAO,EAAE,EAAE,MAAM,EAAE,+CAA+C,EAAE;YACpE,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,2DAA2D;SACnE;QACD,YAAY,EAAE;YACV,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChC,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aACnC;YACD,GAAG,EAAE,4BAA4B;SACpC;KACJ;IACD,mBAAmB,EAAE;QACjB,kBAAkB,EAAE;YAChB,UAAU,EAAE,qHAAqH;YACjI,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChD,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,+CAA+C;SACvD;QACD,mBAAmB,EAAE;YACjB,UAAU,EAAE,uJAAuJ;YACnK,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7B,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACjC,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5B,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;aAC/B;YACD,GAAG,EAAE,iBAAiB;SACzB;QACD,mBAAmB,EAAE;YACjB,UAAU,EAAE,oJAAoJ;YAChK,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,EAAE,gBAAgB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACjE,GAAG,EAAE,mCAAmC;SAC3C;QACD,WAAW,EAAE;YACT,UAAU,EAAE,mIAAmI;YAC/I,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACzD,GAAG,EAAE,gCAAgC;SACxC;QACD,gBAAgB,EAAE;YACd,UAAU,EAAE,oJAAoJ;YAChK,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,gBAAgB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACjE,GAAG,EAAE,mCAAmC;SAC3C;QACD,QAAQ,EAAE;YACN,UAAU,EAAE,oIAAoI;YAChJ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACzD,GAAG,EAAE,gCAAgC;SACxC;QACD,8BAA8B,EAAE;YAC5B,UAAU,EAAE,yLAAyL;YACrM,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7C,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACjD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5B,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;aAC/B;YACD,GAAG,EAAE,oCAAoC;SAC5C;QACD,4CAA4C,EAAE;YAC1C,UAAU,EAAE,uNAAuN;YACnO,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7C,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACjD,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/C,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5B,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;aAC/B;YACD,GAAG,EAAE,iDAAiD;SACzD;QACD,yCAAyC,EAAE;YACvC,UAAU,EAAE,qLAAqL;YACjM,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7C,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACjD,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/C,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5B,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;aAC/B;YACD,GAAG,EAAE,iDAAiD;SACzD;QACD,kBAAkB,EAAE;YAChB,UAAU,EAAE,oJAAoJ;YAChK,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACpE,GAAG,EAAE,iBAAiB;SACzB;QACD,UAAU,EAAE;YACR,UAAU,EAAE,oIAAoI;YAChJ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACpE,GAAG,EAAE,sBAAsB;SAC9B;QACD,kBAAkB,EAAE;YAChB,UAAU,EAAE,qHAAqH;YACjI,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChD,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,+CAA+C;SACvD;QACD,iCAAiC,EAAE;YAC/B,UAAU,EAAE,mJAAmJ;YAC/J,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChD,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,+CAA+C;SACvD;QACD,yBAAyB,EAAE;YACvB,UAAU,EAAE,mIAAmI;YAC/I,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChD,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,+CAA+C;SACvD;QACD,mBAAmB,EAAE;YACjB,UAAU,EAAE,6JAA6J;YACzK,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBAChC,gBAAgB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACrD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5B,aAAa,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBACnC,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;aAC/B;YACD,GAAG,EAAE,mCAAmC;SAC3C;KACJ;IACD,IAAI,EAAE;QACF,qBAAqB,EAAE;YACnB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACnD,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,kCAAkC;SAC1C;QACD,SAAS,EAAE;YACP,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,6BAA6B;SACrC;QACD,gBAAgB,EAAE;YACd,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,6BAA6B;SACrC;QACD,eAAe,EAAE;YACb,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,8BAA8B;SACtC;QACD,qBAAqB,EAAE;YACnB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,qCAAqC;SAC7C;QACD,iBAAiB,EAAE;YACf,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,qCAAqC;SAC7C;QACD,kCAAkC,EAAE;YAChC,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,4CAA4C;SACpD;QACD,UAAU,EAAE;YACR,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC3B,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,qBAAqB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,qBAAqB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACnC,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChD,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC5B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1C;YACD,GAAG,EAAE,kBAAkB;SAC1B;QACD,gBAAgB,EAAE;YACd,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/B,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE;oBACF,IAAI,EAAE,CAAC,OAAO,EAAE,eAAe,EAAE,iBAAiB,CAAC;oBACnD,IAAI,EAAE,QAAQ;iBACjB;gBACD,QAAQ,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;aAClC;YACD,GAAG,EAAE,wBAAwB;SAChC;QACD,UAAU,EAAE;YACR,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1C;YACD,GAAG,EAAE,2BAA2B;SACnC;QACD,GAAG,EAAE;YACD,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACnD,GAAG,EAAE,YAAY;SACpB;QACD,OAAO,EAAE;YACL,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1C;YACD,GAAG,EAAE,2BAA2B;SACnC;QACD,aAAa,EAAE;YACX,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,kCAAkC;SAC1C;QACD,iCAAiC,EAAE;YAC/B,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACnD,GAAG,EAAE,6BAA6B;SACrC;QACD,IAAI,EAAE;YACF,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAC7B;YACD,GAAG,EAAE,gBAAgB;SACxB;QACD,gBAAgB,EAAE;YACd,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACnD,GAAG,EAAE,mBAAmB;SAC3B;QACD,wBAAwB,EAAE;YACtB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACpE,GAAG,EAAE,YAAY;SACpB;QACD,WAAW,EAAE;YACT,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,uBAAuB;SAC/B;QACD,SAAS,EAAE;YACP,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAChC;YACD,GAAG,EAAE,kBAAkB;SAC1B;QACD,iBAAiB,EAAE;YACf,OAAO,EAAE,EAAE,MAAM,EAAE,iDAAiD,EAAE;YACtE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAChC;YACD,GAAG,EAAE,0BAA0B;SAClC;QACD,mBAAmB,EAAE;YACjB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAClD,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAChC;YACD,GAAG,EAAE,6CAA6C;SACrD;QACD,WAAW,EAAE;YACT,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzD,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC7D;YACD,GAAG,EAAE,oBAAoB;SAC5B;QACD,eAAe,EAAE;YACb,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aACzD;YACD,GAAG,EAAE,wBAAwB;SAChC;QACD,wBAAwB,EAAE;YACtB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzD,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAChC;YACD,GAAG,EAAE,kCAAkC;SAC1C;QACD,sBAAsB,EAAE;YACpB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAChC;YACD,GAAG,EAAE,wBAAwB;SAChC;QACD,iBAAiB,EAAE;YACf,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAChC;YACD,GAAG,EAAE,2BAA2B;SACnC;QACD,QAAQ,EAAE;YACN,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1C;YACD,GAAG,EAAE,iCAAiC;SACzC;QACD,mBAAmB,EAAE;YACjB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,qCAAqC;SAC7C;QACD,YAAY,EAAE;YACV,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,8BAA8B;SACtC;QACD,gBAAgB,EAAE;YACd,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,kCAAkC;SAC1C;QACD,yBAAyB,EAAE;YACvB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,4CAA4C;SACpD;QACD,WAAW,EAAE;YACT,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,6BAA6B;SACrC;QACD,MAAM,EAAE;YACJ,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACjC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3B,6BAA6B,EAAE;oBAC3B,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC;oBACxC,IAAI,EAAE,QAAQ;iBACjB;gBACD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,yBAAyB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC9C,uBAAuB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5B,wCAAwC,EAAE;oBACtC,IAAI,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC;oBAChC,IAAI,EAAE,QAAQ;iBACjB;gBACD,wCAAwC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7D,uCAAuC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5D,sCAAsC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC3D,+BAA+B,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpD,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1C;YACD,GAAG,EAAE,YAAY;SACpB;QACD,UAAU,EAAE;YACR,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC3B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,qBAAqB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,qBAAqB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACnC,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChD,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC5B,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1C;YACD,GAAG,EAAE,2BAA2B;SACnC;QACD,gBAAgB,EAAE;YACd,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC9D;YACD,GAAG,EAAE,6BAA6B;SACrC;KACJ;IACD,QAAQ,EAAE;QACN,eAAe,EAAE;YACb,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChE,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,+CAA+C;SACvD;QACD,UAAU,EAAE;YACR,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC9C,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/B,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3B;YACD,GAAG,EAAE,oCAAoC;SAC5C;QACD,YAAY,EAAE;YACV,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAClD;YACD,GAAG,EAAE,+BAA+B;SACvC;QACD,0BAA0B,EAAE;YACxB,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,gBAAgB;SACxB;QACD,YAAY,EAAE;YACV,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1C;YACD,GAAG,EAAE,qBAAqB;SAC7B;QACD,aAAa,EAAE;YACX,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,8BAA8B;SACtC;QACD,MAAM,EAAE;YACJ,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YAC3D,GAAG,EAAE,uBAAuB;SAC/B;QACD,UAAU,EAAE;YACR,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACxD,GAAG,EAAE,kCAAkC;SAC1C;QACD,YAAY,EAAE;YACV,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YAC1D,GAAG,EAAE,8BAA8B;SACtC;QACD,GAAG,EAAE;YACD,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YAC3D,GAAG,EAAE,uBAAuB;SAC/B;QACD,OAAO,EAAE;YACL,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACxD,GAAG,EAAE,kCAAkC;SAC1C;QACD,SAAS,EAAE;YACP,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YAC1D,GAAG,EAAE,8BAA8B;SACtC;QACD,SAAS,EAAE;YACP,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,cAAc,EAAE;oBACZ,IAAI,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,cAAc,CAAC;oBACzC,IAAI,EAAE,QAAQ;iBACjB;gBACD,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC9C,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAChC;YACD,GAAG,EAAE,oCAAoC;SAC5C;QACD,iBAAiB,EAAE;YACf,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACnE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAClD;YACD,GAAG,EAAE,qCAAqC;SAC7C;QACD,WAAW,EAAE;YACT,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAClD;YACD,GAAG,EAAE,+BAA+B;SACvC;QACD,UAAU,EAAE;YACR,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC7D;YACD,GAAG,EAAE,qBAAqB;SAC7B;QACD,WAAW,EAAE;YACT,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC7D;YACD,GAAG,EAAE,8BAA8B;SACtC;QACD,WAAW,EAAE;YACT,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1D,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,2BAA2B;SACnC;QACD,QAAQ,EAAE;YACN,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC9B,QAAQ,EAAE;oBACN,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE,2BAA2B;iBAC1C;aACJ;YACD,GAAG,EAAE,wCAAwC;SAChD;QACD,UAAU,EAAE;YACR,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC9C,QAAQ,EAAE;oBACN,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE,2BAA2B;iBAC1C;aACJ;YACD,GAAG,EAAE,oCAAoC;SAC5C;QACD,kBAAkB,EAAE;YAChB,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,+CAA+C;SACvD;QACD,yBAAyB,EAAE;YACvB,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,0DAA0D;SAClE;QACD,MAAM,EAAE;YACJ,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,uBAAuB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3C,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5B,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aACtD;YACD,GAAG,EAAE,uBAAuB;SAC/B;QACD,UAAU,EAAE;YACR,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3B;YACD,GAAG,EAAE,kCAAkC;SAC1C;QACD,YAAY,EAAE;YACV,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC9C,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,8BAA8B;SACtC;KACJ;IACD,KAAK,EAAE;QACH,aAAa,EAAE;YACX,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChD,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,8CAA8C;SACtD;QACD,MAAM,EAAE;YACJ,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC1B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,qBAAqB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5C;YACD,GAAG,EAAE,2BAA2B;SACnC;QACD,aAAa,EAAE;YACX,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7C,WAAW,EAAE;oBACT,UAAU,EAAE,IAAI;oBAChB,WAAW,EAAE,sJAAsJ;oBACnK,IAAI,EAAE,SAAS;iBAClB;gBACD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChD,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACjD,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/B,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aAClE;YACD,GAAG,EAAE,iDAAiD;SACzD;QACD,kBAAkB,EAAE;YAChB,UAAU,EAAE,mGAAmG;YAC/G,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7C,WAAW,EAAE;oBACT,UAAU,EAAE,IAAI;oBAChB,WAAW,EAAE,sJAAsJ;oBACnK,IAAI,EAAE,SAAS;iBAClB;gBACD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChD,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACjD,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/B,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aAClE;YACD,GAAG,EAAE,iDAAiD;SACzD;QACD,eAAe,EAAE;YACb,UAAU,EAAE,iHAAiH;YAC7H,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC1B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC1C,qBAAqB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,2BAA2B;SACnC;QACD,YAAY,EAAE;YACV,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC9B,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACrD,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACrD,qBAAqB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC1D,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7B,KAAK,EAAE;oBACH,IAAI,EAAE,CAAC,SAAS,EAAE,iBAAiB,EAAE,SAAS,CAAC;oBAC/C,IAAI,EAAE,QAAQ;iBACjB;gBACD,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChD,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,gDAAgD;SACxD;QACD,wBAAwB,EAAE;YACtB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChD,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,qEAAqE;SAC7E;QACD,mBAAmB,EAAE;YACjB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChD,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC/B,cAAc,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;aACvC;YACD,GAAG,EAAE,4DAA4D;SACpE;QACD,aAAa,EAAE;YACX,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,gDAAgD;SACxD;QACD,mBAAmB,EAAE;YACjB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChD,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aACjD;YACD,GAAG,EAAE,2DAA2D;SACnE;QACD,mBAAmB,EAAE;YACjB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChD,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC/B,cAAc,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;aACvC;YACD,GAAG,EAAE,4DAA4D;SACpE;QACD,aAAa,EAAE;YACX,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3C,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChD,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aACjD;YACD,GAAG,EAAE,sEAAsE;SAC9E;QACD,GAAG,EAAE;YACD,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChD,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,wCAAwC;SAChD;QACD,UAAU,EAAE;YACR,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,gDAAgD;SACxD;QACD,oBAAoB,EAAE;YAClB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChD,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aACjD;YACD,GAAG,EAAE,oEAAoE;SAC5E;QACD,SAAS,EAAE;YACP,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChD,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aACjD;YACD,GAAG,EAAE,2DAA2D;SACnE;QACD,IAAI,EAAE;YACF,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,IAAI,EAAE;oBACF,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,CAAC;oBAC1D,IAAI,EAAE,QAAQ;iBACjB;gBACD,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC7D;YACD,GAAG,EAAE,2BAA2B;SACnC;QACD,YAAY,EAAE;YACV,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChD,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aACzD;YACD,GAAG,EAAE,iDAAiD;SACzD;QACD,mBAAmB,EAAE;YACjB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aACzD;YACD,GAAG,EAAE,oCAAoC;SAC5C;QACD,WAAW,EAAE;YACT,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChD,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,gDAAgD;SACxD;QACD,SAAS,EAAE;YACP,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChD,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,8CAA8C;SACtD;QACD,kBAAkB,EAAE;YAChB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChD,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,4DAA4D;SACpE;QACD,WAAW,EAAE;YACT,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChD,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,gDAAgD;SACxD;QACD,KAAK,EAAE;YACH,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAClC,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChC,YAAY,EAAE,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACrE,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChD,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1B;YACD,GAAG,EAAE,8CAA8C;SACtD;QACD,YAAY,EAAE;YACV,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,KAAK,EAAE;oBACH,IAAI,EAAE,CAAC,SAAS,EAAE,iBAAiB,EAAE,SAAS,CAAC;oBAC/C,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,QAAQ;iBACjB;gBACD,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChD,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aACjD;YACD,GAAG,EAAE,kEAAkE;SAC1E;QACD,MAAM,EAAE;YACJ,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,qBAAqB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC1C,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChD,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACnD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5B;YACD,GAAG,EAAE,wCAAwC;SAChD;QACD,YAAY,EAAE;YACV,OAAO,EAAE,EAAE,MAAM,EAAE,4CAA4C,EAAE;YACjE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACrC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChD,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,sDAAsD;SAC9D;QACD,aAAa,EAAE;YACX,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,gDAAgD;SACxD;QACD,YAAY,EAAE;YACV,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChD,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aACjD;YACD,GAAG,EAAE,2DAA2D;SACnE;KACJ;IACD,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE;IACrE,SAAS,EAAE;QACP,sBAAsB,EAAE;YACpB,OAAO,EAAE,EAAE,MAAM,EAAE,mDAAmD,EAAE;YACxE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,OAAO,EAAE;oBACL,IAAI,EAAE;wBACF,IAAI;wBACJ,IAAI;wBACJ,OAAO;wBACP,UAAU;wBACV,OAAO;wBACP,QAAQ;wBACR,QAAQ;wBACR,MAAM;qBACT;oBACD,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,QAAQ;iBACjB;gBACD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,oDAAoD;SAC5D;QACD,cAAc,EAAE;YACZ,OAAO,EAAE,EAAE,MAAM,EAAE,mDAAmD,EAAE;YACxE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,OAAO,EAAE;oBACL,IAAI,EAAE;wBACF,IAAI;wBACJ,IAAI;wBACJ,OAAO;wBACP,UAAU;wBACV,OAAO;wBACP,QAAQ;wBACR,QAAQ;wBACR,MAAM;qBACT;oBACD,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,QAAQ;iBACjB;gBACD,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,oDAAoD;SAC5D;QACD,qBAAqB,EAAE;YACnB,OAAO,EAAE,EAAE,MAAM,EAAE,mDAAmD,EAAE;YACxE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,OAAO,EAAE;oBACL,IAAI,EAAE;wBACF,IAAI;wBACJ,IAAI;wBACJ,OAAO;wBACP,UAAU;wBACV,OAAO;wBACP,QAAQ;wBACR,QAAQ;wBACR,MAAM;qBACT;oBACD,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,QAAQ;iBACjB;gBACD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,2DAA2D;SACnE;QACD,iCAAiC,EAAE;YAC/B,OAAO,EAAE,EAAE,MAAM,EAAE,mDAAmD,EAAE;YACxE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,OAAO,EAAE;oBACL,IAAI,EAAE;wBACF,IAAI;wBACJ,IAAI;wBACJ,OAAO;wBACP,UAAU;wBACV,OAAO;wBACP,QAAQ;wBACR,QAAQ;wBACR,MAAM;qBACT;oBACD,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,QAAQ;iBACjB;gBACD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,0DAA0D;SAClE;QACD,uBAAuB,EAAE;YACrB,UAAU,EAAE,gIAAgI;YAC5I,OAAO,EAAE,EAAE,MAAM,EAAE,mDAAmD,EAAE;YACxE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,OAAO,EAAE;oBACL,IAAI,EAAE;wBACF,IAAI;wBACJ,IAAI;wBACJ,OAAO;wBACP,UAAU;wBACV,OAAO;wBACP,QAAQ;wBACR,QAAQ;wBACR,MAAM;qBACT;oBACD,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,QAAQ;iBACjB;gBACD,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,0DAA0D;SAClE;QACD,8BAA8B,EAAE;YAC5B,UAAU,EAAE,8IAA8I;YAC1J,OAAO,EAAE,EAAE,MAAM,EAAE,mDAAmD,EAAE;YACxE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnD,OAAO,EAAE;oBACL,IAAI,EAAE;wBACF,IAAI;wBACJ,IAAI;wBACJ,OAAO;wBACP,UAAU;wBACV,OAAO;wBACP,QAAQ;wBACR,QAAQ;wBACR,MAAM;qBACT;oBACD,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,QAAQ;iBACjB;gBACD,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,mFAAmF;SAC3F;QACD,mCAAmC,EAAE;YACjC,OAAO,EAAE,EAAE,MAAM,EAAE,mDAAmD,EAAE;YACxE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnD,OAAO,EAAE;oBACL,IAAI,EAAE;wBACF,IAAI;wBACJ,IAAI;wBACJ,OAAO;wBACP,UAAU;wBACV,OAAO;wBACP,QAAQ;wBACR,QAAQ;wBACR,MAAM;qBACT;oBACD,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,QAAQ;iBACjB;gBACD,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,+FAA+F;SACvG;QACD,oCAAoC,EAAE;YAClC,UAAU,EAAE,6KAA6K;YACzL,OAAO,EAAE,EAAE,MAAM,EAAE,mDAAmD,EAAE;YACxE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnD,OAAO,EAAE;oBACL,IAAI,EAAE;wBACF,IAAI;wBACJ,IAAI;wBACJ,OAAO;wBACP,UAAU;wBACV,OAAO;wBACP,QAAQ;wBACR,QAAQ;wBACR,MAAM;qBACT;oBACD,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,QAAQ;iBACjB;gBACD,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,mFAAmF;SAC3F;QACD,4BAA4B,EAAE;YAC1B,OAAO,EAAE,EAAE,MAAM,EAAE,mDAAmD,EAAE;YACxE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,OAAO,EAAE;oBACL,IAAI,EAAE;wBACF,IAAI;wBACJ,IAAI;wBACJ,OAAO;wBACP,UAAU;wBACV,OAAO;wBACP,QAAQ;wBACR,QAAQ;wBACR,MAAM;qBACT;oBACD,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,QAAQ;iBACjB;gBACD,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,sEAAsE;SAC9E;QACD,6BAA6B,EAAE;YAC3B,UAAU,EAAE,8JAA8J;YAC1K,OAAO,EAAE,EAAE,MAAM,EAAE,mDAAmD,EAAE;YACxE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,OAAO,EAAE;oBACL,IAAI,EAAE;wBACF,IAAI;wBACJ,IAAI;wBACJ,OAAO;wBACP,UAAU;wBACV,OAAO;wBACP,QAAQ;wBACR,QAAQ;wBACR,MAAM;qBACT;oBACD,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,QAAQ;iBACjB;gBACD,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,0DAA0D;SAClE;QACD,MAAM,EAAE;YACJ,OAAO,EAAE,EAAE,MAAM,EAAE,mDAAmD,EAAE;YACxE,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YAC5D,GAAG,EAAE,yBAAyB;SACjC;QACD,oBAAoB,EAAE;YAClB,OAAO,EAAE,EAAE,MAAM,EAAE,mDAAmD,EAAE;YACxE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,OAAO,EAAE;oBACL,IAAI,EAAE;wBACF,IAAI;wBACJ,IAAI;wBACJ,OAAO;wBACP,UAAU;wBACV,OAAO;wBACP,QAAQ;wBACR,QAAQ;wBACR,MAAM;qBACT;oBACD,IAAI,EAAE,QAAQ;iBACjB;gBACD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,oDAAoD;SAC5D;QACD,YAAY,EAAE;YACV,OAAO,EAAE,EAAE,MAAM,EAAE,mDAAmD,EAAE;YACxE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,OAAO,EAAE;oBACL,IAAI,EAAE;wBACF,IAAI;wBACJ,IAAI;wBACJ,OAAO;wBACP,UAAU;wBACV,OAAO;wBACP,QAAQ;wBACR,QAAQ;wBACR,MAAM;qBACT;oBACD,IAAI,EAAE,QAAQ;iBACjB;gBACD,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,oDAAoD;SAC5D;QACD,mBAAmB,EAAE;YACjB,OAAO,EAAE,EAAE,MAAM,EAAE,mDAAmD,EAAE;YACxE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,OAAO,EAAE;oBACL,IAAI,EAAE;wBACF,IAAI;wBACJ,IAAI;wBACJ,OAAO;wBACP,UAAU;wBACV,OAAO;wBACP,QAAQ;wBACR,QAAQ;wBACR,MAAM;qBACT;oBACD,IAAI,EAAE,QAAQ;iBACjB;gBACD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,2DAA2D;SACnE;QACD,+BAA+B,EAAE;YAC7B,OAAO,EAAE,EAAE,MAAM,EAAE,mDAAmD,EAAE;YACxE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,OAAO,EAAE;oBACL,IAAI,EAAE;wBACF,IAAI;wBACJ,IAAI;wBACJ,OAAO;wBACP,UAAU;wBACV,OAAO;wBACP,QAAQ;wBACR,QAAQ;wBACR,MAAM;qBACT;oBACD,IAAI,EAAE,QAAQ;iBACjB;gBACD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,0DAA0D;SAClE;QACD,qBAAqB,EAAE;YACnB,UAAU,EAAE,4HAA4H;YACxI,OAAO,EAAE,EAAE,MAAM,EAAE,mDAAmD,EAAE;YACxE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,OAAO,EAAE;oBACL,IAAI,EAAE;wBACF,IAAI;wBACJ,IAAI;wBACJ,OAAO;wBACP,UAAU;wBACV,OAAO;wBACP,QAAQ;wBACR,QAAQ;wBACR,MAAM;qBACT;oBACD,IAAI,EAAE,QAAQ;iBACjB;gBACD,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,0DAA0D;SAClE;QACD,4BAA4B,EAAE;YAC1B,UAAU,EAAE,0IAA0I;YACtJ,OAAO,EAAE,EAAE,MAAM,EAAE,mDAAmD,EAAE;YACxE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnD,OAAO,EAAE;oBACL,IAAI,EAAE;wBACF,IAAI;wBACJ,IAAI;wBACJ,OAAO;wBACP,UAAU;wBACV,OAAO;wBACP,QAAQ;wBACR,QAAQ;wBACR,MAAM;qBACT;oBACD,IAAI,EAAE,QAAQ;iBACjB;gBACD,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,mFAAmF;SAC3F;QACD,iCAAiC,EAAE;YAC/B,OAAO,EAAE,EAAE,MAAM,EAAE,mDAAmD,EAAE;YACxE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnD,OAAO,EAAE;oBACL,IAAI,EAAE;wBACF,IAAI;wBACJ,IAAI;wBACJ,OAAO;wBACP,UAAU;wBACV,OAAO;wBACP,QAAQ;wBACR,QAAQ;wBACR,MAAM;qBACT;oBACD,IAAI,EAAE,QAAQ;iBACjB;gBACD,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,+FAA+F;SACvG;QACD,kCAAkC,EAAE;YAChC,UAAU,EAAE,0KAA0K;YACtL,OAAO,EAAE,EAAE,MAAM,EAAE,mDAAmD,EAAE;YACxE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnD,OAAO,EAAE;oBACL,IAAI,EAAE;wBACF,IAAI;wBACJ,IAAI;wBACJ,OAAO;wBACP,UAAU;wBACV,OAAO;wBACP,QAAQ;wBACR,QAAQ;wBACR,MAAM;qBACT;oBACD,IAAI,EAAE,QAAQ;iBACjB;gBACD,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,mFAAmF;SAC3F;QACD,0BAA0B,EAAE;YACxB,OAAO,EAAE,EAAE,MAAM,EAAE,mDAAmD,EAAE;YACxE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,OAAO,EAAE;oBACL,IAAI,EAAE;wBACF,IAAI;wBACJ,IAAI;wBACJ,OAAO;wBACP,UAAU;wBACV,OAAO;wBACP,QAAQ;wBACR,QAAQ;wBACR,MAAM;qBACT;oBACD,IAAI,EAAE,QAAQ;iBACjB;gBACD,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,sEAAsE;SAC9E;QACD,2BAA2B,EAAE;YACzB,UAAU,EAAE,2JAA2J;YACvK,OAAO,EAAE,EAAE,MAAM,EAAE,mDAAmD,EAAE;YACxE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,OAAO,EAAE;oBACL,IAAI,EAAE;wBACF,IAAI;wBACJ,IAAI;wBACJ,OAAO;wBACP,UAAU;wBACV,OAAO;wBACP,QAAQ;wBACR,QAAQ;wBACR,MAAM;qBACT;oBACD,IAAI,EAAE,QAAQ;iBACjB;gBACD,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,0DAA0D;SAClE;KACJ;IACD,KAAK,EAAE;QACH,gBAAgB,EAAE;YACd,MAAM,EAAE,OAAO;YACf,MAAM,EAAE,EAAE,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YAC9D,GAAG,EAAE,6CAA6C;SACrD;QACD,eAAe,EAAE;YACb,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/D,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,6CAA6C;SACrD;QACD,YAAY,EAAE;YACV,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC9B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5B;YACD,GAAG,EAAE,0BAA0B;SAClC;QACD,kCAAkC,EAAE;YAChC,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,gEAAgE;SACxE;QACD,iCAAiC,EAAE;YAC/B,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;gBACzD,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,mEAAmE;SAC3E;QACD,oCAAoC,EAAE;YAClC,OAAO,EAAE,EAAE,MAAM,EAAE,2CAA2C,EAAE;YAChE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,qEAAqE;SAC7E;QACD,8CAA8C,EAAE;YAC5C,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC7D,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,iFAAiF;SACzF;QACD,kCAAkC,EAAE;YAChC,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;aAC7D;YACD,GAAG,EAAE,oEAAoE;SAC5E;QACD,kCAAkC,EAAE;YAChC,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;aAC7D;YACD,GAAG,EAAE,oEAAoE;SAC5E;QACD,iBAAiB,EAAE;YACf,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,6CAA6C;SACrD;QACD,wBAAwB,EAAE;YACtB,OAAO,EAAE,EAAE,MAAM,EAAE,4CAA4C,EAAE;YACjE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,0CAA0C;SAClD;QACD,cAAc,EAAE;YACZ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,2CAA2C;SACnD;QACD,mBAAmB,EAAE;YACjB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC9C,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,GAAG,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aACjE;YACD,GAAG,EAAE,kDAAkD;SAC1D;QACD,gBAAgB,EAAE;YACd,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3B,sBAAsB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC3C,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,iBAAiB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBACvC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,qBAAqB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAC7C;YACD,GAAG,EAAE,iCAAiC;SACzC;QACD,sBAAsB,EAAE;YACpB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,aAAa,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAClC,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAClD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACtE,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACnC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3B,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE;oBACH,IAAI,EAAE;wBACF,OAAO;wBACP,SAAS;wBACT,UAAU;wBACV,aAAa;wBACb,QAAQ;wBACR,SAAS;wBACT,SAAS;qBACZ;oBACD,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,QAAQ;iBACjB;gBACD,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aACjC;YACD,GAAG,EAAE,yDAAyD;SACjE;QACD,mBAAmB,EAAE;YACjB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAClC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC9B,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,gCAAgC;SACxC;QACD,UAAU,EAAE;YACR,UAAU,EAAE,gGAAgG;YAC5G,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAClD,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACjD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7B,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACrD,gBAAgB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3C,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1B;YACD,GAAG,EAAE,oCAAoC;SAC5C;QACD,0BAA0B,EAAE;YACxB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,kBAAkB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACvC,kBAAkB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACvC,kBAAkB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACvC,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC9B,sBAAsB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC3C,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,kBAAkB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACtC,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/B,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjC,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5B,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChC,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5B,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5B,UAAU,EAAE;oBACR,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,CAAC;oBACrD,IAAI,EAAE,QAAQ;iBACjB;aACJ;YACD,GAAG,EAAE,aAAa;SACrB;QACD,UAAU,EAAE;YACR,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,2BAA2B;SACnC;QACD,UAAU,EAAE;YACR,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC3B,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,qBAAqB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,qBAAqB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACnC,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChD,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC5B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,2BAA2B;SACnC;QACD,WAAW,EAAE;YACT,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,kBAAkB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACvC,kBAAkB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACvC,kBAAkB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACvC,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC9B,sBAAsB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC3C,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,kBAAkB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACtC,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/B,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjC,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5B,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChC,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5B,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5B,UAAU,EAAE;oBACR,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,CAAC;oBACrD,IAAI,EAAE,QAAQ;iBACjB;aACJ;YACD,GAAG,EAAE,kBAAkB;SAC1B;QACD,kBAAkB,EAAE;YAChB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAClD,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACjD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7B,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACrD,gBAAgB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3C,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1B;YACD,GAAG,EAAE,oCAAoC;SAC5C;QACD,aAAa,EAAE;YACX,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC1B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5C,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aACvC;YACD,GAAG,EAAE,8BAA8B;SACtC;QACD,YAAY,EAAE;YACV,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,KAAK,EAAE;oBACH,IAAI,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;oBAChD,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,QAAQ;iBACjB;gBACD,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aACjC;YACD,GAAG,EAAE,mCAAmC;SAC3C;QACD,mBAAmB,EAAE;YACjB,OAAO,EAAE,EAAE,MAAM,EAAE,8CAA8C,EAAE;YACnE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5B,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAClD,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aACpD;YACD,GAAG,EAAE,gDAAgD;SACxD;QACD,iBAAiB,EAAE;YACf,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,EAAE,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YAC9D,GAAG,EAAE,6CAA6C;SACrD;QACD,MAAM,EAAE;YACJ,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,qBAAqB;SAC7B;QACD,mBAAmB,EAAE;YACjB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,0CAA0C;SAClD;QACD,cAAc,EAAE;YACZ,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,4CAA4C;SACpD;QACD,UAAU,EAAE;YACR,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAClC,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACjC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7B,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACrC,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1C;YACD,GAAG,EAAE,oCAAoC;SAC5C;QACD,UAAU,EAAE;YACR,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,oCAAoC;SAC5C;QACD,gBAAgB,EAAE;YACd,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAClD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,gDAAgD;SACxD;QACD,aAAa,EAAE;YACX,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,0CAA0C;SAClD;QACD,kBAAkB,EAAE;YAChB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,+CAA+C;SACvD;QACD,6BAA6B,EAAE;YAC3B,OAAO,EAAE,EAAE,MAAM,EAAE,4CAA4C,EAAE;YACjE,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,8CAA8C;SACtD;QACD,gBAAgB,EAAE;YACd,OAAO,EAAE,EAAE,MAAM,EAAE,gDAAgD,EAAE;YACrE,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,2BAA2B;SACnC;QACD,0BAA0B,EAAE;YACxB,OAAO,EAAE,EAAE,MAAM,EAAE,4CAA4C,EAAE;YACjE,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,0CAA0C;SAClD;QACD,4BAA4B,EAAE;YAC1B,OAAO,EAAE,EAAE,MAAM,EAAE,4CAA4C,EAAE;YACjE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,8CAA8C;SACtD;QACD,eAAe,EAAE;YACb,OAAO,EAAE,EAAE,MAAM,EAAE,gDAAgD,EAAE;YACrE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,eAAe,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACjE,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aACpC;YACD,GAAG,EAAE,2BAA2B;SACnC;QACD,yBAAyB,EAAE;YACvB,OAAO,EAAE,EAAE,MAAM,EAAE,4CAA4C,EAAE;YACjE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,0CAA0C;SAClD;QACD,GAAG,EAAE;YACD,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,qBAAqB;SAC7B;QACD,kCAAkC,EAAE;YAChC,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,mEAAmE;SAC3E;QACD,cAAc,EAAE;YACZ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAClD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,0CAA0C;SAClD;QACD,SAAS,EAAE;YACP,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,sCAAsC;SAC9C;QACD,mBAAmB,EAAE;YACjB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,iDAAiD;SACzD;QACD,SAAS,EAAE;YACP,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC9C,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,oCAAoC;SAC5C;QACD,qBAAqB,EAAE;YACnB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,0CAA0C;SAClD;QACD,8BAA8B,EAAE;YAC5B,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,wDAAwD;SAChE;QACD,uBAAuB,EAAE;YACrB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,yCAAyC;SACjD;QACD,SAAS,EAAE;YACP,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC9D,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1D;YACD,GAAG,EAAE,kCAAkC;SAC1C;QACD,sBAAsB,EAAE;YACpB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,2CAA2C;SACnD;QACD,gBAAgB,EAAE;YACd,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,0CAA0C;SAClD;QACD,eAAe,EAAE;YACb,UAAU,EAAE,uHAAuH;YACnI,OAAO,EAAE,EAAE,MAAM,EAAE,+BAA+B,EAAE;YACpD,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,kCAAkC;SAC1C;QACD,WAAW,EAAE;YACT,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvB,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,oCAAoC;SAC5C;QACD,oBAAoB,EAAE;YAClB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,wCAAwC;SAChD;QACD,YAAY,EAAE;YACV,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC3C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,kCAAkC;SAC1C;QACD,aAAa,EAAE;YACX,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAClD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,gDAAgD;SACxD;QACD,mBAAmB,EAAE;YACjB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAClD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aACjD;YACD,GAAG,EAAE,oEAAoE;SAC5E;QACD,WAAW,EAAE;YACT,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,4CAA4C;SACpD;QACD,OAAO,EAAE;YACL,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,oCAAoC;SAC5C;QACD,mBAAmB,EAAE;YACjB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,yCAAyC;SACjD;QACD,gBAAgB,EAAE;YACd,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,qCAAqC;SAC7C;QACD,QAAQ,EAAE;YACN,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,2BAA2B;SACnC;QACD,aAAa,EAAE;YACX,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,4CAA4C;SACpD;QACD,qBAAqB,EAAE;YACnB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,yCAAyC;SACjD;QACD,kCAAkC,EAAE;YAChC,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,gEAAgE;SACxE;QACD,8CAA8C,EAAE;YAC5C,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,+EAA+E;SACvF;QACD,oCAAoC,EAAE;YAClC,OAAO,EAAE,EAAE,MAAM,EAAE,2CAA2C,EAAE;YAChE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,qEAAqE;SAC7E;QACD,sCAAsC,EAAE;YACpC,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,wEAAwE;SAChF;QACD,8BAA8B,EAAE;YAC5B,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,8DAA8D;SACtE;QACD,iBAAiB,EAAE;YACf,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,sCAAsC;SAC9C;QACD,SAAS,EAAE;YACP,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvB,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,4BAA4B;SACpC;QACD,UAAU,EAAE;YACR,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,0CAA0C;SAClD;QACD,eAAe,EAAE;YACb,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,+CAA+C;SACvD;QACD,eAAe,EAAE;YACb,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1C;YACD,GAAG,EAAE,wCAAwC;SAChD;QACD,mCAAmC,EAAE;YACjC,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,oEAAoE;SAC5E;QACD,WAAW,EAAE;YACT,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,2CAA2C;SACnD;QACD,eAAe,EAAE;YACb,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,+CAA+C;SACvD;QACD,mCAAmC,EAAE;YACjC,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,oEAAoE;SAC5E;QACD,QAAQ,EAAE;YACN,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC9C,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,mCAAmC;SAC3C;QACD,IAAI,EAAE;YACF,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE;oBACF,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC;oBACnD,IAAI,EAAE,QAAQ;iBACjB;gBACD,IAAI,EAAE;oBACF,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC;oBACrD,IAAI,EAAE,QAAQ;iBACjB;gBACD,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aACrE;YACD,GAAG,EAAE,aAAa;SACrB;QACD,mCAAmC,EAAE;YACjC,UAAU,EAAE,yIAAyI;YACrJ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,mEAAmE;SAC3E;QACD,oBAAoB,EAAE;YAClB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,iDAAiD;SACzD;QACD,YAAY,EAAE;YACV,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC9B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,8BAA8B;SACtC;QACD,yBAAyB,EAAE;YACvB,OAAO,EAAE,EAAE,MAAM,EAAE,2CAA2C,EAAE;YAChE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC9C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,6DAA6D;SACrE;QACD,iBAAiB,EAAE;YACf,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACnE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,mCAAmC;SAC3C;QACD,qBAAqB,EAAE;YACnB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC9C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,GAAG,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC9D,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,kDAAkD;SAC1D;QACD,kBAAkB,EAAE;YAChB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,8BAA8B;SACtC;QACD,WAAW,EAAE;YACT,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5B;YACD,GAAG,EAAE,6BAA6B;SACrC;QACD,gBAAgB,EAAE;YACd,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,kCAAkC;SAC1C;QACD,cAAc,EAAE;YACZ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,0BAA0B;SAClC;QACD,sBAAsB,EAAE;YACpB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAClD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,yDAAyD;SACjE;QACD,eAAe,EAAE;YACb,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvB,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3B;YACD,GAAG,EAAE,iCAAiC;SACzC;QACD,aAAa,EAAE;YACX,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,+BAA+B;SACvC;QACD,UAAU,EAAE;YACR,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE;oBACF,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC;oBACnD,IAAI,EAAE,QAAQ;iBACjB;gBACD,IAAI,EAAE;oBACF,IAAI,EAAE;wBACF,KAAK;wBACL,QAAQ;wBACR,SAAS;wBACT,OAAO;wBACP,SAAS;wBACT,QAAQ;wBACR,UAAU;qBACb;oBACD,IAAI,EAAE,QAAQ;iBACjB;aACJ;YACD,GAAG,EAAE,kBAAkB;SAC1B;QACD,WAAW,EAAE;YACT,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE;oBACF,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC;oBACnD,IAAI,EAAE,QAAQ;iBACjB;gBACD,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1D,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,wBAAwB;SAChC;QACD,SAAS,EAAE;YACP,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aACrE;YACD,GAAG,EAAE,2BAA2B;SACnC;QACD,SAAS,EAAE;YACP,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,2BAA2B;SACnC;QACD,eAAe,EAAE;YACb,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,iCAAiC;SACzC;QACD,mCAAmC,EAAE;YACjC,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACpE,GAAG,EAAE,8BAA8B;SACtC;QACD,aAAa,EAAE;YACX,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,+BAA+B;SACvC;QACD,eAAe,EAAE;YACb,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,kCAAkC;SAC1C;QACD,+CAA+C,EAAE;YAC7C,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,iFAAiF;SACzF;QACD,mCAAmC,EAAE;YACjC,UAAU,EAAE,0IAA0I;YACtJ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,oEAAoE;SAC5E;QACD,mCAAmC,EAAE;YACjC,UAAU,EAAE,0IAA0I;YACtJ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,oEAAoE;SAC5E;QACD,UAAU,EAAE;YACR,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAC7B;YACD,GAAG,EAAE,eAAe;SACvB;QACD,oCAAoC,EAAE;YAClC,OAAO,EAAE,EAAE,MAAM,EAAE,2CAA2C,EAAE;YAChE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC9C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,+CAA+C;SACvD;QACD,YAAY,EAAE;YACV,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,8BAA8B;SACtC;QACD,kBAAkB,EAAE;YAChB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,2CAA2C;SACnD;QACD,QAAQ,EAAE;YACN,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,0BAA0B;SAClC;QACD,SAAS,EAAE;YACP,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,2BAA2B;SACnC;QACD,oCAAoC,EAAE;YAClC,UAAU,EAAE,2IAA2I;YACvJ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,oEAAoE;SAC5E;QACD,UAAU,EAAE;YACR,OAAO,EAAE,EAAE,MAAM,EAAE,2CAA2C,EAAE;YAChE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,4BAA4B;SACpC;QACD,oCAAoC,EAAE;YAClC,UAAU,EAAE,2IAA2I;YACvJ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,oEAAoE;SAC5E;QACD,KAAK,EAAE;YACH,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAClC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,4BAA4B;SACpC;QACD,QAAQ,EAAE;YACN,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,0CAA0C;SAClD;QACD,sBAAsB,EAAE;YACpB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,iDAAiD;SACzD;QACD,kBAAkB,EAAE;YAChB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,6CAA6C;SACrD;QACD,eAAe,EAAE;YACb,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC3C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,kCAAkC;SAC1C;QACD,qCAAqC,EAAE;YACnC,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,gEAAgE;SACxE;QACD,oCAAoC,EAAE;YAClC,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;gBACzD,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,mEAAmE;SAC3E;QACD,iDAAiD,EAAE;YAC/C,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,+EAA+E;SACvF;QACD,uCAAuC,EAAE;YACrC,OAAO,EAAE,EAAE,MAAM,EAAE,2CAA2C,EAAE;YAChE,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,qEAAqE;SAC7E;QACD,yCAAyC,EAAE;YACvC,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,wEAAwE;SAChF;QACD,iDAAiD,EAAE;YAC/C,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC7D,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,iFAAiF;SACzF;QACD,iCAAiC,EAAE;YAC/B,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,8DAA8D;SACtE;QACD,qCAAqC,EAAE;YACnC,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;aAC7D;YACD,GAAG,EAAE,oEAAoE;SAC5E;QACD,qCAAqC,EAAE;YACnC,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;aAC7D;YACD,GAAG,EAAE,oEAAoE;SAC5E;QACD,qCAAqC,EAAE;YACnC,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;gBACzD,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,mEAAmE;SAC3E;QACD,kDAAkD,EAAE;YAChD,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC7D,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,iFAAiF;SACzF;QACD,sCAAsC,EAAE;YACpC,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;aAC7D;YACD,GAAG,EAAE,oEAAoE;SAC5E;QACD,sCAAsC,EAAE;YACpC,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;aAC7D;YACD,GAAG,EAAE,oEAAoE;SAC5E;QACD,aAAa,EAAE;YACX,OAAO,EAAE,EAAE,MAAM,EAAE,2CAA2C,EAAE;YAChE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC3C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,4BAA4B;SACpC;QACD,gBAAgB,EAAE;YACd,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,kCAAkC;SAC1C;QACD,+BAA+B,EAAE;YAC7B,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,uCAAuC;SAC/C;QACD,YAAY,EAAE;YACV,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,0CAA0C;SAClD;QACD,QAAQ,EAAE;YACN,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7B,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,QAAQ,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;aAClC;YACD,GAAG,EAAE,8BAA8B;SACtC;QACD,MAAM,EAAE;YACJ,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,kBAAkB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACvC,kBAAkB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACvC,kBAAkB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACvC,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAClC,sBAAsB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC3C,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/B,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjC,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5B,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,UAAU,EAAE;oBACR,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,CAAC;oBACrD,IAAI,EAAE,QAAQ;iBACjB;aACJ;YACD,GAAG,EAAE,qBAAqB;SAC7B;QACD,sBAAsB,EAAE;YACpB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,eAAe,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpC,kBAAkB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACxD,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,uBAAuB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,6BAA6B,EAAE;oBAC3B,SAAS,EAAE,IAAI;oBACf,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,QAAQ;iBACjB;gBACD,qDAAqD,EAAE;oBACnD,IAAI,EAAE,SAAS;iBAClB;gBACD,sDAAsD,EAAE;oBACpD,IAAI,EAAE,QAAQ;iBACjB;gBACD,4DAA4D,EAAE;oBAC1D,IAAI,EAAE,UAAU;iBACnB;gBACD,4DAA4D,EAAE;oBAC1D,IAAI,EAAE,UAAU;iBACnB;gBACD,0DAA0D,EAAE;oBACxD,IAAI,EAAE,SAAS;iBAClB;gBACD,+DAA+D,EAAE;oBAC7D,IAAI,EAAE,SAAS;iBAClB;gBACD,sBAAsB,EAAE;oBACpB,SAAS,EAAE,IAAI;oBACf,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,QAAQ;iBACjB;gBACD,iCAAiC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;gBACvE,+BAA+B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpE,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACjE,mBAAmB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBACzC,oBAAoB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC1D,oBAAoB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;aAC7D;YACD,GAAG,EAAE,iDAAiD;SACzD;QACD,mBAAmB,EAAE;YACjB,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,0CAA0C;SAClD;QACD,UAAU,EAAE;YACR,UAAU,EAAE,gGAAgG;YAC5G,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAClD,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACjD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7B,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACrD,gBAAgB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3C,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1B;YACD,GAAG,EAAE,oCAAoC;SAC5C;QACD,UAAU,EAAE;YACR,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC3B,UAAU,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBAChC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,qBAAqB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,qBAAqB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACnC,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChD,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC5B,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,aAAa,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBACnC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,oCAAoC;SAC5C;QACD,+BAA+B,EAAE;YAC7B,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,MAAM,EAAE;oBACJ,IAAI,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,gBAAgB,CAAC;oBAClD,IAAI,EAAE,QAAQ;iBACjB;aACJ;YACD,GAAG,EAAE,2BAA2B;SACnC;QACD,gBAAgB,EAAE;YACd,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAClD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACjE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,gDAAgD;SACxD;QACD,iDAAiD,EAAE;YAC/C,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,qBAAqB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC1C,sBAAsB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,8BAA8B,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBACpD,8BAA8B,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBACpD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,0BAA0B,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,+BAA+B,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aACvD;YACD,GAAG,EAAE,+EAA+E;SACvF;QACD,yCAAyC,EAAE;YACvC,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC9B,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAC9B;YACD,GAAG,EAAE,wEAAwE;SAChF;QACD,aAAa,EAAE;YACX,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC1B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/B,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5B,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aACvC;YACD,GAAG,EAAE,0CAA0C;SAClD;QACD,kBAAkB,EAAE;YAChB,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7C,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,+CAA+C;SACvD;QACD,kBAAkB,EAAE;YAChB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,iBAAiB,EAAE;gBAChE,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,iBAAiB,EAAE;gBAClE,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3C,wBAAwB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7D,sBAAsB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1D,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1C;YACD,GAAG,EAAE,MAAM;SACd;KACJ;IACD,MAAM,EAAE;QACJ,IAAI,EAAE;YACF,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACrC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC9C;YACD,GAAG,EAAE,cAAc;SACtB;QACD,OAAO,EAAE;YACL,OAAO,EAAE,EAAE,MAAM,EAAE,2CAA2C,EAAE;YAChE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACrC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,aAAa,EAAE,gBAAgB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aACpE;YACD,GAAG,EAAE,iBAAiB;SACzB;QACD,MAAM,EAAE;YACJ,UAAU,EAAE,iGAAiG;YAC7G,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACrC,IAAI,EAAE;oBACF,IAAI,EAAE;wBACF,UAAU;wBACV,WAAW;wBACX,cAAc;wBACd,cAAc;wBACd,iBAAiB;wBACjB,yBAAyB;wBACzB,iBAAiB;wBACjB,gBAAgB;wBAChB,cAAc;wBACd,SAAS;wBACT,SAAS;qBACZ;oBACD,IAAI,EAAE,QAAQ;iBACjB;aACJ;YACD,GAAG,EAAE,gBAAgB;SACxB;QACD,qBAAqB,EAAE;YACnB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACrC,IAAI,EAAE;oBACF,IAAI,EAAE;wBACF,UAAU;wBACV,WAAW;wBACX,cAAc;wBACd,cAAc;wBACd,iBAAiB;wBACjB,yBAAyB;wBACzB,iBAAiB;wBACjB,gBAAgB;wBAChB,cAAc;wBACd,SAAS;wBACT,SAAS;qBACZ;oBACD,IAAI,EAAE,QAAQ;iBACjB;aACJ;YACD,GAAG,EAAE,gBAAgB;SACxB;QACD,MAAM,EAAE;YACJ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChD,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACrC,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAClD,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aACzD;YACD,GAAG,EAAE,gBAAgB;SACxB;QACD,KAAK,EAAE;YACH,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACrC,IAAI,EAAE;oBACF,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,SAAS,CAAC;oBACzD,IAAI,EAAE,QAAQ;iBACjB;aACJ;YACD,GAAG,EAAE,sBAAsB;SAC9B;QACD,MAAM,EAAE;YACJ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACjD,GAAG,EAAE,gBAAgB;SACxB;QACD,KAAK,EAAE;YACH,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACrC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,cAAc,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1E;YACD,GAAG,EAAE,eAAe;SACvB;KACJ;IACD,KAAK,EAAE;QACH,SAAS,EAAE;YACP,UAAU,EAAE,4FAA4F;YACxG,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,mCAAmC;SAC3C;QACD,eAAe,EAAE;YACb,UAAU,EAAE,0HAA0H;YACtI,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,mCAAmC;SAC3C;QACD,qBAAqB,EAAE;YACnB,UAAU,EAAE,oHAAoH;YAChI,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxD,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,uCAAuC;SAC/C;QACD,0BAA0B,EAAE;YACxB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxD,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7C,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,mDAAmD;SAC3D;QACD,2BAA2B,EAAE;YACzB,UAAU,EAAE,oJAAoJ;YAChK,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxD,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,uCAAuC;SAC/C;QACD,kBAAkB,EAAE;YAChB,UAAU,EAAE,8GAA8G;YAC1H,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChE,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,sCAAsC;SAC9C;QACD,uBAAuB,EAAE;YACrB,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChE,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,kDAAkD;SAC1D;QACD,wBAAwB,EAAE;YACtB,UAAU,EAAE,sIAAsI;YAClJ,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChE,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,sCAAsC;SAC9C;QACD,eAAe,EAAE;YACb,UAAU,EAAE,wGAAwG;YACpH,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/D,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,oCAAoC;SAC5C;QACD,oBAAoB,EAAE;YAClB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/D,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,gDAAgD;SACxD;QACD,qBAAqB,EAAE;YACnB,UAAU,EAAE,sIAAsI;YAClJ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/D,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,oCAAoC;SAC5C;QACD,gBAAgB,EAAE;YACd,UAAU,EAAE,0GAA0G;YACtH,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,oCAAoC;SAC5C;QACD,qBAAqB,EAAE;YACnB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,gDAAgD;SACxD;QACD,sBAAsB,EAAE;YACpB,UAAU,EAAE,8IAA8I;YAC1J,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,oCAAoC;SAC5C;QACD,MAAM,EAAE;YACJ,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,WAAW,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBACjC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/D,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvD,UAAU,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;aACnC;YACD,GAAG,EAAE,kBAAkB;SAC1B;QACD,gBAAgB,EAAE;YACd,UAAU,EAAE,0GAA0G;YACtH,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5B,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5C;YACD,GAAG,EAAE,6BAA6B;SACrC;QACD,uBAAuB,EAAE;YACrB,UAAU,EAAE,wHAAwH;YACpI,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,yDAAyD;SACjE;QACD,4BAA4B,EAAE;YAC1B,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,qEAAqE;SAC7E;QACD,6BAA6B,EAAE;YAC3B,UAAU,EAAE,qJAAqJ;YACjK,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,yDAAyD;SACjE;QACD,qBAAqB,EAAE;YACnB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5B,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5C;YACD,GAAG,EAAE,yCAAyC;SACjD;QACD,sBAAsB,EAAE;YACpB,UAAU,EAAE,yIAAyI;YACrJ,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5B,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5C;YACD,GAAG,EAAE,6BAA6B;SACrC;QACD,MAAM,EAAE;YACJ,UAAU,EAAE,sFAAsF;YAClG,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACxD,GAAG,EAAE,iBAAiB;SACzB;QACD,gBAAgB,EAAE;YACd,UAAU,EAAE,0GAA0G;YACtH,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,gDAAgD;SACxD;QACD,uBAAuB,EAAE;YACrB,UAAU,EAAE,wHAAwH;YACpI,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnD,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,yEAAyE;SACjF;QACD,4BAA4B,EAAE;YAC1B,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnD,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,qFAAqF;SAC7F;QACD,6BAA6B,EAAE;YAC3B,UAAU,EAAE,qJAAqJ;YACjK,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnD,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,yEAAyE;SACjF;QACD,qBAAqB,EAAE;YACnB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,4DAA4D;SACpE;QACD,sBAAsB,EAAE;YACpB,UAAU,EAAE,yIAAyI;YACrJ,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,gDAAgD;SACxD;QACD,WAAW,EAAE;YACT,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,6BAA6B;SACrC;QACD,YAAY,EAAE;YACV,UAAU,EAAE,2GAA2G;YACvH,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACxD,GAAG,EAAE,iBAAiB;SACzB;QACD,GAAG,EAAE;YACD,UAAU,EAAE,gFAAgF;YAC5F,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACxD,GAAG,EAAE,iBAAiB;SACzB;QACD,SAAS,EAAE;YACP,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,6BAA6B;SACrC;QACD,aAAa,EAAE;YACX,UAAU,EAAE,oGAAoG;YAChH,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,gDAAgD;SACxD;QACD,oBAAoB,EAAE;YAClB,UAAU,EAAE,kHAAkH;YAC9H,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnD,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,yEAAyE;SACjF;QACD,yBAAyB,EAAE;YACvB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnD,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,qFAAqF;SAC7F;QACD,0BAA0B,EAAE;YACxB,UAAU,EAAE,sJAAsJ;YAClK,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnD,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,yEAAyE;SACjF;QACD,kBAAkB,EAAE;YAChB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,4DAA4D;SACpE;QACD,mBAAmB,EAAE;YACjB,UAAU,EAAE,0IAA0I;YACtJ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,gDAAgD;SACxD;QACD,SAAS,EAAE;YACP,UAAU,EAAE,qGAAqG;YACjH,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACxD,GAAG,EAAE,iBAAiB;SACzB;QACD,SAAS,EAAE;YACP,UAAU,EAAE,4FAA4F;YACxG,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,mCAAmC;SAC3C;QACD,eAAe,EAAE;YACb,UAAU,EAAE,0HAA0H;YACtI,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,mCAAmC;SAC3C;QACD,aAAa,EAAE;YACX,UAAU,EAAE,oGAAoG;YAChH,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,uCAAuC;SAC/C;QACD,kBAAkB,EAAE;YAChB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7C,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,mDAAmD;SAC3D;QACD,mBAAmB,EAAE;YACjB,UAAU,EAAE,kIAAkI;YAC9I,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,uCAAuC;SAC/C;QACD,IAAI,EAAE;YACF,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAChC;YACD,GAAG,EAAE,kBAAkB;SAC1B;QACD,SAAS,EAAE;YACP,UAAU,EAAE,4FAA4F;YACxG,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,uBAAuB;SAC/B;QACD,cAAc,EAAE;YACZ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,mCAAmC;SAC3C;QACD,eAAe,EAAE;YACb,UAAU,EAAE,mHAAmH;YAC/H,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,uBAAuB;SAC/B;QACD,sBAAsB,EAAE;YACpB,UAAU,EAAE,sHAAsH;YAClI,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,yDAAyD;SACjE;QACD,2BAA2B,EAAE;YACzB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,qEAAqE;SAC7E;QACD,4BAA4B,EAAE;YAC1B,UAAU,EAAE,iJAAiJ;YAC7J,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,yDAAyD;SACjE;QACD,eAAe,EAAE;YACb,UAAU,EAAE,wGAAwG;YACpH,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,6BAA6B;SACrC;QACD,oBAAoB,EAAE;YAClB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,yCAAyC;SACjD;QACD,qBAAqB,EAAE;YACnB,UAAU,EAAE,qIAAqI;YACjJ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,6BAA6B;SACrC;QACD,wBAAwB,EAAE;YACtB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACpE,GAAG,EAAE,aAAa;SACrB;QACD,WAAW,EAAE;YACT,UAAU,EAAE,gGAAgG;YAC5G,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/D,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,yBAAyB;SACjC;QACD,gBAAgB,EAAE;YACd,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/D,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,qCAAqC;SAC7C;QACD,iBAAiB,EAAE;YACf,UAAU,EAAE,8HAA8H;YAC1I,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/D,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,yBAAyB;SACjC;QACD,sBAAsB,EAAE;YACpB,UAAU,EAAE,sHAAsH;YAClI,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,6BAA6B;SACrC;QACD,2BAA2B,EAAE;YACzB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,yCAAyC;SACjD;QACD,4BAA4B,EAAE;YAC1B,UAAU,EAAE,qJAAqJ;YACjK,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,6BAA6B;SACrC;QACD,YAAY,EAAE;YACV,UAAU,EAAE,kGAAkG;YAC9G,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,0BAA0B;SAClC;QACD,iBAAiB,EAAE;YACf,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,sCAAsC;SAC9C;QACD,kBAAkB,EAAE;YAChB,UAAU,EAAE,wHAAwH;YACpI,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,0BAA0B;SAClC;QACD,SAAS,EAAE;YACP,UAAU,EAAE,4FAA4F;YACxG,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,uBAAuB;SAC/B;QACD,cAAc,EAAE;YACZ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,mCAAmC;SAC3C;QACD,eAAe,EAAE;YACb,UAAU,EAAE,kHAAkH;YAC9H,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,uBAAuB;SAC/B;QACD,YAAY,EAAE;YACV,UAAU,EAAE,kGAAkG;YAC9G,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,mCAAmC;SAC3C;QACD,kBAAkB,EAAE;YAChB,UAAU,EAAE,gIAAgI;YAC5I,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,mCAAmC;SAC3C;QACD,gBAAgB,EAAE;YACd,UAAU,EAAE,0GAA0G;YACtH,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,uCAAuC;SAC/C;QACD,qBAAqB,EAAE;YACnB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7C,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,mDAAmD;SAC3D;QACD,sBAAsB,EAAE;YACpB,UAAU,EAAE,wIAAwI;YACpJ,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,uCAAuC;SAC/C;QACD,aAAa,EAAE;YACX,UAAU,EAAE,oGAAoG;YAChH,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,sCAAsC;SAC9C;QACD,kBAAkB,EAAE;YAChB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,kDAAkD;SAC1D;QACD,mBAAmB,EAAE;YACjB,UAAU,EAAE,0HAA0H;YACtI,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,sCAAsC;SAC9C;QACD,UAAU,EAAE;YACR,UAAU,EAAE,8FAA8F;YAC1G,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,oCAAoC;SAC5C;QACD,eAAe,EAAE;YACb,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,gDAAgD;SACxD;QACD,gBAAgB,EAAE;YACd,UAAU,EAAE,0HAA0H;YACtI,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,oCAAoC;SAC5C;QACD,aAAa,EAAE;YACX,UAAU,EAAE,oGAAoG;YAChH,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,sCAAsC;SAC9C;QACD,kBAAkB,EAAE;YAChB,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,kDAAkD;SAC1D;QACD,mBAAmB,EAAE;YACjB,UAAU,EAAE,4HAA4H;YACxI,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,sCAAsC;SAC9C;QACD,MAAM,EAAE;YACJ,UAAU,EAAE,sFAAsF;YAClG,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/D,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvD,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,iBAAiB;SACzB;QACD,gBAAgB,EAAE;YACd,UAAU,EAAE,0GAA0G;YACtH,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5B;YACD,GAAG,EAAE,gDAAgD;SACxD;QACD,uBAAuB,EAAE;YACrB,UAAU,EAAE,wHAAwH;YACpI,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnD,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,yEAAyE;SACjF;QACD,4BAA4B,EAAE;YAC1B,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnD,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,qFAAqF;SAC7F;QACD,6BAA6B,EAAE;YAC3B,UAAU,EAAE,mJAAmJ;YAC/J,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnD,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,yEAAyE;SACjF;QACD,qBAAqB,EAAE;YACnB,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7C,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5B;YACD,GAAG,EAAE,4DAA4D;SACpE;QACD,sBAAsB,EAAE;YACpB,UAAU,EAAE,uIAAuI;YACnJ,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5B;YACD,GAAG,EAAE,gDAAgD;SACxD;QACD,WAAW,EAAE;YACT,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/D,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvD,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,6BAA6B;SACrC;QACD,YAAY,EAAE;YACV,UAAU,EAAE,yGAAyG;YACrH,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/D,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvD,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,iBAAiB;SACzB;KACJ;IACD,KAAK,EAAE;QACH,SAAS,EAAE;YACP,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE;YACxD,GAAG,EAAE,cAAc;SACtB;QACD,KAAK,EAAE;YACH,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACxD,GAAG,EAAE,wBAAwB;SAChC;QACD,YAAY,EAAE;YACV,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACxD,GAAG,EAAE,wBAAwB;SAChC;QACD,cAAc,EAAE;YACZ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACxD,GAAG,EAAE,2BAA2B;SACnC;QACD,qBAAqB,EAAE;YACnB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/C,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,yCAAyC;SACjD;QACD,YAAY,EAAE;YACV,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,EAAE,kBAAkB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YAClD,GAAG,EAAE,gBAAgB;SACxB;QACD,eAAe,EAAE;YACb,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YAC9D,GAAG,EAAE,YAAY;SACpB;QACD,YAAY,EAAE;YACV,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE;YACxD,GAAG,EAAE,cAAc;SACtB;QACD,YAAY,EAAE;YACV,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YAC3D,GAAG,EAAE,4BAA4B;SACpC;QACD,eAAe,EAAE;YACb,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACvD,GAAG,EAAE,oBAAoB;SAC5B;QACD,MAAM,EAAE;YACJ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACxD,GAAG,EAAE,2BAA2B;SACnC;QACD,gBAAgB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE;QAC7D,aAAa,EAAE;YACX,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACxD,GAAG,EAAE,kBAAkB;SAC1B;QACD,iBAAiB,EAAE;YACf,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC9B,YAAY,EAAE;oBACV,IAAI,EAAE,CAAC,cAAc,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc,CAAC;oBAC7D,IAAI,EAAE,QAAQ;iBACjB;gBACD,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,4BAA4B;SACpC;QACD,SAAS,EAAE;YACP,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YAC3D,GAAG,EAAE,4BAA4B;SACpC;QACD,YAAY,EAAE;YACV,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACvD,GAAG,EAAE,oBAAoB;SAC5B;QACD,IAAI,EAAE;YACF,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5B;YACD,GAAG,EAAE,QAAQ;SAChB;QACD,WAAW,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,cAAc,EAAE;QAC/D,UAAU,EAAE;YACR,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACpE,GAAG,EAAE,cAAc;SACtB;QACD,iCAAiC,EAAE;YAC/B,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACpE,GAAG,EAAE,iBAAiB;SACzB;QACD,oBAAoB,EAAE;YAClB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,4BAA4B;SACpC;QACD,iCAAiC,EAAE;YAC/B,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACpE,GAAG,EAAE,iBAAiB;SACzB;QACD,oBAAoB,EAAE;YAClB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,4BAA4B;SACpC;QACD,WAAW,EAAE;YACT,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACpE,GAAG,EAAE,gBAAgB;SACxB;QACD,kBAAkB,EAAE;YAChB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,2BAA2B;SACnC;QACD,gBAAgB,EAAE;YACd,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACpE,GAAG,EAAE,qBAAqB;SAC7B;QACD,cAAc,EAAE;YACZ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACpE,GAAG,EAAE,YAAY;SACpB;QACD,qBAAqB,EAAE;YACnB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,uBAAuB;SAC/B;QACD,4BAA4B,EAAE;YAC1B,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aACjD;YACD,GAAG,EAAE,wBAAwB;SAChC;QACD,OAAO,EAAE;YACL,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACxD,GAAG,EAAE,wBAAwB;SAChC;QACD,QAAQ,EAAE;YACN,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACxD,GAAG,EAAE,2BAA2B;SACnC;QACD,mBAAmB,EAAE;YACjB,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3B;YACD,GAAG,EAAE,OAAO;SACf;KACJ;CACJ,CAAC;;AC/9MK,MAAM,OAAO,GAAG,mBAAmB,CAAC;;ACCpC,SAAS,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE;IAC/C,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,aAAa,IAAI;QACzC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;YACzB,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;SAC/B;QACD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,IAAI;YAClD,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC;YAClD,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK;gBACvE,IAAI,OAAO,UAAU,CAAC,GAAG,CAAC,KAAK,WAAW,EAAE;oBACxC,GAAG,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;iBAC9B;gBACD,OAAO,GAAG,CAAC;aACd,EAAE,EAAE,CAAC,CAAC;YACP,gBAAgB,CAAC,OAAO,GAAG;gBACvB,QAAQ,EAAE,UAAU,CAAC,MAAM;aAC9B,CAAC;YACF,IAAI,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;;;;YAIzD,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/G,IAAI,kBAAkB,EAAE;gBACpB,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;gBAClE,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC9F,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;gBACtF,OAAO,CAAC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;aAC3G;YACD,IAAI,UAAU,CAAC,UAAU,EAAE;gBACvB,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,wBAAwB,GAAG;oBAChF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,CAAC,gBAAgB,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC9E,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;oBAC1C,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;iBACzC,EAAE,OAAO,CAAC,CAAC;gBACZ,OAAO;aACV;YACD,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;SAC7C,CAAC,CAAC;KACN,CAAC,CAAC;CACN;AACD,SAAS,mBAAmB,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE;IAClE,MAAM,aAAa,GAAG,CAAC,OAAO,KAAK;QAC/B,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI;YAChC,IAAI,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE;gBAC7D,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;gBAC9C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,CAAC,iBAAiB,EAAE,GAAG,CAAC,+BAA+B,EAAE,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBACrI,IAAI,EAAE,QAAQ,IAAI,OAAO,CAAC,EAAE;oBACxB,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;iBACpC;gBACD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;aACvB;SACJ,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC;KAC1B,CAAC;IACF,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI;QAC/B,aAAa,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;KACpC,CAAC,CAAC;IACH,OAAO,aAAa,CAAC;CACxB;;ACvDD;;;;;;;;;;AAUA,AAAO,SAAS,mBAAmB,CAAC,OAAO,EAAE;;IAEzC,OAAO,CAAC,iBAAiB,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAClE,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;;;IAG7C;QACI,CAAC,SAAS,EAAE,KAAK,CAAC;QAClB,CAAC,eAAe,EAAE,qBAAqB,CAAC;QACxC,CAAC,cAAc,EAAE,OAAO,CAAC;KAC5B,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,KAAK,CAAC,KAAK;QACpC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,eAAe,EAAE;YAC5C,GAAG,GAAG;gBACF,OAAO,CAAC,GAAG,CAAC,IAAI;;gBAEhB,IAAI,WAAW,CAAC,CAAC,iDAAiD,EAAE,eAAe,CAAC,yCAAyC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;;gBAEpJ,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;aACzB;SACJ,CAAC,CAAC;KACN,CAAC,CAAC;IACH,OAAO,EAAE,CAAC;CACb;AACD,mBAAmB,CAAC,OAAO,GAAG,OAAO,CAAC;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/LICENSE b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/LICENSE new file mode 100644 index 0000000..57bee5f --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/LICENSE @@ -0,0 +1,7 @@ +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 (including the next paragraph) 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. diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/README.md b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/README.md new file mode 100644 index 0000000..25b8f03 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/README.md @@ -0,0 +1,65 @@ +# types.ts + +> Shared TypeScript definitions for Octokit projects + +[![@latest](https://img.shields.io/npm/v/@octokit/types.svg)](https://www.npmjs.com/package/@octokit/types) +[![Build Status](https://github.com/octokit/types.ts/workflows/Test/badge.svg)](https://github.com/octokit/types.ts/actions?workflow=Test) +[![Greenkeeper](https://badges.greenkeeper.io/octokit/types.ts.svg)](https://greenkeeper.io/) + + + +- [Usage](#usage) +- [Examples](#examples) + - [Get parameter and response data types for a REST API endpoint](#get-parameter-and-response-data-types-for-a-rest-api-endpoint) + - [Get response types from endpoint methods](#get-response-types-from-endpoint-methods) +- [Contributing](#contributing) +- [License](#license) + + + +## Usage + +See all exported types at https://octokit.github.io/types.ts + +## Examples + +### Get parameter and response data types for a REST API endpoint + +```ts +import { Endpoints } from "./src"; + +type listUserReposParameters = Endpoints["GET /repos/:owner/:repo"]["parameters"]; +type listUserReposResponse = Endpoints["GET /repos/:owner/:repo"]["response"]; + +async function listRepos( + options: listUserReposParameters +): listUserReposResponse["data"] { + // ... +} +``` + +### Get response types from endpoint methods + +```ts +import { + GetResponseTypeFromEndpointMethod, + GetResponseDataTypeFromEndpointMethod, +} from "@octokit/types"; +import { Octokit } from "@octokit/rest"; + +const octokit = new Octokit(); +type CreateLabelResponseType = GetResponseTypeFromEndpointMethod< + typeof octokit.issues.createLabel +>; +type CreateLabelResponseDataType = GetResponseDataTypeFromEndpointMethod< + typeof octokit.issues.createLabel +>; +``` + +## Contributing + +See [CONTRIBUTING.md](CONTRIBUTING.md) + +## License + +[MIT](LICENSE) diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-node/index.js b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-node/index.js new file mode 100644 index 0000000..4c5b65f --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-node/index.js @@ -0,0 +1,8 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +const VERSION = "2.16.2"; + +exports.VERSION = VERSION; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-node/index.js.map b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-node/index.js.map new file mode 100644 index 0000000..2d148d3 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-node/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/VERSION.js"],"sourcesContent":["export const VERSION = \"0.0.0-development\";\n"],"names":["VERSION"],"mappings":";;;;MAAaA,OAAO,GAAG;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/AuthInterface.js b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/AuthInterface.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/EndpointDefaults.js b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/EndpointDefaults.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/EndpointInterface.js b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/EndpointInterface.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/EndpointOptions.js b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/EndpointOptions.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/Fetch.js b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/Fetch.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/OctokitResponse.js b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/OctokitResponse.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/RequestHeaders.js b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/RequestHeaders.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/RequestInterface.js b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/RequestInterface.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/RequestMethod.js b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/RequestMethod.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/RequestOptions.js b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/RequestOptions.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/RequestParameters.js b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/RequestParameters.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/RequestRequestOptions.js b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/RequestRequestOptions.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/ResponseHeaders.js b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/ResponseHeaders.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/Route.js b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/Route.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/Signal.js b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/Signal.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/StrategyInterface.js b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/StrategyInterface.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/Url.js b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/Url.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/VERSION.js b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/VERSION.js new file mode 100644 index 0000000..66bc3f7 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/VERSION.js @@ -0,0 +1 @@ +export const VERSION = "2.16.2"; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/generated/Endpoints.js b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/generated/Endpoints.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/index.js b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/index.js new file mode 100644 index 0000000..04b2163 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/index.js @@ -0,0 +1 @@ +export * from "./VERSION"; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/AuthInterface.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/AuthInterface.d.ts new file mode 100644 index 0000000..0c19b50 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/AuthInterface.d.ts @@ -0,0 +1,31 @@ +import { EndpointOptions } from "./EndpointOptions"; +import { OctokitResponse } from "./OctokitResponse"; +import { RequestInterface } from "./RequestInterface"; +import { RequestParameters } from "./RequestParameters"; +import { Route } from "./Route"; +/** + * Interface to implement complex authentication strategies for Octokit. + * An object Implementing the AuthInterface can directly be passed as the + * `auth` option in the Octokit constructor. + * + * For the official implementations of the most common authentication + * strategies, see https://github.com/octokit/auth.js + */ +export interface AuthInterface { + (...args: AuthOptions): Promise; + hook: { + /** + * Sends a request using the passed `request` instance + * + * @param {object} endpoint Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (request: RequestInterface, options: EndpointOptions): Promise>; + /** + * Sends a request using the passed `request` instance + * + * @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`. + */ + (request: RequestInterface, route: Route, parameters?: RequestParameters): Promise>; + }; +} diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts new file mode 100644 index 0000000..a2c2307 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts @@ -0,0 +1,21 @@ +import { RequestHeaders } from "./RequestHeaders"; +import { RequestMethod } from "./RequestMethod"; +import { RequestParameters } from "./RequestParameters"; +import { Url } from "./Url"; +/** + * The `.endpoint()` method is guaranteed to set all keys defined by RequestParameters + * as well as the method property. + */ +export declare type EndpointDefaults = RequestParameters & { + baseUrl: Url; + method: RequestMethod; + url?: Url; + headers: RequestHeaders & { + accept: string; + "user-agent": string; + }; + mediaType: { + format: string; + previews: string[]; + }; +}; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts new file mode 100644 index 0000000..df585be --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts @@ -0,0 +1,65 @@ +import { EndpointDefaults } from "./EndpointDefaults"; +import { RequestOptions } from "./RequestOptions"; +import { RequestParameters } from "./RequestParameters"; +import { Route } from "./Route"; +import { Endpoints } from "./generated/Endpoints"; +export interface EndpointInterface { + /** + * Transforms a GitHub REST API endpoint into generic request options + * + * @param {object} endpoint Must set `url` unless it's set defaults. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (options: O & { + method?: string; + } & ("url" extends keyof D ? { + url?: string; + } : { + url: string; + })): RequestOptions & Pick; + /** + * 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`. + */ + (route: keyof Endpoints | R, parameters?: P): (R extends keyof Endpoints ? Endpoints[R]["request"] : RequestOptions) & Pick; + /** + * Object with current default route and parameters + */ + DEFAULTS: D & EndpointDefaults; + /** + * Returns a new `endpoint` interface with new defaults + */ + defaults: (newDefaults: O) => EndpointInterface; + 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: keyof Endpoints | R, parameters?: P): D & (R extends keyof Endpoints ? Endpoints[R]["request"] & Endpoints[R]["parameters"] : EndpointDefaults) & P; + /** + * 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: P): EndpointDefaults & D & P; + /** + * Returns current default options. + * + * @deprecated use endpoint.DEFAULTS instead + */ + (): D & EndpointDefaults; + }; + /** + * 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: O) => RequestOptions & Pick; +} diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts new file mode 100644 index 0000000..b1b91f1 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts @@ -0,0 +1,7 @@ +import { RequestMethod } from "./RequestMethod"; +import { Url } from "./Url"; +import { RequestParameters } from "./RequestParameters"; +export declare type EndpointOptions = RequestParameters & { + method: RequestMethod; + url: Url; +}; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/Fetch.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/Fetch.d.ts new file mode 100644 index 0000000..cbbd5e8 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/Fetch.d.ts @@ -0,0 +1,4 @@ +/** + * Browser's fetch method (or compatible such as fetch-mock) + */ +export declare type Fetch = any; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts new file mode 100644 index 0000000..70e1a8d --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts @@ -0,0 +1,5 @@ +declare type Unwrap = T extends Promise ? U : T; +declare type AnyFunction = (...args: any[]) => any; +export declare type GetResponseTypeFromEndpointMethod = Unwrap>; +export declare type GetResponseDataTypeFromEndpointMethod = Unwrap>["data"]; +export {}; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts new file mode 100644 index 0000000..9a2dd7f --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts @@ -0,0 +1,17 @@ +import { ResponseHeaders } from "./ResponseHeaders"; +import { Url } from "./Url"; +export declare type OctokitResponse = { + headers: ResponseHeaders; + /** + * http response code + */ + status: number; + /** + * URL of response after all redirects + */ + url: Url; + /** + * This is the data you would see in https://developer.Octokit.com/v3/ + */ + data: T; +}; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts new file mode 100644 index 0000000..ac5aae0 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts @@ -0,0 +1,15 @@ +export declare type RequestHeaders = { + /** + * Avoid setting `headers.accept`, use `mediaType.{format|previews}` option 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; +}; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestInterface.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestInterface.d.ts new file mode 100644 index 0000000..ef4d8d3 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestInterface.d.ts @@ -0,0 +1,34 @@ +import { EndpointInterface } from "./EndpointInterface"; +import { OctokitResponse } from "./OctokitResponse"; +import { RequestParameters } from "./RequestParameters"; +import { Route } from "./Route"; +import { Endpoints } from "./generated/Endpoints"; +export interface RequestInterface { + /** + * Sends a request based on endpoint 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: O & { + method?: string; + } & ("url" extends keyof D ? { + url?: string; + } : { + url: string; + })): Promise>; + /** + * Sends a request based on endpoint 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: keyof Endpoints | R, options?: R extends keyof Endpoints ? Endpoints[R]["parameters"] & RequestParameters : RequestParameters): R extends keyof Endpoints ? Promise : Promise>; + /** + * Returns a new `request` with updated route and parameters + */ + defaults: (newDefaults: O) => RequestInterface; + /** + * Octokit endpoint API, see {@link https://github.com/octokit/endpoint.js|@octokit/endpoint} + */ + endpoint: EndpointInterface; +} diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestMethod.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestMethod.d.ts new file mode 100644 index 0000000..e999c8d --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestMethod.d.ts @@ -0,0 +1,4 @@ +/** + * HTTP Verb supported by GitHub's REST API + */ +export declare type RequestMethod = "DELETE" | "GET" | "HEAD" | "PATCH" | "POST" | "PUT"; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestOptions.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestOptions.d.ts new file mode 100644 index 0000000..97e2181 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestOptions.d.ts @@ -0,0 +1,14 @@ +import { RequestHeaders } from "./RequestHeaders"; +import { RequestMethod } from "./RequestMethod"; +import { RequestRequestOptions } from "./RequestRequestOptions"; +import { Url } from "./Url"; +/** + * Generic request options as they are returned by the `endpoint()` method + */ +export declare type RequestOptions = { + method: RequestMethod; + url: Url; + headers: RequestHeaders; + body?: any; + request?: RequestRequestOptions; +}; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestParameters.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestParameters.d.ts new file mode 100644 index 0000000..692d193 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestParameters.d.ts @@ -0,0 +1,45 @@ +import { RequestRequestOptions } from "./RequestRequestOptions"; +import { RequestHeaders } from "./RequestHeaders"; +import { Url } from "./Url"; +/** + * Parameters that can be passed into `request(route, parameters)` or `endpoint(route, parameters)` methods + */ +export declare type RequestParameters = { + /** + * 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 request + * will be sent to `https://enterprise.acme-inc.com/api/v3/orgs/:org`. + */ + baseUrl?: Url; + /** + * HTTP headers. Use lowercase keys. + */ + headers?: RequestHeaders; + /** + * 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?: RequestRequestOptions; + /** + * 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]: unknown; +}; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts new file mode 100644 index 0000000..4482a8a --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts @@ -0,0 +1,26 @@ +/// +import { Agent } from "http"; +import { Fetch } from "./Fetch"; +import { Signal } from "./Signal"; +/** + * Octokit-specific request options which are ignored for the actual request, but can be used by Octokit or plugins to manipulate how the request is sent or how a response is handled + */ +export declare type RequestRequestOptions = { + /** + * Node only. Useful for custom proxy, certificate, or dns lookup. + */ + agent?: Agent; + /** + * Custom replacement for built-in fetch method. Useful for testing or request hooks. + */ + fetch?: Fetch; + /** + * Use an `AbortController` instance to cancel a request. In node you can only cancel streamed requests. + */ + signal?: Signal; + /** + * Node only. Request/response timeout in ms, it resets on redirect. 0 to disable (OS limit applies). `options.request.signal` is recommended instead. + */ + timeout?: number; + [option: string]: any; +}; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts new file mode 100644 index 0000000..c8fbe43 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts @@ -0,0 +1,20 @@ +export declare type ResponseHeaders = { + "cache-control"?: string; + "content-length"?: number; + "content-type"?: string; + date?: string; + etag?: string; + "last-modified"?: string; + link?: string; + location?: string; + server?: string; + status?: string; + vary?: string; + "x-github-mediatype"?: string; + "x-github-request-id"?: string; + "x-oauth-scopes"?: string; + "x-ratelimit-limit"?: string; + "x-ratelimit-remaining"?: string; + "x-ratelimit-reset"?: string; + [header: string]: string | number | undefined; +}; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/Route.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/Route.d.ts new file mode 100644 index 0000000..8079044 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/Route.d.ts @@ -0,0 +1,4 @@ +/** + * String consisting of an optional HTTP method and relative path or absolute URL. Examples: `'/orgs/:org'`, `'PUT /orgs/:org'`, `GET https://example.com/foo/bar` + */ +export declare type Route = string; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/Signal.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/Signal.d.ts new file mode 100644 index 0000000..4ebcf24 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/Signal.d.ts @@ -0,0 +1,6 @@ +/** + * Abort signal + * + * @see https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal + */ +export declare type Signal = any; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts new file mode 100644 index 0000000..405cbd2 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts @@ -0,0 +1,4 @@ +import { AuthInterface } from "./AuthInterface"; +export interface StrategyInterface { + (...args: StrategyOptions): AuthInterface; +} diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/Url.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/Url.d.ts new file mode 100644 index 0000000..acaad63 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/Url.d.ts @@ -0,0 +1,4 @@ +/** + * Relative or absolute URL. Examples: `'/orgs/:org'`, `https://example.com/foo/bar` + */ +export declare type Url = string; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/VERSION.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/VERSION.d.ts new file mode 100644 index 0000000..c24737b --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/VERSION.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "2.16.2"; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts new file mode 100644 index 0000000..d10c4c9 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts @@ -0,0 +1,41416 @@ +import { OctokitResponse } from "../OctokitResponse"; +import { RequestHeaders } from "../RequestHeaders"; +import { RequestRequestOptions } from "../RequestRequestOptions"; +declare type RequiredPreview = { + mediaType: { + previews: [T, ...string[]]; + }; +}; +export interface Endpoints { + /** + * @see https://developer.github.com/v3/apps/#delete-an-installation + */ + "DELETE /app/installations/:installation_id": { + parameters: AppsDeleteInstallationEndpoint; + request: AppsDeleteInstallationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#unsuspend-an-installation + */ + "DELETE /app/installations/:installation_id/suspended": { + parameters: AppsUnsuspendInstallationEndpoint; + request: AppsUnsuspendInstallationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/oauth_applications/#delete-an-app-authorization + */ + "DELETE /applications/:client_id/grant": { + parameters: AppsDeleteAuthorizationEndpoint; + request: AppsDeleteAuthorizationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/oauth_applications/#revoke-a-grant-for-an-application + */ + "DELETE /applications/:client_id/grants/:access_token": { + parameters: AppsRevokeGrantForApplicationEndpoint; + request: AppsRevokeGrantForApplicationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/oauth_applications/#delete-an-app-token + */ + "DELETE /applications/:client_id/token": { + parameters: AppsDeleteTokenEndpoint; + request: AppsDeleteTokenRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/oauth_applications/#revoke-an-authorization-for-an-application + */ + "DELETE /applications/:client_id/tokens/:access_token": { + parameters: AppsRevokeAuthorizationForApplicationEndpoint; + request: AppsRevokeAuthorizationForApplicationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#delete-a-grant + */ + "DELETE /applications/grants/:grant_id": { + parameters: OauthAuthorizationsDeleteGrantEndpoint; + request: OauthAuthorizationsDeleteGrantRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#delete-an-authorization + */ + "DELETE /authorizations/:authorization_id": { + parameters: OauthAuthorizationsDeleteAuthorizationEndpoint; + request: OauthAuthorizationsDeleteAuthorizationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#delete-a-gist + */ + "DELETE /gists/:gist_id": { + parameters: GistsDeleteEndpoint; + request: GistsDeleteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/comments/#delete-a-comment + */ + "DELETE /gists/:gist_id/comments/:comment_id": { + parameters: GistsDeleteCommentEndpoint; + request: GistsDeleteCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#unstar-a-gist + */ + "DELETE /gists/:gist_id/star": { + parameters: GistsUnstarEndpoint; + request: GistsUnstarRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/installations/#revoke-an-installation-token + */ + "DELETE /installation/token": { + parameters: AppsRevokeInstallationTokenEndpoint; + request: AppsRevokeInstallationTokenRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/notifications/#delete-a-thread-subscription + */ + "DELETE /notifications/threads/:thread_id/subscription": { + parameters: ActivityDeleteThreadSubscriptionEndpoint; + request: ActivityDeleteThreadSubscriptionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#delete-a-self-hosted-runner-from-an-organization + */ + "DELETE /orgs/:org/actions/runners/:runner_id": { + parameters: ActionsDeleteSelfHostedRunnerFromOrgEndpoint; + request: ActionsDeleteSelfHostedRunnerFromOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/blocking/#unblock-a-user + */ + "DELETE /orgs/:org/blocks/:username": { + parameters: OrgsUnblockUserEndpoint; + request: OrgsUnblockUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/#remove-a-credential-authorization-for-an-organization + */ + "DELETE /orgs/:org/credential-authorizations/:credential_id": { + parameters: OrgsRemoveCredentialAuthorizationEndpoint; + request: OrgsRemoveCredentialAuthorizationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/hooks/#delete-a-hook + */ + "DELETE /orgs/:org/hooks/:hook_id": { + parameters: OrgsDeleteHookEndpoint; + request: OrgsDeleteHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/interactions/orgs/#remove-interaction-restrictions-for-an-organization + */ + "DELETE /orgs/:org/interaction-limits": { + parameters: InteractionsRemoveRestrictionsForOrgEndpoint; + request: InteractionsRemoveRestrictionsForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#remove-a-member + */ + "DELETE /orgs/:org/members/:username": { + parameters: OrgsRemoveMemberEndpoint; + request: OrgsRemoveMemberRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#remove-organization-membership + */ + "DELETE /orgs/:org/memberships/:username": { + parameters: OrgsRemoveMembershipEndpoint; + request: OrgsRemoveMembershipRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/orgs/#delete-an-organization-migration-archive + */ + "DELETE /orgs/:org/migrations/:migration_id/archive": { + parameters: MigrationsDeleteArchiveForOrgEndpoint; + request: MigrationsDeleteArchiveForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/orgs/#unlock-an-organization-repository + */ + "DELETE /orgs/:org/migrations/:migration_id/repos/:repo_name/lock": { + parameters: MigrationsUnlockRepoForOrgEndpoint; + request: MigrationsUnlockRepoForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/outside_collaborators/#remove-outside-collaborator + */ + "DELETE /orgs/:org/outside_collaborators/:username": { + parameters: OrgsRemoveOutsideCollaboratorEndpoint; + request: OrgsRemoveOutsideCollaboratorRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#conceal-a-users-membership + */ + "DELETE /orgs/:org/public_members/:username": { + parameters: OrgsConcealMembershipEndpoint; + request: OrgsConcealMembershipRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#delete-team + */ + "DELETE /orgs/:org/teams/:team_slug": { + parameters: TeamsDeleteInOrgEndpoint; + request: TeamsDeleteInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#delete-a-discussion + */ + "DELETE /orgs/:org/teams/:team_slug/discussions/:discussion_number": { + parameters: TeamsDeleteDiscussionInOrgEndpoint; + request: TeamsDeleteDiscussionInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#delete-a-comment + */ + "DELETE /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number": { + parameters: TeamsDeleteDiscussionCommentInOrgEndpoint; + request: TeamsDeleteDiscussionCommentInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#delete-team-discussion-comment-reaction + */ + "DELETE /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id": { + parameters: ReactionsDeleteForTeamDiscussionCommentEndpoint; + request: ReactionsDeleteForTeamDiscussionCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#delete-team-discussion-reaction + */ + "DELETE /orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions/:reaction_id": { + parameters: ReactionsDeleteForTeamDiscussionEndpoint; + request: ReactionsDeleteForTeamDiscussionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#remove-team-membership + */ + "DELETE /orgs/:org/teams/:team_slug/memberships/:username": { + parameters: TeamsRemoveMembershipInOrgEndpoint; + request: TeamsRemoveMembershipInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#remove-team-project + */ + "DELETE /orgs/:org/teams/:team_slug/projects/:project_id": { + parameters: TeamsRemoveProjectInOrgEndpoint; + request: TeamsRemoveProjectInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#remove-team-repository + */ + "DELETE /orgs/:org/teams/:team_slug/repos/:owner/:repo": { + parameters: TeamsRemoveRepoInOrgEndpoint; + request: TeamsRemoveRepoInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/#delete-a-project + */ + "DELETE /projects/:project_id": { + parameters: ProjectsDeleteEndpoint; + request: ProjectsDeleteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/collaborators/#remove-user-as-a-collaborator + */ + "DELETE /projects/:project_id/collaborators/:username": { + parameters: ProjectsRemoveCollaboratorEndpoint; + request: ProjectsRemoveCollaboratorRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/columns/#delete-a-project-column + */ + "DELETE /projects/columns/:column_id": { + parameters: ProjectsDeleteColumnEndpoint; + request: ProjectsDeleteColumnRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/cards/#delete-a-project-card + */ + "DELETE /projects/columns/cards/:card_id": { + parameters: ProjectsDeleteCardEndpoint; + request: ProjectsDeleteCardRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#delete-a-reaction-legacy + */ + "DELETE /reactions/:reaction_id": { + parameters: ReactionsDeleteLegacyEndpoint; + request: ReactionsDeleteLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#delete-a-repository + */ + "DELETE /repos/:owner/:repo": { + parameters: ReposDeleteEndpoint; + request: ReposDeleteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/artifacts/#delete-an-artifact + */ + "DELETE /repos/:owner/:repo/actions/artifacts/:artifact_id": { + parameters: ActionsDeleteArtifactEndpoint; + request: ActionsDeleteArtifactRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#delete-a-self-hosted-runner-from-a-repository + */ + "DELETE /repos/:owner/:repo/actions/runners/:runner_id": { + parameters: ActionsDeleteSelfHostedRunnerFromRepoEndpoint; + request: ActionsDeleteSelfHostedRunnerFromRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-runs/#delete-workflow-run-logs + */ + "DELETE /repos/:owner/:repo/actions/runs/:run_id/logs": { + parameters: ActionsDeleteWorkflowRunLogsEndpoint; + request: ActionsDeleteWorkflowRunLogsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/secrets/#delete-a-secret-from-a-repository + */ + "DELETE /repos/:owner/:repo/actions/secrets/:name": { + parameters: ActionsDeleteSecretFromRepoEndpoint; + request: ActionsDeleteSecretFromRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#disable-automated-security-fixes + */ + "DELETE /repos/:owner/:repo/automated-security-fixes": { + parameters: ReposDisableAutomatedSecurityFixesEndpoint; + request: ReposDisableAutomatedSecurityFixesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-branch-protection + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection": { + parameters: ReposRemoveBranchProtectionEndpoint; + request: ReposRemoveBranchProtectionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-admin-enforcement-of-protected-branch + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection/enforce_admins": { + parameters: ReposRemoveProtectedBranchAdminEnforcementEndpoint; + request: ReposRemoveProtectedBranchAdminEnforcementRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-pull-request-review-enforcement-of-protected-branch + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews": { + parameters: ReposRemoveProtectedBranchPullRequestReviewEnforcementEndpoint; + request: ReposRemoveProtectedBranchPullRequestReviewEnforcementRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-required-signatures-of-protected-branch + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection/required_signatures": { + parameters: ReposRemoveProtectedBranchRequiredSignaturesEndpoint; + request: ReposRemoveProtectedBranchRequiredSignaturesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-required-status-checks-of-protected-branch + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection/required_status_checks": { + parameters: ReposRemoveProtectedBranchRequiredStatusChecksEndpoint; + request: ReposRemoveProtectedBranchRequiredStatusChecksRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-required-status-checks-contexts-of-protected-branch + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts": { + parameters: ReposRemoveProtectedBranchRequiredStatusChecksContextsEndpoint; + request: ReposRemoveProtectedBranchRequiredStatusChecksContextsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-restrictions-of-protected-branch + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection/restrictions": { + parameters: ReposRemoveProtectedBranchRestrictionsEndpoint; + request: ReposRemoveProtectedBranchRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-app-restrictions-of-protected-branch + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection/restrictions/apps": { + parameters: ReposRemoveProtectedBranchAppRestrictionsEndpoint; + request: ReposRemoveProtectedBranchAppRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-team-restrictions-of-protected-branch + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection/restrictions/teams": { + parameters: ReposRemoveProtectedBranchTeamRestrictionsEndpoint; + request: ReposRemoveProtectedBranchTeamRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-user-restrictions-of-protected-branch + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection/restrictions/users": { + parameters: ReposRemoveProtectedBranchUserRestrictionsEndpoint; + request: ReposRemoveProtectedBranchUserRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/collaborators/#remove-user-as-a-collaborator + */ + "DELETE /repos/:owner/:repo/collaborators/:username": { + parameters: ReposRemoveCollaboratorEndpoint; + request: ReposRemoveCollaboratorRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/comments/#delete-a-commit-comment + */ + "DELETE /repos/:owner/:repo/comments/:comment_id": { + parameters: ReposDeleteCommitCommentEndpoint; + request: ReposDeleteCommitCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#delete-a-commit-comment-reaction + */ + "DELETE /repos/:owner/:repo/comments/:comment_id/reactions/:reaction_id": { + parameters: ReactionsDeleteForCommitCommentEndpoint; + request: ReactionsDeleteForCommitCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/contents/#delete-a-file + */ + "DELETE /repos/:owner/:repo/contents/:path": { + parameters: ReposDeleteFileEndpoint; + request: ReposDeleteFileRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/deployments/#delete-a-deployment + */ + "DELETE /repos/:owner/:repo/deployments/:deployment_id": { + parameters: ReposDeleteDeploymentEndpoint; + request: ReposDeleteDeploymentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/downloads/#delete-a-download + */ + "DELETE /repos/:owner/:repo/downloads/:download_id": { + parameters: ReposDeleteDownloadEndpoint; + request: ReposDeleteDownloadRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/refs/#delete-a-reference + */ + "DELETE /repos/:owner/:repo/git/refs/:ref": { + parameters: GitDeleteRefEndpoint; + request: GitDeleteRefRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/hooks/#delete-a-hook + */ + "DELETE /repos/:owner/:repo/hooks/:hook_id": { + parameters: ReposDeleteHookEndpoint; + request: ReposDeleteHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/source_imports/#cancel-an-import + */ + "DELETE /repos/:owner/:repo/import": { + parameters: MigrationsCancelImportEndpoint; + request: MigrationsCancelImportRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/interactions/repos/#remove-interaction-restrictions-for-a-repository + */ + "DELETE /repos/:owner/:repo/interaction-limits": { + parameters: InteractionsRemoveRestrictionsForRepoEndpoint; + request: InteractionsRemoveRestrictionsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/invitations/#delete-a-repository-invitation + */ + "DELETE /repos/:owner/:repo/invitations/:invitation_id": { + parameters: ReposDeleteInvitationEndpoint; + request: ReposDeleteInvitationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/assignees/#remove-assignees-from-an-issue + */ + "DELETE /repos/:owner/:repo/issues/:issue_number/assignees": { + parameters: IssuesRemoveAssigneesEndpoint; + request: IssuesRemoveAssigneesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#remove-all-labels-from-an-issue + */ + "DELETE /repos/:owner/:repo/issues/:issue_number/labels": { + parameters: IssuesRemoveAllLabelsEndpoint; + request: IssuesRemoveAllLabelsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#remove-a-label-from-an-issue + */ + "DELETE /repos/:owner/:repo/issues/:issue_number/labels/:name": { + parameters: IssuesRemoveLabelEndpoint; + request: IssuesRemoveLabelRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/#unlock-an-issue + */ + "DELETE /repos/:owner/:repo/issues/:issue_number/lock": { + parameters: IssuesUnlockEndpoint; + request: IssuesUnlockRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#delete-an-issue-reaction + */ + "DELETE /repos/:owner/:repo/issues/:issue_number/reactions/:reaction_id": { + parameters: ReactionsDeleteForIssueEndpoint; + request: ReactionsDeleteForIssueRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/comments/#delete-a-comment + */ + "DELETE /repos/:owner/:repo/issues/comments/:comment_id": { + parameters: IssuesDeleteCommentEndpoint; + request: IssuesDeleteCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#delete-an-issue-comment-reaction + */ + "DELETE /repos/:owner/:repo/issues/comments/:comment_id/reactions/:reaction_id": { + parameters: ReactionsDeleteForIssueCommentEndpoint; + request: ReactionsDeleteForIssueCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/keys/#remove-a-deploy-key + */ + "DELETE /repos/:owner/:repo/keys/:key_id": { + parameters: ReposRemoveDeployKeyEndpoint; + request: ReposRemoveDeployKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#delete-a-label + */ + "DELETE /repos/:owner/:repo/labels/:name": { + parameters: IssuesDeleteLabelEndpoint; + request: IssuesDeleteLabelRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/milestones/#delete-a-milestone + */ + "DELETE /repos/:owner/:repo/milestones/:milestone_number": { + parameters: IssuesDeleteMilestoneEndpoint; + request: IssuesDeleteMilestoneRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/pages/#disable-a-pages-site + */ + "DELETE /repos/:owner/:repo/pages": { + parameters: ReposDisablePagesSiteEndpoint; + request: ReposDisablePagesSiteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/review_requests/#delete-a-review-request + */ + "DELETE /repos/:owner/:repo/pulls/:pull_number/requested_reviewers": { + parameters: PullsDeleteReviewRequestEndpoint; + request: PullsDeleteReviewRequestRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/reviews/#delete-a-pending-review + */ + "DELETE /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id": { + parameters: PullsDeletePendingReviewEndpoint; + request: PullsDeletePendingReviewRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/comments/#delete-a-comment + */ + "DELETE /repos/:owner/:repo/pulls/comments/:comment_id": { + parameters: PullsDeleteCommentEndpoint; + request: PullsDeleteCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#delete-a-pull-request-comment-reaction + */ + "DELETE /repos/:owner/:repo/pulls/comments/:comment_id/reactions/:reaction_id": { + parameters: ReactionsDeleteForPullRequestCommentEndpoint; + request: ReactionsDeleteForPullRequestCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#delete-a-release + */ + "DELETE /repos/:owner/:repo/releases/:release_id": { + parameters: ReposDeleteReleaseEndpoint; + request: ReposDeleteReleaseRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#delete-a-release-asset + */ + "DELETE /repos/:owner/:repo/releases/assets/:asset_id": { + parameters: ReposDeleteReleaseAssetEndpoint; + request: ReposDeleteReleaseAssetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/watching/#delete-a-repository-subscription + */ + "DELETE /repos/:owner/:repo/subscription": { + parameters: ActivityDeleteRepoSubscriptionEndpoint; + request: ActivityDeleteRepoSubscriptionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#disable-vulnerability-alerts + */ + "DELETE /repos/:owner/:repo/vulnerability-alerts": { + parameters: ReposDisableVulnerabilityAlertsEndpoint; + request: ReposDisableVulnerabilityAlertsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/scim/#remove-a-user-from-the-organization + */ + "DELETE /scim/v2/organizations/:org/Users/:scim_user_id": { + parameters: ScimRemoveUserFromOrgEndpoint; + request: ScimRemoveUserFromOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#delete-team-legacy + */ + "DELETE /teams/:team_id": { + parameters: TeamsDeleteLegacyEndpoint; + request: TeamsDeleteLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#delete-a-discussion-legacy + */ + "DELETE /teams/:team_id/discussions/:discussion_number": { + parameters: TeamsDeleteDiscussionLegacyEndpoint; + request: TeamsDeleteDiscussionLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#delete-a-comment-legacy + */ + "DELETE /teams/:team_id/discussions/:discussion_number/comments/:comment_number": { + parameters: TeamsDeleteDiscussionCommentLegacyEndpoint; + request: TeamsDeleteDiscussionCommentLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#remove-team-member-legacy + */ + "DELETE /teams/:team_id/members/:username": { + parameters: TeamsRemoveMemberLegacyEndpoint; + request: TeamsRemoveMemberLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#remove-team-membership-legacy + */ + "DELETE /teams/:team_id/memberships/:username": { + parameters: TeamsRemoveMembershipLegacyEndpoint; + request: TeamsRemoveMembershipLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#remove-team-project-legacy + */ + "DELETE /teams/:team_id/projects/:project_id": { + parameters: TeamsRemoveProjectLegacyEndpoint; + request: TeamsRemoveProjectLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#remove-team-repository-legacy + */ + "DELETE /teams/:team_id/repos/:owner/:repo": { + parameters: TeamsRemoveRepoLegacyEndpoint; + request: TeamsRemoveRepoLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/blocking/#unblock-a-user + */ + "DELETE /user/blocks/:username": { + parameters: UsersUnblockEndpoint; + request: UsersUnblockRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/emails/#delete-email-addresses + */ + "DELETE /user/emails": { + parameters: UsersDeleteEmailsEndpoint; + request: UsersDeleteEmailsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/followers/#unfollow-a-user + */ + "DELETE /user/following/:username": { + parameters: UsersUnfollowEndpoint; + request: UsersUnfollowRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/gpg_keys/#delete-a-gpg-key + */ + "DELETE /user/gpg_keys/:gpg_key_id": { + parameters: UsersDeleteGpgKeyEndpoint; + request: UsersDeleteGpgKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/installations/#remove-repository-from-installation + */ + "DELETE /user/installations/:installation_id/repositories/:repository_id": { + parameters: AppsRemoveRepoFromInstallationEndpoint; + request: AppsRemoveRepoFromInstallationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/keys/#delete-a-public-key + */ + "DELETE /user/keys/:key_id": { + parameters: UsersDeletePublicKeyEndpoint; + request: UsersDeletePublicKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/users/#delete-a-user-migration-archive + */ + "DELETE /user/migrations/:migration_id/archive": { + parameters: MigrationsDeleteArchiveForAuthenticatedUserEndpoint; + request: MigrationsDeleteArchiveForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/users/#unlock-a-user-repository + */ + "DELETE /user/migrations/:migration_id/repos/:repo_name/lock": { + parameters: MigrationsUnlockRepoForAuthenticatedUserEndpoint; + request: MigrationsUnlockRepoForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/invitations/#decline-a-repository-invitation + */ + "DELETE /user/repository_invitations/:invitation_id": { + parameters: ReposDeclineInvitationEndpoint; + request: ReposDeclineInvitationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/starring/#unstar-a-repository-for-the-authenticated-user + */ + "DELETE /user/starred/:owner/:repo": { + parameters: ActivityUnstarRepoForAuthenticatedUserEndpoint; + request: ActivityUnstarRepoForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/watching/#stop-watching-a-repository-legacy + */ + "DELETE /user/subscriptions/:owner/:repo": { + parameters: ActivityStopWatchingRepoLegacyEndpoint; + request: ActivityStopWatchingRepoLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#get-the-authenticated-github-app + */ + "GET /app": { + parameters: AppsGetAuthenticatedEndpoint; + request: AppsGetAuthenticatedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#list-installations + */ + "GET /app/installations": { + parameters: AppsListInstallationsEndpoint; + request: AppsListInstallationsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#get-an-installation + */ + "GET /app/installations/:installation_id": { + parameters: AppsGetInstallationEndpoint; + request: AppsGetInstallationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/oauth_applications/#check-an-authorization + */ + "GET /applications/:client_id/tokens/:access_token": { + parameters: AppsCheckAuthorizationEndpoint; + request: AppsCheckAuthorizationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#list-your-grants + */ + "GET /applications/grants": { + parameters: OauthAuthorizationsListGrantsEndpoint; + request: OauthAuthorizationsListGrantsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#get-a-single-grant + */ + "GET /applications/grants/:grant_id": { + parameters: OauthAuthorizationsGetGrantEndpoint; + request: OauthAuthorizationsGetGrantRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#get-a-single-github-app + */ + "GET /apps/:app_slug": { + parameters: AppsGetBySlugEndpoint; + request: AppsGetBySlugRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#list-your-authorizations + */ + "GET /authorizations": { + parameters: OauthAuthorizationsListAuthorizationsEndpoint; + request: OauthAuthorizationsListAuthorizationsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#get-a-single-authorization + */ + "GET /authorizations/:authorization_id": { + parameters: OauthAuthorizationsGetAuthorizationEndpoint; + request: OauthAuthorizationsGetAuthorizationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/codes_of_conduct/#list-all-codes-of-conduct + */ + "GET /codes_of_conduct": { + parameters: CodesOfConductGetAllCodesOfConductEndpoint; + request: CodesOfConductGetAllCodesOfConductRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/codes_of_conduct/#get-an-individual-code-of-conduct + */ + "GET /codes_of_conduct/:key": { + parameters: CodesOfConductGetConductCodeEndpoint; + request: CodesOfConductGetConductCodeRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/emojis/#emojis + */ + "GET /emojis": { + parameters: EmojisGetEndpoint; + request: EmojisGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/events/#list-public-events + */ + "GET /events": { + parameters: ActivityListPublicEventsEndpoint; + request: ActivityListPublicEventsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/feeds/#get-feeds + */ + "GET /feeds": { + parameters: ActivityGetFeedsEndpoint; + request: ActivityGetFeedsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#list-gists-for-the-authenticated-user + */ + "GET /gists": { + parameters: GistsListEndpoint; + request: GistsListRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#get-a-gist + */ + "GET /gists/:gist_id": { + parameters: GistsGetEndpoint; + request: GistsGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#get-a-specific-revision-of-a-gist + */ + "GET /gists/:gist_id/:sha": { + parameters: GistsGetRevisionEndpoint; + request: GistsGetRevisionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/comments/#list-comments-on-a-gist + */ + "GET /gists/:gist_id/comments": { + parameters: GistsListCommentsEndpoint; + request: GistsListCommentsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/comments/#get-a-single-comment + */ + "GET /gists/:gist_id/comments/:comment_id": { + parameters: GistsGetCommentEndpoint; + request: GistsGetCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#list-gist-commits + */ + "GET /gists/:gist_id/commits": { + parameters: GistsListCommitsEndpoint; + request: GistsListCommitsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#list-gist-forks + */ + "GET /gists/:gist_id/forks": { + parameters: GistsListForksEndpoint; + request: GistsListForksRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#check-if-a-gist-is-starred + */ + "GET /gists/:gist_id/star": { + parameters: GistsCheckIsStarredEndpoint; + request: GistsCheckIsStarredRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#list-public-gists + */ + "GET /gists/public": { + parameters: GistsListPublicEndpoint; + request: GistsListPublicRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#list-starred-gists + */ + "GET /gists/starred": { + parameters: GistsListStarredEndpoint; + request: GistsListStarredRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gitignore/#listing-available-templates + */ + "GET /gitignore/templates": { + parameters: GitignoreListTemplatesEndpoint; + request: GitignoreListTemplatesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gitignore/#get-a-single-template + */ + "GET /gitignore/templates/:name": { + parameters: GitignoreGetTemplateEndpoint; + request: GitignoreGetTemplateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/installations/#list-repositories + */ + "GET /installation/repositories": { + parameters: AppsListReposEndpoint; + request: AppsListReposRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/#list-issues-assigned-to-the-authenticated-user + */ + "GET /issues": { + parameters: IssuesListEndpoint; + request: IssuesListRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/legacy/#search-issues + */ + "GET /legacy/issues/search/:owner/:repository/:state/:keyword": { + parameters: SearchIssuesLegacyEndpoint; + request: SearchIssuesLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/legacy/#search-repositories + */ + "GET /legacy/repos/search/:keyword": { + parameters: SearchReposLegacyEndpoint; + request: SearchReposLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/legacy/#email-search + */ + "GET /legacy/user/email/:email": { + parameters: SearchEmailLegacyEndpoint; + request: SearchEmailLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/legacy/#search-users + */ + "GET /legacy/user/search/:keyword": { + parameters: SearchUsersLegacyEndpoint; + request: SearchUsersLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/licenses/#list-commonly-used-licenses + */ + "GET /licenses": { + parameters: LicensesListCommonlyUsedEndpoint; + request: LicensesListCommonlyUsedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/licenses/#get-an-individual-license + */ + "GET /licenses/:license": { + parameters: LicensesGetEndpoint; + request: LicensesGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/marketplace/#get-a-subscription-plan-for-an-account + */ + "GET /marketplace_listing/accounts/:account_id": { + parameters: AppsGetSubscriptionPlanForAccountEndpoint; + request: AppsGetSubscriptionPlanForAccountRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/marketplace/#list-plans + */ + "GET /marketplace_listing/plans": { + parameters: AppsListPlansEndpoint; + request: AppsListPlansRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/marketplace/#list-accounts-for-a-plan + */ + "GET /marketplace_listing/plans/:plan_id/accounts": { + parameters: AppsListAccountsForPlanEndpoint; + request: AppsListAccountsForPlanRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/marketplace/#get-a-subscription-plan-for-an-account-stubbed + */ + "GET /marketplace_listing/stubbed/accounts/:account_id": { + parameters: AppsGetSubscriptionPlanForAccountStubbedEndpoint; + request: AppsGetSubscriptionPlanForAccountStubbedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/marketplace/#list-plans-stubbed + */ + "GET /marketplace_listing/stubbed/plans": { + parameters: AppsListPlansStubbedEndpoint; + request: AppsListPlansStubbedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/marketplace/#list-accounts-for-a-plan-stubbed + */ + "GET /marketplace_listing/stubbed/plans/:plan_id/accounts": { + parameters: AppsListAccountsForPlanStubbedEndpoint; + request: AppsListAccountsForPlanStubbedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/meta/#meta + */ + "GET /meta": { + parameters: MetaGetEndpoint; + request: MetaGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/events/#list-public-events-for-a-network-of-repositories + */ + "GET /networks/:owner/:repo/events": { + parameters: ActivityListPublicEventsForRepoNetworkEndpoint; + request: ActivityListPublicEventsForRepoNetworkRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/notifications/#list-notifications-for-the-authenticated-user + */ + "GET /notifications": { + parameters: ActivityListNotificationsForAuthenticatedUserEndpoint; + request: ActivityListNotificationsForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/notifications/#get-a-thread + */ + "GET /notifications/threads/:thread_id": { + parameters: ActivityGetThreadEndpoint; + request: ActivityGetThreadRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/notifications/#get-a-thread-subscription-for-the-authenticated-user + */ + "GET /notifications/threads/:thread_id/subscription": { + parameters: ActivityGetThreadSubscriptionForAuthenticatedUserEndpoint; + request: ActivityGetThreadSubscriptionForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/#list-all-organizations + */ + "GET /organizations": { + parameters: OrgsListEndpoint; + request: OrgsListRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/#get-an-organization + */ + "GET /orgs/:org": { + parameters: OrgsGetEndpoint; + request: OrgsGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#list-self-hosted-runners-for-an-organization + */ + "GET /orgs/:org/actions/runners": { + parameters: ActionsListSelfHostedRunnersForOrgEndpoint; + request: ActionsListSelfHostedRunnersForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#get-a-self-hosted-runner-for-an-organization + */ + "GET /orgs/:org/actions/runners/:runner_id": { + parameters: ActionsGetSelfHostedRunnerForOrgEndpoint; + request: ActionsGetSelfHostedRunnerForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#list-runner-applications-for-an-organization + */ + "GET /orgs/:org/actions/runners/downloads": { + parameters: ActionsListRunnerApplicationsForOrgEndpoint; + request: ActionsListRunnerApplicationsForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/blocking/#list-blocked-users + */ + "GET /orgs/:org/blocks": { + parameters: OrgsListBlockedUsersEndpoint; + request: OrgsListBlockedUsersRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/blocking/#check-whether-a-user-is-blocked-from-an-organization + */ + "GET /orgs/:org/blocks/:username": { + parameters: OrgsCheckBlockedUserEndpoint; + request: OrgsCheckBlockedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/#list-credential-authorizations-for-an-organization + */ + "GET /orgs/:org/credential-authorizations": { + parameters: OrgsListCredentialAuthorizationsEndpoint; + request: OrgsListCredentialAuthorizationsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/events/#list-public-organization-events + */ + "GET /orgs/:org/events": { + parameters: ActivityListPublicOrgEventsEndpoint; + request: ActivityListPublicOrgEventsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/hooks/#list-hooks + */ + "GET /orgs/:org/hooks": { + parameters: OrgsListHooksEndpoint; + request: OrgsListHooksRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/hooks/#get-single-hook + */ + "GET /orgs/:org/hooks/:hook_id": { + parameters: OrgsGetHookEndpoint; + request: OrgsGetHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#get-an-organization-installation + */ + "GET /orgs/:org/installation": { + parameters: AppsGetOrgInstallationEndpoint; + request: AppsGetOrgInstallationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/#list-installations-for-an-organization + */ + "GET /orgs/:org/installations": { + parameters: OrgsListInstallationsEndpoint; + request: OrgsListInstallationsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/interactions/orgs/#get-interaction-restrictions-for-an-organization + */ + "GET /orgs/:org/interaction-limits": { + parameters: InteractionsGetRestrictionsForOrgEndpoint; + request: InteractionsGetRestrictionsForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#list-pending-organization-invitations + */ + "GET /orgs/:org/invitations": { + parameters: OrgsListPendingInvitationsEndpoint; + request: OrgsListPendingInvitationsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#list-organization-invitation-teams + */ + "GET /orgs/:org/invitations/:invitation_id/teams": { + parameters: OrgsListInvitationTeamsEndpoint; + request: OrgsListInvitationTeamsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/#list-organization-issues-assigned-to-the-authenticated-user + */ + "GET /orgs/:org/issues": { + parameters: IssuesListForOrgEndpoint; + request: IssuesListForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#members-list + */ + "GET /orgs/:org/members": { + parameters: OrgsListMembersEndpoint; + request: OrgsListMembersRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#check-membership + */ + "GET /orgs/:org/members/:username": { + parameters: OrgsCheckMembershipEndpoint; + request: OrgsCheckMembershipRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#get-organization-membership + */ + "GET /orgs/:org/memberships/:username": { + parameters: OrgsGetMembershipEndpoint; + request: OrgsGetMembershipRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/orgs/#list-organization-migrations + */ + "GET /orgs/:org/migrations": { + parameters: MigrationsListForOrgEndpoint; + request: MigrationsListForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/orgs/#get-the-status-of-an-organization-migration + */ + "GET /orgs/:org/migrations/:migration_id": { + parameters: MigrationsGetStatusForOrgEndpoint; + request: MigrationsGetStatusForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/orgs/#download-an-organization-migration-archive + */ + "GET /orgs/:org/migrations/:migration_id/archive": { + parameters: MigrationsDownloadArchiveForOrgEndpoint; + request: MigrationsDownloadArchiveForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/orgs/#list-repositories-in-an-organization-migration + */ + "GET /orgs/:org/migrations/:migration_id/repositories": { + parameters: MigrationsListReposForOrgEndpoint; + request: MigrationsListReposForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/outside_collaborators/#list-outside-collaborators + */ + "GET /orgs/:org/outside_collaborators": { + parameters: OrgsListOutsideCollaboratorsEndpoint; + request: OrgsListOutsideCollaboratorsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/#list-organization-projects + */ + "GET /orgs/:org/projects": { + parameters: ProjectsListForOrgEndpoint; + request: ProjectsListForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#public-members-list + */ + "GET /orgs/:org/public_members": { + parameters: OrgsListPublicMembersEndpoint; + request: OrgsListPublicMembersRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#check-public-membership + */ + "GET /orgs/:org/public_members/:username": { + parameters: OrgsCheckPublicMembershipEndpoint; + request: OrgsCheckPublicMembershipRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#list-organization-repositories + */ + "GET /orgs/:org/repos": { + parameters: ReposListForOrgEndpoint; + request: ReposListForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/team_sync/#list-idp-groups-in-an-organization + */ + "GET /orgs/:org/team-sync/groups": { + parameters: TeamsListIdPGroupsForOrgEndpoint; + request: TeamsListIdPGroupsForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#list-teams + */ + "GET /orgs/:org/teams": { + parameters: TeamsListEndpoint; + request: TeamsListRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#get-team-by-name + */ + "GET /orgs/:org/teams/:team_slug": { + parameters: TeamsGetByNameEndpoint; + request: TeamsGetByNameRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#list-discussions + */ + "GET /orgs/:org/teams/:team_slug/discussions": { + parameters: TeamsListDiscussionsInOrgEndpoint; + request: TeamsListDiscussionsInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#get-a-single-discussion + */ + "GET /orgs/:org/teams/:team_slug/discussions/:discussion_number": { + parameters: TeamsGetDiscussionInOrgEndpoint; + request: TeamsGetDiscussionInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#list-comments + */ + "GET /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments": { + parameters: TeamsListDiscussionCommentsInOrgEndpoint; + request: TeamsListDiscussionCommentsInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#get-a-single-comment + */ + "GET /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number": { + parameters: TeamsGetDiscussionCommentInOrgEndpoint; + request: TeamsGetDiscussionCommentInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-comment + */ + "GET /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions": { + parameters: ReactionsListForTeamDiscussionCommentInOrgEndpoint; + request: ReactionsListForTeamDiscussionCommentInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion + */ + "GET /orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions": { + parameters: ReactionsListForTeamDiscussionInOrgEndpoint; + request: ReactionsListForTeamDiscussionInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#list-pending-team-invitations + */ + "GET /orgs/:org/teams/:team_slug/invitations": { + parameters: TeamsListPendingInvitationsInOrgEndpoint; + request: TeamsListPendingInvitationsInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#list-team-members + */ + "GET /orgs/:org/teams/:team_slug/members": { + parameters: TeamsListMembersInOrgEndpoint; + request: TeamsListMembersInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#get-team-membership + */ + "GET /orgs/:org/teams/:team_slug/memberships/:username": { + parameters: TeamsGetMembershipInOrgEndpoint; + request: TeamsGetMembershipInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#list-team-projects + */ + "GET /orgs/:org/teams/:team_slug/projects": { + parameters: TeamsListProjectsInOrgEndpoint; + request: TeamsListProjectsInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#review-a-team-project + */ + "GET /orgs/:org/teams/:team_slug/projects/:project_id": { + parameters: TeamsReviewProjectInOrgEndpoint; + request: TeamsReviewProjectInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#list-team-repos + */ + "GET /orgs/:org/teams/:team_slug/repos": { + parameters: TeamsListReposInOrgEndpoint; + request: TeamsListReposInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#check-if-a-team-manages-a-repository + */ + "GET /orgs/:org/teams/:team_slug/repos/:owner/:repo": { + parameters: TeamsCheckManagesRepoInOrgEndpoint; + request: TeamsCheckManagesRepoInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/team_sync/#list-idp-groups-for-a-team + */ + "GET /orgs/:org/teams/:team_slug/team-sync/group-mappings": { + parameters: TeamsListIdPGroupsInOrgEndpoint; + request: TeamsListIdPGroupsInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#list-child-teams + */ + "GET /orgs/:org/teams/:team_slug/teams": { + parameters: TeamsListChildInOrgEndpoint; + request: TeamsListChildInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/#get-a-project + */ + "GET /projects/:project_id": { + parameters: ProjectsGetEndpoint; + request: ProjectsGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/collaborators/#list-collaborators + */ + "GET /projects/:project_id/collaborators": { + parameters: ProjectsListCollaboratorsEndpoint; + request: ProjectsListCollaboratorsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/collaborators/#review-a-users-permission-level + */ + "GET /projects/:project_id/collaborators/:username/permission": { + parameters: ProjectsReviewUserPermissionLevelEndpoint; + request: ProjectsReviewUserPermissionLevelRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/columns/#list-project-columns + */ + "GET /projects/:project_id/columns": { + parameters: ProjectsListColumnsEndpoint; + request: ProjectsListColumnsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/columns/#get-a-project-column + */ + "GET /projects/columns/:column_id": { + parameters: ProjectsGetColumnEndpoint; + request: ProjectsGetColumnRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/cards/#list-project-cards + */ + "GET /projects/columns/:column_id/cards": { + parameters: ProjectsListCardsEndpoint; + request: ProjectsListCardsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/cards/#get-a-project-card + */ + "GET /projects/columns/cards/:card_id": { + parameters: ProjectsGetCardEndpoint; + request: ProjectsGetCardRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/rate_limit/#get-your-current-rate-limit-status + */ + "GET /rate_limit": { + parameters: RateLimitGetEndpoint; + request: RateLimitGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#get-a-repository + */ + "GET /repos/:owner/:repo": { + parameters: ReposGetEndpoint; + request: ReposGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/contents/#get-archive-link + */ + "GET /repos/:owner/:repo/:archive_format/:ref": { + parameters: ReposGetArchiveLinkEndpoint; + request: ReposGetArchiveLinkRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/artifacts/#list-artifacts-for-a-repository + */ + "GET /repos/:owner/:repo/actions/artifacts": { + parameters: ActionsListArtifactsForRepoEndpoint; + request: ActionsListArtifactsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/artifacts/#get-an-artifact + */ + "GET /repos/:owner/:repo/actions/artifacts/:artifact_id": { + parameters: ActionsGetArtifactEndpoint; + request: ActionsGetArtifactRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/artifacts/#download-an-artifact + */ + "GET /repos/:owner/:repo/actions/artifacts/:artifact_id/:archive_format": { + parameters: ActionsDownloadArtifactEndpoint; + request: ActionsDownloadArtifactRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-jobs/#get-a-workflow-job + */ + "GET /repos/:owner/:repo/actions/jobs/:job_id": { + parameters: ActionsGetWorkflowJobEndpoint; + request: ActionsGetWorkflowJobRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-jobs/#download-workflow-job-logs + */ + "GET /repos/:owner/:repo/actions/jobs/:job_id/logs": { + parameters: ActionsDownloadWorkflowJobLogsEndpoint; + request: ActionsDownloadWorkflowJobLogsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#list-self-hosted-runners-for-a-repository + */ + "GET /repos/:owner/:repo/actions/runners": { + parameters: ActionsListSelfHostedRunnersForRepoEndpoint; + request: ActionsListSelfHostedRunnersForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#get-a-self-hosted-runner-for-a-repository + */ + "GET /repos/:owner/:repo/actions/runners/:runner_id": { + parameters: ActionsGetSelfHostedRunnerForRepoEndpoint; + request: ActionsGetSelfHostedRunnerForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#list-runner-applications-for-a-repository + */ + "GET /repos/:owner/:repo/actions/runners/downloads": { + parameters: ActionsListRunnerApplicationsForRepoEndpoint; + request: ActionsListRunnerApplicationsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-runs/#list-repository-workflow-runs + */ + "GET /repos/:owner/:repo/actions/runs": { + parameters: ActionsListRepoWorkflowRunsEndpoint; + request: ActionsListRepoWorkflowRunsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-runs/#get-a-workflow-run + */ + "GET /repos/:owner/:repo/actions/runs/:run_id": { + parameters: ActionsGetWorkflowRunEndpoint; + request: ActionsGetWorkflowRunRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/artifacts/#list-workflow-run-artifacts + */ + "GET /repos/:owner/:repo/actions/runs/:run_id/artifacts": { + parameters: ActionsListWorkflowRunArtifactsEndpoint; + request: ActionsListWorkflowRunArtifactsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-jobs/#list-jobs-for-a-workflow-run + */ + "GET /repos/:owner/:repo/actions/runs/:run_id/jobs": { + parameters: ActionsListJobsForWorkflowRunEndpoint; + request: ActionsListJobsForWorkflowRunRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-runs/#download-workflow-run-logs + */ + "GET /repos/:owner/:repo/actions/runs/:run_id/logs": { + parameters: ActionsDownloadWorkflowRunLogsEndpoint; + request: ActionsDownloadWorkflowRunLogsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/secrets/#list-secrets-for-a-repository + */ + "GET /repos/:owner/:repo/actions/secrets": { + parameters: ActionsListSecretsForRepoEndpoint; + request: ActionsListSecretsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/secrets/#get-a-secret + */ + "GET /repos/:owner/:repo/actions/secrets/:name": { + parameters: ActionsGetSecretEndpoint; + request: ActionsGetSecretRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/secrets/#get-your-public-key + */ + "GET /repos/:owner/:repo/actions/secrets/public-key": { + parameters: ActionsGetPublicKeyEndpoint; + request: ActionsGetPublicKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflows/#list-repository-workflows + */ + "GET /repos/:owner/:repo/actions/workflows": { + parameters: ActionsListRepoWorkflowsEndpoint; + request: ActionsListRepoWorkflowsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflows/#get-a-workflow + */ + "GET /repos/:owner/:repo/actions/workflows/:workflow_id": { + parameters: ActionsGetWorkflowEndpoint; + request: ActionsGetWorkflowRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-runs/#list-workflow-runs + */ + "GET /repos/:owner/:repo/actions/workflows/:workflow_id/runs": { + parameters: ActionsListWorkflowRunsEndpoint; + request: ActionsListWorkflowRunsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/assignees/#list-assignees + */ + "GET /repos/:owner/:repo/assignees": { + parameters: IssuesListAssigneesEndpoint; + request: IssuesListAssigneesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/assignees/#check-assignee + */ + "GET /repos/:owner/:repo/assignees/:assignee": { + parameters: IssuesCheckAssigneeEndpoint; + request: IssuesCheckAssigneeRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#list-branches + */ + "GET /repos/:owner/:repo/branches": { + parameters: ReposListBranchesEndpoint; + request: ReposListBranchesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#get-branch + */ + "GET /repos/:owner/:repo/branches/:branch": { + parameters: ReposGetBranchEndpoint; + request: ReposGetBranchRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#get-branch-protection + */ + "GET /repos/:owner/:repo/branches/:branch/protection": { + parameters: ReposGetBranchProtectionEndpoint; + request: ReposGetBranchProtectionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#get-admin-enforcement-of-protected-branch + */ + "GET /repos/:owner/:repo/branches/:branch/protection/enforce_admins": { + parameters: ReposGetProtectedBranchAdminEnforcementEndpoint; + request: ReposGetProtectedBranchAdminEnforcementRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#get-pull-request-review-enforcement-of-protected-branch + */ + "GET /repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews": { + parameters: ReposGetProtectedBranchPullRequestReviewEnforcementEndpoint; + request: ReposGetProtectedBranchPullRequestReviewEnforcementRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#get-required-signatures-of-protected-branch + */ + "GET /repos/:owner/:repo/branches/:branch/protection/required_signatures": { + parameters: ReposGetProtectedBranchRequiredSignaturesEndpoint; + request: ReposGetProtectedBranchRequiredSignaturesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#get-required-status-checks-of-protected-branch + */ + "GET /repos/:owner/:repo/branches/:branch/protection/required_status_checks": { + parameters: ReposGetProtectedBranchRequiredStatusChecksEndpoint; + request: ReposGetProtectedBranchRequiredStatusChecksRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#list-required-status-checks-contexts-of-protected-branch + */ + "GET /repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts": { + parameters: ReposListProtectedBranchRequiredStatusChecksContextsEndpoint; + request: ReposListProtectedBranchRequiredStatusChecksContextsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#get-restrictions-of-protected-branch + */ + "GET /repos/:owner/:repo/branches/:branch/protection/restrictions": { + parameters: ReposGetProtectedBranchRestrictionsEndpoint; + request: ReposGetProtectedBranchRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#list-apps-with-access-to-protected-branch + */ + "GET /repos/:owner/:repo/branches/:branch/protection/restrictions/apps": { + parameters: ReposGetAppsWithAccessToProtectedBranchEndpoint; + request: ReposGetAppsWithAccessToProtectedBranchRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#list-teams-with-access-to-protected-branch + */ + "GET /repos/:owner/:repo/branches/:branch/protection/restrictions/teams": { + parameters: ReposGetTeamsWithAccessToProtectedBranchEndpoint; + request: ReposGetTeamsWithAccessToProtectedBranchRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#list-users-with-access-to-protected-branch + */ + "GET /repos/:owner/:repo/branches/:branch/protection/restrictions/users": { + parameters: ReposGetUsersWithAccessToProtectedBranchEndpoint; + request: ReposGetUsersWithAccessToProtectedBranchRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/runs/#get-a-check-run + */ + "GET /repos/:owner/:repo/check-runs/:check_run_id": { + parameters: ChecksGetEndpoint; + request: ChecksGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/runs/#list-check-run-annotations + */ + "GET /repos/:owner/:repo/check-runs/:check_run_id/annotations": { + parameters: ChecksListAnnotationsEndpoint; + request: ChecksListAnnotationsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/suites/#get-a-check-suite + */ + "GET /repos/:owner/:repo/check-suites/:check_suite_id": { + parameters: ChecksGetSuiteEndpoint; + request: ChecksGetSuiteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/runs/#list-check-runs-in-a-check-suite + */ + "GET /repos/:owner/:repo/check-suites/:check_suite_id/check-runs": { + parameters: ChecksListForSuiteEndpoint; + request: ChecksListForSuiteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/code-scanning/#list-code-scanning-alerts-for-a-repository + */ + "GET /repos/:owner/:repo/code-scanning/alerts": { + parameters: CodeScanningListAlertsForRepoEndpoint; + request: CodeScanningListAlertsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/code-scanning/#get-a-code-scanning-alert + */ + "GET /repos/:owner/:repo/code-scanning/alerts/:alert_id": { + parameters: CodeScanningGetAlertEndpoint; + request: CodeScanningGetAlertRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/collaborators/#list-collaborators + */ + "GET /repos/:owner/:repo/collaborators": { + parameters: ReposListCollaboratorsEndpoint; + request: ReposListCollaboratorsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/collaborators/#check-if-a-user-is-a-collaborator + */ + "GET /repos/:owner/:repo/collaborators/:username": { + parameters: ReposCheckCollaboratorEndpoint; + request: ReposCheckCollaboratorRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/collaborators/#review-a-users-permission-level + */ + "GET /repos/:owner/:repo/collaborators/:username/permission": { + parameters: ReposGetCollaboratorPermissionLevelEndpoint; + request: ReposGetCollaboratorPermissionLevelRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/comments/#list-commit-comments-for-a-repository + */ + "GET /repos/:owner/:repo/comments": { + parameters: ReposListCommitCommentsEndpoint; + request: ReposListCommitCommentsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/comments/#get-a-single-commit-comment + */ + "GET /repos/:owner/:repo/comments/:comment_id": { + parameters: ReposGetCommitCommentEndpoint; + request: ReposGetCommitCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#list-reactions-for-a-commit-comment + */ + "GET /repos/:owner/:repo/comments/:comment_id/reactions": { + parameters: ReactionsListForCommitCommentEndpoint; + request: ReactionsListForCommitCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/commits/#list-commits-on-a-repository + */ + "GET /repos/:owner/:repo/commits": { + parameters: ReposListCommitsEndpoint; + request: ReposListCommitsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/commits/#list-branches-for-head-commit + */ + "GET /repos/:owner/:repo/commits/:commit_sha/branches-where-head": { + parameters: ReposListBranchesForHeadCommitEndpoint; + request: ReposListBranchesForHeadCommitRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/comments/#list-comments-for-a-single-commit + */ + "GET /repos/:owner/:repo/commits/:commit_sha/comments": { + parameters: ReposListCommentsForCommitEndpoint; + request: ReposListCommentsForCommitRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/commits/#list-pull-requests-associated-with-commit + */ + "GET /repos/:owner/:repo/commits/:commit_sha/pulls": { + parameters: ReposListPullRequestsAssociatedWithCommitEndpoint; + request: ReposListPullRequestsAssociatedWithCommitRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/commits/#get-a-single-commit + */ + "GET /repos/:owner/:repo/commits/:ref": { + parameters: ReposGetCommitEndpoint; + request: ReposGetCommitRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/runs/#list-check-runs-for-a-git-reference + */ + "GET /repos/:owner/:repo/commits/:ref/check-runs": { + parameters: ChecksListForRefEndpoint; + request: ChecksListForRefRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/suites/#list-check-suites-for-a-git-reference + */ + "GET /repos/:owner/:repo/commits/:ref/check-suites": { + parameters: ChecksListSuitesForRefEndpoint; + request: ChecksListSuitesForRefRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/statuses/#get-the-combined-status-for-a-specific-ref + */ + "GET /repos/:owner/:repo/commits/:ref/status": { + parameters: ReposGetCombinedStatusForRefEndpoint; + request: ReposGetCombinedStatusForRefRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/statuses/#list-statuses-for-a-specific-ref + */ + "GET /repos/:owner/:repo/commits/:ref/statuses": { + parameters: ReposListStatusesForRefEndpoint; + request: ReposListStatusesForRefRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/codes_of_conduct/#get-the-contents-of-a-repositorys-code-of-conduct + */ + "GET /repos/:owner/:repo/community/code_of_conduct": { + parameters: CodesOfConductGetForRepoEndpoint; + request: CodesOfConductGetForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/community/#retrieve-community-profile-metrics + */ + "GET /repos/:owner/:repo/community/profile": { + parameters: ReposRetrieveCommunityProfileMetricsEndpoint; + request: ReposRetrieveCommunityProfileMetricsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/commits/#compare-two-commits + */ + "GET /repos/:owner/:repo/compare/:base...:head": { + parameters: ReposCompareCommitsEndpoint; + request: ReposCompareCommitsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/contents/#get-contents + */ + "GET /repos/:owner/:repo/contents/:path": { + parameters: ReposGetContentsEndpoint; + request: ReposGetContentsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#list-contributors + */ + "GET /repos/:owner/:repo/contributors": { + parameters: ReposListContributorsEndpoint; + request: ReposListContributorsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/deployments/#list-deployments + */ + "GET /repos/:owner/:repo/deployments": { + parameters: ReposListDeploymentsEndpoint; + request: ReposListDeploymentsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/deployments/#get-a-single-deployment + */ + "GET /repos/:owner/:repo/deployments/:deployment_id": { + parameters: ReposGetDeploymentEndpoint; + request: ReposGetDeploymentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/deployments/#list-deployment-statuses + */ + "GET /repos/:owner/:repo/deployments/:deployment_id/statuses": { + parameters: ReposListDeploymentStatusesEndpoint; + request: ReposListDeploymentStatusesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/deployments/#get-a-single-deployment-status + */ + "GET /repos/:owner/:repo/deployments/:deployment_id/statuses/:status_id": { + parameters: ReposGetDeploymentStatusEndpoint; + request: ReposGetDeploymentStatusRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/downloads/#list-downloads-for-a-repository + */ + "GET /repos/:owner/:repo/downloads": { + parameters: ReposListDownloadsEndpoint; + request: ReposListDownloadsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/downloads/#get-a-single-download + */ + "GET /repos/:owner/:repo/downloads/:download_id": { + parameters: ReposGetDownloadEndpoint; + request: ReposGetDownloadRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/events/#list-repository-events + */ + "GET /repos/:owner/:repo/events": { + parameters: ActivityListRepoEventsEndpoint; + request: ActivityListRepoEventsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/forks/#list-forks + */ + "GET /repos/:owner/:repo/forks": { + parameters: ReposListForksEndpoint; + request: ReposListForksRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/blobs/#get-a-blob + */ + "GET /repos/:owner/:repo/git/blobs/:file_sha": { + parameters: GitGetBlobEndpoint; + request: GitGetBlobRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/commits/#get-a-commit + */ + "GET /repos/:owner/:repo/git/commits/:commit_sha": { + parameters: GitGetCommitEndpoint; + request: GitGetCommitRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/refs/#list-matching-references + */ + "GET /repos/:owner/:repo/git/matching-refs/:ref": { + parameters: GitListMatchingRefsEndpoint; + request: GitListMatchingRefsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/refs/#get-a-single-reference + */ + "GET /repos/:owner/:repo/git/ref/:ref": { + parameters: GitGetRefEndpoint; + request: GitGetRefRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/tags/#get-a-tag + */ + "GET /repos/:owner/:repo/git/tags/:tag_sha": { + parameters: GitGetTagEndpoint; + request: GitGetTagRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/trees/#get-a-tree + */ + "GET /repos/:owner/:repo/git/trees/:tree_sha": { + parameters: GitGetTreeEndpoint; + request: GitGetTreeRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/hooks/#list-hooks + */ + "GET /repos/:owner/:repo/hooks": { + parameters: ReposListHooksEndpoint; + request: ReposListHooksRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/hooks/#get-single-hook + */ + "GET /repos/:owner/:repo/hooks/:hook_id": { + parameters: ReposGetHookEndpoint; + request: ReposGetHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/source_imports/#get-import-progress + */ + "GET /repos/:owner/:repo/import": { + parameters: MigrationsGetImportProgressEndpoint; + request: MigrationsGetImportProgressRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/source_imports/#get-commit-authors + */ + "GET /repos/:owner/:repo/import/authors": { + parameters: MigrationsGetCommitAuthorsEndpoint; + request: MigrationsGetCommitAuthorsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/source_imports/#get-large-files + */ + "GET /repos/:owner/:repo/import/large_files": { + parameters: MigrationsGetLargeFilesEndpoint; + request: MigrationsGetLargeFilesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#get-a-repository-installation + */ + "GET /repos/:owner/:repo/installation": { + parameters: AppsGetRepoInstallationEndpoint; + request: AppsGetRepoInstallationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/interactions/repos/#get-interaction-restrictions-for-a-repository + */ + "GET /repos/:owner/:repo/interaction-limits": { + parameters: InteractionsGetRestrictionsForRepoEndpoint; + request: InteractionsGetRestrictionsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/invitations/#list-invitations-for-a-repository + */ + "GET /repos/:owner/:repo/invitations": { + parameters: ReposListInvitationsEndpoint; + request: ReposListInvitationsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/#list-repository-issues + */ + "GET /repos/:owner/:repo/issues": { + parameters: IssuesListForRepoEndpoint; + request: IssuesListForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/#get-an-issue + */ + "GET /repos/:owner/:repo/issues/:issue_number": { + parameters: IssuesGetEndpoint; + request: IssuesGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/comments/#list-comments-on-an-issue + */ + "GET /repos/:owner/:repo/issues/:issue_number/comments": { + parameters: IssuesListCommentsEndpoint; + request: IssuesListCommentsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/events/#list-events-for-an-issue + */ + "GET /repos/:owner/:repo/issues/:issue_number/events": { + parameters: IssuesListEventsEndpoint; + request: IssuesListEventsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#list-labels-on-an-issue + */ + "GET /repos/:owner/:repo/issues/:issue_number/labels": { + parameters: IssuesListLabelsOnIssueEndpoint; + request: IssuesListLabelsOnIssueRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#list-reactions-for-an-issue + */ + "GET /repos/:owner/:repo/issues/:issue_number/reactions": { + parameters: ReactionsListForIssueEndpoint; + request: ReactionsListForIssueRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/timeline/#list-events-for-an-issue + */ + "GET /repos/:owner/:repo/issues/:issue_number/timeline": { + parameters: IssuesListEventsForTimelineEndpoint; + request: IssuesListEventsForTimelineRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/comments/#list-comments-in-a-repository + */ + "GET /repos/:owner/:repo/issues/comments": { + parameters: IssuesListCommentsForRepoEndpoint; + request: IssuesListCommentsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/comments/#get-a-single-comment + */ + "GET /repos/:owner/:repo/issues/comments/:comment_id": { + parameters: IssuesGetCommentEndpoint; + request: IssuesGetCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#list-reactions-for-an-issue-comment + */ + "GET /repos/:owner/:repo/issues/comments/:comment_id/reactions": { + parameters: ReactionsListForIssueCommentEndpoint; + request: ReactionsListForIssueCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/events/#list-events-for-a-repository + */ + "GET /repos/:owner/:repo/issues/events": { + parameters: IssuesListEventsForRepoEndpoint; + request: IssuesListEventsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/events/#get-a-single-event + */ + "GET /repos/:owner/:repo/issues/events/:event_id": { + parameters: IssuesGetEventEndpoint; + request: IssuesGetEventRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/keys/#list-deploy-keys + */ + "GET /repos/:owner/:repo/keys": { + parameters: ReposListDeployKeysEndpoint; + request: ReposListDeployKeysRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/keys/#get-a-deploy-key + */ + "GET /repos/:owner/:repo/keys/:key_id": { + parameters: ReposGetDeployKeyEndpoint; + request: ReposGetDeployKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#list-all-labels-for-this-repository + */ + "GET /repos/:owner/:repo/labels": { + parameters: IssuesListLabelsForRepoEndpoint; + request: IssuesListLabelsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#get-a-single-label + */ + "GET /repos/:owner/:repo/labels/:name": { + parameters: IssuesGetLabelEndpoint; + request: IssuesGetLabelRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#list-languages + */ + "GET /repos/:owner/:repo/languages": { + parameters: ReposListLanguagesEndpoint; + request: ReposListLanguagesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/licenses/#get-the-contents-of-a-repositorys-license + */ + "GET /repos/:owner/:repo/license": { + parameters: LicensesGetForRepoEndpoint; + request: LicensesGetForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/milestones/#list-milestones-for-a-repository + */ + "GET /repos/:owner/:repo/milestones": { + parameters: IssuesListMilestonesForRepoEndpoint; + request: IssuesListMilestonesForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/milestones/#get-a-single-milestone + */ + "GET /repos/:owner/:repo/milestones/:milestone_number": { + parameters: IssuesGetMilestoneEndpoint; + request: IssuesGetMilestoneRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#get-labels-for-every-issue-in-a-milestone + */ + "GET /repos/:owner/:repo/milestones/:milestone_number/labels": { + parameters: IssuesListLabelsForMilestoneEndpoint; + request: IssuesListLabelsForMilestoneRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/notifications/#list-repository-notifications-for-the-authenticated-user + */ + "GET /repos/:owner/:repo/notifications": { + parameters: ActivityListRepoNotificationsForAuthenticatedUserEndpoint; + request: ActivityListRepoNotificationsForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/pages/#get-information-about-a-pages-site + */ + "GET /repos/:owner/:repo/pages": { + parameters: ReposGetPagesEndpoint; + request: ReposGetPagesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/pages/#list-pages-builds + */ + "GET /repos/:owner/:repo/pages/builds": { + parameters: ReposListPagesBuildsEndpoint; + request: ReposListPagesBuildsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/pages/#get-a-specific-pages-build + */ + "GET /repos/:owner/:repo/pages/builds/:build_id": { + parameters: ReposGetPagesBuildEndpoint; + request: ReposGetPagesBuildRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/pages/#get-latest-pages-build + */ + "GET /repos/:owner/:repo/pages/builds/latest": { + parameters: ReposGetLatestPagesBuildEndpoint; + request: ReposGetLatestPagesBuildRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/#list-repository-projects + */ + "GET /repos/:owner/:repo/projects": { + parameters: ProjectsListForRepoEndpoint; + request: ProjectsListForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/#list-pull-requests + */ + "GET /repos/:owner/:repo/pulls": { + parameters: PullsListEndpoint; + request: PullsListRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/#get-a-single-pull-request + */ + "GET /repos/:owner/:repo/pulls/:pull_number": { + parameters: PullsGetEndpoint; + request: PullsGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/comments/#list-comments-on-a-pull-request + */ + "GET /repos/:owner/:repo/pulls/:pull_number/comments": { + parameters: PullsListCommentsEndpoint; + request: PullsListCommentsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/#list-commits-on-a-pull-request + */ + "GET /repos/:owner/:repo/pulls/:pull_number/commits": { + parameters: PullsListCommitsEndpoint; + request: PullsListCommitsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/#list-pull-requests-files + */ + "GET /repos/:owner/:repo/pulls/:pull_number/files": { + parameters: PullsListFilesEndpoint; + request: PullsListFilesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/#get-if-a-pull-request-has-been-merged + */ + "GET /repos/:owner/:repo/pulls/:pull_number/merge": { + parameters: PullsCheckIfMergedEndpoint; + request: PullsCheckIfMergedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/review_requests/#list-review-requests + */ + "GET /repos/:owner/:repo/pulls/:pull_number/requested_reviewers": { + parameters: PullsListReviewRequestsEndpoint; + request: PullsListReviewRequestsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/reviews/#list-reviews-on-a-pull-request + */ + "GET /repos/:owner/:repo/pulls/:pull_number/reviews": { + parameters: PullsListReviewsEndpoint; + request: PullsListReviewsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/reviews/#get-a-single-review + */ + "GET /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id": { + parameters: PullsGetReviewEndpoint; + request: PullsGetReviewRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/reviews/#get-comments-for-a-single-review + */ + "GET /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/comments": { + parameters: PullsGetCommentsForReviewEndpoint; + request: PullsGetCommentsForReviewRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/comments/#list-comments-in-a-repository + */ + "GET /repos/:owner/:repo/pulls/comments": { + parameters: PullsListCommentsForRepoEndpoint; + request: PullsListCommentsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/comments/#get-a-single-comment + */ + "GET /repos/:owner/:repo/pulls/comments/:comment_id": { + parameters: PullsGetCommentEndpoint; + request: PullsGetCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#list-reactions-for-a-pull-request-review-comment + */ + "GET /repos/:owner/:repo/pulls/comments/:comment_id/reactions": { + parameters: ReactionsListForPullRequestReviewCommentEndpoint; + request: ReactionsListForPullRequestReviewCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/contents/#get-the-readme + */ + "GET /repos/:owner/:repo/readme": { + parameters: ReposGetReadmeEndpoint; + request: ReposGetReadmeRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#list-releases-for-a-repository + */ + "GET /repos/:owner/:repo/releases": { + parameters: ReposListReleasesEndpoint; + request: ReposListReleasesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#get-a-single-release + */ + "GET /repos/:owner/:repo/releases/:release_id": { + parameters: ReposGetReleaseEndpoint; + request: ReposGetReleaseRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#list-assets-for-a-release + */ + "GET /repos/:owner/:repo/releases/:release_id/assets": { + parameters: ReposListAssetsForReleaseEndpoint; + request: ReposListAssetsForReleaseRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#get-a-single-release-asset + */ + "GET /repos/:owner/:repo/releases/assets/:asset_id": { + parameters: ReposGetReleaseAssetEndpoint; + request: ReposGetReleaseAssetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#get-the-latest-release + */ + "GET /repos/:owner/:repo/releases/latest": { + parameters: ReposGetLatestReleaseEndpoint; + request: ReposGetLatestReleaseRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#get-a-release-by-tag-name + */ + "GET /repos/:owner/:repo/releases/tags/:tag": { + parameters: ReposGetReleaseByTagEndpoint; + request: ReposGetReleaseByTagRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/starring/#list-stargazers + */ + "GET /repos/:owner/:repo/stargazers": { + parameters: ActivityListStargazersForRepoEndpoint; + request: ActivityListStargazersForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/statistics/#get-the-number-of-additions-and-deletions-per-week + */ + "GET /repos/:owner/:repo/stats/code_frequency": { + parameters: ReposGetCodeFrequencyStatsEndpoint; + request: ReposGetCodeFrequencyStatsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/statistics/#get-the-last-year-of-commit-activity-data + */ + "GET /repos/:owner/:repo/stats/commit_activity": { + parameters: ReposGetCommitActivityStatsEndpoint; + request: ReposGetCommitActivityStatsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/statistics/#get-contributors-list-with-additions-deletions-and-commit-counts + */ + "GET /repos/:owner/:repo/stats/contributors": { + parameters: ReposGetContributorsStatsEndpoint; + request: ReposGetContributorsStatsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/statistics/#get-the-weekly-commit-count-for-the-repository-owner-and-everyone-else + */ + "GET /repos/:owner/:repo/stats/participation": { + parameters: ReposGetParticipationStatsEndpoint; + request: ReposGetParticipationStatsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/statistics/#get-the-number-of-commits-per-hour-in-each-day + */ + "GET /repos/:owner/:repo/stats/punch_card": { + parameters: ReposGetPunchCardStatsEndpoint; + request: ReposGetPunchCardStatsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/watching/#list-watchers + */ + "GET /repos/:owner/:repo/subscribers": { + parameters: ActivityListWatchersForRepoEndpoint; + request: ActivityListWatchersForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/watching/#get-a-repository-subscription + */ + "GET /repos/:owner/:repo/subscription": { + parameters: ActivityGetRepoSubscriptionEndpoint; + request: ActivityGetRepoSubscriptionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#list-tags + */ + "GET /repos/:owner/:repo/tags": { + parameters: ReposListTagsEndpoint; + request: ReposListTagsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#list-teams + */ + "GET /repos/:owner/:repo/teams": { + parameters: ReposListTeamsEndpoint; + request: ReposListTeamsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#get-all-repository-topics + */ + "GET /repos/:owner/:repo/topics": { + parameters: ReposGetAllTopicsEndpoint; + request: ReposGetAllTopicsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/traffic/#clones + */ + "GET /repos/:owner/:repo/traffic/clones": { + parameters: ReposGetClonesEndpoint; + request: ReposGetClonesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/traffic/#list-paths + */ + "GET /repos/:owner/:repo/traffic/popular/paths": { + parameters: ReposGetTopPathsEndpoint; + request: ReposGetTopPathsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/traffic/#list-referrers + */ + "GET /repos/:owner/:repo/traffic/popular/referrers": { + parameters: ReposGetTopReferrersEndpoint; + request: ReposGetTopReferrersRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/traffic/#views + */ + "GET /repos/:owner/:repo/traffic/views": { + parameters: ReposGetViewsEndpoint; + request: ReposGetViewsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#check-if-vulnerability-alerts-are-enabled-for-a-repository + */ + "GET /repos/:owner/:repo/vulnerability-alerts": { + parameters: ReposCheckVulnerabilityAlertsEndpoint; + request: ReposCheckVulnerabilityAlertsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#list-public-repositories + */ + "GET /repositories": { + parameters: ReposListPublicEndpoint; + request: ReposListPublicRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/scim/#get-a-list-of-provisioned-identities + */ + "GET /scim/v2/organizations/:org/Users": { + parameters: ScimListProvisionedIdentitiesEndpoint; + request: ScimListProvisionedIdentitiesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/scim/#get-provisioning-details-for-a-single-user + */ + "GET /scim/v2/organizations/:org/Users/:scim_user_id": { + parameters: ScimGetProvisioningDetailsForUserEndpoint; + request: ScimGetProvisioningDetailsForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/#search-code + */ + "GET /search/code": { + parameters: SearchCodeEndpoint; + request: SearchCodeRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/#search-commits + */ + "GET /search/commits": { + parameters: SearchCommitsEndpoint; + request: SearchCommitsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/#search-issues-and-pull-requests + */ + "GET /search/issues": { + parameters: SearchIssuesAndPullRequestsEndpoint; + request: SearchIssuesAndPullRequestsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/#search-labels + */ + "GET /search/labels": { + parameters: SearchLabelsEndpoint; + request: SearchLabelsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/#search-repositories + */ + "GET /search/repositories": { + parameters: SearchReposEndpoint; + request: SearchReposRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/#search-topics + */ + "GET /search/topics": { + parameters: SearchTopicsEndpoint; + request: SearchTopicsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/#search-users + */ + "GET /search/users": { + parameters: SearchUsersEndpoint; + request: SearchUsersRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#get-team-legacy + */ + "GET /teams/:team_id": { + parameters: TeamsGetLegacyEndpoint; + request: TeamsGetLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#list-discussions-legacy + */ + "GET /teams/:team_id/discussions": { + parameters: TeamsListDiscussionsLegacyEndpoint; + request: TeamsListDiscussionsLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#get-a-single-discussion-legacy + */ + "GET /teams/:team_id/discussions/:discussion_number": { + parameters: TeamsGetDiscussionLegacyEndpoint; + request: TeamsGetDiscussionLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#list-comments-legacy + */ + "GET /teams/:team_id/discussions/:discussion_number/comments": { + parameters: TeamsListDiscussionCommentsLegacyEndpoint; + request: TeamsListDiscussionCommentsLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#get-a-single-comment-legacy + */ + "GET /teams/:team_id/discussions/:discussion_number/comments/:comment_number": { + parameters: TeamsGetDiscussionCommentLegacyEndpoint; + request: TeamsGetDiscussionCommentLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-comment-legacy + */ + "GET /teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions": { + parameters: ReactionsListForTeamDiscussionCommentLegacyEndpoint; + request: ReactionsListForTeamDiscussionCommentLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-legacy + */ + "GET /teams/:team_id/discussions/:discussion_number/reactions": { + parameters: ReactionsListForTeamDiscussionLegacyEndpoint; + request: ReactionsListForTeamDiscussionLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#list-pending-team-invitations-legacy + */ + "GET /teams/:team_id/invitations": { + parameters: TeamsListPendingInvitationsLegacyEndpoint; + request: TeamsListPendingInvitationsLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#list-team-members-legacy + */ + "GET /teams/:team_id/members": { + parameters: TeamsListMembersLegacyEndpoint; + request: TeamsListMembersLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#get-team-member-legacy + */ + "GET /teams/:team_id/members/:username": { + parameters: TeamsGetMemberLegacyEndpoint; + request: TeamsGetMemberLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#get-team-membership-legacy + */ + "GET /teams/:team_id/memberships/:username": { + parameters: TeamsGetMembershipLegacyEndpoint; + request: TeamsGetMembershipLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#list-team-projects-legacy + */ + "GET /teams/:team_id/projects": { + parameters: TeamsListProjectsLegacyEndpoint; + request: TeamsListProjectsLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#review-a-team-project-legacy + */ + "GET /teams/:team_id/projects/:project_id": { + parameters: TeamsReviewProjectLegacyEndpoint; + request: TeamsReviewProjectLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#list-team-repos-legacy + */ + "GET /teams/:team_id/repos": { + parameters: TeamsListReposLegacyEndpoint; + request: TeamsListReposLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#check-if-a-team-manages-a-repository-legacy + */ + "GET /teams/:team_id/repos/:owner/:repo": { + parameters: TeamsCheckManagesRepoLegacyEndpoint; + request: TeamsCheckManagesRepoLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/team_sync/#list-idp-groups-for-a-team-legacy + */ + "GET /teams/:team_id/team-sync/group-mappings": { + parameters: TeamsListIdPGroupsForLegacyEndpoint; + request: TeamsListIdPGroupsForLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#list-child-teams-legacy + */ + "GET /teams/:team_id/teams": { + parameters: TeamsListChildLegacyEndpoint; + request: TeamsListChildLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/#get-the-authenticated-user + */ + "GET /user": { + parameters: UsersGetAuthenticatedEndpoint; + request: UsersGetAuthenticatedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/users/#list-repositories-for-a-user-migration + */ + "GET /user/:migration_id/repositories": { + parameters: MigrationsListReposForUserEndpoint; + request: MigrationsListReposForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/blocking/#list-blocked-users + */ + "GET /user/blocks": { + parameters: UsersListBlockedEndpoint; + request: UsersListBlockedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/blocking/#check-whether-youve-blocked-a-user + */ + "GET /user/blocks/:username": { + parameters: UsersCheckBlockedEndpoint; + request: UsersCheckBlockedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/emails/#list-email-addresses-for-a-user + */ + "GET /user/emails": { + parameters: UsersListEmailsEndpoint; + request: UsersListEmailsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/followers/#list-followers-of-the-authenticated-user + */ + "GET /user/followers": { + parameters: UsersListFollowersForAuthenticatedUserEndpoint; + request: UsersListFollowersForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/followers/#list-users-followed-by-the-authenticated-user + */ + "GET /user/following": { + parameters: UsersListFollowedByAuthenticatedEndpoint; + request: UsersListFollowedByAuthenticatedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/followers/#check-if-you-are-following-a-user + */ + "GET /user/following/:username": { + parameters: UsersCheckFollowingEndpoint; + request: UsersCheckFollowingRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/gpg_keys/#list-your-gpg-keys + */ + "GET /user/gpg_keys": { + parameters: UsersListGpgKeysEndpoint; + request: UsersListGpgKeysRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/gpg_keys/#get-a-single-gpg-key + */ + "GET /user/gpg_keys/:gpg_key_id": { + parameters: UsersGetGpgKeyEndpoint; + request: UsersGetGpgKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/installations/#list-installations-for-a-user + */ + "GET /user/installations": { + parameters: AppsListInstallationsForAuthenticatedUserEndpoint; + request: AppsListInstallationsForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/installations/#list-repositories-accessible-to-the-user-for-an-installation + */ + "GET /user/installations/:installation_id/repositories": { + parameters: AppsListInstallationReposForAuthenticatedUserEndpoint; + request: AppsListInstallationReposForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/#list-user-account-issues-assigned-to-the-authenticated-user + */ + "GET /user/issues": { + parameters: IssuesListForAuthenticatedUserEndpoint; + request: IssuesListForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/keys/#list-your-public-keys + */ + "GET /user/keys": { + parameters: UsersListPublicKeysEndpoint; + request: UsersListPublicKeysRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/keys/#get-a-single-public-key + */ + "GET /user/keys/:key_id": { + parameters: UsersGetPublicKeyEndpoint; + request: UsersGetPublicKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/marketplace/#list-subscriptions-for-the-authenticated-user + */ + "GET /user/marketplace_purchases": { + parameters: AppsListSubscriptionsForAuthenticatedUserEndpoint; + request: AppsListSubscriptionsForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/marketplace/#list-subscriptions-for-the-authenticated-user-stubbed + */ + "GET /user/marketplace_purchases/stubbed": { + parameters: AppsListSubscriptionsForAuthenticatedUserStubbedEndpoint; + request: AppsListSubscriptionsForAuthenticatedUserStubbedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#list-your-organization-memberships + */ + "GET /user/memberships/orgs": { + parameters: OrgsListMembershipsEndpoint; + request: OrgsListMembershipsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#get-your-organization-membership + */ + "GET /user/memberships/orgs/:org": { + parameters: OrgsGetMembershipForAuthenticatedUserEndpoint; + request: OrgsGetMembershipForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/users/#list-user-migrations + */ + "GET /user/migrations": { + parameters: MigrationsListForAuthenticatedUserEndpoint; + request: MigrationsListForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/users/#get-the-status-of-a-user-migration + */ + "GET /user/migrations/:migration_id": { + parameters: MigrationsGetStatusForAuthenticatedUserEndpoint; + request: MigrationsGetStatusForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/users/#download-a-user-migration-archive + */ + "GET /user/migrations/:migration_id/archive": { + parameters: MigrationsGetArchiveForAuthenticatedUserEndpoint; + request: MigrationsGetArchiveForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/#list-your-organizations + */ + "GET /user/orgs": { + parameters: OrgsListForAuthenticatedUserEndpoint; + request: OrgsListForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/emails/#list-public-email-addresses-for-a-user + */ + "GET /user/public_emails": { + parameters: UsersListPublicEmailsEndpoint; + request: UsersListPublicEmailsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#list-repositories-for-the-authenticated-user + */ + "GET /user/repos": { + parameters: ReposListForAuthenticatedUserEndpoint; + request: ReposListForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/invitations/#list-a-users-repository-invitations + */ + "GET /user/repository_invitations": { + parameters: ReposListInvitationsForAuthenticatedUserEndpoint; + request: ReposListInvitationsForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/starring/#list-repositories-starred-by-the-authenticated-user + */ + "GET /user/starred": { + parameters: ActivityListReposStarredByAuthenticatedUserEndpoint; + request: ActivityListReposStarredByAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/starring/#check-if-a-repository-is-starred-by-the-authenticated-user + */ + "GET /user/starred/:owner/:repo": { + parameters: ActivityCheckRepoIsStarredByAuthenticatedUserEndpoint; + request: ActivityCheckRepoIsStarredByAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/watching/#list-repositories-watched-by-the-authenticated-user + */ + "GET /user/subscriptions": { + parameters: ActivityListWatchedReposForAuthenticatedUserEndpoint; + request: ActivityListWatchedReposForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/watching/#check-if-you-are-watching-a-repository-legacy + */ + "GET /user/subscriptions/:owner/:repo": { + parameters: ActivityCheckWatchingRepoLegacyEndpoint; + request: ActivityCheckWatchingRepoLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#list-user-teams + */ + "GET /user/teams": { + parameters: TeamsListForAuthenticatedUserEndpoint; + request: TeamsListForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/#get-all-users + */ + "GET /users": { + parameters: UsersListEndpoint; + request: UsersListRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/#get-a-single-user + */ + "GET /users/:username": { + parameters: UsersGetByUsernameEndpoint; + request: UsersGetByUsernameRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/events/#list-events-for-the-authenticated-user + */ + "GET /users/:username/events": { + parameters: ActivityListEventsForAuthenticatedUserEndpoint; + request: ActivityListEventsForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/events/#list-organization-events-for-the-authenticated-user + */ + "GET /users/:username/events/orgs/:org": { + parameters: ActivityListOrgEventsForAuthenticatedUserEndpoint; + request: ActivityListOrgEventsForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/events/#list-public-events-for-a-user + */ + "GET /users/:username/events/public": { + parameters: ActivityListPublicEventsForUserEndpoint; + request: ActivityListPublicEventsForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/followers/#list-followers-of-a-user + */ + "GET /users/:username/followers": { + parameters: UsersListFollowersForUserEndpoint; + request: UsersListFollowersForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/followers/#list-users-followed-by-another-user + */ + "GET /users/:username/following": { + parameters: UsersListFollowingForUserEndpoint; + request: UsersListFollowingForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/followers/#check-if-one-user-follows-another + */ + "GET /users/:username/following/:target_user": { + parameters: UsersCheckFollowingForUserEndpoint; + request: UsersCheckFollowingForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#list-gists-for-a-user + */ + "GET /users/:username/gists": { + parameters: GistsListForUserEndpoint; + request: GistsListForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/gpg_keys/#list-gpg-keys-for-a-user + */ + "GET /users/:username/gpg_keys": { + parameters: UsersListGpgKeysForUserEndpoint; + request: UsersListGpgKeysForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/#get-contextual-information-about-a-user + */ + "GET /users/:username/hovercard": { + parameters: UsersGetContextForUserEndpoint; + request: UsersGetContextForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#get-a-user-installation + */ + "GET /users/:username/installation": { + parameters: AppsGetUserInstallationEndpoint; + request: AppsGetUserInstallationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/keys/#list-public-keys-for-a-user + */ + "GET /users/:username/keys": { + parameters: UsersListPublicKeysForUserEndpoint; + request: UsersListPublicKeysForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/#list-user-organizations + */ + "GET /users/:username/orgs": { + parameters: OrgsListForUserEndpoint; + request: OrgsListForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/#list-user-projects + */ + "GET /users/:username/projects": { + parameters: ProjectsListForUserEndpoint; + request: ProjectsListForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/events/#list-events-received-by-the-authenticated-user + */ + "GET /users/:username/received_events": { + parameters: ActivityListReceivedEventsForUserEndpoint; + request: ActivityListReceivedEventsForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/events/#list-public-events-received-by-a-user + */ + "GET /users/:username/received_events/public": { + parameters: ActivityListReceivedPublicEventsForUserEndpoint; + request: ActivityListReceivedPublicEventsForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#list-repositories-for-a-user + */ + "GET /users/:username/repos": { + parameters: ReposListForUserEndpoint; + request: ReposListForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/starring/#list-repositories-starred-by-a-user + */ + "GET /users/:username/starred": { + parameters: ActivityListReposStarredByUserEndpoint; + request: ActivityListReposStarredByUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/watching/#list-repositories-watched-by-a-user + */ + "GET /users/:username/subscriptions": { + parameters: ActivityListReposWatchedByUserEndpoint; + request: ActivityListReposWatchedByUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/oauth_applications/#reset-a-token + */ + "PATCH /applications/:client_id/token": { + parameters: AppsResetTokenEndpoint; + request: AppsResetTokenRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#update-an-existing-authorization + */ + "PATCH /authorizations/:authorization_id": { + parameters: OauthAuthorizationsUpdateAuthorizationEndpoint; + request: OauthAuthorizationsUpdateAuthorizationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#update-a-gist + */ + "PATCH /gists/:gist_id": { + parameters: GistsUpdateEndpoint; + request: GistsUpdateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/comments/#edit-a-comment + */ + "PATCH /gists/:gist_id/comments/:comment_id": { + parameters: GistsUpdateCommentEndpoint; + request: GistsUpdateCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/notifications/#mark-a-thread-as-read + */ + "PATCH /notifications/threads/:thread_id": { + parameters: ActivityMarkThreadAsReadEndpoint; + request: ActivityMarkThreadAsReadRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/#edit-an-organization + */ + "PATCH /orgs/:org": { + parameters: OrgsUpdateEndpoint; + request: OrgsUpdateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/hooks/#edit-a-hook + */ + "PATCH /orgs/:org/hooks/:hook_id": { + parameters: OrgsUpdateHookEndpoint; + request: OrgsUpdateHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#edit-team + */ + "PATCH /orgs/:org/teams/:team_slug": { + parameters: TeamsUpdateInOrgEndpoint; + request: TeamsUpdateInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#edit-a-discussion + */ + "PATCH /orgs/:org/teams/:team_slug/discussions/:discussion_number": { + parameters: TeamsUpdateDiscussionInOrgEndpoint; + request: TeamsUpdateDiscussionInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#edit-a-comment + */ + "PATCH /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number": { + parameters: TeamsUpdateDiscussionCommentInOrgEndpoint; + request: TeamsUpdateDiscussionCommentInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/team_sync/#create-or-update-idp-group-connections + */ + "PATCH /orgs/:org/teams/:team_slug/team-sync/group-mappings": { + parameters: TeamsCreateOrUpdateIdPGroupConnectionsInOrgEndpoint; + request: TeamsCreateOrUpdateIdPGroupConnectionsInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/#update-a-project + */ + "PATCH /projects/:project_id": { + parameters: ProjectsUpdateEndpoint; + request: ProjectsUpdateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/columns/#update-a-project-column + */ + "PATCH /projects/columns/:column_id": { + parameters: ProjectsUpdateColumnEndpoint; + request: ProjectsUpdateColumnRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/cards/#update-a-project-card + */ + "PATCH /projects/columns/cards/:card_id": { + parameters: ProjectsUpdateCardEndpoint; + request: ProjectsUpdateCardRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#update-a-repository + */ + "PATCH /repos/:owner/:repo": { + parameters: ReposUpdateEndpoint; + request: ReposUpdateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#update-pull-request-review-enforcement-of-protected-branch + */ + "PATCH /repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews": { + parameters: ReposUpdateProtectedBranchPullRequestReviewEnforcementEndpoint; + request: ReposUpdateProtectedBranchPullRequestReviewEnforcementRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#update-required-status-checks-of-protected-branch + */ + "PATCH /repos/:owner/:repo/branches/:branch/protection/required_status_checks": { + parameters: ReposUpdateProtectedBranchRequiredStatusChecksEndpoint; + request: ReposUpdateProtectedBranchRequiredStatusChecksRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/runs/#update-a-check-run + */ + "PATCH /repos/:owner/:repo/check-runs/:check_run_id": { + parameters: ChecksUpdateEndpoint; + request: ChecksUpdateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/suites/#update-repository-preferences-for-check-suites + */ + "PATCH /repos/:owner/:repo/check-suites/preferences": { + parameters: ChecksSetSuitesPreferencesEndpoint; + request: ChecksSetSuitesPreferencesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/comments/#update-a-commit-comment + */ + "PATCH /repos/:owner/:repo/comments/:comment_id": { + parameters: ReposUpdateCommitCommentEndpoint; + request: ReposUpdateCommitCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/refs/#update-a-reference + */ + "PATCH /repos/:owner/:repo/git/refs/:ref": { + parameters: GitUpdateRefEndpoint; + request: GitUpdateRefRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/hooks/#edit-a-hook + */ + "PATCH /repos/:owner/:repo/hooks/:hook_id": { + parameters: ReposUpdateHookEndpoint; + request: ReposUpdateHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/source_imports/#update-existing-import + */ + "PATCH /repos/:owner/:repo/import": { + parameters: MigrationsUpdateImportEndpoint; + request: MigrationsUpdateImportRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/source_imports/#map-a-commit-author + */ + "PATCH /repos/:owner/:repo/import/authors/:author_id": { + parameters: MigrationsMapCommitAuthorEndpoint; + request: MigrationsMapCommitAuthorRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/source_imports/#set-git-lfs-preference + */ + "PATCH /repos/:owner/:repo/import/lfs": { + parameters: MigrationsSetLfsPreferenceEndpoint; + request: MigrationsSetLfsPreferenceRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/invitations/#update-a-repository-invitation + */ + "PATCH /repos/:owner/:repo/invitations/:invitation_id": { + parameters: ReposUpdateInvitationEndpoint; + request: ReposUpdateInvitationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/#update-an-issue + */ + "PATCH /repos/:owner/:repo/issues/:issue_number": { + parameters: IssuesUpdateEndpoint; + request: IssuesUpdateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/comments/#edit-a-comment + */ + "PATCH /repos/:owner/:repo/issues/comments/:comment_id": { + parameters: IssuesUpdateCommentEndpoint; + request: IssuesUpdateCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#update-a-label + */ + "PATCH /repos/:owner/:repo/labels/:name": { + parameters: IssuesUpdateLabelEndpoint; + request: IssuesUpdateLabelRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/milestones/#update-a-milestone + */ + "PATCH /repos/:owner/:repo/milestones/:milestone_number": { + parameters: IssuesUpdateMilestoneEndpoint; + request: IssuesUpdateMilestoneRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/#update-a-pull-request + */ + "PATCH /repos/:owner/:repo/pulls/:pull_number": { + parameters: PullsUpdateEndpoint; + request: PullsUpdateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/comments/#edit-a-comment + */ + "PATCH /repos/:owner/:repo/pulls/comments/:comment_id": { + parameters: PullsUpdateCommentEndpoint; + request: PullsUpdateCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#edit-a-release + */ + "PATCH /repos/:owner/:repo/releases/:release_id": { + parameters: ReposUpdateReleaseEndpoint; + request: ReposUpdateReleaseRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#edit-a-release-asset + */ + "PATCH /repos/:owner/:repo/releases/assets/:asset_id": { + parameters: ReposUpdateReleaseAssetEndpoint; + request: ReposUpdateReleaseAssetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/scim/#update-a-user-attribute + */ + "PATCH /scim/v2/organizations/:org/Users/:scim_user_id": { + parameters: ScimUpdateUserAttributeEndpoint; + request: ScimUpdateUserAttributeRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#edit-team-legacy + */ + "PATCH /teams/:team_id": { + parameters: TeamsUpdateLegacyEndpoint; + request: TeamsUpdateLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#edit-a-discussion-legacy + */ + "PATCH /teams/:team_id/discussions/:discussion_number": { + parameters: TeamsUpdateDiscussionLegacyEndpoint; + request: TeamsUpdateDiscussionLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#edit-a-comment-legacy + */ + "PATCH /teams/:team_id/discussions/:discussion_number/comments/:comment_number": { + parameters: TeamsUpdateDiscussionCommentLegacyEndpoint; + request: TeamsUpdateDiscussionCommentLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/team_sync/#create-or-update-idp-group-connections-legacy + */ + "PATCH /teams/:team_id/team-sync/group-mappings": { + parameters: TeamsCreateOrUpdateIdPGroupConnectionsLegacyEndpoint; + request: TeamsCreateOrUpdateIdPGroupConnectionsLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/#update-the-authenticated-user + */ + "PATCH /user": { + parameters: UsersUpdateAuthenticatedEndpoint; + request: UsersUpdateAuthenticatedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/emails/#toggle-primary-email-visibility + */ + "PATCH /user/email/visibility": { + parameters: UsersTogglePrimaryEmailVisibilityEndpoint; + request: UsersTogglePrimaryEmailVisibilityRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#edit-your-organization-membership + */ + "PATCH /user/memberships/orgs/:org": { + parameters: OrgsUpdateMembershipEndpoint; + request: OrgsUpdateMembershipRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/invitations/#accept-a-repository-invitation + */ + "PATCH /user/repository_invitations/:invitation_id": { + parameters: ReposAcceptInvitationEndpoint; + request: ReposAcceptInvitationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#create-a-github-app-from-a-manifest + */ + "POST /app-manifests/:code/conversions": { + parameters: AppsCreateFromManifestEndpoint; + request: AppsCreateFromManifestRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#create-a-new-installation-token + */ + "POST /app/installations/:installation_id/access_tokens": { + parameters: AppsCreateInstallationTokenEndpoint; + request: AppsCreateInstallationTokenRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/oauth_applications/#check-a-token + */ + "POST /applications/:client_id/token": { + parameters: AppsCheckTokenEndpoint; + request: AppsCheckTokenRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/oauth_applications/#reset-an-authorization + */ + "POST /applications/:client_id/tokens/:access_token": { + parameters: AppsResetAuthorizationEndpoint; + request: AppsResetAuthorizationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#create-a-new-authorization + */ + "POST /authorizations": { + parameters: OauthAuthorizationsCreateAuthorizationEndpoint; + request: OauthAuthorizationsCreateAuthorizationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/installations/#create-a-content-attachment + */ + "POST /content_references/:content_reference_id/attachments": { + parameters: AppsCreateContentAttachmentEndpoint; + request: AppsCreateContentAttachmentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#create-a-gist + */ + "POST /gists": { + parameters: GistsCreateEndpoint; + request: GistsCreateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/comments/#create-a-comment + */ + "POST /gists/:gist_id/comments": { + parameters: GistsCreateCommentEndpoint; + request: GistsCreateCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#fork-a-gist + */ + "POST /gists/:gist_id/forks": { + parameters: GistsForkEndpoint; + request: GistsForkRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/markdown/#render-an-arbitrary-markdown-document + */ + "POST /markdown": { + parameters: MarkdownRenderEndpoint; + request: MarkdownRenderRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/markdown/#render-a-markdown-document-in-raw-mode + */ + "POST /markdown/raw": { + parameters: MarkdownRenderRawEndpoint; + request: MarkdownRenderRawRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#create-a-registration-token-for-an-organization + */ + "POST /orgs/:org/actions/runners/registration-token": { + parameters: ActionsCreateRegistrationTokenForOrgEndpoint; + request: ActionsCreateRegistrationTokenForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#create-a-remove-token-for-an-organization + */ + "POST /orgs/:org/actions/runners/remove-token": { + parameters: ActionsCreateRemoveTokenForOrgEndpoint; + request: ActionsCreateRemoveTokenForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/hooks/#create-a-hook + */ + "POST /orgs/:org/hooks": { + parameters: OrgsCreateHookEndpoint; + request: OrgsCreateHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/hooks/#ping-a-hook + */ + "POST /orgs/:org/hooks/:hook_id/pings": { + parameters: OrgsPingHookEndpoint; + request: OrgsPingHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#create-organization-invitation + */ + "POST /orgs/:org/invitations": { + parameters: OrgsCreateInvitationEndpoint; + request: OrgsCreateInvitationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/orgs/#start-an-organization-migration + */ + "POST /orgs/:org/migrations": { + parameters: MigrationsStartForOrgEndpoint; + request: MigrationsStartForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/#create-an-organization-project + */ + "POST /orgs/:org/projects": { + parameters: ProjectsCreateForOrgEndpoint; + request: ProjectsCreateForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#create-an-organization-repository + */ + "POST /orgs/:org/repos": { + parameters: ReposCreateInOrgEndpoint; + request: ReposCreateInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#create-team + */ + "POST /orgs/:org/teams": { + parameters: TeamsCreateEndpoint; + request: TeamsCreateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#create-a-discussion + */ + "POST /orgs/:org/teams/:team_slug/discussions": { + parameters: TeamsCreateDiscussionInOrgEndpoint; + request: TeamsCreateDiscussionInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#create-a-comment + */ + "POST /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments": { + parameters: TeamsCreateDiscussionCommentInOrgEndpoint; + request: TeamsCreateDiscussionCommentInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-comment + */ + "POST /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions": { + parameters: ReactionsCreateForTeamDiscussionCommentInOrgEndpoint; + request: ReactionsCreateForTeamDiscussionCommentInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion + */ + "POST /orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions": { + parameters: ReactionsCreateForTeamDiscussionInOrgEndpoint; + request: ReactionsCreateForTeamDiscussionInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/columns/#create-a-project-column + */ + "POST /projects/:project_id/columns": { + parameters: ProjectsCreateColumnEndpoint; + request: ProjectsCreateColumnRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/cards/#create-a-project-card + */ + "POST /projects/columns/:column_id/cards": { + parameters: ProjectsCreateCardEndpoint; + request: ProjectsCreateCardRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/columns/#move-a-project-column + */ + "POST /projects/columns/:column_id/moves": { + parameters: ProjectsMoveColumnEndpoint; + request: ProjectsMoveColumnRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/cards/#move-a-project-card + */ + "POST /projects/columns/cards/:card_id/moves": { + parameters: ProjectsMoveCardEndpoint; + request: ProjectsMoveCardRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#create-a-registration-token-for-a-repository + */ + "POST /repos/:owner/:repo/actions/runners/registration-token": { + parameters: ActionsCreateRegistrationTokenForRepoEndpoint; + request: ActionsCreateRegistrationTokenForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#create-a-remove-token-for-a-repository + */ + "POST /repos/:owner/:repo/actions/runners/remove-token": { + parameters: ActionsCreateRemoveTokenForRepoEndpoint; + request: ActionsCreateRemoveTokenForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-runs/#cancel-a-workflow-run + */ + "POST /repos/:owner/:repo/actions/runs/:run_id/cancel": { + parameters: ActionsCancelWorkflowRunEndpoint; + request: ActionsCancelWorkflowRunRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-runs/#re-run-a-workflow + */ + "POST /repos/:owner/:repo/actions/runs/:run_id/rerun": { + parameters: ActionsReRunWorkflowEndpoint; + request: ActionsReRunWorkflowRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#add-admin-enforcement-of-protected-branch + */ + "POST /repos/:owner/:repo/branches/:branch/protection/enforce_admins": { + parameters: ReposAddProtectedBranchAdminEnforcementEndpoint; + request: ReposAddProtectedBranchAdminEnforcementRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#add-required-signatures-of-protected-branch + */ + "POST /repos/:owner/:repo/branches/:branch/protection/required_signatures": { + parameters: ReposAddProtectedBranchRequiredSignaturesEndpoint; + request: ReposAddProtectedBranchRequiredSignaturesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#add-required-status-checks-contexts-of-protected-branch + */ + "POST /repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts": { + parameters: ReposAddProtectedBranchRequiredStatusChecksContextsEndpoint; + request: ReposAddProtectedBranchRequiredStatusChecksContextsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#add-app-restrictions-of-protected-branch + */ + "POST /repos/:owner/:repo/branches/:branch/protection/restrictions/apps": { + parameters: ReposAddProtectedBranchAppRestrictionsEndpoint; + request: ReposAddProtectedBranchAppRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#add-team-restrictions-of-protected-branch + */ + "POST /repos/:owner/:repo/branches/:branch/protection/restrictions/teams": { + parameters: ReposAddProtectedBranchTeamRestrictionsEndpoint; + request: ReposAddProtectedBranchTeamRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#add-user-restrictions-of-protected-branch + */ + "POST /repos/:owner/:repo/branches/:branch/protection/restrictions/users": { + parameters: ReposAddProtectedBranchUserRestrictionsEndpoint; + request: ReposAddProtectedBranchUserRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/runs/#create-a-check-run + */ + "POST /repos/:owner/:repo/check-runs": { + parameters: ChecksCreateEndpoint; + request: ChecksCreateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/suites/#create-a-check-suite + */ + "POST /repos/:owner/:repo/check-suites": { + parameters: ChecksCreateSuiteEndpoint; + request: ChecksCreateSuiteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/suites/#rerequest-a-check-suite + */ + "POST /repos/:owner/:repo/check-suites/:check_suite_id/rerequest": { + parameters: ChecksRerequestSuiteEndpoint; + request: ChecksRerequestSuiteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#create-reaction-for-a-commit-comment + */ + "POST /repos/:owner/:repo/comments/:comment_id/reactions": { + parameters: ReactionsCreateForCommitCommentEndpoint; + request: ReactionsCreateForCommitCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/comments/#create-a-commit-comment + */ + "POST /repos/:owner/:repo/commits/:commit_sha/comments": { + parameters: ReposCreateCommitCommentEndpoint; + request: ReposCreateCommitCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/deployments/#create-a-deployment + */ + "POST /repos/:owner/:repo/deployments": { + parameters: ReposCreateDeploymentEndpoint; + request: ReposCreateDeploymentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/deployments/#create-a-deployment-status + */ + "POST /repos/:owner/:repo/deployments/:deployment_id/statuses": { + parameters: ReposCreateDeploymentStatusEndpoint; + request: ReposCreateDeploymentStatusRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#create-a-repository-dispatch-event + */ + "POST /repos/:owner/:repo/dispatches": { + parameters: ReposCreateDispatchEventEndpoint; + request: ReposCreateDispatchEventRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/forks/#create-a-fork + */ + "POST /repos/:owner/:repo/forks": { + parameters: ReposCreateForkEndpoint; + request: ReposCreateForkRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/blobs/#create-a-blob + */ + "POST /repos/:owner/:repo/git/blobs": { + parameters: GitCreateBlobEndpoint; + request: GitCreateBlobRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/commits/#create-a-commit + */ + "POST /repos/:owner/:repo/git/commits": { + parameters: GitCreateCommitEndpoint; + request: GitCreateCommitRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/refs/#create-a-reference + */ + "POST /repos/:owner/:repo/git/refs": { + parameters: GitCreateRefEndpoint; + request: GitCreateRefRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/tags/#create-a-tag-object + */ + "POST /repos/:owner/:repo/git/tags": { + parameters: GitCreateTagEndpoint; + request: GitCreateTagRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/trees/#create-a-tree + */ + "POST /repos/:owner/:repo/git/trees": { + parameters: GitCreateTreeEndpoint; + request: GitCreateTreeRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/hooks/#create-a-hook + */ + "POST /repos/:owner/:repo/hooks": { + parameters: ReposCreateHookEndpoint; + request: ReposCreateHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/hooks/#ping-a-hook + */ + "POST /repos/:owner/:repo/hooks/:hook_id/pings": { + parameters: ReposPingHookEndpoint; + request: ReposPingHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/hooks/#test-a-push-hook + */ + "POST /repos/:owner/:repo/hooks/:hook_id/tests": { + parameters: ReposTestPushHookEndpoint; + request: ReposTestPushHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/#create-an-issue + */ + "POST /repos/:owner/:repo/issues": { + parameters: IssuesCreateEndpoint; + request: IssuesCreateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/assignees/#add-assignees-to-an-issue + */ + "POST /repos/:owner/:repo/issues/:issue_number/assignees": { + parameters: IssuesAddAssigneesEndpoint; + request: IssuesAddAssigneesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/comments/#create-a-comment + */ + "POST /repos/:owner/:repo/issues/:issue_number/comments": { + parameters: IssuesCreateCommentEndpoint; + request: IssuesCreateCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#add-labels-to-an-issue + */ + "POST /repos/:owner/:repo/issues/:issue_number/labels": { + parameters: IssuesAddLabelsEndpoint; + request: IssuesAddLabelsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#create-reaction-for-an-issue + */ + "POST /repos/:owner/:repo/issues/:issue_number/reactions": { + parameters: ReactionsCreateForIssueEndpoint; + request: ReactionsCreateForIssueRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#create-reaction-for-an-issue-comment + */ + "POST /repos/:owner/:repo/issues/comments/:comment_id/reactions": { + parameters: ReactionsCreateForIssueCommentEndpoint; + request: ReactionsCreateForIssueCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/keys/#add-a-new-deploy-key + */ + "POST /repos/:owner/:repo/keys": { + parameters: ReposAddDeployKeyEndpoint; + request: ReposAddDeployKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#create-a-label + */ + "POST /repos/:owner/:repo/labels": { + parameters: IssuesCreateLabelEndpoint; + request: IssuesCreateLabelRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/merging/#perform-a-merge + */ + "POST /repos/:owner/:repo/merges": { + parameters: ReposMergeEndpoint; + request: ReposMergeRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/milestones/#create-a-milestone + */ + "POST /repos/:owner/:repo/milestones": { + parameters: IssuesCreateMilestoneEndpoint; + request: IssuesCreateMilestoneRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/pages/#enable-a-pages-site + */ + "POST /repos/:owner/:repo/pages": { + parameters: ReposEnablePagesSiteEndpoint; + request: ReposEnablePagesSiteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/pages/#request-a-page-build + */ + "POST /repos/:owner/:repo/pages/builds": { + parameters: ReposRequestPageBuildEndpoint; + request: ReposRequestPageBuildRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/#create-a-repository-project + */ + "POST /repos/:owner/:repo/projects": { + parameters: ProjectsCreateForRepoEndpoint; + request: ProjectsCreateForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/#create-a-pull-request + */ + "POST /repos/:owner/:repo/pulls": { + parameters: PullsCreateEndpoint; + request: PullsCreateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/comments/#create-a-comment + */ + "POST /repos/:owner/:repo/pulls/:pull_number/comments": { + parameters: PullsCreateCommentEndpoint; + request: PullsCreateCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/comments/#create-a-review-comment-reply + */ + "POST /repos/:owner/:repo/pulls/:pull_number/comments/:comment_id/replies": { + parameters: PullsCreateReviewCommentReplyEndpoint; + request: PullsCreateReviewCommentReplyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/review_requests/#create-a-review-request + */ + "POST /repos/:owner/:repo/pulls/:pull_number/requested_reviewers": { + parameters: PullsCreateReviewRequestEndpoint; + request: PullsCreateReviewRequestRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/reviews/#create-a-pull-request-review + */ + "POST /repos/:owner/:repo/pulls/:pull_number/reviews": { + parameters: PullsCreateReviewEndpoint; + request: PullsCreateReviewRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/reviews/#submit-a-pull-request-review + */ + "POST /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/events": { + parameters: PullsSubmitReviewEndpoint; + request: PullsSubmitReviewRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#create-reaction-for-a-pull-request-review-comment + */ + "POST /repos/:owner/:repo/pulls/comments/:comment_id/reactions": { + parameters: ReactionsCreateForPullRequestReviewCommentEndpoint; + request: ReactionsCreateForPullRequestReviewCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#create-a-release + */ + "POST /repos/:owner/:repo/releases": { + parameters: ReposCreateReleaseEndpoint; + request: ReposCreateReleaseRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#upload-a-release-asset + */ + "POST /repos/:owner/:repo/releases/:release_id/assets{?name,label}": { + parameters: ReposUploadReleaseAssetEndpoint; + request: ReposUploadReleaseAssetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/statuses/#create-a-status + */ + "POST /repos/:owner/:repo/statuses/:sha": { + parameters: ReposCreateStatusEndpoint; + request: ReposCreateStatusRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#transfer-a-repository + */ + "POST /repos/:owner/:repo/transfer": { + parameters: ReposTransferEndpoint; + request: ReposTransferRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#create-a-repository-using-a-template + */ + "POST /repos/:template_owner/:template_repo/generate": { + parameters: ReposCreateUsingTemplateEndpoint; + request: ReposCreateUsingTemplateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/scim/#provision-and-invite-users + */ + "POST /scim/v2/organizations/:org/Users": { + parameters: ScimProvisionAndInviteUsersEndpoint; + request: ScimProvisionAndInviteUsersRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#create-a-discussion-legacy + */ + "POST /teams/:team_id/discussions": { + parameters: TeamsCreateDiscussionLegacyEndpoint; + request: TeamsCreateDiscussionLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#create-a-comment-legacy + */ + "POST /teams/:team_id/discussions/:discussion_number/comments": { + parameters: TeamsCreateDiscussionCommentLegacyEndpoint; + request: TeamsCreateDiscussionCommentLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-comment-legacy + */ + "POST /teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions": { + parameters: ReactionsCreateForTeamDiscussionCommentLegacyEndpoint; + request: ReactionsCreateForTeamDiscussionCommentLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-legacy + */ + "POST /teams/:team_id/discussions/:discussion_number/reactions": { + parameters: ReactionsCreateForTeamDiscussionLegacyEndpoint; + request: ReactionsCreateForTeamDiscussionLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/emails/#add-email-addresses + */ + "POST /user/emails": { + parameters: UsersAddEmailsEndpoint; + request: UsersAddEmailsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/gpg_keys/#create-a-gpg-key + */ + "POST /user/gpg_keys": { + parameters: UsersCreateGpgKeyEndpoint; + request: UsersCreateGpgKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/keys/#create-a-public-key + */ + "POST /user/keys": { + parameters: UsersCreatePublicKeyEndpoint; + request: UsersCreatePublicKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/users/#start-a-user-migration + */ + "POST /user/migrations": { + parameters: MigrationsStartForAuthenticatedUserEndpoint; + request: MigrationsStartForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/#create-a-user-project + */ + "POST /user/projects": { + parameters: ProjectsCreateForAuthenticatedUserEndpoint; + request: ProjectsCreateForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#create-a-repository-for-the-authenticated-user + */ + "POST /user/repos": { + parameters: ReposCreateForAuthenticatedUserEndpoint; + request: ReposCreateForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#suspend-an-installation + */ + "PUT /app/installations/:installation_id/suspended": { + parameters: AppsSuspendInstallationEndpoint; + request: AppsSuspendInstallationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app + */ + "PUT /authorizations/clients/:client_id": { + parameters: OauthAuthorizationsGetOrCreateAuthorizationForAppEndpoint; + request: OauthAuthorizationsGetOrCreateAuthorizationForAppRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app-and-fingerprint + */ + "PUT /authorizations/clients/:client_id/:fingerprint": { + parameters: OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintEndpoint; + request: OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#star-a-gist + */ + "PUT /gists/:gist_id/star": { + parameters: GistsStarEndpoint; + request: GistsStarRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/notifications/#mark-notifications-as-read + */ + "PUT /notifications": { + parameters: ActivityMarkNotificationsAsReadEndpoint; + request: ActivityMarkNotificationsAsReadRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/notifications/#set-a-thread-subscription + */ + "PUT /notifications/threads/:thread_id/subscription": { + parameters: ActivitySetThreadSubscriptionEndpoint; + request: ActivitySetThreadSubscriptionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/blocking/#block-a-user + */ + "PUT /orgs/:org/blocks/:username": { + parameters: OrgsBlockUserEndpoint; + request: OrgsBlockUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/interactions/orgs/#add-or-update-interaction-restrictions-for-an-organization + */ + "PUT /orgs/:org/interaction-limits": { + parameters: InteractionsAddOrUpdateRestrictionsForOrgEndpoint; + request: InteractionsAddOrUpdateRestrictionsForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#add-or-update-organization-membership + */ + "PUT /orgs/:org/memberships/:username": { + parameters: OrgsAddOrUpdateMembershipEndpoint; + request: OrgsAddOrUpdateMembershipRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/outside_collaborators/#convert-member-to-outside-collaborator + */ + "PUT /orgs/:org/outside_collaborators/:username": { + parameters: OrgsConvertMemberToOutsideCollaboratorEndpoint; + request: OrgsConvertMemberToOutsideCollaboratorRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#publicize-a-users-membership + */ + "PUT /orgs/:org/public_members/:username": { + parameters: OrgsPublicizeMembershipEndpoint; + request: OrgsPublicizeMembershipRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#add-or-update-team-membership + */ + "PUT /orgs/:org/teams/:team_slug/memberships/:username": { + parameters: TeamsAddOrUpdateMembershipInOrgEndpoint; + request: TeamsAddOrUpdateMembershipInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#add-or-update-team-project + */ + "PUT /orgs/:org/teams/:team_slug/projects/:project_id": { + parameters: TeamsAddOrUpdateProjectInOrgEndpoint; + request: TeamsAddOrUpdateProjectInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#add-or-update-team-repository + */ + "PUT /orgs/:org/teams/:team_slug/repos/:owner/:repo": { + parameters: TeamsAddOrUpdateRepoInOrgEndpoint; + request: TeamsAddOrUpdateRepoInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/collaborators/#add-user-as-a-collaborator + */ + "PUT /projects/:project_id/collaborators/:username": { + parameters: ProjectsAddCollaboratorEndpoint; + request: ProjectsAddCollaboratorRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/secrets/#create-or-update-a-secret-for-a-repository + */ + "PUT /repos/:owner/:repo/actions/secrets/:name": { + parameters: ActionsCreateOrUpdateSecretForRepoEndpoint; + request: ActionsCreateOrUpdateSecretForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#enable-automated-security-fixes + */ + "PUT /repos/:owner/:repo/automated-security-fixes": { + parameters: ReposEnableAutomatedSecurityFixesEndpoint; + request: ReposEnableAutomatedSecurityFixesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#update-branch-protection + */ + "PUT /repos/:owner/:repo/branches/:branch/protection": { + parameters: ReposUpdateBranchProtectionEndpoint; + request: ReposUpdateBranchProtectionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#replace-required-status-checks-contexts-of-protected-branch + */ + "PUT /repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts": { + parameters: ReposReplaceProtectedBranchRequiredStatusChecksContextsEndpoint; + request: ReposReplaceProtectedBranchRequiredStatusChecksContextsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#replace-app-restrictions-of-protected-branch + */ + "PUT /repos/:owner/:repo/branches/:branch/protection/restrictions/apps": { + parameters: ReposReplaceProtectedBranchAppRestrictionsEndpoint; + request: ReposReplaceProtectedBranchAppRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#replace-team-restrictions-of-protected-branch + */ + "PUT /repos/:owner/:repo/branches/:branch/protection/restrictions/teams": { + parameters: ReposReplaceProtectedBranchTeamRestrictionsEndpoint; + request: ReposReplaceProtectedBranchTeamRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#replace-user-restrictions-of-protected-branch + */ + "PUT /repos/:owner/:repo/branches/:branch/protection/restrictions/users": { + parameters: ReposReplaceProtectedBranchUserRestrictionsEndpoint; + request: ReposReplaceProtectedBranchUserRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/collaborators/#add-user-as-a-collaborator + */ + "PUT /repos/:owner/:repo/collaborators/:username": { + parameters: ReposAddCollaboratorEndpoint; + request: ReposAddCollaboratorRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/contents/#create-or-update-a-file + */ + "PUT /repos/:owner/:repo/contents/:path": { + parameters: ReposCreateOrUpdateFileEndpoint; + request: ReposCreateOrUpdateFileRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/source_imports/#start-an-import + */ + "PUT /repos/:owner/:repo/import": { + parameters: MigrationsStartImportEndpoint; + request: MigrationsStartImportRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/interactions/repos/#add-or-update-interaction-restrictions-for-a-repository + */ + "PUT /repos/:owner/:repo/interaction-limits": { + parameters: InteractionsAddOrUpdateRestrictionsForRepoEndpoint; + request: InteractionsAddOrUpdateRestrictionsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#replace-all-labels-for-an-issue + */ + "PUT /repos/:owner/:repo/issues/:issue_number/labels": { + parameters: IssuesReplaceAllLabelsEndpoint; + request: IssuesReplaceAllLabelsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/#lock-an-issue + */ + "PUT /repos/:owner/:repo/issues/:issue_number/lock": { + parameters: IssuesLockEndpoint; + request: IssuesLockRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/notifications/#mark-repository-notifications-as-read + */ + "PUT /repos/:owner/:repo/notifications": { + parameters: ActivityMarkRepoNotificationsAsReadEndpoint; + request: ActivityMarkRepoNotificationsAsReadRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/pages/#update-information-about-a-pages-site + */ + "PUT /repos/:owner/:repo/pages": { + parameters: ReposUpdateInformationAboutPagesSiteEndpoint; + request: ReposUpdateInformationAboutPagesSiteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/#merge-a-pull-request-merge-button + */ + "PUT /repos/:owner/:repo/pulls/:pull_number/merge": { + parameters: PullsMergeEndpoint; + request: PullsMergeRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/reviews/#update-a-pull-request-review + */ + "PUT /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id": { + parameters: PullsUpdateReviewEndpoint; + request: PullsUpdateReviewRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/reviews/#dismiss-a-pull-request-review + */ + "PUT /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/dismissals": { + parameters: PullsDismissReviewEndpoint; + request: PullsDismissReviewRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/#update-a-pull-request-branch + */ + "PUT /repos/:owner/:repo/pulls/:pull_number/update-branch": { + parameters: PullsUpdateBranchEndpoint; + request: PullsUpdateBranchRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/watching/#set-a-repository-subscription + */ + "PUT /repos/:owner/:repo/subscription": { + parameters: ActivitySetRepoSubscriptionEndpoint; + request: ActivitySetRepoSubscriptionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#replace-all-repository-topics + */ + "PUT /repos/:owner/:repo/topics": { + parameters: ReposReplaceAllTopicsEndpoint; + request: ReposReplaceAllTopicsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#enable-vulnerability-alerts + */ + "PUT /repos/:owner/:repo/vulnerability-alerts": { + parameters: ReposEnableVulnerabilityAlertsEndpoint; + request: ReposEnableVulnerabilityAlertsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/scim/#replace-a-provisioned-users-information + */ + "PUT /scim/v2/organizations/:org/Users/:scim_user_id": { + parameters: ScimReplaceProvisionedUserInformationEndpoint; + request: ScimReplaceProvisionedUserInformationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#add-team-member-legacy + */ + "PUT /teams/:team_id/members/:username": { + parameters: TeamsAddMemberLegacyEndpoint; + request: TeamsAddMemberLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#add-or-update-team-membership-legacy + */ + "PUT /teams/:team_id/memberships/:username": { + parameters: TeamsAddOrUpdateMembershipLegacyEndpoint; + request: TeamsAddOrUpdateMembershipLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#add-or-update-team-project-legacy + */ + "PUT /teams/:team_id/projects/:project_id": { + parameters: TeamsAddOrUpdateProjectLegacyEndpoint; + request: TeamsAddOrUpdateProjectLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#add-or-update-team-repository-legacy + */ + "PUT /teams/:team_id/repos/:owner/:repo": { + parameters: TeamsAddOrUpdateRepoLegacyEndpoint; + request: TeamsAddOrUpdateRepoLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/blocking/#block-a-user + */ + "PUT /user/blocks/:username": { + parameters: UsersBlockEndpoint; + request: UsersBlockRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/followers/#follow-a-user + */ + "PUT /user/following/:username": { + parameters: UsersFollowEndpoint; + request: UsersFollowRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/installations/#add-repository-to-installation + */ + "PUT /user/installations/:installation_id/repositories/:repository_id": { + parameters: AppsAddRepoToInstallationEndpoint; + request: AppsAddRepoToInstallationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/starring/#star-a-repository-for-the-authenticated-user + */ + "PUT /user/starred/:owner/:repo": { + parameters: ActivityStarRepoForAuthenticatedUserEndpoint; + request: ActivityStarRepoForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/watching/#watch-a-repository-legacy + */ + "PUT /user/subscriptions/:owner/:repo": { + parameters: ActivityWatchRepoLegacyEndpoint; + request: ActivityWatchRepoLegacyRequestOptions; + response: OctokitResponse; + }; +} +declare type AppsGetAuthenticatedEndpoint = {} & RequiredPreview<"machine-man">; +declare type AppsGetAuthenticatedRequestOptions = { + method: "GET"; + url: "/app"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetAuthenticatedResponseDataPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type AppsGetAuthenticatedResponseDataOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type AppsGetAuthenticatedResponseData = { + id: number; + slug: string; + node_id: string; + owner: AppsGetAuthenticatedResponseDataOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: AppsGetAuthenticatedResponseDataPermissions; + events: Array; + installations_count: number; +}; +declare type AppsCreateFromManifestEndpoint = { + /** + * code parameter + */ + code: string; +}; +declare type AppsCreateFromManifestRequestOptions = { + method: "POST"; + url: "/app-manifests/:code/conversions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsCreateFromManifestResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsCreateFromManifestResponseData = { + id: number; + node_id: string; + owner: AppsCreateFromManifestResponseDataOwner; + name: string; + description: null; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + client_id: string; + client_secret: string; + webhook_secret: string; + pem: string; +}; +declare type AppsListInstallationsEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"machine-man">; +declare type AppsListInstallationsRequestOptions = { + method: "GET"; + url: "/app/installations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListInstallationsResponseDataItemPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type AppsListInstallationsResponseDataItemAccount = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type AppsListInstallationsResponseDataItem = { + id: number; + account: AppsListInstallationsResponseDataItemAccount; + access_tokens_url: string; + repositories_url: string; + html_url: string; + app_id: number; + target_id: number; + target_type: string; + permissions: AppsListInstallationsResponseDataItemPermissions; + events: Array; + single_file_name: string; + repository_selection: string; +}; +declare type AppsListInstallationsResponseData = Array; +declare type AppsGetInstallationEndpoint = { + /** + * installation_id parameter + */ + installation_id: number; +} & RequiredPreview<"machine-man">; +declare type AppsGetInstallationRequestOptions = { + method: "GET"; + url: "/app/installations/:installation_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetInstallationResponseDataPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type AppsGetInstallationResponseDataAccount = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type AppsGetInstallationResponseData = { + id: number; + account: AppsGetInstallationResponseDataAccount; + access_tokens_url: string; + repositories_url: string; + html_url: string; + app_id: number; + target_id: number; + target_type: string; + permissions: AppsGetInstallationResponseDataPermissions; + events: Array; + single_file_name: string; + repository_selection: string; +}; +declare type AppsDeleteInstallationEndpoint = { + /** + * installation_id parameter + */ + installation_id: number; +} & RequiredPreview<"machine-man">; +declare type AppsDeleteInstallationRequestOptions = { + method: "DELETE"; + url: "/app/installations/:installation_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsCreateInstallationTokenEndpoint = { + /** + * installation_id parameter + */ + installation_id: number; + /** + * The `id`s of the repositories that the installation token can access. Providing repository `id`s restricts the access of an installation token to specific repositories. You can use the "[List repositories](https://developer.github.com/v3/apps/installations/#list-repositories)" endpoint to get the `id` of all repositories that an installation can access. For example, you can select specific repositories when creating an installation token to restrict the number of repositories that can be cloned using the token. + */ + repository_ids?: number[]; + /** + * The permissions granted to the access token. The permissions object includes the permission names and their access type. For a complete list of permissions and allowable values, see "[GitHub App permissions](https://developer.github.com/apps/building-github-apps/creating-github-apps-using-url-parameters/#github-app-permissions)." + */ + permissions?: AppsCreateInstallationTokenParamsPermissions; +} & RequiredPreview<"machine-man">; +declare type AppsCreateInstallationTokenRequestOptions = { + method: "POST"; + url: "/app/installations/:installation_id/access_tokens"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsCreateInstallationTokenResponseDataRepositoriesItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type AppsCreateInstallationTokenResponseDataRepositoriesItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsCreateInstallationTokenResponseDataRepositoriesItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: AppsCreateInstallationTokenResponseDataRepositoriesItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: AppsCreateInstallationTokenResponseDataRepositoriesItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type AppsCreateInstallationTokenResponseDataPermissions = { + issues: string; + contents: string; +}; +declare type AppsCreateInstallationTokenResponseData = { + token: string; + expires_at: string; + permissions: AppsCreateInstallationTokenResponseDataPermissions; + repositories: Array; +}; +declare type AppsSuspendInstallationEndpoint = { + /** + * installation_id parameter + */ + installation_id: number; +}; +declare type AppsSuspendInstallationRequestOptions = { + method: "PUT"; + url: "/app/installations/:installation_id/suspended"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsUnsuspendInstallationEndpoint = { + /** + * installation_id parameter + */ + installation_id: number; +}; +declare type AppsUnsuspendInstallationRequestOptions = { + method: "DELETE"; + url: "/app/installations/:installation_id/suspended"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OauthAuthorizationsListGrantsEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type OauthAuthorizationsListGrantsRequestOptions = { + method: "GET"; + url: "/applications/grants"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OauthAuthorizationsListGrantsResponseDataItemApp = { + url: string; + name: string; + client_id: string; +}; +declare type OauthAuthorizationsListGrantsResponseDataItem = { + id: number; + url: string; + app: OauthAuthorizationsListGrantsResponseDataItemApp; + created_at: string; + updated_at: string; + scopes: Array; +}; +declare type OauthAuthorizationsListGrantsResponseData = Array; +declare type OauthAuthorizationsGetGrantEndpoint = { + /** + * grant_id parameter + */ + grant_id: number; +}; +declare type OauthAuthorizationsGetGrantRequestOptions = { + method: "GET"; + url: "/applications/grants/:grant_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OauthAuthorizationsGetGrantResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type OauthAuthorizationsGetGrantResponseData = { + id: number; + url: string; + app: OauthAuthorizationsGetGrantResponseDataApp; + created_at: string; + updated_at: string; + scopes: Array; +}; +declare type OauthAuthorizationsDeleteGrantEndpoint = { + /** + * grant_id parameter + */ + grant_id: number; +}; +declare type OauthAuthorizationsDeleteGrantRequestOptions = { + method: "DELETE"; + url: "/applications/grants/:grant_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsDeleteAuthorizationEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * The OAuth access token used to authenticate to the GitHub API. + */ + access_token?: string; +}; +declare type AppsDeleteAuthorizationRequestOptions = { + method: "DELETE"; + url: "/applications/:client_id/grant"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsRevokeGrantForApplicationEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * access_token parameter + */ + access_token: string; +}; +declare type AppsRevokeGrantForApplicationRequestOptions = { + method: "DELETE"; + url: "/applications/:client_id/grants/:access_token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsCheckTokenEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * The OAuth access token used to authenticate to the GitHub API. + */ + access_token?: string; +}; +declare type AppsCheckTokenRequestOptions = { + method: "POST"; + url: "/applications/:client_id/token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsCheckTokenResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsCheckTokenResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type AppsCheckTokenResponseData = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: AppsCheckTokenResponseDataApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; + user: AppsCheckTokenResponseDataUser; +}; +declare type AppsResetTokenEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * The OAuth access token used to authenticate to the GitHub API. + */ + access_token?: string; +}; +declare type AppsResetTokenRequestOptions = { + method: "PATCH"; + url: "/applications/:client_id/token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsResetTokenResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsResetTokenResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type AppsResetTokenResponseData = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: AppsResetTokenResponseDataApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; + user: AppsResetTokenResponseDataUser; +}; +declare type AppsDeleteTokenEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * The OAuth access token used to authenticate to the GitHub API. + */ + access_token?: string; +}; +declare type AppsDeleteTokenRequestOptions = { + method: "DELETE"; + url: "/applications/:client_id/token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsCheckAuthorizationEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * access_token parameter + */ + access_token: string; +}; +declare type AppsCheckAuthorizationRequestOptions = { + method: "GET"; + url: "/applications/:client_id/tokens/:access_token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsCheckAuthorizationResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsCheckAuthorizationResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type AppsCheckAuthorizationResponseData = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: AppsCheckAuthorizationResponseDataApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; + user: AppsCheckAuthorizationResponseDataUser; +}; +declare type AppsResetAuthorizationEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * access_token parameter + */ + access_token: string; +}; +declare type AppsResetAuthorizationRequestOptions = { + method: "POST"; + url: "/applications/:client_id/tokens/:access_token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsResetAuthorizationResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsResetAuthorizationResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type AppsResetAuthorizationResponseData = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: AppsResetAuthorizationResponseDataApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; + user: AppsResetAuthorizationResponseDataUser; +}; +declare type AppsRevokeAuthorizationForApplicationEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * access_token parameter + */ + access_token: string; +}; +declare type AppsRevokeAuthorizationForApplicationRequestOptions = { + method: "DELETE"; + url: "/applications/:client_id/tokens/:access_token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetBySlugEndpoint = { + /** + * app_slug parameter + */ + app_slug: string; +} & RequiredPreview<"machine-man">; +declare type AppsGetBySlugRequestOptions = { + method: "GET"; + url: "/apps/:app_slug"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetBySlugResponseDataPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type AppsGetBySlugResponseDataOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type AppsGetBySlugResponseData = { + id: number; + slug: string; + node_id: string; + owner: AppsGetBySlugResponseDataOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: AppsGetBySlugResponseDataPermissions; + events: Array; +}; +declare type OauthAuthorizationsListAuthorizationsEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type OauthAuthorizationsListAuthorizationsRequestOptions = { + method: "GET"; + url: "/authorizations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OauthAuthorizationsListAuthorizationsResponseDataItemApp = { + url: string; + name: string; + client_id: string; +}; +declare type OauthAuthorizationsListAuthorizationsResponseDataItem = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: OauthAuthorizationsListAuthorizationsResponseDataItemApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; +}; +declare type OauthAuthorizationsListAuthorizationsResponseData = Array; +declare type OauthAuthorizationsCreateAuthorizationEndpoint = { + /** + * A list of scopes that this authorization is in. + */ + scopes?: string[]; + /** + * A note to remind you what the OAuth token is for. Tokens not associated with a specific OAuth application (i.e. personal access tokens) must have a unique note. + */ + note: string; + /** + * A URL to remind you what app the OAuth token is for. + */ + note_url?: string; + /** + * The 20 character OAuth app client key for which to create the token. + */ + client_id?: string; + /** + * The 40 character OAuth app client secret for which to create the token. + */ + client_secret?: string; + /** + * A unique string to distinguish an authorization from others created for the same client ID and user. + */ + fingerprint?: string; +}; +declare type OauthAuthorizationsCreateAuthorizationRequestOptions = { + method: "POST"; + url: "/authorizations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OauthAuthorizationsCreateAuthorizationResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type OauthAuthorizationsCreateAuthorizationResponseData = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: OauthAuthorizationsCreateAuthorizationResponseDataApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; +}; +declare type OauthAuthorizationsGetOrCreateAuthorizationForAppEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * The 40 character OAuth app client secret associated with the client ID specified in the URL. + */ + client_secret: string; + /** + * A list of scopes that this authorization is in. + */ + scopes?: string[]; + /** + * A note to remind you what the OAuth token is for. + */ + note?: string; + /** + * A URL to remind you what app the OAuth token is for. + */ + note_url?: string; + /** + * A unique string to distinguish an authorization from others created for the same client and user. If provided, this API is functionally equivalent to [Get-or-create an authorization for a specific app and fingerprint](https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app-and-fingerprint). + */ + fingerprint?: string; +}; +declare type OauthAuthorizationsGetOrCreateAuthorizationForAppRequestOptions = { + method: "PUT"; + url: "/authorizations/clients/:client_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OauthAuthorizationsGetOrCreateAuthorizationForAppResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type OauthAuthorizationsGetOrCreateAuthorizationForAppResponseData = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: OauthAuthorizationsGetOrCreateAuthorizationForAppResponseDataApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; +}; +declare type OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * fingerprint parameter + */ + fingerprint: string; + /** + * The 40 character OAuth app client secret associated with the client ID specified in the URL. + */ + client_secret: string; + /** + * A list of scopes that this authorization is in. + */ + scopes?: string[]; + /** + * A note to remind you what the OAuth token is for. + */ + note?: string; + /** + * A URL to remind you what app the OAuth token is for. + */ + note_url?: string; +}; +declare type OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintRequestOptions = { + method: "PUT"; + url: "/authorizations/clients/:client_id/:fingerprint"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintResponseData = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintResponseDataApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; +}; +declare type OauthAuthorizationsGetAuthorizationEndpoint = { + /** + * authorization_id parameter + */ + authorization_id: number; +}; +declare type OauthAuthorizationsGetAuthorizationRequestOptions = { + method: "GET"; + url: "/authorizations/:authorization_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OauthAuthorizationsGetAuthorizationResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type OauthAuthorizationsGetAuthorizationResponseData = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: OauthAuthorizationsGetAuthorizationResponseDataApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; +}; +declare type OauthAuthorizationsUpdateAuthorizationEndpoint = { + /** + * authorization_id parameter + */ + authorization_id: number; + /** + * Replaces the authorization scopes with these. + */ + scopes?: string[]; + /** + * A list of scopes to add to this authorization. + */ + add_scopes?: string[]; + /** + * A list of scopes to remove from this authorization. + */ + remove_scopes?: string[]; + /** + * A note to remind you what the OAuth token is for. Tokens not associated with a specific OAuth application (i.e. personal access tokens) must have a unique note. + */ + note?: string; + /** + * A URL to remind you what app the OAuth token is for. + */ + note_url?: string; + /** + * A unique string to distinguish an authorization from others created for the same client ID and user. + */ + fingerprint?: string; +}; +declare type OauthAuthorizationsUpdateAuthorizationRequestOptions = { + method: "PATCH"; + url: "/authorizations/:authorization_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OauthAuthorizationsUpdateAuthorizationResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type OauthAuthorizationsUpdateAuthorizationResponseData = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: OauthAuthorizationsUpdateAuthorizationResponseDataApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; +}; +declare type OauthAuthorizationsDeleteAuthorizationEndpoint = { + /** + * authorization_id parameter + */ + authorization_id: number; +}; +declare type OauthAuthorizationsDeleteAuthorizationRequestOptions = { + method: "DELETE"; + url: "/authorizations/:authorization_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type CodesOfConductGetAllCodesOfConductEndpoint = {} & RequiredPreview<"scarlet-witch">; +declare type CodesOfConductGetAllCodesOfConductRequestOptions = { + method: "GET"; + url: "/codes_of_conduct"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type CodesOfConductGetAllCodesOfConductResponseDataItem = { + key: string; + name: string; + url: string; +}; +declare type CodesOfConductGetAllCodesOfConductResponseData = Array; +declare type CodesOfConductGetConductCodeEndpoint = { + /** + * key parameter + */ + key: string; +} & RequiredPreview<"scarlet-witch">; +declare type CodesOfConductGetConductCodeRequestOptions = { + method: "GET"; + url: "/codes_of_conduct/:key"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type CodesOfConductGetConductCodeResponseData = { + key: string; + name: string; + url: string; + body: string; +}; +declare type AppsCreateContentAttachmentEndpoint = { + /** + * content_reference_id parameter + */ + content_reference_id: number; + /** + * The title of the content attachment displayed in the body or comment of an issue or pull request. + */ + title: string; + /** + * The body text of the content attachment displayed in the body or comment of an issue or pull request. This parameter supports markdown. + */ + body: string; +} & RequiredPreview<"corsair">; +declare type AppsCreateContentAttachmentRequestOptions = { + method: "POST"; + url: "/content_references/:content_reference_id/attachments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsCreateContentAttachmentResponseData = { + id: number; + title: string; + body: string; +}; +declare type EmojisGetEndpoint = {}; +declare type EmojisGetRequestOptions = { + method: "GET"; + url: "/emojis"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListPublicEventsEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListPublicEventsRequestOptions = { + method: "GET"; + url: "/events"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityGetFeedsEndpoint = {}; +declare type ActivityGetFeedsRequestOptions = { + method: "GET"; + url: "/feeds"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityGetFeedsResponseDataLinksSecurityAdvisories = { + href: string; + type: string; +}; +declare type ActivityGetFeedsResponseDataLinksCurrentUserOrganizationsItem = { + href: string; + type: string; +}; +declare type ActivityGetFeedsResponseDataLinksCurrentUserOrganization = { + href: string; + type: string; +}; +declare type ActivityGetFeedsResponseDataLinksCurrentUserActor = { + href: string; + type: string; +}; +declare type ActivityGetFeedsResponseDataLinksCurrentUser = { + href: string; + type: string; +}; +declare type ActivityGetFeedsResponseDataLinksCurrentUserPublic = { + href: string; + type: string; +}; +declare type ActivityGetFeedsResponseDataLinksUser = { + href: string; + type: string; +}; +declare type ActivityGetFeedsResponseDataLinksTimeline = { + href: string; + type: string; +}; +declare type ActivityGetFeedsResponseDataLinks = { + timeline: ActivityGetFeedsResponseDataLinksTimeline; + user: ActivityGetFeedsResponseDataLinksUser; + current_user_public: ActivityGetFeedsResponseDataLinksCurrentUserPublic; + current_user: ActivityGetFeedsResponseDataLinksCurrentUser; + current_user_actor: ActivityGetFeedsResponseDataLinksCurrentUserActor; + current_user_organization: ActivityGetFeedsResponseDataLinksCurrentUserOrganization; + current_user_organizations: Array; + security_advisories: ActivityGetFeedsResponseDataLinksSecurityAdvisories; +}; +declare type ActivityGetFeedsResponseData = { + timeline_url: string; + user_url: string; + current_user_public_url: string; + current_user_url: string; + current_user_actor_url: string; + current_user_organization_url: string; + current_user_organization_urls: Array; + security_advisories_url: string; + _links: ActivityGetFeedsResponseDataLinks; +}; +declare type GistsListEndpoint = { + /** + * This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Only gists updated at or after this time are returned. + */ + since?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type GistsListRequestOptions = { + method: "GET"; + url: "/gists"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsListResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsListResponseDataItemFilesHelloWorldRb = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; +}; +declare type GistsListResponseDataItemFiles = { + "hello_world.rb": GistsListResponseDataItemFilesHelloWorldRb; +}; +declare type GistsListResponseDataItem = { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: GistsListResponseDataItemFiles; + public: boolean; + created_at: string; + updated_at: string; + description: string; + comments: number; + user: null; + comments_url: string; + owner: GistsListResponseDataItemOwner; + truncated: boolean; +}; +declare type GistsListResponseData = Array; +declare type GistsCreateEndpoint = { + /** + * The filenames and content of each file in the gist. The keys in the `files` object represent the filename and have the type `string`. + */ + files: GistsCreateParamsFiles; + /** + * A descriptive name for this gist. + */ + description?: string; + /** + * When `true`, the gist will be public and available for anyone to see. + */ + public?: boolean; +}; +declare type GistsCreateRequestOptions = { + method: "POST"; + url: "/gists"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsCreateResponseDataHistoryItemChangeStatus = { + deletions: number; + additions: number; + total: number; +}; +declare type GistsCreateResponseDataHistoryItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsCreateResponseDataHistoryItem = { + url: string; + version: string; + user: GistsCreateResponseDataHistoryItemUser; + change_status: GistsCreateResponseDataHistoryItemChangeStatus; + committed_at: string; +}; +declare type GistsCreateResponseDataForksItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsCreateResponseDataForksItem = { + user: GistsCreateResponseDataForksItemUser; + url: string; + id: string; + created_at: string; + updated_at: string; +}; +declare type GistsCreateResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsCreateResponseDataFilesHelloWorldPythonTxt = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsCreateResponseDataFilesHelloWorldRubyTxt = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsCreateResponseDataFilesHelloWorldPy = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsCreateResponseDataFilesHelloWorldRb = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsCreateResponseDataFiles = { + "hello_world.rb": GistsCreateResponseDataFilesHelloWorldRb; + "hello_world.py": GistsCreateResponseDataFilesHelloWorldPy; + "hello_world_ruby.txt": GistsCreateResponseDataFilesHelloWorldRubyTxt; + "hello_world_python.txt": GistsCreateResponseDataFilesHelloWorldPythonTxt; +}; +declare type GistsCreateResponseData = { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: GistsCreateResponseDataFiles; + public: boolean; + created_at: string; + updated_at: string; + description: string; + comments: number; + user: null; + comments_url: string; + owner: GistsCreateResponseDataOwner; + truncated: boolean; + forks: Array; + history: Array; +}; +declare type GistsListPublicEndpoint = { + /** + * This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Only gists updated at or after this time are returned. + */ + since?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type GistsListPublicRequestOptions = { + method: "GET"; + url: "/gists/public"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsListPublicResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsListPublicResponseDataItemFilesHelloWorldRb = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; +}; +declare type GistsListPublicResponseDataItemFiles = { + "hello_world.rb": GistsListPublicResponseDataItemFilesHelloWorldRb; +}; +declare type GistsListPublicResponseDataItem = { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: GistsListPublicResponseDataItemFiles; + public: boolean; + created_at: string; + updated_at: string; + description: string; + comments: number; + user: null; + comments_url: string; + owner: GistsListPublicResponseDataItemOwner; + truncated: boolean; +}; +declare type GistsListPublicResponseData = Array; +declare type GistsListStarredEndpoint = { + /** + * This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Only gists updated at or after this time are returned. + */ + since?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type GistsListStarredRequestOptions = { + method: "GET"; + url: "/gists/starred"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsListStarredResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsListStarredResponseDataItemFilesHelloWorldRb = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; +}; +declare type GistsListStarredResponseDataItemFiles = { + "hello_world.rb": GistsListStarredResponseDataItemFilesHelloWorldRb; +}; +declare type GistsListStarredResponseDataItem = { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: GistsListStarredResponseDataItemFiles; + public: boolean; + created_at: string; + updated_at: string; + description: string; + comments: number; + user: null; + comments_url: string; + owner: GistsListStarredResponseDataItemOwner; + truncated: boolean; +}; +declare type GistsListStarredResponseData = Array; +declare type GistsGetEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; +}; +declare type GistsGetRequestOptions = { + method: "GET"; + url: "/gists/:gist_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsGetResponseDataHistoryItemChangeStatus = { + deletions: number; + additions: number; + total: number; +}; +declare type GistsGetResponseDataHistoryItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsGetResponseDataHistoryItem = { + url: string; + version: string; + user: GistsGetResponseDataHistoryItemUser; + change_status: GistsGetResponseDataHistoryItemChangeStatus; + committed_at: string; +}; +declare type GistsGetResponseDataForksItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsGetResponseDataForksItem = { + user: GistsGetResponseDataForksItemUser; + url: string; + id: string; + created_at: string; + updated_at: string; +}; +declare type GistsGetResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsGetResponseDataFilesHelloWorldPythonTxt = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsGetResponseDataFilesHelloWorldRubyTxt = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsGetResponseDataFilesHelloWorldPy = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsGetResponseDataFilesHelloWorldRb = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsGetResponseDataFiles = { + "hello_world.rb": GistsGetResponseDataFilesHelloWorldRb; + "hello_world.py": GistsGetResponseDataFilesHelloWorldPy; + "hello_world_ruby.txt": GistsGetResponseDataFilesHelloWorldRubyTxt; + "hello_world_python.txt": GistsGetResponseDataFilesHelloWorldPythonTxt; +}; +declare type GistsGetResponseData = { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: GistsGetResponseDataFiles; + public: boolean; + created_at: string; + updated_at: string; + description: string; + comments: number; + user: null; + comments_url: string; + owner: GistsGetResponseDataOwner; + truncated: boolean; + forks: Array; + history: Array; +}; +declare type GistsUpdateEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; + /** + * A descriptive name for this gist. + */ + description?: string; + /** + * The filenames and content that make up this gist. + */ + files?: GistsUpdateParamsFiles; +}; +declare type GistsUpdateRequestOptions = { + method: "PATCH"; + url: "/gists/:gist_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsUpdateResponseDataHistoryItemChangeStatus = { + deletions: number; + additions: number; + total: number; +}; +declare type GistsUpdateResponseDataHistoryItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsUpdateResponseDataHistoryItem = { + url: string; + version: string; + user: GistsUpdateResponseDataHistoryItemUser; + change_status: GistsUpdateResponseDataHistoryItemChangeStatus; + committed_at: string; +}; +declare type GistsUpdateResponseDataForksItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsUpdateResponseDataForksItem = { + user: GistsUpdateResponseDataForksItemUser; + url: string; + id: string; + created_at: string; + updated_at: string; +}; +declare type GistsUpdateResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsUpdateResponseDataFilesNewFileTxt = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsUpdateResponseDataFilesHelloWorldMd = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsUpdateResponseDataFilesHelloWorldPy = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsUpdateResponseDataFilesHelloWorldRb = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsUpdateResponseDataFiles = { + "hello_world.rb": GistsUpdateResponseDataFilesHelloWorldRb; + "hello_world.py": GistsUpdateResponseDataFilesHelloWorldPy; + "hello_world.md": GistsUpdateResponseDataFilesHelloWorldMd; + "new_file.txt": GistsUpdateResponseDataFilesNewFileTxt; +}; +declare type GistsUpdateResponseData = { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: GistsUpdateResponseDataFiles; + public: boolean; + created_at: string; + updated_at: string; + description: string; + comments: number; + user: null; + comments_url: string; + owner: GistsUpdateResponseDataOwner; + truncated: boolean; + forks: Array; + history: Array; +}; +declare type GistsDeleteEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; +}; +declare type GistsDeleteRequestOptions = { + method: "DELETE"; + url: "/gists/:gist_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsListCommentsEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type GistsListCommentsRequestOptions = { + method: "GET"; + url: "/gists/:gist_id/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsListCommentsResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsListCommentsResponseDataItem = { + id: number; + node_id: string; + url: string; + body: string; + user: GistsListCommentsResponseDataItemUser; + created_at: string; + updated_at: string; +}; +declare type GistsListCommentsResponseData = Array; +declare type GistsCreateCommentEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; + /** + * The comment text. + */ + body: string; +}; +declare type GistsCreateCommentRequestOptions = { + method: "POST"; + url: "/gists/:gist_id/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsCreateCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsCreateCommentResponseData = { + id: number; + node_id: string; + url: string; + body: string; + user: GistsCreateCommentResponseDataUser; + created_at: string; + updated_at: string; +}; +declare type GistsGetCommentEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; + /** + * comment_id parameter + */ + comment_id: number; +}; +declare type GistsGetCommentRequestOptions = { + method: "GET"; + url: "/gists/:gist_id/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsGetCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsGetCommentResponseData = { + id: number; + node_id: string; + url: string; + body: string; + user: GistsGetCommentResponseDataUser; + created_at: string; + updated_at: string; +}; +declare type GistsUpdateCommentEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * The comment text. + */ + body: string; +}; +declare type GistsUpdateCommentRequestOptions = { + method: "PATCH"; + url: "/gists/:gist_id/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsUpdateCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsUpdateCommentResponseData = { + id: number; + node_id: string; + url: string; + body: string; + user: GistsUpdateCommentResponseDataUser; + created_at: string; + updated_at: string; +}; +declare type GistsDeleteCommentEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; + /** + * comment_id parameter + */ + comment_id: number; +}; +declare type GistsDeleteCommentRequestOptions = { + method: "DELETE"; + url: "/gists/:gist_id/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsListCommitsEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type GistsListCommitsRequestOptions = { + method: "GET"; + url: "/gists/:gist_id/commits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsListCommitsResponseDataItemChangeStatus = { + deletions: number; + additions: number; + total: number; +}; +declare type GistsListCommitsResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsListCommitsResponseDataItem = { + url: string; + version: string; + user: GistsListCommitsResponseDataItemUser; + change_status: GistsListCommitsResponseDataItemChangeStatus; + committed_at: string; +}; +declare type GistsListCommitsResponseData = Array; +declare type GistsForkEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; +}; +declare type GistsForkRequestOptions = { + method: "POST"; + url: "/gists/:gist_id/forks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsForkResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsForkResponseDataFilesHelloWorldRb = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; +}; +declare type GistsForkResponseDataFiles = { + "hello_world.rb": GistsForkResponseDataFilesHelloWorldRb; +}; +declare type GistsForkResponseData = { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: GistsForkResponseDataFiles; + public: boolean; + created_at: string; + updated_at: string; + description: string; + comments: number; + user: null; + comments_url: string; + owner: GistsForkResponseDataOwner; + truncated: boolean; +}; +declare type GistsListForksEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type GistsListForksRequestOptions = { + method: "GET"; + url: "/gists/:gist_id/forks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsListForksResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsListForksResponseDataItem = { + user: GistsListForksResponseDataItemUser; + url: string; + id: string; + created_at: string; + updated_at: string; +}; +declare type GistsListForksResponseData = Array; +declare type GistsStarEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; +}; +declare type GistsStarRequestOptions = { + method: "PUT"; + url: "/gists/:gist_id/star"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsUnstarEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; +}; +declare type GistsUnstarRequestOptions = { + method: "DELETE"; + url: "/gists/:gist_id/star"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsCheckIsStarredEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; +}; +declare type GistsCheckIsStarredRequestOptions = { + method: "GET"; + url: "/gists/:gist_id/star"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsGetRevisionEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; + /** + * sha parameter + */ + sha: string; +}; +declare type GistsGetRevisionRequestOptions = { + method: "GET"; + url: "/gists/:gist_id/:sha"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsGetRevisionResponseDataHistoryItemChangeStatus = { + deletions: number; + additions: number; + total: number; +}; +declare type GistsGetRevisionResponseDataHistoryItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsGetRevisionResponseDataHistoryItem = { + url: string; + version: string; + user: GistsGetRevisionResponseDataHistoryItemUser; + change_status: GistsGetRevisionResponseDataHistoryItemChangeStatus; + committed_at: string; +}; +declare type GistsGetRevisionResponseDataForksItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsGetRevisionResponseDataForksItem = { + user: GistsGetRevisionResponseDataForksItemUser; + url: string; + id: string; + created_at: string; + updated_at: string; +}; +declare type GistsGetRevisionResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsGetRevisionResponseDataFilesHelloWorldPythonTxt = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsGetRevisionResponseDataFilesHelloWorldRubyTxt = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsGetRevisionResponseDataFilesHelloWorldPy = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsGetRevisionResponseDataFilesHelloWorldRb = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsGetRevisionResponseDataFiles = { + "hello_world.rb": GistsGetRevisionResponseDataFilesHelloWorldRb; + "hello_world.py": GistsGetRevisionResponseDataFilesHelloWorldPy; + "hello_world_ruby.txt": GistsGetRevisionResponseDataFilesHelloWorldRubyTxt; + "hello_world_python.txt": GistsGetRevisionResponseDataFilesHelloWorldPythonTxt; +}; +declare type GistsGetRevisionResponseData = { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: GistsGetRevisionResponseDataFiles; + public: boolean; + created_at: string; + updated_at: string; + description: string; + comments: number; + user: null; + comments_url: string; + owner: GistsGetRevisionResponseDataOwner; + truncated: boolean; + forks: Array; + history: Array; +}; +declare type GitignoreListTemplatesEndpoint = {}; +declare type GitignoreListTemplatesRequestOptions = { + method: "GET"; + url: "/gitignore/templates"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitignoreListTemplatesResponseData = Array; +declare type GitignoreGetTemplateEndpoint = { + /** + * name parameter + */ + name: string; +}; +declare type GitignoreGetTemplateRequestOptions = { + method: "GET"; + url: "/gitignore/templates/:name"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitignoreGetTemplateResponseData = { + name: string; + source: string; +}; +declare type AppsListReposEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"machine-man">; +declare type AppsListReposRequestOptions = { + method: "GET"; + url: "/installation/repositories"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListReposResponseDataRepositoriesItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsListReposResponseDataRepositoriesItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: AppsListReposResponseDataRepositoriesItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type AppsListReposResponseData = { + total_count: number; + repositories: Array; +}; +declare type AppsRevokeInstallationTokenEndpoint = {}; +declare type AppsRevokeInstallationTokenRequestOptions = { + method: "DELETE"; + url: "/installation/token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListEndpoint = { + /** + * Indicates which sorts of issues to return. Can be one of: + * \* `assigned`: Issues assigned to you + * \* `created`: Issues created by you + * \* `mentioned`: Issues mentioning you + * \* `subscribed`: Issues you're subscribed to updates for + * \* `all`: All issues the authenticated user can see, regardless of participation or creation + */ + filter?: "assigned" | "created" | "mentioned" | "subscribed" | "all"; + /** + * Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + /** + * A list of comma separated label names. Example: `bug,ui,@high` + */ + labels?: string; + /** + * What to sort results by. Can be either `created`, `updated`, `comments`. + */ + sort?: "created" | "updated" | "comments"; + /** + * The direction of the sort. Can be either `asc` or `desc`. + */ + direction?: "asc" | "desc"; + /** + * Only issues updated at or after this time are returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type IssuesListRequestOptions = { + method: "GET"; + url: "/issues"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListResponseDataItemRepositoryPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type IssuesListResponseDataItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListResponseDataItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: IssuesListResponseDataItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: IssuesListResponseDataItemRepositoryPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type IssuesListResponseDataItemPullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesListResponseDataItemMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListResponseDataItemMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesListResponseDataItemMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesListResponseDataItemAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListResponseDataItemAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListResponseDataItemLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesListResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListResponseDataItem = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesListResponseDataItemUser; + labels: Array; + assignee: IssuesListResponseDataItemAssignee; + assignees: Array; + milestone: IssuesListResponseDataItemMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesListResponseDataItemPullRequest; + closed_at: null; + created_at: string; + updated_at: string; + repository: IssuesListResponseDataItemRepository; +}; +declare type IssuesListResponseData = Array; +declare type SearchIssuesLegacyEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repository parameter + */ + repository: string; + /** + * Indicates the state of the issues to return. Can be either `open` or `closed`. + */ + state: "open" | "closed"; + /** + * The search term. + */ + keyword: string; +}; +declare type SearchIssuesLegacyRequestOptions = { + method: "GET"; + url: "/legacy/issues/search/:owner/:repository/:state/:keyword"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchIssuesLegacyResponseDataIssuesItem = { + gravatar_id: string; + position: number; + number: number; + votes: number; + created_at: string; + comments: number; + body: string; + title: string; + updated_at: string; + html_url: string; + user: string; + labels: Array; + state: string; +}; +declare type SearchIssuesLegacyResponseData = { + issues: Array; +}; +declare type SearchReposLegacyEndpoint = { + /** + * The search term. + */ + keyword: string; + /** + * Filter results by language. + */ + language?: string; + /** + * The page number to fetch. + */ + start_page?: string; + /** + * The sort field. One of `stars`, `forks`, or `updated`. Default: results are sorted by best match. + */ + sort?: "stars" | "forks" | "updated"; + /** + * The sort field. if `sort` param is provided. Can be either `asc` or `desc`. + */ + order?: "asc" | "desc"; +}; +declare type SearchReposLegacyRequestOptions = { + method: "GET"; + url: "/legacy/repos/search/:keyword"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchReposLegacyResponseDataRepositoriesItem = { + type: string; + created: string; + watchers: number; + has_downloads: boolean; + username: string; + homepage: string; + url: string; + fork: boolean; + has_issues: boolean; + has_wiki: boolean; + forks: number; + size: number; + private: boolean; + followers: number; + name: string; + owner: string; + open_issues: number; + pushed_at: string; + score: number; + pushed: string; + description: string; + language: string; + created_at: string; +}; +declare type SearchReposLegacyResponseData = { + repositories: Array; +}; +declare type SearchEmailLegacyEndpoint = { + /** + * The email address. + */ + email: string; +}; +declare type SearchEmailLegacyRequestOptions = { + method: "GET"; + url: "/legacy/user/email/:email"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchEmailLegacyResponseDataUser = { + public_repo_count: number; + public_gist_count: number; + followers_count: number; + following_count: number; + created: string; + created_at: string; + name: string; + company: string; + blog: string; + location: string; + email: string; + id: number; + login: string; + type: string; + gravatar_id: string; +}; +declare type SearchEmailLegacyResponseData = { + user: SearchEmailLegacyResponseDataUser; +}; +declare type SearchUsersLegacyEndpoint = { + /** + * The search term. + */ + keyword: string; + /** + * The page number to fetch. + */ + start_page?: string; + /** + * The sort field. One of `stars`, `forks`, or `updated`. Default: results are sorted by best match. + */ + sort?: "stars" | "forks" | "updated"; + /** + * The sort field. if `sort` param is provided. Can be either `asc` or `desc`. + */ + order?: "asc" | "desc"; +}; +declare type SearchUsersLegacyRequestOptions = { + method: "GET"; + url: "/legacy/user/search/:keyword"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchUsersLegacyResponseDataUsersItem = { + gravatar_id: string; + name: string; + created_at: string; + location: string; + public_repo_count: number; + followers: number; + language: string; + fullname: string; + username: string; + id: string; + repos: number; + type: string; + followers_count: number; + login: string; + score: number; + created: string; +}; +declare type SearchUsersLegacyResponseData = { + users: Array; +}; +declare type LicensesListCommonlyUsedEndpoint = {}; +declare type LicensesListCommonlyUsedRequestOptions = { + method: "GET"; + url: "/licenses"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type LicensesListCommonlyUsedResponseDataItem = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id?: string; +}; +declare type LicensesListCommonlyUsedResponseData = Array; +declare type LicensesGetEndpoint = { + /** + * license parameter + */ + license: string; +}; +declare type LicensesGetRequestOptions = { + method: "GET"; + url: "/licenses/:license"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type LicensesGetResponseData = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; + html_url: string; + description: string; + implementation: string; + permissions: Array; + conditions: Array; + limitations: Array; + body: string; + featured: boolean; +}; +declare type MarkdownRenderEndpoint = { + /** + * The Markdown text to render in HTML. Markdown content must be 400 KB or less. + */ + text: string; + /** + * The rendering mode. Can be either: + * \* `markdown` to render a document in plain Markdown, just like README.md files are rendered. + * \* `gfm` to render a document in [GitHub Flavored Markdown](https://github.github.com/gfm/), which creates links for user mentions as well as references to SHA-1 hashes, issues, and pull requests. + */ + mode?: "markdown" | "gfm"; + /** + * The repository context to use when creating references in `gfm` mode. Omit this parameter when using `markdown` mode. + */ + context?: string; +}; +declare type MarkdownRenderRequestOptions = { + method: "POST"; + url: "/markdown"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MarkdownRenderRawEndpoint = { + /** + * data parameter + */ + data: string; +} & { + headers: { + "content-type": "text/plain; charset=utf-8"; + }; +}; +declare type MarkdownRenderRawRequestOptions = { + method: "POST"; + url: "/markdown/raw"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetSubscriptionPlanForAccountEndpoint = { + /** + * account_id parameter + */ + account_id: number; +}; +declare type AppsGetSubscriptionPlanForAccountRequestOptions = { + method: "GET"; + url: "/marketplace_listing/accounts/:account_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetSubscriptionPlanForAccountResponseDataMarketplacePurchasePlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + unit_name: null; + state: string; + bullets: Array; +}; +declare type AppsGetSubscriptionPlanForAccountResponseDataMarketplacePurchase = { + billing_cycle: string; + next_billing_date: string; + unit_count: null; + on_free_trial: boolean; + free_trial_ends_on: string; + updated_at: string; + plan: AppsGetSubscriptionPlanForAccountResponseDataMarketplacePurchasePlan; +}; +declare type AppsGetSubscriptionPlanForAccountResponseDataMarketplacePendingChangePlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + state: string; + unit_name: null; + bullets: Array; +}; +declare type AppsGetSubscriptionPlanForAccountResponseDataMarketplacePendingChange = { + effective_date: string; + unit_count: null; + id: number; + plan: AppsGetSubscriptionPlanForAccountResponseDataMarketplacePendingChangePlan; +}; +declare type AppsGetSubscriptionPlanForAccountResponseData = { + url: string; + type: string; + id: number; + login: string; + email: null; + organization_billing_email: string; + marketplace_pending_change: AppsGetSubscriptionPlanForAccountResponseDataMarketplacePendingChange; + marketplace_purchase: AppsGetSubscriptionPlanForAccountResponseDataMarketplacePurchase; +}; +declare type AppsListPlansEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type AppsListPlansRequestOptions = { + method: "GET"; + url: "/marketplace_listing/plans"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListPlansResponseDataItem = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + unit_name: null; + state: string; + bullets: Array; +}; +declare type AppsListPlansResponseData = Array; +declare type AppsListAccountsForPlanEndpoint = { + /** + * plan_id parameter + */ + plan_id: number; + /** + * Sorts the GitHub accounts by the date they were created or last updated. Can be one of `created` or `updated`. + */ + sort?: "created" | "updated"; + /** + * To return the oldest accounts first, set to `asc`. Can be one of `asc` or `desc`. Ignored without the `sort` parameter. + */ + direction?: "asc" | "desc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type AppsListAccountsForPlanRequestOptions = { + method: "GET"; + url: "/marketplace_listing/plans/:plan_id/accounts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListAccountsForPlanResponseDataItemMarketplacePurchasePlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + unit_name: null; + state: string; + bullets: Array; +}; +declare type AppsListAccountsForPlanResponseDataItemMarketplacePurchase = { + billing_cycle: string; + next_billing_date: string; + unit_count: null; + on_free_trial: boolean; + free_trial_ends_on: string; + updated_at: string; + plan: AppsListAccountsForPlanResponseDataItemMarketplacePurchasePlan; +}; +declare type AppsListAccountsForPlanResponseDataItemMarketplacePendingChangePlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + state: string; + unit_name: null; + bullets: Array; +}; +declare type AppsListAccountsForPlanResponseDataItemMarketplacePendingChange = { + effective_date: string; + unit_count: null; + id: number; + plan: AppsListAccountsForPlanResponseDataItemMarketplacePendingChangePlan; +}; +declare type AppsListAccountsForPlanResponseDataItem = { + url: string; + type: string; + id: number; + login: string; + email: null; + organization_billing_email: string; + marketplace_pending_change: AppsListAccountsForPlanResponseDataItemMarketplacePendingChange; + marketplace_purchase: AppsListAccountsForPlanResponseDataItemMarketplacePurchase; +}; +declare type AppsListAccountsForPlanResponseData = Array; +declare type AppsGetSubscriptionPlanForAccountStubbedEndpoint = { + /** + * account_id parameter + */ + account_id: number; +}; +declare type AppsGetSubscriptionPlanForAccountStubbedRequestOptions = { + method: "GET"; + url: "/marketplace_listing/stubbed/accounts/:account_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetSubscriptionPlanForAccountStubbedResponseDataMarketplacePurchasePlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + unit_name: null; + state: string; + bullets: Array; +}; +declare type AppsGetSubscriptionPlanForAccountStubbedResponseDataMarketplacePurchase = { + billing_cycle: string; + next_billing_date: string; + unit_count: null; + on_free_trial: boolean; + free_trial_ends_on: string; + updated_at: string; + plan: AppsGetSubscriptionPlanForAccountStubbedResponseDataMarketplacePurchasePlan; +}; +declare type AppsGetSubscriptionPlanForAccountStubbedResponseDataMarketplacePendingChangePlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + state: string; + unit_name: null; + bullets: Array; +}; +declare type AppsGetSubscriptionPlanForAccountStubbedResponseDataMarketplacePendingChange = { + effective_date: string; + unit_count: null; + id: number; + plan: AppsGetSubscriptionPlanForAccountStubbedResponseDataMarketplacePendingChangePlan; +}; +declare type AppsGetSubscriptionPlanForAccountStubbedResponseData = { + url: string; + type: string; + id: number; + login: string; + email: null; + organization_billing_email: string; + marketplace_pending_change: AppsGetSubscriptionPlanForAccountStubbedResponseDataMarketplacePendingChange; + marketplace_purchase: AppsGetSubscriptionPlanForAccountStubbedResponseDataMarketplacePurchase; +}; +declare type AppsListPlansStubbedEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type AppsListPlansStubbedRequestOptions = { + method: "GET"; + url: "/marketplace_listing/stubbed/plans"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListPlansStubbedResponseDataItem = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + unit_name: null; + state: string; + bullets: Array; +}; +declare type AppsListPlansStubbedResponseData = Array; +declare type AppsListAccountsForPlanStubbedEndpoint = { + /** + * plan_id parameter + */ + plan_id: number; + /** + * Sorts the GitHub accounts by the date they were created or last updated. Can be one of `created` or `updated`. + */ + sort?: "created" | "updated"; + /** + * To return the oldest accounts first, set to `asc`. Can be one of `asc` or `desc`. Ignored without the `sort` parameter. + */ + direction?: "asc" | "desc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type AppsListAccountsForPlanStubbedRequestOptions = { + method: "GET"; + url: "/marketplace_listing/stubbed/plans/:plan_id/accounts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListAccountsForPlanStubbedResponseDataItemMarketplacePurchasePlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + unit_name: null; + state: string; + bullets: Array; +}; +declare type AppsListAccountsForPlanStubbedResponseDataItemMarketplacePurchase = { + billing_cycle: string; + next_billing_date: string; + unit_count: null; + on_free_trial: boolean; + free_trial_ends_on: string; + updated_at: string; + plan: AppsListAccountsForPlanStubbedResponseDataItemMarketplacePurchasePlan; +}; +declare type AppsListAccountsForPlanStubbedResponseDataItemMarketplacePendingChangePlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + state: string; + unit_name: null; + bullets: Array; +}; +declare type AppsListAccountsForPlanStubbedResponseDataItemMarketplacePendingChange = { + effective_date: string; + unit_count: null; + id: number; + plan: AppsListAccountsForPlanStubbedResponseDataItemMarketplacePendingChangePlan; +}; +declare type AppsListAccountsForPlanStubbedResponseDataItem = { + url: string; + type: string; + id: number; + login: string; + email: null; + organization_billing_email: string; + marketplace_pending_change: AppsListAccountsForPlanStubbedResponseDataItemMarketplacePendingChange; + marketplace_purchase: AppsListAccountsForPlanStubbedResponseDataItemMarketplacePurchase; +}; +declare type AppsListAccountsForPlanStubbedResponseData = Array; +declare type MetaGetEndpoint = {}; +declare type MetaGetRequestOptions = { + method: "GET"; + url: "/meta"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MetaGetResponseDataSshKeyFingerprints = { + MD5_RSA: string; + MD5_DSA: string; + SHA256_RSA: string; + SHA256_DSA: string; +}; +declare type MetaGetResponseData = { + verifiable_password_authentication: boolean; + ssh_key_fingerprints: MetaGetResponseDataSshKeyFingerprints; + hooks: Array; + web: Array; + api: Array; + git: Array; + pages: Array; + importer: Array; +}; +declare type ActivityListPublicEventsForRepoNetworkEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListPublicEventsForRepoNetworkRequestOptions = { + method: "GET"; + url: "/networks/:owner/:repo/events"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListNotificationsForAuthenticatedUserEndpoint = { + /** + * If `true`, show notifications marked as read. + */ + all?: boolean; + /** + * If `true`, only shows notifications in which the user is directly participating or mentioned. + */ + participating?: boolean; + /** + * Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; + /** + * Only show notifications updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + before?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListNotificationsForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/notifications"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListNotificationsForAuthenticatedUserResponseDataItemSubject = { + title: string; + url: string; + latest_comment_url: string; + type: string; +}; +declare type ActivityListNotificationsForAuthenticatedUserResponseDataItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActivityListNotificationsForAuthenticatedUserResponseDataItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActivityListNotificationsForAuthenticatedUserResponseDataItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ActivityListNotificationsForAuthenticatedUserResponseDataItem = { + id: string; + repository: ActivityListNotificationsForAuthenticatedUserResponseDataItemRepository; + subject: ActivityListNotificationsForAuthenticatedUserResponseDataItemSubject; + reason: string; + unread: boolean; + updated_at: string; + last_read_at: string; + url: string; +}; +declare type ActivityListNotificationsForAuthenticatedUserResponseData = Array; +declare type ActivityMarkNotificationsAsReadEndpoint = { + /** + * Describes the last point that notifications were checked. Anything updated since this time will not be marked as read. If you omit this parameter, all notifications are marked as read. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp. + */ + last_read_at?: string; +}; +declare type ActivityMarkNotificationsAsReadRequestOptions = { + method: "PUT"; + url: "/notifications"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityGetThreadEndpoint = { + /** + * thread_id parameter + */ + thread_id: number; +}; +declare type ActivityGetThreadRequestOptions = { + method: "GET"; + url: "/notifications/threads/:thread_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityGetThreadResponseDataSubject = { + title: string; + url: string; + latest_comment_url: string; + type: string; +}; +declare type ActivityGetThreadResponseDataRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActivityGetThreadResponseDataRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActivityGetThreadResponseDataRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ActivityGetThreadResponseData = { + id: string; + repository: ActivityGetThreadResponseDataRepository; + subject: ActivityGetThreadResponseDataSubject; + reason: string; + unread: boolean; + updated_at: string; + last_read_at: string; + url: string; +}; +declare type ActivityMarkThreadAsReadEndpoint = { + /** + * thread_id parameter + */ + thread_id: number; +}; +declare type ActivityMarkThreadAsReadRequestOptions = { + method: "PATCH"; + url: "/notifications/threads/:thread_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityGetThreadSubscriptionForAuthenticatedUserEndpoint = { + /** + * thread_id parameter + */ + thread_id: number; +}; +declare type ActivityGetThreadSubscriptionForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/notifications/threads/:thread_id/subscription"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityGetThreadSubscriptionForAuthenticatedUserResponseData = { + subscribed: boolean; + ignored: boolean; + reason: null; + created_at: string; + url: string; + thread_url: string; +}; +declare type ActivitySetThreadSubscriptionEndpoint = { + /** + * thread_id parameter + */ + thread_id: number; + /** + * Unsubscribes and subscribes you to a conversation. Set `ignored` to `true` to block all notifications from this thread. + */ + ignored?: boolean; +}; +declare type ActivitySetThreadSubscriptionRequestOptions = { + method: "PUT"; + url: "/notifications/threads/:thread_id/subscription"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivitySetThreadSubscriptionResponseData = { + subscribed: boolean; + ignored: boolean; + reason: null; + created_at: string; + url: string; + thread_url: string; +}; +declare type ActivityDeleteThreadSubscriptionEndpoint = { + /** + * thread_id parameter + */ + thread_id: number; +}; +declare type ActivityDeleteThreadSubscriptionRequestOptions = { + method: "DELETE"; + url: "/notifications/threads/:thread_id/subscription"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListEndpoint = { + /** + * The integer ID of the last organization that you've seen. + */ + since?: number; +}; +declare type OrgsListRequestOptions = { + method: "GET"; + url: "/organizations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListResponseDataItem = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type OrgsListResponseData = Array; +declare type OrgsGetEndpoint = { + /** + * org parameter + */ + org: string; +}; +declare type OrgsGetRequestOptions = { + method: "GET"; + url: "/orgs/:org"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsGetResponseDataPlan = { + name: string; + space: number; + private_repos: number; + filled_seats?: number; + seats?: number; +}; +declare type OrgsGetResponseData = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; + name: string; + company: string; + blog: string; + location: string; + email: string; + is_verified: boolean; + has_organization_projects: boolean; + has_repository_projects: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; + html_url: string; + created_at: string; + type: string; + total_private_repos?: number; + owned_private_repos?: number; + private_gists?: number; + disk_usage?: number; + collaborators?: number; + billing_email?: string; + plan: OrgsGetResponseDataPlan; + default_repository_permission?: string; + members_can_create_repositories?: boolean; + two_factor_requirement_enabled?: boolean; + members_allowed_repository_creation_type?: string; + members_can_create_public_repositories?: boolean; + members_can_create_private_repositories?: boolean; + members_can_create_internal_repositories?: boolean; +}; +declare type OrgsUpdateEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Billing email address. This address is not publicized. + */ + billing_email?: string; + /** + * The company name. + */ + company?: string; + /** + * The publicly visible email address. + */ + email?: string; + /** + * The location. + */ + location?: string; + /** + * The shorthand name of the company. + */ + name?: string; + /** + * The description of the company. + */ + description?: string; + /** + * Toggles whether an organization can use organization projects. + */ + has_organization_projects?: boolean; + /** + * Toggles whether repositories that belong to the organization can use repository projects. + */ + has_repository_projects?: boolean; + /** + * Default permission level members have for organization repositories: + * \* `read` - can pull, but not push to or administer this repository. + * \* `write` - can pull and push, but not administer this repository. + * \* `admin` - can pull, push, and administer this repository. + * \* `none` - no permissions granted by default. + */ + default_repository_permission?: "read" | "write" | "admin" | "none"; + /** + * Toggles the ability of non-admin organization members to create repositories. Can be one of: + * \* `true` - all organization members can create repositories. + * \* `false` - only organization owners can create repositories. + * Default: `true` + * **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details. **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details. + */ + members_can_create_repositories?: boolean; + /** + * Toggles whether organization members can create internal repositories, which are visible to all enterprise members. You can only allow members to create internal repositories if your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. Can be one of: + * \* `true` - all organization members can create internal repositories. + * \* `false` - only organization owners can create internal repositories. + * Default: `true`. For more information, see "[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. + */ + members_can_create_internal_repositories?: boolean; + /** + * Toggles whether organization members can create private repositories, which are visible to organization members with permission. Can be one of: + * \* `true` - all organization members can create private repositories. + * \* `false` - only organization owners can create private repositories. + * Default: `true`. For more information, see "[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. + */ + members_can_create_private_repositories?: boolean; + /** + * Toggles whether organization members can create public repositories, which are visible to anyone. Can be one of: + * \* `true` - all organization members can create public repositories. + * \* `false` - only organization owners can create public repositories. + * Default: `true`. For more information, see "[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. + */ + members_can_create_public_repositories?: boolean; + /** + * Specifies which types of repositories non-admin organization members can create. Can be one of: + * \* `all` - all organization members can create public and private repositories. + * \* `private` - members can create private repositories. This option is only available to repositories that are part of an organization on GitHub Enterprise Cloud. + * \* `none` - only admin members can create repositories. + * **Note:** This parameter is deprecated and will be removed in the future. Its return value ignores internal repositories. Using this parameter overrides values set in `members_can_create_repositories`. See [this note](https://developer.github.com/v3/orgs/#members_can_create_repositories) for details. + */ + members_allowed_repository_creation_type?: "all" | "private" | "none"; +}; +declare type OrgsUpdateRequestOptions = { + method: "PATCH"; + url: "/orgs/:org"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsUpdateResponseDataPlan = { + name: string; + space: number; + private_repos: number; +}; +declare type OrgsUpdateResponseData = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; + name: string; + company: string; + blog: string; + location: string; + email: string; + is_verified: boolean; + has_organization_projects: boolean; + has_repository_projects: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; + html_url: string; + created_at: string; + type: string; + total_private_repos: number; + owned_private_repos: number; + private_gists: number; + disk_usage: number; + collaborators: number; + billing_email: string; + plan: OrgsUpdateResponseDataPlan; + default_repository_permission: string; + members_can_create_repositories: boolean; + two_factor_requirement_enabled: boolean; + members_allowed_repository_creation_type: string; + members_can_create_public_repositories: boolean; + members_can_create_private_repositories: boolean; + members_can_create_internal_repositories: boolean; +}; +declare type ActionsListSelfHostedRunnersForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActionsListSelfHostedRunnersForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/actions/runners"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListSelfHostedRunnersForOrgResponseDataRunnersItem = { + id: number; + name: string; + os: string; + status: string; +}; +declare type ActionsListSelfHostedRunnersForOrgResponseData = { + total_count: number; + runners: Array; +}; +declare type ActionsListRunnerApplicationsForOrgEndpoint = { + /** + * org parameter + */ + org: string; +}; +declare type ActionsListRunnerApplicationsForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/actions/runners/downloads"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListRunnerApplicationsForOrgResponseDataItem = { + os: string; + architecture: string; + download_url: string; + filename: string; +}; +declare type ActionsListRunnerApplicationsForOrgResponseData = Array; +declare type ActionsCreateRegistrationTokenForOrgEndpoint = { + /** + * org parameter + */ + org: string; +}; +declare type ActionsCreateRegistrationTokenForOrgRequestOptions = { + method: "POST"; + url: "/orgs/:org/actions/runners/registration-token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsCreateRegistrationTokenForOrgResponseData = { + token: string; + expires_at: string; +}; +declare type ActionsCreateRemoveTokenForOrgEndpoint = { + /** + * org parameter + */ + org: string; +}; +declare type ActionsCreateRemoveTokenForOrgRequestOptions = { + method: "POST"; + url: "/orgs/:org/actions/runners/remove-token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsCreateRemoveTokenForOrgResponseData = { + token: string; + expires_at: string; +}; +declare type ActionsGetSelfHostedRunnerForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * runner_id parameter + */ + runner_id: number; +}; +declare type ActionsGetSelfHostedRunnerForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/actions/runners/:runner_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsGetSelfHostedRunnerForOrgResponseData = { + id: number; + name: string; + os: string; + status: string; +}; +declare type ActionsDeleteSelfHostedRunnerFromOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * runner_id parameter + */ + runner_id: number; +}; +declare type ActionsDeleteSelfHostedRunnerFromOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/actions/runners/:runner_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListBlockedUsersEndpoint = { + /** + * org parameter + */ + org: string; +}; +declare type OrgsListBlockedUsersRequestOptions = { + method: "GET"; + url: "/orgs/:org/blocks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListBlockedUsersResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsListBlockedUsersResponseData = Array; +declare type OrgsCheckBlockedUserEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsCheckBlockedUserRequestOptions = { + method: "GET"; + url: "/orgs/:org/blocks/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsBlockUserEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsBlockUserRequestOptions = { + method: "PUT"; + url: "/orgs/:org/blocks/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsUnblockUserEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsUnblockUserRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/blocks/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListCredentialAuthorizationsEndpoint = { + /** + * org parameter + */ + org: string; +}; +declare type OrgsListCredentialAuthorizationsRequestOptions = { + method: "GET"; + url: "/orgs/:org/credential-authorizations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListCredentialAuthorizationsResponseDataItem = { + login: string; + credential_id: string; + credential_type: string; + token_last_eight: string; + credential_authorized_at: string; + scopes: Array; +}; +declare type OrgsListCredentialAuthorizationsResponseData = Array; +declare type OrgsRemoveCredentialAuthorizationEndpoint = { + /** + * org parameter + */ + org: string; + /** + * credential_id parameter + */ + credential_id: number; +}; +declare type OrgsRemoveCredentialAuthorizationRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/credential-authorizations/:credential_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListPublicOrgEventsEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListPublicOrgEventsRequestOptions = { + method: "GET"; + url: "/orgs/:org/events"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListHooksEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type OrgsListHooksRequestOptions = { + method: "GET"; + url: "/orgs/:org/hooks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListHooksResponseDataItemConfig = { + url: string; + content_type: string; +}; +declare type OrgsListHooksResponseDataItem = { + id: number; + url: string; + ping_url: string; + name: string; + events: Array; + active: boolean; + config: OrgsListHooksResponseDataItemConfig; + updated_at: string; + created_at: string; +}; +declare type OrgsListHooksResponseData = Array; +declare type OrgsCreateHookEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Must be passed as "web". + */ + name: string; + /** + * Key/value pairs to provide settings for this webhook. [These are defined below](https://developer.github.com/v3/orgs/hooks/#create-hook-config-params). + */ + config: OrgsCreateHookParamsConfig; + /** + * Determines what [events](https://developer.github.com/v3/activity/events/types/) the hook is triggered for. + */ + events?: string[]; + /** + * Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + */ + active?: boolean; +}; +declare type OrgsCreateHookRequestOptions = { + method: "POST"; + url: "/orgs/:org/hooks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsCreateHookResponseDataConfig = { + url: string; + content_type: string; +}; +declare type OrgsCreateHookResponseData = { + id: number; + url: string; + ping_url: string; + name: string; + events: Array; + active: boolean; + config: OrgsCreateHookResponseDataConfig; + updated_at: string; + created_at: string; +}; +declare type OrgsGetHookEndpoint = { + /** + * org parameter + */ + org: string; + /** + * hook_id parameter + */ + hook_id: number; +}; +declare type OrgsGetHookRequestOptions = { + method: "GET"; + url: "/orgs/:org/hooks/:hook_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsGetHookResponseDataConfig = { + url: string; + content_type: string; +}; +declare type OrgsGetHookResponseData = { + id: number; + url: string; + ping_url: string; + name: string; + events: Array; + active: boolean; + config: OrgsGetHookResponseDataConfig; + updated_at: string; + created_at: string; +}; +declare type OrgsUpdateHookEndpoint = { + /** + * org parameter + */ + org: string; + /** + * hook_id parameter + */ + hook_id: number; + /** + * Key/value pairs to provide settings for this webhook. [These are defined below](https://developer.github.com/v3/orgs/hooks/#update-hook-config-params). + */ + config?: OrgsUpdateHookParamsConfig; + /** + * Determines what [events](https://developer.github.com/v3/activity/events/types/) the hook is triggered for. + */ + events?: string[]; + /** + * Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + */ + active?: boolean; +}; +declare type OrgsUpdateHookRequestOptions = { + method: "PATCH"; + url: "/orgs/:org/hooks/:hook_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsUpdateHookResponseDataConfig = { + url: string; + content_type: string; +}; +declare type OrgsUpdateHookResponseData = { + id: number; + url: string; + ping_url: string; + name: string; + events: Array; + active: boolean; + config: OrgsUpdateHookResponseDataConfig; + updated_at: string; + created_at: string; +}; +declare type OrgsDeleteHookEndpoint = { + /** + * org parameter + */ + org: string; + /** + * hook_id parameter + */ + hook_id: number; +}; +declare type OrgsDeleteHookRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/hooks/:hook_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsPingHookEndpoint = { + /** + * org parameter + */ + org: string; + /** + * hook_id parameter + */ + hook_id: number; +}; +declare type OrgsPingHookRequestOptions = { + method: "POST"; + url: "/orgs/:org/hooks/:hook_id/pings"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetOrgInstallationEndpoint = { + /** + * org parameter + */ + org: string; +} & RequiredPreview<"machine-man">; +declare type AppsGetOrgInstallationRequestOptions = { + method: "GET"; + url: "/orgs/:org/installation"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetOrgInstallationResponseDataPermissions = { + checks: string; + metadata: string; + contents: string; +}; +declare type AppsGetOrgInstallationResponseDataAccount = { + login: string; + id: number; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsGetOrgInstallationResponseData = { + id: number; + account: AppsGetOrgInstallationResponseDataAccount; + repository_selection: string; + access_tokens_url: string; + repositories_url: string; + html_url: string; + app_id: number; + target_id: number; + target_type: string; + permissions: AppsGetOrgInstallationResponseDataPermissions; + events: Array; + created_at: string; + updated_at: string; + single_file_name: null; +}; +declare type OrgsListInstallationsEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"machine-man">; +declare type OrgsListInstallationsRequestOptions = { + method: "GET"; + url: "/orgs/:org/installations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListInstallationsResponseDataInstallationsItemPermissions = { + deployments: string; + metadata: string; + pull_requests: string; + statuses: string; +}; +declare type OrgsListInstallationsResponseDataInstallationsItemAccount = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsListInstallationsResponseDataInstallationsItem = { + id: number; + account: OrgsListInstallationsResponseDataInstallationsItemAccount; + repository_selection: string; + access_tokens_url: string; + repositories_url: string; + html_url: string; + app_id: number; + target_id: number; + target_type: string; + permissions: OrgsListInstallationsResponseDataInstallationsItemPermissions; + events: Array; + created_at: string; + updated_at: string; + single_file_name: null; +}; +declare type OrgsListInstallationsResponseData = { + total_count: number; + installations: Array; +}; +declare type InteractionsGetRestrictionsForOrgEndpoint = { + /** + * org parameter + */ + org: string; +} & RequiredPreview<"sombra">; +declare type InteractionsGetRestrictionsForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/interaction-limits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type InteractionsGetRestrictionsForOrgResponseData = { + limit: string; + origin: string; + expires_at: string; +}; +declare type InteractionsAddOrUpdateRestrictionsForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Specifies the group of GitHub users who can comment, open issues, or create pull requests in public repositories for the given organization. Must be one of: `existing_users`, `contributors_only`, or `collaborators_only`. + */ + limit: "existing_users" | "contributors_only" | "collaborators_only"; +} & RequiredPreview<"sombra">; +declare type InteractionsAddOrUpdateRestrictionsForOrgRequestOptions = { + method: "PUT"; + url: "/orgs/:org/interaction-limits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type InteractionsAddOrUpdateRestrictionsForOrgResponseData = { + limit: string; + origin: string; + expires_at: string; +}; +declare type InteractionsRemoveRestrictionsForOrgEndpoint = { + /** + * org parameter + */ + org: string; +} & RequiredPreview<"sombra">; +declare type InteractionsRemoveRestrictionsForOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/interaction-limits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListPendingInvitationsEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type OrgsListPendingInvitationsRequestOptions = { + method: "GET"; + url: "/orgs/:org/invitations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListPendingInvitationsResponseDataItemInviter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsListPendingInvitationsResponseDataItem = { + id: number; + login: string; + email: string; + role: string; + created_at: string; + inviter: OrgsListPendingInvitationsResponseDataItemInviter; + team_count: number; + invitation_team_url: string; +}; +declare type OrgsListPendingInvitationsResponseData = Array; +declare type OrgsCreateInvitationEndpoint = { + /** + * org parameter + */ + org: string; + /** + * **Required unless you provide `email`**. GitHub user ID for the person you are inviting. + */ + invitee_id?: number; + /** + * **Required unless you provide `invitee_id`**. Email address of the person you are inviting, which can be an existing GitHub user. + */ + email?: string; + /** + * Specify role for new member. Can be one of: + * \* `admin` - Organization owners with full administrative rights to the organization and complete access to all repositories and teams. + * \* `direct_member` - Non-owner organization members with ability to see other members and join teams by invitation. + * \* `billing_manager` - Non-owner organization members with ability to manage the billing settings of your organization. + */ + role?: "admin" | "direct_member" | "billing_manager"; + /** + * Specify IDs for the teams you want to invite new members to. + */ + team_ids?: number[]; +}; +declare type OrgsCreateInvitationRequestOptions = { + method: "POST"; + url: "/orgs/:org/invitations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsCreateInvitationResponseDataInviter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsCreateInvitationResponseData = { + id: number; + login: string; + email: string; + role: string; + created_at: string; + inviter: OrgsCreateInvitationResponseDataInviter; + team_count: number; + invitation_team_url: string; +}; +declare type OrgsListInvitationTeamsEndpoint = { + /** + * org parameter + */ + org: string; + /** + * invitation_id parameter + */ + invitation_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type OrgsListInvitationTeamsRequestOptions = { + method: "GET"; + url: "/orgs/:org/invitations/:invitation_id/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListInvitationTeamsResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type OrgsListInvitationTeamsResponseData = Array; +declare type IssuesListForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Indicates which sorts of issues to return. Can be one of: + * \* `assigned`: Issues assigned to you + * \* `created`: Issues created by you + * \* `mentioned`: Issues mentioning you + * \* `subscribed`: Issues you're subscribed to updates for + * \* `all`: All issues the authenticated user can see, regardless of participation or creation + */ + filter?: "assigned" | "created" | "mentioned" | "subscribed" | "all"; + /** + * Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + /** + * A list of comma separated label names. Example: `bug,ui,@high` + */ + labels?: string; + /** + * What to sort results by. Can be either `created`, `updated`, `comments`. + */ + sort?: "created" | "updated" | "comments"; + /** + * The direction of the sort. Can be either `asc` or `desc`. + */ + direction?: "asc" | "desc"; + /** + * Only issues updated at or after this time are returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type IssuesListForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/issues"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListForOrgResponseDataItemRepositoryPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type IssuesListForOrgResponseDataItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForOrgResponseDataItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: IssuesListForOrgResponseDataItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: IssuesListForOrgResponseDataItemRepositoryPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type IssuesListForOrgResponseDataItemPullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesListForOrgResponseDataItemMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForOrgResponseDataItemMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesListForOrgResponseDataItemMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesListForOrgResponseDataItemAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForOrgResponseDataItemAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForOrgResponseDataItemLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesListForOrgResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForOrgResponseDataItem = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesListForOrgResponseDataItemUser; + labels: Array; + assignee: IssuesListForOrgResponseDataItemAssignee; + assignees: Array; + milestone: IssuesListForOrgResponseDataItemMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesListForOrgResponseDataItemPullRequest; + closed_at: null; + created_at: string; + updated_at: string; + repository: IssuesListForOrgResponseDataItemRepository; +}; +declare type IssuesListForOrgResponseData = Array; +declare type OrgsListMembersEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Filter members returned in the list. Can be one of: + * \* `2fa_disabled` - Members without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled. Available for organization owners. + * \* `all` - All members the authenticated user can see. + */ + filter?: "2fa_disabled" | "all"; + /** + * Filter members returned by their role. Can be one of: + * \* `all` - All members of the organization, regardless of role. + * \* `admin` - Organization owners. + * \* `member` - Non-owner organization members. + */ + role?: "all" | "admin" | "member"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type OrgsListMembersRequestOptions = { + method: "GET"; + url: "/orgs/:org/members"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListMembersResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsListMembersResponseData = Array; +declare type OrgsCheckMembershipEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsCheckMembershipRequestOptions = { + method: "GET"; + url: "/orgs/:org/members/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsRemoveMemberEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsRemoveMemberRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/members/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsGetMembershipEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsGetMembershipRequestOptions = { + method: "GET"; + url: "/orgs/:org/memberships/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsGetMembershipResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsGetMembershipResponseDataOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type OrgsGetMembershipResponseData = { + url: string; + state: string; + role: string; + organization_url: string; + organization: OrgsGetMembershipResponseDataOrganization; + user: OrgsGetMembershipResponseDataUser; +}; +declare type OrgsAddOrUpdateMembershipEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; + /** + * The role to give the user in the organization. Can be one of: + * \* `admin` - The user will become an owner of the organization. + * \* `member` - The user will become a non-owner member of the organization. + */ + role?: "admin" | "member"; +}; +declare type OrgsAddOrUpdateMembershipRequestOptions = { + method: "PUT"; + url: "/orgs/:org/memberships/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsAddOrUpdateMembershipResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsAddOrUpdateMembershipResponseDataOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type OrgsAddOrUpdateMembershipResponseData = { + url: string; + state: string; + role: string; + organization_url: string; + organization: OrgsAddOrUpdateMembershipResponseDataOrganization; + user: OrgsAddOrUpdateMembershipResponseDataUser; +}; +declare type OrgsRemoveMembershipEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsRemoveMembershipRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/memberships/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsStartForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * A list of arrays indicating which repositories should be migrated. + */ + repositories: string[]; + /** + * Indicates whether repositories should be locked (to prevent manipulation) while migrating data. + */ + lock_repositories?: boolean; + /** + * Indicates whether attachments should be excluded from the migration (to reduce migration archive file size). + */ + exclude_attachments?: boolean; +}; +declare type MigrationsStartForOrgRequestOptions = { + method: "POST"; + url: "/orgs/:org/migrations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsStartForOrgResponseDataRepositoriesItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type MigrationsStartForOrgResponseDataRepositoriesItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsStartForOrgResponseDataRepositoriesItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: MigrationsStartForOrgResponseDataRepositoriesItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: MigrationsStartForOrgResponseDataRepositoriesItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type MigrationsStartForOrgResponseDataOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type MigrationsStartForOrgResponseData = { + id: number; + owner: MigrationsStartForOrgResponseDataOwner; + guid: string; + state: string; + lock_repositories: boolean; + exclude_attachments: boolean; + repositories: Array; + url: string; + created_at: string; + updated_at: string; +}; +declare type MigrationsListForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsListForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/migrations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsListForOrgResponseDataItemRepositoriesItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type MigrationsListForOrgResponseDataItemRepositoriesItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsListForOrgResponseDataItemRepositoriesItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: MigrationsListForOrgResponseDataItemRepositoriesItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: MigrationsListForOrgResponseDataItemRepositoriesItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type MigrationsListForOrgResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type MigrationsListForOrgResponseDataItem = { + id: number; + owner: MigrationsListForOrgResponseDataItemOwner; + guid: string; + state: string; + lock_repositories: boolean; + exclude_attachments: boolean; + repositories: Array; + url: string; + created_at: string; + updated_at: string; +}; +declare type MigrationsListForOrgResponseData = Array; +declare type MigrationsGetStatusForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * migration_id parameter + */ + migration_id: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsGetStatusForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/migrations/:migration_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsGetStatusForOrgResponseDataRepositoriesItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type MigrationsGetStatusForOrgResponseDataRepositoriesItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsGetStatusForOrgResponseDataRepositoriesItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: MigrationsGetStatusForOrgResponseDataRepositoriesItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: MigrationsGetStatusForOrgResponseDataRepositoriesItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type MigrationsGetStatusForOrgResponseDataOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type MigrationsGetStatusForOrgResponseData = { + id: number; + owner: MigrationsGetStatusForOrgResponseDataOwner; + guid: string; + state: string; + lock_repositories: boolean; + exclude_attachments: boolean; + repositories: Array; + url: string; + created_at: string; + updated_at: string; +}; +declare type MigrationsDownloadArchiveForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * migration_id parameter + */ + migration_id: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsDownloadArchiveForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/migrations/:migration_id/archive"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsDeleteArchiveForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * migration_id parameter + */ + migration_id: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsDeleteArchiveForOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/migrations/:migration_id/archive"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsUnlockRepoForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * migration_id parameter + */ + migration_id: number; + /** + * repo_name parameter + */ + repo_name: string; +} & RequiredPreview<"wyandotte">; +declare type MigrationsUnlockRepoForOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/migrations/:migration_id/repos/:repo_name/lock"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsListReposForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * migration_id parameter + */ + migration_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsListReposForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/migrations/:migration_id/repositories"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsListReposForOrgResponseDataItemLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type MigrationsListReposForOrgResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type MigrationsListReposForOrgResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsListReposForOrgResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: MigrationsListReposForOrgResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: MigrationsListReposForOrgResponseDataItemPermissions; + template_repository: null; + temp_clone_token: string; + subscribers_count: number; + network_count: number; + license: MigrationsListReposForOrgResponseDataItemLicense; +}; +declare type MigrationsListReposForOrgResponseData = Array; +declare type OrgsListOutsideCollaboratorsEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Filter the list of outside collaborators. Can be one of: + * \* `2fa_disabled`: Outside collaborators without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled. + * \* `all`: All outside collaborators. + */ + filter?: "2fa_disabled" | "all"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type OrgsListOutsideCollaboratorsRequestOptions = { + method: "GET"; + url: "/orgs/:org/outside_collaborators"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListOutsideCollaboratorsResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsListOutsideCollaboratorsResponseData = Array; +declare type OrgsRemoveOutsideCollaboratorEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsRemoveOutsideCollaboratorRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/outside_collaborators/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsRemoveOutsideCollaboratorResponseData = { + message: string; + documentation_url: string; +}; +declare type OrgsConvertMemberToOutsideCollaboratorEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsConvertMemberToOutsideCollaboratorRequestOptions = { + method: "PUT"; + url: "/orgs/:org/outside_collaborators/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsConvertMemberToOutsideCollaboratorResponseData = { + message: string; + documentation_url: string; +}; +declare type ProjectsListForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"inertia">; +declare type ProjectsListForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/projects"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsListForOrgResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsListForOrgResponseDataItem = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: ProjectsListForOrgResponseDataItemCreator; + created_at: string; + updated_at: string; +}; +declare type ProjectsListForOrgResponseData = Array; +declare type ProjectsCreateForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * The name of the project. + */ + name: string; + /** + * The description of the project. + */ + body?: string; +} & RequiredPreview<"inertia">; +declare type ProjectsCreateForOrgRequestOptions = { + method: "POST"; + url: "/orgs/:org/projects"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsCreateForOrgResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsCreateForOrgResponseData = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: ProjectsCreateForOrgResponseDataCreator; + created_at: string; + updated_at: string; +}; +declare type OrgsListPublicMembersEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type OrgsListPublicMembersRequestOptions = { + method: "GET"; + url: "/orgs/:org/public_members"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListPublicMembersResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsListPublicMembersResponseData = Array; +declare type OrgsCheckPublicMembershipEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsCheckPublicMembershipRequestOptions = { + method: "GET"; + url: "/orgs/:org/public_members/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsPublicizeMembershipEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsPublicizeMembershipRequestOptions = { + method: "PUT"; + url: "/orgs/:org/public_members/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsConcealMembershipEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsConcealMembershipRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/public_members/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Specifies the types of repositories you want returned. Can be one of `all`, `public`, `private`, `forks`, `sources`, `member`, `internal`. Default: `all`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `type` can also be `internal`. + */ + type?: "all" | "public" | "private" | "forks" | "sources" | "member" | "internal"; + /** + * Can be one of `created`, `updated`, `pushed`, `full_name`. + */ + sort?: "created" | "updated" | "pushed" | "full_name"; + /** + * Can be one of `asc` or `desc`. Default: when using `full_name`: `asc`, otherwise `desc` + */ + direction?: "asc" | "desc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/repos"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListForOrgResponseDataItemLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type ReposListForOrgResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposListForOrgResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListForOrgResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposListForOrgResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposListForOrgResponseDataItemPermissions; + template_repository: null; + temp_clone_token: string; + subscribers_count: number; + network_count: number; + license: ReposListForOrgResponseDataItemLicense; +}; +declare type ReposListForOrgResponseData = Array; +declare type ReposCreateInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * The name of the repository. + */ + name: string; + /** + * A short description of the repository. + */ + description?: string; + /** + * A URL with more information about the repository. + */ + homepage?: string; + /** + * Either `true` to create a private repository or `false` to create a public one. + */ + private?: boolean; + /** + * Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `visibility` can also be `internal`. For more information, see "[Creating an internal repository](https://help.github.com/en/github/creating-cloning-and-archiving-repositories/about-repository-visibility#about-internal-repositories)" in the GitHub Help documentation. + * The `visibility` parameter overrides the `private` parameter when you use both parameters with the `nebula-preview` preview header. + */ + visibility?: "public" | "private" | "visibility" | "internal"; + /** + * Either `true` to enable issues for this repository or `false` to disable them. + */ + has_issues?: boolean; + /** + * Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error. + */ + has_projects?: boolean; + /** + * Either `true` to enable the wiki for this repository or `false` to disable it. + */ + has_wiki?: boolean; + /** + * Either `true` to make this repo available as a template repository or `false` to prevent it. + */ + is_template?: boolean; + /** + * The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization. + */ + team_id?: number; + /** + * Pass `true` to create an initial commit with empty README. + */ + auto_init?: boolean; + /** + * Desired language or platform [.gitignore template](https://github.com/github/gitignore) to apply. Use the name of the template without the extension. For example, "Haskell". + */ + gitignore_template?: string; + /** + * Choose an [open source license template](https://choosealicense.com/) that best suits your needs, and then use the [license keyword](https://help.github.com/articles/licensing-a-repository/#searching-github-by-license-type) as the `license_template` string. For example, "mit" or "mpl-2.0". + */ + license_template?: string; + /** + * Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. + */ + allow_squash_merge?: boolean; + /** + * Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. + */ + allow_merge_commit?: boolean; + /** + * Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. + */ + allow_rebase_merge?: boolean; + /** + * Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. + */ + delete_branch_on_merge?: boolean; +}; +declare type ReposCreateInOrgRequestOptions = { + method: "POST"; + url: "/orgs/:org/repos"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateInOrgResponseDataPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposCreateInOrgResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateInOrgResponseData = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposCreateInOrgResponseDataOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposCreateInOrgResponseDataPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type TeamsListIdPGroupsForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListIdPGroupsForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/team-sync/groups"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListIdPGroupsForOrgResponseDataGroupsItem = { + group_id: string; + group_name: string; + group_description: string; +}; +declare type TeamsListIdPGroupsForOrgResponseData = { + groups: Array; +}; +declare type TeamsListEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type TeamsListResponseData = Array; +declare type TeamsCreateEndpoint = { + /** + * org parameter + */ + org: string; + /** + * The name of the team. + */ + name: string; + /** + * The description of the team. + */ + description?: string; + /** + * List GitHub IDs for organization members who will become team maintainers. + */ + maintainers?: string[]; + /** + * The full name (e.g., "organization-name/repository-name") of repositories to add the team to. + */ + repo_names?: string[]; + /** + * The level of privacy this team should have. The options are: + * **For a non-nested team:** + * \* `secret` - only visible to organization owners and members of this team. + * \* `closed` - visible to all members of this organization. + * Default: `secret` + * **For a parent or child team:** + * \* `closed` - visible to all members of this organization. + * Default for child team: `closed` + */ + privacy?: "secret" | "closed"; + /** + * **Deprecated**. The permission that new repositories will be added to the team with when none is specified. Can be one of: + * \* `pull` - team members can pull, but not push to or administer newly-added repositories. + * \* `push` - team members can pull and push, but not administer newly-added repositories. + * \* `admin` - team members can pull, push and administer newly-added repositories. + */ + permission?: "pull" | "push" | "admin"; + /** + * The ID of a team to set as the parent team. + */ + parent_team_id?: number; +}; +declare type TeamsCreateRequestOptions = { + method: "POST"; + url: "/orgs/:org/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsCreateResponseDataOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; + name: string; + company: string; + blog: string; + location: string; + email: string; + is_verified: boolean; + has_organization_projects: boolean; + has_repository_projects: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; + html_url: string; + created_at: string; + type: string; +}; +declare type TeamsCreateResponseData = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; + members_count: number; + repos_count: number; + created_at: string; + updated_at: string; + organization: TeamsCreateResponseDataOrganization; +}; +declare type TeamsGetByNameEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; +}; +declare type TeamsGetByNameRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsGetByNameResponseDataOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; + name: string; + company: string; + blog: string; + location: string; + email: string; + is_verified: boolean; + has_organization_projects: boolean; + has_repository_projects: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; + html_url: string; + created_at: string; + type: string; +}; +declare type TeamsGetByNameResponseData = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; + members_count: number; + repos_count: number; + created_at: string; + updated_at: string; + organization: TeamsGetByNameResponseDataOrganization; +}; +declare type TeamsUpdateInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * The name of the team. + */ + name: string; + /** + * The description of the team. + */ + description?: string; + /** + * The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. When a team is nested, the `privacy` for parent teams cannot be `secret`. The options are: + * **For a non-nested team:** + * \* `secret` - only visible to organization owners and members of this team. + * \* `closed` - visible to all members of this organization. + * **For a parent or child team:** + * \* `closed` - visible to all members of this organization. + */ + privacy?: "secret" | "closed"; + /** + * **Deprecated**. The permission that new repositories will be added to the team with when none is specified. Can be one of: + * \* `pull` - team members can pull, but not push to or administer newly-added repositories. + * \* `push` - team members can pull and push, but not administer newly-added repositories. + * \* `admin` - team members can pull, push and administer newly-added repositories. + */ + permission?: "pull" | "push" | "admin"; + /** + * The ID of a team to set as the parent team. + */ + parent_team_id?: number; +}; +declare type TeamsUpdateInOrgRequestOptions = { + method: "PATCH"; + url: "/orgs/:org/teams/:team_slug"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsUpdateInOrgResponseDataOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; + name: string; + company: string; + blog: string; + location: string; + email: string; + is_verified: boolean; + has_organization_projects: boolean; + has_repository_projects: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; + html_url: string; + created_at: string; + type: string; +}; +declare type TeamsUpdateInOrgResponseData = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; + members_count: number; + repos_count: number; + created_at: string; + updated_at: string; + organization: TeamsUpdateInOrgResponseDataOrganization; +}; +declare type TeamsDeleteInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; +}; +declare type TeamsDeleteInOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/teams/:team_slug"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListDiscussionsInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * Sorts the discussion comments by the date they were created. To return the oldest comments first, set to `asc`. Can be one of `asc` or `desc`. + */ + direction?: "asc" | "desc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListDiscussionsInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/discussions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListDiscussionsInOrgResponseDataItemReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsListDiscussionsInOrgResponseDataItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListDiscussionsInOrgResponseDataItem = { + author: TeamsListDiscussionsInOrgResponseDataItemAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + last_edited_at: null; + html_url: string; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + team_url: string; + title: string; + updated_at: string; + url: string; + reactions: TeamsListDiscussionsInOrgResponseDataItemReactions; +}; +declare type TeamsListDiscussionsInOrgResponseData = Array; +declare type TeamsCreateDiscussionInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * The discussion post's title. + */ + title: string; + /** + * The discussion post's body text. + */ + body: string; + /** + * Private posts are only visible to team members, organization owners, and team maintainers. Public posts are visible to all members of the organization. Set to `true` to create a private post. + */ + private?: boolean; +}; +declare type TeamsCreateDiscussionInOrgRequestOptions = { + method: "POST"; + url: "/orgs/:org/teams/:team_slug/discussions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsCreateDiscussionInOrgResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsCreateDiscussionInOrgResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCreateDiscussionInOrgResponseData = { + author: TeamsCreateDiscussionInOrgResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + last_edited_at: null; + html_url: string; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + team_url: string; + title: string; + updated_at: string; + url: string; + reactions: TeamsCreateDiscussionInOrgResponseDataReactions; +}; +declare type TeamsGetDiscussionInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; +}; +declare type TeamsGetDiscussionInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsGetDiscussionInOrgResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsGetDiscussionInOrgResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsGetDiscussionInOrgResponseData = { + author: TeamsGetDiscussionInOrgResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + last_edited_at: null; + html_url: string; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + team_url: string; + title: string; + updated_at: string; + url: string; + reactions: TeamsGetDiscussionInOrgResponseDataReactions; +}; +declare type TeamsUpdateDiscussionInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * The discussion post's title. + */ + title?: string; + /** + * The discussion post's body text. + */ + body?: string; +}; +declare type TeamsUpdateDiscussionInOrgRequestOptions = { + method: "PATCH"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsUpdateDiscussionInOrgResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsUpdateDiscussionInOrgResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsUpdateDiscussionInOrgResponseData = { + author: TeamsUpdateDiscussionInOrgResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + last_edited_at: string; + html_url: string; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + team_url: string; + title: string; + updated_at: string; + url: string; + reactions: TeamsUpdateDiscussionInOrgResponseDataReactions; +}; +declare type TeamsDeleteDiscussionInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; +}; +declare type TeamsDeleteDiscussionInOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListDiscussionCommentsInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * Sorts the discussion comments by the date they were created. To return the oldest comments first, set to `asc`. Can be one of `asc` or `desc`. + */ + direction?: "asc" | "desc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListDiscussionCommentsInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListDiscussionCommentsInOrgResponseDataItemReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsListDiscussionCommentsInOrgResponseDataItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListDiscussionCommentsInOrgResponseDataItem = { + author: TeamsListDiscussionCommentsInOrgResponseDataItemAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + last_edited_at: null; + discussion_url: string; + html_url: string; + node_id: string; + number: number; + updated_at: string; + url: string; + reactions: TeamsListDiscussionCommentsInOrgResponseDataItemReactions; +}; +declare type TeamsListDiscussionCommentsInOrgResponseData = Array; +declare type TeamsCreateDiscussionCommentInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * The discussion comment's body text. + */ + body: string; +}; +declare type TeamsCreateDiscussionCommentInOrgRequestOptions = { + method: "POST"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsCreateDiscussionCommentInOrgResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsCreateDiscussionCommentInOrgResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCreateDiscussionCommentInOrgResponseData = { + author: TeamsCreateDiscussionCommentInOrgResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + last_edited_at: null; + discussion_url: string; + html_url: string; + node_id: string; + number: number; + updated_at: string; + url: string; + reactions: TeamsCreateDiscussionCommentInOrgResponseDataReactions; +}; +declare type TeamsGetDiscussionCommentInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; +}; +declare type TeamsGetDiscussionCommentInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsGetDiscussionCommentInOrgResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsGetDiscussionCommentInOrgResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsGetDiscussionCommentInOrgResponseData = { + author: TeamsGetDiscussionCommentInOrgResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + last_edited_at: null; + discussion_url: string; + html_url: string; + node_id: string; + number: number; + updated_at: string; + url: string; + reactions: TeamsGetDiscussionCommentInOrgResponseDataReactions; +}; +declare type TeamsUpdateDiscussionCommentInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; + /** + * The discussion comment's body text. + */ + body: string; +}; +declare type TeamsUpdateDiscussionCommentInOrgRequestOptions = { + method: "PATCH"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsUpdateDiscussionCommentInOrgResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsUpdateDiscussionCommentInOrgResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsUpdateDiscussionCommentInOrgResponseData = { + author: TeamsUpdateDiscussionCommentInOrgResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + last_edited_at: string; + discussion_url: string; + html_url: string; + node_id: string; + number: number; + updated_at: string; + url: string; + reactions: TeamsUpdateDiscussionCommentInOrgResponseDataReactions; +}; +declare type TeamsDeleteDiscussionCommentInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; +}; +declare type TeamsDeleteDiscussionCommentInOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForTeamDiscussionCommentInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to a team discussion comment. + */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsListForTeamDiscussionCommentInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForTeamDiscussionCommentInOrgResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsListForTeamDiscussionCommentInOrgResponseDataItem = { + id: number; + node_id: string; + user: ReactionsListForTeamDiscussionCommentInOrgResponseDataItemUser; + content: string; + created_at: string; +}; +declare type ReactionsListForTeamDiscussionCommentInOrgResponseData = Array; +declare type ReactionsCreateForTeamDiscussionCommentInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the team discussion comment. + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsCreateForTeamDiscussionCommentInOrgRequestOptions = { + method: "POST"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsCreateForTeamDiscussionCommentInOrgResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsCreateForTeamDiscussionCommentInOrgResponseData = { + id: number; + node_id: string; + user: ReactionsCreateForTeamDiscussionCommentInOrgResponseDataUser; + content: string; + created_at: string; +}; +declare type ReactionsDeleteForTeamDiscussionCommentEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; + /** + * reaction_id parameter + */ + reaction_id: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsDeleteForTeamDiscussionCommentRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForTeamDiscussionInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to a team discussion. + */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsListForTeamDiscussionInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForTeamDiscussionInOrgResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsListForTeamDiscussionInOrgResponseDataItem = { + id: number; + node_id: string; + user: ReactionsListForTeamDiscussionInOrgResponseDataItemUser; + content: string; + created_at: string; +}; +declare type ReactionsListForTeamDiscussionInOrgResponseData = Array; +declare type ReactionsCreateForTeamDiscussionInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the team discussion. + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsCreateForTeamDiscussionInOrgRequestOptions = { + method: "POST"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsCreateForTeamDiscussionInOrgResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsCreateForTeamDiscussionInOrgResponseData = { + id: number; + node_id: string; + user: ReactionsCreateForTeamDiscussionInOrgResponseDataUser; + content: string; + created_at: string; +}; +declare type ReactionsDeleteForTeamDiscussionEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * reaction_id parameter + */ + reaction_id: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsDeleteForTeamDiscussionRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions/:reaction_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListPendingInvitationsInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListPendingInvitationsInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/invitations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListPendingInvitationsInOrgResponseDataItemInviter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListPendingInvitationsInOrgResponseDataItem = { + id: number; + login: string; + email: string; + role: string; + created_at: string; + inviter: TeamsListPendingInvitationsInOrgResponseDataItemInviter; + team_count: number; + invitation_team_url: string; +}; +declare type TeamsListPendingInvitationsInOrgResponseData = Array; +declare type TeamsListMembersInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * Filters members returned by their role in the team. Can be one of: + * \* `member` - normal members of the team. + * \* `maintainer` - team maintainers. + * \* `all` - all members of the team. + */ + role?: "member" | "maintainer" | "all"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListMembersInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/members"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListMembersInOrgResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListMembersInOrgResponseData = Array; +declare type TeamsGetMembershipInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * username parameter + */ + username: string; +}; +declare type TeamsGetMembershipInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/memberships/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsGetMembershipInOrgResponseData = { + url: string; + role: string; + state: string; +}; +declare type TeamsAddOrUpdateMembershipInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * username parameter + */ + username: string; + /** + * The role that this user should have in the team. Can be one of: + * \* `member` - a normal member of the team. + * \* `maintainer` - a team maintainer. Able to add/remove other team members, promote other team members to team maintainer, and edit the team's name and description. + */ + role?: "member" | "maintainer"; +}; +declare type TeamsAddOrUpdateMembershipInOrgRequestOptions = { + method: "PUT"; + url: "/orgs/:org/teams/:team_slug/memberships/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsAddOrUpdateMembershipInOrgResponseData = { + url: string; + role: string; + state: string; +}; +declare type TeamsRemoveMembershipInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * username parameter + */ + username: string; +}; +declare type TeamsRemoveMembershipInOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/teams/:team_slug/memberships/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListProjectsInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"inertia">; +declare type TeamsListProjectsInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/projects"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListProjectsInOrgResponseDataItemPermissions = { + read: boolean; + write: boolean; + admin: boolean; +}; +declare type TeamsListProjectsInOrgResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListProjectsInOrgResponseDataItem = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: TeamsListProjectsInOrgResponseDataItemCreator; + created_at: string; + updated_at: string; + organization_permission: string; + private: boolean; + permissions: TeamsListProjectsInOrgResponseDataItemPermissions; +}; +declare type TeamsListProjectsInOrgResponseData = Array; +declare type TeamsReviewProjectInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * project_id parameter + */ + project_id: number; +} & RequiredPreview<"inertia">; +declare type TeamsReviewProjectInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/projects/:project_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsReviewProjectInOrgResponseDataPermissions = { + read: boolean; + write: boolean; + admin: boolean; +}; +declare type TeamsReviewProjectInOrgResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsReviewProjectInOrgResponseData = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: TeamsReviewProjectInOrgResponseDataCreator; + created_at: string; + updated_at: string; + organization_permission: string; + private: boolean; + permissions: TeamsReviewProjectInOrgResponseDataPermissions; +}; +declare type TeamsAddOrUpdateProjectInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * project_id parameter + */ + project_id: number; + /** + * The permission to grant to the team for this project. Can be one of: + * \* `read` - team members can read, but not write to or administer this project. + * \* `write` - team members can read and write, but not administer this project. + * \* `admin` - team members can read, write and administer this project. + * Default: the team's `permission` attribute will be used to determine what permission to grant the team on this project. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://developer.github.com/v3/#http-verbs)." + */ + permission?: "read" | "write" | "admin"; +} & RequiredPreview<"inertia">; +declare type TeamsAddOrUpdateProjectInOrgRequestOptions = { + method: "PUT"; + url: "/orgs/:org/teams/:team_slug/projects/:project_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsAddOrUpdateProjectInOrgResponseData = { + message: string; + documentation_url: string; +}; +declare type TeamsRemoveProjectInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * project_id parameter + */ + project_id: number; +}; +declare type TeamsRemoveProjectInOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/teams/:team_slug/projects/:project_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListReposInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListReposInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/repos"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListReposInOrgResponseDataItemLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type TeamsListReposInOrgResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type TeamsListReposInOrgResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListReposInOrgResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: TeamsListReposInOrgResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: TeamsListReposInOrgResponseDataItemPermissions; + template_repository: null; + temp_clone_token: string; + subscribers_count: number; + network_count: number; + license: TeamsListReposInOrgResponseDataItemLicense; +}; +declare type TeamsListReposInOrgResponseData = Array; +declare type TeamsCheckManagesRepoInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type TeamsCheckManagesRepoInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/repos/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsCheckManagesRepoInOrgResponseDataPermissions = { + pull: boolean; + triage: boolean; + push: boolean; + maintain: boolean; + admin: boolean; +}; +declare type TeamsCheckManagesRepoInOrgResponseDataSourcePermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type TeamsCheckManagesRepoInOrgResponseDataSourceOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCheckManagesRepoInOrgResponseDataSource = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: TeamsCheckManagesRepoInOrgResponseDataSourceOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: TeamsCheckManagesRepoInOrgResponseDataSourcePermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type TeamsCheckManagesRepoInOrgResponseDataParentPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type TeamsCheckManagesRepoInOrgResponseDataParentOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCheckManagesRepoInOrgResponseDataParent = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: TeamsCheckManagesRepoInOrgResponseDataParentOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: TeamsCheckManagesRepoInOrgResponseDataParentPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type TeamsCheckManagesRepoInOrgResponseDataOrganization = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCheckManagesRepoInOrgResponseData = { + organization: TeamsCheckManagesRepoInOrgResponseDataOrganization; + parent: TeamsCheckManagesRepoInOrgResponseDataParent; + source: TeamsCheckManagesRepoInOrgResponseDataSource; + permissions: TeamsCheckManagesRepoInOrgResponseDataPermissions; +}; +declare type TeamsAddOrUpdateRepoInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The permission to grant the team on this repository. Can be one of: + * \* `pull` - team members can pull, but not push to or administer this repository. + * \* `push` - team members can pull and push, but not administer this repository. + * \* `admin` - team members can pull, push and administer this repository. + * \* `maintain` - team members can manage the repository without access to sensitive or destructive actions. Recommended for project managers. Only applies to repositories owned by organizations. + * \* `triage` - team members can proactively manage issues and pull requests without write access. Recommended for contributors who triage a repository. Only applies to repositories owned by organizations. + * + * If no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository. + */ + permission?: "pull" | "push" | "admin" | "maintain" | "triage"; +}; +declare type TeamsAddOrUpdateRepoInOrgRequestOptions = { + method: "PUT"; + url: "/orgs/:org/teams/:team_slug/repos/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsRemoveRepoInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type TeamsRemoveRepoInOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/teams/:team_slug/repos/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListIdPGroupsInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; +}; +declare type TeamsListIdPGroupsInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/team-sync/group-mappings"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListIdPGroupsInOrgResponseDataGroupsItem = { + group_id: string; + group_name: string; + group_description: string; +}; +declare type TeamsListIdPGroupsInOrgResponseData = { + groups: Array; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * The IdP groups you want to connect to a GitHub team. When updating, the new `groups` object will replace the original one. You must include any existing groups that you don't want to remove. + */ + groups: TeamsCreateOrUpdateIdPGroupConnectionsInOrgParamsGroups[]; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsInOrgRequestOptions = { + method: "PATCH"; + url: "/orgs/:org/teams/:team_slug/team-sync/group-mappings"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsInOrgResponseDataGroups = { + group_id: string; + group_name: string; + group_description: string; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsInOrgResponseData = { + groups: TeamsCreateOrUpdateIdPGroupConnectionsInOrgResponseDataGroups; +}; +declare type TeamsListChildInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListChildInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListChildInOrgResponseDataItemParent = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; +}; +declare type TeamsListChildInOrgResponseDataItem = { + id: number; + node_id: string; + url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: TeamsListChildInOrgResponseDataItemParent; +}; +declare type TeamsListChildInOrgResponseData = Array; +declare type ProjectsGetCardEndpoint = { + /** + * card_id parameter + */ + card_id: number; +} & RequiredPreview<"inertia">; +declare type ProjectsGetCardRequestOptions = { + method: "GET"; + url: "/projects/columns/cards/:card_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsGetCardResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsGetCardResponseData = { + url: string; + id: number; + node_id: string; + note: string; + creator: ProjectsGetCardResponseDataCreator; + created_at: string; + updated_at: string; + archived: boolean; + column_url: string; + content_url: string; + project_url: string; +}; +declare type ProjectsUpdateCardEndpoint = { + /** + * card_id parameter + */ + card_id: number; + /** + * The card's note content. Only valid for cards without another type of content, so this cannot be specified if the card already has a `content_id` and `content_type`. + */ + note?: string; + /** + * Use `true` to archive a project card. Specify `false` if you need to restore a previously archived project card. + */ + archived?: boolean; +} & RequiredPreview<"inertia">; +declare type ProjectsUpdateCardRequestOptions = { + method: "PATCH"; + url: "/projects/columns/cards/:card_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsUpdateCardResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsUpdateCardResponseData = { + url: string; + id: number; + node_id: string; + note: string; + creator: ProjectsUpdateCardResponseDataCreator; + created_at: string; + updated_at: string; + archived: boolean; + column_url: string; + content_url: string; + project_url: string; +}; +declare type ProjectsDeleteCardEndpoint = { + /** + * card_id parameter + */ + card_id: number; +} & RequiredPreview<"inertia">; +declare type ProjectsDeleteCardRequestOptions = { + method: "DELETE"; + url: "/projects/columns/cards/:card_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsMoveCardEndpoint = { + /** + * card_id parameter + */ + card_id: number; + /** + * Can be one of `top`, `bottom`, or `after:`, where `` is the `id` value of a card in the same column, or in the new column specified by `column_id`. + */ + position: string; + /** + * The `id` value of a column in the same project. + */ + column_id?: number; +} & RequiredPreview<"inertia">; +declare type ProjectsMoveCardRequestOptions = { + method: "POST"; + url: "/projects/columns/cards/:card_id/moves"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsGetColumnEndpoint = { + /** + * column_id parameter + */ + column_id: number; +} & RequiredPreview<"inertia">; +declare type ProjectsGetColumnRequestOptions = { + method: "GET"; + url: "/projects/columns/:column_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsGetColumnResponseData = { + url: string; + project_url: string; + cards_url: string; + id: number; + node_id: string; + name: string; + created_at: string; + updated_at: string; +}; +declare type ProjectsUpdateColumnEndpoint = { + /** + * column_id parameter + */ + column_id: number; + /** + * The new name of the column. + */ + name: string; +} & RequiredPreview<"inertia">; +declare type ProjectsUpdateColumnRequestOptions = { + method: "PATCH"; + url: "/projects/columns/:column_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsUpdateColumnResponseData = { + url: string; + project_url: string; + cards_url: string; + id: number; + node_id: string; + name: string; + created_at: string; + updated_at: string; +}; +declare type ProjectsDeleteColumnEndpoint = { + /** + * column_id parameter + */ + column_id: number; +} & RequiredPreview<"inertia">; +declare type ProjectsDeleteColumnRequestOptions = { + method: "DELETE"; + url: "/projects/columns/:column_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsListCardsEndpoint = { + /** + * column_id parameter + */ + column_id: number; + /** + * Filters the project cards that are returned by the card's state. Can be one of `all`,`archived`, or `not_archived`. + */ + archived_state?: "all" | "archived" | "not_archived"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"inertia">; +declare type ProjectsListCardsRequestOptions = { + method: "GET"; + url: "/projects/columns/:column_id/cards"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsListCardsResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsListCardsResponseDataItem = { + url: string; + id: number; + node_id: string; + note: string; + creator: ProjectsListCardsResponseDataItemCreator; + created_at: string; + updated_at: string; + archived: boolean; + column_url: string; + content_url: string; + project_url: string; +}; +declare type ProjectsListCardsResponseData = Array; +declare type ProjectsCreateCardEndpoint = { + /** + * column_id parameter + */ + column_id: number; + /** + * The card's note content. Only valid for cards without another type of content, so you must omit when specifying `content_id` and `content_type`. + */ + note?: string; + /** + * The issue or pull request id you want to associate with this card. You can use the [List repository issues](https://developer.github.com/v3/issues/#list-repository-issues) and [List pull requests](https://developer.github.com/v3/pulls/#list-pull-requests) endpoints to find this id. + * **Note:** Depending on whether you use the issue id or pull request id, you will need to specify `Issue` or `PullRequest` as the `content_type`. + */ + content_id?: number; + /** + * **Required if you provide `content_id`**. The type of content you want to associate with this card. Use `Issue` when `content_id` is an issue id and use `PullRequest` when `content_id` is a pull request id. + */ + content_type?: string; +} & RequiredPreview<"inertia">; +declare type ProjectsCreateCardRequestOptions = { + method: "POST"; + url: "/projects/columns/:column_id/cards"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsCreateCardResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsCreateCardResponseData = { + url: string; + id: number; + node_id: string; + note: string; + creator: ProjectsCreateCardResponseDataCreator; + created_at: string; + updated_at: string; + archived: boolean; + column_url: string; + content_url: string; + project_url: string; +}; +declare type ProjectsMoveColumnEndpoint = { + /** + * column_id parameter + */ + column_id: number; + /** + * Can be one of `first`, `last`, or `after:`, where `` is the `id` value of a column in the same project. + */ + position: string; +} & RequiredPreview<"inertia">; +declare type ProjectsMoveColumnRequestOptions = { + method: "POST"; + url: "/projects/columns/:column_id/moves"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsGetEndpoint = { + /** + * project_id parameter + */ + project_id: number; +} & RequiredPreview<"inertia">; +declare type ProjectsGetRequestOptions = { + method: "GET"; + url: "/projects/:project_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsGetResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsGetResponseData = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: ProjectsGetResponseDataCreator; + created_at: string; + updated_at: string; +}; +declare type ProjectsUpdateEndpoint = { + /** + * project_id parameter + */ + project_id: number; + /** + * The name of the project. + */ + name?: string; + /** + * The description of the project. + */ + body?: string; + /** + * State of the project. Either `open` or `closed`. + */ + state?: "open" | "closed"; + /** + * The permission level that determines whether all members of the project's organization can see and/or make changes to the project. Setting `organization_permission` is only available for organization projects. If an organization member belongs to a team with a higher level of access or is a collaborator with a higher level of access, their permission level is not lowered by `organization_permission`. For information on changing access for a team or collaborator, see [Add or update team project](https://developer.github.com/v3/teams/#add-or-update-team-project) or [Add user as a collaborator](https://developer.github.com/v3/projects/collaborators/#add-user-as-a-collaborator). + * + * **Note:** Updating a project's `organization_permission` requires `admin` access to the project. + * + * Can be one of: + * \* `read` - Organization members can read, but not write to or administer this project. + * \* `write` - Organization members can read and write, but not administer this project. + * \* `admin` - Organization members can read, write and administer this project. + * \* `none` - Organization members can only see this project if it is public. + */ + organization_permission?: string; + /** + * Sets the visibility of a project board. Setting `private` is only available for organization and user projects. **Note:** Updating a project's visibility requires `admin` access to the project. + * + * Can be one of: + * \* `false` - Anyone can see the project. + * \* `true` - Only the user can view a project board created on a user account. Organization members with the appropriate `organization_permission` can see project boards in an organization account. + */ + private?: boolean; +} & RequiredPreview<"inertia">; +declare type ProjectsUpdateRequestOptions = { + method: "PATCH"; + url: "/projects/:project_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsUpdateResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsUpdateResponseData = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: ProjectsUpdateResponseDataCreator; + created_at: string; + updated_at: string; +}; +declare type ProjectsDeleteEndpoint = { + /** + * project_id parameter + */ + project_id: number; +} & RequiredPreview<"inertia">; +declare type ProjectsDeleteRequestOptions = { + method: "DELETE"; + url: "/projects/:project_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsListCollaboratorsEndpoint = { + /** + * project_id parameter + */ + project_id: number; + /** + * Filters the collaborators by their affiliation. Can be one of: + * \* `outside`: Outside collaborators of a project that are not a member of the project's organization. + * \* `direct`: Collaborators with permissions to a project, regardless of organization membership status. + * \* `all`: All collaborators the authenticated user can see. + */ + affiliation?: "outside" | "direct" | "all"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"inertia">; +declare type ProjectsListCollaboratorsRequestOptions = { + method: "GET"; + url: "/projects/:project_id/collaborators"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsListCollaboratorsResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsListCollaboratorsResponseData = Array; +declare type ProjectsAddCollaboratorEndpoint = { + /** + * project_id parameter + */ + project_id: number; + /** + * username parameter + */ + username: string; + /** + * The permission to grant the collaborator. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://developer.github.com/v3/#http-verbs)." Can be one of: + * \* `read` - can read, but not write to or administer this project. + * \* `write` - can read and write, but not administer this project. + * \* `admin` - can read, write and administer this project. + */ + permission?: "read" | "write" | "admin"; +} & RequiredPreview<"inertia">; +declare type ProjectsAddCollaboratorRequestOptions = { + method: "PUT"; + url: "/projects/:project_id/collaborators/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsRemoveCollaboratorEndpoint = { + /** + * project_id parameter + */ + project_id: number; + /** + * username parameter + */ + username: string; +} & RequiredPreview<"inertia">; +declare type ProjectsRemoveCollaboratorRequestOptions = { + method: "DELETE"; + url: "/projects/:project_id/collaborators/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsReviewUserPermissionLevelEndpoint = { + /** + * project_id parameter + */ + project_id: number; + /** + * username parameter + */ + username: string; +} & RequiredPreview<"inertia">; +declare type ProjectsReviewUserPermissionLevelRequestOptions = { + method: "GET"; + url: "/projects/:project_id/collaborators/:username/permission"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsReviewUserPermissionLevelResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsReviewUserPermissionLevelResponseData = { + permission: string; + user: ProjectsReviewUserPermissionLevelResponseDataUser; +}; +declare type ProjectsListColumnsEndpoint = { + /** + * project_id parameter + */ + project_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"inertia">; +declare type ProjectsListColumnsRequestOptions = { + method: "GET"; + url: "/projects/:project_id/columns"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsListColumnsResponseDataItem = { + url: string; + project_url: string; + cards_url: string; + id: number; + node_id: string; + name: string; + created_at: string; + updated_at: string; +}; +declare type ProjectsListColumnsResponseData = Array; +declare type ProjectsCreateColumnEndpoint = { + /** + * project_id parameter + */ + project_id: number; + /** + * The name of the column. + */ + name: string; +} & RequiredPreview<"inertia">; +declare type ProjectsCreateColumnRequestOptions = { + method: "POST"; + url: "/projects/:project_id/columns"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsCreateColumnResponseData = { + url: string; + project_url: string; + cards_url: string; + id: number; + node_id: string; + name: string; + created_at: string; + updated_at: string; +}; +declare type RateLimitGetEndpoint = {}; +declare type RateLimitGetRequestOptions = { + method: "GET"; + url: "/rate_limit"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type RateLimitGetResponseDataRate = { + limit: number; + remaining: number; + reset: number; +}; +declare type RateLimitGetResponseDataResourcesIntegrationManifest = { + limit: number; + remaining: number; + reset: number; +}; +declare type RateLimitGetResponseDataResourcesGraphql = { + limit: number; + remaining: number; + reset: number; +}; +declare type RateLimitGetResponseDataResourcesSearch = { + limit: number; + remaining: number; + reset: number; +}; +declare type RateLimitGetResponseDataResourcesCore = { + limit: number; + remaining: number; + reset: number; +}; +declare type RateLimitGetResponseDataResources = { + core: RateLimitGetResponseDataResourcesCore; + search: RateLimitGetResponseDataResourcesSearch; + graphql: RateLimitGetResponseDataResourcesGraphql; + integration_manifest: RateLimitGetResponseDataResourcesIntegrationManifest; +}; +declare type RateLimitGetResponseData = { + resources: RateLimitGetResponseDataResources; + rate: RateLimitGetResponseDataRate; +}; +declare type ReactionsDeleteLegacyEndpoint = { + /** + * reaction_id parameter + */ + reaction_id: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsDeleteLegacyRequestOptions = { + method: "DELETE"; + url: "/reactions/:reaction_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetResponseDataCodeOfConduct = { + key: string; + name: string; + url: string; +}; +declare type ReposGetResponseDataSourcePermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposGetResponseDataSourceOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetResponseDataSource = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposGetResponseDataSourceOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposGetResponseDataSourcePermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposGetResponseDataParentPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposGetResponseDataParentOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetResponseDataParent = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposGetResponseDataParentOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposGetResponseDataParentPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposGetResponseDataOrganization = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetResponseDataLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type ReposGetResponseDataPermissions = { + pull: boolean; + triage: boolean; + push: boolean; + maintain: boolean; + admin: boolean; +}; +declare type ReposGetResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetResponseData = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposGetResponseDataOwner; + private: boolean; + html_url: string; + description: string | null; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string | null; + hooks_url: string; + svn_url: string; + homepage: string | null; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template?: boolean; + topics?: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions?: ReposGetResponseDataPermissions; + allow_rebase_merge?: boolean; + template_repository?: null; + temp_clone_token?: string; + allow_squash_merge?: boolean; + allow_merge_commit?: boolean; + subscribers_count: number; + network_count: number; + license?: ReposGetResponseDataLicense; + organization?: ReposGetResponseDataOrganization; + parent?: ReposGetResponseDataParent; + source?: ReposGetResponseDataSource; + forks?: number; + open_issues?: number; + watchers?: number; + code_of_conduct?: ReposGetResponseDataCodeOfConduct; +}; +declare type ReposUpdateEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The name of the repository. + */ + name?: string; + /** + * A short description of the repository. + */ + description?: string; + /** + * A URL with more information about the repository. + */ + homepage?: string; + /** + * Either `true` to make the repository private or `false` to make it public. Default: `false`. + * **Note**: You will get a `422` error if the organization restricts [changing repository visibility](https://help.github.com/articles/repository-permission-levels-for-an-organization#changing-the-visibility-of-repositories) to organization owners and a non-owner tries to change the value of private. **Note**: You will get a `422` error if the organization restricts [changing repository visibility](https://help.github.com/articles/repository-permission-levels-for-an-organization#changing-the-visibility-of-repositories) to organization owners and a non-owner tries to change the value of private. + */ + private?: boolean; + /** + * Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `visibility` can also be `internal`. The `visibility` parameter overrides the `private` parameter when you use both along with the `nebula-preview` preview header. + */ + visibility?: "public" | "private" | "visibility" | "internal"; + /** + * Either `true` to enable issues for this repository or `false` to disable them. + */ + has_issues?: boolean; + /** + * Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error. + */ + has_projects?: boolean; + /** + * Either `true` to enable the wiki for this repository or `false` to disable it. + */ + has_wiki?: boolean; + /** + * Either `true` to make this repo available as a template repository or `false` to prevent it. + */ + is_template?: boolean; + /** + * Updates the default branch for this repository. + */ + default_branch?: string; + /** + * Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. + */ + allow_squash_merge?: boolean; + /** + * Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. + */ + allow_merge_commit?: boolean; + /** + * Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. + */ + allow_rebase_merge?: boolean; + /** + * Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. + */ + delete_branch_on_merge?: boolean; + /** + * `true` to archive this repository. **Note**: You cannot unarchive repositories through the API. + */ + archived?: boolean; +}; +declare type ReposUpdateRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateResponseDataSourcePermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposUpdateResponseDataSourceOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateResponseDataSource = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposUpdateResponseDataSourceOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposUpdateResponseDataSourcePermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposUpdateResponseDataParentPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposUpdateResponseDataParentOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateResponseDataParent = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposUpdateResponseDataParentOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposUpdateResponseDataParentPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposUpdateResponseDataOrganization = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateResponseDataPermissions = { + pull: boolean; + triage: boolean; + push: boolean; + maintain: boolean; + admin: boolean; +}; +declare type ReposUpdateResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateResponseData = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposUpdateResponseDataOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposUpdateResponseDataPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; + organization: ReposUpdateResponseDataOrganization; + parent: ReposUpdateResponseDataParent; + source: ReposUpdateResponseDataSource; +}; +declare type ReposDeleteEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposDeleteRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposDeleteResponseData = { + message: string; + documentation_url: string; +}; +declare type ActionsListArtifactsForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActionsListArtifactsForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/artifacts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListArtifactsForRepoResponseDataArtifactsItem = { + id: number; + node_id: string; + name: string; + size_in_bytes: number; + url: string; + archive_download_url: string; + expired: boolean; + created_at: string; + expires_at: string; +}; +declare type ActionsListArtifactsForRepoResponseData = { + total_count: number; + artifacts: Array; +}; +declare type ActionsGetArtifactEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * artifact_id parameter + */ + artifact_id: number; +}; +declare type ActionsGetArtifactRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/artifacts/:artifact_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsGetArtifactResponseData = { + id: number; + node_id: string; + name: string; + size_in_bytes: number; + url: string; + archive_download_url: string; + expired: boolean; + created_at: string; + expires_at: string; +}; +declare type ActionsDeleteArtifactEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * artifact_id parameter + */ + artifact_id: number; +}; +declare type ActionsDeleteArtifactRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/actions/artifacts/:artifact_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsDownloadArtifactEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * artifact_id parameter + */ + artifact_id: number; + /** + * archive_format parameter + */ + archive_format: string; +}; +declare type ActionsDownloadArtifactRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/artifacts/:artifact_id/:archive_format"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsGetWorkflowJobEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * job_id parameter + */ + job_id: number; +}; +declare type ActionsGetWorkflowJobRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/jobs/:job_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsGetWorkflowJobResponseDataStepsItem = { + name: string; + status: string; + conclusion: string; + number: number; + started_at: string; + completed_at: string; +}; +declare type ActionsGetWorkflowJobResponseData = { + id: number; + run_id: number; + run_url: string; + node_id: string; + head_sha: string; + url: string; + html_url: string; + status: string; + conclusion: string; + started_at: string; + completed_at: string; + name: string; + steps: Array; + check_run_url: string; +}; +declare type ActionsDownloadWorkflowJobLogsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * job_id parameter + */ + job_id: number; +}; +declare type ActionsDownloadWorkflowJobLogsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/jobs/:job_id/logs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListSelfHostedRunnersForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActionsListSelfHostedRunnersForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/runners"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListSelfHostedRunnersForRepoResponseDataRunnersItem = { + id: number; + name: string; + os: string; + status: string; +}; +declare type ActionsListSelfHostedRunnersForRepoResponseData = { + total_count: number; + runners: Array; +}; +declare type ActionsListRunnerApplicationsForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActionsListRunnerApplicationsForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/runners/downloads"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListRunnerApplicationsForRepoResponseDataItem = { + os: string; + architecture: string; + download_url: string; + filename: string; +}; +declare type ActionsListRunnerApplicationsForRepoResponseData = Array; +declare type ActionsCreateRegistrationTokenForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActionsCreateRegistrationTokenForRepoRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/actions/runners/registration-token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsCreateRegistrationTokenForRepoResponseData = { + token: string; + expires_at: string; +}; +declare type ActionsCreateRemoveTokenForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActionsCreateRemoveTokenForRepoRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/actions/runners/remove-token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsCreateRemoveTokenForRepoResponseData = { + token: string; + expires_at: string; +}; +declare type ActionsGetSelfHostedRunnerForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * runner_id parameter + */ + runner_id: number; +}; +declare type ActionsGetSelfHostedRunnerForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/runners/:runner_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsGetSelfHostedRunnerForRepoResponseData = { + id: number; + name: string; + os: string; + status: string; +}; +declare type ActionsDeleteSelfHostedRunnerFromRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * runner_id parameter + */ + runner_id: number; +}; +declare type ActionsDeleteSelfHostedRunnerFromRepoRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/actions/runners/:runner_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListRepoWorkflowRunsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. + */ + actor?: string; + /** + * Returns workflow runs associated with a branch. Use the name of the branch of the `push`. + */ + branch?: string; + /** + * Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)" in the GitHub Help documentation. + */ + event?: string; + /** + * Returns workflow runs associated with the check run `status` or `conclusion` you specify. For example, a conclusion can be `success` or a status can be `completed`. For more information, see the `status` and `conclusion` options available in "[Create a check run](https://developer.github.com/v3/checks/runs/#create-a-check-run)." + */ + status?: "completed" | "status" | "conclusion"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActionsListRepoWorkflowRunsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/runs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + private: boolean; + owner: ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadRepositoryOwner; + html_url: string; + description: null; + fork: boolean; + url: string; + forks_url: string; + keys_url: string; + collaborators_url: string; + teams_url: string; + hooks_url: string; + issue_events_url: string; + events_url: string; + assignees_url: string; + branches_url: string; + tags_url: string; + blobs_url: string; + git_tags_url: string; + git_refs_url: string; + trees_url: string; + statuses_url: string; + languages_url: string; + stargazers_url: string; + contributors_url: string; + subscribers_url: string; + subscription_url: string; + commits_url: string; + git_commits_url: string; + comments_url: string; + issue_comment_url: string; + contents_url: string; + compare_url: string; + merges_url: string; + archive_url: string; + downloads_url: string; + issues_url: string; + pulls_url: string; + milestones_url: string; + notifications_url: string; + labels_url: string; + releases_url: string; + deployments_url: string; +}; +declare type ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadCommitCommitter = { + name: string; + email: string; +}; +declare type ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadCommitAuthor = { + name: string; + email: string; +}; +declare type ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadCommit = { + id: string; + tree_id: string; + message: string; + timestamp: string; + author: ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadCommitAuthor; + committer: ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadCommitCommitter; +}; +declare type ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItem = { + id: number; + node_id: string; + head_branch: string; + head_sha: string; + run_number: number; + event: string; + status: string; + conclusion: null; + url: string; + html_url: string; + pull_requests: Array; + created_at: string; + updated_at: string; + jobs_url: string; + logs_url: string; + check_suite_url: string; + artifacts_url: string; + cancel_url: string; + rerun_url: string; + workflow_url: string; + head_commit: ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadCommit; + repository: ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemRepository; + head_repository: ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadRepository; +}; +declare type ActionsListRepoWorkflowRunsResponseData = { + total_count: number; + workflow_runs: Array; +}; +declare type ActionsGetWorkflowRunEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * run_id parameter + */ + run_id: number; +}; +declare type ActionsGetWorkflowRunRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/runs/:run_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsGetWorkflowRunResponseDataHeadRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActionsGetWorkflowRunResponseDataHeadRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + private: boolean; + owner: ActionsGetWorkflowRunResponseDataHeadRepositoryOwner; + html_url: string; + description: null; + fork: boolean; + url: string; + forks_url: string; + keys_url: string; + collaborators_url: string; + teams_url: string; + hooks_url: string; + issue_events_url: string; + events_url: string; + assignees_url: string; + branches_url: string; + tags_url: string; + blobs_url: string; + git_tags_url: string; + git_refs_url: string; + trees_url: string; + statuses_url: string; + languages_url: string; + stargazers_url: string; + contributors_url: string; + subscribers_url: string; + subscription_url: string; + commits_url: string; + git_commits_url: string; + comments_url: string; + issue_comment_url: string; + contents_url: string; + compare_url: string; + merges_url: string; + archive_url: string; + downloads_url: string; + issues_url: string; + pulls_url: string; + milestones_url: string; + notifications_url: string; + labels_url: string; + releases_url: string; + deployments_url: string; +}; +declare type ActionsGetWorkflowRunResponseDataRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActionsGetWorkflowRunResponseDataRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActionsGetWorkflowRunResponseDataRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ActionsGetWorkflowRunResponseDataHeadCommitCommitter = { + name: string; + email: string; +}; +declare type ActionsGetWorkflowRunResponseDataHeadCommitAuthor = { + name: string; + email: string; +}; +declare type ActionsGetWorkflowRunResponseDataHeadCommit = { + id: string; + tree_id: string; + message: string; + timestamp: string; + author: ActionsGetWorkflowRunResponseDataHeadCommitAuthor; + committer: ActionsGetWorkflowRunResponseDataHeadCommitCommitter; +}; +declare type ActionsGetWorkflowRunResponseData = { + id: number; + node_id: string; + head_branch: string; + head_sha: string; + run_number: number; + event: string; + status: string; + conclusion: null; + url: string; + html_url: string; + pull_requests: Array; + created_at: string; + updated_at: string; + jobs_url: string; + logs_url: string; + check_suite_url: string; + artifacts_url: string; + cancel_url: string; + rerun_url: string; + workflow_url: string; + head_commit: ActionsGetWorkflowRunResponseDataHeadCommit; + repository: ActionsGetWorkflowRunResponseDataRepository; + head_repository: ActionsGetWorkflowRunResponseDataHeadRepository; +}; +declare type ActionsListWorkflowRunArtifactsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * run_id parameter + */ + run_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActionsListWorkflowRunArtifactsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/runs/:run_id/artifacts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListWorkflowRunArtifactsResponseDataArtifactsItem = { + id: number; + node_id: string; + name: string; + size_in_bytes: number; + url: string; + archive_download_url: string; + expired: boolean; + created_at: string; + expires_at: string; +}; +declare type ActionsListWorkflowRunArtifactsResponseData = { + total_count: number; + artifacts: Array; +}; +declare type ActionsCancelWorkflowRunEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * run_id parameter + */ + run_id: number; +}; +declare type ActionsCancelWorkflowRunRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/actions/runs/:run_id/cancel"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListJobsForWorkflowRunEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * run_id parameter + */ + run_id: number; + /** + * Filters jobs by their `completed_at` timestamp. Can be one of: + * \* `latest`: Returns jobs from the most recent execution of the workflow run. + * \* `all`: Returns all jobs for a workflow run, including from old executions of the workflow run. + */ + filter?: "latest" | "all"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActionsListJobsForWorkflowRunRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/runs/:run_id/jobs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListJobsForWorkflowRunResponseDataJobsItemStepsItem = { + name: string; + status: string; + conclusion: string; + number: number; + started_at: string; + completed_at: string; +}; +declare type ActionsListJobsForWorkflowRunResponseDataJobsItem = { + id: number; + run_id: number; + run_url: string; + node_id: string; + head_sha: string; + url: string; + html_url: string; + status: string; + conclusion: string; + started_at: string; + completed_at: string; + name: string; + steps: Array; + check_run_url: string; +}; +declare type ActionsListJobsForWorkflowRunResponseData = { + total_count: number; + jobs: Array; +}; +declare type ActionsDownloadWorkflowRunLogsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * run_id parameter + */ + run_id: number; +}; +declare type ActionsDownloadWorkflowRunLogsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/runs/:run_id/logs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsDeleteWorkflowRunLogsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * run_id parameter + */ + run_id: number; +}; +declare type ActionsDeleteWorkflowRunLogsRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/actions/runs/:run_id/logs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsReRunWorkflowEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * run_id parameter + */ + run_id: number; +}; +declare type ActionsReRunWorkflowRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/actions/runs/:run_id/rerun"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListSecretsForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActionsListSecretsForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/secrets"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListSecretsForRepoResponseDataSecretsItem = { + name: string; + created_at: string; + updated_at: string; +}; +declare type ActionsListSecretsForRepoResponseData = { + total_count: number; + secrets: Array; +}; +declare type ActionsGetPublicKeyEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActionsGetPublicKeyRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/secrets/public-key"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsGetPublicKeyResponseData = { + key_id: string; + key: string; +}; +declare type ActionsGetSecretEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * name parameter + */ + name: string; +}; +declare type ActionsGetSecretRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/secrets/:name"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsGetSecretResponseData = { + name: string; + created_at: string; + updated_at: string; +}; +declare type ActionsCreateOrUpdateSecretForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * name parameter + */ + name: string; + /** + * Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get your public key](https://developer.github.com/v3/actions/secrets/#get-your-public-key) endpoint. + */ + encrypted_value?: string; + /** + * ID of the key you used to encrypt the secret. + */ + key_id?: string; +}; +declare type ActionsCreateOrUpdateSecretForRepoRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/actions/secrets/:name"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsDeleteSecretFromRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * name parameter + */ + name: string; +}; +declare type ActionsDeleteSecretFromRepoRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/actions/secrets/:name"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListRepoWorkflowsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActionsListRepoWorkflowsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/workflows"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListRepoWorkflowsResponseDataWorkflowsItem = { + id: number; + node_id: string; + name: string; + path: string; + state: string; + created_at: string; + updated_at: string; + url: string; + html_url: string; + badge_url: string; +}; +declare type ActionsListRepoWorkflowsResponseData = { + total_count: number; + workflows: Array; +}; +declare type ActionsGetWorkflowEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * workflow_id parameter + */ + workflow_id: number; +}; +declare type ActionsGetWorkflowRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/workflows/:workflow_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsGetWorkflowResponseData = { + id: number; + node_id: string; + name: string; + path: string; + state: string; + created_at: string; + updated_at: string; + url: string; + html_url: string; + badge_url: string; +}; +declare type ActionsListWorkflowRunsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * workflow_id parameter + */ + workflow_id: number; + /** + * Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. + */ + actor?: string; + /** + * Returns workflow runs associated with a branch. Use the name of the branch of the `push`. + */ + branch?: string; + /** + * Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)" in the GitHub Help documentation. + */ + event?: string; + /** + * Returns workflow runs associated with the check run `status` or `conclusion` you specify. For example, a conclusion can be `success` or a status can be `completed`. For more information, see the `status` and `conclusion` options available in "[Create a check run](https://developer.github.com/v3/checks/runs/#create-a-check-run)." + */ + status?: "completed" | "status" | "conclusion"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActionsListWorkflowRunsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/workflows/:workflow_id/runs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + private: boolean; + owner: ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadRepositoryOwner; + html_url: string; + description: null; + fork: boolean; + url: string; + forks_url: string; + keys_url: string; + collaborators_url: string; + teams_url: string; + hooks_url: string; + issue_events_url: string; + events_url: string; + assignees_url: string; + branches_url: string; + tags_url: string; + blobs_url: string; + git_tags_url: string; + git_refs_url: string; + trees_url: string; + statuses_url: string; + languages_url: string; + stargazers_url: string; + contributors_url: string; + subscribers_url: string; + subscription_url: string; + commits_url: string; + git_commits_url: string; + comments_url: string; + issue_comment_url: string; + contents_url: string; + compare_url: string; + merges_url: string; + archive_url: string; + downloads_url: string; + issues_url: string; + pulls_url: string; + milestones_url: string; + notifications_url: string; + labels_url: string; + releases_url: string; + deployments_url: string; +}; +declare type ActionsListWorkflowRunsResponseDataWorkflowRunsItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActionsListWorkflowRunsResponseDataWorkflowRunsItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActionsListWorkflowRunsResponseDataWorkflowRunsItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadCommitCommitter = { + name: string; + email: string; +}; +declare type ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadCommitAuthor = { + name: string; + email: string; +}; +declare type ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadCommit = { + id: string; + tree_id: string; + message: string; + timestamp: string; + author: ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadCommitAuthor; + committer: ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadCommitCommitter; +}; +declare type ActionsListWorkflowRunsResponseDataWorkflowRunsItem = { + id: number; + node_id: string; + head_branch: string; + head_sha: string; + run_number: number; + event: string; + status: string; + conclusion: null; + url: string; + html_url: string; + pull_requests: Array; + created_at: string; + updated_at: string; + jobs_url: string; + logs_url: string; + check_suite_url: string; + artifacts_url: string; + cancel_url: string; + rerun_url: string; + workflow_url: string; + head_commit: ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadCommit; + repository: ActionsListWorkflowRunsResponseDataWorkflowRunsItemRepository; + head_repository: ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadRepository; +}; +declare type ActionsListWorkflowRunsResponseData = { + total_count: number; + workflow_runs: Array; +}; +declare type IssuesListAssigneesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type IssuesListAssigneesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/assignees"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListAssigneesResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListAssigneesResponseData = Array; +declare type IssuesCheckAssigneeEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * assignee parameter + */ + assignee: string; +}; +declare type IssuesCheckAssigneeRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/assignees/:assignee"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposEnableAutomatedSecurityFixesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"london">; +declare type ReposEnableAutomatedSecurityFixesRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/automated-security-fixes"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposDisableAutomatedSecurityFixesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"london">; +declare type ReposDisableAutomatedSecurityFixesRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/automated-security-fixes"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListBranchesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Setting to `true` returns only protected branches. When set to `false`, only unprotected branches are returned. Omitting this parameter returns all branches. + */ + protected?: boolean; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListBranchesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListBranchesResponseDataItemProtectionRequiredStatusChecks = { + enforcement_level: string; + contexts: Array; +}; +declare type ReposListBranchesResponseDataItemProtection = { + enabled: boolean; + required_status_checks: ReposListBranchesResponseDataItemProtectionRequiredStatusChecks; +}; +declare type ReposListBranchesResponseDataItemCommit = { + sha: string; + url: string; +}; +declare type ReposListBranchesResponseDataItem = { + name: string; + commit: ReposListBranchesResponseDataItemCommit; + protected: boolean; + protection: ReposListBranchesResponseDataItemProtection; + protection_url: string; +}; +declare type ReposListBranchesResponseData = Array; +declare type ReposGetBranchEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposGetBranchRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetBranchResponseDataProtectionRequiredStatusChecks = { + enforcement_level: string; + contexts: Array; +}; +declare type ReposGetBranchResponseDataProtection = { + enabled: boolean; + required_status_checks: ReposGetBranchResponseDataProtectionRequiredStatusChecks; +}; +declare type ReposGetBranchResponseDataLinks = { + html: string; + self: string; +}; +declare type ReposGetBranchResponseDataCommitCommitter = { + gravatar_id: string; + avatar_url: string; + url: string; + id: number; + login: string; +}; +declare type ReposGetBranchResponseDataCommitParentsItem = { + sha: string; + url: string; +}; +declare type ReposGetBranchResponseDataCommitAuthor = { + gravatar_id: string; + avatar_url: string; + url: string; + id: number; + login: string; +}; +declare type ReposGetBranchResponseDataCommitCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type ReposGetBranchResponseDataCommitCommitCommitter = { + name: string; + date: string; + email: string; +}; +declare type ReposGetBranchResponseDataCommitCommitTree = { + sha: string; + url: string; +}; +declare type ReposGetBranchResponseDataCommitCommitAuthor = { + name: string; + date: string; + email: string; +}; +declare type ReposGetBranchResponseDataCommitCommit = { + author: ReposGetBranchResponseDataCommitCommitAuthor; + url: string; + message: string; + tree: ReposGetBranchResponseDataCommitCommitTree; + committer: ReposGetBranchResponseDataCommitCommitCommitter; + verification: ReposGetBranchResponseDataCommitCommitVerification; +}; +declare type ReposGetBranchResponseDataCommit = { + sha: string; + node_id: string; + commit: ReposGetBranchResponseDataCommitCommit; + author: ReposGetBranchResponseDataCommitAuthor; + parents: Array; + url: string; + committer: ReposGetBranchResponseDataCommitCommitter; +}; +declare type ReposGetBranchResponseData = { + name: string; + commit: ReposGetBranchResponseDataCommit; + _links: ReposGetBranchResponseDataLinks; + protected: boolean; + protection: ReposGetBranchResponseDataProtection; + protection_url: string; +}; +declare type ReposGetBranchProtectionEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposGetBranchProtectionRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetBranchProtectionResponseDataAllowDeletions = { + enabled: boolean; +}; +declare type ReposGetBranchProtectionResponseDataAllowForcePushes = { + enabled: boolean; +}; +declare type ReposGetBranchProtectionResponseDataRequiredLinearHistory = { + enabled: boolean; +}; +declare type ReposGetBranchProtectionResponseDataRestrictionsAppsItemPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ReposGetBranchProtectionResponseDataRestrictionsAppsItemOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ReposGetBranchProtectionResponseDataRestrictionsAppsItem = { + id: number; + slug: string; + node_id: string; + owner: ReposGetBranchProtectionResponseDataRestrictionsAppsItemOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ReposGetBranchProtectionResponseDataRestrictionsAppsItemPermissions; + events: Array; +}; +declare type ReposGetBranchProtectionResponseDataRestrictionsTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposGetBranchProtectionResponseDataRestrictionsUsersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetBranchProtectionResponseDataRestrictions = { + url: string; + users_url: string; + teams_url: string; + apps_url: string; + users: Array; + teams: Array; + apps: Array; +}; +declare type ReposGetBranchProtectionResponseDataRequiredPullRequestReviewsDismissalRestrictionsTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposGetBranchProtectionResponseDataRequiredPullRequestReviewsDismissalRestrictionsUsersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetBranchProtectionResponseDataRequiredPullRequestReviewsDismissalRestrictions = { + url: string; + users_url: string; + teams_url: string; + users: Array; + teams: Array; +}; +declare type ReposGetBranchProtectionResponseDataRequiredPullRequestReviews = { + url: string; + dismissal_restrictions: ReposGetBranchProtectionResponseDataRequiredPullRequestReviewsDismissalRestrictions; + dismiss_stale_reviews: boolean; + require_code_owner_reviews: boolean; + required_approving_review_count: number; +}; +declare type ReposGetBranchProtectionResponseDataEnforceAdmins = { + url: string; + enabled: boolean; +}; +declare type ReposGetBranchProtectionResponseDataRequiredStatusChecks = { + url: string; + strict: boolean; + contexts: Array; + contexts_url: string; +}; +declare type ReposGetBranchProtectionResponseData = { + url: string; + required_status_checks: ReposGetBranchProtectionResponseDataRequiredStatusChecks; + enforce_admins: ReposGetBranchProtectionResponseDataEnforceAdmins; + required_pull_request_reviews: ReposGetBranchProtectionResponseDataRequiredPullRequestReviews; + restrictions: ReposGetBranchProtectionResponseDataRestrictions; + required_linear_history: ReposGetBranchProtectionResponseDataRequiredLinearHistory; + allow_force_pushes: ReposGetBranchProtectionResponseDataAllowForcePushes; + allow_deletions: ReposGetBranchProtectionResponseDataAllowDeletions; +}; +declare type ReposUpdateBranchProtectionEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * Require status checks to pass before merging. Set to `null` to disable. + */ + required_status_checks: ReposUpdateBranchProtectionParamsRequiredStatusChecks | null; + /** + * Enforce all configured restrictions for administrators. Set to `true` to enforce required status checks for repository administrators. Set to `null` to disable. + */ + enforce_admins: boolean | null; + /** + * Require at least one approving review on a pull request, before merging. Set to `null` to disable. + */ + required_pull_request_reviews: ReposUpdateBranchProtectionParamsRequiredPullRequestReviews | null; + /** + * Restrict who can push to the protected branch. User, app, and team `restrictions` are only available for organization-owned repositories. Set to `null` to disable. + */ + restrictions: ReposUpdateBranchProtectionParamsRestrictions | null; + /** + * Enforces a linear commit Git history, which prevents anyone from pushing merge commits to a branch. Set to `true` to enforce a linear commit history. Set to `false` to disable a linear commit Git history. Your repository must allow squash merging or rebase merging before you can enable a linear commit history. Default: `false`. For more information, see "[Requiring a linear commit history](https://help.github.com/github/administering-a-repository/requiring-a-linear-commit-history)" in the GitHub Help documentation. + */ + required_linear_history?: boolean; + /** + * Permits force pushes to the protected branch by anyone with write access to the repository. Set to `true` to allow force pushes. Set to `false` or `null` to block force pushes. Default: `false`. For more information, see "[Enabling force pushes to a protected branch](https://help.github.com/en/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)" in the GitHub Help documentation." + */ + allow_force_pushes?: boolean | null; + /** + * Allows deletion of the protected branch by anyone with write access to the repository. Set to `false` to prevent deletion of the protected branch. Default: `false`. For more information, see "[Enabling force pushes to a protected branch](https://help.github.com/en/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)" in the GitHub Help documentation. + */ + allow_deletions?: boolean; +}; +declare type ReposUpdateBranchProtectionRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/branches/:branch/protection"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateBranchProtectionResponseDataAllowDeletions = { + enabled: boolean; +}; +declare type ReposUpdateBranchProtectionResponseDataAllowForcePushes = { + enabled: boolean; +}; +declare type ReposUpdateBranchProtectionResponseDataRequiredLinearHistory = { + enabled: boolean; +}; +declare type ReposUpdateBranchProtectionResponseDataRestrictionsAppsItemPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ReposUpdateBranchProtectionResponseDataRestrictionsAppsItemOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ReposUpdateBranchProtectionResponseDataRestrictionsAppsItem = { + id: number; + slug: string; + node_id: string; + owner: ReposUpdateBranchProtectionResponseDataRestrictionsAppsItemOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ReposUpdateBranchProtectionResponseDataRestrictionsAppsItemPermissions; + events: Array; +}; +declare type ReposUpdateBranchProtectionResponseDataRestrictionsTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposUpdateBranchProtectionResponseDataRestrictionsUsersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateBranchProtectionResponseDataRestrictions = { + url: string; + users_url: string; + teams_url: string; + apps_url: string; + users: Array; + teams: Array; + apps: Array; +}; +declare type ReposUpdateBranchProtectionResponseDataRequiredPullRequestReviewsDismissalRestrictionsTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposUpdateBranchProtectionResponseDataRequiredPullRequestReviewsDismissalRestrictionsUsersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateBranchProtectionResponseDataRequiredPullRequestReviewsDismissalRestrictions = { + url: string; + users_url: string; + teams_url: string; + users: Array; + teams: Array; +}; +declare type ReposUpdateBranchProtectionResponseDataRequiredPullRequestReviews = { + url: string; + dismissal_restrictions: ReposUpdateBranchProtectionResponseDataRequiredPullRequestReviewsDismissalRestrictions; + dismiss_stale_reviews: boolean; + require_code_owner_reviews: boolean; + required_approving_review_count: number; +}; +declare type ReposUpdateBranchProtectionResponseDataEnforceAdmins = { + url: string; + enabled: boolean; +}; +declare type ReposUpdateBranchProtectionResponseDataRequiredStatusChecks = { + url: string; + strict: boolean; + contexts: Array; + contexts_url: string; +}; +declare type ReposUpdateBranchProtectionResponseData = { + url: string; + required_status_checks: ReposUpdateBranchProtectionResponseDataRequiredStatusChecks; + enforce_admins: ReposUpdateBranchProtectionResponseDataEnforceAdmins; + required_pull_request_reviews: ReposUpdateBranchProtectionResponseDataRequiredPullRequestReviews; + restrictions: ReposUpdateBranchProtectionResponseDataRestrictions; + required_linear_history: ReposUpdateBranchProtectionResponseDataRequiredLinearHistory; + allow_force_pushes: ReposUpdateBranchProtectionResponseDataAllowForcePushes; + allow_deletions: ReposUpdateBranchProtectionResponseDataAllowDeletions; +}; +declare type ReposRemoveBranchProtectionEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposRemoveBranchProtectionRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetProtectedBranchAdminEnforcementEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposGetProtectedBranchAdminEnforcementRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection/enforce_admins"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetProtectedBranchAdminEnforcementResponseData = { + url: string; + enabled: boolean; +}; +declare type ReposAddProtectedBranchAdminEnforcementEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposAddProtectedBranchAdminEnforcementRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/branches/:branch/protection/enforce_admins"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposAddProtectedBranchAdminEnforcementResponseData = { + url: string; + enabled: boolean; +}; +declare type ReposRemoveProtectedBranchAdminEnforcementEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposRemoveProtectedBranchAdminEnforcementRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection/enforce_admins"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetProtectedBranchPullRequestReviewEnforcementEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposGetProtectedBranchPullRequestReviewEnforcementRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetProtectedBranchPullRequestReviewEnforcementResponseDataDismissalRestrictionsTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposGetProtectedBranchPullRequestReviewEnforcementResponseDataDismissalRestrictionsUsersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetProtectedBranchPullRequestReviewEnforcementResponseDataDismissalRestrictions = { + url: string; + users_url: string; + teams_url: string; + users: Array; + teams: Array; +}; +declare type ReposGetProtectedBranchPullRequestReviewEnforcementResponseData = { + url: string; + dismissal_restrictions: ReposGetProtectedBranchPullRequestReviewEnforcementResponseDataDismissalRestrictions; + dismiss_stale_reviews: boolean; + require_code_owner_reviews: boolean; + required_approving_review_count: number; +}; +declare type ReposUpdateProtectedBranchPullRequestReviewEnforcementEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * Specify which users and teams can dismiss pull request reviews. Pass an empty `dismissal_restrictions` object to disable. User and team `dismissal_restrictions` are only available for organization-owned repositories. Omit this parameter for personal repositories. + */ + dismissal_restrictions?: ReposUpdateProtectedBranchPullRequestReviewEnforcementParamsDismissalRestrictions; + /** + * Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit. + */ + dismiss_stale_reviews?: boolean; + /** + * Blocks merging pull requests until [code owners](https://help.github.com/articles/about-code-owners/) have reviewed. + */ + require_code_owner_reviews?: boolean; + /** + * Specifies the number of reviewers required to approve pull requests. Use a number between 1 and 6. + */ + required_approving_review_count?: number; +}; +declare type ReposUpdateProtectedBranchPullRequestReviewEnforcementRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseDataDismissalRestrictionsTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseDataDismissalRestrictionsUsersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseDataDismissalRestrictions = { + url: string; + users_url: string; + teams_url: string; + users: Array; + teams: Array; +}; +declare type ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseData = { + url: string; + dismissal_restrictions: ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseDataDismissalRestrictions; + dismiss_stale_reviews: boolean; + require_code_owner_reviews: boolean; + required_approving_review_count: number; +}; +declare type ReposRemoveProtectedBranchPullRequestReviewEnforcementEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposRemoveProtectedBranchPullRequestReviewEnforcementRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetProtectedBranchRequiredSignaturesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +} & RequiredPreview<"zzzax">; +declare type ReposGetProtectedBranchRequiredSignaturesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_signatures"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetProtectedBranchRequiredSignaturesResponseData = { + url: string; + enabled: boolean; +}; +declare type ReposAddProtectedBranchRequiredSignaturesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +} & RequiredPreview<"zzzax">; +declare type ReposAddProtectedBranchRequiredSignaturesRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_signatures"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposAddProtectedBranchRequiredSignaturesResponseData = { + url: string; + enabled: boolean; +}; +declare type ReposRemoveProtectedBranchRequiredSignaturesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +} & RequiredPreview<"zzzax">; +declare type ReposRemoveProtectedBranchRequiredSignaturesRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_signatures"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetProtectedBranchRequiredStatusChecksEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposGetProtectedBranchRequiredStatusChecksRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetProtectedBranchRequiredStatusChecksResponseData = { + url: string; + strict: boolean; + contexts: Array; + contexts_url: string; +}; +declare type ReposUpdateProtectedBranchRequiredStatusChecksEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * Require branches to be up to date before merging. + */ + strict?: boolean; + /** + * The list of status checks to require in order to merge into this branch + */ + contexts?: string[]; +}; +declare type ReposUpdateProtectedBranchRequiredStatusChecksRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateProtectedBranchRequiredStatusChecksResponseData = { + url: string; + strict: boolean; + contexts: Array; + contexts_url: string; +}; +declare type ReposRemoveProtectedBranchRequiredStatusChecksEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposRemoveProtectedBranchRequiredStatusChecksRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListProtectedBranchRequiredStatusChecksContextsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposListProtectedBranchRequiredStatusChecksContextsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListProtectedBranchRequiredStatusChecksContextsResponseData = Array; +declare type ReposReplaceProtectedBranchRequiredStatusChecksContextsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * contexts parameter + */ + contexts: string[]; +}; +declare type ReposReplaceProtectedBranchRequiredStatusChecksContextsRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposReplaceProtectedBranchRequiredStatusChecksContextsResponseData = Array; +declare type ReposAddProtectedBranchRequiredStatusChecksContextsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * contexts parameter + */ + contexts: string[]; +}; +declare type ReposAddProtectedBranchRequiredStatusChecksContextsRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposAddProtectedBranchRequiredStatusChecksContextsResponseData = Array; +declare type ReposRemoveProtectedBranchRequiredStatusChecksContextsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * contexts parameter + */ + contexts: string[]; +}; +declare type ReposRemoveProtectedBranchRequiredStatusChecksContextsRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposRemoveProtectedBranchRequiredStatusChecksContextsResponseData = Array; +declare type ReposGetProtectedBranchRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposGetProtectedBranchRestrictionsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetProtectedBranchRestrictionsResponseDataAppsItemPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ReposGetProtectedBranchRestrictionsResponseDataAppsItemOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ReposGetProtectedBranchRestrictionsResponseDataAppsItem = { + id: number; + slug: string; + node_id: string; + owner: ReposGetProtectedBranchRestrictionsResponseDataAppsItemOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ReposGetProtectedBranchRestrictionsResponseDataAppsItemPermissions; + events: Array; +}; +declare type ReposGetProtectedBranchRestrictionsResponseDataTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposGetProtectedBranchRestrictionsResponseDataUsersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetProtectedBranchRestrictionsResponseData = { + url: string; + users_url: string; + teams_url: string; + apps_url: string; + users: Array; + teams: Array; + apps: Array; +}; +declare type ReposRemoveProtectedBranchRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposRemoveProtectedBranchRestrictionsRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetAppsWithAccessToProtectedBranchEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposGetAppsWithAccessToProtectedBranchRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/apps"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetAppsWithAccessToProtectedBranchResponseDataItemPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ReposGetAppsWithAccessToProtectedBranchResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ReposGetAppsWithAccessToProtectedBranchResponseDataItem = { + id: number; + slug: string; + node_id: string; + owner: ReposGetAppsWithAccessToProtectedBranchResponseDataItemOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ReposGetAppsWithAccessToProtectedBranchResponseDataItemPermissions; + events: Array; +}; +declare type ReposGetAppsWithAccessToProtectedBranchResponseData = Array; +declare type ReposReplaceProtectedBranchAppRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * apps parameter + */ + apps: string[]; +}; +declare type ReposReplaceProtectedBranchAppRestrictionsRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/apps"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposReplaceProtectedBranchAppRestrictionsResponseDataItemPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ReposReplaceProtectedBranchAppRestrictionsResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ReposReplaceProtectedBranchAppRestrictionsResponseDataItem = { + id: number; + slug: string; + node_id: string; + owner: ReposReplaceProtectedBranchAppRestrictionsResponseDataItemOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ReposReplaceProtectedBranchAppRestrictionsResponseDataItemPermissions; + events: Array; +}; +declare type ReposReplaceProtectedBranchAppRestrictionsResponseData = Array; +declare type ReposAddProtectedBranchAppRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * apps parameter + */ + apps: string[]; +}; +declare type ReposAddProtectedBranchAppRestrictionsRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/apps"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposAddProtectedBranchAppRestrictionsResponseDataItemPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ReposAddProtectedBranchAppRestrictionsResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ReposAddProtectedBranchAppRestrictionsResponseDataItem = { + id: number; + slug: string; + node_id: string; + owner: ReposAddProtectedBranchAppRestrictionsResponseDataItemOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ReposAddProtectedBranchAppRestrictionsResponseDataItemPermissions; + events: Array; +}; +declare type ReposAddProtectedBranchAppRestrictionsResponseData = Array; +declare type ReposRemoveProtectedBranchAppRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * apps parameter + */ + apps: string[]; +}; +declare type ReposRemoveProtectedBranchAppRestrictionsRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/apps"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposRemoveProtectedBranchAppRestrictionsResponseDataItemPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ReposRemoveProtectedBranchAppRestrictionsResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ReposRemoveProtectedBranchAppRestrictionsResponseDataItem = { + id: number; + slug: string; + node_id: string; + owner: ReposRemoveProtectedBranchAppRestrictionsResponseDataItemOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ReposRemoveProtectedBranchAppRestrictionsResponseDataItemPermissions; + events: Array; +}; +declare type ReposRemoveProtectedBranchAppRestrictionsResponseData = Array; +declare type ReposGetTeamsWithAccessToProtectedBranchEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposGetTeamsWithAccessToProtectedBranchRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetTeamsWithAccessToProtectedBranchResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposGetTeamsWithAccessToProtectedBranchResponseData = Array; +declare type ReposReplaceProtectedBranchTeamRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * teams parameter + */ + teams: string[]; +}; +declare type ReposReplaceProtectedBranchTeamRestrictionsRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposReplaceProtectedBranchTeamRestrictionsResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposReplaceProtectedBranchTeamRestrictionsResponseData = Array; +declare type ReposAddProtectedBranchTeamRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * teams parameter + */ + teams: string[]; +}; +declare type ReposAddProtectedBranchTeamRestrictionsRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposAddProtectedBranchTeamRestrictionsResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposAddProtectedBranchTeamRestrictionsResponseData = Array; +declare type ReposRemoveProtectedBranchTeamRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * teams parameter + */ + teams: string[]; +}; +declare type ReposRemoveProtectedBranchTeamRestrictionsRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposRemoveProtectedBranchTeamRestrictionsResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposRemoveProtectedBranchTeamRestrictionsResponseData = Array; +declare type ReposGetUsersWithAccessToProtectedBranchEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposGetUsersWithAccessToProtectedBranchRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/users"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetUsersWithAccessToProtectedBranchResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetUsersWithAccessToProtectedBranchResponseData = Array; +declare type ReposReplaceProtectedBranchUserRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * users parameter + */ + users: string[]; +}; +declare type ReposReplaceProtectedBranchUserRestrictionsRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/users"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposReplaceProtectedBranchUserRestrictionsResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposReplaceProtectedBranchUserRestrictionsResponseData = Array; +declare type ReposAddProtectedBranchUserRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * users parameter + */ + users: string[]; +}; +declare type ReposAddProtectedBranchUserRestrictionsRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/users"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposAddProtectedBranchUserRestrictionsResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposAddProtectedBranchUserRestrictionsResponseData = Array; +declare type ReposRemoveProtectedBranchUserRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * users parameter + */ + users: string[]; +}; +declare type ReposRemoveProtectedBranchUserRestrictionsRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/users"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposRemoveProtectedBranchUserRestrictionsResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposRemoveProtectedBranchUserRestrictionsResponseData = Array; +declare type ChecksCreateEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The name of the check. For example, "code-coverage". + */ + name: string; + /** + * The SHA of the commit. + */ + head_sha: string; + /** + * The URL of the integrator's site that has the full details of the check. If the integrator does not provide this, then the homepage of the GitHub app is used. + */ + details_url?: string; + /** + * A reference for the run on the integrator's system. + */ + external_id?: string; + /** + * The current status. Can be one of `queued`, `in_progress`, or `completed`. + */ + status?: "queued" | "in_progress" | "completed"; + /** + * The time that the check run began. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + started_at?: string; + /** + * **Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. Can be one of `success`, `failure`, `neutral`, `cancelled`, `skipped`, `timed_out`, or `action_required`. When the conclusion is `action_required`, additional details should be provided on the site specified by `details_url`. + * **Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. Only GitHub can change a check run conclusion to `stale`. + */ + conclusion?: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required"; + /** + * The time the check completed. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + completed_at?: string; + /** + * Check runs can accept a variety of data in the `output` object, including a `title` and `summary` and can optionally provide descriptive details about the run. See the [`output` object](https://developer.github.com/v3/checks/runs/#output-object) description. + */ + output?: ChecksCreateParamsOutput; + /** + * Displays a button on GitHub that can be clicked to alert your app to do additional tasks. For example, a code linting app can display a button that automatically fixes detected errors. The button created in this object is displayed after the check run completes. When a user clicks the button, GitHub sends the [`check_run.requested_action` webhook](https://developer.github.com/v3/activity/events/types/#checkrunevent) to your app. Each action includes a `label`, `identifier` and `description`. A maximum of three actions are accepted. See the [`actions` object](https://developer.github.com/v3/checks/runs/#actions-object) description. To learn more about check runs and requested actions, see "[Check runs and requested actions](https://developer.github.com/v3/checks/runs/#check-runs-and-requested-actions)." To learn more about check runs and requested actions, see "[Check runs and requested actions](https://developer.github.com/v3/checks/runs/#check-runs-and-requested-actions)." + */ + actions?: ChecksCreateParamsActions[]; +} & RequiredPreview<"antiope">; +declare type ChecksCreateRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/check-runs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksCreateResponseDataPullRequestsItemBaseRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksCreateResponseDataPullRequestsItemBase = { + ref: string; + sha: string; + repo: ChecksCreateResponseDataPullRequestsItemBaseRepo; +}; +declare type ChecksCreateResponseDataPullRequestsItemHeadRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksCreateResponseDataPullRequestsItemHead = { + ref: string; + sha: string; + repo: ChecksCreateResponseDataPullRequestsItemHeadRepo; +}; +declare type ChecksCreateResponseDataPullRequestsItem = { + url: string; + id: number; + number: number; + head: ChecksCreateResponseDataPullRequestsItemHead; + base: ChecksCreateResponseDataPullRequestsItemBase; +}; +declare type ChecksCreateResponseDataAppPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ChecksCreateResponseDataAppOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ChecksCreateResponseDataApp = { + id: number; + slug: string; + node_id: string; + owner: ChecksCreateResponseDataAppOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ChecksCreateResponseDataAppPermissions; + events: Array; +}; +declare type ChecksCreateResponseDataCheckSuite = { + id: number; +}; +declare type ChecksCreateResponseDataOutput = { + title: string; + summary: string; + text: string; + annotations_count?: number; + annotations_url?: string; +}; +declare type ChecksCreateResponseData = { + id: number; + head_sha: string; + node_id: string; + external_id: string; + url: string; + html_url: string; + details_url: string; + status: string; + conclusion: null | string; + started_at: string; + completed_at: null | string; + output: ChecksCreateResponseDataOutput; + name: string; + check_suite: ChecksCreateResponseDataCheckSuite; + app: ChecksCreateResponseDataApp; + pull_requests: Array; +}; +declare type ChecksUpdateEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * check_run_id parameter + */ + check_run_id: number; + /** + * The name of the check. For example, "code-coverage". + */ + name?: string; + /** + * The URL of the integrator's site that has the full details of the check. + */ + details_url?: string; + /** + * A reference for the run on the integrator's system. + */ + external_id?: string; + /** + * This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + started_at?: string; + /** + * The current status. Can be one of `queued`, `in_progress`, or `completed`. + */ + status?: "queued" | "in_progress" | "completed"; + /** + * **Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. Can be one of `success`, `failure`, `neutral`, `cancelled`, `skipped`, `timed_out`, or `action_required`. + * **Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. Only GitHub can change a check run conclusion to `stale`. + */ + conclusion?: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required"; + /** + * The time the check completed. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + completed_at?: string; + /** + * Check runs can accept a variety of data in the `output` object, including a `title` and `summary` and can optionally provide descriptive details about the run. See the [`output` object](https://developer.github.com/v3/checks/runs/#output-object-1) description. + */ + output?: ChecksUpdateParamsOutput; + /** + * Possible further actions the integrator can perform, which a user may trigger. Each action includes a `label`, `identifier` and `description`. A maximum of three actions are accepted. See the [`actions` object](https://developer.github.com/v3/checks/runs/#actions-object) description. To learn more about check runs and requested actions, see "[Check runs and requested actions](https://developer.github.com/v3/checks/runs/#check-runs-and-requested-actions)." + */ + actions?: ChecksUpdateParamsActions[]; +} & RequiredPreview<"antiope">; +declare type ChecksUpdateRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/check-runs/:check_run_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksUpdateResponseDataPullRequestsItemBaseRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksUpdateResponseDataPullRequestsItemBase = { + ref: string; + sha: string; + repo: ChecksUpdateResponseDataPullRequestsItemBaseRepo; +}; +declare type ChecksUpdateResponseDataPullRequestsItemHeadRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksUpdateResponseDataPullRequestsItemHead = { + ref: string; + sha: string; + repo: ChecksUpdateResponseDataPullRequestsItemHeadRepo; +}; +declare type ChecksUpdateResponseDataPullRequestsItem = { + url: string; + id: number; + number: number; + head: ChecksUpdateResponseDataPullRequestsItemHead; + base: ChecksUpdateResponseDataPullRequestsItemBase; +}; +declare type ChecksUpdateResponseDataAppPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ChecksUpdateResponseDataAppOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ChecksUpdateResponseDataApp = { + id: number; + slug: string; + node_id: string; + owner: ChecksUpdateResponseDataAppOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ChecksUpdateResponseDataAppPermissions; + events: Array; +}; +declare type ChecksUpdateResponseDataCheckSuite = { + id: number; +}; +declare type ChecksUpdateResponseDataOutput = { + title: string; + summary: string; + text: string; + annotations_count: number; + annotations_url: string; +}; +declare type ChecksUpdateResponseData = { + id: number; + head_sha: string; + node_id: string; + external_id: string; + url: string; + html_url: string; + details_url: string; + status: string; + conclusion: string; + started_at: string; + completed_at: string; + output: ChecksUpdateResponseDataOutput; + name: string; + check_suite: ChecksUpdateResponseDataCheckSuite; + app: ChecksUpdateResponseDataApp; + pull_requests: Array; +}; +declare type ChecksGetEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * check_run_id parameter + */ + check_run_id: number; +} & RequiredPreview<"antiope">; +declare type ChecksGetRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/check-runs/:check_run_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksGetResponseDataPullRequestsItemBaseRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksGetResponseDataPullRequestsItemBase = { + ref: string; + sha: string; + repo: ChecksGetResponseDataPullRequestsItemBaseRepo; +}; +declare type ChecksGetResponseDataPullRequestsItemHeadRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksGetResponseDataPullRequestsItemHead = { + ref: string; + sha: string; + repo: ChecksGetResponseDataPullRequestsItemHeadRepo; +}; +declare type ChecksGetResponseDataPullRequestsItem = { + url: string; + id: number; + number: number; + head: ChecksGetResponseDataPullRequestsItemHead; + base: ChecksGetResponseDataPullRequestsItemBase; +}; +declare type ChecksGetResponseDataAppPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ChecksGetResponseDataAppOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ChecksGetResponseDataApp = { + id: number; + slug: string; + node_id: string; + owner: ChecksGetResponseDataAppOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ChecksGetResponseDataAppPermissions; + events: Array; +}; +declare type ChecksGetResponseDataCheckSuite = { + id: number; +}; +declare type ChecksGetResponseDataOutput = { + title: string; + summary: string; + text: string; + annotations_count: number; + annotations_url: string; +}; +declare type ChecksGetResponseData = { + id: number; + head_sha: string; + node_id: string; + external_id: string; + url: string; + html_url: string; + details_url: string; + status: string; + conclusion: string; + started_at: string; + completed_at: string; + output: ChecksGetResponseDataOutput; + name: string; + check_suite: ChecksGetResponseDataCheckSuite; + app: ChecksGetResponseDataApp; + pull_requests: Array; +}; +declare type ChecksListAnnotationsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * check_run_id parameter + */ + check_run_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"antiope">; +declare type ChecksListAnnotationsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/check-runs/:check_run_id/annotations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksListAnnotationsResponseDataItem = { + path: string; + start_line: number; + end_line: number; + start_column: number; + end_column: number; + annotation_level: string; + title: string; + message: string; + raw_details: string; +}; +declare type ChecksListAnnotationsResponseData = Array; +declare type ChecksCreateSuiteEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The sha of the head commit. + */ + head_sha: string; +} & RequiredPreview<"antiope">; +declare type ChecksCreateSuiteRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/check-suites"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksCreateSuiteResponseDataRepositoryPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ChecksCreateSuiteResponseDataRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ChecksCreateSuiteResponseDataRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ChecksCreateSuiteResponseDataRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ChecksCreateSuiteResponseDataRepositoryPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ChecksCreateSuiteResponseDataAppPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ChecksCreateSuiteResponseDataAppOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ChecksCreateSuiteResponseDataApp = { + id: number; + slug: string; + node_id: string; + owner: ChecksCreateSuiteResponseDataAppOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ChecksCreateSuiteResponseDataAppPermissions; + events: Array; +}; +declare type ChecksCreateSuiteResponseData = { + id: number; + node_id: string; + head_branch: string; + head_sha: string; + status: string; + conclusion: string; + url: string; + before: string; + after: string; + pull_requests: Array; + app: ChecksCreateSuiteResponseDataApp; + repository: ChecksCreateSuiteResponseDataRepository; +}; +declare type ChecksSetSuitesPreferencesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Enables or disables automatic creation of CheckSuite events upon pushes to the repository. Enabled by default. See the [`auto_trigger_checks` object](https://developer.github.com/v3/checks/suites/#auto_trigger_checks-object) description for details. + */ + auto_trigger_checks?: ChecksSetSuitesPreferencesParamsAutoTriggerChecks[]; +} & RequiredPreview<"antiope">; +declare type ChecksSetSuitesPreferencesRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/check-suites/preferences"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksSetSuitesPreferencesResponseDataRepositoryPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ChecksSetSuitesPreferencesResponseDataRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ChecksSetSuitesPreferencesResponseDataRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ChecksSetSuitesPreferencesResponseDataRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ChecksSetSuitesPreferencesResponseDataRepositoryPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ChecksSetSuitesPreferencesResponseDataPreferencesAutoTriggerChecksItem = { + app_id: number; + setting: boolean; +}; +declare type ChecksSetSuitesPreferencesResponseDataPreferences = { + auto_trigger_checks: Array; +}; +declare type ChecksSetSuitesPreferencesResponseData = { + preferences: ChecksSetSuitesPreferencesResponseDataPreferences; + repository: ChecksSetSuitesPreferencesResponseDataRepository; +}; +declare type ChecksGetSuiteEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * check_suite_id parameter + */ + check_suite_id: number; +} & RequiredPreview<"antiope">; +declare type ChecksGetSuiteRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/check-suites/:check_suite_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksGetSuiteResponseDataRepositoryPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ChecksGetSuiteResponseDataRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ChecksGetSuiteResponseDataRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ChecksGetSuiteResponseDataRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ChecksGetSuiteResponseDataRepositoryPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ChecksGetSuiteResponseDataAppPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ChecksGetSuiteResponseDataAppOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ChecksGetSuiteResponseDataApp = { + id: number; + slug: string; + node_id: string; + owner: ChecksGetSuiteResponseDataAppOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ChecksGetSuiteResponseDataAppPermissions; + events: Array; +}; +declare type ChecksGetSuiteResponseData = { + id: number; + node_id: string; + head_branch: string; + head_sha: string; + status: string; + conclusion: string; + url: string; + before: string; + after: string; + pull_requests: Array; + app: ChecksGetSuiteResponseDataApp; + repository: ChecksGetSuiteResponseDataRepository; +}; +declare type ChecksListForSuiteEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * check_suite_id parameter + */ + check_suite_id: number; + /** + * Returns check runs with the specified `name`. + */ + check_name?: string; + /** + * Returns check runs with the specified `status`. Can be one of `queued`, `in_progress`, or `completed`. + */ + status?: "queued" | "in_progress" | "completed"; + /** + * Filters check runs by their `completed_at` timestamp. Can be one of `latest` (returning the most recent check runs) or `all`. + */ + filter?: "latest" | "all"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"antiope">; +declare type ChecksListForSuiteRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/check-suites/:check_suite_id/check-runs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemPullRequestsItemBaseRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemPullRequestsItemBase = { + ref: string; + sha: string; + repo: ChecksListForSuiteResponseDataCheckRunsItemPullRequestsItemBaseRepo; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemPullRequestsItemHeadRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemPullRequestsItemHead = { + ref: string; + sha: string; + repo: ChecksListForSuiteResponseDataCheckRunsItemPullRequestsItemHeadRepo; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemPullRequestsItem = { + url: string; + id: number; + number: number; + head: ChecksListForSuiteResponseDataCheckRunsItemPullRequestsItemHead; + base: ChecksListForSuiteResponseDataCheckRunsItemPullRequestsItemBase; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemAppPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemAppOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemApp = { + id: number; + slug: string; + node_id: string; + owner: ChecksListForSuiteResponseDataCheckRunsItemAppOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ChecksListForSuiteResponseDataCheckRunsItemAppPermissions; + events: Array; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemCheckSuite = { + id: number; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemOutput = { + title: string; + summary: string; + text: string; + annotations_count: number; + annotations_url: string; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItem = { + id: number; + head_sha: string; + node_id: string; + external_id: string; + url: string; + html_url: string; + details_url: string; + status: string; + conclusion: string; + started_at: string; + completed_at: string; + output: ChecksListForSuiteResponseDataCheckRunsItemOutput; + name: string; + check_suite: ChecksListForSuiteResponseDataCheckRunsItemCheckSuite; + app: ChecksListForSuiteResponseDataCheckRunsItemApp; + pull_requests: Array; +}; +declare type ChecksListForSuiteResponseData = { + total_count: number; + check_runs: Array; +}; +declare type ChecksRerequestSuiteEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * check_suite_id parameter + */ + check_suite_id: number; +} & RequiredPreview<"antiope">; +declare type ChecksRerequestSuiteRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/check-suites/:check_suite_id/rerequest"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type CodeScanningListAlertsForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Set to `closed` to list only closed code scanning alerts. + */ + state?: string; + /** + * Returns a list of code scanning alerts for a specific brach reference. The `ref` must be formatted as `heads/`. + */ + ref?: string; +}; +declare type CodeScanningListAlertsForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/code-scanning/alerts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type CodeScanningListAlertsForRepoResponseDataItem = { + rule_id: string; + rule_severity: string; + rule_description: string; + tool: string; + created_at: string; + open: boolean; + closed_by: null; + closed_at: null; + url: string; + html_url: string; +}; +declare type CodeScanningListAlertsForRepoResponseData = Array; +declare type CodeScanningGetAlertEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * alert_id parameter + */ + alert_id: number; +}; +declare type CodeScanningGetAlertRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/code-scanning/alerts/:alert_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type CodeScanningGetAlertResponseData = { + rule_id: string; + rule_severity: string; + rule_description: string; + tool: string; + created_at: string; + open: boolean; + closed_by: null; + closed_at: null; + url: string; + html_url: string; +}; +declare type ReposListCollaboratorsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Filter collaborators returned by their affiliation. Can be one of: + * \* `outside`: All outside collaborators of an organization-owned repository. + * \* `direct`: All collaborators with permissions to an organization-owned repository, regardless of organization membership status. + * \* `all`: All collaborators the authenticated user can see. + */ + affiliation?: "outside" | "direct" | "all"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListCollaboratorsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/collaborators"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListCollaboratorsResponseDataItemPermissions = { + pull: boolean; + push: boolean; + admin: boolean; +}; +declare type ReposListCollaboratorsResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; + permissions: ReposListCollaboratorsResponseDataItemPermissions; +}; +declare type ReposListCollaboratorsResponseData = Array; +declare type ReposCheckCollaboratorEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * username parameter + */ + username: string; +}; +declare type ReposCheckCollaboratorRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/collaborators/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposAddCollaboratorEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * username parameter + */ + username: string; + /** + * The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: + * \* `pull` - can pull, but not push to or administer this repository. + * \* `push` - can pull and push, but not administer this repository. + * \* `admin` - can pull, push and administer this repository. + * \* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. + * \* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access. + */ + permission?: "pull" | "push" | "admin" | "maintain" | "triage"; +}; +declare type ReposAddCollaboratorRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/collaborators/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposAddCollaboratorResponseDataInviter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposAddCollaboratorResponseDataInvitee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposAddCollaboratorResponseDataRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposAddCollaboratorResponseDataRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposAddCollaboratorResponseDataRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ReposAddCollaboratorResponseData = { + id: number; + repository: ReposAddCollaboratorResponseDataRepository; + invitee: ReposAddCollaboratorResponseDataInvitee; + inviter: ReposAddCollaboratorResponseDataInviter; + permissions: string; + created_at: string; + url: string; + html_url: string; +}; +declare type ReposRemoveCollaboratorEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * username parameter + */ + username: string; +}; +declare type ReposRemoveCollaboratorRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/collaborators/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetCollaboratorPermissionLevelEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * username parameter + */ + username: string; +}; +declare type ReposGetCollaboratorPermissionLevelRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/collaborators/:username/permission"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetCollaboratorPermissionLevelResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetCollaboratorPermissionLevelResponseData = { + permission: string; + user: ReposGetCollaboratorPermissionLevelResponseDataUser; +}; +declare type ReposListCommitCommentsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListCommitCommentsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListCommitCommentsResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListCommitCommentsResponseDataItem = { + html_url: string; + url: string; + id: number; + node_id: string; + body: string; + path: string; + position: number; + line: number; + commit_id: string; + user: ReposListCommitCommentsResponseDataItemUser; + created_at: string; + updated_at: string; +}; +declare type ReposListCommitCommentsResponseData = Array; +declare type ReposGetCommitCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; +}; +declare type ReposGetCommitCommentRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetCommitCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetCommitCommentResponseData = { + html_url: string; + url: string; + id: number; + node_id: string; + body: string; + path: string; + position: number; + line: number; + commit_id: string; + user: ReposGetCommitCommentResponseDataUser; + created_at: string; + updated_at: string; +}; +declare type ReposUpdateCommitCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * The contents of the comment + */ + body: string; +}; +declare type ReposUpdateCommitCommentRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateCommitCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateCommitCommentResponseData = { + html_url: string; + url: string; + id: number; + node_id: string; + body: string; + path: string; + position: number; + line: number; + commit_id: string; + user: ReposUpdateCommitCommentResponseDataUser; + created_at: string; + updated_at: string; +}; +declare type ReposDeleteCommitCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; +}; +declare type ReposDeleteCommitCommentRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForCommitCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to a commit comment. + */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsListForCommitCommentRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/comments/:comment_id/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForCommitCommentResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsListForCommitCommentResponseDataItem = { + id: number; + node_id: string; + user: ReactionsListForCommitCommentResponseDataItemUser; + content: string; + created_at: string; +}; +declare type ReactionsListForCommitCommentResponseData = Array; +declare type ReactionsCreateForCommitCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the commit comment. + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsCreateForCommitCommentRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/comments/:comment_id/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsCreateForCommitCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsCreateForCommitCommentResponseData = { + id: number; + node_id: string; + user: ReactionsCreateForCommitCommentResponseDataUser; + content: string; + created_at: string; +}; +declare type ReactionsDeleteForCommitCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * reaction_id parameter + */ + reaction_id: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsDeleteForCommitCommentRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/comments/:comment_id/reactions/:reaction_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListCommitsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * SHA or branch to start listing commits from. Default: the repository’s default branch (usually `master`). + */ + sha?: string; + /** + * Only commits containing this file path will be returned. + */ + path?: string; + /** + * GitHub login or email address by which to filter by commit author. + */ + author?: string; + /** + * Only commits after this date will be returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; + /** + * Only commits before this date will be returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + until?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListCommitsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/commits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListCommitsResponseDataItemParentsItem = { + url: string; + sha: string; +}; +declare type ReposListCommitsResponseDataItemCommitter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListCommitsResponseDataItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListCommitsResponseDataItemCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type ReposListCommitsResponseDataItemCommitTree = { + url: string; + sha: string; +}; +declare type ReposListCommitsResponseDataItemCommitCommitter = { + name: string; + email: string; + date: string; +}; +declare type ReposListCommitsResponseDataItemCommitAuthor = { + name: string; + email: string; + date: string; +}; +declare type ReposListCommitsResponseDataItemCommit = { + url: string; + author: ReposListCommitsResponseDataItemCommitAuthor; + committer: ReposListCommitsResponseDataItemCommitCommitter; + message: string; + tree: ReposListCommitsResponseDataItemCommitTree; + comment_count: number; + verification: ReposListCommitsResponseDataItemCommitVerification; +}; +declare type ReposListCommitsResponseDataItem = { + url: string; + sha: string; + node_id: string; + html_url: string; + comments_url: string; + commit: ReposListCommitsResponseDataItemCommit; + author: ReposListCommitsResponseDataItemAuthor; + committer: ReposListCommitsResponseDataItemCommitter; + parents: Array; +}; +declare type ReposListCommitsResponseData = Array; +declare type ReposListBranchesForHeadCommitEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * commit_sha parameter + */ + commit_sha: string; +} & RequiredPreview<"groot">; +declare type ReposListBranchesForHeadCommitRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/commits/:commit_sha/branches-where-head"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListBranchesForHeadCommitResponseDataItemCommit = { + sha: string; + url: string; +}; +declare type ReposListBranchesForHeadCommitResponseDataItem = { + name: string; + commit: ReposListBranchesForHeadCommitResponseDataItemCommit; + protected: boolean; +}; +declare type ReposListBranchesForHeadCommitResponseData = Array; +declare type ReposListCommentsForCommitEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * commit_sha parameter + */ + commit_sha: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListCommentsForCommitRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/commits/:commit_sha/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListCommentsForCommitResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListCommentsForCommitResponseDataItem = { + html_url: string; + url: string; + id: number; + node_id: string; + body: string; + path: string; + position: number; + line: number; + commit_id: string; + user: ReposListCommentsForCommitResponseDataItemUser; + created_at: string; + updated_at: string; +}; +declare type ReposListCommentsForCommitResponseData = Array; +declare type ReposCreateCommitCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * commit_sha parameter + */ + commit_sha: string; + /** + * The contents of the comment. + */ + body: string; + /** + * Relative path of the file to comment on. + */ + path?: string; + /** + * Line index in the diff to comment on. + */ + position?: number; + /** + * **Deprecated**. Use **position** parameter instead. Line number in the file to comment on. + */ + line?: number; +}; +declare type ReposCreateCommitCommentRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/commits/:commit_sha/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateCommitCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateCommitCommentResponseData = { + html_url: string; + url: string; + id: number; + node_id: string; + body: string; + path: string; + position: number; + line: number; + commit_id: string; + user: ReposCreateCommitCommentResponseDataUser; + created_at: string; + updated_at: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * commit_sha parameter + */ + commit_sha: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"groot">; +declare type ReposListPullRequestsAssociatedWithCommitRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/commits/:commit_sha/pulls"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksStatuses = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksCommits = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksReviewComment = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksReviewComments = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksComments = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksIssue = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksHtml = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksSelf = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLinks = { + self: ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksSelf; + html: ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksHtml; + issue: ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksIssue; + comments: ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksComments; + review_comments: ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksReviewComments; + review_comment: ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksReviewComment; + commits: ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksCommits; + statuses: ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksStatuses; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemBaseRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemBaseRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemBaseRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposListPullRequestsAssociatedWithCommitResponseDataItemBaseRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposListPullRequestsAssociatedWithCommitResponseDataItemBaseRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemBaseUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemBase = { + label: string; + ref: string; + sha: string; + user: ReposListPullRequestsAssociatedWithCommitResponseDataItemBaseUser; + repo: ReposListPullRequestsAssociatedWithCommitResponseDataItemBaseRepo; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemHeadRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemHeadRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemHeadRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposListPullRequestsAssociatedWithCommitResponseDataItemHeadRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposListPullRequestsAssociatedWithCommitResponseDataItemHeadRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemHeadUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemHead = { + label: string; + ref: string; + sha: string; + user: ReposListPullRequestsAssociatedWithCommitResponseDataItemHeadUser; + repo: ReposListPullRequestsAssociatedWithCommitResponseDataItemHeadRepo; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemRequestedTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemRequestedReviewersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: ReposListPullRequestsAssociatedWithCommitResponseDataItemMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItem = { + url: string; + id: number; + node_id: string; + html_url: string; + diff_url: string; + patch_url: string; + issue_url: string; + commits_url: string; + review_comments_url: string; + review_comment_url: string; + comments_url: string; + statuses_url: string; + number: number; + state: string; + locked: boolean; + title: string; + user: ReposListPullRequestsAssociatedWithCommitResponseDataItemUser; + body: string; + labels: Array; + milestone: ReposListPullRequestsAssociatedWithCommitResponseDataItemMilestone; + active_lock_reason: string; + created_at: string; + updated_at: string; + closed_at: string; + merged_at: string; + merge_commit_sha: string; + assignee: ReposListPullRequestsAssociatedWithCommitResponseDataItemAssignee; + assignees: Array; + requested_reviewers: Array; + requested_teams: Array; + head: ReposListPullRequestsAssociatedWithCommitResponseDataItemHead; + base: ReposListPullRequestsAssociatedWithCommitResponseDataItemBase; + _links: ReposListPullRequestsAssociatedWithCommitResponseDataItemLinks; + author_association: string; + draft: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseData = Array; +declare type ReposGetCommitEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * ref parameter + */ + ref: string; +}; +declare type ReposGetCommitRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/commits/:ref"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetCommitResponseDataFilesItem = { + filename: string; + additions: number; + deletions: number; + changes: number; + status: string; + raw_url: string; + blob_url: string; + patch: string; +}; +declare type ReposGetCommitResponseDataStats = { + additions: number; + deletions: number; + total: number; +}; +declare type ReposGetCommitResponseDataParentsItem = { + url: string; + sha: string; +}; +declare type ReposGetCommitResponseDataCommitter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetCommitResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetCommitResponseDataCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type ReposGetCommitResponseDataCommitTree = { + url: string; + sha: string; +}; +declare type ReposGetCommitResponseDataCommitCommitter = { + name: string; + email: string; + date: string; +}; +declare type ReposGetCommitResponseDataCommitAuthor = { + name: string; + email: string; + date: string; +}; +declare type ReposGetCommitResponseDataCommit = { + url: string; + author: ReposGetCommitResponseDataCommitAuthor; + committer: ReposGetCommitResponseDataCommitCommitter; + message: string; + tree: ReposGetCommitResponseDataCommitTree; + comment_count: number; + verification: ReposGetCommitResponseDataCommitVerification; +}; +declare type ReposGetCommitResponseData = { + url: string; + sha: string; + node_id: string; + html_url: string; + comments_url: string; + commit: ReposGetCommitResponseDataCommit; + author: ReposGetCommitResponseDataAuthor; + committer: ReposGetCommitResponseDataCommitter; + parents: Array; + stats: ReposGetCommitResponseDataStats; + files: Array; +}; +declare type ChecksListForRefEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * ref parameter + */ + ref: string; + /** + * Returns check runs with the specified `name`. + */ + check_name?: string; + /** + * Returns check runs with the specified `status`. Can be one of `queued`, `in_progress`, or `completed`. + */ + status?: "queued" | "in_progress" | "completed"; + /** + * Filters check runs by their `completed_at` timestamp. Can be one of `latest` (returning the most recent check runs) or `all`. + */ + filter?: "latest" | "all"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"antiope">; +declare type ChecksListForRefRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/commits/:ref/check-runs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksListForRefResponseDataCheckRunsItemPullRequestsItemBaseRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksListForRefResponseDataCheckRunsItemPullRequestsItemBase = { + ref: string; + sha: string; + repo: ChecksListForRefResponseDataCheckRunsItemPullRequestsItemBaseRepo; +}; +declare type ChecksListForRefResponseDataCheckRunsItemPullRequestsItemHeadRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksListForRefResponseDataCheckRunsItemPullRequestsItemHead = { + ref: string; + sha: string; + repo: ChecksListForRefResponseDataCheckRunsItemPullRequestsItemHeadRepo; +}; +declare type ChecksListForRefResponseDataCheckRunsItemPullRequestsItem = { + url: string; + id: number; + number: number; + head: ChecksListForRefResponseDataCheckRunsItemPullRequestsItemHead; + base: ChecksListForRefResponseDataCheckRunsItemPullRequestsItemBase; +}; +declare type ChecksListForRefResponseDataCheckRunsItemAppPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ChecksListForRefResponseDataCheckRunsItemAppOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ChecksListForRefResponseDataCheckRunsItemApp = { + id: number; + slug: string; + node_id: string; + owner: ChecksListForRefResponseDataCheckRunsItemAppOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ChecksListForRefResponseDataCheckRunsItemAppPermissions; + events: Array; +}; +declare type ChecksListForRefResponseDataCheckRunsItemCheckSuite = { + id: number; +}; +declare type ChecksListForRefResponseDataCheckRunsItemOutput = { + title: string; + summary: string; + text: string; + annotations_count: number; + annotations_url: string; +}; +declare type ChecksListForRefResponseDataCheckRunsItem = { + id: number; + head_sha: string; + node_id: string; + external_id: string; + url: string; + html_url: string; + details_url: string; + status: string; + conclusion: string; + started_at: string; + completed_at: string; + output: ChecksListForRefResponseDataCheckRunsItemOutput; + name: string; + check_suite: ChecksListForRefResponseDataCheckRunsItemCheckSuite; + app: ChecksListForRefResponseDataCheckRunsItemApp; + pull_requests: Array; +}; +declare type ChecksListForRefResponseData = { + total_count: number; + check_runs: Array; +}; +declare type ChecksListSuitesForRefEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * ref parameter + */ + ref: string; + /** + * Filters check suites by GitHub App `id`. + */ + app_id?: number; + /** + * Filters checks suites by the name of the [check run](https://developer.github.com/v3/checks/runs/). + */ + check_name?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"antiope">; +declare type ChecksListSuitesForRefRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/commits/:ref/check-suites"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksListSuitesForRefResponseDataCheckSuitesItemRepositoryPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ChecksListSuitesForRefResponseDataCheckSuitesItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ChecksListSuitesForRefResponseDataCheckSuitesItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ChecksListSuitesForRefResponseDataCheckSuitesItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ChecksListSuitesForRefResponseDataCheckSuitesItemRepositoryPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ChecksListSuitesForRefResponseDataCheckSuitesItemAppPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ChecksListSuitesForRefResponseDataCheckSuitesItemAppOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ChecksListSuitesForRefResponseDataCheckSuitesItemApp = { + id: number; + slug: string; + node_id: string; + owner: ChecksListSuitesForRefResponseDataCheckSuitesItemAppOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ChecksListSuitesForRefResponseDataCheckSuitesItemAppPermissions; + events: Array; +}; +declare type ChecksListSuitesForRefResponseDataCheckSuitesItem = { + id: number; + node_id: string; + head_branch: string; + head_sha: string; + status: string; + conclusion: string; + url: string; + before: string; + after: string; + pull_requests: Array; + app: ChecksListSuitesForRefResponseDataCheckSuitesItemApp; + repository: ChecksListSuitesForRefResponseDataCheckSuitesItemRepository; +}; +declare type ChecksListSuitesForRefResponseData = { + total_count: number; + check_suites: Array; +}; +declare type ReposGetCombinedStatusForRefEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * ref parameter + */ + ref: string; +}; +declare type ReposGetCombinedStatusForRefRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/commits/:ref/status"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetCombinedStatusForRefResponseDataRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetCombinedStatusForRefResponseDataRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposGetCombinedStatusForRefResponseDataRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ReposGetCombinedStatusForRefResponseDataStatusesItem = { + url: string; + avatar_url: string; + id: number; + node_id: string; + state: string; + description: string; + target_url: string; + context: string; + created_at: string; + updated_at: string; +}; +declare type ReposGetCombinedStatusForRefResponseData = { + state: string; + statuses: Array; + sha: string; + total_count: number; + repository: ReposGetCombinedStatusForRefResponseDataRepository; + commit_url: string; + url: string; +}; +declare type ReposListStatusesForRefEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * ref parameter + */ + ref: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListStatusesForRefRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/commits/:ref/statuses"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListStatusesForRefResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListStatusesForRefResponseDataItem = { + url: string; + avatar_url: string; + id: number; + node_id: string; + state: string; + description: string; + target_url: string; + context: string; + created_at: string; + updated_at: string; + creator: ReposListStatusesForRefResponseDataItemCreator; +}; +declare type ReposListStatusesForRefResponseData = Array; +declare type CodesOfConductGetForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"scarlet-witch">; +declare type CodesOfConductGetForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/community/code_of_conduct"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type CodesOfConductGetForRepoResponseData = { + key: string; + name: string; + url: string; + body: string; +}; +declare type ReposRetrieveCommunityProfileMetricsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposRetrieveCommunityProfileMetricsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/community/profile"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseDataFilesReadme = { + url: string; + html_url: string; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseDataFilesLicense = { + name: string; + key: string; + spdx_id: string; + url: string; + html_url: string; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseDataFilesPullRequestTemplate = { + url: string; + html_url: string; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseDataFilesIssueTemplate = { + url: string; + html_url: string; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseDataFilesContributing = { + url: string; + html_url: string; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseDataFilesCodeOfConduct = { + name: string; + key: string; + url: string; + html_url: string; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseDataFiles = { + code_of_conduct: ReposRetrieveCommunityProfileMetricsResponseDataFilesCodeOfConduct; + contributing: ReposRetrieveCommunityProfileMetricsResponseDataFilesContributing; + issue_template: ReposRetrieveCommunityProfileMetricsResponseDataFilesIssueTemplate; + pull_request_template: ReposRetrieveCommunityProfileMetricsResponseDataFilesPullRequestTemplate; + license: ReposRetrieveCommunityProfileMetricsResponseDataFilesLicense; + readme: ReposRetrieveCommunityProfileMetricsResponseDataFilesReadme; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseData = { + health_percentage: number; + description: string; + documentation: boolean; + files: ReposRetrieveCommunityProfileMetricsResponseDataFiles; + updated_at: string; +}; +declare type ReposCompareCommitsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * base parameter + */ + base: string; + /** + * head parameter + */ + head: string; +}; +declare type ReposCompareCommitsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/compare/:base...:head"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCompareCommitsResponseDataFilesItem = { + sha: string; + filename: string; + status: string; + additions: number; + deletions: number; + changes: number; + blob_url: string; + raw_url: string; + contents_url: string; + patch: string; +}; +declare type ReposCompareCommitsResponseDataCommitsItemParentsItem = { + url: string; + sha: string; +}; +declare type ReposCompareCommitsResponseDataCommitsItemCommitter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCompareCommitsResponseDataCommitsItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCompareCommitsResponseDataCommitsItemCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type ReposCompareCommitsResponseDataCommitsItemCommitTree = { + url: string; + sha: string; +}; +declare type ReposCompareCommitsResponseDataCommitsItemCommitCommitter = { + name: string; + email: string; + date: string; +}; +declare type ReposCompareCommitsResponseDataCommitsItemCommitAuthor = { + name: string; + email: string; + date: string; +}; +declare type ReposCompareCommitsResponseDataCommitsItemCommit = { + url: string; + author: ReposCompareCommitsResponseDataCommitsItemCommitAuthor; + committer: ReposCompareCommitsResponseDataCommitsItemCommitCommitter; + message: string; + tree: ReposCompareCommitsResponseDataCommitsItemCommitTree; + comment_count: number; + verification: ReposCompareCommitsResponseDataCommitsItemCommitVerification; +}; +declare type ReposCompareCommitsResponseDataCommitsItem = { + url: string; + sha: string; + node_id: string; + html_url: string; + comments_url: string; + commit: ReposCompareCommitsResponseDataCommitsItemCommit; + author: ReposCompareCommitsResponseDataCommitsItemAuthor; + committer: ReposCompareCommitsResponseDataCommitsItemCommitter; + parents: Array; +}; +declare type ReposCompareCommitsResponseDataMergeBaseCommitParentsItem = { + url: string; + sha: string; +}; +declare type ReposCompareCommitsResponseDataMergeBaseCommitCommitter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCompareCommitsResponseDataMergeBaseCommitAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCompareCommitsResponseDataMergeBaseCommitCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type ReposCompareCommitsResponseDataMergeBaseCommitCommitTree = { + url: string; + sha: string; +}; +declare type ReposCompareCommitsResponseDataMergeBaseCommitCommitCommitter = { + name: string; + email: string; + date: string; +}; +declare type ReposCompareCommitsResponseDataMergeBaseCommitCommitAuthor = { + name: string; + email: string; + date: string; +}; +declare type ReposCompareCommitsResponseDataMergeBaseCommitCommit = { + url: string; + author: ReposCompareCommitsResponseDataMergeBaseCommitCommitAuthor; + committer: ReposCompareCommitsResponseDataMergeBaseCommitCommitCommitter; + message: string; + tree: ReposCompareCommitsResponseDataMergeBaseCommitCommitTree; + comment_count: number; + verification: ReposCompareCommitsResponseDataMergeBaseCommitCommitVerification; +}; +declare type ReposCompareCommitsResponseDataMergeBaseCommit = { + url: string; + sha: string; + node_id: string; + html_url: string; + comments_url: string; + commit: ReposCompareCommitsResponseDataMergeBaseCommitCommit; + author: ReposCompareCommitsResponseDataMergeBaseCommitAuthor; + committer: ReposCompareCommitsResponseDataMergeBaseCommitCommitter; + parents: Array; +}; +declare type ReposCompareCommitsResponseDataBaseCommitParentsItem = { + url: string; + sha: string; +}; +declare type ReposCompareCommitsResponseDataBaseCommitCommitter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCompareCommitsResponseDataBaseCommitAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCompareCommitsResponseDataBaseCommitCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type ReposCompareCommitsResponseDataBaseCommitCommitTree = { + url: string; + sha: string; +}; +declare type ReposCompareCommitsResponseDataBaseCommitCommitCommitter = { + name: string; + email: string; + date: string; +}; +declare type ReposCompareCommitsResponseDataBaseCommitCommitAuthor = { + name: string; + email: string; + date: string; +}; +declare type ReposCompareCommitsResponseDataBaseCommitCommit = { + url: string; + author: ReposCompareCommitsResponseDataBaseCommitCommitAuthor; + committer: ReposCompareCommitsResponseDataBaseCommitCommitCommitter; + message: string; + tree: ReposCompareCommitsResponseDataBaseCommitCommitTree; + comment_count: number; + verification: ReposCompareCommitsResponseDataBaseCommitCommitVerification; +}; +declare type ReposCompareCommitsResponseDataBaseCommit = { + url: string; + sha: string; + node_id: string; + html_url: string; + comments_url: string; + commit: ReposCompareCommitsResponseDataBaseCommitCommit; + author: ReposCompareCommitsResponseDataBaseCommitAuthor; + committer: ReposCompareCommitsResponseDataBaseCommitCommitter; + parents: Array; +}; +declare type ReposCompareCommitsResponseData = { + url: string; + html_url: string; + permalink_url: string; + diff_url: string; + patch_url: string; + base_commit: ReposCompareCommitsResponseDataBaseCommit; + merge_base_commit: ReposCompareCommitsResponseDataMergeBaseCommit; + status: string; + ahead_by: number; + behind_by: number; + total_commits: number; + commits: Array; + files: Array; +}; +declare type ReposGetContentsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * path parameter + */ + path: string; + /** + * The name of the commit/branch/tag. Default: the repository’s default branch (usually `master`) + */ + ref?: string; +}; +declare type ReposGetContentsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/contents/:path"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetContentsResponseDataItemLinks = { + self: string; + git: string; + html: string; +}; +declare type ReposGetContentsResponseDataItem = { + type: string; + size: number; + name: string; + path: string; + sha: string; + url: string; + git_url: string; + html_url: string; + download_url: string | null; + _links: ReposGetContentsResponseDataItemLinks; +}; +declare type ReposGetContentsResponseDataLinks = { + git: string; + self: string; + html: string; +}; +declare type ReposGetContentsResponseData = { + type: string; + encoding?: string; + size: number; + name: string; + path: string; + content?: string; + sha: string; + url: string; + git_url: string; + html_url: string; + download_url: string | null; + _links: ReposGetContentsResponseDataLinks; + target?: string; + submodule_git_url?: string; +} | Array; +declare type ReposCreateOrUpdateFileEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * path parameter + */ + path: string; + /** + * The commit message. + */ + message: string; + /** + * The new file content, using Base64 encoding. + */ + content: string; + /** + * **Required if you are updating a file**. The blob SHA of the file being replaced. + */ + sha?: string; + /** + * The branch name. Default: the repository’s default branch (usually `master`) + */ + branch?: string; + /** + * The person that committed the file. Default: the authenticated user. + */ + committer?: ReposCreateOrUpdateFileParamsCommitter; + /** + * The author of the file. Default: The `committer` or the authenticated user if you omit `committer`. + */ + author?: ReposCreateOrUpdateFileParamsAuthor; +}; +declare type ReposCreateOrUpdateFileRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/contents/:path"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateOrUpdateFileResponseDataCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type ReposCreateOrUpdateFileResponseDataCommitParentsItem = { + url: string; + html_url: string; + sha: string; +}; +declare type ReposCreateOrUpdateFileResponseDataCommitTree = { + url: string; + sha: string; +}; +declare type ReposCreateOrUpdateFileResponseDataCommitCommitter = { + date: string; + name: string; + email: string; +}; +declare type ReposCreateOrUpdateFileResponseDataCommitAuthor = { + date: string; + name: string; + email: string; +}; +declare type ReposCreateOrUpdateFileResponseDataCommit = { + sha: string; + node_id: string; + url: string; + html_url: string; + author: ReposCreateOrUpdateFileResponseDataCommitAuthor; + committer: ReposCreateOrUpdateFileResponseDataCommitCommitter; + message: string; + tree: ReposCreateOrUpdateFileResponseDataCommitTree; + parents: Array; + verification: ReposCreateOrUpdateFileResponseDataCommitVerification; +}; +declare type ReposCreateOrUpdateFileResponseDataContentLinks = { + self: string; + git: string; + html: string; +}; +declare type ReposCreateOrUpdateFileResponseDataContent = { + name: string; + path: string; + sha: string; + size: number; + url: string; + html_url: string; + git_url: string; + download_url: string; + type: string; + _links: ReposCreateOrUpdateFileResponseDataContentLinks; +}; +declare type ReposCreateOrUpdateFileResponseData = { + content: ReposCreateOrUpdateFileResponseDataContent; + commit: ReposCreateOrUpdateFileResponseDataCommit; +}; +declare type ReposDeleteFileEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * path parameter + */ + path: string; + /** + * The commit message. + */ + message: string; + /** + * The blob SHA of the file being replaced. + */ + sha: string; + /** + * The branch name. Default: the repository’s default branch (usually `master`) + */ + branch?: string; + /** + * object containing information about the committer. + */ + committer?: ReposDeleteFileParamsCommitter; + /** + * object containing information about the author. + */ + author?: ReposDeleteFileParamsAuthor; +}; +declare type ReposDeleteFileRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/contents/:path"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposDeleteFileResponseDataCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type ReposDeleteFileResponseDataCommitParentsItem = { + url: string; + html_url: string; + sha: string; +}; +declare type ReposDeleteFileResponseDataCommitTree = { + url: string; + sha: string; +}; +declare type ReposDeleteFileResponseDataCommitCommitter = { + date: string; + name: string; + email: string; +}; +declare type ReposDeleteFileResponseDataCommitAuthor = { + date: string; + name: string; + email: string; +}; +declare type ReposDeleteFileResponseDataCommit = { + sha: string; + node_id: string; + url: string; + html_url: string; + author: ReposDeleteFileResponseDataCommitAuthor; + committer: ReposDeleteFileResponseDataCommitCommitter; + message: string; + tree: ReposDeleteFileResponseDataCommitTree; + parents: Array; + verification: ReposDeleteFileResponseDataCommitVerification; +}; +declare type ReposDeleteFileResponseData = { + content: null; + commit: ReposDeleteFileResponseDataCommit; +}; +declare type ReposListContributorsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Set to `1` or `true` to include anonymous contributors in results. + */ + anon?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListContributorsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/contributors"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListContributorsResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; + contributions: number; +}; +declare type ReposListContributorsResponseData = Array; +declare type ReposListDeploymentsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The SHA recorded at creation time. + */ + sha?: string; + /** + * The name of the ref. This can be a branch, tag, or SHA. + */ + ref?: string; + /** + * The name of the task for the deployment (e.g., `deploy` or `deploy:migrations`). + */ + task?: string; + /** + * The name of the environment that was deployed to (e.g., `staging` or `production`). + */ + environment?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListDeploymentsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/deployments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListDeploymentsResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListDeploymentsResponseDataItemPayload = { + deploy: string; +}; +declare type ReposListDeploymentsResponseDataItem = { + url: string; + id: number; + node_id: string; + sha: string; + ref: string; + task: string; + payload: ReposListDeploymentsResponseDataItemPayload; + original_environment: string; + environment: string; + description: string; + creator: ReposListDeploymentsResponseDataItemCreator; + created_at: string; + updated_at: string; + statuses_url: string; + repository_url: string; + transient_environment: boolean; + production_environment: boolean; +}; +declare type ReposListDeploymentsResponseData = Array; +declare type ReposCreateDeploymentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The ref to deploy. This can be a branch, tag, or SHA. + */ + ref: string; + /** + * Specifies a task to execute (e.g., `deploy` or `deploy:migrations`). + */ + task?: string; + /** + * Attempts to automatically merge the default branch into the requested ref, if it's behind the default branch. + */ + auto_merge?: boolean; + /** + * The [status](https://developer.github.com/v3/repos/statuses/) contexts to verify against commit status checks. If you omit this parameter, GitHub verifies all unique contexts before creating a deployment. To bypass checking entirely, pass an empty array. Defaults to all unique contexts. + */ + required_contexts?: string[]; + /** + * JSON payload with extra information about the deployment. + */ + payload?: string; + /** + * Name for the target deployment environment (e.g., `production`, `staging`, `qa`). + */ + environment?: string; + /** + * Short description of the deployment. + */ + description?: string; + /** + * Specifies if the given environment is specific to the deployment and will no longer exist at some point in the future. Default: `false` + * **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. + */ + transient_environment?: boolean; + /** + * Specifies if the given environment is one that end-users directly interact with. Default: `true` when `environment` is `production` and `false` otherwise. + * **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. + */ + production_environment?: boolean; +}; +declare type ReposCreateDeploymentRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/deployments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateDeploymentResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateDeploymentResponseDataPayload = { + deploy: string; +}; +declare type ReposCreateDeploymentResponseData = { + url: string; + id: number; + node_id: string; + sha: string; + ref: string; + task: string; + payload: ReposCreateDeploymentResponseDataPayload; + original_environment: string; + environment: string; + description: string; + creator: ReposCreateDeploymentResponseDataCreator; + created_at: string; + updated_at: string; + statuses_url: string; + repository_url: string; + transient_environment: boolean; + production_environment: boolean; +}; +declare type ReposGetDeploymentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * deployment_id parameter + */ + deployment_id: number; +}; +declare type ReposGetDeploymentRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/deployments/:deployment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetDeploymentResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetDeploymentResponseDataPayload = { + deploy: string; +}; +declare type ReposGetDeploymentResponseData = { + url: string; + id: number; + node_id: string; + sha: string; + ref: string; + task: string; + payload: ReposGetDeploymentResponseDataPayload; + original_environment: string; + environment: string; + description: string; + creator: ReposGetDeploymentResponseDataCreator; + created_at: string; + updated_at: string; + statuses_url: string; + repository_url: string; + transient_environment: boolean; + production_environment: boolean; +}; +declare type ReposDeleteDeploymentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * deployment_id parameter + */ + deployment_id: number; +}; +declare type ReposDeleteDeploymentRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/deployments/:deployment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListDeploymentStatusesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * deployment_id parameter + */ + deployment_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListDeploymentStatusesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/deployments/:deployment_id/statuses"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListDeploymentStatusesResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListDeploymentStatusesResponseDataItem = { + url: string; + id: number; + node_id: string; + state: string; + creator: ReposListDeploymentStatusesResponseDataItemCreator; + description: string; + environment: string; + target_url: string; + created_at: string; + updated_at: string; + deployment_url: string; + repository_url: string; + environment_url: string; + log_url: string; +}; +declare type ReposListDeploymentStatusesResponseData = Array; +declare type ReposCreateDeploymentStatusEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * deployment_id parameter + */ + deployment_id: number; + /** + * The state of the status. Can be one of `error`, `failure`, `inactive`, `in_progress`, `queued` `pending`, or `success`. **Note:** To use the `inactive` state, you must provide the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. To use the `in_progress` and `queued` states, you must provide the [`application/vnd.github.flash-preview+json`](https://developer.github.com/v3/previews/#deployment-statuses) custom media type. + */ + state: "error" | "failure" | "inactive" | "in_progress" | "queued" | "pending" | "success"; + /** + * The target URL to associate with this status. This URL should contain output to keep the user updated while the task is running or serve as historical information for what happened in the deployment. **Note:** It's recommended to use the `log_url` parameter, which replaces `target_url`. + */ + target_url?: string; + /** + * The full URL of the deployment's output. This parameter replaces `target_url`. We will continue to accept `target_url` to support legacy uses, but we recommend replacing `target_url` with `log_url`. Setting `log_url` will automatically set `target_url` to the same value. Default: `""` + * **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. + */ + log_url?: string; + /** + * A short description of the status. The maximum description length is 140 characters. + */ + description?: string; + /** + * Name for the target deployment environment, which can be changed when setting a deploy status. For example, `production`, `staging`, or `qa`. **Note:** This parameter requires you to use the [`application/vnd.github.flash-preview+json`](https://developer.github.com/v3/previews/#deployment-statuses) custom media type. + */ + environment?: "production" | "staging" | "qa"; + /** + * Sets the URL for accessing your environment. Default: `""` + * **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. + */ + environment_url?: string; + /** + * Adds a new `inactive` status to all prior non-transient, non-production environment deployments with the same repository and `environment` name as the created status's deployment. An `inactive` status is only added to deployments that had a `success` state. Default: `true` + * **Note:** To add an `inactive` status to `production` environments, you must use the [`application/vnd.github.flash-preview+json`](https://developer.github.com/v3/previews/#deployment-statuses) custom media type. + * **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. + */ + auto_inactive?: boolean; +}; +declare type ReposCreateDeploymentStatusRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/deployments/:deployment_id/statuses"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateDeploymentStatusResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateDeploymentStatusResponseData = { + url: string; + id: number; + node_id: string; + state: string; + creator: ReposCreateDeploymentStatusResponseDataCreator; + description: string; + environment: string; + target_url: string; + created_at: string; + updated_at: string; + deployment_url: string; + repository_url: string; + environment_url: string; + log_url: string; +}; +declare type ReposGetDeploymentStatusEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * deployment_id parameter + */ + deployment_id: number; + /** + * status_id parameter + */ + status_id: number; +}; +declare type ReposGetDeploymentStatusRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/deployments/:deployment_id/statuses/:status_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetDeploymentStatusResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetDeploymentStatusResponseData = { + url: string; + id: number; + node_id: string; + state: string; + creator: ReposGetDeploymentStatusResponseDataCreator; + description: string; + environment: string; + target_url: string; + created_at: string; + updated_at: string; + deployment_url: string; + repository_url: string; + environment_url: string; + log_url: string; +}; +declare type ReposCreateDispatchEventEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * **Required:** A custom webhook event name. + */ + event_type?: string; + /** + * JSON payload with extra information about the webhook event that your action or worklow may use. + */ + client_payload?: ReposCreateDispatchEventParamsClientPayload; +}; +declare type ReposCreateDispatchEventRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/dispatches"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListDownloadsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListDownloadsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/downloads"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListDownloadsResponseDataItem = { + url: string; + html_url: string; + id: number; + name: string; + description: string; + size: number; + download_count: number; + content_type: string; +}; +declare type ReposListDownloadsResponseData = Array; +declare type ReposGetDownloadEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * download_id parameter + */ + download_id: number; +}; +declare type ReposGetDownloadRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/downloads/:download_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetDownloadResponseData = { + url: string; + html_url: string; + id: number; + name: string; + description: string; + size: number; + download_count: number; + content_type: string; +}; +declare type ReposDeleteDownloadEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * download_id parameter + */ + download_id: number; +}; +declare type ReposDeleteDownloadRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/downloads/:download_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListRepoEventsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListRepoEventsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/events"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListForksEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The sort order. Can be either `newest`, `oldest`, or `stargazers`. + */ + sort?: "newest" | "oldest" | "stargazers"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListForksRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/forks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListForksResponseDataItemLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type ReposListForksResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposListForksResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListForksResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposListForksResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposListForksResponseDataItemPermissions; + template_repository: null; + temp_clone_token: string; + subscribers_count: number; + network_count: number; + license: ReposListForksResponseDataItemLicense; +}; +declare type ReposListForksResponseData = Array; +declare type ReposCreateForkEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Optional parameter to specify the organization name if forking into an organization. + */ + organization?: string; +}; +declare type ReposCreateForkRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/forks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateForkResponseDataPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposCreateForkResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateForkResponseData = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposCreateForkResponseDataOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposCreateForkResponseDataPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type GitCreateBlobEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The new blob's content. + */ + content: string; + /** + * The encoding used for `content`. Currently, `"utf-8"` and `"base64"` are supported. + */ + encoding?: string; +}; +declare type GitCreateBlobRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/git/blobs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitCreateBlobResponseData = { + url: string; + sha: string; +}; +declare type GitGetBlobEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * file_sha parameter + */ + file_sha: string; +}; +declare type GitGetBlobRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/git/blobs/:file_sha"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitGetBlobResponseData = { + content: string; + encoding: string; + url: string; + sha: string; + size: number; +}; +declare type GitCreateCommitEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The commit message + */ + message: string; + /** + * The SHA of the tree object this commit points to + */ + tree: string; + /** + * The SHAs of the commits that were the parents of this commit. If omitted or empty, the commit will be written as a root commit. For a single parent, an array of one SHA should be provided; for a merge commit, an array of more than one should be provided. + */ + parents: string[]; + /** + * Information about the author of the commit. By default, the `author` will be the authenticated user and the current date. See the `author` and `committer` object below for details. + */ + author?: GitCreateCommitParamsAuthor; + /** + * Information about the person who is making the commit. By default, `committer` will use the information set in `author`. See the `author` and `committer` object below for details. + */ + committer?: GitCreateCommitParamsCommitter; + /** + * The [PGP signature](https://en.wikipedia.org/wiki/Pretty_Good_Privacy) of the commit. GitHub adds the signature to the `gpgsig` header of the created commit. For a commit signature to be verifiable by Git or GitHub, it must be an ASCII-armored detached PGP signature over the string commit as it would be written to the object database. To pass a `signature` parameter, you need to first manually create a valid PGP signature, which can be complicated. You may find it easier to [use the command line](https://git-scm.com/book/id/v2/Git-Tools-Signing-Your-Work) to create signed commits. + */ + signature?: string; +}; +declare type GitCreateCommitRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/git/commits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitCreateCommitResponseDataVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type GitCreateCommitResponseDataParentsItem = { + url: string; + sha: string; +}; +declare type GitCreateCommitResponseDataTree = { + url: string; + sha: string; +}; +declare type GitCreateCommitResponseDataCommitter = { + date: string; + name: string; + email: string; +}; +declare type GitCreateCommitResponseDataAuthor = { + date: string; + name: string; + email: string; +}; +declare type GitCreateCommitResponseData = { + sha: string; + node_id: string; + url: string; + author: GitCreateCommitResponseDataAuthor; + committer: GitCreateCommitResponseDataCommitter; + message: string; + tree: GitCreateCommitResponseDataTree; + parents: Array; + verification: GitCreateCommitResponseDataVerification; +}; +declare type GitGetCommitEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * commit_sha parameter + */ + commit_sha: string; +}; +declare type GitGetCommitRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/git/commits/:commit_sha"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitGetCommitResponseDataVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type GitGetCommitResponseDataParentsItem = { + url: string; + sha: string; +}; +declare type GitGetCommitResponseDataTree = { + url: string; + sha: string; +}; +declare type GitGetCommitResponseDataCommitter = { + date: string; + name: string; + email: string; +}; +declare type GitGetCommitResponseDataAuthor = { + date: string; + name: string; + email: string; +}; +declare type GitGetCommitResponseData = { + sha: string; + url: string; + author: GitGetCommitResponseDataAuthor; + committer: GitGetCommitResponseDataCommitter; + message: string; + tree: GitGetCommitResponseDataTree; + parents: Array; + verification: GitGetCommitResponseDataVerification; +}; +declare type GitListMatchingRefsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * ref parameter + */ + ref: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type GitListMatchingRefsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/git/matching-refs/:ref"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitListMatchingRefsResponseDataItemObject = { + type: string; + sha: string; + url: string; +}; +declare type GitListMatchingRefsResponseDataItem = { + ref: string; + node_id: string; + url: string; + object: GitListMatchingRefsResponseDataItemObject; +}; +declare type GitListMatchingRefsResponseData = Array; +declare type GitGetRefEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * ref parameter + */ + ref: string; +}; +declare type GitGetRefRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/git/ref/:ref"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitGetRefResponseDataObject = { + type: string; + sha: string; + url: string; +}; +declare type GitGetRefResponseData = { + ref: string; + node_id: string; + url: string; + object: GitGetRefResponseDataObject; +}; +declare type GitCreateRefEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The name of the fully qualified reference (ie: `refs/heads/master`). If it doesn't start with 'refs' and have at least two slashes, it will be rejected. + */ + ref: string; + /** + * The SHA1 value for this reference. + */ + sha: string; +}; +declare type GitCreateRefRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/git/refs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitCreateRefResponseDataObject = { + type: string; + sha: string; + url: string; +}; +declare type GitCreateRefResponseData = { + ref: string; + node_id: string; + url: string; + object: GitCreateRefResponseDataObject; +}; +declare type GitUpdateRefEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * ref parameter + */ + ref: string; + /** + * The SHA1 value to set this reference to + */ + sha: string; + /** + * Indicates whether to force the update or to make sure the update is a fast-forward update. Leaving this out or setting it to `false` will make sure you're not overwriting work. + */ + force?: boolean; +}; +declare type GitUpdateRefRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/git/refs/:ref"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitUpdateRefResponseDataObject = { + type: string; + sha: string; + url: string; +}; +declare type GitUpdateRefResponseData = { + ref: string; + node_id: string; + url: string; + object: GitUpdateRefResponseDataObject; +}; +declare type GitDeleteRefEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * ref parameter + */ + ref: string; +}; +declare type GitDeleteRefRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/git/refs/:ref"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitCreateTagEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The tag's name. This is typically a version (e.g., "v0.0.1"). + */ + tag: string; + /** + * The tag message. + */ + message: string; + /** + * The SHA of the git object this is tagging. + */ + object: string; + /** + * The type of the object we're tagging. Normally this is a `commit` but it can also be a `tree` or a `blob`. + */ + type: "commit" | "tree" | "blob"; + /** + * An object with information about the individual creating the tag. + */ + tagger?: GitCreateTagParamsTagger; +}; +declare type GitCreateTagRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/git/tags"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitCreateTagResponseDataVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type GitCreateTagResponseDataObject = { + type: string; + sha: string; + url: string; +}; +declare type GitCreateTagResponseDataTagger = { + name: string; + email: string; + date: string; +}; +declare type GitCreateTagResponseData = { + node_id: string; + tag: string; + sha: string; + url: string; + message: string; + tagger: GitCreateTagResponseDataTagger; + object: GitCreateTagResponseDataObject; + verification: GitCreateTagResponseDataVerification; +}; +declare type GitGetTagEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * tag_sha parameter + */ + tag_sha: string; +}; +declare type GitGetTagRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/git/tags/:tag_sha"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitGetTagResponseDataVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type GitGetTagResponseDataObject = { + type: string; + sha: string; + url: string; +}; +declare type GitGetTagResponseDataTagger = { + name: string; + email: string; + date: string; +}; +declare type GitGetTagResponseData = { + node_id: string; + tag: string; + sha: string; + url: string; + message: string; + tagger: GitGetTagResponseDataTagger; + object: GitGetTagResponseDataObject; + verification: GitGetTagResponseDataVerification; +}; +declare type GitCreateTreeEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Objects (of `path`, `mode`, `type`, and `sha`) specifying a tree structure. + */ + tree: GitCreateTreeParamsTree[]; + /** + * The SHA1 of the tree you want to update with new data. If you don't set this, the commit will be created on top of everything; however, it will only contain your change, the rest of your files will show up as deleted. + */ + base_tree?: string; +}; +declare type GitCreateTreeRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/git/trees"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitCreateTreeResponseDataTreeItem = { + path: string; + mode: string; + type: string; + size: number; + sha: string; + url: string; +}; +declare type GitCreateTreeResponseData = { + sha: string; + url: string; + tree: Array; +}; +declare type GitGetTreeEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * tree_sha parameter + */ + tree_sha: string; + /** + * recursive parameter + */ + recursive?: "1"; +}; +declare type GitGetTreeRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/git/trees/:tree_sha"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitGetTreeResponseDataTreeItem = { + path: string; + mode: string; + type: string; + size?: number; + sha: string; + url: string; +}; +declare type GitGetTreeResponseData = { + sha: string; + url: string; + tree: Array; + truncated: boolean; +}; +declare type ReposListHooksEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListHooksRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/hooks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListHooksResponseDataItemLastResponse = { + code: null; + status: string; + message: null; +}; +declare type ReposListHooksResponseDataItemConfig = { + content_type: string; + insecure_ssl: string; + url: string; +}; +declare type ReposListHooksResponseDataItem = { + type: string; + id: number; + name: string; + active: boolean; + events: Array; + config: ReposListHooksResponseDataItemConfig; + updated_at: string; + created_at: string; + url: string; + test_url: string; + ping_url: string; + last_response: ReposListHooksResponseDataItemLastResponse; +}; +declare type ReposListHooksResponseData = Array; +declare type ReposCreateHookEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Use `web` to create a webhook. Default: `web`. This parameter only accepts the value `web`. + */ + name?: string; + /** + * Key/value pairs to provide settings for this webhook. [These are defined below](https://developer.github.com/v3/repos/hooks/#create-hook-config-params). + */ + config: ReposCreateHookParamsConfig; + /** + * Determines what [events](https://developer.github.com/v3/activity/events/types/) the hook is triggered for. + */ + events?: string[]; + /** + * Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + */ + active?: boolean; +}; +declare type ReposCreateHookRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/hooks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateHookResponseDataLastResponse = { + code: null; + status: string; + message: null; +}; +declare type ReposCreateHookResponseDataConfig = { + content_type: string; + insecure_ssl: string; + url: string; +}; +declare type ReposCreateHookResponseData = { + type: string; + id: number; + name: string; + active: boolean; + events: Array; + config: ReposCreateHookResponseDataConfig; + updated_at: string; + created_at: string; + url: string; + test_url: string; + ping_url: string; + last_response: ReposCreateHookResponseDataLastResponse; +}; +declare type ReposGetHookEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * hook_id parameter + */ + hook_id: number; +}; +declare type ReposGetHookRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/hooks/:hook_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetHookResponseDataLastResponse = { + code: null; + status: string; + message: null; +}; +declare type ReposGetHookResponseDataConfig = { + content_type: string; + insecure_ssl: string; + url: string; +}; +declare type ReposGetHookResponseData = { + type: string; + id: number; + name: string; + active: boolean; + events: Array; + config: ReposGetHookResponseDataConfig; + updated_at: string; + created_at: string; + url: string; + test_url: string; + ping_url: string; + last_response: ReposGetHookResponseDataLastResponse; +}; +declare type ReposUpdateHookEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * hook_id parameter + */ + hook_id: number; + /** + * Key/value pairs to provide settings for this webhook. [These are defined below](https://developer.github.com/v3/repos/hooks/#create-hook-config-params). + */ + config?: ReposUpdateHookParamsConfig; + /** + * Determines what [events](https://developer.github.com/v3/activity/events/types/) the hook is triggered for. This replaces the entire array of events. + */ + events?: string[]; + /** + * Determines a list of events to be added to the list of events that the Hook triggers for. + */ + add_events?: string[]; + /** + * Determines a list of events to be removed from the list of events that the Hook triggers for. + */ + remove_events?: string[]; + /** + * Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + */ + active?: boolean; +}; +declare type ReposUpdateHookRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/hooks/:hook_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateHookResponseDataLastResponse = { + code: null; + status: string; + message: null; +}; +declare type ReposUpdateHookResponseDataConfig = { + content_type: string; + insecure_ssl: string; + url: string; +}; +declare type ReposUpdateHookResponseData = { + type: string; + id: number; + name: string; + active: boolean; + events: Array; + config: ReposUpdateHookResponseDataConfig; + updated_at: string; + created_at: string; + url: string; + test_url: string; + ping_url: string; + last_response: ReposUpdateHookResponseDataLastResponse; +}; +declare type ReposDeleteHookEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * hook_id parameter + */ + hook_id: number; +}; +declare type ReposDeleteHookRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/hooks/:hook_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposPingHookEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * hook_id parameter + */ + hook_id: number; +}; +declare type ReposPingHookRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/hooks/:hook_id/pings"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposTestPushHookEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * hook_id parameter + */ + hook_id: number; +}; +declare type ReposTestPushHookRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/hooks/:hook_id/tests"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsStartImportEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The URL of the originating repository. + */ + vcs_url: string; + /** + * The originating VCS type. Can be one of `subversion`, `git`, `mercurial`, or `tfvc`. Please be aware that without this parameter, the import job will take additional time to detect the VCS type before beginning the import. This detection step will be reflected in the response. + */ + vcs?: "subversion" | "git" | "mercurial" | "tfvc"; + /** + * If authentication is required, the username to provide to `vcs_url`. + */ + vcs_username?: string; + /** + * If authentication is required, the password to provide to `vcs_url`. + */ + vcs_password?: string; + /** + * For a tfvc import, the name of the project that is being imported. + */ + tfvc_project?: string; +}; +declare type MigrationsStartImportRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/import"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsStartImportResponseData = { + vcs: string; + use_lfs: string; + vcs_url: string; + status: string; + status_text: string; + has_large_files: boolean; + large_files_size: number; + large_files_count: number; + authors_count: number; + percent: number; + commit_count: number; + url: string; + html_url: string; + authors_url: string; + repository_url: string; +}; +declare type MigrationsGetImportProgressEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type MigrationsGetImportProgressRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/import"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsGetImportProgressResponseData = { + vcs: string; + use_lfs: string; + vcs_url: string; + status: string; + status_text: string; + has_large_files: boolean; + large_files_size: number; + large_files_count: number; + authors_count: number; + url: string; + html_url: string; + authors_url: string; + repository_url: string; +}; +declare type MigrationsUpdateImportEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The username to provide to the originating repository. + */ + vcs_username?: string; + /** + * The password to provide to the originating repository. + */ + vcs_password?: string; +}; +declare type MigrationsUpdateImportRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/import"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsUpdateImportResponseData = { + vcs: string; + use_lfs: string; + vcs_url: string; + status: string; + url: string; + html_url: string; + authors_url: string; + repository_url: string; + tfvc_project?: string; + status_text?: string; + has_large_files?: boolean; + large_files_size?: number; + large_files_count?: number; + authors_count?: number; + percent?: number; + commit_count?: number; +}; +declare type MigrationsCancelImportEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type MigrationsCancelImportRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/import"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsGetCommitAuthorsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Only authors found after this id are returned. Provide the highest author ID you've seen so far. New authors may be added to the list at any point while the importer is performing the `raw` step. + */ + since?: string; +}; +declare type MigrationsGetCommitAuthorsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/import/authors"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsGetCommitAuthorsResponseDataItem = { + id: number; + remote_id: string; + remote_name: string; + email: string; + name: string; + url: string; + import_url: string; +}; +declare type MigrationsGetCommitAuthorsResponseData = Array; +declare type MigrationsMapCommitAuthorEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * author_id parameter + */ + author_id: number; + /** + * The new Git author email. + */ + email?: string; + /** + * The new Git author name. + */ + name?: string; +}; +declare type MigrationsMapCommitAuthorRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/import/authors/:author_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsMapCommitAuthorResponseData = { + id: number; + remote_id: string; + remote_name: string; + email: string; + name: string; + url: string; + import_url: string; +}; +declare type MigrationsGetLargeFilesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type MigrationsGetLargeFilesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/import/large_files"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsGetLargeFilesResponseDataItem = { + ref_name: string; + path: string; + oid: string; + size: number; +}; +declare type MigrationsGetLargeFilesResponseData = Array; +declare type MigrationsSetLfsPreferenceEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Can be one of `opt_in` (large files will be stored using Git LFS) or `opt_out` (large files will be removed during the import). + */ + use_lfs: "opt_in" | "opt_out"; +}; +declare type MigrationsSetLfsPreferenceRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/import/lfs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsSetLfsPreferenceResponseData = { + vcs: string; + use_lfs: string; + vcs_url: string; + status: string; + status_text: string; + has_large_files: boolean; + large_files_size: number; + large_files_count: number; + authors_count: number; + url: string; + html_url: string; + authors_url: string; + repository_url: string; +}; +declare type AppsGetRepoInstallationEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"machine-man">; +declare type AppsGetRepoInstallationRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/installation"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetRepoInstallationResponseDataPermissions = { + checks: string; + metadata: string; + contents: string; +}; +declare type AppsGetRepoInstallationResponseDataAccount = { + login: string; + id: number; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsGetRepoInstallationResponseData = { + id: number; + account: AppsGetRepoInstallationResponseDataAccount; + repository_selection: string; + access_tokens_url: string; + repositories_url: string; + html_url: string; + app_id: number; + target_id: number; + target_type: string; + permissions: AppsGetRepoInstallationResponseDataPermissions; + events: Array; + created_at: string; + updated_at: string; + single_file_name: null; +}; +declare type InteractionsGetRestrictionsForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"sombra">; +declare type InteractionsGetRestrictionsForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/interaction-limits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type InteractionsGetRestrictionsForRepoResponseData = { + limit: string; + origin: string; + expires_at: string; +}; +declare type InteractionsAddOrUpdateRestrictionsForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Specifies the group of GitHub users who can comment, open issues, or create pull requests for the given repository. Must be one of: `existing_users`, `contributors_only`, or `collaborators_only`. + */ + limit: "existing_users" | "contributors_only" | "collaborators_only"; +} & RequiredPreview<"sombra">; +declare type InteractionsAddOrUpdateRestrictionsForRepoRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/interaction-limits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type InteractionsAddOrUpdateRestrictionsForRepoResponseData = { + limit: string; + origin: string; + expires_at: string; +}; +declare type InteractionsRemoveRestrictionsForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"sombra">; +declare type InteractionsRemoveRestrictionsForRepoRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/interaction-limits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListInvitationsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListInvitationsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/invitations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListInvitationsResponseDataItemInviter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListInvitationsResponseDataItemInvitee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListInvitationsResponseDataItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListInvitationsResponseDataItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposListInvitationsResponseDataItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ReposListInvitationsResponseDataItem = { + id: number; + repository: ReposListInvitationsResponseDataItemRepository; + invitee: ReposListInvitationsResponseDataItemInvitee; + inviter: ReposListInvitationsResponseDataItemInviter; + permissions: string; + created_at: string; + url: string; + html_url: string; +}; +declare type ReposListInvitationsResponseData = Array; +declare type ReposDeleteInvitationEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * invitation_id parameter + */ + invitation_id: number; +}; +declare type ReposDeleteInvitationRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/invitations/:invitation_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateInvitationEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * invitation_id parameter + */ + invitation_id: number; + /** + * The permissions that the associated user will have on the repository. Valid values are `read`, `write`, `maintain`, `triage`, and `admin`. + */ + permissions?: "read" | "write" | "maintain" | "triage" | "admin"; +}; +declare type ReposUpdateInvitationRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/invitations/:invitation_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateInvitationResponseDataInviter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateInvitationResponseDataInvitee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateInvitationResponseDataRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateInvitationResponseDataRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposUpdateInvitationResponseDataRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ReposUpdateInvitationResponseData = { + id: number; + repository: ReposUpdateInvitationResponseDataRepository; + invitee: ReposUpdateInvitationResponseDataInvitee; + inviter: ReposUpdateInvitationResponseDataInviter; + permissions: string; + created_at: string; + url: string; + html_url: string; +}; +declare type IssuesListForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * If an `integer` is passed, it should refer to a milestone by its `number` field. If the string `*` is passed, issues with any milestone are accepted. If the string `none` is passed, issues without milestones are returned. + */ + milestone?: string; + /** + * Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + /** + * Can be the name of a user. Pass in `none` for issues with no assigned user, and `*` for issues assigned to any user. + */ + assignee?: string; + /** + * The user that created the issue. + */ + creator?: string; + /** + * A user that's mentioned in the issue. + */ + mentioned?: string; + /** + * A list of comma separated label names. Example: `bug,ui,@high` + */ + labels?: string; + /** + * What to sort results by. Can be either `created`, `updated`, `comments`. + */ + sort?: "created" | "updated" | "comments"; + /** + * The direction of the sort. Can be either `asc` or `desc`. + */ + direction?: "asc" | "desc"; + /** + * Only issues updated at or after this time are returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type IssuesListForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListForRepoResponseDataItemPullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesListForRepoResponseDataItemMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForRepoResponseDataItemMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesListForRepoResponseDataItemMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesListForRepoResponseDataItemAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForRepoResponseDataItemAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForRepoResponseDataItemLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesListForRepoResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForRepoResponseDataItem = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesListForRepoResponseDataItemUser; + labels: Array; + assignee: IssuesListForRepoResponseDataItemAssignee; + assignees: Array; + milestone: IssuesListForRepoResponseDataItemMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesListForRepoResponseDataItemPullRequest; + closed_at: null; + created_at: string; + updated_at: string; +}; +declare type IssuesListForRepoResponseData = Array; +declare type IssuesCreateEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The title of the issue. + */ + title: string; + /** + * The contents of the issue. + */ + body?: string; + /** + * Login for the user that this issue should be assigned to. _NOTE: Only users with push access can set the assignee for new issues. The assignee is silently dropped otherwise. **This field is deprecated.**_ + */ + assignee?: string; + /** + * The `number` of the milestone to associate this issue with. _NOTE: Only users with push access can set the milestone for new issues. The milestone is silently dropped otherwise._ + */ + milestone?: number; + /** + * Labels to associate with this issue. _NOTE: Only users with push access can set labels for new issues. Labels are silently dropped otherwise._ + */ + labels?: string[]; + /** + * Logins for Users to assign to this issue. _NOTE: Only users with push access can set assignees for new issues. Assignees are silently dropped otherwise._ + */ + assignees?: string[]; +}; +declare type IssuesCreateRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/issues"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesCreateResponseDataClosedBy = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesCreateResponseDataPullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesCreateResponseDataMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesCreateResponseDataMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesCreateResponseDataMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesCreateResponseDataAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesCreateResponseDataAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesCreateResponseDataLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesCreateResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesCreateResponseData = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesCreateResponseDataUser; + labels: Array; + assignee: IssuesCreateResponseDataAssignee; + assignees: Array; + milestone: IssuesCreateResponseDataMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesCreateResponseDataPullRequest; + closed_at: null; + created_at: string; + updated_at: string; + closed_by: IssuesCreateResponseDataClosedBy; +}; +declare type IssuesListCommentsForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Either `created` or `updated`. + */ + sort?: "created" | "updated"; + /** + * Either `asc` or `desc`. Ignored without the `sort` parameter. + */ + direction?: "asc" | "desc"; + /** + * Only comments updated at or after this time are returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type IssuesListCommentsForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListCommentsForRepoResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListCommentsForRepoResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + body: string; + user: IssuesListCommentsForRepoResponseDataItemUser; + created_at: string; + updated_at: string; +}; +declare type IssuesListCommentsForRepoResponseData = Array; +declare type IssuesGetCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; +}; +declare type IssuesGetCommentRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesGetCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetCommentResponseData = { + id: number; + node_id: string; + url: string; + html_url: string; + body: string; + user: IssuesGetCommentResponseDataUser; + created_at: string; + updated_at: string; +}; +declare type IssuesUpdateCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * The contents of the comment. + */ + body: string; +}; +declare type IssuesUpdateCommentRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/issues/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesUpdateCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesUpdateCommentResponseData = { + id: number; + node_id: string; + url: string; + html_url: string; + body: string; + user: IssuesUpdateCommentResponseDataUser; + created_at: string; + updated_at: string; +}; +declare type IssuesDeleteCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; +}; +declare type IssuesDeleteCommentRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/issues/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForIssueCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to an issue comment. + */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsListForIssueCommentRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/comments/:comment_id/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForIssueCommentResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsListForIssueCommentResponseDataItem = { + id: number; + node_id: string; + user: ReactionsListForIssueCommentResponseDataItemUser; + content: string; + created_at: string; +}; +declare type ReactionsListForIssueCommentResponseData = Array; +declare type ReactionsCreateForIssueCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the issue comment. + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsCreateForIssueCommentRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/issues/comments/:comment_id/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsCreateForIssueCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsCreateForIssueCommentResponseData = { + id: number; + node_id: string; + user: ReactionsCreateForIssueCommentResponseDataUser; + content: string; + created_at: string; +}; +declare type ReactionsDeleteForIssueCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * reaction_id parameter + */ + reaction_id: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsDeleteForIssueCommentRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/issues/comments/:comment_id/reactions/:reaction_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListEventsForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type IssuesListEventsForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/events"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListEventsForRepoResponseDataItemIssuePullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesListEventsForRepoResponseDataItemIssueMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListEventsForRepoResponseDataItemIssueMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesListEventsForRepoResponseDataItemIssueMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesListEventsForRepoResponseDataItemIssueAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListEventsForRepoResponseDataItemIssueAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListEventsForRepoResponseDataItemIssueLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesListEventsForRepoResponseDataItemIssueUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListEventsForRepoResponseDataItemIssue = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesListEventsForRepoResponseDataItemIssueUser; + labels: Array; + assignee: IssuesListEventsForRepoResponseDataItemIssueAssignee; + assignees: Array; + milestone: IssuesListEventsForRepoResponseDataItemIssueMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesListEventsForRepoResponseDataItemIssuePullRequest; + closed_at: null; + created_at: string; + updated_at: string; +}; +declare type IssuesListEventsForRepoResponseDataItemActor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListEventsForRepoResponseDataItem = { + id: number; + node_id: string; + url: string; + actor: IssuesListEventsForRepoResponseDataItemActor; + event: string; + commit_id: string; + commit_url: string; + created_at: string; + issue: IssuesListEventsForRepoResponseDataItemIssue; +}; +declare type IssuesListEventsForRepoResponseData = Array; +declare type IssuesGetEventEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * event_id parameter + */ + event_id: number; +}; +declare type IssuesGetEventRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/events/:event_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesGetEventResponseDataIssuePullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesGetEventResponseDataIssueMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetEventResponseDataIssueMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesGetEventResponseDataIssueMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesGetEventResponseDataIssueAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetEventResponseDataIssueAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetEventResponseDataIssueLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesGetEventResponseDataIssueUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetEventResponseDataIssue = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesGetEventResponseDataIssueUser; + labels: Array; + assignee: IssuesGetEventResponseDataIssueAssignee; + assignees: Array; + milestone: IssuesGetEventResponseDataIssueMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesGetEventResponseDataIssuePullRequest; + closed_at: null; + created_at: string; + updated_at: string; +}; +declare type IssuesGetEventResponseDataActor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetEventResponseData = { + id: number; + node_id: string; + url: string; + actor: IssuesGetEventResponseDataActor; + event: string; + commit_id: string; + commit_url: string; + created_at: string; + issue: IssuesGetEventResponseDataIssue; +}; +declare type IssuesGetEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; +}; +declare type IssuesGetRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/:issue_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesGetResponseDataClosedBy = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetResponseDataPullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesGetResponseDataMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetResponseDataMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesGetResponseDataMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesGetResponseDataAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetResponseDataAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetResponseDataLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesGetResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetResponseData = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesGetResponseDataUser; + labels: Array; + assignee: IssuesGetResponseDataAssignee; + assignees: Array; + milestone: IssuesGetResponseDataMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesGetResponseDataPullRequest; + closed_at: null; + created_at: string; + updated_at: string; + closed_by: IssuesGetResponseDataClosedBy; +}; +declare type IssuesUpdateEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * The title of the issue. + */ + title?: string; + /** + * The contents of the issue. + */ + body?: string; + /** + * Login for the user that this issue should be assigned to. **This field is deprecated.** + */ + assignee?: string; + /** + * State of the issue. Either `open` or `closed`. + */ + state?: "open" | "closed"; + /** + * The `number` of the milestone to associate this issue with or `null` to remove current. _NOTE: Only users with push access can set the milestone for issues. The milestone is silently dropped otherwise._ + */ + milestone?: number | null; + /** + * Labels to associate with this issue. Pass one or more Labels to _replace_ the set of Labels on this Issue. Send an empty array (`[]`) to clear all Labels from the Issue. _NOTE: Only users with push access can set labels for issues. Labels are silently dropped otherwise._ + */ + labels?: string[]; + /** + * Logins for Users to assign to this issue. Pass one or more user logins to _replace_ the set of assignees on this Issue. Send an empty array (`[]`) to clear all assignees from the Issue. _NOTE: Only users with push access can set assignees for new issues. Assignees are silently dropped otherwise._ + */ + assignees?: string[]; +}; +declare type IssuesUpdateRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/issues/:issue_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesUpdateResponseDataClosedBy = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesUpdateResponseDataPullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesUpdateResponseDataMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesUpdateResponseDataMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesUpdateResponseDataMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesUpdateResponseDataAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesUpdateResponseDataAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesUpdateResponseDataLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesUpdateResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesUpdateResponseData = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesUpdateResponseDataUser; + labels: Array; + assignee: IssuesUpdateResponseDataAssignee; + assignees: Array; + milestone: IssuesUpdateResponseDataMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesUpdateResponseDataPullRequest; + closed_at: null; + created_at: string; + updated_at: string; + closed_by: IssuesUpdateResponseDataClosedBy; +}; +declare type IssuesAddAssigneesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * Usernames of people to assign this issue to. _NOTE: Only users with push access can add assignees to an issue. Assignees are silently ignored otherwise._ + */ + assignees?: string[]; +}; +declare type IssuesAddAssigneesRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/issues/:issue_number/assignees"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesAddAssigneesResponseDataPullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesAddAssigneesResponseDataMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesAddAssigneesResponseDataMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesAddAssigneesResponseDataMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesAddAssigneesResponseDataAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesAddAssigneesResponseDataAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesAddAssigneesResponseDataLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesAddAssigneesResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesAddAssigneesResponseData = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesAddAssigneesResponseDataUser; + labels: Array; + assignee: IssuesAddAssigneesResponseDataAssignee; + assignees: Array; + milestone: IssuesAddAssigneesResponseDataMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesAddAssigneesResponseDataPullRequest; + closed_at: null; + created_at: string; + updated_at: string; +}; +declare type IssuesRemoveAssigneesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * Usernames of assignees to remove from an issue. _NOTE: Only users with push access can remove assignees from an issue. Assignees are silently ignored otherwise._ + */ + assignees?: string[]; +}; +declare type IssuesRemoveAssigneesRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/issues/:issue_number/assignees"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesRemoveAssigneesResponseDataPullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesRemoveAssigneesResponseDataMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesRemoveAssigneesResponseDataMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesRemoveAssigneesResponseDataMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesRemoveAssigneesResponseDataAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesRemoveAssigneesResponseDataAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesRemoveAssigneesResponseDataLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesRemoveAssigneesResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesRemoveAssigneesResponseData = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesRemoveAssigneesResponseDataUser; + labels: Array; + assignee: IssuesRemoveAssigneesResponseDataAssignee; + assignees: Array; + milestone: IssuesRemoveAssigneesResponseDataMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesRemoveAssigneesResponseDataPullRequest; + closed_at: null; + created_at: string; + updated_at: string; +}; +declare type IssuesListCommentsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * Only comments updated at or after this time are returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type IssuesListCommentsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/:issue_number/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListCommentsResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListCommentsResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + body: string; + user: IssuesListCommentsResponseDataItemUser; + created_at: string; + updated_at: string; +}; +declare type IssuesListCommentsResponseData = Array; +declare type IssuesCreateCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * The contents of the comment. + */ + body: string; +}; +declare type IssuesCreateCommentRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/issues/:issue_number/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesCreateCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesCreateCommentResponseData = { + id: number; + node_id: string; + url: string; + html_url: string; + body: string; + user: IssuesCreateCommentResponseDataUser; + created_at: string; + updated_at: string; +}; +declare type IssuesListEventsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type IssuesListEventsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/:issue_number/events"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListEventsResponseDataItemActor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListEventsResponseDataItem = { + id: number; + node_id: string; + url: string; + actor: IssuesListEventsResponseDataItemActor; + event: string; + commit_id: string; + commit_url: string; + created_at: string; +}; +declare type IssuesListEventsResponseData = Array; +declare type IssuesListLabelsOnIssueEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type IssuesListLabelsOnIssueRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/:issue_number/labels"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListLabelsOnIssueResponseDataItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesListLabelsOnIssueResponseData = Array; +declare type IssuesAddLabelsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * The name of the label to add to the issue. Must contain at least one label. **Note:** Alternatively, you can pass a single label as a `string` or an `array` of labels directly, but GitHub recommends passing an object with the `labels` key. + */ + labels: string[]; +}; +declare type IssuesAddLabelsRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/issues/:issue_number/labels"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesAddLabelsResponseDataItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesAddLabelsResponseData = Array; +declare type IssuesReplaceAllLabelsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * The names of the labels to add to the issue. You can pass an empty array to remove all labels. **Note:** Alternatively, you can pass a single label as a `string` or an `array` of labels directly, but GitHub recommends passing an object with the `labels` key. + */ + labels?: string[]; +}; +declare type IssuesReplaceAllLabelsRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/issues/:issue_number/labels"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesReplaceAllLabelsResponseDataItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesReplaceAllLabelsResponseData = Array; +declare type IssuesRemoveAllLabelsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; +}; +declare type IssuesRemoveAllLabelsRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/issues/:issue_number/labels"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesRemoveLabelEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * name parameter + */ + name: string; +}; +declare type IssuesRemoveLabelRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/issues/:issue_number/labels/:name"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesRemoveLabelResponseDataItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesRemoveLabelResponseData = Array; +declare type IssuesLockEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * The reason for locking the issue or pull request conversation. Lock will fail if you don't use one of these reasons: + * \* `off-topic` + * \* `too heated` + * \* `resolved` + * \* `spam` + */ + lock_reason?: "off-topic" | "too heated" | "resolved" | "spam"; +}; +declare type IssuesLockRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/issues/:issue_number/lock"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesUnlockEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; +}; +declare type IssuesUnlockRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/issues/:issue_number/lock"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForIssueEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to an issue. + */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsListForIssueRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/:issue_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForIssueResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsListForIssueResponseDataItem = { + id: number; + node_id: string; + user: ReactionsListForIssueResponseDataItemUser; + content: string; + created_at: string; +}; +declare type ReactionsListForIssueResponseData = Array; +declare type ReactionsCreateForIssueEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the issue. + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsCreateForIssueRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/issues/:issue_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsCreateForIssueResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsCreateForIssueResponseData = { + id: number; + node_id: string; + user: ReactionsCreateForIssueResponseDataUser; + content: string; + created_at: string; +}; +declare type ReactionsDeleteForIssueEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * reaction_id parameter + */ + reaction_id: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsDeleteForIssueRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/issues/:issue_number/reactions/:reaction_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListEventsForTimelineEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"mockingbird">; +declare type IssuesListEventsForTimelineRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/:issue_number/timeline"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListEventsForTimelineResponseDataItemActor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListEventsForTimelineResponseDataItem = { + id: number; + node_id: string; + url: string; + actor: IssuesListEventsForTimelineResponseDataItemActor; + event: string; + commit_id: string; + commit_url: string; + created_at: string; +}; +declare type IssuesListEventsForTimelineResponseData = Array; +declare type ReposListDeployKeysEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListDeployKeysRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/keys"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListDeployKeysResponseDataItem = { + id: number; + key: string; + url: string; + title: string; + verified: boolean; + created_at: string; + read_only: boolean; +}; +declare type ReposListDeployKeysResponseData = Array; +declare type ReposAddDeployKeyEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * A name for the key. + */ + title?: string; + /** + * The contents of the key. + */ + key: string; + /** + * If `true`, the key will only be able to read repository contents. Otherwise, the key will be able to read and write. + * + * Deploy keys with write access can perform the same actions as an organization member with admin access, or a collaborator on a personal repository. For more information, see "[Repository permission levels for an organization](https://help.github.com/articles/repository-permission-levels-for-an-organization/)" and "[Permission levels for a user account repository](https://help.github.com/articles/permission-levels-for-a-user-account-repository/)." + */ + read_only?: boolean; +}; +declare type ReposAddDeployKeyRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/keys"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposAddDeployKeyResponseData = { + id: number; + key: string; + url: string; + title: string; + verified: boolean; + created_at: string; + read_only: boolean; +}; +declare type ReposGetDeployKeyEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * key_id parameter + */ + key_id: number; +}; +declare type ReposGetDeployKeyRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/keys/:key_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetDeployKeyResponseData = { + id: number; + key: string; + url: string; + title: string; + verified: boolean; + created_at: string; + read_only: boolean; +}; +declare type ReposRemoveDeployKeyEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * key_id parameter + */ + key_id: number; +}; +declare type ReposRemoveDeployKeyRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/keys/:key_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListLabelsForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type IssuesListLabelsForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/labels"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListLabelsForRepoResponseDataItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesListLabelsForRepoResponseData = Array; +declare type IssuesCreateLabelEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji ![:strawberry:](https://github.githubassets.com/images/icons/emoji/unicode/1f353.png ":strawberry:"). For a full list of available emoji and codes, see [emoji-cheat-sheet.com](http://emoji-cheat-sheet.com/). + */ + name: string; + /** + * The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`. + */ + color: string; + /** + * A short description of the label. + */ + description?: string; +}; +declare type IssuesCreateLabelRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/labels"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesCreateLabelResponseData = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesGetLabelEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * name parameter + */ + name: string; +}; +declare type IssuesGetLabelRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/labels/:name"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesGetLabelResponseData = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesUpdateLabelEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * name parameter + */ + name: string; + /** + * The new name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji ![:strawberry:](https://github.githubassets.com/images/icons/emoji/unicode/1f353.png ":strawberry:"). For a full list of available emoji and codes, see [emoji-cheat-sheet.com](http://emoji-cheat-sheet.com/). + */ + new_name?: string; + /** + * The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`. + */ + color?: string; + /** + * A short description of the label. + */ + description?: string; +}; +declare type IssuesUpdateLabelRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/labels/:name"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesUpdateLabelResponseData = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesDeleteLabelEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * name parameter + */ + name: string; +}; +declare type IssuesDeleteLabelRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/labels/:name"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListLanguagesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposListLanguagesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/languages"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListLanguagesResponseData = { + C: number; + Python: number; +}; +declare type LicensesGetForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type LicensesGetForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/license"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type LicensesGetForRepoResponseDataLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type LicensesGetForRepoResponseDataLinks = { + self: string; + git: string; + html: string; +}; +declare type LicensesGetForRepoResponseData = { + name: string; + path: string; + sha: string; + size: number; + url: string; + html_url: string; + git_url: string; + download_url: string; + type: string; + content: string; + encoding: string; + _links: LicensesGetForRepoResponseDataLinks; + license: LicensesGetForRepoResponseDataLicense; +}; +declare type ReposMergeEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The name of the base branch that the head will be merged into. + */ + base: string; + /** + * The head to merge. This can be a branch name or a commit SHA1. + */ + head: string; + /** + * Commit message to use for the merge commit. If omitted, a default message will be used. + */ + commit_message?: string; +}; +declare type ReposMergeRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/merges"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposMergeResponseDataParentsItem = { + sha: string; + url: string; +}; +declare type ReposMergeResponseDataCommitter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposMergeResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposMergeResponseDataCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type ReposMergeResponseDataCommitTree = { + sha: string; + url: string; +}; +declare type ReposMergeResponseDataCommitCommitter = { + name: string; + date: string; + email: string; +}; +declare type ReposMergeResponseDataCommitAuthor = { + name: string; + date: string; + email: string; +}; +declare type ReposMergeResponseDataCommit = { + author: ReposMergeResponseDataCommitAuthor; + committer: ReposMergeResponseDataCommitCommitter; + message: string; + tree: ReposMergeResponseDataCommitTree; + url: string; + comment_count: number; + verification: ReposMergeResponseDataCommitVerification; +}; +declare type ReposMergeResponseData = { + sha: string; + node_id: string; + commit: ReposMergeResponseDataCommit; + url: string; + html_url: string; + comments_url: string; + author: ReposMergeResponseDataAuthor; + committer: ReposMergeResponseDataCommitter; + parents: Array; +}; +declare type IssuesListMilestonesForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The state of the milestone. Either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + /** + * What to sort results by. Either `due_on` or `completeness`. + */ + sort?: "due_on" | "completeness"; + /** + * The direction of the sort. Either `asc` or `desc`. + */ + direction?: "asc" | "desc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type IssuesListMilestonesForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/milestones"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListMilestonesForRepoResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListMilestonesForRepoResponseDataItem = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesListMilestonesForRepoResponseDataItemCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesListMilestonesForRepoResponseData = Array; +declare type IssuesCreateMilestoneEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The title of the milestone. + */ + title: string; + /** + * The state of the milestone. Either `open` or `closed`. + */ + state?: "open" | "closed"; + /** + * A description of the milestone. + */ + description?: string; + /** + * The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + due_on?: string; +}; +declare type IssuesCreateMilestoneRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/milestones"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesCreateMilestoneResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesCreateMilestoneResponseData = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesCreateMilestoneResponseDataCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesGetMilestoneEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * milestone_number parameter + */ + milestone_number: number; +}; +declare type IssuesGetMilestoneRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/milestones/:milestone_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesGetMilestoneResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetMilestoneResponseData = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesGetMilestoneResponseDataCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesUpdateMilestoneEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * milestone_number parameter + */ + milestone_number: number; + /** + * The title of the milestone. + */ + title?: string; + /** + * The state of the milestone. Either `open` or `closed`. + */ + state?: "open" | "closed"; + /** + * A description of the milestone. + */ + description?: string; + /** + * The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + due_on?: string; +}; +declare type IssuesUpdateMilestoneRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/milestones/:milestone_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesUpdateMilestoneResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesUpdateMilestoneResponseData = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesUpdateMilestoneResponseDataCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesDeleteMilestoneEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * milestone_number parameter + */ + milestone_number: number; +}; +declare type IssuesDeleteMilestoneRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/milestones/:milestone_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListLabelsForMilestoneEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * milestone_number parameter + */ + milestone_number: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type IssuesListLabelsForMilestoneRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/milestones/:milestone_number/labels"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListLabelsForMilestoneResponseDataItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesListLabelsForMilestoneResponseData = Array; +declare type ActivityListRepoNotificationsForAuthenticatedUserEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * If `true`, show notifications marked as read. + */ + all?: boolean; + /** + * If `true`, only shows notifications in which the user is directly participating or mentioned. + */ + participating?: boolean; + /** + * Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; + /** + * Only show notifications updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + before?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListRepoNotificationsForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/notifications"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListRepoNotificationsForAuthenticatedUserResponseDataItemSubject = { + title: string; + url: string; + latest_comment_url: string; + type: string; +}; +declare type ActivityListRepoNotificationsForAuthenticatedUserResponseDataItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActivityListRepoNotificationsForAuthenticatedUserResponseDataItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActivityListRepoNotificationsForAuthenticatedUserResponseDataItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ActivityListRepoNotificationsForAuthenticatedUserResponseDataItem = { + id: string; + repository: ActivityListRepoNotificationsForAuthenticatedUserResponseDataItemRepository; + subject: ActivityListRepoNotificationsForAuthenticatedUserResponseDataItemSubject; + reason: string; + unread: boolean; + updated_at: string; + last_read_at: string; + url: string; +}; +declare type ActivityListRepoNotificationsForAuthenticatedUserResponseData = Array; +declare type ActivityMarkRepoNotificationsAsReadEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Describes the last point that notifications were checked. Anything updated since this time will not be marked as read. If you omit this parameter, all notifications are marked as read. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp. + */ + last_read_at?: string; +}; +declare type ActivityMarkRepoNotificationsAsReadRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/notifications"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetPagesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetPagesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pages"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetPagesResponseDataSource = { + branch: string; + directory: string; +}; +declare type ReposGetPagesResponseData = { + url: string; + status: string; + cname: string; + custom_404: boolean; + html_url: string; + source: ReposGetPagesResponseDataSource; +}; +declare type ReposEnablePagesSiteEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * source parameter + */ + source?: ReposEnablePagesSiteParamsSource; +} & RequiredPreview<"switcheroo">; +declare type ReposEnablePagesSiteRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/pages"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposEnablePagesSiteResponseDataSource = { + branch: string; + directory: string; +}; +declare type ReposEnablePagesSiteResponseData = { + url: string; + status: string; + cname: string; + custom_404: boolean; + html_url: string; + source: ReposEnablePagesSiteResponseDataSource; +}; +declare type ReposDisablePagesSiteEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"switcheroo">; +declare type ReposDisablePagesSiteRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/pages"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateInformationAboutPagesSiteEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Specify a custom domain for the repository. Sending a `null` value will remove the custom domain. For more about custom domains, see "[Using a custom domain with GitHub Pages](https://help.github.com/articles/using-a-custom-domain-with-github-pages/)." + */ + cname?: string; + /** + * Update the source for the repository. Must include the branch name, and may optionally specify the subdirectory `/docs`. Possible values are `"gh-pages"`, `"master"`, and `"master /docs"`. + */ + source?: '"gh-pages"' | '"master"' | '"master /docs"'; +}; +declare type ReposUpdateInformationAboutPagesSiteRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/pages"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposRequestPageBuildEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposRequestPageBuildRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/pages/builds"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposRequestPageBuildResponseData = { + url: string; + status: string; +}; +declare type ReposListPagesBuildsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListPagesBuildsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pages/builds"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListPagesBuildsResponseDataItemPusher = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPagesBuildsResponseDataItemError = { + message: null; +}; +declare type ReposListPagesBuildsResponseDataItem = { + url: string; + status: string; + error: ReposListPagesBuildsResponseDataItemError; + pusher: ReposListPagesBuildsResponseDataItemPusher; + commit: string; + duration: number; + created_at: string; + updated_at: string; +}; +declare type ReposListPagesBuildsResponseData = Array; +declare type ReposGetLatestPagesBuildEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetLatestPagesBuildRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pages/builds/latest"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetLatestPagesBuildResponseDataPusher = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetLatestPagesBuildResponseDataError = { + message: null; +}; +declare type ReposGetLatestPagesBuildResponseData = { + url: string; + status: string; + error: ReposGetLatestPagesBuildResponseDataError; + pusher: ReposGetLatestPagesBuildResponseDataPusher; + commit: string; + duration: number; + created_at: string; + updated_at: string; +}; +declare type ReposGetPagesBuildEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * build_id parameter + */ + build_id: number; +}; +declare type ReposGetPagesBuildRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pages/builds/:build_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetPagesBuildResponseDataPusher = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetPagesBuildResponseDataError = { + message: null; +}; +declare type ReposGetPagesBuildResponseData = { + url: string; + status: string; + error: ReposGetPagesBuildResponseDataError; + pusher: ReposGetPagesBuildResponseDataPusher; + commit: string; + duration: number; + created_at: string; + updated_at: string; +}; +declare type ProjectsListForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"inertia">; +declare type ProjectsListForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/projects"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsListForRepoResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsListForRepoResponseDataItem = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: ProjectsListForRepoResponseDataItemCreator; + created_at: string; + updated_at: string; +}; +declare type ProjectsListForRepoResponseData = Array; +declare type ProjectsCreateForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The name of the project. + */ + name: string; + /** + * The description of the project. + */ + body?: string; +} & RequiredPreview<"inertia">; +declare type ProjectsCreateForRepoRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/projects"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsCreateForRepoResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsCreateForRepoResponseData = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: ProjectsCreateForRepoResponseDataCreator; + created_at: string; + updated_at: string; +}; +declare type PullsListEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Either `open`, `closed`, or `all` to filter by state. + */ + state?: "open" | "closed" | "all"; + /** + * Filter pulls by head user or head organization and branch name in the format of `user:ref-name` or `organization:ref-name`. For example: `github:new-script-format` or `octocat:test-branch`. + */ + head?: string; + /** + * Filter pulls by base branch name. Example: `gh-pages`. + */ + base?: string; + /** + * What to sort results by. Can be either `created`, `updated`, `popularity` (comment count) or `long-running` (age, filtering by pulls updated in the last month). + */ + sort?: "created" | "updated" | "popularity" | "long-running"; + /** + * The direction of the sort. Can be either `asc` or `desc`. Default: `desc` when sort is `created` or sort is not specified, otherwise `asc`. + */ + direction?: "asc" | "desc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type PullsListRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsListResponseDataItemLinksStatuses = { + href: string; +}; +declare type PullsListResponseDataItemLinksCommits = { + href: string; +}; +declare type PullsListResponseDataItemLinksReviewComment = { + href: string; +}; +declare type PullsListResponseDataItemLinksReviewComments = { + href: string; +}; +declare type PullsListResponseDataItemLinksComments = { + href: string; +}; +declare type PullsListResponseDataItemLinksIssue = { + href: string; +}; +declare type PullsListResponseDataItemLinksHtml = { + href: string; +}; +declare type PullsListResponseDataItemLinksSelf = { + href: string; +}; +declare type PullsListResponseDataItemLinks = { + self: PullsListResponseDataItemLinksSelf; + html: PullsListResponseDataItemLinksHtml; + issue: PullsListResponseDataItemLinksIssue; + comments: PullsListResponseDataItemLinksComments; + review_comments: PullsListResponseDataItemLinksReviewComments; + review_comment: PullsListResponseDataItemLinksReviewComment; + commits: PullsListResponseDataItemLinksCommits; + statuses: PullsListResponseDataItemLinksStatuses; +}; +declare type PullsListResponseDataItemBaseRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsListResponseDataItemBaseRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListResponseDataItemBaseRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsListResponseDataItemBaseRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsListResponseDataItemBaseRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsListResponseDataItemBaseUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListResponseDataItemBase = { + label: string; + ref: string; + sha: string; + user: PullsListResponseDataItemBaseUser; + repo: PullsListResponseDataItemBaseRepo; +}; +declare type PullsListResponseDataItemHeadRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsListResponseDataItemHeadRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListResponseDataItemHeadRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsListResponseDataItemHeadRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsListResponseDataItemHeadRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsListResponseDataItemHeadUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListResponseDataItemHead = { + label: string; + ref: string; + sha: string; + user: PullsListResponseDataItemHeadUser; + repo: PullsListResponseDataItemHeadRepo; +}; +declare type PullsListResponseDataItemRequestedTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type PullsListResponseDataItemRequestedReviewersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListResponseDataItemAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListResponseDataItemAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListResponseDataItemMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListResponseDataItemMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: PullsListResponseDataItemMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type PullsListResponseDataItemLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type PullsListResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListResponseDataItem = { + url: string; + id: number; + node_id: string; + html_url: string; + diff_url: string; + patch_url: string; + issue_url: string; + commits_url: string; + review_comments_url: string; + review_comment_url: string; + comments_url: string; + statuses_url: string; + number: number; + state: string; + locked: boolean; + title: string; + user: PullsListResponseDataItemUser; + body: string; + labels: Array; + milestone: PullsListResponseDataItemMilestone; + active_lock_reason: string; + created_at: string; + updated_at: string; + closed_at: string; + merged_at: string; + merge_commit_sha: string; + assignee: PullsListResponseDataItemAssignee; + assignees: Array; + requested_reviewers: Array; + requested_teams: Array; + head: PullsListResponseDataItemHead; + base: PullsListResponseDataItemBase; + _links: PullsListResponseDataItemLinks; + author_association: string; + draft: boolean; +}; +declare type PullsListResponseData = Array; +declare type PullsCreateEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The title of the new pull request. + */ + title: string; + /** + * The name of the branch where your changes are implemented. For cross-repository pull requests in the same network, namespace `head` with a user like this: `username:branch`. + */ + head: string; + /** + * The name of the branch you want the changes pulled into. This should be an existing branch on the current repository. You cannot submit a pull request to one repository that requests a merge to a base of another repository. + */ + base: string; + /** + * The contents of the pull request. + */ + body?: string; + /** + * Indicates whether [maintainers can modify](https://help.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request. + */ + maintainer_can_modify?: boolean; + /** + * Indicates whether the pull request is a draft. See "[Draft Pull Requests](https://help.github.com/en/articles/about-pull-requests#draft-pull-requests)" in the GitHub Help documentation to learn more. + */ + draft?: boolean; +}; +declare type PullsCreateRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/pulls"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsCreateResponseDataMergedBy = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseDataLinksStatuses = { + href: string; +}; +declare type PullsCreateResponseDataLinksCommits = { + href: string; +}; +declare type PullsCreateResponseDataLinksReviewComment = { + href: string; +}; +declare type PullsCreateResponseDataLinksReviewComments = { + href: string; +}; +declare type PullsCreateResponseDataLinksComments = { + href: string; +}; +declare type PullsCreateResponseDataLinksIssue = { + href: string; +}; +declare type PullsCreateResponseDataLinksHtml = { + href: string; +}; +declare type PullsCreateResponseDataLinksSelf = { + href: string; +}; +declare type PullsCreateResponseDataLinks = { + self: PullsCreateResponseDataLinksSelf; + html: PullsCreateResponseDataLinksHtml; + issue: PullsCreateResponseDataLinksIssue; + comments: PullsCreateResponseDataLinksComments; + review_comments: PullsCreateResponseDataLinksReviewComments; + review_comment: PullsCreateResponseDataLinksReviewComment; + commits: PullsCreateResponseDataLinksCommits; + statuses: PullsCreateResponseDataLinksStatuses; +}; +declare type PullsCreateResponseDataBaseRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsCreateResponseDataBaseRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseDataBaseRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsCreateResponseDataBaseRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsCreateResponseDataBaseRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsCreateResponseDataBaseUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseDataBase = { + label: string; + ref: string; + sha: string; + user: PullsCreateResponseDataBaseUser; + repo: PullsCreateResponseDataBaseRepo; +}; +declare type PullsCreateResponseDataHeadRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsCreateResponseDataHeadRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseDataHeadRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsCreateResponseDataHeadRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsCreateResponseDataHeadRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsCreateResponseDataHeadUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseDataHead = { + label: string; + ref: string; + sha: string; + user: PullsCreateResponseDataHeadUser; + repo: PullsCreateResponseDataHeadRepo; +}; +declare type PullsCreateResponseDataRequestedTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type PullsCreateResponseDataRequestedReviewersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseDataAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseDataAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseDataMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseDataMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: PullsCreateResponseDataMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type PullsCreateResponseDataLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type PullsCreateResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseData = { + url: string; + id: number; + node_id: string; + html_url: string; + diff_url: string; + patch_url: string; + issue_url: string; + commits_url: string; + review_comments_url: string; + review_comment_url: string; + comments_url: string; + statuses_url: string; + number: number; + state: string; + locked: boolean; + title: string; + user: PullsCreateResponseDataUser; + body: string; + labels: Array; + milestone: PullsCreateResponseDataMilestone; + active_lock_reason: string; + created_at: string; + updated_at: string; + closed_at: string; + merged_at: string; + merge_commit_sha: string; + assignee: PullsCreateResponseDataAssignee; + assignees: Array; + requested_reviewers: Array; + requested_teams: Array; + head: PullsCreateResponseDataHead; + base: PullsCreateResponseDataBase; + _links: PullsCreateResponseDataLinks; + author_association: string; + draft: boolean; + merged: boolean; + mergeable: boolean; + rebaseable: boolean; + mergeable_state: string; + merged_by: PullsCreateResponseDataMergedBy; + comments: number; + review_comments: number; + maintainer_can_modify: boolean; + commits: number; + additions: number; + deletions: number; + changed_files: number; +}; +declare type PullsListCommentsForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Can be either `created` or `updated` comments. + */ + sort?: "created" | "updated"; + /** + * Can be either `asc` or `desc`. Ignored without `sort` parameter. + */ + direction?: "asc" | "desc"; + /** + * This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Only returns comments `updated` at or after this time. + */ + since?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type PullsListCommentsForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsListCommentsForRepoResponseDataItemLinksPullRequest = { + href: string; +}; +declare type PullsListCommentsForRepoResponseDataItemLinksHtml = { + href: string; +}; +declare type PullsListCommentsForRepoResponseDataItemLinksSelf = { + href: string; +}; +declare type PullsListCommentsForRepoResponseDataItemLinks = { + self: PullsListCommentsForRepoResponseDataItemLinksSelf; + html: PullsListCommentsForRepoResponseDataItemLinksHtml; + pull_request: PullsListCommentsForRepoResponseDataItemLinksPullRequest; +}; +declare type PullsListCommentsForRepoResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListCommentsForRepoResponseDataItem = { + url: string; + id: number; + node_id: string; + pull_request_review_id: number; + diff_hunk: string; + path: string; + position: number; + original_position: number; + commit_id: string; + original_commit_id: string; + in_reply_to_id: number; + user: PullsListCommentsForRepoResponseDataItemUser; + body: string; + created_at: string; + updated_at: string; + html_url: string; + pull_request_url: string; + author_association: string; + _links: PullsListCommentsForRepoResponseDataItemLinks; + start_line: number; + original_start_line: number; + start_side: string; + line: number; + original_line: number; + side: string; +}; +declare type PullsListCommentsForRepoResponseData = Array; +declare type PullsGetCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; +}; +declare type PullsGetCommentRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsGetCommentResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsGetCommentResponseDataLinksHtml = { + href: string; +}; +declare type PullsGetCommentResponseDataLinksSelf = { + href: string; +}; +declare type PullsGetCommentResponseDataLinks = { + self: PullsGetCommentResponseDataLinksSelf; + html: PullsGetCommentResponseDataLinksHtml; + pull_request: PullsGetCommentResponseDataLinksPullRequest; +}; +declare type PullsGetCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetCommentResponseData = { + url: string; + id: number; + node_id: string; + pull_request_review_id: number; + diff_hunk: string; + path: string; + position: number; + original_position: number; + commit_id: string; + original_commit_id: string; + in_reply_to_id: number; + user: PullsGetCommentResponseDataUser; + body: string; + created_at: string; + updated_at: string; + html_url: string; + pull_request_url: string; + author_association: string; + _links: PullsGetCommentResponseDataLinks; + start_line: number; + original_start_line: number; + start_side: string; + line: number; + original_line: number; + side: string; +}; +declare type PullsUpdateCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * The text of the reply to the review comment. + */ + body: string; +}; +declare type PullsUpdateCommentRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/pulls/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsUpdateCommentResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsUpdateCommentResponseDataLinksHtml = { + href: string; +}; +declare type PullsUpdateCommentResponseDataLinksSelf = { + href: string; +}; +declare type PullsUpdateCommentResponseDataLinks = { + self: PullsUpdateCommentResponseDataLinksSelf; + html: PullsUpdateCommentResponseDataLinksHtml; + pull_request: PullsUpdateCommentResponseDataLinksPullRequest; +}; +declare type PullsUpdateCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateCommentResponseData = { + url: string; + id: number; + node_id: string; + pull_request_review_id: number; + diff_hunk: string; + path: string; + position: number; + original_position: number; + commit_id: string; + original_commit_id: string; + in_reply_to_id: number; + user: PullsUpdateCommentResponseDataUser; + body: string; + created_at: string; + updated_at: string; + html_url: string; + pull_request_url: string; + author_association: string; + _links: PullsUpdateCommentResponseDataLinks; + start_line: number; + original_start_line: number; + start_side: string; + line: number; + original_line: number; + side: string; +}; +declare type PullsDeleteCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; +}; +declare type PullsDeleteCommentRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/pulls/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForPullRequestReviewCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to a pull request review comment. + */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsListForPullRequestReviewCommentRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/comments/:comment_id/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForPullRequestReviewCommentResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsListForPullRequestReviewCommentResponseDataItem = { + id: number; + node_id: string; + user: ReactionsListForPullRequestReviewCommentResponseDataItemUser; + content: string; + created_at: string; +}; +declare type ReactionsListForPullRequestReviewCommentResponseData = Array; +declare type ReactionsCreateForPullRequestReviewCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the pull request review comment. + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsCreateForPullRequestReviewCommentRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/pulls/comments/:comment_id/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsCreateForPullRequestReviewCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsCreateForPullRequestReviewCommentResponseData = { + id: number; + node_id: string; + user: ReactionsCreateForPullRequestReviewCommentResponseDataUser; + content: string; + created_at: string; +}; +declare type ReactionsDeleteForPullRequestCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * reaction_id parameter + */ + reaction_id: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsDeleteForPullRequestCommentRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/pulls/comments/:comment_id/reactions/:reaction_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsGetEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; +}; +declare type PullsGetRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/:pull_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsGetResponseDataMergedBy = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseDataLinksStatuses = { + href: string; +}; +declare type PullsGetResponseDataLinksCommits = { + href: string; +}; +declare type PullsGetResponseDataLinksReviewComment = { + href: string; +}; +declare type PullsGetResponseDataLinksReviewComments = { + href: string; +}; +declare type PullsGetResponseDataLinksComments = { + href: string; +}; +declare type PullsGetResponseDataLinksIssue = { + href: string; +}; +declare type PullsGetResponseDataLinksHtml = { + href: string; +}; +declare type PullsGetResponseDataLinksSelf = { + href: string; +}; +declare type PullsGetResponseDataLinks = { + self: PullsGetResponseDataLinksSelf; + html: PullsGetResponseDataLinksHtml; + issue: PullsGetResponseDataLinksIssue; + comments: PullsGetResponseDataLinksComments; + review_comments: PullsGetResponseDataLinksReviewComments; + review_comment: PullsGetResponseDataLinksReviewComment; + commits: PullsGetResponseDataLinksCommits; + statuses: PullsGetResponseDataLinksStatuses; +}; +declare type PullsGetResponseDataBaseRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsGetResponseDataBaseRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseDataBaseRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsGetResponseDataBaseRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsGetResponseDataBaseRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsGetResponseDataBaseUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseDataBase = { + label: string; + ref: string; + sha: string; + user: PullsGetResponseDataBaseUser; + repo: PullsGetResponseDataBaseRepo; +}; +declare type PullsGetResponseDataHeadRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsGetResponseDataHeadRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseDataHeadRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsGetResponseDataHeadRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsGetResponseDataHeadRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsGetResponseDataHeadUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseDataHead = { + label: string; + ref: string; + sha: string; + user: PullsGetResponseDataHeadUser; + repo: PullsGetResponseDataHeadRepo; +}; +declare type PullsGetResponseDataRequestedTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type PullsGetResponseDataRequestedReviewersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseDataAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseDataAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseDataMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseDataMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: PullsGetResponseDataMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type PullsGetResponseDataLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type PullsGetResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseData = { + url: string; + id: number; + node_id: string; + html_url: string; + diff_url: string; + patch_url: string; + issue_url: string; + commits_url: string; + review_comments_url: string; + review_comment_url: string; + comments_url: string; + statuses_url: string; + number: number; + state: string; + locked: boolean; + title: string; + user: PullsGetResponseDataUser; + body: string; + labels: Array; + milestone: PullsGetResponseDataMilestone; + active_lock_reason: string; + created_at: string; + updated_at: string; + closed_at: string; + merged_at: string; + merge_commit_sha: string; + assignee: PullsGetResponseDataAssignee; + assignees: Array; + requested_reviewers: Array; + requested_teams: Array; + head: PullsGetResponseDataHead; + base: PullsGetResponseDataBase; + _links: PullsGetResponseDataLinks; + author_association: string; + draft: boolean; + merged: boolean; + mergeable: boolean; + rebaseable: boolean; + mergeable_state: string; + merged_by: PullsGetResponseDataMergedBy; + comments: number; + review_comments: number; + maintainer_can_modify: boolean; + commits: number; + additions: number; + deletions: number; + changed_files: number; +}; +declare type PullsUpdateEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * The title of the pull request. + */ + title?: string; + /** + * The contents of the pull request. + */ + body?: string; + /** + * State of this Pull Request. Either `open` or `closed`. + */ + state?: "open" | "closed"; + /** + * The name of the branch you want your changes pulled into. This should be an existing branch on the current repository. You cannot update the base branch on a pull request to point to another repository. + */ + base?: string; + /** + * Indicates whether [maintainers can modify](https://help.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request. + */ + maintainer_can_modify?: boolean; +}; +declare type PullsUpdateRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/pulls/:pull_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsUpdateResponseDataMergedBy = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseDataLinksStatuses = { + href: string; +}; +declare type PullsUpdateResponseDataLinksCommits = { + href: string; +}; +declare type PullsUpdateResponseDataLinksReviewComment = { + href: string; +}; +declare type PullsUpdateResponseDataLinksReviewComments = { + href: string; +}; +declare type PullsUpdateResponseDataLinksComments = { + href: string; +}; +declare type PullsUpdateResponseDataLinksIssue = { + href: string; +}; +declare type PullsUpdateResponseDataLinksHtml = { + href: string; +}; +declare type PullsUpdateResponseDataLinksSelf = { + href: string; +}; +declare type PullsUpdateResponseDataLinks = { + self: PullsUpdateResponseDataLinksSelf; + html: PullsUpdateResponseDataLinksHtml; + issue: PullsUpdateResponseDataLinksIssue; + comments: PullsUpdateResponseDataLinksComments; + review_comments: PullsUpdateResponseDataLinksReviewComments; + review_comment: PullsUpdateResponseDataLinksReviewComment; + commits: PullsUpdateResponseDataLinksCommits; + statuses: PullsUpdateResponseDataLinksStatuses; +}; +declare type PullsUpdateResponseDataBaseRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsUpdateResponseDataBaseRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseDataBaseRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsUpdateResponseDataBaseRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsUpdateResponseDataBaseRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsUpdateResponseDataBaseUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseDataBase = { + label: string; + ref: string; + sha: string; + user: PullsUpdateResponseDataBaseUser; + repo: PullsUpdateResponseDataBaseRepo; +}; +declare type PullsUpdateResponseDataHeadRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsUpdateResponseDataHeadRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseDataHeadRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsUpdateResponseDataHeadRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsUpdateResponseDataHeadRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsUpdateResponseDataHeadUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseDataHead = { + label: string; + ref: string; + sha: string; + user: PullsUpdateResponseDataHeadUser; + repo: PullsUpdateResponseDataHeadRepo; +}; +declare type PullsUpdateResponseDataRequestedTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type PullsUpdateResponseDataRequestedReviewersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseDataAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseDataAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseDataMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseDataMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: PullsUpdateResponseDataMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type PullsUpdateResponseDataLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type PullsUpdateResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseData = { + url: string; + id: number; + node_id: string; + html_url: string; + diff_url: string; + patch_url: string; + issue_url: string; + commits_url: string; + review_comments_url: string; + review_comment_url: string; + comments_url: string; + statuses_url: string; + number: number; + state: string; + locked: boolean; + title: string; + user: PullsUpdateResponseDataUser; + body: string; + labels: Array; + milestone: PullsUpdateResponseDataMilestone; + active_lock_reason: string; + created_at: string; + updated_at: string; + closed_at: string; + merged_at: string; + merge_commit_sha: string; + assignee: PullsUpdateResponseDataAssignee; + assignees: Array; + requested_reviewers: Array; + requested_teams: Array; + head: PullsUpdateResponseDataHead; + base: PullsUpdateResponseDataBase; + _links: PullsUpdateResponseDataLinks; + author_association: string; + draft: boolean; + merged: boolean; + mergeable: boolean; + rebaseable: boolean; + mergeable_state: string; + merged_by: PullsUpdateResponseDataMergedBy; + comments: number; + review_comments: number; + maintainer_can_modify: boolean; + commits: number; + additions: number; + deletions: number; + changed_files: number; +}; +declare type PullsListCommentsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * Can be either `created` or `updated` comments. + */ + sort?: "created" | "updated"; + /** + * Can be either `asc` or `desc`. Ignored without `sort` parameter. + */ + direction?: "asc" | "desc"; + /** + * This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Only returns comments `updated` at or after this time. + */ + since?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type PullsListCommentsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/:pull_number/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsListCommentsResponseDataItemLinksPullRequest = { + href: string; +}; +declare type PullsListCommentsResponseDataItemLinksHtml = { + href: string; +}; +declare type PullsListCommentsResponseDataItemLinksSelf = { + href: string; +}; +declare type PullsListCommentsResponseDataItemLinks = { + self: PullsListCommentsResponseDataItemLinksSelf; + html: PullsListCommentsResponseDataItemLinksHtml; + pull_request: PullsListCommentsResponseDataItemLinksPullRequest; +}; +declare type PullsListCommentsResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListCommentsResponseDataItem = { + url: string; + id: number; + node_id: string; + pull_request_review_id: number; + diff_hunk: string; + path: string; + position: number; + original_position: number; + commit_id: string; + original_commit_id: string; + in_reply_to_id: number; + user: PullsListCommentsResponseDataItemUser; + body: string; + created_at: string; + updated_at: string; + html_url: string; + pull_request_url: string; + author_association: string; + _links: PullsListCommentsResponseDataItemLinks; + start_line: number; + original_start_line: number; + start_side: string; + line: number; + original_line: number; + side: string; +}; +declare type PullsListCommentsResponseData = Array; +declare type PullsCreateCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * The text of the review comment. + */ + body: string; + /** + * The SHA of the commit needing a comment. Not using the latest commit SHA may render your comment outdated if a subsequent commit modifies the line you specify as the `position`. + */ + commit_id: string; + /** + * The relative path to the file that necessitates a comment. + */ + path: string; + /** + * **Required without `comfort-fade` preview**. The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note above. + */ + position?: number; + /** + * **Required with `comfort-fade` preview**. In a split diff view, the side of the diff that the pull request's changes appear on. Can be `LEFT` or `RIGHT`. Use `LEFT` for deletions that appear in red. Use `RIGHT` for additions that appear in green or unchanged lines that appear in white and are shown for context. For a multi-line comment, side represents whether the last line of the comment range is a deletion or addition. For more information, see "[Diff view options](https://help.github.com/en/articles/about-comparing-branches-in-pull-requests#diff-view-options)" in the GitHub Help documentation. + */ + side?: "LEFT" | "RIGHT"; + /** + * **Required with `comfort-fade` preview**. The line of the blob in the pull request diff that the comment applies to. For a multi-line comment, the last line of the range that your comment applies to. + */ + line?: number; + /** + * **Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. The `start_line` is the first line in the pull request diff that your multi-line comment applies to. To learn more about multi-line comments, see "[Commenting on a pull request](https://help.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. + */ + start_line?: number; + /** + * **Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. The `start_side` is the starting side of the diff that the comment applies to. Can be `LEFT` or `RIGHT`. To learn more about multi-line comments, see "[Commenting on a pull request](https://help.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. See `side` in this table for additional context. + */ + start_side?: "LEFT" | "RIGHT" | "side"; +}; +declare type PullsCreateCommentRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/pulls/:pull_number/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsCreateCommentResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsCreateCommentResponseDataLinksHtml = { + href: string; +}; +declare type PullsCreateCommentResponseDataLinksSelf = { + href: string; +}; +declare type PullsCreateCommentResponseDataLinks = { + self: PullsCreateCommentResponseDataLinksSelf; + html: PullsCreateCommentResponseDataLinksHtml; + pull_request: PullsCreateCommentResponseDataLinksPullRequest; +}; +declare type PullsCreateCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateCommentResponseData = { + url: string; + id: number; + node_id: string; + pull_request_review_id: number; + diff_hunk: string; + path: string; + position: number; + original_position: number; + commit_id: string; + original_commit_id: string; + in_reply_to_id: number; + user: PullsCreateCommentResponseDataUser; + body: string; + created_at: string; + updated_at: string; + html_url: string; + pull_request_url: string; + author_association: string; + _links: PullsCreateCommentResponseDataLinks; + start_line: number; + original_start_line: number; + start_side: string; + line: number; + original_line: number; + side: string; +}; +declare type PullsCreateReviewCommentReplyEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * comment_id parameter + */ + comment_id: number; + /** + * The text of the review comment. + */ + body: string; +}; +declare type PullsCreateReviewCommentReplyRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/pulls/:pull_number/comments/:comment_id/replies"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsCreateReviewCommentReplyResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsCreateReviewCommentReplyResponseDataLinksHtml = { + href: string; +}; +declare type PullsCreateReviewCommentReplyResponseDataLinksSelf = { + href: string; +}; +declare type PullsCreateReviewCommentReplyResponseDataLinks = { + self: PullsCreateReviewCommentReplyResponseDataLinksSelf; + html: PullsCreateReviewCommentReplyResponseDataLinksHtml; + pull_request: PullsCreateReviewCommentReplyResponseDataLinksPullRequest; +}; +declare type PullsCreateReviewCommentReplyResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewCommentReplyResponseData = { + url: string; + pull_request_review_id: number; + id: number; + node_id: string; + diff_hunk: string; + path: string; + position: number; + original_position: number; + commit_id: string; + original_commit_id: string; + user: PullsCreateReviewCommentReplyResponseDataUser; + body: string; + created_at: string; + updated_at: string; + html_url: string; + pull_request_url: string; + author_association: string; + _links: PullsCreateReviewCommentReplyResponseDataLinks; +}; +declare type PullsListCommitsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type PullsListCommitsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/:pull_number/commits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsListCommitsResponseDataItemParentsItem = { + url: string; + sha: string; +}; +declare type PullsListCommitsResponseDataItemCommitter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListCommitsResponseDataItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListCommitsResponseDataItemCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type PullsListCommitsResponseDataItemCommitTree = { + url: string; + sha: string; +}; +declare type PullsListCommitsResponseDataItemCommitCommitter = { + name: string; + email: string; + date: string; +}; +declare type PullsListCommitsResponseDataItemCommitAuthor = { + name: string; + email: string; + date: string; +}; +declare type PullsListCommitsResponseDataItemCommit = { + url: string; + author: PullsListCommitsResponseDataItemCommitAuthor; + committer: PullsListCommitsResponseDataItemCommitCommitter; + message: string; + tree: PullsListCommitsResponseDataItemCommitTree; + comment_count: number; + verification: PullsListCommitsResponseDataItemCommitVerification; +}; +declare type PullsListCommitsResponseDataItem = { + url: string; + sha: string; + node_id: string; + html_url: string; + comments_url: string; + commit: PullsListCommitsResponseDataItemCommit; + author: PullsListCommitsResponseDataItemAuthor; + committer: PullsListCommitsResponseDataItemCommitter; + parents: Array; +}; +declare type PullsListCommitsResponseData = Array; +declare type PullsListFilesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type PullsListFilesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/:pull_number/files"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsListFilesResponseDataItem = { + sha: string; + filename: string; + status: string; + additions: number; + deletions: number; + changes: number; + blob_url: string; + raw_url: string; + contents_url: string; + patch: string; +}; +declare type PullsListFilesResponseData = Array; +declare type PullsCheckIfMergedEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; +}; +declare type PullsCheckIfMergedRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/:pull_number/merge"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsMergeEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * Title for the automatic commit message. + */ + commit_title?: string; + /** + * Extra detail to append to automatic commit message. + */ + commit_message?: string; + /** + * SHA that pull request head must match to allow merge. + */ + sha?: string; + /** + * Merge method to use. Possible values are `merge`, `squash` or `rebase`. Default is `merge`. + */ + merge_method?: "merge" | "squash" | "rebase"; +}; +declare type PullsMergeRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/pulls/:pull_number/merge"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsMergeResponseData = { + sha: string; + merged: boolean; + message: string; +}; +declare type PullsListReviewRequestsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type PullsListReviewRequestsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/:pull_number/requested_reviewers"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsListReviewRequestsResponseDataTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type PullsListReviewRequestsResponseDataUsersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListReviewRequestsResponseData = { + users: Array; + teams: Array; +}; +declare type PullsCreateReviewRequestEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * An array of user `login`s that will be requested. + */ + reviewers?: string[]; + /** + * An array of team `slug`s that will be requested. + */ + team_reviewers?: string[]; +}; +declare type PullsCreateReviewRequestRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/pulls/:pull_number/requested_reviewers"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsCreateReviewRequestResponseDataLinksStatuses = { + href: string; +}; +declare type PullsCreateReviewRequestResponseDataLinksCommits = { + href: string; +}; +declare type PullsCreateReviewRequestResponseDataLinksReviewComment = { + href: string; +}; +declare type PullsCreateReviewRequestResponseDataLinksReviewComments = { + href: string; +}; +declare type PullsCreateReviewRequestResponseDataLinksComments = { + href: string; +}; +declare type PullsCreateReviewRequestResponseDataLinksIssue = { + href: string; +}; +declare type PullsCreateReviewRequestResponseDataLinksHtml = { + href: string; +}; +declare type PullsCreateReviewRequestResponseDataLinksSelf = { + href: string; +}; +declare type PullsCreateReviewRequestResponseDataLinks = { + self: PullsCreateReviewRequestResponseDataLinksSelf; + html: PullsCreateReviewRequestResponseDataLinksHtml; + issue: PullsCreateReviewRequestResponseDataLinksIssue; + comments: PullsCreateReviewRequestResponseDataLinksComments; + review_comments: PullsCreateReviewRequestResponseDataLinksReviewComments; + review_comment: PullsCreateReviewRequestResponseDataLinksReviewComment; + commits: PullsCreateReviewRequestResponseDataLinksCommits; + statuses: PullsCreateReviewRequestResponseDataLinksStatuses; +}; +declare type PullsCreateReviewRequestResponseDataBaseRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsCreateReviewRequestResponseDataBaseRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewRequestResponseDataBaseRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsCreateReviewRequestResponseDataBaseRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsCreateReviewRequestResponseDataBaseRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsCreateReviewRequestResponseDataBaseUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewRequestResponseDataBase = { + label: string; + ref: string; + sha: string; + user: PullsCreateReviewRequestResponseDataBaseUser; + repo: PullsCreateReviewRequestResponseDataBaseRepo; +}; +declare type PullsCreateReviewRequestResponseDataHeadRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsCreateReviewRequestResponseDataHeadRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewRequestResponseDataHeadRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsCreateReviewRequestResponseDataHeadRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsCreateReviewRequestResponseDataHeadRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsCreateReviewRequestResponseDataHeadUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewRequestResponseDataHead = { + label: string; + ref: string; + sha: string; + user: PullsCreateReviewRequestResponseDataHeadUser; + repo: PullsCreateReviewRequestResponseDataHeadRepo; +}; +declare type PullsCreateReviewRequestResponseDataRequestedTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type PullsCreateReviewRequestResponseDataRequestedReviewersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewRequestResponseDataAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewRequestResponseDataAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewRequestResponseDataMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewRequestResponseDataMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: PullsCreateReviewRequestResponseDataMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type PullsCreateReviewRequestResponseDataLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type PullsCreateReviewRequestResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewRequestResponseData = { + url: string; + id: number; + node_id: string; + html_url: string; + diff_url: string; + patch_url: string; + issue_url: string; + commits_url: string; + review_comments_url: string; + review_comment_url: string; + comments_url: string; + statuses_url: string; + number: number; + state: string; + locked: boolean; + title: string; + user: PullsCreateReviewRequestResponseDataUser; + body: string; + labels: Array; + milestone: PullsCreateReviewRequestResponseDataMilestone; + active_lock_reason: string; + created_at: string; + updated_at: string; + closed_at: string; + merged_at: string; + merge_commit_sha: string; + assignee: PullsCreateReviewRequestResponseDataAssignee; + assignees: Array; + requested_reviewers: Array; + requested_teams: Array; + head: PullsCreateReviewRequestResponseDataHead; + base: PullsCreateReviewRequestResponseDataBase; + _links: PullsCreateReviewRequestResponseDataLinks; + author_association: string; + draft: boolean; +}; +declare type PullsDeleteReviewRequestEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * An array of user `login`s that will be removed. + */ + reviewers?: string[]; + /** + * An array of team `slug`s that will be removed. + */ + team_reviewers?: string[]; +}; +declare type PullsDeleteReviewRequestRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/pulls/:pull_number/requested_reviewers"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsListReviewsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type PullsListReviewsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/:pull_number/reviews"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsListReviewsResponseDataItemLinksPullRequest = { + href: string; +}; +declare type PullsListReviewsResponseDataItemLinksHtml = { + href: string; +}; +declare type PullsListReviewsResponseDataItemLinks = { + html: PullsListReviewsResponseDataItemLinksHtml; + pull_request: PullsListReviewsResponseDataItemLinksPullRequest; +}; +declare type PullsListReviewsResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListReviewsResponseDataItem = { + id: number; + node_id: string; + user: PullsListReviewsResponseDataItemUser; + body: string; + submitted_at: string; + commit_id: string; + state: string; + html_url: string; + pull_request_url: string; + _links: PullsListReviewsResponseDataItemLinks; +}; +declare type PullsListReviewsResponseData = Array; +declare type PullsCreateReviewEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * The SHA of the commit that needs a review. Not using the latest commit SHA may render your review comment outdated if a subsequent commit modifies the line you specify as the `position`. Defaults to the most recent commit in the pull request when you do not specify a value. + */ + commit_id?: string; + /** + * **Required** when using `REQUEST_CHANGES` or `COMMENT` for the `event` parameter. The body text of the pull request review. + */ + body?: string; + /** + * The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. By leaving this blank, you set the review action state to `PENDING`, which means you will need to [submit the pull request review](https://developer.github.com/v3/pulls/reviews/#submit-a-pull-request-review) when you are ready. + */ + event?: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; + /** + * Use the following table to specify the location, destination, and contents of the draft review comment. + */ + comments?: PullsCreateReviewParamsComments[]; +}; +declare type PullsCreateReviewRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/pulls/:pull_number/reviews"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsCreateReviewResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsCreateReviewResponseDataLinksHtml = { + href: string; +}; +declare type PullsCreateReviewResponseDataLinks = { + html: PullsCreateReviewResponseDataLinksHtml; + pull_request: PullsCreateReviewResponseDataLinksPullRequest; +}; +declare type PullsCreateReviewResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewResponseData = { + id: number; + node_id: string; + user: PullsCreateReviewResponseDataUser; + body: string; + commit_id: string; + state: string; + html_url: string; + pull_request_url: string; + _links: PullsCreateReviewResponseDataLinks; +}; +declare type PullsGetReviewEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * review_id parameter + */ + review_id: number; +}; +declare type PullsGetReviewRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsGetReviewResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsGetReviewResponseDataLinksHtml = { + href: string; +}; +declare type PullsGetReviewResponseDataLinks = { + html: PullsGetReviewResponseDataLinksHtml; + pull_request: PullsGetReviewResponseDataLinksPullRequest; +}; +declare type PullsGetReviewResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetReviewResponseData = { + id: number; + node_id: string; + user: PullsGetReviewResponseDataUser; + body: string; + submitted_at: string; + commit_id: string; + state: string; + html_url: string; + pull_request_url: string; + _links: PullsGetReviewResponseDataLinks; +}; +declare type PullsDeletePendingReviewEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * review_id parameter + */ + review_id: number; +}; +declare type PullsDeletePendingReviewRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsDeletePendingReviewResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsDeletePendingReviewResponseDataLinksHtml = { + href: string; +}; +declare type PullsDeletePendingReviewResponseDataLinks = { + html: PullsDeletePendingReviewResponseDataLinksHtml; + pull_request: PullsDeletePendingReviewResponseDataLinksPullRequest; +}; +declare type PullsDeletePendingReviewResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsDeletePendingReviewResponseData = { + id: number; + node_id: string; + user: PullsDeletePendingReviewResponseDataUser; + body: string; + commit_id: string; + state: string; + html_url: string; + pull_request_url: string; + _links: PullsDeletePendingReviewResponseDataLinks; +}; +declare type PullsUpdateReviewEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * review_id parameter + */ + review_id: number; + /** + * The body text of the pull request review. + */ + body: string; +}; +declare type PullsUpdateReviewRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsUpdateReviewResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsUpdateReviewResponseDataLinksHtml = { + href: string; +}; +declare type PullsUpdateReviewResponseDataLinks = { + html: PullsUpdateReviewResponseDataLinksHtml; + pull_request: PullsUpdateReviewResponseDataLinksPullRequest; +}; +declare type PullsUpdateReviewResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateReviewResponseData = { + id: number; + node_id: string; + user: PullsUpdateReviewResponseDataUser; + body: string; + commit_id: string; + state: string; + html_url: string; + pull_request_url: string; + _links: PullsUpdateReviewResponseDataLinks; +}; +declare type PullsGetCommentsForReviewEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * review_id parameter + */ + review_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type PullsGetCommentsForReviewRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsGetCommentsForReviewResponseDataItemLinksPullRequest = { + href: string; +}; +declare type PullsGetCommentsForReviewResponseDataItemLinksHtml = { + href: string; +}; +declare type PullsGetCommentsForReviewResponseDataItemLinksSelf = { + href: string; +}; +declare type PullsGetCommentsForReviewResponseDataItemLinks = { + self: PullsGetCommentsForReviewResponseDataItemLinksSelf; + html: PullsGetCommentsForReviewResponseDataItemLinksHtml; + pull_request: PullsGetCommentsForReviewResponseDataItemLinksPullRequest; +}; +declare type PullsGetCommentsForReviewResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetCommentsForReviewResponseDataItem = { + url: string; + id: number; + node_id: string; + pull_request_review_id: number; + diff_hunk: string; + path: string; + position: number; + original_position: number; + commit_id: string; + original_commit_id: string; + in_reply_to_id: number; + user: PullsGetCommentsForReviewResponseDataItemUser; + body: string; + created_at: string; + updated_at: string; + html_url: string; + pull_request_url: string; + author_association: string; + _links: PullsGetCommentsForReviewResponseDataItemLinks; +}; +declare type PullsGetCommentsForReviewResponseData = Array; +declare type PullsDismissReviewEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * review_id parameter + */ + review_id: number; + /** + * The message for the pull request review dismissal + */ + message: string; +}; +declare type PullsDismissReviewRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/dismissals"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsDismissReviewResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsDismissReviewResponseDataLinksHtml = { + href: string; +}; +declare type PullsDismissReviewResponseDataLinks = { + html: PullsDismissReviewResponseDataLinksHtml; + pull_request: PullsDismissReviewResponseDataLinksPullRequest; +}; +declare type PullsDismissReviewResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsDismissReviewResponseData = { + id: number; + node_id: string; + user: PullsDismissReviewResponseDataUser; + body: string; + commit_id: string; + state: string; + html_url: string; + pull_request_url: string; + _links: PullsDismissReviewResponseDataLinks; +}; +declare type PullsSubmitReviewEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * review_id parameter + */ + review_id: number; + /** + * The body text of the pull request review + */ + body?: string; + /** + * The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. When you leave this blank, the API returns _HTTP 422 (Unrecognizable entity)_ and sets the review action state to `PENDING`, which means you will need to re-submit the pull request review using a review action. + */ + event: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; +}; +declare type PullsSubmitReviewRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/events"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsSubmitReviewResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsSubmitReviewResponseDataLinksHtml = { + href: string; +}; +declare type PullsSubmitReviewResponseDataLinks = { + html: PullsSubmitReviewResponseDataLinksHtml; + pull_request: PullsSubmitReviewResponseDataLinksPullRequest; +}; +declare type PullsSubmitReviewResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsSubmitReviewResponseData = { + id: number; + node_id: string; + user: PullsSubmitReviewResponseDataUser; + body: string; + submitted_at: string; + commit_id: string; + state: string; + html_url: string; + pull_request_url: string; + _links: PullsSubmitReviewResponseDataLinks; +}; +declare type PullsUpdateBranchEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * The expected SHA of the pull request's HEAD ref. This is the most recent commit on the pull request's branch. If the expected SHA does not match the pull request's HEAD, you will receive a `422 Unprocessable Entity` status. You can use the "[List commits on a repository](https://developer.github.com/v3/repos/commits/#list-commits-on-a-repository)" endpoint to find the most recent commit SHA. Default: SHA of the pull request's current HEAD ref. + */ + expected_head_sha?: string; +} & RequiredPreview<"lydian">; +declare type PullsUpdateBranchRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/pulls/:pull_number/update-branch"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsUpdateBranchResponseData = { + message: string; + url: string; +}; +declare type ReposGetReadmeEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The name of the commit/branch/tag. Default: the repository’s default branch (usually `master`) + */ + ref?: string; +}; +declare type ReposGetReadmeRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/readme"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetReadmeResponseDataLinks = { + git: string; + self: string; + html: string; +}; +declare type ReposGetReadmeResponseData = { + type: string; + encoding: string; + size: number; + name: string; + path: string; + content: string; + sha: string; + url: string; + git_url: string; + html_url: string; + download_url: string; + _links: ReposGetReadmeResponseDataLinks; +}; +declare type ReposListReleasesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListReleasesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/releases"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListReleasesResponseDataItemAssetsItemUploader = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListReleasesResponseDataItemAssetsItem = { + url: string; + browser_download_url: string; + id: number; + node_id: string; + name: string; + label: string; + state: string; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: ReposListReleasesResponseDataItemAssetsItemUploader; +}; +declare type ReposListReleasesResponseDataItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListReleasesResponseDataItem = { + url: string; + html_url: string; + assets_url: string; + upload_url: string; + tarball_url: string; + zipball_url: string; + id: number; + node_id: string; + tag_name: string; + target_commitish: string; + name: string; + body: string; + draft: boolean; + prerelease: boolean; + created_at: string; + published_at: string; + author: ReposListReleasesResponseDataItemAuthor; + assets: Array; +}; +declare type ReposListReleasesResponseData = Array; +declare type ReposCreateReleaseEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The name of the tag. + */ + tag_name: string; + /** + * Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch (usually `master`). + */ + target_commitish?: string; + /** + * The name of the release. + */ + name?: string; + /** + * Text describing the contents of the tag. + */ + body?: string; + /** + * `true` to create a draft (unpublished) release, `false` to create a published one. + */ + draft?: boolean; + /** + * `true` to identify the release as a prerelease. `false` to identify the release as a full release. + */ + prerelease?: boolean; +}; +declare type ReposCreateReleaseRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/releases"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateReleaseResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateReleaseResponseData = { + url: string; + html_url: string; + assets_url: string; + upload_url: string; + tarball_url: string; + zipball_url: string; + id: number; + node_id: string; + tag_name: string; + target_commitish: string; + name: string; + body: string; + draft: boolean; + prerelease: boolean; + created_at: string; + published_at: string; + author: ReposCreateReleaseResponseDataAuthor; + assets: Array; +}; +declare type ReposGetReleaseAssetEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * asset_id parameter + */ + asset_id: number; +}; +declare type ReposGetReleaseAssetRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/releases/assets/:asset_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetReleaseAssetResponseDataUploader = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetReleaseAssetResponseData = { + url: string; + browser_download_url: string; + id: number; + node_id: string; + name: string; + label: string; + state: string; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: ReposGetReleaseAssetResponseDataUploader; +}; +declare type ReposUpdateReleaseAssetEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * asset_id parameter + */ + asset_id: number; + /** + * The file name of the asset. + */ + name?: string; + /** + * An alternate short description of the asset. Used in place of the filename. + */ + label?: string; +}; +declare type ReposUpdateReleaseAssetRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/releases/assets/:asset_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateReleaseAssetResponseDataUploader = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateReleaseAssetResponseData = { + url: string; + browser_download_url: string; + id: number; + node_id: string; + name: string; + label: string; + state: string; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: ReposUpdateReleaseAssetResponseDataUploader; +}; +declare type ReposDeleteReleaseAssetEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * asset_id parameter + */ + asset_id: number; +}; +declare type ReposDeleteReleaseAssetRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/releases/assets/:asset_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetLatestReleaseEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetLatestReleaseRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/releases/latest"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetLatestReleaseResponseDataAssetsItemUploader = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetLatestReleaseResponseDataAssetsItem = { + url: string; + browser_download_url: string; + id: number; + node_id: string; + name: string; + label: string; + state: string; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: ReposGetLatestReleaseResponseDataAssetsItemUploader; +}; +declare type ReposGetLatestReleaseResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetLatestReleaseResponseData = { + url: string; + html_url: string; + assets_url: string; + upload_url: string; + tarball_url: string; + zipball_url: string; + id: number; + node_id: string; + tag_name: string; + target_commitish: string; + name: string; + body: string; + draft: boolean; + prerelease: boolean; + created_at: string; + published_at: string; + author: ReposGetLatestReleaseResponseDataAuthor; + assets: Array; +}; +declare type ReposGetReleaseByTagEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * tag parameter + */ + tag: string; +}; +declare type ReposGetReleaseByTagRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/releases/tags/:tag"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetReleaseByTagResponseDataAssetsItemUploader = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetReleaseByTagResponseDataAssetsItem = { + url: string; + browser_download_url: string; + id: number; + node_id: string; + name: string; + label: string; + state: string; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: ReposGetReleaseByTagResponseDataAssetsItemUploader; +}; +declare type ReposGetReleaseByTagResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetReleaseByTagResponseData = { + url: string; + html_url: string; + assets_url: string; + upload_url: string; + tarball_url: string; + zipball_url: string; + id: number; + node_id: string; + tag_name: string; + target_commitish: string; + name: string; + body: string; + draft: boolean; + prerelease: boolean; + created_at: string; + published_at: string; + author: ReposGetReleaseByTagResponseDataAuthor; + assets: Array; +}; +declare type ReposGetReleaseEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * release_id parameter + */ + release_id: number; +}; +declare type ReposGetReleaseRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/releases/:release_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetReleaseResponseDataAssetsItemUploader = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetReleaseResponseDataAssetsItem = { + url: string; + browser_download_url: string; + id: number; + node_id: string; + name: string; + label: string; + state: string; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: ReposGetReleaseResponseDataAssetsItemUploader; +}; +declare type ReposGetReleaseResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetReleaseResponseData = { + url: string; + html_url: string; + assets_url: string; + upload_url: string; + tarball_url: string; + zipball_url: string; + id: number; + node_id: string; + tag_name: string; + target_commitish: string; + name: string; + body: string; + draft: boolean; + prerelease: boolean; + created_at: string; + published_at: string; + author: ReposGetReleaseResponseDataAuthor; + assets: Array; +}; +declare type ReposUpdateReleaseEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * release_id parameter + */ + release_id: number; + /** + * The name of the tag. + */ + tag_name?: string; + /** + * Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch (usually `master`). + */ + target_commitish?: string; + /** + * The name of the release. + */ + name?: string; + /** + * Text describing the contents of the tag. + */ + body?: string; + /** + * `true` makes the release a draft, and `false` publishes the release. + */ + draft?: boolean; + /** + * `true` to identify the release as a prerelease, `false` to identify the release as a full release. + */ + prerelease?: boolean; +}; +declare type ReposUpdateReleaseRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/releases/:release_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateReleaseResponseDataAssetsItemUploader = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateReleaseResponseDataAssetsItem = { + url: string; + browser_download_url: string; + id: number; + node_id: string; + name: string; + label: string; + state: string; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: ReposUpdateReleaseResponseDataAssetsItemUploader; +}; +declare type ReposUpdateReleaseResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateReleaseResponseData = { + url: string; + html_url: string; + assets_url: string; + upload_url: string; + tarball_url: string; + zipball_url: string; + id: number; + node_id: string; + tag_name: string; + target_commitish: string; + name: string; + body: string; + draft: boolean; + prerelease: boolean; + created_at: string; + published_at: string; + author: ReposUpdateReleaseResponseDataAuthor; + assets: Array; +}; +declare type ReposDeleteReleaseEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * release_id parameter + */ + release_id: number; +}; +declare type ReposDeleteReleaseRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/releases/:release_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListAssetsForReleaseEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * release_id parameter + */ + release_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListAssetsForReleaseRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/releases/:release_id/assets"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListAssetsForReleaseResponseDataItemUploader = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListAssetsForReleaseResponseDataItem = { + url: string; + browser_download_url: string; + id: number; + node_id: string; + name: string; + label: string; + state: string; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: ReposListAssetsForReleaseResponseDataItemUploader; +}; +declare type ReposListAssetsForReleaseResponseData = Array; +declare type ReposUploadReleaseAssetEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * release_id parameter + */ + release_id: number; + /** + * name parameter + */ + name?: string; + /** + * label parameter + */ + label?: string; + /** + * The raw file data + */ + data: string; + /** + * The URL origin (protocol + host name + port) is included in `upload_url` returned in the response of the "Create a release" endpoint + */ + origin?: string; + /** + * For https://api.github.com, set `baseUrl` to `https://uploads.github.com`. For GitHub Enterprise Server, set it to `/api/uploads` + */ + baseUrl: string; +} & { + headers: { + "content-type": string; + }; +}; +declare type ReposUploadReleaseAssetRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/releases/:release_id/assets{?name,label}"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUploadReleaseAssetResponseDataUploader = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUploadReleaseAssetResponseData = { + url: string; + browser_download_url: string; + id: number; + node_id: string; + name: string; + label: string; + state: string; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: ReposUploadReleaseAssetResponseDataUploader; +}; +declare type ActivityListStargazersForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListStargazersForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/stargazers"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListStargazersForRepoResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActivityListStargazersForRepoResponseData = Array; +declare type ReposGetCodeFrequencyStatsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetCodeFrequencyStatsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/stats/code_frequency"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetCodeFrequencyStatsResponseData = Array>; +declare type ReposGetCommitActivityStatsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetCommitActivityStatsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/stats/commit_activity"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetCommitActivityStatsResponseDataItem = { + days: Array; + total: number; + week: number; +}; +declare type ReposGetCommitActivityStatsResponseData = Array; +declare type ReposGetContributorsStatsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetContributorsStatsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/stats/contributors"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetContributorsStatsResponseDataItemWeeksItem = { + w: string; + a: number; + d: number; + c: number; +}; +declare type ReposGetContributorsStatsResponseDataItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetContributorsStatsResponseDataItem = { + author: ReposGetContributorsStatsResponseDataItemAuthor; + total: number; + weeks: Array; +}; +declare type ReposGetContributorsStatsResponseData = Array; +declare type ReposGetParticipationStatsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetParticipationStatsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/stats/participation"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetParticipationStatsResponseData = { + all: Array; + owner: Array; +}; +declare type ReposGetPunchCardStatsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetPunchCardStatsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/stats/punch_card"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetPunchCardStatsResponseData = Array>; +declare type ReposCreateStatusEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * sha parameter + */ + sha: string; + /** + * The state of the status. Can be one of `error`, `failure`, `pending`, or `success`. + */ + state: "error" | "failure" | "pending" | "success"; + /** + * The target URL to associate with this status. This URL will be linked from the GitHub UI to allow users to easily see the source of the status. + * For example, if your continuous integration system is posting build status, you would want to provide the deep link for the build output for this specific SHA: + * `http://ci.example.com/user/repo/build/sha` + */ + target_url?: string; + /** + * A short description of the status. + */ + description?: string; + /** + * A string label to differentiate this status from the status of other systems. + */ + context?: string; +}; +declare type ReposCreateStatusRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/statuses/:sha"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateStatusResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateStatusResponseData = { + url: string; + avatar_url: string; + id: number; + node_id: string; + state: string; + description: string; + target_url: string; + context: string; + created_at: string; + updated_at: string; + creator: ReposCreateStatusResponseDataCreator; +}; +declare type ActivityListWatchersForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListWatchersForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/subscribers"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListWatchersForRepoResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActivityListWatchersForRepoResponseData = Array; +declare type ActivityGetRepoSubscriptionEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActivityGetRepoSubscriptionRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/subscription"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityGetRepoSubscriptionResponseData = { + subscribed: boolean; + ignored: boolean; + reason: null; + created_at: string; + url: string; + repository_url: string; +}; +declare type ActivitySetRepoSubscriptionEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Determines if notifications should be received from this repository. + */ + subscribed?: boolean; + /** + * Determines if all notifications should be blocked from this repository. + */ + ignored?: boolean; +}; +declare type ActivitySetRepoSubscriptionRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/subscription"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivitySetRepoSubscriptionResponseData = { + subscribed: boolean; + ignored: boolean; + reason: null; + created_at: string; + url: string; + repository_url: string; +}; +declare type ActivityDeleteRepoSubscriptionEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActivityDeleteRepoSubscriptionRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/subscription"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListTagsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListTagsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/tags"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListTagsResponseDataItemCommit = { + sha: string; + url: string; +}; +declare type ReposListTagsResponseDataItem = { + name: string; + commit: ReposListTagsResponseDataItemCommit; + zipball_url: string; + tarball_url: string; +}; +declare type ReposListTagsResponseData = Array; +declare type ReposListTeamsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListTeamsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListTeamsResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposListTeamsResponseData = Array; +declare type ReposGetAllTopicsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"mercy">; +declare type ReposGetAllTopicsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/topics"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetAllTopicsResponseData = { + names: Array; +}; +declare type ReposReplaceAllTopicsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * An array of topics to add to the repository. Pass one or more topics to _replace_ the set of existing topics. Send an empty array (`[]`) to clear all topics from the repository. **Note:** Topic `names` cannot contain uppercase letters. + */ + names: string[]; +} & RequiredPreview<"mercy">; +declare type ReposReplaceAllTopicsRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/topics"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposReplaceAllTopicsResponseData = { + names: Array; +}; +declare type ReposGetClonesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Must be one of: `day`, `week`. + */ + per?: "day" | "week"; +}; +declare type ReposGetClonesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/traffic/clones"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetClonesResponseDataClonesItem = { + timestamp: string; + count: number; + uniques: number; +}; +declare type ReposGetClonesResponseData = { + count: number; + uniques: number; + clones: Array; +}; +declare type ReposGetTopPathsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetTopPathsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/traffic/popular/paths"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetTopPathsResponseDataItem = { + path: string; + title: string; + count: number; + uniques: number; +}; +declare type ReposGetTopPathsResponseData = Array; +declare type ReposGetTopReferrersEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetTopReferrersRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/traffic/popular/referrers"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetTopReferrersResponseDataItem = { + referrer: string; + count: number; + uniques: number; +}; +declare type ReposGetTopReferrersResponseData = Array; +declare type ReposGetViewsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Must be one of: `day`, `week`. + */ + per?: "day" | "week"; +}; +declare type ReposGetViewsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/traffic/views"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetViewsResponseDataViewsItem = { + timestamp: string; + count: number; + uniques: number; +}; +declare type ReposGetViewsResponseData = { + count: number; + uniques: number; + views: Array; +}; +declare type ReposTransferEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * **Required:** The username or organization name the repository will be transferred to. + */ + new_owner?: string; + /** + * ID of the team or teams to add to the repository. Teams can only be added to organization-owned repositories. + */ + team_ids?: number[]; +}; +declare type ReposTransferRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/transfer"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposTransferResponseDataPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposTransferResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposTransferResponseData = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposTransferResponseDataOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposTransferResponseDataPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposCheckVulnerabilityAlertsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"dorian">; +declare type ReposCheckVulnerabilityAlertsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/vulnerability-alerts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposEnableVulnerabilityAlertsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"dorian">; +declare type ReposEnableVulnerabilityAlertsRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/vulnerability-alerts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposDisableVulnerabilityAlertsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"dorian">; +declare type ReposDisableVulnerabilityAlertsRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/vulnerability-alerts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetArchiveLinkEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * archive_format parameter + */ + archive_format: string; + /** + * ref parameter + */ + ref: string; +}; +declare type ReposGetArchiveLinkRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/:archive_format/:ref"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateUsingTemplateEndpoint = { + /** + * template_owner parameter + */ + template_owner: string; + /** + * template_repo parameter + */ + template_repo: string; + /** + * The organization or person who will own the new repository. To create a new repository in an organization, the authenticated user must be a member of the specified organization. + */ + owner?: string; + /** + * The name of the new repository. + */ + name: string; + /** + * A short description of the new repository. + */ + description?: string; + /** + * Either `true` to create a new private repository or `false` to create a new public one. + */ + private?: boolean; +} & RequiredPreview<"baptiste">; +declare type ReposCreateUsingTemplateRequestOptions = { + method: "POST"; + url: "/repos/:template_owner/:template_repo/generate"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateUsingTemplateResponseDataTemplateRepositoryPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposCreateUsingTemplateResponseDataTemplateRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateUsingTemplateResponseDataTemplateRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposCreateUsingTemplateResponseDataTemplateRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposCreateUsingTemplateResponseDataTemplateRepositoryPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposCreateUsingTemplateResponseDataPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposCreateUsingTemplateResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateUsingTemplateResponseData = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposCreateUsingTemplateResponseDataOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposCreateUsingTemplateResponseDataPermissions; + allow_rebase_merge: boolean; + template_repository: ReposCreateUsingTemplateResponseDataTemplateRepository; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposListPublicEndpoint = { + /** + * The integer ID of the last repository that you've seen. + */ + since?: number; +}; +declare type ReposListPublicRequestOptions = { + method: "GET"; + url: "/repositories"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListPublicResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPublicResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposListPublicResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ReposListPublicResponseData = Array; +declare type ScimListProvisionedIdentitiesEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Used for pagination: the index of the first result to return. + */ + startIndex?: number; + /** + * Used for pagination: the number of results to return. + */ + count?: number; + /** + * Filters results using the equals query parameter operator (`eq`). You can filter results that are equal to `id`, `userName`, `emails`, and `external_id`. For example, to search for an identity with the `userName` Octocat, you would use this query: `?filter=userName%20eq%20\"Octocat\"`. + */ + filter?: string; +}; +declare type ScimListProvisionedIdentitiesRequestOptions = { + method: "GET"; + url: "/scim/v2/organizations/:org/Users"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ScimListProvisionedIdentitiesResponseDataResourcesItemMeta = { + resourceType: string; + created: string; + lastModified: string; + location: string; +}; +declare type ScimListProvisionedIdentitiesResponseDataResourcesItemEmailsItem = { + value: string; + primary: boolean; + type: string; +}; +declare type ScimListProvisionedIdentitiesResponseDataResourcesItemName = { + givenName: string; + familyName: string; +}; +declare type ScimListProvisionedIdentitiesResponseDataResourcesItem = { + schemas: Array; + id: string; + externalId: string; + userName: string; + name: ScimListProvisionedIdentitiesResponseDataResourcesItemName; + emails: Array; + active: boolean; + meta: ScimListProvisionedIdentitiesResponseDataResourcesItemMeta; +}; +declare type ScimListProvisionedIdentitiesResponseData = { + schemas: Array; + totalResults: number; + itemsPerPage: number; + startIndex: number; + Resources: Array; +}; +declare type ScimProvisionAndInviteUsersEndpoint = { + /** + * org parameter + */ + org: string; +}; +declare type ScimProvisionAndInviteUsersRequestOptions = { + method: "POST"; + url: "/scim/v2/organizations/:org/Users"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ScimProvisionAndInviteUsersResponseDataMeta = { + resourceType: string; + created: string; + lastModified: string; + location: string; +}; +declare type ScimProvisionAndInviteUsersResponseDataEmailsItem = { + value: string; + type: string; + primary: boolean; +}; +declare type ScimProvisionAndInviteUsersResponseDataName = { + givenName: string; + familyName: string; +}; +declare type ScimProvisionAndInviteUsersResponseData = { + schemas: Array; + id: string; + externalId: string; + userName: string; + name: ScimProvisionAndInviteUsersResponseDataName; + emails: Array; + active: boolean; + meta: ScimProvisionAndInviteUsersResponseDataMeta; +}; +declare type ScimGetProvisioningDetailsForUserEndpoint = { + /** + * org parameter + */ + org: string; + /** + * scim_user_id parameter + */ + scim_user_id: number; +}; +declare type ScimGetProvisioningDetailsForUserRequestOptions = { + method: "GET"; + url: "/scim/v2/organizations/:org/Users/:scim_user_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ScimGetProvisioningDetailsForUserResponseDataMeta = { + resourceType: string; + created: string; + lastModified: string; + location: string; +}; +declare type ScimGetProvisioningDetailsForUserResponseDataEmailsItem = { + value: string; + type: string; + primary: boolean; +}; +declare type ScimGetProvisioningDetailsForUserResponseDataName = { + givenName: string; + familyName: string; +}; +declare type ScimGetProvisioningDetailsForUserResponseData = { + schemas: Array; + id: string; + externalId: string; + userName: string; + name: ScimGetProvisioningDetailsForUserResponseDataName; + emails: Array; + active: boolean; + meta: ScimGetProvisioningDetailsForUserResponseDataMeta; +}; +declare type ScimReplaceProvisionedUserInformationEndpoint = { + /** + * org parameter + */ + org: string; + /** + * scim_user_id parameter + */ + scim_user_id: number; +}; +declare type ScimReplaceProvisionedUserInformationRequestOptions = { + method: "PUT"; + url: "/scim/v2/organizations/:org/Users/:scim_user_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ScimReplaceProvisionedUserInformationResponseDataMeta = { + resourceType: string; + created: string; + lastModified: string; + location: string; +}; +declare type ScimReplaceProvisionedUserInformationResponseDataEmailsItem = { + value: string; + type: string; + primary: boolean; +}; +declare type ScimReplaceProvisionedUserInformationResponseDataName = { + givenName: string; + familyName: string; +}; +declare type ScimReplaceProvisionedUserInformationResponseData = { + schemas: Array; + id: string; + externalId: string; + userName: string; + name: ScimReplaceProvisionedUserInformationResponseDataName; + emails: Array; + active: boolean; + meta: ScimReplaceProvisionedUserInformationResponseDataMeta; +}; +declare type ScimUpdateUserAttributeEndpoint = { + /** + * org parameter + */ + org: string; + /** + * scim_user_id parameter + */ + scim_user_id: number; +}; +declare type ScimUpdateUserAttributeRequestOptions = { + method: "PATCH"; + url: "/scim/v2/organizations/:org/Users/:scim_user_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ScimUpdateUserAttributeResponseDataMeta = { + resourceType: string; + created: string; + lastModified: string; + location: string; +}; +declare type ScimUpdateUserAttributeResponseDataEmailsItem = { + value: string; + type: string; + primary?: boolean; +}; +declare type ScimUpdateUserAttributeResponseDataName = { + givenName: string; + familyName: string; +}; +declare type ScimUpdateUserAttributeResponseData = { + schemas: Array; + id: string; + externalId: string; + userName: string; + name: ScimUpdateUserAttributeResponseDataName; + emails: Array; + active: boolean; + meta: ScimUpdateUserAttributeResponseDataMeta; +}; +declare type ScimRemoveUserFromOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * scim_user_id parameter + */ + scim_user_id: number; +}; +declare type ScimRemoveUserFromOrgRequestOptions = { + method: "DELETE"; + url: "/scim/v2/organizations/:org/Users/:scim_user_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchCodeEndpoint = { + /** + * The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). See "[Searching code](https://help.github.com/articles/searching-code/)" for a detailed list of qualifiers. + */ + q: string; + /** + * Sorts the results of your query. Can only be `indexed`, which indicates how recently a file has been indexed by the GitHub search infrastructure. Default: [best match](https://developer.github.com/v3/search/#ranking-search-results) + */ + sort?: "indexed"; + /** + * Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. + */ + order?: "desc" | "asc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type SearchCodeRequestOptions = { + method: "GET"; + url: "/search/code"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchCodeResponseDataItemsItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type SearchCodeResponseDataItemsItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: SearchCodeResponseDataItemsItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + forks_url: string; + keys_url: string; + collaborators_url: string; + teams_url: string; + hooks_url: string; + issue_events_url: string; + events_url: string; + assignees_url: string; + branches_url: string; + tags_url: string; + blobs_url: string; + git_tags_url: string; + git_refs_url: string; + trees_url: string; + statuses_url: string; + languages_url: string; + stargazers_url: string; + contributors_url: string; + subscribers_url: string; + subscription_url: string; + commits_url: string; + git_commits_url: string; + comments_url: string; + issue_comment_url: string; + contents_url: string; + compare_url: string; + merges_url: string; + archive_url: string; + downloads_url: string; + issues_url: string; + pulls_url: string; + milestones_url: string; + notifications_url: string; + labels_url: string; +}; +declare type SearchCodeResponseDataItemsItem = { + name: string; + path: string; + sha: string; + url: string; + git_url: string; + html_url: string; + repository: SearchCodeResponseDataItemsItemRepository; + score: number; +}; +declare type SearchCodeResponseData = { + total_count: number; + incomplete_results: boolean; + items: Array; +}; +declare type SearchCommitsEndpoint = { + /** + * The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). See "[Searching commits](https://help.github.com/articles/searching-commits/)" for a detailed list of qualifiers. + */ + q: string; + /** + * Sorts the results of your query by `author-date` or `committer-date`. Default: [best match](https://developer.github.com/v3/search/#ranking-search-results) + */ + sort?: "author-date" | "committer-date"; + /** + * Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. + */ + order?: "desc" | "asc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"cloak">; +declare type SearchCommitsRequestOptions = { + method: "GET"; + url: "/search/commits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchCommitsResponseDataItemsItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type SearchCommitsResponseDataItemsItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: SearchCommitsResponseDataItemsItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + forks_url: string; + keys_url: string; + collaborators_url: string; + teams_url: string; + hooks_url: string; + issue_events_url: string; + events_url: string; + assignees_url: string; + branches_url: string; + tags_url: string; + blobs_url: string; + git_tags_url: string; + git_refs_url: string; + trees_url: string; + statuses_url: string; + languages_url: string; + stargazers_url: string; + contributors_url: string; + subscribers_url: string; + subscription_url: string; + commits_url: string; + git_commits_url: string; + comments_url: string; + issue_comment_url: string; + contents_url: string; + compare_url: string; + merges_url: string; + archive_url: string; + downloads_url: string; + issues_url: string; + pulls_url: string; + milestones_url: string; + notifications_url: string; + labels_url: string; + releases_url: string; + deployments_url: string; +}; +declare type SearchCommitsResponseDataItemsItemParentsItem = { + url: string; + html_url: string; + sha: string; +}; +declare type SearchCommitsResponseDataItemsItemCommitter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type SearchCommitsResponseDataItemsItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type SearchCommitsResponseDataItemsItemCommitTree = { + url: string; + sha: string; +}; +declare type SearchCommitsResponseDataItemsItemCommitCommitter = { + date: string; + name: string; + email: string; +}; +declare type SearchCommitsResponseDataItemsItemCommitAuthor = { + date: string; + name: string; + email: string; +}; +declare type SearchCommitsResponseDataItemsItemCommit = { + url: string; + author: SearchCommitsResponseDataItemsItemCommitAuthor; + committer: SearchCommitsResponseDataItemsItemCommitCommitter; + message: string; + tree: SearchCommitsResponseDataItemsItemCommitTree; + comment_count: number; +}; +declare type SearchCommitsResponseDataItemsItem = { + url: string; + sha: string; + html_url: string; + comments_url: string; + commit: SearchCommitsResponseDataItemsItemCommit; + author: SearchCommitsResponseDataItemsItemAuthor; + committer: SearchCommitsResponseDataItemsItemCommitter; + parents: Array; + repository: SearchCommitsResponseDataItemsItemRepository; + score: number; +}; +declare type SearchCommitsResponseData = { + total_count: number; + incomplete_results: boolean; + items: Array; +}; +declare type SearchIssuesAndPullRequestsEndpoint = { + /** + * The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). See "[Searching issues and pull requests](https://help.github.com/articles/searching-issues-and-pull-requests/)" for a detailed list of qualifiers. + */ + q: string; + /** + * Sorts the results of your query by the number of `comments`, `reactions`, `reactions-+1`, `reactions--1`, `reactions-smile`, `reactions-thinking_face`, `reactions-heart`, `reactions-tada`, or `interactions`. You can also sort results by how recently the items were `created` or `updated`, Default: [best match](https://developer.github.com/v3/search/#ranking-search-results) + */ + sort?: "comments" | "reactions" | "reactions-+1" | "reactions--1" | "reactions-smile" | "reactions-thinking_face" | "reactions-heart" | "reactions-tada" | "interactions" | "created" | "updated"; + /** + * Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. + */ + order?: "desc" | "asc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type SearchIssuesAndPullRequestsRequestOptions = { + method: "GET"; + url: "/search/issues"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchIssuesAndPullRequestsResponseDataItemsItemPullRequest = { + html_url: null; + diff_url: null; + patch_url: null; +}; +declare type SearchIssuesAndPullRequestsResponseDataItemsItemLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + color: string; +}; +declare type SearchIssuesAndPullRequestsResponseDataItemsItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; +}; +declare type SearchIssuesAndPullRequestsResponseDataItemsItem = { + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + id: number; + node_id: string; + number: number; + title: string; + user: SearchIssuesAndPullRequestsResponseDataItemsItemUser; + labels: Array; + state: string; + assignee: null; + milestone: null; + comments: number; + created_at: string; + updated_at: string; + closed_at: null; + pull_request: SearchIssuesAndPullRequestsResponseDataItemsItemPullRequest; + body: string; + score: number; +}; +declare type SearchIssuesAndPullRequestsResponseData = { + total_count: number; + incomplete_results: boolean; + items: Array; +}; +declare type SearchLabelsEndpoint = { + /** + * The id of the repository. + */ + repository_id: number; + /** + * The search keywords. This endpoint does not accept qualifiers in the query. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). + */ + q: string; + /** + * Sorts the results of your query by when the label was `created` or `updated`. Default: [best match](https://developer.github.com/v3/search/#ranking-search-results) + */ + sort?: "created" | "updated"; + /** + * Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. + */ + order?: "desc" | "asc"; +}; +declare type SearchLabelsRequestOptions = { + method: "GET"; + url: "/search/labels"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchLabelsResponseDataItemsItem = { + id: number; + node_id: string; + url: string; + name: string; + color: string; + default: boolean; + description: string; + score: number; +}; +declare type SearchLabelsResponseData = { + total_count: number; + incomplete_results: boolean; + items: Array; +}; +declare type SearchReposEndpoint = { + /** + * The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). See "[Searching for repositories](https://help.github.com/articles/searching-for-repositories/)" for a detailed list of qualifiers. + */ + q: string; + /** + * Sorts the results of your query by number of `stars`, `forks`, or `help-wanted-issues` or how recently the items were `updated`. Default: [best match](https://developer.github.com/v3/search/#ranking-search-results) + */ + sort?: "stars" | "forks" | "help-wanted-issues" | "updated"; + /** + * Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. + */ + order?: "desc" | "asc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type SearchReposRequestOptions = { + method: "GET"; + url: "/search/repositories"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchReposResponseDataItemsItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + received_events_url: string; + type: string; +}; +declare type SearchReposResponseDataItemsItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: SearchReposResponseDataItemsItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + created_at: string; + updated_at: string; + pushed_at: string; + homepage: string; + size: number; + stargazers_count: number; + watchers_count: number; + language: string; + forks_count: number; + open_issues_count: number; + master_branch: string; + default_branch: string; + score: number; +}; +declare type SearchReposResponseData = { + total_count: number; + incomplete_results: boolean; + items: Array; +}; +declare type SearchTopicsEndpoint = { + /** + * The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). + */ + q: string; +}; +declare type SearchTopicsRequestOptions = { + method: "GET"; + url: "/search/topics"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchTopicsResponseDataItemsItem = { + name: string; + display_name: string; + short_description: string; + description: string; + created_by: string; + released: string; + created_at: string; + updated_at: string; + featured: boolean; + curated: boolean; + score: number; +}; +declare type SearchTopicsResponseData = { + total_count: number; + incomplete_results: boolean; + items: Array; +}; +declare type SearchUsersEndpoint = { + /** + * The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). See "[Searching users](https://help.github.com/articles/searching-users/)" for a detailed list of qualifiers. + */ + q: string; + /** + * Sorts the results of your query by number of `followers` or `repositories`, or when the person `joined` GitHub. Default: [best match](https://developer.github.com/v3/search/#ranking-search-results) + */ + sort?: "followers" | "repositories" | "joined"; + /** + * Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. + */ + order?: "desc" | "asc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type SearchUsersRequestOptions = { + method: "GET"; + url: "/search/users"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchUsersResponseDataItemsItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + received_events_url: string; + type: string; + score: number; +}; +declare type SearchUsersResponseData = { + total_count: number; + incomplete_results: boolean; + items: Array; +}; +declare type TeamsGetLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; +}; +declare type TeamsGetLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsGetLegacyResponseDataOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; + name: string; + company: string; + blog: string; + location: string; + email: string; + is_verified: boolean; + has_organization_projects: boolean; + has_repository_projects: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; + html_url: string; + created_at: string; + type: string; +}; +declare type TeamsGetLegacyResponseData = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; + members_count: number; + repos_count: number; + created_at: string; + updated_at: string; + organization: TeamsGetLegacyResponseDataOrganization; +}; +declare type TeamsUpdateLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * The name of the team. + */ + name: string; + /** + * The description of the team. + */ + description?: string; + /** + * The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. The options are: + * **For a non-nested team:** + * \* `secret` - only visible to organization owners and members of this team. + * \* `closed` - visible to all members of this organization. + * **For a parent or child team:** + * \* `closed` - visible to all members of this organization. + */ + privacy?: "secret" | "closed"; + /** + * **Deprecated**. The permission that new repositories will be added to the team with when none is specified. Can be one of: + * \* `pull` - team members can pull, but not push to or administer newly-added repositories. + * \* `push` - team members can pull and push, but not administer newly-added repositories. + * \* `admin` - team members can pull, push and administer newly-added repositories. + */ + permission?: "pull" | "push" | "admin"; + /** + * The ID of a team to set as the parent team. + */ + parent_team_id?: number; +}; +declare type TeamsUpdateLegacyRequestOptions = { + method: "PATCH"; + url: "/teams/:team_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsUpdateLegacyResponseDataOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; + name: string; + company: string; + blog: string; + location: string; + email: string; + is_verified: boolean; + has_organization_projects: boolean; + has_repository_projects: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; + html_url: string; + created_at: string; + type: string; +}; +declare type TeamsUpdateLegacyResponseData = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; + members_count: number; + repos_count: number; + created_at: string; + updated_at: string; + organization: TeamsUpdateLegacyResponseDataOrganization; +}; +declare type TeamsDeleteLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; +}; +declare type TeamsDeleteLegacyRequestOptions = { + method: "DELETE"; + url: "/teams/:team_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListDiscussionsLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * Sorts the discussion comments by the date they were created. To return the oldest comments first, set to `asc`. Can be one of `asc` or `desc`. + */ + direction?: "asc" | "desc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListDiscussionsLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/discussions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListDiscussionsLegacyResponseDataItemReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsListDiscussionsLegacyResponseDataItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListDiscussionsLegacyResponseDataItem = { + author: TeamsListDiscussionsLegacyResponseDataItemAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + last_edited_at: null; + html_url: string; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + team_url: string; + title: string; + updated_at: string; + url: string; + reactions: TeamsListDiscussionsLegacyResponseDataItemReactions; +}; +declare type TeamsListDiscussionsLegacyResponseData = Array; +declare type TeamsCreateDiscussionLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * The discussion post's title. + */ + title: string; + /** + * The discussion post's body text. + */ + body: string; + /** + * Private posts are only visible to team members, organization owners, and team maintainers. Public posts are visible to all members of the organization. Set to `true` to create a private post. + */ + private?: boolean; +}; +declare type TeamsCreateDiscussionLegacyRequestOptions = { + method: "POST"; + url: "/teams/:team_id/discussions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsCreateDiscussionLegacyResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsCreateDiscussionLegacyResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCreateDiscussionLegacyResponseData = { + author: TeamsCreateDiscussionLegacyResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + last_edited_at: null; + html_url: string; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + team_url: string; + title: string; + updated_at: string; + url: string; + reactions: TeamsCreateDiscussionLegacyResponseDataReactions; +}; +declare type TeamsGetDiscussionLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; +}; +declare type TeamsGetDiscussionLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/discussions/:discussion_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsGetDiscussionLegacyResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsGetDiscussionLegacyResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsGetDiscussionLegacyResponseData = { + author: TeamsGetDiscussionLegacyResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + last_edited_at: null; + html_url: string; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + team_url: string; + title: string; + updated_at: string; + url: string; + reactions: TeamsGetDiscussionLegacyResponseDataReactions; +}; +declare type TeamsUpdateDiscussionLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * The discussion post's title. + */ + title?: string; + /** + * The discussion post's body text. + */ + body?: string; +}; +declare type TeamsUpdateDiscussionLegacyRequestOptions = { + method: "PATCH"; + url: "/teams/:team_id/discussions/:discussion_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsUpdateDiscussionLegacyResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsUpdateDiscussionLegacyResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsUpdateDiscussionLegacyResponseData = { + author: TeamsUpdateDiscussionLegacyResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + last_edited_at: string; + html_url: string; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + team_url: string; + title: string; + updated_at: string; + url: string; + reactions: TeamsUpdateDiscussionLegacyResponseDataReactions; +}; +declare type TeamsDeleteDiscussionLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; +}; +declare type TeamsDeleteDiscussionLegacyRequestOptions = { + method: "DELETE"; + url: "/teams/:team_id/discussions/:discussion_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListDiscussionCommentsLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * Sorts the discussion comments by the date they were created. To return the oldest comments first, set to `asc`. Can be one of `asc` or `desc`. + */ + direction?: "asc" | "desc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListDiscussionCommentsLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/discussions/:discussion_number/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListDiscussionCommentsLegacyResponseDataItemReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsListDiscussionCommentsLegacyResponseDataItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListDiscussionCommentsLegacyResponseDataItem = { + author: TeamsListDiscussionCommentsLegacyResponseDataItemAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + last_edited_at: null; + discussion_url: string; + html_url: string; + node_id: string; + number: number; + updated_at: string; + url: string; + reactions: TeamsListDiscussionCommentsLegacyResponseDataItemReactions; +}; +declare type TeamsListDiscussionCommentsLegacyResponseData = Array; +declare type TeamsCreateDiscussionCommentLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * The discussion comment's body text. + */ + body: string; +}; +declare type TeamsCreateDiscussionCommentLegacyRequestOptions = { + method: "POST"; + url: "/teams/:team_id/discussions/:discussion_number/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsCreateDiscussionCommentLegacyResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsCreateDiscussionCommentLegacyResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCreateDiscussionCommentLegacyResponseData = { + author: TeamsCreateDiscussionCommentLegacyResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + last_edited_at: null; + discussion_url: string; + html_url: string; + node_id: string; + number: number; + updated_at: string; + url: string; + reactions: TeamsCreateDiscussionCommentLegacyResponseDataReactions; +}; +declare type TeamsGetDiscussionCommentLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; +}; +declare type TeamsGetDiscussionCommentLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsGetDiscussionCommentLegacyResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsGetDiscussionCommentLegacyResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsGetDiscussionCommentLegacyResponseData = { + author: TeamsGetDiscussionCommentLegacyResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + last_edited_at: null; + discussion_url: string; + html_url: string; + node_id: string; + number: number; + updated_at: string; + url: string; + reactions: TeamsGetDiscussionCommentLegacyResponseDataReactions; +}; +declare type TeamsUpdateDiscussionCommentLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; + /** + * The discussion comment's body text. + */ + body: string; +}; +declare type TeamsUpdateDiscussionCommentLegacyRequestOptions = { + method: "PATCH"; + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsUpdateDiscussionCommentLegacyResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsUpdateDiscussionCommentLegacyResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsUpdateDiscussionCommentLegacyResponseData = { + author: TeamsUpdateDiscussionCommentLegacyResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + last_edited_at: string; + discussion_url: string; + html_url: string; + node_id: string; + number: number; + updated_at: string; + url: string; + reactions: TeamsUpdateDiscussionCommentLegacyResponseDataReactions; +}; +declare type TeamsDeleteDiscussionCommentLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; +}; +declare type TeamsDeleteDiscussionCommentLegacyRequestOptions = { + method: "DELETE"; + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForTeamDiscussionCommentLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to a team discussion comment. + */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsListForTeamDiscussionCommentLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForTeamDiscussionCommentLegacyResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsListForTeamDiscussionCommentLegacyResponseDataItem = { + id: number; + node_id: string; + user: ReactionsListForTeamDiscussionCommentLegacyResponseDataItemUser; + content: string; + created_at: string; +}; +declare type ReactionsListForTeamDiscussionCommentLegacyResponseData = Array; +declare type ReactionsCreateForTeamDiscussionCommentLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the team discussion comment. + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsCreateForTeamDiscussionCommentLegacyRequestOptions = { + method: "POST"; + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsCreateForTeamDiscussionCommentLegacyResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsCreateForTeamDiscussionCommentLegacyResponseData = { + id: number; + node_id: string; + user: ReactionsCreateForTeamDiscussionCommentLegacyResponseDataUser; + content: string; + created_at: string; +}; +declare type ReactionsListForTeamDiscussionLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to a team discussion. + */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsListForTeamDiscussionLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/discussions/:discussion_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForTeamDiscussionLegacyResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsListForTeamDiscussionLegacyResponseDataItem = { + id: number; + node_id: string; + user: ReactionsListForTeamDiscussionLegacyResponseDataItemUser; + content: string; + created_at: string; +}; +declare type ReactionsListForTeamDiscussionLegacyResponseData = Array; +declare type ReactionsCreateForTeamDiscussionLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the team discussion. + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsCreateForTeamDiscussionLegacyRequestOptions = { + method: "POST"; + url: "/teams/:team_id/discussions/:discussion_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsCreateForTeamDiscussionLegacyResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsCreateForTeamDiscussionLegacyResponseData = { + id: number; + node_id: string; + user: ReactionsCreateForTeamDiscussionLegacyResponseDataUser; + content: string; + created_at: string; +}; +declare type TeamsListPendingInvitationsLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListPendingInvitationsLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/invitations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListPendingInvitationsLegacyResponseDataItemInviter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListPendingInvitationsLegacyResponseDataItem = { + id: number; + login: string; + email: string; + role: string; + created_at: string; + inviter: TeamsListPendingInvitationsLegacyResponseDataItemInviter; + team_count: number; + invitation_team_url: string; +}; +declare type TeamsListPendingInvitationsLegacyResponseData = Array; +declare type TeamsListMembersLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * Filters members returned by their role in the team. Can be one of: + * \* `member` - normal members of the team. + * \* `maintainer` - team maintainers. + * \* `all` - all members of the team. + */ + role?: "member" | "maintainer" | "all"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListMembersLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/members"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListMembersLegacyResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListMembersLegacyResponseData = Array; +declare type TeamsGetMemberLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * username parameter + */ + username: string; +}; +declare type TeamsGetMemberLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/members/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsAddMemberLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * username parameter + */ + username: string; +}; +declare type TeamsAddMemberLegacyRequestOptions = { + method: "PUT"; + url: "/teams/:team_id/members/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsAddMemberLegacyResponseDataErrorsItem = { + code: string; + field: string; + resource: string; +}; +declare type TeamsAddMemberLegacyResponseData = { + message: string; + errors: Array; +}; +declare type TeamsRemoveMemberLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * username parameter + */ + username: string; +}; +declare type TeamsRemoveMemberLegacyRequestOptions = { + method: "DELETE"; + url: "/teams/:team_id/members/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsGetMembershipLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * username parameter + */ + username: string; +}; +declare type TeamsGetMembershipLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/memberships/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsGetMembershipLegacyResponseData = { + url: string; + role: string; + state: string; +}; +declare type TeamsAddOrUpdateMembershipLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * username parameter + */ + username: string; + /** + * The role that this user should have in the team. Can be one of: + * \* `member` - a normal member of the team. + * \* `maintainer` - a team maintainer. Able to add/remove other team members, promote other team members to team maintainer, and edit the team's name and description. + */ + role?: "member" | "maintainer"; +}; +declare type TeamsAddOrUpdateMembershipLegacyRequestOptions = { + method: "PUT"; + url: "/teams/:team_id/memberships/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsAddOrUpdateMembershipLegacyResponseData = { + url: string; + role: string; + state: string; +}; +declare type TeamsRemoveMembershipLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * username parameter + */ + username: string; +}; +declare type TeamsRemoveMembershipLegacyRequestOptions = { + method: "DELETE"; + url: "/teams/:team_id/memberships/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListProjectsLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"inertia">; +declare type TeamsListProjectsLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/projects"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListProjectsLegacyResponseDataItemPermissions = { + read: boolean; + write: boolean; + admin: boolean; +}; +declare type TeamsListProjectsLegacyResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListProjectsLegacyResponseDataItem = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: TeamsListProjectsLegacyResponseDataItemCreator; + created_at: string; + updated_at: string; + organization_permission: string; + private: boolean; + permissions: TeamsListProjectsLegacyResponseDataItemPermissions; +}; +declare type TeamsListProjectsLegacyResponseData = Array; +declare type TeamsReviewProjectLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * project_id parameter + */ + project_id: number; +} & RequiredPreview<"inertia">; +declare type TeamsReviewProjectLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/projects/:project_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsReviewProjectLegacyResponseDataPermissions = { + read: boolean; + write: boolean; + admin: boolean; +}; +declare type TeamsReviewProjectLegacyResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsReviewProjectLegacyResponseData = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: TeamsReviewProjectLegacyResponseDataCreator; + created_at: string; + updated_at: string; + organization_permission: string; + private: boolean; + permissions: TeamsReviewProjectLegacyResponseDataPermissions; +}; +declare type TeamsAddOrUpdateProjectLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * project_id parameter + */ + project_id: number; + /** + * The permission to grant to the team for this project. Can be one of: + * \* `read` - team members can read, but not write to or administer this project. + * \* `write` - team members can read and write, but not administer this project. + * \* `admin` - team members can read, write and administer this project. + * Default: the team's `permission` attribute will be used to determine what permission to grant the team on this project. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://developer.github.com/v3/#http-verbs)." + */ + permission?: "read" | "write" | "admin"; +} & RequiredPreview<"inertia">; +declare type TeamsAddOrUpdateProjectLegacyRequestOptions = { + method: "PUT"; + url: "/teams/:team_id/projects/:project_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsAddOrUpdateProjectLegacyResponseData = { + message: string; + documentation_url: string; +}; +declare type TeamsRemoveProjectLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * project_id parameter + */ + project_id: number; +}; +declare type TeamsRemoveProjectLegacyRequestOptions = { + method: "DELETE"; + url: "/teams/:team_id/projects/:project_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListReposLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListReposLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/repos"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListReposLegacyResponseDataItemLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type TeamsListReposLegacyResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type TeamsListReposLegacyResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListReposLegacyResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: TeamsListReposLegacyResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: TeamsListReposLegacyResponseDataItemPermissions; + template_repository: null; + temp_clone_token: string; + subscribers_count: number; + network_count: number; + license: TeamsListReposLegacyResponseDataItemLicense; +}; +declare type TeamsListReposLegacyResponseData = Array; +declare type TeamsCheckManagesRepoLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type TeamsCheckManagesRepoLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/repos/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsCheckManagesRepoLegacyResponseDataPermissions = { + pull: boolean; + triage: boolean; + push: boolean; + maintain: boolean; + admin: boolean; +}; +declare type TeamsCheckManagesRepoLegacyResponseDataSourcePermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type TeamsCheckManagesRepoLegacyResponseDataSourceOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCheckManagesRepoLegacyResponseDataSource = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: TeamsCheckManagesRepoLegacyResponseDataSourceOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: TeamsCheckManagesRepoLegacyResponseDataSourcePermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type TeamsCheckManagesRepoLegacyResponseDataParentPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type TeamsCheckManagesRepoLegacyResponseDataParentOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCheckManagesRepoLegacyResponseDataParent = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: TeamsCheckManagesRepoLegacyResponseDataParentOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: TeamsCheckManagesRepoLegacyResponseDataParentPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type TeamsCheckManagesRepoLegacyResponseDataOrganization = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCheckManagesRepoLegacyResponseData = { + organization: TeamsCheckManagesRepoLegacyResponseDataOrganization; + parent: TeamsCheckManagesRepoLegacyResponseDataParent; + source: TeamsCheckManagesRepoLegacyResponseDataSource; + permissions: TeamsCheckManagesRepoLegacyResponseDataPermissions; +}; +declare type TeamsAddOrUpdateRepoLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The permission to grant the team on this repository. Can be one of: + * \* `pull` - team members can pull, but not push to or administer this repository. + * \* `push` - team members can pull and push, but not administer this repository. + * \* `admin` - team members can pull, push and administer this repository. + * + * If no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository. + */ + permission?: "pull" | "push" | "admin"; +}; +declare type TeamsAddOrUpdateRepoLegacyRequestOptions = { + method: "PUT"; + url: "/teams/:team_id/repos/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsRemoveRepoLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type TeamsRemoveRepoLegacyRequestOptions = { + method: "DELETE"; + url: "/teams/:team_id/repos/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListIdPGroupsForLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; +}; +declare type TeamsListIdPGroupsForLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/team-sync/group-mappings"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListIdPGroupsForLegacyResponseDataGroupsItem = { + group_id: string; + group_name: string; + group_description: string; +}; +declare type TeamsListIdPGroupsForLegacyResponseData = { + groups: Array; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * The IdP groups you want to connect to a GitHub team. When updating, the new `groups` object will replace the original one. You must include any existing groups that you don't want to remove. + */ + groups: TeamsCreateOrUpdateIdPGroupConnectionsLegacyParamsGroups[]; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsLegacyRequestOptions = { + method: "PATCH"; + url: "/teams/:team_id/team-sync/group-mappings"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsLegacyResponseDataGroupsItem = { + group_id: string; + group_name: string; + group_description: string; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsLegacyResponseData = { + groups: Array; +}; +declare type TeamsListChildLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListChildLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListChildLegacyResponseDataItemParent = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; +}; +declare type TeamsListChildLegacyResponseDataItem = { + id: number; + node_id: string; + url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: TeamsListChildLegacyResponseDataItemParent; +}; +declare type TeamsListChildLegacyResponseData = Array; +declare type UsersGetAuthenticatedEndpoint = {}; +declare type UsersGetAuthenticatedRequestOptions = { + method: "GET"; + url: "/user"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersGetAuthenticatedResponseDataPlan = { + name: string; + space: number; + private_repos: number; + collaborators: number; +}; +declare type UsersGetAuthenticatedResponseData = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; + name: string; + company: string; + blog: string; + location: string; + email: string; + hireable: boolean; + bio: string; + public_repos: number; + public_gists: number; + followers: number; + following: number; + created_at: string; + updated_at: string; + private_gists?: number; + total_private_repos?: number; + owned_private_repos?: number; + disk_usage?: number; + collaborators?: number; + two_factor_authentication?: boolean; + plan?: UsersGetAuthenticatedResponseDataPlan; +}; +declare type UsersUpdateAuthenticatedEndpoint = { + /** + * The new name of the user. + */ + name?: string; + /** + * The publicly visible email address of the user. + */ + email?: string; + /** + * The new blog URL of the user. + */ + blog?: string; + /** + * The new company of the user. + */ + company?: string; + /** + * The new location of the user. + */ + location?: string; + /** + * The new hiring availability of the user. + */ + hireable?: boolean; + /** + * The new short biography of the user. + */ + bio?: string; +}; +declare type UsersUpdateAuthenticatedRequestOptions = { + method: "PATCH"; + url: "/user"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersUpdateAuthenticatedResponseDataPlan = { + name: string; + space: number; + private_repos: number; + collaborators: number; +}; +declare type UsersUpdateAuthenticatedResponseData = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; + name: string; + company: string; + blog: string; + location: string; + email: string; + hireable: boolean; + bio: string; + public_repos: number; + public_gists: number; + followers: number; + following: number; + created_at: string; + updated_at: string; + private_gists: number; + total_private_repos: number; + owned_private_repos: number; + disk_usage: number; + collaborators: number; + two_factor_authentication: boolean; + plan: UsersUpdateAuthenticatedResponseDataPlan; +}; +declare type UsersListBlockedEndpoint = {}; +declare type UsersListBlockedRequestOptions = { + method: "GET"; + url: "/user/blocks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListBlockedResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type UsersListBlockedResponseData = Array; +declare type UsersCheckBlockedEndpoint = { + /** + * username parameter + */ + username: string; +}; +declare type UsersCheckBlockedRequestOptions = { + method: "GET"; + url: "/user/blocks/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersBlockEndpoint = { + /** + * username parameter + */ + username: string; +}; +declare type UsersBlockRequestOptions = { + method: "PUT"; + url: "/user/blocks/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersUnblockEndpoint = { + /** + * username parameter + */ + username: string; +}; +declare type UsersUnblockRequestOptions = { + method: "DELETE"; + url: "/user/blocks/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersTogglePrimaryEmailVisibilityEndpoint = { + /** + * Specify the _primary_ email address that needs a visibility change. + */ + email: string; + /** + * Use `public` to enable an authenticated user to view the specified email address, or use `private` so this primary email address cannot be seen publicly. + */ + visibility: string; +}; +declare type UsersTogglePrimaryEmailVisibilityRequestOptions = { + method: "PATCH"; + url: "/user/email/visibility"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersTogglePrimaryEmailVisibilityResponseDataItem = { + email: string; + primary: boolean; + verified: boolean; + visibility: string; +}; +declare type UsersTogglePrimaryEmailVisibilityResponseData = Array; +declare type UsersListEmailsEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListEmailsRequestOptions = { + method: "GET"; + url: "/user/emails"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListEmailsResponseDataItem = { + email: string; + verified: boolean; + primary: boolean; + visibility: string; +}; +declare type UsersListEmailsResponseData = Array; +declare type UsersAddEmailsEndpoint = { + /** + * Adds one or more email addresses to your GitHub account. Must contain at least one email address. **Note:** Alternatively, you can pass a single email address or an `array` of emails addresses directly, but we recommend that you pass an object using the `emails` key. + */ + emails: string[]; +}; +declare type UsersAddEmailsRequestOptions = { + method: "POST"; + url: "/user/emails"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersAddEmailsResponseDataItem = { + email: string; + primary: boolean; + verified: boolean; + visibility: string | null; +}; +declare type UsersAddEmailsResponseData = Array; +declare type UsersDeleteEmailsEndpoint = { + /** + * Deletes one or more email addresses from your GitHub account. Must contain at least one email address. **Note:** Alternatively, you can pass a single email address or an `array` of emails addresses directly, but we recommend that you pass an object using the `emails` key. + */ + emails: string[]; +}; +declare type UsersDeleteEmailsRequestOptions = { + method: "DELETE"; + url: "/user/emails"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListFollowersForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListFollowersForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/followers"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListFollowersForAuthenticatedUserResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type UsersListFollowersForAuthenticatedUserResponseData = Array; +declare type UsersListFollowedByAuthenticatedEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListFollowedByAuthenticatedRequestOptions = { + method: "GET"; + url: "/user/following"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListFollowedByAuthenticatedResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type UsersListFollowedByAuthenticatedResponseData = Array; +declare type UsersCheckFollowingEndpoint = { + /** + * username parameter + */ + username: string; +}; +declare type UsersCheckFollowingRequestOptions = { + method: "GET"; + url: "/user/following/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersFollowEndpoint = { + /** + * username parameter + */ + username: string; +}; +declare type UsersFollowRequestOptions = { + method: "PUT"; + url: "/user/following/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersUnfollowEndpoint = { + /** + * username parameter + */ + username: string; +}; +declare type UsersUnfollowRequestOptions = { + method: "DELETE"; + url: "/user/following/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListGpgKeysEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListGpgKeysRequestOptions = { + method: "GET"; + url: "/user/gpg_keys"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListGpgKeysResponseDataItemSubkeysItem = { + id: number; + primary_key_id: number; + key_id: string; + public_key: string; + emails: Array; + subkeys: Array; + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_certify: boolean; + created_at: string; + expires_at: null; +}; +declare type UsersListGpgKeysResponseDataItemEmailsItem = { + email: string; + verified: boolean; +}; +declare type UsersListGpgKeysResponseDataItem = { + id: number; + primary_key_id: null; + key_id: string; + public_key: string; + emails: Array; + subkeys: Array; + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_certify: boolean; + created_at: string; + expires_at: null; +}; +declare type UsersListGpgKeysResponseData = Array; +declare type UsersCreateGpgKeyEndpoint = { + /** + * Your GPG key, generated in ASCII-armored format. See "[Generating a new GPG key](https://help.github.com/articles/generating-a-new-gpg-key/)" for help creating a GPG key. + */ + armored_public_key?: string; +}; +declare type UsersCreateGpgKeyRequestOptions = { + method: "POST"; + url: "/user/gpg_keys"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersCreateGpgKeyResponseDataSubkeysItem = { + id: number; + primary_key_id: number; + key_id: string; + public_key: string; + emails: Array; + subkeys: Array; + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_certify: boolean; + created_at: string; + expires_at: null; +}; +declare type UsersCreateGpgKeyResponseDataEmailsItem = { + email: string; + verified: boolean; +}; +declare type UsersCreateGpgKeyResponseData = { + id: number; + primary_key_id: null; + key_id: string; + public_key: string; + emails: Array; + subkeys: Array; + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_certify: boolean; + created_at: string; + expires_at: null; +}; +declare type UsersGetGpgKeyEndpoint = { + /** + * gpg_key_id parameter + */ + gpg_key_id: number; +}; +declare type UsersGetGpgKeyRequestOptions = { + method: "GET"; + url: "/user/gpg_keys/:gpg_key_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersGetGpgKeyResponseDataSubkeysItem = { + id: number; + primary_key_id: number; + key_id: string; + public_key: string; + emails: Array; + subkeys: Array; + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_certify: boolean; + created_at: string; + expires_at: null; +}; +declare type UsersGetGpgKeyResponseDataEmailsItem = { + email: string; + verified: boolean; +}; +declare type UsersGetGpgKeyResponseData = { + id: number; + primary_key_id: null; + key_id: string; + public_key: string; + emails: Array; + subkeys: Array; + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_certify: boolean; + created_at: string; + expires_at: null; +}; +declare type UsersDeleteGpgKeyEndpoint = { + /** + * gpg_key_id parameter + */ + gpg_key_id: number; +}; +declare type UsersDeleteGpgKeyRequestOptions = { + method: "DELETE"; + url: "/user/gpg_keys/:gpg_key_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListInstallationsForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"machine-man">; +declare type AppsListInstallationsForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/installations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListInstallationsForAuthenticatedUserResponseDataInstallationsItemPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type AppsListInstallationsForAuthenticatedUserResponseDataInstallationsItemAccount = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url?: string; + issues_url?: string; + members_url?: string; + public_members_url?: string; + avatar_url: string; + description?: string; + gravatar_id?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; +}; +declare type AppsListInstallationsForAuthenticatedUserResponseDataInstallationsItem = { + id: number; + account: AppsListInstallationsForAuthenticatedUserResponseDataInstallationsItemAccount; + access_tokens_url: string; + repositories_url: string; + html_url: string; + app_id: number; + target_id: number; + target_type: string; + permissions: AppsListInstallationsForAuthenticatedUserResponseDataInstallationsItemPermissions; + events: Array; + single_file_name: string; +}; +declare type AppsListInstallationsForAuthenticatedUserResponseData = { + total_count: number; + installations: Array; +}; +declare type AppsListInstallationReposForAuthenticatedUserEndpoint = { + /** + * installation_id parameter + */ + installation_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"machine-man">; +declare type AppsListInstallationReposForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/installations/:installation_id/repositories"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListInstallationReposForAuthenticatedUserResponseDataRepositoriesItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type AppsListInstallationReposForAuthenticatedUserResponseDataRepositoriesItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsListInstallationReposForAuthenticatedUserResponseDataRepositoriesItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: AppsListInstallationReposForAuthenticatedUserResponseDataRepositoriesItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: AppsListInstallationReposForAuthenticatedUserResponseDataRepositoriesItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type AppsListInstallationReposForAuthenticatedUserResponseData = { + total_count: number; + repositories: Array; +}; +declare type AppsAddRepoToInstallationEndpoint = { + /** + * installation_id parameter + */ + installation_id: number; + /** + * repository_id parameter + */ + repository_id: number; +} & RequiredPreview<"machine-man">; +declare type AppsAddRepoToInstallationRequestOptions = { + method: "PUT"; + url: "/user/installations/:installation_id/repositories/:repository_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsRemoveRepoFromInstallationEndpoint = { + /** + * installation_id parameter + */ + installation_id: number; + /** + * repository_id parameter + */ + repository_id: number; +} & RequiredPreview<"machine-man">; +declare type AppsRemoveRepoFromInstallationRequestOptions = { + method: "DELETE"; + url: "/user/installations/:installation_id/repositories/:repository_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListForAuthenticatedUserEndpoint = { + /** + * Indicates which sorts of issues to return. Can be one of: + * \* `assigned`: Issues assigned to you + * \* `created`: Issues created by you + * \* `mentioned`: Issues mentioning you + * \* `subscribed`: Issues you're subscribed to updates for + * \* `all`: All issues the authenticated user can see, regardless of participation or creation + */ + filter?: "assigned" | "created" | "mentioned" | "subscribed" | "all"; + /** + * Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + /** + * A list of comma separated label names. Example: `bug,ui,@high` + */ + labels?: string; + /** + * What to sort results by. Can be either `created`, `updated`, `comments`. + */ + sort?: "created" | "updated" | "comments"; + /** + * The direction of the sort. Can be either `asc` or `desc`. + */ + direction?: "asc" | "desc"; + /** + * Only issues updated at or after this time are returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type IssuesListForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/issues"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemRepositoryPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: IssuesListForAuthenticatedUserResponseDataItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: IssuesListForAuthenticatedUserResponseDataItemRepositoryPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemPullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesListForAuthenticatedUserResponseDataItemMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForAuthenticatedUserResponseDataItem = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesListForAuthenticatedUserResponseDataItemUser; + labels: Array; + assignee: IssuesListForAuthenticatedUserResponseDataItemAssignee; + assignees: Array; + milestone: IssuesListForAuthenticatedUserResponseDataItemMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesListForAuthenticatedUserResponseDataItemPullRequest; + closed_at: null; + created_at: string; + updated_at: string; + repository: IssuesListForAuthenticatedUserResponseDataItemRepository; +}; +declare type IssuesListForAuthenticatedUserResponseData = Array; +declare type UsersListPublicKeysEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListPublicKeysRequestOptions = { + method: "GET"; + url: "/user/keys"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListPublicKeysResponseDataItem = { + key_id: string; + key: string; +}; +declare type UsersListPublicKeysResponseData = Array; +declare type UsersCreatePublicKeyEndpoint = { + /** + * A descriptive name for the new key. Use a name that will help you recognize this key in your GitHub account. For example, if you're using a personal Mac, you might call this key "Personal MacBook Air". + */ + title?: string; + /** + * The public SSH key to add to your GitHub account. See "[Generating a new SSH key](https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/)" for guidance on how to create a public SSH key. + */ + key?: string; +}; +declare type UsersCreatePublicKeyRequestOptions = { + method: "POST"; + url: "/user/keys"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersCreatePublicKeyResponseData = { + key_id: string; + key: string; +}; +declare type UsersGetPublicKeyEndpoint = { + /** + * key_id parameter + */ + key_id: number; +}; +declare type UsersGetPublicKeyRequestOptions = { + method: "GET"; + url: "/user/keys/:key_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersGetPublicKeyResponseData = { + key_id: string; + key: string; +}; +declare type UsersDeletePublicKeyEndpoint = { + /** + * key_id parameter + */ + key_id: number; +}; +declare type UsersDeletePublicKeyRequestOptions = { + method: "DELETE"; + url: "/user/keys/:key_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListSubscriptionsForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type AppsListSubscriptionsForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/marketplace_purchases"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListSubscriptionsForAuthenticatedUserResponseDataItemPlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + unit_name: null; + state: string; + bullets: Array; +}; +declare type AppsListSubscriptionsForAuthenticatedUserResponseDataItemAccount = { + login: string; + id: number; + url: string; + email: null; + organization_billing_email: string; + type: string; +}; +declare type AppsListSubscriptionsForAuthenticatedUserResponseDataItem = { + billing_cycle: string; + next_billing_date: string; + unit_count: null; + on_free_trial: boolean; + free_trial_ends_on: string; + updated_at: string; + account: AppsListSubscriptionsForAuthenticatedUserResponseDataItemAccount; + plan: AppsListSubscriptionsForAuthenticatedUserResponseDataItemPlan; +}; +declare type AppsListSubscriptionsForAuthenticatedUserResponseData = Array; +declare type AppsListSubscriptionsForAuthenticatedUserStubbedEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type AppsListSubscriptionsForAuthenticatedUserStubbedRequestOptions = { + method: "GET"; + url: "/user/marketplace_purchases/stubbed"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListSubscriptionsForAuthenticatedUserStubbedResponseDataItemPlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + unit_name: null; + state: string; + bullets: Array; +}; +declare type AppsListSubscriptionsForAuthenticatedUserStubbedResponseDataItemAccount = { + login: string; + id: number; + url: string; + email: null; + organization_billing_email: string; + type: string; +}; +declare type AppsListSubscriptionsForAuthenticatedUserStubbedResponseDataItem = { + billing_cycle: string; + next_billing_date: string; + unit_count: null; + on_free_trial: boolean; + free_trial_ends_on: string; + updated_at: string; + account: AppsListSubscriptionsForAuthenticatedUserStubbedResponseDataItemAccount; + plan: AppsListSubscriptionsForAuthenticatedUserStubbedResponseDataItemPlan; +}; +declare type AppsListSubscriptionsForAuthenticatedUserStubbedResponseData = Array; +declare type OrgsListMembershipsEndpoint = { + /** + * Indicates the state of the memberships to return. Can be either `active` or `pending`. If not specified, the API returns both active and pending memberships. + */ + state?: "active" | "pending"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type OrgsListMembershipsRequestOptions = { + method: "GET"; + url: "/user/memberships/orgs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListMembershipsResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsListMembershipsResponseDataItemOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type OrgsListMembershipsResponseDataItem = { + url: string; + state: string; + role: string; + organization_url: string; + organization: OrgsListMembershipsResponseDataItemOrganization; + user: OrgsListMembershipsResponseDataItemUser; +}; +declare type OrgsListMembershipsResponseData = Array; +declare type OrgsGetMembershipForAuthenticatedUserEndpoint = { + /** + * org parameter + */ + org: string; +}; +declare type OrgsGetMembershipForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/memberships/orgs/:org"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsGetMembershipForAuthenticatedUserResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsGetMembershipForAuthenticatedUserResponseDataOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type OrgsGetMembershipForAuthenticatedUserResponseData = { + url: string; + state: string; + role: string; + organization_url: string; + organization: OrgsGetMembershipForAuthenticatedUserResponseDataOrganization; + user: OrgsGetMembershipForAuthenticatedUserResponseDataUser; +}; +declare type OrgsUpdateMembershipEndpoint = { + /** + * org parameter + */ + org: string; + /** + * The state that the membership should be in. Only `"active"` will be accepted. + */ + state: "active"; +}; +declare type OrgsUpdateMembershipRequestOptions = { + method: "PATCH"; + url: "/user/memberships/orgs/:org"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsUpdateMembershipResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsUpdateMembershipResponseDataOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type OrgsUpdateMembershipResponseData = { + url: string; + state: string; + role: string; + organization_url: string; + organization: OrgsUpdateMembershipResponseDataOrganization; + user: OrgsUpdateMembershipResponseDataUser; +}; +declare type MigrationsStartForAuthenticatedUserEndpoint = { + /** + * An array of repositories to include in the migration. + */ + repositories: string[]; + /** + * Locks the `repositories` to prevent changes during the migration when set to `true`. + */ + lock_repositories?: boolean; + /** + * Does not include attachments uploaded to GitHub.com in the migration data when set to `true`. Excluding attachments will reduce the migration archive file size. + */ + exclude_attachments?: boolean; +}; +declare type MigrationsStartForAuthenticatedUserRequestOptions = { + method: "POST"; + url: "/user/migrations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsStartForAuthenticatedUserResponseDataRepositoriesItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type MigrationsStartForAuthenticatedUserResponseDataRepositoriesItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsStartForAuthenticatedUserResponseDataRepositoriesItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: MigrationsStartForAuthenticatedUserResponseDataRepositoriesItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: MigrationsStartForAuthenticatedUserResponseDataRepositoriesItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type MigrationsStartForAuthenticatedUserResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsStartForAuthenticatedUserResponseData = { + id: number; + owner: MigrationsStartForAuthenticatedUserResponseDataOwner; + guid: string; + state: string; + lock_repositories: boolean; + exclude_attachments: boolean; + repositories: Array; + url: string; + created_at: string; + updated_at: string; +}; +declare type MigrationsListForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsListForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/migrations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsListForAuthenticatedUserResponseDataItemRepositoriesItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type MigrationsListForAuthenticatedUserResponseDataItemRepositoriesItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsListForAuthenticatedUserResponseDataItemRepositoriesItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: MigrationsListForAuthenticatedUserResponseDataItemRepositoriesItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: MigrationsListForAuthenticatedUserResponseDataItemRepositoriesItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type MigrationsListForAuthenticatedUserResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsListForAuthenticatedUserResponseDataItem = { + id: number; + owner: MigrationsListForAuthenticatedUserResponseDataItemOwner; + guid: string; + state: string; + lock_repositories: boolean; + exclude_attachments: boolean; + repositories: Array; + url: string; + created_at: string; + updated_at: string; +}; +declare type MigrationsListForAuthenticatedUserResponseData = Array; +declare type MigrationsGetStatusForAuthenticatedUserEndpoint = { + /** + * migration_id parameter + */ + migration_id: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsGetStatusForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/migrations/:migration_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsGetStatusForAuthenticatedUserResponseDataRepositoriesItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type MigrationsGetStatusForAuthenticatedUserResponseDataRepositoriesItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsGetStatusForAuthenticatedUserResponseDataRepositoriesItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: MigrationsGetStatusForAuthenticatedUserResponseDataRepositoriesItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: MigrationsGetStatusForAuthenticatedUserResponseDataRepositoriesItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type MigrationsGetStatusForAuthenticatedUserResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsGetStatusForAuthenticatedUserResponseData = { + id: number; + owner: MigrationsGetStatusForAuthenticatedUserResponseDataOwner; + guid: string; + state: string; + lock_repositories: boolean; + exclude_attachments: boolean; + repositories: Array; + url: string; + created_at: string; + updated_at: string; +}; +declare type MigrationsGetArchiveForAuthenticatedUserEndpoint = { + /** + * migration_id parameter + */ + migration_id: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsGetArchiveForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/migrations/:migration_id/archive"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsDeleteArchiveForAuthenticatedUserEndpoint = { + /** + * migration_id parameter + */ + migration_id: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsDeleteArchiveForAuthenticatedUserRequestOptions = { + method: "DELETE"; + url: "/user/migrations/:migration_id/archive"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsUnlockRepoForAuthenticatedUserEndpoint = { + /** + * migration_id parameter + */ + migration_id: number; + /** + * repo_name parameter + */ + repo_name: string; +} & RequiredPreview<"wyandotte">; +declare type MigrationsUnlockRepoForAuthenticatedUserRequestOptions = { + method: "DELETE"; + url: "/user/migrations/:migration_id/repos/:repo_name/lock"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type OrgsListForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/orgs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListForAuthenticatedUserResponseDataItem = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type OrgsListForAuthenticatedUserResponseData = Array; +declare type ProjectsCreateForAuthenticatedUserEndpoint = { + /** + * The name of the project. + */ + name: string; + /** + * The description of the project. + */ + body?: string; +} & RequiredPreview<"inertia">; +declare type ProjectsCreateForAuthenticatedUserRequestOptions = { + method: "POST"; + url: "/user/projects"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsCreateForAuthenticatedUserResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsCreateForAuthenticatedUserResponseData = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: ProjectsCreateForAuthenticatedUserResponseDataCreator; + created_at: string; + updated_at: string; +}; +declare type UsersListPublicEmailsEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListPublicEmailsRequestOptions = { + method: "GET"; + url: "/user/public_emails"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListPublicEmailsResponseDataItem = { + email: string; + verified: boolean; + primary: boolean; + visibility: string; +}; +declare type UsersListPublicEmailsResponseData = Array; +declare type ReposListForAuthenticatedUserEndpoint = { + /** + * Can be one of `all`, `public`, or `private`. + */ + visibility?: "all" | "public" | "private"; + /** + * Comma-separated list of values. Can include: + * \* `owner`: Repositories that are owned by the authenticated user. + * \* `collaborator`: Repositories that the user has been added to as a collaborator. + * \* `organization_member`: Repositories that the user has access to through being a member of an organization. This includes every repository on every team that the user is on. + */ + affiliation?: string; + /** + * Can be one of `all`, `owner`, `public`, `private`, `member`. Default: `all` + * + * Will cause a `422` error if used in the same request as **visibility** or **affiliation**. Will cause a `422` error if used in the same request as **visibility** or **affiliation**. + */ + type?: "all" | "owner" | "public" | "private" | "member"; + /** + * Can be one of `created`, `updated`, `pushed`, `full_name`. + */ + sort?: "created" | "updated" | "pushed" | "full_name"; + /** + * Can be one of `asc` or `desc`. Default: `asc` when using `full_name`, otherwise `desc` + */ + direction?: "asc" | "desc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/repos"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateForAuthenticatedUserEndpoint = { + /** + * The name of the repository. + */ + name: string; + /** + * A short description of the repository. + */ + description?: string; + /** + * A URL with more information about the repository. + */ + homepage?: string; + /** + * Either `true` to create a private repository or `false` to create a public one. + */ + private?: boolean; + /** + * Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `visibility` can also be `internal`. For more information, see "[Creating an internal repository](https://help.github.com/github/creating-cloning-and-archiving-repositories/creating-an-internal-repository)" in the GitHub Help documentation. + * The `visibility` parameter overrides the `private` parameter when you use both parameters with the `nebula-preview` preview header. + */ + visibility?: "public" | "private" | "visibility" | "internal"; + /** + * Either `true` to enable issues for this repository or `false` to disable them. + */ + has_issues?: boolean; + /** + * Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error. + */ + has_projects?: boolean; + /** + * Either `true` to enable the wiki for this repository or `false` to disable it. + */ + has_wiki?: boolean; + /** + * Either `true` to make this repo available as a template repository or `false` to prevent it. + */ + is_template?: boolean; + /** + * The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization. + */ + team_id?: number; + /** + * Pass `true` to create an initial commit with empty README. + */ + auto_init?: boolean; + /** + * Desired language or platform [.gitignore template](https://github.com/github/gitignore) to apply. Use the name of the template without the extension. For example, "Haskell". + */ + gitignore_template?: string; + /** + * Choose an [open source license template](https://choosealicense.com/) that best suits your needs, and then use the [license keyword](https://help.github.com/articles/licensing-a-repository/#searching-github-by-license-type) as the `license_template` string. For example, "mit" or "mpl-2.0". + */ + license_template?: string; + /** + * Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. + */ + allow_squash_merge?: boolean; + /** + * Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. + */ + allow_merge_commit?: boolean; + /** + * Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. + */ + allow_rebase_merge?: boolean; + /** + * Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. + */ + delete_branch_on_merge?: boolean; +}; +declare type ReposCreateForAuthenticatedUserRequestOptions = { + method: "POST"; + url: "/user/repos"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateForAuthenticatedUserResponseDataPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposCreateForAuthenticatedUserResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateForAuthenticatedUserResponseData = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposCreateForAuthenticatedUserResponseDataOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposCreateForAuthenticatedUserResponseDataPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposListInvitationsForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListInvitationsForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/repository_invitations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListInvitationsForAuthenticatedUserResponseDataItemInviter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListInvitationsForAuthenticatedUserResponseDataItemInvitee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListInvitationsForAuthenticatedUserResponseDataItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListInvitationsForAuthenticatedUserResponseDataItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposListInvitationsForAuthenticatedUserResponseDataItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ReposListInvitationsForAuthenticatedUserResponseDataItem = { + id: number; + repository: ReposListInvitationsForAuthenticatedUserResponseDataItemRepository; + invitee: ReposListInvitationsForAuthenticatedUserResponseDataItemInvitee; + inviter: ReposListInvitationsForAuthenticatedUserResponseDataItemInviter; + permissions: string; + created_at: string; + url: string; + html_url: string; +}; +declare type ReposListInvitationsForAuthenticatedUserResponseData = Array; +declare type ReposAcceptInvitationEndpoint = { + /** + * invitation_id parameter + */ + invitation_id: number; +}; +declare type ReposAcceptInvitationRequestOptions = { + method: "PATCH"; + url: "/user/repository_invitations/:invitation_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposDeclineInvitationEndpoint = { + /** + * invitation_id parameter + */ + invitation_id: number; +}; +declare type ReposDeclineInvitationRequestOptions = { + method: "DELETE"; + url: "/user/repository_invitations/:invitation_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListReposStarredByAuthenticatedUserEndpoint = { + /** + * One of `created` (when the repository was starred) or `updated` (when it was last pushed to). + */ + sort?: "created" | "updated"; + /** + * One of `asc` (ascending) or `desc` (descending). + */ + direction?: "asc" | "desc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListReposStarredByAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/starred"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListReposStarredByAuthenticatedUserResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ActivityListReposStarredByAuthenticatedUserResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActivityListReposStarredByAuthenticatedUserResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActivityListReposStarredByAuthenticatedUserResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ActivityListReposStarredByAuthenticatedUserResponseDataItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ActivityListReposStarredByAuthenticatedUserResponseData = Array; +declare type ActivityCheckRepoIsStarredByAuthenticatedUserEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActivityCheckRepoIsStarredByAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/starred/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityStarRepoForAuthenticatedUserEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActivityStarRepoForAuthenticatedUserRequestOptions = { + method: "PUT"; + url: "/user/starred/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityUnstarRepoForAuthenticatedUserEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActivityUnstarRepoForAuthenticatedUserRequestOptions = { + method: "DELETE"; + url: "/user/starred/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListWatchedReposForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListWatchedReposForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/subscriptions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListWatchedReposForAuthenticatedUserResponseDataItemLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type ActivityListWatchedReposForAuthenticatedUserResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ActivityListWatchedReposForAuthenticatedUserResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActivityListWatchedReposForAuthenticatedUserResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActivityListWatchedReposForAuthenticatedUserResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ActivityListWatchedReposForAuthenticatedUserResponseDataItemPermissions; + template_repository: null; + temp_clone_token: string; + subscribers_count: number; + network_count: number; + license: ActivityListWatchedReposForAuthenticatedUserResponseDataItemLicense; +}; +declare type ActivityListWatchedReposForAuthenticatedUserResponseData = Array; +declare type ActivityCheckWatchingRepoLegacyEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActivityCheckWatchingRepoLegacyRequestOptions = { + method: "GET"; + url: "/user/subscriptions/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityWatchRepoLegacyEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActivityWatchRepoLegacyRequestOptions = { + method: "PUT"; + url: "/user/subscriptions/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityStopWatchingRepoLegacyEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActivityStopWatchingRepoLegacyRequestOptions = { + method: "DELETE"; + url: "/user/subscriptions/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListForAuthenticatedUserResponseDataItemOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; + name: string; + company: string; + blog: string; + location: string; + email: string; + is_verified: boolean; + has_organization_projects: boolean; + has_repository_projects: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; + html_url: string; + created_at: string; + type: string; +}; +declare type TeamsListForAuthenticatedUserResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; + members_count: number; + repos_count: number; + created_at: string; + updated_at: string; + organization: TeamsListForAuthenticatedUserResponseDataItemOrganization; +}; +declare type TeamsListForAuthenticatedUserResponseData = Array; +declare type MigrationsListReposForUserEndpoint = { + /** + * migration_id parameter + */ + migration_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsListReposForUserRequestOptions = { + method: "GET"; + url: "/user/:migration_id/repositories"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsListReposForUserResponseDataItemLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type MigrationsListReposForUserResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type MigrationsListReposForUserResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsListReposForUserResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: MigrationsListReposForUserResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: MigrationsListReposForUserResponseDataItemPermissions; + template_repository: null; + temp_clone_token: string; + subscribers_count: number; + network_count: number; + license: MigrationsListReposForUserResponseDataItemLicense; +}; +declare type MigrationsListReposForUserResponseData = Array; +declare type UsersListEndpoint = { + /** + * The integer ID of the last User that you've seen. + */ + since?: string; +}; +declare type UsersListRequestOptions = { + method: "GET"; + url: "/users"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type UsersListResponseData = Array; +declare type UsersGetByUsernameEndpoint = { + /** + * username parameter + */ + username: string; +}; +declare type UsersGetByUsernameRequestOptions = { + method: "GET"; + url: "/users/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersGetByUsernameResponseDataPlan = { + name: string; + space: number; + collaborators: number; + private_repos: number; +}; +declare type UsersGetByUsernameResponseData = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; + name: string; + company: string; + blog: string; + location: string; + email: string; + hireable: boolean; + bio: string; + public_repos: number; + public_gists: number; + followers: number; + following: number; + created_at: string; + updated_at: string; + plan?: UsersGetByUsernameResponseDataPlan; +}; +declare type ActivityListEventsForAuthenticatedUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListEventsForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/users/:username/events"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListOrgEventsForAuthenticatedUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListOrgEventsForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/users/:username/events/orgs/:org"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListPublicEventsForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListPublicEventsForUserRequestOptions = { + method: "GET"; + url: "/users/:username/events/public"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListFollowersForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListFollowersForUserRequestOptions = { + method: "GET"; + url: "/users/:username/followers"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListFollowersForUserResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type UsersListFollowersForUserResponseData = Array; +declare type UsersListFollowingForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListFollowingForUserRequestOptions = { + method: "GET"; + url: "/users/:username/following"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListFollowingForUserResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type UsersListFollowingForUserResponseData = Array; +declare type UsersCheckFollowingForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * target_user parameter + */ + target_user: string; +}; +declare type UsersCheckFollowingForUserRequestOptions = { + method: "GET"; + url: "/users/:username/following/:target_user"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsListForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Only gists updated at or after this time are returned. + */ + since?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type GistsListForUserRequestOptions = { + method: "GET"; + url: "/users/:username/gists"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsListForUserResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsListForUserResponseDataItemFilesHelloWorldRb = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; +}; +declare type GistsListForUserResponseDataItemFiles = { + "hello_world.rb": GistsListForUserResponseDataItemFilesHelloWorldRb; +}; +declare type GistsListForUserResponseDataItem = { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: GistsListForUserResponseDataItemFiles; + public: boolean; + created_at: string; + updated_at: string; + description: string; + comments: number; + user: null; + comments_url: string; + owner: GistsListForUserResponseDataItemOwner; + truncated: boolean; +}; +declare type GistsListForUserResponseData = Array; +declare type UsersListGpgKeysForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListGpgKeysForUserRequestOptions = { + method: "GET"; + url: "/users/:username/gpg_keys"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListGpgKeysForUserResponseDataItemSubkeysItem = { + id: number; + primary_key_id: number; + key_id: string; + public_key: string; + emails: Array; + subkeys: Array; + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_certify: boolean; + created_at: string; + expires_at: null; +}; +declare type UsersListGpgKeysForUserResponseDataItemEmailsItem = { + email: string; + verified: boolean; +}; +declare type UsersListGpgKeysForUserResponseDataItem = { + id: number; + primary_key_id: null; + key_id: string; + public_key: string; + emails: Array; + subkeys: Array; + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_certify: boolean; + created_at: string; + expires_at: null; +}; +declare type UsersListGpgKeysForUserResponseData = Array; +declare type UsersGetContextForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Identifies which additional information you'd like to receive about the person's hovercard. Can be `organization`, `repository`, `issue`, `pull_request`. **Required** when using `subject_id`. + */ + subject_type?: "organization" | "repository" | "issue" | "pull_request"; + /** + * Uses the ID for the `subject_type` you specified. **Required** when using `subject_type`. + */ + subject_id?: string; +}; +declare type UsersGetContextForUserRequestOptions = { + method: "GET"; + url: "/users/:username/hovercard"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersGetContextForUserResponseDataContextsItem = { + message: string; + octicon: string; +}; +declare type UsersGetContextForUserResponseData = { + contexts: Array; +}; +declare type AppsGetUserInstallationEndpoint = { + /** + * username parameter + */ + username: string; +} & RequiredPreview<"machine-man">; +declare type AppsGetUserInstallationRequestOptions = { + method: "GET"; + url: "/users/:username/installation"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetUserInstallationResponseDataPermissions = { + checks: string; + metadata: string; + contents: string; +}; +declare type AppsGetUserInstallationResponseDataAccount = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsGetUserInstallationResponseData = { + id: number; + account: AppsGetUserInstallationResponseDataAccount; + repository_selection: string; + access_tokens_url: string; + repositories_url: string; + html_url: string; + app_id: number; + target_id: number; + target_type: string; + permissions: AppsGetUserInstallationResponseDataPermissions; + events: Array; + created_at: string; + updated_at: string; + single_file_name: null; +}; +declare type UsersListPublicKeysForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListPublicKeysForUserRequestOptions = { + method: "GET"; + url: "/users/:username/keys"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListPublicKeysForUserResponseDataItem = { + id: number; + key: string; +}; +declare type UsersListPublicKeysForUserResponseData = Array; +declare type OrgsListForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type OrgsListForUserRequestOptions = { + method: "GET"; + url: "/users/:username/orgs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListForUserResponseDataItem = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type OrgsListForUserResponseData = Array; +declare type ProjectsListForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"inertia">; +declare type ProjectsListForUserRequestOptions = { + method: "GET"; + url: "/users/:username/projects"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsListForUserResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsListForUserResponseDataItem = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: ProjectsListForUserResponseDataItemCreator; + created_at: string; + updated_at: string; +}; +declare type ProjectsListForUserResponseData = Array; +declare type ActivityListReceivedEventsForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListReceivedEventsForUserRequestOptions = { + method: "GET"; + url: "/users/:username/received_events"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListReceivedPublicEventsForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListReceivedPublicEventsForUserRequestOptions = { + method: "GET"; + url: "/users/:username/received_events/public"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Can be one of `all`, `owner`, `member`. + */ + type?: "all" | "owner" | "member"; + /** + * Can be one of `created`, `updated`, `pushed`, `full_name`. + */ + sort?: "created" | "updated" | "pushed" | "full_name"; + /** + * Can be one of `asc` or `desc`. Default: `asc` when using `full_name`, otherwise `desc` + */ + direction?: "asc" | "desc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListForUserRequestOptions = { + method: "GET"; + url: "/users/:username/repos"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListReposStarredByUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * One of `created` (when the repository was starred) or `updated` (when it was last pushed to). + */ + sort?: "created" | "updated"; + /** + * One of `asc` (ascending) or `desc` (descending). + */ + direction?: "asc" | "desc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListReposStarredByUserRequestOptions = { + method: "GET"; + url: "/users/:username/starred"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListReposStarredByUserResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ActivityListReposStarredByUserResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActivityListReposStarredByUserResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActivityListReposStarredByUserResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ActivityListReposStarredByUserResponseDataItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ActivityListReposStarredByUserResponseData = Array; +declare type ActivityListReposWatchedByUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListReposWatchedByUserRequestOptions = { + method: "GET"; + url: "/users/:username/subscriptions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListReposWatchedByUserResponseDataItemLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type ActivityListReposWatchedByUserResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ActivityListReposWatchedByUserResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActivityListReposWatchedByUserResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActivityListReposWatchedByUserResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ActivityListReposWatchedByUserResponseDataItemPermissions; + template_repository: null; + temp_clone_token: string; + subscribers_count: number; + network_count: number; + license: ActivityListReposWatchedByUserResponseDataItemLicense; +}; +declare type ActivityListReposWatchedByUserResponseData = Array; +declare type AppsCreateInstallationTokenParamsPermissions = {}; +declare type GistsCreateParamsFiles = { + content?: string; +}; +declare type GistsUpdateParamsFiles = { + content?: string; + filename?: string; +}; +declare type OrgsCreateHookParamsConfig = { + url: string; + content_type?: string; + secret?: string; + insecure_ssl?: string; +}; +declare type OrgsUpdateHookParamsConfig = { + url: string; + content_type?: string; + secret?: string; + insecure_ssl?: string; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsInOrgParamsGroups = { + group_id: string; + group_name: string; + group_description: string; +}; +declare type ReposUpdateBranchProtectionParamsRequiredStatusChecks = { + strict: boolean; + contexts: string[]; +}; +declare type ReposUpdateBranchProtectionParamsRequiredPullRequestReviews = { + dismissal_restrictions?: ReposUpdateBranchProtectionParamsRequiredPullRequestReviewsDismissalRestrictions; + dismiss_stale_reviews?: boolean; + require_code_owner_reviews?: boolean; + required_approving_review_count?: number; +}; +declare type ReposUpdateBranchProtectionParamsRequiredPullRequestReviewsDismissalRestrictions = { + users?: string[]; + teams?: string[]; +}; +declare type ReposUpdateBranchProtectionParamsRestrictions = { + users: string[]; + teams: string[]; + apps?: string[]; +}; +declare type ReposUpdateProtectedBranchPullRequestReviewEnforcementParamsDismissalRestrictions = { + users?: string[]; + teams?: string[]; +}; +declare type ChecksCreateParamsOutput = { + title: string; + summary: string; + text?: string; + annotations?: ChecksCreateParamsOutputAnnotations[]; + images?: ChecksCreateParamsOutputImages[]; +}; +declare type ChecksCreateParamsOutputAnnotations = { + path: string; + start_line: number; + end_line: number; + start_column?: number; + end_column?: number; + annotation_level: "notice" | "warning" | "failure"; + message: string; + title?: string; + raw_details?: string; +}; +declare type ChecksCreateParamsOutputImages = { + alt: string; + image_url: string; + caption?: string; +}; +declare type ChecksCreateParamsActions = { + label: string; + description: string; + identifier: string; +}; +declare type ChecksUpdateParamsOutput = { + title?: string; + summary: string; + text?: string; + annotations?: ChecksUpdateParamsOutputAnnotations[]; + images?: ChecksUpdateParamsOutputImages[]; +}; +declare type ChecksUpdateParamsOutputAnnotations = { + path: string; + start_line: number; + end_line: number; + start_column?: number; + end_column?: number; + annotation_level: "notice" | "warning" | "failure"; + message: string; + title?: string; + raw_details?: string; +}; +declare type ChecksUpdateParamsOutputImages = { + alt: string; + image_url: string; + caption?: string; +}; +declare type ChecksUpdateParamsActions = { + label: string; + description: string; + identifier: string; +}; +declare type ChecksSetSuitesPreferencesParamsAutoTriggerChecks = { + app_id: number; + setting: boolean; +}; +declare type ReposCreateOrUpdateFileParamsCommitter = { + name: string; + email: string; +}; +declare type ReposCreateOrUpdateFileParamsAuthor = { + name: string; + email: string; +}; +declare type ReposDeleteFileParamsCommitter = { + name?: string; + email?: string; +}; +declare type ReposDeleteFileParamsAuthor = { + name?: string; + email?: string; +}; +declare type ReposCreateDispatchEventParamsClientPayload = {}; +declare type GitCreateCommitParamsAuthor = { + name?: string; + email?: string; + date?: string; +}; +declare type GitCreateCommitParamsCommitter = { + name?: string; + email?: string; + date?: string; +}; +declare type GitCreateTagParamsTagger = { + name?: string; + email?: string; + date?: string; +}; +declare type GitCreateTreeParamsTree = { + path?: string; + mode?: "100644" | "100755" | "040000" | "160000" | "120000"; + type?: "blob" | "tree" | "commit"; + sha?: string | null; + content?: string; +}; +declare type ReposCreateHookParamsConfig = { + url: string; + content_type?: string; + secret?: string; + insecure_ssl?: string; +}; +declare type ReposUpdateHookParamsConfig = { + url: string; + content_type?: string; + secret?: string; + insecure_ssl?: string; +}; +declare type ReposEnablePagesSiteParamsSource = { + branch?: "master" | "gh-pages"; + path?: string; +}; +declare type PullsCreateReviewParamsComments = { + path: string; + position: number; + body: string; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsLegacyParamsGroups = { + group_id: string; + group_name: string; + group_description: string; +}; +export {}; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/index.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/index.d.ts new file mode 100644 index 0000000..5d2d5ae --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/index.d.ts @@ -0,0 +1,20 @@ +export * from "./AuthInterface"; +export * from "./EndpointDefaults"; +export * from "./EndpointInterface"; +export * from "./EndpointOptions"; +export * from "./Fetch"; +export * from "./OctokitResponse"; +export * from "./RequestHeaders"; +export * from "./RequestInterface"; +export * from "./RequestMethod"; +export * from "./RequestOptions"; +export * from "./RequestParameters"; +export * from "./RequestRequestOptions"; +export * from "./ResponseHeaders"; +export * from "./Route"; +export * from "./Signal"; +export * from "./StrategyInterface"; +export * from "./Url"; +export * from "./VERSION"; +export * from "./GetResponseTypeFromEndpointMethod"; +export * from "./generated/Endpoints"; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-web/index.js b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-web/index.js new file mode 100644 index 0000000..3c0cafc --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-web/index.js @@ -0,0 +1,4 @@ +const VERSION = "2.16.2"; + +export { VERSION }; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-web/index.js.map b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-web/index.js.map new file mode 100644 index 0000000..cd0e254 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-web/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/VERSION.js"],"sourcesContent":["export const VERSION = \"0.0.0-development\";\n"],"names":[],"mappings":"AAAY,MAAC,OAAO,GAAG;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/package.json b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/package.json new file mode 100644 index 0000000..163b758 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/package.json @@ -0,0 +1,85 @@ +{ + "_args": [ + [ + "@octokit/types@2.16.2", + "/Users/1112456/github/jenkins-action" + ] + ], + "_from": "@octokit/types@2.16.2", + "_id": "@octokit/types@2.16.2", + "_inBundle": false, + "_integrity": "sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==", + "_location": "/@octokit/plugin-rest-endpoint-methods/@octokit/types", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "@octokit/types@2.16.2", + "name": "@octokit/types", + "escapedName": "@octokit%2ftypes", + "scope": "@octokit", + "rawSpec": "2.16.2", + "saveSpec": null, + "fetchSpec": "2.16.2" + }, + "_requiredBy": [ + "/@octokit/plugin-rest-endpoint-methods" + ], + "_resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz", + "_spec": "2.16.2", + "_where": "/Users/1112456/github/jenkins-action", + "bugs": { + "url": "https://github.com/octokit/types.ts/issues" + }, + "dependencies": { + "@types/node": ">= 8" + }, + "description": "Shared TypeScript definitions for Octokit projects", + "devDependencies": { + "@gimenete/type-writer": "^0.1.5", + "@octokit/graphql": "^4.2.2", + "@pika/pack": "^0.5.0", + "@pika/plugin-build-node": "^0.9.0", + "@pika/plugin-build-web": "^0.9.0", + "@pika/plugin-ts-standard-pkg": "^0.9.0", + "handlebars": "^4.7.6", + "lodash.set": "^4.3.2", + "npm-run-all": "^4.1.5", + "pascal-case": "^3.1.1", + "prettier": "^2.0.0", + "semantic-release": "^17.0.0", + "semantic-release-plugin-update-version-in-files": "^1.0.0", + "sort-keys": "^4.0.0", + "string-to-jsdoc-comment": "^1.0.0", + "typedoc": "^0.17.0", + "typescript": "^3.6.4" + }, + "files": [ + "dist-*/", + "bin/" + ], + "homepage": "https://github.com/octokit/types.ts#readme", + "keywords": [ + "github", + "api", + "sdk", + "toolkit", + "typescript" + ], + "license": "MIT", + "main": "dist-node/index.js", + "module": "dist-web/index.js", + "name": "@octokit/types", + "pika": true, + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/octokit/types.ts.git" + }, + "sideEffects": false, + "source": "dist-src/index.js", + "types": "dist-types/index.d.ts", + "version": "2.16.2" +} diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/package.json b/node_modules/@octokit/plugin-rest-endpoint-methods/package.json new file mode 100644 index 0000000..8ee7d2a --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/package.json @@ -0,0 +1,94 @@ +{ + "_args": [ + [ + "@octokit/plugin-rest-endpoint-methods@2.4.0", + "/Users/1112456/github/jenkins-action" + ] + ], + "_from": "@octokit/plugin-rest-endpoint-methods@2.4.0", + "_id": "@octokit/plugin-rest-endpoint-methods@2.4.0", + "_inBundle": false, + "_integrity": "sha512-EZi/AWhtkdfAYi01obpX0DF7U6b1VRr30QNQ5xSFPITMdLSfhcBqjamE3F+sKcxPbD7eZuMHu3Qkk2V+JGxBDQ==", + "_location": "/@octokit/plugin-rest-endpoint-methods", + "_phantomChildren": { + "@types/node": "14.14.14" + }, + "_requested": { + "type": "version", + "registry": true, + "raw": "@octokit/plugin-rest-endpoint-methods@2.4.0", + "name": "@octokit/plugin-rest-endpoint-methods", + "escapedName": "@octokit%2fplugin-rest-endpoint-methods", + "scope": "@octokit", + "rawSpec": "2.4.0", + "saveSpec": null, + "fetchSpec": "2.4.0" + }, + "_requiredBy": [ + "/@octokit/rest" + ], + "_resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-2.4.0.tgz", + "_spec": "2.4.0", + "_where": "/Users/1112456/github/jenkins-action", + "bugs": { + "url": "https://github.com/octokit/plugin-rest-endpoint-methods.js/issues" + }, + "dependencies": { + "@octokit/types": "^2.0.1", + "deprecation": "^2.3.1" + }, + "description": "Octokit plugin adding one method for all of api.github.com REST API endpoints", + "devDependencies": { + "@gimenete/type-writer": "^0.1.4", + "@octokit/core": "^2.1.2", + "@octokit/graphql": "^4.3.1", + "@pika/pack": "^0.5.0", + "@pika/plugin-build-node": "^0.7.1", + "@pika/plugin-build-web": "^0.7.1", + "@pika/plugin-ts-standard-pkg": "^0.7.1", + "@types/fetch-mock": "^7.3.1", + "@types/jest": "^25.1.0", + "@types/node": "^13.1.0", + "fetch-mock": "^8.0.0", + "jest": "^24.9.0", + "lodash.camelcase": "^4.3.0", + "lodash.set": "^4.3.2", + "lodash.upperfirst": "^4.3.1", + "mustache": "^4.0.0", + "npm-run-all": "^4.1.5", + "prettier": "^1.19.1", + "semantic-release": "^17.0.0", + "semantic-release-plugin-update-version-in-files": "^1.0.0", + "sort-keys": "^4.0.0", + "string-to-jsdoc-comment": "^1.0.0", + "ts-jest": "^25.1.0", + "typescript": "^3.7.2" + }, + "files": [ + "dist-*/", + "bin/" + ], + "homepage": "https://github.com/octokit/plugin-rest-endpoint-methods.js#readme", + "keywords": [ + "github", + "api", + "sdk", + "toolkit" + ], + "license": "MIT", + "main": "dist-node/index.js", + "module": "dist-web/index.js", + "name": "@octokit/plugin-rest-endpoint-methods", + "pika": true, + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/octokit/plugin-rest-endpoint-methods.js.git" + }, + "sideEffects": false, + "source": "dist-src/index.js", + "types": "dist-types/index.d.ts", + "version": "2.4.0" +} diff --git a/node_modules/@octokit/request-error/LICENSE b/node_modules/@octokit/request-error/LICENSE new file mode 100644 index 0000000..ef2c18e --- /dev/null +++ b/node_modules/@octokit/request-error/LICENSE @@ -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. diff --git a/node_modules/@octokit/request-error/README.md b/node_modules/@octokit/request-error/README.md new file mode 100644 index 0000000..c939cda --- /dev/null +++ b/node_modules/@octokit/request-error/README.md @@ -0,0 +1,67 @@ +# 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://github.com/octokit/request-error.js/workflows/Test/badge.svg)](https://github.com/octokit/request-error.js/actions?query=workflow%3ATest) + +## Usage + + + + + + +
+Browsers + +Load @octokit/request-error directly from cdn.skypack.dev + +```html + +``` + +
+Node + + +Install with npm install @octokit/request-error + +```js +const { RequestError } = require("@octokit/request-error"); +// or: import { RequestError } from "@octokit/request-error"; +``` + +
+ +```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) diff --git a/node_modules/@octokit/request-error/dist-node/index.js b/node_modules/@octokit/request-error/dist-node/index.js new file mode 100644 index 0000000..95b9c57 --- /dev/null +++ b/node_modules/@octokit/request-error/dist-node/index.js @@ -0,0 +1,55 @@ +'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; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/request-error/dist-node/index.js.map b/node_modules/@octokit/request-error/dist-node/index.js.map new file mode 100644 index 0000000..2562006 --- /dev/null +++ b/node_modules/@octokit/request-error/dist-node/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/index.js"],"sourcesContent":["import { Deprecation } from \"deprecation\";\nimport once from \"once\";\nconst logOnce = once((deprecation) => console.warn(deprecation));\n/**\n * Error with extra properties to help with debugging\n */\nexport class RequestError extends Error {\n constructor(message, statusCode, options) {\n super(message);\n // Maintains proper stack trace (only available on V8)\n /* istanbul ignore next */\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n this.name = \"HttpError\";\n this.status = statusCode;\n Object.defineProperty(this, \"code\", {\n get() {\n logOnce(new Deprecation(\"[@octokit/request-error] `error.code` is deprecated, use `error.status`.\"));\n return statusCode;\n },\n });\n this.headers = options.headers || {};\n // redact request credentials without mutating original request options\n const requestCopy = Object.assign({}, options.request);\n if (options.request.headers.authorization) {\n requestCopy.headers = Object.assign({}, options.request.headers, {\n authorization: options.request.headers.authorization.replace(/ .*$/, \" [REDACTED]\"),\n });\n }\n requestCopy.url = requestCopy.url\n // client_id & client_secret can be passed as URL query parameters to increase rate limit\n // see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications\n .replace(/\\bclient_secret=\\w+/g, \"client_secret=[REDACTED]\")\n // OAuth tokens can be passed as URL query parameters, although it is not recommended\n // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header\n .replace(/\\baccess_token=\\w+/g, \"access_token=[REDACTED]\");\n this.request = requestCopy;\n }\n}\n"],"names":["logOnce","once","deprecation","console","warn","RequestError","Error","constructor","message","statusCode","options","captureStackTrace","name","status","Object","defineProperty","get","Deprecation","headers","requestCopy","assign","request","authorization","replace","url"],"mappings":";;;;;;;;;AAEA,MAAMA,OAAO,GAAGC,IAAI,CAAEC,WAAD,IAAiBC,OAAO,CAACC,IAAR,CAAaF,WAAb,CAAlB,CAApB;AACA;;;;AAGO,MAAMG,YAAN,SAA2BC,KAA3B,CAAiC;AACpCC,EAAAA,WAAW,CAACC,OAAD,EAAUC,UAAV,EAAsBC,OAAtB,EAA+B;AACtC,UAAMF,OAAN,EADsC;;AAGtC;;AACA,QAAIF,KAAK,CAACK,iBAAV,EAA6B;AACzBL,MAAAA,KAAK,CAACK,iBAAN,CAAwB,IAAxB,EAA8B,KAAKJ,WAAnC;AACH;;AACD,SAAKK,IAAL,GAAY,WAAZ;AACA,SAAKC,MAAL,GAAcJ,UAAd;AACAK,IAAAA,MAAM,CAACC,cAAP,CAAsB,IAAtB,EAA4B,MAA5B,EAAoC;AAChCC,MAAAA,GAAG,GAAG;AACFhB,QAAAA,OAAO,CAAC,IAAIiB,uBAAJ,CAAgB,0EAAhB,CAAD,CAAP;AACA,eAAOR,UAAP;AACH;;AAJ+B,KAApC;AAMA,SAAKS,OAAL,GAAeR,OAAO,CAACQ,OAAR,IAAmB,EAAlC,CAfsC;;AAiBtC,UAAMC,WAAW,GAAGL,MAAM,CAACM,MAAP,CAAc,EAAd,EAAkBV,OAAO,CAACW,OAA1B,CAApB;;AACA,QAAIX,OAAO,CAACW,OAAR,CAAgBH,OAAhB,CAAwBI,aAA5B,EAA2C;AACvCH,MAAAA,WAAW,CAACD,OAAZ,GAAsBJ,MAAM,CAACM,MAAP,CAAc,EAAd,EAAkBV,OAAO,CAACW,OAAR,CAAgBH,OAAlC,EAA2C;AAC7DI,QAAAA,aAAa,EAAEZ,OAAO,CAACW,OAAR,CAAgBH,OAAhB,CAAwBI,aAAxB,CAAsCC,OAAtC,CAA8C,MAA9C,EAAsD,aAAtD;AAD8C,OAA3C,CAAtB;AAGH;;AACDJ,IAAAA,WAAW,CAACK,GAAZ,GAAkBL,WAAW,CAACK,GAAZ;AAEd;AAFc,KAGbD,OAHa,CAGL,sBAHK,EAGmB,0BAHnB;AAKd;AALc,KAMbA,OANa,CAML,qBANK,EAMkB,yBANlB,CAAlB;AAOA,SAAKF,OAAL,GAAeF,WAAf;AACH;;AAhCmC;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/request-error/dist-src/index.js b/node_modules/@octokit/request-error/dist-src/index.js new file mode 100644 index 0000000..c880b45 --- /dev/null +++ b/node_modules/@octokit/request-error/dist-src/index.js @@ -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; + } +} diff --git a/node_modules/@octokit/request-error/dist-src/types.js b/node_modules/@octokit/request-error/dist-src/types.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/request-error/dist-types/index.d.ts b/node_modules/@octokit/request-error/dist-types/index.d.ts new file mode 100644 index 0000000..baa8a0e --- /dev/null +++ b/node_modules/@octokit/request-error/dist-types/index.d.ts @@ -0,0 +1,27 @@ +import { RequestOptions, ResponseHeaders } from "@octokit/types"; +import { 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); +} diff --git a/node_modules/@octokit/request-error/dist-types/types.d.ts b/node_modules/@octokit/request-error/dist-types/types.d.ts new file mode 100644 index 0000000..865d213 --- /dev/null +++ b/node_modules/@octokit/request-error/dist-types/types.d.ts @@ -0,0 +1,5 @@ +import { RequestOptions, ResponseHeaders } from "@octokit/types"; +export declare type RequestErrorOptions = { + headers?: ResponseHeaders; + request: RequestOptions; +}; diff --git a/node_modules/@octokit/request-error/dist-web/index.js b/node_modules/@octokit/request-error/dist-web/index.js new file mode 100644 index 0000000..feec58e --- /dev/null +++ b/node_modules/@octokit/request-error/dist-web/index.js @@ -0,0 +1,44 @@ +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 }; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/request-error/dist-web/index.js.map b/node_modules/@octokit/request-error/dist-web/index.js.map new file mode 100644 index 0000000..130740d --- /dev/null +++ b/node_modules/@octokit/request-error/dist-web/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/index.js"],"sourcesContent":["import { Deprecation } from \"deprecation\";\nimport once from \"once\";\nconst logOnce = once((deprecation) => console.warn(deprecation));\n/**\n * Error with extra properties to help with debugging\n */\nexport class RequestError extends Error {\n constructor(message, statusCode, options) {\n super(message);\n // Maintains proper stack trace (only available on V8)\n /* istanbul ignore next */\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n this.name = \"HttpError\";\n this.status = statusCode;\n Object.defineProperty(this, \"code\", {\n get() {\n logOnce(new Deprecation(\"[@octokit/request-error] `error.code` is deprecated, use `error.status`.\"));\n return statusCode;\n },\n });\n this.headers = options.headers || {};\n // redact request credentials without mutating original request options\n const requestCopy = Object.assign({}, options.request);\n if (options.request.headers.authorization) {\n requestCopy.headers = Object.assign({}, options.request.headers, {\n authorization: options.request.headers.authorization.replace(/ .*$/, \" [REDACTED]\"),\n });\n }\n requestCopy.url = requestCopy.url\n // client_id & client_secret can be passed as URL query parameters to increase rate limit\n // see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications\n .replace(/\\bclient_secret=\\w+/g, \"client_secret=[REDACTED]\")\n // OAuth tokens can be passed as URL query parameters, although it is not recommended\n // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header\n .replace(/\\baccess_token=\\w+/g, \"access_token=[REDACTED]\");\n this.request = requestCopy;\n }\n}\n"],"names":[],"mappings":";;;AAEA,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AACjE;AACA;AACA;AACO,MAAM,YAAY,SAAS,KAAK,CAAC;AACxC,IAAI,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE;AAC9C,QAAQ,KAAK,CAAC,OAAO,CAAC,CAAC;AACvB;AACA;AACA,QAAQ,IAAI,KAAK,CAAC,iBAAiB,EAAE;AACrC,YAAY,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;AAC5D,SAAS;AACT,QAAQ,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;AAChC,QAAQ,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;AACjC,QAAQ,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE;AAC5C,YAAY,GAAG,GAAG;AAClB,gBAAgB,OAAO,CAAC,IAAI,WAAW,CAAC,0EAA0E,CAAC,CAAC,CAAC;AACrH,gBAAgB,OAAO,UAAU,CAAC;AAClC,aAAa;AACb,SAAS,CAAC,CAAC;AACX,QAAQ,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;AAC7C;AACA,QAAQ,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;AAC/D,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE;AACnD,YAAY,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE;AAC7E,gBAAgB,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC;AACnG,aAAa,CAAC,CAAC;AACf,SAAS;AACT,QAAQ,WAAW,CAAC,GAAG,GAAG,WAAW,CAAC,GAAG;AACzC;AACA;AACA,aAAa,OAAO,CAAC,sBAAsB,EAAE,0BAA0B,CAAC;AACxE;AACA;AACA,aAAa,OAAO,CAAC,qBAAqB,EAAE,yBAAyB,CAAC,CAAC;AACvE,QAAQ,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC;AACnC,KAAK;AACL;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/request-error/package.json b/node_modules/@octokit/request-error/package.json new file mode 100644 index 0000000..5ca4bfd --- /dev/null +++ b/node_modules/@octokit/request-error/package.json @@ -0,0 +1,83 @@ +{ + "_args": [ + [ + "@octokit/request-error@2.0.4", + "/Users/1112456/github/jenkins-action" + ] + ], + "_from": "@octokit/request-error@2.0.4", + "_id": "@octokit/request-error@2.0.4", + "_inBundle": false, + "_integrity": "sha512-LjkSiTbsxIErBiRh5wSZvpZqT4t0/c9+4dOe0PII+6jXR+oj/h66s7E4a/MghV7iT8W9ffoQ5Skoxzs96+gBPA==", + "_location": "/@octokit/request-error", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "@octokit/request-error@2.0.4", + "name": "@octokit/request-error", + "escapedName": "@octokit%2frequest-error", + "scope": "@octokit", + "rawSpec": "2.0.4", + "saveSpec": null, + "fetchSpec": "2.0.4" + }, + "_requiredBy": [ + "/@octokit/request" + ], + "_resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.0.4.tgz", + "_spec": "2.0.4", + "_where": "/Users/1112456/github/jenkins-action", + "bugs": { + "url": "https://github.com/octokit/request-error.js/issues" + }, + "dependencies": { + "@octokit/types": "^6.0.0", + "deprecation": "^2.0.0", + "once": "^1.4.0" + }, + "description": "Error class for Octokit request errors", + "devDependencies": { + "@pika/pack": "^0.5.0", + "@pika/plugin-build-node": "^0.9.0", + "@pika/plugin-build-web": "^0.9.0", + "@pika/plugin-bundle-web": "^0.9.0", + "@pika/plugin-ts-standard-pkg": "^0.9.0", + "@types/jest": "^26.0.0", + "@types/node": "^14.0.4", + "@types/once": "^1.4.0", + "jest": "^25.1.0", + "pika-plugin-unpkg-field": "^1.1.0", + "prettier": "^2.0.1", + "semantic-release": "^17.0.0", + "ts-jest": "^25.1.0", + "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": "2.0.4" +} diff --git a/node_modules/@octokit/request/LICENSE b/node_modules/@octokit/request/LICENSE new file mode 100644 index 0000000..af5366d --- /dev/null +++ b/node_modules/@octokit/request/LICENSE @@ -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. diff --git a/node_modules/@octokit/request/README.md b/node_modules/@octokit/request/README.md new file mode 100644 index 0000000..514eb6e --- /dev/null +++ b/node_modules/@octokit/request/README.md @@ -0,0 +1,541 @@ +# request.js + +> Send parameterized requests to GitHub’s 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://github.com/octokit/request.js/workflows/Test/badge.svg)](https://github.com/octokit/request.js/actions?query=workflow%3ATest+branch%3Amaster) + +`@octokit/request` is a request library for browsers & node that makes it easier +to interact with [GitHub’s REST API](https://developer.github.com/v3/) and +[GitHub’s 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). + + + + + +- [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) +- [Authentication](#authentication) +- [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) + + + +## 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: "octokit", + repo: "request.js", + number: 1, + labels: ["🐛 bug"], +}); +``` + +👶 [Small bundle size](https://bundlephobia.com/result?p=@octokit/request@5.0.3) (\<4kb minified + gzipped) + +😎 [Authenticate](#authentication) with any of [GitHubs Authentication Strategies](https://github.com/octokit/auth.js). + +👍 Sensible defaults + +- `baseUrl`: `https://api.github.com` +- `headers.accept`: `application/vnd.github.v3+json` +- `headers.agent`: `octokit-request.js/ `, 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). + +## Usage + + + + + + +
+Browsers + +Load @octokit/request directly from cdn.skypack.dev + +```html + +``` + +
+Node + + +Install with npm install @octokit/request + +```js +const { request } = require("@octokit/request"); +// or: import { request } from "@octokit/request"; +``` + +
+ +### 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 + +For GraphQL request we recommend using [`@octokit/graphql`](https://github.com/octokit/graphql.js#readme) + +```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", +}); +``` + +## Authentication + +The simplest way to authenticate a request is to set the `Authorization` header directly, e.g. to a [personal access token](https://github.com/settings/tokens/). + +```js +const requestWithAuth = request.defaults({ + headers: { + authorization: "token 0000000000000000000000000000000000000001", + }, +}); +const result = await requestWithAuth("GET /user"); +``` + +For more complex authentication strategies such as GitHub Apps or Basic, we recommend the according authentication library exported by [`@octokit/auth`](https://github.com/octokit/auth.js). + +```js +const { createAppAuth } = require("@octokit/auth-app"); +const auth = createAppAuth({ + appId: process.env.APP_ID, + privateKey: process.env.PRIVATE_KEY, + installationId: 123, +}); +const requestWithAuth = request.defaults({ + request: { + hook: auth.hook, + }, + mediaType: { + previews: ["machine-man"], + }, +}); + +const { data: app } = await requestWithAuth("GET /app"); +const { data: app } = await requestWithAuth( + "POST /repos/{owner}/{repo}/issues", + { + owner: "octocat", + repo: "hello-world", + title: "Hello from the engine room", + } +); +``` + +## request() + +`request(route, options)` or `request(options)`. + +**Options** + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ name + + type + + description +
+ route + + String + + If route is set it has to be a string consisting of the request method and URL, e.g. GET /orgs/{org} +
+ options.baseUrl + + String + + Required. Any supported http verb, case insensitive. Defaults to https://api.github.com. +
+ options.headers + + Object + + Custom headers. Passed headers are merged with defaults:
+ headers['user-agent'] defaults to octokit-rest.js/1.2.3 (where 1.2.3 is the released version).
+ headers['accept'] defaults to application/vnd.github.v3+json.
Use options.mediaType.{format,previews} to request API previews and custom media types. +
+ options.mediaType.format + + String + + Media type param, such as `raw`, `html`, or `full`. See Media Types. +
+ options.mediaType.previews + + Array of strings + + Name of previews, such as `mercy`, `symmetra`, or `scarlet-witch`. See API Previews. +
+ options.method + + String + + Required. Any supported http verb, case insensitive. Defaults to Get. +
+ options.url + + String + + Required. A path or full URL which may contain :variable or {variable} placeholders, + e.g. /orgs/{org}/repos. The url is parsed using url-template. +
+ options.data + + Any + + Set request body directly instead of setting it to JSON based on additional parameters. See "The `data` parameter" below. +
+ options.request.agent + + http(s).Agent instance + + Node only. Useful for custom proxy, certificate, or dns lookup. +
+ options.request.fetch + + Function + + Custom replacement for built-in fetch method. Useful for testing or request hooks. +
+ options.request.hook + + Function + + Function with the signature hook(request, endpointOptions), where endpointOptions are the parsed options as returned by endpoint.merge(), and request is request(). This option works great in conjuction with before-after-hook. +
+ options.request.signal + + new AbortController().signal + + Use an AbortController instance to cancel a request. In node you can only cancel streamed requests. +
+ options.request.timeout + + Number + + Node only. Request/response timeout in ms, it resets on redirect. 0 to disable (OS limit applies). options.request.signal is recommended instead. +
+ +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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ key + + type + + description +
statusIntegerResponse status status
urlStringURL of response. If a request results in redirects, this is the final URL. You can send a HEAD request to retrieve it without loading the full response body.
headersObjectAll response headers
dataAnyThe response body as returned from server. If the response is JSON then it will be parsed into an object
+ +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: + +- [`octokitRequest.endpoint()`](#endpoint) +- [`octokitRequest.endpoint.defaults()`](#endpointdefaults) +- [`octokitRequest.endpoint.merge()`](#endpointdefaults) +- [`octokitRequest.endpoint.parse()`](#endpointmerge) + +## Special cases + + + +### 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) don’t 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) diff --git a/node_modules/@octokit/request/dist-node/index.js b/node_modules/@octokit/request/dist-node/index.js new file mode 100644 index 0000000..808deb6 --- /dev/null +++ b/node_modules/@octokit/request/dist-node/index.js @@ -0,0 +1,148 @@ +'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 universalUserAgent = require('universal-user-agent'); +var isPlainObject = require('is-plain-object'); +var nodeFetch = _interopDefault(require('node-fetch')); +var requestError = require('@octokit/request-error'); + +const VERSION = "5.4.12"; + +function getBufferResponse(response) { + return response.arrayBuffer(); +} + +function fetchWrapper(requestOptions) { + if (isPlainObject.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 requests + + + 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 { + let responseBody = JSON.parse(error.message); + Object.assign(error, responseBody); + let errors = responseBody.errors; // Assumption `errors` would always be in Array format + + error.message = error.message + ": " + errors.map(JSON.stringify).join(", "); + } 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} ${universalUserAgent.getUserAgent()}` + } +}); + +exports.request = request; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/request/dist-node/index.js.map b/node_modules/@octokit/request/dist-node/index.js.map new file mode 100644 index 0000000..cfa7cc0 --- /dev/null +++ b/node_modules/@octokit/request/dist-node/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/get-buffer-response.js","../dist-src/fetch-wrapper.js","../dist-src/with-defaults.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"5.4.12\";\n","export default function getBufferResponse(response) {\n return response.arrayBuffer();\n}\n","import { isPlainObject } from \"is-plain-object\";\nimport nodeFetch from \"node-fetch\";\nimport { RequestError } from \"@octokit/request-error\";\nimport getBuffer from \"./get-buffer-response\";\nexport default function fetchWrapper(requestOptions) {\n if (isPlainObject(requestOptions.body) ||\n Array.isArray(requestOptions.body)) {\n requestOptions.body = JSON.stringify(requestOptions.body);\n }\n let headers = {};\n let status;\n let url;\n const fetch = (requestOptions.request && requestOptions.request.fetch) || nodeFetch;\n return fetch(requestOptions.url, Object.assign({\n method: requestOptions.method,\n body: requestOptions.body,\n headers: requestOptions.headers,\n redirect: requestOptions.redirect,\n }, requestOptions.request))\n .then((response) => {\n url = response.url;\n status = response.status;\n for (const keyAndValue of response.headers) {\n headers[keyAndValue[0]] = keyAndValue[1];\n }\n if (status === 204 || status === 205) {\n return;\n }\n // GitHub API returns 200 for HEAD requests\n if (requestOptions.method === \"HEAD\") {\n if (status < 400) {\n return;\n }\n throw new RequestError(response.statusText, status, {\n headers,\n request: requestOptions,\n });\n }\n if (status === 304) {\n throw new RequestError(\"Not modified\", status, {\n headers,\n request: requestOptions,\n });\n }\n if (status >= 400) {\n return response\n .text()\n .then((message) => {\n const error = new RequestError(message, status, {\n headers,\n request: requestOptions,\n });\n try {\n let responseBody = JSON.parse(error.message);\n Object.assign(error, responseBody);\n let errors = responseBody.errors;\n // Assumption `errors` would always be in Array format\n error.message =\n error.message + \": \" + errors.map(JSON.stringify).join(\", \");\n }\n catch (e) {\n // ignore, see octokit/rest.js#684\n }\n throw error;\n });\n }\n const contentType = response.headers.get(\"content-type\");\n if (/application\\/json/.test(contentType)) {\n return response.json();\n }\n if (!contentType || /^text\\/|charset=utf-8$/.test(contentType)) {\n return response.text();\n }\n return getBuffer(response);\n })\n .then((data) => {\n return {\n status,\n url,\n headers,\n data,\n };\n })\n .catch((error) => {\n if (error instanceof RequestError) {\n throw error;\n }\n throw new RequestError(error.message, 500, {\n headers,\n request: requestOptions,\n });\n });\n}\n","import fetchWrapper from \"./fetch-wrapper\";\nexport default function withDefaults(oldEndpoint, newDefaults) {\n const endpoint = oldEndpoint.defaults(newDefaults);\n const newApi = function (route, parameters) {\n const endpointOptions = endpoint.merge(route, parameters);\n if (!endpointOptions.request || !endpointOptions.request.hook) {\n return fetchWrapper(endpoint.parse(endpointOptions));\n }\n const request = (route, parameters) => {\n return fetchWrapper(endpoint.parse(endpoint.merge(route, parameters)));\n };\n Object.assign(request, {\n endpoint,\n defaults: withDefaults.bind(null, endpoint),\n });\n return endpointOptions.request.hook(request, endpointOptions);\n };\n return Object.assign(newApi, {\n endpoint,\n defaults: withDefaults.bind(null, endpoint),\n });\n}\n","import { endpoint } from \"@octokit/endpoint\";\nimport { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nimport withDefaults from \"./with-defaults\";\nexport const request = withDefaults(endpoint, {\n headers: {\n \"user-agent\": `octokit-request.js/${VERSION} ${getUserAgent()}`,\n },\n});\n"],"names":["VERSION","getBufferResponse","response","arrayBuffer","fetchWrapper","requestOptions","isPlainObject","body","Array","isArray","JSON","stringify","headers","status","url","fetch","request","nodeFetch","Object","assign","method","redirect","then","keyAndValue","RequestError","statusText","text","message","error","responseBody","parse","errors","map","join","e","contentType","get","test","json","getBuffer","data","catch","withDefaults","oldEndpoint","newDefaults","endpoint","defaults","newApi","route","parameters","endpointOptions","merge","hook","bind","getUserAgent"],"mappings":";;;;;;;;;;;;AAAO,MAAMA,OAAO,GAAG,mBAAhB;;ACAQ,SAASC,iBAAT,CAA2BC,QAA3B,EAAqC;AAChD,SAAOA,QAAQ,CAACC,WAAT,EAAP;AACH;;ACEc,SAASC,YAAT,CAAsBC,cAAtB,EAAsC;AACjD,MAAIC,2BAAa,CAACD,cAAc,CAACE,IAAhB,CAAb,IACAC,KAAK,CAACC,OAAN,CAAcJ,cAAc,CAACE,IAA7B,CADJ,EACwC;AACpCF,IAAAA,cAAc,CAACE,IAAf,GAAsBG,IAAI,CAACC,SAAL,CAAeN,cAAc,CAACE,IAA9B,CAAtB;AACH;;AACD,MAAIK,OAAO,GAAG,EAAd;AACA,MAAIC,MAAJ;AACA,MAAIC,GAAJ;AACA,QAAMC,KAAK,GAAIV,cAAc,CAACW,OAAf,IAA0BX,cAAc,CAACW,OAAf,CAAuBD,KAAlD,IAA4DE,SAA1E;AACA,SAAOF,KAAK,CAACV,cAAc,CAACS,GAAhB,EAAqBI,MAAM,CAACC,MAAP,CAAc;AAC3CC,IAAAA,MAAM,EAAEf,cAAc,CAACe,MADoB;AAE3Cb,IAAAA,IAAI,EAAEF,cAAc,CAACE,IAFsB;AAG3CK,IAAAA,OAAO,EAAEP,cAAc,CAACO,OAHmB;AAI3CS,IAAAA,QAAQ,EAAEhB,cAAc,CAACgB;AAJkB,GAAd,EAK9BhB,cAAc,CAACW,OALe,CAArB,CAAL,CAMFM,IANE,CAMIpB,QAAD,IAAc;AACpBY,IAAAA,GAAG,GAAGZ,QAAQ,CAACY,GAAf;AACAD,IAAAA,MAAM,GAAGX,QAAQ,CAACW,MAAlB;;AACA,SAAK,MAAMU,WAAX,IAA0BrB,QAAQ,CAACU,OAAnC,EAA4C;AACxCA,MAAAA,OAAO,CAACW,WAAW,CAAC,CAAD,CAAZ,CAAP,GAA0BA,WAAW,CAAC,CAAD,CAArC;AACH;;AACD,QAAIV,MAAM,KAAK,GAAX,IAAkBA,MAAM,KAAK,GAAjC,EAAsC;AAClC;AACH,KARmB;;;AAUpB,QAAIR,cAAc,CAACe,MAAf,KAA0B,MAA9B,EAAsC;AAClC,UAAIP,MAAM,GAAG,GAAb,EAAkB;AACd;AACH;;AACD,YAAM,IAAIW,yBAAJ,CAAiBtB,QAAQ,CAACuB,UAA1B,EAAsCZ,MAAtC,EAA8C;AAChDD,QAAAA,OADgD;AAEhDI,QAAAA,OAAO,EAAEX;AAFuC,OAA9C,CAAN;AAIH;;AACD,QAAIQ,MAAM,KAAK,GAAf,EAAoB;AAChB,YAAM,IAAIW,yBAAJ,CAAiB,cAAjB,EAAiCX,MAAjC,EAAyC;AAC3CD,QAAAA,OAD2C;AAE3CI,QAAAA,OAAO,EAAEX;AAFkC,OAAzC,CAAN;AAIH;;AACD,QAAIQ,MAAM,IAAI,GAAd,EAAmB;AACf,aAAOX,QAAQ,CACVwB,IADE,GAEFJ,IAFE,CAEIK,OAAD,IAAa;AACnB,cAAMC,KAAK,GAAG,IAAIJ,yBAAJ,CAAiBG,OAAjB,EAA0Bd,MAA1B,EAAkC;AAC5CD,UAAAA,OAD4C;AAE5CI,UAAAA,OAAO,EAAEX;AAFmC,SAAlC,CAAd;;AAIA,YAAI;AACA,cAAIwB,YAAY,GAAGnB,IAAI,CAACoB,KAAL,CAAWF,KAAK,CAACD,OAAjB,CAAnB;AACAT,UAAAA,MAAM,CAACC,MAAP,CAAcS,KAAd,EAAqBC,YAArB;AACA,cAAIE,MAAM,GAAGF,YAAY,CAACE,MAA1B,CAHA;;AAKAH,UAAAA,KAAK,CAACD,OAAN,GACIC,KAAK,CAACD,OAAN,GAAgB,IAAhB,GAAuBI,MAAM,CAACC,GAAP,CAAWtB,IAAI,CAACC,SAAhB,EAA2BsB,IAA3B,CAAgC,IAAhC,CAD3B;AAEH,SAPD,CAQA,OAAOC,CAAP,EAAU;AAET;;AACD,cAAMN,KAAN;AACH,OAnBM,CAAP;AAoBH;;AACD,UAAMO,WAAW,GAAGjC,QAAQ,CAACU,OAAT,CAAiBwB,GAAjB,CAAqB,cAArB,CAApB;;AACA,QAAI,oBAAoBC,IAApB,CAAyBF,WAAzB,CAAJ,EAA2C;AACvC,aAAOjC,QAAQ,CAACoC,IAAT,EAAP;AACH;;AACD,QAAI,CAACH,WAAD,IAAgB,yBAAyBE,IAAzB,CAA8BF,WAA9B,CAApB,EAAgE;AAC5D,aAAOjC,QAAQ,CAACwB,IAAT,EAAP;AACH;;AACD,WAAOa,iBAAS,CAACrC,QAAD,CAAhB;AACH,GA7DM,EA8DFoB,IA9DE,CA8DIkB,IAAD,IAAU;AAChB,WAAO;AACH3B,MAAAA,MADG;AAEHC,MAAAA,GAFG;AAGHF,MAAAA,OAHG;AAIH4B,MAAAA;AAJG,KAAP;AAMH,GArEM,EAsEFC,KAtEE,CAsEKb,KAAD,IAAW;AAClB,QAAIA,KAAK,YAAYJ,yBAArB,EAAmC;AAC/B,YAAMI,KAAN;AACH;;AACD,UAAM,IAAIJ,yBAAJ,CAAiBI,KAAK,CAACD,OAAvB,EAAgC,GAAhC,EAAqC;AACvCf,MAAAA,OADuC;AAEvCI,MAAAA,OAAO,EAAEX;AAF8B,KAArC,CAAN;AAIH,GA9EM,CAAP;AA+EH;;AC3Fc,SAASqC,YAAT,CAAsBC,WAAtB,EAAmCC,WAAnC,EAAgD;AAC3D,QAAMC,QAAQ,GAAGF,WAAW,CAACG,QAAZ,CAAqBF,WAArB,CAAjB;;AACA,QAAMG,MAAM,GAAG,UAAUC,KAAV,EAAiBC,UAAjB,EAA6B;AACxC,UAAMC,eAAe,GAAGL,QAAQ,CAACM,KAAT,CAAeH,KAAf,EAAsBC,UAAtB,CAAxB;;AACA,QAAI,CAACC,eAAe,CAAClC,OAAjB,IAA4B,CAACkC,eAAe,CAAClC,OAAhB,CAAwBoC,IAAzD,EAA+D;AAC3D,aAAOhD,YAAY,CAACyC,QAAQ,CAACf,KAAT,CAAeoB,eAAf,CAAD,CAAnB;AACH;;AACD,UAAMlC,OAAO,GAAG,CAACgC,KAAD,EAAQC,UAAR,KAAuB;AACnC,aAAO7C,YAAY,CAACyC,QAAQ,CAACf,KAAT,CAAee,QAAQ,CAACM,KAAT,CAAeH,KAAf,EAAsBC,UAAtB,CAAf,CAAD,CAAnB;AACH,KAFD;;AAGA/B,IAAAA,MAAM,CAACC,MAAP,CAAcH,OAAd,EAAuB;AACnB6B,MAAAA,QADmB;AAEnBC,MAAAA,QAAQ,EAAEJ,YAAY,CAACW,IAAb,CAAkB,IAAlB,EAAwBR,QAAxB;AAFS,KAAvB;AAIA,WAAOK,eAAe,CAAClC,OAAhB,CAAwBoC,IAAxB,CAA6BpC,OAA7B,EAAsCkC,eAAtC,CAAP;AACH,GAbD;;AAcA,SAAOhC,MAAM,CAACC,MAAP,CAAc4B,MAAd,EAAsB;AACzBF,IAAAA,QADyB;AAEzBC,IAAAA,QAAQ,EAAEJ,YAAY,CAACW,IAAb,CAAkB,IAAlB,EAAwBR,QAAxB;AAFe,GAAtB,CAAP;AAIH;;MCjBY7B,OAAO,GAAG0B,YAAY,CAACG,iBAAD,EAAW;AAC1CjC,EAAAA,OAAO,EAAE;AACL,kBAAe,sBAAqBZ,OAAQ,IAAGsD,+BAAY,EAAG;AADzD;AADiC,CAAX,CAA5B;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/request/dist-src/fetch-wrapper.js b/node_modules/@octokit/request/dist-src/fetch-wrapper.js new file mode 100644 index 0000000..e4ae1b0 --- /dev/null +++ b/node_modules/@octokit/request/dist-src/fetch-wrapper.js @@ -0,0 +1,93 @@ +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 requests + 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 { + let responseBody = JSON.parse(error.message); + Object.assign(error, responseBody); + let errors = responseBody.errors; + // Assumption `errors` would always be in Array format + error.message = + error.message + ": " + errors.map(JSON.stringify).join(", "); + } + 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, + }); + }); +} diff --git a/node_modules/@octokit/request/dist-src/get-buffer-response.js b/node_modules/@octokit/request/dist-src/get-buffer-response.js new file mode 100644 index 0000000..845a394 --- /dev/null +++ b/node_modules/@octokit/request/dist-src/get-buffer-response.js @@ -0,0 +1,3 @@ +export default function getBufferResponse(response) { + return response.arrayBuffer(); +} diff --git a/node_modules/@octokit/request/dist-src/index.js b/node_modules/@octokit/request/dist-src/index.js new file mode 100644 index 0000000..2460e99 --- /dev/null +++ b/node_modules/@octokit/request/dist-src/index.js @@ -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()}`, + }, +}); diff --git a/node_modules/@octokit/request/dist-src/version.js b/node_modules/@octokit/request/dist-src/version.js new file mode 100644 index 0000000..7644e77 --- /dev/null +++ b/node_modules/@octokit/request/dist-src/version.js @@ -0,0 +1 @@ +export const VERSION = "5.4.12"; diff --git a/node_modules/@octokit/request/dist-src/with-defaults.js b/node_modules/@octokit/request/dist-src/with-defaults.js new file mode 100644 index 0000000..e206429 --- /dev/null +++ b/node_modules/@octokit/request/dist-src/with-defaults.js @@ -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), + }); +} diff --git a/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts b/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts new file mode 100644 index 0000000..4901c79 --- /dev/null +++ b/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts @@ -0,0 +1,11 @@ +import { EndpointInterface } from "@octokit/types"; +export default function fetchWrapper(requestOptions: ReturnType & { + redirect?: "error" | "follow" | "manual"; +}): Promise<{ + status: number; + url: string; + headers: { + [header: string]: string; + }; + data: any; +}>; diff --git a/node_modules/@octokit/request/dist-types/get-buffer-response.d.ts b/node_modules/@octokit/request/dist-types/get-buffer-response.d.ts new file mode 100644 index 0000000..915b705 --- /dev/null +++ b/node_modules/@octokit/request/dist-types/get-buffer-response.d.ts @@ -0,0 +1,2 @@ +import { Response } from "node-fetch"; +export default function getBufferResponse(response: Response): Promise; diff --git a/node_modules/@octokit/request/dist-types/index.d.ts b/node_modules/@octokit/request/dist-types/index.d.ts new file mode 100644 index 0000000..1030809 --- /dev/null +++ b/node_modules/@octokit/request/dist-types/index.d.ts @@ -0,0 +1 @@ +export declare const request: import("@octokit/types").RequestInterface; diff --git a/node_modules/@octokit/request/dist-types/version.d.ts b/node_modules/@octokit/request/dist-types/version.d.ts new file mode 100644 index 0000000..0e4434f --- /dev/null +++ b/node_modules/@octokit/request/dist-types/version.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "5.4.12"; diff --git a/node_modules/@octokit/request/dist-types/with-defaults.d.ts b/node_modules/@octokit/request/dist-types/with-defaults.d.ts new file mode 100644 index 0000000..0080469 --- /dev/null +++ b/node_modules/@octokit/request/dist-types/with-defaults.d.ts @@ -0,0 +1,2 @@ +import { EndpointInterface, RequestInterface, RequestParameters } from "@octokit/types"; +export default function withDefaults(oldEndpoint: EndpointInterface, newDefaults: RequestParameters): RequestInterface; diff --git a/node_modules/@octokit/request/dist-web/index.js b/node_modules/@octokit/request/dist-web/index.js new file mode 100644 index 0000000..46c8625 --- /dev/null +++ b/node_modules/@octokit/request/dist-web/index.js @@ -0,0 +1,132 @@ +import { endpoint } from '@octokit/endpoint'; +import { getUserAgent } from 'universal-user-agent'; +import { isPlainObject } from 'is-plain-object'; +import nodeFetch from 'node-fetch'; +import { RequestError } from '@octokit/request-error'; + +const VERSION = "5.4.12"; + +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 requests + 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 { + let responseBody = JSON.parse(error.message); + Object.assign(error, responseBody); + let errors = responseBody.errors; + // Assumption `errors` would always be in Array format + error.message = + error.message + ": " + errors.map(JSON.stringify).join(", "); + } + 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) { + throw error; + } + throw new 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, { + headers: { + "user-agent": `octokit-request.js/${VERSION} ${getUserAgent()}`, + }, +}); + +export { request }; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/request/dist-web/index.js.map b/node_modules/@octokit/request/dist-web/index.js.map new file mode 100644 index 0000000..0bddd0d --- /dev/null +++ b/node_modules/@octokit/request/dist-web/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/get-buffer-response.js","../dist-src/fetch-wrapper.js","../dist-src/with-defaults.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"5.4.12\";\n","export default function getBufferResponse(response) {\n return response.arrayBuffer();\n}\n","import { isPlainObject } from \"is-plain-object\";\nimport nodeFetch from \"node-fetch\";\nimport { RequestError } from \"@octokit/request-error\";\nimport getBuffer from \"./get-buffer-response\";\nexport default function fetchWrapper(requestOptions) {\n if (isPlainObject(requestOptions.body) ||\n Array.isArray(requestOptions.body)) {\n requestOptions.body = JSON.stringify(requestOptions.body);\n }\n let headers = {};\n let status;\n let url;\n const fetch = (requestOptions.request && requestOptions.request.fetch) || nodeFetch;\n return fetch(requestOptions.url, Object.assign({\n method: requestOptions.method,\n body: requestOptions.body,\n headers: requestOptions.headers,\n redirect: requestOptions.redirect,\n }, requestOptions.request))\n .then((response) => {\n url = response.url;\n status = response.status;\n for (const keyAndValue of response.headers) {\n headers[keyAndValue[0]] = keyAndValue[1];\n }\n if (status === 204 || status === 205) {\n return;\n }\n // GitHub API returns 200 for HEAD requests\n if (requestOptions.method === \"HEAD\") {\n if (status < 400) {\n return;\n }\n throw new RequestError(response.statusText, status, {\n headers,\n request: requestOptions,\n });\n }\n if (status === 304) {\n throw new RequestError(\"Not modified\", status, {\n headers,\n request: requestOptions,\n });\n }\n if (status >= 400) {\n return response\n .text()\n .then((message) => {\n const error = new RequestError(message, status, {\n headers,\n request: requestOptions,\n });\n try {\n let responseBody = JSON.parse(error.message);\n Object.assign(error, responseBody);\n let errors = responseBody.errors;\n // Assumption `errors` would always be in Array format\n error.message =\n error.message + \": \" + errors.map(JSON.stringify).join(\", \");\n }\n catch (e) {\n // ignore, see octokit/rest.js#684\n }\n throw error;\n });\n }\n const contentType = response.headers.get(\"content-type\");\n if (/application\\/json/.test(contentType)) {\n return response.json();\n }\n if (!contentType || /^text\\/|charset=utf-8$/.test(contentType)) {\n return response.text();\n }\n return getBuffer(response);\n })\n .then((data) => {\n return {\n status,\n url,\n headers,\n data,\n };\n })\n .catch((error) => {\n if (error instanceof RequestError) {\n throw error;\n }\n throw new RequestError(error.message, 500, {\n headers,\n request: requestOptions,\n });\n });\n}\n","import fetchWrapper from \"./fetch-wrapper\";\nexport default function withDefaults(oldEndpoint, newDefaults) {\n const endpoint = oldEndpoint.defaults(newDefaults);\n const newApi = function (route, parameters) {\n const endpointOptions = endpoint.merge(route, parameters);\n if (!endpointOptions.request || !endpointOptions.request.hook) {\n return fetchWrapper(endpoint.parse(endpointOptions));\n }\n const request = (route, parameters) => {\n return fetchWrapper(endpoint.parse(endpoint.merge(route, parameters)));\n };\n Object.assign(request, {\n endpoint,\n defaults: withDefaults.bind(null, endpoint),\n });\n return endpointOptions.request.hook(request, endpointOptions);\n };\n return Object.assign(newApi, {\n endpoint,\n defaults: withDefaults.bind(null, endpoint),\n });\n}\n","import { endpoint } from \"@octokit/endpoint\";\nimport { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nimport withDefaults from \"./with-defaults\";\nexport const request = withDefaults(endpoint, {\n headers: {\n \"user-agent\": `octokit-request.js/${VERSION} ${getUserAgent()}`,\n },\n});\n"],"names":["getBuffer"],"mappings":";;;;;;AAAO,MAAM,OAAO,GAAG,mBAAmB;;ACA3B,SAAS,iBAAiB,CAAC,QAAQ,EAAE;AACpD,IAAI,OAAO,QAAQ,CAAC,WAAW,EAAE,CAAC;AAClC,CAAC;;ACEc,SAAS,YAAY,CAAC,cAAc,EAAE;AACrD,IAAI,IAAI,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC;AAC1C,QAAQ,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;AAC5C,QAAQ,cAAc,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;AAClE,KAAK;AACL,IAAI,IAAI,OAAO,GAAG,EAAE,CAAC;AACrB,IAAI,IAAI,MAAM,CAAC;AACf,IAAI,IAAI,GAAG,CAAC;AACZ,IAAI,MAAM,KAAK,GAAG,CAAC,cAAc,CAAC,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC;AACxF,IAAI,OAAO,KAAK,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC;AACnD,QAAQ,MAAM,EAAE,cAAc,CAAC,MAAM;AACrC,QAAQ,IAAI,EAAE,cAAc,CAAC,IAAI;AACjC,QAAQ,OAAO,EAAE,cAAc,CAAC,OAAO;AACvC,QAAQ,QAAQ,EAAE,cAAc,CAAC,QAAQ;AACzC,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;AAC/B,SAAS,IAAI,CAAC,CAAC,QAAQ,KAAK;AAC5B,QAAQ,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC;AAC3B,QAAQ,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;AACjC,QAAQ,KAAK,MAAM,WAAW,IAAI,QAAQ,CAAC,OAAO,EAAE;AACpD,YAAY,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;AACrD,SAAS;AACT,QAAQ,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;AAC9C,YAAY,OAAO;AACnB,SAAS;AACT;AACA,QAAQ,IAAI,cAAc,CAAC,MAAM,KAAK,MAAM,EAAE;AAC9C,YAAY,IAAI,MAAM,GAAG,GAAG,EAAE;AAC9B,gBAAgB,OAAO;AACvB,aAAa;AACb,YAAY,MAAM,IAAI,YAAY,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE;AAChE,gBAAgB,OAAO;AACvB,gBAAgB,OAAO,EAAE,cAAc;AACvC,aAAa,CAAC,CAAC;AACf,SAAS;AACT,QAAQ,IAAI,MAAM,KAAK,GAAG,EAAE;AAC5B,YAAY,MAAM,IAAI,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE;AAC3D,gBAAgB,OAAO;AACvB,gBAAgB,OAAO,EAAE,cAAc;AACvC,aAAa,CAAC,CAAC;AACf,SAAS;AACT,QAAQ,IAAI,MAAM,IAAI,GAAG,EAAE;AAC3B,YAAY,OAAO,QAAQ;AAC3B,iBAAiB,IAAI,EAAE;AACvB,iBAAiB,IAAI,CAAC,CAAC,OAAO,KAAK;AACnC,gBAAgB,MAAM,KAAK,GAAG,IAAI,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE;AAChE,oBAAoB,OAAO;AAC3B,oBAAoB,OAAO,EAAE,cAAc;AAC3C,iBAAiB,CAAC,CAAC;AACnB,gBAAgB,IAAI;AACpB,oBAAoB,IAAI,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AACjE,oBAAoB,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;AACvD,oBAAoB,IAAI,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;AACrD;AACA,oBAAoB,KAAK,CAAC,OAAO;AACjC,wBAAwB,KAAK,CAAC,OAAO,GAAG,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrF,iBAAiB;AACjB,gBAAgB,OAAO,CAAC,EAAE;AAC1B;AACA,iBAAiB;AACjB,gBAAgB,MAAM,KAAK,CAAC;AAC5B,aAAa,CAAC,CAAC;AACf,SAAS;AACT,QAAQ,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AACjE,QAAQ,IAAI,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;AACnD,YAAY,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;AACnC,SAAS;AACT,QAAQ,IAAI,CAAC,WAAW,IAAI,wBAAwB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;AACxE,YAAY,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;AACnC,SAAS;AACT,QAAQ,OAAOA,iBAAS,CAAC,QAAQ,CAAC,CAAC;AACnC,KAAK,CAAC;AACN,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK;AACxB,QAAQ,OAAO;AACf,YAAY,MAAM;AAClB,YAAY,GAAG;AACf,YAAY,OAAO;AACnB,YAAY,IAAI;AAChB,SAAS,CAAC;AACV,KAAK,CAAC;AACN,SAAS,KAAK,CAAC,CAAC,KAAK,KAAK;AAC1B,QAAQ,IAAI,KAAK,YAAY,YAAY,EAAE;AAC3C,YAAY,MAAM,KAAK,CAAC;AACxB,SAAS;AACT,QAAQ,MAAM,IAAI,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE;AACnD,YAAY,OAAO;AACnB,YAAY,OAAO,EAAE,cAAc;AACnC,SAAS,CAAC,CAAC;AACX,KAAK,CAAC,CAAC;AACP,CAAC;;AC3Fc,SAAS,YAAY,CAAC,WAAW,EAAE,WAAW,EAAE;AAC/D,IAAI,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AACvD,IAAI,MAAM,MAAM,GAAG,UAAU,KAAK,EAAE,UAAU,EAAE;AAChD,QAAQ,MAAM,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AAClE,QAAQ,IAAI,CAAC,eAAe,CAAC,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE;AACvE,YAAY,OAAO,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;AACjE,SAAS;AACT,QAAQ,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,UAAU,KAAK;AAC/C,YAAY,OAAO,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;AACnF,SAAS,CAAC;AACV,QAAQ,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE;AAC/B,YAAY,QAAQ;AACpB,YAAY,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;AACvD,SAAS,CAAC,CAAC;AACX,QAAQ,OAAO,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;AACtE,KAAK,CAAC;AACN,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;AACjC,QAAQ,QAAQ;AAChB,QAAQ,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;AACnD,KAAK,CAAC,CAAC;AACP,CAAC;;ACjBW,MAAC,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE;AAC9C,IAAI,OAAO,EAAE;AACb,QAAQ,YAAY,EAAE,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;AACvE,KAAK;AACL,CAAC,CAAC;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/request/package.json b/node_modules/@octokit/request/package.json new file mode 100644 index 0000000..d1f2790 --- /dev/null +++ b/node_modules/@octokit/request/package.json @@ -0,0 +1,94 @@ +{ + "_args": [ + [ + "@octokit/request@5.4.12", + "/Users/1112456/github/jenkins-action" + ] + ], + "_from": "@octokit/request@5.4.12", + "_id": "@octokit/request@5.4.12", + "_inBundle": false, + "_integrity": "sha512-MvWYdxengUWTGFpfpefBBpVmmEYfkwMoxonIB3sUGp5rhdgwjXL1ejo6JbgzG/QD9B/NYt/9cJX1pxXeSIUCkg==", + "_location": "/@octokit/request", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "@octokit/request@5.4.12", + "name": "@octokit/request", + "escapedName": "@octokit%2frequest", + "scope": "@octokit", + "rawSpec": "5.4.12", + "saveSpec": null, + "fetchSpec": "5.4.12" + }, + "_requiredBy": [ + "/@octokit/graphql", + "/@octokit/rest" + ], + "_resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.4.12.tgz", + "_spec": "5.4.12", + "_where": "/Users/1112456/github/jenkins-action", + "bugs": { + "url": "https://github.com/octokit/request.js/issues" + }, + "dependencies": { + "@octokit/endpoint": "^6.0.1", + "@octokit/request-error": "^2.0.0", + "@octokit/types": "^6.0.3", + "deprecation": "^2.0.0", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.1", + "once": "^1.4.0", + "universal-user-agent": "^6.0.0" + }, + "description": "Send parameterized requests to GitHub’s APIs with sensible defaults in browsers and Node", + "devDependencies": { + "@octokit/auth-app": "^2.1.2", + "@pika/pack": "^0.5.0", + "@pika/plugin-build-node": "^0.9.0", + "@pika/plugin-build-web": "^0.9.0", + "@pika/plugin-ts-standard-pkg": "^0.9.0", + "@types/fetch-mock": "^7.2.4", + "@types/jest": "^26.0.0", + "@types/lolex": "^5.1.0", + "@types/node": "^14.0.0", + "@types/node-fetch": "^2.3.3", + "@types/once": "^1.4.0", + "fetch-mock": "^9.3.1", + "jest": "^26.0.1", + "lolex": "^6.0.0", + "prettier": "^2.0.1", + "semantic-release": "^17.0.0", + "semantic-release-plugin-update-version-in-files": "^1.0.0", + "ts-jest": "^26.1.0", + "typescript": "^4.0.2" + }, + "files": [ + "dist-*/", + "bin/" + ], + "homepage": "https://github.com/octokit/request.js#readme", + "keywords": [ + "octokit", + "github", + "api", + "request" + ], + "license": "MIT", + "main": "dist-node/index.js", + "module": "dist-web/index.js", + "name": "@octokit/request", + "pika": true, + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/octokit/request.js.git" + }, + "sideEffects": false, + "source": "dist-src/index.js", + "types": "dist-types/index.d.ts", + "version": "5.4.12" +} diff --git a/node_modules/@octokit/rest/LICENSE b/node_modules/@octokit/rest/LICENSE new file mode 100644 index 0000000..4c0d268 --- /dev/null +++ b/node_modules/@octokit/rest/LICENSE @@ -0,0 +1,22 @@ +The MIT License + +Copyright (c) 2012 Cloud9 IDE, Inc. (Mike de Boer) +Copyright (c) 2017-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. diff --git a/node_modules/@octokit/rest/README.md b/node_modules/@octokit/rest/README.md new file mode 100644 index 0000000..2dd4397 --- /dev/null +++ b/node_modules/@octokit/rest/README.md @@ -0,0 +1,46 @@ +# rest.js + +> GitHub REST API client for JavaScript + +[![@latest](https://img.shields.io/npm/v/@octokit/rest.svg)](https://www.npmjs.com/package/@octokit/rest) +![Build Status](https://github.com/octokit/rest.js/workflows/Test/badge.svg) +[![Greenkeeper](https://badges.greenkeeper.io/octokit/rest.js.svg)](https://greenkeeper.io/) + +## Installation + +```shell +npm install @octokit/rest +``` + +## Usage + +```js +const { Octokit } = require("@octokit/rest"); +const octokit = new Octokit(); + +// Compare: https://developer.github.com/v3/repos/#list-organization-repositories +octokit.repos + .listForOrg({ + org: "octokit", + type: "public" + }) + .then(({ data }) => { + // handle data + }); +``` + +See https://octokit.github.io/rest.js/ for full documentation. + +## Contributing + +We would love you to contribute to `@octokit/rest`, pull requests are very welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for more information. + +## Credits + +`@octokit/rest` was originally created as [`node-github`](https://www.npmjs.com/package/github) in 2012 by Mike de Boer from Cloud9 IDE, Inc. + +It was adopted and renamed by GitHub in 2017 + +## LICENSE + +[MIT](LICENSE) diff --git a/node_modules/@octokit/rest/index.d.ts b/node_modules/@octokit/rest/index.d.ts new file mode 100644 index 0000000..d578583 --- /dev/null +++ b/node_modules/@octokit/rest/index.d.ts @@ -0,0 +1,42072 @@ +/** + * This file is generated based on https://github.com/octokit/routes/ & "npm run build:ts". + * + * DO NOT EDIT MANUALLY. + */ + +/** + * This declaration file requires TypeScript 3.1 or above. + */ + +/// + +import * as http from "http"; + +declare namespace Octokit { + type json = any; + type date = string; + + export interface Static { + plugin(plugin: Plugin): Static; + new (options?: Octokit.Options): Octokit; + } + + export interface Response { + /** This is the data you would see in https://developer.github.com/v3/ */ + data: T; + + /** Response status number */ + status: number; + + /** Response headers */ + headers: { + date: string; + "x-ratelimit-limit": string; + "x-ratelimit-remaining": string; + "x-ratelimit-reset": string; + "x-Octokit-request-id": string; + "x-Octokit-media-type": string; + link: string; + "last-modified": string; + etag: string; + status: string; + }; + + [Symbol.iterator](): Iterator; + } + + export type AnyResponse = Response; + + export interface EmptyParams {} + + export interface Options { + authStrategy?: any; + auth?: + | string + | { username: string; password: string; on2fa: () => Promise } + | { clientId: string; clientSecret: string } + | { (): string | Promise } + | any; + userAgent?: string; + previews?: string[]; + baseUrl?: string; + log?: { + debug?: (message: string, info?: object) => void; + info?: (message: string, info?: object) => void; + warn?: (message: string, info?: object) => void; + error?: (message: string, info?: object) => void; + }; + request?: { + agent?: http.Agent; + timeout?: number; + }; + /** + * @deprecated Use {request: {timeout}} instead. See https://github.com/octokit/request.js#request + */ + timeout?: number; + /** + * @deprecated Use {userAgent, previews} instead. See https://github.com/octokit/request.js#request + */ + headers?: { [header: string]: any }; + /** + * @deprecated Use {request: {agent}} instead. See https://github.com/octokit/request.js#request + */ + agent?: http.Agent; + [option: string]: any; + } + + export type RequestMethod = + | "DELETE" + | "GET" + | "HEAD" + | "PATCH" + | "POST" + | "PUT"; + + export interface EndpointOptions { + baseUrl?: string; + method?: RequestMethod; + url?: string; + headers?: { [header: string]: any }; + data?: any; + request?: { [option: string]: any }; + [parameter: string]: any; + } + + export interface RequestOptions { + method?: RequestMethod; + url?: string; + headers?: RequestHeaders; + body?: any; + request?: OctokitRequestOptions; + /** + * 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[]; + }; + } + + export type RequestHeaders = { + /** + * 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 type OctokitRequestOptions = { + /** + * Node only. Useful for custom proxy, certificate, or dns lookup. + */ + agent?: http.Agent; + /** + * Custom replacement for built-in fetch method. Useful for testing or request hooks. + */ + fetch?: any; + /** + * Use an `AbortController` instance to cancel a request. In node you can only cancel streamed requests. + */ + signal?: any; + /** + * Node only. Request/response timeout in ms, it resets on redirect. 0 to disable (OS limit applies). `options.request.signal` is recommended instead. + */ + timeout?: number; + + [option: string]: any; + }; + + export interface Log { + debug: (message: string, additionalInfo?: object) => void; + info: (message: string, additionalInfo?: object) => void; + warn: (message: string, additionalInfo?: object) => void; + error: (message: string, additionalInfo?: object) => void; + } + + export interface Endpoint { + ( + Route: string, + EndpointOptions?: Octokit.EndpointOptions + ): Octokit.RequestOptions; + (EndpointOptions: Octokit.EndpointOptions): Octokit.RequestOptions; + /** + * Current default options + */ + DEFAULTS: Octokit.EndpointOptions; + /** + * Get the defaulted endpoint options, but without parsing them into request options: + */ + merge( + Route: string, + EndpointOptions?: Octokit.EndpointOptions + ): Octokit.RequestOptions; + merge(EndpointOptions: Octokit.EndpointOptions): Octokit.RequestOptions; + /** + * Stateless method to turn endpoint options into request options. Calling endpoint(options) is the same as calling endpoint.parse(endpoint.merge(options)). + */ + parse(EndpointOptions: Octokit.EndpointOptions): Octokit.RequestOptions; + /** + * Merges existing defaults with passed options and returns new endpoint() method with new defaults + */ + defaults(EndpointOptions: Octokit.EndpointOptions): Octokit.Endpoint; + } + + export interface Request { + (Route: string, EndpointOptions?: Octokit.EndpointOptions): Promise< + Octokit.AnyResponse + >; + (EndpointOptions: Octokit.EndpointOptions): Promise; + endpoint: Octokit.Endpoint; + } + + export interface AuthBasic { + type: "basic"; + username: string; + password: string; + } + + export interface AuthOAuthToken { + type: "oauth"; + token: string; + } + + export interface AuthOAuthSecret { + type: "oauth"; + key: string; + secret: string; + } + + export interface AuthUserToken { + type: "token"; + token: string; + } + + export interface AuthJWT { + type: "app"; + token: string; + } + + export type Link = { link: string } | { headers: { link: string } } | string; + + export interface Callback { + (error: Error | null, result: T): any; + } + + export type Plugin = (octokit: Octokit, options: Octokit.Options) => void; + + // See https://github.com/octokit/request.js#request + export type HookOptions = { + baseUrl: string; + headers: { [header: string]: string }; + method: string; + url: string; + data: any; + // See https://github.com/bitinn/node-fetch#options + request: { + follow?: number; + timeout?: number; + compress?: boolean; + size?: number; + agent?: string | null; + }; + [index: string]: any; + }; + + export type HookError = Error & { + status: number; + headers: { [header: string]: string }; + documentation_url?: string; + errors?: [ + { + resource: string; + field: string; + code: string; + } + ]; + }; + + export interface Paginate { + ( + Route: string, + EndpointOptions?: Octokit.EndpointOptions, + callback?: (response: Octokit.AnyResponse, done: () => void) => any + ): Promise; + ( + EndpointOptions: Octokit.EndpointOptions, + callback?: (response: Octokit.AnyResponse, done: () => void) => any + ): Promise; + iterator: ( + EndpointOptions: Octokit.EndpointOptions + ) => AsyncIterableIterator; + } + + // response types + type UsersUpdateAuthenticatedResponsePlan = { + collaborators: number; + name: string; + private_repos: number; + space: number; + }; + type UsersUpdateAuthenticatedResponse = { + avatar_url: string; + bio: string; + blog: string; + collaborators: number; + company: string; + created_at: string; + disk_usage: number; + email: string; + events_url: string; + followers: number; + followers_url: string; + following: number; + following_url: string; + gists_url: string; + gravatar_id: string; + hireable: boolean; + html_url: string; + id: number; + location: string; + login: string; + name: string; + node_id: string; + organizations_url: string; + owned_private_repos: number; + plan: UsersUpdateAuthenticatedResponsePlan; + private_gists: number; + public_gists: number; + public_repos: number; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + total_private_repos: number; + two_factor_authentication: boolean; + type: string; + updated_at: string; + url: string; + }; + type UsersTogglePrimaryEmailVisibilityResponseItem = { + email: string; + primary: boolean; + verified: boolean; + visibility: string; + }; + type UsersListPublicKeysForUserResponseItem = { id: number; key: string }; + type UsersListPublicKeysResponseItem = { key: string; key_id: string }; + type UsersListPublicEmailsResponseItem = { + email: string; + primary: boolean; + verified: boolean; + visibility: string; + }; + type UsersListGpgKeysForUserResponseItemSubkeysItem = { + can_certify: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_sign: boolean; + created_at: string; + emails: Array; + expires_at: null; + id: number; + key_id: string; + primary_key_id: number; + public_key: string; + subkeys: Array; + }; + type UsersListGpgKeysForUserResponseItemEmailsItem = { + email: string; + verified: boolean; + }; + type UsersListGpgKeysForUserResponseItem = { + can_certify: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_sign: boolean; + created_at: string; + emails: Array; + expires_at: null; + id: number; + key_id: string; + primary_key_id: null; + public_key: string; + subkeys: Array; + }; + type UsersListGpgKeysResponseItemSubkeysItem = { + can_certify: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_sign: boolean; + created_at: string; + emails: Array; + expires_at: null; + id: number; + key_id: string; + primary_key_id: number; + public_key: string; + subkeys: Array; + }; + type UsersListGpgKeysResponseItemEmailsItem = { + email: string; + verified: boolean; + }; + type UsersListGpgKeysResponseItem = { + can_certify: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_sign: boolean; + created_at: string; + emails: Array; + expires_at: null; + id: number; + key_id: string; + primary_key_id: null; + public_key: string; + subkeys: Array; + }; + type UsersListFollowingForUserResponseItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type UsersListFollowingForAuthenticatedUserResponseItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type UsersListFollowersForUserResponseItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type UsersListFollowersForAuthenticatedUserResponseItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type UsersListEmailsResponseItem = { + email: string; + primary: boolean; + verified: boolean; + visibility: string; + }; + type UsersListBlockedResponseItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type UsersListResponseItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type UsersGetPublicKeyResponse = { key: string; key_id: string }; + type UsersGetGpgKeyResponseSubkeysItem = { + can_certify: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_sign: boolean; + created_at: string; + emails: Array; + expires_at: null; + id: number; + key_id: string; + primary_key_id: number; + public_key: string; + subkeys: Array; + }; + type UsersGetGpgKeyResponseEmailsItem = { email: string; verified: boolean }; + type UsersGetGpgKeyResponse = { + can_certify: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_sign: boolean; + created_at: string; + emails: Array; + expires_at: null; + id: number; + key_id: string; + primary_key_id: null; + public_key: string; + subkeys: Array; + }; + type UsersGetContextForUserResponseContextsItem = { + message: string; + octicon: string; + }; + type UsersGetContextForUserResponse = { + contexts: Array; + }; + type UsersGetByUsernameResponsePlan = { + collaborators: number; + name: string; + private_repos: number; + space: number; + }; + type UsersGetByUsernameResponse = { + avatar_url: string; + bio: string; + blog: string; + company: string; + created_at: string; + email: string; + events_url: string; + followers: number; + followers_url: string; + following: number; + following_url: string; + gists_url: string; + gravatar_id: string; + hireable: boolean; + html_url: string; + id: number; + location: string; + login: string; + name: string; + node_id: string; + organizations_url: string; + public_gists: number; + public_repos: number; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + updated_at: string; + url: string; + plan?: UsersGetByUsernameResponsePlan; + }; + type UsersGetAuthenticatedResponsePlan = { + collaborators: number; + name: string; + private_repos: number; + space: number; + }; + type UsersGetAuthenticatedResponse = { + avatar_url: string; + bio: string; + blog: string; + collaborators?: number; + company: string; + created_at: string; + disk_usage?: number; + email: string; + events_url: string; + followers: number; + followers_url: string; + following: number; + following_url: string; + gists_url: string; + gravatar_id: string; + hireable: boolean; + html_url: string; + id: number; + location: string; + login: string; + name: string; + node_id: string; + organizations_url: string; + owned_private_repos?: number; + plan?: UsersGetAuthenticatedResponsePlan; + private_gists?: number; + public_gists: number; + public_repos: number; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + total_private_repos?: number; + two_factor_authentication?: boolean; + type: string; + updated_at: string; + url: string; + }; + type UsersCreatePublicKeyResponse = { key: string; key_id: string }; + type UsersCreateGpgKeyResponseSubkeysItem = { + can_certify: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_sign: boolean; + created_at: string; + emails: Array; + expires_at: null; + id: number; + key_id: string; + primary_key_id: number; + public_key: string; + subkeys: Array; + }; + type UsersCreateGpgKeyResponseEmailsItem = { + email: string; + verified: boolean; + }; + type UsersCreateGpgKeyResponse = { + can_certify: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_sign: boolean; + created_at: string; + emails: Array; + expires_at: null; + id: number; + key_id: string; + primary_key_id: null; + public_key: string; + subkeys: Array; + }; + type UsersAddEmailsResponseItem = { + email: string; + primary: boolean; + verified: boolean; + visibility: string | null; + }; + type TeamsUpdateLegacyResponseOrganization = { + avatar_url: string; + blog: string; + company: string; + created_at: string; + description: string; + email: string; + events_url: string; + followers: number; + following: number; + has_organization_projects: boolean; + has_repository_projects: boolean; + hooks_url: string; + html_url: string; + id: number; + is_verified: boolean; + issues_url: string; + location: string; + login: string; + members_url: string; + name: string; + node_id: string; + public_gists: number; + public_members_url: string; + public_repos: number; + repos_url: string; + type: string; + url: string; + }; + type TeamsUpdateLegacyResponse = { + created_at: string; + description: string; + html_url: string; + id: number; + members_count: number; + members_url: string; + name: string; + node_id: string; + organization: TeamsUpdateLegacyResponseOrganization; + parent: null; + permission: string; + privacy: string; + repos_count: number; + repositories_url: string; + slug: string; + updated_at: string; + url: string; + }; + type TeamsUpdateInOrgResponseOrganization = { + avatar_url: string; + blog: string; + company: string; + created_at: string; + description: string; + email: string; + events_url: string; + followers: number; + following: number; + has_organization_projects: boolean; + has_repository_projects: boolean; + hooks_url: string; + html_url: string; + id: number; + is_verified: boolean; + issues_url: string; + location: string; + login: string; + members_url: string; + name: string; + node_id: string; + public_gists: number; + public_members_url: string; + public_repos: number; + repos_url: string; + type: string; + url: string; + }; + type TeamsUpdateInOrgResponse = { + created_at: string; + description: string; + html_url: string; + id: number; + members_count: number; + members_url: string; + name: string; + node_id: string; + organization: TeamsUpdateInOrgResponseOrganization; + parent: null; + permission: string; + privacy: string; + repos_count: number; + repositories_url: string; + slug: string; + updated_at: string; + url: string; + }; + type TeamsUpdateDiscussionLegacyResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; + }; + type TeamsUpdateDiscussionLegacyResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type TeamsUpdateDiscussionLegacyResponse = { + author: TeamsUpdateDiscussionLegacyResponseAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + html_url: string; + last_edited_at: string; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + reactions: TeamsUpdateDiscussionLegacyResponseReactions; + team_url: string; + title: string; + updated_at: string; + url: string; + }; + type TeamsUpdateDiscussionInOrgResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; + }; + type TeamsUpdateDiscussionInOrgResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type TeamsUpdateDiscussionInOrgResponse = { + author: TeamsUpdateDiscussionInOrgResponseAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + html_url: string; + last_edited_at: string; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + reactions: TeamsUpdateDiscussionInOrgResponseReactions; + team_url: string; + title: string; + updated_at: string; + url: string; + }; + type TeamsUpdateDiscussionCommentLegacyResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; + }; + type TeamsUpdateDiscussionCommentLegacyResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type TeamsUpdateDiscussionCommentLegacyResponse = { + author: TeamsUpdateDiscussionCommentLegacyResponseAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + discussion_url: string; + html_url: string; + last_edited_at: string; + node_id: string; + number: number; + reactions: TeamsUpdateDiscussionCommentLegacyResponseReactions; + updated_at: string; + url: string; + }; + type TeamsUpdateDiscussionCommentInOrgResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; + }; + type TeamsUpdateDiscussionCommentInOrgResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type TeamsUpdateDiscussionCommentInOrgResponse = { + author: TeamsUpdateDiscussionCommentInOrgResponseAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + discussion_url: string; + html_url: string; + last_edited_at: string; + node_id: string; + number: number; + reactions: TeamsUpdateDiscussionCommentInOrgResponseReactions; + updated_at: string; + url: string; + }; + type TeamsUpdateDiscussionCommentResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; + }; + type TeamsUpdateDiscussionCommentResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type TeamsUpdateDiscussionCommentResponse = { + author: TeamsUpdateDiscussionCommentResponseAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + discussion_url: string; + html_url: string; + last_edited_at: string; + node_id: string; + number: number; + reactions: TeamsUpdateDiscussionCommentResponseReactions; + updated_at: string; + url: string; + }; + type TeamsUpdateDiscussionResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; + }; + type TeamsUpdateDiscussionResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type TeamsUpdateDiscussionResponse = { + author: TeamsUpdateDiscussionResponseAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + html_url: string; + last_edited_at: string; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + reactions: TeamsUpdateDiscussionResponseReactions; + team_url: string; + title: string; + updated_at: string; + url: string; + }; + type TeamsUpdateResponseOrganization = { + avatar_url: string; + blog: string; + company: string; + created_at: string; + description: string; + email: string; + events_url: string; + followers: number; + following: number; + has_organization_projects: boolean; + has_repository_projects: boolean; + hooks_url: string; + html_url: string; + id: number; + is_verified: boolean; + issues_url: string; + location: string; + login: string; + members_url: string; + name: string; + node_id: string; + public_gists: number; + public_members_url: string; + public_repos: number; + repos_url: string; + type: string; + url: string; + }; + type TeamsUpdateResponse = { + created_at: string; + description: string; + html_url: string; + id: number; + members_count: number; + members_url: string; + name: string; + node_id: string; + organization: TeamsUpdateResponseOrganization; + parent: null; + permission: string; + privacy: string; + repos_count: number; + repositories_url: string; + slug: string; + updated_at: string; + url: string; + }; + type TeamsReviewProjectLegacyResponsePermissions = { + admin: boolean; + read: boolean; + write: boolean; + }; + type TeamsReviewProjectLegacyResponseCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type TeamsReviewProjectLegacyResponse = { + body: string; + columns_url: string; + created_at: string; + creator: TeamsReviewProjectLegacyResponseCreator; + html_url: string; + id: number; + name: string; + node_id: string; + number: number; + organization_permission: string; + owner_url: string; + permissions: TeamsReviewProjectLegacyResponsePermissions; + private: boolean; + state: string; + updated_at: string; + url: string; + }; + type TeamsReviewProjectInOrgResponsePermissions = { + admin: boolean; + read: boolean; + write: boolean; + }; + type TeamsReviewProjectInOrgResponseCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type TeamsReviewProjectInOrgResponse = { + body: string; + columns_url: string; + created_at: string; + creator: TeamsReviewProjectInOrgResponseCreator; + html_url: string; + id: number; + name: string; + node_id: string; + number: number; + organization_permission: string; + owner_url: string; + permissions: TeamsReviewProjectInOrgResponsePermissions; + private: boolean; + state: string; + updated_at: string; + url: string; + }; + type TeamsReviewProjectResponsePermissions = { + admin: boolean; + read: boolean; + write: boolean; + }; + type TeamsReviewProjectResponseCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type TeamsReviewProjectResponse = { + body: string; + columns_url: string; + created_at: string; + creator: TeamsReviewProjectResponseCreator; + html_url: string; + id: number; + name: string; + node_id: string; + number: number; + organization_permission: string; + owner_url: string; + permissions: TeamsReviewProjectResponsePermissions; + private: boolean; + state: string; + updated_at: string; + url: string; + }; + type TeamsListReposLegacyResponseItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type TeamsListReposLegacyResponseItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type TeamsListReposLegacyResponseItemLicense = { + key: string; + name: string; + node_id: string; + spdx_id: string; + url: string; + }; + type TeamsListReposLegacyResponseItem = { + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + license: TeamsListReposLegacyResponseItemLicense; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: TeamsListReposLegacyResponseItemOwner; + permissions: TeamsListReposLegacyResponseItemPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type TeamsListReposInOrgResponseItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type TeamsListReposInOrgResponseItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type TeamsListReposInOrgResponseItemLicense = { + key: string; + name: string; + node_id: string; + spdx_id: string; + url: string; + }; + type TeamsListReposInOrgResponseItem = { + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + license: TeamsListReposInOrgResponseItemLicense; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: TeamsListReposInOrgResponseItemOwner; + permissions: TeamsListReposInOrgResponseItemPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type TeamsListReposResponseItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type TeamsListReposResponseItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type TeamsListReposResponseItemLicense = { + key: string; + name: string; + node_id: string; + spdx_id: string; + url: string; + }; + type TeamsListReposResponseItem = { + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + license: TeamsListReposResponseItemLicense; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: TeamsListReposResponseItemOwner; + permissions: TeamsListReposResponseItemPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type TeamsListProjectsLegacyResponseItemPermissions = { + admin: boolean; + read: boolean; + write: boolean; + }; + type TeamsListProjectsLegacyResponseItemCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type TeamsListProjectsLegacyResponseItem = { + body: string; + columns_url: string; + created_at: string; + creator: TeamsListProjectsLegacyResponseItemCreator; + html_url: string; + id: number; + name: string; + node_id: string; + number: number; + organization_permission: string; + owner_url: string; + permissions: TeamsListProjectsLegacyResponseItemPermissions; + private: boolean; + state: string; + updated_at: string; + url: string; + }; + type TeamsListProjectsInOrgResponseItemPermissions = { + admin: boolean; + read: boolean; + write: boolean; + }; + type TeamsListProjectsInOrgResponseItemCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type TeamsListProjectsInOrgResponseItem = { + body: string; + columns_url: string; + created_at: string; + creator: TeamsListProjectsInOrgResponseItemCreator; + html_url: string; + id: number; + name: string; + node_id: string; + number: number; + organization_permission: string; + owner_url: string; + permissions: TeamsListProjectsInOrgResponseItemPermissions; + private: boolean; + state: string; + updated_at: string; + url: string; + }; + type TeamsListProjectsResponseItemPermissions = { + admin: boolean; + read: boolean; + write: boolean; + }; + type TeamsListProjectsResponseItemCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type TeamsListProjectsResponseItem = { + body: string; + columns_url: string; + created_at: string; + creator: TeamsListProjectsResponseItemCreator; + html_url: string; + id: number; + name: string; + node_id: string; + number: number; + organization_permission: string; + owner_url: string; + permissions: TeamsListProjectsResponseItemPermissions; + private: boolean; + state: string; + updated_at: string; + url: string; + }; + type TeamsListPendingInvitationsLegacyResponseItemInviter = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type TeamsListPendingInvitationsLegacyResponseItem = { + created_at: string; + email: string; + id: number; + invitation_team_url: string; + inviter: TeamsListPendingInvitationsLegacyResponseItemInviter; + login: string; + role: string; + team_count: number; + }; + type TeamsListPendingInvitationsInOrgResponseItemInviter = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type TeamsListPendingInvitationsInOrgResponseItem = { + created_at: string; + email: string; + id: number; + invitation_team_url: string; + inviter: TeamsListPendingInvitationsInOrgResponseItemInviter; + login: string; + role: string; + team_count: number; + }; + type TeamsListPendingInvitationsResponseItemInviter = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type TeamsListPendingInvitationsResponseItem = { + created_at: string; + email: string; + id: number; + invitation_team_url: string; + inviter: TeamsListPendingInvitationsResponseItemInviter; + login: string; + role: string; + team_count: number; + }; + type TeamsListMembersLegacyResponseItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type TeamsListMembersInOrgResponseItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type TeamsListMembersResponseItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type TeamsListForAuthenticatedUserResponseItemOrganization = { + avatar_url: string; + blog: string; + company: string; + created_at: string; + description: string; + email: string; + events_url: string; + followers: number; + following: number; + has_organization_projects: boolean; + has_repository_projects: boolean; + hooks_url: string; + html_url: string; + id: number; + is_verified: boolean; + issues_url: string; + location: string; + login: string; + members_url: string; + name: string; + node_id: string; + public_gists: number; + public_members_url: string; + public_repos: number; + repos_url: string; + type: string; + url: string; + }; + type TeamsListForAuthenticatedUserResponseItem = { + created_at: string; + description: string; + html_url: string; + id: number; + members_count: number; + members_url: string; + name: string; + node_id: string; + organization: TeamsListForAuthenticatedUserResponseItemOrganization; + parent: null; + permission: string; + privacy: string; + repos_count: number; + repositories_url: string; + slug: string; + updated_at: string; + url: string; + }; + type TeamsListDiscussionsLegacyResponseItemReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; + }; + type TeamsListDiscussionsLegacyResponseItemAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type TeamsListDiscussionsLegacyResponseItem = { + author: TeamsListDiscussionsLegacyResponseItemAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + html_url: string; + last_edited_at: null; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + reactions: TeamsListDiscussionsLegacyResponseItemReactions; + team_url: string; + title: string; + updated_at: string; + url: string; + }; + type TeamsListDiscussionsInOrgResponseItemReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; + }; + type TeamsListDiscussionsInOrgResponseItemAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type TeamsListDiscussionsInOrgResponseItem = { + author: TeamsListDiscussionsInOrgResponseItemAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + html_url: string; + last_edited_at: null; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + reactions: TeamsListDiscussionsInOrgResponseItemReactions; + team_url: string; + title: string; + updated_at: string; + url: string; + }; + type TeamsListDiscussionsResponseItemReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; + }; + type TeamsListDiscussionsResponseItemAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type TeamsListDiscussionsResponseItem = { + author: TeamsListDiscussionsResponseItemAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + html_url: string; + last_edited_at: null; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + reactions: TeamsListDiscussionsResponseItemReactions; + team_url: string; + title: string; + updated_at: string; + url: string; + }; + type TeamsListDiscussionCommentsLegacyResponseItemReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; + }; + type TeamsListDiscussionCommentsLegacyResponseItemAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type TeamsListDiscussionCommentsLegacyResponseItem = { + author: TeamsListDiscussionCommentsLegacyResponseItemAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + discussion_url: string; + html_url: string; + last_edited_at: null; + node_id: string; + number: number; + reactions: TeamsListDiscussionCommentsLegacyResponseItemReactions; + updated_at: string; + url: string; + }; + type TeamsListDiscussionCommentsInOrgResponseItemReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; + }; + type TeamsListDiscussionCommentsInOrgResponseItemAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type TeamsListDiscussionCommentsInOrgResponseItem = { + author: TeamsListDiscussionCommentsInOrgResponseItemAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + discussion_url: string; + html_url: string; + last_edited_at: null; + node_id: string; + number: number; + reactions: TeamsListDiscussionCommentsInOrgResponseItemReactions; + updated_at: string; + url: string; + }; + type TeamsListDiscussionCommentsResponseItemReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; + }; + type TeamsListDiscussionCommentsResponseItemAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type TeamsListDiscussionCommentsResponseItem = { + author: TeamsListDiscussionCommentsResponseItemAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + discussion_url: string; + html_url: string; + last_edited_at: null; + node_id: string; + number: number; + reactions: TeamsListDiscussionCommentsResponseItemReactions; + updated_at: string; + url: string; + }; + type TeamsListChildLegacyResponseItemParent = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type TeamsListChildLegacyResponseItem = { + description: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: TeamsListChildLegacyResponseItemParent; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type TeamsListChildInOrgResponseItemParent = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type TeamsListChildInOrgResponseItem = { + description: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: TeamsListChildInOrgResponseItemParent; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type TeamsListChildResponseItemParent = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type TeamsListChildResponseItem = { + description: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: TeamsListChildResponseItemParent; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type TeamsListResponseItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type TeamsGetMembershipLegacyResponse = { + role: string; + state: string; + url: string; + }; + type TeamsGetMembershipInOrgResponse = { + role: string; + state: string; + url: string; + }; + type TeamsGetMembershipResponse = { + role: string; + state: string; + url: string; + }; + type TeamsGetLegacyResponseOrganization = { + avatar_url: string; + blog: string; + company: string; + created_at: string; + description: string; + email: string; + events_url: string; + followers: number; + following: number; + has_organization_projects: boolean; + has_repository_projects: boolean; + hooks_url: string; + html_url: string; + id: number; + is_verified: boolean; + issues_url: string; + location: string; + login: string; + members_url: string; + name: string; + node_id: string; + public_gists: number; + public_members_url: string; + public_repos: number; + repos_url: string; + type: string; + url: string; + }; + type TeamsGetLegacyResponse = { + created_at: string; + description: string; + html_url: string; + id: number; + members_count: number; + members_url: string; + name: string; + node_id: string; + organization: TeamsGetLegacyResponseOrganization; + parent: null; + permission: string; + privacy: string; + repos_count: number; + repositories_url: string; + slug: string; + updated_at: string; + url: string; + }; + type TeamsGetDiscussionLegacyResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; + }; + type TeamsGetDiscussionLegacyResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type TeamsGetDiscussionLegacyResponse = { + author: TeamsGetDiscussionLegacyResponseAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + html_url: string; + last_edited_at: null; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + reactions: TeamsGetDiscussionLegacyResponseReactions; + team_url: string; + title: string; + updated_at: string; + url: string; + }; + type TeamsGetDiscussionInOrgResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; + }; + type TeamsGetDiscussionInOrgResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type TeamsGetDiscussionInOrgResponse = { + author: TeamsGetDiscussionInOrgResponseAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + html_url: string; + last_edited_at: null; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + reactions: TeamsGetDiscussionInOrgResponseReactions; + team_url: string; + title: string; + updated_at: string; + url: string; + }; + type TeamsGetDiscussionCommentLegacyResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; + }; + type TeamsGetDiscussionCommentLegacyResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type TeamsGetDiscussionCommentLegacyResponse = { + author: TeamsGetDiscussionCommentLegacyResponseAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + discussion_url: string; + html_url: string; + last_edited_at: null; + node_id: string; + number: number; + reactions: TeamsGetDiscussionCommentLegacyResponseReactions; + updated_at: string; + url: string; + }; + type TeamsGetDiscussionCommentInOrgResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; + }; + type TeamsGetDiscussionCommentInOrgResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type TeamsGetDiscussionCommentInOrgResponse = { + author: TeamsGetDiscussionCommentInOrgResponseAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + discussion_url: string; + html_url: string; + last_edited_at: null; + node_id: string; + number: number; + reactions: TeamsGetDiscussionCommentInOrgResponseReactions; + updated_at: string; + url: string; + }; + type TeamsGetDiscussionCommentResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; + }; + type TeamsGetDiscussionCommentResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type TeamsGetDiscussionCommentResponse = { + author: TeamsGetDiscussionCommentResponseAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + discussion_url: string; + html_url: string; + last_edited_at: null; + node_id: string; + number: number; + reactions: TeamsGetDiscussionCommentResponseReactions; + updated_at: string; + url: string; + }; + type TeamsGetDiscussionResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; + }; + type TeamsGetDiscussionResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type TeamsGetDiscussionResponse = { + author: TeamsGetDiscussionResponseAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + html_url: string; + last_edited_at: null; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + reactions: TeamsGetDiscussionResponseReactions; + team_url: string; + title: string; + updated_at: string; + url: string; + }; + type TeamsGetByNameResponseOrganization = { + avatar_url: string; + blog: string; + company: string; + created_at: string; + description: string; + email: string; + events_url: string; + followers: number; + following: number; + has_organization_projects: boolean; + has_repository_projects: boolean; + hooks_url: string; + html_url: string; + id: number; + is_verified: boolean; + issues_url: string; + location: string; + login: string; + members_url: string; + name: string; + node_id: string; + public_gists: number; + public_members_url: string; + public_repos: number; + repos_url: string; + type: string; + url: string; + }; + type TeamsGetByNameResponse = { + created_at: string; + description: string; + html_url: string; + id: number; + members_count: number; + members_url: string; + name: string; + node_id: string; + organization: TeamsGetByNameResponseOrganization; + parent: null; + permission: string; + privacy: string; + repos_count: number; + repositories_url: string; + slug: string; + updated_at: string; + url: string; + }; + type TeamsGetResponseOrganization = { + avatar_url: string; + blog: string; + company: string; + created_at: string; + description: string; + email: string; + events_url: string; + followers: number; + following: number; + has_organization_projects: boolean; + has_repository_projects: boolean; + hooks_url: string; + html_url: string; + id: number; + is_verified: boolean; + issues_url: string; + location: string; + login: string; + members_url: string; + name: string; + node_id: string; + public_gists: number; + public_members_url: string; + public_repos: number; + repos_url: string; + type: string; + url: string; + }; + type TeamsGetResponse = { + created_at: string; + description: string; + html_url: string; + id: number; + members_count: number; + members_url: string; + name: string; + node_id: string; + organization: TeamsGetResponseOrganization; + parent: null; + permission: string; + privacy: string; + repos_count: number; + repositories_url: string; + slug: string; + updated_at: string; + url: string; + }; + type TeamsCreateDiscussionLegacyResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; + }; + type TeamsCreateDiscussionLegacyResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type TeamsCreateDiscussionLegacyResponse = { + author: TeamsCreateDiscussionLegacyResponseAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + html_url: string; + last_edited_at: null; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + reactions: TeamsCreateDiscussionLegacyResponseReactions; + team_url: string; + title: string; + updated_at: string; + url: string; + }; + type TeamsCreateDiscussionInOrgResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; + }; + type TeamsCreateDiscussionInOrgResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type TeamsCreateDiscussionInOrgResponse = { + author: TeamsCreateDiscussionInOrgResponseAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + html_url: string; + last_edited_at: null; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + reactions: TeamsCreateDiscussionInOrgResponseReactions; + team_url: string; + title: string; + updated_at: string; + url: string; + }; + type TeamsCreateDiscussionCommentLegacyResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; + }; + type TeamsCreateDiscussionCommentLegacyResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type TeamsCreateDiscussionCommentLegacyResponse = { + author: TeamsCreateDiscussionCommentLegacyResponseAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + discussion_url: string; + html_url: string; + last_edited_at: null; + node_id: string; + number: number; + reactions: TeamsCreateDiscussionCommentLegacyResponseReactions; + updated_at: string; + url: string; + }; + type TeamsCreateDiscussionCommentInOrgResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; + }; + type TeamsCreateDiscussionCommentInOrgResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type TeamsCreateDiscussionCommentInOrgResponse = { + author: TeamsCreateDiscussionCommentInOrgResponseAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + discussion_url: string; + html_url: string; + last_edited_at: null; + node_id: string; + number: number; + reactions: TeamsCreateDiscussionCommentInOrgResponseReactions; + updated_at: string; + url: string; + }; + type TeamsCreateDiscussionCommentResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; + }; + type TeamsCreateDiscussionCommentResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type TeamsCreateDiscussionCommentResponse = { + author: TeamsCreateDiscussionCommentResponseAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + discussion_url: string; + html_url: string; + last_edited_at: null; + node_id: string; + number: number; + reactions: TeamsCreateDiscussionCommentResponseReactions; + updated_at: string; + url: string; + }; + type TeamsCreateDiscussionResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; + }; + type TeamsCreateDiscussionResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type TeamsCreateDiscussionResponse = { + author: TeamsCreateDiscussionResponseAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + html_url: string; + last_edited_at: null; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + reactions: TeamsCreateDiscussionResponseReactions; + team_url: string; + title: string; + updated_at: string; + url: string; + }; + type TeamsCreateResponseOrganization = { + avatar_url: string; + blog: string; + company: string; + created_at: string; + description: string; + email: string; + events_url: string; + followers: number; + following: number; + has_organization_projects: boolean; + has_repository_projects: boolean; + hooks_url: string; + html_url: string; + id: number; + is_verified: boolean; + issues_url: string; + location: string; + login: string; + members_url: string; + name: string; + node_id: string; + public_gists: number; + public_members_url: string; + public_repos: number; + repos_url: string; + type: string; + url: string; + }; + type TeamsCreateResponse = { + created_at: string; + description: string; + html_url: string; + id: number; + members_count: number; + members_url: string; + name: string; + node_id: string; + organization: TeamsCreateResponseOrganization; + parent: null; + permission: string; + privacy: string; + repos_count: number; + repositories_url: string; + slug: string; + updated_at: string; + url: string; + }; + type TeamsCheckManagesRepoLegacyResponsePermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type TeamsCheckManagesRepoLegacyResponseOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type TeamsCheckManagesRepoLegacyResponse = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: TeamsCheckManagesRepoLegacyResponseOwner; + permissions: TeamsCheckManagesRepoLegacyResponsePermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type TeamsCheckManagesRepoInOrgResponsePermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type TeamsCheckManagesRepoInOrgResponseOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type TeamsCheckManagesRepoInOrgResponse = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: TeamsCheckManagesRepoInOrgResponseOwner; + permissions: TeamsCheckManagesRepoInOrgResponsePermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type TeamsCheckManagesRepoResponsePermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type TeamsCheckManagesRepoResponseOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type TeamsCheckManagesRepoResponse = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: TeamsCheckManagesRepoResponseOwner; + permissions: TeamsCheckManagesRepoResponsePermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type TeamsAddOrUpdateProjectLegacyResponse = { + documentation_url: string; + message: string; + }; + type TeamsAddOrUpdateProjectInOrgResponse = { + documentation_url: string; + message: string; + }; + type TeamsAddOrUpdateProjectResponse = { + documentation_url: string; + message: string; + }; + type TeamsAddOrUpdateMembershipLegacyResponse = { + role: string; + state: string; + url: string; + }; + type TeamsAddOrUpdateMembershipInOrgResponse = { + role: string; + state: string; + url: string; + }; + type TeamsAddOrUpdateMembershipResponse = { + role: string; + state: string; + url: string; + }; + type TeamsAddMemberLegacyResponseErrorsItem = { + code: string; + field: string; + resource: string; + }; + type TeamsAddMemberLegacyResponse = { + errors: Array; + message: string; + }; + type TeamsAddMemberResponseErrorsItem = { + code: string; + field: string; + resource: string; + }; + type TeamsAddMemberResponse = { + errors: Array; + message: string; + }; + type SearchUsersLegacyResponseUsersItem = { + created: string; + created_at: string; + followers: number; + followers_count: number; + fullname: string; + gravatar_id: string; + id: string; + language: string; + location: string; + login: string; + name: string; + public_repo_count: number; + repos: number; + score: number; + type: string; + username: string; + }; + type SearchUsersLegacyResponse = { + users: Array; + }; + type SearchUsersResponseItemsItem = { + avatar_url: string; + followers_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + score: number; + subscriptions_url: string; + type: string; + url: string; + }; + type SearchUsersResponse = { + incomplete_results: boolean; + items: Array; + total_count: number; + }; + type SearchTopicsResponseItemsItem = { + created_at: string; + created_by: string; + curated: boolean; + description: string; + display_name: string; + featured: boolean; + name: string; + released: string; + score: number; + short_description: string; + updated_at: string; + }; + type SearchTopicsResponse = { + incomplete_results: boolean; + items: Array; + total_count: number; + }; + type SearchReposLegacyResponseRepositoriesItem = { + created: string; + created_at: string; + description: string; + followers: number; + fork: boolean; + forks: number; + has_downloads: boolean; + has_issues: boolean; + has_wiki: boolean; + homepage: string; + language: string; + name: string; + open_issues: number; + owner: string; + private: boolean; + pushed: string; + pushed_at: string; + score: number; + size: number; + type: string; + url: string; + username: string; + watchers: number; + }; + type SearchReposLegacyResponse = { + repositories: Array; + }; + type SearchReposResponseItemsItemOwner = { + avatar_url: string; + gravatar_id: string; + id: number; + login: string; + node_id: string; + received_events_url: string; + type: string; + url: string; + }; + type SearchReposResponseItemsItem = { + created_at: string; + default_branch: string; + description: string; + fork: boolean; + forks_count: number; + full_name: string; + homepage: string; + html_url: string; + id: number; + language: string; + master_branch: string; + name: string; + node_id: string; + open_issues_count: number; + owner: SearchReposResponseItemsItemOwner; + private: boolean; + pushed_at: string; + score: number; + size: number; + stargazers_count: number; + updated_at: string; + url: string; + watchers_count: number; + }; + type SearchReposResponse = { + incomplete_results: boolean; + items: Array; + total_count: number; + }; + type SearchLabelsResponseItemsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + score: number; + url: string; + }; + type SearchLabelsResponse = { + incomplete_results: boolean; + items: Array; + total_count: number; + }; + type SearchIssuesLegacyResponseIssuesItem = { + body: string; + comments: number; + created_at: string; + gravatar_id: string; + html_url: string; + labels: Array; + number: number; + position: number; + state: string; + title: string; + updated_at: string; + user: string; + votes: number; + }; + type SearchIssuesLegacyResponse = { + issues: Array; + }; + type SearchIssuesAndPullRequestsResponseItemsItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type SearchIssuesAndPullRequestsResponseItemsItemPullRequest = { + diff_url: null; + html_url: null; + patch_url: null; + }; + type SearchIssuesAndPullRequestsResponseItemsItemLabelsItem = { + color: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type SearchIssuesAndPullRequestsResponseItemsItem = { + assignee: null; + body: string; + closed_at: null; + comments: number; + comments_url: string; + created_at: string; + events_url: string; + html_url: string; + id: number; + labels: Array; + labels_url: string; + milestone: null; + node_id: string; + number: number; + pull_request: SearchIssuesAndPullRequestsResponseItemsItemPullRequest; + repository_url: string; + score: number; + state: string; + title: string; + updated_at: string; + url: string; + user: SearchIssuesAndPullRequestsResponseItemsItemUser; + }; + type SearchIssuesAndPullRequestsResponse = { + incomplete_results: boolean; + items: Array; + total_count: number; + }; + type SearchIssuesResponseItemsItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type SearchIssuesResponseItemsItemPullRequest = { + diff_url: null; + html_url: null; + patch_url: null; + }; + type SearchIssuesResponseItemsItemLabelsItem = { + color: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type SearchIssuesResponseItemsItem = { + assignee: null; + body: string; + closed_at: null; + comments: number; + comments_url: string; + created_at: string; + events_url: string; + html_url: string; + id: number; + labels: Array; + labels_url: string; + milestone: null; + node_id: string; + number: number; + pull_request: SearchIssuesResponseItemsItemPullRequest; + repository_url: string; + score: number; + state: string; + title: string; + updated_at: string; + url: string; + user: SearchIssuesResponseItemsItemUser; + }; + type SearchIssuesResponse = { + incomplete_results: boolean; + items: Array; + total_count: number; + }; + type SearchEmailLegacyResponseUser = { + blog: string; + company: string; + created: string; + created_at: string; + email: string; + followers_count: number; + following_count: number; + gravatar_id: string; + id: number; + location: string; + login: string; + name: string; + public_gist_count: number; + public_repo_count: number; + type: string; + }; + type SearchEmailLegacyResponse = { user: SearchEmailLegacyResponseUser }; + type SearchCommitsResponseItemsItemRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type SearchCommitsResponseItemsItemRepository = { + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + description: string; + downloads_url: string; + events_url: string; + fork: boolean; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + hooks_url: string; + html_url: string; + id: number; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + name: string; + node_id: string; + notifications_url: string; + owner: SearchCommitsResponseItemsItemRepositoryOwner; + private: boolean; + pulls_url: string; + releases_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + url: string; + }; + type SearchCommitsResponseItemsItemParentsItem = { + html_url: string; + sha: string; + url: string; + }; + type SearchCommitsResponseItemsItemCommitter = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type SearchCommitsResponseItemsItemCommitTree = { sha: string; url: string }; + type SearchCommitsResponseItemsItemCommitCommitter = { + date: string; + email: string; + name: string; + }; + type SearchCommitsResponseItemsItemCommitAuthor = { + date: string; + email: string; + name: string; + }; + type SearchCommitsResponseItemsItemCommit = { + author: SearchCommitsResponseItemsItemCommitAuthor; + comment_count: number; + committer: SearchCommitsResponseItemsItemCommitCommitter; + message: string; + tree: SearchCommitsResponseItemsItemCommitTree; + url: string; + }; + type SearchCommitsResponseItemsItemAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type SearchCommitsResponseItemsItem = { + author: SearchCommitsResponseItemsItemAuthor; + comments_url: string; + commit: SearchCommitsResponseItemsItemCommit; + committer: SearchCommitsResponseItemsItemCommitter; + html_url: string; + parents: Array; + repository: SearchCommitsResponseItemsItemRepository; + score: number; + sha: string; + url: string; + }; + type SearchCommitsResponse = { + incomplete_results: boolean; + items: Array; + total_count: number; + }; + type SearchCodeResponseItemsItemRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type SearchCodeResponseItemsItemRepository = { + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + description: string; + downloads_url: string; + events_url: string; + fork: boolean; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + hooks_url: string; + html_url: string; + id: number; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + name: string; + node_id: string; + notifications_url: string; + owner: SearchCodeResponseItemsItemRepositoryOwner; + private: boolean; + pulls_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + url: string; + }; + type SearchCodeResponseItemsItem = { + git_url: string; + html_url: string; + name: string; + path: string; + repository: SearchCodeResponseItemsItemRepository; + score: number; + sha: string; + url: string; + }; + type SearchCodeResponse = { + incomplete_results: boolean; + items: Array; + total_count: number; + }; + type ReposUploadReleaseAssetResponseValueUploader = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposUploadReleaseAssetResponseValue = { + browser_download_url: string; + content_type: string; + created_at: string; + download_count: number; + id: number; + label: string; + name: string; + node_id: string; + size: number; + state: string; + updated_at: string; + uploader: ReposUploadReleaseAssetResponseValueUploader; + url: string; + }; + type ReposUploadReleaseAssetResponse = { + value: ReposUploadReleaseAssetResponseValue; + }; + type ReposUpdateReleaseAssetResponseUploader = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposUpdateReleaseAssetResponse = { + browser_download_url: string; + content_type: string; + created_at: string; + download_count: number; + id: number; + label: string; + name: string; + node_id: string; + size: number; + state: string; + updated_at: string; + uploader: ReposUpdateReleaseAssetResponseUploader; + url: string; + }; + type ReposUpdateReleaseResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposUpdateReleaseResponseAssetsItemUploader = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposUpdateReleaseResponseAssetsItem = { + browser_download_url: string; + content_type: string; + created_at: string; + download_count: number; + id: number; + label: string; + name: string; + node_id: string; + size: number; + state: string; + updated_at: string; + uploader: ReposUpdateReleaseResponseAssetsItemUploader; + url: string; + }; + type ReposUpdateReleaseResponse = { + assets: Array; + assets_url: string; + author: ReposUpdateReleaseResponseAuthor; + body: string; + created_at: string; + draft: boolean; + html_url: string; + id: number; + name: string; + node_id: string; + prerelease: boolean; + published_at: string; + tag_name: string; + tarball_url: string; + target_commitish: string; + upload_url: string; + url: string; + zipball_url: string; + }; + type ReposUpdateProtectedBranchRequiredStatusChecksResponse = { + contexts: Array; + contexts_url: string; + strict: boolean; + url: string; + }; + type ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictionsUsersItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictionsTeamsItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictions = { + teams: Array< + ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictionsTeamsItem + >; + teams_url: string; + url: string; + users: Array< + ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictionsUsersItem + >; + users_url: string; + }; + type ReposUpdateProtectedBranchPullRequestReviewEnforcementResponse = { + dismiss_stale_reviews: boolean; + dismissal_restrictions: ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictions; + require_code_owner_reviews: boolean; + required_approving_review_count: number; + url: string; + }; + type ReposUpdateInvitationResponseRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposUpdateInvitationResponseRepository = { + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + description: string; + downloads_url: string; + events_url: string; + fork: boolean; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + html_url: string; + id: number; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + name: string; + node_id: string; + notifications_url: string; + owner: ReposUpdateInvitationResponseRepositoryOwner; + private: boolean; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + url: string; + }; + type ReposUpdateInvitationResponseInviter = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposUpdateInvitationResponseInvitee = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposUpdateInvitationResponse = { + created_at: string; + html_url: string; + id: number; + invitee: ReposUpdateInvitationResponseInvitee; + inviter: ReposUpdateInvitationResponseInviter; + permissions: string; + repository: ReposUpdateInvitationResponseRepository; + url: string; + }; + type ReposUpdateHookResponseLastResponse = { + code: null; + message: null; + status: string; + }; + type ReposUpdateHookResponseConfig = { + content_type: string; + insecure_ssl: string; + url: string; + }; + type ReposUpdateHookResponse = { + active: boolean; + config: ReposUpdateHookResponseConfig; + created_at: string; + events: Array; + id: number; + last_response: ReposUpdateHookResponseLastResponse; + name: string; + ping_url: string; + test_url: string; + type: string; + updated_at: string; + url: string; + }; + type ReposUpdateFileResponseContentLinks = { + git: string; + html: string; + self: string; + }; + type ReposUpdateFileResponseContent = { + _links: ReposUpdateFileResponseContentLinks; + download_url: string; + git_url: string; + html_url: string; + name: string; + path: string; + sha: string; + size: number; + type: string; + url: string; + }; + type ReposUpdateFileResponseCommitVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; + }; + type ReposUpdateFileResponseCommitTree = { sha: string; url: string }; + type ReposUpdateFileResponseCommitParentsItem = { + html_url: string; + sha: string; + url: string; + }; + type ReposUpdateFileResponseCommitCommitter = { + date: string; + email: string; + name: string; + }; + type ReposUpdateFileResponseCommitAuthor = { + date: string; + email: string; + name: string; + }; + type ReposUpdateFileResponseCommit = { + author: ReposUpdateFileResponseCommitAuthor; + committer: ReposUpdateFileResponseCommitCommitter; + html_url: string; + message: string; + node_id: string; + parents: Array; + sha: string; + tree: ReposUpdateFileResponseCommitTree; + url: string; + verification: ReposUpdateFileResponseCommitVerification; + }; + type ReposUpdateFileResponse = { + commit: ReposUpdateFileResponseCommit; + content: ReposUpdateFileResponseContent; + }; + type ReposUpdateCommitCommentResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposUpdateCommitCommentResponse = { + body: string; + commit_id: string; + created_at: string; + html_url: string; + id: number; + line: number; + node_id: string; + path: string; + position: number; + updated_at: string; + url: string; + user: ReposUpdateCommitCommentResponseUser; + }; + type ReposUpdateBranchProtectionResponseRestrictionsUsersItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposUpdateBranchProtectionResponseRestrictionsTeamsItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type ReposUpdateBranchProtectionResponseRestrictionsAppsItemPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; + }; + type ReposUpdateBranchProtectionResponseRestrictionsAppsItemOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type ReposUpdateBranchProtectionResponseRestrictionsAppsItem = { + created_at: string; + description: string; + events: Array; + external_url: string; + html_url: string; + id: number; + name: string; + node_id: string; + owner: ReposUpdateBranchProtectionResponseRestrictionsAppsItemOwner; + permissions: ReposUpdateBranchProtectionResponseRestrictionsAppsItemPermissions; + slug: string; + updated_at: string; + }; + type ReposUpdateBranchProtectionResponseRestrictions = { + apps: Array; + apps_url: string; + teams: Array; + teams_url: string; + url: string; + users: Array; + users_url: string; + }; + type ReposUpdateBranchProtectionResponseRequiredStatusChecks = { + contexts: Array; + contexts_url: string; + strict: boolean; + url: string; + }; + type ReposUpdateBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictionsUsersItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposUpdateBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictionsTeamsItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type ReposUpdateBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictions = { + teams: Array< + ReposUpdateBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictionsTeamsItem + >; + teams_url: string; + url: string; + users: Array< + ReposUpdateBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictionsUsersItem + >; + users_url: string; + }; + type ReposUpdateBranchProtectionResponseRequiredPullRequestReviews = { + dismiss_stale_reviews: boolean; + dismissal_restrictions: ReposUpdateBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictions; + require_code_owner_reviews: boolean; + required_approving_review_count: number; + url: string; + }; + type ReposUpdateBranchProtectionResponseRequiredLinearHistory = { + enabled: boolean; + }; + type ReposUpdateBranchProtectionResponseEnforceAdmins = { + enabled: boolean; + url: string; + }; + type ReposUpdateBranchProtectionResponseAllowForcePushes = { + enabled: boolean; + }; + type ReposUpdateBranchProtectionResponseAllowDeletions = { enabled: boolean }; + type ReposUpdateBranchProtectionResponse = { + allow_deletions: ReposUpdateBranchProtectionResponseAllowDeletions; + allow_force_pushes: ReposUpdateBranchProtectionResponseAllowForcePushes; + enforce_admins: ReposUpdateBranchProtectionResponseEnforceAdmins; + required_linear_history: ReposUpdateBranchProtectionResponseRequiredLinearHistory; + required_pull_request_reviews: ReposUpdateBranchProtectionResponseRequiredPullRequestReviews; + required_status_checks: ReposUpdateBranchProtectionResponseRequiredStatusChecks; + restrictions: ReposUpdateBranchProtectionResponseRestrictions; + url: string; + }; + type ReposUpdateResponseSourcePermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type ReposUpdateResponseSourceOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposUpdateResponseSource = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ReposUpdateResponseSourceOwner; + permissions: ReposUpdateResponseSourcePermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type ReposUpdateResponsePermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type ReposUpdateResponseParentPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type ReposUpdateResponseParentOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposUpdateResponseParent = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ReposUpdateResponseParentOwner; + permissions: ReposUpdateResponseParentPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type ReposUpdateResponseOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposUpdateResponseOrganization = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposUpdateResponse = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + organization: ReposUpdateResponseOrganization; + owner: ReposUpdateResponseOwner; + parent: ReposUpdateResponseParent; + permissions: ReposUpdateResponsePermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + source: ReposUpdateResponseSource; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type ReposTransferResponsePermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type ReposTransferResponseOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposTransferResponse = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ReposTransferResponseOwner; + permissions: ReposTransferResponsePermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type ReposRetrieveCommunityProfileMetricsResponseFilesReadme = { + html_url: string; + url: string; + }; + type ReposRetrieveCommunityProfileMetricsResponseFilesPullRequestTemplate = { + html_url: string; + url: string; + }; + type ReposRetrieveCommunityProfileMetricsResponseFilesLicense = { + html_url: string; + key: string; + name: string; + spdx_id: string; + url: string; + }; + type ReposRetrieveCommunityProfileMetricsResponseFilesIssueTemplate = { + html_url: string; + url: string; + }; + type ReposRetrieveCommunityProfileMetricsResponseFilesContributing = { + html_url: string; + url: string; + }; + type ReposRetrieveCommunityProfileMetricsResponseFilesCodeOfConduct = { + html_url: string; + key: string; + name: string; + url: string; + }; + type ReposRetrieveCommunityProfileMetricsResponseFiles = { + code_of_conduct: ReposRetrieveCommunityProfileMetricsResponseFilesCodeOfConduct; + contributing: ReposRetrieveCommunityProfileMetricsResponseFilesContributing; + issue_template: ReposRetrieveCommunityProfileMetricsResponseFilesIssueTemplate; + license: ReposRetrieveCommunityProfileMetricsResponseFilesLicense; + pull_request_template: ReposRetrieveCommunityProfileMetricsResponseFilesPullRequestTemplate; + readme: ReposRetrieveCommunityProfileMetricsResponseFilesReadme; + }; + type ReposRetrieveCommunityProfileMetricsResponse = { + description: string; + documentation: boolean; + files: ReposRetrieveCommunityProfileMetricsResponseFiles; + health_percentage: number; + updated_at: string; + }; + type ReposRequestPageBuildResponse = { status: string; url: string }; + type ReposReplaceTopicsResponse = { names: Array }; + type ReposReplaceProtectedBranchUserRestrictionsResponseItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposReplaceProtectedBranchTeamRestrictionsResponseItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type ReposReplaceProtectedBranchAppRestrictionsResponseItemPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; + }; + type ReposReplaceProtectedBranchAppRestrictionsResponseItemOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type ReposReplaceProtectedBranchAppRestrictionsResponseItem = { + created_at: string; + description: string; + events: Array; + external_url: string; + html_url: string; + id: number; + name: string; + node_id: string; + owner: ReposReplaceProtectedBranchAppRestrictionsResponseItemOwner; + permissions: ReposReplaceProtectedBranchAppRestrictionsResponseItemPermissions; + slug: string; + updated_at: string; + }; + type ReposRemoveProtectedBranchUserRestrictionsResponseItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposRemoveProtectedBranchTeamRestrictionsResponseItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type ReposRemoveProtectedBranchAppRestrictionsResponseItemPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; + }; + type ReposRemoveProtectedBranchAppRestrictionsResponseItemOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type ReposRemoveProtectedBranchAppRestrictionsResponseItem = { + created_at: string; + description: string; + events: Array; + external_url: string; + html_url: string; + id: number; + name: string; + node_id: string; + owner: ReposRemoveProtectedBranchAppRestrictionsResponseItemOwner; + permissions: ReposRemoveProtectedBranchAppRestrictionsResponseItemPermissions; + slug: string; + updated_at: string; + }; + type ReposMergeResponseParentsItem = { sha: string; url: string }; + type ReposMergeResponseCommitter = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposMergeResponseCommitVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; + }; + type ReposMergeResponseCommitTree = { sha: string; url: string }; + type ReposMergeResponseCommitCommitter = { + date: string; + email: string; + name: string; + }; + type ReposMergeResponseCommitAuthor = { + date: string; + email: string; + name: string; + }; + type ReposMergeResponseCommit = { + author: ReposMergeResponseCommitAuthor; + comment_count: number; + committer: ReposMergeResponseCommitCommitter; + message: string; + tree: ReposMergeResponseCommitTree; + url: string; + verification: ReposMergeResponseCommitVerification; + }; + type ReposMergeResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposMergeResponse = { + author: ReposMergeResponseAuthor; + comments_url: string; + commit: ReposMergeResponseCommit; + committer: ReposMergeResponseCommitter; + html_url: string; + node_id: string; + parents: Array; + sha: string; + url: string; + }; + type ReposListUsersWithAccessToProtectedBranchResponseItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposListTopicsResponse = { names: Array }; + type ReposListTeamsWithAccessToProtectedBranchResponseItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type ReposListTeamsResponseItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type ReposListTagsResponseItemCommit = { sha: string; url: string }; + type ReposListTagsResponseItem = { + commit: ReposListTagsResponseItemCommit; + name: string; + tarball_url: string; + zipball_url: string; + }; + type ReposListStatusesForRefResponseItemCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposListStatusesForRefResponseItem = { + avatar_url: string; + context: string; + created_at: string; + creator: ReposListStatusesForRefResponseItemCreator; + description: string; + id: number; + node_id: string; + state: string; + target_url: string; + updated_at: string; + url: string; + }; + type ReposListReleasesResponseItemAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposListReleasesResponseItemAssetsItemUploader = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposListReleasesResponseItemAssetsItem = { + browser_download_url: string; + content_type: string; + created_at: string; + download_count: number; + id: number; + label: string; + name: string; + node_id: string; + size: number; + state: string; + updated_at: string; + uploader: ReposListReleasesResponseItemAssetsItemUploader; + url: string; + }; + type ReposListReleasesResponseItem = { + assets: Array; + assets_url: string; + author: ReposListReleasesResponseItemAuthor; + body: string; + created_at: string; + draft: boolean; + html_url: string; + id: number; + name: string; + node_id: string; + prerelease: boolean; + published_at: string; + tag_name: string; + tarball_url: string; + target_commitish: string; + upload_url: string; + url: string; + zipball_url: string; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItemRequestedTeamsItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItemRequestedReviewersItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItemMilestoneCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItemMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: ReposListPullRequestsAssociatedWithCommitResponseItemMilestoneCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItemLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItemHeadUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItemHeadRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItemHeadRepoOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItemHeadRepo = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ReposListPullRequestsAssociatedWithCommitResponseItemHeadRepoOwner; + permissions: ReposListPullRequestsAssociatedWithCommitResponseItemHeadRepoPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItemHead = { + label: string; + ref: string; + repo: ReposListPullRequestsAssociatedWithCommitResponseItemHeadRepo; + sha: string; + user: ReposListPullRequestsAssociatedWithCommitResponseItemHeadUser; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItemBaseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItemBaseRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItemBaseRepoOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItemBaseRepo = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ReposListPullRequestsAssociatedWithCommitResponseItemBaseRepoOwner; + permissions: ReposListPullRequestsAssociatedWithCommitResponseItemBaseRepoPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItemBase = { + label: string; + ref: string; + repo: ReposListPullRequestsAssociatedWithCommitResponseItemBaseRepo; + sha: string; + user: ReposListPullRequestsAssociatedWithCommitResponseItemBaseUser; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItemAssigneesItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItemAssignee = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItemLinksStatuses = { + href: string; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItemLinksSelf = { + href: string; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItemLinksReviewComments = { + href: string; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItemLinksReviewComment = { + href: string; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItemLinksIssue = { + href: string; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItemLinksHtml = { + href: string; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItemLinksCommits = { + href: string; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItemLinksComments = { + href: string; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItemLinks = { + comments: ReposListPullRequestsAssociatedWithCommitResponseItemLinksComments; + commits: ReposListPullRequestsAssociatedWithCommitResponseItemLinksCommits; + html: ReposListPullRequestsAssociatedWithCommitResponseItemLinksHtml; + issue: ReposListPullRequestsAssociatedWithCommitResponseItemLinksIssue; + review_comment: ReposListPullRequestsAssociatedWithCommitResponseItemLinksReviewComment; + review_comments: ReposListPullRequestsAssociatedWithCommitResponseItemLinksReviewComments; + self: ReposListPullRequestsAssociatedWithCommitResponseItemLinksSelf; + statuses: ReposListPullRequestsAssociatedWithCommitResponseItemLinksStatuses; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItem = { + _links: ReposListPullRequestsAssociatedWithCommitResponseItemLinks; + active_lock_reason: string; + assignee: ReposListPullRequestsAssociatedWithCommitResponseItemAssignee; + assignees: Array< + ReposListPullRequestsAssociatedWithCommitResponseItemAssigneesItem + >; + author_association: string; + base: ReposListPullRequestsAssociatedWithCommitResponseItemBase; + body: string; + closed_at: string; + comments_url: string; + commits_url: string; + created_at: string; + diff_url: string; + draft: boolean; + head: ReposListPullRequestsAssociatedWithCommitResponseItemHead; + html_url: string; + id: number; + issue_url: string; + labels: Array< + ReposListPullRequestsAssociatedWithCommitResponseItemLabelsItem + >; + locked: boolean; + merge_commit_sha: string; + merged_at: string; + milestone: ReposListPullRequestsAssociatedWithCommitResponseItemMilestone; + node_id: string; + number: number; + patch_url: string; + requested_reviewers: Array< + ReposListPullRequestsAssociatedWithCommitResponseItemRequestedReviewersItem + >; + requested_teams: Array< + ReposListPullRequestsAssociatedWithCommitResponseItemRequestedTeamsItem + >; + review_comment_url: string; + review_comments_url: string; + state: string; + statuses_url: string; + title: string; + updated_at: string; + url: string; + user: ReposListPullRequestsAssociatedWithCommitResponseItemUser; + }; + type ReposListPublicResponseItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposListPublicResponseItem = { + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + description: string; + downloads_url: string; + events_url: string; + fork: boolean; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + html_url: string; + id: number; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + name: string; + node_id: string; + notifications_url: string; + owner: ReposListPublicResponseItemOwner; + private: boolean; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + url: string; + }; + type ReposListProtectedBranchUserRestrictionsResponseItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposListProtectedBranchTeamRestrictionsResponseItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type ReposListPagesBuildsResponseItemPusher = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposListPagesBuildsResponseItemError = { message: null }; + type ReposListPagesBuildsResponseItem = { + commit: string; + created_at: string; + duration: number; + error: ReposListPagesBuildsResponseItemError; + pusher: ReposListPagesBuildsResponseItemPusher; + status: string; + updated_at: string; + url: string; + }; + type ReposListLanguagesResponse = { C: number; Python: number }; + type ReposListInvitationsForAuthenticatedUserResponseItemRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposListInvitationsForAuthenticatedUserResponseItemRepository = { + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + description: string; + downloads_url: string; + events_url: string; + fork: boolean; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + html_url: string; + id: number; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + name: string; + node_id: string; + notifications_url: string; + owner: ReposListInvitationsForAuthenticatedUserResponseItemRepositoryOwner; + private: boolean; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + url: string; + }; + type ReposListInvitationsForAuthenticatedUserResponseItemInviter = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposListInvitationsForAuthenticatedUserResponseItemInvitee = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposListInvitationsForAuthenticatedUserResponseItem = { + created_at: string; + html_url: string; + id: number; + invitee: ReposListInvitationsForAuthenticatedUserResponseItemInvitee; + inviter: ReposListInvitationsForAuthenticatedUserResponseItemInviter; + permissions: string; + repository: ReposListInvitationsForAuthenticatedUserResponseItemRepository; + url: string; + }; + type ReposListInvitationsResponseItemRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposListInvitationsResponseItemRepository = { + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + description: string; + downloads_url: string; + events_url: string; + fork: boolean; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + html_url: string; + id: number; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + name: string; + node_id: string; + notifications_url: string; + owner: ReposListInvitationsResponseItemRepositoryOwner; + private: boolean; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + url: string; + }; + type ReposListInvitationsResponseItemInviter = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposListInvitationsResponseItemInvitee = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposListInvitationsResponseItem = { + created_at: string; + html_url: string; + id: number; + invitee: ReposListInvitationsResponseItemInvitee; + inviter: ReposListInvitationsResponseItemInviter; + permissions: string; + repository: ReposListInvitationsResponseItemRepository; + url: string; + }; + type ReposListHooksResponseItemLastResponse = { + code: null; + message: null; + status: string; + }; + type ReposListHooksResponseItemConfig = { + content_type: string; + insecure_ssl: string; + url: string; + }; + type ReposListHooksResponseItem = { + active: boolean; + config: ReposListHooksResponseItemConfig; + created_at: string; + events: Array; + id: number; + last_response: ReposListHooksResponseItemLastResponse; + name: string; + ping_url: string; + test_url: string; + type: string; + updated_at: string; + url: string; + }; + type ReposListForksResponseItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type ReposListForksResponseItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposListForksResponseItemLicense = { + key: string; + name: string; + node_id: string; + spdx_id: string; + url: string; + }; + type ReposListForksResponseItem = { + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + license: ReposListForksResponseItemLicense; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ReposListForksResponseItemOwner; + permissions: ReposListForksResponseItemPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type ReposListForOrgResponseItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type ReposListForOrgResponseItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposListForOrgResponseItemLicense = { + key: string; + name: string; + node_id: string; + spdx_id: string; + url: string; + }; + type ReposListForOrgResponseItem = { + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + license: ReposListForOrgResponseItemLicense; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ReposListForOrgResponseItemOwner; + permissions: ReposListForOrgResponseItemPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type ReposListDownloadsResponseItem = { + content_type: string; + description: string; + download_count: number; + html_url: string; + id: number; + name: string; + size: number; + url: string; + }; + type ReposListDeploymentsResponseItemPayload = { deploy: string }; + type ReposListDeploymentsResponseItemCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposListDeploymentsResponseItem = { + created_at: string; + creator: ReposListDeploymentsResponseItemCreator; + description: string; + environment: string; + id: number; + node_id: string; + original_environment: string; + payload: ReposListDeploymentsResponseItemPayload; + production_environment: boolean; + ref: string; + repository_url: string; + sha: string; + statuses_url: string; + task: string; + transient_environment: boolean; + updated_at: string; + url: string; + }; + type ReposListDeploymentStatusesResponseItemCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposListDeploymentStatusesResponseItem = { + created_at: string; + creator: ReposListDeploymentStatusesResponseItemCreator; + deployment_url: string; + description: string; + environment: string; + environment_url: string; + id: number; + log_url: string; + node_id: string; + repository_url: string; + state: string; + target_url: string; + updated_at: string; + url: string; + }; + type ReposListDeployKeysResponseItem = { + created_at: string; + id: number; + key: string; + read_only: boolean; + title: string; + url: string; + verified: boolean; + }; + type ReposListContributorsResponseItem = { + avatar_url: string; + contributions: number; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposListCommitsResponseItemParentsItem = { sha: string; url: string }; + type ReposListCommitsResponseItemCommitter = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposListCommitsResponseItemCommitVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; + }; + type ReposListCommitsResponseItemCommitTree = { sha: string; url: string }; + type ReposListCommitsResponseItemCommitCommitter = { + date: string; + email: string; + name: string; + }; + type ReposListCommitsResponseItemCommitAuthor = { + date: string; + email: string; + name: string; + }; + type ReposListCommitsResponseItemCommit = { + author: ReposListCommitsResponseItemCommitAuthor; + comment_count: number; + committer: ReposListCommitsResponseItemCommitCommitter; + message: string; + tree: ReposListCommitsResponseItemCommitTree; + url: string; + verification: ReposListCommitsResponseItemCommitVerification; + }; + type ReposListCommitsResponseItemAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposListCommitsResponseItem = { + author: ReposListCommitsResponseItemAuthor; + comments_url: string; + commit: ReposListCommitsResponseItemCommit; + committer: ReposListCommitsResponseItemCommitter; + html_url: string; + node_id: string; + parents: Array; + sha: string; + url: string; + }; + type ReposListCommitCommentsResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposListCommitCommentsResponseItem = { + body: string; + commit_id: string; + created_at: string; + html_url: string; + id: number; + line: number; + node_id: string; + path: string; + position: number; + updated_at: string; + url: string; + user: ReposListCommitCommentsResponseItemUser; + }; + type ReposListCommentsForCommitResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposListCommentsForCommitResponseItem = { + body: string; + commit_id: string; + created_at: string; + html_url: string; + id: number; + line: number; + node_id: string; + path: string; + position: number; + updated_at: string; + url: string; + user: ReposListCommentsForCommitResponseItemUser; + }; + type ReposListCollaboratorsResponseItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type ReposListCollaboratorsResponseItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + permissions: ReposListCollaboratorsResponseItemPermissions; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposListBranchesForHeadCommitResponseItemCommit = { + sha: string; + url: string; + }; + type ReposListBranchesForHeadCommitResponseItem = { + commit: ReposListBranchesForHeadCommitResponseItemCommit; + name: string; + protected: string; + }; + type ReposListBranchesResponseItemProtectionRequiredStatusChecks = { + contexts: Array; + enforcement_level: string; + }; + type ReposListBranchesResponseItemProtection = { + enabled: boolean; + required_status_checks: ReposListBranchesResponseItemProtectionRequiredStatusChecks; + }; + type ReposListBranchesResponseItemCommit = { sha: string; url: string }; + type ReposListBranchesResponseItem = { + commit: ReposListBranchesResponseItemCommit; + name: string; + protected: boolean; + protection: ReposListBranchesResponseItemProtection; + protection_url: string; + }; + type ReposListAssetsForReleaseResponseItemUploader = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposListAssetsForReleaseResponseItem = { + browser_download_url: string; + content_type: string; + created_at: string; + download_count: number; + id: number; + label: string; + name: string; + node_id: string; + size: number; + state: string; + updated_at: string; + uploader: ReposListAssetsForReleaseResponseItemUploader; + url: string; + }; + type ReposListAppsWithAccessToProtectedBranchResponseItemPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; + }; + type ReposListAppsWithAccessToProtectedBranchResponseItemOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type ReposListAppsWithAccessToProtectedBranchResponseItem = { + created_at: string; + description: string; + events: Array; + external_url: string; + html_url: string; + id: number; + name: string; + node_id: string; + owner: ReposListAppsWithAccessToProtectedBranchResponseItemOwner; + permissions: ReposListAppsWithAccessToProtectedBranchResponseItemPermissions; + slug: string; + updated_at: string; + }; + type ReposGetViewsResponseViewsItem = { + count: number; + timestamp: string; + uniques: number; + }; + type ReposGetViewsResponse = { + count: number; + uniques: number; + views: Array; + }; + type ReposGetUsersWithAccessToProtectedBranchResponseItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposGetTopReferrersResponseItem = { + count: number; + referrer: string; + uniques: number; + }; + type ReposGetTopPathsResponseItem = { + count: number; + path: string; + title: string; + uniques: number; + }; + type ReposGetTeamsWithAccessToProtectedBranchResponseItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type ReposGetReleaseByTagResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposGetReleaseByTagResponseAssetsItemUploader = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposGetReleaseByTagResponseAssetsItem = { + browser_download_url: string; + content_type: string; + created_at: string; + download_count: number; + id: number; + label: string; + name: string; + node_id: string; + size: number; + state: string; + updated_at: string; + uploader: ReposGetReleaseByTagResponseAssetsItemUploader; + url: string; + }; + type ReposGetReleaseByTagResponse = { + assets: Array; + assets_url: string; + author: ReposGetReleaseByTagResponseAuthor; + body: string; + created_at: string; + draft: boolean; + html_url: string; + id: number; + name: string; + node_id: string; + prerelease: boolean; + published_at: string; + tag_name: string; + tarball_url: string; + target_commitish: string; + upload_url: string; + url: string; + zipball_url: string; + }; + type ReposGetReleaseAssetResponseUploader = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposGetReleaseAssetResponse = { + browser_download_url: string; + content_type: string; + created_at: string; + download_count: number; + id: number; + label: string; + name: string; + node_id: string; + size: number; + state: string; + updated_at: string; + uploader: ReposGetReleaseAssetResponseUploader; + url: string; + }; + type ReposGetReleaseResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposGetReleaseResponseAssetsItemUploader = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposGetReleaseResponseAssetsItem = { + browser_download_url: string; + content_type: string; + created_at: string; + download_count: number; + id: number; + label: string; + name: string; + node_id: string; + size: number; + state: string; + updated_at: string; + uploader: ReposGetReleaseResponseAssetsItemUploader; + url: string; + }; + type ReposGetReleaseResponse = { + assets: Array; + assets_url: string; + author: ReposGetReleaseResponseAuthor; + body: string; + created_at: string; + draft: boolean; + html_url: string; + id: number; + name: string; + node_id: string; + prerelease: boolean; + published_at: string; + tag_name: string; + tarball_url: string; + target_commitish: string; + upload_url: string; + url: string; + zipball_url: string; + }; + type ReposGetReadmeResponseLinks = { + git: string; + html: string; + self: string; + }; + type ReposGetReadmeResponse = { + _links: ReposGetReadmeResponseLinks; + content: string; + download_url: string; + encoding: string; + git_url: string; + html_url: string; + name: string; + path: string; + sha: string; + size: number; + type: string; + url: string; + }; + type ReposGetProtectedBranchRestrictionsResponseUsersItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposGetProtectedBranchRestrictionsResponseTeamsItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type ReposGetProtectedBranchRestrictionsResponseAppsItemPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; + }; + type ReposGetProtectedBranchRestrictionsResponseAppsItemOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type ReposGetProtectedBranchRestrictionsResponseAppsItem = { + created_at: string; + description: string; + events: Array; + external_url: string; + html_url: string; + id: number; + name: string; + node_id: string; + owner: ReposGetProtectedBranchRestrictionsResponseAppsItemOwner; + permissions: ReposGetProtectedBranchRestrictionsResponseAppsItemPermissions; + slug: string; + updated_at: string; + }; + type ReposGetProtectedBranchRestrictionsResponse = { + apps: Array; + apps_url: string; + teams: Array; + teams_url: string; + url: string; + users: Array; + users_url: string; + }; + type ReposGetProtectedBranchRequiredStatusChecksResponse = { + contexts: Array; + contexts_url: string; + strict: boolean; + url: string; + }; + type ReposGetProtectedBranchRequiredSignaturesResponse = { + enabled: boolean; + url: string; + }; + type ReposGetProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictionsUsersItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposGetProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictionsTeamsItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type ReposGetProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictions = { + teams: Array< + ReposGetProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictionsTeamsItem + >; + teams_url: string; + url: string; + users: Array< + ReposGetProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictionsUsersItem + >; + users_url: string; + }; + type ReposGetProtectedBranchPullRequestReviewEnforcementResponse = { + dismiss_stale_reviews: boolean; + dismissal_restrictions: ReposGetProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictions; + require_code_owner_reviews: boolean; + required_approving_review_count: number; + url: string; + }; + type ReposGetProtectedBranchAdminEnforcementResponse = { + enabled: boolean; + url: string; + }; + type ReposGetParticipationStatsResponse = { + all: Array; + owner: Array; + }; + type ReposGetPagesBuildResponsePusher = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposGetPagesBuildResponseError = { message: null }; + type ReposGetPagesBuildResponse = { + commit: string; + created_at: string; + duration: number; + error: ReposGetPagesBuildResponseError; + pusher: ReposGetPagesBuildResponsePusher; + status: string; + updated_at: string; + url: string; + }; + type ReposGetPagesResponseSource = { branch: string; directory: string }; + type ReposGetPagesResponse = { + cname: string; + custom_404: boolean; + html_url: string; + source: ReposGetPagesResponseSource; + status: string; + url: string; + }; + type ReposGetLatestReleaseResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposGetLatestReleaseResponseAssetsItemUploader = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposGetLatestReleaseResponseAssetsItem = { + browser_download_url: string; + content_type: string; + created_at: string; + download_count: number; + id: number; + label: string; + name: string; + node_id: string; + size: number; + state: string; + updated_at: string; + uploader: ReposGetLatestReleaseResponseAssetsItemUploader; + url: string; + }; + type ReposGetLatestReleaseResponse = { + assets: Array; + assets_url: string; + author: ReposGetLatestReleaseResponseAuthor; + body: string; + created_at: string; + draft: boolean; + html_url: string; + id: number; + name: string; + node_id: string; + prerelease: boolean; + published_at: string; + tag_name: string; + tarball_url: string; + target_commitish: string; + upload_url: string; + url: string; + zipball_url: string; + }; + type ReposGetLatestPagesBuildResponsePusher = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposGetLatestPagesBuildResponseError = { message: null }; + type ReposGetLatestPagesBuildResponse = { + commit: string; + created_at: string; + duration: number; + error: ReposGetLatestPagesBuildResponseError; + pusher: ReposGetLatestPagesBuildResponsePusher; + status: string; + updated_at: string; + url: string; + }; + type ReposGetHookResponseLastResponse = { + code: null; + message: null; + status: string; + }; + type ReposGetHookResponseConfig = { + content_type: string; + insecure_ssl: string; + url: string; + }; + type ReposGetHookResponse = { + active: boolean; + config: ReposGetHookResponseConfig; + created_at: string; + events: Array; + id: number; + last_response: ReposGetHookResponseLastResponse; + name: string; + ping_url: string; + test_url: string; + type: string; + updated_at: string; + url: string; + }; + type ReposGetDownloadResponse = { + content_type: string; + description: string; + download_count: number; + html_url: string; + id: number; + name: string; + size: number; + url: string; + }; + type ReposGetDeploymentStatusResponseCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposGetDeploymentStatusResponse = { + created_at: string; + creator: ReposGetDeploymentStatusResponseCreator; + deployment_url: string; + description: string; + environment: string; + environment_url: string; + id: number; + log_url: string; + node_id: string; + repository_url: string; + state: string; + target_url: string; + updated_at: string; + url: string; + }; + type ReposGetDeploymentResponsePayload = { deploy: string }; + type ReposGetDeploymentResponseCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposGetDeploymentResponse = { + created_at: string; + creator: ReposGetDeploymentResponseCreator; + description: string; + environment: string; + id: number; + node_id: string; + original_environment: string; + payload: ReposGetDeploymentResponsePayload; + production_environment: boolean; + ref: string; + repository_url: string; + sha: string; + statuses_url: string; + task: string; + transient_environment: boolean; + updated_at: string; + url: string; + }; + type ReposGetDeployKeyResponse = { + created_at: string; + id: number; + key: string; + read_only: boolean; + title: string; + url: string; + verified: boolean; + }; + type ReposGetContributorsStatsResponseItemWeeksItem = { + a: number; + c: number; + d: number; + w: string; + }; + type ReposGetContributorsStatsResponseItemAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposGetContributorsStatsResponseItem = { + author: ReposGetContributorsStatsResponseItemAuthor; + total: number; + weeks: Array; + }; + type ReposGetContentsResponseItemLinks = { + git: string; + html: string; + self: string; + }; + type ReposGetContentsResponseItem = { + _links: ReposGetContentsResponseItemLinks; + download_url: string | null; + git_url: string; + html_url: string; + name: string; + path: string; + sha: string; + size: number; + type: string; + url: string; + }; + type ReposGetContentsResponseLinks = { + git: string; + html: string; + self: string; + }; + type ReposGetContentsResponse = + | { + _links: ReposGetContentsResponseLinks; + content?: string; + download_url: string | null; + encoding?: string; + git_url: string; + html_url: string; + name: string; + path: string; + sha: string; + size: number; + type: string; + url: string; + target?: string; + submodule_git_url?: string; + } + | Array; + type ReposGetCommitCommentResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposGetCommitCommentResponse = { + body: string; + commit_id: string; + created_at: string; + html_url: string; + id: number; + line: number; + node_id: string; + path: string; + position: number; + updated_at: string; + url: string; + user: ReposGetCommitCommentResponseUser; + }; + type ReposGetCommitActivityStatsResponseItem = { + days: Array; + total: number; + week: number; + }; + type ReposGetCommitResponseStats = { + additions: number; + deletions: number; + total: number; + }; + type ReposGetCommitResponseParentsItem = { sha: string; url: string }; + type ReposGetCommitResponseFilesItem = { + additions: number; + blob_url: string; + changes: number; + deletions: number; + filename: string; + patch: string; + raw_url: string; + status: string; + }; + type ReposGetCommitResponseCommitter = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposGetCommitResponseCommitVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; + }; + type ReposGetCommitResponseCommitTree = { sha: string; url: string }; + type ReposGetCommitResponseCommitCommitter = { + date: string; + email: string; + name: string; + }; + type ReposGetCommitResponseCommitAuthor = { + date: string; + email: string; + name: string; + }; + type ReposGetCommitResponseCommit = { + author: ReposGetCommitResponseCommitAuthor; + comment_count: number; + committer: ReposGetCommitResponseCommitCommitter; + message: string; + tree: ReposGetCommitResponseCommitTree; + url: string; + verification: ReposGetCommitResponseCommitVerification; + }; + type ReposGetCommitResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposGetCommitResponse = { + author: ReposGetCommitResponseAuthor; + comments_url: string; + commit: ReposGetCommitResponseCommit; + committer: ReposGetCommitResponseCommitter; + files: Array; + html_url: string; + node_id: string; + parents: Array; + sha: string; + stats: ReposGetCommitResponseStats; + url: string; + }; + type ReposGetCombinedStatusForRefResponseStatusesItem = { + avatar_url: string; + context: string; + created_at: string; + description: string; + id: number; + node_id: string; + state: string; + target_url: string; + updated_at: string; + url: string; + }; + type ReposGetCombinedStatusForRefResponseRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposGetCombinedStatusForRefResponseRepository = { + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + description: string; + downloads_url: string; + events_url: string; + fork: boolean; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + html_url: string; + id: number; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + name: string; + node_id: string; + notifications_url: string; + owner: ReposGetCombinedStatusForRefResponseRepositoryOwner; + private: boolean; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + url: string; + }; + type ReposGetCombinedStatusForRefResponse = { + commit_url: string; + repository: ReposGetCombinedStatusForRefResponseRepository; + sha: string; + state: string; + statuses: Array; + total_count: number; + url: string; + }; + type ReposGetCollaboratorPermissionLevelResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposGetCollaboratorPermissionLevelResponse = { + permission: string; + user: ReposGetCollaboratorPermissionLevelResponseUser; + }; + type ReposGetClonesResponseClonesItem = { + count: number; + timestamp: string; + uniques: number; + }; + type ReposGetClonesResponse = { + clones: Array; + count: number; + uniques: number; + }; + type ReposGetBranchProtectionResponseRestrictionsUsersItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposGetBranchProtectionResponseRestrictionsTeamsItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type ReposGetBranchProtectionResponseRestrictionsAppsItemPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; + }; + type ReposGetBranchProtectionResponseRestrictionsAppsItemOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type ReposGetBranchProtectionResponseRestrictionsAppsItem = { + created_at: string; + description: string; + events: Array; + external_url: string; + html_url: string; + id: number; + name: string; + node_id: string; + owner: ReposGetBranchProtectionResponseRestrictionsAppsItemOwner; + permissions: ReposGetBranchProtectionResponseRestrictionsAppsItemPermissions; + slug: string; + updated_at: string; + }; + type ReposGetBranchProtectionResponseRestrictions = { + apps: Array; + apps_url: string; + teams: Array; + teams_url: string; + url: string; + users: Array; + users_url: string; + }; + type ReposGetBranchProtectionResponseRequiredStatusChecks = { + contexts: Array; + contexts_url: string; + strict: boolean; + url: string; + }; + type ReposGetBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictionsUsersItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposGetBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictionsTeamsItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type ReposGetBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictions = { + teams: Array< + ReposGetBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictionsTeamsItem + >; + teams_url: string; + url: string; + users: Array< + ReposGetBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictionsUsersItem + >; + users_url: string; + }; + type ReposGetBranchProtectionResponseRequiredPullRequestReviews = { + dismiss_stale_reviews: boolean; + dismissal_restrictions: ReposGetBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictions; + require_code_owner_reviews: boolean; + required_approving_review_count: number; + url: string; + }; + type ReposGetBranchProtectionResponseRequiredLinearHistory = { + enabled: boolean; + }; + type ReposGetBranchProtectionResponseEnforceAdmins = { + enabled: boolean; + url: string; + }; + type ReposGetBranchProtectionResponseAllowForcePushes = { enabled: boolean }; + type ReposGetBranchProtectionResponseAllowDeletions = { enabled: boolean }; + type ReposGetBranchProtectionResponse = { + allow_deletions: ReposGetBranchProtectionResponseAllowDeletions; + allow_force_pushes: ReposGetBranchProtectionResponseAllowForcePushes; + enforce_admins: ReposGetBranchProtectionResponseEnforceAdmins; + required_linear_history: ReposGetBranchProtectionResponseRequiredLinearHistory; + required_pull_request_reviews: ReposGetBranchProtectionResponseRequiredPullRequestReviews; + required_status_checks: ReposGetBranchProtectionResponseRequiredStatusChecks; + restrictions: ReposGetBranchProtectionResponseRestrictions; + url: string; + }; + type ReposGetBranchResponseProtectionRequiredStatusChecks = { + contexts: Array; + enforcement_level: string; + }; + type ReposGetBranchResponseProtection = { + enabled: boolean; + required_status_checks: ReposGetBranchResponseProtectionRequiredStatusChecks; + }; + type ReposGetBranchResponseCommitParentsItem = { sha: string; url: string }; + type ReposGetBranchResponseCommitCommitter = { + avatar_url: string; + gravatar_id: string; + id: number; + login: string; + url: string; + }; + type ReposGetBranchResponseCommitCommitVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; + }; + type ReposGetBranchResponseCommitCommitTree = { sha: string; url: string }; + type ReposGetBranchResponseCommitCommitCommitter = { + date: string; + email: string; + name: string; + }; + type ReposGetBranchResponseCommitCommitAuthor = { + date: string; + email: string; + name: string; + }; + type ReposGetBranchResponseCommitCommit = { + author: ReposGetBranchResponseCommitCommitAuthor; + committer: ReposGetBranchResponseCommitCommitCommitter; + message: string; + tree: ReposGetBranchResponseCommitCommitTree; + url: string; + verification: ReposGetBranchResponseCommitCommitVerification; + }; + type ReposGetBranchResponseCommitAuthor = { + avatar_url: string; + gravatar_id: string; + id: number; + login: string; + url: string; + }; + type ReposGetBranchResponseCommit = { + author: ReposGetBranchResponseCommitAuthor; + commit: ReposGetBranchResponseCommitCommit; + committer: ReposGetBranchResponseCommitCommitter; + node_id: string; + parents: Array; + sha: string; + url: string; + }; + type ReposGetBranchResponseLinks = { html: string; self: string }; + type ReposGetBranchResponse = { + _links: ReposGetBranchResponseLinks; + commit: ReposGetBranchResponseCommit; + name: string; + protected: boolean; + protection: ReposGetBranchResponseProtection; + protection_url: string; + }; + type ReposGetAppsWithAccessToProtectedBranchResponseItemPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; + }; + type ReposGetAppsWithAccessToProtectedBranchResponseItemOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type ReposGetAppsWithAccessToProtectedBranchResponseItem = { + created_at: string; + description: string; + events: Array; + external_url: string; + html_url: string; + id: number; + name: string; + node_id: string; + owner: ReposGetAppsWithAccessToProtectedBranchResponseItemOwner; + permissions: ReposGetAppsWithAccessToProtectedBranchResponseItemPermissions; + slug: string; + updated_at: string; + }; + type ReposGetResponseSourcePermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type ReposGetResponseSourceOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposGetResponseSource = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ReposGetResponseSourceOwner; + permissions: ReposGetResponseSourcePermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type ReposGetResponsePermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type ReposGetResponseParentPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type ReposGetResponseParentOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposGetResponseParent = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ReposGetResponseParentOwner; + permissions: ReposGetResponseParentPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type ReposGetResponseOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposGetResponseOrganization = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposGetResponseLicense = { + key: string; + name: string; + node_id: string; + spdx_id: string; + url: string; + }; + type ReposGetResponse = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + license: ReposGetResponseLicense; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + organization: ReposGetResponseOrganization; + owner: ReposGetResponseOwner; + parent: ReposGetResponseParent; + permissions: ReposGetResponsePermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + source: ReposGetResponseSource; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type ReposEnablePagesSiteResponseSource = { + branch: string; + directory: string; + }; + type ReposEnablePagesSiteResponse = { + cname: string; + custom_404: boolean; + html_url: string; + source: ReposEnablePagesSiteResponseSource; + status: string; + url: string; + }; + type ReposDeleteFileResponseCommitVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; + }; + type ReposDeleteFileResponseCommitTree = { sha: string; url: string }; + type ReposDeleteFileResponseCommitParentsItem = { + html_url: string; + sha: string; + url: string; + }; + type ReposDeleteFileResponseCommitCommitter = { + date: string; + email: string; + name: string; + }; + type ReposDeleteFileResponseCommitAuthor = { + date: string; + email: string; + name: string; + }; + type ReposDeleteFileResponseCommit = { + author: ReposDeleteFileResponseCommitAuthor; + committer: ReposDeleteFileResponseCommitCommitter; + html_url: string; + message: string; + node_id: string; + parents: Array; + sha: string; + tree: ReposDeleteFileResponseCommitTree; + url: string; + verification: ReposDeleteFileResponseCommitVerification; + }; + type ReposDeleteFileResponse = { + commit: ReposDeleteFileResponseCommit; + content: null; + }; + type ReposDeleteResponse = { documentation_url: string; message: string }; + type ReposCreateUsingTemplateResponseTemplateRepositoryPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type ReposCreateUsingTemplateResponseTemplateRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposCreateUsingTemplateResponseTemplateRepository = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ReposCreateUsingTemplateResponseTemplateRepositoryOwner; + permissions: ReposCreateUsingTemplateResponseTemplateRepositoryPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type ReposCreateUsingTemplateResponsePermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type ReposCreateUsingTemplateResponseOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposCreateUsingTemplateResponse = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ReposCreateUsingTemplateResponseOwner; + permissions: ReposCreateUsingTemplateResponsePermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: ReposCreateUsingTemplateResponseTemplateRepository; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type ReposCreateStatusResponseCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposCreateStatusResponse = { + avatar_url: string; + context: string; + created_at: string; + creator: ReposCreateStatusResponseCreator; + description: string; + id: number; + node_id: string; + state: string; + target_url: string; + updated_at: string; + url: string; + }; + type ReposCreateReleaseResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposCreateReleaseResponse = { + assets: Array; + assets_url: string; + author: ReposCreateReleaseResponseAuthor; + body: string; + created_at: string; + draft: boolean; + html_url: string; + id: number; + name: string; + node_id: string; + prerelease: boolean; + published_at: string; + tag_name: string; + tarball_url: string; + target_commitish: string; + upload_url: string; + url: string; + zipball_url: string; + }; + type ReposCreateOrUpdateFileResponseContentLinks = { + git: string; + html: string; + self: string; + }; + type ReposCreateOrUpdateFileResponseContent = { + _links: ReposCreateOrUpdateFileResponseContentLinks; + download_url: string; + git_url: string; + html_url: string; + name: string; + path: string; + sha: string; + size: number; + type: string; + url: string; + }; + type ReposCreateOrUpdateFileResponseCommitVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; + }; + type ReposCreateOrUpdateFileResponseCommitTree = { sha: string; url: string }; + type ReposCreateOrUpdateFileResponseCommitParentsItem = { + html_url: string; + sha: string; + url: string; + }; + type ReposCreateOrUpdateFileResponseCommitCommitter = { + date: string; + email: string; + name: string; + }; + type ReposCreateOrUpdateFileResponseCommitAuthor = { + date: string; + email: string; + name: string; + }; + type ReposCreateOrUpdateFileResponseCommit = { + author: ReposCreateOrUpdateFileResponseCommitAuthor; + committer: ReposCreateOrUpdateFileResponseCommitCommitter; + html_url: string; + message: string; + node_id: string; + parents: Array; + sha: string; + tree: ReposCreateOrUpdateFileResponseCommitTree; + url: string; + verification: ReposCreateOrUpdateFileResponseCommitVerification; + }; + type ReposCreateOrUpdateFileResponse = { + commit: ReposCreateOrUpdateFileResponseCommit; + content: ReposCreateOrUpdateFileResponseContent; + }; + type ReposCreateInOrgResponsePermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type ReposCreateInOrgResponseOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposCreateInOrgResponse = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ReposCreateInOrgResponseOwner; + permissions: ReposCreateInOrgResponsePermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type ReposCreateHookResponseLastResponse = { + code: null; + message: null; + status: string; + }; + type ReposCreateHookResponseConfig = { + content_type: string; + insecure_ssl: string; + url: string; + }; + type ReposCreateHookResponse = { + active: boolean; + config: ReposCreateHookResponseConfig; + created_at: string; + events: Array; + id: number; + last_response: ReposCreateHookResponseLastResponse; + name: string; + ping_url: string; + test_url: string; + type: string; + updated_at: string; + url: string; + }; + type ReposCreateForkResponsePermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type ReposCreateForkResponseOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposCreateForkResponse = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ReposCreateForkResponseOwner; + permissions: ReposCreateForkResponsePermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type ReposCreateForAuthenticatedUserResponsePermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type ReposCreateForAuthenticatedUserResponseOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposCreateForAuthenticatedUserResponse = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ReposCreateForAuthenticatedUserResponseOwner; + permissions: ReposCreateForAuthenticatedUserResponsePermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type ReposCreateFileResponseContentLinks = { + git: string; + html: string; + self: string; + }; + type ReposCreateFileResponseContent = { + _links: ReposCreateFileResponseContentLinks; + download_url: string; + git_url: string; + html_url: string; + name: string; + path: string; + sha: string; + size: number; + type: string; + url: string; + }; + type ReposCreateFileResponseCommitVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; + }; + type ReposCreateFileResponseCommitTree = { sha: string; url: string }; + type ReposCreateFileResponseCommitParentsItem = { + html_url: string; + sha: string; + url: string; + }; + type ReposCreateFileResponseCommitCommitter = { + date: string; + email: string; + name: string; + }; + type ReposCreateFileResponseCommitAuthor = { + date: string; + email: string; + name: string; + }; + type ReposCreateFileResponseCommit = { + author: ReposCreateFileResponseCommitAuthor; + committer: ReposCreateFileResponseCommitCommitter; + html_url: string; + message: string; + node_id: string; + parents: Array; + sha: string; + tree: ReposCreateFileResponseCommitTree; + url: string; + verification: ReposCreateFileResponseCommitVerification; + }; + type ReposCreateFileResponse = { + commit: ReposCreateFileResponseCommit; + content: ReposCreateFileResponseContent; + }; + type ReposCreateDeploymentStatusResponseCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposCreateDeploymentStatusResponse = { + created_at: string; + creator: ReposCreateDeploymentStatusResponseCreator; + deployment_url: string; + description: string; + environment: string; + environment_url: string; + id: number; + log_url: string; + node_id: string; + repository_url: string; + state: string; + target_url: string; + updated_at: string; + url: string; + }; + type ReposCreateDeploymentResponsePayload = { deploy: string }; + type ReposCreateDeploymentResponseCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposCreateDeploymentResponse = { + created_at: string; + creator: ReposCreateDeploymentResponseCreator; + description: string; + environment: string; + id: number; + node_id: string; + original_environment: string; + payload: ReposCreateDeploymentResponsePayload; + production_environment: boolean; + ref: string; + repository_url: string; + sha: string; + statuses_url: string; + task: string; + transient_environment: boolean; + updated_at: string; + url: string; + }; + type ReposCreateCommitCommentResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposCreateCommitCommentResponse = { + body: string; + commit_id: string; + created_at: string; + html_url: string; + id: number; + line: number; + node_id: string; + path: string; + position: number; + updated_at: string; + url: string; + user: ReposCreateCommitCommentResponseUser; + }; + type ReposCompareCommitsResponseMergeBaseCommitParentsItem = { + sha: string; + url: string; + }; + type ReposCompareCommitsResponseMergeBaseCommitCommitter = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposCompareCommitsResponseMergeBaseCommitCommitVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; + }; + type ReposCompareCommitsResponseMergeBaseCommitCommitTree = { + sha: string; + url: string; + }; + type ReposCompareCommitsResponseMergeBaseCommitCommitCommitter = { + date: string; + email: string; + name: string; + }; + type ReposCompareCommitsResponseMergeBaseCommitCommitAuthor = { + date: string; + email: string; + name: string; + }; + type ReposCompareCommitsResponseMergeBaseCommitCommit = { + author: ReposCompareCommitsResponseMergeBaseCommitCommitAuthor; + comment_count: number; + committer: ReposCompareCommitsResponseMergeBaseCommitCommitCommitter; + message: string; + tree: ReposCompareCommitsResponseMergeBaseCommitCommitTree; + url: string; + verification: ReposCompareCommitsResponseMergeBaseCommitCommitVerification; + }; + type ReposCompareCommitsResponseMergeBaseCommitAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposCompareCommitsResponseMergeBaseCommit = { + author: ReposCompareCommitsResponseMergeBaseCommitAuthor; + comments_url: string; + commit: ReposCompareCommitsResponseMergeBaseCommitCommit; + committer: ReposCompareCommitsResponseMergeBaseCommitCommitter; + html_url: string; + node_id: string; + parents: Array; + sha: string; + url: string; + }; + type ReposCompareCommitsResponseFilesItem = { + additions: number; + blob_url: string; + changes: number; + contents_url: string; + deletions: number; + filename: string; + patch: string; + raw_url: string; + sha: string; + status: string; + }; + type ReposCompareCommitsResponseCommitsItemParentsItem = { + sha: string; + url: string; + }; + type ReposCompareCommitsResponseCommitsItemCommitter = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposCompareCommitsResponseCommitsItemCommitVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; + }; + type ReposCompareCommitsResponseCommitsItemCommitTree = { + sha: string; + url: string; + }; + type ReposCompareCommitsResponseCommitsItemCommitCommitter = { + date: string; + email: string; + name: string; + }; + type ReposCompareCommitsResponseCommitsItemCommitAuthor = { + date: string; + email: string; + name: string; + }; + type ReposCompareCommitsResponseCommitsItemCommit = { + author: ReposCompareCommitsResponseCommitsItemCommitAuthor; + comment_count: number; + committer: ReposCompareCommitsResponseCommitsItemCommitCommitter; + message: string; + tree: ReposCompareCommitsResponseCommitsItemCommitTree; + url: string; + verification: ReposCompareCommitsResponseCommitsItemCommitVerification; + }; + type ReposCompareCommitsResponseCommitsItemAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposCompareCommitsResponseCommitsItem = { + author: ReposCompareCommitsResponseCommitsItemAuthor; + comments_url: string; + commit: ReposCompareCommitsResponseCommitsItemCommit; + committer: ReposCompareCommitsResponseCommitsItemCommitter; + html_url: string; + node_id: string; + parents: Array; + sha: string; + url: string; + }; + type ReposCompareCommitsResponseBaseCommitParentsItem = { + sha: string; + url: string; + }; + type ReposCompareCommitsResponseBaseCommitCommitter = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposCompareCommitsResponseBaseCommitCommitVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; + }; + type ReposCompareCommitsResponseBaseCommitCommitTree = { + sha: string; + url: string; + }; + type ReposCompareCommitsResponseBaseCommitCommitCommitter = { + date: string; + email: string; + name: string; + }; + type ReposCompareCommitsResponseBaseCommitCommitAuthor = { + date: string; + email: string; + name: string; + }; + type ReposCompareCommitsResponseBaseCommitCommit = { + author: ReposCompareCommitsResponseBaseCommitCommitAuthor; + comment_count: number; + committer: ReposCompareCommitsResponseBaseCommitCommitCommitter; + message: string; + tree: ReposCompareCommitsResponseBaseCommitCommitTree; + url: string; + verification: ReposCompareCommitsResponseBaseCommitCommitVerification; + }; + type ReposCompareCommitsResponseBaseCommitAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposCompareCommitsResponseBaseCommit = { + author: ReposCompareCommitsResponseBaseCommitAuthor; + comments_url: string; + commit: ReposCompareCommitsResponseBaseCommitCommit; + committer: ReposCompareCommitsResponseBaseCommitCommitter; + html_url: string; + node_id: string; + parents: Array; + sha: string; + url: string; + }; + type ReposCompareCommitsResponse = { + ahead_by: number; + base_commit: ReposCompareCommitsResponseBaseCommit; + behind_by: number; + commits: Array; + diff_url: string; + files: Array; + html_url: string; + merge_base_commit: ReposCompareCommitsResponseMergeBaseCommit; + patch_url: string; + permalink_url: string; + status: string; + total_commits: number; + url: string; + }; + type ReposAddProtectedBranchUserRestrictionsResponseItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposAddProtectedBranchTeamRestrictionsResponseItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type ReposAddProtectedBranchRequiredSignaturesResponse = { + enabled: boolean; + url: string; + }; + type ReposAddProtectedBranchAppRestrictionsResponseItemPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; + }; + type ReposAddProtectedBranchAppRestrictionsResponseItemOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type ReposAddProtectedBranchAppRestrictionsResponseItem = { + created_at: string; + description: string; + events: Array; + external_url: string; + html_url: string; + id: number; + name: string; + node_id: string; + owner: ReposAddProtectedBranchAppRestrictionsResponseItemOwner; + permissions: ReposAddProtectedBranchAppRestrictionsResponseItemPermissions; + slug: string; + updated_at: string; + }; + type ReposAddProtectedBranchAdminEnforcementResponse = { + enabled: boolean; + url: string; + }; + type ReposAddDeployKeyResponse = { + created_at: string; + id: number; + key: string; + read_only: boolean; + title: string; + url: string; + verified: boolean; + }; + type ReposAddCollaboratorResponseRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposAddCollaboratorResponseRepository = { + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + description: string; + downloads_url: string; + events_url: string; + fork: boolean; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + html_url: string; + id: number; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + name: string; + node_id: string; + notifications_url: string; + owner: ReposAddCollaboratorResponseRepositoryOwner; + private: boolean; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + url: string; + }; + type ReposAddCollaboratorResponseInviter = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposAddCollaboratorResponseInvitee = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposAddCollaboratorResponse = { + created_at: string; + html_url: string; + id: number; + invitee: ReposAddCollaboratorResponseInvitee; + inviter: ReposAddCollaboratorResponseInviter; + permissions: string; + repository: ReposAddCollaboratorResponseRepository; + url: string; + }; + type ReactionsListForTeamDiscussionLegacyResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReactionsListForTeamDiscussionLegacyResponseItem = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsListForTeamDiscussionLegacyResponseItemUser; + }; + type ReactionsListForTeamDiscussionInOrgResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReactionsListForTeamDiscussionInOrgResponseItem = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsListForTeamDiscussionInOrgResponseItemUser; + }; + type ReactionsListForTeamDiscussionCommentLegacyResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReactionsListForTeamDiscussionCommentLegacyResponseItem = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsListForTeamDiscussionCommentLegacyResponseItemUser; + }; + type ReactionsListForTeamDiscussionCommentInOrgResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReactionsListForTeamDiscussionCommentInOrgResponseItem = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsListForTeamDiscussionCommentInOrgResponseItemUser; + }; + type ReactionsListForTeamDiscussionCommentResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReactionsListForTeamDiscussionCommentResponseItem = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsListForTeamDiscussionCommentResponseItemUser; + }; + type ReactionsListForTeamDiscussionResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReactionsListForTeamDiscussionResponseItem = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsListForTeamDiscussionResponseItemUser; + }; + type ReactionsListForPullRequestReviewCommentResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReactionsListForPullRequestReviewCommentResponseItem = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsListForPullRequestReviewCommentResponseItemUser; + }; + type ReactionsListForIssueCommentResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReactionsListForIssueCommentResponseItem = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsListForIssueCommentResponseItemUser; + }; + type ReactionsListForIssueResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReactionsListForIssueResponseItem = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsListForIssueResponseItemUser; + }; + type ReactionsListForCommitCommentResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReactionsListForCommitCommentResponseItem = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsListForCommitCommentResponseItemUser; + }; + type ReactionsCreateForTeamDiscussionLegacyResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReactionsCreateForTeamDiscussionLegacyResponse = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsCreateForTeamDiscussionLegacyResponseUser; + }; + type ReactionsCreateForTeamDiscussionInOrgResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReactionsCreateForTeamDiscussionInOrgResponse = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsCreateForTeamDiscussionInOrgResponseUser; + }; + type ReactionsCreateForTeamDiscussionCommentLegacyResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReactionsCreateForTeamDiscussionCommentLegacyResponse = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsCreateForTeamDiscussionCommentLegacyResponseUser; + }; + type ReactionsCreateForTeamDiscussionCommentInOrgResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReactionsCreateForTeamDiscussionCommentInOrgResponse = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsCreateForTeamDiscussionCommentInOrgResponseUser; + }; + type ReactionsCreateForTeamDiscussionCommentResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReactionsCreateForTeamDiscussionCommentResponse = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsCreateForTeamDiscussionCommentResponseUser; + }; + type ReactionsCreateForTeamDiscussionResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReactionsCreateForTeamDiscussionResponse = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsCreateForTeamDiscussionResponseUser; + }; + type ReactionsCreateForPullRequestReviewCommentResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReactionsCreateForPullRequestReviewCommentResponse = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsCreateForPullRequestReviewCommentResponseUser; + }; + type ReactionsCreateForIssueCommentResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReactionsCreateForIssueCommentResponse = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsCreateForIssueCommentResponseUser; + }; + type ReactionsCreateForIssueResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReactionsCreateForIssueResponse = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsCreateForIssueResponseUser; + }; + type ReactionsCreateForCommitCommentResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReactionsCreateForCommitCommentResponse = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsCreateForCommitCommentResponseUser; + }; + type RateLimitGetResponseResourcesSearch = { + limit: number; + remaining: number; + reset: number; + }; + type RateLimitGetResponseResourcesIntegrationManifest = { + limit: number; + remaining: number; + reset: number; + }; + type RateLimitGetResponseResourcesGraphql = { + limit: number; + remaining: number; + reset: number; + }; + type RateLimitGetResponseResourcesCore = { + limit: number; + remaining: number; + reset: number; + }; + type RateLimitGetResponseResources = { + core: RateLimitGetResponseResourcesCore; + graphql: RateLimitGetResponseResourcesGraphql; + integration_manifest: RateLimitGetResponseResourcesIntegrationManifest; + search: RateLimitGetResponseResourcesSearch; + }; + type RateLimitGetResponseRate = { + limit: number; + remaining: number; + reset: number; + }; + type RateLimitGetResponse = { + rate: RateLimitGetResponseRate; + resources: RateLimitGetResponseResources; + }; + type PullsUpdateReviewResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsUpdateReviewResponseLinksPullRequest = { href: string }; + type PullsUpdateReviewResponseLinksHtml = { href: string }; + type PullsUpdateReviewResponseLinks = { + html: PullsUpdateReviewResponseLinksHtml; + pull_request: PullsUpdateReviewResponseLinksPullRequest; + }; + type PullsUpdateReviewResponse = { + _links: PullsUpdateReviewResponseLinks; + body: string; + commit_id: string; + html_url: string; + id: number; + node_id: string; + pull_request_url: string; + state: string; + user: PullsUpdateReviewResponseUser; + }; + type PullsUpdateCommentResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsUpdateCommentResponseLinksSelf = { href: string }; + type PullsUpdateCommentResponseLinksPullRequest = { href: string }; + type PullsUpdateCommentResponseLinksHtml = { href: string }; + type PullsUpdateCommentResponseLinks = { + html: PullsUpdateCommentResponseLinksHtml; + pull_request: PullsUpdateCommentResponseLinksPullRequest; + self: PullsUpdateCommentResponseLinksSelf; + }; + type PullsUpdateCommentResponse = { + _links: PullsUpdateCommentResponseLinks; + author_association: string; + body: string; + commit_id: string; + created_at: string; + diff_hunk: string; + html_url: string; + id: number; + in_reply_to_id: number; + line: number; + node_id: string; + original_commit_id: string; + original_line: number; + original_position: number; + original_start_line: number; + path: string; + position: number; + pull_request_review_id: number; + pull_request_url: string; + side: string; + start_line: number; + start_side: string; + updated_at: string; + url: string; + user: PullsUpdateCommentResponseUser; + }; + type PullsUpdateBranchResponse = { message: string; url: string }; + type PullsUpdateResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsUpdateResponseRequestedTeamsItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type PullsUpdateResponseRequestedReviewersItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsUpdateResponseMilestoneCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsUpdateResponseMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: PullsUpdateResponseMilestoneCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; + }; + type PullsUpdateResponseMergedBy = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsUpdateResponseLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type PullsUpdateResponseHeadUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsUpdateResponseHeadRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type PullsUpdateResponseHeadRepoOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsUpdateResponseHeadRepo = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: PullsUpdateResponseHeadRepoOwner; + permissions: PullsUpdateResponseHeadRepoPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type PullsUpdateResponseHead = { + label: string; + ref: string; + repo: PullsUpdateResponseHeadRepo; + sha: string; + user: PullsUpdateResponseHeadUser; + }; + type PullsUpdateResponseBaseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsUpdateResponseBaseRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type PullsUpdateResponseBaseRepoOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsUpdateResponseBaseRepo = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: PullsUpdateResponseBaseRepoOwner; + permissions: PullsUpdateResponseBaseRepoPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type PullsUpdateResponseBase = { + label: string; + ref: string; + repo: PullsUpdateResponseBaseRepo; + sha: string; + user: PullsUpdateResponseBaseUser; + }; + type PullsUpdateResponseAssigneesItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsUpdateResponseAssignee = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsUpdateResponseLinksStatuses = { href: string }; + type PullsUpdateResponseLinksSelf = { href: string }; + type PullsUpdateResponseLinksReviewComments = { href: string }; + type PullsUpdateResponseLinksReviewComment = { href: string }; + type PullsUpdateResponseLinksIssue = { href: string }; + type PullsUpdateResponseLinksHtml = { href: string }; + type PullsUpdateResponseLinksCommits = { href: string }; + type PullsUpdateResponseLinksComments = { href: string }; + type PullsUpdateResponseLinks = { + comments: PullsUpdateResponseLinksComments; + commits: PullsUpdateResponseLinksCommits; + html: PullsUpdateResponseLinksHtml; + issue: PullsUpdateResponseLinksIssue; + review_comment: PullsUpdateResponseLinksReviewComment; + review_comments: PullsUpdateResponseLinksReviewComments; + self: PullsUpdateResponseLinksSelf; + statuses: PullsUpdateResponseLinksStatuses; + }; + type PullsUpdateResponse = { + _links: PullsUpdateResponseLinks; + active_lock_reason: string; + additions: number; + assignee: PullsUpdateResponseAssignee; + assignees: Array; + author_association: string; + base: PullsUpdateResponseBase; + body: string; + changed_files: number; + closed_at: string; + comments: number; + comments_url: string; + commits: number; + commits_url: string; + created_at: string; + deletions: number; + diff_url: string; + draft: boolean; + head: PullsUpdateResponseHead; + html_url: string; + id: number; + issue_url: string; + labels: Array; + locked: boolean; + maintainer_can_modify: boolean; + merge_commit_sha: string; + mergeable: boolean; + mergeable_state: string; + merged: boolean; + merged_at: string; + merged_by: PullsUpdateResponseMergedBy; + milestone: PullsUpdateResponseMilestone; + node_id: string; + number: number; + patch_url: string; + rebaseable: boolean; + requested_reviewers: Array; + requested_teams: Array; + review_comment_url: string; + review_comments: number; + review_comments_url: string; + state: string; + statuses_url: string; + title: string; + updated_at: string; + url: string; + user: PullsUpdateResponseUser; + }; + type PullsSubmitReviewResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsSubmitReviewResponseLinksPullRequest = { href: string }; + type PullsSubmitReviewResponseLinksHtml = { href: string }; + type PullsSubmitReviewResponseLinks = { + html: PullsSubmitReviewResponseLinksHtml; + pull_request: PullsSubmitReviewResponseLinksPullRequest; + }; + type PullsSubmitReviewResponse = { + _links: PullsSubmitReviewResponseLinks; + body: string; + commit_id: string; + html_url: string; + id: number; + node_id: string; + pull_request_url: string; + state: string; + submitted_at: string; + user: PullsSubmitReviewResponseUser; + }; + type PullsMergeResponse = { merged: boolean; message: string; sha: string }; + type PullsListReviewsResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsListReviewsResponseItemLinksPullRequest = { href: string }; + type PullsListReviewsResponseItemLinksHtml = { href: string }; + type PullsListReviewsResponseItemLinks = { + html: PullsListReviewsResponseItemLinksHtml; + pull_request: PullsListReviewsResponseItemLinksPullRequest; + }; + type PullsListReviewsResponseItem = { + _links: PullsListReviewsResponseItemLinks; + body: string; + commit_id: string; + html_url: string; + id: number; + node_id: string; + pull_request_url: string; + state: string; + submitted_at: string; + user: PullsListReviewsResponseItemUser; + }; + type PullsListReviewRequestsResponseUsersItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsListReviewRequestsResponseTeamsItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type PullsListReviewRequestsResponse = { + teams: Array; + users: Array; + }; + type PullsListFilesResponseItem = { + additions: number; + blob_url: string; + changes: number; + contents_url: string; + deletions: number; + filename: string; + patch: string; + raw_url: string; + sha: string; + status: string; + }; + type PullsListCommitsResponseItemParentsItem = { sha: string; url: string }; + type PullsListCommitsResponseItemCommitter = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsListCommitsResponseItemCommitVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; + }; + type PullsListCommitsResponseItemCommitTree = { sha: string; url: string }; + type PullsListCommitsResponseItemCommitCommitter = { + date: string; + email: string; + name: string; + }; + type PullsListCommitsResponseItemCommitAuthor = { + date: string; + email: string; + name: string; + }; + type PullsListCommitsResponseItemCommit = { + author: PullsListCommitsResponseItemCommitAuthor; + comment_count: number; + committer: PullsListCommitsResponseItemCommitCommitter; + message: string; + tree: PullsListCommitsResponseItemCommitTree; + url: string; + verification: PullsListCommitsResponseItemCommitVerification; + }; + type PullsListCommitsResponseItemAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsListCommitsResponseItem = { + author: PullsListCommitsResponseItemAuthor; + comments_url: string; + commit: PullsListCommitsResponseItemCommit; + committer: PullsListCommitsResponseItemCommitter; + html_url: string; + node_id: string; + parents: Array; + sha: string; + url: string; + }; + type PullsListCommentsForRepoResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsListCommentsForRepoResponseItemLinksSelf = { href: string }; + type PullsListCommentsForRepoResponseItemLinksPullRequest = { href: string }; + type PullsListCommentsForRepoResponseItemLinksHtml = { href: string }; + type PullsListCommentsForRepoResponseItemLinks = { + html: PullsListCommentsForRepoResponseItemLinksHtml; + pull_request: PullsListCommentsForRepoResponseItemLinksPullRequest; + self: PullsListCommentsForRepoResponseItemLinksSelf; + }; + type PullsListCommentsForRepoResponseItem = { + _links: PullsListCommentsForRepoResponseItemLinks; + author_association: string; + body: string; + commit_id: string; + created_at: string; + diff_hunk: string; + html_url: string; + id: number; + in_reply_to_id: number; + line: number; + node_id: string; + original_commit_id: string; + original_line: number; + original_position: number; + original_start_line: number; + path: string; + position: number; + pull_request_review_id: number; + pull_request_url: string; + side: string; + start_line: number; + start_side: string; + updated_at: string; + url: string; + user: PullsListCommentsForRepoResponseItemUser; + }; + type PullsListCommentsResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsListCommentsResponseItemLinksSelf = { href: string }; + type PullsListCommentsResponseItemLinksPullRequest = { href: string }; + type PullsListCommentsResponseItemLinksHtml = { href: string }; + type PullsListCommentsResponseItemLinks = { + html: PullsListCommentsResponseItemLinksHtml; + pull_request: PullsListCommentsResponseItemLinksPullRequest; + self: PullsListCommentsResponseItemLinksSelf; + }; + type PullsListCommentsResponseItem = { + _links: PullsListCommentsResponseItemLinks; + author_association: string; + body: string; + commit_id: string; + created_at: string; + diff_hunk: string; + html_url: string; + id: number; + in_reply_to_id: number; + line: number; + node_id: string; + original_commit_id: string; + original_line: number; + original_position: number; + original_start_line: number; + path: string; + position: number; + pull_request_review_id: number; + pull_request_url: string; + side: string; + start_line: number; + start_side: string; + updated_at: string; + url: string; + user: PullsListCommentsResponseItemUser; + }; + type PullsListResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsListResponseItemRequestedTeamsItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type PullsListResponseItemRequestedReviewersItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsListResponseItemMilestoneCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsListResponseItemMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: PullsListResponseItemMilestoneCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; + }; + type PullsListResponseItemLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type PullsListResponseItemHeadUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsListResponseItemHeadRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type PullsListResponseItemHeadRepoOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsListResponseItemHeadRepo = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: PullsListResponseItemHeadRepoOwner; + permissions: PullsListResponseItemHeadRepoPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type PullsListResponseItemHead = { + label: string; + ref: string; + repo: PullsListResponseItemHeadRepo; + sha: string; + user: PullsListResponseItemHeadUser; + }; + type PullsListResponseItemBaseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsListResponseItemBaseRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type PullsListResponseItemBaseRepoOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsListResponseItemBaseRepo = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: PullsListResponseItemBaseRepoOwner; + permissions: PullsListResponseItemBaseRepoPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type PullsListResponseItemBase = { + label: string; + ref: string; + repo: PullsListResponseItemBaseRepo; + sha: string; + user: PullsListResponseItemBaseUser; + }; + type PullsListResponseItemAssigneesItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsListResponseItemAssignee = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsListResponseItemLinksStatuses = { href: string }; + type PullsListResponseItemLinksSelf = { href: string }; + type PullsListResponseItemLinksReviewComments = { href: string }; + type PullsListResponseItemLinksReviewComment = { href: string }; + type PullsListResponseItemLinksIssue = { href: string }; + type PullsListResponseItemLinksHtml = { href: string }; + type PullsListResponseItemLinksCommits = { href: string }; + type PullsListResponseItemLinksComments = { href: string }; + type PullsListResponseItemLinks = { + comments: PullsListResponseItemLinksComments; + commits: PullsListResponseItemLinksCommits; + html: PullsListResponseItemLinksHtml; + issue: PullsListResponseItemLinksIssue; + review_comment: PullsListResponseItemLinksReviewComment; + review_comments: PullsListResponseItemLinksReviewComments; + self: PullsListResponseItemLinksSelf; + statuses: PullsListResponseItemLinksStatuses; + }; + type PullsListResponseItem = { + _links: PullsListResponseItemLinks; + active_lock_reason: string; + assignee: PullsListResponseItemAssignee; + assignees: Array; + author_association: string; + base: PullsListResponseItemBase; + body: string; + closed_at: string; + comments_url: string; + commits_url: string; + created_at: string; + diff_url: string; + draft: boolean; + head: PullsListResponseItemHead; + html_url: string; + id: number; + issue_url: string; + labels: Array; + locked: boolean; + merge_commit_sha: string; + merged_at: string; + milestone: PullsListResponseItemMilestone; + node_id: string; + number: number; + patch_url: string; + requested_reviewers: Array; + requested_teams: Array; + review_comment_url: string; + review_comments_url: string; + state: string; + statuses_url: string; + title: string; + updated_at: string; + url: string; + user: PullsListResponseItemUser; + }; + type PullsGetReviewResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsGetReviewResponseLinksPullRequest = { href: string }; + type PullsGetReviewResponseLinksHtml = { href: string }; + type PullsGetReviewResponseLinks = { + html: PullsGetReviewResponseLinksHtml; + pull_request: PullsGetReviewResponseLinksPullRequest; + }; + type PullsGetReviewResponse = { + _links: PullsGetReviewResponseLinks; + body: string; + commit_id: string; + html_url: string; + id: number; + node_id: string; + pull_request_url: string; + state: string; + submitted_at: string; + user: PullsGetReviewResponseUser; + }; + type PullsGetCommentsForReviewResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsGetCommentsForReviewResponseItemLinksSelf = { href: string }; + type PullsGetCommentsForReviewResponseItemLinksPullRequest = { href: string }; + type PullsGetCommentsForReviewResponseItemLinksHtml = { href: string }; + type PullsGetCommentsForReviewResponseItemLinks = { + html: PullsGetCommentsForReviewResponseItemLinksHtml; + pull_request: PullsGetCommentsForReviewResponseItemLinksPullRequest; + self: PullsGetCommentsForReviewResponseItemLinksSelf; + }; + type PullsGetCommentsForReviewResponseItem = { + _links: PullsGetCommentsForReviewResponseItemLinks; + author_association: string; + body: string; + commit_id: string; + created_at: string; + diff_hunk: string; + html_url: string; + id: number; + in_reply_to_id: number; + node_id: string; + original_commit_id: string; + original_position: number; + path: string; + position: number; + pull_request_review_id: number; + pull_request_url: string; + updated_at: string; + url: string; + user: PullsGetCommentsForReviewResponseItemUser; + }; + type PullsGetCommentResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsGetCommentResponseLinksSelf = { href: string }; + type PullsGetCommentResponseLinksPullRequest = { href: string }; + type PullsGetCommentResponseLinksHtml = { href: string }; + type PullsGetCommentResponseLinks = { + html: PullsGetCommentResponseLinksHtml; + pull_request: PullsGetCommentResponseLinksPullRequest; + self: PullsGetCommentResponseLinksSelf; + }; + type PullsGetCommentResponse = { + _links: PullsGetCommentResponseLinks; + author_association: string; + body: string; + commit_id: string; + created_at: string; + diff_hunk: string; + html_url: string; + id: number; + in_reply_to_id: number; + line: number; + node_id: string; + original_commit_id: string; + original_line: number; + original_position: number; + original_start_line: number; + path: string; + position: number; + pull_request_review_id: number; + pull_request_url: string; + side: string; + start_line: number; + start_side: string; + updated_at: string; + url: string; + user: PullsGetCommentResponseUser; + }; + type PullsGetResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsGetResponseRequestedTeamsItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type PullsGetResponseRequestedReviewersItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsGetResponseMilestoneCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsGetResponseMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: PullsGetResponseMilestoneCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; + }; + type PullsGetResponseMergedBy = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsGetResponseLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type PullsGetResponseHeadUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsGetResponseHeadRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type PullsGetResponseHeadRepoOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsGetResponseHeadRepo = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: PullsGetResponseHeadRepoOwner; + permissions: PullsGetResponseHeadRepoPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type PullsGetResponseHead = { + label: string; + ref: string; + repo: PullsGetResponseHeadRepo; + sha: string; + user: PullsGetResponseHeadUser; + }; + type PullsGetResponseBaseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsGetResponseBaseRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type PullsGetResponseBaseRepoOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsGetResponseBaseRepo = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: PullsGetResponseBaseRepoOwner; + permissions: PullsGetResponseBaseRepoPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type PullsGetResponseBase = { + label: string; + ref: string; + repo: PullsGetResponseBaseRepo; + sha: string; + user: PullsGetResponseBaseUser; + }; + type PullsGetResponseAssigneesItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsGetResponseAssignee = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsGetResponseLinksStatuses = { href: string }; + type PullsGetResponseLinksSelf = { href: string }; + type PullsGetResponseLinksReviewComments = { href: string }; + type PullsGetResponseLinksReviewComment = { href: string }; + type PullsGetResponseLinksIssue = { href: string }; + type PullsGetResponseLinksHtml = { href: string }; + type PullsGetResponseLinksCommits = { href: string }; + type PullsGetResponseLinksComments = { href: string }; + type PullsGetResponseLinks = { + comments: PullsGetResponseLinksComments; + commits: PullsGetResponseLinksCommits; + html: PullsGetResponseLinksHtml; + issue: PullsGetResponseLinksIssue; + review_comment: PullsGetResponseLinksReviewComment; + review_comments: PullsGetResponseLinksReviewComments; + self: PullsGetResponseLinksSelf; + statuses: PullsGetResponseLinksStatuses; + }; + type PullsGetResponse = { + _links: PullsGetResponseLinks; + active_lock_reason: string; + additions: number; + assignee: PullsGetResponseAssignee; + assignees: Array; + author_association: string; + base: PullsGetResponseBase; + body: string; + changed_files: number; + closed_at: string; + comments: number; + comments_url: string; + commits: number; + commits_url: string; + created_at: string; + deletions: number; + diff_url: string; + draft: boolean; + head: PullsGetResponseHead; + html_url: string; + id: number; + issue_url: string; + labels: Array; + locked: boolean; + maintainer_can_modify: boolean; + merge_commit_sha: string; + mergeable: boolean; + mergeable_state: string; + merged: boolean; + merged_at: string; + merged_by: PullsGetResponseMergedBy; + milestone: PullsGetResponseMilestone; + node_id: string; + number: number; + patch_url: string; + rebaseable: boolean; + requested_reviewers: Array; + requested_teams: Array; + review_comment_url: string; + review_comments: number; + review_comments_url: string; + state: string; + statuses_url: string; + title: string; + updated_at: string; + url: string; + user: PullsGetResponseUser; + }; + type PullsDismissReviewResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsDismissReviewResponseLinksPullRequest = { href: string }; + type PullsDismissReviewResponseLinksHtml = { href: string }; + type PullsDismissReviewResponseLinks = { + html: PullsDismissReviewResponseLinksHtml; + pull_request: PullsDismissReviewResponseLinksPullRequest; + }; + type PullsDismissReviewResponse = { + _links: PullsDismissReviewResponseLinks; + body: string; + commit_id: string; + html_url: string; + id: number; + node_id: string; + pull_request_url: string; + state: string; + user: PullsDismissReviewResponseUser; + }; + type PullsDeletePendingReviewResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsDeletePendingReviewResponseLinksPullRequest = { href: string }; + type PullsDeletePendingReviewResponseLinksHtml = { href: string }; + type PullsDeletePendingReviewResponseLinks = { + html: PullsDeletePendingReviewResponseLinksHtml; + pull_request: PullsDeletePendingReviewResponseLinksPullRequest; + }; + type PullsDeletePendingReviewResponse = { + _links: PullsDeletePendingReviewResponseLinks; + body: string; + commit_id: string; + html_url: string; + id: number; + node_id: string; + pull_request_url: string; + state: string; + user: PullsDeletePendingReviewResponseUser; + }; + type PullsCreateReviewRequestResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsCreateReviewRequestResponseRequestedTeamsItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type PullsCreateReviewRequestResponseRequestedReviewersItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsCreateReviewRequestResponseMilestoneCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsCreateReviewRequestResponseMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: PullsCreateReviewRequestResponseMilestoneCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; + }; + type PullsCreateReviewRequestResponseLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type PullsCreateReviewRequestResponseHeadUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsCreateReviewRequestResponseHeadRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type PullsCreateReviewRequestResponseHeadRepoOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsCreateReviewRequestResponseHeadRepo = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: PullsCreateReviewRequestResponseHeadRepoOwner; + permissions: PullsCreateReviewRequestResponseHeadRepoPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type PullsCreateReviewRequestResponseHead = { + label: string; + ref: string; + repo: PullsCreateReviewRequestResponseHeadRepo; + sha: string; + user: PullsCreateReviewRequestResponseHeadUser; + }; + type PullsCreateReviewRequestResponseBaseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsCreateReviewRequestResponseBaseRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type PullsCreateReviewRequestResponseBaseRepoOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsCreateReviewRequestResponseBaseRepo = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: PullsCreateReviewRequestResponseBaseRepoOwner; + permissions: PullsCreateReviewRequestResponseBaseRepoPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type PullsCreateReviewRequestResponseBase = { + label: string; + ref: string; + repo: PullsCreateReviewRequestResponseBaseRepo; + sha: string; + user: PullsCreateReviewRequestResponseBaseUser; + }; + type PullsCreateReviewRequestResponseAssigneesItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsCreateReviewRequestResponseAssignee = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsCreateReviewRequestResponseLinksStatuses = { href: string }; + type PullsCreateReviewRequestResponseLinksSelf = { href: string }; + type PullsCreateReviewRequestResponseLinksReviewComments = { href: string }; + type PullsCreateReviewRequestResponseLinksReviewComment = { href: string }; + type PullsCreateReviewRequestResponseLinksIssue = { href: string }; + type PullsCreateReviewRequestResponseLinksHtml = { href: string }; + type PullsCreateReviewRequestResponseLinksCommits = { href: string }; + type PullsCreateReviewRequestResponseLinksComments = { href: string }; + type PullsCreateReviewRequestResponseLinks = { + comments: PullsCreateReviewRequestResponseLinksComments; + commits: PullsCreateReviewRequestResponseLinksCommits; + html: PullsCreateReviewRequestResponseLinksHtml; + issue: PullsCreateReviewRequestResponseLinksIssue; + review_comment: PullsCreateReviewRequestResponseLinksReviewComment; + review_comments: PullsCreateReviewRequestResponseLinksReviewComments; + self: PullsCreateReviewRequestResponseLinksSelf; + statuses: PullsCreateReviewRequestResponseLinksStatuses; + }; + type PullsCreateReviewRequestResponse = { + _links: PullsCreateReviewRequestResponseLinks; + active_lock_reason: string; + assignee: PullsCreateReviewRequestResponseAssignee; + assignees: Array; + author_association: string; + base: PullsCreateReviewRequestResponseBase; + body: string; + closed_at: string; + comments_url: string; + commits_url: string; + created_at: string; + diff_url: string; + draft: boolean; + head: PullsCreateReviewRequestResponseHead; + html_url: string; + id: number; + issue_url: string; + labels: Array; + locked: boolean; + merge_commit_sha: string; + merged_at: string; + milestone: PullsCreateReviewRequestResponseMilestone; + node_id: string; + number: number; + patch_url: string; + requested_reviewers: Array< + PullsCreateReviewRequestResponseRequestedReviewersItem + >; + requested_teams: Array; + review_comment_url: string; + review_comments_url: string; + state: string; + statuses_url: string; + title: string; + updated_at: string; + url: string; + user: PullsCreateReviewRequestResponseUser; + }; + type PullsCreateReviewCommentReplyResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsCreateReviewCommentReplyResponseLinksSelf = { href: string }; + type PullsCreateReviewCommentReplyResponseLinksPullRequest = { href: string }; + type PullsCreateReviewCommentReplyResponseLinksHtml = { href: string }; + type PullsCreateReviewCommentReplyResponseLinks = { + html: PullsCreateReviewCommentReplyResponseLinksHtml; + pull_request: PullsCreateReviewCommentReplyResponseLinksPullRequest; + self: PullsCreateReviewCommentReplyResponseLinksSelf; + }; + type PullsCreateReviewCommentReplyResponse = { + _links: PullsCreateReviewCommentReplyResponseLinks; + author_association: string; + body: string; + commit_id: string; + created_at: string; + diff_hunk: string; + html_url: string; + id: number; + node_id: string; + original_commit_id: string; + original_position: number; + path: string; + position: number; + pull_request_review_id: number; + pull_request_url: string; + updated_at: string; + url: string; + user: PullsCreateReviewCommentReplyResponseUser; + }; + type PullsCreateReviewResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsCreateReviewResponseLinksPullRequest = { href: string }; + type PullsCreateReviewResponseLinksHtml = { href: string }; + type PullsCreateReviewResponseLinks = { + html: PullsCreateReviewResponseLinksHtml; + pull_request: PullsCreateReviewResponseLinksPullRequest; + }; + type PullsCreateReviewResponse = { + _links: PullsCreateReviewResponseLinks; + body: string; + commit_id: string; + html_url: string; + id: number; + node_id: string; + pull_request_url: string; + state: string; + user: PullsCreateReviewResponseUser; + }; + type PullsCreateFromIssueResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsCreateFromIssueResponseRequestedTeamsItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type PullsCreateFromIssueResponseRequestedReviewersItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsCreateFromIssueResponseMilestoneCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsCreateFromIssueResponseMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: PullsCreateFromIssueResponseMilestoneCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; + }; + type PullsCreateFromIssueResponseMergedBy = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsCreateFromIssueResponseLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type PullsCreateFromIssueResponseHeadUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsCreateFromIssueResponseHeadRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type PullsCreateFromIssueResponseHeadRepoOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsCreateFromIssueResponseHeadRepo = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: PullsCreateFromIssueResponseHeadRepoOwner; + permissions: PullsCreateFromIssueResponseHeadRepoPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type PullsCreateFromIssueResponseHead = { + label: string; + ref: string; + repo: PullsCreateFromIssueResponseHeadRepo; + sha: string; + user: PullsCreateFromIssueResponseHeadUser; + }; + type PullsCreateFromIssueResponseBaseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsCreateFromIssueResponseBaseRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type PullsCreateFromIssueResponseBaseRepoOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsCreateFromIssueResponseBaseRepo = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: PullsCreateFromIssueResponseBaseRepoOwner; + permissions: PullsCreateFromIssueResponseBaseRepoPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type PullsCreateFromIssueResponseBase = { + label: string; + ref: string; + repo: PullsCreateFromIssueResponseBaseRepo; + sha: string; + user: PullsCreateFromIssueResponseBaseUser; + }; + type PullsCreateFromIssueResponseAssigneesItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsCreateFromIssueResponseAssignee = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsCreateFromIssueResponseLinksStatuses = { href: string }; + type PullsCreateFromIssueResponseLinksSelf = { href: string }; + type PullsCreateFromIssueResponseLinksReviewComments = { href: string }; + type PullsCreateFromIssueResponseLinksReviewComment = { href: string }; + type PullsCreateFromIssueResponseLinksIssue = { href: string }; + type PullsCreateFromIssueResponseLinksHtml = { href: string }; + type PullsCreateFromIssueResponseLinksCommits = { href: string }; + type PullsCreateFromIssueResponseLinksComments = { href: string }; + type PullsCreateFromIssueResponseLinks = { + comments: PullsCreateFromIssueResponseLinksComments; + commits: PullsCreateFromIssueResponseLinksCommits; + html: PullsCreateFromIssueResponseLinksHtml; + issue: PullsCreateFromIssueResponseLinksIssue; + review_comment: PullsCreateFromIssueResponseLinksReviewComment; + review_comments: PullsCreateFromIssueResponseLinksReviewComments; + self: PullsCreateFromIssueResponseLinksSelf; + statuses: PullsCreateFromIssueResponseLinksStatuses; + }; + type PullsCreateFromIssueResponse = { + _links: PullsCreateFromIssueResponseLinks; + active_lock_reason: string; + additions: number; + assignee: PullsCreateFromIssueResponseAssignee; + assignees: Array; + author_association: string; + base: PullsCreateFromIssueResponseBase; + body: string; + changed_files: number; + closed_at: string; + comments: number; + comments_url: string; + commits: number; + commits_url: string; + created_at: string; + deletions: number; + diff_url: string; + draft: boolean; + head: PullsCreateFromIssueResponseHead; + html_url: string; + id: number; + issue_url: string; + labels: Array; + locked: boolean; + maintainer_can_modify: boolean; + merge_commit_sha: string; + mergeable: boolean; + mergeable_state: string; + merged: boolean; + merged_at: string; + merged_by: PullsCreateFromIssueResponseMergedBy; + milestone: PullsCreateFromIssueResponseMilestone; + node_id: string; + number: number; + patch_url: string; + rebaseable: boolean; + requested_reviewers: Array< + PullsCreateFromIssueResponseRequestedReviewersItem + >; + requested_teams: Array; + review_comment_url: string; + review_comments: number; + review_comments_url: string; + state: string; + statuses_url: string; + title: string; + updated_at: string; + url: string; + user: PullsCreateFromIssueResponseUser; + }; + type PullsCreateCommentReplyResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsCreateCommentReplyResponseLinksSelf = { href: string }; + type PullsCreateCommentReplyResponseLinksPullRequest = { href: string }; + type PullsCreateCommentReplyResponseLinksHtml = { href: string }; + type PullsCreateCommentReplyResponseLinks = { + html: PullsCreateCommentReplyResponseLinksHtml; + pull_request: PullsCreateCommentReplyResponseLinksPullRequest; + self: PullsCreateCommentReplyResponseLinksSelf; + }; + type PullsCreateCommentReplyResponse = { + _links: PullsCreateCommentReplyResponseLinks; + author_association: string; + body: string; + commit_id: string; + created_at: string; + diff_hunk: string; + html_url: string; + id: number; + in_reply_to_id: number; + line: number; + node_id: string; + original_commit_id: string; + original_line: number; + original_position: number; + original_start_line: number; + path: string; + position: number; + pull_request_review_id: number; + pull_request_url: string; + side: string; + start_line: number; + start_side: string; + updated_at: string; + url: string; + user: PullsCreateCommentReplyResponseUser; + }; + type PullsCreateCommentResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsCreateCommentResponseLinksSelf = { href: string }; + type PullsCreateCommentResponseLinksPullRequest = { href: string }; + type PullsCreateCommentResponseLinksHtml = { href: string }; + type PullsCreateCommentResponseLinks = { + html: PullsCreateCommentResponseLinksHtml; + pull_request: PullsCreateCommentResponseLinksPullRequest; + self: PullsCreateCommentResponseLinksSelf; + }; + type PullsCreateCommentResponse = { + _links: PullsCreateCommentResponseLinks; + author_association: string; + body: string; + commit_id: string; + created_at: string; + diff_hunk: string; + html_url: string; + id: number; + in_reply_to_id: number; + line: number; + node_id: string; + original_commit_id: string; + original_line: number; + original_position: number; + original_start_line: number; + path: string; + position: number; + pull_request_review_id: number; + pull_request_url: string; + side: string; + start_line: number; + start_side: string; + updated_at: string; + url: string; + user: PullsCreateCommentResponseUser; + }; + type PullsCreateResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsCreateResponseRequestedTeamsItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type PullsCreateResponseRequestedReviewersItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsCreateResponseMilestoneCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsCreateResponseMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: PullsCreateResponseMilestoneCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; + }; + type PullsCreateResponseMergedBy = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsCreateResponseLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type PullsCreateResponseHeadUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsCreateResponseHeadRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type PullsCreateResponseHeadRepoOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsCreateResponseHeadRepo = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: PullsCreateResponseHeadRepoOwner; + permissions: PullsCreateResponseHeadRepoPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type PullsCreateResponseHead = { + label: string; + ref: string; + repo: PullsCreateResponseHeadRepo; + sha: string; + user: PullsCreateResponseHeadUser; + }; + type PullsCreateResponseBaseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsCreateResponseBaseRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type PullsCreateResponseBaseRepoOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsCreateResponseBaseRepo = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: PullsCreateResponseBaseRepoOwner; + permissions: PullsCreateResponseBaseRepoPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type PullsCreateResponseBase = { + label: string; + ref: string; + repo: PullsCreateResponseBaseRepo; + sha: string; + user: PullsCreateResponseBaseUser; + }; + type PullsCreateResponseAssigneesItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsCreateResponseAssignee = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type PullsCreateResponseLinksStatuses = { href: string }; + type PullsCreateResponseLinksSelf = { href: string }; + type PullsCreateResponseLinksReviewComments = { href: string }; + type PullsCreateResponseLinksReviewComment = { href: string }; + type PullsCreateResponseLinksIssue = { href: string }; + type PullsCreateResponseLinksHtml = { href: string }; + type PullsCreateResponseLinksCommits = { href: string }; + type PullsCreateResponseLinksComments = { href: string }; + type PullsCreateResponseLinks = { + comments: PullsCreateResponseLinksComments; + commits: PullsCreateResponseLinksCommits; + html: PullsCreateResponseLinksHtml; + issue: PullsCreateResponseLinksIssue; + review_comment: PullsCreateResponseLinksReviewComment; + review_comments: PullsCreateResponseLinksReviewComments; + self: PullsCreateResponseLinksSelf; + statuses: PullsCreateResponseLinksStatuses; + }; + type PullsCreateResponse = { + _links: PullsCreateResponseLinks; + active_lock_reason: string; + additions: number; + assignee: PullsCreateResponseAssignee; + assignees: Array; + author_association: string; + base: PullsCreateResponseBase; + body: string; + changed_files: number; + closed_at: string; + comments: number; + comments_url: string; + commits: number; + commits_url: string; + created_at: string; + deletions: number; + diff_url: string; + draft: boolean; + head: PullsCreateResponseHead; + html_url: string; + id: number; + issue_url: string; + labels: Array; + locked: boolean; + maintainer_can_modify: boolean; + merge_commit_sha: string; + mergeable: boolean; + mergeable_state: string; + merged: boolean; + merged_at: string; + merged_by: PullsCreateResponseMergedBy; + milestone: PullsCreateResponseMilestone; + node_id: string; + number: number; + patch_url: string; + rebaseable: boolean; + requested_reviewers: Array; + requested_teams: Array; + review_comment_url: string; + review_comments: number; + review_comments_url: string; + state: string; + statuses_url: string; + title: string; + updated_at: string; + url: string; + user: PullsCreateResponseUser; + }; + type ProjectsUpdateColumnResponse = { + cards_url: string; + created_at: string; + id: number; + name: string; + node_id: string; + project_url: string; + updated_at: string; + url: string; + }; + type ProjectsUpdateCardResponseCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ProjectsUpdateCardResponse = { + archived: boolean; + column_url: string; + content_url: string; + created_at: string; + creator: ProjectsUpdateCardResponseCreator; + id: number; + node_id: string; + note: string; + project_url: string; + updated_at: string; + url: string; + }; + type ProjectsUpdateResponseCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ProjectsUpdateResponse = { + body: string; + columns_url: string; + created_at: string; + creator: ProjectsUpdateResponseCreator; + html_url: string; + id: number; + name: string; + node_id: string; + number: number; + owner_url: string; + state: string; + updated_at: string; + url: string; + }; + type ProjectsReviewUserPermissionLevelResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ProjectsReviewUserPermissionLevelResponse = { + permission: string; + user: ProjectsReviewUserPermissionLevelResponseUser; + }; + type ProjectsListForUserResponseItemCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ProjectsListForUserResponseItem = { + body: string; + columns_url: string; + created_at: string; + creator: ProjectsListForUserResponseItemCreator; + html_url: string; + id: number; + name: string; + node_id: string; + number: number; + owner_url: string; + state: string; + updated_at: string; + url: string; + }; + type ProjectsListForRepoResponseItemCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ProjectsListForRepoResponseItem = { + body: string; + columns_url: string; + created_at: string; + creator: ProjectsListForRepoResponseItemCreator; + html_url: string; + id: number; + name: string; + node_id: string; + number: number; + owner_url: string; + state: string; + updated_at: string; + url: string; + }; + type ProjectsListForOrgResponseItemCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ProjectsListForOrgResponseItem = { + body: string; + columns_url: string; + created_at: string; + creator: ProjectsListForOrgResponseItemCreator; + html_url: string; + id: number; + name: string; + node_id: string; + number: number; + owner_url: string; + state: string; + updated_at: string; + url: string; + }; + type ProjectsListColumnsResponseItem = { + cards_url: string; + created_at: string; + id: number; + name: string; + node_id: string; + project_url: string; + updated_at: string; + url: string; + }; + type ProjectsListCollaboratorsResponseItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ProjectsListCardsResponseItemCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ProjectsListCardsResponseItem = { + archived: boolean; + column_url: string; + content_url: string; + created_at: string; + creator: ProjectsListCardsResponseItemCreator; + id: number; + node_id: string; + note: string; + project_url: string; + updated_at: string; + url: string; + }; + type ProjectsGetColumnResponse = { + cards_url: string; + created_at: string; + id: number; + name: string; + node_id: string; + project_url: string; + updated_at: string; + url: string; + }; + type ProjectsGetCardResponseCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ProjectsGetCardResponse = { + archived: boolean; + column_url: string; + content_url: string; + created_at: string; + creator: ProjectsGetCardResponseCreator; + id: number; + node_id: string; + note: string; + project_url: string; + updated_at: string; + url: string; + }; + type ProjectsGetResponseCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ProjectsGetResponse = { + body: string; + columns_url: string; + created_at: string; + creator: ProjectsGetResponseCreator; + html_url: string; + id: number; + name: string; + node_id: string; + number: number; + owner_url: string; + state: string; + updated_at: string; + url: string; + }; + type ProjectsCreateForRepoResponseCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ProjectsCreateForRepoResponse = { + body: string; + columns_url: string; + created_at: string; + creator: ProjectsCreateForRepoResponseCreator; + html_url: string; + id: number; + name: string; + node_id: string; + number: number; + owner_url: string; + state: string; + updated_at: string; + url: string; + }; + type ProjectsCreateForOrgResponseCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ProjectsCreateForOrgResponse = { + body: string; + columns_url: string; + created_at: string; + creator: ProjectsCreateForOrgResponseCreator; + html_url: string; + id: number; + name: string; + node_id: string; + number: number; + owner_url: string; + state: string; + updated_at: string; + url: string; + }; + type ProjectsCreateForAuthenticatedUserResponseCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ProjectsCreateForAuthenticatedUserResponse = { + body: string; + columns_url: string; + created_at: string; + creator: ProjectsCreateForAuthenticatedUserResponseCreator; + html_url: string; + id: number; + name: string; + node_id: string; + number: number; + owner_url: string; + state: string; + updated_at: string; + url: string; + }; + type ProjectsCreateColumnResponse = { + cards_url: string; + created_at: string; + id: number; + name: string; + node_id: string; + project_url: string; + updated_at: string; + url: string; + }; + type ProjectsCreateCardResponseCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ProjectsCreateCardResponse = { + archived: boolean; + column_url: string; + content_url: string; + created_at: string; + creator: ProjectsCreateCardResponseCreator; + id: number; + node_id: string; + note: string; + project_url: string; + updated_at: string; + url: string; + }; + type OrgsUpdateMembershipResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type OrgsUpdateMembershipResponseOrganization = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type OrgsUpdateMembershipResponse = { + organization: OrgsUpdateMembershipResponseOrganization; + organization_url: string; + role: string; + state: string; + url: string; + user: OrgsUpdateMembershipResponseUser; + }; + type OrgsUpdateHookResponseConfig = { content_type: string; url: string }; + type OrgsUpdateHookResponse = { + active: boolean; + config: OrgsUpdateHookResponseConfig; + created_at: string; + events: Array; + id: number; + name: string; + ping_url: string; + updated_at: string; + url: string; + }; + type OrgsUpdateResponsePlan = { + name: string; + private_repos: number; + space: number; + }; + type OrgsUpdateResponse = { + avatar_url: string; + billing_email: string; + blog: string; + collaborators: number; + company: string; + created_at: string; + default_repository_permission: string; + description: string; + disk_usage: number; + email: string; + events_url: string; + followers: number; + following: number; + has_organization_projects: boolean; + has_repository_projects: boolean; + hooks_url: string; + html_url: string; + id: number; + is_verified: boolean; + issues_url: string; + location: string; + login: string; + members_allowed_repository_creation_type: string; + members_can_create_internal_repositories: boolean; + members_can_create_private_repositories: boolean; + members_can_create_public_repositories: boolean; + members_can_create_repositories: boolean; + members_url: string; + name: string; + node_id: string; + owned_private_repos: number; + plan: OrgsUpdateResponsePlan; + private_gists: number; + public_gists: number; + public_members_url: string; + public_repos: number; + repos_url: string; + total_private_repos: number; + two_factor_requirement_enabled: boolean; + type: string; + url: string; + }; + type OrgsRemoveOutsideCollaboratorResponse = { + documentation_url: string; + message: string; + }; + type OrgsListPublicMembersResponseItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type OrgsListPendingInvitationsResponseItemInviter = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type OrgsListPendingInvitationsResponseItem = { + created_at: string; + email: string; + id: number; + invitation_team_url: string; + inviter: OrgsListPendingInvitationsResponseItemInviter; + login: string; + role: string; + team_count: number; + }; + type OrgsListOutsideCollaboratorsResponseItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type OrgsListMembershipsResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type OrgsListMembershipsResponseItemOrganization = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type OrgsListMembershipsResponseItem = { + organization: OrgsListMembershipsResponseItemOrganization; + organization_url: string; + role: string; + state: string; + url: string; + user: OrgsListMembershipsResponseItemUser; + }; + type OrgsListMembersResponseItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type OrgsListInvitationTeamsResponseItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type OrgsListInstallationsResponseInstallationsItemPermissions = { + deployments: string; + metadata: string; + pull_requests: string; + statuses: string; + }; + type OrgsListInstallationsResponseInstallationsItemAccount = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type OrgsListInstallationsResponseInstallationsItem = { + access_tokens_url: string; + account: OrgsListInstallationsResponseInstallationsItemAccount; + app_id: number; + created_at: string; + events: Array; + html_url: string; + id: number; + permissions: OrgsListInstallationsResponseInstallationsItemPermissions; + repositories_url: string; + repository_selection: string; + single_file_name: null; + target_id: number; + target_type: string; + updated_at: string; + }; + type OrgsListInstallationsResponse = { + installations: Array; + total_count: number; + }; + type OrgsListHooksResponseItemConfig = { content_type: string; url: string }; + type OrgsListHooksResponseItem = { + active: boolean; + config: OrgsListHooksResponseItemConfig; + created_at: string; + events: Array; + id: number; + name: string; + ping_url: string; + updated_at: string; + url: string; + }; + type OrgsListForUserResponseItem = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type OrgsListForAuthenticatedUserResponseItem = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type OrgsListBlockedUsersResponseItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type OrgsListResponseItem = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type OrgsGetMembershipForAuthenticatedUserResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type OrgsGetMembershipForAuthenticatedUserResponseOrganization = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type OrgsGetMembershipForAuthenticatedUserResponse = { + organization: OrgsGetMembershipForAuthenticatedUserResponseOrganization; + organization_url: string; + role: string; + state: string; + url: string; + user: OrgsGetMembershipForAuthenticatedUserResponseUser; + }; + type OrgsGetMembershipResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type OrgsGetMembershipResponseOrganization = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type OrgsGetMembershipResponse = { + organization: OrgsGetMembershipResponseOrganization; + organization_url: string; + role: string; + state: string; + url: string; + user: OrgsGetMembershipResponseUser; + }; + type OrgsGetHookResponseConfig = { content_type: string; url: string }; + type OrgsGetHookResponse = { + active: boolean; + config: OrgsGetHookResponseConfig; + created_at: string; + events: Array; + id: number; + name: string; + ping_url: string; + updated_at: string; + url: string; + }; + type OrgsGetResponsePlan = { + name: string; + private_repos: number; + space: number; + filled_seats?: number; + seats?: number; + }; + type OrgsGetResponse = { + avatar_url: string; + billing_email?: string; + blog: string; + collaborators?: number; + company: string; + created_at: string; + default_repository_permission?: string; + description: string; + disk_usage?: number; + email: string; + events_url: string; + followers: number; + following: number; + has_organization_projects: boolean; + has_repository_projects: boolean; + hooks_url: string; + html_url: string; + id: number; + is_verified: boolean; + issues_url: string; + location: string; + login: string; + members_allowed_repository_creation_type?: string; + members_can_create_internal_repositories?: boolean; + members_can_create_private_repositories?: boolean; + members_can_create_public_repositories?: boolean; + members_can_create_repositories?: boolean; + members_url: string; + name: string; + node_id: string; + owned_private_repos?: number; + plan: OrgsGetResponsePlan; + private_gists?: number; + public_gists: number; + public_members_url: string; + public_repos: number; + repos_url: string; + total_private_repos?: number; + two_factor_requirement_enabled?: boolean; + type: string; + url: string; + }; + type OrgsCreateInvitationResponseInviter = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type OrgsCreateInvitationResponse = { + created_at: string; + email: string; + id: number; + invitation_team_url: string; + inviter: OrgsCreateInvitationResponseInviter; + login: string; + role: string; + team_count: number; + }; + type OrgsCreateHookResponseConfig = { content_type: string; url: string }; + type OrgsCreateHookResponse = { + active: boolean; + config: OrgsCreateHookResponseConfig; + created_at: string; + events: Array; + id: number; + name: string; + ping_url: string; + updated_at: string; + url: string; + }; + type OrgsConvertMemberToOutsideCollaboratorResponse = { + documentation_url: string; + message: string; + }; + type OrgsAddOrUpdateMembershipResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type OrgsAddOrUpdateMembershipResponseOrganization = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type OrgsAddOrUpdateMembershipResponse = { + organization: OrgsAddOrUpdateMembershipResponseOrganization; + organization_url: string; + role: string; + state: string; + url: string; + user: OrgsAddOrUpdateMembershipResponseUser; + }; + type OauthAuthorizationsUpdateAuthorizationResponseApp = { + client_id: string; + name: string; + url: string; + }; + type OauthAuthorizationsUpdateAuthorizationResponse = { + app: OauthAuthorizationsUpdateAuthorizationResponseApp; + created_at: string; + fingerprint: string; + hashed_token: string; + id: number; + note: string; + note_url: string; + scopes: Array; + token: string; + token_last_eight: string; + updated_at: string; + url: string; + }; + type OauthAuthorizationsResetAuthorizationResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type OauthAuthorizationsResetAuthorizationResponseApp = { + client_id: string; + name: string; + url: string; + }; + type OauthAuthorizationsResetAuthorizationResponse = { + app: OauthAuthorizationsResetAuthorizationResponseApp; + created_at: string; + fingerprint: string; + hashed_token: string; + id: number; + note: string; + note_url: string; + scopes: Array; + token: string; + token_last_eight: string; + updated_at: string; + url: string; + user: OauthAuthorizationsResetAuthorizationResponseUser; + }; + type OauthAuthorizationsListGrantsResponseItemApp = { + client_id: string; + name: string; + url: string; + }; + type OauthAuthorizationsListGrantsResponseItem = { + app: OauthAuthorizationsListGrantsResponseItemApp; + created_at: string; + id: number; + scopes: Array; + updated_at: string; + url: string; + }; + type OauthAuthorizationsListAuthorizationsResponseItemApp = { + client_id: string; + name: string; + url: string; + }; + type OauthAuthorizationsListAuthorizationsResponseItem = { + app: OauthAuthorizationsListAuthorizationsResponseItemApp; + created_at: string; + fingerprint: string; + hashed_token: string; + id: number; + note: string; + note_url: string; + scopes: Array; + token: string; + token_last_eight: string; + updated_at: string; + url: string; + }; + type OauthAuthorizationsGetOrCreateAuthorizationForAppFingerprintResponseApp = { + client_id: string; + name: string; + url: string; + }; + type OauthAuthorizationsGetOrCreateAuthorizationForAppFingerprintResponse = { + app: OauthAuthorizationsGetOrCreateAuthorizationForAppFingerprintResponseApp; + created_at: string; + fingerprint: string; + hashed_token: string; + id: number; + note: string; + note_url: string; + scopes: Array; + token: string; + token_last_eight: string; + updated_at: string; + url: string; + }; + type OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintResponseApp = { + client_id: string; + name: string; + url: string; + }; + type OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintResponse = { + app: OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintResponseApp; + created_at: string; + fingerprint: string; + hashed_token: string; + id: number; + note: string; + note_url: string; + scopes: Array; + token: string; + token_last_eight: string; + updated_at: string; + url: string; + }; + type OauthAuthorizationsGetOrCreateAuthorizationForAppResponseApp = { + client_id: string; + name: string; + url: string; + }; + type OauthAuthorizationsGetOrCreateAuthorizationForAppResponse = { + app: OauthAuthorizationsGetOrCreateAuthorizationForAppResponseApp; + created_at: string; + fingerprint: string; + hashed_token: string; + id: number; + note: string; + note_url: string; + scopes: Array; + token: string; + token_last_eight: string; + updated_at: string; + url: string; + }; + type OauthAuthorizationsGetGrantResponseApp = { + client_id: string; + name: string; + url: string; + }; + type OauthAuthorizationsGetGrantResponse = { + app: OauthAuthorizationsGetGrantResponseApp; + created_at: string; + id: number; + scopes: Array; + updated_at: string; + url: string; + }; + type OauthAuthorizationsGetAuthorizationResponseApp = { + client_id: string; + name: string; + url: string; + }; + type OauthAuthorizationsGetAuthorizationResponse = { + app: OauthAuthorizationsGetAuthorizationResponseApp; + created_at: string; + fingerprint: string; + hashed_token: string; + id: number; + note: string; + note_url: string; + scopes: Array; + token: string; + token_last_eight: string; + updated_at: string; + url: string; + }; + type OauthAuthorizationsCreateAuthorizationResponseApp = { + client_id: string; + name: string; + url: string; + }; + type OauthAuthorizationsCreateAuthorizationResponse = { + app: OauthAuthorizationsCreateAuthorizationResponseApp; + created_at: string; + fingerprint: string; + hashed_token: string; + id: number; + note: string; + note_url: string; + scopes: Array; + token: string; + token_last_eight: string; + updated_at: string; + url: string; + }; + type OauthAuthorizationsCheckAuthorizationResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type OauthAuthorizationsCheckAuthorizationResponseApp = { + client_id: string; + name: string; + url: string; + }; + type OauthAuthorizationsCheckAuthorizationResponse = { + app: OauthAuthorizationsCheckAuthorizationResponseApp; + created_at: string; + fingerprint: string; + hashed_token: string; + id: number; + note: string; + note_url: string; + scopes: Array; + token: string; + token_last_eight: string; + updated_at: string; + url: string; + user: OauthAuthorizationsCheckAuthorizationResponseUser; + }; + type MigrationsUpdateImportResponse = { + authors_url: string; + html_url: string; + repository_url: string; + status: string; + url: string; + use_lfs: string; + vcs: string; + vcs_url: string; + authors_count?: number; + commit_count?: number; + has_large_files?: boolean; + large_files_count?: number; + large_files_size?: number; + percent?: number; + status_text?: string; + tfvc_project?: string; + }; + type MigrationsStartImportResponse = { + authors_count: number; + authors_url: string; + commit_count: number; + has_large_files: boolean; + html_url: string; + large_files_count: number; + large_files_size: number; + percent: number; + repository_url: string; + status: string; + status_text: string; + url: string; + use_lfs: string; + vcs: string; + vcs_url: string; + }; + type MigrationsStartForOrgResponseRepositoriesItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type MigrationsStartForOrgResponseRepositoriesItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type MigrationsStartForOrgResponseRepositoriesItem = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: MigrationsStartForOrgResponseRepositoriesItemOwner; + permissions: MigrationsStartForOrgResponseRepositoriesItemPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type MigrationsStartForOrgResponseOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type MigrationsStartForOrgResponse = { + created_at: string; + exclude_attachments: boolean; + guid: string; + id: number; + lock_repositories: boolean; + owner: MigrationsStartForOrgResponseOwner; + repositories: Array; + state: string; + updated_at: string; + url: string; + }; + type MigrationsStartForAuthenticatedUserResponseRepositoriesItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type MigrationsStartForAuthenticatedUserResponseRepositoriesItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type MigrationsStartForAuthenticatedUserResponseRepositoriesItem = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: MigrationsStartForAuthenticatedUserResponseRepositoriesItemOwner; + permissions: MigrationsStartForAuthenticatedUserResponseRepositoriesItemPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type MigrationsStartForAuthenticatedUserResponseOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type MigrationsStartForAuthenticatedUserResponse = { + created_at: string; + exclude_attachments: boolean; + guid: string; + id: number; + lock_repositories: boolean; + owner: MigrationsStartForAuthenticatedUserResponseOwner; + repositories: Array< + MigrationsStartForAuthenticatedUserResponseRepositoriesItem + >; + state: string; + updated_at: string; + url: string; + }; + type MigrationsSetLfsPreferenceResponse = { + authors_count: number; + authors_url: string; + has_large_files: boolean; + html_url: string; + large_files_count: number; + large_files_size: number; + repository_url: string; + status: string; + status_text: string; + url: string; + use_lfs: string; + vcs: string; + vcs_url: string; + }; + type MigrationsMapCommitAuthorResponse = { + email: string; + id: number; + import_url: string; + name: string; + remote_id: string; + remote_name: string; + url: string; + }; + type MigrationsListReposForUserResponseItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type MigrationsListReposForUserResponseItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type MigrationsListReposForUserResponseItemLicense = { + key: string; + name: string; + node_id: string; + spdx_id: string; + url: string; + }; + type MigrationsListReposForUserResponseItem = { + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + license: MigrationsListReposForUserResponseItemLicense; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: MigrationsListReposForUserResponseItemOwner; + permissions: MigrationsListReposForUserResponseItemPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type MigrationsListReposForOrgResponseItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type MigrationsListReposForOrgResponseItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type MigrationsListReposForOrgResponseItemLicense = { + key: string; + name: string; + node_id: string; + spdx_id: string; + url: string; + }; + type MigrationsListReposForOrgResponseItem = { + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + license: MigrationsListReposForOrgResponseItemLicense; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: MigrationsListReposForOrgResponseItemOwner; + permissions: MigrationsListReposForOrgResponseItemPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type MigrationsListForOrgResponseItemRepositoriesItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type MigrationsListForOrgResponseItemRepositoriesItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type MigrationsListForOrgResponseItemRepositoriesItem = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: MigrationsListForOrgResponseItemRepositoriesItemOwner; + permissions: MigrationsListForOrgResponseItemRepositoriesItemPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type MigrationsListForOrgResponseItemOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type MigrationsListForOrgResponseItem = { + created_at: string; + exclude_attachments: boolean; + guid: string; + id: number; + lock_repositories: boolean; + owner: MigrationsListForOrgResponseItemOwner; + repositories: Array; + state: string; + updated_at: string; + url: string; + }; + type MigrationsListForAuthenticatedUserResponseItemRepositoriesItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type MigrationsListForAuthenticatedUserResponseItemRepositoriesItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type MigrationsListForAuthenticatedUserResponseItemRepositoriesItem = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: MigrationsListForAuthenticatedUserResponseItemRepositoriesItemOwner; + permissions: MigrationsListForAuthenticatedUserResponseItemRepositoriesItemPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type MigrationsListForAuthenticatedUserResponseItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type MigrationsListForAuthenticatedUserResponseItem = { + created_at: string; + exclude_attachments: boolean; + guid: string; + id: number; + lock_repositories: boolean; + owner: MigrationsListForAuthenticatedUserResponseItemOwner; + repositories: Array< + MigrationsListForAuthenticatedUserResponseItemRepositoriesItem + >; + state: string; + updated_at: string; + url: string; + }; + type MigrationsGetStatusForOrgResponseRepositoriesItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type MigrationsGetStatusForOrgResponseRepositoriesItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type MigrationsGetStatusForOrgResponseRepositoriesItem = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: MigrationsGetStatusForOrgResponseRepositoriesItemOwner; + permissions: MigrationsGetStatusForOrgResponseRepositoriesItemPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type MigrationsGetStatusForOrgResponseOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type MigrationsGetStatusForOrgResponse = { + created_at: string; + exclude_attachments: boolean; + guid: string; + id: number; + lock_repositories: boolean; + owner: MigrationsGetStatusForOrgResponseOwner; + repositories: Array; + state: string; + updated_at: string; + url: string; + }; + type MigrationsGetStatusForAuthenticatedUserResponseRepositoriesItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type MigrationsGetStatusForAuthenticatedUserResponseRepositoriesItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type MigrationsGetStatusForAuthenticatedUserResponseRepositoriesItem = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: MigrationsGetStatusForAuthenticatedUserResponseRepositoriesItemOwner; + permissions: MigrationsGetStatusForAuthenticatedUserResponseRepositoriesItemPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type MigrationsGetStatusForAuthenticatedUserResponseOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type MigrationsGetStatusForAuthenticatedUserResponse = { + created_at: string; + exclude_attachments: boolean; + guid: string; + id: number; + lock_repositories: boolean; + owner: MigrationsGetStatusForAuthenticatedUserResponseOwner; + repositories: Array< + MigrationsGetStatusForAuthenticatedUserResponseRepositoriesItem + >; + state: string; + updated_at: string; + url: string; + }; + type MigrationsGetLargeFilesResponseItem = { + oid: string; + path: string; + ref_name: string; + size: number; + }; + type MigrationsGetImportProgressResponse = { + authors_count: number; + authors_url: string; + has_large_files: boolean; + html_url: string; + large_files_count: number; + large_files_size: number; + repository_url: string; + status: string; + status_text: string; + url: string; + use_lfs: string; + vcs: string; + vcs_url: string; + }; + type MigrationsGetCommitAuthorsResponseItem = { + email: string; + id: number; + import_url: string; + name: string; + remote_id: string; + remote_name: string; + url: string; + }; + type MetaGetResponseSshKeyFingerprints = { + MD5_DSA: string; + MD5_RSA: string; + SHA256_DSA: string; + SHA256_RSA: string; + }; + type MetaGetResponse = { + api: Array; + git: Array; + hooks: Array; + importer: Array; + pages: Array; + ssh_key_fingerprints: MetaGetResponseSshKeyFingerprints; + verifiable_password_authentication: boolean; + web: Array; + }; + type LicensesListCommonlyUsedResponseItem = { + key: string; + name: string; + node_id?: string; + spdx_id: string; + url: string; + }; + type LicensesListResponseItem = { + key: string; + name: string; + node_id?: string; + spdx_id: string; + url: string; + }; + type LicensesGetForRepoResponseLicense = { + key: string; + name: string; + node_id: string; + spdx_id: string; + url: string; + }; + type LicensesGetForRepoResponseLinks = { + git: string; + html: string; + self: string; + }; + type LicensesGetForRepoResponse = { + _links: LicensesGetForRepoResponseLinks; + content: string; + download_url: string; + encoding: string; + git_url: string; + html_url: string; + license: LicensesGetForRepoResponseLicense; + name: string; + path: string; + sha: string; + size: number; + type: string; + url: string; + }; + type LicensesGetResponse = { + body: string; + conditions: Array; + description: string; + featured: boolean; + html_url: string; + implementation: string; + key: string; + limitations: Array; + name: string; + node_id: string; + permissions: Array; + spdx_id: string; + url: string; + }; + type IssuesUpdateMilestoneResponseCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesUpdateMilestoneResponse = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: IssuesUpdateMilestoneResponseCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; + }; + type IssuesUpdateLabelResponse = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type IssuesUpdateCommentResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesUpdateCommentResponse = { + body: string; + created_at: string; + html_url: string; + id: number; + node_id: string; + updated_at: string; + url: string; + user: IssuesUpdateCommentResponseUser; + }; + type IssuesUpdateResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesUpdateResponsePullRequest = { + diff_url: string; + html_url: string; + patch_url: string; + url: string; + }; + type IssuesUpdateResponseMilestoneCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesUpdateResponseMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: IssuesUpdateResponseMilestoneCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; + }; + type IssuesUpdateResponseLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type IssuesUpdateResponseClosedBy = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesUpdateResponseAssigneesItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesUpdateResponseAssignee = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesUpdateResponse = { + active_lock_reason: string; + assignee: IssuesUpdateResponseAssignee; + assignees: Array; + body: string; + closed_at: null; + closed_by: IssuesUpdateResponseClosedBy; + comments: number; + comments_url: string; + created_at: string; + events_url: string; + html_url: string; + id: number; + labels: Array; + labels_url: string; + locked: boolean; + milestone: IssuesUpdateResponseMilestone; + node_id: string; + number: number; + pull_request: IssuesUpdateResponsePullRequest; + repository_url: string; + state: string; + title: string; + updated_at: string; + url: string; + user: IssuesUpdateResponseUser; + }; + type IssuesReplaceLabelsResponseItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type IssuesRemoveLabelResponseItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type IssuesRemoveAssigneesResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesRemoveAssigneesResponsePullRequest = { + diff_url: string; + html_url: string; + patch_url: string; + url: string; + }; + type IssuesRemoveAssigneesResponseMilestoneCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesRemoveAssigneesResponseMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: IssuesRemoveAssigneesResponseMilestoneCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; + }; + type IssuesRemoveAssigneesResponseLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type IssuesRemoveAssigneesResponseAssigneesItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesRemoveAssigneesResponseAssignee = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesRemoveAssigneesResponse = { + active_lock_reason: string; + assignee: IssuesRemoveAssigneesResponseAssignee; + assignees: Array; + body: string; + closed_at: null; + comments: number; + comments_url: string; + created_at: string; + events_url: string; + html_url: string; + id: number; + labels: Array; + labels_url: string; + locked: boolean; + milestone: IssuesRemoveAssigneesResponseMilestone; + node_id: string; + number: number; + pull_request: IssuesRemoveAssigneesResponsePullRequest; + repository_url: string; + state: string; + title: string; + updated_at: string; + url: string; + user: IssuesRemoveAssigneesResponseUser; + }; + type IssuesListMilestonesForRepoResponseItemCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesListMilestonesForRepoResponseItem = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: IssuesListMilestonesForRepoResponseItemCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; + }; + type IssuesListLabelsOnIssueResponseItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type IssuesListLabelsForRepoResponseItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type IssuesListLabelsForMilestoneResponseItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type IssuesListForRepoResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesListForRepoResponseItemPullRequest = { + diff_url: string; + html_url: string; + patch_url: string; + url: string; + }; + type IssuesListForRepoResponseItemMilestoneCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesListForRepoResponseItemMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: IssuesListForRepoResponseItemMilestoneCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; + }; + type IssuesListForRepoResponseItemLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type IssuesListForRepoResponseItemAssigneesItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesListForRepoResponseItemAssignee = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesListForRepoResponseItem = { + active_lock_reason: string; + assignee: IssuesListForRepoResponseItemAssignee; + assignees: Array; + body: string; + closed_at: null; + comments: number; + comments_url: string; + created_at: string; + events_url: string; + html_url: string; + id: number; + labels: Array; + labels_url: string; + locked: boolean; + milestone: IssuesListForRepoResponseItemMilestone; + node_id: string; + number: number; + pull_request: IssuesListForRepoResponseItemPullRequest; + repository_url: string; + state: string; + title: string; + updated_at: string; + url: string; + user: IssuesListForRepoResponseItemUser; + }; + type IssuesListForOrgResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesListForOrgResponseItemRepositoryPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type IssuesListForOrgResponseItemRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesListForOrgResponseItemRepository = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: IssuesListForOrgResponseItemRepositoryOwner; + permissions: IssuesListForOrgResponseItemRepositoryPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type IssuesListForOrgResponseItemPullRequest = { + diff_url: string; + html_url: string; + patch_url: string; + url: string; + }; + type IssuesListForOrgResponseItemMilestoneCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesListForOrgResponseItemMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: IssuesListForOrgResponseItemMilestoneCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; + }; + type IssuesListForOrgResponseItemLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type IssuesListForOrgResponseItemAssigneesItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesListForOrgResponseItemAssignee = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesListForOrgResponseItem = { + active_lock_reason: string; + assignee: IssuesListForOrgResponseItemAssignee; + assignees: Array; + body: string; + closed_at: null; + comments: number; + comments_url: string; + created_at: string; + events_url: string; + html_url: string; + id: number; + labels: Array; + labels_url: string; + locked: boolean; + milestone: IssuesListForOrgResponseItemMilestone; + node_id: string; + number: number; + pull_request: IssuesListForOrgResponseItemPullRequest; + repository: IssuesListForOrgResponseItemRepository; + repository_url: string; + state: string; + title: string; + updated_at: string; + url: string; + user: IssuesListForOrgResponseItemUser; + }; + type IssuesListForAuthenticatedUserResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesListForAuthenticatedUserResponseItemRepositoryPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type IssuesListForAuthenticatedUserResponseItemRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesListForAuthenticatedUserResponseItemRepository = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: IssuesListForAuthenticatedUserResponseItemRepositoryOwner; + permissions: IssuesListForAuthenticatedUserResponseItemRepositoryPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type IssuesListForAuthenticatedUserResponseItemPullRequest = { + diff_url: string; + html_url: string; + patch_url: string; + url: string; + }; + type IssuesListForAuthenticatedUserResponseItemMilestoneCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesListForAuthenticatedUserResponseItemMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: IssuesListForAuthenticatedUserResponseItemMilestoneCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; + }; + type IssuesListForAuthenticatedUserResponseItemLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type IssuesListForAuthenticatedUserResponseItemAssigneesItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesListForAuthenticatedUserResponseItemAssignee = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesListForAuthenticatedUserResponseItem = { + active_lock_reason: string; + assignee: IssuesListForAuthenticatedUserResponseItemAssignee; + assignees: Array; + body: string; + closed_at: null; + comments: number; + comments_url: string; + created_at: string; + events_url: string; + html_url: string; + id: number; + labels: Array; + labels_url: string; + locked: boolean; + milestone: IssuesListForAuthenticatedUserResponseItemMilestone; + node_id: string; + number: number; + pull_request: IssuesListForAuthenticatedUserResponseItemPullRequest; + repository: IssuesListForAuthenticatedUserResponseItemRepository; + repository_url: string; + state: string; + title: string; + updated_at: string; + url: string; + user: IssuesListForAuthenticatedUserResponseItemUser; + }; + type IssuesListEventsForTimelineResponseItemActor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesListEventsForTimelineResponseItem = { + actor: IssuesListEventsForTimelineResponseItemActor; + commit_id: string; + commit_url: string; + created_at: string; + event: string; + id: number; + node_id: string; + url: string; + }; + type IssuesListEventsForRepoResponseItemIssueUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesListEventsForRepoResponseItemIssuePullRequest = { + diff_url: string; + html_url: string; + patch_url: string; + url: string; + }; + type IssuesListEventsForRepoResponseItemIssueMilestoneCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesListEventsForRepoResponseItemIssueMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: IssuesListEventsForRepoResponseItemIssueMilestoneCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; + }; + type IssuesListEventsForRepoResponseItemIssueLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type IssuesListEventsForRepoResponseItemIssueAssigneesItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesListEventsForRepoResponseItemIssueAssignee = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesListEventsForRepoResponseItemIssue = { + active_lock_reason: string; + assignee: IssuesListEventsForRepoResponseItemIssueAssignee; + assignees: Array; + body: string; + closed_at: null; + comments: number; + comments_url: string; + created_at: string; + events_url: string; + html_url: string; + id: number; + labels: Array; + labels_url: string; + locked: boolean; + milestone: IssuesListEventsForRepoResponseItemIssueMilestone; + node_id: string; + number: number; + pull_request: IssuesListEventsForRepoResponseItemIssuePullRequest; + repository_url: string; + state: string; + title: string; + updated_at: string; + url: string; + user: IssuesListEventsForRepoResponseItemIssueUser; + }; + type IssuesListEventsForRepoResponseItemActor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesListEventsForRepoResponseItem = { + actor: IssuesListEventsForRepoResponseItemActor; + commit_id: string; + commit_url: string; + created_at: string; + event: string; + id: number; + issue: IssuesListEventsForRepoResponseItemIssue; + node_id: string; + url: string; + }; + type IssuesListEventsResponseItemActor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesListEventsResponseItem = { + actor: IssuesListEventsResponseItemActor; + commit_id: string; + commit_url: string; + created_at: string; + event: string; + id: number; + node_id: string; + url: string; + }; + type IssuesListCommentsForRepoResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesListCommentsForRepoResponseItem = { + body: string; + created_at: string; + html_url: string; + id: number; + node_id: string; + updated_at: string; + url: string; + user: IssuesListCommentsForRepoResponseItemUser; + }; + type IssuesListCommentsResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesListCommentsResponseItem = { + body: string; + created_at: string; + html_url: string; + id: number; + node_id: string; + updated_at: string; + url: string; + user: IssuesListCommentsResponseItemUser; + }; + type IssuesListAssigneesResponseItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesListResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesListResponseItemRepositoryPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type IssuesListResponseItemRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesListResponseItemRepository = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: IssuesListResponseItemRepositoryOwner; + permissions: IssuesListResponseItemRepositoryPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type IssuesListResponseItemPullRequest = { + diff_url: string; + html_url: string; + patch_url: string; + url: string; + }; + type IssuesListResponseItemMilestoneCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesListResponseItemMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: IssuesListResponseItemMilestoneCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; + }; + type IssuesListResponseItemLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type IssuesListResponseItemAssigneesItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesListResponseItemAssignee = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesListResponseItem = { + active_lock_reason: string; + assignee: IssuesListResponseItemAssignee; + assignees: Array; + body: string; + closed_at: null; + comments: number; + comments_url: string; + created_at: string; + events_url: string; + html_url: string; + id: number; + labels: Array; + labels_url: string; + locked: boolean; + milestone: IssuesListResponseItemMilestone; + node_id: string; + number: number; + pull_request: IssuesListResponseItemPullRequest; + repository: IssuesListResponseItemRepository; + repository_url: string; + state: string; + title: string; + updated_at: string; + url: string; + user: IssuesListResponseItemUser; + }; + type IssuesGetMilestoneResponseCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesGetMilestoneResponse = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: IssuesGetMilestoneResponseCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; + }; + type IssuesGetLabelResponse = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type IssuesGetEventResponseIssueUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesGetEventResponseIssuePullRequest = { + diff_url: string; + html_url: string; + patch_url: string; + url: string; + }; + type IssuesGetEventResponseIssueMilestoneCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesGetEventResponseIssueMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: IssuesGetEventResponseIssueMilestoneCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; + }; + type IssuesGetEventResponseIssueLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type IssuesGetEventResponseIssueAssigneesItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesGetEventResponseIssueAssignee = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesGetEventResponseIssue = { + active_lock_reason: string; + assignee: IssuesGetEventResponseIssueAssignee; + assignees: Array; + body: string; + closed_at: null; + comments: number; + comments_url: string; + created_at: string; + events_url: string; + html_url: string; + id: number; + labels: Array; + labels_url: string; + locked: boolean; + milestone: IssuesGetEventResponseIssueMilestone; + node_id: string; + number: number; + pull_request: IssuesGetEventResponseIssuePullRequest; + repository_url: string; + state: string; + title: string; + updated_at: string; + url: string; + user: IssuesGetEventResponseIssueUser; + }; + type IssuesGetEventResponseActor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesGetEventResponse = { + actor: IssuesGetEventResponseActor; + commit_id: string; + commit_url: string; + created_at: string; + event: string; + id: number; + issue: IssuesGetEventResponseIssue; + node_id: string; + url: string; + }; + type IssuesGetCommentResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesGetCommentResponse = { + body: string; + created_at: string; + html_url: string; + id: number; + node_id: string; + updated_at: string; + url: string; + user: IssuesGetCommentResponseUser; + }; + type IssuesGetResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesGetResponsePullRequest = { + diff_url: string; + html_url: string; + patch_url: string; + url: string; + }; + type IssuesGetResponseMilestoneCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesGetResponseMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: IssuesGetResponseMilestoneCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; + }; + type IssuesGetResponseLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type IssuesGetResponseClosedBy = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesGetResponseAssigneesItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesGetResponseAssignee = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesGetResponse = { + active_lock_reason: string; + assignee: IssuesGetResponseAssignee; + assignees: Array; + body: string; + closed_at: null; + closed_by: IssuesGetResponseClosedBy; + comments: number; + comments_url: string; + created_at: string; + events_url: string; + html_url: string; + id: number; + labels: Array; + labels_url: string; + locked: boolean; + milestone: IssuesGetResponseMilestone; + node_id: string; + number: number; + pull_request: IssuesGetResponsePullRequest; + repository_url: string; + state: string; + title: string; + updated_at: string; + url: string; + user: IssuesGetResponseUser; + }; + type IssuesCreateMilestoneResponseCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesCreateMilestoneResponse = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: IssuesCreateMilestoneResponseCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; + }; + type IssuesCreateLabelResponse = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type IssuesCreateCommentResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesCreateCommentResponse = { + body: string; + created_at: string; + html_url: string; + id: number; + node_id: string; + updated_at: string; + url: string; + user: IssuesCreateCommentResponseUser; + }; + type IssuesCreateResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesCreateResponsePullRequest = { + diff_url: string; + html_url: string; + patch_url: string; + url: string; + }; + type IssuesCreateResponseMilestoneCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesCreateResponseMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: IssuesCreateResponseMilestoneCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; + }; + type IssuesCreateResponseLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type IssuesCreateResponseClosedBy = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesCreateResponseAssigneesItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesCreateResponseAssignee = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesCreateResponse = { + active_lock_reason: string; + assignee: IssuesCreateResponseAssignee; + assignees: Array; + body: string; + closed_at: null; + closed_by: IssuesCreateResponseClosedBy; + comments: number; + comments_url: string; + created_at: string; + events_url: string; + html_url: string; + id: number; + labels: Array; + labels_url: string; + locked: boolean; + milestone: IssuesCreateResponseMilestone; + node_id: string; + number: number; + pull_request: IssuesCreateResponsePullRequest; + repository_url: string; + state: string; + title: string; + updated_at: string; + url: string; + user: IssuesCreateResponseUser; + }; + type IssuesAddLabelsResponseItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type IssuesAddAssigneesResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesAddAssigneesResponsePullRequest = { + diff_url: string; + html_url: string; + patch_url: string; + url: string; + }; + type IssuesAddAssigneesResponseMilestoneCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesAddAssigneesResponseMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: IssuesAddAssigneesResponseMilestoneCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; + }; + type IssuesAddAssigneesResponseLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type IssuesAddAssigneesResponseAssigneesItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesAddAssigneesResponseAssignee = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type IssuesAddAssigneesResponse = { + active_lock_reason: string; + assignee: IssuesAddAssigneesResponseAssignee; + assignees: Array; + body: string; + closed_at: null; + comments: number; + comments_url: string; + created_at: string; + events_url: string; + html_url: string; + id: number; + labels: Array; + labels_url: string; + locked: boolean; + milestone: IssuesAddAssigneesResponseMilestone; + node_id: string; + number: number; + pull_request: IssuesAddAssigneesResponsePullRequest; + repository_url: string; + state: string; + title: string; + updated_at: string; + url: string; + user: IssuesAddAssigneesResponseUser; + }; + type InteractionsGetRestrictionsForRepoResponse = { + expires_at: string; + limit: string; + origin: string; + }; + type InteractionsGetRestrictionsForOrgResponse = { + expires_at: string; + limit: string; + origin: string; + }; + type InteractionsAddOrUpdateRestrictionsForRepoResponse = { + expires_at: string; + limit: string; + origin: string; + }; + type InteractionsAddOrUpdateRestrictionsForOrgResponse = { + expires_at: string; + limit: string; + origin: string; + }; + type GitignoreGetTemplateResponse = { name: string; source: string }; + type GitUpdateRefResponseObject = { sha: string; type: string; url: string }; + type GitUpdateRefResponse = { + node_id: string; + object: GitUpdateRefResponseObject; + ref: string; + url: string; + }; + type GitListMatchingRefsResponseItemObject = { + sha: string; + type: string; + url: string; + }; + type GitListMatchingRefsResponseItem = { + node_id: string; + object: GitListMatchingRefsResponseItemObject; + ref: string; + url: string; + }; + type GitGetTreeResponseTreeItem = { + mode: string; + path: string; + sha: string; + size?: number; + type: string; + url: string; + }; + type GitGetTreeResponse = { + sha: string; + tree: Array; + truncated: boolean; + url: string; + }; + type GitGetTagResponseVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; + }; + type GitGetTagResponseTagger = { date: string; email: string; name: string }; + type GitGetTagResponseObject = { sha: string; type: string; url: string }; + type GitGetTagResponse = { + message: string; + node_id: string; + object: GitGetTagResponseObject; + sha: string; + tag: string; + tagger: GitGetTagResponseTagger; + url: string; + verification: GitGetTagResponseVerification; + }; + type GitGetRefResponseObject = { sha: string; type: string; url: string }; + type GitGetRefResponse = { + node_id: string; + object: GitGetRefResponseObject; + ref: string; + url: string; + }; + type GitGetCommitResponseVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; + }; + type GitGetCommitResponseTree = { sha: string; url: string }; + type GitGetCommitResponseParentsItem = { sha: string; url: string }; + type GitGetCommitResponseCommitter = { + date: string; + email: string; + name: string; + }; + type GitGetCommitResponseAuthor = { + date: string; + email: string; + name: string; + }; + type GitGetCommitResponse = { + author: GitGetCommitResponseAuthor; + committer: GitGetCommitResponseCommitter; + message: string; + parents: Array; + sha: string; + tree: GitGetCommitResponseTree; + url: string; + verification: GitGetCommitResponseVerification; + }; + type GitGetBlobResponse = { + content: string; + encoding: string; + sha: string; + size: number; + url: string; + }; + type GitCreateTreeResponseTreeItem = { + mode: string; + path: string; + sha: string; + size: number; + type: string; + url: string; + }; + type GitCreateTreeResponse = { + sha: string; + tree: Array; + url: string; + }; + type GitCreateTagResponseVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; + }; + type GitCreateTagResponseTagger = { + date: string; + email: string; + name: string; + }; + type GitCreateTagResponseObject = { sha: string; type: string; url: string }; + type GitCreateTagResponse = { + message: string; + node_id: string; + object: GitCreateTagResponseObject; + sha: string; + tag: string; + tagger: GitCreateTagResponseTagger; + url: string; + verification: GitCreateTagResponseVerification; + }; + type GitCreateRefResponseObject = { sha: string; type: string; url: string }; + type GitCreateRefResponse = { + node_id: string; + object: GitCreateRefResponseObject; + ref: string; + url: string; + }; + type GitCreateCommitResponseVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; + }; + type GitCreateCommitResponseTree = { sha: string; url: string }; + type GitCreateCommitResponseParentsItem = { sha: string; url: string }; + type GitCreateCommitResponseCommitter = { + date: string; + email: string; + name: string; + }; + type GitCreateCommitResponseAuthor = { + date: string; + email: string; + name: string; + }; + type GitCreateCommitResponse = { + author: GitCreateCommitResponseAuthor; + committer: GitCreateCommitResponseCommitter; + message: string; + node_id: string; + parents: Array; + sha: string; + tree: GitCreateCommitResponseTree; + url: string; + verification: GitCreateCommitResponseVerification; + }; + type GitCreateBlobResponse = { sha: string; url: string }; + type GistsUpdateCommentResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type GistsUpdateCommentResponse = { + body: string; + created_at: string; + id: number; + node_id: string; + updated_at: string; + url: string; + user: GistsUpdateCommentResponseUser; + }; + type GistsUpdateResponseOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type GistsUpdateResponseHistoryItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type GistsUpdateResponseHistoryItemChangeStatus = { + additions: number; + deletions: number; + total: number; + }; + type GistsUpdateResponseHistoryItem = { + change_status: GistsUpdateResponseHistoryItemChangeStatus; + committed_at: string; + url: string; + user: GistsUpdateResponseHistoryItemUser; + version: string; + }; + type GistsUpdateResponseForksItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type GistsUpdateResponseForksItem = { + created_at: string; + id: string; + updated_at: string; + url: string; + user: GistsUpdateResponseForksItemUser; + }; + type GistsUpdateResponseFilesNewFileTxt = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; + }; + type GistsUpdateResponseFilesHelloWorldRb = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; + }; + type GistsUpdateResponseFilesHelloWorldPy = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; + }; + type GistsUpdateResponseFilesHelloWorldMd = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; + }; + type GistsUpdateResponseFiles = { + "hello_world.md": GistsUpdateResponseFilesHelloWorldMd; + "hello_world.py": GistsUpdateResponseFilesHelloWorldPy; + "hello_world.rb": GistsUpdateResponseFilesHelloWorldRb; + "new_file.txt": GistsUpdateResponseFilesNewFileTxt; + }; + type GistsUpdateResponse = { + comments: number; + comments_url: string; + commits_url: string; + created_at: string; + description: string; + files: GistsUpdateResponseFiles; + forks: Array; + forks_url: string; + git_pull_url: string; + git_push_url: string; + history: Array; + html_url: string; + id: string; + node_id: string; + owner: GistsUpdateResponseOwner; + public: boolean; + truncated: boolean; + updated_at: string; + url: string; + user: null; + }; + type GistsListStarredResponseItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type GistsListStarredResponseItemFilesHelloWorldRb = { + filename: string; + language: string; + raw_url: string; + size: number; + type: string; + }; + type GistsListStarredResponseItemFiles = { + "hello_world.rb": GistsListStarredResponseItemFilesHelloWorldRb; + }; + type GistsListStarredResponseItem = { + comments: number; + comments_url: string; + commits_url: string; + created_at: string; + description: string; + files: GistsListStarredResponseItemFiles; + forks_url: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + id: string; + node_id: string; + owner: GistsListStarredResponseItemOwner; + public: boolean; + truncated: boolean; + updated_at: string; + url: string; + user: null; + }; + type GistsListPublicForUserResponseItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type GistsListPublicForUserResponseItemFilesHelloWorldRb = { + filename: string; + language: string; + raw_url: string; + size: number; + type: string; + }; + type GistsListPublicForUserResponseItemFiles = { + "hello_world.rb": GistsListPublicForUserResponseItemFilesHelloWorldRb; + }; + type GistsListPublicForUserResponseItem = { + comments: number; + comments_url: string; + commits_url: string; + created_at: string; + description: string; + files: GistsListPublicForUserResponseItemFiles; + forks_url: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + id: string; + node_id: string; + owner: GistsListPublicForUserResponseItemOwner; + public: boolean; + truncated: boolean; + updated_at: string; + url: string; + user: null; + }; + type GistsListPublicResponseItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type GistsListPublicResponseItemFilesHelloWorldRb = { + filename: string; + language: string; + raw_url: string; + size: number; + type: string; + }; + type GistsListPublicResponseItemFiles = { + "hello_world.rb": GistsListPublicResponseItemFilesHelloWorldRb; + }; + type GistsListPublicResponseItem = { + comments: number; + comments_url: string; + commits_url: string; + created_at: string; + description: string; + files: GistsListPublicResponseItemFiles; + forks_url: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + id: string; + node_id: string; + owner: GistsListPublicResponseItemOwner; + public: boolean; + truncated: boolean; + updated_at: string; + url: string; + user: null; + }; + type GistsListForksResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type GistsListForksResponseItem = { + created_at: string; + id: string; + updated_at: string; + url: string; + user: GistsListForksResponseItemUser; + }; + type GistsListCommitsResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type GistsListCommitsResponseItemChangeStatus = { + additions: number; + deletions: number; + total: number; + }; + type GistsListCommitsResponseItem = { + change_status: GistsListCommitsResponseItemChangeStatus; + committed_at: string; + url: string; + user: GistsListCommitsResponseItemUser; + version: string; + }; + type GistsListCommentsResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type GistsListCommentsResponseItem = { + body: string; + created_at: string; + id: number; + node_id: string; + updated_at: string; + url: string; + user: GistsListCommentsResponseItemUser; + }; + type GistsListResponseItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type GistsListResponseItemFilesHelloWorldRb = { + filename: string; + language: string; + raw_url: string; + size: number; + type: string; + }; + type GistsListResponseItemFiles = { + "hello_world.rb": GistsListResponseItemFilesHelloWorldRb; + }; + type GistsListResponseItem = { + comments: number; + comments_url: string; + commits_url: string; + created_at: string; + description: string; + files: GistsListResponseItemFiles; + forks_url: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + id: string; + node_id: string; + owner: GistsListResponseItemOwner; + public: boolean; + truncated: boolean; + updated_at: string; + url: string; + user: null; + }; + type GistsGetRevisionResponseOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type GistsGetRevisionResponseHistoryItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type GistsGetRevisionResponseHistoryItemChangeStatus = { + additions: number; + deletions: number; + total: number; + }; + type GistsGetRevisionResponseHistoryItem = { + change_status: GistsGetRevisionResponseHistoryItemChangeStatus; + committed_at: string; + url: string; + user: GistsGetRevisionResponseHistoryItemUser; + version: string; + }; + type GistsGetRevisionResponseForksItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type GistsGetRevisionResponseForksItem = { + created_at: string; + id: string; + updated_at: string; + url: string; + user: GistsGetRevisionResponseForksItemUser; + }; + type GistsGetRevisionResponseFilesHelloWorldRubyTxt = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; + }; + type GistsGetRevisionResponseFilesHelloWorldPythonTxt = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; + }; + type GistsGetRevisionResponseFilesHelloWorldRb = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; + }; + type GistsGetRevisionResponseFilesHelloWorldPy = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; + }; + type GistsGetRevisionResponseFiles = { + "hello_world.py": GistsGetRevisionResponseFilesHelloWorldPy; + "hello_world.rb": GistsGetRevisionResponseFilesHelloWorldRb; + "hello_world_python.txt": GistsGetRevisionResponseFilesHelloWorldPythonTxt; + "hello_world_ruby.txt": GistsGetRevisionResponseFilesHelloWorldRubyTxt; + }; + type GistsGetRevisionResponse = { + comments: number; + comments_url: string; + commits_url: string; + created_at: string; + description: string; + files: GistsGetRevisionResponseFiles; + forks: Array; + forks_url: string; + git_pull_url: string; + git_push_url: string; + history: Array; + html_url: string; + id: string; + node_id: string; + owner: GistsGetRevisionResponseOwner; + public: boolean; + truncated: boolean; + updated_at: string; + url: string; + user: null; + }; + type GistsGetCommentResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type GistsGetCommentResponse = { + body: string; + created_at: string; + id: number; + node_id: string; + updated_at: string; + url: string; + user: GistsGetCommentResponseUser; + }; + type GistsGetResponseOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type GistsGetResponseHistoryItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type GistsGetResponseHistoryItemChangeStatus = { + additions: number; + deletions: number; + total: number; + }; + type GistsGetResponseHistoryItem = { + change_status: GistsGetResponseHistoryItemChangeStatus; + committed_at: string; + url: string; + user: GistsGetResponseHistoryItemUser; + version: string; + }; + type GistsGetResponseForksItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type GistsGetResponseForksItem = { + created_at: string; + id: string; + updated_at: string; + url: string; + user: GistsGetResponseForksItemUser; + }; + type GistsGetResponseFilesHelloWorldRubyTxt = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; + }; + type GistsGetResponseFilesHelloWorldPythonTxt = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; + }; + type GistsGetResponseFilesHelloWorldRb = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; + }; + type GistsGetResponseFilesHelloWorldPy = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; + }; + type GistsGetResponseFiles = { + "hello_world.py": GistsGetResponseFilesHelloWorldPy; + "hello_world.rb": GistsGetResponseFilesHelloWorldRb; + "hello_world_python.txt": GistsGetResponseFilesHelloWorldPythonTxt; + "hello_world_ruby.txt": GistsGetResponseFilesHelloWorldRubyTxt; + }; + type GistsGetResponse = { + comments: number; + comments_url: string; + commits_url: string; + created_at: string; + description: string; + files: GistsGetResponseFiles; + forks: Array; + forks_url: string; + git_pull_url: string; + git_push_url: string; + history: Array; + html_url: string; + id: string; + node_id: string; + owner: GistsGetResponseOwner; + public: boolean; + truncated: boolean; + updated_at: string; + url: string; + user: null; + }; + type GistsForkResponseOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type GistsForkResponseFilesHelloWorldRb = { + filename: string; + language: string; + raw_url: string; + size: number; + type: string; + }; + type GistsForkResponseFiles = { + "hello_world.rb": GistsForkResponseFilesHelloWorldRb; + }; + type GistsForkResponse = { + comments: number; + comments_url: string; + commits_url: string; + created_at: string; + description: string; + files: GistsForkResponseFiles; + forks_url: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + id: string; + node_id: string; + owner: GistsForkResponseOwner; + public: boolean; + truncated: boolean; + updated_at: string; + url: string; + user: null; + }; + type GistsCreateCommentResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type GistsCreateCommentResponse = { + body: string; + created_at: string; + id: number; + node_id: string; + updated_at: string; + url: string; + user: GistsCreateCommentResponseUser; + }; + type GistsCreateResponseOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type GistsCreateResponseHistoryItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type GistsCreateResponseHistoryItemChangeStatus = { + additions: number; + deletions: number; + total: number; + }; + type GistsCreateResponseHistoryItem = { + change_status: GistsCreateResponseHistoryItemChangeStatus; + committed_at: string; + url: string; + user: GistsCreateResponseHistoryItemUser; + version: string; + }; + type GistsCreateResponseForksItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type GistsCreateResponseForksItem = { + created_at: string; + id: string; + updated_at: string; + url: string; + user: GistsCreateResponseForksItemUser; + }; + type GistsCreateResponseFilesHelloWorldRubyTxt = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; + }; + type GistsCreateResponseFilesHelloWorldPythonTxt = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; + }; + type GistsCreateResponseFilesHelloWorldRb = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; + }; + type GistsCreateResponseFilesHelloWorldPy = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; + }; + type GistsCreateResponseFiles = { + "hello_world.py": GistsCreateResponseFilesHelloWorldPy; + "hello_world.rb": GistsCreateResponseFilesHelloWorldRb; + "hello_world_python.txt": GistsCreateResponseFilesHelloWorldPythonTxt; + "hello_world_ruby.txt": GistsCreateResponseFilesHelloWorldRubyTxt; + }; + type GistsCreateResponse = { + comments: number; + comments_url: string; + commits_url: string; + created_at: string; + description: string; + files: GistsCreateResponseFiles; + forks: Array; + forks_url: string; + git_pull_url: string; + git_push_url: string; + history: Array; + html_url: string; + id: string; + node_id: string; + owner: GistsCreateResponseOwner; + public: boolean; + truncated: boolean; + updated_at: string; + url: string; + user: null; + }; + type CodesOfConductListConductCodesResponseItem = { + key: string; + name: string; + url: string; + }; + type CodesOfConductGetForRepoResponse = { + body: string; + key: string; + name: string; + url: string; + }; + type CodesOfConductGetConductCodeResponse = { + body: string; + key: string; + name: string; + url: string; + }; + type ChecksUpdateResponsePullRequestsItemHeadRepo = { + id: number; + name: string; + url: string; + }; + type ChecksUpdateResponsePullRequestsItemHead = { + ref: string; + repo: ChecksUpdateResponsePullRequestsItemHeadRepo; + sha: string; + }; + type ChecksUpdateResponsePullRequestsItemBaseRepo = { + id: number; + name: string; + url: string; + }; + type ChecksUpdateResponsePullRequestsItemBase = { + ref: string; + repo: ChecksUpdateResponsePullRequestsItemBaseRepo; + sha: string; + }; + type ChecksUpdateResponsePullRequestsItem = { + base: ChecksUpdateResponsePullRequestsItemBase; + head: ChecksUpdateResponsePullRequestsItemHead; + id: number; + number: number; + url: string; + }; + type ChecksUpdateResponseOutput = { + annotations_count: number; + annotations_url: string; + summary: string; + text: string; + title: string; + }; + type ChecksUpdateResponseCheckSuite = { id: number }; + type ChecksUpdateResponseAppPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; + }; + type ChecksUpdateResponseAppOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type ChecksUpdateResponseApp = { + created_at: string; + description: string; + events: Array; + external_url: string; + html_url: string; + id: number; + name: string; + node_id: string; + owner: ChecksUpdateResponseAppOwner; + permissions: ChecksUpdateResponseAppPermissions; + slug: string; + updated_at: string; + }; + type ChecksUpdateResponse = { + app: ChecksUpdateResponseApp; + check_suite: ChecksUpdateResponseCheckSuite; + completed_at: string; + conclusion: string; + details_url: string; + external_id: string; + head_sha: string; + html_url: string; + id: number; + name: string; + node_id: string; + output: ChecksUpdateResponseOutput; + pull_requests: Array; + started_at: string; + status: string; + url: string; + }; + type ChecksSetSuitesPreferencesResponseRepositoryPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type ChecksSetSuitesPreferencesResponseRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ChecksSetSuitesPreferencesResponseRepository = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ChecksSetSuitesPreferencesResponseRepositoryOwner; + permissions: ChecksSetSuitesPreferencesResponseRepositoryPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type ChecksSetSuitesPreferencesResponsePreferencesAutoTriggerChecksItem = { + app_id: number; + setting: boolean; + }; + type ChecksSetSuitesPreferencesResponsePreferences = { + auto_trigger_checks: Array< + ChecksSetSuitesPreferencesResponsePreferencesAutoTriggerChecksItem + >; + }; + type ChecksSetSuitesPreferencesResponse = { + preferences: ChecksSetSuitesPreferencesResponsePreferences; + repository: ChecksSetSuitesPreferencesResponseRepository; + }; + type ChecksListSuitesForRefResponseCheckSuitesItemRepositoryPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type ChecksListSuitesForRefResponseCheckSuitesItemRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ChecksListSuitesForRefResponseCheckSuitesItemRepository = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ChecksListSuitesForRefResponseCheckSuitesItemRepositoryOwner; + permissions: ChecksListSuitesForRefResponseCheckSuitesItemRepositoryPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type ChecksListSuitesForRefResponseCheckSuitesItemAppPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; + }; + type ChecksListSuitesForRefResponseCheckSuitesItemAppOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type ChecksListSuitesForRefResponseCheckSuitesItemApp = { + created_at: string; + description: string; + events: Array; + external_url: string; + html_url: string; + id: number; + name: string; + node_id: string; + owner: ChecksListSuitesForRefResponseCheckSuitesItemAppOwner; + permissions: ChecksListSuitesForRefResponseCheckSuitesItemAppPermissions; + slug: string; + updated_at: string; + }; + type ChecksListSuitesForRefResponseCheckSuitesItem = { + after: string; + app: ChecksListSuitesForRefResponseCheckSuitesItemApp; + before: string; + conclusion: string; + head_branch: string; + head_sha: string; + id: number; + node_id: string; + pull_requests: Array; + repository: ChecksListSuitesForRefResponseCheckSuitesItemRepository; + status: string; + url: string; + }; + type ChecksListSuitesForRefResponse = { + check_suites: Array; + total_count: number; + }; + type ChecksListForSuiteResponseCheckRunsItemPullRequestsItemHeadRepo = { + id: number; + name: string; + url: string; + }; + type ChecksListForSuiteResponseCheckRunsItemPullRequestsItemHead = { + ref: string; + repo: ChecksListForSuiteResponseCheckRunsItemPullRequestsItemHeadRepo; + sha: string; + }; + type ChecksListForSuiteResponseCheckRunsItemPullRequestsItemBaseRepo = { + id: number; + name: string; + url: string; + }; + type ChecksListForSuiteResponseCheckRunsItemPullRequestsItemBase = { + ref: string; + repo: ChecksListForSuiteResponseCheckRunsItemPullRequestsItemBaseRepo; + sha: string; + }; + type ChecksListForSuiteResponseCheckRunsItemPullRequestsItem = { + base: ChecksListForSuiteResponseCheckRunsItemPullRequestsItemBase; + head: ChecksListForSuiteResponseCheckRunsItemPullRequestsItemHead; + id: number; + number: number; + url: string; + }; + type ChecksListForSuiteResponseCheckRunsItemOutput = { + annotations_count: number; + annotations_url: string; + summary: string; + text: string; + title: string; + }; + type ChecksListForSuiteResponseCheckRunsItemCheckSuite = { id: number }; + type ChecksListForSuiteResponseCheckRunsItemAppPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; + }; + type ChecksListForSuiteResponseCheckRunsItemAppOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type ChecksListForSuiteResponseCheckRunsItemApp = { + created_at: string; + description: string; + events: Array; + external_url: string; + html_url: string; + id: number; + name: string; + node_id: string; + owner: ChecksListForSuiteResponseCheckRunsItemAppOwner; + permissions: ChecksListForSuiteResponseCheckRunsItemAppPermissions; + slug: string; + updated_at: string; + }; + type ChecksListForSuiteResponseCheckRunsItem = { + app: ChecksListForSuiteResponseCheckRunsItemApp; + check_suite: ChecksListForSuiteResponseCheckRunsItemCheckSuite; + completed_at: string; + conclusion: string; + details_url: string; + external_id: string; + head_sha: string; + html_url: string; + id: number; + name: string; + node_id: string; + output: ChecksListForSuiteResponseCheckRunsItemOutput; + pull_requests: Array< + ChecksListForSuiteResponseCheckRunsItemPullRequestsItem + >; + started_at: string; + status: string; + url: string; + }; + type ChecksListForSuiteResponse = { + check_runs: Array; + total_count: number; + }; + type ChecksListForRefResponseCheckRunsItemPullRequestsItemHeadRepo = { + id: number; + name: string; + url: string; + }; + type ChecksListForRefResponseCheckRunsItemPullRequestsItemHead = { + ref: string; + repo: ChecksListForRefResponseCheckRunsItemPullRequestsItemHeadRepo; + sha: string; + }; + type ChecksListForRefResponseCheckRunsItemPullRequestsItemBaseRepo = { + id: number; + name: string; + url: string; + }; + type ChecksListForRefResponseCheckRunsItemPullRequestsItemBase = { + ref: string; + repo: ChecksListForRefResponseCheckRunsItemPullRequestsItemBaseRepo; + sha: string; + }; + type ChecksListForRefResponseCheckRunsItemPullRequestsItem = { + base: ChecksListForRefResponseCheckRunsItemPullRequestsItemBase; + head: ChecksListForRefResponseCheckRunsItemPullRequestsItemHead; + id: number; + number: number; + url: string; + }; + type ChecksListForRefResponseCheckRunsItemOutput = { + annotations_count: number; + annotations_url: string; + summary: string; + text: string; + title: string; + }; + type ChecksListForRefResponseCheckRunsItemCheckSuite = { id: number }; + type ChecksListForRefResponseCheckRunsItemAppPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; + }; + type ChecksListForRefResponseCheckRunsItemAppOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type ChecksListForRefResponseCheckRunsItemApp = { + created_at: string; + description: string; + events: Array; + external_url: string; + html_url: string; + id: number; + name: string; + node_id: string; + owner: ChecksListForRefResponseCheckRunsItemAppOwner; + permissions: ChecksListForRefResponseCheckRunsItemAppPermissions; + slug: string; + updated_at: string; + }; + type ChecksListForRefResponseCheckRunsItem = { + app: ChecksListForRefResponseCheckRunsItemApp; + check_suite: ChecksListForRefResponseCheckRunsItemCheckSuite; + completed_at: string; + conclusion: string; + details_url: string; + external_id: string; + head_sha: string; + html_url: string; + id: number; + name: string; + node_id: string; + output: ChecksListForRefResponseCheckRunsItemOutput; + pull_requests: Array; + started_at: string; + status: string; + url: string; + }; + type ChecksListForRefResponse = { + check_runs: Array; + total_count: number; + }; + type ChecksListAnnotationsResponseItem = { + annotation_level: string; + end_column: number; + end_line: number; + message: string; + path: string; + raw_details: string; + start_column: number; + start_line: number; + title: string; + }; + type ChecksGetSuiteResponseRepositoryPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type ChecksGetSuiteResponseRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ChecksGetSuiteResponseRepository = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ChecksGetSuiteResponseRepositoryOwner; + permissions: ChecksGetSuiteResponseRepositoryPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type ChecksGetSuiteResponseAppPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; + }; + type ChecksGetSuiteResponseAppOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type ChecksGetSuiteResponseApp = { + created_at: string; + description: string; + events: Array; + external_url: string; + html_url: string; + id: number; + name: string; + node_id: string; + owner: ChecksGetSuiteResponseAppOwner; + permissions: ChecksGetSuiteResponseAppPermissions; + slug: string; + updated_at: string; + }; + type ChecksGetSuiteResponse = { + after: string; + app: ChecksGetSuiteResponseApp; + before: string; + conclusion: string; + head_branch: string; + head_sha: string; + id: number; + node_id: string; + pull_requests: Array; + repository: ChecksGetSuiteResponseRepository; + status: string; + url: string; + }; + type ChecksGetResponsePullRequestsItemHeadRepo = { + id: number; + name: string; + url: string; + }; + type ChecksGetResponsePullRequestsItemHead = { + ref: string; + repo: ChecksGetResponsePullRequestsItemHeadRepo; + sha: string; + }; + type ChecksGetResponsePullRequestsItemBaseRepo = { + id: number; + name: string; + url: string; + }; + type ChecksGetResponsePullRequestsItemBase = { + ref: string; + repo: ChecksGetResponsePullRequestsItemBaseRepo; + sha: string; + }; + type ChecksGetResponsePullRequestsItem = { + base: ChecksGetResponsePullRequestsItemBase; + head: ChecksGetResponsePullRequestsItemHead; + id: number; + number: number; + url: string; + }; + type ChecksGetResponseOutput = { + annotations_count: number; + annotations_url: string; + summary: string; + text: string; + title: string; + }; + type ChecksGetResponseCheckSuite = { id: number }; + type ChecksGetResponseAppPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; + }; + type ChecksGetResponseAppOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type ChecksGetResponseApp = { + created_at: string; + description: string; + events: Array; + external_url: string; + html_url: string; + id: number; + name: string; + node_id: string; + owner: ChecksGetResponseAppOwner; + permissions: ChecksGetResponseAppPermissions; + slug: string; + updated_at: string; + }; + type ChecksGetResponse = { + app: ChecksGetResponseApp; + check_suite: ChecksGetResponseCheckSuite; + completed_at: string; + conclusion: string; + details_url: string; + external_id: string; + head_sha: string; + html_url: string; + id: number; + name: string; + node_id: string; + output: ChecksGetResponseOutput; + pull_requests: Array; + started_at: string; + status: string; + url: string; + }; + type ChecksCreateSuiteResponseRepositoryPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type ChecksCreateSuiteResponseRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ChecksCreateSuiteResponseRepository = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ChecksCreateSuiteResponseRepositoryOwner; + permissions: ChecksCreateSuiteResponseRepositoryPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type ChecksCreateSuiteResponseAppPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; + }; + type ChecksCreateSuiteResponseAppOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type ChecksCreateSuiteResponseApp = { + created_at: string; + description: string; + events: Array; + external_url: string; + html_url: string; + id: number; + name: string; + node_id: string; + owner: ChecksCreateSuiteResponseAppOwner; + permissions: ChecksCreateSuiteResponseAppPermissions; + slug: string; + updated_at: string; + }; + type ChecksCreateSuiteResponse = { + after: string; + app: ChecksCreateSuiteResponseApp; + before: string; + conclusion: string; + head_branch: string; + head_sha: string; + id: number; + node_id: string; + pull_requests: Array; + repository: ChecksCreateSuiteResponseRepository; + status: string; + url: string; + }; + type ChecksCreateResponsePullRequestsItemHeadRepo = { + id: number; + name: string; + url: string; + }; + type ChecksCreateResponsePullRequestsItemHead = { + ref: string; + repo: ChecksCreateResponsePullRequestsItemHeadRepo; + sha: string; + }; + type ChecksCreateResponsePullRequestsItemBaseRepo = { + id: number; + name: string; + url: string; + }; + type ChecksCreateResponsePullRequestsItemBase = { + ref: string; + repo: ChecksCreateResponsePullRequestsItemBaseRepo; + sha: string; + }; + type ChecksCreateResponsePullRequestsItem = { + base: ChecksCreateResponsePullRequestsItemBase; + head: ChecksCreateResponsePullRequestsItemHead; + id: number; + number: number; + url: string; + }; + type ChecksCreateResponseOutput = { + summary: string; + text: string; + title: string; + annotations_count?: number; + annotations_url?: string; + }; + type ChecksCreateResponseCheckSuite = { id: number }; + type ChecksCreateResponseAppPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; + }; + type ChecksCreateResponseAppOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type ChecksCreateResponseApp = { + created_at: string; + description: string; + events: Array; + external_url: string; + html_url: string; + id: number; + name: string; + node_id: string; + owner: ChecksCreateResponseAppOwner; + permissions: ChecksCreateResponseAppPermissions; + slug: string; + updated_at: string; + }; + type ChecksCreateResponse = { + app: ChecksCreateResponseApp; + check_suite: ChecksCreateResponseCheckSuite; + completed_at: null | string; + conclusion: null | string; + details_url: string; + external_id: string; + head_sha: string; + html_url: string; + id: number; + name: string; + node_id: string; + output: ChecksCreateResponseOutput; + pull_requests: Array; + started_at: string; + status: string; + url: string; + }; + type AppsResetTokenResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type AppsResetTokenResponseApp = { + client_id: string; + name: string; + url: string; + }; + type AppsResetTokenResponse = { + app: AppsResetTokenResponseApp; + created_at: string; + fingerprint: string; + hashed_token: string; + id: number; + note: string; + note_url: string; + scopes: Array; + token: string; + token_last_eight: string; + updated_at: string; + url: string; + user: AppsResetTokenResponseUser; + }; + type AppsResetAuthorizationResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type AppsResetAuthorizationResponseApp = { + client_id: string; + name: string; + url: string; + }; + type AppsResetAuthorizationResponse = { + app: AppsResetAuthorizationResponseApp; + created_at: string; + fingerprint: string; + hashed_token: string; + id: number; + note: string; + note_url: string; + scopes: Array; + token: string; + token_last_eight: string; + updated_at: string; + url: string; + user: AppsResetAuthorizationResponseUser; + }; + type AppsListReposResponseRepositoriesItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type AppsListReposResponseRepositoriesItem = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: AppsListReposResponseRepositoriesItemOwner; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type AppsListReposResponse = { + repositories: Array; + total_count: number; + }; + type AppsListPlansStubbedResponseItem = { + accounts_url: string; + bullets: Array; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + number: number; + price_model: string; + state: string; + unit_name: null; + url: string; + yearly_price_in_cents: number; + }; + type AppsListPlansResponseItem = { + accounts_url: string; + bullets: Array; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + number: number; + price_model: string; + state: string; + unit_name: null; + url: string; + yearly_price_in_cents: number; + }; + type AppsListMarketplacePurchasesForAuthenticatedUserStubbedResponseItemPlan = { + accounts_url: string; + bullets: Array; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + number: number; + price_model: string; + state: string; + unit_name: null; + url: string; + yearly_price_in_cents: number; + }; + type AppsListMarketplacePurchasesForAuthenticatedUserStubbedResponseItemAccount = { + email: null; + id: number; + login: string; + organization_billing_email: string; + type: string; + url: string; + }; + type AppsListMarketplacePurchasesForAuthenticatedUserStubbedResponseItem = { + account: AppsListMarketplacePurchasesForAuthenticatedUserStubbedResponseItemAccount; + billing_cycle: string; + free_trial_ends_on: string; + next_billing_date: string; + on_free_trial: boolean; + plan: AppsListMarketplacePurchasesForAuthenticatedUserStubbedResponseItemPlan; + unit_count: null; + updated_at: string; + }; + type AppsListMarketplacePurchasesForAuthenticatedUserResponseItemPlan = { + accounts_url: string; + bullets: Array; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + number: number; + price_model: string; + state: string; + unit_name: null; + url: string; + yearly_price_in_cents: number; + }; + type AppsListMarketplacePurchasesForAuthenticatedUserResponseItemAccount = { + email: null; + id: number; + login: string; + organization_billing_email: string; + type: string; + url: string; + }; + type AppsListMarketplacePurchasesForAuthenticatedUserResponseItem = { + account: AppsListMarketplacePurchasesForAuthenticatedUserResponseItemAccount; + billing_cycle: string; + free_trial_ends_on: string; + next_billing_date: string; + on_free_trial: boolean; + plan: AppsListMarketplacePurchasesForAuthenticatedUserResponseItemPlan; + unit_count: null; + updated_at: string; + }; + type AppsListInstallationsForAuthenticatedUserResponseInstallationsItemPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; + }; + type AppsListInstallationsForAuthenticatedUserResponseInstallationsItemAccount = { + avatar_url: string; + description?: string; + events_url: string; + hooks_url?: string; + id: number; + issues_url?: string; + login: string; + members_url?: string; + node_id: string; + public_members_url?: string; + repos_url: string; + url: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + organizations_url?: string; + received_events_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + }; + type AppsListInstallationsForAuthenticatedUserResponseInstallationsItem = { + access_tokens_url: string; + account: AppsListInstallationsForAuthenticatedUserResponseInstallationsItemAccount; + app_id: number; + events: Array; + html_url: string; + id: number; + permissions: AppsListInstallationsForAuthenticatedUserResponseInstallationsItemPermissions; + repositories_url: string; + single_file_name: string; + target_id: number; + target_type: string; + }; + type AppsListInstallationsForAuthenticatedUserResponse = { + installations: Array< + AppsListInstallationsForAuthenticatedUserResponseInstallationsItem + >; + total_count: number; + }; + type AppsListInstallationsResponseItemPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; + }; + type AppsListInstallationsResponseItemAccount = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type AppsListInstallationsResponseItem = { + access_tokens_url: string; + account: AppsListInstallationsResponseItemAccount; + app_id: number; + events: Array; + html_url: string; + id: number; + permissions: AppsListInstallationsResponseItemPermissions; + repositories_url: string; + repository_selection: string; + single_file_name: string; + target_id: number; + target_type: string; + }; + type AppsListInstallationReposForAuthenticatedUserResponseRepositoriesItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type AppsListInstallationReposForAuthenticatedUserResponseRepositoriesItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type AppsListInstallationReposForAuthenticatedUserResponseRepositoriesItem = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: AppsListInstallationReposForAuthenticatedUserResponseRepositoriesItemOwner; + permissions: AppsListInstallationReposForAuthenticatedUserResponseRepositoriesItemPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type AppsListInstallationReposForAuthenticatedUserResponse = { + repositories: Array< + AppsListInstallationReposForAuthenticatedUserResponseRepositoriesItem + >; + total_count: number; + }; + type AppsListAccountsUserOrOrgOnPlanStubbedResponseItemMarketplacePurchasePlan = { + accounts_url: string; + bullets: Array; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + number: number; + price_model: string; + state: string; + unit_name: null; + url: string; + yearly_price_in_cents: number; + }; + type AppsListAccountsUserOrOrgOnPlanStubbedResponseItemMarketplacePurchase = { + billing_cycle: string; + free_trial_ends_on: string; + next_billing_date: string; + on_free_trial: boolean; + plan: AppsListAccountsUserOrOrgOnPlanStubbedResponseItemMarketplacePurchasePlan; + unit_count: null; + updated_at: string; + }; + type AppsListAccountsUserOrOrgOnPlanStubbedResponseItemMarketplacePendingChangePlan = { + accounts_url: string; + bullets: Array; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + number: number; + price_model: string; + state: string; + unit_name: null; + url: string; + yearly_price_in_cents: number; + }; + type AppsListAccountsUserOrOrgOnPlanStubbedResponseItemMarketplacePendingChange = { + effective_date: string; + id: number; + plan: AppsListAccountsUserOrOrgOnPlanStubbedResponseItemMarketplacePendingChangePlan; + unit_count: null; + }; + type AppsListAccountsUserOrOrgOnPlanStubbedResponseItem = { + email: null; + id: number; + login: string; + marketplace_pending_change: AppsListAccountsUserOrOrgOnPlanStubbedResponseItemMarketplacePendingChange; + marketplace_purchase: AppsListAccountsUserOrOrgOnPlanStubbedResponseItemMarketplacePurchase; + organization_billing_email: string; + type: string; + url: string; + }; + type AppsListAccountsUserOrOrgOnPlanResponseItemMarketplacePurchasePlan = { + accounts_url: string; + bullets: Array; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + number: number; + price_model: string; + state: string; + unit_name: null; + url: string; + yearly_price_in_cents: number; + }; + type AppsListAccountsUserOrOrgOnPlanResponseItemMarketplacePurchase = { + billing_cycle: string; + free_trial_ends_on: string; + next_billing_date: string; + on_free_trial: boolean; + plan: AppsListAccountsUserOrOrgOnPlanResponseItemMarketplacePurchasePlan; + unit_count: null; + updated_at: string; + }; + type AppsListAccountsUserOrOrgOnPlanResponseItemMarketplacePendingChangePlan = { + accounts_url: string; + bullets: Array; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + number: number; + price_model: string; + state: string; + unit_name: null; + url: string; + yearly_price_in_cents: number; + }; + type AppsListAccountsUserOrOrgOnPlanResponseItemMarketplacePendingChange = { + effective_date: string; + id: number; + plan: AppsListAccountsUserOrOrgOnPlanResponseItemMarketplacePendingChangePlan; + unit_count: null; + }; + type AppsListAccountsUserOrOrgOnPlanResponseItem = { + email: null; + id: number; + login: string; + marketplace_pending_change: AppsListAccountsUserOrOrgOnPlanResponseItemMarketplacePendingChange; + marketplace_purchase: AppsListAccountsUserOrOrgOnPlanResponseItemMarketplacePurchase; + organization_billing_email: string; + type: string; + url: string; + }; + type AppsGetUserInstallationResponsePermissions = { + checks: string; + contents: string; + metadata: string; + }; + type AppsGetUserInstallationResponseAccount = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type AppsGetUserInstallationResponse = { + access_tokens_url: string; + account: AppsGetUserInstallationResponseAccount; + app_id: number; + created_at: string; + events: Array; + html_url: string; + id: number; + permissions: AppsGetUserInstallationResponsePermissions; + repositories_url: string; + repository_selection: string; + single_file_name: null; + target_id: number; + target_type: string; + updated_at: string; + }; + type AppsGetRepoInstallationResponsePermissions = { + checks: string; + contents: string; + metadata: string; + }; + type AppsGetRepoInstallationResponseAccount = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type AppsGetRepoInstallationResponse = { + access_tokens_url: string; + account: AppsGetRepoInstallationResponseAccount; + app_id: number; + created_at: string; + events: Array; + html_url: string; + id: number; + permissions: AppsGetRepoInstallationResponsePermissions; + repositories_url: string; + repository_selection: string; + single_file_name: null; + target_id: number; + target_type: string; + updated_at: string; + }; + type AppsGetOrgInstallationResponsePermissions = { + checks: string; + contents: string; + metadata: string; + }; + type AppsGetOrgInstallationResponseAccount = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type AppsGetOrgInstallationResponse = { + access_tokens_url: string; + account: AppsGetOrgInstallationResponseAccount; + app_id: number; + created_at: string; + events: Array; + html_url: string; + id: number; + permissions: AppsGetOrgInstallationResponsePermissions; + repositories_url: string; + repository_selection: string; + single_file_name: null; + target_id: number; + target_type: string; + updated_at: string; + }; + type AppsGetInstallationResponsePermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; + }; + type AppsGetInstallationResponseAccount = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type AppsGetInstallationResponse = { + access_tokens_url: string; + account: AppsGetInstallationResponseAccount; + app_id: number; + events: Array; + html_url: string; + id: number; + permissions: AppsGetInstallationResponsePermissions; + repositories_url: string; + repository_selection: string; + single_file_name: string; + target_id: number; + target_type: string; + }; + type AppsGetBySlugResponsePermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; + }; + type AppsGetBySlugResponseOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type AppsGetBySlugResponse = { + created_at: string; + description: string; + events: Array; + external_url: string; + html_url: string; + id: number; + name: string; + node_id: string; + owner: AppsGetBySlugResponseOwner; + permissions: AppsGetBySlugResponsePermissions; + slug: string; + updated_at: string; + }; + type AppsGetAuthenticatedResponsePermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; + }; + type AppsGetAuthenticatedResponseOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type AppsGetAuthenticatedResponse = { + created_at: string; + description: string; + events: Array; + external_url: string; + html_url: string; + id: number; + installations_count: number; + name: string; + node_id: string; + owner: AppsGetAuthenticatedResponseOwner; + permissions: AppsGetAuthenticatedResponsePermissions; + slug: string; + updated_at: string; + }; + type AppsFindUserInstallationResponsePermissions = { + checks: string; + contents: string; + metadata: string; + }; + type AppsFindUserInstallationResponseAccount = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type AppsFindUserInstallationResponse = { + access_tokens_url: string; + account: AppsFindUserInstallationResponseAccount; + app_id: number; + created_at: string; + events: Array; + html_url: string; + id: number; + permissions: AppsFindUserInstallationResponsePermissions; + repositories_url: string; + repository_selection: string; + single_file_name: null; + target_id: number; + target_type: string; + updated_at: string; + }; + type AppsFindRepoInstallationResponsePermissions = { + checks: string; + contents: string; + metadata: string; + }; + type AppsFindRepoInstallationResponseAccount = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type AppsFindRepoInstallationResponse = { + access_tokens_url: string; + account: AppsFindRepoInstallationResponseAccount; + app_id: number; + created_at: string; + events: Array; + html_url: string; + id: number; + permissions: AppsFindRepoInstallationResponsePermissions; + repositories_url: string; + repository_selection: string; + single_file_name: null; + target_id: number; + target_type: string; + updated_at: string; + }; + type AppsFindOrgInstallationResponsePermissions = { + checks: string; + contents: string; + metadata: string; + }; + type AppsFindOrgInstallationResponseAccount = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type AppsFindOrgInstallationResponse = { + access_tokens_url: string; + account: AppsFindOrgInstallationResponseAccount; + app_id: number; + created_at: string; + events: Array; + html_url: string; + id: number; + permissions: AppsFindOrgInstallationResponsePermissions; + repositories_url: string; + repository_selection: string; + single_file_name: null; + target_id: number; + target_type: string; + updated_at: string; + }; + type AppsCreateInstallationTokenResponseRepositoriesItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type AppsCreateInstallationTokenResponseRepositoriesItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type AppsCreateInstallationTokenResponseRepositoriesItem = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: AppsCreateInstallationTokenResponseRepositoriesItemOwner; + permissions: AppsCreateInstallationTokenResponseRepositoriesItemPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type AppsCreateInstallationTokenResponsePermissions = { + contents: string; + issues: string; + }; + type AppsCreateInstallationTokenResponse = { + expires_at: string; + permissions: AppsCreateInstallationTokenResponsePermissions; + repositories: Array; + token: string; + }; + type AppsCreateFromManifestResponseOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type AppsCreateFromManifestResponse = { + client_id: string; + client_secret: string; + created_at: string; + description: null; + external_url: string; + html_url: string; + id: number; + name: string; + node_id: string; + owner: AppsCreateFromManifestResponseOwner; + pem: string; + updated_at: string; + webhook_secret: string; + }; + type AppsCreateContentAttachmentResponse = { + body: string; + id: number; + title: string; + }; + type AppsCheckTokenResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type AppsCheckTokenResponseApp = { + client_id: string; + name: string; + url: string; + }; + type AppsCheckTokenResponse = { + app: AppsCheckTokenResponseApp; + created_at: string; + fingerprint: string; + hashed_token: string; + id: number; + note: string; + note_url: string; + scopes: Array; + token: string; + token_last_eight: string; + updated_at: string; + url: string; + user: AppsCheckTokenResponseUser; + }; + type AppsCheckAuthorizationResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type AppsCheckAuthorizationResponseApp = { + client_id: string; + name: string; + url: string; + }; + type AppsCheckAuthorizationResponse = { + app: AppsCheckAuthorizationResponseApp; + created_at: string; + fingerprint: string; + hashed_token: string; + id: number; + note: string; + note_url: string; + scopes: Array; + token: string; + token_last_eight: string; + updated_at: string; + url: string; + user: AppsCheckAuthorizationResponseUser; + }; + type AppsCheckAccountIsAssociatedWithAnyStubbedResponseMarketplacePurchasePlan = { + accounts_url: string; + bullets: Array; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + number: number; + price_model: string; + state: string; + unit_name: null; + url: string; + yearly_price_in_cents: number; + }; + type AppsCheckAccountIsAssociatedWithAnyStubbedResponseMarketplacePurchase = { + billing_cycle: string; + free_trial_ends_on: string; + next_billing_date: string; + on_free_trial: boolean; + plan: AppsCheckAccountIsAssociatedWithAnyStubbedResponseMarketplacePurchasePlan; + unit_count: null; + updated_at: string; + }; + type AppsCheckAccountIsAssociatedWithAnyStubbedResponseMarketplacePendingChangePlan = { + accounts_url: string; + bullets: Array; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + number: number; + price_model: string; + state: string; + unit_name: null; + url: string; + yearly_price_in_cents: number; + }; + type AppsCheckAccountIsAssociatedWithAnyStubbedResponseMarketplacePendingChange = { + effective_date: string; + id: number; + plan: AppsCheckAccountIsAssociatedWithAnyStubbedResponseMarketplacePendingChangePlan; + unit_count: null; + }; + type AppsCheckAccountIsAssociatedWithAnyStubbedResponse = { + email: null; + id: number; + login: string; + marketplace_pending_change: AppsCheckAccountIsAssociatedWithAnyStubbedResponseMarketplacePendingChange; + marketplace_purchase: AppsCheckAccountIsAssociatedWithAnyStubbedResponseMarketplacePurchase; + organization_billing_email: string; + type: string; + url: string; + }; + type AppsCheckAccountIsAssociatedWithAnyResponseMarketplacePurchasePlan = { + accounts_url: string; + bullets: Array; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + number: number; + price_model: string; + state: string; + unit_name: null; + url: string; + yearly_price_in_cents: number; + }; + type AppsCheckAccountIsAssociatedWithAnyResponseMarketplacePurchase = { + billing_cycle: string; + free_trial_ends_on: string; + next_billing_date: string; + on_free_trial: boolean; + plan: AppsCheckAccountIsAssociatedWithAnyResponseMarketplacePurchasePlan; + unit_count: null; + updated_at: string; + }; + type AppsCheckAccountIsAssociatedWithAnyResponseMarketplacePendingChangePlan = { + accounts_url: string; + bullets: Array; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + number: number; + price_model: string; + state: string; + unit_name: null; + url: string; + yearly_price_in_cents: number; + }; + type AppsCheckAccountIsAssociatedWithAnyResponseMarketplacePendingChange = { + effective_date: string; + id: number; + plan: AppsCheckAccountIsAssociatedWithAnyResponseMarketplacePendingChangePlan; + unit_count: null; + }; + type AppsCheckAccountIsAssociatedWithAnyResponse = { + email: null; + id: number; + login: string; + marketplace_pending_change: AppsCheckAccountIsAssociatedWithAnyResponseMarketplacePendingChange; + marketplace_purchase: AppsCheckAccountIsAssociatedWithAnyResponseMarketplacePurchase; + organization_billing_email: string; + type: string; + url: string; + }; + type ActivitySetThreadSubscriptionResponse = { + created_at: string; + ignored: boolean; + reason: null; + subscribed: boolean; + thread_url: string; + url: string; + }; + type ActivitySetRepoSubscriptionResponse = { + created_at: string; + ignored: boolean; + reason: null; + repository_url: string; + subscribed: boolean; + url: string; + }; + type ActivityListWatchersForRepoResponseItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ActivityListWatchedReposForAuthenticatedUserResponseItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type ActivityListWatchedReposForAuthenticatedUserResponseItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ActivityListWatchedReposForAuthenticatedUserResponseItemLicense = { + key: string; + name: string; + node_id: string; + spdx_id: string; + url: string; + }; + type ActivityListWatchedReposForAuthenticatedUserResponseItem = { + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + license: ActivityListWatchedReposForAuthenticatedUserResponseItemLicense; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ActivityListWatchedReposForAuthenticatedUserResponseItemOwner; + permissions: ActivityListWatchedReposForAuthenticatedUserResponseItemPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type ActivityListStargazersForRepoResponseItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ActivityListReposWatchedByUserResponseItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type ActivityListReposWatchedByUserResponseItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ActivityListReposWatchedByUserResponseItemLicense = { + key: string; + name: string; + node_id: string; + spdx_id: string; + url: string; + }; + type ActivityListReposWatchedByUserResponseItem = { + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + license: ActivityListReposWatchedByUserResponseItemLicense; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ActivityListReposWatchedByUserResponseItemOwner; + permissions: ActivityListReposWatchedByUserResponseItemPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type ActivityListReposStarredByUserResponseItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type ActivityListReposStarredByUserResponseItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ActivityListReposStarredByUserResponseItem = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ActivityListReposStarredByUserResponseItemOwner; + permissions: ActivityListReposStarredByUserResponseItemPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type ActivityListReposStarredByAuthenticatedUserResponseItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type ActivityListReposStarredByAuthenticatedUserResponseItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ActivityListReposStarredByAuthenticatedUserResponseItem = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: boolean; + archive_url: string; + archived: boolean; + assignees_url: string; + blobs_url: string; + branches_url: string; + clone_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + created_at: string; + default_branch: string; + deployments_url: string; + description: string; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + forks_count: number; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_pages: boolean; + has_projects: boolean; + has_wiki: boolean; + homepage: string; + hooks_url: string; + html_url: string; + id: number; + is_template: boolean; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + language: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ActivityListReposStarredByAuthenticatedUserResponseItemOwner; + permissions: ActivityListReposStarredByAuthenticatedUserResponseItemPermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; + }; + type ActivityListNotificationsForRepoResponseItemSubject = { + latest_comment_url: string; + title: string; + type: string; + url: string; + }; + type ActivityListNotificationsForRepoResponseItemRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ActivityListNotificationsForRepoResponseItemRepository = { + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + description: string; + downloads_url: string; + events_url: string; + fork: boolean; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + html_url: string; + id: number; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + name: string; + node_id: string; + notifications_url: string; + owner: ActivityListNotificationsForRepoResponseItemRepositoryOwner; + private: boolean; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + url: string; + }; + type ActivityListNotificationsForRepoResponseItem = { + id: string; + last_read_at: string; + reason: string; + repository: ActivityListNotificationsForRepoResponseItemRepository; + subject: ActivityListNotificationsForRepoResponseItemSubject; + unread: boolean; + updated_at: string; + url: string; + }; + type ActivityListNotificationsResponseItemSubject = { + latest_comment_url: string; + title: string; + type: string; + url: string; + }; + type ActivityListNotificationsResponseItemRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ActivityListNotificationsResponseItemRepository = { + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + description: string; + downloads_url: string; + events_url: string; + fork: boolean; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + html_url: string; + id: number; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + name: string; + node_id: string; + notifications_url: string; + owner: ActivityListNotificationsResponseItemRepositoryOwner; + private: boolean; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + url: string; + }; + type ActivityListNotificationsResponseItem = { + id: string; + last_read_at: string; + reason: string; + repository: ActivityListNotificationsResponseItemRepository; + subject: ActivityListNotificationsResponseItemSubject; + unread: boolean; + updated_at: string; + url: string; + }; + type ActivityListFeedsResponseLinksUser = { href: string; type: string }; + type ActivityListFeedsResponseLinksTimeline = { href: string; type: string }; + type ActivityListFeedsResponseLinksSecurityAdvisories = { + href: string; + type: string; + }; + type ActivityListFeedsResponseLinksCurrentUserPublic = { + href: string; + type: string; + }; + type ActivityListFeedsResponseLinksCurrentUserOrganizationsItem = { + href: string; + type: string; + }; + type ActivityListFeedsResponseLinksCurrentUserOrganization = { + href: string; + type: string; + }; + type ActivityListFeedsResponseLinksCurrentUserActor = { + href: string; + type: string; + }; + type ActivityListFeedsResponseLinksCurrentUser = { + href: string; + type: string; + }; + type ActivityListFeedsResponseLinks = { + current_user: ActivityListFeedsResponseLinksCurrentUser; + current_user_actor: ActivityListFeedsResponseLinksCurrentUserActor; + current_user_organization: ActivityListFeedsResponseLinksCurrentUserOrganization; + current_user_organizations: Array< + ActivityListFeedsResponseLinksCurrentUserOrganizationsItem + >; + current_user_public: ActivityListFeedsResponseLinksCurrentUserPublic; + security_advisories: ActivityListFeedsResponseLinksSecurityAdvisories; + timeline: ActivityListFeedsResponseLinksTimeline; + user: ActivityListFeedsResponseLinksUser; + }; + type ActivityListFeedsResponse = { + _links: ActivityListFeedsResponseLinks; + current_user_actor_url: string; + current_user_organization_url: string; + current_user_organization_urls: Array; + current_user_public_url: string; + current_user_url: string; + security_advisories_url: string; + timeline_url: string; + user_url: string; + }; + type ActivityGetThreadSubscriptionResponse = { + created_at: string; + ignored: boolean; + reason: null; + subscribed: boolean; + thread_url: string; + url: string; + }; + type ActivityGetThreadResponseSubject = { + latest_comment_url: string; + title: string; + type: string; + url: string; + }; + type ActivityGetThreadResponseRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ActivityGetThreadResponseRepository = { + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + description: string; + downloads_url: string; + events_url: string; + fork: boolean; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + html_url: string; + id: number; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + name: string; + node_id: string; + notifications_url: string; + owner: ActivityGetThreadResponseRepositoryOwner; + private: boolean; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + url: string; + }; + type ActivityGetThreadResponse = { + id: string; + last_read_at: string; + reason: string; + repository: ActivityGetThreadResponseRepository; + subject: ActivityGetThreadResponseSubject; + unread: boolean; + updated_at: string; + url: string; + }; + type ActivityGetRepoSubscriptionResponse = { + created_at: string; + ignored: boolean; + reason: null; + repository_url: string; + subscribed: boolean; + url: string; + }; + type ActionsListWorkflowRunsResponseWorkflowRunsItemRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ActionsListWorkflowRunsResponseWorkflowRunsItemRepository = { + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + description: string; + downloads_url: string; + events_url: string; + fork: boolean; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + html_url: string; + id: number; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + name: string; + node_id: string; + notifications_url: string; + owner: ActionsListWorkflowRunsResponseWorkflowRunsItemRepositoryOwner; + private: boolean; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + url: string; + }; + type ActionsListWorkflowRunsResponseWorkflowRunsItemHeadRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ActionsListWorkflowRunsResponseWorkflowRunsItemHeadRepository = { + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + description: null; + downloads_url: string; + events_url: string; + fork: boolean; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + hooks_url: string; + html_url: string; + id: number; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + name: string; + node_id: string; + notifications_url: string; + owner: ActionsListWorkflowRunsResponseWorkflowRunsItemHeadRepositoryOwner; + private: boolean; + pulls_url: string; + releases_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + url: string; + }; + type ActionsListWorkflowRunsResponseWorkflowRunsItemHeadCommitCommitter = { + email: string; + name: string; + }; + type ActionsListWorkflowRunsResponseWorkflowRunsItemHeadCommitAuthor = { + email: string; + name: string; + }; + type ActionsListWorkflowRunsResponseWorkflowRunsItemHeadCommit = { + author: ActionsListWorkflowRunsResponseWorkflowRunsItemHeadCommitAuthor; + committer: ActionsListWorkflowRunsResponseWorkflowRunsItemHeadCommitCommitter; + id: string; + message: string; + timestamp: string; + tree_id: string; + }; + type ActionsListWorkflowRunsResponseWorkflowRunsItem = { + artifacts_url: string; + cancel_url: string; + check_suite_id: number; + conclusion: null; + created_at: string; + event: string; + head_branch: string; + head_commit: ActionsListWorkflowRunsResponseWorkflowRunsItemHeadCommit; + head_repository: ActionsListWorkflowRunsResponseWorkflowRunsItemHeadRepository; + head_sha: string; + html_url: string; + id: number; + jobs_url: string; + logs_url: string; + node_id: string; + pull_requests: Array; + repository: ActionsListWorkflowRunsResponseWorkflowRunsItemRepository; + rerun_url: string; + run_number: number; + status: string; + updated_at: string; + url: string; + workflow_url: string; + }; + type ActionsListWorkflowRunsResponse = { + total_count: number; + workflow_runs: Array; + }; + type ActionsListWorkflowRunArtifactsResponseArtifactsItem = { + archive_download_url: string; + created_at: string; + expired: string; + expires_at: string; + id: number; + name: string; + node_id: string; + size_in_bytes: number; + }; + type ActionsListWorkflowRunArtifactsResponse = { + artifacts: Array; + total_count: number; + }; + type ActionsListSelfHostedRunnersForRepoResponseItemItem = { + id: number; + name: string; + os: string; + status: string; + }; + type ActionsListSecretsForRepoResponseSecretsItem = { + created_at: string; + name: string; + updated_at: string; + }; + type ActionsListSecretsForRepoResponse = { + secrets: Array; + total_count: number; + }; + type ActionsListRepoWorkflowsResponseWorkflowsItem = { + badge_url: string; + created_at: string; + html_url: string; + id: number; + name: string; + node_id: string; + path: string; + state: string; + updated_at: string; + url: string; + }; + type ActionsListRepoWorkflowsResponse = { + total_count: number; + workflows: Array; + }; + type ActionsListRepoWorkflowRunsResponseWorkflowRunsItemRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ActionsListRepoWorkflowRunsResponseWorkflowRunsItemRepository = { + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + description: string; + downloads_url: string; + events_url: string; + fork: boolean; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + html_url: string; + id: number; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + name: string; + node_id: string; + notifications_url: string; + owner: ActionsListRepoWorkflowRunsResponseWorkflowRunsItemRepositoryOwner; + private: boolean; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + url: string; + }; + type ActionsListRepoWorkflowRunsResponseWorkflowRunsItemHeadRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ActionsListRepoWorkflowRunsResponseWorkflowRunsItemHeadRepository = { + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + description: null; + downloads_url: string; + events_url: string; + fork: boolean; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + hooks_url: string; + html_url: string; + id: number; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + name: string; + node_id: string; + notifications_url: string; + owner: ActionsListRepoWorkflowRunsResponseWorkflowRunsItemHeadRepositoryOwner; + private: boolean; + pulls_url: string; + releases_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + url: string; + }; + type ActionsListRepoWorkflowRunsResponseWorkflowRunsItemHeadCommitCommitter = { + email: string; + name: string; + }; + type ActionsListRepoWorkflowRunsResponseWorkflowRunsItemHeadCommitAuthor = { + email: string; + name: string; + }; + type ActionsListRepoWorkflowRunsResponseWorkflowRunsItemHeadCommit = { + author: ActionsListRepoWorkflowRunsResponseWorkflowRunsItemHeadCommitAuthor; + committer: ActionsListRepoWorkflowRunsResponseWorkflowRunsItemHeadCommitCommitter; + id: string; + message: string; + timestamp: string; + tree_id: string; + }; + type ActionsListRepoWorkflowRunsResponseWorkflowRunsItem = { + artifacts_url: string; + cancel_url: string; + check_suite_id: number; + conclusion: null; + created_at: string; + event: string; + head_branch: string; + head_commit: ActionsListRepoWorkflowRunsResponseWorkflowRunsItemHeadCommit; + head_repository: ActionsListRepoWorkflowRunsResponseWorkflowRunsItemHeadRepository; + head_sha: string; + html_url: string; + id: number; + jobs_url: string; + logs_url: string; + node_id: string; + pull_requests: Array; + repository: ActionsListRepoWorkflowRunsResponseWorkflowRunsItemRepository; + rerun_url: string; + run_number: number; + status: string; + updated_at: string; + url: string; + workflow_url: string; + }; + type ActionsListRepoWorkflowRunsResponse = { + total_count: number; + workflow_runs: Array; + }; + type ActionsListJobsForWorkflowRunResponseJobsItemStepsItem = { + completed_at: string; + conclusion: string; + name: string; + number: number; + started_at: string; + status: string; + }; + type ActionsListJobsForWorkflowRunResponseJobsItem = { + check_run_url: string; + completed_at: string; + conclusion: string; + head_sha: string; + html_url: string; + id: number; + name: string; + node_id: string; + run_id: number; + run_url: string; + started_at: string; + status: string; + steps: Array; + url: string; + }; + type ActionsListJobsForWorkflowRunResponse = { + jobs: Array; + total_count: number; + }; + type ActionsListDownloadsForSelfHostedRunnerApplicationResponseItem = { + architecture: string; + download_url: string; + filename: string; + os: string; + }; + type ActionsGetWorkflowRunResponseRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ActionsGetWorkflowRunResponseRepository = { + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + description: string; + downloads_url: string; + events_url: string; + fork: boolean; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + html_url: string; + id: number; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + name: string; + node_id: string; + notifications_url: string; + owner: ActionsGetWorkflowRunResponseRepositoryOwner; + private: boolean; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + url: string; + }; + type ActionsGetWorkflowRunResponseHeadRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ActionsGetWorkflowRunResponseHeadRepository = { + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + description: null; + downloads_url: string; + events_url: string; + fork: boolean; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + hooks_url: string; + html_url: string; + id: number; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + name: string; + node_id: string; + notifications_url: string; + owner: ActionsGetWorkflowRunResponseHeadRepositoryOwner; + private: boolean; + pulls_url: string; + releases_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + url: string; + }; + type ActionsGetWorkflowRunResponseHeadCommitCommitter = { + email: string; + name: string; + }; + type ActionsGetWorkflowRunResponseHeadCommitAuthor = { + email: string; + name: string; + }; + type ActionsGetWorkflowRunResponseHeadCommit = { + author: ActionsGetWorkflowRunResponseHeadCommitAuthor; + committer: ActionsGetWorkflowRunResponseHeadCommitCommitter; + id: string; + message: string; + timestamp: string; + tree_id: string; + }; + type ActionsGetWorkflowRunResponse = { + artifacts_url: string; + cancel_url: string; + check_suite_id: number; + conclusion: null; + created_at: string; + event: string; + head_branch: string; + head_commit: ActionsGetWorkflowRunResponseHeadCommit; + head_repository: ActionsGetWorkflowRunResponseHeadRepository; + head_sha: string; + html_url: string; + id: number; + jobs_url: string; + logs_url: string; + node_id: string; + pull_requests: Array; + repository: ActionsGetWorkflowRunResponseRepository; + rerun_url: string; + run_number: number; + status: string; + updated_at: string; + url: string; + workflow_url: string; + }; + type ActionsGetWorkflowJobResponseStepsItem = { + completed_at: string; + conclusion: string; + name: string; + number: number; + started_at: string; + status: string; + }; + type ActionsGetWorkflowJobResponse = { + check_run_url: string; + completed_at: string; + conclusion: string; + head_sha: string; + html_url: string; + id: number; + name: string; + node_id: string; + run_id: number; + run_url: string; + started_at: string; + status: string; + steps: Array; + url: string; + }; + type ActionsGetWorkflowResponse = { + badge_url: string; + created_at: string; + html_url: string; + id: number; + name: string; + node_id: string; + path: string; + state: string; + updated_at: string; + url: string; + }; + type ActionsGetSelfHostedRunnerResponse = { + id: number; + name: string; + os: string; + status: string; + }; + type ActionsGetSecretResponse = { + created_at: string; + name: string; + updated_at: string; + }; + type ActionsGetPublicKeyResponse = { key: string; key_id: string }; + type ActionsGetArtifactResponse = { + archive_download_url: string; + created_at: string; + expired: string; + expires_at: string; + id: number; + name: string; + node_id: string; + size_in_bytes: number; + }; + type ActionsCreateRemoveTokenResponse = { expires_at: string; token: string }; + type ActionsCreateRegistrationTokenResponse = { + expires_at: string; + token: string; + }; + type ActionsListDownloadsForSelfHostedRunnerApplicationResponse = Array< + ActionsListDownloadsForSelfHostedRunnerApplicationResponseItem + >; + type ActionsListSelfHostedRunnersForRepoResponse = Array< + Array + >; + type ActivityListNotificationsResponse = Array< + ActivityListNotificationsResponseItem + >; + type ActivityListNotificationsForRepoResponse = Array< + ActivityListNotificationsForRepoResponseItem + >; + type ActivityListReposStarredByAuthenticatedUserResponse = Array< + ActivityListReposStarredByAuthenticatedUserResponseItem + >; + type ActivityListReposStarredByUserResponse = Array< + ActivityListReposStarredByUserResponseItem + >; + type ActivityListReposWatchedByUserResponse = Array< + ActivityListReposWatchedByUserResponseItem + >; + type ActivityListStargazersForRepoResponse = Array< + ActivityListStargazersForRepoResponseItem + >; + type ActivityListWatchedReposForAuthenticatedUserResponse = Array< + ActivityListWatchedReposForAuthenticatedUserResponseItem + >; + type ActivityListWatchersForRepoResponse = Array< + ActivityListWatchersForRepoResponseItem + >; + type AppsListAccountsUserOrOrgOnPlanResponse = Array< + AppsListAccountsUserOrOrgOnPlanResponseItem + >; + type AppsListAccountsUserOrOrgOnPlanStubbedResponse = Array< + AppsListAccountsUserOrOrgOnPlanStubbedResponseItem + >; + type AppsListInstallationsResponse = Array; + type AppsListMarketplacePurchasesForAuthenticatedUserResponse = Array< + AppsListMarketplacePurchasesForAuthenticatedUserResponseItem + >; + type AppsListMarketplacePurchasesForAuthenticatedUserStubbedResponse = Array< + AppsListMarketplacePurchasesForAuthenticatedUserStubbedResponseItem + >; + type AppsListPlansResponse = Array; + type AppsListPlansStubbedResponse = Array; + type ChecksListAnnotationsResponse = Array; + type CodesOfConductListConductCodesResponse = Array< + CodesOfConductListConductCodesResponseItem + >; + type GistsListResponse = Array; + type GistsListCommentsResponse = Array; + type GistsListCommitsResponse = Array; + type GistsListForksResponse = Array; + type GistsListPublicResponse = Array; + type GistsListPublicForUserResponse = Array< + GistsListPublicForUserResponseItem + >; + type GistsListStarredResponse = Array; + type GitListMatchingRefsResponse = Array; + type GitignoreListTemplatesResponse = Array; + type IssuesAddLabelsResponse = Array; + type IssuesListResponse = Array; + type IssuesListAssigneesResponse = Array; + type IssuesListCommentsResponse = Array; + type IssuesListCommentsForRepoResponse = Array< + IssuesListCommentsForRepoResponseItem + >; + type IssuesListEventsResponse = Array; + type IssuesListEventsForRepoResponse = Array< + IssuesListEventsForRepoResponseItem + >; + type IssuesListEventsForTimelineResponse = Array< + IssuesListEventsForTimelineResponseItem + >; + type IssuesListForAuthenticatedUserResponse = Array< + IssuesListForAuthenticatedUserResponseItem + >; + type IssuesListForOrgResponse = Array; + type IssuesListForRepoResponse = Array; + type IssuesListLabelsForMilestoneResponse = Array< + IssuesListLabelsForMilestoneResponseItem + >; + type IssuesListLabelsForRepoResponse = Array< + IssuesListLabelsForRepoResponseItem + >; + type IssuesListLabelsOnIssueResponse = Array< + IssuesListLabelsOnIssueResponseItem + >; + type IssuesListMilestonesForRepoResponse = Array< + IssuesListMilestonesForRepoResponseItem + >; + type IssuesRemoveLabelResponse = Array; + type IssuesReplaceLabelsResponse = Array; + type LicensesListResponse = Array; + type LicensesListCommonlyUsedResponse = Array< + LicensesListCommonlyUsedResponseItem + >; + type MigrationsGetCommitAuthorsResponse = Array< + MigrationsGetCommitAuthorsResponseItem + >; + type MigrationsGetLargeFilesResponse = Array< + MigrationsGetLargeFilesResponseItem + >; + type MigrationsListForAuthenticatedUserResponse = Array< + MigrationsListForAuthenticatedUserResponseItem + >; + type MigrationsListForOrgResponse = Array; + type MigrationsListReposForOrgResponse = Array< + MigrationsListReposForOrgResponseItem + >; + type MigrationsListReposForUserResponse = Array< + MigrationsListReposForUserResponseItem + >; + type OauthAuthorizationsListAuthorizationsResponse = Array< + OauthAuthorizationsListAuthorizationsResponseItem + >; + type OauthAuthorizationsListGrantsResponse = Array< + OauthAuthorizationsListGrantsResponseItem + >; + type OrgsListResponse = Array; + type OrgsListBlockedUsersResponse = Array; + type OrgsListForAuthenticatedUserResponse = Array< + OrgsListForAuthenticatedUserResponseItem + >; + type OrgsListForUserResponse = Array; + type OrgsListHooksResponse = Array; + type OrgsListInvitationTeamsResponse = Array< + OrgsListInvitationTeamsResponseItem + >; + type OrgsListMembersResponse = Array; + type OrgsListMembershipsResponse = Array; + type OrgsListOutsideCollaboratorsResponse = Array< + OrgsListOutsideCollaboratorsResponseItem + >; + type OrgsListPendingInvitationsResponse = Array< + OrgsListPendingInvitationsResponseItem + >; + type OrgsListPublicMembersResponse = Array; + type ProjectsListCardsResponse = Array; + type ProjectsListCollaboratorsResponse = Array< + ProjectsListCollaboratorsResponseItem + >; + type ProjectsListColumnsResponse = Array; + type ProjectsListForOrgResponse = Array; + type ProjectsListForRepoResponse = Array; + type ProjectsListForUserResponse = Array; + type PullsGetCommentsForReviewResponse = Array< + PullsGetCommentsForReviewResponseItem + >; + type PullsListResponse = Array; + type PullsListCommentsResponse = Array; + type PullsListCommentsForRepoResponse = Array< + PullsListCommentsForRepoResponseItem + >; + type PullsListCommitsResponse = Array; + type PullsListFilesResponse = Array; + type PullsListReviewsResponse = Array; + type ReactionsListForCommitCommentResponse = Array< + ReactionsListForCommitCommentResponseItem + >; + type ReactionsListForIssueResponse = Array; + type ReactionsListForIssueCommentResponse = Array< + ReactionsListForIssueCommentResponseItem + >; + type ReactionsListForPullRequestReviewCommentResponse = Array< + ReactionsListForPullRequestReviewCommentResponseItem + >; + type ReactionsListForTeamDiscussionResponse = Array< + ReactionsListForTeamDiscussionResponseItem + >; + type ReactionsListForTeamDiscussionCommentResponse = Array< + ReactionsListForTeamDiscussionCommentResponseItem + >; + type ReactionsListForTeamDiscussionCommentInOrgResponse = Array< + ReactionsListForTeamDiscussionCommentInOrgResponseItem + >; + type ReactionsListForTeamDiscussionCommentLegacyResponse = Array< + ReactionsListForTeamDiscussionCommentLegacyResponseItem + >; + type ReactionsListForTeamDiscussionInOrgResponse = Array< + ReactionsListForTeamDiscussionInOrgResponseItem + >; + type ReactionsListForTeamDiscussionLegacyResponse = Array< + ReactionsListForTeamDiscussionLegacyResponseItem + >; + type ReposAddProtectedBranchAppRestrictionsResponse = Array< + ReposAddProtectedBranchAppRestrictionsResponseItem + >; + type ReposAddProtectedBranchRequiredStatusChecksContextsResponse = Array< + string + >; + type ReposAddProtectedBranchTeamRestrictionsResponse = Array< + ReposAddProtectedBranchTeamRestrictionsResponseItem + >; + type ReposAddProtectedBranchUserRestrictionsResponse = Array< + ReposAddProtectedBranchUserRestrictionsResponseItem + >; + type ReposGetAppsWithAccessToProtectedBranchResponse = Array< + ReposGetAppsWithAccessToProtectedBranchResponseItem + >; + type ReposGetCodeFrequencyStatsResponse = Array>; + type ReposGetCommitActivityStatsResponse = Array< + ReposGetCommitActivityStatsResponseItem + >; + type ReposGetContributorsStatsResponse = Array< + ReposGetContributorsStatsResponseItem + >; + type ReposGetPunchCardStatsResponse = Array>; + type ReposGetTeamsWithAccessToProtectedBranchResponse = Array< + ReposGetTeamsWithAccessToProtectedBranchResponseItem + >; + type ReposGetTopPathsResponse = Array; + type ReposGetTopReferrersResponse = Array; + type ReposGetUsersWithAccessToProtectedBranchResponse = Array< + ReposGetUsersWithAccessToProtectedBranchResponseItem + >; + type ReposListAppsWithAccessToProtectedBranchResponse = Array< + ReposListAppsWithAccessToProtectedBranchResponseItem + >; + type ReposListAssetsForReleaseResponse = Array< + ReposListAssetsForReleaseResponseItem + >; + type ReposListBranchesResponse = Array; + type ReposListBranchesForHeadCommitResponse = Array< + ReposListBranchesForHeadCommitResponseItem + >; + type ReposListCollaboratorsResponse = Array< + ReposListCollaboratorsResponseItem + >; + type ReposListCommentsForCommitResponse = Array< + ReposListCommentsForCommitResponseItem + >; + type ReposListCommitCommentsResponse = Array< + ReposListCommitCommentsResponseItem + >; + type ReposListCommitsResponse = Array; + type ReposListContributorsResponse = Array; + type ReposListDeployKeysResponse = Array; + type ReposListDeploymentStatusesResponse = Array< + ReposListDeploymentStatusesResponseItem + >; + type ReposListDeploymentsResponse = Array; + type ReposListDownloadsResponse = Array; + type ReposListForOrgResponse = Array; + type ReposListForksResponse = Array; + type ReposListHooksResponse = Array; + type ReposListInvitationsResponse = Array; + type ReposListInvitationsForAuthenticatedUserResponse = Array< + ReposListInvitationsForAuthenticatedUserResponseItem + >; + type ReposListPagesBuildsResponse = Array; + type ReposListProtectedBranchRequiredStatusChecksContextsResponse = Array< + string + >; + type ReposListProtectedBranchTeamRestrictionsResponse = Array< + ReposListProtectedBranchTeamRestrictionsResponseItem + >; + type ReposListProtectedBranchUserRestrictionsResponse = Array< + ReposListProtectedBranchUserRestrictionsResponseItem + >; + type ReposListPublicResponse = Array; + type ReposListPullRequestsAssociatedWithCommitResponse = Array< + ReposListPullRequestsAssociatedWithCommitResponseItem + >; + type ReposListReleasesResponse = Array; + type ReposListStatusesForRefResponse = Array< + ReposListStatusesForRefResponseItem + >; + type ReposListTagsResponse = Array; + type ReposListTeamsResponse = Array; + type ReposListTeamsWithAccessToProtectedBranchResponse = Array< + ReposListTeamsWithAccessToProtectedBranchResponseItem + >; + type ReposListUsersWithAccessToProtectedBranchResponse = Array< + ReposListUsersWithAccessToProtectedBranchResponseItem + >; + type ReposRemoveProtectedBranchAppRestrictionsResponse = Array< + ReposRemoveProtectedBranchAppRestrictionsResponseItem + >; + type ReposRemoveProtectedBranchRequiredStatusChecksContextsResponse = Array< + string + >; + type ReposRemoveProtectedBranchTeamRestrictionsResponse = Array< + ReposRemoveProtectedBranchTeamRestrictionsResponseItem + >; + type ReposRemoveProtectedBranchUserRestrictionsResponse = Array< + ReposRemoveProtectedBranchUserRestrictionsResponseItem + >; + type ReposReplaceProtectedBranchAppRestrictionsResponse = Array< + ReposReplaceProtectedBranchAppRestrictionsResponseItem + >; + type ReposReplaceProtectedBranchRequiredStatusChecksContextsResponse = Array< + string + >; + type ReposReplaceProtectedBranchTeamRestrictionsResponse = Array< + ReposReplaceProtectedBranchTeamRestrictionsResponseItem + >; + type ReposReplaceProtectedBranchUserRestrictionsResponse = Array< + ReposReplaceProtectedBranchUserRestrictionsResponseItem + >; + type TeamsListResponse = Array; + type TeamsListChildResponse = Array; + type TeamsListChildInOrgResponse = Array; + type TeamsListChildLegacyResponse = Array; + type TeamsListDiscussionCommentsResponse = Array< + TeamsListDiscussionCommentsResponseItem + >; + type TeamsListDiscussionCommentsInOrgResponse = Array< + TeamsListDiscussionCommentsInOrgResponseItem + >; + type TeamsListDiscussionCommentsLegacyResponse = Array< + TeamsListDiscussionCommentsLegacyResponseItem + >; + type TeamsListDiscussionsResponse = Array; + type TeamsListDiscussionsInOrgResponse = Array< + TeamsListDiscussionsInOrgResponseItem + >; + type TeamsListDiscussionsLegacyResponse = Array< + TeamsListDiscussionsLegacyResponseItem + >; + type TeamsListForAuthenticatedUserResponse = Array< + TeamsListForAuthenticatedUserResponseItem + >; + type TeamsListMembersResponse = Array; + type TeamsListMembersInOrgResponse = Array; + type TeamsListMembersLegacyResponse = Array< + TeamsListMembersLegacyResponseItem + >; + type TeamsListPendingInvitationsResponse = Array< + TeamsListPendingInvitationsResponseItem + >; + type TeamsListPendingInvitationsInOrgResponse = Array< + TeamsListPendingInvitationsInOrgResponseItem + >; + type TeamsListPendingInvitationsLegacyResponse = Array< + TeamsListPendingInvitationsLegacyResponseItem + >; + type TeamsListProjectsResponse = Array; + type TeamsListProjectsInOrgResponse = Array< + TeamsListProjectsInOrgResponseItem + >; + type TeamsListProjectsLegacyResponse = Array< + TeamsListProjectsLegacyResponseItem + >; + type TeamsListReposResponse = Array; + type TeamsListReposInOrgResponse = Array; + type TeamsListReposLegacyResponse = Array; + type UsersAddEmailsResponse = Array; + type UsersListResponse = Array; + type UsersListBlockedResponse = Array; + type UsersListEmailsResponse = Array; + type UsersListFollowersForAuthenticatedUserResponse = Array< + UsersListFollowersForAuthenticatedUserResponseItem + >; + type UsersListFollowersForUserResponse = Array< + UsersListFollowersForUserResponseItem + >; + type UsersListFollowingForAuthenticatedUserResponse = Array< + UsersListFollowingForAuthenticatedUserResponseItem + >; + type UsersListFollowingForUserResponse = Array< + UsersListFollowingForUserResponseItem + >; + type UsersListGpgKeysResponse = Array; + type UsersListGpgKeysForUserResponse = Array< + UsersListGpgKeysForUserResponseItem + >; + type UsersListPublicEmailsResponse = Array; + type UsersListPublicKeysResponse = Array; + type UsersListPublicKeysForUserResponse = Array< + UsersListPublicKeysForUserResponseItem + >; + type UsersTogglePrimaryEmailVisibilityResponse = Array< + UsersTogglePrimaryEmailVisibilityResponseItem + >; + + // param types + export type ActionsCancelWorkflowRunParams = { + owner: string; + + repo: string; + + run_id: number; + }; + export type ActionsCreateOrUpdateSecretForRepoParams = { + /** + * Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get your public key](https://developer.github.com/v3/actions/secrets/#get-your-public-key) endpoint. + */ + encrypted_value?: string; + /** + * ID of the key you used to encrypt the secret. + */ + key_id?: string; + + name: string; + + owner: string; + + repo: string; + }; + export type ActionsCreateRegistrationTokenParams = { + owner: string; + + repo: string; + }; + export type ActionsCreateRemoveTokenParams = { + owner: string; + + repo: string; + }; + export type ActionsDeleteArtifactParams = { + artifact_id: number; + + owner: string; + + repo: string; + }; + export type ActionsDeleteSecretFromRepoParams = { + name: string; + + owner: string; + + repo: string; + }; + export type ActionsDownloadArtifactParams = { + archive_format: string; + + artifact_id: number; + + owner: string; + + repo: string; + }; + export type ActionsGetArtifactParams = { + artifact_id: number; + + owner: string; + + repo: string; + }; + export type ActionsGetPublicKeyParams = { + owner: string; + + repo: string; + }; + export type ActionsGetSecretParams = { + name: string; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ActionsGetSelfHostedRunnerParams = { + owner: string; + + repo: string; + + runner_id: number; + }; + export type ActionsGetWorkflowParams = { + owner: string; + + repo: string; + + workflow_id: number; + }; + export type ActionsGetWorkflowJobParams = { + job_id: number; + + owner: string; + + repo: string; + }; + export type ActionsGetWorkflowRunParams = { + owner: string; + + repo: string; + + run_id: number; + }; + export type ActionsListDownloadsForSelfHostedRunnerApplicationParams = { + owner: string; + + repo: string; + }; + export type ActionsListJobsForWorkflowRunParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + + run_id: number; + }; + export type ActionsListRepoWorkflowRunsParams = { + /** + * Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. + */ + actor?: string; + /** + * Returns workflow runs associated with a branch. Use the name of the branch of the `push`. + */ + branch?: string; + /** + * Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)" in the GitHub Help documentation. + */ + event?: string; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + /** + * Returns workflow runs associated with the check run `status` or `conclusion` you specify. For example, a conclusion can be `success` or a status can be `completed`. For more information, see the `status` and `conclusion` options available in "[Create a check run](https://developer.github.com/v3/checks/runs/#create-a-check-run)." + */ + status?: "completed" | "status" | "conclusion"; + }; + export type ActionsListRepoWorkflowsParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ActionsListSecretsForRepoParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ActionsListSelfHostedRunnersForRepoParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ActionsListWorkflowJobLogsParams = { + job_id: number; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ActionsListWorkflowRunArtifactsParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + + run_id: number; + }; + export type ActionsListWorkflowRunLogsParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + + run_id: number; + }; + export type ActionsListWorkflowRunsParams = { + /** + * Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. + */ + actor?: string; + /** + * Returns workflow runs associated with a branch. Use the name of the branch of the `push`. + */ + branch?: string; + /** + * Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)" in the GitHub Help documentation. + */ + event?: string; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + /** + * Returns workflow runs associated with the check run `status` or `conclusion` you specify. For example, a conclusion can be `success` or a status can be `completed`. For more information, see the `status` and `conclusion` options available in "[Create a check run](https://developer.github.com/v3/checks/runs/#create-a-check-run)." + */ + status?: "completed" | "status" | "conclusion"; + + workflow_id: number; + }; + export type ActionsReRunWorkflowParams = { + owner: string; + + repo: string; + + run_id: number; + }; + export type ActionsRemoveSelfHostedRunnerParams = { + owner: string; + + repo: string; + + runner_id: number; + }; + export type ActivityCheckStarringRepoParams = { + owner: string; + + repo: string; + }; + export type ActivityCheckWatchingRepoLegacyParams = { + owner: string; + + repo: string; + }; + export type ActivityDeleteRepoSubscriptionParams = { + owner: string; + + repo: string; + }; + export type ActivityDeleteThreadSubscriptionParams = { + thread_id: number; + }; + export type ActivityGetRepoSubscriptionParams = { + owner: string; + + repo: string; + }; + export type ActivityGetThreadParams = { + thread_id: number; + }; + export type ActivityGetThreadSubscriptionParams = { + thread_id: number; + }; + export type ActivityListEventsForOrgParams = { + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + username: string; + }; + export type ActivityListEventsForUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + username: string; + }; + export type ActivityListNotificationsParams = { + /** + * If `true`, show notifications marked as read. + */ + all?: boolean; + /** + * Only show notifications updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + before?: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * If `true`, only shows notifications in which the user is directly participating or mentioned. + */ + participating?: boolean; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; + }; + export type ActivityListNotificationsForRepoParams = { + /** + * If `true`, show notifications marked as read. + */ + all?: boolean; + /** + * Only show notifications updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + before?: string; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * If `true`, only shows notifications in which the user is directly participating or mentioned. + */ + participating?: boolean; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + /** + * Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; + }; + export type ActivityListPublicEventsParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type ActivityListPublicEventsForOrgParams = { + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type ActivityListPublicEventsForRepoNetworkParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ActivityListPublicEventsForUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + username: string; + }; + export type ActivityListReceivedEventsForUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + username: string; + }; + export type ActivityListReceivedPublicEventsForUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + username: string; + }; + export type ActivityListRepoEventsParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ActivityListReposStarredByAuthenticatedUserParams = { + /** + * One of `asc` (ascending) or `desc` (descending). + */ + direction?: "asc" | "desc"; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * One of `created` (when the repository was starred) or `updated` (when it was last pushed to). + */ + sort?: "created" | "updated"; + }; + export type ActivityListReposStarredByUserParams = { + /** + * One of `asc` (ascending) or `desc` (descending). + */ + direction?: "asc" | "desc"; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * One of `created` (when the repository was starred) or `updated` (when it was last pushed to). + */ + sort?: "created" | "updated"; + + username: string; + }; + export type ActivityListReposWatchedByUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + username: string; + }; + export type ActivityListStargazersForRepoParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ActivityListWatchedReposForAuthenticatedUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type ActivityListWatchersForRepoParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ActivityMarkAsReadParams = { + /** + * Describes the last point that notifications were checked. Anything updated since this time will not be updated. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp. + */ + last_read_at?: string; + }; + export type ActivityMarkNotificationsAsReadForRepoParams = { + /** + * Describes the last point that notifications were checked. Anything updated since this time will not be updated. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp. + */ + last_read_at?: string; + + owner: string; + + repo: string; + }; + export type ActivityMarkThreadAsReadParams = { + thread_id: number; + }; + export type ActivitySetRepoSubscriptionParams = { + /** + * Determines if all notifications should be blocked from this repository. + */ + ignored?: boolean; + + owner: string; + + repo: string; + /** + * Determines if notifications should be received from this repository. + */ + subscribed?: boolean; + }; + export type ActivitySetThreadSubscriptionParams = { + /** + * Unsubscribes and subscribes you to a conversation. Set `ignored` to `true` to block all notifications from this thread. + */ + ignored?: boolean; + + thread_id: number; + }; + export type ActivityStarRepoParams = { + owner: string; + + repo: string; + }; + export type ActivityStopWatchingRepoLegacyParams = { + owner: string; + + repo: string; + }; + export type ActivityUnstarRepoParams = { + owner: string; + + repo: string; + }; + export type ActivityWatchRepoLegacyParams = { + owner: string; + + repo: string; + }; + export type AppsAddRepoToInstallationParams = { + installation_id: number; + + repository_id: number; + }; + export type AppsCheckAccountIsAssociatedWithAnyParams = { + account_id: number; + }; + export type AppsCheckAccountIsAssociatedWithAnyStubbedParams = { + account_id: number; + }; + export type AppsCheckAuthorizationParams = { + access_token: string; + + client_id: string; + }; + export type AppsCheckTokenParams = { + /** + * The OAuth access token used to authenticate to the GitHub API. + */ + access_token?: string; + + client_id: string; + }; + export type AppsCreateContentAttachmentParams = { + /** + * The body text of the content attachment displayed in the body or comment of an issue or pull request. This parameter supports markdown. + */ + body: string; + + content_reference_id: number; + /** + * The title of the content attachment displayed in the body or comment of an issue or pull request. + */ + title: string; + }; + export type AppsCreateFromManifestParams = { + code: string; + }; + export type AppsCreateInstallationTokenParams = { + installation_id: number; + /** + * The permissions granted to the access token. The permissions object includes the permission names and their access type. For a complete list of permissions and allowable values, see "[GitHub App permissions](https://developer.github.com/apps/building-github-apps/creating-github-apps-using-url-parameters/#github-app-permissions)." + */ + permissions?: AppsCreateInstallationTokenParamsPermissions; + /** + * The `id`s of the repositories that the installation token can access. Providing repository `id`s restricts the access of an installation token to specific repositories. You can use the "[List repositories](https://developer.github.com/v3/apps/installations/#list-repositories)" endpoint to get the `id` of all repositories that an installation can access. For example, you can select specific repositories when creating an installation token to restrict the number of repositories that can be cloned using the token. + */ + repository_ids?: number[]; + }; + export type AppsDeleteAuthorizationParams = { + /** + * The OAuth access token used to authenticate to the GitHub API. + */ + access_token?: string; + + client_id: string; + }; + export type AppsDeleteInstallationParams = { + installation_id: number; + }; + export type AppsDeleteTokenParams = { + /** + * The OAuth access token used to authenticate to the GitHub API. + */ + access_token?: string; + + client_id: string; + }; + export type AppsFindOrgInstallationParams = { + org: string; + }; + export type AppsFindRepoInstallationParams = { + owner: string; + + repo: string; + }; + export type AppsFindUserInstallationParams = { + username: string; + }; + export type AppsGetBySlugParams = { + app_slug: string; + }; + export type AppsGetInstallationParams = { + installation_id: number; + }; + export type AppsGetOrgInstallationParams = { + org: string; + }; + export type AppsGetRepoInstallationParams = { + owner: string; + + repo: string; + }; + export type AppsGetUserInstallationParams = { + username: string; + }; + export type AppsListAccountsUserOrOrgOnPlanParams = { + /** + * To return the oldest accounts first, set to `asc`. Can be one of `asc` or `desc`. Ignored without the `sort` parameter. + */ + direction?: "asc" | "desc"; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + plan_id: number; + /** + * Sorts the GitHub accounts by the date they were created or last updated. Can be one of `created` or `updated`. + */ + sort?: "created" | "updated"; + }; + export type AppsListAccountsUserOrOrgOnPlanStubbedParams = { + /** + * To return the oldest accounts first, set to `asc`. Can be one of `asc` or `desc`. Ignored without the `sort` parameter. + */ + direction?: "asc" | "desc"; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + plan_id: number; + /** + * Sorts the GitHub accounts by the date they were created or last updated. Can be one of `created` or `updated`. + */ + sort?: "created" | "updated"; + }; + export type AppsListInstallationReposForAuthenticatedUserParams = { + installation_id: number; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type AppsListInstallationsParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type AppsListInstallationsForAuthenticatedUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type AppsListMarketplacePurchasesForAuthenticatedUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type AppsListMarketplacePurchasesForAuthenticatedUserStubbedParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type AppsListPlansParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type AppsListPlansStubbedParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type AppsListReposParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type AppsRemoveRepoFromInstallationParams = { + installation_id: number; + + repository_id: number; + }; + export type AppsResetAuthorizationParams = { + access_token: string; + + client_id: string; + }; + export type AppsResetTokenParams = { + /** + * The OAuth access token used to authenticate to the GitHub API. + */ + access_token?: string; + + client_id: string; + }; + export type AppsRevokeAuthorizationForApplicationParams = { + access_token: string; + + client_id: string; + }; + export type AppsRevokeGrantForApplicationParams = { + access_token: string; + + client_id: string; + }; + export type ChecksCreateParams = { + /** + * Displays a button on GitHub that can be clicked to alert your app to do additional tasks. For example, a code linting app can display a button that automatically fixes detected errors. The button created in this object is displayed after the check run completes. When a user clicks the button, GitHub sends the [`check_run.requested_action` webhook](https://developer.github.com/v3/activity/events/types/#checkrunevent) to your app. Each action includes a `label`, `identifier` and `description`. A maximum of three actions are accepted. See the [`actions` object](https://developer.github.com/v3/checks/runs/#actions-object) description. To learn more about check runs and requested actions, see "[Check runs and requested actions](https://developer.github.com/v3/checks/runs/#check-runs-and-requested-actions)." To learn more about check runs and requested actions, see "[Check runs and requested actions](https://developer.github.com/v3/checks/runs/#check-runs-and-requested-actions)." + */ + actions?: ChecksCreateParamsActions[]; + /** + * The time the check completed. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + completed_at?: string; + /** + * **Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. Can be one of `success`, `failure`, `neutral`, `cancelled`, `timed_out`, or `action_required`. When the conclusion is `action_required`, additional details should be provided on the site specified by `details_url`. + * **Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. Only GitHub can change a check run conclusion to `stale`. + */ + conclusion?: + | "success" + | "failure" + | "neutral" + | "cancelled" + | "timed_out" + | "action_required"; + /** + * The URL of the integrator's site that has the full details of the check. + */ + details_url?: string; + /** + * A reference for the run on the integrator's system. + */ + external_id?: string; + /** + * The SHA of the commit. + */ + head_sha: string; + /** + * The name of the check. For example, "code-coverage". + */ + name: string; + /** + * Check runs can accept a variety of data in the `output` object, including a `title` and `summary` and can optionally provide descriptive details about the run. See the [`output` object](https://developer.github.com/v3/checks/runs/#output-object) description. + */ + output?: ChecksCreateParamsOutput; + + owner: string; + + repo: string; + /** + * The time that the check run began. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + started_at?: string; + /** + * The current status. Can be one of `queued`, `in_progress`, or `completed`. + */ + status?: "queued" | "in_progress" | "completed"; + }; + export type ChecksCreateSuiteParams = { + /** + * The sha of the head commit. + */ + head_sha: string; + + owner: string; + + repo: string; + }; + export type ChecksGetParams = { + check_run_id: number; + + owner: string; + + repo: string; + }; + export type ChecksGetSuiteParams = { + check_suite_id: number; + + owner: string; + + repo: string; + }; + export type ChecksListAnnotationsParams = { + check_run_id: number; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ChecksListForRefParams = { + /** + * Returns check runs with the specified `name`. + */ + check_name?: string; + /** + * Filters check runs by their `completed_at` timestamp. Can be one of `latest` (returning the most recent check runs) or `all`. + */ + filter?: "latest" | "all"; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + ref: string; + + repo: string; + /** + * Returns check runs with the specified `status`. Can be one of `queued`, `in_progress`, or `completed`. + */ + status?: "queued" | "in_progress" | "completed"; + }; + export type ChecksListForSuiteParams = { + /** + * Returns check runs with the specified `name`. + */ + check_name?: string; + + check_suite_id: number; + /** + * Filters check runs by their `completed_at` timestamp. Can be one of `latest` (returning the most recent check runs) or `all`. + */ + filter?: "latest" | "all"; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + /** + * Returns check runs with the specified `status`. Can be one of `queued`, `in_progress`, or `completed`. + */ + status?: "queued" | "in_progress" | "completed"; + }; + export type ChecksListSuitesForRefParams = { + /** + * Filters check suites by GitHub App `id`. + */ + app_id?: number; + /** + * Filters checks suites by the name of the [check run](https://developer.github.com/v3/checks/runs/). + */ + check_name?: string; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + ref: string; + + repo: string; + }; + export type ChecksRerequestSuiteParams = { + check_suite_id: number; + + owner: string; + + repo: string; + }; + export type ChecksSetSuitesPreferencesParams = { + /** + * Enables or disables automatic creation of CheckSuite events upon pushes to the repository. Enabled by default. See the [`auto_trigger_checks` object](https://developer.github.com/v3/checks/suites/#auto_trigger_checks-object) description for details. + */ + auto_trigger_checks?: ChecksSetSuitesPreferencesParamsAutoTriggerChecks[]; + + owner: string; + + repo: string; + }; + export type ChecksUpdateParams = { + /** + * Possible further actions the integrator can perform, which a user may trigger. Each action includes a `label`, `identifier` and `description`. A maximum of three actions are accepted. See the [`actions` object](https://developer.github.com/v3/checks/runs/#actions-object) description. To learn more about check runs and requested actions, see "[Check runs and requested actions](https://developer.github.com/v3/checks/runs/#check-runs-and-requested-actions)." + */ + actions?: ChecksUpdateParamsActions[]; + + check_run_id: number; + /** + * The time the check completed. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + completed_at?: string; + /** + * **Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. Can be one of `success`, `failure`, `neutral`, `cancelled`, `timed_out`, or `action_required`. + * **Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. Only GitHub can change a check run conclusion to `stale`. + */ + conclusion?: + | "success" + | "failure" + | "neutral" + | "cancelled" + | "timed_out" + | "action_required"; + /** + * The URL of the integrator's site that has the full details of the check. + */ + details_url?: string; + /** + * A reference for the run on the integrator's system. + */ + external_id?: string; + /** + * The name of the check. For example, "code-coverage". + */ + name?: string; + /** + * Check runs can accept a variety of data in the `output` object, including a `title` and `summary` and can optionally provide descriptive details about the run. See the [`output` object](https://developer.github.com/v3/checks/runs/#output-object-1) description. + */ + output?: ChecksUpdateParamsOutput; + + owner: string; + + repo: string; + /** + * This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + started_at?: string; + /** + * The current status. Can be one of `queued`, `in_progress`, or `completed`. + */ + status?: "queued" | "in_progress" | "completed"; + }; + export type CodesOfConductGetConductCodeParams = { + key: string; + }; + export type CodesOfConductGetForRepoParams = { + owner: string; + + repo: string; + }; + export type GistsCheckIsStarredParams = { + gist_id: string; + }; + export type GistsCreateParams = { + /** + * A descriptive name for this gist. + */ + description?: string; + /** + * The filenames and content of each file in the gist. The keys in the `files` object represent the filename and have the type `string`. + */ + files: GistsCreateParamsFiles; + /** + * When `true`, the gist will be public and available for anyone to see. + */ + public?: boolean; + }; + export type GistsCreateCommentParams = { + /** + * The comment text. + */ + body: string; + + gist_id: string; + }; + export type GistsDeleteParams = { + gist_id: string; + }; + export type GistsDeleteCommentParams = { + comment_id: number; + + gist_id: string; + }; + export type GistsForkParams = { + gist_id: string; + }; + export type GistsGetParams = { + gist_id: string; + }; + export type GistsGetCommentParams = { + comment_id: number; + + gist_id: string; + }; + export type GistsGetRevisionParams = { + gist_id: string; + + sha: string; + }; + export type GistsListParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Only gists updated at or after this time are returned. + */ + since?: string; + }; + export type GistsListCommentsParams = { + gist_id: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type GistsListCommitsParams = { + gist_id: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type GistsListForksParams = { + gist_id: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type GistsListPublicParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Only gists updated at or after this time are returned. + */ + since?: string; + }; + export type GistsListPublicForUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Only gists updated at or after this time are returned. + */ + since?: string; + + username: string; + }; + export type GistsListStarredParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Only gists updated at or after this time are returned. + */ + since?: string; + }; + export type GistsStarParams = { + gist_id: string; + }; + export type GistsUnstarParams = { + gist_id: string; + }; + export type GistsUpdateParams = { + /** + * A descriptive name for this gist. + */ + description?: string; + /** + * The filenames and content that make up this gist. + */ + files?: GistsUpdateParamsFiles; + + gist_id: string; + }; + export type GistsUpdateCommentParams = { + /** + * The comment text. + */ + body: string; + + comment_id: number; + + gist_id: string; + }; + export type GitCreateBlobParams = { + /** + * The new blob's content. + */ + content: string; + /** + * The encoding used for `content`. Currently, `"utf-8"` and `"base64"` are supported. + */ + encoding?: string; + + owner: string; + + repo: string; + }; + export type GitCreateCommitParams = { + /** + * Information about the author of the commit. By default, the `author` will be the authenticated user and the current date. See the `author` and `committer` object below for details. + */ + author?: GitCreateCommitParamsAuthor; + /** + * Information about the person who is making the commit. By default, `committer` will use the information set in `author`. See the `author` and `committer` object below for details. + */ + committer?: GitCreateCommitParamsCommitter; + /** + * The commit message + */ + message: string; + + owner: string; + /** + * The SHAs of the commits that were the parents of this commit. If omitted or empty, the commit will be written as a root commit. For a single parent, an array of one SHA should be provided; for a merge commit, an array of more than one should be provided. + */ + parents: string[]; + + repo: string; + /** + * The [PGP signature](https://en.wikipedia.org/wiki/Pretty_Good_Privacy) of the commit. GitHub adds the signature to the `gpgsig` header of the created commit. For a commit signature to be verifiable by Git or GitHub, it must be an ASCII-armored detached PGP signature over the string commit as it would be written to the object database. To pass a `signature` parameter, you need to first manually create a valid PGP signature, which can be complicated. You may find it easier to [use the command line](https://git-scm.com/book/id/v2/Git-Tools-Signing-Your-Work) to create signed commits. + */ + signature?: string; + /** + * The SHA of the tree object this commit points to + */ + tree: string; + }; + export type GitCreateRefParams = { + owner: string; + /** + * The name of the fully qualified reference (ie: `refs/heads/master`). If it doesn't start with 'refs' and have at least two slashes, it will be rejected. + */ + ref: string; + + repo: string; + /** + * The SHA1 value for this reference. + */ + sha: string; + }; + export type GitCreateTagParams = { + /** + * The tag message. + */ + message: string; + /** + * The SHA of the git object this is tagging. + */ + object: string; + + owner: string; + + repo: string; + /** + * The tag's name. This is typically a version (e.g., "v0.0.1"). + */ + tag: string; + /** + * An object with information about the individual creating the tag. + */ + tagger?: GitCreateTagParamsTagger; + /** + * The type of the object we're tagging. Normally this is a `commit` but it can also be a `tree` or a `blob`. + */ + type: "commit" | "tree" | "blob"; + }; + export type GitCreateTreeParams = { + /** + * The SHA1 of the tree you want to update with new data. If you don't set this, the commit will be created on top of everything; however, it will only contain your change, the rest of your files will show up as deleted. + */ + base_tree?: string; + + owner: string; + + repo: string; + /** + * Objects (of `path`, `mode`, `type`, and `sha`) specifying a tree structure. + */ + tree: GitCreateTreeParamsTree[]; + }; + export type GitDeleteRefParams = { + owner: string; + + ref: string; + + repo: string; + }; + export type GitGetBlobParams = { + file_sha: string; + + owner: string; + + repo: string; + }; + export type GitGetCommitParams = { + commit_sha: string; + + owner: string; + + repo: string; + }; + export type GitGetRefParams = { + owner: string; + + ref: string; + + repo: string; + }; + export type GitGetTagParams = { + owner: string; + + repo: string; + + tag_sha: string; + }; + export type GitGetTreeParams = { + owner: string; + + recursive?: "1"; + + repo: string; + + tree_sha: string; + }; + export type GitListMatchingRefsParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + ref: string; + + repo: string; + }; + export type GitListRefsParams = { + /** + * Filter by sub-namespace (reference prefix). Most commen examples would be `'heads/'` and `'tags/'` to retrieve branches or tags + */ + namespace?: string; + + owner: string; + + page?: number; + + per_page?: number; + + repo: string; + }; + export type GitUpdateRefParams = { + /** + * Indicates whether to force the update or to make sure the update is a fast-forward update. Leaving this out or setting it to `false` will make sure you're not overwriting work. + */ + force?: boolean; + + owner: string; + + ref: string; + + repo: string; + /** + * The SHA1 value to set this reference to + */ + sha: string; + }; + export type GitignoreGetTemplateParams = { + name: string; + }; + export type InteractionsAddOrUpdateRestrictionsForOrgParams = { + /** + * Specifies the group of GitHub users who can comment, open issues, or create pull requests in public repositories for the given organization. Must be one of: `existing_users`, `contributors_only`, or `collaborators_only`. + */ + limit: "existing_users" | "contributors_only" | "collaborators_only"; + + org: string; + }; + export type InteractionsAddOrUpdateRestrictionsForRepoParams = { + /** + * Specifies the group of GitHub users who can comment, open issues, or create pull requests for the given repository. Must be one of: `existing_users`, `contributors_only`, or `collaborators_only`. + */ + limit: "existing_users" | "contributors_only" | "collaborators_only"; + + owner: string; + + repo: string; + }; + export type InteractionsGetRestrictionsForOrgParams = { + org: string; + }; + export type InteractionsGetRestrictionsForRepoParams = { + owner: string; + + repo: string; + }; + export type InteractionsRemoveRestrictionsForOrgParams = { + org: string; + }; + export type InteractionsRemoveRestrictionsForRepoParams = { + owner: string; + + repo: string; + }; + export type IssuesAddAssigneesParamsDeprecatedNumber = { + /** + * Usernames of people to assign this issue to. _NOTE: Only users with push access can add assignees to an issue. Assignees are silently ignored otherwise._ + */ + assignees?: string[]; + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + + owner: string; + + repo: string; + }; + export type IssuesAddAssigneesParams = { + /** + * Usernames of people to assign this issue to. _NOTE: Only users with push access can add assignees to an issue. Assignees are silently ignored otherwise._ + */ + assignees?: string[]; + + issue_number: number; + + owner: string; + + repo: string; + }; + export type IssuesAddLabelsParamsDeprecatedNumber = { + /** + * The name of the label to add to the issue. Must contain at least one label. **Note:** Alternatively, you can pass a single label as a `string` or an `array` of labels directly, but GitHub recommends passing an object with the `labels` key. + */ + labels: string[]; + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + + owner: string; + + repo: string; + }; + export type IssuesAddLabelsParams = { + issue_number: number; + /** + * The name of the label to add to the issue. Must contain at least one label. **Note:** Alternatively, you can pass a single label as a `string` or an `array` of labels directly, but GitHub recommends passing an object with the `labels` key. + */ + labels: string[]; + + owner: string; + + repo: string; + }; + export type IssuesCheckAssigneeParams = { + assignee: string; + + owner: string; + + repo: string; + }; + export type IssuesCreateParamsDeprecatedAssignee = { + /** + * Login for the user that this issue should be assigned to. _NOTE: Only users with push access can set the assignee for new issues. The assignee is silently dropped otherwise. **This field is deprecated.**_ + * @deprecated "assignee" parameter has been deprecated and will be removed in future + */ + assignee?: string; + /** + * Logins for Users to assign to this issue. _NOTE: Only users with push access can set assignees for new issues. Assignees are silently dropped otherwise._ + */ + assignees?: string[]; + /** + * The contents of the issue. + */ + body?: string; + /** + * Labels to associate with this issue. _NOTE: Only users with push access can set labels for new issues. Labels are silently dropped otherwise._ + */ + labels?: string[]; + /** + * The `number` of the milestone to associate this issue with. _NOTE: Only users with push access can set the milestone for new issues. The milestone is silently dropped otherwise._ + */ + milestone?: number; + + owner: string; + + repo: string; + /** + * The title of the issue. + */ + title: string; + }; + export type IssuesCreateParams = { + /** + * Logins for Users to assign to this issue. _NOTE: Only users with push access can set assignees for new issues. Assignees are silently dropped otherwise._ + */ + assignees?: string[]; + /** + * The contents of the issue. + */ + body?: string; + /** + * Labels to associate with this issue. _NOTE: Only users with push access can set labels for new issues. Labels are silently dropped otherwise._ + */ + labels?: string[]; + /** + * The `number` of the milestone to associate this issue with. _NOTE: Only users with push access can set the milestone for new issues. The milestone is silently dropped otherwise._ + */ + milestone?: number; + + owner: string; + + repo: string; + /** + * The title of the issue. + */ + title: string; + }; + export type IssuesCreateCommentParamsDeprecatedNumber = { + /** + * The contents of the comment. + */ + body: string; + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + + owner: string; + + repo: string; + }; + export type IssuesCreateCommentParams = { + /** + * The contents of the comment. + */ + body: string; + + issue_number: number; + + owner: string; + + repo: string; + }; + export type IssuesCreateLabelParams = { + /** + * The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`. + */ + color: string; + /** + * A short description of the label. + */ + description?: string; + /** + * The name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji ![:strawberry:](https://github.githubassets.com/images/icons/emoji/unicode/1f353.png ":strawberry:"). For a full list of available emoji and codes, see [emoji-cheat-sheet.com](http://emoji-cheat-sheet.com/). + */ + name: string; + + owner: string; + + repo: string; + }; + export type IssuesCreateMilestoneParams = { + /** + * A description of the milestone. + */ + description?: string; + /** + * The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + due_on?: string; + + owner: string; + + repo: string; + /** + * The state of the milestone. Either `open` or `closed`. + */ + state?: "open" | "closed"; + /** + * The title of the milestone. + */ + title: string; + }; + export type IssuesDeleteCommentParams = { + comment_id: number; + + owner: string; + + repo: string; + }; + export type IssuesDeleteLabelParams = { + name: string; + + owner: string; + + repo: string; + }; + export type IssuesDeleteMilestoneParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "milestone_number" + */ + number: number; + + owner: string; + + repo: string; + }; + export type IssuesDeleteMilestoneParams = { + milestone_number: number; + + owner: string; + + repo: string; + }; + export type IssuesGetParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + + owner: string; + + repo: string; + }; + export type IssuesGetParams = { + issue_number: number; + + owner: string; + + repo: string; + }; + export type IssuesGetCommentParams = { + comment_id: number; + + owner: string; + + repo: string; + }; + export type IssuesGetEventParams = { + event_id: number; + + owner: string; + + repo: string; + }; + export type IssuesGetLabelParams = { + name: string; + + owner: string; + + repo: string; + }; + export type IssuesGetMilestoneParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "milestone_number" + */ + number: number; + + owner: string; + + repo: string; + }; + export type IssuesGetMilestoneParams = { + milestone_number: number; + + owner: string; + + repo: string; + }; + export type IssuesListParams = { + /** + * The direction of the sort. Can be either `asc` or `desc`. + */ + direction?: "asc" | "desc"; + /** + * Indicates which sorts of issues to return. Can be one of: + * \* `assigned`: Issues assigned to you + * \* `created`: Issues created by you + * \* `mentioned`: Issues mentioning you + * \* `subscribed`: Issues you're subscribed to updates for + * \* `all`: All issues the authenticated user can see, regardless of participation or creation + */ + filter?: "assigned" | "created" | "mentioned" | "subscribed" | "all"; + /** + * A list of comma separated label names. Example: `bug,ui,@high` + */ + labels?: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Only issues updated at or after this time are returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; + /** + * What to sort results by. Can be either `created`, `updated`, `comments`. + */ + sort?: "created" | "updated" | "comments"; + /** + * Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + }; + export type IssuesListAssigneesParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type IssuesListCommentsParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + /** + * Only comments updated at or after this time are returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; + }; + export type IssuesListCommentsParams = { + issue_number: number; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + /** + * Only comments updated at or after this time are returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; + }; + export type IssuesListCommentsForRepoParams = { + /** + * Either `asc` or `desc`. Ignored without the `sort` parameter. + */ + direction?: "asc" | "desc"; + + owner: string; + + repo: string; + /** + * Only comments updated at or after this time are returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; + /** + * Either `created` or `updated`. + */ + sort?: "created" | "updated"; + }; + export type IssuesListEventsParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type IssuesListEventsParams = { + issue_number: number; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type IssuesListEventsForRepoParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type IssuesListEventsForTimelineParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type IssuesListEventsForTimelineParams = { + issue_number: number; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type IssuesListForAuthenticatedUserParams = { + /** + * The direction of the sort. Can be either `asc` or `desc`. + */ + direction?: "asc" | "desc"; + /** + * Indicates which sorts of issues to return. Can be one of: + * \* `assigned`: Issues assigned to you + * \* `created`: Issues created by you + * \* `mentioned`: Issues mentioning you + * \* `subscribed`: Issues you're subscribed to updates for + * \* `all`: All issues the authenticated user can see, regardless of participation or creation + */ + filter?: "assigned" | "created" | "mentioned" | "subscribed" | "all"; + /** + * A list of comma separated label names. Example: `bug,ui,@high` + */ + labels?: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Only issues updated at or after this time are returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; + /** + * What to sort results by. Can be either `created`, `updated`, `comments`. + */ + sort?: "created" | "updated" | "comments"; + /** + * Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + }; + export type IssuesListForOrgParams = { + /** + * The direction of the sort. Can be either `asc` or `desc`. + */ + direction?: "asc" | "desc"; + /** + * Indicates which sorts of issues to return. Can be one of: + * \* `assigned`: Issues assigned to you + * \* `created`: Issues created by you + * \* `mentioned`: Issues mentioning you + * \* `subscribed`: Issues you're subscribed to updates for + * \* `all`: All issues the authenticated user can see, regardless of participation or creation + */ + filter?: "assigned" | "created" | "mentioned" | "subscribed" | "all"; + /** + * A list of comma separated label names. Example: `bug,ui,@high` + */ + labels?: string; + + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Only issues updated at or after this time are returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; + /** + * What to sort results by. Can be either `created`, `updated`, `comments`. + */ + sort?: "created" | "updated" | "comments"; + /** + * Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + }; + export type IssuesListForRepoParams = { + /** + * Can be the name of a user. Pass in `none` for issues with no assigned user, and `*` for issues assigned to any user. + */ + assignee?: string; + /** + * The user that created the issue. + */ + creator?: string; + /** + * The direction of the sort. Can be either `asc` or `desc`. + */ + direction?: "asc" | "desc"; + /** + * A list of comma separated label names. Example: `bug,ui,@high` + */ + labels?: string; + /** + * A user that's mentioned in the issue. + */ + mentioned?: string; + /** + * If an `integer` is passed, it should refer to a milestone by its `number` field. If the string `*` is passed, issues with any milestone are accepted. If the string `none` is passed, issues without milestones are returned. + */ + milestone?: string; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + /** + * Only issues updated at or after this time are returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; + /** + * What to sort results by. Can be either `created`, `updated`, `comments`. + */ + sort?: "created" | "updated" | "comments"; + /** + * Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + }; + export type IssuesListLabelsForMilestoneParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "milestone_number" + */ + number: number; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type IssuesListLabelsForMilestoneParams = { + milestone_number: number; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type IssuesListLabelsForRepoParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type IssuesListLabelsOnIssueParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type IssuesListLabelsOnIssueParams = { + issue_number: number; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type IssuesListMilestonesForRepoParams = { + /** + * The direction of the sort. Either `asc` or `desc`. + */ + direction?: "asc" | "desc"; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + /** + * What to sort results by. Either `due_on` or `completeness`. + */ + sort?: "due_on" | "completeness"; + /** + * The state of the milestone. Either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + }; + export type IssuesLockParamsDeprecatedNumber = { + /** + * The reason for locking the issue or pull request conversation. Lock will fail if you don't use one of these reasons: + * \* `off-topic` + * \* `too heated` + * \* `resolved` + * \* `spam` + */ + lock_reason?: "off-topic" | "too heated" | "resolved" | "spam"; + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + + owner: string; + + repo: string; + }; + export type IssuesLockParams = { + issue_number: number; + /** + * The reason for locking the issue or pull request conversation. Lock will fail if you don't use one of these reasons: + * \* `off-topic` + * \* `too heated` + * \* `resolved` + * \* `spam` + */ + lock_reason?: "off-topic" | "too heated" | "resolved" | "spam"; + + owner: string; + + repo: string; + }; + export type IssuesRemoveAssigneesParamsDeprecatedNumber = { + /** + * Usernames of assignees to remove from an issue. _NOTE: Only users with push access can remove assignees from an issue. Assignees are silently ignored otherwise._ + */ + assignees?: string[]; + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + + owner: string; + + repo: string; + }; + export type IssuesRemoveAssigneesParams = { + /** + * Usernames of assignees to remove from an issue. _NOTE: Only users with push access can remove assignees from an issue. Assignees are silently ignored otherwise._ + */ + assignees?: string[]; + + issue_number: number; + + owner: string; + + repo: string; + }; + export type IssuesRemoveLabelParamsDeprecatedNumber = { + name: string; + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + + owner: string; + + repo: string; + }; + export type IssuesRemoveLabelParams = { + issue_number: number; + + name: string; + + owner: string; + + repo: string; + }; + export type IssuesRemoveLabelsParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + + owner: string; + + repo: string; + }; + export type IssuesRemoveLabelsParams = { + issue_number: number; + + owner: string; + + repo: string; + }; + export type IssuesReplaceLabelsParamsDeprecatedNumber = { + /** + * The names of the labels to add to the issue. You can pass an empty array to remove all labels. **Note:** Alternatively, you can pass a single label as a `string` or an `array` of labels directly, but GitHub recommends passing an object with the `labels` key. + */ + labels?: string[]; + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + + owner: string; + + repo: string; + }; + export type IssuesReplaceLabelsParams = { + issue_number: number; + /** + * The names of the labels to add to the issue. You can pass an empty array to remove all labels. **Note:** Alternatively, you can pass a single label as a `string` or an `array` of labels directly, but GitHub recommends passing an object with the `labels` key. + */ + labels?: string[]; + + owner: string; + + repo: string; + }; + export type IssuesUnlockParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + + owner: string; + + repo: string; + }; + export type IssuesUnlockParams = { + issue_number: number; + + owner: string; + + repo: string; + }; + export type IssuesUpdateParamsDeprecatedNumber = { + /** + * Logins for Users to assign to this issue. Pass one or more user logins to _replace_ the set of assignees on this Issue. Send an empty array (`[]`) to clear all assignees from the Issue. _NOTE: Only users with push access can set assignees for new issues. Assignees are silently dropped otherwise._ + */ + assignees?: string[]; + /** + * The contents of the issue. + */ + body?: string; + /** + * Labels to associate with this issue. Pass one or more Labels to _replace_ the set of Labels on this Issue. Send an empty array (`[]`) to clear all Labels from the Issue. _NOTE: Only users with push access can set labels for issues. Labels are silently dropped otherwise._ + */ + labels?: string[]; + /** + * The `number` of the milestone to associate this issue with or `null` to remove current. _NOTE: Only users with push access can set the milestone for issues. The milestone is silently dropped otherwise._ + */ + milestone?: number | null; + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + + owner: string; + + repo: string; + /** + * State of the issue. Either `open` or `closed`. + */ + state?: "open" | "closed"; + /** + * The title of the issue. + */ + title?: string; + }; + export type IssuesUpdateParamsDeprecatedAssignee = { + /** + * Login for the user that this issue should be assigned to. **This field is deprecated.** + * @deprecated "assignee" parameter has been deprecated and will be removed in future + */ + assignee?: string; + /** + * Logins for Users to assign to this issue. Pass one or more user logins to _replace_ the set of assignees on this Issue. Send an empty array (`[]`) to clear all assignees from the Issue. _NOTE: Only users with push access can set assignees for new issues. Assignees are silently dropped otherwise._ + */ + assignees?: string[]; + /** + * The contents of the issue. + */ + body?: string; + + issue_number: number; + /** + * Labels to associate with this issue. Pass one or more Labels to _replace_ the set of Labels on this Issue. Send an empty array (`[]`) to clear all Labels from the Issue. _NOTE: Only users with push access can set labels for issues. Labels are silently dropped otherwise._ + */ + labels?: string[]; + /** + * The `number` of the milestone to associate this issue with or `null` to remove current. _NOTE: Only users with push access can set the milestone for issues. The milestone is silently dropped otherwise._ + */ + milestone?: number | null; + + owner: string; + + repo: string; + /** + * State of the issue. Either `open` or `closed`. + */ + state?: "open" | "closed"; + /** + * The title of the issue. + */ + title?: string; + }; + export type IssuesUpdateParams = { + /** + * Logins for Users to assign to this issue. Pass one or more user logins to _replace_ the set of assignees on this Issue. Send an empty array (`[]`) to clear all assignees from the Issue. _NOTE: Only users with push access can set assignees for new issues. Assignees are silently dropped otherwise._ + */ + assignees?: string[]; + /** + * The contents of the issue. + */ + body?: string; + + issue_number: number; + /** + * Labels to associate with this issue. Pass one or more Labels to _replace_ the set of Labels on this Issue. Send an empty array (`[]`) to clear all Labels from the Issue. _NOTE: Only users with push access can set labels for issues. Labels are silently dropped otherwise._ + */ + labels?: string[]; + /** + * The `number` of the milestone to associate this issue with or `null` to remove current. _NOTE: Only users with push access can set the milestone for issues. The milestone is silently dropped otherwise._ + */ + milestone?: number | null; + + owner: string; + + repo: string; + /** + * State of the issue. Either `open` or `closed`. + */ + state?: "open" | "closed"; + /** + * The title of the issue. + */ + title?: string; + }; + export type IssuesUpdateCommentParams = { + /** + * The contents of the comment. + */ + body: string; + + comment_id: number; + + owner: string; + + repo: string; + }; + export type IssuesUpdateLabelParams = { + /** + * The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`. + */ + color?: string; + + current_name: string; + /** + * A short description of the label. + */ + description?: string; + /** + * The new name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji ![:strawberry:](https://github.githubassets.com/images/icons/emoji/unicode/1f353.png ":strawberry:"). For a full list of available emoji and codes, see [emoji-cheat-sheet.com](http://emoji-cheat-sheet.com/). + */ + name?: string; + + owner: string; + + repo: string; + }; + export type IssuesUpdateMilestoneParamsDeprecatedNumber = { + /** + * A description of the milestone. + */ + description?: string; + /** + * The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + due_on?: string; + /** + * @deprecated "number" parameter renamed to "milestone_number" + */ + number: number; + + owner: string; + + repo: string; + /** + * The state of the milestone. Either `open` or `closed`. + */ + state?: "open" | "closed"; + /** + * The title of the milestone. + */ + title?: string; + }; + export type IssuesUpdateMilestoneParams = { + /** + * A description of the milestone. + */ + description?: string; + /** + * The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + due_on?: string; + + milestone_number: number; + + owner: string; + + repo: string; + /** + * The state of the milestone. Either `open` or `closed`. + */ + state?: "open" | "closed"; + /** + * The title of the milestone. + */ + title?: string; + }; + export type LicensesGetParams = { + license: string; + }; + export type LicensesGetForRepoParams = { + owner: string; + + repo: string; + }; + export type MarkdownRenderParams = { + /** + * The repository context to use when creating references in `gfm` mode. Omit this parameter when using `markdown` mode. + */ + context?: string; + /** + * The rendering mode. Can be either: + * \* `markdown` to render a document in plain Markdown, just like README.md files are rendered. + * \* `gfm` to render a document in [GitHub Flavored Markdown](https://github.github.com/gfm/), which creates links for user mentions as well as references to SHA-1 hashes, issues, and pull requests. + */ + mode?: "markdown" | "gfm"; + /** + * The Markdown text to render in HTML. Markdown content must be 400 KB or less. + */ + text: string; + }; + export type MarkdownRenderRawParams = { + data: string; + }; + export type MigrationsCancelImportParams = { + owner: string; + + repo: string; + }; + export type MigrationsDeleteArchiveForAuthenticatedUserParams = { + migration_id: number; + }; + export type MigrationsDeleteArchiveForOrgParams = { + migration_id: number; + + org: string; + }; + export type MigrationsDownloadArchiveForOrgParams = { + migration_id: number; + + org: string; + }; + export type MigrationsGetArchiveForAuthenticatedUserParams = { + migration_id: number; + }; + export type MigrationsGetArchiveForOrgParams = { + migration_id: number; + + org: string; + }; + export type MigrationsGetCommitAuthorsParams = { + owner: string; + + repo: string; + /** + * Only authors found after this id are returned. Provide the highest author ID you've seen so far. New authors may be added to the list at any point while the importer is performing the `raw` step. + */ + since?: string; + }; + export type MigrationsGetImportProgressParams = { + owner: string; + + repo: string; + }; + export type MigrationsGetLargeFilesParams = { + owner: string; + + repo: string; + }; + export type MigrationsGetStatusForAuthenticatedUserParams = { + migration_id: number; + }; + export type MigrationsGetStatusForOrgParams = { + migration_id: number; + + org: string; + }; + export type MigrationsListForAuthenticatedUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type MigrationsListForOrgParams = { + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type MigrationsListReposForOrgParams = { + migration_id: number; + + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type MigrationsListReposForUserParams = { + migration_id: number; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type MigrationsMapCommitAuthorParams = { + author_id: number; + /** + * The new Git author email. + */ + email?: string; + /** + * The new Git author name. + */ + name?: string; + + owner: string; + + repo: string; + }; + export type MigrationsSetLfsPreferenceParams = { + owner: string; + + repo: string; + /** + * Can be one of `opt_in` (large files will be stored using Git LFS) or `opt_out` (large files will be removed during the import). + */ + use_lfs: "opt_in" | "opt_out"; + }; + export type MigrationsStartForAuthenticatedUserParams = { + /** + * Does not include attachments uploaded to GitHub.com in the migration data when set to `true`. Excluding attachments will reduce the migration archive file size. + */ + exclude_attachments?: boolean; + /** + * Locks the `repositories` to prevent changes during the migration when set to `true`. + */ + lock_repositories?: boolean; + /** + * An array of repositories to include in the migration. + */ + repositories: string[]; + }; + export type MigrationsStartForOrgParams = { + /** + * Indicates whether attachments should be excluded from the migration (to reduce migration archive file size). + */ + exclude_attachments?: boolean; + /** + * Indicates whether repositories should be locked (to prevent manipulation) while migrating data. + */ + lock_repositories?: boolean; + + org: string; + /** + * A list of arrays indicating which repositories should be migrated. + */ + repositories: string[]; + }; + export type MigrationsStartImportParams = { + owner: string; + + repo: string; + /** + * For a tfvc import, the name of the project that is being imported. + */ + tfvc_project?: string; + /** + * The originating VCS type. Can be one of `subversion`, `git`, `mercurial`, or `tfvc`. Please be aware that without this parameter, the import job will take additional time to detect the VCS type before beginning the import. This detection step will be reflected in the response. + */ + vcs?: "subversion" | "git" | "mercurial" | "tfvc"; + /** + * If authentication is required, the password to provide to `vcs_url`. + */ + vcs_password?: string; + /** + * The URL of the originating repository. + */ + vcs_url: string; + /** + * If authentication is required, the username to provide to `vcs_url`. + */ + vcs_username?: string; + }; + export type MigrationsUnlockRepoForAuthenticatedUserParams = { + migration_id: number; + + repo_name: string; + }; + export type MigrationsUnlockRepoForOrgParams = { + migration_id: number; + + org: string; + + repo_name: string; + }; + export type MigrationsUpdateImportParams = { + owner: string; + + repo: string; + /** + * The password to provide to the originating repository. + */ + vcs_password?: string; + /** + * The username to provide to the originating repository. + */ + vcs_username?: string; + }; + export type OauthAuthorizationsCheckAuthorizationParams = { + access_token: string; + + client_id: string; + }; + export type OauthAuthorizationsCreateAuthorizationParams = { + /** + * The 20 character OAuth app client key for which to create the token. + */ + client_id?: string; + /** + * The 40 character OAuth app client secret for which to create the token. + */ + client_secret?: string; + /** + * A unique string to distinguish an authorization from others created for the same client ID and user. + */ + fingerprint?: string; + /** + * A note to remind you what the OAuth token is for. Tokens not associated with a specific OAuth application (i.e. personal access tokens) must have a unique note. + */ + note: string; + /** + * A URL to remind you what app the OAuth token is for. + */ + note_url?: string; + /** + * A list of scopes that this authorization is in. + */ + scopes?: string[]; + }; + export type OauthAuthorizationsDeleteAuthorizationParams = { + authorization_id: number; + }; + export type OauthAuthorizationsDeleteGrantParams = { + grant_id: number; + }; + export type OauthAuthorizationsGetAuthorizationParams = { + authorization_id: number; + }; + export type OauthAuthorizationsGetGrantParams = { + grant_id: number; + }; + export type OauthAuthorizationsGetOrCreateAuthorizationForAppParams = { + client_id: string; + /** + * The 40 character OAuth app client secret associated with the client ID specified in the URL. + */ + client_secret: string; + /** + * A unique string to distinguish an authorization from others created for the same client and user. If provided, this API is functionally equivalent to [Get-or-create an authorization for a specific app and fingerprint](https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app-and-fingerprint). + */ + fingerprint?: string; + /** + * A note to remind you what the OAuth token is for. + */ + note?: string; + /** + * A URL to remind you what app the OAuth token is for. + */ + note_url?: string; + /** + * A list of scopes that this authorization is in. + */ + scopes?: string[]; + }; + export type OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintParams = { + client_id: string; + /** + * The 40 character OAuth app client secret associated with the client ID specified in the URL. + */ + client_secret: string; + + fingerprint: string; + /** + * A note to remind you what the OAuth token is for. + */ + note?: string; + /** + * A URL to remind you what app the OAuth token is for. + */ + note_url?: string; + /** + * A list of scopes that this authorization is in. + */ + scopes?: string[]; + }; + export type OauthAuthorizationsGetOrCreateAuthorizationForAppFingerprintParams = { + client_id: string; + /** + * The 40 character OAuth app client secret associated with the client ID specified in the URL. + */ + client_secret: string; + + fingerprint: string; + /** + * A note to remind you what the OAuth token is for. + */ + note?: string; + /** + * A URL to remind you what app the OAuth token is for. + */ + note_url?: string; + /** + * A list of scopes that this authorization is in. + */ + scopes?: string[]; + }; + export type OauthAuthorizationsListAuthorizationsParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type OauthAuthorizationsListGrantsParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type OauthAuthorizationsResetAuthorizationParams = { + access_token: string; + + client_id: string; + }; + export type OauthAuthorizationsRevokeAuthorizationForApplicationParams = { + access_token: string; + + client_id: string; + }; + export type OauthAuthorizationsRevokeGrantForApplicationParams = { + access_token: string; + + client_id: string; + }; + export type OauthAuthorizationsUpdateAuthorizationParams = { + /** + * A list of scopes to add to this authorization. + */ + add_scopes?: string[]; + + authorization_id: number; + /** + * A unique string to distinguish an authorization from others created for the same client ID and user. + */ + fingerprint?: string; + /** + * A note to remind you what the OAuth token is for. Tokens not associated with a specific OAuth application (i.e. personal access tokens) must have a unique note. + */ + note?: string; + /** + * A URL to remind you what app the OAuth token is for. + */ + note_url?: string; + /** + * A list of scopes to remove from this authorization. + */ + remove_scopes?: string[]; + /** + * Replaces the authorization scopes with these. + */ + scopes?: string[]; + }; + export type OrgsAddOrUpdateMembershipParams = { + org: string; + /** + * The role to give the user in the organization. Can be one of: + * \* `admin` - The user will become an owner of the organization. + * \* `member` - The user will become a non-owner member of the organization. + */ + role?: "admin" | "member"; + + username: string; + }; + export type OrgsBlockUserParams = { + org: string; + + username: string; + }; + export type OrgsCheckBlockedUserParams = { + org: string; + + username: string; + }; + export type OrgsCheckMembershipParams = { + org: string; + + username: string; + }; + export type OrgsCheckPublicMembershipParams = { + org: string; + + username: string; + }; + export type OrgsConcealMembershipParams = { + org: string; + + username: string; + }; + export type OrgsConvertMemberToOutsideCollaboratorParams = { + org: string; + + username: string; + }; + export type OrgsCreateHookParams = { + /** + * Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + */ + active?: boolean; + /** + * Key/value pairs to provide settings for this webhook. [These are defined below](https://developer.github.com/v3/orgs/hooks/#create-hook-config-params). + */ + config: OrgsCreateHookParamsConfig; + /** + * Determines what [events](https://developer.github.com/v3/activity/events/types/) the hook is triggered for. + */ + events?: string[]; + /** + * Must be passed as "web". + */ + name: string; + + org: string; + }; + export type OrgsCreateInvitationParams = { + /** + * **Required unless you provide `invitee_id`**. Email address of the person you are inviting, which can be an existing GitHub user. + */ + email?: string; + /** + * **Required unless you provide `email`**. GitHub user ID for the person you are inviting. + */ + invitee_id?: number; + + org: string; + /** + * Specify role for new member. Can be one of: + * \* `admin` - Organization owners with full administrative rights to the organization and complete access to all repositories and teams. + * \* `direct_member` - Non-owner organization members with ability to see other members and join teams by invitation. + * \* `billing_manager` - Non-owner organization members with ability to manage the billing settings of your organization. + */ + role?: "admin" | "direct_member" | "billing_manager"; + /** + * Specify IDs for the teams you want to invite new members to. + */ + team_ids?: number[]; + }; + export type OrgsDeleteHookParams = { + hook_id: number; + + org: string; + }; + export type OrgsGetParams = { + org: string; + }; + export type OrgsGetHookParams = { + hook_id: number; + + org: string; + }; + export type OrgsGetMembershipParams = { + org: string; + + username: string; + }; + export type OrgsGetMembershipForAuthenticatedUserParams = { + org: string; + }; + export type OrgsListParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * The integer ID of the last organization that you've seen. + */ + since?: number; + }; + export type OrgsListBlockedUsersParams = { + org: string; + }; + export type OrgsListForAuthenticatedUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type OrgsListForUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + username: string; + }; + export type OrgsListHooksParams = { + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type OrgsListInstallationsParams = { + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type OrgsListInvitationTeamsParams = { + invitation_id: number; + + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type OrgsListMembersParams = { + /** + * Filter members returned in the list. Can be one of: + * \* `2fa_disabled` - Members without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled. Available for organization owners. + * \* `all` - All members the authenticated user can see. + */ + filter?: "2fa_disabled" | "all"; + + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Filter members returned by their role. Can be one of: + * \* `all` - All members of the organization, regardless of role. + * \* `admin` - Organization owners. + * \* `member` - Non-owner organization members. + */ + role?: "all" | "admin" | "member"; + }; + export type OrgsListMembershipsParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Indicates the state of the memberships to return. Can be either `active` or `pending`. If not specified, the API returns both active and pending memberships. + */ + state?: "active" | "pending"; + }; + export type OrgsListOutsideCollaboratorsParams = { + /** + * Filter the list of outside collaborators. Can be one of: + * \* `2fa_disabled`: Outside collaborators without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled. + * \* `all`: All outside collaborators. + */ + filter?: "2fa_disabled" | "all"; + + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type OrgsListPendingInvitationsParams = { + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type OrgsListPublicMembersParams = { + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type OrgsPingHookParams = { + hook_id: number; + + org: string; + }; + export type OrgsPublicizeMembershipParams = { + org: string; + + username: string; + }; + export type OrgsRemoveMemberParams = { + org: string; + + username: string; + }; + export type OrgsRemoveMembershipParams = { + org: string; + + username: string; + }; + export type OrgsRemoveOutsideCollaboratorParams = { + org: string; + + username: string; + }; + export type OrgsUnblockUserParams = { + org: string; + + username: string; + }; + export type OrgsUpdateParamsDeprecatedMembersAllowedRepositoryCreationType = { + /** + * Billing email address. This address is not publicized. + */ + billing_email?: string; + /** + * The company name. + */ + company?: string; + /** + * Default permission level members have for organization repositories: + * \* `read` - can pull, but not push to or administer this repository. + * \* `write` - can pull and push, but not administer this repository. + * \* `admin` - can pull, push, and administer this repository. + * \* `none` - no permissions granted by default. + */ + default_repository_permission?: "read" | "write" | "admin" | "none"; + /** + * The description of the company. + */ + description?: string; + /** + * The publicly visible email address. + */ + email?: string; + /** + * Toggles whether an organization can use organization projects. + */ + has_organization_projects?: boolean; + /** + * Toggles whether repositories that belong to the organization can use repository projects. + */ + has_repository_projects?: boolean; + /** + * The location. + */ + location?: string; + /** + * Specifies which types of repositories non-admin organization members can create. Can be one of: + * \* `all` - all organization members can create public and private repositories. + * \* `private` - members can create private repositories. This option is only available to repositories that are part of an organization on GitHub Enterprise Cloud. + * \* `none` - only admin members can create repositories. + * **Note:** This parameter is deprecated and will be removed in the future. Its return value ignores internal repositories. Using this parameter overrides values set in `members_can_create_repositories`. See [this note](https://developer.github.com/v3/orgs/#members_can_create_repositories) for details. + * @deprecated "members_allowed_repository_creation_type" parameter has been deprecated and will be removed in future + */ + members_allowed_repository_creation_type?: string; + /** + * Toggles whether organization members can create internal repositories, which are visible to all enterprise members. You can only allow members to create internal repositories if your organization is associated with an enterprise account using GitHub Enterprise Cloud. Can be one of: + * \* `true` - all organization members can create internal repositories. + * \* `false` - only organization owners can create internal repositories. + * Default: `true`. For more information, see "[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. + */ + members_can_create_internal_repositories?: boolean; + /** + * Toggles whether organization members can create private repositories, which are visible to organization members with permission. Can be one of: + * \* `true` - all organization members can create private repositories. + * \* `false` - only organization owners can create private repositories. + * Default: `true`. For more information, see "[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. + */ + members_can_create_private_repositories?: boolean; + /** + * Toggles whether organization members can create public repositories, which are visible to anyone. Can be one of: + * \* `true` - all organization members can create public repositories. + * \* `false` - only organization owners can create public repositories. + * Default: `true`. For more information, see "[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. + */ + members_can_create_public_repositories?: boolean; + /** + * Toggles the ability of non-admin organization members to create repositories. Can be one of: + * \* `true` - all organization members can create repositories. + * \* `false` - only organization owners can create repositories. + * Default: `true` + * **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details. **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details. + */ + members_can_create_repositories?: boolean; + /** + * The shorthand name of the company. + */ + name?: string; + + org: string; + }; + export type OrgsUpdateParams = { + /** + * Billing email address. This address is not publicized. + */ + billing_email?: string; + /** + * The company name. + */ + company?: string; + /** + * Default permission level members have for organization repositories: + * \* `read` - can pull, but not push to or administer this repository. + * \* `write` - can pull and push, but not administer this repository. + * \* `admin` - can pull, push, and administer this repository. + * \* `none` - no permissions granted by default. + */ + default_repository_permission?: "read" | "write" | "admin" | "none"; + /** + * The description of the company. + */ + description?: string; + /** + * The publicly visible email address. + */ + email?: string; + /** + * Toggles whether an organization can use organization projects. + */ + has_organization_projects?: boolean; + /** + * Toggles whether repositories that belong to the organization can use repository projects. + */ + has_repository_projects?: boolean; + /** + * The location. + */ + location?: string; + /** + * Toggles whether organization members can create internal repositories, which are visible to all enterprise members. You can only allow members to create internal repositories if your organization is associated with an enterprise account using GitHub Enterprise Cloud. Can be one of: + * \* `true` - all organization members can create internal repositories. + * \* `false` - only organization owners can create internal repositories. + * Default: `true`. For more information, see "[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. + */ + members_can_create_internal_repositories?: boolean; + /** + * Toggles whether organization members can create private repositories, which are visible to organization members with permission. Can be one of: + * \* `true` - all organization members can create private repositories. + * \* `false` - only organization owners can create private repositories. + * Default: `true`. For more information, see "[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. + */ + members_can_create_private_repositories?: boolean; + /** + * Toggles whether organization members can create public repositories, which are visible to anyone. Can be one of: + * \* `true` - all organization members can create public repositories. + * \* `false` - only organization owners can create public repositories. + * Default: `true`. For more information, see "[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. + */ + members_can_create_public_repositories?: boolean; + /** + * Toggles the ability of non-admin organization members to create repositories. Can be one of: + * \* `true` - all organization members can create repositories. + * \* `false` - only organization owners can create repositories. + * Default: `true` + * **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details. **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details. + */ + members_can_create_repositories?: boolean; + /** + * The shorthand name of the company. + */ + name?: string; + + org: string; + }; + export type OrgsUpdateHookParams = { + /** + * Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + */ + active?: boolean; + /** + * Key/value pairs to provide settings for this webhook. [These are defined below](https://developer.github.com/v3/orgs/hooks/#update-hook-config-params). + */ + config?: OrgsUpdateHookParamsConfig; + /** + * Determines what [events](https://developer.github.com/v3/activity/events/types/) the hook is triggered for. + */ + events?: string[]; + + hook_id: number; + + org: string; + }; + export type OrgsUpdateMembershipParams = { + org: string; + /** + * The state that the membership should be in. Only `"active"` will be accepted. + */ + state: "active"; + }; + export type ProjectsAddCollaboratorParams = { + /** + * The permission to grant the collaborator. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://developer.github.com/v3/#http-verbs)." Can be one of: + * \* `read` - can read, but not write to or administer this project. + * \* `write` - can read and write, but not administer this project. + * \* `admin` - can read, write and administer this project. + */ + permission?: "read" | "write" | "admin"; + + project_id: number; + + username: string; + }; + export type ProjectsCreateCardParams = { + column_id: number; + /** + * The issue or pull request id you want to associate with this card. You can use the [List issues for a repository](https://developer.github.com/v3/issues/#list-issues-for-a-repository) and [List pull requests](https://developer.github.com/v3/pulls/#list-pull-requests) endpoints to find this id. + * **Note:** Depending on whether you use the issue id or pull request id, you will need to specify `Issue` or `PullRequest` as the `content_type`. + */ + content_id?: number; + /** + * **Required if you provide `content_id`**. The type of content you want to associate with this card. Use `Issue` when `content_id` is an issue id and use `PullRequest` when `content_id` is a pull request id. + */ + content_type?: string; + /** + * The card's note content. Only valid for cards without another type of content, so you must omit when specifying `content_id` and `content_type`. + */ + note?: string; + }; + export type ProjectsCreateColumnParams = { + /** + * The name of the column. + */ + name: string; + + project_id: number; + }; + export type ProjectsCreateForAuthenticatedUserParams = { + /** + * The description of the project. + */ + body?: string; + /** + * The name of the project. + */ + name: string; + }; + export type ProjectsCreateForOrgParams = { + /** + * The description of the project. + */ + body?: string; + /** + * The name of the project. + */ + name: string; + + org: string; + }; + export type ProjectsCreateForRepoParams = { + /** + * The description of the project. + */ + body?: string; + /** + * The name of the project. + */ + name: string; + + owner: string; + + repo: string; + }; + export type ProjectsDeleteParams = { + project_id: number; + }; + export type ProjectsDeleteCardParams = { + card_id: number; + }; + export type ProjectsDeleteColumnParams = { + column_id: number; + }; + export type ProjectsGetParams = { + project_id: number; + }; + export type ProjectsGetCardParams = { + card_id: number; + }; + export type ProjectsGetColumnParams = { + column_id: number; + }; + export type ProjectsListCardsParams = { + /** + * Filters the project cards that are returned by the card's state. Can be one of `all`,`archived`, or `not_archived`. + */ + archived_state?: "all" | "archived" | "not_archived"; + + column_id: number; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type ProjectsListCollaboratorsParams = { + /** + * Filters the collaborators by their affiliation. Can be one of: + * \* `outside`: Outside collaborators of a project that are not a member of the project's organization. + * \* `direct`: Collaborators with permissions to a project, regardless of organization membership status. + * \* `all`: All collaborators the authenticated user can see. + */ + affiliation?: "outside" | "direct" | "all"; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + project_id: number; + }; + export type ProjectsListColumnsParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + project_id: number; + }; + export type ProjectsListForOrgParams = { + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + }; + export type ProjectsListForRepoParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + /** + * Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + }; + export type ProjectsListForUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + + username: string; + }; + export type ProjectsMoveCardParams = { + card_id: number; + /** + * The `id` value of a column in the same project. + */ + column_id?: number; + /** + * Can be one of `top`, `bottom`, or `after:`, where `` is the `id` value of a card in the same column, or in the new column specified by `column_id`. + */ + position: string; + }; + export type ProjectsMoveColumnParams = { + column_id: number; + /** + * Can be one of `first`, `last`, or `after:`, where `` is the `id` value of a column in the same project. + */ + position: string; + }; + export type ProjectsRemoveCollaboratorParams = { + project_id: number; + + username: string; + }; + export type ProjectsReviewUserPermissionLevelParams = { + project_id: number; + + username: string; + }; + export type ProjectsUpdateParams = { + /** + * The description of the project. + */ + body?: string; + /** + * The name of the project. + */ + name?: string; + /** + * The permission level that determines whether all members of the project's organization can see and/or make changes to the project. Setting `organization_permission` is only available for organization projects. If an organization member belongs to a team with a higher level of access or is a collaborator with a higher level of access, their permission level is not lowered by `organization_permission`. For information on changing access for a team or collaborator, see [Add or update team project](https://developer.github.com/v3/teams/#add-or-update-team-project) or [Add user as a collaborator](https://developer.github.com/v3/projects/collaborators/#add-user-as-a-collaborator). + * + * **Note:** Updating a project's `organization_permission` requires `admin` access to the project. + * + * Can be one of: + * \* `read` - Organization members can read, but not write to or administer this project. + * \* `write` - Organization members can read and write, but not administer this project. + * \* `admin` - Organization members can read, write and administer this project. + * \* `none` - Organization members can only see this project if it is public. + */ + organization_permission?: string; + /** + * Sets the visibility of a project board. Setting `private` is only available for organization and user projects. **Note:** Updating a project's visibility requires `admin` access to the project. + * + * Can be one of: + * \* `false` - Anyone can see the project. + * \* `true` - Only the user can view a project board created on a user account. Organization members with the appropriate `organization_permission` can see project boards in an organization account. + */ + private?: boolean; + + project_id: number; + /** + * State of the project. Either `open` or `closed`. + */ + state?: "open" | "closed"; + }; + export type ProjectsUpdateCardParams = { + /** + * Use `true` to archive a project card. Specify `false` if you need to restore a previously archived project card. + */ + archived?: boolean; + + card_id: number; + /** + * The card's note content. Only valid for cards without another type of content, so this cannot be specified if the card already has a `content_id` and `content_type`. + */ + note?: string; + }; + export type ProjectsUpdateColumnParams = { + column_id: number; + /** + * The new name of the column. + */ + name: string; + }; + export type PullsCheckIfMergedParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + + owner: string; + + repo: string; + }; + export type PullsCheckIfMergedParams = { + owner: string; + + pull_number: number; + + repo: string; + }; + export type PullsCreateParams = { + /** + * The name of the branch you want the changes pulled into. This should be an existing branch on the current repository. You cannot submit a pull request to one repository that requests a merge to a base of another repository. + */ + base: string; + /** + * The contents of the pull request. + */ + body?: string; + /** + * Indicates whether the pull request is a draft. See "[Draft Pull Requests](https://help.github.com/en/articles/about-pull-requests#draft-pull-requests)" in the GitHub Help documentation to learn more. + */ + draft?: boolean; + /** + * The name of the branch where your changes are implemented. For cross-repository pull requests in the same network, namespace `head` with a user like this: `username:branch`. + */ + head: string; + /** + * Indicates whether [maintainers can modify](https://help.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request. + */ + maintainer_can_modify?: boolean; + + owner: string; + + repo: string; + /** + * The title of the new pull request. + */ + title: string; + }; + export type PullsCreateCommentParamsDeprecatedNumber = { + /** + * The text of the review comment. + */ + body: string; + /** + * The SHA of the commit needing a comment. Not using the latest commit SHA may render your comment outdated if a subsequent commit modifies the line you specify as the `position`. + */ + commit_id: string; + /** + * **Required with `comfort-fade` preview**. The line of the blob in the pull request diff that the comment applies to. For a multi-line comment, the last line of the range that your comment applies to. + */ + line?: number; + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + + owner: string; + /** + * The relative path to the file that necessitates a comment. + */ + path: string; + /** + * **Required without `comfort-fade` preview**. The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note above. + */ + position?: number; + + repo: string; + /** + * **Required with `comfort-fade` preview**. In a split diff view, the side of the diff that the pull request's changes appear on. Can be `LEFT` or `RIGHT`. Use `LEFT` for deletions that appear in red. Use `RIGHT` for additions that appear in green or unchanged lines that appear in white and are shown for context. For a multi-line comment, side represents whether the last line of the comment range is a deletion or addition. For more information, see "[Diff view options](https://help.github.com/en/articles/about-comparing-branches-in-pull-requests#diff-view-options)" in the GitHub Help documentation. + */ + side?: "LEFT" | "RIGHT"; + /** + * **Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. The `start_line` is the first line in the pull request diff that your multi-line comment applies to. To learn more about multi-line comments, see "[Commenting on a pull request](https://help.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. + */ + start_line?: number; + /** + * **Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. The `start_side` is the starting side of the diff that the comment applies to. Can be `LEFT` or `RIGHT`. To learn more about multi-line comments, see "[Commenting on a pull request](https://help.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. See `side` in this table for additional context. + */ + start_side?: "LEFT" | "RIGHT" | "side"; + }; + export type PullsCreateCommentParamsDeprecatedInReplyTo = { + /** + * The text of the review comment. + */ + body: string; + /** + * The SHA of the commit needing a comment. Not using the latest commit SHA may render your comment outdated if a subsequent commit modifies the line you specify as the `position`. + */ + commit_id: string; + /** + * The comment ID to reply to. **Note**: This must be the ID of a top-level comment, not a reply to that comment. Replies to replies are not supported. + * @deprecated "in_reply_to" parameter has been deprecated and will be removed in future + */ + in_reply_to?: number; + /** + * **Required with `comfort-fade` preview**. The line of the blob in the pull request diff that the comment applies to. For a multi-line comment, the last line of the range that your comment applies to. + */ + line?: number; + + owner: string; + /** + * The relative path to the file that necessitates a comment. + */ + path: string; + /** + * **Required without `comfort-fade` preview**. The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note above. + */ + position?: number; + + pull_number: number; + + repo: string; + /** + * **Required with `comfort-fade` preview**. In a split diff view, the side of the diff that the pull request's changes appear on. Can be `LEFT` or `RIGHT`. Use `LEFT` for deletions that appear in red. Use `RIGHT` for additions that appear in green or unchanged lines that appear in white and are shown for context. For a multi-line comment, side represents whether the last line of the comment range is a deletion or addition. For more information, see "[Diff view options](https://help.github.com/en/articles/about-comparing-branches-in-pull-requests#diff-view-options)" in the GitHub Help documentation. + */ + side?: "LEFT" | "RIGHT"; + /** + * **Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. The `start_line` is the first line in the pull request diff that your multi-line comment applies to. To learn more about multi-line comments, see "[Commenting on a pull request](https://help.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. + */ + start_line?: number; + /** + * **Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. The `start_side` is the starting side of the diff that the comment applies to. Can be `LEFT` or `RIGHT`. To learn more about multi-line comments, see "[Commenting on a pull request](https://help.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. See `side` in this table for additional context. + */ + start_side?: "LEFT" | "RIGHT" | "side"; + }; + export type PullsCreateCommentParams = { + /** + * The text of the review comment. + */ + body: string; + /** + * The SHA of the commit needing a comment. Not using the latest commit SHA may render your comment outdated if a subsequent commit modifies the line you specify as the `position`. + */ + commit_id: string; + /** + * **Required with `comfort-fade` preview**. The line of the blob in the pull request diff that the comment applies to. For a multi-line comment, the last line of the range that your comment applies to. + */ + line?: number; + + owner: string; + /** + * The relative path to the file that necessitates a comment. + */ + path: string; + /** + * **Required without `comfort-fade` preview**. The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note above. + */ + position?: number; + + pull_number: number; + + repo: string; + /** + * **Required with `comfort-fade` preview**. In a split diff view, the side of the diff that the pull request's changes appear on. Can be `LEFT` or `RIGHT`. Use `LEFT` for deletions that appear in red. Use `RIGHT` for additions that appear in green or unchanged lines that appear in white and are shown for context. For a multi-line comment, side represents whether the last line of the comment range is a deletion or addition. For more information, see "[Diff view options](https://help.github.com/en/articles/about-comparing-branches-in-pull-requests#diff-view-options)" in the GitHub Help documentation. + */ + side?: "LEFT" | "RIGHT"; + /** + * **Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. The `start_line` is the first line in the pull request diff that your multi-line comment applies to. To learn more about multi-line comments, see "[Commenting on a pull request](https://help.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. + */ + start_line?: number; + /** + * **Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. The `start_side` is the starting side of the diff that the comment applies to. Can be `LEFT` or `RIGHT`. To learn more about multi-line comments, see "[Commenting on a pull request](https://help.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. See `side` in this table for additional context. + */ + start_side?: "LEFT" | "RIGHT" | "side"; + }; + export type PullsCreateCommentReplyParamsDeprecatedNumber = { + /** + * The text of the review comment. + */ + body: string; + /** + * The SHA of the commit needing a comment. Not using the latest commit SHA may render your comment outdated if a subsequent commit modifies the line you specify as the `position`. + */ + commit_id: string; + /** + * **Required with `comfort-fade` preview**. The line of the blob in the pull request diff that the comment applies to. For a multi-line comment, the last line of the range that your comment applies to. + */ + line?: number; + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + + owner: string; + /** + * The relative path to the file that necessitates a comment. + */ + path: string; + /** + * **Required without `comfort-fade` preview**. The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note above. + */ + position?: number; + + repo: string; + /** + * **Required with `comfort-fade` preview**. In a split diff view, the side of the diff that the pull request's changes appear on. Can be `LEFT` or `RIGHT`. Use `LEFT` for deletions that appear in red. Use `RIGHT` for additions that appear in green or unchanged lines that appear in white and are shown for context. For a multi-line comment, side represents whether the last line of the comment range is a deletion or addition. For more information, see "[Diff view options](https://help.github.com/en/articles/about-comparing-branches-in-pull-requests#diff-view-options)" in the GitHub Help documentation. + */ + side?: "LEFT" | "RIGHT"; + /** + * **Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. The `start_line` is the first line in the pull request diff that your multi-line comment applies to. To learn more about multi-line comments, see "[Commenting on a pull request](https://help.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. + */ + start_line?: number; + /** + * **Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. The `start_side` is the starting side of the diff that the comment applies to. Can be `LEFT` or `RIGHT`. To learn more about multi-line comments, see "[Commenting on a pull request](https://help.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. See `side` in this table for additional context. + */ + start_side?: "LEFT" | "RIGHT" | "side"; + }; + export type PullsCreateCommentReplyParamsDeprecatedInReplyTo = { + /** + * The text of the review comment. + */ + body: string; + /** + * The SHA of the commit needing a comment. Not using the latest commit SHA may render your comment outdated if a subsequent commit modifies the line you specify as the `position`. + */ + commit_id: string; + /** + * The comment ID to reply to. **Note**: This must be the ID of a top-level comment, not a reply to that comment. Replies to replies are not supported. + * @deprecated "in_reply_to" parameter has been deprecated and will be removed in future + */ + in_reply_to?: number; + /** + * **Required with `comfort-fade` preview**. The line of the blob in the pull request diff that the comment applies to. For a multi-line comment, the last line of the range that your comment applies to. + */ + line?: number; + + owner: string; + /** + * The relative path to the file that necessitates a comment. + */ + path: string; + /** + * **Required without `comfort-fade` preview**. The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note above. + */ + position?: number; + + pull_number: number; + + repo: string; + /** + * **Required with `comfort-fade` preview**. In a split diff view, the side of the diff that the pull request's changes appear on. Can be `LEFT` or `RIGHT`. Use `LEFT` for deletions that appear in red. Use `RIGHT` for additions that appear in green or unchanged lines that appear in white and are shown for context. For a multi-line comment, side represents whether the last line of the comment range is a deletion or addition. For more information, see "[Diff view options](https://help.github.com/en/articles/about-comparing-branches-in-pull-requests#diff-view-options)" in the GitHub Help documentation. + */ + side?: "LEFT" | "RIGHT"; + /** + * **Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. The `start_line` is the first line in the pull request diff that your multi-line comment applies to. To learn more about multi-line comments, see "[Commenting on a pull request](https://help.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. + */ + start_line?: number; + /** + * **Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. The `start_side` is the starting side of the diff that the comment applies to. Can be `LEFT` or `RIGHT`. To learn more about multi-line comments, see "[Commenting on a pull request](https://help.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. See `side` in this table for additional context. + */ + start_side?: "LEFT" | "RIGHT" | "side"; + }; + export type PullsCreateCommentReplyParams = { + /** + * The text of the review comment. + */ + body: string; + /** + * The SHA of the commit needing a comment. Not using the latest commit SHA may render your comment outdated if a subsequent commit modifies the line you specify as the `position`. + */ + commit_id: string; + /** + * **Required with `comfort-fade` preview**. The line of the blob in the pull request diff that the comment applies to. For a multi-line comment, the last line of the range that your comment applies to. + */ + line?: number; + + owner: string; + /** + * The relative path to the file that necessitates a comment. + */ + path: string; + /** + * **Required without `comfort-fade` preview**. The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note above. + */ + position?: number; + + pull_number: number; + + repo: string; + /** + * **Required with `comfort-fade` preview**. In a split diff view, the side of the diff that the pull request's changes appear on. Can be `LEFT` or `RIGHT`. Use `LEFT` for deletions that appear in red. Use `RIGHT` for additions that appear in green or unchanged lines that appear in white and are shown for context. For a multi-line comment, side represents whether the last line of the comment range is a deletion or addition. For more information, see "[Diff view options](https://help.github.com/en/articles/about-comparing-branches-in-pull-requests#diff-view-options)" in the GitHub Help documentation. + */ + side?: "LEFT" | "RIGHT"; + /** + * **Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. The `start_line` is the first line in the pull request diff that your multi-line comment applies to. To learn more about multi-line comments, see "[Commenting on a pull request](https://help.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. + */ + start_line?: number; + /** + * **Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. The `start_side` is the starting side of the diff that the comment applies to. Can be `LEFT` or `RIGHT`. To learn more about multi-line comments, see "[Commenting on a pull request](https://help.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. See `side` in this table for additional context. + */ + start_side?: "LEFT" | "RIGHT" | "side"; + }; + export type PullsCreateFromIssueParams = { + base: string; + + draft?: boolean; + + head: string; + + issue: number; + + maintainer_can_modify?: boolean; + + owner: string; + + repo: string; + }; + export type PullsCreateReviewParamsDeprecatedNumber = { + /** + * **Required** when using `REQUEST_CHANGES` or `COMMENT` for the `event` parameter. The body text of the pull request review. + */ + body?: string; + /** + * Use the following table to specify the location, destination, and contents of the draft review comment. + */ + comments?: PullsCreateReviewParamsComments[]; + /** + * The SHA of the commit that needs a review. Not using the latest commit SHA may render your review comment outdated if a subsequent commit modifies the line you specify as the `position`. Defaults to the most recent commit in the pull request when you do not specify a value. + */ + commit_id?: string; + /** + * The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. By leaving this blank, you set the review action state to `PENDING`, which means you will need to [submit the pull request review](https://developer.github.com/v3/pulls/reviews/#submit-a-pull-request-review) when you are ready. + */ + event?: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + + owner: string; + + repo: string; + }; + export type PullsCreateReviewParams = { + /** + * **Required** when using `REQUEST_CHANGES` or `COMMENT` for the `event` parameter. The body text of the pull request review. + */ + body?: string; + /** + * Use the following table to specify the location, destination, and contents of the draft review comment. + */ + comments?: PullsCreateReviewParamsComments[]; + /** + * The SHA of the commit that needs a review. Not using the latest commit SHA may render your review comment outdated if a subsequent commit modifies the line you specify as the `position`. Defaults to the most recent commit in the pull request when you do not specify a value. + */ + commit_id?: string; + /** + * The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. By leaving this blank, you set the review action state to `PENDING`, which means you will need to [submit the pull request review](https://developer.github.com/v3/pulls/reviews/#submit-a-pull-request-review) when you are ready. + */ + event?: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; + + owner: string; + + pull_number: number; + + repo: string; + }; + export type PullsCreateReviewCommentReplyParams = { + /** + * The text of the review comment. + */ + body: string; + + comment_id: number; + + owner: string; + + pull_number: number; + + repo: string; + }; + export type PullsCreateReviewRequestParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + + owner: string; + + repo: string; + /** + * An array of user `login`s that will be requested. + */ + reviewers?: string[]; + /** + * An array of team `slug`s that will be requested. + */ + team_reviewers?: string[]; + }; + export type PullsCreateReviewRequestParams = { + owner: string; + + pull_number: number; + + repo: string; + /** + * An array of user `login`s that will be requested. + */ + reviewers?: string[]; + /** + * An array of team `slug`s that will be requested. + */ + team_reviewers?: string[]; + }; + export type PullsDeleteCommentParams = { + comment_id: number; + + owner: string; + + repo: string; + }; + export type PullsDeletePendingReviewParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + + owner: string; + + repo: string; + + review_id: number; + }; + export type PullsDeletePendingReviewParams = { + owner: string; + + pull_number: number; + + repo: string; + + review_id: number; + }; + export type PullsDeleteReviewRequestParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + + owner: string; + + repo: string; + /** + * An array of user `login`s that will be removed. + */ + reviewers?: string[]; + /** + * An array of team `slug`s that will be removed. + */ + team_reviewers?: string[]; + }; + export type PullsDeleteReviewRequestParams = { + owner: string; + + pull_number: number; + + repo: string; + /** + * An array of user `login`s that will be removed. + */ + reviewers?: string[]; + /** + * An array of team `slug`s that will be removed. + */ + team_reviewers?: string[]; + }; + export type PullsDismissReviewParamsDeprecatedNumber = { + /** + * The message for the pull request review dismissal + */ + message: string; + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + + owner: string; + + repo: string; + + review_id: number; + }; + export type PullsDismissReviewParams = { + /** + * The message for the pull request review dismissal + */ + message: string; + + owner: string; + + pull_number: number; + + repo: string; + + review_id: number; + }; + export type PullsGetParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + + owner: string; + + repo: string; + }; + export type PullsGetParams = { + owner: string; + + pull_number: number; + + repo: string; + }; + export type PullsGetCommentParams = { + comment_id: number; + + owner: string; + + repo: string; + }; + export type PullsGetCommentsForReviewParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + + review_id: number; + }; + export type PullsGetCommentsForReviewParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + pull_number: number; + + repo: string; + + review_id: number; + }; + export type PullsGetReviewParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + + owner: string; + + repo: string; + + review_id: number; + }; + export type PullsGetReviewParams = { + owner: string; + + pull_number: number; + + repo: string; + + review_id: number; + }; + export type PullsListParams = { + /** + * Filter pulls by base branch name. Example: `gh-pages`. + */ + base?: string; + /** + * The direction of the sort. Can be either `asc` or `desc`. Default: `desc` when sort is `created` or sort is not specified, otherwise `asc`. + */ + direction?: "asc" | "desc"; + /** + * Filter pulls by head user or head organization and branch name in the format of `user:ref-name` or `organization:ref-name`. For example: `github:new-script-format` or `octocat:test-branch`. + */ + head?: string; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + /** + * What to sort results by. Can be either `created`, `updated`, `popularity` (comment count) or `long-running` (age, filtering by pulls updated in the last month). + */ + sort?: "created" | "updated" | "popularity" | "long-running"; + /** + * Either `open`, `closed`, or `all` to filter by state. + */ + state?: "open" | "closed" | "all"; + }; + export type PullsListCommentsParamsDeprecatedNumber = { + /** + * Can be either `asc` or `desc`. Ignored without `sort` parameter. + */ + direction?: "asc" | "desc"; + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + /** + * This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Only returns comments `updated` at or after this time. + */ + since?: string; + /** + * Can be either `created` or `updated` comments. + */ + sort?: "created" | "updated"; + }; + export type PullsListCommentsParams = { + /** + * Can be either `asc` or `desc`. Ignored without `sort` parameter. + */ + direction?: "asc" | "desc"; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + pull_number: number; + + repo: string; + /** + * This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Only returns comments `updated` at or after this time. + */ + since?: string; + /** + * Can be either `created` or `updated` comments. + */ + sort?: "created" | "updated"; + }; + export type PullsListCommentsForRepoParams = { + /** + * Can be either `asc` or `desc`. Ignored without `sort` parameter. + */ + direction?: "asc" | "desc"; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + /** + * This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Only returns comments `updated` at or after this time. + */ + since?: string; + /** + * Can be either `created` or `updated` comments. + */ + sort?: "created" | "updated"; + }; + export type PullsListCommitsParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type PullsListCommitsParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + pull_number: number; + + repo: string; + }; + export type PullsListFilesParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type PullsListFilesParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + pull_number: number; + + repo: string; + }; + export type PullsListReviewRequestsParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type PullsListReviewRequestsParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + pull_number: number; + + repo: string; + }; + export type PullsListReviewsParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type PullsListReviewsParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + pull_number: number; + + repo: string; + }; + export type PullsMergeParamsDeprecatedNumber = { + /** + * Extra detail to append to automatic commit message. + */ + commit_message?: string; + /** + * Title for the automatic commit message. + */ + commit_title?: string; + /** + * Merge method to use. Possible values are `merge`, `squash` or `rebase`. Default is `merge`. + */ + merge_method?: "merge" | "squash" | "rebase"; + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + + owner: string; + + repo: string; + /** + * SHA that pull request head must match to allow merge. + */ + sha?: string; + }; + export type PullsMergeParams = { + /** + * Extra detail to append to automatic commit message. + */ + commit_message?: string; + /** + * Title for the automatic commit message. + */ + commit_title?: string; + /** + * Merge method to use. Possible values are `merge`, `squash` or `rebase`. Default is `merge`. + */ + merge_method?: "merge" | "squash" | "rebase"; + + owner: string; + + pull_number: number; + + repo: string; + /** + * SHA that pull request head must match to allow merge. + */ + sha?: string; + }; + export type PullsSubmitReviewParamsDeprecatedNumber = { + /** + * The body text of the pull request review + */ + body?: string; + /** + * The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. When you leave this blank, the API returns _HTTP 422 (Unrecognizable entity)_ and sets the review action state to `PENDING`, which means you will need to re-submit the pull request review using a review action. + */ + event: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + + owner: string; + + repo: string; + + review_id: number; + }; + export type PullsSubmitReviewParams = { + /** + * The body text of the pull request review + */ + body?: string; + /** + * The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. When you leave this blank, the API returns _HTTP 422 (Unrecognizable entity)_ and sets the review action state to `PENDING`, which means you will need to re-submit the pull request review using a review action. + */ + event: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; + + owner: string; + + pull_number: number; + + repo: string; + + review_id: number; + }; + export type PullsUpdateParamsDeprecatedNumber = { + /** + * The name of the branch you want your changes pulled into. This should be an existing branch on the current repository. You cannot update the base branch on a pull request to point to another repository. + */ + base?: string; + /** + * The contents of the pull request. + */ + body?: string; + /** + * Indicates whether [maintainers can modify](https://help.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request. + */ + maintainer_can_modify?: boolean; + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + + owner: string; + + repo: string; + /** + * State of this Pull Request. Either `open` or `closed`. + */ + state?: "open" | "closed"; + /** + * The title of the pull request. + */ + title?: string; + }; + export type PullsUpdateParams = { + /** + * The name of the branch you want your changes pulled into. This should be an existing branch on the current repository. You cannot update the base branch on a pull request to point to another repository. + */ + base?: string; + /** + * The contents of the pull request. + */ + body?: string; + /** + * Indicates whether [maintainers can modify](https://help.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request. + */ + maintainer_can_modify?: boolean; + + owner: string; + + pull_number: number; + + repo: string; + /** + * State of this Pull Request. Either `open` or `closed`. + */ + state?: "open" | "closed"; + /** + * The title of the pull request. + */ + title?: string; + }; + export type PullsUpdateBranchParams = { + /** + * The expected SHA of the pull request's HEAD ref. This is the most recent commit on the pull request's branch. If the expected SHA does not match the pull request's HEAD, you will receive a `422 Unprocessable Entity` status. You can use the "[List commits on a repository](https://developer.github.com/v3/repos/commits/#list-commits-on-a-repository)" endpoint to find the most recent commit SHA. Default: SHA of the pull request's current HEAD ref. + */ + expected_head_sha?: string; + + owner: string; + + pull_number: number; + + repo: string; + }; + export type PullsUpdateCommentParams = { + /** + * The text of the reply to the review comment. + */ + body: string; + + comment_id: number; + + owner: string; + + repo: string; + }; + export type PullsUpdateReviewParamsDeprecatedNumber = { + /** + * The body text of the pull request review. + */ + body: string; + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + + owner: string; + + repo: string; + + review_id: number; + }; + export type PullsUpdateReviewParams = { + /** + * The body text of the pull request review. + */ + body: string; + + owner: string; + + pull_number: number; + + repo: string; + + review_id: number; + }; + export type ReactionsCreateForCommitCommentParams = { + comment_id: number; + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the commit comment. + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + + owner: string; + + repo: string; + }; + export type ReactionsCreateForIssueParamsDeprecatedNumber = { + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the issue. + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + + owner: string; + + repo: string; + }; + export type ReactionsCreateForIssueParams = { + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the issue. + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + + issue_number: number; + + owner: string; + + repo: string; + }; + export type ReactionsCreateForIssueCommentParams = { + comment_id: number; + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the issue comment. + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + + owner: string; + + repo: string; + }; + export type ReactionsCreateForPullRequestReviewCommentParams = { + comment_id: number; + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the pull request review comment. + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + + owner: string; + + repo: string; + }; + export type ReactionsCreateForTeamDiscussionParams = { + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the team discussion. + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + + discussion_number: number; + + team_id: number; + }; + export type ReactionsCreateForTeamDiscussionCommentParams = { + comment_number: number; + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the team discussion comment. + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + + discussion_number: number; + + team_id: number; + }; + export type ReactionsCreateForTeamDiscussionCommentInOrgParams = { + comment_number: number; + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the team discussion comment. + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + + discussion_number: number; + + org: string; + + team_slug: string; + }; + export type ReactionsCreateForTeamDiscussionCommentLegacyParams = { + comment_number: number; + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the team discussion comment. + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + + discussion_number: number; + + team_id: number; + }; + export type ReactionsCreateForTeamDiscussionInOrgParams = { + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the team discussion. + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + + discussion_number: number; + + org: string; + + team_slug: string; + }; + export type ReactionsCreateForTeamDiscussionLegacyParams = { + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the team discussion. + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + + discussion_number: number; + + team_id: number; + }; + export type ReactionsDeleteParams = { + reaction_id: number; + }; + export type ReactionsListForCommitCommentParams = { + comment_id: number; + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to a commit comment. + */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ReactionsListForIssueParamsDeprecatedNumber = { + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to an issue. + */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ReactionsListForIssueParams = { + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to an issue. + */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + + issue_number: number; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ReactionsListForIssueCommentParams = { + comment_id: number; + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to an issue comment. + */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ReactionsListForPullRequestReviewCommentParams = { + comment_id: number; + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to a pull request review comment. + */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ReactionsListForTeamDiscussionParams = { + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to a team discussion. + */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + + discussion_number: number; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + team_id: number; + }; + export type ReactionsListForTeamDiscussionCommentParams = { + comment_number: number; + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to a team discussion comment. + */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + + discussion_number: number; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + team_id: number; + }; + export type ReactionsListForTeamDiscussionCommentInOrgParams = { + comment_number: number; + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to a team discussion comment. + */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + + discussion_number: number; + + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + team_slug: string; + }; + export type ReactionsListForTeamDiscussionCommentLegacyParams = { + comment_number: number; + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to a team discussion comment. + */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + + discussion_number: number; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + team_id: number; + }; + export type ReactionsListForTeamDiscussionInOrgParams = { + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to a team discussion. + */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + + discussion_number: number; + + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + team_slug: string; + }; + export type ReactionsListForTeamDiscussionLegacyParams = { + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to a team discussion. + */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + + discussion_number: number; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + team_id: number; + }; + export type ReposAcceptInvitationParams = { + invitation_id: number; + }; + export type ReposAddCollaboratorParams = { + owner: string; + /** + * The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: + * \* `pull` - can pull, but not push to or administer this repository. + * \* `push` - can pull and push, but not administer this repository. + * \* `admin` - can pull, push and administer this repository. + */ + permission?: "pull" | "push" | "admin"; + + repo: string; + + username: string; + }; + export type ReposAddDeployKeyParams = { + /** + * The contents of the key. + */ + key: string; + + owner: string; + /** + * If `true`, the key will only be able to read repository contents. Otherwise, the key will be able to read and write. + * + * Deploy keys with write access can perform the same actions as an organization member with admin access, or a collaborator on a personal repository. For more information, see "[Repository permission levels for an organization](https://help.github.com/articles/repository-permission-levels-for-an-organization/)" and "[Permission levels for a user account repository](https://help.github.com/articles/permission-levels-for-a-user-account-repository/)." + */ + read_only?: boolean; + + repo: string; + /** + * A name for the key. + */ + title?: string; + }; + export type ReposAddProtectedBranchAdminEnforcementParams = { + branch: string; + + owner: string; + + repo: string; + }; + export type ReposAddProtectedBranchAppRestrictionsParams = { + apps: string[]; + + branch: string; + + owner: string; + + repo: string; + }; + export type ReposAddProtectedBranchRequiredSignaturesParams = { + branch: string; + + owner: string; + + repo: string; + }; + export type ReposAddProtectedBranchRequiredStatusChecksContextsParams = { + branch: string; + + contexts: string[]; + + owner: string; + + repo: string; + }; + export type ReposAddProtectedBranchTeamRestrictionsParams = { + branch: string; + + owner: string; + + repo: string; + + teams: string[]; + }; + export type ReposAddProtectedBranchUserRestrictionsParams = { + branch: string; + + owner: string; + + repo: string; + + users: string[]; + }; + export type ReposCheckCollaboratorParams = { + owner: string; + + repo: string; + + username: string; + }; + export type ReposCheckVulnerabilityAlertsParams = { + owner: string; + + repo: string; + }; + export type ReposCompareCommitsParams = { + base: string; + + head: string; + + owner: string; + + repo: string; + }; + export type ReposCreateCommitCommentParamsDeprecatedSha = { + /** + * The contents of the comment. + */ + body: string; + + owner: string; + /** + * Relative path of the file to comment on. + */ + path?: string; + /** + * Line index in the diff to comment on. + */ + position?: number; + + repo: string; + /** + * @deprecated "sha" parameter renamed to "commit_sha" + */ + sha: string; + }; + export type ReposCreateCommitCommentParamsDeprecatedLine = { + /** + * The contents of the comment. + */ + body: string; + + commit_sha: string; + /** + * **Deprecated**. Use **position** parameter instead. Line number in the file to comment on. + * @deprecated "line" parameter has been deprecated and will be removed in future + */ + line?: number; + + owner: string; + /** + * Relative path of the file to comment on. + */ + path?: string; + /** + * Line index in the diff to comment on. + */ + position?: number; + + repo: string; + }; + export type ReposCreateCommitCommentParams = { + /** + * The contents of the comment. + */ + body: string; + + commit_sha: string; + + owner: string; + /** + * Relative path of the file to comment on. + */ + path?: string; + /** + * Line index in the diff to comment on. + */ + position?: number; + + repo: string; + }; + export type ReposCreateDeploymentParams = { + /** + * Attempts to automatically merge the default branch into the requested ref, if it's behind the default branch. + */ + auto_merge?: boolean; + /** + * Short description of the deployment. + */ + description?: string; + /** + * Name for the target deployment environment (e.g., `production`, `staging`, `qa`). + */ + environment?: string; + + owner: string; + /** + * JSON payload with extra information about the deployment. + */ + payload?: string; + /** + * Specifies if the given environment is one that end-users directly interact with. Default: `true` when `environment` is `production` and `false` otherwise. + * **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. + */ + production_environment?: boolean; + /** + * The ref to deploy. This can be a branch, tag, or SHA. + */ + ref: string; + + repo: string; + /** + * The [status](https://developer.github.com/v3/repos/statuses/) contexts to verify against commit status checks. If you omit this parameter, GitHub verifies all unique contexts before creating a deployment. To bypass checking entirely, pass an empty array. Defaults to all unique contexts. + */ + required_contexts?: string[]; + /** + * Specifies a task to execute (e.g., `deploy` or `deploy:migrations`). + */ + task?: string; + /** + * Specifies if the given environment is specific to the deployment and will no longer exist at some point in the future. Default: `false` + * **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. + */ + transient_environment?: boolean; + }; + export type ReposCreateDeploymentStatusParams = { + /** + * Adds a new `inactive` status to all prior non-transient, non-production environment deployments with the same repository and `environment` name as the created status's deployment. An `inactive` status is only added to deployments that had a `success` state. Default: `true` + * **Note:** To add an `inactive` status to `production` environments, you must use the [`application/vnd.github.flash-preview+json`](https://developer.github.com/v3/previews/#deployment-statuses) custom media type. + * **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. + */ + auto_inactive?: boolean; + + deployment_id: number; + /** + * A short description of the status. The maximum description length is 140 characters. + */ + description?: string; + /** + * Name for the target deployment environment, which can be changed when setting a deploy status. For example, `production`, `staging`, or `qa`. **Note:** This parameter requires you to use the [`application/vnd.github.flash-preview+json`](https://developer.github.com/v3/previews/#deployment-statuses) custom media type. + */ + environment?: "production" | "staging" | "qa"; + /** + * Sets the URL for accessing your environment. Default: `""` + * **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. + */ + environment_url?: string; + /** + * The full URL of the deployment's output. This parameter replaces `target_url`. We will continue to accept `target_url` to support legacy uses, but we recommend replacing `target_url` with `log_url`. Setting `log_url` will automatically set `target_url` to the same value. Default: `""` + * **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. + */ + log_url?: string; + + owner: string; + + repo: string; + /** + * The state of the status. Can be one of `error`, `failure`, `inactive`, `in_progress`, `queued` `pending`, or `success`. **Note:** To use the `inactive` state, you must provide the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. To use the `in_progress` and `queued` states, you must provide the [`application/vnd.github.flash-preview+json`](https://developer.github.com/v3/previews/#deployment-statuses) custom media type. + */ + state: + | "error" + | "failure" + | "inactive" + | "in_progress" + | "queued" + | "pending" + | "success"; + /** + * The target URL to associate with this status. This URL should contain output to keep the user updated while the task is running or serve as historical information for what happened in the deployment. **Note:** It's recommended to use the `log_url` parameter, which replaces `target_url`. + */ + target_url?: string; + }; + export type ReposCreateDispatchEventParams = { + /** + * JSON payload with extra information about the webhook event that your action or worklow may use. + */ + client_payload?: ReposCreateDispatchEventParamsClientPayload; + /** + * **Required:** A custom webhook event name. + */ + event_type?: string; + + owner: string; + + repo: string; + }; + export type ReposCreateFileParams = { + /** + * The author of the file. Default: The `committer` or the authenticated user if you omit `committer`. + */ + author?: ReposCreateFileParamsAuthor; + /** + * The branch name. Default: the repository’s default branch (usually `master`) + */ + branch?: string; + /** + * The person that committed the file. Default: the authenticated user. + */ + committer?: ReposCreateFileParamsCommitter; + /** + * The new file content, using Base64 encoding. + */ + content: string; + /** + * The commit message. + */ + message: string; + + owner: string; + + path: string; + + repo: string; + /** + * **Required if you are updating a file**. The blob SHA of the file being replaced. + */ + sha?: string; + }; + export type ReposCreateForAuthenticatedUserParams = { + /** + * Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. + */ + allow_merge_commit?: boolean; + /** + * Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. + */ + allow_rebase_merge?: boolean; + /** + * Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. + */ + allow_squash_merge?: boolean; + /** + * Pass `true` to create an initial commit with empty README. + */ + auto_init?: boolean; + /** + * Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. + */ + delete_branch_on_merge?: boolean; + /** + * A short description of the repository. + */ + description?: string; + /** + * Desired language or platform [.gitignore template](https://github.com/github/gitignore) to apply. Use the name of the template without the extension. For example, "Haskell". + */ + gitignore_template?: string; + /** + * Either `true` to enable issues for this repository or `false` to disable them. + */ + has_issues?: boolean; + /** + * Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error. + */ + has_projects?: boolean; + /** + * Either `true` to enable the wiki for this repository or `false` to disable it. + */ + has_wiki?: boolean; + /** + * A URL with more information about the repository. + */ + homepage?: string; + /** + * Either `true` to make this repo available as a template repository or `false` to prevent it. + */ + is_template?: boolean; + /** + * Choose an [open source license template](https://choosealicense.com/) that best suits your needs, and then use the [license keyword](https://help.github.com/articles/licensing-a-repository/#searching-github-by-license-type) as the `license_template` string. For example, "mit" or "mpl-2.0". + */ + license_template?: string; + /** + * The name of the repository. + */ + name: string; + /** + * Either `true` to create a private repository or `false` to create a public one. Creating private repositories requires a paid GitHub account. + */ + private?: boolean; + /** + * The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization. + */ + team_id?: number; + /** + * Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud, `visibility` can also be `internal`. For more information, see "[Creating an internal repository](https://help.github.com/github/creating-cloning-and-archiving-repositories/creating-an-internal-repository)" in the GitHub Help documentation. + * The `visibility` parameter overrides the `private` parameter when you use both parameters with the `nebula-preview` preview header. + */ + visibility?: "public" | "private" | "visibility" | "internal"; + }; + export type ReposCreateForkParams = { + /** + * Optional parameter to specify the organization name if forking into an organization. + */ + organization?: string; + + owner: string; + + repo: string; + }; + export type ReposCreateHookParams = { + /** + * Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + */ + active?: boolean; + /** + * Key/value pairs to provide settings for this webhook. [These are defined below](https://developer.github.com/v3/repos/hooks/#create-hook-config-params). + */ + config: ReposCreateHookParamsConfig; + /** + * Determines what [events](https://developer.github.com/v3/activity/events/types/) the hook is triggered for. + */ + events?: string[]; + /** + * Use `web` to create a webhook. Default: `web`. This parameter only accepts the value `web`. + */ + name?: string; + + owner: string; + + repo: string; + }; + export type ReposCreateInOrgParams = { + /** + * Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. + */ + allow_merge_commit?: boolean; + /** + * Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. + */ + allow_rebase_merge?: boolean; + /** + * Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. + */ + allow_squash_merge?: boolean; + /** + * Pass `true` to create an initial commit with empty README. + */ + auto_init?: boolean; + /** + * Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. + */ + delete_branch_on_merge?: boolean; + /** + * A short description of the repository. + */ + description?: string; + /** + * Desired language or platform [.gitignore template](https://github.com/github/gitignore) to apply. Use the name of the template without the extension. For example, "Haskell". + */ + gitignore_template?: string; + /** + * Either `true` to enable issues for this repository or `false` to disable them. + */ + has_issues?: boolean; + /** + * Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error. + */ + has_projects?: boolean; + /** + * Either `true` to enable the wiki for this repository or `false` to disable it. + */ + has_wiki?: boolean; + /** + * A URL with more information about the repository. + */ + homepage?: string; + /** + * Either `true` to make this repo available as a template repository or `false` to prevent it. + */ + is_template?: boolean; + /** + * Choose an [open source license template](https://choosealicense.com/) that best suits your needs, and then use the [license keyword](https://help.github.com/articles/licensing-a-repository/#searching-github-by-license-type) as the `license_template` string. For example, "mit" or "mpl-2.0". + */ + license_template?: string; + /** + * The name of the repository. + */ + name: string; + + org: string; + /** + * Either `true` to create a private repository or `false` to create a public one. Creating private repositories requires a paid GitHub account. + */ + private?: boolean; + /** + * The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization. + */ + team_id?: number; + /** + * Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud, `visibility` can also be `internal`. For more information, see "[Creating an internal repository](https://help.github.com/github/creating-cloning-and-archiving-repositories/creating-an-internal-repository)" in the GitHub Help documentation. + * The `visibility` parameter overrides the `private` parameter when you use both parameters with the `nebula-preview` preview header. + */ + visibility?: "public" | "private" | "visibility" | "internal"; + }; + export type ReposCreateOrUpdateFileParams = { + /** + * The author of the file. Default: The `committer` or the authenticated user if you omit `committer`. + */ + author?: ReposCreateOrUpdateFileParamsAuthor; + /** + * The branch name. Default: the repository’s default branch (usually `master`) + */ + branch?: string; + /** + * The person that committed the file. Default: the authenticated user. + */ + committer?: ReposCreateOrUpdateFileParamsCommitter; + /** + * The new file content, using Base64 encoding. + */ + content: string; + /** + * The commit message. + */ + message: string; + + owner: string; + + path: string; + + repo: string; + /** + * **Required if you are updating a file**. The blob SHA of the file being replaced. + */ + sha?: string; + }; + export type ReposCreateReleaseParams = { + /** + * Text describing the contents of the tag. + */ + body?: string; + /** + * `true` to create a draft (unpublished) release, `false` to create a published one. + */ + draft?: boolean; + /** + * The name of the release. + */ + name?: string; + + owner: string; + /** + * `true` to identify the release as a prerelease. `false` to identify the release as a full release. + */ + prerelease?: boolean; + + repo: string; + /** + * The name of the tag. + */ + tag_name: string; + /** + * Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch (usually `master`). + */ + target_commitish?: string; + }; + export type ReposCreateStatusParams = { + /** + * A string label to differentiate this status from the status of other systems. + */ + context?: string; + /** + * A short description of the status. + */ + description?: string; + + owner: string; + + repo: string; + + sha: string; + /** + * The state of the status. Can be one of `error`, `failure`, `pending`, or `success`. + */ + state: "error" | "failure" | "pending" | "success"; + /** + * The target URL to associate with this status. This URL will be linked from the GitHub UI to allow users to easily see the source of the status. + * For example, if your continuous integration system is posting build status, you would want to provide the deep link for the build output for this specific SHA: + * `http://ci.example.com/user/repo/build/sha` + */ + target_url?: string; + }; + export type ReposCreateUsingTemplateParams = { + /** + * A short description of the new repository. + */ + description?: string; + /** + * The name of the new repository. + */ + name: string; + /** + * The organization or person who will own the new repository. To create a new repository in an organization, the authenticated user must be a member of the specified organization. + */ + owner?: string; + /** + * Either `true` to create a new private repository or `false` to create a new public one. + */ + private?: boolean; + + template_owner: string; + + template_repo: string; + }; + export type ReposDeclineInvitationParams = { + invitation_id: number; + }; + export type ReposDeleteParams = { + owner: string; + + repo: string; + }; + export type ReposDeleteCommitCommentParams = { + comment_id: number; + + owner: string; + + repo: string; + }; + export type ReposDeleteDownloadParams = { + download_id: number; + + owner: string; + + repo: string; + }; + export type ReposDeleteFileParams = { + /** + * object containing information about the author. + */ + author?: ReposDeleteFileParamsAuthor; + /** + * The branch name. Default: the repository’s default branch (usually `master`) + */ + branch?: string; + /** + * object containing information about the committer. + */ + committer?: ReposDeleteFileParamsCommitter; + /** + * The commit message. + */ + message: string; + + owner: string; + + path: string; + + repo: string; + /** + * The blob SHA of the file being replaced. + */ + sha: string; + }; + export type ReposDeleteHookParams = { + hook_id: number; + + owner: string; + + repo: string; + }; + export type ReposDeleteInvitationParams = { + invitation_id: number; + + owner: string; + + repo: string; + }; + export type ReposDeleteReleaseParams = { + owner: string; + + release_id: number; + + repo: string; + }; + export type ReposDeleteReleaseAssetParams = { + asset_id: number; + + owner: string; + + repo: string; + }; + export type ReposDisableAutomatedSecurityFixesParams = { + owner: string; + + repo: string; + }; + export type ReposDisablePagesSiteParams = { + owner: string; + + repo: string; + }; + export type ReposDisableVulnerabilityAlertsParams = { + owner: string; + + repo: string; + }; + export type ReposEnableAutomatedSecurityFixesParams = { + owner: string; + + repo: string; + }; + export type ReposEnablePagesSiteParams = { + owner: string; + + repo: string; + + source?: ReposEnablePagesSiteParamsSource; + }; + export type ReposEnableVulnerabilityAlertsParams = { + owner: string; + + repo: string; + }; + export type ReposGetParams = { + owner: string; + + repo: string; + }; + export type ReposGetAppsWithAccessToProtectedBranchParams = { + branch: string; + + owner: string; + + repo: string; + }; + export type ReposGetArchiveLinkParams = { + archive_format: string; + + owner: string; + + ref: string; + + repo: string; + }; + export type ReposGetBranchParams = { + branch: string; + + owner: string; + + repo: string; + }; + export type ReposGetBranchProtectionParams = { + branch: string; + + owner: string; + + repo: string; + }; + export type ReposGetClonesParams = { + owner: string; + /** + * Must be one of: `day`, `week`. + */ + per?: "day" | "week"; + + repo: string; + }; + export type ReposGetCodeFrequencyStatsParams = { + owner: string; + + repo: string; + }; + export type ReposGetCollaboratorPermissionLevelParams = { + owner: string; + + repo: string; + + username: string; + }; + export type ReposGetCombinedStatusForRefParams = { + owner: string; + + ref: string; + + repo: string; + }; + export type ReposGetCommitParamsDeprecatedSha = { + owner: string; + + repo: string; + /** + * @deprecated "sha" parameter renamed to "ref" + */ + sha: string; + }; + export type ReposGetCommitParamsDeprecatedCommitSha = { + /** + * @deprecated "commit_sha" parameter renamed to "ref" + */ + commit_sha: string; + + owner: string; + + repo: string; + }; + export type ReposGetCommitParams = { + owner: string; + + ref: string; + + repo: string; + }; + export type ReposGetCommitActivityStatsParams = { + owner: string; + + repo: string; + }; + export type ReposGetCommitCommentParams = { + comment_id: number; + + owner: string; + + repo: string; + }; + export type ReposGetCommitRefShaParams = { + owner: string; + + ref: string; + + repo: string; + }; + export type ReposGetContentsParams = { + owner: string; + + path: string; + /** + * The name of the commit/branch/tag. Default: the repository’s default branch (usually `master`) + */ + ref?: string; + + repo: string; + }; + export type ReposGetContributorsStatsParams = { + owner: string; + + repo: string; + }; + export type ReposGetDeployKeyParams = { + key_id: number; + + owner: string; + + repo: string; + }; + export type ReposGetDeploymentParams = { + deployment_id: number; + + owner: string; + + repo: string; + }; + export type ReposGetDeploymentStatusParams = { + deployment_id: number; + + owner: string; + + repo: string; + + status_id: number; + }; + export type ReposGetDownloadParams = { + download_id: number; + + owner: string; + + repo: string; + }; + export type ReposGetHookParams = { + hook_id: number; + + owner: string; + + repo: string; + }; + export type ReposGetLatestPagesBuildParams = { + owner: string; + + repo: string; + }; + export type ReposGetLatestReleaseParams = { + owner: string; + + repo: string; + }; + export type ReposGetPagesParams = { + owner: string; + + repo: string; + }; + export type ReposGetPagesBuildParams = { + build_id: number; + + owner: string; + + repo: string; + }; + export type ReposGetParticipationStatsParams = { + owner: string; + + repo: string; + }; + export type ReposGetProtectedBranchAdminEnforcementParams = { + branch: string; + + owner: string; + + repo: string; + }; + export type ReposGetProtectedBranchPullRequestReviewEnforcementParams = { + branch: string; + + owner: string; + + repo: string; + }; + export type ReposGetProtectedBranchRequiredSignaturesParams = { + branch: string; + + owner: string; + + repo: string; + }; + export type ReposGetProtectedBranchRequiredStatusChecksParams = { + branch: string; + + owner: string; + + repo: string; + }; + export type ReposGetProtectedBranchRestrictionsParams = { + branch: string; + + owner: string; + + repo: string; + }; + export type ReposGetPunchCardStatsParams = { + owner: string; + + repo: string; + }; + export type ReposGetReadmeParams = { + owner: string; + /** + * The name of the commit/branch/tag. Default: the repository’s default branch (usually `master`) + */ + ref?: string; + + repo: string; + }; + export type ReposGetReleaseParams = { + owner: string; + + release_id: number; + + repo: string; + }; + export type ReposGetReleaseAssetParams = { + asset_id: number; + + owner: string; + + repo: string; + }; + export type ReposGetReleaseByTagParams = { + owner: string; + + repo: string; + + tag: string; + }; + export type ReposGetTeamsWithAccessToProtectedBranchParams = { + branch: string; + + owner: string; + + repo: string; + }; + export type ReposGetTopPathsParams = { + owner: string; + + repo: string; + }; + export type ReposGetTopReferrersParams = { + owner: string; + + repo: string; + }; + export type ReposGetUsersWithAccessToProtectedBranchParams = { + branch: string; + + owner: string; + + repo: string; + }; + export type ReposGetViewsParams = { + owner: string; + /** + * Must be one of: `day`, `week`. + */ + per?: "day" | "week"; + + repo: string; + }; + export type ReposListParams = { + /** + * Comma-separated list of values. Can include: + * \* `owner`: Repositories that are owned by the authenticated user. + * \* `collaborator`: Repositories that the user has been added to as a collaborator. + * \* `organization_member`: Repositories that the user has access to through being a member of an organization. This includes every repository on every team that the user is on. + */ + affiliation?: string; + /** + * Can be one of `asc` or `desc`. Default: `asc` when using `full_name`, otherwise `desc` + */ + direction?: "asc" | "desc"; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Can be one of `created`, `updated`, `pushed`, `full_name`. + */ + sort?: "created" | "updated" | "pushed" | "full_name"; + /** + * Can be one of `all`, `owner`, `public`, `private`, `member`. Default: `all` + * + * Will cause a `422` error if used in the same request as **visibility** or **affiliation**. Will cause a `422` error if used in the same request as **visibility** or **affiliation**. + */ + type?: "all" | "owner" | "public" | "private" | "member"; + /** + * Can be one of `all`, `public`, or `private`. + */ + visibility?: "all" | "public" | "private"; + }; + export type ReposListAppsWithAccessToProtectedBranchParams = { + branch: string; + + owner: string; + + repo: string; + }; + export type ReposListAssetsForReleaseParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + release_id: number; + + repo: string; + }; + export type ReposListBranchesParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Setting to `true` returns only protected branches. When set to `false`, only unprotected branches are returned. Omitting this parameter returns all branches. + */ + protected?: boolean; + + repo: string; + }; + export type ReposListBranchesForHeadCommitParams = { + commit_sha: string; + + owner: string; + + repo: string; + }; + export type ReposListCollaboratorsParams = { + /** + * Filter collaborators returned by their affiliation. Can be one of: + * \* `outside`: All outside collaborators of an organization-owned repository. + * \* `direct`: All collaborators with permissions to an organization-owned repository, regardless of organization membership status. + * \* `all`: All collaborators the authenticated user can see. + */ + affiliation?: "outside" | "direct" | "all"; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ReposListCommentsForCommitParamsDeprecatedRef = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * @deprecated "ref" parameter renamed to "commit_sha" + */ + ref: string; + + repo: string; + }; + export type ReposListCommentsForCommitParams = { + commit_sha: string; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ReposListCommitCommentsParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ReposListCommitsParams = { + /** + * GitHub login or email address by which to filter by commit author. + */ + author?: string; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Only commits containing this file path will be returned. + */ + path?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + /** + * SHA or branch to start listing commits from. Default: the repository’s default branch (usually `master`). + */ + sha?: string; + /** + * Only commits after this date will be returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; + /** + * Only commits before this date will be returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + until?: string; + }; + export type ReposListContributorsParams = { + /** + * Set to `1` or `true` to include anonymous contributors in results. + */ + anon?: string; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ReposListDeployKeysParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ReposListDeploymentStatusesParams = { + deployment_id: number; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ReposListDeploymentsParams = { + /** + * The name of the environment that was deployed to (e.g., `staging` or `production`). + */ + environment?: string; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * The name of the ref. This can be a branch, tag, or SHA. + */ + ref?: string; + + repo: string; + /** + * The SHA recorded at creation time. + */ + sha?: string; + /** + * The name of the task for the deployment (e.g., `deploy` or `deploy:migrations`). + */ + task?: string; + }; + export type ReposListDownloadsParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ReposListForOrgParams = { + /** + * Can be one of `asc` or `desc`. Default: when using `full_name`: `asc`, otherwise `desc` + */ + direction?: "asc" | "desc"; + + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Can be one of `created`, `updated`, `pushed`, `full_name`. + */ + sort?: "created" | "updated" | "pushed" | "full_name"; + /** + * Specifies the types of repositories you want returned. Can be one of `all`, `public`, `private`, `forks`, `sources`, `member`, `internal`. Default: `all`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud, `type` can also be `internal`. + */ + type?: + | "all" + | "public" + | "private" + | "forks" + | "sources" + | "member" + | "internal"; + }; + export type ReposListForUserParams = { + /** + * Can be one of `asc` or `desc`. Default: `asc` when using `full_name`, otherwise `desc` + */ + direction?: "asc" | "desc"; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Can be one of `created`, `updated`, `pushed`, `full_name`. + */ + sort?: "created" | "updated" | "pushed" | "full_name"; + /** + * Can be one of `all`, `owner`, `member`. + */ + type?: "all" | "owner" | "member"; + + username: string; + }; + export type ReposListForksParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + /** + * The sort order. Can be either `newest`, `oldest`, or `stargazers`. + */ + sort?: "newest" | "oldest" | "stargazers"; + }; + export type ReposListHooksParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ReposListInvitationsParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ReposListInvitationsForAuthenticatedUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type ReposListLanguagesParams = { + owner: string; + + repo: string; + }; + export type ReposListPagesBuildsParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ReposListProtectedBranchRequiredStatusChecksContextsParams = { + branch: string; + + owner: string; + + repo: string; + }; + export type ReposListProtectedBranchTeamRestrictionsParams = { + branch: string; + + owner: string; + + repo: string; + }; + export type ReposListProtectedBranchUserRestrictionsParams = { + branch: string; + + owner: string; + + repo: string; + }; + export type ReposListPublicParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * The integer ID of the last repository that you've seen. + */ + since?: number; + }; + export type ReposListPullRequestsAssociatedWithCommitParams = { + commit_sha: string; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ReposListReleasesParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ReposListStatusesForRefParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + ref: string; + + repo: string; + }; + export type ReposListTagsParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ReposListTeamsParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ReposListTeamsWithAccessToProtectedBranchParams = { + branch: string; + + owner: string; + + repo: string; + }; + export type ReposListTopicsParams = { + owner: string; + + repo: string; + }; + export type ReposListUsersWithAccessToProtectedBranchParams = { + branch: string; + + owner: string; + + repo: string; + }; + export type ReposMergeParams = { + /** + * The name of the base branch that the head will be merged into. + */ + base: string; + /** + * Commit message to use for the merge commit. If omitted, a default message will be used. + */ + commit_message?: string; + /** + * The head to merge. This can be a branch name or a commit SHA1. + */ + head: string; + + owner: string; + + repo: string; + }; + export type ReposPingHookParams = { + hook_id: number; + + owner: string; + + repo: string; + }; + export type ReposRemoveBranchProtectionParams = { + branch: string; + + owner: string; + + repo: string; + }; + export type ReposRemoveCollaboratorParams = { + owner: string; + + repo: string; + + username: string; + }; + export type ReposRemoveDeployKeyParams = { + key_id: number; + + owner: string; + + repo: string; + }; + export type ReposRemoveProtectedBranchAdminEnforcementParams = { + branch: string; + + owner: string; + + repo: string; + }; + export type ReposRemoveProtectedBranchAppRestrictionsParams = { + apps: string[]; + + branch: string; + + owner: string; + + repo: string; + }; + export type ReposRemoveProtectedBranchPullRequestReviewEnforcementParams = { + branch: string; + + owner: string; + + repo: string; + }; + export type ReposRemoveProtectedBranchRequiredSignaturesParams = { + branch: string; + + owner: string; + + repo: string; + }; + export type ReposRemoveProtectedBranchRequiredStatusChecksParams = { + branch: string; + + owner: string; + + repo: string; + }; + export type ReposRemoveProtectedBranchRequiredStatusChecksContextsParams = { + branch: string; + + contexts: string[]; + + owner: string; + + repo: string; + }; + export type ReposRemoveProtectedBranchRestrictionsParams = { + branch: string; + + owner: string; + + repo: string; + }; + export type ReposRemoveProtectedBranchTeamRestrictionsParams = { + branch: string; + + owner: string; + + repo: string; + + teams: string[]; + }; + export type ReposRemoveProtectedBranchUserRestrictionsParams = { + branch: string; + + owner: string; + + repo: string; + + users: string[]; + }; + export type ReposReplaceProtectedBranchAppRestrictionsParams = { + apps: string[]; + + branch: string; + + owner: string; + + repo: string; + }; + export type ReposReplaceProtectedBranchRequiredStatusChecksContextsParams = { + branch: string; + + contexts: string[]; + + owner: string; + + repo: string; + }; + export type ReposReplaceProtectedBranchTeamRestrictionsParams = { + branch: string; + + owner: string; + + repo: string; + + teams: string[]; + }; + export type ReposReplaceProtectedBranchUserRestrictionsParams = { + branch: string; + + owner: string; + + repo: string; + + users: string[]; + }; + export type ReposReplaceTopicsParams = { + /** + * An array of topics to add to the repository. Pass one or more topics to _replace_ the set of existing topics. Send an empty array (`[]`) to clear all topics from the repository. **Note:** Topic `names` cannot contain uppercase letters. + */ + names: string[]; + + owner: string; + + repo: string; + }; + export type ReposRequestPageBuildParams = { + owner: string; + + repo: string; + }; + export type ReposRetrieveCommunityProfileMetricsParams = { + owner: string; + + repo: string; + }; + export type ReposTestPushHookParams = { + hook_id: number; + + owner: string; + + repo: string; + }; + export type ReposTransferParams = { + /** + * **Required:** The username or organization name the repository will be transferred to. + */ + new_owner?: string; + + owner: string; + + repo: string; + /** + * ID of the team or teams to add to the repository. Teams can only be added to organization-owned repositories. + */ + team_ids?: number[]; + }; + export type ReposUpdateParams = { + /** + * Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. + */ + allow_merge_commit?: boolean; + /** + * Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. + */ + allow_rebase_merge?: boolean; + /** + * Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. + */ + allow_squash_merge?: boolean; + /** + * `true` to archive this repository. **Note**: You cannot unarchive repositories through the API. + */ + archived?: boolean; + /** + * Updates the default branch for this repository. + */ + default_branch?: string; + /** + * Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. + */ + delete_branch_on_merge?: boolean; + /** + * A short description of the repository. + */ + description?: string; + /** + * Either `true` to enable issues for this repository or `false` to disable them. + */ + has_issues?: boolean; + /** + * Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error. + */ + has_projects?: boolean; + /** + * Either `true` to enable the wiki for this repository or `false` to disable it. + */ + has_wiki?: boolean; + /** + * A URL with more information about the repository. + */ + homepage?: string; + /** + * Either `true` to make this repo available as a template repository or `false` to prevent it. + */ + is_template?: boolean; + /** + * The name of the repository. + */ + name?: string; + + owner: string; + /** + * Either `true` to make the repository private or `false` to make it public. Creating private repositories requires a paid GitHub account. Default: `false`. + * **Note**: You will get a `422` error if the organization restricts [changing repository visibility](https://help.github.com/articles/repository-permission-levels-for-an-organization#changing-the-visibility-of-repositories) to organization owners and a non-owner tries to change the value of private. **Note**: You will get a `422` error if the organization restricts [changing repository visibility](https://help.github.com/articles/repository-permission-levels-for-an-organization#changing-the-visibility-of-repositories) to organization owners and a non-owner tries to change the value of private. + */ + private?: boolean; + + repo: string; + /** + * Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud, `visibility` can also be `internal`. The `visibility` parameter overrides the `private` parameter when you use both along with the `nebula-preview` preview header. + */ + visibility?: "public" | "private" | "visibility" | "internal"; + }; + export type ReposUpdateBranchProtectionParams = { + /** + * Allows deletion of the protected branch by anyone with write access to the repository. Set to `false` to prevent deletion of the protected branch. Default: `false`. For more information, see "[Enabling force pushes to a protected branch](https://help.github.com/en/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)" in the GitHub Help documentation. + */ + allow_deletions?: boolean; + /** + * Permits force pushes to the protected branch by anyone with write access to the repository. Set to `true` to allow force pushes. Set to `false` or `null` to block force pushes. Default: `false`. For more information, see "[Enabling force pushes to a protected branch](https://help.github.com/en/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)" in the GitHub Help documentation." + */ + allow_force_pushes?: boolean | null; + + branch: string; + /** + * Enforce all configured restrictions for administrators. Set to `true` to enforce required status checks for repository administrators. Set to `null` to disable. + */ + enforce_admins: boolean | null; + + owner: string; + + repo: string; + /** + * Enforces a linear commit Git history, which prevents anyone from pushing merge commits to a branch. Set to `true` to enforce a linear commit history. Set to `false` to disable a linear commit Git history. Your repository must allow squash merging or rebase merging before you can enable a linear commit history. Default: `false`. For more information, see "[Requiring a linear commit history](https://help.github.com/github/administering-a-repository/requiring-a-linear-commit-history)" in the GitHub Help documentation. + */ + required_linear_history?: boolean; + /** + * Require at least one approving review on a pull request, before merging. Set to `null` to disable. + */ + required_pull_request_reviews: ReposUpdateBranchProtectionParamsRequiredPullRequestReviews | null; + /** + * Require status checks to pass before merging. Set to `null` to disable. + */ + required_status_checks: ReposUpdateBranchProtectionParamsRequiredStatusChecks | null; + /** + * Restrict who can push to the protected branch. User, app, and team `restrictions` are only available for organization-owned repositories. Set to `null` to disable. + */ + restrictions: ReposUpdateBranchProtectionParamsRestrictions | null; + }; + export type ReposUpdateCommitCommentParams = { + /** + * The contents of the comment + */ + body: string; + + comment_id: number; + + owner: string; + + repo: string; + }; + export type ReposUpdateFileParams = { + /** + * The author of the file. Default: The `committer` or the authenticated user if you omit `committer`. + */ + author?: ReposUpdateFileParamsAuthor; + /** + * The branch name. Default: the repository’s default branch (usually `master`) + */ + branch?: string; + /** + * The person that committed the file. Default: the authenticated user. + */ + committer?: ReposUpdateFileParamsCommitter; + /** + * The new file content, using Base64 encoding. + */ + content: string; + /** + * The commit message. + */ + message: string; + + owner: string; + + path: string; + + repo: string; + /** + * **Required if you are updating a file**. The blob SHA of the file being replaced. + */ + sha?: string; + }; + export type ReposUpdateHookParams = { + /** + * Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + */ + active?: boolean; + /** + * Determines a list of events to be added to the list of events that the Hook triggers for. + */ + add_events?: string[]; + /** + * Key/value pairs to provide settings for this webhook. [These are defined below](https://developer.github.com/v3/repos/hooks/#create-hook-config-params). + */ + config?: ReposUpdateHookParamsConfig; + /** + * Determines what [events](https://developer.github.com/v3/activity/events/types/) the hook is triggered for. This replaces the entire array of events. + */ + events?: string[]; + + hook_id: number; + + owner: string; + /** + * Determines a list of events to be removed from the list of events that the Hook triggers for. + */ + remove_events?: string[]; + + repo: string; + }; + export type ReposUpdateInformationAboutPagesSiteParams = { + /** + * Specify a custom domain for the repository. Sending a `null` value will remove the custom domain. For more about custom domains, see "[Using a custom domain with GitHub Pages](https://help.github.com/articles/using-a-custom-domain-with-github-pages/)." + */ + cname?: string; + + owner: string; + + repo: string; + /** + * Update the source for the repository. Must include the branch name, and may optionally specify the subdirectory `/docs`. Possible values are `"gh-pages"`, `"master"`, and `"master /docs"`. + */ + source?: '"gh-pages"' | '"master"' | '"master /docs"'; + }; + export type ReposUpdateInvitationParams = { + invitation_id: number; + + owner: string; + /** + * The permissions that the associated user will have on the repository. Valid values are `read`, `write`, and `admin`. + */ + permissions?: "read" | "write" | "admin"; + + repo: string; + }; + export type ReposUpdateProtectedBranchPullRequestReviewEnforcementParams = { + branch: string; + /** + * Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit. + */ + dismiss_stale_reviews?: boolean; + /** + * Specify which users and teams can dismiss pull request reviews. Pass an empty `dismissal_restrictions` object to disable. User and team `dismissal_restrictions` are only available for organization-owned repositories. Omit this parameter for personal repositories. + */ + dismissal_restrictions?: ReposUpdateProtectedBranchPullRequestReviewEnforcementParamsDismissalRestrictions; + + owner: string; + + repo: string; + /** + * Blocks merging pull requests until [code owners](https://help.github.com/articles/about-code-owners/) have reviewed. + */ + require_code_owner_reviews?: boolean; + /** + * Specifies the number of reviewers required to approve pull requests. Use a number between 1 and 6. + */ + required_approving_review_count?: number; + }; + export type ReposUpdateProtectedBranchRequiredStatusChecksParams = { + branch: string; + /** + * The list of status checks to require in order to merge into this branch + */ + contexts?: string[]; + + owner: string; + + repo: string; + /** + * Require branches to be up to date before merging. + */ + strict?: boolean; + }; + export type ReposUpdateReleaseParams = { + /** + * Text describing the contents of the tag. + */ + body?: string; + /** + * `true` makes the release a draft, and `false` publishes the release. + */ + draft?: boolean; + /** + * The name of the release. + */ + name?: string; + + owner: string; + /** + * `true` to identify the release as a prerelease, `false` to identify the release as a full release. + */ + prerelease?: boolean; + + release_id: number; + + repo: string; + /** + * The name of the tag. + */ + tag_name?: string; + /** + * Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch (usually `master`). + */ + target_commitish?: string; + }; + export type ReposUpdateReleaseAssetParams = { + asset_id: number; + /** + * An alternate short description of the asset. Used in place of the filename. + */ + label?: string; + /** + * The file name of the asset. + */ + name?: string; + + owner: string; + + repo: string; + }; + export type ReposUploadReleaseAssetParamsDeprecatedFile = { + /** + * @deprecated "file" parameter renamed to "data" + */ + file: string | object; + + headers: ReposUploadReleaseAssetParamsHeaders; + /** + * An alternate short description of the asset. Used in place of the filename. This should be set in a URI query parameter. + */ + label?: string; + /** + * The file name of the asset. This should be set in a URI query parameter. + */ + name: string; + /** + * The `upload_url` key returned from creating or getting a release + */ + url: string; + }; + export type ReposUploadReleaseAssetParams = { + data: string | object; + + headers: ReposUploadReleaseAssetParamsHeaders; + /** + * An alternate short description of the asset. Used in place of the filename. This should be set in a URI query parameter. + */ + label?: string; + /** + * The file name of the asset. This should be set in a URI query parameter. + */ + name: string; + /** + * The `upload_url` key returned from creating or getting a release + */ + url: string; + }; + export type SearchCodeParams = { + /** + * Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. + */ + order?: "desc" | "asc"; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). See "[Searching code](https://help.github.com/articles/searching-code/)" for a detailed list of qualifiers. + */ + q: string; + /** + * Sorts the results of your query. Can only be `indexed`, which indicates how recently a file has been indexed by the GitHub search infrastructure. Default: [best match](https://developer.github.com/v3/search/#ranking-search-results) + */ + sort?: "indexed"; + }; + export type SearchCommitsParams = { + /** + * Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. + */ + order?: "desc" | "asc"; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). See "[Searching commits](https://help.github.com/articles/searching-commits/)" for a detailed list of qualifiers. + */ + q: string; + /** + * Sorts the results of your query by `author-date` or `committer-date`. Default: [best match](https://developer.github.com/v3/search/#ranking-search-results) + */ + sort?: "author-date" | "committer-date"; + }; + export type SearchEmailLegacyParams = { + /** + * The email address. + */ + email: string; + }; + export type SearchIssuesParams = { + /** + * Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. + */ + order?: "desc" | "asc"; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). See "[Searching issues and pull requests](https://help.github.com/articles/searching-issues-and-pull-requests/)" for a detailed list of qualifiers. + */ + q: string; + /** + * Sorts the results of your query by the number of `comments`, `reactions`, `reactions-+1`, `reactions--1`, `reactions-smile`, `reactions-thinking_face`, `reactions-heart`, `reactions-tada`, or `interactions`. You can also sort results by how recently the items were `created` or `updated`, Default: [best match](https://developer.github.com/v3/search/#ranking-search-results) + */ + sort?: + | "comments" + | "reactions" + | "reactions-+1" + | "reactions--1" + | "reactions-smile" + | "reactions-thinking_face" + | "reactions-heart" + | "reactions-tada" + | "interactions" + | "created" + | "updated"; + }; + export type SearchIssuesAndPullRequestsParams = { + /** + * Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. + */ + order?: "desc" | "asc"; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). See "[Searching issues and pull requests](https://help.github.com/articles/searching-issues-and-pull-requests/)" for a detailed list of qualifiers. + */ + q: string; + /** + * Sorts the results of your query by the number of `comments`, `reactions`, `reactions-+1`, `reactions--1`, `reactions-smile`, `reactions-thinking_face`, `reactions-heart`, `reactions-tada`, or `interactions`. You can also sort results by how recently the items were `created` or `updated`, Default: [best match](https://developer.github.com/v3/search/#ranking-search-results) + */ + sort?: + | "comments" + | "reactions" + | "reactions-+1" + | "reactions--1" + | "reactions-smile" + | "reactions-thinking_face" + | "reactions-heart" + | "reactions-tada" + | "interactions" + | "created" + | "updated"; + }; + export type SearchIssuesLegacyParams = { + /** + * The search term. + */ + keyword: string; + + owner: string; + + repository: string; + /** + * Indicates the state of the issues to return. Can be either `open` or `closed`. + */ + state: "open" | "closed"; + }; + export type SearchLabelsParams = { + /** + * Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. + */ + order?: "desc" | "asc"; + /** + * The search keywords. This endpoint does not accept qualifiers in the query. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). + */ + q: string; + /** + * The id of the repository. + */ + repository_id: number; + /** + * Sorts the results of your query by when the label was `created` or `updated`. Default: [best match](https://developer.github.com/v3/search/#ranking-search-results) + */ + sort?: "created" | "updated"; + }; + export type SearchReposParams = { + /** + * Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. + */ + order?: "desc" | "asc"; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). See "[Searching for repositories](https://help.github.com/articles/searching-for-repositories/)" for a detailed list of qualifiers. + */ + q: string; + /** + * Sorts the results of your query by number of `stars`, `forks`, or `help-wanted-issues` or how recently the items were `updated`. Default: [best match](https://developer.github.com/v3/search/#ranking-search-results) + */ + sort?: "stars" | "forks" | "help-wanted-issues" | "updated"; + }; + export type SearchReposLegacyParams = { + /** + * The search term. + */ + keyword: string; + /** + * Filter results by language. + */ + language?: string; + /** + * The sort field. if `sort` param is provided. Can be either `asc` or `desc`. + */ + order?: "asc" | "desc"; + /** + * The sort field. One of `stars`, `forks`, or `updated`. Default: results are sorted by best match. + */ + sort?: "stars" | "forks" | "updated"; + /** + * The page number to fetch. + */ + start_page?: string; + }; + export type SearchTopicsParams = { + /** + * The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). + */ + q: string; + }; + export type SearchUsersParams = { + /** + * Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. + */ + order?: "desc" | "asc"; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). See "[Searching users](https://help.github.com/articles/searching-users/)" for a detailed list of qualifiers. + */ + q: string; + /** + * Sorts the results of your query by number of `followers` or `repositories`, or when the person `joined` GitHub. Default: [best match](https://developer.github.com/v3/search/#ranking-search-results) + */ + sort?: "followers" | "repositories" | "joined"; + }; + export type SearchUsersLegacyParams = { + /** + * The search term. + */ + keyword: string; + /** + * The sort field. if `sort` param is provided. Can be either `asc` or `desc`. + */ + order?: "asc" | "desc"; + /** + * The sort field. One of `stars`, `forks`, or `updated`. Default: results are sorted by best match. + */ + sort?: "stars" | "forks" | "updated"; + /** + * The page number to fetch. + */ + start_page?: string; + }; + export type TeamsAddMemberParams = { + team_id: number; + + username: string; + }; + export type TeamsAddMemberLegacyParams = { + team_id: number; + + username: string; + }; + export type TeamsAddOrUpdateMembershipParams = { + /** + * The role that this user should have in the team. Can be one of: + * \* `member` - a normal member of the team. + * \* `maintainer` - a team maintainer. Able to add/remove other team members, promote other team members to team maintainer, and edit the team's name and description. + */ + role?: "member" | "maintainer"; + + team_id: number; + + username: string; + }; + export type TeamsAddOrUpdateMembershipInOrgParams = { + org: string; + /** + * The role that this user should have in the team. Can be one of: + * \* `member` - a normal member of the team. + * \* `maintainer` - a team maintainer. Able to add/remove other team members, promote other team members to team maintainer, and edit the team's name and description. + */ + role?: "member" | "maintainer"; + + team_slug: string; + + username: string; + }; + export type TeamsAddOrUpdateMembershipLegacyParams = { + /** + * The role that this user should have in the team. Can be one of: + * \* `member` - a normal member of the team. + * \* `maintainer` - a team maintainer. Able to add/remove other team members, promote other team members to team maintainer, and edit the team's name and description. + */ + role?: "member" | "maintainer"; + + team_id: number; + + username: string; + }; + export type TeamsAddOrUpdateProjectParams = { + /** + * The permission to grant to the team for this project. Can be one of: + * \* `read` - team members can read, but not write to or administer this project. + * \* `write` - team members can read and write, but not administer this project. + * \* `admin` - team members can read, write and administer this project. + * Default: the team's `permission` attribute will be used to determine what permission to grant the team on this project. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://developer.github.com/v3/#http-verbs)." + */ + permission?: "read" | "write" | "admin"; + + project_id: number; + + team_id: number; + }; + export type TeamsAddOrUpdateProjectInOrgParams = { + org: string; + /** + * The permission to grant to the team for this project. Can be one of: + * \* `read` - team members can read, but not write to or administer this project. + * \* `write` - team members can read and write, but not administer this project. + * \* `admin` - team members can read, write and administer this project. + * Default: the team's `permission` attribute will be used to determine what permission to grant the team on this project. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://developer.github.com/v3/#http-verbs)." + */ + permission?: "read" | "write" | "admin"; + + project_id: number; + + team_slug: string; + }; + export type TeamsAddOrUpdateProjectLegacyParams = { + /** + * The permission to grant to the team for this project. Can be one of: + * \* `read` - team members can read, but not write to or administer this project. + * \* `write` - team members can read and write, but not administer this project. + * \* `admin` - team members can read, write and administer this project. + * Default: the team's `permission` attribute will be used to determine what permission to grant the team on this project. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://developer.github.com/v3/#http-verbs)." + */ + permission?: "read" | "write" | "admin"; + + project_id: number; + + team_id: number; + }; + export type TeamsAddOrUpdateRepoParams = { + owner: string; + /** + * The permission to grant the team on this repository. Can be one of: + * \* `pull` - team members can pull, but not push to or administer this repository. + * \* `push` - team members can pull and push, but not administer this repository. + * \* `admin` - team members can pull, push and administer this repository. + * + * If no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository. + */ + permission?: "pull" | "push" | "admin"; + + repo: string; + + team_id: number; + }; + export type TeamsAddOrUpdateRepoInOrgParams = { + org: string; + + owner: string; + /** + * The permission to grant the team on this repository. Can be one of: + * \* `pull` - team members can pull, but not push to or administer this repository. + * \* `push` - team members can pull and push, but not administer this repository. + * \* `admin` - team members can pull, push and administer this repository. + * + * If no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository. + */ + permission?: "pull" | "push" | "admin"; + + repo: string; + + team_slug: string; + }; + export type TeamsAddOrUpdateRepoLegacyParams = { + owner: string; + /** + * The permission to grant the team on this repository. Can be one of: + * \* `pull` - team members can pull, but not push to or administer this repository. + * \* `push` - team members can pull and push, but not administer this repository. + * \* `admin` - team members can pull, push and administer this repository. + * + * If no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository. + */ + permission?: "pull" | "push" | "admin"; + + repo: string; + + team_id: number; + }; + export type TeamsCheckManagesRepoParams = { + owner: string; + + repo: string; + + team_id: number; + }; + export type TeamsCheckManagesRepoInOrgParams = { + org: string; + + owner: string; + + repo: string; + + team_slug: string; + }; + export type TeamsCheckManagesRepoLegacyParams = { + owner: string; + + repo: string; + + team_id: number; + }; + export type TeamsCreateParamsDeprecatedPermission = { + /** + * The description of the team. + */ + description?: string; + /** + * List GitHub IDs for organization members who will become team maintainers. + */ + maintainers?: string[]; + /** + * The name of the team. + */ + name: string; + + org: string; + /** + * The ID of a team to set as the parent team. + */ + parent_team_id?: number; + /** + * **Deprecated**. The permission that new repositories will be added to the team with when none is specified. Can be one of: + * \* `pull` - team members can pull, but not push to or administer newly-added repositories. + * \* `push` - team members can pull and push, but not administer newly-added repositories. + * \* `admin` - team members can pull, push and administer newly-added repositories. + * @deprecated "permission" parameter has been deprecated and will be removed in future + */ + permission?: string; + /** + * The level of privacy this team should have. The options are: + * **For a non-nested team:** + * \* `secret` - only visible to organization owners and members of this team. + * \* `closed` - visible to all members of this organization. + * Default: `secret` + * **For a parent or child team:** + * \* `closed` - visible to all members of this organization. + * Default for child team: `closed` + */ + privacy?: "secret" | "closed"; + /** + * The full name (e.g., "organization-name/repository-name") of repositories to add the team to. + */ + repo_names?: string[]; + }; + export type TeamsCreateParams = { + /** + * The description of the team. + */ + description?: string; + /** + * List GitHub IDs for organization members who will become team maintainers. + */ + maintainers?: string[]; + /** + * The name of the team. + */ + name: string; + + org: string; + /** + * The ID of a team to set as the parent team. + */ + parent_team_id?: number; + /** + * The level of privacy this team should have. The options are: + * **For a non-nested team:** + * \* `secret` - only visible to organization owners and members of this team. + * \* `closed` - visible to all members of this organization. + * Default: `secret` + * **For a parent or child team:** + * \* `closed` - visible to all members of this organization. + * Default for child team: `closed` + */ + privacy?: "secret" | "closed"; + /** + * The full name (e.g., "organization-name/repository-name") of repositories to add the team to. + */ + repo_names?: string[]; + }; + export type TeamsCreateDiscussionParams = { + /** + * The discussion post's body text. + */ + body: string; + /** + * Private posts are only visible to team members, organization owners, and team maintainers. Public posts are visible to all members of the organization. Set to `true` to create a private post. + */ + private?: boolean; + + team_id: number; + /** + * The discussion post's title. + */ + title: string; + }; + export type TeamsCreateDiscussionCommentParams = { + /** + * The discussion comment's body text. + */ + body: string; + + discussion_number: number; + + team_id: number; + }; + export type TeamsCreateDiscussionCommentInOrgParams = { + /** + * The discussion comment's body text. + */ + body: string; + + discussion_number: number; + + org: string; + + team_slug: string; + }; + export type TeamsCreateDiscussionCommentLegacyParams = { + /** + * The discussion comment's body text. + */ + body: string; + + discussion_number: number; + + team_id: number; + }; + export type TeamsCreateDiscussionInOrgParams = { + /** + * The discussion post's body text. + */ + body: string; + + org: string; + /** + * Private posts are only visible to team members, organization owners, and team maintainers. Public posts are visible to all members of the organization. Set to `true` to create a private post. + */ + private?: boolean; + + team_slug: string; + /** + * The discussion post's title. + */ + title: string; + }; + export type TeamsCreateDiscussionLegacyParams = { + /** + * The discussion post's body text. + */ + body: string; + /** + * Private posts are only visible to team members, organization owners, and team maintainers. Public posts are visible to all members of the organization. Set to `true` to create a private post. + */ + private?: boolean; + + team_id: number; + /** + * The discussion post's title. + */ + title: string; + }; + export type TeamsDeleteParams = { + team_id: number; + }; + export type TeamsDeleteDiscussionParams = { + discussion_number: number; + + team_id: number; + }; + export type TeamsDeleteDiscussionCommentParams = { + comment_number: number; + + discussion_number: number; + + team_id: number; + }; + export type TeamsDeleteDiscussionCommentInOrgParams = { + comment_number: number; + + discussion_number: number; + + org: string; + + team_slug: string; + }; + export type TeamsDeleteDiscussionCommentLegacyParams = { + comment_number: number; + + discussion_number: number; + + team_id: number; + }; + export type TeamsDeleteDiscussionInOrgParams = { + discussion_number: number; + + org: string; + + team_slug: string; + }; + export type TeamsDeleteDiscussionLegacyParams = { + discussion_number: number; + + team_id: number; + }; + export type TeamsDeleteInOrgParams = { + org: string; + + team_slug: string; + }; + export type TeamsDeleteLegacyParams = { + team_id: number; + }; + export type TeamsGetParams = { + team_id: number; + }; + export type TeamsGetByNameParams = { + org: string; + + team_slug: string; + }; + export type TeamsGetDiscussionParams = { + discussion_number: number; + + team_id: number; + }; + export type TeamsGetDiscussionCommentParams = { + comment_number: number; + + discussion_number: number; + + team_id: number; + }; + export type TeamsGetDiscussionCommentInOrgParams = { + comment_number: number; + + discussion_number: number; + + org: string; + + team_slug: string; + }; + export type TeamsGetDiscussionCommentLegacyParams = { + comment_number: number; + + discussion_number: number; + + team_id: number; + }; + export type TeamsGetDiscussionInOrgParams = { + discussion_number: number; + + org: string; + + team_slug: string; + }; + export type TeamsGetDiscussionLegacyParams = { + discussion_number: number; + + team_id: number; + }; + export type TeamsGetLegacyParams = { + team_id: number; + }; + export type TeamsGetMemberParams = { + team_id: number; + + username: string; + }; + export type TeamsGetMemberLegacyParams = { + team_id: number; + + username: string; + }; + export type TeamsGetMembershipParams = { + team_id: number; + + username: string; + }; + export type TeamsGetMembershipInOrgParams = { + org: string; + + team_slug: string; + + username: string; + }; + export type TeamsGetMembershipLegacyParams = { + team_id: number; + + username: string; + }; + export type TeamsListParams = { + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type TeamsListChildParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + team_id: number; + }; + export type TeamsListChildInOrgParams = { + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + team_slug: string; + }; + export type TeamsListChildLegacyParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + team_id: number; + }; + export type TeamsListDiscussionCommentsParams = { + /** + * Sorts the discussion comments by the date they were created. To return the oldest comments first, set to `asc`. Can be one of `asc` or `desc`. + */ + direction?: "asc" | "desc"; + + discussion_number: number; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + team_id: number; + }; + export type TeamsListDiscussionCommentsInOrgParams = { + /** + * Sorts the discussion comments by the date they were created. To return the oldest comments first, set to `asc`. Can be one of `asc` or `desc`. + */ + direction?: "asc" | "desc"; + + discussion_number: number; + + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + team_slug: string; + }; + export type TeamsListDiscussionCommentsLegacyParams = { + /** + * Sorts the discussion comments by the date they were created. To return the oldest comments first, set to `asc`. Can be one of `asc` or `desc`. + */ + direction?: "asc" | "desc"; + + discussion_number: number; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + team_id: number; + }; + export type TeamsListDiscussionsParams = { + /** + * Sorts the discussion comments by the date they were created. To return the oldest comments first, set to `asc`. Can be one of `asc` or `desc`. + */ + direction?: "asc" | "desc"; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + team_id: number; + }; + export type TeamsListDiscussionsInOrgParams = { + /** + * Sorts the discussion comments by the date they were created. To return the oldest comments first, set to `asc`. Can be one of `asc` or `desc`. + */ + direction?: "asc" | "desc"; + + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + team_slug: string; + }; + export type TeamsListDiscussionsLegacyParams = { + /** + * Sorts the discussion comments by the date they were created. To return the oldest comments first, set to `asc`. Can be one of `asc` or `desc`. + */ + direction?: "asc" | "desc"; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + team_id: number; + }; + export type TeamsListForAuthenticatedUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type TeamsListMembersParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Filters members returned by their role in the team. Can be one of: + * \* `member` - normal members of the team. + * \* `maintainer` - team maintainers. + * \* `all` - all members of the team. + */ + role?: "member" | "maintainer" | "all"; + + team_id: number; + }; + export type TeamsListMembersInOrgParams = { + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Filters members returned by their role in the team. Can be one of: + * \* `member` - normal members of the team. + * \* `maintainer` - team maintainers. + * \* `all` - all members of the team. + */ + role?: "member" | "maintainer" | "all"; + + team_slug: string; + }; + export type TeamsListMembersLegacyParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Filters members returned by their role in the team. Can be one of: + * \* `member` - normal members of the team. + * \* `maintainer` - team maintainers. + * \* `all` - all members of the team. + */ + role?: "member" | "maintainer" | "all"; + + team_id: number; + }; + export type TeamsListPendingInvitationsParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + team_id: number; + }; + export type TeamsListPendingInvitationsInOrgParams = { + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + team_slug: string; + }; + export type TeamsListPendingInvitationsLegacyParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + team_id: number; + }; + export type TeamsListProjectsParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + team_id: number; + }; + export type TeamsListProjectsInOrgParams = { + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + team_slug: string; + }; + export type TeamsListProjectsLegacyParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + team_id: number; + }; + export type TeamsListReposParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + team_id: number; + }; + export type TeamsListReposInOrgParams = { + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + team_slug: string; + }; + export type TeamsListReposLegacyParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + team_id: number; + }; + export type TeamsRemoveMemberParams = { + team_id: number; + + username: string; + }; + export type TeamsRemoveMemberLegacyParams = { + team_id: number; + + username: string; + }; + export type TeamsRemoveMembershipParams = { + team_id: number; + + username: string; + }; + export type TeamsRemoveMembershipInOrgParams = { + org: string; + + team_slug: string; + + username: string; + }; + export type TeamsRemoveMembershipLegacyParams = { + team_id: number; + + username: string; + }; + export type TeamsRemoveProjectParams = { + project_id: number; + + team_id: number; + }; + export type TeamsRemoveProjectInOrgParams = { + org: string; + + project_id: number; + + team_slug: string; + }; + export type TeamsRemoveProjectLegacyParams = { + project_id: number; + + team_id: number; + }; + export type TeamsRemoveRepoParams = { + owner: string; + + repo: string; + + team_id: number; + }; + export type TeamsRemoveRepoInOrgParams = { + org: string; + + owner: string; + + repo: string; + + team_slug: string; + }; + export type TeamsRemoveRepoLegacyParams = { + owner: string; + + repo: string; + + team_id: number; + }; + export type TeamsReviewProjectParams = { + project_id: number; + + team_id: number; + }; + export type TeamsReviewProjectInOrgParams = { + org: string; + + project_id: number; + + team_slug: string; + }; + export type TeamsReviewProjectLegacyParams = { + project_id: number; + + team_id: number; + }; + export type TeamsUpdateParamsDeprecatedPermission = { + /** + * The description of the team. + */ + description?: string; + /** + * The name of the team. + */ + name: string; + /** + * The ID of a team to set as the parent team. + */ + parent_team_id?: number; + /** + * **Deprecated**. The permission that new repositories will be added to the team with when none is specified. Can be one of: + * \* `pull` - team members can pull, but not push to or administer newly-added repositories. + * \* `push` - team members can pull and push, but not administer newly-added repositories. + * \* `admin` - team members can pull, push and administer newly-added repositories. + * @deprecated "permission" parameter has been deprecated and will be removed in future + */ + permission?: string; + /** + * The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. The options are: + * **For a non-nested team:** + * \* `secret` - only visible to organization owners and members of this team. + * \* `closed` - visible to all members of this organization. + * **For a parent or child team:** + * \* `closed` - visible to all members of this organization. + */ + privacy?: "secret" | "closed"; + + team_id: number; + }; + export type TeamsUpdateParams = { + /** + * The description of the team. + */ + description?: string; + /** + * The name of the team. + */ + name: string; + /** + * The ID of a team to set as the parent team. + */ + parent_team_id?: number; + /** + * The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. The options are: + * **For a non-nested team:** + * \* `secret` - only visible to organization owners and members of this team. + * \* `closed` - visible to all members of this organization. + * **For a parent or child team:** + * \* `closed` - visible to all members of this organization. + */ + privacy?: "secret" | "closed"; + + team_id: number; + }; + export type TeamsUpdateDiscussionParams = { + /** + * The discussion post's body text. + */ + body?: string; + + discussion_number: number; + + team_id: number; + /** + * The discussion post's title. + */ + title?: string; + }; + export type TeamsUpdateDiscussionCommentParams = { + /** + * The discussion comment's body text. + */ + body: string; + + comment_number: number; + + discussion_number: number; + + team_id: number; + }; + export type TeamsUpdateDiscussionCommentInOrgParams = { + /** + * The discussion comment's body text. + */ + body: string; + + comment_number: number; + + discussion_number: number; + + org: string; + + team_slug: string; + }; + export type TeamsUpdateDiscussionCommentLegacyParams = { + /** + * The discussion comment's body text. + */ + body: string; + + comment_number: number; + + discussion_number: number; + + team_id: number; + }; + export type TeamsUpdateDiscussionInOrgParams = { + /** + * The discussion post's body text. + */ + body?: string; + + discussion_number: number; + + org: string; + + team_slug: string; + /** + * The discussion post's title. + */ + title?: string; + }; + export type TeamsUpdateDiscussionLegacyParams = { + /** + * The discussion post's body text. + */ + body?: string; + + discussion_number: number; + + team_id: number; + /** + * The discussion post's title. + */ + title?: string; + }; + export type TeamsUpdateInOrgParamsDeprecatedPermission = { + /** + * The description of the team. + */ + description?: string; + /** + * The name of the team. + */ + name: string; + + org: string; + /** + * The ID of a team to set as the parent team. + */ + parent_team_id?: number; + /** + * **Deprecated**. The permission that new repositories will be added to the team with when none is specified. Can be one of: + * \* `pull` - team members can pull, but not push to or administer newly-added repositories. + * \* `push` - team members can pull and push, but not administer newly-added repositories. + * \* `admin` - team members can pull, push and administer newly-added repositories. + * @deprecated "permission" parameter has been deprecated and will be removed in future + */ + permission?: string; + /** + * The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. When a team is nested, the `privacy` for parent teams cannot be `secret`. The options are: + * **For a non-nested team:** + * \* `secret` - only visible to organization owners and members of this team. + * \* `closed` - visible to all members of this organization. + * **For a parent or child team:** + * \* `closed` - visible to all members of this organization. + */ + privacy?: "secret" | "closed"; + + team_slug: string; + }; + export type TeamsUpdateInOrgParams = { + /** + * The description of the team. + */ + description?: string; + /** + * The name of the team. + */ + name: string; + + org: string; + /** + * The ID of a team to set as the parent team. + */ + parent_team_id?: number; + /** + * The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. When a team is nested, the `privacy` for parent teams cannot be `secret`. The options are: + * **For a non-nested team:** + * \* `secret` - only visible to organization owners and members of this team. + * \* `closed` - visible to all members of this organization. + * **For a parent or child team:** + * \* `closed` - visible to all members of this organization. + */ + privacy?: "secret" | "closed"; + + team_slug: string; + }; + export type TeamsUpdateLegacyParamsDeprecatedPermission = { + /** + * The description of the team. + */ + description?: string; + /** + * The name of the team. + */ + name: string; + /** + * The ID of a team to set as the parent team. + */ + parent_team_id?: number; + /** + * **Deprecated**. The permission that new repositories will be added to the team with when none is specified. Can be one of: + * \* `pull` - team members can pull, but not push to or administer newly-added repositories. + * \* `push` - team members can pull and push, but not administer newly-added repositories. + * \* `admin` - team members can pull, push and administer newly-added repositories. + * @deprecated "permission" parameter has been deprecated and will be removed in future + */ + permission?: string; + /** + * The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. The options are: + * **For a non-nested team:** + * \* `secret` - only visible to organization owners and members of this team. + * \* `closed` - visible to all members of this organization. + * **For a parent or child team:** + * \* `closed` - visible to all members of this organization. + */ + privacy?: "secret" | "closed"; + + team_id: number; + }; + export type TeamsUpdateLegacyParams = { + /** + * The description of the team. + */ + description?: string; + /** + * The name of the team. + */ + name: string; + /** + * The ID of a team to set as the parent team. + */ + parent_team_id?: number; + /** + * The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. The options are: + * **For a non-nested team:** + * \* `secret` - only visible to organization owners and members of this team. + * \* `closed` - visible to all members of this organization. + * **For a parent or child team:** + * \* `closed` - visible to all members of this organization. + */ + privacy?: "secret" | "closed"; + + team_id: number; + }; + export type UsersAddEmailsParams = { + /** + * Adds one or more email addresses to your GitHub account. Must contain at least one email address. **Note:** Alternatively, you can pass a single email address or an `array` of emails addresses directly, but we recommend that you pass an object using the `emails` key. + */ + emails: string[]; + }; + export type UsersBlockParams = { + username: string; + }; + export type UsersCheckBlockedParams = { + username: string; + }; + export type UsersCheckFollowingParams = { + username: string; + }; + export type UsersCheckFollowingForUserParams = { + target_user: string; + + username: string; + }; + export type UsersCreateGpgKeyParams = { + /** + * Your GPG key, generated in ASCII-armored format. See "[Generating a new GPG key](https://help.github.com/articles/generating-a-new-gpg-key/)" for help creating a GPG key. + */ + armored_public_key?: string; + }; + export type UsersCreatePublicKeyParams = { + /** + * The public SSH key to add to your GitHub account. See "[Generating a new SSH key](https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/)" for guidance on how to create a public SSH key. + */ + key?: string; + /** + * A descriptive name for the new key. Use a name that will help you recognize this key in your GitHub account. For example, if you're using a personal Mac, you might call this key "Personal MacBook Air". + */ + title?: string; + }; + export type UsersDeleteEmailsParams = { + /** + * Deletes one or more email addresses from your GitHub account. Must contain at least one email address. **Note:** Alternatively, you can pass a single email address or an `array` of emails addresses directly, but we recommend that you pass an object using the `emails` key. + */ + emails: string[]; + }; + export type UsersDeleteGpgKeyParams = { + gpg_key_id: number; + }; + export type UsersDeletePublicKeyParams = { + key_id: number; + }; + export type UsersFollowParams = { + username: string; + }; + export type UsersGetByUsernameParams = { + username: string; + }; + export type UsersGetContextForUserParams = { + /** + * Uses the ID for the `subject_type` you specified. **Required** when using `subject_type`. + */ + subject_id?: string; + /** + * Identifies which additional information you'd like to receive about the person's hovercard. Can be `organization`, `repository`, `issue`, `pull_request`. **Required** when using `subject_id`. + */ + subject_type?: "organization" | "repository" | "issue" | "pull_request"; + + username: string; + }; + export type UsersGetGpgKeyParams = { + gpg_key_id: number; + }; + export type UsersGetPublicKeyParams = { + key_id: number; + }; + export type UsersListParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * The integer ID of the last User that you've seen. + */ + since?: string; + }; + export type UsersListEmailsParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type UsersListFollowersForAuthenticatedUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type UsersListFollowersForUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + username: string; + }; + export type UsersListFollowingForAuthenticatedUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type UsersListFollowingForUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + username: string; + }; + export type UsersListGpgKeysParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type UsersListGpgKeysForUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + username: string; + }; + export type UsersListPublicEmailsParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type UsersListPublicKeysParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type UsersListPublicKeysForUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + username: string; + }; + export type UsersTogglePrimaryEmailVisibilityParams = { + /** + * Specify the _primary_ email address that needs a visibility change. + */ + email: string; + /** + * Use `public` to enable an authenticated user to view the specified email address, or use `private` so this primary email address cannot be seen publicly. + */ + visibility: string; + }; + export type UsersUnblockParams = { + username: string; + }; + export type UsersUnfollowParams = { + username: string; + }; + export type UsersUpdateAuthenticatedParams = { + /** + * The new short biography of the user. + */ + bio?: string; + /** + * The new blog URL of the user. + */ + blog?: string; + /** + * The new company of the user. + */ + company?: string; + /** + * The publicly visible email address of the user. + */ + email?: string; + /** + * The new hiring availability of the user. + */ + hireable?: boolean; + /** + * The new location of the user. + */ + location?: string; + /** + * The new name of the user. + */ + name?: string; + }; + + // child param types + export type AppsCreateInstallationTokenParamsPermissions = {}; + export type ChecksCreateParamsActions = { + description: string; + identifier: string; + label: string; + }; + export type ChecksCreateParamsOutput = { + annotations?: ChecksCreateParamsOutputAnnotations[]; + images?: ChecksCreateParamsOutputImages[]; + summary: string; + text?: string; + title: string; + }; + export type ChecksCreateParamsOutputAnnotations = { + annotation_level: "notice" | "warning" | "failure"; + end_column?: number; + end_line: number; + message: string; + path: string; + raw_details?: string; + start_column?: number; + start_line: number; + title?: string; + }; + export type ChecksCreateParamsOutputImages = { + alt: string; + caption?: string; + image_url: string; + }; + export type ChecksSetSuitesPreferencesParamsAutoTriggerChecks = { + app_id: number; + setting: boolean; + }; + export type ChecksUpdateParamsActions = { + description: string; + identifier: string; + label: string; + }; + export type ChecksUpdateParamsOutput = { + annotations?: ChecksUpdateParamsOutputAnnotations[]; + images?: ChecksUpdateParamsOutputImages[]; + summary: string; + text?: string; + title?: string; + }; + export type ChecksUpdateParamsOutputAnnotations = { + annotation_level: "notice" | "warning" | "failure"; + end_column?: number; + end_line: number; + message: string; + path: string; + raw_details?: string; + start_column?: number; + start_line: number; + title?: string; + }; + export type ChecksUpdateParamsOutputImages = { + alt: string; + caption?: string; + image_url: string; + }; + export type GistsCreateParamsFiles = { + content?: string; + }; + export type GistsUpdateParamsFiles = { + content?: string; + filename?: string; + }; + export type GitCreateCommitParamsAuthor = { + date?: string; + email?: string; + name?: string; + }; + export type GitCreateCommitParamsCommitter = { + date?: string; + email?: string; + name?: string; + }; + export type GitCreateTagParamsTagger = { + date?: string; + email?: string; + name?: string; + }; + export type GitCreateTreeParamsTree = { + content?: string; + mode?: "100644" | "100755" | "040000" | "160000" | "120000"; + path?: string; + sha?: string; + type?: "blob" | "tree" | "commit"; + }; + export type OrgsCreateHookParamsConfig = { + content_type?: string; + insecure_ssl?: string; + secret?: string; + url: string; + }; + export type OrgsUpdateHookParamsConfig = { + content_type?: string; + insecure_ssl?: string; + secret?: string; + url: string; + }; + export type PullsCreateReviewParamsComments = { + body: string; + path: string; + position: number; + }; + export type ReposCreateDispatchEventParamsClientPayload = {}; + export type ReposCreateFileParamsAuthor = { + email: string; + name: string; + }; + export type ReposCreateFileParamsCommitter = { + email: string; + name: string; + }; + export type ReposCreateHookParamsConfig = { + content_type?: string; + insecure_ssl?: string; + secret?: string; + url: string; + }; + export type ReposCreateOrUpdateFileParamsAuthor = { + email: string; + name: string; + }; + export type ReposCreateOrUpdateFileParamsCommitter = { + email: string; + name: string; + }; + export type ReposDeleteFileParamsAuthor = { + email?: string; + name?: string; + }; + export type ReposDeleteFileParamsCommitter = { + email?: string; + name?: string; + }; + export type ReposEnablePagesSiteParamsSource = { + branch?: "master" | "gh-pages"; + path?: string; + }; + export type ReposUpdateBranchProtectionParamsRequiredPullRequestReviews = { + dismiss_stale_reviews?: boolean; + dismissal_restrictions?: ReposUpdateBranchProtectionParamsRequiredPullRequestReviewsDismissalRestrictions; + require_code_owner_reviews?: boolean; + required_approving_review_count?: number; + }; + export type ReposUpdateBranchProtectionParamsRequiredPullRequestReviewsDismissalRestrictions = { + teams?: string[]; + users?: string[]; + }; + export type ReposUpdateBranchProtectionParamsRequiredStatusChecks = { + contexts: string[]; + strict: boolean; + }; + export type ReposUpdateBranchProtectionParamsRestrictions = { + apps?: string[]; + teams: string[]; + users: string[]; + }; + export type ReposUpdateFileParamsAuthor = { + email: string; + name: string; + }; + export type ReposUpdateFileParamsCommitter = { + email: string; + name: string; + }; + export type ReposUpdateHookParamsConfig = { + content_type?: string; + insecure_ssl?: string; + secret?: string; + url: string; + }; + export type ReposUpdateProtectedBranchPullRequestReviewEnforcementParamsDismissalRestrictions = { + teams?: string[]; + users?: string[]; + }; + export type ReposUploadReleaseAssetParamsHeaders = { + "content-length": number; + "content-type": string; + }; +} + +export class Octokit { + constructor(options?: Octokit.Options); + authenticate(auth: Octokit.AuthBasic): void; + authenticate(auth: Octokit.AuthOAuthToken): void; + authenticate(auth: Octokit.AuthOAuthSecret): void; + authenticate(auth: Octokit.AuthUserToken): void; + authenticate(auth: Octokit.AuthJWT): void; + + hook: { + before( + name: string, + callback: (options: Octokit.HookOptions) => void + ): void; + after( + name: string, + callback: ( + response: Octokit.Response, + options: Octokit.HookOptions + ) => void + ): void; + error( + name: string, + callback: (error: Octokit.HookError, options: Octokit.HookOptions) => void + ): void; + wrap( + name: string, + callback: ( + request: ( + options: Octokit.HookOptions + ) => Promise>, + options: Octokit.HookOptions + ) => Promise> + ): void; + }; + + static plugin(plugin: Octokit.Plugin | Octokit.Plugin[]): Octokit.Static; + + registerEndpoints(endpoints: { + [scope: string]: Octokit.EndpointOptions; + }): void; + + request: Octokit.Request; + + paginate: Octokit.Paginate; + + log: Octokit.Log; + + actions: { + /** + * Cancels a workflow run using its `id`. Anyone with write access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. + */ + cancelWorkflowRun: { + ( + params?: Octokit.RequestOptions & Octokit.ActionsCancelWorkflowRunParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Creates or updates a secret with an encrypted value. Encrypt your secret using [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). Anyone with write access to the repository can use this endpoint. GitHub Apps must have the `secrets` permission to use this endpoint. + * + * Encrypt your secret using the [tweetsodium](https://github.com/mastahyeti/tweetsodium) library. + * + * + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/stable/public/#nacl-public-sealedbox) with Python 3. + * + * + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + */ + createOrUpdateSecretForRepo: { + ( + params?: Octokit.RequestOptions & + Octokit.ActionsCreateOrUpdateSecretForRepoParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Returns a token that you can pass to the `config` script. The token expires after one hour. Anyone with admin access to the repository can use this endpoint. GitHub Apps must have the `administration` permission to use this endpoint. + * + * Configure your self-hosted runner, replacing TOKEN with the registration token provided by this endpoint. + */ + createRegistrationToken: { + ( + params?: Octokit.RequestOptions & + Octokit.ActionsCreateRegistrationTokenParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Returns a token that you can pass to remove a self-hosted runner from a repository. The token expires after one hour. Anyone with admin access to the repository can use this endpoint. GitHub Apps must have the `administration` permission to use this endpoint. + * + * Remove your self-hosted runner from a repository, replacing TOKEN with the remove token provided by this endpoint. + */ + createRemoveToken: { + ( + params?: Octokit.RequestOptions & Octokit.ActionsCreateRemoveTokenParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Deletes an artifact for a workflow run. Anyone with write access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. + */ + deleteArtifact: { + ( + params?: Octokit.RequestOptions & Octokit.ActionsDeleteArtifactParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Deletes a secret in a repository using the secret name. Anyone with write access to the repository can use this endpoint. GitHub Apps must have the `secrets` permission to use this endpoint. + */ + deleteSecretFromRepo: { + ( + params?: Octokit.RequestOptions & + Octokit.ActionsDeleteSecretFromRepoParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Gets a redirect URL to download an archive for a repository. This URL expires after 1 minute. Look for `Location:` in the response header to find the URL for the download. The `:archive_format` must be `zip`. Anyone with read access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. + * + * Call this endpoint using the `-v` flag, which enables verbose output and allows you to see the download URL in the header. To download the file into the current working directory, specify the filename using the `-o` flag. + */ + downloadArtifact: { + ( + params?: Octokit.RequestOptions & Octokit.ActionsDownloadArtifactParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Gets a specific artifact for a workflow run. Anyone with read access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. + */ + getArtifact: { + ( + params?: Octokit.RequestOptions & Octokit.ActionsGetArtifactParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Gets your public key, which you must store. You need your public key to use other secrets endpoints. Use the returned `key` to encrypt your secrets. Anyone with read access to the repository can use this endpoint. GitHub Apps must have the `secrets` permission to use this endpoint. + */ + getPublicKey: { + ( + params?: Octokit.RequestOptions & Octokit.ActionsGetPublicKeyParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Gets a single secret without revealing its encrypted value. Anyone with write access to the repository can use this endpoint. GitHub Apps must have the `secrets` permission to use this endpoint. + */ + getSecret: { + ( + params?: Octokit.RequestOptions & Octokit.ActionsGetSecretParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Gets a specific self-hosted runner. Anyone with admin access to the repository can use this endpoint. GitHub Apps must have the `administration` permission to use this endpoint. + */ + getSelfHostedRunner: { + ( + params?: Octokit.RequestOptions & + Octokit.ActionsGetSelfHostedRunnerParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Gets a specific workflow. You can also replace `:workflow_id` with `:workflow_file_name`. For example, you could use `main.yml`. Anyone with read access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. + */ + getWorkflow: { + ( + params?: Octokit.RequestOptions & Octokit.ActionsGetWorkflowParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Gets a specific job in a workflow run. Anyone with read access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. + */ + getWorkflowJob: { + ( + params?: Octokit.RequestOptions & Octokit.ActionsGetWorkflowJobParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Gets a specific workflow run. Anyone with read access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. + */ + getWorkflowRun: { + ( + params?: Octokit.RequestOptions & Octokit.ActionsGetWorkflowRunParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Lists binaries for the self-hosted runner application that you can download and run. Anyone with admin access to the repository can use this endpoint. GitHub Apps must have the `administration` permission to use this endpoint. + */ + listDownloadsForSelfHostedRunnerApplication: { + ( + params?: Octokit.RequestOptions & + Octokit.ActionsListDownloadsForSelfHostedRunnerApplicationParams + ): Promise< + Octokit.Response< + Octokit.ActionsListDownloadsForSelfHostedRunnerApplicationResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Lists jobs for a workflow run. Anyone with read access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. + */ + listJobsForWorkflowRun: { + ( + params?: Octokit.RequestOptions & + Octokit.ActionsListJobsForWorkflowRunParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Lists all workflow runs for a repository. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://developer.github.com/v3/#parameters). + * + * Anyone with read access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. + */ + listRepoWorkflowRuns: { + ( + params?: Octokit.RequestOptions & + Octokit.ActionsListRepoWorkflowRunsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Lists the workflows in a repository. Anyone with read access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. + */ + listRepoWorkflows: { + ( + params?: Octokit.RequestOptions & Octokit.ActionsListRepoWorkflowsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Lists all secrets available in a repository without revealing their encrypted values. Anyone with write access to the repository can use this endpoint. GitHub Apps must have the `secrets` permission to use this endpoint. + */ + listSecretsForRepo: { + ( + params?: Octokit.RequestOptions & + Octokit.ActionsListSecretsForRepoParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Lists all self-hosted runners for a repository. Anyone with admin access to the repository can use this endpoint. GitHub Apps must have the `administration` permission to use this endpoint. + */ + listSelfHostedRunnersForRepo: { + ( + params?: Octokit.RequestOptions & + Octokit.ActionsListSelfHostedRunnersForRepoParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Gets a redirect URL to download a plain text file of logs for a workflow job. This link expires after 1 minute. Look for `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. + * + * Call this endpoint using the `-v` flag, which enables verbose output and allows you to see the download URL in the header. To download the file into the current working directory, specify the filename using the `-o` flag. + */ + listWorkflowJobLogs: { + ( + params?: Octokit.RequestOptions & + Octokit.ActionsListWorkflowJobLogsParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Lists artifacts for a workflow run. Anyone with read access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. + */ + listWorkflowRunArtifacts: { + ( + params?: Octokit.RequestOptions & + Octokit.ActionsListWorkflowRunArtifactsParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Gets a redirect URL to download an archive of log files for a workflow run. This link expires after 1 minute. Look for `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. + * + * Call this endpoint using the `-v` flag, which enables verbose output and allows you to see the download URL in the header. To download the file into the current working directory, specify the filename using the `-o` flag. + */ + listWorkflowRunLogs: { + ( + params?: Octokit.RequestOptions & + Octokit.ActionsListWorkflowRunLogsParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * List all workflow runs for a workflow. You can also replace `:workflow_id` with `:workflow_file_name`. For example, you could use `main.yml`. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://developer.github.com/v3/#parameters). + * + * Anyone with read access to the repository can use this endpoint. + */ + listWorkflowRuns: { + ( + params?: Octokit.RequestOptions & Octokit.ActionsListWorkflowRunsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Re-runs your workflow run using its `id`. Anyone with write access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. + */ + reRunWorkflow: { + ( + params?: Octokit.RequestOptions & Octokit.ActionsReRunWorkflowParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Forces the removal of a self-hosted runner from a repository. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. Anyone with admin access to the repository can use this endpoint. GitHub Apps must have the `administration` permission to use this endpoint. + */ + removeSelfHostedRunner: { + ( + params?: Octokit.RequestOptions & + Octokit.ActionsRemoveSelfHostedRunnerParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + }; + activity: { + /** + * Requires for the user to be authenticated. + */ + checkStarringRepo: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityCheckStarringRepoParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Requires for the user to be authenticated. + */ + checkWatchingRepoLegacy: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityCheckWatchingRepoLegacyParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * This endpoint should only be used to stop watching a repository. To control whether or not you wish to receive notifications from a repository, [set the repository's subscription manually](https://developer.github.com/v3/activity/watching/#set-a-repository-subscription). + */ + deleteRepoSubscription: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityDeleteRepoSubscriptionParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Mutes all future notifications for a conversation until you comment on the thread or get **@mention**ed. + */ + deleteThreadSubscription: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityDeleteThreadSubscriptionParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + getRepoSubscription: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityGetRepoSubscriptionParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + getThread: { + ( + params?: Octokit.RequestOptions & Octokit.ActivityGetThreadParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * This checks to see if the current user is subscribed to a thread. You can also [get a repository subscription](https://developer.github.com/v3/activity/watching/#get-a-repository-subscription). + * + * Note that subscriptions are only generated if a user is participating in a conversation--for example, they've replied to the thread, were **@mentioned**, or manually subscribe to a thread. + */ + getThreadSubscription: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityGetThreadSubscriptionParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * This is the user's organization dashboard. You must be authenticated as the user to view this. + */ + listEventsForOrg: { + ( + params?: Octokit.RequestOptions & Octokit.ActivityListEventsForOrgParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * If you are authenticated as the given user, you will see your private events. Otherwise, you'll only see public events. + */ + listEventsForUser: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityListEventsForUserParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * GitHub provides several timeline resources in [Atom](http://en.wikipedia.org/wiki/Atom_(standard)) format. The Feeds API lists all the feeds available to the authenticated user: + * + * * **Timeline**: The GitHub global public timeline + * * **User**: The public timeline for any user, using [URI template](https://developer.github.com/v3/#hypermedia) + * * **Current user public**: The public timeline for the authenticated user + * * **Current user**: The private timeline for the authenticated user + * * **Current user actor**: The private timeline for activity created by the authenticated user + * * **Current user organizations**: The private timeline for the organizations the authenticated user is a member of. + * * **Security advisories**: A collection of public announcements that provide information about security-related vulnerabilities in software on GitHub. + * + * **Note**: Private feeds are only returned when [authenticating via Basic Auth](https://developer.github.com/v3/#basic-authentication) since current feed URIs use the older, non revocable auth tokens. + */ + listFeeds: { + (params?: Octokit.RequestOptions & Octokit.EmptyParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * List all notifications for the current user, sorted by most recently updated. + * + * The following example uses the `since` parameter to list notifications that have been updated after the specified time. + */ + listNotifications: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityListNotificationsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * List all notifications for the current user. + */ + listNotificationsForRepo: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityListNotificationsForRepoParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * We delay the public events feed by five minutes, which means the most recent event returned by the public events API actually occurred at least five minutes ago. + */ + listPublicEvents: { + ( + params?: Octokit.RequestOptions & Octokit.ActivityListPublicEventsParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + listPublicEventsForOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityListPublicEventsForOrgParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + listPublicEventsForRepoNetwork: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityListPublicEventsForRepoNetworkParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + listPublicEventsForUser: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityListPublicEventsForUserParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * These are events that you've received by watching repos and following users. If you are authenticated as the given user, you will see private events. Otherwise, you'll only see public events. + */ + listReceivedEventsForUser: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityListReceivedEventsForUserParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + listReceivedPublicEventsForUser: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityListReceivedPublicEventsForUserParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + listRepoEvents: { + ( + params?: Octokit.RequestOptions & Octokit.ActivityListRepoEventsParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * You can also find out _when_ stars were created by passing the following custom [media type](https://developer.github.com/v3/media/) via the `Accept` header: + */ + listReposStarredByAuthenticatedUser: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityListReposStarredByAuthenticatedUserParams + ): Promise< + Octokit.Response< + Octokit.ActivityListReposStarredByAuthenticatedUserResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * You can also find out _when_ stars were created by passing the following custom [media type](https://developer.github.com/v3/media/) via the `Accept` header: + */ + listReposStarredByUser: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityListReposStarredByUserParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + listReposWatchedByUser: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityListReposWatchedByUserParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * You can also find out _when_ stars were created by passing the following custom [media type](https://developer.github.com/v3/media/) via the `Accept` header: + */ + listStargazersForRepo: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityListStargazersForRepoParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + listWatchedReposForAuthenticatedUser: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityListWatchedReposForAuthenticatedUserParams + ): Promise< + Octokit.Response< + Octokit.ActivityListWatchedReposForAuthenticatedUserResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + + listWatchersForRepo: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityListWatchersForRepoParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Marks a notification as "read" removes it from the [default view on GitHub](https://github.com/notifications). If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List your notifications](https://developer.github.com/v3/activity/notifications/#list-your-notifications) endpoint and pass the query parameter `all=false`. + */ + markAsRead: { + ( + params?: Octokit.RequestOptions & Octokit.ActivityMarkAsReadParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Marks all notifications in a repository as "read" removes them from the [default view on GitHub](https://github.com/notifications). If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List your notifications in a repository](https://developer.github.com/v3/activity/notifications/#list-your-notifications-in-a-repository) endpoint and pass the query parameter `all=false`. + */ + markNotificationsAsReadForRepo: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityMarkNotificationsAsReadForRepoParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + markThreadAsRead: { + ( + params?: Octokit.RequestOptions & Octokit.ActivityMarkThreadAsReadParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * If you would like to watch a repository, set `subscribed` to `true`. If you would like to ignore notifications made within a repository, set `ignored` to `true`. If you would like to stop watching a repository, [delete the repository's subscription](https://developer.github.com/v3/activity/watching/#delete-a-repository-subscription) completely. + */ + setRepoSubscription: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivitySetRepoSubscriptionParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * This lets you subscribe or unsubscribe from a conversation. + */ + setThreadSubscription: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivitySetThreadSubscriptionParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Requires for the user to be authenticated. + * + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://developer.github.com/v3/#http-verbs)." + */ + starRepo: { + ( + params?: Octokit.RequestOptions & Octokit.ActivityStarRepoParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Requires for the user to be authenticated. + */ + stopWatchingRepoLegacy: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityStopWatchingRepoLegacyParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Requires for the user to be authenticated. + */ + unstarRepo: { + ( + params?: Octokit.RequestOptions & Octokit.ActivityUnstarRepoParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Requires the user to be authenticated. + * + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://developer.github.com/v3/#http-verbs)." + */ + watchRepoLegacy: { + ( + params?: Octokit.RequestOptions & Octokit.ActivityWatchRepoLegacyParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + }; + apps: { + /** + * Add a single repository to an installation. The authenticated user must have admin access to the repository. + * + * You must use a personal access token (which you can create via the [command line](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/) or the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/#create-a-new-authorization)) or [Basic Authentication](https://developer.github.com/v3/auth/#basic-authentication) to access this endpoint. + */ + addRepoToInstallation: { + ( + params?: Octokit.RequestOptions & + Octokit.AppsAddRepoToInstallationParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://developer.github.com/v3/auth/#basic-authentication) with their client ID and client secret to access this endpoint. + */ + checkAccountIsAssociatedWithAny: { + ( + params?: Octokit.RequestOptions & + Octokit.AppsCheckAccountIsAssociatedWithAnyParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://developer.github.com/v3/auth/#basic-authentication) with their client ID and client secret to access this endpoint. + */ + checkAccountIsAssociatedWithAnyStubbed: { + ( + params?: Octokit.RequestOptions & + Octokit.AppsCheckAccountIsAssociatedWithAnyStubbedParams + ): Promise< + Octokit.Response< + Octokit.AppsCheckAccountIsAssociatedWithAnyStubbedResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** GitHub will replace and discontinue OAuth endpoints containing `access_token` in the path parameter. We are introducing new endpoints that allow you to securely manage tokens for OAuth Apps by using `access_token` as an input parameter. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * OAuth applications can use a special API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://developer.github.com/v3/auth#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. + * @deprecated octokit.apps.checkAuthorization() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#check-an-authorization + */ + checkAuthorization: { + ( + params?: Octokit.RequestOptions & Octokit.AppsCheckAuthorizationParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * OAuth applications can use a special API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://developer.github.com/v3/auth#basic-authentication) to use this endpoint, where the username is the OAuth application `client_id` and the password is its `client_secret`. Invalid tokens will return `404 NOT FOUND`. + */ + checkToken: { + (params?: Octokit.RequestOptions & Octokit.AppsCheckTokenParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Creates an attachment under a content reference URL in the body or comment of an issue or pull request. Use the `id` of the content reference from the [`content_reference` event](https://developer.github.com/v3/activity/events/types/#contentreferenceevent) to create an attachment. + * + * The app must create a content attachment within six hours of the content reference URL being posted. See "[Using content attachments](https://developer.github.com/apps/using-content-attachments/)" for details about content attachments. + * + * You must use an [installation access token](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + * + * This example creates a content attachment for the domain `https://errors.ai/`. + */ + createContentAttachment: { + ( + params?: Octokit.RequestOptions & + Octokit.AppsCreateContentAttachmentParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Use this endpoint to complete the handshake necessary when implementing the [GitHub App Manifest flow](https://developer.github.com/apps/building-github-apps/creating-github-apps-from-a-manifest/). When you create a GitHub App with the manifest flow, you receive a temporary `code` used to retrieve the GitHub App's `id`, `pem` (private key), and `webhook_secret`. + */ + createFromManifest: { + ( + params?: Octokit.RequestOptions & Octokit.AppsCreateFromManifestParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Creates an installation access token that enables a GitHub App to make authenticated API requests for the app's installation on an organization or individual account. Installation tokens expire one hour from the time you create them. Using an expired token produces a status code of `401 - Unauthorized`, and requires creating a new installation token. By default the installation token has access to all repositories that the installation can access. To restrict the access to specific repositories, you can provide the `repository_ids` when creating the token. When you omit `repository_ids`, the response does not contain the `repositories` key. + * + * You must use a [JWT](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + * + * This example grants the token "Read and write" permission to `issues` and "Read" permission to `contents`, and restricts the token's access to the repository with an `id` of 1296269. + */ + createInstallationToken: { + ( + params?: Octokit.RequestOptions & + Octokit.AppsCreateInstallationTokenParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * OAuth application owners can revoke a grant for their OAuth application and a specific user. You must use [Basic Authentication](https://developer.github.com/v3/auth#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. You must also provide a valid OAuth `access_token` as an input parameter and the grant for the token's owner will be deleted. + * + * Deleting an OAuth application's grant will also delete all OAuth tokens associated with the application for the user. Once deleted, the application will have no access to the user's account and will no longer be listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). + */ + deleteAuthorization: { + ( + params?: Octokit.RequestOptions & Octokit.AppsDeleteAuthorizationParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Uninstalls a GitHub App on a user, organization, or business account. + * + * You must use a [JWT](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + deleteInstallation: { + ( + params?: Octokit.RequestOptions & Octokit.AppsDeleteInstallationParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * OAuth application owners can revoke a single token for an OAuth application. You must use [Basic Authentication](https://developer.github.com/v3/auth#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. + */ + deleteToken: { + ( + params?: Octokit.RequestOptions & Octokit.AppsDeleteTokenParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Enables an authenticated GitHub App to find the organization's installation information. + * + * You must use a [JWT](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + * @deprecated octokit.apps.findOrgInstallation() has been renamed to octokit.apps.getOrgInstallation() (2019-04-10) + */ + findOrgInstallation: { + ( + params?: Octokit.RequestOptions & Octokit.AppsFindOrgInstallationParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Enables an authenticated GitHub App to find the repository's installation information. The installation's account type will be either an organization or a user account, depending which account the repository belongs to. + * + * You must use a [JWT](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + * @deprecated octokit.apps.findRepoInstallation() has been renamed to octokit.apps.getRepoInstallation() (2019-04-10) + */ + findRepoInstallation: { + ( + params?: Octokit.RequestOptions & Octokit.AppsFindRepoInstallationParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Enables an authenticated GitHub App to find the user’s installation information. + * + * You must use a [JWT](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + * @deprecated octokit.apps.findUserInstallation() has been renamed to octokit.apps.getUserInstallation() (2019-04-10) + */ + findUserInstallation: { + ( + params?: Octokit.RequestOptions & Octokit.AppsFindUserInstallationParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Returns the GitHub App associated with the authentication credentials used. To see how many app installations are associated with this GitHub App, see the `installations_count` in the response. For more details about your app's installations, see the "[List installations](https://developer.github.com/v3/apps/#list-installations)" endpoint. + * + * You must use a [JWT](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + getAuthenticated: { + (params?: Octokit.RequestOptions & Octokit.EmptyParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **Note**: The `:app_slug` is just the URL-friendly name of your GitHub App. You can find this on the settings page for your GitHub App (e.g., `https://github.com/settings/apps/:app_slug`). + * + * If the GitHub App you specify is public, you can access this endpoint without authenticating. If the GitHub App you specify is private, you must authenticate with a [personal access token](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/) or an [installation access token](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + */ + getBySlug: { + (params?: Octokit.RequestOptions & Octokit.AppsGetBySlugParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * You must use a [JWT](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + getInstallation: { + ( + params?: Octokit.RequestOptions & Octokit.AppsGetInstallationParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Enables an authenticated GitHub App to find the organization's installation information. + * + * You must use a [JWT](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + getOrgInstallation: { + ( + params?: Octokit.RequestOptions & Octokit.AppsGetOrgInstallationParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Enables an authenticated GitHub App to find the repository's installation information. The installation's account type will be either an organization or a user account, depending which account the repository belongs to. + * + * You must use a [JWT](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + getRepoInstallation: { + ( + params?: Octokit.RequestOptions & Octokit.AppsGetRepoInstallationParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Enables an authenticated GitHub App to find the user’s installation information. + * + * You must use a [JWT](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + getUserInstallation: { + ( + params?: Octokit.RequestOptions & Octokit.AppsGetUserInstallationParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Returns any accounts associated with a plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://developer.github.com/v3/auth/#basic-authentication) with their client ID and client secret to access this endpoint. + */ + listAccountsUserOrOrgOnPlan: { + ( + params?: Octokit.RequestOptions & + Octokit.AppsListAccountsUserOrOrgOnPlanParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Returns any accounts associated with a plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://developer.github.com/v3/auth/#basic-authentication) with their client ID and client secret to access this endpoint. + */ + listAccountsUserOrOrgOnPlanStubbed: { + ( + params?: Octokit.RequestOptions & + Octokit.AppsListAccountsUserOrOrgOnPlanStubbedParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * List repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access for an installation. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + * + * You must use a [user-to-server OAuth access token](https://developer.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. + * + * The access the user has to each repository is included in the hash under the `permissions` key. + */ + listInstallationReposForAuthenticatedUser: { + ( + params?: Octokit.RequestOptions & + Octokit.AppsListInstallationReposForAuthenticatedUserParams + ): Promise< + Octokit.Response< + Octokit.AppsListInstallationReposForAuthenticatedUserResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * You must use a [JWT](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + * + * The permissions the installation has are included under the `permissions` key. + */ + listInstallations: { + ( + params?: Octokit.RequestOptions & Octokit.AppsListInstallationsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Lists installations of your GitHub App that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. + * + * You must use a [user-to-server OAuth access token](https://developer.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + * + * You can find the permissions for the installation under the `permissions` key. + */ + listInstallationsForAuthenticatedUser: { + ( + params?: Octokit.RequestOptions & + Octokit.AppsListInstallationsForAuthenticatedUserParams + ): Promise< + Octokit.Response< + Octokit.AppsListInstallationsForAuthenticatedUserResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Returns only active subscriptions. You must use a [user-to-server OAuth access token](https://developer.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. . OAuth Apps must authenticate using an [OAuth token](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/). + */ + listMarketplacePurchasesForAuthenticatedUser: { + ( + params?: Octokit.RequestOptions & + Octokit.AppsListMarketplacePurchasesForAuthenticatedUserParams + ): Promise< + Octokit.Response< + Octokit.AppsListMarketplacePurchasesForAuthenticatedUserResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Returns only active subscriptions. You must use a [user-to-server OAuth access token](https://developer.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. . OAuth Apps must authenticate using an [OAuth token](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/). + */ + listMarketplacePurchasesForAuthenticatedUserStubbed: { + ( + params?: Octokit.RequestOptions & + Octokit.AppsListMarketplacePurchasesForAuthenticatedUserStubbedParams + ): Promise< + Octokit.Response< + Octokit.AppsListMarketplacePurchasesForAuthenticatedUserStubbedResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * GitHub Apps must use a [JWT](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://developer.github.com/v3/auth/#basic-authentication) with their client ID and client secret to access this endpoint. + */ + listPlans: { + (params?: Octokit.RequestOptions & Octokit.AppsListPlansParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * GitHub Apps must use a [JWT](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://developer.github.com/v3/auth/#basic-authentication) with their client ID and client secret to access this endpoint. + */ + listPlansStubbed: { + ( + params?: Octokit.RequestOptions & Octokit.AppsListPlansStubbedParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * List repositories that an installation can access. + * + * You must use an [installation access token](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + */ + listRepos: { + (params?: Octokit.RequestOptions & Octokit.AppsListReposParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Remove a single repository from an installation. The authenticated user must have admin access to the repository. + * + * You must use a personal access token (which you can create via the [command line](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/) or the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/#create-a-new-authorization)) or [Basic Authentication](https://developer.github.com/v3/auth/#basic-authentication) to access this endpoint. + */ + removeRepoFromInstallation: { + ( + params?: Octokit.RequestOptions & + Octokit.AppsRemoveRepoFromInstallationParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** GitHub will replace and discontinue OAuth endpoints containing `access_token` in the path parameter. We are introducing new endpoints that allow you to securely manage tokens for OAuth Apps by using `access_token` as an input parameter. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * OAuth applications can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the "token" property in the response because changes take effect immediately. You must use [Basic Authentication](https://developer.github.com/v3/auth#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. + * @deprecated octokit.apps.resetAuthorization() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#reset-an-authorization + */ + resetAuthorization: { + ( + params?: Octokit.RequestOptions & Octokit.AppsResetAuthorizationParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * OAuth applications can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the "token" property in the response because changes take effect immediately. You must use [Basic Authentication](https://developer.github.com/v3/auth#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. + */ + resetToken: { + (params?: Octokit.RequestOptions & Octokit.AppsResetTokenParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** GitHub will replace and discontinue OAuth endpoints containing `access_token` in the path parameter. We are introducing new endpoints that allow you to securely manage tokens for OAuth Apps by using `access_token` as an input parameter. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * OAuth application owners can revoke a single token for an OAuth application. You must use [Basic Authentication](https://developer.github.com/v3/auth#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. + * @deprecated octokit.apps.revokeAuthorizationForApplication() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#revoke-an-authorization-for-an-application + */ + revokeAuthorizationForApplication: { + ( + params?: Octokit.RequestOptions & + Octokit.AppsRevokeAuthorizationForApplicationParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** GitHub will replace and discontinue OAuth endpoints containing `access_token` in the path parameter. We are introducing new endpoints that allow you to securely manage tokens for OAuth Apps by using `access_token` as an input parameter. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * OAuth application owners can revoke a grant for their OAuth application and a specific user. You must use [Basic Authentication](https://developer.github.com/v3/auth#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. You must also provide a valid token as `:access_token` and the grant for the token's owner will be deleted. + * + * Deleting an OAuth application's grant will also delete all OAuth tokens associated with the application for the user. Once deleted, the application will have no access to the user's account and will no longer be listed on [the Applications settings page under "Authorized OAuth Apps" on GitHub](https://github.com/settings/applications#authorized). + * @deprecated octokit.apps.revokeGrantForApplication() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#revoke-a-grant-for-an-application + */ + revokeGrantForApplication: { + ( + params?: Octokit.RequestOptions & + Octokit.AppsRevokeGrantForApplicationParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Revokes the installation token you're using to authenticate as an installation and access this endpoint. + * + * Once an installation token is revoked, the token is invalidated and cannot be used. Other endpoints that require the revoked installation token must have a new installation token to work. You can create a new token using the "[Create a new installation token](https://developer.github.com/v3/apps/#create-a-new-installation-token)" endpoint. + * + * You must use an [installation access token](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + */ + revokeInstallationToken: { + (params?: Octokit.RequestOptions & Octokit.EmptyParams): Promise< + Octokit.AnyResponse + >; + + endpoint: Octokit.Endpoint; + }; + }; + checks: { + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Creates a new check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to create check runs. + */ + create: { + (params?: Octokit.RequestOptions & Octokit.ChecksCreateParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * + * By default, check suites are automatically created when you create a [check run](https://developer.github.com/v3/checks/runs/). You only need to use this endpoint for manually creating check suites when you've disabled automatic creation using "[Set preferences for check suites on a repository](https://developer.github.com/v3/checks/suites/#set-preferences-for-check-suites-on-a-repository)". Your GitHub App must have the `checks:write` permission to create check suites. + */ + createSuite: { + ( + params?: Octokit.RequestOptions & Octokit.ChecksCreateSuiteParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Gets a single check run using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository. + */ + get: { + (params?: Octokit.RequestOptions & Octokit.ChecksGetParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * + * Gets a single check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check suites. OAuth Apps and authenticated users must have the `repo` scope to get check suites in a private repository. + */ + getSuite: { + (params?: Octokit.RequestOptions & Octokit.ChecksGetSuiteParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Lists annotations for a check run using the annotation `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get annotations for a check run. OAuth Apps and authenticated users must have the `repo` scope to get annotations for a check run in a private repository. + */ + listAnnotations: { + ( + params?: Octokit.RequestOptions & Octokit.ChecksListAnnotationsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Lists check runs for a commit ref. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository. + */ + listForRef: { + ( + params?: Octokit.RequestOptions & Octokit.ChecksListForRefParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Lists check runs for a check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository. + */ + listForSuite: { + ( + params?: Octokit.RequestOptions & Octokit.ChecksListForSuiteParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * + * Lists check suites for a commit `ref`. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to list check suites. OAuth Apps and authenticated users must have the `repo` scope to get check suites in a private repository. + */ + listSuitesForRef: { + ( + params?: Octokit.RequestOptions & Octokit.ChecksListSuitesForRefParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Triggers GitHub to rerequest an existing check suite, without pushing new code to a repository. This endpoint will trigger the [`check_suite` webhook](https://developer.github.com/v3/activity/events/types/#checksuiteevent) event with the action `rerequested`. When a check suite is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. + * + * To rerequest a check suite, your GitHub App must have the `checks:read` permission on a private repository or pull access to a public repository. + */ + rerequestSuite: { + ( + params?: Octokit.RequestOptions & Octokit.ChecksRerequestSuiteParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Changes the default automatic flow when creating check suites. By default, the CheckSuiteEvent is automatically created each time code is pushed to a repository. When you disable the automatic creation of check suites, you can manually [Create a check suite](https://developer.github.com/v3/checks/suites/#create-a-check-suite). You must have admin permissions in the repository to set preferences for check suites. + */ + setSuitesPreferences: { + ( + params?: Octokit.RequestOptions & + Octokit.ChecksSetSuitesPreferencesParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Updates a check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to edit check runs. + */ + update: { + (params?: Octokit.RequestOptions & Octokit.ChecksUpdateParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + }; + codesOfConduct: { + getConductCode: { + ( + params?: Octokit.RequestOptions & + Octokit.CodesOfConductGetConductCodeParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * This method returns the contents of the repository's code of conduct file, if one is detected. + */ + getForRepo: { + ( + params?: Octokit.RequestOptions & Octokit.CodesOfConductGetForRepoParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + listConductCodes: { + (params?: Octokit.RequestOptions & Octokit.EmptyParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + }; + emojis: { + /** + * Lists all the emojis available to use on GitHub. + */ + get: { + (params?: Octokit.RequestOptions & Octokit.EmptyParams): Promise< + Octokit.AnyResponse + >; + + endpoint: Octokit.Endpoint; + }; + }; + gists: { + checkIsStarred: { + ( + params?: Octokit.RequestOptions & Octokit.GistsCheckIsStarredParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Allows you to add a new gist with one or more files. + * + * **Note:** Don't name your files "gistfile" with a numerical suffix. This is the format of the automatic naming scheme that Gist uses internally. + */ + create: { + (params?: Octokit.RequestOptions & Octokit.GistsCreateParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + createComment: { + ( + params?: Octokit.RequestOptions & Octokit.GistsCreateCommentParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + delete: { + (params?: Octokit.RequestOptions & Octokit.GistsDeleteParams): Promise< + Octokit.AnyResponse + >; + + endpoint: Octokit.Endpoint; + }; + + deleteComment: { + ( + params?: Octokit.RequestOptions & Octokit.GistsDeleteCommentParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * **Note**: This was previously `/gists/:gist_id/fork`. + */ + fork: { + (params?: Octokit.RequestOptions & Octokit.GistsForkParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + get: { + (params?: Octokit.RequestOptions & Octokit.GistsGetParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + getComment: { + ( + params?: Octokit.RequestOptions & Octokit.GistsGetCommentParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + getRevision: { + ( + params?: Octokit.RequestOptions & Octokit.GistsGetRevisionParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + list: { + (params?: Octokit.RequestOptions & Octokit.GistsListParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + listComments: { + ( + params?: Octokit.RequestOptions & Octokit.GistsListCommentsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + listCommits: { + ( + params?: Octokit.RequestOptions & Octokit.GistsListCommitsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + listForks: { + (params?: Octokit.RequestOptions & Octokit.GistsListForksParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * List all public gists sorted by most recently updated to least recently updated. + * + * Note: With [pagination](https://developer.github.com/v3/#pagination), you can fetch up to 3000 gists. For example, you can fetch 100 pages with 30 gists per page or 30 pages with 100 gists per page. + */ + listPublic: { + ( + params?: Octokit.RequestOptions & Octokit.GistsListPublicParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + listPublicForUser: { + ( + params?: Octokit.RequestOptions & Octokit.GistsListPublicForUserParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * List the authenticated user's starred gists: + */ + listStarred: { + ( + params?: Octokit.RequestOptions & Octokit.GistsListStarredParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://developer.github.com/v3/#http-verbs)." + */ + star: { + (params?: Octokit.RequestOptions & Octokit.GistsStarParams): Promise< + Octokit.AnyResponse + >; + + endpoint: Octokit.Endpoint; + }; + + unstar: { + (params?: Octokit.RequestOptions & Octokit.GistsUnstarParams): Promise< + Octokit.AnyResponse + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Allows you to update or delete a gist file and rename gist files. Files from the previous version of the gist that aren't explicitly changed during an edit are unchanged. + */ + update: { + (params?: Octokit.RequestOptions & Octokit.GistsUpdateParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + updateComment: { + ( + params?: Octokit.RequestOptions & Octokit.GistsUpdateCommentParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + }; + git: { + createBlob: { + (params?: Octokit.RequestOptions & Octokit.GitCreateBlobParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Creates a new Git [commit object](https://git-scm.com/book/en/v1/Git-Internals-Git-Objects#Commit-Objects). + * + * In this example, the payload of the signature would be: + * + * + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ------------------------ | --------------------------------------------------------------------------------------------------------------------------------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + createCommit: { + ( + params?: Octokit.RequestOptions & Octokit.GitCreateCommitParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Creates a reference for your repository. You are unable to create new references for empty repositories, even if the commit SHA-1 hash used exists. Empty repositories are repositories without branches. + */ + createRef: { + (params?: Octokit.RequestOptions & Octokit.GitCreateRefParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Note that creating a tag object does not create the reference that makes a tag in Git. If you want to create an annotated tag in Git, you have to do this call to create the tag object, and then [create](https://developer.github.com/v3/git/refs/#create-a-reference) the `refs/tags/[tag]` reference. If you want to create a lightweight tag, you only have to [create](https://developer.github.com/v3/git/refs/#create-a-reference) the tag reference - this call would be unnecessary. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ------------------------ | --------------------------------------------------------------------------------------------------------------------------------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + createTag: { + (params?: Octokit.RequestOptions & Octokit.GitCreateTagParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * The tree creation API accepts nested entries. If you specify both a tree and a nested path modifying that tree, this endpoint will overwrite the contents of the tree with the new path contents, and create a new tree structure. + * + * If you use this endpoint to add, delete, or modify the file contents in a tree, you will need to commit the tree and then update a branch to point to the commit. For more information see "[Create a commit](https://developer.github.com/v3/git/commits/#create-a-commit)" and "[Update a reference](https://developer.github.com/v3/git/refs/#update-a-reference)." + */ + createTree: { + (params?: Octokit.RequestOptions & Octokit.GitCreateTreeParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * ``` + * DELETE /repos/octocat/Hello-World/git/refs/heads/feature-a + * ``` + * + * ``` + * DELETE /repos/octocat/Hello-World/git/refs/tags/v1.0 + * ``` + */ + deleteRef: { + (params?: Octokit.RequestOptions & Octokit.GitDeleteRefParams): Promise< + Octokit.AnyResponse + >; + + endpoint: Octokit.Endpoint; + }; + /** + * The `content` in the response will always be Base64 encoded. + * + * _Note_: This API supports blobs up to 100 megabytes in size. + */ + getBlob: { + (params?: Octokit.RequestOptions & Octokit.GitGetBlobParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Gets a Git [commit object](https://git-scm.com/book/en/v1/Git-Internals-Git-Objects#Commit-Objects). + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ------------------------ | --------------------------------------------------------------------------------------------------------------------------------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + getCommit: { + (params?: Octokit.RequestOptions & Octokit.GitGetCommitParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Returns a single reference from your Git database. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't match an existing ref, a `404` is returned. + * + * **Note:** You need to explicitly [request a pull request](https://developer.github.com/v3/pulls/#get-a-single-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://developer.github.com/v3/git/#checking-mergeability-of-pull-requests)". + * + * To get the reference for a branch named `skunkworkz/featureA`, the endpoint route is: + */ + getRef: { + (params?: Octokit.RequestOptions & Octokit.GitGetRefParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ------------------------ | --------------------------------------------------------------------------------------------------------------------------------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + getTag: { + (params?: Octokit.RequestOptions & Octokit.GitGetTagParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Returns a single tree using the SHA1 value for that tree. + * + * If `truncated` is `true` in the response then the number of items in the `tree` array exceeded our maximum limit. If you need to fetch more items, you can clone the repository and iterate over the Git data locally. + */ + getTree: { + (params?: Octokit.RequestOptions & Octokit.GitGetTreeParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Returns an array of references from your Git database that match the supplied name. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't exist in the repository, but existing refs start with `:ref`, they will be returned as an array. + * + * When you use this endpoint without providing a `:ref`, it will return an array of all the references from your Git database, including notes and stashes if they exist on the server. Anything in the namespace is returned, not just `heads` and `tags`. + * + * **Note:** You need to explicitly [request a pull request](https://developer.github.com/v3/pulls/#get-a-single-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://developer.github.com/v3/git/#checking-mergeability-of-pull-requests)". + * + * If you request matching references for a branch named `feature` but the branch `feature` doesn't exist, the response can still include other matching head refs that start with the word `feature`, such as `featureA` and `featureB`. + */ + listMatchingRefs: { + ( + params?: Octokit.RequestOptions & Octokit.GitListMatchingRefsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Returns an array of all the references from your Git database, including notes and stashes if they exist on the server. Anything in the namespace is returned, not just `heads` and `tags`. If there are no references to list, a `404` is returned. + */ + listRefs: { + (params?: Octokit.RequestOptions & Octokit.GitListRefsParams): Promise< + Octokit.AnyResponse + >; + + endpoint: Octokit.Endpoint; + }; + + updateRef: { + (params?: Octokit.RequestOptions & Octokit.GitUpdateRefParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + }; + gitignore: { + /** + * The API also allows fetching the source of a single template. + * + * Use the raw [media type](https://developer.github.com/v3/media/) to get the raw contents. + */ + getTemplate: { + ( + params?: Octokit.RequestOptions & Octokit.GitignoreGetTemplateParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * List all templates available to pass as an option when [creating a repository](https://developer.github.com/v3/repos/#create). + */ + listTemplates: { + (params?: Octokit.RequestOptions & Octokit.EmptyParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + }; + interactions: { + /** + * Temporarily restricts interactions to certain GitHub users in any public repository in the given organization. You must be an organization owner to set these restrictions. + */ + addOrUpdateRestrictionsForOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.InteractionsAddOrUpdateRestrictionsForOrgParams + ): Promise< + Octokit.Response< + Octokit.InteractionsAddOrUpdateRestrictionsForOrgResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Temporarily restricts interactions to certain GitHub users within the given repository. You must have owner or admin access to set restrictions. + */ + addOrUpdateRestrictionsForRepo: { + ( + params?: Octokit.RequestOptions & + Octokit.InteractionsAddOrUpdateRestrictionsForRepoParams + ): Promise< + Octokit.Response< + Octokit.InteractionsAddOrUpdateRestrictionsForRepoResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Shows which group of GitHub users can interact with this organization and when the restriction expires. If there are no restrictions, you will see an empty response. + */ + getRestrictionsForOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.InteractionsGetRestrictionsForOrgParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Shows which group of GitHub users can interact with this repository and when the restriction expires. If there are no restrictions, you will see an empty response. + */ + getRestrictionsForRepo: { + ( + params?: Octokit.RequestOptions & + Octokit.InteractionsGetRestrictionsForRepoParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Removes all interaction restrictions from public repositories in the given organization. You must be an organization owner to remove restrictions. + */ + removeRestrictionsForOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.InteractionsRemoveRestrictionsForOrgParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Removes all interaction restrictions from the given repository. You must have owner or admin access to remove restrictions. + */ + removeRestrictionsForRepo: { + ( + params?: Octokit.RequestOptions & + Octokit.InteractionsRemoveRestrictionsForRepoParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + }; + issues: { + /** + * Adds up to 10 assignees to an issue. Users already assigned to an issue are not replaced. + * + * This example adds two assignees to the existing `octocat` assignee. + */ + addAssignees: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesAddAssigneesParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.IssuesAddAssigneesParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + addLabels: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesAddLabelsParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.IssuesAddLabelsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Checks if a user has permission to be assigned to an issue in this repository. + * + * If the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned. + * + * Otherwise a `404` status code is returned. + */ + checkAssignee: { + ( + params?: Octokit.RequestOptions & Octokit.IssuesCheckAssigneeParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Any user with pull access to a repository can create an issue. If [issues are disabled in the repository](https://help.github.com/articles/disabling-issues/), the API returns a `410 Gone` status. + * + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://developer.github.com/v3/#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://developer.github.com/v3/guides/best-practices-for-integrators/#dealing-with-abuse-rate-limits)" for details. + */ + create: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesCreateParamsDeprecatedAssignee + ): Promise>; + (params?: Octokit.RequestOptions & Octokit.IssuesCreateParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://developer.github.com/v3/#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://developer.github.com/v3/guides/best-practices-for-integrators/#dealing-with-abuse-rate-limits)" for details. + */ + createComment: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesCreateCommentParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.IssuesCreateCommentParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + createLabel: { + ( + params?: Octokit.RequestOptions & Octokit.IssuesCreateLabelParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + createMilestone: { + ( + params?: Octokit.RequestOptions & Octokit.IssuesCreateMilestoneParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + deleteComment: { + ( + params?: Octokit.RequestOptions & Octokit.IssuesDeleteCommentParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + deleteLabel: { + ( + params?: Octokit.RequestOptions & Octokit.IssuesDeleteLabelParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + deleteMilestone: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesDeleteMilestoneParamsDeprecatedNumber + ): Promise; + ( + params?: Octokit.RequestOptions & Octokit.IssuesDeleteMilestoneParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * The API returns a [`301 Moved Permanently` status](https://developer.github.com/v3/#http-redirects) if the issue was [transferred](https://help.github.com/articles/transferring-an-issue-to-another-repository/) to another repository. If the issue was transferred to or deleted from a repository where the authenticated user lacks read access, the API returns a `404 Not Found` status. If the issue was deleted from a repository where the authenticated user has read access, the API returns a `410 Gone` status. To receive webhook events for transferred and deleted issues, subscribe to the [`issues`](https://developer.github.com/v3/activity/events/types/#issuesevent) webhook. + * + * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by the `pull_request` key. + * + * Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull request id, use the "[List pull requests](https://developer.github.com/v3/pulls/#list-pull-requests)" endpoint. + */ + get: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesGetParamsDeprecatedNumber + ): Promise>; + (params?: Octokit.RequestOptions & Octokit.IssuesGetParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + getComment: { + ( + params?: Octokit.RequestOptions & Octokit.IssuesGetCommentParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + getEvent: { + (params?: Octokit.RequestOptions & Octokit.IssuesGetEventParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + getLabel: { + (params?: Octokit.RequestOptions & Octokit.IssuesGetLabelParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + getMilestone: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesGetMilestoneParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.IssuesGetMilestoneParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by the `pull_request` key. + * + * Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull request id, use the "[List pull requests](https://developer.github.com/v3/pulls/#list-pull-requests)" endpoint. + */ + list: { + (params?: Octokit.RequestOptions & Octokit.IssuesListParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Lists the [available assignees](https://help.github.com/articles/assigning-issues-and-pull-requests-to-other-github-users/) for issues in a repository. + */ + listAssignees: { + ( + params?: Octokit.RequestOptions & Octokit.IssuesListAssigneesParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Issue Comments are ordered by ascending ID. + */ + listComments: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesListCommentsParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.IssuesListCommentsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * By default, Issue Comments are ordered by ascending ID. + */ + listCommentsForRepo: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesListCommentsForRepoParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + listEvents: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesListEventsParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.IssuesListEventsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + listEventsForRepo: { + ( + params?: Octokit.RequestOptions & Octokit.IssuesListEventsForRepoParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + listEventsForTimeline: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesListEventsForTimelineParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & + Octokit.IssuesListEventsForTimelineParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by the `pull_request` key. + * + * Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull request id, use the "[List pull requests](https://developer.github.com/v3/pulls/#list-pull-requests)" endpoint. + */ + listForAuthenticatedUser: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesListForAuthenticatedUserParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by the `pull_request` key. + * + * Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull request id, use the "[List pull requests](https://developer.github.com/v3/pulls/#list-pull-requests)" endpoint. + */ + listForOrg: { + ( + params?: Octokit.RequestOptions & Octokit.IssuesListForOrgParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by the `pull_request` key. + * + * Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull request id, use the "[List pull requests](https://developer.github.com/v3/pulls/#list-pull-requests)" endpoint. + */ + listForRepo: { + ( + params?: Octokit.RequestOptions & Octokit.IssuesListForRepoParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + listLabelsForMilestone: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesListLabelsForMilestoneParamsDeprecatedNumber + ): Promise< + Octokit.Response + >; + ( + params?: Octokit.RequestOptions & + Octokit.IssuesListLabelsForMilestoneParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + listLabelsForRepo: { + ( + params?: Octokit.RequestOptions & Octokit.IssuesListLabelsForRepoParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + listLabelsOnIssue: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesListLabelsOnIssueParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.IssuesListLabelsOnIssueParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + listMilestonesForRepo: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesListMilestonesForRepoParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Users with push access can lock an issue or pull request's conversation. + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://developer.github.com/v3/#http-verbs)." + */ + lock: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesLockParamsDeprecatedNumber + ): Promise; + (params?: Octokit.RequestOptions & Octokit.IssuesLockParams): Promise< + Octokit.AnyResponse + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Removes one or more assignees from an issue. + * + * This example removes two of three assignees, leaving the `octocat` assignee. + */ + removeAssignees: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesRemoveAssigneesParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.IssuesRemoveAssigneesParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Removes the specified label from the issue, and returns the remaining labels on the issue. This endpoint returns a `404 Not Found` status if the label does not exist. + */ + removeLabel: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesRemoveLabelParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.IssuesRemoveLabelParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + removeLabels: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesRemoveLabelsParamsDeprecatedNumber + ): Promise; + ( + params?: Octokit.RequestOptions & Octokit.IssuesRemoveLabelsParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + replaceLabels: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesReplaceLabelsParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.IssuesReplaceLabelsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Users with push access can unlock an issue's conversation. + */ + unlock: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesUnlockParamsDeprecatedNumber + ): Promise; + (params?: Octokit.RequestOptions & Octokit.IssuesUnlockParams): Promise< + Octokit.AnyResponse + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Issue owners and users with push access can edit an issue. + */ + update: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesUpdateParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & + Octokit.IssuesUpdateParamsDeprecatedAssignee + ): Promise>; + (params?: Octokit.RequestOptions & Octokit.IssuesUpdateParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + updateComment: { + ( + params?: Octokit.RequestOptions & Octokit.IssuesUpdateCommentParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + updateLabel: { + ( + params?: Octokit.RequestOptions & Octokit.IssuesUpdateLabelParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + updateMilestone: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesUpdateMilestoneParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.IssuesUpdateMilestoneParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + }; + licenses: { + get: { + (params?: Octokit.RequestOptions & Octokit.LicensesGetParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * This method returns the contents of the repository's license file, if one is detected. + * + * Similar to [the repository contents API](https://developer.github.com/v3/repos/contents/#get-contents), this method also supports [custom media types](https://developer.github.com/v3/repos/contents/#custom-media-types) for retrieving the raw license content or rendered license HTML. + */ + getForRepo: { + ( + params?: Octokit.RequestOptions & Octokit.LicensesGetForRepoParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * @deprecated octokit.licenses.list() has been renamed to octokit.licenses.listCommonlyUsed() (2019-03-05) + */ + list: { + (params?: Octokit.RequestOptions & Octokit.EmptyParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + listCommonlyUsed: { + (params?: Octokit.RequestOptions & Octokit.EmptyParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + }; + markdown: { + render: { + (params?: Octokit.RequestOptions & Octokit.MarkdownRenderParams): Promise< + Octokit.AnyResponse + >; + + endpoint: Octokit.Endpoint; + }; + /** + * You must send Markdown as plain text (using a `Content-Type` header of `text/plain` or `text/x-markdown`) to this endpoint, rather than using JSON format. In raw mode, [GitHub Flavored Markdown](https://github.github.com/gfm/) is not supported and Markdown will be rendered in plain format like a README.md file. Markdown content must be 400 KB or less. + */ + renderRaw: { + ( + params?: Octokit.RequestOptions & Octokit.MarkdownRenderRawParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + }; + meta: { + /** + * This endpoint provides a list of GitHub's IP addresses. For more information, see "[About GitHub's IP addresses](https://help.github.com/articles/about-github-s-ip-addresses/)." + */ + get: { + (params?: Octokit.RequestOptions & Octokit.EmptyParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + }; + migrations: { + /** + * Stop an import for a repository. + */ + cancelImport: { + ( + params?: Octokit.RequestOptions & Octokit.MigrationsCancelImportParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Deletes a previous migration archive. Downloadable migration archives are automatically deleted after seven days. Migration metadata, which is returned in the [List user migrations](https://developer.github.com/v3/migrations/users/#list-user-migrations) and [Get the status of a user migration](https://developer.github.com/v3/migrations/users/#get-the-status-of-a-user-migration) endpoints, will continue to be available even after an archive is deleted. + */ + deleteArchiveForAuthenticatedUser: { + ( + params?: Octokit.RequestOptions & + Octokit.MigrationsDeleteArchiveForAuthenticatedUserParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Deletes a previous migration archive. Migration archives are automatically deleted after seven days. + */ + deleteArchiveForOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.MigrationsDeleteArchiveForOrgParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Fetches the URL to a migration archive. + */ + downloadArchiveForOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.MigrationsDownloadArchiveForOrgParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Fetches the URL to download the migration archive as a `tar.gz` file. Depending on the resources your repository uses, the migration archive can contain JSON files with data for these objects: + * + * * attachments + * * bases + * * commit\_comments + * * issue\_comments + * * issue\_events + * * issues + * * milestones + * * organizations + * * projects + * * protected\_branches + * * pull\_request\_reviews + * * pull\_requests + * * releases + * * repositories + * * review\_comments + * * schema + * * users + * + * The archive will also contain an `attachments` directory that includes all attachment files uploaded to GitHub.com and a `repositories` directory that contains the repository's Git data. + */ + getArchiveForAuthenticatedUser: { + ( + params?: Octokit.RequestOptions & + Octokit.MigrationsGetArchiveForAuthenticatedUserParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Fetches the URL to a migration archive. + * + * + * @deprecated octokit.migrations.getArchiveForOrg() has been renamed to octokit.migrations.downloadArchiveForOrg() (2020-01-27) + */ + getArchiveForOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.MigrationsGetArchiveForOrgParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Each type of source control system represents authors in a different way. For example, a Git commit author has a display name and an email address, but a Subversion commit author just has a username. The GitHub Importer will make the author information valid, but the author might not be correct. For example, it will change the bare Subversion username `hubot` into something like `hubot `. + * + * This API method and the "Map a commit author" method allow you to provide correct Git author information. + */ + getCommitAuthors: { + ( + params?: Octokit.RequestOptions & + Octokit.MigrationsGetCommitAuthorsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * View the progress of an import. + * + * **Import status** + * + * This section includes details about the possible values of the `status` field of the Import Progress response. + * + * An import that does not have errors will progress through these steps: + * + * * `detecting` - the "detection" step of the import is in progress because the request did not include a `vcs` parameter. The import is identifying the type of source control present at the URL. + * * `importing` - the "raw" step of the import is in progress. This is where commit data is fetched from the original repository. The import progress response will include `commit_count` (the total number of raw commits that will be imported) and `percent` (0 - 100, the current progress through the import). + * * `mapping` - the "rewrite" step of the import is in progress. This is where SVN branches are converted to Git branches, and where author updates are applied. The import progress response does not include progress information. + * * `pushing` - the "push" step of the import is in progress. This is where the importer updates the repository on GitHub. The import progress response will include `push_percent`, which is the percent value reported by `git push` when it is "Writing objects". + * * `complete` - the import is complete, and the repository is ready on GitHub. + * + * If there are problems, you will see one of these in the `status` field: + * + * * `auth_failed` - the import requires authentication in order to connect to the original repository. To update authentication for the import, please see the [Update Existing Import](https://developer.github.com/v3/migrations/source_imports/#update-existing-import) section. + * * `error` - the import encountered an error. The import progress response will include the `failed_step` and an error message. Contact [GitHub Support](https://github.com/contact) or [GitHub Premium Support](https://premium.githubsupport.com) for more information. + * * `detection_needs_auth` - the importer requires authentication for the originating repository to continue detection. To update authentication for the import, please see the [Update Existing Import](https://developer.github.com/v3/migrations/source_imports/#update-existing-import) section. + * * `detection_found_nothing` - the importer didn't recognize any source control at the URL. To resolve, [Cancel the import](https://developer.github.com/v3/migrations/source_imports/#cancel-an-import) and [retry](https://developer.github.com/v3/migrations/source_imports/#start-an-import) with the correct URL. + * * `detection_found_multiple` - the importer found several projects or repositories at the provided URL. When this is the case, the Import Progress response will also include a `project_choices` field with the possible project choices as values. To update project choice, please see the [Update Existing Import](https://developer.github.com/v3/migrations/source_imports/#update-existing-import) section. + * + * **The project_choices field** + * + * When multiple projects are found at the provided URL, the response hash will include a `project_choices` field, the value of which is an array of hashes each representing a project choice. The exact key/value pairs of the project hashes will differ depending on the version control type. + * + * **Git LFS related fields** + * + * This section includes details about Git LFS related fields that may be present in the Import Progress response. + * + * * `use_lfs` - describes whether the import has been opted in or out of using Git LFS. The value can be `opt_in`, `opt_out`, or `undecided` if no action has been taken. + * * `has_large_files` - the boolean value describing whether files larger than 100MB were found during the `importing` step. + * * `large_files_size` - the total size in gigabytes of files larger than 100MB found in the originating repository. + * * `large_files_count` - the total number of files larger than 100MB found in the originating repository. To see a list of these files, make a "Get Large Files" request. + */ + getImportProgress: { + ( + params?: Octokit.RequestOptions & + Octokit.MigrationsGetImportProgressParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * List files larger than 100MB found during the import + */ + getLargeFiles: { + ( + params?: Octokit.RequestOptions & Octokit.MigrationsGetLargeFilesParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Fetches a single user migration. The response includes the `state` of the migration, which can be one of the following values: + * + * * `pending` - the migration hasn't started yet. + * * `exporting` - the migration is in progress. + * * `exported` - the migration finished successfully. + * * `failed` - the migration failed. + * + * Once the migration has been `exported` you can [download the migration archive](https://developer.github.com/v3/migrations/users/#download-a-user-migration-archive). + */ + getStatusForAuthenticatedUser: { + ( + params?: Octokit.RequestOptions & + Octokit.MigrationsGetStatusForAuthenticatedUserParams + ): Promise< + Octokit.Response< + Octokit.MigrationsGetStatusForAuthenticatedUserResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Fetches the status of a migration. + * + * The `state` of a migration can be one of the following values: + * + * * `pending`, which means the migration hasn't started yet. + * * `exporting`, which means the migration is in progress. + * * `exported`, which means the migration finished successfully. + * * `failed`, which means the migration failed. + */ + getStatusForOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.MigrationsGetStatusForOrgParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Lists all migrations a user has started. + */ + listForAuthenticatedUser: { + ( + params?: Octokit.RequestOptions & + Octokit.MigrationsListForAuthenticatedUserParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Lists the most recent migrations. + */ + listForOrg: { + ( + params?: Octokit.RequestOptions & Octokit.MigrationsListForOrgParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * List all the repositories for this organization migration. + */ + listReposForOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.MigrationsListReposForOrgParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Lists all the repositories for this user migration. + */ + listReposForUser: { + ( + params?: Octokit.RequestOptions & + Octokit.MigrationsListReposForUserParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Update an author's identity for the import. Your application can continue updating authors any time before you push new commits to the repository. + */ + mapCommitAuthor: { + ( + params?: Octokit.RequestOptions & + Octokit.MigrationsMapCommitAuthorParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * You can import repositories from Subversion, Mercurial, and TFS that include files larger than 100MB. This ability is powered by [Git LFS](https://git-lfs.github.com). You can learn more about our LFS feature and working with large files [on our help site](https://help.github.com/articles/versioning-large-files/). + */ + setLfsPreference: { + ( + params?: Octokit.RequestOptions & + Octokit.MigrationsSetLfsPreferenceParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Initiates the generation of a user migration archive. + */ + startForAuthenticatedUser: { + ( + params?: Octokit.RequestOptions & + Octokit.MigrationsStartForAuthenticatedUserParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Initiates the generation of a migration archive. + */ + startForOrg: { + ( + params?: Octokit.RequestOptions & Octokit.MigrationsStartForOrgParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Start a source import to a GitHub repository using GitHub Importer. + */ + startImport: { + ( + params?: Octokit.RequestOptions & Octokit.MigrationsStartImportParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Unlocks a repository. You can lock repositories when you [start a user migration](https://developer.github.com/v3/migrations/users/#start-a-user-migration). Once the migration is complete you can unlock each repository to begin using it again or [delete the repository](https://developer.github.com/v3/repos/#delete-a-repository) if you no longer need the source data. Returns a status of `404 Not Found` if the repository is not locked. + */ + unlockRepoForAuthenticatedUser: { + ( + params?: Octokit.RequestOptions & + Octokit.MigrationsUnlockRepoForAuthenticatedUserParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Unlocks a repository that was locked for migration. You should unlock each migrated repository and [delete them](https://developer.github.com/v3/repos/#delete-a-repository) when the migration is complete and you no longer need the source data. + */ + unlockRepoForOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.MigrationsUnlockRepoForOrgParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * An import can be updated with credentials or a project choice by passing in the appropriate parameters in this API request. If no parameters are provided, the import will be restarted. + * + * Some servers (e.g. TFS servers) can have several projects at a single URL. In those cases the import progress will have the status `detection_found_multiple` and the Import Progress response will include a `project_choices` array. You can select the project to import by providing one of the objects in the `project_choices` array in the update request. + * + * The following example demonstrates the workflow for updating an import with "project1" as the project choice. Given a `project_choices` array like such: + * + * To restart an import, no parameters are provided in the update request. + */ + updateImport: { + ( + params?: Octokit.RequestOptions & Octokit.MigrationsUpdateImportParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + }; + oauthAuthorizations: { + /** + * **Deprecation Notice:** GitHub will replace and discontinue OAuth endpoints containing `access_token` in the path parameter. We are introducing new endpoints that allow you to securely manage tokens for OAuth Apps by using `access_token` as an input parameter. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * OAuth applications can use a special API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://developer.github.com/v3/auth#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. + * @deprecated octokit.oauthAuthorizations.checkAuthorization() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#check-an-authorization + */ + checkAuthorization: { + ( + params?: Octokit.RequestOptions & + Octokit.OauthAuthorizationsCheckAuthorizationParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * **Warning:** Apps must use the [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * Creates OAuth tokens using [Basic Authentication](https://developer.github.com/v3/auth#basic-authentication). If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://developer.github.com/v3/auth/#working-with-two-factor-authentication)." + * + * To create tokens for a particular OAuth application using this endpoint, you must authenticate as the user you want to create an authorization for and provide the app's client ID and secret, found on your OAuth application's settings page. If your OAuth application intends to create multiple tokens for one user, use `fingerprint` to differentiate between them. + * + * You can also create tokens on GitHub from the [personal access tokens settings](https://github.com/settings/tokens) page. Read more about these tokens in [the GitHub Help documentation](https://help.github.com/articles/creating-an-access-token-for-command-line-use). + * + * Organizations that enforce SAML SSO require personal access tokens to be whitelisted. Read more about whitelisting tokens in [the GitHub Help documentation](https://help.github.com/articles/about-identity-and-access-management-with-saml-single-sign-on). + * @deprecated octokit.oauthAuthorizations.createAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#create-a-new-authorization + */ + createAuthorization: { + ( + params?: Octokit.RequestOptions & + Octokit.OauthAuthorizationsCreateAuthorizationParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * @deprecated octokit.oauthAuthorizations.deleteAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#delete-an-authorization + */ + deleteAuthorization: { + ( + params?: Octokit.RequestOptions & + Octokit.OauthAuthorizationsDeleteAuthorizationParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * Deleting an OAuth application's grant will also delete all OAuth tokens associated with the application for your user. Once deleted, the application has no access to your account and is no longer listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). + * @deprecated octokit.oauthAuthorizations.deleteGrant() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#delete-a-grant + */ + deleteGrant: { + ( + params?: Octokit.RequestOptions & + Octokit.OauthAuthorizationsDeleteGrantParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * @deprecated octokit.oauthAuthorizations.getAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-a-single-authorization + */ + getAuthorization: { + ( + params?: Octokit.RequestOptions & + Octokit.OauthAuthorizationsGetAuthorizationParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * @deprecated octokit.oauthAuthorizations.getGrant() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-a-single-grant + */ + getGrant: { + ( + params?: Octokit.RequestOptions & + Octokit.OauthAuthorizationsGetGrantParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * **Warning:** Apps must use the [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * Creates a new authorization for the specified OAuth application, only if an authorization for that application doesn't already exist for the user. The URL includes the 20 character client ID for the OAuth app that is requesting the token. It returns the user's existing authorization for the application if one is present. Otherwise, it creates and returns a new one. + * + * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://developer.github.com/v3/auth/#working-with-two-factor-authentication)." + * + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * @deprecated octokit.oauthAuthorizations.getOrCreateAuthorizationForApp() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app + */ + getOrCreateAuthorizationForApp: { + ( + params?: Octokit.RequestOptions & + Octokit.OauthAuthorizationsGetOrCreateAuthorizationForAppParams + ): Promise< + Octokit.Response< + Octokit.OauthAuthorizationsGetOrCreateAuthorizationForAppResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * **Warning:** Apps must use the [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * This method will create a new authorization for the specified OAuth application, only if an authorization for that application and fingerprint do not already exist for the user. The URL includes the 20 character client ID for the OAuth app that is requesting the token. `fingerprint` is a unique string to distinguish an authorization from others created for the same client ID and user. It returns the user's existing authorization for the application if one is present. Otherwise, it creates and returns a new one. + * + * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://developer.github.com/v3/auth/#working-with-two-factor-authentication)." + * @deprecated octokit.oauthAuthorizations.getOrCreateAuthorizationForAppAndFingerprint() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app-and-fingerprint + */ + getOrCreateAuthorizationForAppAndFingerprint: { + ( + params?: Octokit.RequestOptions & + Octokit.OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintParams + ): Promise< + Octokit.Response< + Octokit.OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * **Warning:** Apps must use the [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * This method will create a new authorization for the specified OAuth application, only if an authorization for that application and fingerprint do not already exist for the user. The URL includes the 20 character client ID for the OAuth app that is requesting the token. `fingerprint` is a unique string to distinguish an authorization from others created for the same client ID and user. It returns the user's existing authorization for the application if one is present. Otherwise, it creates and returns a new one. + * + * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://developer.github.com/v3/auth/#working-with-two-factor-authentication)." + * @deprecated octokit.oauthAuthorizations.getOrCreateAuthorizationForAppFingerprint() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app-and-fingerprint + */ + getOrCreateAuthorizationForAppFingerprint: { + ( + params?: Octokit.RequestOptions & + Octokit.OauthAuthorizationsGetOrCreateAuthorizationForAppFingerprintParams + ): Promise< + Octokit.Response< + Octokit.OauthAuthorizationsGetOrCreateAuthorizationForAppFingerprintResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * @deprecated octokit.oauthAuthorizations.listAuthorizations() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#list-your-authorizations + */ + listAuthorizations: { + ( + params?: Octokit.RequestOptions & + Octokit.OauthAuthorizationsListAuthorizationsParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * You can use this API to list the set of OAuth applications that have been granted access to your account. Unlike the [list your authorizations](https://developer.github.com/v3/oauth_authorizations/#list-your-authorizations) API, this API does not manage individual tokens. This API will return one entry for each OAuth application that has been granted access to your account, regardless of the number of tokens an application has generated for your user. The list of OAuth applications returned matches what is shown on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). The `scopes` returned are the union of scopes authorized for the application. For example, if an application has one token with `repo` scope and another token with `user` scope, the grant will return `["repo", "user"]`. + * @deprecated octokit.oauthAuthorizations.listGrants() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#list-your-grants + */ + listGrants: { + ( + params?: Octokit.RequestOptions & + Octokit.OauthAuthorizationsListGrantsParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** GitHub will replace and discontinue OAuth endpoints containing `access_token` in the path parameter. We are introducing new endpoints that allow you to securely manage tokens for OAuth Apps by using `access_token` as an input parameter. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * OAuth applications can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the "token" property in the response because changes take effect immediately. You must use [Basic Authentication](https://developer.github.com/v3/auth#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. + * @deprecated octokit.oauthAuthorizations.resetAuthorization() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#reset-an-authorization + */ + resetAuthorization: { + ( + params?: Octokit.RequestOptions & + Octokit.OauthAuthorizationsResetAuthorizationParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** GitHub will replace and discontinue OAuth endpoints containing `access_token` in the path parameter. We are introducing new endpoints that allow you to securely manage tokens for OAuth Apps by using `access_token` as an input parameter. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * OAuth application owners can revoke a single token for an OAuth application. You must use [Basic Authentication](https://developer.github.com/v3/auth#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. + * @deprecated octokit.oauthAuthorizations.revokeAuthorizationForApplication() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#revoke-an-authorization-for-an-application + */ + revokeAuthorizationForApplication: { + ( + params?: Octokit.RequestOptions & + Octokit.OauthAuthorizationsRevokeAuthorizationForApplicationParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** GitHub will replace and discontinue OAuth endpoints containing `access_token` in the path parameter. We are introducing new endpoints that allow you to securely manage tokens for OAuth Apps by using `access_token` as an input parameter. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * OAuth application owners can revoke a grant for their OAuth application and a specific user. You must use [Basic Authentication](https://developer.github.com/v3/auth#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. You must also provide a valid token as `:access_token` and the grant for the token's owner will be deleted. + * + * Deleting an OAuth application's grant will also delete all OAuth tokens associated with the application for the user. Once deleted, the application will have no access to the user's account and will no longer be listed on [the Applications settings page under "Authorized OAuth Apps" on GitHub](https://github.com/settings/applications#authorized). + * @deprecated octokit.oauthAuthorizations.revokeGrantForApplication() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#revoke-a-grant-for-an-application + */ + revokeGrantForApplication: { + ( + params?: Octokit.RequestOptions & + Octokit.OauthAuthorizationsRevokeGrantForApplicationParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://developer.github.com/v3/auth/#working-with-two-factor-authentication)." + * + * You can only send one of these scope keys at a time. + * @deprecated octokit.oauthAuthorizations.updateAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#update-an-existing-authorization + */ + updateAuthorization: { + ( + params?: Octokit.RequestOptions & + Octokit.OauthAuthorizationsUpdateAuthorizationParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + }; + orgs: { + /** + * Only authenticated organization owners can add a member to the organization or update the member's role. + * + * * If the authenticated user is _adding_ a member to the organization, the invited user will receive an email inviting them to the organization. The user's [membership status](https://developer.github.com/v3/orgs/members/#get-organization-membership) will be `pending` until they accept the invitation. + * + * * Authenticated users can _update_ a user's membership by passing the `role` parameter. If the authenticated user changes a member's role to `admin`, the affected user will receive an email notifying them that they've been made an organization owner. If the authenticated user changes an owner's role to `member`, no email will be sent. + * + * **Rate limits** + * + * To prevent abuse, the authenticated user is limited to 50 organization invitations per 24 hour period. If the organization is more than one month old or on a paid plan, the limit is 500 invitations per 24 hour period. + */ + addOrUpdateMembership: { + ( + params?: Octokit.RequestOptions & + Octokit.OrgsAddOrUpdateMembershipParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + blockUser: { + (params?: Octokit.RequestOptions & Octokit.OrgsBlockUserParams): Promise< + Octokit.AnyResponse + >; + + endpoint: Octokit.Endpoint; + }; + /** + * If the user is blocked: + * + * If the user is not blocked: + */ + checkBlockedUser: { + ( + params?: Octokit.RequestOptions & Octokit.OrgsCheckBlockedUserParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Check if a user is, publicly or privately, a member of the organization. + */ + checkMembership: { + ( + params?: Octokit.RequestOptions & Octokit.OrgsCheckMembershipParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + checkPublicMembership: { + ( + params?: Octokit.RequestOptions & + Octokit.OrgsCheckPublicMembershipParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + concealMembership: { + ( + params?: Octokit.RequestOptions & Octokit.OrgsConcealMembershipParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * When an organization member is converted to an outside collaborator, they'll only have access to the repositories that their current team membership allows. The user will no longer be a member of the organization. For more information, see "[Converting an organization member to an outside collaborator](https://help.github.com/articles/converting-an-organization-member-to-an-outside-collaborator/)". + */ + convertMemberToOutsideCollaborator: { + ( + params?: Octokit.RequestOptions & + Octokit.OrgsConvertMemberToOutsideCollaboratorParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Here's how you can create a hook that posts payloads in JSON format: + */ + createHook: { + (params?: Octokit.RequestOptions & Octokit.OrgsCreateHookParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Invite people to an organization by using their GitHub user ID or their email address. In order to create invitations in an organization, the authenticated user must be an organization owner. + * + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://developer.github.com/v3/#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://developer.github.com/v3/guides/best-practices-for-integrators/#dealing-with-abuse-rate-limits)" for details. + */ + createInvitation: { + ( + params?: Octokit.RequestOptions & Octokit.OrgsCreateInvitationParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + deleteHook: { + (params?: Octokit.RequestOptions & Octokit.OrgsDeleteHookParams): Promise< + Octokit.AnyResponse + >; + + endpoint: Octokit.Endpoint; + }; + /** + * To see many of the organization response values, you need to be an authenticated organization owner with the `admin:org` scope. When the value of `two_factor_requirement_enabled` is `true`, the organization requires all members, billing managers, and outside collaborators to enable [two-factor authentication](https://help.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/). + * + * GitHub Apps with the `Organization plan` permission can use this endpoint to retrieve information about an organization's GitHub plan. See "[Authenticating with GitHub Apps](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/)" for details. For an example response, see "[Response with GitHub plan information](https://developer.github.com/v3/orgs/#response-with-github-plan-information)." + */ + get: { + (params?: Octokit.RequestOptions & Octokit.OrgsGetParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + getHook: { + (params?: Octokit.RequestOptions & Octokit.OrgsGetHookParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * In order to get a user's membership with an organization, the authenticated user must be an organization member. + */ + getMembership: { + ( + params?: Octokit.RequestOptions & Octokit.OrgsGetMembershipParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + getMembershipForAuthenticatedUser: { + ( + params?: Octokit.RequestOptions & + Octokit.OrgsGetMembershipForAuthenticatedUserParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Lists all organizations, in the order that they were created on GitHub. + * + * **Note:** Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://developer.github.com/v3/#link-header) to get the URL for the next page of organizations. + */ + list: { + (params?: Octokit.RequestOptions & Octokit.OrgsListParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * List the users blocked by an organization. + */ + listBlockedUsers: { + ( + params?: Octokit.RequestOptions & Octokit.OrgsListBlockedUsersParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * List organizations for the authenticated user. + * + * **OAuth scope requirements** + * + * This only lists organizations that your authorization allows you to operate on in some way (e.g., you can list teams with `read:org` scope, you can publicize your organization membership with `user` scope, etc.). Therefore, this API requires at least `user` or `read:org` scope. OAuth requests with insufficient scope receive a `403 Forbidden` response. + */ + listForAuthenticatedUser: { + ( + params?: Octokit.RequestOptions & + Octokit.OrgsListForAuthenticatedUserParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * List [public organization memberships](https://help.github.com/articles/publicizing-or-concealing-organization-membership) for the specified user. + * + * This method only lists _public_ memberships, regardless of authentication. If you need to fetch all of the organization memberships (public and private) for the authenticated user, use the [List your organizations](https://developer.github.com/v3/orgs/#list-your-organizations) API instead. + */ + listForUser: { + ( + params?: Octokit.RequestOptions & Octokit.OrgsListForUserParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + listHooks: { + (params?: Octokit.RequestOptions & Octokit.OrgsListHooksParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Lists all GitHub Apps in an organization. The installation count includes all GitHub Apps installed on repositories in the organization. You must be an organization owner with `admin:read` scope to use this endpoint. + */ + listInstallations: { + ( + params?: Octokit.RequestOptions & Octokit.OrgsListInstallationsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * List all teams associated with an invitation. In order to see invitations in an organization, the authenticated user must be an organization owner. + */ + listInvitationTeams: { + ( + params?: Octokit.RequestOptions & Octokit.OrgsListInvitationTeamsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * List all users who are members of an organization. If the authenticated user is also a member of this organization then both concealed and public members will be returned. + */ + listMembers: { + ( + params?: Octokit.RequestOptions & Octokit.OrgsListMembersParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + listMemberships: { + ( + params?: Octokit.RequestOptions & Octokit.OrgsListMembershipsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * List all users who are outside collaborators of an organization. + */ + listOutsideCollaborators: { + ( + params?: Octokit.RequestOptions & + Octokit.OrgsListOutsideCollaboratorsParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. + */ + listPendingInvitations: { + ( + params?: Octokit.RequestOptions & + Octokit.OrgsListPendingInvitationsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Members of an organization can choose to have their membership publicized or not. + */ + listPublicMembers: { + ( + params?: Octokit.RequestOptions & Octokit.OrgsListPublicMembersParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * This will trigger a [ping event](https://developer.github.com/webhooks/#ping-event) to be sent to the hook. + */ + pingHook: { + (params?: Octokit.RequestOptions & Octokit.OrgsPingHookParams): Promise< + Octokit.AnyResponse + >; + + endpoint: Octokit.Endpoint; + }; + /** + * The user can publicize their own membership. (A user cannot publicize the membership for another user.) + * + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://developer.github.com/v3/#http-verbs)." + */ + publicizeMembership: { + ( + params?: Octokit.RequestOptions & Octokit.OrgsPublicizeMembershipParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories. + */ + removeMember: { + ( + params?: Octokit.RequestOptions & Octokit.OrgsRemoveMemberParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * In order to remove a user's membership with an organization, the authenticated user must be an organization owner. + * + * If the specified user is an active member of the organization, this will remove them from the organization. If the specified user has been invited to the organization, this will cancel their invitation. The specified user will receive an email notification in both cases. + */ + removeMembership: { + ( + params?: Octokit.RequestOptions & Octokit.OrgsRemoveMembershipParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Removing a user from this list will remove them from all the organization's repositories. + */ + removeOutsideCollaborator: { + ( + params?: Octokit.RequestOptions & + Octokit.OrgsRemoveOutsideCollaboratorParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + unblockUser: { + ( + params?: Octokit.RequestOptions & Octokit.OrgsUnblockUserParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * **Parameter Deprecation Notice:** GitHub will replace and discontinue `members_allowed_repository_creation_type` in favor of more granular permissions. The new input parameters are `members_can_create_public_repositories`, `members_can_create_private_repositories` for all organizations and `members_can_create_internal_repositories` for organizations associated with an enterprise account using GitHub Enterprise Cloud. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes). + * + * Enables an authenticated organization owner with the `admin:org` scope to update the organization's profile and member privileges. + */ + update: { + ( + params?: Octokit.RequestOptions & + Octokit.OrgsUpdateParamsDeprecatedMembersAllowedRepositoryCreationType + ): Promise>; + (params?: Octokit.RequestOptions & Octokit.OrgsUpdateParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + updateHook: { + (params?: Octokit.RequestOptions & Octokit.OrgsUpdateHookParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + updateMembership: { + ( + params?: Octokit.RequestOptions & Octokit.OrgsUpdateMembershipParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + }; + projects: { + /** + * Adds a collaborator to a an organization project and sets their permission level. You must be an organization owner or a project `admin` to add a collaborator. + */ + addCollaborator: { + ( + params?: Octokit.RequestOptions & Octokit.ProjectsAddCollaboratorParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by the `pull_request` key. + * + * Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull request id, use the "[List pull requests](https://developer.github.com/v3/pulls/#list-pull-requests)" endpoint. + */ + createCard: { + ( + params?: Octokit.RequestOptions & Octokit.ProjectsCreateCardParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + createColumn: { + ( + params?: Octokit.RequestOptions & Octokit.ProjectsCreateColumnParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + createForAuthenticatedUser: { + ( + params?: Octokit.RequestOptions & + Octokit.ProjectsCreateForAuthenticatedUserParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Creates an organization project board. Returns a `404 Not Found` status if projects are disabled in the organization. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + createForOrg: { + ( + params?: Octokit.RequestOptions & Octokit.ProjectsCreateForOrgParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Creates a repository project board. Returns a `404 Not Found` status if projects are disabled in the repository. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + createForRepo: { + ( + params?: Octokit.RequestOptions & Octokit.ProjectsCreateForRepoParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Deletes a project board. Returns a `404 Not Found` status if projects are disabled. + */ + delete: { + (params?: Octokit.RequestOptions & Octokit.ProjectsDeleteParams): Promise< + Octokit.AnyResponse + >; + + endpoint: Octokit.Endpoint; + }; + + deleteCard: { + ( + params?: Octokit.RequestOptions & Octokit.ProjectsDeleteCardParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + deleteColumn: { + ( + params?: Octokit.RequestOptions & Octokit.ProjectsDeleteColumnParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Gets a project by its `id`. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + get: { + (params?: Octokit.RequestOptions & Octokit.ProjectsGetParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + getCard: { + ( + params?: Octokit.RequestOptions & Octokit.ProjectsGetCardParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + getColumn: { + ( + params?: Octokit.RequestOptions & Octokit.ProjectsGetColumnParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + listCards: { + ( + params?: Octokit.RequestOptions & Octokit.ProjectsListCardsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Lists the collaborators for an organization project. For a project, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. You must be an organization owner or a project `admin` to list collaborators. + */ + listCollaborators: { + ( + params?: Octokit.RequestOptions & + Octokit.ProjectsListCollaboratorsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + listColumns: { + ( + params?: Octokit.RequestOptions & Octokit.ProjectsListColumnsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Lists the projects in an organization. Returns a `404 Not Found` status if projects are disabled in the organization. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + * + * s + */ + listForOrg: { + ( + params?: Octokit.RequestOptions & Octokit.ProjectsListForOrgParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Lists the projects in a repository. Returns a `404 Not Found` status if projects are disabled in the repository. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + listForRepo: { + ( + params?: Octokit.RequestOptions & Octokit.ProjectsListForRepoParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + listForUser: { + ( + params?: Octokit.RequestOptions & Octokit.ProjectsListForUserParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + moveCard: { + ( + params?: Octokit.RequestOptions & Octokit.ProjectsMoveCardParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + moveColumn: { + ( + params?: Octokit.RequestOptions & Octokit.ProjectsMoveColumnParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Removes a collaborator from an organization project. You must be an organization owner or a project `admin` to remove a collaborator. + */ + removeCollaborator: { + ( + params?: Octokit.RequestOptions & + Octokit.ProjectsRemoveCollaboratorParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Returns the collaborator's permission level for an organization project. Possible values for the `permission` key: `admin`, `write`, `read`, `none`. You must be an organization owner or a project `admin` to review a user's permission level. + */ + reviewUserPermissionLevel: { + ( + params?: Octokit.RequestOptions & + Octokit.ProjectsReviewUserPermissionLevelParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Updates a project board's information. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + update: { + (params?: Octokit.RequestOptions & Octokit.ProjectsUpdateParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + updateCard: { + ( + params?: Octokit.RequestOptions & Octokit.ProjectsUpdateCardParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + updateColumn: { + ( + params?: Octokit.RequestOptions & Octokit.ProjectsUpdateColumnParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + }; + pulls: { + checkIfMerged: { + ( + params?: Octokit.RequestOptions & + Octokit.PullsCheckIfMergedParamsDeprecatedNumber + ): Promise; + ( + params?: Octokit.RequestOptions & Octokit.PullsCheckIfMergedParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Draft pull requests are available in public repositories with GitHub Free and GitHub Pro, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. + * + * You can create a new pull request. + * + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://developer.github.com/v3/#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://developer.github.com/v3/guides/best-practices-for-integrators/#dealing-with-abuse-rate-limits)" for details. + */ + create: { + (params?: Octokit.RequestOptions & Octokit.PullsCreateParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **Note:** Multi-line comments on pull requests are currently in public beta and subject to change. + * + * Creates a review comment in the pull request diff. To add a regular comment to a pull request timeline, see "[Comments](https://developer.github.com/v3/issues/comments/#create-a-comment)." We recommend creating a review comment using `line`, `side`, and optionally `start_line` and `start_side` if your comment applies to more than one line in the pull request diff. + * + * You can still create a review comment using the `position` parameter. When you use `position`, the `line`, `side`, `start_line`, and `start_side` parameters are not required. For more information, see [Multi-line comment summary](https://developer.github.com/v3/pulls/comments/#multi-line-comment-summary-3). + * + * **Note:** The position value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. + * + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://developer.github.com/v3/#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://developer.github.com/v3/guides/best-practices-for-integrators/#dealing-with-abuse-rate-limits)" for details. + * + * **Multi-line comment summary** + * + * **Note:** New parameters and response fields are available for developers to preview. During the preview period, these response fields may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2019-10-03-multi-line-comments) for full details. + * + * Use the `comfort-fade` preview header and the `line` parameter to show multi-line comment-supported fields in the response. + * + * If you use the `comfort-fade` preview header, your response will show: + * + * * For multi-line comments, values for `start_line`, `original_start_line`, `start_side`, `line`, `original_line`, and `side`. + * * For single-line comments, values for `line`, `original_line`, and `side` and a `null` value for `start_line`, `original_start_line`, and `start_side`. + * + * If you don't use the `comfort-fade` preview header, multi-line and single-line comments will appear the same way in the response with a single `position` attribute. Your response will show: + * + * * For multi-line comments, the last line of the comment range for the `position` attribute. + * * For single-line comments, the diff-positioned way of referencing comments for the `position` attribute. For more information, see `position` in the [input parameters](https://developer.github.com/v3/pulls/comments/#parameters-2) table. + */ + createComment: { + ( + params?: Octokit.RequestOptions & + Octokit.PullsCreateCommentParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & + Octokit.PullsCreateCommentParamsDeprecatedInReplyTo + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.PullsCreateCommentParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * **Note:** Multi-line comments on pull requests are currently in public beta and subject to change. + * + * Creates a review comment in the pull request diff. To add a regular comment to a pull request timeline, see "[Comments](https://developer.github.com/v3/issues/comments/#create-a-comment)." We recommend creating a review comment using `line`, `side`, and optionally `start_line` and `start_side` if your comment applies to more than one line in the pull request diff. + * + * You can still create a review comment using the `position` parameter. When you use `position`, the `line`, `side`, `start_line`, and `start_side` parameters are not required. For more information, see [Multi-line comment summary](https://developer.github.com/v3/pulls/comments/#multi-line-comment-summary-3). + * + * **Note:** The position value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. + * + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://developer.github.com/v3/#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://developer.github.com/v3/guides/best-practices-for-integrators/#dealing-with-abuse-rate-limits)" for details. + * + * **Multi-line comment summary** + * + * **Note:** New parameters and response fields are available for developers to preview. During the preview period, these response fields may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2019-10-03-multi-line-comments) for full details. + * + * Use the `comfort-fade` preview header and the `line` parameter to show multi-line comment-supported fields in the response. + * + * If you use the `comfort-fade` preview header, your response will show: + * + * * For multi-line comments, values for `start_line`, `original_start_line`, `start_side`, `line`, `original_line`, and `side`. + * * For single-line comments, values for `line`, `original_line`, and `side` and a `null` value for `start_line`, `original_start_line`, and `start_side`. + * + * If you don't use the `comfort-fade` preview header, multi-line and single-line comments will appear the same way in the response with a single `position` attribute. Your response will show: + * + * * For multi-line comments, the last line of the comment range for the `position` attribute. + * * For single-line comments, the diff-positioned way of referencing comments for the `position` attribute. For more information, see `position` in the [input parameters](https://developer.github.com/v3/pulls/comments/#parameters-2) table. + * @deprecated octokit.pulls.createCommentReply() has been renamed to octokit.pulls.createComment() (2019-09-09) + */ + createCommentReply: { + ( + params?: Octokit.RequestOptions & + Octokit.PullsCreateCommentReplyParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & + Octokit.PullsCreateCommentReplyParamsDeprecatedInReplyTo + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.PullsCreateCommentReplyParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + createFromIssue: { + ( + params?: Octokit.RequestOptions & Octokit.PullsCreateFromIssueParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://developer.github.com/v3/#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://developer.github.com/v3/guides/best-practices-for-integrators/#dealing-with-abuse-rate-limits)" for details. + * + * **Note:** To comment on a specific line in a file, you need to first determine the _position_ of that line in the diff. The GitHub REST API v3 offers the `application/vnd.github.v3.diff` [media type](https://developer.github.com/v3/media/#commits-commit-comparison-and-pull-requests). To see a pull request diff, add this media type to the `Accept` header of a call to the [single pull request](https://developer.github.com/v3/pulls/#get-a-single-pull-request) endpoint. + * + * The `position` value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. + */ + createReview: { + ( + params?: Octokit.RequestOptions & + Octokit.PullsCreateReviewParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.PullsCreateReviewParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Creates a reply to a review comment for a pull request. For the `comment_id`, provide the ID of the review comment you are replying to. This must be the ID of a _top-level review comment_, not a reply to that comment. Replies to replies are not supported. + * + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://developer.github.com/v3/#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://developer.github.com/v3/guides/best-practices-for-integrators/#dealing-with-abuse-rate-limits)" for details. + */ + createReviewCommentReply: { + ( + params?: Octokit.RequestOptions & + Octokit.PullsCreateReviewCommentReplyParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://developer.github.com/v3/#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://developer.github.com/v3/guides/best-practices-for-integrators/#dealing-with-abuse-rate-limits)" for details. + */ + createReviewRequest: { + ( + params?: Octokit.RequestOptions & + Octokit.PullsCreateReviewRequestParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.PullsCreateReviewRequestParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Deletes a review comment. + */ + deleteComment: { + ( + params?: Octokit.RequestOptions & Octokit.PullsDeleteCommentParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + deletePendingReview: { + ( + params?: Octokit.RequestOptions & + Octokit.PullsDeletePendingReviewParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.PullsDeletePendingReviewParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + deleteReviewRequest: { + ( + params?: Octokit.RequestOptions & + Octokit.PullsDeleteReviewRequestParamsDeprecatedNumber + ): Promise; + ( + params?: Octokit.RequestOptions & Octokit.PullsDeleteReviewRequestParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * **Note:** To dismiss a pull request review on a [protected branch](https://developer.github.com/v3/repos/branches/), you must be a repository administrator or be included in the list of people or teams who can dismiss pull request reviews. + */ + dismissReview: { + ( + params?: Octokit.RequestOptions & + Octokit.PullsDismissReviewParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.PullsDismissReviewParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Draft pull requests are available in public repositories with GitHub Free and GitHub Pro, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists details of a pull request by providing its number. + * + * When you get, [create](https://developer.github.com/v3/pulls/#create-a-pull-request), or [edit](https://developer.github.com/v3/pulls/#update-a-pull-request) a pull request, GitHub creates a merge commit to test whether the pull request can be automatically merged into the base branch. This test commit is not added to the base branch or the head branch. You can review the status of the test commit using the `mergeable` key. For more information, see "[Checking mergeability of pull requests](https://developer.github.com/v3/git/#checking-mergeability-of-pull-requests)". + * + * The value of the `mergeable` attribute can be `true`, `false`, or `null`. If the value is `null`, then GitHub has started a background job to compute the mergeability. After giving the job time to complete, resubmit the request. When the job finishes, you will see a non-`null` value for the `mergeable` attribute in the response. If `mergeable` is `true`, then `merge_commit_sha` will be the SHA of the _test_ merge commit. + * + * The value of the `merge_commit_sha` attribute changes depending on the state of the pull request. Before merging a pull request, the `merge_commit_sha` attribute holds the SHA of the _test_ merge commit. After merging a pull request, the `merge_commit_sha` attribute changes depending on how you merged the pull request: + * + * * If merged as a [merge commit](https://help.github.com/articles/about-merge-methods-on-github/), `merge_commit_sha` represents the SHA of the merge commit. + * * If merged via a [squash](https://help.github.com/articles/about-merge-methods-on-github/#squashing-your-merge-commits), `merge_commit_sha` represents the SHA of the squashed commit on the base branch. + * * If [rebased](https://help.github.com/articles/about-merge-methods-on-github/#rebasing-and-merging-your-commits), `merge_commit_sha` represents the commit that the base branch was updated to. + * + * Pass the appropriate [media type](https://developer.github.com/v3/media/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. + */ + get: { + ( + params?: Octokit.RequestOptions & Octokit.PullsGetParamsDeprecatedNumber + ): Promise>; + (params?: Octokit.RequestOptions & Octokit.PullsGetParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **Note:** Multi-line comments on pull requests are currently in public beta and subject to change. + * + * Provides details for a review comment. + * + * **Multi-line comment summary** + * + * **Note:** New parameters and response fields are available for developers to preview. During the preview period, these response fields may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2019-10-03-multi-line-comments) for full details. + * + * Use the `comfort-fade` preview header and the `line` parameter to show multi-line comment-supported fields in the response. + * + * If you use the `comfort-fade` preview header, your response will show: + * + * * For multi-line comments, values for `start_line`, `original_start_line`, `start_side`, `line`, `original_line`, and `side`. + * * For single-line comments, values for `line`, `original_line`, and `side` and a `null` value for `start_line`, `original_start_line`, and `start_side`. + * + * If you don't use the `comfort-fade` preview header, multi-line and single-line comments will appear the same way in the response with a single `position` attribute. Your response will show: + * + * * For multi-line comments, the last line of the comment range for the `position` attribute. + * * For single-line comments, the diff-positioned way of referencing comments for the `position` attribute. For more information, see `position` in the [input parameters](https://developer.github.com/v3/pulls/comments/#parameters-2) table. + * + * The `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://developer.github.com/v3/reactions) reactions. + */ + getComment: { + ( + params?: Octokit.RequestOptions & Octokit.PullsGetCommentParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + getCommentsForReview: { + ( + params?: Octokit.RequestOptions & + Octokit.PullsGetCommentsForReviewParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & + Octokit.PullsGetCommentsForReviewParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + getReview: { + ( + params?: Octokit.RequestOptions & + Octokit.PullsGetReviewParamsDeprecatedNumber + ): Promise>; + (params?: Octokit.RequestOptions & Octokit.PullsGetReviewParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Draft pull requests are available in public repositories with GitHub Free and GitHub Pro, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + list: { + (params?: Octokit.RequestOptions & Octokit.PullsListParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **Note:** Multi-line comments on pull requests are currently in public beta and subject to change. + * + * Lists review comments for a pull request. By default, review comments are in ascending order by ID. + * + * **Multi-line comment summary** + * + * **Note:** New parameters and response fields are available for developers to preview. During the preview period, these response fields may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2019-10-03-multi-line-comments) for full details. + * + * Use the `comfort-fade` preview header and the `line` parameter to show multi-line comment-supported fields in the response. + * + * If you use the `comfort-fade` preview header, your response will show: + * + * * For multi-line comments, values for `start_line`, `original_start_line`, `start_side`, `line`, `original_line`, and `side`. + * * For single-line comments, values for `line`, `original_line`, and `side` and a `null` value for `start_line`, `original_start_line`, and `start_side`. + * + * If you don't use the `comfort-fade` preview header, multi-line and single-line comments will appear the same way in the response with a single `position` attribute. Your response will show: + * + * * For multi-line comments, the last line of the comment range for the `position` attribute. + * * For single-line comments, the diff-positioned way of referencing comments for the `position` attribute. For more information, see `position` in the [input parameters](https://developer.github.com/v3/pulls/comments/#parameters-2) table. + * + * The `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://developer.github.com/v3/reactions) reactions. + */ + listComments: { + ( + params?: Octokit.RequestOptions & + Octokit.PullsListCommentsParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.PullsListCommentsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * **Note:** Multi-line comments on pull requests are currently in public beta and subject to change. + * + * Lists review comments for all pull requests in a repository. By default, review comments are in ascending order by ID. + * + * **Multi-line comment summary** + * + * **Note:** New parameters and response fields are available for developers to preview. During the preview period, these response fields may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2019-10-03-multi-line-comments) for full details. + * + * Use the `comfort-fade` preview header and the `line` parameter to show multi-line comment-supported fields in the response. + * + * If you use the `comfort-fade` preview header, your response will show: + * + * * For multi-line comments, values for `start_line`, `original_start_line`, `start_side`, `line`, `original_line`, and `side`. + * * For single-line comments, values for `line`, `original_line`, and `side` and a `null` value for `start_line`, `original_start_line`, and `start_side`. + * + * If you don't use the `comfort-fade` preview header, multi-line and single-line comments will appear the same way in the response with a single `position` attribute. Your response will show: + * + * * For multi-line comments, the last line of the comment range for the `position` attribute. + * * For single-line comments, the diff-positioned way of referencing comments for the `position` attribute. For more information, see `position` in the [input parameters](https://developer.github.com/v3/pulls/comments/#parameters-2) table. + * + * The `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://developer.github.com/v3/reactions) reactions. + */ + listCommentsForRepo: { + ( + params?: Octokit.RequestOptions & Octokit.PullsListCommentsForRepoParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Lists a maximum of 250 commits for a pull request. To receive a complete commit list for pull requests with more than 250 commits, use the [Commit List API](https://developer.github.com/v3/repos/commits/#list-commits-on-a-repository). + */ + listCommits: { + ( + params?: Octokit.RequestOptions & + Octokit.PullsListCommitsParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.PullsListCommitsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * **Note:** Responses include a maximum of 3000 files. The paginated response returns 30 files per page by default. + */ + listFiles: { + ( + params?: Octokit.RequestOptions & + Octokit.PullsListFilesParamsDeprecatedNumber + ): Promise>; + (params?: Octokit.RequestOptions & Octokit.PullsListFilesParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + listReviewRequests: { + ( + params?: Octokit.RequestOptions & + Octokit.PullsListReviewRequestsParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.PullsListReviewRequestsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * The list of reviews returns in chronological order. + */ + listReviews: { + ( + params?: Octokit.RequestOptions & + Octokit.PullsListReviewsParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.PullsListReviewsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://developer.github.com/v3/#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://developer.github.com/v3/guides/best-practices-for-integrators/#dealing-with-abuse-rate-limits)" for details. + */ + merge: { + ( + params?: Octokit.RequestOptions & + Octokit.PullsMergeParamsDeprecatedNumber + ): Promise>; + (params?: Octokit.RequestOptions & Octokit.PullsMergeParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + submitReview: { + ( + params?: Octokit.RequestOptions & + Octokit.PullsSubmitReviewParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.PullsSubmitReviewParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Draft pull requests are available in public repositories with GitHub Free and GitHub Pro, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. + */ + update: { + ( + params?: Octokit.RequestOptions & + Octokit.PullsUpdateParamsDeprecatedNumber + ): Promise>; + (params?: Octokit.RequestOptions & Octokit.PullsUpdateParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Updates the pull request branch with the latest upstream changes by merging HEAD from the base branch into the pull request branch. + */ + updateBranch: { + ( + params?: Octokit.RequestOptions & Octokit.PullsUpdateBranchParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * **Note:** Multi-line comments on pull requests are currently in public beta and subject to change. + * + * Enables you to edit a review comment. + * + * **Multi-line comment summary** + * + * **Note:** New parameters and response fields are available for developers to preview. During the preview period, these response fields may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2019-10-03-multi-line-comments) for full details. + * + * Use the `comfort-fade` preview header and the `line` parameter to show multi-line comment-supported fields in the response. + * + * If you use the `comfort-fade` preview header, your response will show: + * + * * For multi-line comments, values for `start_line`, `original_start_line`, `start_side`, `line`, `original_line`, and `side`. + * * For single-line comments, values for `line`, `original_line`, and `side` and a `null` value for `start_line`, `original_start_line`, and `start_side`. + * + * If you don't use the `comfort-fade` preview header, multi-line and single-line comments will appear the same way in the response with a single `position` attribute. Your response will show: + * + * * For multi-line comments, the last line of the comment range for the `position` attribute. + * * For single-line comments, the diff-positioned way of referencing comments for the `position` attribute. For more information, see `position` in the [input parameters](https://developer.github.com/v3/pulls/comments/#parameters-2) table. + */ + updateComment: { + ( + params?: Octokit.RequestOptions & Octokit.PullsUpdateCommentParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Update the review summary comment with new text. + */ + updateReview: { + ( + params?: Octokit.RequestOptions & + Octokit.PullsUpdateReviewParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.PullsUpdateReviewParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + }; + rateLimit: { + /** + * **Note:** Accessing this endpoint does not count against your REST API rate limit. + * + * **Understanding your rate limit status** + * + * The Search API has a [custom rate limit](https://developer.github.com/v3/search/#rate-limit), separate from the rate limit governing the rest of the REST API. The GraphQL API also has a [custom rate limit](https://developer.github.com/v4/guides/resource-limitations/#rate-limit) that is separate from and calculated differently than rate limits in the REST API. + * + * For these reasons, the Rate Limit API response categorizes your rate limit. Under `resources`, you'll see four objects: + * + * * The `core` object provides your rate limit status for all non-search-related resources in the REST API. + * * The `search` object provides your rate limit status for the [Search API](https://developer.github.com/v3/search/). + * * The `graphql` object provides your rate limit status for the [GraphQL API](https://developer.github.com/v4/). + * * The `integration_manifest` object provides your rate limit status for the [GitHub App Manifest code conversion](https://developer.github.com/apps/building-github-apps/creating-github-apps-from-a-manifest/#3-you-exchange-the-temporary-code-to-retrieve-the-app-configuration) endpoint. + * + * For more information on the headers and values in the rate limit response, see "[Rate limiting](https://developer.github.com/v3/#rate-limiting)." + * + * The `rate` object (shown at the bottom of the response above) is deprecated. + * + * If you're writing new API client code or updating existing code, you should use the `core` object instead of the `rate` object. The `core` object contains the same information that is present in the `rate` object. + */ + get: { + (params?: Octokit.RequestOptions & Octokit.EmptyParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + }; + reactions: { + /** + * Create a reaction to a [commit comment](https://developer.github.com/v3/repos/comments/). A response with a `Status: 200 OK` means that you already added the reaction type to this commit comment. + */ + createForCommitComment: { + ( + params?: Octokit.RequestOptions & + Octokit.ReactionsCreateForCommitCommentParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Create a reaction to an [issue](https://developer.github.com/v3/issues/). A response with a `Status: 200 OK` means that you already added the reaction type to this issue. + */ + createForIssue: { + ( + params?: Octokit.RequestOptions & + Octokit.ReactionsCreateForIssueParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.ReactionsCreateForIssueParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Create a reaction to an [issue comment](https://developer.github.com/v3/issues/comments/). A response with a `Status: 200 OK` means that you already added the reaction type to this issue comment. + */ + createForIssueComment: { + ( + params?: Octokit.RequestOptions & + Octokit.ReactionsCreateForIssueCommentParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Create a reaction to a [pull request review comment](https://developer.github.com/v3/pulls/comments/). A response with a `Status: 200 OK` means that you already added the reaction type to this pull request review comment. + */ + createForPullRequestReviewComment: { + ( + params?: Octokit.RequestOptions & + Octokit.ReactionsCreateForPullRequestReviewCommentParams + ): Promise< + Octokit.Response< + Octokit.ReactionsCreateForPullRequestReviewCommentResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create reaction for a team discussion`](https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion) endpoint. + * + * Create a reaction to a [team discussion](https://developer.github.com/v3/teams/discussions/). OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with a `Status: 200 OK` means that you already added the reaction type to this team discussion. + * @deprecated octokit.reactions.createForTeamDiscussion() is deprecated, see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-legacy + */ + createForTeamDiscussion: { + ( + params?: Octokit.RequestOptions & + Octokit.ReactionsCreateForTeamDiscussionParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create reaction for a team discussion comment`](https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-comment) endpoint. + * + * Create a reaction to a [team discussion comment](https://developer.github.com/v3/teams/discussion_comments/). OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with a `Status: 200 OK` means that you already added the reaction type to this team discussion comment. + * @deprecated octokit.reactions.createForTeamDiscussionComment() is deprecated, see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-comment-legacy + */ + createForTeamDiscussionComment: { + ( + params?: Octokit.RequestOptions & + Octokit.ReactionsCreateForTeamDiscussionCommentParams + ): Promise< + Octokit.Response< + Octokit.ReactionsCreateForTeamDiscussionCommentResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Create a reaction to a [team discussion comment](https://developer.github.com/v3/teams/discussion_comments/). OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with a `Status: 200 OK` means that you already added the reaction type to this team discussion comment. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. + */ + createForTeamDiscussionCommentInOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.ReactionsCreateForTeamDiscussionCommentInOrgParams + ): Promise< + Octokit.Response< + Octokit.ReactionsCreateForTeamDiscussionCommentInOrgResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create reaction for a team discussion comment`](https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-comment) endpoint. + * + * Create a reaction to a [team discussion comment](https://developer.github.com/v3/teams/discussion_comments/). OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with a `Status: 200 OK` means that you already added the reaction type to this team discussion comment. + * @deprecated octokit.reactions.createForTeamDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-comment-legacy + */ + createForTeamDiscussionCommentLegacy: { + ( + params?: Octokit.RequestOptions & + Octokit.ReactionsCreateForTeamDiscussionCommentLegacyParams + ): Promise< + Octokit.Response< + Octokit.ReactionsCreateForTeamDiscussionCommentLegacyResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Create a reaction to a [team discussion](https://developer.github.com/v3/teams/discussions/). OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with a `Status: 200 OK` means that you already added the reaction type to this team discussion. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. + */ + createForTeamDiscussionInOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.ReactionsCreateForTeamDiscussionInOrgParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create reaction for a team discussion`](https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion) endpoint. + * + * Create a reaction to a [team discussion](https://developer.github.com/v3/teams/discussions/). OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with a `Status: 200 OK` means that you already added the reaction type to this team discussion. + * @deprecated octokit.reactions.createForTeamDiscussionLegacy() is deprecated, see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-legacy + */ + createForTeamDiscussionLegacy: { + ( + params?: Octokit.RequestOptions & + Octokit.ReactionsCreateForTeamDiscussionLegacyParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), when deleting a [team discussion](https://developer.github.com/v3/teams/discussions/) or [team discussion comment](https://developer.github.com/v3/teams/discussion_comments/). + */ + delete: { + ( + params?: Octokit.RequestOptions & Octokit.ReactionsDeleteParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * List the reactions to a [commit comment](https://developer.github.com/v3/repos/comments/). + */ + listForCommitComment: { + ( + params?: Octokit.RequestOptions & + Octokit.ReactionsListForCommitCommentParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * List the reactions to an [issue](https://developer.github.com/v3/issues/). + */ + listForIssue: { + ( + params?: Octokit.RequestOptions & + Octokit.ReactionsListForIssueParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.ReactionsListForIssueParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * List the reactions to an [issue comment](https://developer.github.com/v3/issues/comments/). + */ + listForIssueComment: { + ( + params?: Octokit.RequestOptions & + Octokit.ReactionsListForIssueCommentParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * List the reactions to a [pull request review comment](https://developer.github.com/v3/pulls/comments/). + */ + listForPullRequestReviewComment: { + ( + params?: Octokit.RequestOptions & + Octokit.ReactionsListForPullRequestReviewCommentParams + ): Promise< + Octokit.Response< + Octokit.ReactionsListForPullRequestReviewCommentResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion`](https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion) endpoint. + * + * List the reactions to a [team discussion](https://developer.github.com/v3/teams/discussions/). OAuth access tokens require the `read:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @deprecated octokit.reactions.listForTeamDiscussion() is deprecated, see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-legacy + */ + listForTeamDiscussion: { + ( + params?: Octokit.RequestOptions & + Octokit.ReactionsListForTeamDiscussionParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion comment`](https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-comment) endpoint. + * + * List the reactions to a [team discussion comment](https://developer.github.com/v3/teams/discussion_comments/). OAuth access tokens require the `read:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @deprecated octokit.reactions.listForTeamDiscussionComment() is deprecated, see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-comment-legacy + */ + listForTeamDiscussionComment: { + ( + params?: Octokit.RequestOptions & + Octokit.ReactionsListForTeamDiscussionCommentParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * List the reactions to a [team discussion comment](https://developer.github.com/v3/teams/discussion_comments/). OAuth access tokens require the `read:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. + */ + listForTeamDiscussionCommentInOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.ReactionsListForTeamDiscussionCommentInOrgParams + ): Promise< + Octokit.Response< + Octokit.ReactionsListForTeamDiscussionCommentInOrgResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion comment`](https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-comment) endpoint. + * + * List the reactions to a [team discussion comment](https://developer.github.com/v3/teams/discussion_comments/). OAuth access tokens require the `read:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @deprecated octokit.reactions.listForTeamDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-comment-legacy + */ + listForTeamDiscussionCommentLegacy: { + ( + params?: Octokit.RequestOptions & + Octokit.ReactionsListForTeamDiscussionCommentLegacyParams + ): Promise< + Octokit.Response< + Octokit.ReactionsListForTeamDiscussionCommentLegacyResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * List the reactions to a [team discussion](https://developer.github.com/v3/teams/discussions/). OAuth access tokens require the `read:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. + */ + listForTeamDiscussionInOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.ReactionsListForTeamDiscussionInOrgParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion`](https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion) endpoint. + * + * List the reactions to a [team discussion](https://developer.github.com/v3/teams/discussions/). OAuth access tokens require the `read:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @deprecated octokit.reactions.listForTeamDiscussionLegacy() is deprecated, see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-legacy + */ + listForTeamDiscussionLegacy: { + ( + params?: Octokit.RequestOptions & + Octokit.ReactionsListForTeamDiscussionLegacyParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + }; + repos: { + acceptInvitation: { + ( + params?: Octokit.RequestOptions & Octokit.ReposAcceptInvitationParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://developer.github.com/v3/#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://developer.github.com/v3/guides/best-practices-for-integrators/#dealing-with-abuse-rate-limits)" for details. + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://developer.github.com/v3/#http-verbs)." + * + * The invitee will receive a notification that they have been invited to the repository, which they must accept or decline. They may do this via the notifications page, the email they receive, or by using the [repository invitations API endpoints](https://developer.github.com/v3/repos/invitations/). + * + * **Rate limits** + * + * To prevent abuse, you are limited to sending 50 invitations to a repository per 24 hour period. Note there is no limit if you are inviting organization members to an organization repository. + */ + addCollaborator: { + ( + params?: Octokit.RequestOptions & Octokit.ReposAddCollaboratorParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Here's how you can create a read-only deploy key: + */ + addDeployKey: { + ( + params?: Octokit.RequestOptions & Octokit.ReposAddDeployKeyParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Adding admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + */ + addProtectedBranchAdminEnforcement: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposAddProtectedBranchAdminEnforcementParams + ): Promise< + Octokit.Response< + Octokit.ReposAddProtectedBranchAdminEnforcementResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified apps push access for this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + * + * | Type | Description | + * | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | The GitHub Apps that have push access to this branch. Use the app's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + addProtectedBranchAppRestrictions: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposAddProtectedBranchAppRestrictionsParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to require signed commits on a branch. You must enable branch protection to require signed commits. + */ + addProtectedBranchRequiredSignatures: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposAddProtectedBranchRequiredSignaturesParams + ): Promise< + Octokit.Response< + Octokit.ReposAddProtectedBranchRequiredSignaturesResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + addProtectedBranchRequiredStatusChecksContexts: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposAddProtectedBranchRequiredStatusChecksContextsParams + ): Promise< + Octokit.Response< + Octokit.ReposAddProtectedBranchRequiredStatusChecksContextsResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified teams push access for this branch. You can also give push access to child teams. + * + * | Type | Description | + * | ------- | ------------------------------------------------------------------------------------------------------------------------------------------ | + * | `array` | The teams that can have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + addProtectedBranchTeamRestrictions: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposAddProtectedBranchTeamRestrictionsParams + ): Promise< + Octokit.Response< + Octokit.ReposAddProtectedBranchTeamRestrictionsResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified people push access for this branch. + * + * | Type | Description | + * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + addProtectedBranchUserRestrictions: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposAddProtectedBranchUserRestrictionsParams + ): Promise< + Octokit.Response< + Octokit.ReposAddProtectedBranchUserRestrictionsResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. + * + * Team members will include the members of child teams. + */ + checkCollaborator: { + ( + params?: Octokit.RequestOptions & Octokit.ReposCheckCollaboratorParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Shows whether vulnerability alerts are enabled or disabled for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://help.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)" in the GitHub Help documentation. + */ + checkVulnerabilityAlerts: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposCheckVulnerabilityAlertsParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Both `:base` and `:head` must be branch names in `:repo`. To compare branches across other repositories in the same network as `:repo`, use the format `:branch`. + * + * The response from the API is equivalent to running the `git log base..head` command; however, commits are returned in chronological order. Pass the appropriate [media type](https://developer.github.com/v3/media/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. + * + * The response also includes details on the files that were changed between the two commits. This includes the status of the change (for example, if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a `renamed` status have a `previous_filename` field showing the previous filename of the file, and files with a `modified` status have a `patch` field showing the changes made to the file. + * + * **Working with large comparisons** + * + * The response will include a comparison of up to 250 commits. If you are working with a larger commit range, you can use the [Commit List API](https://developer.github.com/v3/repos/commits/#list-commits-on-a-repository) to enumerate all commits in the range. + * + * For comparisons with extremely large diffs, you may receive an error response indicating that the diff took too long to generate. You can typically resolve this error by using a smaller commit range. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ------------------------ | --------------------------------------------------------------------------------------------------------------------------------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + compareCommits: { + ( + params?: Octokit.RequestOptions & Octokit.ReposCompareCommitsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Create a comment for a commit using its `:commit_sha`. + * + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://developer.github.com/v3/#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://developer.github.com/v3/guides/best-practices-for-integrators/#dealing-with-abuse-rate-limits)" for details. + */ + createCommitComment: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposCreateCommitCommentParamsDeprecatedSha + ): Promise>; + ( + params?: Octokit.RequestOptions & + Octokit.ReposCreateCommitCommentParamsDeprecatedLine + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.ReposCreateCommitCommentParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Deployments offer a few configurable parameters with sane defaults. + * + * The `ref` parameter can be any named branch, tag, or SHA. At GitHub we often deploy branches and verify them before we merge a pull request. + * + * The `environment` parameter allows deployments to be issued to different runtime environments. Teams often have multiple environments for verifying their applications, such as `production`, `staging`, and `qa`. This parameter makes it easier to track which environments have requested deployments. The default environment is `production`. + * + * The `auto_merge` parameter is used to ensure that the requested ref is not behind the repository's default branch. If the ref _is_ behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds, the API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will return a failure response. + * + * By default, [commit statuses](https://developer.github.com/v3/repos/statuses) for every submitted context must be in a `success` state. The `required_contexts` parameter allows you to specify a subset of contexts that must be `success`, or to specify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do not require any contexts or create any commit statuses, the deployment will always succeed. + * + * The `payload` parameter is available for any extra information that a deployment system might need. It is a JSON text field that will be passed on when a deployment event is dispatched. + * + * The `task` parameter is used by the deployment system to allow different execution paths. In the web world this might be `deploy:migrations` to run schema changes on the system. In the compiled world this could be a flag to compile an application with debugging enabled. + * + * Users with `repo` or `repo_deployment` scopes can create a deployment for a given ref: + * + * A simple example putting the user and room into the payload to notify back to chat networks. + * + * A more advanced example specifying required commit statuses and bypassing auto-merging. + * + * You will see this response when GitHub automatically merges the base branch into the topic branch instead of creating a deployment. This auto-merge happens when: + * + * * Auto-merge option is enabled in the repository + * * Topic branch does not include the latest changes on the base branch, which is `master`in the response example + * * There are no merge conflicts + * + * If there are no new commits in the base branch, a new request to create a deployment should give a successful response. + * + * This error happens when the `auto_merge` option is enabled and when the default branch (in this case `master`), can't be merged into the branch that's being deployed (in this case `topic-branch`), due to merge conflicts. + * + * This error happens when the `required_contexts` parameter indicates that one or more contexts need to have a `success` status for the commit to be deployed, but one or more of the required contexts do not have a state of `success`. + */ + createDeployment: { + ( + params?: Octokit.RequestOptions & Octokit.ReposCreateDeploymentParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Users with `push` access can create deployment statuses for a given deployment. + * + * GitHub Apps require `read & write` access to "Deployments" and `read-only` access to "Repo contents" (for private repos). OAuth Apps require the `repo_deployment` scope. + */ + createDeploymentStatus: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposCreateDeploymentStatusParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * You can use this endpoint to trigger a webhook event called `repository_dispatch` when you want activity that happens outside of GitHub to trigger a GitHub Actions workflow or GitHub App webhook. You must configure your GitHub Actions workflow or GitHub App to run when the `repository_dispatch` event occurs. For an example `repository_dispatch` webhook payload, see "[RepositoryDispatchEvent](https://developer.github.com/v3/activity/events/types/#repositorydispatchevent)." + * + * The `client_payload` parameter is available for any extra information that your workflow might need. This parameter is a JSON payload that will be passed on when the webhook event is dispatched. For example, the `client_payload` can include a message that a user would like to send using a GitHub Actions workflow. Or the `client_payload` can be used as a test to debug your workflow. For a test example, see the [input example](https://developer.github.com/v3/repos/#example-4). + * + * To give you write access to the repository, you must use a personal access token with the `repo` scope. For more information, see "[Creating a personal access token for the command line](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line)" in the GitHub Help documentation. + * + * This input example shows how you can use the `client_payload` as a test to debug your workflow. + */ + createDispatchEvent: { + ( + params?: Octokit.RequestOptions & Octokit.ReposCreateDispatchEventParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Creates a new file or updates an existing file in a repository. + * @deprecated octokit.repos.createFile() has been renamed to octokit.repos.createOrUpdateFile() (2019-06-07) + */ + createFile: { + ( + params?: Octokit.RequestOptions & Octokit.ReposCreateFileParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Creates a new repository for the authenticated user. + * + * **OAuth scope requirements** + * + * When using [OAuth](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: + * + * * `public_repo` scope or `repo` scope to create a public repository + * * `repo` scope to create a private repository + */ + createForAuthenticatedUser: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposCreateForAuthenticatedUserParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Create a fork for the authenticated user. + * + * **Note**: Forking a Repository happens asynchronously. You may have to wait a short period of time before you can access the git objects. If this takes longer than 5 minutes, be sure to contact [GitHub Support](https://github.com/contact) or [GitHub Premium Support](https://premium.githubsupport.com). + */ + createFork: { + ( + params?: Octokit.RequestOptions & Octokit.ReposCreateForkParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Repositories can have multiple webhooks installed. Each webhook should have a unique `config`. Multiple webhooks can share the same `config` as long as those webhooks do not have any `events` that overlap. + * + * Here's how you can create a hook that posts payloads in JSON format: + */ + createHook: { + ( + params?: Octokit.RequestOptions & Octokit.ReposCreateHookParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Creates a new repository for the authenticated user. + * + * **OAuth scope requirements** + * + * When using [OAuth](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: + * + * * `public_repo` scope or `repo` scope to create a public repository + * * `repo` scope to create a private repository + */ + createInOrg: { + ( + params?: Octokit.RequestOptions & Octokit.ReposCreateInOrgParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Creates a new file or updates an existing file in a repository. + */ + createOrUpdateFile: { + ( + params?: Octokit.RequestOptions & Octokit.ReposCreateOrUpdateFileParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Users with push access to the repository can create a release. + * + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://developer.github.com/v3/#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://developer.github.com/v3/guides/best-practices-for-integrators/#dealing-with-abuse-rate-limits)" for details. + */ + createRelease: { + ( + params?: Octokit.RequestOptions & Octokit.ReposCreateReleaseParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Users with push access in a repository can create commit statuses for a given SHA. + * + * Note: there is a limit of 1000 statuses per `sha` and `context` within a repository. Attempts to create more than 1000 statuses will result in a validation error. + */ + createStatus: { + ( + params?: Octokit.RequestOptions & Octokit.ReposCreateStatusParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. The authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [`GET /repos/:owner/:repo`](https://developer.github.com/v3/repos/#get) endpoint and check that the `is_template` key is `true`. + * + * **OAuth scope requirements** + * + * When using [OAuth](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: + * + * * `public_repo` scope or `repo` scope to create a public repository + * * `repo` scope to create a private repository + * + * \` + */ + createUsingTemplate: { + ( + params?: Octokit.RequestOptions & Octokit.ReposCreateUsingTemplateParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + declineInvitation: { + ( + params?: Octokit.RequestOptions & Octokit.ReposDeclineInvitationParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Deleting a repository requires admin access. If OAuth is used, the `delete_repo` scope is required. + * + * If an organization owner has configured the organization to prevent members from deleting organization-owned repositories, a member will get this response: + */ + delete: { + (params?: Octokit.RequestOptions & Octokit.ReposDeleteParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + deleteCommitComment: { + ( + params?: Octokit.RequestOptions & Octokit.ReposDeleteCommitCommentParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + deleteDownload: { + ( + params?: Octokit.RequestOptions & Octokit.ReposDeleteDownloadParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Deletes a file in a repository. + * + * You can provide an additional `committer` parameter, which is an object containing information about the committer. Or, you can provide an `author` parameter, which is an object containing information about the author. + * + * The `author` section is optional and is filled in with the `committer` information if omitted. If the `committer` information is omitted, the authenticated user's information is used. + * + * You must provide values for both `name` and `email`, whether you choose to use `author` or `committer`. Otherwise, you'll receive a `422` status code. + */ + deleteFile: { + ( + params?: Octokit.RequestOptions & Octokit.ReposDeleteFileParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + deleteHook: { + ( + params?: Octokit.RequestOptions & Octokit.ReposDeleteHookParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + deleteInvitation: { + ( + params?: Octokit.RequestOptions & Octokit.ReposDeleteInvitationParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Users with push access to the repository can delete a release. + */ + deleteRelease: { + ( + params?: Octokit.RequestOptions & Octokit.ReposDeleteReleaseParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + deleteReleaseAsset: { + ( + params?: Octokit.RequestOptions & Octokit.ReposDeleteReleaseAssetParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Disables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://help.github.com/en/articles/configuring-automated-security-fixes)" in the GitHub Help documentation. + */ + disableAutomatedSecurityFixes: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposDisableAutomatedSecurityFixesParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + disablePagesSite: { + ( + params?: Octokit.RequestOptions & Octokit.ReposDisablePagesSiteParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Disables vulnerability alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://help.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)" in the GitHub Help documentation. + */ + disableVulnerabilityAlerts: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposDisableVulnerabilityAlertsParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Enables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://help.github.com/en/articles/configuring-automated-security-fixes)" in the GitHub Help documentation. + */ + enableAutomatedSecurityFixes: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposEnableAutomatedSecurityFixesParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + enablePagesSite: { + ( + params?: Octokit.RequestOptions & Octokit.ReposEnablePagesSiteParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Enables vulnerability alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://help.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)" in the GitHub Help documentation. + */ + enableVulnerabilityAlerts: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposEnableVulnerabilityAlertsParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * The `parent` and `source` objects are present when the repository is a fork. `parent` is the repository this repository was forked from, `source` is the ultimate source for the network. + */ + get: { + (params?: Octokit.RequestOptions & Octokit.ReposGetParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the GitHub Apps that have push access to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + */ + getAppsWithAccessToProtectedBranch: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposGetAppsWithAccessToProtectedBranchParams + ): Promise< + Octokit.Response< + Octokit.ReposGetAppsWithAccessToProtectedBranchResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Gets a redirect URL to download an archive for a repository. The `:archive_format` can be either `tarball` or `zipball`. The `:ref` must be a valid Git reference. If you omit `:ref`, the repository’s default branch (usually `master`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use the `Location` header to make a second `GET` request. + * + * _Note_: For private repositories, these links are temporary and expire after five minutes. + * + * To follow redirects with curl, use the `-L` switch: + */ + getArchiveLink: { + ( + params?: Octokit.RequestOptions & Octokit.ReposGetArchiveLinkParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + getBranch: { + (params?: Octokit.RequestOptions & Octokit.ReposGetBranchParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + getBranchProtection: { + ( + params?: Octokit.RequestOptions & Octokit.ReposGetBranchProtectionParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Get the total number of clones and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. + */ + getClones: { + (params?: Octokit.RequestOptions & Octokit.ReposGetClonesParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Returns a weekly aggregate of the number of additions and deletions pushed to a repository. + */ + getCodeFrequencyStats: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposGetCodeFrequencyStatsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Possible values for the `permission` key: `admin`, `write`, `read`, `none`. + */ + getCollaboratorPermissionLevel: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposGetCollaboratorPermissionLevelParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Users with pull access in a repository can access a combined view of commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. + * + * The most recent status for each context is returned, up to 100. This field [paginates](https://developer.github.com/v3/#pagination) if there are over 100 contexts. + * + * Additionally, a combined `state` is returned. The `state` is one of: + * + * * **failure** if any of the contexts report as `error` or `failure` + * * **pending** if there are no statuses or a context is `pending` + * * **success** if the latest status for all contexts is `success` + */ + getCombinedStatusForRef: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposGetCombinedStatusForRefParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Returns the contents of a single commit reference. You must have `read` access for the repository to use this endpoint. + * + * You can pass the appropriate [media type](https://developer.github.com/v3/media/#commits-commit-comparison-and-pull-requests) to fetch `diff` and `patch` formats. Diffs with binary data will have no `patch` property. + * + * To return only the SHA-1 hash of the commit reference, you can provide the `sha` custom [media type](https://developer.github.com/v3/media/#commits-commit-comparison-and-pull-requests) in the `Accept` header. You can use this endpoint to check if a remote reference's SHA-1 hash is the same as your local reference's SHA-1 hash by providing the local SHA-1 reference as the ETag. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ------------------------ | --------------------------------------------------------------------------------------------------------------------------------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + getCommit: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposGetCommitParamsDeprecatedSha + ): Promise>; + ( + params?: Octokit.RequestOptions & + Octokit.ReposGetCommitParamsDeprecatedCommitSha + ): Promise>; + (params?: Octokit.RequestOptions & Octokit.ReposGetCommitParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Returns the last year of commit activity grouped by week. The `days` array is a group of commits per day, starting on `Sunday`. + */ + getCommitActivityStats: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposGetCommitActivityStatsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + getCommitComment: { + ( + params?: Octokit.RequestOptions & Octokit.ReposGetCommitCommentParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * **Note:** To access this endpoint, you must provide a custom [media type](https://developer.github.com/v3/media) in the `Accept` header: + * ``` + * application/vnd.github.VERSION.sha + * ``` + * Returns the SHA-1 of the commit reference. You must have `read` access for the repository to get the SHA-1 of a commit reference. You can use this endpoint to check if a remote reference's SHA-1 is the same as your local reference's SHA-1 by providing the local SHA-1 reference as the ETag. + * @deprecated "Get the SHA-1 of a commit reference" will be removed. Use "Get a single commit" instead with media type format set to "sha" instead. + */ + getCommitRefSha: { + ( + params?: Octokit.RequestOptions & Octokit.ReposGetCommitRefShaParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Gets the contents of a file or directory in a repository. Specify the file path or directory in `:path`. If you omit `:path`, you will receive the contents of all files in the repository. + * + * Files and symlinks support [a custom media type](https://developer.github.com/v3/repos/contents/#custom-media-types) for retrieving the raw content or rendered HTML (when supported). All content types support [a custom media type](https://developer.github.com/v3/repos/contents/#custom-media-types) to ensure the content is returned in a consistent object format. + * + * **Note**: + * + * * To get a repository's contents recursively, you can [recursively get the tree](https://developer.github.com/v3/git/trees/). + * * This API has an upper limit of 1,000 files for a directory. If you need to retrieve more files, use the [Git Trees API](https://developer.github.com/v3/git/trees/#get-a-tree). + * * This API supports files up to 1 megabyte in size. + * + * The response will be an array of objects, one object for each item in the directory. + * + * When listing the contents of a directory, submodules have their "type" specified as "file". Logically, the value _should_ be "submodule". This behavior exists in API v3 [for backwards compatibility purposes](https://git.io/v1YCW). In the next major version of the API, the type will be returned as "submodule". + * + * If the requested `:path` points to a symlink, and the symlink's target is a normal file in the repository, then the API responds with the content of the file (in the [format shown above](https://developer.github.com/v3/repos/contents/#response-if-content-is-a-file)). + * + * Otherwise, the API responds with an object describing the symlink itself: + * + * The `submodule_git_url` identifies the location of the submodule repository, and the `sha` identifies a specific commit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out the submodule at that specific commit. + * + * If the submodule repository is not hosted on github.com, the Git URLs (`git_url` and `_links["git"]`) and the github.com URLs (`html_url` and `_links["html"]`) will have null values. + */ + getContents: { + ( + params?: Octokit.RequestOptions & Octokit.ReposGetContentsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * * `total` - The Total number of commits authored by the contributor. + * + * Weekly Hash (`weeks` array): + * + * * `w` - Start of the week, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). + * * `a` - Number of additions + * * `d` - Number of deletions + * * `c` - Number of commits + */ + getContributorsStats: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposGetContributorsStatsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + getDeployKey: { + ( + params?: Octokit.RequestOptions & Octokit.ReposGetDeployKeyParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + getDeployment: { + ( + params?: Octokit.RequestOptions & Octokit.ReposGetDeploymentParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Users with pull access can view a deployment status for a deployment: + */ + getDeploymentStatus: { + ( + params?: Octokit.RequestOptions & Octokit.ReposGetDeploymentStatusParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + getDownload: { + ( + params?: Octokit.RequestOptions & Octokit.ReposGetDownloadParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + getHook: { + (params?: Octokit.RequestOptions & Octokit.ReposGetHookParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + getLatestPagesBuild: { + ( + params?: Octokit.RequestOptions & Octokit.ReposGetLatestPagesBuildParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * View the latest published full release for the repository. + * + * The latest release is the most recent non-prerelease, non-draft release, sorted by the `created_at` attribute. The `created_at` attribute is the date of the commit used for the release, and not the date when the release was drafted or published. + */ + getLatestRelease: { + ( + params?: Octokit.RequestOptions & Octokit.ReposGetLatestReleaseParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + getPages: { + (params?: Octokit.RequestOptions & Octokit.ReposGetPagesParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + getPagesBuild: { + ( + params?: Octokit.RequestOptions & Octokit.ReposGetPagesBuildParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Returns the total commit counts for the `owner` and total commit counts in `all`. `all` is everyone combined, including the `owner` in the last 52 weeks. If you'd like to get the commit counts for non-owners, you can subtract `owner` from `all`. + * + * The array order is oldest week (index 0) to most recent week. + */ + getParticipationStats: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposGetParticipationStatsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + getProtectedBranchAdminEnforcement: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposGetProtectedBranchAdminEnforcementParams + ): Promise< + Octokit.Response< + Octokit.ReposGetProtectedBranchAdminEnforcementResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + getProtectedBranchPullRequestReviewEnforcement: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposGetProtectedBranchPullRequestReviewEnforcementParams + ): Promise< + Octokit.Response< + Octokit.ReposGetProtectedBranchPullRequestReviewEnforcementResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to check whether a branch requires signed commits. An enabled status of `true` indicates you must sign commits on this branch. For more information, see [Signing commits with GPG](https://help.github.com/articles/signing-commits-with-gpg) in GitHub Help. + * + * **Note**: You must enable branch protection to require signed commits. + */ + getProtectedBranchRequiredSignatures: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposGetProtectedBranchRequiredSignaturesParams + ): Promise< + Octokit.Response< + Octokit.ReposGetProtectedBranchRequiredSignaturesResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + getProtectedBranchRequiredStatusChecks: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposGetProtectedBranchRequiredStatusChecksParams + ): Promise< + Octokit.Response< + Octokit.ReposGetProtectedBranchRequiredStatusChecksResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists who has access to this protected branch. {{#note}} + * + * **Note**: Users, apps, and teams `restrictions` are only available for organization-owned repositories. + */ + getProtectedBranchRestrictions: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposGetProtectedBranchRestrictionsParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Each array contains the day number, hour number, and number of commits: + * + * * `0-6`: Sunday - Saturday + * * `0-23`: Hour of day + * * Number of commits + * + * For example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits. + */ + getPunchCardStats: { + ( + params?: Octokit.RequestOptions & Octokit.ReposGetPunchCardStatsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Gets the preferred README for a repository. + * + * READMEs support [custom media types](https://developer.github.com/v3/repos/contents/#custom-media-types) for retrieving the raw content or rendered HTML. + */ + getReadme: { + (params?: Octokit.RequestOptions & Octokit.ReposGetReadmeParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://developer.github.com/v3/#hypermedia). + */ + getRelease: { + ( + params?: Octokit.RequestOptions & Octokit.ReposGetReleaseParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * To download the asset's binary content, set the `Accept` header of the request to [`application/octet-stream`](https://developer.github.com/v3/media/#media-types). The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a `200` or `302` response. + */ + getReleaseAsset: { + ( + params?: Octokit.RequestOptions & Octokit.ReposGetReleaseAssetParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Get a published release with the specified tag. + */ + getReleaseByTag: { + ( + params?: Octokit.RequestOptions & Octokit.ReposGetReleaseByTagParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the teams who have push access to this branch. The list includes child teams. + */ + getTeamsWithAccessToProtectedBranch: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposGetTeamsWithAccessToProtectedBranchParams + ): Promise< + Octokit.Response< + Octokit.ReposGetTeamsWithAccessToProtectedBranchResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Get the top 10 popular contents over the last 14 days. + */ + getTopPaths: { + ( + params?: Octokit.RequestOptions & Octokit.ReposGetTopPathsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Get the top 10 referrers over the last 14 days. + */ + getTopReferrers: { + ( + params?: Octokit.RequestOptions & Octokit.ReposGetTopReferrersParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the people who have push access to this branch. + */ + getUsersWithAccessToProtectedBranch: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposGetUsersWithAccessToProtectedBranchParams + ): Promise< + Octokit.Response< + Octokit.ReposGetUsersWithAccessToProtectedBranchResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Get the total number of views and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. + */ + getViews: { + (params?: Octokit.RequestOptions & Octokit.ReposGetViewsParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Lists repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + */ + list: { + (params?: Octokit.RequestOptions & Octokit.ReposListParams): Promise< + Octokit.AnyResponse + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the GitHub Apps that have push access to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + * @deprecated octokit.repos.listAppsWithAccessToProtectedBranch() has been renamed to octokit.repos.getAppsWithAccessToProtectedBranch() (2019-09-13) + */ + listAppsWithAccessToProtectedBranch: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposListAppsWithAccessToProtectedBranchParams + ): Promise< + Octokit.Response< + Octokit.ReposListAppsWithAccessToProtectedBranchResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + + listAssetsForRelease: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposListAssetsForReleaseParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + listBranches: { + ( + params?: Octokit.RequestOptions & Octokit.ReposListBranchesParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Returns all branches where the given commit SHA is the HEAD, or latest commit for the branch. + */ + listBranchesForHeadCommit: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposListBranchesForHeadCommitParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. + * + * Team members will include the members of child teams. + */ + listCollaborators: { + ( + params?: Octokit.RequestOptions & Octokit.ReposListCollaboratorsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Use the `:commit_sha` to specify the commit that will have its comments listed. + */ + listCommentsForCommit: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposListCommentsForCommitParamsDeprecatedRef + ): Promise>; + ( + params?: Octokit.RequestOptions & + Octokit.ReposListCommentsForCommitParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Commit Comments use [these custom media types](https://developer.github.com/v3/repos/comments/#custom-media-types). You can read more about the use of media types in the API [here](https://developer.github.com/v3/media/). + * + * Comments are ordered by ascending ID. + */ + listCommitComments: { + ( + params?: Octokit.RequestOptions & Octokit.ReposListCommitCommentsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ------------------------ | --------------------------------------------------------------------------------------------------------------------------------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + listCommits: { + ( + params?: Octokit.RequestOptions & Octokit.ReposListCommitsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Lists contributors to the specified repository and sorts them by the number of commits per contributor in descending order. This endpoint may return information that is a few hours old because the GitHub REST API v3 caches contributor data to improve performance. + * + * GitHub identifies contributors by author email address. This endpoint groups contribution counts by GitHub user, which includes all associated email addresses. To improve performance, only the first 500 author email addresses in the repository link to GitHub users. The rest will appear as anonymous contributors without associated GitHub user information. + */ + listContributors: { + ( + params?: Octokit.RequestOptions & Octokit.ReposListContributorsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + listDeployKeys: { + ( + params?: Octokit.RequestOptions & Octokit.ReposListDeployKeysParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Users with pull access can view deployment statuses for a deployment: + */ + listDeploymentStatuses: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposListDeploymentStatusesParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Simple filtering of deployments is available via query parameters: + */ + listDeployments: { + ( + params?: Octokit.RequestOptions & Octokit.ReposListDeploymentsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + listDownloads: { + ( + params?: Octokit.RequestOptions & Octokit.ReposListDownloadsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Lists repositories for the specified organization. + */ + listForOrg: { + ( + params?: Octokit.RequestOptions & Octokit.ReposListForOrgParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Lists public repositories for the specified user. + */ + listForUser: { + ( + params?: Octokit.RequestOptions & Octokit.ReposListForUserParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + listForks: { + (params?: Octokit.RequestOptions & Octokit.ReposListForksParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + listHooks: { + (params?: Octokit.RequestOptions & Octokit.ReposListHooksParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * When authenticating as a user with admin rights to a repository, this endpoint will list all currently open repository invitations. + */ + listInvitations: { + ( + params?: Octokit.RequestOptions & Octokit.ReposListInvitationsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * When authenticating as a user, this endpoint will list all currently open repository invitations for that user. + */ + listInvitationsForAuthenticatedUser: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposListInvitationsForAuthenticatedUserParams + ): Promise< + Octokit.Response< + Octokit.ReposListInvitationsForAuthenticatedUserResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Lists languages for the specified repository. The value shown for each language is the number of bytes of code written in that language. + */ + listLanguages: { + ( + params?: Octokit.RequestOptions & Octokit.ReposListLanguagesParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + listPagesBuilds: { + ( + params?: Octokit.RequestOptions & Octokit.ReposListPagesBuildsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + listProtectedBranchRequiredStatusChecksContexts: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposListProtectedBranchRequiredStatusChecksContextsParams + ): Promise< + Octokit.Response< + Octokit.ReposListProtectedBranchRequiredStatusChecksContextsResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the teams who have push access to this branch. The list includes child teams. + * @deprecated octokit.repos.listProtectedBranchTeamRestrictions() has been renamed to octokit.repos.getTeamsWithAccessToProtectedBranch() (2019-09-09) + */ + listProtectedBranchTeamRestrictions: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposListProtectedBranchTeamRestrictionsParams + ): Promise< + Octokit.Response< + Octokit.ReposListProtectedBranchTeamRestrictionsResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the people who have push access to this branch. + * @deprecated octokit.repos.listProtectedBranchUserRestrictions() has been renamed to octokit.repos.getUsersWithAccessToProtectedBranch() (2019-09-09) + */ + listProtectedBranchUserRestrictions: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposListProtectedBranchUserRestrictionsParams + ): Promise< + Octokit.Response< + Octokit.ReposListProtectedBranchUserRestrictionsResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Lists all public repositories in the order that they were created. + * + * Note: Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://developer.github.com/v3/#link-header) to get the URL for the next page of repositories. + */ + listPublic: { + ( + params?: Octokit.RequestOptions & Octokit.ReposListPublicParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Lists all pull requests containing the provided commit SHA, which can be from any point in the commit history. The results will include open and closed pull requests. Additional preview headers may be required to see certain details for associated pull requests, such as whether a pull request is in a draft state. For more information about previews that might affect this endpoint, see the [List pull requests](https://developer.github.com/v3/pulls/#list-pull-requests) endpoint. + */ + listPullRequestsAssociatedWithCommit: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposListPullRequestsAssociatedWithCommitParams + ): Promise< + Octokit.Response< + Octokit.ReposListPullRequestsAssociatedWithCommitResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * This returns a list of releases, which does not include regular Git tags that have not been associated with a release. To get a list of Git tags, use the [Repository Tags API](https://developer.github.com/v3/repos/#list-tags). + * + * Information about published releases are available to everyone. Only users with push access will receive listings for draft releases. + */ + listReleases: { + ( + params?: Octokit.RequestOptions & Octokit.ReposListReleasesParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Users with pull access in a repository can view commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. Statuses are returned in reverse chronological order. The first status in the list will be the latest one. + * + * This resource is also available via a legacy route: `GET /repos/:owner/:repo/statuses/:ref`. + */ + listStatusesForRef: { + ( + params?: Octokit.RequestOptions & Octokit.ReposListStatusesForRefParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + listTags: { + (params?: Octokit.RequestOptions & Octokit.ReposListTagsParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + listTeams: { + (params?: Octokit.RequestOptions & Octokit.ReposListTeamsParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the teams who have push access to this branch. The list includes child teams. + * @deprecated octokit.repos.listTeamsWithAccessToProtectedBranch() has been renamed to octokit.repos.getTeamsWithAccessToProtectedBranch() (2019-09-13) + */ + listTeamsWithAccessToProtectedBranch: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposListTeamsWithAccessToProtectedBranchParams + ): Promise< + Octokit.Response< + Octokit.ReposListTeamsWithAccessToProtectedBranchResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + + listTopics: { + ( + params?: Octokit.RequestOptions & Octokit.ReposListTopicsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the people who have push access to this branch. + * @deprecated octokit.repos.listUsersWithAccessToProtectedBranch() has been renamed to octokit.repos.getUsersWithAccessToProtectedBranch() (2019-09-13) + */ + listUsersWithAccessToProtectedBranch: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposListUsersWithAccessToProtectedBranchParams + ): Promise< + Octokit.Response< + Octokit.ReposListUsersWithAccessToProtectedBranchResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + + merge: { + (params?: Octokit.RequestOptions & Octokit.ReposMergeParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * This will trigger a [ping event](https://developer.github.com/webhooks/#ping-event) to be sent to the hook. + */ + pingHook: { + (params?: Octokit.RequestOptions & Octokit.ReposPingHookParams): Promise< + Octokit.AnyResponse + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + removeBranchProtection: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposRemoveBranchProtectionParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + removeCollaborator: { + ( + params?: Octokit.RequestOptions & Octokit.ReposRemoveCollaboratorParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + removeDeployKey: { + ( + params?: Octokit.RequestOptions & Octokit.ReposRemoveDeployKeyParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removing admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + */ + removeProtectedBranchAdminEnforcement: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposRemoveProtectedBranchAdminEnforcementParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of an app to push to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + * + * | Type | Description | + * | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | The GitHub Apps that have push access to this branch. Use the app's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + removeProtectedBranchAppRestrictions: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposRemoveProtectedBranchAppRestrictionsParams + ): Promise< + Octokit.Response< + Octokit.ReposRemoveProtectedBranchAppRestrictionsResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + removeProtectedBranchPullRequestReviewEnforcement: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposRemoveProtectedBranchPullRequestReviewEnforcementParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to disable required signed commits on a branch. You must enable branch protection to require signed commits. + */ + removeProtectedBranchRequiredSignatures: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposRemoveProtectedBranchRequiredSignaturesParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + removeProtectedBranchRequiredStatusChecks: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposRemoveProtectedBranchRequiredStatusChecksParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + removeProtectedBranchRequiredStatusChecksContexts: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposRemoveProtectedBranchRequiredStatusChecksContextsParams + ): Promise< + Octokit.Response< + Octokit.ReposRemoveProtectedBranchRequiredStatusChecksContextsResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Disables the ability to restrict who can push to this branch. + */ + removeProtectedBranchRestrictions: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposRemoveProtectedBranchRestrictionsParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of a team to push to this branch. You can also remove push access for child teams. + * + * | Type | Description | + * | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Teams that should no longer have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + removeProtectedBranchTeamRestrictions: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposRemoveProtectedBranchTeamRestrictionsParams + ): Promise< + Octokit.Response< + Octokit.ReposRemoveProtectedBranchTeamRestrictionsResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of a user to push to this branch. + * + * | Type | Description | + * | ------- | --------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames of the people who should no longer have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + removeProtectedBranchUserRestrictions: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposRemoveProtectedBranchUserRestrictionsParams + ): Promise< + Octokit.Response< + Octokit.ReposRemoveProtectedBranchUserRestrictionsResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of apps that have push access to this branch. This removes all apps that previously had push access and grants push access to the new list of apps. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + * + * | Type | Description | + * | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | The GitHub Apps that have push access to this branch. Use the app's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + replaceProtectedBranchAppRestrictions: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposReplaceProtectedBranchAppRestrictionsParams + ): Promise< + Octokit.Response< + Octokit.ReposReplaceProtectedBranchAppRestrictionsResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + replaceProtectedBranchRequiredStatusChecksContexts: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposReplaceProtectedBranchRequiredStatusChecksContextsParams + ): Promise< + Octokit.Response< + Octokit.ReposReplaceProtectedBranchRequiredStatusChecksContextsResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of teams that have push access to this branch. This removes all teams that previously had push access and grants push access to the new list of teams. Team restrictions include child teams. + * + * | Type | Description | + * | ------- | ------------------------------------------------------------------------------------------------------------------------------------------ | + * | `array` | The teams that can have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + replaceProtectedBranchTeamRestrictions: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposReplaceProtectedBranchTeamRestrictionsParams + ): Promise< + Octokit.Response< + Octokit.ReposReplaceProtectedBranchTeamRestrictionsResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of people that have push access to this branch. This removes all people that previously had push access and grants push access to the new list of people. + * + * | Type | Description | + * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + replaceProtectedBranchUserRestrictions: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposReplaceProtectedBranchUserRestrictionsParams + ): Promise< + Octokit.Response< + Octokit.ReposReplaceProtectedBranchUserRestrictionsResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + + replaceTopics: { + ( + params?: Octokit.RequestOptions & Octokit.ReposReplaceTopicsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * You can request that your site be built from the latest revision on the default branch. This has the same effect as pushing a commit to your default branch, but does not require an additional commit. Manually triggering page builds can be helpful when diagnosing build warnings and failures. + * + * Build requests are limited to one concurrent build per repository and one concurrent build per requester. If you request a build while another is still in progress, the second request will be queued until the first completes. + */ + requestPageBuild: { + ( + params?: Octokit.RequestOptions & Octokit.ReposRequestPageBuildParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * This endpoint will return all community profile metrics, including an overall health score, repository description, the presence of documentation, detected code of conduct, detected license, and the presence of ISSUE\_TEMPLATE, PULL\_REQUEST\_TEMPLATE, README, and CONTRIBUTING files. + */ + retrieveCommunityProfileMetrics: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposRetrieveCommunityProfileMetricsParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * This will trigger the hook with the latest push to the current repository if the hook is subscribed to `push` events. If the hook is not subscribed to `push` events, the server will respond with 204 but no test POST will be generated. + * + * **Note**: Previously `/repos/:owner/:repo/hooks/:hook_id/test` + */ + testPushHook: { + ( + params?: Octokit.RequestOptions & Octokit.ReposTestPushHookParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * A transfer request will need to be accepted by the new owner when transferring a personal repository to another user. The response will contain the original `owner`, and the transfer will continue asynchronously. For more details on the requirements to transfer personal and organization-owned repositories, see [about repository transfers](https://help.github.com/articles/about-repository-transfers/). + */ + transfer: { + (params?: Octokit.RequestOptions & Octokit.ReposTransferParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **Note**: To edit a repository's topics, use the [`topics` endpoint](https://developer.github.com/v3/repos/#replace-all-topics-for-a-repository). + */ + update: { + (params?: Octokit.RequestOptions & Octokit.ReposUpdateParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Protecting a branch requires admin or owner permissions to the repository. + * + * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. + * + * **Note**: The list of users, apps, and teams in total is limited to 100 items. + */ + updateBranchProtection: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposUpdateBranchProtectionParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + updateCommitComment: { + ( + params?: Octokit.RequestOptions & Octokit.ReposUpdateCommitCommentParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Creates a new file or updates an existing file in a repository. + * @deprecated octokit.repos.updateFile() has been renamed to octokit.repos.createOrUpdateFile() (2019-06-07) + */ + updateFile: { + ( + params?: Octokit.RequestOptions & Octokit.ReposUpdateFileParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + updateHook: { + ( + params?: Octokit.RequestOptions & Octokit.ReposUpdateHookParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + updateInformationAboutPagesSite: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposUpdateInformationAboutPagesSiteParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + updateInvitation: { + ( + params?: Octokit.RequestOptions & Octokit.ReposUpdateInvitationParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Updating pull request review enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + * + * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. + */ + updateProtectedBranchPullRequestReviewEnforcement: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposUpdateProtectedBranchPullRequestReviewEnforcementParams + ): Promise< + Octokit.Response< + Octokit.ReposUpdateProtectedBranchPullRequestReviewEnforcementResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Updating required status checks requires admin or owner permissions to the repository and branch protection to be enabled. + */ + updateProtectedBranchRequiredStatusChecks: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposUpdateProtectedBranchRequiredStatusChecksParams + ): Promise< + Octokit.Response< + Octokit.ReposUpdateProtectedBranchRequiredStatusChecksResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Users with push access to the repository can edit a release. + */ + updateRelease: { + ( + params?: Octokit.RequestOptions & Octokit.ReposUpdateReleaseParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Users with push access to the repository can edit a release asset. + */ + updateReleaseAsset: { + ( + params?: Octokit.RequestOptions & Octokit.ReposUpdateReleaseAssetParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * This endpoint makes use of [a Hypermedia relation](https://developer.github.com/v3/#hypermedia) to determine which URL to access. The endpoint you call to upload release assets is specific to your release. Use the `upload_url` returned in the response of the [Create a release endpoint](https://developer.github.com/v3/repos/releases/#create-a-release) to upload a release asset. + * + * You need to use an HTTP client which supports [SNI](http://en.wikipedia.org/wiki/Server_Name_Indication) to make calls to this endpoint. + * + * Most libraries will set the required `Content-Length` header automatically. Use the required `Content-Type` header to provide the media type of the asset. For a list of media types, see [Media Types](https://www.iana.org/assignments/media-types/media-types.xhtml). For example: + * + * `application/zip` + * + * GitHub expects the asset data in its raw binary form, rather than JSON. You will send the raw binary content of the asset as the request body. Everything else about the endpoint is the same as the rest of the API. For example, you'll still need to pass your authentication to be able to upload an asset. + */ + uploadReleaseAsset: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposUploadReleaseAssetParamsDeprecatedFile + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.ReposUploadReleaseAssetParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + }; + search: { + /** + * Find file contents via various criteria. This method returns up to 100 results [per page](https://developer.github.com/v3/#pagination). + * + * When searching for code, you can get text match metadata for the file **content** and file **path** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://developer.github.com/v3/search/#text-match-metadata). + * + * **Note:** You must [authenticate](https://developer.github.com/v3/#authentication) to search for code across all public repositories. + * + * **Considerations for code search** + * + * Due to the complexity of searching code, there are a few restrictions on how searches are performed: + * + * * Only the _default branch_ is considered. In most cases, this will be the `master` branch. + * * Only files smaller than 384 KB are searchable. + * * You must always include at least one search term when searching source code. For example, searching for [`language:go`](https://github.com/search?utf8=%E2%9C%93&q=language%3Ago&type=Code) is not valid, while [`amazing language:go`](https://github.com/search?utf8=%E2%9C%93&q=amazing+language%3Ago&type=Code) is. + * + * Suppose you want to find the definition of the `addClass` function inside [jQuery](https://github.com/jquery/jquery). Your query would look something like this: + * + * Here, we're searching for the keyword `addClass` within a file's contents. We're making sure that we're only looking in files where the language is JavaScript. And we're scoping the search to the `repo:jquery/jquery` repository. + */ + code: { + (params?: Octokit.RequestOptions & Octokit.SearchCodeParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Find commits via various criteria. This method returns up to 100 results [per page](https://developer.github.com/v3/#pagination). + * + * When searching for commits, you can get text match metadata for the **message** field when you provide the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://developer.github.com/v3/search/#text-match-metadata). + * + * **Considerations for commit search** + * + * Only the _default branch_ is considered. In most cases, this will be the `master` branch. + * + * Suppose you want to find commits related to CSS in the [octocat/Spoon-Knife](https://github.com/octocat/Spoon-Knife) repository. Your query would look something like this: + */ + commits: { + (params?: Octokit.RequestOptions & Octokit.SearchCommitsParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * This API call is added for compatibility reasons only. There's no guarantee that full email searches will always be available. The `@` character in the address must be left unencoded. Searches only against public email addresses (as configured on the user's GitHub profile). + * @deprecated octokit.search.emailLegacy() is deprecated, see https://developer.github.com/v3/search/legacy/#email-search + */ + emailLegacy: { + ( + params?: Octokit.RequestOptions & Octokit.SearchEmailLegacyParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Find issues by state and keyword. This method returns up to 100 results [per page](https://developer.github.com/v3/#pagination). + * + * When searching for issues, you can get text match metadata for the issue **title**, issue **body**, and issue **comment body** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://developer.github.com/v3/search/#text-match-metadata). + * + * Let's say you want to find the oldest unresolved Python bugs on Windows. Your query might look something like this. + * + * In this query, we're searching for the keyword `windows`, within any open issue that's labeled as `bug`. The search runs across repositories whose primary language is Python. We’re sorting by creation date in ascending order, so that the oldest issues appear first in the search results. + * @deprecated octokit.search.issues() has been renamed to octokit.search.issuesAndPullRequests() (2018-12-27) + */ + issues: { + (params?: Octokit.RequestOptions & Octokit.SearchIssuesParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Find issues by state and keyword. This method returns up to 100 results [per page](https://developer.github.com/v3/#pagination). + * + * When searching for issues, you can get text match metadata for the issue **title**, issue **body**, and issue **comment body** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://developer.github.com/v3/search/#text-match-metadata). + * + * Let's say you want to find the oldest unresolved Python bugs on Windows. Your query might look something like this. + * + * In this query, we're searching for the keyword `windows`, within any open issue that's labeled as `bug`. The search runs across repositories whose primary language is Python. We’re sorting by creation date in ascending order, so that the oldest issues appear first in the search results. + */ + issuesAndPullRequests: { + ( + params?: Octokit.RequestOptions & + Octokit.SearchIssuesAndPullRequestsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Find issues by state and keyword. + * @deprecated octokit.search.issuesLegacy() is deprecated, see https://developer.github.com/v3/search/legacy/#search-issues + */ + issuesLegacy: { + ( + params?: Octokit.RequestOptions & Octokit.SearchIssuesLegacyParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Find labels in a repository with names or descriptions that match search keywords. Returns up to 100 results [per page](https://developer.github.com/v3/#pagination). + * + * When searching for labels, you can get text match metadata for the label **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://developer.github.com/v3/search/#text-match-metadata). + * + * Suppose you want to find labels in the `linguist` repository that match `bug`, `defect`, or `enhancement`. Your query might look like this: + * + * The labels that best match for the query appear first in the search results. + */ + labels: { + (params?: Octokit.RequestOptions & Octokit.SearchLabelsParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Find repositories via various criteria. This method returns up to 100 results [per page](https://developer.github.com/v3/#pagination). + * + * When searching for repositories, you can get text match metadata for the **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://developer.github.com/v3/search/#text-match-metadata). + * + * Suppose you want to search for popular Tetris repositories written in Assembly. Your query might look like this. + * + * You can search for multiple topics by adding more `topic:` instances, and including the `mercy-preview` header. For example: + * + * In this request, we're searching for repositories with the word `tetris` in the name, the description, or the README. We're limiting the results to only find repositories where the primary language is Assembly. We're sorting by stars in descending order, so that the most popular repositories appear first in the search results. + */ + repos: { + (params?: Octokit.RequestOptions & Octokit.SearchReposParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Find repositories by keyword. Note, this legacy method does not follow the v3 pagination pattern. This method returns up to 100 results per page and pages can be fetched using the `start_page` parameter. + * @deprecated octokit.search.reposLegacy() is deprecated, see https://developer.github.com/v3/search/legacy/#search-repositories + */ + reposLegacy: { + ( + params?: Octokit.RequestOptions & Octokit.SearchReposLegacyParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Find topics via various criteria. Results are sorted by best match. This method returns up to 100 results [per page](https://developer.github.com/v3/#pagination). + * + * When searching for topics, you can get text match metadata for the topic's **short\_description**, **description**, **name**, or **display\_name** field when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://developer.github.com/v3/search/#text-match-metadata). + * + * See "[Searching topics](https://help.github.com/articles/searching-topics/)" for a detailed list of qualifiers. + * + * Suppose you want to search for topics related to Ruby that are featured on [https://github.com/topics](https://github.com/topics). Your query might look like this: + * + * In this request, we're searching for topics with the keyword `ruby`, and we're limiting the results to find only topics that are featured. The topics that are the best match for the query appear first in the search results. + * + * **Note:** A search for featured Ruby topics only has 6 total results, so a [Link header](https://developer.github.com/v3/#link-header) indicating pagination is not included in the response. + */ + topics: { + (params?: Octokit.RequestOptions & Octokit.SearchTopicsParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Find users via various criteria. This method returns up to 100 results [per page](https://developer.github.com/v3/#pagination). + * + * When searching for users, you can get text match metadata for the issue **login**, **email**, and **name** fields when you pass the `text-match` media type. For more details about highlighting search results, see [Text match metadata](https://developer.github.com/v3/search/#text-match-metadata). For more details about how to receive highlighted search results, see [Text match metadata](https://developer.github.com/v3/search/#text-match-metadata). + * + * Imagine you're looking for a list of popular users. You might try out this query: + * + * Here, we're looking at users with the name Tom. We're only interested in those with more than 42 repositories, and only if they have over 1,000 followers. + */ + users: { + (params?: Octokit.RequestOptions & Octokit.SearchUsersParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Find users by keyword. + * @deprecated octokit.search.usersLegacy() is deprecated, see https://developer.github.com/v3/search/legacy/#search-users + */ + usersLegacy: { + ( + params?: Octokit.RequestOptions & Octokit.SearchUsersLegacyParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + }; + teams: { + /** + * The "Add team member" endpoint (described below) is deprecated. + * + * We recommend using the [Add team membership](https://developer.github.com/v3/teams/members/#add-or-update-team-membership) endpoint instead. It allows you to invite new organization members to your teams. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To add someone to a team, the authenticated user must be an organization owner or a team maintainer in the team they're changing. The person being added to the team must be a member of the team's organization. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://developer.github.com/v3/#http-verbs)." + * @deprecated octokit.teams.addMember() is deprecated, see https://developer.github.com/v3/teams/members/#add-team-member-legacy + */ + addMember: { + (params?: Octokit.RequestOptions & Octokit.TeamsAddMemberParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * The "Add team member" endpoint (described below) is deprecated. + * + * We recommend using the [Add team membership](https://developer.github.com/v3/teams/members/#add-or-update-team-membership) endpoint instead. It allows you to invite new organization members to your teams. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To add someone to a team, the authenticated user must be an organization owner or a team maintainer in the team they're changing. The person being added to the team must be a member of the team's organization. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://developer.github.com/v3/#http-verbs)." + * @deprecated octokit.teams.addMemberLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#add-team-member-legacy + */ + addMemberLegacy: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsAddMemberLegacyParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Add or update team membership`](https://developer.github.com/v3/teams/members/#add-or-update-team-membership) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * If the user is already a member of the team's organization, this endpoint will add the user to the team. To add a membership between an organization member and a team, the authenticated user must be an organization owner or a team maintainer. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * If the user is unaffiliated with the team's organization, this endpoint will send an invitation to the user via email. This newly-created membership will be in the "pending" state until the user accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. To add a membership between an unaffiliated user and a team, the authenticated user must be an organization owner. + * + * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. + * @deprecated octokit.teams.addOrUpdateMembership() is deprecated, see https://developer.github.com/v3/teams/members/#add-or-update-team-membership-legacy + */ + addOrUpdateMembership: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsAddOrUpdateMembershipParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Adds an organization member to a team. An authenticated organization owner or team maintainer can add organization members to a team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * An organization owner can add someone who is not part of the team's organization to a team. When an organization owner adds someone to a team who is not an organization member, this endpoint will send an invitation to the person via email. This newly-created membership will be in the "pending" state until the person accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. + * + * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/:org_id/team/:team_id/memberships/:username`. + */ + addOrUpdateMembershipInOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsAddOrUpdateMembershipInOrgParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Add or update team membership`](https://developer.github.com/v3/teams/members/#add-or-update-team-membership) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * If the user is already a member of the team's organization, this endpoint will add the user to the team. To add a membership between an organization member and a team, the authenticated user must be an organization owner or a team maintainer. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * If the user is unaffiliated with the team's organization, this endpoint will send an invitation to the user via email. This newly-created membership will be in the "pending" state until the user accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. To add a membership between an unaffiliated user and a team, the authenticated user must be an organization owner. + * + * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. + * @deprecated octokit.teams.addOrUpdateMembershipLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#add-or-update-team-membership-legacy + */ + addOrUpdateMembershipLegacy: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsAddOrUpdateMembershipLegacyParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Add or update team project`](https://developer.github.com/v3/teams/#add-or-update-team-project) endpoint. + * + * Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization. + * @deprecated octokit.teams.addOrUpdateProject() is deprecated, see https://developer.github.com/v3/teams/#add-or-update-team-project-legacy + */ + addOrUpdateProject: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsAddOrUpdateProjectParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/:org_id/team/:team_id/projects/:project_id`. + */ + addOrUpdateProjectInOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsAddOrUpdateProjectInOrgParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Add or update team project`](https://developer.github.com/v3/teams/#add-or-update-team-project) endpoint. + * + * Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization. + * @deprecated octokit.teams.addOrUpdateProjectLegacy() is deprecated, see https://developer.github.com/v3/teams/#add-or-update-team-project-legacy + */ + addOrUpdateProjectLegacy: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsAddOrUpdateProjectLegacyParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Add or update team repository`](https://developer.github.com/v3/teams/#add-or-update-team-repository) endpoint. + * + * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://developer.github.com/v3/#http-verbs)." + * @deprecated octokit.teams.addOrUpdateRepo() is deprecated, see https://developer.github.com/v3/teams/#add-or-update-team-repository-legacy + */ + addOrUpdateRepo: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsAddOrUpdateRepoParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://developer.github.com/v3/#http-verbs)." + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/:org_id/team/:team_id/repos/:owner/:repo`. + */ + addOrUpdateRepoInOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsAddOrUpdateRepoInOrgParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Add or update team repository`](https://developer.github.com/v3/teams/#add-or-update-team-repository) endpoint. + * + * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://developer.github.com/v3/#http-verbs)." + * @deprecated octokit.teams.addOrUpdateRepoLegacy() is deprecated, see https://developer.github.com/v3/teams/#add-or-update-team-repository-legacy + */ + addOrUpdateRepoLegacy: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsAddOrUpdateRepoLegacyParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * **Note**: Repositories inherited through a parent team will also be checked. + * + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Check if a team manages a repository`](https://developer.github.com/v3/teams/#check-if-a-team-manages-a-repository) endpoint. + * + * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://developer.github.com/v3/media/) via the `Accept` header: + * @deprecated octokit.teams.checkManagesRepo() is deprecated, see https://developer.github.com/v3/teams/#check-if-a-team-manages-a-repository-legacy + */ + checkManagesRepo: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsCheckManagesRepoParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Checks whether a team has `admin`, `push`, or `pull` permission for a repository. Repositories inherited through a parent team will also be checked. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/repos/:owner/:repo`. + * + * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://developer.github.com/v3/media/) via the `Accept` header: + */ + checkManagesRepoInOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsCheckManagesRepoInOrgParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * **Note**: Repositories inherited through a parent team will also be checked. + * + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Check if a team manages a repository`](https://developer.github.com/v3/teams/#check-if-a-team-manages-a-repository) endpoint. + * + * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://developer.github.com/v3/media/) via the `Accept` header: + * @deprecated octokit.teams.checkManagesRepoLegacy() is deprecated, see https://developer.github.com/v3/teams/#check-if-a-team-manages-a-repository-legacy + */ + checkManagesRepoLegacy: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsCheckManagesRepoLegacyParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * To create a team, the authenticated user must be a member or owner of `:org`. By default, organization members can create teams. Organization owners can limit team creation to organization owners. For more information, see "[Setting team creation permissions](https://help.github.com/en/articles/setting-team-creation-permissions-in-your-organization)." + * + * When you create a new team, you automatically become a team maintainer without explicitly adding yourself to the optional array of `maintainers`. For more information, see "[About teams](https://help.github.com/en/github/setting-up-and-managing-organizations-and-teams/about-teams)" in the GitHub Help documentation. + */ + create: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsCreateParamsDeprecatedPermission + ): Promise>; + (params?: Octokit.RequestOptions & Octokit.TeamsCreateParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create a discussion`](https://developer.github.com/v3/teams/discussions/#create-a-discussion) endpoint. + * + * Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://developer.github.com/v3/#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://developer.github.com/v3/guides/best-practices-for-integrators/#dealing-with-abuse-rate-limits)" for details. + * @deprecated octokit.teams.createDiscussion() is deprecated, see https://developer.github.com/v3/teams/discussions/#create-a-discussion-legacy + */ + createDiscussion: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsCreateDiscussionParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create a comment`](https://developer.github.com/v3/teams/discussion_comments/#create-a-comment) endpoint. + * + * Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://developer.github.com/v3/#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://developer.github.com/v3/guides/best-practices-for-integrators/#dealing-with-abuse-rate-limits)" for details. + * @deprecated octokit.teams.createDiscussionComment() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#create-a-comment-legacy + */ + createDiscussionComment: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsCreateDiscussionCommentParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://developer.github.com/v3/#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://developer.github.com/v3/guides/best-practices-for-integrators/#dealing-with-abuse-rate-limits)" for details. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments`. + */ + createDiscussionCommentInOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsCreateDiscussionCommentInOrgParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create a comment`](https://developer.github.com/v3/teams/discussion_comments/#create-a-comment) endpoint. + * + * Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://developer.github.com/v3/#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://developer.github.com/v3/guides/best-practices-for-integrators/#dealing-with-abuse-rate-limits)" for details. + * @deprecated octokit.teams.createDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#create-a-comment-legacy + */ + createDiscussionCommentLegacy: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsCreateDiscussionCommentLegacyParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://developer.github.com/v3/#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://developer.github.com/v3/guides/best-practices-for-integrators/#dealing-with-abuse-rate-limits)" for details. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions`. + */ + createDiscussionInOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsCreateDiscussionInOrgParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create a discussion`](https://developer.github.com/v3/teams/discussions/#create-a-discussion) endpoint. + * + * Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://developer.github.com/v3/#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://developer.github.com/v3/guides/best-practices-for-integrators/#dealing-with-abuse-rate-limits)" for details. + * @deprecated octokit.teams.createDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#create-a-discussion-legacy + */ + createDiscussionLegacy: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsCreateDiscussionLegacyParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete team`](https://developer.github.com/v3/teams/#delete-team) endpoint. + * + * To delete a team, the authenticated user must be an organization owner or team maintainer. + * + * If you are an organization owner, deleting a parent team will delete all of its child teams as well. + * @deprecated octokit.teams.delete() is deprecated, see https://developer.github.com/v3/teams/#delete-team-legacy + */ + delete: { + (params?: Octokit.RequestOptions & Octokit.TeamsDeleteParams): Promise< + Octokit.AnyResponse + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete a discussion`](https://developer.github.com/v3/teams/discussions/#delete-a-discussion) endpoint. + * + * Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @deprecated octokit.teams.deleteDiscussion() is deprecated, see https://developer.github.com/v3/teams/discussions/#delete-a-discussion-legacy + */ + deleteDiscussion: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsDeleteDiscussionParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete a comment`](https://developer.github.com/v3/teams/discussion_comments/#delete-a-comment) endpoint. + * + * Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @deprecated octokit.teams.deleteDiscussionComment() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#delete-a-comment-legacy + */ + deleteDiscussionComment: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsDeleteDiscussionCommentParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number`. + */ + deleteDiscussionCommentInOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsDeleteDiscussionCommentInOrgParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete a comment`](https://developer.github.com/v3/teams/discussion_comments/#delete-a-comment) endpoint. + * + * Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @deprecated octokit.teams.deleteDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#delete-a-comment-legacy + */ + deleteDiscussionCommentLegacy: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsDeleteDiscussionCommentLegacyParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number`. + */ + deleteDiscussionInOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsDeleteDiscussionInOrgParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete a discussion`](https://developer.github.com/v3/teams/discussions/#delete-a-discussion) endpoint. + * + * Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @deprecated octokit.teams.deleteDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#delete-a-discussion-legacy + */ + deleteDiscussionLegacy: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsDeleteDiscussionLegacyParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * To delete a team, the authenticated user must be an organization owner or team maintainer. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/:org_id/team/:team_id`. + * + * If you are an organization owner, deleting a parent team will delete all of its child teams as well. + */ + deleteInOrg: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsDeleteInOrgParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete team`](https://developer.github.com/v3/teams/#delete-team) endpoint. + * + * To delete a team, the authenticated user must be an organization owner or team maintainer. + * + * If you are an organization owner, deleting a parent team will delete all of its child teams as well. + * @deprecated octokit.teams.deleteLegacy() is deprecated, see https://developer.github.com/v3/teams/#delete-team-legacy + */ + deleteLegacy: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsDeleteLegacyParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the [`Get team by name`](https://developer.github.com/v3/teams/#get-team-by-name) endpoint. + * @deprecated octokit.teams.get() is deprecated, see https://developer.github.com/v3/teams/#get-team-legacy + */ + get: { + (params?: Octokit.RequestOptions & Octokit.TeamsGetParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Gets a team using the team's `slug`. GitHub generates the `slug` from the team `name`. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id`. + */ + getByName: { + (params?: Octokit.RequestOptions & Octokit.TeamsGetByNameParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Get a single discussion`](https://developer.github.com/v3/teams/discussions/#get-a-single-discussion) endpoint. + * + * Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @deprecated octokit.teams.getDiscussion() is deprecated, see https://developer.github.com/v3/teams/discussions/#get-a-single-discussion-legacy + */ + getDiscussion: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsGetDiscussionParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Get a single comment`](https://developer.github.com/v3/teams/discussion_comments/#get-a-single-comment) endpoint. + * + * Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @deprecated octokit.teams.getDiscussionComment() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#get-a-single-comment-legacy + */ + getDiscussionComment: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsGetDiscussionCommentParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number`. + */ + getDiscussionCommentInOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsGetDiscussionCommentInOrgParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Get a single comment`](https://developer.github.com/v3/teams/discussion_comments/#get-a-single-comment) endpoint. + * + * Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @deprecated octokit.teams.getDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#get-a-single-comment-legacy + */ + getDiscussionCommentLegacy: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsGetDiscussionCommentLegacyParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number`. + */ + getDiscussionInOrg: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsGetDiscussionInOrgParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Get a single discussion`](https://developer.github.com/v3/teams/discussions/#get-a-single-discussion) endpoint. + * + * Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @deprecated octokit.teams.getDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#get-a-single-discussion-legacy + */ + getDiscussionLegacy: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsGetDiscussionLegacyParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the [`Get team by name`](https://developer.github.com/v3/teams/#get-team-by-name) endpoint. + * @deprecated octokit.teams.getLegacy() is deprecated, see https://developer.github.com/v3/teams/#get-team-legacy + */ + getLegacy: { + (params?: Octokit.RequestOptions & Octokit.TeamsGetLegacyParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * The "Get team member" endpoint (described below) is deprecated. + * + * We recommend using the [Get team membership](https://developer.github.com/v3/teams/members/#get-team-membership) endpoint instead. It allows you to get both active and pending memberships. + * + * To list members in a team, the team must be visible to the authenticated user. + * @deprecated octokit.teams.getMember() is deprecated, see https://developer.github.com/v3/teams/members/#get-team-member-legacy + */ + getMember: { + (params?: Octokit.RequestOptions & Octokit.TeamsGetMemberParams): Promise< + Octokit.AnyResponse + >; + + endpoint: Octokit.Endpoint; + }; + /** + * The "Get team member" endpoint (described below) is deprecated. + * + * We recommend using the [Get team membership](https://developer.github.com/v3/teams/members/#get-team-membership) endpoint instead. It allows you to get both active and pending memberships. + * + * To list members in a team, the team must be visible to the authenticated user. + * @deprecated octokit.teams.getMemberLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#get-team-member-legacy + */ + getMemberLegacy: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsGetMemberLegacyParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Get team membership`](https://developer.github.com/v3/teams/members/#get-team-membership) endpoint. + * + * Team members will include the members of child teams. + * + * To get a user's membership with a team, the team must be visible to the authenticated user. + * + * **Note:** The `role` for organization owners returns as `maintainer`. For more information about `maintainer` roles, see [Create team](https://developer.github.com/v3/teams#create-team). + * @deprecated octokit.teams.getMembership() is deprecated, see https://developer.github.com/v3/teams/members/#get-team-membership-legacy + */ + getMembership: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsGetMembershipParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Team members will include the members of child teams. + * + * To get a user's membership with a team, the team must be visible to the authenticated user. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/memberships/:username`. + * + * **Note:** The `role` for organization owners returns as `maintainer`. For more information about `maintainer` roles, see [Create team](https://developer.github.com/v3/teams#create-team). + */ + getMembershipInOrg: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsGetMembershipInOrgParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Get team membership`](https://developer.github.com/v3/teams/members/#get-team-membership) endpoint. + * + * Team members will include the members of child teams. + * + * To get a user's membership with a team, the team must be visible to the authenticated user. + * + * **Note:** The `role` for organization owners returns as `maintainer`. For more information about `maintainer` roles, see [Create team](https://developer.github.com/v3/teams#create-team). + * @deprecated octokit.teams.getMembershipLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#get-team-membership-legacy + */ + getMembershipLegacy: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsGetMembershipLegacyParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Lists all teams in an organization that are visible to the authenticated user. + */ + list: { + (params?: Octokit.RequestOptions & Octokit.TeamsListParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List child teams`](https://developer.github.com/v3/teams/#list-child-teams) endpoint. + * + * + * @deprecated octokit.teams.listChild() is deprecated, see https://developer.github.com/v3/teams/#list-child-teams-legacy + */ + listChild: { + (params?: Octokit.RequestOptions & Octokit.TeamsListChildParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Lists the child teams of the team requested by `:team_slug`. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/teams`. + */ + listChildInOrg: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsListChildInOrgParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List child teams`](https://developer.github.com/v3/teams/#list-child-teams) endpoint. + * + * + * @deprecated octokit.teams.listChildLegacy() is deprecated, see https://developer.github.com/v3/teams/#list-child-teams-legacy + */ + listChildLegacy: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsListChildLegacyParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List comments`](https://developer.github.com/v3/teams/discussion_comments/#list-comments) endpoint. + * + * List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @deprecated octokit.teams.listDiscussionComments() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#list-comments-legacy + */ + listDiscussionComments: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsListDiscussionCommentsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments`. + */ + listDiscussionCommentsInOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsListDiscussionCommentsInOrgParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List comments`](https://developer.github.com/v3/teams/discussion_comments/#list-comments) endpoint. + * + * List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @deprecated octokit.teams.listDiscussionCommentsLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#list-comments-legacy + */ + listDiscussionCommentsLegacy: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsListDiscussionCommentsLegacyParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List discussions`](https://developer.github.com/v3/teams/discussions/#list-discussions) endpoint. + * + * List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @deprecated octokit.teams.listDiscussions() is deprecated, see https://developer.github.com/v3/teams/discussions/#list-discussions-legacy + */ + listDiscussions: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsListDiscussionsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions`. + */ + listDiscussionsInOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsListDiscussionsInOrgParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List discussions`](https://developer.github.com/v3/teams/discussions/#list-discussions) endpoint. + * + * List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @deprecated octokit.teams.listDiscussionsLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#list-discussions-legacy + */ + listDiscussionsLegacy: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsListDiscussionsLegacyParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * List all of the teams across all of the organizations to which the authenticated user belongs. This method requires `user`, `repo`, or `read:org` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/) when authenticating via [OAuth](https://developer.github.com/apps/building-oauth-apps/). + */ + listForAuthenticatedUser: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsListForAuthenticatedUserParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team members`](https://developer.github.com/v3/teams/members/#list-team-members) endpoint. + * + * Team members will include the members of child teams. + * @deprecated octokit.teams.listMembers() is deprecated, see https://developer.github.com/v3/teams/members/#list-team-members-legacy + */ + listMembers: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsListMembersParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Team members will include the members of child teams. + * + * To list members in a team, the team must be visible to the authenticated user. + */ + listMembersInOrg: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsListMembersInOrgParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team members`](https://developer.github.com/v3/teams/members/#list-team-members) endpoint. + * + * Team members will include the members of child teams. + * @deprecated octokit.teams.listMembersLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#list-team-members-legacy + */ + listMembersLegacy: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsListMembersLegacyParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List pending team invitations`](https://developer.github.com/v3/teams/members/#list-pending-team-invitations) endpoint. + * + * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. + * @deprecated octokit.teams.listPendingInvitations() is deprecated, see https://developer.github.com/v3/teams/members/#list-pending-team-invitations-legacy + */ + listPendingInvitations: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsListPendingInvitationsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/invitations`. + */ + listPendingInvitationsInOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsListPendingInvitationsInOrgParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List pending team invitations`](https://developer.github.com/v3/teams/members/#list-pending-team-invitations) endpoint. + * + * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. + * @deprecated octokit.teams.listPendingInvitationsLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#list-pending-team-invitations-legacy + */ + listPendingInvitationsLegacy: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsListPendingInvitationsLegacyParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team projects`](https://developer.github.com/v3/teams/#list-team-projects) endpoint. + * + * Lists the organization projects for a team. + * @deprecated octokit.teams.listProjects() is deprecated, see https://developer.github.com/v3/teams/#list-team-projects-legacy + */ + listProjects: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsListProjectsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Lists the organization projects for a team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/projects`. + */ + listProjectsInOrg: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsListProjectsInOrgParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team projects`](https://developer.github.com/v3/teams/#list-team-projects) endpoint. + * + * Lists the organization projects for a team. + * @deprecated octokit.teams.listProjectsLegacy() is deprecated, see https://developer.github.com/v3/teams/#list-team-projects-legacy + */ + listProjectsLegacy: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsListProjectsLegacyParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team repos`](https://developer.github.com/v3/teams/#list-team-repos) endpoint. + * @deprecated octokit.teams.listRepos() is deprecated, see https://developer.github.com/v3/teams/#list-team-repos-legacy + */ + listRepos: { + (params?: Octokit.RequestOptions & Octokit.TeamsListReposParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Lists a team's repositories visible to the authenticated user. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/repos`. + */ + listReposInOrg: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsListReposInOrgParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team repos`](https://developer.github.com/v3/teams/#list-team-repos) endpoint. + * @deprecated octokit.teams.listReposLegacy() is deprecated, see https://developer.github.com/v3/teams/#list-team-repos-legacy + */ + listReposLegacy: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsListReposLegacyParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * The "Remove team member" endpoint (described below) is deprecated. + * + * We recommend using the [Remove team membership](https://developer.github.com/v3/teams/members/#remove-team-membership) endpoint instead. It allows you to remove both active and pending memberships. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a team member, the authenticated user must have 'admin' permissions to the team or be an owner of the org that the team is associated with. Removing a team member does not delete the user, it just removes them from the team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * @deprecated octokit.teams.removeMember() is deprecated, see https://developer.github.com/v3/teams/members/#remove-team-member-legacy + */ + removeMember: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsRemoveMemberParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * The "Remove team member" endpoint (described below) is deprecated. + * + * We recommend using the [Remove team membership](https://developer.github.com/v3/teams/members/#remove-team-membership) endpoint instead. It allows you to remove both active and pending memberships. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a team member, the authenticated user must have 'admin' permissions to the team or be an owner of the org that the team is associated with. Removing a team member does not delete the user, it just removes them from the team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * @deprecated octokit.teams.removeMemberLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#remove-team-member-legacy + */ + removeMemberLegacy: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsRemoveMemberLegacyParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Remove team membership`](https://developer.github.com/v3/teams/members/#remove-team-membership) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * @deprecated octokit.teams.removeMembership() is deprecated, see https://developer.github.com/v3/teams/members/#remove-team-membership-legacy + */ + removeMembership: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsRemoveMembershipParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/:org_id/team/:team_id/memberships/:username`. + */ + removeMembershipInOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsRemoveMembershipInOrgParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Remove team membership`](https://developer.github.com/v3/teams/members/#remove-team-membership) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * @deprecated octokit.teams.removeMembershipLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#remove-team-membership-legacy + */ + removeMembershipLegacy: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsRemoveMembershipLegacyParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Remove team project`](https://developer.github.com/v3/teams/#remove-team-project) endpoint. + * + * Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. **Note:** This endpoint removes the project from the team, but does not delete it. + * @deprecated octokit.teams.removeProject() is deprecated, see https://developer.github.com/v3/teams/#remove-team-project-legacy + */ + removeProject: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsRemoveProjectParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. This endpoint removes the project from the team, but does not delete the project. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/:org_id/team/:team_id/projects/:project_id`. + */ + removeProjectInOrg: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsRemoveProjectInOrgParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Remove team project`](https://developer.github.com/v3/teams/#remove-team-project) endpoint. + * + * Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. **Note:** This endpoint removes the project from the team, but does not delete it. + * @deprecated octokit.teams.removeProjectLegacy() is deprecated, see https://developer.github.com/v3/teams/#remove-team-project-legacy + */ + removeProjectLegacy: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsRemoveProjectLegacyParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Remove team repository`](https://developer.github.com/v3/teams/#remove-team-repository) endpoint. + * + * If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. NOTE: This does not delete the repository, it just removes it from the team. + * @deprecated octokit.teams.removeRepo() is deprecated, see https://developer.github.com/v3/teams/#remove-team-repository-legacy + */ + removeRepo: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsRemoveRepoParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. This does not delete the repository, it just removes it from the team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/:org_id/team/:team_id/repos/:owner/:repo`. + */ + removeRepoInOrg: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsRemoveRepoInOrgParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Remove team repository`](https://developer.github.com/v3/teams/#remove-team-repository) endpoint. + * + * If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. NOTE: This does not delete the repository, it just removes it from the team. + * @deprecated octokit.teams.removeRepoLegacy() is deprecated, see https://developer.github.com/v3/teams/#remove-team-repository-legacy + */ + removeRepoLegacy: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsRemoveRepoLegacyParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Review a team project`](https://developer.github.com/v3/teams/#review-a-team-project) endpoint. + * + * Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. + * @deprecated octokit.teams.reviewProject() is deprecated, see https://developer.github.com/v3/teams/#review-a-team-project-legacy + */ + reviewProject: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsReviewProjectParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/projects/:project_id`. + */ + reviewProjectInOrg: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsReviewProjectInOrgParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Review a team project`](https://developer.github.com/v3/teams/#review-a-team-project) endpoint. + * + * Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. + * @deprecated octokit.teams.reviewProjectLegacy() is deprecated, see https://developer.github.com/v3/teams/#review-a-team-project-legacy + */ + reviewProjectLegacy: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsReviewProjectLegacyParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Edit team`](https://developer.github.com/v3/teams/#edit-team) endpoint. + * + * To edit a team, the authenticated user must either be an organization owner or a team maintainer. + * + * **Note:** With nested teams, the `privacy` for parent teams cannot be `secret`. + * @deprecated octokit.teams.update() is deprecated, see https://developer.github.com/v3/teams/#edit-team-legacy + */ + update: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsUpdateParamsDeprecatedPermission + ): Promise>; + (params?: Octokit.RequestOptions & Octokit.TeamsUpdateParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Edit a discussion`](https://developer.github.com/v3/teams/discussions/#edit-a-discussion) endpoint. + * + * Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @deprecated octokit.teams.updateDiscussion() is deprecated, see https://developer.github.com/v3/teams/discussions/#edit-a-discussion-legacy + */ + updateDiscussion: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsUpdateDiscussionParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Edit a comment`](https://developer.github.com/v3/teams/discussion_comments/#edit-a-comment) endpoint. + * + * Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @deprecated octokit.teams.updateDiscussionComment() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#edit-a-comment-legacy + */ + updateDiscussionComment: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsUpdateDiscussionCommentParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number`. + */ + updateDiscussionCommentInOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsUpdateDiscussionCommentInOrgParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Edit a comment`](https://developer.github.com/v3/teams/discussion_comments/#edit-a-comment) endpoint. + * + * Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @deprecated octokit.teams.updateDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#edit-a-comment-legacy + */ + updateDiscussionCommentLegacy: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsUpdateDiscussionCommentLegacyParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/:org_id/team/:team_id/discussions/:discussion_number`. + */ + updateDiscussionInOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsUpdateDiscussionInOrgParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Edit a discussion`](https://developer.github.com/v3/teams/discussions/#edit-a-discussion) endpoint. + * + * Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @deprecated octokit.teams.updateDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#edit-a-discussion-legacy + */ + updateDiscussionLegacy: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsUpdateDiscussionLegacyParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * To edit a team, the authenticated user must either be an organization owner or a team maintainer. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/:org_id/team/:team_id`. + */ + updateInOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsUpdateInOrgParamsDeprecatedPermission + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.TeamsUpdateInOrgParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Edit team`](https://developer.github.com/v3/teams/#edit-team) endpoint. + * + * To edit a team, the authenticated user must either be an organization owner or a team maintainer. + * + * **Note:** With nested teams, the `privacy` for parent teams cannot be `secret`. + * @deprecated octokit.teams.updateLegacy() is deprecated, see https://developer.github.com/v3/teams/#edit-team-legacy + */ + updateLegacy: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsUpdateLegacyParamsDeprecatedPermission + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.TeamsUpdateLegacyParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + }; + users: { + /** + * This endpoint is accessible with the `user` scope. + */ + addEmails: { + (params?: Octokit.RequestOptions & Octokit.UsersAddEmailsParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + block: { + (params?: Octokit.RequestOptions & Octokit.UsersBlockParams): Promise< + Octokit.AnyResponse + >; + + endpoint: Octokit.Endpoint; + }; + /** + * If the user is blocked: + * + * If the user is not blocked: + */ + checkBlocked: { + ( + params?: Octokit.RequestOptions & Octokit.UsersCheckBlockedParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + checkFollowing: { + ( + params?: Octokit.RequestOptions & Octokit.UsersCheckFollowingParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + checkFollowingForUser: { + ( + params?: Octokit.RequestOptions & + Octokit.UsersCheckFollowingForUserParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Adds a GPG key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:gpg_key` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + createGpgKey: { + ( + params?: Octokit.RequestOptions & Octokit.UsersCreateGpgKeyParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Adds a public SSH key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:public_key` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + createPublicKey: { + ( + params?: Octokit.RequestOptions & Octokit.UsersCreatePublicKeyParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * This endpoint is accessible with the `user` scope. + */ + deleteEmails: { + ( + params?: Octokit.RequestOptions & Octokit.UsersDeleteEmailsParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Removes a GPG key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:gpg_key` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + deleteGpgKey: { + ( + params?: Octokit.RequestOptions & Octokit.UsersDeleteGpgKeyParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Removes a public SSH key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:public_key` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + deletePublicKey: { + ( + params?: Octokit.RequestOptions & Octokit.UsersDeletePublicKeyParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://developer.github.com/v3/#http-verbs)." + * + * Following a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. + */ + follow: { + (params?: Octokit.RequestOptions & Octokit.UsersFollowParams): Promise< + Octokit.AnyResponse + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Lists public and private profile information when authenticated through basic auth or OAuth with the `user` scope. + * + * Lists public profile information when authenticated through OAuth without the `user` scope. + */ + getAuthenticated: { + (params?: Octokit.RequestOptions & Octokit.EmptyParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Provides publicly available information about someone with a GitHub account. + * + * GitHub Apps with the `Plan` user permission can use this endpoint to retrieve information about a user's GitHub plan. The GitHub App must be authenticated as a user. See "[Identifying and authorizing users for GitHub Apps](https://developer.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/)" for details about authentication. For an example response, see "[Response with GitHub plan information](https://developer.github.com/v3/users/#response-with-github-plan-information)." + * + * The `email` key in the following response is the publicly visible email address from your GitHub [profile page](https://github.com/settings/profile). When setting up your profile, you can select a primary email address to be “public” which provides an email entry for this endpoint. If you do not set a public email address for `email`, then it will have a value of `null`. You only see publicly visible email addresses when authenticated with GitHub. For more information, see [Authentication](https://developer.github.com/v3/#authentication). + * + * The Emails API enables you to list all of your email addresses, and toggle a primary email to be visible publicly. For more information, see "[Emails API](https://developer.github.com/v3/users/emails/)". + */ + getByUsername: { + ( + params?: Octokit.RequestOptions & Octokit.UsersGetByUsernameParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Provides hovercard information when authenticated through basic auth or OAuth with the `repo` scope. You can find out more about someone in relation to their pull requests, issues, repositories, and organizations. + * + * The `subject_type` and `subject_id` parameters provide context for the person's hovercard, which returns more information than without the parameters. For example, if you wanted to find out more about `octocat` who owns the `Spoon-Knife` repository via cURL, it would look like this: + */ + getContextForUser: { + ( + params?: Octokit.RequestOptions & Octokit.UsersGetContextForUserParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * View extended details for a single GPG key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + getGpgKey: { + (params?: Octokit.RequestOptions & Octokit.UsersGetGpgKeyParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * View extended details for a single public SSH key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + getPublicKey: { + ( + params?: Octokit.RequestOptions & Octokit.UsersGetPublicKeyParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Lists all users, in the order that they signed up on GitHub. This list includes personal user accounts and organization accounts. + * + * Note: Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://developer.github.com/v3/#link-header) to get the URL for the next page of users. + */ + list: { + (params?: Octokit.RequestOptions & Octokit.UsersListParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * List the users you've blocked on your personal account. + */ + listBlocked: { + (params?: Octokit.RequestOptions & Octokit.EmptyParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Lists all of your email addresses, and specifies which one is visible to the public. This endpoint is accessible with the `user:email` scope. + */ + listEmails: { + ( + params?: Octokit.RequestOptions & Octokit.UsersListEmailsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + listFollowersForAuthenticatedUser: { + ( + params?: Octokit.RequestOptions & + Octokit.UsersListFollowersForAuthenticatedUserParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + listFollowersForUser: { + ( + params?: Octokit.RequestOptions & + Octokit.UsersListFollowersForUserParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + listFollowingForAuthenticatedUser: { + ( + params?: Octokit.RequestOptions & + Octokit.UsersListFollowingForAuthenticatedUserParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + listFollowingForUser: { + ( + params?: Octokit.RequestOptions & + Octokit.UsersListFollowingForUserParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Lists the current user's GPG keys. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + listGpgKeys: { + ( + params?: Octokit.RequestOptions & Octokit.UsersListGpgKeysParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Lists the GPG keys for a user. This information is accessible by anyone. + */ + listGpgKeysForUser: { + ( + params?: Octokit.RequestOptions & Octokit.UsersListGpgKeysForUserParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Lists your publicly visible email address, which you can set with the [Toggle primary email visibility](https://developer.github.com/v3/users/emails/#toggle-primary-email-visibility) endpoint. This endpoint is accessible with the `user:email` scope. + */ + listPublicEmails: { + ( + params?: Octokit.RequestOptions & Octokit.UsersListPublicEmailsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Lists the public SSH keys for the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + listPublicKeys: { + ( + params?: Octokit.RequestOptions & Octokit.UsersListPublicKeysParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Lists the _verified_ public SSH keys for a user. This is accessible by anyone. + */ + listPublicKeysForUser: { + ( + params?: Octokit.RequestOptions & + Octokit.UsersListPublicKeysForUserParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Sets the visibility for your primary email addresses. + */ + togglePrimaryEmailVisibility: { + ( + params?: Octokit.RequestOptions & + Octokit.UsersTogglePrimaryEmailVisibilityParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + unblock: { + (params?: Octokit.RequestOptions & Octokit.UsersUnblockParams): Promise< + Octokit.AnyResponse + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Unfollowing a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. + */ + unfollow: { + (params?: Octokit.RequestOptions & Octokit.UsersUnfollowParams): Promise< + Octokit.AnyResponse + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **Note:** If your email is set to private and you send an `email` parameter as part of this request to update your profile, your privacy settings are still enforced: the email address will not be displayed on your public profile or via the API. + */ + updateAuthenticated: { + ( + params?: Octokit.RequestOptions & Octokit.UsersUpdateAuthenticatedParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + }; +} diff --git a/node_modules/@octokit/rest/index.js b/node_modules/@octokit/rest/index.js new file mode 100644 index 0000000..a2d3069 --- /dev/null +++ b/node_modules/@octokit/rest/index.js @@ -0,0 +1,43 @@ +const { requestLog } = require("@octokit/plugin-request-log"); +const { + restEndpointMethods +} = require("@octokit/plugin-rest-endpoint-methods"); + +const Core = require("./lib/core"); + +const CORE_PLUGINS = [ + require("./plugins/authentication"), + require("./plugins/authentication-deprecated"), // deprecated: remove in v17 + requestLog, + require("./plugins/pagination"), + restEndpointMethods, + require("./plugins/validate"), + + require("octokit-pagination-methods") // deprecated: remove in v17 +]; + +const OctokitRest = Core.plugin(CORE_PLUGINS); + +function DeprecatedOctokit(options) { + const warn = + options && options.log && options.log.warn + ? options.log.warn + : console.warn; + warn( + '[@octokit/rest] `const Octokit = require("@octokit/rest")` is deprecated. Use `const { Octokit } = require("@octokit/rest")` instead' + ); + return new OctokitRest(options); +} + +const Octokit = Object.assign(DeprecatedOctokit, { + Octokit: OctokitRest +}); + +Object.keys(OctokitRest).forEach(key => { + /* istanbul ignore else */ + if (OctokitRest.hasOwnProperty(key)) { + Octokit[key] = OctokitRest[key]; + } +}); + +module.exports = Octokit; diff --git a/node_modules/@octokit/rest/lib/constructor.js b/node_modules/@octokit/rest/lib/constructor.js new file mode 100644 index 0000000..d83cf6b --- /dev/null +++ b/node_modules/@octokit/rest/lib/constructor.js @@ -0,0 +1,29 @@ +module.exports = Octokit; + +const { request } = require("@octokit/request"); +const Hook = require("before-after-hook"); + +const parseClientOptions = require("./parse-client-options"); + +function Octokit(plugins, options) { + options = options || {}; + const hook = new Hook.Collection(); + const log = Object.assign( + { + debug: () => {}, + info: () => {}, + warn: console.warn, + error: console.error + }, + options && options.log + ); + const api = { + hook, + log, + request: request.defaults(parseClientOptions(options, log, hook)) + }; + + plugins.forEach(pluginFunction => pluginFunction(api, options)); + + return api; +} diff --git a/node_modules/@octokit/rest/lib/core.js b/node_modules/@octokit/rest/lib/core.js new file mode 100644 index 0000000..4943ffa --- /dev/null +++ b/node_modules/@octokit/rest/lib/core.js @@ -0,0 +1,3 @@ +const factory = require("./factory"); + +module.exports = factory(); diff --git a/node_modules/@octokit/rest/lib/factory.js b/node_modules/@octokit/rest/lib/factory.js new file mode 100644 index 0000000..5dc2065 --- /dev/null +++ b/node_modules/@octokit/rest/lib/factory.js @@ -0,0 +1,10 @@ +module.exports = factory; + +const Octokit = require("./constructor"); +const registerPlugin = require("./register-plugin"); + +function factory(plugins) { + const Api = Octokit.bind(null, plugins || []); + Api.plugin = registerPlugin.bind(null, plugins || []); + return Api; +} diff --git a/node_modules/@octokit/rest/lib/parse-client-options.js b/node_modules/@octokit/rest/lib/parse-client-options.js new file mode 100644 index 0000000..c7c097d --- /dev/null +++ b/node_modules/@octokit/rest/lib/parse-client-options.js @@ -0,0 +1,89 @@ +module.exports = parseOptions; + +const { Deprecation } = require("deprecation"); +const { getUserAgent } = require("universal-user-agent"); +const once = require("once"); + +const pkg = require("../package.json"); + +const deprecateOptionsTimeout = once((log, deprecation) => + log.warn(deprecation) +); +const deprecateOptionsAgent = once((log, deprecation) => log.warn(deprecation)); +const deprecateOptionsHeaders = once((log, deprecation) => + log.warn(deprecation) +); + +function parseOptions(options, log, hook) { + if (options.headers) { + options.headers = Object.keys(options.headers).reduce((newObj, key) => { + newObj[key.toLowerCase()] = options.headers[key]; + return newObj; + }, {}); + } + + const clientDefaults = { + headers: options.headers || {}, + request: options.request || {}, + mediaType: { + previews: [], + format: "" + } + }; + + if (options.baseUrl) { + clientDefaults.baseUrl = options.baseUrl; + } + + if (options.userAgent) { + clientDefaults.headers["user-agent"] = options.userAgent; + } + + if (options.previews) { + clientDefaults.mediaType.previews = options.previews; + } + + if (options.timeZone) { + clientDefaults.headers["time-zone"] = options.timeZone; + } + + if (options.timeout) { + deprecateOptionsTimeout( + log, + new Deprecation( + "[@octokit/rest] new Octokit({timeout}) is deprecated. Use {request: {timeout}} instead. See https://github.com/octokit/request.js#request" + ) + ); + clientDefaults.request.timeout = options.timeout; + } + + if (options.agent) { + deprecateOptionsAgent( + log, + new Deprecation( + "[@octokit/rest] new Octokit({agent}) is deprecated. Use {request: {agent}} instead. See https://github.com/octokit/request.js#request" + ) + ); + clientDefaults.request.agent = options.agent; + } + + if (options.headers) { + deprecateOptionsHeaders( + log, + new Deprecation( + "[@octokit/rest] new Octokit({headers}) is deprecated. Use {userAgent, previews} instead. See https://github.com/octokit/request.js#request" + ) + ); + } + + const userAgentOption = clientDefaults.headers["user-agent"]; + const defaultUserAgent = `octokit.js/${pkg.version} ${getUserAgent()}`; + + clientDefaults.headers["user-agent"] = [userAgentOption, defaultUserAgent] + .filter(Boolean) + .join(" "); + + clientDefaults.request.hook = hook.bind(null, "request"); + + return clientDefaults; +} diff --git a/node_modules/@octokit/rest/lib/register-plugin.js b/node_modules/@octokit/rest/lib/register-plugin.js new file mode 100644 index 0000000..c1ae775 --- /dev/null +++ b/node_modules/@octokit/rest/lib/register-plugin.js @@ -0,0 +1,9 @@ +module.exports = registerPlugin; + +const factory = require("./factory"); + +function registerPlugin(plugins, pluginFunction) { + return factory( + plugins.includes(pluginFunction) ? plugins : plugins.concat(pluginFunction) + ); +} diff --git a/node_modules/@octokit/rest/node_modules/@octokit/request-error/LICENSE b/node_modules/@octokit/rest/node_modules/@octokit/request-error/LICENSE new file mode 100644 index 0000000..ef2c18e --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/@octokit/request-error/LICENSE @@ -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. diff --git a/node_modules/@octokit/rest/node_modules/@octokit/request-error/README.md b/node_modules/@octokit/rest/node_modules/@octokit/request-error/README.md new file mode 100644 index 0000000..bcb711d --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/@octokit/request-error/README.md @@ -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 + + + + + + +
+Browsers + +Load @octokit/request-error directly from cdn.pika.dev + +```html + +``` + +
+Node + + +Install with npm install @octokit/request-error + +```js +const { RequestError } = require("@octokit/request-error"); +// or: import { RequestError } from "@octokit/request-error"; +``` + +
+ +```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) diff --git a/node_modules/@octokit/rest/node_modules/@octokit/request-error/dist-node/index.js b/node_modules/@octokit/rest/node_modules/@octokit/request-error/dist-node/index.js new file mode 100644 index 0000000..95b9c57 --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/@octokit/request-error/dist-node/index.js @@ -0,0 +1,55 @@ +'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; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/rest/node_modules/@octokit/request-error/dist-node/index.js.map b/node_modules/@octokit/rest/node_modules/@octokit/request-error/dist-node/index.js.map new file mode 100644 index 0000000..ec1c6db --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/@octokit/request-error/dist-node/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/index.js"],"sourcesContent":["import { Deprecation } from \"deprecation\";\nimport once from \"once\";\nconst logOnce = once((deprecation) => console.warn(deprecation));\n/**\n * Error with extra properties to help with debugging\n */\nexport class RequestError extends Error {\n constructor(message, statusCode, options) {\n super(message);\n // Maintains proper stack trace (only available on V8)\n /* istanbul ignore next */\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n this.name = \"HttpError\";\n this.status = statusCode;\n Object.defineProperty(this, \"code\", {\n get() {\n logOnce(new Deprecation(\"[@octokit/request-error] `error.code` is deprecated, use `error.status`.\"));\n return statusCode;\n }\n });\n this.headers = options.headers || {};\n // redact request credentials without mutating original request options\n const requestCopy = Object.assign({}, options.request);\n if (options.request.headers.authorization) {\n requestCopy.headers = Object.assign({}, options.request.headers, {\n authorization: options.request.headers.authorization.replace(/ .*$/, \" [REDACTED]\")\n });\n }\n requestCopy.url = requestCopy.url\n // client_id & client_secret can be passed as URL query parameters to increase rate limit\n // see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications\n .replace(/\\bclient_secret=\\w+/g, \"client_secret=[REDACTED]\")\n // OAuth tokens can be passed as URL query parameters, although it is not recommended\n // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header\n .replace(/\\baccess_token=\\w+/g, \"access_token=[REDACTED]\");\n this.request = requestCopy;\n }\n}\n"],"names":["logOnce","once","deprecation","console","warn","RequestError","Error","constructor","message","statusCode","options","captureStackTrace","name","status","Object","defineProperty","get","Deprecation","headers","requestCopy","assign","request","authorization","replace","url"],"mappings":";;;;;;;;;AAEA,MAAMA,OAAO,GAAGC,IAAI,CAAEC,WAAD,IAAiBC,OAAO,CAACC,IAAR,CAAaF,WAAb,CAAlB,CAApB;;;;;AAIA,AAAO,MAAMG,YAAN,SAA2BC,KAA3B,CAAiC;EACpCC,WAAW,CAACC,OAAD,EAAUC,UAAV,EAAsBC,OAAtB,EAA+B;UAChCF,OAAN,EADsC;;;;QAIlCF,KAAK,CAACK,iBAAV,EAA6B;MACzBL,KAAK,CAACK,iBAAN,CAAwB,IAAxB,EAA8B,KAAKJ,WAAnC;;;SAECK,IAAL,GAAY,WAAZ;SACKC,MAAL,GAAcJ,UAAd;IACAK,MAAM,CAACC,cAAP,CAAsB,IAAtB,EAA4B,MAA5B,EAAoC;MAChCC,GAAG,GAAG;QACFhB,OAAO,CAAC,IAAIiB,uBAAJ,CAAgB,0EAAhB,CAAD,CAAP;eACOR,UAAP;;;KAHR;SAMKS,OAAL,GAAeR,OAAO,CAACQ,OAAR,IAAmB,EAAlC,CAfsC;;UAiBhCC,WAAW,GAAGL,MAAM,CAACM,MAAP,CAAc,EAAd,EAAkBV,OAAO,CAACW,OAA1B,CAApB;;QACIX,OAAO,CAACW,OAAR,CAAgBH,OAAhB,CAAwBI,aAA5B,EAA2C;MACvCH,WAAW,CAACD,OAAZ,GAAsBJ,MAAM,CAACM,MAAP,CAAc,EAAd,EAAkBV,OAAO,CAACW,OAAR,CAAgBH,OAAlC,EAA2C;QAC7DI,aAAa,EAAEZ,OAAO,CAACW,OAAR,CAAgBH,OAAhB,CAAwBI,aAAxB,CAAsCC,OAAtC,CAA8C,MAA9C,EAAsD,aAAtD;OADG,CAAtB;;;IAIJJ,WAAW,CAACK,GAAZ,GAAkBL,WAAW,CAACK,GAAZ;;KAGbD,OAHa,CAGL,sBAHK,EAGmB,0BAHnB;;KAMbA,OANa,CAML,qBANK,EAMkB,yBANlB,CAAlB;SAOKF,OAAL,GAAeF,WAAf;;;;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/rest/node_modules/@octokit/request-error/dist-src/index.js b/node_modules/@octokit/rest/node_modules/@octokit/request-error/dist-src/index.js new file mode 100644 index 0000000..cfcb7c4 --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/@octokit/request-error/dist-src/index.js @@ -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; + } +} diff --git a/node_modules/@octokit/rest/node_modules/@octokit/request-error/dist-src/types.js b/node_modules/@octokit/rest/node_modules/@octokit/request-error/dist-src/types.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/rest/node_modules/@octokit/request-error/dist-types/index.d.ts b/node_modules/@octokit/rest/node_modules/@octokit/request-error/dist-types/index.d.ts new file mode 100644 index 0000000..baa8a0e --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/@octokit/request-error/dist-types/index.d.ts @@ -0,0 +1,27 @@ +import { RequestOptions, ResponseHeaders } from "@octokit/types"; +import { 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); +} diff --git a/node_modules/@octokit/rest/node_modules/@octokit/request-error/dist-types/types.d.ts b/node_modules/@octokit/rest/node_modules/@octokit/request-error/dist-types/types.d.ts new file mode 100644 index 0000000..865d213 --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/@octokit/request-error/dist-types/types.d.ts @@ -0,0 +1,5 @@ +import { RequestOptions, ResponseHeaders } from "@octokit/types"; +export declare type RequestErrorOptions = { + headers?: ResponseHeaders; + request: RequestOptions; +}; diff --git a/node_modules/@octokit/rest/node_modules/@octokit/request-error/dist-web/index.js b/node_modules/@octokit/rest/node_modules/@octokit/request-error/dist-web/index.js new file mode 100644 index 0000000..32b45a3 --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/@octokit/request-error/dist-web/index.js @@ -0,0 +1,44 @@ +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 }; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/rest/node_modules/@octokit/request-error/dist-web/index.js.map b/node_modules/@octokit/rest/node_modules/@octokit/request-error/dist-web/index.js.map new file mode 100644 index 0000000..05151b0 --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/@octokit/request-error/dist-web/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/index.js"],"sourcesContent":["import { Deprecation } from \"deprecation\";\nimport once from \"once\";\nconst logOnce = once((deprecation) => console.warn(deprecation));\n/**\n * Error with extra properties to help with debugging\n */\nexport class RequestError extends Error {\n constructor(message, statusCode, options) {\n super(message);\n // Maintains proper stack trace (only available on V8)\n /* istanbul ignore next */\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n this.name = \"HttpError\";\n this.status = statusCode;\n Object.defineProperty(this, \"code\", {\n get() {\n logOnce(new Deprecation(\"[@octokit/request-error] `error.code` is deprecated, use `error.status`.\"));\n return statusCode;\n }\n });\n this.headers = options.headers || {};\n // redact request credentials without mutating original request options\n const requestCopy = Object.assign({}, options.request);\n if (options.request.headers.authorization) {\n requestCopy.headers = Object.assign({}, options.request.headers, {\n authorization: options.request.headers.authorization.replace(/ .*$/, \" [REDACTED]\")\n });\n }\n requestCopy.url = requestCopy.url\n // client_id & client_secret can be passed as URL query parameters to increase rate limit\n // see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications\n .replace(/\\bclient_secret=\\w+/g, \"client_secret=[REDACTED]\")\n // OAuth tokens can be passed as URL query parameters, although it is not recommended\n // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header\n .replace(/\\baccess_token=\\w+/g, \"access_token=[REDACTED]\");\n this.request = requestCopy;\n }\n}\n"],"names":[],"mappings":";;;AAEA,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;;;;AAIjE,AAAO,MAAM,YAAY,SAAS,KAAK,CAAC;IACpC,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE;QACtC,KAAK,CAAC,OAAO,CAAC,CAAC;;;QAGf,IAAI,KAAK,CAAC,iBAAiB,EAAE;YACzB,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;SACnD;QACD,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;QACzB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE;YAChC,GAAG,GAAG;gBACF,OAAO,CAAC,IAAI,WAAW,CAAC,0EAA0E,CAAC,CAAC,CAAC;gBACrG,OAAO,UAAU,CAAC;aACrB;SACJ,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;;QAErC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACvD,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE;YACvC,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE;gBAC7D,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC;aACtF,CAAC,CAAC;SACN;QACD,WAAW,CAAC,GAAG,GAAG,WAAW,CAAC,GAAG;;;aAG5B,OAAO,CAAC,sBAAsB,EAAE,0BAA0B,CAAC;;;aAG3D,OAAO,CAAC,qBAAqB,EAAE,yBAAyB,CAAC,CAAC;QAC/D,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC;KAC9B;CACJ;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/rest/node_modules/@octokit/request-error/package.json b/node_modules/@octokit/rest/node_modules/@octokit/request-error/package.json new file mode 100644 index 0000000..25f8403 --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/@octokit/request-error/package.json @@ -0,0 +1,83 @@ +{ + "_args": [ + [ + "@octokit/request-error@1.2.1", + "/Users/1112456/github/jenkins-action" + ] + ], + "_from": "@octokit/request-error@1.2.1", + "_id": "@octokit/request-error@1.2.1", + "_inBundle": false, + "_integrity": "sha512-+6yDyk1EES6WK+l3viRDElw96MvwfJxCt45GvmjDUKWjYIb3PJZQkq3i46TwGwoPD4h8NmTrENmtyA1FwbmhRA==", + "_location": "/@octokit/rest/@octokit/request-error", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "@octokit/request-error@1.2.1", + "name": "@octokit/request-error", + "escapedName": "@octokit%2frequest-error", + "scope": "@octokit", + "rawSpec": "1.2.1", + "saveSpec": null, + "fetchSpec": "1.2.1" + }, + "_requiredBy": [ + "/@octokit/rest" + ], + "_resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-1.2.1.tgz", + "_spec": "1.2.1", + "_where": "/Users/1112456/github/jenkins-action", + "bugs": { + "url": "https://github.com/octokit/request-error.js/issues" + }, + "dependencies": { + "@octokit/types": "^2.0.0", + "deprecation": "^2.0.0", + "once": "^1.4.0" + }, + "description": "Error class for Octokit request errors", + "devDependencies": { + "@pika/pack": "^0.5.0", + "@pika/plugin-build-node": "^0.8.1", + "@pika/plugin-build-web": "^0.8.1", + "@pika/plugin-bundle-web": "^0.8.1", + "@pika/plugin-ts-standard-pkg": "^0.8.1", + "@types/jest": "^25.1.0", + "@types/node": "^13.1.0", + "@types/once": "^1.4.0", + "jest": "^24.7.1", + "pika-plugin-unpkg-field": "^1.1.0", + "prettier": "^1.17.0", + "semantic-release": "^17.0.0", + "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.2.1" +} diff --git a/node_modules/@octokit/rest/node_modules/@octokit/types/LICENSE b/node_modules/@octokit/rest/node_modules/@octokit/types/LICENSE new file mode 100644 index 0000000..57bee5f --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/@octokit/types/LICENSE @@ -0,0 +1,7 @@ +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 (including the next paragraph) 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. diff --git a/node_modules/@octokit/rest/node_modules/@octokit/types/README.md b/node_modules/@octokit/rest/node_modules/@octokit/types/README.md new file mode 100644 index 0000000..25b8f03 --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/@octokit/types/README.md @@ -0,0 +1,65 @@ +# types.ts + +> Shared TypeScript definitions for Octokit projects + +[![@latest](https://img.shields.io/npm/v/@octokit/types.svg)](https://www.npmjs.com/package/@octokit/types) +[![Build Status](https://github.com/octokit/types.ts/workflows/Test/badge.svg)](https://github.com/octokit/types.ts/actions?workflow=Test) +[![Greenkeeper](https://badges.greenkeeper.io/octokit/types.ts.svg)](https://greenkeeper.io/) + + + +- [Usage](#usage) +- [Examples](#examples) + - [Get parameter and response data types for a REST API endpoint](#get-parameter-and-response-data-types-for-a-rest-api-endpoint) + - [Get response types from endpoint methods](#get-response-types-from-endpoint-methods) +- [Contributing](#contributing) +- [License](#license) + + + +## Usage + +See all exported types at https://octokit.github.io/types.ts + +## Examples + +### Get parameter and response data types for a REST API endpoint + +```ts +import { Endpoints } from "./src"; + +type listUserReposParameters = Endpoints["GET /repos/:owner/:repo"]["parameters"]; +type listUserReposResponse = Endpoints["GET /repos/:owner/:repo"]["response"]; + +async function listRepos( + options: listUserReposParameters +): listUserReposResponse["data"] { + // ... +} +``` + +### Get response types from endpoint methods + +```ts +import { + GetResponseTypeFromEndpointMethod, + GetResponseDataTypeFromEndpointMethod, +} from "@octokit/types"; +import { Octokit } from "@octokit/rest"; + +const octokit = new Octokit(); +type CreateLabelResponseType = GetResponseTypeFromEndpointMethod< + typeof octokit.issues.createLabel +>; +type CreateLabelResponseDataType = GetResponseDataTypeFromEndpointMethod< + typeof octokit.issues.createLabel +>; +``` + +## Contributing + +See [CONTRIBUTING.md](CONTRIBUTING.md) + +## License + +[MIT](LICENSE) diff --git a/node_modules/@octokit/rest/node_modules/@octokit/types/dist-node/index.js b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-node/index.js new file mode 100644 index 0000000..4c5b65f --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-node/index.js @@ -0,0 +1,8 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +const VERSION = "2.16.2"; + +exports.VERSION = VERSION; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/rest/node_modules/@octokit/types/dist-node/index.js.map b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-node/index.js.map new file mode 100644 index 0000000..2d148d3 --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-node/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/VERSION.js"],"sourcesContent":["export const VERSION = \"0.0.0-development\";\n"],"names":["VERSION"],"mappings":";;;;MAAaA,OAAO,GAAG;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/rest/node_modules/@octokit/types/dist-src/AuthInterface.js b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-src/AuthInterface.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/rest/node_modules/@octokit/types/dist-src/EndpointDefaults.js b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-src/EndpointDefaults.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/rest/node_modules/@octokit/types/dist-src/EndpointInterface.js b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-src/EndpointInterface.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/rest/node_modules/@octokit/types/dist-src/EndpointOptions.js b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-src/EndpointOptions.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/rest/node_modules/@octokit/types/dist-src/Fetch.js b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-src/Fetch.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/rest/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/rest/node_modules/@octokit/types/dist-src/OctokitResponse.js b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-src/OctokitResponse.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/rest/node_modules/@octokit/types/dist-src/RequestHeaders.js b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-src/RequestHeaders.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/rest/node_modules/@octokit/types/dist-src/RequestInterface.js b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-src/RequestInterface.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/rest/node_modules/@octokit/types/dist-src/RequestMethod.js b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-src/RequestMethod.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/rest/node_modules/@octokit/types/dist-src/RequestOptions.js b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-src/RequestOptions.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/rest/node_modules/@octokit/types/dist-src/RequestParameters.js b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-src/RequestParameters.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/rest/node_modules/@octokit/types/dist-src/RequestRequestOptions.js b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-src/RequestRequestOptions.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/rest/node_modules/@octokit/types/dist-src/ResponseHeaders.js b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-src/ResponseHeaders.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/rest/node_modules/@octokit/types/dist-src/Route.js b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-src/Route.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/rest/node_modules/@octokit/types/dist-src/Signal.js b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-src/Signal.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/rest/node_modules/@octokit/types/dist-src/StrategyInterface.js b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-src/StrategyInterface.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/rest/node_modules/@octokit/types/dist-src/Url.js b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-src/Url.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/rest/node_modules/@octokit/types/dist-src/VERSION.js b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-src/VERSION.js new file mode 100644 index 0000000..66bc3f7 --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-src/VERSION.js @@ -0,0 +1 @@ +export const VERSION = "2.16.2"; diff --git a/node_modules/@octokit/rest/node_modules/@octokit/types/dist-src/generated/Endpoints.js b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-src/generated/Endpoints.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/rest/node_modules/@octokit/types/dist-src/index.js b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-src/index.js new file mode 100644 index 0000000..04b2163 --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-src/index.js @@ -0,0 +1 @@ +export * from "./VERSION"; diff --git a/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/AuthInterface.d.ts b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/AuthInterface.d.ts new file mode 100644 index 0000000..0c19b50 --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/AuthInterface.d.ts @@ -0,0 +1,31 @@ +import { EndpointOptions } from "./EndpointOptions"; +import { OctokitResponse } from "./OctokitResponse"; +import { RequestInterface } from "./RequestInterface"; +import { RequestParameters } from "./RequestParameters"; +import { Route } from "./Route"; +/** + * Interface to implement complex authentication strategies for Octokit. + * An object Implementing the AuthInterface can directly be passed as the + * `auth` option in the Octokit constructor. + * + * For the official implementations of the most common authentication + * strategies, see https://github.com/octokit/auth.js + */ +export interface AuthInterface { + (...args: AuthOptions): Promise; + hook: { + /** + * Sends a request using the passed `request` instance + * + * @param {object} endpoint Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (request: RequestInterface, options: EndpointOptions): Promise>; + /** + * Sends a request using the passed `request` instance + * + * @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`. + */ + (request: RequestInterface, route: Route, parameters?: RequestParameters): Promise>; + }; +} diff --git a/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts new file mode 100644 index 0000000..a2c2307 --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts @@ -0,0 +1,21 @@ +import { RequestHeaders } from "./RequestHeaders"; +import { RequestMethod } from "./RequestMethod"; +import { RequestParameters } from "./RequestParameters"; +import { Url } from "./Url"; +/** + * The `.endpoint()` method is guaranteed to set all keys defined by RequestParameters + * as well as the method property. + */ +export declare type EndpointDefaults = RequestParameters & { + baseUrl: Url; + method: RequestMethod; + url?: Url; + headers: RequestHeaders & { + accept: string; + "user-agent": string; + }; + mediaType: { + format: string; + previews: string[]; + }; +}; diff --git a/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts new file mode 100644 index 0000000..df585be --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts @@ -0,0 +1,65 @@ +import { EndpointDefaults } from "./EndpointDefaults"; +import { RequestOptions } from "./RequestOptions"; +import { RequestParameters } from "./RequestParameters"; +import { Route } from "./Route"; +import { Endpoints } from "./generated/Endpoints"; +export interface EndpointInterface { + /** + * Transforms a GitHub REST API endpoint into generic request options + * + * @param {object} endpoint Must set `url` unless it's set defaults. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (options: O & { + method?: string; + } & ("url" extends keyof D ? { + url?: string; + } : { + url: string; + })): RequestOptions & Pick; + /** + * 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`. + */ + (route: keyof Endpoints | R, parameters?: P): (R extends keyof Endpoints ? Endpoints[R]["request"] : RequestOptions) & Pick; + /** + * Object with current default route and parameters + */ + DEFAULTS: D & EndpointDefaults; + /** + * Returns a new `endpoint` interface with new defaults + */ + defaults: (newDefaults: O) => EndpointInterface; + 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: keyof Endpoints | R, parameters?: P): D & (R extends keyof Endpoints ? Endpoints[R]["request"] & Endpoints[R]["parameters"] : EndpointDefaults) & P; + /** + * 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: P): EndpointDefaults & D & P; + /** + * Returns current default options. + * + * @deprecated use endpoint.DEFAULTS instead + */ + (): D & EndpointDefaults; + }; + /** + * 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: O) => RequestOptions & Pick; +} diff --git a/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts new file mode 100644 index 0000000..b1b91f1 --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts @@ -0,0 +1,7 @@ +import { RequestMethod } from "./RequestMethod"; +import { Url } from "./Url"; +import { RequestParameters } from "./RequestParameters"; +export declare type EndpointOptions = RequestParameters & { + method: RequestMethod; + url: Url; +}; diff --git a/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/Fetch.d.ts b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/Fetch.d.ts new file mode 100644 index 0000000..cbbd5e8 --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/Fetch.d.ts @@ -0,0 +1,4 @@ +/** + * Browser's fetch method (or compatible such as fetch-mock) + */ +export declare type Fetch = any; diff --git a/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts new file mode 100644 index 0000000..70e1a8d --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts @@ -0,0 +1,5 @@ +declare type Unwrap = T extends Promise ? U : T; +declare type AnyFunction = (...args: any[]) => any; +export declare type GetResponseTypeFromEndpointMethod = Unwrap>; +export declare type GetResponseDataTypeFromEndpointMethod = Unwrap>["data"]; +export {}; diff --git a/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts new file mode 100644 index 0000000..9a2dd7f --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts @@ -0,0 +1,17 @@ +import { ResponseHeaders } from "./ResponseHeaders"; +import { Url } from "./Url"; +export declare type OctokitResponse = { + headers: ResponseHeaders; + /** + * http response code + */ + status: number; + /** + * URL of response after all redirects + */ + url: Url; + /** + * This is the data you would see in https://developer.Octokit.com/v3/ + */ + data: T; +}; diff --git a/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts new file mode 100644 index 0000000..ac5aae0 --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts @@ -0,0 +1,15 @@ +export declare type RequestHeaders = { + /** + * Avoid setting `headers.accept`, use `mediaType.{format|previews}` option 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; +}; diff --git a/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/RequestInterface.d.ts b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/RequestInterface.d.ts new file mode 100644 index 0000000..ef4d8d3 --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/RequestInterface.d.ts @@ -0,0 +1,34 @@ +import { EndpointInterface } from "./EndpointInterface"; +import { OctokitResponse } from "./OctokitResponse"; +import { RequestParameters } from "./RequestParameters"; +import { Route } from "./Route"; +import { Endpoints } from "./generated/Endpoints"; +export interface RequestInterface { + /** + * Sends a request based on endpoint 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: O & { + method?: string; + } & ("url" extends keyof D ? { + url?: string; + } : { + url: string; + })): Promise>; + /** + * Sends a request based on endpoint 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: keyof Endpoints | R, options?: R extends keyof Endpoints ? Endpoints[R]["parameters"] & RequestParameters : RequestParameters): R extends keyof Endpoints ? Promise : Promise>; + /** + * Returns a new `request` with updated route and parameters + */ + defaults: (newDefaults: O) => RequestInterface; + /** + * Octokit endpoint API, see {@link https://github.com/octokit/endpoint.js|@octokit/endpoint} + */ + endpoint: EndpointInterface; +} diff --git a/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/RequestMethod.d.ts b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/RequestMethod.d.ts new file mode 100644 index 0000000..e999c8d --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/RequestMethod.d.ts @@ -0,0 +1,4 @@ +/** + * HTTP Verb supported by GitHub's REST API + */ +export declare type RequestMethod = "DELETE" | "GET" | "HEAD" | "PATCH" | "POST" | "PUT"; diff --git a/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/RequestOptions.d.ts b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/RequestOptions.d.ts new file mode 100644 index 0000000..97e2181 --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/RequestOptions.d.ts @@ -0,0 +1,14 @@ +import { RequestHeaders } from "./RequestHeaders"; +import { RequestMethod } from "./RequestMethod"; +import { RequestRequestOptions } from "./RequestRequestOptions"; +import { Url } from "./Url"; +/** + * Generic request options as they are returned by the `endpoint()` method + */ +export declare type RequestOptions = { + method: RequestMethod; + url: Url; + headers: RequestHeaders; + body?: any; + request?: RequestRequestOptions; +}; diff --git a/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/RequestParameters.d.ts b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/RequestParameters.d.ts new file mode 100644 index 0000000..692d193 --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/RequestParameters.d.ts @@ -0,0 +1,45 @@ +import { RequestRequestOptions } from "./RequestRequestOptions"; +import { RequestHeaders } from "./RequestHeaders"; +import { Url } from "./Url"; +/** + * Parameters that can be passed into `request(route, parameters)` or `endpoint(route, parameters)` methods + */ +export declare type RequestParameters = { + /** + * 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 request + * will be sent to `https://enterprise.acme-inc.com/api/v3/orgs/:org`. + */ + baseUrl?: Url; + /** + * HTTP headers. Use lowercase keys. + */ + headers?: RequestHeaders; + /** + * 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?: RequestRequestOptions; + /** + * 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]: unknown; +}; diff --git a/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts new file mode 100644 index 0000000..4482a8a --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts @@ -0,0 +1,26 @@ +/// +import { Agent } from "http"; +import { Fetch } from "./Fetch"; +import { Signal } from "./Signal"; +/** + * Octokit-specific request options which are ignored for the actual request, but can be used by Octokit or plugins to manipulate how the request is sent or how a response is handled + */ +export declare type RequestRequestOptions = { + /** + * Node only. Useful for custom proxy, certificate, or dns lookup. + */ + agent?: Agent; + /** + * Custom replacement for built-in fetch method. Useful for testing or request hooks. + */ + fetch?: Fetch; + /** + * Use an `AbortController` instance to cancel a request. In node you can only cancel streamed requests. + */ + signal?: Signal; + /** + * Node only. Request/response timeout in ms, it resets on redirect. 0 to disable (OS limit applies). `options.request.signal` is recommended instead. + */ + timeout?: number; + [option: string]: any; +}; diff --git a/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts new file mode 100644 index 0000000..c8fbe43 --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts @@ -0,0 +1,20 @@ +export declare type ResponseHeaders = { + "cache-control"?: string; + "content-length"?: number; + "content-type"?: string; + date?: string; + etag?: string; + "last-modified"?: string; + link?: string; + location?: string; + server?: string; + status?: string; + vary?: string; + "x-github-mediatype"?: string; + "x-github-request-id"?: string; + "x-oauth-scopes"?: string; + "x-ratelimit-limit"?: string; + "x-ratelimit-remaining"?: string; + "x-ratelimit-reset"?: string; + [header: string]: string | number | undefined; +}; diff --git a/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/Route.d.ts b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/Route.d.ts new file mode 100644 index 0000000..8079044 --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/Route.d.ts @@ -0,0 +1,4 @@ +/** + * String consisting of an optional HTTP method and relative path or absolute URL. Examples: `'/orgs/:org'`, `'PUT /orgs/:org'`, `GET https://example.com/foo/bar` + */ +export declare type Route = string; diff --git a/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/Signal.d.ts b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/Signal.d.ts new file mode 100644 index 0000000..4ebcf24 --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/Signal.d.ts @@ -0,0 +1,6 @@ +/** + * Abort signal + * + * @see https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal + */ +export declare type Signal = any; diff --git a/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts new file mode 100644 index 0000000..405cbd2 --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts @@ -0,0 +1,4 @@ +import { AuthInterface } from "./AuthInterface"; +export interface StrategyInterface { + (...args: StrategyOptions): AuthInterface; +} diff --git a/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/Url.d.ts b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/Url.d.ts new file mode 100644 index 0000000..acaad63 --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/Url.d.ts @@ -0,0 +1,4 @@ +/** + * Relative or absolute URL. Examples: `'/orgs/:org'`, `https://example.com/foo/bar` + */ +export declare type Url = string; diff --git a/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/VERSION.d.ts b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/VERSION.d.ts new file mode 100644 index 0000000..c24737b --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/VERSION.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "2.16.2"; diff --git a/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts new file mode 100644 index 0000000..d10c4c9 --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts @@ -0,0 +1,41416 @@ +import { OctokitResponse } from "../OctokitResponse"; +import { RequestHeaders } from "../RequestHeaders"; +import { RequestRequestOptions } from "../RequestRequestOptions"; +declare type RequiredPreview = { + mediaType: { + previews: [T, ...string[]]; + }; +}; +export interface Endpoints { + /** + * @see https://developer.github.com/v3/apps/#delete-an-installation + */ + "DELETE /app/installations/:installation_id": { + parameters: AppsDeleteInstallationEndpoint; + request: AppsDeleteInstallationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#unsuspend-an-installation + */ + "DELETE /app/installations/:installation_id/suspended": { + parameters: AppsUnsuspendInstallationEndpoint; + request: AppsUnsuspendInstallationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/oauth_applications/#delete-an-app-authorization + */ + "DELETE /applications/:client_id/grant": { + parameters: AppsDeleteAuthorizationEndpoint; + request: AppsDeleteAuthorizationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/oauth_applications/#revoke-a-grant-for-an-application + */ + "DELETE /applications/:client_id/grants/:access_token": { + parameters: AppsRevokeGrantForApplicationEndpoint; + request: AppsRevokeGrantForApplicationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/oauth_applications/#delete-an-app-token + */ + "DELETE /applications/:client_id/token": { + parameters: AppsDeleteTokenEndpoint; + request: AppsDeleteTokenRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/oauth_applications/#revoke-an-authorization-for-an-application + */ + "DELETE /applications/:client_id/tokens/:access_token": { + parameters: AppsRevokeAuthorizationForApplicationEndpoint; + request: AppsRevokeAuthorizationForApplicationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#delete-a-grant + */ + "DELETE /applications/grants/:grant_id": { + parameters: OauthAuthorizationsDeleteGrantEndpoint; + request: OauthAuthorizationsDeleteGrantRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#delete-an-authorization + */ + "DELETE /authorizations/:authorization_id": { + parameters: OauthAuthorizationsDeleteAuthorizationEndpoint; + request: OauthAuthorizationsDeleteAuthorizationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#delete-a-gist + */ + "DELETE /gists/:gist_id": { + parameters: GistsDeleteEndpoint; + request: GistsDeleteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/comments/#delete-a-comment + */ + "DELETE /gists/:gist_id/comments/:comment_id": { + parameters: GistsDeleteCommentEndpoint; + request: GistsDeleteCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#unstar-a-gist + */ + "DELETE /gists/:gist_id/star": { + parameters: GistsUnstarEndpoint; + request: GistsUnstarRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/installations/#revoke-an-installation-token + */ + "DELETE /installation/token": { + parameters: AppsRevokeInstallationTokenEndpoint; + request: AppsRevokeInstallationTokenRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/notifications/#delete-a-thread-subscription + */ + "DELETE /notifications/threads/:thread_id/subscription": { + parameters: ActivityDeleteThreadSubscriptionEndpoint; + request: ActivityDeleteThreadSubscriptionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#delete-a-self-hosted-runner-from-an-organization + */ + "DELETE /orgs/:org/actions/runners/:runner_id": { + parameters: ActionsDeleteSelfHostedRunnerFromOrgEndpoint; + request: ActionsDeleteSelfHostedRunnerFromOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/blocking/#unblock-a-user + */ + "DELETE /orgs/:org/blocks/:username": { + parameters: OrgsUnblockUserEndpoint; + request: OrgsUnblockUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/#remove-a-credential-authorization-for-an-organization + */ + "DELETE /orgs/:org/credential-authorizations/:credential_id": { + parameters: OrgsRemoveCredentialAuthorizationEndpoint; + request: OrgsRemoveCredentialAuthorizationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/hooks/#delete-a-hook + */ + "DELETE /orgs/:org/hooks/:hook_id": { + parameters: OrgsDeleteHookEndpoint; + request: OrgsDeleteHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/interactions/orgs/#remove-interaction-restrictions-for-an-organization + */ + "DELETE /orgs/:org/interaction-limits": { + parameters: InteractionsRemoveRestrictionsForOrgEndpoint; + request: InteractionsRemoveRestrictionsForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#remove-a-member + */ + "DELETE /orgs/:org/members/:username": { + parameters: OrgsRemoveMemberEndpoint; + request: OrgsRemoveMemberRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#remove-organization-membership + */ + "DELETE /orgs/:org/memberships/:username": { + parameters: OrgsRemoveMembershipEndpoint; + request: OrgsRemoveMembershipRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/orgs/#delete-an-organization-migration-archive + */ + "DELETE /orgs/:org/migrations/:migration_id/archive": { + parameters: MigrationsDeleteArchiveForOrgEndpoint; + request: MigrationsDeleteArchiveForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/orgs/#unlock-an-organization-repository + */ + "DELETE /orgs/:org/migrations/:migration_id/repos/:repo_name/lock": { + parameters: MigrationsUnlockRepoForOrgEndpoint; + request: MigrationsUnlockRepoForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/outside_collaborators/#remove-outside-collaborator + */ + "DELETE /orgs/:org/outside_collaborators/:username": { + parameters: OrgsRemoveOutsideCollaboratorEndpoint; + request: OrgsRemoveOutsideCollaboratorRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#conceal-a-users-membership + */ + "DELETE /orgs/:org/public_members/:username": { + parameters: OrgsConcealMembershipEndpoint; + request: OrgsConcealMembershipRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#delete-team + */ + "DELETE /orgs/:org/teams/:team_slug": { + parameters: TeamsDeleteInOrgEndpoint; + request: TeamsDeleteInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#delete-a-discussion + */ + "DELETE /orgs/:org/teams/:team_slug/discussions/:discussion_number": { + parameters: TeamsDeleteDiscussionInOrgEndpoint; + request: TeamsDeleteDiscussionInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#delete-a-comment + */ + "DELETE /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number": { + parameters: TeamsDeleteDiscussionCommentInOrgEndpoint; + request: TeamsDeleteDiscussionCommentInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#delete-team-discussion-comment-reaction + */ + "DELETE /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id": { + parameters: ReactionsDeleteForTeamDiscussionCommentEndpoint; + request: ReactionsDeleteForTeamDiscussionCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#delete-team-discussion-reaction + */ + "DELETE /orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions/:reaction_id": { + parameters: ReactionsDeleteForTeamDiscussionEndpoint; + request: ReactionsDeleteForTeamDiscussionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#remove-team-membership + */ + "DELETE /orgs/:org/teams/:team_slug/memberships/:username": { + parameters: TeamsRemoveMembershipInOrgEndpoint; + request: TeamsRemoveMembershipInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#remove-team-project + */ + "DELETE /orgs/:org/teams/:team_slug/projects/:project_id": { + parameters: TeamsRemoveProjectInOrgEndpoint; + request: TeamsRemoveProjectInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#remove-team-repository + */ + "DELETE /orgs/:org/teams/:team_slug/repos/:owner/:repo": { + parameters: TeamsRemoveRepoInOrgEndpoint; + request: TeamsRemoveRepoInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/#delete-a-project + */ + "DELETE /projects/:project_id": { + parameters: ProjectsDeleteEndpoint; + request: ProjectsDeleteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/collaborators/#remove-user-as-a-collaborator + */ + "DELETE /projects/:project_id/collaborators/:username": { + parameters: ProjectsRemoveCollaboratorEndpoint; + request: ProjectsRemoveCollaboratorRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/columns/#delete-a-project-column + */ + "DELETE /projects/columns/:column_id": { + parameters: ProjectsDeleteColumnEndpoint; + request: ProjectsDeleteColumnRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/cards/#delete-a-project-card + */ + "DELETE /projects/columns/cards/:card_id": { + parameters: ProjectsDeleteCardEndpoint; + request: ProjectsDeleteCardRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#delete-a-reaction-legacy + */ + "DELETE /reactions/:reaction_id": { + parameters: ReactionsDeleteLegacyEndpoint; + request: ReactionsDeleteLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#delete-a-repository + */ + "DELETE /repos/:owner/:repo": { + parameters: ReposDeleteEndpoint; + request: ReposDeleteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/artifacts/#delete-an-artifact + */ + "DELETE /repos/:owner/:repo/actions/artifacts/:artifact_id": { + parameters: ActionsDeleteArtifactEndpoint; + request: ActionsDeleteArtifactRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#delete-a-self-hosted-runner-from-a-repository + */ + "DELETE /repos/:owner/:repo/actions/runners/:runner_id": { + parameters: ActionsDeleteSelfHostedRunnerFromRepoEndpoint; + request: ActionsDeleteSelfHostedRunnerFromRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-runs/#delete-workflow-run-logs + */ + "DELETE /repos/:owner/:repo/actions/runs/:run_id/logs": { + parameters: ActionsDeleteWorkflowRunLogsEndpoint; + request: ActionsDeleteWorkflowRunLogsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/secrets/#delete-a-secret-from-a-repository + */ + "DELETE /repos/:owner/:repo/actions/secrets/:name": { + parameters: ActionsDeleteSecretFromRepoEndpoint; + request: ActionsDeleteSecretFromRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#disable-automated-security-fixes + */ + "DELETE /repos/:owner/:repo/automated-security-fixes": { + parameters: ReposDisableAutomatedSecurityFixesEndpoint; + request: ReposDisableAutomatedSecurityFixesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-branch-protection + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection": { + parameters: ReposRemoveBranchProtectionEndpoint; + request: ReposRemoveBranchProtectionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-admin-enforcement-of-protected-branch + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection/enforce_admins": { + parameters: ReposRemoveProtectedBranchAdminEnforcementEndpoint; + request: ReposRemoveProtectedBranchAdminEnforcementRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-pull-request-review-enforcement-of-protected-branch + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews": { + parameters: ReposRemoveProtectedBranchPullRequestReviewEnforcementEndpoint; + request: ReposRemoveProtectedBranchPullRequestReviewEnforcementRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-required-signatures-of-protected-branch + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection/required_signatures": { + parameters: ReposRemoveProtectedBranchRequiredSignaturesEndpoint; + request: ReposRemoveProtectedBranchRequiredSignaturesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-required-status-checks-of-protected-branch + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection/required_status_checks": { + parameters: ReposRemoveProtectedBranchRequiredStatusChecksEndpoint; + request: ReposRemoveProtectedBranchRequiredStatusChecksRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-required-status-checks-contexts-of-protected-branch + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts": { + parameters: ReposRemoveProtectedBranchRequiredStatusChecksContextsEndpoint; + request: ReposRemoveProtectedBranchRequiredStatusChecksContextsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-restrictions-of-protected-branch + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection/restrictions": { + parameters: ReposRemoveProtectedBranchRestrictionsEndpoint; + request: ReposRemoveProtectedBranchRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-app-restrictions-of-protected-branch + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection/restrictions/apps": { + parameters: ReposRemoveProtectedBranchAppRestrictionsEndpoint; + request: ReposRemoveProtectedBranchAppRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-team-restrictions-of-protected-branch + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection/restrictions/teams": { + parameters: ReposRemoveProtectedBranchTeamRestrictionsEndpoint; + request: ReposRemoveProtectedBranchTeamRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-user-restrictions-of-protected-branch + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection/restrictions/users": { + parameters: ReposRemoveProtectedBranchUserRestrictionsEndpoint; + request: ReposRemoveProtectedBranchUserRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/collaborators/#remove-user-as-a-collaborator + */ + "DELETE /repos/:owner/:repo/collaborators/:username": { + parameters: ReposRemoveCollaboratorEndpoint; + request: ReposRemoveCollaboratorRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/comments/#delete-a-commit-comment + */ + "DELETE /repos/:owner/:repo/comments/:comment_id": { + parameters: ReposDeleteCommitCommentEndpoint; + request: ReposDeleteCommitCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#delete-a-commit-comment-reaction + */ + "DELETE /repos/:owner/:repo/comments/:comment_id/reactions/:reaction_id": { + parameters: ReactionsDeleteForCommitCommentEndpoint; + request: ReactionsDeleteForCommitCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/contents/#delete-a-file + */ + "DELETE /repos/:owner/:repo/contents/:path": { + parameters: ReposDeleteFileEndpoint; + request: ReposDeleteFileRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/deployments/#delete-a-deployment + */ + "DELETE /repos/:owner/:repo/deployments/:deployment_id": { + parameters: ReposDeleteDeploymentEndpoint; + request: ReposDeleteDeploymentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/downloads/#delete-a-download + */ + "DELETE /repos/:owner/:repo/downloads/:download_id": { + parameters: ReposDeleteDownloadEndpoint; + request: ReposDeleteDownloadRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/refs/#delete-a-reference + */ + "DELETE /repos/:owner/:repo/git/refs/:ref": { + parameters: GitDeleteRefEndpoint; + request: GitDeleteRefRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/hooks/#delete-a-hook + */ + "DELETE /repos/:owner/:repo/hooks/:hook_id": { + parameters: ReposDeleteHookEndpoint; + request: ReposDeleteHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/source_imports/#cancel-an-import + */ + "DELETE /repos/:owner/:repo/import": { + parameters: MigrationsCancelImportEndpoint; + request: MigrationsCancelImportRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/interactions/repos/#remove-interaction-restrictions-for-a-repository + */ + "DELETE /repos/:owner/:repo/interaction-limits": { + parameters: InteractionsRemoveRestrictionsForRepoEndpoint; + request: InteractionsRemoveRestrictionsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/invitations/#delete-a-repository-invitation + */ + "DELETE /repos/:owner/:repo/invitations/:invitation_id": { + parameters: ReposDeleteInvitationEndpoint; + request: ReposDeleteInvitationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/assignees/#remove-assignees-from-an-issue + */ + "DELETE /repos/:owner/:repo/issues/:issue_number/assignees": { + parameters: IssuesRemoveAssigneesEndpoint; + request: IssuesRemoveAssigneesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#remove-all-labels-from-an-issue + */ + "DELETE /repos/:owner/:repo/issues/:issue_number/labels": { + parameters: IssuesRemoveAllLabelsEndpoint; + request: IssuesRemoveAllLabelsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#remove-a-label-from-an-issue + */ + "DELETE /repos/:owner/:repo/issues/:issue_number/labels/:name": { + parameters: IssuesRemoveLabelEndpoint; + request: IssuesRemoveLabelRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/#unlock-an-issue + */ + "DELETE /repos/:owner/:repo/issues/:issue_number/lock": { + parameters: IssuesUnlockEndpoint; + request: IssuesUnlockRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#delete-an-issue-reaction + */ + "DELETE /repos/:owner/:repo/issues/:issue_number/reactions/:reaction_id": { + parameters: ReactionsDeleteForIssueEndpoint; + request: ReactionsDeleteForIssueRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/comments/#delete-a-comment + */ + "DELETE /repos/:owner/:repo/issues/comments/:comment_id": { + parameters: IssuesDeleteCommentEndpoint; + request: IssuesDeleteCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#delete-an-issue-comment-reaction + */ + "DELETE /repos/:owner/:repo/issues/comments/:comment_id/reactions/:reaction_id": { + parameters: ReactionsDeleteForIssueCommentEndpoint; + request: ReactionsDeleteForIssueCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/keys/#remove-a-deploy-key + */ + "DELETE /repos/:owner/:repo/keys/:key_id": { + parameters: ReposRemoveDeployKeyEndpoint; + request: ReposRemoveDeployKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#delete-a-label + */ + "DELETE /repos/:owner/:repo/labels/:name": { + parameters: IssuesDeleteLabelEndpoint; + request: IssuesDeleteLabelRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/milestones/#delete-a-milestone + */ + "DELETE /repos/:owner/:repo/milestones/:milestone_number": { + parameters: IssuesDeleteMilestoneEndpoint; + request: IssuesDeleteMilestoneRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/pages/#disable-a-pages-site + */ + "DELETE /repos/:owner/:repo/pages": { + parameters: ReposDisablePagesSiteEndpoint; + request: ReposDisablePagesSiteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/review_requests/#delete-a-review-request + */ + "DELETE /repos/:owner/:repo/pulls/:pull_number/requested_reviewers": { + parameters: PullsDeleteReviewRequestEndpoint; + request: PullsDeleteReviewRequestRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/reviews/#delete-a-pending-review + */ + "DELETE /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id": { + parameters: PullsDeletePendingReviewEndpoint; + request: PullsDeletePendingReviewRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/comments/#delete-a-comment + */ + "DELETE /repos/:owner/:repo/pulls/comments/:comment_id": { + parameters: PullsDeleteCommentEndpoint; + request: PullsDeleteCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#delete-a-pull-request-comment-reaction + */ + "DELETE /repos/:owner/:repo/pulls/comments/:comment_id/reactions/:reaction_id": { + parameters: ReactionsDeleteForPullRequestCommentEndpoint; + request: ReactionsDeleteForPullRequestCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#delete-a-release + */ + "DELETE /repos/:owner/:repo/releases/:release_id": { + parameters: ReposDeleteReleaseEndpoint; + request: ReposDeleteReleaseRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#delete-a-release-asset + */ + "DELETE /repos/:owner/:repo/releases/assets/:asset_id": { + parameters: ReposDeleteReleaseAssetEndpoint; + request: ReposDeleteReleaseAssetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/watching/#delete-a-repository-subscription + */ + "DELETE /repos/:owner/:repo/subscription": { + parameters: ActivityDeleteRepoSubscriptionEndpoint; + request: ActivityDeleteRepoSubscriptionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#disable-vulnerability-alerts + */ + "DELETE /repos/:owner/:repo/vulnerability-alerts": { + parameters: ReposDisableVulnerabilityAlertsEndpoint; + request: ReposDisableVulnerabilityAlertsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/scim/#remove-a-user-from-the-organization + */ + "DELETE /scim/v2/organizations/:org/Users/:scim_user_id": { + parameters: ScimRemoveUserFromOrgEndpoint; + request: ScimRemoveUserFromOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#delete-team-legacy + */ + "DELETE /teams/:team_id": { + parameters: TeamsDeleteLegacyEndpoint; + request: TeamsDeleteLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#delete-a-discussion-legacy + */ + "DELETE /teams/:team_id/discussions/:discussion_number": { + parameters: TeamsDeleteDiscussionLegacyEndpoint; + request: TeamsDeleteDiscussionLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#delete-a-comment-legacy + */ + "DELETE /teams/:team_id/discussions/:discussion_number/comments/:comment_number": { + parameters: TeamsDeleteDiscussionCommentLegacyEndpoint; + request: TeamsDeleteDiscussionCommentLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#remove-team-member-legacy + */ + "DELETE /teams/:team_id/members/:username": { + parameters: TeamsRemoveMemberLegacyEndpoint; + request: TeamsRemoveMemberLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#remove-team-membership-legacy + */ + "DELETE /teams/:team_id/memberships/:username": { + parameters: TeamsRemoveMembershipLegacyEndpoint; + request: TeamsRemoveMembershipLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#remove-team-project-legacy + */ + "DELETE /teams/:team_id/projects/:project_id": { + parameters: TeamsRemoveProjectLegacyEndpoint; + request: TeamsRemoveProjectLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#remove-team-repository-legacy + */ + "DELETE /teams/:team_id/repos/:owner/:repo": { + parameters: TeamsRemoveRepoLegacyEndpoint; + request: TeamsRemoveRepoLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/blocking/#unblock-a-user + */ + "DELETE /user/blocks/:username": { + parameters: UsersUnblockEndpoint; + request: UsersUnblockRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/emails/#delete-email-addresses + */ + "DELETE /user/emails": { + parameters: UsersDeleteEmailsEndpoint; + request: UsersDeleteEmailsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/followers/#unfollow-a-user + */ + "DELETE /user/following/:username": { + parameters: UsersUnfollowEndpoint; + request: UsersUnfollowRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/gpg_keys/#delete-a-gpg-key + */ + "DELETE /user/gpg_keys/:gpg_key_id": { + parameters: UsersDeleteGpgKeyEndpoint; + request: UsersDeleteGpgKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/installations/#remove-repository-from-installation + */ + "DELETE /user/installations/:installation_id/repositories/:repository_id": { + parameters: AppsRemoveRepoFromInstallationEndpoint; + request: AppsRemoveRepoFromInstallationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/keys/#delete-a-public-key + */ + "DELETE /user/keys/:key_id": { + parameters: UsersDeletePublicKeyEndpoint; + request: UsersDeletePublicKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/users/#delete-a-user-migration-archive + */ + "DELETE /user/migrations/:migration_id/archive": { + parameters: MigrationsDeleteArchiveForAuthenticatedUserEndpoint; + request: MigrationsDeleteArchiveForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/users/#unlock-a-user-repository + */ + "DELETE /user/migrations/:migration_id/repos/:repo_name/lock": { + parameters: MigrationsUnlockRepoForAuthenticatedUserEndpoint; + request: MigrationsUnlockRepoForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/invitations/#decline-a-repository-invitation + */ + "DELETE /user/repository_invitations/:invitation_id": { + parameters: ReposDeclineInvitationEndpoint; + request: ReposDeclineInvitationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/starring/#unstar-a-repository-for-the-authenticated-user + */ + "DELETE /user/starred/:owner/:repo": { + parameters: ActivityUnstarRepoForAuthenticatedUserEndpoint; + request: ActivityUnstarRepoForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/watching/#stop-watching-a-repository-legacy + */ + "DELETE /user/subscriptions/:owner/:repo": { + parameters: ActivityStopWatchingRepoLegacyEndpoint; + request: ActivityStopWatchingRepoLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#get-the-authenticated-github-app + */ + "GET /app": { + parameters: AppsGetAuthenticatedEndpoint; + request: AppsGetAuthenticatedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#list-installations + */ + "GET /app/installations": { + parameters: AppsListInstallationsEndpoint; + request: AppsListInstallationsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#get-an-installation + */ + "GET /app/installations/:installation_id": { + parameters: AppsGetInstallationEndpoint; + request: AppsGetInstallationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/oauth_applications/#check-an-authorization + */ + "GET /applications/:client_id/tokens/:access_token": { + parameters: AppsCheckAuthorizationEndpoint; + request: AppsCheckAuthorizationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#list-your-grants + */ + "GET /applications/grants": { + parameters: OauthAuthorizationsListGrantsEndpoint; + request: OauthAuthorizationsListGrantsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#get-a-single-grant + */ + "GET /applications/grants/:grant_id": { + parameters: OauthAuthorizationsGetGrantEndpoint; + request: OauthAuthorizationsGetGrantRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#get-a-single-github-app + */ + "GET /apps/:app_slug": { + parameters: AppsGetBySlugEndpoint; + request: AppsGetBySlugRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#list-your-authorizations + */ + "GET /authorizations": { + parameters: OauthAuthorizationsListAuthorizationsEndpoint; + request: OauthAuthorizationsListAuthorizationsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#get-a-single-authorization + */ + "GET /authorizations/:authorization_id": { + parameters: OauthAuthorizationsGetAuthorizationEndpoint; + request: OauthAuthorizationsGetAuthorizationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/codes_of_conduct/#list-all-codes-of-conduct + */ + "GET /codes_of_conduct": { + parameters: CodesOfConductGetAllCodesOfConductEndpoint; + request: CodesOfConductGetAllCodesOfConductRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/codes_of_conduct/#get-an-individual-code-of-conduct + */ + "GET /codes_of_conduct/:key": { + parameters: CodesOfConductGetConductCodeEndpoint; + request: CodesOfConductGetConductCodeRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/emojis/#emojis + */ + "GET /emojis": { + parameters: EmojisGetEndpoint; + request: EmojisGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/events/#list-public-events + */ + "GET /events": { + parameters: ActivityListPublicEventsEndpoint; + request: ActivityListPublicEventsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/feeds/#get-feeds + */ + "GET /feeds": { + parameters: ActivityGetFeedsEndpoint; + request: ActivityGetFeedsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#list-gists-for-the-authenticated-user + */ + "GET /gists": { + parameters: GistsListEndpoint; + request: GistsListRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#get-a-gist + */ + "GET /gists/:gist_id": { + parameters: GistsGetEndpoint; + request: GistsGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#get-a-specific-revision-of-a-gist + */ + "GET /gists/:gist_id/:sha": { + parameters: GistsGetRevisionEndpoint; + request: GistsGetRevisionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/comments/#list-comments-on-a-gist + */ + "GET /gists/:gist_id/comments": { + parameters: GistsListCommentsEndpoint; + request: GistsListCommentsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/comments/#get-a-single-comment + */ + "GET /gists/:gist_id/comments/:comment_id": { + parameters: GistsGetCommentEndpoint; + request: GistsGetCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#list-gist-commits + */ + "GET /gists/:gist_id/commits": { + parameters: GistsListCommitsEndpoint; + request: GistsListCommitsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#list-gist-forks + */ + "GET /gists/:gist_id/forks": { + parameters: GistsListForksEndpoint; + request: GistsListForksRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#check-if-a-gist-is-starred + */ + "GET /gists/:gist_id/star": { + parameters: GistsCheckIsStarredEndpoint; + request: GistsCheckIsStarredRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#list-public-gists + */ + "GET /gists/public": { + parameters: GistsListPublicEndpoint; + request: GistsListPublicRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#list-starred-gists + */ + "GET /gists/starred": { + parameters: GistsListStarredEndpoint; + request: GistsListStarredRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gitignore/#listing-available-templates + */ + "GET /gitignore/templates": { + parameters: GitignoreListTemplatesEndpoint; + request: GitignoreListTemplatesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gitignore/#get-a-single-template + */ + "GET /gitignore/templates/:name": { + parameters: GitignoreGetTemplateEndpoint; + request: GitignoreGetTemplateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/installations/#list-repositories + */ + "GET /installation/repositories": { + parameters: AppsListReposEndpoint; + request: AppsListReposRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/#list-issues-assigned-to-the-authenticated-user + */ + "GET /issues": { + parameters: IssuesListEndpoint; + request: IssuesListRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/legacy/#search-issues + */ + "GET /legacy/issues/search/:owner/:repository/:state/:keyword": { + parameters: SearchIssuesLegacyEndpoint; + request: SearchIssuesLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/legacy/#search-repositories + */ + "GET /legacy/repos/search/:keyword": { + parameters: SearchReposLegacyEndpoint; + request: SearchReposLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/legacy/#email-search + */ + "GET /legacy/user/email/:email": { + parameters: SearchEmailLegacyEndpoint; + request: SearchEmailLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/legacy/#search-users + */ + "GET /legacy/user/search/:keyword": { + parameters: SearchUsersLegacyEndpoint; + request: SearchUsersLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/licenses/#list-commonly-used-licenses + */ + "GET /licenses": { + parameters: LicensesListCommonlyUsedEndpoint; + request: LicensesListCommonlyUsedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/licenses/#get-an-individual-license + */ + "GET /licenses/:license": { + parameters: LicensesGetEndpoint; + request: LicensesGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/marketplace/#get-a-subscription-plan-for-an-account + */ + "GET /marketplace_listing/accounts/:account_id": { + parameters: AppsGetSubscriptionPlanForAccountEndpoint; + request: AppsGetSubscriptionPlanForAccountRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/marketplace/#list-plans + */ + "GET /marketplace_listing/plans": { + parameters: AppsListPlansEndpoint; + request: AppsListPlansRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/marketplace/#list-accounts-for-a-plan + */ + "GET /marketplace_listing/plans/:plan_id/accounts": { + parameters: AppsListAccountsForPlanEndpoint; + request: AppsListAccountsForPlanRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/marketplace/#get-a-subscription-plan-for-an-account-stubbed + */ + "GET /marketplace_listing/stubbed/accounts/:account_id": { + parameters: AppsGetSubscriptionPlanForAccountStubbedEndpoint; + request: AppsGetSubscriptionPlanForAccountStubbedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/marketplace/#list-plans-stubbed + */ + "GET /marketplace_listing/stubbed/plans": { + parameters: AppsListPlansStubbedEndpoint; + request: AppsListPlansStubbedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/marketplace/#list-accounts-for-a-plan-stubbed + */ + "GET /marketplace_listing/stubbed/plans/:plan_id/accounts": { + parameters: AppsListAccountsForPlanStubbedEndpoint; + request: AppsListAccountsForPlanStubbedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/meta/#meta + */ + "GET /meta": { + parameters: MetaGetEndpoint; + request: MetaGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/events/#list-public-events-for-a-network-of-repositories + */ + "GET /networks/:owner/:repo/events": { + parameters: ActivityListPublicEventsForRepoNetworkEndpoint; + request: ActivityListPublicEventsForRepoNetworkRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/notifications/#list-notifications-for-the-authenticated-user + */ + "GET /notifications": { + parameters: ActivityListNotificationsForAuthenticatedUserEndpoint; + request: ActivityListNotificationsForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/notifications/#get-a-thread + */ + "GET /notifications/threads/:thread_id": { + parameters: ActivityGetThreadEndpoint; + request: ActivityGetThreadRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/notifications/#get-a-thread-subscription-for-the-authenticated-user + */ + "GET /notifications/threads/:thread_id/subscription": { + parameters: ActivityGetThreadSubscriptionForAuthenticatedUserEndpoint; + request: ActivityGetThreadSubscriptionForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/#list-all-organizations + */ + "GET /organizations": { + parameters: OrgsListEndpoint; + request: OrgsListRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/#get-an-organization + */ + "GET /orgs/:org": { + parameters: OrgsGetEndpoint; + request: OrgsGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#list-self-hosted-runners-for-an-organization + */ + "GET /orgs/:org/actions/runners": { + parameters: ActionsListSelfHostedRunnersForOrgEndpoint; + request: ActionsListSelfHostedRunnersForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#get-a-self-hosted-runner-for-an-organization + */ + "GET /orgs/:org/actions/runners/:runner_id": { + parameters: ActionsGetSelfHostedRunnerForOrgEndpoint; + request: ActionsGetSelfHostedRunnerForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#list-runner-applications-for-an-organization + */ + "GET /orgs/:org/actions/runners/downloads": { + parameters: ActionsListRunnerApplicationsForOrgEndpoint; + request: ActionsListRunnerApplicationsForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/blocking/#list-blocked-users + */ + "GET /orgs/:org/blocks": { + parameters: OrgsListBlockedUsersEndpoint; + request: OrgsListBlockedUsersRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/blocking/#check-whether-a-user-is-blocked-from-an-organization + */ + "GET /orgs/:org/blocks/:username": { + parameters: OrgsCheckBlockedUserEndpoint; + request: OrgsCheckBlockedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/#list-credential-authorizations-for-an-organization + */ + "GET /orgs/:org/credential-authorizations": { + parameters: OrgsListCredentialAuthorizationsEndpoint; + request: OrgsListCredentialAuthorizationsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/events/#list-public-organization-events + */ + "GET /orgs/:org/events": { + parameters: ActivityListPublicOrgEventsEndpoint; + request: ActivityListPublicOrgEventsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/hooks/#list-hooks + */ + "GET /orgs/:org/hooks": { + parameters: OrgsListHooksEndpoint; + request: OrgsListHooksRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/hooks/#get-single-hook + */ + "GET /orgs/:org/hooks/:hook_id": { + parameters: OrgsGetHookEndpoint; + request: OrgsGetHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#get-an-organization-installation + */ + "GET /orgs/:org/installation": { + parameters: AppsGetOrgInstallationEndpoint; + request: AppsGetOrgInstallationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/#list-installations-for-an-organization + */ + "GET /orgs/:org/installations": { + parameters: OrgsListInstallationsEndpoint; + request: OrgsListInstallationsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/interactions/orgs/#get-interaction-restrictions-for-an-organization + */ + "GET /orgs/:org/interaction-limits": { + parameters: InteractionsGetRestrictionsForOrgEndpoint; + request: InteractionsGetRestrictionsForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#list-pending-organization-invitations + */ + "GET /orgs/:org/invitations": { + parameters: OrgsListPendingInvitationsEndpoint; + request: OrgsListPendingInvitationsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#list-organization-invitation-teams + */ + "GET /orgs/:org/invitations/:invitation_id/teams": { + parameters: OrgsListInvitationTeamsEndpoint; + request: OrgsListInvitationTeamsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/#list-organization-issues-assigned-to-the-authenticated-user + */ + "GET /orgs/:org/issues": { + parameters: IssuesListForOrgEndpoint; + request: IssuesListForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#members-list + */ + "GET /orgs/:org/members": { + parameters: OrgsListMembersEndpoint; + request: OrgsListMembersRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#check-membership + */ + "GET /orgs/:org/members/:username": { + parameters: OrgsCheckMembershipEndpoint; + request: OrgsCheckMembershipRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#get-organization-membership + */ + "GET /orgs/:org/memberships/:username": { + parameters: OrgsGetMembershipEndpoint; + request: OrgsGetMembershipRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/orgs/#list-organization-migrations + */ + "GET /orgs/:org/migrations": { + parameters: MigrationsListForOrgEndpoint; + request: MigrationsListForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/orgs/#get-the-status-of-an-organization-migration + */ + "GET /orgs/:org/migrations/:migration_id": { + parameters: MigrationsGetStatusForOrgEndpoint; + request: MigrationsGetStatusForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/orgs/#download-an-organization-migration-archive + */ + "GET /orgs/:org/migrations/:migration_id/archive": { + parameters: MigrationsDownloadArchiveForOrgEndpoint; + request: MigrationsDownloadArchiveForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/orgs/#list-repositories-in-an-organization-migration + */ + "GET /orgs/:org/migrations/:migration_id/repositories": { + parameters: MigrationsListReposForOrgEndpoint; + request: MigrationsListReposForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/outside_collaborators/#list-outside-collaborators + */ + "GET /orgs/:org/outside_collaborators": { + parameters: OrgsListOutsideCollaboratorsEndpoint; + request: OrgsListOutsideCollaboratorsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/#list-organization-projects + */ + "GET /orgs/:org/projects": { + parameters: ProjectsListForOrgEndpoint; + request: ProjectsListForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#public-members-list + */ + "GET /orgs/:org/public_members": { + parameters: OrgsListPublicMembersEndpoint; + request: OrgsListPublicMembersRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#check-public-membership + */ + "GET /orgs/:org/public_members/:username": { + parameters: OrgsCheckPublicMembershipEndpoint; + request: OrgsCheckPublicMembershipRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#list-organization-repositories + */ + "GET /orgs/:org/repos": { + parameters: ReposListForOrgEndpoint; + request: ReposListForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/team_sync/#list-idp-groups-in-an-organization + */ + "GET /orgs/:org/team-sync/groups": { + parameters: TeamsListIdPGroupsForOrgEndpoint; + request: TeamsListIdPGroupsForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#list-teams + */ + "GET /orgs/:org/teams": { + parameters: TeamsListEndpoint; + request: TeamsListRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#get-team-by-name + */ + "GET /orgs/:org/teams/:team_slug": { + parameters: TeamsGetByNameEndpoint; + request: TeamsGetByNameRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#list-discussions + */ + "GET /orgs/:org/teams/:team_slug/discussions": { + parameters: TeamsListDiscussionsInOrgEndpoint; + request: TeamsListDiscussionsInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#get-a-single-discussion + */ + "GET /orgs/:org/teams/:team_slug/discussions/:discussion_number": { + parameters: TeamsGetDiscussionInOrgEndpoint; + request: TeamsGetDiscussionInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#list-comments + */ + "GET /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments": { + parameters: TeamsListDiscussionCommentsInOrgEndpoint; + request: TeamsListDiscussionCommentsInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#get-a-single-comment + */ + "GET /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number": { + parameters: TeamsGetDiscussionCommentInOrgEndpoint; + request: TeamsGetDiscussionCommentInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-comment + */ + "GET /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions": { + parameters: ReactionsListForTeamDiscussionCommentInOrgEndpoint; + request: ReactionsListForTeamDiscussionCommentInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion + */ + "GET /orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions": { + parameters: ReactionsListForTeamDiscussionInOrgEndpoint; + request: ReactionsListForTeamDiscussionInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#list-pending-team-invitations + */ + "GET /orgs/:org/teams/:team_slug/invitations": { + parameters: TeamsListPendingInvitationsInOrgEndpoint; + request: TeamsListPendingInvitationsInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#list-team-members + */ + "GET /orgs/:org/teams/:team_slug/members": { + parameters: TeamsListMembersInOrgEndpoint; + request: TeamsListMembersInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#get-team-membership + */ + "GET /orgs/:org/teams/:team_slug/memberships/:username": { + parameters: TeamsGetMembershipInOrgEndpoint; + request: TeamsGetMembershipInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#list-team-projects + */ + "GET /orgs/:org/teams/:team_slug/projects": { + parameters: TeamsListProjectsInOrgEndpoint; + request: TeamsListProjectsInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#review-a-team-project + */ + "GET /orgs/:org/teams/:team_slug/projects/:project_id": { + parameters: TeamsReviewProjectInOrgEndpoint; + request: TeamsReviewProjectInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#list-team-repos + */ + "GET /orgs/:org/teams/:team_slug/repos": { + parameters: TeamsListReposInOrgEndpoint; + request: TeamsListReposInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#check-if-a-team-manages-a-repository + */ + "GET /orgs/:org/teams/:team_slug/repos/:owner/:repo": { + parameters: TeamsCheckManagesRepoInOrgEndpoint; + request: TeamsCheckManagesRepoInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/team_sync/#list-idp-groups-for-a-team + */ + "GET /orgs/:org/teams/:team_slug/team-sync/group-mappings": { + parameters: TeamsListIdPGroupsInOrgEndpoint; + request: TeamsListIdPGroupsInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#list-child-teams + */ + "GET /orgs/:org/teams/:team_slug/teams": { + parameters: TeamsListChildInOrgEndpoint; + request: TeamsListChildInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/#get-a-project + */ + "GET /projects/:project_id": { + parameters: ProjectsGetEndpoint; + request: ProjectsGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/collaborators/#list-collaborators + */ + "GET /projects/:project_id/collaborators": { + parameters: ProjectsListCollaboratorsEndpoint; + request: ProjectsListCollaboratorsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/collaborators/#review-a-users-permission-level + */ + "GET /projects/:project_id/collaborators/:username/permission": { + parameters: ProjectsReviewUserPermissionLevelEndpoint; + request: ProjectsReviewUserPermissionLevelRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/columns/#list-project-columns + */ + "GET /projects/:project_id/columns": { + parameters: ProjectsListColumnsEndpoint; + request: ProjectsListColumnsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/columns/#get-a-project-column + */ + "GET /projects/columns/:column_id": { + parameters: ProjectsGetColumnEndpoint; + request: ProjectsGetColumnRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/cards/#list-project-cards + */ + "GET /projects/columns/:column_id/cards": { + parameters: ProjectsListCardsEndpoint; + request: ProjectsListCardsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/cards/#get-a-project-card + */ + "GET /projects/columns/cards/:card_id": { + parameters: ProjectsGetCardEndpoint; + request: ProjectsGetCardRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/rate_limit/#get-your-current-rate-limit-status + */ + "GET /rate_limit": { + parameters: RateLimitGetEndpoint; + request: RateLimitGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#get-a-repository + */ + "GET /repos/:owner/:repo": { + parameters: ReposGetEndpoint; + request: ReposGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/contents/#get-archive-link + */ + "GET /repos/:owner/:repo/:archive_format/:ref": { + parameters: ReposGetArchiveLinkEndpoint; + request: ReposGetArchiveLinkRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/artifacts/#list-artifacts-for-a-repository + */ + "GET /repos/:owner/:repo/actions/artifacts": { + parameters: ActionsListArtifactsForRepoEndpoint; + request: ActionsListArtifactsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/artifacts/#get-an-artifact + */ + "GET /repos/:owner/:repo/actions/artifacts/:artifact_id": { + parameters: ActionsGetArtifactEndpoint; + request: ActionsGetArtifactRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/artifacts/#download-an-artifact + */ + "GET /repos/:owner/:repo/actions/artifacts/:artifact_id/:archive_format": { + parameters: ActionsDownloadArtifactEndpoint; + request: ActionsDownloadArtifactRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-jobs/#get-a-workflow-job + */ + "GET /repos/:owner/:repo/actions/jobs/:job_id": { + parameters: ActionsGetWorkflowJobEndpoint; + request: ActionsGetWorkflowJobRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-jobs/#download-workflow-job-logs + */ + "GET /repos/:owner/:repo/actions/jobs/:job_id/logs": { + parameters: ActionsDownloadWorkflowJobLogsEndpoint; + request: ActionsDownloadWorkflowJobLogsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#list-self-hosted-runners-for-a-repository + */ + "GET /repos/:owner/:repo/actions/runners": { + parameters: ActionsListSelfHostedRunnersForRepoEndpoint; + request: ActionsListSelfHostedRunnersForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#get-a-self-hosted-runner-for-a-repository + */ + "GET /repos/:owner/:repo/actions/runners/:runner_id": { + parameters: ActionsGetSelfHostedRunnerForRepoEndpoint; + request: ActionsGetSelfHostedRunnerForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#list-runner-applications-for-a-repository + */ + "GET /repos/:owner/:repo/actions/runners/downloads": { + parameters: ActionsListRunnerApplicationsForRepoEndpoint; + request: ActionsListRunnerApplicationsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-runs/#list-repository-workflow-runs + */ + "GET /repos/:owner/:repo/actions/runs": { + parameters: ActionsListRepoWorkflowRunsEndpoint; + request: ActionsListRepoWorkflowRunsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-runs/#get-a-workflow-run + */ + "GET /repos/:owner/:repo/actions/runs/:run_id": { + parameters: ActionsGetWorkflowRunEndpoint; + request: ActionsGetWorkflowRunRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/artifacts/#list-workflow-run-artifacts + */ + "GET /repos/:owner/:repo/actions/runs/:run_id/artifacts": { + parameters: ActionsListWorkflowRunArtifactsEndpoint; + request: ActionsListWorkflowRunArtifactsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-jobs/#list-jobs-for-a-workflow-run + */ + "GET /repos/:owner/:repo/actions/runs/:run_id/jobs": { + parameters: ActionsListJobsForWorkflowRunEndpoint; + request: ActionsListJobsForWorkflowRunRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-runs/#download-workflow-run-logs + */ + "GET /repos/:owner/:repo/actions/runs/:run_id/logs": { + parameters: ActionsDownloadWorkflowRunLogsEndpoint; + request: ActionsDownloadWorkflowRunLogsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/secrets/#list-secrets-for-a-repository + */ + "GET /repos/:owner/:repo/actions/secrets": { + parameters: ActionsListSecretsForRepoEndpoint; + request: ActionsListSecretsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/secrets/#get-a-secret + */ + "GET /repos/:owner/:repo/actions/secrets/:name": { + parameters: ActionsGetSecretEndpoint; + request: ActionsGetSecretRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/secrets/#get-your-public-key + */ + "GET /repos/:owner/:repo/actions/secrets/public-key": { + parameters: ActionsGetPublicKeyEndpoint; + request: ActionsGetPublicKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflows/#list-repository-workflows + */ + "GET /repos/:owner/:repo/actions/workflows": { + parameters: ActionsListRepoWorkflowsEndpoint; + request: ActionsListRepoWorkflowsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflows/#get-a-workflow + */ + "GET /repos/:owner/:repo/actions/workflows/:workflow_id": { + parameters: ActionsGetWorkflowEndpoint; + request: ActionsGetWorkflowRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-runs/#list-workflow-runs + */ + "GET /repos/:owner/:repo/actions/workflows/:workflow_id/runs": { + parameters: ActionsListWorkflowRunsEndpoint; + request: ActionsListWorkflowRunsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/assignees/#list-assignees + */ + "GET /repos/:owner/:repo/assignees": { + parameters: IssuesListAssigneesEndpoint; + request: IssuesListAssigneesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/assignees/#check-assignee + */ + "GET /repos/:owner/:repo/assignees/:assignee": { + parameters: IssuesCheckAssigneeEndpoint; + request: IssuesCheckAssigneeRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#list-branches + */ + "GET /repos/:owner/:repo/branches": { + parameters: ReposListBranchesEndpoint; + request: ReposListBranchesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#get-branch + */ + "GET /repos/:owner/:repo/branches/:branch": { + parameters: ReposGetBranchEndpoint; + request: ReposGetBranchRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#get-branch-protection + */ + "GET /repos/:owner/:repo/branches/:branch/protection": { + parameters: ReposGetBranchProtectionEndpoint; + request: ReposGetBranchProtectionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#get-admin-enforcement-of-protected-branch + */ + "GET /repos/:owner/:repo/branches/:branch/protection/enforce_admins": { + parameters: ReposGetProtectedBranchAdminEnforcementEndpoint; + request: ReposGetProtectedBranchAdminEnforcementRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#get-pull-request-review-enforcement-of-protected-branch + */ + "GET /repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews": { + parameters: ReposGetProtectedBranchPullRequestReviewEnforcementEndpoint; + request: ReposGetProtectedBranchPullRequestReviewEnforcementRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#get-required-signatures-of-protected-branch + */ + "GET /repos/:owner/:repo/branches/:branch/protection/required_signatures": { + parameters: ReposGetProtectedBranchRequiredSignaturesEndpoint; + request: ReposGetProtectedBranchRequiredSignaturesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#get-required-status-checks-of-protected-branch + */ + "GET /repos/:owner/:repo/branches/:branch/protection/required_status_checks": { + parameters: ReposGetProtectedBranchRequiredStatusChecksEndpoint; + request: ReposGetProtectedBranchRequiredStatusChecksRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#list-required-status-checks-contexts-of-protected-branch + */ + "GET /repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts": { + parameters: ReposListProtectedBranchRequiredStatusChecksContextsEndpoint; + request: ReposListProtectedBranchRequiredStatusChecksContextsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#get-restrictions-of-protected-branch + */ + "GET /repos/:owner/:repo/branches/:branch/protection/restrictions": { + parameters: ReposGetProtectedBranchRestrictionsEndpoint; + request: ReposGetProtectedBranchRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#list-apps-with-access-to-protected-branch + */ + "GET /repos/:owner/:repo/branches/:branch/protection/restrictions/apps": { + parameters: ReposGetAppsWithAccessToProtectedBranchEndpoint; + request: ReposGetAppsWithAccessToProtectedBranchRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#list-teams-with-access-to-protected-branch + */ + "GET /repos/:owner/:repo/branches/:branch/protection/restrictions/teams": { + parameters: ReposGetTeamsWithAccessToProtectedBranchEndpoint; + request: ReposGetTeamsWithAccessToProtectedBranchRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#list-users-with-access-to-protected-branch + */ + "GET /repos/:owner/:repo/branches/:branch/protection/restrictions/users": { + parameters: ReposGetUsersWithAccessToProtectedBranchEndpoint; + request: ReposGetUsersWithAccessToProtectedBranchRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/runs/#get-a-check-run + */ + "GET /repos/:owner/:repo/check-runs/:check_run_id": { + parameters: ChecksGetEndpoint; + request: ChecksGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/runs/#list-check-run-annotations + */ + "GET /repos/:owner/:repo/check-runs/:check_run_id/annotations": { + parameters: ChecksListAnnotationsEndpoint; + request: ChecksListAnnotationsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/suites/#get-a-check-suite + */ + "GET /repos/:owner/:repo/check-suites/:check_suite_id": { + parameters: ChecksGetSuiteEndpoint; + request: ChecksGetSuiteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/runs/#list-check-runs-in-a-check-suite + */ + "GET /repos/:owner/:repo/check-suites/:check_suite_id/check-runs": { + parameters: ChecksListForSuiteEndpoint; + request: ChecksListForSuiteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/code-scanning/#list-code-scanning-alerts-for-a-repository + */ + "GET /repos/:owner/:repo/code-scanning/alerts": { + parameters: CodeScanningListAlertsForRepoEndpoint; + request: CodeScanningListAlertsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/code-scanning/#get-a-code-scanning-alert + */ + "GET /repos/:owner/:repo/code-scanning/alerts/:alert_id": { + parameters: CodeScanningGetAlertEndpoint; + request: CodeScanningGetAlertRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/collaborators/#list-collaborators + */ + "GET /repos/:owner/:repo/collaborators": { + parameters: ReposListCollaboratorsEndpoint; + request: ReposListCollaboratorsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/collaborators/#check-if-a-user-is-a-collaborator + */ + "GET /repos/:owner/:repo/collaborators/:username": { + parameters: ReposCheckCollaboratorEndpoint; + request: ReposCheckCollaboratorRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/collaborators/#review-a-users-permission-level + */ + "GET /repos/:owner/:repo/collaborators/:username/permission": { + parameters: ReposGetCollaboratorPermissionLevelEndpoint; + request: ReposGetCollaboratorPermissionLevelRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/comments/#list-commit-comments-for-a-repository + */ + "GET /repos/:owner/:repo/comments": { + parameters: ReposListCommitCommentsEndpoint; + request: ReposListCommitCommentsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/comments/#get-a-single-commit-comment + */ + "GET /repos/:owner/:repo/comments/:comment_id": { + parameters: ReposGetCommitCommentEndpoint; + request: ReposGetCommitCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#list-reactions-for-a-commit-comment + */ + "GET /repos/:owner/:repo/comments/:comment_id/reactions": { + parameters: ReactionsListForCommitCommentEndpoint; + request: ReactionsListForCommitCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/commits/#list-commits-on-a-repository + */ + "GET /repos/:owner/:repo/commits": { + parameters: ReposListCommitsEndpoint; + request: ReposListCommitsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/commits/#list-branches-for-head-commit + */ + "GET /repos/:owner/:repo/commits/:commit_sha/branches-where-head": { + parameters: ReposListBranchesForHeadCommitEndpoint; + request: ReposListBranchesForHeadCommitRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/comments/#list-comments-for-a-single-commit + */ + "GET /repos/:owner/:repo/commits/:commit_sha/comments": { + parameters: ReposListCommentsForCommitEndpoint; + request: ReposListCommentsForCommitRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/commits/#list-pull-requests-associated-with-commit + */ + "GET /repos/:owner/:repo/commits/:commit_sha/pulls": { + parameters: ReposListPullRequestsAssociatedWithCommitEndpoint; + request: ReposListPullRequestsAssociatedWithCommitRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/commits/#get-a-single-commit + */ + "GET /repos/:owner/:repo/commits/:ref": { + parameters: ReposGetCommitEndpoint; + request: ReposGetCommitRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/runs/#list-check-runs-for-a-git-reference + */ + "GET /repos/:owner/:repo/commits/:ref/check-runs": { + parameters: ChecksListForRefEndpoint; + request: ChecksListForRefRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/suites/#list-check-suites-for-a-git-reference + */ + "GET /repos/:owner/:repo/commits/:ref/check-suites": { + parameters: ChecksListSuitesForRefEndpoint; + request: ChecksListSuitesForRefRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/statuses/#get-the-combined-status-for-a-specific-ref + */ + "GET /repos/:owner/:repo/commits/:ref/status": { + parameters: ReposGetCombinedStatusForRefEndpoint; + request: ReposGetCombinedStatusForRefRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/statuses/#list-statuses-for-a-specific-ref + */ + "GET /repos/:owner/:repo/commits/:ref/statuses": { + parameters: ReposListStatusesForRefEndpoint; + request: ReposListStatusesForRefRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/codes_of_conduct/#get-the-contents-of-a-repositorys-code-of-conduct + */ + "GET /repos/:owner/:repo/community/code_of_conduct": { + parameters: CodesOfConductGetForRepoEndpoint; + request: CodesOfConductGetForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/community/#retrieve-community-profile-metrics + */ + "GET /repos/:owner/:repo/community/profile": { + parameters: ReposRetrieveCommunityProfileMetricsEndpoint; + request: ReposRetrieveCommunityProfileMetricsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/commits/#compare-two-commits + */ + "GET /repos/:owner/:repo/compare/:base...:head": { + parameters: ReposCompareCommitsEndpoint; + request: ReposCompareCommitsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/contents/#get-contents + */ + "GET /repos/:owner/:repo/contents/:path": { + parameters: ReposGetContentsEndpoint; + request: ReposGetContentsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#list-contributors + */ + "GET /repos/:owner/:repo/contributors": { + parameters: ReposListContributorsEndpoint; + request: ReposListContributorsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/deployments/#list-deployments + */ + "GET /repos/:owner/:repo/deployments": { + parameters: ReposListDeploymentsEndpoint; + request: ReposListDeploymentsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/deployments/#get-a-single-deployment + */ + "GET /repos/:owner/:repo/deployments/:deployment_id": { + parameters: ReposGetDeploymentEndpoint; + request: ReposGetDeploymentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/deployments/#list-deployment-statuses + */ + "GET /repos/:owner/:repo/deployments/:deployment_id/statuses": { + parameters: ReposListDeploymentStatusesEndpoint; + request: ReposListDeploymentStatusesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/deployments/#get-a-single-deployment-status + */ + "GET /repos/:owner/:repo/deployments/:deployment_id/statuses/:status_id": { + parameters: ReposGetDeploymentStatusEndpoint; + request: ReposGetDeploymentStatusRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/downloads/#list-downloads-for-a-repository + */ + "GET /repos/:owner/:repo/downloads": { + parameters: ReposListDownloadsEndpoint; + request: ReposListDownloadsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/downloads/#get-a-single-download + */ + "GET /repos/:owner/:repo/downloads/:download_id": { + parameters: ReposGetDownloadEndpoint; + request: ReposGetDownloadRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/events/#list-repository-events + */ + "GET /repos/:owner/:repo/events": { + parameters: ActivityListRepoEventsEndpoint; + request: ActivityListRepoEventsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/forks/#list-forks + */ + "GET /repos/:owner/:repo/forks": { + parameters: ReposListForksEndpoint; + request: ReposListForksRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/blobs/#get-a-blob + */ + "GET /repos/:owner/:repo/git/blobs/:file_sha": { + parameters: GitGetBlobEndpoint; + request: GitGetBlobRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/commits/#get-a-commit + */ + "GET /repos/:owner/:repo/git/commits/:commit_sha": { + parameters: GitGetCommitEndpoint; + request: GitGetCommitRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/refs/#list-matching-references + */ + "GET /repos/:owner/:repo/git/matching-refs/:ref": { + parameters: GitListMatchingRefsEndpoint; + request: GitListMatchingRefsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/refs/#get-a-single-reference + */ + "GET /repos/:owner/:repo/git/ref/:ref": { + parameters: GitGetRefEndpoint; + request: GitGetRefRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/tags/#get-a-tag + */ + "GET /repos/:owner/:repo/git/tags/:tag_sha": { + parameters: GitGetTagEndpoint; + request: GitGetTagRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/trees/#get-a-tree + */ + "GET /repos/:owner/:repo/git/trees/:tree_sha": { + parameters: GitGetTreeEndpoint; + request: GitGetTreeRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/hooks/#list-hooks + */ + "GET /repos/:owner/:repo/hooks": { + parameters: ReposListHooksEndpoint; + request: ReposListHooksRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/hooks/#get-single-hook + */ + "GET /repos/:owner/:repo/hooks/:hook_id": { + parameters: ReposGetHookEndpoint; + request: ReposGetHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/source_imports/#get-import-progress + */ + "GET /repos/:owner/:repo/import": { + parameters: MigrationsGetImportProgressEndpoint; + request: MigrationsGetImportProgressRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/source_imports/#get-commit-authors + */ + "GET /repos/:owner/:repo/import/authors": { + parameters: MigrationsGetCommitAuthorsEndpoint; + request: MigrationsGetCommitAuthorsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/source_imports/#get-large-files + */ + "GET /repos/:owner/:repo/import/large_files": { + parameters: MigrationsGetLargeFilesEndpoint; + request: MigrationsGetLargeFilesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#get-a-repository-installation + */ + "GET /repos/:owner/:repo/installation": { + parameters: AppsGetRepoInstallationEndpoint; + request: AppsGetRepoInstallationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/interactions/repos/#get-interaction-restrictions-for-a-repository + */ + "GET /repos/:owner/:repo/interaction-limits": { + parameters: InteractionsGetRestrictionsForRepoEndpoint; + request: InteractionsGetRestrictionsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/invitations/#list-invitations-for-a-repository + */ + "GET /repos/:owner/:repo/invitations": { + parameters: ReposListInvitationsEndpoint; + request: ReposListInvitationsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/#list-repository-issues + */ + "GET /repos/:owner/:repo/issues": { + parameters: IssuesListForRepoEndpoint; + request: IssuesListForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/#get-an-issue + */ + "GET /repos/:owner/:repo/issues/:issue_number": { + parameters: IssuesGetEndpoint; + request: IssuesGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/comments/#list-comments-on-an-issue + */ + "GET /repos/:owner/:repo/issues/:issue_number/comments": { + parameters: IssuesListCommentsEndpoint; + request: IssuesListCommentsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/events/#list-events-for-an-issue + */ + "GET /repos/:owner/:repo/issues/:issue_number/events": { + parameters: IssuesListEventsEndpoint; + request: IssuesListEventsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#list-labels-on-an-issue + */ + "GET /repos/:owner/:repo/issues/:issue_number/labels": { + parameters: IssuesListLabelsOnIssueEndpoint; + request: IssuesListLabelsOnIssueRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#list-reactions-for-an-issue + */ + "GET /repos/:owner/:repo/issues/:issue_number/reactions": { + parameters: ReactionsListForIssueEndpoint; + request: ReactionsListForIssueRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/timeline/#list-events-for-an-issue + */ + "GET /repos/:owner/:repo/issues/:issue_number/timeline": { + parameters: IssuesListEventsForTimelineEndpoint; + request: IssuesListEventsForTimelineRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/comments/#list-comments-in-a-repository + */ + "GET /repos/:owner/:repo/issues/comments": { + parameters: IssuesListCommentsForRepoEndpoint; + request: IssuesListCommentsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/comments/#get-a-single-comment + */ + "GET /repos/:owner/:repo/issues/comments/:comment_id": { + parameters: IssuesGetCommentEndpoint; + request: IssuesGetCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#list-reactions-for-an-issue-comment + */ + "GET /repos/:owner/:repo/issues/comments/:comment_id/reactions": { + parameters: ReactionsListForIssueCommentEndpoint; + request: ReactionsListForIssueCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/events/#list-events-for-a-repository + */ + "GET /repos/:owner/:repo/issues/events": { + parameters: IssuesListEventsForRepoEndpoint; + request: IssuesListEventsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/events/#get-a-single-event + */ + "GET /repos/:owner/:repo/issues/events/:event_id": { + parameters: IssuesGetEventEndpoint; + request: IssuesGetEventRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/keys/#list-deploy-keys + */ + "GET /repos/:owner/:repo/keys": { + parameters: ReposListDeployKeysEndpoint; + request: ReposListDeployKeysRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/keys/#get-a-deploy-key + */ + "GET /repos/:owner/:repo/keys/:key_id": { + parameters: ReposGetDeployKeyEndpoint; + request: ReposGetDeployKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#list-all-labels-for-this-repository + */ + "GET /repos/:owner/:repo/labels": { + parameters: IssuesListLabelsForRepoEndpoint; + request: IssuesListLabelsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#get-a-single-label + */ + "GET /repos/:owner/:repo/labels/:name": { + parameters: IssuesGetLabelEndpoint; + request: IssuesGetLabelRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#list-languages + */ + "GET /repos/:owner/:repo/languages": { + parameters: ReposListLanguagesEndpoint; + request: ReposListLanguagesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/licenses/#get-the-contents-of-a-repositorys-license + */ + "GET /repos/:owner/:repo/license": { + parameters: LicensesGetForRepoEndpoint; + request: LicensesGetForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/milestones/#list-milestones-for-a-repository + */ + "GET /repos/:owner/:repo/milestones": { + parameters: IssuesListMilestonesForRepoEndpoint; + request: IssuesListMilestonesForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/milestones/#get-a-single-milestone + */ + "GET /repos/:owner/:repo/milestones/:milestone_number": { + parameters: IssuesGetMilestoneEndpoint; + request: IssuesGetMilestoneRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#get-labels-for-every-issue-in-a-milestone + */ + "GET /repos/:owner/:repo/milestones/:milestone_number/labels": { + parameters: IssuesListLabelsForMilestoneEndpoint; + request: IssuesListLabelsForMilestoneRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/notifications/#list-repository-notifications-for-the-authenticated-user + */ + "GET /repos/:owner/:repo/notifications": { + parameters: ActivityListRepoNotificationsForAuthenticatedUserEndpoint; + request: ActivityListRepoNotificationsForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/pages/#get-information-about-a-pages-site + */ + "GET /repos/:owner/:repo/pages": { + parameters: ReposGetPagesEndpoint; + request: ReposGetPagesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/pages/#list-pages-builds + */ + "GET /repos/:owner/:repo/pages/builds": { + parameters: ReposListPagesBuildsEndpoint; + request: ReposListPagesBuildsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/pages/#get-a-specific-pages-build + */ + "GET /repos/:owner/:repo/pages/builds/:build_id": { + parameters: ReposGetPagesBuildEndpoint; + request: ReposGetPagesBuildRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/pages/#get-latest-pages-build + */ + "GET /repos/:owner/:repo/pages/builds/latest": { + parameters: ReposGetLatestPagesBuildEndpoint; + request: ReposGetLatestPagesBuildRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/#list-repository-projects + */ + "GET /repos/:owner/:repo/projects": { + parameters: ProjectsListForRepoEndpoint; + request: ProjectsListForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/#list-pull-requests + */ + "GET /repos/:owner/:repo/pulls": { + parameters: PullsListEndpoint; + request: PullsListRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/#get-a-single-pull-request + */ + "GET /repos/:owner/:repo/pulls/:pull_number": { + parameters: PullsGetEndpoint; + request: PullsGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/comments/#list-comments-on-a-pull-request + */ + "GET /repos/:owner/:repo/pulls/:pull_number/comments": { + parameters: PullsListCommentsEndpoint; + request: PullsListCommentsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/#list-commits-on-a-pull-request + */ + "GET /repos/:owner/:repo/pulls/:pull_number/commits": { + parameters: PullsListCommitsEndpoint; + request: PullsListCommitsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/#list-pull-requests-files + */ + "GET /repos/:owner/:repo/pulls/:pull_number/files": { + parameters: PullsListFilesEndpoint; + request: PullsListFilesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/#get-if-a-pull-request-has-been-merged + */ + "GET /repos/:owner/:repo/pulls/:pull_number/merge": { + parameters: PullsCheckIfMergedEndpoint; + request: PullsCheckIfMergedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/review_requests/#list-review-requests + */ + "GET /repos/:owner/:repo/pulls/:pull_number/requested_reviewers": { + parameters: PullsListReviewRequestsEndpoint; + request: PullsListReviewRequestsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/reviews/#list-reviews-on-a-pull-request + */ + "GET /repos/:owner/:repo/pulls/:pull_number/reviews": { + parameters: PullsListReviewsEndpoint; + request: PullsListReviewsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/reviews/#get-a-single-review + */ + "GET /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id": { + parameters: PullsGetReviewEndpoint; + request: PullsGetReviewRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/reviews/#get-comments-for-a-single-review + */ + "GET /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/comments": { + parameters: PullsGetCommentsForReviewEndpoint; + request: PullsGetCommentsForReviewRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/comments/#list-comments-in-a-repository + */ + "GET /repos/:owner/:repo/pulls/comments": { + parameters: PullsListCommentsForRepoEndpoint; + request: PullsListCommentsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/comments/#get-a-single-comment + */ + "GET /repos/:owner/:repo/pulls/comments/:comment_id": { + parameters: PullsGetCommentEndpoint; + request: PullsGetCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#list-reactions-for-a-pull-request-review-comment + */ + "GET /repos/:owner/:repo/pulls/comments/:comment_id/reactions": { + parameters: ReactionsListForPullRequestReviewCommentEndpoint; + request: ReactionsListForPullRequestReviewCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/contents/#get-the-readme + */ + "GET /repos/:owner/:repo/readme": { + parameters: ReposGetReadmeEndpoint; + request: ReposGetReadmeRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#list-releases-for-a-repository + */ + "GET /repos/:owner/:repo/releases": { + parameters: ReposListReleasesEndpoint; + request: ReposListReleasesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#get-a-single-release + */ + "GET /repos/:owner/:repo/releases/:release_id": { + parameters: ReposGetReleaseEndpoint; + request: ReposGetReleaseRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#list-assets-for-a-release + */ + "GET /repos/:owner/:repo/releases/:release_id/assets": { + parameters: ReposListAssetsForReleaseEndpoint; + request: ReposListAssetsForReleaseRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#get-a-single-release-asset + */ + "GET /repos/:owner/:repo/releases/assets/:asset_id": { + parameters: ReposGetReleaseAssetEndpoint; + request: ReposGetReleaseAssetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#get-the-latest-release + */ + "GET /repos/:owner/:repo/releases/latest": { + parameters: ReposGetLatestReleaseEndpoint; + request: ReposGetLatestReleaseRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#get-a-release-by-tag-name + */ + "GET /repos/:owner/:repo/releases/tags/:tag": { + parameters: ReposGetReleaseByTagEndpoint; + request: ReposGetReleaseByTagRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/starring/#list-stargazers + */ + "GET /repos/:owner/:repo/stargazers": { + parameters: ActivityListStargazersForRepoEndpoint; + request: ActivityListStargazersForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/statistics/#get-the-number-of-additions-and-deletions-per-week + */ + "GET /repos/:owner/:repo/stats/code_frequency": { + parameters: ReposGetCodeFrequencyStatsEndpoint; + request: ReposGetCodeFrequencyStatsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/statistics/#get-the-last-year-of-commit-activity-data + */ + "GET /repos/:owner/:repo/stats/commit_activity": { + parameters: ReposGetCommitActivityStatsEndpoint; + request: ReposGetCommitActivityStatsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/statistics/#get-contributors-list-with-additions-deletions-and-commit-counts + */ + "GET /repos/:owner/:repo/stats/contributors": { + parameters: ReposGetContributorsStatsEndpoint; + request: ReposGetContributorsStatsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/statistics/#get-the-weekly-commit-count-for-the-repository-owner-and-everyone-else + */ + "GET /repos/:owner/:repo/stats/participation": { + parameters: ReposGetParticipationStatsEndpoint; + request: ReposGetParticipationStatsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/statistics/#get-the-number-of-commits-per-hour-in-each-day + */ + "GET /repos/:owner/:repo/stats/punch_card": { + parameters: ReposGetPunchCardStatsEndpoint; + request: ReposGetPunchCardStatsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/watching/#list-watchers + */ + "GET /repos/:owner/:repo/subscribers": { + parameters: ActivityListWatchersForRepoEndpoint; + request: ActivityListWatchersForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/watching/#get-a-repository-subscription + */ + "GET /repos/:owner/:repo/subscription": { + parameters: ActivityGetRepoSubscriptionEndpoint; + request: ActivityGetRepoSubscriptionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#list-tags + */ + "GET /repos/:owner/:repo/tags": { + parameters: ReposListTagsEndpoint; + request: ReposListTagsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#list-teams + */ + "GET /repos/:owner/:repo/teams": { + parameters: ReposListTeamsEndpoint; + request: ReposListTeamsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#get-all-repository-topics + */ + "GET /repos/:owner/:repo/topics": { + parameters: ReposGetAllTopicsEndpoint; + request: ReposGetAllTopicsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/traffic/#clones + */ + "GET /repos/:owner/:repo/traffic/clones": { + parameters: ReposGetClonesEndpoint; + request: ReposGetClonesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/traffic/#list-paths + */ + "GET /repos/:owner/:repo/traffic/popular/paths": { + parameters: ReposGetTopPathsEndpoint; + request: ReposGetTopPathsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/traffic/#list-referrers + */ + "GET /repos/:owner/:repo/traffic/popular/referrers": { + parameters: ReposGetTopReferrersEndpoint; + request: ReposGetTopReferrersRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/traffic/#views + */ + "GET /repos/:owner/:repo/traffic/views": { + parameters: ReposGetViewsEndpoint; + request: ReposGetViewsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#check-if-vulnerability-alerts-are-enabled-for-a-repository + */ + "GET /repos/:owner/:repo/vulnerability-alerts": { + parameters: ReposCheckVulnerabilityAlertsEndpoint; + request: ReposCheckVulnerabilityAlertsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#list-public-repositories + */ + "GET /repositories": { + parameters: ReposListPublicEndpoint; + request: ReposListPublicRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/scim/#get-a-list-of-provisioned-identities + */ + "GET /scim/v2/organizations/:org/Users": { + parameters: ScimListProvisionedIdentitiesEndpoint; + request: ScimListProvisionedIdentitiesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/scim/#get-provisioning-details-for-a-single-user + */ + "GET /scim/v2/organizations/:org/Users/:scim_user_id": { + parameters: ScimGetProvisioningDetailsForUserEndpoint; + request: ScimGetProvisioningDetailsForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/#search-code + */ + "GET /search/code": { + parameters: SearchCodeEndpoint; + request: SearchCodeRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/#search-commits + */ + "GET /search/commits": { + parameters: SearchCommitsEndpoint; + request: SearchCommitsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/#search-issues-and-pull-requests + */ + "GET /search/issues": { + parameters: SearchIssuesAndPullRequestsEndpoint; + request: SearchIssuesAndPullRequestsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/#search-labels + */ + "GET /search/labels": { + parameters: SearchLabelsEndpoint; + request: SearchLabelsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/#search-repositories + */ + "GET /search/repositories": { + parameters: SearchReposEndpoint; + request: SearchReposRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/#search-topics + */ + "GET /search/topics": { + parameters: SearchTopicsEndpoint; + request: SearchTopicsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/#search-users + */ + "GET /search/users": { + parameters: SearchUsersEndpoint; + request: SearchUsersRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#get-team-legacy + */ + "GET /teams/:team_id": { + parameters: TeamsGetLegacyEndpoint; + request: TeamsGetLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#list-discussions-legacy + */ + "GET /teams/:team_id/discussions": { + parameters: TeamsListDiscussionsLegacyEndpoint; + request: TeamsListDiscussionsLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#get-a-single-discussion-legacy + */ + "GET /teams/:team_id/discussions/:discussion_number": { + parameters: TeamsGetDiscussionLegacyEndpoint; + request: TeamsGetDiscussionLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#list-comments-legacy + */ + "GET /teams/:team_id/discussions/:discussion_number/comments": { + parameters: TeamsListDiscussionCommentsLegacyEndpoint; + request: TeamsListDiscussionCommentsLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#get-a-single-comment-legacy + */ + "GET /teams/:team_id/discussions/:discussion_number/comments/:comment_number": { + parameters: TeamsGetDiscussionCommentLegacyEndpoint; + request: TeamsGetDiscussionCommentLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-comment-legacy + */ + "GET /teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions": { + parameters: ReactionsListForTeamDiscussionCommentLegacyEndpoint; + request: ReactionsListForTeamDiscussionCommentLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-legacy + */ + "GET /teams/:team_id/discussions/:discussion_number/reactions": { + parameters: ReactionsListForTeamDiscussionLegacyEndpoint; + request: ReactionsListForTeamDiscussionLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#list-pending-team-invitations-legacy + */ + "GET /teams/:team_id/invitations": { + parameters: TeamsListPendingInvitationsLegacyEndpoint; + request: TeamsListPendingInvitationsLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#list-team-members-legacy + */ + "GET /teams/:team_id/members": { + parameters: TeamsListMembersLegacyEndpoint; + request: TeamsListMembersLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#get-team-member-legacy + */ + "GET /teams/:team_id/members/:username": { + parameters: TeamsGetMemberLegacyEndpoint; + request: TeamsGetMemberLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#get-team-membership-legacy + */ + "GET /teams/:team_id/memberships/:username": { + parameters: TeamsGetMembershipLegacyEndpoint; + request: TeamsGetMembershipLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#list-team-projects-legacy + */ + "GET /teams/:team_id/projects": { + parameters: TeamsListProjectsLegacyEndpoint; + request: TeamsListProjectsLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#review-a-team-project-legacy + */ + "GET /teams/:team_id/projects/:project_id": { + parameters: TeamsReviewProjectLegacyEndpoint; + request: TeamsReviewProjectLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#list-team-repos-legacy + */ + "GET /teams/:team_id/repos": { + parameters: TeamsListReposLegacyEndpoint; + request: TeamsListReposLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#check-if-a-team-manages-a-repository-legacy + */ + "GET /teams/:team_id/repos/:owner/:repo": { + parameters: TeamsCheckManagesRepoLegacyEndpoint; + request: TeamsCheckManagesRepoLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/team_sync/#list-idp-groups-for-a-team-legacy + */ + "GET /teams/:team_id/team-sync/group-mappings": { + parameters: TeamsListIdPGroupsForLegacyEndpoint; + request: TeamsListIdPGroupsForLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#list-child-teams-legacy + */ + "GET /teams/:team_id/teams": { + parameters: TeamsListChildLegacyEndpoint; + request: TeamsListChildLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/#get-the-authenticated-user + */ + "GET /user": { + parameters: UsersGetAuthenticatedEndpoint; + request: UsersGetAuthenticatedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/users/#list-repositories-for-a-user-migration + */ + "GET /user/:migration_id/repositories": { + parameters: MigrationsListReposForUserEndpoint; + request: MigrationsListReposForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/blocking/#list-blocked-users + */ + "GET /user/blocks": { + parameters: UsersListBlockedEndpoint; + request: UsersListBlockedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/blocking/#check-whether-youve-blocked-a-user + */ + "GET /user/blocks/:username": { + parameters: UsersCheckBlockedEndpoint; + request: UsersCheckBlockedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/emails/#list-email-addresses-for-a-user + */ + "GET /user/emails": { + parameters: UsersListEmailsEndpoint; + request: UsersListEmailsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/followers/#list-followers-of-the-authenticated-user + */ + "GET /user/followers": { + parameters: UsersListFollowersForAuthenticatedUserEndpoint; + request: UsersListFollowersForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/followers/#list-users-followed-by-the-authenticated-user + */ + "GET /user/following": { + parameters: UsersListFollowedByAuthenticatedEndpoint; + request: UsersListFollowedByAuthenticatedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/followers/#check-if-you-are-following-a-user + */ + "GET /user/following/:username": { + parameters: UsersCheckFollowingEndpoint; + request: UsersCheckFollowingRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/gpg_keys/#list-your-gpg-keys + */ + "GET /user/gpg_keys": { + parameters: UsersListGpgKeysEndpoint; + request: UsersListGpgKeysRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/gpg_keys/#get-a-single-gpg-key + */ + "GET /user/gpg_keys/:gpg_key_id": { + parameters: UsersGetGpgKeyEndpoint; + request: UsersGetGpgKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/installations/#list-installations-for-a-user + */ + "GET /user/installations": { + parameters: AppsListInstallationsForAuthenticatedUserEndpoint; + request: AppsListInstallationsForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/installations/#list-repositories-accessible-to-the-user-for-an-installation + */ + "GET /user/installations/:installation_id/repositories": { + parameters: AppsListInstallationReposForAuthenticatedUserEndpoint; + request: AppsListInstallationReposForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/#list-user-account-issues-assigned-to-the-authenticated-user + */ + "GET /user/issues": { + parameters: IssuesListForAuthenticatedUserEndpoint; + request: IssuesListForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/keys/#list-your-public-keys + */ + "GET /user/keys": { + parameters: UsersListPublicKeysEndpoint; + request: UsersListPublicKeysRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/keys/#get-a-single-public-key + */ + "GET /user/keys/:key_id": { + parameters: UsersGetPublicKeyEndpoint; + request: UsersGetPublicKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/marketplace/#list-subscriptions-for-the-authenticated-user + */ + "GET /user/marketplace_purchases": { + parameters: AppsListSubscriptionsForAuthenticatedUserEndpoint; + request: AppsListSubscriptionsForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/marketplace/#list-subscriptions-for-the-authenticated-user-stubbed + */ + "GET /user/marketplace_purchases/stubbed": { + parameters: AppsListSubscriptionsForAuthenticatedUserStubbedEndpoint; + request: AppsListSubscriptionsForAuthenticatedUserStubbedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#list-your-organization-memberships + */ + "GET /user/memberships/orgs": { + parameters: OrgsListMembershipsEndpoint; + request: OrgsListMembershipsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#get-your-organization-membership + */ + "GET /user/memberships/orgs/:org": { + parameters: OrgsGetMembershipForAuthenticatedUserEndpoint; + request: OrgsGetMembershipForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/users/#list-user-migrations + */ + "GET /user/migrations": { + parameters: MigrationsListForAuthenticatedUserEndpoint; + request: MigrationsListForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/users/#get-the-status-of-a-user-migration + */ + "GET /user/migrations/:migration_id": { + parameters: MigrationsGetStatusForAuthenticatedUserEndpoint; + request: MigrationsGetStatusForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/users/#download-a-user-migration-archive + */ + "GET /user/migrations/:migration_id/archive": { + parameters: MigrationsGetArchiveForAuthenticatedUserEndpoint; + request: MigrationsGetArchiveForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/#list-your-organizations + */ + "GET /user/orgs": { + parameters: OrgsListForAuthenticatedUserEndpoint; + request: OrgsListForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/emails/#list-public-email-addresses-for-a-user + */ + "GET /user/public_emails": { + parameters: UsersListPublicEmailsEndpoint; + request: UsersListPublicEmailsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#list-repositories-for-the-authenticated-user + */ + "GET /user/repos": { + parameters: ReposListForAuthenticatedUserEndpoint; + request: ReposListForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/invitations/#list-a-users-repository-invitations + */ + "GET /user/repository_invitations": { + parameters: ReposListInvitationsForAuthenticatedUserEndpoint; + request: ReposListInvitationsForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/starring/#list-repositories-starred-by-the-authenticated-user + */ + "GET /user/starred": { + parameters: ActivityListReposStarredByAuthenticatedUserEndpoint; + request: ActivityListReposStarredByAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/starring/#check-if-a-repository-is-starred-by-the-authenticated-user + */ + "GET /user/starred/:owner/:repo": { + parameters: ActivityCheckRepoIsStarredByAuthenticatedUserEndpoint; + request: ActivityCheckRepoIsStarredByAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/watching/#list-repositories-watched-by-the-authenticated-user + */ + "GET /user/subscriptions": { + parameters: ActivityListWatchedReposForAuthenticatedUserEndpoint; + request: ActivityListWatchedReposForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/watching/#check-if-you-are-watching-a-repository-legacy + */ + "GET /user/subscriptions/:owner/:repo": { + parameters: ActivityCheckWatchingRepoLegacyEndpoint; + request: ActivityCheckWatchingRepoLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#list-user-teams + */ + "GET /user/teams": { + parameters: TeamsListForAuthenticatedUserEndpoint; + request: TeamsListForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/#get-all-users + */ + "GET /users": { + parameters: UsersListEndpoint; + request: UsersListRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/#get-a-single-user + */ + "GET /users/:username": { + parameters: UsersGetByUsernameEndpoint; + request: UsersGetByUsernameRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/events/#list-events-for-the-authenticated-user + */ + "GET /users/:username/events": { + parameters: ActivityListEventsForAuthenticatedUserEndpoint; + request: ActivityListEventsForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/events/#list-organization-events-for-the-authenticated-user + */ + "GET /users/:username/events/orgs/:org": { + parameters: ActivityListOrgEventsForAuthenticatedUserEndpoint; + request: ActivityListOrgEventsForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/events/#list-public-events-for-a-user + */ + "GET /users/:username/events/public": { + parameters: ActivityListPublicEventsForUserEndpoint; + request: ActivityListPublicEventsForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/followers/#list-followers-of-a-user + */ + "GET /users/:username/followers": { + parameters: UsersListFollowersForUserEndpoint; + request: UsersListFollowersForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/followers/#list-users-followed-by-another-user + */ + "GET /users/:username/following": { + parameters: UsersListFollowingForUserEndpoint; + request: UsersListFollowingForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/followers/#check-if-one-user-follows-another + */ + "GET /users/:username/following/:target_user": { + parameters: UsersCheckFollowingForUserEndpoint; + request: UsersCheckFollowingForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#list-gists-for-a-user + */ + "GET /users/:username/gists": { + parameters: GistsListForUserEndpoint; + request: GistsListForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/gpg_keys/#list-gpg-keys-for-a-user + */ + "GET /users/:username/gpg_keys": { + parameters: UsersListGpgKeysForUserEndpoint; + request: UsersListGpgKeysForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/#get-contextual-information-about-a-user + */ + "GET /users/:username/hovercard": { + parameters: UsersGetContextForUserEndpoint; + request: UsersGetContextForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#get-a-user-installation + */ + "GET /users/:username/installation": { + parameters: AppsGetUserInstallationEndpoint; + request: AppsGetUserInstallationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/keys/#list-public-keys-for-a-user + */ + "GET /users/:username/keys": { + parameters: UsersListPublicKeysForUserEndpoint; + request: UsersListPublicKeysForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/#list-user-organizations + */ + "GET /users/:username/orgs": { + parameters: OrgsListForUserEndpoint; + request: OrgsListForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/#list-user-projects + */ + "GET /users/:username/projects": { + parameters: ProjectsListForUserEndpoint; + request: ProjectsListForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/events/#list-events-received-by-the-authenticated-user + */ + "GET /users/:username/received_events": { + parameters: ActivityListReceivedEventsForUserEndpoint; + request: ActivityListReceivedEventsForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/events/#list-public-events-received-by-a-user + */ + "GET /users/:username/received_events/public": { + parameters: ActivityListReceivedPublicEventsForUserEndpoint; + request: ActivityListReceivedPublicEventsForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#list-repositories-for-a-user + */ + "GET /users/:username/repos": { + parameters: ReposListForUserEndpoint; + request: ReposListForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/starring/#list-repositories-starred-by-a-user + */ + "GET /users/:username/starred": { + parameters: ActivityListReposStarredByUserEndpoint; + request: ActivityListReposStarredByUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/watching/#list-repositories-watched-by-a-user + */ + "GET /users/:username/subscriptions": { + parameters: ActivityListReposWatchedByUserEndpoint; + request: ActivityListReposWatchedByUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/oauth_applications/#reset-a-token + */ + "PATCH /applications/:client_id/token": { + parameters: AppsResetTokenEndpoint; + request: AppsResetTokenRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#update-an-existing-authorization + */ + "PATCH /authorizations/:authorization_id": { + parameters: OauthAuthorizationsUpdateAuthorizationEndpoint; + request: OauthAuthorizationsUpdateAuthorizationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#update-a-gist + */ + "PATCH /gists/:gist_id": { + parameters: GistsUpdateEndpoint; + request: GistsUpdateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/comments/#edit-a-comment + */ + "PATCH /gists/:gist_id/comments/:comment_id": { + parameters: GistsUpdateCommentEndpoint; + request: GistsUpdateCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/notifications/#mark-a-thread-as-read + */ + "PATCH /notifications/threads/:thread_id": { + parameters: ActivityMarkThreadAsReadEndpoint; + request: ActivityMarkThreadAsReadRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/#edit-an-organization + */ + "PATCH /orgs/:org": { + parameters: OrgsUpdateEndpoint; + request: OrgsUpdateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/hooks/#edit-a-hook + */ + "PATCH /orgs/:org/hooks/:hook_id": { + parameters: OrgsUpdateHookEndpoint; + request: OrgsUpdateHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#edit-team + */ + "PATCH /orgs/:org/teams/:team_slug": { + parameters: TeamsUpdateInOrgEndpoint; + request: TeamsUpdateInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#edit-a-discussion + */ + "PATCH /orgs/:org/teams/:team_slug/discussions/:discussion_number": { + parameters: TeamsUpdateDiscussionInOrgEndpoint; + request: TeamsUpdateDiscussionInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#edit-a-comment + */ + "PATCH /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number": { + parameters: TeamsUpdateDiscussionCommentInOrgEndpoint; + request: TeamsUpdateDiscussionCommentInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/team_sync/#create-or-update-idp-group-connections + */ + "PATCH /orgs/:org/teams/:team_slug/team-sync/group-mappings": { + parameters: TeamsCreateOrUpdateIdPGroupConnectionsInOrgEndpoint; + request: TeamsCreateOrUpdateIdPGroupConnectionsInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/#update-a-project + */ + "PATCH /projects/:project_id": { + parameters: ProjectsUpdateEndpoint; + request: ProjectsUpdateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/columns/#update-a-project-column + */ + "PATCH /projects/columns/:column_id": { + parameters: ProjectsUpdateColumnEndpoint; + request: ProjectsUpdateColumnRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/cards/#update-a-project-card + */ + "PATCH /projects/columns/cards/:card_id": { + parameters: ProjectsUpdateCardEndpoint; + request: ProjectsUpdateCardRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#update-a-repository + */ + "PATCH /repos/:owner/:repo": { + parameters: ReposUpdateEndpoint; + request: ReposUpdateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#update-pull-request-review-enforcement-of-protected-branch + */ + "PATCH /repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews": { + parameters: ReposUpdateProtectedBranchPullRequestReviewEnforcementEndpoint; + request: ReposUpdateProtectedBranchPullRequestReviewEnforcementRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#update-required-status-checks-of-protected-branch + */ + "PATCH /repos/:owner/:repo/branches/:branch/protection/required_status_checks": { + parameters: ReposUpdateProtectedBranchRequiredStatusChecksEndpoint; + request: ReposUpdateProtectedBranchRequiredStatusChecksRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/runs/#update-a-check-run + */ + "PATCH /repos/:owner/:repo/check-runs/:check_run_id": { + parameters: ChecksUpdateEndpoint; + request: ChecksUpdateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/suites/#update-repository-preferences-for-check-suites + */ + "PATCH /repos/:owner/:repo/check-suites/preferences": { + parameters: ChecksSetSuitesPreferencesEndpoint; + request: ChecksSetSuitesPreferencesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/comments/#update-a-commit-comment + */ + "PATCH /repos/:owner/:repo/comments/:comment_id": { + parameters: ReposUpdateCommitCommentEndpoint; + request: ReposUpdateCommitCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/refs/#update-a-reference + */ + "PATCH /repos/:owner/:repo/git/refs/:ref": { + parameters: GitUpdateRefEndpoint; + request: GitUpdateRefRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/hooks/#edit-a-hook + */ + "PATCH /repos/:owner/:repo/hooks/:hook_id": { + parameters: ReposUpdateHookEndpoint; + request: ReposUpdateHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/source_imports/#update-existing-import + */ + "PATCH /repos/:owner/:repo/import": { + parameters: MigrationsUpdateImportEndpoint; + request: MigrationsUpdateImportRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/source_imports/#map-a-commit-author + */ + "PATCH /repos/:owner/:repo/import/authors/:author_id": { + parameters: MigrationsMapCommitAuthorEndpoint; + request: MigrationsMapCommitAuthorRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/source_imports/#set-git-lfs-preference + */ + "PATCH /repos/:owner/:repo/import/lfs": { + parameters: MigrationsSetLfsPreferenceEndpoint; + request: MigrationsSetLfsPreferenceRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/invitations/#update-a-repository-invitation + */ + "PATCH /repos/:owner/:repo/invitations/:invitation_id": { + parameters: ReposUpdateInvitationEndpoint; + request: ReposUpdateInvitationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/#update-an-issue + */ + "PATCH /repos/:owner/:repo/issues/:issue_number": { + parameters: IssuesUpdateEndpoint; + request: IssuesUpdateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/comments/#edit-a-comment + */ + "PATCH /repos/:owner/:repo/issues/comments/:comment_id": { + parameters: IssuesUpdateCommentEndpoint; + request: IssuesUpdateCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#update-a-label + */ + "PATCH /repos/:owner/:repo/labels/:name": { + parameters: IssuesUpdateLabelEndpoint; + request: IssuesUpdateLabelRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/milestones/#update-a-milestone + */ + "PATCH /repos/:owner/:repo/milestones/:milestone_number": { + parameters: IssuesUpdateMilestoneEndpoint; + request: IssuesUpdateMilestoneRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/#update-a-pull-request + */ + "PATCH /repos/:owner/:repo/pulls/:pull_number": { + parameters: PullsUpdateEndpoint; + request: PullsUpdateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/comments/#edit-a-comment + */ + "PATCH /repos/:owner/:repo/pulls/comments/:comment_id": { + parameters: PullsUpdateCommentEndpoint; + request: PullsUpdateCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#edit-a-release + */ + "PATCH /repos/:owner/:repo/releases/:release_id": { + parameters: ReposUpdateReleaseEndpoint; + request: ReposUpdateReleaseRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#edit-a-release-asset + */ + "PATCH /repos/:owner/:repo/releases/assets/:asset_id": { + parameters: ReposUpdateReleaseAssetEndpoint; + request: ReposUpdateReleaseAssetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/scim/#update-a-user-attribute + */ + "PATCH /scim/v2/organizations/:org/Users/:scim_user_id": { + parameters: ScimUpdateUserAttributeEndpoint; + request: ScimUpdateUserAttributeRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#edit-team-legacy + */ + "PATCH /teams/:team_id": { + parameters: TeamsUpdateLegacyEndpoint; + request: TeamsUpdateLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#edit-a-discussion-legacy + */ + "PATCH /teams/:team_id/discussions/:discussion_number": { + parameters: TeamsUpdateDiscussionLegacyEndpoint; + request: TeamsUpdateDiscussionLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#edit-a-comment-legacy + */ + "PATCH /teams/:team_id/discussions/:discussion_number/comments/:comment_number": { + parameters: TeamsUpdateDiscussionCommentLegacyEndpoint; + request: TeamsUpdateDiscussionCommentLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/team_sync/#create-or-update-idp-group-connections-legacy + */ + "PATCH /teams/:team_id/team-sync/group-mappings": { + parameters: TeamsCreateOrUpdateIdPGroupConnectionsLegacyEndpoint; + request: TeamsCreateOrUpdateIdPGroupConnectionsLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/#update-the-authenticated-user + */ + "PATCH /user": { + parameters: UsersUpdateAuthenticatedEndpoint; + request: UsersUpdateAuthenticatedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/emails/#toggle-primary-email-visibility + */ + "PATCH /user/email/visibility": { + parameters: UsersTogglePrimaryEmailVisibilityEndpoint; + request: UsersTogglePrimaryEmailVisibilityRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#edit-your-organization-membership + */ + "PATCH /user/memberships/orgs/:org": { + parameters: OrgsUpdateMembershipEndpoint; + request: OrgsUpdateMembershipRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/invitations/#accept-a-repository-invitation + */ + "PATCH /user/repository_invitations/:invitation_id": { + parameters: ReposAcceptInvitationEndpoint; + request: ReposAcceptInvitationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#create-a-github-app-from-a-manifest + */ + "POST /app-manifests/:code/conversions": { + parameters: AppsCreateFromManifestEndpoint; + request: AppsCreateFromManifestRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#create-a-new-installation-token + */ + "POST /app/installations/:installation_id/access_tokens": { + parameters: AppsCreateInstallationTokenEndpoint; + request: AppsCreateInstallationTokenRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/oauth_applications/#check-a-token + */ + "POST /applications/:client_id/token": { + parameters: AppsCheckTokenEndpoint; + request: AppsCheckTokenRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/oauth_applications/#reset-an-authorization + */ + "POST /applications/:client_id/tokens/:access_token": { + parameters: AppsResetAuthorizationEndpoint; + request: AppsResetAuthorizationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#create-a-new-authorization + */ + "POST /authorizations": { + parameters: OauthAuthorizationsCreateAuthorizationEndpoint; + request: OauthAuthorizationsCreateAuthorizationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/installations/#create-a-content-attachment + */ + "POST /content_references/:content_reference_id/attachments": { + parameters: AppsCreateContentAttachmentEndpoint; + request: AppsCreateContentAttachmentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#create-a-gist + */ + "POST /gists": { + parameters: GistsCreateEndpoint; + request: GistsCreateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/comments/#create-a-comment + */ + "POST /gists/:gist_id/comments": { + parameters: GistsCreateCommentEndpoint; + request: GistsCreateCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#fork-a-gist + */ + "POST /gists/:gist_id/forks": { + parameters: GistsForkEndpoint; + request: GistsForkRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/markdown/#render-an-arbitrary-markdown-document + */ + "POST /markdown": { + parameters: MarkdownRenderEndpoint; + request: MarkdownRenderRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/markdown/#render-a-markdown-document-in-raw-mode + */ + "POST /markdown/raw": { + parameters: MarkdownRenderRawEndpoint; + request: MarkdownRenderRawRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#create-a-registration-token-for-an-organization + */ + "POST /orgs/:org/actions/runners/registration-token": { + parameters: ActionsCreateRegistrationTokenForOrgEndpoint; + request: ActionsCreateRegistrationTokenForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#create-a-remove-token-for-an-organization + */ + "POST /orgs/:org/actions/runners/remove-token": { + parameters: ActionsCreateRemoveTokenForOrgEndpoint; + request: ActionsCreateRemoveTokenForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/hooks/#create-a-hook + */ + "POST /orgs/:org/hooks": { + parameters: OrgsCreateHookEndpoint; + request: OrgsCreateHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/hooks/#ping-a-hook + */ + "POST /orgs/:org/hooks/:hook_id/pings": { + parameters: OrgsPingHookEndpoint; + request: OrgsPingHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#create-organization-invitation + */ + "POST /orgs/:org/invitations": { + parameters: OrgsCreateInvitationEndpoint; + request: OrgsCreateInvitationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/orgs/#start-an-organization-migration + */ + "POST /orgs/:org/migrations": { + parameters: MigrationsStartForOrgEndpoint; + request: MigrationsStartForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/#create-an-organization-project + */ + "POST /orgs/:org/projects": { + parameters: ProjectsCreateForOrgEndpoint; + request: ProjectsCreateForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#create-an-organization-repository + */ + "POST /orgs/:org/repos": { + parameters: ReposCreateInOrgEndpoint; + request: ReposCreateInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#create-team + */ + "POST /orgs/:org/teams": { + parameters: TeamsCreateEndpoint; + request: TeamsCreateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#create-a-discussion + */ + "POST /orgs/:org/teams/:team_slug/discussions": { + parameters: TeamsCreateDiscussionInOrgEndpoint; + request: TeamsCreateDiscussionInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#create-a-comment + */ + "POST /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments": { + parameters: TeamsCreateDiscussionCommentInOrgEndpoint; + request: TeamsCreateDiscussionCommentInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-comment + */ + "POST /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions": { + parameters: ReactionsCreateForTeamDiscussionCommentInOrgEndpoint; + request: ReactionsCreateForTeamDiscussionCommentInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion + */ + "POST /orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions": { + parameters: ReactionsCreateForTeamDiscussionInOrgEndpoint; + request: ReactionsCreateForTeamDiscussionInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/columns/#create-a-project-column + */ + "POST /projects/:project_id/columns": { + parameters: ProjectsCreateColumnEndpoint; + request: ProjectsCreateColumnRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/cards/#create-a-project-card + */ + "POST /projects/columns/:column_id/cards": { + parameters: ProjectsCreateCardEndpoint; + request: ProjectsCreateCardRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/columns/#move-a-project-column + */ + "POST /projects/columns/:column_id/moves": { + parameters: ProjectsMoveColumnEndpoint; + request: ProjectsMoveColumnRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/cards/#move-a-project-card + */ + "POST /projects/columns/cards/:card_id/moves": { + parameters: ProjectsMoveCardEndpoint; + request: ProjectsMoveCardRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#create-a-registration-token-for-a-repository + */ + "POST /repos/:owner/:repo/actions/runners/registration-token": { + parameters: ActionsCreateRegistrationTokenForRepoEndpoint; + request: ActionsCreateRegistrationTokenForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#create-a-remove-token-for-a-repository + */ + "POST /repos/:owner/:repo/actions/runners/remove-token": { + parameters: ActionsCreateRemoveTokenForRepoEndpoint; + request: ActionsCreateRemoveTokenForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-runs/#cancel-a-workflow-run + */ + "POST /repos/:owner/:repo/actions/runs/:run_id/cancel": { + parameters: ActionsCancelWorkflowRunEndpoint; + request: ActionsCancelWorkflowRunRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-runs/#re-run-a-workflow + */ + "POST /repos/:owner/:repo/actions/runs/:run_id/rerun": { + parameters: ActionsReRunWorkflowEndpoint; + request: ActionsReRunWorkflowRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#add-admin-enforcement-of-protected-branch + */ + "POST /repos/:owner/:repo/branches/:branch/protection/enforce_admins": { + parameters: ReposAddProtectedBranchAdminEnforcementEndpoint; + request: ReposAddProtectedBranchAdminEnforcementRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#add-required-signatures-of-protected-branch + */ + "POST /repos/:owner/:repo/branches/:branch/protection/required_signatures": { + parameters: ReposAddProtectedBranchRequiredSignaturesEndpoint; + request: ReposAddProtectedBranchRequiredSignaturesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#add-required-status-checks-contexts-of-protected-branch + */ + "POST /repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts": { + parameters: ReposAddProtectedBranchRequiredStatusChecksContextsEndpoint; + request: ReposAddProtectedBranchRequiredStatusChecksContextsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#add-app-restrictions-of-protected-branch + */ + "POST /repos/:owner/:repo/branches/:branch/protection/restrictions/apps": { + parameters: ReposAddProtectedBranchAppRestrictionsEndpoint; + request: ReposAddProtectedBranchAppRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#add-team-restrictions-of-protected-branch + */ + "POST /repos/:owner/:repo/branches/:branch/protection/restrictions/teams": { + parameters: ReposAddProtectedBranchTeamRestrictionsEndpoint; + request: ReposAddProtectedBranchTeamRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#add-user-restrictions-of-protected-branch + */ + "POST /repos/:owner/:repo/branches/:branch/protection/restrictions/users": { + parameters: ReposAddProtectedBranchUserRestrictionsEndpoint; + request: ReposAddProtectedBranchUserRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/runs/#create-a-check-run + */ + "POST /repos/:owner/:repo/check-runs": { + parameters: ChecksCreateEndpoint; + request: ChecksCreateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/suites/#create-a-check-suite + */ + "POST /repos/:owner/:repo/check-suites": { + parameters: ChecksCreateSuiteEndpoint; + request: ChecksCreateSuiteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/suites/#rerequest-a-check-suite + */ + "POST /repos/:owner/:repo/check-suites/:check_suite_id/rerequest": { + parameters: ChecksRerequestSuiteEndpoint; + request: ChecksRerequestSuiteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#create-reaction-for-a-commit-comment + */ + "POST /repos/:owner/:repo/comments/:comment_id/reactions": { + parameters: ReactionsCreateForCommitCommentEndpoint; + request: ReactionsCreateForCommitCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/comments/#create-a-commit-comment + */ + "POST /repos/:owner/:repo/commits/:commit_sha/comments": { + parameters: ReposCreateCommitCommentEndpoint; + request: ReposCreateCommitCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/deployments/#create-a-deployment + */ + "POST /repos/:owner/:repo/deployments": { + parameters: ReposCreateDeploymentEndpoint; + request: ReposCreateDeploymentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/deployments/#create-a-deployment-status + */ + "POST /repos/:owner/:repo/deployments/:deployment_id/statuses": { + parameters: ReposCreateDeploymentStatusEndpoint; + request: ReposCreateDeploymentStatusRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#create-a-repository-dispatch-event + */ + "POST /repos/:owner/:repo/dispatches": { + parameters: ReposCreateDispatchEventEndpoint; + request: ReposCreateDispatchEventRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/forks/#create-a-fork + */ + "POST /repos/:owner/:repo/forks": { + parameters: ReposCreateForkEndpoint; + request: ReposCreateForkRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/blobs/#create-a-blob + */ + "POST /repos/:owner/:repo/git/blobs": { + parameters: GitCreateBlobEndpoint; + request: GitCreateBlobRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/commits/#create-a-commit + */ + "POST /repos/:owner/:repo/git/commits": { + parameters: GitCreateCommitEndpoint; + request: GitCreateCommitRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/refs/#create-a-reference + */ + "POST /repos/:owner/:repo/git/refs": { + parameters: GitCreateRefEndpoint; + request: GitCreateRefRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/tags/#create-a-tag-object + */ + "POST /repos/:owner/:repo/git/tags": { + parameters: GitCreateTagEndpoint; + request: GitCreateTagRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/trees/#create-a-tree + */ + "POST /repos/:owner/:repo/git/trees": { + parameters: GitCreateTreeEndpoint; + request: GitCreateTreeRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/hooks/#create-a-hook + */ + "POST /repos/:owner/:repo/hooks": { + parameters: ReposCreateHookEndpoint; + request: ReposCreateHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/hooks/#ping-a-hook + */ + "POST /repos/:owner/:repo/hooks/:hook_id/pings": { + parameters: ReposPingHookEndpoint; + request: ReposPingHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/hooks/#test-a-push-hook + */ + "POST /repos/:owner/:repo/hooks/:hook_id/tests": { + parameters: ReposTestPushHookEndpoint; + request: ReposTestPushHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/#create-an-issue + */ + "POST /repos/:owner/:repo/issues": { + parameters: IssuesCreateEndpoint; + request: IssuesCreateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/assignees/#add-assignees-to-an-issue + */ + "POST /repos/:owner/:repo/issues/:issue_number/assignees": { + parameters: IssuesAddAssigneesEndpoint; + request: IssuesAddAssigneesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/comments/#create-a-comment + */ + "POST /repos/:owner/:repo/issues/:issue_number/comments": { + parameters: IssuesCreateCommentEndpoint; + request: IssuesCreateCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#add-labels-to-an-issue + */ + "POST /repos/:owner/:repo/issues/:issue_number/labels": { + parameters: IssuesAddLabelsEndpoint; + request: IssuesAddLabelsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#create-reaction-for-an-issue + */ + "POST /repos/:owner/:repo/issues/:issue_number/reactions": { + parameters: ReactionsCreateForIssueEndpoint; + request: ReactionsCreateForIssueRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#create-reaction-for-an-issue-comment + */ + "POST /repos/:owner/:repo/issues/comments/:comment_id/reactions": { + parameters: ReactionsCreateForIssueCommentEndpoint; + request: ReactionsCreateForIssueCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/keys/#add-a-new-deploy-key + */ + "POST /repos/:owner/:repo/keys": { + parameters: ReposAddDeployKeyEndpoint; + request: ReposAddDeployKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#create-a-label + */ + "POST /repos/:owner/:repo/labels": { + parameters: IssuesCreateLabelEndpoint; + request: IssuesCreateLabelRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/merging/#perform-a-merge + */ + "POST /repos/:owner/:repo/merges": { + parameters: ReposMergeEndpoint; + request: ReposMergeRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/milestones/#create-a-milestone + */ + "POST /repos/:owner/:repo/milestones": { + parameters: IssuesCreateMilestoneEndpoint; + request: IssuesCreateMilestoneRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/pages/#enable-a-pages-site + */ + "POST /repos/:owner/:repo/pages": { + parameters: ReposEnablePagesSiteEndpoint; + request: ReposEnablePagesSiteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/pages/#request-a-page-build + */ + "POST /repos/:owner/:repo/pages/builds": { + parameters: ReposRequestPageBuildEndpoint; + request: ReposRequestPageBuildRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/#create-a-repository-project + */ + "POST /repos/:owner/:repo/projects": { + parameters: ProjectsCreateForRepoEndpoint; + request: ProjectsCreateForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/#create-a-pull-request + */ + "POST /repos/:owner/:repo/pulls": { + parameters: PullsCreateEndpoint; + request: PullsCreateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/comments/#create-a-comment + */ + "POST /repos/:owner/:repo/pulls/:pull_number/comments": { + parameters: PullsCreateCommentEndpoint; + request: PullsCreateCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/comments/#create-a-review-comment-reply + */ + "POST /repos/:owner/:repo/pulls/:pull_number/comments/:comment_id/replies": { + parameters: PullsCreateReviewCommentReplyEndpoint; + request: PullsCreateReviewCommentReplyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/review_requests/#create-a-review-request + */ + "POST /repos/:owner/:repo/pulls/:pull_number/requested_reviewers": { + parameters: PullsCreateReviewRequestEndpoint; + request: PullsCreateReviewRequestRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/reviews/#create-a-pull-request-review + */ + "POST /repos/:owner/:repo/pulls/:pull_number/reviews": { + parameters: PullsCreateReviewEndpoint; + request: PullsCreateReviewRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/reviews/#submit-a-pull-request-review + */ + "POST /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/events": { + parameters: PullsSubmitReviewEndpoint; + request: PullsSubmitReviewRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#create-reaction-for-a-pull-request-review-comment + */ + "POST /repos/:owner/:repo/pulls/comments/:comment_id/reactions": { + parameters: ReactionsCreateForPullRequestReviewCommentEndpoint; + request: ReactionsCreateForPullRequestReviewCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#create-a-release + */ + "POST /repos/:owner/:repo/releases": { + parameters: ReposCreateReleaseEndpoint; + request: ReposCreateReleaseRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#upload-a-release-asset + */ + "POST /repos/:owner/:repo/releases/:release_id/assets{?name,label}": { + parameters: ReposUploadReleaseAssetEndpoint; + request: ReposUploadReleaseAssetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/statuses/#create-a-status + */ + "POST /repos/:owner/:repo/statuses/:sha": { + parameters: ReposCreateStatusEndpoint; + request: ReposCreateStatusRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#transfer-a-repository + */ + "POST /repos/:owner/:repo/transfer": { + parameters: ReposTransferEndpoint; + request: ReposTransferRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#create-a-repository-using-a-template + */ + "POST /repos/:template_owner/:template_repo/generate": { + parameters: ReposCreateUsingTemplateEndpoint; + request: ReposCreateUsingTemplateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/scim/#provision-and-invite-users + */ + "POST /scim/v2/organizations/:org/Users": { + parameters: ScimProvisionAndInviteUsersEndpoint; + request: ScimProvisionAndInviteUsersRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#create-a-discussion-legacy + */ + "POST /teams/:team_id/discussions": { + parameters: TeamsCreateDiscussionLegacyEndpoint; + request: TeamsCreateDiscussionLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#create-a-comment-legacy + */ + "POST /teams/:team_id/discussions/:discussion_number/comments": { + parameters: TeamsCreateDiscussionCommentLegacyEndpoint; + request: TeamsCreateDiscussionCommentLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-comment-legacy + */ + "POST /teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions": { + parameters: ReactionsCreateForTeamDiscussionCommentLegacyEndpoint; + request: ReactionsCreateForTeamDiscussionCommentLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-legacy + */ + "POST /teams/:team_id/discussions/:discussion_number/reactions": { + parameters: ReactionsCreateForTeamDiscussionLegacyEndpoint; + request: ReactionsCreateForTeamDiscussionLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/emails/#add-email-addresses + */ + "POST /user/emails": { + parameters: UsersAddEmailsEndpoint; + request: UsersAddEmailsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/gpg_keys/#create-a-gpg-key + */ + "POST /user/gpg_keys": { + parameters: UsersCreateGpgKeyEndpoint; + request: UsersCreateGpgKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/keys/#create-a-public-key + */ + "POST /user/keys": { + parameters: UsersCreatePublicKeyEndpoint; + request: UsersCreatePublicKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/users/#start-a-user-migration + */ + "POST /user/migrations": { + parameters: MigrationsStartForAuthenticatedUserEndpoint; + request: MigrationsStartForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/#create-a-user-project + */ + "POST /user/projects": { + parameters: ProjectsCreateForAuthenticatedUserEndpoint; + request: ProjectsCreateForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#create-a-repository-for-the-authenticated-user + */ + "POST /user/repos": { + parameters: ReposCreateForAuthenticatedUserEndpoint; + request: ReposCreateForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#suspend-an-installation + */ + "PUT /app/installations/:installation_id/suspended": { + parameters: AppsSuspendInstallationEndpoint; + request: AppsSuspendInstallationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app + */ + "PUT /authorizations/clients/:client_id": { + parameters: OauthAuthorizationsGetOrCreateAuthorizationForAppEndpoint; + request: OauthAuthorizationsGetOrCreateAuthorizationForAppRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app-and-fingerprint + */ + "PUT /authorizations/clients/:client_id/:fingerprint": { + parameters: OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintEndpoint; + request: OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#star-a-gist + */ + "PUT /gists/:gist_id/star": { + parameters: GistsStarEndpoint; + request: GistsStarRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/notifications/#mark-notifications-as-read + */ + "PUT /notifications": { + parameters: ActivityMarkNotificationsAsReadEndpoint; + request: ActivityMarkNotificationsAsReadRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/notifications/#set-a-thread-subscription + */ + "PUT /notifications/threads/:thread_id/subscription": { + parameters: ActivitySetThreadSubscriptionEndpoint; + request: ActivitySetThreadSubscriptionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/blocking/#block-a-user + */ + "PUT /orgs/:org/blocks/:username": { + parameters: OrgsBlockUserEndpoint; + request: OrgsBlockUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/interactions/orgs/#add-or-update-interaction-restrictions-for-an-organization + */ + "PUT /orgs/:org/interaction-limits": { + parameters: InteractionsAddOrUpdateRestrictionsForOrgEndpoint; + request: InteractionsAddOrUpdateRestrictionsForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#add-or-update-organization-membership + */ + "PUT /orgs/:org/memberships/:username": { + parameters: OrgsAddOrUpdateMembershipEndpoint; + request: OrgsAddOrUpdateMembershipRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/outside_collaborators/#convert-member-to-outside-collaborator + */ + "PUT /orgs/:org/outside_collaborators/:username": { + parameters: OrgsConvertMemberToOutsideCollaboratorEndpoint; + request: OrgsConvertMemberToOutsideCollaboratorRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#publicize-a-users-membership + */ + "PUT /orgs/:org/public_members/:username": { + parameters: OrgsPublicizeMembershipEndpoint; + request: OrgsPublicizeMembershipRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#add-or-update-team-membership + */ + "PUT /orgs/:org/teams/:team_slug/memberships/:username": { + parameters: TeamsAddOrUpdateMembershipInOrgEndpoint; + request: TeamsAddOrUpdateMembershipInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#add-or-update-team-project + */ + "PUT /orgs/:org/teams/:team_slug/projects/:project_id": { + parameters: TeamsAddOrUpdateProjectInOrgEndpoint; + request: TeamsAddOrUpdateProjectInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#add-or-update-team-repository + */ + "PUT /orgs/:org/teams/:team_slug/repos/:owner/:repo": { + parameters: TeamsAddOrUpdateRepoInOrgEndpoint; + request: TeamsAddOrUpdateRepoInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/collaborators/#add-user-as-a-collaborator + */ + "PUT /projects/:project_id/collaborators/:username": { + parameters: ProjectsAddCollaboratorEndpoint; + request: ProjectsAddCollaboratorRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/secrets/#create-or-update-a-secret-for-a-repository + */ + "PUT /repos/:owner/:repo/actions/secrets/:name": { + parameters: ActionsCreateOrUpdateSecretForRepoEndpoint; + request: ActionsCreateOrUpdateSecretForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#enable-automated-security-fixes + */ + "PUT /repos/:owner/:repo/automated-security-fixes": { + parameters: ReposEnableAutomatedSecurityFixesEndpoint; + request: ReposEnableAutomatedSecurityFixesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#update-branch-protection + */ + "PUT /repos/:owner/:repo/branches/:branch/protection": { + parameters: ReposUpdateBranchProtectionEndpoint; + request: ReposUpdateBranchProtectionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#replace-required-status-checks-contexts-of-protected-branch + */ + "PUT /repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts": { + parameters: ReposReplaceProtectedBranchRequiredStatusChecksContextsEndpoint; + request: ReposReplaceProtectedBranchRequiredStatusChecksContextsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#replace-app-restrictions-of-protected-branch + */ + "PUT /repos/:owner/:repo/branches/:branch/protection/restrictions/apps": { + parameters: ReposReplaceProtectedBranchAppRestrictionsEndpoint; + request: ReposReplaceProtectedBranchAppRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#replace-team-restrictions-of-protected-branch + */ + "PUT /repos/:owner/:repo/branches/:branch/protection/restrictions/teams": { + parameters: ReposReplaceProtectedBranchTeamRestrictionsEndpoint; + request: ReposReplaceProtectedBranchTeamRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#replace-user-restrictions-of-protected-branch + */ + "PUT /repos/:owner/:repo/branches/:branch/protection/restrictions/users": { + parameters: ReposReplaceProtectedBranchUserRestrictionsEndpoint; + request: ReposReplaceProtectedBranchUserRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/collaborators/#add-user-as-a-collaborator + */ + "PUT /repos/:owner/:repo/collaborators/:username": { + parameters: ReposAddCollaboratorEndpoint; + request: ReposAddCollaboratorRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/contents/#create-or-update-a-file + */ + "PUT /repos/:owner/:repo/contents/:path": { + parameters: ReposCreateOrUpdateFileEndpoint; + request: ReposCreateOrUpdateFileRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/source_imports/#start-an-import + */ + "PUT /repos/:owner/:repo/import": { + parameters: MigrationsStartImportEndpoint; + request: MigrationsStartImportRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/interactions/repos/#add-or-update-interaction-restrictions-for-a-repository + */ + "PUT /repos/:owner/:repo/interaction-limits": { + parameters: InteractionsAddOrUpdateRestrictionsForRepoEndpoint; + request: InteractionsAddOrUpdateRestrictionsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#replace-all-labels-for-an-issue + */ + "PUT /repos/:owner/:repo/issues/:issue_number/labels": { + parameters: IssuesReplaceAllLabelsEndpoint; + request: IssuesReplaceAllLabelsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/#lock-an-issue + */ + "PUT /repos/:owner/:repo/issues/:issue_number/lock": { + parameters: IssuesLockEndpoint; + request: IssuesLockRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/notifications/#mark-repository-notifications-as-read + */ + "PUT /repos/:owner/:repo/notifications": { + parameters: ActivityMarkRepoNotificationsAsReadEndpoint; + request: ActivityMarkRepoNotificationsAsReadRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/pages/#update-information-about-a-pages-site + */ + "PUT /repos/:owner/:repo/pages": { + parameters: ReposUpdateInformationAboutPagesSiteEndpoint; + request: ReposUpdateInformationAboutPagesSiteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/#merge-a-pull-request-merge-button + */ + "PUT /repos/:owner/:repo/pulls/:pull_number/merge": { + parameters: PullsMergeEndpoint; + request: PullsMergeRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/reviews/#update-a-pull-request-review + */ + "PUT /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id": { + parameters: PullsUpdateReviewEndpoint; + request: PullsUpdateReviewRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/reviews/#dismiss-a-pull-request-review + */ + "PUT /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/dismissals": { + parameters: PullsDismissReviewEndpoint; + request: PullsDismissReviewRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/#update-a-pull-request-branch + */ + "PUT /repos/:owner/:repo/pulls/:pull_number/update-branch": { + parameters: PullsUpdateBranchEndpoint; + request: PullsUpdateBranchRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/watching/#set-a-repository-subscription + */ + "PUT /repos/:owner/:repo/subscription": { + parameters: ActivitySetRepoSubscriptionEndpoint; + request: ActivitySetRepoSubscriptionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#replace-all-repository-topics + */ + "PUT /repos/:owner/:repo/topics": { + parameters: ReposReplaceAllTopicsEndpoint; + request: ReposReplaceAllTopicsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#enable-vulnerability-alerts + */ + "PUT /repos/:owner/:repo/vulnerability-alerts": { + parameters: ReposEnableVulnerabilityAlertsEndpoint; + request: ReposEnableVulnerabilityAlertsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/scim/#replace-a-provisioned-users-information + */ + "PUT /scim/v2/organizations/:org/Users/:scim_user_id": { + parameters: ScimReplaceProvisionedUserInformationEndpoint; + request: ScimReplaceProvisionedUserInformationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#add-team-member-legacy + */ + "PUT /teams/:team_id/members/:username": { + parameters: TeamsAddMemberLegacyEndpoint; + request: TeamsAddMemberLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#add-or-update-team-membership-legacy + */ + "PUT /teams/:team_id/memberships/:username": { + parameters: TeamsAddOrUpdateMembershipLegacyEndpoint; + request: TeamsAddOrUpdateMembershipLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#add-or-update-team-project-legacy + */ + "PUT /teams/:team_id/projects/:project_id": { + parameters: TeamsAddOrUpdateProjectLegacyEndpoint; + request: TeamsAddOrUpdateProjectLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#add-or-update-team-repository-legacy + */ + "PUT /teams/:team_id/repos/:owner/:repo": { + parameters: TeamsAddOrUpdateRepoLegacyEndpoint; + request: TeamsAddOrUpdateRepoLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/blocking/#block-a-user + */ + "PUT /user/blocks/:username": { + parameters: UsersBlockEndpoint; + request: UsersBlockRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/followers/#follow-a-user + */ + "PUT /user/following/:username": { + parameters: UsersFollowEndpoint; + request: UsersFollowRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/installations/#add-repository-to-installation + */ + "PUT /user/installations/:installation_id/repositories/:repository_id": { + parameters: AppsAddRepoToInstallationEndpoint; + request: AppsAddRepoToInstallationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/starring/#star-a-repository-for-the-authenticated-user + */ + "PUT /user/starred/:owner/:repo": { + parameters: ActivityStarRepoForAuthenticatedUserEndpoint; + request: ActivityStarRepoForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/watching/#watch-a-repository-legacy + */ + "PUT /user/subscriptions/:owner/:repo": { + parameters: ActivityWatchRepoLegacyEndpoint; + request: ActivityWatchRepoLegacyRequestOptions; + response: OctokitResponse; + }; +} +declare type AppsGetAuthenticatedEndpoint = {} & RequiredPreview<"machine-man">; +declare type AppsGetAuthenticatedRequestOptions = { + method: "GET"; + url: "/app"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetAuthenticatedResponseDataPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type AppsGetAuthenticatedResponseDataOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type AppsGetAuthenticatedResponseData = { + id: number; + slug: string; + node_id: string; + owner: AppsGetAuthenticatedResponseDataOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: AppsGetAuthenticatedResponseDataPermissions; + events: Array; + installations_count: number; +}; +declare type AppsCreateFromManifestEndpoint = { + /** + * code parameter + */ + code: string; +}; +declare type AppsCreateFromManifestRequestOptions = { + method: "POST"; + url: "/app-manifests/:code/conversions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsCreateFromManifestResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsCreateFromManifestResponseData = { + id: number; + node_id: string; + owner: AppsCreateFromManifestResponseDataOwner; + name: string; + description: null; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + client_id: string; + client_secret: string; + webhook_secret: string; + pem: string; +}; +declare type AppsListInstallationsEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"machine-man">; +declare type AppsListInstallationsRequestOptions = { + method: "GET"; + url: "/app/installations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListInstallationsResponseDataItemPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type AppsListInstallationsResponseDataItemAccount = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type AppsListInstallationsResponseDataItem = { + id: number; + account: AppsListInstallationsResponseDataItemAccount; + access_tokens_url: string; + repositories_url: string; + html_url: string; + app_id: number; + target_id: number; + target_type: string; + permissions: AppsListInstallationsResponseDataItemPermissions; + events: Array; + single_file_name: string; + repository_selection: string; +}; +declare type AppsListInstallationsResponseData = Array; +declare type AppsGetInstallationEndpoint = { + /** + * installation_id parameter + */ + installation_id: number; +} & RequiredPreview<"machine-man">; +declare type AppsGetInstallationRequestOptions = { + method: "GET"; + url: "/app/installations/:installation_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetInstallationResponseDataPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type AppsGetInstallationResponseDataAccount = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type AppsGetInstallationResponseData = { + id: number; + account: AppsGetInstallationResponseDataAccount; + access_tokens_url: string; + repositories_url: string; + html_url: string; + app_id: number; + target_id: number; + target_type: string; + permissions: AppsGetInstallationResponseDataPermissions; + events: Array; + single_file_name: string; + repository_selection: string; +}; +declare type AppsDeleteInstallationEndpoint = { + /** + * installation_id parameter + */ + installation_id: number; +} & RequiredPreview<"machine-man">; +declare type AppsDeleteInstallationRequestOptions = { + method: "DELETE"; + url: "/app/installations/:installation_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsCreateInstallationTokenEndpoint = { + /** + * installation_id parameter + */ + installation_id: number; + /** + * The `id`s of the repositories that the installation token can access. Providing repository `id`s restricts the access of an installation token to specific repositories. You can use the "[List repositories](https://developer.github.com/v3/apps/installations/#list-repositories)" endpoint to get the `id` of all repositories that an installation can access. For example, you can select specific repositories when creating an installation token to restrict the number of repositories that can be cloned using the token. + */ + repository_ids?: number[]; + /** + * The permissions granted to the access token. The permissions object includes the permission names and their access type. For a complete list of permissions and allowable values, see "[GitHub App permissions](https://developer.github.com/apps/building-github-apps/creating-github-apps-using-url-parameters/#github-app-permissions)." + */ + permissions?: AppsCreateInstallationTokenParamsPermissions; +} & RequiredPreview<"machine-man">; +declare type AppsCreateInstallationTokenRequestOptions = { + method: "POST"; + url: "/app/installations/:installation_id/access_tokens"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsCreateInstallationTokenResponseDataRepositoriesItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type AppsCreateInstallationTokenResponseDataRepositoriesItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsCreateInstallationTokenResponseDataRepositoriesItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: AppsCreateInstallationTokenResponseDataRepositoriesItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: AppsCreateInstallationTokenResponseDataRepositoriesItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type AppsCreateInstallationTokenResponseDataPermissions = { + issues: string; + contents: string; +}; +declare type AppsCreateInstallationTokenResponseData = { + token: string; + expires_at: string; + permissions: AppsCreateInstallationTokenResponseDataPermissions; + repositories: Array; +}; +declare type AppsSuspendInstallationEndpoint = { + /** + * installation_id parameter + */ + installation_id: number; +}; +declare type AppsSuspendInstallationRequestOptions = { + method: "PUT"; + url: "/app/installations/:installation_id/suspended"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsUnsuspendInstallationEndpoint = { + /** + * installation_id parameter + */ + installation_id: number; +}; +declare type AppsUnsuspendInstallationRequestOptions = { + method: "DELETE"; + url: "/app/installations/:installation_id/suspended"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OauthAuthorizationsListGrantsEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type OauthAuthorizationsListGrantsRequestOptions = { + method: "GET"; + url: "/applications/grants"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OauthAuthorizationsListGrantsResponseDataItemApp = { + url: string; + name: string; + client_id: string; +}; +declare type OauthAuthorizationsListGrantsResponseDataItem = { + id: number; + url: string; + app: OauthAuthorizationsListGrantsResponseDataItemApp; + created_at: string; + updated_at: string; + scopes: Array; +}; +declare type OauthAuthorizationsListGrantsResponseData = Array; +declare type OauthAuthorizationsGetGrantEndpoint = { + /** + * grant_id parameter + */ + grant_id: number; +}; +declare type OauthAuthorizationsGetGrantRequestOptions = { + method: "GET"; + url: "/applications/grants/:grant_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OauthAuthorizationsGetGrantResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type OauthAuthorizationsGetGrantResponseData = { + id: number; + url: string; + app: OauthAuthorizationsGetGrantResponseDataApp; + created_at: string; + updated_at: string; + scopes: Array; +}; +declare type OauthAuthorizationsDeleteGrantEndpoint = { + /** + * grant_id parameter + */ + grant_id: number; +}; +declare type OauthAuthorizationsDeleteGrantRequestOptions = { + method: "DELETE"; + url: "/applications/grants/:grant_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsDeleteAuthorizationEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * The OAuth access token used to authenticate to the GitHub API. + */ + access_token?: string; +}; +declare type AppsDeleteAuthorizationRequestOptions = { + method: "DELETE"; + url: "/applications/:client_id/grant"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsRevokeGrantForApplicationEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * access_token parameter + */ + access_token: string; +}; +declare type AppsRevokeGrantForApplicationRequestOptions = { + method: "DELETE"; + url: "/applications/:client_id/grants/:access_token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsCheckTokenEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * The OAuth access token used to authenticate to the GitHub API. + */ + access_token?: string; +}; +declare type AppsCheckTokenRequestOptions = { + method: "POST"; + url: "/applications/:client_id/token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsCheckTokenResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsCheckTokenResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type AppsCheckTokenResponseData = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: AppsCheckTokenResponseDataApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; + user: AppsCheckTokenResponseDataUser; +}; +declare type AppsResetTokenEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * The OAuth access token used to authenticate to the GitHub API. + */ + access_token?: string; +}; +declare type AppsResetTokenRequestOptions = { + method: "PATCH"; + url: "/applications/:client_id/token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsResetTokenResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsResetTokenResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type AppsResetTokenResponseData = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: AppsResetTokenResponseDataApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; + user: AppsResetTokenResponseDataUser; +}; +declare type AppsDeleteTokenEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * The OAuth access token used to authenticate to the GitHub API. + */ + access_token?: string; +}; +declare type AppsDeleteTokenRequestOptions = { + method: "DELETE"; + url: "/applications/:client_id/token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsCheckAuthorizationEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * access_token parameter + */ + access_token: string; +}; +declare type AppsCheckAuthorizationRequestOptions = { + method: "GET"; + url: "/applications/:client_id/tokens/:access_token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsCheckAuthorizationResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsCheckAuthorizationResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type AppsCheckAuthorizationResponseData = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: AppsCheckAuthorizationResponseDataApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; + user: AppsCheckAuthorizationResponseDataUser; +}; +declare type AppsResetAuthorizationEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * access_token parameter + */ + access_token: string; +}; +declare type AppsResetAuthorizationRequestOptions = { + method: "POST"; + url: "/applications/:client_id/tokens/:access_token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsResetAuthorizationResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsResetAuthorizationResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type AppsResetAuthorizationResponseData = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: AppsResetAuthorizationResponseDataApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; + user: AppsResetAuthorizationResponseDataUser; +}; +declare type AppsRevokeAuthorizationForApplicationEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * access_token parameter + */ + access_token: string; +}; +declare type AppsRevokeAuthorizationForApplicationRequestOptions = { + method: "DELETE"; + url: "/applications/:client_id/tokens/:access_token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetBySlugEndpoint = { + /** + * app_slug parameter + */ + app_slug: string; +} & RequiredPreview<"machine-man">; +declare type AppsGetBySlugRequestOptions = { + method: "GET"; + url: "/apps/:app_slug"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetBySlugResponseDataPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type AppsGetBySlugResponseDataOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type AppsGetBySlugResponseData = { + id: number; + slug: string; + node_id: string; + owner: AppsGetBySlugResponseDataOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: AppsGetBySlugResponseDataPermissions; + events: Array; +}; +declare type OauthAuthorizationsListAuthorizationsEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type OauthAuthorizationsListAuthorizationsRequestOptions = { + method: "GET"; + url: "/authorizations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OauthAuthorizationsListAuthorizationsResponseDataItemApp = { + url: string; + name: string; + client_id: string; +}; +declare type OauthAuthorizationsListAuthorizationsResponseDataItem = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: OauthAuthorizationsListAuthorizationsResponseDataItemApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; +}; +declare type OauthAuthorizationsListAuthorizationsResponseData = Array; +declare type OauthAuthorizationsCreateAuthorizationEndpoint = { + /** + * A list of scopes that this authorization is in. + */ + scopes?: string[]; + /** + * A note to remind you what the OAuth token is for. Tokens not associated with a specific OAuth application (i.e. personal access tokens) must have a unique note. + */ + note: string; + /** + * A URL to remind you what app the OAuth token is for. + */ + note_url?: string; + /** + * The 20 character OAuth app client key for which to create the token. + */ + client_id?: string; + /** + * The 40 character OAuth app client secret for which to create the token. + */ + client_secret?: string; + /** + * A unique string to distinguish an authorization from others created for the same client ID and user. + */ + fingerprint?: string; +}; +declare type OauthAuthorizationsCreateAuthorizationRequestOptions = { + method: "POST"; + url: "/authorizations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OauthAuthorizationsCreateAuthorizationResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type OauthAuthorizationsCreateAuthorizationResponseData = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: OauthAuthorizationsCreateAuthorizationResponseDataApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; +}; +declare type OauthAuthorizationsGetOrCreateAuthorizationForAppEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * The 40 character OAuth app client secret associated with the client ID specified in the URL. + */ + client_secret: string; + /** + * A list of scopes that this authorization is in. + */ + scopes?: string[]; + /** + * A note to remind you what the OAuth token is for. + */ + note?: string; + /** + * A URL to remind you what app the OAuth token is for. + */ + note_url?: string; + /** + * A unique string to distinguish an authorization from others created for the same client and user. If provided, this API is functionally equivalent to [Get-or-create an authorization for a specific app and fingerprint](https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app-and-fingerprint). + */ + fingerprint?: string; +}; +declare type OauthAuthorizationsGetOrCreateAuthorizationForAppRequestOptions = { + method: "PUT"; + url: "/authorizations/clients/:client_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OauthAuthorizationsGetOrCreateAuthorizationForAppResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type OauthAuthorizationsGetOrCreateAuthorizationForAppResponseData = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: OauthAuthorizationsGetOrCreateAuthorizationForAppResponseDataApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; +}; +declare type OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * fingerprint parameter + */ + fingerprint: string; + /** + * The 40 character OAuth app client secret associated with the client ID specified in the URL. + */ + client_secret: string; + /** + * A list of scopes that this authorization is in. + */ + scopes?: string[]; + /** + * A note to remind you what the OAuth token is for. + */ + note?: string; + /** + * A URL to remind you what app the OAuth token is for. + */ + note_url?: string; +}; +declare type OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintRequestOptions = { + method: "PUT"; + url: "/authorizations/clients/:client_id/:fingerprint"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintResponseData = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintResponseDataApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; +}; +declare type OauthAuthorizationsGetAuthorizationEndpoint = { + /** + * authorization_id parameter + */ + authorization_id: number; +}; +declare type OauthAuthorizationsGetAuthorizationRequestOptions = { + method: "GET"; + url: "/authorizations/:authorization_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OauthAuthorizationsGetAuthorizationResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type OauthAuthorizationsGetAuthorizationResponseData = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: OauthAuthorizationsGetAuthorizationResponseDataApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; +}; +declare type OauthAuthorizationsUpdateAuthorizationEndpoint = { + /** + * authorization_id parameter + */ + authorization_id: number; + /** + * Replaces the authorization scopes with these. + */ + scopes?: string[]; + /** + * A list of scopes to add to this authorization. + */ + add_scopes?: string[]; + /** + * A list of scopes to remove from this authorization. + */ + remove_scopes?: string[]; + /** + * A note to remind you what the OAuth token is for. Tokens not associated with a specific OAuth application (i.e. personal access tokens) must have a unique note. + */ + note?: string; + /** + * A URL to remind you what app the OAuth token is for. + */ + note_url?: string; + /** + * A unique string to distinguish an authorization from others created for the same client ID and user. + */ + fingerprint?: string; +}; +declare type OauthAuthorizationsUpdateAuthorizationRequestOptions = { + method: "PATCH"; + url: "/authorizations/:authorization_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OauthAuthorizationsUpdateAuthorizationResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type OauthAuthorizationsUpdateAuthorizationResponseData = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: OauthAuthorizationsUpdateAuthorizationResponseDataApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; +}; +declare type OauthAuthorizationsDeleteAuthorizationEndpoint = { + /** + * authorization_id parameter + */ + authorization_id: number; +}; +declare type OauthAuthorizationsDeleteAuthorizationRequestOptions = { + method: "DELETE"; + url: "/authorizations/:authorization_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type CodesOfConductGetAllCodesOfConductEndpoint = {} & RequiredPreview<"scarlet-witch">; +declare type CodesOfConductGetAllCodesOfConductRequestOptions = { + method: "GET"; + url: "/codes_of_conduct"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type CodesOfConductGetAllCodesOfConductResponseDataItem = { + key: string; + name: string; + url: string; +}; +declare type CodesOfConductGetAllCodesOfConductResponseData = Array; +declare type CodesOfConductGetConductCodeEndpoint = { + /** + * key parameter + */ + key: string; +} & RequiredPreview<"scarlet-witch">; +declare type CodesOfConductGetConductCodeRequestOptions = { + method: "GET"; + url: "/codes_of_conduct/:key"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type CodesOfConductGetConductCodeResponseData = { + key: string; + name: string; + url: string; + body: string; +}; +declare type AppsCreateContentAttachmentEndpoint = { + /** + * content_reference_id parameter + */ + content_reference_id: number; + /** + * The title of the content attachment displayed in the body or comment of an issue or pull request. + */ + title: string; + /** + * The body text of the content attachment displayed in the body or comment of an issue or pull request. This parameter supports markdown. + */ + body: string; +} & RequiredPreview<"corsair">; +declare type AppsCreateContentAttachmentRequestOptions = { + method: "POST"; + url: "/content_references/:content_reference_id/attachments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsCreateContentAttachmentResponseData = { + id: number; + title: string; + body: string; +}; +declare type EmojisGetEndpoint = {}; +declare type EmojisGetRequestOptions = { + method: "GET"; + url: "/emojis"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListPublicEventsEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListPublicEventsRequestOptions = { + method: "GET"; + url: "/events"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityGetFeedsEndpoint = {}; +declare type ActivityGetFeedsRequestOptions = { + method: "GET"; + url: "/feeds"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityGetFeedsResponseDataLinksSecurityAdvisories = { + href: string; + type: string; +}; +declare type ActivityGetFeedsResponseDataLinksCurrentUserOrganizationsItem = { + href: string; + type: string; +}; +declare type ActivityGetFeedsResponseDataLinksCurrentUserOrganization = { + href: string; + type: string; +}; +declare type ActivityGetFeedsResponseDataLinksCurrentUserActor = { + href: string; + type: string; +}; +declare type ActivityGetFeedsResponseDataLinksCurrentUser = { + href: string; + type: string; +}; +declare type ActivityGetFeedsResponseDataLinksCurrentUserPublic = { + href: string; + type: string; +}; +declare type ActivityGetFeedsResponseDataLinksUser = { + href: string; + type: string; +}; +declare type ActivityGetFeedsResponseDataLinksTimeline = { + href: string; + type: string; +}; +declare type ActivityGetFeedsResponseDataLinks = { + timeline: ActivityGetFeedsResponseDataLinksTimeline; + user: ActivityGetFeedsResponseDataLinksUser; + current_user_public: ActivityGetFeedsResponseDataLinksCurrentUserPublic; + current_user: ActivityGetFeedsResponseDataLinksCurrentUser; + current_user_actor: ActivityGetFeedsResponseDataLinksCurrentUserActor; + current_user_organization: ActivityGetFeedsResponseDataLinksCurrentUserOrganization; + current_user_organizations: Array; + security_advisories: ActivityGetFeedsResponseDataLinksSecurityAdvisories; +}; +declare type ActivityGetFeedsResponseData = { + timeline_url: string; + user_url: string; + current_user_public_url: string; + current_user_url: string; + current_user_actor_url: string; + current_user_organization_url: string; + current_user_organization_urls: Array; + security_advisories_url: string; + _links: ActivityGetFeedsResponseDataLinks; +}; +declare type GistsListEndpoint = { + /** + * This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Only gists updated at or after this time are returned. + */ + since?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type GistsListRequestOptions = { + method: "GET"; + url: "/gists"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsListResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsListResponseDataItemFilesHelloWorldRb = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; +}; +declare type GistsListResponseDataItemFiles = { + "hello_world.rb": GistsListResponseDataItemFilesHelloWorldRb; +}; +declare type GistsListResponseDataItem = { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: GistsListResponseDataItemFiles; + public: boolean; + created_at: string; + updated_at: string; + description: string; + comments: number; + user: null; + comments_url: string; + owner: GistsListResponseDataItemOwner; + truncated: boolean; +}; +declare type GistsListResponseData = Array; +declare type GistsCreateEndpoint = { + /** + * The filenames and content of each file in the gist. The keys in the `files` object represent the filename and have the type `string`. + */ + files: GistsCreateParamsFiles; + /** + * A descriptive name for this gist. + */ + description?: string; + /** + * When `true`, the gist will be public and available for anyone to see. + */ + public?: boolean; +}; +declare type GistsCreateRequestOptions = { + method: "POST"; + url: "/gists"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsCreateResponseDataHistoryItemChangeStatus = { + deletions: number; + additions: number; + total: number; +}; +declare type GistsCreateResponseDataHistoryItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsCreateResponseDataHistoryItem = { + url: string; + version: string; + user: GistsCreateResponseDataHistoryItemUser; + change_status: GistsCreateResponseDataHistoryItemChangeStatus; + committed_at: string; +}; +declare type GistsCreateResponseDataForksItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsCreateResponseDataForksItem = { + user: GistsCreateResponseDataForksItemUser; + url: string; + id: string; + created_at: string; + updated_at: string; +}; +declare type GistsCreateResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsCreateResponseDataFilesHelloWorldPythonTxt = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsCreateResponseDataFilesHelloWorldRubyTxt = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsCreateResponseDataFilesHelloWorldPy = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsCreateResponseDataFilesHelloWorldRb = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsCreateResponseDataFiles = { + "hello_world.rb": GistsCreateResponseDataFilesHelloWorldRb; + "hello_world.py": GistsCreateResponseDataFilesHelloWorldPy; + "hello_world_ruby.txt": GistsCreateResponseDataFilesHelloWorldRubyTxt; + "hello_world_python.txt": GistsCreateResponseDataFilesHelloWorldPythonTxt; +}; +declare type GistsCreateResponseData = { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: GistsCreateResponseDataFiles; + public: boolean; + created_at: string; + updated_at: string; + description: string; + comments: number; + user: null; + comments_url: string; + owner: GistsCreateResponseDataOwner; + truncated: boolean; + forks: Array; + history: Array; +}; +declare type GistsListPublicEndpoint = { + /** + * This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Only gists updated at or after this time are returned. + */ + since?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type GistsListPublicRequestOptions = { + method: "GET"; + url: "/gists/public"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsListPublicResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsListPublicResponseDataItemFilesHelloWorldRb = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; +}; +declare type GistsListPublicResponseDataItemFiles = { + "hello_world.rb": GistsListPublicResponseDataItemFilesHelloWorldRb; +}; +declare type GistsListPublicResponseDataItem = { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: GistsListPublicResponseDataItemFiles; + public: boolean; + created_at: string; + updated_at: string; + description: string; + comments: number; + user: null; + comments_url: string; + owner: GistsListPublicResponseDataItemOwner; + truncated: boolean; +}; +declare type GistsListPublicResponseData = Array; +declare type GistsListStarredEndpoint = { + /** + * This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Only gists updated at or after this time are returned. + */ + since?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type GistsListStarredRequestOptions = { + method: "GET"; + url: "/gists/starred"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsListStarredResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsListStarredResponseDataItemFilesHelloWorldRb = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; +}; +declare type GistsListStarredResponseDataItemFiles = { + "hello_world.rb": GistsListStarredResponseDataItemFilesHelloWorldRb; +}; +declare type GistsListStarredResponseDataItem = { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: GistsListStarredResponseDataItemFiles; + public: boolean; + created_at: string; + updated_at: string; + description: string; + comments: number; + user: null; + comments_url: string; + owner: GistsListStarredResponseDataItemOwner; + truncated: boolean; +}; +declare type GistsListStarredResponseData = Array; +declare type GistsGetEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; +}; +declare type GistsGetRequestOptions = { + method: "GET"; + url: "/gists/:gist_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsGetResponseDataHistoryItemChangeStatus = { + deletions: number; + additions: number; + total: number; +}; +declare type GistsGetResponseDataHistoryItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsGetResponseDataHistoryItem = { + url: string; + version: string; + user: GistsGetResponseDataHistoryItemUser; + change_status: GistsGetResponseDataHistoryItemChangeStatus; + committed_at: string; +}; +declare type GistsGetResponseDataForksItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsGetResponseDataForksItem = { + user: GistsGetResponseDataForksItemUser; + url: string; + id: string; + created_at: string; + updated_at: string; +}; +declare type GistsGetResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsGetResponseDataFilesHelloWorldPythonTxt = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsGetResponseDataFilesHelloWorldRubyTxt = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsGetResponseDataFilesHelloWorldPy = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsGetResponseDataFilesHelloWorldRb = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsGetResponseDataFiles = { + "hello_world.rb": GistsGetResponseDataFilesHelloWorldRb; + "hello_world.py": GistsGetResponseDataFilesHelloWorldPy; + "hello_world_ruby.txt": GistsGetResponseDataFilesHelloWorldRubyTxt; + "hello_world_python.txt": GistsGetResponseDataFilesHelloWorldPythonTxt; +}; +declare type GistsGetResponseData = { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: GistsGetResponseDataFiles; + public: boolean; + created_at: string; + updated_at: string; + description: string; + comments: number; + user: null; + comments_url: string; + owner: GistsGetResponseDataOwner; + truncated: boolean; + forks: Array; + history: Array; +}; +declare type GistsUpdateEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; + /** + * A descriptive name for this gist. + */ + description?: string; + /** + * The filenames and content that make up this gist. + */ + files?: GistsUpdateParamsFiles; +}; +declare type GistsUpdateRequestOptions = { + method: "PATCH"; + url: "/gists/:gist_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsUpdateResponseDataHistoryItemChangeStatus = { + deletions: number; + additions: number; + total: number; +}; +declare type GistsUpdateResponseDataHistoryItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsUpdateResponseDataHistoryItem = { + url: string; + version: string; + user: GistsUpdateResponseDataHistoryItemUser; + change_status: GistsUpdateResponseDataHistoryItemChangeStatus; + committed_at: string; +}; +declare type GistsUpdateResponseDataForksItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsUpdateResponseDataForksItem = { + user: GistsUpdateResponseDataForksItemUser; + url: string; + id: string; + created_at: string; + updated_at: string; +}; +declare type GistsUpdateResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsUpdateResponseDataFilesNewFileTxt = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsUpdateResponseDataFilesHelloWorldMd = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsUpdateResponseDataFilesHelloWorldPy = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsUpdateResponseDataFilesHelloWorldRb = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsUpdateResponseDataFiles = { + "hello_world.rb": GistsUpdateResponseDataFilesHelloWorldRb; + "hello_world.py": GistsUpdateResponseDataFilesHelloWorldPy; + "hello_world.md": GistsUpdateResponseDataFilesHelloWorldMd; + "new_file.txt": GistsUpdateResponseDataFilesNewFileTxt; +}; +declare type GistsUpdateResponseData = { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: GistsUpdateResponseDataFiles; + public: boolean; + created_at: string; + updated_at: string; + description: string; + comments: number; + user: null; + comments_url: string; + owner: GistsUpdateResponseDataOwner; + truncated: boolean; + forks: Array; + history: Array; +}; +declare type GistsDeleteEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; +}; +declare type GistsDeleteRequestOptions = { + method: "DELETE"; + url: "/gists/:gist_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsListCommentsEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type GistsListCommentsRequestOptions = { + method: "GET"; + url: "/gists/:gist_id/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsListCommentsResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsListCommentsResponseDataItem = { + id: number; + node_id: string; + url: string; + body: string; + user: GistsListCommentsResponseDataItemUser; + created_at: string; + updated_at: string; +}; +declare type GistsListCommentsResponseData = Array; +declare type GistsCreateCommentEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; + /** + * The comment text. + */ + body: string; +}; +declare type GistsCreateCommentRequestOptions = { + method: "POST"; + url: "/gists/:gist_id/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsCreateCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsCreateCommentResponseData = { + id: number; + node_id: string; + url: string; + body: string; + user: GistsCreateCommentResponseDataUser; + created_at: string; + updated_at: string; +}; +declare type GistsGetCommentEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; + /** + * comment_id parameter + */ + comment_id: number; +}; +declare type GistsGetCommentRequestOptions = { + method: "GET"; + url: "/gists/:gist_id/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsGetCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsGetCommentResponseData = { + id: number; + node_id: string; + url: string; + body: string; + user: GistsGetCommentResponseDataUser; + created_at: string; + updated_at: string; +}; +declare type GistsUpdateCommentEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * The comment text. + */ + body: string; +}; +declare type GistsUpdateCommentRequestOptions = { + method: "PATCH"; + url: "/gists/:gist_id/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsUpdateCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsUpdateCommentResponseData = { + id: number; + node_id: string; + url: string; + body: string; + user: GistsUpdateCommentResponseDataUser; + created_at: string; + updated_at: string; +}; +declare type GistsDeleteCommentEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; + /** + * comment_id parameter + */ + comment_id: number; +}; +declare type GistsDeleteCommentRequestOptions = { + method: "DELETE"; + url: "/gists/:gist_id/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsListCommitsEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type GistsListCommitsRequestOptions = { + method: "GET"; + url: "/gists/:gist_id/commits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsListCommitsResponseDataItemChangeStatus = { + deletions: number; + additions: number; + total: number; +}; +declare type GistsListCommitsResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsListCommitsResponseDataItem = { + url: string; + version: string; + user: GistsListCommitsResponseDataItemUser; + change_status: GistsListCommitsResponseDataItemChangeStatus; + committed_at: string; +}; +declare type GistsListCommitsResponseData = Array; +declare type GistsForkEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; +}; +declare type GistsForkRequestOptions = { + method: "POST"; + url: "/gists/:gist_id/forks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsForkResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsForkResponseDataFilesHelloWorldRb = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; +}; +declare type GistsForkResponseDataFiles = { + "hello_world.rb": GistsForkResponseDataFilesHelloWorldRb; +}; +declare type GistsForkResponseData = { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: GistsForkResponseDataFiles; + public: boolean; + created_at: string; + updated_at: string; + description: string; + comments: number; + user: null; + comments_url: string; + owner: GistsForkResponseDataOwner; + truncated: boolean; +}; +declare type GistsListForksEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type GistsListForksRequestOptions = { + method: "GET"; + url: "/gists/:gist_id/forks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsListForksResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsListForksResponseDataItem = { + user: GistsListForksResponseDataItemUser; + url: string; + id: string; + created_at: string; + updated_at: string; +}; +declare type GistsListForksResponseData = Array; +declare type GistsStarEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; +}; +declare type GistsStarRequestOptions = { + method: "PUT"; + url: "/gists/:gist_id/star"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsUnstarEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; +}; +declare type GistsUnstarRequestOptions = { + method: "DELETE"; + url: "/gists/:gist_id/star"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsCheckIsStarredEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; +}; +declare type GistsCheckIsStarredRequestOptions = { + method: "GET"; + url: "/gists/:gist_id/star"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsGetRevisionEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; + /** + * sha parameter + */ + sha: string; +}; +declare type GistsGetRevisionRequestOptions = { + method: "GET"; + url: "/gists/:gist_id/:sha"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsGetRevisionResponseDataHistoryItemChangeStatus = { + deletions: number; + additions: number; + total: number; +}; +declare type GistsGetRevisionResponseDataHistoryItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsGetRevisionResponseDataHistoryItem = { + url: string; + version: string; + user: GistsGetRevisionResponseDataHistoryItemUser; + change_status: GistsGetRevisionResponseDataHistoryItemChangeStatus; + committed_at: string; +}; +declare type GistsGetRevisionResponseDataForksItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsGetRevisionResponseDataForksItem = { + user: GistsGetRevisionResponseDataForksItemUser; + url: string; + id: string; + created_at: string; + updated_at: string; +}; +declare type GistsGetRevisionResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsGetRevisionResponseDataFilesHelloWorldPythonTxt = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsGetRevisionResponseDataFilesHelloWorldRubyTxt = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsGetRevisionResponseDataFilesHelloWorldPy = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsGetRevisionResponseDataFilesHelloWorldRb = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsGetRevisionResponseDataFiles = { + "hello_world.rb": GistsGetRevisionResponseDataFilesHelloWorldRb; + "hello_world.py": GistsGetRevisionResponseDataFilesHelloWorldPy; + "hello_world_ruby.txt": GistsGetRevisionResponseDataFilesHelloWorldRubyTxt; + "hello_world_python.txt": GistsGetRevisionResponseDataFilesHelloWorldPythonTxt; +}; +declare type GistsGetRevisionResponseData = { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: GistsGetRevisionResponseDataFiles; + public: boolean; + created_at: string; + updated_at: string; + description: string; + comments: number; + user: null; + comments_url: string; + owner: GistsGetRevisionResponseDataOwner; + truncated: boolean; + forks: Array; + history: Array; +}; +declare type GitignoreListTemplatesEndpoint = {}; +declare type GitignoreListTemplatesRequestOptions = { + method: "GET"; + url: "/gitignore/templates"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitignoreListTemplatesResponseData = Array; +declare type GitignoreGetTemplateEndpoint = { + /** + * name parameter + */ + name: string; +}; +declare type GitignoreGetTemplateRequestOptions = { + method: "GET"; + url: "/gitignore/templates/:name"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitignoreGetTemplateResponseData = { + name: string; + source: string; +}; +declare type AppsListReposEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"machine-man">; +declare type AppsListReposRequestOptions = { + method: "GET"; + url: "/installation/repositories"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListReposResponseDataRepositoriesItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsListReposResponseDataRepositoriesItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: AppsListReposResponseDataRepositoriesItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type AppsListReposResponseData = { + total_count: number; + repositories: Array; +}; +declare type AppsRevokeInstallationTokenEndpoint = {}; +declare type AppsRevokeInstallationTokenRequestOptions = { + method: "DELETE"; + url: "/installation/token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListEndpoint = { + /** + * Indicates which sorts of issues to return. Can be one of: + * \* `assigned`: Issues assigned to you + * \* `created`: Issues created by you + * \* `mentioned`: Issues mentioning you + * \* `subscribed`: Issues you're subscribed to updates for + * \* `all`: All issues the authenticated user can see, regardless of participation or creation + */ + filter?: "assigned" | "created" | "mentioned" | "subscribed" | "all"; + /** + * Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + /** + * A list of comma separated label names. Example: `bug,ui,@high` + */ + labels?: string; + /** + * What to sort results by. Can be either `created`, `updated`, `comments`. + */ + sort?: "created" | "updated" | "comments"; + /** + * The direction of the sort. Can be either `asc` or `desc`. + */ + direction?: "asc" | "desc"; + /** + * Only issues updated at or after this time are returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type IssuesListRequestOptions = { + method: "GET"; + url: "/issues"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListResponseDataItemRepositoryPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type IssuesListResponseDataItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListResponseDataItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: IssuesListResponseDataItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: IssuesListResponseDataItemRepositoryPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type IssuesListResponseDataItemPullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesListResponseDataItemMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListResponseDataItemMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesListResponseDataItemMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesListResponseDataItemAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListResponseDataItemAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListResponseDataItemLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesListResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListResponseDataItem = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesListResponseDataItemUser; + labels: Array; + assignee: IssuesListResponseDataItemAssignee; + assignees: Array; + milestone: IssuesListResponseDataItemMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesListResponseDataItemPullRequest; + closed_at: null; + created_at: string; + updated_at: string; + repository: IssuesListResponseDataItemRepository; +}; +declare type IssuesListResponseData = Array; +declare type SearchIssuesLegacyEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repository parameter + */ + repository: string; + /** + * Indicates the state of the issues to return. Can be either `open` or `closed`. + */ + state: "open" | "closed"; + /** + * The search term. + */ + keyword: string; +}; +declare type SearchIssuesLegacyRequestOptions = { + method: "GET"; + url: "/legacy/issues/search/:owner/:repository/:state/:keyword"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchIssuesLegacyResponseDataIssuesItem = { + gravatar_id: string; + position: number; + number: number; + votes: number; + created_at: string; + comments: number; + body: string; + title: string; + updated_at: string; + html_url: string; + user: string; + labels: Array; + state: string; +}; +declare type SearchIssuesLegacyResponseData = { + issues: Array; +}; +declare type SearchReposLegacyEndpoint = { + /** + * The search term. + */ + keyword: string; + /** + * Filter results by language. + */ + language?: string; + /** + * The page number to fetch. + */ + start_page?: string; + /** + * The sort field. One of `stars`, `forks`, or `updated`. Default: results are sorted by best match. + */ + sort?: "stars" | "forks" | "updated"; + /** + * The sort field. if `sort` param is provided. Can be either `asc` or `desc`. + */ + order?: "asc" | "desc"; +}; +declare type SearchReposLegacyRequestOptions = { + method: "GET"; + url: "/legacy/repos/search/:keyword"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchReposLegacyResponseDataRepositoriesItem = { + type: string; + created: string; + watchers: number; + has_downloads: boolean; + username: string; + homepage: string; + url: string; + fork: boolean; + has_issues: boolean; + has_wiki: boolean; + forks: number; + size: number; + private: boolean; + followers: number; + name: string; + owner: string; + open_issues: number; + pushed_at: string; + score: number; + pushed: string; + description: string; + language: string; + created_at: string; +}; +declare type SearchReposLegacyResponseData = { + repositories: Array; +}; +declare type SearchEmailLegacyEndpoint = { + /** + * The email address. + */ + email: string; +}; +declare type SearchEmailLegacyRequestOptions = { + method: "GET"; + url: "/legacy/user/email/:email"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchEmailLegacyResponseDataUser = { + public_repo_count: number; + public_gist_count: number; + followers_count: number; + following_count: number; + created: string; + created_at: string; + name: string; + company: string; + blog: string; + location: string; + email: string; + id: number; + login: string; + type: string; + gravatar_id: string; +}; +declare type SearchEmailLegacyResponseData = { + user: SearchEmailLegacyResponseDataUser; +}; +declare type SearchUsersLegacyEndpoint = { + /** + * The search term. + */ + keyword: string; + /** + * The page number to fetch. + */ + start_page?: string; + /** + * The sort field. One of `stars`, `forks`, or `updated`. Default: results are sorted by best match. + */ + sort?: "stars" | "forks" | "updated"; + /** + * The sort field. if `sort` param is provided. Can be either `asc` or `desc`. + */ + order?: "asc" | "desc"; +}; +declare type SearchUsersLegacyRequestOptions = { + method: "GET"; + url: "/legacy/user/search/:keyword"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchUsersLegacyResponseDataUsersItem = { + gravatar_id: string; + name: string; + created_at: string; + location: string; + public_repo_count: number; + followers: number; + language: string; + fullname: string; + username: string; + id: string; + repos: number; + type: string; + followers_count: number; + login: string; + score: number; + created: string; +}; +declare type SearchUsersLegacyResponseData = { + users: Array; +}; +declare type LicensesListCommonlyUsedEndpoint = {}; +declare type LicensesListCommonlyUsedRequestOptions = { + method: "GET"; + url: "/licenses"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type LicensesListCommonlyUsedResponseDataItem = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id?: string; +}; +declare type LicensesListCommonlyUsedResponseData = Array; +declare type LicensesGetEndpoint = { + /** + * license parameter + */ + license: string; +}; +declare type LicensesGetRequestOptions = { + method: "GET"; + url: "/licenses/:license"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type LicensesGetResponseData = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; + html_url: string; + description: string; + implementation: string; + permissions: Array; + conditions: Array; + limitations: Array; + body: string; + featured: boolean; +}; +declare type MarkdownRenderEndpoint = { + /** + * The Markdown text to render in HTML. Markdown content must be 400 KB or less. + */ + text: string; + /** + * The rendering mode. Can be either: + * \* `markdown` to render a document in plain Markdown, just like README.md files are rendered. + * \* `gfm` to render a document in [GitHub Flavored Markdown](https://github.github.com/gfm/), which creates links for user mentions as well as references to SHA-1 hashes, issues, and pull requests. + */ + mode?: "markdown" | "gfm"; + /** + * The repository context to use when creating references in `gfm` mode. Omit this parameter when using `markdown` mode. + */ + context?: string; +}; +declare type MarkdownRenderRequestOptions = { + method: "POST"; + url: "/markdown"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MarkdownRenderRawEndpoint = { + /** + * data parameter + */ + data: string; +} & { + headers: { + "content-type": "text/plain; charset=utf-8"; + }; +}; +declare type MarkdownRenderRawRequestOptions = { + method: "POST"; + url: "/markdown/raw"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetSubscriptionPlanForAccountEndpoint = { + /** + * account_id parameter + */ + account_id: number; +}; +declare type AppsGetSubscriptionPlanForAccountRequestOptions = { + method: "GET"; + url: "/marketplace_listing/accounts/:account_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetSubscriptionPlanForAccountResponseDataMarketplacePurchasePlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + unit_name: null; + state: string; + bullets: Array; +}; +declare type AppsGetSubscriptionPlanForAccountResponseDataMarketplacePurchase = { + billing_cycle: string; + next_billing_date: string; + unit_count: null; + on_free_trial: boolean; + free_trial_ends_on: string; + updated_at: string; + plan: AppsGetSubscriptionPlanForAccountResponseDataMarketplacePurchasePlan; +}; +declare type AppsGetSubscriptionPlanForAccountResponseDataMarketplacePendingChangePlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + state: string; + unit_name: null; + bullets: Array; +}; +declare type AppsGetSubscriptionPlanForAccountResponseDataMarketplacePendingChange = { + effective_date: string; + unit_count: null; + id: number; + plan: AppsGetSubscriptionPlanForAccountResponseDataMarketplacePendingChangePlan; +}; +declare type AppsGetSubscriptionPlanForAccountResponseData = { + url: string; + type: string; + id: number; + login: string; + email: null; + organization_billing_email: string; + marketplace_pending_change: AppsGetSubscriptionPlanForAccountResponseDataMarketplacePendingChange; + marketplace_purchase: AppsGetSubscriptionPlanForAccountResponseDataMarketplacePurchase; +}; +declare type AppsListPlansEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type AppsListPlansRequestOptions = { + method: "GET"; + url: "/marketplace_listing/plans"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListPlansResponseDataItem = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + unit_name: null; + state: string; + bullets: Array; +}; +declare type AppsListPlansResponseData = Array; +declare type AppsListAccountsForPlanEndpoint = { + /** + * plan_id parameter + */ + plan_id: number; + /** + * Sorts the GitHub accounts by the date they were created or last updated. Can be one of `created` or `updated`. + */ + sort?: "created" | "updated"; + /** + * To return the oldest accounts first, set to `asc`. Can be one of `asc` or `desc`. Ignored without the `sort` parameter. + */ + direction?: "asc" | "desc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type AppsListAccountsForPlanRequestOptions = { + method: "GET"; + url: "/marketplace_listing/plans/:plan_id/accounts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListAccountsForPlanResponseDataItemMarketplacePurchasePlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + unit_name: null; + state: string; + bullets: Array; +}; +declare type AppsListAccountsForPlanResponseDataItemMarketplacePurchase = { + billing_cycle: string; + next_billing_date: string; + unit_count: null; + on_free_trial: boolean; + free_trial_ends_on: string; + updated_at: string; + plan: AppsListAccountsForPlanResponseDataItemMarketplacePurchasePlan; +}; +declare type AppsListAccountsForPlanResponseDataItemMarketplacePendingChangePlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + state: string; + unit_name: null; + bullets: Array; +}; +declare type AppsListAccountsForPlanResponseDataItemMarketplacePendingChange = { + effective_date: string; + unit_count: null; + id: number; + plan: AppsListAccountsForPlanResponseDataItemMarketplacePendingChangePlan; +}; +declare type AppsListAccountsForPlanResponseDataItem = { + url: string; + type: string; + id: number; + login: string; + email: null; + organization_billing_email: string; + marketplace_pending_change: AppsListAccountsForPlanResponseDataItemMarketplacePendingChange; + marketplace_purchase: AppsListAccountsForPlanResponseDataItemMarketplacePurchase; +}; +declare type AppsListAccountsForPlanResponseData = Array; +declare type AppsGetSubscriptionPlanForAccountStubbedEndpoint = { + /** + * account_id parameter + */ + account_id: number; +}; +declare type AppsGetSubscriptionPlanForAccountStubbedRequestOptions = { + method: "GET"; + url: "/marketplace_listing/stubbed/accounts/:account_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetSubscriptionPlanForAccountStubbedResponseDataMarketplacePurchasePlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + unit_name: null; + state: string; + bullets: Array; +}; +declare type AppsGetSubscriptionPlanForAccountStubbedResponseDataMarketplacePurchase = { + billing_cycle: string; + next_billing_date: string; + unit_count: null; + on_free_trial: boolean; + free_trial_ends_on: string; + updated_at: string; + plan: AppsGetSubscriptionPlanForAccountStubbedResponseDataMarketplacePurchasePlan; +}; +declare type AppsGetSubscriptionPlanForAccountStubbedResponseDataMarketplacePendingChangePlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + state: string; + unit_name: null; + bullets: Array; +}; +declare type AppsGetSubscriptionPlanForAccountStubbedResponseDataMarketplacePendingChange = { + effective_date: string; + unit_count: null; + id: number; + plan: AppsGetSubscriptionPlanForAccountStubbedResponseDataMarketplacePendingChangePlan; +}; +declare type AppsGetSubscriptionPlanForAccountStubbedResponseData = { + url: string; + type: string; + id: number; + login: string; + email: null; + organization_billing_email: string; + marketplace_pending_change: AppsGetSubscriptionPlanForAccountStubbedResponseDataMarketplacePendingChange; + marketplace_purchase: AppsGetSubscriptionPlanForAccountStubbedResponseDataMarketplacePurchase; +}; +declare type AppsListPlansStubbedEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type AppsListPlansStubbedRequestOptions = { + method: "GET"; + url: "/marketplace_listing/stubbed/plans"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListPlansStubbedResponseDataItem = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + unit_name: null; + state: string; + bullets: Array; +}; +declare type AppsListPlansStubbedResponseData = Array; +declare type AppsListAccountsForPlanStubbedEndpoint = { + /** + * plan_id parameter + */ + plan_id: number; + /** + * Sorts the GitHub accounts by the date they were created or last updated. Can be one of `created` or `updated`. + */ + sort?: "created" | "updated"; + /** + * To return the oldest accounts first, set to `asc`. Can be one of `asc` or `desc`. Ignored without the `sort` parameter. + */ + direction?: "asc" | "desc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type AppsListAccountsForPlanStubbedRequestOptions = { + method: "GET"; + url: "/marketplace_listing/stubbed/plans/:plan_id/accounts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListAccountsForPlanStubbedResponseDataItemMarketplacePurchasePlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + unit_name: null; + state: string; + bullets: Array; +}; +declare type AppsListAccountsForPlanStubbedResponseDataItemMarketplacePurchase = { + billing_cycle: string; + next_billing_date: string; + unit_count: null; + on_free_trial: boolean; + free_trial_ends_on: string; + updated_at: string; + plan: AppsListAccountsForPlanStubbedResponseDataItemMarketplacePurchasePlan; +}; +declare type AppsListAccountsForPlanStubbedResponseDataItemMarketplacePendingChangePlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + state: string; + unit_name: null; + bullets: Array; +}; +declare type AppsListAccountsForPlanStubbedResponseDataItemMarketplacePendingChange = { + effective_date: string; + unit_count: null; + id: number; + plan: AppsListAccountsForPlanStubbedResponseDataItemMarketplacePendingChangePlan; +}; +declare type AppsListAccountsForPlanStubbedResponseDataItem = { + url: string; + type: string; + id: number; + login: string; + email: null; + organization_billing_email: string; + marketplace_pending_change: AppsListAccountsForPlanStubbedResponseDataItemMarketplacePendingChange; + marketplace_purchase: AppsListAccountsForPlanStubbedResponseDataItemMarketplacePurchase; +}; +declare type AppsListAccountsForPlanStubbedResponseData = Array; +declare type MetaGetEndpoint = {}; +declare type MetaGetRequestOptions = { + method: "GET"; + url: "/meta"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MetaGetResponseDataSshKeyFingerprints = { + MD5_RSA: string; + MD5_DSA: string; + SHA256_RSA: string; + SHA256_DSA: string; +}; +declare type MetaGetResponseData = { + verifiable_password_authentication: boolean; + ssh_key_fingerprints: MetaGetResponseDataSshKeyFingerprints; + hooks: Array; + web: Array; + api: Array; + git: Array; + pages: Array; + importer: Array; +}; +declare type ActivityListPublicEventsForRepoNetworkEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListPublicEventsForRepoNetworkRequestOptions = { + method: "GET"; + url: "/networks/:owner/:repo/events"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListNotificationsForAuthenticatedUserEndpoint = { + /** + * If `true`, show notifications marked as read. + */ + all?: boolean; + /** + * If `true`, only shows notifications in which the user is directly participating or mentioned. + */ + participating?: boolean; + /** + * Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; + /** + * Only show notifications updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + before?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListNotificationsForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/notifications"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListNotificationsForAuthenticatedUserResponseDataItemSubject = { + title: string; + url: string; + latest_comment_url: string; + type: string; +}; +declare type ActivityListNotificationsForAuthenticatedUserResponseDataItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActivityListNotificationsForAuthenticatedUserResponseDataItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActivityListNotificationsForAuthenticatedUserResponseDataItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ActivityListNotificationsForAuthenticatedUserResponseDataItem = { + id: string; + repository: ActivityListNotificationsForAuthenticatedUserResponseDataItemRepository; + subject: ActivityListNotificationsForAuthenticatedUserResponseDataItemSubject; + reason: string; + unread: boolean; + updated_at: string; + last_read_at: string; + url: string; +}; +declare type ActivityListNotificationsForAuthenticatedUserResponseData = Array; +declare type ActivityMarkNotificationsAsReadEndpoint = { + /** + * Describes the last point that notifications were checked. Anything updated since this time will not be marked as read. If you omit this parameter, all notifications are marked as read. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp. + */ + last_read_at?: string; +}; +declare type ActivityMarkNotificationsAsReadRequestOptions = { + method: "PUT"; + url: "/notifications"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityGetThreadEndpoint = { + /** + * thread_id parameter + */ + thread_id: number; +}; +declare type ActivityGetThreadRequestOptions = { + method: "GET"; + url: "/notifications/threads/:thread_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityGetThreadResponseDataSubject = { + title: string; + url: string; + latest_comment_url: string; + type: string; +}; +declare type ActivityGetThreadResponseDataRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActivityGetThreadResponseDataRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActivityGetThreadResponseDataRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ActivityGetThreadResponseData = { + id: string; + repository: ActivityGetThreadResponseDataRepository; + subject: ActivityGetThreadResponseDataSubject; + reason: string; + unread: boolean; + updated_at: string; + last_read_at: string; + url: string; +}; +declare type ActivityMarkThreadAsReadEndpoint = { + /** + * thread_id parameter + */ + thread_id: number; +}; +declare type ActivityMarkThreadAsReadRequestOptions = { + method: "PATCH"; + url: "/notifications/threads/:thread_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityGetThreadSubscriptionForAuthenticatedUserEndpoint = { + /** + * thread_id parameter + */ + thread_id: number; +}; +declare type ActivityGetThreadSubscriptionForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/notifications/threads/:thread_id/subscription"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityGetThreadSubscriptionForAuthenticatedUserResponseData = { + subscribed: boolean; + ignored: boolean; + reason: null; + created_at: string; + url: string; + thread_url: string; +}; +declare type ActivitySetThreadSubscriptionEndpoint = { + /** + * thread_id parameter + */ + thread_id: number; + /** + * Unsubscribes and subscribes you to a conversation. Set `ignored` to `true` to block all notifications from this thread. + */ + ignored?: boolean; +}; +declare type ActivitySetThreadSubscriptionRequestOptions = { + method: "PUT"; + url: "/notifications/threads/:thread_id/subscription"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivitySetThreadSubscriptionResponseData = { + subscribed: boolean; + ignored: boolean; + reason: null; + created_at: string; + url: string; + thread_url: string; +}; +declare type ActivityDeleteThreadSubscriptionEndpoint = { + /** + * thread_id parameter + */ + thread_id: number; +}; +declare type ActivityDeleteThreadSubscriptionRequestOptions = { + method: "DELETE"; + url: "/notifications/threads/:thread_id/subscription"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListEndpoint = { + /** + * The integer ID of the last organization that you've seen. + */ + since?: number; +}; +declare type OrgsListRequestOptions = { + method: "GET"; + url: "/organizations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListResponseDataItem = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type OrgsListResponseData = Array; +declare type OrgsGetEndpoint = { + /** + * org parameter + */ + org: string; +}; +declare type OrgsGetRequestOptions = { + method: "GET"; + url: "/orgs/:org"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsGetResponseDataPlan = { + name: string; + space: number; + private_repos: number; + filled_seats?: number; + seats?: number; +}; +declare type OrgsGetResponseData = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; + name: string; + company: string; + blog: string; + location: string; + email: string; + is_verified: boolean; + has_organization_projects: boolean; + has_repository_projects: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; + html_url: string; + created_at: string; + type: string; + total_private_repos?: number; + owned_private_repos?: number; + private_gists?: number; + disk_usage?: number; + collaborators?: number; + billing_email?: string; + plan: OrgsGetResponseDataPlan; + default_repository_permission?: string; + members_can_create_repositories?: boolean; + two_factor_requirement_enabled?: boolean; + members_allowed_repository_creation_type?: string; + members_can_create_public_repositories?: boolean; + members_can_create_private_repositories?: boolean; + members_can_create_internal_repositories?: boolean; +}; +declare type OrgsUpdateEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Billing email address. This address is not publicized. + */ + billing_email?: string; + /** + * The company name. + */ + company?: string; + /** + * The publicly visible email address. + */ + email?: string; + /** + * The location. + */ + location?: string; + /** + * The shorthand name of the company. + */ + name?: string; + /** + * The description of the company. + */ + description?: string; + /** + * Toggles whether an organization can use organization projects. + */ + has_organization_projects?: boolean; + /** + * Toggles whether repositories that belong to the organization can use repository projects. + */ + has_repository_projects?: boolean; + /** + * Default permission level members have for organization repositories: + * \* `read` - can pull, but not push to or administer this repository. + * \* `write` - can pull and push, but not administer this repository. + * \* `admin` - can pull, push, and administer this repository. + * \* `none` - no permissions granted by default. + */ + default_repository_permission?: "read" | "write" | "admin" | "none"; + /** + * Toggles the ability of non-admin organization members to create repositories. Can be one of: + * \* `true` - all organization members can create repositories. + * \* `false` - only organization owners can create repositories. + * Default: `true` + * **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details. **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details. + */ + members_can_create_repositories?: boolean; + /** + * Toggles whether organization members can create internal repositories, which are visible to all enterprise members. You can only allow members to create internal repositories if your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. Can be one of: + * \* `true` - all organization members can create internal repositories. + * \* `false` - only organization owners can create internal repositories. + * Default: `true`. For more information, see "[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. + */ + members_can_create_internal_repositories?: boolean; + /** + * Toggles whether organization members can create private repositories, which are visible to organization members with permission. Can be one of: + * \* `true` - all organization members can create private repositories. + * \* `false` - only organization owners can create private repositories. + * Default: `true`. For more information, see "[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. + */ + members_can_create_private_repositories?: boolean; + /** + * Toggles whether organization members can create public repositories, which are visible to anyone. Can be one of: + * \* `true` - all organization members can create public repositories. + * \* `false` - only organization owners can create public repositories. + * Default: `true`. For more information, see "[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. + */ + members_can_create_public_repositories?: boolean; + /** + * Specifies which types of repositories non-admin organization members can create. Can be one of: + * \* `all` - all organization members can create public and private repositories. + * \* `private` - members can create private repositories. This option is only available to repositories that are part of an organization on GitHub Enterprise Cloud. + * \* `none` - only admin members can create repositories. + * **Note:** This parameter is deprecated and will be removed in the future. Its return value ignores internal repositories. Using this parameter overrides values set in `members_can_create_repositories`. See [this note](https://developer.github.com/v3/orgs/#members_can_create_repositories) for details. + */ + members_allowed_repository_creation_type?: "all" | "private" | "none"; +}; +declare type OrgsUpdateRequestOptions = { + method: "PATCH"; + url: "/orgs/:org"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsUpdateResponseDataPlan = { + name: string; + space: number; + private_repos: number; +}; +declare type OrgsUpdateResponseData = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; + name: string; + company: string; + blog: string; + location: string; + email: string; + is_verified: boolean; + has_organization_projects: boolean; + has_repository_projects: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; + html_url: string; + created_at: string; + type: string; + total_private_repos: number; + owned_private_repos: number; + private_gists: number; + disk_usage: number; + collaborators: number; + billing_email: string; + plan: OrgsUpdateResponseDataPlan; + default_repository_permission: string; + members_can_create_repositories: boolean; + two_factor_requirement_enabled: boolean; + members_allowed_repository_creation_type: string; + members_can_create_public_repositories: boolean; + members_can_create_private_repositories: boolean; + members_can_create_internal_repositories: boolean; +}; +declare type ActionsListSelfHostedRunnersForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActionsListSelfHostedRunnersForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/actions/runners"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListSelfHostedRunnersForOrgResponseDataRunnersItem = { + id: number; + name: string; + os: string; + status: string; +}; +declare type ActionsListSelfHostedRunnersForOrgResponseData = { + total_count: number; + runners: Array; +}; +declare type ActionsListRunnerApplicationsForOrgEndpoint = { + /** + * org parameter + */ + org: string; +}; +declare type ActionsListRunnerApplicationsForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/actions/runners/downloads"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListRunnerApplicationsForOrgResponseDataItem = { + os: string; + architecture: string; + download_url: string; + filename: string; +}; +declare type ActionsListRunnerApplicationsForOrgResponseData = Array; +declare type ActionsCreateRegistrationTokenForOrgEndpoint = { + /** + * org parameter + */ + org: string; +}; +declare type ActionsCreateRegistrationTokenForOrgRequestOptions = { + method: "POST"; + url: "/orgs/:org/actions/runners/registration-token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsCreateRegistrationTokenForOrgResponseData = { + token: string; + expires_at: string; +}; +declare type ActionsCreateRemoveTokenForOrgEndpoint = { + /** + * org parameter + */ + org: string; +}; +declare type ActionsCreateRemoveTokenForOrgRequestOptions = { + method: "POST"; + url: "/orgs/:org/actions/runners/remove-token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsCreateRemoveTokenForOrgResponseData = { + token: string; + expires_at: string; +}; +declare type ActionsGetSelfHostedRunnerForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * runner_id parameter + */ + runner_id: number; +}; +declare type ActionsGetSelfHostedRunnerForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/actions/runners/:runner_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsGetSelfHostedRunnerForOrgResponseData = { + id: number; + name: string; + os: string; + status: string; +}; +declare type ActionsDeleteSelfHostedRunnerFromOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * runner_id parameter + */ + runner_id: number; +}; +declare type ActionsDeleteSelfHostedRunnerFromOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/actions/runners/:runner_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListBlockedUsersEndpoint = { + /** + * org parameter + */ + org: string; +}; +declare type OrgsListBlockedUsersRequestOptions = { + method: "GET"; + url: "/orgs/:org/blocks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListBlockedUsersResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsListBlockedUsersResponseData = Array; +declare type OrgsCheckBlockedUserEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsCheckBlockedUserRequestOptions = { + method: "GET"; + url: "/orgs/:org/blocks/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsBlockUserEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsBlockUserRequestOptions = { + method: "PUT"; + url: "/orgs/:org/blocks/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsUnblockUserEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsUnblockUserRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/blocks/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListCredentialAuthorizationsEndpoint = { + /** + * org parameter + */ + org: string; +}; +declare type OrgsListCredentialAuthorizationsRequestOptions = { + method: "GET"; + url: "/orgs/:org/credential-authorizations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListCredentialAuthorizationsResponseDataItem = { + login: string; + credential_id: string; + credential_type: string; + token_last_eight: string; + credential_authorized_at: string; + scopes: Array; +}; +declare type OrgsListCredentialAuthorizationsResponseData = Array; +declare type OrgsRemoveCredentialAuthorizationEndpoint = { + /** + * org parameter + */ + org: string; + /** + * credential_id parameter + */ + credential_id: number; +}; +declare type OrgsRemoveCredentialAuthorizationRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/credential-authorizations/:credential_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListPublicOrgEventsEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListPublicOrgEventsRequestOptions = { + method: "GET"; + url: "/orgs/:org/events"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListHooksEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type OrgsListHooksRequestOptions = { + method: "GET"; + url: "/orgs/:org/hooks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListHooksResponseDataItemConfig = { + url: string; + content_type: string; +}; +declare type OrgsListHooksResponseDataItem = { + id: number; + url: string; + ping_url: string; + name: string; + events: Array; + active: boolean; + config: OrgsListHooksResponseDataItemConfig; + updated_at: string; + created_at: string; +}; +declare type OrgsListHooksResponseData = Array; +declare type OrgsCreateHookEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Must be passed as "web". + */ + name: string; + /** + * Key/value pairs to provide settings for this webhook. [These are defined below](https://developer.github.com/v3/orgs/hooks/#create-hook-config-params). + */ + config: OrgsCreateHookParamsConfig; + /** + * Determines what [events](https://developer.github.com/v3/activity/events/types/) the hook is triggered for. + */ + events?: string[]; + /** + * Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + */ + active?: boolean; +}; +declare type OrgsCreateHookRequestOptions = { + method: "POST"; + url: "/orgs/:org/hooks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsCreateHookResponseDataConfig = { + url: string; + content_type: string; +}; +declare type OrgsCreateHookResponseData = { + id: number; + url: string; + ping_url: string; + name: string; + events: Array; + active: boolean; + config: OrgsCreateHookResponseDataConfig; + updated_at: string; + created_at: string; +}; +declare type OrgsGetHookEndpoint = { + /** + * org parameter + */ + org: string; + /** + * hook_id parameter + */ + hook_id: number; +}; +declare type OrgsGetHookRequestOptions = { + method: "GET"; + url: "/orgs/:org/hooks/:hook_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsGetHookResponseDataConfig = { + url: string; + content_type: string; +}; +declare type OrgsGetHookResponseData = { + id: number; + url: string; + ping_url: string; + name: string; + events: Array; + active: boolean; + config: OrgsGetHookResponseDataConfig; + updated_at: string; + created_at: string; +}; +declare type OrgsUpdateHookEndpoint = { + /** + * org parameter + */ + org: string; + /** + * hook_id parameter + */ + hook_id: number; + /** + * Key/value pairs to provide settings for this webhook. [These are defined below](https://developer.github.com/v3/orgs/hooks/#update-hook-config-params). + */ + config?: OrgsUpdateHookParamsConfig; + /** + * Determines what [events](https://developer.github.com/v3/activity/events/types/) the hook is triggered for. + */ + events?: string[]; + /** + * Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + */ + active?: boolean; +}; +declare type OrgsUpdateHookRequestOptions = { + method: "PATCH"; + url: "/orgs/:org/hooks/:hook_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsUpdateHookResponseDataConfig = { + url: string; + content_type: string; +}; +declare type OrgsUpdateHookResponseData = { + id: number; + url: string; + ping_url: string; + name: string; + events: Array; + active: boolean; + config: OrgsUpdateHookResponseDataConfig; + updated_at: string; + created_at: string; +}; +declare type OrgsDeleteHookEndpoint = { + /** + * org parameter + */ + org: string; + /** + * hook_id parameter + */ + hook_id: number; +}; +declare type OrgsDeleteHookRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/hooks/:hook_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsPingHookEndpoint = { + /** + * org parameter + */ + org: string; + /** + * hook_id parameter + */ + hook_id: number; +}; +declare type OrgsPingHookRequestOptions = { + method: "POST"; + url: "/orgs/:org/hooks/:hook_id/pings"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetOrgInstallationEndpoint = { + /** + * org parameter + */ + org: string; +} & RequiredPreview<"machine-man">; +declare type AppsGetOrgInstallationRequestOptions = { + method: "GET"; + url: "/orgs/:org/installation"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetOrgInstallationResponseDataPermissions = { + checks: string; + metadata: string; + contents: string; +}; +declare type AppsGetOrgInstallationResponseDataAccount = { + login: string; + id: number; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsGetOrgInstallationResponseData = { + id: number; + account: AppsGetOrgInstallationResponseDataAccount; + repository_selection: string; + access_tokens_url: string; + repositories_url: string; + html_url: string; + app_id: number; + target_id: number; + target_type: string; + permissions: AppsGetOrgInstallationResponseDataPermissions; + events: Array; + created_at: string; + updated_at: string; + single_file_name: null; +}; +declare type OrgsListInstallationsEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"machine-man">; +declare type OrgsListInstallationsRequestOptions = { + method: "GET"; + url: "/orgs/:org/installations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListInstallationsResponseDataInstallationsItemPermissions = { + deployments: string; + metadata: string; + pull_requests: string; + statuses: string; +}; +declare type OrgsListInstallationsResponseDataInstallationsItemAccount = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsListInstallationsResponseDataInstallationsItem = { + id: number; + account: OrgsListInstallationsResponseDataInstallationsItemAccount; + repository_selection: string; + access_tokens_url: string; + repositories_url: string; + html_url: string; + app_id: number; + target_id: number; + target_type: string; + permissions: OrgsListInstallationsResponseDataInstallationsItemPermissions; + events: Array; + created_at: string; + updated_at: string; + single_file_name: null; +}; +declare type OrgsListInstallationsResponseData = { + total_count: number; + installations: Array; +}; +declare type InteractionsGetRestrictionsForOrgEndpoint = { + /** + * org parameter + */ + org: string; +} & RequiredPreview<"sombra">; +declare type InteractionsGetRestrictionsForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/interaction-limits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type InteractionsGetRestrictionsForOrgResponseData = { + limit: string; + origin: string; + expires_at: string; +}; +declare type InteractionsAddOrUpdateRestrictionsForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Specifies the group of GitHub users who can comment, open issues, or create pull requests in public repositories for the given organization. Must be one of: `existing_users`, `contributors_only`, or `collaborators_only`. + */ + limit: "existing_users" | "contributors_only" | "collaborators_only"; +} & RequiredPreview<"sombra">; +declare type InteractionsAddOrUpdateRestrictionsForOrgRequestOptions = { + method: "PUT"; + url: "/orgs/:org/interaction-limits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type InteractionsAddOrUpdateRestrictionsForOrgResponseData = { + limit: string; + origin: string; + expires_at: string; +}; +declare type InteractionsRemoveRestrictionsForOrgEndpoint = { + /** + * org parameter + */ + org: string; +} & RequiredPreview<"sombra">; +declare type InteractionsRemoveRestrictionsForOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/interaction-limits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListPendingInvitationsEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type OrgsListPendingInvitationsRequestOptions = { + method: "GET"; + url: "/orgs/:org/invitations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListPendingInvitationsResponseDataItemInviter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsListPendingInvitationsResponseDataItem = { + id: number; + login: string; + email: string; + role: string; + created_at: string; + inviter: OrgsListPendingInvitationsResponseDataItemInviter; + team_count: number; + invitation_team_url: string; +}; +declare type OrgsListPendingInvitationsResponseData = Array; +declare type OrgsCreateInvitationEndpoint = { + /** + * org parameter + */ + org: string; + /** + * **Required unless you provide `email`**. GitHub user ID for the person you are inviting. + */ + invitee_id?: number; + /** + * **Required unless you provide `invitee_id`**. Email address of the person you are inviting, which can be an existing GitHub user. + */ + email?: string; + /** + * Specify role for new member. Can be one of: + * \* `admin` - Organization owners with full administrative rights to the organization and complete access to all repositories and teams. + * \* `direct_member` - Non-owner organization members with ability to see other members and join teams by invitation. + * \* `billing_manager` - Non-owner organization members with ability to manage the billing settings of your organization. + */ + role?: "admin" | "direct_member" | "billing_manager"; + /** + * Specify IDs for the teams you want to invite new members to. + */ + team_ids?: number[]; +}; +declare type OrgsCreateInvitationRequestOptions = { + method: "POST"; + url: "/orgs/:org/invitations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsCreateInvitationResponseDataInviter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsCreateInvitationResponseData = { + id: number; + login: string; + email: string; + role: string; + created_at: string; + inviter: OrgsCreateInvitationResponseDataInviter; + team_count: number; + invitation_team_url: string; +}; +declare type OrgsListInvitationTeamsEndpoint = { + /** + * org parameter + */ + org: string; + /** + * invitation_id parameter + */ + invitation_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type OrgsListInvitationTeamsRequestOptions = { + method: "GET"; + url: "/orgs/:org/invitations/:invitation_id/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListInvitationTeamsResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type OrgsListInvitationTeamsResponseData = Array; +declare type IssuesListForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Indicates which sorts of issues to return. Can be one of: + * \* `assigned`: Issues assigned to you + * \* `created`: Issues created by you + * \* `mentioned`: Issues mentioning you + * \* `subscribed`: Issues you're subscribed to updates for + * \* `all`: All issues the authenticated user can see, regardless of participation or creation + */ + filter?: "assigned" | "created" | "mentioned" | "subscribed" | "all"; + /** + * Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + /** + * A list of comma separated label names. Example: `bug,ui,@high` + */ + labels?: string; + /** + * What to sort results by. Can be either `created`, `updated`, `comments`. + */ + sort?: "created" | "updated" | "comments"; + /** + * The direction of the sort. Can be either `asc` or `desc`. + */ + direction?: "asc" | "desc"; + /** + * Only issues updated at or after this time are returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type IssuesListForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/issues"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListForOrgResponseDataItemRepositoryPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type IssuesListForOrgResponseDataItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForOrgResponseDataItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: IssuesListForOrgResponseDataItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: IssuesListForOrgResponseDataItemRepositoryPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type IssuesListForOrgResponseDataItemPullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesListForOrgResponseDataItemMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForOrgResponseDataItemMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesListForOrgResponseDataItemMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesListForOrgResponseDataItemAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForOrgResponseDataItemAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForOrgResponseDataItemLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesListForOrgResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForOrgResponseDataItem = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesListForOrgResponseDataItemUser; + labels: Array; + assignee: IssuesListForOrgResponseDataItemAssignee; + assignees: Array; + milestone: IssuesListForOrgResponseDataItemMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesListForOrgResponseDataItemPullRequest; + closed_at: null; + created_at: string; + updated_at: string; + repository: IssuesListForOrgResponseDataItemRepository; +}; +declare type IssuesListForOrgResponseData = Array; +declare type OrgsListMembersEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Filter members returned in the list. Can be one of: + * \* `2fa_disabled` - Members without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled. Available for organization owners. + * \* `all` - All members the authenticated user can see. + */ + filter?: "2fa_disabled" | "all"; + /** + * Filter members returned by their role. Can be one of: + * \* `all` - All members of the organization, regardless of role. + * \* `admin` - Organization owners. + * \* `member` - Non-owner organization members. + */ + role?: "all" | "admin" | "member"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type OrgsListMembersRequestOptions = { + method: "GET"; + url: "/orgs/:org/members"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListMembersResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsListMembersResponseData = Array; +declare type OrgsCheckMembershipEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsCheckMembershipRequestOptions = { + method: "GET"; + url: "/orgs/:org/members/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsRemoveMemberEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsRemoveMemberRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/members/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsGetMembershipEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsGetMembershipRequestOptions = { + method: "GET"; + url: "/orgs/:org/memberships/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsGetMembershipResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsGetMembershipResponseDataOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type OrgsGetMembershipResponseData = { + url: string; + state: string; + role: string; + organization_url: string; + organization: OrgsGetMembershipResponseDataOrganization; + user: OrgsGetMembershipResponseDataUser; +}; +declare type OrgsAddOrUpdateMembershipEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; + /** + * The role to give the user in the organization. Can be one of: + * \* `admin` - The user will become an owner of the organization. + * \* `member` - The user will become a non-owner member of the organization. + */ + role?: "admin" | "member"; +}; +declare type OrgsAddOrUpdateMembershipRequestOptions = { + method: "PUT"; + url: "/orgs/:org/memberships/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsAddOrUpdateMembershipResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsAddOrUpdateMembershipResponseDataOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type OrgsAddOrUpdateMembershipResponseData = { + url: string; + state: string; + role: string; + organization_url: string; + organization: OrgsAddOrUpdateMembershipResponseDataOrganization; + user: OrgsAddOrUpdateMembershipResponseDataUser; +}; +declare type OrgsRemoveMembershipEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsRemoveMembershipRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/memberships/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsStartForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * A list of arrays indicating which repositories should be migrated. + */ + repositories: string[]; + /** + * Indicates whether repositories should be locked (to prevent manipulation) while migrating data. + */ + lock_repositories?: boolean; + /** + * Indicates whether attachments should be excluded from the migration (to reduce migration archive file size). + */ + exclude_attachments?: boolean; +}; +declare type MigrationsStartForOrgRequestOptions = { + method: "POST"; + url: "/orgs/:org/migrations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsStartForOrgResponseDataRepositoriesItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type MigrationsStartForOrgResponseDataRepositoriesItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsStartForOrgResponseDataRepositoriesItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: MigrationsStartForOrgResponseDataRepositoriesItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: MigrationsStartForOrgResponseDataRepositoriesItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type MigrationsStartForOrgResponseDataOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type MigrationsStartForOrgResponseData = { + id: number; + owner: MigrationsStartForOrgResponseDataOwner; + guid: string; + state: string; + lock_repositories: boolean; + exclude_attachments: boolean; + repositories: Array; + url: string; + created_at: string; + updated_at: string; +}; +declare type MigrationsListForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsListForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/migrations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsListForOrgResponseDataItemRepositoriesItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type MigrationsListForOrgResponseDataItemRepositoriesItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsListForOrgResponseDataItemRepositoriesItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: MigrationsListForOrgResponseDataItemRepositoriesItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: MigrationsListForOrgResponseDataItemRepositoriesItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type MigrationsListForOrgResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type MigrationsListForOrgResponseDataItem = { + id: number; + owner: MigrationsListForOrgResponseDataItemOwner; + guid: string; + state: string; + lock_repositories: boolean; + exclude_attachments: boolean; + repositories: Array; + url: string; + created_at: string; + updated_at: string; +}; +declare type MigrationsListForOrgResponseData = Array; +declare type MigrationsGetStatusForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * migration_id parameter + */ + migration_id: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsGetStatusForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/migrations/:migration_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsGetStatusForOrgResponseDataRepositoriesItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type MigrationsGetStatusForOrgResponseDataRepositoriesItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsGetStatusForOrgResponseDataRepositoriesItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: MigrationsGetStatusForOrgResponseDataRepositoriesItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: MigrationsGetStatusForOrgResponseDataRepositoriesItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type MigrationsGetStatusForOrgResponseDataOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type MigrationsGetStatusForOrgResponseData = { + id: number; + owner: MigrationsGetStatusForOrgResponseDataOwner; + guid: string; + state: string; + lock_repositories: boolean; + exclude_attachments: boolean; + repositories: Array; + url: string; + created_at: string; + updated_at: string; +}; +declare type MigrationsDownloadArchiveForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * migration_id parameter + */ + migration_id: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsDownloadArchiveForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/migrations/:migration_id/archive"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsDeleteArchiveForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * migration_id parameter + */ + migration_id: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsDeleteArchiveForOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/migrations/:migration_id/archive"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsUnlockRepoForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * migration_id parameter + */ + migration_id: number; + /** + * repo_name parameter + */ + repo_name: string; +} & RequiredPreview<"wyandotte">; +declare type MigrationsUnlockRepoForOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/migrations/:migration_id/repos/:repo_name/lock"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsListReposForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * migration_id parameter + */ + migration_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsListReposForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/migrations/:migration_id/repositories"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsListReposForOrgResponseDataItemLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type MigrationsListReposForOrgResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type MigrationsListReposForOrgResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsListReposForOrgResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: MigrationsListReposForOrgResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: MigrationsListReposForOrgResponseDataItemPermissions; + template_repository: null; + temp_clone_token: string; + subscribers_count: number; + network_count: number; + license: MigrationsListReposForOrgResponseDataItemLicense; +}; +declare type MigrationsListReposForOrgResponseData = Array; +declare type OrgsListOutsideCollaboratorsEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Filter the list of outside collaborators. Can be one of: + * \* `2fa_disabled`: Outside collaborators without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled. + * \* `all`: All outside collaborators. + */ + filter?: "2fa_disabled" | "all"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type OrgsListOutsideCollaboratorsRequestOptions = { + method: "GET"; + url: "/orgs/:org/outside_collaborators"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListOutsideCollaboratorsResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsListOutsideCollaboratorsResponseData = Array; +declare type OrgsRemoveOutsideCollaboratorEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsRemoveOutsideCollaboratorRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/outside_collaborators/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsRemoveOutsideCollaboratorResponseData = { + message: string; + documentation_url: string; +}; +declare type OrgsConvertMemberToOutsideCollaboratorEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsConvertMemberToOutsideCollaboratorRequestOptions = { + method: "PUT"; + url: "/orgs/:org/outside_collaborators/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsConvertMemberToOutsideCollaboratorResponseData = { + message: string; + documentation_url: string; +}; +declare type ProjectsListForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"inertia">; +declare type ProjectsListForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/projects"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsListForOrgResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsListForOrgResponseDataItem = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: ProjectsListForOrgResponseDataItemCreator; + created_at: string; + updated_at: string; +}; +declare type ProjectsListForOrgResponseData = Array; +declare type ProjectsCreateForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * The name of the project. + */ + name: string; + /** + * The description of the project. + */ + body?: string; +} & RequiredPreview<"inertia">; +declare type ProjectsCreateForOrgRequestOptions = { + method: "POST"; + url: "/orgs/:org/projects"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsCreateForOrgResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsCreateForOrgResponseData = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: ProjectsCreateForOrgResponseDataCreator; + created_at: string; + updated_at: string; +}; +declare type OrgsListPublicMembersEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type OrgsListPublicMembersRequestOptions = { + method: "GET"; + url: "/orgs/:org/public_members"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListPublicMembersResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsListPublicMembersResponseData = Array; +declare type OrgsCheckPublicMembershipEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsCheckPublicMembershipRequestOptions = { + method: "GET"; + url: "/orgs/:org/public_members/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsPublicizeMembershipEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsPublicizeMembershipRequestOptions = { + method: "PUT"; + url: "/orgs/:org/public_members/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsConcealMembershipEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsConcealMembershipRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/public_members/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Specifies the types of repositories you want returned. Can be one of `all`, `public`, `private`, `forks`, `sources`, `member`, `internal`. Default: `all`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `type` can also be `internal`. + */ + type?: "all" | "public" | "private" | "forks" | "sources" | "member" | "internal"; + /** + * Can be one of `created`, `updated`, `pushed`, `full_name`. + */ + sort?: "created" | "updated" | "pushed" | "full_name"; + /** + * Can be one of `asc` or `desc`. Default: when using `full_name`: `asc`, otherwise `desc` + */ + direction?: "asc" | "desc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/repos"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListForOrgResponseDataItemLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type ReposListForOrgResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposListForOrgResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListForOrgResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposListForOrgResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposListForOrgResponseDataItemPermissions; + template_repository: null; + temp_clone_token: string; + subscribers_count: number; + network_count: number; + license: ReposListForOrgResponseDataItemLicense; +}; +declare type ReposListForOrgResponseData = Array; +declare type ReposCreateInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * The name of the repository. + */ + name: string; + /** + * A short description of the repository. + */ + description?: string; + /** + * A URL with more information about the repository. + */ + homepage?: string; + /** + * Either `true` to create a private repository or `false` to create a public one. + */ + private?: boolean; + /** + * Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `visibility` can also be `internal`. For more information, see "[Creating an internal repository](https://help.github.com/en/github/creating-cloning-and-archiving-repositories/about-repository-visibility#about-internal-repositories)" in the GitHub Help documentation. + * The `visibility` parameter overrides the `private` parameter when you use both parameters with the `nebula-preview` preview header. + */ + visibility?: "public" | "private" | "visibility" | "internal"; + /** + * Either `true` to enable issues for this repository or `false` to disable them. + */ + has_issues?: boolean; + /** + * Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error. + */ + has_projects?: boolean; + /** + * Either `true` to enable the wiki for this repository or `false` to disable it. + */ + has_wiki?: boolean; + /** + * Either `true` to make this repo available as a template repository or `false` to prevent it. + */ + is_template?: boolean; + /** + * The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization. + */ + team_id?: number; + /** + * Pass `true` to create an initial commit with empty README. + */ + auto_init?: boolean; + /** + * Desired language or platform [.gitignore template](https://github.com/github/gitignore) to apply. Use the name of the template without the extension. For example, "Haskell". + */ + gitignore_template?: string; + /** + * Choose an [open source license template](https://choosealicense.com/) that best suits your needs, and then use the [license keyword](https://help.github.com/articles/licensing-a-repository/#searching-github-by-license-type) as the `license_template` string. For example, "mit" or "mpl-2.0". + */ + license_template?: string; + /** + * Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. + */ + allow_squash_merge?: boolean; + /** + * Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. + */ + allow_merge_commit?: boolean; + /** + * Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. + */ + allow_rebase_merge?: boolean; + /** + * Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. + */ + delete_branch_on_merge?: boolean; +}; +declare type ReposCreateInOrgRequestOptions = { + method: "POST"; + url: "/orgs/:org/repos"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateInOrgResponseDataPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposCreateInOrgResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateInOrgResponseData = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposCreateInOrgResponseDataOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposCreateInOrgResponseDataPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type TeamsListIdPGroupsForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListIdPGroupsForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/team-sync/groups"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListIdPGroupsForOrgResponseDataGroupsItem = { + group_id: string; + group_name: string; + group_description: string; +}; +declare type TeamsListIdPGroupsForOrgResponseData = { + groups: Array; +}; +declare type TeamsListEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type TeamsListResponseData = Array; +declare type TeamsCreateEndpoint = { + /** + * org parameter + */ + org: string; + /** + * The name of the team. + */ + name: string; + /** + * The description of the team. + */ + description?: string; + /** + * List GitHub IDs for organization members who will become team maintainers. + */ + maintainers?: string[]; + /** + * The full name (e.g., "organization-name/repository-name") of repositories to add the team to. + */ + repo_names?: string[]; + /** + * The level of privacy this team should have. The options are: + * **For a non-nested team:** + * \* `secret` - only visible to organization owners and members of this team. + * \* `closed` - visible to all members of this organization. + * Default: `secret` + * **For a parent or child team:** + * \* `closed` - visible to all members of this organization. + * Default for child team: `closed` + */ + privacy?: "secret" | "closed"; + /** + * **Deprecated**. The permission that new repositories will be added to the team with when none is specified. Can be one of: + * \* `pull` - team members can pull, but not push to or administer newly-added repositories. + * \* `push` - team members can pull and push, but not administer newly-added repositories. + * \* `admin` - team members can pull, push and administer newly-added repositories. + */ + permission?: "pull" | "push" | "admin"; + /** + * The ID of a team to set as the parent team. + */ + parent_team_id?: number; +}; +declare type TeamsCreateRequestOptions = { + method: "POST"; + url: "/orgs/:org/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsCreateResponseDataOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; + name: string; + company: string; + blog: string; + location: string; + email: string; + is_verified: boolean; + has_organization_projects: boolean; + has_repository_projects: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; + html_url: string; + created_at: string; + type: string; +}; +declare type TeamsCreateResponseData = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; + members_count: number; + repos_count: number; + created_at: string; + updated_at: string; + organization: TeamsCreateResponseDataOrganization; +}; +declare type TeamsGetByNameEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; +}; +declare type TeamsGetByNameRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsGetByNameResponseDataOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; + name: string; + company: string; + blog: string; + location: string; + email: string; + is_verified: boolean; + has_organization_projects: boolean; + has_repository_projects: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; + html_url: string; + created_at: string; + type: string; +}; +declare type TeamsGetByNameResponseData = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; + members_count: number; + repos_count: number; + created_at: string; + updated_at: string; + organization: TeamsGetByNameResponseDataOrganization; +}; +declare type TeamsUpdateInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * The name of the team. + */ + name: string; + /** + * The description of the team. + */ + description?: string; + /** + * The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. When a team is nested, the `privacy` for parent teams cannot be `secret`. The options are: + * **For a non-nested team:** + * \* `secret` - only visible to organization owners and members of this team. + * \* `closed` - visible to all members of this organization. + * **For a parent or child team:** + * \* `closed` - visible to all members of this organization. + */ + privacy?: "secret" | "closed"; + /** + * **Deprecated**. The permission that new repositories will be added to the team with when none is specified. Can be one of: + * \* `pull` - team members can pull, but not push to or administer newly-added repositories. + * \* `push` - team members can pull and push, but not administer newly-added repositories. + * \* `admin` - team members can pull, push and administer newly-added repositories. + */ + permission?: "pull" | "push" | "admin"; + /** + * The ID of a team to set as the parent team. + */ + parent_team_id?: number; +}; +declare type TeamsUpdateInOrgRequestOptions = { + method: "PATCH"; + url: "/orgs/:org/teams/:team_slug"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsUpdateInOrgResponseDataOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; + name: string; + company: string; + blog: string; + location: string; + email: string; + is_verified: boolean; + has_organization_projects: boolean; + has_repository_projects: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; + html_url: string; + created_at: string; + type: string; +}; +declare type TeamsUpdateInOrgResponseData = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; + members_count: number; + repos_count: number; + created_at: string; + updated_at: string; + organization: TeamsUpdateInOrgResponseDataOrganization; +}; +declare type TeamsDeleteInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; +}; +declare type TeamsDeleteInOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/teams/:team_slug"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListDiscussionsInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * Sorts the discussion comments by the date they were created. To return the oldest comments first, set to `asc`. Can be one of `asc` or `desc`. + */ + direction?: "asc" | "desc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListDiscussionsInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/discussions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListDiscussionsInOrgResponseDataItemReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsListDiscussionsInOrgResponseDataItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListDiscussionsInOrgResponseDataItem = { + author: TeamsListDiscussionsInOrgResponseDataItemAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + last_edited_at: null; + html_url: string; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + team_url: string; + title: string; + updated_at: string; + url: string; + reactions: TeamsListDiscussionsInOrgResponseDataItemReactions; +}; +declare type TeamsListDiscussionsInOrgResponseData = Array; +declare type TeamsCreateDiscussionInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * The discussion post's title. + */ + title: string; + /** + * The discussion post's body text. + */ + body: string; + /** + * Private posts are only visible to team members, organization owners, and team maintainers. Public posts are visible to all members of the organization. Set to `true` to create a private post. + */ + private?: boolean; +}; +declare type TeamsCreateDiscussionInOrgRequestOptions = { + method: "POST"; + url: "/orgs/:org/teams/:team_slug/discussions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsCreateDiscussionInOrgResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsCreateDiscussionInOrgResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCreateDiscussionInOrgResponseData = { + author: TeamsCreateDiscussionInOrgResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + last_edited_at: null; + html_url: string; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + team_url: string; + title: string; + updated_at: string; + url: string; + reactions: TeamsCreateDiscussionInOrgResponseDataReactions; +}; +declare type TeamsGetDiscussionInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; +}; +declare type TeamsGetDiscussionInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsGetDiscussionInOrgResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsGetDiscussionInOrgResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsGetDiscussionInOrgResponseData = { + author: TeamsGetDiscussionInOrgResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + last_edited_at: null; + html_url: string; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + team_url: string; + title: string; + updated_at: string; + url: string; + reactions: TeamsGetDiscussionInOrgResponseDataReactions; +}; +declare type TeamsUpdateDiscussionInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * The discussion post's title. + */ + title?: string; + /** + * The discussion post's body text. + */ + body?: string; +}; +declare type TeamsUpdateDiscussionInOrgRequestOptions = { + method: "PATCH"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsUpdateDiscussionInOrgResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsUpdateDiscussionInOrgResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsUpdateDiscussionInOrgResponseData = { + author: TeamsUpdateDiscussionInOrgResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + last_edited_at: string; + html_url: string; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + team_url: string; + title: string; + updated_at: string; + url: string; + reactions: TeamsUpdateDiscussionInOrgResponseDataReactions; +}; +declare type TeamsDeleteDiscussionInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; +}; +declare type TeamsDeleteDiscussionInOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListDiscussionCommentsInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * Sorts the discussion comments by the date they were created. To return the oldest comments first, set to `asc`. Can be one of `asc` or `desc`. + */ + direction?: "asc" | "desc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListDiscussionCommentsInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListDiscussionCommentsInOrgResponseDataItemReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsListDiscussionCommentsInOrgResponseDataItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListDiscussionCommentsInOrgResponseDataItem = { + author: TeamsListDiscussionCommentsInOrgResponseDataItemAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + last_edited_at: null; + discussion_url: string; + html_url: string; + node_id: string; + number: number; + updated_at: string; + url: string; + reactions: TeamsListDiscussionCommentsInOrgResponseDataItemReactions; +}; +declare type TeamsListDiscussionCommentsInOrgResponseData = Array; +declare type TeamsCreateDiscussionCommentInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * The discussion comment's body text. + */ + body: string; +}; +declare type TeamsCreateDiscussionCommentInOrgRequestOptions = { + method: "POST"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsCreateDiscussionCommentInOrgResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsCreateDiscussionCommentInOrgResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCreateDiscussionCommentInOrgResponseData = { + author: TeamsCreateDiscussionCommentInOrgResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + last_edited_at: null; + discussion_url: string; + html_url: string; + node_id: string; + number: number; + updated_at: string; + url: string; + reactions: TeamsCreateDiscussionCommentInOrgResponseDataReactions; +}; +declare type TeamsGetDiscussionCommentInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; +}; +declare type TeamsGetDiscussionCommentInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsGetDiscussionCommentInOrgResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsGetDiscussionCommentInOrgResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsGetDiscussionCommentInOrgResponseData = { + author: TeamsGetDiscussionCommentInOrgResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + last_edited_at: null; + discussion_url: string; + html_url: string; + node_id: string; + number: number; + updated_at: string; + url: string; + reactions: TeamsGetDiscussionCommentInOrgResponseDataReactions; +}; +declare type TeamsUpdateDiscussionCommentInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; + /** + * The discussion comment's body text. + */ + body: string; +}; +declare type TeamsUpdateDiscussionCommentInOrgRequestOptions = { + method: "PATCH"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsUpdateDiscussionCommentInOrgResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsUpdateDiscussionCommentInOrgResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsUpdateDiscussionCommentInOrgResponseData = { + author: TeamsUpdateDiscussionCommentInOrgResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + last_edited_at: string; + discussion_url: string; + html_url: string; + node_id: string; + number: number; + updated_at: string; + url: string; + reactions: TeamsUpdateDiscussionCommentInOrgResponseDataReactions; +}; +declare type TeamsDeleteDiscussionCommentInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; +}; +declare type TeamsDeleteDiscussionCommentInOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForTeamDiscussionCommentInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to a team discussion comment. + */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsListForTeamDiscussionCommentInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForTeamDiscussionCommentInOrgResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsListForTeamDiscussionCommentInOrgResponseDataItem = { + id: number; + node_id: string; + user: ReactionsListForTeamDiscussionCommentInOrgResponseDataItemUser; + content: string; + created_at: string; +}; +declare type ReactionsListForTeamDiscussionCommentInOrgResponseData = Array; +declare type ReactionsCreateForTeamDiscussionCommentInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the team discussion comment. + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsCreateForTeamDiscussionCommentInOrgRequestOptions = { + method: "POST"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsCreateForTeamDiscussionCommentInOrgResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsCreateForTeamDiscussionCommentInOrgResponseData = { + id: number; + node_id: string; + user: ReactionsCreateForTeamDiscussionCommentInOrgResponseDataUser; + content: string; + created_at: string; +}; +declare type ReactionsDeleteForTeamDiscussionCommentEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; + /** + * reaction_id parameter + */ + reaction_id: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsDeleteForTeamDiscussionCommentRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForTeamDiscussionInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to a team discussion. + */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsListForTeamDiscussionInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForTeamDiscussionInOrgResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsListForTeamDiscussionInOrgResponseDataItem = { + id: number; + node_id: string; + user: ReactionsListForTeamDiscussionInOrgResponseDataItemUser; + content: string; + created_at: string; +}; +declare type ReactionsListForTeamDiscussionInOrgResponseData = Array; +declare type ReactionsCreateForTeamDiscussionInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the team discussion. + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsCreateForTeamDiscussionInOrgRequestOptions = { + method: "POST"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsCreateForTeamDiscussionInOrgResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsCreateForTeamDiscussionInOrgResponseData = { + id: number; + node_id: string; + user: ReactionsCreateForTeamDiscussionInOrgResponseDataUser; + content: string; + created_at: string; +}; +declare type ReactionsDeleteForTeamDiscussionEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * reaction_id parameter + */ + reaction_id: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsDeleteForTeamDiscussionRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions/:reaction_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListPendingInvitationsInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListPendingInvitationsInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/invitations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListPendingInvitationsInOrgResponseDataItemInviter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListPendingInvitationsInOrgResponseDataItem = { + id: number; + login: string; + email: string; + role: string; + created_at: string; + inviter: TeamsListPendingInvitationsInOrgResponseDataItemInviter; + team_count: number; + invitation_team_url: string; +}; +declare type TeamsListPendingInvitationsInOrgResponseData = Array; +declare type TeamsListMembersInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * Filters members returned by their role in the team. Can be one of: + * \* `member` - normal members of the team. + * \* `maintainer` - team maintainers. + * \* `all` - all members of the team. + */ + role?: "member" | "maintainer" | "all"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListMembersInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/members"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListMembersInOrgResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListMembersInOrgResponseData = Array; +declare type TeamsGetMembershipInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * username parameter + */ + username: string; +}; +declare type TeamsGetMembershipInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/memberships/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsGetMembershipInOrgResponseData = { + url: string; + role: string; + state: string; +}; +declare type TeamsAddOrUpdateMembershipInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * username parameter + */ + username: string; + /** + * The role that this user should have in the team. Can be one of: + * \* `member` - a normal member of the team. + * \* `maintainer` - a team maintainer. Able to add/remove other team members, promote other team members to team maintainer, and edit the team's name and description. + */ + role?: "member" | "maintainer"; +}; +declare type TeamsAddOrUpdateMembershipInOrgRequestOptions = { + method: "PUT"; + url: "/orgs/:org/teams/:team_slug/memberships/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsAddOrUpdateMembershipInOrgResponseData = { + url: string; + role: string; + state: string; +}; +declare type TeamsRemoveMembershipInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * username parameter + */ + username: string; +}; +declare type TeamsRemoveMembershipInOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/teams/:team_slug/memberships/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListProjectsInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"inertia">; +declare type TeamsListProjectsInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/projects"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListProjectsInOrgResponseDataItemPermissions = { + read: boolean; + write: boolean; + admin: boolean; +}; +declare type TeamsListProjectsInOrgResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListProjectsInOrgResponseDataItem = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: TeamsListProjectsInOrgResponseDataItemCreator; + created_at: string; + updated_at: string; + organization_permission: string; + private: boolean; + permissions: TeamsListProjectsInOrgResponseDataItemPermissions; +}; +declare type TeamsListProjectsInOrgResponseData = Array; +declare type TeamsReviewProjectInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * project_id parameter + */ + project_id: number; +} & RequiredPreview<"inertia">; +declare type TeamsReviewProjectInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/projects/:project_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsReviewProjectInOrgResponseDataPermissions = { + read: boolean; + write: boolean; + admin: boolean; +}; +declare type TeamsReviewProjectInOrgResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsReviewProjectInOrgResponseData = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: TeamsReviewProjectInOrgResponseDataCreator; + created_at: string; + updated_at: string; + organization_permission: string; + private: boolean; + permissions: TeamsReviewProjectInOrgResponseDataPermissions; +}; +declare type TeamsAddOrUpdateProjectInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * project_id parameter + */ + project_id: number; + /** + * The permission to grant to the team for this project. Can be one of: + * \* `read` - team members can read, but not write to or administer this project. + * \* `write` - team members can read and write, but not administer this project. + * \* `admin` - team members can read, write and administer this project. + * Default: the team's `permission` attribute will be used to determine what permission to grant the team on this project. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://developer.github.com/v3/#http-verbs)." + */ + permission?: "read" | "write" | "admin"; +} & RequiredPreview<"inertia">; +declare type TeamsAddOrUpdateProjectInOrgRequestOptions = { + method: "PUT"; + url: "/orgs/:org/teams/:team_slug/projects/:project_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsAddOrUpdateProjectInOrgResponseData = { + message: string; + documentation_url: string; +}; +declare type TeamsRemoveProjectInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * project_id parameter + */ + project_id: number; +}; +declare type TeamsRemoveProjectInOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/teams/:team_slug/projects/:project_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListReposInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListReposInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/repos"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListReposInOrgResponseDataItemLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type TeamsListReposInOrgResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type TeamsListReposInOrgResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListReposInOrgResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: TeamsListReposInOrgResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: TeamsListReposInOrgResponseDataItemPermissions; + template_repository: null; + temp_clone_token: string; + subscribers_count: number; + network_count: number; + license: TeamsListReposInOrgResponseDataItemLicense; +}; +declare type TeamsListReposInOrgResponseData = Array; +declare type TeamsCheckManagesRepoInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type TeamsCheckManagesRepoInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/repos/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsCheckManagesRepoInOrgResponseDataPermissions = { + pull: boolean; + triage: boolean; + push: boolean; + maintain: boolean; + admin: boolean; +}; +declare type TeamsCheckManagesRepoInOrgResponseDataSourcePermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type TeamsCheckManagesRepoInOrgResponseDataSourceOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCheckManagesRepoInOrgResponseDataSource = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: TeamsCheckManagesRepoInOrgResponseDataSourceOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: TeamsCheckManagesRepoInOrgResponseDataSourcePermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type TeamsCheckManagesRepoInOrgResponseDataParentPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type TeamsCheckManagesRepoInOrgResponseDataParentOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCheckManagesRepoInOrgResponseDataParent = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: TeamsCheckManagesRepoInOrgResponseDataParentOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: TeamsCheckManagesRepoInOrgResponseDataParentPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type TeamsCheckManagesRepoInOrgResponseDataOrganization = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCheckManagesRepoInOrgResponseData = { + organization: TeamsCheckManagesRepoInOrgResponseDataOrganization; + parent: TeamsCheckManagesRepoInOrgResponseDataParent; + source: TeamsCheckManagesRepoInOrgResponseDataSource; + permissions: TeamsCheckManagesRepoInOrgResponseDataPermissions; +}; +declare type TeamsAddOrUpdateRepoInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The permission to grant the team on this repository. Can be one of: + * \* `pull` - team members can pull, but not push to or administer this repository. + * \* `push` - team members can pull and push, but not administer this repository. + * \* `admin` - team members can pull, push and administer this repository. + * \* `maintain` - team members can manage the repository without access to sensitive or destructive actions. Recommended for project managers. Only applies to repositories owned by organizations. + * \* `triage` - team members can proactively manage issues and pull requests without write access. Recommended for contributors who triage a repository. Only applies to repositories owned by organizations. + * + * If no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository. + */ + permission?: "pull" | "push" | "admin" | "maintain" | "triage"; +}; +declare type TeamsAddOrUpdateRepoInOrgRequestOptions = { + method: "PUT"; + url: "/orgs/:org/teams/:team_slug/repos/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsRemoveRepoInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type TeamsRemoveRepoInOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/teams/:team_slug/repos/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListIdPGroupsInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; +}; +declare type TeamsListIdPGroupsInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/team-sync/group-mappings"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListIdPGroupsInOrgResponseDataGroupsItem = { + group_id: string; + group_name: string; + group_description: string; +}; +declare type TeamsListIdPGroupsInOrgResponseData = { + groups: Array; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * The IdP groups you want to connect to a GitHub team. When updating, the new `groups` object will replace the original one. You must include any existing groups that you don't want to remove. + */ + groups: TeamsCreateOrUpdateIdPGroupConnectionsInOrgParamsGroups[]; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsInOrgRequestOptions = { + method: "PATCH"; + url: "/orgs/:org/teams/:team_slug/team-sync/group-mappings"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsInOrgResponseDataGroups = { + group_id: string; + group_name: string; + group_description: string; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsInOrgResponseData = { + groups: TeamsCreateOrUpdateIdPGroupConnectionsInOrgResponseDataGroups; +}; +declare type TeamsListChildInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListChildInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListChildInOrgResponseDataItemParent = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; +}; +declare type TeamsListChildInOrgResponseDataItem = { + id: number; + node_id: string; + url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: TeamsListChildInOrgResponseDataItemParent; +}; +declare type TeamsListChildInOrgResponseData = Array; +declare type ProjectsGetCardEndpoint = { + /** + * card_id parameter + */ + card_id: number; +} & RequiredPreview<"inertia">; +declare type ProjectsGetCardRequestOptions = { + method: "GET"; + url: "/projects/columns/cards/:card_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsGetCardResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsGetCardResponseData = { + url: string; + id: number; + node_id: string; + note: string; + creator: ProjectsGetCardResponseDataCreator; + created_at: string; + updated_at: string; + archived: boolean; + column_url: string; + content_url: string; + project_url: string; +}; +declare type ProjectsUpdateCardEndpoint = { + /** + * card_id parameter + */ + card_id: number; + /** + * The card's note content. Only valid for cards without another type of content, so this cannot be specified if the card already has a `content_id` and `content_type`. + */ + note?: string; + /** + * Use `true` to archive a project card. Specify `false` if you need to restore a previously archived project card. + */ + archived?: boolean; +} & RequiredPreview<"inertia">; +declare type ProjectsUpdateCardRequestOptions = { + method: "PATCH"; + url: "/projects/columns/cards/:card_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsUpdateCardResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsUpdateCardResponseData = { + url: string; + id: number; + node_id: string; + note: string; + creator: ProjectsUpdateCardResponseDataCreator; + created_at: string; + updated_at: string; + archived: boolean; + column_url: string; + content_url: string; + project_url: string; +}; +declare type ProjectsDeleteCardEndpoint = { + /** + * card_id parameter + */ + card_id: number; +} & RequiredPreview<"inertia">; +declare type ProjectsDeleteCardRequestOptions = { + method: "DELETE"; + url: "/projects/columns/cards/:card_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsMoveCardEndpoint = { + /** + * card_id parameter + */ + card_id: number; + /** + * Can be one of `top`, `bottom`, or `after:`, where `` is the `id` value of a card in the same column, or in the new column specified by `column_id`. + */ + position: string; + /** + * The `id` value of a column in the same project. + */ + column_id?: number; +} & RequiredPreview<"inertia">; +declare type ProjectsMoveCardRequestOptions = { + method: "POST"; + url: "/projects/columns/cards/:card_id/moves"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsGetColumnEndpoint = { + /** + * column_id parameter + */ + column_id: number; +} & RequiredPreview<"inertia">; +declare type ProjectsGetColumnRequestOptions = { + method: "GET"; + url: "/projects/columns/:column_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsGetColumnResponseData = { + url: string; + project_url: string; + cards_url: string; + id: number; + node_id: string; + name: string; + created_at: string; + updated_at: string; +}; +declare type ProjectsUpdateColumnEndpoint = { + /** + * column_id parameter + */ + column_id: number; + /** + * The new name of the column. + */ + name: string; +} & RequiredPreview<"inertia">; +declare type ProjectsUpdateColumnRequestOptions = { + method: "PATCH"; + url: "/projects/columns/:column_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsUpdateColumnResponseData = { + url: string; + project_url: string; + cards_url: string; + id: number; + node_id: string; + name: string; + created_at: string; + updated_at: string; +}; +declare type ProjectsDeleteColumnEndpoint = { + /** + * column_id parameter + */ + column_id: number; +} & RequiredPreview<"inertia">; +declare type ProjectsDeleteColumnRequestOptions = { + method: "DELETE"; + url: "/projects/columns/:column_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsListCardsEndpoint = { + /** + * column_id parameter + */ + column_id: number; + /** + * Filters the project cards that are returned by the card's state. Can be one of `all`,`archived`, or `not_archived`. + */ + archived_state?: "all" | "archived" | "not_archived"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"inertia">; +declare type ProjectsListCardsRequestOptions = { + method: "GET"; + url: "/projects/columns/:column_id/cards"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsListCardsResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsListCardsResponseDataItem = { + url: string; + id: number; + node_id: string; + note: string; + creator: ProjectsListCardsResponseDataItemCreator; + created_at: string; + updated_at: string; + archived: boolean; + column_url: string; + content_url: string; + project_url: string; +}; +declare type ProjectsListCardsResponseData = Array; +declare type ProjectsCreateCardEndpoint = { + /** + * column_id parameter + */ + column_id: number; + /** + * The card's note content. Only valid for cards without another type of content, so you must omit when specifying `content_id` and `content_type`. + */ + note?: string; + /** + * The issue or pull request id you want to associate with this card. You can use the [List repository issues](https://developer.github.com/v3/issues/#list-repository-issues) and [List pull requests](https://developer.github.com/v3/pulls/#list-pull-requests) endpoints to find this id. + * **Note:** Depending on whether you use the issue id or pull request id, you will need to specify `Issue` or `PullRequest` as the `content_type`. + */ + content_id?: number; + /** + * **Required if you provide `content_id`**. The type of content you want to associate with this card. Use `Issue` when `content_id` is an issue id and use `PullRequest` when `content_id` is a pull request id. + */ + content_type?: string; +} & RequiredPreview<"inertia">; +declare type ProjectsCreateCardRequestOptions = { + method: "POST"; + url: "/projects/columns/:column_id/cards"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsCreateCardResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsCreateCardResponseData = { + url: string; + id: number; + node_id: string; + note: string; + creator: ProjectsCreateCardResponseDataCreator; + created_at: string; + updated_at: string; + archived: boolean; + column_url: string; + content_url: string; + project_url: string; +}; +declare type ProjectsMoveColumnEndpoint = { + /** + * column_id parameter + */ + column_id: number; + /** + * Can be one of `first`, `last`, or `after:`, where `` is the `id` value of a column in the same project. + */ + position: string; +} & RequiredPreview<"inertia">; +declare type ProjectsMoveColumnRequestOptions = { + method: "POST"; + url: "/projects/columns/:column_id/moves"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsGetEndpoint = { + /** + * project_id parameter + */ + project_id: number; +} & RequiredPreview<"inertia">; +declare type ProjectsGetRequestOptions = { + method: "GET"; + url: "/projects/:project_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsGetResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsGetResponseData = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: ProjectsGetResponseDataCreator; + created_at: string; + updated_at: string; +}; +declare type ProjectsUpdateEndpoint = { + /** + * project_id parameter + */ + project_id: number; + /** + * The name of the project. + */ + name?: string; + /** + * The description of the project. + */ + body?: string; + /** + * State of the project. Either `open` or `closed`. + */ + state?: "open" | "closed"; + /** + * The permission level that determines whether all members of the project's organization can see and/or make changes to the project. Setting `organization_permission` is only available for organization projects. If an organization member belongs to a team with a higher level of access or is a collaborator with a higher level of access, their permission level is not lowered by `organization_permission`. For information on changing access for a team or collaborator, see [Add or update team project](https://developer.github.com/v3/teams/#add-or-update-team-project) or [Add user as a collaborator](https://developer.github.com/v3/projects/collaborators/#add-user-as-a-collaborator). + * + * **Note:** Updating a project's `organization_permission` requires `admin` access to the project. + * + * Can be one of: + * \* `read` - Organization members can read, but not write to or administer this project. + * \* `write` - Organization members can read and write, but not administer this project. + * \* `admin` - Organization members can read, write and administer this project. + * \* `none` - Organization members can only see this project if it is public. + */ + organization_permission?: string; + /** + * Sets the visibility of a project board. Setting `private` is only available for organization and user projects. **Note:** Updating a project's visibility requires `admin` access to the project. + * + * Can be one of: + * \* `false` - Anyone can see the project. + * \* `true` - Only the user can view a project board created on a user account. Organization members with the appropriate `organization_permission` can see project boards in an organization account. + */ + private?: boolean; +} & RequiredPreview<"inertia">; +declare type ProjectsUpdateRequestOptions = { + method: "PATCH"; + url: "/projects/:project_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsUpdateResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsUpdateResponseData = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: ProjectsUpdateResponseDataCreator; + created_at: string; + updated_at: string; +}; +declare type ProjectsDeleteEndpoint = { + /** + * project_id parameter + */ + project_id: number; +} & RequiredPreview<"inertia">; +declare type ProjectsDeleteRequestOptions = { + method: "DELETE"; + url: "/projects/:project_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsListCollaboratorsEndpoint = { + /** + * project_id parameter + */ + project_id: number; + /** + * Filters the collaborators by their affiliation. Can be one of: + * \* `outside`: Outside collaborators of a project that are not a member of the project's organization. + * \* `direct`: Collaborators with permissions to a project, regardless of organization membership status. + * \* `all`: All collaborators the authenticated user can see. + */ + affiliation?: "outside" | "direct" | "all"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"inertia">; +declare type ProjectsListCollaboratorsRequestOptions = { + method: "GET"; + url: "/projects/:project_id/collaborators"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsListCollaboratorsResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsListCollaboratorsResponseData = Array; +declare type ProjectsAddCollaboratorEndpoint = { + /** + * project_id parameter + */ + project_id: number; + /** + * username parameter + */ + username: string; + /** + * The permission to grant the collaborator. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://developer.github.com/v3/#http-verbs)." Can be one of: + * \* `read` - can read, but not write to or administer this project. + * \* `write` - can read and write, but not administer this project. + * \* `admin` - can read, write and administer this project. + */ + permission?: "read" | "write" | "admin"; +} & RequiredPreview<"inertia">; +declare type ProjectsAddCollaboratorRequestOptions = { + method: "PUT"; + url: "/projects/:project_id/collaborators/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsRemoveCollaboratorEndpoint = { + /** + * project_id parameter + */ + project_id: number; + /** + * username parameter + */ + username: string; +} & RequiredPreview<"inertia">; +declare type ProjectsRemoveCollaboratorRequestOptions = { + method: "DELETE"; + url: "/projects/:project_id/collaborators/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsReviewUserPermissionLevelEndpoint = { + /** + * project_id parameter + */ + project_id: number; + /** + * username parameter + */ + username: string; +} & RequiredPreview<"inertia">; +declare type ProjectsReviewUserPermissionLevelRequestOptions = { + method: "GET"; + url: "/projects/:project_id/collaborators/:username/permission"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsReviewUserPermissionLevelResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsReviewUserPermissionLevelResponseData = { + permission: string; + user: ProjectsReviewUserPermissionLevelResponseDataUser; +}; +declare type ProjectsListColumnsEndpoint = { + /** + * project_id parameter + */ + project_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"inertia">; +declare type ProjectsListColumnsRequestOptions = { + method: "GET"; + url: "/projects/:project_id/columns"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsListColumnsResponseDataItem = { + url: string; + project_url: string; + cards_url: string; + id: number; + node_id: string; + name: string; + created_at: string; + updated_at: string; +}; +declare type ProjectsListColumnsResponseData = Array; +declare type ProjectsCreateColumnEndpoint = { + /** + * project_id parameter + */ + project_id: number; + /** + * The name of the column. + */ + name: string; +} & RequiredPreview<"inertia">; +declare type ProjectsCreateColumnRequestOptions = { + method: "POST"; + url: "/projects/:project_id/columns"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsCreateColumnResponseData = { + url: string; + project_url: string; + cards_url: string; + id: number; + node_id: string; + name: string; + created_at: string; + updated_at: string; +}; +declare type RateLimitGetEndpoint = {}; +declare type RateLimitGetRequestOptions = { + method: "GET"; + url: "/rate_limit"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type RateLimitGetResponseDataRate = { + limit: number; + remaining: number; + reset: number; +}; +declare type RateLimitGetResponseDataResourcesIntegrationManifest = { + limit: number; + remaining: number; + reset: number; +}; +declare type RateLimitGetResponseDataResourcesGraphql = { + limit: number; + remaining: number; + reset: number; +}; +declare type RateLimitGetResponseDataResourcesSearch = { + limit: number; + remaining: number; + reset: number; +}; +declare type RateLimitGetResponseDataResourcesCore = { + limit: number; + remaining: number; + reset: number; +}; +declare type RateLimitGetResponseDataResources = { + core: RateLimitGetResponseDataResourcesCore; + search: RateLimitGetResponseDataResourcesSearch; + graphql: RateLimitGetResponseDataResourcesGraphql; + integration_manifest: RateLimitGetResponseDataResourcesIntegrationManifest; +}; +declare type RateLimitGetResponseData = { + resources: RateLimitGetResponseDataResources; + rate: RateLimitGetResponseDataRate; +}; +declare type ReactionsDeleteLegacyEndpoint = { + /** + * reaction_id parameter + */ + reaction_id: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsDeleteLegacyRequestOptions = { + method: "DELETE"; + url: "/reactions/:reaction_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetResponseDataCodeOfConduct = { + key: string; + name: string; + url: string; +}; +declare type ReposGetResponseDataSourcePermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposGetResponseDataSourceOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetResponseDataSource = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposGetResponseDataSourceOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposGetResponseDataSourcePermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposGetResponseDataParentPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposGetResponseDataParentOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetResponseDataParent = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposGetResponseDataParentOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposGetResponseDataParentPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposGetResponseDataOrganization = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetResponseDataLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type ReposGetResponseDataPermissions = { + pull: boolean; + triage: boolean; + push: boolean; + maintain: boolean; + admin: boolean; +}; +declare type ReposGetResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetResponseData = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposGetResponseDataOwner; + private: boolean; + html_url: string; + description: string | null; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string | null; + hooks_url: string; + svn_url: string; + homepage: string | null; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template?: boolean; + topics?: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions?: ReposGetResponseDataPermissions; + allow_rebase_merge?: boolean; + template_repository?: null; + temp_clone_token?: string; + allow_squash_merge?: boolean; + allow_merge_commit?: boolean; + subscribers_count: number; + network_count: number; + license?: ReposGetResponseDataLicense; + organization?: ReposGetResponseDataOrganization; + parent?: ReposGetResponseDataParent; + source?: ReposGetResponseDataSource; + forks?: number; + open_issues?: number; + watchers?: number; + code_of_conduct?: ReposGetResponseDataCodeOfConduct; +}; +declare type ReposUpdateEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The name of the repository. + */ + name?: string; + /** + * A short description of the repository. + */ + description?: string; + /** + * A URL with more information about the repository. + */ + homepage?: string; + /** + * Either `true` to make the repository private or `false` to make it public. Default: `false`. + * **Note**: You will get a `422` error if the organization restricts [changing repository visibility](https://help.github.com/articles/repository-permission-levels-for-an-organization#changing-the-visibility-of-repositories) to organization owners and a non-owner tries to change the value of private. **Note**: You will get a `422` error if the organization restricts [changing repository visibility](https://help.github.com/articles/repository-permission-levels-for-an-organization#changing-the-visibility-of-repositories) to organization owners and a non-owner tries to change the value of private. + */ + private?: boolean; + /** + * Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `visibility` can also be `internal`. The `visibility` parameter overrides the `private` parameter when you use both along with the `nebula-preview` preview header. + */ + visibility?: "public" | "private" | "visibility" | "internal"; + /** + * Either `true` to enable issues for this repository or `false` to disable them. + */ + has_issues?: boolean; + /** + * Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error. + */ + has_projects?: boolean; + /** + * Either `true` to enable the wiki for this repository or `false` to disable it. + */ + has_wiki?: boolean; + /** + * Either `true` to make this repo available as a template repository or `false` to prevent it. + */ + is_template?: boolean; + /** + * Updates the default branch for this repository. + */ + default_branch?: string; + /** + * Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. + */ + allow_squash_merge?: boolean; + /** + * Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. + */ + allow_merge_commit?: boolean; + /** + * Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. + */ + allow_rebase_merge?: boolean; + /** + * Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. + */ + delete_branch_on_merge?: boolean; + /** + * `true` to archive this repository. **Note**: You cannot unarchive repositories through the API. + */ + archived?: boolean; +}; +declare type ReposUpdateRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateResponseDataSourcePermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposUpdateResponseDataSourceOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateResponseDataSource = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposUpdateResponseDataSourceOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposUpdateResponseDataSourcePermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposUpdateResponseDataParentPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposUpdateResponseDataParentOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateResponseDataParent = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposUpdateResponseDataParentOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposUpdateResponseDataParentPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposUpdateResponseDataOrganization = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateResponseDataPermissions = { + pull: boolean; + triage: boolean; + push: boolean; + maintain: boolean; + admin: boolean; +}; +declare type ReposUpdateResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateResponseData = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposUpdateResponseDataOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposUpdateResponseDataPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; + organization: ReposUpdateResponseDataOrganization; + parent: ReposUpdateResponseDataParent; + source: ReposUpdateResponseDataSource; +}; +declare type ReposDeleteEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposDeleteRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposDeleteResponseData = { + message: string; + documentation_url: string; +}; +declare type ActionsListArtifactsForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActionsListArtifactsForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/artifacts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListArtifactsForRepoResponseDataArtifactsItem = { + id: number; + node_id: string; + name: string; + size_in_bytes: number; + url: string; + archive_download_url: string; + expired: boolean; + created_at: string; + expires_at: string; +}; +declare type ActionsListArtifactsForRepoResponseData = { + total_count: number; + artifacts: Array; +}; +declare type ActionsGetArtifactEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * artifact_id parameter + */ + artifact_id: number; +}; +declare type ActionsGetArtifactRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/artifacts/:artifact_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsGetArtifactResponseData = { + id: number; + node_id: string; + name: string; + size_in_bytes: number; + url: string; + archive_download_url: string; + expired: boolean; + created_at: string; + expires_at: string; +}; +declare type ActionsDeleteArtifactEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * artifact_id parameter + */ + artifact_id: number; +}; +declare type ActionsDeleteArtifactRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/actions/artifacts/:artifact_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsDownloadArtifactEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * artifact_id parameter + */ + artifact_id: number; + /** + * archive_format parameter + */ + archive_format: string; +}; +declare type ActionsDownloadArtifactRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/artifacts/:artifact_id/:archive_format"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsGetWorkflowJobEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * job_id parameter + */ + job_id: number; +}; +declare type ActionsGetWorkflowJobRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/jobs/:job_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsGetWorkflowJobResponseDataStepsItem = { + name: string; + status: string; + conclusion: string; + number: number; + started_at: string; + completed_at: string; +}; +declare type ActionsGetWorkflowJobResponseData = { + id: number; + run_id: number; + run_url: string; + node_id: string; + head_sha: string; + url: string; + html_url: string; + status: string; + conclusion: string; + started_at: string; + completed_at: string; + name: string; + steps: Array; + check_run_url: string; +}; +declare type ActionsDownloadWorkflowJobLogsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * job_id parameter + */ + job_id: number; +}; +declare type ActionsDownloadWorkflowJobLogsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/jobs/:job_id/logs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListSelfHostedRunnersForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActionsListSelfHostedRunnersForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/runners"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListSelfHostedRunnersForRepoResponseDataRunnersItem = { + id: number; + name: string; + os: string; + status: string; +}; +declare type ActionsListSelfHostedRunnersForRepoResponseData = { + total_count: number; + runners: Array; +}; +declare type ActionsListRunnerApplicationsForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActionsListRunnerApplicationsForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/runners/downloads"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListRunnerApplicationsForRepoResponseDataItem = { + os: string; + architecture: string; + download_url: string; + filename: string; +}; +declare type ActionsListRunnerApplicationsForRepoResponseData = Array; +declare type ActionsCreateRegistrationTokenForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActionsCreateRegistrationTokenForRepoRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/actions/runners/registration-token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsCreateRegistrationTokenForRepoResponseData = { + token: string; + expires_at: string; +}; +declare type ActionsCreateRemoveTokenForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActionsCreateRemoveTokenForRepoRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/actions/runners/remove-token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsCreateRemoveTokenForRepoResponseData = { + token: string; + expires_at: string; +}; +declare type ActionsGetSelfHostedRunnerForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * runner_id parameter + */ + runner_id: number; +}; +declare type ActionsGetSelfHostedRunnerForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/runners/:runner_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsGetSelfHostedRunnerForRepoResponseData = { + id: number; + name: string; + os: string; + status: string; +}; +declare type ActionsDeleteSelfHostedRunnerFromRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * runner_id parameter + */ + runner_id: number; +}; +declare type ActionsDeleteSelfHostedRunnerFromRepoRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/actions/runners/:runner_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListRepoWorkflowRunsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. + */ + actor?: string; + /** + * Returns workflow runs associated with a branch. Use the name of the branch of the `push`. + */ + branch?: string; + /** + * Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)" in the GitHub Help documentation. + */ + event?: string; + /** + * Returns workflow runs associated with the check run `status` or `conclusion` you specify. For example, a conclusion can be `success` or a status can be `completed`. For more information, see the `status` and `conclusion` options available in "[Create a check run](https://developer.github.com/v3/checks/runs/#create-a-check-run)." + */ + status?: "completed" | "status" | "conclusion"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActionsListRepoWorkflowRunsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/runs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + private: boolean; + owner: ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadRepositoryOwner; + html_url: string; + description: null; + fork: boolean; + url: string; + forks_url: string; + keys_url: string; + collaborators_url: string; + teams_url: string; + hooks_url: string; + issue_events_url: string; + events_url: string; + assignees_url: string; + branches_url: string; + tags_url: string; + blobs_url: string; + git_tags_url: string; + git_refs_url: string; + trees_url: string; + statuses_url: string; + languages_url: string; + stargazers_url: string; + contributors_url: string; + subscribers_url: string; + subscription_url: string; + commits_url: string; + git_commits_url: string; + comments_url: string; + issue_comment_url: string; + contents_url: string; + compare_url: string; + merges_url: string; + archive_url: string; + downloads_url: string; + issues_url: string; + pulls_url: string; + milestones_url: string; + notifications_url: string; + labels_url: string; + releases_url: string; + deployments_url: string; +}; +declare type ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadCommitCommitter = { + name: string; + email: string; +}; +declare type ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadCommitAuthor = { + name: string; + email: string; +}; +declare type ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadCommit = { + id: string; + tree_id: string; + message: string; + timestamp: string; + author: ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadCommitAuthor; + committer: ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadCommitCommitter; +}; +declare type ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItem = { + id: number; + node_id: string; + head_branch: string; + head_sha: string; + run_number: number; + event: string; + status: string; + conclusion: null; + url: string; + html_url: string; + pull_requests: Array; + created_at: string; + updated_at: string; + jobs_url: string; + logs_url: string; + check_suite_url: string; + artifacts_url: string; + cancel_url: string; + rerun_url: string; + workflow_url: string; + head_commit: ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadCommit; + repository: ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemRepository; + head_repository: ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadRepository; +}; +declare type ActionsListRepoWorkflowRunsResponseData = { + total_count: number; + workflow_runs: Array; +}; +declare type ActionsGetWorkflowRunEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * run_id parameter + */ + run_id: number; +}; +declare type ActionsGetWorkflowRunRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/runs/:run_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsGetWorkflowRunResponseDataHeadRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActionsGetWorkflowRunResponseDataHeadRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + private: boolean; + owner: ActionsGetWorkflowRunResponseDataHeadRepositoryOwner; + html_url: string; + description: null; + fork: boolean; + url: string; + forks_url: string; + keys_url: string; + collaborators_url: string; + teams_url: string; + hooks_url: string; + issue_events_url: string; + events_url: string; + assignees_url: string; + branches_url: string; + tags_url: string; + blobs_url: string; + git_tags_url: string; + git_refs_url: string; + trees_url: string; + statuses_url: string; + languages_url: string; + stargazers_url: string; + contributors_url: string; + subscribers_url: string; + subscription_url: string; + commits_url: string; + git_commits_url: string; + comments_url: string; + issue_comment_url: string; + contents_url: string; + compare_url: string; + merges_url: string; + archive_url: string; + downloads_url: string; + issues_url: string; + pulls_url: string; + milestones_url: string; + notifications_url: string; + labels_url: string; + releases_url: string; + deployments_url: string; +}; +declare type ActionsGetWorkflowRunResponseDataRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActionsGetWorkflowRunResponseDataRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActionsGetWorkflowRunResponseDataRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ActionsGetWorkflowRunResponseDataHeadCommitCommitter = { + name: string; + email: string; +}; +declare type ActionsGetWorkflowRunResponseDataHeadCommitAuthor = { + name: string; + email: string; +}; +declare type ActionsGetWorkflowRunResponseDataHeadCommit = { + id: string; + tree_id: string; + message: string; + timestamp: string; + author: ActionsGetWorkflowRunResponseDataHeadCommitAuthor; + committer: ActionsGetWorkflowRunResponseDataHeadCommitCommitter; +}; +declare type ActionsGetWorkflowRunResponseData = { + id: number; + node_id: string; + head_branch: string; + head_sha: string; + run_number: number; + event: string; + status: string; + conclusion: null; + url: string; + html_url: string; + pull_requests: Array; + created_at: string; + updated_at: string; + jobs_url: string; + logs_url: string; + check_suite_url: string; + artifacts_url: string; + cancel_url: string; + rerun_url: string; + workflow_url: string; + head_commit: ActionsGetWorkflowRunResponseDataHeadCommit; + repository: ActionsGetWorkflowRunResponseDataRepository; + head_repository: ActionsGetWorkflowRunResponseDataHeadRepository; +}; +declare type ActionsListWorkflowRunArtifactsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * run_id parameter + */ + run_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActionsListWorkflowRunArtifactsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/runs/:run_id/artifacts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListWorkflowRunArtifactsResponseDataArtifactsItem = { + id: number; + node_id: string; + name: string; + size_in_bytes: number; + url: string; + archive_download_url: string; + expired: boolean; + created_at: string; + expires_at: string; +}; +declare type ActionsListWorkflowRunArtifactsResponseData = { + total_count: number; + artifacts: Array; +}; +declare type ActionsCancelWorkflowRunEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * run_id parameter + */ + run_id: number; +}; +declare type ActionsCancelWorkflowRunRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/actions/runs/:run_id/cancel"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListJobsForWorkflowRunEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * run_id parameter + */ + run_id: number; + /** + * Filters jobs by their `completed_at` timestamp. Can be one of: + * \* `latest`: Returns jobs from the most recent execution of the workflow run. + * \* `all`: Returns all jobs for a workflow run, including from old executions of the workflow run. + */ + filter?: "latest" | "all"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActionsListJobsForWorkflowRunRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/runs/:run_id/jobs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListJobsForWorkflowRunResponseDataJobsItemStepsItem = { + name: string; + status: string; + conclusion: string; + number: number; + started_at: string; + completed_at: string; +}; +declare type ActionsListJobsForWorkflowRunResponseDataJobsItem = { + id: number; + run_id: number; + run_url: string; + node_id: string; + head_sha: string; + url: string; + html_url: string; + status: string; + conclusion: string; + started_at: string; + completed_at: string; + name: string; + steps: Array; + check_run_url: string; +}; +declare type ActionsListJobsForWorkflowRunResponseData = { + total_count: number; + jobs: Array; +}; +declare type ActionsDownloadWorkflowRunLogsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * run_id parameter + */ + run_id: number; +}; +declare type ActionsDownloadWorkflowRunLogsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/runs/:run_id/logs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsDeleteWorkflowRunLogsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * run_id parameter + */ + run_id: number; +}; +declare type ActionsDeleteWorkflowRunLogsRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/actions/runs/:run_id/logs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsReRunWorkflowEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * run_id parameter + */ + run_id: number; +}; +declare type ActionsReRunWorkflowRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/actions/runs/:run_id/rerun"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListSecretsForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActionsListSecretsForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/secrets"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListSecretsForRepoResponseDataSecretsItem = { + name: string; + created_at: string; + updated_at: string; +}; +declare type ActionsListSecretsForRepoResponseData = { + total_count: number; + secrets: Array; +}; +declare type ActionsGetPublicKeyEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActionsGetPublicKeyRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/secrets/public-key"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsGetPublicKeyResponseData = { + key_id: string; + key: string; +}; +declare type ActionsGetSecretEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * name parameter + */ + name: string; +}; +declare type ActionsGetSecretRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/secrets/:name"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsGetSecretResponseData = { + name: string; + created_at: string; + updated_at: string; +}; +declare type ActionsCreateOrUpdateSecretForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * name parameter + */ + name: string; + /** + * Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get your public key](https://developer.github.com/v3/actions/secrets/#get-your-public-key) endpoint. + */ + encrypted_value?: string; + /** + * ID of the key you used to encrypt the secret. + */ + key_id?: string; +}; +declare type ActionsCreateOrUpdateSecretForRepoRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/actions/secrets/:name"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsDeleteSecretFromRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * name parameter + */ + name: string; +}; +declare type ActionsDeleteSecretFromRepoRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/actions/secrets/:name"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListRepoWorkflowsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActionsListRepoWorkflowsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/workflows"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListRepoWorkflowsResponseDataWorkflowsItem = { + id: number; + node_id: string; + name: string; + path: string; + state: string; + created_at: string; + updated_at: string; + url: string; + html_url: string; + badge_url: string; +}; +declare type ActionsListRepoWorkflowsResponseData = { + total_count: number; + workflows: Array; +}; +declare type ActionsGetWorkflowEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * workflow_id parameter + */ + workflow_id: number; +}; +declare type ActionsGetWorkflowRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/workflows/:workflow_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsGetWorkflowResponseData = { + id: number; + node_id: string; + name: string; + path: string; + state: string; + created_at: string; + updated_at: string; + url: string; + html_url: string; + badge_url: string; +}; +declare type ActionsListWorkflowRunsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * workflow_id parameter + */ + workflow_id: number; + /** + * Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. + */ + actor?: string; + /** + * Returns workflow runs associated with a branch. Use the name of the branch of the `push`. + */ + branch?: string; + /** + * Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)" in the GitHub Help documentation. + */ + event?: string; + /** + * Returns workflow runs associated with the check run `status` or `conclusion` you specify. For example, a conclusion can be `success` or a status can be `completed`. For more information, see the `status` and `conclusion` options available in "[Create a check run](https://developer.github.com/v3/checks/runs/#create-a-check-run)." + */ + status?: "completed" | "status" | "conclusion"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActionsListWorkflowRunsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/workflows/:workflow_id/runs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + private: boolean; + owner: ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadRepositoryOwner; + html_url: string; + description: null; + fork: boolean; + url: string; + forks_url: string; + keys_url: string; + collaborators_url: string; + teams_url: string; + hooks_url: string; + issue_events_url: string; + events_url: string; + assignees_url: string; + branches_url: string; + tags_url: string; + blobs_url: string; + git_tags_url: string; + git_refs_url: string; + trees_url: string; + statuses_url: string; + languages_url: string; + stargazers_url: string; + contributors_url: string; + subscribers_url: string; + subscription_url: string; + commits_url: string; + git_commits_url: string; + comments_url: string; + issue_comment_url: string; + contents_url: string; + compare_url: string; + merges_url: string; + archive_url: string; + downloads_url: string; + issues_url: string; + pulls_url: string; + milestones_url: string; + notifications_url: string; + labels_url: string; + releases_url: string; + deployments_url: string; +}; +declare type ActionsListWorkflowRunsResponseDataWorkflowRunsItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActionsListWorkflowRunsResponseDataWorkflowRunsItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActionsListWorkflowRunsResponseDataWorkflowRunsItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadCommitCommitter = { + name: string; + email: string; +}; +declare type ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadCommitAuthor = { + name: string; + email: string; +}; +declare type ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadCommit = { + id: string; + tree_id: string; + message: string; + timestamp: string; + author: ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadCommitAuthor; + committer: ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadCommitCommitter; +}; +declare type ActionsListWorkflowRunsResponseDataWorkflowRunsItem = { + id: number; + node_id: string; + head_branch: string; + head_sha: string; + run_number: number; + event: string; + status: string; + conclusion: null; + url: string; + html_url: string; + pull_requests: Array; + created_at: string; + updated_at: string; + jobs_url: string; + logs_url: string; + check_suite_url: string; + artifacts_url: string; + cancel_url: string; + rerun_url: string; + workflow_url: string; + head_commit: ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadCommit; + repository: ActionsListWorkflowRunsResponseDataWorkflowRunsItemRepository; + head_repository: ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadRepository; +}; +declare type ActionsListWorkflowRunsResponseData = { + total_count: number; + workflow_runs: Array; +}; +declare type IssuesListAssigneesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type IssuesListAssigneesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/assignees"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListAssigneesResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListAssigneesResponseData = Array; +declare type IssuesCheckAssigneeEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * assignee parameter + */ + assignee: string; +}; +declare type IssuesCheckAssigneeRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/assignees/:assignee"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposEnableAutomatedSecurityFixesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"london">; +declare type ReposEnableAutomatedSecurityFixesRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/automated-security-fixes"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposDisableAutomatedSecurityFixesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"london">; +declare type ReposDisableAutomatedSecurityFixesRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/automated-security-fixes"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListBranchesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Setting to `true` returns only protected branches. When set to `false`, only unprotected branches are returned. Omitting this parameter returns all branches. + */ + protected?: boolean; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListBranchesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListBranchesResponseDataItemProtectionRequiredStatusChecks = { + enforcement_level: string; + contexts: Array; +}; +declare type ReposListBranchesResponseDataItemProtection = { + enabled: boolean; + required_status_checks: ReposListBranchesResponseDataItemProtectionRequiredStatusChecks; +}; +declare type ReposListBranchesResponseDataItemCommit = { + sha: string; + url: string; +}; +declare type ReposListBranchesResponseDataItem = { + name: string; + commit: ReposListBranchesResponseDataItemCommit; + protected: boolean; + protection: ReposListBranchesResponseDataItemProtection; + protection_url: string; +}; +declare type ReposListBranchesResponseData = Array; +declare type ReposGetBranchEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposGetBranchRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetBranchResponseDataProtectionRequiredStatusChecks = { + enforcement_level: string; + contexts: Array; +}; +declare type ReposGetBranchResponseDataProtection = { + enabled: boolean; + required_status_checks: ReposGetBranchResponseDataProtectionRequiredStatusChecks; +}; +declare type ReposGetBranchResponseDataLinks = { + html: string; + self: string; +}; +declare type ReposGetBranchResponseDataCommitCommitter = { + gravatar_id: string; + avatar_url: string; + url: string; + id: number; + login: string; +}; +declare type ReposGetBranchResponseDataCommitParentsItem = { + sha: string; + url: string; +}; +declare type ReposGetBranchResponseDataCommitAuthor = { + gravatar_id: string; + avatar_url: string; + url: string; + id: number; + login: string; +}; +declare type ReposGetBranchResponseDataCommitCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type ReposGetBranchResponseDataCommitCommitCommitter = { + name: string; + date: string; + email: string; +}; +declare type ReposGetBranchResponseDataCommitCommitTree = { + sha: string; + url: string; +}; +declare type ReposGetBranchResponseDataCommitCommitAuthor = { + name: string; + date: string; + email: string; +}; +declare type ReposGetBranchResponseDataCommitCommit = { + author: ReposGetBranchResponseDataCommitCommitAuthor; + url: string; + message: string; + tree: ReposGetBranchResponseDataCommitCommitTree; + committer: ReposGetBranchResponseDataCommitCommitCommitter; + verification: ReposGetBranchResponseDataCommitCommitVerification; +}; +declare type ReposGetBranchResponseDataCommit = { + sha: string; + node_id: string; + commit: ReposGetBranchResponseDataCommitCommit; + author: ReposGetBranchResponseDataCommitAuthor; + parents: Array; + url: string; + committer: ReposGetBranchResponseDataCommitCommitter; +}; +declare type ReposGetBranchResponseData = { + name: string; + commit: ReposGetBranchResponseDataCommit; + _links: ReposGetBranchResponseDataLinks; + protected: boolean; + protection: ReposGetBranchResponseDataProtection; + protection_url: string; +}; +declare type ReposGetBranchProtectionEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposGetBranchProtectionRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetBranchProtectionResponseDataAllowDeletions = { + enabled: boolean; +}; +declare type ReposGetBranchProtectionResponseDataAllowForcePushes = { + enabled: boolean; +}; +declare type ReposGetBranchProtectionResponseDataRequiredLinearHistory = { + enabled: boolean; +}; +declare type ReposGetBranchProtectionResponseDataRestrictionsAppsItemPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ReposGetBranchProtectionResponseDataRestrictionsAppsItemOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ReposGetBranchProtectionResponseDataRestrictionsAppsItem = { + id: number; + slug: string; + node_id: string; + owner: ReposGetBranchProtectionResponseDataRestrictionsAppsItemOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ReposGetBranchProtectionResponseDataRestrictionsAppsItemPermissions; + events: Array; +}; +declare type ReposGetBranchProtectionResponseDataRestrictionsTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposGetBranchProtectionResponseDataRestrictionsUsersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetBranchProtectionResponseDataRestrictions = { + url: string; + users_url: string; + teams_url: string; + apps_url: string; + users: Array; + teams: Array; + apps: Array; +}; +declare type ReposGetBranchProtectionResponseDataRequiredPullRequestReviewsDismissalRestrictionsTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposGetBranchProtectionResponseDataRequiredPullRequestReviewsDismissalRestrictionsUsersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetBranchProtectionResponseDataRequiredPullRequestReviewsDismissalRestrictions = { + url: string; + users_url: string; + teams_url: string; + users: Array; + teams: Array; +}; +declare type ReposGetBranchProtectionResponseDataRequiredPullRequestReviews = { + url: string; + dismissal_restrictions: ReposGetBranchProtectionResponseDataRequiredPullRequestReviewsDismissalRestrictions; + dismiss_stale_reviews: boolean; + require_code_owner_reviews: boolean; + required_approving_review_count: number; +}; +declare type ReposGetBranchProtectionResponseDataEnforceAdmins = { + url: string; + enabled: boolean; +}; +declare type ReposGetBranchProtectionResponseDataRequiredStatusChecks = { + url: string; + strict: boolean; + contexts: Array; + contexts_url: string; +}; +declare type ReposGetBranchProtectionResponseData = { + url: string; + required_status_checks: ReposGetBranchProtectionResponseDataRequiredStatusChecks; + enforce_admins: ReposGetBranchProtectionResponseDataEnforceAdmins; + required_pull_request_reviews: ReposGetBranchProtectionResponseDataRequiredPullRequestReviews; + restrictions: ReposGetBranchProtectionResponseDataRestrictions; + required_linear_history: ReposGetBranchProtectionResponseDataRequiredLinearHistory; + allow_force_pushes: ReposGetBranchProtectionResponseDataAllowForcePushes; + allow_deletions: ReposGetBranchProtectionResponseDataAllowDeletions; +}; +declare type ReposUpdateBranchProtectionEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * Require status checks to pass before merging. Set to `null` to disable. + */ + required_status_checks: ReposUpdateBranchProtectionParamsRequiredStatusChecks | null; + /** + * Enforce all configured restrictions for administrators. Set to `true` to enforce required status checks for repository administrators. Set to `null` to disable. + */ + enforce_admins: boolean | null; + /** + * Require at least one approving review on a pull request, before merging. Set to `null` to disable. + */ + required_pull_request_reviews: ReposUpdateBranchProtectionParamsRequiredPullRequestReviews | null; + /** + * Restrict who can push to the protected branch. User, app, and team `restrictions` are only available for organization-owned repositories. Set to `null` to disable. + */ + restrictions: ReposUpdateBranchProtectionParamsRestrictions | null; + /** + * Enforces a linear commit Git history, which prevents anyone from pushing merge commits to a branch. Set to `true` to enforce a linear commit history. Set to `false` to disable a linear commit Git history. Your repository must allow squash merging or rebase merging before you can enable a linear commit history. Default: `false`. For more information, see "[Requiring a linear commit history](https://help.github.com/github/administering-a-repository/requiring-a-linear-commit-history)" in the GitHub Help documentation. + */ + required_linear_history?: boolean; + /** + * Permits force pushes to the protected branch by anyone with write access to the repository. Set to `true` to allow force pushes. Set to `false` or `null` to block force pushes. Default: `false`. For more information, see "[Enabling force pushes to a protected branch](https://help.github.com/en/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)" in the GitHub Help documentation." + */ + allow_force_pushes?: boolean | null; + /** + * Allows deletion of the protected branch by anyone with write access to the repository. Set to `false` to prevent deletion of the protected branch. Default: `false`. For more information, see "[Enabling force pushes to a protected branch](https://help.github.com/en/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)" in the GitHub Help documentation. + */ + allow_deletions?: boolean; +}; +declare type ReposUpdateBranchProtectionRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/branches/:branch/protection"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateBranchProtectionResponseDataAllowDeletions = { + enabled: boolean; +}; +declare type ReposUpdateBranchProtectionResponseDataAllowForcePushes = { + enabled: boolean; +}; +declare type ReposUpdateBranchProtectionResponseDataRequiredLinearHistory = { + enabled: boolean; +}; +declare type ReposUpdateBranchProtectionResponseDataRestrictionsAppsItemPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ReposUpdateBranchProtectionResponseDataRestrictionsAppsItemOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ReposUpdateBranchProtectionResponseDataRestrictionsAppsItem = { + id: number; + slug: string; + node_id: string; + owner: ReposUpdateBranchProtectionResponseDataRestrictionsAppsItemOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ReposUpdateBranchProtectionResponseDataRestrictionsAppsItemPermissions; + events: Array; +}; +declare type ReposUpdateBranchProtectionResponseDataRestrictionsTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposUpdateBranchProtectionResponseDataRestrictionsUsersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateBranchProtectionResponseDataRestrictions = { + url: string; + users_url: string; + teams_url: string; + apps_url: string; + users: Array; + teams: Array; + apps: Array; +}; +declare type ReposUpdateBranchProtectionResponseDataRequiredPullRequestReviewsDismissalRestrictionsTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposUpdateBranchProtectionResponseDataRequiredPullRequestReviewsDismissalRestrictionsUsersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateBranchProtectionResponseDataRequiredPullRequestReviewsDismissalRestrictions = { + url: string; + users_url: string; + teams_url: string; + users: Array; + teams: Array; +}; +declare type ReposUpdateBranchProtectionResponseDataRequiredPullRequestReviews = { + url: string; + dismissal_restrictions: ReposUpdateBranchProtectionResponseDataRequiredPullRequestReviewsDismissalRestrictions; + dismiss_stale_reviews: boolean; + require_code_owner_reviews: boolean; + required_approving_review_count: number; +}; +declare type ReposUpdateBranchProtectionResponseDataEnforceAdmins = { + url: string; + enabled: boolean; +}; +declare type ReposUpdateBranchProtectionResponseDataRequiredStatusChecks = { + url: string; + strict: boolean; + contexts: Array; + contexts_url: string; +}; +declare type ReposUpdateBranchProtectionResponseData = { + url: string; + required_status_checks: ReposUpdateBranchProtectionResponseDataRequiredStatusChecks; + enforce_admins: ReposUpdateBranchProtectionResponseDataEnforceAdmins; + required_pull_request_reviews: ReposUpdateBranchProtectionResponseDataRequiredPullRequestReviews; + restrictions: ReposUpdateBranchProtectionResponseDataRestrictions; + required_linear_history: ReposUpdateBranchProtectionResponseDataRequiredLinearHistory; + allow_force_pushes: ReposUpdateBranchProtectionResponseDataAllowForcePushes; + allow_deletions: ReposUpdateBranchProtectionResponseDataAllowDeletions; +}; +declare type ReposRemoveBranchProtectionEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposRemoveBranchProtectionRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetProtectedBranchAdminEnforcementEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposGetProtectedBranchAdminEnforcementRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection/enforce_admins"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetProtectedBranchAdminEnforcementResponseData = { + url: string; + enabled: boolean; +}; +declare type ReposAddProtectedBranchAdminEnforcementEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposAddProtectedBranchAdminEnforcementRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/branches/:branch/protection/enforce_admins"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposAddProtectedBranchAdminEnforcementResponseData = { + url: string; + enabled: boolean; +}; +declare type ReposRemoveProtectedBranchAdminEnforcementEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposRemoveProtectedBranchAdminEnforcementRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection/enforce_admins"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetProtectedBranchPullRequestReviewEnforcementEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposGetProtectedBranchPullRequestReviewEnforcementRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetProtectedBranchPullRequestReviewEnforcementResponseDataDismissalRestrictionsTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposGetProtectedBranchPullRequestReviewEnforcementResponseDataDismissalRestrictionsUsersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetProtectedBranchPullRequestReviewEnforcementResponseDataDismissalRestrictions = { + url: string; + users_url: string; + teams_url: string; + users: Array; + teams: Array; +}; +declare type ReposGetProtectedBranchPullRequestReviewEnforcementResponseData = { + url: string; + dismissal_restrictions: ReposGetProtectedBranchPullRequestReviewEnforcementResponseDataDismissalRestrictions; + dismiss_stale_reviews: boolean; + require_code_owner_reviews: boolean; + required_approving_review_count: number; +}; +declare type ReposUpdateProtectedBranchPullRequestReviewEnforcementEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * Specify which users and teams can dismiss pull request reviews. Pass an empty `dismissal_restrictions` object to disable. User and team `dismissal_restrictions` are only available for organization-owned repositories. Omit this parameter for personal repositories. + */ + dismissal_restrictions?: ReposUpdateProtectedBranchPullRequestReviewEnforcementParamsDismissalRestrictions; + /** + * Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit. + */ + dismiss_stale_reviews?: boolean; + /** + * Blocks merging pull requests until [code owners](https://help.github.com/articles/about-code-owners/) have reviewed. + */ + require_code_owner_reviews?: boolean; + /** + * Specifies the number of reviewers required to approve pull requests. Use a number between 1 and 6. + */ + required_approving_review_count?: number; +}; +declare type ReposUpdateProtectedBranchPullRequestReviewEnforcementRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseDataDismissalRestrictionsTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseDataDismissalRestrictionsUsersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseDataDismissalRestrictions = { + url: string; + users_url: string; + teams_url: string; + users: Array; + teams: Array; +}; +declare type ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseData = { + url: string; + dismissal_restrictions: ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseDataDismissalRestrictions; + dismiss_stale_reviews: boolean; + require_code_owner_reviews: boolean; + required_approving_review_count: number; +}; +declare type ReposRemoveProtectedBranchPullRequestReviewEnforcementEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposRemoveProtectedBranchPullRequestReviewEnforcementRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetProtectedBranchRequiredSignaturesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +} & RequiredPreview<"zzzax">; +declare type ReposGetProtectedBranchRequiredSignaturesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_signatures"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetProtectedBranchRequiredSignaturesResponseData = { + url: string; + enabled: boolean; +}; +declare type ReposAddProtectedBranchRequiredSignaturesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +} & RequiredPreview<"zzzax">; +declare type ReposAddProtectedBranchRequiredSignaturesRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_signatures"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposAddProtectedBranchRequiredSignaturesResponseData = { + url: string; + enabled: boolean; +}; +declare type ReposRemoveProtectedBranchRequiredSignaturesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +} & RequiredPreview<"zzzax">; +declare type ReposRemoveProtectedBranchRequiredSignaturesRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_signatures"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetProtectedBranchRequiredStatusChecksEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposGetProtectedBranchRequiredStatusChecksRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetProtectedBranchRequiredStatusChecksResponseData = { + url: string; + strict: boolean; + contexts: Array; + contexts_url: string; +}; +declare type ReposUpdateProtectedBranchRequiredStatusChecksEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * Require branches to be up to date before merging. + */ + strict?: boolean; + /** + * The list of status checks to require in order to merge into this branch + */ + contexts?: string[]; +}; +declare type ReposUpdateProtectedBranchRequiredStatusChecksRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateProtectedBranchRequiredStatusChecksResponseData = { + url: string; + strict: boolean; + contexts: Array; + contexts_url: string; +}; +declare type ReposRemoveProtectedBranchRequiredStatusChecksEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposRemoveProtectedBranchRequiredStatusChecksRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListProtectedBranchRequiredStatusChecksContextsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposListProtectedBranchRequiredStatusChecksContextsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListProtectedBranchRequiredStatusChecksContextsResponseData = Array; +declare type ReposReplaceProtectedBranchRequiredStatusChecksContextsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * contexts parameter + */ + contexts: string[]; +}; +declare type ReposReplaceProtectedBranchRequiredStatusChecksContextsRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposReplaceProtectedBranchRequiredStatusChecksContextsResponseData = Array; +declare type ReposAddProtectedBranchRequiredStatusChecksContextsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * contexts parameter + */ + contexts: string[]; +}; +declare type ReposAddProtectedBranchRequiredStatusChecksContextsRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposAddProtectedBranchRequiredStatusChecksContextsResponseData = Array; +declare type ReposRemoveProtectedBranchRequiredStatusChecksContextsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * contexts parameter + */ + contexts: string[]; +}; +declare type ReposRemoveProtectedBranchRequiredStatusChecksContextsRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposRemoveProtectedBranchRequiredStatusChecksContextsResponseData = Array; +declare type ReposGetProtectedBranchRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposGetProtectedBranchRestrictionsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetProtectedBranchRestrictionsResponseDataAppsItemPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ReposGetProtectedBranchRestrictionsResponseDataAppsItemOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ReposGetProtectedBranchRestrictionsResponseDataAppsItem = { + id: number; + slug: string; + node_id: string; + owner: ReposGetProtectedBranchRestrictionsResponseDataAppsItemOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ReposGetProtectedBranchRestrictionsResponseDataAppsItemPermissions; + events: Array; +}; +declare type ReposGetProtectedBranchRestrictionsResponseDataTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposGetProtectedBranchRestrictionsResponseDataUsersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetProtectedBranchRestrictionsResponseData = { + url: string; + users_url: string; + teams_url: string; + apps_url: string; + users: Array; + teams: Array; + apps: Array; +}; +declare type ReposRemoveProtectedBranchRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposRemoveProtectedBranchRestrictionsRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetAppsWithAccessToProtectedBranchEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposGetAppsWithAccessToProtectedBranchRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/apps"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetAppsWithAccessToProtectedBranchResponseDataItemPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ReposGetAppsWithAccessToProtectedBranchResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ReposGetAppsWithAccessToProtectedBranchResponseDataItem = { + id: number; + slug: string; + node_id: string; + owner: ReposGetAppsWithAccessToProtectedBranchResponseDataItemOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ReposGetAppsWithAccessToProtectedBranchResponseDataItemPermissions; + events: Array; +}; +declare type ReposGetAppsWithAccessToProtectedBranchResponseData = Array; +declare type ReposReplaceProtectedBranchAppRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * apps parameter + */ + apps: string[]; +}; +declare type ReposReplaceProtectedBranchAppRestrictionsRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/apps"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposReplaceProtectedBranchAppRestrictionsResponseDataItemPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ReposReplaceProtectedBranchAppRestrictionsResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ReposReplaceProtectedBranchAppRestrictionsResponseDataItem = { + id: number; + slug: string; + node_id: string; + owner: ReposReplaceProtectedBranchAppRestrictionsResponseDataItemOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ReposReplaceProtectedBranchAppRestrictionsResponseDataItemPermissions; + events: Array; +}; +declare type ReposReplaceProtectedBranchAppRestrictionsResponseData = Array; +declare type ReposAddProtectedBranchAppRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * apps parameter + */ + apps: string[]; +}; +declare type ReposAddProtectedBranchAppRestrictionsRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/apps"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposAddProtectedBranchAppRestrictionsResponseDataItemPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ReposAddProtectedBranchAppRestrictionsResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ReposAddProtectedBranchAppRestrictionsResponseDataItem = { + id: number; + slug: string; + node_id: string; + owner: ReposAddProtectedBranchAppRestrictionsResponseDataItemOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ReposAddProtectedBranchAppRestrictionsResponseDataItemPermissions; + events: Array; +}; +declare type ReposAddProtectedBranchAppRestrictionsResponseData = Array; +declare type ReposRemoveProtectedBranchAppRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * apps parameter + */ + apps: string[]; +}; +declare type ReposRemoveProtectedBranchAppRestrictionsRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/apps"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposRemoveProtectedBranchAppRestrictionsResponseDataItemPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ReposRemoveProtectedBranchAppRestrictionsResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ReposRemoveProtectedBranchAppRestrictionsResponseDataItem = { + id: number; + slug: string; + node_id: string; + owner: ReposRemoveProtectedBranchAppRestrictionsResponseDataItemOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ReposRemoveProtectedBranchAppRestrictionsResponseDataItemPermissions; + events: Array; +}; +declare type ReposRemoveProtectedBranchAppRestrictionsResponseData = Array; +declare type ReposGetTeamsWithAccessToProtectedBranchEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposGetTeamsWithAccessToProtectedBranchRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetTeamsWithAccessToProtectedBranchResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposGetTeamsWithAccessToProtectedBranchResponseData = Array; +declare type ReposReplaceProtectedBranchTeamRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * teams parameter + */ + teams: string[]; +}; +declare type ReposReplaceProtectedBranchTeamRestrictionsRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposReplaceProtectedBranchTeamRestrictionsResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposReplaceProtectedBranchTeamRestrictionsResponseData = Array; +declare type ReposAddProtectedBranchTeamRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * teams parameter + */ + teams: string[]; +}; +declare type ReposAddProtectedBranchTeamRestrictionsRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposAddProtectedBranchTeamRestrictionsResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposAddProtectedBranchTeamRestrictionsResponseData = Array; +declare type ReposRemoveProtectedBranchTeamRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * teams parameter + */ + teams: string[]; +}; +declare type ReposRemoveProtectedBranchTeamRestrictionsRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposRemoveProtectedBranchTeamRestrictionsResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposRemoveProtectedBranchTeamRestrictionsResponseData = Array; +declare type ReposGetUsersWithAccessToProtectedBranchEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposGetUsersWithAccessToProtectedBranchRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/users"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetUsersWithAccessToProtectedBranchResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetUsersWithAccessToProtectedBranchResponseData = Array; +declare type ReposReplaceProtectedBranchUserRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * users parameter + */ + users: string[]; +}; +declare type ReposReplaceProtectedBranchUserRestrictionsRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/users"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposReplaceProtectedBranchUserRestrictionsResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposReplaceProtectedBranchUserRestrictionsResponseData = Array; +declare type ReposAddProtectedBranchUserRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * users parameter + */ + users: string[]; +}; +declare type ReposAddProtectedBranchUserRestrictionsRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/users"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposAddProtectedBranchUserRestrictionsResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposAddProtectedBranchUserRestrictionsResponseData = Array; +declare type ReposRemoveProtectedBranchUserRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * users parameter + */ + users: string[]; +}; +declare type ReposRemoveProtectedBranchUserRestrictionsRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/users"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposRemoveProtectedBranchUserRestrictionsResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposRemoveProtectedBranchUserRestrictionsResponseData = Array; +declare type ChecksCreateEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The name of the check. For example, "code-coverage". + */ + name: string; + /** + * The SHA of the commit. + */ + head_sha: string; + /** + * The URL of the integrator's site that has the full details of the check. If the integrator does not provide this, then the homepage of the GitHub app is used. + */ + details_url?: string; + /** + * A reference for the run on the integrator's system. + */ + external_id?: string; + /** + * The current status. Can be one of `queued`, `in_progress`, or `completed`. + */ + status?: "queued" | "in_progress" | "completed"; + /** + * The time that the check run began. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + started_at?: string; + /** + * **Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. Can be one of `success`, `failure`, `neutral`, `cancelled`, `skipped`, `timed_out`, or `action_required`. When the conclusion is `action_required`, additional details should be provided on the site specified by `details_url`. + * **Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. Only GitHub can change a check run conclusion to `stale`. + */ + conclusion?: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required"; + /** + * The time the check completed. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + completed_at?: string; + /** + * Check runs can accept a variety of data in the `output` object, including a `title` and `summary` and can optionally provide descriptive details about the run. See the [`output` object](https://developer.github.com/v3/checks/runs/#output-object) description. + */ + output?: ChecksCreateParamsOutput; + /** + * Displays a button on GitHub that can be clicked to alert your app to do additional tasks. For example, a code linting app can display a button that automatically fixes detected errors. The button created in this object is displayed after the check run completes. When a user clicks the button, GitHub sends the [`check_run.requested_action` webhook](https://developer.github.com/v3/activity/events/types/#checkrunevent) to your app. Each action includes a `label`, `identifier` and `description`. A maximum of three actions are accepted. See the [`actions` object](https://developer.github.com/v3/checks/runs/#actions-object) description. To learn more about check runs and requested actions, see "[Check runs and requested actions](https://developer.github.com/v3/checks/runs/#check-runs-and-requested-actions)." To learn more about check runs and requested actions, see "[Check runs and requested actions](https://developer.github.com/v3/checks/runs/#check-runs-and-requested-actions)." + */ + actions?: ChecksCreateParamsActions[]; +} & RequiredPreview<"antiope">; +declare type ChecksCreateRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/check-runs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksCreateResponseDataPullRequestsItemBaseRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksCreateResponseDataPullRequestsItemBase = { + ref: string; + sha: string; + repo: ChecksCreateResponseDataPullRequestsItemBaseRepo; +}; +declare type ChecksCreateResponseDataPullRequestsItemHeadRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksCreateResponseDataPullRequestsItemHead = { + ref: string; + sha: string; + repo: ChecksCreateResponseDataPullRequestsItemHeadRepo; +}; +declare type ChecksCreateResponseDataPullRequestsItem = { + url: string; + id: number; + number: number; + head: ChecksCreateResponseDataPullRequestsItemHead; + base: ChecksCreateResponseDataPullRequestsItemBase; +}; +declare type ChecksCreateResponseDataAppPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ChecksCreateResponseDataAppOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ChecksCreateResponseDataApp = { + id: number; + slug: string; + node_id: string; + owner: ChecksCreateResponseDataAppOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ChecksCreateResponseDataAppPermissions; + events: Array; +}; +declare type ChecksCreateResponseDataCheckSuite = { + id: number; +}; +declare type ChecksCreateResponseDataOutput = { + title: string; + summary: string; + text: string; + annotations_count?: number; + annotations_url?: string; +}; +declare type ChecksCreateResponseData = { + id: number; + head_sha: string; + node_id: string; + external_id: string; + url: string; + html_url: string; + details_url: string; + status: string; + conclusion: null | string; + started_at: string; + completed_at: null | string; + output: ChecksCreateResponseDataOutput; + name: string; + check_suite: ChecksCreateResponseDataCheckSuite; + app: ChecksCreateResponseDataApp; + pull_requests: Array; +}; +declare type ChecksUpdateEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * check_run_id parameter + */ + check_run_id: number; + /** + * The name of the check. For example, "code-coverage". + */ + name?: string; + /** + * The URL of the integrator's site that has the full details of the check. + */ + details_url?: string; + /** + * A reference for the run on the integrator's system. + */ + external_id?: string; + /** + * This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + started_at?: string; + /** + * The current status. Can be one of `queued`, `in_progress`, or `completed`. + */ + status?: "queued" | "in_progress" | "completed"; + /** + * **Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. Can be one of `success`, `failure`, `neutral`, `cancelled`, `skipped`, `timed_out`, or `action_required`. + * **Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. Only GitHub can change a check run conclusion to `stale`. + */ + conclusion?: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required"; + /** + * The time the check completed. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + completed_at?: string; + /** + * Check runs can accept a variety of data in the `output` object, including a `title` and `summary` and can optionally provide descriptive details about the run. See the [`output` object](https://developer.github.com/v3/checks/runs/#output-object-1) description. + */ + output?: ChecksUpdateParamsOutput; + /** + * Possible further actions the integrator can perform, which a user may trigger. Each action includes a `label`, `identifier` and `description`. A maximum of three actions are accepted. See the [`actions` object](https://developer.github.com/v3/checks/runs/#actions-object) description. To learn more about check runs and requested actions, see "[Check runs and requested actions](https://developer.github.com/v3/checks/runs/#check-runs-and-requested-actions)." + */ + actions?: ChecksUpdateParamsActions[]; +} & RequiredPreview<"antiope">; +declare type ChecksUpdateRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/check-runs/:check_run_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksUpdateResponseDataPullRequestsItemBaseRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksUpdateResponseDataPullRequestsItemBase = { + ref: string; + sha: string; + repo: ChecksUpdateResponseDataPullRequestsItemBaseRepo; +}; +declare type ChecksUpdateResponseDataPullRequestsItemHeadRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksUpdateResponseDataPullRequestsItemHead = { + ref: string; + sha: string; + repo: ChecksUpdateResponseDataPullRequestsItemHeadRepo; +}; +declare type ChecksUpdateResponseDataPullRequestsItem = { + url: string; + id: number; + number: number; + head: ChecksUpdateResponseDataPullRequestsItemHead; + base: ChecksUpdateResponseDataPullRequestsItemBase; +}; +declare type ChecksUpdateResponseDataAppPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ChecksUpdateResponseDataAppOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ChecksUpdateResponseDataApp = { + id: number; + slug: string; + node_id: string; + owner: ChecksUpdateResponseDataAppOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ChecksUpdateResponseDataAppPermissions; + events: Array; +}; +declare type ChecksUpdateResponseDataCheckSuite = { + id: number; +}; +declare type ChecksUpdateResponseDataOutput = { + title: string; + summary: string; + text: string; + annotations_count: number; + annotations_url: string; +}; +declare type ChecksUpdateResponseData = { + id: number; + head_sha: string; + node_id: string; + external_id: string; + url: string; + html_url: string; + details_url: string; + status: string; + conclusion: string; + started_at: string; + completed_at: string; + output: ChecksUpdateResponseDataOutput; + name: string; + check_suite: ChecksUpdateResponseDataCheckSuite; + app: ChecksUpdateResponseDataApp; + pull_requests: Array; +}; +declare type ChecksGetEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * check_run_id parameter + */ + check_run_id: number; +} & RequiredPreview<"antiope">; +declare type ChecksGetRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/check-runs/:check_run_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksGetResponseDataPullRequestsItemBaseRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksGetResponseDataPullRequestsItemBase = { + ref: string; + sha: string; + repo: ChecksGetResponseDataPullRequestsItemBaseRepo; +}; +declare type ChecksGetResponseDataPullRequestsItemHeadRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksGetResponseDataPullRequestsItemHead = { + ref: string; + sha: string; + repo: ChecksGetResponseDataPullRequestsItemHeadRepo; +}; +declare type ChecksGetResponseDataPullRequestsItem = { + url: string; + id: number; + number: number; + head: ChecksGetResponseDataPullRequestsItemHead; + base: ChecksGetResponseDataPullRequestsItemBase; +}; +declare type ChecksGetResponseDataAppPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ChecksGetResponseDataAppOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ChecksGetResponseDataApp = { + id: number; + slug: string; + node_id: string; + owner: ChecksGetResponseDataAppOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ChecksGetResponseDataAppPermissions; + events: Array; +}; +declare type ChecksGetResponseDataCheckSuite = { + id: number; +}; +declare type ChecksGetResponseDataOutput = { + title: string; + summary: string; + text: string; + annotations_count: number; + annotations_url: string; +}; +declare type ChecksGetResponseData = { + id: number; + head_sha: string; + node_id: string; + external_id: string; + url: string; + html_url: string; + details_url: string; + status: string; + conclusion: string; + started_at: string; + completed_at: string; + output: ChecksGetResponseDataOutput; + name: string; + check_suite: ChecksGetResponseDataCheckSuite; + app: ChecksGetResponseDataApp; + pull_requests: Array; +}; +declare type ChecksListAnnotationsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * check_run_id parameter + */ + check_run_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"antiope">; +declare type ChecksListAnnotationsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/check-runs/:check_run_id/annotations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksListAnnotationsResponseDataItem = { + path: string; + start_line: number; + end_line: number; + start_column: number; + end_column: number; + annotation_level: string; + title: string; + message: string; + raw_details: string; +}; +declare type ChecksListAnnotationsResponseData = Array; +declare type ChecksCreateSuiteEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The sha of the head commit. + */ + head_sha: string; +} & RequiredPreview<"antiope">; +declare type ChecksCreateSuiteRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/check-suites"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksCreateSuiteResponseDataRepositoryPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ChecksCreateSuiteResponseDataRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ChecksCreateSuiteResponseDataRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ChecksCreateSuiteResponseDataRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ChecksCreateSuiteResponseDataRepositoryPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ChecksCreateSuiteResponseDataAppPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ChecksCreateSuiteResponseDataAppOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ChecksCreateSuiteResponseDataApp = { + id: number; + slug: string; + node_id: string; + owner: ChecksCreateSuiteResponseDataAppOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ChecksCreateSuiteResponseDataAppPermissions; + events: Array; +}; +declare type ChecksCreateSuiteResponseData = { + id: number; + node_id: string; + head_branch: string; + head_sha: string; + status: string; + conclusion: string; + url: string; + before: string; + after: string; + pull_requests: Array; + app: ChecksCreateSuiteResponseDataApp; + repository: ChecksCreateSuiteResponseDataRepository; +}; +declare type ChecksSetSuitesPreferencesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Enables or disables automatic creation of CheckSuite events upon pushes to the repository. Enabled by default. See the [`auto_trigger_checks` object](https://developer.github.com/v3/checks/suites/#auto_trigger_checks-object) description for details. + */ + auto_trigger_checks?: ChecksSetSuitesPreferencesParamsAutoTriggerChecks[]; +} & RequiredPreview<"antiope">; +declare type ChecksSetSuitesPreferencesRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/check-suites/preferences"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksSetSuitesPreferencesResponseDataRepositoryPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ChecksSetSuitesPreferencesResponseDataRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ChecksSetSuitesPreferencesResponseDataRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ChecksSetSuitesPreferencesResponseDataRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ChecksSetSuitesPreferencesResponseDataRepositoryPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ChecksSetSuitesPreferencesResponseDataPreferencesAutoTriggerChecksItem = { + app_id: number; + setting: boolean; +}; +declare type ChecksSetSuitesPreferencesResponseDataPreferences = { + auto_trigger_checks: Array; +}; +declare type ChecksSetSuitesPreferencesResponseData = { + preferences: ChecksSetSuitesPreferencesResponseDataPreferences; + repository: ChecksSetSuitesPreferencesResponseDataRepository; +}; +declare type ChecksGetSuiteEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * check_suite_id parameter + */ + check_suite_id: number; +} & RequiredPreview<"antiope">; +declare type ChecksGetSuiteRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/check-suites/:check_suite_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksGetSuiteResponseDataRepositoryPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ChecksGetSuiteResponseDataRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ChecksGetSuiteResponseDataRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ChecksGetSuiteResponseDataRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ChecksGetSuiteResponseDataRepositoryPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ChecksGetSuiteResponseDataAppPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ChecksGetSuiteResponseDataAppOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ChecksGetSuiteResponseDataApp = { + id: number; + slug: string; + node_id: string; + owner: ChecksGetSuiteResponseDataAppOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ChecksGetSuiteResponseDataAppPermissions; + events: Array; +}; +declare type ChecksGetSuiteResponseData = { + id: number; + node_id: string; + head_branch: string; + head_sha: string; + status: string; + conclusion: string; + url: string; + before: string; + after: string; + pull_requests: Array; + app: ChecksGetSuiteResponseDataApp; + repository: ChecksGetSuiteResponseDataRepository; +}; +declare type ChecksListForSuiteEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * check_suite_id parameter + */ + check_suite_id: number; + /** + * Returns check runs with the specified `name`. + */ + check_name?: string; + /** + * Returns check runs with the specified `status`. Can be one of `queued`, `in_progress`, or `completed`. + */ + status?: "queued" | "in_progress" | "completed"; + /** + * Filters check runs by their `completed_at` timestamp. Can be one of `latest` (returning the most recent check runs) or `all`. + */ + filter?: "latest" | "all"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"antiope">; +declare type ChecksListForSuiteRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/check-suites/:check_suite_id/check-runs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemPullRequestsItemBaseRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemPullRequestsItemBase = { + ref: string; + sha: string; + repo: ChecksListForSuiteResponseDataCheckRunsItemPullRequestsItemBaseRepo; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemPullRequestsItemHeadRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemPullRequestsItemHead = { + ref: string; + sha: string; + repo: ChecksListForSuiteResponseDataCheckRunsItemPullRequestsItemHeadRepo; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemPullRequestsItem = { + url: string; + id: number; + number: number; + head: ChecksListForSuiteResponseDataCheckRunsItemPullRequestsItemHead; + base: ChecksListForSuiteResponseDataCheckRunsItemPullRequestsItemBase; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemAppPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemAppOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemApp = { + id: number; + slug: string; + node_id: string; + owner: ChecksListForSuiteResponseDataCheckRunsItemAppOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ChecksListForSuiteResponseDataCheckRunsItemAppPermissions; + events: Array; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemCheckSuite = { + id: number; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemOutput = { + title: string; + summary: string; + text: string; + annotations_count: number; + annotations_url: string; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItem = { + id: number; + head_sha: string; + node_id: string; + external_id: string; + url: string; + html_url: string; + details_url: string; + status: string; + conclusion: string; + started_at: string; + completed_at: string; + output: ChecksListForSuiteResponseDataCheckRunsItemOutput; + name: string; + check_suite: ChecksListForSuiteResponseDataCheckRunsItemCheckSuite; + app: ChecksListForSuiteResponseDataCheckRunsItemApp; + pull_requests: Array; +}; +declare type ChecksListForSuiteResponseData = { + total_count: number; + check_runs: Array; +}; +declare type ChecksRerequestSuiteEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * check_suite_id parameter + */ + check_suite_id: number; +} & RequiredPreview<"antiope">; +declare type ChecksRerequestSuiteRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/check-suites/:check_suite_id/rerequest"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type CodeScanningListAlertsForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Set to `closed` to list only closed code scanning alerts. + */ + state?: string; + /** + * Returns a list of code scanning alerts for a specific brach reference. The `ref` must be formatted as `heads/`. + */ + ref?: string; +}; +declare type CodeScanningListAlertsForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/code-scanning/alerts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type CodeScanningListAlertsForRepoResponseDataItem = { + rule_id: string; + rule_severity: string; + rule_description: string; + tool: string; + created_at: string; + open: boolean; + closed_by: null; + closed_at: null; + url: string; + html_url: string; +}; +declare type CodeScanningListAlertsForRepoResponseData = Array; +declare type CodeScanningGetAlertEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * alert_id parameter + */ + alert_id: number; +}; +declare type CodeScanningGetAlertRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/code-scanning/alerts/:alert_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type CodeScanningGetAlertResponseData = { + rule_id: string; + rule_severity: string; + rule_description: string; + tool: string; + created_at: string; + open: boolean; + closed_by: null; + closed_at: null; + url: string; + html_url: string; +}; +declare type ReposListCollaboratorsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Filter collaborators returned by their affiliation. Can be one of: + * \* `outside`: All outside collaborators of an organization-owned repository. + * \* `direct`: All collaborators with permissions to an organization-owned repository, regardless of organization membership status. + * \* `all`: All collaborators the authenticated user can see. + */ + affiliation?: "outside" | "direct" | "all"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListCollaboratorsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/collaborators"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListCollaboratorsResponseDataItemPermissions = { + pull: boolean; + push: boolean; + admin: boolean; +}; +declare type ReposListCollaboratorsResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; + permissions: ReposListCollaboratorsResponseDataItemPermissions; +}; +declare type ReposListCollaboratorsResponseData = Array; +declare type ReposCheckCollaboratorEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * username parameter + */ + username: string; +}; +declare type ReposCheckCollaboratorRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/collaborators/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposAddCollaboratorEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * username parameter + */ + username: string; + /** + * The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: + * \* `pull` - can pull, but not push to or administer this repository. + * \* `push` - can pull and push, but not administer this repository. + * \* `admin` - can pull, push and administer this repository. + * \* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. + * \* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access. + */ + permission?: "pull" | "push" | "admin" | "maintain" | "triage"; +}; +declare type ReposAddCollaboratorRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/collaborators/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposAddCollaboratorResponseDataInviter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposAddCollaboratorResponseDataInvitee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposAddCollaboratorResponseDataRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposAddCollaboratorResponseDataRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposAddCollaboratorResponseDataRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ReposAddCollaboratorResponseData = { + id: number; + repository: ReposAddCollaboratorResponseDataRepository; + invitee: ReposAddCollaboratorResponseDataInvitee; + inviter: ReposAddCollaboratorResponseDataInviter; + permissions: string; + created_at: string; + url: string; + html_url: string; +}; +declare type ReposRemoveCollaboratorEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * username parameter + */ + username: string; +}; +declare type ReposRemoveCollaboratorRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/collaborators/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetCollaboratorPermissionLevelEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * username parameter + */ + username: string; +}; +declare type ReposGetCollaboratorPermissionLevelRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/collaborators/:username/permission"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetCollaboratorPermissionLevelResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetCollaboratorPermissionLevelResponseData = { + permission: string; + user: ReposGetCollaboratorPermissionLevelResponseDataUser; +}; +declare type ReposListCommitCommentsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListCommitCommentsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListCommitCommentsResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListCommitCommentsResponseDataItem = { + html_url: string; + url: string; + id: number; + node_id: string; + body: string; + path: string; + position: number; + line: number; + commit_id: string; + user: ReposListCommitCommentsResponseDataItemUser; + created_at: string; + updated_at: string; +}; +declare type ReposListCommitCommentsResponseData = Array; +declare type ReposGetCommitCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; +}; +declare type ReposGetCommitCommentRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetCommitCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetCommitCommentResponseData = { + html_url: string; + url: string; + id: number; + node_id: string; + body: string; + path: string; + position: number; + line: number; + commit_id: string; + user: ReposGetCommitCommentResponseDataUser; + created_at: string; + updated_at: string; +}; +declare type ReposUpdateCommitCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * The contents of the comment + */ + body: string; +}; +declare type ReposUpdateCommitCommentRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateCommitCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateCommitCommentResponseData = { + html_url: string; + url: string; + id: number; + node_id: string; + body: string; + path: string; + position: number; + line: number; + commit_id: string; + user: ReposUpdateCommitCommentResponseDataUser; + created_at: string; + updated_at: string; +}; +declare type ReposDeleteCommitCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; +}; +declare type ReposDeleteCommitCommentRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForCommitCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to a commit comment. + */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsListForCommitCommentRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/comments/:comment_id/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForCommitCommentResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsListForCommitCommentResponseDataItem = { + id: number; + node_id: string; + user: ReactionsListForCommitCommentResponseDataItemUser; + content: string; + created_at: string; +}; +declare type ReactionsListForCommitCommentResponseData = Array; +declare type ReactionsCreateForCommitCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the commit comment. + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsCreateForCommitCommentRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/comments/:comment_id/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsCreateForCommitCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsCreateForCommitCommentResponseData = { + id: number; + node_id: string; + user: ReactionsCreateForCommitCommentResponseDataUser; + content: string; + created_at: string; +}; +declare type ReactionsDeleteForCommitCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * reaction_id parameter + */ + reaction_id: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsDeleteForCommitCommentRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/comments/:comment_id/reactions/:reaction_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListCommitsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * SHA or branch to start listing commits from. Default: the repository’s default branch (usually `master`). + */ + sha?: string; + /** + * Only commits containing this file path will be returned. + */ + path?: string; + /** + * GitHub login or email address by which to filter by commit author. + */ + author?: string; + /** + * Only commits after this date will be returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; + /** + * Only commits before this date will be returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + until?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListCommitsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/commits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListCommitsResponseDataItemParentsItem = { + url: string; + sha: string; +}; +declare type ReposListCommitsResponseDataItemCommitter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListCommitsResponseDataItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListCommitsResponseDataItemCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type ReposListCommitsResponseDataItemCommitTree = { + url: string; + sha: string; +}; +declare type ReposListCommitsResponseDataItemCommitCommitter = { + name: string; + email: string; + date: string; +}; +declare type ReposListCommitsResponseDataItemCommitAuthor = { + name: string; + email: string; + date: string; +}; +declare type ReposListCommitsResponseDataItemCommit = { + url: string; + author: ReposListCommitsResponseDataItemCommitAuthor; + committer: ReposListCommitsResponseDataItemCommitCommitter; + message: string; + tree: ReposListCommitsResponseDataItemCommitTree; + comment_count: number; + verification: ReposListCommitsResponseDataItemCommitVerification; +}; +declare type ReposListCommitsResponseDataItem = { + url: string; + sha: string; + node_id: string; + html_url: string; + comments_url: string; + commit: ReposListCommitsResponseDataItemCommit; + author: ReposListCommitsResponseDataItemAuthor; + committer: ReposListCommitsResponseDataItemCommitter; + parents: Array; +}; +declare type ReposListCommitsResponseData = Array; +declare type ReposListBranchesForHeadCommitEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * commit_sha parameter + */ + commit_sha: string; +} & RequiredPreview<"groot">; +declare type ReposListBranchesForHeadCommitRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/commits/:commit_sha/branches-where-head"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListBranchesForHeadCommitResponseDataItemCommit = { + sha: string; + url: string; +}; +declare type ReposListBranchesForHeadCommitResponseDataItem = { + name: string; + commit: ReposListBranchesForHeadCommitResponseDataItemCommit; + protected: boolean; +}; +declare type ReposListBranchesForHeadCommitResponseData = Array; +declare type ReposListCommentsForCommitEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * commit_sha parameter + */ + commit_sha: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListCommentsForCommitRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/commits/:commit_sha/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListCommentsForCommitResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListCommentsForCommitResponseDataItem = { + html_url: string; + url: string; + id: number; + node_id: string; + body: string; + path: string; + position: number; + line: number; + commit_id: string; + user: ReposListCommentsForCommitResponseDataItemUser; + created_at: string; + updated_at: string; +}; +declare type ReposListCommentsForCommitResponseData = Array; +declare type ReposCreateCommitCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * commit_sha parameter + */ + commit_sha: string; + /** + * The contents of the comment. + */ + body: string; + /** + * Relative path of the file to comment on. + */ + path?: string; + /** + * Line index in the diff to comment on. + */ + position?: number; + /** + * **Deprecated**. Use **position** parameter instead. Line number in the file to comment on. + */ + line?: number; +}; +declare type ReposCreateCommitCommentRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/commits/:commit_sha/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateCommitCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateCommitCommentResponseData = { + html_url: string; + url: string; + id: number; + node_id: string; + body: string; + path: string; + position: number; + line: number; + commit_id: string; + user: ReposCreateCommitCommentResponseDataUser; + created_at: string; + updated_at: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * commit_sha parameter + */ + commit_sha: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"groot">; +declare type ReposListPullRequestsAssociatedWithCommitRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/commits/:commit_sha/pulls"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksStatuses = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksCommits = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksReviewComment = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksReviewComments = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksComments = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksIssue = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksHtml = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksSelf = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLinks = { + self: ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksSelf; + html: ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksHtml; + issue: ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksIssue; + comments: ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksComments; + review_comments: ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksReviewComments; + review_comment: ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksReviewComment; + commits: ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksCommits; + statuses: ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksStatuses; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemBaseRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemBaseRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemBaseRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposListPullRequestsAssociatedWithCommitResponseDataItemBaseRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposListPullRequestsAssociatedWithCommitResponseDataItemBaseRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemBaseUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemBase = { + label: string; + ref: string; + sha: string; + user: ReposListPullRequestsAssociatedWithCommitResponseDataItemBaseUser; + repo: ReposListPullRequestsAssociatedWithCommitResponseDataItemBaseRepo; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemHeadRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemHeadRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemHeadRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposListPullRequestsAssociatedWithCommitResponseDataItemHeadRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposListPullRequestsAssociatedWithCommitResponseDataItemHeadRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemHeadUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemHead = { + label: string; + ref: string; + sha: string; + user: ReposListPullRequestsAssociatedWithCommitResponseDataItemHeadUser; + repo: ReposListPullRequestsAssociatedWithCommitResponseDataItemHeadRepo; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemRequestedTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemRequestedReviewersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: ReposListPullRequestsAssociatedWithCommitResponseDataItemMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItem = { + url: string; + id: number; + node_id: string; + html_url: string; + diff_url: string; + patch_url: string; + issue_url: string; + commits_url: string; + review_comments_url: string; + review_comment_url: string; + comments_url: string; + statuses_url: string; + number: number; + state: string; + locked: boolean; + title: string; + user: ReposListPullRequestsAssociatedWithCommitResponseDataItemUser; + body: string; + labels: Array; + milestone: ReposListPullRequestsAssociatedWithCommitResponseDataItemMilestone; + active_lock_reason: string; + created_at: string; + updated_at: string; + closed_at: string; + merged_at: string; + merge_commit_sha: string; + assignee: ReposListPullRequestsAssociatedWithCommitResponseDataItemAssignee; + assignees: Array; + requested_reviewers: Array; + requested_teams: Array; + head: ReposListPullRequestsAssociatedWithCommitResponseDataItemHead; + base: ReposListPullRequestsAssociatedWithCommitResponseDataItemBase; + _links: ReposListPullRequestsAssociatedWithCommitResponseDataItemLinks; + author_association: string; + draft: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseData = Array; +declare type ReposGetCommitEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * ref parameter + */ + ref: string; +}; +declare type ReposGetCommitRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/commits/:ref"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetCommitResponseDataFilesItem = { + filename: string; + additions: number; + deletions: number; + changes: number; + status: string; + raw_url: string; + blob_url: string; + patch: string; +}; +declare type ReposGetCommitResponseDataStats = { + additions: number; + deletions: number; + total: number; +}; +declare type ReposGetCommitResponseDataParentsItem = { + url: string; + sha: string; +}; +declare type ReposGetCommitResponseDataCommitter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetCommitResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetCommitResponseDataCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type ReposGetCommitResponseDataCommitTree = { + url: string; + sha: string; +}; +declare type ReposGetCommitResponseDataCommitCommitter = { + name: string; + email: string; + date: string; +}; +declare type ReposGetCommitResponseDataCommitAuthor = { + name: string; + email: string; + date: string; +}; +declare type ReposGetCommitResponseDataCommit = { + url: string; + author: ReposGetCommitResponseDataCommitAuthor; + committer: ReposGetCommitResponseDataCommitCommitter; + message: string; + tree: ReposGetCommitResponseDataCommitTree; + comment_count: number; + verification: ReposGetCommitResponseDataCommitVerification; +}; +declare type ReposGetCommitResponseData = { + url: string; + sha: string; + node_id: string; + html_url: string; + comments_url: string; + commit: ReposGetCommitResponseDataCommit; + author: ReposGetCommitResponseDataAuthor; + committer: ReposGetCommitResponseDataCommitter; + parents: Array; + stats: ReposGetCommitResponseDataStats; + files: Array; +}; +declare type ChecksListForRefEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * ref parameter + */ + ref: string; + /** + * Returns check runs with the specified `name`. + */ + check_name?: string; + /** + * Returns check runs with the specified `status`. Can be one of `queued`, `in_progress`, or `completed`. + */ + status?: "queued" | "in_progress" | "completed"; + /** + * Filters check runs by their `completed_at` timestamp. Can be one of `latest` (returning the most recent check runs) or `all`. + */ + filter?: "latest" | "all"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"antiope">; +declare type ChecksListForRefRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/commits/:ref/check-runs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksListForRefResponseDataCheckRunsItemPullRequestsItemBaseRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksListForRefResponseDataCheckRunsItemPullRequestsItemBase = { + ref: string; + sha: string; + repo: ChecksListForRefResponseDataCheckRunsItemPullRequestsItemBaseRepo; +}; +declare type ChecksListForRefResponseDataCheckRunsItemPullRequestsItemHeadRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksListForRefResponseDataCheckRunsItemPullRequestsItemHead = { + ref: string; + sha: string; + repo: ChecksListForRefResponseDataCheckRunsItemPullRequestsItemHeadRepo; +}; +declare type ChecksListForRefResponseDataCheckRunsItemPullRequestsItem = { + url: string; + id: number; + number: number; + head: ChecksListForRefResponseDataCheckRunsItemPullRequestsItemHead; + base: ChecksListForRefResponseDataCheckRunsItemPullRequestsItemBase; +}; +declare type ChecksListForRefResponseDataCheckRunsItemAppPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ChecksListForRefResponseDataCheckRunsItemAppOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ChecksListForRefResponseDataCheckRunsItemApp = { + id: number; + slug: string; + node_id: string; + owner: ChecksListForRefResponseDataCheckRunsItemAppOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ChecksListForRefResponseDataCheckRunsItemAppPermissions; + events: Array; +}; +declare type ChecksListForRefResponseDataCheckRunsItemCheckSuite = { + id: number; +}; +declare type ChecksListForRefResponseDataCheckRunsItemOutput = { + title: string; + summary: string; + text: string; + annotations_count: number; + annotations_url: string; +}; +declare type ChecksListForRefResponseDataCheckRunsItem = { + id: number; + head_sha: string; + node_id: string; + external_id: string; + url: string; + html_url: string; + details_url: string; + status: string; + conclusion: string; + started_at: string; + completed_at: string; + output: ChecksListForRefResponseDataCheckRunsItemOutput; + name: string; + check_suite: ChecksListForRefResponseDataCheckRunsItemCheckSuite; + app: ChecksListForRefResponseDataCheckRunsItemApp; + pull_requests: Array; +}; +declare type ChecksListForRefResponseData = { + total_count: number; + check_runs: Array; +}; +declare type ChecksListSuitesForRefEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * ref parameter + */ + ref: string; + /** + * Filters check suites by GitHub App `id`. + */ + app_id?: number; + /** + * Filters checks suites by the name of the [check run](https://developer.github.com/v3/checks/runs/). + */ + check_name?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"antiope">; +declare type ChecksListSuitesForRefRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/commits/:ref/check-suites"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksListSuitesForRefResponseDataCheckSuitesItemRepositoryPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ChecksListSuitesForRefResponseDataCheckSuitesItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ChecksListSuitesForRefResponseDataCheckSuitesItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ChecksListSuitesForRefResponseDataCheckSuitesItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ChecksListSuitesForRefResponseDataCheckSuitesItemRepositoryPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ChecksListSuitesForRefResponseDataCheckSuitesItemAppPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ChecksListSuitesForRefResponseDataCheckSuitesItemAppOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ChecksListSuitesForRefResponseDataCheckSuitesItemApp = { + id: number; + slug: string; + node_id: string; + owner: ChecksListSuitesForRefResponseDataCheckSuitesItemAppOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ChecksListSuitesForRefResponseDataCheckSuitesItemAppPermissions; + events: Array; +}; +declare type ChecksListSuitesForRefResponseDataCheckSuitesItem = { + id: number; + node_id: string; + head_branch: string; + head_sha: string; + status: string; + conclusion: string; + url: string; + before: string; + after: string; + pull_requests: Array; + app: ChecksListSuitesForRefResponseDataCheckSuitesItemApp; + repository: ChecksListSuitesForRefResponseDataCheckSuitesItemRepository; +}; +declare type ChecksListSuitesForRefResponseData = { + total_count: number; + check_suites: Array; +}; +declare type ReposGetCombinedStatusForRefEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * ref parameter + */ + ref: string; +}; +declare type ReposGetCombinedStatusForRefRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/commits/:ref/status"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetCombinedStatusForRefResponseDataRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetCombinedStatusForRefResponseDataRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposGetCombinedStatusForRefResponseDataRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ReposGetCombinedStatusForRefResponseDataStatusesItem = { + url: string; + avatar_url: string; + id: number; + node_id: string; + state: string; + description: string; + target_url: string; + context: string; + created_at: string; + updated_at: string; +}; +declare type ReposGetCombinedStatusForRefResponseData = { + state: string; + statuses: Array; + sha: string; + total_count: number; + repository: ReposGetCombinedStatusForRefResponseDataRepository; + commit_url: string; + url: string; +}; +declare type ReposListStatusesForRefEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * ref parameter + */ + ref: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListStatusesForRefRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/commits/:ref/statuses"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListStatusesForRefResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListStatusesForRefResponseDataItem = { + url: string; + avatar_url: string; + id: number; + node_id: string; + state: string; + description: string; + target_url: string; + context: string; + created_at: string; + updated_at: string; + creator: ReposListStatusesForRefResponseDataItemCreator; +}; +declare type ReposListStatusesForRefResponseData = Array; +declare type CodesOfConductGetForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"scarlet-witch">; +declare type CodesOfConductGetForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/community/code_of_conduct"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type CodesOfConductGetForRepoResponseData = { + key: string; + name: string; + url: string; + body: string; +}; +declare type ReposRetrieveCommunityProfileMetricsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposRetrieveCommunityProfileMetricsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/community/profile"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseDataFilesReadme = { + url: string; + html_url: string; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseDataFilesLicense = { + name: string; + key: string; + spdx_id: string; + url: string; + html_url: string; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseDataFilesPullRequestTemplate = { + url: string; + html_url: string; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseDataFilesIssueTemplate = { + url: string; + html_url: string; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseDataFilesContributing = { + url: string; + html_url: string; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseDataFilesCodeOfConduct = { + name: string; + key: string; + url: string; + html_url: string; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseDataFiles = { + code_of_conduct: ReposRetrieveCommunityProfileMetricsResponseDataFilesCodeOfConduct; + contributing: ReposRetrieveCommunityProfileMetricsResponseDataFilesContributing; + issue_template: ReposRetrieveCommunityProfileMetricsResponseDataFilesIssueTemplate; + pull_request_template: ReposRetrieveCommunityProfileMetricsResponseDataFilesPullRequestTemplate; + license: ReposRetrieveCommunityProfileMetricsResponseDataFilesLicense; + readme: ReposRetrieveCommunityProfileMetricsResponseDataFilesReadme; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseData = { + health_percentage: number; + description: string; + documentation: boolean; + files: ReposRetrieveCommunityProfileMetricsResponseDataFiles; + updated_at: string; +}; +declare type ReposCompareCommitsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * base parameter + */ + base: string; + /** + * head parameter + */ + head: string; +}; +declare type ReposCompareCommitsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/compare/:base...:head"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCompareCommitsResponseDataFilesItem = { + sha: string; + filename: string; + status: string; + additions: number; + deletions: number; + changes: number; + blob_url: string; + raw_url: string; + contents_url: string; + patch: string; +}; +declare type ReposCompareCommitsResponseDataCommitsItemParentsItem = { + url: string; + sha: string; +}; +declare type ReposCompareCommitsResponseDataCommitsItemCommitter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCompareCommitsResponseDataCommitsItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCompareCommitsResponseDataCommitsItemCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type ReposCompareCommitsResponseDataCommitsItemCommitTree = { + url: string; + sha: string; +}; +declare type ReposCompareCommitsResponseDataCommitsItemCommitCommitter = { + name: string; + email: string; + date: string; +}; +declare type ReposCompareCommitsResponseDataCommitsItemCommitAuthor = { + name: string; + email: string; + date: string; +}; +declare type ReposCompareCommitsResponseDataCommitsItemCommit = { + url: string; + author: ReposCompareCommitsResponseDataCommitsItemCommitAuthor; + committer: ReposCompareCommitsResponseDataCommitsItemCommitCommitter; + message: string; + tree: ReposCompareCommitsResponseDataCommitsItemCommitTree; + comment_count: number; + verification: ReposCompareCommitsResponseDataCommitsItemCommitVerification; +}; +declare type ReposCompareCommitsResponseDataCommitsItem = { + url: string; + sha: string; + node_id: string; + html_url: string; + comments_url: string; + commit: ReposCompareCommitsResponseDataCommitsItemCommit; + author: ReposCompareCommitsResponseDataCommitsItemAuthor; + committer: ReposCompareCommitsResponseDataCommitsItemCommitter; + parents: Array; +}; +declare type ReposCompareCommitsResponseDataMergeBaseCommitParentsItem = { + url: string; + sha: string; +}; +declare type ReposCompareCommitsResponseDataMergeBaseCommitCommitter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCompareCommitsResponseDataMergeBaseCommitAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCompareCommitsResponseDataMergeBaseCommitCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type ReposCompareCommitsResponseDataMergeBaseCommitCommitTree = { + url: string; + sha: string; +}; +declare type ReposCompareCommitsResponseDataMergeBaseCommitCommitCommitter = { + name: string; + email: string; + date: string; +}; +declare type ReposCompareCommitsResponseDataMergeBaseCommitCommitAuthor = { + name: string; + email: string; + date: string; +}; +declare type ReposCompareCommitsResponseDataMergeBaseCommitCommit = { + url: string; + author: ReposCompareCommitsResponseDataMergeBaseCommitCommitAuthor; + committer: ReposCompareCommitsResponseDataMergeBaseCommitCommitCommitter; + message: string; + tree: ReposCompareCommitsResponseDataMergeBaseCommitCommitTree; + comment_count: number; + verification: ReposCompareCommitsResponseDataMergeBaseCommitCommitVerification; +}; +declare type ReposCompareCommitsResponseDataMergeBaseCommit = { + url: string; + sha: string; + node_id: string; + html_url: string; + comments_url: string; + commit: ReposCompareCommitsResponseDataMergeBaseCommitCommit; + author: ReposCompareCommitsResponseDataMergeBaseCommitAuthor; + committer: ReposCompareCommitsResponseDataMergeBaseCommitCommitter; + parents: Array; +}; +declare type ReposCompareCommitsResponseDataBaseCommitParentsItem = { + url: string; + sha: string; +}; +declare type ReposCompareCommitsResponseDataBaseCommitCommitter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCompareCommitsResponseDataBaseCommitAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCompareCommitsResponseDataBaseCommitCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type ReposCompareCommitsResponseDataBaseCommitCommitTree = { + url: string; + sha: string; +}; +declare type ReposCompareCommitsResponseDataBaseCommitCommitCommitter = { + name: string; + email: string; + date: string; +}; +declare type ReposCompareCommitsResponseDataBaseCommitCommitAuthor = { + name: string; + email: string; + date: string; +}; +declare type ReposCompareCommitsResponseDataBaseCommitCommit = { + url: string; + author: ReposCompareCommitsResponseDataBaseCommitCommitAuthor; + committer: ReposCompareCommitsResponseDataBaseCommitCommitCommitter; + message: string; + tree: ReposCompareCommitsResponseDataBaseCommitCommitTree; + comment_count: number; + verification: ReposCompareCommitsResponseDataBaseCommitCommitVerification; +}; +declare type ReposCompareCommitsResponseDataBaseCommit = { + url: string; + sha: string; + node_id: string; + html_url: string; + comments_url: string; + commit: ReposCompareCommitsResponseDataBaseCommitCommit; + author: ReposCompareCommitsResponseDataBaseCommitAuthor; + committer: ReposCompareCommitsResponseDataBaseCommitCommitter; + parents: Array; +}; +declare type ReposCompareCommitsResponseData = { + url: string; + html_url: string; + permalink_url: string; + diff_url: string; + patch_url: string; + base_commit: ReposCompareCommitsResponseDataBaseCommit; + merge_base_commit: ReposCompareCommitsResponseDataMergeBaseCommit; + status: string; + ahead_by: number; + behind_by: number; + total_commits: number; + commits: Array; + files: Array; +}; +declare type ReposGetContentsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * path parameter + */ + path: string; + /** + * The name of the commit/branch/tag. Default: the repository’s default branch (usually `master`) + */ + ref?: string; +}; +declare type ReposGetContentsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/contents/:path"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetContentsResponseDataItemLinks = { + self: string; + git: string; + html: string; +}; +declare type ReposGetContentsResponseDataItem = { + type: string; + size: number; + name: string; + path: string; + sha: string; + url: string; + git_url: string; + html_url: string; + download_url: string | null; + _links: ReposGetContentsResponseDataItemLinks; +}; +declare type ReposGetContentsResponseDataLinks = { + git: string; + self: string; + html: string; +}; +declare type ReposGetContentsResponseData = { + type: string; + encoding?: string; + size: number; + name: string; + path: string; + content?: string; + sha: string; + url: string; + git_url: string; + html_url: string; + download_url: string | null; + _links: ReposGetContentsResponseDataLinks; + target?: string; + submodule_git_url?: string; +} | Array; +declare type ReposCreateOrUpdateFileEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * path parameter + */ + path: string; + /** + * The commit message. + */ + message: string; + /** + * The new file content, using Base64 encoding. + */ + content: string; + /** + * **Required if you are updating a file**. The blob SHA of the file being replaced. + */ + sha?: string; + /** + * The branch name. Default: the repository’s default branch (usually `master`) + */ + branch?: string; + /** + * The person that committed the file. Default: the authenticated user. + */ + committer?: ReposCreateOrUpdateFileParamsCommitter; + /** + * The author of the file. Default: The `committer` or the authenticated user if you omit `committer`. + */ + author?: ReposCreateOrUpdateFileParamsAuthor; +}; +declare type ReposCreateOrUpdateFileRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/contents/:path"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateOrUpdateFileResponseDataCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type ReposCreateOrUpdateFileResponseDataCommitParentsItem = { + url: string; + html_url: string; + sha: string; +}; +declare type ReposCreateOrUpdateFileResponseDataCommitTree = { + url: string; + sha: string; +}; +declare type ReposCreateOrUpdateFileResponseDataCommitCommitter = { + date: string; + name: string; + email: string; +}; +declare type ReposCreateOrUpdateFileResponseDataCommitAuthor = { + date: string; + name: string; + email: string; +}; +declare type ReposCreateOrUpdateFileResponseDataCommit = { + sha: string; + node_id: string; + url: string; + html_url: string; + author: ReposCreateOrUpdateFileResponseDataCommitAuthor; + committer: ReposCreateOrUpdateFileResponseDataCommitCommitter; + message: string; + tree: ReposCreateOrUpdateFileResponseDataCommitTree; + parents: Array; + verification: ReposCreateOrUpdateFileResponseDataCommitVerification; +}; +declare type ReposCreateOrUpdateFileResponseDataContentLinks = { + self: string; + git: string; + html: string; +}; +declare type ReposCreateOrUpdateFileResponseDataContent = { + name: string; + path: string; + sha: string; + size: number; + url: string; + html_url: string; + git_url: string; + download_url: string; + type: string; + _links: ReposCreateOrUpdateFileResponseDataContentLinks; +}; +declare type ReposCreateOrUpdateFileResponseData = { + content: ReposCreateOrUpdateFileResponseDataContent; + commit: ReposCreateOrUpdateFileResponseDataCommit; +}; +declare type ReposDeleteFileEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * path parameter + */ + path: string; + /** + * The commit message. + */ + message: string; + /** + * The blob SHA of the file being replaced. + */ + sha: string; + /** + * The branch name. Default: the repository’s default branch (usually `master`) + */ + branch?: string; + /** + * object containing information about the committer. + */ + committer?: ReposDeleteFileParamsCommitter; + /** + * object containing information about the author. + */ + author?: ReposDeleteFileParamsAuthor; +}; +declare type ReposDeleteFileRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/contents/:path"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposDeleteFileResponseDataCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type ReposDeleteFileResponseDataCommitParentsItem = { + url: string; + html_url: string; + sha: string; +}; +declare type ReposDeleteFileResponseDataCommitTree = { + url: string; + sha: string; +}; +declare type ReposDeleteFileResponseDataCommitCommitter = { + date: string; + name: string; + email: string; +}; +declare type ReposDeleteFileResponseDataCommitAuthor = { + date: string; + name: string; + email: string; +}; +declare type ReposDeleteFileResponseDataCommit = { + sha: string; + node_id: string; + url: string; + html_url: string; + author: ReposDeleteFileResponseDataCommitAuthor; + committer: ReposDeleteFileResponseDataCommitCommitter; + message: string; + tree: ReposDeleteFileResponseDataCommitTree; + parents: Array; + verification: ReposDeleteFileResponseDataCommitVerification; +}; +declare type ReposDeleteFileResponseData = { + content: null; + commit: ReposDeleteFileResponseDataCommit; +}; +declare type ReposListContributorsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Set to `1` or `true` to include anonymous contributors in results. + */ + anon?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListContributorsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/contributors"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListContributorsResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; + contributions: number; +}; +declare type ReposListContributorsResponseData = Array; +declare type ReposListDeploymentsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The SHA recorded at creation time. + */ + sha?: string; + /** + * The name of the ref. This can be a branch, tag, or SHA. + */ + ref?: string; + /** + * The name of the task for the deployment (e.g., `deploy` or `deploy:migrations`). + */ + task?: string; + /** + * The name of the environment that was deployed to (e.g., `staging` or `production`). + */ + environment?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListDeploymentsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/deployments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListDeploymentsResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListDeploymentsResponseDataItemPayload = { + deploy: string; +}; +declare type ReposListDeploymentsResponseDataItem = { + url: string; + id: number; + node_id: string; + sha: string; + ref: string; + task: string; + payload: ReposListDeploymentsResponseDataItemPayload; + original_environment: string; + environment: string; + description: string; + creator: ReposListDeploymentsResponseDataItemCreator; + created_at: string; + updated_at: string; + statuses_url: string; + repository_url: string; + transient_environment: boolean; + production_environment: boolean; +}; +declare type ReposListDeploymentsResponseData = Array; +declare type ReposCreateDeploymentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The ref to deploy. This can be a branch, tag, or SHA. + */ + ref: string; + /** + * Specifies a task to execute (e.g., `deploy` or `deploy:migrations`). + */ + task?: string; + /** + * Attempts to automatically merge the default branch into the requested ref, if it's behind the default branch. + */ + auto_merge?: boolean; + /** + * The [status](https://developer.github.com/v3/repos/statuses/) contexts to verify against commit status checks. If you omit this parameter, GitHub verifies all unique contexts before creating a deployment. To bypass checking entirely, pass an empty array. Defaults to all unique contexts. + */ + required_contexts?: string[]; + /** + * JSON payload with extra information about the deployment. + */ + payload?: string; + /** + * Name for the target deployment environment (e.g., `production`, `staging`, `qa`). + */ + environment?: string; + /** + * Short description of the deployment. + */ + description?: string; + /** + * Specifies if the given environment is specific to the deployment and will no longer exist at some point in the future. Default: `false` + * **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. + */ + transient_environment?: boolean; + /** + * Specifies if the given environment is one that end-users directly interact with. Default: `true` when `environment` is `production` and `false` otherwise. + * **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. + */ + production_environment?: boolean; +}; +declare type ReposCreateDeploymentRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/deployments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateDeploymentResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateDeploymentResponseDataPayload = { + deploy: string; +}; +declare type ReposCreateDeploymentResponseData = { + url: string; + id: number; + node_id: string; + sha: string; + ref: string; + task: string; + payload: ReposCreateDeploymentResponseDataPayload; + original_environment: string; + environment: string; + description: string; + creator: ReposCreateDeploymentResponseDataCreator; + created_at: string; + updated_at: string; + statuses_url: string; + repository_url: string; + transient_environment: boolean; + production_environment: boolean; +}; +declare type ReposGetDeploymentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * deployment_id parameter + */ + deployment_id: number; +}; +declare type ReposGetDeploymentRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/deployments/:deployment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetDeploymentResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetDeploymentResponseDataPayload = { + deploy: string; +}; +declare type ReposGetDeploymentResponseData = { + url: string; + id: number; + node_id: string; + sha: string; + ref: string; + task: string; + payload: ReposGetDeploymentResponseDataPayload; + original_environment: string; + environment: string; + description: string; + creator: ReposGetDeploymentResponseDataCreator; + created_at: string; + updated_at: string; + statuses_url: string; + repository_url: string; + transient_environment: boolean; + production_environment: boolean; +}; +declare type ReposDeleteDeploymentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * deployment_id parameter + */ + deployment_id: number; +}; +declare type ReposDeleteDeploymentRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/deployments/:deployment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListDeploymentStatusesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * deployment_id parameter + */ + deployment_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListDeploymentStatusesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/deployments/:deployment_id/statuses"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListDeploymentStatusesResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListDeploymentStatusesResponseDataItem = { + url: string; + id: number; + node_id: string; + state: string; + creator: ReposListDeploymentStatusesResponseDataItemCreator; + description: string; + environment: string; + target_url: string; + created_at: string; + updated_at: string; + deployment_url: string; + repository_url: string; + environment_url: string; + log_url: string; +}; +declare type ReposListDeploymentStatusesResponseData = Array; +declare type ReposCreateDeploymentStatusEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * deployment_id parameter + */ + deployment_id: number; + /** + * The state of the status. Can be one of `error`, `failure`, `inactive`, `in_progress`, `queued` `pending`, or `success`. **Note:** To use the `inactive` state, you must provide the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. To use the `in_progress` and `queued` states, you must provide the [`application/vnd.github.flash-preview+json`](https://developer.github.com/v3/previews/#deployment-statuses) custom media type. + */ + state: "error" | "failure" | "inactive" | "in_progress" | "queued" | "pending" | "success"; + /** + * The target URL to associate with this status. This URL should contain output to keep the user updated while the task is running or serve as historical information for what happened in the deployment. **Note:** It's recommended to use the `log_url` parameter, which replaces `target_url`. + */ + target_url?: string; + /** + * The full URL of the deployment's output. This parameter replaces `target_url`. We will continue to accept `target_url` to support legacy uses, but we recommend replacing `target_url` with `log_url`. Setting `log_url` will automatically set `target_url` to the same value. Default: `""` + * **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. + */ + log_url?: string; + /** + * A short description of the status. The maximum description length is 140 characters. + */ + description?: string; + /** + * Name for the target deployment environment, which can be changed when setting a deploy status. For example, `production`, `staging`, or `qa`. **Note:** This parameter requires you to use the [`application/vnd.github.flash-preview+json`](https://developer.github.com/v3/previews/#deployment-statuses) custom media type. + */ + environment?: "production" | "staging" | "qa"; + /** + * Sets the URL for accessing your environment. Default: `""` + * **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. + */ + environment_url?: string; + /** + * Adds a new `inactive` status to all prior non-transient, non-production environment deployments with the same repository and `environment` name as the created status's deployment. An `inactive` status is only added to deployments that had a `success` state. Default: `true` + * **Note:** To add an `inactive` status to `production` environments, you must use the [`application/vnd.github.flash-preview+json`](https://developer.github.com/v3/previews/#deployment-statuses) custom media type. + * **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. + */ + auto_inactive?: boolean; +}; +declare type ReposCreateDeploymentStatusRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/deployments/:deployment_id/statuses"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateDeploymentStatusResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateDeploymentStatusResponseData = { + url: string; + id: number; + node_id: string; + state: string; + creator: ReposCreateDeploymentStatusResponseDataCreator; + description: string; + environment: string; + target_url: string; + created_at: string; + updated_at: string; + deployment_url: string; + repository_url: string; + environment_url: string; + log_url: string; +}; +declare type ReposGetDeploymentStatusEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * deployment_id parameter + */ + deployment_id: number; + /** + * status_id parameter + */ + status_id: number; +}; +declare type ReposGetDeploymentStatusRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/deployments/:deployment_id/statuses/:status_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetDeploymentStatusResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetDeploymentStatusResponseData = { + url: string; + id: number; + node_id: string; + state: string; + creator: ReposGetDeploymentStatusResponseDataCreator; + description: string; + environment: string; + target_url: string; + created_at: string; + updated_at: string; + deployment_url: string; + repository_url: string; + environment_url: string; + log_url: string; +}; +declare type ReposCreateDispatchEventEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * **Required:** A custom webhook event name. + */ + event_type?: string; + /** + * JSON payload with extra information about the webhook event that your action or worklow may use. + */ + client_payload?: ReposCreateDispatchEventParamsClientPayload; +}; +declare type ReposCreateDispatchEventRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/dispatches"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListDownloadsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListDownloadsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/downloads"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListDownloadsResponseDataItem = { + url: string; + html_url: string; + id: number; + name: string; + description: string; + size: number; + download_count: number; + content_type: string; +}; +declare type ReposListDownloadsResponseData = Array; +declare type ReposGetDownloadEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * download_id parameter + */ + download_id: number; +}; +declare type ReposGetDownloadRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/downloads/:download_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetDownloadResponseData = { + url: string; + html_url: string; + id: number; + name: string; + description: string; + size: number; + download_count: number; + content_type: string; +}; +declare type ReposDeleteDownloadEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * download_id parameter + */ + download_id: number; +}; +declare type ReposDeleteDownloadRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/downloads/:download_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListRepoEventsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListRepoEventsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/events"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListForksEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The sort order. Can be either `newest`, `oldest`, or `stargazers`. + */ + sort?: "newest" | "oldest" | "stargazers"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListForksRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/forks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListForksResponseDataItemLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type ReposListForksResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposListForksResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListForksResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposListForksResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposListForksResponseDataItemPermissions; + template_repository: null; + temp_clone_token: string; + subscribers_count: number; + network_count: number; + license: ReposListForksResponseDataItemLicense; +}; +declare type ReposListForksResponseData = Array; +declare type ReposCreateForkEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Optional parameter to specify the organization name if forking into an organization. + */ + organization?: string; +}; +declare type ReposCreateForkRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/forks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateForkResponseDataPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposCreateForkResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateForkResponseData = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposCreateForkResponseDataOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposCreateForkResponseDataPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type GitCreateBlobEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The new blob's content. + */ + content: string; + /** + * The encoding used for `content`. Currently, `"utf-8"` and `"base64"` are supported. + */ + encoding?: string; +}; +declare type GitCreateBlobRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/git/blobs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitCreateBlobResponseData = { + url: string; + sha: string; +}; +declare type GitGetBlobEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * file_sha parameter + */ + file_sha: string; +}; +declare type GitGetBlobRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/git/blobs/:file_sha"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitGetBlobResponseData = { + content: string; + encoding: string; + url: string; + sha: string; + size: number; +}; +declare type GitCreateCommitEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The commit message + */ + message: string; + /** + * The SHA of the tree object this commit points to + */ + tree: string; + /** + * The SHAs of the commits that were the parents of this commit. If omitted or empty, the commit will be written as a root commit. For a single parent, an array of one SHA should be provided; for a merge commit, an array of more than one should be provided. + */ + parents: string[]; + /** + * Information about the author of the commit. By default, the `author` will be the authenticated user and the current date. See the `author` and `committer` object below for details. + */ + author?: GitCreateCommitParamsAuthor; + /** + * Information about the person who is making the commit. By default, `committer` will use the information set in `author`. See the `author` and `committer` object below for details. + */ + committer?: GitCreateCommitParamsCommitter; + /** + * The [PGP signature](https://en.wikipedia.org/wiki/Pretty_Good_Privacy) of the commit. GitHub adds the signature to the `gpgsig` header of the created commit. For a commit signature to be verifiable by Git or GitHub, it must be an ASCII-armored detached PGP signature over the string commit as it would be written to the object database. To pass a `signature` parameter, you need to first manually create a valid PGP signature, which can be complicated. You may find it easier to [use the command line](https://git-scm.com/book/id/v2/Git-Tools-Signing-Your-Work) to create signed commits. + */ + signature?: string; +}; +declare type GitCreateCommitRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/git/commits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitCreateCommitResponseDataVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type GitCreateCommitResponseDataParentsItem = { + url: string; + sha: string; +}; +declare type GitCreateCommitResponseDataTree = { + url: string; + sha: string; +}; +declare type GitCreateCommitResponseDataCommitter = { + date: string; + name: string; + email: string; +}; +declare type GitCreateCommitResponseDataAuthor = { + date: string; + name: string; + email: string; +}; +declare type GitCreateCommitResponseData = { + sha: string; + node_id: string; + url: string; + author: GitCreateCommitResponseDataAuthor; + committer: GitCreateCommitResponseDataCommitter; + message: string; + tree: GitCreateCommitResponseDataTree; + parents: Array; + verification: GitCreateCommitResponseDataVerification; +}; +declare type GitGetCommitEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * commit_sha parameter + */ + commit_sha: string; +}; +declare type GitGetCommitRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/git/commits/:commit_sha"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitGetCommitResponseDataVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type GitGetCommitResponseDataParentsItem = { + url: string; + sha: string; +}; +declare type GitGetCommitResponseDataTree = { + url: string; + sha: string; +}; +declare type GitGetCommitResponseDataCommitter = { + date: string; + name: string; + email: string; +}; +declare type GitGetCommitResponseDataAuthor = { + date: string; + name: string; + email: string; +}; +declare type GitGetCommitResponseData = { + sha: string; + url: string; + author: GitGetCommitResponseDataAuthor; + committer: GitGetCommitResponseDataCommitter; + message: string; + tree: GitGetCommitResponseDataTree; + parents: Array; + verification: GitGetCommitResponseDataVerification; +}; +declare type GitListMatchingRefsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * ref parameter + */ + ref: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type GitListMatchingRefsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/git/matching-refs/:ref"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitListMatchingRefsResponseDataItemObject = { + type: string; + sha: string; + url: string; +}; +declare type GitListMatchingRefsResponseDataItem = { + ref: string; + node_id: string; + url: string; + object: GitListMatchingRefsResponseDataItemObject; +}; +declare type GitListMatchingRefsResponseData = Array; +declare type GitGetRefEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * ref parameter + */ + ref: string; +}; +declare type GitGetRefRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/git/ref/:ref"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitGetRefResponseDataObject = { + type: string; + sha: string; + url: string; +}; +declare type GitGetRefResponseData = { + ref: string; + node_id: string; + url: string; + object: GitGetRefResponseDataObject; +}; +declare type GitCreateRefEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The name of the fully qualified reference (ie: `refs/heads/master`). If it doesn't start with 'refs' and have at least two slashes, it will be rejected. + */ + ref: string; + /** + * The SHA1 value for this reference. + */ + sha: string; +}; +declare type GitCreateRefRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/git/refs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitCreateRefResponseDataObject = { + type: string; + sha: string; + url: string; +}; +declare type GitCreateRefResponseData = { + ref: string; + node_id: string; + url: string; + object: GitCreateRefResponseDataObject; +}; +declare type GitUpdateRefEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * ref parameter + */ + ref: string; + /** + * The SHA1 value to set this reference to + */ + sha: string; + /** + * Indicates whether to force the update or to make sure the update is a fast-forward update. Leaving this out or setting it to `false` will make sure you're not overwriting work. + */ + force?: boolean; +}; +declare type GitUpdateRefRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/git/refs/:ref"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitUpdateRefResponseDataObject = { + type: string; + sha: string; + url: string; +}; +declare type GitUpdateRefResponseData = { + ref: string; + node_id: string; + url: string; + object: GitUpdateRefResponseDataObject; +}; +declare type GitDeleteRefEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * ref parameter + */ + ref: string; +}; +declare type GitDeleteRefRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/git/refs/:ref"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitCreateTagEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The tag's name. This is typically a version (e.g., "v0.0.1"). + */ + tag: string; + /** + * The tag message. + */ + message: string; + /** + * The SHA of the git object this is tagging. + */ + object: string; + /** + * The type of the object we're tagging. Normally this is a `commit` but it can also be a `tree` or a `blob`. + */ + type: "commit" | "tree" | "blob"; + /** + * An object with information about the individual creating the tag. + */ + tagger?: GitCreateTagParamsTagger; +}; +declare type GitCreateTagRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/git/tags"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitCreateTagResponseDataVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type GitCreateTagResponseDataObject = { + type: string; + sha: string; + url: string; +}; +declare type GitCreateTagResponseDataTagger = { + name: string; + email: string; + date: string; +}; +declare type GitCreateTagResponseData = { + node_id: string; + tag: string; + sha: string; + url: string; + message: string; + tagger: GitCreateTagResponseDataTagger; + object: GitCreateTagResponseDataObject; + verification: GitCreateTagResponseDataVerification; +}; +declare type GitGetTagEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * tag_sha parameter + */ + tag_sha: string; +}; +declare type GitGetTagRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/git/tags/:tag_sha"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitGetTagResponseDataVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type GitGetTagResponseDataObject = { + type: string; + sha: string; + url: string; +}; +declare type GitGetTagResponseDataTagger = { + name: string; + email: string; + date: string; +}; +declare type GitGetTagResponseData = { + node_id: string; + tag: string; + sha: string; + url: string; + message: string; + tagger: GitGetTagResponseDataTagger; + object: GitGetTagResponseDataObject; + verification: GitGetTagResponseDataVerification; +}; +declare type GitCreateTreeEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Objects (of `path`, `mode`, `type`, and `sha`) specifying a tree structure. + */ + tree: GitCreateTreeParamsTree[]; + /** + * The SHA1 of the tree you want to update with new data. If you don't set this, the commit will be created on top of everything; however, it will only contain your change, the rest of your files will show up as deleted. + */ + base_tree?: string; +}; +declare type GitCreateTreeRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/git/trees"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitCreateTreeResponseDataTreeItem = { + path: string; + mode: string; + type: string; + size: number; + sha: string; + url: string; +}; +declare type GitCreateTreeResponseData = { + sha: string; + url: string; + tree: Array; +}; +declare type GitGetTreeEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * tree_sha parameter + */ + tree_sha: string; + /** + * recursive parameter + */ + recursive?: "1"; +}; +declare type GitGetTreeRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/git/trees/:tree_sha"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitGetTreeResponseDataTreeItem = { + path: string; + mode: string; + type: string; + size?: number; + sha: string; + url: string; +}; +declare type GitGetTreeResponseData = { + sha: string; + url: string; + tree: Array; + truncated: boolean; +}; +declare type ReposListHooksEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListHooksRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/hooks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListHooksResponseDataItemLastResponse = { + code: null; + status: string; + message: null; +}; +declare type ReposListHooksResponseDataItemConfig = { + content_type: string; + insecure_ssl: string; + url: string; +}; +declare type ReposListHooksResponseDataItem = { + type: string; + id: number; + name: string; + active: boolean; + events: Array; + config: ReposListHooksResponseDataItemConfig; + updated_at: string; + created_at: string; + url: string; + test_url: string; + ping_url: string; + last_response: ReposListHooksResponseDataItemLastResponse; +}; +declare type ReposListHooksResponseData = Array; +declare type ReposCreateHookEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Use `web` to create a webhook. Default: `web`. This parameter only accepts the value `web`. + */ + name?: string; + /** + * Key/value pairs to provide settings for this webhook. [These are defined below](https://developer.github.com/v3/repos/hooks/#create-hook-config-params). + */ + config: ReposCreateHookParamsConfig; + /** + * Determines what [events](https://developer.github.com/v3/activity/events/types/) the hook is triggered for. + */ + events?: string[]; + /** + * Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + */ + active?: boolean; +}; +declare type ReposCreateHookRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/hooks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateHookResponseDataLastResponse = { + code: null; + status: string; + message: null; +}; +declare type ReposCreateHookResponseDataConfig = { + content_type: string; + insecure_ssl: string; + url: string; +}; +declare type ReposCreateHookResponseData = { + type: string; + id: number; + name: string; + active: boolean; + events: Array; + config: ReposCreateHookResponseDataConfig; + updated_at: string; + created_at: string; + url: string; + test_url: string; + ping_url: string; + last_response: ReposCreateHookResponseDataLastResponse; +}; +declare type ReposGetHookEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * hook_id parameter + */ + hook_id: number; +}; +declare type ReposGetHookRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/hooks/:hook_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetHookResponseDataLastResponse = { + code: null; + status: string; + message: null; +}; +declare type ReposGetHookResponseDataConfig = { + content_type: string; + insecure_ssl: string; + url: string; +}; +declare type ReposGetHookResponseData = { + type: string; + id: number; + name: string; + active: boolean; + events: Array; + config: ReposGetHookResponseDataConfig; + updated_at: string; + created_at: string; + url: string; + test_url: string; + ping_url: string; + last_response: ReposGetHookResponseDataLastResponse; +}; +declare type ReposUpdateHookEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * hook_id parameter + */ + hook_id: number; + /** + * Key/value pairs to provide settings for this webhook. [These are defined below](https://developer.github.com/v3/repos/hooks/#create-hook-config-params). + */ + config?: ReposUpdateHookParamsConfig; + /** + * Determines what [events](https://developer.github.com/v3/activity/events/types/) the hook is triggered for. This replaces the entire array of events. + */ + events?: string[]; + /** + * Determines a list of events to be added to the list of events that the Hook triggers for. + */ + add_events?: string[]; + /** + * Determines a list of events to be removed from the list of events that the Hook triggers for. + */ + remove_events?: string[]; + /** + * Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + */ + active?: boolean; +}; +declare type ReposUpdateHookRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/hooks/:hook_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateHookResponseDataLastResponse = { + code: null; + status: string; + message: null; +}; +declare type ReposUpdateHookResponseDataConfig = { + content_type: string; + insecure_ssl: string; + url: string; +}; +declare type ReposUpdateHookResponseData = { + type: string; + id: number; + name: string; + active: boolean; + events: Array; + config: ReposUpdateHookResponseDataConfig; + updated_at: string; + created_at: string; + url: string; + test_url: string; + ping_url: string; + last_response: ReposUpdateHookResponseDataLastResponse; +}; +declare type ReposDeleteHookEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * hook_id parameter + */ + hook_id: number; +}; +declare type ReposDeleteHookRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/hooks/:hook_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposPingHookEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * hook_id parameter + */ + hook_id: number; +}; +declare type ReposPingHookRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/hooks/:hook_id/pings"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposTestPushHookEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * hook_id parameter + */ + hook_id: number; +}; +declare type ReposTestPushHookRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/hooks/:hook_id/tests"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsStartImportEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The URL of the originating repository. + */ + vcs_url: string; + /** + * The originating VCS type. Can be one of `subversion`, `git`, `mercurial`, or `tfvc`. Please be aware that without this parameter, the import job will take additional time to detect the VCS type before beginning the import. This detection step will be reflected in the response. + */ + vcs?: "subversion" | "git" | "mercurial" | "tfvc"; + /** + * If authentication is required, the username to provide to `vcs_url`. + */ + vcs_username?: string; + /** + * If authentication is required, the password to provide to `vcs_url`. + */ + vcs_password?: string; + /** + * For a tfvc import, the name of the project that is being imported. + */ + tfvc_project?: string; +}; +declare type MigrationsStartImportRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/import"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsStartImportResponseData = { + vcs: string; + use_lfs: string; + vcs_url: string; + status: string; + status_text: string; + has_large_files: boolean; + large_files_size: number; + large_files_count: number; + authors_count: number; + percent: number; + commit_count: number; + url: string; + html_url: string; + authors_url: string; + repository_url: string; +}; +declare type MigrationsGetImportProgressEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type MigrationsGetImportProgressRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/import"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsGetImportProgressResponseData = { + vcs: string; + use_lfs: string; + vcs_url: string; + status: string; + status_text: string; + has_large_files: boolean; + large_files_size: number; + large_files_count: number; + authors_count: number; + url: string; + html_url: string; + authors_url: string; + repository_url: string; +}; +declare type MigrationsUpdateImportEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The username to provide to the originating repository. + */ + vcs_username?: string; + /** + * The password to provide to the originating repository. + */ + vcs_password?: string; +}; +declare type MigrationsUpdateImportRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/import"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsUpdateImportResponseData = { + vcs: string; + use_lfs: string; + vcs_url: string; + status: string; + url: string; + html_url: string; + authors_url: string; + repository_url: string; + tfvc_project?: string; + status_text?: string; + has_large_files?: boolean; + large_files_size?: number; + large_files_count?: number; + authors_count?: number; + percent?: number; + commit_count?: number; +}; +declare type MigrationsCancelImportEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type MigrationsCancelImportRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/import"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsGetCommitAuthorsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Only authors found after this id are returned. Provide the highest author ID you've seen so far. New authors may be added to the list at any point while the importer is performing the `raw` step. + */ + since?: string; +}; +declare type MigrationsGetCommitAuthorsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/import/authors"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsGetCommitAuthorsResponseDataItem = { + id: number; + remote_id: string; + remote_name: string; + email: string; + name: string; + url: string; + import_url: string; +}; +declare type MigrationsGetCommitAuthorsResponseData = Array; +declare type MigrationsMapCommitAuthorEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * author_id parameter + */ + author_id: number; + /** + * The new Git author email. + */ + email?: string; + /** + * The new Git author name. + */ + name?: string; +}; +declare type MigrationsMapCommitAuthorRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/import/authors/:author_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsMapCommitAuthorResponseData = { + id: number; + remote_id: string; + remote_name: string; + email: string; + name: string; + url: string; + import_url: string; +}; +declare type MigrationsGetLargeFilesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type MigrationsGetLargeFilesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/import/large_files"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsGetLargeFilesResponseDataItem = { + ref_name: string; + path: string; + oid: string; + size: number; +}; +declare type MigrationsGetLargeFilesResponseData = Array; +declare type MigrationsSetLfsPreferenceEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Can be one of `opt_in` (large files will be stored using Git LFS) or `opt_out` (large files will be removed during the import). + */ + use_lfs: "opt_in" | "opt_out"; +}; +declare type MigrationsSetLfsPreferenceRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/import/lfs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsSetLfsPreferenceResponseData = { + vcs: string; + use_lfs: string; + vcs_url: string; + status: string; + status_text: string; + has_large_files: boolean; + large_files_size: number; + large_files_count: number; + authors_count: number; + url: string; + html_url: string; + authors_url: string; + repository_url: string; +}; +declare type AppsGetRepoInstallationEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"machine-man">; +declare type AppsGetRepoInstallationRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/installation"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetRepoInstallationResponseDataPermissions = { + checks: string; + metadata: string; + contents: string; +}; +declare type AppsGetRepoInstallationResponseDataAccount = { + login: string; + id: number; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsGetRepoInstallationResponseData = { + id: number; + account: AppsGetRepoInstallationResponseDataAccount; + repository_selection: string; + access_tokens_url: string; + repositories_url: string; + html_url: string; + app_id: number; + target_id: number; + target_type: string; + permissions: AppsGetRepoInstallationResponseDataPermissions; + events: Array; + created_at: string; + updated_at: string; + single_file_name: null; +}; +declare type InteractionsGetRestrictionsForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"sombra">; +declare type InteractionsGetRestrictionsForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/interaction-limits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type InteractionsGetRestrictionsForRepoResponseData = { + limit: string; + origin: string; + expires_at: string; +}; +declare type InteractionsAddOrUpdateRestrictionsForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Specifies the group of GitHub users who can comment, open issues, or create pull requests for the given repository. Must be one of: `existing_users`, `contributors_only`, or `collaborators_only`. + */ + limit: "existing_users" | "contributors_only" | "collaborators_only"; +} & RequiredPreview<"sombra">; +declare type InteractionsAddOrUpdateRestrictionsForRepoRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/interaction-limits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type InteractionsAddOrUpdateRestrictionsForRepoResponseData = { + limit: string; + origin: string; + expires_at: string; +}; +declare type InteractionsRemoveRestrictionsForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"sombra">; +declare type InteractionsRemoveRestrictionsForRepoRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/interaction-limits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListInvitationsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListInvitationsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/invitations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListInvitationsResponseDataItemInviter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListInvitationsResponseDataItemInvitee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListInvitationsResponseDataItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListInvitationsResponseDataItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposListInvitationsResponseDataItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ReposListInvitationsResponseDataItem = { + id: number; + repository: ReposListInvitationsResponseDataItemRepository; + invitee: ReposListInvitationsResponseDataItemInvitee; + inviter: ReposListInvitationsResponseDataItemInviter; + permissions: string; + created_at: string; + url: string; + html_url: string; +}; +declare type ReposListInvitationsResponseData = Array; +declare type ReposDeleteInvitationEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * invitation_id parameter + */ + invitation_id: number; +}; +declare type ReposDeleteInvitationRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/invitations/:invitation_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateInvitationEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * invitation_id parameter + */ + invitation_id: number; + /** + * The permissions that the associated user will have on the repository. Valid values are `read`, `write`, `maintain`, `triage`, and `admin`. + */ + permissions?: "read" | "write" | "maintain" | "triage" | "admin"; +}; +declare type ReposUpdateInvitationRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/invitations/:invitation_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateInvitationResponseDataInviter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateInvitationResponseDataInvitee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateInvitationResponseDataRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateInvitationResponseDataRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposUpdateInvitationResponseDataRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ReposUpdateInvitationResponseData = { + id: number; + repository: ReposUpdateInvitationResponseDataRepository; + invitee: ReposUpdateInvitationResponseDataInvitee; + inviter: ReposUpdateInvitationResponseDataInviter; + permissions: string; + created_at: string; + url: string; + html_url: string; +}; +declare type IssuesListForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * If an `integer` is passed, it should refer to a milestone by its `number` field. If the string `*` is passed, issues with any milestone are accepted. If the string `none` is passed, issues without milestones are returned. + */ + milestone?: string; + /** + * Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + /** + * Can be the name of a user. Pass in `none` for issues with no assigned user, and `*` for issues assigned to any user. + */ + assignee?: string; + /** + * The user that created the issue. + */ + creator?: string; + /** + * A user that's mentioned in the issue. + */ + mentioned?: string; + /** + * A list of comma separated label names. Example: `bug,ui,@high` + */ + labels?: string; + /** + * What to sort results by. Can be either `created`, `updated`, `comments`. + */ + sort?: "created" | "updated" | "comments"; + /** + * The direction of the sort. Can be either `asc` or `desc`. + */ + direction?: "asc" | "desc"; + /** + * Only issues updated at or after this time are returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type IssuesListForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListForRepoResponseDataItemPullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesListForRepoResponseDataItemMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForRepoResponseDataItemMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesListForRepoResponseDataItemMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesListForRepoResponseDataItemAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForRepoResponseDataItemAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForRepoResponseDataItemLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesListForRepoResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForRepoResponseDataItem = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesListForRepoResponseDataItemUser; + labels: Array; + assignee: IssuesListForRepoResponseDataItemAssignee; + assignees: Array; + milestone: IssuesListForRepoResponseDataItemMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesListForRepoResponseDataItemPullRequest; + closed_at: null; + created_at: string; + updated_at: string; +}; +declare type IssuesListForRepoResponseData = Array; +declare type IssuesCreateEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The title of the issue. + */ + title: string; + /** + * The contents of the issue. + */ + body?: string; + /** + * Login for the user that this issue should be assigned to. _NOTE: Only users with push access can set the assignee for new issues. The assignee is silently dropped otherwise. **This field is deprecated.**_ + */ + assignee?: string; + /** + * The `number` of the milestone to associate this issue with. _NOTE: Only users with push access can set the milestone for new issues. The milestone is silently dropped otherwise._ + */ + milestone?: number; + /** + * Labels to associate with this issue. _NOTE: Only users with push access can set labels for new issues. Labels are silently dropped otherwise._ + */ + labels?: string[]; + /** + * Logins for Users to assign to this issue. _NOTE: Only users with push access can set assignees for new issues. Assignees are silently dropped otherwise._ + */ + assignees?: string[]; +}; +declare type IssuesCreateRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/issues"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesCreateResponseDataClosedBy = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesCreateResponseDataPullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesCreateResponseDataMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesCreateResponseDataMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesCreateResponseDataMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesCreateResponseDataAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesCreateResponseDataAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesCreateResponseDataLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesCreateResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesCreateResponseData = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesCreateResponseDataUser; + labels: Array; + assignee: IssuesCreateResponseDataAssignee; + assignees: Array; + milestone: IssuesCreateResponseDataMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesCreateResponseDataPullRequest; + closed_at: null; + created_at: string; + updated_at: string; + closed_by: IssuesCreateResponseDataClosedBy; +}; +declare type IssuesListCommentsForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Either `created` or `updated`. + */ + sort?: "created" | "updated"; + /** + * Either `asc` or `desc`. Ignored without the `sort` parameter. + */ + direction?: "asc" | "desc"; + /** + * Only comments updated at or after this time are returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type IssuesListCommentsForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListCommentsForRepoResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListCommentsForRepoResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + body: string; + user: IssuesListCommentsForRepoResponseDataItemUser; + created_at: string; + updated_at: string; +}; +declare type IssuesListCommentsForRepoResponseData = Array; +declare type IssuesGetCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; +}; +declare type IssuesGetCommentRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesGetCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetCommentResponseData = { + id: number; + node_id: string; + url: string; + html_url: string; + body: string; + user: IssuesGetCommentResponseDataUser; + created_at: string; + updated_at: string; +}; +declare type IssuesUpdateCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * The contents of the comment. + */ + body: string; +}; +declare type IssuesUpdateCommentRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/issues/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesUpdateCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesUpdateCommentResponseData = { + id: number; + node_id: string; + url: string; + html_url: string; + body: string; + user: IssuesUpdateCommentResponseDataUser; + created_at: string; + updated_at: string; +}; +declare type IssuesDeleteCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; +}; +declare type IssuesDeleteCommentRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/issues/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForIssueCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to an issue comment. + */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsListForIssueCommentRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/comments/:comment_id/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForIssueCommentResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsListForIssueCommentResponseDataItem = { + id: number; + node_id: string; + user: ReactionsListForIssueCommentResponseDataItemUser; + content: string; + created_at: string; +}; +declare type ReactionsListForIssueCommentResponseData = Array; +declare type ReactionsCreateForIssueCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the issue comment. + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsCreateForIssueCommentRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/issues/comments/:comment_id/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsCreateForIssueCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsCreateForIssueCommentResponseData = { + id: number; + node_id: string; + user: ReactionsCreateForIssueCommentResponseDataUser; + content: string; + created_at: string; +}; +declare type ReactionsDeleteForIssueCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * reaction_id parameter + */ + reaction_id: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsDeleteForIssueCommentRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/issues/comments/:comment_id/reactions/:reaction_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListEventsForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type IssuesListEventsForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/events"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListEventsForRepoResponseDataItemIssuePullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesListEventsForRepoResponseDataItemIssueMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListEventsForRepoResponseDataItemIssueMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesListEventsForRepoResponseDataItemIssueMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesListEventsForRepoResponseDataItemIssueAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListEventsForRepoResponseDataItemIssueAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListEventsForRepoResponseDataItemIssueLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesListEventsForRepoResponseDataItemIssueUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListEventsForRepoResponseDataItemIssue = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesListEventsForRepoResponseDataItemIssueUser; + labels: Array; + assignee: IssuesListEventsForRepoResponseDataItemIssueAssignee; + assignees: Array; + milestone: IssuesListEventsForRepoResponseDataItemIssueMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesListEventsForRepoResponseDataItemIssuePullRequest; + closed_at: null; + created_at: string; + updated_at: string; +}; +declare type IssuesListEventsForRepoResponseDataItemActor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListEventsForRepoResponseDataItem = { + id: number; + node_id: string; + url: string; + actor: IssuesListEventsForRepoResponseDataItemActor; + event: string; + commit_id: string; + commit_url: string; + created_at: string; + issue: IssuesListEventsForRepoResponseDataItemIssue; +}; +declare type IssuesListEventsForRepoResponseData = Array; +declare type IssuesGetEventEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * event_id parameter + */ + event_id: number; +}; +declare type IssuesGetEventRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/events/:event_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesGetEventResponseDataIssuePullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesGetEventResponseDataIssueMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetEventResponseDataIssueMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesGetEventResponseDataIssueMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesGetEventResponseDataIssueAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetEventResponseDataIssueAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetEventResponseDataIssueLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesGetEventResponseDataIssueUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetEventResponseDataIssue = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesGetEventResponseDataIssueUser; + labels: Array; + assignee: IssuesGetEventResponseDataIssueAssignee; + assignees: Array; + milestone: IssuesGetEventResponseDataIssueMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesGetEventResponseDataIssuePullRequest; + closed_at: null; + created_at: string; + updated_at: string; +}; +declare type IssuesGetEventResponseDataActor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetEventResponseData = { + id: number; + node_id: string; + url: string; + actor: IssuesGetEventResponseDataActor; + event: string; + commit_id: string; + commit_url: string; + created_at: string; + issue: IssuesGetEventResponseDataIssue; +}; +declare type IssuesGetEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; +}; +declare type IssuesGetRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/:issue_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesGetResponseDataClosedBy = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetResponseDataPullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesGetResponseDataMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetResponseDataMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesGetResponseDataMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesGetResponseDataAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetResponseDataAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetResponseDataLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesGetResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetResponseData = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesGetResponseDataUser; + labels: Array; + assignee: IssuesGetResponseDataAssignee; + assignees: Array; + milestone: IssuesGetResponseDataMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesGetResponseDataPullRequest; + closed_at: null; + created_at: string; + updated_at: string; + closed_by: IssuesGetResponseDataClosedBy; +}; +declare type IssuesUpdateEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * The title of the issue. + */ + title?: string; + /** + * The contents of the issue. + */ + body?: string; + /** + * Login for the user that this issue should be assigned to. **This field is deprecated.** + */ + assignee?: string; + /** + * State of the issue. Either `open` or `closed`. + */ + state?: "open" | "closed"; + /** + * The `number` of the milestone to associate this issue with or `null` to remove current. _NOTE: Only users with push access can set the milestone for issues. The milestone is silently dropped otherwise._ + */ + milestone?: number | null; + /** + * Labels to associate with this issue. Pass one or more Labels to _replace_ the set of Labels on this Issue. Send an empty array (`[]`) to clear all Labels from the Issue. _NOTE: Only users with push access can set labels for issues. Labels are silently dropped otherwise._ + */ + labels?: string[]; + /** + * Logins for Users to assign to this issue. Pass one or more user logins to _replace_ the set of assignees on this Issue. Send an empty array (`[]`) to clear all assignees from the Issue. _NOTE: Only users with push access can set assignees for new issues. Assignees are silently dropped otherwise._ + */ + assignees?: string[]; +}; +declare type IssuesUpdateRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/issues/:issue_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesUpdateResponseDataClosedBy = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesUpdateResponseDataPullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesUpdateResponseDataMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesUpdateResponseDataMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesUpdateResponseDataMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesUpdateResponseDataAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesUpdateResponseDataAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesUpdateResponseDataLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesUpdateResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesUpdateResponseData = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesUpdateResponseDataUser; + labels: Array; + assignee: IssuesUpdateResponseDataAssignee; + assignees: Array; + milestone: IssuesUpdateResponseDataMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesUpdateResponseDataPullRequest; + closed_at: null; + created_at: string; + updated_at: string; + closed_by: IssuesUpdateResponseDataClosedBy; +}; +declare type IssuesAddAssigneesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * Usernames of people to assign this issue to. _NOTE: Only users with push access can add assignees to an issue. Assignees are silently ignored otherwise._ + */ + assignees?: string[]; +}; +declare type IssuesAddAssigneesRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/issues/:issue_number/assignees"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesAddAssigneesResponseDataPullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesAddAssigneesResponseDataMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesAddAssigneesResponseDataMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesAddAssigneesResponseDataMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesAddAssigneesResponseDataAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesAddAssigneesResponseDataAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesAddAssigneesResponseDataLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesAddAssigneesResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesAddAssigneesResponseData = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesAddAssigneesResponseDataUser; + labels: Array; + assignee: IssuesAddAssigneesResponseDataAssignee; + assignees: Array; + milestone: IssuesAddAssigneesResponseDataMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesAddAssigneesResponseDataPullRequest; + closed_at: null; + created_at: string; + updated_at: string; +}; +declare type IssuesRemoveAssigneesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * Usernames of assignees to remove from an issue. _NOTE: Only users with push access can remove assignees from an issue. Assignees are silently ignored otherwise._ + */ + assignees?: string[]; +}; +declare type IssuesRemoveAssigneesRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/issues/:issue_number/assignees"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesRemoveAssigneesResponseDataPullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesRemoveAssigneesResponseDataMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesRemoveAssigneesResponseDataMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesRemoveAssigneesResponseDataMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesRemoveAssigneesResponseDataAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesRemoveAssigneesResponseDataAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesRemoveAssigneesResponseDataLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesRemoveAssigneesResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesRemoveAssigneesResponseData = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesRemoveAssigneesResponseDataUser; + labels: Array; + assignee: IssuesRemoveAssigneesResponseDataAssignee; + assignees: Array; + milestone: IssuesRemoveAssigneesResponseDataMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesRemoveAssigneesResponseDataPullRequest; + closed_at: null; + created_at: string; + updated_at: string; +}; +declare type IssuesListCommentsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * Only comments updated at or after this time are returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type IssuesListCommentsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/:issue_number/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListCommentsResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListCommentsResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + body: string; + user: IssuesListCommentsResponseDataItemUser; + created_at: string; + updated_at: string; +}; +declare type IssuesListCommentsResponseData = Array; +declare type IssuesCreateCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * The contents of the comment. + */ + body: string; +}; +declare type IssuesCreateCommentRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/issues/:issue_number/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesCreateCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesCreateCommentResponseData = { + id: number; + node_id: string; + url: string; + html_url: string; + body: string; + user: IssuesCreateCommentResponseDataUser; + created_at: string; + updated_at: string; +}; +declare type IssuesListEventsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type IssuesListEventsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/:issue_number/events"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListEventsResponseDataItemActor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListEventsResponseDataItem = { + id: number; + node_id: string; + url: string; + actor: IssuesListEventsResponseDataItemActor; + event: string; + commit_id: string; + commit_url: string; + created_at: string; +}; +declare type IssuesListEventsResponseData = Array; +declare type IssuesListLabelsOnIssueEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type IssuesListLabelsOnIssueRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/:issue_number/labels"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListLabelsOnIssueResponseDataItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesListLabelsOnIssueResponseData = Array; +declare type IssuesAddLabelsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * The name of the label to add to the issue. Must contain at least one label. **Note:** Alternatively, you can pass a single label as a `string` or an `array` of labels directly, but GitHub recommends passing an object with the `labels` key. + */ + labels: string[]; +}; +declare type IssuesAddLabelsRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/issues/:issue_number/labels"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesAddLabelsResponseDataItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesAddLabelsResponseData = Array; +declare type IssuesReplaceAllLabelsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * The names of the labels to add to the issue. You can pass an empty array to remove all labels. **Note:** Alternatively, you can pass a single label as a `string` or an `array` of labels directly, but GitHub recommends passing an object with the `labels` key. + */ + labels?: string[]; +}; +declare type IssuesReplaceAllLabelsRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/issues/:issue_number/labels"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesReplaceAllLabelsResponseDataItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesReplaceAllLabelsResponseData = Array; +declare type IssuesRemoveAllLabelsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; +}; +declare type IssuesRemoveAllLabelsRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/issues/:issue_number/labels"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesRemoveLabelEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * name parameter + */ + name: string; +}; +declare type IssuesRemoveLabelRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/issues/:issue_number/labels/:name"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesRemoveLabelResponseDataItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesRemoveLabelResponseData = Array; +declare type IssuesLockEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * The reason for locking the issue or pull request conversation. Lock will fail if you don't use one of these reasons: + * \* `off-topic` + * \* `too heated` + * \* `resolved` + * \* `spam` + */ + lock_reason?: "off-topic" | "too heated" | "resolved" | "spam"; +}; +declare type IssuesLockRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/issues/:issue_number/lock"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesUnlockEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; +}; +declare type IssuesUnlockRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/issues/:issue_number/lock"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForIssueEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to an issue. + */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsListForIssueRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/:issue_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForIssueResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsListForIssueResponseDataItem = { + id: number; + node_id: string; + user: ReactionsListForIssueResponseDataItemUser; + content: string; + created_at: string; +}; +declare type ReactionsListForIssueResponseData = Array; +declare type ReactionsCreateForIssueEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the issue. + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsCreateForIssueRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/issues/:issue_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsCreateForIssueResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsCreateForIssueResponseData = { + id: number; + node_id: string; + user: ReactionsCreateForIssueResponseDataUser; + content: string; + created_at: string; +}; +declare type ReactionsDeleteForIssueEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * reaction_id parameter + */ + reaction_id: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsDeleteForIssueRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/issues/:issue_number/reactions/:reaction_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListEventsForTimelineEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"mockingbird">; +declare type IssuesListEventsForTimelineRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/:issue_number/timeline"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListEventsForTimelineResponseDataItemActor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListEventsForTimelineResponseDataItem = { + id: number; + node_id: string; + url: string; + actor: IssuesListEventsForTimelineResponseDataItemActor; + event: string; + commit_id: string; + commit_url: string; + created_at: string; +}; +declare type IssuesListEventsForTimelineResponseData = Array; +declare type ReposListDeployKeysEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListDeployKeysRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/keys"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListDeployKeysResponseDataItem = { + id: number; + key: string; + url: string; + title: string; + verified: boolean; + created_at: string; + read_only: boolean; +}; +declare type ReposListDeployKeysResponseData = Array; +declare type ReposAddDeployKeyEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * A name for the key. + */ + title?: string; + /** + * The contents of the key. + */ + key: string; + /** + * If `true`, the key will only be able to read repository contents. Otherwise, the key will be able to read and write. + * + * Deploy keys with write access can perform the same actions as an organization member with admin access, or a collaborator on a personal repository. For more information, see "[Repository permission levels for an organization](https://help.github.com/articles/repository-permission-levels-for-an-organization/)" and "[Permission levels for a user account repository](https://help.github.com/articles/permission-levels-for-a-user-account-repository/)." + */ + read_only?: boolean; +}; +declare type ReposAddDeployKeyRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/keys"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposAddDeployKeyResponseData = { + id: number; + key: string; + url: string; + title: string; + verified: boolean; + created_at: string; + read_only: boolean; +}; +declare type ReposGetDeployKeyEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * key_id parameter + */ + key_id: number; +}; +declare type ReposGetDeployKeyRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/keys/:key_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetDeployKeyResponseData = { + id: number; + key: string; + url: string; + title: string; + verified: boolean; + created_at: string; + read_only: boolean; +}; +declare type ReposRemoveDeployKeyEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * key_id parameter + */ + key_id: number; +}; +declare type ReposRemoveDeployKeyRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/keys/:key_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListLabelsForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type IssuesListLabelsForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/labels"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListLabelsForRepoResponseDataItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesListLabelsForRepoResponseData = Array; +declare type IssuesCreateLabelEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji ![:strawberry:](https://github.githubassets.com/images/icons/emoji/unicode/1f353.png ":strawberry:"). For a full list of available emoji and codes, see [emoji-cheat-sheet.com](http://emoji-cheat-sheet.com/). + */ + name: string; + /** + * The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`. + */ + color: string; + /** + * A short description of the label. + */ + description?: string; +}; +declare type IssuesCreateLabelRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/labels"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesCreateLabelResponseData = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesGetLabelEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * name parameter + */ + name: string; +}; +declare type IssuesGetLabelRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/labels/:name"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesGetLabelResponseData = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesUpdateLabelEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * name parameter + */ + name: string; + /** + * The new name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji ![:strawberry:](https://github.githubassets.com/images/icons/emoji/unicode/1f353.png ":strawberry:"). For a full list of available emoji and codes, see [emoji-cheat-sheet.com](http://emoji-cheat-sheet.com/). + */ + new_name?: string; + /** + * The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`. + */ + color?: string; + /** + * A short description of the label. + */ + description?: string; +}; +declare type IssuesUpdateLabelRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/labels/:name"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesUpdateLabelResponseData = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesDeleteLabelEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * name parameter + */ + name: string; +}; +declare type IssuesDeleteLabelRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/labels/:name"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListLanguagesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposListLanguagesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/languages"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListLanguagesResponseData = { + C: number; + Python: number; +}; +declare type LicensesGetForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type LicensesGetForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/license"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type LicensesGetForRepoResponseDataLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type LicensesGetForRepoResponseDataLinks = { + self: string; + git: string; + html: string; +}; +declare type LicensesGetForRepoResponseData = { + name: string; + path: string; + sha: string; + size: number; + url: string; + html_url: string; + git_url: string; + download_url: string; + type: string; + content: string; + encoding: string; + _links: LicensesGetForRepoResponseDataLinks; + license: LicensesGetForRepoResponseDataLicense; +}; +declare type ReposMergeEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The name of the base branch that the head will be merged into. + */ + base: string; + /** + * The head to merge. This can be a branch name or a commit SHA1. + */ + head: string; + /** + * Commit message to use for the merge commit. If omitted, a default message will be used. + */ + commit_message?: string; +}; +declare type ReposMergeRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/merges"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposMergeResponseDataParentsItem = { + sha: string; + url: string; +}; +declare type ReposMergeResponseDataCommitter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposMergeResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposMergeResponseDataCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type ReposMergeResponseDataCommitTree = { + sha: string; + url: string; +}; +declare type ReposMergeResponseDataCommitCommitter = { + name: string; + date: string; + email: string; +}; +declare type ReposMergeResponseDataCommitAuthor = { + name: string; + date: string; + email: string; +}; +declare type ReposMergeResponseDataCommit = { + author: ReposMergeResponseDataCommitAuthor; + committer: ReposMergeResponseDataCommitCommitter; + message: string; + tree: ReposMergeResponseDataCommitTree; + url: string; + comment_count: number; + verification: ReposMergeResponseDataCommitVerification; +}; +declare type ReposMergeResponseData = { + sha: string; + node_id: string; + commit: ReposMergeResponseDataCommit; + url: string; + html_url: string; + comments_url: string; + author: ReposMergeResponseDataAuthor; + committer: ReposMergeResponseDataCommitter; + parents: Array; +}; +declare type IssuesListMilestonesForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The state of the milestone. Either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + /** + * What to sort results by. Either `due_on` or `completeness`. + */ + sort?: "due_on" | "completeness"; + /** + * The direction of the sort. Either `asc` or `desc`. + */ + direction?: "asc" | "desc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type IssuesListMilestonesForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/milestones"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListMilestonesForRepoResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListMilestonesForRepoResponseDataItem = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesListMilestonesForRepoResponseDataItemCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesListMilestonesForRepoResponseData = Array; +declare type IssuesCreateMilestoneEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The title of the milestone. + */ + title: string; + /** + * The state of the milestone. Either `open` or `closed`. + */ + state?: "open" | "closed"; + /** + * A description of the milestone. + */ + description?: string; + /** + * The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + due_on?: string; +}; +declare type IssuesCreateMilestoneRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/milestones"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesCreateMilestoneResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesCreateMilestoneResponseData = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesCreateMilestoneResponseDataCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesGetMilestoneEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * milestone_number parameter + */ + milestone_number: number; +}; +declare type IssuesGetMilestoneRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/milestones/:milestone_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesGetMilestoneResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetMilestoneResponseData = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesGetMilestoneResponseDataCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesUpdateMilestoneEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * milestone_number parameter + */ + milestone_number: number; + /** + * The title of the milestone. + */ + title?: string; + /** + * The state of the milestone. Either `open` or `closed`. + */ + state?: "open" | "closed"; + /** + * A description of the milestone. + */ + description?: string; + /** + * The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + due_on?: string; +}; +declare type IssuesUpdateMilestoneRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/milestones/:milestone_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesUpdateMilestoneResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesUpdateMilestoneResponseData = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesUpdateMilestoneResponseDataCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesDeleteMilestoneEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * milestone_number parameter + */ + milestone_number: number; +}; +declare type IssuesDeleteMilestoneRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/milestones/:milestone_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListLabelsForMilestoneEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * milestone_number parameter + */ + milestone_number: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type IssuesListLabelsForMilestoneRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/milestones/:milestone_number/labels"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListLabelsForMilestoneResponseDataItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesListLabelsForMilestoneResponseData = Array; +declare type ActivityListRepoNotificationsForAuthenticatedUserEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * If `true`, show notifications marked as read. + */ + all?: boolean; + /** + * If `true`, only shows notifications in which the user is directly participating or mentioned. + */ + participating?: boolean; + /** + * Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; + /** + * Only show notifications updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + before?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListRepoNotificationsForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/notifications"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListRepoNotificationsForAuthenticatedUserResponseDataItemSubject = { + title: string; + url: string; + latest_comment_url: string; + type: string; +}; +declare type ActivityListRepoNotificationsForAuthenticatedUserResponseDataItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActivityListRepoNotificationsForAuthenticatedUserResponseDataItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActivityListRepoNotificationsForAuthenticatedUserResponseDataItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ActivityListRepoNotificationsForAuthenticatedUserResponseDataItem = { + id: string; + repository: ActivityListRepoNotificationsForAuthenticatedUserResponseDataItemRepository; + subject: ActivityListRepoNotificationsForAuthenticatedUserResponseDataItemSubject; + reason: string; + unread: boolean; + updated_at: string; + last_read_at: string; + url: string; +}; +declare type ActivityListRepoNotificationsForAuthenticatedUserResponseData = Array; +declare type ActivityMarkRepoNotificationsAsReadEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Describes the last point that notifications were checked. Anything updated since this time will not be marked as read. If you omit this parameter, all notifications are marked as read. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp. + */ + last_read_at?: string; +}; +declare type ActivityMarkRepoNotificationsAsReadRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/notifications"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetPagesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetPagesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pages"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetPagesResponseDataSource = { + branch: string; + directory: string; +}; +declare type ReposGetPagesResponseData = { + url: string; + status: string; + cname: string; + custom_404: boolean; + html_url: string; + source: ReposGetPagesResponseDataSource; +}; +declare type ReposEnablePagesSiteEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * source parameter + */ + source?: ReposEnablePagesSiteParamsSource; +} & RequiredPreview<"switcheroo">; +declare type ReposEnablePagesSiteRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/pages"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposEnablePagesSiteResponseDataSource = { + branch: string; + directory: string; +}; +declare type ReposEnablePagesSiteResponseData = { + url: string; + status: string; + cname: string; + custom_404: boolean; + html_url: string; + source: ReposEnablePagesSiteResponseDataSource; +}; +declare type ReposDisablePagesSiteEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"switcheroo">; +declare type ReposDisablePagesSiteRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/pages"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateInformationAboutPagesSiteEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Specify a custom domain for the repository. Sending a `null` value will remove the custom domain. For more about custom domains, see "[Using a custom domain with GitHub Pages](https://help.github.com/articles/using-a-custom-domain-with-github-pages/)." + */ + cname?: string; + /** + * Update the source for the repository. Must include the branch name, and may optionally specify the subdirectory `/docs`. Possible values are `"gh-pages"`, `"master"`, and `"master /docs"`. + */ + source?: '"gh-pages"' | '"master"' | '"master /docs"'; +}; +declare type ReposUpdateInformationAboutPagesSiteRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/pages"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposRequestPageBuildEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposRequestPageBuildRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/pages/builds"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposRequestPageBuildResponseData = { + url: string; + status: string; +}; +declare type ReposListPagesBuildsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListPagesBuildsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pages/builds"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListPagesBuildsResponseDataItemPusher = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPagesBuildsResponseDataItemError = { + message: null; +}; +declare type ReposListPagesBuildsResponseDataItem = { + url: string; + status: string; + error: ReposListPagesBuildsResponseDataItemError; + pusher: ReposListPagesBuildsResponseDataItemPusher; + commit: string; + duration: number; + created_at: string; + updated_at: string; +}; +declare type ReposListPagesBuildsResponseData = Array; +declare type ReposGetLatestPagesBuildEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetLatestPagesBuildRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pages/builds/latest"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetLatestPagesBuildResponseDataPusher = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetLatestPagesBuildResponseDataError = { + message: null; +}; +declare type ReposGetLatestPagesBuildResponseData = { + url: string; + status: string; + error: ReposGetLatestPagesBuildResponseDataError; + pusher: ReposGetLatestPagesBuildResponseDataPusher; + commit: string; + duration: number; + created_at: string; + updated_at: string; +}; +declare type ReposGetPagesBuildEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * build_id parameter + */ + build_id: number; +}; +declare type ReposGetPagesBuildRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pages/builds/:build_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetPagesBuildResponseDataPusher = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetPagesBuildResponseDataError = { + message: null; +}; +declare type ReposGetPagesBuildResponseData = { + url: string; + status: string; + error: ReposGetPagesBuildResponseDataError; + pusher: ReposGetPagesBuildResponseDataPusher; + commit: string; + duration: number; + created_at: string; + updated_at: string; +}; +declare type ProjectsListForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"inertia">; +declare type ProjectsListForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/projects"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsListForRepoResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsListForRepoResponseDataItem = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: ProjectsListForRepoResponseDataItemCreator; + created_at: string; + updated_at: string; +}; +declare type ProjectsListForRepoResponseData = Array; +declare type ProjectsCreateForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The name of the project. + */ + name: string; + /** + * The description of the project. + */ + body?: string; +} & RequiredPreview<"inertia">; +declare type ProjectsCreateForRepoRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/projects"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsCreateForRepoResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsCreateForRepoResponseData = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: ProjectsCreateForRepoResponseDataCreator; + created_at: string; + updated_at: string; +}; +declare type PullsListEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Either `open`, `closed`, or `all` to filter by state. + */ + state?: "open" | "closed" | "all"; + /** + * Filter pulls by head user or head organization and branch name in the format of `user:ref-name` or `organization:ref-name`. For example: `github:new-script-format` or `octocat:test-branch`. + */ + head?: string; + /** + * Filter pulls by base branch name. Example: `gh-pages`. + */ + base?: string; + /** + * What to sort results by. Can be either `created`, `updated`, `popularity` (comment count) or `long-running` (age, filtering by pulls updated in the last month). + */ + sort?: "created" | "updated" | "popularity" | "long-running"; + /** + * The direction of the sort. Can be either `asc` or `desc`. Default: `desc` when sort is `created` or sort is not specified, otherwise `asc`. + */ + direction?: "asc" | "desc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type PullsListRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsListResponseDataItemLinksStatuses = { + href: string; +}; +declare type PullsListResponseDataItemLinksCommits = { + href: string; +}; +declare type PullsListResponseDataItemLinksReviewComment = { + href: string; +}; +declare type PullsListResponseDataItemLinksReviewComments = { + href: string; +}; +declare type PullsListResponseDataItemLinksComments = { + href: string; +}; +declare type PullsListResponseDataItemLinksIssue = { + href: string; +}; +declare type PullsListResponseDataItemLinksHtml = { + href: string; +}; +declare type PullsListResponseDataItemLinksSelf = { + href: string; +}; +declare type PullsListResponseDataItemLinks = { + self: PullsListResponseDataItemLinksSelf; + html: PullsListResponseDataItemLinksHtml; + issue: PullsListResponseDataItemLinksIssue; + comments: PullsListResponseDataItemLinksComments; + review_comments: PullsListResponseDataItemLinksReviewComments; + review_comment: PullsListResponseDataItemLinksReviewComment; + commits: PullsListResponseDataItemLinksCommits; + statuses: PullsListResponseDataItemLinksStatuses; +}; +declare type PullsListResponseDataItemBaseRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsListResponseDataItemBaseRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListResponseDataItemBaseRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsListResponseDataItemBaseRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsListResponseDataItemBaseRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsListResponseDataItemBaseUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListResponseDataItemBase = { + label: string; + ref: string; + sha: string; + user: PullsListResponseDataItemBaseUser; + repo: PullsListResponseDataItemBaseRepo; +}; +declare type PullsListResponseDataItemHeadRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsListResponseDataItemHeadRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListResponseDataItemHeadRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsListResponseDataItemHeadRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsListResponseDataItemHeadRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsListResponseDataItemHeadUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListResponseDataItemHead = { + label: string; + ref: string; + sha: string; + user: PullsListResponseDataItemHeadUser; + repo: PullsListResponseDataItemHeadRepo; +}; +declare type PullsListResponseDataItemRequestedTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type PullsListResponseDataItemRequestedReviewersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListResponseDataItemAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListResponseDataItemAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListResponseDataItemMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListResponseDataItemMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: PullsListResponseDataItemMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type PullsListResponseDataItemLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type PullsListResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListResponseDataItem = { + url: string; + id: number; + node_id: string; + html_url: string; + diff_url: string; + patch_url: string; + issue_url: string; + commits_url: string; + review_comments_url: string; + review_comment_url: string; + comments_url: string; + statuses_url: string; + number: number; + state: string; + locked: boolean; + title: string; + user: PullsListResponseDataItemUser; + body: string; + labels: Array; + milestone: PullsListResponseDataItemMilestone; + active_lock_reason: string; + created_at: string; + updated_at: string; + closed_at: string; + merged_at: string; + merge_commit_sha: string; + assignee: PullsListResponseDataItemAssignee; + assignees: Array; + requested_reviewers: Array; + requested_teams: Array; + head: PullsListResponseDataItemHead; + base: PullsListResponseDataItemBase; + _links: PullsListResponseDataItemLinks; + author_association: string; + draft: boolean; +}; +declare type PullsListResponseData = Array; +declare type PullsCreateEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The title of the new pull request. + */ + title: string; + /** + * The name of the branch where your changes are implemented. For cross-repository pull requests in the same network, namespace `head` with a user like this: `username:branch`. + */ + head: string; + /** + * The name of the branch you want the changes pulled into. This should be an existing branch on the current repository. You cannot submit a pull request to one repository that requests a merge to a base of another repository. + */ + base: string; + /** + * The contents of the pull request. + */ + body?: string; + /** + * Indicates whether [maintainers can modify](https://help.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request. + */ + maintainer_can_modify?: boolean; + /** + * Indicates whether the pull request is a draft. See "[Draft Pull Requests](https://help.github.com/en/articles/about-pull-requests#draft-pull-requests)" in the GitHub Help documentation to learn more. + */ + draft?: boolean; +}; +declare type PullsCreateRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/pulls"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsCreateResponseDataMergedBy = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseDataLinksStatuses = { + href: string; +}; +declare type PullsCreateResponseDataLinksCommits = { + href: string; +}; +declare type PullsCreateResponseDataLinksReviewComment = { + href: string; +}; +declare type PullsCreateResponseDataLinksReviewComments = { + href: string; +}; +declare type PullsCreateResponseDataLinksComments = { + href: string; +}; +declare type PullsCreateResponseDataLinksIssue = { + href: string; +}; +declare type PullsCreateResponseDataLinksHtml = { + href: string; +}; +declare type PullsCreateResponseDataLinksSelf = { + href: string; +}; +declare type PullsCreateResponseDataLinks = { + self: PullsCreateResponseDataLinksSelf; + html: PullsCreateResponseDataLinksHtml; + issue: PullsCreateResponseDataLinksIssue; + comments: PullsCreateResponseDataLinksComments; + review_comments: PullsCreateResponseDataLinksReviewComments; + review_comment: PullsCreateResponseDataLinksReviewComment; + commits: PullsCreateResponseDataLinksCommits; + statuses: PullsCreateResponseDataLinksStatuses; +}; +declare type PullsCreateResponseDataBaseRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsCreateResponseDataBaseRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseDataBaseRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsCreateResponseDataBaseRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsCreateResponseDataBaseRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsCreateResponseDataBaseUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseDataBase = { + label: string; + ref: string; + sha: string; + user: PullsCreateResponseDataBaseUser; + repo: PullsCreateResponseDataBaseRepo; +}; +declare type PullsCreateResponseDataHeadRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsCreateResponseDataHeadRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseDataHeadRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsCreateResponseDataHeadRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsCreateResponseDataHeadRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsCreateResponseDataHeadUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseDataHead = { + label: string; + ref: string; + sha: string; + user: PullsCreateResponseDataHeadUser; + repo: PullsCreateResponseDataHeadRepo; +}; +declare type PullsCreateResponseDataRequestedTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type PullsCreateResponseDataRequestedReviewersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseDataAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseDataAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseDataMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseDataMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: PullsCreateResponseDataMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type PullsCreateResponseDataLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type PullsCreateResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseData = { + url: string; + id: number; + node_id: string; + html_url: string; + diff_url: string; + patch_url: string; + issue_url: string; + commits_url: string; + review_comments_url: string; + review_comment_url: string; + comments_url: string; + statuses_url: string; + number: number; + state: string; + locked: boolean; + title: string; + user: PullsCreateResponseDataUser; + body: string; + labels: Array; + milestone: PullsCreateResponseDataMilestone; + active_lock_reason: string; + created_at: string; + updated_at: string; + closed_at: string; + merged_at: string; + merge_commit_sha: string; + assignee: PullsCreateResponseDataAssignee; + assignees: Array; + requested_reviewers: Array; + requested_teams: Array; + head: PullsCreateResponseDataHead; + base: PullsCreateResponseDataBase; + _links: PullsCreateResponseDataLinks; + author_association: string; + draft: boolean; + merged: boolean; + mergeable: boolean; + rebaseable: boolean; + mergeable_state: string; + merged_by: PullsCreateResponseDataMergedBy; + comments: number; + review_comments: number; + maintainer_can_modify: boolean; + commits: number; + additions: number; + deletions: number; + changed_files: number; +}; +declare type PullsListCommentsForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Can be either `created` or `updated` comments. + */ + sort?: "created" | "updated"; + /** + * Can be either `asc` or `desc`. Ignored without `sort` parameter. + */ + direction?: "asc" | "desc"; + /** + * This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Only returns comments `updated` at or after this time. + */ + since?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type PullsListCommentsForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsListCommentsForRepoResponseDataItemLinksPullRequest = { + href: string; +}; +declare type PullsListCommentsForRepoResponseDataItemLinksHtml = { + href: string; +}; +declare type PullsListCommentsForRepoResponseDataItemLinksSelf = { + href: string; +}; +declare type PullsListCommentsForRepoResponseDataItemLinks = { + self: PullsListCommentsForRepoResponseDataItemLinksSelf; + html: PullsListCommentsForRepoResponseDataItemLinksHtml; + pull_request: PullsListCommentsForRepoResponseDataItemLinksPullRequest; +}; +declare type PullsListCommentsForRepoResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListCommentsForRepoResponseDataItem = { + url: string; + id: number; + node_id: string; + pull_request_review_id: number; + diff_hunk: string; + path: string; + position: number; + original_position: number; + commit_id: string; + original_commit_id: string; + in_reply_to_id: number; + user: PullsListCommentsForRepoResponseDataItemUser; + body: string; + created_at: string; + updated_at: string; + html_url: string; + pull_request_url: string; + author_association: string; + _links: PullsListCommentsForRepoResponseDataItemLinks; + start_line: number; + original_start_line: number; + start_side: string; + line: number; + original_line: number; + side: string; +}; +declare type PullsListCommentsForRepoResponseData = Array; +declare type PullsGetCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; +}; +declare type PullsGetCommentRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsGetCommentResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsGetCommentResponseDataLinksHtml = { + href: string; +}; +declare type PullsGetCommentResponseDataLinksSelf = { + href: string; +}; +declare type PullsGetCommentResponseDataLinks = { + self: PullsGetCommentResponseDataLinksSelf; + html: PullsGetCommentResponseDataLinksHtml; + pull_request: PullsGetCommentResponseDataLinksPullRequest; +}; +declare type PullsGetCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetCommentResponseData = { + url: string; + id: number; + node_id: string; + pull_request_review_id: number; + diff_hunk: string; + path: string; + position: number; + original_position: number; + commit_id: string; + original_commit_id: string; + in_reply_to_id: number; + user: PullsGetCommentResponseDataUser; + body: string; + created_at: string; + updated_at: string; + html_url: string; + pull_request_url: string; + author_association: string; + _links: PullsGetCommentResponseDataLinks; + start_line: number; + original_start_line: number; + start_side: string; + line: number; + original_line: number; + side: string; +}; +declare type PullsUpdateCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * The text of the reply to the review comment. + */ + body: string; +}; +declare type PullsUpdateCommentRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/pulls/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsUpdateCommentResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsUpdateCommentResponseDataLinksHtml = { + href: string; +}; +declare type PullsUpdateCommentResponseDataLinksSelf = { + href: string; +}; +declare type PullsUpdateCommentResponseDataLinks = { + self: PullsUpdateCommentResponseDataLinksSelf; + html: PullsUpdateCommentResponseDataLinksHtml; + pull_request: PullsUpdateCommentResponseDataLinksPullRequest; +}; +declare type PullsUpdateCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateCommentResponseData = { + url: string; + id: number; + node_id: string; + pull_request_review_id: number; + diff_hunk: string; + path: string; + position: number; + original_position: number; + commit_id: string; + original_commit_id: string; + in_reply_to_id: number; + user: PullsUpdateCommentResponseDataUser; + body: string; + created_at: string; + updated_at: string; + html_url: string; + pull_request_url: string; + author_association: string; + _links: PullsUpdateCommentResponseDataLinks; + start_line: number; + original_start_line: number; + start_side: string; + line: number; + original_line: number; + side: string; +}; +declare type PullsDeleteCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; +}; +declare type PullsDeleteCommentRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/pulls/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForPullRequestReviewCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to a pull request review comment. + */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsListForPullRequestReviewCommentRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/comments/:comment_id/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForPullRequestReviewCommentResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsListForPullRequestReviewCommentResponseDataItem = { + id: number; + node_id: string; + user: ReactionsListForPullRequestReviewCommentResponseDataItemUser; + content: string; + created_at: string; +}; +declare type ReactionsListForPullRequestReviewCommentResponseData = Array; +declare type ReactionsCreateForPullRequestReviewCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the pull request review comment. + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsCreateForPullRequestReviewCommentRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/pulls/comments/:comment_id/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsCreateForPullRequestReviewCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsCreateForPullRequestReviewCommentResponseData = { + id: number; + node_id: string; + user: ReactionsCreateForPullRequestReviewCommentResponseDataUser; + content: string; + created_at: string; +}; +declare type ReactionsDeleteForPullRequestCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * reaction_id parameter + */ + reaction_id: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsDeleteForPullRequestCommentRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/pulls/comments/:comment_id/reactions/:reaction_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsGetEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; +}; +declare type PullsGetRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/:pull_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsGetResponseDataMergedBy = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseDataLinksStatuses = { + href: string; +}; +declare type PullsGetResponseDataLinksCommits = { + href: string; +}; +declare type PullsGetResponseDataLinksReviewComment = { + href: string; +}; +declare type PullsGetResponseDataLinksReviewComments = { + href: string; +}; +declare type PullsGetResponseDataLinksComments = { + href: string; +}; +declare type PullsGetResponseDataLinksIssue = { + href: string; +}; +declare type PullsGetResponseDataLinksHtml = { + href: string; +}; +declare type PullsGetResponseDataLinksSelf = { + href: string; +}; +declare type PullsGetResponseDataLinks = { + self: PullsGetResponseDataLinksSelf; + html: PullsGetResponseDataLinksHtml; + issue: PullsGetResponseDataLinksIssue; + comments: PullsGetResponseDataLinksComments; + review_comments: PullsGetResponseDataLinksReviewComments; + review_comment: PullsGetResponseDataLinksReviewComment; + commits: PullsGetResponseDataLinksCommits; + statuses: PullsGetResponseDataLinksStatuses; +}; +declare type PullsGetResponseDataBaseRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsGetResponseDataBaseRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseDataBaseRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsGetResponseDataBaseRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsGetResponseDataBaseRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsGetResponseDataBaseUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseDataBase = { + label: string; + ref: string; + sha: string; + user: PullsGetResponseDataBaseUser; + repo: PullsGetResponseDataBaseRepo; +}; +declare type PullsGetResponseDataHeadRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsGetResponseDataHeadRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseDataHeadRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsGetResponseDataHeadRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsGetResponseDataHeadRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsGetResponseDataHeadUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseDataHead = { + label: string; + ref: string; + sha: string; + user: PullsGetResponseDataHeadUser; + repo: PullsGetResponseDataHeadRepo; +}; +declare type PullsGetResponseDataRequestedTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type PullsGetResponseDataRequestedReviewersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseDataAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseDataAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseDataMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseDataMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: PullsGetResponseDataMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type PullsGetResponseDataLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type PullsGetResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseData = { + url: string; + id: number; + node_id: string; + html_url: string; + diff_url: string; + patch_url: string; + issue_url: string; + commits_url: string; + review_comments_url: string; + review_comment_url: string; + comments_url: string; + statuses_url: string; + number: number; + state: string; + locked: boolean; + title: string; + user: PullsGetResponseDataUser; + body: string; + labels: Array; + milestone: PullsGetResponseDataMilestone; + active_lock_reason: string; + created_at: string; + updated_at: string; + closed_at: string; + merged_at: string; + merge_commit_sha: string; + assignee: PullsGetResponseDataAssignee; + assignees: Array; + requested_reviewers: Array; + requested_teams: Array; + head: PullsGetResponseDataHead; + base: PullsGetResponseDataBase; + _links: PullsGetResponseDataLinks; + author_association: string; + draft: boolean; + merged: boolean; + mergeable: boolean; + rebaseable: boolean; + mergeable_state: string; + merged_by: PullsGetResponseDataMergedBy; + comments: number; + review_comments: number; + maintainer_can_modify: boolean; + commits: number; + additions: number; + deletions: number; + changed_files: number; +}; +declare type PullsUpdateEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * The title of the pull request. + */ + title?: string; + /** + * The contents of the pull request. + */ + body?: string; + /** + * State of this Pull Request. Either `open` or `closed`. + */ + state?: "open" | "closed"; + /** + * The name of the branch you want your changes pulled into. This should be an existing branch on the current repository. You cannot update the base branch on a pull request to point to another repository. + */ + base?: string; + /** + * Indicates whether [maintainers can modify](https://help.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request. + */ + maintainer_can_modify?: boolean; +}; +declare type PullsUpdateRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/pulls/:pull_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsUpdateResponseDataMergedBy = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseDataLinksStatuses = { + href: string; +}; +declare type PullsUpdateResponseDataLinksCommits = { + href: string; +}; +declare type PullsUpdateResponseDataLinksReviewComment = { + href: string; +}; +declare type PullsUpdateResponseDataLinksReviewComments = { + href: string; +}; +declare type PullsUpdateResponseDataLinksComments = { + href: string; +}; +declare type PullsUpdateResponseDataLinksIssue = { + href: string; +}; +declare type PullsUpdateResponseDataLinksHtml = { + href: string; +}; +declare type PullsUpdateResponseDataLinksSelf = { + href: string; +}; +declare type PullsUpdateResponseDataLinks = { + self: PullsUpdateResponseDataLinksSelf; + html: PullsUpdateResponseDataLinksHtml; + issue: PullsUpdateResponseDataLinksIssue; + comments: PullsUpdateResponseDataLinksComments; + review_comments: PullsUpdateResponseDataLinksReviewComments; + review_comment: PullsUpdateResponseDataLinksReviewComment; + commits: PullsUpdateResponseDataLinksCommits; + statuses: PullsUpdateResponseDataLinksStatuses; +}; +declare type PullsUpdateResponseDataBaseRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsUpdateResponseDataBaseRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseDataBaseRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsUpdateResponseDataBaseRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsUpdateResponseDataBaseRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsUpdateResponseDataBaseUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseDataBase = { + label: string; + ref: string; + sha: string; + user: PullsUpdateResponseDataBaseUser; + repo: PullsUpdateResponseDataBaseRepo; +}; +declare type PullsUpdateResponseDataHeadRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsUpdateResponseDataHeadRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseDataHeadRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsUpdateResponseDataHeadRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsUpdateResponseDataHeadRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsUpdateResponseDataHeadUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseDataHead = { + label: string; + ref: string; + sha: string; + user: PullsUpdateResponseDataHeadUser; + repo: PullsUpdateResponseDataHeadRepo; +}; +declare type PullsUpdateResponseDataRequestedTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type PullsUpdateResponseDataRequestedReviewersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseDataAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseDataAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseDataMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseDataMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: PullsUpdateResponseDataMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type PullsUpdateResponseDataLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type PullsUpdateResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseData = { + url: string; + id: number; + node_id: string; + html_url: string; + diff_url: string; + patch_url: string; + issue_url: string; + commits_url: string; + review_comments_url: string; + review_comment_url: string; + comments_url: string; + statuses_url: string; + number: number; + state: string; + locked: boolean; + title: string; + user: PullsUpdateResponseDataUser; + body: string; + labels: Array; + milestone: PullsUpdateResponseDataMilestone; + active_lock_reason: string; + created_at: string; + updated_at: string; + closed_at: string; + merged_at: string; + merge_commit_sha: string; + assignee: PullsUpdateResponseDataAssignee; + assignees: Array; + requested_reviewers: Array; + requested_teams: Array; + head: PullsUpdateResponseDataHead; + base: PullsUpdateResponseDataBase; + _links: PullsUpdateResponseDataLinks; + author_association: string; + draft: boolean; + merged: boolean; + mergeable: boolean; + rebaseable: boolean; + mergeable_state: string; + merged_by: PullsUpdateResponseDataMergedBy; + comments: number; + review_comments: number; + maintainer_can_modify: boolean; + commits: number; + additions: number; + deletions: number; + changed_files: number; +}; +declare type PullsListCommentsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * Can be either `created` or `updated` comments. + */ + sort?: "created" | "updated"; + /** + * Can be either `asc` or `desc`. Ignored without `sort` parameter. + */ + direction?: "asc" | "desc"; + /** + * This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Only returns comments `updated` at or after this time. + */ + since?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type PullsListCommentsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/:pull_number/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsListCommentsResponseDataItemLinksPullRequest = { + href: string; +}; +declare type PullsListCommentsResponseDataItemLinksHtml = { + href: string; +}; +declare type PullsListCommentsResponseDataItemLinksSelf = { + href: string; +}; +declare type PullsListCommentsResponseDataItemLinks = { + self: PullsListCommentsResponseDataItemLinksSelf; + html: PullsListCommentsResponseDataItemLinksHtml; + pull_request: PullsListCommentsResponseDataItemLinksPullRequest; +}; +declare type PullsListCommentsResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListCommentsResponseDataItem = { + url: string; + id: number; + node_id: string; + pull_request_review_id: number; + diff_hunk: string; + path: string; + position: number; + original_position: number; + commit_id: string; + original_commit_id: string; + in_reply_to_id: number; + user: PullsListCommentsResponseDataItemUser; + body: string; + created_at: string; + updated_at: string; + html_url: string; + pull_request_url: string; + author_association: string; + _links: PullsListCommentsResponseDataItemLinks; + start_line: number; + original_start_line: number; + start_side: string; + line: number; + original_line: number; + side: string; +}; +declare type PullsListCommentsResponseData = Array; +declare type PullsCreateCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * The text of the review comment. + */ + body: string; + /** + * The SHA of the commit needing a comment. Not using the latest commit SHA may render your comment outdated if a subsequent commit modifies the line you specify as the `position`. + */ + commit_id: string; + /** + * The relative path to the file that necessitates a comment. + */ + path: string; + /** + * **Required without `comfort-fade` preview**. The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note above. + */ + position?: number; + /** + * **Required with `comfort-fade` preview**. In a split diff view, the side of the diff that the pull request's changes appear on. Can be `LEFT` or `RIGHT`. Use `LEFT` for deletions that appear in red. Use `RIGHT` for additions that appear in green or unchanged lines that appear in white and are shown for context. For a multi-line comment, side represents whether the last line of the comment range is a deletion or addition. For more information, see "[Diff view options](https://help.github.com/en/articles/about-comparing-branches-in-pull-requests#diff-view-options)" in the GitHub Help documentation. + */ + side?: "LEFT" | "RIGHT"; + /** + * **Required with `comfort-fade` preview**. The line of the blob in the pull request diff that the comment applies to. For a multi-line comment, the last line of the range that your comment applies to. + */ + line?: number; + /** + * **Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. The `start_line` is the first line in the pull request diff that your multi-line comment applies to. To learn more about multi-line comments, see "[Commenting on a pull request](https://help.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. + */ + start_line?: number; + /** + * **Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. The `start_side` is the starting side of the diff that the comment applies to. Can be `LEFT` or `RIGHT`. To learn more about multi-line comments, see "[Commenting on a pull request](https://help.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. See `side` in this table for additional context. + */ + start_side?: "LEFT" | "RIGHT" | "side"; +}; +declare type PullsCreateCommentRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/pulls/:pull_number/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsCreateCommentResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsCreateCommentResponseDataLinksHtml = { + href: string; +}; +declare type PullsCreateCommentResponseDataLinksSelf = { + href: string; +}; +declare type PullsCreateCommentResponseDataLinks = { + self: PullsCreateCommentResponseDataLinksSelf; + html: PullsCreateCommentResponseDataLinksHtml; + pull_request: PullsCreateCommentResponseDataLinksPullRequest; +}; +declare type PullsCreateCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateCommentResponseData = { + url: string; + id: number; + node_id: string; + pull_request_review_id: number; + diff_hunk: string; + path: string; + position: number; + original_position: number; + commit_id: string; + original_commit_id: string; + in_reply_to_id: number; + user: PullsCreateCommentResponseDataUser; + body: string; + created_at: string; + updated_at: string; + html_url: string; + pull_request_url: string; + author_association: string; + _links: PullsCreateCommentResponseDataLinks; + start_line: number; + original_start_line: number; + start_side: string; + line: number; + original_line: number; + side: string; +}; +declare type PullsCreateReviewCommentReplyEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * comment_id parameter + */ + comment_id: number; + /** + * The text of the review comment. + */ + body: string; +}; +declare type PullsCreateReviewCommentReplyRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/pulls/:pull_number/comments/:comment_id/replies"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsCreateReviewCommentReplyResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsCreateReviewCommentReplyResponseDataLinksHtml = { + href: string; +}; +declare type PullsCreateReviewCommentReplyResponseDataLinksSelf = { + href: string; +}; +declare type PullsCreateReviewCommentReplyResponseDataLinks = { + self: PullsCreateReviewCommentReplyResponseDataLinksSelf; + html: PullsCreateReviewCommentReplyResponseDataLinksHtml; + pull_request: PullsCreateReviewCommentReplyResponseDataLinksPullRequest; +}; +declare type PullsCreateReviewCommentReplyResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewCommentReplyResponseData = { + url: string; + pull_request_review_id: number; + id: number; + node_id: string; + diff_hunk: string; + path: string; + position: number; + original_position: number; + commit_id: string; + original_commit_id: string; + user: PullsCreateReviewCommentReplyResponseDataUser; + body: string; + created_at: string; + updated_at: string; + html_url: string; + pull_request_url: string; + author_association: string; + _links: PullsCreateReviewCommentReplyResponseDataLinks; +}; +declare type PullsListCommitsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type PullsListCommitsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/:pull_number/commits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsListCommitsResponseDataItemParentsItem = { + url: string; + sha: string; +}; +declare type PullsListCommitsResponseDataItemCommitter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListCommitsResponseDataItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListCommitsResponseDataItemCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type PullsListCommitsResponseDataItemCommitTree = { + url: string; + sha: string; +}; +declare type PullsListCommitsResponseDataItemCommitCommitter = { + name: string; + email: string; + date: string; +}; +declare type PullsListCommitsResponseDataItemCommitAuthor = { + name: string; + email: string; + date: string; +}; +declare type PullsListCommitsResponseDataItemCommit = { + url: string; + author: PullsListCommitsResponseDataItemCommitAuthor; + committer: PullsListCommitsResponseDataItemCommitCommitter; + message: string; + tree: PullsListCommitsResponseDataItemCommitTree; + comment_count: number; + verification: PullsListCommitsResponseDataItemCommitVerification; +}; +declare type PullsListCommitsResponseDataItem = { + url: string; + sha: string; + node_id: string; + html_url: string; + comments_url: string; + commit: PullsListCommitsResponseDataItemCommit; + author: PullsListCommitsResponseDataItemAuthor; + committer: PullsListCommitsResponseDataItemCommitter; + parents: Array; +}; +declare type PullsListCommitsResponseData = Array; +declare type PullsListFilesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type PullsListFilesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/:pull_number/files"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsListFilesResponseDataItem = { + sha: string; + filename: string; + status: string; + additions: number; + deletions: number; + changes: number; + blob_url: string; + raw_url: string; + contents_url: string; + patch: string; +}; +declare type PullsListFilesResponseData = Array; +declare type PullsCheckIfMergedEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; +}; +declare type PullsCheckIfMergedRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/:pull_number/merge"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsMergeEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * Title for the automatic commit message. + */ + commit_title?: string; + /** + * Extra detail to append to automatic commit message. + */ + commit_message?: string; + /** + * SHA that pull request head must match to allow merge. + */ + sha?: string; + /** + * Merge method to use. Possible values are `merge`, `squash` or `rebase`. Default is `merge`. + */ + merge_method?: "merge" | "squash" | "rebase"; +}; +declare type PullsMergeRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/pulls/:pull_number/merge"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsMergeResponseData = { + sha: string; + merged: boolean; + message: string; +}; +declare type PullsListReviewRequestsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type PullsListReviewRequestsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/:pull_number/requested_reviewers"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsListReviewRequestsResponseDataTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type PullsListReviewRequestsResponseDataUsersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListReviewRequestsResponseData = { + users: Array; + teams: Array; +}; +declare type PullsCreateReviewRequestEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * An array of user `login`s that will be requested. + */ + reviewers?: string[]; + /** + * An array of team `slug`s that will be requested. + */ + team_reviewers?: string[]; +}; +declare type PullsCreateReviewRequestRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/pulls/:pull_number/requested_reviewers"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsCreateReviewRequestResponseDataLinksStatuses = { + href: string; +}; +declare type PullsCreateReviewRequestResponseDataLinksCommits = { + href: string; +}; +declare type PullsCreateReviewRequestResponseDataLinksReviewComment = { + href: string; +}; +declare type PullsCreateReviewRequestResponseDataLinksReviewComments = { + href: string; +}; +declare type PullsCreateReviewRequestResponseDataLinksComments = { + href: string; +}; +declare type PullsCreateReviewRequestResponseDataLinksIssue = { + href: string; +}; +declare type PullsCreateReviewRequestResponseDataLinksHtml = { + href: string; +}; +declare type PullsCreateReviewRequestResponseDataLinksSelf = { + href: string; +}; +declare type PullsCreateReviewRequestResponseDataLinks = { + self: PullsCreateReviewRequestResponseDataLinksSelf; + html: PullsCreateReviewRequestResponseDataLinksHtml; + issue: PullsCreateReviewRequestResponseDataLinksIssue; + comments: PullsCreateReviewRequestResponseDataLinksComments; + review_comments: PullsCreateReviewRequestResponseDataLinksReviewComments; + review_comment: PullsCreateReviewRequestResponseDataLinksReviewComment; + commits: PullsCreateReviewRequestResponseDataLinksCommits; + statuses: PullsCreateReviewRequestResponseDataLinksStatuses; +}; +declare type PullsCreateReviewRequestResponseDataBaseRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsCreateReviewRequestResponseDataBaseRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewRequestResponseDataBaseRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsCreateReviewRequestResponseDataBaseRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsCreateReviewRequestResponseDataBaseRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsCreateReviewRequestResponseDataBaseUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewRequestResponseDataBase = { + label: string; + ref: string; + sha: string; + user: PullsCreateReviewRequestResponseDataBaseUser; + repo: PullsCreateReviewRequestResponseDataBaseRepo; +}; +declare type PullsCreateReviewRequestResponseDataHeadRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsCreateReviewRequestResponseDataHeadRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewRequestResponseDataHeadRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsCreateReviewRequestResponseDataHeadRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsCreateReviewRequestResponseDataHeadRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsCreateReviewRequestResponseDataHeadUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewRequestResponseDataHead = { + label: string; + ref: string; + sha: string; + user: PullsCreateReviewRequestResponseDataHeadUser; + repo: PullsCreateReviewRequestResponseDataHeadRepo; +}; +declare type PullsCreateReviewRequestResponseDataRequestedTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type PullsCreateReviewRequestResponseDataRequestedReviewersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewRequestResponseDataAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewRequestResponseDataAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewRequestResponseDataMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewRequestResponseDataMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: PullsCreateReviewRequestResponseDataMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type PullsCreateReviewRequestResponseDataLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type PullsCreateReviewRequestResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewRequestResponseData = { + url: string; + id: number; + node_id: string; + html_url: string; + diff_url: string; + patch_url: string; + issue_url: string; + commits_url: string; + review_comments_url: string; + review_comment_url: string; + comments_url: string; + statuses_url: string; + number: number; + state: string; + locked: boolean; + title: string; + user: PullsCreateReviewRequestResponseDataUser; + body: string; + labels: Array; + milestone: PullsCreateReviewRequestResponseDataMilestone; + active_lock_reason: string; + created_at: string; + updated_at: string; + closed_at: string; + merged_at: string; + merge_commit_sha: string; + assignee: PullsCreateReviewRequestResponseDataAssignee; + assignees: Array; + requested_reviewers: Array; + requested_teams: Array; + head: PullsCreateReviewRequestResponseDataHead; + base: PullsCreateReviewRequestResponseDataBase; + _links: PullsCreateReviewRequestResponseDataLinks; + author_association: string; + draft: boolean; +}; +declare type PullsDeleteReviewRequestEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * An array of user `login`s that will be removed. + */ + reviewers?: string[]; + /** + * An array of team `slug`s that will be removed. + */ + team_reviewers?: string[]; +}; +declare type PullsDeleteReviewRequestRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/pulls/:pull_number/requested_reviewers"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsListReviewsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type PullsListReviewsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/:pull_number/reviews"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsListReviewsResponseDataItemLinksPullRequest = { + href: string; +}; +declare type PullsListReviewsResponseDataItemLinksHtml = { + href: string; +}; +declare type PullsListReviewsResponseDataItemLinks = { + html: PullsListReviewsResponseDataItemLinksHtml; + pull_request: PullsListReviewsResponseDataItemLinksPullRequest; +}; +declare type PullsListReviewsResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListReviewsResponseDataItem = { + id: number; + node_id: string; + user: PullsListReviewsResponseDataItemUser; + body: string; + submitted_at: string; + commit_id: string; + state: string; + html_url: string; + pull_request_url: string; + _links: PullsListReviewsResponseDataItemLinks; +}; +declare type PullsListReviewsResponseData = Array; +declare type PullsCreateReviewEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * The SHA of the commit that needs a review. Not using the latest commit SHA may render your review comment outdated if a subsequent commit modifies the line you specify as the `position`. Defaults to the most recent commit in the pull request when you do not specify a value. + */ + commit_id?: string; + /** + * **Required** when using `REQUEST_CHANGES` or `COMMENT` for the `event` parameter. The body text of the pull request review. + */ + body?: string; + /** + * The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. By leaving this blank, you set the review action state to `PENDING`, which means you will need to [submit the pull request review](https://developer.github.com/v3/pulls/reviews/#submit-a-pull-request-review) when you are ready. + */ + event?: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; + /** + * Use the following table to specify the location, destination, and contents of the draft review comment. + */ + comments?: PullsCreateReviewParamsComments[]; +}; +declare type PullsCreateReviewRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/pulls/:pull_number/reviews"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsCreateReviewResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsCreateReviewResponseDataLinksHtml = { + href: string; +}; +declare type PullsCreateReviewResponseDataLinks = { + html: PullsCreateReviewResponseDataLinksHtml; + pull_request: PullsCreateReviewResponseDataLinksPullRequest; +}; +declare type PullsCreateReviewResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewResponseData = { + id: number; + node_id: string; + user: PullsCreateReviewResponseDataUser; + body: string; + commit_id: string; + state: string; + html_url: string; + pull_request_url: string; + _links: PullsCreateReviewResponseDataLinks; +}; +declare type PullsGetReviewEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * review_id parameter + */ + review_id: number; +}; +declare type PullsGetReviewRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsGetReviewResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsGetReviewResponseDataLinksHtml = { + href: string; +}; +declare type PullsGetReviewResponseDataLinks = { + html: PullsGetReviewResponseDataLinksHtml; + pull_request: PullsGetReviewResponseDataLinksPullRequest; +}; +declare type PullsGetReviewResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetReviewResponseData = { + id: number; + node_id: string; + user: PullsGetReviewResponseDataUser; + body: string; + submitted_at: string; + commit_id: string; + state: string; + html_url: string; + pull_request_url: string; + _links: PullsGetReviewResponseDataLinks; +}; +declare type PullsDeletePendingReviewEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * review_id parameter + */ + review_id: number; +}; +declare type PullsDeletePendingReviewRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsDeletePendingReviewResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsDeletePendingReviewResponseDataLinksHtml = { + href: string; +}; +declare type PullsDeletePendingReviewResponseDataLinks = { + html: PullsDeletePendingReviewResponseDataLinksHtml; + pull_request: PullsDeletePendingReviewResponseDataLinksPullRequest; +}; +declare type PullsDeletePendingReviewResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsDeletePendingReviewResponseData = { + id: number; + node_id: string; + user: PullsDeletePendingReviewResponseDataUser; + body: string; + commit_id: string; + state: string; + html_url: string; + pull_request_url: string; + _links: PullsDeletePendingReviewResponseDataLinks; +}; +declare type PullsUpdateReviewEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * review_id parameter + */ + review_id: number; + /** + * The body text of the pull request review. + */ + body: string; +}; +declare type PullsUpdateReviewRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsUpdateReviewResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsUpdateReviewResponseDataLinksHtml = { + href: string; +}; +declare type PullsUpdateReviewResponseDataLinks = { + html: PullsUpdateReviewResponseDataLinksHtml; + pull_request: PullsUpdateReviewResponseDataLinksPullRequest; +}; +declare type PullsUpdateReviewResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateReviewResponseData = { + id: number; + node_id: string; + user: PullsUpdateReviewResponseDataUser; + body: string; + commit_id: string; + state: string; + html_url: string; + pull_request_url: string; + _links: PullsUpdateReviewResponseDataLinks; +}; +declare type PullsGetCommentsForReviewEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * review_id parameter + */ + review_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type PullsGetCommentsForReviewRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsGetCommentsForReviewResponseDataItemLinksPullRequest = { + href: string; +}; +declare type PullsGetCommentsForReviewResponseDataItemLinksHtml = { + href: string; +}; +declare type PullsGetCommentsForReviewResponseDataItemLinksSelf = { + href: string; +}; +declare type PullsGetCommentsForReviewResponseDataItemLinks = { + self: PullsGetCommentsForReviewResponseDataItemLinksSelf; + html: PullsGetCommentsForReviewResponseDataItemLinksHtml; + pull_request: PullsGetCommentsForReviewResponseDataItemLinksPullRequest; +}; +declare type PullsGetCommentsForReviewResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetCommentsForReviewResponseDataItem = { + url: string; + id: number; + node_id: string; + pull_request_review_id: number; + diff_hunk: string; + path: string; + position: number; + original_position: number; + commit_id: string; + original_commit_id: string; + in_reply_to_id: number; + user: PullsGetCommentsForReviewResponseDataItemUser; + body: string; + created_at: string; + updated_at: string; + html_url: string; + pull_request_url: string; + author_association: string; + _links: PullsGetCommentsForReviewResponseDataItemLinks; +}; +declare type PullsGetCommentsForReviewResponseData = Array; +declare type PullsDismissReviewEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * review_id parameter + */ + review_id: number; + /** + * The message for the pull request review dismissal + */ + message: string; +}; +declare type PullsDismissReviewRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/dismissals"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsDismissReviewResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsDismissReviewResponseDataLinksHtml = { + href: string; +}; +declare type PullsDismissReviewResponseDataLinks = { + html: PullsDismissReviewResponseDataLinksHtml; + pull_request: PullsDismissReviewResponseDataLinksPullRequest; +}; +declare type PullsDismissReviewResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsDismissReviewResponseData = { + id: number; + node_id: string; + user: PullsDismissReviewResponseDataUser; + body: string; + commit_id: string; + state: string; + html_url: string; + pull_request_url: string; + _links: PullsDismissReviewResponseDataLinks; +}; +declare type PullsSubmitReviewEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * review_id parameter + */ + review_id: number; + /** + * The body text of the pull request review + */ + body?: string; + /** + * The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. When you leave this blank, the API returns _HTTP 422 (Unrecognizable entity)_ and sets the review action state to `PENDING`, which means you will need to re-submit the pull request review using a review action. + */ + event: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; +}; +declare type PullsSubmitReviewRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/events"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsSubmitReviewResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsSubmitReviewResponseDataLinksHtml = { + href: string; +}; +declare type PullsSubmitReviewResponseDataLinks = { + html: PullsSubmitReviewResponseDataLinksHtml; + pull_request: PullsSubmitReviewResponseDataLinksPullRequest; +}; +declare type PullsSubmitReviewResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsSubmitReviewResponseData = { + id: number; + node_id: string; + user: PullsSubmitReviewResponseDataUser; + body: string; + submitted_at: string; + commit_id: string; + state: string; + html_url: string; + pull_request_url: string; + _links: PullsSubmitReviewResponseDataLinks; +}; +declare type PullsUpdateBranchEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * The expected SHA of the pull request's HEAD ref. This is the most recent commit on the pull request's branch. If the expected SHA does not match the pull request's HEAD, you will receive a `422 Unprocessable Entity` status. You can use the "[List commits on a repository](https://developer.github.com/v3/repos/commits/#list-commits-on-a-repository)" endpoint to find the most recent commit SHA. Default: SHA of the pull request's current HEAD ref. + */ + expected_head_sha?: string; +} & RequiredPreview<"lydian">; +declare type PullsUpdateBranchRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/pulls/:pull_number/update-branch"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsUpdateBranchResponseData = { + message: string; + url: string; +}; +declare type ReposGetReadmeEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The name of the commit/branch/tag. Default: the repository’s default branch (usually `master`) + */ + ref?: string; +}; +declare type ReposGetReadmeRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/readme"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetReadmeResponseDataLinks = { + git: string; + self: string; + html: string; +}; +declare type ReposGetReadmeResponseData = { + type: string; + encoding: string; + size: number; + name: string; + path: string; + content: string; + sha: string; + url: string; + git_url: string; + html_url: string; + download_url: string; + _links: ReposGetReadmeResponseDataLinks; +}; +declare type ReposListReleasesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListReleasesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/releases"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListReleasesResponseDataItemAssetsItemUploader = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListReleasesResponseDataItemAssetsItem = { + url: string; + browser_download_url: string; + id: number; + node_id: string; + name: string; + label: string; + state: string; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: ReposListReleasesResponseDataItemAssetsItemUploader; +}; +declare type ReposListReleasesResponseDataItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListReleasesResponseDataItem = { + url: string; + html_url: string; + assets_url: string; + upload_url: string; + tarball_url: string; + zipball_url: string; + id: number; + node_id: string; + tag_name: string; + target_commitish: string; + name: string; + body: string; + draft: boolean; + prerelease: boolean; + created_at: string; + published_at: string; + author: ReposListReleasesResponseDataItemAuthor; + assets: Array; +}; +declare type ReposListReleasesResponseData = Array; +declare type ReposCreateReleaseEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The name of the tag. + */ + tag_name: string; + /** + * Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch (usually `master`). + */ + target_commitish?: string; + /** + * The name of the release. + */ + name?: string; + /** + * Text describing the contents of the tag. + */ + body?: string; + /** + * `true` to create a draft (unpublished) release, `false` to create a published one. + */ + draft?: boolean; + /** + * `true` to identify the release as a prerelease. `false` to identify the release as a full release. + */ + prerelease?: boolean; +}; +declare type ReposCreateReleaseRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/releases"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateReleaseResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateReleaseResponseData = { + url: string; + html_url: string; + assets_url: string; + upload_url: string; + tarball_url: string; + zipball_url: string; + id: number; + node_id: string; + tag_name: string; + target_commitish: string; + name: string; + body: string; + draft: boolean; + prerelease: boolean; + created_at: string; + published_at: string; + author: ReposCreateReleaseResponseDataAuthor; + assets: Array; +}; +declare type ReposGetReleaseAssetEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * asset_id parameter + */ + asset_id: number; +}; +declare type ReposGetReleaseAssetRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/releases/assets/:asset_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetReleaseAssetResponseDataUploader = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetReleaseAssetResponseData = { + url: string; + browser_download_url: string; + id: number; + node_id: string; + name: string; + label: string; + state: string; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: ReposGetReleaseAssetResponseDataUploader; +}; +declare type ReposUpdateReleaseAssetEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * asset_id parameter + */ + asset_id: number; + /** + * The file name of the asset. + */ + name?: string; + /** + * An alternate short description of the asset. Used in place of the filename. + */ + label?: string; +}; +declare type ReposUpdateReleaseAssetRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/releases/assets/:asset_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateReleaseAssetResponseDataUploader = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateReleaseAssetResponseData = { + url: string; + browser_download_url: string; + id: number; + node_id: string; + name: string; + label: string; + state: string; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: ReposUpdateReleaseAssetResponseDataUploader; +}; +declare type ReposDeleteReleaseAssetEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * asset_id parameter + */ + asset_id: number; +}; +declare type ReposDeleteReleaseAssetRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/releases/assets/:asset_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetLatestReleaseEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetLatestReleaseRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/releases/latest"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetLatestReleaseResponseDataAssetsItemUploader = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetLatestReleaseResponseDataAssetsItem = { + url: string; + browser_download_url: string; + id: number; + node_id: string; + name: string; + label: string; + state: string; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: ReposGetLatestReleaseResponseDataAssetsItemUploader; +}; +declare type ReposGetLatestReleaseResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetLatestReleaseResponseData = { + url: string; + html_url: string; + assets_url: string; + upload_url: string; + tarball_url: string; + zipball_url: string; + id: number; + node_id: string; + tag_name: string; + target_commitish: string; + name: string; + body: string; + draft: boolean; + prerelease: boolean; + created_at: string; + published_at: string; + author: ReposGetLatestReleaseResponseDataAuthor; + assets: Array; +}; +declare type ReposGetReleaseByTagEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * tag parameter + */ + tag: string; +}; +declare type ReposGetReleaseByTagRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/releases/tags/:tag"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetReleaseByTagResponseDataAssetsItemUploader = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetReleaseByTagResponseDataAssetsItem = { + url: string; + browser_download_url: string; + id: number; + node_id: string; + name: string; + label: string; + state: string; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: ReposGetReleaseByTagResponseDataAssetsItemUploader; +}; +declare type ReposGetReleaseByTagResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetReleaseByTagResponseData = { + url: string; + html_url: string; + assets_url: string; + upload_url: string; + tarball_url: string; + zipball_url: string; + id: number; + node_id: string; + tag_name: string; + target_commitish: string; + name: string; + body: string; + draft: boolean; + prerelease: boolean; + created_at: string; + published_at: string; + author: ReposGetReleaseByTagResponseDataAuthor; + assets: Array; +}; +declare type ReposGetReleaseEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * release_id parameter + */ + release_id: number; +}; +declare type ReposGetReleaseRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/releases/:release_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetReleaseResponseDataAssetsItemUploader = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetReleaseResponseDataAssetsItem = { + url: string; + browser_download_url: string; + id: number; + node_id: string; + name: string; + label: string; + state: string; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: ReposGetReleaseResponseDataAssetsItemUploader; +}; +declare type ReposGetReleaseResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetReleaseResponseData = { + url: string; + html_url: string; + assets_url: string; + upload_url: string; + tarball_url: string; + zipball_url: string; + id: number; + node_id: string; + tag_name: string; + target_commitish: string; + name: string; + body: string; + draft: boolean; + prerelease: boolean; + created_at: string; + published_at: string; + author: ReposGetReleaseResponseDataAuthor; + assets: Array; +}; +declare type ReposUpdateReleaseEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * release_id parameter + */ + release_id: number; + /** + * The name of the tag. + */ + tag_name?: string; + /** + * Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch (usually `master`). + */ + target_commitish?: string; + /** + * The name of the release. + */ + name?: string; + /** + * Text describing the contents of the tag. + */ + body?: string; + /** + * `true` makes the release a draft, and `false` publishes the release. + */ + draft?: boolean; + /** + * `true` to identify the release as a prerelease, `false` to identify the release as a full release. + */ + prerelease?: boolean; +}; +declare type ReposUpdateReleaseRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/releases/:release_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateReleaseResponseDataAssetsItemUploader = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateReleaseResponseDataAssetsItem = { + url: string; + browser_download_url: string; + id: number; + node_id: string; + name: string; + label: string; + state: string; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: ReposUpdateReleaseResponseDataAssetsItemUploader; +}; +declare type ReposUpdateReleaseResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateReleaseResponseData = { + url: string; + html_url: string; + assets_url: string; + upload_url: string; + tarball_url: string; + zipball_url: string; + id: number; + node_id: string; + tag_name: string; + target_commitish: string; + name: string; + body: string; + draft: boolean; + prerelease: boolean; + created_at: string; + published_at: string; + author: ReposUpdateReleaseResponseDataAuthor; + assets: Array; +}; +declare type ReposDeleteReleaseEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * release_id parameter + */ + release_id: number; +}; +declare type ReposDeleteReleaseRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/releases/:release_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListAssetsForReleaseEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * release_id parameter + */ + release_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListAssetsForReleaseRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/releases/:release_id/assets"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListAssetsForReleaseResponseDataItemUploader = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListAssetsForReleaseResponseDataItem = { + url: string; + browser_download_url: string; + id: number; + node_id: string; + name: string; + label: string; + state: string; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: ReposListAssetsForReleaseResponseDataItemUploader; +}; +declare type ReposListAssetsForReleaseResponseData = Array; +declare type ReposUploadReleaseAssetEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * release_id parameter + */ + release_id: number; + /** + * name parameter + */ + name?: string; + /** + * label parameter + */ + label?: string; + /** + * The raw file data + */ + data: string; + /** + * The URL origin (protocol + host name + port) is included in `upload_url` returned in the response of the "Create a release" endpoint + */ + origin?: string; + /** + * For https://api.github.com, set `baseUrl` to `https://uploads.github.com`. For GitHub Enterprise Server, set it to `/api/uploads` + */ + baseUrl: string; +} & { + headers: { + "content-type": string; + }; +}; +declare type ReposUploadReleaseAssetRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/releases/:release_id/assets{?name,label}"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUploadReleaseAssetResponseDataUploader = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUploadReleaseAssetResponseData = { + url: string; + browser_download_url: string; + id: number; + node_id: string; + name: string; + label: string; + state: string; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: ReposUploadReleaseAssetResponseDataUploader; +}; +declare type ActivityListStargazersForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListStargazersForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/stargazers"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListStargazersForRepoResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActivityListStargazersForRepoResponseData = Array; +declare type ReposGetCodeFrequencyStatsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetCodeFrequencyStatsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/stats/code_frequency"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetCodeFrequencyStatsResponseData = Array>; +declare type ReposGetCommitActivityStatsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetCommitActivityStatsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/stats/commit_activity"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetCommitActivityStatsResponseDataItem = { + days: Array; + total: number; + week: number; +}; +declare type ReposGetCommitActivityStatsResponseData = Array; +declare type ReposGetContributorsStatsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetContributorsStatsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/stats/contributors"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetContributorsStatsResponseDataItemWeeksItem = { + w: string; + a: number; + d: number; + c: number; +}; +declare type ReposGetContributorsStatsResponseDataItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetContributorsStatsResponseDataItem = { + author: ReposGetContributorsStatsResponseDataItemAuthor; + total: number; + weeks: Array; +}; +declare type ReposGetContributorsStatsResponseData = Array; +declare type ReposGetParticipationStatsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetParticipationStatsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/stats/participation"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetParticipationStatsResponseData = { + all: Array; + owner: Array; +}; +declare type ReposGetPunchCardStatsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetPunchCardStatsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/stats/punch_card"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetPunchCardStatsResponseData = Array>; +declare type ReposCreateStatusEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * sha parameter + */ + sha: string; + /** + * The state of the status. Can be one of `error`, `failure`, `pending`, or `success`. + */ + state: "error" | "failure" | "pending" | "success"; + /** + * The target URL to associate with this status. This URL will be linked from the GitHub UI to allow users to easily see the source of the status. + * For example, if your continuous integration system is posting build status, you would want to provide the deep link for the build output for this specific SHA: + * `http://ci.example.com/user/repo/build/sha` + */ + target_url?: string; + /** + * A short description of the status. + */ + description?: string; + /** + * A string label to differentiate this status from the status of other systems. + */ + context?: string; +}; +declare type ReposCreateStatusRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/statuses/:sha"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateStatusResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateStatusResponseData = { + url: string; + avatar_url: string; + id: number; + node_id: string; + state: string; + description: string; + target_url: string; + context: string; + created_at: string; + updated_at: string; + creator: ReposCreateStatusResponseDataCreator; +}; +declare type ActivityListWatchersForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListWatchersForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/subscribers"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListWatchersForRepoResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActivityListWatchersForRepoResponseData = Array; +declare type ActivityGetRepoSubscriptionEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActivityGetRepoSubscriptionRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/subscription"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityGetRepoSubscriptionResponseData = { + subscribed: boolean; + ignored: boolean; + reason: null; + created_at: string; + url: string; + repository_url: string; +}; +declare type ActivitySetRepoSubscriptionEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Determines if notifications should be received from this repository. + */ + subscribed?: boolean; + /** + * Determines if all notifications should be blocked from this repository. + */ + ignored?: boolean; +}; +declare type ActivitySetRepoSubscriptionRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/subscription"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivitySetRepoSubscriptionResponseData = { + subscribed: boolean; + ignored: boolean; + reason: null; + created_at: string; + url: string; + repository_url: string; +}; +declare type ActivityDeleteRepoSubscriptionEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActivityDeleteRepoSubscriptionRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/subscription"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListTagsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListTagsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/tags"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListTagsResponseDataItemCommit = { + sha: string; + url: string; +}; +declare type ReposListTagsResponseDataItem = { + name: string; + commit: ReposListTagsResponseDataItemCommit; + zipball_url: string; + tarball_url: string; +}; +declare type ReposListTagsResponseData = Array; +declare type ReposListTeamsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListTeamsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListTeamsResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposListTeamsResponseData = Array; +declare type ReposGetAllTopicsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"mercy">; +declare type ReposGetAllTopicsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/topics"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetAllTopicsResponseData = { + names: Array; +}; +declare type ReposReplaceAllTopicsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * An array of topics to add to the repository. Pass one or more topics to _replace_ the set of existing topics. Send an empty array (`[]`) to clear all topics from the repository. **Note:** Topic `names` cannot contain uppercase letters. + */ + names: string[]; +} & RequiredPreview<"mercy">; +declare type ReposReplaceAllTopicsRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/topics"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposReplaceAllTopicsResponseData = { + names: Array; +}; +declare type ReposGetClonesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Must be one of: `day`, `week`. + */ + per?: "day" | "week"; +}; +declare type ReposGetClonesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/traffic/clones"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetClonesResponseDataClonesItem = { + timestamp: string; + count: number; + uniques: number; +}; +declare type ReposGetClonesResponseData = { + count: number; + uniques: number; + clones: Array; +}; +declare type ReposGetTopPathsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetTopPathsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/traffic/popular/paths"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetTopPathsResponseDataItem = { + path: string; + title: string; + count: number; + uniques: number; +}; +declare type ReposGetTopPathsResponseData = Array; +declare type ReposGetTopReferrersEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetTopReferrersRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/traffic/popular/referrers"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetTopReferrersResponseDataItem = { + referrer: string; + count: number; + uniques: number; +}; +declare type ReposGetTopReferrersResponseData = Array; +declare type ReposGetViewsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Must be one of: `day`, `week`. + */ + per?: "day" | "week"; +}; +declare type ReposGetViewsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/traffic/views"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetViewsResponseDataViewsItem = { + timestamp: string; + count: number; + uniques: number; +}; +declare type ReposGetViewsResponseData = { + count: number; + uniques: number; + views: Array; +}; +declare type ReposTransferEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * **Required:** The username or organization name the repository will be transferred to. + */ + new_owner?: string; + /** + * ID of the team or teams to add to the repository. Teams can only be added to organization-owned repositories. + */ + team_ids?: number[]; +}; +declare type ReposTransferRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/transfer"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposTransferResponseDataPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposTransferResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposTransferResponseData = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposTransferResponseDataOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposTransferResponseDataPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposCheckVulnerabilityAlertsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"dorian">; +declare type ReposCheckVulnerabilityAlertsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/vulnerability-alerts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposEnableVulnerabilityAlertsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"dorian">; +declare type ReposEnableVulnerabilityAlertsRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/vulnerability-alerts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposDisableVulnerabilityAlertsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"dorian">; +declare type ReposDisableVulnerabilityAlertsRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/vulnerability-alerts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetArchiveLinkEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * archive_format parameter + */ + archive_format: string; + /** + * ref parameter + */ + ref: string; +}; +declare type ReposGetArchiveLinkRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/:archive_format/:ref"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateUsingTemplateEndpoint = { + /** + * template_owner parameter + */ + template_owner: string; + /** + * template_repo parameter + */ + template_repo: string; + /** + * The organization or person who will own the new repository. To create a new repository in an organization, the authenticated user must be a member of the specified organization. + */ + owner?: string; + /** + * The name of the new repository. + */ + name: string; + /** + * A short description of the new repository. + */ + description?: string; + /** + * Either `true` to create a new private repository or `false` to create a new public one. + */ + private?: boolean; +} & RequiredPreview<"baptiste">; +declare type ReposCreateUsingTemplateRequestOptions = { + method: "POST"; + url: "/repos/:template_owner/:template_repo/generate"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateUsingTemplateResponseDataTemplateRepositoryPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposCreateUsingTemplateResponseDataTemplateRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateUsingTemplateResponseDataTemplateRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposCreateUsingTemplateResponseDataTemplateRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposCreateUsingTemplateResponseDataTemplateRepositoryPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposCreateUsingTemplateResponseDataPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposCreateUsingTemplateResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateUsingTemplateResponseData = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposCreateUsingTemplateResponseDataOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposCreateUsingTemplateResponseDataPermissions; + allow_rebase_merge: boolean; + template_repository: ReposCreateUsingTemplateResponseDataTemplateRepository; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposListPublicEndpoint = { + /** + * The integer ID of the last repository that you've seen. + */ + since?: number; +}; +declare type ReposListPublicRequestOptions = { + method: "GET"; + url: "/repositories"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListPublicResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPublicResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposListPublicResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ReposListPublicResponseData = Array; +declare type ScimListProvisionedIdentitiesEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Used for pagination: the index of the first result to return. + */ + startIndex?: number; + /** + * Used for pagination: the number of results to return. + */ + count?: number; + /** + * Filters results using the equals query parameter operator (`eq`). You can filter results that are equal to `id`, `userName`, `emails`, and `external_id`. For example, to search for an identity with the `userName` Octocat, you would use this query: `?filter=userName%20eq%20\"Octocat\"`. + */ + filter?: string; +}; +declare type ScimListProvisionedIdentitiesRequestOptions = { + method: "GET"; + url: "/scim/v2/organizations/:org/Users"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ScimListProvisionedIdentitiesResponseDataResourcesItemMeta = { + resourceType: string; + created: string; + lastModified: string; + location: string; +}; +declare type ScimListProvisionedIdentitiesResponseDataResourcesItemEmailsItem = { + value: string; + primary: boolean; + type: string; +}; +declare type ScimListProvisionedIdentitiesResponseDataResourcesItemName = { + givenName: string; + familyName: string; +}; +declare type ScimListProvisionedIdentitiesResponseDataResourcesItem = { + schemas: Array; + id: string; + externalId: string; + userName: string; + name: ScimListProvisionedIdentitiesResponseDataResourcesItemName; + emails: Array; + active: boolean; + meta: ScimListProvisionedIdentitiesResponseDataResourcesItemMeta; +}; +declare type ScimListProvisionedIdentitiesResponseData = { + schemas: Array; + totalResults: number; + itemsPerPage: number; + startIndex: number; + Resources: Array; +}; +declare type ScimProvisionAndInviteUsersEndpoint = { + /** + * org parameter + */ + org: string; +}; +declare type ScimProvisionAndInviteUsersRequestOptions = { + method: "POST"; + url: "/scim/v2/organizations/:org/Users"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ScimProvisionAndInviteUsersResponseDataMeta = { + resourceType: string; + created: string; + lastModified: string; + location: string; +}; +declare type ScimProvisionAndInviteUsersResponseDataEmailsItem = { + value: string; + type: string; + primary: boolean; +}; +declare type ScimProvisionAndInviteUsersResponseDataName = { + givenName: string; + familyName: string; +}; +declare type ScimProvisionAndInviteUsersResponseData = { + schemas: Array; + id: string; + externalId: string; + userName: string; + name: ScimProvisionAndInviteUsersResponseDataName; + emails: Array; + active: boolean; + meta: ScimProvisionAndInviteUsersResponseDataMeta; +}; +declare type ScimGetProvisioningDetailsForUserEndpoint = { + /** + * org parameter + */ + org: string; + /** + * scim_user_id parameter + */ + scim_user_id: number; +}; +declare type ScimGetProvisioningDetailsForUserRequestOptions = { + method: "GET"; + url: "/scim/v2/organizations/:org/Users/:scim_user_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ScimGetProvisioningDetailsForUserResponseDataMeta = { + resourceType: string; + created: string; + lastModified: string; + location: string; +}; +declare type ScimGetProvisioningDetailsForUserResponseDataEmailsItem = { + value: string; + type: string; + primary: boolean; +}; +declare type ScimGetProvisioningDetailsForUserResponseDataName = { + givenName: string; + familyName: string; +}; +declare type ScimGetProvisioningDetailsForUserResponseData = { + schemas: Array; + id: string; + externalId: string; + userName: string; + name: ScimGetProvisioningDetailsForUserResponseDataName; + emails: Array; + active: boolean; + meta: ScimGetProvisioningDetailsForUserResponseDataMeta; +}; +declare type ScimReplaceProvisionedUserInformationEndpoint = { + /** + * org parameter + */ + org: string; + /** + * scim_user_id parameter + */ + scim_user_id: number; +}; +declare type ScimReplaceProvisionedUserInformationRequestOptions = { + method: "PUT"; + url: "/scim/v2/organizations/:org/Users/:scim_user_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ScimReplaceProvisionedUserInformationResponseDataMeta = { + resourceType: string; + created: string; + lastModified: string; + location: string; +}; +declare type ScimReplaceProvisionedUserInformationResponseDataEmailsItem = { + value: string; + type: string; + primary: boolean; +}; +declare type ScimReplaceProvisionedUserInformationResponseDataName = { + givenName: string; + familyName: string; +}; +declare type ScimReplaceProvisionedUserInformationResponseData = { + schemas: Array; + id: string; + externalId: string; + userName: string; + name: ScimReplaceProvisionedUserInformationResponseDataName; + emails: Array; + active: boolean; + meta: ScimReplaceProvisionedUserInformationResponseDataMeta; +}; +declare type ScimUpdateUserAttributeEndpoint = { + /** + * org parameter + */ + org: string; + /** + * scim_user_id parameter + */ + scim_user_id: number; +}; +declare type ScimUpdateUserAttributeRequestOptions = { + method: "PATCH"; + url: "/scim/v2/organizations/:org/Users/:scim_user_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ScimUpdateUserAttributeResponseDataMeta = { + resourceType: string; + created: string; + lastModified: string; + location: string; +}; +declare type ScimUpdateUserAttributeResponseDataEmailsItem = { + value: string; + type: string; + primary?: boolean; +}; +declare type ScimUpdateUserAttributeResponseDataName = { + givenName: string; + familyName: string; +}; +declare type ScimUpdateUserAttributeResponseData = { + schemas: Array; + id: string; + externalId: string; + userName: string; + name: ScimUpdateUserAttributeResponseDataName; + emails: Array; + active: boolean; + meta: ScimUpdateUserAttributeResponseDataMeta; +}; +declare type ScimRemoveUserFromOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * scim_user_id parameter + */ + scim_user_id: number; +}; +declare type ScimRemoveUserFromOrgRequestOptions = { + method: "DELETE"; + url: "/scim/v2/organizations/:org/Users/:scim_user_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchCodeEndpoint = { + /** + * The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). See "[Searching code](https://help.github.com/articles/searching-code/)" for a detailed list of qualifiers. + */ + q: string; + /** + * Sorts the results of your query. Can only be `indexed`, which indicates how recently a file has been indexed by the GitHub search infrastructure. Default: [best match](https://developer.github.com/v3/search/#ranking-search-results) + */ + sort?: "indexed"; + /** + * Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. + */ + order?: "desc" | "asc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type SearchCodeRequestOptions = { + method: "GET"; + url: "/search/code"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchCodeResponseDataItemsItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type SearchCodeResponseDataItemsItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: SearchCodeResponseDataItemsItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + forks_url: string; + keys_url: string; + collaborators_url: string; + teams_url: string; + hooks_url: string; + issue_events_url: string; + events_url: string; + assignees_url: string; + branches_url: string; + tags_url: string; + blobs_url: string; + git_tags_url: string; + git_refs_url: string; + trees_url: string; + statuses_url: string; + languages_url: string; + stargazers_url: string; + contributors_url: string; + subscribers_url: string; + subscription_url: string; + commits_url: string; + git_commits_url: string; + comments_url: string; + issue_comment_url: string; + contents_url: string; + compare_url: string; + merges_url: string; + archive_url: string; + downloads_url: string; + issues_url: string; + pulls_url: string; + milestones_url: string; + notifications_url: string; + labels_url: string; +}; +declare type SearchCodeResponseDataItemsItem = { + name: string; + path: string; + sha: string; + url: string; + git_url: string; + html_url: string; + repository: SearchCodeResponseDataItemsItemRepository; + score: number; +}; +declare type SearchCodeResponseData = { + total_count: number; + incomplete_results: boolean; + items: Array; +}; +declare type SearchCommitsEndpoint = { + /** + * The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). See "[Searching commits](https://help.github.com/articles/searching-commits/)" for a detailed list of qualifiers. + */ + q: string; + /** + * Sorts the results of your query by `author-date` or `committer-date`. Default: [best match](https://developer.github.com/v3/search/#ranking-search-results) + */ + sort?: "author-date" | "committer-date"; + /** + * Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. + */ + order?: "desc" | "asc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"cloak">; +declare type SearchCommitsRequestOptions = { + method: "GET"; + url: "/search/commits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchCommitsResponseDataItemsItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type SearchCommitsResponseDataItemsItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: SearchCommitsResponseDataItemsItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + forks_url: string; + keys_url: string; + collaborators_url: string; + teams_url: string; + hooks_url: string; + issue_events_url: string; + events_url: string; + assignees_url: string; + branches_url: string; + tags_url: string; + blobs_url: string; + git_tags_url: string; + git_refs_url: string; + trees_url: string; + statuses_url: string; + languages_url: string; + stargazers_url: string; + contributors_url: string; + subscribers_url: string; + subscription_url: string; + commits_url: string; + git_commits_url: string; + comments_url: string; + issue_comment_url: string; + contents_url: string; + compare_url: string; + merges_url: string; + archive_url: string; + downloads_url: string; + issues_url: string; + pulls_url: string; + milestones_url: string; + notifications_url: string; + labels_url: string; + releases_url: string; + deployments_url: string; +}; +declare type SearchCommitsResponseDataItemsItemParentsItem = { + url: string; + html_url: string; + sha: string; +}; +declare type SearchCommitsResponseDataItemsItemCommitter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type SearchCommitsResponseDataItemsItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type SearchCommitsResponseDataItemsItemCommitTree = { + url: string; + sha: string; +}; +declare type SearchCommitsResponseDataItemsItemCommitCommitter = { + date: string; + name: string; + email: string; +}; +declare type SearchCommitsResponseDataItemsItemCommitAuthor = { + date: string; + name: string; + email: string; +}; +declare type SearchCommitsResponseDataItemsItemCommit = { + url: string; + author: SearchCommitsResponseDataItemsItemCommitAuthor; + committer: SearchCommitsResponseDataItemsItemCommitCommitter; + message: string; + tree: SearchCommitsResponseDataItemsItemCommitTree; + comment_count: number; +}; +declare type SearchCommitsResponseDataItemsItem = { + url: string; + sha: string; + html_url: string; + comments_url: string; + commit: SearchCommitsResponseDataItemsItemCommit; + author: SearchCommitsResponseDataItemsItemAuthor; + committer: SearchCommitsResponseDataItemsItemCommitter; + parents: Array; + repository: SearchCommitsResponseDataItemsItemRepository; + score: number; +}; +declare type SearchCommitsResponseData = { + total_count: number; + incomplete_results: boolean; + items: Array; +}; +declare type SearchIssuesAndPullRequestsEndpoint = { + /** + * The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). See "[Searching issues and pull requests](https://help.github.com/articles/searching-issues-and-pull-requests/)" for a detailed list of qualifiers. + */ + q: string; + /** + * Sorts the results of your query by the number of `comments`, `reactions`, `reactions-+1`, `reactions--1`, `reactions-smile`, `reactions-thinking_face`, `reactions-heart`, `reactions-tada`, or `interactions`. You can also sort results by how recently the items were `created` or `updated`, Default: [best match](https://developer.github.com/v3/search/#ranking-search-results) + */ + sort?: "comments" | "reactions" | "reactions-+1" | "reactions--1" | "reactions-smile" | "reactions-thinking_face" | "reactions-heart" | "reactions-tada" | "interactions" | "created" | "updated"; + /** + * Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. + */ + order?: "desc" | "asc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type SearchIssuesAndPullRequestsRequestOptions = { + method: "GET"; + url: "/search/issues"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchIssuesAndPullRequestsResponseDataItemsItemPullRequest = { + html_url: null; + diff_url: null; + patch_url: null; +}; +declare type SearchIssuesAndPullRequestsResponseDataItemsItemLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + color: string; +}; +declare type SearchIssuesAndPullRequestsResponseDataItemsItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; +}; +declare type SearchIssuesAndPullRequestsResponseDataItemsItem = { + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + id: number; + node_id: string; + number: number; + title: string; + user: SearchIssuesAndPullRequestsResponseDataItemsItemUser; + labels: Array; + state: string; + assignee: null; + milestone: null; + comments: number; + created_at: string; + updated_at: string; + closed_at: null; + pull_request: SearchIssuesAndPullRequestsResponseDataItemsItemPullRequest; + body: string; + score: number; +}; +declare type SearchIssuesAndPullRequestsResponseData = { + total_count: number; + incomplete_results: boolean; + items: Array; +}; +declare type SearchLabelsEndpoint = { + /** + * The id of the repository. + */ + repository_id: number; + /** + * The search keywords. This endpoint does not accept qualifiers in the query. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). + */ + q: string; + /** + * Sorts the results of your query by when the label was `created` or `updated`. Default: [best match](https://developer.github.com/v3/search/#ranking-search-results) + */ + sort?: "created" | "updated"; + /** + * Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. + */ + order?: "desc" | "asc"; +}; +declare type SearchLabelsRequestOptions = { + method: "GET"; + url: "/search/labels"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchLabelsResponseDataItemsItem = { + id: number; + node_id: string; + url: string; + name: string; + color: string; + default: boolean; + description: string; + score: number; +}; +declare type SearchLabelsResponseData = { + total_count: number; + incomplete_results: boolean; + items: Array; +}; +declare type SearchReposEndpoint = { + /** + * The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). See "[Searching for repositories](https://help.github.com/articles/searching-for-repositories/)" for a detailed list of qualifiers. + */ + q: string; + /** + * Sorts the results of your query by number of `stars`, `forks`, or `help-wanted-issues` or how recently the items were `updated`. Default: [best match](https://developer.github.com/v3/search/#ranking-search-results) + */ + sort?: "stars" | "forks" | "help-wanted-issues" | "updated"; + /** + * Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. + */ + order?: "desc" | "asc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type SearchReposRequestOptions = { + method: "GET"; + url: "/search/repositories"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchReposResponseDataItemsItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + received_events_url: string; + type: string; +}; +declare type SearchReposResponseDataItemsItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: SearchReposResponseDataItemsItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + created_at: string; + updated_at: string; + pushed_at: string; + homepage: string; + size: number; + stargazers_count: number; + watchers_count: number; + language: string; + forks_count: number; + open_issues_count: number; + master_branch: string; + default_branch: string; + score: number; +}; +declare type SearchReposResponseData = { + total_count: number; + incomplete_results: boolean; + items: Array; +}; +declare type SearchTopicsEndpoint = { + /** + * The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). + */ + q: string; +}; +declare type SearchTopicsRequestOptions = { + method: "GET"; + url: "/search/topics"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchTopicsResponseDataItemsItem = { + name: string; + display_name: string; + short_description: string; + description: string; + created_by: string; + released: string; + created_at: string; + updated_at: string; + featured: boolean; + curated: boolean; + score: number; +}; +declare type SearchTopicsResponseData = { + total_count: number; + incomplete_results: boolean; + items: Array; +}; +declare type SearchUsersEndpoint = { + /** + * The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). See "[Searching users](https://help.github.com/articles/searching-users/)" for a detailed list of qualifiers. + */ + q: string; + /** + * Sorts the results of your query by number of `followers` or `repositories`, or when the person `joined` GitHub. Default: [best match](https://developer.github.com/v3/search/#ranking-search-results) + */ + sort?: "followers" | "repositories" | "joined"; + /** + * Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. + */ + order?: "desc" | "asc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type SearchUsersRequestOptions = { + method: "GET"; + url: "/search/users"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchUsersResponseDataItemsItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + received_events_url: string; + type: string; + score: number; +}; +declare type SearchUsersResponseData = { + total_count: number; + incomplete_results: boolean; + items: Array; +}; +declare type TeamsGetLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; +}; +declare type TeamsGetLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsGetLegacyResponseDataOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; + name: string; + company: string; + blog: string; + location: string; + email: string; + is_verified: boolean; + has_organization_projects: boolean; + has_repository_projects: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; + html_url: string; + created_at: string; + type: string; +}; +declare type TeamsGetLegacyResponseData = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; + members_count: number; + repos_count: number; + created_at: string; + updated_at: string; + organization: TeamsGetLegacyResponseDataOrganization; +}; +declare type TeamsUpdateLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * The name of the team. + */ + name: string; + /** + * The description of the team. + */ + description?: string; + /** + * The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. The options are: + * **For a non-nested team:** + * \* `secret` - only visible to organization owners and members of this team. + * \* `closed` - visible to all members of this organization. + * **For a parent or child team:** + * \* `closed` - visible to all members of this organization. + */ + privacy?: "secret" | "closed"; + /** + * **Deprecated**. The permission that new repositories will be added to the team with when none is specified. Can be one of: + * \* `pull` - team members can pull, but not push to or administer newly-added repositories. + * \* `push` - team members can pull and push, but not administer newly-added repositories. + * \* `admin` - team members can pull, push and administer newly-added repositories. + */ + permission?: "pull" | "push" | "admin"; + /** + * The ID of a team to set as the parent team. + */ + parent_team_id?: number; +}; +declare type TeamsUpdateLegacyRequestOptions = { + method: "PATCH"; + url: "/teams/:team_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsUpdateLegacyResponseDataOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; + name: string; + company: string; + blog: string; + location: string; + email: string; + is_verified: boolean; + has_organization_projects: boolean; + has_repository_projects: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; + html_url: string; + created_at: string; + type: string; +}; +declare type TeamsUpdateLegacyResponseData = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; + members_count: number; + repos_count: number; + created_at: string; + updated_at: string; + organization: TeamsUpdateLegacyResponseDataOrganization; +}; +declare type TeamsDeleteLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; +}; +declare type TeamsDeleteLegacyRequestOptions = { + method: "DELETE"; + url: "/teams/:team_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListDiscussionsLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * Sorts the discussion comments by the date they were created. To return the oldest comments first, set to `asc`. Can be one of `asc` or `desc`. + */ + direction?: "asc" | "desc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListDiscussionsLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/discussions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListDiscussionsLegacyResponseDataItemReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsListDiscussionsLegacyResponseDataItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListDiscussionsLegacyResponseDataItem = { + author: TeamsListDiscussionsLegacyResponseDataItemAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + last_edited_at: null; + html_url: string; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + team_url: string; + title: string; + updated_at: string; + url: string; + reactions: TeamsListDiscussionsLegacyResponseDataItemReactions; +}; +declare type TeamsListDiscussionsLegacyResponseData = Array; +declare type TeamsCreateDiscussionLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * The discussion post's title. + */ + title: string; + /** + * The discussion post's body text. + */ + body: string; + /** + * Private posts are only visible to team members, organization owners, and team maintainers. Public posts are visible to all members of the organization. Set to `true` to create a private post. + */ + private?: boolean; +}; +declare type TeamsCreateDiscussionLegacyRequestOptions = { + method: "POST"; + url: "/teams/:team_id/discussions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsCreateDiscussionLegacyResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsCreateDiscussionLegacyResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCreateDiscussionLegacyResponseData = { + author: TeamsCreateDiscussionLegacyResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + last_edited_at: null; + html_url: string; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + team_url: string; + title: string; + updated_at: string; + url: string; + reactions: TeamsCreateDiscussionLegacyResponseDataReactions; +}; +declare type TeamsGetDiscussionLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; +}; +declare type TeamsGetDiscussionLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/discussions/:discussion_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsGetDiscussionLegacyResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsGetDiscussionLegacyResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsGetDiscussionLegacyResponseData = { + author: TeamsGetDiscussionLegacyResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + last_edited_at: null; + html_url: string; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + team_url: string; + title: string; + updated_at: string; + url: string; + reactions: TeamsGetDiscussionLegacyResponseDataReactions; +}; +declare type TeamsUpdateDiscussionLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * The discussion post's title. + */ + title?: string; + /** + * The discussion post's body text. + */ + body?: string; +}; +declare type TeamsUpdateDiscussionLegacyRequestOptions = { + method: "PATCH"; + url: "/teams/:team_id/discussions/:discussion_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsUpdateDiscussionLegacyResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsUpdateDiscussionLegacyResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsUpdateDiscussionLegacyResponseData = { + author: TeamsUpdateDiscussionLegacyResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + last_edited_at: string; + html_url: string; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + team_url: string; + title: string; + updated_at: string; + url: string; + reactions: TeamsUpdateDiscussionLegacyResponseDataReactions; +}; +declare type TeamsDeleteDiscussionLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; +}; +declare type TeamsDeleteDiscussionLegacyRequestOptions = { + method: "DELETE"; + url: "/teams/:team_id/discussions/:discussion_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListDiscussionCommentsLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * Sorts the discussion comments by the date they were created. To return the oldest comments first, set to `asc`. Can be one of `asc` or `desc`. + */ + direction?: "asc" | "desc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListDiscussionCommentsLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/discussions/:discussion_number/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListDiscussionCommentsLegacyResponseDataItemReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsListDiscussionCommentsLegacyResponseDataItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListDiscussionCommentsLegacyResponseDataItem = { + author: TeamsListDiscussionCommentsLegacyResponseDataItemAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + last_edited_at: null; + discussion_url: string; + html_url: string; + node_id: string; + number: number; + updated_at: string; + url: string; + reactions: TeamsListDiscussionCommentsLegacyResponseDataItemReactions; +}; +declare type TeamsListDiscussionCommentsLegacyResponseData = Array; +declare type TeamsCreateDiscussionCommentLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * The discussion comment's body text. + */ + body: string; +}; +declare type TeamsCreateDiscussionCommentLegacyRequestOptions = { + method: "POST"; + url: "/teams/:team_id/discussions/:discussion_number/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsCreateDiscussionCommentLegacyResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsCreateDiscussionCommentLegacyResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCreateDiscussionCommentLegacyResponseData = { + author: TeamsCreateDiscussionCommentLegacyResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + last_edited_at: null; + discussion_url: string; + html_url: string; + node_id: string; + number: number; + updated_at: string; + url: string; + reactions: TeamsCreateDiscussionCommentLegacyResponseDataReactions; +}; +declare type TeamsGetDiscussionCommentLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; +}; +declare type TeamsGetDiscussionCommentLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsGetDiscussionCommentLegacyResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsGetDiscussionCommentLegacyResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsGetDiscussionCommentLegacyResponseData = { + author: TeamsGetDiscussionCommentLegacyResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + last_edited_at: null; + discussion_url: string; + html_url: string; + node_id: string; + number: number; + updated_at: string; + url: string; + reactions: TeamsGetDiscussionCommentLegacyResponseDataReactions; +}; +declare type TeamsUpdateDiscussionCommentLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; + /** + * The discussion comment's body text. + */ + body: string; +}; +declare type TeamsUpdateDiscussionCommentLegacyRequestOptions = { + method: "PATCH"; + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsUpdateDiscussionCommentLegacyResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsUpdateDiscussionCommentLegacyResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsUpdateDiscussionCommentLegacyResponseData = { + author: TeamsUpdateDiscussionCommentLegacyResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + last_edited_at: string; + discussion_url: string; + html_url: string; + node_id: string; + number: number; + updated_at: string; + url: string; + reactions: TeamsUpdateDiscussionCommentLegacyResponseDataReactions; +}; +declare type TeamsDeleteDiscussionCommentLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; +}; +declare type TeamsDeleteDiscussionCommentLegacyRequestOptions = { + method: "DELETE"; + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForTeamDiscussionCommentLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to a team discussion comment. + */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsListForTeamDiscussionCommentLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForTeamDiscussionCommentLegacyResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsListForTeamDiscussionCommentLegacyResponseDataItem = { + id: number; + node_id: string; + user: ReactionsListForTeamDiscussionCommentLegacyResponseDataItemUser; + content: string; + created_at: string; +}; +declare type ReactionsListForTeamDiscussionCommentLegacyResponseData = Array; +declare type ReactionsCreateForTeamDiscussionCommentLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the team discussion comment. + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsCreateForTeamDiscussionCommentLegacyRequestOptions = { + method: "POST"; + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsCreateForTeamDiscussionCommentLegacyResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsCreateForTeamDiscussionCommentLegacyResponseData = { + id: number; + node_id: string; + user: ReactionsCreateForTeamDiscussionCommentLegacyResponseDataUser; + content: string; + created_at: string; +}; +declare type ReactionsListForTeamDiscussionLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to a team discussion. + */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsListForTeamDiscussionLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/discussions/:discussion_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForTeamDiscussionLegacyResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsListForTeamDiscussionLegacyResponseDataItem = { + id: number; + node_id: string; + user: ReactionsListForTeamDiscussionLegacyResponseDataItemUser; + content: string; + created_at: string; +}; +declare type ReactionsListForTeamDiscussionLegacyResponseData = Array; +declare type ReactionsCreateForTeamDiscussionLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the team discussion. + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsCreateForTeamDiscussionLegacyRequestOptions = { + method: "POST"; + url: "/teams/:team_id/discussions/:discussion_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsCreateForTeamDiscussionLegacyResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsCreateForTeamDiscussionLegacyResponseData = { + id: number; + node_id: string; + user: ReactionsCreateForTeamDiscussionLegacyResponseDataUser; + content: string; + created_at: string; +}; +declare type TeamsListPendingInvitationsLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListPendingInvitationsLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/invitations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListPendingInvitationsLegacyResponseDataItemInviter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListPendingInvitationsLegacyResponseDataItem = { + id: number; + login: string; + email: string; + role: string; + created_at: string; + inviter: TeamsListPendingInvitationsLegacyResponseDataItemInviter; + team_count: number; + invitation_team_url: string; +}; +declare type TeamsListPendingInvitationsLegacyResponseData = Array; +declare type TeamsListMembersLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * Filters members returned by their role in the team. Can be one of: + * \* `member` - normal members of the team. + * \* `maintainer` - team maintainers. + * \* `all` - all members of the team. + */ + role?: "member" | "maintainer" | "all"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListMembersLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/members"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListMembersLegacyResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListMembersLegacyResponseData = Array; +declare type TeamsGetMemberLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * username parameter + */ + username: string; +}; +declare type TeamsGetMemberLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/members/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsAddMemberLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * username parameter + */ + username: string; +}; +declare type TeamsAddMemberLegacyRequestOptions = { + method: "PUT"; + url: "/teams/:team_id/members/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsAddMemberLegacyResponseDataErrorsItem = { + code: string; + field: string; + resource: string; +}; +declare type TeamsAddMemberLegacyResponseData = { + message: string; + errors: Array; +}; +declare type TeamsRemoveMemberLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * username parameter + */ + username: string; +}; +declare type TeamsRemoveMemberLegacyRequestOptions = { + method: "DELETE"; + url: "/teams/:team_id/members/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsGetMembershipLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * username parameter + */ + username: string; +}; +declare type TeamsGetMembershipLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/memberships/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsGetMembershipLegacyResponseData = { + url: string; + role: string; + state: string; +}; +declare type TeamsAddOrUpdateMembershipLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * username parameter + */ + username: string; + /** + * The role that this user should have in the team. Can be one of: + * \* `member` - a normal member of the team. + * \* `maintainer` - a team maintainer. Able to add/remove other team members, promote other team members to team maintainer, and edit the team's name and description. + */ + role?: "member" | "maintainer"; +}; +declare type TeamsAddOrUpdateMembershipLegacyRequestOptions = { + method: "PUT"; + url: "/teams/:team_id/memberships/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsAddOrUpdateMembershipLegacyResponseData = { + url: string; + role: string; + state: string; +}; +declare type TeamsRemoveMembershipLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * username parameter + */ + username: string; +}; +declare type TeamsRemoveMembershipLegacyRequestOptions = { + method: "DELETE"; + url: "/teams/:team_id/memberships/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListProjectsLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"inertia">; +declare type TeamsListProjectsLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/projects"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListProjectsLegacyResponseDataItemPermissions = { + read: boolean; + write: boolean; + admin: boolean; +}; +declare type TeamsListProjectsLegacyResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListProjectsLegacyResponseDataItem = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: TeamsListProjectsLegacyResponseDataItemCreator; + created_at: string; + updated_at: string; + organization_permission: string; + private: boolean; + permissions: TeamsListProjectsLegacyResponseDataItemPermissions; +}; +declare type TeamsListProjectsLegacyResponseData = Array; +declare type TeamsReviewProjectLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * project_id parameter + */ + project_id: number; +} & RequiredPreview<"inertia">; +declare type TeamsReviewProjectLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/projects/:project_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsReviewProjectLegacyResponseDataPermissions = { + read: boolean; + write: boolean; + admin: boolean; +}; +declare type TeamsReviewProjectLegacyResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsReviewProjectLegacyResponseData = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: TeamsReviewProjectLegacyResponseDataCreator; + created_at: string; + updated_at: string; + organization_permission: string; + private: boolean; + permissions: TeamsReviewProjectLegacyResponseDataPermissions; +}; +declare type TeamsAddOrUpdateProjectLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * project_id parameter + */ + project_id: number; + /** + * The permission to grant to the team for this project. Can be one of: + * \* `read` - team members can read, but not write to or administer this project. + * \* `write` - team members can read and write, but not administer this project. + * \* `admin` - team members can read, write and administer this project. + * Default: the team's `permission` attribute will be used to determine what permission to grant the team on this project. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://developer.github.com/v3/#http-verbs)." + */ + permission?: "read" | "write" | "admin"; +} & RequiredPreview<"inertia">; +declare type TeamsAddOrUpdateProjectLegacyRequestOptions = { + method: "PUT"; + url: "/teams/:team_id/projects/:project_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsAddOrUpdateProjectLegacyResponseData = { + message: string; + documentation_url: string; +}; +declare type TeamsRemoveProjectLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * project_id parameter + */ + project_id: number; +}; +declare type TeamsRemoveProjectLegacyRequestOptions = { + method: "DELETE"; + url: "/teams/:team_id/projects/:project_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListReposLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListReposLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/repos"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListReposLegacyResponseDataItemLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type TeamsListReposLegacyResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type TeamsListReposLegacyResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListReposLegacyResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: TeamsListReposLegacyResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: TeamsListReposLegacyResponseDataItemPermissions; + template_repository: null; + temp_clone_token: string; + subscribers_count: number; + network_count: number; + license: TeamsListReposLegacyResponseDataItemLicense; +}; +declare type TeamsListReposLegacyResponseData = Array; +declare type TeamsCheckManagesRepoLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type TeamsCheckManagesRepoLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/repos/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsCheckManagesRepoLegacyResponseDataPermissions = { + pull: boolean; + triage: boolean; + push: boolean; + maintain: boolean; + admin: boolean; +}; +declare type TeamsCheckManagesRepoLegacyResponseDataSourcePermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type TeamsCheckManagesRepoLegacyResponseDataSourceOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCheckManagesRepoLegacyResponseDataSource = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: TeamsCheckManagesRepoLegacyResponseDataSourceOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: TeamsCheckManagesRepoLegacyResponseDataSourcePermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type TeamsCheckManagesRepoLegacyResponseDataParentPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type TeamsCheckManagesRepoLegacyResponseDataParentOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCheckManagesRepoLegacyResponseDataParent = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: TeamsCheckManagesRepoLegacyResponseDataParentOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: TeamsCheckManagesRepoLegacyResponseDataParentPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type TeamsCheckManagesRepoLegacyResponseDataOrganization = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCheckManagesRepoLegacyResponseData = { + organization: TeamsCheckManagesRepoLegacyResponseDataOrganization; + parent: TeamsCheckManagesRepoLegacyResponseDataParent; + source: TeamsCheckManagesRepoLegacyResponseDataSource; + permissions: TeamsCheckManagesRepoLegacyResponseDataPermissions; +}; +declare type TeamsAddOrUpdateRepoLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The permission to grant the team on this repository. Can be one of: + * \* `pull` - team members can pull, but not push to or administer this repository. + * \* `push` - team members can pull and push, but not administer this repository. + * \* `admin` - team members can pull, push and administer this repository. + * + * If no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository. + */ + permission?: "pull" | "push" | "admin"; +}; +declare type TeamsAddOrUpdateRepoLegacyRequestOptions = { + method: "PUT"; + url: "/teams/:team_id/repos/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsRemoveRepoLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type TeamsRemoveRepoLegacyRequestOptions = { + method: "DELETE"; + url: "/teams/:team_id/repos/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListIdPGroupsForLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; +}; +declare type TeamsListIdPGroupsForLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/team-sync/group-mappings"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListIdPGroupsForLegacyResponseDataGroupsItem = { + group_id: string; + group_name: string; + group_description: string; +}; +declare type TeamsListIdPGroupsForLegacyResponseData = { + groups: Array; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * The IdP groups you want to connect to a GitHub team. When updating, the new `groups` object will replace the original one. You must include any existing groups that you don't want to remove. + */ + groups: TeamsCreateOrUpdateIdPGroupConnectionsLegacyParamsGroups[]; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsLegacyRequestOptions = { + method: "PATCH"; + url: "/teams/:team_id/team-sync/group-mappings"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsLegacyResponseDataGroupsItem = { + group_id: string; + group_name: string; + group_description: string; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsLegacyResponseData = { + groups: Array; +}; +declare type TeamsListChildLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListChildLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListChildLegacyResponseDataItemParent = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; +}; +declare type TeamsListChildLegacyResponseDataItem = { + id: number; + node_id: string; + url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: TeamsListChildLegacyResponseDataItemParent; +}; +declare type TeamsListChildLegacyResponseData = Array; +declare type UsersGetAuthenticatedEndpoint = {}; +declare type UsersGetAuthenticatedRequestOptions = { + method: "GET"; + url: "/user"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersGetAuthenticatedResponseDataPlan = { + name: string; + space: number; + private_repos: number; + collaborators: number; +}; +declare type UsersGetAuthenticatedResponseData = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; + name: string; + company: string; + blog: string; + location: string; + email: string; + hireable: boolean; + bio: string; + public_repos: number; + public_gists: number; + followers: number; + following: number; + created_at: string; + updated_at: string; + private_gists?: number; + total_private_repos?: number; + owned_private_repos?: number; + disk_usage?: number; + collaborators?: number; + two_factor_authentication?: boolean; + plan?: UsersGetAuthenticatedResponseDataPlan; +}; +declare type UsersUpdateAuthenticatedEndpoint = { + /** + * The new name of the user. + */ + name?: string; + /** + * The publicly visible email address of the user. + */ + email?: string; + /** + * The new blog URL of the user. + */ + blog?: string; + /** + * The new company of the user. + */ + company?: string; + /** + * The new location of the user. + */ + location?: string; + /** + * The new hiring availability of the user. + */ + hireable?: boolean; + /** + * The new short biography of the user. + */ + bio?: string; +}; +declare type UsersUpdateAuthenticatedRequestOptions = { + method: "PATCH"; + url: "/user"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersUpdateAuthenticatedResponseDataPlan = { + name: string; + space: number; + private_repos: number; + collaborators: number; +}; +declare type UsersUpdateAuthenticatedResponseData = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; + name: string; + company: string; + blog: string; + location: string; + email: string; + hireable: boolean; + bio: string; + public_repos: number; + public_gists: number; + followers: number; + following: number; + created_at: string; + updated_at: string; + private_gists: number; + total_private_repos: number; + owned_private_repos: number; + disk_usage: number; + collaborators: number; + two_factor_authentication: boolean; + plan: UsersUpdateAuthenticatedResponseDataPlan; +}; +declare type UsersListBlockedEndpoint = {}; +declare type UsersListBlockedRequestOptions = { + method: "GET"; + url: "/user/blocks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListBlockedResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type UsersListBlockedResponseData = Array; +declare type UsersCheckBlockedEndpoint = { + /** + * username parameter + */ + username: string; +}; +declare type UsersCheckBlockedRequestOptions = { + method: "GET"; + url: "/user/blocks/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersBlockEndpoint = { + /** + * username parameter + */ + username: string; +}; +declare type UsersBlockRequestOptions = { + method: "PUT"; + url: "/user/blocks/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersUnblockEndpoint = { + /** + * username parameter + */ + username: string; +}; +declare type UsersUnblockRequestOptions = { + method: "DELETE"; + url: "/user/blocks/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersTogglePrimaryEmailVisibilityEndpoint = { + /** + * Specify the _primary_ email address that needs a visibility change. + */ + email: string; + /** + * Use `public` to enable an authenticated user to view the specified email address, or use `private` so this primary email address cannot be seen publicly. + */ + visibility: string; +}; +declare type UsersTogglePrimaryEmailVisibilityRequestOptions = { + method: "PATCH"; + url: "/user/email/visibility"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersTogglePrimaryEmailVisibilityResponseDataItem = { + email: string; + primary: boolean; + verified: boolean; + visibility: string; +}; +declare type UsersTogglePrimaryEmailVisibilityResponseData = Array; +declare type UsersListEmailsEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListEmailsRequestOptions = { + method: "GET"; + url: "/user/emails"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListEmailsResponseDataItem = { + email: string; + verified: boolean; + primary: boolean; + visibility: string; +}; +declare type UsersListEmailsResponseData = Array; +declare type UsersAddEmailsEndpoint = { + /** + * Adds one or more email addresses to your GitHub account. Must contain at least one email address. **Note:** Alternatively, you can pass a single email address or an `array` of emails addresses directly, but we recommend that you pass an object using the `emails` key. + */ + emails: string[]; +}; +declare type UsersAddEmailsRequestOptions = { + method: "POST"; + url: "/user/emails"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersAddEmailsResponseDataItem = { + email: string; + primary: boolean; + verified: boolean; + visibility: string | null; +}; +declare type UsersAddEmailsResponseData = Array; +declare type UsersDeleteEmailsEndpoint = { + /** + * Deletes one or more email addresses from your GitHub account. Must contain at least one email address. **Note:** Alternatively, you can pass a single email address or an `array` of emails addresses directly, but we recommend that you pass an object using the `emails` key. + */ + emails: string[]; +}; +declare type UsersDeleteEmailsRequestOptions = { + method: "DELETE"; + url: "/user/emails"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListFollowersForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListFollowersForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/followers"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListFollowersForAuthenticatedUserResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type UsersListFollowersForAuthenticatedUserResponseData = Array; +declare type UsersListFollowedByAuthenticatedEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListFollowedByAuthenticatedRequestOptions = { + method: "GET"; + url: "/user/following"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListFollowedByAuthenticatedResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type UsersListFollowedByAuthenticatedResponseData = Array; +declare type UsersCheckFollowingEndpoint = { + /** + * username parameter + */ + username: string; +}; +declare type UsersCheckFollowingRequestOptions = { + method: "GET"; + url: "/user/following/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersFollowEndpoint = { + /** + * username parameter + */ + username: string; +}; +declare type UsersFollowRequestOptions = { + method: "PUT"; + url: "/user/following/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersUnfollowEndpoint = { + /** + * username parameter + */ + username: string; +}; +declare type UsersUnfollowRequestOptions = { + method: "DELETE"; + url: "/user/following/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListGpgKeysEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListGpgKeysRequestOptions = { + method: "GET"; + url: "/user/gpg_keys"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListGpgKeysResponseDataItemSubkeysItem = { + id: number; + primary_key_id: number; + key_id: string; + public_key: string; + emails: Array; + subkeys: Array; + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_certify: boolean; + created_at: string; + expires_at: null; +}; +declare type UsersListGpgKeysResponseDataItemEmailsItem = { + email: string; + verified: boolean; +}; +declare type UsersListGpgKeysResponseDataItem = { + id: number; + primary_key_id: null; + key_id: string; + public_key: string; + emails: Array; + subkeys: Array; + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_certify: boolean; + created_at: string; + expires_at: null; +}; +declare type UsersListGpgKeysResponseData = Array; +declare type UsersCreateGpgKeyEndpoint = { + /** + * Your GPG key, generated in ASCII-armored format. See "[Generating a new GPG key](https://help.github.com/articles/generating-a-new-gpg-key/)" for help creating a GPG key. + */ + armored_public_key?: string; +}; +declare type UsersCreateGpgKeyRequestOptions = { + method: "POST"; + url: "/user/gpg_keys"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersCreateGpgKeyResponseDataSubkeysItem = { + id: number; + primary_key_id: number; + key_id: string; + public_key: string; + emails: Array; + subkeys: Array; + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_certify: boolean; + created_at: string; + expires_at: null; +}; +declare type UsersCreateGpgKeyResponseDataEmailsItem = { + email: string; + verified: boolean; +}; +declare type UsersCreateGpgKeyResponseData = { + id: number; + primary_key_id: null; + key_id: string; + public_key: string; + emails: Array; + subkeys: Array; + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_certify: boolean; + created_at: string; + expires_at: null; +}; +declare type UsersGetGpgKeyEndpoint = { + /** + * gpg_key_id parameter + */ + gpg_key_id: number; +}; +declare type UsersGetGpgKeyRequestOptions = { + method: "GET"; + url: "/user/gpg_keys/:gpg_key_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersGetGpgKeyResponseDataSubkeysItem = { + id: number; + primary_key_id: number; + key_id: string; + public_key: string; + emails: Array; + subkeys: Array; + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_certify: boolean; + created_at: string; + expires_at: null; +}; +declare type UsersGetGpgKeyResponseDataEmailsItem = { + email: string; + verified: boolean; +}; +declare type UsersGetGpgKeyResponseData = { + id: number; + primary_key_id: null; + key_id: string; + public_key: string; + emails: Array; + subkeys: Array; + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_certify: boolean; + created_at: string; + expires_at: null; +}; +declare type UsersDeleteGpgKeyEndpoint = { + /** + * gpg_key_id parameter + */ + gpg_key_id: number; +}; +declare type UsersDeleteGpgKeyRequestOptions = { + method: "DELETE"; + url: "/user/gpg_keys/:gpg_key_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListInstallationsForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"machine-man">; +declare type AppsListInstallationsForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/installations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListInstallationsForAuthenticatedUserResponseDataInstallationsItemPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type AppsListInstallationsForAuthenticatedUserResponseDataInstallationsItemAccount = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url?: string; + issues_url?: string; + members_url?: string; + public_members_url?: string; + avatar_url: string; + description?: string; + gravatar_id?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; +}; +declare type AppsListInstallationsForAuthenticatedUserResponseDataInstallationsItem = { + id: number; + account: AppsListInstallationsForAuthenticatedUserResponseDataInstallationsItemAccount; + access_tokens_url: string; + repositories_url: string; + html_url: string; + app_id: number; + target_id: number; + target_type: string; + permissions: AppsListInstallationsForAuthenticatedUserResponseDataInstallationsItemPermissions; + events: Array; + single_file_name: string; +}; +declare type AppsListInstallationsForAuthenticatedUserResponseData = { + total_count: number; + installations: Array; +}; +declare type AppsListInstallationReposForAuthenticatedUserEndpoint = { + /** + * installation_id parameter + */ + installation_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"machine-man">; +declare type AppsListInstallationReposForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/installations/:installation_id/repositories"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListInstallationReposForAuthenticatedUserResponseDataRepositoriesItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type AppsListInstallationReposForAuthenticatedUserResponseDataRepositoriesItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsListInstallationReposForAuthenticatedUserResponseDataRepositoriesItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: AppsListInstallationReposForAuthenticatedUserResponseDataRepositoriesItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: AppsListInstallationReposForAuthenticatedUserResponseDataRepositoriesItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type AppsListInstallationReposForAuthenticatedUserResponseData = { + total_count: number; + repositories: Array; +}; +declare type AppsAddRepoToInstallationEndpoint = { + /** + * installation_id parameter + */ + installation_id: number; + /** + * repository_id parameter + */ + repository_id: number; +} & RequiredPreview<"machine-man">; +declare type AppsAddRepoToInstallationRequestOptions = { + method: "PUT"; + url: "/user/installations/:installation_id/repositories/:repository_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsRemoveRepoFromInstallationEndpoint = { + /** + * installation_id parameter + */ + installation_id: number; + /** + * repository_id parameter + */ + repository_id: number; +} & RequiredPreview<"machine-man">; +declare type AppsRemoveRepoFromInstallationRequestOptions = { + method: "DELETE"; + url: "/user/installations/:installation_id/repositories/:repository_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListForAuthenticatedUserEndpoint = { + /** + * Indicates which sorts of issues to return. Can be one of: + * \* `assigned`: Issues assigned to you + * \* `created`: Issues created by you + * \* `mentioned`: Issues mentioning you + * \* `subscribed`: Issues you're subscribed to updates for + * \* `all`: All issues the authenticated user can see, regardless of participation or creation + */ + filter?: "assigned" | "created" | "mentioned" | "subscribed" | "all"; + /** + * Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + /** + * A list of comma separated label names. Example: `bug,ui,@high` + */ + labels?: string; + /** + * What to sort results by. Can be either `created`, `updated`, `comments`. + */ + sort?: "created" | "updated" | "comments"; + /** + * The direction of the sort. Can be either `asc` or `desc`. + */ + direction?: "asc" | "desc"; + /** + * Only issues updated at or after this time are returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type IssuesListForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/issues"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemRepositoryPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: IssuesListForAuthenticatedUserResponseDataItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: IssuesListForAuthenticatedUserResponseDataItemRepositoryPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemPullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesListForAuthenticatedUserResponseDataItemMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForAuthenticatedUserResponseDataItem = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesListForAuthenticatedUserResponseDataItemUser; + labels: Array; + assignee: IssuesListForAuthenticatedUserResponseDataItemAssignee; + assignees: Array; + milestone: IssuesListForAuthenticatedUserResponseDataItemMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesListForAuthenticatedUserResponseDataItemPullRequest; + closed_at: null; + created_at: string; + updated_at: string; + repository: IssuesListForAuthenticatedUserResponseDataItemRepository; +}; +declare type IssuesListForAuthenticatedUserResponseData = Array; +declare type UsersListPublicKeysEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListPublicKeysRequestOptions = { + method: "GET"; + url: "/user/keys"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListPublicKeysResponseDataItem = { + key_id: string; + key: string; +}; +declare type UsersListPublicKeysResponseData = Array; +declare type UsersCreatePublicKeyEndpoint = { + /** + * A descriptive name for the new key. Use a name that will help you recognize this key in your GitHub account. For example, if you're using a personal Mac, you might call this key "Personal MacBook Air". + */ + title?: string; + /** + * The public SSH key to add to your GitHub account. See "[Generating a new SSH key](https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/)" for guidance on how to create a public SSH key. + */ + key?: string; +}; +declare type UsersCreatePublicKeyRequestOptions = { + method: "POST"; + url: "/user/keys"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersCreatePublicKeyResponseData = { + key_id: string; + key: string; +}; +declare type UsersGetPublicKeyEndpoint = { + /** + * key_id parameter + */ + key_id: number; +}; +declare type UsersGetPublicKeyRequestOptions = { + method: "GET"; + url: "/user/keys/:key_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersGetPublicKeyResponseData = { + key_id: string; + key: string; +}; +declare type UsersDeletePublicKeyEndpoint = { + /** + * key_id parameter + */ + key_id: number; +}; +declare type UsersDeletePublicKeyRequestOptions = { + method: "DELETE"; + url: "/user/keys/:key_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListSubscriptionsForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type AppsListSubscriptionsForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/marketplace_purchases"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListSubscriptionsForAuthenticatedUserResponseDataItemPlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + unit_name: null; + state: string; + bullets: Array; +}; +declare type AppsListSubscriptionsForAuthenticatedUserResponseDataItemAccount = { + login: string; + id: number; + url: string; + email: null; + organization_billing_email: string; + type: string; +}; +declare type AppsListSubscriptionsForAuthenticatedUserResponseDataItem = { + billing_cycle: string; + next_billing_date: string; + unit_count: null; + on_free_trial: boolean; + free_trial_ends_on: string; + updated_at: string; + account: AppsListSubscriptionsForAuthenticatedUserResponseDataItemAccount; + plan: AppsListSubscriptionsForAuthenticatedUserResponseDataItemPlan; +}; +declare type AppsListSubscriptionsForAuthenticatedUserResponseData = Array; +declare type AppsListSubscriptionsForAuthenticatedUserStubbedEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type AppsListSubscriptionsForAuthenticatedUserStubbedRequestOptions = { + method: "GET"; + url: "/user/marketplace_purchases/stubbed"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListSubscriptionsForAuthenticatedUserStubbedResponseDataItemPlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + unit_name: null; + state: string; + bullets: Array; +}; +declare type AppsListSubscriptionsForAuthenticatedUserStubbedResponseDataItemAccount = { + login: string; + id: number; + url: string; + email: null; + organization_billing_email: string; + type: string; +}; +declare type AppsListSubscriptionsForAuthenticatedUserStubbedResponseDataItem = { + billing_cycle: string; + next_billing_date: string; + unit_count: null; + on_free_trial: boolean; + free_trial_ends_on: string; + updated_at: string; + account: AppsListSubscriptionsForAuthenticatedUserStubbedResponseDataItemAccount; + plan: AppsListSubscriptionsForAuthenticatedUserStubbedResponseDataItemPlan; +}; +declare type AppsListSubscriptionsForAuthenticatedUserStubbedResponseData = Array; +declare type OrgsListMembershipsEndpoint = { + /** + * Indicates the state of the memberships to return. Can be either `active` or `pending`. If not specified, the API returns both active and pending memberships. + */ + state?: "active" | "pending"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type OrgsListMembershipsRequestOptions = { + method: "GET"; + url: "/user/memberships/orgs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListMembershipsResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsListMembershipsResponseDataItemOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type OrgsListMembershipsResponseDataItem = { + url: string; + state: string; + role: string; + organization_url: string; + organization: OrgsListMembershipsResponseDataItemOrganization; + user: OrgsListMembershipsResponseDataItemUser; +}; +declare type OrgsListMembershipsResponseData = Array; +declare type OrgsGetMembershipForAuthenticatedUserEndpoint = { + /** + * org parameter + */ + org: string; +}; +declare type OrgsGetMembershipForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/memberships/orgs/:org"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsGetMembershipForAuthenticatedUserResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsGetMembershipForAuthenticatedUserResponseDataOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type OrgsGetMembershipForAuthenticatedUserResponseData = { + url: string; + state: string; + role: string; + organization_url: string; + organization: OrgsGetMembershipForAuthenticatedUserResponseDataOrganization; + user: OrgsGetMembershipForAuthenticatedUserResponseDataUser; +}; +declare type OrgsUpdateMembershipEndpoint = { + /** + * org parameter + */ + org: string; + /** + * The state that the membership should be in. Only `"active"` will be accepted. + */ + state: "active"; +}; +declare type OrgsUpdateMembershipRequestOptions = { + method: "PATCH"; + url: "/user/memberships/orgs/:org"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsUpdateMembershipResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsUpdateMembershipResponseDataOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type OrgsUpdateMembershipResponseData = { + url: string; + state: string; + role: string; + organization_url: string; + organization: OrgsUpdateMembershipResponseDataOrganization; + user: OrgsUpdateMembershipResponseDataUser; +}; +declare type MigrationsStartForAuthenticatedUserEndpoint = { + /** + * An array of repositories to include in the migration. + */ + repositories: string[]; + /** + * Locks the `repositories` to prevent changes during the migration when set to `true`. + */ + lock_repositories?: boolean; + /** + * Does not include attachments uploaded to GitHub.com in the migration data when set to `true`. Excluding attachments will reduce the migration archive file size. + */ + exclude_attachments?: boolean; +}; +declare type MigrationsStartForAuthenticatedUserRequestOptions = { + method: "POST"; + url: "/user/migrations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsStartForAuthenticatedUserResponseDataRepositoriesItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type MigrationsStartForAuthenticatedUserResponseDataRepositoriesItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsStartForAuthenticatedUserResponseDataRepositoriesItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: MigrationsStartForAuthenticatedUserResponseDataRepositoriesItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: MigrationsStartForAuthenticatedUserResponseDataRepositoriesItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type MigrationsStartForAuthenticatedUserResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsStartForAuthenticatedUserResponseData = { + id: number; + owner: MigrationsStartForAuthenticatedUserResponseDataOwner; + guid: string; + state: string; + lock_repositories: boolean; + exclude_attachments: boolean; + repositories: Array; + url: string; + created_at: string; + updated_at: string; +}; +declare type MigrationsListForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsListForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/migrations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsListForAuthenticatedUserResponseDataItemRepositoriesItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type MigrationsListForAuthenticatedUserResponseDataItemRepositoriesItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsListForAuthenticatedUserResponseDataItemRepositoriesItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: MigrationsListForAuthenticatedUserResponseDataItemRepositoriesItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: MigrationsListForAuthenticatedUserResponseDataItemRepositoriesItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type MigrationsListForAuthenticatedUserResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsListForAuthenticatedUserResponseDataItem = { + id: number; + owner: MigrationsListForAuthenticatedUserResponseDataItemOwner; + guid: string; + state: string; + lock_repositories: boolean; + exclude_attachments: boolean; + repositories: Array; + url: string; + created_at: string; + updated_at: string; +}; +declare type MigrationsListForAuthenticatedUserResponseData = Array; +declare type MigrationsGetStatusForAuthenticatedUserEndpoint = { + /** + * migration_id parameter + */ + migration_id: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsGetStatusForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/migrations/:migration_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsGetStatusForAuthenticatedUserResponseDataRepositoriesItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type MigrationsGetStatusForAuthenticatedUserResponseDataRepositoriesItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsGetStatusForAuthenticatedUserResponseDataRepositoriesItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: MigrationsGetStatusForAuthenticatedUserResponseDataRepositoriesItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: MigrationsGetStatusForAuthenticatedUserResponseDataRepositoriesItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type MigrationsGetStatusForAuthenticatedUserResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsGetStatusForAuthenticatedUserResponseData = { + id: number; + owner: MigrationsGetStatusForAuthenticatedUserResponseDataOwner; + guid: string; + state: string; + lock_repositories: boolean; + exclude_attachments: boolean; + repositories: Array; + url: string; + created_at: string; + updated_at: string; +}; +declare type MigrationsGetArchiveForAuthenticatedUserEndpoint = { + /** + * migration_id parameter + */ + migration_id: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsGetArchiveForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/migrations/:migration_id/archive"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsDeleteArchiveForAuthenticatedUserEndpoint = { + /** + * migration_id parameter + */ + migration_id: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsDeleteArchiveForAuthenticatedUserRequestOptions = { + method: "DELETE"; + url: "/user/migrations/:migration_id/archive"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsUnlockRepoForAuthenticatedUserEndpoint = { + /** + * migration_id parameter + */ + migration_id: number; + /** + * repo_name parameter + */ + repo_name: string; +} & RequiredPreview<"wyandotte">; +declare type MigrationsUnlockRepoForAuthenticatedUserRequestOptions = { + method: "DELETE"; + url: "/user/migrations/:migration_id/repos/:repo_name/lock"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type OrgsListForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/orgs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListForAuthenticatedUserResponseDataItem = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type OrgsListForAuthenticatedUserResponseData = Array; +declare type ProjectsCreateForAuthenticatedUserEndpoint = { + /** + * The name of the project. + */ + name: string; + /** + * The description of the project. + */ + body?: string; +} & RequiredPreview<"inertia">; +declare type ProjectsCreateForAuthenticatedUserRequestOptions = { + method: "POST"; + url: "/user/projects"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsCreateForAuthenticatedUserResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsCreateForAuthenticatedUserResponseData = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: ProjectsCreateForAuthenticatedUserResponseDataCreator; + created_at: string; + updated_at: string; +}; +declare type UsersListPublicEmailsEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListPublicEmailsRequestOptions = { + method: "GET"; + url: "/user/public_emails"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListPublicEmailsResponseDataItem = { + email: string; + verified: boolean; + primary: boolean; + visibility: string; +}; +declare type UsersListPublicEmailsResponseData = Array; +declare type ReposListForAuthenticatedUserEndpoint = { + /** + * Can be one of `all`, `public`, or `private`. + */ + visibility?: "all" | "public" | "private"; + /** + * Comma-separated list of values. Can include: + * \* `owner`: Repositories that are owned by the authenticated user. + * \* `collaborator`: Repositories that the user has been added to as a collaborator. + * \* `organization_member`: Repositories that the user has access to through being a member of an organization. This includes every repository on every team that the user is on. + */ + affiliation?: string; + /** + * Can be one of `all`, `owner`, `public`, `private`, `member`. Default: `all` + * + * Will cause a `422` error if used in the same request as **visibility** or **affiliation**. Will cause a `422` error if used in the same request as **visibility** or **affiliation**. + */ + type?: "all" | "owner" | "public" | "private" | "member"; + /** + * Can be one of `created`, `updated`, `pushed`, `full_name`. + */ + sort?: "created" | "updated" | "pushed" | "full_name"; + /** + * Can be one of `asc` or `desc`. Default: `asc` when using `full_name`, otherwise `desc` + */ + direction?: "asc" | "desc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/repos"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateForAuthenticatedUserEndpoint = { + /** + * The name of the repository. + */ + name: string; + /** + * A short description of the repository. + */ + description?: string; + /** + * A URL with more information about the repository. + */ + homepage?: string; + /** + * Either `true` to create a private repository or `false` to create a public one. + */ + private?: boolean; + /** + * Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `visibility` can also be `internal`. For more information, see "[Creating an internal repository](https://help.github.com/github/creating-cloning-and-archiving-repositories/creating-an-internal-repository)" in the GitHub Help documentation. + * The `visibility` parameter overrides the `private` parameter when you use both parameters with the `nebula-preview` preview header. + */ + visibility?: "public" | "private" | "visibility" | "internal"; + /** + * Either `true` to enable issues for this repository or `false` to disable them. + */ + has_issues?: boolean; + /** + * Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error. + */ + has_projects?: boolean; + /** + * Either `true` to enable the wiki for this repository or `false` to disable it. + */ + has_wiki?: boolean; + /** + * Either `true` to make this repo available as a template repository or `false` to prevent it. + */ + is_template?: boolean; + /** + * The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization. + */ + team_id?: number; + /** + * Pass `true` to create an initial commit with empty README. + */ + auto_init?: boolean; + /** + * Desired language or platform [.gitignore template](https://github.com/github/gitignore) to apply. Use the name of the template without the extension. For example, "Haskell". + */ + gitignore_template?: string; + /** + * Choose an [open source license template](https://choosealicense.com/) that best suits your needs, and then use the [license keyword](https://help.github.com/articles/licensing-a-repository/#searching-github-by-license-type) as the `license_template` string. For example, "mit" or "mpl-2.0". + */ + license_template?: string; + /** + * Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. + */ + allow_squash_merge?: boolean; + /** + * Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. + */ + allow_merge_commit?: boolean; + /** + * Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. + */ + allow_rebase_merge?: boolean; + /** + * Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. + */ + delete_branch_on_merge?: boolean; +}; +declare type ReposCreateForAuthenticatedUserRequestOptions = { + method: "POST"; + url: "/user/repos"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateForAuthenticatedUserResponseDataPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposCreateForAuthenticatedUserResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateForAuthenticatedUserResponseData = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposCreateForAuthenticatedUserResponseDataOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposCreateForAuthenticatedUserResponseDataPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposListInvitationsForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListInvitationsForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/repository_invitations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListInvitationsForAuthenticatedUserResponseDataItemInviter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListInvitationsForAuthenticatedUserResponseDataItemInvitee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListInvitationsForAuthenticatedUserResponseDataItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListInvitationsForAuthenticatedUserResponseDataItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposListInvitationsForAuthenticatedUserResponseDataItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ReposListInvitationsForAuthenticatedUserResponseDataItem = { + id: number; + repository: ReposListInvitationsForAuthenticatedUserResponseDataItemRepository; + invitee: ReposListInvitationsForAuthenticatedUserResponseDataItemInvitee; + inviter: ReposListInvitationsForAuthenticatedUserResponseDataItemInviter; + permissions: string; + created_at: string; + url: string; + html_url: string; +}; +declare type ReposListInvitationsForAuthenticatedUserResponseData = Array; +declare type ReposAcceptInvitationEndpoint = { + /** + * invitation_id parameter + */ + invitation_id: number; +}; +declare type ReposAcceptInvitationRequestOptions = { + method: "PATCH"; + url: "/user/repository_invitations/:invitation_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposDeclineInvitationEndpoint = { + /** + * invitation_id parameter + */ + invitation_id: number; +}; +declare type ReposDeclineInvitationRequestOptions = { + method: "DELETE"; + url: "/user/repository_invitations/:invitation_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListReposStarredByAuthenticatedUserEndpoint = { + /** + * One of `created` (when the repository was starred) or `updated` (when it was last pushed to). + */ + sort?: "created" | "updated"; + /** + * One of `asc` (ascending) or `desc` (descending). + */ + direction?: "asc" | "desc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListReposStarredByAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/starred"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListReposStarredByAuthenticatedUserResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ActivityListReposStarredByAuthenticatedUserResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActivityListReposStarredByAuthenticatedUserResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActivityListReposStarredByAuthenticatedUserResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ActivityListReposStarredByAuthenticatedUserResponseDataItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ActivityListReposStarredByAuthenticatedUserResponseData = Array; +declare type ActivityCheckRepoIsStarredByAuthenticatedUserEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActivityCheckRepoIsStarredByAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/starred/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityStarRepoForAuthenticatedUserEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActivityStarRepoForAuthenticatedUserRequestOptions = { + method: "PUT"; + url: "/user/starred/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityUnstarRepoForAuthenticatedUserEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActivityUnstarRepoForAuthenticatedUserRequestOptions = { + method: "DELETE"; + url: "/user/starred/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListWatchedReposForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListWatchedReposForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/subscriptions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListWatchedReposForAuthenticatedUserResponseDataItemLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type ActivityListWatchedReposForAuthenticatedUserResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ActivityListWatchedReposForAuthenticatedUserResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActivityListWatchedReposForAuthenticatedUserResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActivityListWatchedReposForAuthenticatedUserResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ActivityListWatchedReposForAuthenticatedUserResponseDataItemPermissions; + template_repository: null; + temp_clone_token: string; + subscribers_count: number; + network_count: number; + license: ActivityListWatchedReposForAuthenticatedUserResponseDataItemLicense; +}; +declare type ActivityListWatchedReposForAuthenticatedUserResponseData = Array; +declare type ActivityCheckWatchingRepoLegacyEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActivityCheckWatchingRepoLegacyRequestOptions = { + method: "GET"; + url: "/user/subscriptions/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityWatchRepoLegacyEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActivityWatchRepoLegacyRequestOptions = { + method: "PUT"; + url: "/user/subscriptions/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityStopWatchingRepoLegacyEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActivityStopWatchingRepoLegacyRequestOptions = { + method: "DELETE"; + url: "/user/subscriptions/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListForAuthenticatedUserResponseDataItemOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; + name: string; + company: string; + blog: string; + location: string; + email: string; + is_verified: boolean; + has_organization_projects: boolean; + has_repository_projects: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; + html_url: string; + created_at: string; + type: string; +}; +declare type TeamsListForAuthenticatedUserResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; + members_count: number; + repos_count: number; + created_at: string; + updated_at: string; + organization: TeamsListForAuthenticatedUserResponseDataItemOrganization; +}; +declare type TeamsListForAuthenticatedUserResponseData = Array; +declare type MigrationsListReposForUserEndpoint = { + /** + * migration_id parameter + */ + migration_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsListReposForUserRequestOptions = { + method: "GET"; + url: "/user/:migration_id/repositories"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsListReposForUserResponseDataItemLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type MigrationsListReposForUserResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type MigrationsListReposForUserResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsListReposForUserResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: MigrationsListReposForUserResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: MigrationsListReposForUserResponseDataItemPermissions; + template_repository: null; + temp_clone_token: string; + subscribers_count: number; + network_count: number; + license: MigrationsListReposForUserResponseDataItemLicense; +}; +declare type MigrationsListReposForUserResponseData = Array; +declare type UsersListEndpoint = { + /** + * The integer ID of the last User that you've seen. + */ + since?: string; +}; +declare type UsersListRequestOptions = { + method: "GET"; + url: "/users"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type UsersListResponseData = Array; +declare type UsersGetByUsernameEndpoint = { + /** + * username parameter + */ + username: string; +}; +declare type UsersGetByUsernameRequestOptions = { + method: "GET"; + url: "/users/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersGetByUsernameResponseDataPlan = { + name: string; + space: number; + collaborators: number; + private_repos: number; +}; +declare type UsersGetByUsernameResponseData = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; + name: string; + company: string; + blog: string; + location: string; + email: string; + hireable: boolean; + bio: string; + public_repos: number; + public_gists: number; + followers: number; + following: number; + created_at: string; + updated_at: string; + plan?: UsersGetByUsernameResponseDataPlan; +}; +declare type ActivityListEventsForAuthenticatedUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListEventsForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/users/:username/events"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListOrgEventsForAuthenticatedUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListOrgEventsForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/users/:username/events/orgs/:org"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListPublicEventsForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListPublicEventsForUserRequestOptions = { + method: "GET"; + url: "/users/:username/events/public"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListFollowersForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListFollowersForUserRequestOptions = { + method: "GET"; + url: "/users/:username/followers"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListFollowersForUserResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type UsersListFollowersForUserResponseData = Array; +declare type UsersListFollowingForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListFollowingForUserRequestOptions = { + method: "GET"; + url: "/users/:username/following"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListFollowingForUserResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type UsersListFollowingForUserResponseData = Array; +declare type UsersCheckFollowingForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * target_user parameter + */ + target_user: string; +}; +declare type UsersCheckFollowingForUserRequestOptions = { + method: "GET"; + url: "/users/:username/following/:target_user"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsListForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Only gists updated at or after this time are returned. + */ + since?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type GistsListForUserRequestOptions = { + method: "GET"; + url: "/users/:username/gists"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsListForUserResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsListForUserResponseDataItemFilesHelloWorldRb = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; +}; +declare type GistsListForUserResponseDataItemFiles = { + "hello_world.rb": GistsListForUserResponseDataItemFilesHelloWorldRb; +}; +declare type GistsListForUserResponseDataItem = { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: GistsListForUserResponseDataItemFiles; + public: boolean; + created_at: string; + updated_at: string; + description: string; + comments: number; + user: null; + comments_url: string; + owner: GistsListForUserResponseDataItemOwner; + truncated: boolean; +}; +declare type GistsListForUserResponseData = Array; +declare type UsersListGpgKeysForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListGpgKeysForUserRequestOptions = { + method: "GET"; + url: "/users/:username/gpg_keys"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListGpgKeysForUserResponseDataItemSubkeysItem = { + id: number; + primary_key_id: number; + key_id: string; + public_key: string; + emails: Array; + subkeys: Array; + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_certify: boolean; + created_at: string; + expires_at: null; +}; +declare type UsersListGpgKeysForUserResponseDataItemEmailsItem = { + email: string; + verified: boolean; +}; +declare type UsersListGpgKeysForUserResponseDataItem = { + id: number; + primary_key_id: null; + key_id: string; + public_key: string; + emails: Array; + subkeys: Array; + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_certify: boolean; + created_at: string; + expires_at: null; +}; +declare type UsersListGpgKeysForUserResponseData = Array; +declare type UsersGetContextForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Identifies which additional information you'd like to receive about the person's hovercard. Can be `organization`, `repository`, `issue`, `pull_request`. **Required** when using `subject_id`. + */ + subject_type?: "organization" | "repository" | "issue" | "pull_request"; + /** + * Uses the ID for the `subject_type` you specified. **Required** when using `subject_type`. + */ + subject_id?: string; +}; +declare type UsersGetContextForUserRequestOptions = { + method: "GET"; + url: "/users/:username/hovercard"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersGetContextForUserResponseDataContextsItem = { + message: string; + octicon: string; +}; +declare type UsersGetContextForUserResponseData = { + contexts: Array; +}; +declare type AppsGetUserInstallationEndpoint = { + /** + * username parameter + */ + username: string; +} & RequiredPreview<"machine-man">; +declare type AppsGetUserInstallationRequestOptions = { + method: "GET"; + url: "/users/:username/installation"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetUserInstallationResponseDataPermissions = { + checks: string; + metadata: string; + contents: string; +}; +declare type AppsGetUserInstallationResponseDataAccount = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsGetUserInstallationResponseData = { + id: number; + account: AppsGetUserInstallationResponseDataAccount; + repository_selection: string; + access_tokens_url: string; + repositories_url: string; + html_url: string; + app_id: number; + target_id: number; + target_type: string; + permissions: AppsGetUserInstallationResponseDataPermissions; + events: Array; + created_at: string; + updated_at: string; + single_file_name: null; +}; +declare type UsersListPublicKeysForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListPublicKeysForUserRequestOptions = { + method: "GET"; + url: "/users/:username/keys"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListPublicKeysForUserResponseDataItem = { + id: number; + key: string; +}; +declare type UsersListPublicKeysForUserResponseData = Array; +declare type OrgsListForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type OrgsListForUserRequestOptions = { + method: "GET"; + url: "/users/:username/orgs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListForUserResponseDataItem = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type OrgsListForUserResponseData = Array; +declare type ProjectsListForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"inertia">; +declare type ProjectsListForUserRequestOptions = { + method: "GET"; + url: "/users/:username/projects"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsListForUserResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsListForUserResponseDataItem = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: ProjectsListForUserResponseDataItemCreator; + created_at: string; + updated_at: string; +}; +declare type ProjectsListForUserResponseData = Array; +declare type ActivityListReceivedEventsForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListReceivedEventsForUserRequestOptions = { + method: "GET"; + url: "/users/:username/received_events"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListReceivedPublicEventsForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListReceivedPublicEventsForUserRequestOptions = { + method: "GET"; + url: "/users/:username/received_events/public"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Can be one of `all`, `owner`, `member`. + */ + type?: "all" | "owner" | "member"; + /** + * Can be one of `created`, `updated`, `pushed`, `full_name`. + */ + sort?: "created" | "updated" | "pushed" | "full_name"; + /** + * Can be one of `asc` or `desc`. Default: `asc` when using `full_name`, otherwise `desc` + */ + direction?: "asc" | "desc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListForUserRequestOptions = { + method: "GET"; + url: "/users/:username/repos"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListReposStarredByUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * One of `created` (when the repository was starred) or `updated` (when it was last pushed to). + */ + sort?: "created" | "updated"; + /** + * One of `asc` (ascending) or `desc` (descending). + */ + direction?: "asc" | "desc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListReposStarredByUserRequestOptions = { + method: "GET"; + url: "/users/:username/starred"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListReposStarredByUserResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ActivityListReposStarredByUserResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActivityListReposStarredByUserResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActivityListReposStarredByUserResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ActivityListReposStarredByUserResponseDataItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ActivityListReposStarredByUserResponseData = Array; +declare type ActivityListReposWatchedByUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListReposWatchedByUserRequestOptions = { + method: "GET"; + url: "/users/:username/subscriptions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListReposWatchedByUserResponseDataItemLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type ActivityListReposWatchedByUserResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ActivityListReposWatchedByUserResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActivityListReposWatchedByUserResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActivityListReposWatchedByUserResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ActivityListReposWatchedByUserResponseDataItemPermissions; + template_repository: null; + temp_clone_token: string; + subscribers_count: number; + network_count: number; + license: ActivityListReposWatchedByUserResponseDataItemLicense; +}; +declare type ActivityListReposWatchedByUserResponseData = Array; +declare type AppsCreateInstallationTokenParamsPermissions = {}; +declare type GistsCreateParamsFiles = { + content?: string; +}; +declare type GistsUpdateParamsFiles = { + content?: string; + filename?: string; +}; +declare type OrgsCreateHookParamsConfig = { + url: string; + content_type?: string; + secret?: string; + insecure_ssl?: string; +}; +declare type OrgsUpdateHookParamsConfig = { + url: string; + content_type?: string; + secret?: string; + insecure_ssl?: string; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsInOrgParamsGroups = { + group_id: string; + group_name: string; + group_description: string; +}; +declare type ReposUpdateBranchProtectionParamsRequiredStatusChecks = { + strict: boolean; + contexts: string[]; +}; +declare type ReposUpdateBranchProtectionParamsRequiredPullRequestReviews = { + dismissal_restrictions?: ReposUpdateBranchProtectionParamsRequiredPullRequestReviewsDismissalRestrictions; + dismiss_stale_reviews?: boolean; + require_code_owner_reviews?: boolean; + required_approving_review_count?: number; +}; +declare type ReposUpdateBranchProtectionParamsRequiredPullRequestReviewsDismissalRestrictions = { + users?: string[]; + teams?: string[]; +}; +declare type ReposUpdateBranchProtectionParamsRestrictions = { + users: string[]; + teams: string[]; + apps?: string[]; +}; +declare type ReposUpdateProtectedBranchPullRequestReviewEnforcementParamsDismissalRestrictions = { + users?: string[]; + teams?: string[]; +}; +declare type ChecksCreateParamsOutput = { + title: string; + summary: string; + text?: string; + annotations?: ChecksCreateParamsOutputAnnotations[]; + images?: ChecksCreateParamsOutputImages[]; +}; +declare type ChecksCreateParamsOutputAnnotations = { + path: string; + start_line: number; + end_line: number; + start_column?: number; + end_column?: number; + annotation_level: "notice" | "warning" | "failure"; + message: string; + title?: string; + raw_details?: string; +}; +declare type ChecksCreateParamsOutputImages = { + alt: string; + image_url: string; + caption?: string; +}; +declare type ChecksCreateParamsActions = { + label: string; + description: string; + identifier: string; +}; +declare type ChecksUpdateParamsOutput = { + title?: string; + summary: string; + text?: string; + annotations?: ChecksUpdateParamsOutputAnnotations[]; + images?: ChecksUpdateParamsOutputImages[]; +}; +declare type ChecksUpdateParamsOutputAnnotations = { + path: string; + start_line: number; + end_line: number; + start_column?: number; + end_column?: number; + annotation_level: "notice" | "warning" | "failure"; + message: string; + title?: string; + raw_details?: string; +}; +declare type ChecksUpdateParamsOutputImages = { + alt: string; + image_url: string; + caption?: string; +}; +declare type ChecksUpdateParamsActions = { + label: string; + description: string; + identifier: string; +}; +declare type ChecksSetSuitesPreferencesParamsAutoTriggerChecks = { + app_id: number; + setting: boolean; +}; +declare type ReposCreateOrUpdateFileParamsCommitter = { + name: string; + email: string; +}; +declare type ReposCreateOrUpdateFileParamsAuthor = { + name: string; + email: string; +}; +declare type ReposDeleteFileParamsCommitter = { + name?: string; + email?: string; +}; +declare type ReposDeleteFileParamsAuthor = { + name?: string; + email?: string; +}; +declare type ReposCreateDispatchEventParamsClientPayload = {}; +declare type GitCreateCommitParamsAuthor = { + name?: string; + email?: string; + date?: string; +}; +declare type GitCreateCommitParamsCommitter = { + name?: string; + email?: string; + date?: string; +}; +declare type GitCreateTagParamsTagger = { + name?: string; + email?: string; + date?: string; +}; +declare type GitCreateTreeParamsTree = { + path?: string; + mode?: "100644" | "100755" | "040000" | "160000" | "120000"; + type?: "blob" | "tree" | "commit"; + sha?: string | null; + content?: string; +}; +declare type ReposCreateHookParamsConfig = { + url: string; + content_type?: string; + secret?: string; + insecure_ssl?: string; +}; +declare type ReposUpdateHookParamsConfig = { + url: string; + content_type?: string; + secret?: string; + insecure_ssl?: string; +}; +declare type ReposEnablePagesSiteParamsSource = { + branch?: "master" | "gh-pages"; + path?: string; +}; +declare type PullsCreateReviewParamsComments = { + path: string; + position: number; + body: string; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsLegacyParamsGroups = { + group_id: string; + group_name: string; + group_description: string; +}; +export {}; diff --git a/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/index.d.ts b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/index.d.ts new file mode 100644 index 0000000..5d2d5ae --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-types/index.d.ts @@ -0,0 +1,20 @@ +export * from "./AuthInterface"; +export * from "./EndpointDefaults"; +export * from "./EndpointInterface"; +export * from "./EndpointOptions"; +export * from "./Fetch"; +export * from "./OctokitResponse"; +export * from "./RequestHeaders"; +export * from "./RequestInterface"; +export * from "./RequestMethod"; +export * from "./RequestOptions"; +export * from "./RequestParameters"; +export * from "./RequestRequestOptions"; +export * from "./ResponseHeaders"; +export * from "./Route"; +export * from "./Signal"; +export * from "./StrategyInterface"; +export * from "./Url"; +export * from "./VERSION"; +export * from "./GetResponseTypeFromEndpointMethod"; +export * from "./generated/Endpoints"; diff --git a/node_modules/@octokit/rest/node_modules/@octokit/types/dist-web/index.js b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-web/index.js new file mode 100644 index 0000000..3c0cafc --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-web/index.js @@ -0,0 +1,4 @@ +const VERSION = "2.16.2"; + +export { VERSION }; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/rest/node_modules/@octokit/types/dist-web/index.js.map b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-web/index.js.map new file mode 100644 index 0000000..cd0e254 --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/@octokit/types/dist-web/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/VERSION.js"],"sourcesContent":["export const VERSION = \"0.0.0-development\";\n"],"names":[],"mappings":"AAAY,MAAC,OAAO,GAAG;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/rest/node_modules/@octokit/types/package.json b/node_modules/@octokit/rest/node_modules/@octokit/types/package.json new file mode 100644 index 0000000..8ba3016 --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/@octokit/types/package.json @@ -0,0 +1,85 @@ +{ + "_args": [ + [ + "@octokit/types@2.16.2", + "/Users/1112456/github/jenkins-action" + ] + ], + "_from": "@octokit/types@2.16.2", + "_id": "@octokit/types@2.16.2", + "_inBundle": false, + "_integrity": "sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==", + "_location": "/@octokit/rest/@octokit/types", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "@octokit/types@2.16.2", + "name": "@octokit/types", + "escapedName": "@octokit%2ftypes", + "scope": "@octokit", + "rawSpec": "2.16.2", + "saveSpec": null, + "fetchSpec": "2.16.2" + }, + "_requiredBy": [ + "/@octokit/rest/@octokit/request-error" + ], + "_resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz", + "_spec": "2.16.2", + "_where": "/Users/1112456/github/jenkins-action", + "bugs": { + "url": "https://github.com/octokit/types.ts/issues" + }, + "dependencies": { + "@types/node": ">= 8" + }, + "description": "Shared TypeScript definitions for Octokit projects", + "devDependencies": { + "@gimenete/type-writer": "^0.1.5", + "@octokit/graphql": "^4.2.2", + "@pika/pack": "^0.5.0", + "@pika/plugin-build-node": "^0.9.0", + "@pika/plugin-build-web": "^0.9.0", + "@pika/plugin-ts-standard-pkg": "^0.9.0", + "handlebars": "^4.7.6", + "lodash.set": "^4.3.2", + "npm-run-all": "^4.1.5", + "pascal-case": "^3.1.1", + "prettier": "^2.0.0", + "semantic-release": "^17.0.0", + "semantic-release-plugin-update-version-in-files": "^1.0.0", + "sort-keys": "^4.0.0", + "string-to-jsdoc-comment": "^1.0.0", + "typedoc": "^0.17.0", + "typescript": "^3.6.4" + }, + "files": [ + "dist-*/", + "bin/" + ], + "homepage": "https://github.com/octokit/types.ts#readme", + "keywords": [ + "github", + "api", + "sdk", + "toolkit", + "typescript" + ], + "license": "MIT", + "main": "dist-node/index.js", + "module": "dist-web/index.js", + "name": "@octokit/types", + "pika": true, + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/octokit/types.ts.git" + }, + "sideEffects": false, + "source": "dist-src/index.js", + "types": "dist-types/index.d.ts", + "version": "2.16.2" +} diff --git a/node_modules/@octokit/rest/node_modules/universal-user-agent/LICENSE.md b/node_modules/@octokit/rest/node_modules/universal-user-agent/LICENSE.md new file mode 100644 index 0000000..f105ab0 --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/universal-user-agent/LICENSE.md @@ -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. diff --git a/node_modules/@octokit/rest/node_modules/universal-user-agent/README.md b/node_modules/@octokit/rest/node_modules/universal-user-agent/README.md new file mode 100644 index 0000000..d00d14c --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/universal-user-agent/README.md @@ -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) +[![Greenkeeper](https://badges.greenkeeper.io/gr2m/universal-user-agent.svg)](https://greenkeeper.io/) + +```js +const { getUserAgent } = require("universal-user-agent"); +// or import { getUserAgent } from "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) diff --git a/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-node/index.js b/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-node/index.js new file mode 100644 index 0000000..80a0710 --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-node/index.js @@ -0,0 +1,22 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } + +var osName = _interopDefault(require('os-name')); + +function getUserAgent() { + try { + return `Node.js/${process.version.substr(1)} (${osName()}; ${process.arch})`; + } catch (error) { + if (/wmic os get Caption/.test(error.message)) { + return "Windows "; + } + + throw error; + } +} + +exports.getUserAgent = getUserAgent; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-node/index.js.map b/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-node/index.js.map new file mode 100644 index 0000000..aff09ec --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-node/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/node.js"],"sourcesContent":["import osName from \"os-name\";\nexport function getUserAgent() {\n try {\n return `Node.js/${process.version.substr(1)} (${osName()}; ${process.arch})`;\n }\n catch (error) {\n if (/wmic os get Caption/.test(error.message)) {\n return \"Windows \";\n }\n throw error;\n }\n}\n"],"names":["getUserAgent","process","version","substr","osName","arch","error","test","message"],"mappings":";;;;;;;;AACO,SAASA,YAAT,GAAwB;MACvB;WACQ,WAAUC,OAAO,CAACC,OAAR,CAAgBC,MAAhB,CAAuB,CAAvB,CAA0B,KAAIC,MAAM,EAAG,KAAIH,OAAO,CAACI,IAAK,GAA1E;GADJ,CAGA,OAAOC,KAAP,EAAc;QACN,sBAAsBC,IAAtB,CAA2BD,KAAK,CAACE,OAAjC,CAAJ,EAA+C;aACpC,gCAAP;;;UAEEF,KAAN;;;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-src/browser.js b/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-src/browser.js new file mode 100644 index 0000000..49160f9 --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-src/browser.js @@ -0,0 +1,8 @@ +export function getUserAgent() { + try { + return navigator.userAgent; + } + catch (e) { + return ""; + } +} diff --git a/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-src/index.js b/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-src/index.js new file mode 100644 index 0000000..c6253f5 --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-src/index.js @@ -0,0 +1 @@ +export { getUserAgent } from "./node"; diff --git a/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-src/node.js b/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-src/node.js new file mode 100644 index 0000000..8b70a03 --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-src/node.js @@ -0,0 +1,12 @@ +import osName from "os-name"; +export function getUserAgent() { + try { + return `Node.js/${process.version.substr(1)} (${osName()}; ${process.arch})`; + } + catch (error) { + if (/wmic os get Caption/.test(error.message)) { + return "Windows "; + } + throw error; + } +} diff --git a/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-types/browser.d.ts b/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-types/browser.d.ts new file mode 100644 index 0000000..a7bb1c4 --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-types/browser.d.ts @@ -0,0 +1 @@ +export declare function getUserAgent(): string; diff --git a/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-types/index.d.ts b/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-types/index.d.ts new file mode 100644 index 0000000..c6253f5 --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-types/index.d.ts @@ -0,0 +1 @@ +export { getUserAgent } from "./node"; diff --git a/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-types/node.d.ts b/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-types/node.d.ts new file mode 100644 index 0000000..a7bb1c4 --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-types/node.d.ts @@ -0,0 +1 @@ +export declare function getUserAgent(): string; diff --git a/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-web/index.js b/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-web/index.js new file mode 100644 index 0000000..debfd6a --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-web/index.js @@ -0,0 +1,11 @@ +function getUserAgent() { + try { + return navigator.userAgent; + } + catch (e) { + return ""; + } +} + +export { getUserAgent }; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-web/index.js.map b/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-web/index.js.map new file mode 100644 index 0000000..71d4e0f --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-web/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/browser.js"],"sourcesContent":["export function getUserAgent() {\n try {\n return navigator.userAgent;\n }\n catch (e) {\n return \"\";\n }\n}\n"],"names":[],"mappings":"AAAO,SAAS,YAAY,GAAG;IAC3B,IAAI;QACA,OAAO,SAAS,CAAC,SAAS,CAAC;KAC9B;IACD,OAAO,CAAC,EAAE;QACN,OAAO,uBAAuB,CAAC;KAClC;CACJ;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/rest/node_modules/universal-user-agent/package.json b/node_modules/@octokit/rest/node_modules/universal-user-agent/package.json new file mode 100644 index 0000000..7b42980 --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/universal-user-agent/package.json @@ -0,0 +1,68 @@ +{ + "_args": [ + [ + "universal-user-agent@4.0.1", + "/Users/1112456/github/jenkins-action" + ] + ], + "_from": "universal-user-agent@4.0.1", + "_id": "universal-user-agent@4.0.1", + "_inBundle": false, + "_integrity": "sha512-LnST3ebHwVL2aNe4mejI9IQh2HfZ1RLo8Io2HugSif8ekzD1TlWpHpColOB/eh8JHMLkGH3Akqf040I+4ylNxg==", + "_location": "/@octokit/rest/universal-user-agent", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "universal-user-agent@4.0.1", + "name": "universal-user-agent", + "escapedName": "universal-user-agent", + "rawSpec": "4.0.1", + "saveSpec": null, + "fetchSpec": "4.0.1" + }, + "_requiredBy": [ + "/@octokit/rest" + ], + "_resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-4.0.1.tgz", + "_spec": "4.0.1", + "_where": "/Users/1112456/github/jenkins-action", + "bugs": { + "url": "https://github.com/gr2m/universal-user-agent/issues" + }, + "dependencies": { + "os-name": "^3.1.0" + }, + "description": "Get a user agent string in both browser and node", + "devDependencies": { + "@gr2m/pika-plugin-build-web": "^0.6.0-issue-84.1", + "@pika/pack": "^0.5.0", + "@pika/plugin-build-node": "^0.9.1", + "@pika/plugin-ts-standard-pkg": "^0.9.1", + "@types/jest": "^25.1.0", + "jest": "^24.9.0", + "prettier": "^1.18.2", + "semantic-release": "^17.0.0", + "ts-jest": "^25.1.0", + "typescript": "^3.6.2" + }, + "files": [ + "dist-*/", + "bin/" + ], + "homepage": "https://github.com/gr2m/universal-user-agent#readme", + "keywords": [], + "license": "ISC", + "main": "dist-node/index.js", + "module": "dist-web/index.js", + "name": "universal-user-agent", + "pika": true, + "repository": { + "type": "git", + "url": "git+https://github.com/gr2m/universal-user-agent.git" + }, + "sideEffects": false, + "source": "dist-src/index.js", + "types": "dist-types/index.d.ts", + "version": "4.0.1" +} diff --git a/node_modules/@octokit/rest/package.json b/node_modules/@octokit/rest/package.json new file mode 100644 index 0000000..985e075 --- /dev/null +++ b/node_modules/@octokit/rest/package.json @@ -0,0 +1,184 @@ +{ + "_args": [ + [ + "@octokit/rest@16.43.2", + "/Users/1112456/github/jenkins-action" + ] + ], + "_from": "@octokit/rest@16.43.2", + "_id": "@octokit/rest@16.43.2", + "_inBundle": false, + "_integrity": "sha512-ngDBevLbBTFfrHZeiS7SAMAZ6ssuVmXuya+F/7RaVvlysgGa1JKJkKWY+jV6TCJYcW0OALfJ7nTIGXcBXzycfQ==", + "_location": "/@octokit/rest", + "_phantomChildren": { + "@types/node": "14.14.14", + "deprecation": "2.3.1", + "once": "1.4.0", + "os-name": "3.1.0" + }, + "_requested": { + "type": "version", + "registry": true, + "raw": "@octokit/rest@16.43.2", + "name": "@octokit/rest", + "escapedName": "@octokit%2frest", + "scope": "@octokit", + "rawSpec": "16.43.2", + "saveSpec": null, + "fetchSpec": "16.43.2" + }, + "_requiredBy": [ + "/@actions/github" + ], + "_resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-16.43.2.tgz", + "_spec": "16.43.2", + "_where": "/Users/1112456/github/jenkins-action", + "author": { + "name": "Gregor Martynus", + "url": "https://github.com/gr2m" + }, + "bugs": { + "url": "https://github.com/octokit/rest.js/issues" + }, + "bundlesize": [ + { + "path": "./dist/octokit-rest.min.js.gz", + "maxSize": "33 kB" + } + ], + "contributors": [ + { + "name": "Mike de Boer", + "email": "info@mikedeboer.nl" + }, + { + "name": "Fabian Jakobs", + "email": "fabian@c9.io" + }, + { + "name": "Joe Gallo", + "email": "joe@brassafrax.com" + }, + { + "name": "Gregor Martynus", + "url": "https://github.com/gr2m" + } + ], + "dependencies": { + "@octokit/auth-token": "^2.4.0", + "@octokit/plugin-paginate-rest": "^1.1.1", + "@octokit/plugin-request-log": "^1.0.0", + "@octokit/plugin-rest-endpoint-methods": "2.4.0", + "@octokit/request": "^5.2.0", + "@octokit/request-error": "^1.0.2", + "atob-lite": "^2.0.0", + "before-after-hook": "^2.0.0", + "btoa-lite": "^1.0.0", + "deprecation": "^2.0.0", + "lodash.get": "^4.4.2", + "lodash.set": "^4.3.2", + "lodash.uniq": "^4.5.0", + "octokit-pagination-methods": "^1.1.0", + "once": "^1.4.0", + "universal-user-agent": "^4.0.0" + }, + "description": "GitHub REST API client for Node.js", + "devDependencies": { + "@gimenete/type-writer": "^0.1.3", + "@octokit/auth": "^1.1.1", + "@octokit/fixtures-server": "^5.0.6", + "@octokit/graphql": "^4.2.0", + "@types/node": "^13.1.0", + "bundlesize": "^0.18.0", + "chai": "^4.1.2", + "compression-webpack-plugin": "^3.1.0", + "cypress": "^4.0.0", + "glob": "^7.1.2", + "http-proxy-agent": "^4.0.0", + "lodash.camelcase": "^4.3.0", + "lodash.merge": "^4.6.1", + "lodash.upperfirst": "^4.3.1", + "lolex": "^6.0.0", + "mkdirp": "^1.0.0", + "mocha": "^7.0.1", + "mustache": "^4.0.0", + "nock": "^11.3.3", + "npm-run-all": "^4.1.2", + "nyc": "^15.0.0", + "prettier": "^1.14.2", + "proxy": "^1.0.0", + "semantic-release": "^17.0.0", + "sinon": "^8.0.0", + "sinon-chai": "^3.0.0", + "sort-keys": "^4.0.0", + "string-to-arraybuffer": "^1.0.0", + "string-to-jsdoc-comment": "^1.0.0", + "typescript": "^3.3.1", + "webpack": "^4.0.0", + "webpack-bundle-analyzer": "^3.0.0", + "webpack-cli": "^3.0.0" + }, + "files": [ + "index.js", + "index.d.ts", + "lib", + "plugins" + ], + "homepage": "https://github.com/octokit/rest.js#readme", + "keywords": [ + "octokit", + "github", + "rest", + "api-client" + ], + "license": "MIT", + "name": "@octokit/rest", + "nyc": { + "ignore": [ + "test" + ] + }, + "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/rest.js.git" + }, + "scripts": { + "build": "npm-run-all build:*", + "build:browser": "npm-run-all build:browser:*", + "build:browser:development": "webpack --mode development --entry . --output-library=Octokit --output=./dist/octokit-rest.js --profile --json > dist/bundle-stats.json", + "build:browser:production": "webpack --mode production --entry . --plugin=compression-webpack-plugin --output-library=Octokit --output-path=./dist --output-filename=octokit-rest.min.js --devtool source-map", + "build:ts": "npm run -s update-endpoints:typescript", + "coverage": "nyc report --reporter=html && open coverage/index.html", + "generate-bundle-report": "webpack-bundle-analyzer dist/bundle-stats.json --mode=static --no-open --report dist/bundle-report.html", + "lint": "prettier --check '{lib,plugins,scripts,test}/**/*.{js,json,ts}' 'docs/*.{js,json}' 'docs/src/**/*' index.js README.md package.json", + "lint:fix": "prettier --write '{lib,plugins,scripts,test}/**/*.{js,json,ts}' 'docs/*.{js,json}' 'docs/src/**/*' index.js README.md package.json", + "postvalidate:ts": "tsc --noEmit --target es6 test/typescript-validate.ts", + "prebuild:browser": "mkdirp dist/", + "pretest": "npm run -s lint", + "prevalidate:ts": "npm run -s build:ts", + "start-fixtures-server": "octokit-fixtures-server", + "test": "nyc mocha test/mocha-node-setup.js \"test/*/**/*-test.js\"", + "test:browser": "cypress run --browser chrome", + "update-endpoints": "npm-run-all update-endpoints:*", + "update-endpoints:fetch-json": "node scripts/update-endpoints/fetch-json", + "update-endpoints:typescript": "node scripts/update-endpoints/typescript", + "validate:ts": "tsc --target es6 --noImplicitAny index.d.ts" + }, + "types": "index.d.ts", + "version": "16.43.2" +} diff --git a/node_modules/@octokit/rest/plugins/authentication-deprecated/authenticate.js b/node_modules/@octokit/rest/plugins/authentication-deprecated/authenticate.js new file mode 100644 index 0000000..86ce9e9 --- /dev/null +++ b/node_modules/@octokit/rest/plugins/authentication-deprecated/authenticate.js @@ -0,0 +1,52 @@ +module.exports = authenticate; + +const { Deprecation } = require("deprecation"); +const once = require("once"); + +const deprecateAuthenticate = once((log, deprecation) => log.warn(deprecation)); + +function authenticate(state, options) { + deprecateAuthenticate( + state.octokit.log, + new Deprecation( + '[@octokit/rest] octokit.authenticate() is deprecated. Use "auth" constructor option instead.' + ) + ); + + if (!options) { + state.auth = false; + return; + } + + switch (options.type) { + case "basic": + if (!options.username || !options.password) { + throw new Error( + "Basic authentication requires both a username and password to be set" + ); + } + break; + + case "oauth": + if (!options.token && !(options.key && options.secret)) { + throw new Error( + "OAuth2 authentication requires a token or key & secret to be set" + ); + } + break; + + case "token": + case "app": + if (!options.token) { + throw new Error("Token authentication requires a token to be set"); + } + break; + + default: + throw new Error( + "Invalid authentication type, must be 'basic', 'oauth', 'token' or 'app'" + ); + } + + state.auth = options; +} diff --git a/node_modules/@octokit/rest/plugins/authentication-deprecated/before-request.js b/node_modules/@octokit/rest/plugins/authentication-deprecated/before-request.js new file mode 100644 index 0000000..dbb83ab --- /dev/null +++ b/node_modules/@octokit/rest/plugins/authentication-deprecated/before-request.js @@ -0,0 +1,43 @@ +module.exports = authenticationBeforeRequest; + +const btoa = require("btoa-lite"); +const uniq = require("lodash.uniq"); + +function authenticationBeforeRequest(state, options) { + if (!state.auth.type) { + return; + } + + if (state.auth.type === "basic") { + const hash = btoa(`${state.auth.username}:${state.auth.password}`); + options.headers.authorization = `Basic ${hash}`; + return; + } + + if (state.auth.type === "token") { + options.headers.authorization = `token ${state.auth.token}`; + return; + } + + if (state.auth.type === "app") { + options.headers.authorization = `Bearer ${state.auth.token}`; + const acceptHeaders = options.headers.accept + .split(",") + .concat("application/vnd.github.machine-man-preview+json"); + options.headers.accept = uniq(acceptHeaders) + .filter(Boolean) + .join(","); + return; + } + + options.url += options.url.indexOf("?") === -1 ? "?" : "&"; + + if (state.auth.token) { + options.url += `access_token=${encodeURIComponent(state.auth.token)}`; + return; + } + + const key = encodeURIComponent(state.auth.key); + const secret = encodeURIComponent(state.auth.secret); + options.url += `client_id=${key}&client_secret=${secret}`; +} diff --git a/node_modules/@octokit/rest/plugins/authentication-deprecated/index.js b/node_modules/@octokit/rest/plugins/authentication-deprecated/index.js new file mode 100644 index 0000000..7e0cc4f --- /dev/null +++ b/node_modules/@octokit/rest/plugins/authentication-deprecated/index.js @@ -0,0 +1,31 @@ +module.exports = authenticationPlugin; + +const { Deprecation } = require("deprecation"); +const once = require("once"); + +const deprecateAuthenticate = once((log, deprecation) => log.warn(deprecation)); + +const authenticate = require("./authenticate"); +const beforeRequest = require("./before-request"); +const requestError = require("./request-error"); + +function authenticationPlugin(octokit, options) { + if (options.auth) { + octokit.authenticate = () => { + deprecateAuthenticate( + octokit.log, + new Deprecation( + '[@octokit/rest] octokit.authenticate() is deprecated and has no effect when "auth" option is set on Octokit constructor' + ) + ); + }; + return; + } + const state = { + octokit, + auth: false + }; + octokit.authenticate = authenticate.bind(null, state); + octokit.hook.before("request", beforeRequest.bind(null, state)); + octokit.hook.error("request", requestError.bind(null, state)); +} diff --git a/node_modules/@octokit/rest/plugins/authentication-deprecated/request-error.js b/node_modules/@octokit/rest/plugins/authentication-deprecated/request-error.js new file mode 100644 index 0000000..d2e7baa --- /dev/null +++ b/node_modules/@octokit/rest/plugins/authentication-deprecated/request-error.js @@ -0,0 +1,55 @@ +module.exports = authenticationRequestError; + +const { RequestError } = require("@octokit/request-error"); + +function authenticationRequestError(state, error, options) { + /* istanbul ignore next */ + if (!error.headers) throw error; + + const otpRequired = /required/.test(error.headers["x-github-otp"] || ""); + // handle "2FA required" error only + if (error.status !== 401 || !otpRequired) { + throw error; + } + + if ( + error.status === 401 && + otpRequired && + error.request && + error.request.headers["x-github-otp"] + ) { + throw new RequestError( + "Invalid one-time password for two-factor authentication", + 401, + { + headers: error.headers, + request: options + } + ); + } + + if (typeof state.auth.on2fa !== "function") { + throw new RequestError( + "2FA required, but options.on2fa is not a function. See https://github.com/octokit/rest.js#authentication", + 401, + { + headers: error.headers, + request: options + } + ); + } + + return Promise.resolve() + .then(() => { + return state.auth.on2fa(); + }) + .then(oneTimePassword => { + const newOptions = Object.assign(options, { + headers: Object.assign( + { "x-github-otp": oneTimePassword }, + options.headers + ) + }); + return state.octokit.request(newOptions); + }); +} diff --git a/node_modules/@octokit/rest/plugins/authentication/before-request.js b/node_modules/@octokit/rest/plugins/authentication/before-request.js new file mode 100644 index 0000000..aae5daa --- /dev/null +++ b/node_modules/@octokit/rest/plugins/authentication/before-request.js @@ -0,0 +1,53 @@ +module.exports = authenticationBeforeRequest; + +const btoa = require("btoa-lite"); + +const withAuthorizationPrefix = require("./with-authorization-prefix"); + +function authenticationBeforeRequest(state, options) { + if (typeof state.auth === "string") { + options.headers.authorization = withAuthorizationPrefix(state.auth); + return; + } + + if (state.auth.username) { + const hash = btoa(`${state.auth.username}:${state.auth.password}`); + options.headers.authorization = `Basic ${hash}`; + if (state.otp) { + options.headers["x-github-otp"] = state.otp; + } + return; + } + + if (state.auth.clientId) { + // There is a special case for OAuth applications, when `clientId` and `clientSecret` is passed as + // Basic Authorization instead of query parameters. The only routes where that applies share the same + // URL though: `/applications/:client_id/tokens/:access_token`. + // + // 1. [Check an authorization](https://developer.github.com/v3/oauth_authorizations/#check-an-authorization) + // 2. [Reset an authorization](https://developer.github.com/v3/oauth_authorizations/#reset-an-authorization) + // 3. [Revoke an authorization for an application](https://developer.github.com/v3/oauth_authorizations/#revoke-an-authorization-for-an-application) + // + // We identify by checking the URL. It must merge both "/applications/:client_id/tokens/:access_token" + // as well as "/applications/123/tokens/token456" + if (/\/applications\/:?[\w_]+\/tokens\/:?[\w_]+($|\?)/.test(options.url)) { + const hash = btoa(`${state.auth.clientId}:${state.auth.clientSecret}`); + options.headers.authorization = `Basic ${hash}`; + return; + } + + options.url += options.url.indexOf("?") === -1 ? "?" : "&"; + options.url += `client_id=${state.auth.clientId}&client_secret=${state.auth.clientSecret}`; + return; + } + + return Promise.resolve() + + .then(() => { + return state.auth(); + }) + + .then(authorization => { + options.headers.authorization = withAuthorizationPrefix(authorization); + }); +} diff --git a/node_modules/@octokit/rest/plugins/authentication/index.js b/node_modules/@octokit/rest/plugins/authentication/index.js new file mode 100644 index 0000000..6dcb859 --- /dev/null +++ b/node_modules/@octokit/rest/plugins/authentication/index.js @@ -0,0 +1,76 @@ +module.exports = authenticationPlugin; + +const { createTokenAuth } = require("@octokit/auth-token"); +const { Deprecation } = require("deprecation"); +const once = require("once"); + +const beforeRequest = require("./before-request"); +const requestError = require("./request-error"); +const validate = require("./validate"); +const withAuthorizationPrefix = require("./with-authorization-prefix"); + +const deprecateAuthBasic = once((log, deprecation) => log.warn(deprecation)); +const deprecateAuthObject = once((log, deprecation) => log.warn(deprecation)); + +function authenticationPlugin(octokit, options) { + // If `options.authStrategy` is set then use it and pass in `options.auth` + if (options.authStrategy) { + const auth = options.authStrategy(options.auth); + octokit.hook.wrap("request", auth.hook); + octokit.auth = auth; + return; + } + + // If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance + // is unauthenticated. The `octokit.auth()` method is a no-op and no request hook is registred. + if (!options.auth) { + octokit.auth = () => + Promise.resolve({ + type: "unauthenticated" + }); + return; + } + + const isBasicAuthString = + typeof options.auth === "string" && + /^basic/.test(withAuthorizationPrefix(options.auth)); + + // If only `options.auth` is set to a string, use the default token authentication strategy. + if (typeof options.auth === "string" && !isBasicAuthString) { + const auth = createTokenAuth(options.auth); + octokit.hook.wrap("request", auth.hook); + octokit.auth = auth; + return; + } + + // Otherwise log a deprecation message + const [deprecationMethod, deprecationMessapge] = isBasicAuthString + ? [ + deprecateAuthBasic, + 'Setting the "new Octokit({ auth })" option to a Basic Auth string is deprecated. Use https://github.com/octokit/auth-basic.js instead. See (https://octokit.github.io/rest.js/#authentication)' + ] + : [ + deprecateAuthObject, + 'Setting the "new Octokit({ auth })" option to an object without also setting the "authStrategy" option is deprecated and will be removed in v17. See (https://octokit.github.io/rest.js/#authentication)' + ]; + deprecationMethod( + octokit.log, + new Deprecation("[@octokit/rest] " + deprecationMessapge) + ); + + octokit.auth = () => + Promise.resolve({ + type: "deprecated", + message: deprecationMessapge + }); + + validate(options.auth); + + const state = { + octokit, + auth: options.auth + }; + + octokit.hook.before("request", beforeRequest.bind(null, state)); + octokit.hook.error("request", requestError.bind(null, state)); +} diff --git a/node_modules/@octokit/rest/plugins/authentication/request-error.js b/node_modules/@octokit/rest/plugins/authentication/request-error.js new file mode 100644 index 0000000..9c67d55 --- /dev/null +++ b/node_modules/@octokit/rest/plugins/authentication/request-error.js @@ -0,0 +1,61 @@ +module.exports = authenticationRequestError; + +const { RequestError } = require("@octokit/request-error"); + +function authenticationRequestError(state, error, options) { + if (!error.headers) throw error; + + const otpRequired = /required/.test(error.headers["x-github-otp"] || ""); + // handle "2FA required" error only + if (error.status !== 401 || !otpRequired) { + throw error; + } + + if ( + error.status === 401 && + otpRequired && + error.request && + error.request.headers["x-github-otp"] + ) { + if (state.otp) { + delete state.otp; // no longer valid, request again + } else { + throw new RequestError( + "Invalid one-time password for two-factor authentication", + 401, + { + headers: error.headers, + request: options + } + ); + } + } + + if (typeof state.auth.on2fa !== "function") { + throw new RequestError( + "2FA required, but options.on2fa is not a function. See https://github.com/octokit/rest.js#authentication", + 401, + { + headers: error.headers, + request: options + } + ); + } + + return Promise.resolve() + .then(() => { + return state.auth.on2fa(); + }) + .then(oneTimePassword => { + const newOptions = Object.assign(options, { + headers: Object.assign(options.headers, { + "x-github-otp": oneTimePassword + }) + }); + return state.octokit.request(newOptions).then(response => { + // If OTP still valid, then persist it for following requests + state.otp = oneTimePassword; + return response; + }); + }); +} diff --git a/node_modules/@octokit/rest/plugins/authentication/validate.js b/node_modules/@octokit/rest/plugins/authentication/validate.js new file mode 100644 index 0000000..abf8377 --- /dev/null +++ b/node_modules/@octokit/rest/plugins/authentication/validate.js @@ -0,0 +1,21 @@ +module.exports = validateAuth; + +function validateAuth(auth) { + if (typeof auth === "string") { + return; + } + + if (typeof auth === "function") { + return; + } + + if (auth.username && auth.password) { + return; + } + + if (auth.clientId && auth.clientSecret) { + return; + } + + throw new Error(`Invalid "auth" option: ${JSON.stringify(auth)}`); +} diff --git a/node_modules/@octokit/rest/plugins/authentication/with-authorization-prefix.js b/node_modules/@octokit/rest/plugins/authentication/with-authorization-prefix.js new file mode 100644 index 0000000..122cab7 --- /dev/null +++ b/node_modules/@octokit/rest/plugins/authentication/with-authorization-prefix.js @@ -0,0 +1,23 @@ +module.exports = withAuthorizationPrefix; + +const atob = require("atob-lite"); + +const REGEX_IS_BASIC_AUTH = /^[\w-]+:/; + +function withAuthorizationPrefix(authorization) { + if (/^(basic|bearer|token) /i.test(authorization)) { + return authorization; + } + + try { + if (REGEX_IS_BASIC_AUTH.test(atob(authorization))) { + return `basic ${authorization}`; + } + } catch (error) {} + + if (authorization.split(/\./).length === 3) { + return `bearer ${authorization}`; + } + + return `token ${authorization}`; +} diff --git a/node_modules/@octokit/rest/plugins/pagination/index.js b/node_modules/@octokit/rest/plugins/pagination/index.js new file mode 100644 index 0000000..f5a3f7b --- /dev/null +++ b/node_modules/@octokit/rest/plugins/pagination/index.js @@ -0,0 +1,7 @@ +module.exports = paginatePlugin; + +const { paginateRest } = require("@octokit/plugin-paginate-rest"); + +function paginatePlugin(octokit) { + Object.assign(octokit, paginateRest(octokit)); +} diff --git a/node_modules/@octokit/rest/plugins/validate/index.js b/node_modules/@octokit/rest/plugins/validate/index.js new file mode 100644 index 0000000..9954751 --- /dev/null +++ b/node_modules/@octokit/rest/plugins/validate/index.js @@ -0,0 +1,7 @@ +module.exports = octokitValidate; + +const validate = require("./validate"); + +function octokitValidate(octokit) { + octokit.hook.before("request", validate.bind(null, octokit)); +} diff --git a/node_modules/@octokit/rest/plugins/validate/validate.js b/node_modules/@octokit/rest/plugins/validate/validate.js new file mode 100644 index 0000000..00b3008 --- /dev/null +++ b/node_modules/@octokit/rest/plugins/validate/validate.js @@ -0,0 +1,151 @@ +"use strict"; + +module.exports = validate; + +const { RequestError } = require("@octokit/request-error"); +const get = require("lodash.get"); +const set = require("lodash.set"); + +function validate(octokit, options) { + if (!options.request.validate) { + return; + } + const { validate: params } = options.request; + + Object.keys(params).forEach(parameterName => { + const parameter = get(params, parameterName); + + const expectedType = parameter.type; + let parentParameterName; + let parentValue; + let parentParamIsPresent = true; + let parentParameterIsArray = false; + + if (/\./.test(parameterName)) { + parentParameterName = parameterName.replace(/\.[^.]+$/, ""); + parentParameterIsArray = parentParameterName.slice(-2) === "[]"; + if (parentParameterIsArray) { + parentParameterName = parentParameterName.slice(0, -2); + } + parentValue = get(options, parentParameterName); + parentParamIsPresent = + parentParameterName === "headers" || + (typeof parentValue === "object" && parentValue !== null); + } + + const values = parentParameterIsArray + ? (get(options, parentParameterName) || []).map( + value => value[parameterName.split(/\./).pop()] + ) + : [get(options, parameterName)]; + + values.forEach((value, i) => { + const valueIsPresent = typeof value !== "undefined"; + const valueIsNull = value === null; + const currentParameterName = parentParameterIsArray + ? parameterName.replace(/\[\]/, `[${i}]`) + : parameterName; + + if (!parameter.required && !valueIsPresent) { + return; + } + + // if the parent parameter is of type object but allows null + // then the child parameters can be ignored + if (!parentParamIsPresent) { + return; + } + + if (parameter.allowNull && valueIsNull) { + return; + } + + if (!parameter.allowNull && valueIsNull) { + throw new RequestError( + `'${currentParameterName}' cannot be null`, + 400, + { + request: options + } + ); + } + + if (parameter.required && !valueIsPresent) { + throw new RequestError( + `Empty value for parameter '${currentParameterName}': ${JSON.stringify( + value + )}`, + 400, + { + request: options + } + ); + } + + // parse to integer before checking for enum + // so that string "1" will match enum with number 1 + if (expectedType === "integer") { + const unparsedValue = value; + value = parseInt(value, 10); + if (isNaN(value)) { + throw new RequestError( + `Invalid value for parameter '${currentParameterName}': ${JSON.stringify( + unparsedValue + )} is NaN`, + 400, + { + request: options + } + ); + } + } + + if (parameter.enum && parameter.enum.indexOf(String(value)) === -1) { + throw new RequestError( + `Invalid value for parameter '${currentParameterName}': ${JSON.stringify( + value + )}`, + 400, + { + request: options + } + ); + } + + if (parameter.validation) { + const regex = new RegExp(parameter.validation); + if (!regex.test(value)) { + throw new RequestError( + `Invalid value for parameter '${currentParameterName}': ${JSON.stringify( + value + )}`, + 400, + { + request: options + } + ); + } + } + + if (expectedType === "object" && typeof value === "string") { + try { + value = JSON.parse(value); + } catch (exception) { + throw new RequestError( + `JSON parse error of value for parameter '${currentParameterName}': ${JSON.stringify( + value + )}`, + 400, + { + request: options + } + ); + } + } + + set(options, parameter.mapTo || currentParameterName, value); + }); + }); + + return options; +} diff --git a/node_modules/@octokit/types/LICENSE b/node_modules/@octokit/types/LICENSE new file mode 100644 index 0000000..57bee5f --- /dev/null +++ b/node_modules/@octokit/types/LICENSE @@ -0,0 +1,7 @@ +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 (including the next paragraph) 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. diff --git a/node_modules/@octokit/types/README.md b/node_modules/@octokit/types/README.md new file mode 100644 index 0000000..3c34447 --- /dev/null +++ b/node_modules/@octokit/types/README.md @@ -0,0 +1,64 @@ +# types.ts + +> Shared TypeScript definitions for Octokit projects + +[![@latest](https://img.shields.io/npm/v/@octokit/types.svg)](https://www.npmjs.com/package/@octokit/types) +[![Build Status](https://github.com/octokit/types.ts/workflows/Test/badge.svg)](https://github.com/octokit/types.ts/actions?workflow=Test) + + + +- [Usage](#usage) +- [Examples](#examples) + - [Get parameter and response data types for a REST API endpoint](#get-parameter-and-response-data-types-for-a-rest-api-endpoint) + - [Get response types from endpoint methods](#get-response-types-from-endpoint-methods) +- [Contributing](#contributing) +- [License](#license) + + + +## Usage + +See all exported types at https://octokit.github.io/types.ts + +## Examples + +### Get parameter and response data types for a REST API endpoint + +```ts +import { Endpoints } from "@octokit/types"; + +type listUserReposParameters = Endpoints["GET /repos/{owner}/{repo}"]["parameters"]; +type listUserReposResponse = Endpoints["GET /repos/{owner}/{repo}"]["response"]; + +async function listRepos( + options: listUserReposParameters +): listUserReposResponse["data"] { + // ... +} +``` + +### Get response types from endpoint methods + +```ts +import { + GetResponseTypeFromEndpointMethod, + GetResponseDataTypeFromEndpointMethod, +} from "@octokit/types"; +import { Octokit } from "@octokit/rest"; + +const octokit = new Octokit(); +type CreateLabelResponseType = GetResponseTypeFromEndpointMethod< + typeof octokit.issues.createLabel +>; +type CreateLabelResponseDataType = GetResponseDataTypeFromEndpointMethod< + typeof octokit.issues.createLabel +>; +``` + +## Contributing + +See [CONTRIBUTING.md](CONTRIBUTING.md) + +## License + +[MIT](LICENSE) diff --git a/node_modules/@octokit/types/dist-node/index.js b/node_modules/@octokit/types/dist-node/index.js new file mode 100644 index 0000000..974ab9b --- /dev/null +++ b/node_modules/@octokit/types/dist-node/index.js @@ -0,0 +1,8 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +const VERSION = "6.1.2"; + +exports.VERSION = VERSION; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/types/dist-node/index.js.map b/node_modules/@octokit/types/dist-node/index.js.map new file mode 100644 index 0000000..2d148d3 --- /dev/null +++ b/node_modules/@octokit/types/dist-node/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/VERSION.js"],"sourcesContent":["export const VERSION = \"0.0.0-development\";\n"],"names":["VERSION"],"mappings":";;;;MAAaA,OAAO,GAAG;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/types/dist-src/AuthInterface.js b/node_modules/@octokit/types/dist-src/AuthInterface.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/node_modules/@octokit/types/dist-src/AuthInterface.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/EndpointDefaults.js b/node_modules/@octokit/types/dist-src/EndpointDefaults.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/node_modules/@octokit/types/dist-src/EndpointDefaults.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/EndpointInterface.js b/node_modules/@octokit/types/dist-src/EndpointInterface.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/node_modules/@octokit/types/dist-src/EndpointInterface.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/EndpointOptions.js b/node_modules/@octokit/types/dist-src/EndpointOptions.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/node_modules/@octokit/types/dist-src/EndpointOptions.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/Fetch.js b/node_modules/@octokit/types/dist-src/Fetch.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/node_modules/@octokit/types/dist-src/Fetch.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js b/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/OctokitResponse.js b/node_modules/@octokit/types/dist-src/OctokitResponse.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/node_modules/@octokit/types/dist-src/OctokitResponse.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/RequestError.js b/node_modules/@octokit/types/dist-src/RequestError.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/node_modules/@octokit/types/dist-src/RequestError.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/RequestHeaders.js b/node_modules/@octokit/types/dist-src/RequestHeaders.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/node_modules/@octokit/types/dist-src/RequestHeaders.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/RequestInterface.js b/node_modules/@octokit/types/dist-src/RequestInterface.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/node_modules/@octokit/types/dist-src/RequestInterface.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/RequestMethod.js b/node_modules/@octokit/types/dist-src/RequestMethod.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/node_modules/@octokit/types/dist-src/RequestMethod.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/RequestOptions.js b/node_modules/@octokit/types/dist-src/RequestOptions.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/node_modules/@octokit/types/dist-src/RequestOptions.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/RequestParameters.js b/node_modules/@octokit/types/dist-src/RequestParameters.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/node_modules/@octokit/types/dist-src/RequestParameters.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/RequestRequestOptions.js b/node_modules/@octokit/types/dist-src/RequestRequestOptions.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/node_modules/@octokit/types/dist-src/RequestRequestOptions.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/ResponseHeaders.js b/node_modules/@octokit/types/dist-src/ResponseHeaders.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/node_modules/@octokit/types/dist-src/ResponseHeaders.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/Route.js b/node_modules/@octokit/types/dist-src/Route.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/node_modules/@octokit/types/dist-src/Route.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/Signal.js b/node_modules/@octokit/types/dist-src/Signal.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/node_modules/@octokit/types/dist-src/Signal.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/StrategyInterface.js b/node_modules/@octokit/types/dist-src/StrategyInterface.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/node_modules/@octokit/types/dist-src/StrategyInterface.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/Url.js b/node_modules/@octokit/types/dist-src/Url.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/node_modules/@octokit/types/dist-src/Url.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/VERSION.js b/node_modules/@octokit/types/dist-src/VERSION.js new file mode 100644 index 0000000..272c109 --- /dev/null +++ b/node_modules/@octokit/types/dist-src/VERSION.js @@ -0,0 +1 @@ +export const VERSION = "6.1.2"; diff --git a/node_modules/@octokit/types/dist-src/generated/Endpoints.js b/node_modules/@octokit/types/dist-src/generated/Endpoints.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/node_modules/@octokit/types/dist-src/generated/Endpoints.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/index.js b/node_modules/@octokit/types/dist-src/index.js new file mode 100644 index 0000000..004ae9b --- /dev/null +++ b/node_modules/@octokit/types/dist-src/index.js @@ -0,0 +1,21 @@ +export * from "./AuthInterface"; +export * from "./EndpointDefaults"; +export * from "./EndpointInterface"; +export * from "./EndpointOptions"; +export * from "./Fetch"; +export * from "./OctokitResponse"; +export * from "./RequestError"; +export * from "./RequestHeaders"; +export * from "./RequestInterface"; +export * from "./RequestMethod"; +export * from "./RequestOptions"; +export * from "./RequestParameters"; +export * from "./RequestRequestOptions"; +export * from "./ResponseHeaders"; +export * from "./Route"; +export * from "./Signal"; +export * from "./StrategyInterface"; +export * from "./Url"; +export * from "./VERSION"; +export * from "./GetResponseTypeFromEndpointMethod"; +export * from "./generated/Endpoints"; diff --git a/node_modules/@octokit/types/dist-types/AuthInterface.d.ts b/node_modules/@octokit/types/dist-types/AuthInterface.d.ts new file mode 100644 index 0000000..8b39d61 --- /dev/null +++ b/node_modules/@octokit/types/dist-types/AuthInterface.d.ts @@ -0,0 +1,31 @@ +import { EndpointOptions } from "./EndpointOptions"; +import { OctokitResponse } from "./OctokitResponse"; +import { RequestInterface } from "./RequestInterface"; +import { RequestParameters } from "./RequestParameters"; +import { Route } from "./Route"; +/** + * Interface to implement complex authentication strategies for Octokit. + * An object Implementing the AuthInterface can directly be passed as the + * `auth` option in the Octokit constructor. + * + * For the official implementations of the most common authentication + * strategies, see https://github.com/octokit/auth.js + */ +export interface AuthInterface { + (...args: AuthOptions): Promise; + hook: { + /** + * Sends a request using the passed `request` instance + * + * @param {object} endpoint Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (request: RequestInterface, options: EndpointOptions): Promise>; + /** + * Sends a request using the passed `request` instance + * + * @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`. + */ + (request: RequestInterface, route: Route, parameters?: RequestParameters): Promise>; + }; +} diff --git a/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts b/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts new file mode 100644 index 0000000..a2c2307 --- /dev/null +++ b/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts @@ -0,0 +1,21 @@ +import { RequestHeaders } from "./RequestHeaders"; +import { RequestMethod } from "./RequestMethod"; +import { RequestParameters } from "./RequestParameters"; +import { Url } from "./Url"; +/** + * The `.endpoint()` method is guaranteed to set all keys defined by RequestParameters + * as well as the method property. + */ +export declare type EndpointDefaults = RequestParameters & { + baseUrl: Url; + method: RequestMethod; + url?: Url; + headers: RequestHeaders & { + accept: string; + "user-agent": string; + }; + mediaType: { + format: string; + previews: string[]; + }; +}; diff --git a/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts b/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts new file mode 100644 index 0000000..d7b4009 --- /dev/null +++ b/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts @@ -0,0 +1,65 @@ +import { EndpointDefaults } from "./EndpointDefaults"; +import { RequestOptions } from "./RequestOptions"; +import { RequestParameters } from "./RequestParameters"; +import { Route } from "./Route"; +import { Endpoints } from "./generated/Endpoints"; +export interface EndpointInterface { + /** + * Transforms a GitHub REST API endpoint into generic request options + * + * @param {object} endpoint Must set `url` unless it's set defaults. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (options: O & { + method?: string; + } & ("url" extends keyof D ? { + url?: string; + } : { + url: string; + })): RequestOptions & Pick; + /** + * 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`. + */ + (route: keyof Endpoints | R, parameters?: P): (R extends keyof Endpoints ? Endpoints[R]["request"] : RequestOptions) & Pick; + /** + * Object with current default route and parameters + */ + DEFAULTS: D & EndpointDefaults; + /** + * Returns a new `endpoint` interface with new defaults + */ + defaults: (newDefaults: O) => EndpointInterface; + 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: keyof Endpoints | R, parameters?: P): D & (R extends keyof Endpoints ? Endpoints[R]["request"] & Endpoints[R]["parameters"] : EndpointDefaults) & P; + /** + * 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: P): EndpointDefaults & D & P; + /** + * Returns current default options. + * + * @deprecated use endpoint.DEFAULTS instead + */ + (): D & EndpointDefaults; + }; + /** + * 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: O) => RequestOptions & Pick; +} diff --git a/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts b/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts new file mode 100644 index 0000000..b1b91f1 --- /dev/null +++ b/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts @@ -0,0 +1,7 @@ +import { RequestMethod } from "./RequestMethod"; +import { Url } from "./Url"; +import { RequestParameters } from "./RequestParameters"; +export declare type EndpointOptions = RequestParameters & { + method: RequestMethod; + url: Url; +}; diff --git a/node_modules/@octokit/types/dist-types/Fetch.d.ts b/node_modules/@octokit/types/dist-types/Fetch.d.ts new file mode 100644 index 0000000..cbbd5e8 --- /dev/null +++ b/node_modules/@octokit/types/dist-types/Fetch.d.ts @@ -0,0 +1,4 @@ +/** + * Browser's fetch method (or compatible such as fetch-mock) + */ +export declare type Fetch = any; diff --git a/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts b/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts new file mode 100644 index 0000000..70e1a8d --- /dev/null +++ b/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts @@ -0,0 +1,5 @@ +declare type Unwrap = T extends Promise ? U : T; +declare type AnyFunction = (...args: any[]) => any; +export declare type GetResponseTypeFromEndpointMethod = Unwrap>; +export declare type GetResponseDataTypeFromEndpointMethod = Unwrap>["data"]; +export {}; diff --git a/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts b/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts new file mode 100644 index 0000000..19ffff8 --- /dev/null +++ b/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts @@ -0,0 +1,17 @@ +import { ResponseHeaders } from "./ResponseHeaders"; +import { Url } from "./Url"; +export declare type OctokitResponse = { + headers: ResponseHeaders; + /** + * http response code + */ + status: S; + /** + * URL of response after all redirects + */ + url: Url; + /** + * This is the data you would see in https://developer.Octokit.com/v3/ + */ + data: T; +}; diff --git a/node_modules/@octokit/types/dist-types/RequestError.d.ts b/node_modules/@octokit/types/dist-types/RequestError.d.ts new file mode 100644 index 0000000..89174e6 --- /dev/null +++ b/node_modules/@octokit/types/dist-types/RequestError.d.ts @@ -0,0 +1,11 @@ +export declare type RequestError = { + name: string; + status: number; + documentation_url: string; + errors?: Array<{ + resource: string; + code: string; + field: string; + message?: string; + }>; +}; diff --git a/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts b/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts new file mode 100644 index 0000000..ac5aae0 --- /dev/null +++ b/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts @@ -0,0 +1,15 @@ +export declare type RequestHeaders = { + /** + * Avoid setting `headers.accept`, use `mediaType.{format|previews}` option 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; +}; diff --git a/node_modules/@octokit/types/dist-types/RequestInterface.d.ts b/node_modules/@octokit/types/dist-types/RequestInterface.d.ts new file mode 100644 index 0000000..851811f --- /dev/null +++ b/node_modules/@octokit/types/dist-types/RequestInterface.d.ts @@ -0,0 +1,34 @@ +import { EndpointInterface } from "./EndpointInterface"; +import { OctokitResponse } from "./OctokitResponse"; +import { RequestParameters } from "./RequestParameters"; +import { Route } from "./Route"; +import { Endpoints } from "./generated/Endpoints"; +export interface RequestInterface { + /** + * Sends a request based on endpoint 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: O & { + method?: string; + } & ("url" extends keyof D ? { + url?: string; + } : { + url: string; + })): Promise>; + /** + * Sends a request based on endpoint 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: keyof Endpoints | R, options?: R extends keyof Endpoints ? Endpoints[R]["parameters"] & RequestParameters : RequestParameters): R extends keyof Endpoints ? Promise : Promise>; + /** + * Returns a new `request` with updated route and parameters + */ + defaults: (newDefaults: O) => RequestInterface; + /** + * Octokit endpoint API, see {@link https://github.com/octokit/endpoint.js|@octokit/endpoint} + */ + endpoint: EndpointInterface; +} diff --git a/node_modules/@octokit/types/dist-types/RequestMethod.d.ts b/node_modules/@octokit/types/dist-types/RequestMethod.d.ts new file mode 100644 index 0000000..e999c8d --- /dev/null +++ b/node_modules/@octokit/types/dist-types/RequestMethod.d.ts @@ -0,0 +1,4 @@ +/** + * HTTP Verb supported by GitHub's REST API + */ +export declare type RequestMethod = "DELETE" | "GET" | "HEAD" | "PATCH" | "POST" | "PUT"; diff --git a/node_modules/@octokit/types/dist-types/RequestOptions.d.ts b/node_modules/@octokit/types/dist-types/RequestOptions.d.ts new file mode 100644 index 0000000..97e2181 --- /dev/null +++ b/node_modules/@octokit/types/dist-types/RequestOptions.d.ts @@ -0,0 +1,14 @@ +import { RequestHeaders } from "./RequestHeaders"; +import { RequestMethod } from "./RequestMethod"; +import { RequestRequestOptions } from "./RequestRequestOptions"; +import { Url } from "./Url"; +/** + * Generic request options as they are returned by the `endpoint()` method + */ +export declare type RequestOptions = { + method: RequestMethod; + url: Url; + headers: RequestHeaders; + body?: any; + request?: RequestRequestOptions; +}; diff --git a/node_modules/@octokit/types/dist-types/RequestParameters.d.ts b/node_modules/@octokit/types/dist-types/RequestParameters.d.ts new file mode 100644 index 0000000..b056a0e --- /dev/null +++ b/node_modules/@octokit/types/dist-types/RequestParameters.d.ts @@ -0,0 +1,45 @@ +import { RequestRequestOptions } from "./RequestRequestOptions"; +import { RequestHeaders } from "./RequestHeaders"; +import { Url } from "./Url"; +/** + * Parameters that can be passed into `request(route, parameters)` or `endpoint(route, parameters)` methods + */ +export declare type RequestParameters = { + /** + * 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 request + * will be sent to `https://enterprise.acme-inc.com/api/v3/orgs/{org}`. + */ + baseUrl?: Url; + /** + * HTTP headers. Use lowercase keys. + */ + headers?: RequestHeaders; + /** + * 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?: RequestRequestOptions; + /** + * 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]: unknown; +}; diff --git a/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts b/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts new file mode 100644 index 0000000..4482a8a --- /dev/null +++ b/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts @@ -0,0 +1,26 @@ +/// +import { Agent } from "http"; +import { Fetch } from "./Fetch"; +import { Signal } from "./Signal"; +/** + * Octokit-specific request options which are ignored for the actual request, but can be used by Octokit or plugins to manipulate how the request is sent or how a response is handled + */ +export declare type RequestRequestOptions = { + /** + * Node only. Useful for custom proxy, certificate, or dns lookup. + */ + agent?: Agent; + /** + * Custom replacement for built-in fetch method. Useful for testing or request hooks. + */ + fetch?: Fetch; + /** + * Use an `AbortController` instance to cancel a request. In node you can only cancel streamed requests. + */ + signal?: Signal; + /** + * Node only. Request/response timeout in ms, it resets on redirect. 0 to disable (OS limit applies). `options.request.signal` is recommended instead. + */ + timeout?: number; + [option: string]: any; +}; diff --git a/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts b/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts new file mode 100644 index 0000000..c8fbe43 --- /dev/null +++ b/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts @@ -0,0 +1,20 @@ +export declare type ResponseHeaders = { + "cache-control"?: string; + "content-length"?: number; + "content-type"?: string; + date?: string; + etag?: string; + "last-modified"?: string; + link?: string; + location?: string; + server?: string; + status?: string; + vary?: string; + "x-github-mediatype"?: string; + "x-github-request-id"?: string; + "x-oauth-scopes"?: string; + "x-ratelimit-limit"?: string; + "x-ratelimit-remaining"?: string; + "x-ratelimit-reset"?: string; + [header: string]: string | number | undefined; +}; diff --git a/node_modules/@octokit/types/dist-types/Route.d.ts b/node_modules/@octokit/types/dist-types/Route.d.ts new file mode 100644 index 0000000..dcaac75 --- /dev/null +++ b/node_modules/@octokit/types/dist-types/Route.d.ts @@ -0,0 +1,4 @@ +/** + * String consisting of an optional HTTP method and relative path or absolute URL. Examples: `'/orgs/{org}'`, `'PUT /orgs/{org}'`, `GET https://example.com/foo/bar` + */ +export declare type Route = string; diff --git a/node_modules/@octokit/types/dist-types/Signal.d.ts b/node_modules/@octokit/types/dist-types/Signal.d.ts new file mode 100644 index 0000000..4ebcf24 --- /dev/null +++ b/node_modules/@octokit/types/dist-types/Signal.d.ts @@ -0,0 +1,6 @@ +/** + * Abort signal + * + * @see https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal + */ +export declare type Signal = any; diff --git a/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts b/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts new file mode 100644 index 0000000..405cbd2 --- /dev/null +++ b/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts @@ -0,0 +1,4 @@ +import { AuthInterface } from "./AuthInterface"; +export interface StrategyInterface { + (...args: StrategyOptions): AuthInterface; +} diff --git a/node_modules/@octokit/types/dist-types/Url.d.ts b/node_modules/@octokit/types/dist-types/Url.d.ts new file mode 100644 index 0000000..3e69916 --- /dev/null +++ b/node_modules/@octokit/types/dist-types/Url.d.ts @@ -0,0 +1,4 @@ +/** + * Relative or absolute URL. Examples: `'/orgs/{org}'`, `https://example.com/foo/bar` + */ +export declare type Url = string; diff --git a/node_modules/@octokit/types/dist-types/VERSION.d.ts b/node_modules/@octokit/types/dist-types/VERSION.d.ts new file mode 100644 index 0000000..4cd7ce6 --- /dev/null +++ b/node_modules/@octokit/types/dist-types/VERSION.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "6.1.2"; diff --git a/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts b/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts new file mode 100644 index 0000000..92d1caa --- /dev/null +++ b/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts @@ -0,0 +1,2994 @@ +import { paths } from "@octokit/openapi-types"; +import { OctokitResponse } from "../OctokitResponse"; +import { RequestHeaders } from "../RequestHeaders"; +import { RequestRequestOptions } from "../RequestRequestOptions"; +declare type UnionToIntersection = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never; +declare type ExtractParameters = "parameters" extends keyof T ? UnionToIntersection<{ + [K in keyof T["parameters"]]: T["parameters"][K]; +}[keyof T["parameters"]]> : {}; +declare type ExtractRequestBody = "requestBody" extends keyof T ? "application/json" extends keyof T["requestBody"] ? T["requestBody"]["application/json"] : { + data: { + [K in keyof T["requestBody"]]: T["requestBody"][K]; + }[keyof T["requestBody"]]; +} : {}; +declare type ToOctokitParameters = ExtractParameters & ExtractRequestBody; +declare type RequiredPreview = T extends string ? { + mediaType: { + previews: [T, ...string[]]; + }; +} : {}; +declare type Operation = { + parameters: ToOctokitParameters & RequiredPreview; + request: { + method: Method extends keyof MethodsMap ? MethodsMap[Method] : never; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; + }; + response: Url extends keyof EndpointsWithMissingRequiredResponseDataSchema ? Method extends EndpointsWithMissingRequiredResponseDataSchema[Url] ? DeepRequired> : ExtractOctokitResponse : ExtractOctokitResponse; +}; +declare type MethodsMap = { + delete: "DELETE"; + get: "GET"; + patch: "PATCH"; + post: "POST"; + put: "PUT"; +}; +declare type SuccessStatusesMap = { + "200": 200; + "201": 201; + "204": 204; +}; +declare type RedirectStatusesMap = { + "301": 301; + "302": 302; +}; +declare type SuccessStatuses = keyof SuccessStatusesMap; +declare type RedirectStatuses = keyof RedirectStatusesMap; +declare type KnownJsonResponseTypes = "application/json" | "application/scim+json"; +declare type SuccessResponseDataType = { + [K in SuccessStatuses & keyof Responses]: OctokitResponse extends never ? unknown : DataType, SuccessStatusesMap[K]>; +}[SuccessStatuses & keyof Responses]; +declare type RedirectResponseDataType = { + [K in RedirectStatuses & keyof Responses]: OctokitResponse; +}[RedirectStatuses & keyof Responses]; +declare type DataType = { + [K in KnownJsonResponseTypes & keyof T]: T[K]; +}[KnownJsonResponseTypes & keyof T]; +declare type ExtractOctokitResponse = "responses" extends keyof R ? SuccessResponseDataType extends never ? RedirectResponseDataType extends never ? never : RedirectResponseDataType : SuccessResponseDataType : unknown; +declare type EndpointsWithMissingRequiredResponseDataSchema = { + "/app/hook/config": "get" | "patch"; + "/app/installations/{installation_id}/access_tokens": "post"; + "/emojis": "get"; + "/enterprises/{enterprise}/actions/permissions": "get"; + "/enterprises/{enterprise}/actions/permissions/organizations": "get"; + "/enterprises/{enterprise}/actions/permissions/selected-actions": "get"; + "/enterprises/{enterprise}/actions/runner-groups": "get" | "post"; + "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}": "get" | "patch"; + "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations": "get"; + "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners": "get"; + "/enterprises/{enterprise}/actions/runners": "get"; + "/enterprises/{enterprise}/actions/runners/downloads": "get"; + "/enterprises/{enterprise}/settings/billing/actions": "get"; + "/enterprises/{enterprise}/settings/billing/packages": "get"; + "/enterprises/{enterprise}/settings/billing/shared-storage": "get"; + "/installation/repositories": "get"; + "/notifications": "get"; + "/notifications/threads/{thread_id}": "get"; + "/orgs/{org}/actions/permissions": "get"; + "/orgs/{org}/actions/permissions/repositories": "get"; + "/orgs/{org}/actions/permissions/selected-actions": "get"; + "/orgs/{org}/actions/runner-groups": "get" | "post"; + "/orgs/{org}/actions/runner-groups/{runner_group_id}": "get" | "patch"; + "/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories": "get"; + "/orgs/{org}/actions/runner-groups/{runner_group_id}/runners": "get"; + "/orgs/{org}/actions/runners": "get"; + "/orgs/{org}/actions/runners/downloads": "get"; + "/orgs/{org}/actions/secrets": "get"; + "/orgs/{org}/actions/secrets/{secret_name}/repositories": "get"; + "/orgs/{org}/hooks/{hook_id}/config": "get" | "patch"; + "/orgs/{org}/installations": "get"; + "/orgs/{org}/invitations": "get" | "post"; + "/orgs/{org}/settings/billing/actions": "get"; + "/orgs/{org}/settings/billing/packages": "get"; + "/orgs/{org}/settings/billing/shared-storage": "get"; + "/orgs/{org}/team-sync/groups": "get"; + "/orgs/{org}/teams/{team_slug}/invitations": "get"; + "/orgs/{org}/teams/{team_slug}/projects": "get"; + "/orgs/{org}/teams/{team_slug}/projects/{project_id}": "get"; + "/orgs/{org}/teams/{team_slug}/team-sync/group-mappings": "get" | "patch"; + "/projects/columns/cards/{card_id}/moves": "post"; + "/projects/columns/{column_id}/moves": "post"; + "/repos/{owner}/{repo}/actions/artifacts": "get"; + "/repos/{owner}/{repo}/actions/permissions": "get"; + "/repos/{owner}/{repo}/actions/permissions/selected-actions": "get"; + "/repos/{owner}/{repo}/actions/runners": "get"; + "/repos/{owner}/{repo}/actions/runners/downloads": "get"; + "/repos/{owner}/{repo}/actions/runs": "get"; + "/repos/{owner}/{repo}/actions/runs/{run_id}/artifacts": "get"; + "/repos/{owner}/{repo}/actions/runs/{run_id}/jobs": "get"; + "/repos/{owner}/{repo}/actions/runs/{run_id}/timing": "get"; + "/repos/{owner}/{repo}/actions/secrets": "get"; + "/repos/{owner}/{repo}/actions/workflows": "get"; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs": "get"; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing": "get"; + "/repos/{owner}/{repo}/check-suites/preferences": "patch"; + "/repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs": "get"; + "/repos/{owner}/{repo}/code-scanning/alerts": "get"; + "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}": "get" | "patch"; + "/repos/{owner}/{repo}/code-scanning/analyses": "get"; + "/repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head": "get"; + "/repos/{owner}/{repo}/commits/{ref}/check-runs": "get"; + "/repos/{owner}/{repo}/commits/{ref}/check-suites": "get"; + "/repos/{owner}/{repo}/commits/{ref}/statuses": "get"; + "/repos/{owner}/{repo}/contents/{path}": "put" | "delete"; + "/repos/{owner}/{repo}/git/blobs": "post"; + "/repos/{owner}/{repo}/git/commits": "post"; + "/repos/{owner}/{repo}/git/commits/{commit_sha}": "get"; + "/repos/{owner}/{repo}/git/matching-refs/{ref}": "get"; + "/repos/{owner}/{repo}/git/ref/{ref}": "get"; + "/repos/{owner}/{repo}/git/refs": "post"; + "/repos/{owner}/{repo}/git/refs/{ref}": "patch"; + "/repos/{owner}/{repo}/hooks/{hook_id}/config": "get" | "patch"; + "/repos/{owner}/{repo}/issues/{issue_number}/events": "get"; + "/repos/{owner}/{repo}/issues/{issue_number}/timeline": "get"; + "/repos/{owner}/{repo}/keys": "get" | "post"; + "/repos/{owner}/{repo}/keys/{key_id}": "get"; + "/repos/{owner}/{repo}/languages": "get"; + "/repos/{owner}/{repo}/notifications": "get"; + "/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers": "get"; + "/repos/{owner}/{repo}/stats/participation": "get"; + "/repos/{owner}/{repo}/statuses/{sha}": "post"; + "/repos/{owner}/{repo}/topics": "get" | "put"; + "/scim/v2/enterprises/{enterprise}/Groups": "get" | "post"; + "/scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}": "get" | "put" | "patch"; + "/scim/v2/enterprises/{enterprise}/Users": "get" | "post"; + "/scim/v2/enterprises/{enterprise}/Users/{scim_user_id}": "get" | "put" | "patch"; + "/search/code": "get"; + "/search/commits": "get"; + "/search/issues": "get"; + "/search/labels": "get"; + "/search/repositories": "get"; + "/search/topics": "get"; + "/search/users": "get"; + "/teams/{team_id}/invitations": "get"; + "/teams/{team_id}/projects": "get"; + "/teams/{team_id}/projects/{project_id}": "get"; + "/teams/{team_id}/team-sync/group-mappings": "get" | "patch"; + "/user/installations": "get"; + "/user/installations/{installation_id}/repositories": "get"; + "/user/keys": "get" | "post"; + "/user/keys/{key_id}": "get"; + "/users/{username}/settings/billing/actions": "get"; + "/users/{username}/settings/billing/packages": "get"; + "/users/{username}/settings/billing/shared-storage": "get"; +}; +declare type NotNill = T extends null | undefined ? never : T; +declare type Primitive = undefined | null | boolean | string | number | Function; +declare type DeepRequired = T extends Primitive ? NotNill : { + [P in keyof T]-?: T[P] extends Array ? Array> : T[P] extends ReadonlyArray ? DeepRequired : DeepRequired; +}; +export interface Endpoints { + /** + * @see https://docs.github.com/v3/apps/#delete-an-installation-for-the-authenticated-app + */ + "DELETE /app/installations/{installation_id}": Operation<"/app/installations/{installation_id}", "delete">; + /** + * @see https://docs.github.com/v3/apps/#unsuspend-an-app-installation + */ + "DELETE /app/installations/{installation_id}/suspended": Operation<"/app/installations/{installation_id}/suspended", "delete">; + /** + * @see https://docs.github.com/rest/reference/oauth-authorizations#delete-a-grant + */ + "DELETE /applications/grants/{grant_id}": Operation<"/applications/grants/{grant_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/apps#delete-an-app-authorization + */ + "DELETE /applications/{client_id}/grant": Operation<"/applications/{client_id}/grant", "delete">; + /** + * @see https://docs.github.com/rest/reference/apps#revoke-a-grant-for-an-application + */ + "DELETE /applications/{client_id}/grants/{access_token}": Operation<"/applications/{client_id}/grants/{access_token}", "delete">; + /** + * @see https://docs.github.com/rest/reference/apps#delete-an-app-token + */ + "DELETE /applications/{client_id}/token": Operation<"/applications/{client_id}/token", "delete">; + /** + * @see https://docs.github.com/rest/reference/apps#revoke-an-authorization-for-an-application + */ + "DELETE /applications/{client_id}/tokens/{access_token}": Operation<"/applications/{client_id}/tokens/{access_token}", "delete">; + /** + * @see https://docs.github.com/rest/reference/oauth-authorizations#delete-an-authorization + */ + "DELETE /authorizations/{authorization_id}": Operation<"/authorizations/{authorization_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#disable-a-selected-organization-for-github-actions-in-an-enterprise + */ + "DELETE /enterprises/{enterprise}/actions/permissions/organizations/{org_id}": Operation<"/enterprises/{enterprise}/actions/permissions/organizations/{org_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#delete-a-self-hosted-runner-group-from-an-enterprise + */ + "DELETE /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#remove-organization-access-to-a-self-hosted-runner-group-in-an-enterprise + */ + "DELETE /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations/{org_id}": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations/{org_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#remove-a-self-hosted-runner-from-a-group-for-an-enterprise + */ + "DELETE /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners/{runner_id}": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners/{runner_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#delete-self-hosted-runner-from-an-enterprise + */ + "DELETE /enterprises/{enterprise}/actions/runners/{runner_id}": Operation<"/enterprises/{enterprise}/actions/runners/{runner_id}", "delete">; + /** + * @see https://docs.github.com/v3/gists/#delete-a-gist + */ + "DELETE /gists/{gist_id}": Operation<"/gists/{gist_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/gists#delete-a-gist-comment + */ + "DELETE /gists/{gist_id}/comments/{comment_id}": Operation<"/gists/{gist_id}/comments/{comment_id}", "delete">; + /** + * @see https://docs.github.com/v3/gists/#unstar-a-gist + */ + "DELETE /gists/{gist_id}/star": Operation<"/gists/{gist_id}/star", "delete">; + /** + * @see https://docs.github.com/rest/reference/apps#revoke-an-installation-access-token + */ + "DELETE /installation/token": Operation<"/installation/token", "delete">; + /** + * @see https://docs.github.com/rest/reference/activity#delete-a-thread-subscription + */ + "DELETE /notifications/threads/{thread_id}/subscription": Operation<"/notifications/threads/{thread_id}/subscription", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#disable-a-selected-repository-for-github-actions-in-an-organization + */ + "DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}": Operation<"/orgs/{org}/actions/permissions/repositories/{repository_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#delete-a-self-hosted-runner-group-from-an-organization + */ + "DELETE /orgs/{org}/actions/runner-groups/{runner_group_id}": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#remove-repository-access-to-a-self-hosted-runner-group-in-an-organization + */ + "DELETE /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#remove-a-self-hosted-runner-from-a-group-for-an-organization + */ + "DELETE /orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id}": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#delete-a-self-hosted-runner-from-an-organization + */ + "DELETE /orgs/{org}/actions/runners/{runner_id}": Operation<"/orgs/{org}/actions/runners/{runner_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#delete-an-organization-secret + */ + "DELETE /orgs/{org}/actions/secrets/{secret_name}": Operation<"/orgs/{org}/actions/secrets/{secret_name}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#remove-selected-repository-from-an-organization-secret + */ + "DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}": Operation<"/orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/orgs#unblock-a-user-from-an-organization + */ + "DELETE /orgs/{org}/blocks/{username}": Operation<"/orgs/{org}/blocks/{username}", "delete">; + /** + * @see https://docs.github.com/v3/orgs/#remove-a-saml-sso-authorization-for-an-organization + */ + "DELETE /orgs/{org}/credential-authorizations/{credential_id}": Operation<"/orgs/{org}/credential-authorizations/{credential_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/orgs#delete-an-organization-webhook + */ + "DELETE /orgs/{org}/hooks/{hook_id}": Operation<"/orgs/{org}/hooks/{hook_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/interactions#remove-interaction-restrictions-for-an-organization + */ + "DELETE /orgs/{org}/interaction-limits": Operation<"/orgs/{org}/interaction-limits", "delete">; + /** + * @see https://docs.github.com/rest/reference/orgs#remove-an-organization-member + */ + "DELETE /orgs/{org}/members/{username}": Operation<"/orgs/{org}/members/{username}", "delete">; + /** + * @see https://docs.github.com/rest/reference/orgs#remove-organization-membership-for-a-user + */ + "DELETE /orgs/{org}/memberships/{username}": Operation<"/orgs/{org}/memberships/{username}", "delete">; + /** + * @see https://docs.github.com/rest/reference/migrations#delete-an-organization-migration-archive + */ + "DELETE /orgs/{org}/migrations/{migration_id}/archive": Operation<"/orgs/{org}/migrations/{migration_id}/archive", "delete", "wyandotte">; + /** + * @see https://docs.github.com/rest/reference/migrations#unlock-an-organization-repository + */ + "DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock": Operation<"/orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock", "delete", "wyandotte">; + /** + * @see https://docs.github.com/rest/reference/orgs#remove-outside-collaborator-from-an-organization + */ + "DELETE /orgs/{org}/outside_collaborators/{username}": Operation<"/orgs/{org}/outside_collaborators/{username}", "delete">; + /** + * @see https://docs.github.com/rest/reference/orgs#remove-public-organization-membership-for-the-authenticated-user + */ + "DELETE /orgs/{org}/public_members/{username}": Operation<"/orgs/{org}/public_members/{username}", "delete">; + /** + * @see https://docs.github.com/v3/teams/#delete-a-team + */ + "DELETE /orgs/{org}/teams/{team_slug}": Operation<"/orgs/{org}/teams/{team_slug}", "delete">; + /** + * @see https://docs.github.com/rest/reference/teams#delete-a-discussion + */ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}", "delete">; + /** + * @see https://docs.github.com/rest/reference/teams#delete-a-discussion-comment + */ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}", "delete">; + /** + * @see https://docs.github.com/v3/reactions/#delete-team-discussion-comment-reaction + */ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}", "delete", "squirrel-girl">; + /** + * @see https://docs.github.com/v3/reactions/#delete-team-discussion-reaction + */ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}", "delete", "squirrel-girl">; + /** + * @see https://docs.github.com/rest/reference/teams#remove-team-membership-for-a-user + */ + "DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}": Operation<"/orgs/{org}/teams/{team_slug}/memberships/{username}", "delete">; + /** + * @see https://docs.github.com/v3/teams/#remove-a-project-from-a-team + */ + "DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}": Operation<"/orgs/{org}/teams/{team_slug}/projects/{project_id}", "delete">; + /** + * @see https://docs.github.com/v3/teams/#remove-a-repository-from-a-team + */ + "DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}": Operation<"/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}", "delete">; + /** + * @see https://docs.github.com/rest/reference/projects#delete-a-project-card + */ + "DELETE /projects/columns/cards/{card_id}": Operation<"/projects/columns/cards/{card_id}", "delete", "inertia">; + /** + * @see https://docs.github.com/rest/reference/projects#delete-a-project-column + */ + "DELETE /projects/columns/{column_id}": Operation<"/projects/columns/{column_id}", "delete", "inertia">; + /** + * @see https://docs.github.com/v3/projects/#delete-a-project + */ + "DELETE /projects/{project_id}": Operation<"/projects/{project_id}", "delete", "inertia">; + /** + * @see https://docs.github.com/rest/reference/projects#remove-project-collaborator + */ + "DELETE /projects/{project_id}/collaborators/{username}": Operation<"/projects/{project_id}/collaborators/{username}", "delete", "inertia">; + /** + * @see https://docs.github.com/v3/reactions/#delete-a-reaction-legacy + */ + "DELETE /reactions/{reaction_id}": Operation<"/reactions/{reaction_id}", "delete", "squirrel-girl">; + /** + * @see https://docs.github.com/v3/repos/#delete-a-repository + */ + "DELETE /repos/{owner}/{repo}": Operation<"/repos/{owner}/{repo}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#delete-an-artifact + */ + "DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}": Operation<"/repos/{owner}/{repo}/actions/artifacts/{artifact_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#delete-a-self-hosted-runner-from-a-repository + */ + "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}": Operation<"/repos/{owner}/{repo}/actions/runners/{runner_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#delete-a-workflow-run + */ + "DELETE /repos/{owner}/{repo}/actions/runs/{run_id}": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#delete-workflow-run-logs + */ + "DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/logs", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#delete-a-repository-secret + */ + "DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/actions/secrets/{secret_name}", "delete">; + /** + * @see https://docs.github.com/v3/repos/#disable-automated-security-fixes + */ + "DELETE /repos/{owner}/{repo}/automated-security-fixes": Operation<"/repos/{owner}/{repo}/automated-security-fixes", "delete", "london">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-branch-protection + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-admin-branch-protection + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-pull-request-review-protection + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-commit-signature-protection + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", "delete", "zzzax">; + /** + * @see https://docs.github.com/rest/reference/repos#remove-status-check-protection + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#remove-status-check-contexts + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-access-restrictions + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#remove-app-access-restrictions + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#remove-team-access-restrictions + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#remove-user-access-restrictions + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#remove-a-repository-collaborator + */ + "DELETE /repos/{owner}/{repo}/collaborators/{username}": Operation<"/repos/{owner}/{repo}/collaborators/{username}", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-a-commit-comment + */ + "DELETE /repos/{owner}/{repo}/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/comments/{comment_id}", "delete">; + /** + * @see https://docs.github.com/v3/reactions/#delete-a-commit-comment-reaction + */ + "DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}": Operation<"/repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}", "delete", "squirrel-girl">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-a-file + */ + "DELETE /repos/{owner}/{repo}/contents/{path}": Operation<"/repos/{owner}/{repo}/contents/{path}", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-a-deployment + */ + "DELETE /repos/{owner}/{repo}/deployments/{deployment_id}": Operation<"/repos/{owner}/{repo}/deployments/{deployment_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/git#delete-a-reference + */ + "DELETE /repos/{owner}/{repo}/git/refs/{ref}": Operation<"/repos/{owner}/{repo}/git/refs/{ref}", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-a-repository-webhook + */ + "DELETE /repos/{owner}/{repo}/hooks/{hook_id}": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/migrations#cancel-an-import + */ + "DELETE /repos/{owner}/{repo}/import": Operation<"/repos/{owner}/{repo}/import", "delete">; + /** + * @see https://docs.github.com/rest/reference/interactions#remove-interaction-restrictions-for-a-repository + */ + "DELETE /repos/{owner}/{repo}/interaction-limits": Operation<"/repos/{owner}/{repo}/interaction-limits", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-a-repository-invitation + */ + "DELETE /repos/{owner}/{repo}/invitations/{invitation_id}": Operation<"/repos/{owner}/{repo}/invitations/{invitation_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/issues#delete-an-issue-comment + */ + "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/issues/comments/{comment_id}", "delete">; + /** + * @see https://docs.github.com/v3/reactions/#delete-an-issue-comment-reaction + */ + "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}": Operation<"/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}", "delete", "squirrel-girl">; + /** + * @see https://docs.github.com/rest/reference/issues#remove-assignees-from-an-issue + */ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/assignees", "delete">; + /** + * @see https://docs.github.com/rest/reference/issues#remove-all-labels-from-an-issue + */ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/labels", "delete">; + /** + * @see https://docs.github.com/rest/reference/issues#remove-a-label-from-an-issue + */ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/labels/{name}", "delete">; + /** + * @see https://docs.github.com/v3/issues/#unlock-an-issue + */ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/lock", "delete">; + /** + * @see https://docs.github.com/v3/reactions/#delete-an-issue-reaction + */ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}", "delete", "squirrel-girl">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-a-deploy-key + */ + "DELETE /repos/{owner}/{repo}/keys/{key_id}": Operation<"/repos/{owner}/{repo}/keys/{key_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/issues#delete-a-label + */ + "DELETE /repos/{owner}/{repo}/labels/{name}": Operation<"/repos/{owner}/{repo}/labels/{name}", "delete">; + /** + * @see https://docs.github.com/rest/reference/issues#delete-a-milestone + */ + "DELETE /repos/{owner}/{repo}/milestones/{milestone_number}": Operation<"/repos/{owner}/{repo}/milestones/{milestone_number}", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-a-github-pages-site + */ + "DELETE /repos/{owner}/{repo}/pages": Operation<"/repos/{owner}/{repo}/pages", "delete", "switcheroo">; + /** + * @see https://docs.github.com/rest/reference/pulls#delete-a-review-comment-for-a-pull-request + */ + "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/pulls/comments/{comment_id}", "delete">; + /** + * @see https://docs.github.com/v3/reactions/#delete-a-pull-request-comment-reaction + */ + "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}": Operation<"/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}", "delete", "squirrel-girl">; + /** + * @see https://docs.github.com/rest/reference/pulls#remove-requested-reviewers-from-a-pull-request + */ + "DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", "delete">; + /** + * @see https://docs.github.com/rest/reference/pulls#delete-a-pending-review-for-a-pull-request + */ + "DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-a-release-asset + */ + "DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}": Operation<"/repos/{owner}/{repo}/releases/assets/{asset_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-a-release + */ + "DELETE /repos/{owner}/{repo}/releases/{release_id}": Operation<"/repos/{owner}/{repo}/releases/{release_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/activity#delete-a-repository-subscription + */ + "DELETE /repos/{owner}/{repo}/subscription": Operation<"/repos/{owner}/{repo}/subscription", "delete">; + /** + * @see https://docs.github.com/v3/repos/#disable-vulnerability-alerts + */ + "DELETE /repos/{owner}/{repo}/vulnerability-alerts": Operation<"/repos/{owner}/{repo}/vulnerability-alerts", "delete", "dorian">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#delete-a-scim-group-from-an-enterprise + */ + "DELETE /scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}": Operation<"/scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#delete-a-scim-user-from-an-enterprise + */ + "DELETE /scim/v2/enterprises/{enterprise}/Users/{scim_user_id}": Operation<"/scim/v2/enterprises/{enterprise}/Users/{scim_user_id}", "delete">; + /** + * @see https://docs.github.com/v3/scim/#delete-a-scim-user-from-an-organization + */ + "DELETE /scim/v2/organizations/{org}/Users/{scim_user_id}": Operation<"/scim/v2/organizations/{org}/Users/{scim_user_id}", "delete">; + /** + * @see https://docs.github.com/v3/teams/#delete-a-team-legacy + */ + "DELETE /teams/{team_id}": Operation<"/teams/{team_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/teams#delete-a-discussion-legacy + */ + "DELETE /teams/{team_id}/discussions/{discussion_number}": Operation<"/teams/{team_id}/discussions/{discussion_number}", "delete">; + /** + * @see https://docs.github.com/rest/reference/teams#delete-a-discussion-comment-legacy + */ + "DELETE /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}", "delete">; + /** + * @see https://docs.github.com/rest/reference/teams#remove-team-member-legacy + */ + "DELETE /teams/{team_id}/members/{username}": Operation<"/teams/{team_id}/members/{username}", "delete">; + /** + * @see https://docs.github.com/rest/reference/teams#remove-team-membership-for-a-user-legacy + */ + "DELETE /teams/{team_id}/memberships/{username}": Operation<"/teams/{team_id}/memberships/{username}", "delete">; + /** + * @see https://docs.github.com/v3/teams/#remove-a-project-from-a-team-legacy + */ + "DELETE /teams/{team_id}/projects/{project_id}": Operation<"/teams/{team_id}/projects/{project_id}", "delete">; + /** + * @see https://docs.github.com/v3/teams/#remove-a-repository-from-a-team-legacy + */ + "DELETE /teams/{team_id}/repos/{owner}/{repo}": Operation<"/teams/{team_id}/repos/{owner}/{repo}", "delete">; + /** + * @see https://docs.github.com/rest/reference/users#unblock-a-user + */ + "DELETE /user/blocks/{username}": Operation<"/user/blocks/{username}", "delete">; + /** + * @see https://docs.github.com/rest/reference/users#delete-an-email-address-for-the-authenticated-user + */ + "DELETE /user/emails": Operation<"/user/emails", "delete">; + /** + * @see https://docs.github.com/rest/reference/users#unfollow-a-user + */ + "DELETE /user/following/{username}": Operation<"/user/following/{username}", "delete">; + /** + * @see https://docs.github.com/rest/reference/users#delete-a-gpg-key-for-the-authenticated-user + */ + "DELETE /user/gpg_keys/{gpg_key_id}": Operation<"/user/gpg_keys/{gpg_key_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/apps#remove-a-repository-from-an-app-installation + */ + "DELETE /user/installations/{installation_id}/repositories/{repository_id}": Operation<"/user/installations/{installation_id}/repositories/{repository_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/interactions#remove-interaction-restrictions-from-your-public-repositories + */ + "DELETE /user/interaction-limits": Operation<"/user/interaction-limits", "delete">; + /** + * @see https://docs.github.com/rest/reference/users#delete-a-public-ssh-key-for-the-authenticated-user + */ + "DELETE /user/keys/{key_id}": Operation<"/user/keys/{key_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/migrations#delete-a-user-migration-archive + */ + "DELETE /user/migrations/{migration_id}/archive": Operation<"/user/migrations/{migration_id}/archive", "delete", "wyandotte">; + /** + * @see https://docs.github.com/rest/reference/migrations#unlock-a-user-repository + */ + "DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock": Operation<"/user/migrations/{migration_id}/repos/{repo_name}/lock", "delete", "wyandotte">; + /** + * @see https://docs.github.com/rest/reference/repos#decline-a-repository-invitation + */ + "DELETE /user/repository_invitations/{invitation_id}": Operation<"/user/repository_invitations/{invitation_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/activity#unstar-a-repository-for-the-authenticated-user + */ + "DELETE /user/starred/{owner}/{repo}": Operation<"/user/starred/{owner}/{repo}", "delete">; + /** + * @see + */ + "GET /": Operation<"/", "get">; + /** + * @see https://docs.github.com/v3/apps/#get-the-authenticated-app + */ + "GET /app": Operation<"/app", "get">; + /** + * @see https://docs.github.com/v3/apps#get-a-webhook-configuration-for-an-app + */ + "GET /app/hook/config": Operation<"/app/hook/config", "get">; + /** + * @see https://docs.github.com/v3/apps/#list-installations-for-the-authenticated-app + */ + "GET /app/installations": Operation<"/app/installations", "get">; + /** + * @see https://docs.github.com/v3/apps/#get-an-installation-for-the-authenticated-app + */ + "GET /app/installations/{installation_id}": Operation<"/app/installations/{installation_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/oauth-authorizations#list-your-grants + */ + "GET /applications/grants": Operation<"/applications/grants", "get">; + /** + * @see https://docs.github.com/rest/reference/oauth-authorizations#get-a-single-grant + */ + "GET /applications/grants/{grant_id}": Operation<"/applications/grants/{grant_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#check-an-authorization + */ + "GET /applications/{client_id}/tokens/{access_token}": Operation<"/applications/{client_id}/tokens/{access_token}", "get">; + /** + * @see https://docs.github.com/v3/apps/#get-an-app + */ + "GET /apps/{app_slug}": Operation<"/apps/{app_slug}", "get">; + /** + * @see https://docs.github.com/rest/reference/oauth-authorizations#list-your-authorizations + */ + "GET /authorizations": Operation<"/authorizations", "get">; + /** + * @see https://docs.github.com/rest/reference/oauth-authorizations#get-a-single-authorization + */ + "GET /authorizations/{authorization_id}": Operation<"/authorizations/{authorization_id}", "get">; + /** + * @see https://docs.github.com/v3/codes_of_conduct/#get-all-codes-of-conduct + */ + "GET /codes_of_conduct": Operation<"/codes_of_conduct", "get", "scarlet-witch">; + /** + * @see https://docs.github.com/v3/codes_of_conduct/#get-a-code-of-conduct + */ + "GET /codes_of_conduct/{key}": Operation<"/codes_of_conduct/{key}", "get", "scarlet-witch">; + /** + * @see https://docs.github.com/v3/emojis/#get-emojis + */ + "GET /emojis": Operation<"/emojis", "get">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#get-github-actions-permissions-for-an-enterprise + */ + "GET /enterprises/{enterprise}/actions/permissions": Operation<"/enterprises/{enterprise}/actions/permissions", "get">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#list-selected-organizations-enabled-for-github-actions-in-an-enterprise + */ + "GET /enterprises/{enterprise}/actions/permissions/organizations": Operation<"/enterprises/{enterprise}/actions/permissions/organizations", "get">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#get-allowed-actions-for-an-enterprise + */ + "GET /enterprises/{enterprise}/actions/permissions/selected-actions": Operation<"/enterprises/{enterprise}/actions/permissions/selected-actions", "get">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#list-self-hosted-runner-groups-for-an-enterprise + */ + "GET /enterprises/{enterprise}/actions/runner-groups": Operation<"/enterprises/{enterprise}/actions/runner-groups", "get">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#get-a-self-hosted-runner-group-for-an-enterprise + */ + "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#list-organization-access-to-a-self-hosted-runner-group-in-a-enterprise + */ + "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations", "get">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#list-self-hosted-runners-in-a-group-for-an-enterprise + */ + "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners", "get">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#list-self-hosted-runners-for-an-enterprise + */ + "GET /enterprises/{enterprise}/actions/runners": Operation<"/enterprises/{enterprise}/actions/runners", "get">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#list-runner-applications-for-an-enterprise + */ + "GET /enterprises/{enterprise}/actions/runners/downloads": Operation<"/enterprises/{enterprise}/actions/runners/downloads", "get">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#get-a-self-hosted-runner-for-an-enterprise + */ + "GET /enterprises/{enterprise}/actions/runners/{runner_id}": Operation<"/enterprises/{enterprise}/actions/runners/{runner_id}", "get">; + /** + * @see https://docs.github.com/v3/billing/#get-github-actions-billing-for-an-enterprise + */ + "GET /enterprises/{enterprise}/settings/billing/actions": Operation<"/enterprises/{enterprise}/settings/billing/actions", "get">; + /** + * @see https://docs.github.com/v3/billing/#get-github-packages-billing-for-an-enterprise + */ + "GET /enterprises/{enterprise}/settings/billing/packages": Operation<"/enterprises/{enterprise}/settings/billing/packages", "get">; + /** + * @see https://docs.github.com/v3/billing/#get-shared-storage-billing-for-an-enterprise + */ + "GET /enterprises/{enterprise}/settings/billing/shared-storage": Operation<"/enterprises/{enterprise}/settings/billing/shared-storage", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-public-events + */ + "GET /events": Operation<"/events", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#get-feeds + */ + "GET /feeds": Operation<"/feeds", "get">; + /** + * @see https://docs.github.com/v3/gists/#list-gists-for-the-authenticated-user + */ + "GET /gists": Operation<"/gists", "get">; + /** + * @see https://docs.github.com/v3/gists/#list-public-gists + */ + "GET /gists/public": Operation<"/gists/public", "get">; + /** + * @see https://docs.github.com/v3/gists/#list-starred-gists + */ + "GET /gists/starred": Operation<"/gists/starred", "get">; + /** + * @see https://docs.github.com/v3/gists/#get-a-gist + */ + "GET /gists/{gist_id}": Operation<"/gists/{gist_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/gists#list-gist-comments + */ + "GET /gists/{gist_id}/comments": Operation<"/gists/{gist_id}/comments", "get">; + /** + * @see https://docs.github.com/rest/reference/gists#get-a-gist-comment + */ + "GET /gists/{gist_id}/comments/{comment_id}": Operation<"/gists/{gist_id}/comments/{comment_id}", "get">; + /** + * @see https://docs.github.com/v3/gists/#list-gist-commits + */ + "GET /gists/{gist_id}/commits": Operation<"/gists/{gist_id}/commits", "get">; + /** + * @see https://docs.github.com/v3/gists/#list-gist-forks + */ + "GET /gists/{gist_id}/forks": Operation<"/gists/{gist_id}/forks", "get">; + /** + * @see https://docs.github.com/v3/gists/#check-if-a-gist-is-starred + */ + "GET /gists/{gist_id}/star": Operation<"/gists/{gist_id}/star", "get">; + /** + * @see https://docs.github.com/v3/gists/#get-a-gist-revision + */ + "GET /gists/{gist_id}/{sha}": Operation<"/gists/{gist_id}/{sha}", "get">; + /** + * @see https://docs.github.com/v3/gitignore/#get-all-gitignore-templates + */ + "GET /gitignore/templates": Operation<"/gitignore/templates", "get">; + /** + * @see https://docs.github.com/v3/gitignore/#get-a-gitignore-template + */ + "GET /gitignore/templates/{name}": Operation<"/gitignore/templates/{name}", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#list-repositories-accessible-to-the-app-installation + */ + "GET /installation/repositories": Operation<"/installation/repositories", "get">; + /** + * @see https://docs.github.com/v3/issues/#list-issues-assigned-to-the-authenticated-user + */ + "GET /issues": Operation<"/issues", "get">; + /** + * @see https://docs.github.com/v3/licenses/#get-all-commonly-used-licenses + */ + "GET /licenses": Operation<"/licenses", "get">; + /** + * @see https://docs.github.com/v3/licenses/#get-a-license + */ + "GET /licenses/{license}": Operation<"/licenses/{license}", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#get-a-subscription-plan-for-an-account + */ + "GET /marketplace_listing/accounts/{account_id}": Operation<"/marketplace_listing/accounts/{account_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#list-plans + */ + "GET /marketplace_listing/plans": Operation<"/marketplace_listing/plans", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#list-accounts-for-a-plan + */ + "GET /marketplace_listing/plans/{plan_id}/accounts": Operation<"/marketplace_listing/plans/{plan_id}/accounts", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#get-a-subscription-plan-for-an-account-stubbed + */ + "GET /marketplace_listing/stubbed/accounts/{account_id}": Operation<"/marketplace_listing/stubbed/accounts/{account_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#list-plans-stubbed + */ + "GET /marketplace_listing/stubbed/plans": Operation<"/marketplace_listing/stubbed/plans", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#list-accounts-for-a-plan-stubbed + */ + "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts": Operation<"/marketplace_listing/stubbed/plans/{plan_id}/accounts", "get">; + /** + * @see https://docs.github.com/v3/meta/#get-github-meta-information + */ + "GET /meta": Operation<"/meta", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-public-events-for-a-network-of-repositories + */ + "GET /networks/{owner}/{repo}/events": Operation<"/networks/{owner}/{repo}/events", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-notifications-for-the-authenticated-user + */ + "GET /notifications": Operation<"/notifications", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#get-a-thread + */ + "GET /notifications/threads/{thread_id}": Operation<"/notifications/threads/{thread_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#get-a-thread-subscription-for-the-authenticated-user + */ + "GET /notifications/threads/{thread_id}/subscription": Operation<"/notifications/threads/{thread_id}/subscription", "get">; + /** + * @see + */ + "GET /octocat": Operation<"/octocat", "get">; + /** + * @see https://docs.github.com/v3/orgs/#list-organizations + */ + "GET /organizations": Operation<"/organizations", "get">; + /** + * @see https://docs.github.com/v3/orgs/#get-an-organization + */ + "GET /orgs/{org}": Operation<"/orgs/{org}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-github-actions-permissions-for-an-organization + */ + "GET /orgs/{org}/actions/permissions": Operation<"/orgs/{org}/actions/permissions", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-selected-repositories-enabled-for-github-actions-in-an-organization + */ + "GET /orgs/{org}/actions/permissions/repositories": Operation<"/orgs/{org}/actions/permissions/repositories", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-allowed-actions-for-an-organization + */ + "GET /orgs/{org}/actions/permissions/selected-actions": Operation<"/orgs/{org}/actions/permissions/selected-actions", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-self-hosted-runner-groups-for-an-organization + */ + "GET /orgs/{org}/actions/runner-groups": Operation<"/orgs/{org}/actions/runner-groups", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-a-self-hosted-runner-group-for-an-organization + */ + "GET /orgs/{org}/actions/runner-groups/{runner_group_id}": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-repository-access-to-a-self-hosted-runner-group-in-an-organization + */ + "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-self-hosted-runners-in-a-group-for-an-organization + */ + "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}/runners", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-self-hosted-runners-for-an-organization + */ + "GET /orgs/{org}/actions/runners": Operation<"/orgs/{org}/actions/runners", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-runner-applications-for-an-organization + */ + "GET /orgs/{org}/actions/runners/downloads": Operation<"/orgs/{org}/actions/runners/downloads", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-a-self-hosted-runner-for-an-organization + */ + "GET /orgs/{org}/actions/runners/{runner_id}": Operation<"/orgs/{org}/actions/runners/{runner_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-organization-secrets + */ + "GET /orgs/{org}/actions/secrets": Operation<"/orgs/{org}/actions/secrets", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-an-organization-public-key + */ + "GET /orgs/{org}/actions/secrets/public-key": Operation<"/orgs/{org}/actions/secrets/public-key", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-an-organization-secret + */ + "GET /orgs/{org}/actions/secrets/{secret_name}": Operation<"/orgs/{org}/actions/secrets/{secret_name}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-selected-repositories-for-an-organization-secret + */ + "GET /orgs/{org}/actions/secrets/{secret_name}/repositories": Operation<"/orgs/{org}/actions/secrets/{secret_name}/repositories", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-users-blocked-by-an-organization + */ + "GET /orgs/{org}/blocks": Operation<"/orgs/{org}/blocks", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#check-if-a-user-is-blocked-by-an-organization + */ + "GET /orgs/{org}/blocks/{username}": Operation<"/orgs/{org}/blocks/{username}", "get">; + /** + * @see https://docs.github.com/v3/orgs/#list-saml-sso-authorizations-for-an-organization + */ + "GET /orgs/{org}/credential-authorizations": Operation<"/orgs/{org}/credential-authorizations", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-public-organization-events + */ + "GET /orgs/{org}/events": Operation<"/orgs/{org}/events", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-organization-webhooks + */ + "GET /orgs/{org}/hooks": Operation<"/orgs/{org}/hooks", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#get-an-organization-webhook + */ + "GET /orgs/{org}/hooks/{hook_id}": Operation<"/orgs/{org}/hooks/{hook_id}", "get">; + /** + * @see https://docs.github.com/v3/orgs#get-a-webhook-configuration-for-an-organization + */ + "GET /orgs/{org}/hooks/{hook_id}/config": Operation<"/orgs/{org}/hooks/{hook_id}/config", "get">; + /** + * @see https://docs.github.com/v3/apps/#get-an-organization-installation-for-the-authenticated-app + */ + "GET /orgs/{org}/installation": Operation<"/orgs/{org}/installation", "get">; + /** + * @see https://docs.github.com/v3/orgs/#list-app-installations-for-an-organization + */ + "GET /orgs/{org}/installations": Operation<"/orgs/{org}/installations", "get">; + /** + * @see https://docs.github.com/rest/reference/interactions#get-interaction-restrictions-for-an-organization + */ + "GET /orgs/{org}/interaction-limits": Operation<"/orgs/{org}/interaction-limits", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-pending-organization-invitations + */ + "GET /orgs/{org}/invitations": Operation<"/orgs/{org}/invitations", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-organization-invitation-teams + */ + "GET /orgs/{org}/invitations/{invitation_id}/teams": Operation<"/orgs/{org}/invitations/{invitation_id}/teams", "get">; + /** + * @see https://docs.github.com/v3/issues/#list-organization-issues-assigned-to-the-authenticated-user + */ + "GET /orgs/{org}/issues": Operation<"/orgs/{org}/issues", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-organization-members + */ + "GET /orgs/{org}/members": Operation<"/orgs/{org}/members", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#check-organization-membership-for-a-user + */ + "GET /orgs/{org}/members/{username}": Operation<"/orgs/{org}/members/{username}", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#get-organization-membership-for-a-user + */ + "GET /orgs/{org}/memberships/{username}": Operation<"/orgs/{org}/memberships/{username}", "get">; + /** + * @see https://docs.github.com/rest/reference/migrations#list-organization-migrations + */ + "GET /orgs/{org}/migrations": Operation<"/orgs/{org}/migrations", "get", "wyandotte">; + /** + * @see https://docs.github.com/rest/reference/migrations#get-an-organization-migration-status + */ + "GET /orgs/{org}/migrations/{migration_id}": Operation<"/orgs/{org}/migrations/{migration_id}", "get", "wyandotte">; + /** + * @see https://docs.github.com/rest/reference/migrations#download-an-organization-migration-archive + */ + "GET /orgs/{org}/migrations/{migration_id}/archive": Operation<"/orgs/{org}/migrations/{migration_id}/archive", "get", "wyandotte">; + /** + * @see https://docs.github.com/rest/reference/migrations#list-repositories-in-an-organization-migration + */ + "GET /orgs/{org}/migrations/{migration_id}/repositories": Operation<"/orgs/{org}/migrations/{migration_id}/repositories", "get", "wyandotte">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-outside-collaborators-for-an-organization + */ + "GET /orgs/{org}/outside_collaborators": Operation<"/orgs/{org}/outside_collaborators", "get">; + /** + * @see https://docs.github.com/v3/projects/#list-organization-projects + */ + "GET /orgs/{org}/projects": Operation<"/orgs/{org}/projects", "get", "inertia">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-public-organization-members + */ + "GET /orgs/{org}/public_members": Operation<"/orgs/{org}/public_members", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#check-public-organization-membership-for-a-user + */ + "GET /orgs/{org}/public_members/{username}": Operation<"/orgs/{org}/public_members/{username}", "get">; + /** + * @see https://docs.github.com/v3/repos/#list-organization-repositories + */ + "GET /orgs/{org}/repos": Operation<"/orgs/{org}/repos", "get">; + /** + * @see https://docs.github.com/v3/billing/#get-github-actions-billing-for-an-organization + */ + "GET /orgs/{org}/settings/billing/actions": Operation<"/orgs/{org}/settings/billing/actions", "get">; + /** + * @see https://docs.github.com/v3/billing/#get-github-packages-billing-for-an-organization + */ + "GET /orgs/{org}/settings/billing/packages": Operation<"/orgs/{org}/settings/billing/packages", "get">; + /** + * @see https://docs.github.com/v3/billing/#get-shared-storage-billing-for-an-organization + */ + "GET /orgs/{org}/settings/billing/shared-storage": Operation<"/orgs/{org}/settings/billing/shared-storage", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-idp-groups-for-an-organization + */ + "GET /orgs/{org}/team-sync/groups": Operation<"/orgs/{org}/team-sync/groups", "get">; + /** + * @see https://docs.github.com/v3/teams/#list-teams + */ + "GET /orgs/{org}/teams": Operation<"/orgs/{org}/teams", "get">; + /** + * @see https://docs.github.com/v3/teams/#get-a-team-by-name + */ + "GET /orgs/{org}/teams/{team_slug}": Operation<"/orgs/{org}/teams/{team_slug}", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-discussions + */ + "GET /orgs/{org}/teams/{team_slug}/discussions": Operation<"/orgs/{org}/teams/{team_slug}/discussions", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#get-a-discussion + */ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-discussion-comments + */ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#get-a-discussion-comment + */ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}", "get">; + /** + * @see https://docs.github.com/v3/reactions/#list-reactions-for-a-team-discussion-comment + */ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", "get", "squirrel-girl">; + /** + * @see https://docs.github.com/v3/reactions/#list-reactions-for-a-team-discussion + */ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", "get", "squirrel-girl">; + /** + * @see https://docs.github.com/rest/reference/teams#list-pending-team-invitations + */ + "GET /orgs/{org}/teams/{team_slug}/invitations": Operation<"/orgs/{org}/teams/{team_slug}/invitations", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-team-members + */ + "GET /orgs/{org}/teams/{team_slug}/members": Operation<"/orgs/{org}/teams/{team_slug}/members", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#get-team-membership-for-a-user + */ + "GET /orgs/{org}/teams/{team_slug}/memberships/{username}": Operation<"/orgs/{org}/teams/{team_slug}/memberships/{username}", "get">; + /** + * @see https://docs.github.com/v3/teams/#list-team-projects + */ + "GET /orgs/{org}/teams/{team_slug}/projects": Operation<"/orgs/{org}/teams/{team_slug}/projects", "get", "inertia">; + /** + * @see https://docs.github.com/v3/teams/#check-team-permissions-for-a-project + */ + "GET /orgs/{org}/teams/{team_slug}/projects/{project_id}": Operation<"/orgs/{org}/teams/{team_slug}/projects/{project_id}", "get", "inertia">; + /** + * @see https://docs.github.com/v3/teams/#list-team-repositories + */ + "GET /orgs/{org}/teams/{team_slug}/repos": Operation<"/orgs/{org}/teams/{team_slug}/repos", "get">; + /** + * @see https://docs.github.com/v3/teams/#check-team-permissions-for-a-repository + */ + "GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}": Operation<"/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-idp-groups-for-a-team + */ + "GET /orgs/{org}/teams/{team_slug}/team-sync/group-mappings": Operation<"/orgs/{org}/teams/{team_slug}/team-sync/group-mappings", "get">; + /** + * @see https://docs.github.com/v3/teams/#list-child-teams + */ + "GET /orgs/{org}/teams/{team_slug}/teams": Operation<"/orgs/{org}/teams/{team_slug}/teams", "get">; + /** + * @see https://docs.github.com/rest/reference/projects#get-a-project-card + */ + "GET /projects/columns/cards/{card_id}": Operation<"/projects/columns/cards/{card_id}", "get", "inertia">; + /** + * @see https://docs.github.com/rest/reference/projects#get-a-project-column + */ + "GET /projects/columns/{column_id}": Operation<"/projects/columns/{column_id}", "get", "inertia">; + /** + * @see https://docs.github.com/rest/reference/projects#list-project-cards + */ + "GET /projects/columns/{column_id}/cards": Operation<"/projects/columns/{column_id}/cards", "get", "inertia">; + /** + * @see https://docs.github.com/v3/projects/#get-a-project + */ + "GET /projects/{project_id}": Operation<"/projects/{project_id}", "get", "inertia">; + /** + * @see https://docs.github.com/rest/reference/projects#list-project-collaborators + */ + "GET /projects/{project_id}/collaborators": Operation<"/projects/{project_id}/collaborators", "get", "inertia">; + /** + * @see https://docs.github.com/rest/reference/projects#get-project-permission-for-a-user + */ + "GET /projects/{project_id}/collaborators/{username}/permission": Operation<"/projects/{project_id}/collaborators/{username}/permission", "get", "inertia">; + /** + * @see https://docs.github.com/rest/reference/projects#list-project-columns + */ + "GET /projects/{project_id}/columns": Operation<"/projects/{project_id}/columns", "get", "inertia">; + /** + * @see https://docs.github.com/v3/rate_limit/#get-rate-limit-status-for-the-authenticated-user + */ + "GET /rate_limit": Operation<"/rate_limit", "get">; + /** + * @see https://docs.github.com/v3/repos/#get-a-repository + */ + "GET /repos/{owner}/{repo}": Operation<"/repos/{owner}/{repo}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-artifacts-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/artifacts": Operation<"/repos/{owner}/{repo}/actions/artifacts", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-an-artifact + */ + "GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}": Operation<"/repos/{owner}/{repo}/actions/artifacts/{artifact_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#download-an-artifact + */ + "GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}": Operation<"/repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-a-job-for-a-workflow-run + */ + "GET /repos/{owner}/{repo}/actions/jobs/{job_id}": Operation<"/repos/{owner}/{repo}/actions/jobs/{job_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#download-job-logs-for-a-workflow-run + */ + "GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs": Operation<"/repos/{owner}/{repo}/actions/jobs/{job_id}/logs", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-github-actions-permissions-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/permissions": Operation<"/repos/{owner}/{repo}/actions/permissions", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-allowed-actions-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/permissions/selected-actions": Operation<"/repos/{owner}/{repo}/actions/permissions/selected-actions", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-self-hosted-runners-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/runners": Operation<"/repos/{owner}/{repo}/actions/runners", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-runner-applications-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/runners/downloads": Operation<"/repos/{owner}/{repo}/actions/runners/downloads", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-a-self-hosted-runner-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/runners/{runner_id}": Operation<"/repos/{owner}/{repo}/actions/runners/{runner_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-workflow-runs-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/runs": Operation<"/repos/{owner}/{repo}/actions/runs", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-a-workflow-run + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-workflow-run-artifacts + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/artifacts", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-jobs-for-a-workflow-run + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/jobs", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#download-workflow-run-logs + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/logs", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-workflow-run-usage + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/timing", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-repository-secrets + */ + "GET /repos/{owner}/{repo}/actions/secrets": Operation<"/repos/{owner}/{repo}/actions/secrets", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-a-repository-public-key + */ + "GET /repos/{owner}/{repo}/actions/secrets/public-key": Operation<"/repos/{owner}/{repo}/actions/secrets/public-key", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-a-repository-secret + */ + "GET /repos/{owner}/{repo}/actions/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/actions/secrets/{secret_name}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-repository-workflows + */ + "GET /repos/{owner}/{repo}/actions/workflows": Operation<"/repos/{owner}/{repo}/actions/workflows", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-a-workflow + */ + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}": Operation<"/repos/{owner}/{repo}/actions/workflows/{workflow_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-workflow-runs + */ + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs": Operation<"/repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-workflow-usage + */ + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing": Operation<"/repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#list-assignees + */ + "GET /repos/{owner}/{repo}/assignees": Operation<"/repos/{owner}/{repo}/assignees", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#check-if-a-user-can-be-assigned + */ + "GET /repos/{owner}/{repo}/assignees/{assignee}": Operation<"/repos/{owner}/{repo}/assignees/{assignee}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-branches + */ + "GET /repos/{owner}/{repo}/branches": Operation<"/repos/{owner}/{repo}/branches", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-branch + */ + "GET /repos/{owner}/{repo}/branches/{branch}": Operation<"/repos/{owner}/{repo}/branches/{branch}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-branch-protection + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-admin-branch-protection + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-pull-request-review-protection + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-commit-signature-protection + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", "get", "zzzax">; + /** + * @see https://docs.github.com/rest/reference/repos#get-status-checks-protection + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-all-status-check-contexts + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-access-restrictions + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-apps-with-access-to-the-protected-branch + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-teams-with-access-to-the-protected-branch + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-users-with-access-to-the-protected-branch + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", "get">; + /** + * @see https://docs.github.com/rest/reference/checks#get-a-check-run + */ + "GET /repos/{owner}/{repo}/check-runs/{check_run_id}": Operation<"/repos/{owner}/{repo}/check-runs/{check_run_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/checks#list-check-run-annotations + */ + "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations": Operation<"/repos/{owner}/{repo}/check-runs/{check_run_id}/annotations", "get">; + /** + * @see https://docs.github.com/rest/reference/checks#get-a-check-suite + */ + "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}": Operation<"/repos/{owner}/{repo}/check-suites/{check_suite_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/checks#list-check-runs-in-a-check-suite + */ + "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs": Operation<"/repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs", "get">; + /** + * @see https://docs.github.com/v3/code-scanning/#list-code-scanning-alerts-for-a-repository + */ + "GET /repos/{owner}/{repo}/code-scanning/alerts": Operation<"/repos/{owner}/{repo}/code-scanning/alerts", "get">; + /** + * @see https://docs.github.com/v3/code-scanning/#get-a-code-scanning-alert + * @deprecated "alert_id" is now "alert_number" + */ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_id}": Operation<"/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", "get">; + /** + * @see https://docs.github.com/v3/code-scanning/#get-a-code-scanning-alert + */ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}": Operation<"/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", "get">; + /** + * @see https://docs.github.com/v3/code-scanning/#list-recent-analyses + */ + "GET /repos/{owner}/{repo}/code-scanning/analyses": Operation<"/repos/{owner}/{repo}/code-scanning/analyses", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-repository-collaborators + */ + "GET /repos/{owner}/{repo}/collaborators": Operation<"/repos/{owner}/{repo}/collaborators", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#check-if-a-user-is-a-repository-collaborator + */ + "GET /repos/{owner}/{repo}/collaborators/{username}": Operation<"/repos/{owner}/{repo}/collaborators/{username}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-repository-permissions-for-a-user + */ + "GET /repos/{owner}/{repo}/collaborators/{username}/permission": Operation<"/repos/{owner}/{repo}/collaborators/{username}/permission", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-commit-comments-for-a-repository + */ + "GET /repos/{owner}/{repo}/comments": Operation<"/repos/{owner}/{repo}/comments", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-commit-comment + */ + "GET /repos/{owner}/{repo}/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/comments/{comment_id}", "get">; + /** + * @see https://docs.github.com/v3/reactions/#list-reactions-for-a-commit-comment + */ + "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/comments/{comment_id}/reactions", "get", "squirrel-girl">; + /** + * @see https://docs.github.com/rest/reference/repos#list-commits + */ + "GET /repos/{owner}/{repo}/commits": Operation<"/repos/{owner}/{repo}/commits", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-branches-for-head-commit + */ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head": Operation<"/repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head", "get", "groot">; + /** + * @see https://docs.github.com/rest/reference/repos#list-commit-comments + */ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments": Operation<"/repos/{owner}/{repo}/commits/{commit_sha}/comments", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-pull-requests-associated-with-a-commit + */ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls": Operation<"/repos/{owner}/{repo}/commits/{commit_sha}/pulls", "get", "groot">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-commit + */ + "GET /repos/{owner}/{repo}/commits/{ref}": Operation<"/repos/{owner}/{repo}/commits/{ref}", "get">; + /** + * @see https://docs.github.com/rest/reference/checks#list-check-runs-for-a-git-reference + */ + "GET /repos/{owner}/{repo}/commits/{ref}/check-runs": Operation<"/repos/{owner}/{repo}/commits/{ref}/check-runs", "get">; + /** + * @see https://docs.github.com/rest/reference/checks#list-check-suites-for-a-git-reference + */ + "GET /repos/{owner}/{repo}/commits/{ref}/check-suites": Operation<"/repos/{owner}/{repo}/commits/{ref}/check-suites", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-the-combined-status-for-a-specific-reference + */ + "GET /repos/{owner}/{repo}/commits/{ref}/status": Operation<"/repos/{owner}/{repo}/commits/{ref}/status", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-commit-statuses-for-a-reference + */ + "GET /repos/{owner}/{repo}/commits/{ref}/statuses": Operation<"/repos/{owner}/{repo}/commits/{ref}/statuses", "get">; + /** + * @see https://docs.github.com/v3/codes_of_conduct/#get-the-code-of-conduct-for-a-repository + */ + "GET /repos/{owner}/{repo}/community/code_of_conduct": Operation<"/repos/{owner}/{repo}/community/code_of_conduct", "get", "scarlet-witch">; + /** + * @see https://docs.github.com/rest/reference/repos#get-community-profile-metrics + */ + "GET /repos/{owner}/{repo}/community/profile": Operation<"/repos/{owner}/{repo}/community/profile", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#compare-two-commits + */ + "GET /repos/{owner}/{repo}/compare/{base}...{head}": Operation<"/repos/{owner}/{repo}/compare/{base}...{head}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-repository-content + */ + "GET /repos/{owner}/{repo}/contents/{path}": Operation<"/repos/{owner}/{repo}/contents/{path}", "get">; + /** + * @see https://docs.github.com/v3/repos/#list-repository-contributors + */ + "GET /repos/{owner}/{repo}/contributors": Operation<"/repos/{owner}/{repo}/contributors", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-deployments + */ + "GET /repos/{owner}/{repo}/deployments": Operation<"/repos/{owner}/{repo}/deployments", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-deployment + */ + "GET /repos/{owner}/{repo}/deployments/{deployment_id}": Operation<"/repos/{owner}/{repo}/deployments/{deployment_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-deployment-statuses + */ + "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses": Operation<"/repos/{owner}/{repo}/deployments/{deployment_id}/statuses", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-deployment-status + */ + "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}": Operation<"/repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-repository-events + */ + "GET /repos/{owner}/{repo}/events": Operation<"/repos/{owner}/{repo}/events", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-forks + */ + "GET /repos/{owner}/{repo}/forks": Operation<"/repos/{owner}/{repo}/forks", "get">; + /** + * @see https://docs.github.com/rest/reference/git#get-a-blob + */ + "GET /repos/{owner}/{repo}/git/blobs/{file_sha}": Operation<"/repos/{owner}/{repo}/git/blobs/{file_sha}", "get">; + /** + * @see https://docs.github.com/rest/reference/git#get-a-commit + */ + "GET /repos/{owner}/{repo}/git/commits/{commit_sha}": Operation<"/repos/{owner}/{repo}/git/commits/{commit_sha}", "get">; + /** + * @see https://docs.github.com/rest/reference/git#list-matching-references + */ + "GET /repos/{owner}/{repo}/git/matching-refs/{ref}": Operation<"/repos/{owner}/{repo}/git/matching-refs/{ref}", "get">; + /** + * @see https://docs.github.com/rest/reference/git#get-a-reference + */ + "GET /repos/{owner}/{repo}/git/ref/{ref}": Operation<"/repos/{owner}/{repo}/git/ref/{ref}", "get">; + /** + * @see https://docs.github.com/rest/reference/git#get-a-tag + */ + "GET /repos/{owner}/{repo}/git/tags/{tag_sha}": Operation<"/repos/{owner}/{repo}/git/tags/{tag_sha}", "get">; + /** + * @see https://docs.github.com/rest/reference/git#get-a-tree + */ + "GET /repos/{owner}/{repo}/git/trees/{tree_sha}": Operation<"/repos/{owner}/{repo}/git/trees/{tree_sha}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-repository-webhooks + */ + "GET /repos/{owner}/{repo}/hooks": Operation<"/repos/{owner}/{repo}/hooks", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-repository-webhook + */ + "GET /repos/{owner}/{repo}/hooks/{hook_id}": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}", "get">; + /** + * @see https://docs.github.com/v3/repos#get-a-webhook-configuration-for-a-repository + */ + "GET /repos/{owner}/{repo}/hooks/{hook_id}/config": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}/config", "get">; + /** + * @see https://docs.github.com/rest/reference/migrations#get-an-import-status + */ + "GET /repos/{owner}/{repo}/import": Operation<"/repos/{owner}/{repo}/import", "get">; + /** + * @see https://docs.github.com/rest/reference/migrations#get-commit-authors + */ + "GET /repos/{owner}/{repo}/import/authors": Operation<"/repos/{owner}/{repo}/import/authors", "get">; + /** + * @see https://docs.github.com/rest/reference/migrations#get-large-files + */ + "GET /repos/{owner}/{repo}/import/large_files": Operation<"/repos/{owner}/{repo}/import/large_files", "get">; + /** + * @see https://docs.github.com/v3/apps/#get-a-repository-installation-for-the-authenticated-app + */ + "GET /repos/{owner}/{repo}/installation": Operation<"/repos/{owner}/{repo}/installation", "get">; + /** + * @see https://docs.github.com/rest/reference/interactions#get-interaction-restrictions-for-a-repository + */ + "GET /repos/{owner}/{repo}/interaction-limits": Operation<"/repos/{owner}/{repo}/interaction-limits", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-repository-invitations + */ + "GET /repos/{owner}/{repo}/invitations": Operation<"/repos/{owner}/{repo}/invitations", "get">; + /** + * @see https://docs.github.com/v3/issues/#list-repository-issues + */ + "GET /repos/{owner}/{repo}/issues": Operation<"/repos/{owner}/{repo}/issues", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#list-issue-comments-for-a-repository + */ + "GET /repos/{owner}/{repo}/issues/comments": Operation<"/repos/{owner}/{repo}/issues/comments", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#get-an-issue-comment + */ + "GET /repos/{owner}/{repo}/issues/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/issues/comments/{comment_id}", "get">; + /** + * @see https://docs.github.com/v3/reactions/#list-reactions-for-an-issue-comment + */ + "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", "get", "squirrel-girl">; + /** + * @see https://docs.github.com/rest/reference/issues#list-issue-events-for-a-repository + */ + "GET /repos/{owner}/{repo}/issues/events": Operation<"/repos/{owner}/{repo}/issues/events", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#get-an-issue-event + */ + "GET /repos/{owner}/{repo}/issues/events/{event_id}": Operation<"/repos/{owner}/{repo}/issues/events/{event_id}", "get">; + /** + * @see https://docs.github.com/v3/issues/#get-an-issue + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}": Operation<"/repos/{owner}/{repo}/issues/{issue_number}", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#list-issue-comments + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/comments": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/comments", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#list-issue-events + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/events": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/events", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#list-labels-for-an-issue + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/labels": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/labels", "get">; + /** + * @see https://docs.github.com/v3/reactions/#list-reactions-for-an-issue + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/reactions", "get", "squirrel-girl">; + /** + * @see https://docs.github.com/rest/reference/issues#list-timeline-events-for-an-issue + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/timeline", "get", "mockingbird">; + /** + * @see https://docs.github.com/rest/reference/repos#list-deploy-keys + */ + "GET /repos/{owner}/{repo}/keys": Operation<"/repos/{owner}/{repo}/keys", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-deploy-key + */ + "GET /repos/{owner}/{repo}/keys/{key_id}": Operation<"/repos/{owner}/{repo}/keys/{key_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#list-labels-for-a-repository + */ + "GET /repos/{owner}/{repo}/labels": Operation<"/repos/{owner}/{repo}/labels", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#get-a-label + */ + "GET /repos/{owner}/{repo}/labels/{name}": Operation<"/repos/{owner}/{repo}/labels/{name}", "get">; + /** + * @see https://docs.github.com/v3/repos/#list-repository-languages + */ + "GET /repos/{owner}/{repo}/languages": Operation<"/repos/{owner}/{repo}/languages", "get">; + /** + * @see https://docs.github.com/v3/licenses/#get-the-license-for-a-repository + */ + "GET /repos/{owner}/{repo}/license": Operation<"/repos/{owner}/{repo}/license", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#list-milestones + */ + "GET /repos/{owner}/{repo}/milestones": Operation<"/repos/{owner}/{repo}/milestones", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#get-a-milestone + */ + "GET /repos/{owner}/{repo}/milestones/{milestone_number}": Operation<"/repos/{owner}/{repo}/milestones/{milestone_number}", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#list-labels-for-issues-in-a-milestone + */ + "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels": Operation<"/repos/{owner}/{repo}/milestones/{milestone_number}/labels", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-repository-notifications-for-the-authenticated-user + */ + "GET /repos/{owner}/{repo}/notifications": Operation<"/repos/{owner}/{repo}/notifications", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-github-pages-site + */ + "GET /repos/{owner}/{repo}/pages": Operation<"/repos/{owner}/{repo}/pages", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-github-pages-builds + */ + "GET /repos/{owner}/{repo}/pages/builds": Operation<"/repos/{owner}/{repo}/pages/builds", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-latest-pages-build + */ + "GET /repos/{owner}/{repo}/pages/builds/latest": Operation<"/repos/{owner}/{repo}/pages/builds/latest", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-github-pages-build + */ + "GET /repos/{owner}/{repo}/pages/builds/{build_id}": Operation<"/repos/{owner}/{repo}/pages/builds/{build_id}", "get">; + /** + * @see https://docs.github.com/v3/projects/#list-repository-projects + */ + "GET /repos/{owner}/{repo}/projects": Operation<"/repos/{owner}/{repo}/projects", "get", "inertia">; + /** + * @see https://docs.github.com/v3/pulls/#list-pull-requests + */ + "GET /repos/{owner}/{repo}/pulls": Operation<"/repos/{owner}/{repo}/pulls", "get">; + /** + * @see https://docs.github.com/rest/reference/pulls#list-review-comments-in-a-repository + */ + "GET /repos/{owner}/{repo}/pulls/comments": Operation<"/repos/{owner}/{repo}/pulls/comments", "get">; + /** + * @see https://docs.github.com/rest/reference/pulls#get-a-review-comment-for-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/pulls/comments/{comment_id}", "get">; + /** + * @see https://docs.github.com/v3/reactions/#list-reactions-for-a-pull-request-review-comment + */ + "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", "get", "squirrel-girl">; + /** + * @see https://docs.github.com/v3/pulls/#get-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}", "get">; + /** + * @see https://docs.github.com/rest/reference/pulls#list-review-comments-on-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/comments", "get">; + /** + * @see https://docs.github.com/v3/pulls/#list-commits-on-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/commits", "get">; + /** + * @see https://docs.github.com/v3/pulls/#list-pull-requests-files + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/files": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/files", "get">; + /** + * @see https://docs.github.com/v3/pulls/#check-if-a-pull-request-has-been-merged + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/merge": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/merge", "get">; + /** + * @see https://docs.github.com/rest/reference/pulls#list-requested-reviewers-for-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", "get">; + /** + * @see https://docs.github.com/rest/reference/pulls#list-reviews-for-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews", "get">; + /** + * @see https://docs.github.com/rest/reference/pulls#get-a-review-for-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/pulls#list-comments-for-a-pull-request-review + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-repository-readme + */ + "GET /repos/{owner}/{repo}/readme": Operation<"/repos/{owner}/{repo}/readme", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-releases + */ + "GET /repos/{owner}/{repo}/releases": Operation<"/repos/{owner}/{repo}/releases", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-release-asset + */ + "GET /repos/{owner}/{repo}/releases/assets/{asset_id}": Operation<"/repos/{owner}/{repo}/releases/assets/{asset_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-the-latest-release + */ + "GET /repos/{owner}/{repo}/releases/latest": Operation<"/repos/{owner}/{repo}/releases/latest", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-release-by-tag-name + */ + "GET /repos/{owner}/{repo}/releases/tags/{tag}": Operation<"/repos/{owner}/{repo}/releases/tags/{tag}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-release + */ + "GET /repos/{owner}/{repo}/releases/{release_id}": Operation<"/repos/{owner}/{repo}/releases/{release_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-release-assets + */ + "GET /repos/{owner}/{repo}/releases/{release_id}/assets": Operation<"/repos/{owner}/{repo}/releases/{release_id}/assets", "get">; + /** + * @see https://docs.github.com/rest/reference/secret-scanning#list-secret-scanning-alerts-for-a-repository + */ + "GET /repos/{owner}/{repo}/secret-scanning/alerts": Operation<"/repos/{owner}/{repo}/secret-scanning/alerts", "get">; + /** + * @see https://docs.github.com/rest/reference/secret-scanning#get-a-secret-scanning-alert + */ + "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}": Operation<"/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-stargazers + */ + "GET /repos/{owner}/{repo}/stargazers": Operation<"/repos/{owner}/{repo}/stargazers", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-the-weekly-commit-activity + */ + "GET /repos/{owner}/{repo}/stats/code_frequency": Operation<"/repos/{owner}/{repo}/stats/code_frequency", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-the-last-year-of-commit-activity + */ + "GET /repos/{owner}/{repo}/stats/commit_activity": Operation<"/repos/{owner}/{repo}/stats/commit_activity", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-all-contributor-commit-activity + */ + "GET /repos/{owner}/{repo}/stats/contributors": Operation<"/repos/{owner}/{repo}/stats/contributors", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-the-weekly-commit-count + */ + "GET /repos/{owner}/{repo}/stats/participation": Operation<"/repos/{owner}/{repo}/stats/participation", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-the-hourly-commit-count-for-each-day + */ + "GET /repos/{owner}/{repo}/stats/punch_card": Operation<"/repos/{owner}/{repo}/stats/punch_card", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-watchers + */ + "GET /repos/{owner}/{repo}/subscribers": Operation<"/repos/{owner}/{repo}/subscribers", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#get-a-repository-subscription + */ + "GET /repos/{owner}/{repo}/subscription": Operation<"/repos/{owner}/{repo}/subscription", "get">; + /** + * @see https://docs.github.com/v3/repos/#list-repository-tags + */ + "GET /repos/{owner}/{repo}/tags": Operation<"/repos/{owner}/{repo}/tags", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#download-a-repository-archive + */ + "GET /repos/{owner}/{repo}/tarball/{ref}": Operation<"/repos/{owner}/{repo}/tarball/{ref}", "get">; + /** + * @see https://docs.github.com/v3/repos/#list-repository-teams + */ + "GET /repos/{owner}/{repo}/teams": Operation<"/repos/{owner}/{repo}/teams", "get">; + /** + * @see https://docs.github.com/v3/repos/#get-all-repository-topics + */ + "GET /repos/{owner}/{repo}/topics": Operation<"/repos/{owner}/{repo}/topics", "get", "mercy">; + /** + * @see https://docs.github.com/rest/reference/repos#get-repository-clones + */ + "GET /repos/{owner}/{repo}/traffic/clones": Operation<"/repos/{owner}/{repo}/traffic/clones", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-top-referral-paths + */ + "GET /repos/{owner}/{repo}/traffic/popular/paths": Operation<"/repos/{owner}/{repo}/traffic/popular/paths", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-top-referral-sources + */ + "GET /repos/{owner}/{repo}/traffic/popular/referrers": Operation<"/repos/{owner}/{repo}/traffic/popular/referrers", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-page-views + */ + "GET /repos/{owner}/{repo}/traffic/views": Operation<"/repos/{owner}/{repo}/traffic/views", "get">; + /** + * @see https://docs.github.com/v3/repos/#check-if-vulnerability-alerts-are-enabled-for-a-repository + */ + "GET /repos/{owner}/{repo}/vulnerability-alerts": Operation<"/repos/{owner}/{repo}/vulnerability-alerts", "get", "dorian">; + /** + * @see https://docs.github.com/rest/reference/repos#download-a-repository-archive + */ + "GET /repos/{owner}/{repo}/zipball/{ref}": Operation<"/repos/{owner}/{repo}/zipball/{ref}", "get">; + /** + * @see https://docs.github.com/v3/repos/#list-public-repositories + */ + "GET /repositories": Operation<"/repositories", "get">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#list-provisioned-scim groups-for-an-enterprise + */ + "GET /scim/v2/enterprises/{enterprise}/Groups": Operation<"/scim/v2/enterprises/{enterprise}/Groups", "get">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#get-scim-provisioning-information-for-an-enterprise group + */ + "GET /scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}": Operation<"/scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#list-scim-provisioned-identities-for-an-enterprise + */ + "GET /scim/v2/enterprises/{enterprise}/Users": Operation<"/scim/v2/enterprises/{enterprise}/Users", "get">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#get-scim-provisioning-information-for-an-enterprise-user + */ + "GET /scim/v2/enterprises/{enterprise}/Users/{scim_user_id}": Operation<"/scim/v2/enterprises/{enterprise}/Users/{scim_user_id}", "get">; + /** + * @see https://docs.github.com/v3/scim/#list-scim-provisioned-identities + */ + "GET /scim/v2/organizations/{org}/Users": Operation<"/scim/v2/organizations/{org}/Users", "get">; + /** + * @see https://docs.github.com/v3/scim/#get-scim-provisioning-information-for-a-user + */ + "GET /scim/v2/organizations/{org}/Users/{scim_user_id}": Operation<"/scim/v2/organizations/{org}/Users/{scim_user_id}", "get">; + /** + * @see https://docs.github.com/v3/search/#search-code + */ + "GET /search/code": Operation<"/search/code", "get">; + /** + * @see https://docs.github.com/v3/search/#search-commits + */ + "GET /search/commits": Operation<"/search/commits", "get", "cloak">; + /** + * @see https://docs.github.com/v3/search/#search-issues-and-pull-requests + */ + "GET /search/issues": Operation<"/search/issues", "get">; + /** + * @see https://docs.github.com/v3/search/#search-labels + */ + "GET /search/labels": Operation<"/search/labels", "get">; + /** + * @see https://docs.github.com/v3/search/#search-repositories + */ + "GET /search/repositories": Operation<"/search/repositories", "get">; + /** + * @see https://docs.github.com/v3/search/#search-topics + */ + "GET /search/topics": Operation<"/search/topics", "get", "mercy">; + /** + * @see https://docs.github.com/v3/search/#search-users + */ + "GET /search/users": Operation<"/search/users", "get">; + /** + * @see https://docs.github.com/v3/teams/#get-a-team-legacy + */ + "GET /teams/{team_id}": Operation<"/teams/{team_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-discussions-legacy + */ + "GET /teams/{team_id}/discussions": Operation<"/teams/{team_id}/discussions", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#get-a-discussion-legacy + */ + "GET /teams/{team_id}/discussions/{discussion_number}": Operation<"/teams/{team_id}/discussions/{discussion_number}", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-discussion-comments-legacy + */ + "GET /teams/{team_id}/discussions/{discussion_number}/comments": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#get-a-discussion-comment-legacy + */ + "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}", "get">; + /** + * @see https://docs.github.com/v3/reactions/#list-reactions-for-a-team-discussion-comment-legacy + */ + "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions", "get", "squirrel-girl">; + /** + * @see https://docs.github.com/v3/reactions/#list-reactions-for-a-team-discussion-legacy + */ + "GET /teams/{team_id}/discussions/{discussion_number}/reactions": Operation<"/teams/{team_id}/discussions/{discussion_number}/reactions", "get", "squirrel-girl">; + /** + * @see https://docs.github.com/rest/reference/teams#list-pending-team-invitations-legacy + */ + "GET /teams/{team_id}/invitations": Operation<"/teams/{team_id}/invitations", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-team-members-legacy + */ + "GET /teams/{team_id}/members": Operation<"/teams/{team_id}/members", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#get-team-member-legacy + */ + "GET /teams/{team_id}/members/{username}": Operation<"/teams/{team_id}/members/{username}", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#get-team-membership-for-a-user-legacy + */ + "GET /teams/{team_id}/memberships/{username}": Operation<"/teams/{team_id}/memberships/{username}", "get">; + /** + * @see https://docs.github.com/v3/teams/#list-team-projects-legacy + */ + "GET /teams/{team_id}/projects": Operation<"/teams/{team_id}/projects", "get", "inertia">; + /** + * @see https://docs.github.com/v3/teams/#check-team-permissions-for-a-project-legacy + */ + "GET /teams/{team_id}/projects/{project_id}": Operation<"/teams/{team_id}/projects/{project_id}", "get", "inertia">; + /** + * @see https://docs.github.com/v3/teams/#list-team-repositories-legacy + */ + "GET /teams/{team_id}/repos": Operation<"/teams/{team_id}/repos", "get">; + /** + * @see https://docs.github.com/v3/teams/#check-team-permissions-for-a-repository-legacy + */ + "GET /teams/{team_id}/repos/{owner}/{repo}": Operation<"/teams/{team_id}/repos/{owner}/{repo}", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-idp-groups-for-a-team-legacy + */ + "GET /teams/{team_id}/team-sync/group-mappings": Operation<"/teams/{team_id}/team-sync/group-mappings", "get">; + /** + * @see https://docs.github.com/v3/teams/#list-child-teams-legacy + */ + "GET /teams/{team_id}/teams": Operation<"/teams/{team_id}/teams", "get">; + /** + * @see https://docs.github.com/v3/users/#get-the-authenticated-user + */ + "GET /user": Operation<"/user", "get">; + /** + * @see https://docs.github.com/rest/reference/users#list-users-blocked-by-the-authenticated-user + */ + "GET /user/blocks": Operation<"/user/blocks", "get">; + /** + * @see https://docs.github.com/rest/reference/users#check-if-a-user-is-blocked-by-the-authenticated-user + */ + "GET /user/blocks/{username}": Operation<"/user/blocks/{username}", "get">; + /** + * @see https://docs.github.com/rest/reference/users#list-email-addresses-for-the-authenticated-user + */ + "GET /user/emails": Operation<"/user/emails", "get">; + /** + * @see https://docs.github.com/rest/reference/users#list-followers-of-the-authenticated-user + */ + "GET /user/followers": Operation<"/user/followers", "get">; + /** + * @see https://docs.github.com/rest/reference/users#list-the-people-the-authenticated-user-follows + */ + "GET /user/following": Operation<"/user/following", "get">; + /** + * @see https://docs.github.com/rest/reference/users#check-if-a-person-is-followed-by-the-authenticated-user + */ + "GET /user/following/{username}": Operation<"/user/following/{username}", "get">; + /** + * @see https://docs.github.com/rest/reference/users#list-gpg-keys-for-the-authenticated-user + */ + "GET /user/gpg_keys": Operation<"/user/gpg_keys", "get">; + /** + * @see https://docs.github.com/rest/reference/users#get-a-gpg-key-for-the-authenticated-user + */ + "GET /user/gpg_keys/{gpg_key_id}": Operation<"/user/gpg_keys/{gpg_key_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#list-app-installations-accessible-to-the-user-access-token + */ + "GET /user/installations": Operation<"/user/installations", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#list-repositories-accessible-to-the-user-access-token + */ + "GET /user/installations/{installation_id}/repositories": Operation<"/user/installations/{installation_id}/repositories", "get">; + /** + * @see https://docs.github.com/rest/reference/interactions#get-interaction-restrictions-for-your-public-repositories + */ + "GET /user/interaction-limits": Operation<"/user/interaction-limits", "get">; + /** + * @see https://docs.github.com/v3/issues/#list-user-account-issues-assigned-to-the-authenticated-user + */ + "GET /user/issues": Operation<"/user/issues", "get">; + /** + * @see https://docs.github.com/rest/reference/users#list-public-ssh-keys-for-the-authenticated-user + */ + "GET /user/keys": Operation<"/user/keys", "get">; + /** + * @see https://docs.github.com/rest/reference/users#get-a-public-ssh-key-for-the-authenticated-user + */ + "GET /user/keys/{key_id}": Operation<"/user/keys/{key_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#list-subscriptions-for-the-authenticated-user + */ + "GET /user/marketplace_purchases": Operation<"/user/marketplace_purchases", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#list-subscriptions-for-the-authenticated-user-stubbed + */ + "GET /user/marketplace_purchases/stubbed": Operation<"/user/marketplace_purchases/stubbed", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-organization-memberships-for-the-authenticated-user + */ + "GET /user/memberships/orgs": Operation<"/user/memberships/orgs", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#get-an-organization-membership-for-the-authenticated-user + */ + "GET /user/memberships/orgs/{org}": Operation<"/user/memberships/orgs/{org}", "get">; + /** + * @see https://docs.github.com/rest/reference/migrations#list-user-migrations + */ + "GET /user/migrations": Operation<"/user/migrations", "get", "wyandotte">; + /** + * @see https://docs.github.com/rest/reference/migrations#get-a-user-migration-status + */ + "GET /user/migrations/{migration_id}": Operation<"/user/migrations/{migration_id}", "get", "wyandotte">; + /** + * @see https://docs.github.com/rest/reference/migrations#download-a-user-migration-archive + */ + "GET /user/migrations/{migration_id}/archive": Operation<"/user/migrations/{migration_id}/archive", "get", "wyandotte">; + /** + * @see https://docs.github.com/rest/reference/migrations#list-repositories-for-a-user-migration + */ + "GET /user/migrations/{migration_id}/repositories": Operation<"/user/migrations/{migration_id}/repositories", "get", "wyandotte">; + /** + * @see https://docs.github.com/v3/orgs/#list-organizations-for-the-authenticated-user + */ + "GET /user/orgs": Operation<"/user/orgs", "get">; + /** + * @see https://docs.github.com/rest/reference/users#list-public-email-addresses-for-the-authenticated-user + */ + "GET /user/public_emails": Operation<"/user/public_emails", "get">; + /** + * @see https://docs.github.com/v3/repos/#list-repositories-for-the-authenticated-user + */ + "GET /user/repos": Operation<"/user/repos", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-repository-invitations-for-the-authenticated-user + */ + "GET /user/repository_invitations": Operation<"/user/repository_invitations", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-repositories-starred-by-the-authenticated-user + */ + "GET /user/starred": Operation<"/user/starred", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#check-if-a-repository-is-starred-by-the-authenticated-user + */ + "GET /user/starred/{owner}/{repo}": Operation<"/user/starred/{owner}/{repo}", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-repositories-watched-by-the-authenticated-user + */ + "GET /user/subscriptions": Operation<"/user/subscriptions", "get">; + /** + * @see https://docs.github.com/v3/teams/#list-teams-for-the-authenticated-user + */ + "GET /user/teams": Operation<"/user/teams", "get">; + /** + * @see https://docs.github.com/v3/users/#list-users + */ + "GET /users": Operation<"/users", "get">; + /** + * @see https://docs.github.com/v3/users/#get-a-user + */ + "GET /users/{username}": Operation<"/users/{username}", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-events-for-the-authenticated-user + */ + "GET /users/{username}/events": Operation<"/users/{username}/events", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-organization-events-for-the-authenticated-user + */ + "GET /users/{username}/events/orgs/{org}": Operation<"/users/{username}/events/orgs/{org}", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-public-events-for-a-user + */ + "GET /users/{username}/events/public": Operation<"/users/{username}/events/public", "get">; + /** + * @see https://docs.github.com/rest/reference/users#list-followers-of-a-user + */ + "GET /users/{username}/followers": Operation<"/users/{username}/followers", "get">; + /** + * @see https://docs.github.com/rest/reference/users#list-the-people-a-user-follows + */ + "GET /users/{username}/following": Operation<"/users/{username}/following", "get">; + /** + * @see https://docs.github.com/rest/reference/users#check-if-a-user-follows-another-user + */ + "GET /users/{username}/following/{target_user}": Operation<"/users/{username}/following/{target_user}", "get">; + /** + * @see https://docs.github.com/v3/gists/#list-gists-for-a-user + */ + "GET /users/{username}/gists": Operation<"/users/{username}/gists", "get">; + /** + * @see https://docs.github.com/rest/reference/users#list-gpg-keys-for-a-user + */ + "GET /users/{username}/gpg_keys": Operation<"/users/{username}/gpg_keys", "get">; + /** + * @see https://docs.github.com/v3/users/#get-contextual-information-for-a-user + */ + "GET /users/{username}/hovercard": Operation<"/users/{username}/hovercard", "get">; + /** + * @see https://docs.github.com/v3/apps/#get-a-user-installation-for-the-authenticated-app + */ + "GET /users/{username}/installation": Operation<"/users/{username}/installation", "get">; + /** + * @see https://docs.github.com/rest/reference/users#list-public-keys-for-a-user + */ + "GET /users/{username}/keys": Operation<"/users/{username}/keys", "get">; + /** + * @see https://docs.github.com/v3/orgs/#list-organizations-for-a-user + */ + "GET /users/{username}/orgs": Operation<"/users/{username}/orgs", "get">; + /** + * @see https://docs.github.com/v3/projects/#list-user-projects + */ + "GET /users/{username}/projects": Operation<"/users/{username}/projects", "get", "inertia">; + /** + * @see https://docs.github.com/rest/reference/activity#list-events-received-by-the-authenticated-user + */ + "GET /users/{username}/received_events": Operation<"/users/{username}/received_events", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-public-events-received-by-a-user + */ + "GET /users/{username}/received_events/public": Operation<"/users/{username}/received_events/public", "get">; + /** + * @see https://docs.github.com/v3/repos/#list-repositories-for-a-user + */ + "GET /users/{username}/repos": Operation<"/users/{username}/repos", "get">; + /** + * @see https://docs.github.com/v3/billing/#get-github-actions-billing-for-a-user + */ + "GET /users/{username}/settings/billing/actions": Operation<"/users/{username}/settings/billing/actions", "get">; + /** + * @see https://docs.github.com/v3/billing/#get-github-packages-billing-for-a-user + */ + "GET /users/{username}/settings/billing/packages": Operation<"/users/{username}/settings/billing/packages", "get">; + /** + * @see https://docs.github.com/v3/billing/#get-shared-storage-billing-for-a-user + */ + "GET /users/{username}/settings/billing/shared-storage": Operation<"/users/{username}/settings/billing/shared-storage", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-repositories-starred-by-a-user + */ + "GET /users/{username}/starred": Operation<"/users/{username}/starred", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-repositories-watched-by-a-user + */ + "GET /users/{username}/subscriptions": Operation<"/users/{username}/subscriptions", "get">; + /** + * @see + */ + "GET /zen": Operation<"/zen", "get">; + /** + * @see https://docs.github.com/v3/apps#update-a-webhook-configuration-for-an-app + */ + "PATCH /app/hook/config": Operation<"/app/hook/config", "patch">; + /** + * @see https://docs.github.com/rest/reference/apps#reset-a-token + */ + "PATCH /applications/{client_id}/token": Operation<"/applications/{client_id}/token", "patch">; + /** + * @see https://docs.github.com/rest/reference/oauth-authorizations#update-an-existing-authorization + */ + "PATCH /authorizations/{authorization_id}": Operation<"/authorizations/{authorization_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#update-a-self-hosted-runner-group-for-an-enterprise + */ + "PATCH /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}", "patch">; + /** + * @see https://docs.github.com/v3/gists/#update-a-gist + */ + "PATCH /gists/{gist_id}": Operation<"/gists/{gist_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/gists#update-a-gist-comment + */ + "PATCH /gists/{gist_id}/comments/{comment_id}": Operation<"/gists/{gist_id}/comments/{comment_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/activity#mark-a-thread-as-read + */ + "PATCH /notifications/threads/{thread_id}": Operation<"/notifications/threads/{thread_id}", "patch">; + /** + * @see https://docs.github.com/v3/orgs/#update-an-organization + */ + "PATCH /orgs/{org}": Operation<"/orgs/{org}", "patch">; + /** + * @see https://docs.github.com/rest/reference/actions#update-a-self-hosted-runner-group-for-an-organization + */ + "PATCH /orgs/{org}/actions/runner-groups/{runner_group_id}": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/orgs#update-an-organization-webhook + */ + "PATCH /orgs/{org}/hooks/{hook_id}": Operation<"/orgs/{org}/hooks/{hook_id}", "patch">; + /** + * @see https://docs.github.com/v3/orgs#update-a-webhook-configuration-for-an-organization + */ + "PATCH /orgs/{org}/hooks/{hook_id}/config": Operation<"/orgs/{org}/hooks/{hook_id}/config", "patch">; + /** + * @see https://docs.github.com/v3/teams/#update-a-team + */ + "PATCH /orgs/{org}/teams/{team_slug}": Operation<"/orgs/{org}/teams/{team_slug}", "patch">; + /** + * @see https://docs.github.com/rest/reference/teams#update-a-discussion + */ + "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}", "patch">; + /** + * @see https://docs.github.com/rest/reference/teams#update-a-discussion-comment + */ + "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}", "patch">; + /** + * @see https://docs.github.com/rest/reference/teams#create-or-update-idp-group-connections + */ + "PATCH /orgs/{org}/teams/{team_slug}/team-sync/group-mappings": Operation<"/orgs/{org}/teams/{team_slug}/team-sync/group-mappings", "patch">; + /** + * @see https://docs.github.com/rest/reference/projects#update-a-project-card + */ + "PATCH /projects/columns/cards/{card_id}": Operation<"/projects/columns/cards/{card_id}", "patch", "inertia">; + /** + * @see https://docs.github.com/rest/reference/projects#update-a-project-column + */ + "PATCH /projects/columns/{column_id}": Operation<"/projects/columns/{column_id}", "patch", "inertia">; + /** + * @see https://docs.github.com/v3/projects/#update-a-project + */ + "PATCH /projects/{project_id}": Operation<"/projects/{project_id}", "patch", "inertia">; + /** + * @see https://docs.github.com/v3/repos/#update-a-repository + */ + "PATCH /repos/{owner}/{repo}": Operation<"/repos/{owner}/{repo}", "patch">; + /** + * @see https://docs.github.com/rest/reference/repos#update-pull-request-review-protection + */ + "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews", "patch">; + /** + * @see https://docs.github.com/rest/reference/repos#update-status-check-potection + */ + "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", "patch">; + /** + * @see https://docs.github.com/rest/reference/checks#update-a-check-run + */ + "PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}": Operation<"/repos/{owner}/{repo}/check-runs/{check_run_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/checks#update-repository-preferences-for-check-suites + */ + "PATCH /repos/{owner}/{repo}/check-suites/preferences": Operation<"/repos/{owner}/{repo}/check-suites/preferences", "patch">; + /** + * @see https://docs.github.com/v3/code-scanning/#upload-a-code-scanning-alert + */ + "PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}": Operation<"/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", "patch">; + /** + * @see https://docs.github.com/rest/reference/repos#update-a-commit-comment + */ + "PATCH /repos/{owner}/{repo}/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/comments/{comment_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/git#update-a-reference + */ + "PATCH /repos/{owner}/{repo}/git/refs/{ref}": Operation<"/repos/{owner}/{repo}/git/refs/{ref}", "patch">; + /** + * @see https://docs.github.com/rest/reference/repos#update-a-repository-webhook + */ + "PATCH /repos/{owner}/{repo}/hooks/{hook_id}": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}", "patch">; + /** + * @see https://docs.github.com/v3/repos#update-a-webhook-configuration-for-a-repository + */ + "PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}/config", "patch">; + /** + * @see https://docs.github.com/rest/reference/migrations#update-an-import + */ + "PATCH /repos/{owner}/{repo}/import": Operation<"/repos/{owner}/{repo}/import", "patch">; + /** + * @see https://docs.github.com/rest/reference/migrations#map-a-commit-author + */ + "PATCH /repos/{owner}/{repo}/import/authors/{author_id}": Operation<"/repos/{owner}/{repo}/import/authors/{author_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/migrations#update-git-lfs-preference + */ + "PATCH /repos/{owner}/{repo}/import/lfs": Operation<"/repos/{owner}/{repo}/import/lfs", "patch">; + /** + * @see https://docs.github.com/rest/reference/repos#update-a-repository-invitation + */ + "PATCH /repos/{owner}/{repo}/invitations/{invitation_id}": Operation<"/repos/{owner}/{repo}/invitations/{invitation_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/issues#update-an-issue-comment + */ + "PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/issues/comments/{comment_id}", "patch">; + /** + * @see https://docs.github.com/v3/issues/#update-an-issue + */ + "PATCH /repos/{owner}/{repo}/issues/{issue_number}": Operation<"/repos/{owner}/{repo}/issues/{issue_number}", "patch">; + /** + * @see https://docs.github.com/rest/reference/issues#update-a-label + */ + "PATCH /repos/{owner}/{repo}/labels/{name}": Operation<"/repos/{owner}/{repo}/labels/{name}", "patch">; + /** + * @see https://docs.github.com/rest/reference/issues#update-a-milestone + */ + "PATCH /repos/{owner}/{repo}/milestones/{milestone_number}": Operation<"/repos/{owner}/{repo}/milestones/{milestone_number}", "patch">; + /** + * @see https://docs.github.com/rest/reference/pulls#update-a-review-comment-for-a-pull-request + */ + "PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/pulls/comments/{comment_id}", "patch">; + /** + * @see https://docs.github.com/v3/pulls/#update-a-pull-request + */ + "PATCH /repos/{owner}/{repo}/pulls/{pull_number}": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}", "patch">; + /** + * @see https://docs.github.com/rest/reference/repos#update-a-release-asset + */ + "PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}": Operation<"/repos/{owner}/{repo}/releases/assets/{asset_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/repos#update-a-release + */ + "PATCH /repos/{owner}/{repo}/releases/{release_id}": Operation<"/repos/{owner}/{repo}/releases/{release_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/secret-scanning#update-a-secret-scanning-alert + */ + "PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}": Operation<"/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}", "patch">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#update-an-attribute-for-a-scim-enterprise-group + */ + "PATCH /scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}": Operation<"/scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#update-an-attribute-for-a-scim-enterprise-user + */ + "PATCH /scim/v2/enterprises/{enterprise}/Users/{scim_user_id}": Operation<"/scim/v2/enterprises/{enterprise}/Users/{scim_user_id}", "patch">; + /** + * @see https://docs.github.com/v3/scim/#update-an-attribute-for-a-scim-user + */ + "PATCH /scim/v2/organizations/{org}/Users/{scim_user_id}": Operation<"/scim/v2/organizations/{org}/Users/{scim_user_id}", "patch">; + /** + * @see https://docs.github.com/v3/teams/#update-a-team-legacy + */ + "PATCH /teams/{team_id}": Operation<"/teams/{team_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/teams#update-a-discussion-legacy + */ + "PATCH /teams/{team_id}/discussions/{discussion_number}": Operation<"/teams/{team_id}/discussions/{discussion_number}", "patch">; + /** + * @see https://docs.github.com/rest/reference/teams#update-a-discussion-comment-legacy + */ + "PATCH /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}", "patch">; + /** + * @see https://docs.github.com/rest/reference/teams#create-or-update-idp-group-connections-legacy + */ + "PATCH /teams/{team_id}/team-sync/group-mappings": Operation<"/teams/{team_id}/team-sync/group-mappings", "patch">; + /** + * @see https://docs.github.com/v3/users/#update-the-authenticated-user + */ + "PATCH /user": Operation<"/user", "patch">; + /** + * @see https://docs.github.com/rest/reference/users#set-primary-email-visibility-for-the-authenticated-user + */ + "PATCH /user/email/visibility": Operation<"/user/email/visibility", "patch">; + /** + * @see https://docs.github.com/rest/reference/orgs#update-an-organization-membership-for-the-authenticated-user + */ + "PATCH /user/memberships/orgs/{org}": Operation<"/user/memberships/orgs/{org}", "patch">; + /** + * @see https://docs.github.com/rest/reference/repos#accept-a-repository-invitation + */ + "PATCH /user/repository_invitations/{invitation_id}": Operation<"/user/repository_invitations/{invitation_id}", "patch">; + /** + * @see https://docs.github.com/v3/apps/#create-a-github-app-from-a-manifest + */ + "POST /app-manifests/{code}/conversions": Operation<"/app-manifests/{code}/conversions", "post">; + /** + * @see https://docs.github.com/v3/apps/#create-an-installation-access-token-for-an-app + */ + "POST /app/installations/{installation_id}/access_tokens": Operation<"/app/installations/{installation_id}/access_tokens", "post">; + /** + * @see https://docs.github.com/rest/reference/apps#check-a-token + */ + "POST /applications/{client_id}/token": Operation<"/applications/{client_id}/token", "post">; + /** + * @see https://docs.github.com/rest/reference/apps#reset-an-authorization + */ + "POST /applications/{client_id}/tokens/{access_token}": Operation<"/applications/{client_id}/tokens/{access_token}", "post">; + /** + * @see https://docs.github.com/rest/reference/oauth-authorizations#create-a-new-authorization + */ + "POST /authorizations": Operation<"/authorizations", "post">; + /** + * @see https://docs.github.com/rest/reference/apps#create-a-content-attachment + */ + "POST /content_references/{content_reference_id}/attachments": Operation<"/content_references/{content_reference_id}/attachments", "post", "corsair">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#create-self-hosted-runner-group-for-an-enterprise + */ + "POST /enterprises/{enterprise}/actions/runner-groups": Operation<"/enterprises/{enterprise}/actions/runner-groups", "post">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#create-a-registration-token-for-an-enterprise + */ + "POST /enterprises/{enterprise}/actions/runners/registration-token": Operation<"/enterprises/{enterprise}/actions/runners/registration-token", "post">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#create-a-remove-token-for-an-enterprise + */ + "POST /enterprises/{enterprise}/actions/runners/remove-token": Operation<"/enterprises/{enterprise}/actions/runners/remove-token", "post">; + /** + * @see https://docs.github.com/v3/gists/#create-a-gist + */ + "POST /gists": Operation<"/gists", "post">; + /** + * @see https://docs.github.com/rest/reference/gists#create-a-gist-comment + */ + "POST /gists/{gist_id}/comments": Operation<"/gists/{gist_id}/comments", "post">; + /** + * @see https://docs.github.com/v3/gists/#fork-a-gist + */ + "POST /gists/{gist_id}/forks": Operation<"/gists/{gist_id}/forks", "post">; + /** + * @see https://docs.github.com/v3/markdown/#render-a-markdown-document + */ + "POST /markdown": Operation<"/markdown", "post">; + /** + * @see https://docs.github.com/v3/markdown/#render-a-markdown-document-in-raw-mode + */ + "POST /markdown/raw": Operation<"/markdown/raw", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#create-a-self-hosted-runner-group-for-an-organization + */ + "POST /orgs/{org}/actions/runner-groups": Operation<"/orgs/{org}/actions/runner-groups", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#create-a-registration-token-for-an-organization + */ + "POST /orgs/{org}/actions/runners/registration-token": Operation<"/orgs/{org}/actions/runners/registration-token", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#create-a-remove-token-for-an-organization + */ + "POST /orgs/{org}/actions/runners/remove-token": Operation<"/orgs/{org}/actions/runners/remove-token", "post">; + /** + * @see https://docs.github.com/rest/reference/orgs#create-an-organization-webhook + */ + "POST /orgs/{org}/hooks": Operation<"/orgs/{org}/hooks", "post">; + /** + * @see https://docs.github.com/rest/reference/orgs#ping-an-organization-webhook + */ + "POST /orgs/{org}/hooks/{hook_id}/pings": Operation<"/orgs/{org}/hooks/{hook_id}/pings", "post">; + /** + * @see https://docs.github.com/rest/reference/orgs#create-an-organization-invitation + */ + "POST /orgs/{org}/invitations": Operation<"/orgs/{org}/invitations", "post">; + /** + * @see https://docs.github.com/rest/reference/migrations#start-an-organization-migration + */ + "POST /orgs/{org}/migrations": Operation<"/orgs/{org}/migrations", "post">; + /** + * @see https://docs.github.com/v3/projects/#create-an-organization-project + */ + "POST /orgs/{org}/projects": Operation<"/orgs/{org}/projects", "post", "inertia">; + /** + * @see https://docs.github.com/v3/repos/#create-an-organization-repository + */ + "POST /orgs/{org}/repos": Operation<"/orgs/{org}/repos", "post">; + /** + * @see https://docs.github.com/v3/teams/#create-a-team + */ + "POST /orgs/{org}/teams": Operation<"/orgs/{org}/teams", "post">; + /** + * @see https://docs.github.com/rest/reference/teams#create-a-discussion + */ + "POST /orgs/{org}/teams/{team_slug}/discussions": Operation<"/orgs/{org}/teams/{team_slug}/discussions", "post">; + /** + * @see https://docs.github.com/rest/reference/teams#create-a-discussion-comment + */ + "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", "post">; + /** + * @see https://docs.github.com/v3/reactions/#create-reaction-for-a-team-discussion-comment + */ + "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", "post", "squirrel-girl">; + /** + * @see https://docs.github.com/v3/reactions/#create-reaction-for-a-team-discussion + */ + "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", "post", "squirrel-girl">; + /** + * @see https://docs.github.com/rest/reference/projects#move-a-project-card + */ + "POST /projects/columns/cards/{card_id}/moves": Operation<"/projects/columns/cards/{card_id}/moves", "post", "inertia">; + /** + * @see https://docs.github.com/rest/reference/projects#create-a-project-card + */ + "POST /projects/columns/{column_id}/cards": Operation<"/projects/columns/{column_id}/cards", "post", "inertia">; + /** + * @see https://docs.github.com/rest/reference/projects#move-a-project-column + */ + "POST /projects/columns/{column_id}/moves": Operation<"/projects/columns/{column_id}/moves", "post", "inertia">; + /** + * @see https://docs.github.com/rest/reference/projects#create-a-project-column + */ + "POST /projects/{project_id}/columns": Operation<"/projects/{project_id}/columns", "post", "inertia">; + /** + * @see https://docs.github.com/rest/reference/actions#create-a-registration-token-for-a-repository + */ + "POST /repos/{owner}/{repo}/actions/runners/registration-token": Operation<"/repos/{owner}/{repo}/actions/runners/registration-token", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#create-a-remove-token-for-a-repository + */ + "POST /repos/{owner}/{repo}/actions/runners/remove-token": Operation<"/repos/{owner}/{repo}/actions/runners/remove-token", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#cancel-a-workflow-run + */ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/cancel", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#re-run-a-workflow + */ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/rerun", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#create-a-workflow-dispatch-event + */ + "POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches": Operation<"/repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#set-admin-branch-protection + */ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#create-commit-signature-protection + */ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", "post", "zzzax">; + /** + * @see https://docs.github.com/rest/reference/repos#add-status-check-contexts + */ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#add-app-access-restrictions + */ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#add-team-access-restrictions + */ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#add-user-access-restrictions + */ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", "post">; + /** + * @see https://docs.github.com/rest/reference/checks#create-a-check-run + */ + "POST /repos/{owner}/{repo}/check-runs": Operation<"/repos/{owner}/{repo}/check-runs", "post">; + /** + * @see https://docs.github.com/rest/reference/checks#create-a-check-suite + */ + "POST /repos/{owner}/{repo}/check-suites": Operation<"/repos/{owner}/{repo}/check-suites", "post">; + /** + * @see https://docs.github.com/rest/reference/checks#rerequest-a-check-suite + */ + "POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest": Operation<"/repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest", "post">; + /** + * @see https://docs.github.com/v3/code-scanning/#upload-a-sarif-analysis + */ + "POST /repos/{owner}/{repo}/code-scanning/sarifs": Operation<"/repos/{owner}/{repo}/code-scanning/sarifs", "post">; + /** + * @see https://docs.github.com/v3/reactions/#create-reaction-for-a-commit-comment + */ + "POST /repos/{owner}/{repo}/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/comments/{comment_id}/reactions", "post", "squirrel-girl">; + /** + * @see https://docs.github.com/rest/reference/repos#create-a-commit-comment + */ + "POST /repos/{owner}/{repo}/commits/{commit_sha}/comments": Operation<"/repos/{owner}/{repo}/commits/{commit_sha}/comments", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#create-a-deployment + */ + "POST /repos/{owner}/{repo}/deployments": Operation<"/repos/{owner}/{repo}/deployments", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#create-a-deployment-status + */ + "POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses": Operation<"/repos/{owner}/{repo}/deployments/{deployment_id}/statuses", "post">; + /** + * @see https://docs.github.com/v3/repos/#create-a-repository-dispatch-event + */ + "POST /repos/{owner}/{repo}/dispatches": Operation<"/repos/{owner}/{repo}/dispatches", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#create-a-fork + */ + "POST /repos/{owner}/{repo}/forks": Operation<"/repos/{owner}/{repo}/forks", "post">; + /** + * @see https://docs.github.com/rest/reference/git#create-a-blob + */ + "POST /repos/{owner}/{repo}/git/blobs": Operation<"/repos/{owner}/{repo}/git/blobs", "post">; + /** + * @see https://docs.github.com/rest/reference/git#create-a-commit + */ + "POST /repos/{owner}/{repo}/git/commits": Operation<"/repos/{owner}/{repo}/git/commits", "post">; + /** + * @see https://docs.github.com/rest/reference/git#create-a-reference + */ + "POST /repos/{owner}/{repo}/git/refs": Operation<"/repos/{owner}/{repo}/git/refs", "post">; + /** + * @see https://docs.github.com/rest/reference/git#create-a-tag-object + */ + "POST /repos/{owner}/{repo}/git/tags": Operation<"/repos/{owner}/{repo}/git/tags", "post">; + /** + * @see https://docs.github.com/rest/reference/git#create-a-tree + */ + "POST /repos/{owner}/{repo}/git/trees": Operation<"/repos/{owner}/{repo}/git/trees", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#create-a-repository-webhook + */ + "POST /repos/{owner}/{repo}/hooks": Operation<"/repos/{owner}/{repo}/hooks", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#ping-a-repository-webhook + */ + "POST /repos/{owner}/{repo}/hooks/{hook_id}/pings": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}/pings", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#test-the-push-repository-webhook + */ + "POST /repos/{owner}/{repo}/hooks/{hook_id}/tests": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}/tests", "post">; + /** + * @see https://docs.github.com/v3/issues/#create-an-issue + */ + "POST /repos/{owner}/{repo}/issues": Operation<"/repos/{owner}/{repo}/issues", "post">; + /** + * @see https://docs.github.com/v3/reactions/#create-reaction-for-an-issue-comment + */ + "POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", "post", "squirrel-girl">; + /** + * @see https://docs.github.com/rest/reference/issues#add-assignees-to-an-issue + */ + "POST /repos/{owner}/{repo}/issues/{issue_number}/assignees": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/assignees", "post">; + /** + * @see https://docs.github.com/rest/reference/issues#create-an-issue-comment + */ + "POST /repos/{owner}/{repo}/issues/{issue_number}/comments": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/comments", "post">; + /** + * @see https://docs.github.com/rest/reference/issues#add-labels-to-an-issue + */ + "POST /repos/{owner}/{repo}/issues/{issue_number}/labels": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/labels", "post">; + /** + * @see https://docs.github.com/v3/reactions/#create-reaction-for-an-issue + */ + "POST /repos/{owner}/{repo}/issues/{issue_number}/reactions": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/reactions", "post", "squirrel-girl">; + /** + * @see https://docs.github.com/rest/reference/repos#create-a-deploy-key + */ + "POST /repos/{owner}/{repo}/keys": Operation<"/repos/{owner}/{repo}/keys", "post">; + /** + * @see https://docs.github.com/rest/reference/issues#create-a-label + */ + "POST /repos/{owner}/{repo}/labels": Operation<"/repos/{owner}/{repo}/labels", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#merge-a-branch + */ + "POST /repos/{owner}/{repo}/merges": Operation<"/repos/{owner}/{repo}/merges", "post">; + /** + * @see https://docs.github.com/rest/reference/issues#create-a-milestone + */ + "POST /repos/{owner}/{repo}/milestones": Operation<"/repos/{owner}/{repo}/milestones", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#create-a-github-pages-site + */ + "POST /repos/{owner}/{repo}/pages": Operation<"/repos/{owner}/{repo}/pages", "post", "switcheroo">; + /** + * @see https://docs.github.com/rest/reference/repos#request-a-github-pages-build + */ + "POST /repos/{owner}/{repo}/pages/builds": Operation<"/repos/{owner}/{repo}/pages/builds", "post">; + /** + * @see https://docs.github.com/v3/projects/#create-a-repository-project + */ + "POST /repos/{owner}/{repo}/projects": Operation<"/repos/{owner}/{repo}/projects", "post", "inertia">; + /** + * @see https://docs.github.com/v3/pulls/#create-a-pull-request + */ + "POST /repos/{owner}/{repo}/pulls": Operation<"/repos/{owner}/{repo}/pulls", "post">; + /** + * @see https://docs.github.com/v3/reactions/#create-reaction-for-a-pull-request-review-comment + */ + "POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", "post", "squirrel-girl">; + /** + * @see https://docs.github.com/rest/reference/pulls#create-a-review-comment-for-a-pull-request + */ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/comments": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/comments", "post">; + /** + * @see https://docs.github.com/rest/reference/pulls#create-a-reply-for-a-review-comment + */ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies", "post">; + /** + * @see https://docs.github.com/rest/reference/pulls#request-reviewers-for-a-pull-request + */ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", "post">; + /** + * @see https://docs.github.com/rest/reference/pulls#create-a-review-for-a-pull-request + */ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews", "post">; + /** + * @see https://docs.github.com/rest/reference/pulls#submit-a-review-for-a-pull-request + */ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#create-a-release + */ + "POST /repos/{owner}/{repo}/releases": Operation<"/repos/{owner}/{repo}/releases", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#create-a-commit-status + */ + "POST /repos/{owner}/{repo}/statuses/{sha}": Operation<"/repos/{owner}/{repo}/statuses/{sha}", "post">; + /** + * @see https://docs.github.com/v3/repos/#transfer-a-repository + */ + "POST /repos/{owner}/{repo}/transfer": Operation<"/repos/{owner}/{repo}/transfer", "post">; + /** + * @see https://docs.github.com/v3/repos/#create-a-repository-using-a-template + */ + "POST /repos/{template_owner}/{template_repo}/generate": Operation<"/repos/{template_owner}/{template_repo}/generate", "post", "baptiste">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#provision-a-scim-enterprise-group-and-invite-users + */ + "POST /scim/v2/enterprises/{enterprise}/Groups": Operation<"/scim/v2/enterprises/{enterprise}/Groups", "post">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#provision-and-invite-a-scim-enterprise-user + */ + "POST /scim/v2/enterprises/{enterprise}/Users": Operation<"/scim/v2/enterprises/{enterprise}/Users", "post">; + /** + * @see https://docs.github.com/v3/scim/#provision-and-invite-a-scim-user + */ + "POST /scim/v2/organizations/{org}/Users": Operation<"/scim/v2/organizations/{org}/Users", "post">; + /** + * @see https://docs.github.com/rest/reference/teams#create-a-discussion-legacy + */ + "POST /teams/{team_id}/discussions": Operation<"/teams/{team_id}/discussions", "post">; + /** + * @see https://docs.github.com/rest/reference/teams#create-a-discussion-comment-legacy + */ + "POST /teams/{team_id}/discussions/{discussion_number}/comments": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments", "post">; + /** + * @see https://docs.github.com/v3/reactions/#create-reaction-for-a-team-discussion-comment-legacy + */ + "POST /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions", "post", "squirrel-girl">; + /** + * @see https://docs.github.com/v3/reactions/#create-reaction-for-a-team-discussion-legacy + */ + "POST /teams/{team_id}/discussions/{discussion_number}/reactions": Operation<"/teams/{team_id}/discussions/{discussion_number}/reactions", "post", "squirrel-girl">; + /** + * @see https://docs.github.com/rest/reference/users#add-an-email-address-for-the-authenticated-user + */ + "POST /user/emails": Operation<"/user/emails", "post">; + /** + * @see https://docs.github.com/rest/reference/users#create-a-gpg-key-for-the-authenticated-user + */ + "POST /user/gpg_keys": Operation<"/user/gpg_keys", "post">; + /** + * @see https://docs.github.com/rest/reference/users#create-a-public-ssh-key-for-the-authenticated-user + */ + "POST /user/keys": Operation<"/user/keys", "post">; + /** + * @see https://docs.github.com/rest/reference/migrations#start-a-user-migration + */ + "POST /user/migrations": Operation<"/user/migrations", "post">; + /** + * @see https://docs.github.com/v3/projects/#create-a-user-project + */ + "POST /user/projects": Operation<"/user/projects", "post", "inertia">; + /** + * @see https://docs.github.com/v3/repos/#create-a-repository-for-the-authenticated-user + */ + "POST /user/repos": Operation<"/user/repos", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#upload-a-release-asset + */ + "POST {origin}/repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}": Operation<"/repos/{owner}/{repo}/releases/{release_id}/assets", "post">; + /** + * @see https://docs.github.com/v3/apps/#suspend-an-app-installation + */ + "PUT /app/installations/{installation_id}/suspended": Operation<"/app/installations/{installation_id}/suspended", "put">; + /** + * @see https://docs.github.com/rest/reference/oauth-authorizations#get-or-create-an-authorization-for-a-specific-app + */ + "PUT /authorizations/clients/{client_id}": Operation<"/authorizations/clients/{client_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/oauth-authorizations#get-or-create-an-authorization-for-a-specific-app-and-fingerprint + */ + "PUT /authorizations/clients/{client_id}/{fingerprint}": Operation<"/authorizations/clients/{client_id}/{fingerprint}", "put">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#set-github-actions-permissions-for-an-enterprise + */ + "PUT /enterprises/{enterprise}/actions/permissions": Operation<"/enterprises/{enterprise}/actions/permissions", "put">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#set-selected-organizations-enabled-for-github-actions-in-an-enterprise + */ + "PUT /enterprises/{enterprise}/actions/permissions/organizations": Operation<"/enterprises/{enterprise}/actions/permissions/organizations", "put">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#enable-a-selected-organization-for-github-actions-in-an-enterprise + */ + "PUT /enterprises/{enterprise}/actions/permissions/organizations/{org_id}": Operation<"/enterprises/{enterprise}/actions/permissions/organizations/{org_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#set-allowed-actions-for-an-enterprise + */ + "PUT /enterprises/{enterprise}/actions/permissions/selected-actions": Operation<"/enterprises/{enterprise}/actions/permissions/selected-actions", "put">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#set-organization-access-to-a-self-hosted-runner-group-in-an-enterprise + */ + "PUT /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations", "put">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#add-organization-access-to-a-self-hosted-runner-group-in-an-enterprise + */ + "PUT /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations/{org_id}": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations/{org_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#set-self-hosted-runners-in-a-group-for-an-enterprise + */ + "PUT /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners", "put">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#add-a-self-hosted-runner-to-a-group-for-an-enterprise + */ + "PUT /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners/{runner_id}": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners/{runner_id}", "put">; + /** + * @see https://docs.github.com/v3/gists/#star-a-gist + */ + "PUT /gists/{gist_id}/star": Operation<"/gists/{gist_id}/star", "put">; + /** + * @see https://docs.github.com/rest/reference/activity#mark-notifications-as-read + */ + "PUT /notifications": Operation<"/notifications", "put">; + /** + * @see https://docs.github.com/rest/reference/activity#set-a-thread-subscription + */ + "PUT /notifications/threads/{thread_id}/subscription": Operation<"/notifications/threads/{thread_id}/subscription", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-github-actions-permissions-for-an-organization + */ + "PUT /orgs/{org}/actions/permissions": Operation<"/orgs/{org}/actions/permissions", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-selected-repositories-enabled-for-github-actions-in-an-organization + */ + "PUT /orgs/{org}/actions/permissions/repositories": Operation<"/orgs/{org}/actions/permissions/repositories", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#enable-a-selected-repository-for-github-actions-in-an-organization + */ + "PUT /orgs/{org}/actions/permissions/repositories/{repository_id}": Operation<"/orgs/{org}/actions/permissions/repositories/{repository_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-allowed-actions-for-an-organization + */ + "PUT /orgs/{org}/actions/permissions/selected-actions": Operation<"/orgs/{org}/actions/permissions/selected-actions", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-repository-access-to-a-self-hosted-runner-group-in-an-organization + */ + "PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#add-repository-acess-to-a-self-hosted-runner-group-in-an-organization + */ + "PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-self-hosted-runners-in-a-group-for-an-organization + */ + "PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/runners": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}/runners", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#add-a-self-hosted-runner-to-a-group-for-an-organization + */ + "PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id}": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret + */ + "PUT /orgs/{org}/actions/secrets/{secret_name}": Operation<"/orgs/{org}/actions/secrets/{secret_name}", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-selected-repositories-for-an-organization-secret + */ + "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories": Operation<"/orgs/{org}/actions/secrets/{secret_name}/repositories", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#add-selected-repository-to-an-organization-secret + */ + "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}": Operation<"/orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/orgs#block-a-user-from-an-organization + */ + "PUT /orgs/{org}/blocks/{username}": Operation<"/orgs/{org}/blocks/{username}", "put">; + /** + * @see https://docs.github.com/rest/reference/interactions#set-interaction-restrictions-for-an-organization + */ + "PUT /orgs/{org}/interaction-limits": Operation<"/orgs/{org}/interaction-limits", "put">; + /** + * @see https://docs.github.com/rest/reference/orgs#set-organization-membership-for-a-user + */ + "PUT /orgs/{org}/memberships/{username}": Operation<"/orgs/{org}/memberships/{username}", "put">; + /** + * @see https://docs.github.com/rest/reference/orgs#convert-an-organization-member-to-outside-collaborator + */ + "PUT /orgs/{org}/outside_collaborators/{username}": Operation<"/orgs/{org}/outside_collaborators/{username}", "put">; + /** + * @see https://docs.github.com/rest/reference/orgs#set-public-organization-membership-for-the-authenticated-user + */ + "PUT /orgs/{org}/public_members/{username}": Operation<"/orgs/{org}/public_members/{username}", "put">; + /** + * @see https://docs.github.com/rest/reference/teams#add-or-update-team-membership-for-a-user + */ + "PUT /orgs/{org}/teams/{team_slug}/memberships/{username}": Operation<"/orgs/{org}/teams/{team_slug}/memberships/{username}", "put">; + /** + * @see https://docs.github.com/v3/teams/#add-or-update-team-project-permissions + */ + "PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}": Operation<"/orgs/{org}/teams/{team_slug}/projects/{project_id}", "put", "inertia">; + /** + * @see https://docs.github.com/v3/teams/#add-or-update-team-repository-permissions + */ + "PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}": Operation<"/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}", "put">; + /** + * @see https://docs.github.com/rest/reference/projects#add-project-collaborator + */ + "PUT /projects/{project_id}/collaborators/{username}": Operation<"/projects/{project_id}/collaborators/{username}", "put", "inertia">; + /** + * @see https://docs.github.com/rest/reference/actions#set-github-actions-permissions-for-a-repository + */ + "PUT /repos/{owner}/{repo}/actions/permissions": Operation<"/repos/{owner}/{repo}/actions/permissions", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-allowed-actions-for-a-repository + */ + "PUT /repos/{owner}/{repo}/actions/permissions/selected-actions": Operation<"/repos/{owner}/{repo}/actions/permissions/selected-actions", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#create-or-update-a-repository-secret + */ + "PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/actions/secrets/{secret_name}", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#disable-a-workflow + */ + "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable": Operation<"/repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#enable-a-workflow + */ + "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable": Operation<"/repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable", "put">; + /** + * @see https://docs.github.com/v3/repos/#enable-automated-security-fixes + */ + "PUT /repos/{owner}/{repo}/automated-security-fixes": Operation<"/repos/{owner}/{repo}/automated-security-fixes", "put", "london">; + /** + * @see https://docs.github.com/rest/reference/repos#update-branch-protection + */ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection", "put">; + /** + * @see https://docs.github.com/rest/reference/repos#set-status-check-contexts + */ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", "put">; + /** + * @see https://docs.github.com/rest/reference/repos#set-app-access-restrictions + */ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", "put">; + /** + * @see https://docs.github.com/rest/reference/repos#set-team-access-restrictions + */ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", "put">; + /** + * @see https://docs.github.com/rest/reference/repos#set-user-access-restrictions + */ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", "put">; + /** + * @see https://docs.github.com/rest/reference/repos#add-a-repository-collaborator + */ + "PUT /repos/{owner}/{repo}/collaborators/{username}": Operation<"/repos/{owner}/{repo}/collaborators/{username}", "put">; + /** + * @see https://docs.github.com/rest/reference/repos#create-or-update-file-contents + */ + "PUT /repos/{owner}/{repo}/contents/{path}": Operation<"/repos/{owner}/{repo}/contents/{path}", "put">; + /** + * @see https://docs.github.com/rest/reference/migrations#start-an-import + */ + "PUT /repos/{owner}/{repo}/import": Operation<"/repos/{owner}/{repo}/import", "put">; + /** + * @see https://docs.github.com/rest/reference/interactions#set-interaction-restrictions-for-a-repository + */ + "PUT /repos/{owner}/{repo}/interaction-limits": Operation<"/repos/{owner}/{repo}/interaction-limits", "put">; + /** + * @see https://docs.github.com/rest/reference/issues#set-labels-for-an-issue + */ + "PUT /repos/{owner}/{repo}/issues/{issue_number}/labels": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/labels", "put">; + /** + * @see https://docs.github.com/v3/issues/#lock-an-issue + */ + "PUT /repos/{owner}/{repo}/issues/{issue_number}/lock": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/lock", "put">; + /** + * @see https://docs.github.com/rest/reference/activity#mark-repository-notifications-as-read + */ + "PUT /repos/{owner}/{repo}/notifications": Operation<"/repos/{owner}/{repo}/notifications", "put">; + /** + * @see https://docs.github.com/rest/reference/repos#update-information-about-a-github-pages-site + */ + "PUT /repos/{owner}/{repo}/pages": Operation<"/repos/{owner}/{repo}/pages", "put">; + /** + * @see https://docs.github.com/v3/pulls/#merge-a-pull-request + */ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/merge", "put">; + /** + * @see https://docs.github.com/rest/reference/pulls#update-a-review-for-a-pull-request + */ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/pulls#dismiss-a-review-for-a-pull-request + */ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals", "put">; + /** + * @see https://docs.github.com/v3/pulls/#update-a-pull-request-branch + */ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/update-branch", "put", "lydian">; + /** + * @see https://docs.github.com/rest/reference/activity#set-a-repository-subscription + */ + "PUT /repos/{owner}/{repo}/subscription": Operation<"/repos/{owner}/{repo}/subscription", "put">; + /** + * @see https://docs.github.com/v3/repos/#replace-all-repository-topics + */ + "PUT /repos/{owner}/{repo}/topics": Operation<"/repos/{owner}/{repo}/topics", "put", "mercy">; + /** + * @see https://docs.github.com/v3/repos/#enable-vulnerability-alerts + */ + "PUT /repos/{owner}/{repo}/vulnerability-alerts": Operation<"/repos/{owner}/{repo}/vulnerability-alerts", "put", "dorian">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#set-scim-information-for-a-provisioned-enterprise-group + */ + "PUT /scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}": Operation<"/scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#set-scim-information-for-a-provisioned-enterprise-user + */ + "PUT /scim/v2/enterprises/{enterprise}/Users/{scim_user_id}": Operation<"/scim/v2/enterprises/{enterprise}/Users/{scim_user_id}", "put">; + /** + * @see https://docs.github.com/v3/scim/#set-scim-information-for-a-provisioned-user + */ + "PUT /scim/v2/organizations/{org}/Users/{scim_user_id}": Operation<"/scim/v2/organizations/{org}/Users/{scim_user_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/teams#add-team-member-legacy + */ + "PUT /teams/{team_id}/members/{username}": Operation<"/teams/{team_id}/members/{username}", "put">; + /** + * @see https://docs.github.com/rest/reference/teams#add-or-update-team-membership-for-a-user-legacy + */ + "PUT /teams/{team_id}/memberships/{username}": Operation<"/teams/{team_id}/memberships/{username}", "put">; + /** + * @see https://docs.github.com/v3/teams/#add-or-update-team-project-permissions-legacy + */ + "PUT /teams/{team_id}/projects/{project_id}": Operation<"/teams/{team_id}/projects/{project_id}", "put", "inertia">; + /** + * @see https://docs.github.com/v3/teams/#add-or-update-team-repository-permissions-legacy + */ + "PUT /teams/{team_id}/repos/{owner}/{repo}": Operation<"/teams/{team_id}/repos/{owner}/{repo}", "put">; + /** + * @see https://docs.github.com/rest/reference/users#block-a-user + */ + "PUT /user/blocks/{username}": Operation<"/user/blocks/{username}", "put">; + /** + * @see https://docs.github.com/rest/reference/users#follow-a-user + */ + "PUT /user/following/{username}": Operation<"/user/following/{username}", "put">; + /** + * @see https://docs.github.com/rest/reference/apps#add-a-repository-to-an-app-installation + */ + "PUT /user/installations/{installation_id}/repositories/{repository_id}": Operation<"/user/installations/{installation_id}/repositories/{repository_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/interactions#set-interaction-restrictions-for-your-public-repositories + */ + "PUT /user/interaction-limits": Operation<"/user/interaction-limits", "put">; + /** + * @see https://docs.github.com/rest/reference/activity#star-a-repository-for-the-authenticated-user + */ + "PUT /user/starred/{owner}/{repo}": Operation<"/user/starred/{owner}/{repo}", "put">; +} +export {}; diff --git a/node_modules/@octokit/types/dist-types/index.d.ts b/node_modules/@octokit/types/dist-types/index.d.ts new file mode 100644 index 0000000..004ae9b --- /dev/null +++ b/node_modules/@octokit/types/dist-types/index.d.ts @@ -0,0 +1,21 @@ +export * from "./AuthInterface"; +export * from "./EndpointDefaults"; +export * from "./EndpointInterface"; +export * from "./EndpointOptions"; +export * from "./Fetch"; +export * from "./OctokitResponse"; +export * from "./RequestError"; +export * from "./RequestHeaders"; +export * from "./RequestInterface"; +export * from "./RequestMethod"; +export * from "./RequestOptions"; +export * from "./RequestParameters"; +export * from "./RequestRequestOptions"; +export * from "./ResponseHeaders"; +export * from "./Route"; +export * from "./Signal"; +export * from "./StrategyInterface"; +export * from "./Url"; +export * from "./VERSION"; +export * from "./GetResponseTypeFromEndpointMethod"; +export * from "./generated/Endpoints"; diff --git a/node_modules/@octokit/types/dist-web/index.js b/node_modules/@octokit/types/dist-web/index.js new file mode 100644 index 0000000..f444cb9 --- /dev/null +++ b/node_modules/@octokit/types/dist-web/index.js @@ -0,0 +1,4 @@ +const VERSION = "6.1.2"; + +export { VERSION }; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/types/dist-web/index.js.map b/node_modules/@octokit/types/dist-web/index.js.map new file mode 100644 index 0000000..cd0e254 --- /dev/null +++ b/node_modules/@octokit/types/dist-web/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/VERSION.js"],"sourcesContent":["export const VERSION = \"0.0.0-development\";\n"],"names":[],"mappings":"AAAY,MAAC,OAAO,GAAG;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/types/package.json b/node_modules/@octokit/types/package.json new file mode 100644 index 0000000..38497a6 --- /dev/null +++ b/node_modules/@octokit/types/package.json @@ -0,0 +1,91 @@ +{ + "_args": [ + [ + "@octokit/types@6.1.2", + "/Users/1112456/github/jenkins-action" + ] + ], + "_from": "@octokit/types@6.1.2", + "_id": "@octokit/types@6.1.2", + "_inBundle": false, + "_integrity": "sha512-LPCpcLbcky7fWfHCTuc7tMiSHFpFlrThJqVdaHgowBTMS0ijlZFfonQC/C1PrZOjD4xRCYgBqH9yttEATGE/nw==", + "_location": "/@octokit/types", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "@octokit/types@6.1.2", + "name": "@octokit/types", + "escapedName": "@octokit%2ftypes", + "scope": "@octokit", + "rawSpec": "6.1.2", + "saveSpec": null, + "fetchSpec": "6.1.2" + }, + "_requiredBy": [ + "/@octokit/auth-token", + "/@octokit/endpoint", + "/@octokit/graphql", + "/@octokit/request", + "/@octokit/request-error" + ], + "_resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.1.2.tgz", + "_spec": "6.1.2", + "_where": "/Users/1112456/github/jenkins-action", + "bugs": { + "url": "https://github.com/octokit/types.ts/issues" + }, + "dependencies": { + "@octokit/openapi-types": "^2.0.1", + "@types/node": ">= 8" + }, + "description": "Shared TypeScript definitions for Octokit projects", + "devDependencies": { + "@octokit/graphql": "^4.2.2", + "@pika/pack": "^0.5.0", + "@pika/plugin-build-node": "^0.9.0", + "@pika/plugin-build-web": "^0.9.0", + "@pika/plugin-ts-standard-pkg": "^0.9.0", + "handlebars": "^4.7.6", + "json-schema-to-typescript": "^10.0.0", + "lodash.set": "^4.3.2", + "npm-run-all": "^4.1.5", + "openapi-typescript": "^2.3.1", + "pascal-case": "^3.1.1", + "prettier": "^2.0.0", + "semantic-release": "^17.0.0", + "semantic-release-plugin-update-version-in-files": "^1.0.0", + "sort-keys": "^4.0.0", + "string-to-jsdoc-comment": "^1.0.0", + "typedoc": "^0.19.0", + "typescript": "^4.0.2" + }, + "files": [ + "dist-*/", + "bin/" + ], + "homepage": "https://github.com/octokit/types.ts#readme", + "keywords": [ + "github", + "api", + "sdk", + "toolkit", + "typescript" + ], + "license": "MIT", + "main": "dist-node/index.js", + "module": "dist-web/index.js", + "name": "@octokit/types", + "pika": true, + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/octokit/types.ts.git" + }, + "sideEffects": false, + "source": "dist-src/index.js", + "types": "dist-types/index.d.ts", + "version": "6.1.2" +} diff --git a/node_modules/@types/node/LICENSE b/node_modules/@types/node/LICENSE new file mode 100644 index 0000000..9e841e7 --- /dev/null +++ b/node_modules/@types/node/LICENSE @@ -0,0 +1,21 @@ + MIT License + + Copyright (c) Microsoft Corporation. + + 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 diff --git a/node_modules/@types/node/README.md b/node_modules/@types/node/README.md new file mode 100644 index 0000000..bd7e574 --- /dev/null +++ b/node_modules/@types/node/README.md @@ -0,0 +1,16 @@ +# Installation +> `npm install --save @types/node` + +# Summary +This package contains type definitions for Node.js (http://nodejs.org/). + +# Details +Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node. + +### Additional Details + * Last updated: Tue, 15 Dec 2020 16:22:53 GMT + * Dependencies: none + * Global values: `Buffer`, `__dirname`, `__filename`, `clearImmediate`, `clearInterval`, `clearTimeout`, `console`, `exports`, `global`, `module`, `process`, `queueMicrotask`, `require`, `setImmediate`, `setInterval`, `setTimeout` + +# Credits +These definitions were written by [Microsoft TypeScript](https://github.com/Microsoft), [DefinitelyTyped](https://github.com/DefinitelyTyped), [Alberto Schiabel](https://github.com/jkomyno), [Alexander T.](https://github.com/a-tarasyuk), [Alvis HT Tang](https://github.com/alvis), [Andrew Makarov](https://github.com/r3nya), [Benjamin Toueg](https://github.com/btoueg), [Bruno Scheufler](https://github.com/brunoscheufler), [Chigozirim C.](https://github.com/smac89), [David Junger](https://github.com/touffy), [Deividas Bakanas](https://github.com/DeividasBakanas), [Eugene Y. Q. Shen](https://github.com/eyqs), [Flarna](https://github.com/Flarna), [Hannes Magnusson](https://github.com/Hannes-Magnusson-CK), [Hoàng Văn Khải](https://github.com/KSXGitHub), [Huw](https://github.com/hoo29), [Kelvin Jin](https://github.com/kjin), [Klaus Meinhardt](https://github.com/ajafff), [Lishude](https://github.com/islishude), [Mariusz Wiktorczyk](https://github.com/mwiktorczyk), [Mohsen Azimi](https://github.com/mohsen1), [Nicolas Even](https://github.com/n-e), [Nikita Galkin](https://github.com/galkin), [Parambir Singh](https://github.com/parambirs), [Sebastian Silbermann](https://github.com/eps1lon), [Simon Schick](https://github.com/SimonSchick), [Thomas den Hollander](https://github.com/ThomasdenH), [Wilco Bakker](https://github.com/WilcoBakker), [wwwy3y3](https://github.com/wwwy3y3), [Samuel Ainsworth](https://github.com/samuela), [Kyle Uehlein](https://github.com/kuehlein), [Jordi Oliveras Rovira](https://github.com/j-oliveras), [Thanik Bhongbhibhat](https://github.com/bhongy), [Marcin Kopacz](https://github.com/chyzwar), [Trivikram Kamat](https://github.com/trivikr), [Minh Son Nguyen](https://github.com/nguymin4), [Junxiao Shi](https://github.com/yoursunny), [Ilia Baryshnikov](https://github.com/qwelias), [ExE Boss](https://github.com/ExE-Boss), [Surasak Chaisurin](https://github.com/Ryan-Willpower), [Piotr Błażejewicz](https://github.com/peterblazejewicz), [Anna Henningsen](https://github.com/addaleax), [Jason Kwok](https://github.com/JasonHK), and [Victor Perin](https://github.com/victorperin). diff --git a/node_modules/@types/node/assert.d.ts b/node_modules/@types/node/assert.d.ts new file mode 100644 index 0000000..9eb27b9 --- /dev/null +++ b/node_modules/@types/node/assert.d.ts @@ -0,0 +1,126 @@ +declare module 'assert' { + /** An alias of `assert.ok()`. */ + function assert(value: any, message?: string | Error): asserts value; + namespace assert { + class AssertionError implements Error { + name: string; + message: string; + actual: any; + expected: any; + operator: string; + generatedMessage: boolean; + code: 'ERR_ASSERTION'; + + constructor(options?: { + /** If provided, the error message is set to this value. */ + message?: string; + /** The `actual` property on the error instance. */ + actual?: any; + /** The `expected` property on the error instance. */ + expected?: any; + /** The `operator` property on the error instance. */ + operator?: string; + /** If provided, the generated stack trace omits frames before this function. */ + // tslint:disable-next-line:ban-types + stackStartFn?: Function; + }); + } + + class CallTracker { + calls(exact?: number): () => void; + calls any>(fn?: Func, exact?: number): Func; + report(): CallTrackerReportInformation[]; + verify(): void; + } + interface CallTrackerReportInformation { + message: string; + /** The actual number of times the function was called. */ + actual: number; + /** The number of times the function was expected to be called. */ + expected: number; + /** The name of the function that is wrapped. */ + operator: string; + /** A stack trace of the function. */ + stack: object; + } + + type AssertPredicate = RegExp | (new () => object) | ((thrown: any) => boolean) | object | Error; + + function fail(message?: string | Error): never; + /** @deprecated since v10.0.0 - use fail([message]) or other assert functions instead. */ + function fail( + actual: any, + expected: any, + message?: string | Error, + operator?: string, + // tslint:disable-next-line:ban-types + stackStartFn?: Function, + ): never; + function ok(value: any, message?: string | Error): asserts value; + /** @deprecated since v9.9.0 - use strictEqual() instead. */ + function equal(actual: any, expected: any, message?: string | Error): void; + /** @deprecated since v9.9.0 - use notStrictEqual() instead. */ + function notEqual(actual: any, expected: any, message?: string | Error): void; + /** @deprecated since v9.9.0 - use deepStrictEqual() instead. */ + function deepEqual(actual: any, expected: any, message?: string | Error): void; + /** @deprecated since v9.9.0 - use notDeepStrictEqual() instead. */ + function notDeepEqual(actual: any, expected: any, message?: string | Error): void; + function strictEqual(actual: any, expected: T, message?: string | Error): asserts actual is T; + function notStrictEqual(actual: any, expected: any, message?: string | Error): void; + function deepStrictEqual(actual: any, expected: T, message?: string | Error): asserts actual is T; + function notDeepStrictEqual(actual: any, expected: any, message?: string | Error): void; + + function throws(block: () => any, message?: string | Error): void; + function throws(block: () => any, error: AssertPredicate, message?: string | Error): void; + function doesNotThrow(block: () => any, message?: string | Error): void; + function doesNotThrow(block: () => any, error: AssertPredicate, message?: string | Error): void; + + function ifError(value: any): asserts value is null | undefined; + + function rejects(block: (() => Promise) | Promise, message?: string | Error): Promise; + function rejects( + block: (() => Promise) | Promise, + error: AssertPredicate, + message?: string | Error, + ): Promise; + function doesNotReject(block: (() => Promise) | Promise, message?: string | Error): Promise; + function doesNotReject( + block: (() => Promise) | Promise, + error: AssertPredicate, + message?: string | Error, + ): Promise; + + function match(value: string, regExp: RegExp, message?: string | Error): void; + function doesNotMatch(value: string, regExp: RegExp, message?: string | Error): void; + + const strict: Omit< + typeof assert, + | 'equal' + | 'notEqual' + | 'deepEqual' + | 'notDeepEqual' + | 'ok' + | 'strictEqual' + | 'deepStrictEqual' + | 'ifError' + | 'strict' + > & { + (value: any, message?: string | Error): asserts value; + equal: typeof strictEqual; + notEqual: typeof notStrictEqual; + deepEqual: typeof deepStrictEqual; + notDeepEqual: typeof notDeepStrictEqual; + + // Mapped types and assertion functions are incompatible? + // TS2775: Assertions require every name in the call target + // to be declared with an explicit type annotation. + ok: typeof ok; + strictEqual: typeof strictEqual; + deepStrictEqual: typeof deepStrictEqual; + ifError: typeof ifError; + strict: typeof strict; + }; + } + + export = assert; +} diff --git a/node_modules/@types/node/async_hooks.d.ts b/node_modules/@types/node/async_hooks.d.ts new file mode 100644 index 0000000..ab35e5d --- /dev/null +++ b/node_modules/@types/node/async_hooks.d.ts @@ -0,0 +1,226 @@ +/** + * Async Hooks module: https://nodejs.org/api/async_hooks.html + */ +declare module "async_hooks" { + /** + * Returns the asyncId of the current execution context. + */ + function executionAsyncId(): number; + + /** + * The resource representing the current execution. + * Useful to store data within the resource. + * + * Resource objects returned by `executionAsyncResource()` are most often internal + * Node.js handle objects with undocumented APIs. Using any functions or properties + * on the object is likely to crash your application and should be avoided. + * + * Using `executionAsyncResource()` in the top-level execution context will + * return an empty object as there is no handle or request object to use, + * but having an object representing the top-level can be helpful. + */ + function executionAsyncResource(): object; + + /** + * Returns the ID of the resource responsible for calling the callback that is currently being executed. + */ + function triggerAsyncId(): number; + + interface HookCallbacks { + /** + * Called when a class is constructed that has the possibility to emit an asynchronous event. + * @param asyncId a unique ID for the async resource + * @param type the type of the async resource + * @param triggerAsyncId the unique ID of the async resource in whose execution context this async resource was created + * @param resource reference to the resource representing the async operation, needs to be released during destroy + */ + init?(asyncId: number, type: string, triggerAsyncId: number, resource: object): void; + + /** + * When an asynchronous operation is initiated or completes a callback is called to notify the user. + * The before callback is called just before said callback is executed. + * @param asyncId the unique identifier assigned to the resource about to execute the callback. + */ + before?(asyncId: number): void; + + /** + * Called immediately after the callback specified in before is completed. + * @param asyncId the unique identifier assigned to the resource which has executed the callback. + */ + after?(asyncId: number): void; + + /** + * Called when a promise has resolve() called. This may not be in the same execution id + * as the promise itself. + * @param asyncId the unique id for the promise that was resolve()d. + */ + promiseResolve?(asyncId: number): void; + + /** + * Called after the resource corresponding to asyncId is destroyed + * @param asyncId a unique ID for the async resource + */ + destroy?(asyncId: number): void; + } + + interface AsyncHook { + /** + * Enable the callbacks for a given AsyncHook instance. If no callbacks are provided enabling is a noop. + */ + enable(): this; + + /** + * Disable the callbacks for a given AsyncHook instance from the global pool of AsyncHook callbacks to be executed. Once a hook has been disabled it will not be called again until enabled. + */ + disable(): this; + } + + /** + * Registers functions to be called for different lifetime events of each async operation. + * @param options the callbacks to register + * @return an AsyncHooks instance used for disabling and enabling hooks + */ + function createHook(options: HookCallbacks): AsyncHook; + + interface AsyncResourceOptions { + /** + * The ID of the execution context that created this async event. + * Default: `executionAsyncId()` + */ + triggerAsyncId?: number; + + /** + * Disables automatic `emitDestroy` when the object is garbage collected. + * This usually does not need to be set (even if `emitDestroy` is called + * manually), unless the resource's `asyncId` is retrieved and the + * sensitive API's `emitDestroy` is called with it. + * Default: `false` + */ + requireManualDestroy?: boolean; + } + + /** + * The class AsyncResource was designed to be extended by the embedder's async resources. + * Using this users can easily trigger the lifetime events of their own resources. + */ + class AsyncResource { + /** + * AsyncResource() is meant to be extended. Instantiating a + * new AsyncResource() also triggers init. If triggerAsyncId is omitted then + * async_hook.executionAsyncId() is used. + * @param type The type of async event. + * @param triggerAsyncId The ID of the execution context that created + * this async event (default: `executionAsyncId()`), or an + * AsyncResourceOptions object (since 9.3) + */ + constructor(type: string, triggerAsyncId?: number|AsyncResourceOptions); + + /** + * Binds the given function to the current execution context. + * @param fn The function to bind to the current execution context. + * @param type An optional name to associate with the underlying `AsyncResource`. + */ + static bind any>(fn: Func, type?: string): Func & { asyncResource: AsyncResource }; + + /** + * Binds the given function to execute to this `AsyncResource`'s scope. + * @param fn The function to bind to the current `AsyncResource`. + */ + bind any>(fn: Func): Func & { asyncResource: AsyncResource }; + + /** + * Call the provided function with the provided arguments in the + * execution context of the async resource. This will establish the + * context, trigger the AsyncHooks before callbacks, call the function, + * trigger the AsyncHooks after callbacks, and then restore the original + * execution context. + * @param fn The function to call in the execution context of this + * async resource. + * @param thisArg The receiver to be used for the function call. + * @param args Optional arguments to pass to the function. + */ + runInAsyncScope(fn: (this: This, ...args: any[]) => Result, thisArg?: This, ...args: any[]): Result; + + /** + * Call AsyncHooks destroy callbacks. + */ + emitDestroy(): void; + + /** + * @return the unique ID assigned to this AsyncResource instance. + */ + asyncId(): number; + + /** + * @return the trigger ID for this AsyncResource instance. + */ + triggerAsyncId(): number; + } + + /** + * When having multiple instances of `AsyncLocalStorage`, they are independent + * from each other. It is safe to instantiate this class multiple times. + */ + class AsyncLocalStorage { + /** + * This method disables the instance of `AsyncLocalStorage`. All subsequent calls + * to `asyncLocalStorage.getStore()` will return `undefined` until + * `asyncLocalStorage.run()` is called again. + * + * When calling `asyncLocalStorage.disable()`, all current contexts linked to the + * instance will be exited. + * + * Calling `asyncLocalStorage.disable()` is required before the + * `asyncLocalStorage` can be garbage collected. This does not apply to stores + * provided by the `asyncLocalStorage`, as those objects are garbage collected + * along with the corresponding async resources. + * + * This method is to be used when the `asyncLocalStorage` is not in use anymore + * in the current process. + */ + disable(): void; + + /** + * This method returns the current store. If this method is called outside of an + * asynchronous context initialized by calling `asyncLocalStorage.run`, it will + * return `undefined`. + */ + getStore(): T | undefined; + + /** + * This methods runs a function synchronously within a context and return its + * return value. The store is not accessible outside of the callback function or + * the asynchronous operations created within the callback. + * + * Optionally, arguments can be passed to the function. They will be passed to the + * callback function. + * + * I the callback function throws an error, it will be thrown by `run` too. The + * stacktrace will not be impacted by this call and the context will be exited. + */ + // TODO: Apply generic vararg once available + run(store: T, callback: (...args: any[]) => R, ...args: any[]): R; + + /** + * This methods runs a function synchronously outside of a context and return its + * return value. The store is not accessible within the callback function or the + * asynchronous operations created within the callback. + * + * Optionally, arguments can be passed to the function. They will be passed to the + * callback function. + * + * If the callback function throws an error, it will be thrown by `exit` too. The + * stacktrace will not be impacted by this call and the context will be + * re-entered. + */ + // TODO: Apply generic vararg once available + exit(callback: (...args: any[]) => R, ...args: any[]): R; + + /** + * Calling `asyncLocalStorage.enterWith(store)` will transition into the context + * for the remainder of the current synchronous execution and will persist + * through any following asynchronous calls. + */ + enterWith(store: T): void; + } +} diff --git a/node_modules/@types/node/base.d.ts b/node_modules/@types/node/base.d.ts new file mode 100644 index 0000000..fa67179 --- /dev/null +++ b/node_modules/@types/node/base.d.ts @@ -0,0 +1,19 @@ +// NOTE: These definitions support NodeJS and TypeScript 3.7. + +// NOTE: TypeScript version-specific augmentations can be found in the following paths: +// - ~/base.d.ts - Shared definitions common to all TypeScript versions +// - ~/index.d.ts - Definitions specific to TypeScript 2.1 +// - ~/ts3.7/base.d.ts - Definitions specific to TypeScript 3.7 +// - ~/ts3.7/index.d.ts - Definitions specific to TypeScript 3.7 with assert pulled in + +// Reference required types from the default lib: +/// +/// +/// +/// + +// Base definitions for all NodeJS modules that are not specific to any version of TypeScript: +/// + +// TypeScript 3.7-specific augmentations: +/// diff --git a/node_modules/@types/node/buffer.d.ts b/node_modules/@types/node/buffer.d.ts new file mode 100644 index 0000000..76c92cf --- /dev/null +++ b/node_modules/@types/node/buffer.d.ts @@ -0,0 +1,22 @@ +declare module "buffer" { + export const INSPECT_MAX_BYTES: number; + export const kMaxLength: number; + export const kStringMaxLength: number; + export const constants: { + MAX_LENGTH: number; + MAX_STRING_LENGTH: number; + }; + const BuffType: typeof Buffer; + + export type TranscodeEncoding = "ascii" | "utf8" | "utf16le" | "ucs2" | "latin1" | "binary"; + + export function transcode(source: Uint8Array, fromEnc: TranscodeEncoding, toEnc: TranscodeEncoding): Buffer; + + export const SlowBuffer: { + /** @deprecated since v6.0.0, use `Buffer.allocUnsafeSlow()` */ + new(size: number): Buffer; + prototype: Buffer; + }; + + export { BuffType as Buffer }; +} diff --git a/node_modules/@types/node/child_process.d.ts b/node_modules/@types/node/child_process.d.ts new file mode 100644 index 0000000..b53e91e --- /dev/null +++ b/node_modules/@types/node/child_process.d.ts @@ -0,0 +1,509 @@ +declare module "child_process" { + import { BaseEncodingOptions } from 'fs'; + import * as events from "events"; + import * as net from "net"; + import { Writable, Readable, Stream, Pipe } from "stream"; + + type Serializable = string | object | number | boolean; + type SendHandle = net.Socket | net.Server; + + interface ChildProcess extends events.EventEmitter { + stdin: Writable | null; + stdout: Readable | null; + stderr: Readable | null; + readonly channel?: Pipe | null; + readonly stdio: [ + Writable | null, // stdin + Readable | null, // stdout + Readable | null, // stderr + Readable | Writable | null | undefined, // extra + Readable | Writable | null | undefined // extra + ]; + readonly killed: boolean; + readonly pid: number; + readonly connected: boolean; + readonly exitCode: number | null; + readonly signalCode: NodeJS.Signals | null; + readonly spawnargs: string[]; + readonly spawnfile: string; + kill(signal?: NodeJS.Signals | number): boolean; + send(message: Serializable, callback?: (error: Error | null) => void): boolean; + send(message: Serializable, sendHandle?: SendHandle, callback?: (error: Error | null) => void): boolean; + send(message: Serializable, sendHandle?: SendHandle, options?: MessageOptions, callback?: (error: Error | null) => void): boolean; + disconnect(): void; + unref(): void; + ref(): void; + + /** + * events.EventEmitter + * 1. close + * 2. disconnect + * 3. error + * 4. exit + * 5. message + */ + + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "close", listener: (code: number, signal: NodeJS.Signals) => void): this; + addListener(event: "disconnect", listener: () => void): this; + addListener(event: "error", listener: (err: Error) => void): this; + addListener(event: "exit", listener: (code: number | null, signal: NodeJS.Signals | null) => void): this; + addListener(event: "message", listener: (message: Serializable, sendHandle: SendHandle) => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "close", code: number, signal: NodeJS.Signals): boolean; + emit(event: "disconnect"): boolean; + emit(event: "error", err: Error): boolean; + emit(event: "exit", code: number | null, signal: NodeJS.Signals | null): boolean; + emit(event: "message", message: Serializable, sendHandle: SendHandle): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "close", listener: (code: number, signal: NodeJS.Signals) => void): this; + on(event: "disconnect", listener: () => void): this; + on(event: "error", listener: (err: Error) => void): this; + on(event: "exit", listener: (code: number | null, signal: NodeJS.Signals | null) => void): this; + on(event: "message", listener: (message: Serializable, sendHandle: SendHandle) => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "close", listener: (code: number, signal: NodeJS.Signals) => void): this; + once(event: "disconnect", listener: () => void): this; + once(event: "error", listener: (err: Error) => void): this; + once(event: "exit", listener: (code: number | null, signal: NodeJS.Signals | null) => void): this; + once(event: "message", listener: (message: Serializable, sendHandle: SendHandle) => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "close", listener: (code: number, signal: NodeJS.Signals) => void): this; + prependListener(event: "disconnect", listener: () => void): this; + prependListener(event: "error", listener: (err: Error) => void): this; + prependListener(event: "exit", listener: (code: number | null, signal: NodeJS.Signals | null) => void): this; + prependListener(event: "message", listener: (message: Serializable, sendHandle: SendHandle) => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "close", listener: (code: number, signal: NodeJS.Signals) => void): this; + prependOnceListener(event: "disconnect", listener: () => void): this; + prependOnceListener(event: "error", listener: (err: Error) => void): this; + prependOnceListener(event: "exit", listener: (code: number | null, signal: NodeJS.Signals | null) => void): this; + prependOnceListener(event: "message", listener: (message: Serializable, sendHandle: SendHandle) => void): this; + } + + // return this object when stdio option is undefined or not specified + interface ChildProcessWithoutNullStreams extends ChildProcess { + stdin: Writable; + stdout: Readable; + stderr: Readable; + readonly stdio: [ + Writable, // stdin + Readable, // stdout + Readable, // stderr + Readable | Writable | null | undefined, // extra, no modification + Readable | Writable | null | undefined // extra, no modification + ]; + } + + // return this object when stdio option is a tuple of 3 + interface ChildProcessByStdio< + I extends null | Writable, + O extends null | Readable, + E extends null | Readable, + > extends ChildProcess { + stdin: I; + stdout: O; + stderr: E; + readonly stdio: [ + I, + O, + E, + Readable | Writable | null | undefined, // extra, no modification + Readable | Writable | null | undefined // extra, no modification + ]; + } + + interface MessageOptions { + keepOpen?: boolean; + } + + type StdioOptions = "pipe" | "ignore" | "inherit" | Array<("pipe" | "ipc" | "ignore" | "inherit" | Stream | number | null | undefined)>; + + type SerializationType = 'json' | 'advanced'; + + interface MessagingOptions { + /** + * Specify the kind of serialization used for sending messages between processes. + * @default 'json' + */ + serialization?: SerializationType; + } + + interface ProcessEnvOptions { + uid?: number; + gid?: number; + cwd?: string; + env?: NodeJS.ProcessEnv; + } + + interface CommonOptions extends ProcessEnvOptions { + /** + * @default true + */ + windowsHide?: boolean; + /** + * @default 0 + */ + timeout?: number; + } + + interface CommonSpawnOptions extends CommonOptions, MessagingOptions { + argv0?: string; + stdio?: StdioOptions; + shell?: boolean | string; + windowsVerbatimArguments?: boolean; + } + + interface SpawnOptions extends CommonSpawnOptions { + detached?: boolean; + } + + interface SpawnOptionsWithoutStdio extends SpawnOptions { + stdio?: 'pipe' | Array; + } + + type StdioNull = 'inherit' | 'ignore' | Stream; + type StdioPipe = undefined | null | 'pipe'; + + interface SpawnOptionsWithStdioTuple< + Stdin extends StdioNull | StdioPipe, + Stdout extends StdioNull | StdioPipe, + Stderr extends StdioNull | StdioPipe, + > extends SpawnOptions { + stdio: [Stdin, Stdout, Stderr]; + } + + // overloads of spawn without 'args' + function spawn(command: string, options?: SpawnOptionsWithoutStdio): ChildProcessWithoutNullStreams; + + function spawn( + command: string, + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + function spawn( + command: string, + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + function spawn( + command: string, + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + function spawn( + command: string, + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + function spawn( + command: string, + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + function spawn( + command: string, + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + function spawn( + command: string, + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + function spawn( + command: string, + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + + function spawn(command: string, options: SpawnOptions): ChildProcess; + + // overloads of spawn with 'args' + function spawn(command: string, args?: ReadonlyArray, options?: SpawnOptionsWithoutStdio): ChildProcessWithoutNullStreams; + + function spawn( + command: string, + args: ReadonlyArray, + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + function spawn( + command: string, + args: ReadonlyArray, + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + function spawn( + command: string, + args: ReadonlyArray, + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + function spawn( + command: string, + args: ReadonlyArray, + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + function spawn( + command: string, + args: ReadonlyArray, + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + function spawn( + command: string, + args: ReadonlyArray, + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + function spawn( + command: string, + args: ReadonlyArray, + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + function spawn( + command: string, + args: ReadonlyArray, + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + + function spawn(command: string, args: ReadonlyArray, options: SpawnOptions): ChildProcess; + + interface ExecOptions extends CommonOptions { + shell?: string; + maxBuffer?: number; + killSignal?: NodeJS.Signals | number; + } + + interface ExecOptionsWithStringEncoding extends ExecOptions { + encoding: BufferEncoding; + } + + interface ExecOptionsWithBufferEncoding extends ExecOptions { + encoding: BufferEncoding | null; // specify `null`. + } + + interface ExecException extends Error { + cmd?: string; + killed?: boolean; + code?: number; + signal?: NodeJS.Signals; + } + + // no `options` definitely means stdout/stderr are `string`. + function exec(command: string, callback?: (error: ExecException | null, stdout: string, stderr: string) => void): ChildProcess; + + // `options` with `"buffer"` or `null` for `encoding` means stdout/stderr are definitely `Buffer`. + function exec(command: string, options: { encoding: "buffer" | null } & ExecOptions, callback?: (error: ExecException | null, stdout: Buffer, stderr: Buffer) => void): ChildProcess; + + // `options` with well known `encoding` means stdout/stderr are definitely `string`. + function exec(command: string, options: { encoding: BufferEncoding } & ExecOptions, callback?: (error: ExecException | null, stdout: string, stderr: string) => void): ChildProcess; + + // `options` with an `encoding` whose type is `string` means stdout/stderr could either be `Buffer` or `string`. + // There is no guarantee the `encoding` is unknown as `string` is a superset of `BufferEncoding`. + function exec( + command: string, + options: { encoding: BufferEncoding } & ExecOptions, + callback?: (error: ExecException | null, stdout: string | Buffer, stderr: string | Buffer) => void, + ): ChildProcess; + + // `options` without an `encoding` means stdout/stderr are definitely `string`. + function exec(command: string, options: ExecOptions, callback?: (error: ExecException | null, stdout: string, stderr: string) => void): ChildProcess; + + // fallback if nothing else matches. Worst case is always `string | Buffer`. + function exec( + command: string, + options: (BaseEncodingOptions & ExecOptions) | undefined | null, + callback?: (error: ExecException | null, stdout: string | Buffer, stderr: string | Buffer) => void, + ): ChildProcess; + + interface PromiseWithChild extends Promise { + child: ChildProcess; + } + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace exec { + function __promisify__(command: string): PromiseWithChild<{ stdout: string, stderr: string }>; + function __promisify__(command: string, options: { encoding: "buffer" | null } & ExecOptions): PromiseWithChild<{ stdout: Buffer, stderr: Buffer }>; + function __promisify__(command: string, options: { encoding: BufferEncoding } & ExecOptions): PromiseWithChild<{ stdout: string, stderr: string }>; + function __promisify__(command: string, options: ExecOptions): PromiseWithChild<{ stdout: string, stderr: string }>; + function __promisify__(command: string, options?: (BaseEncodingOptions & ExecOptions) | null): PromiseWithChild<{ stdout: string | Buffer, stderr: string | Buffer }>; + } + + interface ExecFileOptions extends CommonOptions { + maxBuffer?: number; + killSignal?: NodeJS.Signals | number; + windowsVerbatimArguments?: boolean; + shell?: boolean | string; + } + interface ExecFileOptionsWithStringEncoding extends ExecFileOptions { + encoding: BufferEncoding; + } + interface ExecFileOptionsWithBufferEncoding extends ExecFileOptions { + encoding: 'buffer' | null; + } + interface ExecFileOptionsWithOtherEncoding extends ExecFileOptions { + encoding: BufferEncoding; + } + + function execFile(file: string): ChildProcess; + function execFile(file: string, options: (BaseEncodingOptions & ExecFileOptions) | undefined | null): ChildProcess; + function execFile(file: string, args?: ReadonlyArray | null): ChildProcess; + function execFile(file: string, args: ReadonlyArray | undefined | null, options: (BaseEncodingOptions & ExecFileOptions) | undefined | null): ChildProcess; + + // no `options` definitely means stdout/stderr are `string`. + function execFile(file: string, callback: (error: ExecException | null, stdout: string, stderr: string) => void): ChildProcess; + function execFile(file: string, args: ReadonlyArray | undefined | null, callback: (error: ExecException | null, stdout: string, stderr: string) => void): ChildProcess; + + // `options` with `"buffer"` or `null` for `encoding` means stdout/stderr are definitely `Buffer`. + function execFile(file: string, options: ExecFileOptionsWithBufferEncoding, callback: (error: ExecException | null, stdout: Buffer, stderr: Buffer) => void): ChildProcess; + function execFile( + file: string, + args: ReadonlyArray | undefined | null, + options: ExecFileOptionsWithBufferEncoding, + callback: (error: ExecException | null, stdout: Buffer, stderr: Buffer) => void, + ): ChildProcess; + + // `options` with well known `encoding` means stdout/stderr are definitely `string`. + function execFile(file: string, options: ExecFileOptionsWithStringEncoding, callback: (error: ExecException | null, stdout: string, stderr: string) => void): ChildProcess; + function execFile( + file: string, + args: ReadonlyArray | undefined | null, + options: ExecFileOptionsWithStringEncoding, + callback: (error: ExecException | null, stdout: string, stderr: string) => void, + ): ChildProcess; + + // `options` with an `encoding` whose type is `string` means stdout/stderr could either be `Buffer` or `string`. + // There is no guarantee the `encoding` is unknown as `string` is a superset of `BufferEncoding`. + function execFile( + file: string, + options: ExecFileOptionsWithOtherEncoding, + callback: (error: ExecException | null, stdout: string | Buffer, stderr: string | Buffer) => void, + ): ChildProcess; + function execFile( + file: string, + args: ReadonlyArray | undefined | null, + options: ExecFileOptionsWithOtherEncoding, + callback: (error: ExecException | null, stdout: string | Buffer, stderr: string | Buffer) => void, + ): ChildProcess; + + // `options` without an `encoding` means stdout/stderr are definitely `string`. + function execFile(file: string, options: ExecFileOptions, callback: (error: ExecException | null, stdout: string, stderr: string) => void): ChildProcess; + function execFile( + file: string, + args: ReadonlyArray | undefined | null, + options: ExecFileOptions, + callback: (error: ExecException | null, stdout: string, stderr: string) => void + ): ChildProcess; + + // fallback if nothing else matches. Worst case is always `string | Buffer`. + function execFile( + file: string, + options: (BaseEncodingOptions & ExecFileOptions) | undefined | null, + callback: ((error: ExecException | null, stdout: string | Buffer, stderr: string | Buffer) => void) | undefined | null, + ): ChildProcess; + function execFile( + file: string, + args: ReadonlyArray | undefined | null, + options: (BaseEncodingOptions & ExecFileOptions) | undefined | null, + callback: ((error: ExecException | null, stdout: string | Buffer, stderr: string | Buffer) => void) | undefined | null, + ): ChildProcess; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace execFile { + function __promisify__(file: string): PromiseWithChild<{ stdout: string, stderr: string }>; + function __promisify__(file: string, args: ReadonlyArray | undefined | null): PromiseWithChild<{ stdout: string, stderr: string }>; + function __promisify__(file: string, options: ExecFileOptionsWithBufferEncoding): PromiseWithChild<{ stdout: Buffer, stderr: Buffer }>; + function __promisify__(file: string, args: ReadonlyArray | undefined | null, options: ExecFileOptionsWithBufferEncoding): PromiseWithChild<{ stdout: Buffer, stderr: Buffer }>; + function __promisify__(file: string, options: ExecFileOptionsWithStringEncoding): PromiseWithChild<{ stdout: string, stderr: string }>; + function __promisify__(file: string, args: ReadonlyArray | undefined | null, options: ExecFileOptionsWithStringEncoding): PromiseWithChild<{ stdout: string, stderr: string }>; + function __promisify__(file: string, options: ExecFileOptionsWithOtherEncoding): PromiseWithChild<{ stdout: string | Buffer, stderr: string | Buffer }>; + function __promisify__( + file: string, + args: ReadonlyArray | undefined | null, + options: ExecFileOptionsWithOtherEncoding, + ): PromiseWithChild<{ stdout: string | Buffer, stderr: string | Buffer }>; + function __promisify__(file: string, options: ExecFileOptions): PromiseWithChild<{ stdout: string, stderr: string }>; + function __promisify__(file: string, args: ReadonlyArray | undefined | null, options: ExecFileOptions): PromiseWithChild<{ stdout: string, stderr: string }>; + function __promisify__(file: string, options: (BaseEncodingOptions & ExecFileOptions) | undefined | null): PromiseWithChild<{ stdout: string | Buffer, stderr: string | Buffer }>; + function __promisify__( + file: string, + args: ReadonlyArray | undefined | null, + options: (BaseEncodingOptions & ExecFileOptions) | undefined | null, + ): PromiseWithChild<{ stdout: string | Buffer, stderr: string | Buffer }>; + } + + interface ForkOptions extends ProcessEnvOptions, MessagingOptions { + execPath?: string; + execArgv?: string[]; + silent?: boolean; + stdio?: StdioOptions; + detached?: boolean; + windowsVerbatimArguments?: boolean; + } + function fork(modulePath: string, options?: ForkOptions): ChildProcess; + function fork(modulePath: string, args?: ReadonlyArray, options?: ForkOptions): ChildProcess; + + interface SpawnSyncOptions extends CommonSpawnOptions { + input?: string | NodeJS.ArrayBufferView; + killSignal?: NodeJS.Signals | number; + maxBuffer?: number; + encoding?: BufferEncoding | 'buffer' | null; + } + interface SpawnSyncOptionsWithStringEncoding extends SpawnSyncOptions { + encoding: BufferEncoding; + } + interface SpawnSyncOptionsWithBufferEncoding extends SpawnSyncOptions { + encoding?: 'buffer' | null; + } + interface SpawnSyncReturns { + pid: number; + output: string[]; + stdout: T; + stderr: T; + status: number | null; + signal: NodeJS.Signals | null; + error?: Error; + } + function spawnSync(command: string): SpawnSyncReturns; + function spawnSync(command: string, options?: SpawnSyncOptionsWithStringEncoding): SpawnSyncReturns; + function spawnSync(command: string, options?: SpawnSyncOptionsWithBufferEncoding): SpawnSyncReturns; + function spawnSync(command: string, options?: SpawnSyncOptions): SpawnSyncReturns; + function spawnSync(command: string, args?: ReadonlyArray, options?: SpawnSyncOptionsWithStringEncoding): SpawnSyncReturns; + function spawnSync(command: string, args?: ReadonlyArray, options?: SpawnSyncOptionsWithBufferEncoding): SpawnSyncReturns; + function spawnSync(command: string, args?: ReadonlyArray, options?: SpawnSyncOptions): SpawnSyncReturns; + + interface ExecSyncOptions extends CommonOptions { + input?: string | Uint8Array; + stdio?: StdioOptions; + shell?: string; + killSignal?: NodeJS.Signals | number; + maxBuffer?: number; + encoding?: BufferEncoding | 'buffer' | null; + } + interface ExecSyncOptionsWithStringEncoding extends ExecSyncOptions { + encoding: BufferEncoding; + } + interface ExecSyncOptionsWithBufferEncoding extends ExecSyncOptions { + encoding?: 'buffer' | null; + } + function execSync(command: string): Buffer; + function execSync(command: string, options?: ExecSyncOptionsWithStringEncoding): string; + function execSync(command: string, options?: ExecSyncOptionsWithBufferEncoding): Buffer; + function execSync(command: string, options?: ExecSyncOptions): Buffer; + + interface ExecFileSyncOptions extends CommonOptions { + input?: string | NodeJS.ArrayBufferView; + stdio?: StdioOptions; + killSignal?: NodeJS.Signals | number; + maxBuffer?: number; + encoding?: BufferEncoding; + shell?: boolean | string; + } + interface ExecFileSyncOptionsWithStringEncoding extends ExecFileSyncOptions { + encoding: BufferEncoding; + } + interface ExecFileSyncOptionsWithBufferEncoding extends ExecFileSyncOptions { + encoding: BufferEncoding; // specify `null`. + } + function execFileSync(command: string): Buffer; + function execFileSync(command: string, options?: ExecFileSyncOptionsWithStringEncoding): string; + function execFileSync(command: string, options?: ExecFileSyncOptionsWithBufferEncoding): Buffer; + function execFileSync(command: string, options?: ExecFileSyncOptions): Buffer; + function execFileSync(command: string, args?: ReadonlyArray, options?: ExecFileSyncOptionsWithStringEncoding): string; + function execFileSync(command: string, args?: ReadonlyArray, options?: ExecFileSyncOptionsWithBufferEncoding): Buffer; + function execFileSync(command: string, args?: ReadonlyArray, options?: ExecFileSyncOptions): Buffer; +} diff --git a/node_modules/@types/node/cluster.d.ts b/node_modules/@types/node/cluster.d.ts new file mode 100644 index 0000000..0ef6c2a --- /dev/null +++ b/node_modules/@types/node/cluster.d.ts @@ -0,0 +1,262 @@ +declare module "cluster" { + import * as child from "child_process"; + import * as events from "events"; + import * as net from "net"; + + // interfaces + interface ClusterSettings { + execArgv?: string[]; // default: process.execArgv + exec?: string; + args?: string[]; + silent?: boolean; + stdio?: any[]; + uid?: number; + gid?: number; + inspectPort?: number | (() => number); + } + + interface Address { + address: string; + port: number; + addressType: number | "udp4" | "udp6"; // 4, 6, -1, "udp4", "udp6" + } + + class Worker extends events.EventEmitter { + id: number; + process: child.ChildProcess; + send(message: child.Serializable, sendHandle?: child.SendHandle, callback?: (error: Error | null) => void): boolean; + kill(signal?: string): void; + destroy(signal?: string): void; + disconnect(): void; + isConnected(): boolean; + isDead(): boolean; + exitedAfterDisconnect: boolean; + + /** + * events.EventEmitter + * 1. disconnect + * 2. error + * 3. exit + * 4. listening + * 5. message + * 6. online + */ + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "disconnect", listener: () => void): this; + addListener(event: "error", listener: (error: Error) => void): this; + addListener(event: "exit", listener: (code: number, signal: string) => void): this; + addListener(event: "listening", listener: (address: Address) => void): this; + addListener(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined. + addListener(event: "online", listener: () => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "disconnect"): boolean; + emit(event: "error", error: Error): boolean; + emit(event: "exit", code: number, signal: string): boolean; + emit(event: "listening", address: Address): boolean; + emit(event: "message", message: any, handle: net.Socket | net.Server): boolean; + emit(event: "online"): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "disconnect", listener: () => void): this; + on(event: "error", listener: (error: Error) => void): this; + on(event: "exit", listener: (code: number, signal: string) => void): this; + on(event: "listening", listener: (address: Address) => void): this; + on(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined. + on(event: "online", listener: () => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "disconnect", listener: () => void): this; + once(event: "error", listener: (error: Error) => void): this; + once(event: "exit", listener: (code: number, signal: string) => void): this; + once(event: "listening", listener: (address: Address) => void): this; + once(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined. + once(event: "online", listener: () => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "disconnect", listener: () => void): this; + prependListener(event: "error", listener: (error: Error) => void): this; + prependListener(event: "exit", listener: (code: number, signal: string) => void): this; + prependListener(event: "listening", listener: (address: Address) => void): this; + prependListener(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined. + prependListener(event: "online", listener: () => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "disconnect", listener: () => void): this; + prependOnceListener(event: "error", listener: (error: Error) => void): this; + prependOnceListener(event: "exit", listener: (code: number, signal: string) => void): this; + prependOnceListener(event: "listening", listener: (address: Address) => void): this; + prependOnceListener(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined. + prependOnceListener(event: "online", listener: () => void): this; + } + + interface Cluster extends events.EventEmitter { + Worker: Worker; + disconnect(callback?: () => void): void; + fork(env?: any): Worker; + isMaster: boolean; + isWorker: boolean; + schedulingPolicy: number; + settings: ClusterSettings; + setupMaster(settings?: ClusterSettings): void; + worker?: Worker; + workers?: NodeJS.Dict; + + readonly SCHED_NONE: number; + readonly SCHED_RR: number; + + /** + * events.EventEmitter + * 1. disconnect + * 2. exit + * 3. fork + * 4. listening + * 5. message + * 6. online + * 7. setup + */ + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "disconnect", listener: (worker: Worker) => void): this; + addListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this; + addListener(event: "fork", listener: (worker: Worker) => void): this; + addListener(event: "listening", listener: (worker: Worker, address: Address) => void): this; + addListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined. + addListener(event: "online", listener: (worker: Worker) => void): this; + addListener(event: "setup", listener: (settings: ClusterSettings) => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "disconnect", worker: Worker): boolean; + emit(event: "exit", worker: Worker, code: number, signal: string): boolean; + emit(event: "fork", worker: Worker): boolean; + emit(event: "listening", worker: Worker, address: Address): boolean; + emit(event: "message", worker: Worker, message: any, handle: net.Socket | net.Server): boolean; + emit(event: "online", worker: Worker): boolean; + emit(event: "setup", settings: ClusterSettings): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "disconnect", listener: (worker: Worker) => void): this; + on(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this; + on(event: "fork", listener: (worker: Worker) => void): this; + on(event: "listening", listener: (worker: Worker, address: Address) => void): this; + on(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined. + on(event: "online", listener: (worker: Worker) => void): this; + on(event: "setup", listener: (settings: ClusterSettings) => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "disconnect", listener: (worker: Worker) => void): this; + once(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this; + once(event: "fork", listener: (worker: Worker) => void): this; + once(event: "listening", listener: (worker: Worker, address: Address) => void): this; + once(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined. + once(event: "online", listener: (worker: Worker) => void): this; + once(event: "setup", listener: (settings: ClusterSettings) => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "disconnect", listener: (worker: Worker) => void): this; + prependListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this; + prependListener(event: "fork", listener: (worker: Worker) => void): this; + prependListener(event: "listening", listener: (worker: Worker, address: Address) => void): this; + prependListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined. + prependListener(event: "online", listener: (worker: Worker) => void): this; + prependListener(event: "setup", listener: (settings: ClusterSettings) => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "disconnect", listener: (worker: Worker) => void): this; + prependOnceListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this; + prependOnceListener(event: "fork", listener: (worker: Worker) => void): this; + prependOnceListener(event: "listening", listener: (worker: Worker, address: Address) => void): this; + // the handle is a net.Socket or net.Server object, or undefined. + prependOnceListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this; + prependOnceListener(event: "online", listener: (worker: Worker) => void): this; + prependOnceListener(event: "setup", listener: (settings: ClusterSettings) => void): this; + } + + const SCHED_NONE: number; + const SCHED_RR: number; + + function disconnect(callback?: () => void): void; + function fork(env?: any): Worker; + const isMaster: boolean; + const isWorker: boolean; + let schedulingPolicy: number; + const settings: ClusterSettings; + function setupMaster(settings?: ClusterSettings): void; + const worker: Worker; + const workers: NodeJS.Dict; + + /** + * events.EventEmitter + * 1. disconnect + * 2. exit + * 3. fork + * 4. listening + * 5. message + * 6. online + * 7. setup + */ + function addListener(event: string, listener: (...args: any[]) => void): Cluster; + function addListener(event: "disconnect", listener: (worker: Worker) => void): Cluster; + function addListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): Cluster; + function addListener(event: "fork", listener: (worker: Worker) => void): Cluster; + function addListener(event: "listening", listener: (worker: Worker, address: Address) => void): Cluster; + // the handle is a net.Socket or net.Server object, or undefined. + function addListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): Cluster; + function addListener(event: "online", listener: (worker: Worker) => void): Cluster; + function addListener(event: "setup", listener: (settings: ClusterSettings) => void): Cluster; + + function emit(event: string | symbol, ...args: any[]): boolean; + function emit(event: "disconnect", worker: Worker): boolean; + function emit(event: "exit", worker: Worker, code: number, signal: string): boolean; + function emit(event: "fork", worker: Worker): boolean; + function emit(event: "listening", worker: Worker, address: Address): boolean; + function emit(event: "message", worker: Worker, message: any, handle: net.Socket | net.Server): boolean; + function emit(event: "online", worker: Worker): boolean; + function emit(event: "setup", settings: ClusterSettings): boolean; + + function on(event: string, listener: (...args: any[]) => void): Cluster; + function on(event: "disconnect", listener: (worker: Worker) => void): Cluster; + function on(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): Cluster; + function on(event: "fork", listener: (worker: Worker) => void): Cluster; + function on(event: "listening", listener: (worker: Worker, address: Address) => void): Cluster; + function on(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): Cluster; // the handle is a net.Socket or net.Server object, or undefined. + function on(event: "online", listener: (worker: Worker) => void): Cluster; + function on(event: "setup", listener: (settings: ClusterSettings) => void): Cluster; + + function once(event: string, listener: (...args: any[]) => void): Cluster; + function once(event: "disconnect", listener: (worker: Worker) => void): Cluster; + function once(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): Cluster; + function once(event: "fork", listener: (worker: Worker) => void): Cluster; + function once(event: "listening", listener: (worker: Worker, address: Address) => void): Cluster; + function once(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): Cluster; // the handle is a net.Socket or net.Server object, or undefined. + function once(event: "online", listener: (worker: Worker) => void): Cluster; + function once(event: "setup", listener: (settings: ClusterSettings) => void): Cluster; + + function removeListener(event: string, listener: (...args: any[]) => void): Cluster; + function removeAllListeners(event?: string): Cluster; + function setMaxListeners(n: number): Cluster; + function getMaxListeners(): number; + function listeners(event: string): Function[]; + function listenerCount(type: string): number; + + function prependListener(event: string, listener: (...args: any[]) => void): Cluster; + function prependListener(event: "disconnect", listener: (worker: Worker) => void): Cluster; + function prependListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): Cluster; + function prependListener(event: "fork", listener: (worker: Worker) => void): Cluster; + function prependListener(event: "listening", listener: (worker: Worker, address: Address) => void): Cluster; + // the handle is a net.Socket or net.Server object, or undefined. + function prependListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): Cluster; + function prependListener(event: "online", listener: (worker: Worker) => void): Cluster; + function prependListener(event: "setup", listener: (settings: ClusterSettings) => void): Cluster; + + function prependOnceListener(event: string, listener: (...args: any[]) => void): Cluster; + function prependOnceListener(event: "disconnect", listener: (worker: Worker) => void): Cluster; + function prependOnceListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): Cluster; + function prependOnceListener(event: "fork", listener: (worker: Worker) => void): Cluster; + function prependOnceListener(event: "listening", listener: (worker: Worker, address: Address) => void): Cluster; + // the handle is a net.Socket or net.Server object, or undefined. + function prependOnceListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): Cluster; + function prependOnceListener(event: "online", listener: (worker: Worker) => void): Cluster; + function prependOnceListener(event: "setup", listener: (settings: ClusterSettings) => void): Cluster; + + function eventNames(): string[]; +} diff --git a/node_modules/@types/node/console.d.ts b/node_modules/@types/node/console.d.ts new file mode 100644 index 0000000..178beb4 --- /dev/null +++ b/node_modules/@types/node/console.d.ts @@ -0,0 +1,133 @@ +declare module "console" { + import { InspectOptions } from 'util'; + + global { + // This needs to be global to avoid TS2403 in case lib.dom.d.ts is present in the same build + interface Console { + Console: NodeJS.ConsoleConstructor; + /** + * A simple assertion test that verifies whether `value` is truthy. + * If it is not, an `AssertionError` is thrown. + * If provided, the error `message` is formatted using `util.format()` and used as the error message. + */ + assert(value: any, message?: string, ...optionalParams: any[]): void; + /** + * When `stdout` is a TTY, calling `console.clear()` will attempt to clear the TTY. + * When `stdout` is not a TTY, this method does nothing. + */ + clear(): void; + /** + * Maintains an internal counter specific to `label` and outputs to `stdout` the number of times `console.count()` has been called with the given `label`. + */ + count(label?: string): void; + /** + * Resets the internal counter specific to `label`. + */ + countReset(label?: string): void; + /** + * The `console.debug()` function is an alias for {@link console.log()}. + */ + debug(message?: any, ...optionalParams: any[]): void; + /** + * Uses {@link util.inspect()} on `obj` and prints the resulting string to `stdout`. + * This function bypasses any custom `inspect()` function defined on `obj`. + */ + dir(obj: any, options?: InspectOptions): void; + /** + * This method calls {@link console.log()} passing it the arguments received. Please note that this method does not produce any XML formatting + */ + dirxml(...data: any[]): void; + /** + * Prints to `stderr` with newline. + */ + error(message?: any, ...optionalParams: any[]): void; + /** + * Increases indentation of subsequent lines by two spaces. + * If one or more `label`s are provided, those are printed first without the additional indentation. + */ + group(...label: any[]): void; + /** + * The `console.groupCollapsed()` function is an alias for {@link console.group()}. + */ + groupCollapsed(...label: any[]): void; + /** + * Decreases indentation of subsequent lines by two spaces. + */ + groupEnd(): void; + /** + * The {@link console.info()} function is an alias for {@link console.log()}. + */ + info(message?: any, ...optionalParams: any[]): void; + /** + * Prints to `stdout` with newline. + */ + log(message?: any, ...optionalParams: any[]): void; + /** + * This method does not display anything unless used in the inspector. + * Prints to `stdout` the array `array` formatted as a table. + */ + table(tabularData: any, properties?: ReadonlyArray): void; + /** + * Starts a timer that can be used to compute the duration of an operation. Timers are identified by a unique `label`. + */ + time(label?: string): void; + /** + * Stops a timer that was previously started by calling {@link console.time()} and prints the result to `stdout`. + */ + timeEnd(label?: string): void; + /** + * For a timer that was previously started by calling {@link console.time()}, prints the elapsed time and other `data` arguments to `stdout`. + */ + timeLog(label?: string, ...data: any[]): void; + /** + * Prints to `stderr` the string 'Trace :', followed by the {@link util.format()} formatted message and stack trace to the current position in the code. + */ + trace(message?: any, ...optionalParams: any[]): void; + /** + * The {@link console.warn()} function is an alias for {@link console.error()}. + */ + warn(message?: any, ...optionalParams: any[]): void; + + // --- Inspector mode only --- + /** + * This method does not display anything unless used in the inspector. + * Starts a JavaScript CPU profile with an optional label. + */ + profile(label?: string): void; + /** + * This method does not display anything unless used in the inspector. + * Stops the current JavaScript CPU profiling session if one has been started and prints the report to the Profiles panel of the inspector. + */ + profileEnd(label?: string): void; + /** + * This method does not display anything unless used in the inspector. + * Adds an event with the label `label` to the Timeline panel of the inspector. + */ + timeStamp(label?: string): void; + } + + var console: Console; + + namespace NodeJS { + interface ConsoleConstructorOptions { + stdout: WritableStream; + stderr?: WritableStream; + ignoreErrors?: boolean; + colorMode?: boolean | 'auto'; + inspectOptions?: InspectOptions; + } + + interface ConsoleConstructor { + prototype: Console; + new(stdout: WritableStream, stderr?: WritableStream, ignoreErrors?: boolean): Console; + new(options: ConsoleConstructorOptions): Console; + } + + interface Global { + console: typeof console; + } + } + } + + export = console; +} diff --git a/node_modules/@types/node/constants.d.ts b/node_modules/@types/node/constants.d.ts new file mode 100644 index 0000000..d124ae6 --- /dev/null +++ b/node_modules/@types/node/constants.d.ts @@ -0,0 +1,8 @@ +/** @deprecated since v6.3.0 - use constants property exposed by the relevant module instead. */ +declare module "constants" { + import { constants as osConstants, SignalConstants } from 'os'; + import { constants as cryptoConstants } from 'crypto'; + import { constants as fsConstants } from 'fs'; + const exp: typeof osConstants.errno & typeof osConstants.priority & SignalConstants & typeof cryptoConstants & typeof fsConstants; + export = exp; +} diff --git a/node_modules/@types/node/crypto.d.ts b/node_modules/@types/node/crypto.d.ts new file mode 100644 index 0000000..d25d615 --- /dev/null +++ b/node_modules/@types/node/crypto.d.ts @@ -0,0 +1,778 @@ +declare module "crypto" { + import * as stream from "stream"; + + interface Certificate { + exportChallenge(spkac: BinaryLike): Buffer; + exportPublicKey(spkac: BinaryLike): Buffer; + verifySpkac(spkac: NodeJS.ArrayBufferView): boolean; + } + const Certificate: { + new(): Certificate; + (): Certificate; + }; + + namespace constants { // https://nodejs.org/dist/latest-v10.x/docs/api/crypto.html#crypto_crypto_constants + const OPENSSL_VERSION_NUMBER: number; + + /** Applies multiple bug workarounds within OpenSSL. See https://www.openssl.org/docs/man1.0.2/ssl/SSL_CTX_set_options.html for detail. */ + const SSL_OP_ALL: number; + /** Allows legacy insecure renegotiation between OpenSSL and unpatched clients or servers. See https://www.openssl.org/docs/man1.0.2/ssl/SSL_CTX_set_options.html. */ + const SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION: number; + /** Attempts to use the server's preferences instead of the client's when selecting a cipher. See https://www.openssl.org/docs/man1.0.2/ssl/SSL_CTX_set_options.html. */ + const SSL_OP_CIPHER_SERVER_PREFERENCE: number; + /** Instructs OpenSSL to use Cisco's "speshul" version of DTLS_BAD_VER. */ + const SSL_OP_CISCO_ANYCONNECT: number; + /** Instructs OpenSSL to turn on cookie exchange. */ + const SSL_OP_COOKIE_EXCHANGE: number; + /** Instructs OpenSSL to add server-hello extension from an early version of the cryptopro draft. */ + const SSL_OP_CRYPTOPRO_TLSEXT_BUG: number; + /** Instructs OpenSSL to disable a SSL 3.0/TLS 1.0 vulnerability workaround added in OpenSSL 0.9.6d. */ + const SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS: number; + /** Instructs OpenSSL to always use the tmp_rsa key when performing RSA operations. */ + const SSL_OP_EPHEMERAL_RSA: number; + /** Allows initial connection to servers that do not support RI. */ + const SSL_OP_LEGACY_SERVER_CONNECT: number; + const SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER: number; + const SSL_OP_MICROSOFT_SESS_ID_BUG: number; + /** Instructs OpenSSL to disable the workaround for a man-in-the-middle protocol-version vulnerability in the SSL 2.0 server implementation. */ + const SSL_OP_MSIE_SSLV2_RSA_PADDING: number; + const SSL_OP_NETSCAPE_CA_DN_BUG: number; + const SSL_OP_NETSCAPE_CHALLENGE_BUG: number; + const SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG: number; + const SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG: number; + /** Instructs OpenSSL to disable support for SSL/TLS compression. */ + const SSL_OP_NO_COMPRESSION: number; + const SSL_OP_NO_QUERY_MTU: number; + /** Instructs OpenSSL to always start a new session when performing renegotiation. */ + const SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION: number; + const SSL_OP_NO_SSLv2: number; + const SSL_OP_NO_SSLv3: number; + const SSL_OP_NO_TICKET: number; + const SSL_OP_NO_TLSv1: number; + const SSL_OP_NO_TLSv1_1: number; + const SSL_OP_NO_TLSv1_2: number; + const SSL_OP_PKCS1_CHECK_1: number; + const SSL_OP_PKCS1_CHECK_2: number; + /** Instructs OpenSSL to always create a new key when using temporary/ephemeral DH parameters. */ + const SSL_OP_SINGLE_DH_USE: number; + /** Instructs OpenSSL to always create a new key when using temporary/ephemeral ECDH parameters. */ + const SSL_OP_SINGLE_ECDH_USE: number; + const SSL_OP_SSLEAY_080_CLIENT_DH_BUG: number; + const SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG: number; + const SSL_OP_TLS_BLOCK_PADDING_BUG: number; + const SSL_OP_TLS_D5_BUG: number; + /** Instructs OpenSSL to disable version rollback attack detection. */ + const SSL_OP_TLS_ROLLBACK_BUG: number; + + const ENGINE_METHOD_RSA: number; + const ENGINE_METHOD_DSA: number; + const ENGINE_METHOD_DH: number; + const ENGINE_METHOD_RAND: number; + const ENGINE_METHOD_EC: number; + const ENGINE_METHOD_CIPHERS: number; + const ENGINE_METHOD_DIGESTS: number; + const ENGINE_METHOD_PKEY_METHS: number; + const ENGINE_METHOD_PKEY_ASN1_METHS: number; + const ENGINE_METHOD_ALL: number; + const ENGINE_METHOD_NONE: number; + + const DH_CHECK_P_NOT_SAFE_PRIME: number; + const DH_CHECK_P_NOT_PRIME: number; + const DH_UNABLE_TO_CHECK_GENERATOR: number; + const DH_NOT_SUITABLE_GENERATOR: number; + + const ALPN_ENABLED: number; + + const RSA_PKCS1_PADDING: number; + const RSA_SSLV23_PADDING: number; + const RSA_NO_PADDING: number; + const RSA_PKCS1_OAEP_PADDING: number; + const RSA_X931_PADDING: number; + const RSA_PKCS1_PSS_PADDING: number; + /** Sets the salt length for RSA_PKCS1_PSS_PADDING to the digest size when signing or verifying. */ + const RSA_PSS_SALTLEN_DIGEST: number; + /** Sets the salt length for RSA_PKCS1_PSS_PADDING to the maximum permissible value when signing data. */ + const RSA_PSS_SALTLEN_MAX_SIGN: number; + /** Causes the salt length for RSA_PKCS1_PSS_PADDING to be determined automatically when verifying a signature. */ + const RSA_PSS_SALTLEN_AUTO: number; + + const POINT_CONVERSION_COMPRESSED: number; + const POINT_CONVERSION_UNCOMPRESSED: number; + const POINT_CONVERSION_HYBRID: number; + + /** Specifies the built-in default cipher list used by Node.js (colon-separated values). */ + const defaultCoreCipherList: string; + /** Specifies the active default cipher list used by the current Node.js process (colon-separated values). */ + const defaultCipherList: string; + } + + interface HashOptions extends stream.TransformOptions { + /** + * For XOF hash functions such as `shake256`, the + * outputLength option can be used to specify the desired output length in bytes. + */ + outputLength?: number; + } + + /** @deprecated since v10.0.0 */ + const fips: boolean; + + function createHash(algorithm: string, options?: HashOptions): Hash; + function createHmac(algorithm: string, key: BinaryLike | KeyObject, options?: stream.TransformOptions): Hmac; + + // https://nodejs.org/api/buffer.html#buffer_buffers_and_character_encodings + type BinaryToTextEncoding = "base64" | "hex"; + type CharacterEncoding = "utf8" | "utf-8" | "utf16le" | "latin1"; + type LegacyCharacterEncoding = "ascii" | "binary" | "ucs2" | "ucs-2"; + + type Encoding = BinaryToTextEncoding | CharacterEncoding | LegacyCharacterEncoding; + + type ECDHKeyFormat = "compressed" | "uncompressed" | "hybrid"; + + class Hash extends stream.Transform { + private constructor(); + copy(): Hash; + update(data: BinaryLike): Hash; + update(data: string, input_encoding: Encoding): Hash; + digest(): Buffer; + digest(encoding: BinaryToTextEncoding): string; + } + class Hmac extends stream.Transform { + private constructor(); + update(data: BinaryLike): Hmac; + update(data: string, input_encoding: Encoding): Hmac; + digest(): Buffer; + digest(encoding: BinaryToTextEncoding): string; + } + + type KeyObjectType = 'secret' | 'public' | 'private'; + + interface KeyExportOptions { + type: 'pkcs1' | 'spki' | 'pkcs8' | 'sec1'; + format: T; + cipher?: string; + passphrase?: string | Buffer; + } + + class KeyObject { + private constructor(); + asymmetricKeyType?: KeyType; + /** + * For asymmetric keys, this property represents the size of the embedded key in + * bytes. This property is `undefined` for symmetric keys. + */ + asymmetricKeySize?: number; + export(options: KeyExportOptions<'pem'>): string | Buffer; + export(options?: KeyExportOptions<'der'>): Buffer; + symmetricKeySize?: number; + type: KeyObjectType; + } + + type CipherCCMTypes = 'aes-128-ccm' | 'aes-192-ccm' | 'aes-256-ccm' | 'chacha20-poly1305'; + type CipherGCMTypes = 'aes-128-gcm' | 'aes-192-gcm' | 'aes-256-gcm'; + + type BinaryLike = string | NodeJS.ArrayBufferView; + + type CipherKey = BinaryLike | KeyObject; + + interface CipherCCMOptions extends stream.TransformOptions { + authTagLength: number; + } + interface CipherGCMOptions extends stream.TransformOptions { + authTagLength?: number; + } + /** @deprecated since v10.0.0 use `createCipheriv()` */ + function createCipher(algorithm: CipherCCMTypes, password: BinaryLike, options: CipherCCMOptions): CipherCCM; + /** @deprecated since v10.0.0 use `createCipheriv()` */ + function createCipher(algorithm: CipherGCMTypes, password: BinaryLike, options?: CipherGCMOptions): CipherGCM; + /** @deprecated since v10.0.0 use `createCipheriv()` */ + function createCipher(algorithm: string, password: BinaryLike, options?: stream.TransformOptions): Cipher; + + function createCipheriv( + algorithm: CipherCCMTypes, + key: CipherKey, + iv: BinaryLike | null, + options: CipherCCMOptions + ): CipherCCM; + function createCipheriv( + algorithm: CipherGCMTypes, + key: CipherKey, + iv: BinaryLike | null, + options?: CipherGCMOptions + ): CipherGCM; + function createCipheriv( + algorithm: string, key: CipherKey, iv: BinaryLike | null, options?: stream.TransformOptions + ): Cipher; + + class Cipher extends stream.Transform { + private constructor(); + update(data: BinaryLike): Buffer; + update(data: string, input_encoding: Encoding): Buffer; + update(data: NodeJS.ArrayBufferView, input_encoding: undefined, output_encoding: BinaryToTextEncoding): string; + update(data: string, input_encoding: Encoding | undefined, output_encoding: BinaryToTextEncoding): string; + final(): Buffer; + final(output_encoding: BufferEncoding): string; + setAutoPadding(auto_padding?: boolean): this; + // getAuthTag(): Buffer; + // setAAD(buffer: NodeJS.ArrayBufferView): this; + } + interface CipherCCM extends Cipher { + setAAD(buffer: NodeJS.ArrayBufferView, options: { plaintextLength: number }): this; + getAuthTag(): Buffer; + } + interface CipherGCM extends Cipher { + setAAD(buffer: NodeJS.ArrayBufferView, options?: { plaintextLength: number }): this; + getAuthTag(): Buffer; + } + /** @deprecated since v10.0.0 use `createDecipheriv()` */ + function createDecipher(algorithm: CipherCCMTypes, password: BinaryLike, options: CipherCCMOptions): DecipherCCM; + /** @deprecated since v10.0.0 use `createDecipheriv()` */ + function createDecipher(algorithm: CipherGCMTypes, password: BinaryLike, options?: CipherGCMOptions): DecipherGCM; + /** @deprecated since v10.0.0 use `createDecipheriv()` */ + function createDecipher(algorithm: string, password: BinaryLike, options?: stream.TransformOptions): Decipher; + + function createDecipheriv( + algorithm: CipherCCMTypes, + key: CipherKey, + iv: BinaryLike | null, + options: CipherCCMOptions, + ): DecipherCCM; + function createDecipheriv( + algorithm: CipherGCMTypes, + key: CipherKey, + iv: BinaryLike | null, + options?: CipherGCMOptions, + ): DecipherGCM; + function createDecipheriv(algorithm: string, key: CipherKey, iv: BinaryLike | null, options?: stream.TransformOptions): Decipher; + + class Decipher extends stream.Transform { + private constructor(); + update(data: NodeJS.ArrayBufferView): Buffer; + update(data: string, input_encoding: BinaryToTextEncoding): Buffer; + update(data: NodeJS.ArrayBufferView, input_encoding: undefined, output_encoding: Encoding): string; + update(data: string, input_encoding: BinaryToTextEncoding | undefined, output_encoding: Encoding): string; + final(): Buffer; + final(output_encoding: BufferEncoding): string; + setAutoPadding(auto_padding?: boolean): this; + // setAuthTag(tag: NodeJS.ArrayBufferView): this; + // setAAD(buffer: NodeJS.ArrayBufferView): this; + } + interface DecipherCCM extends Decipher { + setAuthTag(buffer: NodeJS.ArrayBufferView): this; + setAAD(buffer: NodeJS.ArrayBufferView, options: { plaintextLength: number }): this; + } + interface DecipherGCM extends Decipher { + setAuthTag(buffer: NodeJS.ArrayBufferView): this; + setAAD(buffer: NodeJS.ArrayBufferView, options?: { plaintextLength: number }): this; + } + + interface PrivateKeyInput { + key: string | Buffer; + format?: KeyFormat; + type?: 'pkcs1' | 'pkcs8' | 'sec1'; + passphrase?: string | Buffer; + } + + interface PublicKeyInput { + key: string | Buffer; + format?: KeyFormat; + type?: 'pkcs1' | 'spki'; + } + + function createPrivateKey(key: PrivateKeyInput | string | Buffer): KeyObject; + function createPublicKey(key: PublicKeyInput | string | Buffer | KeyObject): KeyObject; + function createSecretKey(key: NodeJS.ArrayBufferView): KeyObject; + + function createSign(algorithm: string, options?: stream.WritableOptions): Signer; + + type DSAEncoding = 'der' | 'ieee-p1363'; + + interface SigningOptions { + /** + * @See crypto.constants.RSA_PKCS1_PADDING + */ + padding?: number; + saltLength?: number; + dsaEncoding?: DSAEncoding; + } + + interface SignPrivateKeyInput extends PrivateKeyInput, SigningOptions { + } + interface SignKeyObjectInput extends SigningOptions { + key: KeyObject; + } + interface VerifyPublicKeyInput extends PublicKeyInput, SigningOptions { + } + interface VerifyKeyObjectInput extends SigningOptions { + key: KeyObject; + } + + type KeyLike = string | Buffer | KeyObject; + + class Signer extends stream.Writable { + private constructor(); + + update(data: BinaryLike): Signer; + update(data: string, input_encoding: Encoding): Signer; + sign(private_key: KeyLike | SignKeyObjectInput | SignPrivateKeyInput): Buffer; + sign(private_key: KeyLike | SignKeyObjectInput | SignPrivateKeyInput, output_format: BinaryToTextEncoding): string; + } + + function createVerify(algorithm: string, options?: stream.WritableOptions): Verify; + class Verify extends stream.Writable { + private constructor(); + + update(data: BinaryLike): Verify; + update(data: string, input_encoding: Encoding): Verify; + verify(object: KeyLike | VerifyKeyObjectInput | VerifyPublicKeyInput, signature: NodeJS.ArrayBufferView): boolean; + verify(object: KeyLike | VerifyKeyObjectInput | VerifyPublicKeyInput, signature: string, signature_format?: BinaryToTextEncoding): boolean; + // https://nodejs.org/api/crypto.html#crypto_verifier_verify_object_signature_signature_format + // The signature field accepts a TypedArray type, but it is only available starting ES2017 + } + function createDiffieHellman(prime_length: number, generator?: number | NodeJS.ArrayBufferView): DiffieHellman; + function createDiffieHellman(prime: NodeJS.ArrayBufferView): DiffieHellman; + function createDiffieHellman(prime: string, prime_encoding: BinaryToTextEncoding): DiffieHellman; + function createDiffieHellman(prime: string, prime_encoding: BinaryToTextEncoding, generator: number | NodeJS.ArrayBufferView): DiffieHellman; + function createDiffieHellman(prime: string, prime_encoding: BinaryToTextEncoding, generator: string, generator_encoding: BinaryToTextEncoding): DiffieHellman; + class DiffieHellman { + private constructor(); + generateKeys(): Buffer; + generateKeys(encoding: BinaryToTextEncoding): string; + computeSecret(other_public_key: NodeJS.ArrayBufferView): Buffer; + computeSecret(other_public_key: string, input_encoding: BinaryToTextEncoding): Buffer; + computeSecret(other_public_key: NodeJS.ArrayBufferView, output_encoding: BinaryToTextEncoding): string; + computeSecret(other_public_key: string, input_encoding: BinaryToTextEncoding, output_encoding: BinaryToTextEncoding): string; + getPrime(): Buffer; + getPrime(encoding: BinaryToTextEncoding): string; + getGenerator(): Buffer; + getGenerator(encoding: BinaryToTextEncoding): string; + getPublicKey(): Buffer; + getPublicKey(encoding: BinaryToTextEncoding): string; + getPrivateKey(): Buffer; + getPrivateKey(encoding: BinaryToTextEncoding): string; + setPublicKey(public_key: NodeJS.ArrayBufferView): void; + setPublicKey(public_key: string, encoding: BufferEncoding): void; + setPrivateKey(private_key: NodeJS.ArrayBufferView): void; + setPrivateKey(private_key: string, encoding: BufferEncoding): void; + verifyError: number; + } + function getDiffieHellman(group_name: string): DiffieHellman; + function pbkdf2( + password: BinaryLike, + salt: BinaryLike, + iterations: number, + keylen: number, + digest: string, + callback: (err: Error | null, derivedKey: Buffer) => any, + ): void; + function pbkdf2Sync(password: BinaryLike, salt: BinaryLike, iterations: number, keylen: number, digest: string): Buffer; + + function randomBytes(size: number): Buffer; + function randomBytes(size: number, callback: (err: Error | null, buf: Buffer) => void): void; + function pseudoRandomBytes(size: number): Buffer; + function pseudoRandomBytes(size: number, callback: (err: Error | null, buf: Buffer) => void): void; + + function randomInt(max: number): number; + function randomInt(min: number, max: number): number; + function randomInt(max: number, callback: (err: Error | null, value: number) => void): void; + function randomInt(min: number, max: number, callback: (err: Error | null, value: number) => void): void; + + function randomFillSync(buffer: T, offset?: number, size?: number): T; + function randomFill(buffer: T, callback: (err: Error | null, buf: T) => void): void; + function randomFill(buffer: T, offset: number, callback: (err: Error | null, buf: T) => void): void; + function randomFill(buffer: T, offset: number, size: number, callback: (err: Error | null, buf: T) => void): void; + + interface ScryptOptions { + N?: number; + r?: number; + p?: number; + maxmem?: number; + } + function scrypt( + password: BinaryLike, + salt: BinaryLike, + keylen: number, callback: (err: Error | null, derivedKey: Buffer) => void, + ): void; + function scrypt( + password: BinaryLike, + salt: BinaryLike, + keylen: number, + options: ScryptOptions, + callback: (err: Error | null, derivedKey: Buffer) => void, + ): void; + function scryptSync(password: BinaryLike, salt: BinaryLike, keylen: number, options?: ScryptOptions): Buffer; + + interface RsaPublicKey { + key: KeyLike; + padding?: number; + } + interface RsaPrivateKey { + key: KeyLike; + passphrase?: string; + /** + * @default 'sha1' + */ + oaepHash?: string; + oaepLabel?: NodeJS.TypedArray; + padding?: number; + } + function publicEncrypt(key: RsaPublicKey | RsaPrivateKey | KeyLike, buffer: NodeJS.ArrayBufferView): Buffer; + function publicDecrypt(key: RsaPublicKey | RsaPrivateKey | KeyLike, buffer: NodeJS.ArrayBufferView): Buffer; + function privateDecrypt(private_key: RsaPrivateKey | KeyLike, buffer: NodeJS.ArrayBufferView): Buffer; + function privateEncrypt(private_key: RsaPrivateKey | KeyLike, buffer: NodeJS.ArrayBufferView): Buffer; + function getCiphers(): string[]; + function getCurves(): string[]; + function getFips(): 1 | 0; + function getHashes(): string[]; + class ECDH { + private constructor(); + static convertKey( + key: BinaryLike, + curve: string, + inputEncoding?: BinaryToTextEncoding, + outputEncoding?: "latin1" | "hex" | "base64", + format?: "uncompressed" | "compressed" | "hybrid", + ): Buffer | string; + generateKeys(): Buffer; + generateKeys(encoding: BinaryToTextEncoding, format?: ECDHKeyFormat): string; + computeSecret(other_public_key: NodeJS.ArrayBufferView): Buffer; + computeSecret(other_public_key: string, input_encoding: BinaryToTextEncoding): Buffer; + computeSecret(other_public_key: NodeJS.ArrayBufferView, output_encoding: BinaryToTextEncoding): string; + computeSecret(other_public_key: string, input_encoding: BinaryToTextEncoding, output_encoding: BinaryToTextEncoding): string; + getPrivateKey(): Buffer; + getPrivateKey(encoding: BinaryToTextEncoding): string; + getPublicKey(): Buffer; + getPublicKey(encoding: BinaryToTextEncoding, format?: ECDHKeyFormat): string; + setPrivateKey(private_key: NodeJS.ArrayBufferView): void; + setPrivateKey(private_key: string, encoding: BinaryToTextEncoding): void; + } + function createECDH(curve_name: string): ECDH; + function timingSafeEqual(a: NodeJS.ArrayBufferView, b: NodeJS.ArrayBufferView): boolean; + /** @deprecated since v10.0.0 */ + const DEFAULT_ENCODING: BufferEncoding; + + type KeyType = 'rsa' | 'dsa' | 'ec' | 'ed25519' | 'ed448' | 'x25519' | 'x448'; + type KeyFormat = 'pem' | 'der'; + + interface BasePrivateKeyEncodingOptions { + format: T; + cipher?: string; + passphrase?: string; + } + + interface KeyPairKeyObjectResult { + publicKey: KeyObject; + privateKey: KeyObject; + } + + interface ED25519KeyPairKeyObjectOptions { + /** + * No options. + */ + } + + interface ED448KeyPairKeyObjectOptions { + /** + * No options. + */ + } + + interface X25519KeyPairKeyObjectOptions { + /** + * No options. + */ + } + + interface X448KeyPairKeyObjectOptions { + /** + * No options. + */ + } + + interface ECKeyPairKeyObjectOptions { + /** + * Name of the curve to use. + */ + namedCurve: string; + } + + interface RSAKeyPairKeyObjectOptions { + /** + * Key size in bits + */ + modulusLength: number; + + /** + * @default 0x10001 + */ + publicExponent?: number; + } + + interface DSAKeyPairKeyObjectOptions { + /** + * Key size in bits + */ + modulusLength: number; + + /** + * Size of q in bits + */ + divisorLength: number; + } + + interface RSAKeyPairOptions { + /** + * Key size in bits + */ + modulusLength: number; + /** + * @default 0x10001 + */ + publicExponent?: number; + + publicKeyEncoding: { + type: 'pkcs1' | 'spki'; + format: PubF; + }; + privateKeyEncoding: BasePrivateKeyEncodingOptions & { + type: 'pkcs1' | 'pkcs8'; + }; + } + + interface DSAKeyPairOptions { + /** + * Key size in bits + */ + modulusLength: number; + /** + * Size of q in bits + */ + divisorLength: number; + + publicKeyEncoding: { + type: 'spki'; + format: PubF; + }; + privateKeyEncoding: BasePrivateKeyEncodingOptions & { + type: 'pkcs8'; + }; + } + + interface ECKeyPairOptions { + /** + * Name of the curve to use. + */ + namedCurve: string; + + publicKeyEncoding: { + type: 'pkcs1' | 'spki'; + format: PubF; + }; + privateKeyEncoding: BasePrivateKeyEncodingOptions & { + type: 'sec1' | 'pkcs8'; + }; + } + + interface ED25519KeyPairOptions { + publicKeyEncoding: { + type: 'spki'; + format: PubF; + }; + privateKeyEncoding: BasePrivateKeyEncodingOptions & { + type: 'pkcs8'; + }; + } + + interface ED448KeyPairOptions { + publicKeyEncoding: { + type: 'spki'; + format: PubF; + }; + privateKeyEncoding: BasePrivateKeyEncodingOptions & { + type: 'pkcs8'; + }; + } + + interface X25519KeyPairOptions { + publicKeyEncoding: { + type: 'spki'; + format: PubF; + }; + privateKeyEncoding: BasePrivateKeyEncodingOptions & { + type: 'pkcs8'; + }; + } + + interface X448KeyPairOptions { + publicKeyEncoding: { + type: 'spki'; + format: PubF; + }; + privateKeyEncoding: BasePrivateKeyEncodingOptions & { + type: 'pkcs8'; + }; + } + + interface KeyPairSyncResult { + publicKey: T1; + privateKey: T2; + } + + function generateKeyPairSync(type: 'rsa', options: RSAKeyPairOptions<'pem', 'pem'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'rsa', options: RSAKeyPairOptions<'pem', 'der'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'rsa', options: RSAKeyPairOptions<'der', 'pem'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'rsa', options: RSAKeyPairOptions<'der', 'der'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'rsa', options: RSAKeyPairKeyObjectOptions): KeyPairKeyObjectResult; + + function generateKeyPairSync(type: 'dsa', options: DSAKeyPairOptions<'pem', 'pem'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'dsa', options: DSAKeyPairOptions<'pem', 'der'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'dsa', options: DSAKeyPairOptions<'der', 'pem'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'dsa', options: DSAKeyPairOptions<'der', 'der'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'dsa', options: DSAKeyPairKeyObjectOptions): KeyPairKeyObjectResult; + + function generateKeyPairSync(type: 'ec', options: ECKeyPairOptions<'pem', 'pem'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'ec', options: ECKeyPairOptions<'pem', 'der'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'ec', options: ECKeyPairOptions<'der', 'pem'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'ec', options: ECKeyPairOptions<'der', 'der'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'ec', options: ECKeyPairKeyObjectOptions): KeyPairKeyObjectResult; + + function generateKeyPairSync(type: 'ed25519', options: ED25519KeyPairOptions<'pem', 'pem'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'ed25519', options: ED25519KeyPairOptions<'pem', 'der'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'ed25519', options: ED25519KeyPairOptions<'der', 'pem'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'ed25519', options: ED25519KeyPairOptions<'der', 'der'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'ed25519', options?: ED25519KeyPairKeyObjectOptions): KeyPairKeyObjectResult; + + function generateKeyPairSync(type: 'ed448', options: ED448KeyPairOptions<'pem', 'pem'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'ed448', options: ED448KeyPairOptions<'pem', 'der'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'ed448', options: ED448KeyPairOptions<'der', 'pem'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'ed448', options: ED448KeyPairOptions<'der', 'der'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'ed448', options?: ED448KeyPairKeyObjectOptions): KeyPairKeyObjectResult; + + function generateKeyPairSync(type: 'x25519', options: X25519KeyPairOptions<'pem', 'pem'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'x25519', options: X25519KeyPairOptions<'pem', 'der'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'x25519', options: X25519KeyPairOptions<'der', 'pem'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'x25519', options: X25519KeyPairOptions<'der', 'der'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'x25519', options?: X25519KeyPairKeyObjectOptions): KeyPairKeyObjectResult; + + function generateKeyPairSync(type: 'x448', options: X448KeyPairOptions<'pem', 'pem'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'x448', options: X448KeyPairOptions<'pem', 'der'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'x448', options: X448KeyPairOptions<'der', 'pem'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'x448', options: X448KeyPairOptions<'der', 'der'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'x448', options?: X448KeyPairKeyObjectOptions): KeyPairKeyObjectResult; + + function generateKeyPair(type: 'rsa', options: RSAKeyPairOptions<'pem', 'pem'>, callback: (err: Error | null, publicKey: string, privateKey: string) => void): void; + function generateKeyPair(type: 'rsa', options: RSAKeyPairOptions<'pem', 'der'>, callback: (err: Error | null, publicKey: string, privateKey: Buffer) => void): void; + function generateKeyPair(type: 'rsa', options: RSAKeyPairOptions<'der', 'pem'>, callback: (err: Error | null, publicKey: Buffer, privateKey: string) => void): void; + function generateKeyPair(type: 'rsa', options: RSAKeyPairOptions<'der', 'der'>, callback: (err: Error | null, publicKey: Buffer, privateKey: Buffer) => void): void; + function generateKeyPair(type: 'rsa', options: RSAKeyPairKeyObjectOptions, callback: (err: Error | null, publicKey: KeyObject, privateKey: KeyObject) => void): void; + + function generateKeyPair(type: 'dsa', options: DSAKeyPairOptions<'pem', 'pem'>, callback: (err: Error | null, publicKey: string, privateKey: string) => void): void; + function generateKeyPair(type: 'dsa', options: DSAKeyPairOptions<'pem', 'der'>, callback: (err: Error | null, publicKey: string, privateKey: Buffer) => void): void; + function generateKeyPair(type: 'dsa', options: DSAKeyPairOptions<'der', 'pem'>, callback: (err: Error | null, publicKey: Buffer, privateKey: string) => void): void; + function generateKeyPair(type: 'dsa', options: DSAKeyPairOptions<'der', 'der'>, callback: (err: Error | null, publicKey: Buffer, privateKey: Buffer) => void): void; + function generateKeyPair(type: 'dsa', options: DSAKeyPairKeyObjectOptions, callback: (err: Error | null, publicKey: KeyObject, privateKey: KeyObject) => void): void; + + function generateKeyPair(type: 'ec', options: ECKeyPairOptions<'pem', 'pem'>, callback: (err: Error | null, publicKey: string, privateKey: string) => void): void; + function generateKeyPair(type: 'ec', options: ECKeyPairOptions<'pem', 'der'>, callback: (err: Error | null, publicKey: string, privateKey: Buffer) => void): void; + function generateKeyPair(type: 'ec', options: ECKeyPairOptions<'der', 'pem'>, callback: (err: Error | null, publicKey: Buffer, privateKey: string) => void): void; + function generateKeyPair(type: 'ec', options: ECKeyPairOptions<'der', 'der'>, callback: (err: Error | null, publicKey: Buffer, privateKey: Buffer) => void): void; + function generateKeyPair(type: 'ec', options: ECKeyPairKeyObjectOptions, callback: (err: Error | null, publicKey: KeyObject, privateKey: KeyObject) => void): void; + + function generateKeyPair(type: 'ed25519', options: ED25519KeyPairOptions<'pem', 'pem'>, callback: (err: Error | null, publicKey: string, privateKey: string) => void): void; + function generateKeyPair(type: 'ed25519', options: ED25519KeyPairOptions<'pem', 'der'>, callback: (err: Error | null, publicKey: string, privateKey: Buffer) => void): void; + function generateKeyPair(type: 'ed25519', options: ED25519KeyPairOptions<'der', 'pem'>, callback: (err: Error | null, publicKey: Buffer, privateKey: string) => void): void; + function generateKeyPair(type: 'ed25519', options: ED25519KeyPairOptions<'der', 'der'>, callback: (err: Error | null, publicKey: Buffer, privateKey: Buffer) => void): void; + function generateKeyPair(type: 'ed25519', options: ED25519KeyPairKeyObjectOptions | undefined, callback: (err: Error | null, publicKey: KeyObject, privateKey: KeyObject) => void): void; + + function generateKeyPair(type: 'ed448', options: ED448KeyPairOptions<'pem', 'pem'>, callback: (err: Error | null, publicKey: string, privateKey: string) => void): void; + function generateKeyPair(type: 'ed448', options: ED448KeyPairOptions<'pem', 'der'>, callback: (err: Error | null, publicKey: string, privateKey: Buffer) => void): void; + function generateKeyPair(type: 'ed448', options: ED448KeyPairOptions<'der', 'pem'>, callback: (err: Error | null, publicKey: Buffer, privateKey: string) => void): void; + function generateKeyPair(type: 'ed448', options: ED448KeyPairOptions<'der', 'der'>, callback: (err: Error | null, publicKey: Buffer, privateKey: Buffer) => void): void; + function generateKeyPair(type: 'ed448', options: ED448KeyPairKeyObjectOptions | undefined, callback: (err: Error | null, publicKey: KeyObject, privateKey: KeyObject) => void): void; + + function generateKeyPair(type: 'x25519', options: X25519KeyPairOptions<'pem', 'pem'>, callback: (err: Error | null, publicKey: string, privateKey: string) => void): void; + function generateKeyPair(type: 'x25519', options: X25519KeyPairOptions<'pem', 'der'>, callback: (err: Error | null, publicKey: string, privateKey: Buffer) => void): void; + function generateKeyPair(type: 'x25519', options: X25519KeyPairOptions<'der', 'pem'>, callback: (err: Error | null, publicKey: Buffer, privateKey: string) => void): void; + function generateKeyPair(type: 'x25519', options: X25519KeyPairOptions<'der', 'der'>, callback: (err: Error | null, publicKey: Buffer, privateKey: Buffer) => void): void; + function generateKeyPair(type: 'x25519', options: X25519KeyPairKeyObjectOptions | undefined, callback: (err: Error | null, publicKey: KeyObject, privateKey: KeyObject) => void): void; + + function generateKeyPair(type: 'x448', options: X448KeyPairOptions<'pem', 'pem'>, callback: (err: Error | null, publicKey: string, privateKey: string) => void): void; + function generateKeyPair(type: 'x448', options: X448KeyPairOptions<'pem', 'der'>, callback: (err: Error | null, publicKey: string, privateKey: Buffer) => void): void; + function generateKeyPair(type: 'x448', options: X448KeyPairOptions<'der', 'pem'>, callback: (err: Error | null, publicKey: Buffer, privateKey: string) => void): void; + function generateKeyPair(type: 'x448', options: X448KeyPairOptions<'der', 'der'>, callback: (err: Error | null, publicKey: Buffer, privateKey: Buffer) => void): void; + function generateKeyPair(type: 'x448', options: X448KeyPairKeyObjectOptions | undefined, callback: (err: Error | null, publicKey: KeyObject, privateKey: KeyObject) => void): void; + + namespace generateKeyPair { + function __promisify__(type: "rsa", options: RSAKeyPairOptions<'pem', 'pem'>): Promise<{ publicKey: string, privateKey: string }>; + function __promisify__(type: "rsa", options: RSAKeyPairOptions<'pem', 'der'>): Promise<{ publicKey: string, privateKey: Buffer }>; + function __promisify__(type: "rsa", options: RSAKeyPairOptions<'der', 'pem'>): Promise<{ publicKey: Buffer, privateKey: string }>; + function __promisify__(type: "rsa", options: RSAKeyPairOptions<'der', 'der'>): Promise<{ publicKey: Buffer, privateKey: Buffer }>; + function __promisify__(type: "rsa", options: RSAKeyPairKeyObjectOptions): Promise; + + function __promisify__(type: "dsa", options: DSAKeyPairOptions<'pem', 'pem'>): Promise<{ publicKey: string, privateKey: string }>; + function __promisify__(type: "dsa", options: DSAKeyPairOptions<'pem', 'der'>): Promise<{ publicKey: string, privateKey: Buffer }>; + function __promisify__(type: "dsa", options: DSAKeyPairOptions<'der', 'pem'>): Promise<{ publicKey: Buffer, privateKey: string }>; + function __promisify__(type: "dsa", options: DSAKeyPairOptions<'der', 'der'>): Promise<{ publicKey: Buffer, privateKey: Buffer }>; + function __promisify__(type: "dsa", options: DSAKeyPairKeyObjectOptions): Promise; + + function __promisify__(type: "ec", options: ECKeyPairOptions<'pem', 'pem'>): Promise<{ publicKey: string, privateKey: string }>; + function __promisify__(type: "ec", options: ECKeyPairOptions<'pem', 'der'>): Promise<{ publicKey: string, privateKey: Buffer }>; + function __promisify__(type: "ec", options: ECKeyPairOptions<'der', 'pem'>): Promise<{ publicKey: Buffer, privateKey: string }>; + function __promisify__(type: "ec", options: ECKeyPairOptions<'der', 'der'>): Promise<{ publicKey: Buffer, privateKey: Buffer }>; + function __promisify__(type: "ec", options: ECKeyPairKeyObjectOptions): Promise; + + function __promisify__(type: "ed25519", options: ED25519KeyPairOptions<'pem', 'pem'>): Promise<{ publicKey: string, privateKey: string }>; + function __promisify__(type: "ed25519", options: ED25519KeyPairOptions<'pem', 'der'>): Promise<{ publicKey: string, privateKey: Buffer }>; + function __promisify__(type: "ed25519", options: ED25519KeyPairOptions<'der', 'pem'>): Promise<{ publicKey: Buffer, privateKey: string }>; + function __promisify__(type: "ed25519", options: ED25519KeyPairOptions<'der', 'der'>): Promise<{ publicKey: Buffer, privateKey: Buffer }>; + function __promisify__(type: "ed25519", options?: ED25519KeyPairKeyObjectOptions): Promise; + + function __promisify__(type: "ed448", options: ED448KeyPairOptions<'pem', 'pem'>): Promise<{ publicKey: string, privateKey: string }>; + function __promisify__(type: "ed448", options: ED448KeyPairOptions<'pem', 'der'>): Promise<{ publicKey: string, privateKey: Buffer }>; + function __promisify__(type: "ed448", options: ED448KeyPairOptions<'der', 'pem'>): Promise<{ publicKey: Buffer, privateKey: string }>; + function __promisify__(type: "ed448", options: ED448KeyPairOptions<'der', 'der'>): Promise<{ publicKey: Buffer, privateKey: Buffer }>; + function __promisify__(type: "ed448", options?: ED448KeyPairKeyObjectOptions): Promise; + + function __promisify__(type: "x25519", options: X25519KeyPairOptions<'pem', 'pem'>): Promise<{ publicKey: string, privateKey: string }>; + function __promisify__(type: "x25519", options: X25519KeyPairOptions<'pem', 'der'>): Promise<{ publicKey: string, privateKey: Buffer }>; + function __promisify__(type: "x25519", options: X25519KeyPairOptions<'der', 'pem'>): Promise<{ publicKey: Buffer, privateKey: string }>; + function __promisify__(type: "x25519", options: X25519KeyPairOptions<'der', 'der'>): Promise<{ publicKey: Buffer, privateKey: Buffer }>; + function __promisify__(type: "x25519", options?: X25519KeyPairKeyObjectOptions): Promise; + + function __promisify__(type: "x448", options: X448KeyPairOptions<'pem', 'pem'>): Promise<{ publicKey: string, privateKey: string }>; + function __promisify__(type: "x448", options: X448KeyPairOptions<'pem', 'der'>): Promise<{ publicKey: string, privateKey: Buffer }>; + function __promisify__(type: "x448", options: X448KeyPairOptions<'der', 'pem'>): Promise<{ publicKey: Buffer, privateKey: string }>; + function __promisify__(type: "x448", options: X448KeyPairOptions<'der', 'der'>): Promise<{ publicKey: Buffer, privateKey: Buffer }>; + function __promisify__(type: "x448", options?: X448KeyPairKeyObjectOptions): Promise; + } + + /** + * Calculates and returns the signature for `data` using the given private key and + * algorithm. If `algorithm` is `null` or `undefined`, then the algorithm is + * dependent upon the key type (especially Ed25519 and Ed448). + * + * If `key` is not a [`KeyObject`][], this function behaves as if `key` had been + * passed to [`crypto.createPrivateKey()`][]. + */ + function sign(algorithm: string | null | undefined, data: NodeJS.ArrayBufferView, key: KeyLike | SignKeyObjectInput | SignPrivateKeyInput): Buffer; + + /** + * Calculates and returns the signature for `data` using the given private key and + * algorithm. If `algorithm` is `null` or `undefined`, then the algorithm is + * dependent upon the key type (especially Ed25519 and Ed448). + * + * If `key` is not a [`KeyObject`][], this function behaves as if `key` had been + * passed to [`crypto.createPublicKey()`][]. + */ + function verify(algorithm: string | null | undefined, data: NodeJS.ArrayBufferView, key: KeyLike | VerifyKeyObjectInput | VerifyPublicKeyInput, signature: NodeJS.ArrayBufferView): boolean; + + /** + * Computes the Diffie-Hellman secret based on a privateKey and a publicKey. + * Both keys must have the same asymmetricKeyType, which must be one of + * 'dh' (for Diffie-Hellman), 'ec' (for ECDH), 'x448', or 'x25519' (for ECDH-ES). + */ + function diffieHellman(options: { + privateKey: KeyObject; + publicKey: KeyObject + }): Buffer; +} diff --git a/node_modules/@types/node/dgram.d.ts b/node_modules/@types/node/dgram.d.ts new file mode 100644 index 0000000..73f2aa7 --- /dev/null +++ b/node_modules/@types/node/dgram.d.ts @@ -0,0 +1,141 @@ +declare module "dgram" { + import { AddressInfo } from "net"; + import * as dns from "dns"; + import * as events from "events"; + + interface RemoteInfo { + address: string; + family: 'IPv4' | 'IPv6'; + port: number; + size: number; + } + + interface BindOptions { + port?: number; + address?: string; + exclusive?: boolean; + fd?: number; + } + + type SocketType = "udp4" | "udp6"; + + interface SocketOptions { + type: SocketType; + reuseAddr?: boolean; + /** + * @default false + */ + ipv6Only?: boolean; + recvBufferSize?: number; + sendBufferSize?: number; + lookup?: (hostname: string, options: dns.LookupOneOptions, callback: (err: NodeJS.ErrnoException | null, address: string, family: number) => void) => void; + } + + function createSocket(type: SocketType, callback?: (msg: Buffer, rinfo: RemoteInfo) => void): Socket; + function createSocket(options: SocketOptions, callback?: (msg: Buffer, rinfo: RemoteInfo) => void): Socket; + + class Socket extends events.EventEmitter { + addMembership(multicastAddress: string, multicastInterface?: string): void; + address(): AddressInfo; + bind(port?: number, address?: string, callback?: () => void): void; + bind(port?: number, callback?: () => void): void; + bind(callback?: () => void): void; + bind(options: BindOptions, callback?: () => void): void; + close(callback?: () => void): void; + connect(port: number, address?: string, callback?: () => void): void; + connect(port: number, callback: () => void): void; + disconnect(): void; + dropMembership(multicastAddress: string, multicastInterface?: string): void; + getRecvBufferSize(): number; + getSendBufferSize(): number; + ref(): this; + remoteAddress(): AddressInfo; + send(msg: string | Uint8Array | ReadonlyArray, port?: number, address?: string, callback?: (error: Error | null, bytes: number) => void): void; + send(msg: string | Uint8Array | ReadonlyArray, port?: number, callback?: (error: Error | null, bytes: number) => void): void; + send(msg: string | Uint8Array | ReadonlyArray, callback?: (error: Error | null, bytes: number) => void): void; + send(msg: string | Uint8Array, offset: number, length: number, port?: number, address?: string, callback?: (error: Error | null, bytes: number) => void): void; + send(msg: string | Uint8Array, offset: number, length: number, port?: number, callback?: (error: Error | null, bytes: number) => void): void; + send(msg: string | Uint8Array, offset: number, length: number, callback?: (error: Error | null, bytes: number) => void): void; + setBroadcast(flag: boolean): void; + setMulticastInterface(multicastInterface: string): void; + setMulticastLoopback(flag: boolean): void; + setMulticastTTL(ttl: number): void; + setRecvBufferSize(size: number): void; + setSendBufferSize(size: number): void; + setTTL(ttl: number): void; + unref(): this; + /** + * Tells the kernel to join a source-specific multicast channel at the given + * `sourceAddress` and `groupAddress`, using the `multicastInterface` with the + * `IP_ADD_SOURCE_MEMBERSHIP` socket option. + * If the `multicastInterface` argument + * is not specified, the operating system will choose one interface and will add + * membership to it. + * To add membership to every available interface, call + * `socket.addSourceSpecificMembership()` multiple times, once per interface. + */ + addSourceSpecificMembership(sourceAddress: string, groupAddress: string, multicastInterface?: string): void; + + /** + * Instructs the kernel to leave a source-specific multicast channel at the given + * `sourceAddress` and `groupAddress` using the `IP_DROP_SOURCE_MEMBERSHIP` + * socket option. This method is automatically called by the kernel when the + * socket is closed or the process terminates, so most apps will never have + * reason to call this. + * + * If `multicastInterface` is not specified, the operating system will attempt to + * drop membership on all valid interfaces. + */ + dropSourceSpecificMembership(sourceAddress: string, groupAddress: string, multicastInterface?: string): void; + + /** + * events.EventEmitter + * 1. close + * 2. connect + * 3. error + * 4. listening + * 5. message + */ + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "close", listener: () => void): this; + addListener(event: "connect", listener: () => void): this; + addListener(event: "error", listener: (err: Error) => void): this; + addListener(event: "listening", listener: () => void): this; + addListener(event: "message", listener: (msg: Buffer, rinfo: RemoteInfo) => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "close"): boolean; + emit(event: "connect"): boolean; + emit(event: "error", err: Error): boolean; + emit(event: "listening"): boolean; + emit(event: "message", msg: Buffer, rinfo: RemoteInfo): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "close", listener: () => void): this; + on(event: "connect", listener: () => void): this; + on(event: "error", listener: (err: Error) => void): this; + on(event: "listening", listener: () => void): this; + on(event: "message", listener: (msg: Buffer, rinfo: RemoteInfo) => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "close", listener: () => void): this; + once(event: "connect", listener: () => void): this; + once(event: "error", listener: (err: Error) => void): this; + once(event: "listening", listener: () => void): this; + once(event: "message", listener: (msg: Buffer, rinfo: RemoteInfo) => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "close", listener: () => void): this; + prependListener(event: "connect", listener: () => void): this; + prependListener(event: "error", listener: (err: Error) => void): this; + prependListener(event: "listening", listener: () => void): this; + prependListener(event: "message", listener: (msg: Buffer, rinfo: RemoteInfo) => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "close", listener: () => void): this; + prependOnceListener(event: "connect", listener: () => void): this; + prependOnceListener(event: "error", listener: (err: Error) => void): this; + prependOnceListener(event: "listening", listener: () => void): this; + prependOnceListener(event: "message", listener: (msg: Buffer, rinfo: RemoteInfo) => void): this; + } +} diff --git a/node_modules/@types/node/dns.d.ts b/node_modules/@types/node/dns.d.ts new file mode 100644 index 0000000..8ce8864 --- /dev/null +++ b/node_modules/@types/node/dns.d.ts @@ -0,0 +1,371 @@ +declare module "dns" { + // Supported getaddrinfo flags. + const ADDRCONFIG: number; + const V4MAPPED: number; + /** + * If `dns.V4MAPPED` is specified, return resolved IPv6 addresses as + * well as IPv4 mapped IPv6 addresses. + */ + const ALL: number; + + interface LookupOptions { + family?: number; + hints?: number; + all?: boolean; + verbatim?: boolean; + } + + interface LookupOneOptions extends LookupOptions { + all?: false; + } + + interface LookupAllOptions extends LookupOptions { + all: true; + } + + interface LookupAddress { + address: string; + family: number; + } + + function lookup(hostname: string, family: number, callback: (err: NodeJS.ErrnoException | null, address: string, family: number) => void): void; + function lookup(hostname: string, options: LookupOneOptions, callback: (err: NodeJS.ErrnoException | null, address: string, family: number) => void): void; + function lookup(hostname: string, options: LookupAllOptions, callback: (err: NodeJS.ErrnoException | null, addresses: LookupAddress[]) => void): void; + function lookup(hostname: string, options: LookupOptions, callback: (err: NodeJS.ErrnoException | null, address: string | LookupAddress[], family: number) => void): void; + function lookup(hostname: string, callback: (err: NodeJS.ErrnoException | null, address: string, family: number) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace lookup { + function __promisify__(hostname: string, options: LookupAllOptions): Promise; + function __promisify__(hostname: string, options?: LookupOneOptions | number): Promise; + function __promisify__(hostname: string, options: LookupOptions): Promise; + } + + function lookupService(address: string, port: number, callback: (err: NodeJS.ErrnoException | null, hostname: string, service: string) => void): void; + + namespace lookupService { + function __promisify__(address: string, port: number): Promise<{ hostname: string, service: string }>; + } + + interface ResolveOptions { + ttl: boolean; + } + + interface ResolveWithTtlOptions extends ResolveOptions { + ttl: true; + } + + interface RecordWithTtl { + address: string; + ttl: number; + } + + /** @deprecated Use `AnyARecord` or `AnyAaaaRecord` instead. */ + type AnyRecordWithTtl = AnyARecord | AnyAaaaRecord; + + interface AnyARecord extends RecordWithTtl { + type: "A"; + } + + interface AnyAaaaRecord extends RecordWithTtl { + type: "AAAA"; + } + + interface MxRecord { + priority: number; + exchange: string; + } + + interface AnyMxRecord extends MxRecord { + type: "MX"; + } + + interface NaptrRecord { + flags: string; + service: string; + regexp: string; + replacement: string; + order: number; + preference: number; + } + + interface AnyNaptrRecord extends NaptrRecord { + type: "NAPTR"; + } + + interface SoaRecord { + nsname: string; + hostmaster: string; + serial: number; + refresh: number; + retry: number; + expire: number; + minttl: number; + } + + interface AnySoaRecord extends SoaRecord { + type: "SOA"; + } + + interface SrvRecord { + priority: number; + weight: number; + port: number; + name: string; + } + + interface AnySrvRecord extends SrvRecord { + type: "SRV"; + } + + interface AnyTxtRecord { + type: "TXT"; + entries: string[]; + } + + interface AnyNsRecord { + type: "NS"; + value: string; + } + + interface AnyPtrRecord { + type: "PTR"; + value: string; + } + + interface AnyCnameRecord { + type: "CNAME"; + value: string; + } + + type AnyRecord = AnyARecord | + AnyAaaaRecord | + AnyCnameRecord | + AnyMxRecord | + AnyNaptrRecord | + AnyNsRecord | + AnyPtrRecord | + AnySoaRecord | + AnySrvRecord | + AnyTxtRecord; + + function resolve(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void; + function resolve(hostname: string, rrtype: "A", callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void; + function resolve(hostname: string, rrtype: "AAAA", callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void; + function resolve(hostname: string, rrtype: "ANY", callback: (err: NodeJS.ErrnoException | null, addresses: AnyRecord[]) => void): void; + function resolve(hostname: string, rrtype: "CNAME", callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void; + function resolve(hostname: string, rrtype: "MX", callback: (err: NodeJS.ErrnoException | null, addresses: MxRecord[]) => void): void; + function resolve(hostname: string, rrtype: "NAPTR", callback: (err: NodeJS.ErrnoException | null, addresses: NaptrRecord[]) => void): void; + function resolve(hostname: string, rrtype: "NS", callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void; + function resolve(hostname: string, rrtype: "PTR", callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void; + function resolve(hostname: string, rrtype: "SOA", callback: (err: NodeJS.ErrnoException | null, addresses: SoaRecord) => void): void; + function resolve(hostname: string, rrtype: "SRV", callback: (err: NodeJS.ErrnoException | null, addresses: SrvRecord[]) => void): void; + function resolve(hostname: string, rrtype: "TXT", callback: (err: NodeJS.ErrnoException | null, addresses: string[][]) => void): void; + function resolve( + hostname: string, + rrtype: string, + callback: (err: NodeJS.ErrnoException | null, addresses: string[] | MxRecord[] | NaptrRecord[] | SoaRecord | SrvRecord[] | string[][] | AnyRecord[]) => void, + ): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace resolve { + function __promisify__(hostname: string, rrtype?: "A" | "AAAA" | "CNAME" | "NS" | "PTR"): Promise; + function __promisify__(hostname: string, rrtype: "ANY"): Promise; + function __promisify__(hostname: string, rrtype: "MX"): Promise; + function __promisify__(hostname: string, rrtype: "NAPTR"): Promise; + function __promisify__(hostname: string, rrtype: "SOA"): Promise; + function __promisify__(hostname: string, rrtype: "SRV"): Promise; + function __promisify__(hostname: string, rrtype: "TXT"): Promise; + function __promisify__(hostname: string, rrtype: string): Promise; + } + + function resolve4(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void; + function resolve4(hostname: string, options: ResolveWithTtlOptions, callback: (err: NodeJS.ErrnoException | null, addresses: RecordWithTtl[]) => void): void; + function resolve4(hostname: string, options: ResolveOptions, callback: (err: NodeJS.ErrnoException | null, addresses: string[] | RecordWithTtl[]) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace resolve4 { + function __promisify__(hostname: string): Promise; + function __promisify__(hostname: string, options: ResolveWithTtlOptions): Promise; + function __promisify__(hostname: string, options?: ResolveOptions): Promise; + } + + function resolve6(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void; + function resolve6(hostname: string, options: ResolveWithTtlOptions, callback: (err: NodeJS.ErrnoException | null, addresses: RecordWithTtl[]) => void): void; + function resolve6(hostname: string, options: ResolveOptions, callback: (err: NodeJS.ErrnoException | null, addresses: string[] | RecordWithTtl[]) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace resolve6 { + function __promisify__(hostname: string): Promise; + function __promisify__(hostname: string, options: ResolveWithTtlOptions): Promise; + function __promisify__(hostname: string, options?: ResolveOptions): Promise; + } + + function resolveCname(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void; + namespace resolveCname { + function __promisify__(hostname: string): Promise; + } + + function resolveMx(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: MxRecord[]) => void): void; + namespace resolveMx { + function __promisify__(hostname: string): Promise; + } + + function resolveNaptr(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: NaptrRecord[]) => void): void; + namespace resolveNaptr { + function __promisify__(hostname: string): Promise; + } + + function resolveNs(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void; + namespace resolveNs { + function __promisify__(hostname: string): Promise; + } + + function resolvePtr(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void; + namespace resolvePtr { + function __promisify__(hostname: string): Promise; + } + + function resolveSoa(hostname: string, callback: (err: NodeJS.ErrnoException | null, address: SoaRecord) => void): void; + namespace resolveSoa { + function __promisify__(hostname: string): Promise; + } + + function resolveSrv(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: SrvRecord[]) => void): void; + namespace resolveSrv { + function __promisify__(hostname: string): Promise; + } + + function resolveTxt(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: string[][]) => void): void; + namespace resolveTxt { + function __promisify__(hostname: string): Promise; + } + + function resolveAny(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: AnyRecord[]) => void): void; + namespace resolveAny { + function __promisify__(hostname: string): Promise; + } + + function reverse(ip: string, callback: (err: NodeJS.ErrnoException | null, hostnames: string[]) => void): void; + function setServers(servers: ReadonlyArray): void; + function getServers(): string[]; + + // Error codes + const NODATA: string; + const FORMERR: string; + const SERVFAIL: string; + const NOTFOUND: string; + const NOTIMP: string; + const REFUSED: string; + const BADQUERY: string; + const BADNAME: string; + const BADFAMILY: string; + const BADRESP: string; + const CONNREFUSED: string; + const TIMEOUT: string; + const EOF: string; + const FILE: string; + const NOMEM: string; + const DESTRUCTION: string; + const BADSTR: string; + const BADFLAGS: string; + const NONAME: string; + const BADHINTS: string; + const NOTINITIALIZED: string; + const LOADIPHLPAPI: string; + const ADDRGETNETWORKPARAMS: string; + const CANCELLED: string; + + class Resolver { + getServers: typeof getServers; + setServers: typeof setServers; + resolve: typeof resolve; + resolve4: typeof resolve4; + resolve6: typeof resolve6; + resolveAny: typeof resolveAny; + resolveCname: typeof resolveCname; + resolveMx: typeof resolveMx; + resolveNaptr: typeof resolveNaptr; + resolveNs: typeof resolveNs; + resolvePtr: typeof resolvePtr; + resolveSoa: typeof resolveSoa; + resolveSrv: typeof resolveSrv; + resolveTxt: typeof resolveTxt; + reverse: typeof reverse; + cancel(): void; + } + + namespace promises { + function getServers(): string[]; + + function lookup(hostname: string, family: number): Promise; + function lookup(hostname: string, options: LookupOneOptions): Promise; + function lookup(hostname: string, options: LookupAllOptions): Promise; + function lookup(hostname: string, options: LookupOptions): Promise; + function lookup(hostname: string): Promise; + + function lookupService(address: string, port: number): Promise<{ hostname: string, service: string }>; + + function resolve(hostname: string): Promise; + function resolve(hostname: string, rrtype: "A"): Promise; + function resolve(hostname: string, rrtype: "AAAA"): Promise; + function resolve(hostname: string, rrtype: "ANY"): Promise; + function resolve(hostname: string, rrtype: "CNAME"): Promise; + function resolve(hostname: string, rrtype: "MX"): Promise; + function resolve(hostname: string, rrtype: "NAPTR"): Promise; + function resolve(hostname: string, rrtype: "NS"): Promise; + function resolve(hostname: string, rrtype: "PTR"): Promise; + function resolve(hostname: string, rrtype: "SOA"): Promise; + function resolve(hostname: string, rrtype: "SRV"): Promise; + function resolve(hostname: string, rrtype: "TXT"): Promise; + function resolve(hostname: string, rrtype: string): Promise; + + function resolve4(hostname: string): Promise; + function resolve4(hostname: string, options: ResolveWithTtlOptions): Promise; + function resolve4(hostname: string, options: ResolveOptions): Promise; + + function resolve6(hostname: string): Promise; + function resolve6(hostname: string, options: ResolveWithTtlOptions): Promise; + function resolve6(hostname: string, options: ResolveOptions): Promise; + + function resolveAny(hostname: string): Promise; + + function resolveCname(hostname: string): Promise; + + function resolveMx(hostname: string): Promise; + + function resolveNaptr(hostname: string): Promise; + + function resolveNs(hostname: string): Promise; + + function resolvePtr(hostname: string): Promise; + + function resolveSoa(hostname: string): Promise; + + function resolveSrv(hostname: string): Promise; + + function resolveTxt(hostname: string): Promise; + + function reverse(ip: string): Promise; + + function setServers(servers: ReadonlyArray): void; + + class Resolver { + getServers: typeof getServers; + resolve: typeof resolve; + resolve4: typeof resolve4; + resolve6: typeof resolve6; + resolveAny: typeof resolveAny; + resolveCname: typeof resolveCname; + resolveMx: typeof resolveMx; + resolveNaptr: typeof resolveNaptr; + resolveNs: typeof resolveNs; + resolvePtr: typeof resolvePtr; + resolveSoa: typeof resolveSoa; + resolveSrv: typeof resolveSrv; + resolveTxt: typeof resolveTxt; + reverse: typeof reverse; + setServers: typeof setServers; + } + } +} diff --git a/node_modules/@types/node/domain.d.ts b/node_modules/@types/node/domain.d.ts new file mode 100644 index 0000000..63dcc9b --- /dev/null +++ b/node_modules/@types/node/domain.d.ts @@ -0,0 +1,24 @@ +declare module "domain" { + import { EventEmitter } from "events"; + + global { + namespace NodeJS { + interface Domain extends EventEmitter { + run(fn: (...args: any[]) => T, ...args: any[]): T; + add(emitter: EventEmitter | Timer): void; + remove(emitter: EventEmitter | Timer): void; + bind(cb: T): T; + intercept(cb: T): T; + } + } + } + + interface Domain extends NodeJS.Domain {} + class Domain extends EventEmitter { + members: Array; + enter(): void; + exit(): void; + } + + function create(): Domain; +} diff --git a/node_modules/@types/node/events.d.ts b/node_modules/@types/node/events.d.ts new file mode 100644 index 0000000..c7399f1 --- /dev/null +++ b/node_modules/@types/node/events.d.ts @@ -0,0 +1,83 @@ +declare module "events" { + interface EventEmitterOptions { + /** + * Enables automatic capturing of promise rejection. + */ + captureRejections?: boolean; + } + + interface NodeEventTarget { + once(event: string | symbol, listener: (...args: any[]) => void): this; + } + + interface DOMEventTarget { + addEventListener(event: string, listener: (...args: any[]) => void, opts?: { once: boolean }): any; + } + + namespace EventEmitter { + function once(emitter: NodeEventTarget, event: string | symbol): Promise; + function once(emitter: DOMEventTarget, event: string): Promise; + function on(emitter: EventEmitter, event: string): AsyncIterableIterator; + const captureRejectionSymbol: unique symbol; + + /** + * This symbol shall be used to install a listener for only monitoring `'error'` + * events. Listeners installed using this symbol are called before the regular + * `'error'` listeners are called. + * + * Installing a listener using this symbol does not change the behavior once an + * `'error'` event is emitted, therefore the process will still crash if no + * regular `'error'` listener is installed. + */ + const errorMonitor: unique symbol; + /** + * Sets or gets the default captureRejection value for all emitters. + */ + let captureRejections: boolean; + + interface EventEmitter extends NodeJS.EventEmitter { + } + + class EventEmitter { + constructor(options?: EventEmitterOptions); + /** @deprecated since v4.0.0 */ + static listenerCount(emitter: EventEmitter, event: string | symbol): number; + static defaultMaxListeners: number; + /** + * This symbol shall be used to install a listener for only monitoring `'error'` + * events. Listeners installed using this symbol are called before the regular + * `'error'` listeners are called. + * + * Installing a listener using this symbol does not change the behavior once an + * `'error'` event is emitted, therefore the process will still crash if no + * regular `'error'` listener is installed. + */ + static readonly errorMonitor: unique symbol; + } + } + + global { + namespace NodeJS { + interface EventEmitter { + addListener(event: string | symbol, listener: (...args: any[]) => void): this; + on(event: string | symbol, listener: (...args: any[]) => void): this; + once(event: string | symbol, listener: (...args: any[]) => void): this; + removeListener(event: string | symbol, listener: (...args: any[]) => void): this; + off(event: string | symbol, listener: (...args: any[]) => void): this; + removeAllListeners(event?: string | symbol): this; + setMaxListeners(n: number): this; + getMaxListeners(): number; + listeners(event: string | symbol): Function[]; + rawListeners(event: string | symbol): Function[]; + emit(event: string | symbol, ...args: any[]): boolean; + listenerCount(event: string | symbol): number; + // Added in Node 6... + prependListener(event: string | symbol, listener: (...args: any[]) => void): this; + prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; + eventNames(): Array; + } + } + } + + export = EventEmitter; +} diff --git a/node_modules/@types/node/fs.d.ts b/node_modules/@types/node/fs.d.ts new file mode 100644 index 0000000..c971021 --- /dev/null +++ b/node_modules/@types/node/fs.d.ts @@ -0,0 +1,2239 @@ +declare module "fs" { + import * as stream from "stream"; + import * as events from "events"; + import { URL } from "url"; + import * as promises from 'fs/promises'; + + export { promises }; + /** + * Valid types for path values in "fs". + */ + export type PathLike = string | Buffer | URL; + + export type NoParamCallback = (err: NodeJS.ErrnoException | null) => void; + + export type BufferEncodingOption = 'buffer' | { encoding: 'buffer' }; + + export interface BaseEncodingOptions { + encoding?: BufferEncoding | null; + } + + export type OpenMode = number | string; + + export type Mode = number | string; + + export interface StatsBase { + isFile(): boolean; + isDirectory(): boolean; + isBlockDevice(): boolean; + isCharacterDevice(): boolean; + isSymbolicLink(): boolean; + isFIFO(): boolean; + isSocket(): boolean; + + dev: T; + ino: T; + mode: T; + nlink: T; + uid: T; + gid: T; + rdev: T; + size: T; + blksize: T; + blocks: T; + atimeMs: T; + mtimeMs: T; + ctimeMs: T; + birthtimeMs: T; + atime: Date; + mtime: Date; + ctime: Date; + birthtime: Date; + } + + export interface Stats extends StatsBase { + } + + export class Stats { + } + + export class Dirent { + isFile(): boolean; + isDirectory(): boolean; + isBlockDevice(): boolean; + isCharacterDevice(): boolean; + isSymbolicLink(): boolean; + isFIFO(): boolean; + isSocket(): boolean; + name: string; + } + + /** + * A class representing a directory stream. + */ + export class Dir { + readonly path: string; + + /** + * Asynchronously iterates over the directory via `readdir(3)` until all entries have been read. + */ + [Symbol.asyncIterator](): AsyncIterableIterator; + + /** + * Asynchronously close the directory's underlying resource handle. + * Subsequent reads will result in errors. + */ + close(): Promise; + close(cb: NoParamCallback): void; + + /** + * Synchronously close the directory's underlying resource handle. + * Subsequent reads will result in errors. + */ + closeSync(): void; + + /** + * Asynchronously read the next directory entry via `readdir(3)` as an `Dirent`. + * After the read is completed, a value is returned that will be resolved with an `Dirent`, or `null` if there are no more directory entries to read. + * Directory entries returned by this function are in no particular order as provided by the operating system's underlying directory mechanisms. + */ + read(): Promise; + read(cb: (err: NodeJS.ErrnoException | null, dirEnt: Dirent | null) => void): void; + + /** + * Synchronously read the next directory entry via `readdir(3)` as a `Dirent`. + * If there are no more directory entries to read, null will be returned. + * Directory entries returned by this function are in no particular order as provided by the operating system's underlying directory mechanisms. + */ + readSync(): Dirent; + } + + export interface FSWatcher extends events.EventEmitter { + close(): void; + + /** + * events.EventEmitter + * 1. change + * 2. error + */ + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "change", listener: (eventType: string, filename: string | Buffer) => void): this; + addListener(event: "error", listener: (error: Error) => void): this; + addListener(event: "close", listener: () => void): this; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "change", listener: (eventType: string, filename: string | Buffer) => void): this; + on(event: "error", listener: (error: Error) => void): this; + on(event: "close", listener: () => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "change", listener: (eventType: string, filename: string | Buffer) => void): this; + once(event: "error", listener: (error: Error) => void): this; + once(event: "close", listener: () => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "change", listener: (eventType: string, filename: string | Buffer) => void): this; + prependListener(event: "error", listener: (error: Error) => void): this; + prependListener(event: "close", listener: () => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "change", listener: (eventType: string, filename: string | Buffer) => void): this; + prependOnceListener(event: "error", listener: (error: Error) => void): this; + prependOnceListener(event: "close", listener: () => void): this; + } + + export class ReadStream extends stream.Readable { + close(): void; + bytesRead: number; + path: string | Buffer; + pending: boolean; + + /** + * events.EventEmitter + * 1. open + * 2. close + * 3. ready + */ + addListener(event: "close", listener: () => void): this; + addListener(event: "data", listener: (chunk: Buffer | string) => void): this; + addListener(event: "end", listener: () => void): this; + addListener(event: "error", listener: (err: Error) => void): this; + addListener(event: "open", listener: (fd: number) => void): this; + addListener(event: "pause", listener: () => void): this; + addListener(event: "readable", listener: () => void): this; + addListener(event: "ready", listener: () => void): this; + addListener(event: "resume", listener: () => void): this; + addListener(event: string | symbol, listener: (...args: any[]) => void): this; + + on(event: "close", listener: () => void): this; + on(event: "data", listener: (chunk: Buffer | string) => void): this; + on(event: "end", listener: () => void): this; + on(event: "error", listener: (err: Error) => void): this; + on(event: "open", listener: (fd: number) => void): this; + on(event: "pause", listener: () => void): this; + on(event: "readable", listener: () => void): this; + on(event: "ready", listener: () => void): this; + on(event: "resume", listener: () => void): this; + on(event: string | symbol, listener: (...args: any[]) => void): this; + + once(event: "close", listener: () => void): this; + once(event: "data", listener: (chunk: Buffer | string) => void): this; + once(event: "end", listener: () => void): this; + once(event: "error", listener: (err: Error) => void): this; + once(event: "open", listener: (fd: number) => void): this; + once(event: "pause", listener: () => void): this; + once(event: "readable", listener: () => void): this; + once(event: "ready", listener: () => void): this; + once(event: "resume", listener: () => void): this; + once(event: string | symbol, listener: (...args: any[]) => void): this; + + prependListener(event: "close", listener: () => void): this; + prependListener(event: "data", listener: (chunk: Buffer | string) => void): this; + prependListener(event: "end", listener: () => void): this; + prependListener(event: "error", listener: (err: Error) => void): this; + prependListener(event: "open", listener: (fd: number) => void): this; + prependListener(event: "pause", listener: () => void): this; + prependListener(event: "readable", listener: () => void): this; + prependListener(event: "ready", listener: () => void): this; + prependListener(event: "resume", listener: () => void): this; + prependListener(event: string | symbol, listener: (...args: any[]) => void): this; + + prependOnceListener(event: "close", listener: () => void): this; + prependOnceListener(event: "data", listener: (chunk: Buffer | string) => void): this; + prependOnceListener(event: "end", listener: () => void): this; + prependOnceListener(event: "error", listener: (err: Error) => void): this; + prependOnceListener(event: "open", listener: (fd: number) => void): this; + prependOnceListener(event: "pause", listener: () => void): this; + prependOnceListener(event: "readable", listener: () => void): this; + prependOnceListener(event: "ready", listener: () => void): this; + prependOnceListener(event: "resume", listener: () => void): this; + prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; + } + + export class WriteStream extends stream.Writable { + close(): void; + bytesWritten: number; + path: string | Buffer; + pending: boolean; + + /** + * events.EventEmitter + * 1. open + * 2. close + * 3. ready + */ + addListener(event: "close", listener: () => void): this; + addListener(event: "drain", listener: () => void): this; + addListener(event: "error", listener: (err: Error) => void): this; + addListener(event: "finish", listener: () => void): this; + addListener(event: "open", listener: (fd: number) => void): this; + addListener(event: "pipe", listener: (src: stream.Readable) => void): this; + addListener(event: "ready", listener: () => void): this; + addListener(event: "unpipe", listener: (src: stream.Readable) => void): this; + addListener(event: string | symbol, listener: (...args: any[]) => void): this; + + on(event: "close", listener: () => void): this; + on(event: "drain", listener: () => void): this; + on(event: "error", listener: (err: Error) => void): this; + on(event: "finish", listener: () => void): this; + on(event: "open", listener: (fd: number) => void): this; + on(event: "pipe", listener: (src: stream.Readable) => void): this; + on(event: "ready", listener: () => void): this; + on(event: "unpipe", listener: (src: stream.Readable) => void): this; + on(event: string | symbol, listener: (...args: any[]) => void): this; + + once(event: "close", listener: () => void): this; + once(event: "drain", listener: () => void): this; + once(event: "error", listener: (err: Error) => void): this; + once(event: "finish", listener: () => void): this; + once(event: "open", listener: (fd: number) => void): this; + once(event: "pipe", listener: (src: stream.Readable) => void): this; + once(event: "ready", listener: () => void): this; + once(event: "unpipe", listener: (src: stream.Readable) => void): this; + once(event: string | symbol, listener: (...args: any[]) => void): this; + + prependListener(event: "close", listener: () => void): this; + prependListener(event: "drain", listener: () => void): this; + prependListener(event: "error", listener: (err: Error) => void): this; + prependListener(event: "finish", listener: () => void): this; + prependListener(event: "open", listener: (fd: number) => void): this; + prependListener(event: "pipe", listener: (src: stream.Readable) => void): this; + prependListener(event: "ready", listener: () => void): this; + prependListener(event: "unpipe", listener: (src: stream.Readable) => void): this; + prependListener(event: string | symbol, listener: (...args: any[]) => void): this; + + prependOnceListener(event: "close", listener: () => void): this; + prependOnceListener(event: "drain", listener: () => void): this; + prependOnceListener(event: "error", listener: (err: Error) => void): this; + prependOnceListener(event: "finish", listener: () => void): this; + prependOnceListener(event: "open", listener: (fd: number) => void): this; + prependOnceListener(event: "pipe", listener: (src: stream.Readable) => void): this; + prependOnceListener(event: "ready", listener: () => void): this; + prependOnceListener(event: "unpipe", listener: (src: stream.Readable) => void): this; + prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; + } + + /** + * Asynchronous rename(2) - Change the name or location of a file or directory. + * @param oldPath A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * @param newPath A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + export function rename(oldPath: PathLike, newPath: PathLike, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + export namespace rename { + /** + * Asynchronous rename(2) - Change the name or location of a file or directory. + * @param oldPath A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * @param newPath A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function __promisify__(oldPath: PathLike, newPath: PathLike): Promise; + } + + /** + * Synchronous rename(2) - Change the name or location of a file or directory. + * @param oldPath A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * @param newPath A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + export function renameSync(oldPath: PathLike, newPath: PathLike): void; + + /** + * Asynchronous truncate(2) - Truncate a file to a specified length. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param len If not specified, defaults to `0`. + */ + export function truncate(path: PathLike, len: number | undefined | null, callback: NoParamCallback): void; + + /** + * Asynchronous truncate(2) - Truncate a file to a specified length. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + export function truncate(path: PathLike, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + export namespace truncate { + /** + * Asynchronous truncate(2) - Truncate a file to a specified length. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param len If not specified, defaults to `0`. + */ + function __promisify__(path: PathLike, len?: number | null): Promise; + } + + /** + * Synchronous truncate(2) - Truncate a file to a specified length. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param len If not specified, defaults to `0`. + */ + export function truncateSync(path: PathLike, len?: number | null): void; + + /** + * Asynchronous ftruncate(2) - Truncate a file to a specified length. + * @param fd A file descriptor. + * @param len If not specified, defaults to `0`. + */ + export function ftruncate(fd: number, len: number | undefined | null, callback: NoParamCallback): void; + + /** + * Asynchronous ftruncate(2) - Truncate a file to a specified length. + * @param fd A file descriptor. + */ + export function ftruncate(fd: number, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + export namespace ftruncate { + /** + * Asynchronous ftruncate(2) - Truncate a file to a specified length. + * @param fd A file descriptor. + * @param len If not specified, defaults to `0`. + */ + function __promisify__(fd: number, len?: number | null): Promise; + } + + /** + * Synchronous ftruncate(2) - Truncate a file to a specified length. + * @param fd A file descriptor. + * @param len If not specified, defaults to `0`. + */ + export function ftruncateSync(fd: number, len?: number | null): void; + + /** + * Asynchronous chown(2) - Change ownership of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + export function chown(path: PathLike, uid: number, gid: number, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + export namespace chown { + /** + * Asynchronous chown(2) - Change ownership of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function __promisify__(path: PathLike, uid: number, gid: number): Promise; + } + + /** + * Synchronous chown(2) - Change ownership of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + export function chownSync(path: PathLike, uid: number, gid: number): void; + + /** + * Asynchronous fchown(2) - Change ownership of a file. + * @param fd A file descriptor. + */ + export function fchown(fd: number, uid: number, gid: number, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + export namespace fchown { + /** + * Asynchronous fchown(2) - Change ownership of a file. + * @param fd A file descriptor. + */ + function __promisify__(fd: number, uid: number, gid: number): Promise; + } + + /** + * Synchronous fchown(2) - Change ownership of a file. + * @param fd A file descriptor. + */ + export function fchownSync(fd: number, uid: number, gid: number): void; + + /** + * Asynchronous lchown(2) - Change ownership of a file. Does not dereference symbolic links. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + export function lchown(path: PathLike, uid: number, gid: number, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + export namespace lchown { + /** + * Asynchronous lchown(2) - Change ownership of a file. Does not dereference symbolic links. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function __promisify__(path: PathLike, uid: number, gid: number): Promise; + } + + /** + * Synchronous lchown(2) - Change ownership of a file. Does not dereference symbolic links. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + export function lchownSync(path: PathLike, uid: number, gid: number): void; + + /** + * Changes the access and modification times of a file in the same way as `fs.utimes()`, + * with the difference that if the path refers to a symbolic link, then the link is not + * dereferenced: instead, the timestamps of the symbolic link itself are changed. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param atime The last access time. If a string is provided, it will be coerced to number. + * @param mtime The last modified time. If a string is provided, it will be coerced to number. + */ + export function lutimes(path: PathLike, atime: string | number | Date, mtime: string | number | Date, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + export namespace lutimes { + /** + * Changes the access and modification times of a file in the same way as `fsPromises.utimes()`, + * with the difference that if the path refers to a symbolic link, then the link is not + * dereferenced: instead, the timestamps of the symbolic link itself are changed. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param atime The last access time. If a string is provided, it will be coerced to number. + * @param mtime The last modified time. If a string is provided, it will be coerced to number. + */ + function __promisify__(path: PathLike, atime: string | number | Date, mtime: string | number | Date): Promise; + } + + /** + * Change the file system timestamps of the symbolic link referenced by `path`. Returns `undefined`, + * or throws an exception when parameters are incorrect or the operation fails. + * This is the synchronous version of `fs.lutimes()`. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param atime The last access time. If a string is provided, it will be coerced to number. + * @param mtime The last modified time. If a string is provided, it will be coerced to number. + */ + export function lutimesSync(path: PathLike, atime: string | number | Date, mtime: string | number | Date): void; + + /** + * Asynchronous chmod(2) - Change permissions of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. + */ + export function chmod(path: PathLike, mode: Mode, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + export namespace chmod { + /** + * Asynchronous chmod(2) - Change permissions of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. + */ + function __promisify__(path: PathLike, mode: Mode): Promise; + } + + /** + * Synchronous chmod(2) - Change permissions of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. + */ + export function chmodSync(path: PathLike, mode: Mode): void; + + /** + * Asynchronous fchmod(2) - Change permissions of a file. + * @param fd A file descriptor. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. + */ + export function fchmod(fd: number, mode: Mode, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + export namespace fchmod { + /** + * Asynchronous fchmod(2) - Change permissions of a file. + * @param fd A file descriptor. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. + */ + function __promisify__(fd: number, mode: Mode): Promise; + } + + /** + * Synchronous fchmod(2) - Change permissions of a file. + * @param fd A file descriptor. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. + */ + export function fchmodSync(fd: number, mode: Mode): void; + + /** + * Asynchronous lchmod(2) - Change permissions of a file. Does not dereference symbolic links. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. + */ + export function lchmod(path: PathLike, mode: Mode, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + export namespace lchmod { + /** + * Asynchronous lchmod(2) - Change permissions of a file. Does not dereference symbolic links. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. + */ + function __promisify__(path: PathLike, mode: Mode): Promise; + } + + /** + * Synchronous lchmod(2) - Change permissions of a file. Does not dereference symbolic links. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. + */ + export function lchmodSync(path: PathLike, mode: Mode): void; + + /** + * Asynchronous stat(2) - Get file status. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + export function stat(path: PathLike, options: BigIntOptions, callback: (err: NodeJS.ErrnoException | null, stats: BigIntStats) => void): void; + export function stat(path: PathLike, options: StatOptions, callback: (err: NodeJS.ErrnoException | null, stats: Stats | BigIntStats) => void): void; + export function stat(path: PathLike, callback: (err: NodeJS.ErrnoException | null, stats: Stats) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + export namespace stat { + /** + * Asynchronous stat(2) - Get file status. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function __promisify__(path: PathLike, options: BigIntOptions): Promise; + function __promisify__(path: PathLike, options: StatOptions): Promise; + function __promisify__(path: PathLike): Promise; + } + + /** + * Synchronous stat(2) - Get file status. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + export function statSync(path: PathLike, options: BigIntOptions): BigIntStats; + export function statSync(path: PathLike, options: StatOptions): Stats | BigIntStats; + export function statSync(path: PathLike): Stats; + + /** + * Asynchronous fstat(2) - Get file status. + * @param fd A file descriptor. + */ + export function fstat(fd: number, callback: (err: NodeJS.ErrnoException | null, stats: Stats) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + export namespace fstat { + /** + * Asynchronous fstat(2) - Get file status. + * @param fd A file descriptor. + */ + function __promisify__(fd: number): Promise; + } + + /** + * Synchronous fstat(2) - Get file status. + * @param fd A file descriptor. + */ + export function fstatSync(fd: number): Stats; + + /** + * Asynchronous lstat(2) - Get file status. Does not dereference symbolic links. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + export function lstat(path: PathLike, callback: (err: NodeJS.ErrnoException | null, stats: Stats) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + export namespace lstat { + /** + * Asynchronous lstat(2) - Get file status. Does not dereference symbolic links. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function __promisify__(path: PathLike): Promise; + } + + /** + * Synchronous lstat(2) - Get file status. Does not dereference symbolic links. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + export function lstatSync(path: PathLike): Stats; + + /** + * Asynchronous link(2) - Create a new link (also known as a hard link) to an existing file. + * @param existingPath A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param newPath A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + export function link(existingPath: PathLike, newPath: PathLike, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + export namespace link { + /** + * Asynchronous link(2) - Create a new link (also known as a hard link) to an existing file. + * @param existingPath A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param newPath A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function __promisify__(existingPath: PathLike, newPath: PathLike): Promise; + } + + /** + * Synchronous link(2) - Create a new link (also known as a hard link) to an existing file. + * @param existingPath A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param newPath A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + export function linkSync(existingPath: PathLike, newPath: PathLike): void; + + /** + * Asynchronous symlink(2) - Create a new symbolic link to an existing file. + * @param target A path to an existing file. If a URL is provided, it must use the `file:` protocol. + * @param path A path to the new symlink. If a URL is provided, it must use the `file:` protocol. + * @param type May be set to `'dir'`, `'file'`, or `'junction'` (default is `'file'`) and is only available on Windows (ignored on other platforms). + * When using `'junction'`, the `target` argument will automatically be normalized to an absolute path. + */ + export function symlink(target: PathLike, path: PathLike, type: symlink.Type | undefined | null, callback: NoParamCallback): void; + + /** + * Asynchronous symlink(2) - Create a new symbolic link to an existing file. + * @param target A path to an existing file. If a URL is provided, it must use the `file:` protocol. + * @param path A path to the new symlink. If a URL is provided, it must use the `file:` protocol. + */ + export function symlink(target: PathLike, path: PathLike, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + export namespace symlink { + /** + * Asynchronous symlink(2) - Create a new symbolic link to an existing file. + * @param target A path to an existing file. If a URL is provided, it must use the `file:` protocol. + * @param path A path to the new symlink. If a URL is provided, it must use the `file:` protocol. + * @param type May be set to `'dir'`, `'file'`, or `'junction'` (default is `'file'`) and is only available on Windows (ignored on other platforms). + * When using `'junction'`, the `target` argument will automatically be normalized to an absolute path. + */ + function __promisify__(target: PathLike, path: PathLike, type?: string | null): Promise; + + type Type = "dir" | "file" | "junction"; + } + + /** + * Synchronous symlink(2) - Create a new symbolic link to an existing file. + * @param target A path to an existing file. If a URL is provided, it must use the `file:` protocol. + * @param path A path to the new symlink. If a URL is provided, it must use the `file:` protocol. + * @param type May be set to `'dir'`, `'file'`, or `'junction'` (default is `'file'`) and is only available on Windows (ignored on other platforms). + * When using `'junction'`, the `target` argument will automatically be normalized to an absolute path. + */ + export function symlinkSync(target: PathLike, path: PathLike, type?: symlink.Type | null): void; + + /** + * Asynchronous readlink(2) - read value of a symbolic link. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + export function readlink( + path: PathLike, + options: BaseEncodingOptions | BufferEncoding | undefined | null, + callback: (err: NodeJS.ErrnoException | null, linkString: string) => void + ): void; + + /** + * Asynchronous readlink(2) - read value of a symbolic link. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + export function readlink(path: PathLike, options: BufferEncodingOption, callback: (err: NodeJS.ErrnoException | null, linkString: Buffer) => void): void; + + /** + * Asynchronous readlink(2) - read value of a symbolic link. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + export function readlink(path: PathLike, options: BaseEncodingOptions | string | undefined | null, callback: (err: NodeJS.ErrnoException | null, linkString: string | Buffer) => void): void; + + /** + * Asynchronous readlink(2) - read value of a symbolic link. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + export function readlink(path: PathLike, callback: (err: NodeJS.ErrnoException | null, linkString: string) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + export namespace readlink { + /** + * Asynchronous readlink(2) - read value of a symbolic link. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function __promisify__(path: PathLike, options?: BaseEncodingOptions | BufferEncoding | null): Promise; + + /** + * Asynchronous readlink(2) - read value of a symbolic link. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function __promisify__(path: PathLike, options: BufferEncodingOption): Promise; + + /** + * Asynchronous readlink(2) - read value of a symbolic link. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function __promisify__(path: PathLike, options?: BaseEncodingOptions | string | null): Promise; + } + + /** + * Synchronous readlink(2) - read value of a symbolic link. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + export function readlinkSync(path: PathLike, options?: BaseEncodingOptions | BufferEncoding | null): string; + + /** + * Synchronous readlink(2) - read value of a symbolic link. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + export function readlinkSync(path: PathLike, options: BufferEncodingOption): Buffer; + + /** + * Synchronous readlink(2) - read value of a symbolic link. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + export function readlinkSync(path: PathLike, options?: BaseEncodingOptions | string | null): string | Buffer; + + /** + * Asynchronous realpath(3) - return the canonicalized absolute pathname. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + export function realpath( + path: PathLike, + options: BaseEncodingOptions | BufferEncoding | undefined | null, + callback: (err: NodeJS.ErrnoException | null, resolvedPath: string) => void + ): void; + + /** + * Asynchronous realpath(3) - return the canonicalized absolute pathname. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + export function realpath(path: PathLike, options: BufferEncodingOption, callback: (err: NodeJS.ErrnoException | null, resolvedPath: Buffer) => void): void; + + /** + * Asynchronous realpath(3) - return the canonicalized absolute pathname. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + export function realpath(path: PathLike, options: BaseEncodingOptions | string | undefined | null, callback: (err: NodeJS.ErrnoException | null, resolvedPath: string | Buffer) => void): void; + + /** + * Asynchronous realpath(3) - return the canonicalized absolute pathname. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + export function realpath(path: PathLike, callback: (err: NodeJS.ErrnoException | null, resolvedPath: string) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + export namespace realpath { + /** + * Asynchronous realpath(3) - return the canonicalized absolute pathname. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function __promisify__(path: PathLike, options?: BaseEncodingOptions | BufferEncoding | null): Promise; + + /** + * Asynchronous realpath(3) - return the canonicalized absolute pathname. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function __promisify__(path: PathLike, options: BufferEncodingOption): Promise; + + /** + * Asynchronous realpath(3) - return the canonicalized absolute pathname. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function __promisify__(path: PathLike, options?: BaseEncodingOptions | string | null): Promise; + + function native( + path: PathLike, + options: BaseEncodingOptions | BufferEncoding | undefined | null, + callback: (err: NodeJS.ErrnoException | null, resolvedPath: string) => void + ): void; + function native(path: PathLike, options: BufferEncodingOption, callback: (err: NodeJS.ErrnoException | null, resolvedPath: Buffer) => void): void; + function native(path: PathLike, options: BaseEncodingOptions | string | undefined | null, callback: (err: NodeJS.ErrnoException | null, resolvedPath: string | Buffer) => void): void; + function native(path: PathLike, callback: (err: NodeJS.ErrnoException | null, resolvedPath: string) => void): void; + } + + /** + * Synchronous realpath(3) - return the canonicalized absolute pathname. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + export function realpathSync(path: PathLike, options?: BaseEncodingOptions | BufferEncoding | null): string; + + /** + * Synchronous realpath(3) - return the canonicalized absolute pathname. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + export function realpathSync(path: PathLike, options: BufferEncodingOption): Buffer; + + /** + * Synchronous realpath(3) - return the canonicalized absolute pathname. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + export function realpathSync(path: PathLike, options?: BaseEncodingOptions | string | null): string | Buffer; + + export namespace realpathSync { + function native(path: PathLike, options?: BaseEncodingOptions | BufferEncoding | null): string; + function native(path: PathLike, options: BufferEncodingOption): Buffer; + function native(path: PathLike, options?: BaseEncodingOptions | string | null): string | Buffer; + } + + /** + * Asynchronous unlink(2) - delete a name and possibly the file it refers to. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + export function unlink(path: PathLike, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + export namespace unlink { + /** + * Asynchronous unlink(2) - delete a name and possibly the file it refers to. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function __promisify__(path: PathLike): Promise; + } + + /** + * Synchronous unlink(2) - delete a name and possibly the file it refers to. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + export function unlinkSync(path: PathLike): void; + + export interface RmDirOptions { + /** + * If an `EBUSY`, `EMFILE`, `ENFILE`, `ENOTEMPTY`, or + * `EPERM` error is encountered, Node.js will retry the operation with a linear + * backoff wait of `retryDelay` ms longer on each try. This option represents the + * number of retries. This option is ignored if the `recursive` option is not + * `true`. + * @default 0 + */ + maxRetries?: number; + /** + * @deprecated since v14.14.0 In future versions of Node.js, + * `fs.rmdir(path, { recursive: true })` will throw on nonexistent + * paths, or when given a file as a target. + * Use `fs.rm(path, { recursive: true, force: true })` instead. + * + * If `true`, perform a recursive directory removal. In + * recursive mode, errors are not reported if `path` does not exist, and + * operations are retried on failure. + * @default false + */ + recursive?: boolean; + /** + * The amount of time in milliseconds to wait between retries. + * This option is ignored if the `recursive` option is not `true`. + * @default 100 + */ + retryDelay?: number; + } + + /** + * Asynchronous rmdir(2) - delete a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + export function rmdir(path: PathLike, callback: NoParamCallback): void; + export function rmdir(path: PathLike, options: RmDirOptions, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + export namespace rmdir { + /** + * Asynchronous rmdir(2) - delete a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function __promisify__(path: PathLike, options?: RmDirOptions): Promise; + } + + /** + * Synchronous rmdir(2) - delete a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + export function rmdirSync(path: PathLike, options?: RmDirOptions): void; + + export interface RmOptions { + /** + * When `true`, exceptions will be ignored if `path` does not exist. + * @default false + */ + force?: boolean; + /** + * If an `EBUSY`, `EMFILE`, `ENFILE`, `ENOTEMPTY`, or + * `EPERM` error is encountered, Node.js will retry the operation with a linear + * backoff wait of `retryDelay` ms longer on each try. This option represents the + * number of retries. This option is ignored if the `recursive` option is not + * `true`. + * @default 0 + */ + maxRetries?: number; + /** + * If `true`, perform a recursive directory removal. In + * recursive mode, errors are not reported if `path` does not exist, and + * operations are retried on failure. + * @default false + */ + recursive?: boolean; + /** + * The amount of time in milliseconds to wait between retries. + * This option is ignored if the `recursive` option is not `true`. + * @default 100 + */ + retryDelay?: number; + } + + /** + * Asynchronously removes files and directories (modeled on the standard POSIX `rm` utility). + */ + export function rm(path: PathLike, callback: NoParamCallback): void; + export function rm(path: PathLike, options: RmOptions, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + export namespace rm { + /** + * Asynchronously removes files and directories (modeled on the standard POSIX `rm` utility). + */ + function __promisify__(path: PathLike, options?: RmOptions): Promise; + } + + /** + * Synchronously removes files and directories (modeled on the standard POSIX `rm` utility). + */ + export function rmSync(path: PathLike, options?: RmOptions): void; + + export interface MakeDirectoryOptions { + /** + * Indicates whether parent folders should be created. + * If a folder was created, the path to the first created folder will be returned. + * @default false + */ + recursive?: boolean; + /** + * A file mode. If a string is passed, it is parsed as an octal integer. If not specified + * @default 0o777 + */ + mode?: Mode; + } + + /** + * Asynchronous mkdir(2) - create a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options Either the file mode, or an object optionally specifying the file mode and whether parent folders + * should be created. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`. + */ + export function mkdir(path: PathLike, options: MakeDirectoryOptions & { recursive: true }, callback: (err: NodeJS.ErrnoException | null, path: string) => void): void; + + /** + * Asynchronous mkdir(2) - create a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options Either the file mode, or an object optionally specifying the file mode and whether parent folders + * should be created. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`. + */ + export function mkdir(path: PathLike, options: Mode | (MakeDirectoryOptions & { recursive?: false; }) | null | undefined, callback: NoParamCallback): void; + + /** + * Asynchronous mkdir(2) - create a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options Either the file mode, or an object optionally specifying the file mode and whether parent folders + * should be created. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`. + */ + export function mkdir(path: PathLike, options: Mode | MakeDirectoryOptions | null | undefined, callback: (err: NodeJS.ErrnoException | null, path: string | undefined) => void): void; + + /** + * Asynchronous mkdir(2) - create a directory with a mode of `0o777`. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + export function mkdir(path: PathLike, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + export namespace mkdir { + /** + * Asynchronous mkdir(2) - create a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options Either the file mode, or an object optionally specifying the file mode and whether parent folders + * should be created. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`. + */ + function __promisify__(path: PathLike, options: MakeDirectoryOptions & { recursive: true; }): Promise; + + /** + * Asynchronous mkdir(2) - create a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options Either the file mode, or an object optionally specifying the file mode and whether parent folders + * should be created. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`. + */ + function __promisify__(path: PathLike, options?: Mode | (MakeDirectoryOptions & { recursive?: false; }) | null): Promise; + + /** + * Asynchronous mkdir(2) - create a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options Either the file mode, or an object optionally specifying the file mode and whether parent folders + * should be created. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`. + */ + function __promisify__(path: PathLike, options?: Mode | MakeDirectoryOptions | null): Promise; + } + + /** + * Synchronous mkdir(2) - create a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options Either the file mode, or an object optionally specifying the file mode and whether parent folders + * should be created. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`. + */ + export function mkdirSync(path: PathLike, options: MakeDirectoryOptions & { recursive: true; }): string; + + /** + * Synchronous mkdir(2) - create a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options Either the file mode, or an object optionally specifying the file mode and whether parent folders + * should be created. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`. + */ + export function mkdirSync(path: PathLike, options?: Mode | (MakeDirectoryOptions & { recursive?: false; }) | null): void; + + /** + * Synchronous mkdir(2) - create a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options Either the file mode, or an object optionally specifying the file mode and whether parent folders + * should be created. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`. + */ + export function mkdirSync(path: PathLike, options?: Mode | MakeDirectoryOptions | null): string | undefined; + + /** + * Asynchronously creates a unique temporary directory. + * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + export function mkdtemp(prefix: string, options: BaseEncodingOptions | BufferEncoding | undefined | null, callback: (err: NodeJS.ErrnoException | null, folder: string) => void): void; + + /** + * Asynchronously creates a unique temporary directory. + * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + export function mkdtemp(prefix: string, options: "buffer" | { encoding: "buffer" }, callback: (err: NodeJS.ErrnoException | null, folder: Buffer) => void): void; + + /** + * Asynchronously creates a unique temporary directory. + * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + export function mkdtemp(prefix: string, options: BaseEncodingOptions | string | undefined | null, callback: (err: NodeJS.ErrnoException | null, folder: string | Buffer) => void): void; + + /** + * Asynchronously creates a unique temporary directory. + * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. + */ + export function mkdtemp(prefix: string, callback: (err: NodeJS.ErrnoException | null, folder: string) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + export namespace mkdtemp { + /** + * Asynchronously creates a unique temporary directory. + * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function __promisify__(prefix: string, options?: BaseEncodingOptions | BufferEncoding | null): Promise; + + /** + * Asynchronously creates a unique temporary directory. + * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function __promisify__(prefix: string, options: BufferEncodingOption): Promise; + + /** + * Asynchronously creates a unique temporary directory. + * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function __promisify__(prefix: string, options?: BaseEncodingOptions | string | null): Promise; + } + + /** + * Synchronously creates a unique temporary directory. + * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + export function mkdtempSync(prefix: string, options?: BaseEncodingOptions | BufferEncoding | null): string; + + /** + * Synchronously creates a unique temporary directory. + * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + export function mkdtempSync(prefix: string, options: BufferEncodingOption): Buffer; + + /** + * Synchronously creates a unique temporary directory. + * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + export function mkdtempSync(prefix: string, options?: BaseEncodingOptions | string | null): string | Buffer; + + /** + * Asynchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + export function readdir( + path: PathLike, + options: { encoding: BufferEncoding | null; withFileTypes?: false } | BufferEncoding | undefined | null, + callback: (err: NodeJS.ErrnoException | null, files: string[]) => void, + ): void; + + /** + * Asynchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + export function readdir(path: PathLike, options: { encoding: "buffer"; withFileTypes?: false } | "buffer", callback: (err: NodeJS.ErrnoException | null, files: Buffer[]) => void): void; + + /** + * Asynchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + export function readdir( + path: PathLike, + options: BaseEncodingOptions & { withFileTypes?: false } | BufferEncoding | undefined | null, + callback: (err: NodeJS.ErrnoException | null, files: string[] | Buffer[]) => void, + ): void; + + /** + * Asynchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + export function readdir(path: PathLike, callback: (err: NodeJS.ErrnoException | null, files: string[]) => void): void; + + /** + * Asynchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options If called with `withFileTypes: true` the result data will be an array of Dirent. + */ + export function readdir(path: PathLike, options: BaseEncodingOptions & { withFileTypes: true }, callback: (err: NodeJS.ErrnoException | null, files: Dirent[]) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + export namespace readdir { + /** + * Asynchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function __promisify__(path: PathLike, options?: { encoding: BufferEncoding | null; withFileTypes?: false } | BufferEncoding | null): Promise; + + /** + * Asynchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function __promisify__(path: PathLike, options: "buffer" | { encoding: "buffer"; withFileTypes?: false }): Promise; + + /** + * Asynchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function __promisify__(path: PathLike, options?: BaseEncodingOptions & { withFileTypes?: false } | BufferEncoding | null): Promise; + + /** + * Asynchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options If called with `withFileTypes: true` the result data will be an array of Dirent + */ + function __promisify__(path: PathLike, options: BaseEncodingOptions & { withFileTypes: true }): Promise; + } + + /** + * Synchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + export function readdirSync(path: PathLike, options?: { encoding: BufferEncoding | null; withFileTypes?: false } | BufferEncoding | null): string[]; + + /** + * Synchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + export function readdirSync(path: PathLike, options: { encoding: "buffer"; withFileTypes?: false } | "buffer"): Buffer[]; + + /** + * Synchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + export function readdirSync(path: PathLike, options?: BaseEncodingOptions & { withFileTypes?: false } | BufferEncoding | null): string[] | Buffer[]; + + /** + * Synchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options If called with `withFileTypes: true` the result data will be an array of Dirent. + */ + export function readdirSync(path: PathLike, options: BaseEncodingOptions & { withFileTypes: true }): Dirent[]; + + /** + * Asynchronous close(2) - close a file descriptor. + * @param fd A file descriptor. + */ + export function close(fd: number, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + export namespace close { + /** + * Asynchronous close(2) - close a file descriptor. + * @param fd A file descriptor. + */ + function __promisify__(fd: number): Promise; + } + + /** + * Synchronous close(2) - close a file descriptor. + * @param fd A file descriptor. + */ + export function closeSync(fd: number): void; + + /** + * Asynchronous open(2) - open and possibly create a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. If not supplied, defaults to `0o666`. + */ + export function open(path: PathLike, flags: OpenMode, mode: Mode | undefined | null, callback: (err: NodeJS.ErrnoException | null, fd: number) => void): void; + + /** + * Asynchronous open(2) - open and possibly create a file. If the file is created, its mode will be `0o666`. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + export function open(path: PathLike, flags: OpenMode, callback: (err: NodeJS.ErrnoException | null, fd: number) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + export namespace open { + /** + * Asynchronous open(2) - open and possibly create a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. If not supplied, defaults to `0o666`. + */ + function __promisify__(path: PathLike, flags: OpenMode, mode?: Mode | null): Promise; + } + + /** + * Synchronous open(2) - open and possibly create a file, returning a file descriptor.. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. If not supplied, defaults to `0o666`. + */ + export function openSync(path: PathLike, flags: OpenMode, mode?: Mode | null): number; + + /** + * Asynchronously change file timestamps of the file referenced by the supplied path. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param atime The last access time. If a string is provided, it will be coerced to number. + * @param mtime The last modified time. If a string is provided, it will be coerced to number. + */ + export function utimes(path: PathLike, atime: string | number | Date, mtime: string | number | Date, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + export namespace utimes { + /** + * Asynchronously change file timestamps of the file referenced by the supplied path. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param atime The last access time. If a string is provided, it will be coerced to number. + * @param mtime The last modified time. If a string is provided, it will be coerced to number. + */ + function __promisify__(path: PathLike, atime: string | number | Date, mtime: string | number | Date): Promise; + } + + /** + * Synchronously change file timestamps of the file referenced by the supplied path. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param atime The last access time. If a string is provided, it will be coerced to number. + * @param mtime The last modified time. If a string is provided, it will be coerced to number. + */ + export function utimesSync(path: PathLike, atime: string | number | Date, mtime: string | number | Date): void; + + /** + * Asynchronously change file timestamps of the file referenced by the supplied file descriptor. + * @param fd A file descriptor. + * @param atime The last access time. If a string is provided, it will be coerced to number. + * @param mtime The last modified time. If a string is provided, it will be coerced to number. + */ + export function futimes(fd: number, atime: string | number | Date, mtime: string | number | Date, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + export namespace futimes { + /** + * Asynchronously change file timestamps of the file referenced by the supplied file descriptor. + * @param fd A file descriptor. + * @param atime The last access time. If a string is provided, it will be coerced to number. + * @param mtime The last modified time. If a string is provided, it will be coerced to number. + */ + function __promisify__(fd: number, atime: string | number | Date, mtime: string | number | Date): Promise; + } + + /** + * Synchronously change file timestamps of the file referenced by the supplied file descriptor. + * @param fd A file descriptor. + * @param atime The last access time. If a string is provided, it will be coerced to number. + * @param mtime The last modified time. If a string is provided, it will be coerced to number. + */ + export function futimesSync(fd: number, atime: string | number | Date, mtime: string | number | Date): void; + + /** + * Asynchronous fsync(2) - synchronize a file's in-core state with the underlying storage device. + * @param fd A file descriptor. + */ + export function fsync(fd: number, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + export namespace fsync { + /** + * Asynchronous fsync(2) - synchronize a file's in-core state with the underlying storage device. + * @param fd A file descriptor. + */ + function __promisify__(fd: number): Promise; + } + + /** + * Synchronous fsync(2) - synchronize a file's in-core state with the underlying storage device. + * @param fd A file descriptor. + */ + export function fsyncSync(fd: number): void; + + /** + * Asynchronously writes `buffer` to the file referenced by the supplied file descriptor. + * @param fd A file descriptor. + * @param offset The part of the buffer to be written. If not supplied, defaults to `0`. + * @param length The number of bytes to write. If not supplied, defaults to `buffer.length - offset`. + * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. + */ + export function write( + fd: number, + buffer: TBuffer, + offset: number | undefined | null, + length: number | undefined | null, + position: number | undefined | null, + callback: (err: NodeJS.ErrnoException | null, written: number, buffer: TBuffer) => void, + ): void; + + /** + * Asynchronously writes `buffer` to the file referenced by the supplied file descriptor. + * @param fd A file descriptor. + * @param offset The part of the buffer to be written. If not supplied, defaults to `0`. + * @param length The number of bytes to write. If not supplied, defaults to `buffer.length - offset`. + */ + export function write( + fd: number, + buffer: TBuffer, + offset: number | undefined | null, + length: number | undefined | null, + callback: (err: NodeJS.ErrnoException | null, written: number, buffer: TBuffer) => void, + ): void; + + /** + * Asynchronously writes `buffer` to the file referenced by the supplied file descriptor. + * @param fd A file descriptor. + * @param offset The part of the buffer to be written. If not supplied, defaults to `0`. + */ + export function write( + fd: number, + buffer: TBuffer, + offset: number | undefined | null, + callback: (err: NodeJS.ErrnoException | null, written: number, buffer: TBuffer) => void + ): void; + + /** + * Asynchronously writes `buffer` to the file referenced by the supplied file descriptor. + * @param fd A file descriptor. + */ + export function write(fd: number, buffer: TBuffer, callback: (err: NodeJS.ErrnoException | null, written: number, buffer: TBuffer) => void): void; + + /** + * Asynchronously writes `string` to the file referenced by the supplied file descriptor. + * @param fd A file descriptor. + * @param string A string to write. + * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. + * @param encoding The expected string encoding. + */ + export function write( + fd: number, + string: string, + position: number | undefined | null, + encoding: BufferEncoding | undefined | null, + callback: (err: NodeJS.ErrnoException | null, written: number, str: string) => void, + ): void; + + /** + * Asynchronously writes `string` to the file referenced by the supplied file descriptor. + * @param fd A file descriptor. + * @param string A string to write. + * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. + */ + export function write(fd: number, string: string, position: number | undefined | null, callback: (err: NodeJS.ErrnoException | null, written: number, str: string) => void): void; + + /** + * Asynchronously writes `string` to the file referenced by the supplied file descriptor. + * @param fd A file descriptor. + * @param string A string to write. + */ + export function write(fd: number, string: string, callback: (err: NodeJS.ErrnoException | null, written: number, str: string) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + export namespace write { + /** + * Asynchronously writes `buffer` to the file referenced by the supplied file descriptor. + * @param fd A file descriptor. + * @param offset The part of the buffer to be written. If not supplied, defaults to `0`. + * @param length The number of bytes to write. If not supplied, defaults to `buffer.length - offset`. + * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. + */ + function __promisify__( + fd: number, + buffer?: TBuffer, + offset?: number, + length?: number, + position?: number | null, + ): Promise<{ bytesWritten: number, buffer: TBuffer }>; + + /** + * Asynchronously writes `string` to the file referenced by the supplied file descriptor. + * @param fd A file descriptor. + * @param string A string to write. + * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. + * @param encoding The expected string encoding. + */ + function __promisify__(fd: number, string: string, position?: number | null, encoding?: BufferEncoding | null): Promise<{ bytesWritten: number, buffer: string }>; + } + + /** + * Synchronously writes `buffer` to the file referenced by the supplied file descriptor, returning the number of bytes written. + * @param fd A file descriptor. + * @param offset The part of the buffer to be written. If not supplied, defaults to `0`. + * @param length The number of bytes to write. If not supplied, defaults to `buffer.length - offset`. + * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. + */ + export function writeSync(fd: number, buffer: NodeJS.ArrayBufferView, offset?: number | null, length?: number | null, position?: number | null): number; + + /** + * Synchronously writes `string` to the file referenced by the supplied file descriptor, returning the number of bytes written. + * @param fd A file descriptor. + * @param string A string to write. + * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. + * @param encoding The expected string encoding. + */ + export function writeSync(fd: number, string: string, position?: number | null, encoding?: BufferEncoding | null): number; + + /** + * Asynchronously reads data from the file referenced by the supplied file descriptor. + * @param fd A file descriptor. + * @param buffer The buffer that the data will be written to. + * @param offset The offset in the buffer at which to start writing. + * @param length The number of bytes to read. + * @param position The offset from the beginning of the file from which data should be read. If `null`, data will be read from the current position. + */ + export function read( + fd: number, + buffer: TBuffer, + offset: number, + length: number, + position: number | null, + callback: (err: NodeJS.ErrnoException | null, bytesRead: number, buffer: TBuffer) => void, + ): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + export namespace read { + /** + * @param fd A file descriptor. + * @param buffer The buffer that the data will be written to. + * @param offset The offset in the buffer at which to start writing. + * @param length The number of bytes to read. + * @param position The offset from the beginning of the file from which data should be read. If `null`, data will be read from the current position. + */ + function __promisify__( + fd: number, + buffer: TBuffer, + offset: number, + length: number, + position: number | null + ): Promise<{ bytesRead: number, buffer: TBuffer }>; + } + + export interface ReadSyncOptions { + /** + * @default 0 + */ + offset?: number; + /** + * @default `length of buffer` + */ + length?: number; + /** + * @default null + */ + position?: number | null; + } + + /** + * Synchronously reads data from the file referenced by the supplied file descriptor, returning the number of bytes read. + * @param fd A file descriptor. + * @param buffer The buffer that the data will be written to. + * @param offset The offset in the buffer at which to start writing. + * @param length The number of bytes to read. + * @param position The offset from the beginning of the file from which data should be read. If `null`, data will be read from the current position. + */ + export function readSync(fd: number, buffer: NodeJS.ArrayBufferView, offset: number, length: number, position: number | null): number; + + /** + * Similar to the above `fs.readSync` function, this version takes an optional `options` object. + * If no `options` object is specified, it will default with the above values. + */ + export function readSync(fd: number, buffer: NodeJS.ArrayBufferView, opts?: ReadSyncOptions): number; + + /** + * Asynchronously reads the entire contents of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param options An object that may contain an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + export function readFile(path: PathLike | number, options: { encoding?: null; flag?: string; } | undefined | null, callback: (err: NodeJS.ErrnoException | null, data: Buffer) => void): void; + + /** + * Asynchronously reads the entire contents of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param options Either the encoding for the result, or an object that contains the encoding and an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + export function readFile(path: PathLike | number, options: { encoding: BufferEncoding; flag?: string; } | string, callback: (err: NodeJS.ErrnoException | null, data: string) => void): void; + + /** + * Asynchronously reads the entire contents of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param options Either the encoding for the result, or an object that contains the encoding and an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + export function readFile( + path: PathLike | number, + options: BaseEncodingOptions & { flag?: string; } | string | undefined | null, + callback: (err: NodeJS.ErrnoException | null, data: string | Buffer) => void, + ): void; + + /** + * Asynchronously reads the entire contents of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + */ + export function readFile(path: PathLike | number, callback: (err: NodeJS.ErrnoException | null, data: Buffer) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + export namespace readFile { + /** + * Asynchronously reads the entire contents of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param options An object that may contain an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + function __promisify__(path: PathLike | number, options?: { encoding?: null; flag?: string; } | null): Promise; + + /** + * Asynchronously reads the entire contents of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param options Either the encoding for the result, or an object that contains the encoding and an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + function __promisify__(path: PathLike | number, options: { encoding: BufferEncoding; flag?: string; } | string): Promise; + + /** + * Asynchronously reads the entire contents of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param options Either the encoding for the result, or an object that contains the encoding and an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + function __promisify__(path: PathLike | number, options?: BaseEncodingOptions & { flag?: string; } | string | null): Promise; + } + + /** + * Synchronously reads the entire contents of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param options An object that may contain an optional flag. If a flag is not provided, it defaults to `'r'`. + */ + export function readFileSync(path: PathLike | number, options?: { encoding?: null; flag?: string; } | null): Buffer; + + /** + * Synchronously reads the entire contents of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param options Either the encoding for the result, or an object that contains the encoding and an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + export function readFileSync(path: PathLike | number, options: { encoding: BufferEncoding; flag?: string; } | BufferEncoding): string; + + /** + * Synchronously reads the entire contents of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param options Either the encoding for the result, or an object that contains the encoding and an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + export function readFileSync(path: PathLike | number, options?: BaseEncodingOptions & { flag?: string; } | BufferEncoding | null): string | Buffer; + + export type WriteFileOptions = BaseEncodingOptions & { mode?: Mode; flag?: string; } | string | null; + + /** + * Asynchronously writes data to a file, replacing the file if it already exists. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param data The data to write. If something other than a Buffer or Uint8Array is provided, the value is coerced to a string. + * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. + * If `encoding` is not supplied, the default of `'utf8'` is used. + * If `mode` is not supplied, the default of `0o666` is used. + * If `mode` is a string, it is parsed as an octal integer. + * If `flag` is not supplied, the default of `'w'` is used. + */ + export function writeFile(path: PathLike | number, data: string | NodeJS.ArrayBufferView, options: WriteFileOptions, callback: NoParamCallback): void; + + /** + * Asynchronously writes data to a file, replacing the file if it already exists. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param data The data to write. If something other than a Buffer or Uint8Array is provided, the value is coerced to a string. + */ + export function writeFile(path: PathLike | number, data: string | NodeJS.ArrayBufferView, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + export namespace writeFile { + /** + * Asynchronously writes data to a file, replacing the file if it already exists. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param data The data to write. If something other than a Buffer or Uint8Array is provided, the value is coerced to a string. + * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. + * If `encoding` is not supplied, the default of `'utf8'` is used. + * If `mode` is not supplied, the default of `0o666` is used. + * If `mode` is a string, it is parsed as an octal integer. + * If `flag` is not supplied, the default of `'w'` is used. + */ + function __promisify__(path: PathLike | number, data: string | NodeJS.ArrayBufferView, options?: WriteFileOptions): Promise; + } + + /** + * Synchronously writes data to a file, replacing the file if it already exists. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param data The data to write. If something other than a Buffer or Uint8Array is provided, the value is coerced to a string. + * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. + * If `encoding` is not supplied, the default of `'utf8'` is used. + * If `mode` is not supplied, the default of `0o666` is used. + * If `mode` is a string, it is parsed as an octal integer. + * If `flag` is not supplied, the default of `'w'` is used. + */ + export function writeFileSync(path: PathLike | number, data: string | NodeJS.ArrayBufferView, options?: WriteFileOptions): void; + + /** + * Asynchronously append data to a file, creating the file if it does not exist. + * @param file A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param data The data to write. If something other than a Buffer or Uint8Array is provided, the value is coerced to a string. + * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. + * If `encoding` is not supplied, the default of `'utf8'` is used. + * If `mode` is not supplied, the default of `0o666` is used. + * If `mode` is a string, it is parsed as an octal integer. + * If `flag` is not supplied, the default of `'a'` is used. + */ + export function appendFile(file: PathLike | number, data: string | Uint8Array, options: WriteFileOptions, callback: NoParamCallback): void; + + /** + * Asynchronously append data to a file, creating the file if it does not exist. + * @param file A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param data The data to write. If something other than a Buffer or Uint8Array is provided, the value is coerced to a string. + */ + export function appendFile(file: PathLike | number, data: string | Uint8Array, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + export namespace appendFile { + /** + * Asynchronously append data to a file, creating the file if it does not exist. + * @param file A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param data The data to write. If something other than a Buffer or Uint8Array is provided, the value is coerced to a string. + * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. + * If `encoding` is not supplied, the default of `'utf8'` is used. + * If `mode` is not supplied, the default of `0o666` is used. + * If `mode` is a string, it is parsed as an octal integer. + * If `flag` is not supplied, the default of `'a'` is used. + */ + function __promisify__(file: PathLike | number, data: string | Uint8Array, options?: WriteFileOptions): Promise; + } + + /** + * Synchronously append data to a file, creating the file if it does not exist. + * @param file A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param data The data to write. If something other than a Buffer or Uint8Array is provided, the value is coerced to a string. + * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. + * If `encoding` is not supplied, the default of `'utf8'` is used. + * If `mode` is not supplied, the default of `0o666` is used. + * If `mode` is a string, it is parsed as an octal integer. + * If `flag` is not supplied, the default of `'a'` is used. + */ + export function appendFileSync(file: PathLike | number, data: string | Uint8Array, options?: WriteFileOptions): void; + + /** + * Watch for changes on `filename`. The callback `listener` will be called each time the file is accessed. + */ + export function watchFile(filename: PathLike, options: { persistent?: boolean; interval?: number; } | undefined, listener: (curr: Stats, prev: Stats) => void): void; + + /** + * Watch for changes on `filename`. The callback `listener` will be called each time the file is accessed. + * @param filename A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + export function watchFile(filename: PathLike, listener: (curr: Stats, prev: Stats) => void): void; + + /** + * Stop watching for changes on `filename`. + * @param filename A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + export function unwatchFile(filename: PathLike, listener?: (curr: Stats, prev: Stats) => void): void; + + /** + * Watch for changes on `filename`, where `filename` is either a file or a directory, returning an `FSWatcher`. + * @param filename A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * @param options Either the encoding for the filename provided to the listener, or an object optionally specifying encoding, persistent, and recursive options. + * If `encoding` is not supplied, the default of `'utf8'` is used. + * If `persistent` is not supplied, the default of `true` is used. + * If `recursive` is not supplied, the default of `false` is used. + */ + export function watch( + filename: PathLike, + options: { encoding?: BufferEncoding | null, persistent?: boolean, recursive?: boolean } | BufferEncoding | undefined | null, + listener?: (event: string, filename: string) => void, + ): FSWatcher; + + /** + * Watch for changes on `filename`, where `filename` is either a file or a directory, returning an `FSWatcher`. + * @param filename A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * @param options Either the encoding for the filename provided to the listener, or an object optionally specifying encoding, persistent, and recursive options. + * If `encoding` is not supplied, the default of `'utf8'` is used. + * If `persistent` is not supplied, the default of `true` is used. + * If `recursive` is not supplied, the default of `false` is used. + */ + export function watch(filename: PathLike, options: { encoding: "buffer", persistent?: boolean, recursive?: boolean } | "buffer", listener?: (event: string, filename: Buffer) => void): FSWatcher; + + /** + * Watch for changes on `filename`, where `filename` is either a file or a directory, returning an `FSWatcher`. + * @param filename A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * @param options Either the encoding for the filename provided to the listener, or an object optionally specifying encoding, persistent, and recursive options. + * If `encoding` is not supplied, the default of `'utf8'` is used. + * If `persistent` is not supplied, the default of `true` is used. + * If `recursive` is not supplied, the default of `false` is used. + */ + export function watch( + filename: PathLike, + options: { encoding?: BufferEncoding | null, persistent?: boolean, recursive?: boolean } | string | null, + listener?: (event: string, filename: string | Buffer) => void, + ): FSWatcher; + + /** + * Watch for changes on `filename`, where `filename` is either a file or a directory, returning an `FSWatcher`. + * @param filename A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + export function watch(filename: PathLike, listener?: (event: string, filename: string) => any): FSWatcher; + + /** + * Asynchronously tests whether or not the given path exists by checking with the file system. + * @deprecated since v1.0.0 Use `fs.stat()` or `fs.access()` instead + * @param path A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + export function exists(path: PathLike, callback: (exists: boolean) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + export namespace exists { + /** + * @param path A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function __promisify__(path: PathLike): Promise; + } + + /** + * Synchronously tests whether or not the given path exists by checking with the file system. + * @param path A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + export function existsSync(path: PathLike): boolean; + + export namespace constants { + // File Access Constants + + /** Constant for fs.access(). File is visible to the calling process. */ + const F_OK: number; + + /** Constant for fs.access(). File can be read by the calling process. */ + const R_OK: number; + + /** Constant for fs.access(). File can be written by the calling process. */ + const W_OK: number; + + /** Constant for fs.access(). File can be executed by the calling process. */ + const X_OK: number; + + // File Copy Constants + + /** Constant for fs.copyFile. Flag indicating the destination file should not be overwritten if it already exists. */ + const COPYFILE_EXCL: number; + + /** + * Constant for fs.copyFile. copy operation will attempt to create a copy-on-write reflink. + * If the underlying platform does not support copy-on-write, then a fallback copy mechanism is used. + */ + const COPYFILE_FICLONE: number; + + /** + * Constant for fs.copyFile. Copy operation will attempt to create a copy-on-write reflink. + * If the underlying platform does not support copy-on-write, then the operation will fail with an error. + */ + const COPYFILE_FICLONE_FORCE: number; + + // File Open Constants + + /** Constant for fs.open(). Flag indicating to open a file for read-only access. */ + const O_RDONLY: number; + + /** Constant for fs.open(). Flag indicating to open a file for write-only access. */ + const O_WRONLY: number; + + /** Constant for fs.open(). Flag indicating to open a file for read-write access. */ + const O_RDWR: number; + + /** Constant for fs.open(). Flag indicating to create the file if it does not already exist. */ + const O_CREAT: number; + + /** Constant for fs.open(). Flag indicating that opening a file should fail if the O_CREAT flag is set and the file already exists. */ + const O_EXCL: number; + + /** + * Constant for fs.open(). Flag indicating that if path identifies a terminal device, + * opening the path shall not cause that terminal to become the controlling terminal for the process + * (if the process does not already have one). + */ + const O_NOCTTY: number; + + /** Constant for fs.open(). Flag indicating that if the file exists and is a regular file, and the file is opened successfully for write access, its length shall be truncated to zero. */ + const O_TRUNC: number; + + /** Constant for fs.open(). Flag indicating that data will be appended to the end of the file. */ + const O_APPEND: number; + + /** Constant for fs.open(). Flag indicating that the open should fail if the path is not a directory. */ + const O_DIRECTORY: number; + + /** + * constant for fs.open(). + * Flag indicating reading accesses to the file system will no longer result in + * an update to the atime information associated with the file. + * This flag is available on Linux operating systems only. + */ + const O_NOATIME: number; + + /** Constant for fs.open(). Flag indicating that the open should fail if the path is a symbolic link. */ + const O_NOFOLLOW: number; + + /** Constant for fs.open(). Flag indicating that the file is opened for synchronous I/O. */ + const O_SYNC: number; + + /** Constant for fs.open(). Flag indicating that the file is opened for synchronous I/O with write operations waiting for data integrity. */ + const O_DSYNC: number; + + /** Constant for fs.open(). Flag indicating to open the symbolic link itself rather than the resource it is pointing to. */ + const O_SYMLINK: number; + + /** Constant for fs.open(). When set, an attempt will be made to minimize caching effects of file I/O. */ + const O_DIRECT: number; + + /** Constant for fs.open(). Flag indicating to open the file in nonblocking mode when possible. */ + const O_NONBLOCK: number; + + // File Type Constants + + /** Constant for fs.Stats mode property for determining a file's type. Bit mask used to extract the file type code. */ + const S_IFMT: number; + + /** Constant for fs.Stats mode property for determining a file's type. File type constant for a regular file. */ + const S_IFREG: number; + + /** Constant for fs.Stats mode property for determining a file's type. File type constant for a directory. */ + const S_IFDIR: number; + + /** Constant for fs.Stats mode property for determining a file's type. File type constant for a character-oriented device file. */ + const S_IFCHR: number; + + /** Constant for fs.Stats mode property for determining a file's type. File type constant for a block-oriented device file. */ + const S_IFBLK: number; + + /** Constant for fs.Stats mode property for determining a file's type. File type constant for a FIFO/pipe. */ + const S_IFIFO: number; + + /** Constant for fs.Stats mode property for determining a file's type. File type constant for a symbolic link. */ + const S_IFLNK: number; + + /** Constant for fs.Stats mode property for determining a file's type. File type constant for a socket. */ + const S_IFSOCK: number; + + // File Mode Constants + + /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating readable, writable and executable by owner. */ + const S_IRWXU: number; + + /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating readable by owner. */ + const S_IRUSR: number; + + /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating writable by owner. */ + const S_IWUSR: number; + + /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating executable by owner. */ + const S_IXUSR: number; + + /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating readable, writable and executable by group. */ + const S_IRWXG: number; + + /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating readable by group. */ + const S_IRGRP: number; + + /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating writable by group. */ + const S_IWGRP: number; + + /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating executable by group. */ + const S_IXGRP: number; + + /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating readable, writable and executable by others. */ + const S_IRWXO: number; + + /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating readable by others. */ + const S_IROTH: number; + + /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating writable by others. */ + const S_IWOTH: number; + + /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating executable by others. */ + const S_IXOTH: number; + + /** + * When set, a memory file mapping is used to access the file. This flag + * is available on Windows operating systems only. On other operating systems, + * this flag is ignored. + */ + const UV_FS_O_FILEMAP: number; + } + + /** + * Asynchronously tests a user's permissions for the file specified by path. + * @param path A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + export function access(path: PathLike, mode: number | undefined, callback: NoParamCallback): void; + + /** + * Asynchronously tests a user's permissions for the file specified by path. + * @param path A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + export function access(path: PathLike, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + export namespace access { + /** + * Asynchronously tests a user's permissions for the file specified by path. + * @param path A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function __promisify__(path: PathLike, mode?: number): Promise; + } + + /** + * Synchronously tests a user's permissions for the file specified by path. + * @param path A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + export function accessSync(path: PathLike, mode?: number): void; + + /** + * Returns a new `ReadStream` object. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + export function createReadStream(path: PathLike, options?: string | { + flags?: string; + encoding?: BufferEncoding; + fd?: number; + mode?: number; + autoClose?: boolean; + /** + * @default false + */ + emitClose?: boolean; + start?: number; + end?: number; + highWaterMark?: number; + }): ReadStream; + + /** + * Returns a new `WriteStream` object. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + export function createWriteStream(path: PathLike, options?: string | { + flags?: string; + encoding?: BufferEncoding; + fd?: number; + mode?: number; + autoClose?: boolean; + emitClose?: boolean; + start?: number; + highWaterMark?: number; + }): WriteStream; + + /** + * Asynchronous fdatasync(2) - synchronize a file's in-core state with storage device. + * @param fd A file descriptor. + */ + export function fdatasync(fd: number, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + export namespace fdatasync { + /** + * Asynchronous fdatasync(2) - synchronize a file's in-core state with storage device. + * @param fd A file descriptor. + */ + function __promisify__(fd: number): Promise; + } + + /** + * Synchronous fdatasync(2) - synchronize a file's in-core state with storage device. + * @param fd A file descriptor. + */ + export function fdatasyncSync(fd: number): void; + + /** + * Asynchronously copies src to dest. By default, dest is overwritten if it already exists. + * No arguments other than a possible exception are given to the callback function. + * Node.js makes no guarantees about the atomicity of the copy operation. + * If an error occurs after the destination file has been opened for writing, Node.js will attempt + * to remove the destination. + * @param src A path to the source file. + * @param dest A path to the destination file. + */ + export function copyFile(src: PathLike, dest: PathLike, callback: NoParamCallback): void; + /** + * Asynchronously copies src to dest. By default, dest is overwritten if it already exists. + * No arguments other than a possible exception are given to the callback function. + * Node.js makes no guarantees about the atomicity of the copy operation. + * If an error occurs after the destination file has been opened for writing, Node.js will attempt + * to remove the destination. + * @param src A path to the source file. + * @param dest A path to the destination file. + * @param flags An integer that specifies the behavior of the copy operation. The only supported flag is fs.constants.COPYFILE_EXCL, which causes the copy operation to fail if dest already exists. + */ + export function copyFile(src: PathLike, dest: PathLike, flags: number, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + export namespace copyFile { + /** + * Asynchronously copies src to dest. By default, dest is overwritten if it already exists. + * No arguments other than a possible exception are given to the callback function. + * Node.js makes no guarantees about the atomicity of the copy operation. + * If an error occurs after the destination file has been opened for writing, Node.js will attempt + * to remove the destination. + * @param src A path to the source file. + * @param dest A path to the destination file. + * @param flags An optional integer that specifies the behavior of the copy operation. + * The only supported flag is fs.constants.COPYFILE_EXCL, + * which causes the copy operation to fail if dest already exists. + */ + function __promisify__(src: PathLike, dst: PathLike, flags?: number): Promise; + } + + /** + * Synchronously copies src to dest. By default, dest is overwritten if it already exists. + * Node.js makes no guarantees about the atomicity of the copy operation. + * If an error occurs after the destination file has been opened for writing, Node.js will attempt + * to remove the destination. + * @param src A path to the source file. + * @param dest A path to the destination file. + * @param flags An optional integer that specifies the behavior of the copy operation. + * The only supported flag is fs.constants.COPYFILE_EXCL, which causes the copy operation to fail if dest already exists. + */ + export function copyFileSync(src: PathLike, dest: PathLike, flags?: number): void; + + /** + * Write an array of ArrayBufferViews to the file specified by fd using writev(). + * position is the offset from the beginning of the file where this data should be written. + * It is unsafe to use fs.writev() multiple times on the same file without waiting for the callback. For this scenario, use fs.createWriteStream(). + * On Linux, positional writes don't work when the file is opened in append mode. + * The kernel ignores the position argument and always appends the data to the end of the file. + */ + export function writev( + fd: number, + buffers: ReadonlyArray, + cb: (err: NodeJS.ErrnoException | null, bytesWritten: number, buffers: NodeJS.ArrayBufferView[]) => void + ): void; + export function writev( + fd: number, + buffers: ReadonlyArray, + position: number, + cb: (err: NodeJS.ErrnoException | null, bytesWritten: number, buffers: NodeJS.ArrayBufferView[]) => void + ): void; + + export interface WriteVResult { + bytesWritten: number; + buffers: NodeJS.ArrayBufferView[]; + } + + export namespace writev { + function __promisify__(fd: number, buffers: ReadonlyArray, position?: number): Promise; + } + + /** + * See `writev`. + */ + export function writevSync(fd: number, buffers: ReadonlyArray, position?: number): number; + + export function readv( + fd: number, + buffers: ReadonlyArray, + cb: (err: NodeJS.ErrnoException | null, bytesRead: number, buffers: NodeJS.ArrayBufferView[]) => void + ): void; + export function readv( + fd: number, + buffers: ReadonlyArray, + position: number, + cb: (err: NodeJS.ErrnoException | null, bytesRead: number, buffers: NodeJS.ArrayBufferView[]) => void + ): void; + + export interface ReadVResult { + bytesRead: number; + buffers: NodeJS.ArrayBufferView[]; + } + + export namespace readv { + function __promisify__(fd: number, buffers: ReadonlyArray, position?: number): Promise; + } + + /** + * See `readv`. + */ + export function readvSync(fd: number, buffers: ReadonlyArray, position?: number): number; + + export interface OpenDirOptions { + encoding?: BufferEncoding; + /** + * Number of directory entries that are buffered + * internally when reading from the directory. Higher values lead to better + * performance but higher memory usage. + * @default 32 + */ + bufferSize?: number; + } + + export function opendirSync(path: string, options?: OpenDirOptions): Dir; + + export function opendir(path: string, cb: (err: NodeJS.ErrnoException | null, dir: Dir) => void): void; + export function opendir(path: string, options: OpenDirOptions, cb: (err: NodeJS.ErrnoException | null, dir: Dir) => void): void; + + export namespace opendir { + function __promisify__(path: string, options?: OpenDirOptions): Promise

; + } + + export interface BigIntStats extends StatsBase { + } + + export class BigIntStats { + atimeNs: bigint; + mtimeNs: bigint; + ctimeNs: bigint; + birthtimeNs: bigint; + } + + export interface BigIntOptions { + bigint: true; + } + + export interface StatOptions { + bigint: boolean; + } +} diff --git a/node_modules/@types/node/fs/promises.d.ts b/node_modules/@types/node/fs/promises.d.ts new file mode 100644 index 0000000..1753c86 --- /dev/null +++ b/node_modules/@types/node/fs/promises.d.ts @@ -0,0 +1,555 @@ +declare module 'fs/promises' { + import { + Stats, + WriteVResult, + ReadVResult, + PathLike, + RmDirOptions, + RmOptions, + MakeDirectoryOptions, + Dirent, + OpenDirOptions, + Dir, + BaseEncodingOptions, + BufferEncodingOption, + OpenMode, + Mode, + } from 'fs'; + + interface FileHandle { + /** + * Gets the file descriptor for this file handle. + */ + readonly fd: number; + + /** + * Asynchronously append data to a file, creating the file if it does not exist. The underlying file will _not_ be closed automatically. + * The `FileHandle` must have been opened for appending. + * @param data The data to write. If something other than a `Buffer` or `Uint8Array` is provided, the value is coerced to a string. + * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. + * If `encoding` is not supplied, the default of `'utf8'` is used. + * If `mode` is not supplied, the default of `0o666` is used. + * If `mode` is a string, it is parsed as an octal integer. + * If `flag` is not supplied, the default of `'a'` is used. + */ + appendFile(data: string | Uint8Array, options?: BaseEncodingOptions & { mode?: Mode, flag?: OpenMode } | BufferEncoding | null): Promise; + + /** + * Asynchronous fchown(2) - Change ownership of a file. + */ + chown(uid: number, gid: number): Promise; + + /** + * Asynchronous fchmod(2) - Change permissions of a file. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. + */ + chmod(mode: Mode): Promise; + + /** + * Asynchronous fdatasync(2) - synchronize a file's in-core state with storage device. + */ + datasync(): Promise; + + /** + * Asynchronous fsync(2) - synchronize a file's in-core state with the underlying storage device. + */ + sync(): Promise; + + /** + * Asynchronously reads data from the file. + * The `FileHandle` must have been opened for reading. + * @param buffer The buffer that the data will be written to. + * @param offset The offset in the buffer at which to start writing. + * @param length The number of bytes to read. + * @param position The offset from the beginning of the file from which data should be read. If `null`, data will be read from the current position. + */ + read(buffer: TBuffer, offset?: number | null, length?: number | null, position?: number | null): Promise<{ bytesRead: number, buffer: TBuffer }>; + + /** + * Asynchronously reads the entire contents of a file. The underlying file will _not_ be closed automatically. + * The `FileHandle` must have been opened for reading. + * @param options An object that may contain an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + readFile(options?: { encoding?: null, flag?: OpenMode } | null): Promise; + + /** + * Asynchronously reads the entire contents of a file. The underlying file will _not_ be closed automatically. + * The `FileHandle` must have been opened for reading. + * @param options An object that may contain an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + readFile(options: { encoding: BufferEncoding, flag?: OpenMode } | BufferEncoding): Promise; + + /** + * Asynchronously reads the entire contents of a file. The underlying file will _not_ be closed automatically. + * The `FileHandle` must have been opened for reading. + * @param options An object that may contain an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + readFile(options?: BaseEncodingOptions & { flag?: OpenMode } | BufferEncoding | null): Promise; + + /** + * Asynchronous fstat(2) - Get file status. + */ + stat(): Promise; + + /** + * Asynchronous ftruncate(2) - Truncate a file to a specified length. + * @param len If not specified, defaults to `0`. + */ + truncate(len?: number): Promise; + + /** + * Asynchronously change file timestamps of the file. + * @param atime The last access time. If a string is provided, it will be coerced to number. + * @param mtime The last modified time. If a string is provided, it will be coerced to number. + */ + utimes(atime: string | number | Date, mtime: string | number | Date): Promise; + + /** + * Asynchronously writes `buffer` to the file. + * The `FileHandle` must have been opened for writing. + * @param buffer The buffer that the data will be written to. + * @param offset The part of the buffer to be written. If not supplied, defaults to `0`. + * @param length The number of bytes to write. If not supplied, defaults to `buffer.length - offset`. + * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. + */ + write(buffer: TBuffer, offset?: number | null, length?: number | null, position?: number | null): Promise<{ bytesWritten: number, buffer: TBuffer }>; + + /** + * Asynchronously writes `string` to the file. + * The `FileHandle` must have been opened for writing. + * It is unsafe to call `write()` multiple times on the same file without waiting for the `Promise` + * to be resolved (or rejected). For this scenario, `fs.createWriteStream` is strongly recommended. + * @param string A string to write. + * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. + * @param encoding The expected string encoding. + */ + write(data: string | Uint8Array, position?: number | null, encoding?: BufferEncoding | null): Promise<{ bytesWritten: number, buffer: string }>; + + /** + * Asynchronously writes data to a file, replacing the file if it already exists. The underlying file will _not_ be closed automatically. + * The `FileHandle` must have been opened for writing. + * It is unsafe to call `writeFile()` multiple times on the same file without waiting for the `Promise` to be resolved (or rejected). + * @param data The data to write. If something other than a `Buffer` or `Uint8Array` is provided, the value is coerced to a string. + * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. + * If `encoding` is not supplied, the default of `'utf8'` is used. + * If `mode` is not supplied, the default of `0o666` is used. + * If `mode` is a string, it is parsed as an octal integer. + * If `flag` is not supplied, the default of `'w'` is used. + */ + writeFile(data: string | Uint8Array, options?: BaseEncodingOptions & { mode?: Mode, flag?: OpenMode } | BufferEncoding | null): Promise; + + /** + * See `fs.writev` promisified version. + */ + writev(buffers: ReadonlyArray, position?: number): Promise; + + /** + * See `fs.readv` promisified version. + */ + readv(buffers: ReadonlyArray, position?: number): Promise; + + /** + * Asynchronous close(2) - close a `FileHandle`. + */ + close(): Promise; + } + + /** + * Asynchronously tests a user's permissions for the file specified by path. + * @param path A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function access(path: PathLike, mode?: number): Promise; + + /** + * Asynchronously copies `src` to `dest`. By default, `dest` is overwritten if it already exists. + * Node.js makes no guarantees about the atomicity of the copy operation. + * If an error occurs after the destination file has been opened for writing, Node.js will attempt + * to remove the destination. + * @param src A path to the source file. + * @param dest A path to the destination file. + * @param flags An optional integer that specifies the behavior of the copy operation. The only + * supported flag is `fs.constants.COPYFILE_EXCL`, which causes the copy operation to fail if + * `dest` already exists. + */ + function copyFile(src: PathLike, dest: PathLike, flags?: number): Promise; + + /** + * Asynchronous open(2) - open and possibly create a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. If not + * supplied, defaults to `0o666`. + */ + function open(path: PathLike, flags: string | number, mode?: Mode): Promise; + + /** + * Asynchronously reads data from the file referenced by the supplied `FileHandle`. + * @param handle A `FileHandle`. + * @param buffer The buffer that the data will be written to. + * @param offset The offset in the buffer at which to start writing. + * @param length The number of bytes to read. + * @param position The offset from the beginning of the file from which data should be read. If + * `null`, data will be read from the current position. + */ + function read( + handle: FileHandle, + buffer: TBuffer, + offset?: number | null, + length?: number | null, + position?: number | null, + ): Promise<{ bytesRead: number, buffer: TBuffer }>; + + /** + * Asynchronously writes `buffer` to the file referenced by the supplied `FileHandle`. + * It is unsafe to call `fsPromises.write()` multiple times on the same file without waiting for the `Promise` + * to be resolved (or rejected). For this scenario, `fs.createWriteStream` is strongly recommended. + * @param handle A `FileHandle`. + * @param buffer The buffer that the data will be written to. + * @param offset The part of the buffer to be written. If not supplied, defaults to `0`. + * @param length The number of bytes to write. If not supplied, defaults to `buffer.length - offset`. + * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. + */ + function write( + handle: FileHandle, + buffer: TBuffer, + offset?: number | null, + length?: number | null, position?: number | null): Promise<{ bytesWritten: number, buffer: TBuffer }>; + + /** + * Asynchronously writes `string` to the file referenced by the supplied `FileHandle`. + * It is unsafe to call `fsPromises.write()` multiple times on the same file without waiting for the `Promise` + * to be resolved (or rejected). For this scenario, `fs.createWriteStream` is strongly recommended. + * @param handle A `FileHandle`. + * @param string A string to write. + * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. + * @param encoding The expected string encoding. + */ + function write(handle: FileHandle, string: string, position?: number | null, encoding?: BufferEncoding | null): Promise<{ bytesWritten: number, buffer: string }>; + + /** + * Asynchronous rename(2) - Change the name or location of a file or directory. + * @param oldPath A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * @param newPath A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function rename(oldPath: PathLike, newPath: PathLike): Promise; + + /** + * Asynchronous truncate(2) - Truncate a file to a specified length. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param len If not specified, defaults to `0`. + */ + function truncate(path: PathLike, len?: number): Promise; + + /** + * Asynchronous ftruncate(2) - Truncate a file to a specified length. + * @param handle A `FileHandle`. + * @param len If not specified, defaults to `0`. + */ + function ftruncate(handle: FileHandle, len?: number): Promise; + + /** + * Asynchronous rmdir(2) - delete a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function rmdir(path: PathLike, options?: RmDirOptions): Promise; + + /** + * Asynchronously removes files and directories (modeled on the standard POSIX `rm` utility). + */ + function rm(path: PathLike, options?: RmOptions): Promise; + + /** + * Asynchronous fdatasync(2) - synchronize a file's in-core state with storage device. + * @param handle A `FileHandle`. + */ + function fdatasync(handle: FileHandle): Promise; + + /** + * Asynchronous fsync(2) - synchronize a file's in-core state with the underlying storage device. + * @param handle A `FileHandle`. + */ + function fsync(handle: FileHandle): Promise; + + /** + * Asynchronous mkdir(2) - create a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options Either the file mode, or an object optionally specifying the file mode and whether parent folders + * should be created. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`. + */ + function mkdir(path: PathLike, options: MakeDirectoryOptions & { recursive: true; }): Promise; + + /** + * Asynchronous mkdir(2) - create a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options Either the file mode, or an object optionally specifying the file mode and whether parent folders + * should be created. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`. + */ + function mkdir(path: PathLike, options?: Mode | (MakeDirectoryOptions & { recursive?: false; }) | null): Promise; + + /** + * Asynchronous mkdir(2) - create a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options Either the file mode, or an object optionally specifying the file mode and whether parent folders + * should be created. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`. + */ + function mkdir(path: PathLike, options?: Mode | MakeDirectoryOptions | null): Promise; + + /** + * Asynchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readdir(path: PathLike, options?: BaseEncodingOptions & { withFileTypes?: false } | BufferEncoding | null): Promise; + + /** + * Asynchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readdir(path: PathLike, options: { encoding: "buffer"; withFileTypes?: false } | "buffer"): Promise; + + /** + * Asynchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readdir(path: PathLike, options?: BaseEncodingOptions & { withFileTypes?: false } | BufferEncoding | null): Promise; + + /** + * Asynchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options If called with `withFileTypes: true` the result data will be an array of Dirent. + */ + function readdir(path: PathLike, options: BaseEncodingOptions & { withFileTypes: true }): Promise; + + /** + * Asynchronous readlink(2) - read value of a symbolic link. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readlink(path: PathLike, options?: BaseEncodingOptions | BufferEncoding | null): Promise; + + /** + * Asynchronous readlink(2) - read value of a symbolic link. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readlink(path: PathLike, options: BufferEncodingOption): Promise; + + /** + * Asynchronous readlink(2) - read value of a symbolic link. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readlink(path: PathLike, options?: BaseEncodingOptions | string | null): Promise; + + /** + * Asynchronous symlink(2) - Create a new symbolic link to an existing file. + * @param target A path to an existing file. If a URL is provided, it must use the `file:` protocol. + * @param path A path to the new symlink. If a URL is provided, it must use the `file:` protocol. + * @param type May be set to `'dir'`, `'file'`, or `'junction'` (default is `'file'`) and is only available on Windows (ignored on other platforms). + * When using `'junction'`, the `target` argument will automatically be normalized to an absolute path. + */ + function symlink(target: PathLike, path: PathLike, type?: string | null): Promise; + + /** + * Asynchronous fstat(2) - Get file status. + * @param handle A `FileHandle`. + */ + function fstat(handle: FileHandle): Promise; + + /** + * Asynchronous lstat(2) - Get file status. Does not dereference symbolic links. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function lstat(path: PathLike): Promise; + + /** + * Asynchronous stat(2) - Get file status. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function stat(path: PathLike): Promise; + + /** + * Asynchronous link(2) - Create a new link (also known as a hard link) to an existing file. + * @param existingPath A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param newPath A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function link(existingPath: PathLike, newPath: PathLike): Promise; + + /** + * Asynchronous unlink(2) - delete a name and possibly the file it refers to. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function unlink(path: PathLike): Promise; + + /** + * Asynchronous fchmod(2) - Change permissions of a file. + * @param handle A `FileHandle`. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. + */ + function fchmod(handle: FileHandle, mode: Mode): Promise; + + /** + * Asynchronous chmod(2) - Change permissions of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. + */ + function chmod(path: PathLike, mode: Mode): Promise; + + /** + * Asynchronous lchmod(2) - Change permissions of a file. Does not dereference symbolic links. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. + */ + function lchmod(path: PathLike, mode: Mode): Promise; + + /** + * Asynchronous lchown(2) - Change ownership of a file. Does not dereference symbolic links. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function lchown(path: PathLike, uid: number, gid: number): Promise; + + /** + * Changes the access and modification times of a file in the same way as `fsPromises.utimes()`, + * with the difference that if the path refers to a symbolic link, then the link is not + * dereferenced: instead, the timestamps of the symbolic link itself are changed. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param atime The last access time. If a string is provided, it will be coerced to number. + * @param mtime The last modified time. If a string is provided, it will be coerced to number. + */ + function lutimes(path: PathLike, atime: string | number | Date, mtime: string | number | Date): Promise; + + /** + * Asynchronous fchown(2) - Change ownership of a file. + * @param handle A `FileHandle`. + */ + function fchown(handle: FileHandle, uid: number, gid: number): Promise; + + /** + * Asynchronous chown(2) - Change ownership of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function chown(path: PathLike, uid: number, gid: number): Promise; + + /** + * Asynchronously change file timestamps of the file referenced by the supplied path. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param atime The last access time. If a string is provided, it will be coerced to number. + * @param mtime The last modified time. If a string is provided, it will be coerced to number. + */ + function utimes(path: PathLike, atime: string | number | Date, mtime: string | number | Date): Promise; + + /** + * Asynchronously change file timestamps of the file referenced by the supplied `FileHandle`. + * @param handle A `FileHandle`. + * @param atime The last access time. If a string is provided, it will be coerced to number. + * @param mtime The last modified time. If a string is provided, it will be coerced to number. + */ + function futimes(handle: FileHandle, atime: string | number | Date, mtime: string | number | Date): Promise; + + /** + * Asynchronous realpath(3) - return the canonicalized absolute pathname. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function realpath(path: PathLike, options?: BaseEncodingOptions | BufferEncoding | null): Promise; + + /** + * Asynchronous realpath(3) - return the canonicalized absolute pathname. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function realpath(path: PathLike, options: BufferEncodingOption): Promise; + + /** + * Asynchronous realpath(3) - return the canonicalized absolute pathname. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function realpath(path: PathLike, options?: BaseEncodingOptions | BufferEncoding | null): Promise; + + /** + * Asynchronously creates a unique temporary directory. + * Generates six random characters to be appended behind a required `prefix` to create a unique temporary directory. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function mkdtemp(prefix: string, options?: BaseEncodingOptions | BufferEncoding | null): Promise; + + /** + * Asynchronously creates a unique temporary directory. + * Generates six random characters to be appended behind a required `prefix` to create a unique temporary directory. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function mkdtemp(prefix: string, options: BufferEncodingOption): Promise; + + /** + * Asynchronously creates a unique temporary directory. + * Generates six random characters to be appended behind a required `prefix` to create a unique temporary directory. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function mkdtemp(prefix: string, options?: BaseEncodingOptions | BufferEncoding | null): Promise; + + /** + * Asynchronously writes data to a file, replacing the file if it already exists. + * It is unsafe to call `fsPromises.writeFile()` multiple times on the same file without waiting for the `Promise` to be resolved (or rejected). + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a `FileHandle` is provided, the underlying file will _not_ be closed automatically. + * @param data The data to write. If something other than a `Buffer` or `Uint8Array` is provided, the value is coerced to a string. + * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. + * If `encoding` is not supplied, the default of `'utf8'` is used. + * If `mode` is not supplied, the default of `0o666` is used. + * If `mode` is a string, it is parsed as an octal integer. + * If `flag` is not supplied, the default of `'w'` is used. + */ + function writeFile(path: PathLike | FileHandle, data: string | Uint8Array, options?: BaseEncodingOptions & { mode?: Mode, flag?: OpenMode } | BufferEncoding | null): Promise; + + /** + * Asynchronously append data to a file, creating the file if it does not exist. + * @param file A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a `FileHandle` is provided, the underlying file will _not_ be closed automatically. + * @param data The data to write. If something other than a `Buffer` or `Uint8Array` is provided, the value is coerced to a string. + * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. + * If `encoding` is not supplied, the default of `'utf8'` is used. + * If `mode` is not supplied, the default of `0o666` is used. + * If `mode` is a string, it is parsed as an octal integer. + * If `flag` is not supplied, the default of `'a'` is used. + */ + function appendFile(path: PathLike | FileHandle, data: string | Uint8Array, options?: BaseEncodingOptions & { mode?: Mode, flag?: OpenMode } | BufferEncoding | null): Promise; + + /** + * Asynchronously reads the entire contents of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * If a `FileHandle` is provided, the underlying file will _not_ be closed automatically. + * @param options An object that may contain an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + function readFile(path: PathLike | FileHandle, options?: { encoding?: null, flag?: OpenMode } | null): Promise; + + /** + * Asynchronously reads the entire contents of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * If a `FileHandle` is provided, the underlying file will _not_ be closed automatically. + * @param options An object that may contain an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + function readFile(path: PathLike | FileHandle, options: { encoding: BufferEncoding, flag?: OpenMode } | BufferEncoding): Promise; + + /** + * Asynchronously reads the entire contents of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * If a `FileHandle` is provided, the underlying file will _not_ be closed automatically. + * @param options An object that may contain an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + function readFile(path: PathLike | FileHandle, options?: BaseEncodingOptions & { flag?: OpenMode } | BufferEncoding | null): Promise; + + function opendir(path: string, options?: OpenDirOptions): Promise; +} diff --git a/node_modules/@types/node/globals.d.ts b/node_modules/@types/node/globals.d.ts new file mode 100644 index 0000000..844f22e --- /dev/null +++ b/node_modules/@types/node/globals.d.ts @@ -0,0 +1,614 @@ +// Declare "static" methods in Error +interface ErrorConstructor { + /** Create .stack property on a target object */ + captureStackTrace(targetObject: object, constructorOpt?: Function): void; + + /** + * Optional override for formatting stack traces + * + * @see https://github.com/v8/v8/wiki/Stack%20Trace%20API#customizing-stack-traces + */ + prepareStackTrace?: (err: Error, stackTraces: NodeJS.CallSite[]) => any; + + stackTraceLimit: number; +} + +// Node.js ESNEXT support +interface String { + /** Removes whitespace from the left end of a string. */ + trimLeft(): string; + /** Removes whitespace from the right end of a string. */ + trimRight(): string; + + /** Returns a copy with leading whitespace removed. */ + trimStart(): string; + /** Returns a copy with trailing whitespace removed. */ + trimEnd(): string; +} + +interface ImportMeta { + url: string; +} + +/*-----------------------------------------------* + * * + * GLOBAL * + * * + ------------------------------------------------*/ + +// For backwards compability +interface NodeRequire extends NodeJS.Require {} +interface RequireResolve extends NodeJS.RequireResolve {} +interface NodeModule extends NodeJS.Module {} + +declare var process: NodeJS.Process; +declare var console: Console; + +declare var __filename: string; +declare var __dirname: string; + +declare function setTimeout(callback: (...args: any[]) => void, ms: number, ...args: any[]): NodeJS.Timeout; +declare namespace setTimeout { + function __promisify__(ms: number): Promise; + function __promisify__(ms: number, value: T): Promise; +} +declare function clearTimeout(timeoutId: NodeJS.Timeout): void; +declare function setInterval(callback: (...args: any[]) => void, ms: number, ...args: any[]): NodeJS.Timeout; +declare function clearInterval(intervalId: NodeJS.Timeout): void; +declare function setImmediate(callback: (...args: any[]) => void, ...args: any[]): NodeJS.Immediate; +declare namespace setImmediate { + function __promisify__(): Promise; + function __promisify__(value: T): Promise; +} +declare function clearImmediate(immediateId: NodeJS.Immediate): void; + +declare function queueMicrotask(callback: () => void): void; + +declare var require: NodeRequire; +declare var module: NodeModule; + +// Same as module.exports +declare var exports: any; + +// Buffer class +type BufferEncoding = "ascii" | "utf8" | "utf-8" | "utf16le" | "ucs2" | "ucs-2" | "base64" | "latin1" | "binary" | "hex"; + +type WithImplicitCoercion = T | { valueOf(): T }; + +/** + * Raw data is stored in instances of the Buffer class. + * A Buffer is similar to an array of integers but corresponds to a raw memory allocation outside the V8 heap. A Buffer cannot be resized. + * Valid string encodings: 'ascii'|'utf8'|'utf16le'|'ucs2'(alias of 'utf16le')|'base64'|'binary'(deprecated)|'hex' + */ +declare class Buffer extends Uint8Array { + /** + * Allocates a new buffer containing the given {str}. + * + * @param str String to store in buffer. + * @param encoding encoding to use, optional. Default is 'utf8' + * @deprecated since v10.0.0 - Use `Buffer.from(string[, encoding])` instead. + */ + constructor(str: string, encoding?: BufferEncoding); + /** + * Allocates a new buffer of {size} octets. + * + * @param size count of octets to allocate. + * @deprecated since v10.0.0 - Use `Buffer.alloc()` instead (also see `Buffer.allocUnsafe()`). + */ + constructor(size: number); + /** + * Allocates a new buffer containing the given {array} of octets. + * + * @param array The octets to store. + * @deprecated since v10.0.0 - Use `Buffer.from(array)` instead. + */ + constructor(array: Uint8Array); + /** + * Produces a Buffer backed by the same allocated memory as + * the given {ArrayBuffer}/{SharedArrayBuffer}. + * + * + * @param arrayBuffer The ArrayBuffer with which to share memory. + * @deprecated since v10.0.0 - Use `Buffer.from(arrayBuffer[, byteOffset[, length]])` instead. + */ + constructor(arrayBuffer: ArrayBuffer | SharedArrayBuffer); + /** + * Allocates a new buffer containing the given {array} of octets. + * + * @param array The octets to store. + * @deprecated since v10.0.0 - Use `Buffer.from(array)` instead. + */ + constructor(array: ReadonlyArray); + /** + * Copies the passed {buffer} data onto a new {Buffer} instance. + * + * @param buffer The buffer to copy. + * @deprecated since v10.0.0 - Use `Buffer.from(buffer)` instead. + */ + constructor(buffer: Buffer); + /** + * When passed a reference to the .buffer property of a TypedArray instance, + * the newly created Buffer will share the same allocated memory as the TypedArray. + * The optional {byteOffset} and {length} arguments specify a memory range + * within the {arrayBuffer} that will be shared by the Buffer. + * + * @param arrayBuffer The .buffer property of any TypedArray or a new ArrayBuffer() + */ + static from(arrayBuffer: WithImplicitCoercion, byteOffset?: number, length?: number): Buffer; + /** + * Creates a new Buffer using the passed {data} + * @param data data to create a new Buffer + */ + static from(data: Uint8Array | ReadonlyArray): Buffer; + static from(data: WithImplicitCoercion | string>): Buffer; + /** + * Creates a new Buffer containing the given JavaScript string {str}. + * If provided, the {encoding} parameter identifies the character encoding. + * If not provided, {encoding} defaults to 'utf8'. + */ + static from(str: WithImplicitCoercion | { [Symbol.toPrimitive](hint: 'string'): string }, encoding?: BufferEncoding): Buffer; + /** + * Creates a new Buffer using the passed {data} + * @param values to create a new Buffer + */ + static of(...items: number[]): Buffer; + /** + * Returns true if {obj} is a Buffer + * + * @param obj object to test. + */ + static isBuffer(obj: any): obj is Buffer; + /** + * Returns true if {encoding} is a valid encoding argument. + * Valid string encodings in Node 0.12: 'ascii'|'utf8'|'utf16le'|'ucs2'(alias of 'utf16le')|'base64'|'binary'(deprecated)|'hex' + * + * @param encoding string to test. + */ + static isEncoding(encoding: string): encoding is BufferEncoding; + /** + * Gives the actual byte length of a string. encoding defaults to 'utf8'. + * This is not the same as String.prototype.length since that returns the number of characters in a string. + * + * @param string string to test. + * @param encoding encoding used to evaluate (defaults to 'utf8') + */ + static byteLength( + string: string | NodeJS.ArrayBufferView | ArrayBuffer | SharedArrayBuffer, + encoding?: BufferEncoding + ): number; + /** + * Returns a buffer which is the result of concatenating all the buffers in the list together. + * + * If the list has no items, or if the totalLength is 0, then it returns a zero-length buffer. + * If the list has exactly one item, then the first item of the list is returned. + * If the list has more than one item, then a new Buffer is created. + * + * @param list An array of Buffer objects to concatenate + * @param totalLength Total length of the buffers when concatenated. + * If totalLength is not provided, it is read from the buffers in the list. However, this adds an additional loop to the function, so it is faster to provide the length explicitly. + */ + static concat(list: ReadonlyArray, totalLength?: number): Buffer; + /** + * The same as buf1.compare(buf2). + */ + static compare(buf1: Uint8Array, buf2: Uint8Array): number; + /** + * Allocates a new buffer of {size} octets. + * + * @param size count of octets to allocate. + * @param fill if specified, buffer will be initialized by calling buf.fill(fill). + * If parameter is omitted, buffer will be filled with zeros. + * @param encoding encoding used for call to buf.fill while initalizing + */ + static alloc(size: number, fill?: string | Buffer | number, encoding?: BufferEncoding): Buffer; + /** + * Allocates a new buffer of {size} octets, leaving memory not initialized, so the contents + * of the newly created Buffer are unknown and may contain sensitive data. + * + * @param size count of octets to allocate + */ + static allocUnsafe(size: number): Buffer; + /** + * Allocates a new non-pooled buffer of {size} octets, leaving memory not initialized, so the contents + * of the newly created Buffer are unknown and may contain sensitive data. + * + * @param size count of octets to allocate + */ + static allocUnsafeSlow(size: number): Buffer; + /** + * This is the number of bytes used to determine the size of pre-allocated, internal Buffer instances used for pooling. This value may be modified. + */ + static poolSize: number; + + write(string: string, encoding?: BufferEncoding): number; + write(string: string, offset: number, encoding?: BufferEncoding): number; + write(string: string, offset: number, length: number, encoding?: BufferEncoding): number; + toString(encoding?: BufferEncoding, start?: number, end?: number): string; + toJSON(): { type: 'Buffer'; data: number[] }; + equals(otherBuffer: Uint8Array): boolean; + compare( + otherBuffer: Uint8Array, + targetStart?: number, + targetEnd?: number, + sourceStart?: number, + sourceEnd?: number + ): number; + copy(targetBuffer: Uint8Array, targetStart?: number, sourceStart?: number, sourceEnd?: number): number; + /** + * Returns a new `Buffer` that references **the same memory as the original**, but offset and cropped by the start and end indices. + * + * This method is incompatible with `Uint8Array#slice()`, which returns a copy of the original memory. + * + * @param begin Where the new `Buffer` will start. Default: `0`. + * @param end Where the new `Buffer` will end (not inclusive). Default: `buf.length`. + */ + slice(begin?: number, end?: number): Buffer; + /** + * Returns a new `Buffer` that references **the same memory as the original**, but offset and cropped by the start and end indices. + * + * This method is compatible with `Uint8Array#subarray()`. + * + * @param begin Where the new `Buffer` will start. Default: `0`. + * @param end Where the new `Buffer` will end (not inclusive). Default: `buf.length`. + */ + subarray(begin?: number, end?: number): Buffer; + writeBigInt64BE(value: bigint, offset?: number): number; + writeBigInt64LE(value: bigint, offset?: number): number; + writeBigUInt64BE(value: bigint, offset?: number): number; + writeBigUInt64LE(value: bigint, offset?: number): number; + writeUIntLE(value: number, offset: number, byteLength: number): number; + writeUIntBE(value: number, offset: number, byteLength: number): number; + writeIntLE(value: number, offset: number, byteLength: number): number; + writeIntBE(value: number, offset: number, byteLength: number): number; + readBigUInt64BE(offset?: number): bigint; + readBigUInt64LE(offset?: number): bigint; + readBigInt64BE(offset?: number): bigint; + readBigInt64LE(offset?: number): bigint; + readUIntLE(offset: number, byteLength: number): number; + readUIntBE(offset: number, byteLength: number): number; + readIntLE(offset: number, byteLength: number): number; + readIntBE(offset: number, byteLength: number): number; + readUInt8(offset?: number): number; + readUInt16LE(offset?: number): number; + readUInt16BE(offset?: number): number; + readUInt32LE(offset?: number): number; + readUInt32BE(offset?: number): number; + readInt8(offset?: number): number; + readInt16LE(offset?: number): number; + readInt16BE(offset?: number): number; + readInt32LE(offset?: number): number; + readInt32BE(offset?: number): number; + readFloatLE(offset?: number): number; + readFloatBE(offset?: number): number; + readDoubleLE(offset?: number): number; + readDoubleBE(offset?: number): number; + reverse(): this; + swap16(): Buffer; + swap32(): Buffer; + swap64(): Buffer; + writeUInt8(value: number, offset?: number): number; + writeUInt16LE(value: number, offset?: number): number; + writeUInt16BE(value: number, offset?: number): number; + writeUInt32LE(value: number, offset?: number): number; + writeUInt32BE(value: number, offset?: number): number; + writeInt8(value: number, offset?: number): number; + writeInt16LE(value: number, offset?: number): number; + writeInt16BE(value: number, offset?: number): number; + writeInt32LE(value: number, offset?: number): number; + writeInt32BE(value: number, offset?: number): number; + writeFloatLE(value: number, offset?: number): number; + writeFloatBE(value: number, offset?: number): number; + writeDoubleLE(value: number, offset?: number): number; + writeDoubleBE(value: number, offset?: number): number; + + fill(value: string | Uint8Array | number, offset?: number, end?: number, encoding?: BufferEncoding): this; + + indexOf(value: string | number | Uint8Array, byteOffset?: number, encoding?: BufferEncoding): number; + lastIndexOf(value: string | number | Uint8Array, byteOffset?: number, encoding?: BufferEncoding): number; + entries(): IterableIterator<[number, number]>; + includes(value: string | number | Buffer, byteOffset?: number, encoding?: BufferEncoding): boolean; + keys(): IterableIterator; + values(): IterableIterator; +} + +/*----------------------------------------------* +* * +* GLOBAL INTERFACES * +* * +*-----------------------------------------------*/ +declare namespace NodeJS { + interface InspectOptions { + /** + * If set to `true`, getters are going to be + * inspected as well. If set to `'get'` only getters without setter are going + * to be inspected. If set to `'set'` only getters having a corresponding + * setter are going to be inspected. This might cause side effects depending on + * the getter function. + * @default `false` + */ + getters?: 'get' | 'set' | boolean; + showHidden?: boolean; + /** + * @default 2 + */ + depth?: number | null; + colors?: boolean; + customInspect?: boolean; + showProxy?: boolean; + maxArrayLength?: number | null; + /** + * Specifies the maximum number of characters to + * include when formatting. Set to `null` or `Infinity` to show all elements. + * Set to `0` or negative to show no characters. + * @default Infinity + */ + maxStringLength?: number | null; + breakLength?: number; + /** + * Setting this to `false` causes each object key + * to be displayed on a new line. It will also add new lines to text that is + * longer than `breakLength`. If set to a number, the most `n` inner elements + * are united on a single line as long as all properties fit into + * `breakLength`. Short array elements are also grouped together. Note that no + * text will be reduced below 16 characters, no matter the `breakLength` size. + * For more information, see the example below. + * @default `true` + */ + compact?: boolean | number; + sorted?: boolean | ((a: string, b: string) => number); + } + + interface CallSite { + /** + * Value of "this" + */ + getThis(): any; + + /** + * Type of "this" as a string. + * This is the name of the function stored in the constructor field of + * "this", if available. Otherwise the object's [[Class]] internal + * property. + */ + getTypeName(): string | null; + + /** + * Current function + */ + getFunction(): Function | undefined; + + /** + * Name of the current function, typically its name property. + * If a name property is not available an attempt will be made to try + * to infer a name from the function's context. + */ + getFunctionName(): string | null; + + /** + * Name of the property [of "this" or one of its prototypes] that holds + * the current function + */ + getMethodName(): string | null; + + /** + * Name of the script [if this function was defined in a script] + */ + getFileName(): string | null; + + /** + * Current line number [if this function was defined in a script] + */ + getLineNumber(): number | null; + + /** + * Current column number [if this function was defined in a script] + */ + getColumnNumber(): number | null; + + /** + * A call site object representing the location where eval was called + * [if this function was created using a call to eval] + */ + getEvalOrigin(): string | undefined; + + /** + * Is this a toplevel invocation, that is, is "this" the global object? + */ + isToplevel(): boolean; + + /** + * Does this call take place in code defined by a call to eval? + */ + isEval(): boolean; + + /** + * Is this call in native V8 code? + */ + isNative(): boolean; + + /** + * Is this a constructor call? + */ + isConstructor(): boolean; + } + + interface ErrnoException extends Error { + errno?: number; + code?: string; + path?: string; + syscall?: string; + stack?: string; + } + + interface ReadableStream extends EventEmitter { + readable: boolean; + read(size?: number): string | Buffer; + setEncoding(encoding: BufferEncoding): this; + pause(): this; + resume(): this; + isPaused(): boolean; + pipe(destination: T, options?: { end?: boolean; }): T; + unpipe(destination?: WritableStream): this; + unshift(chunk: string | Uint8Array, encoding?: BufferEncoding): void; + wrap(oldStream: ReadableStream): this; + [Symbol.asyncIterator](): AsyncIterableIterator; + } + + interface WritableStream extends EventEmitter { + writable: boolean; + write(buffer: Uint8Array | string, cb?: (err?: Error | null) => void): boolean; + write(str: string, encoding?: BufferEncoding, cb?: (err?: Error | null) => void): boolean; + end(cb?: () => void): void; + end(data: string | Uint8Array, cb?: () => void): void; + end(str: string, encoding?: BufferEncoding, cb?: () => void): void; + } + + interface ReadWriteStream extends ReadableStream, WritableStream { } + + interface Global { + Array: typeof Array; + ArrayBuffer: typeof ArrayBuffer; + Boolean: typeof Boolean; + Buffer: typeof Buffer; + DataView: typeof DataView; + Date: typeof Date; + Error: typeof Error; + EvalError: typeof EvalError; + Float32Array: typeof Float32Array; + Float64Array: typeof Float64Array; + Function: typeof Function; + Infinity: typeof Infinity; + Int16Array: typeof Int16Array; + Int32Array: typeof Int32Array; + Int8Array: typeof Int8Array; + Intl: typeof Intl; + JSON: typeof JSON; + Map: MapConstructor; + Math: typeof Math; + NaN: typeof NaN; + Number: typeof Number; + Object: typeof Object; + Promise: typeof Promise; + RangeError: typeof RangeError; + ReferenceError: typeof ReferenceError; + RegExp: typeof RegExp; + Set: SetConstructor; + String: typeof String; + Symbol: Function; + SyntaxError: typeof SyntaxError; + TypeError: typeof TypeError; + URIError: typeof URIError; + Uint16Array: typeof Uint16Array; + Uint32Array: typeof Uint32Array; + Uint8Array: typeof Uint8Array; + Uint8ClampedArray: typeof Uint8ClampedArray; + WeakMap: WeakMapConstructor; + WeakSet: WeakSetConstructor; + clearImmediate: (immediateId: Immediate) => void; + clearInterval: (intervalId: Timeout) => void; + clearTimeout: (timeoutId: Timeout) => void; + decodeURI: typeof decodeURI; + decodeURIComponent: typeof decodeURIComponent; + encodeURI: typeof encodeURI; + encodeURIComponent: typeof encodeURIComponent; + escape: (str: string) => string; + eval: typeof eval; + global: Global; + isFinite: typeof isFinite; + isNaN: typeof isNaN; + parseFloat: typeof parseFloat; + parseInt: typeof parseInt; + setImmediate: (callback: (...args: any[]) => void, ...args: any[]) => Immediate; + setInterval: (callback: (...args: any[]) => void, ms: number, ...args: any[]) => Timeout; + setTimeout: (callback: (...args: any[]) => void, ms: number, ...args: any[]) => Timeout; + queueMicrotask: typeof queueMicrotask; + undefined: typeof undefined; + unescape: (str: string) => string; + gc: () => void; + v8debug?: any; + } + + interface RefCounted { + ref(): this; + unref(): this; + } + + // compatibility with older typings + interface Timer extends RefCounted { + hasRef(): boolean; + refresh(): this; + [Symbol.toPrimitive](): number; + } + + interface Immediate extends RefCounted { + hasRef(): boolean; + _onImmediate: Function; // to distinguish it from the Timeout class + } + + interface Timeout extends Timer { + hasRef(): boolean; + refresh(): this; + [Symbol.toPrimitive](): number; + } + + type TypedArray = + | Uint8Array + | Uint8ClampedArray + | Uint16Array + | Uint32Array + | Int8Array + | Int16Array + | Int32Array + | BigUint64Array + | BigInt64Array + | Float32Array + | Float64Array; + type ArrayBufferView = TypedArray | DataView; + + interface Require { + (id: string): any; + resolve: RequireResolve; + cache: Dict; + /** + * @deprecated + */ + extensions: RequireExtensions; + main: Module | undefined; + } + + interface RequireResolve { + (id: string, options?: { paths?: string[]; }): string; + paths(request: string): string[] | null; + } + + interface RequireExtensions extends Dict<(m: Module, filename: string) => any> { + '.js': (m: Module, filename: string) => any; + '.json': (m: Module, filename: string) => any; + '.node': (m: Module, filename: string) => any; + } + interface Module { + exports: any; + require: Require; + id: string; + filename: string; + loaded: boolean; + /** @deprecated since 14.6.0 Please use `require.main` and `module.children` instead. */ + parent: Module | null | undefined; + children: Module[]; + /** + * @since 11.14.0 + * + * The directory name of the module. This is usually the same as the path.dirname() of the module.id. + */ + path: string; + paths: string[]; + } + + interface Dict { + [key: string]: T | undefined; + } + + interface ReadOnlyDict { + readonly [key: string]: T | undefined; + } +} diff --git a/node_modules/@types/node/globals.global.d.ts b/node_modules/@types/node/globals.global.d.ts new file mode 100644 index 0000000..d66acba --- /dev/null +++ b/node_modules/@types/node/globals.global.d.ts @@ -0,0 +1 @@ +declare var global: NodeJS.Global & typeof globalThis; diff --git a/node_modules/@types/node/http.d.ts b/node_modules/@types/node/http.d.ts new file mode 100644 index 0000000..72a478a --- /dev/null +++ b/node_modules/@types/node/http.d.ts @@ -0,0 +1,422 @@ +declare module "http" { + import * as stream from "stream"; + import { URL } from "url"; + import { Socket, Server as NetServer } from "net"; + + // incoming headers will never contain number + interface IncomingHttpHeaders extends NodeJS.Dict { + 'accept'?: string; + 'accept-language'?: string; + 'accept-patch'?: string; + 'accept-ranges'?: string; + 'access-control-allow-credentials'?: string; + 'access-control-allow-headers'?: string; + 'access-control-allow-methods'?: string; + 'access-control-allow-origin'?: string; + 'access-control-expose-headers'?: string; + 'access-control-max-age'?: string; + 'access-control-request-headers'?: string; + 'access-control-request-method'?: string; + 'age'?: string; + 'allow'?: string; + 'alt-svc'?: string; + 'authorization'?: string; + 'cache-control'?: string; + 'connection'?: string; + 'content-disposition'?: string; + 'content-encoding'?: string; + 'content-language'?: string; + 'content-length'?: string; + 'content-location'?: string; + 'content-range'?: string; + 'content-type'?: string; + 'cookie'?: string; + 'date'?: string; + 'expect'?: string; + 'expires'?: string; + 'forwarded'?: string; + 'from'?: string; + 'host'?: string; + 'if-match'?: string; + 'if-modified-since'?: string; + 'if-none-match'?: string; + 'if-unmodified-since'?: string; + 'last-modified'?: string; + 'location'?: string; + 'origin'?: string; + 'pragma'?: string; + 'proxy-authenticate'?: string; + 'proxy-authorization'?: string; + 'public-key-pins'?: string; + 'range'?: string; + 'referer'?: string; + 'retry-after'?: string; + 'sec-websocket-accept'?: string; + 'sec-websocket-extensions'?: string; + 'sec-websocket-key'?: string; + 'sec-websocket-protocol'?: string; + 'sec-websocket-version'?: string; + 'set-cookie'?: string[]; + 'strict-transport-security'?: string; + 'tk'?: string; + 'trailer'?: string; + 'transfer-encoding'?: string; + 'upgrade'?: string; + 'user-agent'?: string; + 'vary'?: string; + 'via'?: string; + 'warning'?: string; + 'www-authenticate'?: string; + } + + // outgoing headers allows numbers (as they are converted internally to strings) + type OutgoingHttpHeader = number | string | string[]; + + interface OutgoingHttpHeaders extends NodeJS.Dict { + } + + interface ClientRequestArgs { + protocol?: string | null; + host?: string | null; + hostname?: string | null; + family?: number; + port?: number | string | null; + defaultPort?: number | string; + localAddress?: string; + socketPath?: string; + /** + * @default 8192 + */ + maxHeaderSize?: number; + method?: string; + path?: string | null; + headers?: OutgoingHttpHeaders; + auth?: string | null; + agent?: Agent | boolean; + _defaultAgent?: Agent; + timeout?: number; + setHost?: boolean; + // https://github.com/nodejs/node/blob/master/lib/_http_client.js#L278 + createConnection?: (options: ClientRequestArgs, oncreate: (err: Error, socket: Socket) => void) => Socket; + } + + interface ServerOptions { + IncomingMessage?: typeof IncomingMessage; + ServerResponse?: typeof ServerResponse; + /** + * Optionally overrides the value of + * [`--max-http-header-size`][] for requests received by this server, i.e. + * the maximum length of request headers in bytes. + * @default 8192 + */ + maxHeaderSize?: number; + /** + * Use an insecure HTTP parser that accepts invalid HTTP headers when true. + * Using the insecure parser should be avoided. + * See --insecure-http-parser for more information. + * @default false + */ + insecureHTTPParser?: boolean; + } + + type RequestListener = (req: IncomingMessage, res: ServerResponse) => void; + + interface HttpBase { + setTimeout(msecs?: number, callback?: () => void): this; + setTimeout(callback: () => void): this; + /** + * Limits maximum incoming headers count. If set to 0, no limit will be applied. + * @default 2000 + * {@link https://nodejs.org/api/http.html#http_server_maxheaderscount} + */ + maxHeadersCount: number | null; + timeout: number; + /** + * Limit the amount of time the parser will wait to receive the complete HTTP headers. + * @default 60000 + * {@link https://nodejs.org/api/http.html#http_server_headerstimeout} + */ + headersTimeout: number; + keepAliveTimeout: number; + /** + * Sets the timeout value in milliseconds for receiving the entire request from the client. + * @default 0 + * {@link https://nodejs.org/api/http.html#http_server_requesttimeout} + */ + requestTimeout: number; + } + + interface Server extends HttpBase {} + class Server extends NetServer { + constructor(requestListener?: RequestListener); + constructor(options: ServerOptions, requestListener?: RequestListener); + } + + // https://github.com/nodejs/node/blob/master/lib/_http_outgoing.js + class OutgoingMessage extends stream.Writable { + upgrading: boolean; + chunkedEncoding: boolean; + shouldKeepAlive: boolean; + useChunkedEncodingByDefault: boolean; + sendDate: boolean; + /** + * @deprecated Use `writableEnded` instead. + */ + finished: boolean; + headersSent: boolean; + /** + * @deprecate Use `socket` instead. + */ + connection: Socket | null; + socket: Socket | null; + + constructor(); + + setTimeout(msecs: number, callback?: () => void): this; + setHeader(name: string, value: number | string | ReadonlyArray): void; + getHeader(name: string): number | string | string[] | undefined; + getHeaders(): OutgoingHttpHeaders; + getHeaderNames(): string[]; + hasHeader(name: string): boolean; + removeHeader(name: string): void; + addTrailers(headers: OutgoingHttpHeaders | ReadonlyArray<[string, string]>): void; + flushHeaders(): void; + } + + // https://github.com/nodejs/node/blob/master/lib/_http_server.js#L108-L256 + class ServerResponse extends OutgoingMessage { + statusCode: number; + statusMessage: string; + + constructor(req: IncomingMessage); + + assignSocket(socket: Socket): void; + detachSocket(socket: Socket): void; + // https://github.com/nodejs/node/blob/master/test/parallel/test-http-write-callbacks.js#L53 + // no args in writeContinue callback + writeContinue(callback?: () => void): void; + writeHead(statusCode: number, reasonPhrase?: string, headers?: OutgoingHttpHeaders | OutgoingHttpHeader[]): this; + writeHead(statusCode: number, headers?: OutgoingHttpHeaders | OutgoingHttpHeader[]): this; + writeProcessing(): void; + } + + interface InformationEvent { + statusCode: number; + statusMessage: string; + httpVersion: string; + httpVersionMajor: number; + httpVersionMinor: number; + headers: IncomingHttpHeaders; + rawHeaders: string[]; + } + + // https://github.com/nodejs/node/blob/master/lib/_http_client.js#L77 + class ClientRequest extends OutgoingMessage { + aborted: boolean; + host: string; + protocol: string; + + constructor(url: string | URL | ClientRequestArgs, cb?: (res: IncomingMessage) => void); + + method: string; + path: string; + abort(): void; + onSocket(socket: Socket): void; + setTimeout(timeout: number, callback?: () => void): this; + setNoDelay(noDelay?: boolean): void; + setSocketKeepAlive(enable?: boolean, initialDelay?: number): void; + + addListener(event: 'abort', listener: () => void): this; + addListener(event: 'connect', listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this; + addListener(event: 'continue', listener: () => void): this; + addListener(event: 'information', listener: (info: InformationEvent) => void): this; + addListener(event: 'response', listener: (response: IncomingMessage) => void): this; + addListener(event: 'socket', listener: (socket: Socket) => void): this; + addListener(event: 'timeout', listener: () => void): this; + addListener(event: 'upgrade', listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this; + addListener(event: 'close', listener: () => void): this; + addListener(event: 'drain', listener: () => void): this; + addListener(event: 'error', listener: (err: Error) => void): this; + addListener(event: 'finish', listener: () => void): this; + addListener(event: 'pipe', listener: (src: stream.Readable) => void): this; + addListener(event: 'unpipe', listener: (src: stream.Readable) => void): this; + addListener(event: string | symbol, listener: (...args: any[]) => void): this; + + on(event: 'abort', listener: () => void): this; + on(event: 'connect', listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this; + on(event: 'continue', listener: () => void): this; + on(event: 'information', listener: (info: InformationEvent) => void): this; + on(event: 'response', listener: (response: IncomingMessage) => void): this; + on(event: 'socket', listener: (socket: Socket) => void): this; + on(event: 'timeout', listener: () => void): this; + on(event: 'upgrade', listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this; + on(event: 'close', listener: () => void): this; + on(event: 'drain', listener: () => void): this; + on(event: 'error', listener: (err: Error) => void): this; + on(event: 'finish', listener: () => void): this; + on(event: 'pipe', listener: (src: stream.Readable) => void): this; + on(event: 'unpipe', listener: (src: stream.Readable) => void): this; + on(event: string | symbol, listener: (...args: any[]) => void): this; + + once(event: 'abort', listener: () => void): this; + once(event: 'connect', listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this; + once(event: 'continue', listener: () => void): this; + once(event: 'information', listener: (info: InformationEvent) => void): this; + once(event: 'response', listener: (response: IncomingMessage) => void): this; + once(event: 'socket', listener: (socket: Socket) => void): this; + once(event: 'timeout', listener: () => void): this; + once(event: 'upgrade', listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this; + once(event: 'close', listener: () => void): this; + once(event: 'drain', listener: () => void): this; + once(event: 'error', listener: (err: Error) => void): this; + once(event: 'finish', listener: () => void): this; + once(event: 'pipe', listener: (src: stream.Readable) => void): this; + once(event: 'unpipe', listener: (src: stream.Readable) => void): this; + once(event: string | symbol, listener: (...args: any[]) => void): this; + + prependListener(event: 'abort', listener: () => void): this; + prependListener(event: 'connect', listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this; + prependListener(event: 'continue', listener: () => void): this; + prependListener(event: 'information', listener: (info: InformationEvent) => void): this; + prependListener(event: 'response', listener: (response: IncomingMessage) => void): this; + prependListener(event: 'socket', listener: (socket: Socket) => void): this; + prependListener(event: 'timeout', listener: () => void): this; + prependListener(event: 'upgrade', listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this; + prependListener(event: 'close', listener: () => void): this; + prependListener(event: 'drain', listener: () => void): this; + prependListener(event: 'error', listener: (err: Error) => void): this; + prependListener(event: 'finish', listener: () => void): this; + prependListener(event: 'pipe', listener: (src: stream.Readable) => void): this; + prependListener(event: 'unpipe', listener: (src: stream.Readable) => void): this; + prependListener(event: string | symbol, listener: (...args: any[]) => void): this; + + prependOnceListener(event: 'abort', listener: () => void): this; + prependOnceListener(event: 'connect', listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this; + prependOnceListener(event: 'continue', listener: () => void): this; + prependOnceListener(event: 'information', listener: (info: InformationEvent) => void): this; + prependOnceListener(event: 'response', listener: (response: IncomingMessage) => void): this; + prependOnceListener(event: 'socket', listener: (socket: Socket) => void): this; + prependOnceListener(event: 'timeout', listener: () => void): this; + prependOnceListener(event: 'upgrade', listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this; + prependOnceListener(event: 'close', listener: () => void): this; + prependOnceListener(event: 'drain', listener: () => void): this; + prependOnceListener(event: 'error', listener: (err: Error) => void): this; + prependOnceListener(event: 'finish', listener: () => void): this; + prependOnceListener(event: 'pipe', listener: (src: stream.Readable) => void): this; + prependOnceListener(event: 'unpipe', listener: (src: stream.Readable) => void): this; + prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; + } + + class IncomingMessage extends stream.Readable { + constructor(socket: Socket); + + aborted: boolean; + httpVersion: string; + httpVersionMajor: number; + httpVersionMinor: number; + complete: boolean; + /** + * @deprecate Use `socket` instead. + */ + connection: Socket; + socket: Socket; + headers: IncomingHttpHeaders; + rawHeaders: string[]; + trailers: NodeJS.Dict; + rawTrailers: string[]; + setTimeout(msecs: number, callback?: () => void): this; + /** + * Only valid for request obtained from http.Server. + */ + method?: string; + /** + * Only valid for request obtained from http.Server. + */ + url?: string; + /** + * Only valid for response obtained from http.ClientRequest. + */ + statusCode?: number; + /** + * Only valid for response obtained from http.ClientRequest. + */ + statusMessage?: string; + destroy(error?: Error): void; + } + + interface AgentOptions { + /** + * Keep sockets around in a pool to be used by other requests in the future. Default = false + */ + keepAlive?: boolean; + /** + * When using HTTP KeepAlive, how often to send TCP KeepAlive packets over sockets being kept alive. Default = 1000. + * Only relevant if keepAlive is set to true. + */ + keepAliveMsecs?: number; + /** + * Maximum number of sockets to allow per host. Default for Node 0.10 is 5, default for Node 0.12 is Infinity + */ + maxSockets?: number; + /** + * Maximum number of sockets allowed for all hosts in total. Each request will use a new socket until the maximum is reached. Default: Infinity. + */ + maxTotalSockets?: number; + /** + * Maximum number of sockets to leave open in a free state. Only relevant if keepAlive is set to true. Default = 256. + */ + maxFreeSockets?: number; + /** + * Socket timeout in milliseconds. This will set the timeout after the socket is connected. + */ + timeout?: number; + /** + * Scheduling strategy to apply when picking the next free socket to use. Default: 'fifo'. + */ + scheduling?: 'fifo' | 'lifo'; + } + + class Agent { + maxFreeSockets: number; + maxSockets: number; + maxTotalSockets: number; + readonly freeSockets: NodeJS.ReadOnlyDict; + readonly sockets: NodeJS.ReadOnlyDict; + readonly requests: NodeJS.ReadOnlyDict; + + constructor(opts?: AgentOptions); + + /** + * Destroy any sockets that are currently in use by the agent. + * It is usually not necessary to do this. However, if you are using an agent with KeepAlive enabled, + * then it is best to explicitly shut down the agent when you know that it will no longer be used. Otherwise, + * sockets may hang open for quite a long time before the server terminates them. + */ + destroy(): void; + } + + const METHODS: string[]; + + const STATUS_CODES: { + [errorCode: number]: string | undefined; + [errorCode: string]: string | undefined; + }; + + function createServer(requestListener?: RequestListener): Server; + function createServer(options: ServerOptions, requestListener?: RequestListener): Server; + + // although RequestOptions are passed as ClientRequestArgs to ClientRequest directly, + // create interface RequestOptions would make the naming more clear to developers + interface RequestOptions extends ClientRequestArgs { } + function request(options: RequestOptions | string | URL, callback?: (res: IncomingMessage) => void): ClientRequest; + function request(url: string | URL, options: RequestOptions, callback?: (res: IncomingMessage) => void): ClientRequest; + function get(options: RequestOptions | string | URL, callback?: (res: IncomingMessage) => void): ClientRequest; + function get(url: string | URL, options: RequestOptions, callback?: (res: IncomingMessage) => void): ClientRequest; + let globalAgent: Agent; + + /** + * Read-only property specifying the maximum allowed size of HTTP headers in bytes. + * Defaults to 16KB. Configurable using the [`--max-http-header-size`][] CLI option. + */ + const maxHeaderSize: number; +} diff --git a/node_modules/@types/node/http2.d.ts b/node_modules/@types/node/http2.d.ts new file mode 100644 index 0000000..0788293 --- /dev/null +++ b/node_modules/@types/node/http2.d.ts @@ -0,0 +1,952 @@ +declare module "http2" { + import * as events from "events"; + import * as fs from "fs"; + import * as net from "net"; + import * as stream from "stream"; + import * as tls from "tls"; + import * as url from "url"; + + import { IncomingHttpHeaders as Http1IncomingHttpHeaders, OutgoingHttpHeaders, IncomingMessage, ServerResponse } from "http"; + export { OutgoingHttpHeaders } from "http"; + + export interface IncomingHttpStatusHeader { + ":status"?: number; + } + + export interface IncomingHttpHeaders extends Http1IncomingHttpHeaders { + ":path"?: string; + ":method"?: string; + ":authority"?: string; + ":scheme"?: string; + } + + // Http2Stream + + export interface StreamPriorityOptions { + exclusive?: boolean; + parent?: number; + weight?: number; + silent?: boolean; + } + + export interface StreamState { + localWindowSize?: number; + state?: number; + localClose?: number; + remoteClose?: number; + sumDependencyWeight?: number; + weight?: number; + } + + export interface ServerStreamResponseOptions { + endStream?: boolean; + waitForTrailers?: boolean; + } + + export interface StatOptions { + offset: number; + length: number; + } + + export interface ServerStreamFileResponseOptions { + statCheck?(stats: fs.Stats, headers: OutgoingHttpHeaders, statOptions: StatOptions): void | boolean; + waitForTrailers?: boolean; + offset?: number; + length?: number; + } + + export interface ServerStreamFileResponseOptionsWithError extends ServerStreamFileResponseOptions { + onError?(err: NodeJS.ErrnoException): void; + } + + export interface Http2Stream extends stream.Duplex { + readonly aborted: boolean; + readonly bufferSize: number; + readonly closed: boolean; + readonly destroyed: boolean; + /** + * Set the true if the END_STREAM flag was set in the request or response HEADERS frame received, + * indicating that no additional data should be received and the readable side of the Http2Stream will be closed. + */ + readonly endAfterHeaders: boolean; + readonly id?: number; + readonly pending: boolean; + readonly rstCode: number; + readonly sentHeaders: OutgoingHttpHeaders; + readonly sentInfoHeaders?: OutgoingHttpHeaders[]; + readonly sentTrailers?: OutgoingHttpHeaders; + readonly session: Http2Session; + readonly state: StreamState; + + close(code?: number, callback?: () => void): void; + priority(options: StreamPriorityOptions): void; + setTimeout(msecs: number, callback?: () => void): void; + sendTrailers(headers: OutgoingHttpHeaders): void; + + addListener(event: "aborted", listener: () => void): this; + addListener(event: "close", listener: () => void): this; + addListener(event: "data", listener: (chunk: Buffer | string) => void): this; + addListener(event: "drain", listener: () => void): this; + addListener(event: "end", listener: () => void): this; + addListener(event: "error", listener: (err: Error) => void): this; + addListener(event: "finish", listener: () => void): this; + addListener(event: "frameError", listener: (frameType: number, errorCode: number) => void): this; + addListener(event: "pipe", listener: (src: stream.Readable) => void): this; + addListener(event: "unpipe", listener: (src: stream.Readable) => void): this; + addListener(event: "streamClosed", listener: (code: number) => void): this; + addListener(event: "timeout", listener: () => void): this; + addListener(event: "trailers", listener: (trailers: IncomingHttpHeaders, flags: number) => void): this; + addListener(event: "wantTrailers", listener: () => void): this; + addListener(event: string | symbol, listener: (...args: any[]) => void): this; + + emit(event: "aborted"): boolean; + emit(event: "close"): boolean; + emit(event: "data", chunk: Buffer | string): boolean; + emit(event: "drain"): boolean; + emit(event: "end"): boolean; + emit(event: "error", err: Error): boolean; + emit(event: "finish"): boolean; + emit(event: "frameError", frameType: number, errorCode: number): boolean; + emit(event: "pipe", src: stream.Readable): boolean; + emit(event: "unpipe", src: stream.Readable): boolean; + emit(event: "streamClosed", code: number): boolean; + emit(event: "timeout"): boolean; + emit(event: "trailers", trailers: IncomingHttpHeaders, flags: number): boolean; + emit(event: "wantTrailers"): boolean; + emit(event: string | symbol, ...args: any[]): boolean; + + on(event: "aborted", listener: () => void): this; + on(event: "close", listener: () => void): this; + on(event: "data", listener: (chunk: Buffer | string) => void): this; + on(event: "drain", listener: () => void): this; + on(event: "end", listener: () => void): this; + on(event: "error", listener: (err: Error) => void): this; + on(event: "finish", listener: () => void): this; + on(event: "frameError", listener: (frameType: number, errorCode: number) => void): this; + on(event: "pipe", listener: (src: stream.Readable) => void): this; + on(event: "unpipe", listener: (src: stream.Readable) => void): this; + on(event: "streamClosed", listener: (code: number) => void): this; + on(event: "timeout", listener: () => void): this; + on(event: "trailers", listener: (trailers: IncomingHttpHeaders, flags: number) => void): this; + on(event: "wantTrailers", listener: () => void): this; + on(event: string | symbol, listener: (...args: any[]) => void): this; + + once(event: "aborted", listener: () => void): this; + once(event: "close", listener: () => void): this; + once(event: "data", listener: (chunk: Buffer | string) => void): this; + once(event: "drain", listener: () => void): this; + once(event: "end", listener: () => void): this; + once(event: "error", listener: (err: Error) => void): this; + once(event: "finish", listener: () => void): this; + once(event: "frameError", listener: (frameType: number, errorCode: number) => void): this; + once(event: "pipe", listener: (src: stream.Readable) => void): this; + once(event: "unpipe", listener: (src: stream.Readable) => void): this; + once(event: "streamClosed", listener: (code: number) => void): this; + once(event: "timeout", listener: () => void): this; + once(event: "trailers", listener: (trailers: IncomingHttpHeaders, flags: number) => void): this; + once(event: "wantTrailers", listener: () => void): this; + once(event: string | symbol, listener: (...args: any[]) => void): this; + + prependListener(event: "aborted", listener: () => void): this; + prependListener(event: "close", listener: () => void): this; + prependListener(event: "data", listener: (chunk: Buffer | string) => void): this; + prependListener(event: "drain", listener: () => void): this; + prependListener(event: "end", listener: () => void): this; + prependListener(event: "error", listener: (err: Error) => void): this; + prependListener(event: "finish", listener: () => void): this; + prependListener(event: "frameError", listener: (frameType: number, errorCode: number) => void): this; + prependListener(event: "pipe", listener: (src: stream.Readable) => void): this; + prependListener(event: "unpipe", listener: (src: stream.Readable) => void): this; + prependListener(event: "streamClosed", listener: (code: number) => void): this; + prependListener(event: "timeout", listener: () => void): this; + prependListener(event: "trailers", listener: (trailers: IncomingHttpHeaders, flags: number) => void): this; + prependListener(event: "wantTrailers", listener: () => void): this; + prependListener(event: string | symbol, listener: (...args: any[]) => void): this; + + prependOnceListener(event: "aborted", listener: () => void): this; + prependOnceListener(event: "close", listener: () => void): this; + prependOnceListener(event: "data", listener: (chunk: Buffer | string) => void): this; + prependOnceListener(event: "drain", listener: () => void): this; + prependOnceListener(event: "end", listener: () => void): this; + prependOnceListener(event: "error", listener: (err: Error) => void): this; + prependOnceListener(event: "finish", listener: () => void): this; + prependOnceListener(event: "frameError", listener: (frameType: number, errorCode: number) => void): this; + prependOnceListener(event: "pipe", listener: (src: stream.Readable) => void): this; + prependOnceListener(event: "unpipe", listener: (src: stream.Readable) => void): this; + prependOnceListener(event: "streamClosed", listener: (code: number) => void): this; + prependOnceListener(event: "timeout", listener: () => void): this; + prependOnceListener(event: "trailers", listener: (trailers: IncomingHttpHeaders, flags: number) => void): this; + prependOnceListener(event: "wantTrailers", listener: () => void): this; + prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; + } + + export interface ClientHttp2Stream extends Http2Stream { + addListener(event: "continue", listener: () => {}): this; + addListener(event: "headers", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + addListener(event: "push", listener: (headers: IncomingHttpHeaders, flags: number) => void): this; + addListener(event: "response", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + addListener(event: string | symbol, listener: (...args: any[]) => void): this; + + emit(event: "continue"): boolean; + emit(event: "headers", headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number): boolean; + emit(event: "push", headers: IncomingHttpHeaders, flags: number): boolean; + emit(event: "response", headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number): boolean; + emit(event: string | symbol, ...args: any[]): boolean; + + on(event: "continue", listener: () => {}): this; + on(event: "headers", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + on(event: "push", listener: (headers: IncomingHttpHeaders, flags: number) => void): this; + on(event: "response", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + on(event: string | symbol, listener: (...args: any[]) => void): this; + + once(event: "continue", listener: () => {}): this; + once(event: "headers", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + once(event: "push", listener: (headers: IncomingHttpHeaders, flags: number) => void): this; + once(event: "response", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + once(event: string | symbol, listener: (...args: any[]) => void): this; + + prependListener(event: "continue", listener: () => {}): this; + prependListener(event: "headers", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + prependListener(event: "push", listener: (headers: IncomingHttpHeaders, flags: number) => void): this; + prependListener(event: "response", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + prependListener(event: string | symbol, listener: (...args: any[]) => void): this; + + prependOnceListener(event: "continue", listener: () => {}): this; + prependOnceListener(event: "headers", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + prependOnceListener(event: "push", listener: (headers: IncomingHttpHeaders, flags: number) => void): this; + prependOnceListener(event: "response", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; + } + + export interface ServerHttp2Stream extends Http2Stream { + readonly headersSent: boolean; + readonly pushAllowed: boolean; + additionalHeaders(headers: OutgoingHttpHeaders): void; + pushStream(headers: OutgoingHttpHeaders, callback?: (err: Error | null, pushStream: ServerHttp2Stream, headers: OutgoingHttpHeaders) => void): void; + pushStream(headers: OutgoingHttpHeaders, options?: StreamPriorityOptions, callback?: (err: Error | null, pushStream: ServerHttp2Stream, headers: OutgoingHttpHeaders) => void): void; + respond(headers?: OutgoingHttpHeaders, options?: ServerStreamResponseOptions): void; + respondWithFD(fd: number | fs.promises.FileHandle, headers?: OutgoingHttpHeaders, options?: ServerStreamFileResponseOptions): void; + respondWithFile(path: string, headers?: OutgoingHttpHeaders, options?: ServerStreamFileResponseOptionsWithError): void; + } + + // Http2Session + + export interface Settings { + headerTableSize?: number; + enablePush?: boolean; + initialWindowSize?: number; + maxFrameSize?: number; + maxConcurrentStreams?: number; + maxHeaderListSize?: number; + enableConnectProtocol?: boolean; + } + + export interface ClientSessionRequestOptions { + endStream?: boolean; + exclusive?: boolean; + parent?: number; + weight?: number; + waitForTrailers?: boolean; + } + + export interface SessionState { + effectiveLocalWindowSize?: number; + effectiveRecvDataLength?: number; + nextStreamID?: number; + localWindowSize?: number; + lastProcStreamID?: number; + remoteWindowSize?: number; + outboundQueueSize?: number; + deflateDynamicTableSize?: number; + inflateDynamicTableSize?: number; + } + + export interface Http2Session extends events.EventEmitter { + readonly alpnProtocol?: string; + readonly closed: boolean; + readonly connecting: boolean; + readonly destroyed: boolean; + readonly encrypted?: boolean; + readonly localSettings: Settings; + readonly originSet?: string[]; + readonly pendingSettingsAck: boolean; + readonly remoteSettings: Settings; + readonly socket: net.Socket | tls.TLSSocket; + readonly state: SessionState; + readonly type: number; + + close(callback?: () => void): void; + destroy(error?: Error, code?: number): void; + goaway(code?: number, lastStreamID?: number, opaqueData?: NodeJS.ArrayBufferView): void; + ping(callback: (err: Error | null, duration: number, payload: Buffer) => void): boolean; + ping(payload: NodeJS.ArrayBufferView, callback: (err: Error | null, duration: number, payload: Buffer) => void): boolean; + ref(): void; + setTimeout(msecs: number, callback?: () => void): void; + settings(settings: Settings): void; + unref(): void; + + addListener(event: "close", listener: () => void): this; + addListener(event: "error", listener: (err: Error) => void): this; + addListener(event: "frameError", listener: (frameType: number, errorCode: number, streamID: number) => void): this; + addListener(event: "goaway", listener: (errorCode: number, lastStreamID: number, opaqueData: Buffer) => void): this; + addListener(event: "localSettings", listener: (settings: Settings) => void): this; + addListener(event: "ping", listener: () => void): this; + addListener(event: "remoteSettings", listener: (settings: Settings) => void): this; + addListener(event: "timeout", listener: () => void): this; + addListener(event: string | symbol, listener: (...args: any[]) => void): this; + + emit(event: "close"): boolean; + emit(event: "error", err: Error): boolean; + emit(event: "frameError", frameType: number, errorCode: number, streamID: number): boolean; + emit(event: "goaway", errorCode: number, lastStreamID: number, opaqueData: Buffer): boolean; + emit(event: "localSettings", settings: Settings): boolean; + emit(event: "ping"): boolean; + emit(event: "remoteSettings", settings: Settings): boolean; + emit(event: "timeout"): boolean; + emit(event: string | symbol, ...args: any[]): boolean; + + on(event: "close", listener: () => void): this; + on(event: "error", listener: (err: Error) => void): this; + on(event: "frameError", listener: (frameType: number, errorCode: number, streamID: number) => void): this; + on(event: "goaway", listener: (errorCode: number, lastStreamID: number, opaqueData: Buffer) => void): this; + on(event: "localSettings", listener: (settings: Settings) => void): this; + on(event: "ping", listener: () => void): this; + on(event: "remoteSettings", listener: (settings: Settings) => void): this; + on(event: "timeout", listener: () => void): this; + on(event: string | symbol, listener: (...args: any[]) => void): this; + + once(event: "close", listener: () => void): this; + once(event: "error", listener: (err: Error) => void): this; + once(event: "frameError", listener: (frameType: number, errorCode: number, streamID: number) => void): this; + once(event: "goaway", listener: (errorCode: number, lastStreamID: number, opaqueData: Buffer) => void): this; + once(event: "localSettings", listener: (settings: Settings) => void): this; + once(event: "ping", listener: () => void): this; + once(event: "remoteSettings", listener: (settings: Settings) => void): this; + once(event: "timeout", listener: () => void): this; + once(event: string | symbol, listener: (...args: any[]) => void): this; + + prependListener(event: "close", listener: () => void): this; + prependListener(event: "error", listener: (err: Error) => void): this; + prependListener(event: "frameError", listener: (frameType: number, errorCode: number, streamID: number) => void): this; + prependListener(event: "goaway", listener: (errorCode: number, lastStreamID: number, opaqueData: Buffer) => void): this; + prependListener(event: "localSettings", listener: (settings: Settings) => void): this; + prependListener(event: "ping", listener: () => void): this; + prependListener(event: "remoteSettings", listener: (settings: Settings) => void): this; + prependListener(event: "timeout", listener: () => void): this; + prependListener(event: string | symbol, listener: (...args: any[]) => void): this; + + prependOnceListener(event: "close", listener: () => void): this; + prependOnceListener(event: "error", listener: (err: Error) => void): this; + prependOnceListener(event: "frameError", listener: (frameType: number, errorCode: number, streamID: number) => void): this; + prependOnceListener(event: "goaway", listener: (errorCode: number, lastStreamID: number, opaqueData: Buffer) => void): this; + prependOnceListener(event: "localSettings", listener: (settings: Settings) => void): this; + prependOnceListener(event: "ping", listener: () => void): this; + prependOnceListener(event: "remoteSettings", listener: (settings: Settings) => void): this; + prependOnceListener(event: "timeout", listener: () => void): this; + prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; + } + + export interface ClientHttp2Session extends Http2Session { + request(headers?: OutgoingHttpHeaders, options?: ClientSessionRequestOptions): ClientHttp2Stream; + + addListener(event: "altsvc", listener: (alt: string, origin: string, stream: number) => void): this; + addListener(event: "origin", listener: (origins: string[]) => void): this; + addListener(event: "connect", listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; + addListener(event: "stream", listener: (stream: ClientHttp2Stream, headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + addListener(event: string | symbol, listener: (...args: any[]) => void): this; + + emit(event: "altsvc", alt: string, origin: string, stream: number): boolean; + emit(event: "origin", origins: ReadonlyArray): boolean; + emit(event: "connect", session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket): boolean; + emit(event: "stream", stream: ClientHttp2Stream, headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number): boolean; + emit(event: string | symbol, ...args: any[]): boolean; + + on(event: "altsvc", listener: (alt: string, origin: string, stream: number) => void): this; + on(event: "origin", listener: (origins: string[]) => void): this; + on(event: "connect", listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; + on(event: "stream", listener: (stream: ClientHttp2Stream, headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + on(event: string | symbol, listener: (...args: any[]) => void): this; + + once(event: "altsvc", listener: (alt: string, origin: string, stream: number) => void): this; + once(event: "origin", listener: (origins: string[]) => void): this; + once(event: "connect", listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; + once(event: "stream", listener: (stream: ClientHttp2Stream, headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + once(event: string | symbol, listener: (...args: any[]) => void): this; + + prependListener(event: "altsvc", listener: (alt: string, origin: string, stream: number) => void): this; + prependListener(event: "origin", listener: (origins: string[]) => void): this; + prependListener(event: "connect", listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; + prependListener(event: "stream", listener: (stream: ClientHttp2Stream, headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + prependListener(event: string | symbol, listener: (...args: any[]) => void): this; + + prependOnceListener(event: "altsvc", listener: (alt: string, origin: string, stream: number) => void): this; + prependOnceListener(event: "origin", listener: (origins: string[]) => void): this; + prependOnceListener(event: "connect", listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; + prependOnceListener(event: "stream", listener: (stream: ClientHttp2Stream, headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; + } + + export interface AlternativeServiceOptions { + origin: number | string | url.URL; + } + + export interface ServerHttp2Session extends Http2Session { + readonly server: Http2Server | Http2SecureServer; + + altsvc(alt: string, originOrStream: number | string | url.URL | AlternativeServiceOptions): void; + origin(...args: Array): void; + + addListener(event: "connect", listener: (session: ServerHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; + addListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + addListener(event: string | symbol, listener: (...args: any[]) => void): this; + + emit(event: "connect", session: ServerHttp2Session, socket: net.Socket | tls.TLSSocket): boolean; + emit(event: "stream", stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number): boolean; + emit(event: string | symbol, ...args: any[]): boolean; + + on(event: "connect", listener: (session: ServerHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; + on(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + on(event: string | symbol, listener: (...args: any[]) => void): this; + + once(event: "connect", listener: (session: ServerHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; + once(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + once(event: string | symbol, listener: (...args: any[]) => void): this; + + prependListener(event: "connect", listener: (session: ServerHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; + prependListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + prependListener(event: string | symbol, listener: (...args: any[]) => void): this; + + prependOnceListener(event: "connect", listener: (session: ServerHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; + prependOnceListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; + } + + // Http2Server + + export interface SessionOptions { + maxDeflateDynamicTableSize?: number; + maxSessionMemory?: number; + maxHeaderListPairs?: number; + maxOutstandingPings?: number; + maxSendHeaderBlockLength?: number; + paddingStrategy?: number; + peerMaxConcurrentStreams?: number; + settings?: Settings; + + selectPadding?(frameLen: number, maxFrameLen: number): number; + createConnection?(authority: url.URL, option: SessionOptions): stream.Duplex; + } + + export interface ClientSessionOptions extends SessionOptions { + maxReservedRemoteStreams?: number; + createConnection?: (authority: url.URL, option: SessionOptions) => stream.Duplex; + protocol?: 'http:' | 'https:'; + } + + export interface ServerSessionOptions extends SessionOptions { + Http1IncomingMessage?: typeof IncomingMessage; + Http1ServerResponse?: typeof ServerResponse; + Http2ServerRequest?: typeof Http2ServerRequest; + Http2ServerResponse?: typeof Http2ServerResponse; + } + + export interface SecureClientSessionOptions extends ClientSessionOptions, tls.ConnectionOptions { } + export interface SecureServerSessionOptions extends ServerSessionOptions, tls.TlsOptions { } + + export interface ServerOptions extends ServerSessionOptions { } + + export interface SecureServerOptions extends SecureServerSessionOptions { + allowHTTP1?: boolean; + origins?: string[]; + } + + export interface Http2Server extends net.Server { + addListener(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + addListener(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + addListener(event: "session", listener: (session: ServerHttp2Session) => void): this; + addListener(event: "sessionError", listener: (err: Error) => void): this; + addListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + addListener(event: "timeout", listener: () => void): this; + addListener(event: string | symbol, listener: (...args: any[]) => void): this; + + emit(event: "checkContinue", request: Http2ServerRequest, response: Http2ServerResponse): boolean; + emit(event: "request", request: Http2ServerRequest, response: Http2ServerResponse): boolean; + emit(event: "session", session: ServerHttp2Session): boolean; + emit(event: "sessionError", err: Error): boolean; + emit(event: "stream", stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number): boolean; + emit(event: "timeout"): boolean; + emit(event: string | symbol, ...args: any[]): boolean; + + on(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + on(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + on(event: "session", listener: (session: ServerHttp2Session) => void): this; + on(event: "sessionError", listener: (err: Error) => void): this; + on(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + on(event: "timeout", listener: () => void): this; + on(event: string | symbol, listener: (...args: any[]) => void): this; + + once(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + once(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + once(event: "session", listener: (session: ServerHttp2Session) => void): this; + once(event: "sessionError", listener: (err: Error) => void): this; + once(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + once(event: "timeout", listener: () => void): this; + once(event: string | symbol, listener: (...args: any[]) => void): this; + + prependListener(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + prependListener(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + prependListener(event: "session", listener: (session: ServerHttp2Session) => void): this; + prependListener(event: "sessionError", listener: (err: Error) => void): this; + prependListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + prependListener(event: "timeout", listener: () => void): this; + prependListener(event: string | symbol, listener: (...args: any[]) => void): this; + + prependOnceListener(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + prependOnceListener(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + prependOnceListener(event: "session", listener: (session: ServerHttp2Session) => void): this; + prependOnceListener(event: "sessionError", listener: (err: Error) => void): this; + prependOnceListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + prependOnceListener(event: "timeout", listener: () => void): this; + prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; + + setTimeout(msec?: number, callback?: () => void): this; + } + + export interface Http2SecureServer extends tls.Server { + addListener(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + addListener(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + addListener(event: "session", listener: (session: ServerHttp2Session) => void): this; + addListener(event: "sessionError", listener: (err: Error) => void): this; + addListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + addListener(event: "timeout", listener: () => void): this; + addListener(event: "unknownProtocol", listener: (socket: tls.TLSSocket) => void): this; + addListener(event: string | symbol, listener: (...args: any[]) => void): this; + + emit(event: "checkContinue", request: Http2ServerRequest, response: Http2ServerResponse): boolean; + emit(event: "request", request: Http2ServerRequest, response: Http2ServerResponse): boolean; + emit(event: "session", session: ServerHttp2Session): boolean; + emit(event: "sessionError", err: Error): boolean; + emit(event: "stream", stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number): boolean; + emit(event: "timeout"): boolean; + emit(event: "unknownProtocol", socket: tls.TLSSocket): boolean; + emit(event: string | symbol, ...args: any[]): boolean; + + on(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + on(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + on(event: "session", listener: (session: ServerHttp2Session) => void): this; + on(event: "sessionError", listener: (err: Error) => void): this; + on(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + on(event: "timeout", listener: () => void): this; + on(event: "unknownProtocol", listener: (socket: tls.TLSSocket) => void): this; + on(event: string | symbol, listener: (...args: any[]) => void): this; + + once(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + once(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + once(event: "session", listener: (session: ServerHttp2Session) => void): this; + once(event: "sessionError", listener: (err: Error) => void): this; + once(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + once(event: "timeout", listener: () => void): this; + once(event: "unknownProtocol", listener: (socket: tls.TLSSocket) => void): this; + once(event: string | symbol, listener: (...args: any[]) => void): this; + + prependListener(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + prependListener(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + prependListener(event: "session", listener: (session: ServerHttp2Session) => void): this; + prependListener(event: "sessionError", listener: (err: Error) => void): this; + prependListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + prependListener(event: "timeout", listener: () => void): this; + prependListener(event: "unknownProtocol", listener: (socket: tls.TLSSocket) => void): this; + prependListener(event: string | symbol, listener: (...args: any[]) => void): this; + + prependOnceListener(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + prependOnceListener(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + prependOnceListener(event: "session", listener: (session: ServerHttp2Session) => void): this; + prependOnceListener(event: "sessionError", listener: (err: Error) => void): this; + prependOnceListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + prependOnceListener(event: "timeout", listener: () => void): this; + prependOnceListener(event: "unknownProtocol", listener: (socket: tls.TLSSocket) => void): this; + prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; + + setTimeout(msec?: number, callback?: () => void): this; + } + + export class Http2ServerRequest extends stream.Readable { + constructor(stream: ServerHttp2Stream, headers: IncomingHttpHeaders, options: stream.ReadableOptions, rawHeaders: ReadonlyArray); + + readonly aborted: boolean; + readonly authority: string; + readonly connection: net.Socket | tls.TLSSocket; + readonly complete: boolean; + readonly headers: IncomingHttpHeaders; + readonly httpVersion: string; + readonly httpVersionMinor: number; + readonly httpVersionMajor: number; + readonly method: string; + readonly rawHeaders: string[]; + readonly rawTrailers: string[]; + readonly scheme: string; + readonly socket: net.Socket | tls.TLSSocket; + readonly stream: ServerHttp2Stream; + readonly trailers: IncomingHttpHeaders; + readonly url: string; + + setTimeout(msecs: number, callback?: () => void): void; + read(size?: number): Buffer | string | null; + + addListener(event: "aborted", listener: (hadError: boolean, code: number) => void): this; + addListener(event: "close", listener: () => void): this; + addListener(event: "data", listener: (chunk: Buffer | string) => void): this; + addListener(event: "end", listener: () => void): this; + addListener(event: "readable", listener: () => void): this; + addListener(event: "error", listener: (err: Error) => void): this; + addListener(event: string | symbol, listener: (...args: any[]) => void): this; + + emit(event: "aborted", hadError: boolean, code: number): boolean; + emit(event: "close"): boolean; + emit(event: "data", chunk: Buffer | string): boolean; + emit(event: "end"): boolean; + emit(event: "readable"): boolean; + emit(event: "error", err: Error): boolean; + emit(event: string | symbol, ...args: any[]): boolean; + + on(event: "aborted", listener: (hadError: boolean, code: number) => void): this; + on(event: "close", listener: () => void): this; + on(event: "data", listener: (chunk: Buffer | string) => void): this; + on(event: "end", listener: () => void): this; + on(event: "readable", listener: () => void): this; + on(event: "error", listener: (err: Error) => void): this; + on(event: string | symbol, listener: (...args: any[]) => void): this; + + once(event: "aborted", listener: (hadError: boolean, code: number) => void): this; + once(event: "close", listener: () => void): this; + once(event: "data", listener: (chunk: Buffer | string) => void): this; + once(event: "end", listener: () => void): this; + once(event: "readable", listener: () => void): this; + once(event: "error", listener: (err: Error) => void): this; + once(event: string | symbol, listener: (...args: any[]) => void): this; + + prependListener(event: "aborted", listener: (hadError: boolean, code: number) => void): this; + prependListener(event: "close", listener: () => void): this; + prependListener(event: "data", listener: (chunk: Buffer | string) => void): this; + prependListener(event: "end", listener: () => void): this; + prependListener(event: "readable", listener: () => void): this; + prependListener(event: "error", listener: (err: Error) => void): this; + prependListener(event: string | symbol, listener: (...args: any[]) => void): this; + + prependOnceListener(event: "aborted", listener: (hadError: boolean, code: number) => void): this; + prependOnceListener(event: "close", listener: () => void): this; + prependOnceListener(event: "data", listener: (chunk: Buffer | string) => void): this; + prependOnceListener(event: "end", listener: () => void): this; + prependOnceListener(event: "readable", listener: () => void): this; + prependOnceListener(event: "error", listener: (err: Error) => void): this; + prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; + } + + export class Http2ServerResponse extends stream.Stream { + constructor(stream: ServerHttp2Stream); + + readonly connection: net.Socket | tls.TLSSocket; + readonly finished: boolean; + readonly headersSent: boolean; + readonly socket: net.Socket | tls.TLSSocket; + readonly stream: ServerHttp2Stream; + sendDate: boolean; + statusCode: number; + statusMessage: ''; + addTrailers(trailers: OutgoingHttpHeaders): void; + end(callback?: () => void): void; + end(data: string | Uint8Array, callback?: () => void): void; + end(data: string | Uint8Array, encoding: BufferEncoding, callback?: () => void): void; + getHeader(name: string): string; + getHeaderNames(): string[]; + getHeaders(): OutgoingHttpHeaders; + hasHeader(name: string): boolean; + removeHeader(name: string): void; + setHeader(name: string, value: number | string | ReadonlyArray): void; + setTimeout(msecs: number, callback?: () => void): void; + write(chunk: string | Uint8Array, callback?: (err: Error) => void): boolean; + write(chunk: string | Uint8Array, encoding: BufferEncoding, callback?: (err: Error) => void): boolean; + writeContinue(): void; + writeHead(statusCode: number, headers?: OutgoingHttpHeaders): this; + writeHead(statusCode: number, statusMessage: string, headers?: OutgoingHttpHeaders): this; + createPushResponse(headers: OutgoingHttpHeaders, callback: (err: Error | null, res: Http2ServerResponse) => void): void; + + addListener(event: "close", listener: () => void): this; + addListener(event: "drain", listener: () => void): this; + addListener(event: "error", listener: (error: Error) => void): this; + addListener(event: "finish", listener: () => void): this; + addListener(event: "pipe", listener: (src: stream.Readable) => void): this; + addListener(event: "unpipe", listener: (src: stream.Readable) => void): this; + addListener(event: string | symbol, listener: (...args: any[]) => void): this; + + emit(event: "close"): boolean; + emit(event: "drain"): boolean; + emit(event: "error", error: Error): boolean; + emit(event: "finish"): boolean; + emit(event: "pipe", src: stream.Readable): boolean; + emit(event: "unpipe", src: stream.Readable): boolean; + emit(event: string | symbol, ...args: any[]): boolean; + + on(event: "close", listener: () => void): this; + on(event: "drain", listener: () => void): this; + on(event: "error", listener: (error: Error) => void): this; + on(event: "finish", listener: () => void): this; + on(event: "pipe", listener: (src: stream.Readable) => void): this; + on(event: "unpipe", listener: (src: stream.Readable) => void): this; + on(event: string | symbol, listener: (...args: any[]) => void): this; + + once(event: "close", listener: () => void): this; + once(event: "drain", listener: () => void): this; + once(event: "error", listener: (error: Error) => void): this; + once(event: "finish", listener: () => void): this; + once(event: "pipe", listener: (src: stream.Readable) => void): this; + once(event: "unpipe", listener: (src: stream.Readable) => void): this; + once(event: string | symbol, listener: (...args: any[]) => void): this; + + prependListener(event: "close", listener: () => void): this; + prependListener(event: "drain", listener: () => void): this; + prependListener(event: "error", listener: (error: Error) => void): this; + prependListener(event: "finish", listener: () => void): this; + prependListener(event: "pipe", listener: (src: stream.Readable) => void): this; + prependListener(event: "unpipe", listener: (src: stream.Readable) => void): this; + prependListener(event: string | symbol, listener: (...args: any[]) => void): this; + + prependOnceListener(event: "close", listener: () => void): this; + prependOnceListener(event: "drain", listener: () => void): this; + prependOnceListener(event: "error", listener: (error: Error) => void): this; + prependOnceListener(event: "finish", listener: () => void): this; + prependOnceListener(event: "pipe", listener: (src: stream.Readable) => void): this; + prependOnceListener(event: "unpipe", listener: (src: stream.Readable) => void): this; + prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; + } + + // Public API + + export namespace constants { + const NGHTTP2_SESSION_SERVER: number; + const NGHTTP2_SESSION_CLIENT: number; + const NGHTTP2_STREAM_STATE_IDLE: number; + const NGHTTP2_STREAM_STATE_OPEN: number; + const NGHTTP2_STREAM_STATE_RESERVED_LOCAL: number; + const NGHTTP2_STREAM_STATE_RESERVED_REMOTE: number; + const NGHTTP2_STREAM_STATE_HALF_CLOSED_LOCAL: number; + const NGHTTP2_STREAM_STATE_HALF_CLOSED_REMOTE: number; + const NGHTTP2_STREAM_STATE_CLOSED: number; + const NGHTTP2_NO_ERROR: number; + const NGHTTP2_PROTOCOL_ERROR: number; + const NGHTTP2_INTERNAL_ERROR: number; + const NGHTTP2_FLOW_CONTROL_ERROR: number; + const NGHTTP2_SETTINGS_TIMEOUT: number; + const NGHTTP2_STREAM_CLOSED: number; + const NGHTTP2_FRAME_SIZE_ERROR: number; + const NGHTTP2_REFUSED_STREAM: number; + const NGHTTP2_CANCEL: number; + const NGHTTP2_COMPRESSION_ERROR: number; + const NGHTTP2_CONNECT_ERROR: number; + const NGHTTP2_ENHANCE_YOUR_CALM: number; + const NGHTTP2_INADEQUATE_SECURITY: number; + const NGHTTP2_HTTP_1_1_REQUIRED: number; + const NGHTTP2_ERR_FRAME_SIZE_ERROR: number; + const NGHTTP2_FLAG_NONE: number; + const NGHTTP2_FLAG_END_STREAM: number; + const NGHTTP2_FLAG_END_HEADERS: number; + const NGHTTP2_FLAG_ACK: number; + const NGHTTP2_FLAG_PADDED: number; + const NGHTTP2_FLAG_PRIORITY: number; + const DEFAULT_SETTINGS_HEADER_TABLE_SIZE: number; + const DEFAULT_SETTINGS_ENABLE_PUSH: number; + const DEFAULT_SETTINGS_INITIAL_WINDOW_SIZE: number; + const DEFAULT_SETTINGS_MAX_FRAME_SIZE: number; + const MAX_MAX_FRAME_SIZE: number; + const MIN_MAX_FRAME_SIZE: number; + const MAX_INITIAL_WINDOW_SIZE: number; + const NGHTTP2_DEFAULT_WEIGHT: number; + const NGHTTP2_SETTINGS_HEADER_TABLE_SIZE: number; + const NGHTTP2_SETTINGS_ENABLE_PUSH: number; + const NGHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS: number; + const NGHTTP2_SETTINGS_INITIAL_WINDOW_SIZE: number; + const NGHTTP2_SETTINGS_MAX_FRAME_SIZE: number; + const NGHTTP2_SETTINGS_MAX_HEADER_LIST_SIZE: number; + const PADDING_STRATEGY_NONE: number; + const PADDING_STRATEGY_MAX: number; + const PADDING_STRATEGY_CALLBACK: number; + const HTTP2_HEADER_STATUS: string; + const HTTP2_HEADER_METHOD: string; + const HTTP2_HEADER_AUTHORITY: string; + const HTTP2_HEADER_SCHEME: string; + const HTTP2_HEADER_PATH: string; + const HTTP2_HEADER_ACCEPT_CHARSET: string; + const HTTP2_HEADER_ACCEPT_ENCODING: string; + const HTTP2_HEADER_ACCEPT_LANGUAGE: string; + const HTTP2_HEADER_ACCEPT_RANGES: string; + const HTTP2_HEADER_ACCEPT: string; + const HTTP2_HEADER_ACCESS_CONTROL_ALLOW_ORIGIN: string; + const HTTP2_HEADER_AGE: string; + const HTTP2_HEADER_ALLOW: string; + const HTTP2_HEADER_AUTHORIZATION: string; + const HTTP2_HEADER_CACHE_CONTROL: string; + const HTTP2_HEADER_CONNECTION: string; + const HTTP2_HEADER_CONTENT_DISPOSITION: string; + const HTTP2_HEADER_CONTENT_ENCODING: string; + const HTTP2_HEADER_CONTENT_LANGUAGE: string; + const HTTP2_HEADER_CONTENT_LENGTH: string; + const HTTP2_HEADER_CONTENT_LOCATION: string; + const HTTP2_HEADER_CONTENT_MD5: string; + const HTTP2_HEADER_CONTENT_RANGE: string; + const HTTP2_HEADER_CONTENT_TYPE: string; + const HTTP2_HEADER_COOKIE: string; + const HTTP2_HEADER_DATE: string; + const HTTP2_HEADER_ETAG: string; + const HTTP2_HEADER_EXPECT: string; + const HTTP2_HEADER_EXPIRES: string; + const HTTP2_HEADER_FROM: string; + const HTTP2_HEADER_HOST: string; + const HTTP2_HEADER_IF_MATCH: string; + const HTTP2_HEADER_IF_MODIFIED_SINCE: string; + const HTTP2_HEADER_IF_NONE_MATCH: string; + const HTTP2_HEADER_IF_RANGE: string; + const HTTP2_HEADER_IF_UNMODIFIED_SINCE: string; + const HTTP2_HEADER_LAST_MODIFIED: string; + const HTTP2_HEADER_LINK: string; + const HTTP2_HEADER_LOCATION: string; + const HTTP2_HEADER_MAX_FORWARDS: string; + const HTTP2_HEADER_PREFER: string; + const HTTP2_HEADER_PROXY_AUTHENTICATE: string; + const HTTP2_HEADER_PROXY_AUTHORIZATION: string; + const HTTP2_HEADER_RANGE: string; + const HTTP2_HEADER_REFERER: string; + const HTTP2_HEADER_REFRESH: string; + const HTTP2_HEADER_RETRY_AFTER: string; + const HTTP2_HEADER_SERVER: string; + const HTTP2_HEADER_SET_COOKIE: string; + const HTTP2_HEADER_STRICT_TRANSPORT_SECURITY: string; + const HTTP2_HEADER_TRANSFER_ENCODING: string; + const HTTP2_HEADER_TE: string; + const HTTP2_HEADER_UPGRADE: string; + const HTTP2_HEADER_USER_AGENT: string; + const HTTP2_HEADER_VARY: string; + const HTTP2_HEADER_VIA: string; + const HTTP2_HEADER_WWW_AUTHENTICATE: string; + const HTTP2_HEADER_HTTP2_SETTINGS: string; + const HTTP2_HEADER_KEEP_ALIVE: string; + const HTTP2_HEADER_PROXY_CONNECTION: string; + const HTTP2_METHOD_ACL: string; + const HTTP2_METHOD_BASELINE_CONTROL: string; + const HTTP2_METHOD_BIND: string; + const HTTP2_METHOD_CHECKIN: string; + const HTTP2_METHOD_CHECKOUT: string; + const HTTP2_METHOD_CONNECT: string; + const HTTP2_METHOD_COPY: string; + const HTTP2_METHOD_DELETE: string; + const HTTP2_METHOD_GET: string; + const HTTP2_METHOD_HEAD: string; + const HTTP2_METHOD_LABEL: string; + const HTTP2_METHOD_LINK: string; + const HTTP2_METHOD_LOCK: string; + const HTTP2_METHOD_MERGE: string; + const HTTP2_METHOD_MKACTIVITY: string; + const HTTP2_METHOD_MKCALENDAR: string; + const HTTP2_METHOD_MKCOL: string; + const HTTP2_METHOD_MKREDIRECTREF: string; + const HTTP2_METHOD_MKWORKSPACE: string; + const HTTP2_METHOD_MOVE: string; + const HTTP2_METHOD_OPTIONS: string; + const HTTP2_METHOD_ORDERPATCH: string; + const HTTP2_METHOD_PATCH: string; + const HTTP2_METHOD_POST: string; + const HTTP2_METHOD_PRI: string; + const HTTP2_METHOD_PROPFIND: string; + const HTTP2_METHOD_PROPPATCH: string; + const HTTP2_METHOD_PUT: string; + const HTTP2_METHOD_REBIND: string; + const HTTP2_METHOD_REPORT: string; + const HTTP2_METHOD_SEARCH: string; + const HTTP2_METHOD_TRACE: string; + const HTTP2_METHOD_UNBIND: string; + const HTTP2_METHOD_UNCHECKOUT: string; + const HTTP2_METHOD_UNLINK: string; + const HTTP2_METHOD_UNLOCK: string; + const HTTP2_METHOD_UPDATE: string; + const HTTP2_METHOD_UPDATEREDIRECTREF: string; + const HTTP2_METHOD_VERSION_CONTROL: string; + const HTTP_STATUS_CONTINUE: number; + const HTTP_STATUS_SWITCHING_PROTOCOLS: number; + const HTTP_STATUS_PROCESSING: number; + const HTTP_STATUS_OK: number; + const HTTP_STATUS_CREATED: number; + const HTTP_STATUS_ACCEPTED: number; + const HTTP_STATUS_NON_AUTHORITATIVE_INFORMATION: number; + const HTTP_STATUS_NO_CONTENT: number; + const HTTP_STATUS_RESET_CONTENT: number; + const HTTP_STATUS_PARTIAL_CONTENT: number; + const HTTP_STATUS_MULTI_STATUS: number; + const HTTP_STATUS_ALREADY_REPORTED: number; + const HTTP_STATUS_IM_USED: number; + const HTTP_STATUS_MULTIPLE_CHOICES: number; + const HTTP_STATUS_MOVED_PERMANENTLY: number; + const HTTP_STATUS_FOUND: number; + const HTTP_STATUS_SEE_OTHER: number; + const HTTP_STATUS_NOT_MODIFIED: number; + const HTTP_STATUS_USE_PROXY: number; + const HTTP_STATUS_TEMPORARY_REDIRECT: number; + const HTTP_STATUS_PERMANENT_REDIRECT: number; + const HTTP_STATUS_BAD_REQUEST: number; + const HTTP_STATUS_UNAUTHORIZED: number; + const HTTP_STATUS_PAYMENT_REQUIRED: number; + const HTTP_STATUS_FORBIDDEN: number; + const HTTP_STATUS_NOT_FOUND: number; + const HTTP_STATUS_METHOD_NOT_ALLOWED: number; + const HTTP_STATUS_NOT_ACCEPTABLE: number; + const HTTP_STATUS_PROXY_AUTHENTICATION_REQUIRED: number; + const HTTP_STATUS_REQUEST_TIMEOUT: number; + const HTTP_STATUS_CONFLICT: number; + const HTTP_STATUS_GONE: number; + const HTTP_STATUS_LENGTH_REQUIRED: number; + const HTTP_STATUS_PRECONDITION_FAILED: number; + const HTTP_STATUS_PAYLOAD_TOO_LARGE: number; + const HTTP_STATUS_URI_TOO_LONG: number; + const HTTP_STATUS_UNSUPPORTED_MEDIA_TYPE: number; + const HTTP_STATUS_RANGE_NOT_SATISFIABLE: number; + const HTTP_STATUS_EXPECTATION_FAILED: number; + const HTTP_STATUS_TEAPOT: number; + const HTTP_STATUS_MISDIRECTED_REQUEST: number; + const HTTP_STATUS_UNPROCESSABLE_ENTITY: number; + const HTTP_STATUS_LOCKED: number; + const HTTP_STATUS_FAILED_DEPENDENCY: number; + const HTTP_STATUS_UNORDERED_COLLECTION: number; + const HTTP_STATUS_UPGRADE_REQUIRED: number; + const HTTP_STATUS_PRECONDITION_REQUIRED: number; + const HTTP_STATUS_TOO_MANY_REQUESTS: number; + const HTTP_STATUS_REQUEST_HEADER_FIELDS_TOO_LARGE: number; + const HTTP_STATUS_UNAVAILABLE_FOR_LEGAL_REASONS: number; + const HTTP_STATUS_INTERNAL_SERVER_ERROR: number; + const HTTP_STATUS_NOT_IMPLEMENTED: number; + const HTTP_STATUS_BAD_GATEWAY: number; + const HTTP_STATUS_SERVICE_UNAVAILABLE: number; + const HTTP_STATUS_GATEWAY_TIMEOUT: number; + const HTTP_STATUS_HTTP_VERSION_NOT_SUPPORTED: number; + const HTTP_STATUS_VARIANT_ALSO_NEGOTIATES: number; + const HTTP_STATUS_INSUFFICIENT_STORAGE: number; + const HTTP_STATUS_LOOP_DETECTED: number; + const HTTP_STATUS_BANDWIDTH_LIMIT_EXCEEDED: number; + const HTTP_STATUS_NOT_EXTENDED: number; + const HTTP_STATUS_NETWORK_AUTHENTICATION_REQUIRED: number; + } + + export function getDefaultSettings(): Settings; + export function getPackedSettings(settings: Settings): Buffer; + export function getUnpackedSettings(buf: Uint8Array): Settings; + + export function createServer(onRequestHandler?: (request: Http2ServerRequest, response: Http2ServerResponse) => void): Http2Server; + export function createServer(options: ServerOptions, onRequestHandler?: (request: Http2ServerRequest, response: Http2ServerResponse) => void): Http2Server; + + export function createSecureServer(onRequestHandler?: (request: Http2ServerRequest, response: Http2ServerResponse) => void): Http2SecureServer; + export function createSecureServer(options: SecureServerOptions, onRequestHandler?: (request: Http2ServerRequest, response: Http2ServerResponse) => void): Http2SecureServer; + + export function connect(authority: string | url.URL, listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void): ClientHttp2Session; + export function connect( + authority: string | url.URL, + options?: ClientSessionOptions | SecureClientSessionOptions, + listener?: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void + ): ClientHttp2Session; +} diff --git a/node_modules/@types/node/https.d.ts b/node_modules/@types/node/https.d.ts new file mode 100644 index 0000000..24326c9 --- /dev/null +++ b/node_modules/@types/node/https.d.ts @@ -0,0 +1,37 @@ +declare module "https" { + import * as tls from "tls"; + import * as events from "events"; + import * as http from "http"; + import { URL } from "url"; + + type ServerOptions = tls.SecureContextOptions & tls.TlsOptions & http.ServerOptions; + + type RequestOptions = http.RequestOptions & tls.SecureContextOptions & { + rejectUnauthorized?: boolean; // Defaults to true + servername?: string; // SNI TLS Extension + }; + + interface AgentOptions extends http.AgentOptions, tls.ConnectionOptions { + rejectUnauthorized?: boolean; + maxCachedSessions?: number; + } + + class Agent extends http.Agent { + constructor(options?: AgentOptions); + options: AgentOptions; + } + + interface Server extends http.HttpBase {} + class Server extends tls.Server { + constructor(requestListener?: http.RequestListener); + constructor(options: ServerOptions, requestListener?: http.RequestListener); + } + + function createServer(requestListener?: http.RequestListener): Server; + function createServer(options: ServerOptions, requestListener?: http.RequestListener): Server; + function request(options: RequestOptions | string | URL, callback?: (res: http.IncomingMessage) => void): http.ClientRequest; + function request(url: string | URL, options: RequestOptions, callback?: (res: http.IncomingMessage) => void): http.ClientRequest; + function get(options: RequestOptions | string | URL, callback?: (res: http.IncomingMessage) => void): http.ClientRequest; + function get(url: string | URL, options: RequestOptions, callback?: (res: http.IncomingMessage) => void): http.ClientRequest; + let globalAgent: Agent; +} diff --git a/node_modules/@types/node/index.d.ts b/node_modules/@types/node/index.d.ts new file mode 100644 index 0000000..af956ee --- /dev/null +++ b/node_modules/@types/node/index.d.ts @@ -0,0 +1,61 @@ +// Type definitions for non-npm package Node.js 14.14 +// Project: http://nodejs.org/ +// Definitions by: Microsoft TypeScript +// DefinitelyTyped +// Alberto Schiabel +// Alexander T. +// Alvis HT Tang +// Andrew Makarov +// Benjamin Toueg +// Bruno Scheufler +// Chigozirim C. +// David Junger +// Deividas Bakanas +// Eugene Y. Q. Shen +// Flarna +// Hannes Magnusson +// Hoàng Văn Khải +// Huw +// Kelvin Jin +// Klaus Meinhardt +// Lishude +// Mariusz Wiktorczyk +// Mohsen Azimi +// Nicolas Even +// Nikita Galkin +// Parambir Singh +// Sebastian Silbermann +// Simon Schick +// Thomas den Hollander +// Wilco Bakker +// wwwy3y3 +// Samuel Ainsworth +// Kyle Uehlein +// Jordi Oliveras Rovira +// Thanik Bhongbhibhat +// Marcin Kopacz +// Trivikram Kamat +// Minh Son Nguyen +// Junxiao Shi +// Ilia Baryshnikov +// ExE Boss +// Surasak Chaisurin +// Piotr Błażejewicz +// Anna Henningsen +// Jason Kwok +// Victor Perin +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +// NOTE: These definitions support NodeJS and TypeScript 3.7. +// Typically type modifications should be made in base.d.ts instead of here + +/// + +// NOTE: TypeScript version-specific augmentations can be found in the following paths: +// - ~/base.d.ts - Shared definitions common to all TypeScript versions +// - ~/index.d.ts - Definitions specific to TypeScript 2.8 +// - ~/ts3.5/index.d.ts - Definitions specific to TypeScript 3.5 + +// NOTE: Augmentations for TypeScript 3.5 and later should use individual files for overrides +// within the respective ~/ts3.5 (or later) folder. However, this is disallowed for versions +// prior to TypeScript 3.5, so the older definitions will be found here. diff --git a/node_modules/@types/node/inspector.d.ts b/node_modules/@types/node/inspector.d.ts new file mode 100644 index 0000000..1c57734 --- /dev/null +++ b/node_modules/@types/node/inspector.d.ts @@ -0,0 +1,3041 @@ +// tslint:disable-next-line:dt-header +// Type definitions for inspector + +// These definitions are auto-generated. +// Please see https://github.com/DefinitelyTyped/DefinitelyTyped/pull/19330 +// for more information. + +// tslint:disable:max-line-length + +/** + * The inspector module provides an API for interacting with the V8 inspector. + */ +declare module "inspector" { + import { EventEmitter } from 'events'; + + interface InspectorNotification { + method: string; + params: T; + } + + namespace Schema { + /** + * Description of the protocol domain. + */ + interface Domain { + /** + * Domain name. + */ + name: string; + /** + * Domain version. + */ + version: string; + } + + interface GetDomainsReturnType { + /** + * List of supported domains. + */ + domains: Domain[]; + } + } + + namespace Runtime { + /** + * Unique script identifier. + */ + type ScriptId = string; + + /** + * Unique object identifier. + */ + type RemoteObjectId = string; + + /** + * Primitive value which cannot be JSON-stringified. + */ + type UnserializableValue = string; + + /** + * Mirror object referencing original JavaScript object. + */ + interface RemoteObject { + /** + * Object type. + */ + type: string; + /** + * Object subtype hint. Specified for object type values only. + */ + subtype?: string; + /** + * Object class (constructor) name. Specified for object type values only. + */ + className?: string; + /** + * Remote object value in case of primitive values or JSON values (if it was requested). + */ + value?: any; + /** + * Primitive value which can not be JSON-stringified does not have value, but gets this property. + */ + unserializableValue?: UnserializableValue; + /** + * String representation of the object. + */ + description?: string; + /** + * Unique object identifier (for non-primitive values). + */ + objectId?: RemoteObjectId; + /** + * Preview containing abbreviated property values. Specified for object type values only. + * @experimental + */ + preview?: ObjectPreview; + /** + * @experimental + */ + customPreview?: CustomPreview; + } + + /** + * @experimental + */ + interface CustomPreview { + header: string; + hasBody: boolean; + formatterObjectId: RemoteObjectId; + bindRemoteObjectFunctionId: RemoteObjectId; + configObjectId?: RemoteObjectId; + } + + /** + * Object containing abbreviated remote object value. + * @experimental + */ + interface ObjectPreview { + /** + * Object type. + */ + type: string; + /** + * Object subtype hint. Specified for object type values only. + */ + subtype?: string; + /** + * String representation of the object. + */ + description?: string; + /** + * True iff some of the properties or entries of the original object did not fit. + */ + overflow: boolean; + /** + * List of the properties. + */ + properties: PropertyPreview[]; + /** + * List of the entries. Specified for map and set subtype values only. + */ + entries?: EntryPreview[]; + } + + /** + * @experimental + */ + interface PropertyPreview { + /** + * Property name. + */ + name: string; + /** + * Object type. Accessor means that the property itself is an accessor property. + */ + type: string; + /** + * User-friendly property value string. + */ + value?: string; + /** + * Nested value preview. + */ + valuePreview?: ObjectPreview; + /** + * Object subtype hint. Specified for object type values only. + */ + subtype?: string; + } + + /** + * @experimental + */ + interface EntryPreview { + /** + * Preview of the key. Specified for map-like collection entries. + */ + key?: ObjectPreview; + /** + * Preview of the value. + */ + value: ObjectPreview; + } + + /** + * Object property descriptor. + */ + interface PropertyDescriptor { + /** + * Property name or symbol description. + */ + name: string; + /** + * The value associated with the property. + */ + value?: RemoteObject; + /** + * True if the value associated with the property may be changed (data descriptors only). + */ + writable?: boolean; + /** + * A function which serves as a getter for the property, or undefined if there is no getter (accessor descriptors only). + */ + get?: RemoteObject; + /** + * A function which serves as a setter for the property, or undefined if there is no setter (accessor descriptors only). + */ + set?: RemoteObject; + /** + * True if the type of this property descriptor may be changed and if the property may be deleted from the corresponding object. + */ + configurable: boolean; + /** + * True if this property shows up during enumeration of the properties on the corresponding object. + */ + enumerable: boolean; + /** + * True if the result was thrown during the evaluation. + */ + wasThrown?: boolean; + /** + * True if the property is owned for the object. + */ + isOwn?: boolean; + /** + * Property symbol object, if the property is of the symbol type. + */ + symbol?: RemoteObject; + } + + /** + * Object internal property descriptor. This property isn't normally visible in JavaScript code. + */ + interface InternalPropertyDescriptor { + /** + * Conventional property name. + */ + name: string; + /** + * The value associated with the property. + */ + value?: RemoteObject; + } + + /** + * Represents function call argument. Either remote object id objectId, primitive value, unserializable primitive value or neither of (for undefined) them should be specified. + */ + interface CallArgument { + /** + * Primitive value or serializable javascript object. + */ + value?: any; + /** + * Primitive value which can not be JSON-stringified. + */ + unserializableValue?: UnserializableValue; + /** + * Remote object handle. + */ + objectId?: RemoteObjectId; + } + + /** + * Id of an execution context. + */ + type ExecutionContextId = number; + + /** + * Description of an isolated world. + */ + interface ExecutionContextDescription { + /** + * Unique id of the execution context. It can be used to specify in which execution context script evaluation should be performed. + */ + id: ExecutionContextId; + /** + * Execution context origin. + */ + origin: string; + /** + * Human readable name describing given context. + */ + name: string; + /** + * Embedder-specific auxiliary data. + */ + auxData?: {}; + } + + /** + * Detailed information about exception (or error) that was thrown during script compilation or execution. + */ + interface ExceptionDetails { + /** + * Exception id. + */ + exceptionId: number; + /** + * Exception text, which should be used together with exception object when available. + */ + text: string; + /** + * Line number of the exception location (0-based). + */ + lineNumber: number; + /** + * Column number of the exception location (0-based). + */ + columnNumber: number; + /** + * Script ID of the exception location. + */ + scriptId?: ScriptId; + /** + * URL of the exception location, to be used when the script was not reported. + */ + url?: string; + /** + * JavaScript stack trace if available. + */ + stackTrace?: StackTrace; + /** + * Exception object if available. + */ + exception?: RemoteObject; + /** + * Identifier of the context where exception happened. + */ + executionContextId?: ExecutionContextId; + } + + /** + * Number of milliseconds since epoch. + */ + type Timestamp = number; + + /** + * Stack entry for runtime errors and assertions. + */ + interface CallFrame { + /** + * JavaScript function name. + */ + functionName: string; + /** + * JavaScript script id. + */ + scriptId: ScriptId; + /** + * JavaScript script name or url. + */ + url: string; + /** + * JavaScript script line number (0-based). + */ + lineNumber: number; + /** + * JavaScript script column number (0-based). + */ + columnNumber: number; + } + + /** + * Call frames for assertions or error messages. + */ + interface StackTrace { + /** + * String label of this stack trace. For async traces this may be a name of the function that initiated the async call. + */ + description?: string; + /** + * JavaScript function name. + */ + callFrames: CallFrame[]; + /** + * Asynchronous JavaScript stack trace that preceded this stack, if available. + */ + parent?: StackTrace; + /** + * Asynchronous JavaScript stack trace that preceded this stack, if available. + * @experimental + */ + parentId?: StackTraceId; + } + + /** + * Unique identifier of current debugger. + * @experimental + */ + type UniqueDebuggerId = string; + + /** + * If debuggerId is set stack trace comes from another debugger and can be resolved there. This allows to track cross-debugger calls. See Runtime.StackTrace and Debugger.paused for usages. + * @experimental + */ + interface StackTraceId { + id: string; + debuggerId?: UniqueDebuggerId; + } + + interface EvaluateParameterType { + /** + * Expression to evaluate. + */ + expression: string; + /** + * Symbolic group name that can be used to release multiple objects. + */ + objectGroup?: string; + /** + * Determines whether Command Line API should be available during the evaluation. + */ + includeCommandLineAPI?: boolean; + /** + * In silent mode exceptions thrown during evaluation are not reported and do not pause execution. Overrides setPauseOnException state. + */ + silent?: boolean; + /** + * Specifies in which execution context to perform evaluation. If the parameter is omitted the evaluation will be performed in the context of the inspected page. + */ + contextId?: ExecutionContextId; + /** + * Whether the result is expected to be a JSON object that should be sent by value. + */ + returnByValue?: boolean; + /** + * Whether preview should be generated for the result. + * @experimental + */ + generatePreview?: boolean; + /** + * Whether execution should be treated as initiated by user in the UI. + */ + userGesture?: boolean; + /** + * Whether execution should await for resulting value and return once awaited promise is resolved. + */ + awaitPromise?: boolean; + } + + interface AwaitPromiseParameterType { + /** + * Identifier of the promise. + */ + promiseObjectId: RemoteObjectId; + /** + * Whether the result is expected to be a JSON object that should be sent by value. + */ + returnByValue?: boolean; + /** + * Whether preview should be generated for the result. + */ + generatePreview?: boolean; + } + + interface CallFunctionOnParameterType { + /** + * Declaration of the function to call. + */ + functionDeclaration: string; + /** + * Identifier of the object to call function on. Either objectId or executionContextId should be specified. + */ + objectId?: RemoteObjectId; + /** + * Call arguments. All call arguments must belong to the same JavaScript world as the target object. + */ + arguments?: CallArgument[]; + /** + * In silent mode exceptions thrown during evaluation are not reported and do not pause execution. Overrides setPauseOnException state. + */ + silent?: boolean; + /** + * Whether the result is expected to be a JSON object which should be sent by value. + */ + returnByValue?: boolean; + /** + * Whether preview should be generated for the result. + * @experimental + */ + generatePreview?: boolean; + /** + * Whether execution should be treated as initiated by user in the UI. + */ + userGesture?: boolean; + /** + * Whether execution should await for resulting value and return once awaited promise is resolved. + */ + awaitPromise?: boolean; + /** + * Specifies execution context which global object will be used to call function on. Either executionContextId or objectId should be specified. + */ + executionContextId?: ExecutionContextId; + /** + * Symbolic group name that can be used to release multiple objects. If objectGroup is not specified and objectId is, objectGroup will be inherited from object. + */ + objectGroup?: string; + } + + interface GetPropertiesParameterType { + /** + * Identifier of the object to return properties for. + */ + objectId: RemoteObjectId; + /** + * If true, returns properties belonging only to the element itself, not to its prototype chain. + */ + ownProperties?: boolean; + /** + * If true, returns accessor properties (with getter/setter) only; internal properties are not returned either. + * @experimental + */ + accessorPropertiesOnly?: boolean; + /** + * Whether preview should be generated for the results. + * @experimental + */ + generatePreview?: boolean; + } + + interface ReleaseObjectParameterType { + /** + * Identifier of the object to release. + */ + objectId: RemoteObjectId; + } + + interface ReleaseObjectGroupParameterType { + /** + * Symbolic object group name. + */ + objectGroup: string; + } + + interface SetCustomObjectFormatterEnabledParameterType { + enabled: boolean; + } + + interface CompileScriptParameterType { + /** + * Expression to compile. + */ + expression: string; + /** + * Source url to be set for the script. + */ + sourceURL: string; + /** + * Specifies whether the compiled script should be persisted. + */ + persistScript: boolean; + /** + * Specifies in which execution context to perform script run. If the parameter is omitted the evaluation will be performed in the context of the inspected page. + */ + executionContextId?: ExecutionContextId; + } + + interface RunScriptParameterType { + /** + * Id of the script to run. + */ + scriptId: ScriptId; + /** + * Specifies in which execution context to perform script run. If the parameter is omitted the evaluation will be performed in the context of the inspected page. + */ + executionContextId?: ExecutionContextId; + /** + * Symbolic group name that can be used to release multiple objects. + */ + objectGroup?: string; + /** + * In silent mode exceptions thrown during evaluation are not reported and do not pause execution. Overrides setPauseOnException state. + */ + silent?: boolean; + /** + * Determines whether Command Line API should be available during the evaluation. + */ + includeCommandLineAPI?: boolean; + /** + * Whether the result is expected to be a JSON object which should be sent by value. + */ + returnByValue?: boolean; + /** + * Whether preview should be generated for the result. + */ + generatePreview?: boolean; + /** + * Whether execution should await for resulting value and return once awaited promise is resolved. + */ + awaitPromise?: boolean; + } + + interface QueryObjectsParameterType { + /** + * Identifier of the prototype to return objects for. + */ + prototypeObjectId: RemoteObjectId; + } + + interface GlobalLexicalScopeNamesParameterType { + /** + * Specifies in which execution context to lookup global scope variables. + */ + executionContextId?: ExecutionContextId; + } + + interface EvaluateReturnType { + /** + * Evaluation result. + */ + result: RemoteObject; + /** + * Exception details. + */ + exceptionDetails?: ExceptionDetails; + } + + interface AwaitPromiseReturnType { + /** + * Promise result. Will contain rejected value if promise was rejected. + */ + result: RemoteObject; + /** + * Exception details if stack strace is available. + */ + exceptionDetails?: ExceptionDetails; + } + + interface CallFunctionOnReturnType { + /** + * Call result. + */ + result: RemoteObject; + /** + * Exception details. + */ + exceptionDetails?: ExceptionDetails; + } + + interface GetPropertiesReturnType { + /** + * Object properties. + */ + result: PropertyDescriptor[]; + /** + * Internal object properties (only of the element itself). + */ + internalProperties?: InternalPropertyDescriptor[]; + /** + * Exception details. + */ + exceptionDetails?: ExceptionDetails; + } + + interface CompileScriptReturnType { + /** + * Id of the script. + */ + scriptId?: ScriptId; + /** + * Exception details. + */ + exceptionDetails?: ExceptionDetails; + } + + interface RunScriptReturnType { + /** + * Run result. + */ + result: RemoteObject; + /** + * Exception details. + */ + exceptionDetails?: ExceptionDetails; + } + + interface QueryObjectsReturnType { + /** + * Array with objects. + */ + objects: RemoteObject; + } + + interface GlobalLexicalScopeNamesReturnType { + names: string[]; + } + + interface ExecutionContextCreatedEventDataType { + /** + * A newly created execution context. + */ + context: ExecutionContextDescription; + } + + interface ExecutionContextDestroyedEventDataType { + /** + * Id of the destroyed context + */ + executionContextId: ExecutionContextId; + } + + interface ExceptionThrownEventDataType { + /** + * Timestamp of the exception. + */ + timestamp: Timestamp; + exceptionDetails: ExceptionDetails; + } + + interface ExceptionRevokedEventDataType { + /** + * Reason describing why exception was revoked. + */ + reason: string; + /** + * The id of revoked exception, as reported in exceptionThrown. + */ + exceptionId: number; + } + + interface ConsoleAPICalledEventDataType { + /** + * Type of the call. + */ + type: string; + /** + * Call arguments. + */ + args: RemoteObject[]; + /** + * Identifier of the context where the call was made. + */ + executionContextId: ExecutionContextId; + /** + * Call timestamp. + */ + timestamp: Timestamp; + /** + * Stack trace captured when the call was made. + */ + stackTrace?: StackTrace; + /** + * Console context descriptor for calls on non-default console context (not console.*): 'anonymous#unique-logger-id' for call on unnamed context, 'name#unique-logger-id' for call on named context. + * @experimental + */ + context?: string; + } + + interface InspectRequestedEventDataType { + object: RemoteObject; + hints: {}; + } + } + + namespace Debugger { + /** + * Breakpoint identifier. + */ + type BreakpointId = string; + + /** + * Call frame identifier. + */ + type CallFrameId = string; + + /** + * Location in the source code. + */ + interface Location { + /** + * Script identifier as reported in the Debugger.scriptParsed. + */ + scriptId: Runtime.ScriptId; + /** + * Line number in the script (0-based). + */ + lineNumber: number; + /** + * Column number in the script (0-based). + */ + columnNumber?: number; + } + + /** + * Location in the source code. + * @experimental + */ + interface ScriptPosition { + lineNumber: number; + columnNumber: number; + } + + /** + * JavaScript call frame. Array of call frames form the call stack. + */ + interface CallFrame { + /** + * Call frame identifier. This identifier is only valid while the virtual machine is paused. + */ + callFrameId: CallFrameId; + /** + * Name of the JavaScript function called on this call frame. + */ + functionName: string; + /** + * Location in the source code. + */ + functionLocation?: Location; + /** + * Location in the source code. + */ + location: Location; + /** + * JavaScript script name or url. + */ + url: string; + /** + * Scope chain for this call frame. + */ + scopeChain: Scope[]; + /** + * this object for this call frame. + */ + this: Runtime.RemoteObject; + /** + * The value being returned, if the function is at return point. + */ + returnValue?: Runtime.RemoteObject; + } + + /** + * Scope description. + */ + interface Scope { + /** + * Scope type. + */ + type: string; + /** + * Object representing the scope. For global and with scopes it represents the actual object; for the rest of the scopes, it is artificial transient object enumerating scope variables as its properties. + */ + object: Runtime.RemoteObject; + name?: string; + /** + * Location in the source code where scope starts + */ + startLocation?: Location; + /** + * Location in the source code where scope ends + */ + endLocation?: Location; + } + + /** + * Search match for resource. + */ + interface SearchMatch { + /** + * Line number in resource content. + */ + lineNumber: number; + /** + * Line with match content. + */ + lineContent: string; + } + + interface BreakLocation { + /** + * Script identifier as reported in the Debugger.scriptParsed. + */ + scriptId: Runtime.ScriptId; + /** + * Line number in the script (0-based). + */ + lineNumber: number; + /** + * Column number in the script (0-based). + */ + columnNumber?: number; + type?: string; + } + + interface SetBreakpointsActiveParameterType { + /** + * New value for breakpoints active state. + */ + active: boolean; + } + + interface SetSkipAllPausesParameterType { + /** + * New value for skip pauses state. + */ + skip: boolean; + } + + interface SetBreakpointByUrlParameterType { + /** + * Line number to set breakpoint at. + */ + lineNumber: number; + /** + * URL of the resources to set breakpoint on. + */ + url?: string; + /** + * Regex pattern for the URLs of the resources to set breakpoints on. Either url or urlRegex must be specified. + */ + urlRegex?: string; + /** + * Script hash of the resources to set breakpoint on. + */ + scriptHash?: string; + /** + * Offset in the line to set breakpoint at. + */ + columnNumber?: number; + /** + * Expression to use as a breakpoint condition. When specified, debugger will only stop on the breakpoint if this expression evaluates to true. + */ + condition?: string; + } + + interface SetBreakpointParameterType { + /** + * Location to set breakpoint in. + */ + location: Location; + /** + * Expression to use as a breakpoint condition. When specified, debugger will only stop on the breakpoint if this expression evaluates to true. + */ + condition?: string; + } + + interface RemoveBreakpointParameterType { + breakpointId: BreakpointId; + } + + interface GetPossibleBreakpointsParameterType { + /** + * Start of range to search possible breakpoint locations in. + */ + start: Location; + /** + * End of range to search possible breakpoint locations in (excluding). When not specified, end of scripts is used as end of range. + */ + end?: Location; + /** + * Only consider locations which are in the same (non-nested) function as start. + */ + restrictToFunction?: boolean; + } + + interface ContinueToLocationParameterType { + /** + * Location to continue to. + */ + location: Location; + targetCallFrames?: string; + } + + interface PauseOnAsyncCallParameterType { + /** + * Debugger will pause when async call with given stack trace is started. + */ + parentStackTraceId: Runtime.StackTraceId; + } + + interface StepIntoParameterType { + /** + * Debugger will issue additional Debugger.paused notification if any async task is scheduled before next pause. + * @experimental + */ + breakOnAsyncCall?: boolean; + } + + interface GetStackTraceParameterType { + stackTraceId: Runtime.StackTraceId; + } + + interface SearchInContentParameterType { + /** + * Id of the script to search in. + */ + scriptId: Runtime.ScriptId; + /** + * String to search for. + */ + query: string; + /** + * If true, search is case sensitive. + */ + caseSensitive?: boolean; + /** + * If true, treats string parameter as regex. + */ + isRegex?: boolean; + } + + interface SetScriptSourceParameterType { + /** + * Id of the script to edit. + */ + scriptId: Runtime.ScriptId; + /** + * New content of the script. + */ + scriptSource: string; + /** + * If true the change will not actually be applied. Dry run may be used to get result description without actually modifying the code. + */ + dryRun?: boolean; + } + + interface RestartFrameParameterType { + /** + * Call frame identifier to evaluate on. + */ + callFrameId: CallFrameId; + } + + interface GetScriptSourceParameterType { + /** + * Id of the script to get source for. + */ + scriptId: Runtime.ScriptId; + } + + interface SetPauseOnExceptionsParameterType { + /** + * Pause on exceptions mode. + */ + state: string; + } + + interface EvaluateOnCallFrameParameterType { + /** + * Call frame identifier to evaluate on. + */ + callFrameId: CallFrameId; + /** + * Expression to evaluate. + */ + expression: string; + /** + * String object group name to put result into (allows rapid releasing resulting object handles using releaseObjectGroup). + */ + objectGroup?: string; + /** + * Specifies whether command line API should be available to the evaluated expression, defaults to false. + */ + includeCommandLineAPI?: boolean; + /** + * In silent mode exceptions thrown during evaluation are not reported and do not pause execution. Overrides setPauseOnException state. + */ + silent?: boolean; + /** + * Whether the result is expected to be a JSON object that should be sent by value. + */ + returnByValue?: boolean; + /** + * Whether preview should be generated for the result. + * @experimental + */ + generatePreview?: boolean; + /** + * Whether to throw an exception if side effect cannot be ruled out during evaluation. + */ + throwOnSideEffect?: boolean; + } + + interface SetVariableValueParameterType { + /** + * 0-based number of scope as was listed in scope chain. Only 'local', 'closure' and 'catch' scope types are allowed. Other scopes could be manipulated manually. + */ + scopeNumber: number; + /** + * Variable name. + */ + variableName: string; + /** + * New variable value. + */ + newValue: Runtime.CallArgument; + /** + * Id of callframe that holds variable. + */ + callFrameId: CallFrameId; + } + + interface SetReturnValueParameterType { + /** + * New return value. + */ + newValue: Runtime.CallArgument; + } + + interface SetAsyncCallStackDepthParameterType { + /** + * Maximum depth of async call stacks. Setting to 0 will effectively disable collecting async call stacks (default). + */ + maxDepth: number; + } + + interface SetBlackboxPatternsParameterType { + /** + * Array of regexps that will be used to check script url for blackbox state. + */ + patterns: string[]; + } + + interface SetBlackboxedRangesParameterType { + /** + * Id of the script. + */ + scriptId: Runtime.ScriptId; + positions: ScriptPosition[]; + } + + interface EnableReturnType { + /** + * Unique identifier of the debugger. + * @experimental + */ + debuggerId: Runtime.UniqueDebuggerId; + } + + interface SetBreakpointByUrlReturnType { + /** + * Id of the created breakpoint for further reference. + */ + breakpointId: BreakpointId; + /** + * List of the locations this breakpoint resolved into upon addition. + */ + locations: Location[]; + } + + interface SetBreakpointReturnType { + /** + * Id of the created breakpoint for further reference. + */ + breakpointId: BreakpointId; + /** + * Location this breakpoint resolved into. + */ + actualLocation: Location; + } + + interface GetPossibleBreakpointsReturnType { + /** + * List of the possible breakpoint locations. + */ + locations: BreakLocation[]; + } + + interface GetStackTraceReturnType { + stackTrace: Runtime.StackTrace; + } + + interface SearchInContentReturnType { + /** + * List of search matches. + */ + result: SearchMatch[]; + } + + interface SetScriptSourceReturnType { + /** + * New stack trace in case editing has happened while VM was stopped. + */ + callFrames?: CallFrame[]; + /** + * Whether current call stack was modified after applying the changes. + */ + stackChanged?: boolean; + /** + * Async stack trace, if any. + */ + asyncStackTrace?: Runtime.StackTrace; + /** + * Async stack trace, if any. + * @experimental + */ + asyncStackTraceId?: Runtime.StackTraceId; + /** + * Exception details if any. + */ + exceptionDetails?: Runtime.ExceptionDetails; + } + + interface RestartFrameReturnType { + /** + * New stack trace. + */ + callFrames: CallFrame[]; + /** + * Async stack trace, if any. + */ + asyncStackTrace?: Runtime.StackTrace; + /** + * Async stack trace, if any. + * @experimental + */ + asyncStackTraceId?: Runtime.StackTraceId; + } + + interface GetScriptSourceReturnType { + /** + * Script source. + */ + scriptSource: string; + } + + interface EvaluateOnCallFrameReturnType { + /** + * Object wrapper for the evaluation result. + */ + result: Runtime.RemoteObject; + /** + * Exception details. + */ + exceptionDetails?: Runtime.ExceptionDetails; + } + + interface ScriptParsedEventDataType { + /** + * Identifier of the script parsed. + */ + scriptId: Runtime.ScriptId; + /** + * URL or name of the script parsed (if any). + */ + url: string; + /** + * Line offset of the script within the resource with given URL (for script tags). + */ + startLine: number; + /** + * Column offset of the script within the resource with given URL. + */ + startColumn: number; + /** + * Last line of the script. + */ + endLine: number; + /** + * Length of the last line of the script. + */ + endColumn: number; + /** + * Specifies script creation context. + */ + executionContextId: Runtime.ExecutionContextId; + /** + * Content hash of the script. + */ + hash: string; + /** + * Embedder-specific auxiliary data. + */ + executionContextAuxData?: {}; + /** + * True, if this script is generated as a result of the live edit operation. + * @experimental + */ + isLiveEdit?: boolean; + /** + * URL of source map associated with script (if any). + */ + sourceMapURL?: string; + /** + * True, if this script has sourceURL. + */ + hasSourceURL?: boolean; + /** + * True, if this script is ES6 module. + */ + isModule?: boolean; + /** + * This script length. + */ + length?: number; + /** + * JavaScript top stack frame of where the script parsed event was triggered if available. + * @experimental + */ + stackTrace?: Runtime.StackTrace; + } + + interface ScriptFailedToParseEventDataType { + /** + * Identifier of the script parsed. + */ + scriptId: Runtime.ScriptId; + /** + * URL or name of the script parsed (if any). + */ + url: string; + /** + * Line offset of the script within the resource with given URL (for script tags). + */ + startLine: number; + /** + * Column offset of the script within the resource with given URL. + */ + startColumn: number; + /** + * Last line of the script. + */ + endLine: number; + /** + * Length of the last line of the script. + */ + endColumn: number; + /** + * Specifies script creation context. + */ + executionContextId: Runtime.ExecutionContextId; + /** + * Content hash of the script. + */ + hash: string; + /** + * Embedder-specific auxiliary data. + */ + executionContextAuxData?: {}; + /** + * URL of source map associated with script (if any). + */ + sourceMapURL?: string; + /** + * True, if this script has sourceURL. + */ + hasSourceURL?: boolean; + /** + * True, if this script is ES6 module. + */ + isModule?: boolean; + /** + * This script length. + */ + length?: number; + /** + * JavaScript top stack frame of where the script parsed event was triggered if available. + * @experimental + */ + stackTrace?: Runtime.StackTrace; + } + + interface BreakpointResolvedEventDataType { + /** + * Breakpoint unique identifier. + */ + breakpointId: BreakpointId; + /** + * Actual breakpoint location. + */ + location: Location; + } + + interface PausedEventDataType { + /** + * Call stack the virtual machine stopped on. + */ + callFrames: CallFrame[]; + /** + * Pause reason. + */ + reason: string; + /** + * Object containing break-specific auxiliary properties. + */ + data?: {}; + /** + * Hit breakpoints IDs + */ + hitBreakpoints?: string[]; + /** + * Async stack trace, if any. + */ + asyncStackTrace?: Runtime.StackTrace; + /** + * Async stack trace, if any. + * @experimental + */ + asyncStackTraceId?: Runtime.StackTraceId; + /** + * Just scheduled async call will have this stack trace as parent stack during async execution. This field is available only after Debugger.stepInto call with breakOnAsynCall flag. + * @experimental + */ + asyncCallStackTraceId?: Runtime.StackTraceId; + } + } + + namespace Console { + /** + * Console message. + */ + interface ConsoleMessage { + /** + * Message source. + */ + source: string; + /** + * Message severity. + */ + level: string; + /** + * Message text. + */ + text: string; + /** + * URL of the message origin. + */ + url?: string; + /** + * Line number in the resource that generated this message (1-based). + */ + line?: number; + /** + * Column number in the resource that generated this message (1-based). + */ + column?: number; + } + + interface MessageAddedEventDataType { + /** + * Console message that has been added. + */ + message: ConsoleMessage; + } + } + + namespace Profiler { + /** + * Profile node. Holds callsite information, execution statistics and child nodes. + */ + interface ProfileNode { + /** + * Unique id of the node. + */ + id: number; + /** + * Function location. + */ + callFrame: Runtime.CallFrame; + /** + * Number of samples where this node was on top of the call stack. + */ + hitCount?: number; + /** + * Child node ids. + */ + children?: number[]; + /** + * The reason of being not optimized. The function may be deoptimized or marked as don't optimize. + */ + deoptReason?: string; + /** + * An array of source position ticks. + */ + positionTicks?: PositionTickInfo[]; + } + + /** + * Profile. + */ + interface Profile { + /** + * The list of profile nodes. First item is the root node. + */ + nodes: ProfileNode[]; + /** + * Profiling start timestamp in microseconds. + */ + startTime: number; + /** + * Profiling end timestamp in microseconds. + */ + endTime: number; + /** + * Ids of samples top nodes. + */ + samples?: number[]; + /** + * Time intervals between adjacent samples in microseconds. The first delta is relative to the profile startTime. + */ + timeDeltas?: number[]; + } + + /** + * Specifies a number of samples attributed to a certain source position. + */ + interface PositionTickInfo { + /** + * Source line number (1-based). + */ + line: number; + /** + * Number of samples attributed to the source line. + */ + ticks: number; + } + + /** + * Coverage data for a source range. + */ + interface CoverageRange { + /** + * JavaScript script source offset for the range start. + */ + startOffset: number; + /** + * JavaScript script source offset for the range end. + */ + endOffset: number; + /** + * Collected execution count of the source range. + */ + count: number; + } + + /** + * Coverage data for a JavaScript function. + */ + interface FunctionCoverage { + /** + * JavaScript function name. + */ + functionName: string; + /** + * Source ranges inside the function with coverage data. + */ + ranges: CoverageRange[]; + /** + * Whether coverage data for this function has block granularity. + */ + isBlockCoverage: boolean; + } + + /** + * Coverage data for a JavaScript script. + */ + interface ScriptCoverage { + /** + * JavaScript script id. + */ + scriptId: Runtime.ScriptId; + /** + * JavaScript script name or url. + */ + url: string; + /** + * Functions contained in the script that has coverage data. + */ + functions: FunctionCoverage[]; + } + + /** + * Describes a type collected during runtime. + * @experimental + */ + interface TypeObject { + /** + * Name of a type collected with type profiling. + */ + name: string; + } + + /** + * Source offset and types for a parameter or return value. + * @experimental + */ + interface TypeProfileEntry { + /** + * Source offset of the parameter or end of function for return values. + */ + offset: number; + /** + * The types for this parameter or return value. + */ + types: TypeObject[]; + } + + /** + * Type profile data collected during runtime for a JavaScript script. + * @experimental + */ + interface ScriptTypeProfile { + /** + * JavaScript script id. + */ + scriptId: Runtime.ScriptId; + /** + * JavaScript script name or url. + */ + url: string; + /** + * Type profile entries for parameters and return values of the functions in the script. + */ + entries: TypeProfileEntry[]; + } + + interface SetSamplingIntervalParameterType { + /** + * New sampling interval in microseconds. + */ + interval: number; + } + + interface StartPreciseCoverageParameterType { + /** + * Collect accurate call counts beyond simple 'covered' or 'not covered'. + */ + callCount?: boolean; + /** + * Collect block-based coverage. + */ + detailed?: boolean; + } + + interface StopReturnType { + /** + * Recorded profile. + */ + profile: Profile; + } + + interface TakePreciseCoverageReturnType { + /** + * Coverage data for the current isolate. + */ + result: ScriptCoverage[]; + } + + interface GetBestEffortCoverageReturnType { + /** + * Coverage data for the current isolate. + */ + result: ScriptCoverage[]; + } + + interface TakeTypeProfileReturnType { + /** + * Type profile for all scripts since startTypeProfile() was turned on. + */ + result: ScriptTypeProfile[]; + } + + interface ConsoleProfileStartedEventDataType { + id: string; + /** + * Location of console.profile(). + */ + location: Debugger.Location; + /** + * Profile title passed as an argument to console.profile(). + */ + title?: string; + } + + interface ConsoleProfileFinishedEventDataType { + id: string; + /** + * Location of console.profileEnd(). + */ + location: Debugger.Location; + profile: Profile; + /** + * Profile title passed as an argument to console.profile(). + */ + title?: string; + } + } + + namespace HeapProfiler { + /** + * Heap snapshot object id. + */ + type HeapSnapshotObjectId = string; + + /** + * Sampling Heap Profile node. Holds callsite information, allocation statistics and child nodes. + */ + interface SamplingHeapProfileNode { + /** + * Function location. + */ + callFrame: Runtime.CallFrame; + /** + * Allocations size in bytes for the node excluding children. + */ + selfSize: number; + /** + * Child nodes. + */ + children: SamplingHeapProfileNode[]; + } + + /** + * Profile. + */ + interface SamplingHeapProfile { + head: SamplingHeapProfileNode; + } + + interface StartTrackingHeapObjectsParameterType { + trackAllocations?: boolean; + } + + interface StopTrackingHeapObjectsParameterType { + /** + * If true 'reportHeapSnapshotProgress' events will be generated while snapshot is being taken when the tracking is stopped. + */ + reportProgress?: boolean; + } + + interface TakeHeapSnapshotParameterType { + /** + * If true 'reportHeapSnapshotProgress' events will be generated while snapshot is being taken. + */ + reportProgress?: boolean; + } + + interface GetObjectByHeapObjectIdParameterType { + objectId: HeapSnapshotObjectId; + /** + * Symbolic group name that can be used to release multiple objects. + */ + objectGroup?: string; + } + + interface AddInspectedHeapObjectParameterType { + /** + * Heap snapshot object id to be accessible by means of $x command line API. + */ + heapObjectId: HeapSnapshotObjectId; + } + + interface GetHeapObjectIdParameterType { + /** + * Identifier of the object to get heap object id for. + */ + objectId: Runtime.RemoteObjectId; + } + + interface StartSamplingParameterType { + /** + * Average sample interval in bytes. Poisson distribution is used for the intervals. The default value is 32768 bytes. + */ + samplingInterval?: number; + } + + interface GetObjectByHeapObjectIdReturnType { + /** + * Evaluation result. + */ + result: Runtime.RemoteObject; + } + + interface GetHeapObjectIdReturnType { + /** + * Id of the heap snapshot object corresponding to the passed remote object id. + */ + heapSnapshotObjectId: HeapSnapshotObjectId; + } + + interface StopSamplingReturnType { + /** + * Recorded sampling heap profile. + */ + profile: SamplingHeapProfile; + } + + interface GetSamplingProfileReturnType { + /** + * Return the sampling profile being collected. + */ + profile: SamplingHeapProfile; + } + + interface AddHeapSnapshotChunkEventDataType { + chunk: string; + } + + interface ReportHeapSnapshotProgressEventDataType { + done: number; + total: number; + finished?: boolean; + } + + interface LastSeenObjectIdEventDataType { + lastSeenObjectId: number; + timestamp: number; + } + + interface HeapStatsUpdateEventDataType { + /** + * An array of triplets. Each triplet describes a fragment. The first integer is the fragment index, the second integer is a total count of objects for the fragment, the third integer is a total size of the objects for the fragment. + */ + statsUpdate: number[]; + } + } + + namespace NodeTracing { + interface TraceConfig { + /** + * Controls how the trace buffer stores data. + */ + recordMode?: string; + /** + * Included category filters. + */ + includedCategories: string[]; + } + + interface StartParameterType { + traceConfig: TraceConfig; + } + + interface GetCategoriesReturnType { + /** + * A list of supported tracing categories. + */ + categories: string[]; + } + + interface DataCollectedEventDataType { + value: Array<{}>; + } + } + + namespace NodeWorker { + type WorkerID = string; + + /** + * Unique identifier of attached debugging session. + */ + type SessionID = string; + + interface WorkerInfo { + workerId: WorkerID; + type: string; + title: string; + url: string; + } + + interface SendMessageToWorkerParameterType { + message: string; + /** + * Identifier of the session. + */ + sessionId: SessionID; + } + + interface EnableParameterType { + /** + * Whether to new workers should be paused until the frontend sends `Runtime.runIfWaitingForDebugger` + * message to run them. + */ + waitForDebuggerOnStart: boolean; + } + + interface DetachParameterType { + sessionId: SessionID; + } + + interface AttachedToWorkerEventDataType { + /** + * Identifier assigned to the session used to send/receive messages. + */ + sessionId: SessionID; + workerInfo: WorkerInfo; + waitingForDebugger: boolean; + } + + interface DetachedFromWorkerEventDataType { + /** + * Detached session identifier. + */ + sessionId: SessionID; + } + + interface ReceivedMessageFromWorkerEventDataType { + /** + * Identifier of a session which sends a message. + */ + sessionId: SessionID; + message: string; + } + } + + namespace NodeRuntime { + interface NotifyWhenWaitingForDisconnectParameterType { + enabled: boolean; + } + } + + /** + * The inspector.Session is used for dispatching messages to the V8 inspector back-end and receiving message responses and notifications. + */ + class Session extends EventEmitter { + /** + * Create a new instance of the inspector.Session class. + * The inspector session needs to be connected through session.connect() before the messages can be dispatched to the inspector backend. + */ + constructor(); + + /** + * Connects a session to the inspector back-end. + * An exception will be thrown if there is already a connected session established either + * through the API or by a front-end connected to the Inspector WebSocket port. + */ + connect(): void; + + /** + * Immediately close the session. All pending message callbacks will be called with an error. + * session.connect() will need to be called to be able to send messages again. + * Reconnected session will lose all inspector state, such as enabled agents or configured breakpoints. + */ + disconnect(): void; + + /** + * Posts a message to the inspector back-end. callback will be notified when a response is received. + * callback is a function that accepts two optional arguments - error and message-specific result. + */ + post(method: string, params?: {}, callback?: (err: Error | null, params?: {}) => void): void; + post(method: string, callback?: (err: Error | null, params?: {}) => void): void; + + /** + * Returns supported domains. + */ + post(method: "Schema.getDomains", callback?: (err: Error | null, params: Schema.GetDomainsReturnType) => void): void; + + /** + * Evaluates expression on global object. + */ + post(method: "Runtime.evaluate", params?: Runtime.EvaluateParameterType, callback?: (err: Error | null, params: Runtime.EvaluateReturnType) => void): void; + post(method: "Runtime.evaluate", callback?: (err: Error | null, params: Runtime.EvaluateReturnType) => void): void; + + /** + * Add handler to promise with given promise object id. + */ + post(method: "Runtime.awaitPromise", params?: Runtime.AwaitPromiseParameterType, callback?: (err: Error | null, params: Runtime.AwaitPromiseReturnType) => void): void; + post(method: "Runtime.awaitPromise", callback?: (err: Error | null, params: Runtime.AwaitPromiseReturnType) => void): void; + + /** + * Calls function with given declaration on the given object. Object group of the result is inherited from the target object. + */ + post(method: "Runtime.callFunctionOn", params?: Runtime.CallFunctionOnParameterType, callback?: (err: Error | null, params: Runtime.CallFunctionOnReturnType) => void): void; + post(method: "Runtime.callFunctionOn", callback?: (err: Error | null, params: Runtime.CallFunctionOnReturnType) => void): void; + + /** + * Returns properties of a given object. Object group of the result is inherited from the target object. + */ + post(method: "Runtime.getProperties", params?: Runtime.GetPropertiesParameterType, callback?: (err: Error | null, params: Runtime.GetPropertiesReturnType) => void): void; + post(method: "Runtime.getProperties", callback?: (err: Error | null, params: Runtime.GetPropertiesReturnType) => void): void; + + /** + * Releases remote object with given id. + */ + post(method: "Runtime.releaseObject", params?: Runtime.ReleaseObjectParameterType, callback?: (err: Error | null) => void): void; + post(method: "Runtime.releaseObject", callback?: (err: Error | null) => void): void; + + /** + * Releases all remote objects that belong to a given group. + */ + post(method: "Runtime.releaseObjectGroup", params?: Runtime.ReleaseObjectGroupParameterType, callback?: (err: Error | null) => void): void; + post(method: "Runtime.releaseObjectGroup", callback?: (err: Error | null) => void): void; + + /** + * Tells inspected instance to run if it was waiting for debugger to attach. + */ + post(method: "Runtime.runIfWaitingForDebugger", callback?: (err: Error | null) => void): void; + + /** + * Enables reporting of execution contexts creation by means of executionContextCreated event. When the reporting gets enabled the event will be sent immediately for each existing execution context. + */ + post(method: "Runtime.enable", callback?: (err: Error | null) => void): void; + + /** + * Disables reporting of execution contexts creation. + */ + post(method: "Runtime.disable", callback?: (err: Error | null) => void): void; + + /** + * Discards collected exceptions and console API calls. + */ + post(method: "Runtime.discardConsoleEntries", callback?: (err: Error | null) => void): void; + + /** + * @experimental + */ + post(method: "Runtime.setCustomObjectFormatterEnabled", params?: Runtime.SetCustomObjectFormatterEnabledParameterType, callback?: (err: Error | null) => void): void; + post(method: "Runtime.setCustomObjectFormatterEnabled", callback?: (err: Error | null) => void): void; + + /** + * Compiles expression. + */ + post(method: "Runtime.compileScript", params?: Runtime.CompileScriptParameterType, callback?: (err: Error | null, params: Runtime.CompileScriptReturnType) => void): void; + post(method: "Runtime.compileScript", callback?: (err: Error | null, params: Runtime.CompileScriptReturnType) => void): void; + + /** + * Runs script with given id in a given context. + */ + post(method: "Runtime.runScript", params?: Runtime.RunScriptParameterType, callback?: (err: Error | null, params: Runtime.RunScriptReturnType) => void): void; + post(method: "Runtime.runScript", callback?: (err: Error | null, params: Runtime.RunScriptReturnType) => void): void; + + post(method: "Runtime.queryObjects", params?: Runtime.QueryObjectsParameterType, callback?: (err: Error | null, params: Runtime.QueryObjectsReturnType) => void): void; + post(method: "Runtime.queryObjects", callback?: (err: Error | null, params: Runtime.QueryObjectsReturnType) => void): void; + + /** + * Returns all let, const and class variables from global scope. + */ + post( + method: "Runtime.globalLexicalScopeNames", + params?: Runtime.GlobalLexicalScopeNamesParameterType, + callback?: (err: Error | null, params: Runtime.GlobalLexicalScopeNamesReturnType) => void + ): void; + post(method: "Runtime.globalLexicalScopeNames", callback?: (err: Error | null, params: Runtime.GlobalLexicalScopeNamesReturnType) => void): void; + + /** + * Enables debugger for the given page. Clients should not assume that the debugging has been enabled until the result for this command is received. + */ + post(method: "Debugger.enable", callback?: (err: Error | null, params: Debugger.EnableReturnType) => void): void; + + /** + * Disables debugger for given page. + */ + post(method: "Debugger.disable", callback?: (err: Error | null) => void): void; + + /** + * Activates / deactivates all breakpoints on the page. + */ + post(method: "Debugger.setBreakpointsActive", params?: Debugger.SetBreakpointsActiveParameterType, callback?: (err: Error | null) => void): void; + post(method: "Debugger.setBreakpointsActive", callback?: (err: Error | null) => void): void; + + /** + * Makes page not interrupt on any pauses (breakpoint, exception, dom exception etc). + */ + post(method: "Debugger.setSkipAllPauses", params?: Debugger.SetSkipAllPausesParameterType, callback?: (err: Error | null) => void): void; + post(method: "Debugger.setSkipAllPauses", callback?: (err: Error | null) => void): void; + + /** + * Sets JavaScript breakpoint at given location specified either by URL or URL regex. Once this command is issued, all existing parsed scripts will have breakpoints resolved and returned in locations property. Further matching script parsing will result in subsequent breakpointResolved events issued. This logical breakpoint will survive page reloads. + */ + post(method: "Debugger.setBreakpointByUrl", params?: Debugger.SetBreakpointByUrlParameterType, callback?: (err: Error | null, params: Debugger.SetBreakpointByUrlReturnType) => void): void; + post(method: "Debugger.setBreakpointByUrl", callback?: (err: Error | null, params: Debugger.SetBreakpointByUrlReturnType) => void): void; + + /** + * Sets JavaScript breakpoint at a given location. + */ + post(method: "Debugger.setBreakpoint", params?: Debugger.SetBreakpointParameterType, callback?: (err: Error | null, params: Debugger.SetBreakpointReturnType) => void): void; + post(method: "Debugger.setBreakpoint", callback?: (err: Error | null, params: Debugger.SetBreakpointReturnType) => void): void; + + /** + * Removes JavaScript breakpoint. + */ + post(method: "Debugger.removeBreakpoint", params?: Debugger.RemoveBreakpointParameterType, callback?: (err: Error | null) => void): void; + post(method: "Debugger.removeBreakpoint", callback?: (err: Error | null) => void): void; + + /** + * Returns possible locations for breakpoint. scriptId in start and end range locations should be the same. + */ + post( + method: "Debugger.getPossibleBreakpoints", + params?: Debugger.GetPossibleBreakpointsParameterType, + callback?: (err: Error | null, params: Debugger.GetPossibleBreakpointsReturnType) => void + ): void; + post(method: "Debugger.getPossibleBreakpoints", callback?: (err: Error | null, params: Debugger.GetPossibleBreakpointsReturnType) => void): void; + + /** + * Continues execution until specific location is reached. + */ + post(method: "Debugger.continueToLocation", params?: Debugger.ContinueToLocationParameterType, callback?: (err: Error | null) => void): void; + post(method: "Debugger.continueToLocation", callback?: (err: Error | null) => void): void; + + /** + * @experimental + */ + post(method: "Debugger.pauseOnAsyncCall", params?: Debugger.PauseOnAsyncCallParameterType, callback?: (err: Error | null) => void): void; + post(method: "Debugger.pauseOnAsyncCall", callback?: (err: Error | null) => void): void; + + /** + * Steps over the statement. + */ + post(method: "Debugger.stepOver", callback?: (err: Error | null) => void): void; + + /** + * Steps into the function call. + */ + post(method: "Debugger.stepInto", params?: Debugger.StepIntoParameterType, callback?: (err: Error | null) => void): void; + post(method: "Debugger.stepInto", callback?: (err: Error | null) => void): void; + + /** + * Steps out of the function call. + */ + post(method: "Debugger.stepOut", callback?: (err: Error | null) => void): void; + + /** + * Stops on the next JavaScript statement. + */ + post(method: "Debugger.pause", callback?: (err: Error | null) => void): void; + + /** + * This method is deprecated - use Debugger.stepInto with breakOnAsyncCall and Debugger.pauseOnAsyncTask instead. Steps into next scheduled async task if any is scheduled before next pause. Returns success when async task is actually scheduled, returns error if no task were scheduled or another scheduleStepIntoAsync was called. + * @experimental + */ + post(method: "Debugger.scheduleStepIntoAsync", callback?: (err: Error | null) => void): void; + + /** + * Resumes JavaScript execution. + */ + post(method: "Debugger.resume", callback?: (err: Error | null) => void): void; + + /** + * Returns stack trace with given stackTraceId. + * @experimental + */ + post(method: "Debugger.getStackTrace", params?: Debugger.GetStackTraceParameterType, callback?: (err: Error | null, params: Debugger.GetStackTraceReturnType) => void): void; + post(method: "Debugger.getStackTrace", callback?: (err: Error | null, params: Debugger.GetStackTraceReturnType) => void): void; + + /** + * Searches for given string in script content. + */ + post(method: "Debugger.searchInContent", params?: Debugger.SearchInContentParameterType, callback?: (err: Error | null, params: Debugger.SearchInContentReturnType) => void): void; + post(method: "Debugger.searchInContent", callback?: (err: Error | null, params: Debugger.SearchInContentReturnType) => void): void; + + /** + * Edits JavaScript source live. + */ + post(method: "Debugger.setScriptSource", params?: Debugger.SetScriptSourceParameterType, callback?: (err: Error | null, params: Debugger.SetScriptSourceReturnType) => void): void; + post(method: "Debugger.setScriptSource", callback?: (err: Error | null, params: Debugger.SetScriptSourceReturnType) => void): void; + + /** + * Restarts particular call frame from the beginning. + */ + post(method: "Debugger.restartFrame", params?: Debugger.RestartFrameParameterType, callback?: (err: Error | null, params: Debugger.RestartFrameReturnType) => void): void; + post(method: "Debugger.restartFrame", callback?: (err: Error | null, params: Debugger.RestartFrameReturnType) => void): void; + + /** + * Returns source for the script with given id. + */ + post(method: "Debugger.getScriptSource", params?: Debugger.GetScriptSourceParameterType, callback?: (err: Error | null, params: Debugger.GetScriptSourceReturnType) => void): void; + post(method: "Debugger.getScriptSource", callback?: (err: Error | null, params: Debugger.GetScriptSourceReturnType) => void): void; + + /** + * Defines pause on exceptions state. Can be set to stop on all exceptions, uncaught exceptions or no exceptions. Initial pause on exceptions state is none. + */ + post(method: "Debugger.setPauseOnExceptions", params?: Debugger.SetPauseOnExceptionsParameterType, callback?: (err: Error | null) => void): void; + post(method: "Debugger.setPauseOnExceptions", callback?: (err: Error | null) => void): void; + + /** + * Evaluates expression on a given call frame. + */ + post(method: "Debugger.evaluateOnCallFrame", params?: Debugger.EvaluateOnCallFrameParameterType, callback?: (err: Error | null, params: Debugger.EvaluateOnCallFrameReturnType) => void): void; + post(method: "Debugger.evaluateOnCallFrame", callback?: (err: Error | null, params: Debugger.EvaluateOnCallFrameReturnType) => void): void; + + /** + * Changes value of variable in a callframe. Object-based scopes are not supported and must be mutated manually. + */ + post(method: "Debugger.setVariableValue", params?: Debugger.SetVariableValueParameterType, callback?: (err: Error | null) => void): void; + post(method: "Debugger.setVariableValue", callback?: (err: Error | null) => void): void; + + /** + * Changes return value in top frame. Available only at return break position. + * @experimental + */ + post(method: "Debugger.setReturnValue", params?: Debugger.SetReturnValueParameterType, callback?: (err: Error | null) => void): void; + post(method: "Debugger.setReturnValue", callback?: (err: Error | null) => void): void; + + /** + * Enables or disables async call stacks tracking. + */ + post(method: "Debugger.setAsyncCallStackDepth", params?: Debugger.SetAsyncCallStackDepthParameterType, callback?: (err: Error | null) => void): void; + post(method: "Debugger.setAsyncCallStackDepth", callback?: (err: Error | null) => void): void; + + /** + * Replace previous blackbox patterns with passed ones. Forces backend to skip stepping/pausing in scripts with url matching one of the patterns. VM will try to leave blackboxed script by performing 'step in' several times, finally resorting to 'step out' if unsuccessful. + * @experimental + */ + post(method: "Debugger.setBlackboxPatterns", params?: Debugger.SetBlackboxPatternsParameterType, callback?: (err: Error | null) => void): void; + post(method: "Debugger.setBlackboxPatterns", callback?: (err: Error | null) => void): void; + + /** + * Makes backend skip steps in the script in blackboxed ranges. VM will try leave blacklisted scripts by performing 'step in' several times, finally resorting to 'step out' if unsuccessful. Positions array contains positions where blackbox state is changed. First interval isn't blackboxed. Array should be sorted. + * @experimental + */ + post(method: "Debugger.setBlackboxedRanges", params?: Debugger.SetBlackboxedRangesParameterType, callback?: (err: Error | null) => void): void; + post(method: "Debugger.setBlackboxedRanges", callback?: (err: Error | null) => void): void; + + /** + * Enables console domain, sends the messages collected so far to the client by means of the messageAdded notification. + */ + post(method: "Console.enable", callback?: (err: Error | null) => void): void; + + /** + * Disables console domain, prevents further console messages from being reported to the client. + */ + post(method: "Console.disable", callback?: (err: Error | null) => void): void; + + /** + * Does nothing. + */ + post(method: "Console.clearMessages", callback?: (err: Error | null) => void): void; + + post(method: "Profiler.enable", callback?: (err: Error | null) => void): void; + + post(method: "Profiler.disable", callback?: (err: Error | null) => void): void; + + /** + * Changes CPU profiler sampling interval. Must be called before CPU profiles recording started. + */ + post(method: "Profiler.setSamplingInterval", params?: Profiler.SetSamplingIntervalParameterType, callback?: (err: Error | null) => void): void; + post(method: "Profiler.setSamplingInterval", callback?: (err: Error | null) => void): void; + + post(method: "Profiler.start", callback?: (err: Error | null) => void): void; + + post(method: "Profiler.stop", callback?: (err: Error | null, params: Profiler.StopReturnType) => void): void; + + /** + * Enable precise code coverage. Coverage data for JavaScript executed before enabling precise code coverage may be incomplete. Enabling prevents running optimized code and resets execution counters. + */ + post(method: "Profiler.startPreciseCoverage", params?: Profiler.StartPreciseCoverageParameterType, callback?: (err: Error | null) => void): void; + post(method: "Profiler.startPreciseCoverage", callback?: (err: Error | null) => void): void; + + /** + * Disable precise code coverage. Disabling releases unnecessary execution count records and allows executing optimized code. + */ + post(method: "Profiler.stopPreciseCoverage", callback?: (err: Error | null) => void): void; + + /** + * Collect coverage data for the current isolate, and resets execution counters. Precise code coverage needs to have started. + */ + post(method: "Profiler.takePreciseCoverage", callback?: (err: Error | null, params: Profiler.TakePreciseCoverageReturnType) => void): void; + + /** + * Collect coverage data for the current isolate. The coverage data may be incomplete due to garbage collection. + */ + post(method: "Profiler.getBestEffortCoverage", callback?: (err: Error | null, params: Profiler.GetBestEffortCoverageReturnType) => void): void; + + /** + * Enable type profile. + * @experimental + */ + post(method: "Profiler.startTypeProfile", callback?: (err: Error | null) => void): void; + + /** + * Disable type profile. Disabling releases type profile data collected so far. + * @experimental + */ + post(method: "Profiler.stopTypeProfile", callback?: (err: Error | null) => void): void; + + /** + * Collect type profile. + * @experimental + */ + post(method: "Profiler.takeTypeProfile", callback?: (err: Error | null, params: Profiler.TakeTypeProfileReturnType) => void): void; + + post(method: "HeapProfiler.enable", callback?: (err: Error | null) => void): void; + + post(method: "HeapProfiler.disable", callback?: (err: Error | null) => void): void; + + post(method: "HeapProfiler.startTrackingHeapObjects", params?: HeapProfiler.StartTrackingHeapObjectsParameterType, callback?: (err: Error | null) => void): void; + post(method: "HeapProfiler.startTrackingHeapObjects", callback?: (err: Error | null) => void): void; + + post(method: "HeapProfiler.stopTrackingHeapObjects", params?: HeapProfiler.StopTrackingHeapObjectsParameterType, callback?: (err: Error | null) => void): void; + post(method: "HeapProfiler.stopTrackingHeapObjects", callback?: (err: Error | null) => void): void; + + post(method: "HeapProfiler.takeHeapSnapshot", params?: HeapProfiler.TakeHeapSnapshotParameterType, callback?: (err: Error | null) => void): void; + post(method: "HeapProfiler.takeHeapSnapshot", callback?: (err: Error | null) => void): void; + + post(method: "HeapProfiler.collectGarbage", callback?: (err: Error | null) => void): void; + + post( + method: "HeapProfiler.getObjectByHeapObjectId", + params?: HeapProfiler.GetObjectByHeapObjectIdParameterType, + callback?: (err: Error | null, params: HeapProfiler.GetObjectByHeapObjectIdReturnType) => void + ): void; + post(method: "HeapProfiler.getObjectByHeapObjectId", callback?: (err: Error | null, params: HeapProfiler.GetObjectByHeapObjectIdReturnType) => void): void; + + /** + * Enables console to refer to the node with given id via $x (see Command Line API for more details $x functions). + */ + post(method: "HeapProfiler.addInspectedHeapObject", params?: HeapProfiler.AddInspectedHeapObjectParameterType, callback?: (err: Error | null) => void): void; + post(method: "HeapProfiler.addInspectedHeapObject", callback?: (err: Error | null) => void): void; + + post(method: "HeapProfiler.getHeapObjectId", params?: HeapProfiler.GetHeapObjectIdParameterType, callback?: (err: Error | null, params: HeapProfiler.GetHeapObjectIdReturnType) => void): void; + post(method: "HeapProfiler.getHeapObjectId", callback?: (err: Error | null, params: HeapProfiler.GetHeapObjectIdReturnType) => void): void; + + post(method: "HeapProfiler.startSampling", params?: HeapProfiler.StartSamplingParameterType, callback?: (err: Error | null) => void): void; + post(method: "HeapProfiler.startSampling", callback?: (err: Error | null) => void): void; + + post(method: "HeapProfiler.stopSampling", callback?: (err: Error | null, params: HeapProfiler.StopSamplingReturnType) => void): void; + + post(method: "HeapProfiler.getSamplingProfile", callback?: (err: Error | null, params: HeapProfiler.GetSamplingProfileReturnType) => void): void; + + /** + * Gets supported tracing categories. + */ + post(method: "NodeTracing.getCategories", callback?: (err: Error | null, params: NodeTracing.GetCategoriesReturnType) => void): void; + + /** + * Start trace events collection. + */ + post(method: "NodeTracing.start", params?: NodeTracing.StartParameterType, callback?: (err: Error | null) => void): void; + post(method: "NodeTracing.start", callback?: (err: Error | null) => void): void; + + /** + * Stop trace events collection. Remaining collected events will be sent as a sequence of + * dataCollected events followed by tracingComplete event. + */ + post(method: "NodeTracing.stop", callback?: (err: Error | null) => void): void; + + /** + * Sends protocol message over session with given id. + */ + post(method: "NodeWorker.sendMessageToWorker", params?: NodeWorker.SendMessageToWorkerParameterType, callback?: (err: Error | null) => void): void; + post(method: "NodeWorker.sendMessageToWorker", callback?: (err: Error | null) => void): void; + + /** + * Instructs the inspector to attach to running workers. Will also attach to new workers + * as they start + */ + post(method: "NodeWorker.enable", params?: NodeWorker.EnableParameterType, callback?: (err: Error | null) => void): void; + post(method: "NodeWorker.enable", callback?: (err: Error | null) => void): void; + + /** + * Detaches from all running workers and disables attaching to new workers as they are started. + */ + post(method: "NodeWorker.disable", callback?: (err: Error | null) => void): void; + + /** + * Detached from the worker with given sessionId. + */ + post(method: "NodeWorker.detach", params?: NodeWorker.DetachParameterType, callback?: (err: Error | null) => void): void; + post(method: "NodeWorker.detach", callback?: (err: Error | null) => void): void; + + /** + * Enable the `NodeRuntime.waitingForDisconnect`. + */ + post(method: "NodeRuntime.notifyWhenWaitingForDisconnect", params?: NodeRuntime.NotifyWhenWaitingForDisconnectParameterType, callback?: (err: Error | null) => void): void; + post(method: "NodeRuntime.notifyWhenWaitingForDisconnect", callback?: (err: Error | null) => void): void; + + // Events + + addListener(event: string, listener: (...args: any[]) => void): this; + + /** + * Emitted when any notification from the V8 Inspector is received. + */ + addListener(event: "inspectorNotification", listener: (message: InspectorNotification<{}>) => void): this; + + /** + * Issued when new execution context is created. + */ + addListener(event: "Runtime.executionContextCreated", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when execution context is destroyed. + */ + addListener(event: "Runtime.executionContextDestroyed", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when all executionContexts were cleared in browser + */ + addListener(event: "Runtime.executionContextsCleared", listener: () => void): this; + + /** + * Issued when exception was thrown and unhandled. + */ + addListener(event: "Runtime.exceptionThrown", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when unhandled exception was revoked. + */ + addListener(event: "Runtime.exceptionRevoked", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when console API was called. + */ + addListener(event: "Runtime.consoleAPICalled", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when object should be inspected (for example, as a result of inspect() command line API call). + */ + addListener(event: "Runtime.inspectRequested", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when virtual machine parses script. This event is also fired for all known and uncollected scripts upon enabling debugger. + */ + addListener(event: "Debugger.scriptParsed", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when virtual machine fails to parse the script. + */ + addListener(event: "Debugger.scriptFailedToParse", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when breakpoint is resolved to an actual script and location. + */ + addListener(event: "Debugger.breakpointResolved", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when the virtual machine stopped on breakpoint or exception or any other stop criteria. + */ + addListener(event: "Debugger.paused", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when the virtual machine resumed execution. + */ + addListener(event: "Debugger.resumed", listener: () => void): this; + + /** + * Issued when new console message is added. + */ + addListener(event: "Console.messageAdded", listener: (message: InspectorNotification) => void): this; + + /** + * Sent when new profile recording is started using console.profile() call. + */ + addListener(event: "Profiler.consoleProfileStarted", listener: (message: InspectorNotification) => void): this; + + addListener(event: "Profiler.consoleProfileFinished", listener: (message: InspectorNotification) => void): this; + addListener(event: "HeapProfiler.addHeapSnapshotChunk", listener: (message: InspectorNotification) => void): this; + addListener(event: "HeapProfiler.resetProfiles", listener: () => void): this; + addListener(event: "HeapProfiler.reportHeapSnapshotProgress", listener: (message: InspectorNotification) => void): this; + + /** + * If heap objects tracking has been started then backend regularly sends a current value for last seen object id and corresponding timestamp. If the were changes in the heap since last event then one or more heapStatsUpdate events will be sent before a new lastSeenObjectId event. + */ + addListener(event: "HeapProfiler.lastSeenObjectId", listener: (message: InspectorNotification) => void): this; + + /** + * If heap objects tracking has been started then backend may send update for one or more fragments + */ + addListener(event: "HeapProfiler.heapStatsUpdate", listener: (message: InspectorNotification) => void): this; + + /** + * Contains an bucket of collected trace events. + */ + addListener(event: "NodeTracing.dataCollected", listener: (message: InspectorNotification) => void): this; + + /** + * Signals that tracing is stopped and there is no trace buffers pending flush, all data were + * delivered via dataCollected events. + */ + addListener(event: "NodeTracing.tracingComplete", listener: () => void): this; + + /** + * Issued when attached to a worker. + */ + addListener(event: "NodeWorker.attachedToWorker", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when detached from the worker. + */ + addListener(event: "NodeWorker.detachedFromWorker", listener: (message: InspectorNotification) => void): this; + + /** + * Notifies about a new protocol message received from the session + * (session ID is provided in attachedToWorker notification). + */ + addListener(event: "NodeWorker.receivedMessageFromWorker", listener: (message: InspectorNotification) => void): this; + + /** + * This event is fired instead of `Runtime.executionContextDestroyed` when + * enabled. + * It is fired when the Node process finished all code execution and is + * waiting for all frontends to disconnect. + */ + addListener(event: "NodeRuntime.waitingForDisconnect", listener: () => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "inspectorNotification", message: InspectorNotification<{}>): boolean; + emit(event: "Runtime.executionContextCreated", message: InspectorNotification): boolean; + emit(event: "Runtime.executionContextDestroyed", message: InspectorNotification): boolean; + emit(event: "Runtime.executionContextsCleared"): boolean; + emit(event: "Runtime.exceptionThrown", message: InspectorNotification): boolean; + emit(event: "Runtime.exceptionRevoked", message: InspectorNotification): boolean; + emit(event: "Runtime.consoleAPICalled", message: InspectorNotification): boolean; + emit(event: "Runtime.inspectRequested", message: InspectorNotification): boolean; + emit(event: "Debugger.scriptParsed", message: InspectorNotification): boolean; + emit(event: "Debugger.scriptFailedToParse", message: InspectorNotification): boolean; + emit(event: "Debugger.breakpointResolved", message: InspectorNotification): boolean; + emit(event: "Debugger.paused", message: InspectorNotification): boolean; + emit(event: "Debugger.resumed"): boolean; + emit(event: "Console.messageAdded", message: InspectorNotification): boolean; + emit(event: "Profiler.consoleProfileStarted", message: InspectorNotification): boolean; + emit(event: "Profiler.consoleProfileFinished", message: InspectorNotification): boolean; + emit(event: "HeapProfiler.addHeapSnapshotChunk", message: InspectorNotification): boolean; + emit(event: "HeapProfiler.resetProfiles"): boolean; + emit(event: "HeapProfiler.reportHeapSnapshotProgress", message: InspectorNotification): boolean; + emit(event: "HeapProfiler.lastSeenObjectId", message: InspectorNotification): boolean; + emit(event: "HeapProfiler.heapStatsUpdate", message: InspectorNotification): boolean; + emit(event: "NodeTracing.dataCollected", message: InspectorNotification): boolean; + emit(event: "NodeTracing.tracingComplete"): boolean; + emit(event: "NodeWorker.attachedToWorker", message: InspectorNotification): boolean; + emit(event: "NodeWorker.detachedFromWorker", message: InspectorNotification): boolean; + emit(event: "NodeWorker.receivedMessageFromWorker", message: InspectorNotification): boolean; + emit(event: "NodeRuntime.waitingForDisconnect"): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + + /** + * Emitted when any notification from the V8 Inspector is received. + */ + on(event: "inspectorNotification", listener: (message: InspectorNotification<{}>) => void): this; + + /** + * Issued when new execution context is created. + */ + on(event: "Runtime.executionContextCreated", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when execution context is destroyed. + */ + on(event: "Runtime.executionContextDestroyed", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when all executionContexts were cleared in browser + */ + on(event: "Runtime.executionContextsCleared", listener: () => void): this; + + /** + * Issued when exception was thrown and unhandled. + */ + on(event: "Runtime.exceptionThrown", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when unhandled exception was revoked. + */ + on(event: "Runtime.exceptionRevoked", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when console API was called. + */ + on(event: "Runtime.consoleAPICalled", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when object should be inspected (for example, as a result of inspect() command line API call). + */ + on(event: "Runtime.inspectRequested", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when virtual machine parses script. This event is also fired for all known and uncollected scripts upon enabling debugger. + */ + on(event: "Debugger.scriptParsed", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when virtual machine fails to parse the script. + */ + on(event: "Debugger.scriptFailedToParse", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when breakpoint is resolved to an actual script and location. + */ + on(event: "Debugger.breakpointResolved", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when the virtual machine stopped on breakpoint or exception or any other stop criteria. + */ + on(event: "Debugger.paused", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when the virtual machine resumed execution. + */ + on(event: "Debugger.resumed", listener: () => void): this; + + /** + * Issued when new console message is added. + */ + on(event: "Console.messageAdded", listener: (message: InspectorNotification) => void): this; + + /** + * Sent when new profile recording is started using console.profile() call. + */ + on(event: "Profiler.consoleProfileStarted", listener: (message: InspectorNotification) => void): this; + + on(event: "Profiler.consoleProfileFinished", listener: (message: InspectorNotification) => void): this; + on(event: "HeapProfiler.addHeapSnapshotChunk", listener: (message: InspectorNotification) => void): this; + on(event: "HeapProfiler.resetProfiles", listener: () => void): this; + on(event: "HeapProfiler.reportHeapSnapshotProgress", listener: (message: InspectorNotification) => void): this; + + /** + * If heap objects tracking has been started then backend regularly sends a current value for last seen object id and corresponding timestamp. If the were changes in the heap since last event then one or more heapStatsUpdate events will be sent before a new lastSeenObjectId event. + */ + on(event: "HeapProfiler.lastSeenObjectId", listener: (message: InspectorNotification) => void): this; + + /** + * If heap objects tracking has been started then backend may send update for one or more fragments + */ + on(event: "HeapProfiler.heapStatsUpdate", listener: (message: InspectorNotification) => void): this; + + /** + * Contains an bucket of collected trace events. + */ + on(event: "NodeTracing.dataCollected", listener: (message: InspectorNotification) => void): this; + + /** + * Signals that tracing is stopped and there is no trace buffers pending flush, all data were + * delivered via dataCollected events. + */ + on(event: "NodeTracing.tracingComplete", listener: () => void): this; + + /** + * Issued when attached to a worker. + */ + on(event: "NodeWorker.attachedToWorker", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when detached from the worker. + */ + on(event: "NodeWorker.detachedFromWorker", listener: (message: InspectorNotification) => void): this; + + /** + * Notifies about a new protocol message received from the session + * (session ID is provided in attachedToWorker notification). + */ + on(event: "NodeWorker.receivedMessageFromWorker", listener: (message: InspectorNotification) => void): this; + + /** + * This event is fired instead of `Runtime.executionContextDestroyed` when + * enabled. + * It is fired when the Node process finished all code execution and is + * waiting for all frontends to disconnect. + */ + on(event: "NodeRuntime.waitingForDisconnect", listener: () => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + + /** + * Emitted when any notification from the V8 Inspector is received. + */ + once(event: "inspectorNotification", listener: (message: InspectorNotification<{}>) => void): this; + + /** + * Issued when new execution context is created. + */ + once(event: "Runtime.executionContextCreated", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when execution context is destroyed. + */ + once(event: "Runtime.executionContextDestroyed", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when all executionContexts were cleared in browser + */ + once(event: "Runtime.executionContextsCleared", listener: () => void): this; + + /** + * Issued when exception was thrown and unhandled. + */ + once(event: "Runtime.exceptionThrown", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when unhandled exception was revoked. + */ + once(event: "Runtime.exceptionRevoked", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when console API was called. + */ + once(event: "Runtime.consoleAPICalled", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when object should be inspected (for example, as a result of inspect() command line API call). + */ + once(event: "Runtime.inspectRequested", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when virtual machine parses script. This event is also fired for all known and uncollected scripts upon enabling debugger. + */ + once(event: "Debugger.scriptParsed", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when virtual machine fails to parse the script. + */ + once(event: "Debugger.scriptFailedToParse", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when breakpoint is resolved to an actual script and location. + */ + once(event: "Debugger.breakpointResolved", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when the virtual machine stopped on breakpoint or exception or any other stop criteria. + */ + once(event: "Debugger.paused", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when the virtual machine resumed execution. + */ + once(event: "Debugger.resumed", listener: () => void): this; + + /** + * Issued when new console message is added. + */ + once(event: "Console.messageAdded", listener: (message: InspectorNotification) => void): this; + + /** + * Sent when new profile recording is started using console.profile() call. + */ + once(event: "Profiler.consoleProfileStarted", listener: (message: InspectorNotification) => void): this; + + once(event: "Profiler.consoleProfileFinished", listener: (message: InspectorNotification) => void): this; + once(event: "HeapProfiler.addHeapSnapshotChunk", listener: (message: InspectorNotification) => void): this; + once(event: "HeapProfiler.resetProfiles", listener: () => void): this; + once(event: "HeapProfiler.reportHeapSnapshotProgress", listener: (message: InspectorNotification) => void): this; + + /** + * If heap objects tracking has been started then backend regularly sends a current value for last seen object id and corresponding timestamp. If the were changes in the heap since last event then one or more heapStatsUpdate events will be sent before a new lastSeenObjectId event. + */ + once(event: "HeapProfiler.lastSeenObjectId", listener: (message: InspectorNotification) => void): this; + + /** + * If heap objects tracking has been started then backend may send update for one or more fragments + */ + once(event: "HeapProfiler.heapStatsUpdate", listener: (message: InspectorNotification) => void): this; + + /** + * Contains an bucket of collected trace events. + */ + once(event: "NodeTracing.dataCollected", listener: (message: InspectorNotification) => void): this; + + /** + * Signals that tracing is stopped and there is no trace buffers pending flush, all data were + * delivered via dataCollected events. + */ + once(event: "NodeTracing.tracingComplete", listener: () => void): this; + + /** + * Issued when attached to a worker. + */ + once(event: "NodeWorker.attachedToWorker", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when detached from the worker. + */ + once(event: "NodeWorker.detachedFromWorker", listener: (message: InspectorNotification) => void): this; + + /** + * Notifies about a new protocol message received from the session + * (session ID is provided in attachedToWorker notification). + */ + once(event: "NodeWorker.receivedMessageFromWorker", listener: (message: InspectorNotification) => void): this; + + /** + * This event is fired instead of `Runtime.executionContextDestroyed` when + * enabled. + * It is fired when the Node process finished all code execution and is + * waiting for all frontends to disconnect. + */ + once(event: "NodeRuntime.waitingForDisconnect", listener: () => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + + /** + * Emitted when any notification from the V8 Inspector is received. + */ + prependListener(event: "inspectorNotification", listener: (message: InspectorNotification<{}>) => void): this; + + /** + * Issued when new execution context is created. + */ + prependListener(event: "Runtime.executionContextCreated", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when execution context is destroyed. + */ + prependListener(event: "Runtime.executionContextDestroyed", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when all executionContexts were cleared in browser + */ + prependListener(event: "Runtime.executionContextsCleared", listener: () => void): this; + + /** + * Issued when exception was thrown and unhandled. + */ + prependListener(event: "Runtime.exceptionThrown", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when unhandled exception was revoked. + */ + prependListener(event: "Runtime.exceptionRevoked", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when console API was called. + */ + prependListener(event: "Runtime.consoleAPICalled", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when object should be inspected (for example, as a result of inspect() command line API call). + */ + prependListener(event: "Runtime.inspectRequested", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when virtual machine parses script. This event is also fired for all known and uncollected scripts upon enabling debugger. + */ + prependListener(event: "Debugger.scriptParsed", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when virtual machine fails to parse the script. + */ + prependListener(event: "Debugger.scriptFailedToParse", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when breakpoint is resolved to an actual script and location. + */ + prependListener(event: "Debugger.breakpointResolved", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when the virtual machine stopped on breakpoint or exception or any other stop criteria. + */ + prependListener(event: "Debugger.paused", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when the virtual machine resumed execution. + */ + prependListener(event: "Debugger.resumed", listener: () => void): this; + + /** + * Issued when new console message is added. + */ + prependListener(event: "Console.messageAdded", listener: (message: InspectorNotification) => void): this; + + /** + * Sent when new profile recording is started using console.profile() call. + */ + prependListener(event: "Profiler.consoleProfileStarted", listener: (message: InspectorNotification) => void): this; + + prependListener(event: "Profiler.consoleProfileFinished", listener: (message: InspectorNotification) => void): this; + prependListener(event: "HeapProfiler.addHeapSnapshotChunk", listener: (message: InspectorNotification) => void): this; + prependListener(event: "HeapProfiler.resetProfiles", listener: () => void): this; + prependListener(event: "HeapProfiler.reportHeapSnapshotProgress", listener: (message: InspectorNotification) => void): this; + + /** + * If heap objects tracking has been started then backend regularly sends a current value for last seen object id and corresponding timestamp. If the were changes in the heap since last event then one or more heapStatsUpdate events will be sent before a new lastSeenObjectId event. + */ + prependListener(event: "HeapProfiler.lastSeenObjectId", listener: (message: InspectorNotification) => void): this; + + /** + * If heap objects tracking has been started then backend may send update for one or more fragments + */ + prependListener(event: "HeapProfiler.heapStatsUpdate", listener: (message: InspectorNotification) => void): this; + + /** + * Contains an bucket of collected trace events. + */ + prependListener(event: "NodeTracing.dataCollected", listener: (message: InspectorNotification) => void): this; + + /** + * Signals that tracing is stopped and there is no trace buffers pending flush, all data were + * delivered via dataCollected events. + */ + prependListener(event: "NodeTracing.tracingComplete", listener: () => void): this; + + /** + * Issued when attached to a worker. + */ + prependListener(event: "NodeWorker.attachedToWorker", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when detached from the worker. + */ + prependListener(event: "NodeWorker.detachedFromWorker", listener: (message: InspectorNotification) => void): this; + + /** + * Notifies about a new protocol message received from the session + * (session ID is provided in attachedToWorker notification). + */ + prependListener(event: "NodeWorker.receivedMessageFromWorker", listener: (message: InspectorNotification) => void): this; + + /** + * This event is fired instead of `Runtime.executionContextDestroyed` when + * enabled. + * It is fired when the Node process finished all code execution and is + * waiting for all frontends to disconnect. + */ + prependListener(event: "NodeRuntime.waitingForDisconnect", listener: () => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + + /** + * Emitted when any notification from the V8 Inspector is received. + */ + prependOnceListener(event: "inspectorNotification", listener: (message: InspectorNotification<{}>) => void): this; + + /** + * Issued when new execution context is created. + */ + prependOnceListener(event: "Runtime.executionContextCreated", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when execution context is destroyed. + */ + prependOnceListener(event: "Runtime.executionContextDestroyed", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when all executionContexts were cleared in browser + */ + prependOnceListener(event: "Runtime.executionContextsCleared", listener: () => void): this; + + /** + * Issued when exception was thrown and unhandled. + */ + prependOnceListener(event: "Runtime.exceptionThrown", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when unhandled exception was revoked. + */ + prependOnceListener(event: "Runtime.exceptionRevoked", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when console API was called. + */ + prependOnceListener(event: "Runtime.consoleAPICalled", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when object should be inspected (for example, as a result of inspect() command line API call). + */ + prependOnceListener(event: "Runtime.inspectRequested", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when virtual machine parses script. This event is also fired for all known and uncollected scripts upon enabling debugger. + */ + prependOnceListener(event: "Debugger.scriptParsed", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when virtual machine fails to parse the script. + */ + prependOnceListener(event: "Debugger.scriptFailedToParse", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when breakpoint is resolved to an actual script and location. + */ + prependOnceListener(event: "Debugger.breakpointResolved", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when the virtual machine stopped on breakpoint or exception or any other stop criteria. + */ + prependOnceListener(event: "Debugger.paused", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when the virtual machine resumed execution. + */ + prependOnceListener(event: "Debugger.resumed", listener: () => void): this; + + /** + * Issued when new console message is added. + */ + prependOnceListener(event: "Console.messageAdded", listener: (message: InspectorNotification) => void): this; + + /** + * Sent when new profile recording is started using console.profile() call. + */ + prependOnceListener(event: "Profiler.consoleProfileStarted", listener: (message: InspectorNotification) => void): this; + + prependOnceListener(event: "Profiler.consoleProfileFinished", listener: (message: InspectorNotification) => void): this; + prependOnceListener(event: "HeapProfiler.addHeapSnapshotChunk", listener: (message: InspectorNotification) => void): this; + prependOnceListener(event: "HeapProfiler.resetProfiles", listener: () => void): this; + prependOnceListener(event: "HeapProfiler.reportHeapSnapshotProgress", listener: (message: InspectorNotification) => void): this; + + /** + * If heap objects tracking has been started then backend regularly sends a current value for last seen object id and corresponding timestamp. If the were changes in the heap since last event then one or more heapStatsUpdate events will be sent before a new lastSeenObjectId event. + */ + prependOnceListener(event: "HeapProfiler.lastSeenObjectId", listener: (message: InspectorNotification) => void): this; + + /** + * If heap objects tracking has been started then backend may send update for one or more fragments + */ + prependOnceListener(event: "HeapProfiler.heapStatsUpdate", listener: (message: InspectorNotification) => void): this; + + /** + * Contains an bucket of collected trace events. + */ + prependOnceListener(event: "NodeTracing.dataCollected", listener: (message: InspectorNotification) => void): this; + + /** + * Signals that tracing is stopped and there is no trace buffers pending flush, all data were + * delivered via dataCollected events. + */ + prependOnceListener(event: "NodeTracing.tracingComplete", listener: () => void): this; + + /** + * Issued when attached to a worker. + */ + prependOnceListener(event: "NodeWorker.attachedToWorker", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when detached from the worker. + */ + prependOnceListener(event: "NodeWorker.detachedFromWorker", listener: (message: InspectorNotification) => void): this; + + /** + * Notifies about a new protocol message received from the session + * (session ID is provided in attachedToWorker notification). + */ + prependOnceListener(event: "NodeWorker.receivedMessageFromWorker", listener: (message: InspectorNotification) => void): this; + + /** + * This event is fired instead of `Runtime.executionContextDestroyed` when + * enabled. + * It is fired when the Node process finished all code execution and is + * waiting for all frontends to disconnect. + */ + prependOnceListener(event: "NodeRuntime.waitingForDisconnect", listener: () => void): this; + } + + // Top Level API + + /** + * Activate inspector on host and port. Equivalent to node --inspect=[[host:]port], but can be done programatically after node has started. + * If wait is true, will block until a client has connected to the inspect port and flow control has been passed to the debugger client. + * @param port Port to listen on for inspector connections. Optional, defaults to what was specified on the CLI. + * @param host Host to listen on for inspector connections. Optional, defaults to what was specified on the CLI. + * @param wait Block until a client has connected. Optional, defaults to false. + */ + function open(port?: number, host?: string, wait?: boolean): void; + + /** + * Deactivate the inspector. Blocks until there are no active connections. + */ + function close(): void; + + /** + * Return the URL of the active inspector, or `undefined` if there is none. + */ + function url(): string | undefined; + + /** + * Blocks until a client (existing or connected later) has sent + * `Runtime.runIfWaitingForDebugger` command. + * An exception will be thrown if there is no active inspector. + */ + function waitForDebugger(): void; +} diff --git a/node_modules/@types/node/module.d.ts b/node_modules/@types/node/module.d.ts new file mode 100644 index 0000000..ffb4a6e --- /dev/null +++ b/node_modules/@types/node/module.d.ts @@ -0,0 +1,52 @@ +declare module "module" { + import { URL } from "url"; + namespace Module { + /** + * Updates all the live bindings for builtin ES Modules to match the properties of the CommonJS exports. + * It does not add or remove exported names from the ES Modules. + */ + function syncBuiltinESMExports(): void; + + function findSourceMap(path: string, error?: Error): SourceMap; + interface SourceMapPayload { + file: string; + version: number; + sources: string[]; + sourcesContent: string[]; + names: string[]; + mappings: string; + sourceRoot: string; + } + + interface SourceMapping { + generatedLine: number; + generatedColumn: number; + originalSource: string; + originalLine: number; + originalColumn: number; + } + + class SourceMap { + readonly payload: SourceMapPayload; + constructor(payload: SourceMapPayload); + findEntry(line: number, column: number): SourceMapping; + } + } + interface Module extends NodeModule {} + class Module { + static runMain(): void; + static wrap(code: string): string; + + /** + * @deprecated Deprecated since: v12.2.0. Please use createRequire() instead. + */ + static createRequireFromPath(path: string): NodeRequire; + static createRequire(path: string | URL): NodeRequire; + static builtinModules: string[]; + + static Module: typeof Module; + + constructor(id: string, parent?: Module); + } + export = Module; +} diff --git a/node_modules/@types/node/net.d.ts b/node_modules/@types/node/net.d.ts new file mode 100644 index 0000000..e6ee1bb --- /dev/null +++ b/node_modules/@types/node/net.d.ts @@ -0,0 +1,268 @@ +declare module "net" { + import * as stream from "stream"; + import * as events from "events"; + import * as dns from "dns"; + + type LookupFunction = (hostname: string, options: dns.LookupOneOptions, callback: (err: NodeJS.ErrnoException | null, address: string, family: number) => void) => void; + + interface AddressInfo { + address: string; + family: string; + port: number; + } + + interface SocketConstructorOpts { + fd?: number; + allowHalfOpen?: boolean; + readable?: boolean; + writable?: boolean; + } + + interface OnReadOpts { + buffer: Uint8Array | (() => Uint8Array); + /** + * This function is called for every chunk of incoming data. + * Two arguments are passed to it: the number of bytes written to buffer and a reference to buffer. + * Return false from this function to implicitly pause() the socket. + */ + callback(bytesWritten: number, buf: Uint8Array): boolean; + } + + interface ConnectOpts { + /** + * If specified, incoming data is stored in a single buffer and passed to the supplied callback when data arrives on the socket. + * Note: this will cause the streaming functionality to not provide any data, however events like 'error', 'end', and 'close' will + * still be emitted as normal and methods like pause() and resume() will also behave as expected. + */ + onread?: OnReadOpts; + } + + interface TcpSocketConnectOpts extends ConnectOpts { + port: number; + host?: string; + localAddress?: string; + localPort?: number; + hints?: number; + family?: number; + lookup?: LookupFunction; + } + + interface IpcSocketConnectOpts extends ConnectOpts { + path: string; + } + + type SocketConnectOpts = TcpSocketConnectOpts | IpcSocketConnectOpts; + + class Socket extends stream.Duplex { + constructor(options?: SocketConstructorOpts); + + // Extended base methods + write(buffer: Uint8Array | string, cb?: (err?: Error) => void): boolean; + write(str: Uint8Array | string, encoding?: BufferEncoding, cb?: (err?: Error) => void): boolean; + + connect(options: SocketConnectOpts, connectionListener?: () => void): this; + connect(port: number, host: string, connectionListener?: () => void): this; + connect(port: number, connectionListener?: () => void): this; + connect(path: string, connectionListener?: () => void): this; + + setEncoding(encoding?: BufferEncoding): this; + pause(): this; + resume(): this; + setTimeout(timeout: number, callback?: () => void): this; + setNoDelay(noDelay?: boolean): this; + setKeepAlive(enable?: boolean, initialDelay?: number): this; + address(): AddressInfo | {}; + unref(): this; + ref(): this; + + readonly bufferSize: number; + readonly bytesRead: number; + readonly bytesWritten: number; + readonly connecting: boolean; + readonly destroyed: boolean; + readonly localAddress: string; + readonly localPort: number; + readonly remoteAddress?: string; + readonly remoteFamily?: string; + readonly remotePort?: number; + + // Extended base methods + end(cb?: () => void): void; + end(buffer: Uint8Array | string, cb?: () => void): void; + end(str: Uint8Array | string, encoding?: BufferEncoding, cb?: () => void): void; + + /** + * events.EventEmitter + * 1. close + * 2. connect + * 3. data + * 4. drain + * 5. end + * 6. error + * 7. lookup + * 8. timeout + */ + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "close", listener: (had_error: boolean) => void): this; + addListener(event: "connect", listener: () => void): this; + addListener(event: "data", listener: (data: Buffer) => void): this; + addListener(event: "drain", listener: () => void): this; + addListener(event: "end", listener: () => void): this; + addListener(event: "error", listener: (err: Error) => void): this; + addListener(event: "lookup", listener: (err: Error, address: string, family: string | number, host: string) => void): this; + addListener(event: "timeout", listener: () => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "close", had_error: boolean): boolean; + emit(event: "connect"): boolean; + emit(event: "data", data: Buffer): boolean; + emit(event: "drain"): boolean; + emit(event: "end"): boolean; + emit(event: "error", err: Error): boolean; + emit(event: "lookup", err: Error, address: string, family: string | number, host: string): boolean; + emit(event: "timeout"): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "close", listener: (had_error: boolean) => void): this; + on(event: "connect", listener: () => void): this; + on(event: "data", listener: (data: Buffer) => void): this; + on(event: "drain", listener: () => void): this; + on(event: "end", listener: () => void): this; + on(event: "error", listener: (err: Error) => void): this; + on(event: "lookup", listener: (err: Error, address: string, family: string | number, host: string) => void): this; + on(event: "timeout", listener: () => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "close", listener: (had_error: boolean) => void): this; + once(event: "connect", listener: () => void): this; + once(event: "data", listener: (data: Buffer) => void): this; + once(event: "drain", listener: () => void): this; + once(event: "end", listener: () => void): this; + once(event: "error", listener: (err: Error) => void): this; + once(event: "lookup", listener: (err: Error, address: string, family: string | number, host: string) => void): this; + once(event: "timeout", listener: () => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "close", listener: (had_error: boolean) => void): this; + prependListener(event: "connect", listener: () => void): this; + prependListener(event: "data", listener: (data: Buffer) => void): this; + prependListener(event: "drain", listener: () => void): this; + prependListener(event: "end", listener: () => void): this; + prependListener(event: "error", listener: (err: Error) => void): this; + prependListener(event: "lookup", listener: (err: Error, address: string, family: string | number, host: string) => void): this; + prependListener(event: "timeout", listener: () => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "close", listener: (had_error: boolean) => void): this; + prependOnceListener(event: "connect", listener: () => void): this; + prependOnceListener(event: "data", listener: (data: Buffer) => void): this; + prependOnceListener(event: "drain", listener: () => void): this; + prependOnceListener(event: "end", listener: () => void): this; + prependOnceListener(event: "error", listener: (err: Error) => void): this; + prependOnceListener(event: "lookup", listener: (err: Error, address: string, family: string | number, host: string) => void): this; + prependOnceListener(event: "timeout", listener: () => void): this; + } + + interface ListenOptions { + port?: number; + host?: string; + backlog?: number; + path?: string; + exclusive?: boolean; + readableAll?: boolean; + writableAll?: boolean; + /** + * @default false + */ + ipv6Only?: boolean; + } + + // https://github.com/nodejs/node/blob/master/lib/net.js + class Server extends events.EventEmitter { + constructor(connectionListener?: (socket: Socket) => void); + constructor(options?: { allowHalfOpen?: boolean, pauseOnConnect?: boolean }, connectionListener?: (socket: Socket) => void); + + listen(port?: number, hostname?: string, backlog?: number, listeningListener?: () => void): this; + listen(port?: number, hostname?: string, listeningListener?: () => void): this; + listen(port?: number, backlog?: number, listeningListener?: () => void): this; + listen(port?: number, listeningListener?: () => void): this; + listen(path: string, backlog?: number, listeningListener?: () => void): this; + listen(path: string, listeningListener?: () => void): this; + listen(options: ListenOptions, listeningListener?: () => void): this; + listen(handle: any, backlog?: number, listeningListener?: () => void): this; + listen(handle: any, listeningListener?: () => void): this; + close(callback?: (err?: Error) => void): this; + address(): AddressInfo | string | null; + getConnections(cb: (error: Error | null, count: number) => void): void; + ref(): this; + unref(): this; + maxConnections: number; + connections: number; + listening: boolean; + + /** + * events.EventEmitter + * 1. close + * 2. connection + * 3. error + * 4. listening + */ + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "close", listener: () => void): this; + addListener(event: "connection", listener: (socket: Socket) => void): this; + addListener(event: "error", listener: (err: Error) => void): this; + addListener(event: "listening", listener: () => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "close"): boolean; + emit(event: "connection", socket: Socket): boolean; + emit(event: "error", err: Error): boolean; + emit(event: "listening"): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "close", listener: () => void): this; + on(event: "connection", listener: (socket: Socket) => void): this; + on(event: "error", listener: (err: Error) => void): this; + on(event: "listening", listener: () => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "close", listener: () => void): this; + once(event: "connection", listener: (socket: Socket) => void): this; + once(event: "error", listener: (err: Error) => void): this; + once(event: "listening", listener: () => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "close", listener: () => void): this; + prependListener(event: "connection", listener: (socket: Socket) => void): this; + prependListener(event: "error", listener: (err: Error) => void): this; + prependListener(event: "listening", listener: () => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "close", listener: () => void): this; + prependOnceListener(event: "connection", listener: (socket: Socket) => void): this; + prependOnceListener(event: "error", listener: (err: Error) => void): this; + prependOnceListener(event: "listening", listener: () => void): this; + } + + interface TcpNetConnectOpts extends TcpSocketConnectOpts, SocketConstructorOpts { + timeout?: number; + } + + interface IpcNetConnectOpts extends IpcSocketConnectOpts, SocketConstructorOpts { + timeout?: number; + } + + type NetConnectOpts = TcpNetConnectOpts | IpcNetConnectOpts; + + function createServer(connectionListener?: (socket: Socket) => void): Server; + function createServer(options?: { allowHalfOpen?: boolean, pauseOnConnect?: boolean }, connectionListener?: (socket: Socket) => void): Server; + function connect(options: NetConnectOpts, connectionListener?: () => void): Socket; + function connect(port: number, host?: string, connectionListener?: () => void): Socket; + function connect(path: string, connectionListener?: () => void): Socket; + function createConnection(options: NetConnectOpts, connectionListener?: () => void): Socket; + function createConnection(port: number, host?: string, connectionListener?: () => void): Socket; + function createConnection(path: string, connectionListener?: () => void): Socket; + function isIP(input: string): number; + function isIPv4(input: string): boolean; + function isIPv6(input: string): boolean; +} diff --git a/node_modules/@types/node/os.d.ts b/node_modules/@types/node/os.d.ts new file mode 100644 index 0000000..1aadc68 --- /dev/null +++ b/node_modules/@types/node/os.d.ts @@ -0,0 +1,239 @@ +declare module "os" { + interface CpuInfo { + model: string; + speed: number; + times: { + user: number; + nice: number; + sys: number; + idle: number; + irq: number; + }; + } + + interface NetworkInterfaceBase { + address: string; + netmask: string; + mac: string; + internal: boolean; + cidr: string | null; + } + + interface NetworkInterfaceInfoIPv4 extends NetworkInterfaceBase { + family: "IPv4"; + } + + interface NetworkInterfaceInfoIPv6 extends NetworkInterfaceBase { + family: "IPv6"; + scopeid: number; + } + + interface UserInfo { + username: T; + uid: number; + gid: number; + shell: T; + homedir: T; + } + + type NetworkInterfaceInfo = NetworkInterfaceInfoIPv4 | NetworkInterfaceInfoIPv6; + + function hostname(): string; + function loadavg(): number[]; + function uptime(): number; + function freemem(): number; + function totalmem(): number; + function cpus(): CpuInfo[]; + function type(): string; + function release(): string; + function networkInterfaces(): NodeJS.Dict; + function homedir(): string; + function userInfo(options: { encoding: 'buffer' }): UserInfo; + function userInfo(options?: { encoding: BufferEncoding }): UserInfo; + + type SignalConstants = { + [key in NodeJS.Signals]: number; + }; + + namespace constants { + const UV_UDP_REUSEADDR: number; + namespace signals {} + const signals: SignalConstants; + namespace errno { + const E2BIG: number; + const EACCES: number; + const EADDRINUSE: number; + const EADDRNOTAVAIL: number; + const EAFNOSUPPORT: number; + const EAGAIN: number; + const EALREADY: number; + const EBADF: number; + const EBADMSG: number; + const EBUSY: number; + const ECANCELED: number; + const ECHILD: number; + const ECONNABORTED: number; + const ECONNREFUSED: number; + const ECONNRESET: number; + const EDEADLK: number; + const EDESTADDRREQ: number; + const EDOM: number; + const EDQUOT: number; + const EEXIST: number; + const EFAULT: number; + const EFBIG: number; + const EHOSTUNREACH: number; + const EIDRM: number; + const EILSEQ: number; + const EINPROGRESS: number; + const EINTR: number; + const EINVAL: number; + const EIO: number; + const EISCONN: number; + const EISDIR: number; + const ELOOP: number; + const EMFILE: number; + const EMLINK: number; + const EMSGSIZE: number; + const EMULTIHOP: number; + const ENAMETOOLONG: number; + const ENETDOWN: number; + const ENETRESET: number; + const ENETUNREACH: number; + const ENFILE: number; + const ENOBUFS: number; + const ENODATA: number; + const ENODEV: number; + const ENOENT: number; + const ENOEXEC: number; + const ENOLCK: number; + const ENOLINK: number; + const ENOMEM: number; + const ENOMSG: number; + const ENOPROTOOPT: number; + const ENOSPC: number; + const ENOSR: number; + const ENOSTR: number; + const ENOSYS: number; + const ENOTCONN: number; + const ENOTDIR: number; + const ENOTEMPTY: number; + const ENOTSOCK: number; + const ENOTSUP: number; + const ENOTTY: number; + const ENXIO: number; + const EOPNOTSUPP: number; + const EOVERFLOW: number; + const EPERM: number; + const EPIPE: number; + const EPROTO: number; + const EPROTONOSUPPORT: number; + const EPROTOTYPE: number; + const ERANGE: number; + const EROFS: number; + const ESPIPE: number; + const ESRCH: number; + const ESTALE: number; + const ETIME: number; + const ETIMEDOUT: number; + const ETXTBSY: number; + const EWOULDBLOCK: number; + const EXDEV: number; + const WSAEINTR: number; + const WSAEBADF: number; + const WSAEACCES: number; + const WSAEFAULT: number; + const WSAEINVAL: number; + const WSAEMFILE: number; + const WSAEWOULDBLOCK: number; + const WSAEINPROGRESS: number; + const WSAEALREADY: number; + const WSAENOTSOCK: number; + const WSAEDESTADDRREQ: number; + const WSAEMSGSIZE: number; + const WSAEPROTOTYPE: number; + const WSAENOPROTOOPT: number; + const WSAEPROTONOSUPPORT: number; + const WSAESOCKTNOSUPPORT: number; + const WSAEOPNOTSUPP: number; + const WSAEPFNOSUPPORT: number; + const WSAEAFNOSUPPORT: number; + const WSAEADDRINUSE: number; + const WSAEADDRNOTAVAIL: number; + const WSAENETDOWN: number; + const WSAENETUNREACH: number; + const WSAENETRESET: number; + const WSAECONNABORTED: number; + const WSAECONNRESET: number; + const WSAENOBUFS: number; + const WSAEISCONN: number; + const WSAENOTCONN: number; + const WSAESHUTDOWN: number; + const WSAETOOMANYREFS: number; + const WSAETIMEDOUT: number; + const WSAECONNREFUSED: number; + const WSAELOOP: number; + const WSAENAMETOOLONG: number; + const WSAEHOSTDOWN: number; + const WSAEHOSTUNREACH: number; + const WSAENOTEMPTY: number; + const WSAEPROCLIM: number; + const WSAEUSERS: number; + const WSAEDQUOT: number; + const WSAESTALE: number; + const WSAEREMOTE: number; + const WSASYSNOTREADY: number; + const WSAVERNOTSUPPORTED: number; + const WSANOTINITIALISED: number; + const WSAEDISCON: number; + const WSAENOMORE: number; + const WSAECANCELLED: number; + const WSAEINVALIDPROCTABLE: number; + const WSAEINVALIDPROVIDER: number; + const WSAEPROVIDERFAILEDINIT: number; + const WSASYSCALLFAILURE: number; + const WSASERVICE_NOT_FOUND: number; + const WSATYPE_NOT_FOUND: number; + const WSA_E_NO_MORE: number; + const WSA_E_CANCELLED: number; + const WSAEREFUSED: number; + } + namespace priority { + const PRIORITY_LOW: number; + const PRIORITY_BELOW_NORMAL: number; + const PRIORITY_NORMAL: number; + const PRIORITY_ABOVE_NORMAL: number; + const PRIORITY_HIGH: number; + const PRIORITY_HIGHEST: number; + } + } + + function arch(): string; + /** + * Returns a string identifying the kernel version. + * On POSIX systems, the operating system release is determined by calling + * [uname(3)][]. On Windows, `pRtlGetVersion` is used, and if it is not available, + * `GetVersionExW()` will be used. See + * https://en.wikipedia.org/wiki/Uname#Examples for more information. + */ + function version(): string; + function platform(): NodeJS.Platform; + function tmpdir(): string; + const EOL: string; + function endianness(): "BE" | "LE"; + /** + * Gets the priority of a process. + * Defaults to current process. + */ + function getPriority(pid?: number): number; + /** + * Sets the priority of the current process. + * @param priority Must be in range of -20 to 19 + */ + function setPriority(priority: number): void; + /** + * Sets the priority of the process specified process. + * @param priority Must be in range of -20 to 19 + */ + function setPriority(pid: number, priority: number): void; +} diff --git a/node_modules/@types/node/package.json b/node_modules/@types/node/package.json new file mode 100644 index 0000000..db4c97d --- /dev/null +++ b/node_modules/@types/node/package.json @@ -0,0 +1,243 @@ +{ + "_args": [ + [ + "@types/node@14.14.14", + "/Users/1112456/github/jenkins-action" + ] + ], + "_from": "@types/node@14.14.14", + "_id": "@types/node@14.14.14", + "_inBundle": false, + "_integrity": "sha512-UHnOPWVWV1z+VV8k6L1HhG7UbGBgIdghqF3l9Ny9ApPghbjICXkUJSd/b9gOgQfjM1r+37cipdw/HJ3F6ICEnQ==", + "_location": "/@types/node", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "@types/node@14.14.14", + "name": "@types/node", + "escapedName": "@types%2fnode", + "scope": "@types", + "rawSpec": "14.14.14", + "saveSpec": null, + "fetchSpec": "14.14.14" + }, + "_requiredBy": [ + "/@octokit/plugin-paginate-rest/@octokit/types", + "/@octokit/plugin-rest-endpoint-methods/@octokit/types", + "/@octokit/rest/@octokit/types", + "/@octokit/types" + ], + "_resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.14.tgz", + "_spec": "14.14.14", + "_where": "/Users/1112456/github/jenkins-action", + "bugs": { + "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues" + }, + "contributors": [ + { + "name": "Microsoft TypeScript", + "url": "https://github.com/Microsoft" + }, + { + "name": "DefinitelyTyped", + "url": "https://github.com/DefinitelyTyped" + }, + { + "name": "Alberto Schiabel", + "url": "https://github.com/jkomyno" + }, + { + "name": "Alexander T.", + "url": "https://github.com/a-tarasyuk" + }, + { + "name": "Alvis HT Tang", + "url": "https://github.com/alvis" + }, + { + "name": "Andrew Makarov", + "url": "https://github.com/r3nya" + }, + { + "name": "Benjamin Toueg", + "url": "https://github.com/btoueg" + }, + { + "name": "Bruno Scheufler", + "url": "https://github.com/brunoscheufler" + }, + { + "name": "Chigozirim C.", + "url": "https://github.com/smac89" + }, + { + "name": "David Junger", + "url": "https://github.com/touffy" + }, + { + "name": "Deividas Bakanas", + "url": "https://github.com/DeividasBakanas" + }, + { + "name": "Eugene Y. Q. Shen", + "url": "https://github.com/eyqs" + }, + { + "name": "Flarna", + "url": "https://github.com/Flarna" + }, + { + "name": "Hannes Magnusson", + "url": "https://github.com/Hannes-Magnusson-CK" + }, + { + "name": "Hoàng Văn Khải", + "url": "https://github.com/KSXGitHub" + }, + { + "name": "Huw", + "url": "https://github.com/hoo29" + }, + { + "name": "Kelvin Jin", + "url": "https://github.com/kjin" + }, + { + "name": "Klaus Meinhardt", + "url": "https://github.com/ajafff" + }, + { + "name": "Lishude", + "url": "https://github.com/islishude" + }, + { + "name": "Mariusz Wiktorczyk", + "url": "https://github.com/mwiktorczyk" + }, + { + "name": "Mohsen Azimi", + "url": "https://github.com/mohsen1" + }, + { + "name": "Nicolas Even", + "url": "https://github.com/n-e" + }, + { + "name": "Nikita Galkin", + "url": "https://github.com/galkin" + }, + { + "name": "Parambir Singh", + "url": "https://github.com/parambirs" + }, + { + "name": "Sebastian Silbermann", + "url": "https://github.com/eps1lon" + }, + { + "name": "Simon Schick", + "url": "https://github.com/SimonSchick" + }, + { + "name": "Thomas den Hollander", + "url": "https://github.com/ThomasdenH" + }, + { + "name": "Wilco Bakker", + "url": "https://github.com/WilcoBakker" + }, + { + "name": "wwwy3y3", + "url": "https://github.com/wwwy3y3" + }, + { + "name": "Samuel Ainsworth", + "url": "https://github.com/samuela" + }, + { + "name": "Kyle Uehlein", + "url": "https://github.com/kuehlein" + }, + { + "name": "Jordi Oliveras Rovira", + "url": "https://github.com/j-oliveras" + }, + { + "name": "Thanik Bhongbhibhat", + "url": "https://github.com/bhongy" + }, + { + "name": "Marcin Kopacz", + "url": "https://github.com/chyzwar" + }, + { + "name": "Trivikram Kamat", + "url": "https://github.com/trivikr" + }, + { + "name": "Minh Son Nguyen", + "url": "https://github.com/nguymin4" + }, + { + "name": "Junxiao Shi", + "url": "https://github.com/yoursunny" + }, + { + "name": "Ilia Baryshnikov", + "url": "https://github.com/qwelias" + }, + { + "name": "ExE Boss", + "url": "https://github.com/ExE-Boss" + }, + { + "name": "Surasak Chaisurin", + "url": "https://github.com/Ryan-Willpower" + }, + { + "name": "Piotr Błażejewicz", + "url": "https://github.com/peterblazejewicz" + }, + { + "name": "Anna Henningsen", + "url": "https://github.com/addaleax" + }, + { + "name": "Jason Kwok", + "url": "https://github.com/JasonHK" + }, + { + "name": "Victor Perin", + "url": "https://github.com/victorperin" + } + ], + "dependencies": {}, + "description": "TypeScript definitions for Node.js", + "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped#readme", + "license": "MIT", + "main": "", + "name": "@types/node", + "repository": { + "type": "git", + "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git", + "directory": "types/node" + }, + "scripts": {}, + "typeScriptVersion": "3.3", + "types": "index.d.ts", + "typesPublisherContentHash": "87bafec1f2d07e2ebc3193f86320fcf28d1ecc5051ef2b471642be6e8b29ed90", + "typesVersions": { + "<=3.4": { + "*": [ + "ts3.4/*" + ] + }, + "<=3.6": { + "*": [ + "ts3.6/*" + ] + } + }, + "version": "14.14.14" +} diff --git a/node_modules/@types/node/path.d.ts b/node_modules/@types/node/path.d.ts new file mode 100644 index 0000000..0273d58 --- /dev/null +++ b/node_modules/@types/node/path.d.ts @@ -0,0 +1,153 @@ +declare module "path" { + namespace path { + /** + * A parsed path object generated by path.parse() or consumed by path.format(). + */ + interface ParsedPath { + /** + * The root of the path such as '/' or 'c:\' + */ + root: string; + /** + * The full directory path such as '/home/user/dir' or 'c:\path\dir' + */ + dir: string; + /** + * The file name including extension (if any) such as 'index.html' + */ + base: string; + /** + * The file extension (if any) such as '.html' + */ + ext: string; + /** + * The file name without extension (if any) such as 'index' + */ + name: string; + } + + interface FormatInputPathObject { + /** + * The root of the path such as '/' or 'c:\' + */ + root?: string; + /** + * The full directory path such as '/home/user/dir' or 'c:\path\dir' + */ + dir?: string; + /** + * The file name including extension (if any) such as 'index.html' + */ + base?: string; + /** + * The file extension (if any) such as '.html' + */ + ext?: string; + /** + * The file name without extension (if any) such as 'index' + */ + name?: string; + } + + interface PlatformPath { + /** + * Normalize a string path, reducing '..' and '.' parts. + * When multiple slashes are found, they're replaced by a single one; when the path contains a trailing slash, it is preserved. On Windows backslashes are used. + * + * @param p string path to normalize. + */ + normalize(p: string): string; + /** + * Join all arguments together and normalize the resulting path. + * Arguments must be strings. In v0.8, non-string arguments were silently ignored. In v0.10 and up, an exception is thrown. + * + * @param paths paths to join. + */ + join(...paths: string[]): string; + /** + * The right-most parameter is considered {to}. Other parameters are considered an array of {from}. + * + * Starting from leftmost {from} parameter, resolves {to} to an absolute path. + * + * If {to} isn't already absolute, {from} arguments are prepended in right to left order, + * until an absolute path is found. If after using all {from} paths still no absolute path is found, + * the current working directory is used as well. The resulting path is normalized, + * and trailing slashes are removed unless the path gets resolved to the root directory. + * + * @param pathSegments string paths to join. Non-string arguments are ignored. + */ + resolve(...pathSegments: string[]): string; + /** + * Determines whether {path} is an absolute path. An absolute path will always resolve to the same location, regardless of the working directory. + * + * @param path path to test. + */ + isAbsolute(p: string): boolean; + /** + * Solve the relative path from {from} to {to}. + * At times we have two absolute paths, and we need to derive the relative path from one to the other. This is actually the reverse transform of path.resolve. + */ + relative(from: string, to: string): string; + /** + * Return the directory name of a path. Similar to the Unix dirname command. + * + * @param p the path to evaluate. + */ + dirname(p: string): string; + /** + * Return the last portion of a path. Similar to the Unix basename command. + * Often used to extract the file name from a fully qualified path. + * + * @param p the path to evaluate. + * @param ext optionally, an extension to remove from the result. + */ + basename(p: string, ext?: string): string; + /** + * Return the extension of the path, from the last '.' to end of string in the last portion of the path. + * If there is no '.' in the last portion of the path or the first character of it is '.', then it returns an empty string + * + * @param p the path to evaluate. + */ + extname(p: string): string; + /** + * The platform-specific file separator. '\\' or '/'. + */ + readonly sep: string; + /** + * The platform-specific file delimiter. ';' or ':'. + */ + readonly delimiter: string; + /** + * Returns an object from a path string - the opposite of format(). + * + * @param pathString path to evaluate. + */ + parse(p: string): ParsedPath; + /** + * Returns a path string from an object - the opposite of parse(). + * + * @param pathString path to evaluate. + */ + format(pP: FormatInputPathObject): string; + /** + * On Windows systems only, returns an equivalent namespace-prefixed path for the given path. + * If path is not a string, path will be returned without modifications. + * This method is meaningful only on Windows system. + * On POSIX systems, the method is non-operational and always returns path without modifications. + */ + toNamespacedPath(path: string): string; + /** + * Posix specific pathing. + * Same as parent object on posix. + */ + readonly posix: PlatformPath; + /** + * Windows specific pathing. + * Same as parent object on windows + */ + readonly win32: PlatformPath; + } + } + const path: path.PlatformPath; + export = path; +} diff --git a/node_modules/@types/node/perf_hooks.d.ts b/node_modules/@types/node/perf_hooks.d.ts new file mode 100644 index 0000000..bbea938 --- /dev/null +++ b/node_modules/@types/node/perf_hooks.d.ts @@ -0,0 +1,271 @@ +declare module 'perf_hooks' { + import { AsyncResource } from 'async_hooks'; + + type EntryType = 'node' | 'mark' | 'measure' | 'gc' | 'function' | 'http2' | 'http'; + + interface PerformanceEntry { + /** + * The total number of milliseconds elapsed for this entry. + * This value will not be meaningful for all Performance Entry types. + */ + readonly duration: number; + + /** + * The name of the performance entry. + */ + readonly name: string; + + /** + * The high resolution millisecond timestamp marking the starting time of the Performance Entry. + */ + readonly startTime: number; + + /** + * The type of the performance entry. + * Currently it may be one of: 'node', 'mark', 'measure', 'gc', or 'function'. + */ + readonly entryType: EntryType; + + /** + * When `performanceEntry.entryType` is equal to 'gc', `the performance.kind` property identifies + * the type of garbage collection operation that occurred. + * See perf_hooks.constants for valid values. + */ + readonly kind?: number; + + /** + * When `performanceEntry.entryType` is equal to 'gc', the `performance.flags` + * property contains additional information about garbage collection operation. + * See perf_hooks.constants for valid values. + */ + readonly flags?: number; + } + + interface PerformanceNodeTiming extends PerformanceEntry { + /** + * The high resolution millisecond timestamp at which the Node.js process completed bootstrap. + */ + readonly bootstrapComplete: number; + + /** + * The high resolution millisecond timestamp at which the Node.js process completed bootstrapping. + * If bootstrapping has not yet finished, the property has the value of -1. + */ + readonly environment: number; + + /** + * The high resolution millisecond timestamp at which the Node.js environment was initialized. + */ + readonly idleTime: number; + + /** + * The high resolution millisecond timestamp of the amount of time the event loop has been idle + * within the event loop's event provider (e.g. `epoll_wait`). This does not take CPU usage + * into consideration. If the event loop has not yet started (e.g., in the first tick of the main script), + * the property has the value of 0. + */ + readonly loopExit: number; + + /** + * The high resolution millisecond timestamp at which the Node.js event loop started. + * If the event loop has not yet started (e.g., in the first tick of the main script), the property has the value of -1. + */ + readonly loopStart: number; + + /** + * The high resolution millisecond timestamp at which the V8 platform was initialized. + */ + readonly v8Start: number; + } + + interface EventLoopUtilization { + idle: number; + active: number; + utilization: number; + } + + interface Performance { + /** + * If name is not provided, removes all PerformanceMark objects from the Performance Timeline. + * If name is provided, removes only the named mark. + * @param name + */ + clearMarks(name?: string): void; + + /** + * Creates a new PerformanceMark entry in the Performance Timeline. + * A PerformanceMark is a subclass of PerformanceEntry whose performanceEntry.entryType is always 'mark', + * and whose performanceEntry.duration is always 0. + * Performance marks are used to mark specific significant moments in the Performance Timeline. + * @param name + */ + mark(name?: string): void; + + /** + * Creates a new PerformanceMeasure entry in the Performance Timeline. + * A PerformanceMeasure is a subclass of PerformanceEntry whose performanceEntry.entryType is always 'measure', + * and whose performanceEntry.duration measures the number of milliseconds elapsed since startMark and endMark. + * + * The startMark argument may identify any existing PerformanceMark in the the Performance Timeline, or may identify + * any of the timestamp properties provided by the PerformanceNodeTiming class. If the named startMark does not exist, + * then startMark is set to timeOrigin by default. + * + * The endMark argument must identify any existing PerformanceMark in the the Performance Timeline or any of the timestamp + * properties provided by the PerformanceNodeTiming class. If the named endMark does not exist, an error will be thrown. + * @param name + * @param startMark + * @param endMark + */ + measure(name: string, startMark: string, endMark: string): void; + + /** + * An instance of the PerformanceNodeTiming class that provides performance metrics for specific Node.js operational milestones. + */ + readonly nodeTiming: PerformanceNodeTiming; + + /** + * @return the current high resolution millisecond timestamp + */ + now(): number; + + /** + * The timeOrigin specifies the high resolution millisecond timestamp from which all performance metric durations are measured. + */ + readonly timeOrigin: number; + + /** + * Wraps a function within a new function that measures the running time of the wrapped function. + * A PerformanceObserver must be subscribed to the 'function' event type in order for the timing details to be accessed. + * @param fn + */ + timerify any>(fn: T): T; + + /** + * eventLoopUtilization is similar to CPU utilization except that it is calculated using high precision wall-clock time. + * It represents the percentage of time the event loop has spent outside the event loop's event provider (e.g. epoll_wait). + * No other CPU idle time is taken into consideration. + * + * @param util1 The result of a previous call to eventLoopUtilization() + * @param util2 The result of a previous call to eventLoopUtilization() prior to util1 + */ + eventLoopUtilization(util1?: EventLoopUtilization, util2?: EventLoopUtilization): EventLoopUtilization; + } + + interface PerformanceObserverEntryList { + /** + * @return a list of PerformanceEntry objects in chronological order with respect to performanceEntry.startTime. + */ + getEntries(): PerformanceEntry[]; + + /** + * @return a list of PerformanceEntry objects in chronological order with respect to performanceEntry.startTime + * whose performanceEntry.name is equal to name, and optionally, whose performanceEntry.entryType is equal to type. + */ + getEntriesByName(name: string, type?: EntryType): PerformanceEntry[]; + + /** + * @return Returns a list of PerformanceEntry objects in chronological order with respect to performanceEntry.startTime + * whose performanceEntry.entryType is equal to type. + */ + getEntriesByType(type: EntryType): PerformanceEntry[]; + } + + type PerformanceObserverCallback = (list: PerformanceObserverEntryList, observer: PerformanceObserver) => void; + + class PerformanceObserver extends AsyncResource { + constructor(callback: PerformanceObserverCallback); + + /** + * Disconnects the PerformanceObserver instance from all notifications. + */ + disconnect(): void; + + /** + * Subscribes the PerformanceObserver instance to notifications of new PerformanceEntry instances identified by options.entryTypes. + * When options.buffered is false, the callback will be invoked once for every PerformanceEntry instance. + * Property buffered defaults to false. + * @param options + */ + observe(options: { entryTypes: ReadonlyArray; buffered?: boolean }): void; + } + + namespace constants { + const NODE_PERFORMANCE_GC_MAJOR: number; + const NODE_PERFORMANCE_GC_MINOR: number; + const NODE_PERFORMANCE_GC_INCREMENTAL: number; + const NODE_PERFORMANCE_GC_WEAKCB: number; + + const NODE_PERFORMANCE_GC_FLAGS_NO: number; + const NODE_PERFORMANCE_GC_FLAGS_CONSTRUCT_RETAINED: number; + const NODE_PERFORMANCE_GC_FLAGS_FORCED: number; + const NODE_PERFORMANCE_GC_FLAGS_SYNCHRONOUS_PHANTOM_PROCESSING: number; + const NODE_PERFORMANCE_GC_FLAGS_ALL_AVAILABLE_GARBAGE: number; + const NODE_PERFORMANCE_GC_FLAGS_ALL_EXTERNAL_MEMORY: number; + const NODE_PERFORMANCE_GC_FLAGS_SCHEDULE_IDLE: number; + } + + const performance: Performance; + + interface EventLoopMonitorOptions { + /** + * The sampling rate in milliseconds. + * Must be greater than zero. + * @default 10 + */ + resolution?: number; + } + + interface EventLoopDelayMonitor { + /** + * Enables the event loop delay sample timer. Returns `true` if the timer was started, `false` if it was already started. + */ + enable(): boolean; + /** + * Disables the event loop delay sample timer. Returns `true` if the timer was stopped, `false` if it was already stopped. + */ + disable(): boolean; + + /** + * Resets the collected histogram data. + */ + reset(): void; + + /** + * Returns the value at the given percentile. + * @param percentile A percentile value between 1 and 100. + */ + percentile(percentile: number): number; + + /** + * A `Map` object detailing the accumulated percentile distribution. + */ + readonly percentiles: Map; + + /** + * The number of times the event loop delay exceeded the maximum 1 hour eventloop delay threshold. + */ + readonly exceeds: number; + + /** + * The minimum recorded event loop delay. + */ + readonly min: number; + + /** + * The maximum recorded event loop delay. + */ + readonly max: number; + + /** + * The mean of the recorded event loop delays. + */ + readonly mean: number; + + /** + * The standard deviation of the recorded event loop delays. + */ + readonly stddev: number; + } + + function monitorEventLoopDelay(options?: EventLoopMonitorOptions): EventLoopDelayMonitor; +} diff --git a/node_modules/@types/node/process.d.ts b/node_modules/@types/node/process.d.ts new file mode 100644 index 0000000..65fe5ca --- /dev/null +++ b/node_modules/@types/node/process.d.ts @@ -0,0 +1,408 @@ +declare module "process" { + import * as tty from "tty"; + + global { + var process: NodeJS.Process; + + namespace NodeJS { + // this namespace merge is here because these are specifically used + // as the type for process.stdin, process.stdout, and process.stderr. + // they can't live in tty.d.ts because we need to disambiguate the imported name. + interface ReadStream extends tty.ReadStream {} + interface WriteStream extends tty.WriteStream {} + + interface MemoryUsage { + rss: number; + heapTotal: number; + heapUsed: number; + external: number; + arrayBuffers: number; + } + + interface CpuUsage { + user: number; + system: number; + } + + interface ProcessRelease { + name: string; + sourceUrl?: string; + headersUrl?: string; + libUrl?: string; + lts?: string; + } + + interface ProcessVersions extends Dict { + http_parser: string; + node: string; + v8: string; + ares: string; + uv: string; + zlib: string; + modules: string; + openssl: string; + } + + type Platform = 'aix' + | 'android' + | 'darwin' + | 'freebsd' + | 'linux' + | 'openbsd' + | 'sunos' + | 'win32' + | 'cygwin' + | 'netbsd'; + + type Signals = + "SIGABRT" | "SIGALRM" | "SIGBUS" | "SIGCHLD" | "SIGCONT" | "SIGFPE" | "SIGHUP" | "SIGILL" | "SIGINT" | "SIGIO" | + "SIGIOT" | "SIGKILL" | "SIGPIPE" | "SIGPOLL" | "SIGPROF" | "SIGPWR" | "SIGQUIT" | "SIGSEGV" | "SIGSTKFLT" | + "SIGSTOP" | "SIGSYS" | "SIGTERM" | "SIGTRAP" | "SIGTSTP" | "SIGTTIN" | "SIGTTOU" | "SIGUNUSED" | "SIGURG" | + "SIGUSR1" | "SIGUSR2" | "SIGVTALRM" | "SIGWINCH" | "SIGXCPU" | "SIGXFSZ" | "SIGBREAK" | "SIGLOST" | "SIGINFO"; + + type MultipleResolveType = 'resolve' | 'reject'; + + type BeforeExitListener = (code: number) => void; + type DisconnectListener = () => void; + type ExitListener = (code: number) => void; + type RejectionHandledListener = (promise: Promise) => void; + type UncaughtExceptionListener = (error: Error) => void; + type UnhandledRejectionListener = (reason: {} | null | undefined, promise: Promise) => void; + type WarningListener = (warning: Error) => void; + type MessageListener = (message: any, sendHandle: any) => void; + type SignalsListener = (signal: Signals) => void; + type NewListenerListener = (type: string | symbol, listener: (...args: any[]) => void) => void; + type RemoveListenerListener = (type: string | symbol, listener: (...args: any[]) => void) => void; + type MultipleResolveListener = (type: MultipleResolveType, promise: Promise, value: any) => void; + + interface Socket extends ReadWriteStream { + isTTY?: true; + } + + // Alias for compatibility + interface ProcessEnv extends Dict {} + + interface HRTime { + (time?: [number, number]): [number, number]; + bigint(): bigint; + } + + interface ProcessReport { + /** + * Directory where the report is written. + * working directory of the Node.js process. + * @default '' indicating that reports are written to the current + */ + directory: string; + + /** + * Filename where the report is written. + * The default value is the empty string. + * @default '' the output filename will be comprised of a timestamp, + * PID, and sequence number. + */ + filename: string; + + /** + * Returns a JSON-formatted diagnostic report for the running process. + * The report's JavaScript stack trace is taken from err, if present. + */ + getReport(err?: Error): string; + + /** + * If true, a diagnostic report is generated on fatal errors, + * such as out of memory errors or failed C++ assertions. + * @default false + */ + reportOnFatalError: boolean; + + /** + * If true, a diagnostic report is generated when the process + * receives the signal specified by process.report.signal. + * @defaul false + */ + reportOnSignal: boolean; + + /** + * If true, a diagnostic report is generated on uncaught exception. + * @default false + */ + reportOnUncaughtException: boolean; + + /** + * The signal used to trigger the creation of a diagnostic report. + * @default 'SIGUSR2' + */ + signal: Signals; + + /** + * Writes a diagnostic report to a file. If filename is not provided, the default filename + * includes the date, time, PID, and a sequence number. + * The report's JavaScript stack trace is taken from err, if present. + * + * @param fileName Name of the file where the report is written. + * This should be a relative path, that will be appended to the directory specified in + * `process.report.directory`, or the current working directory of the Node.js process, + * if unspecified. + * @param error A custom error used for reporting the JavaScript stack. + * @return Filename of the generated report. + */ + writeReport(fileName?: string): string; + writeReport(error?: Error): string; + writeReport(fileName?: string, err?: Error): string; + } + + interface ResourceUsage { + fsRead: number; + fsWrite: number; + involuntaryContextSwitches: number; + ipcReceived: number; + ipcSent: number; + majorPageFault: number; + maxRSS: number; + minorPageFault: number; + sharedMemorySize: number; + signalsCount: number; + swappedOut: number; + systemCPUTime: number; + unsharedDataSize: number; + unsharedStackSize: number; + userCPUTime: number; + voluntaryContextSwitches: number; + } + + interface Process extends EventEmitter { + /** + * Can also be a tty.WriteStream, not typed due to limitations. + */ + stdout: WriteStream & { + fd: 1; + }; + /** + * Can also be a tty.WriteStream, not typed due to limitations. + */ + stderr: WriteStream & { + fd: 2; + }; + stdin: ReadStream & { + fd: 0; + }; + openStdin(): Socket; + argv: string[]; + argv0: string; + execArgv: string[]; + execPath: string; + abort(): never; + chdir(directory: string): void; + cwd(): string; + debugPort: number; + emitWarning(warning: string | Error, name?: string, ctor?: Function): void; + env: ProcessEnv; + exit(code?: number): never; + exitCode?: number; + getgid(): number; + setgid(id: number | string): void; + getuid(): number; + setuid(id: number | string): void; + geteuid(): number; + seteuid(id: number | string): void; + getegid(): number; + setegid(id: number | string): void; + getgroups(): number[]; + setgroups(groups: ReadonlyArray): void; + setUncaughtExceptionCaptureCallback(cb: ((err: Error) => void) | null): void; + hasUncaughtExceptionCaptureCallback(): boolean; + version: string; + versions: ProcessVersions; + config: { + target_defaults: { + cflags: any[]; + default_configuration: string; + defines: string[]; + include_dirs: string[]; + libraries: string[]; + }; + variables: { + clang: number; + host_arch: string; + node_install_npm: boolean; + node_install_waf: boolean; + node_prefix: string; + node_shared_openssl: boolean; + node_shared_v8: boolean; + node_shared_zlib: boolean; + node_use_dtrace: boolean; + node_use_etw: boolean; + node_use_openssl: boolean; + target_arch: string; + v8_no_strict_aliasing: number; + v8_use_snapshot: boolean; + visibility: string; + }; + }; + kill(pid: number, signal?: string | number): true; + pid: number; + ppid: number; + title: string; + arch: string; + platform: Platform; + /** @deprecated since v14.0.0 - use `require.main` instead. */ + mainModule?: Module; + memoryUsage(): MemoryUsage; + cpuUsage(previousValue?: CpuUsage): CpuUsage; + nextTick(callback: Function, ...args: any[]): void; + release: ProcessRelease; + features: { + inspector: boolean; + debug: boolean; + uv: boolean; + ipv6: boolean; + tls_alpn: boolean; + tls_sni: boolean; + tls_ocsp: boolean; + tls: boolean; + }; + /** + * @deprecated since v14.0.0 - Calling process.umask() with no argument causes + * the process-wide umask to be written twice. This introduces a race condition between threads, + * and is a potential security vulnerability. There is no safe, cross-platform alternative API. + */ + umask(): number; + /** + * Can only be set if not in worker thread. + */ + umask(mask: string | number): number; + uptime(): number; + hrtime: HRTime; + domain: Domain; + + // Worker + send?(message: any, sendHandle?: any, options?: { swallowErrors?: boolean}, callback?: (error: Error | null) => void): boolean; + disconnect(): void; + connected: boolean; + + /** + * The `process.allowedNodeEnvironmentFlags` property is a special, + * read-only `Set` of flags allowable within the [`NODE_OPTIONS`][] + * environment variable. + */ + allowedNodeEnvironmentFlags: ReadonlySet; + + /** + * Only available with `--experimental-report` + */ + report?: ProcessReport; + + resourceUsage(): ResourceUsage; + + traceDeprecation: boolean; + + /* EventEmitter */ + addListener(event: "beforeExit", listener: BeforeExitListener): this; + addListener(event: "disconnect", listener: DisconnectListener): this; + addListener(event: "exit", listener: ExitListener): this; + addListener(event: "rejectionHandled", listener: RejectionHandledListener): this; + addListener(event: "uncaughtException", listener: UncaughtExceptionListener): this; + addListener(event: "uncaughtExceptionMonitor", listener: UncaughtExceptionListener): this; + addListener(event: "unhandledRejection", listener: UnhandledRejectionListener): this; + addListener(event: "warning", listener: WarningListener): this; + addListener(event: "message", listener: MessageListener): this; + addListener(event: Signals, listener: SignalsListener): this; + addListener(event: "newListener", listener: NewListenerListener): this; + addListener(event: "removeListener", listener: RemoveListenerListener): this; + addListener(event: "multipleResolves", listener: MultipleResolveListener): this; + + emit(event: "beforeExit", code: number): boolean; + emit(event: "disconnect"): boolean; + emit(event: "exit", code: number): boolean; + emit(event: "rejectionHandled", promise: Promise): boolean; + emit(event: "uncaughtException", error: Error): boolean; + emit(event: "uncaughtExceptionMonitor", error: Error): boolean; + emit(event: "unhandledRejection", reason: any, promise: Promise): boolean; + emit(event: "warning", warning: Error): boolean; + emit(event: "message", message: any, sendHandle: any): this; + emit(event: Signals, signal: Signals): boolean; + emit(event: "newListener", eventName: string | symbol, listener: (...args: any[]) => void): this; + emit(event: "removeListener", eventName: string, listener: (...args: any[]) => void): this; + emit(event: "multipleResolves", listener: MultipleResolveListener): this; + + on(event: "beforeExit", listener: BeforeExitListener): this; + on(event: "disconnect", listener: DisconnectListener): this; + on(event: "exit", listener: ExitListener): this; + on(event: "rejectionHandled", listener: RejectionHandledListener): this; + on(event: "uncaughtException", listener: UncaughtExceptionListener): this; + on(event: "uncaughtExceptionMonitor", listener: UncaughtExceptionListener): this; + on(event: "unhandledRejection", listener: UnhandledRejectionListener): this; + on(event: "warning", listener: WarningListener): this; + on(event: "message", listener: MessageListener): this; + on(event: Signals, listener: SignalsListener): this; + on(event: "newListener", listener: NewListenerListener): this; + on(event: "removeListener", listener: RemoveListenerListener): this; + on(event: "multipleResolves", listener: MultipleResolveListener): this; + on(event: string | symbol, listener: (...args: any[]) => void): this; + + once(event: "beforeExit", listener: BeforeExitListener): this; + once(event: "disconnect", listener: DisconnectListener): this; + once(event: "exit", listener: ExitListener): this; + once(event: "rejectionHandled", listener: RejectionHandledListener): this; + once(event: "uncaughtException", listener: UncaughtExceptionListener): this; + once(event: "uncaughtExceptionMonitor", listener: UncaughtExceptionListener): this; + once(event: "unhandledRejection", listener: UnhandledRejectionListener): this; + once(event: "warning", listener: WarningListener): this; + once(event: "message", listener: MessageListener): this; + once(event: Signals, listener: SignalsListener): this; + once(event: "newListener", listener: NewListenerListener): this; + once(event: "removeListener", listener: RemoveListenerListener): this; + once(event: "multipleResolves", listener: MultipleResolveListener): this; + + prependListener(event: "beforeExit", listener: BeforeExitListener): this; + prependListener(event: "disconnect", listener: DisconnectListener): this; + prependListener(event: "exit", listener: ExitListener): this; + prependListener(event: "rejectionHandled", listener: RejectionHandledListener): this; + prependListener(event: "uncaughtException", listener: UncaughtExceptionListener): this; + prependListener(event: "uncaughtExceptionMonitor", listener: UncaughtExceptionListener): this; + prependListener(event: "unhandledRejection", listener: UnhandledRejectionListener): this; + prependListener(event: "warning", listener: WarningListener): this; + prependListener(event: "message", listener: MessageListener): this; + prependListener(event: Signals, listener: SignalsListener): this; + prependListener(event: "newListener", listener: NewListenerListener): this; + prependListener(event: "removeListener", listener: RemoveListenerListener): this; + prependListener(event: "multipleResolves", listener: MultipleResolveListener): this; + + prependOnceListener(event: "beforeExit", listener: BeforeExitListener): this; + prependOnceListener(event: "disconnect", listener: DisconnectListener): this; + prependOnceListener(event: "exit", listener: ExitListener): this; + prependOnceListener(event: "rejectionHandled", listener: RejectionHandledListener): this; + prependOnceListener(event: "uncaughtException", listener: UncaughtExceptionListener): this; + prependOnceListener(event: "uncaughtExceptionMonitor", listener: UncaughtExceptionListener): this; + prependOnceListener(event: "unhandledRejection", listener: UnhandledRejectionListener): this; + prependOnceListener(event: "warning", listener: WarningListener): this; + prependOnceListener(event: "message", listener: MessageListener): this; + prependOnceListener(event: Signals, listener: SignalsListener): this; + prependOnceListener(event: "newListener", listener: NewListenerListener): this; + prependOnceListener(event: "removeListener", listener: RemoveListenerListener): this; + prependOnceListener(event: "multipleResolves", listener: MultipleResolveListener): this; + + listeners(event: "beforeExit"): BeforeExitListener[]; + listeners(event: "disconnect"): DisconnectListener[]; + listeners(event: "exit"): ExitListener[]; + listeners(event: "rejectionHandled"): RejectionHandledListener[]; + listeners(event: "uncaughtException"): UncaughtExceptionListener[]; + listeners(event: "uncaughtExceptionMonitor"): UncaughtExceptionListener[]; + listeners(event: "unhandledRejection"): UnhandledRejectionListener[]; + listeners(event: "warning"): WarningListener[]; + listeners(event: "message"): MessageListener[]; + listeners(event: Signals): SignalsListener[]; + listeners(event: "newListener"): NewListenerListener[]; + listeners(event: "removeListener"): RemoveListenerListener[]; + listeners(event: "multipleResolves"): MultipleResolveListener[]; + } + + interface Global { + process: Process; + } + } + } + + export = process; +} diff --git a/node_modules/@types/node/punycode.d.ts b/node_modules/@types/node/punycode.d.ts new file mode 100644 index 0000000..2b771d4 --- /dev/null +++ b/node_modules/@types/node/punycode.d.ts @@ -0,0 +1,68 @@ +declare module "punycode" { + /** + * @deprecated since v7.0.0 + * The version of the punycode module bundled in Node.js is being deprecated. + * In a future major version of Node.js this module will be removed. + * Users currently depending on the punycode module should switch to using + * the userland-provided Punycode.js module instead. + */ + function decode(string: string): string; + /** + * @deprecated since v7.0.0 + * The version of the punycode module bundled in Node.js is being deprecated. + * In a future major version of Node.js this module will be removed. + * Users currently depending on the punycode module should switch to using + * the userland-provided Punycode.js module instead. + */ + function encode(string: string): string; + /** + * @deprecated since v7.0.0 + * The version of the punycode module bundled in Node.js is being deprecated. + * In a future major version of Node.js this module will be removed. + * Users currently depending on the punycode module should switch to using + * the userland-provided Punycode.js module instead. + */ + function toUnicode(domain: string): string; + /** + * @deprecated since v7.0.0 + * The version of the punycode module bundled in Node.js is being deprecated. + * In a future major version of Node.js this module will be removed. + * Users currently depending on the punycode module should switch to using + * the userland-provided Punycode.js module instead. + */ + function toASCII(domain: string): string; + /** + * @deprecated since v7.0.0 + * The version of the punycode module bundled in Node.js is being deprecated. + * In a future major version of Node.js this module will be removed. + * Users currently depending on the punycode module should switch to using + * the userland-provided Punycode.js module instead. + */ + const ucs2: ucs2; + interface ucs2 { + /** + * @deprecated since v7.0.0 + * The version of the punycode module bundled in Node.js is being deprecated. + * In a future major version of Node.js this module will be removed. + * Users currently depending on the punycode module should switch to using + * the userland-provided Punycode.js module instead. + */ + decode(string: string): number[]; + /** + * @deprecated since v7.0.0 + * The version of the punycode module bundled in Node.js is being deprecated. + * In a future major version of Node.js this module will be removed. + * Users currently depending on the punycode module should switch to using + * the userland-provided Punycode.js module instead. + */ + encode(codePoints: ReadonlyArray): string; + } + /** + * @deprecated since v7.0.0 + * The version of the punycode module bundled in Node.js is being deprecated. + * In a future major version of Node.js this module will be removed. + * Users currently depending on the punycode module should switch to using + * the userland-provided Punycode.js module instead. + */ + const version: string; +} diff --git a/node_modules/@types/node/querystring.d.ts b/node_modules/@types/node/querystring.d.ts new file mode 100644 index 0000000..3e204e7 --- /dev/null +++ b/node_modules/@types/node/querystring.d.ts @@ -0,0 +1,28 @@ +declare module "querystring" { + interface StringifyOptions { + encodeURIComponent?: (str: string) => string; + } + + interface ParseOptions { + maxKeys?: number; + decodeURIComponent?: (str: string) => string; + } + + interface ParsedUrlQuery extends NodeJS.Dict { } + + interface ParsedUrlQueryInput extends NodeJS.Dict | ReadonlyArray | ReadonlyArray | null> { + } + + function stringify(obj?: ParsedUrlQueryInput, sep?: string, eq?: string, options?: StringifyOptions): string; + function parse(str: string, sep?: string, eq?: string, options?: ParseOptions): ParsedUrlQuery; + /** + * The querystring.encode() function is an alias for querystring.stringify(). + */ + const encode: typeof stringify; + /** + * The querystring.decode() function is an alias for querystring.parse(). + */ + const decode: typeof parse; + function escape(str: string): string; + function unescape(str: string): string; +} diff --git a/node_modules/@types/node/readline.d.ts b/node_modules/@types/node/readline.d.ts new file mode 100644 index 0000000..fbe4836 --- /dev/null +++ b/node_modules/@types/node/readline.d.ts @@ -0,0 +1,171 @@ +declare module "readline" { + import * as events from "events"; + import * as stream from "stream"; + + interface Key { + sequence?: string; + name?: string; + ctrl?: boolean; + meta?: boolean; + shift?: boolean; + } + + class Interface extends events.EventEmitter { + readonly terminal: boolean; + + // Need direct access to line/cursor data, for use in external processes + // see: https://github.com/nodejs/node/issues/30347 + /** The current input data */ + readonly line: string; + /** The current cursor position in the input line */ + readonly cursor: number; + + /** + * NOTE: According to the documentation: + * + * > Instances of the `readline.Interface` class are constructed using the + * > `readline.createInterface()` method. + * + * @see https://nodejs.org/dist/latest-v10.x/docs/api/readline.html#readline_class_interface + */ + protected constructor(input: NodeJS.ReadableStream, output?: NodeJS.WritableStream, completer?: Completer | AsyncCompleter, terminal?: boolean); + /** + * NOTE: According to the documentation: + * + * > Instances of the `readline.Interface` class are constructed using the + * > `readline.createInterface()` method. + * + * @see https://nodejs.org/dist/latest-v10.x/docs/api/readline.html#readline_class_interface + */ + protected constructor(options: ReadLineOptions); + + setPrompt(prompt: string): void; + prompt(preserveCursor?: boolean): void; + question(query: string, callback: (answer: string) => void): void; + pause(): this; + resume(): this; + close(): void; + write(data: string | Buffer, key?: Key): void; + + /** + * Returns the real position of the cursor in relation to the input + * prompt + string. Long input (wrapping) strings, as well as multiple + * line prompts are included in the calculations. + */ + getCursorPos(): CursorPos; + + /** + * events.EventEmitter + * 1. close + * 2. line + * 3. pause + * 4. resume + * 5. SIGCONT + * 6. SIGINT + * 7. SIGTSTP + */ + + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "close", listener: () => void): this; + addListener(event: "line", listener: (input: string) => void): this; + addListener(event: "pause", listener: () => void): this; + addListener(event: "resume", listener: () => void): this; + addListener(event: "SIGCONT", listener: () => void): this; + addListener(event: "SIGINT", listener: () => void): this; + addListener(event: "SIGTSTP", listener: () => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "close"): boolean; + emit(event: "line", input: string): boolean; + emit(event: "pause"): boolean; + emit(event: "resume"): boolean; + emit(event: "SIGCONT"): boolean; + emit(event: "SIGINT"): boolean; + emit(event: "SIGTSTP"): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "close", listener: () => void): this; + on(event: "line", listener: (input: string) => void): this; + on(event: "pause", listener: () => void): this; + on(event: "resume", listener: () => void): this; + on(event: "SIGCONT", listener: () => void): this; + on(event: "SIGINT", listener: () => void): this; + on(event: "SIGTSTP", listener: () => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "close", listener: () => void): this; + once(event: "line", listener: (input: string) => void): this; + once(event: "pause", listener: () => void): this; + once(event: "resume", listener: () => void): this; + once(event: "SIGCONT", listener: () => void): this; + once(event: "SIGINT", listener: () => void): this; + once(event: "SIGTSTP", listener: () => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "close", listener: () => void): this; + prependListener(event: "line", listener: (input: string) => void): this; + prependListener(event: "pause", listener: () => void): this; + prependListener(event: "resume", listener: () => void): this; + prependListener(event: "SIGCONT", listener: () => void): this; + prependListener(event: "SIGINT", listener: () => void): this; + prependListener(event: "SIGTSTP", listener: () => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "close", listener: () => void): this; + prependOnceListener(event: "line", listener: (input: string) => void): this; + prependOnceListener(event: "pause", listener: () => void): this; + prependOnceListener(event: "resume", listener: () => void): this; + prependOnceListener(event: "SIGCONT", listener: () => void): this; + prependOnceListener(event: "SIGINT", listener: () => void): this; + prependOnceListener(event: "SIGTSTP", listener: () => void): this; + [Symbol.asyncIterator](): AsyncIterableIterator; + } + + type ReadLine = Interface; // type forwarded for backwards compatiblity + + type Completer = (line: string) => CompleterResult; + type AsyncCompleter = (line: string, callback: (err?: null | Error, result?: CompleterResult) => void) => any; + + type CompleterResult = [string[], string]; + + interface ReadLineOptions { + input: NodeJS.ReadableStream; + output?: NodeJS.WritableStream; + completer?: Completer | AsyncCompleter; + terminal?: boolean; + historySize?: number; + prompt?: string; + crlfDelay?: number; + removeHistoryDuplicates?: boolean; + escapeCodeTimeout?: number; + tabSize?: number; + } + + function createInterface(input: NodeJS.ReadableStream, output?: NodeJS.WritableStream, completer?: Completer | AsyncCompleter, terminal?: boolean): Interface; + function createInterface(options: ReadLineOptions): Interface; + function emitKeypressEvents(stream: NodeJS.ReadableStream, readlineInterface?: Interface): void; + + type Direction = -1 | 0 | 1; + + interface CursorPos { + rows: number; + cols: number; + } + + /** + * Clears the current line of this WriteStream in a direction identified by `dir`. + */ + function clearLine(stream: NodeJS.WritableStream, dir: Direction, callback?: () => void): boolean; + /** + * Clears this `WriteStream` from the current cursor down. + */ + function clearScreenDown(stream: NodeJS.WritableStream, callback?: () => void): boolean; + /** + * Moves this WriteStream's cursor to the specified position. + */ + function cursorTo(stream: NodeJS.WritableStream, x: number, y?: number, callback?: () => void): boolean; + /** + * Moves this WriteStream's cursor relative to its current position. + */ + function moveCursor(stream: NodeJS.WritableStream, dx: number, dy: number, callback?: () => void): boolean; +} diff --git a/node_modules/@types/node/repl.d.ts b/node_modules/@types/node/repl.d.ts new file mode 100644 index 0000000..4985b52 --- /dev/null +++ b/node_modules/@types/node/repl.d.ts @@ -0,0 +1,395 @@ +declare module "repl" { + import { Interface, Completer, AsyncCompleter } from "readline"; + import { Context } from "vm"; + import { InspectOptions } from "util"; + + interface ReplOptions { + /** + * The input prompt to display. + * Default: `"> "` + */ + prompt?: string; + /** + * The `Readable` stream from which REPL input will be read. + * Default: `process.stdin` + */ + input?: NodeJS.ReadableStream; + /** + * The `Writable` stream to which REPL output will be written. + * Default: `process.stdout` + */ + output?: NodeJS.WritableStream; + /** + * If `true`, specifies that the output should be treated as a TTY terminal, and have + * ANSI/VT100 escape codes written to it. + * Default: checking the value of the `isTTY` property on the output stream upon + * instantiation. + */ + terminal?: boolean; + /** + * The function to be used when evaluating each given line of input. + * Default: an async wrapper for the JavaScript `eval()` function. An `eval` function can + * error with `repl.Recoverable` to indicate the input was incomplete and prompt for + * additional lines. + * + * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_default_evaluation + * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_custom_evaluation_functions + */ + eval?: REPLEval; + /** + * Defines if the repl prints output previews or not. + * @default `true` Always `false` in case `terminal` is falsy. + */ + preview?: boolean; + /** + * If `true`, specifies that the default `writer` function should include ANSI color + * styling to REPL output. If a custom `writer` function is provided then this has no + * effect. + * Default: the REPL instance's `terminal` value. + */ + useColors?: boolean; + /** + * If `true`, specifies that the default evaluation function will use the JavaScript + * `global` as the context as opposed to creating a new separate context for the REPL + * instance. The node CLI REPL sets this value to `true`. + * Default: `false`. + */ + useGlobal?: boolean; + /** + * If `true`, specifies that the default writer will not output the return value of a + * command if it evaluates to `undefined`. + * Default: `false`. + */ + ignoreUndefined?: boolean; + /** + * The function to invoke to format the output of each command before writing to `output`. + * Default: a wrapper for `util.inspect`. + * + * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_customizing_repl_output + */ + writer?: REPLWriter; + /** + * An optional function used for custom Tab auto completion. + * + * @see https://nodejs.org/dist/latest-v11.x/docs/api/readline.html#readline_use_of_the_completer_function + */ + completer?: Completer | AsyncCompleter; + /** + * A flag that specifies whether the default evaluator executes all JavaScript commands in + * strict mode or default (sloppy) mode. + * Accepted values are: + * - `repl.REPL_MODE_SLOPPY` - evaluates expressions in sloppy mode. + * - `repl.REPL_MODE_STRICT` - evaluates expressions in strict mode. This is equivalent to + * prefacing every repl statement with `'use strict'`. + */ + replMode?: typeof REPL_MODE_SLOPPY | typeof REPL_MODE_STRICT; + /** + * Stop evaluating the current piece of code when `SIGINT` is received, i.e. `Ctrl+C` is + * pressed. This cannot be used together with a custom `eval` function. + * Default: `false`. + */ + breakEvalOnSigint?: boolean; + } + + type REPLEval = (this: REPLServer, evalCmd: string, context: Context, file: string, cb: (err: Error | null, result: any) => void) => void; + type REPLWriter = (this: REPLServer, obj: any) => string; + + /** + * This is the default "writer" value, if none is passed in the REPL options, + * and it can be overridden by custom print functions. + */ + const writer: REPLWriter & { options: InspectOptions }; + + type REPLCommandAction = (this: REPLServer, text: string) => void; + + interface REPLCommand { + /** + * Help text to be displayed when `.help` is entered. + */ + help?: string; + /** + * The function to execute, optionally accepting a single string argument. + */ + action: REPLCommandAction; + } + + /** + * Provides a customizable Read-Eval-Print-Loop (REPL). + * + * Instances of `repl.REPLServer` will accept individual lines of user input, evaluate those + * according to a user-defined evaluation function, then output the result. Input and output + * may be from `stdin` and `stdout`, respectively, or may be connected to any Node.js `stream`. + * + * Instances of `repl.REPLServer` support automatic completion of inputs, simplistic Emacs-style + * line editing, multi-line inputs, ANSI-styled output, saving and restoring current REPL session + * state, error recovery, and customizable evaluation functions. + * + * Instances of `repl.REPLServer` are created using the `repl.start()` method and _should not_ + * be created directly using the JavaScript `new` keyword. + * + * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_repl + */ + class REPLServer extends Interface { + /** + * The `vm.Context` provided to the `eval` function to be used for JavaScript + * evaluation. + */ + readonly context: Context; + /** + * @deprecated since v14.3.0 - Use `input` instead. + */ + readonly inputStream: NodeJS.ReadableStream; + /** + * @deprecated since v14.3.0 - Use `output` instead. + */ + readonly outputStream: NodeJS.WritableStream; + /** + * The `Readable` stream from which REPL input will be read. + */ + readonly input: NodeJS.ReadableStream; + /** + * The `Writable` stream to which REPL output will be written. + */ + readonly output: NodeJS.WritableStream; + /** + * The commands registered via `replServer.defineCommand()`. + */ + readonly commands: NodeJS.ReadOnlyDict; + /** + * A value indicating whether the REPL is currently in "editor mode". + * + * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_commands_and_special_keys + */ + readonly editorMode: boolean; + /** + * A value indicating whether the `_` variable has been assigned. + * + * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_assignment_of_the_underscore_variable + */ + readonly underscoreAssigned: boolean; + /** + * The last evaluation result from the REPL (assigned to the `_` variable inside of the REPL). + * + * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_assignment_of_the_underscore_variable + */ + readonly last: any; + /** + * A value indicating whether the `_error` variable has been assigned. + * + * @since v9.8.0 + * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_assignment_of_the_underscore_variable + */ + readonly underscoreErrAssigned: boolean; + /** + * The last error raised inside the REPL (assigned to the `_error` variable inside of the REPL). + * + * @since v9.8.0 + * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_assignment_of_the_underscore_variable + */ + readonly lastError: any; + /** + * Specified in the REPL options, this is the function to be used when evaluating each + * given line of input. If not specified in the REPL options, this is an async wrapper + * for the JavaScript `eval()` function. + */ + readonly eval: REPLEval; + /** + * Specified in the REPL options, this is a value indicating whether the default + * `writer` function should include ANSI color styling to REPL output. + */ + readonly useColors: boolean; + /** + * Specified in the REPL options, this is a value indicating whether the default `eval` + * function will use the JavaScript `global` as the context as opposed to creating a new + * separate context for the REPL instance. + */ + readonly useGlobal: boolean; + /** + * Specified in the REPL options, this is a value indicating whether the default `writer` + * function should output the result of a command if it evaluates to `undefined`. + */ + readonly ignoreUndefined: boolean; + /** + * Specified in the REPL options, this is the function to invoke to format the output of + * each command before writing to `outputStream`. If not specified in the REPL options, + * this will be a wrapper for `util.inspect`. + */ + readonly writer: REPLWriter; + /** + * Specified in the REPL options, this is the function to use for custom Tab auto-completion. + */ + readonly completer: Completer | AsyncCompleter; + /** + * Specified in the REPL options, this is a flag that specifies whether the default `eval` + * function should execute all JavaScript commands in strict mode or default (sloppy) mode. + * Possible values are: + * - `repl.REPL_MODE_SLOPPY` - evaluates expressions in sloppy mode. + * - `repl.REPL_MODE_STRICT` - evaluates expressions in strict mode. This is equivalent to + * prefacing every repl statement with `'use strict'`. + */ + readonly replMode: typeof REPL_MODE_SLOPPY | typeof REPL_MODE_STRICT; + + /** + * NOTE: According to the documentation: + * + * > Instances of `repl.REPLServer` are created using the `repl.start()` method and + * > _should not_ be created directly using the JavaScript `new` keyword. + * + * `REPLServer` cannot be subclassed due to implementation specifics in NodeJS. + * + * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_class_replserver + */ + private constructor(); + + /** + * Used to add new `.`-prefixed commands to the REPL instance. Such commands are invoked + * by typing a `.` followed by the `keyword`. + * + * @param keyword The command keyword (_without_ a leading `.` character). + * @param cmd The function to invoke when the command is processed. + * + * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_replserver_definecommand_keyword_cmd + */ + defineCommand(keyword: string, cmd: REPLCommandAction | REPLCommand): void; + /** + * Readies the REPL instance for input from the user, printing the configured `prompt` to a + * new line in the `output` and resuming the `input` to accept new input. + * + * When multi-line input is being entered, an ellipsis is printed rather than the 'prompt'. + * + * This method is primarily intended to be called from within the action function for + * commands registered using the `replServer.defineCommand()` method. + * + * @param preserveCursor When `true`, the cursor placement will not be reset to `0`. + */ + displayPrompt(preserveCursor?: boolean): void; + /** + * Clears any command that has been buffered but not yet executed. + * + * This method is primarily intended to be called from within the action function for + * commands registered using the `replServer.defineCommand()` method. + * + * @since v9.0.0 + */ + clearBufferedCommand(): void; + + /** + * Initializes a history log file for the REPL instance. When executing the + * Node.js binary and using the command line REPL, a history file is initialized + * by default. However, this is not the case when creating a REPL + * programmatically. Use this method to initialize a history log file when working + * with REPL instances programmatically. + * @param path The path to the history file + */ + setupHistory(path: string, cb: (err: Error | null, repl: this) => void): void; + + /** + * events.EventEmitter + * 1. close - inherited from `readline.Interface` + * 2. line - inherited from `readline.Interface` + * 3. pause - inherited from `readline.Interface` + * 4. resume - inherited from `readline.Interface` + * 5. SIGCONT - inherited from `readline.Interface` + * 6. SIGINT - inherited from `readline.Interface` + * 7. SIGTSTP - inherited from `readline.Interface` + * 8. exit + * 9. reset + */ + + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "close", listener: () => void): this; + addListener(event: "line", listener: (input: string) => void): this; + addListener(event: "pause", listener: () => void): this; + addListener(event: "resume", listener: () => void): this; + addListener(event: "SIGCONT", listener: () => void): this; + addListener(event: "SIGINT", listener: () => void): this; + addListener(event: "SIGTSTP", listener: () => void): this; + addListener(event: "exit", listener: () => void): this; + addListener(event: "reset", listener: (context: Context) => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "close"): boolean; + emit(event: "line", input: string): boolean; + emit(event: "pause"): boolean; + emit(event: "resume"): boolean; + emit(event: "SIGCONT"): boolean; + emit(event: "SIGINT"): boolean; + emit(event: "SIGTSTP"): boolean; + emit(event: "exit"): boolean; + emit(event: "reset", context: Context): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "close", listener: () => void): this; + on(event: "line", listener: (input: string) => void): this; + on(event: "pause", listener: () => void): this; + on(event: "resume", listener: () => void): this; + on(event: "SIGCONT", listener: () => void): this; + on(event: "SIGINT", listener: () => void): this; + on(event: "SIGTSTP", listener: () => void): this; + on(event: "exit", listener: () => void): this; + on(event: "reset", listener: (context: Context) => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "close", listener: () => void): this; + once(event: "line", listener: (input: string) => void): this; + once(event: "pause", listener: () => void): this; + once(event: "resume", listener: () => void): this; + once(event: "SIGCONT", listener: () => void): this; + once(event: "SIGINT", listener: () => void): this; + once(event: "SIGTSTP", listener: () => void): this; + once(event: "exit", listener: () => void): this; + once(event: "reset", listener: (context: Context) => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "close", listener: () => void): this; + prependListener(event: "line", listener: (input: string) => void): this; + prependListener(event: "pause", listener: () => void): this; + prependListener(event: "resume", listener: () => void): this; + prependListener(event: "SIGCONT", listener: () => void): this; + prependListener(event: "SIGINT", listener: () => void): this; + prependListener(event: "SIGTSTP", listener: () => void): this; + prependListener(event: "exit", listener: () => void): this; + prependListener(event: "reset", listener: (context: Context) => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "close", listener: () => void): this; + prependOnceListener(event: "line", listener: (input: string) => void): this; + prependOnceListener(event: "pause", listener: () => void): this; + prependOnceListener(event: "resume", listener: () => void): this; + prependOnceListener(event: "SIGCONT", listener: () => void): this; + prependOnceListener(event: "SIGINT", listener: () => void): this; + prependOnceListener(event: "SIGTSTP", listener: () => void): this; + prependOnceListener(event: "exit", listener: () => void): this; + prependOnceListener(event: "reset", listener: (context: Context) => void): this; + } + + /** + * A flag passed in the REPL options. Evaluates expressions in sloppy mode. + */ + const REPL_MODE_SLOPPY: unique symbol; + + /** + * A flag passed in the REPL options. Evaluates expressions in strict mode. + * This is equivalent to prefacing every repl statement with `'use strict'`. + */ + const REPL_MODE_STRICT: unique symbol; + + /** + * Creates and starts a `repl.REPLServer` instance. + * + * @param options The options for the `REPLServer`. If `options` is a string, then it specifies + * the input prompt. + */ + function start(options?: string | ReplOptions): REPLServer; + + /** + * Indicates a recoverable error that a `REPLServer` can use to support multi-line input. + * + * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_recoverable_errors + */ + class Recoverable extends SyntaxError { + err: Error; + + constructor(err: Error); + } +} diff --git a/node_modules/@types/node/stream.d.ts b/node_modules/@types/node/stream.d.ts new file mode 100644 index 0000000..7e189d9 --- /dev/null +++ b/node_modules/@types/node/stream.d.ts @@ -0,0 +1,354 @@ +declare module "stream" { + import * as events from "events"; + + class internal extends events.EventEmitter { + pipe(destination: T, options?: { end?: boolean; }): T; + } + + namespace internal { + class Stream extends internal { + constructor(opts?: ReadableOptions); + } + + interface ReadableOptions { + highWaterMark?: number; + encoding?: BufferEncoding; + objectMode?: boolean; + read?(this: Readable, size: number): void; + destroy?(this: Readable, error: Error | null, callback: (error: Error | null) => void): void; + autoDestroy?: boolean; + } + + class Readable extends Stream implements NodeJS.ReadableStream { + /** + * A utility method for creating Readable Streams out of iterators. + */ + static from(iterable: Iterable | AsyncIterable, options?: ReadableOptions): Readable; + + readable: boolean; + readonly readableEncoding: BufferEncoding | null; + readonly readableEnded: boolean; + readonly readableFlowing: boolean | null; + readonly readableHighWaterMark: number; + readonly readableLength: number; + readonly readableObjectMode: boolean; + destroyed: boolean; + constructor(opts?: ReadableOptions); + _read(size: number): void; + read(size?: number): any; + setEncoding(encoding: BufferEncoding): this; + pause(): this; + resume(): this; + isPaused(): boolean; + unpipe(destination?: NodeJS.WritableStream): this; + unshift(chunk: any, encoding?: BufferEncoding): void; + wrap(oldStream: NodeJS.ReadableStream): this; + push(chunk: any, encoding?: BufferEncoding): boolean; + _destroy(error: Error | null, callback: (error?: Error | null) => void): void; + destroy(error?: Error): void; + + /** + * Event emitter + * The defined events on documents including: + * 1. close + * 2. data + * 3. end + * 4. error + * 5. pause + * 6. readable + * 7. resume + */ + addListener(event: "close", listener: () => void): this; + addListener(event: "data", listener: (chunk: any) => void): this; + addListener(event: "end", listener: () => void): this; + addListener(event: "error", listener: (err: Error) => void): this; + addListener(event: "pause", listener: () => void): this; + addListener(event: "readable", listener: () => void): this; + addListener(event: "resume", listener: () => void): this; + addListener(event: string | symbol, listener: (...args: any[]) => void): this; + + emit(event: "close"): boolean; + emit(event: "data", chunk: any): boolean; + emit(event: "end"): boolean; + emit(event: "error", err: Error): boolean; + emit(event: "pause"): boolean; + emit(event: "readable"): boolean; + emit(event: "resume"): boolean; + emit(event: string | symbol, ...args: any[]): boolean; + + on(event: "close", listener: () => void): this; + on(event: "data", listener: (chunk: any) => void): this; + on(event: "end", listener: () => void): this; + on(event: "error", listener: (err: Error) => void): this; + on(event: "pause", listener: () => void): this; + on(event: "readable", listener: () => void): this; + on(event: "resume", listener: () => void): this; + on(event: string | symbol, listener: (...args: any[]) => void): this; + + once(event: "close", listener: () => void): this; + once(event: "data", listener: (chunk: any) => void): this; + once(event: "end", listener: () => void): this; + once(event: "error", listener: (err: Error) => void): this; + once(event: "pause", listener: () => void): this; + once(event: "readable", listener: () => void): this; + once(event: "resume", listener: () => void): this; + once(event: string | symbol, listener: (...args: any[]) => void): this; + + prependListener(event: "close", listener: () => void): this; + prependListener(event: "data", listener: (chunk: any) => void): this; + prependListener(event: "end", listener: () => void): this; + prependListener(event: "error", listener: (err: Error) => void): this; + prependListener(event: "pause", listener: () => void): this; + prependListener(event: "readable", listener: () => void): this; + prependListener(event: "resume", listener: () => void): this; + prependListener(event: string | symbol, listener: (...args: any[]) => void): this; + + prependOnceListener(event: "close", listener: () => void): this; + prependOnceListener(event: "data", listener: (chunk: any) => void): this; + prependOnceListener(event: "end", listener: () => void): this; + prependOnceListener(event: "error", listener: (err: Error) => void): this; + prependOnceListener(event: "pause", listener: () => void): this; + prependOnceListener(event: "readable", listener: () => void): this; + prependOnceListener(event: "resume", listener: () => void): this; + prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; + + removeListener(event: "close", listener: () => void): this; + removeListener(event: "data", listener: (chunk: any) => void): this; + removeListener(event: "end", listener: () => void): this; + removeListener(event: "error", listener: (err: Error) => void): this; + removeListener(event: "pause", listener: () => void): this; + removeListener(event: "readable", listener: () => void): this; + removeListener(event: "resume", listener: () => void): this; + removeListener(event: string | symbol, listener: (...args: any[]) => void): this; + + [Symbol.asyncIterator](): AsyncIterableIterator; + } + + interface WritableOptions { + highWaterMark?: number; + decodeStrings?: boolean; + defaultEncoding?: BufferEncoding; + objectMode?: boolean; + emitClose?: boolean; + write?(this: Writable, chunk: any, encoding: BufferEncoding, callback: (error?: Error | null) => void): void; + writev?(this: Writable, chunks: Array<{ chunk: any, encoding: BufferEncoding }>, callback: (error?: Error | null) => void): void; + destroy?(this: Writable, error: Error | null, callback: (error: Error | null) => void): void; + final?(this: Writable, callback: (error?: Error | null) => void): void; + autoDestroy?: boolean; + } + + class Writable extends Stream implements NodeJS.WritableStream { + readonly writable: boolean; + readonly writableEnded: boolean; + readonly writableFinished: boolean; + readonly writableHighWaterMark: number; + readonly writableLength: number; + readonly writableObjectMode: boolean; + readonly writableCorked: number; + destroyed: boolean; + constructor(opts?: WritableOptions); + _write(chunk: any, encoding: BufferEncoding, callback: (error?: Error | null) => void): void; + _writev?(chunks: Array<{ chunk: any, encoding: BufferEncoding }>, callback: (error?: Error | null) => void): void; + _destroy(error: Error | null, callback: (error?: Error | null) => void): void; + _final(callback: (error?: Error | null) => void): void; + write(chunk: any, cb?: (error: Error | null | undefined) => void): boolean; + write(chunk: any, encoding: BufferEncoding, cb?: (error: Error | null | undefined) => void): boolean; + setDefaultEncoding(encoding: BufferEncoding): this; + end(cb?: () => void): void; + end(chunk: any, cb?: () => void): void; + end(chunk: any, encoding: BufferEncoding, cb?: () => void): void; + cork(): void; + uncork(): void; + destroy(error?: Error): void; + + /** + * Event emitter + * The defined events on documents including: + * 1. close + * 2. drain + * 3. error + * 4. finish + * 5. pipe + * 6. unpipe + */ + addListener(event: "close", listener: () => void): this; + addListener(event: "drain", listener: () => void): this; + addListener(event: "error", listener: (err: Error) => void): this; + addListener(event: "finish", listener: () => void): this; + addListener(event: "pipe", listener: (src: Readable) => void): this; + addListener(event: "unpipe", listener: (src: Readable) => void): this; + addListener(event: string | symbol, listener: (...args: any[]) => void): this; + + emit(event: "close"): boolean; + emit(event: "drain"): boolean; + emit(event: "error", err: Error): boolean; + emit(event: "finish"): boolean; + emit(event: "pipe", src: Readable): boolean; + emit(event: "unpipe", src: Readable): boolean; + emit(event: string | symbol, ...args: any[]): boolean; + + on(event: "close", listener: () => void): this; + on(event: "drain", listener: () => void): this; + on(event: "error", listener: (err: Error) => void): this; + on(event: "finish", listener: () => void): this; + on(event: "pipe", listener: (src: Readable) => void): this; + on(event: "unpipe", listener: (src: Readable) => void): this; + on(event: string | symbol, listener: (...args: any[]) => void): this; + + once(event: "close", listener: () => void): this; + once(event: "drain", listener: () => void): this; + once(event: "error", listener: (err: Error) => void): this; + once(event: "finish", listener: () => void): this; + once(event: "pipe", listener: (src: Readable) => void): this; + once(event: "unpipe", listener: (src: Readable) => void): this; + once(event: string | symbol, listener: (...args: any[]) => void): this; + + prependListener(event: "close", listener: () => void): this; + prependListener(event: "drain", listener: () => void): this; + prependListener(event: "error", listener: (err: Error) => void): this; + prependListener(event: "finish", listener: () => void): this; + prependListener(event: "pipe", listener: (src: Readable) => void): this; + prependListener(event: "unpipe", listener: (src: Readable) => void): this; + prependListener(event: string | symbol, listener: (...args: any[]) => void): this; + + prependOnceListener(event: "close", listener: () => void): this; + prependOnceListener(event: "drain", listener: () => void): this; + prependOnceListener(event: "error", listener: (err: Error) => void): this; + prependOnceListener(event: "finish", listener: () => void): this; + prependOnceListener(event: "pipe", listener: (src: Readable) => void): this; + prependOnceListener(event: "unpipe", listener: (src: Readable) => void): this; + prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; + + removeListener(event: "close", listener: () => void): this; + removeListener(event: "drain", listener: () => void): this; + removeListener(event: "error", listener: (err: Error) => void): this; + removeListener(event: "finish", listener: () => void): this; + removeListener(event: "pipe", listener: (src: Readable) => void): this; + removeListener(event: "unpipe", listener: (src: Readable) => void): this; + removeListener(event: string | symbol, listener: (...args: any[]) => void): this; + } + + interface DuplexOptions extends ReadableOptions, WritableOptions { + allowHalfOpen?: boolean; + readableObjectMode?: boolean; + writableObjectMode?: boolean; + readableHighWaterMark?: number; + writableHighWaterMark?: number; + writableCorked?: number; + read?(this: Duplex, size: number): void; + write?(this: Duplex, chunk: any, encoding: BufferEncoding, callback: (error?: Error | null) => void): void; + writev?(this: Duplex, chunks: Array<{ chunk: any, encoding: BufferEncoding }>, callback: (error?: Error | null) => void): void; + final?(this: Duplex, callback: (error?: Error | null) => void): void; + destroy?(this: Duplex, error: Error | null, callback: (error: Error | null) => void): void; + } + + // Note: Duplex extends both Readable and Writable. + class Duplex extends Readable implements Writable { + readonly writable: boolean; + readonly writableEnded: boolean; + readonly writableFinished: boolean; + readonly writableHighWaterMark: number; + readonly writableLength: number; + readonly writableObjectMode: boolean; + readonly writableCorked: number; + constructor(opts?: DuplexOptions); + _write(chunk: any, encoding: BufferEncoding, callback: (error?: Error | null) => void): void; + _writev?(chunks: Array<{ chunk: any, encoding: BufferEncoding }>, callback: (error?: Error | null) => void): void; + _destroy(error: Error | null, callback: (error: Error | null) => void): void; + _final(callback: (error?: Error | null) => void): void; + write(chunk: any, encoding?: BufferEncoding, cb?: (error: Error | null | undefined) => void): boolean; + write(chunk: any, cb?: (error: Error | null | undefined) => void): boolean; + setDefaultEncoding(encoding: BufferEncoding): this; + end(cb?: () => void): void; + end(chunk: any, cb?: () => void): void; + end(chunk: any, encoding?: BufferEncoding, cb?: () => void): void; + cork(): void; + uncork(): void; + } + + type TransformCallback = (error?: Error | null, data?: any) => void; + + interface TransformOptions extends DuplexOptions { + read?(this: Transform, size: number): void; + write?(this: Transform, chunk: any, encoding: BufferEncoding, callback: (error?: Error | null) => void): void; + writev?(this: Transform, chunks: Array<{ chunk: any, encoding: BufferEncoding }>, callback: (error?: Error | null) => void): void; + final?(this: Transform, callback: (error?: Error | null) => void): void; + destroy?(this: Transform, error: Error | null, callback: (error: Error | null) => void): void; + transform?(this: Transform, chunk: any, encoding: BufferEncoding, callback: TransformCallback): void; + flush?(this: Transform, callback: TransformCallback): void; + } + + class Transform extends Duplex { + constructor(opts?: TransformOptions); + _transform(chunk: any, encoding: BufferEncoding, callback: TransformCallback): void; + _flush(callback: TransformCallback): void; + } + + class PassThrough extends Transform { } + + interface FinishedOptions { + error?: boolean; + readable?: boolean; + writable?: boolean; + } + function finished(stream: NodeJS.ReadableStream | NodeJS.WritableStream | NodeJS.ReadWriteStream, options: FinishedOptions, callback: (err?: NodeJS.ErrnoException | null) => void): () => void; + function finished(stream: NodeJS.ReadableStream | NodeJS.WritableStream | NodeJS.ReadWriteStream, callback: (err?: NodeJS.ErrnoException | null) => void): () => void; + namespace finished { + function __promisify__(stream: NodeJS.ReadableStream | NodeJS.WritableStream | NodeJS.ReadWriteStream, options?: FinishedOptions): Promise; + } + + function pipeline(stream1: NodeJS.ReadableStream, stream2: T, callback?: (err: NodeJS.ErrnoException | null) => void): T; + function pipeline(stream1: NodeJS.ReadableStream, stream2: NodeJS.ReadWriteStream, stream3: T, callback?: (err: NodeJS.ErrnoException | null) => void): T; + function pipeline( + stream1: NodeJS.ReadableStream, + stream2: NodeJS.ReadWriteStream, + stream3: NodeJS.ReadWriteStream, + stream4: T, + callback?: (err: NodeJS.ErrnoException | null) => void, + ): T; + function pipeline( + stream1: NodeJS.ReadableStream, + stream2: NodeJS.ReadWriteStream, + stream3: NodeJS.ReadWriteStream, + stream4: NodeJS.ReadWriteStream, + stream5: T, + callback?: (err: NodeJS.ErrnoException | null) => void, + ): T; + function pipeline( + streams: ReadonlyArray, + callback?: (err: NodeJS.ErrnoException | null) => void, + ): NodeJS.WritableStream; + function pipeline( + stream1: NodeJS.ReadableStream, + stream2: NodeJS.ReadWriteStream | NodeJS.WritableStream, + ...streams: Array void)>, + ): NodeJS.WritableStream; + namespace pipeline { + function __promisify__(stream1: NodeJS.ReadableStream, stream2: NodeJS.WritableStream): Promise; + function __promisify__(stream1: NodeJS.ReadableStream, stream2: NodeJS.ReadWriteStream, stream3: NodeJS.WritableStream): Promise; + function __promisify__(stream1: NodeJS.ReadableStream, stream2: NodeJS.ReadWriteStream, stream3: NodeJS.ReadWriteStream, stream4: NodeJS.WritableStream): Promise; + function __promisify__( + stream1: NodeJS.ReadableStream, + stream2: NodeJS.ReadWriteStream, + stream3: NodeJS.ReadWriteStream, + stream4: NodeJS.ReadWriteStream, + stream5: NodeJS.WritableStream, + ): Promise; + function __promisify__(streams: ReadonlyArray): Promise; + function __promisify__( + stream1: NodeJS.ReadableStream, + stream2: NodeJS.ReadWriteStream | NodeJS.WritableStream, + ...streams: Array, + ): Promise; + } + + interface Pipe { + close(): void; + hasRef(): boolean; + ref(): void; + unref(): void; + } + } + + export = internal; +} diff --git a/node_modules/@types/node/string_decoder.d.ts b/node_modules/@types/node/string_decoder.d.ts new file mode 100644 index 0000000..a6a4060 --- /dev/null +++ b/node_modules/@types/node/string_decoder.d.ts @@ -0,0 +1,7 @@ +declare module "string_decoder" { + class StringDecoder { + constructor(encoding?: BufferEncoding); + write(buffer: Buffer): string; + end(buffer?: Buffer): string; + } +} diff --git a/node_modules/@types/node/timers.d.ts b/node_modules/@types/node/timers.d.ts new file mode 100644 index 0000000..e64a673 --- /dev/null +++ b/node_modules/@types/node/timers.d.ts @@ -0,0 +1,16 @@ +declare module "timers" { + function setTimeout(callback: (...args: any[]) => void, ms: number, ...args: any[]): NodeJS.Timeout; + namespace setTimeout { + function __promisify__(ms: number): Promise; + function __promisify__(ms: number, value: T): Promise; + } + function clearTimeout(timeoutId: NodeJS.Timeout): void; + function setInterval(callback: (...args: any[]) => void, ms: number, ...args: any[]): NodeJS.Timeout; + function clearInterval(intervalId: NodeJS.Timeout): void; + function setImmediate(callback: (...args: any[]) => void, ...args: any[]): NodeJS.Immediate; + namespace setImmediate { + function __promisify__(): Promise; + function __promisify__(value: T): Promise; + } + function clearImmediate(immediateId: NodeJS.Immediate): void; +} diff --git a/node_modules/@types/node/tls.d.ts b/node_modules/@types/node/tls.d.ts new file mode 100644 index 0000000..9c548ef --- /dev/null +++ b/node_modules/@types/node/tls.d.ts @@ -0,0 +1,779 @@ +declare module "tls" { + import * as crypto from "crypto"; + import * as dns from "dns"; + import * as net from "net"; + import * as stream from "stream"; + + const CLIENT_RENEG_LIMIT: number; + const CLIENT_RENEG_WINDOW: number; + + interface Certificate { + /** + * Country code. + */ + C: string; + /** + * Street. + */ + ST: string; + /** + * Locality. + */ + L: string; + /** + * Organization. + */ + O: string; + /** + * Organizational unit. + */ + OU: string; + /** + * Common name. + */ + CN: string; + } + + interface PeerCertificate { + subject: Certificate; + issuer: Certificate; + subjectaltname: string; + infoAccess: NodeJS.Dict; + modulus: string; + exponent: string; + valid_from: string; + valid_to: string; + fingerprint: string; + fingerprint256: string; + ext_key_usage: string[]; + serialNumber: string; + raw: Buffer; + } + + interface DetailedPeerCertificate extends PeerCertificate { + issuerCertificate: DetailedPeerCertificate; + } + + interface CipherNameAndProtocol { + /** + * The cipher name. + */ + name: string; + /** + * SSL/TLS protocol version. + */ + version: string; + + /** + * IETF name for the cipher suite. + */ + standardName: string; + } + + interface EphemeralKeyInfo { + /** + * The supported types are 'DH' and 'ECDH'. + */ + type: string; + /** + * The name property is available only when type is 'ECDH'. + */ + name?: string; + /** + * The size of parameter of an ephemeral key exchange. + */ + size: number; + } + + interface KeyObject { + /** + * Private keys in PEM format. + */ + pem: string | Buffer; + /** + * Optional passphrase. + */ + passphrase?: string; + } + + interface PxfObject { + /** + * PFX or PKCS12 encoded private key and certificate chain. + */ + buf: string | Buffer; + /** + * Optional passphrase. + */ + passphrase?: string; + } + + interface TLSSocketOptions extends SecureContextOptions, CommonConnectionOptions { + /** + * If true the TLS socket will be instantiated in server-mode. + * Defaults to false. + */ + isServer?: boolean; + /** + * An optional net.Server instance. + */ + server?: net.Server; + + /** + * An optional Buffer instance containing a TLS session. + */ + session?: Buffer; + /** + * If true, specifies that the OCSP status request extension will be + * added to the client hello and an 'OCSPResponse' event will be + * emitted on the socket before establishing a secure communication + */ + requestOCSP?: boolean; + } + + class TLSSocket extends net.Socket { + /** + * Construct a new tls.TLSSocket object from an existing TCP socket. + */ + constructor(socket: net.Socket, options?: TLSSocketOptions); + + /** + * A boolean that is true if the peer certificate was signed by one of the specified CAs, otherwise false. + */ + authorized: boolean; + /** + * The reason why the peer's certificate has not been verified. + * This property becomes available only when tlsSocket.authorized === false. + */ + authorizationError: Error; + /** + * Static boolean value, always true. + * May be used to distinguish TLS sockets from regular ones. + */ + encrypted: boolean; + + /** + * String containing the selected ALPN protocol. + * When ALPN has no selected protocol, tlsSocket.alpnProtocol equals false. + */ + alpnProtocol?: string; + + /** + * Returns an object representing the local certificate. The returned + * object has some properties corresponding to the fields of the + * certificate. + * + * See tls.TLSSocket.getPeerCertificate() for an example of the + * certificate structure. + * + * If there is no local certificate, an empty object will be returned. + * If the socket has been destroyed, null will be returned. + */ + getCertificate(): PeerCertificate | object | null; + /** + * Returns an object representing the cipher name and the SSL/TLS protocol version of the current connection. + * @returns Returns an object representing the cipher name + * and the SSL/TLS protocol version of the current connection. + */ + getCipher(): CipherNameAndProtocol; + /** + * Returns an object representing the type, name, and size of parameter + * of an ephemeral key exchange in Perfect Forward Secrecy on a client + * connection. It returns an empty object when the key exchange is not + * ephemeral. As this is only supported on a client socket; null is + * returned if called on a server socket. The supported types are 'DH' + * and 'ECDH'. The name property is available only when type is 'ECDH'. + * + * For example: { type: 'ECDH', name: 'prime256v1', size: 256 }. + */ + getEphemeralKeyInfo(): EphemeralKeyInfo | object | null; + /** + * Returns the latest Finished message that has + * been sent to the socket as part of a SSL/TLS handshake, or undefined + * if no Finished message has been sent yet. + * + * As the Finished messages are message digests of the complete + * handshake (with a total of 192 bits for TLS 1.0 and more for SSL + * 3.0), they can be used for external authentication procedures when + * the authentication provided by SSL/TLS is not desired or is not + * enough. + * + * Corresponds to the SSL_get_finished routine in OpenSSL and may be + * used to implement the tls-unique channel binding from RFC 5929. + */ + getFinished(): Buffer | undefined; + /** + * Returns an object representing the peer's certificate. + * The returned object has some properties corresponding to the field of the certificate. + * If detailed argument is true the full chain with issuer property will be returned, + * if false only the top certificate without issuer property. + * If the peer does not provide a certificate, it returns null or an empty object. + * @param detailed - If true; the full chain with issuer property will be returned. + * @returns An object representing the peer's certificate. + */ + getPeerCertificate(detailed: true): DetailedPeerCertificate; + getPeerCertificate(detailed?: false): PeerCertificate; + getPeerCertificate(detailed?: boolean): PeerCertificate | DetailedPeerCertificate; + /** + * Returns the latest Finished message that is expected or has actually + * been received from the socket as part of a SSL/TLS handshake, or + * undefined if there is no Finished message so far. + * + * As the Finished messages are message digests of the complete + * handshake (with a total of 192 bits for TLS 1.0 and more for SSL + * 3.0), they can be used for external authentication procedures when + * the authentication provided by SSL/TLS is not desired or is not + * enough. + * + * Corresponds to the SSL_get_peer_finished routine in OpenSSL and may + * be used to implement the tls-unique channel binding from RFC 5929. + */ + getPeerFinished(): Buffer | undefined; + /** + * Returns a string containing the negotiated SSL/TLS protocol version of the current connection. + * The value `'unknown'` will be returned for connected sockets that have not completed the handshaking process. + * The value `null` will be returned for server sockets or disconnected client sockets. + * See https://www.openssl.org/docs/man1.0.2/ssl/SSL_get_version.html for more information. + * @returns negotiated SSL/TLS protocol version of the current connection + */ + getProtocol(): string | null; + /** + * Could be used to speed up handshake establishment when reconnecting to the server. + * @returns ASN.1 encoded TLS session or undefined if none was negotiated. + */ + getSession(): Buffer | undefined; + /** + * Returns a list of signature algorithms shared between the server and + * the client in the order of decreasing preference. + */ + getSharedSigalgs(): string[]; + /** + * NOTE: Works only with client TLS sockets. + * Useful only for debugging, for session reuse provide session option to tls.connect(). + * @returns TLS session ticket or undefined if none was negotiated. + */ + getTLSTicket(): Buffer | undefined; + /** + * Returns true if the session was reused, false otherwise. + */ + isSessionReused(): boolean; + /** + * Initiate TLS renegotiation process. + * + * NOTE: Can be used to request peer's certificate after the secure connection has been established. + * ANOTHER NOTE: When running as the server, socket will be destroyed with an error after handshakeTimeout timeout. + * @param options - The options may contain the following fields: rejectUnauthorized, + * requestCert (See tls.createServer() for details). + * @param callback - callback(err) will be executed with null as err, once the renegotiation + * is successfully completed. + * @return `undefined` when socket is destroy, `false` if negotiaion can't be initiated. + */ + renegotiate(options: { rejectUnauthorized?: boolean, requestCert?: boolean }, callback: (err: Error | null) => void): undefined | boolean; + /** + * Set maximum TLS fragment size (default and maximum value is: 16384, minimum is: 512). + * Smaller fragment size decreases buffering latency on the client: large fragments are buffered by + * the TLS layer until the entire fragment is received and its integrity is verified; + * large fragments can span multiple roundtrips, and their processing can be delayed due to packet + * loss or reordering. However, smaller fragments add extra TLS framing bytes and CPU overhead, + * which may decrease overall server throughput. + * @param size - TLS fragment size (default and maximum value is: 16384, minimum is: 512). + * @returns Returns true on success, false otherwise. + */ + setMaxSendFragment(size: number): boolean; + + /** + * Disables TLS renegotiation for this TLSSocket instance. Once called, + * attempts to renegotiate will trigger an 'error' event on the + * TLSSocket. + */ + disableRenegotiation(): void; + + /** + * When enabled, TLS packet trace information is written to `stderr`. This can be + * used to debug TLS connection problems. + * + * Note: The format of the output is identical to the output of `openssl s_client + * -trace` or `openssl s_server -trace`. While it is produced by OpenSSL's + * `SSL_trace()` function, the format is undocumented, can change without notice, + * and should not be relied on. + */ + enableTrace(): void; + + /** + * @param length number of bytes to retrieve from keying material + * @param label an application specific label, typically this will be a value from the + * [IANA Exporter Label Registry](https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#exporter-labels). + * @param context optionally provide a context. + */ + exportKeyingMaterial(length: number, label: string, context: Buffer): Buffer; + + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "OCSPResponse", listener: (response: Buffer) => void): this; + addListener(event: "secureConnect", listener: () => void): this; + addListener(event: "session", listener: (session: Buffer) => void): this; + addListener(event: "keylog", listener: (line: Buffer) => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "OCSPResponse", response: Buffer): boolean; + emit(event: "secureConnect"): boolean; + emit(event: "session", session: Buffer): boolean; + emit(event: "keylog", line: Buffer): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "OCSPResponse", listener: (response: Buffer) => void): this; + on(event: "secureConnect", listener: () => void): this; + on(event: "session", listener: (session: Buffer) => void): this; + on(event: "keylog", listener: (line: Buffer) => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "OCSPResponse", listener: (response: Buffer) => void): this; + once(event: "secureConnect", listener: () => void): this; + once(event: "session", listener: (session: Buffer) => void): this; + once(event: "keylog", listener: (line: Buffer) => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "OCSPResponse", listener: (response: Buffer) => void): this; + prependListener(event: "secureConnect", listener: () => void): this; + prependListener(event: "session", listener: (session: Buffer) => void): this; + prependListener(event: "keylog", listener: (line: Buffer) => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "OCSPResponse", listener: (response: Buffer) => void): this; + prependOnceListener(event: "secureConnect", listener: () => void): this; + prependOnceListener(event: "session", listener: (session: Buffer) => void): this; + prependOnceListener(event: "keylog", listener: (line: Buffer) => void): this; + } + + interface CommonConnectionOptions { + /** + * An optional TLS context object from tls.createSecureContext() + */ + secureContext?: SecureContext; + + /** + * When enabled, TLS packet trace information is written to `stderr`. This can be + * used to debug TLS connection problems. + * @default false + */ + enableTrace?: boolean; + /** + * If true the server will request a certificate from clients that + * connect and attempt to verify that certificate. Defaults to + * false. + */ + requestCert?: boolean; + /** + * An array of strings or a Buffer naming possible ALPN protocols. + * (Protocols should be ordered by their priority.) + */ + ALPNProtocols?: string[] | Uint8Array[] | Uint8Array; + /** + * SNICallback(servername, cb) A function that will be + * called if the client supports SNI TLS extension. Two arguments + * will be passed when called: servername and cb. SNICallback should + * invoke cb(null, ctx), where ctx is a SecureContext instance. + * (tls.createSecureContext(...) can be used to get a proper + * SecureContext.) If SNICallback wasn't provided the default callback + * with high-level API will be used (see below). + */ + SNICallback?: (servername: string, cb: (err: Error | null, ctx: SecureContext) => void) => void; + /** + * If true the server will reject any connection which is not + * authorized with the list of supplied CAs. This option only has an + * effect if requestCert is true. + * @default true + */ + rejectUnauthorized?: boolean; + } + + interface TlsOptions extends SecureContextOptions, CommonConnectionOptions { + /** + * Abort the connection if the SSL/TLS handshake does not finish in the + * specified number of milliseconds. A 'tlsClientError' is emitted on + * the tls.Server object whenever a handshake times out. Default: + * 120000 (120 seconds). + */ + handshakeTimeout?: number; + /** + * The number of seconds after which a TLS session created by the + * server will no longer be resumable. See Session Resumption for more + * information. Default: 300. + */ + sessionTimeout?: number; + /** + * 48-bytes of cryptographically strong pseudo-random data. + */ + ticketKeys?: Buffer; + + /** + * + * @param socket + * @param identity identity parameter sent from the client. + * @return pre-shared key that must either be + * a buffer or `null` to stop the negotiation process. Returned PSK must be + * compatible with the selected cipher's digest. + * + * When negotiating TLS-PSK (pre-shared keys), this function is called + * with the identity provided by the client. + * If the return value is `null` the negotiation process will stop and an + * "unknown_psk_identity" alert message will be sent to the other party. + * If the server wishes to hide the fact that the PSK identity was not known, + * the callback must provide some random data as `psk` to make the connection + * fail with "decrypt_error" before negotiation is finished. + * PSK ciphers are disabled by default, and using TLS-PSK thus + * requires explicitly specifying a cipher suite with the `ciphers` option. + * More information can be found in the RFC 4279. + */ + + pskCallback?(socket: TLSSocket, identity: string): DataView | NodeJS.TypedArray | null; + /** + * hint to send to a client to help + * with selecting the identity during TLS-PSK negotiation. Will be ignored + * in TLS 1.3. Upon failing to set pskIdentityHint `tlsClientError` will be + * emitted with `ERR_TLS_PSK_SET_IDENTIY_HINT_FAILED` code. + */ + pskIdentityHint?: string; + } + + interface PSKCallbackNegotation { + psk: DataView | NodeJS.TypedArray; + identity: string; + } + + interface ConnectionOptions extends SecureContextOptions, CommonConnectionOptions { + host?: string; + port?: number; + path?: string; // Creates unix socket connection to path. If this option is specified, `host` and `port` are ignored. + socket?: net.Socket; // Establish secure connection on a given socket rather than creating a new socket + checkServerIdentity?: typeof checkServerIdentity; + servername?: string; // SNI TLS Extension + session?: Buffer; + minDHSize?: number; + lookup?: net.LookupFunction; + timeout?: number; + /** + * When negotiating TLS-PSK (pre-shared keys), this function is called + * with optional identity `hint` provided by the server or `null` + * in case of TLS 1.3 where `hint` was removed. + * It will be necessary to provide a custom `tls.checkServerIdentity()` + * for the connection as the default one will try to check hostname/IP + * of the server against the certificate but that's not applicable for PSK + * because there won't be a certificate present. + * More information can be found in the RFC 4279. + * + * @param hint message sent from the server to help client + * decide which identity to use during negotiation. + * Always `null` if TLS 1.3 is used. + * @returns Return `null` to stop the negotiation process. `psk` must be + * compatible with the selected cipher's digest. + * `identity` must use UTF-8 encoding. + */ + pskCallback?(hint: string | null): PSKCallbackNegotation | null; + } + + class Server extends net.Server { + /** + * The server.addContext() method adds a secure context that will be + * used if the client request's SNI name matches the supplied hostname + * (or wildcard). + */ + addContext(hostName: string, credentials: SecureContextOptions): void; + /** + * Returns the session ticket keys. + */ + getTicketKeys(): Buffer; + /** + * + * The server.setSecureContext() method replaces the + * secure context of an existing server. Existing connections to the + * server are not interrupted. + */ + setSecureContext(details: SecureContextOptions): void; + /** + * The server.setSecureContext() method replaces the secure context of + * an existing server. Existing connections to the server are not + * interrupted. + */ + setTicketKeys(keys: Buffer): void; + + /** + * events.EventEmitter + * 1. tlsClientError + * 2. newSession + * 3. OCSPRequest + * 4. resumeSession + * 5. secureConnection + * 6. keylog + */ + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "tlsClientError", listener: (err: Error, tlsSocket: TLSSocket) => void): this; + addListener(event: "newSession", listener: (sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void) => void): this; + addListener(event: "OCSPRequest", listener: (certificate: Buffer, issuer: Buffer, callback: (err: Error | null, resp: Buffer) => void) => void): this; + addListener(event: "resumeSession", listener: (sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void) => void): this; + addListener(event: "secureConnection", listener: (tlsSocket: TLSSocket) => void): this; + addListener(event: "keylog", listener: (line: Buffer, tlsSocket: TLSSocket) => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "tlsClientError", err: Error, tlsSocket: TLSSocket): boolean; + emit(event: "newSession", sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void): boolean; + emit(event: "OCSPRequest", certificate: Buffer, issuer: Buffer, callback: (err: Error | null, resp: Buffer) => void): boolean; + emit(event: "resumeSession", sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void): boolean; + emit(event: "secureConnection", tlsSocket: TLSSocket): boolean; + emit(event: "keylog", line: Buffer, tlsSocket: TLSSocket): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "tlsClientError", listener: (err: Error, tlsSocket: TLSSocket) => void): this; + on(event: "newSession", listener: (sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void) => void): this; + on(event: "OCSPRequest", listener: (certificate: Buffer, issuer: Buffer, callback: (err: Error | null, resp: Buffer) => void) => void): this; + on(event: "resumeSession", listener: (sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void) => void): this; + on(event: "secureConnection", listener: (tlsSocket: TLSSocket) => void): this; + on(event: "keylog", listener: (line: Buffer, tlsSocket: TLSSocket) => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "tlsClientError", listener: (err: Error, tlsSocket: TLSSocket) => void): this; + once(event: "newSession", listener: (sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void) => void): this; + once(event: "OCSPRequest", listener: (certificate: Buffer, issuer: Buffer, callback: (err: Error | null, resp: Buffer) => void) => void): this; + once(event: "resumeSession", listener: (sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void) => void): this; + once(event: "secureConnection", listener: (tlsSocket: TLSSocket) => void): this; + once(event: "keylog", listener: (line: Buffer, tlsSocket: TLSSocket) => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "tlsClientError", listener: (err: Error, tlsSocket: TLSSocket) => void): this; + prependListener(event: "newSession", listener: (sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void) => void): this; + prependListener(event: "OCSPRequest", listener: (certificate: Buffer, issuer: Buffer, callback: (err: Error | null, resp: Buffer) => void) => void): this; + prependListener(event: "resumeSession", listener: (sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void) => void): this; + prependListener(event: "secureConnection", listener: (tlsSocket: TLSSocket) => void): this; + prependListener(event: "keylog", listener: (line: Buffer, tlsSocket: TLSSocket) => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "tlsClientError", listener: (err: Error, tlsSocket: TLSSocket) => void): this; + prependOnceListener(event: "newSession", listener: (sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void) => void): this; + prependOnceListener(event: "OCSPRequest", listener: (certificate: Buffer, issuer: Buffer, callback: (err: Error | null, resp: Buffer) => void) => void): this; + prependOnceListener(event: "resumeSession", listener: (sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void) => void): this; + prependOnceListener(event: "secureConnection", listener: (tlsSocket: TLSSocket) => void): this; + prependOnceListener(event: "keylog", listener: (line: Buffer, tlsSocket: TLSSocket) => void): this; + } + + interface SecurePair { + encrypted: TLSSocket; + cleartext: TLSSocket; + } + + type SecureVersion = 'TLSv1.3' | 'TLSv1.2' | 'TLSv1.1' | 'TLSv1'; + + interface SecureContextOptions { + /** + * Optionally override the trusted CA certificates. Default is to trust + * the well-known CAs curated by Mozilla. Mozilla's CAs are completely + * replaced when CAs are explicitly specified using this option. + */ + ca?: string | Buffer | Array; + /** + * Cert chains in PEM format. One cert chain should be provided per + * private key. Each cert chain should consist of the PEM formatted + * certificate for a provided private key, followed by the PEM + * formatted intermediate certificates (if any), in order, and not + * including the root CA (the root CA must be pre-known to the peer, + * see ca). When providing multiple cert chains, they do not have to + * be in the same order as their private keys in key. If the + * intermediate certificates are not provided, the peer will not be + * able to validate the certificate, and the handshake will fail. + */ + cert?: string | Buffer | Array; + /** + * Colon-separated list of supported signature algorithms. The list + * can contain digest algorithms (SHA256, MD5 etc.), public key + * algorithms (RSA-PSS, ECDSA etc.), combination of both (e.g + * 'RSA+SHA384') or TLS v1.3 scheme names (e.g. rsa_pss_pss_sha512). + */ + sigalgs?: string; + /** + * Cipher suite specification, replacing the default. For more + * information, see modifying the default cipher suite. Permitted + * ciphers can be obtained via tls.getCiphers(). Cipher names must be + * uppercased in order for OpenSSL to accept them. + */ + ciphers?: string; + /** + * Name of an OpenSSL engine which can provide the client certificate. + */ + clientCertEngine?: string; + /** + * PEM formatted CRLs (Certificate Revocation Lists). + */ + crl?: string | Buffer | Array; + /** + * Diffie Hellman parameters, required for Perfect Forward Secrecy. Use + * openssl dhparam to create the parameters. The key length must be + * greater than or equal to 1024 bits or else an error will be thrown. + * Although 1024 bits is permissible, use 2048 bits or larger for + * stronger security. If omitted or invalid, the parameters are + * silently discarded and DHE ciphers will not be available. + */ + dhparam?: string | Buffer; + /** + * A string describing a named curve or a colon separated list of curve + * NIDs or names, for example P-521:P-384:P-256, to use for ECDH key + * agreement. Set to auto to select the curve automatically. Use + * crypto.getCurves() to obtain a list of available curve names. On + * recent releases, openssl ecparam -list_curves will also display the + * name and description of each available elliptic curve. Default: + * tls.DEFAULT_ECDH_CURVE. + */ + ecdhCurve?: string; + /** + * Attempt to use the server's cipher suite preferences instead of the + * client's. When true, causes SSL_OP_CIPHER_SERVER_PREFERENCE to be + * set in secureOptions + */ + honorCipherOrder?: boolean; + /** + * Private keys in PEM format. PEM allows the option of private keys + * being encrypted. Encrypted keys will be decrypted with + * options.passphrase. Multiple keys using different algorithms can be + * provided either as an array of unencrypted key strings or buffers, + * or an array of objects in the form {pem: [, + * passphrase: ]}. The object form can only occur in an array. + * object.passphrase is optional. Encrypted keys will be decrypted with + * object.passphrase if provided, or options.passphrase if it is not. + */ + key?: string | Buffer | Array; + /** + * Name of an OpenSSL engine to get private key from. Should be used + * together with privateKeyIdentifier. + */ + privateKeyEngine?: string; + /** + * Identifier of a private key managed by an OpenSSL engine. Should be + * used together with privateKeyEngine. Should not be set together with + * key, because both options define a private key in different ways. + */ + privateKeyIdentifier?: string; + /** + * Optionally set the maximum TLS version to allow. One + * of `'TLSv1.3'`, `'TLSv1.2'`, `'TLSv1.1'`, or `'TLSv1'`. Cannot be specified along with the + * `secureProtocol` option, use one or the other. + * **Default:** `'TLSv1.3'`, unless changed using CLI options. Using + * `--tls-max-v1.2` sets the default to `'TLSv1.2'`. Using `--tls-max-v1.3` sets the default to + * `'TLSv1.3'`. If multiple of the options are provided, the highest maximum is used. + */ + maxVersion?: SecureVersion; + /** + * Optionally set the minimum TLS version to allow. One + * of `'TLSv1.3'`, `'TLSv1.2'`, `'TLSv1.1'`, or `'TLSv1'`. Cannot be specified along with the + * `secureProtocol` option, use one or the other. It is not recommended to use + * less than TLSv1.2, but it may be required for interoperability. + * **Default:** `'TLSv1.2'`, unless changed using CLI options. Using + * `--tls-v1.0` sets the default to `'TLSv1'`. Using `--tls-v1.1` sets the default to + * `'TLSv1.1'`. Using `--tls-min-v1.3` sets the default to + * 'TLSv1.3'. If multiple of the options are provided, the lowest minimum is used. + */ + minVersion?: SecureVersion; + /** + * Shared passphrase used for a single private key and/or a PFX. + */ + passphrase?: string; + /** + * PFX or PKCS12 encoded private key and certificate chain. pfx is an + * alternative to providing key and cert individually. PFX is usually + * encrypted, if it is, passphrase will be used to decrypt it. Multiple + * PFX can be provided either as an array of unencrypted PFX buffers, + * or an array of objects in the form {buf: [, + * passphrase: ]}. The object form can only occur in an array. + * object.passphrase is optional. Encrypted PFX will be decrypted with + * object.passphrase if provided, or options.passphrase if it is not. + */ + pfx?: string | Buffer | Array; + /** + * Optionally affect the OpenSSL protocol behavior, which is not + * usually necessary. This should be used carefully if at all! Value is + * a numeric bitmask of the SSL_OP_* options from OpenSSL Options + */ + secureOptions?: number; // Value is a numeric bitmask of the `SSL_OP_*` options + /** + * Legacy mechanism to select the TLS protocol version to use, it does + * not support independent control of the minimum and maximum version, + * and does not support limiting the protocol to TLSv1.3. Use + * minVersion and maxVersion instead. The possible values are listed as + * SSL_METHODS, use the function names as strings. For example, use + * 'TLSv1_1_method' to force TLS version 1.1, or 'TLS_method' to allow + * any TLS protocol version up to TLSv1.3. It is not recommended to use + * TLS versions less than 1.2, but it may be required for + * interoperability. Default: none, see minVersion. + */ + secureProtocol?: string; + /** + * Opaque identifier used by servers to ensure session state is not + * shared between applications. Unused by clients. + */ + sessionIdContext?: string; + /** + * 48-bytes of cryptographically strong pseudo-random data. + * See Session Resumption for more information. + */ + ticketKeys?: Buffer; + /** + * The number of seconds after which a TLS session created by the + * server will no longer be resumable. See Session Resumption for more + * information. Default: 300. + */ + sessionTimeout?: number; + } + + interface SecureContext { + context: any; + } + + /* + * Verifies the certificate `cert` is issued to host `host`. + * @host The hostname to verify the certificate against + * @cert PeerCertificate representing the peer's certificate + * + * Returns Error object, populating it with the reason, host and cert on failure. On success, returns undefined. + */ + function checkServerIdentity(host: string, cert: PeerCertificate): Error | undefined; + function createServer(secureConnectionListener?: (socket: TLSSocket) => void): Server; + function createServer(options: TlsOptions, secureConnectionListener?: (socket: TLSSocket) => void): Server; + function connect(options: ConnectionOptions, secureConnectListener?: () => void): TLSSocket; + function connect(port: number, host?: string, options?: ConnectionOptions, secureConnectListener?: () => void): TLSSocket; + function connect(port: number, options?: ConnectionOptions, secureConnectListener?: () => void): TLSSocket; + /** + * @deprecated since v0.11.3 Use `tls.TLSSocket` instead. + */ + function createSecurePair(credentials?: SecureContext, isServer?: boolean, requestCert?: boolean, rejectUnauthorized?: boolean): SecurePair; + function createSecureContext(options?: SecureContextOptions): SecureContext; + function getCiphers(): string[]; + + /** + * The default curve name to use for ECDH key agreement in a tls server. + * The default value is 'auto'. See tls.createSecureContext() for further + * information. + */ + let DEFAULT_ECDH_CURVE: string; + /** + * The default value of the maxVersion option of + * tls.createSecureContext(). It can be assigned any of the supported TLS + * protocol versions, 'TLSv1.3', 'TLSv1.2', 'TLSv1.1', or 'TLSv1'. Default: + * 'TLSv1.3', unless changed using CLI options. Using --tls-max-v1.2 sets + * the default to 'TLSv1.2'. Using --tls-max-v1.3 sets the default to + * 'TLSv1.3'. If multiple of the options are provided, the highest maximum + * is used. + */ + let DEFAULT_MAX_VERSION: SecureVersion; + /** + * The default value of the minVersion option of tls.createSecureContext(). + * It can be assigned any of the supported TLS protocol versions, + * 'TLSv1.3', 'TLSv1.2', 'TLSv1.1', or 'TLSv1'. Default: 'TLSv1.2', unless + * changed using CLI options. Using --tls-min-v1.0 sets the default to + * 'TLSv1'. Using --tls-min-v1.1 sets the default to 'TLSv1.1'. Using + * --tls-min-v1.3 sets the default to 'TLSv1.3'. If multiple of the options + * are provided, the lowest minimum is used. + */ + let DEFAULT_MIN_VERSION: SecureVersion; + + /** + * An immutable array of strings representing the root certificates (in PEM + * format) used for verifying peer certificates. This is the default value + * of the ca option to tls.createSecureContext(). + */ + const rootCertificates: ReadonlyArray; +} diff --git a/node_modules/@types/node/trace_events.d.ts b/node_modules/@types/node/trace_events.d.ts new file mode 100644 index 0000000..1f3a89c --- /dev/null +++ b/node_modules/@types/node/trace_events.d.ts @@ -0,0 +1,61 @@ +declare module "trace_events" { + /** + * The `Tracing` object is used to enable or disable tracing for sets of + * categories. Instances are created using the + * `trace_events.createTracing()` method. + * + * When created, the `Tracing` object is disabled. Calling the + * `tracing.enable()` method adds the categories to the set of enabled trace + * event categories. Calling `tracing.disable()` will remove the categories + * from the set of enabled trace event categories. + */ + interface Tracing { + /** + * A comma-separated list of the trace event categories covered by this + * `Tracing` object. + */ + readonly categories: string; + + /** + * Disables this `Tracing` object. + * + * Only trace event categories _not_ covered by other enabled `Tracing` + * objects and _not_ specified by the `--trace-event-categories` flag + * will be disabled. + */ + disable(): void; + + /** + * Enables this `Tracing` object for the set of categories covered by + * the `Tracing` object. + */ + enable(): void; + + /** + * `true` only if the `Tracing` object has been enabled. + */ + readonly enabled: boolean; + } + + interface CreateTracingOptions { + /** + * An array of trace category names. Values included in the array are + * coerced to a string when possible. An error will be thrown if the + * value cannot be coerced. + */ + categories: string[]; + } + + /** + * Creates and returns a Tracing object for the given set of categories. + */ + function createTracing(options: CreateTracingOptions): Tracing; + + /** + * Returns a comma-separated list of all currently-enabled trace event + * categories. The current set of enabled trace event categories is + * determined by the union of all currently-enabled `Tracing` objects and + * any categories enabled using the `--trace-event-categories` flag. + */ + function getEnabledCategories(): string | undefined; +} diff --git a/node_modules/@types/node/ts3.4/assert.d.ts b/node_modules/@types/node/ts3.4/assert.d.ts new file mode 100644 index 0000000..06ac17c --- /dev/null +++ b/node_modules/@types/node/ts3.4/assert.d.ts @@ -0,0 +1,100 @@ +declare module 'assert' { + /** An alias of `assert.ok()`. */ + function assert(value: any, message?: string | Error): void; + namespace assert { + class AssertionError implements Error { + name: string; + message: string; + actual: any; + expected: any; + operator: string; + generatedMessage: boolean; + code: 'ERR_ASSERTION'; + + constructor(options?: { + /** If provided, the error message is set to this value. */ + message?: string; + /** The `actual` property on the error instance. */ + actual?: any; + /** The `expected` property on the error instance. */ + expected?: any; + /** The `operator` property on the error instance. */ + operator?: string; + /** If provided, the generated stack trace omits frames before this function. */ + // tslint:disable-next-line:ban-types + stackStartFn?: Function; + }); + } + + class CallTracker { + calls(exact?: number): () => void; + calls any>(fn?: Func, exact?: number): Func; + report(): CallTrackerReportInformation[]; + verify(): void; + } + interface CallTrackerReportInformation { + message: string; + /** The actual number of times the function was called. */ + actual: number; + /** The number of times the function was expected to be called. */ + expected: number; + /** The name of the function that is wrapped. */ + operator: string; + /** A stack trace of the function. */ + stack: object; + } + + type AssertPredicate = RegExp | (new () => object) | ((thrown: any) => boolean) | object | Error; + + function fail(message?: string | Error): never; + /** @deprecated since v10.0.0 - use fail([message]) or other assert functions instead. */ + function fail( + actual: any, + expected: any, + message?: string | Error, + operator?: string, + // tslint:disable-next-line:ban-types + stackStartFn?: Function, + ): never; + function ok(value: any, message?: string | Error): void; + /** @deprecated since v9.9.0 - use strictEqual() instead. */ + function equal(actual: any, expected: any, message?: string | Error): void; + /** @deprecated since v9.9.0 - use notStrictEqual() instead. */ + function notEqual(actual: any, expected: any, message?: string | Error): void; + /** @deprecated since v9.9.0 - use deepStrictEqual() instead. */ + function deepEqual(actual: any, expected: any, message?: string | Error): void; + /** @deprecated since v9.9.0 - use notDeepStrictEqual() instead. */ + function notDeepEqual(actual: any, expected: any, message?: string | Error): void; + function strictEqual(actual: any, expected: any, message?: string | Error): void; + function notStrictEqual(actual: any, expected: any, message?: string | Error): void; + function deepStrictEqual(actual: any, expected: any, message?: string | Error): void; + function notDeepStrictEqual(actual: any, expected: any, message?: string | Error): void; + + function throws(block: () => any, message?: string | Error): void; + function throws(block: () => any, error: AssertPredicate, message?: string | Error): void; + function doesNotThrow(block: () => any, message?: string | Error): void; + function doesNotThrow(block: () => any, error: AssertPredicate, message?: string | Error): void; + + function ifError(value: any): void; + + function rejects(block: (() => Promise) | Promise, message?: string | Error): Promise; + function rejects( + block: (() => Promise) | Promise, + error: AssertPredicate, + message?: string | Error, + ): Promise; + function doesNotReject(block: (() => Promise) | Promise, message?: string | Error): Promise; + function doesNotReject( + block: (() => Promise) | Promise, + error: AssertPredicate, + message?: string | Error, + ): Promise; + + function match(value: string, regExp: RegExp, message?: string | Error): void; + function doesNotMatch(value: string, regExp: RegExp, message?: string | Error): void; + + const strict: typeof assert; + } + + export = assert; +} diff --git a/node_modules/@types/node/ts3.4/base.d.ts b/node_modules/@types/node/ts3.4/base.d.ts new file mode 100644 index 0000000..2ea04f5 --- /dev/null +++ b/node_modules/@types/node/ts3.4/base.d.ts @@ -0,0 +1,56 @@ +// NOTE: These definitions support NodeJS and TypeScript 3.2 - 3.4. + +// NOTE: TypeScript version-specific augmentations can be found in the following paths: +// - ~/base.d.ts - Shared definitions common to all TypeScript versions +// - ~/index.d.ts - Definitions specific to TypeScript 2.1 +// - ~/ts3.2/base.d.ts - Definitions specific to TypeScript 3.2 +// - ~/ts3.2/index.d.ts - Definitions specific to TypeScript 3.2 with global and assert pulled in + +// Reference required types from the default lib: +/// +/// +/// +/// + +// Base definitions for all NodeJS modules that are not specific to any version of TypeScript: + +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// diff --git a/node_modules/@types/node/ts3.4/globals.global.d.ts b/node_modules/@types/node/ts3.4/globals.global.d.ts new file mode 100644 index 0000000..8e85466 --- /dev/null +++ b/node_modules/@types/node/ts3.4/globals.global.d.ts @@ -0,0 +1 @@ +declare var global: NodeJS.Global; diff --git a/node_modules/@types/node/ts3.4/index.d.ts b/node_modules/@types/node/ts3.4/index.d.ts new file mode 100644 index 0000000..506b32a --- /dev/null +++ b/node_modules/@types/node/ts3.4/index.d.ts @@ -0,0 +1,8 @@ +// NOTE: These definitions support NodeJS and TypeScript 3.2 - 3.4. +// This is required to enable globalThis support for global in ts3.5 without causing errors +// This is required to enable typing assert in ts3.7 without causing errors +// Typically type modifiations should be made in base.d.ts instead of here + +/// +/// +/// diff --git a/node_modules/@types/node/ts3.6/base.d.ts b/node_modules/@types/node/ts3.6/base.d.ts new file mode 100644 index 0000000..05afa40 --- /dev/null +++ b/node_modules/@types/node/ts3.6/base.d.ts @@ -0,0 +1,22 @@ +// NOTE: These definitions support NodeJS and TypeScript 3.5. + +// NOTE: TypeScript version-specific augmentations can be found in the following paths: +// - ~/base.d.ts - Shared definitions common to all TypeScript versions +// - ~/index.d.ts - Definitions specific to TypeScript 2.1 +// - ~/ts3.5/base.d.ts - Definitions specific to TypeScript 3.5 +// - ~/ts3.5/index.d.ts - Definitions specific to TypeScript 3.5 with assert pulled in + +// Reference required types from the default lib: +/// +/// +/// +/// + +// Base definitions for all NodeJS modules that are not specific to any version of TypeScript: +/// + +// TypeScript 3.5-specific augmentations: +/// + +// TypeScript 3.5-specific augmentations: +/// diff --git a/node_modules/@types/node/ts3.6/index.d.ts b/node_modules/@types/node/ts3.6/index.d.ts new file mode 100644 index 0000000..7e6b98c --- /dev/null +++ b/node_modules/@types/node/ts3.6/index.d.ts @@ -0,0 +1,7 @@ +// NOTE: These definitions support NodeJS and TypeScript 3.5 - 3.6. +// This is required to enable typing assert in ts3.7 without causing errors +// Typically type modifications should be made in base.d.ts instead of here + +/// + +/// diff --git a/node_modules/@types/node/tty.d.ts b/node_modules/@types/node/tty.d.ts new file mode 100644 index 0000000..7854366 --- /dev/null +++ b/node_modules/@types/node/tty.d.ts @@ -0,0 +1,66 @@ +declare module "tty" { + import * as net from "net"; + + function isatty(fd: number): boolean; + class ReadStream extends net.Socket { + constructor(fd: number, options?: net.SocketConstructorOpts); + isRaw: boolean; + setRawMode(mode: boolean): this; + isTTY: boolean; + } + /** + * -1 - to the left from cursor + * 0 - the entire line + * 1 - to the right from cursor + */ + type Direction = -1 | 0 | 1; + class WriteStream extends net.Socket { + constructor(fd: number); + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "resize", listener: () => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "resize"): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "resize", listener: () => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "resize", listener: () => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "resize", listener: () => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "resize", listener: () => void): this; + + /** + * Clears the current line of this WriteStream in a direction identified by `dir`. + */ + clearLine(dir: Direction, callback?: () => void): boolean; + /** + * Clears this `WriteStream` from the current cursor down. + */ + clearScreenDown(callback?: () => void): boolean; + /** + * Moves this WriteStream's cursor to the specified position. + */ + cursorTo(x: number, y?: number, callback?: () => void): boolean; + cursorTo(x: number, callback: () => void): boolean; + /** + * Moves this WriteStream's cursor relative to its current position. + */ + moveCursor(dx: number, dy: number, callback?: () => void): boolean; + /** + * @default `process.env` + */ + getColorDepth(env?: {}): number; + hasColors(depth?: number): boolean; + hasColors(env?: {}): boolean; + hasColors(depth: number, env?: {}): boolean; + getWindowSize(): [number, number]; + columns: number; + rows: number; + isTTY: boolean; + } +} diff --git a/node_modules/@types/node/url.d.ts b/node_modules/@types/node/url.d.ts new file mode 100644 index 0000000..2490c35 --- /dev/null +++ b/node_modules/@types/node/url.d.ts @@ -0,0 +1,110 @@ +declare module "url" { + import { ParsedUrlQuery, ParsedUrlQueryInput } from 'querystring'; + + // Input to `url.format` + interface UrlObject { + auth?: string | null; + hash?: string | null; + host?: string | null; + hostname?: string | null; + href?: string | null; + pathname?: string | null; + protocol?: string | null; + search?: string | null; + slashes?: boolean | null; + port?: string | number | null; + query?: string | null | ParsedUrlQueryInput; + } + + // Output of `url.parse` + interface Url { + auth: string | null; + hash: string | null; + host: string | null; + hostname: string | null; + href: string; + path: string | null; + pathname: string | null; + protocol: string | null; + search: string | null; + slashes: boolean | null; + port: string | null; + query: string | null | ParsedUrlQuery; + } + + interface UrlWithParsedQuery extends Url { + query: ParsedUrlQuery; + } + + interface UrlWithStringQuery extends Url { + query: string | null; + } + + function parse(urlStr: string): UrlWithStringQuery; + function parse(urlStr: string, parseQueryString: false | undefined, slashesDenoteHost?: boolean): UrlWithStringQuery; + function parse(urlStr: string, parseQueryString: true, slashesDenoteHost?: boolean): UrlWithParsedQuery; + function parse(urlStr: string, parseQueryString: boolean, slashesDenoteHost?: boolean): Url; + + function format(URL: URL, options?: URLFormatOptions): string; + function format(urlObject: UrlObject | string): string; + function resolve(from: string, to: string): string; + + function domainToASCII(domain: string): string; + function domainToUnicode(domain: string): string; + + /** + * This function ensures the correct decodings of percent-encoded characters as + * well as ensuring a cross-platform valid absolute path string. + * @param url The file URL string or URL object to convert to a path. + */ + function fileURLToPath(url: string | URL): string; + + /** + * This function ensures that path is resolved absolutely, and that the URL + * control characters are correctly encoded when converting into a File URL. + * @param url The path to convert to a File URL. + */ + function pathToFileURL(url: string): URL; + + interface URLFormatOptions { + auth?: boolean; + fragment?: boolean; + search?: boolean; + unicode?: boolean; + } + + class URL { + constructor(input: string, base?: string | URL); + hash: string; + host: string; + hostname: string; + href: string; + readonly origin: string; + password: string; + pathname: string; + port: string; + protocol: string; + search: string; + readonly searchParams: URLSearchParams; + username: string; + toString(): string; + toJSON(): string; + } + + class URLSearchParams implements Iterable<[string, string]> { + constructor(init?: URLSearchParams | string | NodeJS.Dict> | Iterable<[string, string]> | ReadonlyArray<[string, string]>); + append(name: string, value: string): void; + delete(name: string): void; + entries(): IterableIterator<[string, string]>; + forEach(callback: (value: string, name: string, searchParams: this) => void): void; + get(name: string): string | null; + getAll(name: string): string[]; + has(name: string): boolean; + keys(): IterableIterator; + set(name: string, value: string): void; + sort(): void; + toString(): string; + values(): IterableIterator; + [Symbol.iterator](): IterableIterator<[string, string]>; + } +} diff --git a/node_modules/@types/node/util.d.ts b/node_modules/@types/node/util.d.ts new file mode 100644 index 0000000..4c39aeb --- /dev/null +++ b/node_modules/@types/node/util.d.ts @@ -0,0 +1,207 @@ +declare module "util" { + interface InspectOptions extends NodeJS.InspectOptions { } + type Style = 'special' | 'number' | 'bigint' | 'boolean' | 'undefined' | 'null' | 'string' | 'symbol' | 'date' | 'regexp' | 'module'; + type CustomInspectFunction = (depth: number, options: InspectOptionsStylized) => string; + interface InspectOptionsStylized extends InspectOptions { + stylize(text: string, styleType: Style): string; + } + function format(format: any, ...param: any[]): string; + function formatWithOptions(inspectOptions: InspectOptions, format: string, ...param: any[]): string; + /** @deprecated since v0.11.3 - use a third party module instead. */ + function log(string: string): void; + function inspect(object: any, showHidden?: boolean, depth?: number | null, color?: boolean): string; + function inspect(object: any, options: InspectOptions): string; + namespace inspect { + let colors: NodeJS.Dict<[number, number]>; + let styles: { + [K in Style]: string + }; + let defaultOptions: InspectOptions; + /** + * Allows changing inspect settings from the repl. + */ + let replDefaults: InspectOptions; + const custom: unique symbol; + } + /** @deprecated since v4.0.0 - use `Array.isArray()` instead. */ + function isArray(object: any): object is any[]; + /** @deprecated since v4.0.0 - use `util.types.isRegExp()` instead. */ + function isRegExp(object: any): object is RegExp; + /** @deprecated since v4.0.0 - use `util.types.isDate()` instead. */ + function isDate(object: any): object is Date; + /** @deprecated since v4.0.0 - use `util.types.isNativeError()` instead. */ + function isError(object: any): object is Error; + function inherits(constructor: any, superConstructor: any): void; + function debuglog(key: string): (msg: string, ...param: any[]) => void; + /** @deprecated since v4.0.0 - use `typeof value === 'boolean'` instead. */ + function isBoolean(object: any): object is boolean; + /** @deprecated since v4.0.0 - use `Buffer.isBuffer()` instead. */ + function isBuffer(object: any): object is Buffer; + /** @deprecated since v4.0.0 - use `typeof value === 'function'` instead. */ + function isFunction(object: any): boolean; + /** @deprecated since v4.0.0 - use `value === null` instead. */ + function isNull(object: any): object is null; + /** @deprecated since v4.0.0 - use `value === null || value === undefined` instead. */ + function isNullOrUndefined(object: any): object is null | undefined; + /** @deprecated since v4.0.0 - use `typeof value === 'number'` instead. */ + function isNumber(object: any): object is number; + /** @deprecated since v4.0.0 - use `value !== null && typeof value === 'object'` instead. */ + function isObject(object: any): boolean; + /** @deprecated since v4.0.0 - use `(typeof value !== 'object' && typeof value !== 'function') || value === null` instead. */ + function isPrimitive(object: any): boolean; + /** @deprecated since v4.0.0 - use `typeof value === 'string'` instead. */ + function isString(object: any): object is string; + /** @deprecated since v4.0.0 - use `typeof value === 'symbol'` instead. */ + function isSymbol(object: any): object is symbol; + /** @deprecated since v4.0.0 - use `value === undefined` instead. */ + function isUndefined(object: any): object is undefined; + function deprecate(fn: T, message: string, code?: string): T; + function isDeepStrictEqual(val1: any, val2: any): boolean; + + function callbackify(fn: () => Promise): (callback: (err: NodeJS.ErrnoException) => void) => void; + function callbackify(fn: () => Promise): (callback: (err: NodeJS.ErrnoException, result: TResult) => void) => void; + function callbackify(fn: (arg1: T1) => Promise): (arg1: T1, callback: (err: NodeJS.ErrnoException) => void) => void; + function callbackify(fn: (arg1: T1) => Promise): (arg1: T1, callback: (err: NodeJS.ErrnoException, result: TResult) => void) => void; + function callbackify(fn: (arg1: T1, arg2: T2) => Promise): (arg1: T1, arg2: T2, callback: (err: NodeJS.ErrnoException) => void) => void; + function callbackify(fn: (arg1: T1, arg2: T2) => Promise): (arg1: T1, arg2: T2, callback: (err: NodeJS.ErrnoException | null, result: TResult) => void) => void; + function callbackify(fn: (arg1: T1, arg2: T2, arg3: T3) => Promise): (arg1: T1, arg2: T2, arg3: T3, callback: (err: NodeJS.ErrnoException) => void) => void; + function callbackify( + fn: (arg1: T1, arg2: T2, arg3: T3) => Promise): (arg1: T1, arg2: T2, arg3: T3, callback: (err: NodeJS.ErrnoException | null, result: TResult) => void) => void; + function callbackify( + fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err: NodeJS.ErrnoException) => void) => void; + function callbackify( + fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err: NodeJS.ErrnoException | null, result: TResult) => void) => void; + function callbackify( + fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err: NodeJS.ErrnoException) => void) => void; + function callbackify( + fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise, + ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err: NodeJS.ErrnoException | null, result: TResult) => void) => void; + function callbackify( + fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6) => Promise, + ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6, callback: (err: NodeJS.ErrnoException) => void) => void; + function callbackify( + fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6) => Promise + ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6, callback: (err: NodeJS.ErrnoException | null, result: TResult) => void) => void; + + interface CustomPromisifyLegacy extends Function { + __promisify__: TCustom; + } + + interface CustomPromisifySymbol extends Function { + [promisify.custom]: TCustom; + } + + type CustomPromisify = CustomPromisifySymbol | CustomPromisifyLegacy; + + function promisify(fn: CustomPromisify): TCustom; + function promisify(fn: (callback: (err: any, result: TResult) => void) => void): () => Promise; + function promisify(fn: (callback: (err?: any) => void) => void): () => Promise; + function promisify(fn: (arg1: T1, callback: (err: any, result: TResult) => void) => void): (arg1: T1) => Promise; + function promisify(fn: (arg1: T1, callback: (err?: any) => void) => void): (arg1: T1) => Promise; + function promisify(fn: (arg1: T1, arg2: T2, callback: (err: any, result: TResult) => void) => void): (arg1: T1, arg2: T2) => Promise; + function promisify(fn: (arg1: T1, arg2: T2, callback: (err?: any) => void) => void): (arg1: T1, arg2: T2) => Promise; + function promisify(fn: (arg1: T1, arg2: T2, arg3: T3, callback: (err: any, result: TResult) => void) => void): + (arg1: T1, arg2: T2, arg3: T3) => Promise; + function promisify(fn: (arg1: T1, arg2: T2, arg3: T3, callback: (err?: any) => void) => void): (arg1: T1, arg2: T2, arg3: T3) => Promise; + function promisify( + fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err: any, result: TResult) => void) => void, + ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise; + function promisify(fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err?: any) => void) => void): + (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise; + function promisify( + fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err: any, result: TResult) => void) => void, + ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise; + function promisify( + fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err?: any) => void) => void, + ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise; + function promisify(fn: Function): Function; + namespace promisify { + const custom: unique symbol; + } + + namespace types { + function isAnyArrayBuffer(object: any): object is ArrayBufferLike; + function isArgumentsObject(object: any): object is IArguments; + function isArrayBuffer(object: any): object is ArrayBuffer; + function isArrayBufferView(object: any): object is NodeJS.ArrayBufferView; + function isAsyncFunction(object: any): boolean; + function isBigInt64Array(value: any): value is BigInt64Array; + function isBigUint64Array(value: any): value is BigUint64Array; + function isBooleanObject(object: any): object is Boolean; + function isBoxedPrimitive(object: any): object is String | Number | BigInt | Boolean | Symbol; + function isDataView(object: any): object is DataView; + function isDate(object: any): object is Date; + function isExternal(object: any): boolean; + function isFloat32Array(object: any): object is Float32Array; + function isFloat64Array(object: any): object is Float64Array; + function isGeneratorFunction(object: any): object is GeneratorFunction; + function isGeneratorObject(object: any): object is Generator; + function isInt8Array(object: any): object is Int8Array; + function isInt16Array(object: any): object is Int16Array; + function isInt32Array(object: any): object is Int32Array; + function isMap( + object: T | {}, + ): object is T extends ReadonlyMap + ? unknown extends T + ? never + : ReadonlyMap + : Map; + function isMapIterator(object: any): boolean; + function isModuleNamespaceObject(value: any): boolean; + function isNativeError(object: any): object is Error; + function isNumberObject(object: any): object is Number; + function isPromise(object: any): object is Promise; + function isProxy(object: any): boolean; + function isRegExp(object: any): object is RegExp; + function isSet( + object: T | {}, + ): object is T extends ReadonlySet + ? unknown extends T + ? never + : ReadonlySet + : Set; + function isSetIterator(object: any): boolean; + function isSharedArrayBuffer(object: any): object is SharedArrayBuffer; + function isStringObject(object: any): object is String; + function isSymbolObject(object: any): object is Symbol; + function isTypedArray(object: any): object is NodeJS.TypedArray; + function isUint8Array(object: any): object is Uint8Array; + function isUint8ClampedArray(object: any): object is Uint8ClampedArray; + function isUint16Array(object: any): object is Uint16Array; + function isUint32Array(object: any): object is Uint32Array; + function isWeakMap(object: any): object is WeakMap; + function isWeakSet(object: any): object is WeakSet; + } + + class TextDecoder { + readonly encoding: string; + readonly fatal: boolean; + readonly ignoreBOM: boolean; + constructor( + encoding?: string, + options?: { fatal?: boolean; ignoreBOM?: boolean } + ); + decode( + input?: NodeJS.ArrayBufferView | ArrayBuffer | null, + options?: { stream?: boolean } + ): string; + } + + interface EncodeIntoResult { + /** + * The read Unicode code units of input. + */ + + read: number; + /** + * The written UTF-8 bytes of output. + */ + written: number; + } + + class TextEncoder { + readonly encoding: string; + encode(input?: string): Uint8Array; + encodeInto(input: string, output: Uint8Array): EncodeIntoResult; + } +} diff --git a/node_modules/@types/node/v8.d.ts b/node_modules/@types/node/v8.d.ts new file mode 100644 index 0000000..7d95082 --- /dev/null +++ b/node_modules/@types/node/v8.d.ts @@ -0,0 +1,187 @@ +declare module "v8" { + import { Readable } from "stream"; + + interface HeapSpaceInfo { + space_name: string; + space_size: number; + space_used_size: number; + space_available_size: number; + physical_space_size: number; + } + + // ** Signifies if the --zap_code_space option is enabled or not. 1 == enabled, 0 == disabled. */ + type DoesZapCodeSpaceFlag = 0 | 1; + + interface HeapInfo { + total_heap_size: number; + total_heap_size_executable: number; + total_physical_size: number; + total_available_size: number; + used_heap_size: number; + heap_size_limit: number; + malloced_memory: number; + peak_malloced_memory: number; + does_zap_garbage: DoesZapCodeSpaceFlag; + number_of_native_contexts: number; + number_of_detached_contexts: number; + } + + interface HeapCodeStatistics { + code_and_metadata_size: number; + bytecode_and_metadata_size: number; + external_script_source_size: number; + } + + /** + * Returns an integer representing a "version tag" derived from the V8 version, command line flags and detected CPU features. + * This is useful for determining whether a vm.Script cachedData buffer is compatible with this instance of V8. + */ + function cachedDataVersionTag(): number; + + function getHeapStatistics(): HeapInfo; + function getHeapSpaceStatistics(): HeapSpaceInfo[]; + function setFlagsFromString(flags: string): void; + /** + * Generates a snapshot of the current V8 heap and returns a Readable + * Stream that may be used to read the JSON serialized representation. + * This conversation was marked as resolved by joyeecheung + * This JSON stream format is intended to be used with tools such as + * Chrome DevTools. The JSON schema is undocumented and specific to the + * V8 engine, and may change from one version of V8 to the next. + */ + function getHeapSnapshot(): Readable; + + /** + * + * @param fileName The file path where the V8 heap snapshot is to be + * saved. If not specified, a file name with the pattern + * `'Heap-${yyyymmdd}-${hhmmss}-${pid}-${thread_id}.heapsnapshot'` will be + * generated, where `{pid}` will be the PID of the Node.js process, + * `{thread_id}` will be `0` when `writeHeapSnapshot()` is called from + * the main Node.js thread or the id of a worker thread. + */ + function writeHeapSnapshot(fileName?: string): string; + + function getHeapCodeStatistics(): HeapCodeStatistics; + + class Serializer { + /** + * Writes out a header, which includes the serialization format version. + */ + writeHeader(): void; + + /** + * Serializes a JavaScript value and adds the serialized representation to the internal buffer. + * This throws an error if value cannot be serialized. + */ + writeValue(val: any): boolean; + + /** + * Returns the stored internal buffer. + * This serializer should not be used once the buffer is released. + * Calling this method results in undefined behavior if a previous write has failed. + */ + releaseBuffer(): Buffer; + + /** + * Marks an ArrayBuffer as having its contents transferred out of band.\ + * Pass the corresponding ArrayBuffer in the deserializing context to deserializer.transferArrayBuffer(). + */ + transferArrayBuffer(id: number, arrayBuffer: ArrayBuffer): void; + + /** + * Write a raw 32-bit unsigned integer. + */ + writeUint32(value: number): void; + + /** + * Write a raw 64-bit unsigned integer, split into high and low 32-bit parts. + */ + writeUint64(hi: number, lo: number): void; + + /** + * Write a JS number value. + */ + writeDouble(value: number): void; + + /** + * Write raw bytes into the serializer’s internal buffer. + * The deserializer will require a way to compute the length of the buffer. + */ + writeRawBytes(buffer: NodeJS.TypedArray): void; + } + + /** + * A subclass of `Serializer` that serializes `TypedArray` (in particular `Buffer`) and `DataView` objects as host objects, + * and only stores the part of their underlying `ArrayBuffers` that they are referring to. + */ + class DefaultSerializer extends Serializer { + } + + class Deserializer { + constructor(data: NodeJS.TypedArray); + /** + * Reads and validates a header (including the format version). + * May, for example, reject an invalid or unsupported wire format. + * In that case, an Error is thrown. + */ + readHeader(): boolean; + + /** + * Deserializes a JavaScript value from the buffer and returns it. + */ + readValue(): any; + + /** + * Marks an ArrayBuffer as having its contents transferred out of band. + * Pass the corresponding `ArrayBuffer` in the serializing context to serializer.transferArrayBuffer() + * (or return the id from serializer._getSharedArrayBufferId() in the case of SharedArrayBuffers). + */ + transferArrayBuffer(id: number, arrayBuffer: ArrayBuffer): void; + + /** + * Reads the underlying wire format version. + * Likely mostly to be useful to legacy code reading old wire format versions. + * May not be called before .readHeader(). + */ + getWireFormatVersion(): number; + + /** + * Read a raw 32-bit unsigned integer and return it. + */ + readUint32(): number; + + /** + * Read a raw 64-bit unsigned integer and return it as an array [hi, lo] with two 32-bit unsigned integer entries. + */ + readUint64(): [number, number]; + + /** + * Read a JS number value. + */ + readDouble(): number; + + /** + * Read raw bytes from the deserializer’s internal buffer. + * The length parameter must correspond to the length of the buffer that was passed to serializer.writeRawBytes(). + */ + readRawBytes(length: number): Buffer; + } + + /** + * A subclass of `Serializer` that serializes `TypedArray` (in particular `Buffer`) and `DataView` objects as host objects, + * and only stores the part of their underlying `ArrayBuffers` that they are referring to. + */ + class DefaultDeserializer extends Deserializer { + } + + /** + * Uses a `DefaultSerializer` to serialize value into a buffer. + */ + function serialize(value: any): Buffer; + + /** + * Uses a `DefaultDeserializer` with default options to read a JS value from a buffer. + */ + function deserialize(data: NodeJS.TypedArray): any; +} diff --git a/node_modules/@types/node/vm.d.ts b/node_modules/@types/node/vm.d.ts new file mode 100644 index 0000000..399c2a6 --- /dev/null +++ b/node_modules/@types/node/vm.d.ts @@ -0,0 +1,146 @@ +declare module "vm" { + interface Context extends NodeJS.Dict { } + interface BaseOptions { + /** + * Specifies the filename used in stack traces produced by this script. + * Default: `''`. + */ + filename?: string; + /** + * Specifies the line number offset that is displayed in stack traces produced by this script. + * Default: `0`. + */ + lineOffset?: number; + /** + * Specifies the column number offset that is displayed in stack traces produced by this script. + * Default: `0` + */ + columnOffset?: number; + } + interface ScriptOptions extends BaseOptions { + displayErrors?: boolean; + timeout?: number; + cachedData?: Buffer; + produceCachedData?: boolean; + } + interface RunningScriptOptions extends BaseOptions { + /** + * When `true`, if an `Error` occurs while compiling the `code`, the line of code causing the error is attached to the stack trace. + * Default: `true`. + */ + displayErrors?: boolean; + /** + * Specifies the number of milliseconds to execute code before terminating execution. + * If execution is terminated, an `Error` will be thrown. This value must be a strictly positive integer. + */ + timeout?: number; + /** + * If `true`, the execution will be terminated when `SIGINT` (Ctrl+C) is received. + * Existing handlers for the event that have been attached via `process.on('SIGINT')` will be disabled during script execution, but will continue to work after that. + * If execution is terminated, an `Error` will be thrown. + * Default: `false`. + */ + breakOnSigint?: boolean; + /** + * If set to `afterEvaluate`, microtasks will be run immediately after the script has run. + */ + microtaskMode?: 'afterEvaluate'; + } + interface CompileFunctionOptions extends BaseOptions { + /** + * Provides an optional data with V8's code cache data for the supplied source. + */ + cachedData?: Buffer; + /** + * Specifies whether to produce new cache data. + * Default: `false`, + */ + produceCachedData?: boolean; + /** + * The sandbox/context in which the said function should be compiled in. + */ + parsingContext?: Context; + + /** + * An array containing a collection of context extensions (objects wrapping the current scope) to be applied while compiling + */ + contextExtensions?: Object[]; + } + + interface CreateContextOptions { + /** + * Human-readable name of the newly created context. + * @default 'VM Context i' Where i is an ascending numerical index of the created context. + */ + name?: string; + /** + * Corresponds to the newly created context for display purposes. + * The origin should be formatted like a `URL`, but with only the scheme, host, and port (if necessary), + * like the value of the `url.origin` property of a URL object. + * Most notably, this string should omit the trailing slash, as that denotes a path. + * @default '' + */ + origin?: string; + codeGeneration?: { + /** + * If set to false any calls to eval or function constructors (Function, GeneratorFunction, etc) + * will throw an EvalError. + * @default true + */ + strings?: boolean; + /** + * If set to false any attempt to compile a WebAssembly module will throw a WebAssembly.CompileError. + * @default true + */ + wasm?: boolean; + }; + } + + type MeasureMemoryMode = 'summary' | 'detailed'; + + interface MeasureMemoryOptions { + /** + * @default 'summary' + */ + mode?: MeasureMemoryMode; + context?: Context; + } + + interface MemoryMeasurement { + total: { + jsMemoryEstimate: number; + jsMemoryRange: [number, number]; + }; + } + + class Script { + constructor(code: string, options?: ScriptOptions); + runInContext(contextifiedSandbox: Context, options?: RunningScriptOptions): any; + runInNewContext(sandbox?: Context, options?: RunningScriptOptions): any; + runInThisContext(options?: RunningScriptOptions): any; + createCachedData(): Buffer; + } + function createContext(sandbox?: Context, options?: CreateContextOptions): Context; + function isContext(sandbox: Context): boolean; + function runInContext(code: string, contextifiedSandbox: Context, options?: RunningScriptOptions | string): any; + function runInNewContext(code: string, sandbox?: Context, options?: RunningScriptOptions | string): any; + function runInThisContext(code: string, options?: RunningScriptOptions | string): any; + function compileFunction(code: string, params?: ReadonlyArray, options?: CompileFunctionOptions): Function; + + /** + * Measure the memory known to V8 and used by the current execution context or a specified context. + * + * The format of the object that the returned Promise may resolve with is + * specific to the V8 engine and may change from one version of V8 to the next. + * + * The returned result is different from the statistics returned by + * `v8.getHeapSpaceStatistics()` in that `vm.measureMemory()` measures + * the memory reachable by V8 from a specific context, while + * `v8.getHeapSpaceStatistics()` measures the memory used by an instance + * of V8 engine, which can switch among multiple contexts that reference + * objects in the heap of one engine. + * + * @experimental + */ + function measureMemory(options?: MeasureMemoryOptions): Promise; +} diff --git a/node_modules/@types/node/wasi.d.ts b/node_modules/@types/node/wasi.d.ts new file mode 100644 index 0000000..fe2b2aa --- /dev/null +++ b/node_modules/@types/node/wasi.d.ts @@ -0,0 +1,86 @@ +declare module 'wasi' { + interface WASIOptions { + /** + * An array of strings that the WebAssembly application will + * see as command line arguments. The first argument is the virtual path to the + * WASI command itself. + */ + args?: string[]; + + /** + * An object similar to `process.env` that the WebAssembly + * application will see as its environment. + */ + env?: object; + + /** + * This object represents the WebAssembly application's + * sandbox directory structure. The string keys of `preopens` are treated as + * directories within the sandbox. The corresponding values in `preopens` are + * the real paths to those directories on the host machine. + */ + preopens?: NodeJS.Dict; + + /** + * By default, WASI applications terminate the Node.js + * process via the `__wasi_proc_exit()` function. Setting this option to `true` + * causes `wasi.start()` to return the exit code rather than terminate the + * process. + * @default false + */ + returnOnExit?: boolean; + + /** + * The file descriptor used as standard input in the WebAssembly application. + * @default 0 + */ + stdin?: number; + + /** + * The file descriptor used as standard output in the WebAssembly application. + * @default 1 + */ + stdout?: number; + + /** + * The file descriptor used as standard error in the WebAssembly application. + * @default 2 + */ + stderr?: number; + } + + class WASI { + constructor(options?: WASIOptions); + /** + * + * Attempt to begin execution of `instance` by invoking its `_start()` export. + * If `instance` does not contain a `_start()` export, then `start()` attempts to + * invoke the `__wasi_unstable_reactor_start()` export. If neither of those exports + * is present on `instance`, then `start()` does nothing. + * + * `start()` requires that `instance` exports a [`WebAssembly.Memory`][] named + * `memory`. If `instance` does not have a `memory` export an exception is thrown. + * + * If `start()` is called more than once, an exception is thrown. + */ + start(instance: object): void; // TODO: avoid DOM dependency until WASM moved to own lib. + + /** + * Attempt to initialize `instance` as a WASI reactor by invoking its `_initialize()` export, if it is present. + * If `instance` contains a `_start()` export, then an exception is thrown. + * + * `start()` requires that `instance` exports a [`WebAssembly.Memory`][] named + * `memory`. If `instance` does not have a `memory` export an exception is thrown. + * + * If `initialize()` is called more than once, an exception is thrown. + */ + initialize(instance: object): void; // TODO: avoid DOM dependency until WASM moved to own lib. + + /** + * Is an object that implements the WASI system call API. This object + * should be passed as the `wasi_snapshot_preview1` import during the instantiation of a + * [`WebAssembly.Instance`][]. + */ + readonly wasiImport: NodeJS.Dict; // TODO: Narrow to DOM types + } +} diff --git a/node_modules/@types/node/worker_threads.d.ts b/node_modules/@types/node/worker_threads.d.ts new file mode 100644 index 0000000..3a8881e --- /dev/null +++ b/node_modules/@types/node/worker_threads.d.ts @@ -0,0 +1,238 @@ +declare module "worker_threads" { + import { Context } from "vm"; + import { EventEmitter } from "events"; + import { Readable, Writable } from "stream"; + import { URL } from "url"; + import { FileHandle } from "fs/promises"; + + const isMainThread: boolean; + const parentPort: null | MessagePort; + const resourceLimits: ResourceLimits; + const SHARE_ENV: unique symbol; + const threadId: number; + const workerData: any; + + class MessageChannel { + readonly port1: MessagePort; + readonly port2: MessagePort; + } + + type TransferListItem = ArrayBuffer | MessagePort | FileHandle; + + class MessagePort extends EventEmitter { + close(): void; + postMessage(value: any, transferList?: ReadonlyArray): void; + ref(): void; + unref(): void; + start(): void; + + addListener(event: "close", listener: () => void): this; + addListener(event: "message", listener: (value: any) => void): this; + addListener(event: "messageerror", listener: (error: Error) => void): this; + addListener(event: string | symbol, listener: (...args: any[]) => void): this; + + emit(event: "close"): boolean; + emit(event: "message", value: any): boolean; + emit(event: "messageerror", error: Error): boolean; + emit(event: string | symbol, ...args: any[]): boolean; + + on(event: "close", listener: () => void): this; + on(event: "message", listener: (value: any) => void): this; + on(event: "messageerror", listener: (error: Error) => void): this; + on(event: string | symbol, listener: (...args: any[]) => void): this; + + once(event: "close", listener: () => void): this; + once(event: "message", listener: (value: any) => void): this; + once(event: "messageerror", listener: (error: Error) => void): this; + once(event: string | symbol, listener: (...args: any[]) => void): this; + + prependListener(event: "close", listener: () => void): this; + prependListener(event: "message", listener: (value: any) => void): this; + prependListener(event: "messageerror", listener: (error: Error) => void): this; + prependListener(event: string | symbol, listener: (...args: any[]) => void): this; + + prependOnceListener(event: "close", listener: () => void): this; + prependOnceListener(event: "message", listener: (value: any) => void): this; + prependOnceListener(event: "messageerror", listener: (error: Error) => void): this; + prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; + + removeListener(event: "close", listener: () => void): this; + removeListener(event: "message", listener: (value: any) => void): this; + removeListener(event: "messageerror", listener: (error: Error) => void): this; + removeListener(event: string | symbol, listener: (...args: any[]) => void): this; + + off(event: "close", listener: () => void): this; + off(event: "message", listener: (value: any) => void): this; + off(event: "messageerror", listener: (error: Error) => void): this; + off(event: string | symbol, listener: (...args: any[]) => void): this; + } + + interface WorkerOptions { + /** + * List of arguments which would be stringified and appended to + * `process.argv` in the worker. This is mostly similar to the `workerData` + * but the values will be available on the global `process.argv` as if they + * were passed as CLI options to the script. + */ + argv?: any[]; + env?: NodeJS.Dict | typeof SHARE_ENV; + eval?: boolean; + workerData?: any; + stdin?: boolean; + stdout?: boolean; + stderr?: boolean; + execArgv?: string[]; + resourceLimits?: ResourceLimits; + /** + * Additional data to send in the first worker message. + */ + transferList?: TransferListItem[]; + trackUnmanagedFds?: boolean; + } + + interface ResourceLimits { + /** + * The maximum size of a heap space for recently created objects. + */ + maxYoungGenerationSizeMb?: number; + /** + * The maximum size of the main heap in MB. + */ + maxOldGenerationSizeMb?: number; + /** + * The size of a pre-allocated memory range used for generated code. + */ + codeRangeSizeMb?: number; + /** + * The default maximum stack size for the thread. Small values may lead to unusable Worker instances. + * @default 4 + */ + stackSizeMb?: number; + } + + class Worker extends EventEmitter { + readonly stdin: Writable | null; + readonly stdout: Readable; + readonly stderr: Readable; + readonly threadId: number; + readonly resourceLimits?: ResourceLimits; + + /** + * @param filename The path to the Worker’s main script or module. + * Must be either an absolute path or a relative path (i.e. relative to the current working directory) starting with ./ or ../, + * or a WHATWG URL object using file: protocol. If options.eval is true, this is a string containing JavaScript code rather than a path. + */ + constructor(filename: string | URL, options?: WorkerOptions); + + postMessage(value: any, transferList?: ReadonlyArray): void; + ref(): void; + unref(): void; + /** + * Stop all JavaScript execution in the worker thread as soon as possible. + * Returns a Promise for the exit code that is fulfilled when the `exit` event is emitted. + */ + terminate(): Promise; + + /** + * Returns a readable stream for a V8 snapshot of the current state of the Worker. + * See [`v8.getHeapSnapshot()`][] for more details. + * + * If the Worker thread is no longer running, which may occur before the + * [`'exit'` event][] is emitted, the returned `Promise` will be rejected + * immediately with an [`ERR_WORKER_NOT_RUNNING`][] error + */ + getHeapSnapshot(): Promise; + + addListener(event: "error", listener: (err: Error) => void): this; + addListener(event: "exit", listener: (exitCode: number) => void): this; + addListener(event: "message", listener: (value: any) => void): this; + addListener(event: "messageerror", listener: (error: Error) => void): this; + addListener(event: "online", listener: () => void): this; + addListener(event: string | symbol, listener: (...args: any[]) => void): this; + + emit(event: "error", err: Error): boolean; + emit(event: "exit", exitCode: number): boolean; + emit(event: "message", value: any): boolean; + emit(event: "messageerror", error: Error): boolean; + emit(event: "online"): boolean; + emit(event: string | symbol, ...args: any[]): boolean; + + on(event: "error", listener: (err: Error) => void): this; + on(event: "exit", listener: (exitCode: number) => void): this; + on(event: "message", listener: (value: any) => void): this; + on(event: "messageerror", listener: (error: Error) => void): this; + on(event: "online", listener: () => void): this; + on(event: string | symbol, listener: (...args: any[]) => void): this; + + once(event: "error", listener: (err: Error) => void): this; + once(event: "exit", listener: (exitCode: number) => void): this; + once(event: "message", listener: (value: any) => void): this; + once(event: "messageerror", listener: (error: Error) => void): this; + once(event: "online", listener: () => void): this; + once(event: string | symbol, listener: (...args: any[]) => void): this; + + prependListener(event: "error", listener: (err: Error) => void): this; + prependListener(event: "exit", listener: (exitCode: number) => void): this; + prependListener(event: "message", listener: (value: any) => void): this; + prependListener(event: "messageerror", listener: (error: Error) => void): this; + prependListener(event: "online", listener: () => void): this; + prependListener(event: string | symbol, listener: (...args: any[]) => void): this; + + prependOnceListener(event: "error", listener: (err: Error) => void): this; + prependOnceListener(event: "exit", listener: (exitCode: number) => void): this; + prependOnceListener(event: "message", listener: (value: any) => void): this; + prependOnceListener(event: "messageerror", listener: (error: Error) => void): this; + prependOnceListener(event: "online", listener: () => void): this; + prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; + + removeListener(event: "error", listener: (err: Error) => void): this; + removeListener(event: "exit", listener: (exitCode: number) => void): this; + removeListener(event: "message", listener: (value: any) => void): this; + removeListener(event: "messageerror", listener: (error: Error) => void): this; + removeListener(event: "online", listener: () => void): this; + removeListener(event: string | symbol, listener: (...args: any[]) => void): this; + + off(event: "error", listener: (err: Error) => void): this; + off(event: "exit", listener: (exitCode: number) => void): this; + off(event: "message", listener: (value: any) => void): this; + off(event: "messageerror", listener: (error: Error) => void): this; + off(event: "online", listener: () => void): this; + off(event: string | symbol, listener: (...args: any[]) => void): this; + } + + /** + * Mark an object as not transferable. + * If `object` occurs in the transfer list of a `port.postMessage()` call, it will be ignored. + * + * In particular, this makes sense for objects that can be cloned, rather than transferred, + * and which are used by other objects on the sending side. For example, Node.js marks + * the `ArrayBuffer`s it uses for its Buffer pool with this. + * + * This operation cannot be undone. + */ + function markAsUntransferable(object: object): void; + + /** + * Transfer a `MessagePort` to a different `vm` Context. The original `port` + * object will be rendered unusable, and the returned `MessagePort` instance will + * take its place. + * + * The returned `MessagePort` will be an object in the target context, and will + * inherit from its global `Object` class. Objects passed to the + * `port.onmessage()` listener will also be created in the target context + * and inherit from its global `Object` class. + * + * However, the created `MessagePort` will no longer inherit from + * `EventEmitter`, and only `port.onmessage()` can be used to receive + * events using it. + */ + function moveMessagePortToContext(port: MessagePort, context: Context): MessagePort; + + /** + * Receive a single message from a given `MessagePort`. If no message is available, + * `undefined` is returned, otherwise an object with a single `message` property + * that contains the message payload, corresponding to the oldest message in the + * `MessagePort`’s queue. + */ + function receiveMessageOnPort(port: MessagePort): { message: any } | undefined; +} diff --git a/node_modules/@types/node/zlib.d.ts b/node_modules/@types/node/zlib.d.ts new file mode 100644 index 0000000..754f5ed --- /dev/null +++ b/node_modules/@types/node/zlib.d.ts @@ -0,0 +1,361 @@ +declare module "zlib" { + import * as stream from "stream"; + + interface ZlibOptions { + /** + * @default constants.Z_NO_FLUSH + */ + flush?: number; + /** + * @default constants.Z_FINISH + */ + finishFlush?: number; + /** + * @default 16*1024 + */ + chunkSize?: number; + windowBits?: number; + level?: number; // compression only + memLevel?: number; // compression only + strategy?: number; // compression only + dictionary?: NodeJS.ArrayBufferView | ArrayBuffer; // deflate/inflate only, empty dictionary by default + info?: boolean; + maxOutputLength?: number; + } + + interface BrotliOptions { + /** + * @default constants.BROTLI_OPERATION_PROCESS + */ + flush?: number; + /** + * @default constants.BROTLI_OPERATION_FINISH + */ + finishFlush?: number; + /** + * @default 16*1024 + */ + chunkSize?: number; + params?: { + /** + * Each key is a `constants.BROTLI_*` constant. + */ + [key: number]: boolean | number; + }; + maxOutputLength?: number; + } + + interface Zlib { + /** @deprecated Use bytesWritten instead. */ + readonly bytesRead: number; + readonly bytesWritten: number; + shell?: boolean | string; + close(callback?: () => void): void; + flush(kind?: number, callback?: () => void): void; + flush(callback?: () => void): void; + } + + interface ZlibParams { + params(level: number, strategy: number, callback: () => void): void; + } + + interface ZlibReset { + reset(): void; + } + + interface BrotliCompress extends stream.Transform, Zlib { } + interface BrotliDecompress extends stream.Transform, Zlib { } + interface Gzip extends stream.Transform, Zlib { } + interface Gunzip extends stream.Transform, Zlib { } + interface Deflate extends stream.Transform, Zlib, ZlibReset, ZlibParams { } + interface Inflate extends stream.Transform, Zlib, ZlibReset { } + interface DeflateRaw extends stream.Transform, Zlib, ZlibReset, ZlibParams { } + interface InflateRaw extends stream.Transform, Zlib, ZlibReset { } + interface Unzip extends stream.Transform, Zlib { } + + function createBrotliCompress(options?: BrotliOptions): BrotliCompress; + function createBrotliDecompress(options?: BrotliOptions): BrotliDecompress; + function createGzip(options?: ZlibOptions): Gzip; + function createGunzip(options?: ZlibOptions): Gunzip; + function createDeflate(options?: ZlibOptions): Deflate; + function createInflate(options?: ZlibOptions): Inflate; + function createDeflateRaw(options?: ZlibOptions): DeflateRaw; + function createInflateRaw(options?: ZlibOptions): InflateRaw; + function createUnzip(options?: ZlibOptions): Unzip; + + type InputType = string | ArrayBuffer | NodeJS.ArrayBufferView; + + type CompressCallback = (error: Error | null, result: Buffer) => void; + + function brotliCompress(buf: InputType, options: BrotliOptions, callback: CompressCallback): void; + function brotliCompress(buf: InputType, callback: CompressCallback): void; + namespace brotliCompress { + function __promisify__(buffer: InputType, options?: BrotliOptions): Promise; + } + + function brotliCompressSync(buf: InputType, options?: BrotliOptions): Buffer; + + function brotliDecompress(buf: InputType, options: BrotliOptions, callback: CompressCallback): void; + function brotliDecompress(buf: InputType, callback: CompressCallback): void; + namespace brotliDecompress { + function __promisify__(buffer: InputType, options?: BrotliOptions): Promise; + } + + function brotliDecompressSync(buf: InputType, options?: BrotliOptions): Buffer; + + function deflate(buf: InputType, callback: CompressCallback): void; + function deflate(buf: InputType, options: ZlibOptions, callback: CompressCallback): void; + namespace deflate { + function __promisify__(buffer: InputType, options?: ZlibOptions): Promise; + } + + function deflateSync(buf: InputType, options?: ZlibOptions): Buffer; + + function deflateRaw(buf: InputType, callback: CompressCallback): void; + function deflateRaw(buf: InputType, options: ZlibOptions, callback: CompressCallback): void; + namespace deflateRaw { + function __promisify__(buffer: InputType, options?: ZlibOptions): Promise; + } + + function deflateRawSync(buf: InputType, options?: ZlibOptions): Buffer; + + function gzip(buf: InputType, callback: CompressCallback): void; + function gzip(buf: InputType, options: ZlibOptions, callback: CompressCallback): void; + namespace gzip { + function __promisify__(buffer: InputType, options?: ZlibOptions): Promise; + } + + function gzipSync(buf: InputType, options?: ZlibOptions): Buffer; + + function gunzip(buf: InputType, callback: CompressCallback): void; + function gunzip(buf: InputType, options: ZlibOptions, callback: CompressCallback): void; + namespace gunzip { + function __promisify__(buffer: InputType, options?: ZlibOptions): Promise; + } + + function gunzipSync(buf: InputType, options?: ZlibOptions): Buffer; + + function inflate(buf: InputType, callback: CompressCallback): void; + function inflate(buf: InputType, options: ZlibOptions, callback: CompressCallback): void; + namespace inflate { + function __promisify__(buffer: InputType, options?: ZlibOptions): Promise; + } + + function inflateSync(buf: InputType, options?: ZlibOptions): Buffer; + + function inflateRaw(buf: InputType, callback: CompressCallback): void; + function inflateRaw(buf: InputType, options: ZlibOptions, callback: CompressCallback): void; + namespace inflateRaw { + function __promisify__(buffer: InputType, options?: ZlibOptions): Promise; + } + + function inflateRawSync(buf: InputType, options?: ZlibOptions): Buffer; + + function unzip(buf: InputType, callback: CompressCallback): void; + function unzip(buf: InputType, options: ZlibOptions, callback: CompressCallback): void; + namespace unzip { + function __promisify__(buffer: InputType, options?: ZlibOptions): Promise; + } + + function unzipSync(buf: InputType, options?: ZlibOptions): Buffer; + + namespace constants { + const BROTLI_DECODE: number; + const BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES: number; + const BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP: number; + const BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES: number; + const BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1: number; + const BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2: number; + const BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS: number; + const BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET: number; + const BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1: number; + const BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2: number; + const BROTLI_DECODER_ERROR_FORMAT_CL_SPACE: number; + const BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT: number; + const BROTLI_DECODER_ERROR_FORMAT_DICTIONARY: number; + const BROTLI_DECODER_ERROR_FORMAT_DISTANCE: number; + const BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE: number; + const BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE: number; + const BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE: number; + const BROTLI_DECODER_ERROR_FORMAT_PADDING_1: number; + const BROTLI_DECODER_ERROR_FORMAT_PADDING_2: number; + const BROTLI_DECODER_ERROR_FORMAT_RESERVED: number; + const BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET: number; + const BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME: number; + const BROTLI_DECODER_ERROR_FORMAT_TRANSFORM: number; + const BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS: number; + const BROTLI_DECODER_ERROR_INVALID_ARGUMENTS: number; + const BROTLI_DECODER_ERROR_UNREACHABLE: number; + const BROTLI_DECODER_NEEDS_MORE_INPUT: number; + const BROTLI_DECODER_NEEDS_MORE_OUTPUT: number; + const BROTLI_DECODER_NO_ERROR: number; + const BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION: number; + const BROTLI_DECODER_PARAM_LARGE_WINDOW: number; + const BROTLI_DECODER_RESULT_ERROR: number; + const BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT: number; + const BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT: number; + const BROTLI_DECODER_RESULT_SUCCESS: number; + const BROTLI_DECODER_SUCCESS: number; + + const BROTLI_DEFAULT_MODE: number; + const BROTLI_DEFAULT_QUALITY: number; + const BROTLI_DEFAULT_WINDOW: number; + const BROTLI_ENCODE: number; + const BROTLI_LARGE_MAX_WINDOW_BITS: number; + const BROTLI_MAX_INPUT_BLOCK_BITS: number; + const BROTLI_MAX_QUALITY: number; + const BROTLI_MAX_WINDOW_BITS: number; + const BROTLI_MIN_INPUT_BLOCK_BITS: number; + const BROTLI_MIN_QUALITY: number; + const BROTLI_MIN_WINDOW_BITS: number; + + const BROTLI_MODE_FONT: number; + const BROTLI_MODE_GENERIC: number; + const BROTLI_MODE_TEXT: number; + + const BROTLI_OPERATION_EMIT_METADATA: number; + const BROTLI_OPERATION_FINISH: number; + const BROTLI_OPERATION_FLUSH: number; + const BROTLI_OPERATION_PROCESS: number; + + const BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING: number; + const BROTLI_PARAM_LARGE_WINDOW: number; + const BROTLI_PARAM_LGBLOCK: number; + const BROTLI_PARAM_LGWIN: number; + const BROTLI_PARAM_MODE: number; + const BROTLI_PARAM_NDIRECT: number; + const BROTLI_PARAM_NPOSTFIX: number; + const BROTLI_PARAM_QUALITY: number; + const BROTLI_PARAM_SIZE_HINT: number; + + const DEFLATE: number; + const DEFLATERAW: number; + const GUNZIP: number; + const GZIP: number; + const INFLATE: number; + const INFLATERAW: number; + const UNZIP: number; + + // Allowed flush values. + const Z_NO_FLUSH: number; + const Z_PARTIAL_FLUSH: number; + const Z_SYNC_FLUSH: number; + const Z_FULL_FLUSH: number; + const Z_FINISH: number; + const Z_BLOCK: number; + const Z_TREES: number; + + // Return codes for the compression/decompression functions. + // Negative values are errors, positive values are used for special but normal events. + const Z_OK: number; + const Z_STREAM_END: number; + const Z_NEED_DICT: number; + const Z_ERRNO: number; + const Z_STREAM_ERROR: number; + const Z_DATA_ERROR: number; + const Z_MEM_ERROR: number; + const Z_BUF_ERROR: number; + const Z_VERSION_ERROR: number; + + // Compression levels. + const Z_NO_COMPRESSION: number; + const Z_BEST_SPEED: number; + const Z_BEST_COMPRESSION: number; + const Z_DEFAULT_COMPRESSION: number; + + // Compression strategy. + const Z_FILTERED: number; + const Z_HUFFMAN_ONLY: number; + const Z_RLE: number; + const Z_FIXED: number; + const Z_DEFAULT_STRATEGY: number; + + const Z_DEFAULT_WINDOWBITS: number; + const Z_MIN_WINDOWBITS: number; + const Z_MAX_WINDOWBITS: number; + + const Z_MIN_CHUNK: number; + const Z_MAX_CHUNK: number; + const Z_DEFAULT_CHUNK: number; + + const Z_MIN_MEMLEVEL: number; + const Z_MAX_MEMLEVEL: number; + const Z_DEFAULT_MEMLEVEL: number; + + const Z_MIN_LEVEL: number; + const Z_MAX_LEVEL: number; + const Z_DEFAULT_LEVEL: number; + + const ZLIB_VERNUM: number; + } + + // Allowed flush values. + /** @deprecated Use `constants.Z_NO_FLUSH` */ + const Z_NO_FLUSH: number; + /** @deprecated Use `constants.Z_PARTIAL_FLUSH` */ + const Z_PARTIAL_FLUSH: number; + /** @deprecated Use `constants.Z_SYNC_FLUSH` */ + const Z_SYNC_FLUSH: number; + /** @deprecated Use `constants.Z_FULL_FLUSH` */ + const Z_FULL_FLUSH: number; + /** @deprecated Use `constants.Z_FINISH` */ + const Z_FINISH: number; + /** @deprecated Use `constants.Z_BLOCK` */ + const Z_BLOCK: number; + /** @deprecated Use `constants.Z_TREES` */ + const Z_TREES: number; + + // Return codes for the compression/decompression functions. + // Negative values are errors, positive values are used for special but normal events. + /** @deprecated Use `constants.Z_OK` */ + const Z_OK: number; + /** @deprecated Use `constants.Z_STREAM_END` */ + const Z_STREAM_END: number; + /** @deprecated Use `constants.Z_NEED_DICT` */ + const Z_NEED_DICT: number; + /** @deprecated Use `constants.Z_ERRNO` */ + const Z_ERRNO: number; + /** @deprecated Use `constants.Z_STREAM_ERROR` */ + const Z_STREAM_ERROR: number; + /** @deprecated Use `constants.Z_DATA_ERROR` */ + const Z_DATA_ERROR: number; + /** @deprecated Use `constants.Z_MEM_ERROR` */ + const Z_MEM_ERROR: number; + /** @deprecated Use `constants.Z_BUF_ERROR` */ + const Z_BUF_ERROR: number; + /** @deprecated Use `constants.Z_VERSION_ERROR` */ + const Z_VERSION_ERROR: number; + + // Compression levels. + /** @deprecated Use `constants.Z_NO_COMPRESSION` */ + const Z_NO_COMPRESSION: number; + /** @deprecated Use `constants.Z_BEST_SPEED` */ + const Z_BEST_SPEED: number; + /** @deprecated Use `constants.Z_BEST_COMPRESSION` */ + const Z_BEST_COMPRESSION: number; + /** @deprecated Use `constants.Z_DEFAULT_COMPRESSION` */ + const Z_DEFAULT_COMPRESSION: number; + + // Compression strategy. + /** @deprecated Use `constants.Z_FILTERED` */ + const Z_FILTERED: number; + /** @deprecated Use `constants.Z_HUFFMAN_ONLY` */ + const Z_HUFFMAN_ONLY: number; + /** @deprecated Use `constants.Z_RLE` */ + const Z_RLE: number; + /** @deprecated Use `constants.Z_FIXED` */ + const Z_FIXED: number; + /** @deprecated Use `constants.Z_DEFAULT_STRATEGY` */ + const Z_DEFAULT_STRATEGY: number; + + /** @deprecated */ + const Z_BINARY: number; + /** @deprecated */ + const Z_TEXT: number; + /** @deprecated */ + const Z_ASCII: number; + /** @deprecated */ + const Z_UNKNOWN: number; + /** @deprecated */ + const Z_DEFLATED: number; +} diff --git a/node_modules/@zeit/ncc/LICENSE b/node_modules/@zeit/ncc/LICENSE new file mode 100644 index 0000000..1a69ac8 --- /dev/null +++ b/node_modules/@zeit/ncc/LICENSE @@ -0,0 +1,7 @@ +Copyright 2018 ZEIT, Inc. + +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. \ No newline at end of file diff --git a/node_modules/@zeit/ncc/dist/ncc/@@notfound.js b/node_modules/@zeit/ncc/dist/ncc/@@notfound.js new file mode 100644 index 0000000..6fdcb57 --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/@@notfound.js @@ -0,0 +1 @@ +module.exports = __non_webpack_require__('UNKNOWN'); diff --git a/node_modules/@zeit/ncc/dist/ncc/buildin/readme.md b/node_modules/@zeit/ncc/dist/ncc/buildin/readme.md new file mode 100644 index 0000000..9100d39 --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/buildin/readme.md @@ -0,0 +1,7 @@ +# About this directory + +This directory will contain the webpack built-ins, like +`module.js`, so that they can be accessed by webpack when +it's being executeed inside the bundled ncc file. + +These files are published to npm. diff --git a/node_modules/@zeit/ncc/dist/ncc/cli.js b/node_modules/@zeit/ncc/dist/ncc/cli.js new file mode 100755 index 0000000..8be2056 --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/cli.js @@ -0,0 +1,7 @@ +#!/usr/bin/env node +const { readFileSync, writeFileSync } = require('fs'), { Script } = require('vm'), { wrap } = require('module'); +const source = readFileSync(__dirname + '/cli.js.cache.js', 'utf-8'); +const cachedData = !process.pkg && require('process').platform !== 'win32' && readFileSync(__dirname + '/cli.js.cache'); +const script = new Script(wrap(source), cachedData ? { cachedData } : {}); +(script.runInThisContext())(exports, require, module, __filename, __dirname); +if (cachedData) process.on('exit', () => { try { writeFileSync(__dirname + '/cli.js.cache', script.createCachedData()); } catch(e) {} }); diff --git a/node_modules/@zeit/ncc/dist/ncc/cli.js.cache b/node_modules/@zeit/ncc/dist/ncc/cli.js.cache new file mode 100644 index 0000000..f917a69 Binary files /dev/null and b/node_modules/@zeit/ncc/dist/ncc/cli.js.cache differ diff --git a/node_modules/@zeit/ncc/dist/ncc/cli.js.cache.js b/node_modules/@zeit/ncc/dist/ncc/cli.js.cache.js new file mode 100644 index 0000000..a0e24f1 --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/cli.js.cache.js @@ -0,0 +1 @@ +module.exports=function(t,e){"use strict";var r={};function __webpack_require__(e){if(r[e]){return r[e].exports}var n=r[e]={i:e,l:false,exports:{}};t[e].call(n.exports,n,n.exports,__webpack_require__);n.l=true;return n.exports}__webpack_require__.ab=__dirname+"/";function startup(){return __webpack_require__(819)}return startup()}({8:function(t,e,r){t.exports=rimraf;rimraf.sync=rimrafSync;var n=r(357);var i=r(622);var o=r(747);var s=undefined;try{s=r(750)}catch(t){}var a=parseInt("666",8);var c={nosort:true,silent:true};var u=0;var f=process.platform==="win32";function defaults(t){var e=["unlink","chmod","stat","lstat","rmdir","readdir"];e.forEach(function(e){t[e]=t[e]||o[e];e=e+"Sync";t[e]=t[e]||o[e]});t.maxBusyTries=t.maxBusyTries||3;t.emfileWait=t.emfileWait||1e3;if(t.glob===false){t.disableGlob=true}if(t.disableGlob!==true&&s===undefined){throw Error("glob dependency not found, set `options.disableGlob = true` if intentional")}t.disableGlob=t.disableGlob||false;t.glob=t.glob||c}function rimraf(t,e,r){if(typeof e==="function"){r=e;e={}}n(t,"rimraf: missing path");n.equal(typeof t,"string","rimraf: path should be a string");n.equal(typeof r,"function","rimraf: callback function required");n(e,"rimraf: invalid options argument provided");n.equal(typeof e,"object","rimraf: options should be object");defaults(e);var i=0;var o=null;var a=0;if(e.disableGlob||!s.hasMagic(t))return afterGlob(null,[t]);e.lstat(t,function(r,n){if(!r)return afterGlob(null,[t]);s(t,e.glob,afterGlob)});function next(t){o=o||t;if(--a===0)r(o)}function afterGlob(t,n){if(t)return r(t);a=n.length;if(a===0)return r();n.forEach(function(t){rimraf_(t,e,function CB(r){if(r){if((r.code==="EBUSY"||r.code==="ENOTEMPTY"||r.code==="EPERM")&&i{if(r){return a(r)}o(n,(r,n)=>{readSizeRecursive(t,i.join(e,r),c,(t,e)=>{if(!t){u+=e}n(t)})},t=>{a(t,u)})})}else{if(c&&c.test(e)){u=0}a(r,u)}})}t.exports=((...t)=>{t.unshift(new Set);return readSizeRecursive(...t)})},87:function(t){t.exports=require("os")},129:function(t){t.exports=require("child_process")},215:function(t,e,r){var n=r(551);var i=r(835);t.exports=expandTop;var o="\0SLASH"+Math.random()+"\0";var s="\0OPEN"+Math.random()+"\0";var a="\0CLOSE"+Math.random()+"\0";var c="\0COMMA"+Math.random()+"\0";var u="\0PERIOD"+Math.random()+"\0";function numeric(t){return parseInt(t,10)==t?parseInt(t,10):t.charCodeAt(0)}function escapeBraces(t){return t.split("\\\\").join(o).split("\\{").join(s).split("\\}").join(a).split("\\,").join(c).split("\\.").join(u)}function unescapeBraces(t){return t.split(o).join("\\").split(s).join("{").split(a).join("}").split(c).join(",").split(u).join(".")}function parseCommaParts(t){if(!t)return[""];var e=[];var r=i("{","}",t);if(!r)return t.split(",");var n=r.pre;var o=r.body;var s=r.post;var a=n.split(",");a[a.length-1]+="{"+o+"}";var c=parseCommaParts(s);if(s.length){a[a.length-1]+=c.shift();a.push.apply(a,c)}e.push.apply(e,a);return e}function expandTop(t){if(!t)return[];if(t.substr(0,2)==="{}"){t="\\{\\}"+t.substr(2)}return expand(escapeBraces(t),true).map(unescapeBraces)}function identity(t){return t}function embrace(t){return"{"+t+"}"}function isPadded(t){return/^-?0\d/.test(t)}function lte(t,e){return t<=e}function gte(t,e){return t>=e}function expand(t,e){var r=[];var o=i("{","}",t);if(!o||/\$$/.test(o.pre))return[t];var s=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(o.body);var c=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(o.body);var u=s||c;var f=o.body.indexOf(",")>=0;if(!u&&!f){if(o.post.match(/,.*\}/)){t=o.pre+"{"+o.body+a+o.post;return expand(t)}return[t]}var h;if(u){h=o.body.split(/\.\./)}else{h=parseCommaParts(o.body);if(h.length===1){h=expand(h[0],false).map(embrace);if(h.length===1){var l=o.post.length?expand(o.post,false):[""];return l.map(function(t){return o.pre+h[0]+t})}}}var p=o.pre;var l=o.post.length?expand(o.post,false):[""];var d;if(u){var v=numeric(h[0]);var m=numeric(h[1]);var y=Math.max(h[0].length,h[1].length);var b=h.length==3?Math.abs(numeric(h[2])):1;var _=lte;var g=m0){var O=new Array(S+1).join("0");if(k<0)E="-"+O+E.slice(1);else E=O+E}}}d.push(E)}}else{d=n(h,function(t){return expand(t,false)})}for(var j=0;jthis.maxLength)return false;if(!this.stat&&m(this.cache,e)){var i=this.cache[e];if(Array.isArray(i))i="DIR";if(!r||i==="DIR")return i;if(r&&i==="FILE")return false}var o;var s=this.statCache[e];if(!s){var a;try{a=n.lstatSync(e)}catch(t){if(t&&(t.code==="ENOENT"||t.code==="ENOTDIR")){this.statCache[e]=false;return false}}if(a&&a.isSymbolicLink()){try{s=n.statSync(e)}catch(t){s=a}}else{s=a}}this.statCache[e]=s;var i=true;if(s)i=s.isDirectory()?"DIR":"FILE";this.cache[e]=this.cache[e]||i;if(r&&i==="FILE")return false;return i};GlobSync.prototype._mark=function(t){return l.mark(this,t)};GlobSync.prototype._makeAbs=function(t){return l.makeAbs(this,t)}},407:function(t){t.exports={name:"@zeit/ncc",version:"0.22.1",repository:"zeit/ncc",license:"MIT",main:"./dist/ncc/index.js",bin:{ncc:"./dist/ncc/cli.js"},scripts:{build:"node scripts/build","build-test-binary":"cd test/binary && node-gyp rebuild && cp build/Release/hello.node ../integration/hello.node",codecov:"codecov",test:"node --expose-gc --max_old_space_size=3072 node_modules/.bin/jest","test-coverage":'node --expose-gc --max_old_space_size=3072 node_modules/.bin/jest --coverage --globals "{\\"coverage\\":true}" && codecov',prepublish:"in-publish && npm test || not-in-publish"},devDependencies:{"@azure/cosmos":"^2.0.5","@bugsnag/js":"^5.0.1","@ffmpeg-installer/ffmpeg":"^1.0.17","@google-cloud/bigquery":"^2.0.1","@google-cloud/firestore":"^2.2.0","@sentry/node":"^4.3.0","@tensorflow/tfjs-node":"^0.3.0","@zeit/webpack-asset-relocator-loader":"0.6.4","analytics-node":"^3.3.0","apollo-server-express":"^2.2.2",arg:"^4.1.0",auth0:"^2.14.0","aws-sdk":"^2.356.0",axios:"^0.18.1","azure-storage":"^2.10.2","browserify-middleware":"^8.1.1",bytes:"^3.0.0",canvas:"^2.2.0",chromeless:"^1.5.2",codecov:"^3.6.5",consolidate:"^0.15.1",copy:"^0.3.2","core-js":"^2.5.7",cowsay:"^1.3.1",esm:"^3.2.22",express:"^4.16.4","fetch-h2":"^1.0.2",firebase:"^6.1.1","firebase-admin":"^6.3.0","fluent-ffmpeg":"^2.1.2",fontkit:"^1.7.7","get-folder-size":"^2.0.0",glob:"^7.1.3",got:"^9.3.2","graceful-fs":"^4.1.15",graphql:"^14.0.2",highlights:"^3.1.1","hot-shots":"^5.9.2","in-publish":"^2.0.0",ioredis:"^4.2.0","isomorphic-unfetch":"^3.0.0",jest:"^23.6.0",jimp:"^0.5.6",jugglingdb:"2.0.1",koa:"^2.6.2",leveldown:"^5.6.0",lighthouse:"^5.0.0",loopback:"^3.24.0",mailgun:"^0.5.0",mariadb:"^2.0.1-beta",memcached:"^2.2.2",mkdirp:"^0.5.1",mongoose:"^5.3.12",mysql:"^2.16.0","node-gyp":"^3.8.0",npm:"^6.13.4",oracledb:"^4.2.0",passport:"^0.4.0","passport-google-oauth":"^1.0.0","path-platform":"^0.11.15",pdf2json:"^1.1.8",pdfkit:"^0.8.3",pg:"^7.6.1",pug:"^2.0.3",react:"^16.6.3","react-dom":"^16.6.3",redis:"^2.8.0",request:"^2.88.0",rxjs:"^6.3.3",saslprep:"^1.0.2",sequelize:"^5.8.6",sharp:"^0.25.2","shebang-loader":"^0.0.1","socket.io":"^2.2.0","source-map-support":"^0.5.9",stripe:"^6.15.0",swig:"^1.4.2",terser:"^3.11.0","the-answer":"^1.0.0","tiny-json-http":"^7.0.2","ts-loader":"^5.3.1","tsconfig-paths":"^3.7.0","tsconfig-paths-webpack-plugin":"^3.2.0",twilio:"^3.23.2",typescript:"^3.2.2",vm2:"^3.6.6",vue:"^2.5.17","vue-server-renderer":"^2.5.17",webpack:"5.0.0-alpha.17",when:"^3.7.8"}}},411:function(t,e,r){var n=r(622);var i=process.platform==="win32";var o=r(747);var s=process.env.NODE_DEBUG&&/fs/.test(process.env.NODE_DEBUG);function rethrow(){var t;if(s){var e=new Error;t=debugCallback}else t=missingCallback;return t;function debugCallback(t){if(t){e.message=t.message;t=e;missingCallback(t)}}function missingCallback(t){if(t){if(process.throwDeprecation)throw t;else if(!process.noDeprecation){var e="fs: missing callback "+(t.stack||t.message);if(process.traceDeprecation)console.trace(e);else console.error(e)}}}}function maybeCallback(t){return typeof t==="function"?t:rethrow()}var a=n.normalize;if(i){var c=/(.*?)(?:[\/\\]+|$)/g}else{var c=/(.*?)(?:[\/]+|$)/g}if(i){var u=/^(?:[a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/][^\\\/]+)?[\\\/]*/}else{var u=/^[\/]*/}e.realpathSync=function realpathSync(t,e){t=n.resolve(t);if(e&&Object.prototype.hasOwnProperty.call(e,t)){return e[t]}var r=t,s={},a={};var f;var h;var l;var p;start();function start(){var e=u.exec(t);f=e[0].length;h=e[0];l=e[0];p="";if(i&&!a[l]){o.lstatSync(l);a[l]=true}}while(f=t.length){if(e)e[s]=t;return r(null,t)}c.lastIndex=h;var n=c.exec(t);d=l;l+=n[0];p=d+n[1];h=c.lastIndex;if(f[p]||e&&e[p]===p){return process.nextTick(LOOP)}if(e&&Object.prototype.hasOwnProperty.call(e,p)){return gotResolvedLink(e[p])}return o.lstat(p,gotStat)}function gotStat(t,n){if(t)return r(t);if(!n.isSymbolicLink()){f[p]=true;if(e)e[p]=p;return process.nextTick(LOOP)}if(!i){var s=n.dev.toString(32)+":"+n.ino.toString(32);if(a.hasOwnProperty(s)){return gotTarget(null,a[s],p)}}o.stat(p,function(t){if(t)return r(t);o.readlink(p,function(t,e){if(!i)a[s]=e;gotTarget(t,e)})})}function gotTarget(t,i,o){if(t)return r(t);var s=n.resolve(d,i);if(e)e[o]=s;gotResolvedLink(s)}function gotResolvedLink(e){t=n.resolve(e,t.slice(h));start()}}},417:function(t){t.exports=require("crypto")},474:function(t){if(typeof Object.create==="function"){t.exports=function inherits(t,e){if(e){t.super_=e;t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:false,writable:true,configurable:true}})}}}else{t.exports=function inherits(t,e){if(e){t.super_=e;var r=function(){};r.prototype=e.prototype;t.prototype=new r;t.prototype.constructor=t}}}},481:function(t,e,r){var n=r(687);t.exports=n(once);t.exports.strict=n(onceStrict);once.proto=once(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return once(this)},configurable:true});Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return onceStrict(this)},configurable:true})});function once(t){var e=function(){if(e.called)return e.value;e.called=true;return e.value=t.apply(this,arguments)};e.called=false;return e}function onceStrict(t){var e=function(){if(e.called)throw new Error(e.onceError);e.called=true;return e.value=t.apply(this,arguments)};var r=t.name||"Function wrapped with `once`";e.onceError=r+" shouldn't be called more than once";e.called=false;return e}},485:function(t,e,r){var n=r(622);var i=r(747);var o=parseInt("0777",8);t.exports=mkdirP.mkdirp=mkdirP.mkdirP=mkdirP;function mkdirP(t,e,r,s){if(typeof e==="function"){r=e;e={}}else if(!e||typeof e!=="object"){e={mode:e}}var a=e.mode;var c=e.fs||i;if(a===undefined){a=o&~process.umask()}if(!s)s=null;var u=r||function(){};t=n.resolve(t);c.mkdir(t,a,function(r){if(!r){s=s||t;return u(null,s)}switch(r.code){case"ENOENT":mkdirP(n.dirname(t),e,function(r,n){if(r)u(r,n);else mkdirP(t,e,u,n)});break;default:c.stat(t,function(t,e){if(t||!e.isDirectory())u(r,s);else u(null,s)});break}})}mkdirP.sync=function sync(t,e,r){if(!e||typeof e!=="object"){e={mode:e}}var s=e.mode;var a=e.fs||i;if(s===undefined){s=o&~process.umask()}if(!r)r=null;t=n.resolve(t);try{a.mkdirSync(t,s);r=r||t}catch(i){switch(i.code){case"ENOENT":r=sync(n.dirname(t),e,r);sync(t,e,r);break;default:var c;try{c=a.statSync(t)}catch(t){throw i}if(!c.isDirectory())throw i;break}}return r}},551:function(t){t.exports=function(t,r){var n=[];for(var i=0;i1024*64){throw new TypeError("pattern is too long")}var r=this.options;if(!r.noglobstar&&t==="**")return i;if(t==="")return"";var n="";var o=!!r.nocase;var u=false;var f=[];var l=[];var d;var v=false;var m=-1;var y=-1;var b=t.charAt(0)==="."?"":r.dot?"(?!(?:^|\\/)\\.{1,2}(?:$|\\/))":"(?!\\.)";var _=this;function clearStateChar(){if(d){switch(d){case"*":n+=c;o=true;break;case"?":n+=a;o=true;break;default:n+="\\"+d;break}_.debug("clearStateChar %j %j",d,n);d=false}}for(var g=0,w=t.length,k;g-1;G--){var M=l[G];var I=n.slice(0,M.reStart);var C=n.slice(M.reStart,M.reEnd-8);var D=n.slice(M.reEnd-8,M.reEnd);var R=n.slice(M.reEnd);D+=R;var P=I.split("(").length-1;var $=R;for(g=0;g=0;s--){o=t[s];if(o)break}for(s=0;s>> no match, partial?",t,h,e,l);if(h===a)return true}return false}var d;if(typeof u==="string"){if(n.nocase){d=f.toLowerCase()===u.toLowerCase()}else{d=f===u}this.debug("string match",u,f,d)}else{d=f.match(u);this.debug("pattern match",u,f,d)}if(!d)return false}if(o===a&&s===c){return true}else if(o===a){return r}else if(s===c){var v=o===a-1&&t[o]==="";return v}throw new Error("wtf?")};function globUnescape(t){return t.replace(/\\(.)/g,"$1")}function regExpEscape(t){return t.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}},669:function(t){t.exports=require("util")},681:function(t){t.exports=/^#![^\n\r]*[\r\n]/},687:function(t){t.exports=wrappy;function wrappy(t,e){if(t&&e)return wrappy(t)(e);if(typeof t!=="function")throw new TypeError("need wrapper function");Object.keys(t).forEach(function(e){wrapper[e]=t[e]});return wrapper;function wrapper(){var e=new Array(arguments.length);for(var r=0;r1)return true;for(var o=0;othis.maxLength)return e();if(!this.stat&&y(this.cache,r)){var o=this.cache[r];if(Array.isArray(o))o="DIR";if(!i||o==="DIR")return e(null,o);if(i&&o==="FILE")return e()}var s;var a=this.statCache[r];if(a!==undefined){if(a===false)return e(null,a);else{var c=a.isDirectory()?"DIR":"FILE";if(i&&c==="FILE")return e();else return e(null,c,a)}}var u=this;var f=b("stat\0"+r,lstatcb_);if(f)n.lstat(r,f);function lstatcb_(i,o){if(o&&o.isSymbolicLink()){return n.stat(r,function(n,i){if(n)u._stat2(t,r,null,o,e);else u._stat2(t,r,n,i,e)})}else{u._stat2(t,r,i,o,e)}}};Glob.prototype._stat2=function(t,e,r,n,i){if(r&&(r.code==="ENOENT"||r.code==="ENOTDIR")){this.statCache[e]=false;return i()}var o=t.slice(-1)==="/";this.statCache[e]=n;if(e.slice(-1)==="/"&&n&&!n.isDirectory())return i(null,false,n);var s=true;if(n)s=n.isDirectory()?"DIR":"FILE";this.cache[e]=this.cache[e]||s;if(o&&s==="FILE")return i();return i(null,s,n)}},753:function(t,e,r){var n=r(687);var i=Object.create(null);var o=r(481);t.exports=n(inflight);function inflight(t,e){if(i[t]){i[t].push(e);return null}else{i[t]=[e];return makeres(t)}}function makeres(t){return o(function RES(){var e=i[t];var r=e.length;var n=slice(arguments);try{for(var o=0;or){e.splice(0,r);process.nextTick(function(){RES.apply(null,n)})}else{delete i[t]}}})}function slice(t){var e=t.length;var r=[];for(var n=0;n \n\nCommands:\n build [opts]\n run [opts]\n cache clean|dir|size\n help\n version\n\nOptions:\n -o, --out [file] Output directory for build (defaults to dist)\n -m, --minify Minify output\n -C, --no-cache Skip build cache population\n -s, --source-map Generate source map\n --no-source-map-register Skip source-map-register source map support\n -e, --external [mod] Skip bundling 'mod'. Can be used many times\n -q, --quiet Disable build summaries / non-error outputs\n -w, --watch Start a watched build\n -t, --transpile-only Use transpileOnly option with the ts-loader\n --v8-cache Emit a build using the v8 compile cache\n --stats-out [file] Emit webpack stats as json to the specified output file\n`;let api=false;if(require.main===require.cache[eval("__filename")]){runCmd(process.argv.slice(2),process.stdout,process.stderr).then(t=>{if(!t)process.exit()}).catch(t=>{if(!t.silent)console.error(t.nccError?t.message:t);process.exit(t.exitCode||1)})}else{module.exports=runCmd;api=true}function renderSummary(t,e,r,n,i,o){if(i&&!i.endsWith(sep))i+=sep;const s=Math.round(Buffer.byteLength(t,"utf8")/1024);const a=e?Math.round(Buffer.byteLength(e,"utf8")/1024):0;const c=Object.create(null);let u=s;let f=8+(e?4:0);for(const t of Object.keys(r)){const e=r[t].source;const n=Math.round((e.byteLength||Buffer.byteLength(e,"utf8"))/1024);c[t]=n;u+=n;if(t.length>f)f=t.length}const h=Object.keys(r).sort((t,e)=>c[t]>c[e]?1:-1);const l=u.toString().length;let p=`${s.toString().padStart(l," ")}kB ${i}index${n}`;let d=e?`${a.toString().padStart(l," ")}kB ${i}index${n}.map`:"";let v="",m=true;for(const t of h){if(m)m=false;else v+="\n";if(s2)errTooManyArguments("cache");const flags=Object.keys(args).filter(t=>t.startsWith("--"));if(flags.length)errFlagNotCompatible(flags[0],"cache");const cacheDir=__webpack_require__(946);switch(args._[1]){case"clean":rimraf.sync(cacheDir);break;case"dir":stdout.write(cacheDir+"\n");break;case"size":__webpack_require__(74)(cacheDir,(t,e)=>{if(t){if(t.code==="ENOENT"){stdout.write("0MB\n");return}throw t}stdout.write(`${(e/1024/1024).toFixed(2)}MB\n`)});break;default:errInvalidCommand("cache "+args._[1])}break;case"run":if(args._.length>2)errTooManyArguments("run");if(args["--out"])errFlagNotCompatible("--out","run");if(args["--watch"])errFlagNotCompatible("--watch","run");outDir=resolve(__webpack_require__(87).tmpdir(),crypto.createHash("md5").update(resolve(args._[1]||".")).digest("hex"));if(existsSync(outDir))rimraf.sync(outDir);run=true;case"build":if(args._.length>2)errTooManyArguments("build");let startTime=Date.now();let ps;const buildFile=eval("require.resolve")(resolve(args._[1]||"."));const ext=buildFile.endsWith(".cjs")?".cjs":".js";const ncc=__webpack_require__(612)(buildFile,{debugLog:args["--debug"],minify:args["--minify"],externals:args["--external"],sourceMap:args["--source-map"]||run,sourceMapRegister:args["--no-source-map-register"]?false:undefined,cache:args["--no-cache"]?false:undefined,watch:args["--watch"],v8cache:args["--v8-cache"],transpileOnly:args["--transpile-only"],quiet:quiet});async function handler({err:t,code:e,map:r,assets:n,symlinks:i,stats:o}){if(t){stderr.write(t+"\n");stdout.write("Watching for changes...\n");return}outDir=outDir||resolve("dist");mkdirp.sync(outDir);await Promise.all((await new Promise((t,e)=>glob(outDir+"/**/*.(js|cjs)",(r,n)=>r?e(r):t(n)))).map(t=>new Promise((e,r)=>unlink(t,t=>t?r(t):e()))));writeFileSync(`${outDir}/index${ext}`,e,{mode:e.match(shebangRegEx)?511:438});if(r)writeFileSync(`${outDir}/index${ext}.map`,r);for(const t of Object.keys(n)){const e=outDir+"/"+t;mkdirp.sync(dirname(e));writeFileSync(e,n[t].source,{mode:n[t].permissions})}for(const t of Object.keys(i)){const e=outDir+"/"+t;symlinkSync(i[t],e)}if(!quiet){stdout.write(renderSummary(e,r,n,ext,run?"":relative(process.cwd(),outDir),Date.now()-startTime)+"\n");if(args["--watch"])stdout.write("Watching for changes...\n")}if(statsOutFile)writeFileSync(statsOutFile,JSON.stringify(o.toJson()));if(run){const t=resolve("/node_modules");let e=dirname(buildFile)+"/node_modules";do{if(e===t){e=undefined;break}if(existsSync(e))break}while(e=resolve(e,"../../node_modules"));if(e)symlinkSync(e,outDir+"/node_modules","junction");ps=__webpack_require__(129).fork(`${outDir}/index${ext}`,{stdio:api?"pipe":"inherit"});if(api){ps.stdout.pipe(stdout);ps.stderr.pipe(stderr)}return new Promise((t,e)=>{function exit(r){__webpack_require__(8).sync(outDir);if(r===0)t();else e({silent:true,exitCode:r});process.off("SIGTERM",exit);process.off("SIGINT",exit)}ps.on("exit",exit);process.on("SIGTERM",exit);process.on("SIGINT",exit)})}}if(args["--watch"]){ncc.handler(handler);ncc.rebuild(()=>{if(ps)ps.kill();startTime=Date.now();stdout.write("File change, rebuilding...\n")});return true}else{return ncc.then(handler)}break;case"help":nccError(usage,2);case"version":stdout.write(__webpack_require__(407).version+"\n");break;default:errInvalidCommand(args._[0],2)}function errTooManyArguments(t){nccError(`Error: Too many ${t} arguments provided\n${usage}`,2)}function errFlagNotCompatible(t,e){nccError(`Error: ${t} flag is not compatible with ncc ${e}\n${usage}`,2)}function errInvalidCommand(t){nccError(`Error: Invalid command "${t}"\n${usage}`,2)}process.on("unhandledRejection",t=>{throw t})}},832:function(t){const e=Symbol("arg flag");function arg(t,{argv:r,permissive:n=false,stopAtPositional:i=false}={}){if(!t){throw new Error("Argument specification object is required")}const o={_:[]};r=r||process.argv.slice(2);const s={};const a={};for(const r of Object.keys(t)){if(!r){throw new TypeError("Argument key cannot be an empty string")}if(r[0]!=="-"){throw new TypeError(`Argument key must start with '-' but found: '${r}'`)}if(r.length===1){throw new TypeError(`Argument key must have a name; singular '-' keys are not allowed: ${r}`)}if(typeof t[r]==="string"){s[r]=t[r];continue}let n=t[r];let i=false;if(Array.isArray(n)&&n.length===1&&typeof n[0]==="function"){const[t]=n;n=((e,r,n=[])=>{n.push(t(e,r,n[n.length-1]));return n});i=t===Boolean||t[e]===true}else if(typeof n==="function"){i=n===Boolean||n[e]===true}else{throw new TypeError(`Type missing or not a function or valid array type: ${r}`)}if(r[1]!=="-"&&r.length>2){throw new TypeError(`Short argument keys (with a single hyphen) must have only one character: ${r}`)}a[r]=[n,i]}for(let t=0,e=r.length;t0){o._=o._.concat(r.slice(t));break}if(e==="--"){o._=o._.concat(r.slice(t+1));break}if(e.length>1&&e[0]==="-"){const i=e[1]==="-"||e.length===2?[e]:e.slice(1).split("").map(t=>`-${t}`);for(let e=0;e1&&r[t+1][0]==="-"){const t=u===h?"":` (alias for ${h})`;throw new Error(`Option requires argument: ${u}${t}`)}o[h]=l(r[t+1],h,o[h]);++t}else{o[h]=l(f,h,o[h])}}}else{o._.push(e)}}return o}arg.flag=(t=>{t[e]=true;return t});arg.COUNT=arg.flag((t,e,r)=>(r||0)+1);t.exports=arg},833:function(t){"use strict";t.exports=function eachAsync(t,e,r,n){var i=0;var o=0;var s=t.length-1;var a=false;var c;var u;var f;if(typeof e==="number"){c=e;f=r;u=n||function noop(){}}else{f=e;u=r||function noop(){};c=t.length}if(!t.length){return u()}var h=f.length;var l=function shouldCallNextIterator(){return!a&&i=0&&u>0){n=[];o=r.length;while(f>=0&&!a){if(f==c){n.push(f);c=r.indexOf(t,f+1)}else if(n.length==1){a=[n.pop(),u]}else{i=n.pop();if(i=0?c:u}if(n.length){a=[o,s]}}return a}},909:function(t,e,r){t.exports=realpath;realpath.realpath=realpath;realpath.sync=realpathSync;realpath.realpathSync=realpathSync;realpath.monkeypatch=monkeypatch;realpath.unmonkeypatch=unmonkeypatch;var n=r(747);var i=n.realpath;var o=n.realpathSync;var s=process.version;var a=/^v[0-5]\./.test(s);var c=r(411);function newError(t){return t&&t.syscall==="realpath"&&(t.code==="ELOOP"||t.code==="ENOMEM"||t.code==="ENAMETOOLONG")}function realpath(t,e,r){if(a){return i(t,e,r)}if(typeof e==="function"){r=e;e=null}i(t,e,function(n,i){if(newError(n)){c.realpath(t,e,r)}else{r(n,i)}})}function realpathSync(t,e){if(a){return o(t,e)}try{return o(t,e)}catch(r){if(newError(r)){return c.realpathSync(t,e)}else{throw r}}}function monkeypatch(){n.realpath=realpath;n.realpathSync=realpathSync}function unmonkeypatch(){n.realpath=i;n.realpathSync=o}},946:function(t,e,r){t.exports=r(87).tmpdir()+"/ncc-cache"},963:function(t){"use strict";function posix(t){return t.charAt(0)==="/"}function win32(t){var e=/^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/;var r=e.exec(t);var n=r[1]||"";var i=Boolean(n&&n.charAt(1)!==":");return Boolean(r[2]||i)}t.exports=process.platform==="win32"?win32:posix;t.exports.posix=posix;t.exports.win32=win32}}); \ No newline at end of file diff --git a/node_modules/@zeit/ncc/dist/ncc/index.js b/node_modules/@zeit/ncc/dist/ncc/index.js new file mode 100644 index 0000000..c6de921 --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/index.js @@ -0,0 +1,6 @@ +const { readFileSync, writeFileSync } = require('fs'), { Script } = require('vm'), { wrap } = require('module'); +const source = readFileSync(__dirname + '/index.js.cache.js', 'utf-8'); +const cachedData = !process.pkg && require('process').platform !== 'win32' && readFileSync(__dirname + '/index.js.cache'); +const script = new Script(wrap(source), cachedData ? { cachedData } : {}); +(script.runInThisContext())(exports, require, module, __filename, __dirname); +if (cachedData) process.on('exit', () => { try { writeFileSync(__dirname + '/index.js.cache', script.createCachedData()); } catch(e) {} }); diff --git a/node_modules/@zeit/ncc/dist/ncc/index.js.cache b/node_modules/@zeit/ncc/dist/ncc/index.js.cache new file mode 100644 index 0000000..7b3a7d8 Binary files /dev/null and b/node_modules/@zeit/ncc/dist/ncc/index.js.cache differ diff --git a/node_modules/@zeit/ncc/dist/ncc/index.js.cache.js b/node_modules/@zeit/ncc/dist/ncc/index.js.cache.js new file mode 100644 index 0000000..ff51386 --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/index.js.cache.js @@ -0,0 +1,3 @@ +module.exports=function(e,t){"use strict";var n={};function __webpack_require__(t){if(n[t]){return n[t].exports}var r=n[t]={i:t,l:false,exports:{}};e[t].call(r.exports,r,r.exports,__webpack_require__);r.l=true;return r.exports}__webpack_require__.ab=__dirname+"/";function startup(){return __webpack_require__(7086)}t(__webpack_require__);return startup()}({0:function(e,t,n){"use strict";const r=n(538);const{ConcatSource:i,RawSource:s}=n(2991);const o=n(354);const a=n(2923);const u=n(6867);const c=n(5891);const{relative:l,dirname:f}=n(5396);const d=n(4274);const p=new WeakMap;const h=(e,t,n,r)=>{const i=r.assets[e];const s=p.get(i);if(s&&s.file===e){for(const n in s.assets){r.assets[n]=s.assets[n];if(n!==e)t.files.add(n)}return}let o;let a;if(i.sourceAndMap){const e=i.sourceAndMap(n);a=e.map;o=e.source}else{a=i.map(n);o=i.source()}if(!a||typeof o!=="string")return;const u=a.sources.map(e=>{const t=r.findModule(e);return t||e});return{chunk:t,file:e,asset:i,source:o,sourceMap:a,modules:u}};class SourceMapDevToolPlugin{constructor(e={}){r(d,e,"SourceMap DevTool Plugin");this.sourceMapFilename=e.filename;this.sourceMappingURLComment=e.append===false?false:e.append||"\n//# sourceMappingURL=[url]";this.moduleFilenameTemplate=e.moduleFilenameTemplate||"webpack://[namespace]/[resourcePath]";this.fallbackModuleFilenameTemplate=e.fallbackModuleFilenameTemplate||"webpack://[namespace]/[resourcePath]?[hash]";this.namespace=e.namespace||"";this.options=e}apply(e){const t=e.outputFileSystem;const n=this.sourceMapFilename;const r=this.sourceMappingURLComment;const d=this.moduleFilenameTemplate;const m=this.namespace;const g=this.fallbackModuleFilenameTemplate;const y=e.requestShortener;const v=this.options;v.test=v.test||/\.(m?js|css)($|\?)/i;const b=o.matchObject.bind(undefined,v);e.hooks.compilation.tap("SourceMapDevToolPlugin",e=>{new u(v).apply(e);e.hooks.afterOptimizeChunkAssets.tap("SourceMapDevToolPlugin",u=>{const w=e.chunkGraph;const E=new Map;const _=a.getReporter(e.compiler)||(()=>{});const S=[];for(const e of u){for(const t of e.files){if(b(t)){S.push({file:t,chunk:e})}}}_(0);const k=[];S.forEach(({file:t,chunk:n},r)=>{_(.5*r/S.length,t,"generate SourceMap");const i=h(t,n,v,e);if(i){const e=i.modules;for(let t=0;t{const n=typeof e==="string"?e:e.identifier();const r=typeof t==="string"?t:t.identifier();return n.length-r.length});for(let e=0;e{_(.5+.5*a/k.length,o.file,"attach SourceMap");const u=Object.create(null);const d=o.chunk;const h=o.file;const m=o.asset;const g=o.sourceMap;const y=o.source;const b=o.modules;const w=b.map(e=>E.get(e));g.sources=w;if(v.noSources){g.sourcesContent=undefined}g.sourceRoot=v.sourceRoot||"";g.file=h;p.set(m,{file:h,assets:u});let S=r;if(S!==false&&/\.css($|\?)/i.test(h)){S=S.replace(/^\n\/\/(.*)$/,"\n/*$1*/")}const C=JSON.stringify(g);if(n){let r=h;let o=e.getPath(n,{chunk:d,filename:v.fileContext?l(t,`/${v.fileContext}`,`/${r}`):r,contentHash:c("md4").update(C).digest("hex")});const a=v.publicPath?v.publicPath+o:l(t,f(t,`/${h}`),`/${o}`);if(S!==false){u[h]=e.assets[h]=new i(new s(y),S.replace(/\[url\]/g,a))}u[o]=e.assets[o]=new s(C);d.files.add(o)}else{if(S===false){throw new Error("SourceMapDevToolPlugin: append can't be false when no filename is provided")}u[h]=e.assets[h]=new i(new s(y),S.replace(/\[map\]/g,()=>C).replace(/\[url\]/g,()=>`data:application/json;charset=utf-8;base64,${Buffer.from(C,"utf-8").toString("base64")}`))}});_(1)})})}}e.exports=SourceMapDevToolPlugin},3:function(e,t,n){"use strict";const r=n(854);const i=n(6763);const s=n(3656);const o=n(6705);const a=n(6890).to;const u=r({algorithms:{default:["sha512"]},integrity:{},memoize:{},metadata:{},pickAlgorithm:{},size:{},tmpPrefix:{},uid:{},gid:{},single:{},sep:{},strict:{}});e.exports=putData;function putData(e,t,n,r){r=u(r);return o(e,n,r).then(o=>{return i.insert(e,t,o.integrity,r.concat({size:o.size})).then(t=>{if(r.memoize){s.put(e,t,n,r)}return o.integrity})})}e.exports.stream=putStream;function putStream(e,t,n){n=u(n);let r;let c;const l=o.stream(e,n).on("integrity",e=>{r=e}).on("size",e=>{c=e});let f;let d=0;const p=a((e,t,r)=>{l.write(e,t,()=>{if(n.memoize){if(!f){f=[]}f.push(e);d+=e.length}r()})},o=>{l.end(()=>{i.insert(e,t,r,n.concat({size:c})).then(t=>{if(n.memoize){s.put(e,t,Buffer.concat(f,d),n)}p.emit("integrity",r);o()})})});let h=false;p.once("error",e=>{if(h){return}h=true;l.emit("error",e)});l.once("error",e=>{if(h){return}h=true;p.emit("error",e)});return p}},6:function(e,t,n){"use strict";const{ConcatSource:r,OriginalSource:i}=n(2991);const s=n(6734);const o=n(8159);const a=e=>{return e.map(e=>`[${JSON.stringify(e)}]`).join("")};const u=(e,t,n=", ")=>{const r=Array.isArray(t)?t:[t];return r.map((t,n)=>{const i=e?e+a(r.slice(0,n+1)):r[0]+a(r.slice(1,n+1));if(n===r.length-1)return i;if(n===0&&e===undefined)return`${i} = typeof ${i} === "object" ? ${i} : {}`;return`${i} = ${i} || {}`}).join(n)};class UmdMainTemplatePlugin{constructor(e,t){if(typeof e==="object"&&!Array.isArray(e)){this.name=e.root||e.amd||e.commonjs;this.names=e}else{this.name=e;this.names={commonjs:e,root:e,amd:e}}this.optionalAmdExternalAsGlobal=t.optionalAmdExternalAsGlobal;this.namedDefine=t.namedDefine;this.auxiliaryComment=t.auxiliaryComment}apply(e){const{mainTemplate:t,chunkTemplate:n,runtimeTemplate:c}=e;const l=(n,l,f)=>{const d=e.chunkGraph;const p=d.getChunkModules(l).filter(e=>e instanceof s&&(e.externalType==="umd"||e.externalType==="umd2"));let h=p;const m=[];let g=[];if(this.optionalAmdExternalAsGlobal){for(const t of h){if(t.isOptional(e.moduleGraph)){m.push(t)}else{g.push(t)}}h=g.concat(m)}else{g=h}const y=e=>{return t.getAssetPath(e,{hash:f,chunk:l})};const v=e=>{return`[${y(e.map(e=>JSON.stringify(typeof e.request==="object"?e.request.amd:e.request)).join(", "))}]`};const b=e=>{return y(e.map(e=>{let t=e.request;if(typeof t==="object")t=t.root;return`root${a([].concat(t))}`}).join(", "))};const w=t=>{return y(h.map(n=>{let r;let i=n.request;if(typeof i==="object"){i=i[t]}if(i===undefined){throw new Error("Missing external configuration for type:"+t)}if(Array.isArray(i)){r=`require(${JSON.stringify(i[0])})${a(i.slice(1))}`}else{r=`require(${JSON.stringify(i)})`}if(n.isOptional(e.moduleGraph)){r=`(function webpackLoadOptionalExternalModule() { try { return ${r}; } catch(e) {} }())`}return r}).join(", "))};const E=e=>{return e.map(e=>`__WEBPACK_EXTERNAL_MODULE_${o.toIdentifier(`${d.getModuleId(e)}`)}__`).join(", ")};const _=e=>{return JSON.stringify(y([].concat(e).pop()))};let S;if(m.length>0){const e=E(g);const t=g.length>0?E(g)+", "+b(m):b(m);S=`function webpackLoadOptionalExternalModuleAmd(${e}) {\n`+`\t\t\treturn factory(${t});\n`+"\t\t}"}else{S="factory"}const k=this.auxiliaryComment;const C=e=>{if(k){if(typeof k==="string")return"\t//"+k+"\n";if(k[e])return"\t//"+k[e]+"\n"}return""};return new r(new i("(function webpackUniversalModuleDefinition(root, factory) {\n"+C("commonjs2")+"\tif(typeof exports === 'object' && typeof module === 'object')\n"+"\t\tmodule.exports = factory("+w("commonjs2")+");\n"+C("amd")+"\telse if(typeof define === 'function' && define.amd)\n"+(g.length>0?this.names.amd&&this.namedDefine===true?"\t\tdefine("+_(this.names.amd)+", "+v(g)+", "+S+");\n":"\t\tdefine("+v(g)+", "+S+");\n":this.names.amd&&this.namedDefine===true?"\t\tdefine("+_(this.names.amd)+", [], "+S+");\n":"\t\tdefine([], "+S+");\n")+(this.names.root||this.names.commonjs?C("commonjs")+"\telse if(typeof exports === 'object')\n"+"\t\texports["+_(this.names.commonjs||this.names.root)+"] = factory("+w("commonjs")+");\n"+C("root")+"\telse\n"+"\t\t"+y(u("root",this.names.root||this.names.commonjs))+" = factory("+b(h)+");\n":"\telse {\n"+(h.length>0?"\t\tvar a = typeof exports === 'object' ? factory("+w("commonjs")+") : factory("+b(h)+");\n":"\t\tvar a = factory();\n")+"\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n"+"\t}\n")+`})(${c.outputOptions.globalObject}, function(${E(h)}) {\nreturn `,"webpack/universalModuleDefinition"),n,";\n})")};t.hooks.renderWithEntry.tap("UmdMainTemplatePlugin",l);n.hooks.renderWithEntry.tap("UmdMainTemplatePlugin",l);t.hooks.hash.tap("UmdMainTemplatePlugin",e=>{e.update("umd");e.update(`${this.names.root}`);e.update(`${this.names.amd}`);e.update(`${this.names.commonjs}`)})}}e.exports=UmdMainTemplatePlugin},13:function(e,t,n){"use strict";const r=n(6202);const i=n(9983);class ImportDependency extends i{constructor(e){super(e)}get type(){return"import()"}}r(ImportDependency,"webpack/lib/dependencies/ImportDependency");ImportDependency.Template=class ImportDependencyTemplate extends i.Template{apply(e,t,{runtimeTemplate:n,module:r,moduleGraph:i,chunkGraph:s,runtimeRequirements:o}){const a=e;const u=i.getParentBlock(a);const c=n.moduleNamespacePromise({chunkGraph:s,block:u,module:i.getModule(a),request:a.request,strict:r.buildMeta.strictHarmonyModule,message:"import()",runtimeRequirements:o});t.replace(u.range[0],u.range[1]-1,c)}};e.exports=ImportDependency},18:function(e,t,n){"use strict";const r=n(8699);const i=n(2357);const s=r.GlobalScope;const o=r.CatchScope;const a=r.WithScope;const u=r.ModuleScope;const c=r.ClassScope;const l=r.SwitchScope;const f=r.FunctionScope;const d=r.ForScope;const p=r.FunctionExpressionNameScope;const h=r.BlockScope;class ScopeManager{constructor(e){this.scopes=[];this.globalScope=null;this.__nodeToScope=new WeakMap;this.__currentScope=null;this.__options=e;this.__declaredVariables=new WeakMap}__useDirective(){return this.__options.directive}__isOptimistic(){return this.__options.optimistic}__ignoreEval(){return this.__options.ignoreEval}__isNodejsScope(){return this.__options.nodejsScope}isModule(){return this.__options.sourceType==="module"}isImpliedStrict(){return this.__options.impliedStrict}isStrictModeSupported(){return this.__options.ecmaVersion>=5}__get(e){return this.__nodeToScope.get(e)}getDeclaredVariables(e){return this.__declaredVariables.get(e)||[]}acquire(e,t){function predicate(e){if(e.type==="function"&&e.functionExpressionScope){return false}return true}const n=this.__get(e);if(!n||n.length===0){return null}if(n.length===1){return n[0]}if(t){for(let e=n.length-1;e>=0;--e){const t=n[e];if(predicate(t)){return t}}}else{for(let e=0,t=n.length;e=6}}e.exports=ScopeManager},19:function(e){"use strict";e.exports=function generate_anyOf(e,t,n){var r=" ";var i=e.level;var s=e.dataLevel;var o=e.schema[t];var a=e.schemaPath+e.util.getProperty(t);var u=e.errSchemaPath+"/"+t;var c=!e.opts.allErrors;var l="data"+(s||"");var f="valid"+i;var d="errs__"+i;var p=e.util.copy(e);var h="";p.level++;var m="valid"+p.level;var g=o.every(function(t){return e.util.schemaHasRules(t,e.RULES.all)});if(g){var y=p.baseId;r+=" var "+d+" = errors; var "+f+" = false; ";var v=e.compositeRule;e.compositeRule=p.compositeRule=true;var b=o;if(b){var w,E=-1,_=b.length-1;while(E<_){w=b[E+=1];p.schema=w;p.schemaPath=a+"["+E+"]";p.errSchemaPath=u+"/"+E;r+=" "+e.validate(p)+" ";p.baseId=y;r+=" "+f+" = "+f+" || "+m+"; if (!"+f+") { ";h+="}"}}e.compositeRule=p.compositeRule=v;r+=" "+h+" if (!"+f+") { var err = ";if(e.createErrors!==false){r+=" { keyword: '"+"anyOf"+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: {} ";if(e.opts.messages!==false){r+=" , message: 'should match some schema in anyOf' "}if(e.opts.verbose){r+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "}r+=" } "}else{r+=" {} "}r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";if(!e.compositeRule&&c){if(e.async){r+=" throw new ValidationError(vErrors); "}else{r+=" validate.errors = vErrors; return false; "}}r+=" } else { errors = "+d+"; if (vErrors !== null) { if ("+d+") vErrors.length = "+d+"; else vErrors = null; } ";if(e.opts.allErrors){r+=" } "}r=e.util.cleanUpCode(r)}else{if(c){r+=" if (true) { "}}return r}},26:function(e,t,n){"use strict";const{STAGE_BASIC:r}=n(2414);class MergeDuplicateChunksPlugin{apply(e){e.hooks.compilation.tap("MergeDuplicateChunksPlugin",e=>{e.hooks.optimizeChunks.tap({name:"MergeDuplicateChunksPlugin",stage:r},t=>{const n=e.chunkGraph;const r=new Set;for(const i of t){let t;for(const e of n.getChunkModulesIterable(i)){if(t===undefined){for(const s of n.getModuleChunksIterable(e)){if(s!==i&&n.getNumberOfChunkModules(i)===n.getNumberOfChunkModules(s)&&!r.has(s)){if(t===undefined){t=new Set}t.add(s)}}if(t===undefined)break}else{for(const r of t){if(!n.isModuleInChunk(e,r)){t.delete(r)}}if(t.size===0)break}}if(t!==undefined&&t.size>0){for(const r of t){if(r.hasRuntime()!==i.hasRuntime())continue;if(n.canChunksBeIntegrated(i,r)){n.integrateChunks(i,r);e.chunks.delete(r)}}}r.add(i)}})})}}e.exports=MergeDuplicateChunksPlugin},47:function(e){"use strict";class MappingsContext{constructor(){this.sourcesIndices=new Map;this.sourcesContent=new Map;this.hasSourceContent=false;this.currentOriginalLine=1;this.currentSource=0;this.unfinishedGeneratedLine=false}ensureSource(e,t){let n=this.sourcesIndices.get(e);if(typeof n==="number"){return n}n=this.sourcesIndices.size;this.sourcesIndices.set(e,n);this.sourcesContent.set(e,t);if(typeof t==="string")this.hasSourceContent=true;return n}getArrays(){const e=[];const t=[];for(const n of this.sourcesContent){e.push(n[0]);t.push(n[1])}return{sources:e,sourcesContent:t}}}e.exports=MappingsContext},48:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:true});t.encodeF32=encodeF32;t.encodeF64=encodeF64;t.decodeF32=decodeF32;t.decodeF64=decodeF64;t.DOUBLE_PRECISION_MANTISSA=t.SINGLE_PRECISION_MANTISSA=t.NUMBER_OF_BYTE_F64=t.NUMBER_OF_BYTE_F32=void 0;var r=n(518);var i=4;t.NUMBER_OF_BYTE_F32=i;var s=8;t.NUMBER_OF_BYTE_F64=s;var o=23;t.SINGLE_PRECISION_MANTISSA=o;var a=52;t.DOUBLE_PRECISION_MANTISSA=a;function encodeF32(e){var t=[];(0,r.write)(t,e,0,true,o,i);return t}function encodeF64(e){var t=[];(0,r.write)(t,e,0,true,a,s);return t}function decodeF32(e){var t=Buffer.from(e);return(0,r.read)(t,0,true,o,i)}function decodeF64(e){var t=Buffer.from(e);return(0,r.read)(t,0,true,a,s)}},51:function(e,t,n){"use strict";const r=n(6417);const{STAGE_ADVANCED:i}=n(2414);const s=n(1627);const{requestToId:o}=n(328);const{isSubset:a}=n(6221);const u=n(6102);const{compareModulesByIdentifier:c,compareIterables:l}=n(8673);const f=n(4648);const d=n(9197).contextify;const p=n(1697);const h=()=>{};const m=f;const g=e=>{return r.createHash("md4").update(e).digest("hex").slice(0,8)};const y=e=>{let t=0;for(const n of e.groupsIterable){t=Math.max(t,n.chunks.length)}return t};const v=(e,t)=>{for(const n of e){if(t.has(n))return true}return false};const b=l(c);const w=(e,t)=>{const n=e.cacheGroup.priority-t.cacheGroup.priority;if(n)return n;const r=e.chunks.size-t.chunks.size;if(r)return r;const i=T(e.sizes)*(e.chunks.size-1);const s=T(t.sizes)*(t.chunks.size-1);const o=i-s;if(o)return o;const a=e.modules;const u=t.modules;const c=a.size-u.size;if(c)return c;a.sort();u.sort();return b(a,u)};const E=(e,t)=>e-t;const _=e=>e.canBeInitial();const S=e=>!e.canBeInitial();const k=e=>true;const C=e=>{if(typeof e==="number"){return{javascript:e}}else if(typeof e==="object"&&e!==null){return{...e}}else{return{}}};const D=(...e)=>{return Object.assign({},...e.map(C).reverse())};const A=e=>{for(const t of Object.keys(e)){if(e[t]>0)return true}return false};const x=(e,t,n)=>{const r=new Set(Object.keys(e));const i=new Set(Object.keys(t));const s={};for(const o of r){if(i.has(o)){s[o]=n(e[o],t[o])}else{s[o]=e[o]}}for(const e of i){if(!r.has(e)){s[e]=t[e]}}return s};const M=(e,t)=>{for(const n of Object.keys(t)){const r=e[n];if(r===undefined||r===0)continue;if(r{let t=0;for(const n of Object.keys(e)){t+=e[n]}return t};const O=e=>{if(typeof e==="string"){return()=>e}if(typeof e==="function"){return e}};const F=e=>{if(e==="initial"){return _}if(e==="async"){return S}if(e==="all"){return k}if(typeof e==="function"){return e}};const I=e=>{if(typeof e==="function"){return e}if(typeof e==="object"&&e!==null){const t=(t,n)=>{let r=[];for(const i of Object.keys(e)){let s=e[i];if(s===false){continue}if(typeof s==="string"||s instanceof RegExp){if(R(s,t,n)){r.push(N({key:i}))}}else if(typeof s==="function"){const e=s(t);if(e){const t=Array.isArray(e)?e:[e];for(const e of t){r.push(N({key:i,...e}))}}}else{if(R(s.test,t,n)&&P(s.type,t)){r.push(N({key:i,...s}))}}}return r};return t}return()=>null};const R=(e,t,n)=>{if(e===undefined)return true;if(typeof e==="function"){return e(t,n)}if(typeof e==="boolean")return e;if(typeof e==="string"){const n=t.nameForCondition();return n&&n.startsWith(e)}if(e instanceof RegExp){const n=t.nameForCondition();return n&&e.test(n)}return false};const P=(e,t)=>{if(e===undefined)return true;if(typeof e==="function"){return e(t.type)}if(typeof e==="string"){const n=t.type;return e===n}if(e instanceof RegExp){const n=t.type;return e.test(n)}return false};const N=e=>{return{key:e.key,priority:e.priority,getName:O(e.name),chunksFilter:F(e.chunks),enforce:e.enforce,minSize:C(e.minSize),minRemainingSize:D(e.minRemainingSize,e.minSize),maxAsyncSize:D(e.maxAsyncSize,e.maxSize),maxInitialSize:D(e.maxInitialSize,e.maxSize),minChunks:e.minChunks,maxAsyncRequests:e.maxAsyncRequests,maxInitialRequests:e.maxInitialRequests,filename:e.filename,idHint:e.idHint,automaticNameDelimiter:e.automaticNameDelimiter,reuseExistingChunk:e.reuseExistingChunk}};e.exports=class SplitChunksPlugin{constructor(e={}){const t=e.fallbackCacheGroup||{};this.options={chunksFilter:F(e.chunks||"all"),minSize:C(e.minSize),minRemainingSize:D(e.minRemainingSize,e.minSize),maxAsyncSize:D(e.maxAsyncSize,e.maxSize),maxInitialSize:D(e.maxInitialSize,e.maxSize),minChunks:e.minChunks||1,maxAsyncRequests:e.maxAsyncRequests||1,maxInitialRequests:e.maxInitialRequests||1,hidePathInfo:e.hidePathInfo||false,filename:e.filename||undefined,getCacheGroups:I(e.cacheGroups),getName:e.name?O(e.name):h,automaticNameDelimiter:e.automaticNameDelimiter,fallbackCacheGroup:{minSize:D(t.minSize,e.minSize),maxAsyncSize:D(t.maxAsyncSize,t.maxSize,e.maxAsyncSize,e.maxSize),maxInitialSize:D(t.maxInitialSize,t.maxSize,e.maxInitialSize,e.maxSize),automaticNameDelimiter:t.automaticNameDelimiter||e.automaticNameDelimiter||"~"}}}apply(e){const t=e.root;e.hooks.thisCompilation.tap("SplitChunksPlugin",e=>{let n=false;e.hooks.unseal.tap("SplitChunksPlugin",()=>{n=false});e.hooks.optimizeChunks.tap({name:"SplitChunksPlugin",stage:i},r=>{if(n)return;n=true;const i=e.chunkGraph;const l=e.moduleGraph;const f=new Map;let h=1;for(const e of r){f.set(e,h++)}const b=e=>{return Array.from(e,e=>f.get(e)).sort(E).join()};const _=new Map;for(const t of e.modules){const e=b(i.getModuleChunksIterable(t));if(!_.has(e)){_.set(e,new Set(i.getModuleChunksIterable(t)))}}const S=new Map;for(const e of _.values()){const t=e.size;let n=S.get(t);if(n===undefined){n=[];S.set(t,n)}n.push(e)}const k=new Map;const C=e=>{const t=_.get(e);var n=[t];if(t.size>1){for(const[e,r]of S){if(e{let n=T.get(e);if(n===undefined){n=new WeakMap;T.set(e,n)}let r=n.get(t);if(r===undefined){const i=[];for(const n of e){if(t(n))i.push(n)}r={chunks:i,key:b(i)};n.set(t,r)}return r};const F=new Set;const I=new Map;const R=(t,n,r,i)=>{if(n.length0){let t;let n;for(const e of I){const r=e[0];const i=e[1];if(n===undefined||w(n,i)<0){n=i;t=r}}const r=n;I.delete(t);let s=r.name;let o;let a=false;let u=false;if(s){const t=e.namedChunks.get(s);if(t!==undefined){o=t;r.chunks.delete(o);a=true}}else if(r.cacheGroup.reuseExistingChunk){e:for(const e of r.chunks){if(i.getNumberOfChunkModules(e)!==r.modules.size){continue}if(i.getNumberOfEntryModules(e)>0){continue}for(const t of r.modules){if(!i.isModuleInChunk(t,e)){continue e}}if(!o||!o.name){o=e}else if(e.name&&e.name.length{const t=e.isOnlyInitial()?r.cacheGroup.maxInitialRequests:e.canBeInitial()?Math.min(r.cacheGroup.maxInitialRequests,r.cacheGroup.maxAsyncRequests):r.cacheGroup.maxAsyncRequests;return!isFinite(t)||y(e){for(const t of r.modules){if(i.isModuleInChunk(t,e))return true}return false});if(l.length=r.cacheGroup.minChunks){for(const e of r.modules){R(r.cacheGroup,l,b(l),e)}}continue}if(l.length===1&&A(r.cacheGroup.minRemainingSize)){const e=l[0];const t={...i.getChunkModulesSizes(e)};for(const e of Object.keys(r.sizes)){t[e]-=r.sizes[e]}if(!M(t,r.cacheGroup.minRemainingSize)){continue}}if(!a){o=e.addChunk(s)}for(const e of c){e.split(o)}o.chunkReason=(o.chunkReason?o.chunkReason+", ":"")+(u?"reused as split chunk":"split chunk");if(r.cacheGroup.key){o.chunkReason+=` (cache group: ${r.cacheGroup.key})`}if(s){o.chunkReason+=` (name: ${s})`;const t=e.entrypoints.get(s);if(t){e.entrypoints.delete(s);t.remove();i.disconnectEntries(o)}}if(r.cacheGroup.filename){o.filenameTemplate=r.cacheGroup.filename}if(r.cacheGroup.idHint){o.idNameHints.add(r.cacheGroup.idHint)}if(!u){for(const t of r.modules){if(!t.chunkCondition(o,e))continue;i.connectChunkAndModule(o,t);for(const e of c){i.disconnectChunkAndModule(e,t)}}}else{for(const e of r.modules){for(const t of c){i.disconnectChunkAndModule(t,e)}}}if(Object.keys(r.cacheGroup.maxAsyncSize).length>0||Object.keys(r.cacheGroup.maxInitialSize).length>0){const e=N.get(o);N.set(o,{minSize:e?x(e.minSize,r.cacheGroup.minSizeForMaxSize,Math.max):r.cacheGroup.minSize,maxAsyncSize:e?x(e.maxAsyncSize,r.cacheGroup.maxAsyncSize,Math.min):r.cacheGroup.maxAsyncSize,maxInitialSize:e?x(e.maxInitialSize,r.cacheGroup.maxInitialSize,Math.min):r.cacheGroup.maxInitialSize,automaticNameDelimiter:r.cacheGroup.automaticNameDelimiter,keys:e?e.keys.concat(r.cacheGroup.key):[r.cacheGroup.key]})}for(const[e,t]of I){if(v(t.chunks,r.chunks)){if(t.validateSize){let n=false;for(const e of r.modules){if(t.modules.has(e)){t.modules.delete(e);for(const n of e.getSourceTypes()){t.sizes[n]-=e.size(n)}n=true}}if(n){if(t.modules.size===0){I.delete(e);continue}if(!M(t.sizes,t.cacheGroup.minSize)){I.delete(e)}}}else{for(const e of r.modules){t.modules.delete(e)}if(t.modules.size===0){I.delete(e)}}}}}const L=new Set;for(const n of Array.from(e.chunks)){const r=N.get(n);const{minSize:s,maxAsyncSize:a,maxInitialSize:u,automaticNameDelimiter:c}=r||this.options.fallbackCacheGroup;let l;if(n.isOnlyInitial()){l=u}else if(n.canBeInitial()){l=x(a,u,Math.min)}else{l=a}if(Object.keys(l).length===0){continue}for(const t of Object.keys(l)){const n=l[t];const i=s[t];if(typeof i==="number"&&i>n){const t=r&&r.keys;const s=`${t&&t.join()} ${i} ${n}`;if(!L.has(s)){L.add(s);e.warnings.push(new p(t,i,n))}}}const f=m({minSize:s,maxSize:Object.keys(l).reduce((e,t)=>{const n=s[t];e[t]=typeof n==="number"?Math.max(l[t],n):l[t];return e},Object.create(null)),items:i.getChunkModulesIterable(n),getKey(n){const r=d(e.options.context,n.identifier(),t);const i=n.nameForCondition&&n.nameForCondition();const s=i?d(e.options.context,i,t):r.replace(/^.*!|\?[^?!]*$/g,"");const a=s+c+g(r);return o(a)},getSize(e){const t=Object.create(null);for(const n of e.getSourceTypes()){t[n]=e.size(n)}return t}});if(f.length===0){continue}f.sort((e,t)=>{if(e.keyt.key)return 1;return 0});for(let t=0;t100){o=o.slice(0,100)+c+g(o)}if(t!==f.length-1){const t=e.addChunk(o);n.split(t);t.chunkReason=n.chunkReason;for(const s of r.items){if(!s.chunkCondition(t,e)){continue}i.connectChunkAndModule(t,s);i.disconnectChunkAndModule(n,s)}}else{n.name=o}}}})})}}},65:function(e){e.exports={title:"DllPluginOptions",type:"object",additionalProperties:false,properties:{context:{description:"Context of requests in the manifest file (defaults to the webpack context)",type:"string",minLength:1},entryOnly:{description:"If true, only entry points will be exposed",type:"boolean"},format:{description:"If true, manifest json file (output) will be formatted",type:"boolean"},name:{description:"Name of the exposed dll function (external name, use value of 'output.library')",type:"string",minLength:1},path:{description:"Absolute path to the manifest json file (output)",type:"string",minLength:1},type:{description:"Type of the dll bundle (external type, use value of 'output.libraryTarget')",type:"string",minLength:1}},required:["path"]}},81:function(e){"use strict";e.exports=function generate_allOf(e,t,n){var r=" ";var i=e.schema[t];var s=e.schemaPath+e.util.getProperty(t);var o=e.errSchemaPath+"/"+t;var a=!e.opts.allErrors;var u=e.util.copy(e);var c="";u.level++;var l="valid"+u.level;var f=u.baseId,d=true;var p=i;if(p){var h,m=-1,g=p.length-1;while(m0||this.compilation.children.some(e=>e.getStats().hasWarnings())}hasErrors(){return this.compilation.errors.length>0||this.compilation.children.some(e=>e.getStats().hasErrors())}toJson(e){e=this.compilation.createStatsOptions(e,{forToString:false});const t=this.compilation.createStatsFactory(e);return t.create("compilation",this.compilation,{compilation:this.compilation,startTime:this.startTime,endTime:this.endTime})}toString(e){e=this.compilation.createStatsOptions(e,{forToString:true});const t=this.compilation.createStatsFactory(e);const n=this.compilation.createStatsPrinter(e);const r=t.create("compilation",this.compilation,{compilation:this.compilation,startTime:this.startTime,endTime:this.endTime});const i=n.print("compilation",r);return i===undefined?"":i}}e.exports=Stats},147:function(e,t,n){"use strict";var r=n(2560).Buffer;var i=r.isEncoding||function(e){e=""+e;switch(e&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return true;default:return false}};function _normalizeEncoding(e){if(!e)return"utf8";var t;while(true){switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase();t=true}}}function normalizeEncoding(e){var t=_normalizeEncoding(e);if(typeof t!=="string"&&(r.isEncoding===i||!i(e)))throw new Error("Unknown encoding: "+e);return t||e}t.StringDecoder=StringDecoder;function StringDecoder(e){this.encoding=normalizeEncoding(e);var t;switch(this.encoding){case"utf16le":this.text=utf16Text;this.end=utf16End;t=4;break;case"utf8":this.fillLast=utf8FillLast;t=4;break;case"base64":this.text=base64Text;this.end=base64End;t=3;break;default:this.write=simpleWrite;this.end=simpleEnd;return}this.lastNeed=0;this.lastTotal=0;this.lastChar=r.allocUnsafe(t)}StringDecoder.prototype.write=function(e){if(e.length===0)return"";var t;var n;if(this.lastNeed){t=this.fillLast(e);if(t===undefined)return"";n=this.lastNeed;this.lastNeed=0}else{n=0}if(n>5===6)return 2;else if(e>>4===14)return 3;else if(e>>3===30)return 4;return e>>6===2?-1:-2}function utf8CheckIncomplete(e,t,n){var r=t.length-1;if(r=0){if(i>0)e.lastNeed=i-1;return i}if(--r=0){if(i>0)e.lastNeed=i-2;return i}if(--r=0){if(i>0){if(i===2)i=0;else e.lastNeed=i-3}return i}return 0}function utf8CheckExtraBytes(e,t,n){if((t[0]&192)!==128){e.lastNeed=0;return"�"}if(e.lastNeed>1&&t.length>1){if((t[1]&192)!==128){e.lastNeed=1;return"�"}if(e.lastNeed>2&&t.length>2){if((t[2]&192)!==128){e.lastNeed=2;return"�"}}}}function utf8FillLast(e){var t=this.lastTotal-this.lastNeed;var n=utf8CheckExtraBytes(this,e,t);if(n!==undefined)return n;if(this.lastNeed<=e.length){e.copy(this.lastChar,t,0,this.lastNeed);return this.lastChar.toString(this.encoding,0,this.lastTotal)}e.copy(this.lastChar,t,0,e.length);this.lastNeed-=e.length}function utf8Text(e,t){var n=utf8CheckIncomplete(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=n;var r=e.length-(n-this.lastNeed);e.copy(this.lastChar,0,r);return e.toString("utf8",t,r)}function utf8End(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed)return t+"�";return t}function utf16Text(e,t){if((e.length-t)%2===0){var n=e.toString("utf16le",t);if(n){var r=n.charCodeAt(n.length-1);if(r>=55296&&r<=56319){this.lastNeed=2;this.lastTotal=4;this.lastChar[0]=e[e.length-2];this.lastChar[1]=e[e.length-1];return n.slice(0,-1)}}return n}this.lastNeed=1;this.lastTotal=2;this.lastChar[0]=e[e.length-1];return e.toString("utf16le",t,e.length-1)}function utf16End(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var n=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,n)}return t}function base64Text(e,t){var n=(e.length-t)%3;if(n===0)return e.toString("base64",t);this.lastNeed=3-n;this.lastTotal=3;if(n===1){this.lastChar[0]=e[e.length-1]}else{this.lastChar[0]=e[e.length-2];this.lastChar[1]=e[e.length-1]}return e.toString("base64",t,e.length-n)}function base64End(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed)return t+this.lastChar.toString("base64",0,3-this.lastNeed);return t}function simpleWrite(e){return e.toString(this.encoding)}function simpleEnd(e){return e&&e.length?this.write(e):""}},149:function(e,t){"use strict";const n=new WeakMap;const r=(e,t)=>{let r=n.get(e);if(r===undefined){r=new WeakMap;n.set(e,r)}const s=r.get(t);if(s!==undefined)return s;const o=i(e,t);r.set(t,o);return o};const i=(e,t)=>{const n={...e};for(const e of Object.keys(t)){if(!(e in n)){n[e]=t[e];continue}const r=t[e];if(typeof r!=="object"||r===null){n[e]=r}if(Array.isArray(r)){const t=n[e];if(Array.isArray(t)){const i=[];for(const e of r){if(e==="..."){for(const e of t){i.push(e)}}else{i.push(e)}}n[e]=i}else{n[e]=r}}else{const t=n[e];if(typeof t==="object"&&t!==null&&!Array.isArray(t)){n[e]=i(t,r)}else{n[e]=r}}}return n};t.cachedCleverMerge=r;t.cleverMerge=i},151:function(e,t,n){"use strict";const r=n(1669);const{ConcatSource:i,RawSource:s,ReplaceSource:o}=n(2991);const a=n(6253);const u=r.deprecate((e,t,n)=>e.getInitFragments(t,n),"DependencyTemplate.getInitFragment is deprecated (use apply(dep, source, { initFragments }) instead)");const c=(e,t)=>[e,t];const l=([e,t],[n,r])=>{const i=e.stage-n.stage;if(i!==0)return i;const s=e.position-n.position;if(s!==0)return s;return t-r};const f=new Set(["javascript"]);class JavascriptGenerator extends a{getTypes(){return f}getSize(e,t){const n=e.originalSource();if(!n){return 39}return n.size()}generate(e,t){const n=e.originalSource();if(!n){return new s("throw new Error('No source available');")}const r=new o(n);const a=[];this.sourceBlock(e,e,a,r,t);if(a.length>0){const e=a.map(c).sort(l);const t=new Map;for(const[n]of e){if(typeof n.merge==="function"){const e=t.get(n.key);if(e!==undefined){t.set(n.key||Symbol(),n.merge(e));continue}}t.set(n.key||Symbol(),n)}const n=new i;const s=[];for(const e of t.values()){n.add(e.content);if(e.endContent){s.push(e.endContent)}}n.add(r);for(const e of s.reverse()){n.add(e)}return n}else{return r}}sourceBlock(e,t,n,r,i){for(const s of t.dependencies){this.sourceDependency(e,s,n,r,i)}for(const s of t.blocks){this.sourceBlock(e,s,n,r,i)}}sourceDependency(e,t,n,r,i){const s=t.constructor;const o=i.dependencyTemplates.get(s);if(!o){throw new Error("No template for dependency: "+t.constructor.name)}const a={runtimeTemplate:i.runtimeTemplate,dependencyTemplates:i.dependencyTemplates,moduleGraph:i.moduleGraph,chunkGraph:i.chunkGraph,module:e,runtimeRequirements:i.runtimeRequirements,initFragments:n};o.apply(t,r,a);if("getInitFragments"in o){const e=u(o,t,a);if(e){for(const t of e){n.push(t)}}}}}e.exports=JavascriptGenerator},202:function(e,t,n){"use strict";const r=n(6150);const i=n(8159);const s=n(9851);class CompatGetDefaultExportRuntimeModule extends s{constructor(){super("compat get default export")}generate(){const e=r.compatGetDefaultExport;return i.asString(["// getDefaultExport function for compatibility with non-harmony modules",`${e} = function(module) {`,i.indent(["var getter = module && module.__esModule ?",i.indent(["function getDefault() { return module['default']; } :","function getModuleExports() { return module; };"]),`${r.definePropertyGetter}(getter, 'a', getter);`,"return getter;"]),"};"])}}e.exports=CompatGetDefaultExportRuntimeModule},226:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:true});t.edit=edit;t.editWithAST=editWithAST;t.add=add;t.addWithAST=addWithAST;var r=n(3432);var i=n(8093);var s=n(797);var o=n(3620);var a=_interopRequireWildcard(n(3930));var u=n(7467);function _interopRequireWildcard(e){if(e&&e.__esModule){return e}else{var t={};if(e!=null){for(var n in e){if(Object.prototype.hasOwnProperty.call(e,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,n):{};if(r.get||r.set){Object.defineProperty(t,n,r)}else{t[n]=e[n]}}}}t.default=e;return t}}function hashNode(e){return JSON.stringify(e)}function preprocess(e){var t=(0,o.shrinkPaddedLEB128)(new Uint8Array(e));return t.buffer}function sortBySectionOrder(e){var t=new Map;var n=true;var r=false;var i=undefined;try{for(var s=e[Symbol.iterator](),o;!(n=(o=s.next()).done);n=true){var u=o.value;t.set(u,t.size)}}catch(e){r=true;i=e}finally{try{if(!n&&s.return!=null){s.return()}}finally{if(r){throw i}}}e.sort(function(e,n){var r=(0,a.getSectionForNode)(e);var i=(0,a.getSectionForNode)(n);var s=a.default.sections[r];var o=a.default.sections[i];if(typeof s!=="number"||typeof o!=="number"){throw new Error("Section id not found")}if(s===o){return t.get(e)-t.get(n)}return s-o})}function edit(e,t){e=preprocess(e);var n=(0,r.decode)(e);return editWithAST(n,e,t)}function editWithAST(e,t,n){var r=[];var o=new Uint8Array(t);var a;function before(e,t){a=(0,s.cloneNode)(t.node)}function after(e,t){if(t.node._deleted===true){r.push({kind:"delete",node:t.node})}else if(hashNode(a)!==hashNode(t.node)){r.push({kind:"update",oldNode:a,node:t.node})}}(0,i.traverse)(e,n,before,after);o=(0,u.applyOperations)(e,o,r);return o.buffer}function add(e,t){e=preprocess(e);var n=(0,r.decode)(e);return addWithAST(n,e,t)}function addWithAST(e,t,n){sortBySectionOrder(n);var r=new Uint8Array(t);var i=n.map(function(e){return{kind:"add",node:e}});r=(0,u.applyOperations)(e,r,i);return r.buffer}},250:function(e){var t=function(e){if(e&&!(e&e-1))return e;var t=1;while(t{const t=e;const n=class extends t{parseImport(e){this.next();if(this.type===r.name&&this.value==="await"){e.await=true}else{e.await=false;this.pos=this.start}return super.parseImport(e)}parseExport(e){this.next();if(this.type===r.name&&this.value==="await"){e.await=true}else{e.await=false;this.pos=this.start}const t=super.parseExport(e);if(e.await&&!e.source){this.raiseRecoverable(e.start,"Missing from source in export await")}return t}};return n})},313:function(e,t,n){"use strict";const{approve:r}=n(2912);const i=n(9891);const s=n(6298);const o=n(1335);class ProvidePlugin{constructor(e){this.definitions=e}apply(e){const t=this.definitions;e.hooks.compilation.tap("ProvidePlugin",(e,{normalModuleFactory:n})=>{e.dependencyFactories.set(s,new i);e.dependencyTemplates.set(s,new s.Template);e.dependencyFactories.set(o,n);e.dependencyTemplates.set(o,new o.Template);const a=(e,n)=>{Object.keys(t).forEach(n=>{const i=[].concat(t[n]);const s=n.split(".");if(s.length>0){s.slice(1).forEach((t,n)=>{const i=s.slice(0,n+1).join(".");e.hooks.canRename.for(i).tap("ProvidePlugin",r)})}e.hooks.expression.for(n).tap("ProvidePlugin",t=>{const r=n.includes(".")?`__webpack_provided_${n.replace(/\./g,"_dot_")}`:n;const s=new o(i[0],r,i.slice(1),t.range);s.loc=t.loc;e.state.module.addDependency(s);return true})})};n.hooks.parser.for("javascript/auto").tap("ProvidePlugin",a);n.hooks.parser.for("javascript/dynamic").tap("ProvidePlugin",a);n.hooks.parser.for("javascript/esm").tap("ProvidePlugin",a)})}}e.exports=ProvidePlugin},315:function(e){e.exports={name:"esrecurse",description:"ECMAScript AST recursive visitor",homepage:"https://github.com/estools/esrecurse",main:"esrecurse.js",version:"4.2.1",engines:{node:">=4.0"},maintainers:[{name:"Yusuke Suzuki",email:"utatane.tea@gmail.com",web:"https://github.com/Constellation"}],repository:{type:"git",url:"https://github.com/estools/esrecurse.git"},dependencies:{estraverse:"^4.1.0"},devDependencies:{"babel-cli":"^6.24.1","babel-eslint":"^7.2.3","babel-preset-es2015":"^6.24.1","babel-register":"^6.24.1",chai:"^4.0.2",esprima:"^4.0.0",gulp:"^3.9.0","gulp-bump":"^2.7.0","gulp-eslint":"^4.0.0","gulp-filter":"^5.0.0","gulp-git":"^2.4.1","gulp-mocha":"^4.3.1","gulp-tag-version":"^1.2.1",jsdoc:"^3.3.0-alpha10",minimist:"^1.1.0"},license:"BSD-2-Clause",scripts:{test:"gulp travis","unit-test":"gulp test",lint:"gulp lint"},babel:{presets:["es2015"]}}},328:function(e,t,n){"use strict";const r=n(5891);const{makePathsRelative:i}=n(9197);const s=n(2631);const o=(e,t)=>{const n=r("md4");n.update(e);return n.digest("hex").substr(0,t)};const a=e=>{if(e===+e+""){return`_${e}`}return e};const u=e=>{return e.replace(/^(\.\.?\/)+/,"").replace(/(^[.-]|[^a-zA-Z0-9_-])+/g,"_")};t.requestToId=u;const c=(e,t)=>{if(e.length<100)return e;return e.slice(0,100-6-t.length)+t+o(e,6)};const l=(e,t,n)=>{return a(e.libIdent({context:t,associatedObjectForCache:n})||"")};t.getShortModuleName=l;const f=(e,t,n,r)=>{const i=d(t,n,r);return`${e}?${o(i,4)}`};t.getLongModuleName=f;const d=(e,t,n)=>{return i(t,e.identifier(),n)};t.getFullModuleName=d;const p=(e,t,n,r,i)=>{const s=t.getChunkRootModules(e);const o=s.map(e=>u(l(e,n,i)));e.idNameHints.sort();const a=Array.from(e.idNameHints).concat(o).join(r);return c(a,r)};t.getShortChunkName=p;const h=(e,t,n,r,i)=>{const s=t.getChunkRootModules(e);const o=s.map(e=>u(l(e,n,i)));const a=s.map(e=>u(f("",e,n,i)));e.idNameHints.sort();const d=Array.from(e.idNameHints).concat(o,a).join(r);return c(d,r)};t.getLongChunkName=h;const m=(e,t,n,r)=>{if(e.name)return e.name;const s=t.getChunkRootModules(e);const o=s.map(e=>i(n,e.identifier(),r));return o.join()};t.getFullChunkName=m;const g=(e,t,n)=>{let r=e.get(t);if(r===undefined){r=[];e.set(t,r)}r.push(n)};const y=e=>{const t=e.chunkGraph;const n=new Set;if(e.usedModuleIds){for(const t of e.usedModuleIds){n.add(t+"")}}for(const r of e.modules){const e=t.getModuleId(r);if(e!==null){n.add(e+"")}}return n};t.getUsedModuleIds=y;const v=e=>{const t=new Set;if(e.usedChunkIds){for(const n of e.usedChunkIds){t.add(n+"")}}for(const n of e.chunks){const e=n.id;if(e!==null){t.add(e+"")}}return t};t.getUsedChunkIds=v;const b=(e,t,n,r,i,s)=>{const o=new Map;for(const n of e){const e=t(n);g(o,e,n)}const a=new Map;for(const[e,t]of o){if(t.length>1||!e){for(const r of t){const t=n(r,e);g(a,t,r)}}else{g(a,e,t[0])}}const u=[];for(const[e,t]of a){if(!e){for(const e of t){u.push(e)}}else if(t.length===1&&!i.has(e)){s(t[0],e);i.add(e)}else{t.sort(r);let n=0;for(const r of t){while(a.has(e+n)&&i.has(e+n))n++;s(r,e+n);i.add(e+n);n++}}}u.sort(r);return u};t.assignNames=b;const w=(e,t,n,r,i=[10],o=10,a=0)=>{e.sort(n);const u=Math.min(Math.ceil(e.length*1.25)+a,Number.MAX_SAFE_INTEGER);let c=0;let l=i[c];while(l{const n=t.chunkGraph;const r=y(t);let i=0;let s;if(r.size>0){s=(e=>{if(n.getModuleId(e)===null){while(r.has(i+""))i++;n.setModuleId(e,i++)}})}else{s=(e=>{if(n.getModuleId(e)===null){n.setModuleId(e,i++)}})}for(const t of e){s(t)}};t.assignAscendingModuleIds=E;const _=(e,t)=>{const n=v(t);let r=0;if(n.size>0){for(const t of e){if(t.id===null){while(n.has(r+""))r++;t.id=r;t.ids=[r];r++}}}else{for(const t of e){if(t.id===null){t.id=r;t.ids=[r];r++}}}};t.assignAscendingChunkIds=_},337:function(e,t,n){"use strict";const{basename:r,extname:i}=n(5622);const s=n(1669);const o=n(3453);const a=/\[([a-z]+)(?::(\d+))?\]/gi;const u=e=>{if(typeof e!=="string")return e;if(/^"\s\+*.*\+\s*"$/.test(e)){const t=/^"\s\+*\s*(.*)\s*\+\s*"$/.exec(e);return`" + (${t[1]} + "").replace(/(^[.-]|[^a-zA-Z0-9_-])+/g, "_") + "`}return e.replace(/(^[.-]|[^a-zA-Z0-9_-])+/g,"_")};const c=(e,t)=>{const n=(n,r,...i)=>{const s=r&&parseInt(r,10);if(s&&t){return t(s)}const o=e(n,r,...i);return s?o.slice(0,s):o};return n};const l=(e,t)=>{const n=(n,...r)=>{if(e===null||e===undefined){if(!t){const e=r[r.length-1];throw new Error(`Path variable ${n} not implemented in this context: ${e}`)}return""}else{return`${e}`}};return n};const f=new Map;const d=(()=>()=>{})();const p=(e,t)=>{let n=f.get(t);if(n===undefined){n=s.deprecate(d,t);f.set(t,n)}return(...t)=>{n();return e(...t)}};const h=(e,t)=>{const n=t.chunkGraph;const s=new Map;if(t.filename){if(typeof t.filename==="string"){const e=t.filename.indexOf("?");let n,o;if(e>=0){n=t.filename.substr(0,e);o=t.filename.substr(e)}else{n=t.filename;o=""}const a=i(n);const u=r(n);const c=u.slice(0,u.length-a.length);const f=n.slice(0,n.length-u.length);s.set("file",l(n));s.set("query",l(o,true));s.set("path",l(f,true));s.set("base",l(u));s.set("name",l(c));s.set("ext",l(a,true));s.set("filebase",p(l(u),"[filebase] is now [base]"))}}if(t.hash){const e=c(l(t.hash),t.hashWithLength);s.set("fullhash",e);s.set("hash",p(e,"[hash] is now [fullhash] (also consider using [chunkhash] or [contenthash], see documentation for details)"))}if(t.chunk){const e=t.chunk;const n=t.contentHashType;const r=l(e.id);const i=l(e.name||e.id);const o=c(l(e.renderedHash||e.hash),"hashWithLength"in e?e.hashWithLength:undefined);const a=c(l(t.contentHash||n&&e.contentHash&&e.contentHash[n]),t.contentHashWithLength||("contentHashWithLength"in e&&e.contentHashWithLength?e.contentHashWithLength[n]:undefined));s.set("id",r);s.set("name",i);s.set("chunkhash",o);s.set("contenthash",a)}if(t.module){const e=t.module;const r=l(u(e instanceof o?n.getModuleId(e):e.id));const i=c(l(e instanceof o?n.getRenderedModuleHash(e):e.renderedHash||e.hash),"hashWithLength"in e?e.hashWithLength:undefined);s.set("id",r);s.set("hash",i);s.set("moduleid",p(r,"[moduleid] is now [id]"));s.set("modulehash",p(i,"[modulehash] is now [hash]"))}if(typeof e==="function"){e=e(t)}e=e.replace(a,(e,t,...n)=>{const r=s.get(t);if(r!==undefined){return r(e,...n)}return e});return e};const m="TemplatedPathPlugin";class TemplatedPathPlugin{apply(e){e.hooks.compilation.tap(m,e=>{const t=e.mainTemplate;t.hooks.assetPath.tap(m,h)})}}e.exports=TemplatedPathPlugin},340:function(e,t,n){"use strict";const r=n(6150);const i=n(6202);const s=n(2197);class RequireHeaderDependency extends s{constructor(e){super();if(!Array.isArray(e))throw new Error("range must be valid");this.range=e}serialize(e){const{write:t}=e;t(this.range);super.serialize(e)}static deserialize(e){const t=new RequireHeaderDependency(e.read());t.deserialize(e);return t}}i(RequireHeaderDependency,"webpack/lib/dependencies/RequireHeaderDependency");RequireHeaderDependency.Template=class RequireHeaderDependencyTemplate extends s.Template{apply(e,t,{runtimeRequirements:n}){const i=e;n.add(r.require);t.replace(i.range[0],i.range[1]-1,"__webpack_require__")}};e.exports=RequireHeaderDependency},354:function(e,t,n){"use strict";const r=n(5891);const i=t;i.ALL_LOADERS_RESOURCE="[all-loaders][resource]";i.REGEXP_ALL_LOADERS_RESOURCE=/\[all-?loaders\]\[resource\]/gi;i.LOADERS_RESOURCE="[loaders][resource]";i.REGEXP_LOADERS_RESOURCE=/\[loaders\]\[resource\]/gi;i.RESOURCE="[resource]";i.REGEXP_RESOURCE=/\[resource\]/gi;i.ABSOLUTE_RESOURCE_PATH="[absolute-resource-path]";i.REGEXP_ABSOLUTE_RESOURCE_PATH=/\[abs(olute)?-?resource-?path\]/gi;i.RESOURCE_PATH="[resource-path]";i.REGEXP_RESOURCE_PATH=/\[resource-?path\]/gi;i.ALL_LOADERS="[all-loaders]";i.REGEXP_ALL_LOADERS=/\[all-?loaders\]/gi;i.LOADERS="[loaders]";i.REGEXP_LOADERS=/\[loaders\]/gi;i.QUERY="[query]";i.REGEXP_QUERY=/\[query\]/gi;i.ID="[id]";i.REGEXP_ID=/\[id\]/gi;i.HASH="[hash]";i.REGEXP_HASH=/\[hash\]/gi;i.NAMESPACE="[namespace]";i.REGEXP_NAMESPACE=/\[namespace\]/gi;const s=(e,t)=>{const n=e.indexOf(t);return n<0?"":e.substr(n)};const o=(e,t)=>{const n=e.lastIndexOf(t);return n<0?"":e.substr(0,n)};const a=e=>{const t=r("md4");t.update(e);return t.digest("hex").substr(0,4)};const u=e=>{if(typeof e==="string"){e=new RegExp("^"+e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"))}return e};i.createFilename=((e,t,{requestShortener:n,chunkGraph:r})=>{const u={namespace:"",moduleFilenameTemplate:"",...typeof t==="object"?t:{moduleFilenameTemplate:t}};let c;let l;let f;let d;let p;if(e===undefined)e="";if(typeof e==="string"){p=n.shorten(e);f=p;d="";c=e.split("!").pop();l=a(f)}else{p=e.readableIdentifier(n);f=n.shorten(e.identifier());d=r.getModuleId(e);c=e.identifier().split("!").pop();l=a(f)}const h=p.split("!").pop();const m=o(p,"!");const g=o(f,"!");const y=s(h,"?");const v=h.substr(0,h.length-y.length);if(typeof u.moduleFilenameTemplate==="function"){return u.moduleFilenameTemplate({identifier:f,shortIdentifier:p,resource:h,resourcePath:v,absoluteResourcePath:c,allLoaders:g,query:y,moduleId:d,hash:l,namespace:u.namespace})}return u.moduleFilenameTemplate.replace(i.REGEXP_ALL_LOADERS_RESOURCE,f).replace(i.REGEXP_LOADERS_RESOURCE,p).replace(i.REGEXP_RESOURCE,h).replace(i.REGEXP_RESOURCE_PATH,v).replace(i.REGEXP_ABSOLUTE_RESOURCE_PATH,c).replace(i.REGEXP_ALL_LOADERS,g).replace(i.REGEXP_LOADERS,m).replace(i.REGEXP_QUERY,y).replace(i.REGEXP_ID,d).replace(i.REGEXP_HASH,l).replace(i.REGEXP_NAMESPACE,u.namespace)});i.replaceDuplicates=((e,t,n)=>{const r=Object.create(null);const i=Object.create(null);e.forEach((e,t)=>{r[e]=r[e]||[];r[e].push(t);i[e]=0});if(n){Object.keys(r).forEach(e=>{r[e].sort(n)})}return e.map((e,s)=>{if(r[e].length>1){if(n&&r[e][0]===s)return e;return t(e,s,i[e]++)}else{return e}})});i.matchPart=((e,t)=>{if(!t)return true;t=u(t);if(Array.isArray(t)){return t.map(u).some(t=>t.test(e))}else{return t.test(e)}});i.matchObject=((e,t)=>{if(e.test){if(!i.matchPart(t,e.test)){return false}}if(e.include){if(!i.matchPart(t,e.include)){return false}}if(e.exclude){if(i.matchPart(t,e.exclude)){return false}}return true})},383:function(e,t,n){"use strict";const r=n(2355);const i=n(3520);const s=n(8281);class AutomaticPrefetchPlugin{apply(e){e.hooks.compilation.tap("AutomaticPrefetchPlugin",(e,{normalModuleFactory:t})=>{e.dependencyFactories.set(s,t)});let t=null;e.hooks.afterCompile.tap("AutomaticPrefetchPlugin",e=>{t=Array.from(e.modules).filter(e=>e instanceof i).map(e=>({context:e.context,request:e.request}))});e.hooks.make.tapAsync("AutomaticPrefetchPlugin",(n,i)=>{if(!t)return i();r.forEach(t,(t,r)=>{n.addModuleChain(t.context||e.context,new s(t.request),r)},i)})}}e.exports=AutomaticPrefetchPlugin},387:function(e,t,n){"use strict";const{SourceNode:r,SourceMapConsumer:i}=n(9596);const{SourceListMap:s,fromStringWithSourceMap:o}=n(6900);t.getSourceAndMap=((e,t)=>{if(t&&t.columns===false){return e.listMap(t).toStringWithSourceMap({file:"x"})}const n=e.node(t).toStringWithSourceMap({file:"x"});return{source:n.code,map:n.map.toJSON()}});t.getMap=((e,t)=>{if(t&&t.columns===false){return e.listMap(t).toStringWithSourceMap({file:"x"}).map}return e.node(t).toStringWithSourceMap({file:"x"}).map.toJSON()});t.getNode=((e,t)=>{if(typeof e.node==="function"){return e.node(t)}else{const n=e.sourceAndMap(t);if(n.map){return r.fromStringWithSourceMap(n.source,new i(n.map))}else{return new r(null,null,null,n.source)}}});t.getListMap=((e,t)=>{if(typeof e.listMap==="function"){return e.listMap(t)}else{const n=e.sourceAndMap(t);if(n.map){return o(n.source,n.map)}else{return new s(n.source)}}})},398:function(e){"use strict";var t=["multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","additionalItems","maxItems","minItems","uniqueItems","maxProperties","minProperties","required","additionalProperties","enum","format","const"];e.exports=function(e,n){for(var r=0;re?e+"":"";class ContextDependency extends r{constructor(e){super();this.options=e;this.userRequest=this.options&&this.options.request;this.critical=false;this.hadGlobalOrStickyRegExp=false;if(this.options&&(this.options.regExp.global||this.options.regExp.sticky)){this.options={...this.options,regExp:null};this.hadGlobalOrStickyRegExp=true}this.request=undefined;this.range=undefined;this.valueRange=undefined;this.replaces=undefined}getResourceIdentifier(){return`context${this.options.request} ${this.options.recursive} `+`${a(this.options.regExp)} ${a(this.options.include)} ${a(this.options.exclude)} `+`${this.options.mode} ${this.options.chunkName} `+`${JSON.stringify(this.options.groupOptions)}`}getWarnings(e){let t=super.getWarnings(e)||[];if(this.critical){t.push(new o(this.critical))}if(this.hadGlobalOrStickyRegExp){t.push(new o("Contexts can't use RegExps with the 'g' or 'y' flags."))}return t}serialize(e){const{write:t}=e;t(this.options);t(this.userRequest);t(this.critical);t(this.hadGlobalOrStickyRegExp);t(this.request);t(this.range);t(this.valueRange);t(this.prepend);t(this.replaces);super.serialize(e)}deserialize(e){const{read:t}=e;this.options=t();this.userRequest=t();this.critical=t();this.hadGlobalOrStickyRegExp=t();this.request=t();this.range=t();this.valueRange=t();this.prepend=t();this.replaces=t();super.deserialize(e)}}s(ContextDependency,"webpack/lib/dependencies/ContextDependency");ContextDependency.Template=i;e.exports=ContextDependency},411:function(e){"use strict";if(typeof process==="undefined"||!process.version||process.version.indexOf("v0.")===0||process.version.indexOf("v1.")===0&&process.version.indexOf("v1.8.")!==0){e.exports={nextTick:nextTick}}else{e.exports=process}function nextTick(e,t,n,r){if(typeof e!=="function"){throw new TypeError('"callback" argument must be a function')}var i=arguments.length;var s,o;switch(i){case 0:case 1:return process.nextTick(e);case 2:return process.nextTick(function afterTickOne(){e.call(null,t)});case 3:return process.nextTick(function afterTickTwo(){e.call(null,t,n)});case 4:return process.nextTick(function afterTickThree(){e.call(null,t,n,r)});default:s=new Array(i-1);o=0;while(on?t:n;var o=t>n?r:i;if(s<0)return e;if(s===o)return e.substr(0,s+1);return e.substr(0,s)}function createLoaderObject(e){var t={path:null,query:null,options:null,ident:null,normal:null,pitch:null,raw:null,data:null,pitchExecuted:false,normalExecuted:false};Object.defineProperty(t,"request",{enumerable:true,get:function(){return t.path+t.query},set:function(e){if(typeof e==="string"){var n=splitQuery(e);t.path=n[0];t.query=n[1];t.options=undefined;t.ident=undefined}else{if(!e.loader)throw new Error("request should be a string or object with loader and object ("+JSON.stringify(e)+")");t.path=e.loader;t.options=e.options;t.ident=e.ident;if(t.options===null)t.query="";else if(t.options===undefined)t.query="";else if(typeof t.options==="string")t.query="?"+t.options;else if(t.ident)t.query="??"+t.ident;else if(typeof t.options==="object"&&t.options.ident)t.query="??"+t.options.ident;else t.query="?"+JSON.stringify(t.options)}}});t.request=e;if(Object.preventExtensions){Object.preventExtensions(t)}return t}function runSyncOrAsync(e,t,n,r){var i=true;var s=false;var o=false;var a=false;t.async=function async(){if(s){if(a)return;throw new Error("async(): The callback was already called.")}i=false;return u};var u=t.callback=function(){if(s){if(a)return;throw new Error("callback(): The callback was already called.")}s=true;i=false;try{r.apply(null,arguments)}catch(e){o=true;throw e}};try{var c=function LOADER_EXECUTION(){return e.apply(t,n)}();if(i){s=true;if(c===undefined)return r();if(c&&typeof c==="object"&&typeof c.then==="function"){return c.then(function(e){r(null,e)},r)}return r(null,c)}}catch(e){if(o)throw e;if(s){if(typeof e==="object"&&e.stack)console.error(e.stack);else console.error(e);return}s=true;a=true;r(e)}}function convertArgs(e,t){if(!t&&Buffer.isBuffer(e[0]))e[0]=utf8BufferToString(e[0]);else if(t&&typeof e[0]==="string")e[0]=Buffer.from(e[0],"utf-8")}function iteratePitchingLoaders(e,t,n){if(t.loaderIndex>=t.loaders.length)return processResource(e,t,n);var r=t.loaders[t.loaderIndex];if(r.pitchExecuted){t.loaderIndex++;return iteratePitchingLoaders(e,t,n)}s(r,function(i){if(i){t.cacheable(false);return n(i)}var s=r.pitch;r.pitchExecuted=true;if(!s)return iteratePitchingLoaders(e,t,n);runSyncOrAsync(s,t,[t.remainingRequest,t.previousRequest,r.data={}],function(r){if(r)return n(r);var i=Array.prototype.slice.call(arguments,1);var s=i.some(function(e){return e!==undefined});if(s){t.loaderIndex--;iterateNormalLoaders(e,t,i,n)}else{iteratePitchingLoaders(e,t,n)}})})}function processResource(e,t,n){t.loaderIndex=t.loaders.length-1;var r=t.resourcePath;if(r){t.addDependency(r);e.readResource(r,function(r,i){if(r)return n(r);e.resourceBuffer=i;iterateNormalLoaders(e,t,[i],n)})}else{iterateNormalLoaders(e,t,[null],n)}}function iterateNormalLoaders(e,t,n,r){if(t.loaderIndex<0)return r(null,n);var i=t.loaders[t.loaderIndex];if(i.normalExecuted){t.loaderIndex--;return iterateNormalLoaders(e,t,n,r)}var s=i.normal;i.normalExecuted=true;if(!s){return iterateNormalLoaders(e,t,n,r)}convertArgs(n,i.raw);runSyncOrAsync(s,t,n,function(n){if(n)return r(n);var i=Array.prototype.slice.call(arguments,1);iterateNormalLoaders(e,t,i,r)})}t.getContext=function getContext(e){var t=splitQuery(e);return dirname(t[0])};t.runLoaders=function runLoaders(e,t){var n=e.resource||"";var r=e.loaders||[];var s=e.context||{};var o=e.readResource||i;var a=n&&splitQuery(n);var u=a?a[0]:undefined;var c=a?a[1]:undefined;var l=u?dirname(u):null;var f=true;var d=[];var p=[];r=r.map(createLoaderObject);s.context=l;s.loaderIndex=0;s.loaders=r;s.resourcePath=u;s.resourceQuery=c;s.async=null;s.callback=null;s.cacheable=function cacheable(e){if(e===false){f=false}};s.dependency=s.addDependency=function addDependency(e){d.push(e)};s.addContextDependency=function addContextDependency(e){p.push(e)};s.getDependencies=function getDependencies(){return d.slice()};s.getContextDependencies=function getContextDependencies(){return p.slice()};s.clearDependencies=function clearDependencies(){d.length=0;p.length=0;f=true};Object.defineProperty(s,"resource",{enumerable:true,get:function(){if(s.resourcePath===undefined)return undefined;return s.resourcePath+s.resourceQuery},set:function(e){var t=e&&splitQuery(e);s.resourcePath=t?t[0]:undefined;s.resourceQuery=t?t[1]:undefined}});Object.defineProperty(s,"request",{enumerable:true,get:function(){return s.loaders.map(function(e){return e.request}).concat(s.resource||"").join("!")}});Object.defineProperty(s,"remainingRequest",{enumerable:true,get:function(){if(s.loaderIndex>=s.loaders.length-1&&!s.resource)return"";return s.loaders.slice(s.loaderIndex+1).map(function(e){return e.request}).concat(s.resource||"").join("!")}});Object.defineProperty(s,"currentRequest",{enumerable:true,get:function(){return s.loaders.slice(s.loaderIndex).map(function(e){return e.request}).concat(s.resource||"").join("!")}});Object.defineProperty(s,"previousRequest",{enumerable:true,get:function(){return s.loaders.slice(0,s.loaderIndex).map(function(e){return e.request}).join("!")}});Object.defineProperty(s,"query",{enumerable:true,get:function(){var e=s.loaders[s.loaderIndex];return e.options&&typeof e.options==="object"?e.options:e.query}});Object.defineProperty(s,"data",{enumerable:true,get:function(){return s.loaders[s.loaderIndex].data}});if(Object.preventExtensions){Object.preventExtensions(s)}var h={resourceBuffer:null,readResource:o};iteratePitchingLoaders(h,s,function(e,n){if(e){return t(e,{cacheable:f,fileDependencies:d,contextDependencies:p})}t(null,{result:n,resourceBuffer:h.resourceBuffer,cacheable:f,fileDependencies:d,contextDependencies:p})})}},444:function(e,t,n){"use strict";const{compareChunksNatural:r}=n(8673);const{getFullChunkName:i,getUsedChunkIds:s,assignDeterministicIds:o}=n(328);class DeterministicChunkIdsPlugin{constructor(e){this.options=e||{}}apply(e){e.hooks.compilation.tap("DeterministicChunkIdsPlugin",t=>{t.hooks.chunkIds.tap("DeterministicChunkIdsPlugin",n=>{const a=t.chunkGraph;const u=this.options.context?this.options.context:e.context;const c=this.options.maxLength||3;const l=r(a);const f=s(t);o(Array.from(n).filter(e=>{return e.id===null}),t=>i(t,a,u,e.root),l,(e,t)=>{const n=f.size;f.add(`${t}`);if(n===f.size)return false;e.id=t;e.ids=[t];return true},[Math.pow(10,c)],10,f.size)})})}}e.exports=DeterministicChunkIdsPlugin},474:function(e){if(typeof Object.create==="function"){e.exports=function inherits(e,t){if(t){e.super_=t;e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:false,writable:true,configurable:true}})}}}else{e.exports=function inherits(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype;e.prototype=new n;e.prototype.constructor=e}}}},481:function(e,t,n){"use strict";const r=n(6853);const i=n(854);const s=n(5747);const o=n(6763);const a=n(3656);const u=n(6890).pipe;const c=n(6890).pipeline;const l=n(8370);const f=n(6890).through;const d=i({integrity:{},memoize:{},size:{}});e.exports=function get(e,t,n){return getData(false,e,t,n)};e.exports.byDigest=function getByDigest(e,t,n){return getData(true,e,t,n)};function getData(e,t,n,i){i=d(i);const s=e?a.get.byDigest(t,n,i):a.get(t,n,i);if(s&&i.memoize!==false){return r.resolve(e?s:{metadata:s.entry.metadata,data:s.data,integrity:s.entry.integrity,size:s.entry.size})}return(e?r.resolve(null):o.find(t,n,i)).then(r=>{if(!r&&!e){throw new o.NotFoundError(t,n)}return l(t,e?n:r.integrity,{integrity:i.integrity,size:i.size}).then(t=>e?t:{metadata:r.metadata,data:t,size:r.size,integrity:r.integrity}).then(s=>{if(i.memoize&&e){a.put.byDigest(t,n,s,i)}else if(i.memoize){a.put(t,r,s.data,i)}return s})})}e.exports.sync=function get(e,t,n){return getDataSync(false,e,t,n)};e.exports.sync.byDigest=function getByDigest(e,t,n){return getDataSync(true,e,t,n)};function getDataSync(e,t,n,r){r=d(r);const i=e?a.get.byDigest(t,n,r):a.get(t,n,r);if(i&&r.memoize!==false){return e?i:{metadata:i.entry.metadata,data:i.data,integrity:i.entry.integrity,size:i.entry.size}}const s=!e&&o.find.sync(t,n,r);if(!s&&!e){throw new o.NotFoundError(t,n)}const u=l.sync(t,e?n:s.integrity,{integrity:r.integrity,size:r.size});const c=e?u:{metadata:s.metadata,data:u,size:s.size,integrity:s.integrity};if(r.memoize&&e){a.put.byDigest(t,n,c,r)}else if(r.memoize){a.put(t,s,c.data,r)}return c}e.exports.stream=getStream;function getStream(e,t,n){n=d(n);let r=f();const i=a.get(e,t,n);if(i&&n.memoize!==false){r.on("newListener",function(e,t){e==="metadata"&&t(i.entry.metadata);e==="integrity"&&t(i.entry.integrity);e==="size"&&t(i.entry.size)});r.write(i.data,()=>r.end());return r}o.find(e,t).then(i=>{if(!i){return r.emit("error",new o.NotFoundError(e,t))}let s;if(n.memoize){let t=[];let r=0;s=f((e,n,i)=>{t&&t.push(e);r+=e.length;i(null,e,n)},s=>{t&&a.put(e,i,Buffer.concat(t,r),n);s()})}else{s=f()}r.emit("metadata",i.metadata);r.emit("integrity",i.integrity);r.emit("size",i.size);r.on("newListener",function(e,t){e==="metadata"&&t(i.metadata);e==="integrity"&&t(i.integrity);e==="size"&&t(i.size)});u(l.readStream(e,i.integrity,n.concat({size:n.size==null?i.size:n.size})),s,r)}).catch(e=>r.emit("error",e));return r}e.exports.stream.byDigest=getStreamDigest;function getStreamDigest(e,t,n){n=d(n);const r=a.get.byDigest(e,t,n);if(r&&n.memoize!==false){const e=f();e.write(r,()=>e.end());return e}else{let r=l.readStream(e,t,n);if(n.memoize){let i=[];let s=0;const o=f((e,t,n)=>{i&&i.push(e);s+=e.length;n(null,e,t)},r=>{i&&a.put.byDigest(e,t,Buffer.concat(i,s),n);r()});r=c(r,o)}return r}}e.exports.info=info;function info(e,t,n){n=d(n);const i=a.get(e,t,n);if(i&&n.memoize!==false){return r.resolve(i.entry)}else{return o.find(e,t)}}e.exports.hasContent=l.hasContent;e.exports.copy=function cp(e,t,n,r){return copy(false,e,t,n,r)};e.exports.copy.byDigest=function cpDigest(e,t,n,r){return copy(true,e,t,n,r)};function copy(e,t,n,i,a){a=d(a);if(l.copy){return(e?r.resolve(null):o.find(t,n,a)).then(r=>{if(!r&&!e){throw new o.NotFoundError(t,n)}return l.copy(t,e?n:r.integrity,i,a).then(()=>e?n:{metadata:r.metadata,size:r.size,integrity:r.integrity})})}else{return getData(e,t,n,a).then(t=>{return s.writeFileAsync(i,e?t:t.data).then(()=>e?n:{metadata:t.metadata,size:t.size,integrity:t.integrity})})}}},484:function(e,t,n){"use strict";const{find:r}=n(6221);const{compareModulesByPreOrderIndexOrIdentifier:i,compareModulesByPostOrderIndexOrIdentifier:s}=n(8673);class ChunkModuleIdRangePlugin{constructor(e){this.options=e}apply(e){const t=this.options;e.hooks.compilation.tap("ChunkModuleIdRangePlugin",e=>{const n=e.moduleGraph;e.hooks.moduleIds.tap("ChunkModuleIdRangePlugin",o=>{const a=e.chunkGraph;const u=r(e.chunks,e=>e.name===t.name);if(!u){throw new Error(`ChunkModuleIdRangePlugin: Chunk with name '${t.name}"' was not found`)}let c;if(t.order){let e;switch(t.order){case"index":case"preOrderIndex":e=i(n);break;case"index2":case"postOrderIndex":e=s(n);break;default:throw new Error("ChunkModuleIdRangePlugin: unexpected value of order")}c=a.getOrderedChunkModules(u,e)}else{c=Array.from(o).filter(e=>{return a.isModuleInChunk(e,u)}).sort(i(n))}let l=t.start||0;for(let e=0;et.end)break}})})}}e.exports=ChunkModuleIdRangePlugin},485:function(e,t,n){var r=n(5622);var i=n(5747);var s=parseInt("0777",8);e.exports=mkdirP.mkdirp=mkdirP.mkdirP=mkdirP;function mkdirP(e,t,n,o){if(typeof t==="function"){n=t;t={}}else if(!t||typeof t!=="object"){t={mode:t}}var a=t.mode;var u=t.fs||i;if(a===undefined){a=s&~process.umask()}if(!o)o=null;var c=n||function(){};e=r.resolve(e);u.mkdir(e,a,function(n){if(!n){o=o||e;return c(null,o)}switch(n.code){case"ENOENT":mkdirP(r.dirname(e),t,function(n,r){if(n)c(n,r);else mkdirP(e,t,c,r)});break;default:u.stat(e,function(e,t){if(e||!t.isDirectory())c(n,o);else c(null,o)});break}})}mkdirP.sync=function sync(e,t,n){if(!t||typeof t!=="object"){t={mode:t}}var o=t.mode;var a=t.fs||i;if(o===undefined){o=s&~process.umask()}if(!n)n=null;e=r.resolve(e);try{a.mkdirSync(e,o);n=n||e}catch(i){switch(i.code){case"ENOENT":n=sync(r.dirname(e),t,n);sync(e,t,n);break;default:var u;try{u=a.statSync(e)}catch(e){throw i}if(!u.isDirectory())throw i;break}}return n}},486:function(e,t,n){var r=n(5747);var i=n(5622);var s=n(1669);function Y18N(e){e=e||{};this.directory=e.directory||"./locales";this.updateFiles=typeof e.updateFiles==="boolean"?e.updateFiles:true;this.locale=e.locale||"en";this.fallbackToLanguage=typeof e.fallbackToLanguage==="boolean"?e.fallbackToLanguage:true;this.cache={};this.writeQueue=[]}Y18N.prototype.__=function(){if(typeof arguments[0]!=="string"){return this._taggedLiteral.apply(this,arguments)}var e=Array.prototype.slice.call(arguments);var t=e.shift();var n=function(){};if(typeof e[e.length-1]==="function")n=e.pop();n=n||function(){};if(!this.cache[this.locale])this._readLocaleFile();if(!this.cache[this.locale][t]&&this.updateFiles){this.cache[this.locale][t]=t;this._enqueueWrite([this.directory,this.locale,n])}else{n()}return s.format.apply(s,[this.cache[this.locale][t]||t].concat(e))};Y18N.prototype._taggedLiteral=function(e){var t=arguments;var n="";e.forEach(function(e,r){var i=t[r+1];n+=e;if(typeof i!=="undefined"){n+="%s"}});return this.__.apply(null,[n].concat([].slice.call(arguments,1)))};Y18N.prototype._enqueueWrite=function(e){this.writeQueue.push(e);if(this.writeQueue.length===1)this._processWriteQueue()};Y18N.prototype._processWriteQueue=function(){var e=this;var t=this.writeQueue[0];var n=t[0];var i=t[1];var s=t[2];var o=this._resolveLocaleFile(n,i);var a=JSON.stringify(this.cache[i],null,2);r.writeFile(o,a,"utf-8",function(t){e.writeQueue.shift();if(e.writeQueue.length>0)e._processWriteQueue();s(t)})};Y18N.prototype._readLocaleFile=function(){var e={};var t=this._resolveLocaleFile(this.directory,this.locale);try{e=JSON.parse(r.readFileSync(t,"utf-8"))}catch(n){if(n instanceof SyntaxError){n.message="syntax error in "+t}if(n.code==="ENOENT")e={};else throw n}this.cache[this.locale]=e};Y18N.prototype._resolveLocaleFile=function(e,t){var n=i.resolve(e,"./",t+".json");if(this.fallbackToLanguage&&!this._fileExistsSync(n)&&~t.lastIndexOf("_")){var r=i.resolve(e,"./",t.split("_")[0]+".json");if(this._fileExistsSync(r))n=r}return n};Y18N.prototype._fileExistsSync=function(e){try{return r.statSync(e).isFile()}catch(e){return false}};Y18N.prototype.__n=function(){var e=Array.prototype.slice.call(arguments);var t=e.shift();var n=e.shift();var r=e.shift();var i=function(){};if(typeof e[e.length-1]==="function")i=e.pop();if(!this.cache[this.locale])this._readLocaleFile();var o=r===1?t:n;if(this.cache[this.locale][t]){o=this.cache[this.locale][t][r===1?"one":"other"]}if(!this.cache[this.locale][t]&&this.updateFiles){this.cache[this.locale][t]={one:t,other:n};this._enqueueWrite([this.directory,this.locale,i])}else{i()}var a=[o];if(~o.indexOf("%d"))a.push(r);return s.format.apply(s,a.concat(e))};Y18N.prototype.setLocale=function(e){this.locale=e};Y18N.prototype.getLocale=function(){return this.locale};Y18N.prototype.updateLocale=function(e){if(!this.cache[this.locale])this._readLocaleFile();for(var t in e){this.cache[this.locale][t]=e[t]}};e.exports=function(e){var t=new Y18N(e);for(var n in t){if(typeof t[n]==="function"){t[n]=t[n].bind(t)}}return t}},489:function(e){"use strict";e.exports=function generate_enum(e,t,n){var r=" ";var i=e.level;var s=e.dataLevel;var o=e.schema[t];var a=e.schemaPath+e.util.getProperty(t);var u=e.errSchemaPath+"/"+t;var c=!e.opts.allErrors;var l="data"+(s||"");var f="valid"+i;var d=e.opts.$data&&o&&o.$data,p;if(d){r+=" var schema"+i+" = "+e.util.getData(o.$data,s,e.dataPathArr)+"; ";p="schema"+i}else{p=o}var h="i"+i,m="schema"+i;if(!d){r+=" var "+m+" = validate.schema"+a+";"}r+="var "+f+";";if(d){r+=" if (schema"+i+" === undefined) "+f+" = true; else if (!Array.isArray(schema"+i+")) "+f+" = false; else {"}r+=""+f+" = false;for (var "+h+"=0; "+h+"<"+m+".length; "+h+"++) if (equal("+l+", "+m+"["+h+"])) { "+f+" = true; break; }";if(d){r+=" } "}r+=" if (!"+f+") { ";var g=g||[];g.push(r);r="";if(e.createErrors!==false){r+=" { keyword: '"+"enum"+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { allowedValues: schema"+i+" } ";if(e.opts.messages!==false){r+=" , message: 'should be equal to one of the allowed values' "}if(e.opts.verbose){r+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "}r+=" } "}else{r+=" {} "}var y=r;r=g.pop();if(!e.compositeRule&&c){if(e.async){r+=" throw new ValidationError(["+y+"]); "}else{r+=" validate.errors = ["+y+"]; return false; "}}else{r+=" var err = "+y+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}r+=" }";if(c){r+=" else { "}return r}},507:function(e){"use strict";e.exports=function generate__limit(e,t,n){var r=" ";var i=e.level;var s=e.dataLevel;var o=e.schema[t];var a=e.schemaPath+e.util.getProperty(t);var u=e.errSchemaPath+"/"+t;var c=!e.opts.allErrors;var l;var f="data"+(s||"");var d=e.opts.$data&&o&&o.$data,p;if(d){r+=" var schema"+i+" = "+e.util.getData(o.$data,s,e.dataPathArr)+"; ";p="schema"+i}else{p=o}var h=t=="maximum",m=h?"exclusiveMaximum":"exclusiveMinimum",g=e.schema[m],y=e.opts.$data&&g&&g.$data,v=h?"<":">",b=h?">":"<",l=undefined;if(y){var w=e.util.getData(g.$data,s,e.dataPathArr),E="exclusive"+i,_="exclType"+i,S="exclIsNumber"+i,k="op"+i,C="' + "+k+" + '";r+=" var schemaExcl"+i+" = "+w+"; ";w="schemaExcl"+i;r+=" var "+E+"; var "+_+" = typeof "+w+"; if ("+_+" != 'boolean' && "+_+" != 'undefined' && "+_+" != 'number') { ";var l=m;var D=D||[];D.push(r);r="";if(e.createErrors!==false){r+=" { keyword: '"+(l||"_exclusiveLimit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: {} ";if(e.opts.messages!==false){r+=" , message: '"+m+" should be boolean' "}if(e.opts.verbose){r+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+f+" "}r+=" } "}else{r+=" {} "}var A=r;r=D.pop();if(!e.compositeRule&&c){if(e.async){r+=" throw new ValidationError(["+A+"]); "}else{r+=" validate.errors = ["+A+"]; return false; "}}else{r+=" var err = "+A+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}r+=" } else if ( ";if(d){r+=" ("+p+" !== undefined && typeof "+p+" != 'number') || "}r+=" "+_+" == 'number' ? ( ("+E+" = "+p+" === undefined || "+w+" "+v+"= "+p+") ? "+f+" "+b+"= "+w+" : "+f+" "+b+" "+p+" ) : ( ("+E+" = "+w+" === true) ? "+f+" "+b+"= "+p+" : "+f+" "+b+" "+p+" ) || "+f+" !== "+f+") { var op"+i+" = "+E+" ? '"+v+"' : '"+v+"='; ";if(o===undefined){l=m;u=e.errSchemaPath+"/"+m;p=w;d=y}}else{var S=typeof g=="number",C=v;if(S&&d){var k="'"+C+"'";r+=" if ( ";if(d){r+=" ("+p+" !== undefined && typeof "+p+" != 'number') || "}r+=" ( "+p+" === undefined || "+g+" "+v+"= "+p+" ? "+f+" "+b+"= "+g+" : "+f+" "+b+" "+p+" ) || "+f+" !== "+f+") { "}else{if(S&&o===undefined){E=true;l=m;u=e.errSchemaPath+"/"+m;p=g;b+="="}else{if(S)p=Math[h?"min":"max"](g,o);if(g===(S?p:true)){E=true;l=m;u=e.errSchemaPath+"/"+m;b+="="}else{E=false;C+="="}}var k="'"+C+"'";r+=" if ( ";if(d){r+=" ("+p+" !== undefined && typeof "+p+" != 'number') || "}r+=" "+f+" "+b+" "+p+" || "+f+" !== "+f+") { "}}l=l||t;var D=D||[];D.push(r);r="";if(e.createErrors!==false){r+=" { keyword: '"+(l||"_limit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { comparison: "+k+", limit: "+p+", exclusive: "+E+" } ";if(e.opts.messages!==false){r+=" , message: 'should be "+C+" ";if(d){r+="' + "+p}else{r+=""+p+"'"}}if(e.opts.verbose){r+=" , schema: ";if(d){r+="validate.schema"+a}else{r+=""+o}r+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+f+" "}r+=" } "}else{r+=" {} "}var A=r;r=D.pop();if(!e.compositeRule&&c){if(e.async){r+=" throw new ValidationError(["+A+"]); "}else{r+=" validate.errors = ["+A+"]; return false; "}}else{r+=" var err = "+A+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}r+=" } ";if(c){r+=" else { "}return r}},518:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:true});t.read=read;t.write=write;function read(e,t,n,r,i){var s,o;var a=i*8-r-1;var u=(1<>1;var l=-7;var f=n?i-1:0;var d=n?-1:1;var p=e[t+f];f+=d;s=p&(1<<-l)-1;p>>=-l;l+=a;for(;l>0;s=s*256+e[t+f],f+=d,l-=8){}o=s&(1<<-l)-1;s>>=-l;l+=r;for(;l>0;o=o*256+e[t+f],f+=d,l-=8){}if(s===0){s=1-c}else if(s===u){return o?NaN:(p?-1:1)*Infinity}else{o=o+Math.pow(2,r);s=s-c}return(p?-1:1)*o*Math.pow(2,s-r)}function write(e,t,n,r,i,s){var o,a,u;var c=s*8-i-1;var l=(1<>1;var d=i===23?Math.pow(2,-24)-Math.pow(2,-77):0;var p=r?0:s-1;var h=r?1:-1;var m=t<0||t===0&&1/t<0?1:0;t=Math.abs(t);if(isNaN(t)||t===Infinity){a=isNaN(t)?1:0;o=l}else{o=Math.floor(Math.log(t)/Math.LN2);if(t*(u=Math.pow(2,-o))<1){o--;u*=2}if(o+f>=1){t+=d/u}else{t+=d*Math.pow(2,1-f)}if(t*u>=2){o++;u/=2}if(o+f>=l){a=0;o=l}else if(o+f>=1){a=(t*u-1)*Math.pow(2,i);o=o+f}else{a=t*Math.pow(2,f-1)*Math.pow(2,i);o=0}}for(;i>=8;e[n+p]=a&255,p+=h,a/=256,i-=8){}o=o<0;e[n+p]=o&255,p+=h,o/=256,c-=8){}e[n+p-h]|=m*128}},528:function(e){"use strict";class Hook{constructor(e){if(!Array.isArray(e))e=[];this._args=e;this.taps=[];this.interceptors=[];this.call=this._call;this.promise=this._promise;this.callAsync=this._callAsync;this._x=undefined}compile(e){throw new Error("Abstract: should be overriden")}_createCall(e){return this.compile({taps:this.taps,interceptors:this.interceptors,args:this._args,type:e})}tap(e,t){if(typeof e==="string")e={name:e};if(typeof e!=="object"||e===null)throw new Error("Invalid arguments to tap(options: Object, fn: function)");e=Object.assign({type:"sync",fn:t},e);if(typeof e.name!=="string"||e.name==="")throw new Error("Missing name for tap");e=this._runRegisterInterceptors(e);this._insert(e)}tapAsync(e,t){if(typeof e==="string")e={name:e};if(typeof e!=="object"||e===null)throw new Error("Invalid arguments to tapAsync(options: Object, fn: function)");e=Object.assign({type:"async",fn:t},e);if(typeof e.name!=="string"||e.name==="")throw new Error("Missing name for tapAsync");e=this._runRegisterInterceptors(e);this._insert(e)}tapPromise(e,t){if(typeof e==="string")e={name:e};if(typeof e!=="object"||e===null)throw new Error("Invalid arguments to tapPromise(options: Object, fn: function)");e=Object.assign({type:"promise",fn:t},e);if(typeof e.name!=="string"||e.name==="")throw new Error("Missing name for tapPromise");e=this._runRegisterInterceptors(e);this._insert(e)}_runRegisterInterceptors(e){for(const t of this.interceptors){if(t.register){const n=t.register(e);if(n!==undefined)e=n}}return e}withOptions(e){const t=t=>Object.assign({},e,typeof t==="string"?{name:t}:t);e=Object.assign({},e,this._withOptions);const n=this._withOptionsBase||this;const r=Object.create(n);r.tapAsync=((e,r)=>n.tapAsync(t(e),r)),r.tap=((e,r)=>n.tap(t(e),r));r.tapPromise=((e,r)=>n.tapPromise(t(e),r));r._withOptions=e;r._withOptionsBase=n;return r}isUsed(){return this.taps.length>0||this.interceptors.length>0}intercept(e){this._resetCompilation();this.interceptors.push(Object.assign({},e));if(e.register){for(let t=0;t0){r--;const e=this.taps[r];this.taps[r+1]=e;const i=e.stage||0;if(t){if(t.has(e.name)){t.delete(e.name);continue}if(t.size>0){continue}}if(i>n){continue}r++;break}this.taps[r]=e}}function createCompileDelegate(e,t){return function lazyCompileHook(...n){this[e]=this._createCall(t);return this[e](...n)}}Object.defineProperties(Hook.prototype,{_call:{value:createCompileDelegate("call","sync"),configurable:true,writable:true},_promise:{value:createCompileDelegate("promise","promise"),configurable:true,writable:true},_callAsync:{value:createCompileDelegate("callAsync","async"),configurable:true,writable:true}});e.exports=Hook},531:function(e,t,n){"use strict";const{ConcatSource:r}=n(2991);class JsonpExportMainTemplatePlugin{constructor(e){this.name=e}apply(e){const{mainTemplate:t,chunkTemplate:n}=e;const i=(e,n,i)=>{const s=t.getAssetPath(this.name||"",{hash:i,chunk:n});return new r(`${s}(`,e,");")};t.hooks.renderWithEntry.tap("JsonpExportMainTemplatePlugin",i);n.hooks.renderWithEntry.tap("JsonpExportMainTemplatePlugin",i);t.hooks.hash.tap("JsonpExportMainTemplatePlugin",e=>{e.update("jsonp export");e.update(`${this.name}`)})}}e.exports=JsonpExportMainTemplatePlugin},533:function(e,t,n){"use strict";const{HookMap:r,SyncWaterfallHook:i,SyncBailHook:s}=n(2960);const o=(e,t,n)=>{const r=t.split(".");for(let t=0;t{const i=t.split(".");for(let t=0;tnew s(["elements","context"])),printElements:new r(()=>new s(["printedElements","context"])),sortItems:new r(()=>new s(["items","context"])),getItemName:new r(()=>new s(["item","context"])),printItems:new r(()=>new s(["printedItems","context"])),print:new r(()=>new s(["object","context"])),result:new r(()=>new i(["result","context"]))})}print(e,t,n){const r={...n,type:e,[e]:t};let i=o(this.hooks.print,e,e=>e.call(t,r));if(i===undefined){if(Array.isArray(t)){const n=t.slice();o(this.hooks.sortItems,e,e=>e.call(n,r));const s=n.map((t,n)=>{const i={...r,_index:n};const s=o(this.hooks.getItemName,`${e}[]`,e=>e.call(t,i));if(s)i[s]=t;return this.print(s?`${e}[].${s}`:`${e}[]`,t,i)});i=o(this.hooks.printItems,e,e=>e.call(s,r));if(i===undefined){const e=s.filter(Boolean);if(e.length>0)i=e.join("\n")}}else if(t!==null&&typeof t==="object"){const n=Object.keys(t);o(this.hooks.sortElements,e,e=>e.call(n,r));const s=n.map(n=>{const i=this.print(`${e}.${n}`,t[n],{...r,_parent:t,_element:n,[n]:t[n]});return{element:n,content:i}});i=o(this.hooks.printElements,e,e=>e.call(s,r));if(i===undefined){const e=s.map(e=>e.content).filter(Boolean);if(e.length>0)i=e.join("\n")}}}return a(this.hooks.result,e,i,(e,t)=>e.call(t,r))}}e.exports=StatsPrinter},535:function(e){e.exports=function(e,t){if(!t)t={};var n={bools:{},strings:{},unknownFn:null};if(typeof t["unknown"]==="function"){n.unknownFn=t["unknown"]}if(typeof t["boolean"]==="boolean"&&t["boolean"]){n.allBools=true}else{[].concat(t["boolean"]).filter(Boolean).forEach(function(e){n.bools[e]=true})}var r={};Object.keys(t.alias||{}).forEach(function(e){r[e]=[].concat(t.alias[e]);r[e].forEach(function(t){r[t]=[e].concat(r[e].filter(function(e){return t!==e}))})});[].concat(t.string).filter(Boolean).forEach(function(e){n.strings[e]=true;if(r[e]){n.strings[r[e]]=true}});var i=t["default"]||{};var s={_:[]};Object.keys(n.bools).forEach(function(e){setArg(e,i[e]===undefined?false:i[e])});var o=[];if(e.indexOf("--")!==-1){o=e.slice(e.indexOf("--")+1);e=e.slice(0,e.indexOf("--"))}function argDefined(e,t){return n.allBools&&/^--[^=]+$/.test(t)||n.strings[e]||n.bools[e]||r[e]}function setArg(e,t,i){if(i&&n.unknownFn&&!argDefined(e,i)){if(n.unknownFn(i)===false)return}var o=!n.strings[e]&&isNumber(t)?Number(t):t;setKey(s,e.split("."),o);(r[e]||[]).forEach(function(e){setKey(s,e.split("."),o)})}function setKey(e,t,r){var i=e;for(var s=0;s{const t=e.indexOf("?");return t!==-1?e.substr(t):""};const u=(e,t)=>{const n=[t];while(n.length>0){const t=n.pop();switch(t.type){case"Identifier":e.add(t.name);break;case"ArrayPattern":for(const e of t.elements){if(e){n.push(e)}}break;case"AssignmentPattern":n.push(t.left);break;case"ObjectPattern":for(const e of t.properties){n.push(e.value)}break;case"RestElement":n.push(t.argument);break}}};const c=(e,t)=>{const n=new Set;const r=[e];while(r.length>0){const e=r.pop();if(!e)continue;switch(e.type){case"BlockStatement":for(const t of e.body){r.push(t)}break;case"IfStatement":r.push(e.consequent);r.push(e.alternate);break;case"ForStatement":r.push(e.init);r.push(e.body);break;case"ForInStatement":case"ForOfStatement":r.push(e.left);r.push(e.body);break;case"DoWhileStatement":case"WhileStatement":case"LabeledStatement":r.push(e.body);break;case"SwitchStatement":for(const t of e.cases){for(const e of t.consequent){r.push(e)}}break;case"TryStatement":r.push(e.block);if(e.handler){r.push(e.handler.body)}r.push(e.finalizer);break;case"FunctionDeclaration":if(t){u(n,e.id)}break;case"VariableDeclaration":if(e.kind==="var"){for(const t of e.declarations){u(n,t.id)}}break}}return Array.from(n)};class ConstPlugin{apply(e){e.hooks.compilation.tap("ConstPlugin",(e,{normalModuleFactory:t})=>{e.dependencyFactories.set(o,new i);e.dependencyTemplates.set(o,new o.Template);e.dependencyFactories.set(s,new i);e.dependencyTemplates.set(s,new s.Template);const n=e=>{e.hooks.statementIf.tap("ConstPlugin",t=>{const n=e.evaluateExpression(t.test);const r=n.asBool();if(typeof r==="boolean"){if(t.test.type!=="Literal"){const i=new o(`${r}`,n.range);i.loc=t.loc;e.state.current.addDependency(i)}const i=r?t.alternate:t.consequent;if(i){let t;if(e.scope.isStrict){t=c(i,false)}else{t=c(i,true)}let n;if(t.length>0){n=`{ var ${t.join(", ")}; }`}else{n="{}"}const r=new o(n,i.range);r.loc=i.loc;e.state.current.addDependency(r)}return r}});e.hooks.expressionConditionalOperator.tap("ConstPlugin",t=>{const n=e.evaluateExpression(t.test);const r=n.asBool();if(typeof r==="boolean"){if(t.test.type!=="Literal"){const i=new o(` ${r}`,n.range);i.loc=t.loc;e.state.current.addDependency(i)}const i=r?t.alternate:t.consequent;const s=new o("undefined",i.range);s.loc=i.loc;e.state.current.addDependency(s);return r}});e.hooks.expressionLogicalOperator.tap("ConstPlugin",t=>{if(t.operator==="&&"||t.operator==="||"){const n=e.evaluateExpression(t.left);const r=n.asBool();if(typeof r==="boolean"){const i=t.operator==="&&"&&r||t.operator==="||"&&!r;if(n.isBoolean()||i){const i=new o(` ${r}`,n.range);i.loc=t.loc;e.state.current.addDependency(i)}else{e.walkExpression(t.left)}if(!i){const n=new o("false",t.right.range);n.loc=t.loc;e.state.current.addDependency(n)}return i}}});e.hooks.evaluateIdentifier.for("__resourceQuery").tap("ConstPlugin",t=>{if(!e.state.module)return;return r(a(e.state.module.resource))(t)});e.hooks.expression.for("__resourceQuery").tap("ConstPlugin",t=>{if(!e.state.module)return;const n=new s(JSON.stringify(a(e.state.module.resource)),t.range,"__resourceQuery");n.loc=t.loc;e.state.current.addDependency(n);return true})};t.hooks.parser.for("javascript/auto").tap("ConstPlugin",n);t.hooks.parser.for("javascript/dynamic").tap("ConstPlugin",n);t.hooks.parser.for("javascript/esm").tap("ConstPlugin",n)})}}e.exports=ConstPlugin},554:function(e){e.exports=function(e,t){if(typeof e!=="string"){throw new TypeError("Expected a string")}var n=String(e);var r="";var i=t?!!t.extended:false;var s=t?!!t.globstar:false;var o=false;var a=t&&typeof t.flags==="string"?t.flags:"";var u;for(var c=0,l=n.length;c1&&(f==="/"||f===undefined)&&(p==="/"||p===undefined);if(h){r+="((?:[^/]*(?:/|$))*)";c++}else{r+="([^/]*)"}}break;default:r+=u}}if(!a||!~a.indexOf("g")){r="^"+r+"$"}return new RegExp(r,a)}},560:function(e,t,n){"use strict";const r=n(1669);e.exports=r.deprecate(function createInnerCallback(e,t,n,r){const i=t.log;if(!i){if(t.stack!==e.stack){const n=function callbackWrapper(){return e.apply(this,arguments)};n.stack=t.stack;n.missing=t.missing;return n}return e}function loggingCallbackWrapper(){return e.apply(this,arguments)}if(n){if(!r){i(n)}loggingCallbackWrapper.log=function writeLog(e){if(r){i(n);r=false}i(" "+e)}}else{loggingCallbackWrapper.log=function writeLog(e){i(e)}}loggingCallbackWrapper.stack=t.stack;loggingCallbackWrapper.missing=t.missing;return loggingCallbackWrapper},"Pass resolveContext instead and use createInnerContext")},581:function(e,t,n){"use strict";e.exports=n(7113)("Minimum")},585:function(e,t,n){"use strict";var r=n(9505);var i;var s=function(){throw new Error("No async scheduler available\n\n See http://goo.gl/MqrFmX\n")};var o=r.getNativePromise();if(r.isNode&&typeof MutationObserver==="undefined"){var a=global.setImmediate;var u=process.nextTick;i=r.isRecentNode?function(e){a.call(global,e)}:function(e){u.call(process,e)}}else if(typeof o==="function"&&typeof o.resolve==="function"){var c=o.resolve();i=function(e){c.then(e)}}else if(typeof MutationObserver!=="undefined"&&!(typeof window!=="undefined"&&window.navigator&&(window.navigator.standalone||window.cordova))&&"classList"in document.documentElement){i=function(){var e=document.createElement("div");var t={attributes:true};var n=false;var r=document.createElement("div");var i=new MutationObserver(function(){e.classList.toggle("foo");n=false});i.observe(r,t);var s=function(){if(n)return;n=true;r.classList.toggle("foo")};return function schedule(n){var r=new MutationObserver(function(){r.disconnect();n()});r.observe(e,t);s()}}()}else if(typeof setImmediate!=="undefined"){i=function(e){setImmediate(e)}}else if(typeof setTimeout!=="undefined"){i=function(e){setTimeout(e,0)}}else{i=s}e.exports=i},601:function(e,t,n){t.alphasort=alphasort;t.alphasorti=alphasorti;t.setopts=setopts;t.ownProp=ownProp;t.makeAbs=makeAbs;t.finish=finish;t.mark=mark;t.isIgnored=isIgnored;t.childrenIgnored=childrenIgnored;function ownProp(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var r=n(5622);var i=n(642);var s=n(2963);var o=i.Minimatch;function alphasorti(e,t){return e.toLowerCase().localeCompare(t.toLowerCase())}function alphasort(e,t){return e.localeCompare(t)}function setupIgnores(e,t){e.ignore=t.ignore||[];if(!Array.isArray(e.ignore))e.ignore=[e.ignore];if(e.ignore.length){e.ignore=e.ignore.map(ignoreMap)}}function ignoreMap(e){var t=null;if(e.slice(-3)==="/**"){var n=e.replace(/(\/\*\*)+$/,"");t=new o(n,{dot:true})}return{matcher:new o(e,{dot:true}),gmatcher:t}}function setopts(e,t,n){if(!n)n={};if(n.matchBase&&-1===t.indexOf("/")){if(n.noglobstar){throw new Error("base matching requires globstar")}t="**/"+t}e.silent=!!n.silent;e.pattern=t;e.strict=n.strict!==false;e.realpath=!!n.realpath;e.realpathCache=n.realpathCache||Object.create(null);e.follow=!!n.follow;e.dot=!!n.dot;e.mark=!!n.mark;e.nodir=!!n.nodir;if(e.nodir)e.mark=true;e.sync=!!n.sync;e.nounique=!!n.nounique;e.nonull=!!n.nonull;e.nosort=!!n.nosort;e.nocase=!!n.nocase;e.stat=!!n.stat;e.noprocess=!!n.noprocess;e.absolute=!!n.absolute;e.maxLength=n.maxLength||Infinity;e.cache=n.cache||Object.create(null);e.statCache=n.statCache||Object.create(null);e.symlinks=n.symlinks||Object.create(null);setupIgnores(e,n);e.changedCwd=false;var i=process.cwd();if(!ownProp(n,"cwd"))e.cwd=i;else{e.cwd=r.resolve(n.cwd);e.changedCwd=e.cwd!==i}e.root=n.root||r.resolve(e.cwd,"/");e.root=r.resolve(e.root);if(process.platform==="win32")e.root=e.root.replace(/\\/g,"/");e.cwdAbs=s(e.cwd)?e.cwd:makeAbs(e,e.cwd);if(process.platform==="win32")e.cwdAbs=e.cwdAbs.replace(/\\/g,"/");e.nomount=!!n.nomount;n.nonegate=true;n.nocomment=true;e.minimatch=new o(t,n);e.options=e.minimatch.options}function finish(e){var t=e.nounique;var n=t?[]:Object.create(null);for(var r=0,i=e.matches.length;r{let n=null;let a=null;let u=null;switch(t.arguments.length){case 4:{const r=e.evaluateExpression(t.arguments[3]);if(!r.isString())return;n=r.string}case 3:{a=t.arguments[2];u=o(a);if(!u&&!n){const r=e.evaluateExpression(t.arguments[2]);if(!r.isString())return;n=r.string}}case 2:{const c=e.evaluateExpression(t.arguments[0]);const l=c.isArray()?c.items:[c];const f=t.arguments[1];const d=o(f);if(d){e.walkExpressions(d.expressions)}if(u){e.walkExpressions(u.expressions)}const p=new r(n,t.loc);const h=t.arguments.length===4||!n&&t.arguments.length===3;const m=new i(t.range,t.arguments[1].range,h&&t.arguments[2].range);m.loc=t.loc;p.addDependency(m);const g=e.state.current;e.state.current=p;try{let n=false;e.inScope([],()=>{for(const e of l){if(e.isString()){const n=new s(e.string);n.loc=e.loc||t.loc;p.addDependency(n)}else{n=true}}});if(n){return}if(d){if(d.fn.body.type==="BlockStatement"){e.walkStatement(d.fn.body)}else{e.walkExpression(d.fn.body)}}g.addBlock(p)}finally{e.state.current=g}if(!d){e.walkExpression(f)}if(u){if(u.fn.body.type==="BlockStatement"){e.walkStatement(u.fn.body)}else{e.walkExpression(u.fn.body)}}else if(a){e.walkExpression(a)}return true}}})}}},625:function(e,t,n){"use strict";const{find:r}=n(6221);const i=n(5787);const s=n(4116);const o=n(3529);const a=new WeakSet;const u=e=>!e.endsWith(".map");e.exports=class SizeLimitsPlugin{constructor(e){this.hints=e.hints;this.maxAssetSize=e.maxAssetSize;this.maxEntrypointSize=e.maxEntrypointSize;this.assetFilter=e.assetFilter}static isOverSizeLimit(e){return a.has(e)}apply(e){const t=this.maxEntrypointSize;const n=this.maxAssetSize;const c=this.hints;const l=this.assetFilter||u;e.hooks.afterEmit.tap("SizeLimitsPlugin",e=>{const u=[];const f=t=>t.getFiles().reduce((t,n)=>{if(l(n)&&e.assets[n]){return t+e.assets[n].size()}return t},0);const d=[];for(const t of Object.keys(e.assets)){if(!l(t)){continue}const r=e.assets[t];const i=r.size();if(i>n){d.push({name:t,size:i});a.add(r)}}const p=[];for(const n of e.entrypoints){const e=n[0];const r=n[1];const i=f(r);if(i>t){p.push({name:e,size:i,files:r.getFiles().filter(l)});a.add(r)}}if(c){if(d.length>0){u.push(new i(d,n))}if(p.length>0){u.push(new s(p,t))}if(u.length>0){const t=r(e.chunks,e=>!e.canBeInitial());if(!t){u.push(new o)}if(c==="error"){e.errors.push(...u)}else{e.warnings.push(...u)}}}})}}},640:function(e,t,n){"use strict";e.exports=function(e,t){if(!e._opts.allErrors)throw new Error("ajv-errors: Ajv option allErrors must be true");if(!e._opts.jsonPointers){console.warn("ajv-errors: Ajv option jsonPointers changed to true");e._opts.jsonPointers=true}e.addKeyword("errorMessage",{inline:n(3717),statements:true,valid:true,errors:"full",config:{KEYWORD_PROPERTY_PARAMS:{required:"missingProperty",dependencies:"property"},options:t||{}},metaSchema:{type:["string","object"],properties:{properties:{$ref:"#/definitions/stringMap"},items:{$ref:"#/definitions/stringList"},required:{$ref:"#/definitions/stringOrMap"},dependencies:{$ref:"#/definitions/stringOrMap"}},additionalProperties:{type:"string"},definitions:{stringMap:{type:["object"],additionalProperties:{type:"string"}},stringOrMap:{type:["string","object"],additionalProperties:{type:"string"}},stringList:{type:["array"],items:{type:"string"}}}}});return e}},642:function(e,t,n){e.exports=minimatch;minimatch.Minimatch=Minimatch;var r={sep:"/"};try{r=n(5622)}catch(e){}var i=minimatch.GLOBSTAR=Minimatch.GLOBSTAR={};var s=n(3215);var o={"!":{open:"(?:(?!(?:",close:"))[^/]*?)"},"?":{open:"(?:",close:")?"},"+":{open:"(?:",close:")+"},"*":{open:"(?:",close:")*"},"@":{open:"(?:",close:")"}};var a="[^/]";var u=a+"*?";var c="(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";var l="(?:(?!(?:\\/|^)\\.).)*?";var f=charSet("().*{}+?[]^$\\!");function charSet(e){return e.split("").reduce(function(e,t){e[t]=true;return e},{})}var d=/\/+/;minimatch.filter=filter;function filter(e,t){t=t||{};return function(n,r,i){return minimatch(n,e,t)}}function ext(e,t){e=e||{};t=t||{};var n={};Object.keys(t).forEach(function(e){n[e]=t[e]});Object.keys(e).forEach(function(t){n[t]=e[t]});return n}minimatch.defaults=function(e){if(!e||!Object.keys(e).length)return minimatch;var t=minimatch;var n=function minimatch(n,r,i){return t.minimatch(n,r,ext(e,i))};n.Minimatch=function Minimatch(n,r){return new t.Minimatch(n,ext(e,r))};return n};Minimatch.defaults=function(e){if(!e||!Object.keys(e).length)return Minimatch;return minimatch.defaults(e).Minimatch};function minimatch(e,t,n){if(typeof t!=="string"){throw new TypeError("glob pattern string required")}if(!n)n={};if(!n.nocomment&&t.charAt(0)==="#"){return false}if(t.trim()==="")return e==="";return new Minimatch(t,n).match(e)}function Minimatch(e,t){if(!(this instanceof Minimatch)){return new Minimatch(e,t)}if(typeof e!=="string"){throw new TypeError("glob pattern string required")}if(!t)t={};e=e.trim();if(r.sep!=="/"){e=e.split(r.sep).join("/")}this.options=t;this.set=[];this.pattern=e;this.regexp=null;this.negate=false;this.comment=false;this.empty=false;this.make()}Minimatch.prototype.debug=function(){};Minimatch.prototype.make=make;function make(){if(this._made)return;var e=this.pattern;var t=this.options;if(!t.nocomment&&e.charAt(0)==="#"){this.comment=true;return}if(!e){this.empty=true;return}this.parseNegate();var n=this.globSet=this.braceExpand();if(t.debug)this.debug=console.error;this.debug(this.pattern,n);n=this.globParts=n.map(function(e){return e.split(d)});this.debug(this.pattern,n);n=n.map(function(e,t,n){return e.map(this.parse,this)},this);this.debug(this.pattern,n);n=n.filter(function(e){return e.indexOf(false)===-1});this.debug(this.pattern,n);this.set=n}Minimatch.prototype.parseNegate=parseNegate;function parseNegate(){var e=this.pattern;var t=false;var n=this.options;var r=0;if(n.nonegate)return;for(var i=0,s=e.length;i1024*64){throw new TypeError("pattern is too long")}var n=this.options;if(!n.noglobstar&&e==="**")return i;if(e==="")return"";var r="";var s=!!n.nocase;var c=false;var l=[];var d=[];var h;var m=false;var g=-1;var y=-1;var v=e.charAt(0)==="."?"":n.dot?"(?!(?:^|\\/)\\.{1,2}(?:$|\\/))":"(?!\\.)";var b=this;function clearStateChar(){if(h){switch(h){case"*":r+=u;s=true;break;case"?":r+=a;s=true;break;default:r+="\\"+h;break}b.debug("clearStateChar %j %j",h,r);h=false}}for(var w=0,E=e.length,_;w-1;M--){var T=d[M];var O=r.slice(0,T.reStart);var F=r.slice(T.reStart,T.reEnd-8);var I=r.slice(T.reEnd-8,T.reEnd);var R=r.slice(T.reEnd);I+=R;var P=O.split("(").length-1;var N=R;for(w=0;w=0;o--){s=e[o];if(s)break}for(o=0;o>> no match, partial?",e,f,t,d);if(f===a)return true}return false}var h;if(typeof c==="string"){if(r.nocase){h=l.toLowerCase()===c.toLowerCase()}else{h=l===c}this.debug("string match",c,l,h)}else{h=l.match(c);this.debug("pattern match",c,l,h)}if(!h)return false}if(s===a&&o===u){return true}else if(s===a){return n}else if(o===u){var m=s===a-1&&e[s]==="";return m}throw new Error("wtf?")};function globUnescape(e){return e.replace(/\\(.)/g,"$1")}function regExpEscape(e){return e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}},654:function(e,t,n){"use strict";const r=n(6202);const i=n(7359);class HarmonyAcceptImportDependency extends i{constructor(e){super(e,NaN);this.weak=true}get type(){return"harmony accept"}serialize(e){const{write:t}=e;t(this.weak);super.serialize(e)}deserialize(e){const{read:t}=e;this.weak=t();super.deserialize(e)}}r(HarmonyAcceptImportDependency,"webpack/lib/dependencies/HarmonyAcceptImportDependency");HarmonyAcceptImportDependency.Template=class HarmonyAcceptImportDependencyTemplate extends i.Template{};e.exports=HarmonyAcceptImportDependency},674:function(e){"use strict";class ModuleFactory{create(e,t){throw new Error("ModuleFactory.create must be overridden")}}e.exports=ModuleFactory},675:function(e,t,n){"use strict";const r=n(5808);const i=n(6853);const s=i.promisify(r.chmod);const o=i.promisify(r.unlink);let a;let u;e.exports=moveFile;function moveFile(e,t){return i.fromNode(n=>{r.link(e,t,e=>{if(e){if(e.code==="EEXIST"||e.code==="EBUSY"){}else if(e.code==="EPERM"&&process.platform==="win32"){}else{return n(e)}}return n()})}).then(()=>{return i.join(o(e),process.platform!=="win32"&&s(t,"0444"))}).catch(()=>{if(!u){u=n(7393)}return u("cacache-move-file:"+t,()=>{return i.promisify(r.stat)(t).catch(s=>{if(s.code!=="ENOENT"){throw s}if(!a){a=n(9382)}return a(e,t,{BB:i,fs:r})})})})}},683:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:true});t.extract=extract;t.inject=inject;t.getSign=getSign;t.highOrder=highOrder;function extract(e,t,n,r){if(n<0||n>32){throw new Error("Bad value for bitLength.")}if(r===undefined){r=0}else if(r!==0&&r!==1){throw new Error("Bad value for defaultBit.")}var i=r*255;var s=0;var o=t+n;var a=Math.floor(t/8);var u=t%8;var c=Math.floor(o/8);var l=o%8;if(l!==0){s=get(c)&(1<a){c--;s=s<<8|get(c)}s>>>=u;return s;function get(t){var n=e[t];return n===undefined?i:n}}function inject(e,t,n,r){if(n<0||n>32){throw new Error("Bad value for bitLength.")}var i=Math.floor((t+n-1)/8);if(t<0||i>=e.length){throw new Error("Index out of range.")}var s=Math.floor(t/8);var o=t%8;while(n>0){if(r&1){e[s]|=1<>=1;n--;o=(o+1)%8;if(o===0){s++}}}function getSign(e){return e[e.length-1]>>>7}function highOrder(e,t){var n=t.length;var r=(e^1)*255;while(n>0&&t[n-1]===r){n--}if(n===0){return-1}var i=t[n-1];var s=n*8-1;for(var o=7;o>0;o--){if((i>>o&1)===e){break}s--}return s}},685:function(e){"use strict";class ValidationError extends Error{constructor(e,t){super();this.name="ValidationError";this.message=`${t||""} Invalid Options\n\n`;this.errors=e.map(e=>{e.dataPath=e.dataPath.replace(/\//g,".");return e});this.errors.forEach(e=>{this.message+=`options${e.dataPath} ${e.message}\n`});Error.captureStackTrace(this,this.constructor)}}e.exports=ValidationError},697:function(e,t,n){"use strict";const r=n(6202);const i=n(7737);const s=n(9983);class WebAssemblyExportImportedDependency extends s{constructor(e,t,n,r){super(t);this.exportName=e;this.name=n;this.valueType=r}getReference(e){const t=e.getModule(this);if(!t)return null;return new i(()=>e.getModule(this),[[this.name]],false)}get type(){return"wasm export import"}serialize(e){const{write:t}=e;t(this.exportName);t(this.name);t(this.valueType);super.serialize(e)}deserialize(e){const{read:t}=e;this.exportName=t();this.name=t();this.valueType=t();super.deserialize(e)}}r(WebAssemblyExportImportedDependency,"webpack/lib/dependencies/WebAssemblyExportImportedDependency");e.exports=WebAssemblyExportImportedDependency},698:function(e,t,n){"use strict";var r=n(778);var i=/^(\d\d\d\d)-(\d\d)-(\d\d)$/;var s=[0,31,28,31,30,31,30,31,31,30,31,30,31];var o=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d:\d\d)?$/i;var a=/^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*$/i;var u=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;var c=/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;var l=/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i;var f=/^(?:(?:http[s\u017F]?|ftp):\/\/)(?:(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+(?::(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?@)?(?:(?!10(?:\.[0-9]{1,3}){3})(?!127(?:\.[0-9]{1,3}){3})(?!169\.254(?:\.[0-9]{1,3}){2})(?!192\.168(?:\.[0-9]{1,3}){2})(?!172\.(?:1[6-9]|2[0-9]|3[01])(?:\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-?)*(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)(?:\.(?:(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-?)*(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)*(?:\.(?:(?:[KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\/(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?$/i;var d=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i;var p=/^(?:\/(?:[^~/]|~0|~1)*)*$/;var h=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i;var m=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/;e.exports=formats;function formats(e){e=e=="full"?"full":"fast";return r.copy(formats[e])}formats.fast={date:/^\d\d\d\d-[0-1]\d-[0-3]\d$/,time:/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d:\d\d)?$/i,"date-time":/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d:\d\d)$/i,uri:/^(?:[a-z][a-z0-9+-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,"uri-template":l,url:f,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i,hostname:a,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:regex,uuid:d,"json-pointer":p,"json-pointer-uri-fragment":h,"relative-json-pointer":m};formats.full={date:date,time:time,"date-time":date_time,uri:uri,"uri-reference":c,"uri-template":l,url:f,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:hostname,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:regex,uuid:d,"json-pointer":p,"json-pointer-uri-fragment":h,"relative-json-pointer":m};function isLeapYear(e){return e%4===0&&(e%100!==0||e%400===0)}function date(e){var t=e.match(i);if(!t)return false;var n=+t[1];var r=+t[2];var o=+t[3];return r>=1&&r<=12&&o>=1&&o<=(r==2&&isLeapYear(n)?29:s[r])}function time(e,t){var n=e.match(o);if(!n)return false;var r=n[1];var i=n[2];var s=n[3];var a=n[5];return(r<=23&&i<=59&&s<=59||r==23&&i==59&&s==60)&&(!t||a)}var g=/t|\s/i;function date_time(e){var t=e.split(g);return t.length==2&&date(t[0])&&time(t[1],true)}function hostname(e){return e.length<=255&&a.test(e)}var y=/\/|:/;function uri(e){return y.test(e)&&u.test(e)}var v=/[^\\]\\Z/;function regex(e){if(v.test(e))return false;try{new RegExp(e);return true}catch(e){return false}}},713:function(e,t,n){var r=e.exports.all=[{errno:-2,code:"ENOENT",description:"no such file or directory"},{errno:-1,code:"UNKNOWN",description:"unknown error"},{errno:0,code:"OK",description:"success"},{errno:1,code:"EOF",description:"end of file"},{errno:2,code:"EADDRINFO",description:"getaddrinfo error"},{errno:3,code:"EACCES",description:"permission denied"},{errno:4,code:"EAGAIN",description:"resource temporarily unavailable"},{errno:5,code:"EADDRINUSE",description:"address already in use"},{errno:6,code:"EADDRNOTAVAIL",description:"address not available"},{errno:7,code:"EAFNOSUPPORT",description:"address family not supported"},{errno:8,code:"EALREADY",description:"connection already in progress"},{errno:9,code:"EBADF",description:"bad file descriptor"},{errno:10,code:"EBUSY",description:"resource busy or locked"},{errno:11,code:"ECONNABORTED",description:"software caused connection abort"},{errno:12,code:"ECONNREFUSED",description:"connection refused"},{errno:13,code:"ECONNRESET",description:"connection reset by peer"},{errno:14,code:"EDESTADDRREQ",description:"destination address required"},{errno:15,code:"EFAULT",description:"bad address in system call argument"},{errno:16,code:"EHOSTUNREACH",description:"host is unreachable"},{errno:17,code:"EINTR",description:"interrupted system call"},{errno:18,code:"EINVAL",description:"invalid argument"},{errno:19,code:"EISCONN",description:"socket is already connected"},{errno:20,code:"EMFILE",description:"too many open files"},{errno:21,code:"EMSGSIZE",description:"message too long"},{errno:22,code:"ENETDOWN",description:"network is down"},{errno:23,code:"ENETUNREACH",description:"network is unreachable"},{errno:24,code:"ENFILE",description:"file table overflow"},{errno:25,code:"ENOBUFS",description:"no buffer space available"},{errno:26,code:"ENOMEM",description:"not enough memory"},{errno:27,code:"ENOTDIR",description:"not a directory"},{errno:28,code:"EISDIR",description:"illegal operation on a directory"},{errno:29,code:"ENONET",description:"machine is not on the network"},{errno:31,code:"ENOTCONN",description:"socket is not connected"},{errno:32,code:"ENOTSOCK",description:"socket operation on non-socket"},{errno:33,code:"ENOTSUP",description:"operation not supported on socket"},{errno:34,code:"ENOENT",description:"no such file or directory"},{errno:35,code:"ENOSYS",description:"function not implemented"},{errno:36,code:"EPIPE",description:"broken pipe"},{errno:37,code:"EPROTO",description:"protocol error"},{errno:38,code:"EPROTONOSUPPORT",description:"protocol not supported"},{errno:39,code:"EPROTOTYPE",description:"protocol wrong type for socket"},{errno:40,code:"ETIMEDOUT",description:"connection timed out"},{errno:41,code:"ECHARSET",description:"invalid Unicode character"},{errno:42,code:"EAIFAMNOSUPPORT",description:"address family for hostname not supported"},{errno:44,code:"EAISERVICE",description:"servname not supported for ai_socktype"},{errno:45,code:"EAISOCKTYPE",description:"ai_socktype not supported"},{errno:46,code:"ESHUTDOWN",description:"cannot send after transport endpoint shutdown"},{errno:47,code:"EEXIST",description:"file already exists"},{errno:48,code:"ESRCH",description:"no such process"},{errno:49,code:"ENAMETOOLONG",description:"name too long"},{errno:50,code:"EPERM",description:"operation not permitted"},{errno:51,code:"ELOOP",description:"too many symbolic links encountered"},{errno:52,code:"EXDEV",description:"cross-device link not permitted"},{errno:53,code:"ENOTEMPTY",description:"directory not empty"},{errno:54,code:"ENOSPC",description:"no space left on device"},{errno:55,code:"EIO",description:"i/o error"},{errno:56,code:"EROFS",description:"read-only file system"},{errno:57,code:"ENODEV",description:"no such device"},{errno:58,code:"ESPIPE",description:"invalid seek"},{errno:59,code:"ECANCELED",description:"operation canceled"}];e.exports.errno={};e.exports.code={};r.forEach(function(t){e.exports.errno[t.errno]=t;e.exports.code[t.code]=t});e.exports.custom=n(4448)(e.exports);e.exports.create=e.exports.custom.createError},714:function(e,t,n){"use strict";var r=n(9596).SourceNode;var i=n(9596).SourceMapConsumer;var s=n(6900).SourceListMap;var o=n(3292);var a=/(?!$)[^\n\r;{}]*[\n\r;{}]*/g;function _splitCode(e){return e.match(a)||[]}class OriginalSource extends o{constructor(e,t){super();this._value=e;this._name=t}source(){return this._value}node(e){e=e||{};var t=this._sourceMap;var n=this._value;var i=this._name;var s=n.split("\n");var o=new r(null,null,null,s.map(function(t,n){var o=0;if(e.columns===false){var a=t+(n!=s.length-1?"\n":"");return new r(n+1,0,i,a)}return new r(null,null,null,_splitCode(t+(n!=s.length-1?"\n":"")).map(function(e){if(/^\s*$/.test(e)){o+=e.length;return e}var t=new r(n+1,o,i,e);o+=e.length;return t}))}));o.setSourceContent(i,n);return o}listMap(e){return new s(this._value,this._name,this._value)}updateHash(e){e.update(this._value)}}n(3713)(OriginalSource.prototype);e.exports=OriginalSource},717:function(e,t){"use strict";const n="LOADER_EXECUTION";const r="WEBPACK_OPTIONS";t.cutOffByFlag=((e,t)=>{e=e.split("\n");for(let n=0;nt.cutOffByFlag(e,n));t.cutOffWebpackOptions=(e=>t.cutOffByFlag(e,r));t.cutOffMultilineMessage=((e,t)=>{e=e.split("\n");t=t.split("\n");return e.reduce((e,n,r)=>n.includes(t[r])?e:e.concat(n),[]).join("\n")});t.cutOffMessage=((e,t)=>{const n=e.indexOf("\n");if(n===-1){return e===t?"":e}else{const r=e.substr(0,n);return r===t?e.substr(n+1):e}});t.cleanUp=((e,n)=>{e=t.cutOffLoaderExecution(e);e=t.cutOffMessage(e,n);return e});t.cleanUpWebpackOptions=((e,n)=>{e=t.cutOffWebpackOptions(e);e=t.cutOffMultilineMessage(e,n);return e})},746:function(e){e.exports={definitions:{DllReferencePluginOptionsContent:{description:"The mappings from request to module info",type:"object",additionalProperties:{description:"Module info",type:"object",additionalProperties:false,properties:{buildMeta:{description:"Meta information about the module",type:"object"},exports:{description:"Information about the provided exports of the module",anyOf:[{description:"Exports unknown/dynamic",enum:[true]},{description:"List of provided exports of the module",type:"array",items:{description:"Name of the export",type:"string",minLength:1}}]},id:{description:"Module ID",anyOf:[{type:"number"},{type:"string",minLength:1}]}},required:["id"]},minProperties:1},DllReferencePluginOptionsManifest:{description:"An object containing content, name and type",type:"object",additionalProperties:false,properties:{content:{description:"The mappings from request to module info",anyOf:[{$ref:"#/definitions/DllReferencePluginOptionsContent"}]},name:{description:"The name where the dll is exposed (external name)",type:"string",minLength:1},type:{description:"The type how the dll is exposed (external type)",anyOf:[{$ref:"#/definitions/DllReferencePluginOptionsSourceType"}]}},required:["content"]},DllReferencePluginOptionsSourceType:{description:"The type how the dll is exposed (external type)",enum:["var","assign","this","window","global","commonjs","commonjs2","commonjs-module","amd","amd-require","umd","umd2","jsonp"]}},title:"DllReferencePluginOptions",anyOf:[{type:"object",additionalProperties:false,properties:{context:{description:"(absolute path) context of requests in the manifest (or content property)",type:"string",absolutePath:true},extensions:{description:"Extensions used to resolve modules in the dll bundle (only used when using 'scope')",type:"array",items:{description:"An extension",type:"string"}},manifest:{description:"An object containing content and name or a string to the absolute path of the JSON manifest to be loaded upon compilation",oneOf:[{$ref:"#/definitions/DllReferencePluginOptionsManifest"},{type:"string",absolutePath:true}]},name:{description:"The name where the dll is exposed (external name, defaults to manifest.name)",type:"string",minLength:1},scope:{description:"Prefix which is used for accessing the content of the dll",type:"string",minLength:1},sourceType:{description:"How the dll is exposed (libraryTarget, defaults to manifest.type)",anyOf:[{$ref:"#/definitions/DllReferencePluginOptionsSourceType"}]},type:{description:"The way how the export of the dll bundle is used",enum:["require","object"]}},required:["manifest"]},{type:"object",additionalProperties:false,properties:{content:{description:"The mappings from request to module info",anyOf:[{$ref:"#/definitions/DllReferencePluginOptionsContent"}]},context:{description:"(absolute path) context of requests in the manifest (or content property)",type:"string",absolutePath:true},extensions:{description:"Extensions used to resolve modules in the dll bundle (only used when using 'scope')",type:"array",items:{description:"An extension",type:"string"}},name:{description:"The name where the dll is exposed (external name)",type:"string",minLength:1},scope:{description:"Prefix which is used for accessing the content of the dll",type:"string",minLength:1},sourceType:{description:"How the dll is exposed (libraryTarget)",anyOf:[{$ref:"#/definitions/DllReferencePluginOptionsSourceType"}]},type:{description:"The way how the export of the dll bundle is used",enum:["require","object"]}},required:["content","name"]}]}},778:function(e,t,n){"use strict";e.exports={copy:copy,checkDataType:checkDataType,checkDataTypes:checkDataTypes,coerceToTypes:coerceToTypes,toHash:toHash,getProperty:getProperty,escapeQuotes:escapeQuotes,equal:n(5245),ucs2length:n(5512),varOccurences:varOccurences,varReplace:varReplace,cleanUpCode:cleanUpCode,finalCleanUpCode:finalCleanUpCode,schemaHasRules:schemaHasRules,schemaHasRulesExcept:schemaHasRulesExcept,toQuotedString:toQuotedString,getPathExpr:getPathExpr,getPath:getPath,getData:getData,unescapeFragment:unescapeFragment,unescapeJsonPointer:unescapeJsonPointer,escapeFragment:escapeFragment,escapeJsonPointer:escapeJsonPointer};function copy(e,t){t=t||{};for(var n in e)t[n]=e[n];return t}function checkDataType(e,t,n){var r=n?" !== ":" === ",i=n?" || ":" && ",s=n?"!":"",o=n?"":"!";switch(e){case"null":return t+r+"null";case"array":return s+"Array.isArray("+t+")";case"object":return"("+s+t+i+"typeof "+t+r+'"object"'+i+o+"Array.isArray("+t+"))";case"integer":return"(typeof "+t+r+'"number"'+i+o+"("+t+" % 1)"+i+t+r+t+")";default:return"typeof "+t+r+'"'+e+'"'}}function checkDataTypes(e,t){switch(e.length){case 1:return checkDataType(e[0],t,true);default:var n="";var r=toHash(e);if(r.array&&r.object){n=r.null?"(":"(!"+t+" || ";n+="typeof "+t+' !== "object")';delete r.null;delete r.array;delete r.object}if(r.number)delete r.integer;for(var i in r)n+=(n?" && ":"")+checkDataType(i,t,true);return n}}var r=toHash(["string","number","integer","boolean","null"]);function coerceToTypes(e,t){if(Array.isArray(t)){var n=[];for(var i=0;i=t)throw new Error("Cannot access property/index "+r+" levels up, current level is "+t);return n[t-r]}if(r>t)throw new Error("Cannot access data "+r+" levels up, current level is "+t);s="data"+(t-r||"");if(!i)return s}var a=s;var u=i.split("/");for(var c=0;c{const s=Object.assign({},n,{path:n.path+this.appending,relativePath:n.relativePath&&n.relativePath+this.appending});e.doResolve(t,s,this.appending,r,i)})}}},813:function(e,t,n){"use strict";const r=n(3272);const i=e=>{if(e.length===0){return""}if(e.length===1){return`${e[0]} = await Promise.resolve(${e[0]});\n`}const t=e.join(", ");return`([${t}] = await Promise.all([${t}]));\n`};class AwaitDependenciesInitFragment extends r{constructor(e){super(i(e),r.STAGE_ASYNC_DEPENDENCIES,0,"await-dependencies");this.promises=e}merge(e){return new AwaitDependenciesInitFragment(Array.from(new Set(e.promises.concat(this.promises))))}}e.exports=AwaitDependenciesInitFragment},823:function(e,t){(function(e,n){true?n(t):undefined})(this,function(e){"use strict";function merge(){for(var e=arguments.length,t=Array(e),n=0;n1){t[0]=t[0].slice(0,-1);var r=t.length-1;for(var i=1;i= 0x80 (not a basic code point)","invalid-input":"Invalid input"};var v=o-a;var b=Math.floor;var w=String.fromCharCode;function error$1(e){throw new RangeError(y[e])}function map(e,t){var n=[];var r=e.length;while(r--){n[r]=t(e[r])}return n}function mapDomain(e,t){var n=e.split("@");var r="";if(n.length>1){r=n[0]+"@";e=n[1]}e=e.replace(g,".");var i=e.split(".");var s=map(i,t).join(".");return r+s}function ucs2decode(e){var t=[];var n=0;var r=e.length;while(n=55296&&i<=56319&&n>1;e+=b(e/t);for(;e>v*u>>1;r+=o){e=b(e/v)}return b(r+(v+1)*e/(e+c))};var C=function decode(e){var t=[];var n=e.length;var r=0;var i=d;var c=f;var l=e.lastIndexOf(p);if(l<0){l=0}for(var h=0;h=128){error$1("not-basic")}t.push(e.charCodeAt(h))}for(var m=l>0?l+1:0;m=n){error$1("invalid-input")}var w=_(e.charCodeAt(m++));if(w>=o||w>b((s-r)/y)){error$1("overflow")}r+=w*y;var E=v<=c?a:v>=c+u?u:v-c;if(wb(s/S)){error$1("overflow")}y*=S}var C=t.length+1;c=k(r-g,C,g==0);if(b(r/C)>s-i){error$1("overflow")}i+=b(r/C);r%=C;t.splice(r++,0,i)}return String.fromCodePoint.apply(String,t)};var D=function encode(e){var t=[];e=ucs2decode(e);var n=e.length;var r=d;var i=0;var c=f;var l=true;var h=false;var m=undefined;try{for(var g=e[Symbol.iterator](),y;!(l=(y=g.next()).done);l=true){var v=y.value;if(v<128){t.push(w(v))}}}catch(e){h=true;m=e}finally{try{if(!l&&g.return){g.return()}}finally{if(h){throw m}}}var E=t.length;var _=E;if(E){t.push(p)}while(_=r&&Ob((s-i)/F)){error$1("overflow")}i+=(C-r)*F;r=C;var I=true;var R=false;var P=undefined;try{for(var N=e[Symbol.iterator](),L;!(I=(L=N.next()).done);I=true){var j=L.value;if(js){error$1("overflow")}if(j==r){var B=i;for(var U=o;;U+=o){var G=U<=c?a:U>=c+u?u:U-c;if(B>6|192).toString(16).toUpperCase()+"%"+(t&63|128).toString(16).toUpperCase();else n="%"+(t>>12|224).toString(16).toUpperCase()+"%"+(t>>6&63|128).toString(16).toUpperCase()+"%"+(t&63|128).toString(16).toUpperCase();return n}function pctDecChars(e){var t="";var n=0;var r=e.length;while(n=194&&i<224){if(r-n>=6){var s=parseInt(e.substr(n+4,2),16);t+=String.fromCharCode((i&31)<<6|s&63)}else{t+=e.substr(n,6)}n+=6}else if(i>=224){if(r-n>=9){var o=parseInt(e.substr(n+4,2),16);var a=parseInt(e.substr(n+7,2),16);t+=String.fromCharCode((i&15)<<12|(o&63)<<6|a&63)}else{t+=e.substr(n,9)}n+=9}else{t+=e.substr(n,3);n+=3}}return t}function _normalizeComponentEncoding(e,t){function decodeUnreserved(e){var n=pctDecChars(e);return!n.match(t.UNRESERVED)?e:n}if(e.scheme)e.scheme=String(e.scheme).replace(t.PCT_ENCODED,decodeUnreserved).toLowerCase().replace(t.NOT_SCHEME,"");if(e.userinfo!==undefined)e.userinfo=String(e.userinfo).replace(t.PCT_ENCODED,decodeUnreserved).replace(t.NOT_USERINFO,pctEncChar).replace(t.PCT_ENCODED,toUpperCase);if(e.host!==undefined)e.host=String(e.host).replace(t.PCT_ENCODED,decodeUnreserved).toLowerCase().replace(t.NOT_HOST,pctEncChar).replace(t.PCT_ENCODED,toUpperCase);if(e.path!==undefined)e.path=String(e.path).replace(t.PCT_ENCODED,decodeUnreserved).replace(e.scheme?t.NOT_PATH:t.NOT_PATH_NOSCHEME,pctEncChar).replace(t.PCT_ENCODED,toUpperCase);if(e.query!==undefined)e.query=String(e.query).replace(t.PCT_ENCODED,decodeUnreserved).replace(t.NOT_QUERY,pctEncChar).replace(t.PCT_ENCODED,toUpperCase);if(e.fragment!==undefined)e.fragment=String(e.fragment).replace(t.PCT_ENCODED,decodeUnreserved).replace(t.NOT_FRAGMENT,pctEncChar).replace(t.PCT_ENCODED,toUpperCase);return e}function _stripLeadingZeros(e){return e.replace(/^0*(.*)/,"$1")||"0"}function _normalizeIPv4(e,t){var n=e.match(t.IPV4ADDRESS)||[];var i=r(n,2),s=i[1];if(s){return s.split(".").map(_stripLeadingZeros).join(".")}else{return e}}function _normalizeIPv6(e,t){var n=e.match(t.IPV6ADDRESS)||[];var i=r(n,3),s=i[1],o=i[2];if(s){var a=s.toLowerCase().split("::").reverse(),u=r(a,2),c=u[0],l=u[1];var f=l?l.split(":").map(_stripLeadingZeros):[];var d=c.split(":").map(_stripLeadingZeros);var p=t.IPV4ADDRESS.test(d[d.length-1]);var h=p?7:8;var m=d.length-h;var g=Array(h);for(var y=0;y1){var E=g.slice(0,b.index);var _=g.slice(b.index+b.length);w=E.join(":")+"::"+_.join(":")}else{w=g.join(":")}if(o){w+="%"+o}return w}else{return e}}var O=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i;var F="".match(/(){0}/)[1]===undefined;function parse(e){var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var i={};var s=r.iri!==false?n:t;if(r.reference==="suffix")e=(r.scheme?r.scheme+":":"")+"//"+e;var o=e.match(O);if(o){if(F){i.scheme=o[1];i.userinfo=o[3];i.host=o[4];i.port=parseInt(o[5],10);i.path=o[6]||"";i.query=o[7];i.fragment=o[8];if(isNaN(i.port)){i.port=o[5]}}else{i.scheme=o[1]||undefined;i.userinfo=e.indexOf("@")!==-1?o[3]:undefined;i.host=e.indexOf("//")!==-1?o[4]:undefined;i.port=parseInt(o[5],10);i.path=o[6]||"";i.query=e.indexOf("?")!==-1?o[7]:undefined;i.fragment=e.indexOf("#")!==-1?o[8]:undefined;if(isNaN(i.port)){i.port=e.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?o[4]:undefined}}if(i.host){i.host=_normalizeIPv6(_normalizeIPv4(i.host,s),s)}if(i.scheme===undefined&&i.userinfo===undefined&&i.host===undefined&&i.port===undefined&&!i.path&&i.query===undefined){i.reference="same-document"}else if(i.scheme===undefined){i.reference="relative"}else if(i.fragment===undefined){i.reference="absolute"}else{i.reference="uri"}if(r.reference&&r.reference!=="suffix"&&r.reference!==i.reference){i.error=i.error||"URI is not a "+r.reference+" reference."}var a=T[(r.scheme||i.scheme||"").toLowerCase()];if(!r.unicodeSupport&&(!a||!a.unicodeSupport)){if(i.host&&(r.domainHost||a&&a.domainHost)){try{i.host=M.toASCII(i.host.replace(s.PCT_ENCODED,pctDecChars).toLowerCase())}catch(e){i.error=i.error||"Host's domain name can not be converted to ASCII via punycode: "+e}}_normalizeComponentEncoding(i,t)}else{_normalizeComponentEncoding(i,s)}if(a&&a.parse){a.parse(i,r)}}else{i.error=i.error||"URI can not be parsed."}return i}function _recomposeAuthority(e,r){var i=r.iri!==false?n:t;var s=[];if(e.userinfo!==undefined){s.push(e.userinfo);s.push("@")}if(e.host!==undefined){s.push(_normalizeIPv6(_normalizeIPv4(String(e.host),i),i).replace(i.IPV6ADDRESS,function(e,t,n){return"["+t+(n?"%25"+n:"")+"]"}))}if(typeof e.port==="number"){s.push(":");s.push(e.port.toString(10))}return s.length?s.join(""):undefined}var I=/^\.\.?\//;var R=/^\/\.(\/|$)/;var P=/^\/\.\.(\/|$)/;var N=/^\/?(?:.|\n)*?(?=\/|$)/;function removeDotSegments(e){var t=[];while(e.length){if(e.match(I)){e=e.replace(I,"")}else if(e.match(R)){e=e.replace(R,"/")}else if(e.match(P)){e=e.replace(P,"/");t.pop()}else if(e==="."||e===".."){e=""}else{var n=e.match(N);if(n){var r=n[0];e=e.slice(r.length);t.push(r)}else{throw new Error("Unexpected dot segment condition")}}}return t.join("")}function serialize(e){var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var i=r.iri?n:t;var s=[];var o=T[(r.scheme||e.scheme||"").toLowerCase()];if(o&&o.serialize)o.serialize(e,r);if(e.host){if(i.IPV6ADDRESS.test(e.host)){}else if(r.domainHost||o&&o.domainHost){try{e.host=!r.iri?M.toASCII(e.host.replace(i.PCT_ENCODED,pctDecChars).toLowerCase()):M.toUnicode(e.host)}catch(t){e.error=e.error||"Host's domain name can not be converted to "+(!r.iri?"ASCII":"Unicode")+" via punycode: "+t}}}_normalizeComponentEncoding(e,i);if(r.reference!=="suffix"&&e.scheme){s.push(e.scheme);s.push(":")}var a=_recomposeAuthority(e,r);if(a!==undefined){if(r.reference!=="suffix"){s.push("//")}s.push(a);if(e.path&&e.path.charAt(0)!=="/"){s.push("/")}}if(e.path!==undefined){var u=e.path;if(!r.absolutePath&&(!o||!o.absolutePath)){u=removeDotSegments(u)}if(a===undefined){u=u.replace(/^\/\//,"/%2F")}s.push(u)}if(e.query!==undefined){s.push("?");s.push(e.query)}if(e.fragment!==undefined){s.push("#");s.push(e.fragment)}return s.join("")}function resolveComponents(e,t){var n=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};var r=arguments[3];var i={};if(!r){e=parse(serialize(e,n),n);t=parse(serialize(t,n),n)}n=n||{};if(!n.tolerant&&t.scheme){i.scheme=t.scheme;i.userinfo=t.userinfo;i.host=t.host;i.port=t.port;i.path=removeDotSegments(t.path||"");i.query=t.query}else{if(t.userinfo!==undefined||t.host!==undefined||t.port!==undefined){i.userinfo=t.userinfo;i.host=t.host;i.port=t.port;i.path=removeDotSegments(t.path||"");i.query=t.query}else{if(!t.path){i.path=e.path;if(t.query!==undefined){i.query=t.query}else{i.query=e.query}}else{if(t.path.charAt(0)==="/"){i.path=removeDotSegments(t.path)}else{if((e.userinfo!==undefined||e.host!==undefined||e.port!==undefined)&&!e.path){i.path="/"+t.path}else if(!e.path){i.path=t.path}else{i.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path}i.path=removeDotSegments(i.path)}i.query=t.query}i.userinfo=e.userinfo;i.host=e.host;i.port=e.port}i.scheme=e.scheme}i.fragment=t.fragment;return i}function resolve(e,t,n){var r=assign({scheme:"null"},n);return serialize(resolveComponents(parse(e,r),parse(t,r),r,true),r)}function normalize(e,t){if(typeof e==="string"){e=serialize(parse(e,t),t)}else if(typeOf(e)==="object"){e=parse(serialize(e,t),t)}return e}function equal(e,t,n){if(typeof e==="string"){e=serialize(parse(e,n),n)}else if(typeOf(e)==="object"){e=serialize(e,n)}if(typeof t==="string"){t=serialize(parse(t,n),n)}else if(typeOf(t)==="object"){t=serialize(t,n)}return e===t}function escapeComponent(e,r){return e&&e.toString().replace(!r||!r.iri?t.ESCAPE:n.ESCAPE,pctEncChar)}function unescapeComponent(e,r){return e&&e.toString().replace(!r||!r.iri?t.PCT_ENCODED:n.PCT_ENCODED,pctDecChars)}var L={scheme:"http",domainHost:true,parse:function parse(e,t){if(!e.host){e.error=e.error||"HTTP URIs must have a host."}return e},serialize:function serialize(e,t){if(e.port===(String(e.scheme).toLowerCase()!=="https"?80:443)||e.port===""){e.port=undefined}if(!e.path){e.path="/"}return e}};var j={scheme:"https",domainHost:L.domainHost,parse:L.parse,serialize:L.serialize};var B={};var U=true;var G="[A-Za-z0-9\\-\\.\\_\\~"+(U?"\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF":"")+"]";var z="[0-9A-Fa-f]";var H=subexp(subexp("%[EFef]"+z+"%"+z+z+"%"+z+z)+"|"+subexp("%[89A-Fa-f]"+z+"%"+z+z)+"|"+subexp("%"+z+z));var q="[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]";var W="[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]";var V=merge(W,'[\\"\\\\]');var K="[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]";var X=new RegExp(G,"g");var J=new RegExp(H,"g");var Y=new RegExp(merge("[^]",q,"[\\.]",'[\\"]',V),"g");var Q=new RegExp(merge("[^]",G,K),"g");var Z=Q;function decodeUnreserved(e){var t=pctDecChars(e);return!t.match(X)?e:t}var $={scheme:"mailto",parse:function parse$$1(e,t){var n=e;var r=n.to=n.path?n.path.split(","):[];n.path=undefined;if(n.query){var i=false;var s={};var o=n.query.split("&");for(var a=0,u=o.length;a{e.dependencyFactories.set(o,new i);e.dependencyTemplates.set(o,new o.Template);const n=(e,t)=>{if(t.requireJs===undefined||!t.requireJs){return}e.hooks.call.for("require.config").tap("RequireJsStuffPlugin",r(e,"undefined"));e.hooks.call.for("requirejs.config").tap("RequireJsStuffPlugin",r(e,"undefined"));e.hooks.expression.for("require.version").tap("RequireJsStuffPlugin",r(e,JSON.stringify("0.0.0")));e.hooks.expression.for("requirejs.onError").tap("RequireJsStuffPlugin",r(e,s.uncaughtErrorHandler,[s.uncaughtErrorHandler]))};t.hooks.parser.for("javascript/auto").tap("RequireJsStuffPlugin",n);t.hooks.parser.for("javascript/dynamic").tap("RequireJsStuffPlugin",n)})}}},854:function(e,t,n){"use strict";class FiggyPudding{constructor(e,t,n){this.__specs=e||{};Object.keys(this.__specs).forEach(e=>{if(typeof this.__specs[e]==="string"){const t=this.__specs[e];const n=this.__specs[t];if(n){const r=n.aliases||[];r.push(e,t);n.aliases=[...new Set(r)];this.__specs[e]=n}else{throw new Error(`Alias refers to invalid key: ${t} -> ${e}`)}}});this.__opts=t||{};this.__providers=reverse(n.filter(e=>e!=null&&typeof e==="object"));this.__isFiggyPudding=true}get(e){return pudGet(this,e,true)}get[Symbol.toStringTag](){return"FiggyPudding"}forEach(e,t=this){for(let[n,r]of this.entries()){e.call(t,r,n,this)}}toJSON(){const e={};this.forEach((t,n)=>{e[n]=t});return e}*entries(e){for(let e of Object.keys(this.__specs)){yield[e,this.get(e)]}const t=e||this.__opts.other;if(t){const e=new Set;for(let n of this.__providers){const r=n.entries?n.entries(t):entries(n);for(let[n,i]of r){if(t(n)&&!e.has(n)){e.add(n);yield[n,i]}}}}}*[Symbol.iterator](){for(let[e,t]of this.entries()){yield[e,t]}}*keys(){for(let[e]of this.entries()){yield e}}*values(){for(let[,e]of this.entries()){yield e}}concat(...e){return new Proxy(new FiggyPudding(this.__specs,this.__opts,reverse(this.__providers).concat(e)),r)}}try{const e=n(1669);FiggyPudding.prototype[e.inspect.custom]=function(t,n){return this[Symbol.toStringTag]+" "+e.inspect(this.toJSON(),n)}}catch(e){}function BadKeyError(e){throw Object.assign(new Error(`invalid config key requested: ${e}`),{code:"EBADKEY"})}function pudGet(e,t,n){let r=e.__specs[t];if(n&&!r&&(!e.__opts.other||!e.__opts.other(t))){BadKeyError(t)}else{if(!r){r={}}let n;for(let i of e.__providers){n=tryGet(t,i);if(n===undefined&&r.aliases&&r.aliases.length){for(let e of r.aliases){if(e===t){continue}n=tryGet(e,i);if(n!==undefined){break}}}if(n!==undefined){break}}if(n===undefined&&r.default!==undefined){if(typeof r.default==="function"){return r.default(e)}else{return r.default}}else{return n}}}function tryGet(e,t){let n;if(t.__isFiggyPudding){n=pudGet(t,e,false)}else if(typeof t.get==="function"){n=t.get(e)}else{n=t[e]}return n}const r={has(e,t){return t in e.__specs&&pudGet(e,t,false)!==undefined},ownKeys(e){return Object.keys(e.__specs)},get(e,t){if(typeof t==="symbol"||t.slice(0,2)==="__"||t in FiggyPudding.prototype){return e[t]}return e.get(t)},set(e,t,n){if(typeof t==="symbol"||t.slice(0,2)==="__"){e[t]=n;return true}else{throw new Error("figgyPudding options cannot be modified. Use .concat() instead.")}},deleteProperty(){throw new Error("figgyPudding options cannot be deleted. Use .concat() and shadow them instead.")}};e.exports=figgyPudding;function figgyPudding(e,t){function factory(...n){return new Proxy(new FiggyPudding(e,t,n),r)}return factory}function reverse(e){const t=[];e.forEach(e=>t.unshift(e));return t}function entries(e){return Object.keys(e).map(t=>[t,e[t]])}},858:function(e){"use strict";e.exports=clone;function clone(e){if(e===null||typeof e!=="object")return e;if(e instanceof Object)var t={__proto__:e.__proto__};else var t=Object.create(null);Object.getOwnPropertyNames(e).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))});return t}},869:function(e,t,n){"use strict";const r=n(2355);class MultiWatching{constructor(e,t){this.watchings=e;this.compiler=t}invalidate(){for(const e of this.watchings){e.invalidate()}}suspend(){for(const e of this.watchings){e.suspend()}}resume(){for(const e of this.watchings){e.resume()}}close(e){r.forEach(this.watchings,(e,t)=>{e.close(t)},t=>{this.compiler.hooks.watchClose.call();if(typeof e==="function"){this.compiler.running=false;e(t)}})}}e.exports=MultiWatching},872:function(e,t,n){"use strict";const r=n(6202);const i=n(9983);class ContextElementDependency extends i{constructor(e,t){super(e);if(t){this.userRequest=t}}get type(){return"context element"}serialize(e){const{write:t}=e;t(this.userRequest);super.serialize(e)}deserialize(e){const{read:t}=e;this.userRequest=t();super.deserialize(e)}}r(ContextElementDependency,"webpack/lib/dependencies/ContextElementDependency");e.exports=ContextElementDependency},910:function(e,t,n){"use strict";const{join:r,dirname:i}=n(5396);const s=/\\/g;const o=/[-[\]{}()*+?.,\\^$|#\s]/g;const a=/[/\\]$/;const u=/^!|!$/g;const c=/\/index.js(!|\?|\(query\))/g;const l=/!=!/;const f=e=>{return e.replace(s,"/")};const d=e=>{const t=e.replace(o,"\\$&");return new RegExp(`(^|!)${t}`,"g")};class RequestShortener{constructor(e){this.currentDirectoryRegExp=null;this.parentDirectoryRegExp=null;this.buildinsRegExp=null;this.buildinsAsModule=false;let t=f(e);if(a.test(t)){t=t.substr(0,t.length-1)}if(t){this.currentDirectoryRegExp=d(t)}const n=i(undefined,t);const s=a.test(n);const o=s?n.substr(0,n.length-1):n;if(o&&o!==t){this.parentDirectoryRegExp=d(o)}if(__dirname.length>=2){const e=f(r(undefined,__dirname,".."));const t=this.currentDirectoryRegExp&&this.currentDirectoryRegExp.test(e);this.buildinsAsModule=t;this.buildinsRegExp=d(e)}this.cache=new Map}shorten(e){if(!e){return e}const t=this.cache.get(e);if(t!==undefined){return t}let n=f(e);if(this.buildinsAsModule&&this.buildinsRegExp){n=n.replace(this.buildinsRegExp,"!(webpack)")}if(this.currentDirectoryRegExp){n=n.replace(this.currentDirectoryRegExp,"!.")}if(this.parentDirectoryRegExp){n=n.replace(this.parentDirectoryRegExp,"!..")}if(!this.buildinsAsModule&&this.buildinsRegExp){n=n.replace(this.buildinsRegExp,"!(webpack)")}n=n.replace(c,"$1");n=n.replace(u,"");n=n.replace(l," = ");this.cache.set(e,n);return n}}e.exports=RequestShortener},921:function(e){e.exports={title:"MinChunkSizePluginOptions",type:"object",additionalProperties:false,properties:{chunkOverhead:{description:"Constant overhead for a chunk",type:"number"},entryChunkMultiplicator:{description:"Multiplicator for initial chunks",type:"number"},minChunkSize:{description:"Minimum number of characters",type:"number"}},required:["minChunkSize"]}},937:function(e,t,n){"use strict";const r=n(7332);class MultiHook{constructor(e){this.hooks=e}tap(e,t){for(const n of this.hooks){n.tap(e,t)}}tapAsync(e,t){for(const n of this.hooks){n.tapAsync(e,t)}}tapPromise(e,t){for(const n of this.hooks){n.tapPromise(e,t)}}isUsed(){for(const e of this.hooks){if(e.isUsed())return true}return false}intercept(e){for(const t of this.hooks){t.intercept(e)}}withOptions(e){return new MultiHook(this.hooks.map(t=>t.withOptions(e)))}}e.exports=MultiHook},976:function(e,t){(function(e,n){true?n(t):undefined})(this,function(e){"use strict";var t={3:"abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile",5:"class enum extends super const export import",6:"enum",strict:"implements interface let package private protected public static yield",strictBind:"eval arguments"};var n="break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this";var r={5:n,6:n+" const class extends export import super"};var i=/^in(stanceof)?$/;var s="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࢠ-ࢴࢶ-ࢽऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿯ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞹꟷ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭥꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ";var o="‌‍·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࣓-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍ୖୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ංඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ູົຼ່-ໍ໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜔ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠐-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭ᳲ-᳴᳷-᳹᷀-᷹᷻-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_";var a=new RegExp("["+s+"]");var u=new RegExp("["+s+o+"]");s=o=null;var c=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,477,28,11,0,9,21,190,52,76,44,33,24,27,35,30,0,12,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,54,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,86,26,230,43,117,63,32,0,257,0,11,39,8,0,22,0,12,39,3,3,20,0,35,56,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,270,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,689,63,129,68,12,0,67,12,65,1,31,6129,15,754,9486,286,82,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,4149,196,60,67,1213,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42710,42,4148,12,221,3,5761,15,7472,3104,541];var l=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,525,10,176,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,4,9,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,280,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,135,4,60,6,26,9,1016,45,17,3,19723,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,2214,6,110,6,6,9,792487,239];function isInAstralSet(e,t){var n=65536;for(var r=0;re){return false}n+=t[r+1];if(n>=e){return true}}}function isIdentifierStart(e,t){if(e<65){return e===36}if(e<91){return true}if(e<97){return e===95}if(e<123){return true}if(e<=65535){return e>=170&&a.test(String.fromCharCode(e))}if(t===false){return false}return isInAstralSet(e,c)}function isIdentifierChar(e,t){if(e<48){return e===36}if(e<58){return true}if(e<65){return false}if(e<91){return true}if(e<97){return e===95}if(e<123){return true}if(e<=65535){return e>=170&&u.test(String.fromCharCode(e))}if(t===false){return false}return isInAstralSet(e,c)||isInAstralSet(e,l)}var f=function TokenType(e,t){if(t===void 0)t={};this.label=e;this.keyword=t.keyword;this.beforeExpr=!!t.beforeExpr;this.startsExpr=!!t.startsExpr;this.isLoop=!!t.isLoop;this.isAssign=!!t.isAssign;this.prefix=!!t.prefix;this.postfix=!!t.postfix;this.binop=t.binop||null;this.updateContext=null};function binop(e,t){return new f(e,{beforeExpr:true,binop:t})}var d={beforeExpr:true};var p={startsExpr:true};var h={};function kw(e,t){if(t===void 0)t={};t.keyword=e;return h[e]=new f(e,t)}var m={num:new f("num",p),regexp:new f("regexp",p),string:new f("string",p),name:new f("name",p),eof:new f("eof"),bracketL:new f("[",{beforeExpr:true,startsExpr:true}),bracketR:new f("]"),braceL:new f("{",{beforeExpr:true,startsExpr:true}),braceR:new f("}"),parenL:new f("(",{beforeExpr:true,startsExpr:true}),parenR:new f(")"),comma:new f(",",d),semi:new f(";",d),colon:new f(":",d),dot:new f("."),question:new f("?",d),arrow:new f("=>",d),template:new f("template"),invalidTemplate:new f("invalidTemplate"),ellipsis:new f("...",d),backQuote:new f("`",p),dollarBraceL:new f("${",{beforeExpr:true,startsExpr:true}),eq:new f("=",{beforeExpr:true,isAssign:true}),assign:new f("_=",{beforeExpr:true,isAssign:true}),incDec:new f("++/--",{prefix:true,postfix:true,startsExpr:true}),prefix:new f("!/~",{beforeExpr:true,prefix:true,startsExpr:true}),logicalOR:binop("||",1),logicalAND:binop("&&",2),bitwiseOR:binop("|",3),bitwiseXOR:binop("^",4),bitwiseAND:binop("&",5),equality:binop("==/!=/===/!==",6),relational:binop("/<=/>=",7),bitShift:binop("<>/>>>",8),plusMin:new f("+/-",{beforeExpr:true,binop:9,prefix:true,startsExpr:true}),modulo:binop("%",10),star:binop("*",10),slash:binop("/",10),starstar:new f("**",{beforeExpr:true}),_break:kw("break"),_case:kw("case",d),_catch:kw("catch"),_continue:kw("continue"),_debugger:kw("debugger"),_default:kw("default",d),_do:kw("do",{isLoop:true,beforeExpr:true}),_else:kw("else",d),_finally:kw("finally"),_for:kw("for",{isLoop:true}),_function:kw("function",p),_if:kw("if"),_return:kw("return",d),_switch:kw("switch"),_throw:kw("throw",d),_try:kw("try"),_var:kw("var"),_const:kw("const"),_while:kw("while",{isLoop:true}),_with:kw("with"),_new:kw("new",{beforeExpr:true,startsExpr:true}),_this:kw("this",p),_super:kw("super",p),_class:kw("class",p),_extends:kw("extends",d),_export:kw("export"),_import:kw("import"),_null:kw("null",p),_true:kw("true",p),_false:kw("false",p),_in:kw("in",{beforeExpr:true,binop:7}),_instanceof:kw("instanceof",{beforeExpr:true,binop:7}),_typeof:kw("typeof",{beforeExpr:true,prefix:true,startsExpr:true}),_void:kw("void",{beforeExpr:true,prefix:true,startsExpr:true}),_delete:kw("delete",{beforeExpr:true,prefix:true,startsExpr:true})};var g=/\r\n?|\n|\u2028|\u2029/;var y=new RegExp(g.source,"g");function isNewLine(e,t){return e===10||e===13||!t&&(e===8232||e===8233)}var v=/[\u1680\u180e\u2000-\u200a\u202f\u205f\u3000\ufeff]/;var b=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g;var w=Object.prototype;var E=w.hasOwnProperty;var _=w.toString;function has(e,t){return E.call(e,t)}var S=Array.isArray||function(e){return _.call(e)==="[object Array]"};var k=function Position(e,t){this.line=e;this.column=t};k.prototype.offset=function offset(e){return new k(this.line,this.column+e)};var C=function SourceLocation(e,t,n){this.start=t;this.end=n;if(e.sourceFile!==null){this.source=e.sourceFile}};function getLineInfo(e,t){for(var n=1,r=0;;){y.lastIndex=r;var i=y.exec(e);if(i&&i.index=2015){t.ecmaVersion-=2009}if(t.allowReserved==null){t.allowReserved=t.ecmaVersion<5}if(S(t.onToken)){var r=t.onToken;t.onToken=function(e){return r.push(e)}}if(S(t.onComment)){t.onComment=pushComment(t,t.onComment)}return t}function pushComment(e,t){return function(n,r,i,s,o,a){var u={type:n?"Block":"Line",value:r,start:i,end:s};if(e.locations){u.loc=new C(this,o,a)}if(e.ranges){u.range=[i,s]}t.push(u)}}var A=1;var x=2;var M=A|x;var T=4;var O=8;var F=16;var I=32;var R=64;var P=128;function functionFlags(e,t){return x|(e?T:0)|(t?O:0)}var N=0;var L=1;var j=2;var B=3;var U=4;var G=5;function keywordRegexp(e){return new RegExp("^(?:"+e.replace(/ /g,"|")+")$")}var z=function Parser(e,n,i){this.options=e=getOptions(e);this.sourceFile=e.sourceFile;this.keywords=keywordRegexp(r[e.ecmaVersion>=6?6:5]);var s="";if(!e.allowReserved){for(var o=e.ecmaVersion;;o--){if(s=t[o]){break}}if(e.sourceType==="module"){s+=" await"}}this.reservedWords=keywordRegexp(s);var a=(s?s+" ":"")+t.strict;this.reservedWordsStrict=keywordRegexp(a);this.reservedWordsStrictBind=keywordRegexp(a+" "+t.strictBind);this.input=String(n);this.containsEsc=false;if(i){this.pos=i;this.lineStart=this.input.lastIndexOf("\n",i-1)+1;this.curLine=this.input.slice(0,this.lineStart).split(g).length}else{this.pos=this.lineStart=0;this.curLine=1}this.type=m.eof;this.value=null;this.start=this.end=this.pos;this.startLoc=this.endLoc=this.curPosition();this.lastTokEndLoc=this.lastTokStartLoc=null;this.lastTokStart=this.lastTokEnd=this.pos;this.context=this.initialContext();this.exprAllowed=true;this.inModule=e.sourceType==="module";this.strict=this.inModule||this.strictDirective(this.pos);this.potentialArrowAt=-1;this.yieldPos=this.awaitPos=0;this.labels=[];if(this.pos===0&&e.allowHashBang&&this.input.slice(0,2)==="#!"){this.skipLineComment(2)}this.scopeStack=[];this.enterScope(A);this.regexpState=null};var H={inFunction:{configurable:true},inGenerator:{configurable:true},inAsync:{configurable:true},allowSuper:{configurable:true},allowDirectSuper:{configurable:true}};z.prototype.parse=function parse(){var e=this.options.program||this.startNode();this.nextToken();return this.parseTopLevel(e)};H.inFunction.get=function(){return(this.currentVarScope().flags&x)>0};H.inGenerator.get=function(){return(this.currentVarScope().flags&O)>0};H.inAsync.get=function(){return(this.currentVarScope().flags&T)>0};H.allowSuper.get=function(){return(this.currentThisScope().flags&R)>0};H.allowDirectSuper.get=function(){return(this.currentThisScope().flags&P)>0};z.prototype.inNonArrowFunction=function inNonArrowFunction(){return(this.currentThisScope().flags&x)>0};z.extend=function extend(){var e=[],t=arguments.length;while(t--)e[t]=arguments[t];var n=this;for(var r=0;r-1){this.raiseRecoverable(e.trailingComma,"Comma is not permitted after the rest element")}var n=t?e.parenthesizedAssign:e.parenthesizedBind;if(n>-1){this.raiseRecoverable(n,"Parenthesized pattern")}};q.checkExpressionErrors=function(e,t){if(!e){return false}var n=e.shorthandAssign;var r=e.doubleProto;if(!t){return n>=0||r>=0}if(n>=0){this.raise(n,"Shorthand property assignments are valid only in destructuring patterns")}if(r>=0){this.raiseRecoverable(r,"Redefinition of __proto__ property")}};q.checkYieldAwaitInDefaultParams=function(){if(this.yieldPos&&(!this.awaitPos||this.yieldPos=6){e.sourceType=this.options.sourceType}return this.finishNode(e,"Program")};var K={kind:"loop"};var X={kind:"switch"};V.isLet=function(){if(this.options.ecmaVersion<6||!this.isContextual("let")){return false}b.lastIndex=this.pos;var e=b.exec(this.input);var t=this.pos+e[0].length,n=this.input.charCodeAt(t);if(n===123&&!g.test(this.input.slice(this.end,t))||n===91){return true}if(isIdentifierStart(n,true)){var r=t+1;while(isIdentifierChar(this.input.charCodeAt(r),true)){++r}var s=this.input.slice(t,r);if(!i.test(s)){return true}}return false};V.isAsyncFunction=function(){if(this.options.ecmaVersion<8||!this.isContextual("async")){return false}b.lastIndex=this.pos;var e=b.exec(this.input);var t=this.pos+e[0].length;return!g.test(this.input.slice(this.pos,t))&&this.input.slice(t,t+8)==="function"&&(t+8===this.input.length||!isIdentifierChar(this.input.charAt(t+8)))};V.parseStatement=function(e,t,n){var r=this.type,i=this.startNode(),s;if(this.isLet()){r=m._var;s="let"}switch(r){case m._break:case m._continue:return this.parseBreakContinueStatement(i,r.keyword);case m._debugger:return this.parseDebuggerStatement(i);case m._do:return this.parseDoStatement(i);case m._for:return this.parseForStatement(i);case m._function:if(e&&(this.strict||e!=="if")&&this.options.ecmaVersion>=6){this.unexpected()}return this.parseFunctionStatement(i,false,!e);case m._class:if(e){this.unexpected()}return this.parseClass(i,true);case m._if:return this.parseIfStatement(i);case m._return:return this.parseReturnStatement(i);case m._switch:return this.parseSwitchStatement(i);case m._throw:return this.parseThrowStatement(i);case m._try:return this.parseTryStatement(i);case m._const:case m._var:s=s||this.value;if(e&&s!=="var"){this.unexpected()}return this.parseVarStatement(i,s);case m._while:return this.parseWhileStatement(i);case m._with:return this.parseWithStatement(i);case m.braceL:return this.parseBlock(true,i);case m.semi:return this.parseEmptyStatement(i);case m._export:case m._import:if(!this.options.allowImportExportEverywhere){if(!t){this.raise(this.start,"'import' and 'export' may only appear at the top level")}if(!this.inModule){this.raise(this.start,"'import' and 'export' may appear only with 'sourceType: module'")}}return r===m._import?this.parseImport(i):this.parseExport(i,n);default:if(this.isAsyncFunction()){if(e){this.unexpected()}this.next();return this.parseFunctionStatement(i,true,!e)}var o=this.value,a=this.parseExpression();if(r===m.name&&a.type==="Identifier"&&this.eat(m.colon)){return this.parseLabeledStatement(i,o,a,e)}else{return this.parseExpressionStatement(i,a)}}};V.parseBreakContinueStatement=function(e,t){var n=this;var r=t==="break";this.next();if(this.eat(m.semi)||this.insertSemicolon()){e.label=null}else if(this.type!==m.name){this.unexpected()}else{e.label=this.parseIdent();this.semicolon()}var i=0;for(;i=6){this.eat(m.semi)}else{this.semicolon()}return this.finishNode(e,"DoWhileStatement")};V.parseForStatement=function(e){this.next();var t=this.options.ecmaVersion>=9&&(this.inAsync||!this.inFunction&&this.options.allowAwaitOutsideFunction)&&this.eatContextual("await")?this.lastTokStart:-1;this.labels.push(K);this.enterScope(0);this.expect(m.parenL);if(this.type===m.semi){if(t>-1){this.unexpected(t)}return this.parseFor(e,null)}var n=this.isLet();if(this.type===m._var||this.type===m._const||n){var r=this.startNode(),i=n?"let":this.value;this.next();this.parseVar(r,true,i);this.finishNode(r,"VariableDeclaration");if((this.type===m._in||this.options.ecmaVersion>=6&&this.isContextual("of"))&&r.declarations.length===1&&!(i!=="var"&&r.declarations[0].init)){if(this.options.ecmaVersion>=9){if(this.type===m._in){if(t>-1){this.unexpected(t)}}else{e.await=t>-1}}return this.parseForIn(e,r)}if(t>-1){this.unexpected(t)}return this.parseFor(e,r)}var s=new DestructuringErrors;var o=this.parseExpression(true,s);if(this.type===m._in||this.options.ecmaVersion>=6&&this.isContextual("of")){if(this.options.ecmaVersion>=9){if(this.type===m._in){if(t>-1){this.unexpected(t)}}else{e.await=t>-1}}this.toAssignable(o,false,s);this.checkLVal(o);return this.parseForIn(e,o)}else{this.checkExpressionErrors(s,true)}if(t>-1){this.unexpected(t)}return this.parseFor(e,o)};V.parseFunctionStatement=function(e,t,n){this.next();return this.parseFunction(e,Y|(n?0:Q),false,t)};V.parseIfStatement=function(e){this.next();e.test=this.parseParenExpression();e.consequent=this.parseStatement("if");e.alternate=this.eat(m._else)?this.parseStatement("if"):null;return this.finishNode(e,"IfStatement")};V.parseReturnStatement=function(e){if(!this.inFunction&&!this.options.allowReturnOutsideFunction){this.raise(this.start,"'return' outside of function")}this.next();if(this.eat(m.semi)||this.insertSemicolon()){e.argument=null}else{e.argument=this.parseExpression();this.semicolon()}return this.finishNode(e,"ReturnStatement")};V.parseSwitchStatement=function(e){var t=this;this.next();e.discriminant=this.parseParenExpression();e.cases=[];this.expect(m.braceL);this.labels.push(X);this.enterScope(0);var n;for(var r=false;this.type!==m.braceR;){if(t.type===m._case||t.type===m._default){var i=t.type===m._case;if(n){t.finishNode(n,"SwitchCase")}e.cases.push(n=t.startNode());n.consequent=[];t.next();if(i){n.test=t.parseExpression()}else{if(r){t.raiseRecoverable(t.lastTokStart,"Multiple default clauses")}r=true;n.test=null}t.expect(m.colon)}else{if(!n){t.unexpected()}n.consequent.push(t.parseStatement(null))}}this.exitScope();if(n){this.finishNode(n,"SwitchCase")}this.next();this.labels.pop();return this.finishNode(e,"SwitchStatement")};V.parseThrowStatement=function(e){this.next();if(g.test(this.input.slice(this.lastTokEnd,this.start))){this.raise(this.lastTokEnd,"Illegal newline after throw")}e.argument=this.parseExpression();this.semicolon();return this.finishNode(e,"ThrowStatement")};var J=[];V.parseTryStatement=function(e){this.next();e.block=this.parseBlock();e.handler=null;if(this.type===m._catch){var t=this.startNode();this.next();if(this.eat(m.parenL)){t.param=this.parseBindingAtom();var n=t.param.type==="Identifier";this.enterScope(n?I:0);this.checkLVal(t.param,n?U:j);this.expect(m.parenR)}else{if(this.options.ecmaVersion<10){this.unexpected()}t.param=null;this.enterScope(0)}t.body=this.parseBlock(false);this.exitScope();e.handler=this.finishNode(t,"CatchClause")}e.finalizer=this.eat(m._finally)?this.parseBlock():null;if(!e.handler&&!e.finalizer){this.raise(e.start,"Missing catch or finally clause")}return this.finishNode(e,"TryStatement")};V.parseVarStatement=function(e,t){this.next();this.parseVar(e,false,t);this.semicolon();return this.finishNode(e,"VariableDeclaration")};V.parseWhileStatement=function(e){this.next();e.test=this.parseParenExpression();this.labels.push(K);e.body=this.parseStatement("while");this.labels.pop();return this.finishNode(e,"WhileStatement")};V.parseWithStatement=function(e){if(this.strict){this.raise(this.start,"'with' in strict mode")}this.next();e.object=this.parseParenExpression();e.body=this.parseStatement("with");return this.finishNode(e,"WithStatement")};V.parseEmptyStatement=function(e){this.next();return this.finishNode(e,"EmptyStatement")};V.parseLabeledStatement=function(e,t,n,r){var i=this;for(var s=0,o=i.labels;s=0;c--){var l=i.labels[c];if(l.statementStart===e.start){l.statementStart=i.start;l.kind=u}else{break}}this.labels.push({name:t,kind:u,statementStart:this.start});e.body=this.parseStatement(r);if(e.body.type==="ClassDeclaration"||e.body.type==="VariableDeclaration"&&e.body.kind!=="var"||e.body.type==="FunctionDeclaration"&&(this.strict||e.body.generator||e.body.async)){this.raiseRecoverable(e.body.start,"Invalid labeled declaration")}this.labels.pop();e.label=n;return this.finishNode(e,"LabeledStatement")};V.parseExpressionStatement=function(e,t){e.expression=t;this.semicolon();return this.finishNode(e,"ExpressionStatement")};V.parseBlock=function(e,t){var n=this;if(e===void 0)e=true;if(t===void 0)t=this.startNode();t.body=[];this.expect(m.braceL);if(e){this.enterScope(0)}while(!this.eat(m.braceR)){var r=n.parseStatement(null);t.body.push(r)}if(e){this.exitScope()}return this.finishNode(t,"BlockStatement")};V.parseFor=function(e,t){e.init=t;this.expect(m.semi);e.test=this.type===m.semi?null:this.parseExpression();this.expect(m.semi);e.update=this.type===m.parenR?null:this.parseExpression();this.expect(m.parenR);this.exitScope();e.body=this.parseStatement("for");this.labels.pop();return this.finishNode(e,"ForStatement")};V.parseForIn=function(e,t){var n=this.type===m._in?"ForInStatement":"ForOfStatement";this.next();if(n==="ForInStatement"){if(t.type==="AssignmentPattern"||t.type==="VariableDeclaration"&&t.declarations[0].init!=null&&(this.strict||t.declarations[0].id.type!=="Identifier")){this.raise(t.start,"Invalid assignment in for-in loop head")}}e.left=t;e.right=n==="ForInStatement"?this.parseExpression():this.parseMaybeAssign();this.expect(m.parenR);this.exitScope();e.body=this.parseStatement("for");this.labels.pop();return this.finishNode(e,n)};V.parseVar=function(e,t,n){var r=this;e.declarations=[];e.kind=n;for(;;){var i=r.startNode();r.parseVarId(i,n);if(r.eat(m.eq)){i.init=r.parseMaybeAssign(t)}else if(n==="const"&&!(r.type===m._in||r.options.ecmaVersion>=6&&r.isContextual("of"))){r.unexpected()}else if(i.id.type!=="Identifier"&&!(t&&(r.type===m._in||r.isContextual("of")))){r.raise(r.lastTokEnd,"Complex binding patterns require an initialization value")}else{i.init=null}e.declarations.push(r.finishNode(i,"VariableDeclarator"));if(!r.eat(m.comma)){break}}return e};V.parseVarId=function(e,t){e.id=this.parseBindingAtom(t);this.checkLVal(e.id,t==="var"?L:j,false)};var Y=1;var Q=2;var Z=4;V.parseFunction=function(e,t,n,r){this.initFunction(e);if(this.options.ecmaVersion>=9||this.options.ecmaVersion>=6&&!r){e.generator=this.eat(m.star)}if(this.options.ecmaVersion>=8){e.async=!!r}if(t&Y){e.id=t&Z&&this.type!==m.name?null:this.parseIdent();if(e.id&&!(t&Q)){this.checkLVal(e.id,this.inModule&&!this.inFunction?j:B)}}var i=this.yieldPos,s=this.awaitPos;this.yieldPos=0;this.awaitPos=0;this.enterScope(functionFlags(e.async,e.generator));if(!(t&Y)){e.id=this.type===m.name?this.parseIdent():null}this.parseFunctionParams(e);this.parseFunctionBody(e,n);this.yieldPos=i;this.awaitPos=s;return this.finishNode(e,t&Y?"FunctionDeclaration":"FunctionExpression")};V.parseFunctionParams=function(e){this.expect(m.parenL);e.params=this.parseBindingList(m.parenR,false,this.options.ecmaVersion>=8);this.checkYieldAwaitInDefaultParams()};V.parseClass=function(e,t){var n=this;this.next();this.parseClassId(e,t);this.parseClassSuper(e);var r=this.startNode();var i=false;r.body=[];this.expect(m.braceL);while(!this.eat(m.braceR)){var s=n.parseClassElement(e.superClass!==null);if(s){r.body.push(s);if(s.type==="MethodDefinition"&&s.kind==="constructor"){if(i){n.raise(s.start,"Duplicate constructor in the same class")}i=true}}}e.body=this.finishNode(r,"ClassBody");return this.finishNode(e,t?"ClassDeclaration":"ClassExpression")};V.parseClassElement=function(e){var t=this;if(this.eat(m.semi)){return null}var n=this.startNode();var r=function(e,r){if(r===void 0)r=false;var i=t.start,s=t.startLoc;if(!t.eatContextual(e)){return false}if(t.type!==m.parenL&&(!r||!t.canInsertSemicolon())){return true}if(n.key){t.unexpected()}n.computed=false;n.key=t.startNodeAt(i,s);n.key.name=e;t.finishNode(n.key,"Identifier");return false};n.kind="method";n.static=r("static");var i=this.eat(m.star);var s=false;if(!i){if(this.options.ecmaVersion>=8&&r("async",true)){s=true;i=this.options.ecmaVersion>=9&&this.eat(m.star)}else if(r("get")){n.kind="get"}else if(r("set")){n.kind="set"}}if(!n.key){this.parsePropertyName(n)}var o=n.key;var a=false;if(!n.computed&&!n.static&&(o.type==="Identifier"&&o.name==="constructor"||o.type==="Literal"&&o.value==="constructor")){if(n.kind!=="method"){this.raise(o.start,"Constructor can't have get/set modifier")}if(i){this.raise(o.start,"Constructor can't be a generator")}if(s){this.raise(o.start,"Constructor can't be an async method")}n.kind="constructor";a=e}else if(n.static&&o.type==="Identifier"&&o.name==="prototype"){this.raise(o.start,"Classes may not have a static property named prototype")}this.parseClassMethod(n,i,s,a);if(n.kind==="get"&&n.value.params.length!==0){this.raiseRecoverable(n.value.start,"getter should have no params")}if(n.kind==="set"&&n.value.params.length!==1){this.raiseRecoverable(n.value.start,"setter should have exactly one param")}if(n.kind==="set"&&n.value.params[0].type==="RestElement"){this.raiseRecoverable(n.value.params[0].start,"Setter cannot use rest params")}return n};V.parseClassMethod=function(e,t,n,r){e.value=this.parseMethod(t,n,r);return this.finishNode(e,"MethodDefinition")};V.parseClassId=function(e,t){e.id=this.type===m.name?this.parseIdent():t===true?this.unexpected():null};V.parseClassSuper=function(e){e.superClass=this.eat(m._extends)?this.parseExprSubscripts():null};V.parseExport=function(e,t){var n=this;this.next();if(this.eat(m.star)){this.expectContextual("from");if(this.type!==m.string){this.unexpected()}e.source=this.parseExprAtom();this.semicolon();return this.finishNode(e,"ExportAllDeclaration")}if(this.eat(m._default)){this.checkExport(t,"default",this.lastTokStart);var r;if(this.type===m._function||(r=this.isAsyncFunction())){var i=this.startNode();this.next();if(r){this.next()}e.declaration=this.parseFunction(i,Y|Z,false,r,true)}else if(this.type===m._class){var s=this.startNode();e.declaration=this.parseClass(s,"nullableID")}else{e.declaration=this.parseMaybeAssign();this.semicolon()}return this.finishNode(e,"ExportDefaultDeclaration")}if(this.shouldParseExportStatement()){e.declaration=this.parseStatement(null);if(e.declaration.type==="VariableDeclaration"){this.checkVariableExport(t,e.declaration.declarations)}else{this.checkExport(t,e.declaration.id.name,e.declaration.id.start)}e.specifiers=[];e.source=null}else{e.declaration=null;e.specifiers=this.parseExportSpecifiers(t);if(this.eatContextual("from")){if(this.type!==m.string){this.unexpected()}e.source=this.parseExprAtom()}else{for(var o=0,a=e.specifiers;o=6&&e){switch(e.type){case"Identifier":if(this.inAsync&&e.name==="await"){this.raise(e.start,"Can not use 'await' as identifier inside an async function")}break;case"ObjectPattern":case"ArrayPattern":case"RestElement":break;case"ObjectExpression":e.type="ObjectPattern";if(n){this.checkPatternErrors(n,true)}for(var i=0,s=e.properties;i=8&&!s&&o.name==="async"&&!this.canInsertSemicolon()&&this.eat(m._function)){return this.parseFunction(this.startNodeAt(r,i),0,false,true)}if(n&&!this.canInsertSemicolon()){if(this.eat(m.arrow)){return this.parseArrowExpression(this.startNodeAt(r,i),[o],false)}if(this.options.ecmaVersion>=8&&o.name==="async"&&this.type===m.name&&!s){o=this.parseIdent();if(this.canInsertSemicolon()||!this.eat(m.arrow)){this.unexpected()}return this.parseArrowExpression(this.startNodeAt(r,i),[o],true)}}return o;case m.regexp:var a=this.value;t=this.parseLiteral(a.value);t.regex={pattern:a.pattern,flags:a.flags};return t;case m.num:case m.string:return this.parseLiteral(this.value);case m._null:case m._true:case m._false:t=this.startNode();t.value=this.type===m._null?null:this.type===m._true;t.raw=this.type.keyword;this.next();return this.finishNode(t,"Literal");case m.parenL:var u=this.start,c=this.parseParenAndDistinguishExpression(n);if(e){if(e.parenthesizedAssign<0&&!this.isSimpleAssignTarget(c)){e.parenthesizedAssign=u}if(e.parenthesizedBind<0){e.parenthesizedBind=u}}return c;case m.bracketL:t=this.startNode();this.next();t.elements=this.parseExprList(m.bracketR,true,true,e);return this.finishNode(t,"ArrayExpression");case m.braceL:return this.parseObj(false,e);case m._function:t=this.startNode();this.next();return this.parseFunction(t,0);case m._class:return this.parseClass(this.startNode(),false);case m._new:return this.parseNew();case m.backQuote:return this.parseTemplate();default:this.unexpected()}};ee.parseLiteral=function(e){var t=this.startNode();t.value=e;t.raw=this.input.slice(this.start,this.end);this.next();return this.finishNode(t,"Literal")};ee.parseParenExpression=function(){this.expect(m.parenL);var e=this.parseExpression();this.expect(m.parenR);return e};ee.parseParenAndDistinguishExpression=function(e){var t=this;var n=this.start,r=this.startLoc,i,s=this.options.ecmaVersion>=8;if(this.options.ecmaVersion>=6){this.next();var o=this.start,a=this.startLoc;var u=[],c=true,l=false;var f=new DestructuringErrors,d=this.yieldPos,p=this.awaitPos,h;this.yieldPos=0;this.awaitPos=0;while(this.type!==m.parenR){c?c=false:t.expect(m.comma);if(s&&t.afterTrailingComma(m.parenR,true)){l=true;break}else if(t.type===m.ellipsis){h=t.start;u.push(t.parseParenItem(t.parseRestBinding()));if(t.type===m.comma){t.raise(t.start,"Comma is not permitted after the rest element")}break}else{u.push(t.parseMaybeAssign(false,f,t.parseParenItem))}}var g=this.start,y=this.startLoc;this.expect(m.parenR);if(e&&!this.canInsertSemicolon()&&this.eat(m.arrow)){this.checkPatternErrors(f,false);this.checkYieldAwaitInDefaultParams();this.yieldPos=d;this.awaitPos=p;return this.parseParenArrowList(n,r,u)}if(!u.length||l){this.unexpected(this.lastTokStart)}if(h){this.unexpected(h)}this.checkExpressionErrors(f,true);this.yieldPos=d||this.yieldPos;this.awaitPos=p||this.awaitPos;if(u.length>1){i=this.startNodeAt(o,a);i.expressions=u;this.finishNodeAt(i,"SequenceExpression",g,y)}else{i=u[0]}}else{i=this.parseParenExpression()}if(this.options.preserveParens){var v=this.startNodeAt(n,r);v.expression=i;return this.finishNode(v,"ParenthesizedExpression")}else{return i}};ee.parseParenItem=function(e){return e};ee.parseParenArrowList=function(e,t,n){return this.parseArrowExpression(this.startNodeAt(e,t),n)};var te=[];ee.parseNew=function(){var e=this.startNode();var t=this.parseIdent(true);if(this.options.ecmaVersion>=6&&this.eat(m.dot)){e.meta=t;var n=this.containsEsc;e.property=this.parseIdent(true);if(e.property.name!=="target"||n){this.raiseRecoverable(e.property.start,"The only valid meta property for new is new.target")}if(!this.inNonArrowFunction()){this.raiseRecoverable(e.start,"new.target can only be used in functions")}return this.finishNode(e,"MetaProperty")}var r=this.start,i=this.startLoc;e.callee=this.parseSubscripts(this.parseExprAtom(),r,i,true);if(this.eat(m.parenL)){e.arguments=this.parseExprList(m.parenR,this.options.ecmaVersion>=8,false)}else{e.arguments=te}return this.finishNode(e,"NewExpression")};ee.parseTemplateElement=function(e){var t=e.isTagged;var n=this.startNode();if(this.type===m.invalidTemplate){if(!t){this.raiseRecoverable(this.start,"Bad escape sequence in untagged template literal")}n.value={raw:this.value,cooked:null}}else{n.value={raw:this.input.slice(this.start,this.end).replace(/\r\n?/g,"\n"),cooked:this.value}}this.next();n.tail=this.type===m.backQuote;return this.finishNode(n,"TemplateElement")};ee.parseTemplate=function(e){var t=this;if(e===void 0)e={};var n=e.isTagged;if(n===void 0)n=false;var r=this.startNode();this.next();r.expressions=[];var i=this.parseTemplateElement({isTagged:n});r.quasis=[i];while(!i.tail){if(t.type===m.eof){t.raise(t.pos,"Unterminated template literal")}t.expect(m.dollarBraceL);r.expressions.push(t.parseExpression());t.expect(m.braceR);r.quasis.push(i=t.parseTemplateElement({isTagged:n}))}this.next();return this.finishNode(r,"TemplateLiteral")};ee.isAsyncProp=function(e){return!e.computed&&e.key.type==="Identifier"&&e.key.name==="async"&&(this.type===m.name||this.type===m.num||this.type===m.string||this.type===m.bracketL||this.type.keyword||this.options.ecmaVersion>=9&&this.type===m.star)&&!g.test(this.input.slice(this.lastTokEnd,this.start))};ee.parseObj=function(e,t){var n=this;var r=this.startNode(),i=true,s={};r.properties=[];this.next();while(!this.eat(m.braceR)){if(!i){n.expect(m.comma);if(n.afterTrailingComma(m.braceR)){break}}else{i=false}var o=n.parseProperty(e,t);if(!e){n.checkPropClash(o,s,t)}r.properties.push(o)}return this.finishNode(r,e?"ObjectPattern":"ObjectExpression")};ee.parseProperty=function(e,t){var n=this.startNode(),r,i,s,o;if(this.options.ecmaVersion>=9&&this.eat(m.ellipsis)){if(e){n.argument=this.parseIdent(false);if(this.type===m.comma){this.raise(this.start,"Comma is not permitted after the rest element")}return this.finishNode(n,"RestElement")}if(this.type===m.parenL&&t){if(t.parenthesizedAssign<0){t.parenthesizedAssign=this.start}if(t.parenthesizedBind<0){t.parenthesizedBind=this.start}}n.argument=this.parseMaybeAssign(false,t);if(this.type===m.comma&&t&&t.trailingComma<0){t.trailingComma=this.start}return this.finishNode(n,"SpreadElement")}if(this.options.ecmaVersion>=6){n.method=false;n.shorthand=false;if(e||t){s=this.start;o=this.startLoc}if(!e){r=this.eat(m.star)}}var a=this.containsEsc;this.parsePropertyName(n);if(!e&&!a&&this.options.ecmaVersion>=8&&!r&&this.isAsyncProp(n)){i=true;r=this.options.ecmaVersion>=9&&this.eat(m.star);this.parsePropertyName(n,t)}else{i=false}this.parsePropertyValue(n,e,r,i,s,o,t,a);return this.finishNode(n,"Property")};ee.parsePropertyValue=function(e,t,n,r,i,s,o,a){if((n||r)&&this.type===m.colon){this.unexpected()}if(this.eat(m.colon)){e.value=t?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(false,o);e.kind="init"}else if(this.options.ecmaVersion>=6&&this.type===m.parenL){if(t){this.unexpected()}e.kind="init";e.method=true;e.value=this.parseMethod(n,r)}else if(!t&&!a&&this.options.ecmaVersion>=5&&!e.computed&&e.key.type==="Identifier"&&(e.key.name==="get"||e.key.name==="set")&&(this.type!==m.comma&&this.type!==m.braceR)){if(n||r){this.unexpected()}e.kind=e.key.name;this.parsePropertyName(e);e.value=this.parseMethod(false);var u=e.kind==="get"?0:1;if(e.value.params.length!==u){var c=e.value.start;if(e.kind==="get"){this.raiseRecoverable(c,"getter should have no params")}else{this.raiseRecoverable(c,"setter should have exactly one param")}}else{if(e.kind==="set"&&e.value.params[0].type==="RestElement"){this.raiseRecoverable(e.value.params[0].start,"Setter cannot use rest params")}}}else if(this.options.ecmaVersion>=6&&!e.computed&&e.key.type==="Identifier"){this.checkUnreserved(e.key);e.kind="init";if(t){e.value=this.parseMaybeDefault(i,s,e.key)}else if(this.type===m.eq&&o){if(o.shorthandAssign<0){o.shorthandAssign=this.start}e.value=this.parseMaybeDefault(i,s,e.key)}else{e.value=e.key}e.shorthand=true}else{this.unexpected()}};ee.parsePropertyName=function(e){if(this.options.ecmaVersion>=6){if(this.eat(m.bracketL)){e.computed=true;e.key=this.parseMaybeAssign();this.expect(m.bracketR);return e.key}else{e.computed=false}}return e.key=this.type===m.num||this.type===m.string?this.parseExprAtom():this.parseIdent(true)};ee.initFunction=function(e){e.id=null;if(this.options.ecmaVersion>=6){e.generator=e.expression=false}if(this.options.ecmaVersion>=8){e.async=false}};ee.parseMethod=function(e,t,n){var r=this.startNode(),i=this.yieldPos,s=this.awaitPos;this.initFunction(r);if(this.options.ecmaVersion>=6){r.generator=e}if(this.options.ecmaVersion>=8){r.async=!!t}this.yieldPos=0;this.awaitPos=0;this.enterScope(functionFlags(t,r.generator)|R|(n?P:0));this.expect(m.parenL);r.params=this.parseBindingList(m.parenR,false,this.options.ecmaVersion>=8);this.checkYieldAwaitInDefaultParams();this.parseFunctionBody(r,false);this.yieldPos=i;this.awaitPos=s;return this.finishNode(r,"FunctionExpression")};ee.parseArrowExpression=function(e,t,n){var r=this.yieldPos,i=this.awaitPos;this.enterScope(functionFlags(n,false)|F);this.initFunction(e);if(this.options.ecmaVersion>=8){e.async=!!n}this.yieldPos=0;this.awaitPos=0;e.params=this.toAssignableList(t,true);this.parseFunctionBody(e,true);this.yieldPos=r;this.awaitPos=i;return this.finishNode(e,"ArrowFunctionExpression")};ee.parseFunctionBody=function(e,t){var n=t&&this.type!==m.braceL;var r=this.strict,i=false;if(n){e.body=this.parseMaybeAssign();e.expression=true;this.checkParams(e,false)}else{var s=this.options.ecmaVersion>=7&&!this.isSimpleParamList(e.params);if(!r||s){i=this.strictDirective(this.end);if(i&&s){this.raiseRecoverable(e.start,"Illegal 'use strict' directive in function with non-simple parameter list")}}var o=this.labels;this.labels=[];if(i){this.strict=true}this.checkParams(e,!r&&!i&&!t&&this.isSimpleParamList(e.params));e.body=this.parseBlock(false);e.expression=false;this.adaptDirectivePrologue(e.body.body);this.labels=o}this.exitScope();if(this.strict&&e.id){this.checkLVal(e.id,G)}this.strict=r};ee.isSimpleParamList=function(e){for(var t=0,n=e;t-1||s.var.indexOf(e)>-1;s.lexical.push(e)}else if(t===U){var o=this.currentScope();o.lexical.push(e)}else if(t===B){var a=this.currentScope();i=a.lexical.indexOf(e)>-1;a.var.push(e)}else{for(var u=this.scopeStack.length-1;u>=0;--u){var c=r.scopeStack[u];if(c.lexical.indexOf(e)>-1&&!(c.flags&I)&&c.lexical[0]===e){i=true}c.var.push(e);if(c.flags&M){break}}}if(i){this.raiseRecoverable(n,"Identifier '"+e+"' has already been declared")}};re.currentScope=function(){return this.scopeStack[this.scopeStack.length-1]};re.currentVarScope=function(){var e=this;for(var t=this.scopeStack.length-1;;t--){var n=e.scopeStack[t];if(n.flags&M){return n}}};re.currentThisScope=function(){var e=this;for(var t=this.scopeStack.length-1;;t--){var n=e.scopeStack[t];if(n.flags&M&&!(n.flags&F)){return n}}};var se=function Node(e,t,n){this.type="";this.start=t;this.end=0;if(e.options.locations){this.loc=new C(e,n)}if(e.options.directSourceFile){this.sourceFile=e.options.directSourceFile}if(e.options.ranges){this.range=[t,0]}};var oe=z.prototype;oe.startNode=function(){return new se(this,this.start,this.startLoc)};oe.startNodeAt=function(e,t){return new se(this,e,t)};function finishNodeAt(e,t,n,r){e.type=t;e.end=n;if(this.options.locations){e.loc.end=r}if(this.options.ranges){e.range[1]=n}return e}oe.finishNode=function(e,t){return finishNodeAt.call(this,e,t,this.lastTokEnd,this.lastTokEndLoc)};oe.finishNodeAt=function(e,t,n,r){return finishNodeAt.call(this,e,t,n,r)};var ae=function TokContext(e,t,n,r,i){this.token=e;this.isExpr=!!t;this.preserveSpace=!!n;this.override=r;this.generator=!!i};var ue={b_stat:new ae("{",false),b_expr:new ae("{",true),b_tmpl:new ae("${",false),p_stat:new ae("(",false),p_expr:new ae("(",true),q_tmpl:new ae("`",true,true,function(e){return e.tryReadTemplateToken()}),f_stat:new ae("function",false),f_expr:new ae("function",true),f_expr_gen:new ae("function",true,false,null,true),f_gen:new ae("function",false,false,null,true)};var ce=z.prototype;ce.initialContext=function(){return[ue.b_stat]};ce.braceIsBlock=function(e){var t=this.curContext();if(t===ue.f_expr||t===ue.f_stat){return true}if(e===m.colon&&(t===ue.b_stat||t===ue.b_expr)){return!t.isExpr}if(e===m._return||e===m.name&&this.exprAllowed){return g.test(this.input.slice(this.lastTokEnd,this.start))}if(e===m._else||e===m.semi||e===m.eof||e===m.parenR||e===m.arrow){return true}if(e===m.braceL){return t===ue.b_stat}if(e===m._var||e===m._const||e===m.name){return false}return!this.exprAllowed};ce.inGeneratorContext=function(){var e=this;for(var t=this.context.length-1;t>=1;t--){var n=e.context[t];if(n.token==="function"){return n.generator}}return false};ce.updateContext=function(e){var t,n=this.type;if(n.keyword&&e===m.dot){this.exprAllowed=false}else if(t=n.updateContext){t.call(this,e)}else{this.exprAllowed=n.beforeExpr}};m.parenR.updateContext=m.braceR.updateContext=function(){if(this.context.length===1){this.exprAllowed=true;return}var e=this.context.pop();if(e===ue.b_stat&&this.curContext().token==="function"){e=this.context.pop()}this.exprAllowed=!e.isExpr};m.braceL.updateContext=function(e){this.context.push(this.braceIsBlock(e)?ue.b_stat:ue.b_expr);this.exprAllowed=true};m.dollarBraceL.updateContext=function(){this.context.push(ue.b_tmpl);this.exprAllowed=true};m.parenL.updateContext=function(e){var t=e===m._if||e===m._for||e===m._with||e===m._while;this.context.push(t?ue.p_stat:ue.p_expr);this.exprAllowed=true};m.incDec.updateContext=function(){};m._function.updateContext=m._class.updateContext=function(e){if(e.beforeExpr&&e!==m.semi&&e!==m._else&&!(e===m._return&&g.test(this.input.slice(this.lastTokEnd,this.start)))&&!((e===m.colon||e===m.braceL)&&this.curContext()===ue.b_stat)){this.context.push(ue.f_expr)}else{this.context.push(ue.f_stat)}this.exprAllowed=false};m.backQuote.updateContext=function(){if(this.curContext()===ue.q_tmpl){this.context.pop()}else{this.context.push(ue.q_tmpl)}this.exprAllowed=false};m.star.updateContext=function(e){if(e===m._function){var t=this.context.length-1;if(this.context[t]===ue.f_expr){this.context[t]=ue.f_expr_gen}else{this.context[t]=ue.f_gen}}this.exprAllowed=true};m.name.updateContext=function(e){var t=false;if(this.options.ecmaVersion>=6&&e!==m.dot){if(this.value==="of"&&!this.exprAllowed||this.value==="yield"&&this.inGeneratorContext()){t=true}}this.exprAllowed=t};var le={$LONE:["ASCII","ASCII_Hex_Digit","AHex","Alphabetic","Alpha","Any","Assigned","Bidi_Control","Bidi_C","Bidi_Mirrored","Bidi_M","Case_Ignorable","CI","Cased","Changes_When_Casefolded","CWCF","Changes_When_Casemapped","CWCM","Changes_When_Lowercased","CWL","Changes_When_NFKC_Casefolded","CWKCF","Changes_When_Titlecased","CWT","Changes_When_Uppercased","CWU","Dash","Default_Ignorable_Code_Point","DI","Deprecated","Dep","Diacritic","Dia","Emoji","Emoji_Component","Emoji_Modifier","Emoji_Modifier_Base","Emoji_Presentation","Extender","Ext","Grapheme_Base","Gr_Base","Grapheme_Extend","Gr_Ext","Hex_Digit","Hex","IDS_Binary_Operator","IDSB","IDS_Trinary_Operator","IDST","ID_Continue","IDC","ID_Start","IDS","Ideographic","Ideo","Join_Control","Join_C","Logical_Order_Exception","LOE","Lowercase","Lower","Math","Noncharacter_Code_Point","NChar","Pattern_Syntax","Pat_Syn","Pattern_White_Space","Pat_WS","Quotation_Mark","QMark","Radical","Regional_Indicator","RI","Sentence_Terminal","STerm","Soft_Dotted","SD","Terminal_Punctuation","Term","Unified_Ideograph","UIdeo","Uppercase","Upper","Variation_Selector","VS","White_Space","space","XID_Continue","XIDC","XID_Start","XIDS"],General_Category:["Cased_Letter","LC","Close_Punctuation","Pe","Connector_Punctuation","Pc","Control","Cc","cntrl","Currency_Symbol","Sc","Dash_Punctuation","Pd","Decimal_Number","Nd","digit","Enclosing_Mark","Me","Final_Punctuation","Pf","Format","Cf","Initial_Punctuation","Pi","Letter","L","Letter_Number","Nl","Line_Separator","Zl","Lowercase_Letter","Ll","Mark","M","Combining_Mark","Math_Symbol","Sm","Modifier_Letter","Lm","Modifier_Symbol","Sk","Nonspacing_Mark","Mn","Number","N","Open_Punctuation","Ps","Other","C","Other_Letter","Lo","Other_Number","No","Other_Punctuation","Po","Other_Symbol","So","Paragraph_Separator","Zp","Private_Use","Co","Punctuation","P","punct","Separator","Z","Space_Separator","Zs","Spacing_Mark","Mc","Surrogate","Cs","Symbol","S","Titlecase_Letter","Lt","Unassigned","Cn","Uppercase_Letter","Lu"],Script:["Adlam","Adlm","Ahom","Anatolian_Hieroglyphs","Hluw","Arabic","Arab","Armenian","Armn","Avestan","Avst","Balinese","Bali","Bamum","Bamu","Bassa_Vah","Bass","Batak","Batk","Bengali","Beng","Bhaiksuki","Bhks","Bopomofo","Bopo","Brahmi","Brah","Braille","Brai","Buginese","Bugi","Buhid","Buhd","Canadian_Aboriginal","Cans","Carian","Cari","Caucasian_Albanian","Aghb","Chakma","Cakm","Cham","Cherokee","Cher","Common","Zyyy","Coptic","Copt","Qaac","Cuneiform","Xsux","Cypriot","Cprt","Cyrillic","Cyrl","Deseret","Dsrt","Devanagari","Deva","Duployan","Dupl","Egyptian_Hieroglyphs","Egyp","Elbasan","Elba","Ethiopic","Ethi","Georgian","Geor","Glagolitic","Glag","Gothic","Goth","Grantha","Gran","Greek","Grek","Gujarati","Gujr","Gurmukhi","Guru","Han","Hani","Hangul","Hang","Hanunoo","Hano","Hatran","Hatr","Hebrew","Hebr","Hiragana","Hira","Imperial_Aramaic","Armi","Inherited","Zinh","Qaai","Inscriptional_Pahlavi","Phli","Inscriptional_Parthian","Prti","Javanese","Java","Kaithi","Kthi","Kannada","Knda","Katakana","Kana","Kayah_Li","Kali","Kharoshthi","Khar","Khmer","Khmr","Khojki","Khoj","Khudawadi","Sind","Lao","Laoo","Latin","Latn","Lepcha","Lepc","Limbu","Limb","Linear_A","Lina","Linear_B","Linb","Lisu","Lycian","Lyci","Lydian","Lydi","Mahajani","Mahj","Malayalam","Mlym","Mandaic","Mand","Manichaean","Mani","Marchen","Marc","Masaram_Gondi","Gonm","Meetei_Mayek","Mtei","Mende_Kikakui","Mend","Meroitic_Cursive","Merc","Meroitic_Hieroglyphs","Mero","Miao","Plrd","Modi","Mongolian","Mong","Mro","Mroo","Multani","Mult","Myanmar","Mymr","Nabataean","Nbat","New_Tai_Lue","Talu","Newa","Nko","Nkoo","Nushu","Nshu","Ogham","Ogam","Ol_Chiki","Olck","Old_Hungarian","Hung","Old_Italic","Ital","Old_North_Arabian","Narb","Old_Permic","Perm","Old_Persian","Xpeo","Old_South_Arabian","Sarb","Old_Turkic","Orkh","Oriya","Orya","Osage","Osge","Osmanya","Osma","Pahawh_Hmong","Hmng","Palmyrene","Palm","Pau_Cin_Hau","Pauc","Phags_Pa","Phag","Phoenician","Phnx","Psalter_Pahlavi","Phlp","Rejang","Rjng","Runic","Runr","Samaritan","Samr","Saurashtra","Saur","Sharada","Shrd","Shavian","Shaw","Siddham","Sidd","SignWriting","Sgnw","Sinhala","Sinh","Sora_Sompeng","Sora","Soyombo","Soyo","Sundanese","Sund","Syloti_Nagri","Sylo","Syriac","Syrc","Tagalog","Tglg","Tagbanwa","Tagb","Tai_Le","Tale","Tai_Tham","Lana","Tai_Viet","Tavt","Takri","Takr","Tamil","Taml","Tangut","Tang","Telugu","Telu","Thaana","Thaa","Thai","Tibetan","Tibt","Tifinagh","Tfng","Tirhuta","Tirh","Ugaritic","Ugar","Vai","Vaii","Warang_Citi","Wara","Yi","Yiii","Zanabazar_Square","Zanb"]};Array.prototype.push.apply(le.$LONE,le.General_Category);le.gc=le.General_Category;le.sc=le.Script_Extensions=le.scx=le.Script;var fe=z.prototype;var de=function RegExpValidationState(e){this.parser=e;this.validFlags="gim"+(e.options.ecmaVersion>=6?"uy":"")+(e.options.ecmaVersion>=9?"s":"");this.source="";this.flags="";this.start=0;this.switchU=false;this.switchN=false;this.pos=0;this.lastIntValue=0;this.lastStringValue="";this.lastAssertionIsQuantifiable=false;this.numCapturingParens=0;this.maxBackReference=0;this.groupNames=[];this.backReferenceNames=[]};de.prototype.reset=function reset(e,t,n){var r=n.indexOf("u")!==-1;this.start=e|0;this.source=t+"";this.flags=n;this.switchU=r&&this.parser.options.ecmaVersion>=6;this.switchN=r&&this.parser.options.ecmaVersion>=9};de.prototype.raise=function raise(e){this.parser.raiseRecoverable(this.start,"Invalid regular expression: /"+this.source+"/: "+e)};de.prototype.at=function at(e){var t=this.source;var n=t.length;if(e>=n){return-1}var r=t.charCodeAt(e);if(!this.switchU||r<=55295||r>=57344||e+1>=n){return r}return(r<<10)+t.charCodeAt(e+1)-56613888};de.prototype.nextIndex=function nextIndex(e){var t=this.source;var n=t.length;if(e>=n){return n}var r=t.charCodeAt(e);if(!this.switchU||r<=55295||r>=57344||e+1>=n){return e+1}return e+2};de.prototype.current=function current(){return this.at(this.pos)};de.prototype.lookahead=function lookahead(){return this.at(this.nextIndex(this.pos))};de.prototype.advance=function advance(){this.pos=this.nextIndex(this.pos)};de.prototype.eat=function eat(e){if(this.current()===e){this.advance();return true}return false};function codePointToString$1(e){if(e<=65535){return String.fromCharCode(e)}e-=65536;return String.fromCharCode((e>>10)+55296,(e&1023)+56320)}fe.validateRegExpFlags=function(e){var t=this;var n=e.validFlags;var r=e.flags;for(var i=0;i-1){t.raise(e.start,"Duplicate regular expression flag")}}};fe.validateRegExpPattern=function(e){this.regexp_pattern(e);if(!e.switchN&&this.options.ecmaVersion>=9&&e.groupNames.length>0){e.switchN=true;this.regexp_pattern(e)}};fe.regexp_pattern=function(e){e.pos=0;e.lastIntValue=0;e.lastStringValue="";e.lastAssertionIsQuantifiable=false;e.numCapturingParens=0;e.maxBackReference=0;e.groupNames.length=0;e.backReferenceNames.length=0;this.regexp_disjunction(e);if(e.pos!==e.source.length){if(e.eat(41)){e.raise("Unmatched ')'")}if(e.eat(93)||e.eat(125)){e.raise("Lone quantifier brackets")}}if(e.maxBackReference>e.numCapturingParens){e.raise("Invalid escape")}for(var t=0,n=e.backReferenceNames;t=9){n=e.eat(60)}if(e.eat(61)||e.eat(33)){this.regexp_disjunction(e);if(!e.eat(41)){e.raise("Unterminated group")}e.lastAssertionIsQuantifiable=!n;return true}}e.pos=t;return false};fe.regexp_eatQuantifier=function(e,t){if(t===void 0)t=false;if(this.regexp_eatQuantifierPrefix(e,t)){e.eat(63);return true}return false};fe.regexp_eatQuantifierPrefix=function(e,t){return e.eat(42)||e.eat(43)||e.eat(63)||this.regexp_eatBracedQuantifier(e,t)};fe.regexp_eatBracedQuantifier=function(e,t){var n=e.pos;if(e.eat(123)){var r=0,i=-1;if(this.regexp_eatDecimalDigits(e)){r=e.lastIntValue;if(e.eat(44)&&this.regexp_eatDecimalDigits(e)){i=e.lastIntValue}if(e.eat(125)){if(i!==-1&&i=9){this.regexp_groupSpecifier(e)}else if(e.current()===63){e.raise("Invalid group")}this.regexp_disjunction(e);if(e.eat(41)){e.numCapturingParens+=1;return true}e.raise("Unterminated group")}return false};fe.regexp_eatExtendedAtom=function(e){return e.eat(46)||this.regexp_eatReverseSolidusAtomEscape(e)||this.regexp_eatCharacterClass(e)||this.regexp_eatUncapturingGroup(e)||this.regexp_eatCapturingGroup(e)||this.regexp_eatInvalidBracedQuantifier(e)||this.regexp_eatExtendedPatternCharacter(e)};fe.regexp_eatInvalidBracedQuantifier=function(e){if(this.regexp_eatBracedQuantifier(e,true)){e.raise("Nothing to repeat")}return false};fe.regexp_eatSyntaxCharacter=function(e){var t=e.current();if(isSyntaxCharacter(t)){e.lastIntValue=t;e.advance();return true}return false};function isSyntaxCharacter(e){return e===36||e>=40&&e<=43||e===46||e===63||e>=91&&e<=94||e>=123&&e<=125}fe.regexp_eatPatternCharacters=function(e){var t=e.pos;var n=0;while((n=e.current())!==-1&&!isSyntaxCharacter(n)){e.advance()}return e.pos!==t};fe.regexp_eatExtendedPatternCharacter=function(e){var t=e.current();if(t!==-1&&t!==36&&!(t>=40&&t<=43)&&t!==46&&t!==63&&t!==91&&t!==94&&t!==124){e.advance();return true}return false};fe.regexp_groupSpecifier=function(e){if(e.eat(63)){if(this.regexp_eatGroupName(e)){if(e.groupNames.indexOf(e.lastStringValue)!==-1){e.raise("Duplicate capture group name")}e.groupNames.push(e.lastStringValue);return}e.raise("Invalid group")}};fe.regexp_eatGroupName=function(e){e.lastStringValue="";if(e.eat(60)){if(this.regexp_eatRegExpIdentifierName(e)&&e.eat(62)){return true}e.raise("Invalid capture group name")}return false};fe.regexp_eatRegExpIdentifierName=function(e){e.lastStringValue="";if(this.regexp_eatRegExpIdentifierStart(e)){e.lastStringValue+=codePointToString$1(e.lastIntValue);while(this.regexp_eatRegExpIdentifierPart(e)){e.lastStringValue+=codePointToString$1(e.lastIntValue)}return true}return false};fe.regexp_eatRegExpIdentifierStart=function(e){var t=e.pos;var n=e.current();e.advance();if(n===92&&this.regexp_eatRegExpUnicodeEscapeSequence(e)){n=e.lastIntValue}if(isRegExpIdentifierStart(n)){e.lastIntValue=n;return true}e.pos=t;return false};function isRegExpIdentifierStart(e){return isIdentifierStart(e,true)||e===36||e===95}fe.regexp_eatRegExpIdentifierPart=function(e){var t=e.pos;var n=e.current();e.advance();if(n===92&&this.regexp_eatRegExpUnicodeEscapeSequence(e)){n=e.lastIntValue}if(isRegExpIdentifierPart(n)){e.lastIntValue=n;return true}e.pos=t;return false};function isRegExpIdentifierPart(e){return isIdentifierChar(e,true)||e===36||e===95||e===8204||e===8205}fe.regexp_eatAtomEscape=function(e){if(this.regexp_eatBackReference(e)||this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)||e.switchN&&this.regexp_eatKGroupName(e)){return true}if(e.switchU){if(e.current()===99){e.raise("Invalid unicode escape")}e.raise("Invalid escape")}return false};fe.regexp_eatBackReference=function(e){var t=e.pos;if(this.regexp_eatDecimalEscape(e)){var n=e.lastIntValue;if(e.switchU){if(n>e.maxBackReference){e.maxBackReference=n}return true}if(n<=e.numCapturingParens){return true}e.pos=t}return false};fe.regexp_eatKGroupName=function(e){if(e.eat(107)){if(this.regexp_eatGroupName(e)){e.backReferenceNames.push(e.lastStringValue);return true}e.raise("Invalid named reference")}return false};fe.regexp_eatCharacterEscape=function(e){return this.regexp_eatControlEscape(e)||this.regexp_eatCControlLetter(e)||this.regexp_eatZero(e)||this.regexp_eatHexEscapeSequence(e)||this.regexp_eatRegExpUnicodeEscapeSequence(e)||!e.switchU&&this.regexp_eatLegacyOctalEscapeSequence(e)||this.regexp_eatIdentityEscape(e)};fe.regexp_eatCControlLetter=function(e){var t=e.pos;if(e.eat(99)){if(this.regexp_eatControlLetter(e)){return true}e.pos=t}return false};fe.regexp_eatZero=function(e){if(e.current()===48&&!isDecimalDigit(e.lookahead())){e.lastIntValue=0;e.advance();return true}return false};fe.regexp_eatControlEscape=function(e){var t=e.current();if(t===116){e.lastIntValue=9;e.advance();return true}if(t===110){e.lastIntValue=10;e.advance();return true}if(t===118){e.lastIntValue=11;e.advance();return true}if(t===102){e.lastIntValue=12;e.advance();return true}if(t===114){e.lastIntValue=13;e.advance();return true}return false};fe.regexp_eatControlLetter=function(e){var t=e.current();if(isControlLetter(t)){e.lastIntValue=t%32;e.advance();return true}return false};function isControlLetter(e){return e>=65&&e<=90||e>=97&&e<=122}fe.regexp_eatRegExpUnicodeEscapeSequence=function(e){var t=e.pos;if(e.eat(117)){if(this.regexp_eatFixedHexDigits(e,4)){var n=e.lastIntValue;if(e.switchU&&n>=55296&&n<=56319){var r=e.pos;if(e.eat(92)&&e.eat(117)&&this.regexp_eatFixedHexDigits(e,4)){var i=e.lastIntValue;if(i>=56320&&i<=57343){e.lastIntValue=(n-55296)*1024+(i-56320)+65536;return true}}e.pos=r;e.lastIntValue=n}return true}if(e.switchU&&e.eat(123)&&this.regexp_eatHexDigits(e)&&e.eat(125)&&isValidUnicode(e.lastIntValue)){return true}if(e.switchU){e.raise("Invalid unicode escape")}e.pos=t}return false};function isValidUnicode(e){return e>=0&&e<=1114111}fe.regexp_eatIdentityEscape=function(e){if(e.switchU){if(this.regexp_eatSyntaxCharacter(e)){return true}if(e.eat(47)){e.lastIntValue=47;return true}return false}var t=e.current();if(t!==99&&(!e.switchN||t!==107)){e.lastIntValue=t;e.advance();return true}return false};fe.regexp_eatDecimalEscape=function(e){e.lastIntValue=0;var t=e.current();if(t>=49&&t<=57){do{e.lastIntValue=10*e.lastIntValue+(t-48);e.advance()}while((t=e.current())>=48&&t<=57);return true}return false};fe.regexp_eatCharacterClassEscape=function(e){var t=e.current();if(isCharacterClassEscape(t)){e.lastIntValue=-1;e.advance();return true}if(e.switchU&&this.options.ecmaVersion>=9&&(t===80||t===112)){e.lastIntValue=-1;e.advance();if(e.eat(123)&&this.regexp_eatUnicodePropertyValueExpression(e)&&e.eat(125)){return true}e.raise("Invalid property name")}return false};function isCharacterClassEscape(e){return e===100||e===68||e===115||e===83||e===119||e===87}fe.regexp_eatUnicodePropertyValueExpression=function(e){var t=e.pos;if(this.regexp_eatUnicodePropertyName(e)&&e.eat(61)){var n=e.lastStringValue;if(this.regexp_eatUnicodePropertyValue(e)){var r=e.lastStringValue;this.regexp_validateUnicodePropertyNameAndValue(e,n,r);return true}}e.pos=t;if(this.regexp_eatLoneUnicodePropertyNameOrValue(e)){var i=e.lastStringValue;this.regexp_validateUnicodePropertyNameOrValue(e,i);return true}return false};fe.regexp_validateUnicodePropertyNameAndValue=function(e,t,n){if(!le.hasOwnProperty(t)||le[t].indexOf(n)===-1){e.raise("Invalid property name")}};fe.regexp_validateUnicodePropertyNameOrValue=function(e,t){if(le.$LONE.indexOf(t)===-1){e.raise("Invalid property name")}};fe.regexp_eatUnicodePropertyName=function(e){var t=0;e.lastStringValue="";while(isUnicodePropertyNameCharacter(t=e.current())){e.lastStringValue+=codePointToString$1(t);e.advance()}return e.lastStringValue!==""};function isUnicodePropertyNameCharacter(e){return isControlLetter(e)||e===95}fe.regexp_eatUnicodePropertyValue=function(e){var t=0;e.lastStringValue="";while(isUnicodePropertyValueCharacter(t=e.current())){e.lastStringValue+=codePointToString$1(t);e.advance()}return e.lastStringValue!==""};function isUnicodePropertyValueCharacter(e){return isUnicodePropertyNameCharacter(e)||isDecimalDigit(e)}fe.regexp_eatLoneUnicodePropertyNameOrValue=function(e){return this.regexp_eatUnicodePropertyValue(e)};fe.regexp_eatCharacterClass=function(e){if(e.eat(91)){e.eat(94);this.regexp_classRanges(e);if(e.eat(93)){return true}e.raise("Unterminated character class")}return false};fe.regexp_classRanges=function(e){var t=this;while(this.regexp_eatClassAtom(e)){var n=e.lastIntValue;if(e.eat(45)&&t.regexp_eatClassAtom(e)){var r=e.lastIntValue;if(e.switchU&&(n===-1||r===-1)){e.raise("Invalid character class")}if(n!==-1&&r!==-1&&n>r){e.raise("Range out of order in character class")}}}};fe.regexp_eatClassAtom=function(e){var t=e.pos;if(e.eat(92)){if(this.regexp_eatClassEscape(e)){return true}if(e.switchU){var n=e.current();if(n===99||isOctalDigit(n)){e.raise("Invalid class escape")}e.raise("Invalid escape")}e.pos=t}var r=e.current();if(r!==93){e.lastIntValue=r;e.advance();return true}return false};fe.regexp_eatClassEscape=function(e){var t=e.pos;if(e.eat(98)){e.lastIntValue=8;return true}if(e.switchU&&e.eat(45)){e.lastIntValue=45;return true}if(!e.switchU&&e.eat(99)){if(this.regexp_eatClassControlLetter(e)){return true}e.pos=t}return this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)};fe.regexp_eatClassControlLetter=function(e){var t=e.current();if(isDecimalDigit(t)||t===95){e.lastIntValue=t%32;e.advance();return true}return false};fe.regexp_eatHexEscapeSequence=function(e){var t=e.pos;if(e.eat(120)){if(this.regexp_eatFixedHexDigits(e,2)){return true}if(e.switchU){e.raise("Invalid escape")}e.pos=t}return false};fe.regexp_eatDecimalDigits=function(e){var t=e.pos;var n=0;e.lastIntValue=0;while(isDecimalDigit(n=e.current())){e.lastIntValue=10*e.lastIntValue+(n-48);e.advance()}return e.pos!==t};function isDecimalDigit(e){return e>=48&&e<=57}fe.regexp_eatHexDigits=function(e){var t=e.pos;var n=0;e.lastIntValue=0;while(isHexDigit(n=e.current())){e.lastIntValue=16*e.lastIntValue+hexToInt(n);e.advance()}return e.pos!==t};function isHexDigit(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function hexToInt(e){if(e>=65&&e<=70){return 10+(e-65)}if(e>=97&&e<=102){return 10+(e-97)}return e-48}fe.regexp_eatLegacyOctalEscapeSequence=function(e){if(this.regexp_eatOctalDigit(e)){var t=e.lastIntValue;if(this.regexp_eatOctalDigit(e)){var n=e.lastIntValue;if(t<=3&&this.regexp_eatOctalDigit(e)){e.lastIntValue=t*64+n*8+e.lastIntValue}else{e.lastIntValue=t*8+n}}else{e.lastIntValue=t}return true}return false};fe.regexp_eatOctalDigit=function(e){var t=e.current();if(isOctalDigit(t)){e.lastIntValue=t-48;e.advance();return true}e.lastIntValue=0;return false};function isOctalDigit(e){return e>=48&&e<=55}fe.regexp_eatFixedHexDigits=function(e,t){var n=e.pos;e.lastIntValue=0;for(var r=0;r=this.input.length){return this.finishToken(m.eof)}if(e.override){return e.override(this)}else{this.readToken(this.fullCharCodeAtPos())}};he.readToken=function(e){if(isIdentifierStart(e,this.options.ecmaVersion>=6)||e===92){return this.readWord()}return this.getTokenFromCode(e)};he.fullCharCodeAtPos=function(){var e=this.input.charCodeAt(this.pos);if(e<=55295||e>=57344){return e}var t=this.input.charCodeAt(this.pos+1);return(e<<10)+t-56613888};he.skipBlockComment=function(){var e=this;var t=this.options.onComment&&this.curPosition();var n=this.pos,r=this.input.indexOf("*/",this.pos+=2);if(r===-1){this.raise(this.pos-2,"Unterminated comment")}this.pos=r+2;if(this.options.locations){y.lastIndex=n;var i;while((i=y.exec(this.input))&&i.index8&&t<14||t>=5760&&v.test(String.fromCharCode(t))){++e.pos}else{break e}}}};he.finishToken=function(e,t){this.end=this.pos;if(this.options.locations){this.endLoc=this.curPosition()}var n=this.type;this.type=e;this.value=t;this.updateContext(n)};he.readToken_dot=function(){var e=this.input.charCodeAt(this.pos+1);if(e>=48&&e<=57){return this.readNumber(true)}var t=this.input.charCodeAt(this.pos+2);if(this.options.ecmaVersion>=6&&e===46&&t===46){this.pos+=3;return this.finishToken(m.ellipsis)}else{++this.pos;return this.finishToken(m.dot)}};he.readToken_slash=function(){var e=this.input.charCodeAt(this.pos+1);if(this.exprAllowed){++this.pos;return this.readRegexp()}if(e===61){return this.finishOp(m.assign,2)}return this.finishOp(m.slash,1)};he.readToken_mult_modulo_exp=function(e){var t=this.input.charCodeAt(this.pos+1);var n=1;var r=e===42?m.star:m.modulo;if(this.options.ecmaVersion>=7&&e===42&&t===42){++n;r=m.starstar;t=this.input.charCodeAt(this.pos+2)}if(t===61){return this.finishOp(m.assign,n+1)}return this.finishOp(r,n)};he.readToken_pipe_amp=function(e){var t=this.input.charCodeAt(this.pos+1);if(t===e){return this.finishOp(e===124?m.logicalOR:m.logicalAND,2)}if(t===61){return this.finishOp(m.assign,2)}return this.finishOp(e===124?m.bitwiseOR:m.bitwiseAND,1)};he.readToken_caret=function(){var e=this.input.charCodeAt(this.pos+1);if(e===61){return this.finishOp(m.assign,2)}return this.finishOp(m.bitwiseXOR,1)};he.readToken_plus_min=function(e){var t=this.input.charCodeAt(this.pos+1);if(t===e){if(t===45&&!this.inModule&&this.input.charCodeAt(this.pos+2)===62&&(this.lastTokEnd===0||g.test(this.input.slice(this.lastTokEnd,this.pos)))){this.skipLineComment(3);this.skipSpace();return this.nextToken()}return this.finishOp(m.incDec,2)}if(t===61){return this.finishOp(m.assign,2)}return this.finishOp(m.plusMin,1)};he.readToken_lt_gt=function(e){var t=this.input.charCodeAt(this.pos+1);var n=1;if(t===e){n=e===62&&this.input.charCodeAt(this.pos+2)===62?3:2;if(this.input.charCodeAt(this.pos+n)===61){return this.finishOp(m.assign,n+1)}return this.finishOp(m.bitShift,n)}if(t===33&&e===60&&!this.inModule&&this.input.charCodeAt(this.pos+2)===45&&this.input.charCodeAt(this.pos+3)===45){this.skipLineComment(4);this.skipSpace();return this.nextToken()}if(t===61){n=2}return this.finishOp(m.relational,n)};he.readToken_eq_excl=function(e){var t=this.input.charCodeAt(this.pos+1);if(t===61){return this.finishOp(m.equality,this.input.charCodeAt(this.pos+2)===61?3:2)}if(e===61&&t===62&&this.options.ecmaVersion>=6){this.pos+=2;return this.finishToken(m.arrow)}return this.finishOp(e===61?m.eq:m.prefix,1)};he.getTokenFromCode=function(e){switch(e){case 46:return this.readToken_dot();case 40:++this.pos;return this.finishToken(m.parenL);case 41:++this.pos;return this.finishToken(m.parenR);case 59:++this.pos;return this.finishToken(m.semi);case 44:++this.pos;return this.finishToken(m.comma);case 91:++this.pos;return this.finishToken(m.bracketL);case 93:++this.pos;return this.finishToken(m.bracketR);case 123:++this.pos;return this.finishToken(m.braceL);case 125:++this.pos;return this.finishToken(m.braceR);case 58:++this.pos;return this.finishToken(m.colon);case 63:++this.pos;return this.finishToken(m.question);case 96:if(this.options.ecmaVersion<6){break}++this.pos;return this.finishToken(m.backQuote);case 48:var t=this.input.charCodeAt(this.pos+1);if(t===120||t===88){return this.readRadixNumber(16)}if(this.options.ecmaVersion>=6){if(t===111||t===79){return this.readRadixNumber(8)}if(t===98||t===66){return this.readRadixNumber(2)}}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(false);case 34:case 39:return this.readString(e);case 47:return this.readToken_slash();case 37:case 42:return this.readToken_mult_modulo_exp(e);case 124:case 38:return this.readToken_pipe_amp(e);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(e);case 60:case 62:return this.readToken_lt_gt(e);case 61:case 33:return this.readToken_eq_excl(e);case 126:return this.finishOp(m.prefix,1)}this.raise(this.pos,"Unexpected character '"+codePointToString(e)+"'")};he.finishOp=function(e,t){var n=this.input.slice(this.pos,this.pos+t);this.pos+=t;return this.finishToken(e,n)};he.readRegexp=function(){var e=this;var t,n,r=this.pos;for(;;){if(e.pos>=e.input.length){e.raise(r,"Unterminated regular expression")}var i=e.input.charAt(e.pos);if(g.test(i)){e.raise(r,"Unterminated regular expression")}if(!t){if(i==="["){n=true}else if(i==="]"&&n){n=false}else if(i==="/"&&!n){break}t=i==="\\"}else{t=false}++e.pos}var s=this.input.slice(r,this.pos);++this.pos;var o=this.pos;var a=this.readWord1();if(this.containsEsc){this.unexpected(o)}var u=this.regexpState||(this.regexpState=new de(this));u.reset(r,s,a);this.validateRegExpFlags(u);this.validateRegExpPattern(u);var c=null;try{c=new RegExp(s,a)}catch(e){}return this.finishToken(m.regexp,{pattern:s,flags:a,value:c})};he.readInt=function(e,t){var n=this;var r=this.pos,i=0;for(var s=0,o=t==null?Infinity:t;s=97){u=a-97+10}else if(a>=65){u=a-65+10}else if(a>=48&&a<=57){u=a-48}else{u=Infinity}if(u>=e){break}++n.pos;i=i*e+u}if(this.pos===r||t!=null&&this.pos-r!==t){return null}return i};he.readRadixNumber=function(e){this.pos+=2;var t=this.readInt(e);if(t==null){this.raise(this.start+2,"Expected number in radix "+e)}if(isIdentifierStart(this.fullCharCodeAtPos())){this.raise(this.pos,"Identifier directly after number")}return this.finishToken(m.num,t)};he.readNumber=function(e){var t=this.pos;if(!e&&this.readInt(10)===null){this.raise(t,"Invalid number")}var n=this.pos-t>=2&&this.input.charCodeAt(t)===48;if(n&&this.strict){this.raise(t,"Invalid number")}if(n&&/[89]/.test(this.input.slice(t,this.pos))){n=false}var r=this.input.charCodeAt(this.pos);if(r===46&&!n){++this.pos;this.readInt(10);r=this.input.charCodeAt(this.pos)}if((r===69||r===101)&&!n){r=this.input.charCodeAt(++this.pos);if(r===43||r===45){++this.pos}if(this.readInt(10)===null){this.raise(t,"Invalid number")}}if(isIdentifierStart(this.fullCharCodeAtPos())){this.raise(this.pos,"Identifier directly after number")}var i=this.input.slice(t,this.pos);var s=n?parseInt(i,8):parseFloat(i);return this.finishToken(m.num,s)};he.readCodePoint=function(){var e=this.input.charCodeAt(this.pos),t;if(e===123){if(this.options.ecmaVersion<6){this.unexpected()}var n=++this.pos;t=this.readHexChar(this.input.indexOf("}",this.pos)-this.pos);++this.pos;if(t>1114111){this.invalidStringToken(n,"Code point out of bounds")}}else{t=this.readHexChar(4)}return t};function codePointToString(e){if(e<=65535){return String.fromCharCode(e)}e-=65536;return String.fromCharCode((e>>10)+55296,(e&1023)+56320)}he.readString=function(e){var t=this;var n="",r=++this.pos;for(;;){if(t.pos>=t.input.length){t.raise(t.start,"Unterminated string constant")}var i=t.input.charCodeAt(t.pos);if(i===e){break}if(i===92){n+=t.input.slice(r,t.pos);n+=t.readEscapedChar(false);r=t.pos}else{if(isNewLine(i,t.options.ecmaVersion>=10)){t.raise(t.start,"Unterminated string constant")}++t.pos}}n+=this.input.slice(r,this.pos++);return this.finishToken(m.string,n)};var me={};he.tryReadTemplateToken=function(){this.inTemplateElement=true;try{this.readTmplToken()}catch(e){if(e===me){this.readInvalidTemplateToken()}else{throw e}}this.inTemplateElement=false};he.invalidStringToken=function(e,t){if(this.inTemplateElement&&this.options.ecmaVersion>=9){throw me}else{this.raise(e,t)}};he.readTmplToken=function(){var e=this;var t="",n=this.pos;for(;;){if(e.pos>=e.input.length){e.raise(e.start,"Unterminated template")}var r=e.input.charCodeAt(e.pos);if(r===96||r===36&&e.input.charCodeAt(e.pos+1)===123){if(e.pos===e.start&&(e.type===m.template||e.type===m.invalidTemplate)){if(r===36){e.pos+=2;return e.finishToken(m.dollarBraceL)}else{++e.pos;return e.finishToken(m.backQuote)}}t+=e.input.slice(n,e.pos);return e.finishToken(m.template,t)}if(r===92){t+=e.input.slice(n,e.pos);t+=e.readEscapedChar(true);n=e.pos}else if(isNewLine(r)){t+=e.input.slice(n,e.pos);++e.pos;switch(r){case 13:if(e.input.charCodeAt(e.pos)===10){++e.pos}case 10:t+="\n";break;default:t+=String.fromCharCode(r);break}if(e.options.locations){++e.curLine;e.lineStart=e.pos}n=e.pos}else{++e.pos}}};he.readInvalidTemplateToken=function(){var e=this;for(;this.pos=48&&t<=55){var n=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0];var r=parseInt(n,8);if(r>255){n=n.slice(0,-1);r=parseInt(n,8)}this.pos+=n.length-1;t=this.input.charCodeAt(this.pos);if((n!=="0"||t===56||t===57)&&(this.strict||e)){this.invalidStringToken(this.pos-1-n.length,e?"Octal literal in template string":"Octal literal in strict mode")}return String.fromCharCode(r)}return String.fromCharCode(t)}};he.readHexChar=function(e){var t=this.pos;var n=this.readInt(16,e);if(n===null){this.invalidStringToken(t,"Bad character escape sequence")}return n};he.readWord1=function(){var e=this;this.containsEsc=false;var t="",n=true,r=this.pos;var i=this.options.ecmaVersion>=6;while(this.pos{let n=0;for(const r of e){if(n++>=t){e.delete(r)}}};const d=(e,t)=>{let n=0;for(const r of e.keys()){if(n++>=t){e.delete(r)}}};const p=null;const h=null;const m=true;const g=false;const y=2;const v=new a;const b=new Map;const w=new Map;const E=new Set;const _={};b.set(Object,{request:"",name:null,serializer:v});b.set(Array,{request:"",name:null,serializer:v});const S=new Map;S.set(null,new o);S.set(Map,new s);S.set(Set,new l);S.set(RegExp,new u);S.set(Error,new i(Error));S.set(EvalError,new i(EvalError));S.set(RangeError,new i(RangeError));S.set(ReferenceError,new i(ReferenceError));S.set(SyntaxError,new i(SyntaxError));S.set(TypeError,new i(TypeError));{let e=1;for(const[t,n]of S){b.set(t,{request:"",name:e++,serializer:n})}}for(const{request:e,name:t,serializer:n}of b.values()){w.set(`${e}/${t}`,n)}const k=new Map;class ObjectMiddleware extends c{static registerLoader(e,t){k.set(e,t)}static register(e,t,n,r){const i=t+"/"+n;if(b.has(e)){throw new Error(`ObjectMiddleware.register: serializer for ${e.name} is already registered`)}if(w.has(i)){throw new Error(`ObjectMiddleware.register: serializer for ${i} is already registered`)}b.set(e,{request:t,name:n,serializer:r});w.set(i,r)}static registerNotSerializable(e){if(b.has(e)){throw new Error(`ObjectMiddleware.registerNotSerializable: serializer for ${e.name} is already registered`)}b.set(e,_)}static getSerializerFor(e){let t=e.constructor;if(!t){if(Object.getPrototypeOf(e)===null){t=null}else{throw new Error("Serialization of objects with prototype without valid constructor property not possible")}}const n=b.get(t);if(!n)throw new Error(`No serializer registered for ${t.name}`);if(n===_)throw _;return n}static getDeserializerFor(e,t){const n=e+"/"+t;const r=w.get(n);if(r===undefined){throw new Error(`No deserializer registered for ${n}`)}return r}_handleFunctionSerialization(e,t){return r(()=>{const n=e();if(n instanceof Promise)return n.then(e=>this.serialize([e],t));return this.serialize([n],t)})}_handleFunctionDeserialization(e,t){return r(()=>{const n=e();if(n instanceof Promise)return n.then(e=>this.deserialize(e,t)[0]);return this.deserialize(n,t)[0]})}serialize(e,t){const n=[y];let r=0;const i=new Map;const s=e=>{i.set(e,r++)};let o=0;const a=new Map;const u=new Set;const c={write(e){l(e)},snapshot(){return{length:n.length,cycleStackSize:u.size,referenceableSize:i.size,currentPos:r,objectTypeLookupSize:a.size,currentPosTypeLookup:o}},rollback(e){n.length=e.length;f(u,e.cycleStackSize);d(i,e.referenceableSize);r=e.currentPos;d(a,e.objectTypeLookupSize);o=e.currentPosTypeLookup},...t};const l=e=>{const l=i.get(e);if(l!==undefined){n.push(p,l-r);return}if(Buffer.isBuffer(e)){s(e);n.push(e)}else if(typeof e==="object"&&e!==null){if(u.has(e)){throw new Error(`Circular references can't be serialized (${Array.from(u).concat([e]).map(e=>{if(e.constructor===Object)return`Object { ${Object.keys(e).join(", ")} }`;return e.constructor.name}).join(" -> ")})`)}const{request:t,name:r,serializer:i}=ObjectMiddleware.getSerializerFor(e);const l=`${t}/${r}`;const f=a.get(l);if(f===undefined){a.set(l,o++);n.push(p,t,r)}else{n.push(p,o-f)}u.add(e);i.serialize(e,c);u.delete(e);n.push(p,m);s(e)}else if(typeof e==="string"){if(e!==""){s(e)}n.push(e)}else if(e===p){n.push(p,h)}else if(typeof e==="function"){n.push(this._handleFunctionSerialization(e,t))}else if(e===undefined){n.push(p,g)}else{n.push(e)}};try{for(const t of e){l(t)}}catch(e){if(e===_)return null;throw e}return n}deserialize(e,t){let n=0;const r=()=>{if(n>=e.length)throw new Error("Unexpected end of stream");return e[n++]};if(r()!==y)throw new Error("Version missmatch, serializer changed");let i=0;const s=new Map;const o=e=>{s.set(i++,e)};let a=0;const u=new Map;const c=[];const l={read(){return f()},...t};const f=()=>{const e=r();if(e===p){const e=r();if(e===h){return p}else if(e===g){return undefined}else if(e===m){throw new Error(`Unexpected end of object at position ${n-1}`)}else if(typeof e==="number"&&e<0){return s.get(i+e)}else{const t=e;let i;if(typeof t==="number"){i=u.get(a-t)}else{if(typeof t!=="string"){throw new Error(`Unexpected type (${typeof t}) of request `+`at position ${n-1}`)}const e=r();if(t&&!E.has(t)){let e=false;for(const[n,r]of k){if(n.test(t)){if(r(t)){e=true;break}}}if(!e){require(t)}E.add(t)}i=ObjectMiddleware.getDeserializerFor(t,e);u.set(a++,i)}const s=i.deserialize(l);const c=r();if(c!==p){throw new Error("Expected end of object")}const f=r();if(f!==m){throw new Error("Expected end of object")}o(s);return s}}else if(typeof e==="string"){if(e!==""){o(e)}return e}else if(Buffer.isBuffer(e)){o(e);return e}else if(typeof e==="function"){return this._handleFunctionDeserialization(e,t)}else{return e}};while(n{return n})}e.exports.withTmp=withTmp;function withTmp(e,t,n){if(!n){n=t;t=null}t=c(t);return r.using(mktmpdir(e,t).disposer(a),n)}e.exports.fix=fixtmpdir;function fixtmpdir(e,t){t=c(t);return s(o.join(e,"tmp"),t.uid,t.gid)}},1049:function(e,t,n){"use strict";const r=n(6150);const i=n(8159);const s=n(5982);class ReadFileCompileWasmPlugin{constructor(e){this.options=e||{}}apply(e){e.hooks.thisCompilation.tap("ReadFileCompileWasmPlugin",e=>{const t=e=>i.asString(["new Promise(function (resolve, reject) {",i.indent(["var { readFile } = require('fs');","var { join } = require('path');","","try {",i.indent([`readFile(join(__dirname, ${e}), function(err, buffer){`,i.indent(["if (err) return reject(err);","","// Fake fetch response","resolve({",i.indent(["arrayBuffer() { return Promise.resolve(buffer); }"]),"});"]),"});"]),"} catch (err) { reject(err); }"]),"})"]);e.hooks.runtimeRequirementInTree.for(r.ensureChunkHandlers).tap("ReadFileCompileWasmPlugin",(n,i)=>{const o=e.chunkGraph;if(!o.hasModuleInGraph(n,e=>e.type==="webassembly/experimental")){return}i.add(r.moduleCache);e.addRuntimeModule(n,new s(n,e,{generateLoadBinaryCode:t,supportsStreaming:false,mangleImports:this.options.mangleImports}))})})}}e.exports=ReadFileCompileWasmPlugin},1050:function(e,t,n){"use strict";const r=n(9084);class ExternalsPlugin{constructor(e,t){this.type=e;this.externals=t}apply(e){e.hooks.compile.tap("ExternalsPlugin",({normalModuleFactory:e})=>{new r(this.type,this.externals).apply(e)})}}e.exports=ExternalsPlugin},1058:function(e,t,n){"use strict";const r=n(6202);const i=n(9983);const s=n(2197);class RequireEnsureItemDependency extends i{constructor(e){super(e)}get type(){return"require.ensure item"}}r(RequireEnsureItemDependency,"webpack/lib/dependencies/RequireEnsureItemDependency");RequireEnsureItemDependency.Template=s.Template;e.exports=RequireEnsureItemDependency},1098:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:true});t.DynamicImportKey=undefined;var r=function(){function defineProperties(e,t){for(var n=0;n{const t=e=>`fetch(${r.publicPath} + ${e})`;e.hooks.runtimeRequirementInTree.for(r.ensureChunkHandlers).tap("FetchCompileWasmPlugin",(n,s)=>{const o=e.chunkGraph;if(!o.hasModuleInGraph(n,e=>e.type==="webassembly/experimental")){return}s.add(r.moduleCache);s.add(r.publicPath);e.addRuntimeModule(n,new i(n,e,{generateLoadBinaryCode:t,supportsStreaming:true,mangleImports:this.options.mangleImports}))})})}}e.exports=FetchCompileWasmPlugin},1116:function(e,t,n){"use strict";const{ConcatSource:r}=n(2991);const i=n(6734);const s=n(8159);class SystemMainTemplatePlugin{constructor(e){this.name=e.name}apply(e){const{mainTemplate:t,chunkTemplate:n}=e;const o=(t,n,o)=>{const a=e.chunkGraph;const u=a.getChunkModules(n).filter(e=>e instanceof i);const c=u;const l=this.name?`${JSON.stringify(this.name)}, `:"";const f=JSON.stringify(c.map(e=>typeof e.request==="object"&&!Array.isArray(e.request)?e.request.amd:e.request));const d="__WEBPACK_DYNAMIC_EXPORT__";const p=c.map(e=>`__WEBPACK_EXTERNAL_MODULE_${s.toIdentifier(`${a.getModuleId(e)}`)}__`);const h=p.length>0?`var ${p.join(", ")};`:"";const m=p.length===0?"":s.asString(["setters: [",s.indent(p.map(e=>s.asString(["function(module) {",s.indent(`${e} = module;`),"}"])).join(",\n")),"],"]);return new r(s.asString([`System.register(${l}${f}, function(${d}) {`,s.indent([h,"return {",s.indent([m,"execute: function() {",s.indent(`${d}(`)])])])+"\n",t,"\n"+s.asString([s.indent([s.indent([s.indent([");"]),"}"]),"};"]),"})"]))};for(const e of[t,n]){e.hooks.renderWithEntry.tap("SystemMainTemplatePlugin",o)}t.hooks.hash.tap("SystemMainTemplatePlugin",e=>{e.update("exports system");if(this.name){e.update(this.name)}})}}e.exports=SystemMainTemplatePlugin},1121:function(e){"use strict";e.exports=class ParsePlugin{constructor(e,t){this.source=e;this.target=t}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("ParsePlugin",(n,r,i)=>{const s=e.parse(n.request);const o=Object.assign({},n,s);if(n.query&&!s.query){o.query=n.query}if(s&&r.log){if(s.module)r.log("Parsed request is a module");if(s.directory)r.log("Parsed request is a directory")}e.doResolve(t,o,null,r,i)})}}},1165:function(e){"use strict";class HookCodeFactory{constructor(e){this.config=e;this.options=undefined;this._args=undefined}create(e){this.init(e);let t;switch(this.options.type){case"sync":t=new Function(this.args(),'"use strict";\n'+this.header()+this.content({onError:e=>`throw ${e};\n`,onResult:e=>`return ${e};\n`,resultReturns:true,onDone:()=>"",rethrowIfPossible:true}));break;case"async":t=new Function(this.args({after:"_callback"}),'"use strict";\n'+this.header()+this.content({onError:e=>`_callback(${e});\n`,onResult:e=>`_callback(null, ${e});\n`,onDone:()=>"_callback();\n"}));break;case"promise":let e=false;const n=this.content({onError:t=>{e=true;return`_error(${t});\n`},onResult:e=>`_resolve(${e});\n`,onDone:()=>"_resolve();\n"});let r="";r+='"use strict";\n';r+="return new Promise((_resolve, _reject) => {\n";if(e){r+="var _sync = true;\n";r+="function _error(_err) {\n";r+="if(_sync)\n";r+="_resolve(Promise.resolve().then(() => { throw _err; }));\n";r+="else\n";r+="_reject(_err);\n";r+="};\n"}r+=this.header();r+=n;if(e){r+="_sync = false;\n"}r+="});\n";t=new Function(this.args(),r);break}this.deinit();return t}setup(e,t){e._x=t.taps.map(e=>e.fn)}init(e){this.options=e;this._args=e.args.slice()}deinit(){this.options=undefined;this._args=undefined}header(){let e="";if(this.needContext()){e+="var _context = {};\n"}else{e+="var _context;\n"}e+="var _x = this._x;\n";if(this.options.interceptors.length>0){e+="var _taps = this.taps;\n";e+="var _interceptors = this.interceptors;\n"}for(let t=0;t {\n`;else o+=`_err${e} => {\n`;o+=`if(_err${e}) {\n`;o+=t(`_err${e}`);o+="} else {\n";if(n){o+=n(`_result${e}`)}if(r){o+=r()}o+="}\n";o+="}";s+=`_fn${e}(${this.args({before:a.context?"_context":undefined,after:o})});\n`;break;case"promise":s+=`var _hasResult${e} = false;\n`;s+=`var _promise${e} = _fn${e}(${this.args({before:a.context?"_context":undefined})});\n`;s+=`if (!_promise${e} || !_promise${e}.then)\n`;s+=` throw new Error('Tap function (tapPromise) did not return promise (returned ' + _promise${e} + ')');\n`;s+=`_promise${e}.then(_result${e} => {\n`;s+=`_hasResult${e} = true;\n`;if(n){s+=n(`_result${e}`)}if(r){s+=r()}s+=`}, _err${e} => {\n`;s+=`if(_hasResult${e}) throw _err${e};\n`;s+=t(`_err${e}`);s+="});\n";break}return s}callTapsSeries({onError:e,onResult:t,resultReturns:n,onDone:r,doneReturns:i,rethrowIfPossible:s}){if(this.options.taps.length===0)return r();const o=this.options.taps.findIndex(e=>e.type!=="sync");const a=n||i||false;let u="";let c=r;for(let n=this.options.taps.length-1;n>=0;n--){const i=n;const l=c!==r&&this.options.taps[i].type!=="sync";if(l){u+=`function _next${i}() {\n`;u+=c();u+=`}\n`;c=(()=>`${a?"return ":""}_next${i}();\n`)}const f=c;const d=e=>{if(e)return"";return r()};const p=this.callTap(i,{onError:t=>e(i,t,f,d),onResult:t&&(e=>{return t(i,e,f,d)}),onDone:!t&&f,rethrowIfPossible:s&&(o<0||ip)}u+=c();return u}callTapsLooping({onError:e,onDone:t,rethrowIfPossible:n}){if(this.options.taps.length===0)return t();const r=this.options.taps.every(e=>e.type==="sync");let i="";if(!r){i+="var _looper = () => {\n";i+="var _loopAsync = false;\n"}i+="var _loop;\n";i+="do {\n";i+="_loop = false;\n";for(let e=0;e{let s="";s+=`if(${t} !== undefined) {\n`;s+="_loop = true;\n";if(!r)s+="if(_loopAsync) _looper();\n";s+=i(true);s+=`} else {\n`;s+=n();s+=`}\n`;return s},onDone:t&&(()=>{let e="";e+="if(!_loop) {\n";e+=t();e+="}\n";return e}),rethrowIfPossible:n&&r});i+="} while(_loop);\n";if(!r){i+="_loopAsync = true;\n";i+="};\n";i+="_looper();\n"}return i}callTapsParallel({onError:e,onResult:t,onDone:n,rethrowIfPossible:r,onTap:i=((e,t)=>t())}){if(this.options.taps.length<=1){return this.callTapsSeries({onError:e,onResult:t,onDone:n,rethrowIfPossible:r})}let s="";s+="do {\n";s+=`var _counter = ${this.options.taps.length};\n`;if(n){s+="var _done = () => {\n";s+=n();s+="};\n"}for(let o=0;o{if(n)return"if(--_counter === 0) _done();\n";else return"--_counter;"};const u=e=>{if(e||!n)return"_counter = 0;\n";else return"_counter = 0;\n_done();\n"};s+="if(_counter <= 0) break;\n";s+=i(o,()=>this.callTap(o,{onError:t=>{let n="";n+="if(_counter > 0) {\n";n+=e(o,t,a,u);n+="}\n";return n},onResult:t&&(e=>{let n="";n+="if(_counter > 0) {\n";n+=t(o,e,a,u);n+="}\n";return n}),onDone:!t&&(()=>{return a()}),rethrowIfPossible:r}),a,u)}s+="} while(false);\n";return s}args({before:e,after:t}={}){let n=this._args;if(e)n=[e].concat(n);if(t)n=n.concat(t);if(n.length===0){return""}else{return n.join(", ")}}getTapFn(e){return`_x[${e}]`}getTap(e){return`_taps[${e}]`}getInterceptor(e){return`_interceptors[${e}]`}}e.exports=HookCodeFactory},1174:function(e){e.exports=Long;var t=null;try{t=new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,13,2,96,0,1,127,96,4,127,127,127,127,1,127,3,7,6,0,1,1,1,1,1,6,6,1,127,1,65,0,11,7,50,6,3,109,117,108,0,1,5,100,105,118,95,115,0,2,5,100,105,118,95,117,0,3,5,114,101,109,95,115,0,4,5,114,101,109,95,117,0,5,8,103,101,116,95,104,105,103,104,0,0,10,191,1,6,4,0,35,0,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,126,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,127,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,128,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,129,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,130,34,4,66,32,135,167,36,0,32,4,167,11])),{}).exports}catch(e){}function Long(e,t,n){this.low=e|0;this.high=t|0;this.unsigned=!!n}Long.prototype.__isLong__;Object.defineProperty(Long.prototype,"__isLong__",{value:true});function isLong(e){return(e&&e["__isLong__"])===true}Long.isLong=isLong;var n={};var r={};function fromInt(e,t){var i,s,o;if(t){e>>>=0;if(o=0<=e&&e<256){s=r[e];if(s)return s}i=fromBits(e,(e|0)<0?-1:0,true);if(o)r[e]=i;return i}else{e|=0;if(o=-128<=e&&e<128){s=n[e];if(s)return s}i=fromBits(e,e<0?-1:0,false);if(o)n[e]=i;return i}}Long.fromInt=fromInt;function fromNumber(e,t){if(isNaN(e))return t?d:f;if(t){if(e<0)return d;if(e>=u)return y}else{if(e<=-c)return v;if(e+1>=c)return g}if(e<0)return fromNumber(-e,t).neg();return fromBits(e%a|0,e/a|0,t)}Long.fromNumber=fromNumber;function fromBits(e,t,n){return new Long(e,t,n)}Long.fromBits=fromBits;var i=Math.pow;function fromString(e,t,n){if(e.length===0)throw Error("empty string");if(e==="NaN"||e==="Infinity"||e==="+Infinity"||e==="-Infinity")return f;if(typeof t==="number"){n=t,t=false}else{t=!!t}n=n||10;if(n<2||360)throw Error("interior hyphen");else if(r===0){return fromString(e.substring(1),t,n).neg()}var s=fromNumber(i(n,8));var o=f;for(var a=0;a>>0:this.low};b.toNumber=function toNumber(){if(this.unsigned)return(this.high>>>0)*a+(this.low>>>0);return this.high*a+(this.low>>>0)};b.toString=function toString(e){e=e||10;if(e<2||36>>0,l=c.toString(e);o=u;if(o.isZero())return l+a;else{while(l.length<6)l="0"+l;a=""+l+a}}};b.getHighBits=function getHighBits(){return this.high};b.getHighBitsUnsigned=function getHighBitsUnsigned(){return this.high>>>0};b.getLowBits=function getLowBits(){return this.low};b.getLowBitsUnsigned=function getLowBitsUnsigned(){return this.low>>>0};b.getNumBitsAbs=function getNumBitsAbs(){if(this.isNegative())return this.eq(v)?64:this.neg().getNumBitsAbs();var e=this.high!=0?this.high:this.low;for(var t=31;t>0;t--)if((e&1<=0};b.isOdd=function isOdd(){return(this.low&1)===1};b.isEven=function isEven(){return(this.low&1)===0};b.equals=function equals(e){if(!isLong(e))e=fromValue(e);if(this.unsigned!==e.unsigned&&this.high>>>31===1&&e.high>>>31===1)return false;return this.high===e.high&&this.low===e.low};b.eq=b.equals;b.notEquals=function notEquals(e){return!this.eq(e)};b.neq=b.notEquals;b.ne=b.notEquals;b.lessThan=function lessThan(e){return this.comp(e)<0};b.lt=b.lessThan;b.lessThanOrEqual=function lessThanOrEqual(e){return this.comp(e)<=0};b.lte=b.lessThanOrEqual;b.le=b.lessThanOrEqual;b.greaterThan=function greaterThan(e){return this.comp(e)>0};b.gt=b.greaterThan;b.greaterThanOrEqual=function greaterThanOrEqual(e){return this.comp(e)>=0};b.gte=b.greaterThanOrEqual;b.ge=b.greaterThanOrEqual;b.compare=function compare(e){if(!isLong(e))e=fromValue(e);if(this.eq(e))return 0;var t=this.isNegative(),n=e.isNegative();if(t&&!n)return-1;if(!t&&n)return 1;if(!this.unsigned)return this.sub(e).isNegative()?-1:1;return e.high>>>0>this.high>>>0||e.high===this.high&&e.low>>>0>this.low>>>0?-1:1};b.comp=b.compare;b.negate=function negate(){if(!this.unsigned&&this.eq(v))return v;return this.not().add(p)};b.neg=b.negate;b.add=function add(e){if(!isLong(e))e=fromValue(e);var t=this.high>>>16;var n=this.high&65535;var r=this.low>>>16;var i=this.low&65535;var s=e.high>>>16;var o=e.high&65535;var a=e.low>>>16;var u=e.low&65535;var c=0,l=0,f=0,d=0;d+=i+u;f+=d>>>16;d&=65535;f+=r+a;l+=f>>>16;f&=65535;l+=n+o;c+=l>>>16;l&=65535;c+=t+s;c&=65535;return fromBits(f<<16|d,c<<16|l,this.unsigned)};b.subtract=function subtract(e){if(!isLong(e))e=fromValue(e);return this.add(e.neg())};b.sub=b.subtract;b.multiply=function multiply(e){if(this.isZero())return f;if(!isLong(e))e=fromValue(e);if(t){var n=t["mul"](this.low,this.high,e.low,e.high);return fromBits(n,t["get_high"](),this.unsigned)}if(e.isZero())return f;if(this.eq(v))return e.isOdd()?v:f;if(e.eq(v))return this.isOdd()?v:f;if(this.isNegative()){if(e.isNegative())return this.neg().mul(e.neg());else return this.neg().mul(e).neg()}else if(e.isNegative())return this.mul(e.neg()).neg();if(this.lt(l)&&e.lt(l))return fromNumber(this.toNumber()*e.toNumber(),this.unsigned);var r=this.high>>>16;var i=this.high&65535;var s=this.low>>>16;var o=this.low&65535;var a=e.high>>>16;var u=e.high&65535;var c=e.low>>>16;var d=e.low&65535;var p=0,h=0,m=0,g=0;g+=o*d;m+=g>>>16;g&=65535;m+=s*d;h+=m>>>16;m&=65535;m+=o*c;h+=m>>>16;m&=65535;h+=i*d;p+=h>>>16;h&=65535;h+=s*c;p+=h>>>16;h&=65535;h+=o*u;p+=h>>>16;h&=65535;p+=r*d+i*c+s*u+o*a;p&=65535;return fromBits(m<<16|g,p<<16|h,this.unsigned)};b.mul=b.multiply;b.divide=function divide(e){if(!isLong(e))e=fromValue(e);if(e.isZero())throw Error("division by zero");if(t){if(!this.unsigned&&this.high===-2147483648&&e.low===-1&&e.high===-1){return this}var n=(this.unsigned?t["div_u"]:t["div_s"])(this.low,this.high,e.low,e.high);return fromBits(n,t["get_high"](),this.unsigned)}if(this.isZero())return this.unsigned?d:f;var r,s,o;if(!this.unsigned){if(this.eq(v)){if(e.eq(p)||e.eq(m))return v;else if(e.eq(v))return p;else{var a=this.shr(1);r=a.div(e).shl(1);if(r.eq(f)){return e.isNegative()?p:m}else{s=this.sub(e.mul(r));o=r.add(s.div(e));return o}}}else if(e.eq(v))return this.unsigned?d:f;if(this.isNegative()){if(e.isNegative())return this.neg().div(e.neg());return this.neg().div(e).neg()}else if(e.isNegative())return this.div(e.neg()).neg();o=f}else{if(!e.unsigned)e=e.toUnsigned();if(e.gt(this))return d;if(e.gt(this.shru(1)))return h;o=d}s=this;while(s.gte(e)){r=Math.max(1,Math.floor(s.toNumber()/e.toNumber()));var u=Math.ceil(Math.log(r)/Math.LN2),c=u<=48?1:i(2,u-48),l=fromNumber(r),g=l.mul(e);while(g.isNegative()||g.gt(s)){r-=c;l=fromNumber(r,this.unsigned);g=l.mul(e)}if(l.isZero())l=p;o=o.add(l);s=s.sub(g)}return o};b.div=b.divide;b.modulo=function modulo(e){if(!isLong(e))e=fromValue(e);if(t){var n=(this.unsigned?t["rem_u"]:t["rem_s"])(this.low,this.high,e.low,e.high);return fromBits(n,t["get_high"](),this.unsigned)}return this.sub(this.div(e).mul(e))};b.mod=b.modulo;b.rem=b.modulo;b.not=function not(){return fromBits(~this.low,~this.high,this.unsigned)};b.and=function and(e){if(!isLong(e))e=fromValue(e);return fromBits(this.low&e.low,this.high&e.high,this.unsigned)};b.or=function or(e){if(!isLong(e))e=fromValue(e);return fromBits(this.low|e.low,this.high|e.high,this.unsigned)};b.xor=function xor(e){if(!isLong(e))e=fromValue(e);return fromBits(this.low^e.low,this.high^e.high,this.unsigned)};b.shiftLeft=function shiftLeft(e){if(isLong(e))e=e.toInt();if((e&=63)===0)return this;else if(e<32)return fromBits(this.low<>>32-e,this.unsigned);else return fromBits(0,this.low<>>e|this.high<<32-e,this.high>>e,this.unsigned);else return fromBits(this.high>>e-32,this.high>=0?0:-1,this.unsigned)};b.shr=b.shiftRight;b.shiftRightUnsigned=function shiftRightUnsigned(e){if(isLong(e))e=e.toInt();if((e&=63)===0)return this;if(e<32)return fromBits(this.low>>>e|this.high<<32-e,this.high>>>e,this.unsigned);if(e===32)return fromBits(this.high,0,this.unsigned);return fromBits(this.high>>>e-32,0,this.unsigned)};b.shru=b.shiftRightUnsigned;b.shr_u=b.shiftRightUnsigned;b.rotateLeft=function rotateLeft(e){var t;if(isLong(e))e=e.toInt();if((e&=63)===0)return this;if(e===32)return fromBits(this.high,this.low,this.unsigned);if(e<32){t=32-e;return fromBits(this.low<>>t,this.high<>>t,this.unsigned)}e-=32;t=32-e;return fromBits(this.high<>>t,this.low<>>t,this.unsigned)};b.rotl=b.rotateLeft;b.rotateRight=function rotateRight(e){var t;if(isLong(e))e=e.toInt();if((e&=63)===0)return this;if(e===32)return fromBits(this.high,this.low,this.unsigned);if(e<32){t=32-e;return fromBits(this.high<>>e,this.low<>>e,this.unsigned)}e-=32;t=32-e;return fromBits(this.low<>>e,this.high<>>e,this.unsigned)};b.rotr=b.rotateRight;b.toSigned=function toSigned(){if(!this.unsigned)return this;return fromBits(this.low,this.high,false)};b.toUnsigned=function toUnsigned(){if(this.unsigned)return this;return fromBits(this.low,this.high,true)};b.toBytes=function toBytes(e){return e?this.toBytesLE():this.toBytesBE()};b.toBytesLE=function toBytesLE(){var e=this.high,t=this.low;return[t&255,t>>>8&255,t>>>16&255,t>>>24,e&255,e>>>8&255,e>>>16&255,e>>>24]};b.toBytesBE=function toBytesBE(){var e=this.high,t=this.low;return[e>>>24,e>>>16&255,e>>>8&255,e&255,t>>>24,t>>>16&255,t>>>8&255,t&255]};Long.fromBytes=function fromBytes(e,t,n){return n?Long.fromBytesLE(e,t):Long.fromBytesBE(e,t)};Long.fromBytesLE=function fromBytesLE(e,t){return new Long(e[0]|e[1]<<8|e[2]<<16|e[3]<<24,e[4]|e[5]<<8|e[6]<<16|e[7]<<24,t)};Long.fromBytesBE=function fromBytesBE(e,t){return new Long(e[4]<<24|e[5]<<16|e[6]<<8|e[7],e[0]<<24|e[1]<<16|e[2]<<8|e[3],t)}},1186:function(e){e.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"https://raw.githubusercontent.com/epoberezkin/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON Schema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:false}},1207:function(e,t,n){"use strict";e=n.nmd(e);const r=n(8215);const i=(e,t)=>(function(){const n=e.apply(r,arguments);return`[${n+t}m`});const s=(e,t)=>(function(){const n=e.apply(r,arguments);return`[${38+t};5;${n}m`});const o=(e,t)=>(function(){const n=e.apply(r,arguments);return`[${38+t};2;${n[0]};${n[1]};${n[2]}m`});function assembleStyles(){const e=new Map;const t={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};t.color.grey=t.color.gray;for(const n of Object.keys(t)){const r=t[n];for(const n of Object.keys(r)){const i=r[n];t[n]={open:`[${i[0]}m`,close:`[${i[1]}m`};r[n]=t[n];e.set(i[0],i[1])}Object.defineProperty(t,n,{value:r,enumerable:false});Object.defineProperty(t,"codes",{value:e,enumerable:false})}const n=e=>e;const a=(e,t,n)=>[e,t,n];t.color.close="";t.bgColor.close="";t.color.ansi={ansi:i(n,0)};t.color.ansi256={ansi256:s(n,0)};t.color.ansi16m={rgb:o(a,0)};t.bgColor.ansi={ansi:i(n,10)};t.bgColor.ansi256={ansi256:s(n,10)};t.bgColor.ansi16m={rgb:o(a,10)};for(let e of Object.keys(r)){if(typeof r[e]!=="object"){continue}const n=r[e];if(e==="ansi16"){e="ansi"}if("ansi16"in n){t.color.ansi[e]=i(n.ansi16,0);t.bgColor.ansi[e]=i(n.ansi16,10)}if("ansi256"in n){t.color.ansi256[e]=s(n.ansi256,0);t.bgColor.ansi256[e]=s(n.ansi256,10)}if("rgb"in n){t.color.ansi16m[e]=o(n.rgb,0);t.bgColor.ansi16m[e]=o(n.rgb,10)}}return t}Object.defineProperty(e,"exports",{enumerable:true,get:assembleStyles})},1226:function(e,t){"use strict";t.getNumberOfLines=function getNumberOfLines(e){let t=-1;let n=-1;do{t++;n=e.indexOf("\n",n+1)}while(n>=0);return t};t.getUnfinishedLine=function getUnfinishedLine(e){const t=e.lastIndexOf("\n");if(t===-1)return e.length;else return e.length-t-1}},1265:function(e,t,n){"use strict";const r=n(538);const i=n(6209);class IgnoringWatchFileSystem{constructor(e,t){this.wfs=e;this.paths=t}watch(e,t,n,r,i,s,o){const a=e=>this.paths.some(t=>t instanceof RegExp?t.test(e):e.indexOf(t)===0);const u=e=>!a(e);const c=e.filter(a);const l=t.filter(a);const f=this.wfs.watch(e.filter(u),t.filter(u),n,r,i,(e,t,n,r)=>{if(e)return s(e);for(const e of c){t.set(e,1)}for(const e of l){n.set(e,1)}s(e,t,n,r)},o);return{close:()=>f.close(),pause:()=>f.pause(),getContextInfoEntries:()=>{const e=f.getContextInfoEntries();for(const t of l){e.set(t,1)}return e},getFileTimeInfoEntries:()=>{const e=f.getFileTimeInfoEntries();for(const t of c){e.set(t,1)}return e}}}}class WatchIgnorePlugin{constructor(e){r(i,e,"Watch Ignore Plugin");this.paths=e}apply(e){e.hooks.afterEnvironment.tap("WatchIgnorePlugin",()=>{e.watchFileSystem=new IgnoringWatchFileSystem(e.watchFileSystem,this.paths)})}}e.exports=WatchIgnorePlugin},1267:function(e,t,n){"use strict";const{RawSource:r}=n(2991);const i=n(6253);const{UsageState:s}=n(5412);const o=n(6150);const a=n(8159);const u=n(697);const c=n(3081);const l=new Set(["webassembly"]);class WebAssemblyJavascriptGenerator extends i{getTypes(){return l}getSize(e,t){return 95+e.dependencies.length*5}generate(e,{runtimeTemplate:t,moduleGraph:n,chunkGraph:i,runtimeRequirements:l}){const f=n.getExportsInfo(e);let d=false;const p=new Map;const h=[];let m=0;for(const r of e.dependencies){const i=r;if(n.getModule(r)){let s=p.get(n.getModule(r));if(s===undefined){p.set(n.getModule(r),s={importVar:`m${m}`,index:m,request:"userRequest"in i?i.userRequest:undefined,names:new Set,reexports:[]});m++}if(r instanceof c){s.names.add(r.name);if(r.description.type==="GlobalType"){const i=r.name;const o=n.getModule(r)&&n.getModule(r).getUsedName(n,i);if(n.getModule(r)){if(o){h.push(t.exportFromImport({moduleGraph:n,module:n.getModule(r),request:r.request,importVar:s.importVar,originModule:e,exportName:r.name,asiSafe:true,isCall:false,callContext:null,runtimeRequirements:l}))}}}}if(r instanceof u){s.names.add(r.name);const i=e.getUsedName(n,r.exportName);if(i){l.add(o.exports);const u=`${e.exportsArgument}[${JSON.stringify(i)}]`;const c=a.asString([`${u} = ${t.exportFromImport({moduleGraph:n,module:n.getModule(r),request:r.request,importVar:s.importVar,originModule:e,exportName:r.name,asiSafe:true,isCall:false,callContext:null,runtimeRequirements:l})};`,`if(WebAssembly.Global) ${u} = `+`new WebAssembly.Global({ value: ${JSON.stringify(r.valueType)} }, ${u});`]);s.reexports.push(c);d=true}}}}const g=a.asString(Array.from(p,([e,{importVar:n,request:r,reexports:s}])=>{const o=t.importStatement({module:e,chunkGraph:i,request:r,importVar:n,originModule:e,runtimeRequirements:l});return o+s.join("\n")}));const y=f.otherExportsInfo.used===s.Unused&&!d;l.add(o.module);l.add(o.wasmInstances);if(f.otherExportsInfo.used!==s.Unused){l.add(o.makeNamespaceObject);l.add(o.exports)}if(!y){l.add(o.exports)}const v=new r(['"use strict";',"// Instantiate WebAssembly module",`var wasmExports = ${o.wasmInstances}[${e.moduleArgument}.i];`,f.otherExportsInfo.used!==s.Unused?`${o.makeNamespaceObject}(${e.exportsArgument});`:"","// export exports from WebAssembly module",y?`${e.moduleArgument}.exports = wasmExports;`:"for(var name in wasmExports) "+`if(name) `+`${e.exportsArgument}[name] = wasmExports[name];`,"// exec imports from WebAssembly module (for esm order)",g,"","// exec wasm module",`wasmExports[""](${h.join(", ")})`].join("\n"));return v}}e.exports=WebAssemblyJavascriptGenerator},1273:function(e,t,n){"use strict";const r=n(6150);const i=n(8159);const s=n(1941);class ReadFileCompileAsyncWasmPlugin{apply(e){e.hooks.thisCompilation.tap("ReadFileCompileAsyncWasmPlugin",e=>{const t=e=>i.asString(["new Promise(function (resolve, reject) {",i.indent(["var { readFile } = require('fs');","var { join } = require('path');","","try {",i.indent([`readFile(join(__dirname, ${e}), function(err, buffer){`,i.indent(["if (err) return reject(err);","","// Fake fetch response","resolve({",i.indent(["arrayBuffer() { return Promise.resolve(buffer); }"]),"});"]),"});"]),"} catch (err) { reject(err); }"]),"})"]);e.hooks.runtimeRequirementInTree.for(r.instantiateWasm).tap("ReadFileCompileAsyncWasmPlugin",(n,i)=>{const o=e.chunkGraph;if(!o.hasModuleInGraph(n,e=>e.type==="webassembly/async-experimental")){return}i.add(r.publicPath);e.addRuntimeModule(n,new s(n,e,{generateLoadBinaryCode:t,supportsStreaming:false}))})})}}e.exports=ReadFileCompileAsyncWasmPlugin},1281:function(e){"use strict";e.exports=function(e){var t=false;var n=[];e.prototype._promiseCreated=function(){};e.prototype._pushContext=function(){};e.prototype._popContext=function(){return null};e._peekContext=e.prototype._peekContext=function(){};function Context(){this._trace=new Context.CapturedTrace(peekContext())}Context.prototype._pushContext=function(){if(this._trace!==undefined){this._trace._promiseCreated=null;n.push(this._trace)}};Context.prototype._popContext=function(){if(this._trace!==undefined){var e=n.pop();var t=e._promiseCreated;e._promiseCreated=null;return t}return null};function createContext(){if(t)return new Context}function peekContext(){var e=n.length-1;if(e>=0){return n[e]}return undefined}Context.CapturedTrace=null;Context.create=createContext;Context.deactivateLongStackTraces=function(){};Context.activateLongStackTraces=function(){var n=e.prototype._pushContext;var r=e.prototype._popContext;var i=e._peekContext;var s=e.prototype._peekContext;var o=e.prototype._promiseCreated;Context.deactivateLongStackTraces=function(){e.prototype._pushContext=n;e.prototype._popContext=r;e._peekContext=i;e.prototype._peekContext=s;e.prototype._promiseCreated=o;t=false};t=true;e.prototype._pushContext=Context.prototype._pushContext;e.prototype._popContext=Context.prototype._popContext;e._peekContext=e.prototype._peekContext=peekContext;e.prototype._promiseCreated=function(){var e=this._peekContext();if(e&&e._promiseCreated==null)e._promiseCreated=this}};return Context}},1321:function(e,t,n){"use strict";const{ConcatSource:r}=n(2991);const i=e=>{return e.map(e=>`[${JSON.stringify(e)}]`).join("")};class ExportPropertyMainTemplatePlugin{constructor(e){this.property=e}apply(e){const{mainTemplate:t,chunkTemplate:n}=e;const s=(e,t,n)=>{const s=i([].concat(this.property));return new r(e,s)};t.hooks.renderWithEntry.tap("ExportPropertyMainTemplatePlugin",s);n.hooks.renderWithEntry.tap("ExportPropertyMainTemplatePlugin",s);t.hooks.hash.tap("ExportPropertyMainTemplatePlugin",e=>{e.update("export property");e.update(`${this.property}`)})}}e.exports=ExportPropertyMainTemplatePlugin},1324:function(e,t,n){"use strict";const r=n(2112);const{SourceNode:i}=n(9596);const{getSourceAndMap:s,getMap:o,getNode:a,getListMap:u}=n(387);class Replacement{constructor(e,t,n,r,i){this.start=e;this.end=t;this.content=n;this.insertIndex=r;this.name=i}}class ReplaceSource extends r{constructor(e,t){super();this._source=e;this._name=t;this._replacements=[];this._isSorted=true}replace(e,t,n,r){if(typeof n!=="string")throw new Error("insertion must be a string, but is a "+typeof n);this._replacements.push(new Replacement(e,t,n,this._replacements.length,r));this._isSorted=false}insert(e,t,n){if(typeof t!=="string")throw new Error("insertion must be a string, but is a "+typeof t+": "+t);this._replacements.push(new Replacement(e,e-1,t,this._replacements.length,n));this._isSorted=false}source(){return this._replaceString(this._source.source())}map(e){if(this._replacements.length===0){return this._source.map(e)}return o(this,e)}sourceAndMap(e){if(this._replacements.length===0){return this._source.sourceAndMap(e)}return s(this,e)}original(){return this._source}_sortReplacements(){if(this._isSorted)return;this._replacements.sort(function(e,t){const n=t.end-e.end;if(n!==0)return n;const r=t.start-e.start;if(r!==0)return r;return t.insertIndex-e.insertIndex});this._isSorted=true}_replaceString(e){if(typeof e!=="string")throw new Error("str must be a string, but is a "+typeof e+": "+e);this._sortReplacements();const t=[e];this._replacements.forEach(function(e){const n=t.pop();const r=this._splitString(n,Math.floor(e.end+1));const i=this._splitString(r[0],Math.floor(e.start));t.push(r[1],e.content,i[0])},this);let n="";for(let e=t.length-1;e>=0;--e){n+=t[e]}return n}node(e){const t=a(this._source,e);if(this._replacements.length===0){return t}this._sortReplacements();const n=new ReplacementEnumerator(this._replacements);const r=[];let s=0;const o=Object.create(null);const u=Object.create(null);const c=new i;t.walkSourceContents(function(e,t){c.setSourceContent(e,t);o["$"+e]=t});const l=this._replaceInStringNode.bind(this,r,n,function getOriginalSource(e){const t="$"+e.source;let n=u[t];if(!n){const e=o[t];if(!e)return null;n=e.split("\n").map(function(e){return e+"\n"});u[t]=n}if(e.line>n.length)return null;const r=n[e.line-1];return r.substr(e.column)});t.walk(function(e,t){s=l(e,s,t)});const f=n.footer();if(f){r.push(f)}c.add(r);return c}listMap(e){let t=u(this._source,e);this._sortReplacements();let n=0;const r=this._replacements;let i=r.length-1;let s=0;t=t.mapGeneratedCode(function(e){const t=n+e.length;if(s>e.length){s-=e.length;e=""}else{if(s>0){e=e.substr(s);n+=s;s=0}let o="";while(i>=0&&r[i].start=0){o+=r[i].content;i--}if(o){t.add(o)}return t}_splitString(e,t){return t<=0?["",e]:[e.substr(0,t),e.substr(t)]}_replaceInStringNode(e,t,n,r,s,o){let a=undefined;do{let u=t.position-s;if(u<0){u=0}if(u>=r.length||t.done){if(t.emit){const t=new i(o.line,o.column,o.source,r,o.name);e.push(t)}return s+r.length}const c=o.column;let l;if(u>0){l=r.slice(0,u);if(a===undefined){a=n(o)}if(a&&a.length>=u&&a.startsWith(l)){o.column+=u;a=a.substr(u)}}const f=t.next();if(!f){if(u>0){const t=new i(o.line,c,o.source,l,o.name);e.push(t)}if(t.value){e.push(new i(o.line,o.column,o.source,t.value,o.name||t.name))}}r=r.substr(u);s+=u}while(true)}updateHash(e){this._sortReplacements();e.update("ReplaceSource");this._source.updateHash(e);e.update(this._name||"");for(const t of this._replacements){e.update(`${t.start}`);e.update(`${t.end}`);e.update(`${t.content}`);e.update(`${t.insertIndex}`);e.update(`${t.name}`)}}}class ReplacementEnumerator{constructor(e){this.replacements=e||[];this.index=this.replacements.length;this.done=false;this.emit=false;this.next()}next(){if(this.done)return true;if(this.emit){const e=this.replacements[this.index];const t=Math.floor(e.end+1);this.position=t;this.value=e.content;this.name=e.name}else{this.index--;if(this.index<0){this.done=true}else{const e=this.replacements[this.index];const t=Math.floor(e.start);this.position=t}}if(this.position<0)this.position=0;this.emit=!this.emit;return this.emit}footer(){if(!this.done&&!this.emit)this.next();if(this.done){return[]}else{let e="";for(let t=this.index;t>=0;t--){const n=this.replacements[t];e+=n.content}return e}}}e.exports=ReplaceSource},1331:function(e,t,n){"use strict";const r=n(2004);class EvalDevToolModulePlugin{constructor(e){this.sourceUrlComment=e.sourceUrlComment;this.moduleFilenameTemplate=e.moduleFilenameTemplate;this.namespace=e.namespace}apply(e){e.hooks.compilation.tap("EvalDevToolModulePlugin",e=>{new r({compilation:e,sourceUrlComment:this.sourceUrlComment,moduleFilenameTemplate:this.moduleFilenameTemplate,namespace:this.namespace}).apply(e.moduleTemplates.javascript)})}}e.exports=EvalDevToolModulePlugin},1332:function(e,t,n){"use strict";const{STAGE_ADVANCED:r}=n(2414);class AggressiveMergingPlugin{constructor(e){if(e!==undefined&&typeof e!=="object"||Array.isArray(e)){throw new Error("Argument should be an options object. To use defaults, pass in nothing.\nFor more info on options, see https://webpack.js.org/plugins/")}this.options=e||{}}apply(e){const t=this.options;const n=t.minSizeReduce||1.5;e.hooks.thisCompilation.tap("AggressiveMergingPlugin",e=>{e.hooks.optimizeChunks.tap({name:"AggressiveMergingPlugin",stage:r},t=>{const r=e.chunkGraph;let i=[];for(const e of t){if(e.canBeInitial())continue;for(const n of t){if(n.canBeInitial())continue;if(n===e)break;if(!r.canChunksBeIntegrated(e,n)){continue}const t=r.getChunkSize(n,{chunkOverhead:0});const s=r.getChunkSize(e,{chunkOverhead:0});const o=r.getIntegratedChunksSize(n,e,{chunkOverhead:0});const a=(t+s)/o;i.push({a:e,b:n,improvement:a})}}i.sort((e,t)=>{return t.improvement-e.improvement});const s=i[0];if(!s)return;if(s.improvemente!==null&&e.length>0?e.map(e=>`[${JSON.stringify(e)}]`).join(""):"";class ProvidedDependency extends s{constructor(e,t,n,r){super(e);this.identifier=t;this.path=n;this.range=r}updateHash(e,t){super.updateHash(e,t);e.update(this.identifier);e.update(this.path?this.path.join(","):"null")}serialize(e){const{write:t}=e;t(this.identifier);t(this.path);t(this.range);super.serialize(e)}deserialize(e){const{read:t}=e;this.identifier=t();this.path=t();this.range=t();super.deserialize(e)}}i(ProvidedDependency,"webpack/lib/dependencies/ProvidedDependency");class ProvidedDependencyTemplate extends s.Template{apply(e,t,{runtimeTemplate:n,moduleGraph:i,chunkGraph:s,initFragments:a,runtimeRequirements:u}){const c=e;a.push(new r(`/* provided dependency */ var ${c.identifier} = ${n.moduleExports({module:i.getModule(c),chunkGraph:s,request:c.request,runtimeRequirements:u})}${o(c.path)};\n`,r.STAGE_PROVIDES,1,`provided ${c.identifier}`));t.replace(c.range[0],c.range[1]-1,c.identifier)}}ProvidedDependency.Template=ProvidedDependencyTemplate;e.exports=ProvidedDependency},1341:function(e,t,n){var r=n(4215);var i=n(1983);var s=n(6837).ArraySet;var o=n(1740).MappingList;function SourceMapGenerator(e){if(!e){e={}}this._file=i.getArg(e,"file",null);this._sourceRoot=i.getArg(e,"sourceRoot",null);this._skipValidation=i.getArg(e,"skipValidation",false);this._sources=new s;this._names=new s;this._mappings=new o;this._sourcesContents=null}SourceMapGenerator.prototype._version=3;SourceMapGenerator.fromSourceMap=function SourceMapGenerator_fromSourceMap(e){var t=e.sourceRoot;var n=new SourceMapGenerator({file:e.file,sourceRoot:t});e.eachMapping(function(e){var r={generated:{line:e.generatedLine,column:e.generatedColumn}};if(e.source!=null){r.source=e.source;if(t!=null){r.source=i.relative(t,r.source)}r.original={line:e.originalLine,column:e.originalColumn};if(e.name!=null){r.name=e.name}}n.addMapping(r)});e.sources.forEach(function(r){var s=r;if(t!==null){s=i.relative(t,r)}if(!n._sources.has(s)){n._sources.add(s)}var o=e.sourceContentFor(r);if(o!=null){n.setSourceContent(r,o)}});return n};SourceMapGenerator.prototype.addMapping=function SourceMapGenerator_addMapping(e){var t=i.getArg(e,"generated");var n=i.getArg(e,"original",null);var r=i.getArg(e,"source",null);var s=i.getArg(e,"name",null);if(!this._skipValidation){this._validateMapping(t,n,r,s)}if(r!=null){r=String(r);if(!this._sources.has(r)){this._sources.add(r)}}if(s!=null){s=String(s);if(!this._names.has(s)){this._names.add(s)}}this._mappings.add({generatedLine:t.line,generatedColumn:t.column,originalLine:n!=null&&n.line,originalColumn:n!=null&&n.column,source:r,name:s})};SourceMapGenerator.prototype.setSourceContent=function SourceMapGenerator_setSourceContent(e,t){var n=e;if(this._sourceRoot!=null){n=i.relative(this._sourceRoot,n)}if(t!=null){if(!this._sourcesContents){this._sourcesContents=Object.create(null)}this._sourcesContents[i.toSetString(n)]=t}else if(this._sourcesContents){delete this._sourcesContents[i.toSetString(n)];if(Object.keys(this._sourcesContents).length===0){this._sourcesContents=null}}};SourceMapGenerator.prototype.applySourceMap=function SourceMapGenerator_applySourceMap(e,t,n){var r=t;if(t==null){if(e.file==null){throw new Error("SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, "+'or the source map\'s "file" property. Both were omitted.')}r=e.file}var o=this._sourceRoot;if(o!=null){r=i.relative(o,r)}var a=new s;var u=new s;this._mappings.unsortedForEach(function(t){if(t.source===r&&t.originalLine!=null){var s=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});if(s.source!=null){t.source=s.source;if(n!=null){t.source=i.join(n,t.source)}if(o!=null){t.source=i.relative(o,t.source)}t.originalLine=s.line;t.originalColumn=s.column;if(s.name!=null){t.name=s.name}}}var c=t.source;if(c!=null&&!a.has(c)){a.add(c)}var l=t.name;if(l!=null&&!u.has(l)){u.add(l)}},this);this._sources=a;this._names=u;e.sources.forEach(function(t){var r=e.sourceContentFor(t);if(r!=null){if(n!=null){t=i.join(n,t)}if(o!=null){t=i.relative(o,t)}this.setSourceContent(t,r)}},this)};SourceMapGenerator.prototype._validateMapping=function SourceMapGenerator_validateMapping(e,t,n,r){if(t&&typeof t.line!=="number"&&typeof t.column!=="number"){throw new Error("original.line and original.column are not numbers -- you probably meant to omit "+"the original mapping entirely and only map the generated position. If so, pass "+"null for the original mapping instead of an object with empty or null values.")}if(e&&"line"in e&&"column"in e&&e.line>0&&e.column>=0&&!t&&!n&&!r){return}else if(e&&"line"in e&&"column"in e&&t&&"line"in t&&"column"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&n){return}else{throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:n,original:t,name:r}))}};SourceMapGenerator.prototype._serializeMappings=function SourceMapGenerator_serializeMappings(){var e=0;var t=1;var n=0;var s=0;var o=0;var a=0;var u="";var c;var l;var f;var d;var p=this._mappings.toArray();for(var h=0,m=p.length;h0){if(!i.compareByGeneratedPositionsInflated(l,p[h-1])){continue}c+=","}}c+=r.encode(l.generatedColumn-e);e=l.generatedColumn;if(l.source!=null){d=this._sources.indexOf(l.source);c+=r.encode(d-a);a=d;c+=r.encode(l.originalLine-1-s);s=l.originalLine-1;c+=r.encode(l.originalColumn-n);n=l.originalColumn;if(l.name!=null){f=this._names.indexOf(l.name);c+=r.encode(f-o);o=f}}u+=c}return u};SourceMapGenerator.prototype._generateSourcesContent=function SourceMapGenerator_generateSourcesContent(e,t){return e.map(function(e){if(!this._sourcesContents){return null}if(t!=null){e=i.relative(t,e)}var n=i.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,n)?this._sourcesContents[n]:null},this)};SourceMapGenerator.prototype.toJSON=function SourceMapGenerator_toJSON(){var e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};if(this._file!=null){e.file=this._file}if(this._sourceRoot!=null){e.sourceRoot=this._sourceRoot}if(this._sourcesContents){e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)}return e};SourceMapGenerator.prototype.toString=function SourceMapGenerator_toString(){return JSON.stringify(this.toJSON())};t.SourceMapGenerator=SourceMapGenerator},1357:function(e,t,n){"use strict";const r=n(1627);class AsyncDependencyToInitialChunkError extends r{constructor(e,t,n){super(`It's not allowed to load an initial chunk on demand. The chunk name "${e}" is already used by an entrypoint.`);this.name="AsyncDependencyToInitialChunkError";this.module=t;this.loc=n;Error.captureStackTrace(this,this.constructor)}}e.exports=AsyncDependencyToInitialChunkError},1363:function(e){"use strict";e.exports=function generate__limitLength(e,t,n){var r=" ";var i=e.level;var s=e.dataLevel;var o=e.schema[t];var a=e.schemaPath+e.util.getProperty(t);var u=e.errSchemaPath+"/"+t;var c=!e.opts.allErrors;var l;var f="data"+(s||"");var d=e.opts.$data&&o&&o.$data,p;if(d){r+=" var schema"+i+" = "+e.util.getData(o.$data,s,e.dataPathArr)+"; ";p="schema"+i}else{p=o}var h=t=="maxLength"?">":"<";r+="if ( ";if(d){r+=" ("+p+" !== undefined && typeof "+p+" != 'number') || "}if(e.opts.unicode===false){r+=" "+f+".length "}else{r+=" ucs2length("+f+") "}r+=" "+h+" "+p+") { ";var l=t;var m=m||[];m.push(r);r="";if(e.createErrors!==false){r+=" { keyword: '"+(l||"_limitLength")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { limit: "+p+" } ";if(e.opts.messages!==false){r+=" , message: 'should NOT be ";if(t=="maxLength"){r+="longer"}else{r+="shorter"}r+=" than ";if(d){r+="' + "+p+" + '"}else{r+=""+o}r+=" characters' "}if(e.opts.verbose){r+=" , schema: ";if(d){r+="validate.schema"+a}else{r+=""+o}r+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+f+" "}r+=" } "}else{r+=" {} "}var g=r;r=m.pop();if(!e.compositeRule&&c){if(e.async){r+=" throw new ValidationError(["+g+"]); "}else{r+=" validate.errors = ["+g+"]; return false; "}}else{r+=" var err = "+g+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}r+="} ";if(c){r+=" else { "}return r}},1365:function(e,t,n){"use strict";const r=n(5747);const i=n(5622);const s=n(7547);const o={mode:511&~process.umask(),fs:r};const a=e=>{if(process.platform==="win32"){const t=/[<>:"|?*]/.test(e.replace(i.parse(e).root,""));if(t){const t=new Error(`Path contains invalid characters: ${e}`);t.code="EINVAL";throw t}}};e.exports=((e,t)=>Promise.resolve().then(()=>{a(e);t=Object.assign({},o,t);const n=s(t.fs.mkdir);const r=s(t.fs.stat);const u=e=>{return n(e,t.mode).then(()=>e).catch(t=>{if(t.code==="ENOENT"){if(t.message.includes("null bytes")||i.dirname(e)===e){throw t}return u(i.dirname(e)).then(()=>u(e))}return r(e).then(t=>t.isDirectory()?e:Promise.reject()).catch(()=>{throw t})})};return u(i.resolve(e))}));e.exports.sync=((e,t)=>{a(e);t=Object.assign({},o,t);const n=e=>{try{t.fs.mkdirSync(e,t.mode)}catch(r){if(r.code==="ENOENT"){if(r.message.includes("null bytes")||i.dirname(e)===e){throw r}n(i.dirname(e));return n(e)}try{if(!t.fs.statSync(e).isDirectory()){throw new Error("The path is not a directory")}}catch(e){throw r}}return e};return n(i.resolve(e))})},1383:function(e,t,n){"use strict";const r=n(4725);class InstantFileCachePlugin{constructor(e){this.strategy=e}apply(e){const t=this.strategy;e.cache.hooks.store.tapPromise({name:"InstantFileCachePlugin",stage:r.STAGE_DISK},(e,n,r)=>{return t.store(e,n,r)});e.cache.hooks.get.tapPromise({name:"InstantFileCachePlugin",stage:r.STAGE_DISK},(e,n,r)=>{return t.restore(e,n).then(i=>{if(i===undefined){r.push((r,i)=>{if(r!==undefined){t.store(e,n,r).then(i,i)}else{i()}})}else{return i}})});let n=Promise.resolve();e.cache.hooks.shutdown.tapPromise({name:"InstantFileCachePlugin",stage:r.STAGE_DISK},()=>{return n=n.then(()=>t.afterAllStored())});e.cache.hooks.beginIdle.tap({name:"InstantFileCachePlugin",stage:r.STAGE_DISK},()=>{n=n.then(()=>t.afterAllStored())})}}e.exports=InstantFileCachePlugin},1452:function(e,t,n){"use strict";const r=n(4558);class Entrypoint extends r{constructor(e){super(e);this.runtimeChunk=undefined}isInitial(){return true}setRuntimeChunk(e){this.runtimeChunk=e}getRuntimeChunk(){return this.runtimeChunk||this.chunks[0]}replaceChunk(e,t){if(this.runtimeChunk===e)this.runtimeChunk=t;return super.replaceChunk(e,t)}}e.exports=Entrypoint},1454:function(e,t,n){"use strict";const r=n(6202);const i=n(400);const s=n(2740);class CommonJsRequireContextDependency extends i{constructor(e,t,n){super(e);this.range=t;this.valueRange=n}get type(){return"cjs require context"}serialize(e){const{write:t}=e;t(this.range);t(this.valueRange);super.serialize(e)}deserialize(e){const{read:t}=e;this.range=t();this.valueRange=t();super.deserialize(e)}}r(CommonJsRequireContextDependency,"webpack/lib/dependencies/CommonJsRequireContextDependency");CommonJsRequireContextDependency.Template=s;e.exports=CommonJsRequireContextDependency},1460:function(e){"use strict";function arrayMove(e,t,n,r,i){for(var s=0;s{if(t.arguments.length!==1){throw new Error("Incorrect number of arguments provided to 'import(module: string) -> Promise'.")}const n=e.evaluateExpression(t.arguments[0]);let f=null;let d="lazy";let p=null;let h=null;const m={};const{options:g,errors:y}=e.parseCommentOptions(t.range);if(y){for(const t of y){const{comment:n}=t;e.state.module.warnings.push(new r(`Compilation error while processing magic comment(-s): /*${n.value}*/: ${t.message}`,n.loc))}}if(g){if(g.webpackIgnore!==undefined){if(typeof g.webpackIgnore!=="boolean"){e.state.module.warnings.push(new i(`\`webpackIgnore\` expected a boolean, but received: ${g.webpackIgnore}.`,t.loc))}else{if(g.webpackIgnore){return false}}}if(g.webpackChunkName!==undefined){if(typeof g.webpackChunkName!=="string"){e.state.module.warnings.push(new i(`\`webpackChunkName\` expected a string, but received: ${g.webpackChunkName}.`,t.loc))}else{f=g.webpackChunkName}}if(g.webpackMode!==undefined){if(typeof g.webpackMode!=="string"){e.state.module.warnings.push(new i(`\`webpackMode\` expected a string, but received: ${g.webpackMode}.`,t.loc))}else{d=g.webpackMode}}if(g.webpackPrefetch!==undefined){if(g.webpackPrefetch===true){m.prefetchOrder=0}else if(typeof g.webpackPrefetch==="number"){m.prefetchOrder=g.webpackPrefetch}else{e.state.module.warnings.push(new i(`\`webpackPrefetch\` expected true or a number, but received: ${g.webpackPrefetch}.`,t.loc))}}if(g.webpackPreload!==undefined){if(g.webpackPreload===true){m.preloadOrder=0}else if(typeof g.webpackPreload==="number"){m.preloadOrder=g.webpackPreload}else{e.state.module.warnings.push(new i(`\`webpackPreload\` expected true or a number, but received: ${g.webpackPreload}.`,t.loc))}}if(g.webpackInclude!==undefined){if(!g.webpackInclude||g.webpackInclude.constructor.name!=="RegExp"){e.state.module.warnings.push(new i(`\`webpackInclude\` expected a regular expression, but received: ${g.webpackInclude}.`,t.loc))}else{p=new RegExp(g.webpackInclude)}}if(g.webpackExclude!==undefined){if(!g.webpackExclude||g.webpackExclude.constructor.name!=="RegExp"){e.state.module.warnings.push(new i(`\`webpackExclude\` expected a regular expression, but received: ${g.webpackExclude}.`,t.loc))}else{h=new RegExp(g.webpackExclude)}}}if(n.isString()){if(d!=="lazy"&&d!=="eager"&&d!=="weak"){e.state.module.warnings.push(new i(`\`webpackMode\` expected 'lazy', 'eager' or 'weak', but received: ${d}.`,t.loc))}if(d==="eager"){const r=new c(n.string,t.range);e.state.current.addDependency(r)}else if(d==="weak"){const r=new l(n.string,t.range);e.state.current.addDependency(r)}else{const r=new a({...m,name:f},t.loc,n.string,t.range);const i=new u(n.string);i.loc=t.loc;r.addDependency(i);e.state.current.addBlock(r)}return true}else{if(d!=="lazy"&&d!=="lazy-once"&&d!=="eager"&&d!=="weak"){e.state.module.warnings.push(new i(`\`webpackMode\` expected 'lazy', 'lazy-once', 'eager' or 'weak', but received: ${d}.`,t.loc));d="lazy"}if(d==="weak"){d="async-weak"}const r=s.create(o,t.range,n,t,this.options,{chunkName:f,groupOptions:m,include:p,exclude:h,mode:d,namespaceObject:e.state.module.buildMeta.strictHarmonyModule?"strict":true},e);if(!r)return;r.loc=t.loc;r.optional=!!e.scope.inTry;e.state.current.addDependency(r);return true}})}}e.exports=ImportParserPlugin},1475:function(e,t,n){"use strict";const r=n(528);const i=n(3207);class SyncBailHookCodeFactory extends i{content({onError:e,onResult:t,onDone:n,rethrowIfPossible:r}){return this.callTapsSeries({onError:(t,n)=>e(n),onResult:(e,n,r)=>`if(${n} !== undefined) {\n${t(n)};\n} else {\n${r()}}\n`,onDone:n,rethrowIfPossible:r})}}const s=new SyncBailHookCodeFactory;class SyncBailHook extends r{tapAsync(){throw new Error("tapAsync is not supported on a SyncBailHook")}tapPromise(){throw new Error("tapPromise is not supported on a SyncBailHook")}compile(e){s.setup(this,e);return s.create(e)}}e.exports=SyncBailHook},1481:function(e){"use strict";e.exports=hashToSegments;function hashToSegments(e){return[e.slice(0,2),e.slice(2,4),e.slice(4)]}},1546:function(e,t,n){"use strict";const{ConcatSource:r,RawSource:i}=n(2991);const s=n(6253);const{UsageState:o}=n(5412);const a=n(6150);const u=e=>{const t=JSON.stringify(e);if(!t){return undefined}return t.replace(/\u2028|\u2029/g,e=>e==="\u2029"?"\\u2029":"\\u2028")};const c=new Set(["javascript"]);class JsonGenerator extends s{getTypes(){return c}getSize(e,t){let n=e.buildInfo.jsonData;if(!n)return 0;return u(n).length+10}generate(e,{moduleGraph:t,runtimeTemplate:n,runtimeRequirements:s}){const c=new r;const l=e.buildInfo.jsonData;if(l===undefined){return new i(n.missingModuleStatement({request:e.rawRequest}))}s.add(a.module);const f=t.getProvidedExports(e);if(Array.isArray(f)&&e.isExportUsed(t,"default")===o.Unused){const n={};for(const r of f){if(r==="default")continue;const i=e.getUsedName(t,r);if(typeof i==="string"){n[i]=l[r]}}c.add(`${e.moduleArgument}.exports = ${u(n)};`)}else{c.add(`${e.moduleArgument}.exports = ${u(l)};`)}return c}}e.exports=JsonGenerator},1553:function(e,t,n){"use strict";const r=n(9596).SourceNode;const i=n(6900).SourceListMap;const s=n(3292);class ConcatSource extends s{constructor(){super();this.children=[];for(var e=0;e=this.options.maxConcurrentCalls){let e=new a("Too many concurrent calls (active: "+this.activeCalls+", queued: "+this.callQueue.length+")");if(typeof t[t.length-1]=="function")return process.nextTick(t[t.length-1].bind(null,e));throw e}this.addCall({method:e,callback:t.pop(),args:t,retries:0})}.bind(this)};Farm.prototype.setup=function(e){let t;if(!e){t=this.mkhandle()}else{t={};e.forEach(function(e){t[e]=this.mkhandle(e)}.bind(this))}this.searchStart=-1;this.childId=-1;this.children={};this.activeChildren=0;this.callQueue=[];if(this.options.autoStart){while(this.activeChildren=this.options.maxRetries){this.receive({idx:r,child:e,args:[new o("cancel after "+n.retries+" retries!")]})}else{n.retries++;this.callQueue.unshift(n);t=true}}.bind(this))}this.stopChild(e);t&&this.processQueue()}.bind(this),10)};Farm.prototype.startChild=function(){this.childId++;let e=i(this.path,this.options.workerOptions),t=this.childId,n={send:e.send,child:e.child,calls:[],activeCalls:0,exitCode:null};this.options.onChild(e.child);e.child.on("message",function(e){if(e.owner!=="farm"){return}this.receive(e)}.bind(this));e.child.once("exit",function(e){n.exitCode=e;this.onExit(t)}.bind(this));this.activeChildren++;this.children[t]=n};Farm.prototype.stopChild=function(e){let t=this.children[e];if(t){t.send({owner:"farm",event:"die"});setTimeout(function(){if(t.exitCode===null)t.child.kill("SIGKILL")},this.options.forcedKillTime).unref();delete this.children[e];this.activeChildren--}};Farm.prototype.receive=function(e){let t=e.idx,n=e.child,r=e.args,i=this.children[n],s;if(!i){return console.error("Worker Farm: Received message for unknown child. "+"This is likely as a result of premature child death, "+"the operation will have been re-queued.")}s=i.calls[t];if(!s){return console.error("Worker Farm: Received message for unknown index for existing child. "+"This should not happen!")}if(this.options.maxCallTime!==Infinity)clearTimeout(s.timer);if(r[0]&&r[0].$error=="$error"){let e=r[0];switch(e.type){case"TypeError":r[0]=new TypeError(e.message);break;case"RangeError":r[0]=new RangeError(e.message);break;case"EvalError":r[0]=new EvalError(e.message);break;case"ReferenceError":r[0]=new ReferenceError(e.message);break;case"SyntaxError":r[0]=new SyntaxError(e.message);break;case"URIError":r[0]=new URIError(e.message);break;default:r[0]=new Error(e.message)}r[0].type=e.type;r[0].stack=e.stack;Object.keys(e).forEach(function(t){r[0][t]=e[t]})}process.nextTick(function(){s.callback.apply(null,r)});delete i.calls[t];i.activeCalls--;this.activeCalls--;if(i.calls.length>=this.options.maxCallsPerWorker&&!Object.keys(i.calls).length){this.stopChild(n)}this.processQueue()};Farm.prototype.childTimeout=function(e){let t=this.children[e],n;if(!t)return;for(n in t.calls){this.receive({idx:n,child:e,args:[new s("worker call timed out!")]})}this.stopChild(e)};Farm.prototype.send=function(e,t){let n=this.children[e],r=n.calls.length;n.calls.push(t);n.activeCalls++;this.activeCalls++;n.send({owner:"farm",idx:r,child:e,method:t.method,args:t.args});if(this.options.maxCallTime!==Infinity){t.timer=setTimeout(this.childTimeout.bind(this,e),this.options.maxCallTime)}};Farm.prototype.childKeys=function(){let e=Object.keys(this.children),t;if(this.searchStart>=e.length-1)this.searchStart=0;else this.searchStart++;t=e.splice(0,this.searchStart);return e.concat(t)};Farm.prototype.processQueue=function(){let e,t=0,n;if(!this.callQueue.length)return this.ending&&this.end();if(this.activeChildren{new i(e).apply(e.chunkTemplate);const n=new WeakSet;const s=(i,s)=>{if(n.has(i))return;n.add(i);s.add(r.moduleFactories);e.addRuntimeModule(i,new t(i,e.chunkGraph,s))};e.hooks.runtimeRequirementInTree.for(r.ensureChunkHandlers).tap("NodeTemplatePlugin",s);e.hooks.runtimeRequirementInTree.for(r.hmrDownloadUpdateHandlers).tap("NodeTemplatePlugin",s);e.hooks.runtimeRequirementInTree.for(r.hmrDownloadManifest).tap("NodeTemplatePlugin",s);e.hooks.runtimeRequirementInTree.for(r.ensureChunkHandlers).tap("NodeTemplatePlugin",(e,t)=>{t.add(r.getChunkScriptFilename)});e.hooks.runtimeRequirementInTree.for(r.hmrDownloadUpdateHandlers).tap("NodeTemplatePlugin",(e,t)=>{t.add(r.getChunkUpdateScriptFilename);t.add(r.moduleCache);t.add(r.hmrModuleData);t.add(r.moduleFactories)});e.hooks.runtimeRequirementInTree.for(r.hmrDownloadManifest).tap("NodeTemplatePlugin",(e,t)=>{t.add(r.getUpdateManifestFilename)})})}}e.exports=NodeTemplatePlugin},1596:function(e,t,n){"use strict";const{UsageState:r}=n(5412);const{STAGE_DEFAULT:i}=n(2414);const{NS_OBJECT_IMPORTED:s}=n(7737);const o=n(9541);class FlagDependencyUsagePlugin{apply(e){e.hooks.compilation.tap("FlagDependencyUsagePlugin",e=>{const t=e.moduleGraph;e.hooks.optimizeDependencies.tap({name:"FlagDependencyUsagePlugin",stage:i},n=>{const i=new Map;const a=(e,n)=>{const s=t.getExportsInfo(e);if(n.length>0){for(const t of n){if(t.length===0){if(s.setUsedInUnknownWay()){l.enqueue(e)}}else{if(t[0]==="default"&&e.buildMeta.exportsType==="named"){if(s.setUsedAsNamedExportType()){l.enqueue(e)}}else{let n=s;for(let o=0;o{for(const t of e.dependencies){c(t)}for(const t of e.blocks){l.enqueue(t)}};const c=t=>{const n=e.getDependencyReference(t);if(!n)return;const r=n.module;const i=n.importedNames;a(r,i)};for(const e of n){const n=t.getExportsInfo(e);i.set(n,e);n.setHasUseInfo()}const l=new o;for(const n of e.entryDependencies.values()){for(const e of n){const n=t.getModule(e);if(n){a(n,s)}}}while(l.length){const e=l.dequeue();u(e)}})})}}e.exports=FlagDependencyUsagePlugin},1613:function(e,t,n){"use strict";const{cleanUp:r}=n(717);const i=n(1627);const s=n(6202);class ModuleError extends i{constructor(e,{from:t=null}={}){let n="Module Error";if(t){n+=` (from ${t}):\n`}else{n+=": "}if(e&&typeof e==="object"&&e.message){n+=e.message}else if(e){n+=e}super(n);this.name="ModuleError";this.error=e;this.details=e&&typeof e==="object"&&e.stack?r(e.stack,this.message):undefined;Error.captureStackTrace(this,this.constructor)}serialize(e){const{write:t}=e;t(this.error);super.serialize(e)}deserialize(e){const{read:t}=e;this.error=t();super.deserialize(e)}}s(ModuleError,"webpack/lib/ModuleError");e.exports=ModuleError},1620:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:true});var r=n(2721);var i=_interopRequireDefault(r);var s=n(4760);var o=_interopRequireDefault(s);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}t.default={parse:i.default,stringify:o.default};e.exports=t["default"]},1623:function(e,t,n){"use strict";var r=Object.create;if(r){var i=r(null);var s=r(null);i[" size"]=s[" size"]=0}e.exports=function(e){var t=n(9505);var r=t.canEvaluate;var o=t.isIdentifier;var a;var u;if(true){var c=function(e){return new Function("ensureMethod"," \n return function(obj) { \n 'use strict' \n var len = this.length; \n ensureMethod(obj, 'methodName'); \n switch(len) { \n case 1: return obj.methodName(this[0]); \n case 2: return obj.methodName(this[0], this[1]); \n case 3: return obj.methodName(this[0], this[1], this[2]); \n case 0: return obj.methodName(); \n default: \n return obj.methodName.apply(obj, this); \n } \n }; \n ".replace(/methodName/g,e))(ensureMethod)};var l=function(e){return new Function("obj"," \n 'use strict'; \n return obj.propertyName; \n ".replace("propertyName",e))};var f=function(e,t,n){var r=n[e];if(typeof r!=="function"){if(!o(e)){return null}r=t(e);n[e]=r;n[" size"]++;if(n[" size"]>512){var i=Object.keys(n);for(var s=0;s<256;++s)delete n[i[s]];n[" size"]=i.length-256}}return r};a=function(e){return f(e,c,i)};u=function(e){return f(e,l,s)}}function ensureMethod(n,r){var i;if(n!=null)i=n[r];if(typeof i!=="function"){var s="Object "+t.classString(n)+" has no method '"+t.toString(r)+"'";throw new e.TypeError(s)}return i}function caller(e){var t=this.pop();var n=ensureMethod(e,t);return n.apply(e,this)}e.prototype.call=function(e){var t=arguments.length;var n=new Array(Math.max(t-1,0));for(var i=1;i{e.dependencyFactories.set(i,y);e.dependencyTemplates.set(i,new i.Template);e.dependencyFactories.set(r,n);e.dependencyTemplates.set(r,new r.Template);e.dependencyFactories.set(u,y);e.dependencyTemplates.set(u,new u.Template);e.dependencyFactories.set(a,n);e.dependencyTemplates.set(a,new a.Template);e.dependencyFactories.set(c,new l);e.dependencyTemplates.set(c,new c.Template);e.dependencyFactories.set(o,new l);e.dependencyTemplates.set(o,new o.Template);const v=(e,n)=>{if(n.commonjs!==undefined&&!n.commonjs)return;const r=["require","require.resolve","require.resolveWeak"];for(let t of r){e.hooks.typeof.for(t).tap("CommonJsPlugin",g(e,JSON.stringify("function")));e.hooks.evaluateTypeof.for(t).tap("CommonJsPlugin",m("function"));e.hooks.evaluateIdentifier.for(t).tap("CommonJsPlugin",h(t,true))}e.hooks.evaluateTypeof.for("module").tap("CommonJsPlugin",m("object"));e.hooks.expression.for("exports").tap("CommonJsPlugin",t=>{const n=e.state.module;const r=n.buildMeta&&n.buildMeta.exportsType;if(!r){return g(e,n.exportsArgument,[p.exports])(t)}});e.hooks.assign.for("require").tap("CommonJsPlugin",t=>{const n=new s("var require;",0);n.loc=t.loc;e.state.current.addDependency(n);e.scope.definitions.add("require");return true});e.hooks.canRename.for("require").tap("CommonJsPlugin",()=>true);e.hooks.rename.for("require").tap("CommonJsPlugin",t=>{const n=new s("var require;",0);n.loc=t.loc;e.state.current.addDependency(n);return false});e.hooks.typeof.for("module").tap("CommonJsPlugin",g(e,JSON.stringify("object")));e.hooks.evaluateTypeof.for("exports").tap("CommonJsPlugin",m("object"));new f(t).apply(e);new d(t).apply(e)};y.hooks.parser.for("javascript/auto").tap("CommonJsPlugin",v);y.hooks.parser.for("javascript/dynamic").tap("CommonJsPlugin",v)})}}e.exports=CommonJsPlugin},1636:function(e){"use strict";e.exports=function generate_if(e,t,n){var r=" ";var i=e.level;var s=e.dataLevel;var o=e.schema[t];var a=e.schemaPath+e.util.getProperty(t);var u=e.errSchemaPath+"/"+t;var c=!e.opts.allErrors;var l="data"+(s||"");var f="valid"+i;var d="errs__"+i;var p=e.util.copy(e);p.level++;var h="valid"+p.level;var m=e.schema["then"],g=e.schema["else"],y=m!==undefined&&e.util.schemaHasRules(m,e.RULES.all),v=g!==undefined&&e.util.schemaHasRules(g,e.RULES.all),b=p.baseId;if(y||v){var w;p.createErrors=false;p.schema=o;p.schemaPath=a;p.errSchemaPath=u;r+=" var "+d+" = errors; var "+f+" = true; ";var E=e.compositeRule;e.compositeRule=p.compositeRule=true;r+=" "+e.validate(p)+" ";p.baseId=b;p.createErrors=true;r+=" errors = "+d+"; if (vErrors !== null) { if ("+d+") vErrors.length = "+d+"; else vErrors = null; } ";e.compositeRule=p.compositeRule=E;if(y){r+=" if ("+h+") { ";p.schema=e.schema["then"];p.schemaPath=e.schemaPath+".then";p.errSchemaPath=e.errSchemaPath+"/then";r+=" "+e.validate(p)+" ";p.baseId=b;r+=" "+f+" = "+h+"; ";if(y&&v){w="ifClause"+i;r+=" var "+w+" = 'then'; "}else{w="'then'"}r+=" } ";if(v){r+=" else { "}}else{r+=" if (!"+h+") { "}if(v){p.schema=e.schema["else"];p.schemaPath=e.schemaPath+".else";p.errSchemaPath=e.errSchemaPath+"/else";r+=" "+e.validate(p)+" ";p.baseId=b;r+=" "+f+" = "+h+"; ";if(y&&v){w="ifClause"+i;r+=" var "+w+" = 'else'; "}else{w="'else'"}r+=" } "}r+=" if (!"+f+") { var err = ";if(e.createErrors!==false){r+=" { keyword: '"+"if"+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { failingKeyword: "+w+" } ";if(e.opts.messages!==false){r+=" , message: 'should match \"' + "+w+" + '\" schema' "}if(e.opts.verbose){r+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "}r+=" } "}else{r+=" {} "}r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";if(!e.compositeRule&&c){if(e.async){r+=" throw new ValidationError(vErrors); "}else{r+=" validate.errors = vErrors; return false; "}}r+=" } ";if(c){r+=" else { "}r=e.util.cleanUpCode(r)}else{if(c){r+=" if (true) { "}}return r}},1638:function(e){"use strict";class LoadingLoaderError extends Error{constructor(e){super(e);this.name="LoaderRunnerError";Error.captureStackTrace(this,this.constructor)}}e.exports=LoadingLoaderError},1641:function(e,t,n){"use strict";const r=n(4725);class BackgroundFileCachePlugin{constructor(e){this.strategy=e}apply(e){const t=this.strategy;const n=new Set;e.cache.hooks.store.tap({name:"BackgroundFileCachePlugin",stage:r.STAGE_DISK},(e,r,i)=>{const s=t.store(e,r,i);n.add(s);s.then(()=>{n.delete(s)})});e.cache.hooks.get.tapPromise({name:"BackgroundFileCachePlugin",stage:r.STAGE_DISK},(e,r,i)=>{return t.restore(e,r).then(s=>{if(s===undefined){i.push((i,s)=>{if(i!==undefined){const o=t.store(e,r,i);n.add(o);o.then(()=>{n.delete(o)});s()}else{s()}})}else{return s}})});let i=Promise.resolve();e.cache.hooks.shutdown.tapPromise({name:"BackgroundFileCachePlugin",stage:r.STAGE_DISK},()=>{return i=i.then(()=>{const e=Promise.all(Array.from(n)).then(()=>t.afterAllStored());n.clear();return e})});e.cache.hooks.beginIdle.tap({name:"BackgroundFileCachePlugin",stage:r.STAGE_DISK},()=>{i=i.then(()=>{const e=Promise.all(Array.from(n)).then(()=>t.afterAllStored());n.clear();return e})})}}e.exports=BackgroundFileCachePlugin},1669:function(e){e.exports=require("util")},1673:function(e,t,n){"use strict";const r=n(1627);const i=e=>{return e.slice().sort((e,t)=>{const n=e.identifier();const r=t.identifier();if(nr)return 1;return 0})};const s=(e,t)=>{return e.map(e=>{let n=`* ${e.identifier()}`;const r=t.getIncomingConnections(e).filter(e=>e.originModule);if(r.length>0){n+=`\n Used by ${r.length} module(s), i. e.`;n+=`\n ${r[0].originModule.identifier()}`}return n}).join("\n")};class CaseSensitiveModulesWarning extends r{constructor(e,t){const n=i(e);const r=s(n,t);super(`There are multiple modules with names that only differ in casing.\nThis can lead to unexpected behavior when compiling on a filesystem with other case-semantic.\nUse equal casing. Compare these module identifiers:\n${r}`);this.name="CaseSensitiveModulesWarning";this.module=n[0];Error.captureStackTrace(this,this.constructor)}}e.exports=CaseSensitiveModulesWarning},1680:function(e,t,n){var r=n(5622);var i=r.parse||n(5522);var s=function getNodeModulesDirs(e,t){var n="/";if(/^([A-Za-z]:)/.test(e)){n=""}else if(/^\\\\/.test(e)){n="\\\\"}var s=[e];var o=i(e);while(o.dir!==s[s.length-1]){s.push(o.dir);o=i(o.dir)}return s.reduce(function(e,i){return e.concat(t.map(function(e){return r.resolve(n,i,e)}))},[])};e.exports=function nodeModulesPaths(e,t,n){var r=t&&t.moduleDirectory?[].concat(t.moduleDirectory):["node_modules"];if(t&&typeof t.paths==="function"){return t.paths(n,e,function(){return s(e,r)},t)}var i=s(e,r);return t&&t.paths?i.concat(t.paths):i}},1684:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:true});var r={parse:true};t.parse=parse;var i=_interopRequireWildcard(n(9864));var s=n(7853);var o=n(3933);Object.keys(o).forEach(function(e){if(e==="default"||e==="__esModule")return;if(Object.prototype.hasOwnProperty.call(r,e))return;Object.defineProperty(t,e,{enumerable:true,get:function get(){return o[e]}})});function _interopRequireWildcard(e){if(e&&e.__esModule){return e}else{var t={};if(e!=null){for(var n in e){if(Object.prototype.hasOwnProperty.call(e,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,n):{};if(r.get||r.set){Object.defineProperty(t,n,r)}else{t[n]=e[n]}}}}t.default=e;return t}}function parse(e){var t=(0,s.tokenize)(e);var n=i.parse(t,e);return n}},1694:function(e,t,n){"use strict";const{numberToIdentifier:r}=n(8159);const{assignDeterministicIds:i}=n(328);const{concatComparators:s,compareSelect:o,compareStringsNumeric:a}=n(8673);const u=e=>{for(const t of e.exports){if(t.canMangle===true){return true}}return false};const c=s(o(e=>e.used!==false,(e,t)=>e===t?0:e?-1:1),o(e=>e.name,a));class MangleExportsPlugin{apply(e){e.hooks.compilation.tap("MangleExportsPlugin",e=>{const t=e.moduleGraph;e.hooks.optimizeCodeGeneration.tap("MangleExportsPlugin",e=>{for(const n of e){const e=t.getExportsInfo(n);if(!u(e))continue;const s=new Set;const o=[];for(const t of e.exports){const e=t.name;if(t.canMangle!==true||(e.length===1||/^a-zA-Z_\$$/.test(e))){t.usedName=e;s.add(e)}else{o.push(t)}}i(o,e=>e.name,c,(e,t)=>{const n=r(t);const i=s.size;s.add(n);if(i===s.size)return false;e.usedName=n;return true},[26,52],52,s.size)}})})}}e.exports=MangleExportsPlugin},1697:function(e,t,n){"use strict";const r=n(9192);const i=n(1627);class MinMaxSizeWarning extends i{constructor(e,t,n){let i="Fallback cache group";if(e){i=e.length>1?`Cache groups ${e.sort().join(", ")}`:`Cache group ${e[0]}`}super(`SplitChunksPlugin\n`+`${i}\n`+`Configured minSize (${r.formatSize(t)}) is `+`bigger than maxSize (${r.formatSize(n)}).\n`+"This seem to be a invalid optimiziation.splitChunks configuration.")}}e.exports=MinMaxSizeWarning},1701:function(e,t,n){"use strict";const r=n(7230);const i=(e,t)=>{if(t.charAt(0)!==".")return t;var n=e.split("/");var r=t.split("/");n.pop();for(let e=0;e{if(!e.localModules){e.localModules=[]}const n=new r(t,e.localModules.length);e.localModules.push(n);return n});t.getLocalModule=((e,t,n)=>{if(!e.localModules)return null;if(n){t=i(n,t)}for(let n=0;n{e.hooks.contextModuleFiles.tap("ContextExclusionPlugin",e=>{return e.filter(e=>!this.negativeMatcher.test(e))})})}}e.exports=ContextExclusionPlugin},1720:function(e,t,n){"use strict";const r=n(4290);e.exports=class HarmonyDetectionParserPlugin{constructor(e){const{topLevelAwait:t=false}=e||{};this.topLevelAwait=t}apply(e){e.hooks.program.tap("HarmonyDetectionParserPlugin",t=>{const n=e.state.module.type==="javascript/esm";const i=n||t.body.some(e=>e.type==="ImportDeclaration"||e.type==="ExportDefaultDeclaration"||e.type==="ExportNamedDeclaration"||e.type==="ExportAllDeclaration");if(i){const i=t.body.some(e=>(e.type==="ImportDeclaration"||e.type==="ExportDefaultDeclaration"||e.type==="ExportNamedDeclaration"||e.type==="ExportAllDeclaration")&&e.await);const s=e.state.module;const o=new r;o.loc={start:{line:-1,column:0},end:{line:-1,column:0},index:-3};s.addDependency(o);e.state.harmonyModule=true;e.scope.isStrict=true;s.buildMeta.exportsType="namespace";s.buildMeta.async=i;s.buildInfo.strict=true;s.buildInfo.exportsArgument="__webpack_exports__";if(n){s.buildMeta.strictHarmonyModule=true;s.buildInfo.moduleArgument="__webpack_module__"}}});e.hooks.topLevelAwait.tap("HarmonyDetectionParserPlugin",()=>{const t=e.state.module;if(!this.topLevelAwait){throw new Error("The top-level-await experiment is not enabled (set experiments.topLevelAwait: true to enabled it)")}if(!e.state.harmonyModule){throw new Error("Top-level-await is only supported in EcmaScript Modules")}t.buildMeta.async=true});const t=()=>{const t=e.state.module;if(t&&t.buildMeta&&t.buildMeta.exportsType){return true}};const n=()=>{const t=e.state.module;if(t&&t.buildMeta&&t.buildMeta.exportsType){return null}};const i=["define","exports"];for(const r of i){e.hooks.evaluateTypeof.for(r).tap("HarmonyDetectionParserPlugin",n);e.hooks.typeof.for(r).tap("HarmonyDetectionParserPlugin",t);e.hooks.evaluate.for(r).tap("HarmonyDetectionParserPlugin",n);e.hooks.expression.for(r).tap("HarmonyDetectionParserPlugin",t);e.hooks.call.for(r).tap("HarmonyDetectionParserPlugin",t)}}}},1721:function(e,t,n){"use strict";const r=n(7614);const i=n(5925);const s=n(2615);const o=n(1331);const a=n(3641);const u=n(6449);const c=n(7736);const l=n(0);const f=n(4699);const d=n(3806);const p=n(9818);const h=n(2323);const m=n(1772);const g=n(7489);const y=n(552);const v=n(337);const b=n(9050);const w=n(2510);const E=n(3653);const _=n(1630);const S=n(6165);const k=n(4975);const C=n(2451);const D=n(7634);const A=n(1727);const x=n(3085);const M=n(2630);const T=n(6169);const O=n(9054);const F=n(7391);const I=n(1762);const{cachedCleverMerge:R}=n(149);class WebpackOptionsApply extends r{constructor(){super()}process(e,t){t.outputPath=e.output.path;t.recordsInputPath=e.recordsInputPath||e.recordsPath;t.recordsOutputPath=e.recordsOutputPath||e.recordsPath;t.name=e.name;if(typeof e.target==="string"){switch(e.target){case"web":{const r=n(8421);const i=n(1100);const s=n(2687);const o=n(2662);(new r).apply(t);new i({mangleImports:e.optimization.mangleWasmImports}).apply(t);(new s).apply(t);(new u).apply(t);new o(e.node).apply(t);new c(e.target).apply(t);break}case"webworker":{const r=n(7439);const i=n(1100);const s=n(2687);const o=n(2662);const a=n(4997);(new r).apply(t);new i({mangleImports:e.optimization.mangleWasmImports}).apply(t);(new s).apply(t);(new u).apply(t);new o(e.node).apply(t);new c(e.target).apply(t);new a({asyncChunkLoading:true}).apply(t);break}case"node":case"async-node":{const r=n(1591);const i=n(1049);const s=n(1273);const o=n(4980);const a=n(4997);new r({asyncChunkLoading:e.target==="async-node"}).apply(t);new i({mangleImports:e.optimization.mangleWasmImports}).apply(t);(new s).apply(t);(new u).apply(t);(new o).apply(t);new c("node").apply(t);new a({asyncChunkLoading:e.target==="async-node"}).apply(t);break}case"node-webkit":{const r=n(8421);const i=n(4980);const s=n(1050);const o=n(4997);(new r).apply(t);(new u).apply(t);(new i).apply(t);new s("commonjs","nw.gui").apply(t);new c(e.target).apply(t);new o({asyncChunkLoading:true}).apply(t);break}case"electron-main":{const r=n(1591);const i=n(4980);const s=n(1050);const o=n(4997);new r({asyncChunkLoading:true}).apply(t);(new u).apply(t);(new i).apply(t);new s("commonjs",["app","auto-updater","browser-window","clipboard","content-tracing","crash-reporter","dialog","electron","global-shortcut","ipc","ipc-main","menu","menu-item","native-image","original-fs","power-monitor","power-save-blocker","protocol","screen","session","shell","tray","web-contents"]).apply(t);new c(e.target).apply(t);new o({asyncChunkLoading:true}).apply(t);break}case"electron-renderer":case"electron-preload":{const r=n(1100);const i=n(2687);const s=n(4980);const o=n(1050);if(e.target==="electron-renderer"){const e=n(8421);(new e).apply(t)}else if(e.target==="electron-preload"){const e=n(1591);new e({asyncChunkLoading:true}).apply(t)}new r({mangleImports:e.optimization.mangleWasmImports}).apply(t);(new i).apply(t);(new u).apply(t);(new s).apply(t);new o("commonjs",["clipboard","crash-reporter","desktop-capturer","electron","ipc","ipc-renderer","native-image","original-fs","remote","screen","shell","web-frame"]).apply(t);new c(e.target).apply(t);break}default:throw new Error("Unsupported target '"+e.target+"'.")}}else if(e.target!==false){e.target(t)}else{throw new Error("Unsupported target '"+e.target+"'.")}if(e.output.library||e.output.libraryTarget!=="var"){const r=n(3351);new r(e.output.library,e.output.libraryTarget,e.output.umdNamedDefine,e.output.auxiliaryComment||"",e.output.libraryExport).apply(t)}if(e.externals){const r=n(1050);new r(e.output.libraryTarget,e.externals).apply(t)}if(e.devtool&&(e.devtool.includes("sourcemap")||e.devtool.includes("source-map"))){const n=e.devtool.includes("hidden");const r=e.devtool.includes("inline");const i=e.devtool.includes("eval");const s=e.devtool.includes("cheap");const o=e.devtool.includes("module");const u=e.devtool.includes("nosources");const c=e.devtool.includes("@");const f=e.devtool.includes("#");const d=c&&f?"\n/*\n//@ source"+"MappingURL=[url]\n//# source"+"MappingURL=[url]\n*/":c?"\n/*\n//@ source"+"MappingURL=[url]\n*/":f?"\n//# source"+"MappingURL=[url]":null;const p=i?a:l;new p({filename:r?null:e.output.sourceMapFilename,moduleFilenameTemplate:e.output.devtoolModuleFilenameTemplate,fallbackModuleFilenameTemplate:e.output.devtoolFallbackModuleFilenameTemplate,append:n?false:d,module:o?true:s?false:true,columns:s?false:true,noSources:u,namespace:e.output.devtoolNamespace}).apply(t)}else if(e.devtool&&e.devtool.includes("eval")){const n=e.devtool.includes("@");const r=e.devtool.includes("#");const i=n&&r?"\n//@ sourceURL=[url]\n//# sourceURL=[url]":n?"\n//@ sourceURL=[url]":r?"\n//# sourceURL=[url]":null;new o({sourceUrlComment:i,moduleFilenameTemplate:e.output.devtoolModuleFilenameTemplate,namespace:e.output.devtoolNamespace}).apply(t)}(new i).apply(t);(new s).apply(t);if(e.experiments.syncWebAssembly){const r=n(3576);new r({mangleImports:e.optimization.mangleWasmImports}).apply(t)}if(e.experiments.asyncWebAssembly){const r=n(2422);new r({mangleImports:e.optimization.mangleWasmImports}).apply(t)}(new f).apply(t);t.hooks.entryOption.call(e.context,e.entry);(new p).apply(t);if(e.experiments.importAwait||e.experiments.importAsync){const r=n(8778);new r({errorOnMissingAwait:!e.experiments.importAsync}).apply(t)}(new g).apply(t);new S({module:e.module,topLevelAwait:e.experiments.topLevelAwait,importAwait:e.experiments.importAwait}).apply(t);if(e.amd!==false){const r=n(9765);const i=n(830);new r(e.module,e.amd||{}).apply(t);(new i).apply(t)}new _(e.module).apply(t);(new C).apply(t);if(e.node!==false){const r=n(2125);new r(e.node).apply(t)}(new m).apply(t);(new h).apply(t);(new y).apply(t);(new b).apply(t);(new x).apply(t);(new A).apply(t);new D(e.resolve.modules,e.resolve.extensions,e.resolve.mainFiles).apply(t);new k(e.module).apply(t);new M(e.module).apply(t);(new O).apply(t);(new F).apply(t);(new I).apply(t);if(typeof e.mode!=="string"){const e=n(7586);(new e).apply(t)}const r=n(8173);(new r).apply(t);if(e.optimization.removeAvailableModules){const e=n(8016);(new e).apply(t)}if(e.optimization.removeEmptyChunks){const e=n(2665);(new e).apply(t)}if(e.optimization.mergeDuplicateChunks){const e=n(26);(new e).apply(t)}if(e.optimization.flagIncludedChunks){const e=n(6627);(new e).apply(t)}if(e.optimization.sideEffects){const e=n(3410);(new e).apply(t)}if(e.optimization.providedExports){const e=n(5629);(new e).apply(t)}if(e.optimization.usedExports){const e=n(1596);(new e).apply(t)}if(e.optimization.mangleExports){const e=n(1694);(new e).apply(t)}if(e.optimization.concatenateModules){const e=n(5442);(new e).apply(t)}if(e.optimization.splitChunks){const r=n(51);new r(e.optimization.splitChunks).apply(t)}if(e.optimization.runtimeChunk){const r=n(4674);new r(e.optimization.runtimeChunk).apply(t)}if(e.optimization.noEmitOnErrors){const e=n(6962);(new e).apply(t)}if(e.optimization.checkWasmTypes){const e=n(7577);(new e).apply(t)}const P=e.optimization.moduleIds;if(P){switch(P){case"natural":{const e=n(7781);(new e).apply(t);break}case"named":{const e=n(9297);(new e).apply(t);break}case"hashed":{const e=n(3571);const r=n(5853);new e("optimization.moduleIds","hashed","deterministic").apply(t);(new r).apply(t);break}case"deterministic":{const e=n(5579);(new e).apply(t);break}case"size":{const e=n(6059);new e({prioritiseInitial:true}).apply(t);break}default:throw new Error(`webpack bug: moduleIds: ${P} is not implemented`)}}const N=e.optimization.chunkIds;if(N){switch(N){case"natural":{const e=n(8298);(new e).apply(t);break}case"named":{const e=n(4779);(new e).apply(t);break}case"deterministic":{const e=n(444);(new e).apply(t);break}case"size":new T({prioritiseInitial:true}).apply(t);break;case"total-size":new T({prioritiseInitial:false}).apply(t);break;default:throw new Error(`webpack bug: chunkIds: ${N} is not implemented`)}}if(e.optimization.nodeEnv){const r=n(4820);new r({"process.env.NODE_ENV":JSON.stringify(e.optimization.nodeEnv)}).apply(t)}if(e.optimization.minimize){for(const n of e.optimization.minimizer){if(typeof n==="function"){n.call(t,t)}else{n.apply(t)}}}if(e.performance){const r=n(625);new r(e.performance).apply(t)}(new v).apply(t);new d({portableIds:e.optimization.portableRecords}).apply(t);(new w).apply(t);if(e.cache&&typeof e.cache==="object"){const r=e.cache;switch(r.type){case"memory":{const e=n(7786);(new e).apply(t);break}case"filesystem":{const e=n(7786);(new e).apply(t);switch(r.store){case"instant":{const e=n(1383);const i=n(9652);new e(new i({fs:t.intermediateFileSystem,cacheLocation:r.cacheLocation,version:r.version,hashAlgorithm:r.hashAlgorithm,loglevel:r.loglevel})).apply(t);break}case"background":{const e=n(1641);const i=n(9652);new e(new i({fs:t.intermediateFileSystem,cacheLocation:r.cacheLocation,version:r.version,hashAlgorithm:r.hashAlgorithm,loglevel:r.loglevel})).apply(t);break}case"idle":{const e=n(6620);const i=n(9652);new e(new i({fs:t.intermediateFileSystem,cacheLocation:r.cacheLocation,version:r.version,hashAlgorithm:r.hashAlgorithm,loglevel:r.loglevel})).apply(t);break}case"pack":{const e=n(6620);const i=n(3793);new e(new i({fs:t.intermediateFileSystem,cacheLocation:r.cacheLocation,version:r.version,loglevel:r.loglevel})).apply(t);break}}break}default:throw new Error(`Unknown cache type ${e.cache.type}`)}}(new E).apply(t);t.hooks.afterPlugins.call(t);if(!t.inputFileSystem){throw new Error("No input filesystem provided")}t.resolverFactory.hooks.resolveOptions.for("normal").tap("WebpackOptionsApply",n=>{return{fileSystem:t.inputFileSystem,...R(e.resolve,n)}});t.resolverFactory.hooks.resolveOptions.for("context").tap("WebpackOptionsApply",n=>{return{fileSystem:t.inputFileSystem,resolveToContext:true,...R(e.resolve,n)}});t.resolverFactory.hooks.resolveOptions.for("loader").tap("WebpackOptionsApply",n=>{return{fileSystem:t.inputFileSystem,...R(e.resolveLoader,n)}});t.hooks.afterResolvers.call(t);return e}}e.exports=WebpackOptionsApply},1727:function(e,t,n){"use strict";const r=n(5427);const i=n(1058);const s=n(9891);const o=n(616);const{evaluateToString:a,toConstantDependency:u}=n(2912);class RequireEnsurePlugin{apply(e){e.hooks.compilation.tap("RequireEnsurePlugin",(e,{normalModuleFactory:t})=>{e.dependencyFactories.set(i,t);e.dependencyTemplates.set(i,new i.Template);e.dependencyFactories.set(r,new s);e.dependencyTemplates.set(r,new r.Template);const n=(e,t)=>{if(t.requireEnsure!==undefined&&!t.requireEnsure)return;(new o).apply(e);e.hooks.evaluateTypeof.for("require.ensure").tap("RequireEnsurePlugin",a("function"));e.hooks.typeof.for("require.ensure").tap("RequireEnsurePlugin",u(e,JSON.stringify("function")))};t.hooks.parser.for("javascript/auto").tap("RequireEnsurePlugin",n);t.hooks.parser.for("javascript/dynamic").tap("RequireEnsurePlugin",n)})}}e.exports=RequireEnsurePlugin},1740:function(e,t,n){var r=n(1983);function generatedPositionAfter(e,t){var n=e.generatedLine;var i=t.generatedLine;var s=e.generatedColumn;var o=t.generatedColumn;return i>n||i==n&&o>=s||r.compareByGeneratedPositionsInflated(e,t)<=0}function MappingList(){this._array=[];this._sorted=true;this._last={generatedLine:-1,generatedColumn:0}}MappingList.prototype.unsortedForEach=function MappingList_forEach(e,t){this._array.forEach(e,t)};MappingList.prototype.add=function MappingList_add(e){if(generatedPositionAfter(this._last,e)){this._last=e;this._array.push(e)}else{this._sorted=false;this._array.push(e)}};MappingList.prototype.toArray=function MappingList_toArray(){if(!this._sorted){this._array.sort(r.compareByGeneratedPositionsInflated);this._sorted=true}return this._array};t.MappingList=MappingList},1744:function(e,t,n){"use strict";const r=n(6150);const i=n(8159);const s=n(9851);class DefinePropertyGetterRuntimeModule extends s{constructor(){super("define property getter")}generate(){const e=r.definePropertyGetter;return i.asString(["// define getter function for harmony exports","var hasOwnProperty = Object.prototype.hasOwnProperty;",`${e} = function(exports, name, getter) {`,i.indent([`if(!hasOwnProperty.call(exports, name)) {`,i.indent(["Object.defineProperty(exports, name, { enumerable: true, get: getter });"]),"}"]),"};"])}}e.exports=DefinePropertyGetterRuntimeModule},1762:function(e,t,n){"use strict";const r=(e,t,n)=>e===1?t:n;const i=(e,{formatSize:t})=>{const n=Object.keys(e);if(n.length>1){return n.map(n=>`${t(e[n])} (${n})`).join(" ")}else if(n.length===1){return t(e[n[0]])}};const s=e=>{return typeof e==="number"||e};const o={"compilation.hash":(e,{bold:t,type:n})=>n==="compilation.hash"?`Hash: ${t(e)}`:undefined,"compilation.version":(e,{bold:t,type:n})=>n==="compilation.version"?`Version: webpack ${t(e)}`:undefined,"compilation.time":(e,{bold:t})=>`Time: ${t(e)}ms`,"compilation.builtAt":(e,{bold:t})=>{const n=new Date(e);return`Built at: ${n.toLocaleDateString(undefined,{day:"2-digit",month:"2-digit",year:"numeric"})} ${t(n.toLocaleTimeString())}`},"compilation.env":(e,{bold:t})=>e?`Environment (--env): ${t(JSON.stringify(e,null,2))}`:undefined,"compilation.publicPath":(e,{bold:t})=>`PublicPath: ${t(e||"(none)")}`,"compilation.entrypoints":(e,t,n)=>Array.isArray(e)?undefined:n.print(t.type,Object.values(e),{...t,chunkGroupKind:"Entrypoint"}),"compilation.namedChunkGroups":(e,t,n)=>{if(!Array.isArray(e)){const{compilation:{entrypoints:r}}=t;let i=Object.values(e);if(r){i=i.filter(e=>!Object.prototype.hasOwnProperty.call(r,e.name))}return n.print(t.type,i,{...t,chunkGroupKind:"Chunk Group"})}},"compilation.assetsByChunkName":()=>"","compilation.modules":(e,t)=>{let n=0;for(const t of e){if(typeof t.id==="number"){if(ne>0?` ${t&&t.length>0?` + ${e} hidden`:e} ${r(e,"module","modules")}`:undefined,"compilation.filteredAssets":(e,{compilation:{assets:t}})=>e>0?`${t&&t.length>0?` + ${e} hidden`:e} ${r(e,"asset","assets")}`:undefined,"compilation.children[].compilation.name":e=>e?`Child ${e}:`:"Child","asset.name":(e,{formatFilename:t,asset:{isOverSizeLimit:n}})=>t(e,n),"asset.size":(e,{asset:{isOverSizeLimit:t},yellow:n,green:r,formatSize:i})=>t?n(i(e)):i(e),"asset.emitted":(e,{green:t,formatFlag:n})=>e?t(n("emitted")):undefined,"asset.isOverSizeLimit":(e,{yellow:t,formatFlag:n})=>e?t(n("big")):undefined,assetChunk:(e,{formatChunkId:t})=>t(e),assetChunkName:e=>e,"module.id":(e,{formatModuleId:t})=>s(e)?t(e):undefined,"module.name":(e,{bold:t})=>t(e),"module.identifier":e=>e,"module.sizes":i,"module.chunks[]":(e,{formatChunkId:t})=>t(e),"module.depth":(e,{formatFlag:t})=>e!==null?t(`depth ${e}`):undefined,"module.cacheable":(e,{formatFlag:t,red:n})=>e===false?n(t("not cacheable")):undefined,"module.orphan":(e,{formatFlag:t,yellow:n})=>e?n(t("orphan")):undefined,"module.runtime":(e,{formatFlag:t,yellow:n})=>e?n(t("runtime")):undefined,"module.optional":(e,{formatFlag:t,yellow:n})=>e?n(t("optional")):undefined,"module.built":(e,{formatFlag:t,green:n})=>e?n(t("built")):undefined,"module.assets":(e,{formatFlag:t,magenta:n})=>e&&e.length?n(t(`${e.length} ${r(e.length,"asset","assets")}`)):undefined,"module.failed":(e,{formatFlag:t,red:n})=>e?n(t("failed")):undefined,"module.warnings":(e,{formatFlag:t,yellow:n})=>e?n(t(`${e} ${r(e,"warning","warnings")}`)):undefined,"module.errors":(e,{formatFlag:t,red:n})=>e?n(t(`${e} ${r(e,"error","errors")}`)):undefined,"module.providedExports":(e,{formatFlag:t,cyan:n})=>{if(Array.isArray(e)){if(e.length===0)return n(t("no exports"));return n(t(`exports: ${e.join(", ")}`))}},"module.usedExports":(e,{formatFlag:t,cyan:n,module:r})=>{if(e!==true){if(e===null)return n(t("used exports unknown"));if(e===false)return n(t("module unused"));if(Array.isArray(e)){if(e.length===0)return n(t("no exports used"));const i=Array.isArray(r.providedExports)?r.providedExports.length:null;if(i!==null&&i===r.usedExports.length){return n(t("all exports used"))}else{return n(t(`only some exports used: ${e.join(", ")}`))}}}},"module.optimizationBailout[]":(e,{yellow:t})=>t(e),"module.issuerPath":(e,{module:t})=>t.profile?undefined:"","module.profile":e=>undefined,"module.modules":(e,t)=>{let n=0;for(const t of e){if(typeof t.id==="number"){if(ne>0?` ${t&&t.length>0?` + ${e} hidden`:e} nested ${r(e,"module","modules")}`:undefined,"module.separator!":()=>"\n","moduleIssuer.id":(e,{formatModuleId:t})=>t(e),"moduleIssuer.profile.total":(e,{formatTime:t})=>t(e),"moduleReason.type":e=>e,"moduleReason.userRequest":(e,{cyan:t})=>t(e),"moduleReason.moduleId":(e,{formatModuleId:t})=>e!==null?t(e):undefined,"moduleReason.module":(e,{magenta:t})=>t(e),"moduleReason.loc":e=>e,"moduleReason.explanation":(e,{cyan:t})=>t(e),"moduleReason.resolvedModule":(e,{magenta:t})=>t(e),"module.profile.total":(e,{formatTime:t})=>t(e),"module.profile.resolving":(e,{formatTime:t})=>`resolving: ${t(e)}`,"module.profile.restoring":(e,{formatTime:t})=>`restoring: ${t(e)}`,"module.profile.integration":(e,{formatTime:t})=>`integration: ${t(e)}`,"module.profile.building":(e,{formatTime:t})=>`building: ${t(e)}`,"module.profile.storing":(e,{formatTime:t})=>`storing: ${t(e)}`,"module.profile.additionalResolving":(e,{formatTime:t})=>e?`additional resolving: ${t(e)}`:undefined,"module.profile.additionalIntegration":(e,{formatTime:t})=>e?`additional integration: ${t(e)}`:undefined,"chunkGroup.kind!":(e,{chunkGroupKind:t})=>t,"chunkGroup.name":(e,{bold:t})=>t(e),"chunkGroup.isOverSizeLimit":(e,{formatFlag:t,yellow:n})=>e?n(t("big")):undefined,"chunkGroup.separator!":()=>"=","chunkGroup.assets[]":(e,{green:t})=>t(e),"chunkGroup.childAssets":(e,t,n)=>Array.isArray(e)?undefined:n.print(t.type,Object.keys(e).map(t=>({type:t,children:e[t]})),t),"chunkGroup.childAssets[].type":e=>`${e}:`,"chunkGroup.childAssets[].children[]":(e,{formatFilename:t})=>t(e),"chunk.id":(e,{formatChunkId:t})=>t(e),"chunk.files[]":(e,{formatFilename:t})=>t(e),"chunk.names[]":e=>e,"chunk.sizes":(e,t)=>i(e,t),"chunk.parents[]":(e,t)=>t.formatChunkId(e,"parent"),"chunk.siblings[]":(e,t)=>t.formatChunkId(e,"sibling"),"chunk.children[]":(e,t)=>t.formatChunkId(e,"child"),"chunk.childrenByOrder":(e,t,n)=>Array.isArray(e)?undefined:n.print(t.type,Object.keys(e).map(t=>({type:t,children:e[t]})),t),"chunk.childrenByOrder[].type":e=>`${e}:`,"chunk.childrenByOrder[].children[]":(e,{formatChunkId:t})=>s(e)?t(e):undefined,"chunk.entry":(e,{formatFlag:t,yellow:n})=>e?n(t("entry")):undefined,"chunk.initial":(e,{formatFlag:t,yellow:n})=>e?n(t("initial")):undefined,"chunk.rendered":(e,{formatFlag:t,green:n})=>e?n(t("rendered")):undefined,"chunk.recorded":(e,{formatFlag:t,green:n})=>e?n(t("recorded")):undefined,"chunk.reason":(e,{yellow:t})=>e?t(e):undefined,"chunk.rootModules":(e,t)=>{let n=0;for(const t of e){if(typeof t.id==="number"){if(ne>0?` ${t&&t.length>0?` + ${e} hidden`:e} root ${r(e,"module","modules")}`:undefined,"chunk.nonRootModules":(e,{chunk:{filteredRootModules:t,rootModules:n}})=>e>0?` ${n&&n.length>0||t>0?` + ${e} hidden`:e} dependent ${r(e,"module","modules")}`:undefined,"chunk.modules":(e,t)=>{let n=0;for(const t of e){if(typeof t.id==="number"){if(ne>0?` ${t&&t.length>0?` + ${e} hidden`:e} chunk ${r(e,"module","modules")}`:undefined,"chunk.separator!":()=>"\n","chunkOrigin.request":e=>e,"chunkOrigin.moduleId":(e,{formatModuleId:t})=>e!==null&&e!==undefined?t(e):undefined,"chunkOrigin.moduleName":(e,{bold:t})=>t(e),"chunkOrigin.loc":e=>e,"error.compilerPath":(e,{bold:t})=>e?t(`(${e})`):undefined,"error.chunkId":(e,{formatChunkId:t})=>s(e)?t(e):undefined,"error.chunkEntry":(e,{formatFlag:t})=>e?t("entry"):undefined,"error.chunkInitial":(e,{formatFlag:t})=>e?t("initial"):undefined,"error.file":(e,{bold:t})=>t(e),"error.moduleName":(e,{bold:t})=>{return e.includes("!")?`${t(e.replace(/^(\s|\S)*!/,""))} (${e})`:`${t(e)}`},"error.loc":(e,{green:t})=>t(e),"error.message":(e,{bold:t})=>t(e),"error.details":e=>e,"error.stack":e=>e,"error.missing[]":e=>`[${e}]`,"error.moduleTrace":e=>undefined,"error.separator!":()=>"\n","moduleTraceItem.originName":e=>e,"moduleTraceDependency.loc":e=>e};const a={"compilation.assets[]":"asset","compilation.modules[]":"module","compilation.chunks[]":"chunk","compilation.entrypoints[]":"chunkGroup","compilation.namedChunkGroups[]":"chunkGroup","compilation.errors[]":"error","compilation.warnings[]":"error","compilation.children[]":"compilation","asset.chunks[]":"assetChunk","asset.chunkNames[]":"assetChunkName","module.modules[]":"module","module.reasons[]":"moduleReason","module.issuerPath[]":"moduleIssuer","chunk.origins[]":"chunkOrigin","chunk.rootModules[]":"module","chunk.modules[]":"module","error.moduleTrace[]":"moduleTraceItem","moduleTraceItem.dependencies[]":"moduleTraceDependency"};const u=["compilerPath","chunkId","chunkEntry","chunkInitial","file","separator!","moduleName","loc","separator!","message","details","stack","separator!","missing","separator!","moduleTrace"];const c={compilation:["name","hash","version","time","builtAt","env","publicPath","assets","filteredAssets","entrypoints","namedChunkGroups","chunks","modules","filteredModules","warnings","errors","children","needAdditionalPass"],asset:["name","size","chunks","emitted","isOverSizeLimit","chunkNames"],chunkGroup:["kind!","name","isOverSizeLimit","separator!","assets","childAssets"],module:["id","name","identifier","sizes","chunks","depth","cacheable","orphan","runtime","optional","built","assets","failed","warnings","errors","separator!","providedExports","separator!","usedExports","separator!","optimizationBailout","separator!","reasons","separator!","issuerPath","profile","separator!","modules"],moduleReason:["type","userRequest","moduleId","module","resolvedModule","loc","explanation"],"module.profile":["total","separator!","resolving","restoring","integration","building","storing","additionalResolving","additionalIntegration"],chunk:["id","files","names","sizes","parents","siblings","children","childrenByOrder","entry","initial","rendered","recorded","reason","separator!","origins","separator!","rootModules","separator!","filteredRootModules","separator!","nonRootModules","separator!","modules","separator!","filteredModules"],chunkOrigin:["request","moduleId","moduleName","loc"],error:u,warning:u,"chunk.childrenByOrder[]":["type","children"],"chunkGroup.childAssets[]":["type","children"]};const l=e=>e.filter(Boolean).join(" ");const f=e=>e.filter(Boolean).join("\n\n");const d=e=>e.filter(Boolean).join(", ");const p=e=>e.length>0?`(${e.filter(Boolean).join(", ")})`:undefined;const h={"chunk.parents":l,"chunk.siblings":l,"chunk.children":l,"chunk.names":p,"chunk.files":d,"chunk.childrenByOrder":l,"chunk.childrenByOrder[].children":l,"chunkGroup.assets":l,"chunkGroup.childAssets":l,"chunkGroup.childAssets[].children":l,"asset.chunks":d,"asset.chunkNames":d,"module.chunks":l,"module.issuerPath":e=>e.filter(Boolean).map(e=>`${e} ->`).join(" "),"compilation.errors":f,"compilation.warnings":f,"moduleTraceItem.dependencies":l,"compilation.children":e=>e.map(e=>y(e," ",true)).join("\n")};const m=e=>e.map(e=>e.content).filter(Boolean).join(" ");const g=e=>{const t=[];let n=0;for(const r of e){if(r.element==="separator!"){switch(n){case 0:case 1:n+=2;break;case 4:t.push(")");n=3;break}}if(!r.content)continue;switch(n){case 0:n=1;break;case 1:t.push(" ");break;case 2:t.push("(");n=4;break;case 3:t.push(" (");n=4;break;case 4:t.push(", ");break}t.push(r.content)}if(n===4)t.push(")");return t.join("")};const y=(e,t,n)=>{const r=e.replace(/\n([^\n])/g,"\n"+t+"$1");if(n)return r;const i=e[0]==="\n"?"":t;return i+r};const v=(e,t)=>{let n=true;return e.map(e=>{if(!e.content)return;let r=y(e.content,t,!n);if(n){r=r.replace(/^\n+/,"")}if(!r)return;const i=n||r.startsWith("\n");n=r.endsWith("\n");return i?r:" "+r}).filter(Boolean).join("").trim()};const b=e=>(t,{red:n,yellow:r})=>`${e?n("ERROR"):r("WARNING")} in ${v(t,"")}`;const w={compilation:e=>{const t=[];let n=false;for(const r of e){if(!r.content)continue;const e=r.element==="warnings"||r.element==="errors";if(t.length!==0){t.push(e||n?"\n\n":"\n")}t.push(r.content);n=e}if(n)t.push("\n");return t.join("")},module:(e,{module:t,maxModuleId:n})=>{let r=false;let i=" ";if(n>=10)i+=" ";if(n>=100)i+=" ";if(n>=1e3)i+=" ";let s="";if(typeof t.id==="number"){if(t.id<1e3&&n>=1e3)s+=" ";if(t.id<100&&n>=100)s+=" ";if(t.id<10&&n>=10)s+=" "}else if(typeof t.id==="string"&&t.id!==""){if(n>=1e3)s+=" ";if(n>=100)s+=" ";if(n>=10)s+=" "}return s+v(e.filter(e=>{switch(e.element){case"id":if(t.id===t.name&&e.content)r=true;break;case"name":case"identifier":if(r)return false;if(e.content)r=true;break}return true}),i)},chunk:e=>{let t=false;return"chunk "+v(e.filter(e=>{switch(e.element){case"entry":if(e.content)t=true;break;case"initial":if(t)return false;break}return true})," ")},"chunk.childrenByOrder[]":e=>`(${m(e)})`,chunkGroup:m,"chunkGroup.childAssets[]":e=>`(${m(e)})`,moduleReason:(e,{moduleReason:t})=>{let n=false;return m(e.filter(e=>{switch(e.element){case"moduleId":if(t.moduleId===t.module&&e.content)n=true;break;case"module":if(n)return false;break;case"resolvedModule":return t.module!==t.resolvedModule&&e.content}return true}))},"module.profile":g,moduleIssuer:m,chunkOrigin:e=>" > "+m(e),"errors[].error":b(true),"warnings[].error":b(false),moduleTraceItem:e=>" @ "+m(e),moduleTraceDependency:m};const E={bold:"",yellow:"",red:"",green:"",cyan:"",magenta:""};const _={formatChunkId:(e,{yellow:t},n)=>{switch(n){case"parent":return`<{${t(e)}}>`;case"sibling":return`={${t(e)}}=`;case"child":return`>{${t(e)}}<`;default:return`{${t(e)}}`}},formatModuleId:e=>`[${e}]`,formatFilename:(e,{green:t,yellow:n},r)=>(r?n:t)(e),formatFlag:e=>`[${e}]`,formatSize:n(9192).formatSize,formatTime:(e,{timeReference:t,bold:n,green:r,yellow:i,red:s})=>{if(t&&e!==t){const o=[t/2,t/4,t/8,t/16];if(e{return y(e,"| ")}};const k=(e,t)=>{const n=e.slice();const r=new Set(e);const i=new Set;e.length=0;for(const n of t){if(n.endsWith("!")||r.has(n)){e.push(n);i.add(n)}}for(const t of n){if(!i.has(t)){e.push(t)}}return e};const C=e=>e.replace(/\u001b\[\d+m/g,"");const D=(e,t,n)=>{const r=e.length;const i=e[0].length;const s=new Array(i);for(let e=0;es[n]){s[n]=r.length}}}const o=[];for(let a=0;a{e.hooks.statsPrinter.tap("DefaultStatsPrinterPlugin",(e,t,n)=>{e.hooks.print.for("compilation").tap("DefaultStatsPrinterPlugin",(e,n)=>{for(const e of Object.keys(E)){let r;if(t.colors){if(typeof t.colors==="object"&&typeof t.colors[e]==="string"){r=t.colors[e]}else{r=E[e]}}if(r){n[e]=(e=>`${r}${e}`)}else{n[e]=(e=>e)}}for(const e of Object.keys(_)){n[e]=((t,...r)=>_[e](t,n,...r))}n.timeReference=e.time});for(const t of Object.keys(o)){e.hooks.print.for(t).tap("DefaultStatsPrinterPlugin",(n,r)=>o[t](n,r,e))}for(const t of Object.keys(c)){const n=c[t];e.hooks.sortElements.for(t).tap("DefaultStatsPrinterPlugin",(e,t)=>{k(e,n)})}for(const t of Object.keys(a)){const n=a[t];e.hooks.getItemName.for(t).tap("DefaultStatsPrinterPlugin",()=>n)}for(const t of Object.keys(h)){const n=h[t];e.hooks.printItems.for(t).tap("DefaultStatsPrinterPlugin",n)}for(const t of Object.keys(w)){const n=w[t];e.hooks.printElements.for(t).tap("DefaultStatsPrinterPlugin",n)}for(const t of Object.keys(S)){const n=S[t];e.hooks.result.for(t).tap("DefaultStatsPrinterPlugin",n)}e.hooks.printElements.for("compilation.assets[].asset").tap("DefaultStatsPrinterPlugin",(e,{bold:t})=>{const n=e.reduce((e,t)=>(e[t.element]=t.content,e),Object.create(null));return[n.name||"",n.size||"",n.chunks||"",n.emitted||"",n.isOverSizeLimit||"",n.chunkNames||""]});e.hooks.printItems.for("compilation.assets").tap("DefaultStatsPrinterPlugin",(e,{bold:t})=>{if(e.length===0)return undefined;let n=["Asset","Size","Chunks","","","Chunk Names"];n=n.map(e=>e?t(e):e);return D([n].concat(e),"rrrlll")})})})}}e.exports=DefaultStatsPrinterPlugin},1764:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:true});t.isAnonymous=isAnonymous;t.getSectionMetadata=getSectionMetadata;t.getSectionMetadatas=getSectionMetadatas;t.sortSectionMetadata=sortSectionMetadata;t.orderedInsertNode=orderedInsertNode;t.assertHasLoc=assertHasLoc;t.getEndOfSection=getEndOfSection;t.shiftLoc=shiftLoc;t.shiftSection=shiftSection;t.signatureForOpcode=signatureForOpcode;t.getUniqueNameGenerator=getUniqueNameGenerator;t.getStartByteOffset=getStartByteOffset;t.getEndByteOffset=getEndByteOffset;t.getFunctionBeginingByteOffset=getFunctionBeginingByteOffset;t.getEndBlockByteOffset=getEndBlockByteOffset;t.getStartBlockByteOffset=getStartBlockByteOffset;var r=n(5769);var i=n(2056);var s=_interopRequireWildcard(n(3930));function _interopRequireWildcard(e){if(e&&e.__esModule){return e}else{var t={};if(e!=null){for(var n in e){if(Object.prototype.hasOwnProperty.call(e,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,n):{};if(r.get||r.set){Object.defineProperty(t,n,r)}else{t[n]=e[n]}}}}t.default=e;return t}}function _sliceIterator(e,t){var n=[];var r=true;var i=false;var s=undefined;try{for(var o=e[Symbol.iterator](),a;!(r=(a=o.next()).done);r=true){n.push(a.value);if(t&&n.length===t)break}}catch(e){i=true;s=e}finally{try{if(!r&&o["return"]!=null)o["return"]()}finally{if(i)throw s}}return n}function _slicedToArray(e,t){if(Array.isArray(e)){return e}else if(Symbol.iterator in Object(e)){return _sliceIterator(e,t)}else{throw new TypeError("Invalid attempt to destructure non-iterable instance")}}function _typeof(e){if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(e){return typeof e}}else{_typeof=function _typeof(e){return e&&typeof Symbol==="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e}}return _typeof(e)}function isAnonymous(e){return e.raw===""}function getSectionMetadata(e,t){var n;(0,i.traverse)(e,{SectionMetadata:function(e){function SectionMetadata(t){return e.apply(this,arguments)}SectionMetadata.toString=function(){return e.toString()};return SectionMetadata}(function(e){var r=e.node;if(r.section===t){n=r}})});return n}function getSectionMetadatas(e,t){var n=[];(0,i.traverse)(e,{SectionMetadata:function(e){function SectionMetadata(t){return e.apply(this,arguments)}SectionMetadata.toString=function(){return e.toString()};return SectionMetadata}(function(e){var r=e.node;if(r.section===t){n.push(r)}})});return n}function sortSectionMetadata(e){if(e.metadata==null){console.warn("sortSectionMetadata: no metadata to sort");return}e.metadata.sections.sort(function(e,t){var n=s.default.sections[e.section];var r=s.default.sections[t.section];if(typeof n!=="number"||typeof r!=="number"){throw new Error("Section id not found")}return n-r})}function orderedInsertNode(e,t){assertHasLoc(t);var n=false;if(t.type==="ModuleExport"){e.fields.push(t);return}e.fields=e.fields.reduce(function(e,r){var i=Infinity;if(r.loc!=null){i=r.loc.end.column}if(n===false&&t.loc.start.column0&&arguments[0]!==undefined?arguments[0]:"temp";if(!(t in e)){e[t]=0}else{e[t]=e[t]+1}return t+"_"+e[t]}}function getStartByteOffset(e){if(typeof e.loc==="undefined"||typeof e.loc.start==="undefined"){throw new Error("Can not get byte offset without loc informations, node: "+String(e.id))}return e.loc.start.column}function getEndByteOffset(e){if(typeof e.loc==="undefined"||typeof e.loc.end==="undefined"){throw new Error("Can not get byte offset without loc informations, node: "+e.type)}return e.loc.end.column}function getFunctionBeginingByteOffset(e){if(!(e.body.length>0)){throw new Error("n.body.length > 0"+" error: "+(undefined||"unknown"))}var t=_slicedToArray(e.body,1),n=t[0];return getStartByteOffset(n)}function getEndBlockByteOffset(e){if(!(e.instr.length>0||e.body.length>0)){throw new Error("n.instr.length > 0 || n.body.length > 0"+" error: "+(undefined||"unknown"))}var t;if(e.instr){t=e.instr[e.instr.length-1]}if(e.body){t=e.body[e.body.length-1]}if(!(_typeof(t)==="object")){throw new Error('typeof lastInstruction === "object"'+" error: "+(undefined||"unknown"))}return getStartByteOffset(t)}function getStartBlockByteOffset(e){if(!(e.instr.length>0||e.body.length>0)){throw new Error("n.instr.length > 0 || n.body.length > 0"+" error: "+(undefined||"unknown"))}var t;if(e.instr){var n=_slicedToArray(e.instr,1);t=n[0]}if(e.body){var r=_slicedToArray(e.body,1);t=r[0]}if(!(_typeof(t)==="object")){throw new Error('typeof fistInstruction === "object"'+" error: "+(undefined||"unknown"))}return getStartByteOffset(t)}},1772:function(e,t,n){"use strict";const{evaluateToIdentifier:r,expressionIsUnsupported:i,toConstantDependency:s}=n(2912);const o=n(6150);const a=n(6804);const u=n(8159);const c=n(2706);class CommonJsStuffPlugin{apply(e){e.hooks.compilation.tap("CommonJsStuffPlugin",(e,{normalModuleFactory:t})=>{e.dependencyFactories.set(c,t);e.dependencyTemplates.set(c,new c.Template);e.hooks.runtimeRequirementInModule.for(o.harmonyModuleDecorator).tap("CommonJsStuffPlugin",(e,t)=>{t.add(o.module);t.add(o.require)});e.hooks.runtimeRequirementInModule.for(o.nodeModuleDecorator).tap("CommonJsStuffPlugin",(e,t)=>{t.add(o.module);t.add(o.require)});e.hooks.runtimeRequirementInTree.for(o.harmonyModuleDecorator).tap("CommonJsStuffPlugin",(t,n)=>{e.addRuntimeModule(t,new HarmonyModuleDecoratorRuntimeModule)});e.hooks.runtimeRequirementInTree.for(o.nodeModuleDecorator).tap("CommonJsStuffPlugin",(t,n)=>{e.addRuntimeModule(t,new NodeModuleDecoratorRuntimeModule)});const n=(e,t)=>{e.hooks.expression.for("require.main.require").tap("CommonJsStuffPlugin",i(e,"require.main.require is not supported by webpack."));e.hooks.expression.for("module.parent.require").tap("CommonJsStuffPlugin",i(e,"module.parent.require is not supported by webpack."));e.hooks.expression.for("require.main").tap("CommonJsStuffPlugin",s(e,`${o.moduleCache}[${o.entryModuleId}]`,[o.moduleCache,o.entryModuleId]));e.hooks.expression.for("module.loaded").tap("CommonJsStuffPlugin",t=>{e.state.module.buildMeta.moduleConcatenationBailout="module.loaded";return s(e,`${o.module}.l`,[o.module])(t)});e.hooks.expression.for("module.id").tap("CommonJsStuffPlugin",t=>{e.state.module.buildMeta.moduleConcatenationBailout="module.id";return s(e,`${o.module}.i`,[o.module])(t)});e.hooks.expression.for("module.exports").tap("CommonJsStuffPlugin",t=>{const n=e.state.module;const r=n.buildMeta&&n.buildMeta.exportsType;if(!r){return s(e,`${o.module}.exports`,[o.module])(t)}});e.hooks.evaluateIdentifier.for("module.hot").tap("CommonJsStuffPlugin",r("module.hot",false));e.hooks.expression.for("module").tap("CommonJsStuffPlugin",t=>{const n=e.state.module.buildMeta&&e.state.module.buildMeta.exportsType;const r=new c(n?o.harmonyModuleDecorator:o.nodeModuleDecorator);r.loc=t.loc;e.state.module.addDependency(r);return true})};t.hooks.parser.for("javascript/auto").tap("CommonJsStuffPlugin",n);t.hooks.parser.for("javascript/dynamic").tap("CommonJsStuffPlugin",n)})}}class HarmonyModuleDecoratorRuntimeModule extends a{constructor(){super("harmony module decorator")}generate(){return u.asString([`${o.harmonyModuleDecorator} = function(module) {`,u.indent(["module = Object.create(module);","if (!module.children) module.children = [];","Object.defineProperty(module, 'loaded', {",u.indent(["enumerable: true,","get: function () { return module.l; }"]),"});","Object.defineProperty(module, 'id', {",u.indent(["enumerable: true,","get: function () { return module.i; }"]),"});","Object.defineProperty(module, 'exports', {",u.indent(["enumerable: true,","set: function () {",u.indent(["throw new Error('ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: ' + module.id);"]),"}"]),"});","return module;"]),"};"])}}class NodeModuleDecoratorRuntimeModule extends a{constructor(){super("node module decorator")}generate(){return u.asString([`${o.nodeModuleDecorator} = function(module) {`,u.indent(["module.paths = [];","if (!module.children) module.children = [];","Object.defineProperty(module, 'loaded', {",u.indent(["enumerable: true,","get: function() { return module.l; }"]),"});","Object.defineProperty(module, 'id', {",u.indent(["enumerable: true,","get: function() { return module.i; }"]),"});","return module;"]),"};"])}}e.exports=CommonJsStuffPlugin},1779:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:true});t.alloc=alloc;t.free=free;t.resize=resize;t.readInt=readInt;t.readUInt=readUInt;t.writeInt64=writeInt64;t.writeUInt64=writeUInt64;var n=[];var r=20;var i=-0x8000000000000000;var s=0x7ffffffffffffc00;var o=0xfffffffffffff800;var a=4294967296;var u=0x10000000000000000;function lowestBit(e){return e&-e}function isLossyToAdd(e,t){if(t===0){return false}var n=lowestBit(t);var r=e+n;if(r===e){return true}if(r-n!==e){return true}return false}function alloc(e){var t=n[e];if(t){n[e]=undefined}else{t=new Buffer(e)}t.fill(0);return t}function free(e){var t=e.length;if(t=0;s--){r=r*256+e[s]}}else{for(var o=t-1;o>=0;o--){var a=e[o];r*=256;if(isLossyToAdd(r,a)){i=true}r+=a}}return{value:r,lossy:i}}function readUInt(e){var t=e.length;var n=0;var r=false;if(t<7){for(var i=t-1;i>=0;i--){n=n*256+e[i]}}else{for(var s=t-1;s>=0;s--){var o=e[s];n*=256;if(isLossyToAdd(n,o)){r=true}n+=o}}return{value:n,lossy:r}}function writeInt64(e,t){if(es){throw new Error("Value out of range.")}if(e<0){e+=u}writeUInt64(e,t)}function writeUInt64(e,t){if(e<0||e>o){throw new Error("Value out of range.")}var n=e%a;var r=Math.floor(e/a);t.writeUInt32LE(n,0);t.writeUInt32LE(r,4)}},1801:function(e,t,n){"use strict";const r=n(8221);const i=n(6202);class ImportDependenciesBlock extends r{constructor(e,t,n,r){super(e,t,n);this.range=r}serialize(e){const{write:t}=e;t(this.range);super.serialize(e)}deserialize(e){const{read:t}=e;this.range=t();super.deserialize(e)}}i(ImportDependenciesBlock,"webpack/lib/dependencies/ImportDependenciesBlock");e.exports=ImportDependenciesBlock},1809:function(e,t,n){"use strict";const r=n(6202);const i=n(9983);const s=n(791);class ModuleHotAcceptDependency extends i{constructor(e,t){super(e);this.range=t;this.weak=true}get type(){return"module.hot.accept"}serialize(e){const{write:t}=e;t(this.range);t(this.weak);super.serialize(e)}deserialize(e){const{read:t}=e;this.range=t();this.weak=t();super.deserialize(e)}}r(ModuleHotAcceptDependency,"webpack/lib/dependencies/ModuleHotAcceptDependency");ModuleHotAcceptDependency.Template=s;e.exports=ModuleHotAcceptDependency},1819:function(e,t,n){"use strict";const r=n(7960).ResolverFactory;const{HookMap:i,SyncHook:s,SyncWaterfallHook:o}=n(2960);const{cachedCleverMerge:a}=n(149);e.exports=class ResolverFactory{constructor(){this.hooks=Object.freeze({resolveOptions:new i(()=>new o(["resolveOptions"])),resolver:new i(()=>new s(["resolver","resolveOptions"]))});this.cache=new Map}get(e,t){let n=this.cache.get(e);if(!n){n={direct:new WeakMap,stringified:new Map};this.cache.set(e,n)}const r=n.direct.get(t);if(r){return r}const i=JSON.stringify(t);const s=n.stringified.get(i);if(s){n.direct.set(t,s);return s}const o=this._create(e,t);n.direct.set(t,o);n.stringified.set(i,o);return o}_create(e,t){const n={...t};t=this.hooks.resolveOptions.for(e).call(t);const i=r.createResolver(t);if(!i){throw new Error("No resolver created")}const s=new Map;i.withOptions=(t=>{const r=s.get(t);if(r!==undefined)return r;const i=a(n,t);const o=this.get(e,i);s.set(t,o);return o});this.hooks.resolver.for(e).call(i,t);return i}}},1835:function(e){"use strict";var t={};var n={timestamp:function(){return Date.now()},datetime:function(){return(new Date).toISOString()},date:function(){return(new Date).toISOString().slice(0,10)},time:function(){return(new Date).toISOString().slice(11)},random:function(){return Math.random()},randomint:function(e){var t=e&&e.max||2;return function(){return Math.floor(Math.random()*t)}},seq:function(e){var n=e&&e.name||"";t[n]=t[n]||0;return function(){return t[n]++}}};e.exports=function defFunc(e){defFunc.definition={compile:function(e,t,n){var r={};for(var i in e){var s=e[i];var o=getDefault(typeof s=="string"?s:s.func);r[i]=o.length?o(s.args):o}return n.opts.useDefaults&&!n.compositeRule?assignDefaults:noop;function assignDefaults(t){for(var n in e)if(t[n]===undefined)t[n]=r[n]();return true}function noop(){return true}},DEFAULTS:n,metaSchema:{type:"object",additionalProperties:{type:["string","object"],additionalProperties:false,required:["func","args"],properties:{func:{type:"string"},args:{type:"object"}}}}};e.addKeyword("dynamicDefaults",defFunc.definition);return e;function getDefault(e){var t=n[e];if(t)return t;throw new Error('invalid "dynamicDefaults" keyword property value: '+e)}}},1876:function(e,t,n){var r=n(6481);var i=n(2599);var s=n(5747);var o=function(){};var a=/^v?\.0/.test(process.version);var u=function(e){return typeof e==="function"};var c=function(e){if(!a)return false;if(!s)return false;return(e instanceof(s.ReadStream||o)||e instanceof(s.WriteStream||o))&&u(e.close)};var l=function(e){return e.setHeader&&u(e.abort)};var f=function(e,t,n,s){s=r(s);var a=false;e.on("close",function(){a=true});i(e,{readable:t,writable:n},function(e){if(e)return s(e);a=true;s()});var f=false;return function(t){if(a)return;if(f)return;f=true;if(c(e))return e.close(o);if(l(e))return e.abort();if(u(e.destroy))return e.destroy();s(t||new Error("stream was destroyed"))}};var d=function(e){e()};var p=function(e,t){return e.pipe(t)};var h=function(){var e=Array.prototype.slice.call(arguments);var t=u(e[e.length-1]||o)&&e.pop()||o;if(Array.isArray(e[0]))e=e[0];if(e.length<2)throw new Error("pump requires two streams per minimum");var n;var r=e.map(function(i,s){var o=s0;return f(i,o,a,function(e){if(!n)n=e;if(e)r.forEach(d);if(o)return;r.forEach(d);t(n)})});e.reduce(p)};e.exports=h},1891:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:true});t.numberLiteralFromRaw=numberLiteralFromRaw;t.instruction=instruction;t.objectInstruction=objectInstruction;t.withLoc=withLoc;t.withRaw=withRaw;t.funcParam=funcParam;t.indexLiteral=indexLiteral;t.memIndexLiteral=memIndexLiteral;var r=n(1684);var i=n(2696);function numberLiteralFromRaw(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"i32";var n=e;if(typeof e==="string"){e=e.replace(/_/g,"")}if(typeof e==="number"){return(0,i.numberLiteral)(e,String(n))}else{switch(t){case"i32":{return(0,i.numberLiteral)((0,r.parse32I)(e),String(n))}case"u32":{return(0,i.numberLiteral)((0,r.parseU32)(e),String(n))}case"i64":{return(0,i.longNumberLiteral)((0,r.parse64I)(e),String(n))}case"f32":{return(0,i.floatLiteral)((0,r.parse32F)(e),(0,r.isNanLiteral)(e),(0,r.isInfLiteral)(e),String(n))}default:{return(0,i.floatLiteral)((0,r.parse64F)(e),(0,r.isNanLiteral)(e),(0,r.isInfLiteral)(e),String(n))}}}}function instruction(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];var n=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};return(0,i.instr)(e,undefined,t,n)}function objectInstruction(e,t){var n=arguments.length>2&&arguments[2]!==undefined?arguments[2]:[];var r=arguments.length>3&&arguments[3]!==undefined?arguments[3]:{};return(0,i.instr)(e,t,n,r)}function withLoc(e,t,n){var r={start:n,end:t};e.loc=r;return e}function withRaw(e,t){e.raw=t;return e}function funcParam(e,t){return{id:t,valtype:e}}function indexLiteral(e){var t=numberLiteralFromRaw(e,"u32");return t}function memIndexLiteral(e){var t=numberLiteralFromRaw(e,"u32");return t}},1900:function(e){"use strict";class PlainObjectSerializer{serialize(e,{write:t}){if(Array.isArray(e)){t(e.length);for(const n of e){t(n)}}else{const n=Object.keys(e);for(const e of n){t(e)}t(null);for(const r of n){t(e[r])}}}deserialize({read:e}){let t=e();if(typeof t==="number"){const n=[];for(let r=0;r{if(t.arguments.length!==1)return;const n=e.evaluateExpression(t.arguments[0]);if(!n.isString())return;const i=new r(n.string,t.range);i.loc=t.loc;e.state.current.addDependency(i);return true})}}},1934:function(e,t,n){"use strict";const r=n(7332);const i=n(1165);class SyncWaterfallHookCodeFactory extends i{content({onError:e,onResult:t,resultReturns:n,rethrowIfPossible:r}){return this.callTapsSeries({onError:(t,n)=>e(n),onResult:(e,t,n)=>{let r="";r+=`if(${t} !== undefined) {\n`;r+=`${this._args[0]} = ${t};\n`;r+=`}\n`;r+=n();return r},onDone:()=>t(this._args[0]),doneReturns:n,rethrowIfPossible:r})}}const s=new SyncWaterfallHookCodeFactory;class SyncWaterfallHook extends r{constructor(e){super(e);if(e.length<1)throw new Error("Waterfall hooks must have at least one argument")}tapAsync(){throw new Error("tapAsync is not supported on a SyncWaterfallHook")}tapPromise(){throw new Error("tapPromise is not supported on a SyncWaterfallHook")}compile(e){s.setup(this,e);return s.create(e)}}e.exports=SyncWaterfallHook},1941:function(e,t,n){"use strict";const r=n(6150);const i=n(6804);const s=n(8159);class AsyncWasmChunkLoadingRuntimeModule extends i{constructor(e,t,{generateLoadBinaryCode:n,supportsStreaming:r}){super("wasm chunk loading",10);this.chunk=e;this.compilation=t;this.generateLoadBinaryCode=n;this.supportsStreaming=r}generate(){const{compilation:e,chunk:t}=this;const{mainTemplate:n,outputOptions:i}=e;const o=r.instantiateWasm;const a=this.compilation.chunkGraph.getChunkModuleMaps(t,e=>e.type.startsWith("webassembly"),true);const u=n.getAssetPath(JSON.stringify(i.webassemblyModuleFilename),{hash:`" + ${r.getFullHash}() + "`,hashWithLength:e=>`" + ${r.getFullHash}}().slice(0, ${e}) + "`,module:{id:'" + wasmModuleId + "',hash:`" + ${JSON.stringify(a.hash)}[wasmModuleId] + "`,hashWithLength(e){const t=Object.create(null);for(const n of Object.keys(a.hash)){if(typeof a.hash[n]==="string"){t[n]=a.hash[n].substr(0,e)}}return`" + ${JSON.stringify(t)}[wasmModuleId] + "`}}});return s.asString([`${o} = function(exports, wasmModuleId, importsObj) {`,s.indent([`var req = ${this.generateLoadBinaryCode(u)};`,this.supportsStreaming?s.asString(["if(typeof WebAssembly.instantiateStreaming === 'function') {",s.indent(["return WebAssembly.instantiateStreaming(req, importsObj)",s.indent([".then(function(res) { return Object.assign(exports, res.instance.exports); });"])]),"}"]):"// no support for streaming compilation","return req",s.indent([".then(function(x) { return x.arrayBuffer(); })",".then(function(bytes) { return WebAssembly.instantiate(bytes, importsObj); })",`.then(function(res) { return Object.assign(exports, res.instance.exports); });`])]),"};"])}}e.exports=AsyncWasmChunkLoadingRuntimeModule},1944:function(e){"use strict";e.exports=function generate_ref(e,t,n){var r=" ";var i=e.level;var s=e.dataLevel;var o=e.schema[t];var a=e.errSchemaPath+"/"+t;var u=!e.opts.allErrors;var c="data"+(s||"");var l="valid"+i;var f,d;if(o=="#"||o=="#/"){if(e.isRoot){f=e.async;d="validate"}else{f=e.root.schema.$async===true;d="root.refVal[0]"}}else{var p=e.resolveRef(e.baseId,o,e.isRoot);if(p===undefined){var h=e.MissingRefError.message(e.baseId,o);if(e.opts.missingRefs=="fail"){e.logger.error(h);var m=m||[];m.push(r);r="";if(e.createErrors!==false){r+=" { keyword: '"+"$ref"+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(a)+" , params: { ref: '"+e.util.escapeQuotes(o)+"' } ";if(e.opts.messages!==false){r+=" , message: 'can\\'t resolve reference "+e.util.escapeQuotes(o)+"' "}if(e.opts.verbose){r+=" , schema: "+e.util.toQuotedString(o)+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "}r+=" } "}else{r+=" {} "}var g=r;r=m.pop();if(!e.compositeRule&&u){if(e.async){r+=" throw new ValidationError(["+g+"]); "}else{r+=" validate.errors = ["+g+"]; return false; "}}else{r+=" var err = "+g+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}if(u){r+=" if (false) { "}}else if(e.opts.missingRefs=="ignore"){e.logger.warn(h);if(u){r+=" if (true) { "}}else{throw new e.MissingRefError(e.baseId,o,h)}}else if(p.inline){var y=e.util.copy(e);y.level++;var v="valid"+y.level;y.schema=p.schema;y.schemaPath="";y.errSchemaPath=o;var b=e.validate(y).replace(/validate\.schema/g,p.code);r+=" "+b+" ";if(u){r+=" if ("+v+") { "}}else{f=p.$async===true||e.async&&p.$async!==false;d=p.code}}if(d){var m=m||[];m.push(r);r="";if(e.opts.passContext){r+=" "+d+".call(this, "}else{r+=" "+d+"( "}r+=" "+c+", (dataPath || '')";if(e.errorPath!='""'){r+=" + "+e.errorPath}var w=s?"data"+(s-1||""):"parentData",E=s?e.dataPathArr[s]:"parentDataProperty";r+=" , "+w+" , "+E+", rootData) ";var _=r;r=m.pop();if(f){if(!e.async)throw new Error("async schema referenced by sync schema");if(u){r+=" var "+l+"; "}r+=" try { await "+_+"; ";if(u){r+=" "+l+" = true; "}r+=" } catch (e) { if (!(e instanceof ValidationError)) throw e; if (vErrors === null) vErrors = e.errors; else vErrors = vErrors.concat(e.errors); errors = vErrors.length; ";if(u){r+=" "+l+" = false; "}r+=" } ";if(u){r+=" if ("+l+") { "}}else{r+=" if (!"+_+") { if (vErrors === null) vErrors = "+d+".errors; else vErrors = vErrors.concat("+d+".errors); errors = vErrors.length; } ";if(u){r+=" else { "}}}return r}},1959:function(e,t,n){"use strict";var r=n(411);var i=Object.keys||function(e){var t=[];for(var n in e){t.push(n)}return t};e.exports=Duplex;var s=n(3349);s.inherits=n(8309);var o=n(7469);var a=n(7867);s.inherits(Duplex,o);{var u=i(a.prototype);for(var c=0;c2&&arguments[2]!==undefined?arguments[2]:{},r=n.n,i=r===void 0?1:r,s=n.allowedSeparator;return function(n){if(s){if(n.input[n.ptr]===s){if(e.test(n.input.substring(n.ptr-1,n.ptr))){return[n.currentState,1]}else{return[n.terminatingState,0]}}}if(e.test(n.input.substring(n.ptr,n.ptr+i))){return[t,i]}return false}}function combineTransitions(e){return function(){var t=false;var n=e[this.currentState]||[];for(var r=0;r2&&arguments[2]!==undefined?arguments[2]:n;_classCallCheck(this,FSM);this.initialState=t;this.terminatingState=r;if(r===n||!e[r]){e[r]=[]}this.transitionFunction=combineTransitions.call(this,e)}_createClass(FSM,[{key:"run",value:function run(e){this.input=e;this.ptr=0;this.currentState=this.initialState;var t="";var n,r;while(this.currentState!==this.terminatingState&&this.ptr{return e.mode==="production"||!e.mode};const l=e=>{return e.target==="web"||e.target==="webworker"};const f=e=>{if(Array.isArray(e)){return e.join(".")}else if(typeof e==="object"){return f(e.root)}return e||""};class WebpackOptionsDefaulter extends o{constructor(){super();this.set("experiments","call",e=>({...e}));this.set("experiments.mjs",false);this.set("experiments.importAwait",false);this.set("experiments.importAsync",false);this.set("experiments.topLevelAwait",false);this.set("experiments.syncWebAssembly",false);this.set("experiments.asyncWebAssembly",false);this.set("entry","./src");this.set("devtool","make",e=>e.mode==="development"?"eval":false);this.set("cache","call",(e,t)=>{if(e===undefined){e=t.mode==="development"}if(e===true){return{type:"memory"}}if(!e){return false}e={...e};if(e.type==="filesystem"){if(e.name===undefined){e.name=(t.name||"default")+"-"+(t.mode||"production")}if(e.version===undefined){e.version=""}if(e.cacheDirectory===undefined){e.cacheDirectory=r({name:"webpack"})||i.tmpdir()}if(e.cacheLocation===undefined){e.cacheLocation=s.resolve(e.cacheDirectory,e.name)}if(e.hashAlgorithm===undefined){e.hashAlgorithm="md4"}if(e.store===undefined){e.store="pack"}if(e.idleTimeout===undefined){e.idleTimeout=1e4}if(e.idleTimeoutForInitialStore===undefined){e.idleTimeoutForInitialStore=0}}return e});this.set("context",process.cwd());this.set("target","web");this.set("module","call",e=>({...e}));this.set("module.unknownContextRequest",".");this.set("module.unknownContextRegExp",false);this.set("module.unknownContextRecursive",true);this.set("module.unknownContextCritical",true);this.set("module.exprContextRequest",".");this.set("module.exprContextRegExp",false);this.set("module.exprContextRecursive",true);this.set("module.exprContextCritical",true);this.set("module.wrappedContextRegExp",/.*/);this.set("module.wrappedContextRecursive",true);this.set("module.wrappedContextCritical",false);this.set("module.strictExportPresence",false);this.set("module.strictThisContextOnImports",false);this.set("module.unsafeCache","make",e=>{if(e.cache){return e=>{const t=e.nameForCondition();return t&&u.test(t)}}});this.set("module.rules",[]);this.set("module.defaultRules","make",e=>[{type:"javascript/auto",resolve:{}},e.experiments.mjs&&{test:/\.mjs$/i,type:"javascript/esm",resolve:{mainFields:e.target==="web"||e.target==="webworker"||e.target==="electron-renderer"?["browser","main"]:["main"]}},{test:/\.json$/i,type:"json"},e.experiments.syncWebAssembly&&{test:/\.wasm$/i,type:"webassembly/experimental"},e.experiments.asyncWebAssembly&&{test:/\.wasm$/i,type:"webassembly/async-experimental"}].filter(Boolean));this.set("output","call",(e,t)=>{if(typeof e==="string"){return{filename:e}}else if(typeof e!=="object"){return{}}else{return{...e}}});this.set("output.filename","[name].js");this.set("output.chunkFilename","make",e=>{const t=e.output.filename;if(typeof t!=="function"){const e=t.includes("[name]");const n=t.includes("[id]");const r=t.includes("[chunkhash]");const i=t.includes("[contenthash]");if(r||i||e||n)return t;return t.replace(/(^|\/)([^/]*(?:\?|$))/,"$1[id].$2")}return"[id].js"});this.set("output.webassemblyModuleFilename","[hash].module.wasm");this.set("output.library","");this.set("output.hotUpdateFunction","make",e=>{return a.toIdentifier("webpackHotUpdate"+a.toIdentifier(e.output.library))});this.set("output.jsonpFunction","make",e=>{return a.toIdentifier("webpackJsonp"+a.toIdentifier(e.output.library))});this.set("output.chunkCallbackName","make",e=>{return a.toIdentifier("webpackChunk"+a.toIdentifier(e.output.library))});this.set("output.globalObject","make",e=>{switch(e.target){case"web":case"electron-renderer":case"node-webkit":return"window";case"webworker":return"self";case"node":case"async-node":case"electron-main":return"global";default:return"self"}});this.set("output.devtoolNamespace","make",e=>{return f(e.output.library)});this.set("output.libraryTarget","var");this.set("output.path",s.join(process.cwd(),"dist"));this.set("output.pathinfo","make",e=>e.mode==="development");this.set("output.sourceMapFilename","[file].map[query]");this.set("output.hotUpdateChunkFilename","[id].[fullhash].hot-update.js");this.set("output.hotUpdateMainFilename","[fullhash].hot-update.json");this.set("output.crossOriginLoading",false);this.set("output.jsonpScriptType",false);this.set("output.chunkLoadTimeout",12e4);this.set("output.hashFunction","md4");this.set("output.hashDigest","hex");this.set("output.hashDigestLength",20);this.set("output.strictModuleExceptionHandling",false);this.set("node","call",e=>{if(typeof e==="boolean"){return e}else{return{...e}}});this.set("node.global","make",e=>{switch(e.target){case"node":case"async-node":case"electron-main":return false;default:return true}});this.set("node.__filename","make",e=>{switch(e.target){case"node":case"async-node":case"electron-main":return false;default:return"mock"}});this.set("node.__dirname","make",e=>{switch(e.target){case"node":case"async-node":case"electron-main":return false;default:return"mock"}});this.set("performance","call",(e,t)=>{if(e===false)return false;if(e===undefined&&(!c(t)||!l(t)))return false;return{...e}});this.set("performance.maxAssetSize",25e4);this.set("performance.maxEntrypointSize",25e4);this.set("performance.hints","make",e=>c(e)?"warning":false);this.set("optimization","call",e=>({...e}));this.set("optimization.removeAvailableModules",true);this.set("optimization.removeEmptyChunks",true);this.set("optimization.mergeDuplicateChunks",true);this.set("optimization.flagIncludedChunks","make",e=>c(e));this.set("optimization.moduleIds","make",e=>{if(c(e))return"deterministic";if(e.mode==="development")return"named";return"natural"});this.set("optimization.chunkIds","make",e=>{if(c(e))return"deterministic";if(e.mode==="development")return"named";return"natural"});this.set("optimization.sideEffects","make",e=>c(e));this.set("optimization.providedExports",true);this.set("optimization.usedExports","make",e=>c(e));this.set("optimization.mangleExports","make",e=>c(e));this.set("optimization.concatenateModules","make",e=>c(e));this.set("optimization.splitChunks",{});this.set("optimization.splitChunks.hidePathInfo","make",e=>{return c(e)});this.set("optimization.splitChunks.chunks","async");this.set("optimization.splitChunks.minChunks",1);this.set("optimization.splitChunks.minSize","make",e=>{return c(e)?3e4:1e4});this.set("optimization.splitChunks.minRemainingSize","make",e=>{return e.mode==="development"?0:undefined});this.set("optimization.splitChunks.maxAsyncRequests","make",e=>{return c(e)?6:Infinity});this.set("optimization.splitChunks.automaticNameDelimiter","-");this.set("optimization.splitChunks.maxInitialRequests","make",e=>{return c(e)?4:Infinity});this.set("optimization.splitChunks.cacheGroups",{});this.set("optimization.splitChunks.cacheGroups.default",{idHint:"",reuseExistingChunk:true,minChunks:2,priority:-20});this.set("optimization.splitChunks.cacheGroups.defaultVendors",{idHint:"vendors",test:u,priority:-10});this.set("optimization.runtimeChunk","call",e=>{if(e==="single"){return{name:"runtime"}}if(e===true||e==="multiple"){return{name:e=>`runtime~${e.name}`}}return e});this.set("optimization.noEmitOnErrors","make",e=>c(e));this.set("optimization.checkWasmTypes","make",e=>c(e));this.set("optimization.mangleWasmImports",false);this.set("optimization.portableRecords","make",e=>!!(e.recordsInputPath||e.recordsOutputPath||e.recordsPath));this.set("optimization.minimize","make",e=>c(e));this.set("optimization.minimizer","make",e=>[{apply:t=>{const r=n(6013);const i=n(0);new r({cache:true,parallel:true,sourceMap:e.devtool&&/source-?map/.test(e.devtool)||e.plugins&&e.plugins.some(e=>e instanceof i)}).apply(t)}}]);this.set("optimization.nodeEnv","make",e=>{if(e.mode==="none"){return false}else{return e.mode||"production"}});this.set("resolve","call",e=>({...e}));this.set("resolve.cache","make",e=>!!e.cache);this.set("resolve.modules",["node_modules"]);this.set("resolve.extensions","make",e=>[e.experiments.mjs&&".mjs",".js",".json",".wasm"].filter(Boolean));this.set("resolve.mainFiles",["index"]);this.set("resolve.aliasFields","make",e=>{if(e.target==="web"||e.target==="webworker"||e.target==="electron-renderer"){return["browser"]}else{return[]}});this.set("resolve.mainFields","make",e=>{if(e.target==="web"||e.target==="webworker"||e.target==="electron-renderer"){return["browser","module","main"]}else{return["module","main"]}});this.set("resolveLoader","call",e=>({...e}));this.set("resolveLoader.cache","make",e=>!!e.cache);this.set("resolveLoader.mainFields",["loader","main"]);this.set("resolveLoader.extensions",[".js"]);this.set("resolveLoader.mainFiles",["index"])}}e.exports=WebpackOptionsDefaulter},1976:function(e){"use strict";class BasicMatcherRulePlugin{constructor(e,t,n){this.ruleProperty=e;this.dataProperty=t||e;this.invert=n||false}apply(e){e.hooks.rule.tap("BasicMatcherRulePlugin",(t,n,r,i)=>{if(r.has(this.ruleProperty)){r.delete(this.ruleProperty);const s=n[this.ruleProperty];const o=e.compileCondition(`${t}.${this.ruleProperty}`,s);const a=o.fn;i.conditions.push({property:this.dataProperty,matchWhenEmpty:this.invert?!o.matchWhenEmpty:o.matchWhenEmpty,fn:this.invert?e=>!a(e):a})}})}}e.exports=BasicMatcherRulePlugin},1983:function(e,t){function getArg(e,t,n){if(t in e){return e[t]}else if(arguments.length===3){return n}else{throw new Error('"'+t+'" is a required argument.')}}t.getArg=getArg;var n=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/;var r=/^data:.+\,.+$/;function urlParse(e){var t=e.match(n);if(!t){return null}return{scheme:t[1],auth:t[2],host:t[3],port:t[4],path:t[5]}}t.urlParse=urlParse;function urlGenerate(e){var t="";if(e.scheme){t+=e.scheme+":"}t+="//";if(e.auth){t+=e.auth+"@"}if(e.host){t+=e.host}if(e.port){t+=":"+e.port}if(e.path){t+=e.path}return t}t.urlGenerate=urlGenerate;function normalize(e){var n=e;var r=urlParse(e);if(r){if(!r.path){return e}n=r.path}var i=t.isAbsolute(n);var s=n.split(/\/+/);for(var o,a=0,u=s.length-1;u>=0;u--){o=s[u];if(o==="."){s.splice(u,1)}else if(o===".."){a++}else if(a>0){if(o===""){s.splice(u+1,a);a=0}else{s.splice(u,2);a--}}}n=s.join("/");if(n===""){n=i?"/":"."}if(r){r.path=n;return urlGenerate(r)}return n}t.normalize=normalize;function join(e,t){if(e===""){e="."}if(t===""){t="."}var n=urlParse(t);var i=urlParse(e);if(i){e=i.path||"/"}if(n&&!n.scheme){if(i){n.scheme=i.scheme}return urlGenerate(n)}if(n||t.match(r)){return t}if(i&&!i.host&&!i.path){i.host=t;return urlGenerate(i)}var s=t.charAt(0)==="/"?t:normalize(e.replace(/\/+$/,"")+"/"+t);if(i){i.path=s;return urlGenerate(i)}return s}t.join=join;t.isAbsolute=function(e){return e.charAt(0)==="/"||n.test(e)};function relative(e,t){if(e===""){e="."}e=e.replace(/\/$/,"");var n=0;while(t.indexOf(e+"/")!==0){var r=e.lastIndexOf("/");if(r<0){return t}e=e.slice(0,r);if(e.match(/^([^\/]+:\/)?\/*$/)){return t}++n}return Array(n+1).join("../")+t.substr(e.length+1)}t.relative=relative;var i=function(){var e=Object.create(null);return!("__proto__"in e)}();function identity(e){return e}function toSetString(e){if(isProtoString(e)){return"$"+e}return e}t.toSetString=i?identity:toSetString;function fromSetString(e){if(isProtoString(e)){return e.slice(1)}return e}t.fromSetString=i?identity:fromSetString;function isProtoString(e){if(!e){return false}var t=e.length;if(t<9){return false}if(e.charCodeAt(t-1)!==95||e.charCodeAt(t-2)!==95||e.charCodeAt(t-3)!==111||e.charCodeAt(t-4)!==116||e.charCodeAt(t-5)!==111||e.charCodeAt(t-6)!==114||e.charCodeAt(t-7)!==112||e.charCodeAt(t-8)!==95||e.charCodeAt(t-9)!==95){return false}for(var n=t-10;n>=0;n--){if(e.charCodeAt(n)!==36){return false}}return true}function compareByOriginalPositions(e,t,n){var r=strcmp(e.source,t.source);if(r!==0){return r}r=e.originalLine-t.originalLine;if(r!==0){return r}r=e.originalColumn-t.originalColumn;if(r!==0||n){return r}r=e.generatedColumn-t.generatedColumn;if(r!==0){return r}r=e.generatedLine-t.generatedLine;if(r!==0){return r}return strcmp(e.name,t.name)}t.compareByOriginalPositions=compareByOriginalPositions;function compareByGeneratedPositionsDeflated(e,t,n){var r=e.generatedLine-t.generatedLine;if(r!==0){return r}r=e.generatedColumn-t.generatedColumn;if(r!==0||n){return r}r=strcmp(e.source,t.source);if(r!==0){return r}r=e.originalLine-t.originalLine;if(r!==0){return r}r=e.originalColumn-t.originalColumn;if(r!==0){return r}return strcmp(e.name,t.name)}t.compareByGeneratedPositionsDeflated=compareByGeneratedPositionsDeflated;function strcmp(e,t){if(e===t){return 0}if(e===null){return 1}if(t===null){return-1}if(e>t){return 1}return-1}function compareByGeneratedPositionsInflated(e,t){var n=e.generatedLine-t.generatedLine;if(n!==0){return n}n=e.generatedColumn-t.generatedColumn;if(n!==0){return n}n=strcmp(e.source,t.source);if(n!==0){return n}n=e.originalLine-t.originalLine;if(n!==0){return n}n=e.originalColumn-t.originalColumn;if(n!==0){return n}return strcmp(e.name,t.name)}t.compareByGeneratedPositionsInflated=compareByGeneratedPositionsInflated;function parseSourceMapInput(e){return JSON.parse(e.replace(/^\)]}'[^\n]*\n/,""))}t.parseSourceMapInput=parseSourceMapInput;function computeSourceURL(e,t,n){t=t||"";if(e){if(e[e.length-1]!=="/"&&t[0]!=="/"){e+="/"}t=e+t}if(n){var r=urlParse(n);if(!r){throw new Error("sourceMapURL could not be parsed")}if(r.path){var i=r.path.lastIndexOf("/");if(i>=0){r.path=r.path.substring(0,i+1)}}t=join(urlGenerate(r),t)}return normalize(t)}t.computeSourceURL=computeSourceURL},2002:function(e){"use strict";function startsWith(e,t){const n=e.length;const r=t.length;if(r>n){return false}let i=-1;while(++i{const s=n.request||n.path;if(!s)return i();for(const o of this.options){if(s===o.name||!o.onlyModule&&startsWith(s,o.name+"/")){if(s!==o.alias&&!startsWith(s,o.alias+"/")){const a=o.alias+s.substr(o.name.length);const u=Object.assign({},n,{request:a});return e.doResolve(t,u,"aliased with mapping '"+o.name+"': '"+o.alias+"' to '"+a+"'",r,(e,t)=>{if(e)return i(e);if(t===undefined)return i(null,null);i(null,t)})}}}return i()})}}},2004:function(e,t,n){"use strict";const{RawSource:r}=n(2991);const i=n(354);const s=new WeakMap;class EvalDevToolModuleTemplatePlugin{constructor(e){this.compilation=e.compilation;this.sourceUrlComment=e.sourceUrlComment||"\n//# sourceURL=[url]";this.moduleFilenameTemplate=e.moduleFilenameTemplate||"webpack://[namespace]/[resourcePath]?[loaders]";this.namespace=e.namespace||""}apply(e){e.hooks.module.tap("EvalDevToolModuleTemplatePlugin",(t,n)=>{const o=s.get(t);if(o!==undefined)return o;const a=t.source();const u=i.createFilename(n,{moduleFilenameTemplate:this.moduleFilenameTemplate,namespace:this.namespace},{requestShortener:e.runtimeTemplate.requestShortener,chunkGraph:this.compilation.chunkGraph});const c="\n"+this.sourceUrlComment.replace(/\[url\]/g,encodeURI(u).replace(/%2F/g,"/").replace(/%20/g,"_").replace(/%5E/g,"^").replace(/%5C/g,"\\").replace(/^\//,""));const l=new r(`eval(${JSON.stringify(a+c)});`);s.set(t,l);return l});e.hooks.hash.tap("EvalDevToolModuleTemplatePlugin",e=>{e.update("EvalDevToolModuleTemplatePlugin");e.update("2")})}}e.exports=EvalDevToolModuleTemplatePlugin},2020:function(e){"use strict";class ErrorObjectSerializer{constructor(e){this.Type=e}serialize(e,{write:t}){t(e.message);t(e.stack)}deserialize({read:e}){const t=new this.Type;t.message=e();t.stack=e();return t}}e.exports=ErrorObjectSerializer},2028:function(e,t,n){"use strict";var r=n(3292);var i=n(9596).SourceNode;var s=n(6900).SourceListMap;var o=n(6900).fromStringWithSourceMap;var a=n(9596).SourceMapConsumer;class Replacement{constructor(e,t,n,r,i){this.start=e;this.end=t;this.content=n;this.insertIndex=r;this.name=i}}class ReplaceSource extends r{constructor(e,t){super();this._source=e;this._name=t;this.replacements=[]}replace(e,t,n,r){if(typeof n!=="string")throw new Error("insertion must be a string, but is a "+typeof n);this.replacements.push(new Replacement(e,t,n,this.replacements.length,r))}insert(e,t,n){if(typeof t!=="string")throw new Error("insertion must be a string, but is a "+typeof t+": "+t);this.replacements.push(new Replacement(e,e-1,t,this.replacements.length,n))}source(e){return this._replaceString(this._source.source())}original(){return this._source}_sortReplacements(){this.replacements.sort(function(e,t){var n=t.end-e.end;if(n!==0)return n;n=t.start-e.start;if(n!==0)return n;return t.insertIndex-e.insertIndex})}_replaceString(e){if(typeof e!=="string")throw new Error("str must be a string, but is a "+typeof e+": "+e);this._sortReplacements();var t=[e];this.replacements.forEach(function(e){var n=t.pop();var r=this._splitString(n,Math.floor(e.end+1));var i=this._splitString(r[0],Math.floor(e.start));t.push(r[1],e.content,i[0])},this);let n="";for(let e=t.length-1;e>=0;--e){n+=t[e]}return n}node(e){var t=this._source.node(e);if(this.replacements.length===0){return t}this._sortReplacements();var n=new ReplacementEnumerator(this.replacements);var r=[];var s=0;var o=Object.create(null);var a=Object.create(null);var u=new i;t.walkSourceContents(function(e,t){u.setSourceContent(e,t);o["$"+e]=t});var c=this._replaceInStringNode.bind(this,r,n,function getOriginalSource(e){var t="$"+e.source;var n=a[t];if(!n){var r=o[t];if(!r)return null;n=r.split("\n").map(function(e){return e+"\n"});a[t]=n}if(e.line>n.length)return null;var i=n[e.line-1];return i.substr(e.column)});t.walk(function(e,t){s=c(e,s,t)});var l=n.footer();if(l){r.push(l)}u.add(r);return u}listMap(e){this._sortReplacements();var t=this._source.listMap(e);var n=0;var r=this.replacements;var i=r.length-1;var s=0;t=t.mapGeneratedCode(function(e){var t=n+e.length;if(s>e.length){s-=e.length;e=""}else{if(s>0){e=e.substr(s);n+=s;s=0}var o="";while(i>=0&&r[i].start=0){o+=r[i].content;i--}if(o){t.add(o)}return t}_splitString(e,t){return t<=0?["",e]:[e.substr(0,t),e.substr(t)]}_replaceInStringNode(e,t,n,r,s,o){var a=undefined;do{var u=t.position-s;if(u<0){u=0}if(u>=r.length||t.done){if(t.emit){var c=new i(o.line,o.column,o.source,r,o.name);e.push(c)}return s+r.length}var l=o.column;var f;if(u>0){f=r.slice(0,u);if(a===undefined){a=n(o)}if(a&&a.length>=u&&a.startsWith(f)){o.column+=u;a=a.substr(u)}}var d=t.next();if(!d){if(u>0){var p=new i(o.line,l,o.source,f,o.name);e.push(p)}if(t.value){e.push(new i(o.line,o.column,o.source,t.value,o.name||t.name))}}r=r.substr(u);s+=u}while(true)}}class ReplacementEnumerator{constructor(e){this.replacements=e||[];this.index=this.replacements.length;this.done=false;this.emit=false;this.next()}next(){if(this.done)return true;if(this.emit){var e=this.replacements[this.index];var t=Math.floor(e.end+1);this.position=t;this.value=e.content;this.name=e.name}else{this.index--;if(this.index<0){this.done=true}else{var n=this.replacements[this.index];var r=Math.floor(n.start);this.position=r}}if(this.position<0)this.position=0;this.emit=!this.emit;return this.emit}footer(){if(!this.done&&!this.emit)this.next();if(this.done){return[]}else{var e="";for(var t=this.index;t>=0;t--){var n=this.replacements[t];e+=n.content}return e}}}n(3713)(ReplaceSource.prototype);e.exports=ReplaceSource},2039:function(e,t,n){"use strict";const r=n(528);const i=n(3207);class AsyncSeriesHookCodeFactory extends i{content({onError:e,onDone:t}){return this.callTapsSeries({onError:(t,n,r,i)=>e(n)+i(true),onDone:t})}}const s=new AsyncSeriesHookCodeFactory;class AsyncSeriesHook extends r{compile(e){s.setup(this,e);return s.create(e)}}Object.defineProperties(AsyncSeriesHook.prototype,{_call:{value:undefined,configurable:true,writable:true}});e.exports=AsyncSeriesHook},2056:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:true});t.traverse=traverse;var r=n(6166);var i=n(2696);function walk(e,t){var n=false;function innerWalk(e,t){if(n){return}var i=e.node;if(i===undefined){console.warn("traversing with an empty context");return}if(i._deleted===true){return}var s=(0,r.createPath)(e);t(i.type,s);if(s.shouldStop){n=true;return}Object.keys(i).forEach(function(e){var n=i[e];if(n===null||n===undefined){return}var r=Array.isArray(n)?n:[n];r.forEach(function(r){if(typeof r.type==="string"){var i={node:r,parentKey:e,parentPath:s,shouldStop:false,inList:Array.isArray(n)};innerWalk(i,t)}})})}innerWalk(e,t)}var s=function noop(){};function traverse(e,t){var n=arguments.length>2&&arguments[2]!==undefined?arguments[2]:s;var r=arguments.length>3&&arguments[3]!==undefined?arguments[3]:s;Object.keys(t).forEach(function(e){if(!i.nodeAndUnionTypes.includes(e)){throw new Error("Unexpected visitor ".concat(e))}});var o={node:e,inList:false,shouldStop:false,parentPath:null,parentKey:null};walk(o,function(e,s){if(typeof t[e]==="function"){n(e,s);t[e](s);r(e,s)}var o=i.unionTypesMap[e];if(!o){throw new Error("Unexpected node type ".concat(e))}o.forEach(function(e){if(typeof t[e]==="function"){n(e,s);t[e](s);r(e,s)}})})}},2076:function(e,t,n){var r=n(3644);function buildGraph(){var e={};var t=Object.keys(r);for(var n=t.length,i=0;i=4.0.0"},repository:"eslint/eslint-scope",bugs:{url:"https://github.com/eslint/eslint-scope/issues"},license:"BSD-2-Clause",scripts:{test:"node Makefile.js test",lint:"node Makefile.js lint",release:"eslint-release","ci-release":"eslint-ci-release","gh-release":"eslint-gh-release",alpharelease:"eslint-prerelease alpha",betarelease:"eslint-prerelease beta",rcrelease:"eslint-prerelease rc"},files:["LICENSE","README.md","lib"],dependencies:{esrecurse:"^4.1.0",estraverse:"^4.1.1"},devDependencies:{chai:"^3.4.1",eslint:"^3.15.0","eslint-config-eslint":"^4.0.0","eslint-release":"^0.11.1",espree:"^3.1.1",istanbul:"^0.4.5",mocha:"^3.2.0","npm-license":"^0.3.3",shelljs:"^0.7.6",typescript:"~2.0.10","typescript-eslint-parser":"^1.0.0"}}},2087:function(e){e.exports=require("os")},2105:function(e,t,n){(function clone(e){"use strict";var t,r,i,s,o,a,u,c,l;function ignoreJSHintError(){}r=Array.isArray;if(!r){r=function isArray(e){return Object.prototype.toString.call(e)==="[object Array]"}}function deepCopy(e){var t={},n,r;for(n in e){if(e.hasOwnProperty(n)){r=e[n];if(typeof r==="object"&&r!==null){t[n]=deepCopy(r)}else{t[n]=r}}}return t}function shallowCopy(e){var t={},n;for(n in e){if(e.hasOwnProperty(n)){t[n]=e[n]}}return t}ignoreJSHintError(shallowCopy);function upperBound(e,t){var n,r,i,s;r=e.length;i=0;while(r){n=r>>>1;s=i+n;if(t(e[s])){r=n}else{i=s+1;r-=n+1}}return i}function lowerBound(e,t){var n,r,i,s;r=e.length;i=0;while(r){n=r>>>1;s=i+n;if(t(e[s])){i=s+1;r-=n+1}else{r=n}}return i}ignoreJSHintError(lowerBound);o=Object.create||function(){function F(){}return function(e){F.prototype=e;return new F}}();a=Object.keys||function(e){var t=[],n;for(n in e){t.push(n)}return t};function extend(e,t){var n=a(t),r,i,s;for(i=0,s=n.length;i=0){f=h[d];m=o[f];if(!m){continue}if(r(m)){p=m.length;while((p-=1)>=0){if(!m[p]){continue}if(isProperty(a,h[d])){s=new Element(m[p],[f,p],"Property",null)}else if(isNode(m[p])){s=new Element(m[p],[f,p],null,null)}else{continue}n.push(s)}}else if(isNode(m)){n.push(new Element(m,f,null,null))}}}}};Controller.prototype.replace=function replace(e,t){var n,i,s,o,a,f,d,p,h,m,g,y,v;function removeElem(e){var t,r,i,s;if(e.ref.remove()){r=e.ref.key;s=e.ref.parent;t=n.length;while(t--){i=n[t];if(i.ref&&i.ref.parent===s){if(i.ref.key=0){v=h[d];m=s[v];if(!m){continue}if(r(m)){p=m.length;while((p-=1)>=0){if(!m[p]){continue}if(isProperty(o,h[d])){f=new Element(m[p],[v,p],"Property",new Reference(m,p))}else if(isNode(m[p])){f=new Element(m[p],[v,p],null,new Reference(m,p))}else{continue}n.push(f)}}else if(isNode(m)){n.push(new Element(m,v,null,new Reference(s,v)))}}}return y.root};function traverse(e,t){var n=new Controller;return n.traverse(e,t)}function replace(e,t){var n=new Controller;return n.replace(e,t)}function extendCommentRange(e,t){var n;n=upperBound(t,function search(t){return t.range[0]>e.range[0]});e.extendedRange=[e.range[0],e.range[1]];if(n!==t.length){e.extendedRange[1]=t[n].range[0]}n-=1;if(n>=0){e.extendedRange[0]=t[n].range[1]}return e}function attachComments(e,t,n){var r=[],s,o,a,u;if(!e.range){throw new Error("attachComments needs range information")}if(!n.length){if(t.length){for(a=0,o=t.length;ae.range[0]){break}if(t.extendedRange[1]===e.range[0]){if(!e.leadingComments){e.leadingComments=[]}e.leadingComments.push(t);r.splice(u,1)}else{u+=1}}if(u===r.length){return i.Break}if(r[u].extendedRange[0]>e.range[1]){return i.Skip}}});u=0;traverse(e,{leave:function(e){var t;while(ue.range[1]){return i.Skip}}});return e}e.version=n(3387).version;e.Syntax=t;e.traverse=traverse;e.replace=replace;e.attachComments=attachComments;e.VisitorKeys=s;e.VisitorOption=i;e.Controller=Controller;e.cloneEnvironment=function(){return clone({})};return e})(t)},2111:function(e){"use strict";e.exports=function defFunc(e){defFunc.definition={type:"string",errors:false,modifying:true,valid:true,compile:function(e,t){var n={};if(e.indexOf("toEnumCase")!==-1){if(!t.enum)throw new Error('Missing enum. To use `transform:["toEnumCase"]`, `enum:[...]` is required.');for(var r=t.enum.length;r--;r){var i=t.enum[r];if(typeof i!=="string")continue;var s=makeHashTableKey(i);if(n[s])throw new Error('Invalid enum uniqueness. To use `transform:["toEnumCase"]`, all values must be unique when case insensitive.');n[s]=i}}var o={trimLeft:function(e){return e.replace(/^[\s]+/,"")},trimRight:function(e){return e.replace(/[\s]+$/,"")},trim:function(e){return e.trim()},toLowerCase:function(e){return e.toLowerCase()},toUpperCase:function(e){return e.toUpperCase()},toEnumCase:function(e){return n[makeHashTableKey(e)]||e}};return function(t,n,r,i){if(!r)return;for(var s=0,a=e.length;s{const u=(n,a)=>{if(a.node===false)return;let u=t;if(a.node){u={...u,...a.node}}const c=(e,t)=>{n.hooks.expression.for(e).tap("NodeStuffPlugin",r=>{const i=new s(JSON.stringify(t(n.state.module)),r.range,e);i.loc=r.loc;n.state.current.addDependency(i);return true})};const l=(e,t)=>c(e,()=>t);const f=e.context;if(u.__filename){if(u.__filename==="mock"){l("__filename","/index.js")}else{c("__filename",t=>o(e.inputFileSystem,f,t.resource))}n.hooks.evaluateIdentifier.for("__filename").tap("NodeStuffPlugin",e=>{if(!n.state.module)return;const t=n.state.module.resource;const i=t.indexOf("?");return r(i<0?t:t.substr(0,i))(e)})}if(u.__dirname){if(u.__dirname==="mock"){l("__dirname","/")}else{c("__dirname",t=>o(e.inputFileSystem,f,t.context))}n.hooks.evaluateIdentifier.for("__dirname").tap("NodeStuffPlugin",e=>{if(!n.state.module)return;return r(n.state.module.context)(e)})}n.hooks.expression.for("require.extensions").tap("NodeStuffPlugin",i(n,"require.extensions is not supported by webpack. Use a loader instead."))};a.hooks.parser.for("javascript/auto").tap("NodeStuffPlugin",u);a.hooks.parser.for("javascript/dynamic").tap("NodeStuffPlugin",u)})}}e.exports=NodeStuffPlugin},2174:function(e,t,n){"use strict";const r=n(6150);const i=n(6202);const s=n(2197);class ModuleHotDependency extends s{constructor(e,t){super();this.range=e;this.apiMethod=t}get type(){return"module.hot"}serialize(e){const{write:t}=e;t(this.range);t(this.apiMethod);super.serialize(e)}deserialize(e){const{read:t}=e;this.range=t();this.apiMethod=t();super.deserialize(e)}}i(ModuleHotDependency,"webpack/lib/dependencies/ModuleHotDependency");ModuleHotDependency.Template=class ModuleHotDependencyTemplate extends s.Template{apply(e,t,{module:n,runtimeRequirements:i}){const s=e;i.add(r.module);t.replace(s.range[0],s.range[1]-1,`${n.moduleArgument}.hot${s.apiMethod?`.${s.apiMethod}`:""}`)}};e.exports=ModuleHotDependency},2183:function(e){"use strict";var t=e.exports=function Cache(){this._cache={}};t.prototype.put=function Cache_put(e,t){this._cache[e]=t};t.prototype.get=function Cache_get(e){return this._cache[e]};t.prototype.del=function Cache_del(e){delete this._cache[e]};t.prototype.clear=function Cache_clear(){this._cache={}}},2184:function(e){e.exports=require("vm")},2197:function(e,t,n){"use strict";const r=n(8706);const i=n(4304);class NullDependency extends r{get type(){return"null"}updateHash(e,t){}serialize(e){}deserialize(e){}}NullDependency.Template=class NullDependencyTemplate extends i{apply(e,t,n){}};e.exports=NullDependency},2208:function(e,t,n){"use strict";const r=n(6150);const i=n(6804);const s=n(8159);class ImportScriptsChunkLoadingRuntimeModule extends i{constructor(e,t,n){super("importScripts chunk loading",10);this.chunk=e;this.outputOptions=t;this.runtimeRequirements=n}generate(){const{chunk:e,outputOptions:t}=this;const{globalObject:i,chunkCallbackName:o}=t;const a=r.ensureChunkHandlers;const u=this.runtimeRequirements.has(r.ensureChunkHandlers);const c=this.runtimeRequirements.has(r.hmrDownloadUpdateHandlers);const l=this.runtimeRequirements.has(r.hmrDownloadManifest);return s.asString(["// object to store loaded chunks",'// "1" means "already loaded"',"var installedChunks = {",s.indent(e.ids.map(e=>`${JSON.stringify(e)}: 1`).join(",\n")),"};","",u?s.asString(["// importScripts chunk loading",`${a}.i = function(chunkId, promises) {`,s.indent(['// "1" is the signal for "already loaded"',"if(!installedChunks[chunkId]) {",s.indent([`${i}[${JSON.stringify(o)}] = function webpackChunkCallback(chunkIds, moreModules, runtime) {`,s.indent(["for(var moduleId in moreModules) {",s.indent(["if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {",s.indent(`${r.moduleFactories}[moduleId] = moreModules[moduleId];`),"}"]),"}","if(runtime) runtime(__webpack_require__);","while(chunkIds.length)",s.indent("installedChunks[chunkIds.pop()] = 1;")]),"};",`importScripts(${r.getChunkScriptFilename}(chunkId));`,"",c?"if(currentUpdateChunks && currentUpdateChunks[chunkId]) loadUpdateChunk(chunkId);":"// no HMR"]),"}"]),"};"]):"// no chunk loading","",c?s.asString(["var currentUpdateChunks;","var currentUpdate;","var currentUpdateRuntime;","function loadUpdateChunk(chunkId, updatedModulesList) {",s.indent(["var success = false;",`${t.globalObject}[${JSON.stringify(t.hotUpdateFunction)}] = function(moreModules, runtime) {`,s.indent(["for(var moduleId in moreModules) {",s.indent(["if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {",s.indent(["currentUpdate[moduleId] = moreModules[moduleId];","if(updatedModulesList) updatedModulesList.push(moduleId);"]),"}"]),"}","if(runtime) currentUpdateRuntime.push(runtime);","success = true;"]),"};","// start update chunk loading",`importScripts(${r.publicPath} + ${r.getChunkUpdateScriptFilename}(chunkId));`,'if(!success) throw new Error("Loading update chunk failed for unknown reason");']),"}","",`${r.hmrDownloadUpdateHandlers}.jsonp = function(chunkIds, removedChunks, removedModules, promises, applyHandlers, updatedModulesList) {`,s.indent(["applyHandlers.push(function(options) {",s.indent(["currentUpdateChunks = undefined;",s.getFunctionContent(n(2215)).replace(/\$options\$/g,"options").replace(/\$updateModuleFactories\$/g,"currentUpdate").replace(/\$updateRuntimeModules\$/g,"currentUpdateRuntime").replace(/\$moduleCache\$/g,r.moduleCache).replace(/\$hmrModuleData\$/g,r.hmrModuleData).replace(/\$moduleFactories\$/g,r.moduleFactories).replace(/\/\/ \$dispose\$/g,s.asString(["removedChunks.forEach(function(chunkId) { delete installedChunks[chunkId]; });"]))]),"});","currentUpdateChunks = {};","currentUpdate = removedModules.reduce(function(obj, key) { obj[key] = false; return obj; }, {});","currentUpdateRuntime = [];","chunkIds.forEach(function(chunkId) {",s.indent(["if(installedChunks[chunkId] !== undefined) {",s.indent(["promises.push(loadUpdateChunk(chunkId, updatedModulesList));"]),"}","currentUpdateChunks[chunkId] = true;"]),"});"]),"}"]):"// no HMR","",l?s.asString([`${r.hmrDownloadManifest} = function() {`,s.indent(['if (typeof fetch === "undefined") throw new Error("No browser support: need fetch API");',`return fetch(${r.publicPath} + ${r.getUpdateManifestFilename}()).then(function(response) {`,s.indent(["if(response.status === 404) return; // no update available",'if(!response.ok) throw new Error("Failed to fetch update manifest " + response.statusText);',"return response.json();"]),"});"]),"};"]):"// no HMR manifest"])}}e.exports=ImportScriptsChunkLoadingRuntimeModule},2210:function(e,t,n){"use strict";const r=n(1627);class ModuleRestoreError extends r{constructor(e,t){let n="Module restore failed: ";let r=undefined;if(t!==null&&typeof t==="object"){if(typeof t.stack==="string"&&t.stack){const e=t.stack;n+=e}else if(typeof t.message==="string"&&t.message){n+=t.message}else{n+=t}}else{n+=String(t)}super(n);this.name="ModuleRestoreError";this.details=r;this.module=e;this.error=t;Error.captureStackTrace(this,this.constructor)}}e.exports=ModuleRestoreError},2215:function(e,t,n){"use strict";e.exports=function(){function getAffectedModuleEffects(e){var t=[e];var n={};var r=t.map(function(e){return{chain:[e],id:e}});while(r.length>0){var i=r.pop();var s=i.id;var o=i.chain;var a=$moduleCache$[s];if(!a||a.hot._selfAccepted)continue;if(a.hot._selfDeclined){return{type:"self-declined",chain:o,moduleId:s}}if(a.hot._main){return{type:"unaccepted",chain:o,moduleId:s}}for(var u=0;u ")}switch(a.type){case"self-declined":if($options$.onDeclined)$options$.onDeclined(a);if(!$options$.ignoreDeclined)u=new Error("Aborted because of self decline: "+a.moduleId+f);break;case"declined":if($options$.onDeclined)$options$.onDeclined(a);if(!$options$.ignoreDeclined)u=new Error("Aborted because of declined dependency: "+a.moduleId+" in "+a.parentId+f);break;case"unaccepted":if($options$.onUnaccepted)$options$.onUnaccepted(a);if(!$options$.ignoreUnaccepted)u=new Error("Aborted because "+s+" is not accepted"+f);break;case"accepted":if($options$.onAccepted)$options$.onAccepted(a);c=true;break;case"disposed":if($options$.onDisposed)$options$.onDisposed(a);l=true;break;default:throw new Error("Unexception type "+a.type)}if(u){return{error:u}}if(c){r[s]=o;addAllToSet(t,a.outdatedModules);for(s in a.outdatedDependencies){if(Object.prototype.hasOwnProperty.call(a.outdatedDependencies,s)){if(!e[s])e[s]=[];addAllToSet(e[s],a.outdatedDependencies[s])}}}if(l){addAllToSet(t,[a.moduleId]);r[s]=i}}}var d=[];for(var p=0;p0){var i=r.pop();var s=$moduleCache$[i];if(!s)continue;var o={};var a=s.hot._disposeHandlers;for(p=0;p=0){u.parents.splice(n,1)}}}var c;for(var l in e){if(Object.prototype.hasOwnProperty.call(e,l)){s=$moduleCache$[l];if(s){m=e[l];for(p=0;p=0)s.children.splice(n,1)}}}}},apply:function(i){for(var s in r){if(Object.prototype.hasOwnProperty.call(r,s)){$moduleFactories$[s]=r[s]}}for(var o=0;o<$updateRuntimeModules$.length;o++){$updateRuntimeModules$[o](n)}var a=null;for(var u in e){if(Object.prototype.hasOwnProperty.call(e,u)){var c=$moduleCache$[u];if(c){m=e[u];var l=[];for(var f=0;f{if(!this.filterPredicate(n))return i();const s=getCacheId(n,this.withContext);const o=this.cache[s];if(o){return i(null,o)}e.doResolve(t,n,null,r,(e,t)=>{if(e)return i(e);if(t)return i(null,this.cache[s]=t);i()})})}}},2222:function(e,t,n){"use strict";var r=n(4673);var i=r.freeze;var s=n(9505);var o=s.inherits;var a=s.notEnumerableProp;function subError(e,t){function SubError(n){if(!(this instanceof SubError))return new SubError(n);a(this,"message",typeof n==="string"?n:t);a(this,"name",e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}else{Error.call(this)}}o(SubError,Error);return SubError}var u,c;var l=subError("Warning","warning");var f=subError("CancellationError","cancellation error");var d=subError("TimeoutError","timeout error");var p=subError("AggregateError","aggregate error");try{u=TypeError;c=RangeError}catch(e){u=subError("TypeError","type error");c=subError("RangeError","range error")}var h=("join pop push shift unshift slice filter forEach some "+"every map indexOf lastIndexOf reduce reduceRight sort reverse").split(" ");for(var m=0;m{if(!e.log)return undefined;if(!t)return e.log;const n=n=>{if(!r){e.log(t);r=true}e.log(" "+n)};return n})(),stack:e.stack,missing:e.missing};return i}},2230:function(e,t,n){"use strict";const r=n(6202);const i=n(7737);const s=n(7359);const o=Symbol("HarmonyImportSpecifierDependency.ids");class HarmonyImportSpecifierDependency extends s{constructor(e,t,n,r,i,s){super(e,t);this.ids=n;this.name=r;this.range=i;this.strictExportPresence=s;this.namespaceObjectAsContext=false;this.call=undefined;this.directImport=undefined;this.shorthand=undefined}get id(){throw new Error("id was renamed to ids and type changed to string[]")}getId(){throw new Error("id was renamed to ids and type changed to string[]")}setId(){throw new Error("id was renamed to ids and type changed to string[]")}get type(){return"harmony import specifier"}getIds(e){return e.getMeta(this)[o]||this.ids}setIds(e,t){e.getMeta(this)[o]=t}getReference(e){const t=e.getModule(this);if(!t)return null;const n=this.getIds(e);return new i(()=>e.getModule(this),[this.namespaceObjectAsContext?n.slice(0,-1):n],false,this.sourceOrder)}getWarnings(e){if(this.strictExportPresence||e.getParentModule(this).buildMeta.strictHarmonyModule){return[]}return this._getErrors(e)}getErrors(e){if(this.strictExportPresence||e.getParentModule(this).buildMeta.strictHarmonyModule){return this._getErrors(e)}return[]}_getErrors(e){const t=this.getIds(e);return this.getLinkingErrors(e,t,`(imported as '${this.name}')`)}getNumberOfIdOccurrences(){return 0}updateHash(e,t){super.updateHash(e,t);const n=t.moduleGraph;const r=n.getModule(this);const i=this.getIds(n);e.update(i.join());if(r){const t=n.getExportsInfo(r);e.update(JSON.stringify(t.getUsedName(i)));e.update((!r.buildMeta||r.buildMeta.exportsType)+"")}}serialize(e){const{write:t}=e;t(this.ids);t(this.name);t(this.range);t(this.strictExportPresence);t(this.namespaceObjectAsContext);t(this.call);t(this.directImport);t(this.shorthand);super.serialize(e)}deserialize(e){const{read:t}=e;this.ids=t();this.name=t();this.range=t();this.strictExportPresence=t();this.namespaceObjectAsContext=t();this.call=t();this.directImport=t();this.shorthand=t();super.deserialize(e)}}r(HarmonyImportSpecifierDependency,"webpack/lib/dependencies/HarmonyImportSpecifierDependency");HarmonyImportSpecifierDependency.Template=class HarmonyImportSpecifierDependencyTemplate extends s.Template{apply(e,t,n){super.apply(e,t,n);const r=e;const i=this.getContent(r,n);t.replace(r.range[0],r.range[1]-1,i)}getContent(e,{runtimeTemplate:t,module:n,moduleGraph:r,runtimeRequirements:i}){const s=e.getIds(r);const o=t.exportFromImport({moduleGraph:r,module:r.getModule(e),request:e.request,exportName:s,originModule:n,asiSafe:e.shorthand,isCall:e.call,callContext:!e.directImport,importVar:e.getImportVar(r),runtimeRequirements:i});return e.shorthand?`${e.name}: ${o}`:o}};e.exports=HarmonyImportSpecifierDependency},2234:function(e,t,n){"use strict";const r=n(1627);const i=(e,t,n,r)=>{const i=[{head:e,message:e.readableIdentifier(r)}];const s=new Set;const o=new Set;const a=new Set;for(const e of i){const{head:u,message:c}=e;let l=true;const f=new Set;for(const e of t.getIncomingConnections(u)){const t=e.originModule;if(t){if(!n.getModuleChunks(t).some(e=>e.canBeInitial()))continue;l=false;if(f.has(t))continue;f.add(t);const s=t.readableIdentifier(r);const u=e.explanation?` (${e.explanation})`:"";const d=`${s}${u} --\x3e ${c}`;if(a.has(t)){o.add(`... --\x3e ${d}`);continue}a.add(t);i.push({head:t,message:d})}else{l=false;const t=e.explanation?`(${e.explanation}) --\x3e ${c}`:c;s.add(t)}}if(l){s.add(c)}}for(const e of o){s.add(e)}return Array.from(s)};e.exports=class WebAssemblyInInitialChunkError extends r{constructor(e,t,n,r){const s=i(e,t,n,r);const o=`WebAssembly module is included in initial chunk.\nThis is not allowed, because WebAssembly download and compilation must happen asynchronous.\nAdd an async splitpoint (i. e. import()) somewhere between your entrypoint and the WebAssembly module:\n${s.map(e=>`* ${e}`).join("\n")}`;super(o);this.name="WebAssemblyInInitialChunkError";this.hideStack=true;this.module=e;Error.captureStackTrace(this,this.constructor)}}},2243:function(e,t,n){"use strict";e.exports=function(e,t){var r=n(9505);var i=r.errorObj;var s=r.isObject;function tryConvertToPromise(n,r){if(s(n)){if(n instanceof e)return n;var o=getThen(n);if(o===i){if(r)r._pushContext();var a=e.reject(o.e);if(r)r._popContext();return a}else if(typeof o==="function"){if(isAnyBluebirdPromise(n)){var a=new e(t);n._then(a._fulfill,a._reject,undefined,a,null);return a}return doThenable(n,o,r)}}return n}function doGetThen(e){return e.then}function getThen(e){try{return doGetThen(e)}catch(e){i.e=e;return i}}var o={}.hasOwnProperty;function isAnyBluebirdPromise(e){try{return o.call(e,"_promise0")}catch(e){return false}}function doThenable(n,s,o){var a=new e(t);var u=a;if(o)o._pushContext();a._captureStackTrace();if(o)o._popContext();var c=true;var l=r.tryCatch(s).call(n,resolve,reject);c=false;if(a&&l===i){a._rejectCallback(l.e,true,true);a=null}function resolve(e){if(!a)return;a._resolveCallback(e);a=null}function reject(e){if(!a)return;a._rejectCallback(e,c,true);a=null}return u}return tryConvertToPromise}},2253:function(e,t,n){"use strict";var r=n(823),i=n(5245),s=n(778),o=n(8868),a=n(6833);e.exports=resolve;resolve.normalizeId=normalizeId;resolve.fullPath=getFullPath;resolve.url=resolveUrl;resolve.ids=resolveIds;resolve.inlineRef=inlineRef;resolve.schema=resolveSchema;function resolve(e,t,n){var r=this._refs[n];if(typeof r=="string"){if(this._refs[r])r=this._refs[r];else return resolve.call(this,e,t,r)}r=r||this._schemas[n];if(r instanceof o){return inlineRef(r.schema,this._opts.inlineRefs)?r.schema:r.validate||this._compile(r)}var i=resolveSchema.call(this,t,n);var s,a,u;if(i){s=i.schema;t=i.root;u=i.baseId}if(s instanceof o){a=s.validate||e.call(this,s.schema,t,undefined,u)}else if(s!==undefined){a=inlineRef(s,this._opts.inlineRefs)?s:e.call(this,s,t,undefined,u)}return a}function resolveSchema(e,t){var n=r.parse(t),i=_getFullPath(n),s=getFullPath(this._getId(e.schema));if(Object.keys(e.schema).length===0||i!==s){var a=normalizeId(i);var u=this._refs[a];if(typeof u=="string"){return resolveRecursive.call(this,e,u,n)}else if(u instanceof o){if(!u.validate)this._compile(u);e=u}else{u=this._schemas[a];if(u instanceof o){if(!u.validate)this._compile(u);if(a==normalizeId(t))return{schema:u,root:e,baseId:s};e=u}else{return}}if(!e.schema)return;s=getFullPath(this._getId(e.schema))}return getJsonPointer.call(this,n,s,e.schema,e)}function resolveRecursive(e,t,n){var r=resolveSchema.call(this,e,t);if(r){var i=r.schema;var s=r.baseId;e=r.root;var o=this._getId(i);if(o)s=resolveUrl(s,o);return getJsonPointer.call(this,n,s,i,e)}}var u=s.toHash(["properties","patternProperties","enum","dependencies","definitions"]);function getJsonPointer(e,t,n,r){e.fragment=e.fragment||"";if(e.fragment.slice(0,1)!="/")return;var i=e.fragment.split("/");for(var o=1;o{if(this.inputFileSystem&&this.inputFileSystem.purge){for(const t of e){this.inputFileSystem.purge(t)}for(const e of t){this.inputFileSystem.purge(e)}}const n=this.watcher.getTimeInfoEntries();o(null,n,n,t)});this.watcher.watch(c.concat(n),l,i);if(u){u.close()}return{close:()=>{if(this.watcher){this.watcher.close();this.watcher=null}},pause:()=>{if(this.watcher){this.watcher.pause()}},getFileTimeInfoEntries:()=>{if(this.watcher){return this.watcher.getTimeInfoEntries()}else{return new Map}},getContextInfoEntries:()=>{if(this.watcher){return this.watcher.getTimeInfoEntries()}else{return new Map}}}}}e.exports=NodeWatchFileSystem},2276:function(e){"use strict";e.exports=class NextPlugin{constructor(e,t){this.source=e;this.target=t}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("NextPlugin",(n,r,i)=>{e.doResolve(t,n,null,r,i)})}}},2282:function(e){e.exports=require("module")},2310:function(e,t,n){"use strict";e.exports={instanceof:n(4236),range:n(5332),regexp:n(5829),typeof:n(7189),dynamicDefaults:n(1835),prohibited:n(7431),uniqueItemProperties:n(9536),deepProperties:n(9494),deepRequired:n(3023),formatMinimum:n(581),formatMaximum:n(9513),patternRequired:n(9042),switch:n(5305),select:n(9821),transform:n(2111)}},2317:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:true});var r=n(5622);var i=n(9711);var s=n(8191);var o=n(8455);function createMatchPath(e,t,n){if(n===void 0){n=["main"]}var r=s.getAbsoluteMappingEntries(e,t);return function(e,t,i,s){return matchFromAbsolutePaths(r,e,t,i,s,n)}}t.createMatchPath=createMatchPath;function matchFromAbsolutePaths(e,t,n,r,s,a){if(n===void 0){n=i.readJsonFromDiskSync}if(r===void 0){r=i.fileExistsSync}if(s===void 0){s=Object.keys(require.extensions)}if(a===void 0){a=["main"]}var u=o.getPathsToTry(s,e,t);if(!u){return undefined}return findFirstExistingPath(u,n,r,a)}t.matchFromAbsolutePaths=matchFromAbsolutePaths;function findFirstExistingMainFieldMappedFile(e,t,n,i){for(var s=0;s{e.dependencyFactories.set(a,new s);e.dependencyTemplates.set(a,new a.Template);e.hooks.runtimeRequirementInTree.for(o.chunkName).tap("APIPlugin",t=>{e.addRuntimeModule(t,new u(t.name));return true});e.hooks.runtimeRequirementInTree.for(o.getFullHash).tap("APIPlugin",t=>{e.addRuntimeModule(t,new c(e));return true});const n=e=>{Object.keys(l).forEach(t=>{const n=l[t];e.hooks.expression.for(t).tap("APIPlugin",r(e,n.expr,n.req));if(n.type){e.hooks.evaluateTypeof.for(t).tap("APIPlugin",i(n.type))}})};t.hooks.parser.for("javascript/auto").tap("APIPlugin",n);t.hooks.parser.for("javascript/dynamic").tap("APIPlugin",n);t.hooks.parser.for("javascript/esm").tap("APIPlugin",n)})}}e.exports=APIPlugin},2332:function(e,t,n){"use strict";const r=n(7332);const i=n(1165);class SyncLoopHookCodeFactory extends i{content({onError:e,onDone:t,rethrowIfPossible:n}){return this.callTapsLooping({onError:(t,n)=>e(n),onDone:t,rethrowIfPossible:n})}}const s=new SyncLoopHookCodeFactory;class SyncLoopHook extends r{tapAsync(){throw new Error("tapAsync is not supported on a SyncLoopHook")}tapPromise(){throw new Error("tapPromise is not supported on a SyncLoopHook")}compile(e){s.setup(this,e);return s.create(e)}}e.exports=SyncLoopHook},2352:function(e,t,n){"use strict";const r=n(2433);class HotUpdateChunk extends r{constructor(){super();this.removedModules=undefined}updateHash(e,t){super.updateHash(e,t);e.update(JSON.stringify(this.removedModules))}}e.exports=HotUpdateChunk},2355:function(e,t){(function(e,n){"use strict";true?n(t):undefined})(this,function(e){"use strict";var t=function noop(){};var n=function throwError(){throw new Error("Callback was already called.")};var r=5;var i=0;var s="object";var o="function";var a=Array.isArray;var u=Object.keys;var c=Array.prototype.push;var l=typeof Symbol===o&&Symbol.iterator;var f,d,p;createImmediate();var h=createEach(arrayEach,baseEach,symbolEach);var m=createMap(arrayEachIndex,baseEachIndex,symbolEachIndex,true);var g=createMap(arrayEachIndex,baseEachKey,symbolEachKey,false);var y=createFilter(arrayEachIndexValue,baseEachIndexValue,symbolEachIndexValue,true);var v=createFilterSeries(true);var b=createFilterLimit(true);var w=createFilter(arrayEachIndexValue,baseEachIndexValue,symbolEachIndexValue,false);var E=createFilterSeries(false);var _=createFilterLimit(false);var S=createDetect(arrayEachValue,baseEachValue,symbolEachValue,true);var k=createDetectSeries(true);var C=createDetectLimit(true);var D=createEvery(arrayEachValue,baseEachValue,symbolEachValue);var A=createEverySeries();var x=createEveryLimit();var M=createPick(arrayEachIndexValue,baseEachKeyValue,symbolEachKeyValue,true);var T=createPickSeries(true);var O=createPickLimit(true);var F=createPick(arrayEachIndexValue,baseEachKeyValue,symbolEachKeyValue,false);var I=createPickSeries(false);var R=createPickLimit(false);var P=createTransform(arrayEachResult,baseEachResult,symbolEachResult);var N=createSortBy(arrayEachIndexValue,baseEachIndexValue,symbolEachIndexValue);var L=createConcat(arrayEachIndex,baseEachIndex,symbolEachIndex);var j=createGroupBy(arrayEachValue,baseEachValue,symbolEachValue);var B=createParallel(arrayEachFunc,baseEachFunc);var U=createApplyEach(m);var G=createApplyEach(mapSeries);var z=createLogger("log");var H=createLogger("dir");var q={VERSION:"2.6.1",each:h,eachSeries:eachSeries,eachLimit:eachLimit,forEach:h,forEachSeries:eachSeries,forEachLimit:eachLimit,eachOf:h,eachOfSeries:eachSeries,eachOfLimit:eachLimit,forEachOf:h,forEachOfSeries:eachSeries,forEachOfLimit:eachLimit,map:m,mapSeries:mapSeries,mapLimit:mapLimit,mapValues:g,mapValuesSeries:mapValuesSeries,mapValuesLimit:mapValuesLimit,filter:y,filterSeries:v,filterLimit:b,select:y,selectSeries:v,selectLimit:b,reject:w,rejectSeries:E,rejectLimit:_,detect:S,detectSeries:k,detectLimit:C,find:S,findSeries:k,findLimit:C,pick:M,pickSeries:T,pickLimit:O,omit:F,omitSeries:I,omitLimit:R,reduce:reduce,inject:reduce,foldl:reduce,reduceRight:reduceRight,foldr:reduceRight,transform:P,transformSeries:transformSeries,transformLimit:transformLimit,sortBy:N,sortBySeries:sortBySeries,sortByLimit:sortByLimit,some:some,someSeries:someSeries,someLimit:someLimit,any:some,anySeries:someSeries,anyLimit:someLimit,every:D,everySeries:A,everyLimit:x,all:D,allSeries:A,allLimit:x,concat:L,concatSeries:concatSeries,concatLimit:concatLimit,groupBy:j,groupBySeries:groupBySeries,groupByLimit:groupByLimit,parallel:B,series:series,parallelLimit:parallelLimit,tryEach:tryEach,waterfall:waterfall,angelFall:angelFall,angelfall:angelFall,whilst:whilst,doWhilst:doWhilst,until:until,doUntil:doUntil,during:during,doDuring:doDuring,forever:forever,compose:compose,seq:seq,applyEach:U,applyEachSeries:G,queue:queue,priorityQueue:priorityQueue,cargo:cargo,auto:auto,autoInject:autoInject,retry:retry,retryable:retryable,iterator:iterator,times:times,timesSeries:timesSeries,timesLimit:timesLimit,race:race,apply:apply,nextTick:d,setImmediate:p,memoize:memoize,unmemoize:unmemoize,ensureAsync:ensureAsync,constant:constant,asyncify:asyncify,wrapSync:asyncify,log:z,dir:H,reflect:reflect,reflectAll:reflectAll,timeout:timeout,createLogger:createLogger,safe:safe,fast:fast};e["default"]=q;baseEachSync(q,function(t,n){e[n]=t},u(q));function createImmediate(e){var t=function delay(e){var t=slice(arguments,1);setTimeout(function(){e.apply(null,t)})};p=typeof setImmediate===o?setImmediate:t;if(typeof process===s&&typeof process.nextTick===o){f=/^v0.10/.test(process.version)?p:process.nextTick;d=/^v0/.test(process.version)?p:process.nextTick}else{d=f=p}if(e===false){f=function(e){e()}}}function createArray(e){var t=-1;var n=e.length;var r=Array(n);while(++t=t&&e[o]>=r){o--}if(s>o){break}swap(e,i,s++,o--)}return s}function swap(e,t,n,r){var i=e[n];e[n]=e[r];e[r]=i;var s=t[n];t[n]=t[r];t[r]=s}function quickSort(e,t,n,r){if(t===n){return}var i=t;while(++i<=n&&e[t]===e[i]){var s=i-1;if(r[s]>r[i]){var o=r[s];r[s]=r[i];r[i]=o}}if(i>n){return}var a=e[t]>e[i]?t:i;i=partition(e,t,n,e[a],r);quickSort(e,t,i-1,r);quickSort(e,i,n,r)}function makeConcatResult(e){var n=[];arrayEachSync(e,function(e){if(e===t){return}if(a(e)){c.apply(n,e)}else{n.push(e)}});return n}function arrayEach(e,t,n){var r=-1;var i=e.length;if(t.length===3){while(++rd?d:i,b);function arrayIterator(){p=_++;if(pc?c:r,y);function arrayIterator(){if(bc?c:r,v);function arrayIterator(){d=w++;if(dc?c:r,y);function arrayIterator(){d=w++;if(dd?d:i,b);function arrayIterator(){p=E++;if(pd?d:i,b);function arrayIterator(){p=_++;if(pc?c:n,y);function arrayIterator(){d=w++;if(dc?c:r,w);function arrayIterator(){if(_=2){c.apply(v,slice(arguments,1))}if(e){i(e,v)}else if(++b===o){g=n;i(null,v)}else if(y){f(g)}else{y=true;g()}y=false}}function concatLimit(e,r,i,o){o=o||t;var c,d,p,h,m,g;var y=false;var v=0;var b=0;if(a(e)){c=e.length;m=i.length===3?arrayIteratorWithIndex:arrayIterator}else if(!e){}else if(l&&e[l]){c=Infinity;g=[];p=e[l]();m=i.length===3?symbolIteratorWithKey:symbolIterator}else if(typeof e===s){var w=u(e);c=w.length;m=i.length===3?objectIteratorWithKey:objectIterator}if(!c||isNaN(r)||r<1){return o(null,[])}g=g||Array(c);timesSync(r>c?c:r,m);function arrayIterator(){if(vc?c:r,v);function arrayIterator(){if(wo?o:r,h);function arrayIterator(){c=g++;if(c1){var i=slice(arguments,1);return r.apply(this,i)}else{return r}}}function DLL(){this.head=null;this.tail=null;this.length=0}DLL.prototype._removeLink=function(e){var t=e.prev;var n=e.next;if(t){t.next=n}else{this.head=n}if(n){n.prev=t}else{this.tail=t}e.prev=null;e.next=null;this.length--;return e};DLL.prototype.empty=DLL;DLL.prototype._setInitial=function(e){this.length=1;this.head=this.tail=e};DLL.prototype.insertBefore=function(e,t){t.prev=e.prev;t.next=e;if(e.prev){e.prev.next=t}else{this.head=t}e.prev=t;this.length++};DLL.prototype.unshift=function(e){if(this.head){this.insertBefore(this.head,e)}else{this._setInitial(e)}};DLL.prototype.push=function(e){var t=this.tail;if(t){e.prev=t;e.next=t.next;this.tail=e;t.next=e;this.length++}else{this._setInitial(e)}};DLL.prototype.shift=function(){return this.head&&this._removeLink(this.head)};DLL.prototype.splice=function(e){var t;var n=[];while(e--&&(t=this.shift())){n.push(t)}return n};DLL.prototype.remove=function(e){var t=this.head;while(t){if(e(t)){this._removeLink(t)}t=t.next}return this};function baseQueue(e,r,i,s){if(i===undefined){i=1}else if(isNaN(i)||i<1){throw new Error("Concurrency must not be zero")}var o=0;var u=[];var l,d;var p={_tasks:new DLL,concurrency:i,payload:s,saturated:t,unsaturated:t,buffer:i/4,empty:t,drain:t,error:t,started:false,paused:false,push:push,kill:kill,unshift:unshift,remove:remove,process:e?runQueue:runCargo,length:getLength,running:running,workersList:getWorkersList,idle:idle,pause:pause,resume:resume,_worker:r};return p;function push(e,t){_insert(e,t)}function unshift(e,t){_insert(e,t,true)}function _exec(e){var t={data:e,callback:l};if(d){p._tasks.unshift(t)}else{p._tasks.push(t)}f(p.process)}function _insert(e,n,r){if(n==null){n=t}else if(typeof n!=="function"){throw new Error("task callback must be a function")}p.started=true;var i=a(e)?e:[e];if(e===undefined||!i.length){if(p.idle()){f(p.drain)}return}d=r;l=n;arrayEachSync(i,_exec)}function kill(){p.drain=t;p._tasks.empty()}function _next(e,t){var r=false;return function done(i,s){if(r){n()}r=true;o--;var a;var c=-1;var l=u.length;var f=-1;var d=t.length;var p=arguments.length>2;var h=p&&createArray(arguments);while(++f=c.priority){c=c.next}while(u--){var l={data:s[u],priority:n,callback:i};if(c){r._tasks.insertBefore(c,l)}else{r._tasks.push(l)}f(r.process)}}}function cargo(e,t){return baseQueue(false,e,1,t)}function auto(e,r,i){if(typeof r===o){i=r;r=null}var s=u(e);var c=s.length;var l={};if(c===0){return i(null,l)}var f=0;var d=[];var p=Object.create(null);i=onlyOnce(i||t);r=r||c;baseEachSync(e,iterator,s);proceedQueue();function iterator(e,r){var o,u;if(!a(e)){o=e;u=0;d.push([o,u,done]);return}var h=e.length-1;o=e[h];u=h;if(h===0){d.push([o,u,done]);return}var m=-1;while(++m=e){i(null,s);i=n}else if(o){f(iterate)}else{o=true;iterate()}o=false}}function timesLimit(e,r,i,s){s=s||t;e=+e;if(isNaN(e)||e<1||isNaN(r)||r<1){return s(null,[])}var o=Array(e);var a=false;var u=0;var c=0;timesSync(r>e?e:r,iterate);function iterate(){var t=u++;if(t=e){s(null,o);s=n}else if(a){f(iterate)}else{a=true;iterate()}a=false}}}function race(e,n){n=once(n||t);var r,i;var o=-1;if(a(e)){r=e.length;while(++o2){n=slice(arguments,1)}t(null,{value:n})}}}function reflectAll(e){var t,n;if(a(e)){t=Array(e.length);arrayEachSync(e,iterate)}else if(e&&typeof e===s){n=u(e);t={};baseEachSync(e,iterate,n)}return t;function iterate(e,n){t[n]=reflect(e)}}function createLogger(e){return function(e){var t=slice(arguments,1);t.push(done);e.apply(null,t)};function done(t){if(typeof console===s){if(t){if(console.error){console.error(t)}return}if(console[e]){var n=slice(arguments,1);arrayEachSync(n,function(t){console[e](t)})}}}}function safe(){createImmediate();return e}function fast(){createImmediate(false);return e}})},2357:function(e){e.exports=require("assert")},2372:function(e,t,n){var r=n(2453).Transform;var i=n(8309);var s=n(250);var o=n(1669);var a=function(e,t,n){if(!(this instanceof a))return new a(e,t,n);if(typeof e==="function"){n=e;t=null;e=1}if(typeof t==="function"){n=t;t=null}if(!t)t={};if(!t.highWaterMark)t.highWaterMark=Math.max(e,16);if(t.objectMode!==false)t.objectMode=true;r.call(this,t);this._maxParallel=e;this._ontransform=n;this._destroyed=false;this._flushed=false;this._ordered=t.ordered!==false;this._buffer=this._ordered?s(e):[];this._top=0;this._bottom=0;this._ondrain=null};i(a,r);a.prototype.destroy=function(){if(this._destroyed)return;this._destroyed=true;this.emit("close")};a.prototype._transform=function(e,t,n){var r=this;var i=this._top++;this._ontransform(e,function(e,t){if(r._destroyed)return;if(e){r.emit("error",e);r.push(null);r.destroy();return}if(r._ordered){r._buffer.put(i,t===undefined||t===null?null:t)}else{r._buffer.push(t)}r._drain()});if(this._top-this._bottom0){var e=this._buffer.pop();this._bottom++;if(e===null)continue;this.push(e)}}if(!this._drained()||!this._ondrain)return;var t=this._ondrain;this._ondrain=null;t()};a.prototype._drained=function(){var e=this._top-this._bottom;return this._flushed?!e:e{if(e&&typeof e==="object"){if("line"in e&&"column"in e){return`${e.line}:${e.column}`}else if("line"in e){return`${e.line}:?`}}return""};const n=e=>{if(e&&typeof e==="object"){if("start"in e&&e.start&&"end"in e&&e.end){if(typeof e.start==="object"&&typeof e.start.line==="number"&&typeof e.end==="object"&&typeof e.end.line==="number"&&typeof e.end.column==="number"&&e.start.line===e.end.line){return`${t(e.start)}-${e.end.column}`}else if(typeof e.start==="object"&&typeof e.start.line==="number"&&typeof e.start.column!=="number"&&typeof e.end==="object"&&typeof e.end.line==="number"&&typeof e.end.column!=="number"){return`${e.start.line}-${e.end.line}`}else{return`${t(e.start)}-${t(e.end)}`}}if("start"in e&&e.start){return t(e.start)}if("name"in e&&"index"in e){return`${e.name}[${e.index}]`}if("name"in e){return e.name}}return""};e.exports=n},2383:function(e,t,n){"use strict";const r=n(538);const i=n(921);const{STAGE_ADVANCED:s}=n(2414);class MinChunkSizePlugin{constructor(e){r(i,e,"Min Chunk Size Plugin");this.options=e}apply(e){const t=this.options;const n=t.minChunkSize;e.hooks.compilation.tap("MinChunkSizePlugin",e=>{e.hooks.optimizeChunks.tap({name:"MinChunkSizePlugin",stage:s},r=>{const i=e.chunkGraph;const s={chunkOverhead:1,entryChunkMultiplicator:1};const o=Array.from(r).reduce((e,t,n)=>{for(const n of r){if(n===t)break;e.push([n,t])}return e},[]).filter(e=>{const t=i.getChunkSize(e[0],s){const n=i.getChunkSize(e[0],t);const r=i.getChunkSize(e[1],t);const s=i.getIntegratedChunksSize(e[0],e[1],t);const o=[n+r-s,s,e[0],e[1]];return o}).sort((e,t)=>{const n=t[0]-e[0];if(n!==0)return n;return e[1]-t[1]});if(o.length===0)return;const a=o[0];i.integrateChunks(a[2],a[3]);e.chunks.delete(a[3]);return true})})}}e.exports=MinChunkSizePlugin},2388:function(e,t,n){"use strict";const r=n(2112);const{SourceNode:i,SourceMapConsumer:s}=n(9596);const{SourceListMap:o,fromStringWithSourceMap:a}=n(6900);const{getSourceAndMap:u,getMap:c}=n(387);class ConcatSource extends r{constructor(){super();this.children=[];for(let e=0;e=1){this._inFlight--;this._drainQueue();if(this._isResolved())return true}}else{if(l>=1&&this._inFlight>=l){r[n]=t;this._queue.push(n);return false}if(a!==null)a[n]=t;var f=this._promise;var d=this._callback;var p=f._boundValue();f._pushContext();var h=u(d).call(p,t,n,s);var m=f._popContext();o.checkForgottenReturns(h,m,a!==null?"Promise.filter":"Promise.map",f);if(h===c){this._reject(h.e);return true}var g=i(h,this._promise);if(g instanceof e){g=g._target();var y=g._bitField;if((y&50397184)===0){if(l>=1)this._inFlight++;r[n]=g;g._proxy(this,(n+1)*-1);return false}else if((y&33554432)!==0){h=g._value()}else if((y&16777216)!==0){this._reject(g._reason());return true}else{this._cancel();return true}}r[n]=h}var v=++this._totalResolved;if(v>=s){if(a!==null){this._filter(r,a)}else{this._resolve(r)}return true}return false};MappingPromiseArray.prototype._drainQueue=function(){var e=this._queue;var t=this._limit;var n=this._values;while(e.length>0&&this._inFlight=1?o:0;return new MappingPromiseArray(t,n,o,s).promise()}e.prototype.map=function(e,t){return map(this,e,t,null)};e.map=function(e,t,n,r){return map(e,t,n,r)}}},2413:function(e){e.exports=require("stream")},2414:function(e,t){"use strict";t.STAGE_BASIC=-10;t.STAGE_DEFAULT=0;t.STAGE_ADVANCED=10},2422:function(e,t,n){"use strict";const r=n(6253);const i=n(3081);const{compareModulesById:s}=n(8673);const o=n(136);const a=n(5462);const u=n(6263);class AsyncWebAssemblyModulesPlugin{constructor(e){this.options=e}apply(e){e.hooks.compilation.tap("AsyncWebAssemblyModulesPlugin",(e,{normalModuleFactory:t})=>{e.dependencyFactories.set(i,t);t.hooks.createParser.for("webassembly/async-experimental").tap("AsyncWebAssemblyModulesPlugin",()=>{return new u});t.hooks.createGenerator.for("webassembly/async-experimental").tap("AsyncWebAssemblyModulesPlugin",()=>{return r.byType({javascript:new a(e.outputOptions.webassemblyModuleFilename),webassembly:new o(this.options)})});const n=(t,n)=>{const{moduleGraph:r,chunkGraph:i,runtimeTemplate:o}=e;const a=n.chunk;const u=n.outputOptions;const c=n.moduleTemplates;const l=n.dependencyTemplates;for(const e of i.getOrderedChunkModulesIterable(a,s(i))){if(e.type==="webassembly/async-experimental"){const n=u.webassemblyModuleFilename;t.push({render:()=>c.webassembly.render(e,{chunk:a,dependencyTemplates:l,runtimeTemplate:o,moduleGraph:r,chunkGraph:i}),filenameTemplate:n,pathOptions:{module:e,chunkGraph:i},identifier:`webassemblyAsyncModule${i.getModuleId(e)}`,hash:i.getModuleHash(e)})}}return t};e.chunkTemplate.hooks.renderManifest.tap("WebAssemblyModulesPlugin",n);e.mainTemplate.hooks.renderManifest.tap("WebAssemblyModulesPlugin",n)})}}e.exports=AsyncWebAssemblyModulesPlugin},2433:function(e,t,n){"use strict";const r=n(5137);const i=n(1452);const{intersect:s}=n(6221);const o=n(6102);const{compareModulesByIdOrIdentifier:a}=n(8673);const{arrayToSetDeprecation:u}=n(6595);let c=1e3;const l=(e,t)=>{if(e.id0}addModule(e){return r.getChunkGraphForChunk(this,"Chunk.addModule").connectChunkAndModule(this,e)}removeModule(e){r.getChunkGraphForChunk(this,"Chunk.removeModule").disconnectChunkAndModule(this,e)}getNumberOfModules(){return r.getChunkGraphForChunk(this,"Chunk.getNumberOfModules").getNumberOfChunkModules(this)}get modulesIterable(){const e=r.getChunkGraphForChunk(this,"Chunk.modulesIterable");return e.getOrderedChunkModulesIterable(this,a(e))}compareTo(e){const t=r.getChunkGraphForChunk(this,"Chunk.compareTo");return t.compareChunks(this,e)}containsModule(e){return r.getChunkGraphForChunk(this,"Chunk.containsModule").isModuleInChunk(e,this)}getModules(){return r.getChunkGraphForChunk(this,"Chunk.getModules").getChunkModules(this)}remove(){const e=r.getChunkGraphForChunk(this,"Chunk.remove");e.disconnectChunk(this);this.disconnectFromGroups()}moveModule(e,t){const n=r.getChunkGraphForChunk(this,"Chunk.moveModule");n.disconnectChunkAndModule(this,e);n.connectChunkAndModule(t,e)}integrate(e){const t=r.getChunkGraphForChunk(this,"Chunk.integrate");if(t.canChunksBeIntegrated(this,e)){t.integrateChunks(this,e);return true}else{return false}}canBeIntegrated(e){const t=r.getChunkGraphForChunk(this,"Chunk.canBeIntegrated");return t.canChunksBeIntegrated(this,e)}isEmpty(){const e=r.getChunkGraphForChunk(this,"Chunk.isEmpty");return e.getNumberOfChunkModules(this)===0}modulesSize(){const e=r.getChunkGraphForChunk(this,"Chunk.modulesSize");return e.getChunkModulesSize(this)}size(e={}){const t=r.getChunkGraphForChunk(this,"Chunk.size");return t.getChunkSize(this,e)}integratedSize(e,t){const n=r.getChunkGraphForChunk(this,"Chunk.integratedSize");return n.getIntegratedChunksSize(this,e,t)}getChunkModuleMaps(e){const t=r.getChunkGraphForChunk(this,"Chunk.getChunkModuleMaps");return t.getChunkModuleMaps(this,e)}hasModuleInGraph(e,t){const n=r.getChunkGraphForChunk(this,"Chunk.hasModuleInGraph");return n.hasModuleInGraph(this,e,t)}hasRuntime(){for(const e of this._groups){if(e.isInitial()&&e instanceof i&&e.getRuntimeChunk()===this){return true}}return false}canBeInitial(){for(const e of this._groups){if(e.isInitial())return true}return false}isOnlyInitial(){if(this._groups.size<=0)return false;for(const e of this._groups){if(!e.isInitial())return false}return true}addGroup(e){if(this._groups.has(e))return false;this._groups.add(e);return true}removeGroup(e){if(!this._groups.has(e))return false;this._groups.delete(e);return true}isInGroup(e){return this._groups.has(e)}getNumberOfGroups(){return this._groups.size}get groupsIterable(){return this._groups}disconnectFromGroups(){for(const e of this._groups){e.removeChunk(this)}}split(e){for(const t of this._groups){t.insertChunk(e,this);e.addGroup(t)}for(const t of this.idNameHints){e.idNameHints.add(t)}}updateHash(e,t){e.update(`${this.id} `);e.update(this.ids?this.ids.join(","):"");e.update(`${this.name||""} `);for(const n of t.getOrderedChunkModulesIterable(this,a(t))){e.update(t.getModuleHash(n))}const n=t.getChunkEntryModulesWithChunkGroupIterable(this);for(const[r,i]of n){e.update("entry");e.update(t.getModuleHash(r));e.update(i.id)}}getAllAsyncChunks(){const e=new Set;const t=new Set;const n=s(Array.from(this.groupsIterable,e=>new Set(e.chunks)));for(const t of this.groupsIterable){for(const n of t.childrenIterable){e.add(n)}}for(const r of e){for(const e of r.chunks){if(!n.has(e)){t.add(e)}}for(const t of r.childrenIterable){e.add(t)}}return t}getAllReferencedChunks(){const e=new Set(this.groupsIterable);const t=new Set;for(const n of e){for(const e of n.chunks){t.add(e)}for(const t of n.childrenIterable){e.add(t)}}return t}hasAsyncChunks(){const e=new Set;const t=s(Array.from(this.groupsIterable,e=>new Set(e.chunks)));for(const t of this.groupsIterable){for(const n of t.childrenIterable){e.add(n)}}for(const n of e){for(const e of n.chunks){if(!t.has(e)){return true}}for(const t of n.childrenIterable){e.add(t)}}return false}getChildIdsByOrders(e,t){const n=new Map;for(const e of this.groupsIterable){if(e.chunks[e.chunks.length-1]===this){for(const t of e.childrenIterable){for(const e of Object.keys(t.options)){if(e.endsWith("Order")){const r=e.substr(0,e.length-"Order".length);let i=n.get(r);if(i===undefined){i=[];n.set(r,i)}i.push({order:t.options[e],group:t})}}}}}const r=Object.create(null);for(const[i,s]of n){s.sort((t,n)=>{const r=n.order-t.order;if(r!==0)return r;return t.group.compareTo(e,n.group)});const n=s.reduce((n,r)=>{for(const i of r.group.chunks){if(t&&!t(i,e))continue;n.add(i.id)}return n},new Set);if(n.size>0){r[i]=Array.from(n)}}return r}getChildIdsByOrdersMap(e,t,n){const r=Object.create(null);const i=t=>{const i=t.getChildIdsByOrders(e,n);for(const e of Object.keys(i)){let n=r[e];if(n===undefined){r[e]=n=Object.create(null)}n[t.id]=i[e]}};if(t){const e=new Set;for(const t of this.groupsIterable){for(const n of t.chunks){e.add(n)}}for(const t of e){i(t)}}for(const e of this.getAllAsyncChunks()){i(e)}return r}}e.exports=Chunk},2434:function(e,t,n){"use strict";e.exports=function(e,t,r){var i=n(9505);var s=e.CancellationError;var o=i.errorObj;var a=n(3894)(r);function PassThroughHandlerContext(e,t,n){this.promise=e;this.type=t;this.handler=n;this.called=false;this.cancelPromise=null}PassThroughHandlerContext.prototype.isFinallyHandler=function(){return this.type===0};function FinallyHandlerCancelReaction(e){this.finallyHandler=e}FinallyHandlerCancelReaction.prototype._resultCancelled=function(){checkCancel(this.finallyHandler)};function checkCancel(e,t){if(e.cancelPromise!=null){if(arguments.length>1){e.cancelPromise._reject(t)}else{e.cancelPromise._cancel()}e.cancelPromise=null;return true}return false}function succeed(){return finallyHandler.call(this,this.promise._target()._settledValue())}function fail(e){if(checkCancel(this,e))return;o.e=e;return o}function finallyHandler(n){var i=this.promise;var a=this.handler;if(!this.called){this.called=true;var u=this.isFinallyHandler()?a.call(i._boundValue()):a.call(i._boundValue(),n);if(u===r){return u}else if(u!==undefined){i._setReturnedNonUndefined();var c=t(u,i);if(c instanceof e){if(this.cancelPromise!=null){if(c._isCancelled()){var l=new s("late cancellation observer");i._attachExtraTrace(l);o.e=l;return o}else if(c.isPending()){c._attachCancellationCallback(new FinallyHandlerCancelReaction(this))}}return c._then(succeed,fail,undefined,this,undefined)}}}if(i.isRejected()){checkCancel(this);o.e=n;return o}else{checkCancel(this);return n}}e.prototype._passThrough=function(e,t,n,r){if(typeof e!=="function")return this.then();return this._then(n,r,undefined,new PassThroughHandlerContext(this,t,e),undefined)};e.prototype.lastly=e.prototype["finally"]=function(e){return this._passThrough(e,0,finallyHandler,finallyHandler)};e.prototype.tap=function(e){return this._passThrough(e,1,finallyHandler)};e.prototype.tapCatch=function(t){var n=arguments.length;if(n===1){return this._passThrough(t,1,undefined,finallyHandler)}else{var r=new Array(n-1),s=0,o;for(o=0;o=0){this.dependencies.splice(t,1)}}updateHash(e,t){for(const n of this.dependencies)n.updateHash(e,t);for(const n of this.blocks)n.updateHash(e,t)}hasDependencies(e){if(e){for(const t of this.dependencies){if(e(t))return true}}else{if(this.dependencies.length>0){return true}}for(const t of this.blocks){if(t.hasDependencies(e))return true}return false}serialize({write:e}){e(this.dependencies);e(this.blocks)}deserialize({read:e}){this.dependencies=e();this.blocks=e();for(const e of this.blocks){e.parent=this}}}r(DependenciesBlock,"webpack/lib/DependenciesBlock");e.exports=DependenciesBlock},2451:function(e,t,n){"use strict";const r=n(3520);const i=n(2876);class LoaderPlugin{apply(e){e.hooks.compilation.tap("LoaderPlugin",(e,{normalModuleFactory:t})=>{e.dependencyFactories.set(i,t)});e.hooks.compilation.tap("LoaderPlugin",e=>{const t=e.moduleGraph;r.getCompilationHooks(e).loader.tap("LoaderPlugin",n=>{n.loadModule=((r,s)=>{const o=new i(r);o.loc={name:r};const a=e.dependencyFactories.get(o.constructor);if(a===undefined){return s(new Error(`No module factory available for dependency type: ${o.constructor.name}`))}e.buildQueue.increaseParallelism();e.handleModuleCreation({factory:a,dependencies:[o],originModule:n._module,context:n.context},r=>{e.buildQueue.decreaseParallelism();if(r){return s(r)}const i=t.getModule(o);if(!i){return s(new Error("Cannot load the module"))}const a=i.originalSource();if(!a){throw new Error("The module created for a LoaderDependency must have an original source")}let u,c;if(a.sourceAndMap){const e=a.sourceAndMap();c=e.map;u=e.source}else{c=a.map();u=a.source()}if(i.buildInfo.fileDependencies){for(const e of i.buildInfo.fileDependencies){n.addDependency(e)}}if(i.buildInfo.contextDependencies){for(const e of i.buildInfo.contextDependencies){n.addContextDependency(e)}}return s(null,u,c,i)})})})})}}e.exports=LoaderPlugin},2453:function(e,t,n){var r=n(2413);if(process.env.READABLE_STREAM==="disable"&&r){e.exports=r;t=e.exports=r.Readable;t.Readable=r.Readable;t.Writable=r.Writable;t.Duplex=r.Duplex;t.Transform=r.Transform;t.PassThrough=r.PassThrough;t.Stream=r}else{t=e.exports=n(7469);t.Stream=r||t;t.Readable=t;t.Writable=n(7867);t.Duplex=n(1959);t.Transform=n(7837);t.PassThrough=n(4021)}},2456:function(e,t,n){"use strict";const r=n(6853);const i=n(7305);const s=n(8370).hasContent;const o=r.promisify(n(6008));e.exports=rm;function rm(e,t){return s(e,t).then(t=>{if(t){const n=t.sri;if(n){return o(i(e,n)).then(()=>true)}}else{return false}})}},2471:function(e){"use strict";e.exports=function getInnerRequest(e,t){if(typeof t.__innerRequest==="string"&&t.__innerRequest_request===t.request&&t.__innerRequest_relativePath===t.relativePath)return t.__innerRequest;let n;if(t.request){n=t.request;if(/^\.\.?\//.test(n)&&t.relativePath){n=e.join(t.relativePath,n)}}else{n=t.relativePath}t.__innerRequest_request=t.request;t.__innerRequest_relativePath=t.relativePath;return t.__innerRequest=n}},2510:function(e,t,n){"use strict";const r=n(1673);class WarnCaseSensitiveModulesPlugin{apply(e){e.hooks.compilation.tap("WarnCaseSensitiveModulesPlugin",e=>{e.hooks.seal.tap("WarnCaseSensitiveModulesPlugin",()=>{const t=new Map;for(const n of e.modules){const e=n.identifier().toLowerCase();const r=t.get(e);if(r){r.push(n)}else{t.set(e,[n])}}for(const n of t){const t=n[1];if(t.length>1){e.warnings.push(new r(t,e.moduleGraph))}}})})}}e.exports=WarnCaseSensitiveModulesPlugin},2512:function(e,t,n){"use strict";const r=n(3367);const i=n(8614).EventEmitter;const s=n(554);let o;function addWatchersToSet(e,t){for(const n of e){if(n!==true&&!t.has(n.directoryWatcher)){t.add(n.directoryWatcher);addWatchersToSet(n.directoryWatcher.directories.values(),t)}}}const a=e=>{const t=s(e,{globstar:true,extended:true}).source;const n=t.slice(0,t.length-1)+"(?:$|\\/)";return n};const u=e=>{if(Array.isArray(e)){return new RegExp(e.map(e=>a(e)).join("|"))}else if(typeof e==="string"){return new RegExp(a(e))}else if(e){throw new Error(`Invalid option for 'ignored': ${e}`)}else{return undefined}};class Watchpack extends i{constructor(e){super();if(!e)e={};if(!e.aggregateTimeout)e.aggregateTimeout=200;this.options=e;this.watcherOptions={ignored:u(e.ignored),poll:e.poll};this.fileWatchers=[];this.dirWatchers=[];this.paused=false;this.aggregatedChanges=new Set;this.aggregatedRemovals=new Set;this.aggregateTimeout=0;this._onTimeout=this._onTimeout.bind(this)}watch(e,t,n){this.paused=false;const i=this.fileWatchers;const s=this.dirWatchers;const o=this.watcherOptions.ignored?e=>!this.watcherOptions.ignored.test(e.replace(/\\/g,"/")):()=>true;this.fileWatchers=e.filter(o).map(e=>this._fileWatcher(e,r.watchFile(e,this.watcherOptions,n)));this.dirWatchers=t.filter(o).map(e=>this._dirWatcher(e,r.watchDirectory(e,this.watcherOptions,n)));i.forEach(e=>e.close());s.forEach(e=>e.close())}close(){this.paused=true;if(this.aggregateTimeout)clearTimeout(this.aggregateTimeout);this.fileWatchers.forEach(e=>e.close());this.dirWatchers.forEach(e=>e.close());this.fileWatchers.length=0;this.dirWatchers.length=0}pause(){this.paused=true;if(this.aggregateTimeout)clearTimeout(this.aggregateTimeout)}getTimes(){const e=new Set;addWatchersToSet(this.fileWatchers,e);addWatchersToSet(this.dirWatchers,e);const t=Object.create(null);for(const n of e){const e=n.getTimes();Object.keys(e).forEach(n=>t[n]=e[n])}return t}getTimeInfoEntries(){if(o===undefined){o=n(6755).EXISTANCE_ONLY_TIME_ENTRY}const e=new Set;addWatchersToSet(this.fileWatchers,e);addWatchersToSet(this.dirWatchers,e);const t=new Map;for(const n of e){const e=n.getTimeInfoEntries();for(const[n,r]of e){if(t.has(n)){if(r===o)continue;const e=t.get(n);if(e===r)continue;if(e!==o){t.set(n,Object.assign({},e,r));continue}}t.set(n,r)}}return t}_fileWatcher(e,t){t.on("change",(t,n)=>{this._onChange(e,t,e,n)});t.on("remove",t=>{this._onRemove(e,e,t)});return t}_dirWatcher(e,t){t.on("change",(t,n,r)=>{this._onChange(e,n,t,r)});return t}_onChange(e,t,n,r){n=n||e;if(this.paused)return;this.emit("change",n,t,r);if(this.aggregateTimeout)clearTimeout(this.aggregateTimeout);this.aggregatedChanges.add(e);this.aggregateTimeout=setTimeout(this._onTimeout,this.options.aggregateTimeout)}_onRemove(e,t){t=t||e;if(this.paused)return;this.emit("remove",e);if(this.aggregateTimeout)clearTimeout(this.aggregateTimeout);this.aggregatedRemovals.add(e);this.aggregateTimeout=setTimeout(this._onTimeout,this.options.aggregateTimeout)}_onTimeout(){this.aggregateTimeout=0;const e=this.aggregatedChanges;const t=this.aggregatedRemovals;this.aggregatedChanges=new Set;this.aggregatedRemovals=new Set;this.emit("aggregated",e,t)}}e.exports=Watchpack},2535:function(e,t,n){"use strict";var r=n(411);function destroy(e,t){var n=this;var i=this._readableState&&this._readableState.destroyed;var s=this._writableState&&this._writableState.destroyed;if(i||s){if(t){t(e)}else if(e&&(!this._writableState||!this._writableState.errorEmitted)){r.nextTick(emitErrorNT,this,e)}return this}if(this._readableState){this._readableState.destroyed=true}if(this._writableState){this._writableState.destroyed=true}this._destroy(e||null,function(e){if(!t&&e){r.nextTick(emitErrorNT,n,e);if(n._writableState){n._writableState.errorEmitted=true}}else if(t){t(e)}});return this}function undestroy(){if(this._readableState){this._readableState.destroyed=false;this._readableState.reading=false;this._readableState.ended=false;this._readableState.endEmitted=false}if(this._writableState){this._writableState.destroyed=false;this._writableState.ended=false;this._writableState.ending=false;this._writableState.finished=false;this._writableState.errorEmitted=false}}function emitErrorNT(e,t){e.emit("error",t)}e.exports={destroy:destroy,undestroy:undestroy}},2543:function(e){"use strict";e.exports=function generate__formatLimit(e,t,n){var r=" ";var i=e.level;var s=e.dataLevel;var o=e.schema[t];var a=e.schemaPath+e.util.getProperty(t);var u=e.errSchemaPath+"/"+t;var c=!e.opts.allErrors;var l;var f="data"+(s||"");var d="valid"+i;r+="var "+d+" = undefined;";if(e.opts.format===false){r+=" "+d+" = true; ";return r}var p=e.schema.format,h=e.opts.$data&&p.$data,m="";if(h){var g=e.util.getData(p.$data,s,e.dataPathArr),y="format"+i,v="compare"+i;r+=" var "+y+" = formats["+g+"] , "+v+" = "+y+" && "+y+".compare;"}else{var y=e.formats[p];if(!(y&&y.compare)){r+=" "+d+" = true; ";return r}var v="formats"+e.util.getProperty(p)+".compare"}var b=t=="formatMaximum",w="formatExclusive"+(b?"Maximum":"Minimum"),E=e.schema[w],_=e.opts.$data&&E&&E.$data,S=b?"<":">",k="result"+i;var C=e.opts.$data&&o&&o.$data,D;if(C){r+=" var schema"+i+" = "+e.util.getData(o.$data,s,e.dataPathArr)+"; ";D="schema"+i}else{D=o}if(_){var A=e.util.getData(E.$data,s,e.dataPathArr),x="exclusive"+i,M="op"+i,T="' + "+M+" + '";r+=" var schemaExcl"+i+" = "+A+"; ";A="schemaExcl"+i;r+=" if (typeof "+A+" != 'boolean' && "+A+" !== undefined) { "+d+" = false; ";var l=w;var O=O||[];O.push(r);r="";if(e.createErrors!==false){r+=" { keyword: '"+(l||"_formatExclusiveLimit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: {} ";if(e.opts.messages!==false){r+=" , message: '"+w+" should be boolean' "}if(e.opts.verbose){r+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+f+" "}r+=" } "}else{r+=" {} "}var F=r;r=O.pop();if(!e.compositeRule&&c){if(e.async){r+=" throw new ValidationError(["+F+"]); "}else{r+=" validate.errors = ["+F+"]; return false; "}}else{r+=" var err = "+F+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}r+=" } ";if(c){m+="}";r+=" else { "}if(C){r+=" if ("+D+" === undefined) "+d+" = true; else if (typeof "+D+" != 'string') "+d+" = false; else { ";m+="}"}if(h){r+=" if (!"+v+") "+d+" = true; else { ";m+="}"}r+=" var "+k+" = "+v+"("+f+", ";if(C){r+=""+D}else{r+=""+e.util.toQuotedString(o)}r+=" ); if ("+k+" === undefined) "+d+" = false; var "+x+" = "+A+" === true; if ("+d+" === undefined) { "+d+" = "+x+" ? "+k+" "+S+" 0 : "+k+" "+S+"= 0; } if (!"+d+") var op"+i+" = "+x+" ? '"+S+"' : '"+S+"=';"}else{var x=E===true,T=S;if(!x)T+="=";var M="'"+T+"'";if(C){r+=" if ("+D+" === undefined) "+d+" = true; else if (typeof "+D+" != 'string') "+d+" = false; else { ";m+="}"}if(h){r+=" if (!"+v+") "+d+" = true; else { ";m+="}"}r+=" var "+k+" = "+v+"("+f+", ";if(C){r+=""+D}else{r+=""+e.util.toQuotedString(o)}r+=" ); if ("+k+" === undefined) "+d+" = false; if ("+d+" === undefined) "+d+" = "+k+" "+S;if(!x){r+="="}r+=" 0;"}r+=""+m+"if (!"+d+") { ";var l=t;var O=O||[];O.push(r);r="";if(e.createErrors!==false){r+=" { keyword: '"+(l||"_formatLimit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { comparison: "+M+", limit: ";if(C){r+=""+D}else{r+=""+e.util.toQuotedString(o)}r+=" , exclusive: "+x+" } ";if(e.opts.messages!==false){r+=" , message: 'should be "+T+' "';if(C){r+="' + "+D+" + '"}else{r+=""+e.util.escapeQuotes(o)}r+="\"' "}if(e.opts.verbose){r+=" , schema: ";if(C){r+="validate.schema"+a}else{r+=""+e.util.toQuotedString(o)}r+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+f+" "}r+=" } "}else{r+=" {} "}var F=r;r=O.pop();if(!e.compositeRule&&c){if(e.async){r+=" throw new ValidationError(["+F+"]); "}else{r+=" validate.errors = ["+F+"]; return false; "}}else{r+=" var err = "+F+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}r+="}";return r}},2560:function(e,t,n){var r=n(4293);var i=r.Buffer;function copyProps(e,t){for(var n in e){t[n]=e[n]}}if(i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow){e.exports=r}else{copyProps(r,t);t.Buffer=SafeBuffer}function SafeBuffer(e,t,n){return i(e,t,n)}copyProps(i,SafeBuffer);SafeBuffer.from=function(e,t,n){if(typeof e==="number"){throw new TypeError("Argument must not be a number")}return i(e,t,n)};SafeBuffer.alloc=function(e,t,n){if(typeof e!=="number"){throw new TypeError("Argument must be a number")}var r=i(e);if(t!==undefined){if(typeof n==="string"){r.fill(t,n)}else{r.fill(t)}}else{r.fill(0)}return r};SafeBuffer.allocUnsafe=function(e){if(typeof e!=="number"){throw new TypeError("Argument must be a number")}return i(e)};SafeBuffer.allocUnsafeSlow=function(e){if(typeof e!=="number"){throw new TypeError("Argument must be a number")}return r.SlowBuffer(e)}},2575:function(e){"use strict";e.exports=class DirectoryExistsPlugin{constructor(e,t){this.source=e;this.target=t}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("DirectoryExistsPlugin",(n,r,i)=>{const s=e.fileSystem;const o=n.path;s.stat(o,(s,a)=>{if(s||!a){if(r.missing)r.missing.add(o);if(r.log)r.log(o+" doesn't exist");return i()}if(!a.isDirectory()){if(r.missing)r.missing.add(o);if(r.log)r.log(o+" is not a directory");return i()}e.doResolve(t,n,"existing directory",r,i)})})}}},2584:function(e,t,n){"use strict";const r=n(6202);const i=n(2197);class UnsupportedDependency extends i{constructor(e,t){super();this.request=e;this.range=t}serialize(e){const{write:t}=e;t(this.request);t(this.range);super.serialize(e)}deserialize(e){const{read:t}=e;this.request=t();this.range=t();super.deserialize(e)}}r(UnsupportedDependency,"webpack/lib/dependencies/UnsupportedDependency");UnsupportedDependency.Template=class UnsupportedDependencyTemplate extends i.Template{apply(e,t,{runtimeTemplate:n}){const r=e;t.replace(r.range[0],r.range[1],n.missingModule({request:r.request}))}};e.exports=UnsupportedDependency},2598:function(e){"use strict";const t=0;const n=1;const r=2;const i=3;const s=4;class Node{constructor(e){this.item=e;this.dependencies=new Set;this.marker=t;this.cycle=undefined;this.incoming=0}}class Cycle{constructor(){this.nodes=new Set}}e.exports=((e,o)=>{const a=new Map;for(const t of e){const e=new Node(t);a.set(t,e)}if(a.size<=1)return e;for(const e of a.values()){for(const t of o(e.item)){const n=a.get(t);if(n!==undefined){e.dependencies.add(n)}}}const u=new Set;const c=new Set;for(const e of a.values()){if(e.marker===t){e.marker=n;const o=[{node:e,openEdges:Array.from(e.dependencies)}];while(o.length>0){const e=o[o.length-1];if(e.openEdges.length>0){const a=e.openEdges.pop();switch(a.marker){case t:o.push({node:a,openEdges:Array.from(a.dependencies)});a.marker=n;break;case n:{let e=a.cycle;if(!e){e=new Cycle;e.nodes.add(a);a.cycle=e}for(let t=o.length-1;o[t].node!==a;t--){const n=o[t].node;if(n.cycle){if(n.cycle!==e){for(const t of n.cycle.nodes){t.cycle=e;e.nodes.add(t)}}}else{n.cycle=e;e.nodes.add(n)}}break}case s:a.marker=r;u.delete(a);break;case i:c.delete(a.cycle);a.marker=r;break}}else{o.pop();e.node.marker=r}}const a=e.cycle;if(a){for(const e of a.nodes){e.marker=i}c.add(a)}else{e.marker=s;u.add(e)}}}for(const e of c){let t=0;const n=new Set;const r=e.nodes;for(const e of r){for(const i of e.dependencies){if(r.has(i)){i.incoming++;if(i.incomingt){n.clear();t=i.incoming}n.add(i)}}}for(const e of n){u.add(e)}}if(u.size>0){return Array.from(u,e=>e.item)}else{throw new Error("Implementation of findGraphRoots is broken")}})},2599:function(e,t,n){var r=n(6481);var i=function(){};var s=function(e){return e.setHeader&&typeof e.abort==="function"};var o=function(e){return e.stdio&&Array.isArray(e.stdio)&&e.stdio.length===3};var a=function(e,t,n){if(typeof t==="function")return a(e,null,t);if(!t)t={};n=r(n||i);var u=e._writableState;var c=e._readableState;var l=t.readable||t.readable!==false&&e.readable;var f=t.writable||t.writable!==false&&e.writable;var d=false;var p=function(){if(!e.writable)h()};var h=function(){f=false;if(!l)n.call(e)};var m=function(){l=false;if(!f)n.call(e)};var g=function(t){n.call(e,t?new Error("exited with error code: "+t):null)};var y=function(t){n.call(e,t)};var v=function(){process.nextTick(b)};var b=function(){if(d)return;if(l&&!(c&&(c.ended&&!c.destroyed)))return n.call(e,new Error("premature close"));if(f&&!(u&&(u.ended&&!u.destroyed)))return n.call(e,new Error("premature close"))};var w=function(){e.req.on("finish",h)};if(s(e)){e.on("complete",h);e.on("abort",v);if(e.req)w();else e.on("request",w)}else if(f&&!u){e.on("end",p);e.on("close",p)}if(o(e))e.on("exit",g);e.on("end",m);e.on("finish",h);if(t.error!==false)e.on("error",y);e.on("close",v);return function(){d=true;e.removeListener("complete",h);e.removeListener("abort",v);e.removeListener("request",w);if(e.req)e.req.removeListener("finish",h);e.removeListener("end",p);e.removeListener("close",p);e.removeListener("finish",h);e.removeListener("exit",g);e.removeListener("end",m);e.removeListener("error",y);e.removeListener("close",v)}};e.exports=a},2615:function(e,t,n){"use strict";const r=n(1546);const i=n(4974);class JsonModulesPlugin{apply(e){e.hooks.compilation.tap("JsonModulesPlugin",(e,{normalModuleFactory:t})=>{t.hooks.createParser.for("json").tap("JsonModulesPlugin",()=>{return new i});t.hooks.createGenerator.for("json").tap("JsonModulesPlugin",()=>{return new r})})}}e.exports=JsonModulesPlugin},2627:function(e){e.exports=["$&","$'","$*","$+","$1","$2","$3","$4","$5","$6","$7","$8","$9","$_","$`","$input","@@iterator","ABORT_ERR","ACTIVE","ACTIVE_ATTRIBUTES","ACTIVE_TEXTURE","ACTIVE_UNIFORMS","ADDITION","ALIASED_LINE_WIDTH_RANGE","ALIASED_POINT_SIZE_RANGE","ALLOW_KEYBOARD_INPUT","ALLPASS","ALPHA","ALPHA_BITS","ALT_MASK","ALWAYS","ANY_TYPE","ANY_UNORDERED_NODE_TYPE","ARRAY_BUFFER","ARRAY_BUFFER_BINDING","ATTACHED_SHADERS","ATTRIBUTE_NODE","AT_TARGET","AddSearchProvider","AnalyserNode","AnimationEvent","AnonXMLHttpRequest","ApplicationCache","ApplicationCacheErrorEvent","Array","ArrayBuffer","Attr","Audio","AudioBuffer","AudioBufferSourceNode","AudioContext","AudioDestinationNode","AudioListener","AudioNode","AudioParam","AudioProcessingEvent","AudioStreamTrack","AutocompleteErrorEvent","BACK","BAD_BOUNDARYPOINTS_ERR","BANDPASS","BLEND","BLEND_COLOR","BLEND_DST_ALPHA","BLEND_DST_RGB","BLEND_EQUATION","BLEND_EQUATION_ALPHA","BLEND_EQUATION_RGB","BLEND_SRC_ALPHA","BLEND_SRC_RGB","BLUE_BITS","BLUR","BOOL","BOOLEAN_TYPE","BOOL_VEC2","BOOL_VEC3","BOOL_VEC4","BOTH","BROWSER_DEFAULT_WEBGL","BUBBLING_PHASE","BUFFER_SIZE","BUFFER_USAGE","BYTE","BYTES_PER_ELEMENT","BarProp","BaseHref","BatteryManager","BeforeLoadEvent","BeforeUnloadEvent","BiquadFilterNode","Blob","BlobEvent","Boolean","CAPTURING_PHASE","CCW","CDATASection","CDATA_SECTION_NODE","CHANGE","CHARSET_RULE","CHECKING","CLAMP_TO_EDGE","CLICK","CLOSED","CLOSING","COLOR_ATTACHMENT0","COLOR_BUFFER_BIT","COLOR_CLEAR_VALUE","COLOR_WRITEMASK","COMMENT_NODE","COMPILE_STATUS","COMPRESSED_RGBA_S3TC_DXT1_EXT","COMPRESSED_RGBA_S3TC_DXT3_EXT","COMPRESSED_RGBA_S3TC_DXT5_EXT","COMPRESSED_RGB_S3TC_DXT1_EXT","COMPRESSED_TEXTURE_FORMATS","CONNECTING","CONSTANT_ALPHA","CONSTANT_COLOR","CONSTRAINT_ERR","CONTEXT_LOST_WEBGL","CONTROL_MASK","COUNTER_STYLE_RULE","CSS","CSS2Properties","CSSCharsetRule","CSSConditionRule","CSSCounterStyleRule","CSSFontFaceRule","CSSFontFeatureValuesRule","CSSGroupingRule","CSSImportRule","CSSKeyframeRule","CSSKeyframesRule","CSSMediaRule","CSSMozDocumentRule","CSSNameSpaceRule","CSSPageRule","CSSPrimitiveValue","CSSRule","CSSRuleList","CSSStyleDeclaration","CSSStyleRule","CSSStyleSheet","CSSSupportsRule","CSSUnknownRule","CSSValue","CSSValueList","CSSVariablesDeclaration","CSSVariablesRule","CSSViewportRule","CSS_ATTR","CSS_CM","CSS_COUNTER","CSS_CUSTOM","CSS_DEG","CSS_DIMENSION","CSS_EMS","CSS_EXS","CSS_FILTER_BLUR","CSS_FILTER_BRIGHTNESS","CSS_FILTER_CONTRAST","CSS_FILTER_CUSTOM","CSS_FILTER_DROP_SHADOW","CSS_FILTER_GRAYSCALE","CSS_FILTER_HUE_ROTATE","CSS_FILTER_INVERT","CSS_FILTER_OPACITY","CSS_FILTER_REFERENCE","CSS_FILTER_SATURATE","CSS_FILTER_SEPIA","CSS_GRAD","CSS_HZ","CSS_IDENT","CSS_IN","CSS_INHERIT","CSS_KHZ","CSS_MATRIX","CSS_MATRIX3D","CSS_MM","CSS_MS","CSS_NUMBER","CSS_PC","CSS_PERCENTAGE","CSS_PERSPECTIVE","CSS_PRIMITIVE_VALUE","CSS_PT","CSS_PX","CSS_RAD","CSS_RECT","CSS_RGBCOLOR","CSS_ROTATE","CSS_ROTATE3D","CSS_ROTATEX","CSS_ROTATEY","CSS_ROTATEZ","CSS_S","CSS_SCALE","CSS_SCALE3D","CSS_SCALEX","CSS_SCALEY","CSS_SCALEZ","CSS_SKEW","CSS_SKEWX","CSS_SKEWY","CSS_STRING","CSS_TRANSLATE","CSS_TRANSLATE3D","CSS_TRANSLATEX","CSS_TRANSLATEY","CSS_TRANSLATEZ","CSS_UNKNOWN","CSS_URI","CSS_VALUE_LIST","CSS_VH","CSS_VMAX","CSS_VMIN","CSS_VW","CULL_FACE","CULL_FACE_MODE","CURRENT_PROGRAM","CURRENT_VERTEX_ATTRIB","CUSTOM","CW","CanvasGradient","CanvasPattern","CanvasRenderingContext2D","CaretPosition","ChannelMergerNode","ChannelSplitterNode","CharacterData","ClientRect","ClientRectList","Clipboard","ClipboardEvent","CloseEvent","Collator","CommandEvent","Comment","CompositionEvent","Console","Controllers","ConvolverNode","Counter","Crypto","CryptoKey","CustomEvent","DATABASE_ERR","DATA_CLONE_ERR","DATA_ERR","DBLCLICK","DECR","DECR_WRAP","DELETE_STATUS","DEPTH_ATTACHMENT","DEPTH_BITS","DEPTH_BUFFER_BIT","DEPTH_CLEAR_VALUE","DEPTH_COMPONENT","DEPTH_COMPONENT16","DEPTH_FUNC","DEPTH_RANGE","DEPTH_STENCIL","DEPTH_STENCIL_ATTACHMENT","DEPTH_TEST","DEPTH_WRITEMASK","DIRECTION_DOWN","DIRECTION_LEFT","DIRECTION_RIGHT","DIRECTION_UP","DISABLED","DISPATCH_REQUEST_ERR","DITHER","DOCUMENT_FRAGMENT_NODE","DOCUMENT_NODE","DOCUMENT_POSITION_CONTAINED_BY","DOCUMENT_POSITION_CONTAINS","DOCUMENT_POSITION_DISCONNECTED","DOCUMENT_POSITION_FOLLOWING","DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC","DOCUMENT_POSITION_PRECEDING","DOCUMENT_TYPE_NODE","DOMCursor","DOMError","DOMException","DOMImplementation","DOMImplementationLS","DOMMatrix","DOMMatrixReadOnly","DOMParser","DOMPoint","DOMPointReadOnly","DOMQuad","DOMRect","DOMRectList","DOMRectReadOnly","DOMRequest","DOMSTRING_SIZE_ERR","DOMSettableTokenList","DOMStringList","DOMStringMap","DOMTokenList","DOMTransactionEvent","DOM_DELTA_LINE","DOM_DELTA_PAGE","DOM_DELTA_PIXEL","DOM_INPUT_METHOD_DROP","DOM_INPUT_METHOD_HANDWRITING","DOM_INPUT_METHOD_IME","DOM_INPUT_METHOD_KEYBOARD","DOM_INPUT_METHOD_MULTIMODAL","DOM_INPUT_METHOD_OPTION","DOM_INPUT_METHOD_PASTE","DOM_INPUT_METHOD_SCRIPT","DOM_INPUT_METHOD_UNKNOWN","DOM_INPUT_METHOD_VOICE","DOM_KEY_LOCATION_JOYSTICK","DOM_KEY_LOCATION_LEFT","DOM_KEY_LOCATION_MOBILE","DOM_KEY_LOCATION_NUMPAD","DOM_KEY_LOCATION_RIGHT","DOM_KEY_LOCATION_STANDARD","DOM_VK_0","DOM_VK_1","DOM_VK_2","DOM_VK_3","DOM_VK_4","DOM_VK_5","DOM_VK_6","DOM_VK_7","DOM_VK_8","DOM_VK_9","DOM_VK_A","DOM_VK_ACCEPT","DOM_VK_ADD","DOM_VK_ALT","DOM_VK_ALTGR","DOM_VK_AMPERSAND","DOM_VK_ASTERISK","DOM_VK_AT","DOM_VK_ATTN","DOM_VK_B","DOM_VK_BACKSPACE","DOM_VK_BACK_QUOTE","DOM_VK_BACK_SLASH","DOM_VK_BACK_SPACE","DOM_VK_C","DOM_VK_CANCEL","DOM_VK_CAPS_LOCK","DOM_VK_CIRCUMFLEX","DOM_VK_CLEAR","DOM_VK_CLOSE_BRACKET","DOM_VK_CLOSE_CURLY_BRACKET","DOM_VK_CLOSE_PAREN","DOM_VK_COLON","DOM_VK_COMMA","DOM_VK_CONTEXT_MENU","DOM_VK_CONTROL","DOM_VK_CONVERT","DOM_VK_CRSEL","DOM_VK_CTRL","DOM_VK_D","DOM_VK_DECIMAL","DOM_VK_DELETE","DOM_VK_DIVIDE","DOM_VK_DOLLAR","DOM_VK_DOUBLE_QUOTE","DOM_VK_DOWN","DOM_VK_E","DOM_VK_EISU","DOM_VK_END","DOM_VK_ENTER","DOM_VK_EQUALS","DOM_VK_EREOF","DOM_VK_ESCAPE","DOM_VK_EXCLAMATION","DOM_VK_EXECUTE","DOM_VK_EXSEL","DOM_VK_F","DOM_VK_F1","DOM_VK_F10","DOM_VK_F11","DOM_VK_F12","DOM_VK_F13","DOM_VK_F14","DOM_VK_F15","DOM_VK_F16","DOM_VK_F17","DOM_VK_F18","DOM_VK_F19","DOM_VK_F2","DOM_VK_F20","DOM_VK_F21","DOM_VK_F22","DOM_VK_F23","DOM_VK_F24","DOM_VK_F25","DOM_VK_F26","DOM_VK_F27","DOM_VK_F28","DOM_VK_F29","DOM_VK_F3","DOM_VK_F30","DOM_VK_F31","DOM_VK_F32","DOM_VK_F33","DOM_VK_F34","DOM_VK_F35","DOM_VK_F36","DOM_VK_F4","DOM_VK_F5","DOM_VK_F6","DOM_VK_F7","DOM_VK_F8","DOM_VK_F9","DOM_VK_FINAL","DOM_VK_FRONT","DOM_VK_G","DOM_VK_GREATER_THAN","DOM_VK_H","DOM_VK_HANGUL","DOM_VK_HANJA","DOM_VK_HASH","DOM_VK_HELP","DOM_VK_HK_TOGGLE","DOM_VK_HOME","DOM_VK_HYPHEN_MINUS","DOM_VK_I","DOM_VK_INSERT","DOM_VK_J","DOM_VK_JUNJA","DOM_VK_K","DOM_VK_KANA","DOM_VK_KANJI","DOM_VK_L","DOM_VK_LEFT","DOM_VK_LEFT_TAB","DOM_VK_LESS_THAN","DOM_VK_M","DOM_VK_META","DOM_VK_MODECHANGE","DOM_VK_MULTIPLY","DOM_VK_N","DOM_VK_NONCONVERT","DOM_VK_NUMPAD0","DOM_VK_NUMPAD1","DOM_VK_NUMPAD2","DOM_VK_NUMPAD3","DOM_VK_NUMPAD4","DOM_VK_NUMPAD5","DOM_VK_NUMPAD6","DOM_VK_NUMPAD7","DOM_VK_NUMPAD8","DOM_VK_NUMPAD9","DOM_VK_NUM_LOCK","DOM_VK_O","DOM_VK_OEM_1","DOM_VK_OEM_102","DOM_VK_OEM_2","DOM_VK_OEM_3","DOM_VK_OEM_4","DOM_VK_OEM_5","DOM_VK_OEM_6","DOM_VK_OEM_7","DOM_VK_OEM_8","DOM_VK_OEM_COMMA","DOM_VK_OEM_MINUS","DOM_VK_OEM_PERIOD","DOM_VK_OEM_PLUS","DOM_VK_OPEN_BRACKET","DOM_VK_OPEN_CURLY_BRACKET","DOM_VK_OPEN_PAREN","DOM_VK_P","DOM_VK_PA1","DOM_VK_PAGEDOWN","DOM_VK_PAGEUP","DOM_VK_PAGE_DOWN","DOM_VK_PAGE_UP","DOM_VK_PAUSE","DOM_VK_PERCENT","DOM_VK_PERIOD","DOM_VK_PIPE","DOM_VK_PLAY","DOM_VK_PLUS","DOM_VK_PRINT","DOM_VK_PRINTSCREEN","DOM_VK_PROCESSKEY","DOM_VK_PROPERITES","DOM_VK_Q","DOM_VK_QUESTION_MARK","DOM_VK_QUOTE","DOM_VK_R","DOM_VK_REDO","DOM_VK_RETURN","DOM_VK_RIGHT","DOM_VK_S","DOM_VK_SCROLL_LOCK","DOM_VK_SELECT","DOM_VK_SEMICOLON","DOM_VK_SEPARATOR","DOM_VK_SHIFT","DOM_VK_SLASH","DOM_VK_SLEEP","DOM_VK_SPACE","DOM_VK_SUBTRACT","DOM_VK_T","DOM_VK_TAB","DOM_VK_TILDE","DOM_VK_U","DOM_VK_UNDERSCORE","DOM_VK_UNDO","DOM_VK_UNICODE","DOM_VK_UP","DOM_VK_V","DOM_VK_VOLUME_DOWN","DOM_VK_VOLUME_MUTE","DOM_VK_VOLUME_UP","DOM_VK_W","DOM_VK_WIN","DOM_VK_WINDOW","DOM_VK_WIN_ICO_00","DOM_VK_WIN_ICO_CLEAR","DOM_VK_WIN_ICO_HELP","DOM_VK_WIN_OEM_ATTN","DOM_VK_WIN_OEM_AUTO","DOM_VK_WIN_OEM_BACKTAB","DOM_VK_WIN_OEM_CLEAR","DOM_VK_WIN_OEM_COPY","DOM_VK_WIN_OEM_CUSEL","DOM_VK_WIN_OEM_ENLW","DOM_VK_WIN_OEM_FINISH","DOM_VK_WIN_OEM_FJ_JISHO","DOM_VK_WIN_OEM_FJ_LOYA","DOM_VK_WIN_OEM_FJ_MASSHOU","DOM_VK_WIN_OEM_FJ_ROYA","DOM_VK_WIN_OEM_FJ_TOUROKU","DOM_VK_WIN_OEM_JUMP","DOM_VK_WIN_OEM_PA1","DOM_VK_WIN_OEM_PA2","DOM_VK_WIN_OEM_PA3","DOM_VK_WIN_OEM_RESET","DOM_VK_WIN_OEM_WSCTRL","DOM_VK_X","DOM_VK_XF86XK_ADD_FAVORITE","DOM_VK_XF86XK_APPLICATION_LEFT","DOM_VK_XF86XK_APPLICATION_RIGHT","DOM_VK_XF86XK_AUDIO_CYCLE_TRACK","DOM_VK_XF86XK_AUDIO_FORWARD","DOM_VK_XF86XK_AUDIO_LOWER_VOLUME","DOM_VK_XF86XK_AUDIO_MEDIA","DOM_VK_XF86XK_AUDIO_MUTE","DOM_VK_XF86XK_AUDIO_NEXT","DOM_VK_XF86XK_AUDIO_PAUSE","DOM_VK_XF86XK_AUDIO_PLAY","DOM_VK_XF86XK_AUDIO_PREV","DOM_VK_XF86XK_AUDIO_RAISE_VOLUME","DOM_VK_XF86XK_AUDIO_RANDOM_PLAY","DOM_VK_XF86XK_AUDIO_RECORD","DOM_VK_XF86XK_AUDIO_REPEAT","DOM_VK_XF86XK_AUDIO_REWIND","DOM_VK_XF86XK_AUDIO_STOP","DOM_VK_XF86XK_AWAY","DOM_VK_XF86XK_BACK","DOM_VK_XF86XK_BACK_FORWARD","DOM_VK_XF86XK_BATTERY","DOM_VK_XF86XK_BLUE","DOM_VK_XF86XK_BLUETOOTH","DOM_VK_XF86XK_BOOK","DOM_VK_XF86XK_BRIGHTNESS_ADJUST","DOM_VK_XF86XK_CALCULATOR","DOM_VK_XF86XK_CALENDAR","DOM_VK_XF86XK_CD","DOM_VK_XF86XK_CLOSE","DOM_VK_XF86XK_COMMUNITY","DOM_VK_XF86XK_CONTRAST_ADJUST","DOM_VK_XF86XK_COPY","DOM_VK_XF86XK_CUT","DOM_VK_XF86XK_CYCLE_ANGLE","DOM_VK_XF86XK_DISPLAY","DOM_VK_XF86XK_DOCUMENTS","DOM_VK_XF86XK_DOS","DOM_VK_XF86XK_EJECT","DOM_VK_XF86XK_EXCEL","DOM_VK_XF86XK_EXPLORER","DOM_VK_XF86XK_FAVORITES","DOM_VK_XF86XK_FINANCE","DOM_VK_XF86XK_FORWARD","DOM_VK_XF86XK_FRAME_BACK","DOM_VK_XF86XK_FRAME_FORWARD","DOM_VK_XF86XK_GAME","DOM_VK_XF86XK_GO","DOM_VK_XF86XK_GREEN","DOM_VK_XF86XK_HIBERNATE","DOM_VK_XF86XK_HISTORY","DOM_VK_XF86XK_HOME_PAGE","DOM_VK_XF86XK_HOT_LINKS","DOM_VK_XF86XK_I_TOUCH","DOM_VK_XF86XK_KBD_BRIGHTNESS_DOWN","DOM_VK_XF86XK_KBD_BRIGHTNESS_UP","DOM_VK_XF86XK_KBD_LIGHT_ON_OFF","DOM_VK_XF86XK_LAUNCH0","DOM_VK_XF86XK_LAUNCH1","DOM_VK_XF86XK_LAUNCH2","DOM_VK_XF86XK_LAUNCH3","DOM_VK_XF86XK_LAUNCH4","DOM_VK_XF86XK_LAUNCH5","DOM_VK_XF86XK_LAUNCH6","DOM_VK_XF86XK_LAUNCH7","DOM_VK_XF86XK_LAUNCH8","DOM_VK_XF86XK_LAUNCH9","DOM_VK_XF86XK_LAUNCH_A","DOM_VK_XF86XK_LAUNCH_B","DOM_VK_XF86XK_LAUNCH_C","DOM_VK_XF86XK_LAUNCH_D","DOM_VK_XF86XK_LAUNCH_E","DOM_VK_XF86XK_LAUNCH_F","DOM_VK_XF86XK_LIGHT_BULB","DOM_VK_XF86XK_LOG_OFF","DOM_VK_XF86XK_MAIL","DOM_VK_XF86XK_MAIL_FORWARD","DOM_VK_XF86XK_MARKET","DOM_VK_XF86XK_MEETING","DOM_VK_XF86XK_MEMO","DOM_VK_XF86XK_MENU_KB","DOM_VK_XF86XK_MENU_PB","DOM_VK_XF86XK_MESSENGER","DOM_VK_XF86XK_MON_BRIGHTNESS_DOWN","DOM_VK_XF86XK_MON_BRIGHTNESS_UP","DOM_VK_XF86XK_MUSIC","DOM_VK_XF86XK_MY_COMPUTER","DOM_VK_XF86XK_MY_SITES","DOM_VK_XF86XK_NEW","DOM_VK_XF86XK_NEWS","DOM_VK_XF86XK_OFFICE_HOME","DOM_VK_XF86XK_OPEN","DOM_VK_XF86XK_OPEN_URL","DOM_VK_XF86XK_OPTION","DOM_VK_XF86XK_PASTE","DOM_VK_XF86XK_PHONE","DOM_VK_XF86XK_PICTURES","DOM_VK_XF86XK_POWER_DOWN","DOM_VK_XF86XK_POWER_OFF","DOM_VK_XF86XK_RED","DOM_VK_XF86XK_REFRESH","DOM_VK_XF86XK_RELOAD","DOM_VK_XF86XK_REPLY","DOM_VK_XF86XK_ROCKER_DOWN","DOM_VK_XF86XK_ROCKER_ENTER","DOM_VK_XF86XK_ROCKER_UP","DOM_VK_XF86XK_ROTATE_WINDOWS","DOM_VK_XF86XK_ROTATION_KB","DOM_VK_XF86XK_ROTATION_PB","DOM_VK_XF86XK_SAVE","DOM_VK_XF86XK_SCREEN_SAVER","DOM_VK_XF86XK_SCROLL_CLICK","DOM_VK_XF86XK_SCROLL_DOWN","DOM_VK_XF86XK_SCROLL_UP","DOM_VK_XF86XK_SEARCH","DOM_VK_XF86XK_SEND","DOM_VK_XF86XK_SHOP","DOM_VK_XF86XK_SPELL","DOM_VK_XF86XK_SPLIT_SCREEN","DOM_VK_XF86XK_STANDBY","DOM_VK_XF86XK_START","DOM_VK_XF86XK_STOP","DOM_VK_XF86XK_SUBTITLE","DOM_VK_XF86XK_SUPPORT","DOM_VK_XF86XK_SUSPEND","DOM_VK_XF86XK_TASK_PANE","DOM_VK_XF86XK_TERMINAL","DOM_VK_XF86XK_TIME","DOM_VK_XF86XK_TOOLS","DOM_VK_XF86XK_TOP_MENU","DOM_VK_XF86XK_TO_DO_LIST","DOM_VK_XF86XK_TRAVEL","DOM_VK_XF86XK_USER1KB","DOM_VK_XF86XK_USER2KB","DOM_VK_XF86XK_USER_PB","DOM_VK_XF86XK_UWB","DOM_VK_XF86XK_VENDOR_HOME","DOM_VK_XF86XK_VIDEO","DOM_VK_XF86XK_VIEW","DOM_VK_XF86XK_WAKE_UP","DOM_VK_XF86XK_WEB_CAM","DOM_VK_XF86XK_WHEEL_BUTTON","DOM_VK_XF86XK_WLAN","DOM_VK_XF86XK_WORD","DOM_VK_XF86XK_WWW","DOM_VK_XF86XK_XFER","DOM_VK_XF86XK_YELLOW","DOM_VK_XF86XK_ZOOM_IN","DOM_VK_XF86XK_ZOOM_OUT","DOM_VK_Y","DOM_VK_Z","DOM_VK_ZOOM","DONE","DONT_CARE","DOWNLOADING","DRAGDROP","DST_ALPHA","DST_COLOR","DYNAMIC_DRAW","DataChannel","DataTransfer","DataTransferItem","DataTransferItemList","DataView","Date","DateTimeFormat","DelayNode","DesktopNotification","DesktopNotificationCenter","DeviceLightEvent","DeviceMotionEvent","DeviceOrientationEvent","DeviceProximityEvent","DeviceStorage","DeviceStorageChangeEvent","Document","DocumentFragment","DocumentType","DragEvent","DynamicsCompressorNode","E","ELEMENT_ARRAY_BUFFER","ELEMENT_ARRAY_BUFFER_BINDING","ELEMENT_NODE","EMPTY","ENCODING_ERR","ENDED","END_TO_END","END_TO_START","ENTITY_NODE","ENTITY_REFERENCE_NODE","EPSILON","EQUAL","EQUALPOWER","ERROR","EXPONENTIAL_DISTANCE","Element","ElementQuery","Entity","EntityReference","Error","ErrorEvent","EvalError","Event","EventException","EventSource","EventTarget","External","FASTEST","FIDOSDK","FILTER_ACCEPT","FILTER_INTERRUPT","FILTER_REJECT","FILTER_SKIP","FINISHED_STATE","FIRST_ORDERED_NODE_TYPE","FLOAT","FLOAT_MAT2","FLOAT_MAT3","FLOAT_MAT4","FLOAT_VEC2","FLOAT_VEC3","FLOAT_VEC4","FOCUS","FONT_FACE_RULE","FONT_FEATURE_VALUES_RULE","FRAGMENT_SHADER","FRAGMENT_SHADER_DERIVATIVE_HINT_OES","FRAMEBUFFER","FRAMEBUFFER_ATTACHMENT_OBJECT_NAME","FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE","FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE","FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL","FRAMEBUFFER_BINDING","FRAMEBUFFER_COMPLETE","FRAMEBUFFER_INCOMPLETE_ATTACHMENT","FRAMEBUFFER_INCOMPLETE_DIMENSIONS","FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT","FRAMEBUFFER_UNSUPPORTED","FRONT","FRONT_AND_BACK","FRONT_FACE","FUNC_ADD","FUNC_REVERSE_SUBTRACT","FUNC_SUBTRACT","Feed","FeedEntry","File","FileError","FileList","FileReader","FindInPage","Float32Array","Float64Array","FocusEvent","FontFace","FormData","Function","GENERATE_MIPMAP_HINT","GEQUAL","GREATER","GREEN_BITS","GainNode","Gamepad","GamepadButton","GamepadEvent","GestureEvent","HAVE_CURRENT_DATA","HAVE_ENOUGH_DATA","HAVE_FUTURE_DATA","HAVE_METADATA","HAVE_NOTHING","HEADERS_RECEIVED","HIDDEN","HIERARCHY_REQUEST_ERR","HIGHPASS","HIGHSHELF","HIGH_FLOAT","HIGH_INT","HORIZONTAL","HORIZONTAL_AXIS","HRTF","HTMLAllCollection","HTMLAnchorElement","HTMLAppletElement","HTMLAreaElement","HTMLAudioElement","HTMLBRElement","HTMLBaseElement","HTMLBaseFontElement","HTMLBlockquoteElement","HTMLBodyElement","HTMLButtonElement","HTMLCanvasElement","HTMLCollection","HTMLCommandElement","HTMLContentElement","HTMLDListElement","HTMLDataElement","HTMLDataListElement","HTMLDetailsElement","HTMLDialogElement","HTMLDirectoryElement","HTMLDivElement","HTMLDocument","HTMLElement","HTMLEmbedElement","HTMLFieldSetElement","HTMLFontElement","HTMLFormControlsCollection","HTMLFormElement","HTMLFrameElement","HTMLFrameSetElement","HTMLHRElement","HTMLHeadElement","HTMLHeadingElement","HTMLHtmlElement","HTMLIFrameElement","HTMLImageElement","HTMLInputElement","HTMLIsIndexElement","HTMLKeygenElement","HTMLLIElement","HTMLLabelElement","HTMLLegendElement","HTMLLinkElement","HTMLMapElement","HTMLMarqueeElement","HTMLMediaElement","HTMLMenuElement","HTMLMenuItemElement","HTMLMetaElement","HTMLMeterElement","HTMLModElement","HTMLOListElement","HTMLObjectElement","HTMLOptGroupElement","HTMLOptionElement","HTMLOptionsCollection","HTMLOutputElement","HTMLParagraphElement","HTMLParamElement","HTMLPictureElement","HTMLPreElement","HTMLProgressElement","HTMLPropertiesCollection","HTMLQuoteElement","HTMLScriptElement","HTMLSelectElement","HTMLShadowElement","HTMLSourceElement","HTMLSpanElement","HTMLStyleElement","HTMLTableCaptionElement","HTMLTableCellElement","HTMLTableColElement","HTMLTableElement","HTMLTableRowElement","HTMLTableSectionElement","HTMLTemplateElement","HTMLTextAreaElement","HTMLTimeElement","HTMLTitleElement","HTMLTrackElement","HTMLUListElement","HTMLUnknownElement","HTMLVideoElement","HashChangeEvent","Headers","History","ICE_CHECKING","ICE_CLOSED","ICE_COMPLETED","ICE_CONNECTED","ICE_FAILED","ICE_GATHERING","ICE_WAITING","IDBCursor","IDBCursorWithValue","IDBDatabase","IDBDatabaseException","IDBFactory","IDBFileHandle","IDBFileRequest","IDBIndex","IDBKeyRange","IDBMutableFile","IDBObjectStore","IDBOpenDBRequest","IDBRequest","IDBTransaction","IDBVersionChangeEvent","IDLE","IMPLEMENTATION_COLOR_READ_FORMAT","IMPLEMENTATION_COLOR_READ_TYPE","IMPORT_RULE","INCR","INCR_WRAP","INDEX_SIZE_ERR","INT","INT_VEC2","INT_VEC3","INT_VEC4","INUSE_ATTRIBUTE_ERR","INVALID_ACCESS_ERR","INVALID_CHARACTER_ERR","INVALID_ENUM","INVALID_EXPRESSION_ERR","INVALID_FRAMEBUFFER_OPERATION","INVALID_MODIFICATION_ERR","INVALID_NODE_TYPE_ERR","INVALID_OPERATION","INVALID_STATE_ERR","INVALID_VALUE","INVERSE_DISTANCE","INVERT","IceCandidate","Image","ImageBitmap","ImageData","Infinity","InputEvent","InputMethodContext","InstallTrigger","Int16Array","Int32Array","Int8Array","Intent","InternalError","Intl","IsSearchProviderInstalled","Iterator","JSON","KEEP","KEYDOWN","KEYFRAMES_RULE","KEYFRAME_RULE","KEYPRESS","KEYUP","KeyEvent","KeyboardEvent","LENGTHADJUST_SPACING","LENGTHADJUST_SPACINGANDGLYPHS","LENGTHADJUST_UNKNOWN","LEQUAL","LESS","LINEAR","LINEAR_DISTANCE","LINEAR_MIPMAP_LINEAR","LINEAR_MIPMAP_NEAREST","LINES","LINE_LOOP","LINE_STRIP","LINE_WIDTH","LINK_STATUS","LIVE","LN10","LN2","LOADED","LOADING","LOG10E","LOG2E","LOWPASS","LOWSHELF","LOW_FLOAT","LOW_INT","LSException","LSParserFilter","LUMINANCE","LUMINANCE_ALPHA","LocalMediaStream","Location","MAX_COMBINED_TEXTURE_IMAGE_UNITS","MAX_CUBE_MAP_TEXTURE_SIZE","MAX_FRAGMENT_UNIFORM_VECTORS","MAX_RENDERBUFFER_SIZE","MAX_SAFE_INTEGER","MAX_TEXTURE_IMAGE_UNITS","MAX_TEXTURE_MAX_ANISOTROPY_EXT","MAX_TEXTURE_SIZE","MAX_VALUE","MAX_VARYING_VECTORS","MAX_VERTEX_ATTRIBS","MAX_VERTEX_TEXTURE_IMAGE_UNITS","MAX_VERTEX_UNIFORM_VECTORS","MAX_VIEWPORT_DIMS","MEDIA_ERR_ABORTED","MEDIA_ERR_DECODE","MEDIA_ERR_ENCRYPTED","MEDIA_ERR_NETWORK","MEDIA_ERR_SRC_NOT_SUPPORTED","MEDIA_KEYERR_CLIENT","MEDIA_KEYERR_DOMAIN","MEDIA_KEYERR_HARDWARECHANGE","MEDIA_KEYERR_OUTPUT","MEDIA_KEYERR_SERVICE","MEDIA_KEYERR_UNKNOWN","MEDIA_RULE","MEDIUM_FLOAT","MEDIUM_INT","META_MASK","MIN_SAFE_INTEGER","MIN_VALUE","MIRRORED_REPEAT","MODE_ASYNCHRONOUS","MODE_SYNCHRONOUS","MODIFICATION","MOUSEDOWN","MOUSEDRAG","MOUSEMOVE","MOUSEOUT","MOUSEOVER","MOUSEUP","MOZ_KEYFRAMES_RULE","MOZ_KEYFRAME_RULE","MOZ_SOURCE_CURSOR","MOZ_SOURCE_ERASER","MOZ_SOURCE_KEYBOARD","MOZ_SOURCE_MOUSE","MOZ_SOURCE_PEN","MOZ_SOURCE_TOUCH","MOZ_SOURCE_UNKNOWN","MSGESTURE_FLAG_BEGIN","MSGESTURE_FLAG_CANCEL","MSGESTURE_FLAG_END","MSGESTURE_FLAG_INERTIA","MSGESTURE_FLAG_NONE","MSPOINTER_TYPE_MOUSE","MSPOINTER_TYPE_PEN","MSPOINTER_TYPE_TOUCH","MS_ASYNC_CALLBACK_STATUS_ASSIGN_DELEGATE","MS_ASYNC_CALLBACK_STATUS_CANCEL","MS_ASYNC_CALLBACK_STATUS_CHOOSEANY","MS_ASYNC_CALLBACK_STATUS_ERROR","MS_ASYNC_CALLBACK_STATUS_JOIN","MS_ASYNC_OP_STATUS_CANCELED","MS_ASYNC_OP_STATUS_ERROR","MS_ASYNC_OP_STATUS_SUCCESS","MS_MANIPULATION_STATE_ACTIVE","MS_MANIPULATION_STATE_CANCELLED","MS_MANIPULATION_STATE_COMMITTED","MS_MANIPULATION_STATE_DRAGGING","MS_MANIPULATION_STATE_INERTIA","MS_MANIPULATION_STATE_PRESELECT","MS_MANIPULATION_STATE_SELECTING","MS_MANIPULATION_STATE_STOPPED","MS_MEDIA_ERR_ENCRYPTED","MS_MEDIA_KEYERR_CLIENT","MS_MEDIA_KEYERR_DOMAIN","MS_MEDIA_KEYERR_HARDWARECHANGE","MS_MEDIA_KEYERR_OUTPUT","MS_MEDIA_KEYERR_SERVICE","MS_MEDIA_KEYERR_UNKNOWN","Map","Math","MediaController","MediaDevices","MediaElementAudioSourceNode","MediaEncryptedEvent","MediaError","MediaKeyError","MediaKeyEvent","MediaKeyMessageEvent","MediaKeyNeededEvent","MediaKeySession","MediaKeyStatusMap","MediaKeySystemAccess","MediaKeys","MediaList","MediaQueryList","MediaQueryListEvent","MediaRecorder","MediaSource","MediaStream","MediaStreamAudioDestinationNode","MediaStreamAudioSourceNode","MediaStreamEvent","MediaStreamTrack","MediaStreamTrackEvent","MessageChannel","MessageEvent","MessagePort","Methods","MimeType","MimeTypeArray","MouseEvent","MouseScrollEvent","MozAnimation","MozAnimationDelay","MozAnimationDirection","MozAnimationDuration","MozAnimationFillMode","MozAnimationIterationCount","MozAnimationName","MozAnimationPlayState","MozAnimationTimingFunction","MozAppearance","MozBackfaceVisibility","MozBinding","MozBorderBottomColors","MozBorderEnd","MozBorderEndColor","MozBorderEndStyle","MozBorderEndWidth","MozBorderImage","MozBorderLeftColors","MozBorderRightColors","MozBorderStart","MozBorderStartColor","MozBorderStartStyle","MozBorderStartWidth","MozBorderTopColors","MozBoxAlign","MozBoxDirection","MozBoxFlex","MozBoxOrdinalGroup","MozBoxOrient","MozBoxPack","MozBoxSizing","MozCSSKeyframeRule","MozCSSKeyframesRule","MozColumnCount","MozColumnFill","MozColumnGap","MozColumnRule","MozColumnRuleColor","MozColumnRuleStyle","MozColumnRuleWidth","MozColumnWidth","MozColumns","MozContactChangeEvent","MozFloatEdge","MozFontFeatureSettings","MozFontLanguageOverride","MozForceBrokenImageIcon","MozHyphens","MozImageRegion","MozMarginEnd","MozMarginStart","MozMmsEvent","MozMmsMessage","MozMobileMessageThread","MozOSXFontSmoothing","MozOrient","MozOutlineRadius","MozOutlineRadiusBottomleft","MozOutlineRadiusBottomright","MozOutlineRadiusTopleft","MozOutlineRadiusTopright","MozPaddingEnd","MozPaddingStart","MozPerspective","MozPerspectiveOrigin","MozPowerManager","MozSettingsEvent","MozSmsEvent","MozSmsMessage","MozStackSizing","MozTabSize","MozTextAlignLast","MozTextDecorationColor","MozTextDecorationLine","MozTextDecorationStyle","MozTextSizeAdjust","MozTransform","MozTransformOrigin","MozTransformStyle","MozTransition","MozTransitionDelay","MozTransitionDuration","MozTransitionProperty","MozTransitionTimingFunction","MozUserFocus","MozUserInput","MozUserModify","MozUserSelect","MozWindowDragging","MozWindowShadow","MutationEvent","MutationObserver","MutationRecord","NAMESPACE_ERR","NAMESPACE_RULE","NEAREST","NEAREST_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","NEGATIVE_INFINITY","NETWORK_EMPTY","NETWORK_ERR","NETWORK_IDLE","NETWORK_LOADED","NETWORK_LOADING","NETWORK_NO_SOURCE","NEVER","NEW","NEXT","NEXT_NO_DUPLICATE","NICEST","NODE_AFTER","NODE_BEFORE","NODE_BEFORE_AND_AFTER","NODE_INSIDE","NONE","NON_TRANSIENT_ERR","NOTATION_NODE","NOTCH","NOTEQUAL","NOT_ALLOWED_ERR","NOT_FOUND_ERR","NOT_READABLE_ERR","NOT_SUPPORTED_ERR","NO_DATA_ALLOWED_ERR","NO_ERR","NO_ERROR","NO_MODIFICATION_ALLOWED_ERR","NUMBER_TYPE","NUM_COMPRESSED_TEXTURE_FORMATS","NaN","NamedNodeMap","Navigator","NearbyLinks","NetworkInformation","Node","NodeFilter","NodeIterator","NodeList","Notation","Notification","NotifyPaintEvent","Number","NumberFormat","OBSOLETE","ONE","ONE_MINUS_CONSTANT_ALPHA","ONE_MINUS_CONSTANT_COLOR","ONE_MINUS_DST_ALPHA","ONE_MINUS_DST_COLOR","ONE_MINUS_SRC_ALPHA","ONE_MINUS_SRC_COLOR","OPEN","OPENED","OPENING","ORDERED_NODE_ITERATOR_TYPE","ORDERED_NODE_SNAPSHOT_TYPE","OUT_OF_MEMORY","Object","OfflineAudioCompletionEvent","OfflineAudioContext","OfflineResourceList","Option","OscillatorNode","OverflowEvent","PACK_ALIGNMENT","PAGE_RULE","PARSE_ERR","PATHSEG_ARC_ABS","PATHSEG_ARC_REL","PATHSEG_CLOSEPATH","PATHSEG_CURVETO_CUBIC_ABS","PATHSEG_CURVETO_CUBIC_REL","PATHSEG_CURVETO_CUBIC_SMOOTH_ABS","PATHSEG_CURVETO_CUBIC_SMOOTH_REL","PATHSEG_CURVETO_QUADRATIC_ABS","PATHSEG_CURVETO_QUADRATIC_REL","PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS","PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL","PATHSEG_LINETO_ABS","PATHSEG_LINETO_HORIZONTAL_ABS","PATHSEG_LINETO_HORIZONTAL_REL","PATHSEG_LINETO_REL","PATHSEG_LINETO_VERTICAL_ABS","PATHSEG_LINETO_VERTICAL_REL","PATHSEG_MOVETO_ABS","PATHSEG_MOVETO_REL","PATHSEG_UNKNOWN","PATH_EXISTS_ERR","PEAKING","PERMISSION_DENIED","PERSISTENT","PI","PLAYING_STATE","POINTS","POLYGON_OFFSET_FACTOR","POLYGON_OFFSET_FILL","POLYGON_OFFSET_UNITS","POSITION_UNAVAILABLE","POSITIVE_INFINITY","PREV","PREV_NO_DUPLICATE","PROCESSING_INSTRUCTION_NODE","PageChangeEvent","PageTransitionEvent","PaintRequest","PaintRequestList","PannerNode","Path2D","Performance","PerformanceEntry","PerformanceMark","PerformanceMeasure","PerformanceNavigation","PerformanceResourceTiming","PerformanceTiming","PeriodicWave","Plugin","PluginArray","PopStateEvent","PopupBlockedEvent","ProcessingInstruction","ProgressEvent","Promise","PropertyNodeList","Proxy","PushManager","PushSubscription","Q","QUOTA_ERR","QUOTA_EXCEEDED_ERR","QueryInterface","READ_ONLY","READ_ONLY_ERR","READ_WRITE","RED_BITS","REMOVAL","RENDERBUFFER","RENDERBUFFER_ALPHA_SIZE","RENDERBUFFER_BINDING","RENDERBUFFER_BLUE_SIZE","RENDERBUFFER_DEPTH_SIZE","RENDERBUFFER_GREEN_SIZE","RENDERBUFFER_HEIGHT","RENDERBUFFER_INTERNAL_FORMAT","RENDERBUFFER_RED_SIZE","RENDERBUFFER_STENCIL_SIZE","RENDERBUFFER_WIDTH","RENDERER","RENDERING_INTENT_ABSOLUTE_COLORIMETRIC","RENDERING_INTENT_AUTO","RENDERING_INTENT_PERCEPTUAL","RENDERING_INTENT_RELATIVE_COLORIMETRIC","RENDERING_INTENT_SATURATION","RENDERING_INTENT_UNKNOWN","REPEAT","REPLACE","RGB","RGB565","RGB5_A1","RGBA","RGBA4","RGBColor","ROTATION_CLOCKWISE","ROTATION_COUNTERCLOCKWISE","RTCDataChannelEvent","RTCIceCandidate","RTCPeerConnectionIceEvent","RTCRtpReceiver","RTCRtpSender","RTCSessionDescription","RTCStatsReport","RadioNodeList","Range","RangeError","RangeException","RecordErrorEvent","Rect","ReferenceError","RegExp","Request","Response","SAMPLER_2D","SAMPLER_CUBE","SAMPLES","SAMPLE_ALPHA_TO_COVERAGE","SAMPLE_BUFFERS","SAMPLE_COVERAGE","SAMPLE_COVERAGE_INVERT","SAMPLE_COVERAGE_VALUE","SAWTOOTH","SCHEDULED_STATE","SCISSOR_BOX","SCISSOR_TEST","SCROLL_PAGE_DOWN","SCROLL_PAGE_UP","SDP_ANSWER","SDP_OFFER","SDP_PRANSWER","SECURITY_ERR","SELECT","SERIALIZE_ERR","SEVERITY_ERROR","SEVERITY_FATAL_ERROR","SEVERITY_WARNING","SHADER_COMPILER","SHADER_TYPE","SHADING_LANGUAGE_VERSION","SHIFT_MASK","SHORT","SHOWING","SHOW_ALL","SHOW_ATTRIBUTE","SHOW_CDATA_SECTION","SHOW_COMMENT","SHOW_DOCUMENT","SHOW_DOCUMENT_FRAGMENT","SHOW_DOCUMENT_TYPE","SHOW_ELEMENT","SHOW_ENTITY","SHOW_ENTITY_REFERENCE","SHOW_NOTATION","SHOW_PROCESSING_INSTRUCTION","SHOW_TEXT","SINE","SOUNDFIELD","SQLException","SQRT1_2","SQRT2","SQUARE","SRC_ALPHA","SRC_ALPHA_SATURATE","SRC_COLOR","START_TO_END","START_TO_START","STATIC_DRAW","STENCIL_ATTACHMENT","STENCIL_BACK_FAIL","STENCIL_BACK_FUNC","STENCIL_BACK_PASS_DEPTH_FAIL","STENCIL_BACK_PASS_DEPTH_PASS","STENCIL_BACK_REF","STENCIL_BACK_VALUE_MASK","STENCIL_BACK_WRITEMASK","STENCIL_BITS","STENCIL_BUFFER_BIT","STENCIL_CLEAR_VALUE","STENCIL_FAIL","STENCIL_FUNC","STENCIL_INDEX","STENCIL_INDEX8","STENCIL_PASS_DEPTH_FAIL","STENCIL_PASS_DEPTH_PASS","STENCIL_REF","STENCIL_TEST","STENCIL_VALUE_MASK","STENCIL_WRITEMASK","STREAM_DRAW","STRING_TYPE","STYLE_RULE","SUBPIXEL_BITS","SUPPORTS_RULE","SVGAElement","SVGAltGlyphDefElement","SVGAltGlyphElement","SVGAltGlyphItemElement","SVGAngle","SVGAnimateColorElement","SVGAnimateElement","SVGAnimateMotionElement","SVGAnimateTransformElement","SVGAnimatedAngle","SVGAnimatedBoolean","SVGAnimatedEnumeration","SVGAnimatedInteger","SVGAnimatedLength","SVGAnimatedLengthList","SVGAnimatedNumber","SVGAnimatedNumberList","SVGAnimatedPreserveAspectRatio","SVGAnimatedRect","SVGAnimatedString","SVGAnimatedTransformList","SVGAnimationElement","SVGCircleElement","SVGClipPathElement","SVGColor","SVGComponentTransferFunctionElement","SVGCursorElement","SVGDefsElement","SVGDescElement","SVGDiscardElement","SVGDocument","SVGElement","SVGElementInstance","SVGElementInstanceList","SVGEllipseElement","SVGException","SVGFEBlendElement","SVGFEColorMatrixElement","SVGFEComponentTransferElement","SVGFECompositeElement","SVGFEConvolveMatrixElement","SVGFEDiffuseLightingElement","SVGFEDisplacementMapElement","SVGFEDistantLightElement","SVGFEDropShadowElement","SVGFEFloodElement","SVGFEFuncAElement","SVGFEFuncBElement","SVGFEFuncGElement","SVGFEFuncRElement","SVGFEGaussianBlurElement","SVGFEImageElement","SVGFEMergeElement","SVGFEMergeNodeElement","SVGFEMorphologyElement","SVGFEOffsetElement","SVGFEPointLightElement","SVGFESpecularLightingElement","SVGFESpotLightElement","SVGFETileElement","SVGFETurbulenceElement","SVGFilterElement","SVGFontElement","SVGFontFaceElement","SVGFontFaceFormatElement","SVGFontFaceNameElement","SVGFontFaceSrcElement","SVGFontFaceUriElement","SVGForeignObjectElement","SVGGElement","SVGGeometryElement","SVGGlyphElement","SVGGlyphRefElement","SVGGradientElement","SVGGraphicsElement","SVGHKernElement","SVGImageElement","SVGLength","SVGLengthList","SVGLineElement","SVGLinearGradientElement","SVGMPathElement","SVGMarkerElement","SVGMaskElement","SVGMatrix","SVGMetadataElement","SVGMissingGlyphElement","SVGNumber","SVGNumberList","SVGPaint","SVGPathElement","SVGPathSeg","SVGPathSegArcAbs","SVGPathSegArcRel","SVGPathSegClosePath","SVGPathSegCurvetoCubicAbs","SVGPathSegCurvetoCubicRel","SVGPathSegCurvetoCubicSmoothAbs","SVGPathSegCurvetoCubicSmoothRel","SVGPathSegCurvetoQuadraticAbs","SVGPathSegCurvetoQuadraticRel","SVGPathSegCurvetoQuadraticSmoothAbs","SVGPathSegCurvetoQuadraticSmoothRel","SVGPathSegLinetoAbs","SVGPathSegLinetoHorizontalAbs","SVGPathSegLinetoHorizontalRel","SVGPathSegLinetoRel","SVGPathSegLinetoVerticalAbs","SVGPathSegLinetoVerticalRel","SVGPathSegList","SVGPathSegMovetoAbs","SVGPathSegMovetoRel","SVGPatternElement","SVGPoint","SVGPointList","SVGPolygonElement","SVGPolylineElement","SVGPreserveAspectRatio","SVGRadialGradientElement","SVGRect","SVGRectElement","SVGRenderingIntent","SVGSVGElement","SVGScriptElement","SVGSetElement","SVGStopElement","SVGStringList","SVGStyleElement","SVGSwitchElement","SVGSymbolElement","SVGTRefElement","SVGTSpanElement","SVGTextContentElement","SVGTextElement","SVGTextPathElement","SVGTextPositioningElement","SVGTitleElement","SVGTransform","SVGTransformList","SVGUnitTypes","SVGUseElement","SVGVKernElement","SVGViewElement","SVGViewSpec","SVGZoomAndPan","SVGZoomEvent","SVG_ANGLETYPE_DEG","SVG_ANGLETYPE_GRAD","SVG_ANGLETYPE_RAD","SVG_ANGLETYPE_UNKNOWN","SVG_ANGLETYPE_UNSPECIFIED","SVG_CHANNEL_A","SVG_CHANNEL_B","SVG_CHANNEL_G","SVG_CHANNEL_R","SVG_CHANNEL_UNKNOWN","SVG_COLORTYPE_CURRENTCOLOR","SVG_COLORTYPE_RGBCOLOR","SVG_COLORTYPE_RGBCOLOR_ICCCOLOR","SVG_COLORTYPE_UNKNOWN","SVG_EDGEMODE_DUPLICATE","SVG_EDGEMODE_NONE","SVG_EDGEMODE_UNKNOWN","SVG_EDGEMODE_WRAP","SVG_FEBLEND_MODE_COLOR","SVG_FEBLEND_MODE_COLOR_BURN","SVG_FEBLEND_MODE_COLOR_DODGE","SVG_FEBLEND_MODE_DARKEN","SVG_FEBLEND_MODE_DIFFERENCE","SVG_FEBLEND_MODE_EXCLUSION","SVG_FEBLEND_MODE_HARD_LIGHT","SVG_FEBLEND_MODE_HUE","SVG_FEBLEND_MODE_LIGHTEN","SVG_FEBLEND_MODE_LUMINOSITY","SVG_FEBLEND_MODE_MULTIPLY","SVG_FEBLEND_MODE_NORMAL","SVG_FEBLEND_MODE_OVERLAY","SVG_FEBLEND_MODE_SATURATION","SVG_FEBLEND_MODE_SCREEN","SVG_FEBLEND_MODE_SOFT_LIGHT","SVG_FEBLEND_MODE_UNKNOWN","SVG_FECOLORMATRIX_TYPE_HUEROTATE","SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA","SVG_FECOLORMATRIX_TYPE_MATRIX","SVG_FECOLORMATRIX_TYPE_SATURATE","SVG_FECOLORMATRIX_TYPE_UNKNOWN","SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE","SVG_FECOMPONENTTRANSFER_TYPE_GAMMA","SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY","SVG_FECOMPONENTTRANSFER_TYPE_LINEAR","SVG_FECOMPONENTTRANSFER_TYPE_TABLE","SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN","SVG_FECOMPOSITE_OPERATOR_ARITHMETIC","SVG_FECOMPOSITE_OPERATOR_ATOP","SVG_FECOMPOSITE_OPERATOR_IN","SVG_FECOMPOSITE_OPERATOR_OUT","SVG_FECOMPOSITE_OPERATOR_OVER","SVG_FECOMPOSITE_OPERATOR_UNKNOWN","SVG_FECOMPOSITE_OPERATOR_XOR","SVG_INVALID_VALUE_ERR","SVG_LENGTHTYPE_CM","SVG_LENGTHTYPE_EMS","SVG_LENGTHTYPE_EXS","SVG_LENGTHTYPE_IN","SVG_LENGTHTYPE_MM","SVG_LENGTHTYPE_NUMBER","SVG_LENGTHTYPE_PC","SVG_LENGTHTYPE_PERCENTAGE","SVG_LENGTHTYPE_PT","SVG_LENGTHTYPE_PX","SVG_LENGTHTYPE_UNKNOWN","SVG_MARKERUNITS_STROKEWIDTH","SVG_MARKERUNITS_UNKNOWN","SVG_MARKERUNITS_USERSPACEONUSE","SVG_MARKER_ORIENT_ANGLE","SVG_MARKER_ORIENT_AUTO","SVG_MARKER_ORIENT_UNKNOWN","SVG_MASKTYPE_ALPHA","SVG_MASKTYPE_LUMINANCE","SVG_MATRIX_NOT_INVERTABLE","SVG_MEETORSLICE_MEET","SVG_MEETORSLICE_SLICE","SVG_MEETORSLICE_UNKNOWN","SVG_MORPHOLOGY_OPERATOR_DILATE","SVG_MORPHOLOGY_OPERATOR_ERODE","SVG_MORPHOLOGY_OPERATOR_UNKNOWN","SVG_PAINTTYPE_CURRENTCOLOR","SVG_PAINTTYPE_NONE","SVG_PAINTTYPE_RGBCOLOR","SVG_PAINTTYPE_RGBCOLOR_ICCCOLOR","SVG_PAINTTYPE_UNKNOWN","SVG_PAINTTYPE_URI","SVG_PAINTTYPE_URI_CURRENTCOLOR","SVG_PAINTTYPE_URI_NONE","SVG_PAINTTYPE_URI_RGBCOLOR","SVG_PAINTTYPE_URI_RGBCOLOR_ICCCOLOR","SVG_PRESERVEASPECTRATIO_NONE","SVG_PRESERVEASPECTRATIO_UNKNOWN","SVG_PRESERVEASPECTRATIO_XMAXYMAX","SVG_PRESERVEASPECTRATIO_XMAXYMID","SVG_PRESERVEASPECTRATIO_XMAXYMIN","SVG_PRESERVEASPECTRATIO_XMIDYMAX","SVG_PRESERVEASPECTRATIO_XMIDYMID","SVG_PRESERVEASPECTRATIO_XMIDYMIN","SVG_PRESERVEASPECTRATIO_XMINYMAX","SVG_PRESERVEASPECTRATIO_XMINYMID","SVG_PRESERVEASPECTRATIO_XMINYMIN","SVG_SPREADMETHOD_PAD","SVG_SPREADMETHOD_REFLECT","SVG_SPREADMETHOD_REPEAT","SVG_SPREADMETHOD_UNKNOWN","SVG_STITCHTYPE_NOSTITCH","SVG_STITCHTYPE_STITCH","SVG_STITCHTYPE_UNKNOWN","SVG_TRANSFORM_MATRIX","SVG_TRANSFORM_ROTATE","SVG_TRANSFORM_SCALE","SVG_TRANSFORM_SKEWX","SVG_TRANSFORM_SKEWY","SVG_TRANSFORM_TRANSLATE","SVG_TRANSFORM_UNKNOWN","SVG_TURBULENCE_TYPE_FRACTALNOISE","SVG_TURBULENCE_TYPE_TURBULENCE","SVG_TURBULENCE_TYPE_UNKNOWN","SVG_UNIT_TYPE_OBJECTBOUNDINGBOX","SVG_UNIT_TYPE_UNKNOWN","SVG_UNIT_TYPE_USERSPACEONUSE","SVG_WRONG_TYPE_ERR","SVG_ZOOMANDPAN_DISABLE","SVG_ZOOMANDPAN_MAGNIFY","SVG_ZOOMANDPAN_UNKNOWN","SYNTAX_ERR","SavedPages","Screen","ScreenOrientation","Script","ScriptProcessorNode","ScrollAreaEvent","SecurityPolicyViolationEvent","Selection","ServiceWorker","ServiceWorkerContainer","ServiceWorkerRegistration","SessionDescription","Set","ShadowRoot","SharedWorker","SimpleGestureEvent","SpeechSynthesisEvent","SpeechSynthesisUtterance","StopIteration","Storage","StorageEvent","String","StyleSheet","StyleSheetList","SubtleCrypto","Symbol","SyntaxError","TEMPORARY","TEXTPATH_METHODTYPE_ALIGN","TEXTPATH_METHODTYPE_STRETCH","TEXTPATH_METHODTYPE_UNKNOWN","TEXTPATH_SPACINGTYPE_AUTO","TEXTPATH_SPACINGTYPE_EXACT","TEXTPATH_SPACINGTYPE_UNKNOWN","TEXTURE","TEXTURE0","TEXTURE1","TEXTURE10","TEXTURE11","TEXTURE12","TEXTURE13","TEXTURE14","TEXTURE15","TEXTURE16","TEXTURE17","TEXTURE18","TEXTURE19","TEXTURE2","TEXTURE20","TEXTURE21","TEXTURE22","TEXTURE23","TEXTURE24","TEXTURE25","TEXTURE26","TEXTURE27","TEXTURE28","TEXTURE29","TEXTURE3","TEXTURE30","TEXTURE31","TEXTURE4","TEXTURE5","TEXTURE6","TEXTURE7","TEXTURE8","TEXTURE9","TEXTURE_2D","TEXTURE_BINDING_2D","TEXTURE_BINDING_CUBE_MAP","TEXTURE_CUBE_MAP","TEXTURE_CUBE_MAP_NEGATIVE_X","TEXTURE_CUBE_MAP_NEGATIVE_Y","TEXTURE_CUBE_MAP_NEGATIVE_Z","TEXTURE_CUBE_MAP_POSITIVE_X","TEXTURE_CUBE_MAP_POSITIVE_Y","TEXTURE_CUBE_MAP_POSITIVE_Z","TEXTURE_MAG_FILTER","TEXTURE_MAX_ANISOTROPY_EXT","TEXTURE_MIN_FILTER","TEXTURE_WRAP_S","TEXTURE_WRAP_T","TEXT_NODE","TIMEOUT","TIMEOUT_ERR","TOO_LARGE_ERR","TRANSACTION_INACTIVE_ERR","TRIANGLE","TRIANGLES","TRIANGLE_FAN","TRIANGLE_STRIP","TYPE_BACK_FORWARD","TYPE_ERR","TYPE_MISMATCH_ERR","TYPE_NAVIGATE","TYPE_RELOAD","TYPE_RESERVED","Text","TextDecoder","TextEncoder","TextEvent","TextMetrics","TextTrack","TextTrackCue","TextTrackCueList","TextTrackList","TimeEvent","TimeRanges","Touch","TouchEvent","TouchList","TrackEvent","TransitionEvent","TreeWalker","TypeError","UIEvent","UNCACHED","UNKNOWN_ERR","UNKNOWN_RULE","UNMASKED_RENDERER_WEBGL","UNMASKED_VENDOR_WEBGL","UNORDERED_NODE_ITERATOR_TYPE","UNORDERED_NODE_SNAPSHOT_TYPE","UNPACK_ALIGNMENT","UNPACK_COLORSPACE_CONVERSION_WEBGL","UNPACK_FLIP_Y_WEBGL","UNPACK_PREMULTIPLY_ALPHA_WEBGL","UNSCHEDULED_STATE","UNSENT","UNSIGNED_BYTE","UNSIGNED_INT","UNSIGNED_SHORT","UNSIGNED_SHORT_4_4_4_4","UNSIGNED_SHORT_5_5_5_1","UNSIGNED_SHORT_5_6_5","UNSPECIFIED_EVENT_TYPE_ERR","UPDATEREADY","URIError","URL","URLSearchParams","URLUnencoded","URL_MISMATCH_ERR","UTC","Uint16Array","Uint32Array","Uint8Array","Uint8ClampedArray","UserMessageHandler","UserMessageHandlersNamespace","UserProximityEvent","VALIDATE_STATUS","VALIDATION_ERR","VARIABLES_RULE","VENDOR","VERSION","VERSION_CHANGE","VERSION_ERR","VERTEX_ATTRIB_ARRAY_BUFFER_BINDING","VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE","VERTEX_ATTRIB_ARRAY_ENABLED","VERTEX_ATTRIB_ARRAY_NORMALIZED","VERTEX_ATTRIB_ARRAY_POINTER","VERTEX_ATTRIB_ARRAY_SIZE","VERTEX_ATTRIB_ARRAY_STRIDE","VERTEX_ATTRIB_ARRAY_TYPE","VERTEX_SHADER","VERTICAL","VERTICAL_AXIS","VER_ERR","VIEWPORT","VIEWPORT_RULE","VTTCue","VTTRegion","ValidityState","VideoStreamTrack","WEBKIT_FILTER_RULE","WEBKIT_KEYFRAMES_RULE","WEBKIT_KEYFRAME_RULE","WEBKIT_REGION_RULE","WRONG_DOCUMENT_ERR","WaveShaperNode","WeakMap","WeakSet","WebGLActiveInfo","WebGLBuffer","WebGLContextEvent","WebGLFramebuffer","WebGLProgram","WebGLRenderbuffer","WebGLRenderingContext","WebGLShader","WebGLShaderPrecisionFormat","WebGLTexture","WebGLUniformLocation","WebGLVertexArray","WebKitAnimationEvent","WebKitBlobBuilder","WebKitCSSFilterRule","WebKitCSSFilterValue","WebKitCSSKeyframeRule","WebKitCSSKeyframesRule","WebKitCSSMatrix","WebKitCSSRegionRule","WebKitCSSTransformValue","WebKitDataCue","WebKitGamepad","WebKitMediaKeyError","WebKitMediaKeyMessageEvent","WebKitMediaKeySession","WebKitMediaKeys","WebKitMediaSource","WebKitMutationObserver","WebKitNamespace","WebKitPlaybackTargetAvailabilityEvent","WebKitPoint","WebKitShadowRoot","WebKitSourceBuffer","WebKitSourceBufferList","WebKitTransitionEvent","WebSocket","WheelEvent","Window","Worker","XMLDocument","XMLHttpRequest","XMLHttpRequestEventTarget","XMLHttpRequestException","XMLHttpRequestProgressEvent","XMLHttpRequestUpload","XMLSerializer","XMLStylesheetProcessingInstruction","XPathEvaluator","XPathException","XPathExpression","XPathNSResolver","XPathResult","XSLTProcessor","ZERO","_XD0M_","_YD0M_","__defineGetter__","__defineSetter__","__lookupGetter__","__lookupSetter__","__opera","__proto__","_browserjsran","a","aLink","abbr","abort","abs","absolute","acceleration","accelerationIncludingGravity","accelerator","accept","acceptCharset","acceptNode","accessKey","accessKeyLabel","accuracy","acos","acosh","action","actionURL","active","activeCues","activeElement","activeSourceBuffers","activeSourceCount","activeTexture","add","addBehavior","addCandidate","addColorStop","addCue","addElement","addEventListener","addFilter","addFromString","addFromUri","addIceCandidate","addImport","addListener","addNamed","addPageRule","addPath","addPointer","addRange","addRegion","addRule","addSearchEngine","addSourceBuffer","addStream","addTextTrack","addTrack","addWakeLockListener","addedNodes","additionalName","additiveSymbols","addons","adoptNode","adr","advance","alert","algorithm","align","align-content","align-items","align-self","alignContent","alignItems","alignSelf","alignmentBaseline","alinkColor","all","allowFullscreen","allowedDirections","alpha","alt","altGraphKey","altHtml","altKey","altLeft","altitude","altitudeAccuracy","amplitude","ancestorOrigins","anchor","anchorNode","anchorOffset","anchors","angle","animVal","animate","animatedInstanceRoot","animatedNormalizedPathSegList","animatedPathSegList","animatedPoints","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","animationDelay","animationDirection","animationDuration","animationFillMode","animationIterationCount","animationName","animationPlayState","animationStartTime","animationTimingFunction","animationsPaused","anniversary","app","appCodeName","appMinorVersion","appName","appNotifications","appVersion","append","appendBuffer","appendChild","appendData","appendItem","appendMedium","appendNamed","appendRule","appendStream","appendWindowEnd","appendWindowStart","applets","applicationCache","apply","applyElement","arc","arcTo","archive","areas","arguments","arrayBuffer","asin","asinh","assert","assign","async","atEnd","atan","atan2","atanh","atob","attachEvent","attachShader","attachments","attack","attrChange","attrName","attributeName","attributeNamespace","attributes","audioTracks","autoIncrement","autobuffer","autocapitalize","autocomplete","autocorrect","autofocus","autoplay","availHeight","availLeft","availTop","availWidth","availability","available","aversion","axes","axis","azimuth","b","back","backface-visibility","backfaceVisibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","backgroundAttachment","backgroundBlendMode","backgroundClip","backgroundColor","backgroundImage","backgroundOrigin","backgroundPosition","backgroundPositionX","backgroundPositionY","backgroundRepeat","backgroundSize","badInput","balance","baseFrequencyX","baseFrequencyY","baseNode","baseOffset","baseURI","baseVal","baselineShift","battery","bday","beginElement","beginElementAt","beginPath","behavior","behaviorCookie","behaviorPart","behaviorUrns","beta","bezierCurveTo","bgColor","bgProperties","bias","big","binaryType","bind","bindAttribLocation","bindBuffer","bindFramebuffer","bindRenderbuffer","bindTexture","blendColor","blendEquation","blendEquationSeparate","blendFunc","blendFuncSeparate","blink","blob","blockDirection","blue","blur","body","bodyUsed","bold","bookmarks","booleanValue","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","borderBottom","borderBottomColor","borderBottomLeftRadius","borderBottomRightRadius","borderBottomStyle","borderBottomWidth","borderCollapse","borderColor","borderColorDark","borderColorLight","borderImage","borderImageOutset","borderImageRepeat","borderImageSlice","borderImageSource","borderImageWidth","borderLeft","borderLeftColor","borderLeftStyle","borderLeftWidth","borderRadius","borderRight","borderRightColor","borderRightStyle","borderRightWidth","borderSpacing","borderStyle","borderTop","borderTopColor","borderTopLeftRadius","borderTopRightRadius","borderTopStyle","borderTopWidth","borderWidth","bottom","bottomMargin","bound","boundElements","boundingClientRect","boundingHeight","boundingLeft","boundingTop","boundingWidth","bounds","box-decoration-break","box-shadow","box-sizing","boxDecorationBreak","boxShadow","boxSizing","breakAfter","breakBefore","breakInside","browserLanguage","btoa","bubbles","buffer","bufferData","bufferDepth","bufferSize","bufferSubData","buffered","bufferedAmount","buildID","buildNumber","button","buttonID","buttons","byteLength","byteOffset","c","call","caller","canBeFormatted","canBeMounted","canBeShared","canHaveChildren","canHaveHTML","canPlayType","cancel","cancelAnimationFrame","cancelBubble","cancelScheduledValues","cancelable","candidate","canvas","caption","caption-side","captionSide","captureEvents","captureStackTrace","caretPositionFromPoint","caretRangeFromPoint","cast","catch","category","cbrt","cd","ceil","cellIndex","cellPadding","cellSpacing","cells","ch","chOff","chain","challenge","changedTouches","channel","channelCount","channelCountMode","channelInterpretation","char","charAt","charCode","charCodeAt","charIndex","characterSet","charging","chargingTime","charset","checkEnclosure","checkFramebufferStatus","checkIntersection","checkValidity","checked","childElementCount","childNodes","children","chrome","ciphertext","cite","classList","className","classid","clear","clearAttributes","clearColor","clearData","clearDepth","clearImmediate","clearInterval","clearMarks","clearMeasures","clearParameters","clearRect","clearResourceTimings","clearShadow","clearStencil","clearTimeout","clearWatch","click","clickCount","clientHeight","clientInformation","clientLeft","clientRect","clientRects","clientTop","clientWidth","clientX","clientY","clip","clip-path","clip-rule","clipBottom","clipLeft","clipPath","clipPathUnits","clipRight","clipRule","clipTop","clipboardData","clone","cloneContents","cloneNode","cloneRange","close","closePath","closed","closest","clz","clz32","cmp","code","codeBase","codePointAt","codeType","colSpan","collapse","collapseToEnd","collapseToStart","collapsed","collect","colno","color","color-interpolation","color-interpolation-filters","colorDepth","colorInterpolation","colorInterpolationFilters","colorMask","colorType","cols","columnCount","columnFill","columnGap","columnNumber","columnRule","columnRuleColor","columnRuleStyle","columnRuleWidth","columnSpan","columnWidth","columns","command","commitPreferences","commonAncestorContainer","compact","compareBoundaryPoints","compareDocumentPosition","compareEndPoints","compareNode","comparePoint","compatMode","compatible","compile","compileShader","complete","componentFromPoint","compositionEndOffset","compositionStartOffset","compressedTexImage2D","compressedTexSubImage2D","concat","conditionText","coneInnerAngle","coneOuterAngle","coneOuterGain","confirm","confirmComposition","confirmSiteSpecificTrackingException","confirmWebWideTrackingException","connect","connectEnd","connectStart","connected","connection","connectionSpeed","console","consolidate","constrictionActive","constructor","contactID","contains","containsNode","content","contentDocument","contentEditable","contentOverflow","contentScriptType","contentStyleType","contentType","contentWindow","context","contextMenu","contextmenu","continue","continuous","control","controller","controls","convertToSpecifiedUnits","cookie","cookieEnabled","coords","copyFromChannel","copyTexImage2D","copyTexSubImage2D","copyToChannel","copyWithin","correspondingElement","correspondingUseElement","cos","cosh","count","counter-increment","counter-reset","counterIncrement","counterReset","cpuClass","cpuSleepAllowed","create","createAnalyser","createAnswer","createAttribute","createAttributeNS","createBiquadFilter","createBuffer","createBufferSource","createCDATASection","createCSSStyleSheet","createCaption","createChannelMerger","createChannelSplitter","createComment","createContextualFragment","createControlRange","createConvolver","createDTMFSender","createDataChannel","createDelay","createDelayNode","createDocument","createDocumentFragment","createDocumentType","createDynamicsCompressor","createElement","createElementNS","createEntityReference","createEvent","createEventObject","createExpression","createFramebuffer","createFunction","createGain","createGainNode","createHTMLDocument","createImageBitmap","createImageData","createIndex","createJavaScriptNode","createLinearGradient","createMediaElementSource","createMediaKeys","createMediaStreamDestination","createMediaStreamSource","createMutableFile","createNSResolver","createNodeIterator","createNotification","createObjectStore","createObjectURL","createOffer","createOscillator","createPanner","createPattern","createPeriodicWave","createPopup","createProcessingInstruction","createProgram","createRadialGradient","createRange","createRangeCollection","createRenderbuffer","createSVGAngle","createSVGLength","createSVGMatrix","createSVGNumber","createSVGPathSegArcAbs","createSVGPathSegArcRel","createSVGPathSegClosePath","createSVGPathSegCurvetoCubicAbs","createSVGPathSegCurvetoCubicRel","createSVGPathSegCurvetoCubicSmoothAbs","createSVGPathSegCurvetoCubicSmoothRel","createSVGPathSegCurvetoQuadraticAbs","createSVGPathSegCurvetoQuadraticRel","createSVGPathSegCurvetoQuadraticSmoothAbs","createSVGPathSegCurvetoQuadraticSmoothRel","createSVGPathSegLinetoAbs","createSVGPathSegLinetoHorizontalAbs","createSVGPathSegLinetoHorizontalRel","createSVGPathSegLinetoRel","createSVGPathSegLinetoVerticalAbs","createSVGPathSegLinetoVerticalRel","createSVGPathSegMovetoAbs","createSVGPathSegMovetoRel","createSVGPoint","createSVGRect","createSVGTransform","createSVGTransformFromMatrix","createScriptProcessor","createSession","createShader","createShadowRoot","createStereoPanner","createStyleSheet","createTBody","createTFoot","createTHead","createTextNode","createTextRange","createTexture","createTouch","createTouchList","createTreeWalker","createWaveShaper","creationTime","crossOrigin","crypto","csi","cssFloat","cssRules","cssText","cssValueType","ctrlKey","ctrlLeft","cues","cullFace","currentNode","currentPage","currentScale","currentScript","currentSrc","currentState","currentStyle","currentTarget","currentTime","currentTranslate","currentView","cursor","curve","customError","cx","cy","d","data","dataFld","dataFormatAs","dataPageSize","dataSrc","dataTransfer","database","dataset","dateTime","db","debug","debuggerEnabled","declare","decode","decodeAudioData","decodeURI","decodeURIComponent","decrypt","default","defaultCharset","defaultChecked","defaultMuted","defaultPlaybackRate","defaultPrevented","defaultSelected","defaultStatus","defaultURL","defaultValue","defaultView","defaultstatus","defer","defineMagicFunction","defineMagicVariable","defineProperties","defineProperty","delayTime","delete","deleteBuffer","deleteCaption","deleteCell","deleteContents","deleteData","deleteDatabase","deleteFramebuffer","deleteFromDocument","deleteIndex","deleteMedium","deleteObjectStore","deleteProgram","deleteRenderbuffer","deleteRow","deleteRule","deleteShader","deleteTFoot","deleteTHead","deleteTexture","deliverChangeRecords","delivery","deliveryInfo","deliveryStatus","deliveryTimestamp","delta","deltaMode","deltaX","deltaY","deltaZ","depthFunc","depthMask","depthRange","deriveBits","deriveKey","description","deselectAll","designMode","destination","destinationURL","detach","detachEvent","detachShader","detail","detune","devicePixelRatio","deviceXDPI","deviceYDPI","diffuseConstant","digest","dimensions","dir","dirName","direction","dirxml","disable","disableVertexAttribArray","disabled","dischargingTime","disconnect","dispatchEvent","display","distanceModel","divisor","djsapi","djsproxy","doImport","doNotTrack","doScroll","doctype","document","documentElement","documentMode","documentURI","dolphin","dolphinGameCenter","dolphininfo","dolphinmeta","domComplete","domContentLoadedEventEnd","domContentLoadedEventStart","domInteractive","domLoading","domain","domainLookupEnd","domainLookupStart","dominant-baseline","dominantBaseline","done","dopplerFactor","download","dragDrop","draggable","drawArrays","drawArraysInstancedANGLE","drawCustomFocusRing","drawElements","drawElementsInstancedANGLE","drawFocusIfNeeded","drawImage","drawImageFromRect","drawSystemFocusRing","drawingBufferHeight","drawingBufferWidth","dropEffect","droppedVideoFrames","dropzone","dump","duplicate","duration","dvname","dvnum","dx","dy","dynsrc","e","edgeMode","effectAllowed","elapsedTime","elementFromPoint","elements","elevation","ellipse","email","embeds","empty","empty-cells","emptyCells","enable","enableBackground","enableStyleSheetsForSet","enableVertexAttribArray","enabled","enabledPlugin","encode","encodeURI","encodeURIComponent","encoding","encrypt","enctype","end","endContainer","endElement","endElementAt","endOfStream","endOffset","endTime","ended","endsWith","entities","entries","entryType","enumerate","enumerateEditable","error","errorCode","escape","eval","evaluate","event","eventPhase","every","exception","exec","execCommand","execCommandShowHelp","execScript","exitFullscreen","exitPointerLock","exp","expand","expandEntityReferences","expando","expansion","expiryDate","explicitOriginalTarget","expm1","exponent","exponentialRampToValueAtTime","exportKey","extend","extensions","extentNode","extentOffset","external","externalResourcesRequired","extractContents","extractable","f","face","factoryReset","fallback","familyName","farthestViewportElement","fastSeek","fatal","fetch","fetchStart","fftSize","fgColor","fileCreatedDate","fileHandle","fileModifiedDate","fileName","fileSize","fileUpdatedDate","filename","files","fill","fill-opacity","fill-rule","fillOpacity","fillRect","fillRule","fillStyle","fillText","filter","filterResX","filterResY","filterUnits","filters","find","findIndex","findRule","findText","finish","fireEvent","firstChild","firstElementChild","firstPage","fixed","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","flexBasis","flexDirection","flexFlow","flexGrow","flexShrink","flexWrap","flipX","flipY","float","flood-color","flood-opacity","floodColor","floodOpacity","floor","flush","focus","focusNode","focusOffset","font","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-stretch","font-style","font-synthesis","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-weight","fontFamily","fontFeatureSettings","fontKerning","fontLanguageOverride","fontSize","fontSizeAdjust","fontSmoothingEnabled","fontStretch","fontStyle","fontSynthesis","fontVariant","fontVariantAlternates","fontVariantCaps","fontVariantEastAsian","fontVariantLigatures","fontVariantNumeric","fontVariantPosition","fontWeight","fontcolor","fonts","fontsize","for","forEach","forceRedraw","form","formAction","formEnctype","formMethod","formNoValidate","formTarget","format","forms","forward","fr","frame","frameBorder","frameElement","frameSpacing","framebufferRenderbuffer","framebufferTexture2D","frames","freeSpace","freeze","frequency","frequencyBinCount","from","fromCharCode","fromCodePoint","fromElement","frontFace","fround","fullScreen","fullscreenElement","fullscreenEnabled","fx","fy","gain","gamepad","gamma","genderIdentity","generateKey","generateMipmap","generateRequest","geolocation","gestureObject","get","getActiveAttrib","getActiveUniform","getAdjacentText","getAll","getAllResponseHeaders","getAsFile","getAsString","getAttachedShaders","getAttribLocation","getAttribute","getAttributeNS","getAttributeNode","getAttributeNodeNS","getAudioTracks","getBBox","getBattery","getBlob","getBookmark","getBoundingClientRect","getBufferParameter","getByteFrequencyData","getByteTimeDomainData","getCSSCanvasContext","getCTM","getCandidateWindowClientRect","getChannelData","getCharNumAtPosition","getClientRect","getClientRects","getCompositionAlternatives","getComputedStyle","getComputedTextLength","getConfiguration","getContext","getContextAttributes","getCounterValue","getCueAsHTML","getCueById","getCurrentPosition","getCurrentTime","getData","getDatabaseNames","getDate","getDay","getDefaultComputedStyle","getDestinationInsertionPoints","getDistributedNodes","getEditable","getElementById","getElementsByClassName","getElementsByName","getElementsByTagName","getElementsByTagNameNS","getEnclosureList","getEndPositionOfChar","getEntries","getEntriesByName","getEntriesByType","getError","getExtension","getExtentOfChar","getFeature","getFile","getFloat32","getFloat64","getFloatFrequencyData","getFloatTimeDomainData","getFloatValue","getFramebufferAttachmentParameter","getFrequencyResponse","getFullYear","getGamepads","getHours","getImageData","getInt16","getInt32","getInt8","getIntersectionList","getItem","getItems","getKey","getLineDash","getLocalStreams","getMarks","getMatchedCSSRules","getMeasures","getMetadata","getMilliseconds","getMinutes","getModifierState","getMonth","getNamedItem","getNamedItemNS","getNotifier","getNumberOfChars","getOverrideHistoryNavigationMode","getOverrideStyle","getOwnPropertyDescriptor","getOwnPropertyNames","getOwnPropertySymbols","getParameter","getPathSegAtLength","getPointAtLength","getPreference","getPreferenceDefault","getPresentationAttribute","getPreventDefault","getProgramInfoLog","getProgramParameter","getPropertyCSSValue","getPropertyPriority","getPropertyShorthand","getPropertyValue","getPrototypeOf","getRGBColorValue","getRandomValues","getRangeAt","getReceivers","getRectValue","getRegistration","getRemoteStreams","getRenderbufferParameter","getResponseHeader","getRoot","getRotationOfChar","getSVGDocument","getScreenCTM","getSeconds","getSelection","getSenders","getShaderInfoLog","getShaderParameter","getShaderPrecisionFormat","getShaderSource","getSimpleDuration","getSiteIcons","getSources","getSpeculativeParserUrls","getStartPositionOfChar","getStartTime","getStats","getStorageUpdates","getStreamById","getStringValue","getSubStringLength","getSubscription","getSupportedExtensions","getTexParameter","getTime","getTimezoneOffset","getTotalLength","getTrackById","getTracks","getTransformToElement","getUTCDate","getUTCDay","getUTCFullYear","getUTCHours","getUTCMilliseconds","getUTCMinutes","getUTCMonth","getUTCSeconds","getUint16","getUint32","getUint8","getUniform","getUniformLocation","getUserMedia","getValues","getVarDate","getVariableValue","getVertexAttrib","getVertexAttribOffset","getVideoPlaybackQuality","getVideoTracks","getWakeLockState","getYear","givenName","global","globalAlpha","globalCompositeOperation","glyphOrientationHorizontal","glyphOrientationVertical","glyphRef","go","gradientTransform","gradientUnits","grammars","green","group","groupCollapsed","groupEnd","hardwareConcurrency","has","hasAttribute","hasAttributeNS","hasAttributes","hasChildNodes","hasComposition","hasExtension","hasFeature","hasFocus","hasLayout","hasOwnProperty","hash","head","headers","heading","height","hidden","hide","hideFocus","high","hint","history","honorificPrefix","honorificSuffix","horizontalOverflow","host","hostname","href","hreflang","hspace","html5TagCheckInerface","htmlFor","htmlText","httpEquiv","hwTimestamp","hypot","iccId","iceConnectionState","iceGatheringState","icon","id","identifier","identity","ignoreBOM","ignoreCase","image-orientation","image-rendering","imageOrientation","imageRendering","images","ime-mode","imeMode","implementation","importKey","importNode","importStylesheet","imports","impp","imul","in1","in2","inBandMetadataTrackDispatchType","inRange","includes","incremental","indeterminate","index","indexNames","indexOf","indexedDB","inertiaDestinationX","inertiaDestinationY","info","init","initAnimationEvent","initBeforeLoadEvent","initClipboardEvent","initCloseEvent","initCommandEvent","initCompositionEvent","initCustomEvent","initData","initDeviceMotionEvent","initDeviceOrientationEvent","initDragEvent","initErrorEvent","initEvent","initFocusEvent","initGestureEvent","initHashChangeEvent","initKeyEvent","initKeyboardEvent","initMSManipulationEvent","initMessageEvent","initMouseEvent","initMouseScrollEvent","initMouseWheelEvent","initMutationEvent","initNSMouseEvent","initOverflowEvent","initPageEvent","initPageTransitionEvent","initPointerEvent","initPopStateEvent","initProgressEvent","initScrollAreaEvent","initSimpleGestureEvent","initStorageEvent","initTextEvent","initTimeEvent","initTouchEvent","initTransitionEvent","initUIEvent","initWebKitAnimationEvent","initWebKitTransitionEvent","initWebKitWheelEvent","initWheelEvent","initialTime","initialize","initiatorType","inner","innerHTML","innerHeight","innerText","innerWidth","input","inputBuffer","inputEncoding","inputMethod","insertAdjacentElement","insertAdjacentHTML","insertAdjacentText","insertBefore","insertCell","insertData","insertItemBefore","insertNode","insertRow","insertRule","instanceRoot","intercept","interimResults","internalSubset","intersectsNode","interval","invalidIteratorState","inverse","invertSelf","is","is2D","isAlternate","isArray","isBingCurrentSearchDefault","isBuffer","isCandidateWindowVisible","isChar","isCollapsed","isComposing","isContentEditable","isContentHandlerRegistered","isContextLost","isDefaultNamespace","isDisabled","isEnabled","isEqual","isEqualNode","isExtensible","isFinite","isFramebuffer","isFrozen","isGenerator","isId","isInjected","isInteger","isMap","isMultiLine","isNaN","isOpen","isPointInFill","isPointInPath","isPointInRange","isPointInStroke","isPrefAlternate","isPrimary","isProgram","isPropertyImplicit","isProtocolHandlerRegistered","isPrototypeOf","isRenderbuffer","isSafeInteger","isSameNode","isSealed","isShader","isSupported","isTextEdit","isTexture","isTrusted","isTypeSupported","isView","isolation","italics","item","itemId","itemProp","itemRef","itemScope","itemType","itemValue","iterateNext","iterator","javaEnabled","jobTitle","join","json","justify-content","justifyContent","k1","k2","k3","k4","kernelMatrix","kernelUnitLengthX","kernelUnitLengthY","kerning","key","keyCode","keyFor","keyIdentifier","keyLightEnabled","keyLocation","keyPath","keySystem","keyText","keyUsage","keys","keytype","kind","knee","label","labels","lang","language","languages","largeArcFlag","lastChild","lastElementChild","lastEventId","lastIndex","lastIndexOf","lastMatch","lastMessageSubject","lastMessageType","lastModified","lastModifiedDate","lastPage","lastParen","lastState","lastStyleSheetSet","latitude","layerX","layerY","layoutFlow","layoutGrid","layoutGridChar","layoutGridLine","layoutGridMode","layoutGridType","lbound","left","leftContext","leftMargin","length","lengthAdjust","lengthComputable","letter-spacing","letterSpacing","level","lighting-color","lightingColor","limitingConeAngle","line","line-height","lineAlign","lineBreak","lineCap","lineDashOffset","lineHeight","lineJoin","lineNumber","lineTo","lineWidth","linearRampToValueAtTime","lineno","link","linkColor","linkProgram","links","list","list-style","list-style-image","list-style-position","list-style-type","listStyle","listStyleImage","listStylePosition","listStyleType","listener","load","loadEventEnd","loadEventStart","loadTimes","loaded","localDescription","localName","localStorage","locale","localeCompare","location","locationbar","lock","lockedFile","log","log10","log1p","log2","logicalXDPI","logicalYDPI","longDesc","longitude","lookupNamespaceURI","lookupPrefix","loop","loopEnd","loopStart","looping","low","lower","lowerBound","lowerOpen","lowsrc","m11","m12","m13","m14","m21","m22","m23","m24","m31","m32","m33","m34","m41","m42","m43","m44","manifest","map","mapping","margin","margin-bottom","margin-left","margin-right","margin-top","marginBottom","marginHeight","marginLeft","marginRight","marginTop","marginWidth","mark","marker","marker-end","marker-mid","marker-offset","marker-start","markerEnd","markerHeight","markerMid","markerOffset","markerStart","markerUnits","markerWidth","marks","mask","mask-type","maskContentUnits","maskType","maskUnits","match","matchMedia","matchMedium","matches","matrix","matrixTransform","max","max-height","max-width","maxAlternatives","maxChannelCount","maxConnectionsPerServer","maxDecibels","maxDistance","maxHeight","maxLength","maxTouchPoints","maxValue","maxWidth","measure","measureText","media","mediaDevices","mediaElement","mediaGroup","mediaKeys","mediaText","meetOrSlice","memory","menubar","mergeAttributes","message","messageClass","messageHandlers","metaKey","method","mimeType","mimeTypes","min","min-height","min-width","minDecibels","minHeight","minValue","minWidth","miterLimit","mix-blend-mode","mixBlendMode","mode","modify","mount","move","moveBy","moveEnd","moveFirst","moveFocusDown","moveFocusLeft","moveFocusRight","moveFocusUp","moveNext","moveRow","moveStart","moveTo","moveToBookmark","moveToElementText","moveToPoint","mozAdd","mozAnimationStartTime","mozAnon","mozApps","mozAudioCaptured","mozAudioChannelType","mozAutoplayEnabled","mozCancelAnimationFrame","mozCancelFullScreen","mozCancelRequestAnimationFrame","mozCaptureStream","mozCaptureStreamUntilEnded","mozClearDataAt","mozContact","mozContacts","mozCreateFileHandle","mozCurrentTransform","mozCurrentTransformInverse","mozCursor","mozDash","mozDashOffset","mozDecodedFrames","mozExitPointerLock","mozFillRule","mozFragmentEnd","mozFrameDelay","mozFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozGetAll","mozGetAllKeys","mozGetAsFile","mozGetDataAt","mozGetMetadata","mozGetUserMedia","mozHasAudio","mozHasItem","mozHidden","mozImageSmoothingEnabled","mozIndexedDB","mozInnerScreenX","mozInnerScreenY","mozInputSource","mozIsTextField","mozItem","mozItemCount","mozItems","mozLength","mozLockOrientation","mozMatchesSelector","mozMovementX","mozMovementY","mozOpaque","mozOrientation","mozPaintCount","mozPaintedFrames","mozParsedFrames","mozPay","mozPointerLockElement","mozPresentedFrames","mozPreservesPitch","mozPressure","mozPrintCallback","mozRTCIceCandidate","mozRTCPeerConnection","mozRTCSessionDescription","mozRemove","mozRequestAnimationFrame","mozRequestFullScreen","mozRequestPointerLock","mozSetDataAt","mozSetImageElement","mozSourceNode","mozSrcObject","mozSystem","mozTCPSocket","mozTextStyle","mozTypesAt","mozUnlockOrientation","mozUserCancelled","mozVisibilityState","msAnimation","msAnimationDelay","msAnimationDirection","msAnimationDuration","msAnimationFillMode","msAnimationIterationCount","msAnimationName","msAnimationPlayState","msAnimationStartTime","msAnimationTimingFunction","msBackfaceVisibility","msBlockProgression","msCSSOMElementFloatMetrics","msCaching","msCachingEnabled","msCancelRequestAnimationFrame","msCapsLockWarningOff","msClearImmediate","msClose","msContentZoomChaining","msContentZoomFactor","msContentZoomLimit","msContentZoomLimitMax","msContentZoomLimitMin","msContentZoomSnap","msContentZoomSnapPoints","msContentZoomSnapType","msContentZooming","msConvertURL","msCrypto","msDoNotTrack","msElementsFromPoint","msElementsFromRect","msExitFullscreen","msExtendedCode","msFillRule","msFirstPaint","msFlex","msFlexAlign","msFlexDirection","msFlexFlow","msFlexItemAlign","msFlexLinePack","msFlexNegative","msFlexOrder","msFlexPack","msFlexPositive","msFlexPreferredSize","msFlexWrap","msFlowFrom","msFlowInto","msFontFeatureSettings","msFullscreenElement","msFullscreenEnabled","msGetInputContext","msGetRegionContent","msGetUntransformedBounds","msGraphicsTrustStatus","msGridColumn","msGridColumnAlign","msGridColumnSpan","msGridColumns","msGridRow","msGridRowAlign","msGridRowSpan","msGridRows","msHidden","msHighContrastAdjust","msHyphenateLimitChars","msHyphenateLimitLines","msHyphenateLimitZone","msHyphens","msImageSmoothingEnabled","msImeAlign","msIndexedDB","msInterpolationMode","msIsStaticHTML","msKeySystem","msKeys","msLaunchUri","msLockOrientation","msManipulationViewsEnabled","msMatchMedia","msMatchesSelector","msMaxTouchPoints","msOrientation","msOverflowStyle","msPerspective","msPerspectiveOrigin","msPlayToDisabled","msPlayToPreferredSourceUri","msPlayToPrimary","msPointerEnabled","msRegionOverflow","msReleasePointerCapture","msRequestAnimationFrame","msRequestFullscreen","msSaveBlob","msSaveOrOpenBlob","msScrollChaining","msScrollLimit","msScrollLimitXMax","msScrollLimitXMin","msScrollLimitYMax","msScrollLimitYMin","msScrollRails","msScrollSnapPointsX","msScrollSnapPointsY","msScrollSnapType","msScrollSnapX","msScrollSnapY","msScrollTranslation","msSetImmediate","msSetMediaKeys","msSetPointerCapture","msTextCombineHorizontal","msTextSizeAdjust","msToBlob","msTouchAction","msTouchSelect","msTraceAsyncCallbackCompleted","msTraceAsyncCallbackStarting","msTraceAsyncOperationCompleted","msTraceAsyncOperationStarting","msTransform","msTransformOrigin","msTransformStyle","msTransition","msTransitionDelay","msTransitionDuration","msTransitionProperty","msTransitionTimingFunction","msUnlockOrientation","msUpdateAsyncCallbackRelation","msUserSelect","msVisibilityState","msWrapFlow","msWrapMargin","msWrapThrough","msWriteProfilerMark","msZoom","msZoomTo","mt","multiEntry","multiSelectionObj","multiline","multiple","multiply","multiplySelf","mutableFile","muted","n","name","nameProp","namedItem","namedRecordset","names","namespaceURI","namespaces","naturalHeight","naturalWidth","navigate","navigation","navigationMode","navigationStart","navigator","near","nearestViewportElement","negative","netscape","networkState","newScale","newTranslate","newURL","newValue","newValueSpecifiedUnits","newVersion","newhome","next","nextElementSibling","nextNode","nextPage","nextSibling","nickname","noHref","noResize","noShade","noValidate","noWrap","nodeName","nodeType","nodeValue","normalize","normalizedPathSegList","notationName","notations","note","noteGrainOn","noteOff","noteOn","now","numOctaves","number","numberOfChannels","numberOfInputs","numberOfItems","numberOfOutputs","numberValue","oMatchesSelector","object","object-fit","object-position","objectFit","objectPosition","objectStore","objectStoreNames","observe","of","offscreenBuffering","offset","offsetHeight","offsetLeft","offsetNode","offsetParent","offsetTop","offsetWidth","offsetX","offsetY","ok","oldURL","oldValue","oldVersion","olderShadowRoot","onLine","onabort","onactivate","onactive","onaddstream","onaddtrack","onafterprint","onafterscriptexecute","onafterupdate","onaudioend","onaudioprocess","onaudiostart","onautocomplete","onautocompleteerror","onbeforeactivate","onbeforecopy","onbeforecut","onbeforedeactivate","onbeforeeditfocus","onbeforepaste","onbeforeprint","onbeforescriptexecute","onbeforeunload","onbeforeupdate","onblocked","onblur","onbounce","onboundary","oncached","oncancel","oncandidatewindowhide","oncandidatewindowshow","oncandidatewindowupdate","oncanplay","oncanplaythrough","oncellchange","onchange","onchargingchange","onchargingtimechange","onchecking","onclick","onclose","oncompassneedscalibration","oncomplete","oncontextmenu","oncontrolselect","oncopy","oncuechange","oncut","ondataavailable","ondatachannel","ondatasetchanged","ondatasetcomplete","ondblclick","ondeactivate","ondevicelight","ondevicemotion","ondeviceorientation","ondeviceproximity","ondischargingtimechange","ondisplay","ondownloading","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onencrypted","onend","onended","onenter","onerror","onerrorupdate","onexit","onfilterchange","onfinish","onfocus","onfocusin","onfocusout","onfullscreenchange","onfullscreenerror","ongesturechange","ongestureend","ongesturestart","ongotpointercapture","onhashchange","onhelp","onicecandidate","oniceconnectionstatechange","oninactive","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onlanguagechange","onlayoutcomplete","onlevelchange","onload","onloadeddata","onloadedmetadata","onloadend","onloadstart","onlosecapture","onlostpointercapture","only","onmark","onmessage","onmousedown","onmouseenter","onmouseleave","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onmove","onmoveend","onmovestart","onmozfullscreenchange","onmozfullscreenerror","onmozorientationchange","onmozpointerlockchange","onmozpointerlockerror","onmscontentzoom","onmsfullscreenchange","onmsfullscreenerror","onmsgesturechange","onmsgesturedoubletap","onmsgestureend","onmsgesturehold","onmsgesturestart","onmsgesturetap","onmsgotpointercapture","onmsinertiastart","onmslostpointercapture","onmsmanipulationstatechanged","onmsneedkey","onmsorientationchange","onmspointercancel","onmspointerdown","onmspointerenter","onmspointerhover","onmspointerleave","onmspointermove","onmspointerout","onmspointerover","onmspointerup","onmssitemodejumplistitemremoved","onmsthumbnailclick","onnegotiationneeded","onnomatch","onnoupdate","onobsolete","onoffline","ononline","onopen","onorientationchange","onpagechange","onpagehide","onpageshow","onpaste","onpause","onplay","onplaying","onpluginstreamstart","onpointercancel","onpointerdown","onpointerenter","onpointerleave","onpointerlockchange","onpointerlockerror","onpointermove","onpointerout","onpointerover","onpointerup","onpopstate","onprogress","onpropertychange","onratechange","onreadystatechange","onremovestream","onremovetrack","onreset","onresize","onresizeend","onresizestart","onresourcetimingbufferfull","onresult","onresume","onrowenter","onrowexit","onrowsdelete","onrowsinserted","onscroll","onsearch","onseeked","onseeking","onselect","onselectionchange","onselectstart","onshow","onsignalingstatechange","onsoundend","onsoundstart","onspeechend","onspeechstart","onstalled","onstart","onstatechange","onstop","onstorage","onstoragecommit","onsubmit","onsuccess","onsuspend","ontextinput","ontimeout","ontimeupdate","ontoggle","ontouchcancel","ontouchend","ontouchmove","ontouchstart","ontransitionend","onunload","onupdateready","onupgradeneeded","onuserproximity","onversionchange","onvoiceschanged","onvolumechange","onwaiting","onwarning","onwebkitanimationend","onwebkitanimationiteration","onwebkitanimationstart","onwebkitcurrentplaybacktargetiswirelesschanged","onwebkitfullscreenchange","onwebkitfullscreenerror","onwebkitkeyadded","onwebkitkeyerror","onwebkitkeymessage","onwebkitneedkey","onwebkitorientationchange","onwebkitplaybacktargetavailabilitychanged","onwebkitpointerlockchange","onwebkitpointerlockerror","onwebkitresourcetimingbufferfull","onwebkittransitionend","onwheel","onzoom","opacity","open","openCursor","openDatabase","openKeyCursor","opener","opera","operationType","operator","opr","optimum","options","order","orderX","orderY","ordered","org","orient","orientAngle","orientType","orientation","origin","originalTarget","orphans","oscpu","outerHTML","outerHeight","outerText","outerWidth","outline","outline-color","outline-offset","outline-style","outline-width","outlineColor","outlineOffset","outlineStyle","outlineWidth","outputBuffer","overflow","overflow-x","overflow-y","overflowX","overflowY","overrideMimeType","oversample","ownerDocument","ownerElement","ownerNode","ownerRule","ownerSVGElement","owningElement","p1","p2","p3","p4","pad","padding","padding-bottom","padding-left","padding-right","padding-top","paddingBottom","paddingLeft","paddingRight","paddingTop","page","page-break-after","page-break-before","page-break-inside","pageBreakAfter","pageBreakBefore","pageBreakInside","pageCount","pageX","pageXOffset","pageY","pageYOffset","pages","paint-order","paintOrder","paintRequests","paintType","palette","panningModel","parent","parentElement","parentNode","parentRule","parentStyleSheet","parentTextEdit","parentWindow","parse","parseFloat","parseFromString","parseInt","participants","password","pasteHTML","path","pathLength","pathSegList","pathSegType","pathSegTypeAsLetter","pathname","pattern","patternContentUnits","patternMismatch","patternTransform","patternUnits","pause","pauseAnimations","pauseOnExit","paused","pending","performance","permission","persisted","personalbar","perspective","perspective-origin","perspectiveOrigin","phoneticFamilyName","phoneticGivenName","photo","ping","pitch","pixelBottom","pixelDepth","pixelHeight","pixelLeft","pixelRight","pixelStorei","pixelTop","pixelUnitToMillimeterX","pixelUnitToMillimeterY","pixelWidth","placeholder","platform","play","playbackRate","playbackState","playbackTime","played","plugins","pluginspage","pname","pointer-events","pointerBeforeReferenceNode","pointerEnabled","pointerEvents","pointerId","pointerLockElement","pointerType","points","pointsAtX","pointsAtY","pointsAtZ","polygonOffset","pop","popupWindowFeatures","popupWindowName","popupWindowURI","port","port1","port2","ports","posBottom","posHeight","posLeft","posRight","posTop","posWidth","position","positionAlign","postError","postMessage","poster","pow","powerOff","preMultiplySelf","precision","preferredStyleSheetSet","preferredStylesheetSet","prefix","preload","preserveAlpha","preserveAspectRatio","preserveAspectRatioString","pressed","pressure","prevValue","preventDefault","preventExtensions","previousElementSibling","previousNode","previousPage","previousScale","previousSibling","previousTranslate","primaryKey","primitiveType","primitiveUnits","principals","print","privateKey","probablySupportsContext","process","processIceMessage","product","productSub","profile","profileEnd","profiles","prompt","properties","propertyIsEnumerable","propertyName","protocol","protocolLong","prototype","pseudoClass","pseudoElement","publicId","publicKey","published","push","pushNotification","pushState","put","putImageData","quadraticCurveTo","qualifier","queryCommandEnabled","queryCommandIndeterm","queryCommandState","queryCommandSupported","queryCommandText","queryCommandValue","querySelector","querySelectorAll","quote","quotes","r","r1","r2","race","radiogroup","radiusX","radiusY","random","range","rangeCount","rangeMax","rangeMin","rangeOffset","rangeOverflow","rangeParent","rangeUnderflow","rate","ratio","raw","read","readAsArrayBuffer","readAsBinaryString","readAsBlob","readAsDataURL","readAsText","readOnly","readPixels","readReportRequested","readyState","reason","reboot","receiver","receivers","recordNumber","recordset","rect","red","redirectCount","redirectEnd","redirectStart","reduce","reduceRight","reduction","refDistance","refX","refY","referenceNode","referrer","refresh","region","regionAnchorX","regionAnchorY","regionId","regions","register","registerContentHandler","registerElement","registerProtocolHandler","reject","rel","relList","relatedNode","relatedTarget","release","releaseCapture","releaseEvents","releasePointerCapture","releaseShaderCompiler","reliable","reload","remainingSpace","remoteDescription","remove","removeAllRanges","removeAttribute","removeAttributeNS","removeAttributeNode","removeBehavior","removeChild","removeCue","removeEventListener","removeFilter","removeImport","removeItem","removeListener","removeNamedItem","removeNamedItemNS","removeNode","removeParameter","removeProperty","removeRange","removeRegion","removeRule","removeSiteSpecificTrackingException","removeSourceBuffer","removeStream","removeTrack","removeVariable","removeWakeLockListener","removeWebWideTrackingException","removedNodes","renderbufferStorage","renderedBuffer","renderingMode","repeat","replace","replaceAdjacentText","replaceChild","replaceData","replaceId","replaceItem","replaceNode","replaceState","replaceTrack","replaceWholeText","reportValidity","requestAnimationFrame","requestAutocomplete","requestData","requestFullscreen","requestMediaKeySystemAccess","requestPermission","requestPointerLock","requestStart","requestingWindow","required","requiredExtensions","requiredFeatures","reset","resetTransform","resize","resizeBy","resizeTo","resolve","response","responseBody","responseEnd","responseStart","responseText","responseType","responseURL","responseXML","restore","result","resultType","resume","returnValue","rev","reverse","reversed","revocable","revokeObjectURL","rgbColor","right","rightContext","rightMargin","rolloffFactor","root","rootElement","rotate","rotateAxisAngle","rotateAxisAngleSelf","rotateFromVector","rotateFromVectorSelf","rotateSelf","rotation","rotationRate","round","rowIndex","rowSpan","rows","rubyAlign","rubyOverhang","rubyPosition","rules","runtime","runtimeStyle","rx","ry","safari","sampleCoverage","sampleRate","sandbox","save","scale","scale3d","scale3dSelf","scaleNonUniform","scaleNonUniformSelf","scaleSelf","scheme","scissor","scope","scopeName","scoped","screen","screenBrightness","screenEnabled","screenLeft","screenPixelToMillimeterX","screenPixelToMillimeterY","screenTop","screenX","screenY","scripts","scroll","scroll-behavior","scrollAmount","scrollBehavior","scrollBy","scrollByLines","scrollByPages","scrollDelay","scrollHeight","scrollIntoView","scrollIntoViewIfNeeded","scrollLeft","scrollLeftMax","scrollMaxX","scrollMaxY","scrollTo","scrollTop","scrollTopMax","scrollWidth","scrollX","scrollY","scrollbar3dLightColor","scrollbarArrowColor","scrollbarBaseColor","scrollbarDarkShadowColor","scrollbarFaceColor","scrollbarHighlightColor","scrollbarShadowColor","scrollbarTrackColor","scrollbars","scrolling","sdp","sdpMLineIndex","sdpMid","seal","search","searchBox","searchBoxJavaBridge_","searchParams","sectionRowIndex","secureConnectionStart","security","seed","seekable","seeking","select","selectAllChildren","selectNode","selectNodeContents","selectNodes","selectSingleNode","selectSubString","selected","selectedIndex","selectedOptions","selectedStyleSheetSet","selectedStylesheetSet","selection","selectionDirection","selectionEnd","selectionStart","selector","selectorText","self","send","sendAsBinary","sendBeacon","sender","sentTimestamp","separator","serializeToString","serviceWorker","sessionId","sessionStorage","set","setActive","setAlpha","setAttribute","setAttributeNS","setAttributeNode","setAttributeNodeNS","setBaseAndExtent","setBingCurrentSearchDefault","setCapture","setColor","setCompositeOperation","setCurrentTime","setCustomValidity","setData","setDate","setDragImage","setEnd","setEndAfter","setEndBefore","setEndPoint","setFillColor","setFilterRes","setFloat32","setFloat64","setFloatValue","setFullYear","setHours","setImmediate","setInt16","setInt32","setInt8","setInterval","setItem","setLineCap","setLineDash","setLineJoin","setLineWidth","setLocalDescription","setMatrix","setMatrixValue","setMediaKeys","setMilliseconds","setMinutes","setMiterLimit","setMonth","setNamedItem","setNamedItemNS","setNonUserCodeExceptions","setOrientToAngle","setOrientToAuto","setOrientation","setOverrideHistoryNavigationMode","setPaint","setParameter","setPeriodicWave","setPointerCapture","setPosition","setPreference","setProperty","setPrototypeOf","setRGBColor","setRGBColorICCColor","setRadius","setRangeText","setRemoteDescription","setRequestHeader","setResizable","setResourceTimingBufferSize","setRotate","setScale","setSeconds","setSelectionRange","setServerCertificate","setShadow","setSkewX","setSkewY","setStart","setStartAfter","setStartBefore","setStdDeviation","setStringValue","setStrokeColor","setSuggestResult","setTargetAtTime","setTargetValueAtTime","setTime","setTimeout","setTransform","setTranslate","setUTCDate","setUTCFullYear","setUTCHours","setUTCMilliseconds","setUTCMinutes","setUTCMonth","setUTCSeconds","setUint16","setUint32","setUint8","setUri","setValueAtTime","setValueCurveAtTime","setVariable","setVelocity","setVersion","setYear","settingName","settingValue","sex","shaderSource","shadowBlur","shadowColor","shadowOffsetX","shadowOffsetY","shadowRoot","shape","shape-rendering","shapeRendering","sheet","shift","shiftKey","shiftLeft","show","showHelp","showModal","showModalDialog","showModelessDialog","showNotification","sidebar","sign","signalingState","sin","singleNodeValue","sinh","size","sizeToContent","sizes","skewX","skewXSelf","skewY","skewYSelf","slice","slope","small","smil","smoothingTimeConstant","snapToLines","snapshotItem","snapshotLength","some","sort","source","sourceBuffer","sourceBuffers","sourceIndex","spacing","span","speakAs","speaking","specified","specularConstant","specularExponent","speechSynthesis","speed","speedOfSound","spellcheck","splice","split","splitText","spreadMethod","sqrt","src","srcElement","srcFilter","srcUrn","srcdoc","srclang","srcset","stack","stackTraceLimit","stacktrace","standalone","standby","start","startContainer","startIce","startOffset","startRendering","startTime","startsWith","state","status","statusMessage","statusText","statusbar","stdDeviationX","stdDeviationY","stencilFunc","stencilFuncSeparate","stencilMask","stencilMaskSeparate","stencilOp","stencilOpSeparate","step","stepDown","stepMismatch","stepUp","sticky","stitchTiles","stop","stop-color","stop-opacity","stopColor","stopImmediatePropagation","stopOpacity","stopPropagation","storageArea","storageName","storageStatus","storeSiteSpecificTrackingException","storeWebWideTrackingException","stpVersion","stream","strike","stringValue","stringify","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","strokeDasharray","strokeDashoffset","strokeLinecap","strokeLinejoin","strokeMiterlimit","strokeOpacity","strokeRect","strokeStyle","strokeText","strokeWidth","style","styleFloat","styleMedia","styleSheet","styleSheetSets","styleSheets","sub","subarray","subject","submit","subscribe","substr","substring","substringData","subtle","suffix","suffixes","summary","sup","supports","surfaceScale","surroundContents","suspend","suspendRedraw","swapCache","swapNode","sweepFlag","symbols","system","systemCode","systemId","systemLanguage","systemXDPI","systemYDPI","tBodies","tFoot","tHead","tabIndex","table","table-layout","tableLayout","tableValues","tag","tagName","tagUrn","tags","taintEnabled","takeRecords","tan","tanh","target","targetElement","targetTouches","targetX","targetY","tel","terminate","test","texImage2D","texParameterf","texParameteri","texSubImage2D","text","text-align","text-anchor","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-indent","text-overflow","text-rendering","text-shadow","text-transform","textAlign","textAlignLast","textAnchor","textAutospace","textBaseline","textContent","textDecoration","textDecorationBlink","textDecorationColor","textDecorationLine","textDecorationLineThrough","textDecorationNone","textDecorationOverline","textDecorationStyle","textDecorationUnderline","textIndent","textJustify","textJustifyTrim","textKashida","textKashidaSpace","textLength","textOverflow","textRendering","textShadow","textTracks","textTransform","textUnderlinePosition","then","threadId","threshold","tiltX","tiltY","time","timeEnd","timeStamp","timeout","timestamp","timestampOffset","timing","title","toArray","toBlob","toDataURL","toDateString","toElement","toExponential","toFixed","toFloat32Array","toFloat64Array","toGMTString","toISOString","toJSON","toLocaleDateString","toLocaleFormat","toLocaleLowerCase","toLocaleString","toLocaleTimeString","toLocaleUpperCase","toLowerCase","toMethod","toPrecision","toSdp","toSource","toStaticHTML","toString","toStringTag","toTimeString","toUTCString","toUpperCase","toggle","toggleLongPressEnabled","tooLong","toolbar","top","topMargin","total","totalFrameDelay","totalVideoFrames","touchAction","touches","trace","track","transaction","transactions","transform","transform-origin","transform-style","transformOrigin","transformPoint","transformString","transformStyle","transformToDocument","transformToFragment","transition","transition-delay","transition-duration","transition-property","transition-timing-function","transitionDelay","transitionDuration","transitionProperty","transitionTimingFunction","translate","translateSelf","translationX","translationY","trim","trimLeft","trimRight","trueSpeed","trunc","truncate","type","typeDetail","typeMismatch","typeMustMatch","types","ubound","undefined","unescape","uneval","unicode-bidi","unicodeBidi","uniform1f","uniform1fv","uniform1i","uniform1iv","uniform2f","uniform2fv","uniform2i","uniform2iv","uniform3f","uniform3fv","uniform3i","uniform3iv","uniform4f","uniform4fv","uniform4i","uniform4iv","uniformMatrix2fv","uniformMatrix3fv","uniformMatrix4fv","unique","uniqueID","uniqueNumber","unitType","units","unloadEventEnd","unloadEventStart","unlock","unmount","unobserve","unpause","unpauseAnimations","unreadCount","unregister","unregisterContentHandler","unregisterProtocolHandler","unscopables","unselectable","unshift","unsubscribe","unsuspendRedraw","unsuspendRedrawAll","unwatch","unwrapKey","update","updateCommands","updateIce","updateInterval","updateSettings","updated","updating","upload","upper","upperBound","upperOpen","uri","url","urn","urns","usages","useCurrentView","useMap","useProgram","usedSpace","userAgent","userLanguage","username","v8BreakIterator","vAlign","vLink","valid","validateProgram","validationMessage","validity","value","valueAsDate","valueAsNumber","valueAsString","valueInSpecifiedUnits","valueMissing","valueOf","valueText","valueType","values","vector-effect","vectorEffect","velocityAngular","velocityExpansion","velocityX","velocityY","vendor","vendorSub","verify","version","vertexAttrib1f","vertexAttrib1fv","vertexAttrib2f","vertexAttrib2fv","vertexAttrib3f","vertexAttrib3fv","vertexAttrib4f","vertexAttrib4fv","vertexAttribDivisorANGLE","vertexAttribPointer","vertical","vertical-align","verticalAlign","verticalOverflow","vibrate","videoHeight","videoTracks","videoWidth","view","viewBox","viewBoxString","viewTarget","viewTargetString","viewport","viewportAnchorX","viewportAnchorY","viewportElement","visibility","visibilityState","visible","vlinkColor","voice","volume","vrml","vspace","w","wand","warn","wasClean","watch","watchPosition","webdriver","webkitAddKey","webkitAnimation","webkitAnimationDelay","webkitAnimationDirection","webkitAnimationDuration","webkitAnimationFillMode","webkitAnimationIterationCount","webkitAnimationName","webkitAnimationPlayState","webkitAnimationTimingFunction","webkitAppearance","webkitAudioContext","webkitAudioDecodedByteCount","webkitAudioPannerNode","webkitBackfaceVisibility","webkitBackground","webkitBackgroundAttachment","webkitBackgroundClip","webkitBackgroundColor","webkitBackgroundImage","webkitBackgroundOrigin","webkitBackgroundPosition","webkitBackgroundPositionX","webkitBackgroundPositionY","webkitBackgroundRepeat","webkitBackgroundSize","webkitBackingStorePixelRatio","webkitBorderImage","webkitBorderImageOutset","webkitBorderImageRepeat","webkitBorderImageSlice","webkitBorderImageSource","webkitBorderImageWidth","webkitBoxAlign","webkitBoxDirection","webkitBoxFlex","webkitBoxOrdinalGroup","webkitBoxOrient","webkitBoxPack","webkitBoxSizing","webkitCancelAnimationFrame","webkitCancelFullScreen","webkitCancelKeyRequest","webkitCancelRequestAnimationFrame","webkitClearResourceTimings","webkitClosedCaptionsVisible","webkitConvertPointFromNodeToPage","webkitConvertPointFromPageToNode","webkitCreateShadowRoot","webkitCurrentFullScreenElement","webkitCurrentPlaybackTargetIsWireless","webkitDirectionInvertedFromDevice","webkitDisplayingFullscreen","webkitEnterFullScreen","webkitEnterFullscreen","webkitExitFullScreen","webkitExitFullscreen","webkitExitPointerLock","webkitFullScreenKeyboardInputAllowed","webkitFullscreenElement","webkitFullscreenEnabled","webkitGenerateKeyRequest","webkitGetAsEntry","webkitGetDatabaseNames","webkitGetEntries","webkitGetEntriesByName","webkitGetEntriesByType","webkitGetFlowByName","webkitGetGamepads","webkitGetImageDataHD","webkitGetNamedFlows","webkitGetRegionFlowRanges","webkitGetUserMedia","webkitHasClosedCaptions","webkitHidden","webkitIDBCursor","webkitIDBDatabase","webkitIDBDatabaseError","webkitIDBDatabaseException","webkitIDBFactory","webkitIDBIndex","webkitIDBKeyRange","webkitIDBObjectStore","webkitIDBRequest","webkitIDBTransaction","webkitImageSmoothingEnabled","webkitIndexedDB","webkitInitMessageEvent","webkitIsFullScreen","webkitKeys","webkitLineDashOffset","webkitLockOrientation","webkitMatchesSelector","webkitMediaStream","webkitNotifications","webkitOfflineAudioContext","webkitOrientation","webkitPeerConnection00","webkitPersistentStorage","webkitPointerLockElement","webkitPostMessage","webkitPreservesPitch","webkitPutImageDataHD","webkitRTCPeerConnection","webkitRegionOverset","webkitRequestAnimationFrame","webkitRequestFileSystem","webkitRequestFullScreen","webkitRequestFullscreen","webkitRequestPointerLock","webkitResolveLocalFileSystemURL","webkitSetMediaKeys","webkitSetResourceTimingBufferSize","webkitShadowRoot","webkitShowPlaybackTargetPicker","webkitSlice","webkitSpeechGrammar","webkitSpeechGrammarList","webkitSpeechRecognition","webkitSpeechRecognitionError","webkitSpeechRecognitionEvent","webkitStorageInfo","webkitSupportsFullscreen","webkitTemporaryStorage","webkitTextSizeAdjust","webkitTransform","webkitTransformOrigin","webkitTransition","webkitTransitionDelay","webkitTransitionDuration","webkitTransitionProperty","webkitTransitionTimingFunction","webkitURL","webkitUnlockOrientation","webkitUserSelect","webkitVideoDecodedByteCount","webkitVisibilityState","webkitWirelessVideoPlaybackDisabled","webkitdropzone","webstore","weight","whatToShow","wheelDelta","wheelDeltaX","wheelDeltaY","which","white-space","whiteSpace","wholeText","widows","width","will-change","willChange","willValidate","window","withCredentials","word-break","word-spacing","word-wrap","wordBreak","wordSpacing","wordWrap","wrap","wrapKey","write","writeln","writingMode","x","x1","x2","xChannelSelector","xmlEncoding","xmlStandalone","xmlVersion","xmlbase","xmllang","xmlspace","y","y1","y2","yChannelSelector","yandex","z","z-index","zIndex","zoom","zoomAndPan","zoomRectScreen"]},2630:function(e,t,n){"use strict";const{evaluateToString:r,expressionIsUnsupported:i,toConstantDependency:s}=n(2912);const o=n(6150);const a=n(1627);const u=n(6298);const c=n(125);class SystemPlugin{constructor(e){this.options=e}apply(e){e.hooks.compilation.tap("SystemPlugin",(e,{normalModuleFactory:t})=>{e.hooks.runtimeRequirementInModule.for(o.system).tap("SystemPlugin",(e,t)=>{t.add(o.require)});e.hooks.runtimeRequirementInTree.for(o.system).tap("SystemPlugin",(t,n)=>{e.addRuntimeModule(t,new c)});const n=(e,t)=>{if(t.system===undefined||!t.system){return}const n=t=>{e.hooks.evaluateTypeof.for(t).tap("SystemPlugin",r("undefined"));e.hooks.expression.for(t).tap("SystemPlugin",i(e,t+" is not supported by webpack."))};e.hooks.typeof.for("System.import").tap("SystemPlugin",s(e,JSON.stringify("function")));e.hooks.evaluateTypeof.for("System.import").tap("SystemPlugin",r("function"));e.hooks.typeof.for("System").tap("SystemPlugin",s(e,JSON.stringify("object")));e.hooks.evaluateTypeof.for("System").tap("SystemPlugin",r("object"));n("System.set");n("System.get");n("System.register");e.hooks.expression.for("System").tap("SystemPlugin",t=>{const n=new u(o.system,t.range,[o.system]);n.loc=t.loc;e.state.module.addDependency(n);return true});e.hooks.call.for("System.import").tap("SystemPlugin",t=>{e.state.module.warnings.push(new SystemImportDeprecationWarning(t.loc));return e.hooks.importCall.call(t)})};t.hooks.parser.for("javascript/auto").tap("SystemPlugin",n);t.hooks.parser.for("javascript/dynamic").tap("SystemPlugin",n)})}}class SystemImportDeprecationWarning extends a{constructor(e){super("System.import() is deprecated and will be removed soon. Use import() instead.\n"+"For more info visit https://webpack.js.org/guides/code-splitting/");this.name="SystemImportDeprecationWarning";this.loc=e;Error.captureStackTrace(this,this.constructor)}}e.exports=SystemPlugin},2631:function(e){"use strict";const t=2147483648;const n=t-1;const r=4;const i=[0,0,0,0,0];const s=[3,7,17,19];e.exports=((e,o)=>{i.fill(0);for(let t=0;t>1}}if(o<=n){let e=0;for(let t=0;ttrue}}this.options=e}apply(e){const t=this.options;e.hooks.compilation.tap("LoaderOptionsPlugin",e=>{i.getCompilationHooks(e).loader.tap("LoaderOptionsPlugin",(e,n)=>{const i=n.resource;if(!i)return;const s=i.indexOf("?");if(r.matchObject(t,s<0?i:i.substr(0,s))){for(const n of Object.keys(t)){if(n==="include"||n==="exclude"||n==="test"){continue}e[n]=t[n]}}})})}}e.exports=LoaderOptionsPlugin},2662:function(e,t,n){"use strict";const r=n(6150);const i=n(6298);e.exports=class NodeSourcePlugin{constructor(e){this.options=e}apply(e){const t=this.options;if(t===false){return}e.hooks.compilation.tap("NodeSourcePlugin",(e,{normalModuleFactory:n})=>{const s=(e,n)=>{if(n.node===false)return;let s=t;if(n.node){s={...s,...n.node}}if(s.global){e.hooks.expression.for("global").tap("NodeSourcePlugin",t=>{const n=new i(r.global,t.range,[r.global]);n.loc=t.loc;e.state.module.addDependency(n)})}};n.hooks.parser.for("javascript/auto").tap("NodeSourcePlugin",s);n.hooks.parser.for("javascript/dynamic").tap("NodeSourcePlugin",s);n.hooks.parser.for("javascript/esm").tap("NodeSourcePlugin",s)})}}},2665:function(e,t,n){"use strict";const{STAGE_BASIC:r,STAGE_ADVANCED:i}=n(2414);class RemoveEmptyChunksPlugin{apply(e){e.hooks.compilation.tap("RemoveEmptyChunksPlugin",e=>{const t=t=>{const n=e.chunkGraph;for(const r of t){if(n.getNumberOfChunkModules(r)===0&&!r.hasRuntime()&&n.getNumberOfEntryModules(r)===0){e.chunkGraph.disconnectChunk(r);e.chunks.delete(r)}}};e.hooks.optimizeChunks.tap({name:"RemoveEmptyChunksPlugin",stage:r},t);e.hooks.optimizeChunks.tap({name:"RemoveEmptyChunksPlugin",stage:i},t)})}}e.exports=RemoveEmptyChunksPlugin},2687:function(e,t,n){"use strict";const r=n(6150);const i=n(1941);class FetchCompileAsyncWasmPlugin{apply(e){e.hooks.thisCompilation.tap("FetchCompileAsyncWasmPlugin",e=>{const t=e=>`fetch(${r.publicPath} + ${e})`;e.hooks.runtimeRequirementInTree.for(r.instantiateWasm).tap("FetchCompileAsyncWasmPlugin",(n,s)=>{const o=e.chunkGraph;if(!o.hasModuleInGraph(n,e=>e.type==="webassembly/async-experimental")){return}s.add(r.publicPath);e.addRuntimeModule(n,new i(n,e,{generateLoadBinaryCode:t,supportsStreaming:true}))})})}}e.exports=FetchCompileAsyncWasmPlugin},2696:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:true});t.module=_module;t.moduleMetadata=moduleMetadata;t.moduleNameMetadata=moduleNameMetadata;t.functionNameMetadata=functionNameMetadata;t.localNameMetadata=localNameMetadata;t.binaryModule=binaryModule;t.quoteModule=quoteModule;t.sectionMetadata=sectionMetadata;t.producersSectionMetadata=producersSectionMetadata;t.producerMetadata=producerMetadata;t.producerMetadataVersionedName=producerMetadataVersionedName;t.loopInstruction=loopInstruction;t.instr=instr;t.ifInstruction=ifInstruction;t.stringLiteral=stringLiteral;t.numberLiteral=numberLiteral;t.longNumberLiteral=longNumberLiteral;t.floatLiteral=floatLiteral;t.elem=elem;t.indexInFuncSection=indexInFuncSection;t.valtypeLiteral=valtypeLiteral;t.typeInstruction=typeInstruction;t.start=start;t.globalType=globalType;t.leadingComment=leadingComment;t.blockComment=blockComment;t.data=data;t.global=global;t.table=table;t.memory=memory;t.funcImportDescr=funcImportDescr;t.moduleImport=moduleImport;t.moduleExportDescr=moduleExportDescr;t.moduleExport=moduleExport;t.limit=limit;t.signature=signature;t.program=program;t.identifier=identifier;t.blockInstruction=blockInstruction;t.callInstruction=callInstruction;t.callIndirectInstruction=callIndirectInstruction;t.byteArray=byteArray;t.func=func;t.internalBrUnless=internalBrUnless;t.internalGoto=internalGoto;t.internalCallExtern=internalCallExtern;t.internalEndAndReturn=internalEndAndReturn;t.assertInternalCallExtern=t.assertInternalGoto=t.assertInternalBrUnless=t.assertFunc=t.assertByteArray=t.assertCallIndirectInstruction=t.assertCallInstruction=t.assertBlockInstruction=t.assertIdentifier=t.assertProgram=t.assertSignature=t.assertLimit=t.assertModuleExport=t.assertModuleExportDescr=t.assertModuleImport=t.assertFuncImportDescr=t.assertMemory=t.assertTable=t.assertGlobal=t.assertData=t.assertBlockComment=t.assertLeadingComment=t.assertGlobalType=t.assertStart=t.assertTypeInstruction=t.assertValtypeLiteral=t.assertIndexInFuncSection=t.assertElem=t.assertFloatLiteral=t.assertLongNumberLiteral=t.assertNumberLiteral=t.assertStringLiteral=t.assertIfInstruction=t.assertInstr=t.assertLoopInstruction=t.assertProducerMetadataVersionedName=t.assertProducerMetadata=t.assertProducersSectionMetadata=t.assertSectionMetadata=t.assertQuoteModule=t.assertBinaryModule=t.assertLocalNameMetadata=t.assertFunctionNameMetadata=t.assertModuleNameMetadata=t.assertModuleMetadata=t.assertModule=t.isIntrinsic=t.isImportDescr=t.isNumericLiteral=t.isExpression=t.isInstruction=t.isBlock=t.isNode=t.isInternalEndAndReturn=t.isInternalCallExtern=t.isInternalGoto=t.isInternalBrUnless=t.isFunc=t.isByteArray=t.isCallIndirectInstruction=t.isCallInstruction=t.isBlockInstruction=t.isIdentifier=t.isProgram=t.isSignature=t.isLimit=t.isModuleExport=t.isModuleExportDescr=t.isModuleImport=t.isFuncImportDescr=t.isMemory=t.isTable=t.isGlobal=t.isData=t.isBlockComment=t.isLeadingComment=t.isGlobalType=t.isStart=t.isTypeInstruction=t.isValtypeLiteral=t.isIndexInFuncSection=t.isElem=t.isFloatLiteral=t.isLongNumberLiteral=t.isNumberLiteral=t.isStringLiteral=t.isIfInstruction=t.isInstr=t.isLoopInstruction=t.isProducerMetadataVersionedName=t.isProducerMetadata=t.isProducersSectionMetadata=t.isSectionMetadata=t.isQuoteModule=t.isBinaryModule=t.isLocalNameMetadata=t.isFunctionNameMetadata=t.isModuleNameMetadata=t.isModuleMetadata=t.isModule=void 0;t.nodeAndUnionTypes=t.unionTypesMap=t.assertInternalEndAndReturn=void 0;function _typeof(e){if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(e){return typeof e}}else{_typeof=function _typeof(e){return e&&typeof Symbol==="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e}}return _typeof(e)}function isTypeOf(e){return function(t){return t.type===e}}function assertTypeOf(e){return function(t){return function(){if(!(t.type===e)){throw new Error("n.type === t"+" error: "+(undefined||"unknown"))}}()}}function _module(e,t,n){if(e!==null&&e!==undefined){if(!(typeof e==="string")){throw new Error('typeof id === "string"'+" error: "+("Argument id must be of type string, given: "+_typeof(e)||false))}}if(!(_typeof(t)==="object"&&typeof t.length!=="undefined")){throw new Error('typeof fields === "object" && typeof fields.length !== "undefined"'+" error: "+(undefined||"unknown"))}var r={type:"Module",id:e,fields:t};if(typeof n!=="undefined"){r.metadata=n}return r}function moduleMetadata(e,t,n,r){if(!(_typeof(e)==="object"&&typeof e.length!=="undefined")){throw new Error('typeof sections === "object" && typeof sections.length !== "undefined"'+" error: "+(undefined||"unknown"))}if(t!==null&&t!==undefined){if(!(_typeof(t)==="object"&&typeof t.length!=="undefined")){throw new Error('typeof functionNames === "object" && typeof functionNames.length !== "undefined"'+" error: "+(undefined||"unknown"))}}if(n!==null&&n!==undefined){if(!(_typeof(n)==="object"&&typeof n.length!=="undefined")){throw new Error('typeof localNames === "object" && typeof localNames.length !== "undefined"'+" error: "+(undefined||"unknown"))}}if(r!==null&&r!==undefined){if(!(_typeof(r)==="object"&&typeof r.length!=="undefined")){throw new Error('typeof producers === "object" && typeof producers.length !== "undefined"'+" error: "+(undefined||"unknown"))}}var i={type:"ModuleMetadata",sections:e};if(typeof t!=="undefined"&&t.length>0){i.functionNames=t}if(typeof n!=="undefined"&&n.length>0){i.localNames=n}if(typeof r!=="undefined"&&r.length>0){i.producers=r}return i}function moduleNameMetadata(e){if(!(typeof e==="string")){throw new Error('typeof value === "string"'+" error: "+("Argument value must be of type string, given: "+_typeof(e)||false))}var t={type:"ModuleNameMetadata",value:e};return t}function functionNameMetadata(e,t){if(!(typeof e==="string")){throw new Error('typeof value === "string"'+" error: "+("Argument value must be of type string, given: "+_typeof(e)||false))}if(!(typeof t==="number")){throw new Error('typeof index === "number"'+" error: "+("Argument index must be of type number, given: "+_typeof(t)||false))}var n={type:"FunctionNameMetadata",value:e,index:t};return n}function localNameMetadata(e,t,n){if(!(typeof e==="string")){throw new Error('typeof value === "string"'+" error: "+("Argument value must be of type string, given: "+_typeof(e)||false))}if(!(typeof t==="number")){throw new Error('typeof localIndex === "number"'+" error: "+("Argument localIndex must be of type number, given: "+_typeof(t)||false))}if(!(typeof n==="number")){throw new Error('typeof functionIndex === "number"'+" error: "+("Argument functionIndex must be of type number, given: "+_typeof(n)||false))}var r={type:"LocalNameMetadata",value:e,localIndex:t,functionIndex:n};return r}function binaryModule(e,t){if(e!==null&&e!==undefined){if(!(typeof e==="string")){throw new Error('typeof id === "string"'+" error: "+("Argument id must be of type string, given: "+_typeof(e)||false))}}if(!(_typeof(t)==="object"&&typeof t.length!=="undefined")){throw new Error('typeof blob === "object" && typeof blob.length !== "undefined"'+" error: "+(undefined||"unknown"))}var n={type:"BinaryModule",id:e,blob:t};return n}function quoteModule(e,t){if(e!==null&&e!==undefined){if(!(typeof e==="string")){throw new Error('typeof id === "string"'+" error: "+("Argument id must be of type string, given: "+_typeof(e)||false))}}if(!(_typeof(t)==="object"&&typeof t.length!=="undefined")){throw new Error('typeof string === "object" && typeof string.length !== "undefined"'+" error: "+(undefined||"unknown"))}var n={type:"QuoteModule",id:e,string:t};return n}function sectionMetadata(e,t,n,r){if(!(typeof t==="number")){throw new Error('typeof startOffset === "number"'+" error: "+("Argument startOffset must be of type number, given: "+_typeof(t)||false))}var i={type:"SectionMetadata",section:e,startOffset:t,size:n,vectorOfSize:r};return i}function producersSectionMetadata(e){if(!(_typeof(e)==="object"&&typeof e.length!=="undefined")){throw new Error('typeof producers === "object" && typeof producers.length !== "undefined"'+" error: "+(undefined||"unknown"))}var t={type:"ProducersSectionMetadata",producers:e};return t}function producerMetadata(e,t,n){if(!(_typeof(e)==="object"&&typeof e.length!=="undefined")){throw new Error('typeof language === "object" && typeof language.length !== "undefined"'+" error: "+(undefined||"unknown"))}if(!(_typeof(t)==="object"&&typeof t.length!=="undefined")){throw new Error('typeof processedBy === "object" && typeof processedBy.length !== "undefined"'+" error: "+(undefined||"unknown"))}if(!(_typeof(n)==="object"&&typeof n.length!=="undefined")){throw new Error('typeof sdk === "object" && typeof sdk.length !== "undefined"'+" error: "+(undefined||"unknown"))}var r={type:"ProducerMetadata",language:e,processedBy:t,sdk:n};return r}function producerMetadataVersionedName(e,t){if(!(typeof e==="string")){throw new Error('typeof name === "string"'+" error: "+("Argument name must be of type string, given: "+_typeof(e)||false))}if(!(typeof t==="string")){throw new Error('typeof version === "string"'+" error: "+("Argument version must be of type string, given: "+_typeof(t)||false))}var n={type:"ProducerMetadataVersionedName",name:e,version:t};return n}function loopInstruction(e,t,n){if(!(_typeof(n)==="object"&&typeof n.length!=="undefined")){throw new Error('typeof instr === "object" && typeof instr.length !== "undefined"'+" error: "+(undefined||"unknown"))}var r={type:"LoopInstruction",id:"loop",label:e,resulttype:t,instr:n};return r}function instr(e,t,n,r){if(!(typeof e==="string")){throw new Error('typeof id === "string"'+" error: "+("Argument id must be of type string, given: "+_typeof(e)||false))}if(!(_typeof(n)==="object"&&typeof n.length!=="undefined")){throw new Error('typeof args === "object" && typeof args.length !== "undefined"'+" error: "+(undefined||"unknown"))}var i={type:"Instr",id:e,args:n};if(typeof t!=="undefined"){i.object=t}if(typeof r!=="undefined"&&Object.keys(r).length!==0){i.namedArgs=r}return i}function ifInstruction(e,t,n,r,i){if(!(_typeof(t)==="object"&&typeof t.length!=="undefined")){throw new Error('typeof test === "object" && typeof test.length !== "undefined"'+" error: "+(undefined||"unknown"))}if(!(_typeof(r)==="object"&&typeof r.length!=="undefined")){throw new Error('typeof consequent === "object" && typeof consequent.length !== "undefined"'+" error: "+(undefined||"unknown"))}if(!(_typeof(i)==="object"&&typeof i.length!=="undefined")){throw new Error('typeof alternate === "object" && typeof alternate.length !== "undefined"'+" error: "+(undefined||"unknown"))}var s={type:"IfInstruction",id:"if",testLabel:e,test:t,result:n,consequent:r,alternate:i};return s}function stringLiteral(e){if(!(typeof e==="string")){throw new Error('typeof value === "string"'+" error: "+("Argument value must be of type string, given: "+_typeof(e)||false))}var t={type:"StringLiteral",value:e};return t}function numberLiteral(e,t){if(!(typeof e==="number")){throw new Error('typeof value === "number"'+" error: "+("Argument value must be of type number, given: "+_typeof(e)||false))}if(!(typeof t==="string")){throw new Error('typeof raw === "string"'+" error: "+("Argument raw must be of type string, given: "+_typeof(t)||false))}var n={type:"NumberLiteral",value:e,raw:t};return n}function longNumberLiteral(e,t){if(!(typeof t==="string")){throw new Error('typeof raw === "string"'+" error: "+("Argument raw must be of type string, given: "+_typeof(t)||false))}var n={type:"LongNumberLiteral",value:e,raw:t};return n}function floatLiteral(e,t,n,r){if(!(typeof e==="number")){throw new Error('typeof value === "number"'+" error: "+("Argument value must be of type number, given: "+_typeof(e)||false))}if(t!==null&&t!==undefined){if(!(typeof t==="boolean")){throw new Error('typeof nan === "boolean"'+" error: "+("Argument nan must be of type boolean, given: "+_typeof(t)||false))}}if(n!==null&&n!==undefined){if(!(typeof n==="boolean")){throw new Error('typeof inf === "boolean"'+" error: "+("Argument inf must be of type boolean, given: "+_typeof(n)||false))}}if(!(typeof r==="string")){throw new Error('typeof raw === "string"'+" error: "+("Argument raw must be of type string, given: "+_typeof(r)||false))}var i={type:"FloatLiteral",value:e,raw:r};if(t===true){i.nan=true}if(n===true){i.inf=true}return i}function elem(e,t,n){if(!(_typeof(t)==="object"&&typeof t.length!=="undefined")){throw new Error('typeof offset === "object" && typeof offset.length !== "undefined"'+" error: "+(undefined||"unknown"))}if(!(_typeof(n)==="object"&&typeof n.length!=="undefined")){throw new Error('typeof funcs === "object" && typeof funcs.length !== "undefined"'+" error: "+(undefined||"unknown"))}var r={type:"Elem",table:e,offset:t,funcs:n};return r}function indexInFuncSection(e){var t={type:"IndexInFuncSection",index:e};return t}function valtypeLiteral(e){var t={type:"ValtypeLiteral",name:e};return t}function typeInstruction(e,t){var n={type:"TypeInstruction",id:e,functype:t};return n}function start(e){var t={type:"Start",index:e};return t}function globalType(e,t){var n={type:"GlobalType",valtype:e,mutability:t};return n}function leadingComment(e){if(!(typeof e==="string")){throw new Error('typeof value === "string"'+" error: "+("Argument value must be of type string, given: "+_typeof(e)||false))}var t={type:"LeadingComment",value:e};return t}function blockComment(e){if(!(typeof e==="string")){throw new Error('typeof value === "string"'+" error: "+("Argument value must be of type string, given: "+_typeof(e)||false))}var t={type:"BlockComment",value:e};return t}function data(e,t,n){var r={type:"Data",memoryIndex:e,offset:t,init:n};return r}function global(e,t,n){if(!(_typeof(t)==="object"&&typeof t.length!=="undefined")){throw new Error('typeof init === "object" && typeof init.length !== "undefined"'+" error: "+(undefined||"unknown"))}var r={type:"Global",globalType:e,init:t,name:n};return r}function table(e,t,n,r){if(!(t.type==="Limit")){throw new Error('limits.type === "Limit"'+" error: "+("Argument limits must be of type Limit, given: "+t.type||false))}if(r!==null&&r!==undefined){if(!(_typeof(r)==="object"&&typeof r.length!=="undefined")){throw new Error('typeof elements === "object" && typeof elements.length !== "undefined"'+" error: "+(undefined||"unknown"))}}var i={type:"Table",elementType:e,limits:t,name:n};if(typeof r!=="undefined"&&r.length>0){i.elements=r}return i}function memory(e,t){var n={type:"Memory",limits:e,id:t};return n}function funcImportDescr(e,t){var n={type:"FuncImportDescr",id:e,signature:t};return n}function moduleImport(e,t,n){if(!(typeof e==="string")){throw new Error('typeof module === "string"'+" error: "+("Argument module must be of type string, given: "+_typeof(e)||false))}if(!(typeof t==="string")){throw new Error('typeof name === "string"'+" error: "+("Argument name must be of type string, given: "+_typeof(t)||false))}var r={type:"ModuleImport",module:e,name:t,descr:n};return r}function moduleExportDescr(e,t){var n={type:"ModuleExportDescr",exportType:e,id:t};return n}function moduleExport(e,t){if(!(typeof e==="string")){throw new Error('typeof name === "string"'+" error: "+("Argument name must be of type string, given: "+_typeof(e)||false))}var n={type:"ModuleExport",name:e,descr:t};return n}function limit(e,t){if(!(typeof e==="number")){throw new Error('typeof min === "number"'+" error: "+("Argument min must be of type number, given: "+_typeof(e)||false))}if(t!==null&&t!==undefined){if(!(typeof t==="number")){throw new Error('typeof max === "number"'+" error: "+("Argument max must be of type number, given: "+_typeof(t)||false))}}var n={type:"Limit",min:e};if(typeof t!=="undefined"){n.max=t}return n}function signature(e,t){if(!(_typeof(e)==="object"&&typeof e.length!=="undefined")){throw new Error('typeof params === "object" && typeof params.length !== "undefined"'+" error: "+(undefined||"unknown"))}if(!(_typeof(t)==="object"&&typeof t.length!=="undefined")){throw new Error('typeof results === "object" && typeof results.length !== "undefined"'+" error: "+(undefined||"unknown"))}var n={type:"Signature",params:e,results:t};return n}function program(e){if(!(_typeof(e)==="object"&&typeof e.length!=="undefined")){throw new Error('typeof body === "object" && typeof body.length !== "undefined"'+" error: "+(undefined||"unknown"))}var t={type:"Program",body:e};return t}function identifier(e,t){if(!(typeof e==="string")){throw new Error('typeof value === "string"'+" error: "+("Argument value must be of type string, given: "+_typeof(e)||false))}if(t!==null&&t!==undefined){if(!(typeof t==="string")){throw new Error('typeof raw === "string"'+" error: "+("Argument raw must be of type string, given: "+_typeof(t)||false))}}var n={type:"Identifier",value:e};if(typeof t!=="undefined"){n.raw=t}return n}function blockInstruction(e,t,n){if(!(_typeof(t)==="object"&&typeof t.length!=="undefined")){throw new Error('typeof instr === "object" && typeof instr.length !== "undefined"'+" error: "+(undefined||"unknown"))}var r={type:"BlockInstruction",id:"block",label:e,instr:t,result:n};return r}function callInstruction(e,t,n){if(t!==null&&t!==undefined){if(!(_typeof(t)==="object"&&typeof t.length!=="undefined")){throw new Error('typeof instrArgs === "object" && typeof instrArgs.length !== "undefined"'+" error: "+(undefined||"unknown"))}}var r={type:"CallInstruction",id:"call",index:e};if(typeof t!=="undefined"&&t.length>0){r.instrArgs=t}if(typeof n!=="undefined"){r.numeric=n}return r}function callIndirectInstruction(e,t){if(t!==null&&t!==undefined){if(!(_typeof(t)==="object"&&typeof t.length!=="undefined")){throw new Error('typeof intrs === "object" && typeof intrs.length !== "undefined"'+" error: "+(undefined||"unknown"))}}var n={type:"CallIndirectInstruction",id:"call_indirect",signature:e};if(typeof t!=="undefined"&&t.length>0){n.intrs=t}return n}function byteArray(e){if(!(_typeof(e)==="object"&&typeof e.length!=="undefined")){throw new Error('typeof values === "object" && typeof values.length !== "undefined"'+" error: "+(undefined||"unknown"))}var t={type:"ByteArray",values:e};return t}function func(e,t,n,r,i){if(!(_typeof(n)==="object"&&typeof n.length!=="undefined")){throw new Error('typeof body === "object" && typeof body.length !== "undefined"'+" error: "+(undefined||"unknown"))}if(r!==null&&r!==undefined){if(!(typeof r==="boolean")){throw new Error('typeof isExternal === "boolean"'+" error: "+("Argument isExternal must be of type boolean, given: "+_typeof(r)||false))}}var s={type:"Func",name:e,signature:t,body:n};if(r===true){s.isExternal=true}if(typeof i!=="undefined"){s.metadata=i}return s}function internalBrUnless(e){if(!(typeof e==="number")){throw new Error('typeof target === "number"'+" error: "+("Argument target must be of type number, given: "+_typeof(e)||false))}var t={type:"InternalBrUnless",target:e};return t}function internalGoto(e){if(!(typeof e==="number")){throw new Error('typeof target === "number"'+" error: "+("Argument target must be of type number, given: "+_typeof(e)||false))}var t={type:"InternalGoto",target:e};return t}function internalCallExtern(e){if(!(typeof e==="number")){throw new Error('typeof target === "number"'+" error: "+("Argument target must be of type number, given: "+_typeof(e)||false))}var t={type:"InternalCallExtern",target:e};return t}function internalEndAndReturn(){var e={type:"InternalEndAndReturn"};return e}var n=isTypeOf("Module");t.isModule=n;var r=isTypeOf("ModuleMetadata");t.isModuleMetadata=r;var i=isTypeOf("ModuleNameMetadata");t.isModuleNameMetadata=i;var s=isTypeOf("FunctionNameMetadata");t.isFunctionNameMetadata=s;var o=isTypeOf("LocalNameMetadata");t.isLocalNameMetadata=o;var a=isTypeOf("BinaryModule");t.isBinaryModule=a;var u=isTypeOf("QuoteModule");t.isQuoteModule=u;var c=isTypeOf("SectionMetadata");t.isSectionMetadata=c;var l=isTypeOf("ProducersSectionMetadata");t.isProducersSectionMetadata=l;var f=isTypeOf("ProducerMetadata");t.isProducerMetadata=f;var d=isTypeOf("ProducerMetadataVersionedName");t.isProducerMetadataVersionedName=d;var p=isTypeOf("LoopInstruction");t.isLoopInstruction=p;var h=isTypeOf("Instr");t.isInstr=h;var m=isTypeOf("IfInstruction");t.isIfInstruction=m;var g=isTypeOf("StringLiteral");t.isStringLiteral=g;var y=isTypeOf("NumberLiteral");t.isNumberLiteral=y;var v=isTypeOf("LongNumberLiteral");t.isLongNumberLiteral=v;var b=isTypeOf("FloatLiteral");t.isFloatLiteral=b;var w=isTypeOf("Elem");t.isElem=w;var E=isTypeOf("IndexInFuncSection");t.isIndexInFuncSection=E;var _=isTypeOf("ValtypeLiteral");t.isValtypeLiteral=_;var S=isTypeOf("TypeInstruction");t.isTypeInstruction=S;var k=isTypeOf("Start");t.isStart=k;var C=isTypeOf("GlobalType");t.isGlobalType=C;var D=isTypeOf("LeadingComment");t.isLeadingComment=D;var A=isTypeOf("BlockComment");t.isBlockComment=A;var x=isTypeOf("Data");t.isData=x;var M=isTypeOf("Global");t.isGlobal=M;var T=isTypeOf("Table");t.isTable=T;var O=isTypeOf("Memory");t.isMemory=O;var F=isTypeOf("FuncImportDescr");t.isFuncImportDescr=F;var I=isTypeOf("ModuleImport");t.isModuleImport=I;var R=isTypeOf("ModuleExportDescr");t.isModuleExportDescr=R;var P=isTypeOf("ModuleExport");t.isModuleExport=P;var N=isTypeOf("Limit");t.isLimit=N;var L=isTypeOf("Signature");t.isSignature=L;var j=isTypeOf("Program");t.isProgram=j;var B=isTypeOf("Identifier");t.isIdentifier=B;var U=isTypeOf("BlockInstruction");t.isBlockInstruction=U;var G=isTypeOf("CallInstruction");t.isCallInstruction=G;var z=isTypeOf("CallIndirectInstruction");t.isCallIndirectInstruction=z;var H=isTypeOf("ByteArray");t.isByteArray=H;var q=isTypeOf("Func");t.isFunc=q;var W=isTypeOf("InternalBrUnless");t.isInternalBrUnless=W;var V=isTypeOf("InternalGoto");t.isInternalGoto=V;var K=isTypeOf("InternalCallExtern");t.isInternalCallExtern=K;var X=isTypeOf("InternalEndAndReturn");t.isInternalEndAndReturn=X;var J=function isNode(e){return n(e)||r(e)||i(e)||s(e)||o(e)||a(e)||u(e)||c(e)||l(e)||f(e)||d(e)||p(e)||h(e)||m(e)||g(e)||y(e)||v(e)||b(e)||w(e)||E(e)||_(e)||S(e)||k(e)||C(e)||D(e)||A(e)||x(e)||M(e)||T(e)||O(e)||F(e)||I(e)||R(e)||P(e)||N(e)||L(e)||j(e)||B(e)||U(e)||G(e)||z(e)||H(e)||q(e)||W(e)||V(e)||K(e)||X(e)};t.isNode=J;var Y=function isBlock(e){return p(e)||U(e)||q(e)};t.isBlock=Y;var Q=function isInstruction(e){return p(e)||h(e)||m(e)||S(e)||U(e)||G(e)||z(e)};t.isInstruction=Q;var Z=function isExpression(e){return h(e)||g(e)||y(e)||v(e)||b(e)||_(e)||B(e)};t.isExpression=Z;var $=function isNumericLiteral(e){return y(e)||v(e)||b(e)};t.isNumericLiteral=$;var ee=function isImportDescr(e){return C(e)||T(e)||O(e)||F(e)};t.isImportDescr=ee;var te=function isIntrinsic(e){return W(e)||V(e)||K(e)||X(e)};t.isIntrinsic=te;var ne=assertTypeOf("Module");t.assertModule=ne;var re=assertTypeOf("ModuleMetadata");t.assertModuleMetadata=re;var ie=assertTypeOf("ModuleNameMetadata");t.assertModuleNameMetadata=ie;var se=assertTypeOf("FunctionNameMetadata");t.assertFunctionNameMetadata=se;var oe=assertTypeOf("LocalNameMetadata");t.assertLocalNameMetadata=oe;var ae=assertTypeOf("BinaryModule");t.assertBinaryModule=ae;var ue=assertTypeOf("QuoteModule");t.assertQuoteModule=ue;var ce=assertTypeOf("SectionMetadata");t.assertSectionMetadata=ce;var le=assertTypeOf("ProducersSectionMetadata");t.assertProducersSectionMetadata=le;var fe=assertTypeOf("ProducerMetadata");t.assertProducerMetadata=fe;var de=assertTypeOf("ProducerMetadataVersionedName");t.assertProducerMetadataVersionedName=de;var pe=assertTypeOf("LoopInstruction");t.assertLoopInstruction=pe;var he=assertTypeOf("Instr");t.assertInstr=he;var me=assertTypeOf("IfInstruction");t.assertIfInstruction=me;var ge=assertTypeOf("StringLiteral");t.assertStringLiteral=ge;var ye=assertTypeOf("NumberLiteral");t.assertNumberLiteral=ye;var ve=assertTypeOf("LongNumberLiteral");t.assertLongNumberLiteral=ve;var be=assertTypeOf("FloatLiteral");t.assertFloatLiteral=be;var we=assertTypeOf("Elem");t.assertElem=we;var Ee=assertTypeOf("IndexInFuncSection");t.assertIndexInFuncSection=Ee;var _e=assertTypeOf("ValtypeLiteral");t.assertValtypeLiteral=_e;var Se=assertTypeOf("TypeInstruction");t.assertTypeInstruction=Se;var ke=assertTypeOf("Start");t.assertStart=ke;var Ce=assertTypeOf("GlobalType");t.assertGlobalType=Ce;var De=assertTypeOf("LeadingComment");t.assertLeadingComment=De;var Ae=assertTypeOf("BlockComment");t.assertBlockComment=Ae;var xe=assertTypeOf("Data");t.assertData=xe;var Me=assertTypeOf("Global");t.assertGlobal=Me;var Te=assertTypeOf("Table");t.assertTable=Te;var Oe=assertTypeOf("Memory");t.assertMemory=Oe;var Fe=assertTypeOf("FuncImportDescr");t.assertFuncImportDescr=Fe;var Ie=assertTypeOf("ModuleImport");t.assertModuleImport=Ie;var Re=assertTypeOf("ModuleExportDescr");t.assertModuleExportDescr=Re;var Pe=assertTypeOf("ModuleExport");t.assertModuleExport=Pe;var Ne=assertTypeOf("Limit");t.assertLimit=Ne;var Le=assertTypeOf("Signature");t.assertSignature=Le;var je=assertTypeOf("Program");t.assertProgram=je;var Be=assertTypeOf("Identifier");t.assertIdentifier=Be;var Ue=assertTypeOf("BlockInstruction");t.assertBlockInstruction=Ue;var Ge=assertTypeOf("CallInstruction");t.assertCallInstruction=Ge;var ze=assertTypeOf("CallIndirectInstruction");t.assertCallIndirectInstruction=ze;var He=assertTypeOf("ByteArray");t.assertByteArray=He;var qe=assertTypeOf("Func");t.assertFunc=qe;var We=assertTypeOf("InternalBrUnless");t.assertInternalBrUnless=We;var Ve=assertTypeOf("InternalGoto");t.assertInternalGoto=Ve;var Ke=assertTypeOf("InternalCallExtern");t.assertInternalCallExtern=Ke;var Xe=assertTypeOf("InternalEndAndReturn");t.assertInternalEndAndReturn=Xe;var Je={Module:["Node"],ModuleMetadata:["Node"],ModuleNameMetadata:["Node"],FunctionNameMetadata:["Node"],LocalNameMetadata:["Node"],BinaryModule:["Node"],QuoteModule:["Node"],SectionMetadata:["Node"],ProducersSectionMetadata:["Node"],ProducerMetadata:["Node"],ProducerMetadataVersionedName:["Node"],LoopInstruction:["Node","Block","Instruction"],Instr:["Node","Expression","Instruction"],IfInstruction:["Node","Instruction"],StringLiteral:["Node","Expression"],NumberLiteral:["Node","NumericLiteral","Expression"],LongNumberLiteral:["Node","NumericLiteral","Expression"],FloatLiteral:["Node","NumericLiteral","Expression"],Elem:["Node"],IndexInFuncSection:["Node"],ValtypeLiteral:["Node","Expression"],TypeInstruction:["Node","Instruction"],Start:["Node"],GlobalType:["Node","ImportDescr"],LeadingComment:["Node"],BlockComment:["Node"],Data:["Node"],Global:["Node"],Table:["Node","ImportDescr"],Memory:["Node","ImportDescr"],FuncImportDescr:["Node","ImportDescr"],ModuleImport:["Node"],ModuleExportDescr:["Node"],ModuleExport:["Node"],Limit:["Node"],Signature:["Node"],Program:["Node"],Identifier:["Node","Expression"],BlockInstruction:["Node","Block","Instruction"],CallInstruction:["Node","Instruction"],CallIndirectInstruction:["Node","Instruction"],ByteArray:["Node"],Func:["Node","Block"],InternalBrUnless:["Node","Intrinsic"],InternalGoto:["Node","Intrinsic"],InternalCallExtern:["Node","Intrinsic"],InternalEndAndReturn:["Node","Intrinsic"]};t.unionTypesMap=Je;var Ye=["Module","ModuleMetadata","ModuleNameMetadata","FunctionNameMetadata","LocalNameMetadata","BinaryModule","QuoteModule","SectionMetadata","ProducersSectionMetadata","ProducerMetadata","ProducerMetadataVersionedName","LoopInstruction","Instr","IfInstruction","StringLiteral","NumberLiteral","LongNumberLiteral","FloatLiteral","Elem","IndexInFuncSection","ValtypeLiteral","TypeInstruction","Start","GlobalType","LeadingComment","BlockComment","Data","Global","Table","Memory","FuncImportDescr","ModuleImport","ModuleExportDescr","ModuleExport","Limit","Signature","Program","Identifier","BlockInstruction","CallInstruction","CallIndirectInstruction","ByteArray","Func","InternalBrUnless","InternalGoto","InternalCallExtern","InternalEndAndReturn","Node","Block","Instruction","Expression","NumericLiteral","ImportDescr","Intrinsic"];t.nodeAndUnionTypes=Ye},2706:function(e,t,n){"use strict";const r=n(3272);const i=n(6150);const s=n(6202);const o=n(2197);class ModuleDecoratorDependency extends o{constructor(e){super();this.decorator=e}get type(){return"module decorator"}updateHash(e,t){super.updateHash(e,t);e.update(this.decorator)}serialize(e){const{write:t}=e;t(this.decorator);super.serialize(e)}deserialize(e){const{read:t}=e;this.decorator=t();super.deserialize(e)}}s(ModuleDecoratorDependency,"webpack/lib/dependencies/ModuleDecoratorDependency");ModuleDecoratorDependency.Template=class ModuleDecoratorDependencyTemplate extends o.Template{apply(e,t,{module:n,chunkGraph:s,initFragments:o,runtimeRequirements:a}){const u=e;a.add(i.module);a.add(u.decorator);o.push(new r(`/* module decorator */ ${n.moduleArgument} = ${u.decorator}(${n.moduleArgument});\n`,r.STAGE_PROVIDES,0,`module decorator ${s.getModuleId(n)}`))}};e.exports=ModuleDecoratorDependency},2721:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:true});var r=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol==="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.default=parse;var i=n(9616);var s=_interopRequireWildcard(i);function _interopRequireWildcard(e){if(e&&e.__esModule){return e}else{var t={};if(e!=null){for(var n in e){if(Object.prototype.hasOwnProperty.call(e,n))t[n]=e[n]}}t.default=e;return t}}var o=void 0;var a=void 0;var u=void 0;var c=void 0;var l=void 0;var f=void 0;var d=void 0;var p=void 0;var h=void 0;function parse(e,t){o=String(e);a="start";u=[];c=0;l=1;f=0;d=undefined;p=undefined;h=undefined;do{d=lex();E[a]()}while(d.type!=="eof");if(typeof t==="function"){return internalize({"":h},"",t)}return h}function internalize(e,t,n){var i=e[t];if(i!=null&&(typeof i==="undefined"?"undefined":r(i))==="object"){for(var s in i){var o=internalize(i,s,n);if(o===undefined){delete i[s]}else{i[s]=o}}}return n.call(e,t,i)}var m=void 0;var g=void 0;var y=void 0;var v=void 0;var b=void 0;function lex(){m="default";g="";y=false;v=1;for(;;){b=peek();var e=w[m]();if(e){return e}}}function peek(){if(o[c]){return String.fromCodePoint(o.codePointAt(c))}}function read(){var e=peek();if(e==="\n"){l++;f=0}else if(e){f+=e.length}else{f++}if(e){c+=e.length}return e}var w={default:function _default(){switch(b){case"\t":case"\v":case"\f":case" ":case" ":case"\ufeff":case"\n":case"\r":case"\u2028":case"\u2029":read();return;case"/":read();m="comment";return;case undefined:read();return newToken("eof")}if(s.isSpaceSeparator(b)){read();return}return w[a]()},comment:function comment(){switch(b){case"*":read();m="multiLineComment";return;case"/":read();m="singleLineComment";return}throw invalidChar(read())},multiLineComment:function multiLineComment(){switch(b){case"*":read();m="multiLineCommentAsterisk";return;case undefined:throw invalidChar(read())}read()},multiLineCommentAsterisk:function multiLineCommentAsterisk(){switch(b){case"*":read();return;case"/":read();m="default";return;case undefined:throw invalidChar(read())}read();m="multiLineComment"},singleLineComment:function singleLineComment(){switch(b){case"\n":case"\r":case"\u2028":case"\u2029":read();m="default";return;case undefined:read();return newToken("eof")}read()},value:function value(){switch(b){case"{":case"[":return newToken("punctuator",read());case"n":read();literal("ull");return newToken("null",null);case"t":read();literal("rue");return newToken("boolean",true);case"f":read();literal("alse");return newToken("boolean",false);case"-":case"+":if(read()==="-"){v=-1}m="sign";return;case".":g=read();m="decimalPointLeading";return;case"0":g=read();m="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":g=read();m="decimalInteger";return;case"I":read();literal("nfinity");return newToken("numeric",Infinity);case"N":read();literal("aN");return newToken("numeric",NaN);case'"':case"'":y=read()==='"';g="";m="string";return}throw invalidChar(read())},identifierNameStartEscape:function identifierNameStartEscape(){if(b!=="u"){throw invalidChar(read())}read();var e=unicodeEscape();switch(e){case"$":case"_":break;default:if(!s.isIdStartChar(e)){throw invalidIdentifier()}break}g+=e;m="identifierName"},identifierName:function identifierName(){switch(b){case"$":case"_":case"‌":case"‍":g+=read();return;case"\\":read();m="identifierNameEscape";return}if(s.isIdContinueChar(b)){g+=read();return}return newToken("identifier",g)},identifierNameEscape:function identifierNameEscape(){if(b!=="u"){throw invalidChar(read())}read();var e=unicodeEscape();switch(e){case"$":case"_":case"‌":case"‍":break;default:if(!s.isIdContinueChar(e)){throw invalidIdentifier()}break}g+=e;m="identifierName"},sign:function sign(){switch(b){case".":g=read();m="decimalPointLeading";return;case"0":g=read();m="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":g=read();m="decimalInteger";return;case"I":read();literal("nfinity");return newToken("numeric",v*Infinity);case"N":read();literal("aN");return newToken("numeric",NaN)}throw invalidChar(read())},zero:function zero(){switch(b){case".":g+=read();m="decimalPoint";return;case"e":case"E":g+=read();m="decimalExponent";return;case"x":case"X":g+=read();m="hexadecimal";return}return newToken("numeric",v*0)},decimalInteger:function decimalInteger(){switch(b){case".":g+=read();m="decimalPoint";return;case"e":case"E":g+=read();m="decimalExponent";return}if(s.isDigit(b)){g+=read();return}return newToken("numeric",v*Number(g))},decimalPointLeading:function decimalPointLeading(){if(s.isDigit(b)){g+=read();m="decimalFraction";return}throw invalidChar(read())},decimalPoint:function decimalPoint(){switch(b){case"e":case"E":g+=read();m="decimalExponent";return}if(s.isDigit(b)){g+=read();m="decimalFraction";return}return newToken("numeric",v*Number(g))},decimalFraction:function decimalFraction(){switch(b){case"e":case"E":g+=read();m="decimalExponent";return}if(s.isDigit(b)){g+=read();return}return newToken("numeric",v*Number(g))},decimalExponent:function decimalExponent(){switch(b){case"+":case"-":g+=read();m="decimalExponentSign";return}if(s.isDigit(b)){g+=read();m="decimalExponentInteger";return}throw invalidChar(read())},decimalExponentSign:function decimalExponentSign(){if(s.isDigit(b)){g+=read();m="decimalExponentInteger";return}throw invalidChar(read())},decimalExponentInteger:function decimalExponentInteger(){if(s.isDigit(b)){g+=read();return}return newToken("numeric",v*Number(g))},hexadecimal:function hexadecimal(){if(s.isHexDigit(b)){g+=read();m="hexadecimalInteger";return}throw invalidChar(read())},hexadecimalInteger:function hexadecimalInteger(){if(s.isHexDigit(b)){g+=read();return}return newToken("numeric",v*Number(g))},string:function string(){switch(b){case"\\":read();g+=escape();return;case'"':if(y){read();return newToken("string",g)}g+=read();return;case"'":if(!y){read();return newToken("string",g)}g+=read();return;case"\n":case"\r":throw invalidChar(read());case"\u2028":case"\u2029":separatorChar(b);break;case undefined:throw invalidChar(read())}g+=read()},start:function start(){switch(b){case"{":case"[":return newToken("punctuator",read())}m="value"},beforePropertyName:function beforePropertyName(){switch(b){case"$":case"_":g=read();m="identifierName";return;case"\\":read();m="identifierNameStartEscape";return;case"}":return newToken("punctuator",read());case'"':case"'":y=read()==='"';m="string";return}if(s.isIdStartChar(b)){g+=read();m="identifierName";return}throw invalidChar(read())},afterPropertyName:function afterPropertyName(){if(b===":"){return newToken("punctuator",read())}throw invalidChar(read())},beforePropertyValue:function beforePropertyValue(){m="value"},afterPropertyValue:function afterPropertyValue(){switch(b){case",":case"}":return newToken("punctuator",read())}throw invalidChar(read())},beforeArrayValue:function beforeArrayValue(){if(b==="]"){return newToken("punctuator",read())}m="value"},afterArrayValue:function afterArrayValue(){switch(b){case",":case"]":return newToken("punctuator",read())}throw invalidChar(read())},end:function end(){throw invalidChar(read())}};function newToken(e,t){return{type:e,value:t,line:l,column:f}}function literal(e){var t=true;var n=false;var r=undefined;try{for(var i=e[Symbol.iterator](),s;!(t=(s=i.next()).done);t=true){var o=s.value;var a=peek();if(a!==o){throw invalidChar(read())}read()}}catch(e){n=true;r=e}finally{try{if(!t&&i.return){i.return()}}finally{if(n){throw r}}}}function escape(){var e=peek();switch(e){case"b":read();return"\b";case"f":read();return"\f";case"n":read();return"\n";case"r":read();return"\r";case"t":read();return"\t";case"v":read();return"\v";case"0":read();if(s.isDigit(peek())){throw invalidChar(read())}return"\0";case"x":read();return hexEscape();case"u":read();return unicodeEscape();case"\n":case"\u2028":case"\u2029":read();return"";case"\r":read();if(peek()==="\n"){read()}return"";case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":throw invalidChar(read());case undefined:throw invalidChar(read())}return read()}function hexEscape(){var e="";var t=peek();if(!s.isHexDigit(t)){throw invalidChar(read())}e+=read();t=peek();if(!s.isHexDigit(t)){throw invalidChar(read())}e+=read();return String.fromCodePoint(parseInt(e,16))}function unicodeEscape(){var e="";var t=4;while(t-- >0){var n=peek();if(!s.isHexDigit(n)){throw invalidChar(read())}e+=read()}return String.fromCodePoint(parseInt(e,16))}var E={start:function start(){if(d.type==="eof"){throw invalidEOF()}push()},beforePropertyName:function beforePropertyName(){switch(d.type){case"identifier":case"string":p=d.value;a="afterPropertyName";return;case"punctuator":pop();return;case"eof":throw invalidEOF()}},afterPropertyName:function afterPropertyName(){if(d.type==="eof"){throw invalidEOF()}a="beforePropertyValue"},beforePropertyValue:function beforePropertyValue(){if(d.type==="eof"){throw invalidEOF()}push()},beforeArrayValue:function beforeArrayValue(){if(d.type==="eof"){throw invalidEOF()}if(d.type==="punctuator"&&d.value==="]"){pop();return}push()},afterPropertyValue:function afterPropertyValue(){if(d.type==="eof"){throw invalidEOF()}switch(d.value){case",":a="beforePropertyName";return;case"}":pop()}},afterArrayValue:function afterArrayValue(){if(d.type==="eof"){throw invalidEOF()}switch(d.value){case",":a="beforeArrayValue";return;case"]":pop()}},end:function end(){}};function push(){var e=void 0;switch(d.type){case"punctuator":switch(d.value){case"{":e={};break;case"[":e=[];break}break;case"null":case"boolean":case"numeric":case"string":e=d.value;break}if(h===undefined){h=e}else{var t=u[u.length-1];if(Array.isArray(t)){t.push(e)}else{t[p]=e}}if(e!==null&&(typeof e==="undefined"?"undefined":r(e))==="object"){u.push(e);if(Array.isArray(e)){a="beforeArrayValue"}else{a="beforePropertyName"}}else{var n=u[u.length-1];if(n==null){a="end"}else if(Array.isArray(n)){a="afterArrayValue"}else{a="afterPropertyValue"}}}function pop(){u.pop();var e=u[u.length-1];if(e==null){a="end"}else if(Array.isArray(e)){a="afterArrayValue"}else{a="afterPropertyValue"}}function invalidChar(e){if(e===undefined){return syntaxError("JSON5: invalid end of input at "+l+":"+f)}return syntaxError("JSON5: invalid character '"+formatChar(e)+"' at "+l+":"+f)}function invalidEOF(){return syntaxError("JSON5: invalid end of input at "+l+":"+f)}function invalidIdentifier(){f-=5;return syntaxError("JSON5: invalid identifier character at "+l+":"+f)}function separatorChar(e){console.warn("JSON5: '"+e+"' is not valid ECMAScript; consider escaping")}function formatChar(e){var t={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};if(t[e]){return t[e]}if(e<" "){var n=e.charCodeAt(0).toString(16);return"\\x"+("00"+n).substring(n.length)}return e}function syntaxError(e){var t=new SyntaxError(e);t.lineNumber=l;t.columnNumber=f;return t}e.exports=t["default"]},2729:function(e,t){t=e.exports=SemVer;var n;if(typeof process==="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)){n=function(){var e=Array.prototype.slice.call(arguments,0);e.unshift("SEMVER");console.log.apply(console,e)}}else{n=function(){}}t.SEMVER_SPEC_VERSION="2.0.0";var r=256;var i=Number.MAX_SAFE_INTEGER||9007199254740991;var s=16;var o=t.re=[];var a=t.src=[];var u=0;var c=u++;a[c]="0|[1-9]\\d*";var l=u++;a[l]="[0-9]+";var f=u++;a[f]="\\d*[a-zA-Z-][a-zA-Z0-9-]*";var d=u++;a[d]="("+a[c]+")\\."+"("+a[c]+")\\."+"("+a[c]+")";var p=u++;a[p]="("+a[l]+")\\."+"("+a[l]+")\\."+"("+a[l]+")";var h=u++;a[h]="(?:"+a[c]+"|"+a[f]+")";var m=u++;a[m]="(?:"+a[l]+"|"+a[f]+")";var g=u++;a[g]="(?:-("+a[h]+"(?:\\."+a[h]+")*))";var y=u++;a[y]="(?:-?("+a[m]+"(?:\\."+a[m]+")*))";var v=u++;a[v]="[0-9A-Za-z-]+";var b=u++;a[b]="(?:\\+("+a[v]+"(?:\\."+a[v]+")*))";var w=u++;var E="v?"+a[d]+a[g]+"?"+a[b]+"?";a[w]="^"+E+"$";var _="[v=\\s]*"+a[p]+a[y]+"?"+a[b]+"?";var S=u++;a[S]="^"+_+"$";var k=u++;a[k]="((?:<|>)?=?)";var C=u++;a[C]=a[l]+"|x|X|\\*";var D=u++;a[D]=a[c]+"|x|X|\\*";var A=u++;a[A]="[v=\\s]*("+a[D]+")"+"(?:\\.("+a[D]+")"+"(?:\\.("+a[D]+")"+"(?:"+a[g]+")?"+a[b]+"?"+")?)?";var x=u++;a[x]="[v=\\s]*("+a[C]+")"+"(?:\\.("+a[C]+")"+"(?:\\.("+a[C]+")"+"(?:"+a[y]+")?"+a[b]+"?"+")?)?";var M=u++;a[M]="^"+a[k]+"\\s*"+a[A]+"$";var T=u++;a[T]="^"+a[k]+"\\s*"+a[x]+"$";var O=u++;a[O]="(?:^|[^\\d])"+"(\\d{1,"+s+"})"+"(?:\\.(\\d{1,"+s+"}))?"+"(?:\\.(\\d{1,"+s+"}))?"+"(?:$|[^\\d])";var F=u++;a[F]="(?:~>?)";var I=u++;a[I]="(\\s*)"+a[F]+"\\s+";o[I]=new RegExp(a[I],"g");var R="$1~";var P=u++;a[P]="^"+a[F]+a[A]+"$";var N=u++;a[N]="^"+a[F]+a[x]+"$";var L=u++;a[L]="(?:\\^)";var j=u++;a[j]="(\\s*)"+a[L]+"\\s+";o[j]=new RegExp(a[j],"g");var B="$1^";var U=u++;a[U]="^"+a[L]+a[A]+"$";var G=u++;a[G]="^"+a[L]+a[x]+"$";var z=u++;a[z]="^"+a[k]+"\\s*("+_+")$|^$";var H=u++;a[H]="^"+a[k]+"\\s*("+E+")$|^$";var q=u++;a[q]="(\\s*)"+a[k]+"\\s*("+_+"|"+a[A]+")";o[q]=new RegExp(a[q],"g");var W="$1$2$3";var V=u++;a[V]="^\\s*("+a[A]+")"+"\\s+-\\s+"+"("+a[A]+")"+"\\s*$";var K=u++;a[K]="^\\s*("+a[x]+")"+"\\s+-\\s+"+"("+a[x]+")"+"\\s*$";var X=u++;a[X]="(<|>)?=?\\s*\\*";for(var J=0;Jr){return null}var n=t.loose?o[S]:o[w];if(!n.test(e)){return null}try{return new SemVer(e,t)}catch(e){return null}}t.valid=valid;function valid(e,t){var n=parse(e,t);return n?n.version:null}t.clean=clean;function clean(e,t){var n=parse(e.trim().replace(/^[=v]+/,""),t);return n?n.version:null}t.SemVer=SemVer;function SemVer(e,t){if(!t||typeof t!=="object"){t={loose:!!t,includePrerelease:false}}if(e instanceof SemVer){if(e.loose===t.loose){return e}else{e=e.version}}else if(typeof e!=="string"){throw new TypeError("Invalid Version: "+e)}if(e.length>r){throw new TypeError("version is longer than "+r+" characters")}if(!(this instanceof SemVer)){return new SemVer(e,t)}n("SemVer",e,t);this.options=t;this.loose=!!t.loose;var s=e.trim().match(t.loose?o[S]:o[w]);if(!s){throw new TypeError("Invalid Version: "+e)}this.raw=e;this.major=+s[1];this.minor=+s[2];this.patch=+s[3];if(this.major>i||this.major<0){throw new TypeError("Invalid major version")}if(this.minor>i||this.minor<0){throw new TypeError("Invalid minor version")}if(this.patch>i||this.patch<0){throw new TypeError("Invalid patch version")}if(!s[4]){this.prerelease=[]}else{this.prerelease=s[4].split(".").map(function(e){if(/^[0-9]+$/.test(e)){var t=+e;if(t>=0&&t=0){if(typeof this.prerelease[n]==="number"){this.prerelease[n]++;n=-2}}if(n===-1){this.prerelease.push(0)}}if(t){if(this.prerelease[0]===t){if(isNaN(this.prerelease[1])){this.prerelease=[t,0]}}else{this.prerelease=[t,0]}}break;default:throw new Error("invalid increment argument: "+e)}this.format();this.raw=this.version;return this};t.inc=inc;function inc(e,t,n,r){if(typeof n==="string"){r=n;n=undefined}try{return new SemVer(e,n).inc(t,r).version}catch(e){return null}}t.diff=diff;function diff(e,t){if(eq(e,t)){return null}else{var n=parse(e);var r=parse(t);var i="";if(n.prerelease.length||r.prerelease.length){i="pre";var s="prerelease"}for(var o in n){if(o==="major"||o==="minor"||o==="patch"){if(n[o]!==r[o]){return i+o}}}return s}}t.compareIdentifiers=compareIdentifiers;var Y=/^[0-9]+$/;function compareIdentifiers(e,t){var n=Y.test(e);var r=Y.test(t);if(n&&r){e=+e;t=+t}return e===t?0:n&&!r?-1:r&&!n?1:e0}t.lt=lt;function lt(e,t,n){return compare(e,t,n)<0}t.eq=eq;function eq(e,t,n){return compare(e,t,n)===0}t.neq=neq;function neq(e,t,n){return compare(e,t,n)!==0}t.gte=gte;function gte(e,t,n){return compare(e,t,n)>=0}t.lte=lte;function lte(e,t,n){return compare(e,t,n)<=0}t.cmp=cmp;function cmp(e,t,n,r){switch(t){case"===":if(typeof e==="object")e=e.version;if(typeof n==="object")n=n.version;return e===n;case"!==":if(typeof e==="object")e=e.version;if(typeof n==="object")n=n.version;return e!==n;case"":case"=":case"==":return eq(e,n,r);case"!=":return neq(e,n,r);case">":return gt(e,n,r);case">=":return gte(e,n,r);case"<":return lt(e,n,r);case"<=":return lte(e,n,r);default:throw new TypeError("Invalid operator: "+t)}}t.Comparator=Comparator;function Comparator(e,t){if(!t||typeof t!=="object"){t={loose:!!t,includePrerelease:false}}if(e instanceof Comparator){if(e.loose===!!t.loose){return e}else{e=e.value}}if(!(this instanceof Comparator)){return new Comparator(e,t)}n("comparator",e,t);this.options=t;this.loose=!!t.loose;this.parse(e);if(this.semver===Q){this.value=""}else{this.value=this.operator+this.semver.version}n("comp",this)}var Q={};Comparator.prototype.parse=function(e){var t=this.options.loose?o[z]:o[H];var n=e.match(t);if(!n){throw new TypeError("Invalid comparator: "+e)}this.operator=n[1];if(this.operator==="="){this.operator=""}if(!n[2]){this.semver=Q}else{this.semver=new SemVer(n[2],this.options.loose)}};Comparator.prototype.toString=function(){return this.value};Comparator.prototype.test=function(e){n("Comparator.test",e,this.options.loose);if(this.semver===Q){return true}if(typeof e==="string"){e=new SemVer(e,this.options)}return cmp(e,this.operator,this.semver,this.options)};Comparator.prototype.intersects=function(e,t){if(!(e instanceof Comparator)){throw new TypeError("a Comparator is required")}if(!t||typeof t!=="object"){t={loose:!!t,includePrerelease:false}}var n;if(this.operator===""){n=new Range(e.value,t);return satisfies(this.value,n,t)}else if(e.operator===""){n=new Range(this.value,t);return satisfies(e.semver,n,t)}var r=(this.operator===">="||this.operator===">")&&(e.operator===">="||e.operator===">");var i=(this.operator==="<="||this.operator==="<")&&(e.operator==="<="||e.operator==="<");var s=this.semver.version===e.semver.version;var o=(this.operator===">="||this.operator==="<=")&&(e.operator===">="||e.operator==="<=");var a=cmp(this.semver,"<",e.semver,t)&&((this.operator===">="||this.operator===">")&&(e.operator==="<="||e.operator==="<"));var u=cmp(this.semver,">",e.semver,t)&&((this.operator==="<="||this.operator==="<")&&(e.operator===">="||e.operator===">"));return r||i||s&&o||a||u};t.Range=Range;function Range(e,t){if(!t||typeof t!=="object"){t={loose:!!t,includePrerelease:false}}if(e instanceof Range){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease){return e}else{return new Range(e.raw,t)}}if(e instanceof Comparator){return new Range(e.value,t)}if(!(this instanceof Range)){return new Range(e,t)}this.options=t;this.loose=!!t.loose;this.includePrerelease=!!t.includePrerelease;this.raw=e;this.set=e.split(/\s*\|\|\s*/).map(function(e){return this.parseRange(e.trim())},this).filter(function(e){return e.length});if(!this.set.length){throw new TypeError("Invalid SemVer Range: "+e)}this.format()}Range.prototype.format=function(){this.range=this.set.map(function(e){return e.join(" ").trim()}).join("||").trim();return this.range};Range.prototype.toString=function(){return this.range};Range.prototype.parseRange=function(e){var t=this.options.loose;e=e.trim();var r=t?o[K]:o[V];e=e.replace(r,hyphenReplace);n("hyphen replace",e);e=e.replace(o[q],W);n("comparator trim",e,o[q]);e=e.replace(o[I],R);e=e.replace(o[j],B);e=e.split(/\s+/).join(" ");var i=t?o[z]:o[H];var s=e.split(" ").map(function(e){return parseComparator(e,this.options)},this).join(" ").split(/\s+/);if(this.options.loose){s=s.filter(function(e){return!!e.match(i)})}s=s.map(function(e){return new Comparator(e,this.options)},this);return s};Range.prototype.intersects=function(e,t){if(!(e instanceof Range)){throw new TypeError("a Range is required")}return this.set.some(function(n){return n.every(function(n){return e.set.some(function(e){return e.every(function(e){return n.intersects(e,t)})})})})};t.toComparators=toComparators;function toComparators(e,t){return new Range(e,t).set.map(function(e){return e.map(function(e){return e.value}).join(" ").trim().split(" ")})}function parseComparator(e,t){n("comp",e,t);e=replaceCarets(e,t);n("caret",e);e=replaceTildes(e,t);n("tildes",e);e=replaceXRanges(e,t);n("xrange",e);e=replaceStars(e,t);n("stars",e);return e}function isX(e){return!e||e.toLowerCase()==="x"||e==="*"}function replaceTildes(e,t){return e.trim().split(/\s+/).map(function(e){return replaceTilde(e,t)}).join(" ")}function replaceTilde(e,t){var r=t.loose?o[N]:o[P];return e.replace(r,function(t,r,i,s,o){n("tilde",e,t,r,i,s,o);var a;if(isX(r)){a=""}else if(isX(i)){a=">="+r+".0.0 <"+(+r+1)+".0.0"}else if(isX(s)){a=">="+r+"."+i+".0 <"+r+"."+(+i+1)+".0"}else if(o){n("replaceTilde pr",o);a=">="+r+"."+i+"."+s+"-"+o+" <"+r+"."+(+i+1)+".0"}else{a=">="+r+"."+i+"."+s+" <"+r+"."+(+i+1)+".0"}n("tilde return",a);return a})}function replaceCarets(e,t){return e.trim().split(/\s+/).map(function(e){return replaceCaret(e,t)}).join(" ")}function replaceCaret(e,t){n("caret",e,t);var r=t.loose?o[G]:o[U];return e.replace(r,function(t,r,i,s,o){n("caret",e,t,r,i,s,o);var a;if(isX(r)){a=""}else if(isX(i)){a=">="+r+".0.0 <"+(+r+1)+".0.0"}else if(isX(s)){if(r==="0"){a=">="+r+"."+i+".0 <"+r+"."+(+i+1)+".0"}else{a=">="+r+"."+i+".0 <"+(+r+1)+".0.0"}}else if(o){n("replaceCaret pr",o);if(r==="0"){if(i==="0"){a=">="+r+"."+i+"."+s+"-"+o+" <"+r+"."+i+"."+(+s+1)}else{a=">="+r+"."+i+"."+s+"-"+o+" <"+r+"."+(+i+1)+".0"}}else{a=">="+r+"."+i+"."+s+"-"+o+" <"+(+r+1)+".0.0"}}else{n("no pr");if(r==="0"){if(i==="0"){a=">="+r+"."+i+"."+s+" <"+r+"."+i+"."+(+s+1)}else{a=">="+r+"."+i+"."+s+" <"+r+"."+(+i+1)+".0"}}else{a=">="+r+"."+i+"."+s+" <"+(+r+1)+".0.0"}}n("caret return",a);return a})}function replaceXRanges(e,t){n("replaceXRanges",e,t);return e.split(/\s+/).map(function(e){return replaceXRange(e,t)}).join(" ")}function replaceXRange(e,t){e=e.trim();var r=t.loose?o[T]:o[M];return e.replace(r,function(t,r,i,s,o,a){n("xRange",e,t,r,i,s,o,a);var u=isX(i);var c=u||isX(s);var l=c||isX(o);var f=l;if(r==="="&&f){r=""}if(u){if(r===">"||r==="<"){t="<0.0.0"}else{t="*"}}else if(r&&f){if(c){s=0}o=0;if(r===">"){r=">=";if(c){i=+i+1;s=0;o=0}else{s=+s+1;o=0}}else if(r==="<="){r="<";if(c){i=+i+1}else{s=+s+1}}t=r+i+"."+s+"."+o}else if(c){t=">="+i+".0.0 <"+(+i+1)+".0.0"}else if(l){t=">="+i+"."+s+".0 <"+i+"."+(+s+1)+".0"}n("xRange return",t);return t})}function replaceStars(e,t){n("replaceStars",e,t);return e.trim().replace(o[X],"")}function hyphenReplace(e,t,n,r,i,s,o,a,u,c,l,f,d){if(isX(n)){t=""}else if(isX(r)){t=">="+n+".0.0"}else if(isX(i)){t=">="+n+"."+r+".0"}else{t=">="+t}if(isX(u)){a=""}else if(isX(c)){a="<"+(+u+1)+".0.0"}else if(isX(l)){a="<"+u+"."+(+c+1)+".0"}else if(f){a="<="+u+"."+c+"."+l+"-"+f}else{a="<="+a}return(t+" "+a).trim()}Range.prototype.test=function(e){if(!e){return false}if(typeof e==="string"){e=new SemVer(e,this.options)}for(var t=0;t0){var s=e[i].semver;if(s.major===t.major&&s.minor===t.minor&&s.patch===t.patch){return true}}}return false}return true}t.satisfies=satisfies;function satisfies(e,t,n){try{t=new Range(t,n)}catch(e){return false}return t.test(e)}t.maxSatisfying=maxSatisfying;function maxSatisfying(e,t,n){var r=null;var i=null;try{var s=new Range(t,n)}catch(e){return null}e.forEach(function(e){if(s.test(e)){if(!r||i.compare(e)===-1){r=e;i=new SemVer(r,n)}}});return r}t.minSatisfying=minSatisfying;function minSatisfying(e,t,n){var r=null;var i=null;try{var s=new Range(t,n)}catch(e){return null}e.forEach(function(e){if(s.test(e)){if(!r||i.compare(e)===1){r=e;i=new SemVer(r,n)}}});return r}t.minVersion=minVersion;function minVersion(e,t){e=new Range(e,t);var n=new SemVer("0.0.0");if(e.test(n)){return n}n=new SemVer("0.0.0-0");if(e.test(n)){return n}n=null;for(var r=0;r":if(t.prerelease.length===0){t.patch++}else{t.prerelease.push(0)}t.raw=t.format();case"":case">=":if(!n||gt(n,t)){n=t}break;case"<":case"<=":break;default:throw new Error("Unexpected operation: "+e.operator)}})}if(n&&e.test(n)){return n}return null}t.validRange=validRange;function validRange(e,t){try{return new Range(e,t).range||"*"}catch(e){return null}}t.ltr=ltr;function ltr(e,t,n){return outside(e,t,"<",n)}t.gtr=gtr;function gtr(e,t,n){return outside(e,t,">",n)}t.outside=outside;function outside(e,t,n,r){e=new SemVer(e,r);t=new Range(t,r);var i,s,o,a,u;switch(n){case">":i=gt;s=lte;o=lt;a=">";u=">=";break;case"<":i=lt;s=gte;o=gt;a="<";u="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(satisfies(e,t,r)){return false}for(var c=0;c=0.0.0")}f=f||e;d=d||e;if(i(e.semver,f.semver,r)){f=e}else if(o(e.semver,d.semver,r)){d=e}});if(f.operator===a||f.operator===u){return false}if((!d.operator||d.operator===a)&&s(e,d.semver)){return false}else if(d.operator===u&&o(e,d.semver)){return false}}return true}t.prerelease=prerelease;function prerelease(e,t){var n=parse(e,t);return n&&n.prerelease.length?n.prerelease:null}t.intersects=intersects;function intersects(e,t,n){e=new Range(e,n);t=new Range(t,n);return e.intersects(t)}t.coerce=coerce;function coerce(e){if(e instanceof SemVer){return e}if(typeof e!=="string"){return null}var t=e.match(o[O]);if(t==null){return null}return parse(t[1]+"."+(t[2]||"0")+"."+(t[3]||"0"))}},2740:function(e,t,n){"use strict";const r=n(400);class ContextDependencyTemplateAsRequireCall extends r.Template{apply(e,t,{runtimeTemplate:n,moduleGraph:r,chunkGraph:i,runtimeRequirements:s}){const o=e;const a=n.moduleExports({module:r.getModule(o),chunkGraph:i,request:o.request,runtimeRequirements:s});if(r.getModule(o)){if(o.valueRange){if(Array.isArray(o.replaces)){for(let e=0;e void)"},ProgressPluginOptions:{type:"object",additionalProperties:false,properties:{activeModules:{description:"Show active modules count and one active module in progress message",type:"boolean"},entries:{description:"Show entries count in progress message",type:"boolean"},handler:{description:"Function that executes for every progress step",anyOf:[{$ref:"#/definitions/HandlerFunction"}]},modules:{description:"Show modules count in progress message",type:"boolean"},modulesCount:{description:"Minimum modules count to start with. Only for mode=modules. Default: 500",type:"number"},profile:{description:"Collect profile data for progress steps. Default: false",enum:[true,false,null]}}}},title:"ProgressPluginArgument",oneOf:[{$ref:"#/definitions/ProgressPluginOptions"},{$ref:"#/definitions/HandlerFunction"}]}},2760:function(e,t,n){"use strict";const r=n(8732);const i=n(1207);const s=n(6204).stdout;const o=n(8568);const a=process.platform==="win32"&&!(process.env.TERM||"").toLowerCase().startsWith("xterm");const u=["ansi","ansi","ansi256","ansi16m"];const c=new Set(["gray"]);const l=Object.create(null);function applyOptions(e,t){t=t||{};const n=s?s.level:0;e.level=t.level===undefined?n:t.level;e.enabled="enabled"in t?t.enabled:e.level>0}function Chalk(e){if(!this||!(this instanceof Chalk)||this.template){const t={};applyOptions(t,e);t.template=function(){const e=[].slice.call(arguments);return chalkTag.apply(null,[t.template].concat(e))};Object.setPrototypeOf(t,Chalk.prototype);Object.setPrototypeOf(t.template,t);t.template.constructor=Chalk;return t.template}applyOptions(this,e)}if(a){i.blue.open=""}for(const e of Object.keys(i)){i[e].closeRe=new RegExp(r(i[e].close),"g");l[e]={get(){const t=i[e];return build.call(this,this._styles?this._styles.concat(t):[t],this._empty,e)}}}l.visible={get(){return build.call(this,this._styles||[],true,"visible")}};i.color.closeRe=new RegExp(r(i.color.close),"g");for(const e of Object.keys(i.color.ansi)){if(c.has(e)){continue}l[e]={get(){const t=this.level;return function(){const n=i.color[u[t]][e].apply(null,arguments);const r={open:n,close:i.color.close,closeRe:i.color.closeRe};return build.call(this,this._styles?this._styles.concat(r):[r],this._empty,e)}}}}i.bgColor.closeRe=new RegExp(r(i.bgColor.close),"g");for(const e of Object.keys(i.bgColor.ansi)){if(c.has(e)){continue}const t="bg"+e[0].toUpperCase()+e.slice(1);l[t]={get(){const t=this.level;return function(){const n=i.bgColor[u[t]][e].apply(null,arguments);const r={open:n,close:i.bgColor.close,closeRe:i.bgColor.closeRe};return build.call(this,this._styles?this._styles.concat(r):[r],this._empty,e)}}}}const f=Object.defineProperties(()=>{},l);function build(e,t,n){const r=function(){return applyStyle.apply(r,arguments)};r._styles=e;r._empty=t;const i=this;Object.defineProperty(r,"level",{enumerable:true,get(){return i.level},set(e){i.level=e}});Object.defineProperty(r,"enabled",{enumerable:true,get(){return i.enabled},set(e){i.enabled=e}});r.hasGrey=this.hasGrey||n==="gray"||n==="grey";r.__proto__=f;return r}function applyStyle(){const e=arguments;const t=e.length;let n=String(arguments[0]);if(t===0){return""}if(t>1){for(let r=1;r0){r.hash(e)}if(r!==this){return r}}MurmurHash3.prototype.hash=function(e){var t,n,r,i,s;s=e.length;this.len+=s;n=this.k1;r=0;switch(this.rem){case 0:n^=s>r?e.charCodeAt(r++)&65535:0;case 1:n^=s>r?(e.charCodeAt(r++)&65535)<<8:0;case 2:n^=s>r?(e.charCodeAt(r++)&65535)<<16:0;case 3:n^=s>r?(e.charCodeAt(r)&255)<<24:0;n^=s>r?(e.charCodeAt(r++)&65280)>>8:0}this.rem=s+this.rem&3;s-=this.rem;if(s>0){t=this.h1;while(1){n=n*11601+(n&65535)*3432906752&4294967295;n=n<<15|n>>>17;n=n*13715+(n&65535)*461832192&4294967295;t^=n;t=t<<13|t>>>19;t=t*5+3864292196&4294967295;if(r>=s){break}n=e.charCodeAt(r++)&65535^(e.charCodeAt(r++)&65535)<<8^(e.charCodeAt(r++)&65535)<<16;i=e.charCodeAt(r++);n^=(i&255)<<24^(i&65280)>>8}n=0;switch(this.rem){case 3:n^=(e.charCodeAt(r+2)&65535)<<16;case 2:n^=(e.charCodeAt(r+1)&65535)<<8;case 1:n^=e.charCodeAt(r)&65535}this.h1=t}this.k1=n;return this};MurmurHash3.prototype.result=function(){var e,t;e=this.k1;t=this.h1;if(e>0){e=e*11601+(e&65535)*3432906752&4294967295;e=e<<15|e>>>17;e=e*13715+(e&65535)*461832192&4294967295;t^=e}t^=this.len;t^=t>>>16;t=t*51819+(t&65535)*2246770688&4294967295;t^=t>>>13;t=t*44597+(t&65535)*3266445312&4294967295;t^=t>>>16;return t>>>0};MurmurHash3.prototype.reset=function(e){this.h1=typeof e==="number"?e:0;this.rem=this.k1=this.len=0;return this};t=new MurmurHash3;if(true){e.exports=MurmurHash3}else{}})()},2766:function(e){"use strict";e.exports=class ModuleAppendPlugin{constructor(e,t,n){this.source=e;this.appending=t;this.target=n}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("ModuleAppendPlugin",(n,r,i)=>{const s=n.request.indexOf("/"),o=n.request.indexOf("\\");const a=s<0?o:o<0?s:s1){s.deprecated("calling Promise.try with more than 1 argument");var c=arguments[1];var l=arguments[2];u=o.isArray(c)?a(n).apply(l,c):a(n).call(l,c)}else{u=a(n)()}var f=r._popContext();s.checkForgottenReturns(u,f,"Promise.try",r);r._resolveFromSyncValue(u);return r};e.prototype._resolveFromSyncValue=function(e){if(e===o.errorObj){this._rejectCallback(e.e,false)}else{this._resolveCallback(e,true)}}}},2804:function(e,t,n){"use strict";const{OriginalSource:r,RawSource:i}=n(2991);const s=n(3453);const o=n(6202);class RawModule extends s{constructor(e,t,n){super("javascript/dynamic",null);this.sourceStr=e;this.identifierStr=t||this.sourceStr;this.readableIdentifierStr=n||this.identifierStr}identifier(){return this.identifierStr}size(e){return Math.max(1,this.sourceStr.length)}readableIdentifier(e){return e.shorten(this.readableIdentifierStr)}needBuild(e,t){return t(null,!this.buildMeta)}build(e,t,n,r,i){this.buildMeta={};this.buildInfo={cacheable:true};i()}source(e){if(this.useSourceMap){return new r(this.sourceStr,this.identifier())}else{return new i(this.sourceStr)}}updateHash(e,t){e.update(this.sourceStr);super.updateHash(e,t)}serialize(e){const{write:t}=e;t(this.sourceStr);t(this.identifierStr);t(this.readableIdentifierStr);super.serialize(e)}deserialize(e){const{read:t}=e;this.sourceStr=t();this.identifierStr=t();this.readableIdentifierStr=t();super.deserialize(e)}}o(RawModule,"webpack/lib/RawModule");e.exports=RawModule},2811:function(e,t,n){"use strict";const r=n(1627);class ModuleDependencyError extends r{constructor(e,t,n){super(t.message);this.name="ModuleDependencyError";this.details=t.stack.split("\n").slice(1).join("\n");this.module=e;this.loc=n;this.error=t;Error.captureStackTrace(this,this.constructor)}}e.exports=ModuleDependencyError},2849:function(e,t,n){"use strict";const r=n(6202);const i=n(9983);class ImportWeakDependency extends i{constructor(e,t){super(e);this.range=t;this.weak=true}get type(){return"import() weak"}serialize(e){const{write:t}=e;t(this.range);t(this.weak);super.serialize(e)}deserialize(e){const{read:t}=e;this.range=t();this.weak=t();super.deserialize(e)}}r(ImportWeakDependency,"webpack/lib/dependencies/ImportWeakDependency");ImportWeakDependency.Template=class ImportDependencyTemplate extends i.Template{apply(e,t,{runtimeTemplate:n,module:r,moduleGraph:i,chunkGraph:s,runtimeRequirements:o}){const a=e;const u=n.moduleNamespacePromise({chunkGraph:s,module:i.getModule(a),request:a.request,strict:r.buildMeta.strictHarmonyModule,message:"import() weak",weak:true,runtimeRequirements:o});t.replace(a.range[0],a.range[1]-1,u)}};e.exports=ImportWeakDependency},2876:function(e,t,n){"use strict";const r=n(9983);class LoaderDependency extends r{constructor(e){super(e)}get type(){return"loader"}}e.exports=LoaderDependency},2895:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:true});const r=n(2760);const i=n(6543);const s=n(5622);const o=n(9929);const a=n(6028);const u=n(2471);class TsconfigPathsPlugin{constructor(e={}){this.source="described-resolve";this.target="resolve";const t=o.getOptions(e);this.extensions=t.extensions;const n=new r.default.constructor({enabled:t.colors});this.log=a.makeLogger(t,n);const u=t.context||process.cwd();const c=t.configFile||u;const l=i.loadConfig(c);if(l.resultType==="failed"){this.log.logError(`Failed to load tsconfig.json: ${l.message}`)}else{this.log.logInfo(`tsconfig-paths-webpack-plugin: Using config file at ${l.configFileAbsolutePath}`);this.baseUrl=t.baseUrl||l.baseUrl;this.absoluteBaseUrl=t.baseUrl?s.resolve(t.baseUrl):l.absoluteBaseUrl;this.matchPath=i.createMatchPathAsync(this.absoluteBaseUrl,l.paths,t.mainFields)}}apply(e){const{baseUrl:t}=this;if(!t){this.log.logWarning("tsconfig-paths-webpack-plugin: Found no baseUrl in tsconfig.json, not applying tsconfig-paths-webpack-plugin");return}if(!e.fileSystem){this.log.logWarning("tsconfig-paths-webpack-plugin: No file system found on resolver."+" Please make sure you've placed the plugin in the correct part of the configuration."+" This plugin is a resolver plugin and should be placed in the resolve part of the Webpack configuration.");return}if(e.getHook&&typeof e.getHook==="function"){e.getHook(this.source).tapAsync({name:"TsconfigPathsPlugin"},createPluginCallback(this.matchPath,e,this.absoluteBaseUrl,e.getHook(this.target),this.extensions))}else{e.plugin(this.source,createPluginLegacy(this.matchPath,e,this.absoluteBaseUrl,this.target,this.extensions))}}}t.TsconfigPathsPlugin=TsconfigPathsPlugin;function createPluginCallback(e,t,r,i,s){const o=createFileExistAsync(t.fileSystem);const a=createReadJsonAsync(t.fileSystem);return(c,l,f)=>{const d=u(t,c);if(!d||(d.startsWith(".")||d.startsWith(".."))){return f()}e(d,a,o,s,(e,s)=>{if(e){return f(e)}if(!s){return f()}const o=Object.assign({},c,{request:s,path:r});const a=n(2227);return t.doResolve(i,o,`Resolved request '${d}' to '${s}' using tsconfig.json paths mapping`,a(Object.assign({},l)),(e,t)=>{if(e){return f(e)}if(t===undefined){return f(null,null)}f(null,t)})})}}function createPluginLegacy(e,t,r,i,s){const o=createFileExistAsync(t.fileSystem);const a=createReadJsonAsync(t.fileSystem);return(c,l)=>{const f=u(t,c);if(!f||(f.startsWith(".")||f.startsWith(".."))){return l()}e(f,a,o,s,(e,s)=>{if(e){return l(e)}if(!s){return l()}const o=Object.assign({},c,{request:s,path:r});const a=n(560);return t.doResolve(i,o,`Resolved request '${f}' to '${s}' using tsconfig.json paths mapping`,a(function(e,t){if(arguments.length>0){return l(e,t)}l(null,null)},l))})}}function createReadJsonAsync(e){return(t,n)=>{e.readJson(t,(e,t)=>{if(e||!t){n();return}n(undefined,t)})}}function createFileExistAsync(e){return(t,n)=>{e.stat(t,(e,t)=>{if(e){n(undefined,false);return}n(undefined,t?t.isFile():false)})}}},2910:function(e){"use strict";class FlagInitialModulesAsUsedPlugin{constructor(e){this.explanation=e}apply(e){e.hooks.compilation.tap("FlagInitialModulesAsUsedPlugin",e=>{const t=e.moduleGraph;e.hooks.afterOptimizeChunks.tap("FlagInitialModulesAsUsedPlugin",n=>{const r=e.chunkGraph;for(const e of n){if(!e.isOnlyInitial()){return}for(const n of r.getChunkModulesIterable(e)){t.getExportsInfo(n).setUsedInUnknownWay();t.addExtraReason(n,this.explanation)}}})})}}e.exports=FlagInitialModulesAsUsedPlugin},2911:function(e,t,n){var r=n(4800);var i=n(5747);var s=n(5622);var o=n(5297);var a=n(1680);var u=n(3034);var c=function isFile(e,t){i.stat(e,function(e,n){if(!e){return t(null,n.isFile()||n.isFIFO())}if(e.code==="ENOENT"||e.code==="ENOTDIR")return t(null,false);return t(e)})};var l=function isDirectory(e,t){i.stat(e,function(e,n){if(!e){return t(null,n.isDirectory())}if(e.code==="ENOENT"||e.code==="ENOTDIR")return t(null,false);return t(e)})};e.exports=function resolve(e,t,n){var f=n;var d=t;if(typeof t==="function"){f=d;d={}}if(typeof e!=="string"){var p=new TypeError("Path must be a string.");return process.nextTick(function(){f(p)})}d=u(e,d);var h=d.isFile||c;var m=d.isDirectory||l;var g=d.readFile||i.readFile;var y=d.extensions||[".js"];var v=d.basedir||s.dirname(o());var b=d.filename||v;d.paths=d.paths||[];var w=s.resolve(v);if(d.preserveSymlinks===false){i.realpath(w,function(e,t){if(e&&e.code!=="ENOENT")f(p);else init(e?w:t)})}else{init(w)}var E;function init(t){if(/^(?:\.\.?(?:\/|$)|\/|([A-Za-z]:)?[/\\])/.test(e)){E=s.resolve(t,e);if(e===".."||e.slice(-1)==="/")E+="/";if(/\/$/.test(e)&&E===t){loadAsDirectory(E,d.package,onfile)}else loadAsFile(E,d.package,onfile)}else loadNodeModules(e,t,function(t,n,i){if(t)f(t);else if(r[e])return f(null,e);else if(n)f(null,n,i);else{var s=new Error("Cannot find module '"+e+"' from '"+b+"'");s.code="MODULE_NOT_FOUND";f(s)}})}function onfile(t,n,r){if(t)f(t);else if(n)f(null,n,r);else loadAsDirectory(E,function(t,n,r){if(t)f(t);else if(n)f(null,n,r);else{var i=new Error("Cannot find module '"+e+"' from '"+b+"'");i.code="MODULE_NOT_FOUND";f(i)}})}function loadAsFile(e,t,n){var r=t;var i=n;if(typeof r==="function"){i=r;r=undefined}var o=[""].concat(y);load(o,e,r);function load(e,t,n){if(e.length===0)return i(null,undefined,n);var r=t+e[0];var o=n;if(o)onpkg(null,o);else loadpkg(s.dirname(r),onpkg);function onpkg(n,a,u){o=a;if(n)return i(n);if(u&&o&&d.pathFilter){var c=s.relative(u,r);var l=c.slice(0,c.length-e[0].length);var f=d.pathFilter(o,t,l);if(f)return load([""].concat(y.slice()),s.resolve(u,f),o)}h(r,onex)}function onex(n,s){if(n)return i(n);if(s)return i(null,r,o);load(e.slice(1),t,o)}}}function loadpkg(e,t){if(e===""||e==="/")return t(null);if(process.platform==="win32"&&/^\w:[/\\]*$/.test(e)){return t(null)}if(/[/\\]node_modules[/\\]*$/.test(e))return t(null);var n=s.join(e,"package.json");h(n,function(r,i){if(!i)return loadpkg(s.dirname(e),t);g(n,function(r,i){if(r)t(r);try{var s=JSON.parse(i)}catch(e){}if(s&&d.packageFilter){s=d.packageFilter(s,n)}t(null,s,e)})})}function loadAsDirectory(e,t,n){var r=n;var i=t;if(typeof i==="function"){r=i;i=d.package}var o=s.join(e,"package.json");h(o,function(t,n){if(t)return r(t);if(!n)return loadAsFile(s.join(e,"index"),i,r);g(o,function(t,n){if(t)return r(t);try{var i=JSON.parse(n)}catch(e){}if(d.packageFilter){i=d.packageFilter(i,o)}if(i.main){if(typeof i.main!=="string"){var a=new TypeError("package “"+i.name+"” `main` must be a string");a.code="INVALID_PACKAGE_MAIN";return r(a)}if(i.main==="."||i.main==="./"){i.main="index"}loadAsFile(s.resolve(e,i.main),i,function(t,n,i){if(t)return r(t);if(n)return r(null,n,i);if(!i)return loadAsFile(s.join(e,"index"),i,r);var o=s.resolve(e,i.main);loadAsDirectory(o,i,function(t,n,i){if(t)return r(t);if(n)return r(null,n,i);loadAsFile(s.join(e,"index"),i,r)})});return}loadAsFile(s.join(e,"/index"),i,r)})})}function processDirs(t,n){if(n.length===0)return t(null,undefined);var r=n[0];m(r,isdir);function isdir(i,o){if(i)return t(i);if(!o)return processDirs(t,n.slice(1));var a=s.join(r,e);loadAsFile(a,d.package,onfile)}function onfile(n,i,o){if(n)return t(n);if(i)return t(null,i,o);loadAsDirectory(s.join(r,e),d.package,ondir)}function ondir(e,r,i){if(e)return t(e);if(r)return t(null,r,i);processDirs(t,n.slice(1))}}function loadNodeModules(e,t,n){processDirs(n,a(t,d,e))}}},2912:function(e,t,n){"use strict";const r=n(6045);const i=n(3558);const s=n(6298);t.toConstantDependency=((e,t,n)=>{return function constDependency(r){const i=new s(t,r.range,n);i.loc=r.loc;e.state.current.addDependency(i);return true}});t.evaluateToString=(e=>{return function stringExpression(t){return(new r).setString(e).setRange(t.range)}});t.evaluateToBoolean=(e=>{return function booleanExpression(t){return(new r).setBoolean(e).setRange(t.range)}});t.evaluateToIdentifier=((e,t)=>{return function identifierExpression(n){let i=(new r).setIdentifier(e).setRange(n.range);if(t===true){i=i.setTruthy()}else if(t===false){i=i.setFalsy()}return i}});t.expressionIsUnsupported=((e,t)=>{return function unsupportedExpression(n){const r=new s("(void 0)",n.range,null);r.loc=n.loc;e.state.current.addDependency(r);if(!e.state.module)return;e.state.module.warnings.push(new i(t,n.loc));return true}});t.skipTraversal=(()=>true);t.approve=(()=>true)},2922:function(e,t,n){"use strict";const r=n(538);const i=n(7275);const{STAGE_ADVANCED:s}=n(2414);const{compareChunks:o}=n(8673);class LimitChunkCountPlugin{constructor(e={}){r(i,e,"Limit Chunk Count Plugin");this.options=e}apply(e){const t=this.options;e.hooks.compilation.tap("LimitChunkCountPlugin",e=>{e.hooks.optimizeChunks.tap({name:"LimitChunkCountPlugin",stage:s},n=>{const r=e.chunkGraph;const i=t.maxChunks;if(!i)return;if(i<1)return;if(e.chunks.size<=i)return;const s=o(r);const a=Array.from(n).sort(s);const u=a.reduce((e,t,n)=>{for(const n of a){if(n===t)break;if(r.canChunksBeIntegrated(n,t)){e.push([n,t])}}return e},[]).map(e=>{const n=r.getChunkSize(e[0],t);const i=r.getChunkSize(e[1],t);const s=r.getIntegratedChunksSize(e[0],e[1],t);const o=[n+i-s,s,e[0],e[1],n,i];return o}).sort((e,t)=>{const n=t[0]-e[0];if(n!==0)return n;const r=e[1]-t[1];if(r!==0)return r;const i=s(e[2],t[2]);if(i!==0)return i;return s(e[3],t[3])});const c=u[0];if(c){r.integrateChunks(c[2],c[3]);e.chunks.delete(c[3]);return true}})})}}e.exports=LimitChunkCountPlugin},2923:function(e,t,n){"use strict";const r=n(538);const i=n(2748);const s=n(3076);const o=n(3433);const a=e=>{let t=0;let n="";let r;let i;const s=(s,a,...u)=>{let c=a;const l=u.filter(e=>e.length);const f=process.stderr.columns||Infinity;if(s<1){s=Math.floor(s*100);a=`${s}% ${a}`;if(s<100){a=` ${a}`}if(s<10){a=` ${a}`}if(l.length){const e=f-a.length;const t=l.reduce((e,t)=>e+t.length,l.length);const n=tn){const t="...";e=`${t}${e.substr(-(n-t.length-1))}`}a+=` ${e}`}}}if(e){c=c.replace(/^\d+\/\d+\s+/,"");if(s===0){r=null;i=Date.now()}else if(c!==r||s===1){const e=Date.now();if(r){const n=`${e-i}ms ${r}`;o(n);process.stderr.write(n+"\n");t=0}r=c;i=e}}if(n!==a){o(a);a=a.substring(0,f);process.stderr.write(a);n=a}};const o=e=>{let n="";for(;t>e.length;t--){n+="\b \b"}for(var r=0;rnull);e.compilers.forEach((e,r)=>{new ProgressPlugin((e,i,...s)=>{n[r]=[e,i,...s];t(n.map(e=>e&&e[0]||0).reduce((e,t)=>e+t)/n.length,`[${r}] ${i}`,...s)}).apply(e)})}_applyOnCompiler(e,t){const{modulesCount:n}=this;const r=this.showEntries;const i=this.showModules;const s=this.showActiveModules;let o="";let a=0;let c=0;let l=n;let f=1;let d=0;let p=0;const h=new Set;const m=()=>{const e=[];const n=d/Math.max(a,l);const u=p/Math.max(c,f);const m=.1+Math.max(n,u)*.6;if(r){e.push(`${p}/${f} entries`)}if(i){e.push(`${d}/${l} modules`)}if(s){e.push(`${h.size} active`);e.push(o)}t(m,"building",...e)};const g=e=>{l++;m()};const y=e=>{if(s){const t=e.identifier();if(t){h.add(t);o=t}}m()};const v=(e,t)=>{f++;m()};const b=e=>{d++;if(s){const t=e.identifier();if(t){h.delete(t);if(o===t){o="";for(const e of h){o=e}}}}m()};const w=(e,t)=>{p++;m()};e.hooks.compilation.tap("ProgressPlugin",e=>{if(e.compiler.isChild())return;a=l;c=f;l=f=0;d=p=0;t(0,"compiling");e.buildQueue.hooks.added.tap("ProgressPlugin",g);e.hooks.buildModule.tap("ProgressPlugin",y);e.hooks.failedModule.tap("ProgressPlugin",b);e.hooks.succeedModule.tap("ProgressPlugin",b);e.hooks.addEntry.tap("ProgressPlugin",v);e.hooks.failedEntry.tap("ProgressPlugin",w);e.hooks.succeedEntry.tap("ProgressPlugin",w);const n={finishModules:"finish module graph",seal:"sealing",beforeChunks:"chunk graph",afterChunks:"after chunk graph",optimizeDependencies:"dependencies optimization",afterOptimizeDependencies:"after dependencies optimization",optimize:"optimizing",optimizeModules:"module optimization",afterOptimizeModules:"after module optimization",optimizeChunks:"chunk optimization",afterOptimizeChunks:"after chunk optimization",optimizeTree:"module and chunk tree optimization",afterOptimizeTree:"after module and chunk tree optimization",optimizeChunkModules:"chunk modules optimization",afterOptimizeChunkModules:"after chunk modules optimization",reviveModules:"module reviving",beforeModuleIds:"before module ids",moduleIds:"module ids",optimizeModuleIds:"module id optimization",afterOptimizeModuleIds:"module id optimization",reviveChunks:"chunk reviving",beforeChunkIds:"before chunk ids",chunkIds:"chunk ids",optimizeChunkIds:"chunk id optimization",afterOptimizeChunkIds:"after chunk id optimization",recordModules:"record modules",recordChunks:"record chunks",beforeModuleHash:"module hashing",beforeRuntimeRequirements:"runtime requirements",beforeHash:"hashing",contentHash:"content hashing",afterHash:"after hashing",recordHash:"record hash",beforeModuleAssets:"module assets processing",beforeChunkAssets:"chunk assets processing",additionalChunkAssets:"additional chunk assets processing",record:"recording",additionalAssets:"additional asset processing",optimizeChunkAssets:"chunk asset optimization",afterOptimizeChunkAssets:"after chunk asset optimization",optimizeAssets:"asset optimization",afterOptimizeAssets:"after asset optimization",afterSeal:"after seal"};const r=Object.keys(n).length;Object.keys(n).forEach((i,s)=>{const o=n[i];const a=s/r*.25+.7;e.hooks[i].intercept({name:"ProgressPlugin",call(){t(a,o)},tap(n){u.set(e.compiler,(e,...r)=>{t(a,o,n.name,...r)});t(a,o,n.name)}})})});e.hooks.emit.intercept({name:"ProgressPlugin",call(){t(.95,"emitting")},tap(n){u.set(e,(e,...r)=>{t(.95,"emitting",n.name,...r)});t(.95,"emitting",n.name)}});e.hooks.afterEmit.intercept({name:"ProgressPlugin",call(){t(.98,"after emitting")},tap(n){u.set(e,(e,...r)=>{t(.98,"after emitting",n.name,...r)});t(.98,"after emitting",n.name)}});e.hooks.done.tap("ProgressPlugin",()=>{t(1,"")})}}ProgressPlugin.defaultOptions={profile:false,modulesCount:500,modules:true,activeModules:true,entries:true};e.exports=ProgressPlugin},2925:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:true});t.print=print;var r=n(8093);var i=_interopRequireDefault(n(1174));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _typeof(e){if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(e){return typeof e}}else{_typeof=function _typeof(e){return e&&typeof Symbol==="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e}}return _typeof(e)}function _sliceIterator(e,t){var n=[];var r=true;var i=false;var s=undefined;try{for(var o=e[Symbol.iterator](),a;!(r=(a=o.next()).done);r=true){n.push(a.value);if(t&&n.length===t)break}}catch(e){i=true;s=e}finally{try{if(!r&&o["return"]!=null)o["return"]()}finally{if(i)throw s}}return n}function _slicedToArray(e,t){if(Array.isArray(e)){return e}else if(Symbol.iterator in Object(e)){return _sliceIterator(e,t)}else{throw new TypeError("Invalid attempt to destructure non-iterable instance")}}var s=false;var o=" ";var a=function quote(e){return'"'.concat(e,'"')};function indent(e){return Array(e).fill(o+o).join("")}function print(e){if(e.type==="Program"){return printProgram(e,0)}else{throw new Error("Unsupported node in print of type: "+String(e.type))}}function printProgram(e,t){return e.body.reduce(function(e,n){if(n.type==="Module"){e+=printModule(n,t+1)}if(n.type==="Func"){e+=printFunc(n,t+1)}if(n.type==="BlockComment"){e+=printBlockComment(n)}if(n.type==="LeadingComment"){e+=printLeadingComment(n)}if(s===false){e+="\n"}return e},"")}function printTypeInstruction(e){var t="";t+="(";t+="type";t+=o;if(e.id!=null){t+=printIndex(e.id);t+=o}t+="(";t+="func";e.functype.params.forEach(function(e){t+=o;t+="(";t+="param";t+=o;t+=printFuncParam(e);t+=")"});e.functype.results.forEach(function(e){t+=o;t+="(";t+="result";t+=o;t+=e;t+=")"});t+=")";t+=")";return t}function printModule(e,t){var n="(";n+="module";if(typeof e.id==="string"){n+=o;n+=e.id}if(s===false){n+="\n"}else{n+=o}e.fields.forEach(function(e){if(s===false){n+=indent(t)}switch(e.type){case"Func":{n+=printFunc(e,t+1);break}case"TypeInstruction":{n+=printTypeInstruction(e);break}case"Table":{n+=printTable(e);break}case"Global":{n+=printGlobal(e,t+1);break}case"ModuleExport":{n+=printModuleExport(e);break}case"ModuleImport":{n+=printModuleImport(e);break}case"Memory":{n+=printMemory(e);break}case"BlockComment":{n+=printBlockComment(e);break}case"LeadingComment":{n+=printLeadingComment(e);break}case"Start":{n+=printStart(e);break}case"Elem":{n+=printElem(e,t);break}case"Data":{n+=printData(e,t);break}default:throw new Error("Unsupported node in printModule: "+String(e.type))}if(s===false){n+="\n"}});n+=")";return n}function printData(e,t){var n="";n+="(";n+="data";n+=o;n+=printIndex(e.memoryIndex);n+=o;n+=printInstruction(e.offset,t);n+=o;n+='"';e.init.values.forEach(function(e){if(e<=31||e==34||e==92||e>=127){n+="\\";n+=("00"+e.toString(16)).substr(-2)}else if(e>255){throw new Error("Unsupported byte in data segment: "+e)}else{n+=String.fromCharCode(e)}});n+='"';n+=")";return n}function printElem(e,t){var n="";n+="(";n+="elem";n+=o;n+=printIndex(e.table);var r=_slicedToArray(e.offset,1),i=r[0];n+=o;n+="(";n+="offset";n+=o;n+=printInstruction(i,t);n+=")";e.funcs.forEach(function(e){n+=o;n+=printIndex(e)});n+=")";return n}function printStart(e){var t="";t+="(";t+="start";t+=o;t+=printIndex(e.index);t+=")";return t}function printLeadingComment(e){if(s===true){return""}var t="";t+=";;";t+=e.value;t+="\n";return t}function printBlockComment(e){if(s===true){return""}var t="";t+="(;";t+=e.value;t+=";)";t+="\n";return t}function printSignature(e){var t="";e.params.forEach(function(e){t+=o;t+="(";t+="param";t+=o;t+=printFuncParam(e);t+=")"});e.results.forEach(function(e){t+=o;t+="(";t+="result";t+=o;t+=e;t+=")"});return t}function printModuleImportDescr(e){var t="";if(e.type==="FuncImportDescr"){t+="(";t+="func";if((0,r.isAnonymous)(e.id)===false){t+=o;t+=printIdentifier(e.id)}t+=printSignature(e.signature);t+=")"}if(e.type==="GlobalType"){t+="(";t+="global";t+=o;t+=printGlobalType(e);t+=")"}if(e.type==="Table"){t+=printTable(e)}return t}function printModuleImport(e){var t="";t+="(";t+="import";t+=o;t+=a(e.module);t+=o;t+=a(e.name);t+=o;t+=printModuleImportDescr(e.descr);t+=")";return t}function printGlobalType(e){var t="";if(e.mutability==="var"){t+="(";t+="mut";t+=o;t+=e.valtype;t+=")"}else{t+=e.valtype}return t}function printGlobal(e,t){var n="";n+="(";n+="global";n+=o;if(e.name!=null&&(0,r.isAnonymous)(e.name)===false){n+=printIdentifier(e.name);n+=o}n+=printGlobalType(e.globalType);n+=o;e.init.forEach(function(e){n+=printInstruction(e,t+1)});n+=")";return n}function printTable(e){var t="";t+="(";t+="table";t+=o;if(e.name!=null&&(0,r.isAnonymous)(e.name)===false){t+=printIdentifier(e.name);t+=o}t+=printLimit(e.limits);t+=o;t+=e.elementType;t+=")";return t}function printFuncParam(e){var t="";if(typeof e.id==="string"){t+="$"+e.id;t+=o}t+=e.valtype;return t}function printFunc(e,t){var n="";n+="(";n+="func";if(e.name!=null){if(e.name.type==="Identifier"&&(0,r.isAnonymous)(e.name)===false){n+=o;n+=printIdentifier(e.name)}}if(e.signature.type==="Signature"){n+=printSignature(e.signature)}else{var i=e.signature;n+=o;n+="(";n+="type";n+=o;n+=printIndex(i);n+=")"}if(e.body.length>0){if(e.body.length===1&&e.body[0].id==="end"){n+=")";return n}if(s===false){n+="\n"}e.body.forEach(function(e){if(e.id!=="end"){n+=indent(t);n+=printInstruction(e,t);if(s===false){n+="\n"}}});n+=indent(t-1)+")"}else{n+=")"}return n}function printInstruction(e,t){switch(e.type){case"Instr":return printGenericInstruction(e,t+1);case"BlockInstruction":return printBlockInstruction(e,t+1);case"IfInstruction":return printIfInstruction(e,t+1);case"CallInstruction":return printCallInstruction(e,t+1);case"CallIndirectInstruction":return printCallIndirectIntruction(e,t+1);case"LoopInstruction":return printLoopInstruction(e,t+1);default:throw new Error("Unsupported instruction: "+JSON.stringify(e.type))}}function printCallIndirectIntruction(e,t){var n="";n+="(";n+="call_indirect";if(e.signature.type==="Signature"){n+=printSignature(e.signature)}else if(e.signature.type==="Identifier"){n+=o;n+="(";n+="type";n+=o;n+=printIdentifier(e.signature);n+=")"}else{throw new Error("CallIndirectInstruction: unsupported signature "+JSON.stringify(e.signature.type))}n+=o;if(e.intrs!=null){e.intrs.forEach(function(r,i){n+=printInstruction(r,t+1);if(i!==e.intrs.length-1){n+=o}})}n+=")";return n}function printLoopInstruction(e,t){var n="";n+="(";n+="loop";if(e.label!=null&&(0,r.isAnonymous)(e.label)===false){n+=o;n+=printIdentifier(e.label)}if(typeof e.resulttype==="string"){n+=o;n+="(";n+="result";n+=o;n+=e.resulttype;n+=")"}if(e.instr.length>0){e.instr.forEach(function(e){if(s===false){n+="\n"}n+=indent(t);n+=printInstruction(e,t+1)});if(s===false){n+="\n";n+=indent(t-1)}}n+=")";return n}function printCallInstruction(e,t){var n="";n+="(";n+="call";n+=o;n+=printIndex(e.index);if(_typeof(e.instrArgs)==="object"){e.instrArgs.forEach(function(e){n+=o;n+=printFuncInstructionArg(e,t+1)})}n+=")";return n}function printIfInstruction(e,t){var n="";n+="(";n+="if";if(e.testLabel!=null&&(0,r.isAnonymous)(e.testLabel)===false){n+=o;n+=printIdentifier(e.testLabel)}if(typeof e.result==="string"){n+=o;n+="(";n+="result";n+=o;n+=e.result;n+=")"}if(e.test.length>0){n+=o;e.test.forEach(function(e){n+=printInstruction(e,t+1)})}if(e.consequent.length>0){if(s===false){n+="\n"}n+=indent(t);n+="(";n+="then";t++;e.consequent.forEach(function(e){if(s===false){n+="\n"}n+=indent(t);n+=printInstruction(e,t+1)});t--;if(s===false){n+="\n";n+=indent(t)}n+=")"}else{if(s===false){n+="\n";n+=indent(t)}n+="(";n+="then";n+=")"}if(e.alternate.length>0){if(s===false){n+="\n"}n+=indent(t);n+="(";n+="else";t++;e.alternate.forEach(function(e){if(s===false){n+="\n"}n+=indent(t);n+=printInstruction(e,t+1)});t--;if(s===false){n+="\n";n+=indent(t)}n+=")"}else{if(s===false){n+="\n";n+=indent(t)}n+="(";n+="else";n+=")"}if(s===false){n+="\n";n+=indent(t-1)}n+=")";return n}function printBlockInstruction(e,t){var n="";n+="(";n+="block";if(e.label!=null&&(0,r.isAnonymous)(e.label)===false){n+=o;n+=printIdentifier(e.label)}if(typeof e.result==="string"){n+=o;n+="(";n+="result";n+=o;n+=e.result;n+=")"}if(e.instr.length>0){e.instr.forEach(function(e){if(s===false){n+="\n"}n+=indent(t);n+=printInstruction(e,t+1)});if(s===false){n+="\n"}n+=indent(t-1);n+=")"}else{n+=")"}return n}function printGenericInstruction(e,t){var n="";n+="(";if(typeof e.object==="string"){n+=e.object;n+="."}n+=e.id;e.args.forEach(function(e){n+=o;n+=printFuncInstructionArg(e,t+1)});n+=")";return n}function printLongNumberLiteral(e){if(typeof e.raw==="string"){return e.raw}var t=e.value,n=t.low,r=t.high;var s=new i.default(n,r);return s.toString()}function printFloatLiteral(e){if(typeof e.raw==="string"){return e.raw}return String(e.value)}function printFuncInstructionArg(e,t){var n="";if(e.type==="NumberLiteral"){n+=printNumberLiteral(e)}if(e.type==="LongNumberLiteral"){n+=printLongNumberLiteral(e)}if(e.type==="Identifier"&&(0,r.isAnonymous)(e)===false){n+=printIdentifier(e)}if(e.type==="ValtypeLiteral"){n+=e.name}if(e.type==="FloatLiteral"){n+=printFloatLiteral(e)}if((0,r.isInstruction)(e)){n+=printInstruction(e,t+1)}return n}function printNumberLiteral(e){if(typeof e.raw==="string"){return e.raw}return String(e.value)}function printModuleExport(e){var t="";t+="(";t+="export";t+=o;t+=a(e.name);if(e.descr.exportType==="Func"){t+=o;t+="(";t+="func";t+=o;t+=printIndex(e.descr.id);t+=")"}else if(e.descr.exportType==="Global"){t+=o;t+="(";t+="global";t+=o;t+=printIndex(e.descr.id);t+=")"}else if(e.descr.exportType==="Memory"||e.descr.exportType==="Mem"){t+=o;t+="(";t+="memory";t+=o;t+=printIndex(e.descr.id);t+=")"}else if(e.descr.exportType==="Table"){t+=o;t+="(";t+="table";t+=o;t+=printIndex(e.descr.id);t+=")"}else{throw new Error("printModuleExport: unknown type: "+e.descr.exportType)}t+=")";return t}function printIdentifier(e){return"$"+e.value}function printIndex(e){if(e.type==="Identifier"){return printIdentifier(e)}else if(e.type==="NumberLiteral"){return printNumberLiteral(e)}else{throw new Error("Unsupported index: "+e.type)}}function printMemory(e){var t="";t+="(";t+="memory";if(e.id!=null){t+=o;t+=printIndex(e.id);t+=o}t+=printLimit(e.limits);t+=")";return t}function printLimit(e){var t="";t+=e.min+"";if(e.max!=null){t+=o;t+=String(e.max)}return t}},2932:function(e,t,n){"use strict";const r=n(4862);e.exports=(e=>{if(e<1){throw new TypeError("Expected `concurrency` to be a number from 1 and up")}const t=[];let n=0;const i=()=>{n--;if(t.length>0){t.shift()()}};const s=(e,t,...s)=>{n++;const o=r(e,...s);t(o);o.then(i,i)};const o=(r,i,...o)=>{if(nnew Promise(n=>o(e,n,...t))})},2960:function(e,t,n){"use strict";t.__esModule=true;t.SyncHook=n(6728);t.SyncBailHook=n(3334);t.SyncWaterfallHook=n(1934);t.SyncLoopHook=n(2332);t.AsyncParallelHook=n(3350);t.AsyncParallelBailHook=n(8802);t.AsyncSeriesHook=n(8152);t.AsyncSeriesBailHook=n(4953);t.AsyncSeriesLoopHook=n(5810);t.AsyncSeriesWaterfallHook=n(6760);t.HookMap=n(8636);t.MultiHook=n(937)},2963:function(e){"use strict";function posix(e){return e.charAt(0)==="/"}function win32(e){var t=/^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/;var n=t.exec(e);var r=n[1]||"";var i=Boolean(r&&r.charAt(1)!==":");return Boolean(n[2]||i)}e.exports=process.platform==="win32"?win32:posix;e.exports.posix=posix;e.exports.win32=win32},2980:function(e,t,n){"use strict";const r=n(528);const i=n(3207);class AsyncSeriesBailHookCodeFactory extends i{content({onError:e,onResult:t,onDone:n}){return this.callTapsSeries({onError:(t,n,r,i)=>e(n)+i(true),onResult:(e,n,r)=>`if(${n} !== undefined) {\n${t(n)};\n} else {\n${r()}}\n`,onDone:n})}}const s=new AsyncSeriesBailHookCodeFactory;class AsyncSeriesBailHook extends r{compile(e){s.setup(this,e);return s.create(e)}}Object.defineProperties(AsyncSeriesBailHook.prototype,{_call:{value:undefined,configurable:true,writable:true}});e.exports=AsyncSeriesBailHook},2982:function(e,t,n){"use strict";const r=n(9034);const i=n(3076);const s=n(3433);const o=n(1721);const a=n(1972);const u=n(7263);const c=n(3632);const l=n(3316);const f=e=>{const t=e.map(e=>d(e));const n=new s(t);for(const e of t){if(e.options.dependencies){n.setDependencies(e,e.options.dependencies)}}return n};const d=e=>{e=(new a).process(e);const t=new i(e.context);t.options=e;(new c).apply(t);if(Array.isArray(e.plugins)){for(const n of e.plugins){if(typeof n==="function"){n.call(t,t)}else{n.apply(t)}}}t.hooks.environment.call();t.hooks.afterEnvironment.call();t.options=(new o).process(e,t);return t};const p=(e,t)=>{const n=l(r,e);if(n.length){throw new u(n)}let i;let s=false;let o;if(Array.isArray(e)){i=f(e);s=e.some(e=>e.watch);o=e.map(e=>e.watchOptions||{})}else{i=d(e);s=e.watch;o=e.watchOptions||{}}if(t){if(s){i.watch(o,t)}else{i.run((e,n)=>{i.close(r=>{t(e||r,n)})})}}return i};e.exports=p},2991:function(e,t,n){const r=(e,n)=>{let r;Object.defineProperty(t,e,{get:()=>{if(n!==undefined){r=n();n=undefined}return r},configurable:true})};r("Source",()=>n(2112));r("RawSource",()=>n(7902));r("OriginalSource",()=>n(7579));r("SourceMapSource",()=>n(4172));r("CachedSource",()=>n(417));r("ConcatSource",()=>n(2388));r("ReplaceSource",()=>n(1324));r("PrefixSource",()=>n(9852));r("SizeOnlySource",()=>n(3683))},2996:function(e,t,n){"use strict";const r=n(9738);let i=2e3;const s=e=>{if(i>1&&e%2!==0)i=1;else if(i>10&&e%20!==0)i=10;else if(i>100&&e%200!==0)i=100;else if(i>1e3&&e%2e3!==0)i=1e3};class FileSystemInfo{constructor(e){this.fs=e;this._fileTimestamps=new Map;this._contextTimestamps=new Map;this.fileTimestampQueue=new r({name:"file timestamp",parallelism:30,processor:this._readFileTimestamp.bind(this)});this.contextTimestampQueue=new r({name:"context timestamp",parallelism:2,processor:this._readContextTimestamp.bind(this)})}addFileTimestamps(e){for(const[t,n]of e){this._fileTimestamps.set(t,n)}}addContextTimestamps(e){for(const[t,n]of e){this._contextTimestamps.set(t,n)}}getFileTimestamp(e,t){const n=this._fileTimestamps.get(e);if(n!==undefined)return t(null,n);this.fileTimestampQueue.add(e,t)}getContextTimestamp(e,t){const n=this._contextTimestamps.get(e);if(n!==undefined)return t(null,n);this.contextTimestampQueue.add(e,t)}createSnapshot(e,t,n,r,i,s){const o=new Map;const a=new Map;const u=new Map;let c=1;const l=()=>{if(--c===0){s(null,{startTime:e,fileTimestamps:o,contextTimestamps:a,missingTimestamps:u})}};if(t){for(const e of t){const t=this._fileTimestamps.get(e);if(t!==undefined){o.set(e,t)}else{c++;this.fileTimestampQueue.add(e,(t,n)=>{if(t){o.set(e,"error")}else{o.set(e,n)}l()})}}}if(n){for(const e of n){a.set(e,"error")}}if(r){for(const e of r){const t=this._fileTimestamps.get(e);if(t!==undefined){u.set(e,t)}else{c++;this.fileTimestampQueue.add(e,(t,n)=>{if(t){u.set(e,"error")}else{u.set(e,n)}l()})}}}l()}checkSnapshotValid(e,t){const{startTime:n,fileTimestamps:r,contextTimestamps:i,missingTimestamps:s}=e;let o=1;const a=()=>{if(--o===0){t(null,true)}};const u=()=>{if(o>0){o=NaN;t(null,false)}};const c=(e,t)=>{if(t==="error"){return false}return!e===!t};const l=(e,t)=>{if(t==="error"){return false}if(e&&e.safeTime>n){return false}if(!e!==!t){return false}if(e){if(t.timestamp!==undefined&&e.timestamp!==t.timestamp){return false}}return true};for(const[e,t]of r){const n=this._fileTimestamps.get(e);if(n!==undefined){if(!l(n,t)){u()}}else{o++;this.fileTimestampQueue.add(e,(e,n)=>{if(e)return u();if(!l(n,t)){u()}else{a()}})}}if(i.size>0){u()}for(const[e,t]of s){const n=this._fileTimestamps.get(e);if(n!==undefined){if(!c(n,t)){u()}}else{o++;this.fileTimestampQueue.add(e,(e,n)=>{if(e)return u();if(!c(n,t)){u()}else{a()}})}}a()}_readFileTimestamp(e,t){this.fs.stat(e,(n,r)=>{if(n){if(n.code==="ENOENT"){this._fileTimestamps.set(e,null);return t(null,null)}return t(n)}const o=+r.mtime;if(o)s(o);const a={safeTime:o?o+i:Infinity,timestamp:r.isDirectory()?undefined:o};this._fileTimestamps.set(e,a);t(null,a)})}_readContextTimestamp(e,t){this._contextTimestamps.set(e,null);t(null,null)}getDeprecatedFileTimestamps(){const e=new Map;for(const[t,n]of this._fileTimestamps){if(n)e.set(t,n.safeTime)}return e}getDeprecatedContextTimestamps(){const e=new Map;for(const[t,n]of this._contextTimestamps){if(n)e.set(t,n.safeTime)}return e}}e.exports=FileSystemInfo},3023:function(e){"use strict";e.exports=function defFunc(e){defFunc.definition={type:"object",inline:function(e,t,n){var r="";for(var i=0;i{const s=Object.assign({},n,{path:this.path,request:"./"+n.request});e.doResolve(t,s,"looking for modules in "+this.path,r,i)})}}},3065:function(e){"use strict";class SerializerMiddleware{serialize(e,t){throw new Error("Serializer.serialize is abstract and need to be overwritten")}deserialize(e,t){throw new Error("Serializer.deserialize is abstract and need to be overwritten")}}e.exports=SerializerMiddleware},3072:function(e){"use strict";e.exports=class FileKindPlugin{constructor(e,t){this.source=e;this.target=t}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("FileKindPlugin",(n,r,i)=>{if(n.directory)return i();const s=Object.assign({},n);delete s.directory;e.doResolve(t,s,null,r,i)})}}},3076:function(e,t,n){"use strict";const r=n(8688);const i=n(2355);const{SyncHook:s,SyncBailHook:o,AsyncParallelHook:a,AsyncSeriesHook:u}=n(2960);const{SizeOnlySource:c}=n(2991);const l=n(4725);const f=n(3080);const d=n(7310);const p=n(7191);const h=n(3229);const m=n(910);const g=n(1819);const y=n(140);const v=n(4693);const{join:b,dirname:w,mkdirp:E}=n(5396);const{makePathsRelative:_}=n(9197);const S=e=>{for(let t=1;te[t])return false}return true};const k=(e,t)=>{return t.sort().reduce((t,n)=>{t[n]=e[n];return t},{})};class Compiler{constructor(e){this.hooks=Object.freeze({shouldEmit:new o(["compilation"]),done:new u(["stats"]),additionalPass:new u([]),beforeRun:new u(["compiler"]),run:new u(["compiler"]),emit:new u(["compilation"]),afterEmit:new u(["compilation"]),thisCompilation:new s(["compilation","params"]),compilation:new s(["compilation","params"]),normalModuleFactory:new s(["normalModuleFactory"]),contextModuleFactory:new s(["contextModulefactory"]),beforeCompile:new u(["params"]),compile:new s(["params"]),make:new a(["compilation"]),afterCompile:new u(["compilation"]),watchRun:new u(["compiler"]),failed:new s(["error"]),invalid:new s(["filename","changeTime"]),watchClose:new s([]),environment:new s([]),afterEnvironment:new s([]),afterPlugins:new s(["compiler"]),afterResolvers:new s(["compiler"]),entryOption:new o(["context","entry"])});this.name=undefined;this.parentCompilation=undefined;this.root=this;this.outputPath="";this.outputFileSystem=null;this.intermediateFileSystem=null;this.inputFileSystem=null;this.watchFileSystem=null;this.recordsInputPath=null;this.recordsOutputPath=null;this.records={};this.removedFiles=new Set;this.fileTimestamps=new Map;this.contextTimestamps=new Map;this.resolverFactory=new g;this.options={};this.context=e;this.requestShortener=new m(e);this.cache=new l;this.compilerPath="";this.running=false;this.watchMode=false;this._assetEmittingSourceCache=new WeakMap;this._assetEmittingWrittenFiles=new Map}watch(e,t){if(this.running){return t(new d)}this.running=true;this.watchMode=true;return new v(this,e,t)}run(e){if(this.running){return e(new d)}const t=(t,n)=>{this.cache.beginIdle();this.running=false;if(t){this.hooks.failed.call(t)}if(e!==undefined)return e(t,n)};const n=Date.now();this.running=true;const r=(e,i)=>{if(e)return t(e);if(this.hooks.shouldEmit.call(i)===false){const e=new y(i);e.startTime=n;e.endTime=Date.now();this.hooks.done.callAsync(e,n=>{if(n)return t(n);return t(null,e)});return}process.nextTick(()=>{this.emitAssets(i,e=>{if(e)return t(e);if(i.hooks.needAdditionalPass.call()){i.needAdditionalPass=true;const e=new y(i);e.startTime=n;e.endTime=Date.now();this.hooks.done.callAsync(e,e=>{if(e)return t(e);this.hooks.additionalPass.callAsync(e=>{if(e)return t(e);this.compile(r)})});return}this.emitRecords(e=>{if(e)return t(e);const r=new y(i);r.startTime=n;r.endTime=Date.now();this.hooks.done.callAsync(r,e=>{if(e)return t(e);return t(null,r)})})})})};this.cache.endIdle(e=>{if(e)return t(e);this.hooks.beforeRun.callAsync(this,e=>{if(e)return t(e);this.hooks.run.callAsync(this,e=>{if(e)return t(e);this.readRecords(e=>{if(e)return t(e);this.compile(r)})})})})}runAsChild(e){this.compile((t,n)=>{if(t)return e(t);this.parentCompilation.children.push(n);for(const e of Object.keys(n.assets)){this.parentCompilation.assets[e]=n.assets[e]}const r=Array.from(n.entrypoints.values(),e=>e.chunks).reduce((e,t)=>{return e.concat(t)},[]);return e(null,r,n)})}purgeInputFileSystem(){if(this.inputFileSystem&&this.inputFileSystem.purge){this.inputFileSystem.purge()}}emitAssets(e,t){let n;const r=r=>{if(r)return t(r);i.forEachLimit(e.assets,15,(t,r,i)=>{let s=r;const o=s.indexOf("?");if(o>=0){s=s.substr(0,o)}const a=o=>{if(o)return i(o);const a=b(this.outputFileSystem,n,s);const u=this._assetEmittingWrittenFiles.get(a);let l=this._assetEmittingSourceCache.get(t);if(l===undefined){l={sizeOnlySource:undefined,writtenTo:new Map};this._assetEmittingSourceCache.set(t,l)}if(u!==undefined){const e=l.writtenTo.get(a);if(e===u){return i()}}let f;if(typeof t.buffer==="function"){f=t.buffer()}else{const e=t.source();if(Buffer.isBuffer(e)){f=e}else{f=Buffer.from(e,"utf8")}}l.sizeOnlySource=new c(f.length);e.assets[r]=l.sizeOnlySource;this.outputFileSystem.writeFile(a,f,t=>{if(t)return i(t);e.emittedAssets.add(r);const n=u===undefined?1:u+1;l.writtenTo.set(a,n);this._assetEmittingWrittenFiles.set(a,n);i()})};if(s.match(/\/|\\/)){const e=this.outputFileSystem;const t=w(e,b(e,n,s));E(e,t,a)}else{a()}},n=>{if(n)return t(n);this.hooks.afterEmit.callAsync(e,e=>{if(e)return t(e);return t()})})};this.hooks.emit.callAsync(e,i=>{if(i)return t(i);n=e.getPath(this.outputPath,{});E(this.outputFileSystem,n,r)})}emitRecords(e){if(!this.recordsOutputPath)return e();const t=()=>{this.outputFileSystem.writeFile(this.recordsOutputPath,JSON.stringify(this.records,(e,t)=>{if(typeof t==="object"&&t!==null&&!Array.isArray(t)){const e=Object.keys(t);if(!S(e)){return k(t,e)}}return t},2),e)};const n=w(this.outputFileSystem,this.recordsOutputPath);if(!n){return t()}E(this.outputFileSystem,n,n=>{if(n)return e(n);t()})}readRecords(e){if(!this.recordsInputPath){this.records={};return e()}this.inputFileSystem.stat(this.recordsInputPath,t=>{if(t)return e();this.inputFileSystem.readFile(this.recordsInputPath,(t,n)=>{if(t)return e(t);try{this.records=r(n.toString("utf-8"))}catch(t){t.message="Cannot parse records: "+t.message;return e(t)}return e()})})}createChildCompiler(e,t,n,r,i){const s=new Compiler(this.context);if(Array.isArray(i)){for(const e of i){e.apply(s)}}for(const e in this.hooks){if(!["make","compile","emit","afterEmit","invalid","done","thisCompilation"].includes(e)){if(s.hooks[e]){s.hooks[e].taps=this.hooks[e].taps.slice()}}}s.name=t;s.outputPath=this.outputPath;s.inputFileSystem=this.inputFileSystem;s.outputFileSystem=null;s.resolverFactory=this.resolverFactory;s.fileTimestamps=this.fileTimestamps;s.contextTimestamps=this.contextTimestamps;s.compilerPath=this.compilerPath+"/"+t+n;const o=_(this.context,t,this.root);if(!this.records[o]){this.records[o]=[]}if(this.records[o][n]){s.records=this.records[o][n]}else{this.records[o].push(s.records={})}s.options=Object.create(this.options);s.options.output=Object.create(s.options.output);for(const e in r){s.options.output[e]=r[e]}s.parentCompilation=e;s.root=this.root;e.hooks.childCompiler.call(s,t,n);return s}isChild(){return!!this.parentCompilation}createCompilation(){return new f(this)}newCompilation(e){const t=this.createCompilation();t.name=this.name;t.records=this.records;this.hooks.thisCompilation.call(t,e);this.hooks.compilation.call(t,e);return t}createNormalModuleFactory(){const e=new h({context:this.options.context,fs:this.inputFileSystem,resolverFactory:this.resolverFactory,options:this.options.module||{}});this.hooks.normalModuleFactory.call(e);return e}createContextModuleFactory(){const e=new p(this.resolverFactory);this.hooks.contextModuleFactory.call(e);return e}newCompilationParams(){const e={normalModuleFactory:this.createNormalModuleFactory(),contextModuleFactory:this.createContextModuleFactory()};return e}compile(e){const t=this.newCompilationParams();this.hooks.beforeCompile.callAsync(t,n=>{if(n)return e(n);this.hooks.compile.call(t);const r=this.newCompilation(t);this.hooks.make.callAsync(r,t=>{if(t)return e(t);process.nextTick(()=>{r.finish(t=>{if(t)return e(t);r.seal(t=>{if(t)return e(t);this.hooks.afterCompile.callAsync(r,t=>{if(t)return e(t);return e(null,r)})})})})})})}close(e){this.cache.shutdown(e)}}e.exports=Compiler},3080:function(e,t,n){"use strict";const r=n(2355);const{HookMap:i,SyncHook:s,SyncBailHook:o,SyncWaterfallHook:a,AsyncSeriesHook:u}=n(2960);const c=n(1669);const{CachedSource:l}=n(2991);const f=n(1357);const d=n(2433);const p=n(5137);const h=n(4558);const m=n(4445);const g=n(3454);const y=n(6828);const v=n(1452);const b=n(2996);const{connectChunkGroupAndChunk:w,connectChunkGroupParentAndChild:E}=n(4642);const{makeWebpackError:_}=n(3728);const S=n(3694);const k=n(2811);const C=n(3280);const D=n(5412);const A=n(4032);const x=n(9869);const M=n(2210);const T=n(8661);const O=n(6150);const F=n(7130);const I=n(140);const R=n(1627);const P=n(7279);const N=n(533);const L=n(9738);const j=n(9541);const{compareLocations:B,concatComparators:U,compareSelect:G,compareIds:z,compareStringsNumeric:H}=n(8673);const q=n(5891);const{arrayToSetDeprecation:W}=n(6595);const V=c.deprecate(e=>{return n(3520).getCompilationHooks(e).loader},"Compilation.hooks.normalModuleLoader was moved to NormalModule.getCompilationHooks(compilation).loader");const K=G(e=>e.id,z);const X=U(G(e=>e.name,z),G(e=>e.fullHash,z));const J=(e,t)=>{return e.size-t.size};const Y=(e,t)=>{for(let n=0;n{for(const n of t){e.add(n)}};class Compilation{constructor(e){const t=()=>V(this);this.hooks=Object.freeze({buildModule:new s(["module"]),rebuildModule:new s(["module"]),failedModule:new s(["module","error"]),succeedModule:new s(["module"]),addEntry:new s(["entry","name"]),failedEntry:new s(["entry","name","error"]),succeedEntry:new s(["entry","name","module"]),dependencyReference:new a(["dependencyReference","dependency"]),finishModules:new u(["modules"]),finishRebuildingModule:new u(["module"]),unseal:new s([]),seal:new s([]),beforeChunks:new s([]),afterChunks:new s(["chunks"]),optimizeDependencies:new o(["modules"]),afterOptimizeDependencies:new s(["modules"]),optimize:new s([]),optimizeModules:new o(["modules"]),afterOptimizeModules:new s(["modules"]),optimizeChunks:new o(["chunks","chunkGroups"]),afterOptimizeChunks:new s(["chunks","chunkGroups"]),optimizeTree:new u(["chunks","modules"]),afterOptimizeTree:new s(["chunks","modules"]),optimizeChunkModules:new o(["chunks","modules"]),afterOptimizeChunkModules:new s(["chunks","modules"]),shouldRecord:new o([]),additionalChunkRuntimeRequirements:new s(["chunk","runtimeRequirements"]),runtimeRequirementInChunk:new i(()=>new o(["chunk","runtimeRequirements"])),additionalModuleRuntimeRequirements:new s(["module","runtimeRequirements"]),runtimeRequirementInModule:new i(()=>new o(["module","runtimeRequirements"])),additionalTreeRuntimeRequirements:new s(["chunk","runtimeRequirements"]),runtimeRequirementInTree:new i(()=>new o(["chunk","runtimeRequirements"])),runtimeModule:new s(["module","chunk"]),reviveModules:new s(["modules","records"]),beforeModuleIds:new s(["modules"]),moduleIds:new s(["modules"]),optimizeModuleIds:new s(["modules"]),afterOptimizeModuleIds:new s(["modules"]),reviveChunks:new s(["chunks","records"]),beforeChunkIds:new s(["chunks"]),chunkIds:new s(["chunks"]),optimizeChunkIds:new s(["chunks"]),afterOptimizeChunkIds:new s(["chunks"]),recordModules:new s(["modules","records"]),recordChunks:new s(["chunks","records"]),optimizeCodeGeneration:new s(["modules"]),beforeModuleHash:new s([]),afterModuleHash:new s([]),beforeRuntimeRequirements:new s([]),afterRuntimeRequirements:new s([]),beforeHash:new s([]),contentHash:new s(["chunk"]),afterHash:new s([]),recordHash:new s(["records"]),record:new s(["compilation","records"]),beforeModuleAssets:new s([]),shouldGenerateChunkAssets:new o([]),beforeChunkAssets:new s([]),additionalChunkAssets:new s(["chunks"]),additionalAssets:new u([]),optimizeChunkAssets:new u(["chunks"]),afterOptimizeChunkAssets:new s(["chunks"]),optimizeAssets:new u(["assets"]),afterOptimizeAssets:new s(["assets"]),needAdditionalSeal:new o([]),afterSeal:new u([]),chunkHash:new s(["chunk","chunkHash"]),moduleAsset:new s(["module","filename"]),chunkAsset:new s(["chunk","filename"]),assetPath:new a(["filename","data"]),needAdditionalPass:new o([]),childCompiler:new s(["childCompiler","compilerName","compilerIndex"]),statsPreset:new i(()=>new s(["options","context"])),statsNormalize:new s(["options","context"]),statsFactory:new s(["statsFactory","options"]),statsPrinter:new s(["statsPrinter","options"]),get normalModuleLoader(){return t()}});this.name=undefined;this.compiler=e;this.resolverFactory=e.resolverFactory;this.inputFileSystem=e.inputFileSystem;this.fileSystemInfo=new b(this.inputFileSystem);if(e.fileTimestamps){this.fileSystemInfo.addFileTimestamps(e.fileTimestamps)}if(e.contextTimestamps){this.fileSystemInfo.addContextTimestamps(e.contextTimestamps)}this.requestShortener=e.requestShortener;this.compilerPath=e.compilerPath;this.cache=e.cache;const n=e.options;this.options=n;this.outputOptions=n&&n.output;this.bail=n&&n.bail||false;this.profile=n&&n.profile||false;this.mainTemplate=new S(this.outputOptions);this.chunkTemplate=new g(this.outputOptions);this.runtimeTemplate=new F(this.outputOptions,this.requestShortener);this.moduleTemplates={javascript:new T(this.runtimeTemplate,"javascript"),webassembly:new T(this.runtimeTemplate,"webassembly")};this.moduleGraph=new D;this.chunkGraph=undefined;this.factorizeQueue=new L({name:"factorize",parallelism:n.parallelism||100,processor:this._factorizeModule.bind(this)});this.addModuleQueue=new L({name:"addModule",parallelism:n.parallelism||100,getKey:e=>e.identifier(),processor:this._addModule.bind(this)});this.buildQueue=new L({name:"build",parallelism:n.parallelism||100,processor:this._buildModule.bind(this)});this.rebuildQueue=new L({name:"rebuild",parallelism:n.parallelism||100,processor:this._rebuildModule.bind(this)});this.processDependenciesQueue=new L({name:"processDependencies",parallelism:n.parallelism||100,processor:this._processModuleDependencies.bind(this)});this.entryDependencies=new Map;this.entrypoints=new Map;this.chunks=new Set;W(this.chunks,"Compilation.chunks");this.chunkGroups=[];this.namedChunkGroups=new Map;this.namedChunks=new Map;this.modules=new Set;W(this.modules,"Compilation.modules");this._modules=new Map;this.records=null;this.additionalChunkAssets=[];this.assets={};this.errors=[];this.warnings=[];this.children=[];this.dependencyFactories=new Map;this.dependencyTemplates=new y;this.childrenCounters={};this.usedChunkIds=null;this.usedModuleIds=null;this.needAdditionalPass=false;this.builtModules=new WeakSet;this._rebuildingModules=new Map;this.emittedAssets=new Set;this.fileDependencies=new Set;this.contextDependencies=new Set;this.missingDependencies=new Set}getStats(){return new I(this)}createStatsOptions(e,t={}){if(typeof e==="boolean"||typeof e==="string"){e={preset:e}}if(typeof e==="object"&&e!==null){const n={...e};if(n.preset!==undefined){this.hooks.statsPreset.for(n.preset).call(n,t)}this.hooks.statsNormalize.call(n,t);return n}else{const e={};this.hooks.statsNormalize.call(e,t);return e}}createStatsFactory(e){const t=new P;this.hooks.statsFactory.call(t,e);return t}createStatsPrinter(e){const t=new N;this.hooks.statsPrinter.call(t,e);return t}addModule(e,t){this.addModuleQueue.add(e,t)}_addModule(e,t){const n=e.identifier();const r=this._modules.get(n);if(r){return t(null,r)}const i=this.profile?this.moduleGraph.getProfile(e):undefined;if(i!==undefined){i.markRestoringStart()}const s=`${this.compilerPath}/module/${n}`;this.cache.get(s,null,(r,s)=>{if(r)return t(new M(e,r));if(i!==undefined){i.markRestoringEnd();i.markIntegrationStart()}if(s){s.updateCacheModule(e);e=s}this._modules.set(n,e);this.modules.add(e);D.setModuleGraphForModule(e,this.moduleGraph);if(i!==undefined){i.markIntegrationEnd()}t(null,e)})}getModule(e){const t=e.identifier();return this._modules.get(t)}findModule(e){return this._modules.get(e)}buildModule(e,t){this.buildQueue.add(e,t)}_buildModule(e,t){const n=this.profile?this.moduleGraph.getProfile(e):undefined;if(n!==undefined){n.markBuildingStart()}e.needBuild({fileSystemInfo:this.fileSystemInfo},(r,i)=>{if(r)return t(r);if(!i){if(n!==undefined){n.markBuildingEnd()}return t()}this.hooks.buildModule.call(e);this.builtModules.add(e);e.build(this.options,this,this.resolverFactory.get("normal",e.resolveOptions),this.inputFileSystem,r=>{if(n!==undefined){n.markBuildingEnd()}if(r){this.hooks.failedModule.call(e,r);return t(r)}if(n!==undefined){n.markStoringStart()}this.cache.store(`${this.compilerPath}/module/${e.identifier()}`,null,e,r=>{if(n!==undefined){n.markStoringEnd()}if(r){this.hooks.failedModule.call(e,r);return t(r)}this.hooks.succeedModule.call(e);return t()})})})}processModuleDependencies(e,t){this.processDependenciesQueue.add(e,t)}_processModuleDependencies(e,t){const n=new Map;let i=e;const s=t=>{this.moduleGraph.setParents(t,i,e);const r=t.getResourceIdentifier();if(r){const e=this.dependencyFactories.get(t.constructor);if(e===undefined){throw new Error(`No module factory available for dependency type: ${t.constructor.name}`)}let i=n.get(e);if(i===undefined){n.set(e,i=new Map)}let s=i.get(r);if(s===undefined)i.set(r,s=[]);s.push(t)}};const o=e=>{if(e.dependencies){i=e;Y(e.dependencies,s)}if(e.blocks){Y(e.blocks,o)}};try{o(e)}catch(e){return t(e)}const a=[];for(const e of n){for(const t of e[1]){a.push({factory:e[0],dependencies:t[1]})}}if(a.length===0){t();return}process.nextTick(()=>{this.processDependenciesQueue.increaseParallelism();r.forEach(a,(t,n)=>{this.handleModuleCreation({factory:t.factory,dependencies:t.dependencies,originModule:e},e=>{if(e&&this.bail){e.stack=e.stack;return n(e)}n()})},e=>{this.processDependenciesQueue.decreaseParallelism();return t(e)})})}handleModuleCreation({factory:e,dependencies:t,originModule:n,context:r},i){const s=this.moduleGraph;const o=this.profile?new x:undefined;this.factorizeModule({currentProfile:o,factory:e,dependencies:t,originModule:n,context:r},(e,r)=>{if(e){if(t.every(e=>e.optional)){this.warnings.push(e)}else{this.errors.push(e)}return i(e)}if(!r){return i()}if(o!==undefined){s.setProfile(r,o)}this.addModule(r,(e,a)=>{if(e){if(!e.module){e.module=a}this.errors.push(e);return i(e)}for(let e=0;e{if(e){if(!e.module){e.module=a}this.errors.push(e);return i(e)}if(this.processDependenciesQueue.isProcessing(a)){return i()}this.processModuleDependencies(a,e=>{if(e){return i(e)}i(null,a)})})})})}factorizeModule(e,t){this.factorizeQueue.add(e,t)}_factorizeModule({currentProfile:e,factory:t,dependencies:n,originModule:r,context:i},s){if(e!==undefined){e.markFactoryStart()}t.create({contextInfo:{issuer:r?r.nameForCondition():"",compiler:this.compiler.name},resolveOptions:r?r.resolveOptions:undefined,context:i?i:r?r.context:this.compiler.context,dependencies:n},(t,i)=>{if(i){const{fileDependencies:e,contextDependencies:t,missingDependencies:n}=i;if(e){Q(this.fileDependencies,e)}if(t){Q(this.contextDependencies,t)}if(n){Q(this.missingDependencies,n)}}if(t){const e=new A(r,t,n.map(e=>e.loc).filter(Boolean)[0]);return s(e)}if(!i){return s()}const o=i.module;if(!o){return s()}if(e!==undefined){e.markFactoryEnd()}s(null,o)})}addModuleChain(e,t,n){if(typeof t!=="object"||t===null||!t.constructor){return n(new R("Parameter 'dependency' must be a Dependency"))}const r=t.constructor;const i=this.dependencyFactories.get(r);if(!i){return n(new R(`No dependency factory available for this dependency type: ${t.constructor.name}`))}this.handleModuleCreation({factory:i,dependencies:[t],originModule:null,context:e},e=>{if(e&&this.bail){n(e);this.buildQueue.stop();this.rebuildQueue.stop();this.processDependenciesQueue.stop();this.factorizeQueue.stop()}else{n()}})}addEntry(e,t,n,r){this.hooks.addEntry.call(t,n);let i=this.entryDependencies.get(n);if(i===undefined){i=[];this.entryDependencies.set(n,i)}i.push(t);this.addModuleChain(e,t,(e,i)=>{if(e){this.hooks.failedEntry.call(t,n,e);return r(e)}this.hooks.succeedEntry.call(t,n,i);return r(null,i)})}rebuildModule(e,t){this.rebuildQueue.add(e,t)}_rebuildModule(e,t){this.hooks.rebuildModule.call(e);const n=e.dependencies.slice();const r=e.blocks.slice();e.invalidateBuild();this.buildQueue.invalidate(e);this.buildModule(e,i=>{if(i){return this.hooks.finishRebuildingModule.callAsync(e,e=>{if(e){t(_(e,"Compilation.hooks.finishRebuildingModule"));return}t(i)})}this.processModuleDependencies(e,i=>{if(i)return t(i);this.removeReasonsOfDependencyBlock(e,{dependencies:n,blocks:r});this.hooks.finishRebuildingModule.callAsync(e,n=>{if(n){t(_(n,"Compilation.hooks.finishRebuildingModule"));return}t(null,e)})})})}finish(e){const t=this.modules;this.hooks.finishModules.callAsync(t,n=>{if(n)return e(n);for(const e of t){this.reportDependencyErrorsAndWarnings(e,[e]);if(e.isOptional(this.moduleGraph)){for(const t of e.errors){if(!t.module){t.module=e}this.warnings.push(t)}}else{for(const t of e.errors){if(!t.module){t.module=e}this.errors.push(t)}}for(const t of e.warnings){if(!t.module){t.module=e}this.warnings.push(t)}}e()})}unseal(){this.hooks.unseal.call();this.chunks.clear();this.chunkGroups.length=0;this.namedChunks.clear();this.namedChunkGroups.clear();this.entrypoints.clear();this.additionalChunkAssets.length=0;this.assets={};this.moduleGraph.removeAllModuleAttributes()}seal(e){const t=new p(this.moduleGraph);this.chunkGraph=t;for(const e of this.modules){p.setChunkGraphForModule(e,t)}this.hooks.seal.call();while(this.hooks.optimizeDependencies.call(this.modules)){}this.hooks.afterOptimizeDependencies.call(this.modules);this.hooks.beforeChunks.call();for(const[e,n]of this.entryDependencies){const r=this.addChunk(e);r.name=e;const i=new v(e);i.setRuntimeChunk(r);this.namedChunkGroups.set(e,i);this.entrypoints.set(e,i);this.chunkGroups.push(i);w(i,r);for(const s of n){i.addOrigin(null,{name:e},s.request);const n=this.moduleGraph.getModule(s);if(n){t.connectChunkAndModule(r,n);t.connectChunkAndEntryModule(r,n,i);this.assignDepth(n)}}}this.processDependenciesBlocksForChunkGroups(this.chunkGroups.slice());this.hooks.afterChunks.call(this.chunks);this.hooks.optimize.call();while(this.hooks.optimizeModules.call(this.modules)){}this.hooks.afterOptimizeModules.call(this.modules);while(this.hooks.optimizeChunks.call(this.chunks,this.chunkGroups)){}this.hooks.afterOptimizeChunks.call(this.chunks,this.chunkGroups);this.hooks.optimizeTree.callAsync(this.chunks,this.modules,t=>{if(t){return e(_(t,"Compilation.hooks.optimizeTree"))}this.hooks.afterOptimizeTree.call(this.chunks,this.modules);while(this.hooks.optimizeChunkModules.call(this.chunks,this.modules)){}this.hooks.afterOptimizeChunkModules.call(this.chunks,this.modules);const n=this.hooks.shouldRecord.call()!==false;this.hooks.reviveModules.call(this.modules,this.records);this.hooks.beforeModuleIds.call(this.modules);this.hooks.moduleIds.call(this.modules);this.hooks.optimizeModuleIds.call(this.modules);this.hooks.afterOptimizeModuleIds.call(this.modules);this.hooks.reviveChunks.call(this.chunks,this.records);this.hooks.beforeChunkIds.call(this.chunks);this.hooks.chunkIds.call(this.chunks);this.hooks.optimizeChunkIds.call(this.chunks);this.hooks.afterOptimizeChunkIds.call(this.chunks);this.sortItemsWithChunkIds();if(n){this.hooks.recordModules.call(this.modules,this.records);this.hooks.recordChunks.call(this.chunks,this.records)}this.hooks.optimizeCodeGeneration.call(this.modules);this.hooks.beforeModuleHash.call();this.createModuleHashes();this.hooks.afterModuleHash.call();this.hooks.beforeRuntimeRequirements.call();this.processRuntimeRequirements(this.entrypoints.values());this.hooks.afterRuntimeRequirements.call();this.hooks.beforeHash.call();this.createHash();this.hooks.afterHash.call();if(n){this.hooks.recordHash.call(this.records)}this.hooks.beforeModuleAssets.call();this.createModuleAssets();const r=()=>{this.hooks.additionalChunkAssets.call(this.chunks);this.summarizeDependencies();if(n){this.hooks.record.call(this,this.records)}this.hooks.additionalAssets.callAsync(t=>{if(t){return e(_(t,"Compilation.hooks.additionalAssets"))}this.hooks.optimizeChunkAssets.callAsync(this.chunks,t=>{if(t){return e(_(t,"Compilation.hooks.optimizeChunkAssets"))}this.hooks.afterOptimizeChunkAssets.call(this.chunks);this.hooks.optimizeAssets.callAsync(this.assets,t=>{if(t){return e(_(t,"Compilation.hooks.optimizeAssets"))}this.hooks.afterOptimizeAssets.call(this.assets);if(this.hooks.needAdditionalSeal.call()){this.unseal();return this.seal(e)}return this.hooks.afterSeal.callAsync(e)})})})};if(this.hooks.shouldGenerateChunkAssets.call()!==false){this.hooks.beforeChunkAssets.call();this.createChunkAssets(t=>{if(t){return e(t)}r()})}else{r()}})}reportDependencyErrorsAndWarnings(e,t){for(let n=0;n0){const a=e.getRuntimeRequirements({dependencyTemplates:i,runtimeTemplate:r,moduleGraph:n,chunkGraph:t});let u;if(a){u=new Set(a)}else if(s.isUsed()){u=new Set}else{continue}s.call(e,u);for(const t of u){const n=o.get(t);if(n!==undefined)n.call(e,u)}t.addModuleRuntimeRequirements(e,u)}}for(const e of this.chunks){const n=new Set;for(const r of t.getChunkModulesIterable(e)){const e=t.getModuleRuntimeRequirements(r);for(const t of e)n.add(t)}this.hooks.additionalChunkRuntimeRequirements.call(e,n);for(const t of n){this.hooks.runtimeRequirementInChunk.for(t).call(e,n)}t.addChunkRuntimeRequirements(e,n)}const a=new Set(Array.from(e).map(e=>e.getRuntimeChunk()));for(const e of a){const n=new Set;const r=new Set(e.groupsIterable);for(const e of r){for(const t of e.chunks){n.add(t)}for(const t of e.childrenIterable){r.add(t)}}const i=new Set;for(const e of n){const n=t.getChunkRuntimeRequirements(e);for(const e of n)i.add(e)}this.hooks.additionalTreeRuntimeRequirements.call(e,i);for(const t of i){this.hooks.runtimeRequirementInTree.for(t).call(e,i)}t.addTreeRuntimeRequirements(e,i)}}addRuntimeModule(e,t){D.setModuleGraphForModule(t,this.moduleGraph);this.modules.add(t);this._modules.set(t.identifier(),t);this.chunkGraph.connectChunkAndModule(e,t);this.chunkGraph.connectChunkAndRuntimeModule(e,t);const n=this.moduleGraph.getExportsInfo(t);n.setHasProvideInfo();n.setUsedForSideEffectsOnly();this.chunkGraph.addModuleRuntimeRequirements(t,[O.require]);this.chunkGraph.setModuleId(t,"");this.hooks.runtimeModule.call(t,e)}addChunkInGroup(e,t,n,r){if(typeof e==="string"){e={name:e}}const i=e.name;if(i){const s=this.namedChunkGroups.get(i);if(s!==undefined){s.addOptions(e);if(t){s.addOrigin(t,n,r)}return s}}const s=new h(e);if(t)s.addOrigin(t,n,r);const o=this.addChunk(i);w(s,o);this.chunkGroups.push(s);if(i){this.namedChunkGroups.set(i,s)}return s}addChunk(e){if(e){const t=this.namedChunks.get(e);if(t!==undefined){return t}}const t=new d(e);this.chunks.add(t);p.setChunkGraphForChunk(t,this.chunkGraph);if(e){this.namedChunks.set(e,t)}return t}assignDepth(e){const t=this.moduleGraph;const n=new Set([e]);let r;t.setDepth(e,0);const i=e=>{if(!t.setDepthIfLower(e,r))return;n.add(e)};const s=e=>{const t=this.moduleGraph.getModule(e);if(t){i(t)}};const o=e=>{if(e.dependencies){Y(e.dependencies,s)}if(e.blocks){Y(e.blocks,o)}};for(e of n){n.delete(e);r=t.getDepth(e)+1;o(e)}}getDependencyReference(e){const t=e.getReference(this.moduleGraph);if(!t)return null;return this.hooks.dependencyReference.call(t,e)}processDependenciesBlocksForChunkGroups(e){const t=this.moduleGraph;const n=new Map;const r=new Set;const i=new Map;const s=e=>{const t=this.getDependencyReference(e);if(!t){return}const n=t.module;if(!n){return}if(t.weak){return}c.add(n)};const o=e=>{l.push(e);u.push(e)};let a;let u;let c;let l;for(const e of this.modules){u=[e];while(u.length>0){a=u.pop();c=new Set;l=[];if(a.dependencies){Y(a.dependencies,s)}if(a.blocks){Y(a.blocks,o)}const e={modules:Array.from(c),blocks:l};i.set(a,e)}}const d=this.chunkGraph;const p=new Map;for(const t of e){p.set(t,{preOrderIndex:0,postOrderIndex:0})}let h=0;let m=0;const g=new Map;const y=new Set;const v=0;const b=1;const w=2;const _=3;const S=(e,t)=>{for(const n of t.chunks){for(const r of d.getChunkEntryModulesIterable(n)){e.push({action:b,block:r,module:r,chunk:n,chunkGroup:t})}}return e};let k=e.reduce(S,[]).reverse();let C=[];let D;let A;let x;const M=e=>{let t=g.get(e);if(t===undefined){t=this.namedChunkGroups.get(e.chunkName);if(t&&t.isInitial()){this.errors.push(new f(e.chunkName,D,e.loc));t=x}else{t=this.addChunkInGroup(e.groupOptions||e.chunkName,D,e.loc,e.request);p.set(t,{preOrderIndex:0,postOrderIndex:0});g.set(e,t);r.add(t)}}else{t.addOptions(e.groupOptions);t.addOrigin(D,e.loc,e.request)}let i=n.get(x);if(!i)n.set(x,i=[]);i.push({block:e,chunkGroup:t,couldBeFiltered:true});C.push({action:w,block:e,module:D,chunk:t.chunks[0],chunkGroup:t})};while(k.length){while(k.length){const e=k.pop();D=e.module;a=e.block;A=e.chunk;x=e.chunkGroup;switch(e.action){case v:{if(!d.connectChunkAndModule(A,D)){break}}case b:{if(x!==undefined){const e=x.getModulePreOrderIndex(D);if(e===undefined){x.setModulePreOrderIndex(D,p.get(x).preOrderIndex++)}}if(t.setPreOrderIndexIfUnset(D,h)){h++}k.push({action:_,block:a,module:D,chunk:A,chunkGroup:x})}case w:{const e=i.get(a);for(let t=e.modules.length-1;t>=0;t--){const n=e.modules[t];if(d.isModuleInChunk(n,A)){continue}k.push({action:v,block:n,module:n,chunk:A,chunkGroup:x})}Y(e.blocks,M);if(e.blocks.length>0&&D!==a){y.add(a)}break}case _:{if(x!==undefined){const e=x.getModulePostOrderIndex(D);if(e===undefined){x.setModulePostOrderIndex(D,p.get(x).postOrderIndex++)}}if(t.setPostOrderIndexIfUnset(D,m)){m++}break}}}const e=k;k=C.reverse();C=e}let T;const O=new Map;const F=new j(e);for(const t of e){O.set(t,{minAvailableModules:undefined,availableModulesToBeMerged:[new Set]})}const I=(e,t)=>{for(const n of e.chunks){for(const e of d.getChunkModulesIterable(n)){if(!t.has(e))return false}}return true};const R=e=>{const t=e.chunkGroup;if(!e.couldBeFiltered)return true;if(y.has(e.block))return true;if(I(t,T)){return false}e.couldBeFiltered=false;return true};while(F.length){x=F.dequeue();const e=O.get(x);const t=e.availableModulesToBeMerged;let r=e.minAvailableModules;t.sort(J);let i=false;for(const n of t){if(r===undefined){r=new Set(n);e.minAvailableModules=r;i=true}else{for(const e of r){if(!n.has(e)){r.delete(e);i=true}}}}t.length=0;if(!i)continue;const s=n.get(x);if(!s)continue;if(s.length===0)continue;T=new Set(r);for(const e of x.chunks){for(const t of d.getChunkModulesIterable(e)){T.add(t)}}const o=new Set;for(let e=0;e{if(!t.module){return}if(t.module.removeReason(e,t)){for(const e of n.getModuleChunksIterable(t.module)){this.patchChunksAfterReasonRemoval(t.module,e)}}};if(t.blocks){Y(t.blocks,t=>this.removeReasonsOfDependencyBlock(e,t))}if(t.dependencies){Y(t.dependencies,r)}}patchChunksAfterReasonRemoval(e,t){if(!e.hasReasons(this.moduleGraph)){this.removeReasonsOfDependencyBlock(e,e)}if(!e.hasReasonForChunk(t,this.moduleGraph,this.chunkGraph)){if(this.chunkGraph.isModuleInChunk(e,t)){this.chunkGraph.disconnectChunkAndModule(t,e);this.removeChunkFromDependencies(e,t)}}}removeChunkFromDependencies(e,t){const n=e=>{if(!e.module){return}this.patchChunksAfterReasonRemoval(e.module,t)};const r=e.blocks;for(let t=0;t`${e.message}`,H);const t=G(e=>e.module&&e.module.identifier()||"",H);const n=G(e=>e.loc,B);const r=U(t,n,e);this.errors.sort(r);this.warnings.sort(r);this.children.sort(X)}summarizeDependencies(){for(let e=0;e{const n=e.hasRuntime();const r=t.hasRuntime();if(n&&!r)return 1;if(!n&&r)return-1;return K(e,t)});for(let a=0;a{let o;try{e.files.clear();const n=e.hasRuntime()?this.mainTemplate:this.chunkTemplate;o=n.getRenderManifest({chunk:e,hash:this.hash,fullHash:this.fullHash,outputOptions:t,moduleTemplates:this.moduleTemplates,dependencyTemplates:this.dependencyTemplates,chunkGraph:this.chunkGraph,moduleGraph:this.moduleGraph,runtimeTemplate:this.runtimeTemplate})}catch(t){this.errors.push(new m(e,"",t));return s()}r.forEach(o,(t,r)=>{const s=t.identifier;const o=`${this.compilerPath}/asset/${s}`;const a=t.hash;this.cache.get(o,a,(s,u)=>{let c,f;try{c=t.filenameTemplate;f=this.getPath(c,t.pathOptions);if(s){this.errors.push(new m(e,f||c,s));return r()}let d=u;const p=i.get(f);if(p!==undefined){if(p.hash!==a){return r(new R(`Conflict: Multiple chunks emit assets to the same filename ${f}`+` (chunks ${p.chunk.id} and ${e.id})`))}else{d=p.source}}else if(!d){d=t.render();if(!(d instanceof l)){const e=n.get(d);if(e){d=e}else{const e=new l(d);n.set(d,e);d=e}}}if(this.assets[f]&&this.assets[f]!==d){return r(new R(`Conflict: Rendering chunk ${e.id} `+`emits to the filename ${f} `+"which was already written to by something else "+"(but not another chunk)"))}this.assets[f]=d;e.files.add(f);this.hooks.chunkAsset.call(e,f);i.set(f,{hash:a,source:d,chunk:e});if(d!==u){this.cache.store(o,a,d,r)}else{r()}}catch(s){this.errors.push(new m(e,f||c,s));return r()}})},s)},e)}getPath(e,t){if(!t.hash){t={hash:this.hash,...t}}return this.mainTemplate.getAssetPath(e,t)}createChildCompiler(e,t,n){const r=this.childrenCounters[e]||0;this.childrenCounters[e]=r+1;return this.compiler.createChildCompiler(this,e,r,t,n)}checkConstraints(){const e=this.chunkGraph;const t=new Set;for(const n of this.modules){if(n.type==="runtime")continue;const r=e.getModuleId(n);if(r===null)continue;if(t.has(r)){throw new Error(`checkConstraints: duplicate module id ${r}`)}t.add(r)}for(const t of this.chunks){for(const n of e.getChunkModulesIterable(t)){if(!this.modules.has(n)){throw new Error("checkConstraints: module in chunk but not in compilation "+` ${t.debugId} ${n.debugId}`)}}for(const n of e.getChunkEntryModulesIterable(t)){if(!this.modules.has(n)){throw new Error("checkConstraints: entry module in chunk but not in compilation "+` ${t.debugId} ${n.debugId}`)}}}for(const e of this.chunkGroups){e.checkConstraints()}}}e.exports=Compilation},3081:function(e,t,n){"use strict";const r=n(6202);const i=n(7132);const s=n(7737);const o=n(9983);class WebAssemblyImportDependency extends o{constructor(e,t,n,r){super(e);this.name=t;this.description=n;this.onlyDirectImport=r}getReference(e){const t=e.getModule(this);if(!t)return null;return new s(()=>e.getModule(this),[[this.name]],false)}getErrors(e){const t=e.getModule(this);if(this.onlyDirectImport&&t&&!t.type.startsWith("webassembly")){return[new i(`Import "${this.name}" from "${this.request}" with ${this.onlyDirectImport} can only be used for direct wasm to wasm dependencies`)]}}get type(){return"wasm import"}serialize(e){const{write:t}=e;t(this.name);t(this.description);t(this.onlyDirectImport);super.serialize(e)}deserialize(e){const{read:t}=e;this.name=t();this.description=t();this.onlyDirectImport=t();super.deserialize(e)}}r(WebAssemblyImportDependency,"webpack/lib/dependencies/WebAssemblyImportDependency");e.exports=WebAssemblyImportDependency},3082:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:true});t.default=void 0;var r=_interopRequireDefault(n(1174));var i=_interopRequireWildcard(n(683));var s=_interopRequireWildcard(n(1779));function _interopRequireWildcard(e){if(e&&e.__esModule){return e}else{var t={};if(e!=null){for(var n in e){if(Object.prototype.hasOwnProperty.call(e,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,n):{};if(r.get||r.set){Object.defineProperty(t,n,r)}else{t[n]=e[n]}}}}t.default=e;return t}}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var o=-2147483648;var a=2147483647;var u=4294967295;function signedBitCount(e){return i.highOrder(i.getSign(e)^1,e)+2}function unsignedBitCount(e){var t=i.highOrder(1,e)+1;return t?t:1}function encodeBufferCommon(e,t){var n;var r;if(t){n=i.getSign(e);r=signedBitCount(e)}else{n=0;r=unsignedBitCount(e)}var o=Math.ceil(r/7);var a=s.alloc(o);for(var u=0;u=128){n++}n++;if(t+n>e.length){}return n}function decodeBufferCommon(e,t,n){t=t===undefined?0:t;var r=encodedLength(e,t);var o=r*7;var a=Math.ceil(o/8);var u=s.alloc(a);var c=0;while(r>0){i.inject(u,c,7,e[t]);c+=7;t++;r--}var l;var f;if(n){var d=u[a-1];var p=c%8;if(p!==0){var h=32-p;d=u[a-1]=d<>h&255}l=d>>7;f=l*255}else{l=0;f=0}while(a>1&&u[a-1]===f&&(!n||u[a-2]>>7===l)){a--}u=s.resize(u,a);return{value:u,nextIndex:t}}function encodeIntBuffer(e){return encodeBufferCommon(e,true)}function decodeIntBuffer(e,t){return decodeBufferCommon(e,t,true)}function encodeInt32(e){var t=s.alloc(4);t.writeInt32LE(e,0);var n=encodeIntBuffer(t);s.free(t);return n}function decodeInt32(e,t){var n=decodeIntBuffer(e,t);var r=s.readInt(n.value);var i=r.value;s.free(n.value);if(ia){throw new Error("integer too large")}return{value:i,nextIndex:n.nextIndex}}function encodeInt64(e){var t=s.alloc(8);s.writeInt64(e,t);var n=encodeIntBuffer(t);s.free(t);return n}function decodeInt64(e,t){var n=decodeIntBuffer(e,t);var i=r.default.fromBytesLE(n.value,false);s.free(n.value);return{value:i,nextIndex:n.nextIndex,lossy:false}}function encodeUIntBuffer(e){return encodeBufferCommon(e,false)}function decodeUIntBuffer(e,t){return decodeBufferCommon(e,t,false)}function encodeUInt32(e){var t=s.alloc(4);t.writeUInt32LE(e,0);var n=encodeUIntBuffer(t);s.free(t);return n}function decodeUInt32(e,t){var n=decodeUIntBuffer(e,t);var r=s.readUInt(n.value);var i=r.value;s.free(n.value);if(i>u){throw new Error("integer too large")}return{value:i,nextIndex:n.nextIndex}}function encodeUInt64(e){var t=s.alloc(8);s.writeUInt64(e,t);var n=encodeUIntBuffer(t);s.free(t);return n}function decodeUInt64(e,t){var n=decodeUIntBuffer(e,t);var i=r.default.fromBytesLE(n.value,true);s.free(n.value);return{value:i,nextIndex:n.nextIndex,lossy:false}}var c={decodeInt32:decodeInt32,decodeInt64:decodeInt64,decodeIntBuffer:decodeIntBuffer,decodeUInt32:decodeUInt32,decodeUInt64:decodeUInt64,decodeUIntBuffer:decodeUIntBuffer,encodeInt32:encodeInt32,encodeInt64:encodeInt64,encodeIntBuffer:encodeIntBuffer,encodeUInt32:encodeUInt32,encodeUInt64:encodeUInt64,encodeUIntBuffer:encodeUIntBuffer};t.default=c},3085:function(e,t,n){"use strict";const r=n(4916);const i=n(1913);const{evaluateToString:s,toConstantDependency:o}=n(2912);class RequireIncludePlugin{apply(e){e.hooks.compilation.tap("RequireIncludePlugin",(e,{normalModuleFactory:t})=>{e.dependencyFactories.set(r,t);e.dependencyTemplates.set(r,new r.Template);const n=(e,t)=>{if(t.requireInclude!==undefined&&!t.requireInclude)return;(new i).apply(e);e.hooks.evaluateTypeof.for("require.include").tap("RequireIncludePlugin",s("function"));e.hooks.typeof.for("require.include").tap("RequireIncludePlugin",o(e,JSON.stringify("function")))};t.hooks.parser.for("javascript/auto").tap("RequireIncludePlugin",n);t.hooks.parser.for("javascript/dynamic").tap("RequireIncludePlugin",n)})}}e.exports=RequireIncludePlugin},3101:function(e,t,n){"use strict";e.exports=n(9945)},3104:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:true});t.overrideBytesInBuffer=overrideBytesInBuffer;t.makeBuffer=makeBuffer;t.fromHexdump=fromHexdump;function _toConsumableArray(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t{e.dependencyFactories.set(r,t)});e.hooks.make.tapAsync("PrefetchPlugin",(t,n)=>{t.addModuleChain(this.context||e.context,new r(this.request),e=>{n(e)})})}}e.exports=PrefetchPlugin},3129:function(e){e.exports=require("child_process")},3148:function(e){e.exports={name:"cacache",version:"11.3.2","cache-version":{content:"2",index:"5"},description:"Fast, fault-tolerant, cross-platform, disk-based, data-agnostic, content-addressable cache.",main:"index.js",files:["*.js","lib","locales"],scripts:{benchmarks:"node test/benchmarks",prerelease:"npm t",postrelease:"npm publish && git push --follow-tags",pretest:"standard",release:"standard-version -s",test:"cross-env CACACHE_UPDATE_LOCALE_FILES=true tap --coverage --nyc-arg=--all -J test/*.js","test-docker":'docker run -it --rm --name pacotest -v "$PWD":/tmp -w /tmp node:latest npm test',"update-coc":"weallbehave -o . && git add CODE_OF_CONDUCT.md && git commit -m 'docs(coc): updated CODE_OF_CONDUCT.md'","update-contrib":"weallcontribute -o . && git add CONTRIBUTING.md && git commit -m 'docs(contributing): updated CONTRIBUTING.md'"},repository:"https://github.com/zkat/cacache",keywords:["cache","caching","content-addressable","sri","sri hash","subresource integrity","cache","storage","store","file store","filesystem","disk cache","disk storage"],author:{name:"Kat Marchán",email:"kzm@sykosomatic.org",twitter:"maybekatz"},contributors:[{name:"Charlotte Spencer",email:"charlottelaspencer@gmail.com",twitter:"charlotteis"},{name:"Rebecca Turner",email:"me@re-becca.org",twitter:"ReBeccaOrg"}],license:"ISC",dependencies:{bluebird:"^3.5.3",chownr:"^1.1.1","figgy-pudding":"^3.5.1",glob:"^7.1.3","graceful-fs":"^4.1.15","lru-cache":"^5.1.1",mississippi:"^3.0.0",mkdirp:"^0.5.1","move-concurrently":"^1.0.1","promise-inflight":"^1.0.1",rimraf:"^2.6.2",ssri:"^6.0.1","unique-filename":"^1.1.1",y18n:"^4.0.0"},devDependencies:{benchmark:"^2.1.4",chalk:"^2.3.2","cross-env":"^5.1.4","require-inject":"^1.4.2",standard:"^11.0.1","standard-version":"^4.4.0",tacks:"^1.2.7",tap:"^12.1.1",weallbehave:"^1.2.0",weallcontribute:"^1.0.8"},config:{nyc:{exclude:["node_modules/**","test/**"]}}}},3158:function(e,t,n){"use strict";const r=n(6202);const i=n(9983);const s=n(791);class ModuleHotDeclineDependency extends i{constructor(e,t){super(e);this.range=t;this.weak=true}get type(){return"module.hot.decline"}serialize(e){const{write:t}=e;t(this.range);t(this.weak);super.serialize(e)}deserialize(e){const{read:t}=e;this.range=t();this.weak=t();super.deserialize(e)}}r(ModuleHotDeclineDependency,"webpack/lib/dependencies/ModuleHotDeclineDependency");ModuleHotDeclineDependency.Template=s;e.exports=ModuleHotDeclineDependency},3164:function(e,t){t.GREATEST_LOWER_BOUND=1;t.LEAST_UPPER_BOUND=2;function recursiveSearch(e,n,r,i,s,o){var a=Math.floor((n-e)/2)+e;var u=s(r,i[a],true);if(u===0){return a}else if(u>0){if(n-a>1){return recursiveSearch(a,n,r,i,s,o)}if(o==t.LEAST_UPPER_BOUND){return n1){return recursiveSearch(e,a,r,i,s,o)}if(o==t.LEAST_UPPER_BOUND){return a}else{return e<0?-1:e}}}t.search=function search(e,n,r,i){if(n.length===0){return-1}var s=recursiveSearch(-1,n.length,e,n,r,i||t.GREATEST_LOWER_BOUND);if(s<0){return-1}while(s-1>=0){if(r(n[s],n[s-1],true)!==0){break}--s}return s}},3197:function(e,t,n){"use strict";const r=n(6298);class HarmonyTopLevelThisParserPlugin{apply(e){e.hooks.expression.for("this").tap("HarmonyTopLevelThisParserPlugin",t=>{if(!e.scope.topLevelScope)return;const n=e.state.module;const i=!!(n.buildMeta&&n.buildMeta.exportsType);if(i){const n=new r("undefined",t.range,null);n.loc=t.loc;e.state.current.addDependency(n)}})}}e.exports=HarmonyTopLevelThisParserPlugin},3207:function(e){"use strict";class HookCodeFactory{constructor(e){this.config=e;this.options=undefined;this._args=undefined}create(e){this.init(e);let t;switch(this.options.type){case"sync":t=new Function(this.args(),'"use strict";\n'+this.header()+this.content({onError:e=>`throw ${e};\n`,onResult:e=>`return ${e};\n`,onDone:()=>"",rethrowIfPossible:true}));break;case"async":t=new Function(this.args({after:"_callback"}),'"use strict";\n'+this.header()+this.content({onError:e=>`_callback(${e});\n`,onResult:e=>`_callback(null, ${e});\n`,onDone:()=>"_callback();\n"}));break;case"promise":let e="";e+='"use strict";\n';e+="return new Promise((_resolve, _reject) => {\n";e+="var _sync = true;\n";e+=this.header();e+=this.content({onError:e=>{let t="";t+="if(_sync)\n";t+=`_resolve(Promise.resolve().then(() => { throw ${e}; }));\n`;t+="else\n";t+=`_reject(${e});\n`;return t},onResult:e=>`_resolve(${e});\n`,onDone:()=>"_resolve();\n"});e+="_sync = false;\n";e+="});\n";t=new Function(this.args(),e);break}this.deinit();return t}setup(e,t){e._x=t.taps.map(e=>e.fn)}init(e){this.options=e;this._args=e.args.slice()}deinit(){this.options=undefined;this._args=undefined}header(){let e="";if(this.needContext()){e+="var _context = {};\n"}else{e+="var _context;\n"}e+="var _x = this._x;\n";if(this.options.interceptors.length>0){e+="var _taps = this.taps;\n";e+="var _interceptors = this.interceptors;\n"}for(let t=0;t {\n`;else o+=`_err${e} => {\n`;o+=`if(_err${e}) {\n`;o+=t(`_err${e}`);o+="} else {\n";if(n){o+=n(`_result${e}`)}if(r){o+=r()}o+="}\n";o+="}";s+=`_fn${e}(${this.args({before:a.context?"_context":undefined,after:o})});\n`;break;case"promise":s+=`var _hasResult${e} = false;\n`;s+=`var _promise${e} = _fn${e}(${this.args({before:a.context?"_context":undefined})});\n`;s+=`if (!_promise${e} || !_promise${e}.then)\n`;s+=` throw new Error('Tap function (tapPromise) did not return promise (returned ' + _promise${e} + ')');\n`;s+=`_promise${e}.then(_result${e} => {\n`;s+=`_hasResult${e} = true;\n`;if(n){s+=n(`_result${e}`)}if(r){s+=r()}s+=`}, _err${e} => {\n`;s+=`if(_hasResult${e}) throw _err${e};\n`;s+=t(`_err${e}`);s+="});\n";break}return s}callTapsSeries({onError:e,onResult:t,onDone:n,rethrowIfPossible:r}){if(this.options.taps.length===0)return n();const i=this.options.taps.findIndex(e=>e.type!=="sync");const s=o=>{if(o>=this.options.taps.length){return n()}const a=()=>s(o+1);const u=e=>{if(e)return"";return n()};return this.callTap(o,{onError:t=>e(o,t,a,u),onResult:t&&(e=>{return t(o,e,a,u)}),onDone:!t&&(()=>{return a()}),rethrowIfPossible:r&&(i<0||oe.type==="sync");let i="";if(!r){i+="var _looper = () => {\n";i+="var _loopAsync = false;\n"}i+="var _loop;\n";i+="do {\n";i+="_loop = false;\n";for(let e=0;e{let s="";s+=`if(${t} !== undefined) {\n`;s+="_loop = true;\n";if(!r)s+="if(_loopAsync) _looper();\n";s+=i(true);s+=`} else {\n`;s+=n();s+=`}\n`;return s},onDone:t&&(()=>{let e="";e+="if(!_loop) {\n";e+=t();e+="}\n";return e}),rethrowIfPossible:n&&r});i+="} while(_loop);\n";if(!r){i+="_loopAsync = true;\n";i+="};\n";i+="_looper();\n"}return i}callTapsParallel({onError:e,onResult:t,onDone:n,rethrowIfPossible:r,onTap:i=((e,t)=>t())}){if(this.options.taps.length<=1){return this.callTapsSeries({onError:e,onResult:t,onDone:n,rethrowIfPossible:r})}let s="";s+="do {\n";s+=`var _counter = ${this.options.taps.length};\n`;if(n){s+="var _done = () => {\n";s+=n();s+="};\n"}for(let o=0;o{if(n)return"if(--_counter === 0) _done();\n";else return"--_counter;"};const u=e=>{if(e||!n)return"_counter = 0;\n";else return"_counter = 0;\n_done();\n"};s+="if(_counter <= 0) break;\n";s+=i(o,()=>this.callTap(o,{onError:t=>{let n="";n+="if(_counter > 0) {\n";n+=e(o,t,a,u);n+="}\n";return n},onResult:t&&(e=>{let n="";n+="if(_counter > 0) {\n";n+=t(o,e,a,u);n+="}\n";return n}),onDone:!t&&(()=>{return a()}),rethrowIfPossible:r}),a,u)}s+="} while(false);\n";return s}args({before:e,after:t}={}){let n=this._args;if(e)n=[e].concat(n);if(t)n=n.concat(t);if(n.length===0){return""}else{return n.join(", ")}}getTapFn(e){return`_x[${e}]`}getTap(e){return`_taps[${e}]`}getInterceptor(e){return`_interceptors[${e}]`}}e.exports=HookCodeFactory},3215:function(e,t,n){var r=n(4551);var i=n(3835);e.exports=expandTop;var s="\0SLASH"+Math.random()+"\0";var o="\0OPEN"+Math.random()+"\0";var a="\0CLOSE"+Math.random()+"\0";var u="\0COMMA"+Math.random()+"\0";var c="\0PERIOD"+Math.random()+"\0";function numeric(e){return parseInt(e,10)==e?parseInt(e,10):e.charCodeAt(0)}function escapeBraces(e){return e.split("\\\\").join(s).split("\\{").join(o).split("\\}").join(a).split("\\,").join(u).split("\\.").join(c)}function unescapeBraces(e){return e.split(s).join("\\").split(o).join("{").split(a).join("}").split(u).join(",").split(c).join(".")}function parseCommaParts(e){if(!e)return[""];var t=[];var n=i("{","}",e);if(!n)return e.split(",");var r=n.pre;var s=n.body;var o=n.post;var a=r.split(",");a[a.length-1]+="{"+s+"}";var u=parseCommaParts(o);if(o.length){a[a.length-1]+=u.shift();a.push.apply(a,u)}t.push.apply(t,a);return t}function expandTop(e){if(!e)return[];if(e.substr(0,2)==="{}"){e="\\{\\}"+e.substr(2)}return expand(escapeBraces(e),true).map(unescapeBraces)}function identity(e){return e}function embrace(e){return"{"+e+"}"}function isPadded(e){return/^-?0\d/.test(e)}function lte(e,t){return e<=t}function gte(e,t){return e>=t}function expand(e,t){var n=[];var s=i("{","}",e);if(!s||/\$$/.test(s.pre))return[e];var o=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(s.body);var u=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(s.body);var c=o||u;var l=s.body.indexOf(",")>=0;if(!c&&!l){if(s.post.match(/,.*\}/)){e=s.pre+"{"+s.body+a+s.post;return expand(e)}return[e]}var f;if(c){f=s.body.split(/\.\./)}else{f=parseCommaParts(s.body);if(f.length===1){f=expand(f[0],false).map(embrace);if(f.length===1){var d=s.post.length?expand(s.post,false):[""];return d.map(function(e){return s.pre+f[0]+e})}}}var p=s.pre;var d=s.post.length?expand(s.post,false):[""];var h;if(c){var m=numeric(f[0]);var g=numeric(f[1]);var y=Math.max(f[0].length,f[1].length);var v=f.length==3?Math.abs(numeric(f[2])):1;var b=lte;var w=g0){var C=new Array(k+1).join("0");if(_<0)S="-"+C+S.slice(1);else S=C+S}}}h.push(S)}}else{h=r(f,function(e){return expand(e,false)})}for(var D=0;D{if(!e.options){return e.loader}if(typeof e.options==="string"){return e.loader+"?"+e.options}if(typeof e.options!=="object"){throw new Error("loader options must be string or object")}if(e.ident){return e.loader+"??"+e.ident}return e.loader+"?"+JSON.stringify(e.options)};const _=(e,t)=>{let n="";for(const t of e){n+=E(t)+"!"}return n+t};const S=e=>{const t=e.indexOf("?");if(t>=0){const n=e.substr(0,t);const r=e.substr(t+1);return{loader:n,options:r}}else{return{loader:e,options:undefined}}};const k=(e,t)=>{return n=>{if(--e===0){return t(n)}if(n&&e>0){e=NaN;return t(n)}}};const C=e=>`NormalModuleFactory.${e} is no longer a waterfall hook, but a bailing hook instead. `+"Do not return the passed object, but modify it instead. "+"Returning false will ignore the request and results in no module created.";const D=new WeakMap;const A=new m([new h("test","resource"),new h("include","resource"),new h("exclude","resource",true),new h("resource"),new h("resourceQuery"),new h("realResource"),new h("issuer"),new h("compiler"),new p("type"),new p("sideEffects"),new p("parser"),new p("resolve"),new g]);class NormalModuleFactory extends l{constructor({context:e,fs:t,resolverFactory:n,options:r}){super();this.hooks=Object.freeze({resolve:new i(["resolveData"]),factorize:new i(["resolveData"]),beforeResolve:new i(["resolveData"]),afterResolve:new i(["resolveData"]),createModule:new o(["resolveData"]),module:new s(["module","createData","resolveData"]),createParser:new u(()=>new o(["parserOptions"])),parser:new u(()=>new a(["parser","parserOptions"])),createGenerator:new u(()=>new o(["generatorOptions"])),generator:new u(()=>new a(["generator","generatorOptions"]))});this.resolverFactory=n;this.ruleSet=A.compile([{rules:r.defaultRules},{rules:r.rules}]);this.unsafeCache=!!r.unsafeCache;this.cachePredicate=typeof r.unsafeCache==="function"?r.unsafeCache:()=>true;this.context=e||"";this.fs=t;this.parserCache=Object.create(null);this.generatorCache=Object.create(null);this.hooks.factorize.tapAsync({name:"NormalModuleFactory",stage:100},(e,t)=>{this.hooks.resolve.callAsync(e,(n,r)=>{if(n)return t(n);if(r===false)return t();if(r instanceof c)return t(null,r);if(typeof r==="object")throw new Error(C("resolve")+" Returning a Module object will result in this module used as result.");this.hooks.afterResolve.callAsync(e,(n,r)=>{if(n)return t(n);if(typeof r==="object")throw new Error(C("afterResolve"));if(r===false)return t();const i=e.createData;let s=this.hooks.createModule.call(i);if(!s){if(!e.request){return t(new Error("Empty dependency (no request)"))}s=new f(i)}s=this.hooks.module.call(s,i,e);return t(null,s)})})});this.hooks.resolve.tapAsync({name:"NormalModuleFactory",stage:100},(e,t)=>{const{contextInfo:n,context:r,request:i,resolveOptions:s,fileDependencies:o,missingDependencies:a,contextDependencies:u}=e;const c=this.getResolver("loader");const l=this.getResolver("normal",s);let f=undefined;let p=i;const h=w.exec(i);if(h){f=h[1];if(f.charCodeAt(0)===46){const e=f.charCodeAt(1);if(e===47||e===46&&f.charCodeAt(2)===47){f=v(this.fs,r,f)}}p=i.substr(h[0].length)}const m=p.charCodeAt(0);const g=p.charCodeAt(1);const b=m===45&&g===33;const E=b||m===33;const C=m===33&&g===33;const D=p.slice(b||C?2:E?1:0).split(/!+/);const A=D.pop();const x=D.map(S);const M={fileDependencies:o,missing:a,missingDependencies:a,contextDependencies:u};let T;let O;let F;const I=k(2,r=>{if(r)return t(r);try{for(const e of F){if(typeof e.options==="string"&&e.options[0]==="?"){const t=e.options.substr(1);if(t==="[[missing ident]]"){throw new Error("No ident is provided by referenced loader. "+"When using a function for Rule.use in config you need to "+"provide an 'ident' property for referenced loader options.")}e.options=this.ruleSet.references.get(t);if(e.options===undefined){throw new Error("Invalid ident is provided by referenced loader")}e.ident=t}}}catch(e){return t(e)}if(T===false){return t(null,new d("/* (ignored) */",`ignored|${i}`,`${i} (ignored)`))}const s=(f!==undefined?`${f}!=!`:"")+_(F,T);let o=f!==undefined?f:T;let a="";const u=o.indexOf("?");if(u>=0){a=o.substr(u);o=o.substr(0,u)}const l=this.ruleSet.exec({resource:o,realResource:f!==undefined?T.replace(/\?.*/,""):o,resourceQuery:a,issuer:n.issuer,compiler:n.compiler});const p={};const h=[];const m=[];const g=[];for(const e of l){if(e.type==="use"){if(!E&&!C){m.push(e.value)}}else if(e.type==="use-post"){if(!C){h.push(e.value)}}else if(e.type==="use-pre"){if(!b&&!C){g.push(e.value)}}else if(typeof e.value==="object"&&e.value!==null&&typeof p[e.type]==="object"&&p[e.type]!==null){p[e.type]=y(p[e.type],e.value)}else{p[e.type]=e.value}}let v,w,S;const D=k(3,n=>{if(n){return t(n)}const r=v;if(f===undefined){for(const e of F)r.push(e);for(const e of w)r.push(e)}else{for(const e of w)r.push(e);for(const e of F)r.push(e)}for(const e of S)r.push(e);const o=p.type;const a=p.resolve;Object.assign(e.createData,{request:_(r,T),userRequest:s,rawRequest:i,loaders:r,resource:T,matchResource:f,resourceResolveData:O,settings:p,type:o,parser:this.getParser(o,p.parser),generator:this.getGenerator(o,p.generator),resolveOptions:a});t()});this.resolveRequestArray(n,this.context,h,c,M,(e,t)=>{v=t;D(e)});this.resolveRequestArray(n,this.context,m,c,M,(e,t)=>{w=t;D(e)});this.resolveRequestArray(n,this.context,g,c,M,(e,t)=>{S=t;D(e)})});this.resolveRequestArray(n,r,x,c,M,(e,t)=>{if(e)return I(e);F=t;I()});if(A===""||A.charCodeAt(0)===63){T=A;return I()}l.resolve(n,r,A,M,(e,t,n)=>{if(e)return I(e);if(t){o.add(t)}T=t;O=n;I()})})}create(e,t){const n=e.dependencies;if(this.unsafeCache){const e=D.get(n[0]);if(e)return t(null,e)}const r=e.context||this.context;const i=e.resolveOptions||b;const s=n[0];const o=s.request;const a=e.contextInfo;const u=new Set;const c=new Set;const l=new Set;const f={contextInfo:a,resolveOptions:i,context:r,request:o,dependencies:n,fileDependencies:u,missingDependencies:c,contextDependencies:l,createData:{}};this.hooks.beforeResolve.callAsync(f,(e,r)=>{if(e)return t(e);if(r===false)return t();if(typeof r==="object")throw new Error(C("beforeResolve"));this.hooks.factorize.callAsync(f,(e,r)=>{if(e)return t(e);const i={module:r,fileDependencies:u,missingDependencies:c,contextDependencies:l};if(this.unsafeCache&&r&&this.cachePredicate(r)){for(const e of n){D.set(e,i)}}t(null,i)})})}resolveRequestArray(e,t,n,i,s,o){if(n.length===0)return o(null,n);r.map(n,(n,r)=>{i.resolve(e,t,n.loader,s,(o,a)=>{if(o&&/^[^/]*$/.test(n.loader)&&!/-loader$/.test(n.loader)){return i.resolve(e,t,n.loader+"-loader",s,e=>{if(!e){o.message=o.message+"\n"+"BREAKING CHANGE: It's no longer allowed to omit the '-loader' suffix when using loaders.\n"+` You need to specify '${n.loader}-loader' instead of '${n.loader}',\n`+" see https://webpack.js.org/migrate/3/#automatic-loader-module-name-extension-removed"}r(o)})}if(o)return r(o);const u=S(a);const c={loader:u.loader,options:n.options===undefined?u.options:n.options,ident:n.options===undefined?undefined:n.ident};if(c.loader){s.fileDependencies.add(c.loader)}return r(null,c)})},o)}getParser(e,t){let n=e;if(t){if(t.ident){n=`${e}|${t.ident}`}else{n=JSON.stringify([e,t])}}if(n in this.parserCache){return this.parserCache[n]}return this.parserCache[n]=this.createParser(e,t)}createParser(e,t={}){const n=this.hooks.createParser.for(e).call(t);if(!n){throw new Error(`No parser registered for ${e}`)}this.hooks.parser.for(e).call(n,t);return n}getGenerator(e,t){let n=e;if(t){if(t.ident){n=`${e}|${t.ident}`}else{n=JSON.stringify([e,t])}}if(n in this.generatorCache){return this.generatorCache[n]}return this.generatorCache[n]=this.createGenerator(e,t)}createGenerator(e,t={}){const n=this.hooks.createGenerator.for(e).call(t);if(!n){throw new Error(`No generator registered for ${e}`)}this.hooks.generator.for(e).call(n,t);return n}getResolver(e,t){return this.resolverFactory.get(e,t||b)}}e.exports=NormalModuleFactory},3236:function(e,t,n){"use strict";const r=n(6150);const i=n(8159);const s=n(9851);class CreateFakeNamespaceObjectRuntimeModule extends s{constructor(){super("create fake namespace object")}generate(){const e=r.createFakeNamespaceObject;return i.asString(["// create a fake namespace object","// mode & 1: value is a module id, require it","// mode & 2: merge all properties of value into the ns","// mode & 4: return value when already ns object","// mode & 8|1: behave like require",`${e} = function(value, mode) {`,i.indent([`if(mode & 1) value = this(value);`,`if(mode & 8) return value;`,"if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;","var ns = Object.create(null);",`${r.makeNamespaceObject}(ns);`,"Object.defineProperty(ns, 'default', { enumerable: true, value: value });","if(mode & 2 && typeof value != 'string') for(var key in value) "+`${r.definePropertyGetter}(ns, key, function(key) { `+"return value[key]; "+"}.bind(null, key));","return ns;"]),"};"])}}e.exports=CreateFakeNamespaceObjectRuntimeModule},3261:function(e,t,n){"use strict";const{ConcatSource:r}=n(2991);const i=n(2352);const s=n(8159);class WebWorkerChunkTemplatePlugin{constructor(e){this.compilation=e}apply(e){e.hooks.render.tap("WebWorkerChunkTemplatePlugin",(t,n,o)=>{const{chunk:a,chunkGraph:u}=o;const c=a instanceof i?a:null;const l=e.outputOptions.globalObject;const f=new r;const d=u.getChunkRuntimeModulesInOrder(a);const p=d.length>0&&s.renderChunkRuntimeModules(d,o);if(c){const n=e.outputOptions.hotUpdateFunction;f.add(`${l}[${JSON.stringify(n)}](`);f.add(t);if(p){f.add(",\n");f.add(p)}f.add(")")}else{const n=e.outputOptions.chunkCallbackName;f.add(`${l}[${JSON.stringify(n)}](`);f.add(`${JSON.stringify(a.ids)},`);f.add(t);if(p){f.add(",\n");f.add(p)}f.add(")")}return f});e.hooks.hash.tap("WebWorkerChunkTemplatePlugin",t=>{t.update("webworker");t.update("4");t.update(`${e.outputOptions.chunkCallbackName}`);t.update(`${e.outputOptions.hotUpdateFunction}`);t.update(`${e.outputOptions.globalObject}`)})}}e.exports=WebWorkerChunkTemplatePlugin},3272:function(e){"use strict";class InitFragment{constructor(e,t,n,r,i){this.content=e;this.stage=t;this.position=n;this.key=r;this.endContent=i}}InitFragment.prototype.merge=undefined;InitFragment.STAGE_CONSTANTS=10;InitFragment.STAGE_ASYNC_BOUNDARY=20;InitFragment.STAGE_HARMONY_EXPORTS=30;InitFragment.STAGE_HARMONY_IMPORTS=40;InitFragment.STAGE_PROVIDES=50;InitFragment.STAGE_ASYNC_DEPENDENCIES=60;e.exports=InitFragment},3273:function(e,t,n){"use strict";const r=n(7746);const i=n(9043);const s=n(47);const o=n(1226).getNumberOfLines;class SourceListMap{constructor(e,t,n){if(Array.isArray(e)){this.children=e}else{this.children=[];if(e||t)this.add(e,t,n)}}add(e,t,n){if(typeof e==="string"){if(t){this.children.push(new i(e,t,n))}else if(this.children.length>0&&this.children[this.children.length-1]instanceof r){this.children[this.children.length-1].addGeneratedCode(e)}else{this.children.push(new r(e))}}else if(e.getMappings&&e.getGeneratedCode){this.children.push(e)}else if(e.children){e.children.forEach(function(e){this.children.push(e)},this)}else{throw new Error("Invalid arguments to SourceListMap.protfotype.add: Expected string, Node or SourceListMap")}}preprend(e,t,n){if(typeof e==="string"){if(t){this.children.unshift(new i(e,t,n))}else if(this.children.length>0&&this.children[this.children.length-1].preprendGeneratedCode){this.children[this.children.length-1].preprendGeneratedCode(e)}else{this.children.unshift(new r(e))}}else if(e.getMappings&&e.getGeneratedCode){this.children.unshift(e)}else if(e.children){e.children.slice().reverse().forEach(function(e){this.children.unshift(e)},this)}else{throw new Error("Invalid arguments to SourceListMap.protfotype.prerend: Expected string, Node or SourceListMap")}}mapGeneratedCode(e){const t=[];this.children.forEach(function(e){e.getNormalizedNodes().forEach(function(e){t.push(e)})});const n=[];t.forEach(function(t){t=t.mapGeneratedCode(e);if(n.length===0){n.push(t)}else{const e=n[n.length-1];const r=e.merge(t);if(r){n[n.length-1]=r}else{n.push(t)}}});return new SourceListMap(n)}toString(){return this.children.map(function(e){return e.getGeneratedCode()}).join("")}toStringWithSourceMap(e){const t=new s;const n=this.children.map(function(e){return e.getGeneratedCode()}).join("");const r=this.children.map(function(e){return e.getMappings(t)}).join("");const i=t.getArrays();return{source:n,map:{version:3,file:e&&e.file,sources:i.sources,sourcesContent:t.hasSourceContent?i.sourcesContent:undefined,mappings:r}}}}e.exports=SourceListMap},3280:function(e,t,n){"use strict";const r=n(1627);e.exports=class ModuleDependencyWarning extends r{constructor(e,t,n){super(t.message);this.name="ModuleDependencyWarning";this.details=t.stack.split("\n").slice(1).join("\n");this.module=e;this.loc=n;this.error=t;Error.captureStackTrace(this,this.constructor)}}},3292:function(e,t,n){"use strict";var r=n(9596).SourceNode;var i=n(9596).SourceMapConsumer;class Source{source(){throw new Error("Abstract")}size(){return this.source().length}map(e){return null}sourceAndMap(e){return{source:this.source(),map:this.map()}}node(){throw new Error("Abstract")}listNode(){throw new Error("Abstract")}updateHash(e){var t=this.source();e.update(t||"")}}e.exports=Source},3316:function(e,t,n){"use strict";const r=n(3866);const i=new r({errorDataPath:"configuration",allErrors:true,verbose:true});n(5525)(i,["instanceof"]);n(3877)(i);const s=(e,t)=>{if(Array.isArray(t)){const n=Array.from(t).map(t=>o(e,t));n.forEach((e,t)=>{const n=e=>{e.dataPath=`[${t}]${e.dataPath}`;if(e.children){e.children.forEach(n)}};e.forEach(n)});return n.reduce((e,t)=>{return e.concat(t)},[])}else{return o(e,t)}};const o=(e,t)=>{const n=i.compile(e);const r=n(t);return r?[]:a(n.errors)};const a=e=>{let t=[];for(const n of e){const e=n.dataPath;let r=[];t=t.filter(t=>{if(t.dataPath.includes(e)){if(t.children){r=r.concat(t.children.slice(0))}t.children=undefined;r.push(t);return false}return true});if(r.length){n.children=r}t.push(n)}return t};e.exports=s},3334:function(e,t,n){"use strict";const r=n(7332);const i=n(1165);class SyncBailHookCodeFactory extends i{content({onError:e,onResult:t,resultReturns:n,onDone:r,rethrowIfPossible:i}){return this.callTapsSeries({onError:(t,n)=>e(n),onResult:(e,n,r)=>`if(${n} !== undefined) {\n${t(n)};\n} else {\n${r()}}\n`,resultReturns:n,onDone:r,rethrowIfPossible:i})}}const s=new SyncBailHookCodeFactory;class SyncBailHook extends r{tapAsync(){throw new Error("tapAsync is not supported on a SyncBailHook")}tapPromise(){throw new Error("tapPromise is not supported on a SyncBailHook")}compile(e){s.setup(this,e);return s.create(e)}}e.exports=SyncBailHook},3339:function(e,t,n){var r=n(2453);var i=n(3927);var s=n(8309);var o=n(3960);var a=Buffer.from&&Buffer.from!==Uint8Array.from?Buffer.from([0]):new Buffer([0]);var u=function(e,t){if(e._corked)e.once("uncork",t);else t()};var c=function(e,t){if(e._autoDestroy)e.destroy(t)};var l=function(e,t){return function(n){if(n)c(e,n.message==="premature close"?null:n);else if(t&&!e._ended)e.end()}};var f=function(e,t){if(!e)return t();if(e._writableState&&e._writableState.finished)return t();if(e._writableState)return e.end(t);e.end();t()};var d=function(e){return new r.Readable({objectMode:true,highWaterMark:16}).wrap(e)};var p=function(e,t,n){if(!(this instanceof p))return new p(e,t,n);r.Duplex.call(this,n);this._writable=null;this._readable=null;this._readable2=null;this._autoDestroy=!n||n.autoDestroy!==false;this._forwardDestroy=!n||n.destroy!==false;this._forwardEnd=!n||n.end!==false;this._corked=1;this._ondrain=null;this._drained=false;this._forwarding=false;this._unwrite=null;this._unread=null;this._ended=false;this.destroyed=false;if(e)this.setWritable(e);if(t)this.setReadable(t)};s(p,r.Duplex);p.obj=function(e,t,n){if(!n)n={};n.objectMode=true;n.highWaterMark=16;return new p(e,t,n)};p.prototype.cork=function(){if(++this._corked===1)this.emit("cork")};p.prototype.uncork=function(){if(this._corked&&--this._corked===0)this.emit("uncork")};p.prototype.setWritable=function(e){if(this._unwrite)this._unwrite();if(this.destroyed){if(e&&e.destroy)e.destroy();return}if(e===null||e===false){this.end();return}var t=this;var n=i(e,{writable:true,readable:false},l(this,this._forwardEnd));var r=function(){var e=t._ondrain;t._ondrain=null;if(e)e()};var s=function(){t._writable.removeListener("drain",r);n()};if(this._unwrite)process.nextTick(r);this._writable=e;this._writable.on("drain",r);this._unwrite=s;this.uncork()};p.prototype.setReadable=function(e){if(this._unread)this._unread();if(this.destroyed){if(e&&e.destroy)e.destroy();return}if(e===null||e===false){this.push(null);this.resume();return}var t=this;var n=i(e,{writable:false,readable:true},l(this));var r=function(){t._forward()};var s=function(){t.push(null)};var o=function(){t._readable2.removeListener("readable",r);t._readable2.removeListener("end",s);n()};this._drained=true;this._readable=e;this._readable2=e._readableState?e:d(e);this._readable2.on("readable",r);this._readable2.on("end",s);this._unread=o;this._forward()};p.prototype._read=function(){this._drained=true;this._forward()};p.prototype._forward=function(){if(this._forwarding||!this._readable2||!this._drained)return;this._forwarding=true;var e;while(this._drained&&(e=o(this._readable2))!==null){if(this.destroyed)continue;this._drained=this.push(e)}this._forwarding=false};p.prototype.destroy=function(e){if(this.destroyed)return;this.destroyed=true;var t=this;process.nextTick(function(){t._destroy(e)})};p.prototype._destroy=function(e){if(e){var t=this._ondrain;this._ondrain=null;if(t)t(e);else this.emit("error",e)}if(this._forwardDestroy){if(this._readable&&this._readable.destroy)this._readable.destroy();if(this._writable&&this._writable.destroy)this._writable.destroy()}this.emit("close")};p.prototype._write=function(e,t,n){if(this.destroyed)return n();if(this._corked)return u(this,this._write.bind(this,e,t,n));if(e===a)return this._finish(n);if(!this._writable)return n();if(this._writable.write(e)===false)this._ondrain=n;else n()};p.prototype._finish=function(e){var t=this;this.emit("preend");u(this,function(){f(t._forwardEnd&&t._writable,function(){if(t._writableState.prefinished===false)t._writableState.prefinished=true;t.emit("prefinish");u(t,e)})})};p.prototype.end=function(e,t,n){if(typeof e==="function")return this.end(null,null,e);if(typeof t==="function")return this.end(e,null,t);this._ended=true;if(e)this.write(e);if(!this._writableState.ending)this.write(a);return r.Writable.prototype.end.call(this,n)};e.exports=p},3349:function(e,t){function isArray(e){if(Array.isArray){return Array.isArray(e)}return objectToString(e)==="[object Array]"}t.isArray=isArray;function isBoolean(e){return typeof e==="boolean"}t.isBoolean=isBoolean;function isNull(e){return e===null}t.isNull=isNull;function isNullOrUndefined(e){return e==null}t.isNullOrUndefined=isNullOrUndefined;function isNumber(e){return typeof e==="number"}t.isNumber=isNumber;function isString(e){return typeof e==="string"}t.isString=isString;function isSymbol(e){return typeof e==="symbol"}t.isSymbol=isSymbol;function isUndefined(e){return e===void 0}t.isUndefined=isUndefined;function isRegExp(e){return objectToString(e)==="[object RegExp]"}t.isRegExp=isRegExp;function isObject(e){return typeof e==="object"&&e!==null}t.isObject=isObject;function isDate(e){return objectToString(e)==="[object Date]"}t.isDate=isDate;function isError(e){return objectToString(e)==="[object Error]"||e instanceof Error}t.isError=isError;function isFunction(e){return typeof e==="function"}t.isFunction=isFunction;function isPrimitive(e){return e===null||typeof e==="boolean"||typeof e==="number"||typeof e==="string"||typeof e==="symbol"||typeof e==="undefined"}t.isPrimitive=isPrimitive;t.isBuffer=Buffer.isBuffer;function objectToString(e){return Object.prototype.toString.call(e)}},3350:function(e,t,n){"use strict";const r=n(7332);const i=n(1165);class AsyncParallelHookCodeFactory extends i{content({onError:e,onDone:t}){return this.callTapsParallel({onError:(t,n,r,i)=>e(n)+i(true),onDone:t})}}const s=new AsyncParallelHookCodeFactory;class AsyncParallelHook extends r{compile(e){s.setup(this,e);return s.create(e)}}Object.defineProperties(AsyncParallelHook.prototype,{_call:{value:undefined,configurable:true,writable:true}});e.exports=AsyncParallelHook},3351:function(e,t,n){"use strict";const r=n(5243);const i=e=>{return e.map(e=>`[${JSON.stringify(e)}]`).join("")};const s=(e,t,n,r="; ")=>{const s=typeof t==="object"&&!Array.isArray(t)?t[n]:t;const o=Array.isArray(s)?s:[s];return o.map((t,n)=>{const r=e?e+i(o.slice(0,n+1)):o[0]+i(o.slice(1,n+1));if(n===o.length-1)return r;if(n===0&&e===undefined){return`${r} = typeof ${r} === "object" ? ${r} : {}`}return`${r} = ${r} || {}`}).join(r)};class LibraryTemplatePlugin{constructor(e,t,n,r,i){this.name=e;this.target=t;this.umdNamedDefine=n;this.auxiliaryComment=r;this.exportProperty=i}apply(e){e.hooks.thisCompilation.tap("LibraryTemplatePlugin",e=>{if(this.exportProperty){const t=n(1321);new t(this.exportProperty).apply(e)}switch(this.target){case"var":if(!this.name||typeof this.name==="object"&&!Array.isArray(this.name)){throw new Error("library name must be set and not an UMD custom object for non-UMD target")}new r(`var ${s(undefined,this.name,"root")}`,false).apply(e);break;case"assign":new r(s(undefined,this.name,"root"),false).apply(e);break;case"this":case"self":case"window":if(this.name){new r(s(this.target,this.name,"root"),false).apply(e)}else{new r(this.target,true).apply(e)}break;case"global":if(this.name){new r(s(e.runtimeTemplate.outputOptions.globalObject,this.name,"root"),false).apply(e)}else{new r(e.runtimeTemplate.outputOptions.globalObject,true).apply(e)}break;case"commonjs":if(this.name){new r(s("exports",this.name,"commonjs"),false).apply(e)}else{new r("exports",true).apply(e)}break;case"commonjs2":case"commonjs-module":new r("module.exports",false).apply(e);break;case"amd":case"amd-require":{const t=n(8746);if(this.name&&typeof this.name!=="string"){throw new Error("library name must be a string for amd target")}new t({name:this.name,requireAsWrapper:this.target==="amd-require"}).apply(e);break}case"umd":case"umd2":{const t=n(6);new t(this.name,{optionalAmdExternalAsGlobal:this.target==="umd2",namedDefine:this.umdNamedDefine,auxiliaryComment:this.auxiliaryComment}).apply(e);break}case"jsonp":{const t=n(531);if(typeof this.name!=="string")throw new Error("library name must be a string for jsonp target");new t(this.name).apply(e);break}case"system":{const t=n(1116);new t({name:this.name}).apply(e);break}default:throw new Error(`${this.target} is not a valid Library target`)}})}}e.exports=LibraryTemplatePlugin},3366:function(e){"use strict";e.exports=function(e,t){var n=e.map;e.prototype.filter=function(e,r){return n(this,e,r,t)};e.filter=function(e,r,i){return n(e,r,i,t)}}},3367:function(e,t,n){"use strict";const r=n(5622);let i;class WatcherManager{constructor(){this.directoryWatchers=new Map}getDirectoryWatcher(e,t){if(i===undefined){i=n(6755)}t=t||{};const r=e+" "+JSON.stringify(t);const s=this.directoryWatchers.get(r);if(s===undefined){const n=new i(e,t);this.directoryWatchers.set(r,n);n.on("closed",()=>{this.directoryWatchers.delete(r)});return n}return s}watchFile(e,t,n){const i=r.dirname(e);return this.getDirectoryWatcher(i,t).watch(e,n)}watchDirectory(e,t,n){return this.getDirectoryWatcher(e,t).watch(e,n)}}e.exports=new WatcherManager},3376:function(e,t,n){"use strict";const r=n(6150);const i=n(6804);const s=n(8159);class GlobalRuntimeModule extends i{constructor(){super("global")}generate(){return s.asString([`${r.global} = (function() {`,s.indent(["var g = (function() { return this; })();","try {",s.indent("g = g || new Function('return this')();"),"} catch (e) {",s.indent("if (typeof window === 'object') g = window;"),"}","return g;"]),"})();"])}}e.exports=GlobalRuntimeModule},3380:function(e,t,n){"use strict";const r=n(6202);const i=n(2197);class RequireResolveHeaderDependency extends i{constructor(e){super();if(!Array.isArray(e))throw new Error("range must be valid");this.range=e}serialize(e){const{write:t}=e;t(this.range);super.serialize(e)}static deserialize(e){const t=new RequireResolveHeaderDependency(e.read());t.deserialize(e);return t}}r(RequireResolveHeaderDependency,"webpack/lib/dependencies/RequireResolveHeaderDependency");RequireResolveHeaderDependency.Template=class RequireResolveHeaderDependencyTemplate extends i.Template{apply(e,t,n){const r=e;t.replace(r.range[0],r.range[1]-1,"/*require.resolve*/")}applyAsTemplateArgument(e,t,n){n.replace(t.range[0],t.range[1]-1,"/*require.resolve*/")}};e.exports=RequireResolveHeaderDependency},3387:function(e){e.exports={name:"estraverse",description:"ECMAScript JS AST traversal functions",homepage:"https://github.com/estools/estraverse",main:"estraverse.js",version:"4.2.0",engines:{node:">=0.10.0"},maintainers:[{name:"Yusuke Suzuki",email:"utatane.tea@gmail.com",web:"http://github.com/Constellation"}],repository:{type:"git",url:"http://github.com/estools/estraverse.git"},devDependencies:{"babel-preset-es2015":"^6.3.13","babel-register":"^6.3.13",chai:"^2.1.1",espree:"^1.11.0",gulp:"^3.8.10","gulp-bump":"^0.2.2","gulp-filter":"^2.0.0","gulp-git":"^1.0.1","gulp-tag-version":"^1.2.1",jshint:"^2.5.6",mocha:"^2.1.0"},license:"BSD-2-Clause",scripts:{test:"npm run-script lint && npm run-script unit-test",lint:"jshint estraverse.js","unit-test":"mocha --compilers js:babel-register"}}},3404:function(e){"use strict";e.exports=function generate_const(e,t,n){var r=" ";var i=e.level;var s=e.dataLevel;var o=e.schema[t];var a=e.schemaPath+e.util.getProperty(t);var u=e.errSchemaPath+"/"+t;var c=!e.opts.allErrors;var l="data"+(s||"");var f="valid"+i;var d=e.opts.$data&&o&&o.$data,p;if(d){r+=" var schema"+i+" = "+e.util.getData(o.$data,s,e.dataPathArr)+"; ";p="schema"+i}else{p=o}if(!d){r+=" var schema"+i+" = validate.schema"+a+";"}r+="var "+f+" = equal("+l+", schema"+i+"); if (!"+f+") { ";var h=h||[];h.push(r);r="";if(e.createErrors!==false){r+=" { keyword: '"+"const"+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { allowedValue: schema"+i+" } ";if(e.opts.messages!==false){r+=" , message: 'should be equal to constant' "}if(e.opts.verbose){r+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "}r+=" } "}else{r+=" {} "}var m=r;r=h.pop();if(!e.compositeRule&&c){if(e.async){r+=" throw new ValidationError(["+m+"]); "}else{r+=" validate.errors = ["+m+"]; return false; "}}else{r+=" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}r+=" }";if(c){r+=" else { "}return r}},3410:function(e,t,n){"use strict";const r=n(554);const{STAGE_DEFAULT:i}=n(2414);const s=n(4576);const o=n(2230);const a=new WeakMap;const u=(e,t)=>{const n=t.get(e);if(n!==undefined)return n;if(!e.includes("/")){e=`**/${e}`}const i=r(e,{globstar:true,extended:true});const s=i.source;const o=new RegExp("^(\\./)?"+s.slice(1));t.set(e,o);return o};class SideEffectsFlagPlugin{apply(e){let t=a.get(e.root);if(t===undefined){t=new Map;a.set(e.root,t)}e.hooks.normalModuleFactory.tap("SideEffectsFlagPlugin",e=>{e.hooks.module.tap("SideEffectsFlagPlugin",(e,n)=>{const r=n.resourceResolveData;if(r&&r.descriptionFileData&&r.relativePath){const n=r.descriptionFileData.sideEffects;const i=SideEffectsFlagPlugin.moduleHasSideEffects(r.relativePath,n,t);if(!i){e.factoryMeta.sideEffectFree=true}}return e});e.hooks.module.tap("SideEffectsFlagPlugin",(e,t)=>{if(t.settings.sideEffects===false){e.factoryMeta.sideEffectFree=true}else if(t.settings.sideEffects===true){e.factoryMeta.sideEffectFree=false}return e})});e.hooks.compilation.tap("SideEffectsFlagPlugin",e=>{const t=e.moduleGraph;e.hooks.optimizeDependencies.tap({name:"SideEffectsFlagPlugin",stage:i},e=>{const n=new Map;for(const r of e){for(const e of r.dependencies){if(e instanceof s){if(r.factoryMeta.sideEffectFree){const i=e.getMode(t,true);if(i.type==="normal-reexport"){let e=n.get(r);if(!e){n.set(r,e=new Map)}for(const[t,n]of i.map){if(n.length>0&&!i.checked.has(t)){e.set(t,{module:i.getModule(),exportName:n[0]})}}}}}}}for(const e of n.values()){for(const t of e){let r=t[1];while(r){const i=n.get(r.module);if(!i)break;const s=i.get(r.exportName);if(s){e.set(t[0],s)}r=s}}}for(const e of n){const n=e[0];const r=e[1];for(const e of t.getIncomingConnections(n)){const n=e.dependency;if(n instanceof s||n instanceof o&&!n.namespaceObjectAsContext){const e=n.getIds(t);if(e.length>0){const i=r.get(e[0]);if(i){t.updateModule(n,i.module);t.addExplanation(n,"(skipped side-effect-free modules)");n.setIds(t,i.exportName?[i.exportName,...e.slice(1)]:e.slice(1));continue}}}}}})})}static moduleHasSideEffects(e,t,n){switch(typeof t){case"undefined":return true;case"boolean":return t;case"string":return u(t,n).test(e);case"object":return t.some(t=>SideEffectsFlagPlugin.moduleHasSideEffects(e,t,n))}}}e.exports=SideEffectsFlagPlugin},3416:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:true});t.codeFrameFromAst=codeFrameFromAst;t.codeFrameFromSource=codeFrameFromSource;var r=n(2925);function _typeof(e){if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(e){return typeof e}}else{_typeof=function _typeof(e){return e&&typeof Symbol==="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e}}return _typeof(e)}var i=5;function repeat(e,t){return Array(t).fill(e).join("")}function codeFrameFromAst(e,t){return codeFrameFromSource((0,r.print)(e),t)}function codeFrameFromSource(e,t){var n=t.start,r=t.end;var s=1;if(_typeof(r)==="object"){s=r.column-n.column+1}return e.split("\n").reduce(function(e,t,r){if(Math.abs(n.line-r){e[t].name=t;return e[t]})}this.hooks=Object.freeze({done:new i(["stats"]),invalid:new s(e.map(e=>e.hooks.invalid)),run:new s(e.map(e=>e.hooks.run)),watchClose:new i([]),watchRun:new s(e.map(e=>e.hooks.watchRun))});this.compilers=e;this.dependencies=new WeakMap;this.running=false;const t=this.compilers.map(()=>null);let n=0;for(let e=0;e{if(!s){s=true;n++}t[i]=e;if(n===this.compilers.length){this.hooks.done.call(new a(t))}});r.hooks.invalid.tap("MultiCompiler",()=>{if(s){s=false;n--}})}}get outputPath(){let e=this.compilers[0].outputPath;for(const t of this.compilers){while(t.outputPath.indexOf(e)!==0&&/[/\\]/.test(e)){e=e.replace(/[/\\][^/\\]*$/,"")}}if(!e&&this.compilers[0].outputPath[0]==="/")return"/";return e}get inputFileSystem(){throw new Error("Cannot read inputFileSystem of a MultiCompiler")}get outputFileSystem(){throw new Error("Cannot read outputFileSystem of a MultiCompiler")}get intermediateFileSystem(){throw new Error("Cannot read outputFileSystem of a MultiCompiler")}set inputFileSystem(e){for(const t of this.compilers){t.inputFileSystem=e}}set outputFileSystem(e){for(const t of this.compilers){t.outputFileSystem=e}}set intermediateFileSystem(e){for(const t of this.compilers){t.intermediateFileSystem=e}}setDependencies(e,t){this.dependencies.set(e,t)}validateDependencies(e){const t=new Set;const n=[];const r=e=>{for(const n of t){if(n.target===e){return true}}return false};const i=(e,t)=>{return e.source.name.localeCompare(t.source.name)||e.target.name.localeCompare(t.target.name)};for(const e of this.compilers){const r=this.dependencies.get(e);if(r){for(const i of r){const r=this.compilers.find(e=>e.name===i);if(!r){n.push(i)}else{t.add({source:e,target:r})}}}}const s=n.map(e=>`Compiler dependency \`${e}\` not found.`);const o=this.compilers.filter(e=>!r(e));while(o.length>0){const e=o.pop();for(const n of t){if(n.source===e){t.delete(n);const e=n.target;if(!r(e)){o.push(e)}}}}if(t.size>0){const e=Array.from(t).sort(i).map(e=>`${e.source.name} -> ${e.target.name}`);e.unshift("Circular dependency found in compiler dependencies.");s.unshift(e.join("\n"))}if(s.length>0){const t=s.join("\n");e(new Error(t));return false}return true}runWithDependencies(e,t,n){const i=new Set;let s=e;const o=e=>i.has(e);const a=()=>{let e=[];let t=s;s=[];for(const n of t){const t=this.dependencies.get(n);const r=!t||t.every(o);if(r){e.push(n)}else{s.push(n)}}return e};const u=e=>{if(s.length===0)return e();r.map(a(),(e,n)=>{t(e,t=>{if(t)return n(t);i.add(e.name);u(n)})},e)};u(n)}watch(e,t){if(this.running){return t(new o)}const n=[];const r=this.compilers.map(()=>null);const i=this.compilers.map(()=>c);if(this.validateDependencies(t)){this.running=true;this.runWithDependencies(this.compilers,(s,o)=>{const u=this.compilers.indexOf(s);let d=true;let p=s.watch(Array.isArray(e)?e[u]:e,(e,n)=>{if(e)t(e);if(n){r[u]=n;i[u]=f;if(i.every(e=>e!==c)){const e=r.filter((e,t)=>{return i[t]===f});i.fill(l);const n=new a(e);t(null,n)}}if(d&&!e){d=false;o()}});n.push(p)},()=>{})}return new u(n,this)}run(e){if(this.running){return e(new o)}const t=(t,n)=>{this.running=false;if(e!==undefined){return e(t,n)}};const n=this.compilers.map(()=>null);if(this.validateDependencies(e)){this.running=true;this.runWithDependencies(this.compilers,(e,t)=>{const r=this.compilers.indexOf(e);e.run((e,i)=>{if(e){return t(e)}n[r]=i;t()})},e=>{if(e){return t(e)}t(null,new a(n))})}}purgeInputFileSystem(){for(const e of this.compilers){if(e.inputFileSystem&&e.inputFileSystem.purge){e.inputFileSystem.purge()}}}close(e){r.each(this.compilers,(e,t)=>{e.close(t)},e)}}},3453:function(e,t,n){"use strict";const r=n(5137);const i=n(2448);const s=n(5412);const{compareChunksById:o}=n(8673);const a=n(6202);const u={};let c=1e3;const l=new Set(["javascript"]);class Module extends i{constructor(e,t=null){super();this.type=e;this.context=t;this.debugId=c++;this.resolveOptions=u;this.factoryMeta={};this.warnings=[];this.errors=[];this.buildMeta=undefined;this.buildInfo=undefined}get id(){return r.getChunkGraphForModule(this,"Module.id").getModuleId(this)}set id(e){r.getChunkGraphForModule(this,"Module.id").setModuleId(this,e)}get hash(){return r.getChunkGraphForModule(this,"Module.hash").getModuleHash(this)}get renderedHash(){return r.getChunkGraphForModule(this,"Module.renderedHash").getRenderedModuleHash(this)}get profile(){return s.getModuleGraphForModule(this,"Module.profile").getProfile(this)}set profile(e){s.getModuleGraphForModule(this,"Module.profile").setProfile(this,e)}get index(){return s.getModuleGraphForModule(this,"Module.index").getPreOrderIndex(this)}set index(e){s.getModuleGraphForModule(this,"Module.index").setPreOrderIndex(this,e)}get index2(){return s.getModuleGraphForModule(this,"Module.index2").getPostOrderIndex(this)}set index2(e){s.getModuleGraphForModule(this,"Module.index2").setPostOrderIndex(this,e)}get depth(){return s.getModuleGraphForModule(this,"Module.depth").getDepth(this)}set depth(e){s.getModuleGraphForModule(this,"Module.depth").setDepth(this,e)}get issuer(){return s.getModuleGraphForModule(this,"Module.issuer").getIssuer(this)}set issuer(e){s.getModuleGraphForModule(this,"Module.issuer").setIssuer(this,e)}get usedExports(){return s.getModuleGraphForModule(this,"Module.usedExports").getUsedExports(this)}get optimizationBailout(){return s.getModuleGraphForModule(this,"Module.optimizationBailout").getOptimizationBailout(this)}get optional(){return this.isOptional(s.getModuleGraphForModule(this,"Module.optional"))}addChunk(e){return r.getChunkGraphForModule(this,"Module.addChunk").connectChunkAndModule(e,this)}removeChunk(e){return r.getChunkGraphForModule(this,"Module.removeChunk").disconnectChunkAndModule(e,this)}isInChunk(e){return r.getChunkGraphForModule(this,"Module.isInChunk").isModuleInChunk(this,e)}isEntryModule(){return r.getChunkGraphForModule(this,"Module.isEntryModule").isEntryModule(this)}getChunks(){return r.getChunkGraphForModule(this,"Module.getChunks").getModuleChunks(this)}getNumberOfChunks(){return r.getChunkGraphForModule(this,"Module.getNumberOfChunks").getNumberOfModuleChunks(this)}get chunksIterable(){return r.getChunkGraphForModule(this,"Module.chunksIterable").getOrderedModuleChunksIterable(this,o)}isProvided(e){return s.getModuleGraphForModule(this,"Module.usedExports").isExportProvided(this,e)}get exportsArgument(){return this.buildInfo&&this.buildInfo.exportsArgument||"exports"}get moduleArgument(){return this.buildInfo&&this.buildInfo.moduleArgument||"module"}isOptional(e){const t=e.getIncomingConnections(this);return t.length>0&&t.every(e=>e.dependency&&e.dependency.optional)}isAccessibleInChunk(e,t,n){for(const n of t.groupsIterable){if(!this.isAccessibleInChunkGroup(e,n))return false}return true}isAccessibleInChunkGroup(e,t,n){const r=new Set([t]);e:for(const i of r){for(const t of i.chunks){if(t!==n&&e.isModuleInChunk(this,t))continue e}if(t.isInitial())return false;for(const e of t.parentsIterable)r.add(e)}return true}hasReasonForChunk(e,t,n){for(const r of t.getIncomingConnections(this)){const t=r.originModule;for(const r of n.getModuleChunksIterable(t)){if(!this.isAccessibleInChunk(n,r,e))return true}}return false}hasReasons(e){return e.getIncomingConnections(this).length>0}isModuleUsed(e){return e.getExportsInfo(this).isUsed()!==false}isExportUsed(e,t){return e.getExportsInfo(this).isExportUsed(t)}getUsedName(e,t){return e.getExportsInfo(this).getUsedName(t)}toString(){return`Module[${this.debugId}: ${this.identifier()}]`}needBuild(e,t){t(null,!this.buildMeta||this.needRebuild===Module.prototype.needRebuild||this.needRebuild(e.fileSystemInfo.getDeprecatedFileTimestamps(),e.fileSystemInfo.getDeprecatedContextTimestamps()))}needRebuild(e,t){return true}updateHash(e,t){e.update(`${t.getModuleId(this)}`);const n=t.moduleGraph.getExportsInfo(this);for(const t of n.orderedExports){e.update(t.name);e.update(t.used+"");e.update(t.usedName+"")}super.updateHash(e,t)}invalidateBuild(){}identifier(){throw new Error("Module.identifier: Must be overriden")}readableIdentifier(e){throw new Error("Module.readableIdentifier: Must be overriden")}build(e,t,n,r,i){throw new Error("Module.build: Must be overriden")}getSourceTypes(){return l}source(e){throw new Error("Module.source: Must be overriden")}size(e){throw new Error("Module.size: Must be overriden")}libIdent(e){return null}nameForCondition(){return null}getRuntimeRequirements(e){return null}chunkCondition(e,t){return true}updateCacheModule(e){this.type=e.type;this.context=e.context;this.factoryMeta=e.factoryMeta;this.resolveOptions=e.resolveOptions}originalSource(){return null}serialize(e){const{write:t}=e;t(this.type);t(this.context);t(this.resolveOptions);t(this.factoryMeta);t(this.useSourceMap);t(this.warnings);t(this.errors);t(this.buildMeta);t(this.buildInfo);super.serialize(e)}deserialize(e){const{read:t}=e;this.type=t();this.context=t();this.resolveOptions=t();this.factoryMeta=t();this.useSourceMap=t();this.warnings=t();this.errors=t();this.buildMeta=t();this.buildInfo=t();super.deserialize(e)}}a(Module,"webpack/lib/Module");Object.defineProperty(Module.prototype,"hasEqualsChunks",{get(){throw new Error("Module.hasEqualsChunks was renamed (use hasEqualChunks instead)")}});Object.defineProperty(Module.prototype,"isUsed",{get(){throw new Error("Module.isUsed was renamed (use getUsedName, isExportUsed or isModuleUsed instead)")}});Object.defineProperty(Module.prototype,"used",{get(){throw new Error("Module.used was refactored (use ModuleGraph.getUsedExports instead)")},set(e){throw new Error("Module.used was refactored (use ModuleGraph.setUsedExports instead)")}});e.exports=Module},3454:function(e,t,n){"use strict";const{SyncWaterfallHook:r,SyncHook:i}=n(2960);e.exports=class ChunkTemplate{constructor(e){this.outputOptions=e||{};this.hooks=Object.freeze({renderManifest:new r(["result","options"]),modules:new r(["source","moduleTemplate","renderContext"]),render:new r(["source","moduleTemplate","renderContext"]),renderWithEntry:new r(["source","chunk"]),hash:new i(["hash"]),hashForChunk:new i(["hash","chunk"])})}getRenderManifest(e){const t=[];this.hooks.renderManifest.call(t,e);return t}updateHash(e){e.update("ChunkTemplate");e.update("3");this.hooks.hash.call(e)}updateHashForChunk(e,t,n){this.updateHash(e);this.hooks.hashForChunk.call(e,t)}}},3460:function(e,t,n){"use strict";const r=n(1669);const i=n(1475);function Tapable(){this._pluginCompat=new i(["options"]);this._pluginCompat.tap({name:"Tapable camelCase",stage:100},e=>{e.names.add(e.name.replace(/[- ]([a-z])/g,(e,t)=>t.toUpperCase()))});this._pluginCompat.tap({name:"Tapable this.hooks",stage:200},e=>{let t;for(const n of e.names){t=this.hooks[n];if(t!==undefined){break}}if(t!==undefined){const n={name:e.fn.name||"unnamed compat plugin",stage:e.stage||0};if(e.async)t.tapAsync(n,e.fn);else t.tap(n,e.fn);return true}})}e.exports=Tapable;Tapable.addCompatLayer=function addCompatLayer(e){Tapable.call(e);e.plugin=Tapable.prototype.plugin;e.apply=Tapable.prototype.apply};Tapable.prototype.plugin=r.deprecate(function plugin(e,t){if(Array.isArray(e)){e.forEach(function(e){this.plugin(e,t)},this);return}const n=this._pluginCompat.call({name:e,fn:t,names:new Set([e])});if(!n){throw new Error(`Plugin could not be registered at '${e}'. Hook was not found.\n`+"BREAKING CHANGE: There need to exist a hook at 'this.hooks'. "+"To create a compatibility layer for this hook, hook into 'this._pluginCompat'.")}},"Tapable.plugin is deprecated. Use new API on `.hooks` instead");Tapable.prototype.apply=r.deprecate(function apply(){for(var e=0;e=this._length){this._resolve(this._values);return true}return false};SettledPromiseArray.prototype._promiseFulfilled=function(e,t){var n=new i;n._bitField=33554432;n._settledValueField=e;return this._promiseResolved(t,n)};SettledPromiseArray.prototype._promiseRejected=function(e,t){var n=new i;n._bitField=16777216;n._settledValueField=e;return this._promiseResolved(t,n)};e.settle=function(e){r.deprecated(".settle()",".reflect()");return new SettledPromiseArray(e).promise()};e.allSettled=function(e){return new SettledPromiseArray(e).promise()};e.prototype.settle=function(){return e.settle(this)}}},3515:function(e,t,n){"use strict";const r=n(8688);const i=n(6396);const s=n(9084);const o=n(9891);const a=n(1627);const u=n(9422);const c=n(6076);const l=n(9197).makePathsRelative;const f=n(538);const d=n(746);class DllReferencePlugin{constructor(e){f(d,e,"Dll Reference Plugin");this.options=e;this._compilationData=new WeakMap}apply(e){e.hooks.compilation.tap("DllReferencePlugin",(e,{normalModuleFactory:t})=>{e.dependencyFactories.set(u,t);e.dependencyFactories.set(c,new o)});e.hooks.beforeCompile.tapAsync("DllReferencePlugin",(t,n)=>{if("manifest"in this.options){const i=this.options.manifest;if(typeof i==="string"){e.inputFileSystem.readFile(i,(s,o)=>{if(s)return n(s);const a={path:i,data:undefined,error:undefined};try{a.data=r(o.toString("utf-8"))}catch(t){const n=l(e.options.context,i,e.root);a.error=new DllManifestError(n,t.message)}this._compilationData.set(t,a);return n()});return}}return n()});e.hooks.compile.tap("DllReferencePlugin",t=>{let n=this.options.name;let r=this.options.sourceType;let o="content"in this.options?this.options.content:undefined;if("manifest"in this.options){let e=this.options.manifest;let i;if(typeof e==="string"){const e=this._compilationData.get(t);if(e.error){return}i=e.data}else{i=e}if(i){if(!n)n=i.name;if(!r)r=i.type;if(!o)o=i.content}}const a={};const u="dll-reference "+n;a[u]=n;const c=t.normalModuleFactory;new s(r||"var",a).apply(c);new i({source:u,type:this.options.type,scope:this.options.scope,context:this.options.context||e.options.context,content:o,extensions:this.options.extensions,associatedObjectForCache:e.root}).apply(c)});e.hooks.compilation.tap("DllReferencePlugin",(e,t)=>{if("manifest"in this.options){let n=this.options.manifest;if(typeof n==="string"){const r=this._compilationData.get(t);if(r.error){e.errors.push(r.error)}e.fileDependencies.add(n)}}})}}class DllManifestError extends a{constructor(e,t){super();this.name="DllManifestError";this.message=`Dll manifest ${e}\n${t}`;Error.captureStackTrace(this,this.constructor)}}e.exports=DllReferencePlugin},3520:function(e,t,n){"use strict";const{getContext:r,runLoaders:i}=n(425);const{SyncHook:s}=n(2960);const{CachedSource:o,OriginalSource:a,RawSource:u,SourceMapSource:c}=n(2991);const l=n(3080);const f=n(3453);const d=n(6509);const p=n(1613);const h=n(4489);const m=n(8893);const g=n(6150);const y=n(1627);const{compareLocations:v,concatComparators:b,compareSelect:w,keepOriginalOrder:E}=n(8673);const _=n(5891);const S=n(9197).contextify;const k=n(6202);const C=e=>{if(Buffer.isBuffer(e)){return e.toString("utf-8")}return e};const D=e=>{if(!Buffer.isBuffer(e)){return Buffer.from(e,"utf-8")}return e};class NonErrorEmittedError extends y{constructor(e){super();this.name="NonErrorEmittedError";this.message="(Emitted value instead of an instance of Error) "+e;Error.captureStackTrace(this,this.constructor)}}k(NonErrorEmittedError,"webpack/lib/NormalModule","NonErrorEmittedError");const A=new WeakMap;class NormalModule extends f{static getCompilationHooks(e){if(!(e instanceof l)){throw new TypeError("The 'compilation' argument must be an instance of Compilation")}let t=A.get(e);if(t===undefined){t={loader:new s(["loaderContext","module"])};A.set(e,t)}return t}constructor({type:e,request:t,userRequest:n,rawRequest:i,loaders:s,resource:o,matchResource:a,parser:u,generator:c,resolveOptions:l}){super(e,r(o));this.request=t;this.userRequest=n;this.rawRequest=i;this.binary=e.startsWith("webassembly");this.parser=u;this.generator=c;this.resource=o;this.matchResource=a;this.loaders=s;if(l!==undefined){this.resolveOptions=l}this.error=null;this._source=null;this._cachedSources=new Map;this._lastSuccessfulBuildMeta={};this._forceBuild=true;this.useSourceMap=false}identifier(){return this.request}readableIdentifier(e){return e.shorten(this.userRequest)}libIdent(e){return S(e.context,this.userRequest,e.associatedObjectForCache)}nameForCondition(){const e=this.matchResource||this.resource;const t=e.indexOf("?");if(t>=0)return e.substr(0,t);return e}updateCacheModule(e){super.updateCacheModule(e);const t=e;this.request=t.request;this.userRequest=t.userRequest;this.rawRequest=t.rawRequest;this.parser=t.parser;this.generator=t.generator;this.resource=t.resource;this.matchResource=t.matchResource;this.loaders=t.loaders}createSourceForAsset(e,t,n){if(!n){return new u(t)}if(typeof n==="string"){return new a(t,n)}return new c(t,e,n)}createLoaderContext(e,t,n,r){const i=n.runtimeTemplate.requestShortener;const s={version:2,emitWarning:e=>{if(!(e instanceof Error)){e=new NonErrorEmittedError(e)}const t=this.getCurrentLoader(s);this.warnings.push(new m(e,{from:i.shorten(t.loader)}))},emitError:e=>{if(!(e instanceof Error)){e=new NonErrorEmittedError(e)}const t=this.getCurrentLoader(s);this.errors.push(new p(e,{from:i.shorten(t.loader)}))},resolve(t,n,r){e.resolve({},t,n,{},r)},getResolve(t){const n=t?e.withOptions(t):e;return(e,t,r)=>{if(r){n.resolve({},e,t,{},r)}else{return new Promise((r,i)=>{n.resolve({},e,t,{},(e,t)=>{if(e)i(e);else r(t)})})}}},emitFile:(e,t,n)=>{if(!this.buildInfo.assets){this.buildInfo.assets=Object.create(null)}this.buildInfo.assets[e]=this.createSourceForAsset(e,t,n)},rootContext:t.context,webpack:true,sourceMap:!!this.useSourceMap,mode:t.mode||"production",_module:this,_compilation:n,_compiler:n.compiler,fs:r};NormalModule.getCompilationHooks(n).loader.call(s,this);if(t.loader){Object.assign(s,t.loader)}return s}getCurrentLoader(e,t=e.loaderIndex){if(this.loaders&&this.loaders.length&&t=0&&this.loaders[t]){return this.loaders[t]}return null}createSource(e,t){if(Buffer.isBuffer(e)){return new u(e)}if(!this.identifier){return new u(e)}const n=this.identifier();if(this.useSourceMap&&t){return new c(e,n,t)}return new a(e,n)}doBuild(e,t,n,r,s){const o=this.createLoaderContext(n,e,t,r);const a=Date.now();const u=(e,n)=>{if(e){if(!(e instanceof Error)){e=new NonErrorEmittedError(e)}const n=this.getCurrentLoader(o);const r=new d(e,{from:n&&t.runtimeTemplate.requestShortener.shorten(n.loader)});return s(r)}const r=n[0];const i=n.length>=1?n[1]:null;const a=n.length>=2?n[2]:null;if(!Buffer.isBuffer(r)&&typeof r!=="string"){const e=this.getCurrentLoader(o,0);const n=new Error(`Final loader (${e?t.runtimeTemplate.requestShortener.shorten(e.loader):"unknown"}) didn't return a Buffer or String`);const r=new d(n);return s(r)}this._source=this.createSource(this.binary?D(r):C(r),i);this._ast=typeof a==="object"&&a!==null&&a.webpackAST!==undefined?a.webpackAST:null;return s()};i({resource:this.resource,loaders:this.loaders,context:o,readResource:r.readFile.bind(r)},(e,n)=>{if(!n){u(e||new Error("No result from loader-runner processing"),null)}this.buildInfo.fileDependencies=new Set(n.fileDependencies);this.buildInfo.contextDependencies=new Set(n.contextDependencies);this.buildInfo.missingDependencies=new Set(n.missingDependencies);if(!n.cacheable){this.buildInfo.cacheable=false;u(e,n.result);return}this.buildInfo.cacheable=true;t.fileSystemInfo.createSnapshot(a,n.fileDependencies,n.contextDependencies,n.missingDependencies,null,(t,r)=>{this.buildInfo.snapshot=r;u(e||t,n.result)})})}markModuleAsErrored(e){this.buildMeta={...this._lastSuccessfulBuildMeta};this.error=e;this.errors.push(e)}applyNoParseRule(e,t){if(typeof e==="string"){return t.indexOf(e)===0}if(typeof e==="function"){return e(t)}return e.test(t)}shouldPreventParsing(e,t){if(!e){return false}if(!Array.isArray(e)){return this.applyNoParseRule(e,t)}for(let n=0;n{this._cachedSources.clear();if(n){this.markModuleAsErrored(n);this._initBuildHash(t);return i()}const r=e.module&&e.module.noParse;if(this.shouldPreventParsing(r,this.request)){this.buildInfo.parsed=false;this._initBuildHash(t);return i()}const s=n=>{const r=this._source.source();const s=this.loaders.map(t=>S(e.context,t.loader));const o=new h(r,n,s);this.markModuleAsErrored(o);this._initBuildHash(t);return i()};const o=e=>{this.dependencies.sort(b(w(e=>e.loc,v),E(this.dependencies)));this._lastSuccessfulBuildMeta=this.buildMeta;this._initBuildHash(t);return i()};let a=true;try{const n=this.parser.parse(this._ast||this._source.source(),{current:this,module:this,compilation:t,options:e},(e,t)=>{a=false;if(e){s(e)}else{o(t)}});a=false;if(n!==undefined){o(n)}}catch(e){if(!a)throw e;s(e)}})}_getHashDigest(e,t){const n=e.getModuleHash(this);const r=t.getHash();return`${n}-${r}`}source(e){return this._generateSource(e).source}getSourceTypes(){return this.generator.getTypes()}_generateSource({dependencyTemplates:e,runtimeTemplate:t,moduleGraph:n,chunkGraph:r,type:i="javascript"}){const s=this._getHashDigest(r,e);const a=this._cachedSources.get(i);if(a!==undefined&&a.hash===s){return a}const c=new Set;if(!this.buildInfo.parsed){c.add(g.module);c.add(g.exports)}const l=this.error?new u("throw new Error("+JSON.stringify(this.error.message)+");"):this.generator.generate(this,{dependencyTemplates:e,runtimeTemplate:t,moduleGraph:n,chunkGraph:r,runtimeRequirements:c,type:i});const f=new o(l);const d=f;const p={source:d,runtimeRequirements:c,hash:s};this._cachedSources.set(i,p);return p}originalSource(){return this._source}invalidateBuild(){this._forceBuild=true}needBuild({fileSystemInfo:e},t){if(this._forceBuild)return t(null,true);if(this.error)return t(null,true);if(!this.buildInfo.cacheable)return t(null,true);e.checkSnapshotValid(this.buildInfo.snapshot,(e,n)=>{t(e,!n)})}getRuntimeRequirements(e){return this._generateSource(e).runtimeRequirements}size(e){return Math.max(1,this.generator.getSize(this,e))}updateHash(e,t){e.update(this.buildInfo.hash);super.updateHash(e,t)}serialize(e){const{write:t}=e;t(this.type);t(this.resource);t(this._source);t(this.error);t(this._cachedSources);t(this._lastSuccessfulBuildMeta);t(this._forceBuild);super.serialize(e)}static deserialize(e){const{read:t}=e;const n=new NormalModule({type:t(),resource:t(),request:null,userRequest:null,rawRequest:null,loaders:null,matchResource:null,parser:null,generator:null,resolveOptions:null});n.deserialize(e);return n}deserialize(e){const{read:t}=e;this._source=t();this.error=t();this._cachedSources=t();this._lastSuccessfulBuildMeta=t();this._forceBuild=t();super.deserialize(e)}}k(NormalModule,"webpack/lib/NormalModule");e.exports=NormalModule},3529:function(e,t,n){"use strict";const r=n(1627);e.exports=class NoAsyncChunksWarning extends r{constructor(){super("webpack performance recommendations: \n"+"You can limit the size of your bundles by using import() or require.ensure to lazy load some parts of your application.\n"+"For more info visit https://webpack.js.org/guides/code-splitting/");this.name="NoAsyncChunksWarning";Error.captureStackTrace(this,this.constructor)}}},3539:function(e,t,n){"use strict";const{RawSource:r}=n(2991);const i=n(354);const s=n(3520);const o=new WeakMap;class EvalSourceMapDevToolModuleTemplatePlugin{constructor(e,t){this.compilation=e;this.sourceMapComment=t.append||"//# sourceURL=[module]\n//# sourceMappingURL=[url]";this.moduleFilenameTemplate=t.moduleFilenameTemplate||"webpack://[namespace]/[resource-path]?[hash]";this.namespace=t.namespace||"";this.options=t}apply(e){const t=this.options;const n=i.matchObject.bind(i,t);e.hooks.module.tap("EvalSourceMapDevToolModuleTemplatePlugin",(a,u)=>{const c=o.get(a);if(c!==undefined){return c}if(!(u instanceof s)){return a}const l=u;if(!n(l.resource)){return a}const f=this.compilation.chunkGraph;let d;let p;if(a.sourceAndMap){const e=a.sourceAndMap(t);d=e.map;p=e.source}else{d=a.map(t);p=a.source()}if(!d){return a}d=Object.keys(d).reduce((e,t)=>{e[t]=d[t];return e},{});const h=d.sources.map(e=>{const t=this.compilation.findModule(e);return t||e});let m=h.map(t=>{return i.createFilename(t,{moduleFilenameTemplate:this.moduleFilenameTemplate,namespace:this.namespace},{requestShortener:e.runtimeTemplate.requestShortener,chunkGraph:f})});m=i.replaceDuplicates(m,(e,t,n)=>{for(let t=0;t{e.update("eval-source-map");e.update("2")})}}e.exports=EvalSourceMapDevToolModuleTemplatePlugin},3556:function(e){"use strict";e.exports=function forEachBail(e,t,n){if(e.length===0)return n();let r=e.length;let i;let s=[];for(let n=0;n{if(e>=r)return;s.push(e);if(t.length>0){r=e+1;s=s.filter(t=>{return t<=e});i=t}if(s.length===r){n.apply(null,i);r=0}}}};e.exports.withIndex=function forEachBailWithIndex(e,t,n){if(e.length===0)return n();let r=e.length;let i;let s=[];for(let n=0;n{if(e>=r)return;s.push(e);if(t.length>0){r=e+1;s=s.filter(t=>{return t<=e});i=t}if(s.length===r){n.apply(null,i);r=0}}}}},3558:function(e,t,n){"use strict";const r=n(1627);const i=n(6202);class UnsupportedFeatureWarning extends r{constructor(e,t){super(e);this.name="UnsupportedFeatureWarning";this.loc=t;this.hideStack=true;Error.captureStackTrace(this,this.constructor)}}i(UnsupportedFeatureWarning,"webpack/lib/UnsupportedFeatureWarning");e.exports=UnsupportedFeatureWarning},3559:function(e,t,n){"use strict";const r=n(1580);let i=[];function farm(e,t,n){if(typeof e=="string"){n=t;t=e;e={}}let s=new r(e,t),o=s.setup(n);i.push({farm:s,api:o});return o}function end(e,t){for(let n=0;ngetPrioritizedHash},Promise:{default:()=>Promise},sep:{default:" "},single:{default:false},size:{},strict:{default:false}});class Hash{get isHash(){return true}constructor(e,t){t=f(t);const n=!!t.strict;this.source=e.trim();const r=this.source.match(n?c:u);if(!r){return}if(n&&!o.some(e=>e===r[1])){return}this.algorithm=r[1];this.digest=r[2];const i=r[3];this.options=i?i.slice(1).split("?"):[]}hexDigest(){return this.digest&&Buffer.from(this.digest,"base64").toString("hex")}toJSON(){return this.toString()}toString(e){e=f(e);if(e.strict){if(!(o.some(e=>e===this.algorithm)&&this.digest.match(a)&&(this.options||[]).every(e=>e.match(l)))){return""}}const t=this.options&&this.options.length?`?${this.options.join("?")}`:"";return`${this.algorithm}-${this.digest}${t}`}}class Integrity{get isIntegrity(){return true}toJSON(){return this.toString()}toString(e){e=f(e);let t=e.sep||" ";if(e.strict){t=t.replace(/\S+/g," ")}return Object.keys(this).map(n=>{return this[n].map(t=>{return Hash.prototype.toString.call(t,e)}).filter(e=>e.length).join(t)}).filter(e=>e.length).join(t)}concat(e,t){t=f(t);const n=typeof e==="string"?e:stringify(e,t);return parse(`${this.toString(t)} ${n}`,t)}hexDigest(){return parse(this,{single:true}).hexDigest()}match(e,t){t=f(t);const n=parse(e,t);const r=n.pickAlgorithm(t);return this[r]&&n[r]&&this[r].find(e=>n[r].find(t=>e.digest===t.digest))||false}pickAlgorithm(e){e=f(e);const t=e.pickAlgorithm;const n=Object.keys(this);if(!n.length){throw new Error(`No algorithms available for ${JSON.stringify(this.toString())}`)}return n.reduce((e,n)=>{return t(e,n)||e})}}e.exports.parse=parse;function parse(e,t){t=f(t);if(typeof e==="string"){return _parse(e,t)}else if(e.algorithm&&e.digest){const n=new Integrity;n[e.algorithm]=[e];return _parse(stringify(n,t),t)}else{return _parse(stringify(e,t),t)}}function _parse(e,t){if(t.single){return new Hash(e,t)}return e.trim().split(/\s+/).reduce((e,n)=>{const r=new Hash(n,t);if(r.algorithm&&r.digest){const t=r.algorithm;if(!e[t]){e[t]=[]}e[t].push(r)}return e},new Integrity)}e.exports.stringify=stringify;function stringify(e,t){t=f(t);if(e.algorithm&&e.digest){return Hash.prototype.toString.call(e,t)}else if(typeof e==="string"){return stringify(parse(e,t),t)}else{return Integrity.prototype.toString.call(e,t)}}e.exports.fromHex=fromHex;function fromHex(e,t,n){n=f(n);const r=n.options&&n.options.length?`?${n.options.join("?")}`:"";return parse(`${t}-${Buffer.from(e,"hex").toString("base64")}${r}`,n)}e.exports.fromData=fromData;function fromData(e,t){t=f(t);const n=t.algorithms;const i=t.options&&t.options.length?`?${t.options.join("?")}`:"";return n.reduce((n,s)=>{const o=r.createHash(s).update(e).digest("base64");const a=new Hash(`${s}-${o}${i}`,t);if(a.algorithm&&a.digest){const e=a.algorithm;if(!n[e]){n[e]=[]}n[e].push(a)}return n},new Integrity)}e.exports.fromStream=fromStream;function fromStream(e,t){t=f(t);const n=t.Promise||Promise;const r=integrityStream(t);return new n((t,n)=>{e.pipe(r);e.on("error",n);r.on("error",n);let i;r.on("integrity",e=>{i=e});r.on("end",()=>t(i));r.on("data",()=>{})})}e.exports.checkData=checkData;function checkData(e,t,n){n=f(n);t=parse(t,n);if(!Object.keys(t).length){if(n.error){throw Object.assign(new Error("No valid integrity hashes to check against"),{code:"EINTEGRITY"})}else{return false}}const i=t.pickAlgorithm(n);const s=r.createHash(i).update(e).digest("base64");const o=parse({algorithm:i,digest:s});const a=o.match(t,n);if(a||!n.error){return a}else if(typeof n.size==="number"&&e.length!==n.size){const r=new Error(`data size mismatch when checking ${t}.\n Wanted: ${n.size}\n Found: ${e.length}`);r.code="EBADSIZE";r.found=e.length;r.expected=n.size;r.sri=t;throw r}else{const n=new Error(`Integrity checksum failed when using ${i}: Wanted ${t}, but got ${o}. (${e.length} bytes)`);n.code="EINTEGRITY";n.found=o;n.expected=t;n.algorithm=i;n.sri=t;throw n}}e.exports.checkStream=checkStream;function checkStream(e,t,n){n=f(n);const r=n.Promise||Promise;const i=integrityStream(n.concat({integrity:t}));return new r((t,n)=>{e.pipe(i);e.on("error",n);i.on("error",n);let r;i.on("verified",e=>{r=e});i.on("end",()=>t(r));i.on("data",()=>{})})}e.exports.integrityStream=integrityStream;function integrityStream(e){e=f(e);const t=e.integrity&&parse(e.integrity,e);const n=t&&Object.keys(t).length;const i=n&&t.pickAlgorithm(e);const o=n&&t[i];const a=Array.from(new Set(e.algorithms.concat(i?[i]:[])));const u=a.map(r.createHash);let c=0;const l=new s({transform(e,t,n){c+=e.length;u.forEach(n=>n.update(e,t));n(null,e,t)}}).on("end",()=>{const r=e.options&&e.options.length?`?${e.options.join("?")}`:"";const s=parse(u.map((e,t)=>{return`${a[t]}-${e.digest("base64")}${r}`}).join(" "),e);const f=n&&s.match(t,e);if(typeof e.size==="number"&&c!==e.size){const n=new Error(`stream size mismatch when checking ${t}.\n Wanted: ${e.size}\n Found: ${c}`);n.code="EBADSIZE";n.found=c;n.expected=e.size;n.sri=t;l.emit("error",n)}else if(e.integrity&&!f){const e=new Error(`${t} integrity checksum failed when using ${i}: wanted ${o} but got ${s}. (${c} bytes)`);e.code="EINTEGRITY";e.found=s;e.expected=o;e.algorithm=i;e.sri=t;l.emit("error",e)}else{l.emit("size",c);l.emit("integrity",s);f&&l.emit("verified",f)}});return l}e.exports.create=createIntegrity;function createIntegrity(e){e=f(e);const t=e.algorithms;const n=e.options.length?`?${e.options.join("?")}`:"";const i=t.map(r.createHash);return{update:function(e,t){i.forEach(n=>n.update(e,t));return this},digest:function(r){const s=t.reduce((t,r)=>{const s=i.shift().digest("base64");const o=new Hash(`${r}-${s}${n}`,e);if(o.algorithm&&o.digest){const e=o.algorithm;if(!t[e]){t[e]=[]}t[e].push(o)}return t},new Integrity);return s}}}const d=new Set(r.getHashes());const p=["md5","whirlpool","sha1","sha224","sha256","sha384","sha512","sha3","sha3-256","sha3-384","sha3-512","sha3_256","sha3_384","sha3_512"].filter(e=>d.has(e));function getPrioritizedHash(e,t){return p.indexOf(e.toLowerCase())>=p.indexOf(t.toLowerCase())?e:t}},3571:function(e,t,n){"use strict";const r=n(1627);class WarnDeprecatedOptionPlugin{constructor(e,t,n){this.option=e;this.value=t;this.suggestion=n}apply(e){e.hooks.thisCompilation.tap("WarnDeprecatedOptionPlugin",e=>{e.warnings.push(new DeprecatedOptionWarning(this.option,this.value,this.suggestion))})}}class DeprecatedOptionWarning extends r{constructor(e,t,n){super();this.name="DeprecatedOptionWarning";this.message="configuration\n"+`The value '${t}' for option '${e}' is deprecated. `+`Use '${n}' instead.`;Error.captureStackTrace(this,this.constructor)}}e.exports=WarnDeprecatedOptionPlugin},3575:function(e,t,n){"use strict";const r=n(528);const i=n(3207);class SyncHookCodeFactory extends i{content({onError:e,onResult:t,onDone:n,rethrowIfPossible:r}){return this.callTapsSeries({onError:(t,n)=>e(n),onDone:n,rethrowIfPossible:r})}}const s=new SyncHookCodeFactory;class SyncHook extends r{tapAsync(){throw new Error("tapAsync is not supported on a SyncHook")}tapPromise(){throw new Error("tapPromise is not supported on a SyncHook")}compile(e){s.setup(this,e);return s.create(e)}}e.exports=SyncHook},3576:function(e,t,n){"use strict";const r=n(6253);const i=n(697);const s=n(3081);const{compareModulesById:o}=n(8673);const a=n(3608);const u=n(2234);const c=n(1267);const l=n(7307);class WebAssemblyModulesPlugin{constructor(e){this.options=e}apply(e){e.hooks.compilation.tap("WebAssemblyModulesPlugin",(e,{normalModuleFactory:t})=>{e.dependencyFactories.set(s,t);e.dependencyFactories.set(i,t);t.hooks.createParser.for("webassembly/experimental").tap("WebAssemblyModulesPlugin",()=>{return new l});t.hooks.createGenerator.for("webassembly/experimental").tap("WebAssemblyModulesPlugin",()=>{return r.byType({javascript:new c,webassembly:new a(this.options)})});e.chunkTemplate.hooks.renderManifest.tap("WebAssemblyModulesPlugin",(t,n)=>{const{moduleGraph:r,chunkGraph:i,runtimeTemplate:s}=e;const a=n.chunk;const u=n.outputOptions;const c=n.moduleTemplates;const l=n.dependencyTemplates;for(const e of i.getOrderedChunkModulesIterable(a,o(i))){if(e.type==="webassembly/experimental"){const n=u.webassemblyModuleFilename;t.push({render:()=>this.renderWebAssembly(e,c.webassembly,{chunk:a,dependencyTemplates:l,runtimeTemplate:s,moduleGraph:r,chunkGraph:i}),filenameTemplate:n,pathOptions:{module:e,chunkGraph:i},identifier:`webassemblyModule${i.getModuleId(e)}`,hash:i.getModuleHash(e)})}}return t});e.hooks.afterChunks.tap("WebAssemblyModulesPlugin",()=>{const t=e.chunkGraph;const n=new Set;for(const r of e.chunks){if(r.canBeInitial()){for(const e of t.getChunkModulesIterable(r)){if(e.type==="webassembly/experimental"){n.add(e)}}}}for(const t of n){e.errors.push(new u(t,e.moduleGraph,e.chunkGraph,e.requestShortener))}})})}renderWebAssembly(e,t,n){return t.render(e,n)}}e.exports=WebAssemblyModulesPlugin},3608:function(e,t,n){"use strict";const{RawSource:r}=n(2991);const i=n(6253);const s=n(5676);const o=n(8093);const{moduleContextFromModuleAST:a}=n(7852);const{editWithAST:u,addWithAST:c}=n(226);const{decode:l}=n(3432);const f=n(697);const d=(...e)=>{return e.reduce((e,t)=>{return n=>t(e(n))},e=>e)};const p=e=>t=>{return u(e.ast,t,{Start(e){e.remove()}})};const h=e=>{const t=[];o.traverse(e,{ModuleImport({node:e}){if(o.isGlobalType(e.descr)===true){t.push(e)}}});return t};const m=e=>{let t=0;o.traverse(e,{ModuleImport({node:e}){if(o.isFuncImportDescr(e.descr)===true){t++}}});return t};const g=e=>{const t=o.getSectionMetadata(e,"type");if(t===undefined){return o.indexLiteral(0)}return o.indexLiteral(t.vectorOfSize.value)};const y=(e,t)=>{const n=o.getSectionMetadata(e,"func");if(n===undefined){return o.indexLiteral(0+t)}const r=n.vectorOfSize.value;return o.indexLiteral(r+t)};const v=e=>{if(e.valtype[0]==="i"){return o.objectInstruction("const",e.valtype,[o.numberLiteralFromRaw(66)])}else if(e.valtype[0]==="f"){return o.objectInstruction("const",e.valtype,[o.floatLiteral(66,false,false,"66")])}else{throw new Error("unknown type: "+e.valtype)}};const b=e=>t=>{const n=e.additionalInitCode;const r=[];t=u(e.ast,t,{ModuleImport(e){if(o.isGlobalType(e.node.descr)===true){const t=e.node.descr;t.mutability="var";const n=[v(t),o.instruction("end")];r.push(o.global(t,n));e.remove()}},Global(e){const{node:t}=e;const[i]=t.init;if(i.id==="get_global"){t.globalType.mutability="var";const e=i.args[0];t.init=[v(t.globalType),o.instruction("end")];n.push(o.instruction("get_local",[e]),o.instruction("set_global",[o.indexLiteral(r.length)]))}r.push(t);e.remove()}});return c(e.ast,t,r)};const w=({ast:e,moduleGraph:t,module:n,externalExports:r})=>i=>{return u(e,i,{ModuleExport(e){const i=r.has(e.node.name);if(i){e.remove();return}const s=n.getUsedName(t,e.node.name);if(!s){e.remove();return}e.node.name=s}})};const E=({ast:e,usedDependencyMap:t})=>n=>{return u(e,n,{ModuleImport(e){const n=t.get(e.node.module+":"+e.node.name);if(n!==undefined){e.node.module=n.module;e.node.name=n.name}}})};const _=({ast:e,initFuncId:t,startAtFuncOffset:n,importedGlobals:r,additionalInitCode:i,nextFuncIndex:s,nextTypeIndex:a})=>u=>{const l=r.map(e=>{const t=o.identifier(`${e.module}.${e.name}`);return o.funcParam(e.descr.valtype,t)});const f=r.reduce((e,t,n)=>{const r=[o.indexLiteral(n)];const i=[o.instruction("get_local",r),o.instruction("set_global",r)];return[...e,...i]},[]);if(typeof n==="number"){f.push(o.callInstruction(o.numberLiteralFromRaw(n)))}for(const e of i){f.push(e)}f.push(o.instruction("end"));const d=[];const p=o.signature(l,d);const h=o.func(t,p,f);const m=o.typeInstruction(undefined,p);const g=o.indexInFuncSection(a);const y=o.moduleExport(t.value,o.moduleExportDescr("Func",s));return c(e,u,[h,y,g,m])};const S=(e,t,n)=>{const r=new Map;for(const i of s.getUsedDependencies(e,t,n)){const e=i.dependency;const t=e.request;const n=e.name;r.set(t+":"+n,i)}return r};const k=new Set(["webassembly"]);class WebAssemblyGenerator extends i{constructor(e){super();this.options=e}getTypes(){return k}getSize(e,t){const n=e.originalSource();if(!n){return 0}return n.size()}generate(e,{moduleGraph:t}){const n=e.originalSource().source();const i=n;const s=i;const u=o.identifier("");const c=l(s,{ignoreDataSection:true,ignoreCodeSection:true,ignoreCustomNameSection:true});const v=a(c.body[0]);const k=h(c);const C=m(c);const D=v.getStart();const A=y(c,C);const x=g(c);const M=S(t,e,this.options.mangleImports);const T=new Set(e.dependencies.filter(e=>e instanceof f).map(e=>{const t=e;return t.exportName}));const O=[];const F=d(w({ast:c,moduleGraph:t,module:e,externalExports:T}),p({ast:c}),b({ast:c,additionalInitCode:O}),E({ast:c,usedDependencyMap:M}),_({ast:c,initFuncId:u,importedGlobals:k,additionalInitCode:O,startAtFuncOffset:D,nextFuncIndex:A,nextTypeIndex:x}));const I=F(s);const R=Buffer.from(I);return new r(R)}}e.exports=WebAssemblyGenerator},3610:function(e){"use strict";e.exports=function(e){function PromiseInspection(e){if(e!==undefined){e=e._target();this._bitField=e._bitField;this._settledValueField=e._isFateSealed()?e._settledValue():undefined}else{this._bitField=0;this._settledValueField=undefined}}PromiseInspection.prototype._settledValue=function(){return this._settledValueField};var t=PromiseInspection.prototype.value=function(){if(!this.isFulfilled()){throw new TypeError("cannot get fulfillment value of a non-fulfilled promise\n\n See http://goo.gl/MqrFmX\n")}return this._settledValue()};var n=PromiseInspection.prototype.error=PromiseInspection.prototype.reason=function(){if(!this.isRejected()){throw new TypeError("cannot get rejection reason of a non-rejected promise\n\n See http://goo.gl/MqrFmX\n")}return this._settledValue()};var r=PromiseInspection.prototype.isFulfilled=function(){return(this._bitField&33554432)!==0};var i=PromiseInspection.prototype.isRejected=function(){return(this._bitField&16777216)!==0};var s=PromiseInspection.prototype.isPending=function(){return(this._bitField&50397184)===0};var o=PromiseInspection.prototype.isResolved=function(){return(this._bitField&50331648)!==0};PromiseInspection.prototype.isCancelled=function(){return(this._bitField&8454144)!==0};e.prototype.__isCancelled=function(){return(this._bitField&65536)===65536};e.prototype._isCancelled=function(){return this._target().__isCancelled()};e.prototype.isCancelled=function(){return(this._target()._bitField&8454144)!==0};e.prototype.isPending=function(){return s.call(this._target())};e.prototype.isRejected=function(){return i.call(this._target())};e.prototype.isFulfilled=function(){return r.call(this._target())};e.prototype.isResolved=function(){return o.call(this._target())};e.prototype.value=function(){return t.call(this._target())};e.prototype.reason=function(){var e=this._target();e._unsetRejectionIsUnhandled();return n.call(e)};e.prototype._value=function(){return this._settledValue()};e.prototype._reason=function(){this._unsetRejectionIsUnhandled();return this._settledValue()};e.PromiseInspection=PromiseInspection}},3620:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:true});t.shrinkPaddedLEB128=shrinkPaddedLEB128;var r=n(3432);var i=n(5688);function _typeof(e){if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(e){return typeof e}}else{_typeof=function _typeof(e){return e&&typeof Symbol==="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e}}return _typeof(e)}function _classCallCheck(e,t){if(!(e instanceof t)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(e,t){if(t&&(_typeof(t)==="object"||typeof t==="function")){return t}if(!e){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}function _inherits(e,t){if(typeof t!=="function"&&t!==null){throw new TypeError("Super expression must either be null or a function")}e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:false,writable:true,configurable:true}});if(t)Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t}var s=function(e){_inherits(OptimizerError,e);function OptimizerError(e,t){var n;_classCallCheck(this,OptimizerError);n=_possibleConstructorReturn(this,(OptimizerError.__proto__||Object.getPrototypeOf(OptimizerError)).call(this,"Error while optimizing: "+e+": "+t.message));n.stack=t.stack;return n}return OptimizerError}(Error);var o={ignoreCodeSection:true,ignoreDataSection:true};function shrinkPaddedLEB128(e){try{var t=(0,r.decode)(e.buffer,o);return(0,i.shrinkPaddedLEB128)(t,e)}catch(e){throw new s("shrinkPaddedLEB128",e)}}},3632:function(e,t,n){"use strict";const r=n(7703);const i=n(7365);const s=n(5808);const o=n(2255);class NodeEnvironmentPlugin{apply(e){e.inputFileSystem=new r(new i,6e4);const t=e.inputFileSystem;e.outputFileSystem=s;e.intermediateFileSystem=s;e.watchFileSystem=new o(e.inputFileSystem);e.hooks.beforeRun.tap("NodeEnvironmentPlugin",e=>{if(e.inputFileSystem===t){t.purge()}})}}e.exports=NodeEnvironmentPlugin},3641:function(e,t,n){"use strict";const r=n(3539);const i=n(6867);class EvalSourceMapDevToolPlugin{constructor(e={}){if(typeof e==="string"){e={append:e}}this.options=e}apply(e){const t=this.options;e.hooks.compilation.tap("EvalSourceMapDevToolPlugin",e=>{new i(t).apply(e);new r(e,t).apply(e.moduleTemplates.javascript)})}}e.exports=EvalSourceMapDevToolPlugin},3644:function(e,t,n){var r=n(4253);var i={};for(var s in r){if(r.hasOwnProperty(s)){i[r[s]]=s}}var o=e.exports={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};for(var a in o){if(o.hasOwnProperty(a)){if(!("channels"in o[a])){throw new Error("missing channels property: "+a)}if(!("labels"in o[a])){throw new Error("missing channel labels property: "+a)}if(o[a].labels.length!==o[a].channels){throw new Error("channel and label counts mismatch: "+a)}var u=o[a].channels;var c=o[a].labels;delete o[a].channels;delete o[a].labels;Object.defineProperty(o[a],"channels",{value:u});Object.defineProperty(o[a],"labels",{value:c})}}o.rgb.hsl=function(e){var t=e[0]/255;var n=e[1]/255;var r=e[2]/255;var i=Math.min(t,n,r);var s=Math.max(t,n,r);var o=s-i;var a;var u;var c;if(s===i){a=0}else if(t===s){a=(n-r)/o}else if(n===s){a=2+(r-t)/o}else if(r===s){a=4+(t-n)/o}a=Math.min(a*60,360);if(a<0){a+=360}c=(i+s)/2;if(s===i){u=0}else if(c<=.5){u=o/(s+i)}else{u=o/(2-s-i)}return[a,u*100,c*100]};o.rgb.hsv=function(e){var t;var n;var r;var i;var s;var o=e[0]/255;var a=e[1]/255;var u=e[2]/255;var c=Math.max(o,a,u);var l=c-Math.min(o,a,u);var f=function(e){return(c-e)/6/l+1/2};if(l===0){i=s=0}else{s=l/c;t=f(o);n=f(a);r=f(u);if(o===c){i=r-n}else if(a===c){i=1/3+t-r}else if(u===c){i=2/3+n-t}if(i<0){i+=1}else if(i>1){i-=1}}return[i*360,s*100,c*100]};o.rgb.hwb=function(e){var t=e[0];var n=e[1];var r=e[2];var i=o.rgb.hsl(e)[0];var s=1/255*Math.min(t,Math.min(n,r));r=1-1/255*Math.max(t,Math.max(n,r));return[i,s*100,r*100]};o.rgb.cmyk=function(e){var t=e[0]/255;var n=e[1]/255;var r=e[2]/255;var i;var s;var o;var a;a=Math.min(1-t,1-n,1-r);i=(1-t-a)/(1-a)||0;s=(1-n-a)/(1-a)||0;o=(1-r-a)/(1-a)||0;return[i*100,s*100,o*100,a*100]};function comparativeDistance(e,t){return Math.pow(e[0]-t[0],2)+Math.pow(e[1]-t[1],2)+Math.pow(e[2]-t[2],2)}o.rgb.keyword=function(e){var t=i[e];if(t){return t}var n=Infinity;var s;for(var o in r){if(r.hasOwnProperty(o)){var a=r[o];var u=comparativeDistance(e,a);if(u.04045?Math.pow((t+.055)/1.055,2.4):t/12.92;n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92;r=r>.04045?Math.pow((r+.055)/1.055,2.4):r/12.92;var i=t*.4124+n*.3576+r*.1805;var s=t*.2126+n*.7152+r*.0722;var o=t*.0193+n*.1192+r*.9505;return[i*100,s*100,o*100]};o.rgb.lab=function(e){var t=o.rgb.xyz(e);var n=t[0];var r=t[1];var i=t[2];var s;var a;var u;n/=95.047;r/=100;i/=108.883;n=n>.008856?Math.pow(n,1/3):7.787*n+16/116;r=r>.008856?Math.pow(r,1/3):7.787*r+16/116;i=i>.008856?Math.pow(i,1/3):7.787*i+16/116;s=116*r-16;a=500*(n-r);u=200*(r-i);return[s,a,u]};o.hsl.rgb=function(e){var t=e[0]/360;var n=e[1]/100;var r=e[2]/100;var i;var s;var o;var a;var u;if(n===0){u=r*255;return[u,u,u]}if(r<.5){s=r*(1+n)}else{s=r+n-r*n}i=2*r-s;a=[0,0,0];for(var c=0;c<3;c++){o=t+1/3*-(c-1);if(o<0){o++}if(o>1){o--}if(6*o<1){u=i+(s-i)*6*o}else if(2*o<1){u=s}else if(3*o<2){u=i+(s-i)*(2/3-o)*6}else{u=i}a[c]=u*255}return a};o.hsl.hsv=function(e){var t=e[0];var n=e[1]/100;var r=e[2]/100;var i=n;var s=Math.max(r,.01);var o;var a;r*=2;n*=r<=1?r:2-r;i*=s<=1?s:2-s;a=(r+n)/2;o=r===0?2*i/(s+i):2*n/(r+n);return[t,o*100,a*100]};o.hsv.rgb=function(e){var t=e[0]/60;var n=e[1]/100;var r=e[2]/100;var i=Math.floor(t)%6;var s=t-Math.floor(t);var o=255*r*(1-n);var a=255*r*(1-n*s);var u=255*r*(1-n*(1-s));r*=255;switch(i){case 0:return[r,u,o];case 1:return[a,r,o];case 2:return[o,r,u];case 3:return[o,a,r];case 4:return[u,o,r];case 5:return[r,o,a]}};o.hsv.hsl=function(e){var t=e[0];var n=e[1]/100;var r=e[2]/100;var i=Math.max(r,.01);var s;var o;var a;a=(2-n)*r;s=(2-n)*i;o=n*i;o/=s<=1?s:2-s;o=o||0;a/=2;return[t,o*100,a*100]};o.hwb.rgb=function(e){var t=e[0]/360;var n=e[1]/100;var r=e[2]/100;var i=n+r;var s;var o;var a;var u;if(i>1){n/=i;r/=i}s=Math.floor(6*t);o=1-r;a=6*t-s;if((s&1)!==0){a=1-a}u=n+a*(o-n);var c;var l;var f;switch(s){default:case 6:case 0:c=o;l=u;f=n;break;case 1:c=u;l=o;f=n;break;case 2:c=n;l=o;f=u;break;case 3:c=n;l=u;f=o;break;case 4:c=u;l=n;f=o;break;case 5:c=o;l=n;f=u;break}return[c*255,l*255,f*255]};o.cmyk.rgb=function(e){var t=e[0]/100;var n=e[1]/100;var r=e[2]/100;var i=e[3]/100;var s;var o;var a;s=1-Math.min(1,t*(1-i)+i);o=1-Math.min(1,n*(1-i)+i);a=1-Math.min(1,r*(1-i)+i);return[s*255,o*255,a*255]};o.xyz.rgb=function(e){var t=e[0]/100;var n=e[1]/100;var r=e[2]/100;var i;var s;var o;i=t*3.2406+n*-1.5372+r*-.4986;s=t*-.9689+n*1.8758+r*.0415;o=t*.0557+n*-.204+r*1.057;i=i>.0031308?1.055*Math.pow(i,1/2.4)-.055:i*12.92;s=s>.0031308?1.055*Math.pow(s,1/2.4)-.055:s*12.92;o=o>.0031308?1.055*Math.pow(o,1/2.4)-.055:o*12.92;i=Math.min(Math.max(0,i),1);s=Math.min(Math.max(0,s),1);o=Math.min(Math.max(0,o),1);return[i*255,s*255,o*255]};o.xyz.lab=function(e){var t=e[0];var n=e[1];var r=e[2];var i;var s;var o;t/=95.047;n/=100;r/=108.883;t=t>.008856?Math.pow(t,1/3):7.787*t+16/116;n=n>.008856?Math.pow(n,1/3):7.787*n+16/116;r=r>.008856?Math.pow(r,1/3):7.787*r+16/116;i=116*n-16;s=500*(t-n);o=200*(n-r);return[i,s,o]};o.lab.xyz=function(e){var t=e[0];var n=e[1];var r=e[2];var i;var s;var o;s=(t+16)/116;i=n/500+s;o=s-r/200;var a=Math.pow(s,3);var u=Math.pow(i,3);var c=Math.pow(o,3);s=a>.008856?a:(s-16/116)/7.787;i=u>.008856?u:(i-16/116)/7.787;o=c>.008856?c:(o-16/116)/7.787;i*=95.047;s*=100;o*=108.883;return[i,s,o]};o.lab.lch=function(e){var t=e[0];var n=e[1];var r=e[2];var i;var s;var o;i=Math.atan2(r,n);s=i*360/2/Math.PI;if(s<0){s+=360}o=Math.sqrt(n*n+r*r);return[t,o,s]};o.lch.lab=function(e){var t=e[0];var n=e[1];var r=e[2];var i;var s;var o;o=r/360*2*Math.PI;i=n*Math.cos(o);s=n*Math.sin(o);return[t,i,s]};o.rgb.ansi16=function(e){var t=e[0];var n=e[1];var r=e[2];var i=1 in arguments?arguments[1]:o.rgb.hsv(e)[2];i=Math.round(i/50);if(i===0){return 30}var s=30+(Math.round(r/255)<<2|Math.round(n/255)<<1|Math.round(t/255));if(i===2){s+=60}return s};o.hsv.ansi16=function(e){return o.rgb.ansi16(o.hsv.rgb(e),e[2])};o.rgb.ansi256=function(e){var t=e[0];var n=e[1];var r=e[2];if(t===n&&n===r){if(t<8){return 16}if(t>248){return 231}return Math.round((t-8)/247*24)+232}var i=16+36*Math.round(t/255*5)+6*Math.round(n/255*5)+Math.round(r/255*5);return i};o.ansi16.rgb=function(e){var t=e%10;if(t===0||t===7){if(e>50){t+=3.5}t=t/10.5*255;return[t,t,t]}var n=(~~(e>50)+1)*.5;var r=(t&1)*n*255;var i=(t>>1&1)*n*255;var s=(t>>2&1)*n*255;return[r,i,s]};o.ansi256.rgb=function(e){if(e>=232){var t=(e-232)*10+8;return[t,t,t]}e-=16;var n;var r=Math.floor(e/36)/5*255;var i=Math.floor((n=e%36)/6)/5*255;var s=n%6/5*255;return[r,i,s]};o.rgb.hex=function(e){var t=((Math.round(e[0])&255)<<16)+((Math.round(e[1])&255)<<8)+(Math.round(e[2])&255);var n=t.toString(16).toUpperCase();return"000000".substring(n.length)+n};o.hex.rgb=function(e){var t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t){return[0,0,0]}var n=t[0];if(t[0].length===3){n=n.split("").map(function(e){return e+e}).join("")}var r=parseInt(n,16);var i=r>>16&255;var s=r>>8&255;var o=r&255;return[i,s,o]};o.rgb.hcg=function(e){var t=e[0]/255;var n=e[1]/255;var r=e[2]/255;var i=Math.max(Math.max(t,n),r);var s=Math.min(Math.min(t,n),r);var o=i-s;var a;var u;if(o<1){a=s/(1-o)}else{a=0}if(o<=0){u=0}else if(i===t){u=(n-r)/o%6}else if(i===n){u=2+(r-t)/o}else{u=4+(t-n)/o+4}u/=6;u%=1;return[u*360,o*100,a*100]};o.hsl.hcg=function(e){var t=e[1]/100;var n=e[2]/100;var r=1;var i=0;if(n<.5){r=2*t*n}else{r=2*t*(1-n)}if(r<1){i=(n-.5*r)/(1-r)}return[e[0],r*100,i*100]};o.hsv.hcg=function(e){var t=e[1]/100;var n=e[2]/100;var r=t*n;var i=0;if(r<1){i=(n-r)/(1-r)}return[e[0],r*100,i*100]};o.hcg.rgb=function(e){var t=e[0]/360;var n=e[1]/100;var r=e[2]/100;if(n===0){return[r*255,r*255,r*255]}var i=[0,0,0];var s=t%1*6;var o=s%1;var a=1-o;var u=0;switch(Math.floor(s)){case 0:i[0]=1;i[1]=o;i[2]=0;break;case 1:i[0]=a;i[1]=1;i[2]=0;break;case 2:i[0]=0;i[1]=1;i[2]=o;break;case 3:i[0]=0;i[1]=a;i[2]=1;break;case 4:i[0]=o;i[1]=0;i[2]=1;break;default:i[0]=1;i[1]=0;i[2]=a}u=(1-n)*r;return[(n*i[0]+u)*255,(n*i[1]+u)*255,(n*i[2]+u)*255]};o.hcg.hsv=function(e){var t=e[1]/100;var n=e[2]/100;var r=t+n*(1-t);var i=0;if(r>0){i=t/r}return[e[0],i*100,r*100]};o.hcg.hsl=function(e){var t=e[1]/100;var n=e[2]/100;var r=n*(1-t)+.5*t;var i=0;if(r>0&&r<.5){i=t/(2*r)}else if(r>=.5&&r<1){i=t/(2*(1-r))}return[e[0],i*100,r*100]};o.hcg.hwb=function(e){var t=e[1]/100;var n=e[2]/100;var r=t+n*(1-t);return[e[0],(r-t)*100,(1-r)*100]};o.hwb.hcg=function(e){var t=e[1]/100;var n=e[2]/100;var r=1-n;var i=r-t;var s=0;if(i<1){s=(r-i)/(1-i)}return[e[0],i*100,s*100]};o.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]};o.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]};o.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]};o.gray.hsl=o.gray.hsv=function(e){return[0,0,e[0]]};o.gray.hwb=function(e){return[0,100,e[0]]};o.gray.cmyk=function(e){return[0,0,0,e[0]]};o.gray.lab=function(e){return[e[0],0,0]};o.gray.hex=function(e){var t=Math.round(e[0]/100*255)&255;var n=(t<<16)+(t<<8)+t;var r=n.toString(16).toUpperCase();return"000000".substring(r.length)+r};o.rgb.gray=function(e){var t=(e[0]+e[1]+e[2])/3;return[t/255*100]}},3653:function(e){"use strict";const t=e=>{let n="";for(const r in e){const i=e[r];if(typeof i==="object"&&i!==null){n+=`/${r}={${t(i)}}`}else{n+=`/${r}=${i}`}}return n};class ResolverCachePlugin{apply(e){const n=e.cache;let r;e.hooks.thisCompilation.tap("ResolverCachePlugin",e=>{r=e.fileSystemInfo});const i=(e,t,i,s,o,a)=>{const u={_ResolverCachePluginCacheMiss:true,...o};const c={...s,stack:new Set,missing:new Set,fileDependencies:new Set,contextDependencies:new Set};const l=e=>{if(s[e]){for(const t of c[e]){s[e].add(t)}}};const f=Date.now();i.doResolve(i.hooks.resolve,u,"Cache miss",c,(t,i)=>{l("missing");l("fileDependencies");l("contextDependencies");if(t)return a(t);const s=c.fileDependencies;const o=c.contextDependencies;const u=c.missing;if(i&&i.path){s.add(i.path)}r.createSnapshot(f,s,o,u,null,(t,r)=>{if(t)return a(t);n.store(e,null,{result:i,missing:c.missing,fileDependencies:c.fileDependencies,contextDependencies:c.contextDependencies,snapshot:r},e=>{if(e)return a(e);if(i)return a(null,i);a()})})})};e.resolverFactory.hooks.resolver.intercept({factory(e,s){s.tap("ResolverCachePlugin",(s,o)=>{if(o.cache!==true)return;s.hooks.resolve.tapAsync({name:"ResolverCachePlugin",stage:-100},(o,a,u)=>{if(o._ResolverCachePluginCacheMiss||!r){return u()}const c=`/resolve/${e}${t(o)}`;const l=(t,n)=>{if(t)return u(t);if(n){r.checkSnapshotValid(n.snapshot,(t,r)=>{if(t||!r){return i(c,e,s,a,o,u)}if(a.missing){for(const e of n.missing){a.missing.add(e)}}if(a.fileDependencies){for(const e of n.fileDependencies){a.fileDependencies.add(e)}}if(a.contextDependencies){for(const e of n.contextDependencies){a.contextDependencies.add(e)}}u(null,n.result)})}else{i(c,e,s,a,o,u)}};n.get(c,null,l)})});return s}})}}e.exports=ResolverCachePlugin},3656:function(e,t,n){"use strict";const r=n(9930);const i=50*1024*1024;const s=3*60*1e3;let o=new r({max:i,maxAge:s,length:(e,t)=>{if(t.startsWith("key:")){return e.data.length}else if(t.startsWith("digest:")){return e.length}}});e.exports.clearMemoized=clearMemoized;function clearMemoized(){const e={};o.forEach((t,n)=>{e[n]=t});o.reset();return e}e.exports.put=put;function put(e,t,n,r){pickMem(r).set(`key:${e}:${t.key}`,{entry:t,data:n});putDigest(e,t.integrity,n,r)}e.exports.put.byDigest=putDigest;function putDigest(e,t,n,r){pickMem(r).set(`digest:${e}:${t}`,n)}e.exports.get=get;function get(e,t,n){return pickMem(n).get(`key:${e}:${t}`)}e.exports.get.byDigest=getDigest;function getDigest(e,t,n){return pickMem(n).get(`digest:${e}:${t}`)}class ObjProxy{constructor(e){this.obj=e}get(e){return this.obj[e]}set(e,t){this.obj[e]=t}}function pickMem(e){if(!e||!e.memoize){return o}else if(e.memoize.get&&e.memoize.set){return e.memoize}else if(typeof e.memoize==="object"){return new ObjProxy(e.memoize)}else{return o}}},3679:function(e,t,n){"use strict";const r=n(1669);const i=n(3460);const s=n(3575);const o=n(2980);const a=n(2039);const u=n(2227);const c=/^\.$|^\.[\\\/]|^\.\.$|^\.\.[\/\\]|^\/|^[A-Z]:[\\\/]/i;const l=/[\/\\]$/i;const f=n(9987);const d=new Map;const p=n(8333);function withName(e,t){t.name=e;return t}function toCamelCase(e){return e.replace(/-([a-z])/g,e=>e.substr(1).toUpperCase())}const h=r.deprecate((e,t)=>{e.add(t)},"Resolver: 'missing' is now a Set. Use add instead of push.");const m=r.deprecate(e=>{return e},"Resolver: The callback argument was splitted into resolveContext and callback.");const g=r.deprecate(e=>{return e},"Resolver#doResolve: The type arguments (string) is now a hook argument (Hook). Pass a reference to the hook instead.");class Resolver extends i{constructor(e){super();this.fileSystem=e;this.hooks={resolveStep:withName("resolveStep",new s(["hook","request"])),noResolve:withName("noResolve",new s(["request","error"])),resolve:withName("resolve",new o(["request","resolveContext"])),result:new a(["result","resolveContext"])};this._pluginCompat.tap("Resolver: before/after",e=>{if(/^before-/.test(e.name)){e.name=e.name.substr(7);e.stage=-10}else if(/^after-/.test(e.name)){e.name=e.name.substr(6);e.stage=10}});this._pluginCompat.tap("Resolver: step hooks",e=>{const t=e.name;const n=!/^resolve(-s|S)tep$|^no(-r|R)esolve$/.test(t);if(n){e.async=true;this.ensureHook(t);const n=e.fn;e.fn=((e,t,r)=>{const i=(e,t)=>{if(e)return r(e);if(t!==undefined)return r(null,t);r()};for(const e in t){i[e]=t[e]}n.call(this,e,i)})}})}ensureHook(e){if(typeof e!=="string")return e;e=toCamelCase(e);if(/^before/.test(e)){return this.ensureHook(e[6].toLowerCase()+e.substr(7)).withOptions({stage:-10})}if(/^after/.test(e)){return this.ensureHook(e[5].toLowerCase()+e.substr(6)).withOptions({stage:10})}const t=this.hooks[e];if(!t){return this.hooks[e]=withName(e,new o(["request","resolveContext"]))}return t}getHook(e){if(typeof e!=="string")return e;e=toCamelCase(e);if(/^before/.test(e)){return this.getHook(e[6].toLowerCase()+e.substr(7)).withOptions({stage:-10})}if(/^after/.test(e)){return this.getHook(e[5].toLowerCase()+e.substr(6)).withOptions({stage:10})}const t=this.hooks[e];if(!t){throw new Error(`Hook ${e} doesn't exist`)}return t}resolveSync(e,t,n){let r,i,s=false;this.resolve(e,t,n,{},(e,t)=>{r=e;i=t;s=true});if(!s)throw new Error("Cannot 'resolveSync' because the fileSystem is not sync. Use 'resolve'!");if(r)throw r;return i}resolve(e,t,n,r,i){if(typeof i!=="function"){i=m(r)}const s={context:e,path:t,request:n};const o="resolve '"+n+"' in '"+t+"'";return this.doResolve(this.hooks.resolve,s,o,{missing:r.missing,stack:r.stack},(e,t)=>{if(!e&&t){return i(null,t.path===false?false:t.path+(t.query||""),t)}const n=new Set;n.push=(e=>h(n,e));const a=[];return this.doResolve(this.hooks.resolve,s,o,{log:e=>{if(r.log){r.log(e)}a.push(e)},missing:n,stack:r.stack},(e,t)=>{if(e)return i(e);const r=new Error("Can't "+o);r.details=a.join("\n");r.missing=Array.from(n);this.hooks.noResolve.call(s,r);return i(r)})})}doResolve(e,t,n,r,i){if(typeof i!=="function"){i=m(r)}if(typeof e==="string"){const t=toCamelCase(e);e=g(this.hooks[t]);if(!e){throw new Error(`Hook "${t}" doesn't exist`)}}if(typeof i!=="function")throw new Error("callback is not a function "+Array.from(arguments));if(!r)throw new Error("resolveContext is not an object "+Array.from(arguments));const s=e.name+": ("+t.path+") "+(t.request||"")+(t.query||"")+(t.directory?" directory":"")+(t.module?" module":"");let o;if(r.stack){o=new Set(r.stack);if(r.stack.has(s)){const e=new Error("Recursion in resolving\nStack:\n "+Array.from(o).join("\n "));e.recursion=true;if(r.log)r.log("abort resolving because of recursion");return i(e)}o.add(s)}else{o=new Set([s])}this.hooks.resolveStep.call(e,t);if(e.isUsed()){const s=u({log:r.log,missing:r.missing,stack:o},n);return e.callAsync(t,s,(e,t)=>{if(e)return i(e);if(t)return i(null,t);i()})}else{i()}}parse(e){if(e==="")return null;const t={request:"",query:"",module:false,directory:false,file:false};const n=e.indexOf("?");if(n===0){t.query=e}else if(n>0){t.request=e.slice(0,n);t.query=e.slice(n)}else{t.request=e}if(t.request){t.module=this.isModule(t.request);t.directory=this.isDirectory(t.request);if(t.directory){t.request=t.request.substr(0,t.request.length-1)}}return t}isModule(e){return!c.test(e)}isDirectory(e){return l.test(e)}join(e,t){let n;let r=d.get(e);if(typeof r==="undefined"){d.set(e,r=new Map)}else{n=r.get(t);if(typeof n!=="undefined")return n}n=f(e,t);r.set(t,n);return n}normalize(e){return p(e)}}e.exports=Resolver},3683:function(e,t,n){"use strict";const r=n(2112);class SizeOnlySource extends r{constructor(e){super();this._size=e}_error(){return new Error("Content and Map of this Source is not available (only size() is supported)")}size(){return this._size}source(e){throw this._error()}map(e){throw this._error()}updateHash(){throw this._error()}}e.exports=SizeOnlySource},3687:function(e){e.exports=wrappy;function wrappy(e,t){if(e&&t)return wrappy(e)(t);if(typeof e!=="function")throw new TypeError("need wrapper function");Object.keys(e).forEach(function(t){wrapper[t]=e[t]});return wrapper;function wrapper(){var t=new Array(arguments.length);for(var n=0;n{const i=r.getTreeRuntimeRequirements(t);if(!i.has(c.startupNoDefault)){if(r.getNumberOfEntryModules(t)>0){const e=[];const n=r.getTreeRuntimeRequirements(t);e.push("// Load entry module and return exports");let i=r.getNumberOfEntryModules(t);for(const s of r.getChunkEntryModulesIterable(t)){const t=--i===0?"return ":"";const o=r.getModuleId(s);let a=JSON.stringify(o);if(n.has(c.entryModuleId)){a=`${c.entryModuleId} = ${a}`}e.push(`${t}__webpack_require__(${a});`)}return l.asString(["// the startup function",n.has(c.startup)?`${c.startup} = function() {`:`function startup() {`,l.indent(e),"};"])}else if(i.has(c.startup)){return l.asString(["// the startup function","// It's empty as no entry modules are in this chunk",`${c.startup} = function() {}`])}}return e});this.hooks.startup.tap("MainTemplate",(e,{chunk:t,hash:n,chunkGraph:r})=>{const i=r.getTreeRuntimeRequirements(t);if(i.has(c.startup)){return l.asString(["// run startup",`return ${c.startup}();`])}else if(!i.has(c.startupNoDefault)&&r.getNumberOfEntryModules(t)>0){return l.asString(["// run startup",`return startup();`])}return e});this.hooks.render.tap("MainTemplate",(e,t,n)=>{const r=new s;r.add("/******/ (function(modules, runtime) { // webpackBootstrap\n");r.add('/******/ \t"use strict";\n');r.add(new a("/******/",e));r.add("/******/ })\n");r.add("/************************************************************************/\n");r.add("/******/ (");r.add(this.hooks.modules.call(new u(""),t,n));const i=n.chunkGraph.getChunkRuntimeModulesInOrder(n.chunk);if(i.length>0){r.add(",\n");r.add(l.renderChunkRuntimeModules(i,n))}r.add(")");return r});this.hooks.localVars.tap("MainTemplate",(e,t,n)=>{return l.asString([e,"// The module cache","var installedModules = {};"])});this.hooks.require.tap("MainTemplate",(t,n)=>{const{chunk:r,chunkGraph:i}=n;const s=i.getTreeRuntimeRequirements(r);const o=s.has(c.interceptModuleExecution)?l.asString(["var execOptions = { id: moduleId, module: module, factory: modules[moduleId], require: __webpack_require__ };",`${c.interceptModuleExecution}.forEach(function(handler) { handler(execOptions); });`,"module = execOptions.module;","execOptions.factory.call(module.exports, module, module.exports, execOptions.require);"]):l.asString(["modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);"]);return l.asString([t,"// Check if module is in cache","if(installedModules[moduleId]) {",l.indent("return installedModules[moduleId].exports;"),"}","// Create a new module (and put it into the cache)","var module = installedModules[moduleId] = {",l.indent(["i: moduleId,","l: false,","exports: {}"]),"};","",e.strictModuleExceptionHandling?l.asString(["// Execute the module function","var threw = true;","try {",l.indent([o,"threw = false;"]),"} finally {",l.indent(["if(threw) delete installedModules[moduleId];"]),"}"]):l.asString(["// Execute the module function",o]),"","// Flag the module as loaded","module.l = true;","","// Return the exports of the module","return module.exports;"])});this.hooks.requireExtensions.tap("MainTemplate",(e,t)=>{const{chunk:n,chunkGraph:r}=t;const i=[];const s=r.getTreeRuntimeRequirements(n);if(s.has(c.moduleFactories)){i.push("");i.push("// expose the modules object (__webpack_modules__)");i.push(`${c.moduleFactories} = modules;`)}if(s.has(c.moduleCache)){i.push("");i.push("// expose the module cache");i.push(`${c.moduleCache} = installedModules;`)}if(s.has(c.interceptModuleExecution)){i.push("");i.push("// expose the module execution interceptor");i.push(`${c.interceptModuleExecution} = [];`)}return l.asString(i)})}get requireFn(){return"__webpack_require__"}getRenderManifest(e){const t=[];this.hooks.renderManifest.call(t,e);return t}renderBootstrap(e){const{hash:t,chunk:n}=e;const r=[];r.push(this.hooks.bootstrap.call("",e));r.push(this.hooks.localVars.call("",n,t));r.push("");r.push("// The require function");r.push(`function __webpack_require__(moduleId) {`);r.push(l.indent(this.hooks.require.call("",e)));r.push("}");r.push("");r.push(l.asString(this.hooks.requireExtensions.call("",e)));r.push("");r.push(l.asString(this.hooks.beforeRuntime.call("",e)));if(e.chunkGraph.getNumberOfRuntimeModules(e.chunk)>0){r.push("// initialize runtime");r.push("runtime(__webpack_require__);")}r.push(l.asString(this.hooks.beforeStartup.call("",n,t)));r.push(l.asString(this.hooks.startup.call("",e)));return r}render(e,t){const{hash:n,chunk:r,chunkGraph:i}=t;const a=this.renderBootstrap(t);let u=this.hooks.render.call(new o(l.prefix(a," \t")+"\n","webpack/bootstrap"),e,t);if(i.getNumberOfEntryModules(r)>0){u=this.hooks.renderWithEntry.call(u,r,n)}if(!u){throw new Error("Compiler error: MainTemplate plugin 'render' should return something")}r.rendered=true;return new s(u,";")}getPublicPath(e){return this.hooks.assetPath.call(this.outputOptions.publicPath||"",e)}getAssetPath(e,t){return this.hooks.assetPath.call(e,t)}updateHash(e){e.update("maintemplate");e.update("3");this.hooks.hash.call(e)}updateHashForChunk(e,t,n){this.updateHash(e);this.hooks.hashForChunk.call(e,t);for(const r of this.renderBootstrap({hash:"0000",chunk:t,chunkGraph:n.chunkGraph,moduleGraph:n.moduleGraph,runtimeTemplate:n.runtimeTemplate})){e.update(r)}}}},3713:function(e){"use strict";e.exports=function mixinSourceAndMap(e){e.map=function(e){e=e||{};if(e.columns===false){return this.listMap(e).toStringWithSourceMap({file:"x"}).map}return this.node(e).toStringWithSourceMap({file:"x"}).map.toJSON()};e.sourceAndMap=function(e){e=e||{};if(e.columns===false){return this.listMap(e).toStringWithSourceMap({file:"x"})}var t=this.node(e).toStringWithSourceMap({file:"x"});return{source:t.code,map:t.map.toJSON()}}}},3717:function(e){"use strict";e.exports=function generate_errorMessage(e,t,n){var r=" ";var i=e.level;var s=e.dataLevel;var o=e.schema[t];var a=e.schemaPath+e.util.getProperty(t);var u=e.errSchemaPath+"/"+t;var c=!e.opts.allErrors;var l="data"+(s||"");if(e.createErrors!==false){var f=/\$\{[^\}]+\}/;var d=/\$\{([^\}]+)\}/g;var p=/^\'\'\s*\+\s*|\s*\+\s*\'\'$/g;var h=e.self.getKeyword(t).config,m="_em_dataPath"+i,g="_em_i"+i,y="_em_key"+i,v="_em_keyProp"+i,b="_em_err"+i,w="_em_child"+i,E="_em_childKeyword"+i,_="_em_matches"+i,S="_em_isArray"+i,k="_em_errors"+i,C="_em_message"+i,D="_em_paramsErrors"+i,A="_em_propParam"+i,x="_em_keywordPropParams"+i,M="_em_templates"+i,T=e.util.toQuotedString(e.errSchemaPath);r+=" if (errors > 0) { var "+m+" = (dataPath || '') + "+e.errorPath+"; var "+g+", "+b+", "+k+"; ";if(typeof o=="object"){var O={},F={},I={properties:{},items:{}},R=false,P=false,N=false;for(var L in o){switch(L){case"properties":for(var j in o.properties){P=true;I.properties[j]=[]}break;case"items":for(var B=0;B{if(e instanceof r)return e;return new HookWebpackError(e,t)};e.exports.makeWebpackError=i;const s=(e,t)=>{return(n,i)=>{if(n){if(n instanceof r){e(n);return}e(new HookWebpackError(n,t));return}e(null,i)}};e.exports.makeWebpackErrorCallback=s},3751:function(e,t,n){"use strict";var r=n(5622);var i=n(3979);e.exports=function(e,t,n){return r.join(e,(t?t+"-":"")+i(n))}},3793:function(e,t,n){"use strict";const r=n(6202);const{createFileSerializer:i,NOT_SERIALIZABLE:s,MEASURE_START_OPERATION:o,MEASURE_END_OPERATION:a}=n(4568);const u=2e4;class Pack{constructor(e,t){this.version=e;this.etags=new Map;this.content=new Map;this.lastAccess=new Map;this.lastSizes=new Map;this.unserializable=new Set;this.used=new Set;this.invalid=false;this.log=t}get(e,t){const n=this.etags.get(e);if(n===undefined)return undefined;if(n!==t)return undefined;this.used.add(e);const r=this.content.get(e);if(typeof r==="function"){return Promise.resolve(r()).then(t=>this._unpack(e,t,false))}else{return r}}set(e,t,n){if(this.unserializable.has(e))return;this.used.add(e);this.invalid=true;this.etags.set(e,t);return this.content.set(e,n)}collectGarbage(e){this._updateLastAccess();const t=Date.now();for(const[n,r]of this.lastAccess){if(t-r>e){this.lastAccess.delete(n);this.etags.delete(n);this.content.delete(n)}}}setLogLevel(e){this.log=e}_updateLastAccess(){const e=Date.now();for(const t of this.used){this.lastAccess.set(t,e)}this.used.clear()}serialize({write:e}){this._updateLastAccess();e(this.version);e(this.log);e(this.etags);e(this.unserializable);e(this.lastAccess);for(const[t,n]of this.content){e(t);if(typeof n==="function"){e(n)}else{const r=new PackEntry(n,this.log,t);const i=this.lastSizes.get(t);if(i>u){e(()=>r)}else{e(r)}}}e(null)}deserialize({read:e}){this.version=e();this.log=e();this.etags=e();this.unserializable=e();this.lastAccess=e();this.content=new Map;let t=e();while(t!==null){const n=e();if(typeof n==="function"){this.content.set(t,n)}else{this.content.set(t,this._unpack(t,n,true))}t=e()}}_unpack(e,t,n){const{data:r,size:i}=t;if(r===undefined){this.unserializable.add(e);this.lastSizes.delete(e);return undefined}else{this.lastSizes.set(e,i);if(n){if(i>u){this.invalid=true;if(this.log>=3){console.warn(`Moved ${e} from inline to lazy section for better performance.`)}}}else{if(i<=u){this.content.set(e,r);this.invalid=true;if(this.log>=3){console.warn(`Moved ${e} from lazy to inline section for better performance.`)}}}return r}}}r(Pack,"webpack/lib/cache/PackFileCacheStrategy","Pack");class PackEntry{constructor(e,t,n){this.data=e;this.size=undefined;this.log=t;this.identifier=n}serialize({write:e,snapshot:t,rollback:n}){const r=t();try{e(true);if(this.size===undefined){e(o);e(this.data);e(a)}else{e(this.data);e(this.size)}}catch(t){if(this.log>=1&&t!==s){console.warn(`Caching failed for ${this.identifier}: ${this.log>=4?t.stack:t}\nWe will not try to cache this entry again until the cache file is deleted.`)}n(r);e(false)}}deserialize({read:e}){if(e()){this.data=e();this.size=e()}}}r(PackEntry,"webpack/lib/cache/PackFileCacheStrategy","PackEntry");class PackFileCacheStrategy{constructor({fs:e,cacheLocation:t,version:n,loglevel:r}){this.fileSerializer=i(e);this.cacheLocation=t;const s=r?{debug:4,verbose:3,info:2,warning:1}[r]:0;this.log=s;this.packPromise=this.fileSerializer.deserialize({filename:`${t}.pack`}).then(e=>{if(e){if(!(e instanceof Pack)){if(s>=3){console.warn(`Restored pack from ${t}.pack, but is not a Pack.`)}return new Pack(n,s)}if(e.version!==n){if(s>=3){console.warn(`Restored pack from ${t}.pack, but version doesn't match.`)}return new Pack(n,s)}e.setLogLevel(s);return e}return new Pack(n,s)}).catch(e=>{if(s>=1&&e&&e.code!=="ENOENT"){console.warn(`Restoring pack failed from ${t}.pack: ${s>=4?e.stack:e}`)}return new Pack(n,s)})}store(e,t,n,r){return this.packPromise.then(r=>{if(this.log>=2){console.warn(`Cached ${e} to pack.`)}r.set(e,t,n)})}restore(e,t){return this.packPromise.then(n=>n.get(e,t)).catch(t=>{if(this.log>=1&&t&&t.code!=="ENOENT"){console.warn(`Restoring failed for ${e} from pack: ${this.log>=4?t.stack:t}`)}})}afterAllStored(){return this.packPromise.then(e=>{if(!e.invalid)return;if(this.log>=3){console.warn(`Storing pack...`)}e.collectGarbage(1e3*60*60*24*2);return this.fileSerializer.serialize(e,{filename:`${this.cacheLocation}.pack`}).then(()=>{if(this.log>=3){console.warn(`Stored pack`)}}).catch(e=>{if(this.log>=1){console.warn(`Caching failed for pack: ${this.log>=4?e.stack:e}`)}})})}}e.exports=PackFileCacheStrategy},3799:function(e){"use strict";function isArguments(e){return e!=null&&typeof e==="object"&&e.hasOwnProperty("callee")}var t={"*":{label:"any",check:function(){return true}},A:{label:"array",check:function(e){return Array.isArray(e)||isArguments(e)}},S:{label:"string",check:function(e){return typeof e==="string"}},N:{label:"number",check:function(e){return typeof e==="number"}},F:{label:"function",check:function(e){return typeof e==="function"}},O:{label:"object",check:function(e){return typeof e==="object"&&e!=null&&!t.A.check(e)&&!t.E.check(e)}},B:{label:"boolean",check:function(e){return typeof e==="boolean"}},E:{label:"error",check:function(e){return e instanceof Error}},Z:{label:"null",check:function(e){return e==null}}};function addSchema(e,t){var n=t[e.length]=t[e.length]||[];if(n.indexOf(e)===-1)n.push(e)}var n=e.exports=function(e,n){if(arguments.length!==2)throw wrongNumberOfArgs(["SA"],arguments.length);if(!e)throw missingRequiredArg(0,"rawSchemas");if(!n)throw missingRequiredArg(1,"args");if(!t.S.check(e))throw invalidType(0,["string"],e);if(!t.A.check(n))throw invalidType(1,["array"],n);var r=e.split("|");var i={};r.forEach(function(e){for(var n=0;n{n.hooks.recordModules.tap("RecordIdsPlugin",(s,o)=>{const a=n.chunkGraph;if(!o.modules)o.modules={};if(!o.modules.byIdentifier)o.modules.byIdentifier={};const u=new Set;for(const n of s){const r=a.getModuleId(n);if(typeof r!=="number")continue;const s=t?i.makePathsRelative(e.context,n.identifier(),e.root):n.identifier();o.modules.byIdentifier[s]=r;u.add(r)}o.modules.usedIds=Array.from(u).sort(r)});n.hooks.reviveModules.tap("RecordIdsPlugin",(r,s)=>{if(!s.modules)return;if(s.modules.byIdentifier){const o=n.chunkGraph;const a=new Set;for(const n of r){const r=o.getModuleId(n);if(r!==null)continue;const u=t?i.makePathsRelative(e.context,n.identifier(),e.root):n.identifier();const c=s.modules.byIdentifier[u];if(c===undefined)continue;if(a.has(c))continue;a.add(c);o.setModuleId(n,c)}}if(Array.isArray(s.modules.usedIds)){n.usedModuleIds=new Set(s.modules.usedIds)}});const s=n=>{if(t){return i.makePathsRelative(e.context,n.identifier(),e.root)}return n.identifier()};const o=e=>{const t=[];for(const n of e.groupsIterable){const r=n.chunks.indexOf(e);for(const e of n.origins){if(e.module){if(e.request){t.push(`${r} ${s(e.module)} ${e.request}`)}else if(typeof e.loc==="string"){t.push(`${r} ${s(e.module)} ${e.loc}`)}else if(e.loc&&typeof e.loc==="object"&&"start"in e.loc){t.push(`${r} ${s(e.module)} ${JSON.stringify(e.loc.start)}`)}}}}return t};n.hooks.recordChunks.tap("RecordIdsPlugin",(e,t)=>{if(!t.chunks)t.chunks={};if(!t.chunks.byName)t.chunks.byName={};if(!t.chunks.bySource)t.chunks.bySource={};const n=new Set;for(const r of e){if(typeof r.id!=="number")continue;const e=r.name;if(e)t.chunks.byName[e]=r.id;const i=o(r);for(const e of i){t.chunks.bySource[e]=r.id}n.add(r.id)}t.chunks.usedIds=Array.from(n).sort(r)});n.hooks.reviveChunks.tap("RecordIdsPlugin",(e,t)=>{if(!t.chunks)return;const r=new Set;if(t.chunks.byName){for(const n of e){if(n.id!==null)continue;if(!n.name)continue;const e=t.chunks.byName[n.name];if(e===undefined)continue;if(r.has(e))continue;r.add(e);n.id=e;n.ids=[e]}}if(t.chunks.bySource){for(const n of e){const e=o(n);for(const i of e){const e=t.chunks.bySource[i];if(e===undefined)continue;if(r.has(e))continue;r.add(e);n.id=e;n.ids=[e];break}}}if(Array.isArray(t.chunks.usedIds)){n.usedChunkIds=new Set(t.chunks.usedIds)}})})}}e.exports=RecordIdsPlugin},3811:function(e,t,n){"use strict";var r=/^[a-z_$][a-z0-9_$-]*$/i;var i=n(9819);e.exports={add:addKeyword,get:getKeyword,remove:removeKeyword};function addKeyword(e,t){var n=this.RULES;if(n.keywords[e])throw new Error("Keyword "+e+" is already defined");if(!r.test(e))throw new Error("Keyword "+e+" is not a valid identifier");if(t){if(t.macro&&t.valid!==undefined)throw new Error('"valid" option cannot be used with macro keywords');var s=t.type;if(Array.isArray(s)){var o,a=s.length;for(o=0;o{for(const n of t.conditions){const t=n.property;if(t in e){const r=e[t];if(!n.fn(r))return false}else if(!n.matchWhenEmpty){return false}}for(const r of t.effects){if(typeof r==="function"){const t=r(e);for(const e of t){n.push(e)}}else{n.push(r)}}if(t.rules){for(const i of t.rules){r(e,i,n)}}if(t.oneOf){for(const i of t.oneOf){if(r(e,i,n)){break}}}return true};return{references:t,exec:e=>{const t=[];for(const i of n){r(e,i,t)}return t}}}compileRules(e,t,n){return t.map((t,r)=>this.compileRule(`${e}[${r}]`,t,n))}compileRule(e,t,n){const r=new Set(Object.keys(t));const i={conditions:[],effects:[],rules:undefined,oneOf:undefined};this.hooks.rule.call(e,t,r,i,n);if(r.has("rules")){r.delete("rules");const s=t.rules;if(!Array.isArray(s))throw this.error(e,s,"Rule.rules must be an array of rules");i.rules=this.compileRules(`${e}.rules`,s,n)}if(r.has("oneOf")){r.delete("oneOf");const s=t.oneOf;if(!Array.isArray(s))throw this.error(e,s,"Rule.oneOf must be an array of rules");i.oneOf=this.compileRules(`${e}.oneOf`,s,n)}if(r.size>0){throw this.error(e,t,`Properties ${Array.from(r).join(", ")} are unknown`)}return i}compileCondition(e,t){if(!t){throw this.error(e,t,"Expected condition but got falsy value")}if(typeof t==="string"){return{matchWhenEmpty:t.length===0,fn:e=>e.startsWith(t)}}if(typeof t==="function"){try{return{matchWhenEmpty:t(""),fn:t}}catch(n){throw this.error(e,t,"Evaluation of condition function threw error")}}if(t instanceof RegExp){return{matchWhenEmpty:t.test(""),fn:e=>t.test(e)}}if(Array.isArray(t)){const n=t.map((t,n)=>this.compileCondition(`${e}[${n}]`,t));return this.combineConditionsOr(n)}if(typeof t!=="object"){throw this.error(e,t,`Unexcepted ${typeof t} when condition was expected`)}const n=[];for(const r of Object.keys(t)){const i=t[r];switch(r){case"or":if(i){if(!Array.isArray(i)){throw this.error(`${e}.or`,t.and,"Expected array of conditions")}n.push(this.compileCondition(`${e}.or`,i))}break;case"and":if(i){if(!Array.isArray(i)){throw this.error(`${e}.and`,t.and,"Expected array of conditions")}let r=0;for(const t of i){n.push(this.compileCondition(`${e}.and[${r}]`,t));r++}}break;case"not":if(i){const t=this.compileCondition(`${e}.not`,i);const r=t.fn;n.push({matchWhenEmpty:!t.matchWhenEmpty,fn:e=>!r(e)})}break;default:throw this.error(`${e}.${r}`,t[r],`Unexcepted property ${r} in condition`)}}if(n.length===0){throw this.error(e,t,"Expected condition, but got empty thing")}return this.combineConditionsAnd(n)}combineConditionsOr(e){if(e.length===0){return{matchWhenEmpty:false,fn:()=>false}}else if(e.length===1){return e[0]}else{return{matchWhenEmpty:e.some(e=>e.matchWhenEmpty),fn:t=>e.some(e=>e.fn(t))}}}combineConditionsAnd(e){if(e.length===0){return{matchWhenEmpty:false,fn:()=>false}}else if(e.length===1){return e[0]}else{return{matchWhenEmpty:e.every(e=>e.matchWhenEmpty),fn:t=>e.every(e=>e.fn(t))}}}error(e,t,n){return new Error(`Compiling RuleSet failed: ${n} (at ${e}: ${t})`)}}e.exports=RuleSetCompiler},3829:function(e,t,n){"use strict";const r=n(9541);const{dirname:i,mkdirp:s}=n(5396);const o=n(7503);const a=n(3065);class Section{constructor(e){this.items=e;this.parts=undefined;this.length=NaN;this.offset=NaN}resolve(){let e=false;let t=undefined;const n=[];let r=0;for(const i of this.items){if(typeof i==="function"){const s=i();if(s instanceof Promise){n.push(s.then(e=>new Section(e).resolve()));e=true}else if(s){n.push(new Section(s).resolve())}else{return null}r+=12;t=undefined}else if(t){t.push(i);r+=i.length}else{r+=4;r+=i.length;t=[i];n.push(t)}}this.length=r;if(e){return Promise.all(n).then(e=>{this.parts=e;if(!e.every(Boolean))return null;return this})}else{this.parts=n;return this}}getSections(){return this.parts.filter(e=>e instanceof Section)}emit(e){for(const t of this.parts){if(t instanceof Section){const n=Buffer.allocUnsafe(12);n.writeUInt32LE(0,0);n.writeUInt32LE(t.offset,4);n.writeUInt32LE(t.length,8);e.push(n)}else{const n=Buffer.allocUnsafe(4);e.push(n);let r=0;for(const n of t){r+=n.length;e.push(n)}n.writeUInt32LE(r,0)}}}}class FileManager{constructor(e){this.fs=e;this.jobs=new Map;this.processing=new Map}addJob(e,t,n,i){let s=this.jobs.get(e);let o=false;if(s===undefined){s=new r;this.jobs.set(e,s);o=true}s.enqueue({write:t,fn:n,errorHandler:i});if(o){this._startProcessing(e,s)}}_startProcessing(e,t){let n;let r=false;let i=undefined;const s=()=>{if(t.length===0){if(n!==undefined){o(s)}else{this.jobs.delete(e);this.processing.delete(e)}return}i=t.dequeue();if(n!==undefined&&r!==i.write){o(a)}else{a()}};const o=e=>{this.fs.close(n,t=>{if(t)return c(t);n=undefined;e()})};const a=()=>{if(n===undefined){r=i.write;this.fs.open(e,r?"w":"r",(e,t)=>{if(e)return c(e);n=t;u()})}else{u()}};const u=()=>{i.fn(n,e=>{if(e)return c(e);i=undefined;s()})};const c=e=>{if(i!==undefined){i.errorHandler(e)}else{console.error(`Error in FileManager: ${e.message}`)}s()};s()}}const u=new WeakMap;const c=e=>{const t=u.get(e);if(t!==undefined)return t;const n=new FileManager(e);u.set(e,n);return n};const l=(e,t,n,r,i)=>{return o(()=>{return new Promise((s,o)=>{t.addJob(n,false,(o,a)=>{d(e,t,n,o,r,i,(e,t)=>{if(e)return a(e);s(t);a()})},o)})})};const f=(e,t,n,r,i,s)=>{const o=n.length-r;e.read(t,n,r,o,i,(a,u)=>{if(a)return s(a);if(u===0){return s(new Error(`Unexpected end of file (${o} bytes missing at pos ${i}`))}if(u{const a=Buffer.allocUnsafe(s);f(e,r,a,0,i,r=>{if(r)return o(r);const i=[];let s=0;while(s{const i=e.createWriteStream(null,{fd:t,autoClose:false});let s=0;const o=function(){let e=true;while(e&&sr(e));i.on("finish",()=>r(null));o()};class FileMiddleware extends a{constructor(e){super();this.fs=e;this.fileManager=c(e)}serialize(e,{filename:t}){const n=new Section(e);const r=n.resolve();return Promise.resolve(r).then(e=>{if(!e)return null;let n=4;const r=e=>{e.offset=n;n+=e.length;for(const t of e.getSections()){r(t)}};r(e);const o=Buffer.allocUnsafe(4);o.writeUInt32LE(e.length,0);const a=[o];const u=(e,t)=>{e.emit(t);for(const n of e.getSections()){u(n,t)}};u(e,a);return new Promise((e,n)=>{s(this.fs,i(this.fs,t),r=>{if(r)return n(r);this.fileManager.addJob(t,true,(t,n)=>{p(this.fs,t,a,t=>{if(t)return n(t);e(true);n()})})})})})}deserialize(e,{filename:t}){return new Promise((e,n)=>{this.fileManager.addJob(t,false,(n,r)=>{const i=Buffer.allocUnsafe(4);f(this.fs,n,i,0,0,s=>{if(s)return r(s);const o=i.readUInt32LE(0);d(this.fs,this.fileManager,t,n,4,o,(t,n)=>{if(t)return r(t);e(n);r()})})},n)})}}e.exports=FileMiddleware},3835:function(e){"use strict";e.exports=balanced;function balanced(e,t,n){if(e instanceof RegExp)e=maybeMatch(e,n);if(t instanceof RegExp)t=maybeMatch(t,n);var r=range(e,t,n);return r&&{start:r[0],end:r[1],pre:n.slice(0,r[0]),body:n.slice(r[0]+e.length,r[1]),post:n.slice(r[1]+t.length)}}function maybeMatch(e,t){var n=t.match(e);return n?n[0]:null}balanced.range=range;function range(e,t,n){var r,i,s,o,a;var u=n.indexOf(e);var c=n.indexOf(t,u+1);var l=u;if(u>=0&&c>0){r=[];s=n.length;while(l>=0&&!a){if(l==u){r.push(l);u=n.indexOf(e,l+1)}else if(r.length==1){a=[r.pop(),c]}else{i=r.pop();if(i=0?u:c}if(r.length){a=[s,o]}}return a}},3842:function(e,t,n){"use strict";const r=n(8221);const i=n(6202);class AMDRequireDependenciesBlock extends r{constructor(e,t){super(null,e,t)}}i(AMDRequireDependenciesBlock,"webpack/lib/dependencies/AMDRequireDependenciesBlock");e.exports=AMDRequireDependenciesBlock},3858:function(e,t,n){"use strict";const r=n(3292);class CachedSource extends r{constructor(e){super();this._source=e;this._cachedSource=undefined;this._cachedSize=undefined;this._cachedMaps={};if(e.node)this.node=function(e){return this._source.node(e)};if(e.listMap)this.listMap=function(e){return this._source.listMap(e)}}source(){if(typeof this._cachedSource!=="undefined")return this._cachedSource;return this._cachedSource=this._source.source()}size(){if(typeof this._cachedSize!=="undefined")return this._cachedSize;if(typeof this._cachedSource!=="undefined")return this._cachedSize=this._cachedSource.length;return this._cachedSize=this._source.size()}sourceAndMap(e){const t=JSON.stringify(e);if(typeof this._cachedSource!=="undefined"&&t in this._cachedMaps)return{source:this._cachedSource,map:this._cachedMaps[t]};else if(typeof this._cachedSource!=="undefined"){return{source:this._cachedSource,map:this._cachedMaps[t]=this._source.map(e)}}else if(t in this._cachedMaps){return{source:this._cachedSource=this._source.source(),map:this._cachedMaps[t]}}const n=this._source.sourceAndMap(e);this._cachedSource=n.source;this._cachedMaps[t]=n.map;return{source:this._cachedSource,map:this._cachedMaps[t]}}map(e){if(!e)e={};const t=JSON.stringify(e);if(t in this._cachedMaps)return this._cachedMaps[t];return this._cachedMaps[t]=this._source.map()}updateHash(e){this._source.updateHash(e)}}e.exports=CachedSource},3866:function(e,t,n){"use strict";var r=n(9579),i=n(2253),s=n(2183),o=n(8868),a=n(5986),u=n(698),c=n(5041),l=n(398),f=n(778);e.exports=Ajv;Ajv.prototype.validate=validate;Ajv.prototype.compile=compile;Ajv.prototype.addSchema=addSchema;Ajv.prototype.addMetaSchema=addMetaSchema;Ajv.prototype.validateSchema=validateSchema;Ajv.prototype.getSchema=getSchema;Ajv.prototype.removeSchema=removeSchema;Ajv.prototype.addFormat=addFormat;Ajv.prototype.errorsText=errorsText;Ajv.prototype._addSchema=_addSchema;Ajv.prototype._compile=_compile;Ajv.prototype.compileAsync=n(8840);var d=n(3811);Ajv.prototype.addKeyword=d.add;Ajv.prototype.getKeyword=d.get;Ajv.prototype.removeKeyword=d.remove;var p=n(9411);Ajv.ValidationError=p.Validation;Ajv.MissingRefError=p.MissingRef;Ajv.$dataMetaSchema=l;var h="http://json-schema.org/draft-07/schema";var m=["removeAdditional","useDefaults","coerceTypes"];var g=["/properties"];function Ajv(e){if(!(this instanceof Ajv))return new Ajv(e);e=this._opts=f.copy(e)||{};setLogger(this);this._schemas={};this._refs={};this._fragments={};this._formats=u(e.format);this._cache=e.cache||new s;this._loadingSchemas={};this._compilations=[];this.RULES=c();this._getId=chooseGetId(e);e.loopRequired=e.loopRequired||Infinity;if(e.errorDataPath=="property")e._errorDataPathProperty=true;if(e.serialize===undefined)e.serialize=a;this._metaOpts=getMetaSchemaOptions(this);if(e.formats)addInitialFormats(this);addDefaultMetaSchema(this);if(typeof e.meta=="object")this.addMetaSchema(e.meta);if(e.nullable)this.addKeyword("nullable",{metaSchema:{const:true}});addInitialSchemas(this)}function validate(e,t){var n;if(typeof e=="string"){n=this.getSchema(e);if(!n)throw new Error('no schema with key or ref "'+e+'"')}else{var r=this._addSchema(e);n=r.validate||this._compile(r)}var i=n(t);if(n.$async!==true)this.errors=n.errors;return i}function compile(e,t){var n=this._addSchema(e,undefined,t);return n.validate||this._compile(n)}function addSchema(e,t,n,r){if(Array.isArray(e)){for(var s=0;s{t=Object.assign({cwd:process.cwd()},t);return s(e,e=>i(r.resolve(t.cwd,e)),t)});e.exports.sync=((e,t)=>{t=Object.assign({cwd:process.cwd()},t);for(const n of e){if(i.sync(r.resolve(t.cwd,n))){return n}}})},3877:function(e){"use strict";const t=(e,t,n)=>({keyword:"absolutePath",params:{absolutePath:t},message:n,parentSchema:e});const n=(e,n,r)=>{const i=e?`The provided value ${JSON.stringify(n)} is not an absolute path!`:`A relative path is expected. However, the provided value ${JSON.stringify(n)} is an absolute path!`;return t(r,n,i)};e.exports=(e=>e.addKeyword("absolutePath",{errors:true,type:"string",compile(e,r){function callback(i){let s=true;const o=i.includes("!");const a=e===/^(?:[A-Za-z]:\\|\/)/.test(i);if(o){callback.errors=[t(r,i,`The provided value ${JSON.stringify(i)} contains exclamation mark (!) which is not allowed because it's reserved for loader syntax.`)];s=false}if(!a){callback.errors=[n(e,i,r)];s=false}return s}callback.errors=[];return callback}}))},3881:function(e,t,n){"use strict";const r=n(3556);function loadDescriptionFile(e,t,n,i,s){(function findDescriptionFile(){r(n,(n,r)=>{const s=e.join(t,n);if(e.fileSystem.readJson){e.fileSystem.readJson(s,(e,t)=>{if(e){if(typeof e.code!=="undefined")return r();return onJson(e)}onJson(null,t)})}else{e.fileSystem.readFile(s,(e,t)=>{if(e)return r();let n;try{n=JSON.parse(t)}catch(e){onJson(e)}onJson(null,n)})}function onJson(e,n){if(e){if(i.log)i.log(s+" (directory description file): "+e);else e.message=s+" (directory description file): "+e;return r(e)}r(null,{content:n,directory:t,path:s})}},(e,n)=>{if(e)return s(e);if(n){return s(null,n)}else{t=cdUp(t);if(!t){return s()}else{return findDescriptionFile()}}})})()}function getField(e,t){if(!e)return undefined;if(Array.isArray(t)){let n=e;for(let e=0;e{const i=(e,n)=>{if(Array.isArray(e)){return new r(t,e,n)}throw new Error("DllPlugin: supply an Array as entry")};if(typeof n==="object"&&!Array.isArray(n)){Object.keys(n).forEach(t=>{i(n[t],t).apply(e)})}else{i(n,"main").apply(e)}return true});new s(this.options).apply(e);if(!this.options.entryOnly){new i("DllPlugin").apply(e)}}}e.exports=DllPlugin},3894:function(e,t,n){"use strict";e.exports=function(e){var t=n(9505);var r=n(4673).keys;var i=t.tryCatch;var s=t.errorObj;function catchFilter(n,o,a){return function(u){var c=a._boundValue();e:for(var l=0;l1&&arguments[1]!==undefined?arguments[1]:function(e){return e};var n={};var r=Object.keys(e);for(var i=0,s=r.length;i2&&arguments[2]!==undefined?arguments[2]:0;return{name:e,object:t,numberOfArgs:n}}function createSymbol(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;return{name:e,numberOfArgs:t}}var a={func:96,result:64};var u={0:"Func",1:"Table",2:"Mem",3:"Global"};var c=invertMap(u);var l={127:"i32",126:"i64",125:"f32",124:"f64"};var f=invertMap(l);var d={112:"anyfunc"};var p=Object.assign({},l,{64:null,127:"i32",126:"i64",125:"f32",124:"f64"});var h={0:"const",1:"var"};var m=invertMap(h);var g={0:"func",1:"table",2:"mem",3:"global"};var y={custom:0,type:1,import:2,func:3,table:4,memory:5,global:6,export:7,start:8,element:9,code:10,data:11};var v={0:createSymbol("unreachable"),1:createSymbol("nop"),2:createSymbol("block"),3:createSymbol("loop"),4:createSymbol("if"),5:createSymbol("else"),6:i,7:i,8:i,9:i,10:i,11:createSymbol("end"),12:createSymbol("br",1),13:createSymbol("br_if",1),14:createSymbol("br_table"),15:createSymbol("return"),16:createSymbol("call",1),17:createSymbol("call_indirect",2),18:i,19:i,20:i,21:i,22:i,23:i,24:i,25:i,26:createSymbol("drop"),27:createSymbol("select"),28:i,29:i,30:i,31:i,32:createSymbol("get_local",1),33:createSymbol("set_local",1),34:createSymbol("tee_local",1),35:createSymbol("get_global",1),36:createSymbol("set_global",1),37:i,38:i,39:i,40:createSymbolObject("load","u32",1),41:createSymbolObject("load","u64",1),42:createSymbolObject("load","f32",1),43:createSymbolObject("load","f64",1),44:createSymbolObject("load8_s","u32",1),45:createSymbolObject("load8_u","u32",1),46:createSymbolObject("load16_s","u32",1),47:createSymbolObject("load16_u","u32",1),48:createSymbolObject("load8_s","u64",1),49:createSymbolObject("load8_u","u64",1),50:createSymbolObject("load16_s","u64",1),51:createSymbolObject("load16_u","u64",1),52:createSymbolObject("load32_s","u64",1),53:createSymbolObject("load32_u","u64",1),54:createSymbolObject("store","u32",1),55:createSymbolObject("store","u64",1),56:createSymbolObject("store","f32",1),57:createSymbolObject("store","f64",1),58:createSymbolObject("store8","u32",1),59:createSymbolObject("store16","u32",1),60:createSymbolObject("store8","u64",1),61:createSymbolObject("store16","u64",1),62:createSymbolObject("store32","u64",1),63:createSymbolObject("current_memory"),64:createSymbolObject("grow_memory"),65:createSymbolObject("const","i32",1),66:createSymbolObject("const","i64",1),67:createSymbolObject("const","f32",1),68:createSymbolObject("const","f64",1),69:createSymbolObject("eqz","i32"),70:createSymbolObject("eq","i32"),71:createSymbolObject("ne","i32"),72:createSymbolObject("lt_s","i32"),73:createSymbolObject("lt_u","i32"),74:createSymbolObject("gt_s","i32"),75:createSymbolObject("gt_u","i32"),76:createSymbolObject("le_s","i32"),77:createSymbolObject("le_u","i32"),78:createSymbolObject("ge_s","i32"),79:createSymbolObject("ge_u","i32"),80:createSymbolObject("eqz","i64"),81:createSymbolObject("eq","i64"),82:createSymbolObject("ne","i64"),83:createSymbolObject("lt_s","i64"),84:createSymbolObject("lt_u","i64"),85:createSymbolObject("gt_s","i64"),86:createSymbolObject("gt_u","i64"),87:createSymbolObject("le_s","i64"),88:createSymbolObject("le_u","i64"),89:createSymbolObject("ge_s","i64"),90:createSymbolObject("ge_u","i64"),91:createSymbolObject("eq","f32"),92:createSymbolObject("ne","f32"),93:createSymbolObject("lt","f32"),94:createSymbolObject("gt","f32"),95:createSymbolObject("le","f32"),96:createSymbolObject("ge","f32"),97:createSymbolObject("eq","f64"),98:createSymbolObject("ne","f64"),99:createSymbolObject("lt","f64"),100:createSymbolObject("gt","f64"),101:createSymbolObject("le","f64"),102:createSymbolObject("ge","f64"),103:createSymbolObject("clz","i32"),104:createSymbolObject("ctz","i32"),105:createSymbolObject("popcnt","i32"),106:createSymbolObject("add","i32"),107:createSymbolObject("sub","i32"),108:createSymbolObject("mul","i32"),109:createSymbolObject("div_s","i32"),110:createSymbolObject("div_u","i32"),111:createSymbolObject("rem_s","i32"),112:createSymbolObject("rem_u","i32"),113:createSymbolObject("and","i32"),114:createSymbolObject("or","i32"),115:createSymbolObject("xor","i32"),116:createSymbolObject("shl","i32"),117:createSymbolObject("shr_s","i32"),118:createSymbolObject("shr_u","i32"),119:createSymbolObject("rotl","i32"),120:createSymbolObject("rotr","i32"),121:createSymbolObject("clz","i64"),122:createSymbolObject("ctz","i64"),123:createSymbolObject("popcnt","i64"),124:createSymbolObject("add","i64"),125:createSymbolObject("sub","i64"),126:createSymbolObject("mul","i64"),127:createSymbolObject("div_s","i64"),128:createSymbolObject("div_u","i64"),129:createSymbolObject("rem_s","i64"),130:createSymbolObject("rem_u","i64"),131:createSymbolObject("and","i64"),132:createSymbolObject("or","i64"),133:createSymbolObject("xor","i64"),134:createSymbolObject("shl","i64"),135:createSymbolObject("shr_s","i64"),136:createSymbolObject("shr_u","i64"),137:createSymbolObject("rotl","i64"),138:createSymbolObject("rotr","i64"),139:createSymbolObject("abs","f32"),140:createSymbolObject("neg","f32"),141:createSymbolObject("ceil","f32"),142:createSymbolObject("floor","f32"),143:createSymbolObject("trunc","f32"),144:createSymbolObject("nearest","f32"),145:createSymbolObject("sqrt","f32"),146:createSymbolObject("add","f32"),147:createSymbolObject("sub","f32"),148:createSymbolObject("mul","f32"),149:createSymbolObject("div","f32"),150:createSymbolObject("min","f32"),151:createSymbolObject("max","f32"),152:createSymbolObject("copysign","f32"),153:createSymbolObject("abs","f64"),154:createSymbolObject("neg","f64"),155:createSymbolObject("ceil","f64"),156:createSymbolObject("floor","f64"),157:createSymbolObject("trunc","f64"),158:createSymbolObject("nearest","f64"),159:createSymbolObject("sqrt","f64"),160:createSymbolObject("add","f64"),161:createSymbolObject("sub","f64"),162:createSymbolObject("mul","f64"),163:createSymbolObject("div","f64"),164:createSymbolObject("min","f64"),165:createSymbolObject("max","f64"),166:createSymbolObject("copysign","f64"),167:createSymbolObject("wrap/i64","i32"),168:createSymbolObject("trunc_s/f32","i32"),169:createSymbolObject("trunc_u/f32","i32"),170:createSymbolObject("trunc_s/f64","i32"),171:createSymbolObject("trunc_u/f64","i32"),172:createSymbolObject("extend_s/i32","i64"),173:createSymbolObject("extend_u/i32","i64"),174:createSymbolObject("trunc_s/f32","i64"),175:createSymbolObject("trunc_u/f32","i64"),176:createSymbolObject("trunc_s/f64","i64"),177:createSymbolObject("trunc_u/f64","i64"),178:createSymbolObject("convert_s/i32","f32"),179:createSymbolObject("convert_u/i32","f32"),180:createSymbolObject("convert_s/i64","f32"),181:createSymbolObject("convert_u/i64","f32"),182:createSymbolObject("demote/f64","f32"),183:createSymbolObject("convert_s/i32","f64"),184:createSymbolObject("convert_u/i32","f64"),185:createSymbolObject("convert_s/i64","f64"),186:createSymbolObject("convert_u/i64","f64"),187:createSymbolObject("promote/f32","f64"),188:createSymbolObject("reinterpret/f32","i32"),189:createSymbolObject("reinterpret/f64","i64"),190:createSymbolObject("reinterpret/i32","f32"),191:createSymbolObject("reinterpret/i64","f64")};var b=invertMap(v,function(e){if(typeof e.object==="string"){return"".concat(e.object,".").concat(e.name)}return e.name});var w={symbolsByByte:v,sections:y,magicModuleHeader:s,moduleVersion:o,types:a,valtypes:l,exportTypes:u,blockTypes:p,tableTypes:d,globalTypes:h,importTypes:g,valtypesByString:f,globalTypesByString:m,exportTypesByName:c,symbolsByName:b};t.default=w},3933:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:true});t.parse32F=parse32F;t.parse64F=parse64F;t.parse32I=parse32I;t.parseU32=parseU32;t.parse64I=parse64I;t.isInfLiteral=isInfLiteral;t.isNanLiteral=isNanLiteral;var r=_interopRequireDefault(n(1174));var i=_interopRequireDefault(n(8083));var s=n(5866);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function parse32F(e){if(isHexLiteral(e)){return(0,i.default)(e)}if(isInfLiteral(e)){return e[0]==="-"?-1:1}if(isNanLiteral(e)){return(e[0]==="-"?-1:1)*(e.includes(":")?parseInt(e.substring(e.indexOf(":")+1),16):4194304)}return parseFloat(e)}function parse64F(e){if(isHexLiteral(e)){return(0,i.default)(e)}if(isInfLiteral(e)){return e[0]==="-"?-1:1}if(isNanLiteral(e)){return(e[0]==="-"?-1:1)*(e.includes(":")?parseInt(e.substring(e.indexOf(":")+1),16):0x8000000000000)}if(isHexLiteral(e)){return(0,i.default)(e)}return parseFloat(e)}function parse32I(e){var t=0;if(isHexLiteral(e)){t=~~parseInt(e,16)}else if(isDecimalExponentLiteral(e)){throw new Error("This number literal format is yet to be implemented.")}else{t=parseInt(e,10)}return t}function parseU32(e){var t=parse32I(e);if(t<0){throw new s.CompileError("Illegal value for u32: "+e)}return t}function parse64I(e){var t;if(isHexLiteral(e)){t=r.default.fromString(e,false,16)}else if(isDecimalExponentLiteral(e)){throw new Error("This number literal format is yet to be implemented.")}else{t=r.default.fromString(e)}return{high:t.high,low:t.low}}var o=/^\+?-?nan/;var a=/^\+?-?inf/;function isInfLiteral(e){return a.test(e.toLowerCase())}function isNanLiteral(e){return o.test(e.toLowerCase())}function isDecimalExponentLiteral(e){return!isHexLiteral(e)&&e.toUpperCase().includes("E")}function isHexLiteral(e){return e.substring(0,2).toUpperCase()==="0X"||e.substring(0,3).toUpperCase()==="-0X"}},3938:function(e,t,n){"use strict";var r;try{throw new Error}catch(e){r=e}var i=n(585);var s=n(1460);function Async(){this._customScheduler=false;this._isTickUsed=false;this._lateQueue=new s(16);this._normalQueue=new s(16);this._haveDrainedQueues=false;var e=this;this.drainQueues=function(){e._drainQueues()};this._schedule=i}Async.prototype.setScheduler=function(e){var t=this._schedule;this._schedule=e;this._customScheduler=true;return t};Async.prototype.hasCustomScheduler=function(){return this._customScheduler};Async.prototype.haveItemsQueued=function(){return this._isTickUsed||this._haveDrainedQueues};Async.prototype.fatalError=function(e,t){if(t){process.stderr.write("Fatal "+(e instanceof Error?e.stack:e)+"\n");process.exit(2)}else{this.throwLater(e)}};Async.prototype.throwLater=function(e,t){if(arguments.length===1){t=e;e=function(){throw t}}if(typeof setTimeout!=="undefined"){setTimeout(function(){e(t)},0)}else try{this._schedule(function(){e(t)})}catch(e){throw new Error("No async scheduler available\n\n See http://goo.gl/MqrFmX\n")}};function AsyncInvokeLater(e,t,n){this._lateQueue.push(e,t,n);this._queueTick()}function AsyncInvoke(e,t,n){this._normalQueue.push(e,t,n);this._queueTick()}function AsyncSettlePromises(e){this._normalQueue._pushOne(e);this._queueTick()}Async.prototype.invokeLater=AsyncInvokeLater;Async.prototype.invoke=AsyncInvoke;Async.prototype.settlePromises=AsyncSettlePromises;function _drainQueue(e){while(e.length()>0){_drainQueueStep(e)}}function _drainQueueStep(e){var t=e.shift();if(typeof t!=="function"){t._settlePromises()}else{var n=e.shift();var r=e.shift();t.call(n,r)}}Async.prototype._drainQueues=function(){_drainQueue(this._normalQueue);this._reset();this._haveDrainedQueues=true;_drainQueue(this._lateQueue)};Async.prototype._queueTick=function(){if(!this._isTickUsed){this._isTickUsed=true;this._schedule(this.drainQueues)}};Async.prototype._reset=function(){this._isTickUsed=false};e.exports=Async;e.exports.firstLineError=r},3946:function(e,t,n){e.exports=n(2087).tmpdir()+"/ncc-cache"},3955:function(e,t,n){"use strict";const{OriginalSource:r,RawSource:i}=n(2991);const s=n(3453);const o=n(6150);const a=n(9422);const u=n(6076);class DelegatedModule extends s{constructor(e,t,n,r,i){super("javascript/dynamic",null);this.sourceRequest=e;this.request=t.id;this.delegationType=n;this.userRequest=r;this.originalRequest=i;this.delegateData=t;this.delegatedSourceDependency=undefined}libIdent(e){return typeof this.originalRequest==="string"?this.originalRequest:this.originalRequest.libIdent(e)}identifier(){return`delegated ${JSON.stringify(this.request)} from ${this.sourceRequest}`}readableIdentifier(e){return`delegated ${this.userRequest} from ${this.sourceRequest}`}needBuild(e,t){return t(null,!this.buildMeta)}build(e,t,n,r,i){this.buildMeta={...this.delegateData.buildMeta};this.buildInfo={};this.dependencies.length=0;this.delegatedSourceDependency=new a(this.sourceRequest);this.addDependency(this.delegatedSourceDependency);this.addDependency(new u(this.delegateData.exports||true,false));i()}source({runtimeTemplate:e,moduleGraph:t,chunkGraph:n}){const s=this.dependencies[0];const o=t.getModule(s);let a;if(!o){a=e.throwMissingModuleErrorBlock({request:this.sourceRequest})}else{a=`module.exports = (${e.moduleExports({module:o,chunkGraph:n,request:s.request,runtimeRequirements:new Set})})`;switch(this.delegationType){case"require":a+=`(${JSON.stringify(this.request)})`;break;case"object":a+=`[${JSON.stringify(this.request)}]`;break}a+=";"}if(this.useSourceMap){return new r(a,this.identifier())}else{return new i(a)}}getRuntimeRequirements(e){return[o.module,o.require]}size(e){return 42}updateHash(e,t){e.update(this.delegationType);e.update(JSON.stringify(this.request));super.updateHash(e,t)}}e.exports=DelegatedModule},3960:function(e){e.exports=shift;function shift(e){var t=e._readableState;if(!t)return null;return t.objectMode?e.read():e.read(getStateLength(t))}function getStateLength(e){if(e.buffer.length){if(e.buffer.head){return e.buffer.head.data.length}return e.buffer[0].length}return e.length}},3975:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:true});t.decode=decode;var r=n(5866);var i=_interopRequireWildcard(n(48));var s=_interopRequireWildcard(n(8040));var o=_interopRequireWildcard(n(8093));var a=n(9784);var u=_interopRequireDefault(n(3930));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _interopRequireWildcard(e){if(e&&e.__esModule){return e}else{var t={};if(e!=null){for(var n in e){if(Object.prototype.hasOwnProperty.call(e,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,n):{};if(r.get||r.set){Object.defineProperty(t,n,r)}else{t[n]=e[n]}}}}t.default=e;return t}}function _toConsumableArray(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t=n.length}function eatBytes(e){l=l+e}function readBytesAtOffset(e,t){var r=[];for(var i=0;i>7?-1:1;var r=0;for(var s=0;s>7?-1:1;var r=0;for(var s=0;sn.length){throw new Error("unexpected end")}var e=readBytes(4);if(byteArrayEq(u.default.magicModuleHeader,e)===false){throw new r.CompileError("magic header not detected")}dump(e,"wasm magic header");eatBytes(4)}function parseVersion(){if(isEOF()===true||l+4>n.length){throw new Error("unexpected end")}var e=readBytes(4);if(byteArrayEq(u.default.moduleVersion,e)===false){throw new r.CompileError("unknown binary version")}dump(e,"wasm version");eatBytes(4)}function parseVec(e){var t=readU32();var n=t.value;eatBytes(t.nextIndex);dump([n],"number");if(n===0){return[]}var i=[];for(var s=0;s=40&&i<=64){if(s.name==="grow_memory"||s.name==="current_memory"){var Y=readU32();var Q=Y.value;eatBytes(Y.nextIndex);if(Q!==0){throw new Error("zero flag expected")}dump([Q],"index")}else{var Z=readU32();var $=Z.value;eatBytes(Z.nextIndex);dump([$],"align");var ee=readU32();var te=ee.value;eatBytes(ee.nextIndex);dump([te],"offset")}}else if(i>=65&&i<=68){if(s.object==="i32"){var ne=read32();var re=ne.value;eatBytes(ne.nextIndex);dump([re],"i32 value");l.push(o.numberLiteralFromRaw(re))}if(s.object==="u32"){var ie=readU32();var se=ie.value;eatBytes(ie.nextIndex);dump([se],"u32 value");l.push(o.numberLiteralFromRaw(se))}if(s.object==="i64"){var oe=read64();var ae=oe.value;eatBytes(oe.nextIndex);dump([Number(ae.toString())],"i64 value");var ue=ae.high,ce=ae.low;var le={type:"LongNumberLiteral",value:{high:ue,low:ce}};l.push(le)}if(s.object==="u64"){var fe=readU64();var de=fe.value;eatBytes(fe.nextIndex);dump([Number(de.toString())],"u64 value");var pe=de.high,he=de.low;var me={type:"LongNumberLiteral",value:{high:pe,low:he}};l.push(me)}if(s.object==="f32"){var ge=readF32();var ye=ge.value;eatBytes(ge.nextIndex);dump([ye],"f32 value");l.push(o.floatLiteral(ye,ge.nan,ge.inf,String(ye)))}if(s.object==="f64"){var ve=readF64();var be=ve.value;eatBytes(ve.nextIndex);dump([be],"f64 value");l.push(o.floatLiteral(be,ve.nan,ve.inf,String(be)))}}else{for(var we=0;we=e||e===u.default.sections.custom){e=n+1}else{if(n!==u.default.sections.custom)throw new r.CompileError("Unexpected section: "+toHex(n))}var i=e;var s=l;var a=getPosition();var c=readU32();var f=c.value;eatBytes(c.nextIndex);var d=function(){var e=getPosition();return o.withLoc(o.numberLiteralFromRaw(f),e,a)}();switch(n){case u.default.sections.type:{dumpSep("section Type");dump([n],"section code");dump([f],"section size");var p=getPosition();var h=readU32();var m=h.value;eatBytes(h.nextIndex);var g=o.sectionMetadata("type",s,d,function(){var e=getPosition();return o.withLoc(o.numberLiteralFromRaw(m),e,p)}());var y=parseTypeSection(m);return{nodes:y,metadata:g,nextSectionIndex:i}}case u.default.sections.table:{dumpSep("section Table");dump([n],"section code");dump([f],"section size");var v=getPosition();var b=readU32();var w=b.value;eatBytes(b.nextIndex);dump([w],"num tables");var E=o.sectionMetadata("table",s,d,function(){var e=getPosition();return o.withLoc(o.numberLiteralFromRaw(w),e,v)}());var _=parseTableSection(w);return{nodes:_,metadata:E,nextSectionIndex:i}}case u.default.sections.import:{dumpSep("section Import");dump([n],"section code");dump([f],"section size");var S=getPosition();var k=readU32();var C=k.value;eatBytes(k.nextIndex);dump([C],"number of imports");var D=o.sectionMetadata("import",s,d,function(){var e=getPosition();return o.withLoc(o.numberLiteralFromRaw(C),e,S)}());var A=parseImportSection(C);return{nodes:A,metadata:D,nextSectionIndex:i}}case u.default.sections.func:{dumpSep("section Function");dump([n],"section code");dump([f],"section size");var x=getPosition();var M=readU32();var T=M.value;eatBytes(M.nextIndex);var O=o.sectionMetadata("func",s,d,function(){var e=getPosition();return o.withLoc(o.numberLiteralFromRaw(T),e,x)}());parseFuncSection(T);var F=[];return{nodes:F,metadata:O,nextSectionIndex:i}}case u.default.sections.export:{dumpSep("section Export");dump([n],"section code");dump([f],"section size");var I=getPosition();var R=readU32();var P=R.value;eatBytes(R.nextIndex);var N=o.sectionMetadata("export",s,d,function(){var e=getPosition();return o.withLoc(o.numberLiteralFromRaw(P),e,I)}());parseExportSection(P);var L=[];return{nodes:L,metadata:N,nextSectionIndex:i}}case u.default.sections.code:{dumpSep("section Code");dump([n],"section code");dump([f],"section size");var j=getPosition();var B=readU32();var U=B.value;eatBytes(B.nextIndex);var G=o.sectionMetadata("code",s,d,function(){var e=getPosition();return o.withLoc(o.numberLiteralFromRaw(U),e,j)}());if(t.ignoreCodeSection===true){var z=f-B.nextIndex;eatBytes(z)}else{parseCodeSection(U)}var H=[];return{nodes:H,metadata:G,nextSectionIndex:i}}case u.default.sections.start:{dumpSep("section Start");dump([n],"section code");dump([f],"section size");var q=o.sectionMetadata("start",s,d);var W=[parseStartSection()];return{nodes:W,metadata:q,nextSectionIndex:i}}case u.default.sections.element:{dumpSep("section Element");dump([n],"section code");dump([f],"section size");var V=getPosition();var K=readU32();var X=K.value;eatBytes(K.nextIndex);var J=o.sectionMetadata("element",s,d,function(){var e=getPosition();return o.withLoc(o.numberLiteralFromRaw(X),e,V)}());var Y=parseElemSection(X);return{nodes:Y,metadata:J,nextSectionIndex:i}}case u.default.sections.global:{dumpSep("section Global");dump([n],"section code");dump([f],"section size");var Q=getPosition();var Z=readU32();var $=Z.value;eatBytes(Z.nextIndex);var ee=o.sectionMetadata("global",s,d,function(){var e=getPosition();return o.withLoc(o.numberLiteralFromRaw($),e,Q)}());var te=parseGlobalSection($);return{nodes:te,metadata:ee,nextSectionIndex:i}}case u.default.sections.memory:{dumpSep("section Memory");dump([n],"section code");dump([f],"section size");var ne=getPosition();var re=readU32();var ie=re.value;eatBytes(re.nextIndex);var se=o.sectionMetadata("memory",s,d,function(){var e=getPosition();return o.withLoc(o.numberLiteralFromRaw(ie),e,ne)}());var oe=parseMemorySection(ie);return{nodes:oe,metadata:se,nextSectionIndex:i}}case u.default.sections.data:{dumpSep("section Data");dump([n],"section code");dump([f],"section size");var ae=o.sectionMetadata("data",s,d);var ue=getPosition();var ce=readU32();var le=ce.value;eatBytes(ce.nextIndex);ae.vectorOfSize=function(){var e=getPosition();return o.withLoc(o.numberLiteralFromRaw(le),e,ue)}();if(t.ignoreDataSection===true){var fe=f-ce.nextIndex;eatBytes(fe);dumpSep("ignore data ("+f+" bytes)");return{nodes:[],metadata:ae,nextSectionIndex:i}}else{var de=parseDataSection(le);return{nodes:de,metadata:ae,nextSectionIndex:i}}}case u.default.sections.custom:{dumpSep("section Custom");dump([n],"section code");dump([f],"section size");var pe=[o.sectionMetadata("custom",s,d)];var he=readUTF8String();eatBytes(he.nextIndex);dump([],"section name (".concat(he.value,")"));var me=f-he.nextIndex;if(he.value==="name"){var ge=l;try{pe.push.apply(pe,_toConsumableArray(parseNameSection(me)))}catch(e){console.warn('Failed to decode custom "name" section @'.concat(l,"; ignoring (").concat(e.message,")."));eatBytes(l-(ge+me))}}else if(he.value==="producers"){var ye=l;try{pe.push(parseProducersSection())}catch(e){console.warn('Failed to decode custom "producers" section @'.concat(l,"; ignoring (").concat(e.message,")."));eatBytes(l-(ye+me))}}else{eatBytes(me);dumpSep("ignore custom "+JSON.stringify(he.value)+" section ("+me+" bytes)")}return{nodes:[],metadata:pe,nextSectionIndex:i}}}throw new r.CompileError("Unexpected section: "+toHex(n))}parseModuleHeader();parseVersion();var d=[];var p=0;var h={sections:[],functionNames:[],localNames:[],producers:[]};while(l0?t.slice(0,n):t;r+="\n\n"+"BREAKING CHANGE: "+"webpack < 5 used to include polyfills for node.js core modules by default.\n"+"This is no longer the case. Verify if you need these module and configure a polyfill for it.\n\n";if(e!==t){r+="If you want to include a polyfill, you need to:\n"+`\t- add an alias 'resolve.alias: { "${e}": "${t}" }'\n`+`\t- install '${i}'\n`}else{r+=`If you want to include a polyfill, you need to install '${i}'.\n`}r+="If you don't want to include a polyfill, you can use an empty module like this:\n"+`\tresolve.alias: { "${e}": false }`}}super(r);this.name="ModuleNotFoundError";this.details=t.details;this.missing=t.missing;this.module=e;this.error=t;this.loc=n;Error.captureStackTrace(this,this.constructor)}}e.exports=ModuleNotFoundError},4038:function(e,t,n){"use strict";const r=n(5925).chunkHasJs;const i=n(6150);const s=n(6804);const o=n(8159);const a=n(7274);const u=n(7091).getEntryInfo;class JsonpChunkLoadingRuntimeModule extends s{constructor(e,t,n,r,i,s,o){super("jsonp chunk loading",10);this.chunk=e;this.chunkGraph=t;this.outputOptions=n;this.runtimeRequirements=r;this.jsonpScript=i;this.linkPreload=s;this.linkPrefetch=o}generate(){const{chunk:e,jsonpScript:t,linkPreload:s,linkPrefetch:c,chunkGraph:l,outputOptions:f}=this;const d=i.ensureChunkHandlers;const p=e=>{const t=e.getChildIdsByOrdersMap(l,true,r).prefetch;return t&&Object.keys(t).length};const h=this.runtimeRequirements.has(i.ensureChunkHandlers);const m=e=>{for(const t of e.groupsIterable){if(t.chunks.length>1)return true}return false};const g=m(e);const y=this.runtimeRequirements.has(i.hmrDownloadUpdateHandlers);const v=this.runtimeRequirements.has(i.hmrDownloadManifest);const b=p(e);const w=e.getChildIdsByOrdersMap(l,false,r).preload;const E=w&&Object.keys(w).length>0;const _=e.getChildIdsByOrders(l,false,r).prefetch;const S=u(l,e);const k=`${f.globalObject}[${JSON.stringify(f.jsonpFunction)}]`;const C=a(l.getChunkConditionMap(e,r));return o.asString([E?`var chunkPreloadMap = ${JSON.stringify(w,null,"\t")};`:"","","// object to store loaded and loading chunks","// undefined = chunk not loaded, null = chunk preloaded/prefetched","// Promise = chunk loading, 0 = chunk loaded","var installedChunks = {",o.indent(e.ids.map(e=>`${JSON.stringify(e)}: 0`).join(",\n")),"};","",g?o.asString(["var deferredModules = [",o.indent(S.map(e=>JSON.stringify(e)).join(",\n")),"];"]):"",g&&b?o.asString(["var deferredPrefetch = [",_&&_.length>0?o.indent(_.map(e=>JSON.stringify(e)).join(",\n")):"// no initial prefetched chunks","];"]):"","",h?o.asString([`${d}.j = function(chunkId, promises) {`,C!==false?o.indent(["// JSONP chunk loading for javascript",`var installedChunkData = installedChunks[chunkId];`,'if(installedChunkData !== 0) { // 0 means "already installed".',o.indent(["",'// a Promise means "currently loading".',"if(installedChunkData) {",o.indent(["promises.push(installedChunkData[2]);"]),"} else {",o.indent([C===true?"if(true) { // all chunks have JS":`if(${C("chunkId")}) {`,o.indent(["// setup Promise in chunk cache","var promise = new Promise(function(resolve, reject) {",o.indent([`installedChunkData = installedChunks[chunkId] = [resolve, reject];`]),"});","promises.push(installedChunkData[2] = promise);","","// start chunk loading",`var url = ${i.publicPath} + ${i.getChunkScriptFilename}(chunkId);`,"var loadingEnded = function() { if(installedChunks[chunkId]) return installedChunks[chunkId][1]; if(installedChunks[chunkId] !== 0) installedChunks[chunkId] = undefined; };",t.call("",e),"document.head.appendChild(script);"]),"} else installedChunks[chunkId] = 0;","",y?"if(currentUpdateChunks && currentUpdateChunks[chunkId]) promises.push(loadUpdateChunk(chunkId));":"// no HMR"]),"}"]),"}","",E?o.asString(["// chunk preloading for javascript",`var chunkPreloadData = chunkPreloadMap[chunkId];`,"if(chunkPreloadData) {",o.indent(["chunkPreloadData.forEach(function(chunkId) {",o.indent(["if(installedChunks[chunkId] === undefined) {",o.indent(["installedChunks[chunkId] = null;",s.call("",e),"document.head.appendChild(link);"]),"}"]),"});"]),"}"]):"// no chunk preloading needed"]):o.indent(["installedChunks[chunkId] = 0;","",y?"if(currentUpdateChunks && currentUpdateChunks[chunkId]) promises.push(loadUpdateChunk(chunkId));":"// no HMR"]),"};"]):"// no chunk on demand loading","",b?o.asString(["function prefetchChunk(chunkId) {",o.indent(["if(installedChunks[chunkId] === undefined) {",o.indent(["installedChunks[chunkId] = null;",c.call("",e),"document.head.appendChild(link);"]),"}"]),"}"]):"// no prefetching","",y?o.asString(["var currentUpdateChunks;","var currentUpdate;","var currentUpdateRuntime;","var currentUpdatedModulesList;","var waitingUpdateResolves = {};","function loadUpdateChunk(chunkId) {",o.indent(["return new Promise(function(resolve, reject) {",o.indent(["waitingUpdateResolves[chunkId] = resolve;","// start update chunk loading",`var url = ${i.publicPath} + ${i.getChunkUpdateScriptFilename}(chunkId);`,"var loadingEnded = function() {",o.indent(["if(waitingUpdateResolves[chunkId]) {",o.indent(["waitingUpdateResolves[chunkId] = undefined","return reject;"]),"}"]),"};",t.call("",e),"document.head.appendChild(script);"]),"});"]),"}","",`${f.globalObject}[${JSON.stringify(f.hotUpdateFunction)}] = function(chunkId, moreModules, runtime) {`,o.indent(["for(var moduleId in moreModules) {",o.indent(["if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {",o.indent(["currentUpdate[moduleId] = moreModules[moduleId];","if(currentUpdatedModulesList) currentUpdatedModulesList.push(moduleId);"]),"}"]),"}","if(runtime) currentUpdateRuntime.push(runtime);","if(waitingUpdateResolves[chunkId]) {",o.indent(["waitingUpdateResolves[chunkId]();","waitingUpdateResolves[chunkId] = undefined;"]),"}"]),"};","",`${i.hmrDownloadUpdateHandlers}.jsonp = function(chunkIds, removedChunks, removedModules, promises, applyHandlers, updatedModulesList) {`,o.indent(["applyHandlers.push(function(options) {",o.indent(["currentUpdateChunks = undefined;",o.getFunctionContent(n(2215)).replace(/\$options\$/g,"options").replace(/\$updateModuleFactories\$/g,"currentUpdate").replace(/\$updateRuntimeModules\$/g,"currentUpdateRuntime").replace(/\$moduleCache\$/g,i.moduleCache).replace(/\$hmrModuleData\$/g,i.hmrModuleData).replace(/\$moduleFactories\$/g,i.moduleFactories).replace(/\/\/ \$dispose\$/g,o.asString(["removedChunks.forEach(function(chunkId) { delete installedChunks[chunkId]; });"]))]),"});","currentUpdateChunks = {};","currentUpdate = removedModules.reduce(function(obj, key) { obj[key] = false; return obj; }, {});","currentUpdateRuntime = [];","currentUpdatedModulesList = updatedModulesList;","chunkIds.forEach(function(chunkId) {",o.indent(["if(installedChunks[chunkId] !== undefined) {",o.indent(["promises.push(loadUpdateChunk(chunkId));"]),"}","currentUpdateChunks[chunkId] = true;"]),"});"]),"}"]):"// no HMR","",v?o.asString([`${i.hmrDownloadManifest} = function() {`,o.indent(['if (typeof fetch === "undefined") throw new Error("No browser support: need fetch API");',`return fetch(${i.publicPath} + ${i.getUpdateManifestFilename}()).then(function(response) {`,o.indent(["if(response.status === 404) return; // no update available",'if(!response.ok) throw new Error("Failed to fetch update manifest " + response.statusText);',"return response.json();"]),"});"]),"};"]):"// no HMR manifest","",g?o.asString(["var checkDeferredModules = function() {};","function checkDeferredModulesImpl() {",o.indent(["var result;","for(var i = 0; i < deferredModules.length; i++) {",o.indent(["var deferredModule = deferredModules[i];","var fulfilled = true;","for(var j = 1; j < deferredModule.length; j++) {",o.indent(["var depId = deferredModule[j];","if(installedChunks[depId] !== 0) fulfilled = false;"]),"}","if(fulfilled) {",o.indent(["deferredModules.splice(i--, 1);","result = "+"__webpack_require__("+`${i.entryModuleId} = deferredModule[0]);`]),"}"]),"}",b?o.asString(["if(deferredModules.length === 0) {",o.indent(["// chunk prefetching for javascript","deferredPrefetch.forEach(prefetchChunk);","deferredPrefetch.length = 0;"]),"}"]):"// no prefetch","return result;"]),"}",`${i.startup} = function() {`,o.indent(["return (checkDeferredModules = checkDeferredModulesImpl)();"]),"};"]):b&&_&&_.length>0?o.asString(["// prefetching after startup",`var startup = ${i.startup};`,`${i.startup} = function() {`,o.indent(["var result = startup();",o.asString(_.map(e=>`prefetchChunk(${JSON.stringify(e)});`)),"return result;"]),"};"]):"// no deferred startup or startup prefetching","",g||h?o.asString(["// install a JSONP callback for chunk loading","function webpackJsonpCallback(data) {",o.indent(["var chunkIds = data[0];","var moreModules = data[1];",g?"var executeModules = data[2];":"","var runtime = data[3];",b?"var prefetchChunks = data[4];":"",'// add "moreModules" to the modules object,','// then flag all "chunkIds" as loaded and fire callback',"var moduleId, chunkId, i = 0, resolves = [];","for(;i < chunkIds.length; i++) {",o.indent(["chunkId = chunkIds[i];","if(installedChunks[chunkId]) {",o.indent("resolves.push(installedChunks[chunkId][0]);"),"}","installedChunks[chunkId] = 0;"]),"}","for(moduleId in moreModules) {",o.indent(["if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {",o.indent(`${i.moduleFactories}[moduleId] = moreModules[moduleId];`),"}"]),"}","if(runtime) runtime(__webpack_require__);","if(parentJsonpFunction) parentJsonpFunction(data);",b?o.asString(["// chunk prefetching for javascript","if(prefetchChunks) {",o.indent([g?"deferredPrefetch.push.apply(deferredPrefetch, prefetchChunks);":"prefetchChunks.forEach(prefetchChunk);"]),"}"]):"","while(resolves.length) {",o.indent("resolves.shift()();"),"}",g?o.asString(["","// add entry modules from loaded chunk to deferred list","if(executeModules) deferredModules.push.apply(deferredModules, executeModules);","","// run deferred modules when all chunks ready","return checkDeferredModules();"]):""]),"};","",`var jsonpArray = ${k} = ${k} || [];`,"var oldJsonpFunction = jsonpArray.push.bind(jsonpArray);","jsonpArray.push = webpackJsonpCallback;",g?o.asString(["jsonpArray = jsonpArray.slice();","for(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);"]):"","var parentJsonpFunction = oldJsonpFunction;"]):"// no jsonp function"])}}e.exports=JsonpChunkLoadingRuntimeModule},4073:function(e,t,n){var r=n(2413).Stream;e.exports=legacy;function legacy(e){return{ReadStream:ReadStream,WriteStream:WriteStream};function ReadStream(t,n){if(!(this instanceof ReadStream))return new ReadStream(t,n);r.call(this);var i=this;this.path=t;this.fd=null;this.readable=true;this.paused=false;this.flags="r";this.mode=438;this.bufferSize=64*1024;n=n||{};var s=Object.keys(n);for(var o=0,a=s.length;othis.end){throw new Error("start must be <= end")}this.pos=this.start}if(this.fd!==null){process.nextTick(function(){i._read()});return}e.open(this.path,this.flags,this.mode,function(e,t){if(e){i.emit("error",e);i.readable=false;return}i.fd=t;i.emit("open",t);i._read()})}function WriteStream(t,n){if(!(this instanceof WriteStream))return new WriteStream(t,n);r.call(this);this.path=t;this.fd=null;this.writable=true;this.flags="w";this.encoding="binary";this.mode=438;this.bytesWritten=0;n=n||{};var i=Object.keys(n);for(var s=0,o=i.length;s= zero")}this.pos=this.start}this.busy=false;this._queue=[];if(this.fd===null){this._open=e.open;this._queue.push([this._open,this.path,this.flags,this.mode,undefined]);this.flush()}}}},4097:function(e,t,n){var r=n(5622);e.exports=function(e,t){if(t){var n=t.map(function(t){return r.resolve(e,t)})}else{var n=e}var i=n.slice(1).reduce(function(e,t){if(!t.match(/^([A-Za-z]:)?\/|\\/)){throw new Error("relative path without a basedir")}var n=t.split(/\/+|\\+/);for(var r=0;e[r]===n[r]&&r1?i.join("/"):"/"}},4116:function(e,t,n){"use strict";const{formatSize:r}=n(9192);const i=n(1627);e.exports=class EntrypointsOverSizeLimitWarning extends i{constructor(e,t){const n=e.map(e=>`\n ${e.name} (${r(e.size)})\n${e.files.map(e=>` ${e}`).join("\n")}`).join("");super(`entrypoint size limit: The following entrypoint(s) combined asset size exceeds the recommended limit (${r(t)}). This can impact web performance.\nEntrypoints:${n}\n`);this.name="EntrypointsOverSizeLimitWarning";this.entrypoints=e;Error.captureStackTrace(this,this.constructor)}}},4148:function(e,t,n){"use strict";const r=n(400);class ContextDependencyTemplateAsId extends r.Template{apply(e,t,{runtimeTemplate:n,moduleGraph:r,chunkGraph:i,runtimeRequirements:s}){const o=e;const a=n.moduleExports({module:r.getModule(o),chunkGraph:i,request:o.request,weak:o.weak,runtimeRequirements:s});if(r.getModule(o)){if(o.valueRange){if(Array.isArray(o.replaces)){for(let e=0;e>1;return t?-n:n}t.encode=function base64VLQ_encode(e){var t="";var n;var s=toVLQSigned(e);do{n=s&o;s>>>=i;if(s>0){n|=a}t+=r.encode(n)}while(s>0);return t};t.decode=function base64VLQ_decode(e,t,n){var s=e.length;var u=0;var c=0;var l,f;do{if(t>=s){throw new Error("Expected more digits in base 64 VLQ value.")}f=r.decode(e.charCodeAt(t++));if(f===-1){throw new Error("Invalid base64 digit: "+e.charAt(t-1))}l=!!(f&a);f&=o;u=u+(f<0)this.tail.next=t;else this.head=t;this.tail=t;++this.length};BufferList.prototype.unshift=function unshift(e){var t={data:e,next:this.head};if(this.length===0)this.tail=t;this.head=t;++this.length};BufferList.prototype.shift=function shift(){if(this.length===0)return;var e=this.head.data;if(this.length===1)this.head=this.tail=null;else this.head=this.head.next;--this.length;return e};BufferList.prototype.clear=function clear(){this.head=this.tail=null;this.length=0};BufferList.prototype.join=function join(e){if(this.length===0)return"";var t=this.head;var n=""+t.data;while(t=t.next){n+=e+t.data}return n};BufferList.prototype.concat=function concat(e){if(this.length===0)return r.alloc(0);if(this.length===1)return this.head.data;var t=r.allocUnsafe(e>>>0);var n=this.head;var i=0;while(n){copyBuffer(n.data,t,i);i+=n.data.length;n=n.next}return t};return BufferList}();if(i&&i.inspect&&i.inspect.custom){e.exports.prototype[i.inspect.custom]=function(){var e=i.inspect({length:this.length});return this.constructor.name+" "+e}}},4229:function(e,t,n){"use strict";const r=n(6202);const i=n(2197);class LocalModuleDependency extends i{constructor(e,t,n){super();this.localModule=e;this.range=t;this.callNew=n}serialize(e){const{write:t}=e;t(this.localModule);t(this.range);t(this.callNew);super.serialize(e)}deserialize(e){const{read:t}=e;this.localModule=t();this.range=t();this.callNew=t();super.deserialize(e)}}r(LocalModuleDependency,"webpack/lib/dependencies/LocalModuleDependency");LocalModuleDependency.Template=class LocalModuleDependencyTemplate extends i.Template{apply(e,t,n){const r=e;if(!r.range)return;const i=r.callNew?`new (function () { return ${r.localModule.variableName()}; })()`:r.localModule.variableName();t.replace(r.range[0],r.range[1]-1,i)}};e.exports=LocalModuleDependency},4236:function(e){"use strict";var t={Object:Object,Array:Array,Function:Function,Number:Number,String:String,Date:Date,RegExp:RegExp};e.exports=function defFunc(e){if(typeof Buffer!="undefined")t.Buffer=Buffer;if(typeof Promise!="undefined")t.Promise=Promise;defFunc.definition={compile:function(e){if(typeof e=="string"){var t=getConstructor(e);return function(e){return e instanceof t}}var n=e.map(getConstructor);return function(e){for(var t=0;t{if(n.has(this.ruleProperty)){n.delete(this.ruleProperty);const e=t[this.ruleProperty];r.effects.push({type:this.effectType,value:e})}})}}e.exports=BasicEffectRulePlugin},4290:function(e,t,n){"use strict";const r=n(3272);const i=n(6150);const s=n(6202);const o=n(2197);class HarmonyCompatibilityDependency extends o{get type(){return"harmony export header"}}s(HarmonyCompatibilityDependency,"webpack/lib/dependencies/HarmonyCompatibilityDependency");HarmonyCompatibilityDependency.Template=class HarmonyExportDependencyTemplate extends o.Template{apply(e,t,{module:n,runtimeTemplate:s,moduleGraph:o,initFragments:a,runtimeRequirements:u}){const c=o.getUsedExports(n);if(c===true||c===null){const e=s.defineEsModuleFlagStatement({exportsArgument:n.exportsArgument,runtimeRequirements:u});a.push(new r(e,r.STAGE_HARMONY_EXPORTS,0,"harmony compatibility"))}if(o.isAsync(n)){u.add(i.module);a.push(new r(`${n.moduleArgument}.exports = (async () => {\n`,r.STAGE_ASYNC_BOUNDARY,0,undefined,`\nreturn ${n.exportsArgument};\n})();`))}}};e.exports=HarmonyCompatibilityDependency},4293:function(e){e.exports=require("buffer")},4304:function(e){"use strict";class DependencyTemplate{apply(e,t,n){throw new Error("DependencyTemplate.apply must be overriden")}}e.exports=DependencyTemplate},4353:function(e,t){"use strict";function globToRegExp(e){if(/^\(.+\)$/.test(e)){return new RegExp(e.substr(1,e.length-2))}const t=tokenize(e);const n=createRoot();const r=t.map(n).join("");return new RegExp("^"+r+"$")}const n={"@(":"one","?(":"zero-one","+(":"one-many","*(":"zero-many","|":"segment-sep","/**/":"any-path-segments","**":"any-path","*":"any-path-segment","?":"any-char","{":"or","/":"path-sep",",":"comma",")":"closing-segment","}":"closing-or"};function tokenize(e){return e.split(/([@?+*]\(|\/\*\*\/|\*\*|[?*]|\[[\!\^]?(?:[^\]\\]|\\.)+\]|\{|,|\/|[|)}])/g).map(e=>{if(!e)return null;const t=n[e];if(t){return{type:t}}if(e[0]==="["){if(e[1]==="^"||e[1]==="!"){return{type:"inverted-char-set",value:e.substr(2,e.length-3)}}else{return{type:"char-set",value:e.substr(1,e.length-2)}}}return{type:"string",value:e}}).filter(Boolean).concat({type:"end"})}function createRoot(){const e=[];const t=createSeqment();let n=true;return function(r){switch(r.type){case"or":e.push(n);return"(";case"comma":if(e.length){n=e[e.length-1];return"|"}else{return t({type:"string",value:","},n)}case"closing-or":if(e.length===0)throw new Error("Unmatched '}'");e.pop();return")";case"end":if(e.length)throw new Error("Unmatched '{'");return t(r,n);default:{const e=t(r,n);n=false;return e}}}}function createSeqment(){const e=[];const t=createSimple();return function(n,r){switch(n.type){case"one":case"one-many":case"zero-many":case"zero-one":e.push(n.type);return"(";case"segment-sep":if(e.length){return"|"}else{return t({type:"string",value:"|"},r)}case"closing-segment":{const t=e.pop();switch(t){case"one":return")";case"one-many":return")+";case"zero-many":return")*";case"zero-one":return")?"}throw new Error("Unexcepted segment "+t)}case"end":if(e.length>0){throw new Error("Unmatched segment, missing ')'")}return t(n,r);default:return t(n,r)}}}function createSimple(){return function(e,t){switch(e.type){case"path-sep":return"[\\\\/]+";case"any-path-segments":return"[\\\\/]+(?:(.+)[\\\\/]+)?";case"any-path":return"(.*)";case"any-path-segment":if(t){return"\\.[\\\\/]+(?:.*[\\\\/]+)?([^\\\\/]+)"}else{return"([^\\\\/]*)"}case"any-char":return"[^\\\\/]";case"inverted-char-set":return"[^"+e.value+"]";case"char-set":return"["+e.value+"]";case"string":return e.value.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&");case"end":return"";default:throw new Error("Unsupported token '"+e.type+"'")}}}t.globToRegExp=globToRegExp},4362:function(e,t,n){"use strict";const r=n(9835);const i=n(3556);e.exports=class SymlinkPlugin{constructor(e,t){this.source=e;this.target=t}apply(e){const t=e.ensureHook(this.target);const n=e.fileSystem;e.getHook(this.source).tapAsync("SymlinkPlugin",(s,o,a)=>{const u=r(s.path);const c=u.seqments;const l=u.paths;let f=false;i.withIndex(l,(e,t,r)=>{n.readlink(e,(e,n)=>{if(!e&&n){c[t]=n;f=true;if(/^(\/|[a-zA-Z]:($|\\))/.test(n))return r(null,t)}r()})},(n,r)=>{if(!f)return a();const i=typeof r==="number"?c.slice(0,r+1):c.slice();const u=i.reverse().reduce((t,n)=>{return e.join(t,n)});const l=Object.assign({},s,{path:u});e.doResolve(t,l,"resolved symlink to "+u,o,a)})})}}},4391:function(e,t,n){"use strict";const{Parser:r}=n(976);const{SyncBailHook:i,HookMap:s}=n(2960);const o=n(2184);const a=n(6045);const u=n(9683);const c=r.extend(n(1098).default,n(281));const l=(e,t)=>{if(!t)return e;if(!e)return t;return[e[0],t[1]]};const f={ranges:true,locations:true,ecmaVersion:2019,sourceType:"module",allowAwaitOutsideFunction:true,onComment:null};const d=new RegExp(/(^|\W)webpack[A-Z]{1,}[A-Za-z]{1,}:/);const p={options:null,errors:null};class JavascriptParser{constructor(e,t="auto"){this.hooks=Object.freeze({evaluateTypeof:new s(()=>new i(["expression"])),evaluate:new s(()=>new i(["expression"])),evaluateIdentifier:new s(()=>new i(["expression"])),evaluateDefinedIdentifier:new s(()=>new i(["expression"])),evaluateCallExpressionMember:new s(()=>new i(["expression","param"])),statement:new i(["statement"]),statementIf:new i(["statement"]),label:new s(()=>new i(["statement"])),import:new i(["statement","source"]),importSpecifier:new i(["statement","source","exportName","identifierName"]),export:new i(["statement"]),exportImport:new i(["statement","source"]),exportDeclaration:new i(["statement","declaration"]),exportExpression:new i(["statement","declaration"]),exportSpecifier:new i(["statement","identifierName","exportName","index"]),exportImportSpecifier:new i(["statement","source","identifierName","exportName","index"]),varDeclaration:new s(()=>new i(["declaration"])),varDeclarationLet:new s(()=>new i(["declaration"])),varDeclarationConst:new s(()=>new i(["declaration"])),varDeclarationVar:new s(()=>new i(["declaration"])),pattern:new s(()=>new i(["pattern"])),canRename:new s(()=>new i(["initExpression"])),rename:new s(()=>new i(["initExpression"])),assigned:new s(()=>new i(["expression"])),assign:new s(()=>new i(["expression"])),typeof:new s(()=>new i(["expression"])),importCall:new i(["expression"]),topLevelAwait:new i(["expression"]),call:new s(()=>new i(["expression"])),callMemberChain:new s(()=>new i(["expression","rootRaw","members"])),new:new s(()=>new i(["expression"])),expression:new s(()=>new i(["expression"])),expressionMemberChain:new s(()=>new i(["expression","rootRaw","members"])),expressionConditionalOperator:new i(["expression"]),expressionLogicalOperator:new i(["expression"]),program:new i(["ast","comments"])});this.options=e;this.sourceType=t;this.scope=undefined;this.state=undefined;this.comments=undefined;this.initializeEvaluating()}initializeEvaluating(){this.hooks.evaluate.for("Literal").tap("JavascriptParser",e=>{switch(typeof e.value){case"number":return(new a).setNumber(e.value).setRange(e.range);case"string":return(new a).setString(e.value).setRange(e.range);case"boolean":return(new a).setBoolean(e.value).setRange(e.range)}if(e.value===null){return(new a).setNull().setRange(e.range)}if(e.value instanceof RegExp){return(new a).setRegExp(e.value).setRange(e.range)}});this.hooks.evaluate.for("LogicalExpression").tap("JavascriptParser",e=>{let t;let n;let r;if(e.operator==="&&"){t=this.evaluateExpression(e.left);n=t&&t.asBool();if(n===false)return t.setRange(e.range);if(n!==true)return;r=this.evaluateExpression(e.right);return r.setRange(e.range)}else if(e.operator==="||"){t=this.evaluateExpression(e.left);n=t&&t.asBool();if(n===true)return t.setRange(e.range);if(n!==false)return;r=this.evaluateExpression(e.right);return r.setRange(e.range)}});this.hooks.evaluate.for("BinaryExpression").tap("JavascriptParser",e=>{let t;let n;let r;if(e.operator==="+"){t=this.evaluateExpression(e.left);n=this.evaluateExpression(e.right);if(!t||!n)return;r=new a;if(t.isString()){if(n.isString()){r.setString(t.string+n.string)}else if(n.isNumber()){r.setString(t.string+n.number)}else if(n.isWrapped()&&n.prefix&&n.prefix.isString()){r.setWrapped((new a).setString(t.string+n.prefix.string).setRange(l(t.range,n.prefix.range)),n.postfix,n.wrappedInnerExpressions)}else if(n.isWrapped()){r.setWrapped(t,n.postfix,n.wrappedInnerExpressions)}else{r.setWrapped(t,null,[n])}}else if(t.isNumber()){if(n.isString()){r.setString(t.number+n.string)}else if(n.isNumber()){r.setNumber(t.number+n.number)}else{return}}else if(t.isWrapped()){if(t.postfix&&t.postfix.isString()&&n.isString()){r.setWrapped(t.prefix,(new a).setString(t.postfix.string+n.string).setRange(l(t.postfix.range,n.range)),t.wrappedInnerExpressions)}else if(t.postfix&&t.postfix.isString()&&n.isNumber()){r.setWrapped(t.prefix,(new a).setString(t.postfix.string+n.number).setRange(l(t.postfix.range,n.range)),t.wrappedInnerExpressions)}else if(n.isString()){r.setWrapped(t.prefix,n,t.wrappedInnerExpressions)}else if(n.isNumber()){r.setWrapped(t.prefix,(new a).setString(n.number+"").setRange(n.range),t.wrappedInnerExpressions)}else if(n.isWrapped()){r.setWrapped(t.prefix,n.postfix,t.wrappedInnerExpressions&&n.wrappedInnerExpressions&&t.wrappedInnerExpressions.concat(t.postfix?[t.postfix]:[]).concat(n.prefix?[n.prefix]:[]).concat(n.wrappedInnerExpressions))}else{r.setWrapped(t.prefix,null,t.wrappedInnerExpressions&&t.wrappedInnerExpressions.concat(t.postfix?[t.postfix,n]:[n]))}}else{if(n.isString()){r.setWrapped(null,n,[t])}else if(n.isWrapped()){r.setWrapped(null,n.postfix,n.wrappedInnerExpressions&&(n.prefix?[t,n.prefix]:[t]).concat(n.wrappedInnerExpressions))}else{return}}r.setRange(e.range);return r}else if(e.operator==="-"){t=this.evaluateExpression(e.left);n=this.evaluateExpression(e.right);if(!t||!n)return;if(!t.isNumber()||!n.isNumber())return;r=new a;r.setNumber(t.number-n.number);r.setRange(e.range);return r}else if(e.operator==="*"){t=this.evaluateExpression(e.left);n=this.evaluateExpression(e.right);if(!t||!n)return;if(!t.isNumber()||!n.isNumber())return;r=new a;r.setNumber(t.number*n.number);r.setRange(e.range);return r}else if(e.operator==="/"){t=this.evaluateExpression(e.left);n=this.evaluateExpression(e.right);if(!t||!n)return;if(!t.isNumber()||!n.isNumber())return;r=new a;r.setNumber(t.number/n.number);r.setRange(e.range);return r}else if(e.operator==="**"){t=this.evaluateExpression(e.left);n=this.evaluateExpression(e.right);if(!t||!n)return;if(!t.isNumber()||!n.isNumber())return;r=new a;r.setNumber(Math.pow(t.number,n.number));r.setRange(e.range);return r}else if(e.operator==="=="||e.operator==="==="){t=this.evaluateExpression(e.left);n=this.evaluateExpression(e.right);if(!t||!n)return;r=new a;r.setRange(e.range);if(t.isString()&&n.isString()){return r.setBoolean(t.string===n.string)}else if(t.isNumber()&&n.isNumber()){return r.setBoolean(t.number===n.number)}else if(t.isBoolean()&&n.isBoolean()){return r.setBoolean(t.bool===n.bool)}}else if(e.operator==="!="||e.operator==="!=="){t=this.evaluateExpression(e.left);n=this.evaluateExpression(e.right);if(!t||!n)return;r=new a;r.setRange(e.range);if(t.isString()&&n.isString()){return r.setBoolean(t.string!==n.string)}else if(t.isNumber()&&n.isNumber()){return r.setBoolean(t.number!==n.number)}else if(t.isBoolean()&&n.isBoolean()){return r.setBoolean(t.bool!==n.bool)}}else if(e.operator==="&"){t=this.evaluateExpression(e.left);n=this.evaluateExpression(e.right);if(!t||!n)return;if(!t.isNumber()||!n.isNumber())return;r=new a;r.setNumber(t.number&n.number);r.setRange(e.range);return r}else if(e.operator==="|"){t=this.evaluateExpression(e.left);n=this.evaluateExpression(e.right);if(!t||!n)return;if(!t.isNumber()||!n.isNumber())return;r=new a;r.setNumber(t.number|n.number);r.setRange(e.range);return r}else if(e.operator==="^"){t=this.evaluateExpression(e.left);n=this.evaluateExpression(e.right);if(!t||!n)return;if(!t.isNumber()||!n.isNumber())return;r=new a;r.setNumber(t.number^n.number);r.setRange(e.range);return r}else if(e.operator===">>>"){t=this.evaluateExpression(e.left);n=this.evaluateExpression(e.right);if(!t||!n)return;if(!t.isNumber()||!n.isNumber())return;r=new a;r.setNumber(t.number>>>n.number);r.setRange(e.range);return r}else if(e.operator===">>"){t=this.evaluateExpression(e.left);n=this.evaluateExpression(e.right);if(!t||!n)return;if(!t.isNumber()||!n.isNumber())return;r=new a;r.setNumber(t.number>>n.number);r.setRange(e.range);return r}else if(e.operator==="<<"){t=this.evaluateExpression(e.left);n=this.evaluateExpression(e.right);if(!t||!n)return;if(!t.isNumber()||!n.isNumber())return;r=new a;r.setNumber(t.number<{if(e.operator==="typeof"){let t;let n;if(e.argument.type==="Identifier"){n=this.scope.renames.get(e.argument.name)||e.argument.name;if(!this.scope.definitions.has(n)){const r=this.hooks.evaluateTypeof.get(n);if(r!==undefined){t=r.call(e);if(t!==undefined)return t}}}if(e.argument.type==="MemberExpression"){const n=this.getNameForExpression(e.argument);if(n&&n.free){const r=this.hooks.evaluateTypeof.get(n.name);if(r!==undefined){t=r.call(e);if(t!==undefined)return t}}}if(e.argument.type==="FunctionExpression"){return(new a).setString("function").setRange(e.range)}const r=this.evaluateExpression(e.argument);if(r.isString()||r.isWrapped()){return(new a).setString("string").setRange(e.range)}if(r.isNumber()){return(new a).setString("number").setRange(e.range)}if(r.isBoolean()){return(new a).setString("boolean").setRange(e.range)}if(r.isArray()||r.isConstArray()||r.isRegExp()){return(new a).setString("object").setRange(e.range)}}else if(e.operator==="!"){const t=this.evaluateExpression(e.argument);if(!t)return;if(t.isBoolean()){return(new a).setBoolean(!t.bool).setRange(e.range)}if(t.isTruthy()){return(new a).setBoolean(false).setRange(e.range)}if(t.isFalsy()){return(new a).setBoolean(true).setRange(e.range)}if(t.isString()){return(new a).setBoolean(!t.string).setRange(e.range)}if(t.isNumber()){return(new a).setBoolean(!t.number).setRange(e.range)}}else if(e.operator==="~"){const t=this.evaluateExpression(e.argument);if(!t)return;if(!t.isNumber())return;const n=new a;n.setNumber(~t.number);n.setRange(e.range);return n}else if(e.operator==="+"){const t=this.evaluateExpression(e.argument);if(!t)return;if(t.isNumber()){const n=new a;n.setNumber(+t.number);n.setRange(e.range);return n}else if(t.isString()){const n=new a;n.setNumber(+t.string);n.setRange(e.range);return n}}});this.hooks.evaluateTypeof.for("undefined").tap("JavascriptParser",e=>{return(new a).setString("undefined").setRange(e.range)});this.hooks.evaluate.for("Identifier").tap("JavascriptParser",e=>{const t=this.scope.renames.get(e.name)||e.name;if(!this.scope.definitions.has(e.name)){const n=this.hooks.evaluateIdentifier.get(t);if(n!==undefined){const t=n.call(e);if(t)return t}return(new a).setIdentifier(t).setRange(e.range)}else{const n=this.hooks.evaluateDefinedIdentifier.get(t);if(n!==undefined){return n.call(e)}}});this.hooks.evaluate.for("ThisExpression").tap("JavascriptParser",e=>{const t=this.scope.renames.get("this");if(t){const n=this.hooks.evaluateIdentifier.get(t);if(n!==undefined){const t=n.call(e);if(t)return t}return(new a).setIdentifier(t).setRange(e.range)}});this.hooks.evaluate.for("MemberExpression").tap("JavascriptParser",e=>{let t=this.getNameForExpression(e);if(t){if(t.free){const n=this.hooks.evaluateIdentifier.get(t.name);if(n!==undefined){const t=n.call(e);if(t)return t}return(new a).setIdentifier(t.name).setRange(e.range)}else{const n=this.hooks.evaluateDefinedIdentifier.get(t.name);if(n!==undefined){return n.call(e)}}}});this.hooks.evaluate.for("CallExpression").tap("JavascriptParser",e=>{if(e.callee.type!=="MemberExpression")return;if(e.callee.property.type!==(e.callee.computed?"Literal":"Identifier"))return;const t=this.evaluateExpression(e.callee.object);if(!t)return;const n=e.callee.property.name||e.callee.property.value;const r=this.hooks.evaluateCallExpressionMember.get(n);if(r!==undefined){return r.call(e,t)}});this.hooks.evaluateCallExpressionMember.for("replace").tap("JavascriptParser",(e,t)=>{if(!t.isString())return;if(e.arguments.length!==2)return;let n=this.evaluateExpression(e.arguments[0]);let r=this.evaluateExpression(e.arguments[1]);if(!n.isString()&&!n.isRegExp())return;n=n.regExp||n.string;if(!r.isString())return;r=r.string;return(new a).setString(t.string.replace(n,r)).setRange(e.range)});["substr","substring"].forEach(e=>{this.hooks.evaluateCallExpressionMember.for(e).tap("JavascriptParser",(t,n)=>{if(!n.isString())return;let r;let i,s=n.string;switch(t.arguments.length){case 1:r=this.evaluateExpression(t.arguments[0]);if(!r.isNumber())return;i=s[e](r.number);break;case 2:{r=this.evaluateExpression(t.arguments[0]);const n=this.evaluateExpression(t.arguments[1]);if(!r.isNumber())return;if(!n.isNumber())return;i=s[e](r.number,n.number);break}default:return}return(new a).setString(i).setRange(t.range)})});const e=(e,t)=>{const n=[];const r=[];for(let i=0;i0){const e=r[r.length-1];const n=this.evaluateExpression(t.expressions[i-1]);const a=n.asString();if(typeof a==="string"){e.setString(e.string+a+o);e.setRange([e.range[0],s.range[1]]);e.setExpression(undefined);continue}r.push(n)}const u=(new a).setString(o).setRange(s.range).setExpression(s);n.push(u);r.push(u)}return{quasis:n,parts:r}};this.hooks.evaluate.for("TemplateLiteral").tap("JavascriptParser",t=>{const{quasis:n,parts:r}=e("cooked",t);if(r.length===1){return r[0].setRange(t.range)}return(new a).setTemplateString(n,r,"cooked").setRange(t.range)});this.hooks.evaluate.for("TaggedTemplateExpression").tap("JavascriptParser",t=>{if(this.evaluateExpression(t.tag).identifier!=="String.raw")return;const{quasis:n,parts:r}=e("raw",t.quasi);if(r.length===1){return r[0].setRange(t.range)}return(new a).setTemplateString(n,r,"raw").setRange(t.range)});this.hooks.evaluateCallExpressionMember.for("concat").tap("JavascriptParser",(e,t)=>{if(!t.isString()&&!t.isWrapped())return;let n=null;let r=false;for(let t=e.arguments.length-1;t>=0;t--){const i=this.evaluateExpression(e.arguments[t]);if(!i.isString()&&!i.isNumber()){r=true;break}const s=i.isString()?i.string:""+i.number;const o=s+(n?n.string:"");const u=[i.range[0],(n||i).range[1]];n=(new a).setString(o).setRange(u)}if(r){const r=t.isString()?t:t.prefix;return(new a).setWrapped(r,n).setRange(e.range)}else if(t.isWrapped()){const r=n||t.postfix;return(new a).setWrapped(t.prefix,r).setRange(e.range)}else{const r=t.string+(n?n.string:"");return(new a).setString(r).setRange(e.range)}});this.hooks.evaluateCallExpressionMember.for("split").tap("JavascriptParser",(e,t)=>{if(!t.isString())return;if(e.arguments.length!==1)return;let n;const r=this.evaluateExpression(e.arguments[0]);if(r.isString()){n=t.string.split(r.string)}else if(r.isRegExp()){n=t.string.split(r.regExp)}else{return}return(new a).setArray(n).setRange(e.range)});this.hooks.evaluate.for("ConditionalExpression").tap("JavascriptParser",e=>{const t=this.evaluateExpression(e.test);const n=t.asBool();let r;if(n===undefined){const t=this.evaluateExpression(e.consequent);const n=this.evaluateExpression(e.alternate);if(!t||!n)return;r=new a;if(t.isConditional()){r.setOptions(t.options)}else{r.setOptions([t])}if(n.isConditional()){r.addOptions(n.options)}else{r.addOptions([n])}}else{r=this.evaluateExpression(n?e.consequent:e.alternate)}r.setRange(e.range);return r});this.hooks.evaluate.for("ArrayExpression").tap("JavascriptParser",e=>{const t=e.elements.map(e=>{return e!==null&&this.evaluateExpression(e)});if(!t.every(Boolean))return;return(new a).setItems(t).setRange(e.range)})}getRenameIdentifier(e){const t=this.evaluateExpression(e);if(t&&t.isIdentifier()){return t.identifier}}walkClass(e){if(e.superClass)this.walkExpression(e.superClass);if(e.body&&e.body.type==="ClassBody"){const t=this.scope.topLevelScope;this.scope.topLevelScope=false;for(const t of e.body.body){if(t.type==="MethodDefinition"){this.walkMethodDefinition(t)}}this.scope.topLevelScope=t}}walkMethodDefinition(e){if(e.computed&&e.key){this.walkExpression(e.key)}if(e.value){this.walkExpression(e.value)}}prewalkStatements(e){for(let t=0,n=e.length;t{const t=e.body;this.blockPrewalkStatements(t);this.walkStatements(t)})}walkExpressionStatement(e){this.walkExpression(e.expression)}prewalkIfStatement(e){this.prewalkStatement(e.consequent);if(e.alternate){this.prewalkStatement(e.alternate)}}walkIfStatement(e){const t=this.hooks.statementIf.call(e);if(t===undefined){this.walkExpression(e.test);this.walkStatement(e.consequent);if(e.alternate){this.walkStatement(e.alternate)}}else{if(t){this.walkStatement(e.consequent)}else if(e.alternate){this.walkStatement(e.alternate)}}}prewalkLabeledStatement(e){this.prewalkStatement(e.body)}walkLabeledStatement(e){const t=this.hooks.label.get(e.label.name);if(t!==undefined){const n=t.call(e);if(n===true)return}this.walkStatement(e.body)}prewalkWithStatement(e){this.prewalkStatement(e.body)}walkWithStatement(e){this.walkExpression(e.object);this.walkStatement(e.body)}prewalkSwitchStatement(e){this.prewalkSwitchCases(e.cases)}walkSwitchStatement(e){this.walkExpression(e.discriminant);this.walkSwitchCases(e.cases)}walkTerminatingStatement(e){if(e.argument)this.walkExpression(e.argument)}walkReturnStatement(e){this.walkTerminatingStatement(e)}walkThrowStatement(e){this.walkTerminatingStatement(e)}prewalkTryStatement(e){this.prewalkStatement(e.block)}walkTryStatement(e){if(this.scope.inTry){this.walkStatement(e.block)}else{this.scope.inTry=true;this.walkStatement(e.block);this.scope.inTry=false}if(e.handler)this.walkCatchClause(e.handler);if(e.finalizer)this.walkStatement(e.finalizer)}prewalkWhileStatement(e){this.prewalkStatement(e.body)}walkWhileStatement(e){this.walkExpression(e.test);this.walkStatement(e.body)}prewalkDoWhileStatement(e){this.prewalkStatement(e.body)}walkDoWhileStatement(e){this.walkStatement(e.body);this.walkExpression(e.test)}prewalkForStatement(e){if(e.init){if(e.init.type==="VariableDeclaration"){this.prewalkStatement(e.init)}}this.prewalkStatement(e.body)}walkForStatement(e){this.inBlockScope(()=>{if(e.init){if(e.init.type==="VariableDeclaration"){this.blockPrewalkVariableDeclaration(e.init);this.walkStatement(e.init)}else{this.walkExpression(e.init)}}if(e.test){this.walkExpression(e.test)}if(e.update){this.walkExpression(e.update)}const t=e.body;if(t.type==="BlockStatement"){this.blockPrewalkStatements(t.body);this.walkStatements(t.body)}else{this.walkStatement(t)}})}prewalkForInStatement(e){if(e.left.type==="VariableDeclaration"){this.prewalkVariableDeclaration(e.left)}this.prewalkStatement(e.body)}walkForInStatement(e){this.inBlockScope(()=>{if(e.left.type==="VariableDeclaration"){this.blockPrewalkVariableDeclaration(e.left);this.walkVariableDeclaration(e.left)}else{this.walkPattern(e.left)}this.walkExpression(e.right);const t=e.body;if(t.type==="BlockStatement"){this.blockPrewalkStatements(t.body);this.walkStatements(t.body)}else{this.walkStatement(t)}})}prewalkForOfStatement(e){if(e.await&&this.scope.topLevelScope===true){this.hooks.topLevelAwait.call(e)}if(e.left.type==="VariableDeclaration"){this.prewalkVariableDeclaration(e.left)}this.prewalkStatement(e.body)}walkForOfStatement(e){this.inBlockScope(()=>{if(e.left.type==="VariableDeclaration"){this.blockPrewalkVariableDeclaration(e.left);this.walkVariableDeclaration(e.left)}else{this.walkPattern(e.left)}this.walkExpression(e.right);const t=e.body;if(t.type==="BlockStatement"){this.blockPrewalkStatements(t.body);this.walkStatements(t.body)}else{this.walkStatement(t)}})}prewalkFunctionDeclaration(e){if(e.id){this.scope.renames.set(e.id.name,null);this.scope.definitions.add(e.id.name)}}walkFunctionDeclaration(e){const t=this.scope.topLevelScope;this.scope.topLevelScope=false;this.inFunctionScope(true,e.params,()=>{for(const t of e.params){this.walkPattern(t)}if(e.body.type==="BlockStatement"){this.detectStrictMode(e.body.body);this.prewalkStatement(e.body);this.walkStatement(e.body)}else{this.walkExpression(e.body)}});this.scope.topLevelScope=t}prewalkImportDeclaration(e){const t=e.source.value;this.hooks.import.call(e,t);for(const n of e.specifiers){const r=n.local.name;this.scope.renames.set(r,null);this.scope.definitions.add(r);switch(n.type){case"ImportDefaultSpecifier":this.hooks.importSpecifier.call(e,t,"default",r);break;case"ImportSpecifier":this.hooks.importSpecifier.call(e,t,n.imported.name,r);break;case"ImportNamespaceSpecifier":this.hooks.importSpecifier.call(e,t,null,r);break}}}enterDeclaration(e,t){switch(e.type){case"VariableDeclaration":for(const n of e.declarations){switch(n.type){case"VariableDeclarator":{this.enterPattern(n.id,t);break}}}break;case"FunctionDeclaration":this.enterPattern(e.id,t);break;case"ClassDeclaration":this.enterPattern(e.id,t);break}}blockPrewalkExportNamedDeclaration(e){if(e.declaration){this.blockPrewalkStatement(e.declaration)}}prewalkExportNamedDeclaration(e){let t;if(e.source){t=e.source.value;this.hooks.exportImport.call(e,t)}else{this.hooks.export.call(e)}if(e.declaration){if(!this.hooks.exportDeclaration.call(e,e.declaration)){this.prewalkStatement(e.declaration);let t=0;this.enterDeclaration(e.declaration,n=>{this.hooks.exportSpecifier.call(e,n,n,t++)})}}if(e.specifiers){for(let n=0;n{let r=t.get(e);if(r===undefined||!r.call(n)){r=this.hooks.varDeclaration.get(e);if(r===undefined||!r.call(n)){this.scope.renames.set(e,null);this.scope.definitions.add(e)}}});break}}}}walkVariableDeclaration(e){for(const t of e.declarations){switch(t.type){case"VariableDeclarator":{const e=t.init&&this.getRenameIdentifier(t.init);if(e&&t.id.type==="Identifier"){const n=this.hooks.canRename.get(e);if(n!==undefined&&n.call(t.init)){const n=this.hooks.rename.get(e);if(n===undefined||!n.call(t.init)){this.scope.renames.set(t.id.name,this.scope.renames.get(e)||e);this.scope.definitions.delete(t.id.name)}break}}this.walkPattern(t.id);if(t.init)this.walkExpression(t.init);break}}}}blockPrewalkClassDeclaration(e){if(e.id){this.scope.renames.set(e.id.name,null);this.scope.definitions.add(e.id.name)}}walkClassDeclaration(e){this.walkClass(e)}prewalkSwitchCases(e){for(let t=0,n=e.length;t{if(e.param!==null){this.enterPattern(e.param,e=>{this.scope.renames.set(e,null);this.scope.definitions.add(e)});this.walkPattern(e.param)}this.prewalkStatement(e.body);this.walkStatement(e.body)})}walkPattern(e){switch(e.type){case"ArrayPattern":this.walkArrayPattern(e);break;case"AssignmentPattern":this.walkAssignmentPattern(e);break;case"MemberExpression":this.walkMemberExpression(e);break;case"ObjectPattern":this.walkObjectPattern(e);break;case"RestElement":this.walkRestElement(e);break}}walkAssignmentPattern(e){this.walkExpression(e.right);this.walkPattern(e.left)}walkObjectPattern(e){for(let t=0,n=e.properties.length;t{for(const t of e.params){this.walkPattern(t)}if(e.body.type==="BlockStatement"){this.detectStrictMode(e.body.body);this.prewalkStatement(e.body);this.walkStatement(e.body)}else{this.walkExpression(e.body)}});this.scope.topLevelScope=t}walkArrowFunctionExpression(e){const t=this.scope.topLevelScope;this.scope.topLevelScope=t?"arrow":false;this.inFunctionScope(false,e.params,()=>{for(const t of e.params){this.walkPattern(t)}if(e.body.type==="BlockStatement"){this.detectStrictMode(e.body.body);this.prewalkStatement(e.body);this.walkStatement(e.body)}else{this.walkExpression(e.body)}});this.scope.topLevelScope=t}walkSequenceExpression(e){if(e.expressions)this.walkExpressions(e.expressions)}walkUpdateExpression(e){this.walkExpression(e.argument)}walkUnaryExpression(e){if(e.operator==="typeof"){const t=this.getNameForExpression(e.argument);if(t&&t.free){const n=this.hooks.typeof.get(t.name);if(n!==undefined){const t=n.call(e);if(t===true)return}}}this.walkExpression(e.argument)}walkLeftRightExpression(e){this.walkExpression(e.left);this.walkExpression(e.right)}walkBinaryExpression(e){this.walkLeftRightExpression(e)}walkLogicalExpression(e){const t=this.hooks.expressionLogicalOperator.call(e);if(t===undefined){this.walkLeftRightExpression(e)}else{if(t){this.walkExpression(e.right)}}}walkAssignmentExpression(e){const t=this.getRenameIdentifier(e.right);if(e.left.type==="Identifier"&&t){const n=this.hooks.canRename.get(t);if(n!==undefined&&n.call(e.right)){const n=this.hooks.rename.get(t);if(n===undefined||!n.call(e.right)){this.scope.renames.set(e.left.name,t);this.scope.definitions.delete(e.left.name)}return}}if(e.left.type==="Identifier"){const t=this.hooks.assigned.get(e.left.name);if(t===undefined||!t.call(e)){this.walkExpression(e.right)}this.scope.renames.set(e.left.name,null);const n=this.hooks.assign.get(e.left.name);if(n===undefined||!n.call(e)){this.walkExpression(e.left)}return}this.walkExpression(e.right);this.walkPattern(e.left);this.enterPattern(e.left,(e,t)=>{this.scope.renames.set(e,null)})}walkConditionalExpression(e){const t=this.hooks.expressionConditionalOperator.call(e);if(t===undefined){this.walkExpression(e.test);this.walkExpression(e.consequent);if(e.alternate){this.walkExpression(e.alternate)}}else{if(t){this.walkExpression(e.consequent)}else if(e.alternate){this.walkExpression(e.alternate)}}}walkNewExpression(e){const t=this.evaluateExpression(e.callee);if(t.isIdentifier()){const n=this.hooks.new.get(t.identifier);if(n!==undefined){const t=n.call(e);if(t===true){return}}}this.walkExpression(e.callee);if(e.arguments){this.walkExpressions(e.arguments)}}walkYieldExpression(e){if(e.argument){this.walkExpression(e.argument)}}walkTemplateLiteral(e){if(e.expressions){this.walkExpressions(e.expressions)}}walkTaggedTemplateExpression(e){if(e.tag){this.walkExpression(e.tag)}if(e.quasi&&e.quasi.expressions){this.walkExpressions(e.quasi.expressions)}}walkClassExpression(e){this.walkClass(e)}_walkIIFE(e,t,n){const r=e=>{const t=this.getRenameIdentifier(e);if(t){const n=this.hooks.canRename.get(t);if(n!==undefined&&n.call(e)){const n=this.hooks.rename.get(t);if(n===undefined||!n.call(e)){return t}}}this.walkExpression(e)};const i=e.params;const s=n?r(n):null;const o=t.map(r);const a=this.scope.topLevelScope;this.scope.topLevelScope=false;const u=i.filter((e,t)=>!o[t]);if(e.id){u.push(e.id.name)}this.inFunctionScope(true,u,()=>{if(s){this.scope.renames.set("this",s)}for(let e=0;e0){this._walkIIFE(e.callee.object,e.arguments.slice(1),e.arguments[0])}else if(e.callee.type==="FunctionExpression"){this._walkIIFE(e.callee,e.arguments,null)}else if(e.callee.type==="Import"){let t=this.hooks.importCall.call(e);if(t===true)return;if(e.arguments)this.walkExpressions(e.arguments)}else{const t=this.evaluateExpression(e.callee);if(t.isIdentifier()){const n=this.hooks.call.get(t.identifier);if(n!==undefined){let t=n.call(e);if(t===true)return}}const n=this.getNameForExpression(e.callee);if(n){const t=this.hooks.callMemberChain.get(n.rootName);if(t!==undefined){const r=t.call(e,n.rootRaw,n.members);if(r===true)return}}if(e.callee)this.walkExpression(e.callee);if(e.arguments)this.walkExpressions(e.arguments)}}walkMemberExpression(e){const t=this.getNameForExpression(e);if(t&&t.free){const n=this.hooks.expression.get(t.name);if(n!==undefined){const t=n.call(e);if(t===true)return}const r=this.hooks.expressionMemberChain.get(t.rootName);if(r!==undefined){const n=r.call(e,t.rootRaw,t.members);if(n===true)return}}this.walkExpression(e.object);if(e.computed===true)this.walkExpression(e.property)}walkThisExpression(e){const t=this.hooks.expression.get("this");if(t!==undefined){t.call(e)}}walkIdentifier(e){if(!this.scope.definitions.has(e.name)){const t=this.hooks.expression.get(this.scope.renames.get(e.name)||e.name);if(t!==undefined){const n=t.call(e);if(n===true)return}}}inScope(e,t){const n=this.scope;this.scope={topLevelScope:n.topLevelScope,inTry:false,inShorthand:false,isStrict:n.isStrict,definitions:n.definitions.createChild(),renames:n.renames.createChild()};this.scope.renames.set("this",null);this.enterPatterns(e,(e,t)=>{const n=t&&this.hooks.pattern.get(e);if(!n||n.call(t)!==true){this.scope.renames.set(e,null);this.scope.definitions.add(e)}});t();this.scope=n}inFunctionScope(e,t,n){const r=this.scope;this.scope={topLevelScope:r.topLevelScope,inTry:false,inShorthand:false,isStrict:r.isStrict,definitions:r.definitions.createChild(),renames:r.renames.createChild()};if(e){this.scope.renames.set("this",null)}this.enterPatterns(t,(e,t)=>{const n=t&&this.hooks.pattern.get(e);if(!n||n.call(t)!==true){this.scope.renames.set(e,null);this.scope.definitions.add(e)}});n();this.scope=r}inBlockScope(e){const t=this.scope;this.scope={topLevelScope:t.topLevelScope,inTry:t.inTry,inShorthand:false,isStrict:t.isStrict,definitions:t.definitions.createChild(),renames:t.renames.createChild()};e();this.scope=t}detectStrictMode(e){const t=e.length>=1&&e[0].type==="ExpressionStatement"&&e[0].expression.type==="Literal"&&e[0].expression.value==="use strict";if(t){this.scope.isStrict=true}}enterPatterns(e,t){for(const n of e){if(typeof n!=="string"){this.enterPattern(n,t)}else if(n){t(n)}}}enterPattern(e,t){if(!e)return;switch(e.type){case"ArrayPattern":this.enterArrayPattern(e,t);break;case"AssignmentPattern":this.enterAssignmentPattern(e,t);break;case"Identifier":this.enterIdentifier(e,t);break;case"ObjectPattern":this.enterObjectPattern(e,t);break;case"RestElement":this.enterRestElement(e,t);break;case"Property":this.enterPattern(e.value,t);break}}enterIdentifier(e,t){t(e.name,e)}enterObjectPattern(e,t){for(let n=0,r=e.properties.length;nt.range[0]>=e[0]&&t.range[1]<=e[1])}parseCommentOptions(e){const t=this.getComments(e);if(t.length===0){return p}let n={};let r=[];for(const e of t){const{value:t}=e;if(t&&d.test(t)){try{const i=o.runInNewContext(`(function(){return {${t}};})()`);Object.assign(n,i)}catch(t){t.comment=e;r.push(t)}}}return{options:n,errors:r}}getNameForExpression(e){let t=e;const n=[];while(t.type==="MemberExpression"&&t.property.type===(t.computed?"Literal":"Identifier")){n.push(t.computed?`${t.property.value}`:t.property.name);t=t.object}let r;let i;if(t.type==="Identifier"){r=!this.scope.definitions.has(t.name);n.push(this.scope.renames.get(t.name)||t.name);i=t.name}else if(t.type==="ThisExpression"){const e=this.scope.renames.get("this");if(e){r=true;n.push(e)}else{r=!!this.scope.topLevelScope;n.push("this")}i="this"}else{return null}let s="";for(let e=n.length-1;e>=2;e--){s+=n[e]+"."}if(n.length>1){s+=n[1]}const o=s?s+"."+n[0]:n[0];const a=s;const u=n.pop();return{name:o,nameGeneral:a,rootName:u,rootRaw:i,members:n.reverse(),free:r}}static parse(e,t){const n=t?t.sourceType:"module";const r={...f,...t};if(n==="auto"){r.sourceType="module"}else if(r.sourceType==="script"){r.allowReturnOutsideFunction=true}let i;let s;let o=false;try{i=c.parse(e,r)}catch(e){s=e;o=true}if(o&&n==="auto"){r.sourceType="script";r.allowReturnOutsideFunction=true;if(Array.isArray(r.onComment)){r.onComment.length=0}try{i=c.parse(e,r);o=false}catch(e){o=true}}if(o){throw s}return i}}e.exports=JavascriptParser},4407:function(e){"use strict";function SyncAsyncFileSystemDecorator(e){this.fs=e;if(e.statSync){this.stat=function(t,n){let r;try{r=e.statSync(t)}catch(e){return n(e)}n(null,r)}}if(e.readdirSync){this.readdir=function(t,n){let r;try{r=e.readdirSync(t)}catch(e){return n(e)}n(null,r)}}if(e.readFileSync){this.readFile=function(t,n){let r;try{r=e.readFileSync(t)}catch(e){return n(e)}n(null,r)}}if(e.readlinkSync){this.readlink=function(t,n){let r;try{r=e.readlinkSync(t)}catch(e){return n(e)}n(null,r)}}if(e.readJsonSync){this.readJson=function(t,n){let r;try{r=e.readJsonSync(t)}catch(e){return n(e)}n(null,r)}}}e.exports=SyncAsyncFileSystemDecorator},4426:function(e,t,n){"use strict";const r=n(4353).globToRegExp;function parseType(e){const t=e.split("+");const n=t.shift();return{type:n==="*"?null:n,features:t}}function isTypeMatched(e,t){if(typeof e==="string")e=parseType(e);if(typeof t==="string")t=parseType(t);if(t.type&&t.type!==e.type)return false;return t.features.every(t=>{return e.features.indexOf(t)>=0})}function isResourceTypeMatched(e,t){e=e.split("/");t=t.split("/");if(e.length!==t.length)return false;for(let n=0;n{return isResourceTypeMatched(e,t)})}function isEnvironment(e,t){return e.environments&&e.environments.every(e=>{return isTypeMatched(e,t)})}const i={};function getGlobRegExp(e){const t=i[e]||(i[e]=r(e));return t}function matchGlob(e,t){const n=getGlobRegExp(e);return n.exec(t)}function isGlobMatched(e,t){return!!matchGlob(e,t)}function isConditionMatched(e,t){const n=t.split("|");return n.some(function testFn(t){t=t.trim();const n=/^!/.test(t);if(n)return!testFn(t.substr(1));if(/^[a-z]+:/.test(t)){const n=/^([a-z]+):\s*/.exec(t);const r=t.substr(n[0].length);const i=n[1];switch(i){case"referrer":return isGlobMatched(r,e.referrer);default:return false}}else if(t.indexOf("/")>=0){return isResourceTypeSupported(e,t)}else{return isEnvironment(e,t)}})}function isKeyMatched(e,t){while(true){const n=/^\[([^\]]+)\]\s*/.exec(t);if(!n)return t;t=t.substr(n[0].length);const r=n[1];if(!isConditionMatched(e,r)){return false}}}function getField(e,t,n){let r;Object.keys(t).forEach(i=>{const s=isKeyMatched(e,i);if(s===n){r=t[i]}});return r}function getMain(e,t){return getField(e,t,"main")}function getExtensions(e,t){return getField(e,t,"extensions")}function matchModule(e,t,n){const r=getField(e,t,"modules");if(!r)return n;let i=n;const s=Object.keys(r);let o=0;let a;let u;for(let t=0;ts.length){throw new Error("Request '"+n+"' matches recursively")}}}return i;function replaceMatcher(e){switch(e){case"/**":{const e=a[u++];return e?"/"+e:""}case"**":case"*":return a[u++]}}}function matchType(e,t,n){const r=getField(e,t,"types");if(!r)return undefined;let i;Object.keys(r).forEach(t=>{const s=isKeyMatched(e,t);if(isGlobMatched(s,n)){const e=r[t];if(!i&&/\/\*$/.test(e))throw new Error("value ('"+e+"') of key '"+t+"' contains '*', but there is no previous value defined");i=e.replace(/\/\*$/,"/"+i)}});return i}t.parseType=parseType;t.isTypeMatched=isTypeMatched;t.isResourceTypeSupported=isResourceTypeSupported;t.isEnvironment=isEnvironment;t.isGlobMatched=isGlobMatched;t.isConditionMatched=isConditionMatched;t.isKeyMatched=isKeyMatched;t.getField=getField;t.getMain=getMain;t.getExtensions=getExtensions;t.matchModule=matchModule;t.matchType=matchType},4445:function(e,t,n){"use strict";const r=n(1627);class ChunkRenderError extends r{constructor(e,t,n){super();this.name="ChunkRenderError";this.error=n;this.message=n.message;this.details=n.stack;this.file=t;this.chunk=e;Error.captureStackTrace(this,this.constructor)}}e.exports=ChunkRenderError},4448:function(e,t,n){var r=n(5757);function init(e,t,n){if(!!t&&typeof t!="string"){t=t.message||t.name}r(this,{type:e,name:e,cause:typeof t!="string"?t:n,message:t},"ewr")}function CustomError(e,t){Error.call(this);if(Error.captureStackTrace)Error.captureStackTrace(this,this.constructor);init.call(this,"CustomError",e,t)}CustomError.prototype=new Error;function createError(e,t,n){var r=function(n,i){init.call(this,t,n,i);if(t=="FilesystemError"){this.code=this.cause.code;this.path=this.cause.path;this.errno=this.cause.errno;this.message=(e.errno[this.cause.errno]?e.errno[this.cause.errno].description:this.cause.message)+(this.cause.path?" ["+this.cause.path+"]":"")}Error.call(this);if(Error.captureStackTrace)Error.captureStackTrace(this,r)};r.prototype=!!n?new n:new CustomError;return r}e.exports=function(e){var t=function(t,n){return createError(e,t,n)};return{CustomError:CustomError,FilesystemError:t("FilesystemError"),createError:t}}},4467:function(e,t,n){"use strict";var r=n(9596).SourceNode;var i=n(9596).SourceMapConsumer;var s=n(6900).SourceListMap;var o=n(3292);class LineToLineMappedSource extends o{constructor(e,t,n){super();this._value=e;this._name=t;this._originalSource=n}source(){return this._value}node(e){var t=this._value;var n=this._name;var i=t.split("\n");var s=new r(null,null,null,i.map(function(e,t){return new r(t+1,0,n,e+(t!=i.length-1?"\n":""))}));s.setSourceContent(n,this._originalSource);return s}listMap(e){return new s(this._value,this._name,this._originalSource)}updateHash(e){e.update(this._value);e.update(this._originalSource)}}n(3713)(LineToLineMappedSource.prototype);e.exports=LineToLineMappedSource},4471:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:true});t.default=void 0;var r=_interopRequireDefault(n(2087));var i=_interopRequireDefault(n(3101));var s=_interopRequireDefault(n(9557));var o=_interopRequireDefault(n(3559));var a=_interopRequireDefault(n(6349));var u=_interopRequireDefault(n(6310));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const c=n.ab+"worker.js";class TaskRunner{constructor(e={}){const{cache:t,parallel:n}=e;this.cacheDir=t===true?(0,s.default)({name:"terser-webpack-plugin"}):t;const i=r.default.cpus()||{length:1};this.maxConcurrentWorkers=n===true?i.length-1:Math.min(Number(n)||0,i.length-1)}run(e,t){if(!e.length){t(null,[]);return}if(this.maxConcurrentWorkers>1){const e=process.platform==="win32"?{maxConcurrentWorkers:this.maxConcurrentWorkers,maxConcurrentCallsPerWorker:1}:{maxConcurrentWorkers:this.maxConcurrentWorkers};this.workers=(0,o.default)(e,n.ab+"worker.js");this.boundWorkers=((e,t)=>{try{this.workers((0,a.default)(e),t)}catch(e){t(e)}})}else{this.boundWorkers=((e,t)=>{try{t(null,(0,u.default)(e))}catch(e){t(e)}})}let r=e.length;const s=[];const c=(e,n)=>{r-=1;s[e]=n;if(!r){t(null,s)}};e.forEach((e,t)=>{const n=()=>{this.boundWorkers(e,(n,r)=>{const s=n?{error:n}:r;const o=()=>c(t,s);if(this.cacheDir&&!s.error){i.default.put(this.cacheDir,(0,a.default)(e.cacheKeys),JSON.stringify(r)).then(o,o)}else{o()}})};if(this.cacheDir){i.default.get(this.cacheDir,(0,a.default)(e.cacheKeys)).then(({data:e})=>c(t,JSON.parse(e)),n)}else{n()}})}exit(){if(this.workers){o.default.end(this.workers)}}}t.default=TaskRunner},4489:function(e,t,n){"use strict";const r=n(1627);const i=n(6202);class ModuleParseError extends r{constructor(e,t,n){let r="Module parse failed: "+(t&&t.message);let i=undefined;if(!n){r+="\nYou may need an appropriate loader to handle this file type."}else if(n.length>=1){r+=`\nFile was processed with these loaders:${n.map(e=>`\n * ${e}`).join("")}`;r+="\nYou may need an additional loader to handle the result of these loaders."}else{r+="\nYou may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders"}if(t&&t.loc&&typeof t.loc==="object"&&typeof t.loc.line==="number"){var s=t.loc.line;if(/[\0\u0001\u0002\u0003\u0004\u0005\u0006\u0007]/.test(e)){r+="\n(Source code omitted for this binary file)"}else{const t=e.split(/\r?\n/);const n=Math.max(0,s-3);const i=t.slice(n,s-1);const o=t[s-1];const a=t.slice(s,s+2);r+=i.map(e=>`\n| ${e}`).join("")+`\n> ${o}`+a.map(e=>`\n| ${e}`).join("")}i={start:t.loc}}else if(t&&t.stack){r+="\n"+t.stack}super(r);this.name="ModuleParseError";this.loc=i;this.error=t;Error.captureStackTrace(this,this.constructor)}serialize(e){const{write:t}=e;t(this.error);super.serialize(e)}deserialize(e){const{read:t}=e;this.error=t();super.deserialize(e)}}i(ModuleParseError,"webpack/lib/ModuleParseError");e.exports=ModuleParseError},4500:function(e,t,n){"use strict";const r=n(1627);e.exports=class NoModeWarning extends r{constructor(e){super();this.name="NoModeWarning";this.message="configuration\n"+"The 'mode' option has not been set, webpack will fallback to 'production' for this value. "+"Set 'mode' option to 'development' or 'production' to enable defaults for each environment.\n"+"You can also set it to 'none' to disable any default behavior. "+"Learn more: https://webpack.js.org/configuration/mode/";Error.captureStackTrace(this,this.constructor)}}},4541:function(e){e.exports={title:"AggressiveSplittingPluginOptions",type:"object",additionalProperties:false,properties:{chunkOverhead:{description:"Default: 0",type:"number"},entryChunkMultiplicator:{description:"Default: 1",type:"number"},maxSize:{description:"Byte, maxsize of per file. Default: 51200",type:"number"},minSize:{description:"Byte, split point. Default: 30720",type:"number"}}}},4551:function(e){e.exports=function(e,n){var r=[];for(var i=0;iArray.from(e);const l=(e,t)=>{if(e.id{const n=e.module?e.module.identifier():"";const r=t.module?t.module.identifier():"";if(nr)return 1;return s(e.loc,t.loc)};class ChunkGroup{constructor(e){if(typeof e==="string"){e={name:e}}else if(!e){e={name:undefined}}this.groupDebugId=u++;this.options=e;this._children=new i(undefined,l);this._parents=new i(undefined,l);this._blocks=new i;this.chunks=[];this.origins=[];this._modulePreOrderIndices=new Map;this._modulePostOrderIndices=new Map}addOptions(e){for(const t of Object.keys(e)){if(this.options[t]===undefined){this.options[t]=e[t]}else if(this.options[t]!==e[t]){if(t.endsWith("Order")){this.options[t]=Math.max(this.options[t],e[t])}else{throw new Error(`ChunkGroup.addOptions: No option merge strategy for ${t}`)}}}}get name(){return this.options.name}set name(e){this.options.name=e}get debugId(){return Array.from(this.chunks,e=>e.debugId).join("+")}get id(){return Array.from(this.chunks,e=>e.id).join("+")}unshiftChunk(e){const t=this.chunks.indexOf(e);if(t>0){this.chunks.splice(t,1);this.chunks.unshift(e)}else if(t<0){this.chunks.unshift(e);return true}return false}insertChunk(e,t){const n=this.chunks.indexOf(e);const r=this.chunks.indexOf(t);if(r<0){throw new Error("before chunk not found")}if(n>=0&&n>r){this.chunks.splice(n,1);this.chunks.splice(r,0,e)}else if(n<0){this.chunks.splice(r,0,e);return true}return false}pushChunk(e){const t=this.chunks.indexOf(e);if(t>=0){return false}this.chunks.push(e);return true}replaceChunk(e,t){const n=this.chunks.indexOf(e);if(n<0)return false;const r=this.chunks.indexOf(t);if(r<0){this.chunks[n]=t;return true}if(r=0){this.chunks.splice(t,1);return true}return false}isInitial(){return false}addChild(e){if(this._children.has(e)){return false}this._children.add(e);return true}getChildren(){return this._children.getFromCache(c)}getNumberOfChildren(){return this._children.size}get childrenIterable(){return this._children}removeChild(e){if(!this._children.has(e)){return false}this._children.delete(e);e.removeParent(this);return true}addParent(e){if(!this._parents.has(e)){this._parents.add(e);return true}return false}getParents(){return this._parents.getFromCache(c)}getNumberOfParents(){return this._parents.size}hasParent(e){return this._parents.has(e)}get parentsIterable(){return this._parents}removeParent(e){if(this._parents.delete(e)){e.removeChild(this);return true}return false}getBlocks(){return this._blocks.getFromCache(c)}getNumberOfBlocks(){return this._blocks.size}hasBlock(e){return this._blocks.has(e)}get blocksIterable(){return this._blocks}addBlock(e){if(!this._blocks.has(e)){this._blocks.add(e);return true}return false}addOrigin(e,t,n){this.origins.push({module:e,loc:t,request:n})}getFiles(){const e=new Set;for(const t of this.chunks){for(const n of t.files){e.add(n)}}return Array.from(e)}remove(){for(const e of this._parents){e._children.delete(this);for(const t of this._children){t.addParent(e);e.addChild(t)}}for(const e of this._children){e._parents.delete(this)}for(const e of this.chunks){e.removeGroup(this)}}sortItems(){this.origins.sort(f);this._parents.sort();this._children.sort()}compareTo(e,t){if(this.chunks.length>t.chunks.length)return-1;if(this.chunks.length{const r=n.order-e.order;if(r!==0)return r;return e.group.compareTo(t,n.group)});r[e]=i.map(e=>e.group)}return r}setModulePreOrderIndex(e,t){this._modulePreOrderIndices.set(e,t)}getModulePreOrderIndex(e){return this._modulePreOrderIndices.get(e)}setModulePostOrderIndex(e,t){this._modulePostOrderIndices.set(e,t)}getModulePostOrderIndex(e){return this._modulePostOrderIndices.get(e)}checkConstraints(){const e=this;for(const t of e._children){if(!t._parents.has(e)){throw new Error(`checkConstraints: child missing parent ${e.debugId} -> ${t.debugId}`)}}for(const t of e._parents){if(!t._children.has(e)){throw new Error(`checkConstraints: parent missing child ${t.debugId} <- ${e.debugId}`)}}}}ChunkGroup.prototype.getModuleIndex=r.deprecate(ChunkGroup.prototype.getModulePreOrderIndex,"ChunkGroup.getModuleIndex was renamed to getModulePreOrderIndex");ChunkGroup.prototype.getModuleIndex2=r.deprecate(ChunkGroup.prototype.getModulePostOrderIndex,"ChunkGroup.getModuleIndex2 was renamed to getModulePostOrderIndex");e.exports=ChunkGroup},4568:function(e,t,n){"use strict";const r=n(8692);const i=n(3829);const s=n(991);const o=n(5261);const a=n(9308);const{register:u,registerLoader:c,registerNotSerializable:l}=s;t.register=u;t.registerLoader=c;t.registerNotSerializable=l;t.NOT_SERIALIZABLE=s.NOT_SERIALIZABLE;t.MEASURE_START_OPERATION=r.MEASURE_START_OPERATION;t.MEASURE_END_OPERATION=r.MEASURE_END_OPERATION;t.createFileSerializer=(e=>new o([new a,new s,new r,new i(e)]));t.buffersSerializer=new o([new a,new s,new r]);n(8077);c(/^webpack\/lib\//,e=>require("../"+e.slice("webpack/lib/".length)))},4576:function(e,t,n){"use strict";const r=n(3272);const{UsageState:i}=n(5412);const s=n(6150);const o=n(8159);const{intersect:a}=n(6221);const u=n(6202);const c=n(7737);const l=n(7359);const f=Symbol("HarmonyExportImportedSpecifierDependency.ids");const d=new Map;const p=new Set;class ExportMode{constructor(e){this.type=e;this.name=null;this.map=d;this.partialNamespaceExportsInfo=undefined;this.ignored=null;this.checked=null;this.getModule=null;this.userRequest=null}}class HarmonyExportImportedSpecifierDependency extends l{constructor(e,t,n,r,i,s,o){super(e,t);this.ids=n;this.name=r;this.activeExports=i;this.otherStarExports=s;this.strictExportPresence=o}get id(){throw new Error("id was renamed to ids and type changed to string[]")}getId(){throw new Error("id was renamed to ids and type changed to string[]")}setId(){throw new Error("id was renamed to ids and type changed to string[]")}get type(){return"harmony export imported specifier"}getIds(e){return e.getMeta(this)[f]||this.ids}setIds(e,t){e.getMeta(this)[f]=t}getMode(e,t){const n=this.name;const r=this.getIds(e);const s=e.getParentModule(this);const o=e.getModule(this);const u=e.getExportsInfo(s);if(!o){const e=new ExportMode("missing");e.userRequest=this.userRequest;return e}if(!t&&(n?u.isExportUsed(n)===i.Unused:u.isUsed()===false)){const e=new ExportMode("unused");e.name=n||"*";return e}const c=s.buildMeta.strictHarmonyModule;if(n&&r.length>0&&r[0]==="default"&&o.buildMeta){if(!o.buildMeta.exportsType){const t=new ExportMode(c?"reexport-non-harmony-default-strict":"reexport-non-harmony-default");t.name=n;t.getModule=(()=>e.getModule(this));return t}else if(o.buildMeta.exportsType==="named"){const t=new ExportMode("reexport-named-default");t.name=n;t.getModule=(()=>e.getModule(this));return t}}const l=o.buildMeta&&!o.buildMeta.exportsType;if(n){let t;const s=u.getReadOnlyExportInfo(n);if(r.length>0){if(l&&c){t=new ExportMode("reexport-non-harmony-undefined");t.name=n}else{t=new ExportMode("normal-reexport");t.map=new Map([[n,r]]);t.checked=p}}else{if(l&&c){t=new ExportMode("reexport-fake-namespace-object");t.name=n}else if(s.used===i.OnlyPropertiesUsed&&s.exportsInfo&&s.exportsInfo.otherExportsInfo.used===i.Unused){t=new ExportMode("reexport-partial-namespace-object");t.name=n;t.partialNamespaceExportsInfo=s.exportsInfo}else{t=new ExportMode("reexport-namespace-object");t.name=n}}t.getModule=(()=>e.getModule(this));return t}const f=e.getExportsInfo(o);const d=f.otherExportsInfo.provided===false;const h=u.otherExportsInfo.used===i.Unused;const m=new Set(["default",...this.activeExports,...this._discoverActiveExportsFromOtherStarExports(e)]);if(!d&&!h){const t=new ExportMode("dynamic-reexport");t.ignored=m;t.getModule=(()=>e.getModule(this));return t}const g=d&&new Set;const y=h&&new Set;let v;if(h){for(const e of u.exports){if(m.has(e.name))continue;if(e.used!==i.Unused){y.add(e.name)}}}if(d){v=new Set;for(const e of f.exports){if(m.has(e.name))continue;switch(e.provided){case true:g.add(e.name);break;case false:break;default:{const t=e.name;v.add(t);g.add(t);break}}}}else{v=y}const b=g&&y?a([g,y]):g||y;if(b.size===0){const t=new ExportMode("empty-star");t.getModule=(()=>e.getModule(this));return t}const w=new Map;for(const e of b){w.set(e,[e])}const E=new ExportMode("normal-reexport");E.getModule=(()=>e.getModule(this));E.map=w;E.checked=v;return E}getReference(e){const t=this.getMode(e,false);switch(t.type){case"missing":case"unused":case"empty-star":return null;case"reexport-non-harmony-default":case"reexport-named-default":return new c(t.getModule,[["default"]],false,this.sourceOrder);case"reexport-partial-namespace-object":{const e=[];const n=(t,r)=>{for(const s of r.orderedExports){if(s.used===i.OnlyPropertiesUsed&&s.exportsInfo&&s.exportsInfo.otherExportsInfo.used===i.Unused){n(t.concat(s.name),s.exportsInfo)}else if(s.used!==i.Unused){e.push(t.concat(s.name))}}};n([],t.partialNamespaceExportsInfo);return new c(t.getModule,e,false,this.sourceOrder)}case"reexport-namespace-object":case"reexport-non-harmony-default-strict":case"reexport-fake-namespace-object":case"reexport-non-harmony-undefined":case"dynamic-reexport":return new c(t.getModule,c.NS_OBJECT_IMPORTED,false,this.sourceOrder);case"normal-reexport":return new c(t.getModule,Array.from(t.map.values()),false,this.sourceOrder);default:throw new Error(`Unknown mode ${t.type}`)}}_discoverActiveExportsFromOtherStarExports(e){if(!this.otherStarExports){return new Set}const t=new Set;for(const n of this.otherStarExports){const r=e.getModule(n);if(r){const n=e.getProvidedExports(r);if(Array.isArray(n)){for(const e of n){t.add(e)}}}}return t}getExports(e){const t=this.getMode(e,true);switch(t.type){case"missing":return undefined;case"dynamic-reexport":return{exports:true,dependencies:[t.getModule()]};case"empty-star":return{exports:[],dependencies:[t.getModule()]};case"normal-reexport":return{exports:Array.from(t.map.keys()).map(e=>({name:e,from:t.getModule(),export:t.map.get(e)})),dependencies:[t.getModule()]};case"reexport-fake-namespace-object":case"reexport-non-harmony-default":case"reexport-non-harmony-default-strict":case"reexport-non-harmony-undefined":case"reexport-named-default":return{exports:[t.name],dependencies:[t.getModule()]};case"reexport-namespace-object":case"reexport-partial-namespace-object":return{exports:[{name:t.name,from:t.getModule(),export:null}],dependencies:[t.getModule()]};default:throw new Error(`Unknown mode ${t.type}`)}}getWarnings(e){if(this.strictExportPresence||e.getParentModule(this).buildMeta.strictHarmonyModule){return[]}return this._getErrors(e)}getErrors(e){if(this.strictExportPresence||e.getParentModule(this).buildMeta.strictHarmonyModule){return this._getErrors(e)}return[]}_getErrors(e){const t=this.getIds(e);return this.getLinkingErrors(e,t,`(reexported as '${this.name}')`)}updateHash(e,t){super.updateHash(e,t);const n=this.getMode(t.moduleGraph);e.update(n.type);for(const[t,r]of n.map){e.update(t);e.update(r.join())}if(n.ignored){e.update("ignored");for(const t of n.ignored){e.update(t)}}e.update(n.name||"")}serialize(e){const{write:t}=e;t(this.ids);t(this.name);t(this.activeExports);t(this.otherStarExports);t(this.strictExportPresence);super.serialize(e)}deserialize(e){const{read:t}=e;this.ids=t();this.name=t();this.activeExports=t();this.otherStarExports=t();this.strictExportPresence=t();super.deserialize(e)}}u(HarmonyExportImportedSpecifierDependency,"webpack/lib/dependencies/HarmonyExportImportedSpecifierDependency");e.exports=HarmonyExportImportedSpecifierDependency;HarmonyExportImportedSpecifierDependency.Template=class HarmonyExportImportedSpecifierDependencyTemplate extends l.Template{apply(e,t,n){const r=e;const i=r.getMode(n.moduleGraph,false);if(i.type!=="unused"&&i.type!=="empty-star"){super.apply(e,t,n);this._addExportFragments(n.initFragments,r,i,n.module,n.moduleGraph,n.runtimeRequirements)}}_addExportFragments(e,t,n,i,a,u){const c=a.getModule(t);const l=t.getImportVar(a);switch(n.type){case"missing":case"empty-star":e.push(new r("/* empty/unused harmony star reexport */\n",r.STAGE_HARMONY_EXPORTS,1));break;case"unused":e.push(new r(`${o.toNormalComment(`unused harmony reexport ${n.name}`)}\n`,r.STAGE_HARMONY_EXPORTS,1));break;case"reexport-non-harmony-default":e.push(new r("/* harmony reexport (default from non-harmony) */ "+this.getReexportStatement(i,i.getUsedName(a,n.name),l,null,u),r.STAGE_HARMONY_EXPORTS,1));break;case"reexport-named-default":e.push(new r("/* harmony reexport (default from named exports) */ "+this.getReexportStatement(i,i.getUsedName(a,n.name),l,"",u),r.STAGE_HARMONY_EXPORTS,1));break;case"reexport-fake-namespace-object":e.push(new r("/* harmony reexport (fake namespace object from non-harmony) */ "+this.getReexportFakeNamespaceObjectStatement(i,i.getUsedName(a,n.name),l,u),r.STAGE_HARMONY_EXPORTS,1));break;case"reexport-non-harmony-undefined":e.push(new r("/* harmony reexport (non default export from non-harmony) */ "+this.getReexportStatement(i,i.getUsedName(a,n.name),"undefined","",u),r.STAGE_HARMONY_EXPORTS,1));break;case"reexport-non-harmony-default-strict":e.push(new r("/* harmony reexport (default from non-harmony) */ "+this.getReexportStatement(i,i.getUsedName(a,n.name),l,"",u),r.STAGE_HARMONY_EXPORTS,1));break;case"reexport-namespace-object":case"reexport-partial-namespace-object":e.push(new r("/* harmony reexport (module object) */ "+this.getReexportStatement(i,i.getUsedName(a,n.name),l,"",u),r.STAGE_HARMONY_EXPORTS,1));break;case"normal-reexport":for(const[s,o]of n.map){if(n.checked.has(s)){e.push(new r("/* harmony reexport (checked) */ "+this.getConditionalReexportStatement(i,s,l,o,u),r.STAGE_HARMONY_IMPORTS,t.sourceOrder))}else{e.push(new r("/* harmony reexport (safe) */ "+this.getReexportStatement(i,i.getUsedName(a,s),l,c.getUsedName(a,o),u),r.STAGE_HARMONY_EXPORTS,1))}}break;case"dynamic-reexport":{const o=n.ignored;let a="/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in "+l+") ";if(o.size>1){a+="if("+JSON.stringify(Array.from(o))+".indexOf(__WEBPACK_IMPORT_KEY__) < 0) "}else if(o.size===1){a+=`if(__WEBPACK_IMPORT_KEY__ !== ${JSON.stringify(o.values().next().value)}) `}u.add(s.exports);u.add(s.definePropertyGetter);const c=i.exportsArgument;e.push(new r(a+`${s.definePropertyGetter}(${c}, __WEBPACK_IMPORT_KEY__, function(key) { return ${l}[key]; }.bind(0, __WEBPACK_IMPORT_KEY__));\n`,r.STAGE_HARMONY_IMPORTS,t.sourceOrder));break}default:throw new Error(`Unknown mode ${n.type}`)}}getReexportStatement(e,t,n,r,i){const o=e.exportsArgument;const a=this.getReturnValue(n,r);i.add(s.exports);i.add(s.definePropertyGetter);return`${s.definePropertyGetter}(${o}, ${JSON.stringify(t)}, function() { return ${a}; });\n`}getReexportFakeNamespaceObjectStatement(e,t,n,r){const i=e.exportsArgument;r.add(s.exports);r.add(s.definePropertyGetter);r.add(s.createFakeNamespaceObject);return`${s.definePropertyGetter}(${i}, ${JSON.stringify(t)}, function() { return ${s.createFakeNamespaceObject}(${n}); });\n`}getConditionalReexportStatement(e,t,n,r,i){if(r===false){return"/* unused export */\n"}const o=e.exportsArgument;const a=this.getReturnValue(n,r);i.add(s.exports);i.add(s.definePropertyGetter);return`if(Object.prototype.hasOwnProperty.call(${n}, ${JSON.stringify(r)})) ${s.definePropertyGetter}(${o}, ${JSON.stringify(t)}, function() { return ${a}; });\n`}getReturnValue(e,t){if(t===null){return`${e}_default.a`}if(t===""){return e}if(t===false){return"/* unused export */ undefined"}return`${e}[${JSON.stringify(t)}]`}}},4593:function(e,t,n){"use strict";const{RawSource:r}=n(2991);const i=n(3453);const s=n(6150);class DllModule extends i{constructor(e,t,n){super("javascript/dynamic",e);this.dependencies=t;this.name=n}identifier(){return`dll ${this.name}`}readableIdentifier(e){return`dll ${this.name}`}build(e,t,n,r,i){this.buildMeta={};this.buildInfo={};return i()}source(e){return new r("module.exports = __webpack_require__;")}getRuntimeRequirements(e){return[s.require,s.module]}needBuild(e,t){return t(null,!this.buildMeta)}size(e){return 12}updateHash(e,t){e.update("dll module");e.update(this.name||"");super.updateHash(e,t)}}e.exports=DllModule},4630:function(e){"use strict";e.exports={metaSchemaRef:metaSchemaRef};var t="http://json-schema.org/draft-06/schema";function metaSchemaRef(e){var n=e._opts.defaultMeta;if(typeof n=="string")return{$ref:n};if(e.getSchema(t))return{$ref:t};console.warn("meta schema not defined");return{}}},4631:function(e){"use strict";e.exports=function(e){var t=e._SomePromiseArray;function any(e){var n=new t(e);var r=n.promise();n.setHowMany(1);n.setUnwrap();n.init();return r}e.any=function(e){return any(e)};e.prototype.any=function(){return any(this)}}},4642:function(e,t){"use strict";const n=(e,t)=>{if(e.pushChunk(t)){t.addGroup(e)}};const r=(e,t)=>{if(e.addChild(t)){t.addParent(e)}};t.connectChunkGroupAndChunk=n;t.connectChunkGroupParentAndChild=r},4648:function(e){"use strict";const t=(e,t)=>{const n=Math.min(e.length,t.length);let r=0;for(let i=0;i{const n=Math.min(e.length,t.length);let r="";for(let i=0;i{for(const n of Object.keys(t)){e[n]=(e[n]||0)+t[n]}};const i=e=>{const t=Object.create(null);for(const n of e){r(t,n.size)}return t};const s=(e,t)=>{for(const n of Object.keys(e)){const r=t[n];if(typeof r==="number"){if(e[n]>r)return true}}return false};const o=(e,t)=>{for(const n of Object.keys(e)){const r=t[n];if(typeof r==="number"){if(e[n]{const n=new Set;for(const r of Object.keys(e)){const i=t[r];if(typeof i==="number"){if(e[r]{let n=0;for(const r of Object.keys(e)){if(t.has(r))n++}return n};const c=(e,t)=>{let n=0;for(const r of Object.keys(e)){if(t.has(r))n+=e[r]}return n};class Node{constructor(e,t,n){this.item=e;this.key=t;this.size=n}}class Group{constructor(e,t,n){this.nodes=e;this.similarities=t;this.size=n||i(e);this.key=undefined}popNodes(e){const n=[];const r=[];const s=[];let o;for(let i=0;i0){r.push(o===this.nodes[i-1]?this.similarities[i-1]:t(o.key,a.key))}n.push(a);o=a}}this.nodes=n;this.similarities=r;this.size=i(n);return s}}const l=e=>{const n=[];let r=undefined;for(const i of e){if(r!==undefined){n.push(t(r.key,i.key))}r=i}return n};e.exports=(({maxSize:e,minSize:t,items:i,getSize:f,getKey:d})=>{const p=[];const h=Array.from(i,e=>new Node(e,d(e),f(e)));const m=[];h.sort((e,t)=>{if(e.keyt.key)return 1;return 0});for(const n of h){if(s(n.size,e)&&!o(n.size,t)){p.push(new Group([n],[]))}else{m.push(n)}}if(m.length>0){const n=new Group(m,l(m));const i=a(n.size,t);if(i.size>0){const e=n.popNodes(e=>u(e.size,i)>0);const t=p.filter(e=>u(e.size,i)>0);if(t.length>0){const n=t.reduce((e,t)=>{const n=u(e);const r=u(t);if(n!==r)return nc(t.size,i))return t;return e});for(const t of e)n.nodes.push(t);n.nodes.sort((e,t)=>{if(e.keyt.key)return 1;return 0})}else{p.push(new Group(e,null))}}if(n.nodes.length>0){const i=[n];while(i.length){const n=i.pop();if(!s(n.size,e)){p.push(n);continue}let a=1;let u=Object.create(null);r(u,n.nodes[0].size);while(o(u,t)){r(u,n.nodes[a].size);a++}let c=n.nodes.length-2;let l=Object.create(null);r(l,n.nodes[n.nodes.length-1].size);while(o(l,t)){r(l,n.nodes[c].size);c--}if(a-1>c){p.push(n);continue}if(a<=c){let e=a-1;let t=n.similarities[e];for(let r=a;r<=c;r++){const i=n.similarities[r];if(i{if(e.nodes[0].keyt.nodes[0].key)return 1;return 0});for(let e=0;e{return{key:e.key,items:e.nodes.map(e=>e.item),size:e.size}})})},4657:function(e){"use strict";e.exports=function generate_switch(e,t,n){var r=" ";var i=e.level;var s=e.dataLevel;var o=e.schema[t];var a=e.schemaPath+e.util.getProperty(t);var u=e.errSchemaPath+"/"+t;var c=!e.opts.allErrors;var l="data"+(s||"");var f="valid"+i;var d="errs__"+i;var p=e.util.copy(e);var h="";p.level++;var m="valid"+p.level;var g="ifPassed"+e.level,y=p.baseId,v;r+="var "+g+";";var b=o;if(b){var w,E=-1,_=b.length-1;while(E<_){w=b[E+=1];if(E&&!v){r+=" if (!"+g+") { ";h+="}"}if(w.if&&e.util.schemaHasRules(w.if,e.RULES.all)){r+=" var "+d+" = errors; ";var S=e.compositeRule;e.compositeRule=p.compositeRule=true;p.createErrors=false;p.schema=w.if;p.schemaPath=a+"["+E+"].if";p.errSchemaPath=u+"/"+E+"/if";r+=" "+e.validate(p)+" ";p.baseId=y;p.createErrors=true;e.compositeRule=p.compositeRule=S;r+=" "+g+" = "+m+"; if ("+g+") { ";if(typeof w.then=="boolean"){if(w.then===false){var k=k||[];k.push(r);r="";if(e.createErrors!==false){r+=" { keyword: '"+"switch"+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { caseIndex: "+E+" } ";if(e.opts.messages!==false){r+=" , message: 'should pass \"switch\" keyword validation' "}if(e.opts.verbose){r+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "}r+=" } "}else{r+=" {} "}var C=r;r=k.pop();if(!e.compositeRule&&c){if(e.async){r+=" throw new ValidationError(["+C+"]); "}else{r+=" validate.errors = ["+C+"]; return false; "}}else{r+=" var err = "+C+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}}r+=" var "+m+" = "+w.then+"; "}else{p.schema=w.then;p.schemaPath=a+"["+E+"].then";p.errSchemaPath=u+"/"+E+"/then";r+=" "+e.validate(p)+" ";p.baseId=y}r+=" } else { errors = "+d+"; if (vErrors !== null) { if ("+d+") vErrors.length = "+d+"; else vErrors = null; } } "}else{r+=" "+g+" = true; ";if(typeof w.then=="boolean"){if(w.then===false){var k=k||[];k.push(r);r="";if(e.createErrors!==false){r+=" { keyword: '"+"switch"+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { caseIndex: "+E+" } ";if(e.opts.messages!==false){r+=" , message: 'should pass \"switch\" keyword validation' "}if(e.opts.verbose){r+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "}r+=" } "}else{r+=" {} "}var C=r;r=k.pop();if(!e.compositeRule&&c){if(e.async){r+=" throw new ValidationError(["+C+"]); "}else{r+=" validate.errors = ["+C+"]; return false; "}}else{r+=" var err = "+C+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}}r+=" var "+m+" = "+w.then+"; "}else{p.schema=w.then;p.schemaPath=a+"["+E+"].then";p.errSchemaPath=u+"/"+E+"/then";r+=" "+e.validate(p)+" ";p.baseId=y}}v=w.continue}}r+=""+h+"var "+f+" = "+m+"; ";r=e.util.cleanUpCode(r);return r}},4673:function(e){var t=function(){"use strict";return this===undefined}();if(t){e.exports={freeze:Object.freeze,defineProperty:Object.defineProperty,getDescriptor:Object.getOwnPropertyDescriptor,keys:Object.keys,names:Object.getOwnPropertyNames,getPrototypeOf:Object.getPrototypeOf,isArray:Array.isArray,isES5:t,propertyIsWritable:function(e,t){var n=Object.getOwnPropertyDescriptor(e,t);return!!(!n||n.writable||n.set)}}}else{var n={}.hasOwnProperty;var r={}.toString;var i={}.constructor.prototype;var s=function(e){var t=[];for(var r in e){if(n.call(e,r)){t.push(r)}}return t};var o=function(e,t){return{value:e[t]}};var a=function(e,t,n){e[t]=n.value;return e};var u=function(e){return e};var c=function(e){try{return Object(e).constructor.prototype}catch(e){return i}};var l=function(e){try{return r.call(e)==="[object Array]"}catch(e){return false}};e.exports={isArray:l,keys:s,names:s,defineProperty:a,getDescriptor:o,freeze:u,getPrototypeOf:c,isES5:t,propertyIsWritable:function(){return true}}}},4674:function(e,t,n){"use strict";const{STAGE_ADVANCED:r}=n(2414);class RuntimeChunkPlugin{constructor(e){this.options={name:e=>`runtime~${e.name}`,...e}}apply(e){e.hooks.thisCompilation.tap("RuntimeChunkPlugin",e=>{e.hooks.optimizeChunks.tap({name:"RuntimeChunkPlugin",stage:r},()=>{const t=e.chunkGraph;for(const n of e.entrypoints.values()){const r=n.getRuntimeChunk();let i=this.options.name;if(typeof i==="function"){i=i(n)}if(t.getNumberOfChunkModules(r)>0||!r.preventIntegration||r.name!==i){const t=e.addChunk(i);t.preventIntegration=true;n.unshiftChunk(t);t.addGroup(n);n.setRuntimeChunk(t)}}})})}}e.exports=RuntimeChunkPlugin},4676:function(e,t,n){"use strict";const r=n(6150);const i=n(8159);const s=n(9851);class MakeNamespaceObjectRuntimeModule extends s{constructor(){super("make namespace object")}generate(){const e=r.makeNamespaceObject;return i.asString(["// define __esModule on exports",`${e} = function(exports) {`,i.indent(["if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {",i.indent(["Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });"]),"}","Object.defineProperty(exports, '__esModule', { value: true });"]),"};"])}}e.exports=MakeNamespaceObjectRuntimeModule},4693:function(e,t,n){"use strict";const r=n(140);class Watching{constructor(e,t,n){this.startTime=null;this.invalid=false;this.handler=n;this.callbacks=[];this.closed=false;this.suspended=false;if(typeof t==="number"){this.watchOptions={aggregateTimeout:t}}else if(t&&typeof t==="object"){this.watchOptions={...t}}else{this.watchOptions={}}this.watchOptions.aggregateTimeout=this.watchOptions.aggregateTimeout||200;this.compiler=e;this.running=true;this.compiler.readRecords(e=>{if(e)return this._done(e);this._go()})}_go(){this.startTime=Date.now();this.running=true;this.invalid=false;this.compiler.cache.endIdle(e=>{if(e)return this._done(e);this.compiler.hooks.watchRun.callAsync(this.compiler,e=>{if(e)return this._done(e);const t=(e,n)=>{if(e)return this._done(e);if(this.invalid)return this._done();if(this.compiler.hooks.shouldEmit.call(n)===false){return this._done(null,n)}process.nextTick(()=>{this.compiler.emitAssets(n,e=>{if(e)return this._done(e);if(this.invalid)return this._done();this.compiler.emitRecords(e=>{if(e)return this._done(e);if(n.hooks.needAdditionalPass.call()){n.needAdditionalPass=true;const e=new r(n);e.startTime=this.startTime;e.endTime=Date.now();this.compiler.hooks.done.callAsync(e,e=>{if(e)return this._done(e);this.compiler.hooks.additionalPass.callAsync(e=>{if(e)return this._done(e);this.compiler.compile(t)})});return}return this._done(null,n)})})})};this.compiler.compile(t)})})}_getStats(e){const t=new r(e);t.startTime=this.startTime;t.endTime=Date.now();return t}_done(e,t){this.running=false;if(this.invalid)return this._go();const n=t?this._getStats(t):null;if(e){this.compiler.hooks.failed.call(e);this.compiler.cache.beginIdle();this.handler(e,n);return}this.compiler.hooks.done.callAsync(n,()=>{this.compiler.cache.beginIdle();this.handler(null,n);process.nextTick(()=>{if(!this.closed){this.watch(Array.from(t.fileDependencies),Array.from(t.contextDependencies),Array.from(t.missingDependencies))}});for(const e of this.callbacks)e();this.callbacks.length=0})}watch(e,t,n){this.pausedWatcher=null;this.watcher=this.compiler.watchFileSystem.watch(e,t,n,this.startTime,this.watchOptions,(e,t,n,r)=>{this.pausedWatcher=this.watcher;this.watcher=null;if(e){return this.handler(e)}this.compiler.fileTimestamps=t;this.compiler.contextTimestamps=n;this.compiler.removedFiles=r;if(!this.suspended){this._invalidate()}},(e,t)=>{this.compiler.hooks.invalid.call(e,t)})}invalidate(e){if(e){this.callbacks.push(e)}if(this.watcher){this.compiler.fileTimestamps=this.watcher.getFileTimeInfoEntries();this.compiler.contextTimestamps=this.watcher.getContextTimeInfoEntries()}this._invalidate()}_invalidate(){if(this.watcher){this.pausedWatcher=this.watcher;this.watcher.pause();this.watcher=null}if(this.running){this.invalid=true}else{this._go()}}suspend(){this.suspended=true;this.invalid=false}resume(){if(this.suspended){this.suspended=false;this._invalidate()}}close(e){const t=()=>{this.compiler.running=false;this.compiler.watchMode=false;this.compiler.fileTimestamps=undefined;this.compiler.contextTimestamps=undefined;this.compiler.removedFiles=undefined;this.compiler.cache.shutdown(t=>{this.compiler.hooks.watchClose.call();if(e!==undefined)e(t)})};this.closed=true;if(this.watcher){this.watcher.close();this.watcher=null}if(this.pausedWatcher){this.pausedWatcher.close();this.pausedWatcher=null}if(this.running){this.invalid=true;this._done=t}else{t()}}}e.exports=Watching},4696:function(e,t,n){"use strict";const r=n(3272);const i=n(6150);const s=n(6202);const o=n(2197);class HarmonyExportSpecifierDependency extends o{constructor(e,t){super();this.id=e;this.name=t}get type(){return"harmony export specifier"}getExports(e){return{exports:[this.name],dependencies:undefined}}serialize(e){const{write:t}=e;t(this.id);t(this.name);super.serialize(e)}deserialize(e){const{read:t}=e;this.id=t();this.name=t();super.deserialize(e)}}s(HarmonyExportSpecifierDependency,"webpack/lib/dependencies/HarmonyExportSpecifierDependency");HarmonyExportSpecifierDependency.Template=class HarmonyExportSpecifierDependencyTemplate extends o.Template{apply(e,t,{module:n,moduleGraph:i,initFragments:s,runtimeRequirements:o}){s.push(new r(this.getContent(e,n,i,o),r.STAGE_HARMONY_EXPORTS,1))}getContent(e,t,n,r){const s=t.getUsedName(n,e.name);if(!s){return`/* unused harmony export ${e.name||"namespace"} */\n`}const o=t.exportsArgument;r.add(i.exports);r.add(i.definePropertyGetter);return`/* harmony export (binding) */ ${i.definePropertyGetter}(${o}, ${JSON.stringify(s)}, function() { return ${e.id}; });\n`}};e.exports=HarmonyExportSpecifierDependency},4699:function(e,t,n){"use strict";const r=n(5227);const i=n(9674);e.exports=class EntryOptionPlugin{apply(e){e.hooks.entryOption.tap("EntryOptionPlugin",(t,n)=>{const s=(n,r)=>{if(typeof n==="string"){new i(t,n,r).apply(e)}else if(Array.isArray(n)){for(const e of n){s(e,r)}}};if(typeof n==="string"||Array.isArray(n)){s(n,"main")}else if(typeof n==="object"){for(const e of Object.keys(n)){s(n[e],e)}}else if(typeof n==="function"){new r(t,n).apply(e)}return true})}}},4725:function(e,t,n){"use strict";const{AsyncParallelHook:r,AsyncSeriesBailHook:i,SyncHook:s}=n(2960);const{makeWebpackError:o}=n(3728);const a=(e,t)=>{return n=>{if(--e===0){return t(n)}if(n&&e>0){e=NaN;return t(n)}}};class Cache{constructor(){this.hooks={get:new i(["identifier","etag","gotHandlers"]),store:new r(["identifier","etag","data"]),beginIdle:new s([]),endIdle:new r([]),shutdown:new r([])}}get(e,t,n){const r=[];this.hooks.get.callAsync(e,t,r,(e,t)=>{if(e){n(o(e,"Cache.hooks.get"));return}if(r.length>1){const e=a(r.length,()=>n(null,t));for(const n of r){n(t,e)}}else if(r.length===1){r[0](t,()=>n(null,t))}else{n(null,t)}})}store(e,t,n,r){this.hooks.store.callAsync(e,t,n,r)}beginIdle(){this.hooks.beginIdle.call()}endIdle(e){this.hooks.endIdle.callAsync(e)}shutdown(e){this.hooks.shutdown.callAsync(e)}}Cache.STAGE_MEMORY=-10;Cache.STAGE_DEFAULT=0;Cache.STAGE_DISK=10;Cache.STAGE_NETWORK=20;e.exports=Cache},4754:function(e,t,n){"use strict";e.exports=n(6342)},4760:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:true});var r=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol==="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.default=stringify;var i=n(9616);var s=_interopRequireWildcard(i);function _interopRequireWildcard(e){if(e&&e.__esModule){return e}else{var t={};if(e!=null){for(var n in e){if(Object.prototype.hasOwnProperty.call(e,n))t[n]=e[n]}}t.default=e;return t}}function stringify(e,t,n){var i=[];var o="";var a=void 0;var u=void 0;var c="";var l=void 0;if(t!=null&&(typeof t==="undefined"?"undefined":r(t))==="object"&&!Array.isArray(t)){n=t.space;l=t.quote;t=t.replacer}if(typeof t==="function"){u=t}else if(Array.isArray(t)){a=[];var f=true;var d=false;var p=undefined;try{for(var h=t[Symbol.iterator](),m;!(f=(m=h.next()).done);f=true){var g=m.value;var y=void 0;if(typeof g==="string"){y=g}else if(typeof g==="number"||g instanceof String||g instanceof Number){y=String(g)}if(y!==undefined&&a.indexOf(y)<0){a.push(y)}}}catch(e){d=true;p=e}finally{try{if(!f&&h.return){h.return()}}finally{if(d){throw p}}}}if(n instanceof Number){n=Number(n)}else if(n instanceof String){n=String(n)}if(typeof n==="number"){if(n>0){n=Math.min(10,Math.floor(n));c=" ".substr(0,n)}}else if(typeof n==="string"){c=n.substr(0,10)}return serializeProperty("",{"":e});function serializeProperty(e,t){var n=t[e];if(n!=null){if(typeof n.toJSON5==="function"){n=n.toJSON5(e)}else if(typeof n.toJSON==="function"){n=n.toJSON(e)}}if(u){n=u.call(t,e,n)}if(n instanceof Number){n=Number(n)}else if(n instanceof String){n=String(n)}else if(n instanceof Boolean){n=n.valueOf()}switch(n){case null:return"null";case true:return"true";case false:return"false"}if(typeof n==="string"){return quoteString(n,false)}if(typeof n==="number"){return String(n)}if((typeof n==="undefined"?"undefined":r(n))==="object"){return Array.isArray(n)?serializeArray(n):serializeObject(n)}return undefined}function quoteString(e){var t={"'":.1,'"':.2};var n={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};var r="";var i=true;var s=false;var o=undefined;try{for(var a=e[Symbol.iterator](),u;!(i=(u=a.next()).done);i=true){var c=u.value;switch(c){case"'":case'"':t[c]++;r+=c;continue}if(n[c]){r+=n[c];continue}if(c<" "){var f=c.charCodeAt(0).toString(16);r+="\\x"+("00"+f).substring(f.length);continue}r+=c}}catch(e){s=true;o=e}finally{try{if(!i&&a.return){a.return()}}finally{if(s){throw o}}}var d=l||Object.keys(t).reduce(function(e,n){return t[e]=0){throw TypeError("Converting circular structure to JSON5")}i.push(e);var t=o;o=o+c;var n=a||Object.keys(e);var r=[];var s=true;var u=false;var l=undefined;try{for(var f=n[Symbol.iterator](),d;!(s=(d=f.next()).done);s=true){var p=d.value;var h=serializeProperty(p,e);if(h!==undefined){var m=serializeKey(p)+":";if(c!==""){m+=" "}m+=h;r.push(m)}}}catch(e){u=true;l=e}finally{try{if(!s&&f.return){f.return()}}finally{if(u){throw l}}}var g=void 0;if(r.length===0){g="{}"}else{var y=void 0;if(c===""){y=r.join(",");g="{"+y+"}"}else{var v=",\n"+o;y=r.join(v);g="{\n"+o+y+",\n"+t+"}"}}i.pop();o=t;return g}function serializeKey(e){if(e.length===0){return quoteString(e,true)}var t=String.fromCodePoint(e.codePointAt(0));if(!s.isIdStartChar(t)){return quoteString(e,true)}for(var n=t.length;n=0){throw TypeError("Converting circular structure to JSON5")}i.push(e);var t=o;o=o+c;var n=[];for(var r=0;r{t.hooks.chunkIds.tap("NamedChunkIdsPlugin",n=>{const c=t.chunkGraph;const l=this.context?this.context:e.context;const f=this.delimiter;const d=o(Array.from(n).filter(e=>{if(e.name){e.id=e.name;e.ids=[e.name]}return e.id===null}),t=>i(t,c,l,f,e.root),t=>s(t,c,l,f,e.root),r(c),a(t),(e,t)=>{e.id=t;e.ids=[t]});if(d.length>0){u(d,t)}})})}}e.exports=NamedChunkIdsPlugin},4800:function(e,t,n){var r=process.versions&&process.versions.node&&process.versions.node.split(".")||[];function specifierIncluded(e){var t=e.split(" ");var n=t.length>1?t[0]:"=";var i=(t.length>1?t[1]:t[0]).split(".");for(var s=0;s<3;++s){var o=Number(r[s]||0);var a=Number(i[s]||0);if(o===a){continue}if(n==="<"){return o="){return o>=a}else{return false}}return n===">="}function matchesRange(e){var t=e.split(/ ?&& ?/);if(t.length===0){return false}for(var n=0;n{return"Object({"+Object.keys(e).map(n=>{const r=e[n];return JSON.stringify(n)+":"+f(r,t)}).join(",")+"})"};const f=(e,t)=>{if(e===null){return"null"}if(e===undefined){return"undefined"}if(e instanceof RuntimeValue){return f(e.exec(t),t)}if(e instanceof RegExp&&e.toString){return e.toString()}if(typeof e==="function"&&e.toString){return"("+e.toString()+")"}if(typeof e==="object"){return l(e,t)}return e+""};class DefinePlugin{constructor(e){this.definitions=e}static runtimeValue(e,t){return new RuntimeValue(e,t)}apply(e){const t=this.definitions;e.hooks.compilation.tap("DefinePlugin",(e,{normalModuleFactory:n})=>{e.dependencyFactories.set(c,new a);e.dependencyTemplates.set(c,new c.Template);const d=e=>{const n=(e,t)=>{Object.keys(e).forEach(r=>{const i=e[r];if(i&&typeof i==="object"&&!(i instanceof RuntimeValue)&&!(i instanceof RegExp)){n(i,t+r+".");d(t+r,i);return}a(t,r);c(t+r,i)})};const a=(t,n)=>{const r=n.split(".");r.slice(1).forEach((n,s)=>{const o=t+r.slice(0,s+1).join(".");e.hooks.canRename.for(o).tap("DefinePlugin",i)})};const c=(t,n)=>{const r=/^typeof\s+/.test(t);if(r)t=t.replace(/^typeof\s+/,"");let s=false;let a=false;if(!r){e.hooks.canRename.for(t).tap("DefinePlugin",i);e.hooks.evaluateIdentifier.for(t).tap("DefinePlugin",t=>{if(s)return;s=true;const r=e.evaluate(f(n,e));s=false;r.setRange(t.range);return r});e.hooks.expression.for(t).tap("DefinePlugin",t=>{const r=f(n,e);if(/__webpack_require__/.test(r)){return o(e,r,[u.require])(t)}else{return o(e,r)(t)}})}e.hooks.evaluateTypeof.for(t).tap("DefinePlugin",t=>{if(a)return;a=true;const i=r?f(n,e):"typeof ("+f(n,e)+")";const s=e.evaluate(i);a=false;s.setRange(t.range);return s});e.hooks.typeof.for(t).tap("DefinePlugin",t=>{const i=r?f(n,e):"typeof ("+f(n,e)+")";const s=e.evaluate(i);if(!s.isString())return;return o(e,JSON.stringify(s.string)).bind(e)(t)})};const d=(t,n)=>{e.hooks.canRename.for(t).tap("DefinePlugin",i);e.hooks.evaluateIdentifier.for(t).tap("DefinePlugin",e=>(new r).setTruthy().setRange(e.range));e.hooks.evaluateTypeof.for(t).tap("DefinePlugin",s("object"));e.hooks.expression.for(t).tap("DefinePlugin",t=>{const r=l(n,e);if(/__webpack_require__/.test(r)){return o(e,r,[u.require])(t)}else{return o(e,r)(t)}});e.hooks.typeof.for(t).tap("DefinePlugin",o(e,JSON.stringify("object")))};n(t,"")};n.hooks.parser.for("javascript/auto").tap("DefinePlugin",d);n.hooks.parser.for("javascript/dynamic").tap("DefinePlugin",d);n.hooks.parser.for("javascript/esm").tap("DefinePlugin",d)})}}e.exports=DefinePlugin},4827:function(e,t,n){"use strict";const r=n(538);const i=n(4541);const{STAGE_ADVANCED:s}=n(2414);const{intersect:o}=n(6221);const{compareModulesByIdentifier:a,compareChunks:u}=n(8673);const c=n(9197);const l=(e,t,n)=>{return r=>{e.disconnectChunkAndModule(t,r);e.connectChunkAndModule(n,r)}};const f=(e,t)=>{return n=>{return!e.isEntryModuleInChunk(n,t)}};const d=new WeakSet;class AggressiveSplittingPlugin{constructor(e={}){r(i,e,"Aggressive Splitting Plugin");this.options=e;if(typeof this.options.minSize!=="number"){this.options.minSize=30*1024}if(typeof this.options.maxSize!=="number"){this.options.maxSize=50*1024}if(typeof this.options.chunkOverhead!=="number"){this.options.chunkOverhead=0}if(typeof this.options.entryChunkMultiplicator!=="number"){this.options.entryChunkMultiplicator=1}}static wasChunkRecorded(e){return d.has(e)}apply(e){e.hooks.thisCompilation.tap("AggressiveSplittingPlugin",t=>{let n=false;let r;let i;let p;t.hooks.optimize.tap("AggressiveSplittingPlugin",()=>{r=[];i=new Set;p=new Map});t.hooks.optimizeChunks.tap({name:"AggressiveSplittingPlugin",stage:s},n=>{const s=t.chunkGraph;const d=new Map;const h=new Map;for(const n of t.modules){const t=c.makePathsRelative(e.context,n.identifier(),e.root);d.set(t,n);h.set(n,t)}const m=new Set;for(const e of n){m.add(e.id)}const g=t.records&&t.records.aggressiveSplits||[];const y=r?g.concat(r):g;const v=this.options.minSize;const b=this.options.maxSize;const w=e=>{if(e.id!==undefined&&m.has(e.id)){return false}const n=e.modules.map(e=>d.get(e));if(!n.every(Boolean))return false;const r=n.reduce((e,t)=>e+t.size(),0);if(r!==e.size)return false;const a=o(n.map(e=>new Set(s.getModuleChunksIterable(e))));if(a.size===0)return false;if(a.size===1&&s.getNumberOfChunkModules(Array.from(a)[0])===n.length){const t=Array.from(a)[0];if(i.has(t))return false;i.add(t);p.set(t,e);return true}const u=t.addChunk();u.chunkReason="aggressive splitted";for(const e of a){n.forEach(l(s,e,u));e.split(u);e.name=null}i.add(u);p.set(u,e);if(e.id!==null&&e.id!==undefined){u.id=e.id;u.ids=[e.id]}return true};let E=false;for(let e=0;e{const n=s.getChunkModulesSize(t)-s.getChunkModulesSize(e);if(n)return n;const r=s.getNumberOfChunkModules(e)-s.getNumberOfChunkModules(t);if(r)return r;return _(e,t)});for(const e of S){if(i.has(e))continue;const t=s.getChunkModulesSize(e);if(t>b&&s.getNumberOfChunkModules(e)>1){const t=s.getOrderedChunkModules(e,a).filter(f(s,e));const n=[];let i=0;for(let e=0;eb&&i>=v){break}i=s;n.push(r)}if(n.length===0)continue;const o={modules:n.map(e=>h.get(e)).sort(),size:i};if(w(o)){r=(r||[]).concat(o);E=true}}}if(E)return true});t.hooks.recordHash.tap("AggressiveSplittingPlugin",e=>{const r=new Set;const i=new Set;for(const e of t.chunks){const t=p.get(e);if(t!==undefined){if(t.hash&&e.hash!==t.hash){i.add(t)}}}if(i.size>0){e.aggressiveSplits=e.aggressiveSplits.filter(e=>!i.has(e));n=true}else{for(const e of t.chunks){const t=p.get(e);if(t!==undefined){t.hash=e.hash;t.id=e.id;r.add(t);d.add(e)}}const s=t.records&&t.records.aggressiveSplits;if(s){for(const e of s){if(!i.has(e))r.add(e)}}e.aggressiveSplits=Array.from(r);n=false}});t.hooks.needAdditionalSeal.tap("AggressiveSplittingPlugin",()=>{if(n){n=false;return true}})})}}e.exports=AggressiveSplittingPlugin},4828:function(e,t,n){"use strict";const r=n(6202);const i=n(400);const s=n(2740);class ImportContextDependency extends i{constructor(e,t,n){super(e);this.range=t;this.valueRange=n}get type(){return`import() context ${this.options.mode}`}serialize(e){const{write:t}=e;t(this.range);t(this.valueRange);super.serialize(e)}deserialize(e){const{read:t}=e;this.range=t();this.valueRange=t();super.deserialize(e)}}r(ImportContextDependency,"webpack/lib/dependencies/ImportContextDependency");ImportContextDependency.Template=s;e.exports=ImportContextDependency},4841:function(e){"use strict";e.exports=function generate_multipleOf(e,t,n){var r=" ";var i=e.level;var s=e.dataLevel;var o=e.schema[t];var a=e.schemaPath+e.util.getProperty(t);var u=e.errSchemaPath+"/"+t;var c=!e.opts.allErrors;var l="data"+(s||"");var f=e.opts.$data&&o&&o.$data,d;if(f){r+=" var schema"+i+" = "+e.util.getData(o.$data,s,e.dataPathArr)+"; ";d="schema"+i}else{d=o}r+="var division"+i+";if (";if(f){r+=" "+d+" !== undefined && ( typeof "+d+" != 'number' || "}r+=" (division"+i+" = "+l+" / "+d+", ";if(e.opts.multipleOfPrecision){r+=" Math.abs(Math.round(division"+i+") - division"+i+") > 1e-"+e.opts.multipleOfPrecision+" "}else{r+=" division"+i+" !== parseInt(division"+i+") "}r+=" ) ";if(f){r+=" ) "}r+=" ) { ";var p=p||[];p.push(r);r="";if(e.createErrors!==false){r+=" { keyword: '"+"multipleOf"+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { multipleOf: "+d+" } ";if(e.opts.messages!==false){r+=" , message: 'should be multiple of ";if(f){r+="' + "+d}else{r+=""+d+"'"}}if(e.opts.verbose){r+=" , schema: ";if(f){r+="validate.schema"+a}else{r+=""+o}r+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "}r+=" } "}else{r+=" {} "}var h=r;r=p.pop();if(!e.compositeRule&&c){if(e.async){r+=" throw new ValidationError(["+h+"]); "}else{r+=" validate.errors = ["+h+"]; return false; "}}else{r+=" var err = "+h+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}r+="} ";if(c){r+=" else { "}return r}},4856:function(e,t,n){"use strict";const r=n(4820);const i=n(1627);const s=["8","9"].indexOf(process.versions.node.split(".")[0])>=0&&process.platform==="win32";class EnvironmentPlugin{constructor(...e){if(e.length===1&&Array.isArray(e[0])){this.keys=e[0];this.defaultValues={}}else if(e.length===1&&e[0]&&typeof e[0]==="object"){this.keys=Object.keys(e[0]);this.defaultValues=e[0]}else{this.keys=e;this.defaultValues={}}}apply(e){const t=this.keys.reduce((t,r)=>{if(s)n(2087).cpus();const o=process.env[r]!==undefined?process.env[r]:this.defaultValues[r];if(o===undefined){e.hooks.thisCompilation.tap("EnvironmentPlugin",e=>{const t=new i(`EnvironmentPlugin - ${r} environment variable is undefined.\n\n`+"You can pass an object with default values to suppress this warning.\n"+"See https://webpack.js.org/plugins/environment-plugin for example.");t.name="EnvVariableNotDefinedError";e.warnings.push(t)})}t[`process.env.${r}`]=o===undefined?"undefined":JSON.stringify(o);return t},{});new r(t).apply(e)}}e.exports=EnvironmentPlugin},4862:function(e){"use strict";e.exports=((e,...t)=>new Promise(n=>{n(e(...t))}))},4881:function(e){"use strict";e.exports=function generate_not(e,t,n){var r=" ";var i=e.level;var s=e.dataLevel;var o=e.schema[t];var a=e.schemaPath+e.util.getProperty(t);var u=e.errSchemaPath+"/"+t;var c=!e.opts.allErrors;var l="data"+(s||"");var f="errs__"+i;var d=e.util.copy(e);d.level++;var p="valid"+d.level;if(e.util.schemaHasRules(o,e.RULES.all)){d.schema=o;d.schemaPath=a;d.errSchemaPath=u;r+=" var "+f+" = errors; ";var h=e.compositeRule;e.compositeRule=d.compositeRule=true;d.createErrors=false;var m;if(d.opts.allErrors){m=d.opts.allErrors;d.opts.allErrors=false}r+=" "+e.validate(d)+" ";d.createErrors=true;if(m)d.opts.allErrors=m;e.compositeRule=d.compositeRule=h;r+=" if ("+p+") { ";var g=g||[];g.push(r);r="";if(e.createErrors!==false){r+=" { keyword: '"+"not"+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: {} ";if(e.opts.messages!==false){r+=" , message: 'should NOT be valid' "}if(e.opts.verbose){r+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "}r+=" } "}else{r+=" {} "}var y=r;r=g.pop();if(!e.compositeRule&&c){if(e.async){r+=" throw new ValidationError(["+y+"]); "}else{r+=" validate.errors = ["+y+"]; return false; "}}else{r+=" var err = "+y+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}r+=" } else { errors = "+f+"; if (vErrors !== null) { if ("+f+") vErrors.length = "+f+"; else vErrors = null; } ";if(e.opts.allErrors){r+=" } "}}else{r+=" var err = ";if(e.createErrors!==false){r+=" { keyword: '"+"not"+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: {} ";if(e.opts.messages!==false){r+=" , message: 'should NOT be valid' "}if(e.opts.verbose){r+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "}r+=" } "}else{r+=" {} "}r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";if(c){r+=" if (false) { "}}return r}},4884:function(e,t,n){"use strict";const r=n(9197);const i=(e,t)=>{const n=e.replace(/\n([^\n])/g,"\n"+t+"$1");return t+n};class MultiStats{constructor(e){this.stats=e;this.hash=e.map(e=>e.hash).join("")}hasErrors(){return this.stats.some(e=>e.hasErrors())}hasWarnings(){return this.stats.some(e=>e.hasWarnings())}_createChildOptions(e,t){if(!e){e={}}const{children:n,...r}=e;const i=this.stats.map((n,i)=>{const s=Array.isArray(e.children)?e.children[i]:e.children;return n.compilation.createStatsOptions({...r,...s&&typeof s==="object"?s:{preset:s}},t)});const s=i.every(e=>e.version);const o=i.every(e=>e.hash);if(s){for(const e of i){e.version=false}}return{version:s,hash:o,children:i}}toJson(e){e=this._createChildOptions(e,{forToString:false});const t={};t.children=this.stats.map((t,n)=>{return t.toJson(e.children[n])});if(e.version){t.version=n(9555).version}if(e.hash){t.hash=this.hash}const i=this.stats.map((t,n)=>{const i=Array.isArray(e)?e[n]:e;const s=t.toJson(i);const o=t.compilation.name;const a=o&&r.makePathsRelative(e.context,o,t.compilation.compiler.root);s.name=a;return s});t.errors=i.reduce((e,t)=>{if(!t.errors)return e;return e.concat(t.errors.map(e=>{return{...e,compilerPath:e.compilerPath?`${t.name}.${e.compilerPath}`:t.name}}))},[]);t.warnings=i.reduce((e,t)=>{if(!t.warnings)return e;return e.concat(t.warnings.map(e=>{return{...e,compilerPath:e.compilerPath?`${t.name}.${e.compilerPath}`:t.name}}))},[]);return t}toString(e){e=this._createChildOptions(e,{forToString:true});const t=this.stats.map((t,n)=>{const s=t.toString(e.children[n]);const o=t.compilation.name;const a=o&&r.makePathsRelative(e.context,o,t.compilation.compiler.root).replace(/\|/g," ");if(!s)return s;const u=i(s," ");return a?`Child ${a}:\n${u}`:`Child\n${u}`});if(e.version){t.unshift(`Version: webpack ${n(9555).version}`)}if(e.hash){t.unshift(`Hash: ${this.hash}`)}return t.filter(Boolean).join("\n")}}e.exports=MultiStats},4893:function(e,t,n){var r=n(4800);var i=n(5747);var s=n(5622);var o=n(5297);var a=n(1680);var u=n(3034);var c=function isFile(e){try{var t=i.statSync(e)}catch(e){if(e&&(e.code==="ENOENT"||e.code==="ENOTDIR"))return false;throw e}return t.isFile()||t.isFIFO()};var l=function isDirectory(e){try{var t=i.statSync(e)}catch(e){if(e&&(e.code==="ENOENT"||e.code==="ENOTDIR"))return false;throw e}return t.isDirectory()};e.exports=function(e,t){if(typeof e!=="string"){throw new TypeError("Path must be a string.")}var n=u(e,t);var f=n.isFile||c;var d=n.readFileSync||i.readFileSync;var p=n.isDirectory||l;var h=n.extensions||[".js"];var m=n.basedir||s.dirname(o());var g=n.filename||m;n.paths=n.paths||[];var y=s.resolve(m);if(n.preserveSymlinks===false){try{y=i.realpathSync(y)}catch(e){if(e.code!=="ENOENT"){throw e}}}if(/^(?:\.\.?(?:\/|$)|\/|([A-Za-z]:)?[/\\])/.test(e)){var v=s.resolve(y,e);if(e===".."||e.slice(-1)==="/")v+="/";var b=loadAsFileSync(v)||loadAsDirectorySync(v);if(b)return b}else if(r[e]){return e}else{var w=loadNodeModulesSync(e,y);if(w)return w}if(r[e])return e;var E=new Error("Cannot find module '"+e+"' from '"+g+"'");E.code="MODULE_NOT_FOUND";throw E;function loadAsFileSync(e){var t=loadpkg(s.dirname(e));if(t&&t.dir&&t.pkg&&n.pathFilter){var r=s.relative(t.dir,e);var i=n.pathFilter(t.pkg,e,r);if(i){e=s.resolve(t.dir,i)}}if(f(e)){return e}for(var o=0;oi("package.json",{cwd:e}).then(e=>e?r.dirname(e):null));e.exports.sync=(e=>{const t=i.sync("package.json",{cwd:e});return t?r.dirname(t):null})},4916:function(e,t,n){"use strict";const r=n(8159);const i=n(6202);const s=n(7737);const o=n(9983);class RequireIncludeDependency extends o{constructor(e,t){super(e);this.range=t}getReference(e){const t=e.getModule(this);if(!t)return null;return new s(()=>e.getModule(this),s.NO_IMPORTED_NAMES,false)}get type(){return"require.include"}serialize(e){const{write:t}=e;t(this.range);super.serialize(e)}deserialize(e){const{read:t}=e;this.range=t();super.deserialize(e)}}i(RequireIncludeDependency,"webpack/lib/dependencies/RequireIncludeDependency");RequireIncludeDependency.Template=class RequireIncludeDependencyTemplate extends o.Template{apply(e,t,{runtimeTemplate:n}){const i=e;const s=n.outputOptions.pathinfo?r.toComment(`require.include ${n.requestShortener.shorten(i.request)}`):"";t.replace(i.range[0],i.range[1]-1,`undefined${s}`)}};e.exports=RequireIncludeDependency},4945:function(e,t,n){"use strict";e.exports=function(e,t,r,i,s,o){var a=n(9505);var u=n(2222).TypeError;var c=n(9505).inherits;var l=a.errorObj;var f=a.tryCatch;var d={};function thrower(e){setTimeout(function(){throw e},0)}function castPreservingDisposable(e){var t=r(e);if(t!==e&&typeof e._isDisposable==="function"&&typeof e._getDisposer==="function"&&e._isDisposable()){t._setDisposable(e._getDisposer())}return t}function dispose(t,n){var i=0;var o=t.length;var a=new e(s);function iterator(){if(i>=o)return a._fulfill();var s=castPreservingDisposable(t[i++]);if(s instanceof e&&s._isDisposable()){try{s=r(s._getDisposer().tryDispose(n),t.promise)}catch(e){return thrower(e)}if(s instanceof e){return s._then(iterator,thrower,null,null,null)}}iterator()}iterator();return a}function Disposer(e,t,n){this._data=e;this._promise=t;this._context=n}Disposer.prototype.data=function(){return this._data};Disposer.prototype.promise=function(){return this._promise};Disposer.prototype.resource=function(){if(this.promise().isFulfilled()){return this.promise().value()}return d};Disposer.prototype.tryDispose=function(e){var t=this.resource();var n=this._context;if(n!==undefined)n._pushContext();var r=t!==d?this.doDispose(t,e):null;if(n!==undefined)n._popContext();this._promise._unsetDisposable();this._data=null;return r};Disposer.isDisposer=function(e){return e!=null&&typeof e.resource==="function"&&typeof e.tryDispose==="function"};function FunctionDisposer(e,t,n){this.constructor$(e,t,n)}c(FunctionDisposer,Disposer);FunctionDisposer.prototype.doDispose=function(e,t){var n=this.data();return n.call(e,e,t)};function maybeUnwrapDisposer(e){if(Disposer.isDisposer(e)){this.resources[this.index]._setDisposable(e);return e.promise()}return e}function ResourceList(e){this.length=e;this.promise=null;this[e-1]=null}ResourceList.prototype._resultCancelled=function(){var t=this.length;for(var n=0;n0};e.prototype._getDisposer=function(){return this._disposer};e.prototype._unsetDisposable=function(){this._bitField=this._bitField&~131072;this._disposer=undefined};e.prototype.disposer=function(e){if(typeof e==="function"){return new FunctionDisposer(e,this,i())}throw new u}}},4953:function(e,t,n){"use strict";const r=n(7332);const i=n(1165);class AsyncSeriesBailHookCodeFactory extends i{content({onError:e,onResult:t,resultReturns:n,onDone:r}){return this.callTapsSeries({onError:(t,n,r,i)=>e(n)+i(true),onResult:(e,n,r)=>`if(${n} !== undefined) {\n${t(n)};\n} else {\n${r()}}\n`,resultReturns:n,onDone:r})}}const s=new AsyncSeriesBailHookCodeFactory;class AsyncSeriesBailHook extends r{compile(e){s.setup(this,e);return s.create(e)}}Object.defineProperties(AsyncSeriesBailHook.prototype,{_call:{value:undefined,configurable:true,writable:true}});e.exports=AsyncSeriesBailHook},4974:function(e,t,n){"use strict";const r=n(8688);const i=n(6076);class JsonParser{parse(e,t){const n=r(e[0]==="\ufeff"?e.slice(1):e);t.module.buildInfo.jsonData=n;t.module.buildMeta.exportsType="named";if(typeof n==="object"&&n){t.module.addDependency(new i(Object.keys(n),true))}t.module.addDependency(new i(["default"],true));return t}}e.exports=JsonParser},4975:function(e,t,n){"use strict";const r=n(4828);const i=n(13);const s=n(5708);const o=n(1467);const a=n(2849);class ImportPlugin{constructor(e){this.options=e}apply(e){const t=this.options;e.hooks.compilation.tap("ImportPlugin",(e,{contextModuleFactory:n,normalModuleFactory:u})=>{e.dependencyFactories.set(i,u);e.dependencyTemplates.set(i,new i.Template);e.dependencyFactories.set(s,u);e.dependencyTemplates.set(s,new s.Template);e.dependencyFactories.set(a,u);e.dependencyTemplates.set(a,new a.Template);e.dependencyFactories.set(r,n);e.dependencyTemplates.set(r,new r.Template);const c=(e,n)=>{if(n.import!==undefined&&!n.import)return;new o(t).apply(e)};u.hooks.parser.for("javascript/auto").tap("ImportPlugin",c);u.hooks.parser.for("javascript/dynamic").tap("ImportPlugin",c);u.hooks.parser.for("javascript/esm").tap("ImportPlugin",c)})}}e.exports=ImportPlugin},4980:function(e,t,n){"use strict";const r=n(1050);const i=n(2282).builtinModules||Object.keys(process.binding("natives"));class NodeTargetPlugin{apply(e){new r("commonjs",i).apply(e)}}e.exports=NodeTargetPlugin},4997:function(e,t,n){"use strict";const r=n(6150);const i=n(6804);const s=n(8159);class StartupChunkDependenciesPlugin{constructor(e){this.asyncChunkLoading=e&&typeof e.asyncChunkLoading==="boolean"?e.asyncChunkLoading:true}apply(e){e.hooks.thisCompilation.tap("StartupChunkDependenciesPlugin",e=>{e.hooks.additionalTreeRuntimeRequirements.tap("StartupChunkDependenciesPlugin",(t,n)=>{if(e.chunkGraph.hasChunkEntryDependentChunks(t)){n.add(r.startup);n.add(r.ensureChunk);n.add(r.ensureChunkIncludeEntries);e.addRuntimeModule(t,new StartupChunkDependenciesRuntimeModule(t,e.chunkGraph,this.asyncChunkLoading))}})})}}class StartupChunkDependenciesRuntimeModule extends i{constructor(e,t,n){super("startup chunk dependencies");this.chunk=e;this.chunkGraph=t;this.asyncChunkLoading=n}generate(){const{chunk:e,chunkGraph:t}=this;const n=Array.from(t.getChunkEntryDependentChunksIterable(e)).map(e=>{return e.id});return s.asString([`var next = ${r.startup};`,`${r.startup} = function() {`,s.indent(!this.asyncChunkLoading?n.map(e=>`${r.ensureChunk}(${JSON.stringify(e)});`).concat("return next();"):n.length===1?`return ${r.ensureChunk}(${JSON.stringify(n[0])}).then(next);`:n.length>2?[`return Promise.all(${JSON.stringify(n)}.map(${r.ensureChunk}, __webpack_require__)).then(next);`]:["return Promise.all([",s.indent(n.map(e=>`${r.ensureChunk}(${JSON.stringify(e)})`).join(",\n")),"]).then(next);"]),"}"])}}e.exports=StartupChunkDependenciesPlugin},5031:function(e,t,n){"use strict";const{ConcatSource:r}=n(2991);const i=n(6150);const s=n(8159);const o=e=>{let t="";let n=true;for(const r of e){if(n){n=false}else{t+=", "}t+=r}return t};const a=(e,t,n)=>{let r=false;for(const i of n.orderedExports){e.add(s.toComment(`${t}export ${i.name} [${i.getProvidedInfo()}] [${i.getUsedInfo()}] [${i.getRenameInfo()}]`)+"\n");if(i.exportsInfo){a(e,t+" ",i.exportsInfo)}r=true}const i=n.otherExportsInfo;if(i.provided!==false||i.used!==false){const n=r?"other exports":"exports";e.add(s.toComment(`${t}${n} [${i.getProvidedInfo()}] [${i.getUsedInfo()}]`)+"\n")}};class FunctionModuleTemplatePlugin{constructor({compilation:e}){this.compilation=e}apply(e){e.hooks.render.tap("FunctionModuleTemplatePlugin",(e,t)=>{const{chunkGraph:n}=this.compilation;const s=new r;const o=[];const a=n.getModuleRuntimeRequirements(t);const u=a.has(i.module);const c=a.has(i.exports);const l=a.has(i.require);if(c||l||u)o.push(u?t.moduleArgument:"__unused"+t.moduleArgument);if(c||l)o.push(c?t.exportsArgument:"__unused"+t.exportsArgument);if(l)o.push("__webpack_require__");s.add("/***/ (function("+o.join(", ")+") {\n\n");if(t.buildInfo.strict)s.add('"use strict";\n');s.add(e);s.add("\n\n/***/ })");return s});e.hooks.package.tap("FunctionModuleTemplatePlugin",(t,n,{moduleGraph:i,chunkGraph:u})=>{if(e.runtimeTemplate.outputOptions.pathinfo){const c=new r;const l=n.readableIdentifier(e.runtimeTemplate.requestShortener);const f=l.replace(/\*\//g,"*_/");const d="*".repeat(f.length);c.add("/*!****"+d+"****!*\\\n");c.add(" !*** "+f+" ***!\n");c.add(" \\****"+d+"****/\n");const p=i.getExportsInfo(n);a(c,"",p);c.add(s.toComment(`runtime requirements: ${o(u.getModuleRuntimeRequirements(n))}`)+"\n");const h=i.getOptimizationBailout(n);if(h){for(const t of h){let n;if(typeof t==="function"){n=t(e.runtimeTemplate.requestShortener)}else{n=t}c.add(s.toComment(`${n}`)+"\n")}}c.add(t);return c}return t});e.hooks.hash.tap("FunctionModuleTemplatePlugin",e=>{e.update("FunctionModuleTemplatePlugin");e.update("2")})}}e.exports=FunctionModuleTemplatePlugin},5037:function(e,t,n){"use strict";const r=n(6150);const i=n(6202);const s=n(2197);class HarmonyExportExpressionDependency extends s{constructor(e,t,n){super();this.range=e;this.rangeStatement=t;this.prefix=n}get type(){return"harmony export expression"}getExports(e){return{exports:["default"],dependencies:undefined}}serialize(e){const{write:t}=e;t(this.range);t(this.rangeStatement);t(this.prefix);super.serialize(e)}deserialize(e){const{read:t}=e;this.range=t();this.rangeStatement=t();this.prefix=t();super.deserialize(e)}}i(HarmonyExportExpressionDependency,"webpack/lib/dependencies/HarmonyExportExpressionDependency");HarmonyExportExpressionDependency.Template=class HarmonyExportDependencyTemplate extends s.Template{apply(e,t,{module:n,moduleGraph:i,runtimeRequirements:s}){const o=e;const a=n.getUsedName(i,"default");let u;if(a){s.add(r.exports);const e=n.exportsArgument;u=`/* harmony default export */ ${e}[${JSON.stringify(a)}] = `}else{u="/* unused harmony default export */ var _unused_webpack_default_export = "}if(o.range){t.replace(o.rangeStatement[0],o.range[0]-1,u+"("+o.prefix);t.replace(o.range[1],o.rangeStatement[1]-1,");");return}t.replace(o.rangeStatement[0],o.rangeStatement[1]-1,u)}};e.exports=HarmonyExportExpressionDependency},5041:function(e,t,n){"use strict";var r=n(1001),i=n(778).toHash;e.exports=function rules(){var e=[{type:"number",rules:[{maximum:["exclusiveMaximum"]},{minimum:["exclusiveMinimum"]},"multipleOf","format"]},{type:"string",rules:["maxLength","minLength","pattern","format"]},{type:"array",rules:["maxItems","minItems","items","contains","uniqueItems"]},{type:"object",rules:["maxProperties","minProperties","required","dependencies","propertyNames",{properties:["additionalProperties","patternProperties"]}]},{rules:["$ref","const","enum","not","anyOf","oneOf","allOf","if"]}];var t=["type","$comment"];var n=["$schema","$id","id","$data","title","description","default","definitions","examples","readOnly","writeOnly","contentMediaType","contentEncoding","additionalItems","then","else"];var s=["number","integer","string","array","object","boolean","null"];e.all=i(t);e.types=i(s);e.forEach(function(n){n.rules=n.rules.map(function(n){var i;if(typeof n=="object"){var s=Object.keys(n)[0];i=n[s];n=s;i.forEach(function(n){t.push(n);e.all[n]=true})}t.push(n);var o=e.all[n]={keyword:n,code:r[n],implements:i};return o});e.all.$comment={keyword:"$comment",code:r.$comment};if(n.type)e.types[n.type]=n});e.keywords=i(t.concat(n));e.custom={};return e}},5044:function(e,t,n){"use strict";e.exports=copy;e.exports.item=copyItem;e.exports.recurse=recurseDir;e.exports.symlink=copySymlink;e.exports.file=copyFile;var r=n(5747);var i=n(5622);var s=n(8696);var o=n(4008);var a=n(485);var u=n(6008);var c=n(9808);var l=n(6240);var f=Object.assign||n(1669)._extend;function promisify(e,t){return function(){var n=[].slice.call(arguments);return new e(function(e,r){return t.apply(null,n.concat(function(t,n){if(t){r(t)}else{e(n)}}))})}}function copy(e,t,n){s("SSO|SS",arguments);n=f({},n||{});var i=n.Promise||global.Promise;var o=n.fs||r;if(n.isWindows==null)n.isWindows=c;if(!n.Promise)n.Promise=i;if(!n.fs)n.fs=o;if(!n.recurseWith)n.recurseWith=copyItem;if(!n.lstat)n.lstat=promisify(n.Promise,o.lstat);if(!n.stat)n.stat=promisify(n.Promise,o.stat);if(!n.chown)n.chown=promisify(n.Promise,o.chown);if(!n.readdir)n.readdir=promisify(n.Promise,o.readdir);if(!n.readlink)n.readlink=promisify(n.Promise,o.readlink);if(!n.symlink)n.symlink=promisify(n.Promise,o.symlink);if(!n.chmod)n.chmod=promisify(n.Promise,o.chmod);n.top=e;n.mkdirpAsync=promisify(n.Promise,a);var d=promisify(n.Promise,u);var p=new l({maxConcurrency:n.maxConcurrency,Promise:i});n.queue=p;p.add(0,copyItem,[e,t,n]);return p.run().catch(function(e){if(e.code==="EEXIST"||e.code==="EPERM"){return passThroughError()}else{return remove(t).then(passThroughError,passThroughError)}function passThroughError(){return i.reject(e)}});function remove(e){var t={unlink:o.unlink,chmod:o.chmod,stat:o.stat,lstat:o.lstat,rmdir:o.rmdir,readdir:o.readdir,glob:false};return d(e,t)}}function copyItem(e,t,n){s("SSO",[e,t,n]);var i=n.fs||r;var o=n.Promise||global.Promise;var a=n.lstat||promisify(o,i.lstat);return a(t).then(function(){return o.reject(eexists(e,t))},function(t){if(t&&t.code!=="ENOENT")return o.reject(t);return a(e)}).then(function(r){var i=f(f({},n),r);if(r.isDirectory()){return recurseDir(e,t,i)}else if(r.isSymbolicLink()){n.queue.add(1,copySymlink,[e,t,i])}else if(r.isFile()){return copyFile(e,t,i)}else if(r.isBlockDevice()){return o.reject(eunsupported(e+" is a block device, and we don't know how to copy those."))}else if(r.isCharacterDevice()){return o.reject(eunsupported(e+" is a character device, and we don't know how to copy those."))}else if(r.isFIFO()){return o.reject(eunsupported(e+" is a FIFO, and we don't know how to copy those."))}else if(r.isSocket()){return o.reject(eunsupported(e+" is a socket, and we don't know how to copy those."))}else{return o.reject(eunsupported("We can't tell what "+e+" is and so we can't copy it."))}})}function recurseDir(e,t,n){s("SSO",[e,t,n]);var o=n.recurseWith||copyItem;var u=n.fs||r;var c=n.chown||promisify(Promise,u.chown);var l=n.readdir||promisify(Promise,u.readdir);var f=n.mkdirpAsync||promisify(Promise,a);return f(t,{fs:u,mode:n.mode}).then(function(){var e=n.getuid||process.getuid;if(e&&n.uid!=null&&e()===0){return c(t,n.uid,n.gid)}}).then(function(){return l(e)}).then(function(r){r.forEach(function(r){n.queue.add(0,o,[i.join(e,r),i.join(t,r),n])})})}function copySymlink(e,t,n){s("SSO",[e,t,n]);var o=n.fs||r;var a=n.readlink||promisify(l,o.readlink);var u=n.stat||promisify(l,o.symlink);var c=n.symlink||promisify(l,o.symlink);var l=n.Promise||global.Promise;return a(e).then(function(r){var s=i.resolve(i.dirname(e),r);var o=i.relative(n.top,s);var a=o.substr(0,2)===".."?r:i.relative(i.dirname(e),s);if(n.isWindows){return u(s).catch(function(){return null}).then(function(e){var n=e&&e.isDirectory();var r=n?"dir":"file";return c(a,t,r).catch(function(e){if(r==="dir"){return c(a,t,"junction")}else{return l.reject(e)}})})}else{return c(a,t)}})}function copyFile(e,t,n){s("SSO",[e,t,n]);var i=n.fs||r;var a=n.writeStreamAtomic||o;var u=n.Promise||global.Promise;var c=n.chmod||promisify(u,i.chmod);var l={};var f=n.getuid||process.getuid;if(f&&n.uid!=null&&f()===0){l.chown={uid:n.uid,gid:n.gid}}return new u(function(r,s){var o=false;function onError(e){o=true;s(e)}i.createReadStream(e).once("error",onError).pipe(a(t,l)).once("error",onError).once("close",function(){if(o)return;if(n.mode!=null){r(c(t,n.mode))}else{r()}})})}function eexists(e,t){var n=new Error("Could not move "+e+" to "+t+": destination already exists.");n.code="EEXIST";return n}function eunsupported(e){var t=new Error(e);t.code="EUNSUPPORTED";return t}},5061:function(e){"use strict";e.exports=function generate_validate(e,t,n){var r="";var i=e.schema.$async===true,s=e.util.schemaHasRulesExcept(e.schema,e.RULES.all,"$ref"),o=e.self._getId(e.schema);if(e.isTop){r+=" var validate = ";if(i){e.async=true;r+="async "}r+="function(data, dataPath, parentData, parentDataProperty, rootData) { 'use strict'; ";if(o&&(e.opts.sourceCode||e.opts.processCode)){r+=" "+("/*# sourceURL="+o+" */")+" "}}if(typeof e.schema=="boolean"||!(s||e.schema.$ref)){var t="false schema";var a=e.level;var u=e.dataLevel;var c=e.schema[t];var l=e.schemaPath+e.util.getProperty(t);var f=e.errSchemaPath+"/"+t;var d=!e.opts.allErrors;var p;var h="data"+(u||"");var m="valid"+a;if(e.schema===false){if(e.isTop){d=true}else{r+=" var "+m+" = false; "}var g=g||[];g.push(r);r="";if(e.createErrors!==false){r+=" { keyword: '"+(p||"false schema")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(f)+" , params: {} ";if(e.opts.messages!==false){r+=" , message: 'boolean schema is false' "}if(e.opts.verbose){r+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "}r+=" } "}else{r+=" {} "}var y=r;r=g.pop();if(!e.compositeRule&&d){if(e.async){r+=" throw new ValidationError(["+y+"]); "}else{r+=" validate.errors = ["+y+"]; return false; "}}else{r+=" var err = "+y+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}}else{if(e.isTop){if(i){r+=" return data; "}else{r+=" validate.errors = null; return true; "}}else{r+=" var "+m+" = true; "}}if(e.isTop){r+=" }; return validate; "}return r}if(e.isTop){var v=e.isTop,a=e.level=0,u=e.dataLevel=0,h="data";e.rootId=e.resolve.fullPath(e.self._getId(e.root.schema));e.baseId=e.baseId||e.rootId;delete e.isTop;e.dataPathArr=[undefined];r+=" var vErrors = null; ";r+=" var errors = 0; ";r+=" if (rootData === undefined) rootData = data; "}else{var a=e.level,u=e.dataLevel,h="data"+(u||"");if(o)e.baseId=e.resolve.url(e.baseId,o);if(i&&!e.async)throw new Error("async schema in sync schema");r+=" var errs_"+a+" = errors;"}var m="valid"+a,d=!e.opts.allErrors,b="",w="";var p;var E=e.schema.type,_=Array.isArray(E);if(E&&e.opts.nullable&&e.schema.nullable===true){if(_){if(E.indexOf("null")==-1)E=E.concat("null")}else if(E!="null"){E=[E,"null"];_=true}}if(_&&E.length==1){E=E[0];_=false}if(e.schema.$ref&&s){if(e.opts.extendRefs=="fail"){throw new Error('$ref: validation keywords used in schema at path "'+e.errSchemaPath+'" (see option extendRefs)')}else if(e.opts.extendRefs!==true){s=false;e.logger.warn('$ref: keywords ignored in schema at path "'+e.errSchemaPath+'"')}}if(e.schema.$comment&&e.opts.$comment){r+=" "+e.RULES.all.$comment.code(e,"$comment")}if(E){if(e.opts.coerceTypes){var S=e.util.coerceToTypes(e.opts.coerceTypes,E)}var k=e.RULES.types[E];if(S||_||k===true||k&&!$shouldUseGroup(k)){var l=e.schemaPath+".type",f=e.errSchemaPath+"/type";var l=e.schemaPath+".type",f=e.errSchemaPath+"/type",C=_?"checkDataTypes":"checkDataType";r+=" if ("+e.util[C](E,h,true)+") { ";if(S){var D="dataType"+a,A="coerced"+a;r+=" var "+D+" = typeof "+h+"; ";if(e.opts.coerceTypes=="array"){r+=" if ("+D+" == 'object' && Array.isArray("+h+")) "+D+" = 'array'; "}r+=" var "+A+" = undefined; ";var x="";var M=S;if(M){var T,O=-1,F=M.length-1;while(O=0;a--)if(o=e[a])s=(i<3?o(s):i>3?o(t,n,s):o(t,n))||s;return i>3&&s&&Object.defineProperty(t,n,s),s};s=function(e,t){return function(n,r){t(n,r,e)}};o=function(e,t){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(e,t)};a=function(e,t,n,r){return new(n||(n=Promise))(function(i,s){function fulfilled(e){try{step(r.next(e))}catch(e){s(e)}}function rejected(e){try{step(r["throw"](e))}catch(e){s(e)}}function step(e){e.done?i(e.value):new n(function(t){t(e.value)}).then(fulfilled,rejected)}step((r=r.apply(e,t||[])).next())})};u=function(e,t){var n={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},r,i,s,o;return o={next:verb(0),throw:verb(1),return:verb(2)},typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function verb(e){return function(t){return step([e,t])}}function step(o){if(r)throw new TypeError("Generator is already executing.");while(n)try{if(r=1,i&&(s=o[0]&2?i["return"]:o[0]?i["throw"]||((s=i["return"])&&s.call(i),0):i.next)&&!(s=s.call(i,o[1])).done)return s;if(i=0,s)o=[o[0]&2,s.value];switch(o[0]){case 0:case 1:s=o;break;case 4:n.label++;return{value:o[1],done:false};case 5:n.label++;i=o[1];o=[0];continue;case 7:o=n.ops.pop();n.trys.pop();continue;default:if(!(s=n.trys,s=s.length>0&&s[s.length-1])&&(o[0]===6||o[0]===2)){n=0;continue}if(o[0]===3&&(!s||o[1]>s[0]&&o[1]=e.length)e=void 0;return{value:e&&e[n++],done:!e}}}};f=function(e,t){var n=typeof Symbol==="function"&&e[Symbol.iterator];if(!n)return e;var r=n.call(e),i,s=[],o;try{while((t===void 0||t-- >0)&&!(i=r.next()).done)s.push(i.value)}catch(e){o={error:e}}finally{try{if(i&&!i.done&&(n=r["return"]))n.call(r)}finally{if(o)throw o.error}}return s};d=function(){for(var e=[],t=0;t1||resume(e,t)})}}function resume(e,t){try{step(r[e](t))}catch(e){settle(s[0][3],e)}}function step(e){e.value instanceof p?Promise.resolve(e.value.v).then(fulfill,reject):settle(s[0][2],e)}function fulfill(e){resume("next",e)}function reject(e){resume("throw",e)}function settle(e,t){if(e(t),s.shift(),s.length)resume(s[0][0],s[0][1])}};m=function(e){var t,n;return t={},verb("next"),verb("throw",function(e){throw e}),verb("return"),t[Symbol.iterator]=function(){return this},t;function verb(r,i){t[r]=e[r]?function(t){return(n=!n)?{value:p(e[r](t)),done:r==="return"}:i?i(t):t}:i}};g=function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],n;return t?t.call(e):(e=typeof l==="function"?l(e):e[Symbol.iterator](),n={},verb("next"),verb("throw"),verb("return"),n[Symbol.asyncIterator]=function(){return this},n);function verb(t){n[t]=e[t]&&function(n){return new Promise(function(r,i){n=e[t](n),settle(r,i,n.done,n.value)})}}function settle(e,t,n,r){Promise.resolve(r).then(function(t){e({value:t,done:n})},t)}};y=function(e,t){if(Object.defineProperty){Object.defineProperty(e,"raw",{value:t})}else{e.raw=t}return e};v=function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)if(Object.hasOwnProperty.call(e,n))t[n]=e[n];t["default"]=e;return t};b=function(e){return e&&e.__esModule?e:{default:e}};e("__extends",t);e("__assign",n);e("__rest",r);e("__decorate",i);e("__param",s);e("__metadata",o);e("__awaiter",a);e("__generator",u);e("__exportStar",c);e("__values",l);e("__read",f);e("__spread",d);e("__await",p);e("__asyncGenerator",h);e("__asyncDelegator",m);e("__asyncValues",g);e("__makeTemplateObject",y);e("__importStar",v);e("__importDefault",b)})},5137:function(e,t,n){"use strict";const r=n(1669);const i=n(6102);const{compareModulesById:s,compareIterables:o,compareModulesByIdentifier:a,concatComparators:u,compareSelect:c,compareIds:l}=n(8673);const f=n(2598);const d=o(a);const p=(e,t)=>{return e.debugId-t.debugId};const h=e=>{return Array.from(e)};const m=new WeakMap;const g=e=>{let t=m.get(e);if(t!==undefined)return t;t=(t=>{t.sortWith(e);return Array.from(t)});m.set(e,t);return t};const y=e=>{let t=0;for(const n of e){for(const e of n.getSourceTypes()){t+=n.size(e)}}return t};const v=e=>{let t=Object.create(null);for(const n of e){for(const e of n.getSourceTypes()){t[e]=(t[e]||0)+n.size(e)}}return t};const b=(e,t)=>{const n=new Set(t.groupsIterable);for(const t of n){if(e.isInGroup(t))continue;if(t.isInitial())return false;for(const e of t.parentsIterable){n.add(e)}}return true};class ChunkGraphModule{constructor(){this.chunks=new i;this.entryInChunks=new Set;this.runtimeInChunks=new Set;this.hash=undefined;this.renderedHash=undefined;this.id=null;this.runtimeRequirements=new Set}}class ChunkGraphChunk{constructor(){this.modules=new i;this.entryModules=new Map;this.runtimeModules=new i;this.runtimeRequirements=new Set;this.runtimeRequirementsInTree=new Set}}class ChunkGraph{constructor(e){this._modules=new WeakMap;this._chunks=new WeakMap;this._blockChunkGroups=new WeakMap;this.moduleGraph=e;this._getGraphRoots=this._getGraphRoots.bind(this)}_getChunkGraphModule(e){let t=this._modules.get(e);if(t===undefined){t=new ChunkGraphModule;this._modules.set(e,t)}return t}_getChunkGraphChunk(e){let t=this._chunks.get(e);if(t===undefined){t=new ChunkGraphChunk;this._chunks.set(e,t)}return t}_getGraphRoots(e){const{moduleGraph:t}=this;return Array.from(f(e,e=>{return t.getOutgoingConnections(e).reduce((e,t)=>{const n=t.module;if(n)e.push(n);return e},[])})).sort(a)}connectChunkAndModule(e,t){const n=this._getChunkGraphModule(t);const r=this._getChunkGraphChunk(e);if(n.chunks.has(e)&&r.modules.has(t))return false;n.chunks.add(e);r.modules.add(t);return true}disconnectChunkAndModule(e,t){const n=this._getChunkGraphModule(t);const r=this._getChunkGraphChunk(e);r.modules.delete(t);n.chunks.delete(e)}disconnectChunk(e){const t=this._getChunkGraphChunk(e);for(const n of t.modules){const t=this._getChunkGraphModule(n);t.chunks.delete(e)}t.modules.clear();e.disconnectFromGroups()}attachModules(e,t){const n=this._getChunkGraphChunk(e);for(const e of t){n.modules.add(e)}}attachRuntimeModules(e,t){const n=this._getChunkGraphChunk(e);for(const e of t){n.runtimeModules.add(e)}}replaceModule(e,t){const n=this._getChunkGraphModule(e);const r=this._getChunkGraphModule(t);for(const i of n.chunks){const n=this._getChunkGraphChunk(i);n.modules.delete(e);n.modules.add(t);r.chunks.add(i)}n.chunks.clear();for(const i of n.entryInChunks){const n=this._getChunkGraphChunk(i);const s=n.entryModules.get(e);const o=new Map;for(const[r,i]of n.entryModules){if(r===e){o.set(t,s)}else{o.set(r,i)}}n.entryModules=o;r.entryInChunks.add(i)}n.entryInChunks.clear();for(const i of n.runtimeInChunks){const n=this._getChunkGraphChunk(i);n.runtimeModules.delete(e);n.runtimeModules.add(t);r.runtimeInChunks.add(i)}n.runtimeInChunks.clear()}isModuleInChunk(e,t){const n=this._getChunkGraphChunk(t);return n.modules.has(e)}isModuleInChunkGroup(e,t){for(const n of t.chunks){if(this.isModuleInChunk(e,n))return true}return false}isEntryModule(e){const t=this._getChunkGraphModule(e);return t.entryInChunks.size>0}getModuleChunksIterable(e){const t=this._getChunkGraphModule(e);return t.chunks}getOrderedModuleChunksIterable(e,t){const n=this._getChunkGraphModule(e);n.chunks.sortWith(t);return n.chunks}getModuleChunks(e){const t=this._getChunkGraphModule(e);return t.chunks.getFromCache(h)}getNumberOfModuleChunks(e){const t=this._getChunkGraphModule(e);return t.chunks.size}haveModulesEqualChunks(e,t){const n=this._getChunkGraphModule(e);const r=this._getChunkGraphModule(t);if(n.chunks.size!==r.chunks.size)return false;n.chunks.sortWith(p);r.chunks.sortWith(p);const i=n.chunks[Symbol.iterator]();const s=r.chunks[Symbol.iterator]();while(true){const e=i.next();if(e.done)return true;const t=s.next();if(e.value!==t.value)return false}}getNumberOfChunkModules(e){const t=this._getChunkGraphChunk(e);return t.modules.size}getChunkModulesIterable(e){const t=this._getChunkGraphChunk(e);return t.modules}getOrderedChunkModulesIterable(e,t){const n=this._getChunkGraphChunk(e);n.modules.sortWith(t);return n.modules}getChunkModules(e){const t=this._getChunkGraphChunk(e);return t.modules.getFromUnorderedCache(h)}getOrderedChunkModules(e,t){const n=this._getChunkGraphChunk(e);const r=g(t);return n.modules.getFromUnorderedCache(r)}getChunkModuleMaps(e,t,n=false){const r=Object.create(null);const i=Object.create(null);for(const o of n?e.getAllReferencedChunks():e.getAllAsyncChunks()){let e;for(const n of this.getOrderedChunkModulesIterable(o,s(this))){if(t(n)){if(e===undefined){e=[];r[o.id]=e}const t=this.getModuleId(n);e.push(t);i[t]=this.getRenderedModuleHash(n)}}if(e!==undefined){e.sort()}}return{id:r,hash:i}}getChunkConditionMap(e,t){const n=Object.create(null);for(const r of e.getAllAsyncChunks()){n[r.id]=t(r,this)}for(const r of this.getChunkEntryDependentChunksIterable(e)){n[r.id]=t(r,this)}return n}hasModuleInChunk(e,t){for(const n of this.getChunkModulesIterable(e)){if(t(n)){return true}}return false}hasModuleInGraph(e,t,n){const r=new Set(e.groupsIterable);const i=new Set;for(const e of r){for(const r of e.chunks){if(!i.has(r)){i.add(r);if(!n||n(r,this)){for(const e of this.getChunkModulesIterable(r)){if(t(e)){return true}}}}}for(const t of e.childrenIterable){r.add(t)}}return false}compareChunks(e,t){const n=this._getChunkGraphChunk(e);const r=this._getChunkGraphChunk(t);if(n.modules.size>r.modules.size)return-1;if(n.modules.size0||this.getNumberOfEntryModules(t)>0){return false}return true}integrateChunks(e,t){if(e.name&&t.name){if(this.getNumberOfEntryModules(e)>0===this.getNumberOfEntryModules(t)>0){if(e.name.length!==t.name.length){e.name=e.name.length0){e.name=t.name}}else if(t.name){e.name=t.name}for(const n of t.idNameHints){e.idNameHints.add(n)}for(const n of this.getChunkModules(t)){this.disconnectChunkAndModule(t,n);this.connectChunkAndModule(e,n)}for(const[n,r]of Array.from(this.getChunkEntryModulesWithChunkGroupIterable(t))){this.disconnectChunkAndEntryModule(t,n);this.connectChunkAndEntryModule(e,n,r)}for(const n of t.groupsIterable){n.replaceChunk(t,e);e.addGroup(n);t.removeGroup(n)}}isEntryModuleInChunk(e,t){const n=this._getChunkGraphChunk(t);return n.entryModules.has(e)}connectChunkAndEntryModule(e,t,n){const r=this._getChunkGraphModule(t);const i=this._getChunkGraphChunk(e);r.entryInChunks.add(e);i.entryModules.set(t,n)}connectChunkAndRuntimeModule(e,t){const n=this._getChunkGraphModule(t);const r=this._getChunkGraphChunk(e);n.runtimeInChunks.add(e);r.runtimeModules.add(t)}disconnectChunkAndEntryModule(e,t){const n=this._getChunkGraphModule(t);const r=this._getChunkGraphChunk(e);n.entryInChunks.delete(e);r.entryModules.delete(t)}disconnectChunkAndRuntimeModule(e,t){const n=this._getChunkGraphModule(t);const r=this._getChunkGraphChunk(e);n.runtimeInChunks.delete(e);r.runtimeModules.delete(t)}disconnectEntryModule(e){const t=this._getChunkGraphModule(e);for(const n of t.entryInChunks){const t=this._getChunkGraphChunk(n);t.entryModules.delete(e)}t.entryInChunks.clear()}disconnectEntries(e){const t=this._getChunkGraphChunk(e);for(const n of t.entryModules.keys()){const t=this._getChunkGraphModule(n);t.entryInChunks.delete(e)}t.entryModules.clear()}getNumberOfEntryModules(e){const t=this._getChunkGraphChunk(e);return t.entryModules.size}getNumberOfRuntimeModules(e){const t=this._getChunkGraphChunk(e);return t.runtimeModules.size}getChunkEntryModulesIterable(e){const t=this._getChunkGraphChunk(e);return t.entryModules.keys()}getChunkEntryDependentChunksIterable(e){const t=this._getChunkGraphChunk(e);const n=new Set;for(const r of t.entryModules.values()){for(const t of r.chunks){if(t!==e){n.add(t)}}}return n}hasChunkEntryDependentChunks(e){const t=this._getChunkGraphChunk(e);for(const n of t.entryModules.values()){for(const t of n.chunks){if(t!==e){return true}}}return false}getChunkRuntimeModulesIterable(e){const t=this._getChunkGraphChunk(e);return t.runtimeModules}getChunkRuntimeModulesInOrder(e){const t=this._getChunkGraphChunk(e);const n=Array.from(t.runtimeModules);n.sort(u(c(e=>e.stage,l),c(e=>this.getModuleId(e),l)));return n}getChunkEntryModulesWithChunkGroupIterable(e){const t=this._getChunkGraphChunk(e);return t.entryModules}getBlockChunkGroup(e){return this._blockChunkGroups.get(e)}connectBlockAndChunkGroup(e,t){this._blockChunkGroups.set(e,t);t.addBlock(e)}disconnectChunkGroup(e){for(const t of e.blocksIterable){this._blockChunkGroups.delete(t)}e._blocks.clear()}getModuleId(e){const t=this._getChunkGraphModule(e);return t.id}setModuleId(e,t){const n=this._getChunkGraphModule(e);n.id=t}getModuleHash(e){const t=this._getChunkGraphModule(e);return t.hash}getRenderedModuleHash(e){const t=this._getChunkGraphModule(e);return t.renderedHash}setModuleHashes(e,t,n){const r=this._getChunkGraphModule(e);r.hash=t;r.renderedHash=n}addModuleRuntimeRequirements(e,t){const n=this._getChunkGraphModule(e);const r=n.runtimeRequirements;for(const e of t)r.add(e)}addChunkRuntimeRequirements(e,t){const n=this._getChunkGraphChunk(e);const r=n.runtimeRequirements;for(const e of t)r.add(e)}addTreeRuntimeRequirements(e,t){const n=this._getChunkGraphChunk(e);const r=n.runtimeRequirementsInTree;for(const e of t)r.add(e)}getModuleRuntimeRequirements(e){const t=this._getChunkGraphModule(e);return t.runtimeRequirements}getChunkRuntimeRequirements(e){const t=this._getChunkGraphChunk(e);return t.runtimeRequirements}getTreeRuntimeRequirements(e){const t=this._getChunkGraphChunk(e);return t.runtimeRequirementsInTree}static getChunkGraphForModule(e,t){const n=_.get(t);if(n)return n(e);const i=r.deprecate(e=>{const n=w.get(e);if(!n)throw new Error(t+": There was no ChunkGraph assigned to the Module for backward-compat (Use the new API)");return n},t+": Use new ChunkGraph API");_.set(t,i);return i(e)}static setChunkGraphForModule(e,t){w.set(e,t)}static getChunkGraphForChunk(e,t){const n=S.get(t);if(n)return n(e);const i=r.deprecate(e=>{const n=E.get(e);if(!n)throw new Error(t+"There was no ChunkGraph assigned to the Chunk for backward-compat (Use the new API)");return n},t+": Use new ChunkGraph API");S.set(t,i);return i(e)}static setChunkGraphForChunk(e,t){E.set(e,t)}}const w=new WeakMap;const E=new WeakMap;const _=new Map;const S=new Map;e.exports=ChunkGraph},5138:function(e,t,n){"use strict";e.exports=function(e,t,r,i,s){var o=n(9505);var a=o.canEvaluate;var u=o.tryCatch;var c=o.errorObj;var l;if(true){if(a){var f=function(e){return new Function("value","holder"," \n 'use strict'; \n holder.pIndex = value; \n holder.checkFulfillment(this); \n ".replace(/Index/g,e))};var d=function(e){return new Function("promise","holder"," \n 'use strict'; \n holder.pIndex = promise; \n ".replace(/Index/g,e))};var p=function(t){var n=new Array(t);for(var r=0;r0&&typeof arguments[n]==="function"){s=arguments[n];if(true){if(n<=8&&a){var u=new e(i);u._captureStackTrace();var c=h[n-1];var f=new c(s);var d=m;for(var p=0;p{const r=arguments[n+1];t+=e;if(r){t+="%s"}});return i.__.apply(null,[t].concat([].slice.call(arguments,1)))}e.exports.setLocale=(e=>{i.setLocale(e)})},5167:function(e,t,n){"use strict";const r=n(6150);const i=n(6202);const s=n(2197);class AMDRequireDependency extends s{constructor(e,t,n,r){super();this.outerRange=e;this.arrayRange=t;this.functionRange=n;this.errorCallbackRange=r;this.functionBindThis=false;this.errorCallbackBindThis=false}serialize(e){const{write:t}=e;t(this.outerRange);t(this.arrayRange);t(this.functionRange);t(this.errorCallbackRange);t(this.functionBindThis);t(this.errorCallbackBindThis);super.serialize(e)}deserialize(e){const{read:t}=e;this.outerRange=t();this.arrayRange=t();this.functionRange=t();this.errorCallbackRange=t();this.functionBindThis=t();this.errorCallbackBindThis=t();super.deserialize(e)}}i(AMDRequireDependency,"webpack/lib/dependencies/AMDRequireDependency");AMDRequireDependency.Template=class AMDRequireDependencyTemplate extends s.Template{apply(e,t,{runtimeTemplate:n,moduleGraph:i,chunkGraph:s,runtimeRequirements:o}){const a=e;const u=i.getParentBlock(a);const c=n.blockPromise({chunkGraph:s,block:u,message:"AMD require",runtimeRequirements:o});if(a.arrayRange&&!a.functionRange){const e=`${c}.then(function() {`;const n=`;}).catch(${r.uncaughtErrorHandler})`;o.add(r.uncaughtErrorHandler);t.replace(a.outerRange[0],a.arrayRange[0]-1,e);t.replace(a.arrayRange[1],a.outerRange[1]-1,n);return}if(a.functionRange&&!a.arrayRange){const e=`${c}.then((`;const n=`).bind(exports, __webpack_require__, exports, module)).catch(${r.uncaughtErrorHandler})`;o.add(r.uncaughtErrorHandler);t.replace(a.outerRange[0],a.functionRange[0]-1,e);t.replace(a.functionRange[1],a.outerRange[1]-1,n);return}if(a.arrayRange&&a.functionRange&&a.errorCallbackRange){const e=`${c}.then(function() { `;const n=`}${a.functionBindThis?".bind(this)":""}).catch(`;const r=`${a.errorCallbackBindThis?".bind(this)":""})`;t.replace(a.outerRange[0],a.arrayRange[0]-1,e);t.insert(a.arrayRange[0]+.9,"var __WEBPACK_AMD_REQUIRE_ARRAY__ = ");t.replace(a.arrayRange[1],a.functionRange[0]-1,"; (");t.insert(a.functionRange[1],").apply(null, __WEBPACK_AMD_REQUIRE_ARRAY__);");t.replace(a.functionRange[1],a.errorCallbackRange[0]-1,n);t.replace(a.errorCallbackRange[1],a.outerRange[1]-1,r);return}if(a.arrayRange&&a.functionRange){const e=`${c}.then(function() { `;const n=`}${a.functionBindThis?".bind(this)":""}).catch(${r.uncaughtErrorHandler})`;o.add(r.uncaughtErrorHandler);t.replace(a.outerRange[0],a.arrayRange[0]-1,e);t.insert(a.arrayRange[0]+.9,"var __WEBPACK_AMD_REQUIRE_ARRAY__ = ");t.replace(a.arrayRange[1],a.functionRange[0]-1,"; (");t.insert(a.functionRange[1],").apply(null, __WEBPACK_AMD_REQUIRE_ARRAY__);");t.replace(a.functionRange[1],a.outerRange[1]-1,n)}}};e.exports=AMDRequireDependency},5187:function(e){"use strict";e.exports=class UseFilePlugin{constructor(e,t,n){this.source=e;this.filename=t;this.target=n}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("UseFilePlugin",(n,r,i)=>{const s=e.join(n.path,this.filename);const o=Object.assign({},n,{path:s,relativePath:n.relativePath&&e.join(n.relativePath,this.filename)});e.doResolve(t,o,"using path: "+s,r,i)})}}},5189:function(e,t,n){"use strict";const r=n(8706);const i=n(6202);class DllEntryDependency extends r{constructor(e,t){super();this.dependencies=e;this.name=t}get type(){return"dll entry"}serialize(e){const{write:t}=e;t(this.dependencies);t(this.name);super.serialize(e)}deserialize(e){const{read:t}=e;this.dependencies=t();this.name=t();super.deserialize(e)}}i(DllEntryDependency,"webpack/lib/dependencies/DllEntryDependency");e.exports=DllEntryDependency},5196:function(e,t,n){"use strict";const r=n(8221);const i=n(6202);class RequireEnsureDependenciesBlock extends r{constructor(e,t){super(e,t,null)}}i(RequireEnsureDependenciesBlock,"webpack/lib/dependencies/RequireEnsureDependenciesBlock");e.exports=RequireEnsureDependenciesBlock},5197:function(e,t,n){t.Source=n(3292);t.RawSource=n(9343);t.OriginalSource=n(714);t.SourceMapSource=n(9547);t.LineToLineMappedSource=n(4467);t.CachedSource=n(3858);t.ConcatSource=n(1553);t.ReplaceSource=n(2028);t.PrefixSource=n(8573)},5227:function(e,t,n){"use strict";const r=n(9674);const i=n(6583);class DynamicEntryPlugin{constructor(e,t){this.context=e;this.entry=t}apply(e){e.hooks.compilation.tap("DynamicEntryPlugin",(e,{normalModuleFactory:t})=>{e.dependencyFactories.set(i,t)});e.hooks.make.tapAsync("DynamicEntryPlugin",(e,t)=>{const n=(t,n)=>{const r=DynamicEntryPlugin.createDependencies(t,n);return new Promise((t,i)=>{for(const s of r){e.addEntry(this.context,s,n,e=>{if(e)return i(e);t()})}})};Promise.resolve(this.entry()).then(e=>{if(typeof e==="string"||Array.isArray(e)){n(e,"main").then(()=>{t()},t)}else if(typeof e==="object"){Promise.all(Object.keys(e).map(t=>{return n(e[t],t)})).then(()=>{t()},t)}},t)})}static createDependencies(e,t){const n=Array.isArray(e)?e:[e];return n.map(e=>r.createDependency(e,t))}}e.exports=DynamicEntryPlugin},5243:function(e,t,n){"use strict";const{ConcatSource:r}=n(2991);class SetVarMainTemplatePlugin{constructor(e,t){this.varExpression=e;this.copyObject=t}apply(e){const{mainTemplate:t,chunkTemplate:n}=e;const i=(e,n,i)=>{const s=t.getAssetPath(this.varExpression,{hash:i,chunk:n});if(this.copyObject){return new r(`(function(e, a) { for(var i in a) e[i] = a[i]; }(${s}, `,e,"))")}else{const t=`${s} =\n`;return new r(t,e)}};t.hooks.renderWithEntry.tap("SetVarMainTemplatePlugin",i);n.hooks.renderWithEntry.tap("SetVarMainTemplatePlugin",i);t.hooks.hash.tap("SetVarMainTemplatePlugin",e=>{e.update("set var");e.update(`${this.varExpression}`);e.update(`${this.copyObject}`)})}}e.exports=SetVarMainTemplatePlugin},5245:function(e){"use strict";var t=Array.isArray;var n=Object.keys;var r=Object.prototype.hasOwnProperty;e.exports=function equal(e,i){if(e===i)return true;if(e&&i&&typeof e=="object"&&typeof i=="object"){var s=t(e),o=t(i),a,u,c;if(s&&o){u=e.length;if(u!=i.length)return false;for(a=u;a--!==0;)if(!equal(e[a],i[a]))return false;return true}if(s!=o)return false;var l=e instanceof Date,f=i instanceof Date;if(l!=f)return false;if(l&&f)return e.getTime()==i.getTime();var d=e instanceof RegExp,p=i instanceof RegExp;if(d!=p)return false;if(d&&p)return e.toString()==i.toString();var h=n(e);u=h.length;if(u!==n(i).length)return false;for(a=u;a--!==0;)if(!r.call(i,h[a]))return false;for(a=u;a--!==0;){c=h[a];if(!equal(e[c],i[c]))return false}return true}return e!==e&&i!==i}},5256:function(e,t,n){"use strict";e.exports=function(e,t,r,i){var s=n(9505);var o=s.isObject;var a=n(4673);var u;if(typeof Map==="function")u=Map;var c=function(){var e=0;var t=0;function extractEntry(n,r){this[e]=n;this[e+t]=r;e++}return function mapToEntries(n){t=n.size;e=0;var r=new Array(n.size*2);n.forEach(extractEntry,r);return r}}();var l=function(e){var t=new u;var n=e.length/2|0;for(var r=0;r=this._length){var r;if(this._isMap){r=l(this._values)}else{r={};var i=this.length();for(var s=0,o=this.length();s>1};function props(t){var n;var s=r(t);if(!o(s)){return i("cannot await properties of a non-object\n\n See http://goo.gl/MqrFmX\n")}else if(s instanceof e){n=s._then(e.props,undefined,undefined,undefined,undefined)}else{n=new PropertiesPromiseArray(s).promise()}if(s instanceof e){n._propagateFrom(s,2)}return n}e.prototype.props=function(){return props(this)};e.props=function(e){return props(e)}}},5261:function(e){"use strict";class Serializer{constructor(e,t){this.middlewares=e;this.context=t}serialize(e,t){const n={...t,...this.context};return new Promise((r,i)=>r(this.middlewares.reduce((e,r)=>{if(e instanceof Promise){return e.then(e=>e&&r.serialize(e,t))}else if(e){try{return r.serialize(e,n)}catch(e){return Promise.reject(e)}}},e)))}deserialize(e){const t={...e,...this.context};return Promise.resolve().then(()=>this.middlewares.reduceRight((n,r)=>{if(n instanceof Promise)return n.then(t=>r.deserialize(t,e));else return r.deserialize(n,t)},[]))}}e.exports=Serializer},5289:function(e,t,n){"use strict";e.exports=function(e,t){var r={};var i=n(9505);var s=n(8523);var o=i.withAppended;var a=i.maybeWrapAsError;var u=i.canEvaluate;var c=n(2222).TypeError;var l="Async";var f={__isPromisified__:true};var d=["arity","length","name","arguments","caller","callee","prototype","__isPromisified__"];var p=new RegExp("^(?:"+d.join("|")+")$");var h=function(e){return i.isIdentifier(e)&&e.charAt(0)!=="_"&&e!=="constructor"};function propsFilter(e){return!p.test(e)}function isPromisified(e){try{return e.__isPromisified__===true}catch(e){return false}}function hasPromisified(e,t,n){var r=i.getDataPropertyOrDefault(e,t+n,f);return r?isPromisified(r):false}function checkValid(e,t,n){for(var r=0;r=n;--r){t.push(r)}for(var r=e+1;r<=3;++r){t.push(r)}return t};var v=function(e){return i.filledRange(e,"_arg","")};var b=function(e){return i.filledRange(Math.max(e,3),"_arg","")};var w=function(e){if(typeof e.length==="number"){return Math.max(Math.min(e.length,1023+1),0)}return 0};g=function(n,u,c,l,f,d){var p=Math.max(0,w(l)-1);var h=y(p);var m=typeof n==="string"||u===r;function generateCallForArgumentCount(e){var t=v(e).join(", ");var n=e>0?", ":"";var r;if(m){r="ret = callback.call(this, {{args}}, nodeback); break;\n"}else{r=u===undefined?"ret = callback({{args}}, nodeback); break;\n":"ret = callback.call(receiver, {{args}}, nodeback); break;\n"}return r.replace("{{args}}",t).replace(", ",n)}function generateArgumentSwitchCase(){var e="";for(var t=0;tt||n&&e==t)throw new Error("There are no numbers in range")}}},5339:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:true});var r=n(5622);var i=n(8455);var s=n(8191);var o=n(9711);function createMatchPathAsync(e,t,n){if(n===void 0){n=["main"]}var r=s.getAbsoluteMappingEntries(e,t);return function(e,t,i,s,o){return matchFromAbsolutePathsAsync(r,e,t,i,s,o,n)}}t.createMatchPathAsync=createMatchPathAsync;function matchFromAbsolutePathsAsync(e,t,n,r,s,a,u){if(n===void 0){n=o.readJsonFromDiskAsync}if(r===void 0){r=o.fileExistsAsync}if(s===void 0){s=Object.keys(require.extensions)}if(u===void 0){u=["main"]}var c=i.getPathsToTry(s,e,t);if(!c){return a()}findFirstExistingPath(c,n,r,a,0,u)}t.matchFromAbsolutePathsAsync=matchFromAbsolutePathsAsync;function findFirstExistingMainFieldMappedFile(e,t,n,i,s,o){if(o===void 0){o=0}if(o>=t.length){return s(undefined,undefined)}var a=function(){return findFirstExistingMainFieldMappedFile(e,t,n,i,s,o+1)};var u=e[t[o]];if(typeof u!=="string"){return a()}var c=r.join(r.dirname(n),u);i(c,function(e,t){if(e){return s(e)}if(t){return s(undefined,c)}return a()})}function findFirstExistingPath(e,t,n,r,s,a){if(s===void 0){s=0}if(a===void 0){a=["main"]}var u=e[s];if(u.type==="file"||u.type==="extension"||u.type==="index"){n(u.path,function(o,c){if(o){return r(o)}if(c){return r(undefined,i.getStrippedPath(u))}if(s===e.length-1){return r()}return findFirstExistingPath(e,t,n,r,s+1,a)})}else if(u.type==="package"){t(u.path,function(i,c){if(i){return r(i)}if(c){return findFirstExistingMainFieldMappedFile(c,a,u.path,n,function(i,u){if(i){return r(i)}if(u){return r(undefined,o.removeExtension(u))}return findFirstExistingPath(e,t,n,r,s+1,a)})}return findFirstExistingPath(e,t,n,r,s+1,a)})}else{i.exhaustiveTypeException(u.type)}}},5369:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:true});t.resizeSectionByteSize=resizeSectionByteSize;t.resizeSectionVecSize=resizeSectionVecSize;var r=n(4166);var i=n(8093);var s=n(3104);function resizeSectionByteSize(e,t,n,o){var a=(0,i.getSectionMetadata)(e,n);if(typeof a==="undefined"){throw new Error("Section metadata not found")}if(typeof a.size.loc==="undefined"){throw new Error("SectionMetadata "+n+" has no loc")}var u=a.size.loc.start.column;var c=a.size.loc.end.column;var l=a.size.value+o;var f=(0,r.encodeU32)(l);a.size.value=l;var d=c-u;var p=f.length;if(p!==d){var h=p-d;a.size.loc.end.column=u+p;o+=h;a.vectorOfSize.loc.start.column+=h;a.vectorOfSize.loc.end.column+=h}var m=false;(0,i.traverse)(e,{SectionMetadata:function SectionMetadata(t){if(t.node.section===n){m=true;return}if(m===true){(0,i.shiftSection)(e,t.node,o)}}});return(0,s.overrideBytesInBuffer)(t,u,c,f)}function resizeSectionVecSize(e,t,n,o){var a=(0,i.getSectionMetadata)(e,n);if(typeof a==="undefined"){throw new Error("Section metadata not found")}if(typeof a.vectorOfSize.loc==="undefined"){throw new Error("SectionMetadata "+n+" has no loc")}if(a.vectorOfSize.value===-1){return t}var u=a.vectorOfSize.loc.start.column;var c=a.vectorOfSize.loc.end.column;var l=a.vectorOfSize.value+o;var f=(0,r.encodeU32)(l);a.vectorOfSize.value=l;a.vectorOfSize.loc.end.column=u+f.length;return(0,s.overrideBytesInBuffer)(t,u,c,f)}},5396:function(e,t,n){"use strict";const r=n(5622);const i=(e,t,n)=>{if(e&&e.relative){return e.relative(t,n)}else if(t.startsWith("/")){return r.posix.relative(t,n)}else if(t.length>1&&t[1]===":"){return r.win32.relative(t,n)}else{throw new Error(`${t} is neither a posix nor a windows path, and there is no 'relative' method defined in the file system`)}};t.relative=i;const s=(e,t,n)=>{if(e&&e.join){return e.join(t,n)}else if(t.startsWith("/")){return r.posix.join(t,n)}else if(t.length>1&&t[1]===":"){return r.win32.join(t,n)}else{throw new Error(`${t} is neither a posix nor a windows path, and there is no 'join' method defined in the file system`)}};t.join=s;const o=(e,t)=>{if(e&&e.dirname){return e.dirname(t)}else if(t.startsWith("/")){return r.posix.dirname(t)}else if(t.length>1&&t[1]===":"){return r.win32.dirname(t)}else{throw new Error(`${t} is neither a posix nor a windows path, and there is no 'dirname' method defined in the file system`)}};t.dirname=o;const a=(e,t,n)=>{e.mkdir(t,r=>{if(r){if(r.code==="ENOENT"){const i=o(e,t);if(i===t){n(r);return}a(e,i,r=>{if(r){n(r);return}e.mkdir(t,e=>{if(e){if(e.code==="EEXIST"){n();return}n(e);return}n()})});return}else if(r.code==="EEXIST"){n();return}n(r);return}n()})};t.mkdirp=a;const u=(e,t)=>{try{e.mkdirSync(t)}catch(n){if(n){if(n.code==="ENOENT"){const r=o(e,t);if(r===t){throw n}u(e,r);e.mkdirSync(t);return}else if(n.code==="EEXIST"){return}throw n}}};t.mkdirpSync=u},5402:function(e){"use strict";class SetObjectSerializer{serialize(e,{write:t}){t(e.size);for(const n of e){t(n)}}deserialize({read:e}){let t=e();const n=new Set;for(let r=0;r0){let t=this._exports.get(e[0]);if(t===undefined)t=this._otherExportsInfo;if(!t.exportsInfo)return undefined;return t.exportsInfo.getNestedExportsInfo(e.slice(1))}return this}setUnknownExportsProvided(){let e=false;for(const t of this._exports.values()){if(t.provided!==true&&t.provided!==null){t.provided=null;e=true}if(t.canMangleProvide!==false){t.canMangleProvide=false;e=true}}if(this._otherExportsInfo.provided!==true&&this._otherExportsInfo.provided!==null){this._otherExportsInfo.provided=null;e=true}if(this._otherExportsInfo.canMangleProvide!==false){this._otherExportsInfo.canMangleProvide=false;e=true}return e}setUsedInUnknownWay(){let e=false;if(this._isUsed===false){this._isUsed=true;e=true}for(const t of this._exports.values()){if(t.usedt){n.depth=t;return true}return false}isAsync(e){const t=this._getModuleGraphModule(e);return t.async}setAsync(e){const t=this._getModuleGraphModule(e);t.async=true}getMeta(e){let t=this._metaMap.get(e);if(t===undefined){t=Object.create(null);this._metaMap.set(e,t)}return t}static getModuleGraphForModule(e,t){const n=u.get(t);if(n)return n(e);const i=r.deprecate(e=>{const n=a.get(e);if(!n)throw new Error(t+"There was no ModuleGraph assigned to the Module for backward-compat (Use the new API)");return n},t+": Use new ModuleGraph API");u.set(t,i);return i(e)}static setModuleGraphForModule(e,t){a.set(e,t)}}const a=new WeakMap;const u=new Map;e.exports=ModuleGraph;e.exports.ModuleGraphConnection=i;e.exports.ExportsInfo=ExportsInfo;e.exports.ExportInfo=ExportInfo;e.exports.UsageState=o},5427:function(e,t,n){"use strict";const r=n(6150);const i=n(6202);const s=n(2197);class RequireEnsureDependency extends s{constructor(e,t,n){super();this.range=e;this.contentRange=t;this.errorHandlerRange=n}get type(){return"require.ensure"}serialize(e){const{write:t}=e;t(this.range);t(this.contentRange);t(this.errorHandlerRange);super.serialize(e)}deserialize(e){const{read:t}=e;this.range=t();this.contentRange=t();this.errorHandlerRange=t();super.deserialize(e)}}i(RequireEnsureDependency,"webpack/lib/dependencies/RequireEnsureDependency");RequireEnsureDependency.Template=class RequireEnsureDependencyTemplate extends s.Template{apply(e,t,{runtimeTemplate:n,moduleGraph:i,chunkGraph:s,runtimeRequirements:o}){const a=e;const u=i.getParentBlock(a);const c=n.blockPromise({chunkGraph:s,block:u,message:"require.ensure",runtimeRequirements:o});const l=a.range;const f=a.contentRange;const d=a.errorHandlerRange;t.replace(l[0],f[0]-1,`${c}.then((`);if(d){t.replace(f[1],d[0]-1,").bind(null, __webpack_require__)).catch(");t.replace(d[1],l[1]-1,")")}else{t.replace(f[1],l[1]-1,`).bind(null, __webpack_require__)).catch(${r.uncaughtErrorHandler})`)}}};e.exports=RequireEnsureDependency},5442:function(e,t,n){"use strict";const r=n(5137);const i=n(5412);const{STAGE_DEFAULT:s}=n(2414);const o=n(4290);const a=n(7359);const u=n(1809);const c=n(3158);const l=n(9683);const f=n(5734);const d=e=>{return"ModuleConcatenation bailout: "+e};class ModuleConcatenationPlugin{constructor(e){if(typeof e!=="object")e={};this.options=e}apply(e){e.hooks.compilation.tap("ModuleConcatenationPlugin",(e,{normalModuleFactory:t})=>{const n=e.moduleGraph;const l=(e,t)=>{e.hooks.call.for("eval").tap("ModuleConcatenationPlugin",()=>{e.state.module.buildMeta.moduleConcatenationBailout="eval()"})};t.hooks.parser.for("javascript/auto").tap("ModuleConcatenationPlugin",l);t.hooks.parser.for("javascript/dynamic").tap("ModuleConcatenationPlugin",l);t.hooks.parser.for("javascript/esm").tap("ModuleConcatenationPlugin",l);const p=new Map;const h=(e,t)=>{m(e,t);n.getOptimizationBailout(e).push(typeof t==="function"?e=>d(t(e)):d(t))};const m=(e,t)=>{p.set(e,t)};const g=(e,t)=>{const n=p.get(e);if(typeof n==="function")return n(t);return n};const y=(e,t)=>n=>{const r=g(e,n);const i=r?` (<- ${r})`:"";if(e===t){return d(`Cannot concat with ${e.readableIdentifier(n)}${i}`)}else{return d(`Cannot concat with ${e.readableIdentifier(n)} because of ${t.readableIdentifier(n)}${i}`)}};e.hooks.optimizeChunkModules.tap({name:"ModuleConcatenationPlugin",stage:s},(t,s)=>{const l=e.chunkGraph;const d=[];const p=new Set;for(const e of s){if(!e.buildMeta||e.buildMeta.exportsType!=="namespace"||!e.dependencies.some(e=>e instanceof o)){h(e,"Module is not an ECMAScript module");continue}if(e.buildMeta&&e.buildMeta.moduleConcatenationBailout){h(e,`Module uses ${e.buildMeta.moduleConcatenationBailout}`);continue}if(n.isAsync(e)){h(e,`Module is async`);continue}if(!Array.isArray(n.getProvidedExports(e))){h(e,"Module exports are unknown");continue}if(e.dependencies.some(e=>e instanceof u||e instanceof c)){h(e,"Module uses Hot Module Replacement");continue}if(l.getNumberOfModuleChunks(e)===0){h(e,"Module is not in any chunk");continue}d.push(e);if(l.isEntryModule(e)){m(e,"Module is an entry point");continue}const t=n.getIncomingConnections(e).filter(e=>{return!e.originModule||e.originModule.isModuleUsed(n)});const r=t.filter(e=>!e.dependency||!(e.dependency instanceof a));if(r.length>0){m(e,e=>{const t=new Set(r.map(e=>e.originModule).filter(Boolean));const n=new Set(r.map(e=>e.explanation).filter(Boolean));const i=new Map(Array.from(t).map(e=>[e,new Set(r.filter(t=>t.originModule===e).map(e=>e.dependency.type).sort())]));const s=Array.from(t).map(t=>`${t.readableIdentifier(e)} (referenced with ${Array.from(i.get(t)).join(", ")})`).sort();const o=Array.from(n).sort();if(s.length>0&&o.length===0){return`Module is referenced from these modules with unsupported syntax: ${s.join(", ")}`}else if(s.length===0&&o.length>0){return`Module is referenced by: ${o.join(", ")}`}else if(s.length>0&&o.length>0){return`Module is referenced from these modules with unsupported syntax: ${s.join(", ")} and by: ${o.join(", ")}`}else{return"Module is referenced in a unsupported way"}});continue}const i=t.filter(t=>{return t.originModule&&!l.haveModulesEqualChunks(t.originModule,e)});if(i.length>0){m(e,e=>{const t=new Set(i.map(e=>e.originModule).filter(Boolean));const n=Array.from(t).map(t=>t.readableIdentifier(e)).sort();return`Module is referenced from different chunks by these modules: ${n.join(", ")}`});continue}p.add(e)}d.sort((e,t)=>{return n.getDepth(e)-n.getDepth(t)});const g=[];const v=new Set;for(const t of d){if(v.has(t))continue;const r=new ConcatConfiguration(t);const i=new Map;for(const n of this._getImports(e,t)){const t=this._tryToAdd(e,r,n,p,i);if(t){i.set(n,t);r.addWarning(n,t)}}if(!r.isEmpty()){g.push(r);for(const e of r.getModules()){if(e!==r.rootModule){v.add(e)}}}else{for(const e of r.getWarningsSorted()){n.getOptimizationBailout(t).push(y(e[0],e[1]))}}}g.sort((e,t)=>{return t.modules.size-e.modules.size});const b=new Set;for(const t of g){if(b.has(t.rootModule))continue;const s=t.getModules();const o=t.rootModule;const u=new f(o,s,e);r.setChunkGraphForModule(u,l);i.setModuleGraphForModule(u,n);for(const e of t.getWarningsSorted()){n.getOptimizationBailout(u).push(y(e[0],e[1]))}n.cloneModuleAttributes(o,u);for(const t of s){e.modules.delete(t);b.add(t);if(e.builtModules.has(t)){e.builtModules.add(u)}l.replaceModule(t,u);n.moveModuleConnections(t,u,e=>{return!(e.dependency instanceof a&&s.has(e.originModule)&&s.has(e.module))})}e.modules.add(u)}})})}_getImports(e,t){const n=e.moduleGraph;return new Set(t.dependencies.map(t=>{if(!(t instanceof a))return null;if(!e)return t.getReference(n);return e.getDependencyReference(t)}).filter(e=>e&&e.module&&(Array.isArray(e.importedNames)&&e.importedNames.every(e=>e.length>0)||Array.isArray(n.getProvidedExports(e.module)))).map(e=>e.module))}_tryToAdd(e,t,n,r,i){const s=i.get(n);if(s){return s}if(t.has(n)){return null}if(!r.has(n)){i.set(n,n);return n}const o=t.clone();o.add(n);const a=e.moduleGraph;for(const t of a.getIncomingConnections(n)){if(!t.originModule.isModuleUsed(a))continue;const s=this._tryToAdd(e,o,t.originModule,r,i);if(s){i.set(n,s);return s}}t.set(o);for(const s of this._getImports(e,n)){const n=this._tryToAdd(e,t,s,r,i);if(n){t.addWarning(s,n)}}return null}}class ConcatConfiguration{constructor(e,t){this.rootModule=e;if(t){this.modules=t.modules.createChild();this.warnings=t.warnings.createChild()}else{this.modules=new l;this.modules.add(e);this.warnings=new l}}add(e){this.modules.add(e)}has(e){return this.modules.has(e)}isEmpty(){return this.modules.size===1}addWarning(e,t){this.warnings.set(e,t)}getWarningsSorted(){return new Map(this.warnings.asPairArray().sort((e,t)=>{const n=e[0].identifier();const r=t[0].identifier();if(nr)return 1;return 0}))}getModules(){return this.modules.asSet()}clone(){return new ConcatConfiguration(this.rootModule,this)}set(e){this.rootModule=e.rootModule;this.modules=e.modules;this.warnings=e.warnings}}e.exports=ModuleConcatenationPlugin},5462:function(e,t,n){"use strict";const{RawSource:r}=n(2991);const i=n(6253);const s=n(6150);const o=n(8159);const a=n(3081);const u=new Set(["webassembly"]);class AsyncWebAssemblyJavascriptGenerator extends i{constructor(e){super();this.filenameTemplate=e}getTypes(){return u}getSize(e,t){return 40+e.dependencies.length*10}generate(e,{runtimeTemplate:t,chunkGraph:n,moduleGraph:i,runtimeRequirements:u}){u.add(s.module);u.add(s.exports);u.add(s.instantiateWasm);const c=new Map;const l=new Map;for(const t of e.dependencies){if(t instanceof a){const e=i.getModule(t);if(!c.has(e)){c.set(e,{request:t.request,importVar:`WEBPACK_IMPORTED_MODULE_${c.size}`})}let n=l.get(t.request);if(n===undefined){n=[];l.set(t.request,n)}n.push(t)}}const f=[];const d=Array.from(c,([r,{request:s,importVar:o}])=>{if(i.isAsync(r)){f.push(o)}return t.importStatement({update:false,module:r,chunkGraph:n,request:s,originModule:e,importVar:o,runtimeRequirements:u})});const p=Array.from(l,([n,r])=>{const s=r.map(r=>{const s=i.getModule(r);const o=c.get(s).importVar;return`${JSON.stringify(r.name)}: ${t.exportFromImport({moduleGraph:i,module:s,request:n,exportName:r.name,originModule:e,asiSafe:true,isCall:false,callContext:false,importVar:o,runtimeRequirements:u})}`});return o.asString([`${JSON.stringify(n)}: {`,o.indent(s.join(",\n")),"}"])});const h=p.length>0?o.asString(["{",o.indent(p.join(",\n")),"}"]):undefined;const m=`${s.instantiateWasm}(${e.exportsArgument}, ${e.moduleArgument}.i`+(h?`, ${h})`:`)`);return new r(o.asString([...d,f.length>1?`${e.moduleArgument}.exports = Promise.all([${f.join(", ")}]).then(function([${f.join(", ")}]) { return ${m}; })`:f.length===1?`${e.moduleArgument}.exports = Promise.resolve(${f[0]}).then(function(${f[0]}) { return ${m}; })`:`${e.moduleArgument}.exports = ${m}`]))}}e.exports=AsyncWebAssemblyJavascriptGenerator},5474:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:true});t.getSectionForNode=getSectionForNode;function getSectionForNode(e){switch(e.type){case"ModuleImport":return"import";case"CallInstruction":case"CallIndirectInstruction":case"Func":case"Instr":return"code";case"ModuleExport":return"export";case"Start":return"start";case"TypeInstruction":return"type";case"IndexInFuncSection":return"func";case"Global":return"global";default:return}}},5491:function(e,t,n){"use strict";const r=n(5925).chunkHasJs;const i=n(6150);const s=n(6804);const o=n(8159);const a=n(7274);class RequireChunkLoadingRuntimeModule extends s{constructor(e,t,n){super("require chunk loading",10);this.chunk=e;this.chunkGraph=t;this.runtimeRequirements=n}generate(){const{chunk:e,chunkGraph:t}=this;const s=i.ensureChunkHandlers;const u=this.runtimeRequirements.has(i.ensureChunkHandlers);const c=this.runtimeRequirements.has(i.hmrDownloadUpdateHandlers);const l=this.runtimeRequirements.has(i.hmrDownloadManifest);const f=a(t.getChunkConditionMap(e,r));return o.asString(["// object to store loaded chunks",'// "1" means "loaded", otherwise not loaded yet',"var installedChunks = {",o.indent(e.ids.map(e=>`${JSON.stringify(e)}: 1`).join(",\n")),"};","",u?o.asString(["// require() chunk loading for javascript",`${s}.require = function(chunkId, promises) {`,f!==false?o.indent(["",'// "1" is the signal for "already loaded"',"if(!installedChunks[chunkId]) {",o.indent([f===true?"if(true) { // all chunks have JS":`if(${f("chunkId")}) {`,o.indent([`var chunk = require("./" + ${i.getChunkScriptFilename}(chunkId));`,"var moreModules = chunk.modules, chunkIds = chunk.ids, runtime = chunk.runtime;","for(var moduleId in moreModules) {",o.indent(["if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {",o.indent([`${i.moduleFactories}[moduleId] = moreModules[moduleId];`]),"}"]),"}",`if(runtime) runtime(__webpack_require__);`,"for(var i = 0; i < chunkIds.length; i++)",o.indent("installedChunks[chunkIds[i]] = 1;")]),"} else installedChunks[chunkId] = 1;","",c?o.asString(["if(currentUpdateChunks && currentUpdateChunks[chunkId]) loadUpdateChunk(chunkId);"]):"// no HMR"]),"}"]):o.asString(["installedChunks[chunkId] = 1;",c?o.asString(["if(currentUpdateChunks && currentUpdateChunks[chunkId]) loadUpdateChunk(chunkId);"]):"// no HMR"]),"};"]):"// no chunk loading","",c?o.asString(["var currentUpdateChunks;","var currentUpdate;","var currentUpdateRuntime;","function loadUpdateChunk(chunkId, updatedModulesList) {",o.indent([`var update = require("./" + ${i.getChunkUpdateScriptFilename}(chunkId));`,"var updatedModules = update.modules;","var runtime = update.runtime;","for(var moduleId in updatedModules) {",o.indent(["if(Object.prototype.hasOwnProperty.call(updatedModules, moduleId)) {",o.indent([`currentUpdate[moduleId] = updatedModules[moduleId];`,"if(updatedModulesList) updatedModulesList.push(moduleId);"]),"}"]),"}","if(runtime) currentUpdateRuntime.push(runtime);"]),"}","",`${i.hmrDownloadUpdateHandlers}.require = function(chunkIds, removedChunks, removedModules, promises, applyHandlers, updatedModulesList) {`,o.indent(["applyHandlers.push(function(options) {",o.indent(["currentUpdateChunks = undefined;",o.getFunctionContent(n(2215)).replace(/\$options\$/g,"options").replace(/\$updateModuleFactories\$/g,"currentUpdate").replace(/\$updateRuntimeModules\$/g,"currentUpdateRuntime").replace(/\$moduleCache\$/g,i.moduleCache).replace(/\$hmrModuleData\$/g,i.hmrModuleData).replace(/\$moduleFactories\$/g,i.moduleFactories).replace(/\/\/ \$dispose\$/g,o.asString(["removedChunks.forEach(function(chunkId) { delete installedChunks[chunkId]; });"]))]),"});","currentUpdateChunks = {};","currentUpdate = removedModules.reduce(function(obj, key) { obj[key] = false; return obj; }, {});","currentUpdateRuntime = [];","chunkIds.forEach(function(chunkId) {",o.indent(["if(installedChunks[chunkId] !== undefined) {",o.indent(["loadUpdateChunk(chunkId, updatedModulesList);"]),"}","currentUpdateChunks[chunkId] = true;"]),"});"]),"};"]):"// no HMR","",l?o.asString([`${i.hmrDownloadManifest} = function() {`,o.indent(["return Promise.resolve().then(function() {",o.indent([`return require("./" + ${i.getUpdateManifestFilename}());`]),'}).catch(function(err) { if(err.code !== "MODULE_NOT_FOUND") throw err; });']),"}"]):"// no HMR manifest"])}}e.exports=RequireChunkLoadingRuntimeModule},5502:function(e){"use strict";e.exports=(e=>{if(typeof e!=="string"){throw new TypeError("Expected a string, got "+typeof e)}if(e.charCodeAt(0)===65279){return e.slice(1)}return e})},5512:function(e){"use strict";e.exports=function ucs2length(e){var t=0,n=e.length,r=0,i;while(r=55296&&i<=56319&&r":"<";r+="if ( ";if(d){r+=" ("+p+" !== undefined && typeof "+p+" != 'number') || "}r+=" Object.keys("+f+").length "+h+" "+p+") { ";var l=t;var m=m||[];m.push(r);r="";if(e.createErrors!==false){r+=" { keyword: '"+(l||"_limitProperties")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { limit: "+p+" } ";if(e.opts.messages!==false){r+=" , message: 'should NOT have ";if(t=="maxProperties"){r+="more"}else{r+="fewer"}r+=" than ";if(d){r+="' + "+p+" + '"}else{r+=""+o}r+=" properties' "}if(e.opts.verbose){r+=" , schema: ";if(d){r+="validate.schema"+a}else{r+=""+o}r+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+f+" "}r+=" } "}else{r+=" {} "}var g=r;r=m.pop();if(!e.compositeRule&&c){if(e.async){r+=" throw new ValidationError(["+g+"]); "}else{r+=" validate.errors = ["+g+"]; return false; "}}else{r+=" var err = "+g+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}r+="} ";if(c){r+=" else { "}return r}},5579:function(e,t,n){"use strict";const{compareModulesByPreOrderIndexOrIdentifier:r}=n(8673);const{getUsedModuleIds:i,getFullModuleName:s,assignDeterministicIds:o}=n(328);class DeterministicModuleIdsPlugin{constructor(e){this.options=e||{}}apply(e){e.hooks.compilation.tap("DeterministicModuleIdsPlugin",t=>{t.hooks.moduleIds.tap("DeterministicModuleIdsPlugin",n=>{const a=t.chunkGraph;const u=this.options.context?this.options.context:e.context;const c=this.options.maxLength||3;const l=i(t);o(Array.from(n).filter(e=>{if(a.getNumberOfModuleChunks(e)===0)return false;return a.getModuleId(e)===null}),t=>s(t,u,e.root),r(t.moduleGraph),(e,t)=>{const n=l.size;l.add(`${t}`);if(n===l.size)return false;a.setModuleId(e,t);return true},[Math.pow(10,c)],10,l.size)})})}}e.exports=DeterministicModuleIdsPlugin},5589:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:true});t.decode=decode;function _toConsumableArray(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t=65536){throw new Error("invalid UTF-8 encoding")}else{return t}}function decode(e){return _decode(e).map(function(e){return String.fromCharCode(e)}).join("")}function _decode(e){if(e.length===0){return[]}{var t=_toArray(e),n=t[0],r=t.slice(1);if(n<128){return[code(0,n)].concat(_toConsumableArray(_decode(r)))}if(n<192){throw new Error("invalid UTF-8 encoding")}}{var i=_toArray(e),s=i[0],o=i[1],a=i.slice(2);if(s<224){return[code(128,((s&31)<<6)+con(o))].concat(_toConsumableArray(_decode(a)))}}{var u=_toArray(e),c=u[0],l=u[1],f=u[2],d=u.slice(3);if(c<240){return[code(2048,((c&15)<<12)+(con(l)<<6)+con(f))].concat(_toConsumableArray(_decode(d)))}}{var p=_toArray(e),h=p[0],m=p[1],g=p[2],y=p[3],v=p.slice(4);if(h<248){return[code(65536,(((h&7)<<18)+con(m)<<12)+(con(g)<<6)+con(y))].concat(_toConsumableArray(_decode(v)))}}throw new Error("invalid UTF-8 encoding")}},5601:function(e,t){"use strict";const n=e=>{return e.replace(/[-[\]\\/{}()*+?.^$|]/g,"\\$&")};const r=e=>{const t=e.lastIndexOf("/");let n=".";if(t>=0){n=e.substr(0,t);e=`.${e.substr(t)}`}return{context:n,prefix:e}};const i=e=>{const t=e.indexOf("?");let n="";if(t>=0){n=e.substr(t);e=e.substr(0,t)}return{postfix:e,query:n}};t.create=((e,t,s,o,a,u,c)=>{if(s.isTemplateString()){let l=s.quasis[0].string;let f=s.quasis.length>1?s.quasis[s.quasis.length-1].string:"";const d=s.range;const{context:p,prefix:h}=r(l);const{postfix:m,query:g}=i(f);const y=s.quasis.slice(1,s.quasis.length-1);const v=a.wrappedContextRegExp.source+y.map(e=>n(e.string)+a.wrappedContextRegExp.source).join("");const b=new RegExp(`^${n(h)}${v}${n(m)}$`);const w=new e({request:p+g,recursive:a.wrappedContextRecursive,regExp:b,mode:"sync",...u},t,d);w.loc=o.loc;const E=[];s.parts.forEach((e,t)=>{if(t%2===0){let n=e.range;let r=e.string;if(s.templateStringKind==="cooked"){r=JSON.stringify(r);r=r.slice(1,r.length-1)}if(t===0){r=h;n=[s.range[0],e.range[1]];r=(s.templateStringKind==="cooked"?"`":"String.raw`")+r}else if(t===s.parts.length-1){r=m;n=[e.range[0],s.range[1]];r=r+"`"}else if(e.expression&&e.expression.type==="TemplateElement"&&e.expression.value.raw===r){return}E.push({range:n,value:r})}else{c.walkExpression(e.expression)}});w.replaces=E;w.critical=a.wrappedContextCritical&&"a part of the request of a dependency is an expression";return w}else if(s.isWrapped()&&(s.prefix&&s.prefix.isString()||s.postfix&&s.postfix.isString())){let l=s.prefix&&s.prefix.isString()?s.prefix.string:"";let f=s.postfix&&s.postfix.isString()?s.postfix.string:"";const d=s.prefix&&s.prefix.isString()?s.prefix.range:null;const p=s.postfix&&s.postfix.isString()?s.postfix.range:null;const h=s.range;const{context:m,prefix:g}=r(l);const{postfix:y,query:v}=i(f);const b=new RegExp(`^${n(g)}${a.wrappedContextRegExp.source}${n(y)}$`);const w=new e({request:m+v,recursive:a.wrappedContextRecursive,regExp:b,mode:"sync",...u},t,h);w.loc=o.loc;const E=[];if(d){E.push({range:d,value:JSON.stringify(g)})}if(p){E.push({range:p,value:JSON.stringify(y)})}w.replaces=E;w.critical=a.wrappedContextCritical&&"a part of the request of a dependency is an expression";if(c&&s.wrappedInnerExpressions){for(const e of s.wrappedInnerExpressions){if(e.expression)c.walkExpression(e.expression)}}return w}else{const n=new e({request:a.exprContextRequest,recursive:a.exprContextRecursive,regExp:a.exprContextRegExp,mode:"sync",...u},t,s.range);n.loc=o.loc;n.critical=a.exprContextCritical&&"the request of a dependency is an expression";c.walkExpression(s.expression);return n}})},5622:function(e){e.exports=require("path")},5629:function(e,t,n){"use strict";const r=n(2355);const i=n(9541);const s=(e,t)=>{return`${e.compilerPath}/FlagDependencyExportsPlugin/${t.identifier()}`};class FlagDependencyExportsPlugin{apply(e){e.hooks.compilation.tap("FlagDependencyExportsPlugin",e=>{const t=e.moduleGraph;e.hooks.finishModules.tapAsync("FlagDependencyExportsPlugin",(n,o)=>{const a=new i;r.each(n,(n,r)=>{if(n.buildInfo.cacheable!==true||typeof n.buildInfo.hash!=="string"){a.enqueue(n);t.getExportsInfo(n).setHasProvideInfo();return r()}e.cache.get(s(e,n),n.buildInfo.hash,(e,i)=>{if(e)return r(e);if(i!==undefined){t.getExportsInfo(n).restoreProvided(i)}else{a.enqueue(n);t.getExportsInfo(n).setHasProvideInfo()}r()})},n=>{if(n)return o(n);const i=new Set;const u=new Map;let c;let l;let f=true;let d=false;const p=e=>{for(const t of e.dependencies){h(t)}for(const t of e.blocks){p(t)}};const h=e=>{const n=e.getExports(t);if(!n)return;const r=n.exports;const i=n.dependencies;if(r===true){if(l.setUnknownExportsProvided()){d=true}}else if(Array.isArray(r)){for(const e of r){if(typeof e==="string"){const t=l.getExportInfo(e);if(t.provided===false){t.provided=true;d=true}}else{const n=l.getExportInfo(e.name);if(n.provided===false){n.provided=true;d=true}if(e.canMangle===false){if(n.canMangleProvide!==false){n.canMangleProvide=false;d=true}}if(e.from){const r=t.getExportsInfo(e.from);const i=r.getNestedExportsInfo(e.export);if(n.exportsInfo!==i){n.exportsInfo=i;d=true}}}}}if(i){f=false;for(const e of i){const t=u.get(e);if(t===undefined){u.set(e,new Set([c]))}else{t.add(c)}}}};const m=()=>{const e=u.get(c);if(e!==undefined){for(const t of e){a.enqueue(t)}}};while(a.length>0){c=a.dequeue();l=t.getExportsInfo(c);if(l.otherExportsInfo.provided!==null){if(!c.buildMeta||!c.buildMeta.exportsType){l.setUnknownExportsProvided();i.add(c);m()}else{f=true;d=false;p(c);if(f){i.add(c)}if(d){m()}}}}r.each(i,(n,r)=>{if(n.buildInfo.cacheable!==true||typeof n.buildInfo.hash!=="string"){return r()}e.cache.store(s(e,n),n.buildInfo.hash,t.getExportsInfo(n).getRestoreProvidedData(),r)},o)})});const n=new WeakMap;e.hooks.rebuildModule.tap("FlagDependencyExportsPlugin",e=>{n.set(e,t.getExportsInfo(e).getRestoreProvidedData())});e.hooks.finishRebuildingModule.tap("FlagDependencyExportsPlugin",e=>{t.getExportsInfo(e).restoreProvided(n.get(e))})})}}e.exports=FlagDependencyExportsPlugin},5658:function(e,t,n){var r=n(1638);e.exports=function loadLoader(e,t){try{var n=require(e.path)}catch(n){if(n instanceof Error&&n.code==="EMFILE"){var i=loadLoader.bind(null,e,t);if(typeof setImmediate==="function"){return setImmediate(i)}else{return process.nextTick(i)}}return t(n)}if(typeof n!=="function"&&typeof n!=="object"){return t(new r("Module '"+e.path+"' is not a loader (export function or es6 module)"))}e.normal=typeof n==="function"?n:n.default;e.pitch=n.pitch;e.raw=n.raw;if(typeof e.normal!=="function"&&typeof e.pitch!=="function"){return t(new r("Module '"+e.path+"' is not a loader (must have normal or pitch function)"))}t()}},5676:function(e,t,n){"use strict";const r=n(8159);const i=n(3081);const s="a";const o=(e,t,n)=>{const o=[];let a=0;for(const u of t.dependencies){if(u instanceof i){if(u.description.type==="GlobalType"||e.getModule(u)===null){continue}const t=u.name;if(n){o.push({dependency:u,name:r.numberToIdentifier(a++),module:s})}else{o.push({dependency:u,name:t,module:u.request})}}}return o};t.getUsedDependencies=o;t.MANGLED_MODULE=s},5688:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:true});t.shrinkPaddedLEB128=shrinkPaddedLEB128;var r=n(8093);var i=n(7445);var s=n(3104);function shiftFollowingSections(e,t,n){var i=t.section;var s=false;(0,r.traverse)(e,{SectionMetadata:function SectionMetadata(t){if(t.node.section===i){s=true;return}if(s===true){(0,r.shiftSection)(e,t.node,n)}}})}function shrinkPaddedLEB128(e,t){(0,r.traverse)(e,{SectionMetadata:function SectionMetadata(n){var r=n.node;{var o=(0,i.encodeU32)(r.size.value);var a=o.length;var u=r.size.loc.start.column;var c=r.size.loc.end.column;var l=c-u;if(a!==l){var f=l-a;t=(0,s.overrideBytesInBuffer)(t,u,c,o);shiftFollowingSections(e,r,-f)}}}});return t}},5708:function(e,t,n){"use strict";const r=n(6202);const i=n(9983);class ImportEagerDependency extends i{constructor(e,t){super(e);this.range=t}get type(){return"import() eager"}serialize(e){const{write:t}=e;t(this.range);super.serialize(e)}deserialize(e){const{read:t}=e;this.range=t();super.deserialize(e)}}r(ImportEagerDependency,"webpack/lib/dependencies/ImportEagerDependency");ImportEagerDependency.Template=class ImportEagerDependencyTemplate extends i.Template{apply(e,t,{runtimeTemplate:n,module:r,moduleGraph:i,chunkGraph:s,runtimeRequirements:o}){const a=e;const u=n.moduleNamespacePromise({chunkGraph:s,module:i.getModule(a),request:a.request,strict:r.buildMeta.strictHarmonyModule,message:"import() eager",runtimeRequirements:o});t.replace(a.range[0],a.range[1]-1,u)}};e.exports=ImportEagerDependency},5715:function(e,t,n){"use strict";const r=n(8706);const i=n(4304);const s=n(6202);class AMDRequireArrayDependency extends r{constructor(e,t){super();this.depsArray=e;this.range=t}get type(){return"amd require array"}serialize(e){const{write:t}=e;t(this.depsArray);t(this.range);super.serialize(e)}deserialize(e){const{read:t}=e;this.depsArray=t();this.range=t();super.deserialize(e)}}s(AMDRequireArrayDependency,"webpack/lib/dependencies/AMDRequireArrayDependency");AMDRequireArrayDependency.Template=class AMDRequireArrayDependencyTemplate extends i{apply(e,t,n){const r=e;const i=this.getContent(r,n);t.replace(r.range[0],r.range[1]-1,i)}getContent(e,t){const n=e.depsArray.map(e=>{return this.contentForDependency(e,t)});return`[${n.join(", ")}]`}contentForDependency(e,{runtimeTemplate:t,moduleGraph:n,chunkGraph:r,runtimeRequirements:i}){if(typeof e==="string"){return e}if(e.localModule){return e.localModule.variableName()}else{return t.moduleExports({module:n.getModule(e),chunkGraph:r,request:e.request,runtimeRequirements:i})}}};e.exports=AMDRequireArrayDependency},5734:function(e,t,n){"use strict";const r=n(7481);const{ConcatSource:i,ReplaceSource:s}=n(2991);const o=n(4304);const a=n(3272);const u=n(4391);const c=n(3453);const{UsageState:l}=n(5412);const f=n(6150);const d=n(8159);const p=n(7737);const h=n(4290);const m=n(5037);const g=n(4576);const y=n(4696);const v=n(7359);const b=n(9707);const w=n(2230);const E=n(5891);const _=n(9197).contextify;const S=n(8038);const k=["__WEBPACK_MODULE_DEFAULT_EXPORT__","abstract,arguments,async,await,boolean,break,byte,case,catch,char,class,const,continue","debugger,default,delete,do,double,else,enum,eval,export,extends,false,final,finally,float","for,function,goto,if,implements,import,in,instanceof,int,interface,let,long,native,new,null","package,private,protected,public,return,short,static,super,switch,synchronized,this,throw","throws,transient,true,try,typeof,var,void,volatile,while,with,yield","module,__dirname,__filename,exports","Array,Date,eval,function,hasOwnProperty,Infinity,isFinite,isNaN,isPrototypeOf,length,Math","NaN,name,Number,Object,prototype,String,toString,undefined,valueOf","alert,all,anchor,anchors,area,assign,blur,button,checkbox,clearInterval,clearTimeout","clientInformation,close,closed,confirm,constructor,crypto,decodeURI,decodeURIComponent","defaultStatus,document,element,elements,embed,embeds,encodeURI,encodeURIComponent,escape","event,fileUpload,focus,form,forms,frame,innerHeight,innerWidth,layer,layers,link,location","mimeTypes,navigate,navigator,frames,frameRate,hidden,history,image,images,offscreenBuffering","open,opener,option,outerHeight,outerWidth,packages,pageXOffset,pageYOffset,parent,parseFloat","parseInt,password,pkcs11,plugin,prompt,propertyIsEnum,radio,reset,screenX,screenY,scroll","secure,select,self,setInterval,setTimeout,status,submit,taint,text,textarea,top,unescape","untaint,window","onblur,onclick,onerror,onfocus,onkeydown,onkeypress,onkeyup,onmouseover,onload,onmouseup,onmousedown,onsubmit"].join(",").split(",");const C=(e,t)=>{if(e.length!==t.length)return false;for(let n=0;n{if(!t.hasNamespaceObject){t.hasNamespaceObject=true;const s=t.exportMap.get(true);const o=[`var ${s} = {};`,`${f.makeNamespaceObject}(${s});`];const a=e.getExportsInfo(t.module);for(const u of a.orderedExports){const a=x(e,t,[u.name],n,r,false,i);o.push(`${f.definePropertyGetter}(${s}, ${JSON.stringify(u.getUsedName())}, function() { return ${a}; });`)}t.namespaceObjectSource=o.join("\n")+"\n"}};const A=(e,t,n,r,i,s)=>{const o=r.length===0||t.getUsedName(e,r);if(!o)return"/* unused reexport */undefined";const a=C(o,r)?"":d.toNormalComment(`${r.join(".")}`);let u;if(r.length===0){switch(t.buildMeta.exportsType){case"named":n.interopNamespaceObjectUsed=true;u=n.interopNamespaceObjectName;break;case"namespace":u=n.name;break;default:if(s){n.interopNamespaceObjectUsed=true;u=n.interopNamespaceObjectName;break}else{u=n.name;break}}}else{switch(t.buildMeta.exportsType){case"named":if(r[0]==="default"){u=n.name}break;default:if(s){if(r[0]==="default"){u=n.name}else{u="/* non-default import from non-esm module */undefined"}}else{if(r[0]==="default"){n.interopDefaultAccessUsed=true;u=i?`${n.interopDefaultAccessName}()`:`${n.interopDefaultAccessName}.a`}}break}}if(u){return`${u}${S(r,1)}`}const c=`${n.name}${a}${S(o)}`;return i?`Object(${c})`:c};const x=(e,t,n,r,i,s,o,a=new Set)=>{switch(t.type){case"concatenated":{if(n.length===0){D(e,t,r,i,o);return t.internalNames.get(t.exportMap.get(true))}const u=n[0];const c=t.exportMap.get(u);const f=e.getExportsInfo(t.module);if(c){if(f.isExportUsed(n)===l.Unused){return`/* unused export */ undefined${S(n,1)}`}const e=t.internalNames.get(c);if(!e){throw new Error(`The export "${c}" in "${t.module.readableIdentifier(i)}" has no internal name`)}return`${e}${S(n,1)}`}const p=t.reexportMap.get(u);if(p){if(a.has(p)){throw new Error(`Circular reexports ${Array.from(a,e=>`"${e.module.readableIdentifier(i)}".${e.exportName.join(".")}`).join(" --\x3e ")} -(circular)-> "${p.module.readableIdentifier(i)}".${p.exportName.join(".")}`)}a.add(p);const t=r.get(p.module);if(t){return x(e,t,[...p.exportName,...n.slice(1)],r,i,s,o,a)}}const h=`Cannot get final name for export "${n}" in "${t.module.readableIdentifier(i)}"`+` (known exports: ${Array.from(t.exportMap.keys()).filter(e=>e!==true).join(" ")}, `+`known reexports: ${Array.from(t.reexportMap.keys()).join(" ")})`;return`${d.toNormalComment(h)} undefined${S(n,1)}`}case"external":{const r=t.module;return A(e,r,t,n,s,o)}}};const M=(e,t,n)=>{let r=e;while(r){if(n.has(r))break;n.add(r);for(const e of r.variables){t.add(e.name)}r=r.upper}};const T=(e,t,n,r)=>{let i=e;while(i){if(n.has(i))break;if(r.has(i))break;n.add(i);for(const e of i.variables){t.add(e.name)}i=i.upper}};const O=e=>{let t=e.references;const n=new Set(e.identifiers);for(const r of e.scope.childScopes){for(const e of r.variables){if(e.identifiers.some(e=>n.has(e))){t=t.concat(e.references);break}}}return t};const F=(e,t)=>{if(e===t){return[]}const n=t.range;const r=e=>{if(!e)return undefined;const r=e.range;if(r){if(r[0]<=n[0]&&r[1]>=n[1]){const n=F(e,t);if(n){n.push(e);return n}}}return undefined};var i;if(Array.isArray(e)){for(i=0;i{const t=new Map;for(const n of e){t.set(n.module,n)}return t};class ConcatenatedModule extends c{constructor(e,t,n){super("javascript/esm",null);this.rootModule=e;this.factoryMeta=e.factoryMeta;const r=Array.from(t);this.buildInfo={strict:true,cacheable:r.every(e=>e.buildInfo.cacheable),moduleArgument:e.buildInfo.moduleArgument,exportsArgument:e.buildInfo.exportsArgument,fileDependencies:new Set,contextDependencies:new Set,assets:undefined};this.buildMeta=e.buildMeta;this._numberOfConcatenatedModules=t.size;this.dependencies=[];this.warnings=[];this.errors=[];this._orderedConcatenationList=ConcatenatedModule._createConcatenationList(e,t,n);for(const e of this._orderedConcatenationList){if(e.type==="concatenated"){const r=e.module;for(const e of r.dependencies.filter(e=>!(e instanceof v)||!t.has(n.moduleGraph.getModule(e)))){this.dependencies.push(e)}if(r.buildInfo.fileDependencies){for(const e of r.buildInfo.fileDependencies){this.buildInfo.fileDependencies.add(e)}}if(r.buildInfo.contextDependencies){for(const e of r.buildInfo.contextDependencies){this.buildInfo.contextDependencies.add(e)}}for(const e of r.warnings){this.warnings.push(e)}for(const e of r.errors){this.errors.push(e)}if(r.buildInfo.assets){if(this.buildInfo.assets===undefined){this.buildInfo.assets=Object.create(null)}Object.assign(this.buildInfo.assets,r.buildInfo.assets)}}}this._identifier=this._createIdentifier(n.compiler.root)}get modules(){return this._orderedConcatenationList.filter(e=>e.type==="concatenated").map(e=>e.module)}identifier(){return this._identifier}readableIdentifier(e){return this.rootModule.readableIdentifier(e)+` + ${this._numberOfConcatenatedModules-1} modules`}libIdent(e){return this.rootModule.libIdent(e)}nameForCondition(){return this.rootModule.nameForCondition()}build(e,t,n,r,i){throw new Error("Cannot build this module. It should be already built.")}size(e){return this._orderedConcatenationList.reduce((t,n)=>{switch(n.type){case"concatenated":return t+n.module.size(e);case"external":return t+5}return t},0)}static _createConcatenationList(e,t,n){const r=[];const i=new Set;const s=e=>{const t=e.dependencies.filter(e=>e instanceof v).map(e=>n.getDependencyReference(e)).filter(e=>e!==null);p.sort(t);return t.map(e=>{return()=>e.module})};const o=e=>{const n=e();if(!n)return;if(i.has(n))return;i.add(n);if(t.has(n)){const e=s(n);e.forEach(o);r.push({type:"concatenated",module:n})}else{r.push({type:"external",get module(){return e()}})}};o(()=>e);return r}_createIdentifier(e){let t="";for(let n=0;n=n.identifier.range[1]){for(const t of e.variables){c.add(t.name)}}}M(n.from,c,d)}else{c.add(e)}}}}}for(const e of o){switch(e.type){case"concatenated":{const t=this.findNewName("namespaceObject",c,null,e.module.readableIdentifier(s));c.add(t);e.internalNames.set(t,t);e.exportMap.set(true,t);for(const t of e.moduleScope.variables){const n=t.name;if(c.has(n)){const r=O(t);const i=new Set;const o=new Set;for(const e of r){T(e.from,i,o,d)}const a=this.findNewName(n,c,i,e.module.readableIdentifier(s));c.add(a);e.internalNames.set(n,a);const u=e.source;const l=new Set(r.map(e=>e.identifier).concat(t.identifiers));for(const t of l){const n=t.range;const r=F(e.ast,t);if(r&&r.length>1&&r[1].type==="Property"&&r[1].shorthand){u.insert(n[1],`: ${a}`)}else{u.replace(n[0],n[1]-1,a)}}}else{c.add(n);e.internalNames.set(n,n)}}break}case"external":{const t=this.findNewName("",c,null,e.module.readableIdentifier(s));c.add(t);e.name=t;if(e.module.buildMeta.exportsType==="named"||!e.module.buildMeta.exportsType){const t=this.findNewName("namespaceObject",c,null,e.module.readableIdentifier(s));c.add(t);e.interopNamespaceObjectName=t}if(!e.module.buildMeta.exportsType){const t=this.findNewName("default",c,null,e.module.readableIdentifier(s));c.add(t);e.interopDefaultAccessName=t}break}}}for(const e of o){if(e.type==="concatenated"){for(const t of e.globalScope.through){const r=t.identifier.name;const i=/^__WEBPACK_MODULE_REFERENCE__(\d+)_([\da-f]+|ns)(_call)?(_strict)?__$/.exec(r);if(i){const r=o[+i[1]];let u;if(i[2]==="ns"){u=[]}else{const e=i[2];u=JSON.parse(Buffer.from(e,"hex").toString("utf-8"))}const c=!!i[3];const l=!!i[4];const f=x(n,r,u,a,s,c,l);const d=t.identifier.range;const p=e.source;p.replace(d[0],d[1]-1,f)}}}}const p=new i;if(n.getExportsInfo(this).otherExportsInfo.used!==l.Unused){p.add(t.defineEsModuleFlagStatement({exportsArgument:this.exportsArgument,runtimeRequirements:new Set}))}for(const e of o){if(e.type==="concatenated"&&e.namespaceObjectSource){p.add(e.namespaceObjectSource)}}for(const e of o){switch(e.type){case"concatenated":p.add(`\n// CONCATENATED MODULE: ${e.module.readableIdentifier(s)}\n`);p.add(e.source);break;case"external":p.add(`\n// EXTERNAL MODULE: ${e.module.readableIdentifier(s)}\n`);p.add(`var ${e.name} = __webpack_require__(${JSON.stringify(r.getModuleId(e.module))});\n`);if(e.interopNamespaceObjectUsed){if(e.module.buildMeta.exportsType==="named"){p.add(`var ${e.interopNamespaceObjectName} = /*#__PURE__*/${f.createFakeNamespaceObject}(${e.name}, 2);\n`)}else if(!e.module.buildMeta.exportsType){p.add(`var ${e.interopNamespaceObjectName} = /*#__PURE__*/${f.createFakeNamespaceObject}(${e.name});\n`)}}if(e.interopDefaultAccessUsed){p.add(`var ${e.interopDefaultAccessName} = /*#__PURE__*/${f.compatGetDefaultExport}(${e.name});\n`)}break;default:throw new Error(`Unsupported concatenation entry type ${e.type}`)}}return p}_analyseModule(e,t,n,i,o){if(e.type==="concatenated"){const a=e.module;const c=a.source({dependencyTemplates:t,runtimeTemplate:n,moduleGraph:i,chunkGraph:o});const l=c.source();let f;try{f=u.parse(l,{sourceType:"module"})}catch(e){if(e.loc&&typeof e.loc==="object"&&typeof e.loc.line==="number"){const t=e.loc.line;const n=l.split("\n");e.message+="\n| "+n.slice(Math.max(0,t-3),t+2).join("\n| ")}throw e}const d=r.analyze(f,{ecmaVersion:6,sourceType:"module",optimistic:true,ignoreEval:true,impliedStrict:true});const p=d.acquire(f);const h=p.childScopes[0];const m=new s(c);e.ast=f;e.internalSource=c;e.source=m;e.globalScope=p;e.moduleScope=h}}_getModulesWithInfo(e){return this._orderedConcatenationList.map((t,n)=>{let r;switch(t.type){case"concatenated":{const i=new Map;const s=new Map;for(const n of t.module.dependencies){if(n instanceof y){if(!i.has(n.name)){i.set(n.name,n.id)}}else if(n instanceof m){if(!i.has("default")){i.set("default","__WEBPACK_MODULE_DEFAULT_EXPORT__")}}else if(n instanceof g){const t=n.name;const r=n.getIds(e);const i=e.getModule(n);if(t){if(!s.has(t)){s.set(t,{module:i,exportName:r,dependency:n})}}else if(i){const t=e.getProvidedExports(i);if(Array.isArray(t)){for(const e of t){if(n.activeExports.has(e)||e==="default"){continue}if(!s.has(e)){s.set(e,{module:i,exportName:[e],dependency:n})}}}}}}r={type:"concatenated",module:t.module,index:n,ast:undefined,internalSource:undefined,source:undefined,globalScope:undefined,moduleScope:undefined,internalNames:new Map,exportMap:i,reexportMap:s,hasNamespaceObject:false,namespaceObjectSource:null};break}case"external":r={type:"external",module:t.module,index:n,name:undefined,interopNamespaceObjectUsed:false,interopNamespaceObjectName:undefined,interopDefaultAccessUsed:false,interopDefaultAccessName:undefined};break;default:throw new Error(`Unsupported concatenation entry type ${t.type}`)}return r})}_getInnerDependencyTemplates(e,t){const n=e.clone();n.set(w,new HarmonyImportSpecifierDependencyConcatenatedTemplate(e.get(w),t));n.set(b,new HarmonyImportSideEffectDependencyConcatenatedTemplate(e.get(b),t));n.set(y,new HarmonyExportSpecifierDependencyConcatenatedTemplate(e.get(y),this.rootModule));n.set(m,new HarmonyExportExpressionDependencyConcatenatedTemplate(e.get(m),this.rootModule));n.set(g,new HarmonyExportImportedSpecifierDependencyConcatenatedTemplate(e.get(g),this.rootModule,t));n.set(h,new HarmonyCompatibilityDependencyConcatenatedTemplate(e.get(h),this.rootModule,t));n.updateHash(this.identifier());return n}findNewName(e,t,n,r){let i=e;if(i==="__WEBPACK_MODULE_DEFAULT_EXPORT__")i="";r=r.replace(/\.+\/|(\/index)?\.([a-zA-Z0-9]{1,4})($|\s|\?)|\s*\+\s*\d+\s*modules/g,"");const s=r.split("/");while(s.length){i=s.pop()+(i?"_"+i:"");const e=d.toIdentifier(i);if(!t.has(e)&&(!n||!n.has(e)))return e}let o=0;let a=d.toIdentifier(`${i}_${o}`);while(t.has(a)||n&&n.has(a)){o++;a=d.toIdentifier(`${i}_${o}`)}return a}getRuntimeRequirements(e){const{dependencyTemplates:t,moduleGraph:n}=e;const r=this._getModulesWithInfo(n);const i=I(r);const s=this._getInnerDependencyTemplates(t,i);const o={...e,dependencyTemplates:s};const a=new Set([f.exports,f.makeNamespaceObject,f.definePropertyGetter]);for(const e of this._orderedConcatenationList){switch(e.type){case"concatenated":{const t=e.module.getRuntimeRequirements(o);if(t){for(const e of t)a.add(e)}break}case"external":{if(!e.module.buildMeta.exportsType||e.module.buildMeta.exportsType==="named"){a.add(f.createFakeNamespaceObject)}a.add(f.compatGetDefaultExport);break}}}return a}updateHash(e,t){for(const n of this._orderedConcatenationList){switch(n.type){case"concatenated":n.module.updateHash(e,t);break;case"external":e.update(`${t.getModuleId(n.module)}`);break}}super.updateHash(e,t)}}class HarmonyImportSpecifierDependencyConcatenatedTemplate extends o{constructor(e,t){super();this.originalTemplate=e;this.modulesMap=t}apply(e,t,n){const{moduleGraph:r,module:i}=n;const s=e;const o=r.getModule(s);const a=this.modulesMap.get(o);if(!a){this.originalTemplate.apply(e,t,n);return}let u;const c=s.call?"_call":"";const l=i.buildMeta.strictHarmonyModule?"_strict":"";const f=s.getIds(r);if(f.length===0){u=`__WEBPACK_MODULE_REFERENCE__${a.index}_ns${l}__`}else if(s.namespaceObjectAsContext&&f.length===1){u=`__WEBPACK_MODULE_REFERENCE__${a.index}_ns${l}__${S(f)}`}else{const e=Buffer.from(JSON.stringify(f),"utf-8").toString("hex");u=`__WEBPACK_MODULE_REFERENCE__${a.index}_${e}${c}${l}__`}if(s.shorthand){u=s.name+": "+u}t.replace(s.range[0],s.range[1]-1,u)}}class HarmonyImportSideEffectDependencyConcatenatedTemplate extends o{constructor(e,t){super();this.originalTemplate=e;this.modulesMap=t}apply(e,t,n){const{moduleGraph:r}=n;const i=e;const s=r.getModule(i);const o=this.modulesMap.get(s);if(!o){this.originalTemplate.apply(e,t,n);return}}}class HarmonyExportSpecifierDependencyConcatenatedTemplate extends o{constructor(e,t){super();this.originalTemplate=e;this.rootModule=t}apply(e,t,n){if(n.module===this.rootModule){this.originalTemplate.apply(e,t,n)}}}class HarmonyExportExpressionDependencyConcatenatedTemplate extends o{constructor(e,t){super();this.originalTemplate=e;this.rootModule=t}apply(e,t,{module:n,moduleGraph:r,initFragments:i}){const s=e;if(n===this.rootModule){const e=n.getUsedName(r,"default");const t=n.exportsArgument;i.push(new a(`/* harmony export export */ `+`${f.definePropertyGetter}(${t}, ${JSON.stringify(e)}, `+`function() { return __WEBPACK_MODULE_DEFAULT_EXPORT__; });\n`,a.STAGE_HARMONY_EXPORTS,1))}const o="/* harmony default export */ var __WEBPACK_MODULE_DEFAULT_EXPORT__ = ";if(s.range){t.replace(s.rangeStatement[0],s.range[0]-1,o+"("+s.prefix);t.replace(s.range[1],s.rangeStatement[1]-1,");");return}t.replace(s.rangeStatement[0],s.rangeStatement[1]-1,o+s.prefix)}}class HarmonyExportImportedSpecifierDependencyConcatenatedTemplate extends o{constructor(e,t,n){super();this.originalTemplate=e;this.rootModule=t;this.modulesMap=n}getExports(e,{moduleGraph:t}){const n=t.getModule(e);const r=e.getIds(t);if(r.length>0){return[{name:e.name,ids:r}]}if(e.name){return[{name:e.name,ids:[]}]}const i=t.getProvidedExports(n);if(Array.isArray(i)){return i.filter(t=>t!=="default"&&!e.activeExports.has(t)).map(e=>{return{name:e,ids:[e]}})}throw new Error("ConcatenatedModule: unknown exports")}apply(e,t,n){const{module:r,moduleGraph:i,initFragments:s}=n;const o=e;const u=i.getModule(o);const c=this.modulesMap.get(u);if(!c){this.originalTemplate.apply(e,t,n);return}else if(r===this.rootModule){const e=this.getExports(o,n);for(const t of e){const e=r.getUsedName(i,t.name);if(!e){s.push(new a(`/* unused concated harmony import ${t.name} */\n`,a.STAGE_HARMONY_EXPORTS,1));continue}let n;const o=r.buildMeta.strictHarmonyModule?"_strict":"";if(t.ids.length===0){n=`__WEBPACK_MODULE_REFERENCE__${c.index}_ns${o}__`}else{const e=Buffer.from(JSON.stringify(t.ids),"utf-8").toString("hex");n=`__WEBPACK_MODULE_REFERENCE__${c.index}_${e}${o}__`}const u=this.rootModule.exportsArgument;const l=`/* concated harmony reexport */ ${f.definePropertyGetter}(`+`${u}, ${JSON.stringify(e)}, `+`function() { return ${n}; });\n`;s.push(new a(l,a.STAGE_HARMONY_EXPORTS,1))}}}}class HarmonyCompatibilityDependencyConcatenatedTemplate extends o{constructor(e,t,n){super();this.originalTemplate=e;this.rootModule=t;this.modulesMap=n}apply(e,t,{runtimeTemplate:n,dependencyTemplates:r,moduleGraph:i}){}}e.exports=ConcatenatedModule},5747:function(e){e.exports=require("fs")},5757:function(e){(function(t,n,r){if(true&&e.exports)e.exports=r();else n[t]=r()})("prr",this,function(){var e=typeof Object.defineProperty=="function"?function(e,t,n){Object.defineProperty(e,t,n);return e}:function(e,t,n){e[t]=n.value;return e},t=function(e,t){var n=typeof t=="object",r=!n&&typeof t=="string",i=function(e){return n?!!t[e]:r?t.indexOf(e[0])>-1:false};return{enumerable:i("enumerable"),configurable:i("configurable"),writable:i("writable"),value:e}},n=function(n,r,i,s){var o;s=t(i,s);if(typeof r=="object"){for(o in r){if(Object.hasOwnProperty.call(r,o)){s.value=r[o];e(n,o,s)}}return n}return e(n,r,s)};return n})},5769:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:true});t.signatures=void 0;function sign(e,t){return[e,t]}var n="u32";var r="i32";var i="i64";var s="f32";var o="f64";var a=function vector(e){var t=[e];t.vector=true;return t};var u={unreachable:sign([],[]),nop:sign([],[]),br:sign([n],[]),br_if:sign([n],[]),br_table:sign(a(n),[]),return:sign([],[]),call:sign([n],[]),call_indirect:sign([n],[])};var c={drop:sign([],[]),select:sign([],[])};var l={get_local:sign([n],[]),set_local:sign([n],[]),tee_local:sign([n],[]),get_global:sign([n],[]),set_global:sign([n],[])};var f={"i32.load":sign([n,n],[r]),"i64.load":sign([n,n],[]),"f32.load":sign([n,n],[]),"f64.load":sign([n,n],[]),"i32.load8_s":sign([n,n],[r]),"i32.load8_u":sign([n,n],[r]),"i32.load16_s":sign([n,n],[r]),"i32.load16_u":sign([n,n],[r]),"i64.load8_s":sign([n,n],[i]),"i64.load8_u":sign([n,n],[i]),"i64.load16_s":sign([n,n],[i]),"i64.load16_u":sign([n,n],[i]),"i64.load32_s":sign([n,n],[i]),"i64.load32_u":sign([n,n],[i]),"i32.store":sign([n,n],[]),"i64.store":sign([n,n],[]),"f32.store":sign([n,n],[]),"f64.store":sign([n,n],[]),"i32.store8":sign([n,n],[]),"i32.store16":sign([n,n],[]),"i64.store8":sign([n,n],[]),"i64.store16":sign([n,n],[]),"i64.store32":sign([n,n],[]),current_memory:sign([],[]),grow_memory:sign([],[])};var d={"i32.const":sign([r],[r]),"i64.const":sign([i],[i]),"f32.const":sign([s],[s]),"f64.const":sign([o],[o]),"i32.eqz":sign([r],[r]),"i32.eq":sign([r,r],[r]),"i32.ne":sign([r,r],[r]),"i32.lt_s":sign([r,r],[r]),"i32.lt_u":sign([r,r],[r]),"i32.gt_s":sign([r,r],[r]),"i32.gt_u":sign([r,r],[r]),"i32.le_s":sign([r,r],[r]),"i32.le_u":sign([r,r],[r]),"i32.ge_s":sign([r,r],[r]),"i32.ge_u":sign([r,r],[r]),"i64.eqz":sign([i],[i]),"i64.eq":sign([i,i],[r]),"i64.ne":sign([i,i],[r]),"i64.lt_s":sign([i,i],[r]),"i64.lt_u":sign([i,i],[r]),"i64.gt_s":sign([i,i],[r]),"i64.gt_u":sign([i,i],[r]),"i64.le_s":sign([i,i],[r]),"i64.le_u":sign([i,i],[r]),"i64.ge_s":sign([i,i],[r]),"i64.ge_u":sign([i,i],[r]),"f32.eq":sign([s,s],[r]),"f32.ne":sign([s,s],[r]),"f32.lt":sign([s,s],[r]),"f32.gt":sign([s,s],[r]),"f32.le":sign([s,s],[r]),"f32.ge":sign([s,s],[r]),"f64.eq":sign([o,o],[r]),"f64.ne":sign([o,o],[r]),"f64.lt":sign([o,o],[r]),"f64.gt":sign([o,o],[r]),"f64.le":sign([o,o],[r]),"f64.ge":sign([o,o],[r]),"i32.clz":sign([r],[r]),"i32.ctz":sign([r],[r]),"i32.popcnt":sign([r],[r]),"i32.add":sign([r,r],[r]),"i32.sub":sign([r,r],[r]),"i32.mul":sign([r,r],[r]),"i32.div_s":sign([r,r],[r]),"i32.div_u":sign([r,r],[r]),"i32.rem_s":sign([r,r],[r]),"i32.rem_u":sign([r,r],[r]),"i32.and":sign([r,r],[r]),"i32.or":sign([r,r],[r]),"i32.xor":sign([r,r],[r]),"i32.shl":sign([r,r],[r]),"i32.shr_s":sign([r,r],[r]),"i32.shr_u":sign([r,r],[r]),"i32.rotl":sign([r,r],[r]),"i32.rotr":sign([r,r],[r]),"i64.clz":sign([i],[i]),"i64.ctz":sign([i],[i]),"i64.popcnt":sign([i],[i]),"i64.add":sign([i,i],[i]),"i64.sub":sign([i,i],[i]),"i64.mul":sign([i,i],[i]),"i64.div_s":sign([i,i],[i]),"i64.div_u":sign([i,i],[i]),"i64.rem_s":sign([i,i],[i]),"i64.rem_u":sign([i,i],[i]),"i64.and":sign([i,i],[i]),"i64.or":sign([i,i],[i]),"i64.xor":sign([i,i],[i]),"i64.shl":sign([i,i],[i]),"i64.shr_s":sign([i,i],[i]),"i64.shr_u":sign([i,i],[i]),"i64.rotl":sign([i,i],[i]),"i64.rotr":sign([i,i],[i]),"f32.abs":sign([s],[s]),"f32.neg":sign([s],[s]),"f32.ceil":sign([s],[s]),"f32.floor":sign([s],[s]),"f32.trunc":sign([s],[s]),"f32.nearest":sign([s],[s]),"f32.sqrt":sign([s],[s]),"f32.add":sign([s,s],[s]),"f32.sub":sign([s,s],[s]),"f32.mul":sign([s,s],[s]),"f32.div":sign([s,s],[s]),"f32.min":sign([s,s],[s]),"f32.max":sign([s,s],[s]),"f32.copysign":sign([s,s],[s]),"f64.abs":sign([o],[o]),"f64.neg":sign([o],[o]),"f64.ceil":sign([o],[o]),"f64.floor":sign([o],[o]),"f64.trunc":sign([o],[o]),"f64.nearest":sign([o],[o]),"f64.sqrt":sign([o],[o]),"f64.add":sign([o,o],[o]),"f64.sub":sign([o,o],[o]),"f64.mul":sign([o,o],[o]),"f64.div":sign([o,o],[o]),"f64.min":sign([o,o],[o]),"f64.max":sign([o,o],[o]),"f64.copysign":sign([o,o],[o]),"i32.wrap/i64":sign([i],[r]),"i32.trunc_s/f32":sign([s],[r]),"i32.trunc_u/f32":sign([s],[r]),"i32.trunc_s/f64":sign([s],[r]),"i32.trunc_u/f64":sign([o],[r]),"i64.extend_s/i32":sign([r],[i]),"i64.extend_u/i32":sign([r],[i]),"i64.trunc_s/f32":sign([s],[i]),"i64.trunc_u/f32":sign([s],[i]),"i64.trunc_s/f64":sign([o],[i]),"i64.trunc_u/f64":sign([o],[i]),"f32.convert_s/i32":sign([r],[s]),"f32.convert_u/i32":sign([r],[s]),"f32.convert_s/i64":sign([i],[s]),"f32.convert_u/i64":sign([i],[s]),"f32.demote/f64":sign([o],[s]),"f64.convert_s/i32":sign([r],[o]),"f64.convert_u/i32":sign([r],[o]),"f64.convert_s/i64":sign([i],[o]),"f64.convert_u/i64":sign([i],[o]),"f64.promote/f32":sign([s],[o]),"i32.reinterpret/f32":sign([s],[r]),"i64.reinterpret/f64":sign([o],[i]),"f32.reinterpret/i32":sign([r],[s]),"f64.reinterpret/i64":sign([i],[o])};var p=Object.assign({},u,c,l,f,d);t.signatures=p},5787:function(e,t,n){"use strict";const{formatSize:r}=n(9192);const i=n(1627);e.exports=class AssetsOverSizeLimitWarning extends i{constructor(e,t){const n=e.map(e=>`\n ${e.name} (${r(e.size)})`).join("");super(`asset size limit: The following asset(s) exceed the recommended size limit (${r(t)}).\nThis can impact web performance.\nAssets: ${n}`);this.name="AssetsOverSizeLimitWarning";this.assets=e;Error.captureStackTrace(this,this.constructor)}}},5791:function(e,t,n){e.exports=n(1669).deprecate},5808:function(e,t,n){var r=n(5747);var i=n(2444);var s=n(4073);var o=n(858);var a=n(1669);var u;var c;if(typeof Symbol==="function"&&typeof Symbol.for==="function"){u=Symbol.for("graceful-fs.queue");c=Symbol.for("graceful-fs.previous")}else{u="___graceful-fs.queue";c="___graceful-fs.previous"}function noop(){}var l=noop;if(a.debuglog)l=a.debuglog("gfs4");else if(/\bgfs4\b/i.test(process.env.NODE_DEBUG||""))l=function(){var e=a.format.apply(a,arguments);e="GFS4: "+e.split(/\n/).join("\nGFS4: ");console.error(e)};if(!global[u]){var f=[];Object.defineProperty(global,u,{get:function(){return f}});r.close=function(e){function close(t,n){return e.call(r,t,function(e){if(!e){retry()}if(typeof n==="function")n.apply(this,arguments)})}Object.defineProperty(close,c,{value:e});return close}(r.close);r.closeSync=function(e){function closeSync(t){e.apply(r,arguments);retry()}Object.defineProperty(closeSync,c,{value:e});return closeSync}(r.closeSync);if(/\bgfs4\b/i.test(process.env.NODE_DEBUG||"")){process.on("exit",function(){l(global[u]);n(2357).equal(global[u].length,0)})}}e.exports=patch(o(r));if(process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH&&!r.__patched){e.exports=patch(r);r.__patched=true}function patch(e){i(e);e.gracefulify=patch;e.createReadStream=createReadStream;e.createWriteStream=createWriteStream;var t=e.readFile;e.readFile=readFile;function readFile(e,n,r){if(typeof n==="function")r=n,n=null;return go$readFile(e,n,r);function go$readFile(e,n,r){return t(e,n,function(t){if(t&&(t.code==="EMFILE"||t.code==="ENFILE"))enqueue([go$readFile,[e,n,r]]);else{if(typeof r==="function")r.apply(this,arguments);retry()}})}}var n=e.writeFile;e.writeFile=writeFile;function writeFile(e,t,r,i){if(typeof r==="function")i=r,r=null;return go$writeFile(e,t,r,i);function go$writeFile(e,t,r,i){return n(e,t,r,function(n){if(n&&(n.code==="EMFILE"||n.code==="ENFILE"))enqueue([go$writeFile,[e,t,r,i]]);else{if(typeof i==="function")i.apply(this,arguments);retry()}})}}var r=e.appendFile;if(r)e.appendFile=appendFile;function appendFile(e,t,n,i){if(typeof n==="function")i=n,n=null;return go$appendFile(e,t,n,i);function go$appendFile(e,t,n,i){return r(e,t,n,function(r){if(r&&(r.code==="EMFILE"||r.code==="ENFILE"))enqueue([go$appendFile,[e,t,n,i]]);else{if(typeof i==="function")i.apply(this,arguments);retry()}})}}var o=e.readdir;e.readdir=readdir;function readdir(e,t,n){var r=[e];if(typeof t!=="function"){r.push(t)}else{n=t}r.push(go$readdir$cb);return go$readdir(r);function go$readdir$cb(e,t){if(t&&t.sort)t.sort();if(e&&(e.code==="EMFILE"||e.code==="ENFILE"))enqueue([go$readdir,[r]]);else{if(typeof n==="function")n.apply(this,arguments);retry()}}}function go$readdir(t){return o.apply(e,t)}if(process.version.substr(0,4)==="v0.8"){var a=s(e);ReadStream=a.ReadStream;WriteStream=a.WriteStream}var u=e.ReadStream;if(u){ReadStream.prototype=Object.create(u.prototype);ReadStream.prototype.open=ReadStream$open}var c=e.WriteStream;if(c){WriteStream.prototype=Object.create(c.prototype);WriteStream.prototype.open=WriteStream$open}Object.defineProperty(e,"ReadStream",{get:function(){return ReadStream},set:function(e){ReadStream=e},enumerable:true,configurable:true});Object.defineProperty(e,"WriteStream",{get:function(){return WriteStream},set:function(e){WriteStream=e},enumerable:true,configurable:true});var l=ReadStream;Object.defineProperty(e,"FileReadStream",{get:function(){return l},set:function(e){l=e},enumerable:true,configurable:true});var f=WriteStream;Object.defineProperty(e,"FileWriteStream",{get:function(){return f},set:function(e){f=e},enumerable:true,configurable:true});function ReadStream(e,t){if(this instanceof ReadStream)return u.apply(this,arguments),this;else return ReadStream.apply(Object.create(ReadStream.prototype),arguments)}function ReadStream$open(){var e=this;open(e.path,e.flags,e.mode,function(t,n){if(t){if(e.autoClose)e.destroy();e.emit("error",t)}else{e.fd=n;e.emit("open",n);e.read()}})}function WriteStream(e,t){if(this instanceof WriteStream)return c.apply(this,arguments),this;else return WriteStream.apply(Object.create(WriteStream.prototype),arguments)}function WriteStream$open(){var e=this;open(e.path,e.flags,e.mode,function(t,n){if(t){e.destroy();e.emit("error",t)}else{e.fd=n;e.emit("open",n)}})}function createReadStream(t,n){return new e.ReadStream(t,n)}function createWriteStream(t,n){return new e.WriteStream(t,n)}var d=e.open;e.open=open;function open(e,t,n,r){if(typeof n==="function")r=n,n=null;return go$open(e,t,n,r);function go$open(e,t,n,r){return d(e,t,n,function(i,s){if(i&&(i.code==="EMFILE"||i.code==="ENFILE"))enqueue([go$open,[e,t,n,r]]);else{if(typeof r==="function")r.apply(this,arguments);retry()}})}}return e}function enqueue(e){l("ENQUEUE",e[0].name,e[1]);global[u].push(e)}function retry(){var e=global[u].shift();if(e){l("RETRY",e[0].name,e[1]);e[0].apply(null,e[1])}}},5810:function(e,t,n){"use strict";const r=n(7332);const i=n(1165);class AsyncSeriesLoopHookCodeFactory extends i{content({onError:e,onDone:t}){return this.callTapsLooping({onError:(t,n,r,i)=>e(n)+i(true),onDone:t})}}const s=new AsyncSeriesLoopHookCodeFactory;class AsyncSeriesLoopHook extends r{compile(e){s.setup(this,e);return s.create(e)}}Object.defineProperties(AsyncSeriesLoopHook.prototype,{_call:{value:undefined,configurable:true,writable:true}});e.exports=AsyncSeriesLoopHook},5829:function(e){"use strict";e.exports=function defFunc(e){defFunc.definition={type:"string",inline:function(e,t,n){return getRegExp()+".test(data"+(e.dataLevel||"")+")";function getRegExp(){try{if(typeof n=="object")return new RegExp(n.pattern,n.flags);var e=n.match(/^\/(.*)\/([gimy]*)$/);if(e)return new RegExp(e[1],e[2]);throw new Error("cannot parse string into RegExp")}catch(e){console.error("regular expression",n,"is invalid");throw e}}},metaSchema:{type:["string","object"],properties:{pattern:{type:"string"},flags:{type:"string"}},required:["pattern"],additionalProperties:false}};e.addKeyword("regexp",defFunc.definition);return e}},5853:function(e,t,n){"use strict";e=n.nmd(e);const r=n(538);const i=n(9940);const{compareModulesByPreOrderIndexOrIdentifier:s}=n(8673);const o=n(5891);const{getUsedModuleIds:a,getFullModuleName:u}=n(328);class HashedModuleIdsPlugin{constructor(e={}){r(i,e||{},"Hashed Module Ids Plugin");this.options={context:null,hashFunction:"md4",hashDigest:"base64",hashDigestLength:4,...e}}apply(t){const n=this.options;t.hooks.compilation.tap("HashedModuleIdsPlugin",r=>{r.hooks.moduleIds.tap("HashedModuleIdsPlugin",i=>{const c=r.chunkGraph;const l=this.options.context?this.options.context:t.context;const f=a(r);const d=Array.from(i).filter(t=>{if(c.getNumberOfModuleChunks(t)===0)return false;return c.getModuleId(e)===null}).sort(s(r.moduleGraph));for(const e of d){const r=u(e,l,t.root);const i=o(n.hashFunction);i.update(r||"");const s=i.digest(n.hashDigest);let a=n.hashDigestLength;while(f.has(s.substr(0,a)))a++;const d=s.substr(0,a);c.setModuleId(e,d);f.add(d)}})})}}e.exports=HashedModuleIdsPlugin},5866:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:true});t.LinkError=t.CompileError=t.RuntimeError=void 0;function _typeof(e){if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(e){return typeof e}}else{_typeof=function _typeof(e){return e&&typeof Symbol==="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e}}return _typeof(e)}function _classCallCheck(e,t){if(!(e instanceof t)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(e,t){if(t&&(_typeof(t)==="object"||typeof t==="function")){return t}if(!e){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}function _inherits(e,t){if(typeof t!=="function"&&t!==null){throw new TypeError("Super expression must either be null or a function")}e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:false,writable:true,configurable:true}});if(t)Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t}var n=function(e){_inherits(RuntimeError,e);function RuntimeError(){_classCallCheck(this,RuntimeError);return _possibleConstructorReturn(this,(RuntimeError.__proto__||Object.getPrototypeOf(RuntimeError)).apply(this,arguments))}return RuntimeError}(Error);t.RuntimeError=n;var r=function(e){_inherits(CompileError,e);function CompileError(){_classCallCheck(this,CompileError);return _possibleConstructorReturn(this,(CompileError.__proto__||Object.getPrototypeOf(CompileError)).apply(this,arguments))}return CompileError}(Error);t.CompileError=r;var i=function(e){_inherits(LinkError,e);function LinkError(){_classCallCheck(this,LinkError);return _possibleConstructorReturn(this,(LinkError.__proto__||Object.getPrototypeOf(LinkError)).apply(this,arguments))}return LinkError}(Error);t.LinkError=i},5882:function(e){"use strict";e.exports=function(e,t){var n=e.reduce;var r=e.all;function promiseAllThis(){return r(this)}function PromiseMapSeries(e,r){return n(e,r,t,t)}e.prototype.each=function(e){return n(this,e,t,0)._then(promiseAllThis,undefined,undefined,this,undefined)};e.prototype.mapSeries=function(e){return n(this,e,t,t)};e.each=function(e,r){return n(e,r,t,0)._then(promiseAllThis,undefined,undefined,e,undefined)};e.mapSeries=PromiseMapSeries}},5891:function(e,t,n){"use strict";const r=1e3;class BulkUpdateDecorator{constructor(e){this.hash=e;this.buffer=""}update(e,t){if(t!==undefined||typeof e!=="string"||e.length>r){if(this.buffer.length>0){this.hash.update(this.buffer);this.buffer=""}this.hash.update(e,t)}else{this.buffer+=e;if(this.buffer.length>r){this.hash.update(this.buffer);this.buffer=""}}return this}digest(e){if(this.buffer.length>0){this.hash.update(this.buffer)}var t=this.hash.digest(e);return typeof t==="string"?t:t.toString()}}class DebugHash{constructor(){this.string=""}update(e,t){if(typeof e!=="string")e=e.toString("utf-8");if(e.startsWith("debug-digest-")){e=Buffer.from(e.slice("debug-digest-".length),"hex").toString()}this.string+=`[${e}](${(new Error).stack.split("\n",3)[2]})\n`;return this}digest(e){return"debug-digest-"+Buffer.from(this.string).toString("hex")}}let i=undefined;e.exports=(e=>{if(typeof e==="function"){return new BulkUpdateDecorator(new e)}switch(e){case"debug":return new DebugHash;default:if(i===undefined)i=n(6417);return new BulkUpdateDecorator(i.createHash(e))}})},5925:function(e,t,n){"use strict";const{ConcatSource:r}=n(2991);const i=n(2352);const s=n(151);const o=n(4391);const a=n(8159);const{compareModulesByIdOrIdentifier:u}=n(8673);const c=n(5891);const l=(e,t)=>{if(t.getNumberOfEntryModules(e)>0)return true;for(const n of t.getChunkModulesIterable(e)){if(n.getSourceTypes().has("javascript")){return true}}return false};class JavascriptModulesPlugin{apply(e){e.hooks.compilation.tap("JavascriptModulesPlugin",(e,{normalModuleFactory:t})=>{const n=e.moduleGraph;t.hooks.createParser.for("javascript/auto").tap("JavascriptModulesPlugin",e=>{return new o(e,"auto")});t.hooks.createParser.for("javascript/dynamic").tap("JavascriptModulesPlugin",e=>{return new o(e,"script")});t.hooks.createParser.for("javascript/esm").tap("JavascriptModulesPlugin",e=>{return new o(e,"module")});t.hooks.createGenerator.for("javascript/auto").tap("JavascriptModulesPlugin",()=>{return new s});t.hooks.createGenerator.for("javascript/dynamic").tap("JavascriptModulesPlugin",()=>{return new s});t.hooks.createGenerator.for("javascript/esm").tap("JavascriptModulesPlugin",()=>{return new s});e.mainTemplate.hooks.renderManifest.tap("JavascriptModulesPlugin",(t,n)=>{const r=n.chunk;const i=n.hash;const s=n.outputOptions;const o=n.moduleTemplates;const a=n.dependencyTemplates;const u=r.filenameTemplate||s.filename;t.push({render:()=>e.mainTemplate.render(o.javascript,{hash:i,chunk:r,dependencyTemplates:a,runtimeTemplate:n.runtimeTemplate,moduleGraph:n.moduleGraph,chunkGraph:n.chunkGraph}),filenameTemplate:u,pathOptions:{chunk:r,contentHashType:"javascript"},identifier:`chunk${r.id}`,hash:r.hash});return t});e.mainTemplate.hooks.modules.tap("JavascriptModulesPlugin",(e,t,n)=>{return a.renderChunkModules(n,e=>e.getSourceTypes().has("javascript"),t,"/******/ ")});e.chunkTemplate.hooks.renderManifest.tap("JavascriptModulesPlugin",(t,r)=>{const s=r.chunk;const o=r.chunkGraph;const a=s instanceof i?s:null;const u=r.outputOptions;const c=r.moduleTemplates;const f=r.dependencyTemplates;if(!a&&!l(s,o)){return t}let d;if(a){d=u.hotUpdateChunkFilename}else if(s.filenameTemplate){d=s.filenameTemplate}else if(s.isOnlyInitial()){d=u.filename}else{d=u.chunkFilename}t.push({render:()=>this.renderJavascript(e,e.chunkTemplate,c.javascript,{chunk:s,dependencyTemplates:f,runtimeTemplate:e.runtimeTemplate,moduleGraph:n,chunkGraph:e.chunkGraph}),filenameTemplate:d,pathOptions:{hash:r.hash,chunk:s,contentHashType:"javascript"},identifier:`chunk${s.id}`,hash:s.hash});return t});e.hooks.contentHash.tap("JavascriptModulesPlugin",t=>{const{chunkGraph:n,moduleGraph:r,runtimeTemplate:s,outputOptions:{hashSalt:o,hashDigest:a,hashDigestLength:l,hashFunction:f}}=e;const d=t instanceof i?t:null;const p=c(f);if(o)p.update(o);const h=t.hasRuntime()?e.mainTemplate:e.chunkTemplate;p.update(`${t.id} `);p.update(t.ids?t.ids.join(","):"");h.updateHashForChunk(p,t,{chunkGraph:n,moduleGraph:r,runtimeTemplate:s});for(const e of n.getOrderedChunkModulesIterable(t,u(n))){if(e.getSourceTypes().has("javascript")){p.update(n.getModuleHash(e))}}if(d){p.update(JSON.stringify(d.removedModules))}t.contentHash.javascript=p.digest(a).substr(0,l)})})}renderJavascript(e,t,n,i){const s=i.chunk;const o=a.renderChunkModules(i,e=>e.getSourceTypes().has("javascript"),n);const u=t.hooks.modules.call(o,n,i);let c=t.hooks.render.call(u,n,i);if(i.chunkGraph.getNumberOfEntryModules(s)>0){c=t.hooks.renderWithEntry.call(c,s)}s.rendered=true;return new r(c,";")}}e.exports=JavascriptModulesPlugin;e.exports.chunkHasJs=l},5943:function(e,t,n){"use strict";const r=n(3881);e.exports=class DescriptionFilePlugin{constructor(e,t,n){this.source=e;this.filenames=[].concat(t);this.target=n}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("DescriptionFilePlugin",(n,i,s)=>{const o=n.path;r.loadDescriptionFile(e,o,this.filenames,i,(r,a)=>{if(r)return s(r);if(!a){if(i.missing){this.filenames.forEach(t=>{i.missing.add(e.join(o,t))})}if(i.log)i.log("No description file found");return s()}const u="."+n.path.substr(a.directory.length).replace(/\\/g,"/");const c=Object.assign({},n,{descriptionFilePath:a.path,descriptionFileData:a.content,descriptionFileRoot:a.directory,relativePath:u});e.doResolve(t,c,"using description file: "+a.path+" (relative path: "+u+")",i,(e,t)=>{if(e)return s(e);if(t===undefined)return s(null,null);s(null,t)})})})}}},5948:function(e,t,n){"use strict";const r=n(6150);const i=n(6804);class GetFullHashRuntimeModule extends i{constructor(e){super("getFullHash");this.compilation=e}generate(){return`${r.getFullHash} = function() { return ${JSON.stringify(this.compilation.hash||"XXXX")}; }`}}e.exports=GetFullHashRuntimeModule},5954:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:true});var r=n(5115);var i=n(2413);function evCommon(){var e=process.hrtime();var t=e[0]*1e6+Math.round(e[1]/1e3);return{ts:t,pid:process.pid,tid:process.pid}}var s=function(e){r.__extends(Tracer,e);function Tracer(t){if(t===void 0){t={}}var n=e.call(this)||this;n.noStream=false;n.events=[];if(typeof t!=="object"){throw new Error("Invalid options passed (must be an object)")}if(t.parent!=null&&typeof t.parent!=="object"){throw new Error("Invalid option (parent) passed (must be an object)")}if(t.fields!=null&&typeof t.fields!=="object"){throw new Error("Invalid option (fields) passed (must be an object)")}if(t.objectMode!=null&&(t.objectMode!==true&&t.objectMode!==false)){throw new Error("Invalid option (objectsMode) passed (must be a boolean)")}n.noStream=t.noStream||false;n.parent=t.parent;if(n.parent){n.fields=Object.assign({},t.parent&&t.parent.fields)}else{n.fields={}}if(t.fields){Object.assign(n.fields,t.fields)}if(!n.fields.cat){n.fields.cat="default"}else if(Array.isArray(n.fields.cat)){n.fields.cat=n.fields.cat.join(",")}if(!n.fields.args){n.fields.args={}}if(n.parent){n._push=n.parent._push.bind(n.parent)}else{n._objectMode=Boolean(t.objectMode);var r={objectMode:n._objectMode};if(n._objectMode){n._push=n.push}else{n._push=n._pushString;r.encoding="utf8"}i.Readable.call(n,r)}return n}Tracer.prototype.flush=function(){if(this.noStream===true){for(var e=0,t=this.events;e{const r=n.getAllAsyncChunks();const i=[];for(const e of r){for(const n of t.getOrderedChunkModulesIterable(e,o(t))){if(n.type.startsWith("webassembly")){i.push(n)}}}return i};const c=(e,t,n,i)=>{const o=e.moduleGraph;const u=new Map;const c=[];const l=a.getUsedDependencies(o,t,n);for(const t of l){const n=t.dependency;const a=o.getModule(n);const l=n.name;const f=a&&a.getUsedName(o,l);const d=n.description;const p=n.onlyDirectImport;const h=t.module;const m=t.name;if(p){const t=`m${u.size}`;u.set(t,e.getModuleId(a));c.push({module:h,name:m,value:`${t}[${JSON.stringify(f)}]`})}else{const t=d.signature.params.map((e,t)=>"p"+t+e.valtype);const n=`${r.moduleCache}[${JSON.stringify(e.getModuleId(a))}]`;const o=`${n}.exports`;const u=`wasmImportedFuncCache${i.length}`;i.push(`var ${u};`);c.push({module:h,name:m,value:s.asString([(a.type.startsWith("webassembly")?`${n} ? ${o}[${JSON.stringify(f)}] : `:"")+`function(${t}) {`,s.indent([`if(${u} === undefined) ${u} = ${o};`,`return ${u}[${JSON.stringify(f)}](${t});`]),"}"])})}}let f;if(n){f=["return {",s.indent([c.map(e=>`${JSON.stringify(e.name)}: ${e.value}`).join(",\n")]),"};"]}else{const e=new Map;for(const t of c){let n=e.get(t.module);if(n===undefined){e.set(t.module,n=[])}n.push(t)}f=["return {",s.indent([Array.from(e,([e,t])=>{return s.asString([`${JSON.stringify(e)}: {`,s.indent([t.map(e=>`${JSON.stringify(e.name)}: ${e.value}`).join(",\n")]),"}"])}).join(",\n")]),"};"]}const d=JSON.stringify(e.getModuleId(t));if(u.size===1){const e=Array.from(u.values())[0];const t=`installedWasmModules[${JSON.stringify(e)}]`;const n=Array.from(u.keys())[0];return s.asString([`${d}: function() {`,s.indent([`return promiseResolve().then(function() { return ${t}; }).then(function(${n}) {`,s.indent(f),"});"]),"},"])}else if(u.size>0){const e=Array.from(u.values(),e=>`installedWasmModules[${JSON.stringify(e)}]`).join(", ");const t=Array.from(u.keys(),(e,t)=>`${e} = array[${t}]`).join(", ");return s.asString([`${d}: function() {`,s.indent([`return promiseResolve().then(function() { return Promise.all([${e}]); }).then(function(array) {`,s.indent([`var ${t};`,...f]),"});"]),"},"])}else{return s.asString([`${d}: function() {`,s.indent(f),"},"])}};class WasmChunkLoadingRuntimeModule extends i{constructor(e,t,{generateLoadBinaryCode:n,supportsStreaming:r,mangleImports:i}){super("wasm chunk loading",10);this.chunk=e;this.compilation=t;this.generateLoadBinaryCode=n;this.supportsStreaming=r;this.mangleImports=i}generate(){const{compilation:e,chunk:t,mangleImports:n}=this;const{chunkGraph:i,moduleGraph:o,mainTemplate:l,outputOptions:f}=e;const d=r.ensureChunkHandlers;const p=u(o,i,t);const h=[];const m=p.map(e=>{return c(i,e,this.mangleImports,h)});const g=this.compilation.chunkGraph.getChunkModuleMaps(t,e=>e.type.startsWith("webassembly"));const y=e=>n?`{ ${JSON.stringify(a.MANGLED_MODULE)}: ${e} }`:e;const v=l.getAssetPath(JSON.stringify(f.webassemblyModuleFilename),{hash:`" + ${r.getFullHash}() + "`,hashWithLength:e=>`" + ${r.getFullHash}}().slice(0, ${e}) + "`,module:{id:'" + wasmModuleId + "',hash:`" + ${JSON.stringify(g.hash)}[wasmModuleId] + "`,hashWithLength(e){const t=Object.create(null);for(const n of Object.keys(g.hash)){if(typeof g.hash[n]==="string"){t[n]=g.hash[n].substr(0,e)}}return`" + ${JSON.stringify(t)}[wasmModuleId] + "`}}});return s.asString(["// object to store loaded and loading wasm modules","var installedWasmModules = {};","","function promiseResolve() { return Promise.resolve(); }","",s.asString(h),"var wasmImportObjects = {",s.indent(m),"};","",`var wasmModuleMap = ${JSON.stringify(g.id,undefined,"\t")};`,"","// object with all WebAssembly.instance exports",`${r.wasmInstances} = {};`,"","// Fetch + compile chunk loading for webassembly",`${d}.wasm = function(chunkId, promises) {`,s.indent(["",`var wasmModules = wasmModuleMap[chunkId] || [];`,"","wasmModules.forEach(function(wasmModuleId) {",s.indent(["var installedWasmModuleData = installedWasmModules[wasmModuleId];","",'// a Promise means "currently loading" or "already loaded".',"if(installedWasmModuleData)",s.indent(["promises.push(installedWasmModuleData);"]),"else {",s.indent([`var importObject = wasmImportObjects[wasmModuleId]();`,`var req = ${this.generateLoadBinaryCode(v)};`,"var promise;",this.supportsStreaming?s.asString(["if(importObject instanceof Promise && typeof WebAssembly.compileStreaming === 'function') {",s.indent(["promise = Promise.all([WebAssembly.compileStreaming(req), importObject]).then(function(items) {",s.indent([`return WebAssembly.instantiate(items[0], ${y("items[1]")});`]),"});"]),"} else if(typeof WebAssembly.instantiateStreaming === 'function') {",s.indent([`promise = WebAssembly.instantiateStreaming(req, ${y("importObject")});`])]):s.asString(["if(importObject instanceof Promise) {",s.indent(["var bytesPromise = req.then(function(x) { return x.arrayBuffer(); });","promise = Promise.all([",s.indent(["bytesPromise.then(function(bytes) { return WebAssembly.compile(bytes); }),","importObject"]),"]).then(function(items) {",s.indent([`return WebAssembly.instantiate(items[0], ${y("items[1]")});`]),"});"])]),"} else {",s.indent(["var bytesPromise = req.then(function(x) { return x.arrayBuffer(); });","promise = bytesPromise.then(function(bytes) {",s.indent([`return WebAssembly.instantiate(bytes, ${y("importObject")});`]),"});"]),"}","promises.push(installedWasmModules[wasmModuleId] = promise.then(function(res) {",s.indent([`return ${r.wasmInstances}[wasmModuleId] = (res.instance || res).exports;`]),"}));"]),"}"]),"});"]),"};"])}}e.exports=WasmChunkLoadingRuntimeModule},5985:function(e,t,n){"use strict";const r=n(5747);const i=n(5622);const s=r.lchown?"lchown":"chown";const o=r.lchownSync?"lchownSync":"chownSync";const a=r.lchown&&!process.version.match(/v1[1-9]+\./)&&!process.version.match(/v10\.[6-9]/);const u=(e,t,n)=>{try{return r[o](e,t,n)}catch(e){if(e.code!=="ENOENT")throw e}};const c=(e,t,n)=>{try{return r.chownSync(e,t,n)}catch(e){if(e.code!=="ENOENT")throw e}};const l=a?(e,t,n,i)=>s=>{if(!s||s.code!=="EISDIR")i(s);else r.chown(e,t,n,i)}:(e,t,n,r)=>r;const f=a?(e,t,n)=>{try{return u(e,t,n)}catch(r){if(r.code!=="EISDIR")throw r;c(e,t,n)}}:(e,t,n)=>u(e,t,n);const d=process.version;let p=(e,t,n)=>r.readdir(e,t,n);let h=(e,t)=>r.readdirSync(e,t);if(/^v4\./.test(d))p=((e,t,n)=>r.readdir(e,n));const m=(e,t,n,i)=>{r[s](e,t,n,l(e,t,n,e=>{i(e&&e.code!=="ENOENT"?e:null)}))};const g=(e,t,n,s,o)=>{if(typeof t==="string")return r.lstat(i.resolve(e,t),(r,i)=>{if(r)return o(r.code!=="ENOENT"?r:null);i.name=t;g(e,i,n,s,o)});if(t.isDirectory()){y(i.resolve(e,t.name),n,s,r=>{if(r)return o(r);const a=i.resolve(e,t.name);m(a,n,s,o)})}else{const r=i.resolve(e,t.name);m(r,n,s,o)}};const y=(e,t,n,r)=>{p(e,{withFileTypes:true},(i,s)=>{if(i){if(i.code==="ENOENT")return r();else if(i.code!=="ENOTDIR"&&i.code!=="ENOTSUP")return r(i)}if(i||!s.length)return m(e,t,n,r);let o=s.length;let a=null;const u=i=>{if(a)return;if(i)return r(a=i);if(--o===0)return m(e,t,n,r)};s.forEach(r=>g(e,r,t,n,u))})};const v=(e,t,n,s)=>{if(typeof t==="string"){try{const n=r.lstatSync(i.resolve(e,t));n.name=t;t=n}catch(e){if(e.code==="ENOENT")return;else throw e}}if(t.isDirectory())b(i.resolve(e,t.name),n,s);f(i.resolve(e,t.name),n,s)};const b=(e,t,n)=>{let r;try{r=h(e,{withFileTypes:true})}catch(r){if(r.code==="ENOENT")return;else if(r.code==="ENOTDIR"||r.code==="ENOTSUP")return f(e,t,n);else throw r}if(r&&r.length)r.forEach(r=>v(e,r,t,n));return f(e,t,n)};e.exports=y;y.sync=b},5986:function(e){"use strict";e.exports=function(e,t){if(!t)t={};if(typeof t==="function")t={cmp:t};var n=typeof t.cycles==="boolean"?t.cycles:false;var r=t.cmp&&function(e){return function(t){return function(n,r){var i={key:n,value:t[n]};var s={key:r,value:t[r]};return e(i,s)}}}(t.cmp);var i=[];return function stringify(e){if(e&&e.toJSON&&typeof e.toJSON==="function"){e=e.toJSON()}if(e===undefined)return;if(typeof e=="number")return isFinite(e)?""+e:"null";if(typeof e!=="object")return JSON.stringify(e);var t,s;if(Array.isArray(e)){s="[";for(t=0;t`${JSON.stringify(e)}: 0`).join(",\n")),"};","",u?o.asString(["// ReadFile + VM.run chunk loading for javascript",`${s}.readFileVm = function(chunkId, promises) {`,f!==false?o.indent(["","var installedChunkData = installedChunks[chunkId];",'if(installedChunkData !== 0) { // 0 means "already installed".',o.indent(['// array of [resolve, reject, promise] means "currently loading"',"if(installedChunkData) {",o.indent(["promises.push(installedChunkData[2]);"]),"} else {",o.indent([f===true?"if(true) { // all chunks have JS":`if(${f("chunkId")}) {`,o.indent(["// load the chunk and return promise to it","var promise = new Promise(function(resolve, reject) {",o.indent(["installedChunkData = installedChunks[chunkId] = [resolve, reject];",`var filename = require('path').join(__dirname, ${i.getChunkScriptFilename}(chunkId));`,"require('fs').readFile(filename, 'utf-8', function(err, content) {",o.indent(["if(err) return reject(err);","var chunk = {};","require('vm').runInThisContext('(function(exports, require, __dirname, __filename) {' + content + '\\n})', filename)"+"(chunk, require, require('path').dirname(filename), filename);","var moreModules = chunk.modules, chunkIds = chunk.ids, runtime = chunk.runtime;","for(var moduleId in moreModules) {",o.indent(["if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {",o.indent([`${i.moduleFactories}[moduleId] = moreModules[moduleId];`]),"}"]),"}",`if(runtime) runtime(__webpack_require__);`,"var callbacks = [];","for(var i = 0; i < chunkIds.length; i++) {",o.indent(["if(installedChunks[chunkIds[i]])",o.indent(["callbacks = callbacks.concat(installedChunks[chunkIds[i]][0]);"]),"installedChunks[chunkIds[i]] = 0;"]),"}","for(i = 0; i < callbacks.length; i++)",o.indent("callbacks[i]();")]),"});"]),"});","promises.push(installedChunkData[2] = promise);"]),"} else installedChunks[chunkId] = 0;","",c?o.asString(["if(currentUpdateChunks && currentUpdateChunks[chunkId]) promises.push(loadUpdateChunk(chunkId));"]):"// no HMR"]),"}"]),"}"]):o.indent(["installedChunks[chunkId] = 0;","",c?o.asString(["if(currentUpdateChunks && currentUpdateChunks[chunkId]) promises.push(loadUpdateChunk(chunkId));"]):"// no HMR"]),"};"]):"// no chunk loading","",c?o.asString(["var currentUpdateChunks;","var currentUpdate;","var currentUpdateRuntime;","function loadUpdateChunk(chunkId, updatedModulesList) {",o.indent(["return new Promise(function(resolve, reject) {",o.indent([`var filename = require('path').join(__dirname, ${i.getChunkUpdateScriptFilename}(chunkId));`,"require('fs').readFile(filename, 'utf-8', function(err, content) {",o.indent(["if(err) return reject(err);","var update = {};","require('vm').runInThisContext('(function(exports, require, __dirname, __filename) {' + content + '\\n})', filename)"+"(update, require, require('path').dirname(filename), filename);","var updatedModules = update.modules;","var runtime = update.runtime;","for(var moduleId in updatedModules) {",o.indent(["if(Object.prototype.hasOwnProperty.call(updatedModules, moduleId)) {",o.indent([`currentUpdate[moduleId] = updatedModules[moduleId];`,"if(updatedModulesList) updatedModulesList.push(moduleId);"]),"}"]),"}","if(runtime) currentUpdateRuntime.push(runtime);","resolve();"]),"});"]),"});"]),"}","",`${i.hmrDownloadUpdateHandlers}.readFileVm = function(chunkIds, removedChunks, removedModules, promises, applyHandlers, updatedModulesList) {`,o.indent(["applyHandlers.push(function(options) {",o.indent(["currentUpdateChunks = undefined;",o.getFunctionContent(n(2215)).replace(/\$options\$/g,"options").replace(/\$updateModuleFactories\$/g,"currentUpdate").replace(/\$updateRuntimeModules\$/g,"currentUpdateRuntime").replace(/\$moduleCache\$/g,i.moduleCache).replace(/\$hmrModuleData\$/g,i.hmrModuleData).replace(/\$moduleFactories\$/g,i.moduleFactories).replace(/\/\/ \$dispose\$/g,o.asString(["removedChunks.forEach(function(chunkId) { delete installedChunks[chunkId]; });"]))]),"});","currentUpdateChunks = {};","currentUpdate = removedModules.reduce(function(obj, key) { obj[key] = false; return obj; }, {});","currentUpdateRuntime = [];","chunkIds.forEach(function(chunkId) {",o.indent(["if(installedChunks[chunkId] !== undefined) {",o.indent(["promises.push(loadUpdateChunk(chunkId, updatedModulesList));"]),"}","currentUpdateChunks[chunkId] = true;"]),"});"]),"};"]):"// no HMR","",l?o.asString([`${i.hmrDownloadManifest} = function() {`,o.indent(["return new Promise(function(resolve, reject) {",o.indent([`var filename = require('path').join(__dirname, ${i.getUpdateManifestFilename}());`,"require('fs').readFile(filename, 'utf-8', function(err, content) {",o.indent(["if(err) {",o.indent(['if(err.code === "ENOENT") return resolve();',"return reject(err);"]),"}","try { resolve(JSON.parse(content)); }","catch(e) { reject(e); }"]),"});"]),"});"]),"}"]):"// no HMR manifest"])}}e.exports=ReadFileChunkLoadingRuntimeModule},6028:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:true});const r=n(7082);var i;(function(e){e[e["INFO"]=1]="INFO";e[e["WARN"]=2]="WARN";e[e["ERROR"]=3]="ERROR"})(i||(i={}));const s=new r.Console(process.stderr);const o=new r.Console(process.stdout);const a=e=>{};const u=e=>e.silent?(e,t)=>{}:(e,t)=>console.log.call(e,t);const c=(e,t)=>n=>t(e.logInfoToStdOut?o:s,n);const l=(e,t,n)=>i[e.logLevel]<=i.INFO?r=>t(e.logInfoToStdOut?o:s,n(r)):a;const f=(e,t,n)=>i[e.logLevel]<=i.ERROR?e=>t(s,n(e)):a;const d=(e,t,n)=>i[e.logLevel]<=i.WARN?e=>t(s,n(e)):a;function makeLogger(e,t){const n=u(e);return{log:c(e,n),logInfo:l(e,n,t.green),logWarning:d(e,n,t.yellow),logError:f(e,n,t.red)}}t.makeLogger=makeLogger},6036:function(e){"use strict";function isArguments(e){return e!=null&&typeof e==="object"&&e.hasOwnProperty("callee")}var t={"*":{label:"any",check:function(){return true}},A:{label:"array",check:function(e){return Array.isArray(e)||isArguments(e)}},S:{label:"string",check:function(e){return typeof e==="string"}},N:{label:"number",check:function(e){return typeof e==="number"}},F:{label:"function",check:function(e){return typeof e==="function"}},O:{label:"object",check:function(e){return typeof e==="object"&&e!=null&&!t.A.check(e)&&!t.E.check(e)}},B:{label:"boolean",check:function(e){return typeof e==="boolean"}},E:{label:"error",check:function(e){return e instanceof Error}},Z:{label:"null",check:function(e){return e==null}}};function addSchema(e,t){var n=t[e.length]=t[e.length]||[];if(n.indexOf(e)===-1)n.push(e)}var n=e.exports=function(e,n){if(arguments.length!==2)throw wrongNumberOfArgs(["SA"],arguments.length);if(!e)throw missingRequiredArg(0,"rawSchemas");if(!n)throw missingRequiredArg(1,"args");if(!t.S.check(e))throw invalidType(0,["string"],e);if(!t.A.check(n))throw invalidType(1,["array"],n);var r=e.split("|");var i={};r.forEach(function(e){for(var n=0;n{const n=e.moduleGraph;e.hooks.moduleIds.tap("OccurrenceModuleIdsPlugin",r=>{const i=e.chunkGraph;const a=Array.from(r).filter(e=>i.getNumberOfModuleChunks(e)>0);const u=new Map;const c=new Map;const l=new Map;const f=new Map;for(const e of a){let t=0;let n=0;for(const r of i.getModuleChunksIterable(e)){if(r.canBeInitial())t++;if(i.isEntryModuleInChunk(e,r))n++}l.set(e,t);f.set(e,n)}const d=(e,t)=>{if(!t.originModule){return e}return e+l.get(t.originModule)};const p=(e,t)=>{if(!t.originModule){return e}const n=t.dependency.getNumberOfIdOccurrences();if(n===0){return e}return e+n*i.getNumberOfModuleChunks(t.originModule)};if(t){for(const e of a){const t=n.getIncomingConnections(e).reduce(d,0)+l.get(e)+f.get(e);u.set(e,t)}}for(const e of r){const t=n.getIncomingConnections(e).reduce(p,0)+i.getNumberOfModuleChunks(e)+f.get(e);c.set(e,t)}const h=s(e.moduleGraph);a.sort((e,n)=>{if(t){const t=u.get(e);const r=u.get(n);if(t>r)return-1;if(ti)return-1;if(r "+D+") { ";var x=l+"["+D+"]";p.schema=C;p.schemaPath=a+"["+D+"]";p.errSchemaPath=u+"/"+D;p.errorPath=e.util.getPathExpr(e.errorPath,D,e.opts.jsonPointers,true);p.dataPathArr[y]=D;var M=e.validate(p);p.baseId=b;if(e.util.varOccurences(M,v)<2){r+=" "+e.util.varReplace(M,v,x)+" "}else{r+=" var "+v+" = "+x+"; "+M+" "}r+=" } ";if(c){r+=" if ("+m+") { ";h+="}"}}}}if(typeof w=="object"&&e.util.schemaHasRules(w,e.RULES.all)){p.schema=w;p.schemaPath=e.schemaPath+".additionalItems";p.errSchemaPath=e.errSchemaPath+"/additionalItems";r+=" "+m+" = true; if ("+l+".length > "+o.length+") { for (var "+g+" = "+o.length+"; "+g+" < "+l+".length; "+g+"++) { ";p.errorPath=e.util.getPathExpr(e.errorPath,g,e.opts.jsonPointers,true);var x=l+"["+g+"]";p.dataPathArr[y]=g;var M=e.validate(p);p.baseId=b;if(e.util.varOccurences(M,v)<2){r+=" "+e.util.varReplace(M,v,x)+" "}else{r+=" var "+v+" = "+x+"; "+M+" "}if(c){r+=" if (!"+m+") break; "}r+=" } } ";if(c){r+=" if ("+m+") { ";h+="}"}}}else if(e.util.schemaHasRules(o,e.RULES.all)){p.schema=o;p.schemaPath=a;p.errSchemaPath=u;r+=" for (var "+g+" = "+0+"; "+g+" < "+l+".length; "+g+"++) { ";p.errorPath=e.util.getPathExpr(e.errorPath,g,e.opts.jsonPointers,true);var x=l+"["+g+"]";p.dataPathArr[y]=g;var M=e.validate(p);p.baseId=b;if(e.util.varOccurences(M,v)<2){r+=" "+e.util.varReplace(M,v,x)+" "}else{r+=" var "+v+" = "+x+"; "+M+" "}if(c){r+=" if (!"+m+") break; "}r+=" }"}if(c){r+=" "+h+" if ("+d+" == errors) {"}r=e.util.cleanUpCode(r);return r}},6067:function(e,t,n){"use strict";const r=n(3556);const i=n(9835);e.exports=class ModulesInHierachicDirectoriesPlugin{constructor(e,t,n){this.source=e;this.directories=[].concat(t);this.target=n}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("ModulesInHierachicDirectoriesPlugin",(n,s,o)=>{const a=e.fileSystem;const u=i(n.path).paths.map(t=>{return this.directories.map(n=>e.join(t,n))}).reduce((e,t)=>{e.push.apply(e,t);return e},[]);r(u,(r,i)=>{a.stat(r,(o,a)=>{if(!o&&a&&a.isDirectory()){const o=Object.assign({},n,{path:r,request:"./"+n.request});const a="looking for modules in "+r;return e.doResolve(t,o,a,s,i)}if(s.log)s.log(r+" doesn't exist or is not a directory");if(s.missing)s.missing.add(r);return i()})},o)})}}},6076:function(e,t,n){"use strict";const r=n(6202);const i=n(2197);class StaticExportsDependency extends i{constructor(e,t){super();this.exports=e;this.canMangle=t}get type(){return"static exports"}getExports(e){if(!this.canMangle&&this.exports!==true){return{exports:this.exports.map(e=>({name:e,canMangle:false})),dependencies:undefined}}else{return{exports:this.exports,dependencies:undefined}}}updateHash(e,t){e.update(JSON.stringify(this.exports));if(this.canMangle)e.update("canMangle");super.updateHash(e,t)}serialize(e){const{write:t}=e;t(this.exports);t(this.canMangle);super.serialize(e)}deserialize(e){const{read:t}=e;this.exports=t();this.canMangle=t();super.deserialize(e)}}r(StaticExportsDependency,"webpack/lib/dependencies/StaticExportsDependency");e.exports=StaticExportsDependency},6081:function(e,t,n){"use strict";const r=n(6298);const i=n(5037);const s=n(8752);const o=n(4576);const a=n(4696);const u=n(9707);e.exports=class HarmonyExportDependencyParserPlugin{constructor(e){const{module:t}=e;this.strictExportPresence=t.strictExportPresence;this.importAwait=e.importAwait}apply(e){e.hooks.export.tap("HarmonyExportDependencyParserPlugin",t=>{const n=new s(t.declaration&&t.declaration.range,t.range);n.loc=Object.create(t.loc);n.loc.index=-1;e.state.current.addDependency(n);return true});e.hooks.exportImport.tap("HarmonyExportDependencyParserPlugin",(t,n)=>{e.state.lastHarmonyImportOrder=(e.state.lastHarmonyImportOrder||0)+1;const i=new r("",t.range);i.loc=Object.create(t.loc);i.loc.index=-1;e.state.current.addDependency(i);const s=new u(n,e.state.lastHarmonyImportOrder);s.await=t.await;s.loc=Object.create(t.loc);s.loc.index=-1;e.state.current.addDependency(s);if(t.await&&!this.importAwait){throw new Error("Used 'export await' but import-await experiment is not enabled (set experiments.importAwait: true to enable it)")}return true});e.hooks.exportExpression.tap("HarmonyExportDependencyParserPlugin",(t,n)=>{const r=e.getComments([t.range[0],n.range[0]]);const s=new i(n.range,t.range,r.map(e=>{switch(e.type){case"Block":return`/*${e.value}*/`;case"Line":return`//${e.value}\n`}return""}).join(""));s.loc=Object.create(t.loc);s.loc.index=-1;e.state.current.addDependency(s);return true});e.hooks.exportDeclaration.tap("HarmonyExportDependencyParserPlugin",e=>{});e.hooks.exportSpecifier.tap("HarmonyExportDependencyParserPlugin",(t,n,r,i)=>{const s=e.scope.renames.get(n);let u;const c=e.state.harmonyNamedExports=e.state.harmonyNamedExports||new Set;c.add(r);if(s==="imported var"){const t=e.state.harmonySpecifier.get(n);u=new o(t.source,t.sourceOrder,t.ids,r,c,null,this.strictExportPresence);u.await=t.await}else{u=new a(n,r)}u.loc=Object.create(t.loc);u.loc.index=i;e.state.current.addDependency(u);return true});e.hooks.exportImportSpecifier.tap("HarmonyExportDependencyParserPlugin",(t,n,r,i,s)=>{const a=e.state.harmonyNamedExports=e.state.harmonyNamedExports||new Set;let u=null;if(i){a.add(i)}else{u=e.state.harmonyStarExports=e.state.harmonyStarExports||[]}const c=new o(n,e.state.lastHarmonyImportOrder,r?[r]:[],i,a,u&&u.slice(),this.strictExportPresence);if(u){u.push(c)}c.await=t.await;c.loc=Object.create(t.loc);c.loc.index=s;e.state.current.addDependency(c);return true})}}},6088:function(e){"use strict";e.exports=function(e,t,n,r){var i=false;var s=function(e,t){this._reject(t)};var o=function(e,t){t.promiseRejectionQueued=true;t.bindingPromise._then(s,s,null,this,e)};var a=function(e,t){if((this._bitField&50397184)===0){this._resolveCallback(t.target)}};var u=function(e,t){if(!t.promiseRejectionQueued)this._reject(e)};e.prototype.bind=function(s){if(!i){i=true;e.prototype._propagateFrom=r.propagateFromFunction();e.prototype._boundValue=r.boundValueFunction()}var c=n(s);var l=new e(t);l._propagateFrom(this,1);var f=this._target();l._setBoundTo(c);if(c instanceof e){var d={promiseRejectionQueued:false,promise:l,target:f,bindingPromise:c};f._then(t,o,undefined,l,d);c._then(a,u,undefined,l,d);l._setOnCancel(c)}else{l._resolveCallback(f)}return l};e.prototype._setBoundTo=function(e){if(e!==undefined){this._bitField=this._bitField|2097152;this._boundTo=e}else{this._bitField=this._bitField&~2097152}};e.prototype._isBound=function(){return(this._bitField&2097152)===2097152};e.bind=function(t,n){return e.resolve(n).bind(t)}}},6100:function(e,t,n){"use strict";const r=n(6150);const i=n(6804);const s=n(8159);class GetMainFilenameRuntimeModule extends i{constructor(e,t,n,r){super(`get ${t} filename`);this.compilation=e;this.global=n;this.filename=r}generate(){const{global:e,filename:t,compilation:n}=this;const i=n.mainTemplate;const o=i.getAssetPath(JSON.stringify(t),{hash:`" + ${r.getFullHash}() + "`,hashWithLength:e=>`" + ${r.getFullHash}().slice(0, ${e}) + "`});return s.asString([`${e} = function() {`,s.indent([`return ${o};`]),"};"])}}e.exports=GetMainFilenameRuntimeModule},6102:function(e){"use strict";const t=Symbol("not sorted");class SortableSet extends Set{constructor(e,n){super(e);this._sortFn=n;this._lastActiveSortFn=t;this._cache=undefined;this._cacheOrderIndependent=undefined}add(e){this._lastActiveSortFn=t;this._invalidateCache();this._invalidateOrderedCache();super.add(e);return this}delete(e){this._invalidateCache();this._invalidateOrderedCache();return super.delete(e)}clear(){this._invalidateCache();this._invalidateOrderedCache();return super.clear()}sortWith(e){if(this.size<=1||e===this._lastActiveSortFn){return}const t=Array.from(this).sort(e);super.clear();for(let e=0;e{if(e.type==="FunctionExpression"||e.type==="ArrowFunctionExpression"){return{fn:e,expressions:[],needThis:false}}if(e.type==="CallExpression"&&e.callee.type==="MemberExpression"&&e.callee.object.type==="FunctionExpression"&&e.callee.property.type==="Identifier"&&e.callee.property.name==="bind"&&e.arguments.length===1){return{fn:e.callee.object,expressions:[e.arguments[0]],needThis:undefined}}if(e.type==="CallExpression"&&e.callee.type==="FunctionExpression"&&e.callee.body.type==="BlockStatement"&&e.arguments.length===1&&e.arguments[0].type==="ThisExpression"&&e.callee.body.body&&e.callee.body.body.length===1&&e.callee.body.body[0].type==="ReturnStatement"&&e.callee.body.body[0].argument&&e.callee.body.body[0].argument.type==="FunctionExpression"){return{fn:e.callee.body.body[0].argument,expressions:[],needThis:true}}})},6150:function(e,t){"use strict";t.require="__webpack_require__";t.exports="__webpack_exports__";t.module="module";t.publicPath="__webpack_require__.p";t.entryModuleId="__webpack_require__.s";t.moduleCache="__webpack_require__.c";t.moduleFactories="__webpack_require__.m";t.ensureChunk="__webpack_require__.e";t.ensureChunkHandlers="__webpack_require__.f";t.ensureChunkIncludeEntries="__webpack_require__.f (include entries)";t.definePropertyGetter="__webpack_require__.d";t.makeNamespaceObject="__webpack_require__.r";t.createFakeNamespaceObject="__webpack_require__.t";t.compatGetDefaultExport="__webpack_require__.n";t.harmonyModuleDecorator="__webpack_require__.hmd";t.nodeModuleDecorator="__webpack_require__.nmd";t.getFullHash="__webpack_require__.h";t.wasmInstances="__webpack_require__.w";t.instantiateWasm="__webpack_require__.v";t.uncaughtErrorHandler="__webpack_require__.oe";t.scriptNonce="__webpack_require__.nc";t.chunkName="__webpack_require__.cn";t.getChunkScriptFilename="__webpack_require__.u";t.getChunkUpdateScriptFilename="__webpack_require__.hu";t.startup="__webpack_require__.x";t.startupNoDefault="__webpack_require__.x (no default handler)";t.interceptModuleExecution="__webpack_require__.i";t.global="__webpack_require__.g";t.getUpdateManifestFilename="__webpack_require__.hmrF";t.hmrDownloadManifest="__webpack_require__.hmrM";t.hmrDownloadUpdateHandlers="__webpack_require__.hmrC";t.hmrModuleData="__webpack_require__.hmrD";t.amdDefine="__webpack_require__.amdD";t.amdOptions="__webpack_require__.amdO";t.system="__webpack_require__.System"},6155:function(e){(function(){var t,n,r,i,s,o=[].slice;n=function(e,t){return function(){var n,r;r=arguments[0],n=2<=arguments.length?o.call(arguments,1):[];if(r!=null){return e(r)}else{return typeof t==="function"?t.apply(null,n):void 0}}};s=function(e,t){return n(e,function(){var n,r;n=1<=arguments.length?o.call(arguments,0):[];try{return t.apply(null,n)}catch(t){r=t;return e(r)}})};i=n.bind(null,function(e){throw e});r=n(function(e){return console.error(e.stack||e)});e.exports=t=n;t.iferr=n;t.tiferr=s;t.throwerr=i;t.printerr=r}).call(this)},6165:function(e,t,n){"use strict";const r=n(7790);const i=n(654);const s=n(4290);const o=n(5037);const a=n(8752);const u=n(4576);const c=n(4696);const l=n(9707);const f=n(2230);const d=n(9891);const p=n(1720);const h=n(6081);const m=n(9381);const g=n(3197);class HarmonyModulesPlugin{constructor(e){this.options=e}apply(e){e.hooks.compilation.tap("HarmonyModulesPlugin",(e,{normalModuleFactory:t})=>{e.dependencyFactories.set(s,new d);e.dependencyTemplates.set(s,new s.Template);e.dependencyFactories.set(l,t);e.dependencyTemplates.set(l,new l.Template);e.dependencyFactories.set(f,t);e.dependencyTemplates.set(f,new f.Template);e.dependencyFactories.set(a,new d);e.dependencyTemplates.set(a,new a.Template);e.dependencyFactories.set(o,new d);e.dependencyTemplates.set(o,new o.Template);e.dependencyFactories.set(c,new d);e.dependencyTemplates.set(c,new c.Template);e.dependencyFactories.set(u,t);e.dependencyTemplates.set(u,new u.Template);e.dependencyFactories.set(r,new d);e.dependencyTemplates.set(r,new r.Template);e.dependencyFactories.set(i,t);e.dependencyTemplates.set(i,new i.Template);const n=(e,t)=>{if(t.harmony!==undefined&&!t.harmony)return;new p(this.options).apply(e);new m(this.options).apply(e);new h(this.options).apply(e);(new g).apply(e)};t.hooks.parser.for("javascript/auto").tap("HarmonyModulesPlugin",n);t.hooks.parser.for("javascript/esm").tap("HarmonyModulesPlugin",n)})}}e.exports=HarmonyModulesPlugin},6166:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:true});t.createPath=createPath;function _extends(){_extends=Object.assign||function(e){for(var t=1;t2&&arguments[2]!==undefined?arguments[2]:0;if(!r){throw new Error("inList"+" error: "+("insert can only be used for nodes that are within lists"||false))}if(!(i!=null)){throw new Error("parentPath != null"+" error: "+("Can not remove root node"||false))}var a=i.node[s];var u=a.findIndex(function(e){return e===n});a.splice(u+o,0,t)}function remove(e){var t=e.node,n=e.parentKey,r=e.parentPath;if(!(r!=null)){throw new Error("parentPath != null"+" error: "+("Can not remove root node"||false))}var i=r.node;var s=i[n];if(Array.isArray(s)){i[n]=s.filter(function(e){return e!==t})}else{delete i[n]}t._deleted=true}function stop(e){e.shouldStop=true}function replaceWith(e,t){var n=e.parentPath.node;var r=n[e.parentKey];if(Array.isArray(r)){var i=r.findIndex(function(t){return t===e.node});r.splice(i,1,t)}else{n[e.parentKey]=t}e.node._deleted=true;e.node=t}function bindNodeOperations(e,t){var n=Object.keys(e);var r={};n.forEach(function(n){r[n]=e[n].bind(null,t)});return r}function createPathOperations(e){return bindNodeOperations({findParent:findParent,replaceWith:replaceWith,remove:remove,insertBefore:insertBefore,insertAfter:insertAfter,stop:stop},e)}function createPath(e){var t=_extends({},e);Object.assign(t,createPathOperations(t));return t}},6169:function(e,t,n){"use strict";const r=n(538);const i=n(7428);const{compareChunksNatural:s}=n(8673);const{assignAscendingChunkIds:o}=n(328);class OccurrenceChunkIdsPlugin{constructor(e={}){r(i,e,"Occurrence Order Chunk Ids Plugin");this.options=e}apply(e){const t=this.options.prioritiseInitial;e.hooks.compilation.tap("OccurrenceChunkIdsPlugin",e=>{e.hooks.chunkIds.tap("OccurrenceChunkIdsPlugin",n=>{const r=e.chunkGraph;const i=new Map;const a=s(r);for(const e of n){let t=0;for(const n of e.groupsIterable){for(const e of n.parentsIterable){if(e.isInitial())t++}}i.set(e,t)}const u=Array.from(n).sort((e,n)=>{if(t){const t=i.get(e);const r=i.get(n);if(t>r)return-1;if(ts)return-1;if(r boolean)"}}}]}},6182:function(e){"use strict";e.exports=class ResultPlugin{constructor(e){this.source=e}apply(e){this.source.tapAsync("ResultPlugin",(t,n,r)=>{const i=Object.assign({},t);if(n.log)n.log("reporting result "+i.path);e.hooks.result.callAsync(i,n,e=>{if(e)return r(e);r(null,i)})})}}},6202:function(e,t,n){"use strict";const r=n(5891);const{register:i}=n(4568);const s=e=>{const t=[];let n=e.prototype;while(n!==Object.prototype){t.push(n);n=Object.getPrototypeOf(n)}return t};class ClassSerializer{constructor(e){this.Constructor=e;this.hash=null}_createHash(){const e=r("md4");const t=s(this.Constructor);if(typeof this.Constructor.deserialize==="function")e.update(this.Constructor.deserialize.toString());for(const n of t){if(typeof n.serialize==="function"){e.update(n.serialize.toString())}if(typeof n.deserialize==="function"){e.update(n.deserialize.toString())}}this.hash=e.digest("base64")}serialize(e,t){if(!this.hash)this._createHash();t.write(this.hash);e.serialize(t)}deserialize(e){if(!this.hash)this._createHash();const t=e.read();if(this.hash!==t)throw new Error(`Version mismatch for ${this.Constructor.name}: ${t} !== ${this.hash}`);if(typeof this.Constructor.deserialize==="function"){return this.Constructor.deserialize(e)}const n=new this.Constructor;n.deserialize(e);return n}}e.exports=((e,t,n=null)=>{i(e,t,n,new ClassSerializer(e))})},6204:function(e,t,n){"use strict";const r=n(2087);const i=n(6811);const s=process.env;let o;if(i("no-color")||i("no-colors")||i("color=false")){o=false}else if(i("color")||i("colors")||i("color=true")||i("color=always")){o=true}if("FORCE_COLOR"in s){o=s.FORCE_COLOR.length===0||parseInt(s.FORCE_COLOR,10)!==0}function translateLevel(e){if(e===0){return false}return{level:e,hasBasic:true,has256:e>=2,has16m:e>=3}}function supportsColor(e){if(o===false){return 0}if(i("color=16m")||i("color=full")||i("color=truecolor")){return 3}if(i("color=256")){return 2}if(e&&!e.isTTY&&o!==true){return 0}const t=o?1:0;if(process.platform==="win32"){const e=r.release().split(".");if(Number(process.versions.node.split(".")[0])>=8&&Number(e[0])>=10&&Number(e[2])>=10586){return Number(e[2])>=14931?3:2}return 1}if("CI"in s){if(["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(e=>e in s)||s.CI_NAME==="codeship"){return 1}return t}if("TEAMCITY_VERSION"in s){return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(s.TEAMCITY_VERSION)?1:0}if(s.COLORTERM==="truecolor"){return 3}if("TERM_PROGRAM"in s){const e=parseInt((s.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(s.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(s.TERM)){return 2}if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(s.TERM)){return 1}if("COLORTERM"in s){return 1}if(s.TERM==="dumb"){return t}return t}function getSupportLevel(e){const t=supportsColor(e);return translateLevel(t)}e.exports={supportsColor:getSupportLevel,stdout:getSupportLevel(process.stdout),stderr:getSupportLevel(process.stderr)}},6209:function(e){e.exports={title:"WatchIgnorePluginOptions",description:"A list of RegExps or absolute paths to directories or files that should be ignored",type:"array",items:{description:"RegExp or absolute path to directories or files that should be ignored",oneOf:[{type:"string"},{instanceof:"RegExp",tsType:"RegExp"}]},minItems:1}},6217:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:true});var r=n(2895);t.TsconfigPathsPlugin=r.TsconfigPathsPlugin;const i=n(2895);t.default=i.TsconfigPathsPlugin;const s=n(2895).TsconfigPathsPlugin;s.TsconfigPathsPlugin=i.TsconfigPathsPlugin;s.default=i.TsconfigPathsPlugin;e.exports=s},6218:function(e,t,n){"use strict";var r=n(6763);e.exports=r.ls;e.exports.stream=r.lsStream},6221:function(e,t){"use strict";const n=e=>{if(e.length===0)return new Set;if(e.length===1)return new Set(e[0]);let t=Infinity;let n=-1;for(let r=0;r{if(e.size{for(const n of e){if(t(n))return n}};t.intersect=n;t.isSubset=r;t.find=i},6240:function(e,t,n){"use strict";e.exports=RunQueue;var r=n(3799);function RunQueue(e){r("Z|O",[e]);if(!e)e={};this.finished=false;this.inflight=0;this.maxConcurrency=e.maxConcurrency||1;this.queued=0;this.queue=[];this.currentPrio=null;this.currentQueue=null;this.Promise=e.Promise||global.Promise;this.deferred={}}RunQueue.prototype={};RunQueue.prototype.run=function(){if(arguments.length!==0)throw new Error("RunQueue.run takes no arguments");var e=this;var t=this.deferred;if(!t.promise){t.promise=new this.Promise(function(n,r){t.resolve=n;t.reject=r;e._runQueue()})}return t.promise};RunQueue.prototype._runQueue=function(){var e=this;while(this.inflighte){this.currentQueue=this.queue[e];this.currentPrio=e}}},6253:function(e){"use strict";class Generator{static byType(e){return new ByTypeGenerator(e)}getTypes(){throw new Error("Generator.getTypes: must be overridden")}getSize(e,t){throw new Error("Generator.getSize: must be overridden")}generate(e,{dependencyTemplates:t,runtimeTemplate:n,moduleGraph:r,type:i}){throw new Error("Generator.generate: must be overridden")}}class ByTypeGenerator extends Generator{constructor(e){super();this.map=e;this._types=new Set(Object.keys(e))}getTypes(){return this._types}getSize(e,t){const n=t||"javascript";const r=this.map[n];return r?r.getSize(e,n):0}generate(e,t){const n=t.type;const r=this.map[n];if(!r){throw new Error(`Generator.byType: no generator specified for ${n}`)}return r.generate(e,t)}}e.exports=Generator},6263:function(e,t,n){"use strict";const r=n(8093);const{decode:i}=n(3432);const s=n(6076);const o=n(3081);const a={ignoreCodeSection:true,ignoreDataSection:true,ignoreCustomNameSection:true};class WebAssemblyParser{constructor(e){this.hooks=Object.freeze({});this.options=e}parse(e,t){t.module.buildMeta.exportsType="namespace";t.module.buildMeta.async=true;const n=i(e,a);const u=n.body[0];const c=[];r.traverse(u,{ModuleExport({node:e}){c.push(e.name)},ModuleImport({node:e}){const n=new o(e.module,e.name,e.descr,false);t.module.addDependency(n)}});t.module.addDependency(new s(c,false));return t}}e.exports=WebAssemblyParser},6264:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:true});t.encode=encode;function _toConsumableArray(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t>>6,con(n)].concat(_toConsumableArray(_encode(r)))}if(n<65536){return[224|n>>>12,con(n>>>6),con(n)].concat(_toConsumableArray(_encode(r)))}if(n<1114112){return[240|n>>>18,con(n>>>12),con(n>>>6),con(n)].concat(_toConsumableArray(_encode(r)))}throw new Error("utf8")}},6292:function(e,t,n){"use strict";const{join:r,dirname:i}=n(5396);class NormalModuleReplacementPlugin{constructor(e,t){this.resourceRegExp=e;this.newResource=t}apply(e){const t=this.resourceRegExp;const n=this.newResource;e.hooks.normalModuleFactory.tap("NormalModuleReplacementPlugin",s=>{s.hooks.beforeResolve.tap("NormalModuleReplacementPlugin",e=>{if(t.test(e.request)){if(typeof n==="function"){n(e)}else{e.request=n}}});s.hooks.afterResolve.tap("NormalModuleReplacementPlugin",s=>{const o=s.createData;if(t.test(o.resource)){if(typeof n==="function"){n(s)}else{const t=e.inputFileSystem;if(n.startsWith("/")||n.length>1&&n[1]===":"){o.resource=n}else{o.resource=r(t,i(t,o.resource),n)}}}})})}}e.exports=NormalModuleReplacementPlugin},6298:function(e,t,n){"use strict";const r=n(6202);const i=n(2197);class ConstDependency extends i{constructor(e,t,n){super();this.expression=e;this.range=t;this.runtimeRequirements=n?new Set(n):null}updateHash(e,t){e.update(this.range+"");e.update(this.expression+"")}serialize(e){const{write:t}=e;t(this.expression);t(this.range);t(this.runtimeRequirements);super.serialize(e)}deserialize(e){const{read:t}=e;this.expression=t();this.range=t();this.runtimeRequirements=t();super.deserialize(e)}}r(ConstDependency,"webpack/lib/dependencies/ConstDependency");ConstDependency.Template=class ConstDependencyTemplate extends i.Template{apply(e,t,n){const r=e;if(r.runtimeRequirements){for(const e of r.runtimeRequirements){n.runtimeRequirements.add(e)}}if(typeof r.range==="number"){t.insert(r.range,r.expression);return}t.replace(r.range[0],r.range[1]-1,r.expression)}};e.exports=ConstDependency},6310:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:true});t.default=void 0;var r=_interopRequireDefault(n(8033));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _objectSpread(e){for(var t=1;t({ecma:e,warnings:t,parse:_objectSpread({},n),compress:typeof r==="boolean"?r:_objectSpread({},r),mangle:i==null?true:typeof i==="boolean"?i:_objectSpread({},i),output:_objectSpread({shebang:true,comments:false,beautify:false,semicolons:true},o),module:s,sourceMap:null,toplevel:a,nameCache:u,ie8:c,keep_classnames:l,keep_fnames:f,safari10:d});const s=(e,t,n)=>{const r={};const i=t.output.comments;if(typeof e.extractComments==="boolean"){r.preserve=i;r.extract=/^\**!|@preserve|@license|@cc_on/i}else if(typeof e.extractComments==="string"||e.extractComments instanceof RegExp){r.preserve=i;r.extract=e.extractComments}else if(typeof e.extractComments==="function"){r.preserve=i;r.extract=e.extractComments}else if(Object.prototype.hasOwnProperty.call(e.extractComments,"condition")){r.preserve=i;r.extract=e.extractComments.condition}else{r.preserve=false;r.extract=i}["preserve","extract"].forEach(e=>{let t;let n;switch(typeof r[e]){case"boolean":r[e]=r[e]?()=>true:()=>false;break;case"function":break;case"string":if(r[e]==="all"){r[e]=(()=>true);break}if(r[e]==="some"){r[e]=((e,t)=>{return t.type==="comment2"&&/^\**!|@preserve|@license|@cc_on/i.test(t.value)});break}t=r[e];r[e]=((e,n)=>{return new RegExp(t).test(n.value)});break;default:n=r[e];r[e]=((e,t)=>n.test(t.value))}});return(e,t)=>{if(r.extract(e,t)){const e=t.type==="comment2"?`/*${t.value}*/`:`//${t.value}`;if(!n.includes(e)){n.push(e)}}return r.preserve(e,t)}};const o=e=>{const{file:t,input:n,inputSourceMap:o,extractComments:a,minify:u}=e;if(u){return u({[t]:n},o)}const c=i(e.terserOptions);if(o){c.sourceMap={content:o}}const l=[];if(a){c.output.comments=s(e,c,l)}const{error:f,map:d,code:p,warnings:h}=r.default.minify({[t]:n},c);return{error:f,map:d,code:p,warnings:h,extractedComments:l}};var a=o;t.default=a},6327:function(e,t,n){var r=n(1983);var i=n(3164);var s=n(6837).ArraySet;var o=n(4215);var a=n(8226).quickSort;function SourceMapConsumer(e,t){var n=e;if(typeof e==="string"){n=r.parseSourceMapInput(e)}return n.sections!=null?new IndexedSourceMapConsumer(n,t):new BasicSourceMapConsumer(n,t)}SourceMapConsumer.fromSourceMap=function(e,t){return BasicSourceMapConsumer.fromSourceMap(e,t)};SourceMapConsumer.prototype._version=3;SourceMapConsumer.prototype.__generatedMappings=null;Object.defineProperty(SourceMapConsumer.prototype,"_generatedMappings",{configurable:true,enumerable:true,get:function(){if(!this.__generatedMappings){this._parseMappings(this._mappings,this.sourceRoot)}return this.__generatedMappings}});SourceMapConsumer.prototype.__originalMappings=null;Object.defineProperty(SourceMapConsumer.prototype,"_originalMappings",{configurable:true,enumerable:true,get:function(){if(!this.__originalMappings){this._parseMappings(this._mappings,this.sourceRoot)}return this.__originalMappings}});SourceMapConsumer.prototype._charIsMappingSeparator=function SourceMapConsumer_charIsMappingSeparator(e,t){var n=e.charAt(t);return n===";"||n===","};SourceMapConsumer.prototype._parseMappings=function SourceMapConsumer_parseMappings(e,t){throw new Error("Subclasses must implement _parseMappings")};SourceMapConsumer.GENERATED_ORDER=1;SourceMapConsumer.ORIGINAL_ORDER=2;SourceMapConsumer.GREATEST_LOWER_BOUND=1;SourceMapConsumer.LEAST_UPPER_BOUND=2;SourceMapConsumer.prototype.eachMapping=function SourceMapConsumer_eachMapping(e,t,n){var i=t||null;var s=n||SourceMapConsumer.GENERATED_ORDER;var o;switch(s){case SourceMapConsumer.GENERATED_ORDER:o=this._generatedMappings;break;case SourceMapConsumer.ORIGINAL_ORDER:o=this._originalMappings;break;default:throw new Error("Unknown order of iteration.")}var a=this.sourceRoot;o.map(function(e){var t=e.source===null?null:this._sources.at(e.source);t=r.computeSourceURL(a,t,this._sourceMapURL);return{source:t,generatedLine:e.generatedLine,generatedColumn:e.generatedColumn,originalLine:e.originalLine,originalColumn:e.originalColumn,name:e.name===null?null:this._names.at(e.name)}},this).forEach(e,i)};SourceMapConsumer.prototype.allGeneratedPositionsFor=function SourceMapConsumer_allGeneratedPositionsFor(e){var t=r.getArg(e,"line");var n={source:r.getArg(e,"source"),originalLine:t,originalColumn:r.getArg(e,"column",0)};n.source=this._findSourceIndex(n.source);if(n.source<0){return[]}var s=[];var o=this._findMapping(n,this._originalMappings,"originalLine","originalColumn",r.compareByOriginalPositions,i.LEAST_UPPER_BOUND);if(o>=0){var a=this._originalMappings[o];if(e.column===undefined){var u=a.originalLine;while(a&&a.originalLine===u){s.push({line:r.getArg(a,"generatedLine",null),column:r.getArg(a,"generatedColumn",null),lastColumn:r.getArg(a,"lastGeneratedColumn",null)});a=this._originalMappings[++o]}}else{var c=a.originalColumn;while(a&&a.originalLine===t&&a.originalColumn==c){s.push({line:r.getArg(a,"generatedLine",null),column:r.getArg(a,"generatedColumn",null),lastColumn:r.getArg(a,"lastGeneratedColumn",null)});a=this._originalMappings[++o]}}}return s};t.SourceMapConsumer=SourceMapConsumer;function BasicSourceMapConsumer(e,t){var n=e;if(typeof e==="string"){n=r.parseSourceMapInput(e)}var i=r.getArg(n,"version");var o=r.getArg(n,"sources");var a=r.getArg(n,"names",[]);var u=r.getArg(n,"sourceRoot",null);var c=r.getArg(n,"sourcesContent",null);var l=r.getArg(n,"mappings");var f=r.getArg(n,"file",null);if(i!=this._version){throw new Error("Unsupported version: "+i)}if(u){u=r.normalize(u)}o=o.map(String).map(r.normalize).map(function(e){return u&&r.isAbsolute(u)&&r.isAbsolute(e)?r.relative(u,e):e});this._names=s.fromArray(a.map(String),true);this._sources=s.fromArray(o,true);this._absoluteSources=this._sources.toArray().map(function(e){return r.computeSourceURL(u,e,t)});this.sourceRoot=u;this.sourcesContent=c;this._mappings=l;this._sourceMapURL=t;this.file=f}BasicSourceMapConsumer.prototype=Object.create(SourceMapConsumer.prototype);BasicSourceMapConsumer.prototype.consumer=SourceMapConsumer;BasicSourceMapConsumer.prototype._findSourceIndex=function(e){var t=e;if(this.sourceRoot!=null){t=r.relative(this.sourceRoot,t)}if(this._sources.has(t)){return this._sources.indexOf(t)}var n;for(n=0;n1){y.source=c+b[1];c+=b[1];y.originalLine=s+b[2];s=y.originalLine;y.originalLine+=1;y.originalColumn=u+b[3];u=y.originalColumn;if(b.length>4){y.name=l+b[4];l+=b[4]}}g.push(y);if(typeof y.originalLine==="number"){m.push(y)}}}a(g,r.compareByGeneratedPositionsDeflated);this.__generatedMappings=g;a(m,r.compareByOriginalPositions);this.__originalMappings=m};BasicSourceMapConsumer.prototype._findMapping=function SourceMapConsumer_findMapping(e,t,n,r,s,o){if(e[n]<=0){throw new TypeError("Line must be greater than or equal to 1, got "+e[n])}if(e[r]<0){throw new TypeError("Column must be greater than or equal to 0, got "+e[r])}return i.search(e,t,s,o)};BasicSourceMapConsumer.prototype.computeColumnSpans=function SourceMapConsumer_computeColumnSpans(){for(var e=0;e=0){var i=this._generatedMappings[n];if(i.generatedLine===t.generatedLine){var s=r.getArg(i,"source",null);if(s!==null){s=this._sources.at(s);s=r.computeSourceURL(this.sourceRoot,s,this._sourceMapURL)}var o=r.getArg(i,"name",null);if(o!==null){o=this._names.at(o)}return{source:s,line:r.getArg(i,"originalLine",null),column:r.getArg(i,"originalColumn",null),name:o}}}return{source:null,line:null,column:null,name:null}};BasicSourceMapConsumer.prototype.hasContentsOfAllSources=function BasicSourceMapConsumer_hasContentsOfAllSources(){if(!this.sourcesContent){return false}return this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some(function(e){return e==null})};BasicSourceMapConsumer.prototype.sourceContentFor=function SourceMapConsumer_sourceContentFor(e,t){if(!this.sourcesContent){return null}var n=this._findSourceIndex(e);if(n>=0){return this.sourcesContent[n]}var i=e;if(this.sourceRoot!=null){i=r.relative(this.sourceRoot,i)}var s;if(this.sourceRoot!=null&&(s=r.urlParse(this.sourceRoot))){var o=i.replace(/^file:\/\//,"");if(s.scheme=="file"&&this._sources.has(o)){return this.sourcesContent[this._sources.indexOf(o)]}if((!s.path||s.path=="/")&&this._sources.has("/"+i)){return this.sourcesContent[this._sources.indexOf("/"+i)]}}if(t){return null}else{throw new Error('"'+i+'" is not in the SourceMap.')}};BasicSourceMapConsumer.prototype.generatedPositionFor=function SourceMapConsumer_generatedPositionFor(e){var t=r.getArg(e,"source");t=this._findSourceIndex(t);if(t<0){return{line:null,column:null,lastColumn:null}}var n={source:t,originalLine:r.getArg(e,"line"),originalColumn:r.getArg(e,"column")};var i=this._findMapping(n,this._originalMappings,"originalLine","originalColumn",r.compareByOriginalPositions,r.getArg(e,"bias",SourceMapConsumer.GREATEST_LOWER_BOUND));if(i>=0){var s=this._originalMappings[i];if(s.source===n.source){return{line:r.getArg(s,"generatedLine",null),column:r.getArg(s,"generatedColumn",null),lastColumn:r.getArg(s,"lastGeneratedColumn",null)}}}return{line:null,column:null,lastColumn:null}};t.BasicSourceMapConsumer=BasicSourceMapConsumer;function IndexedSourceMapConsumer(e,t){var n=e;if(typeof e==="string"){n=r.parseSourceMapInput(e)}var i=r.getArg(n,"version");var o=r.getArg(n,"sections");if(i!=this._version){throw new Error("Unsupported version: "+i)}this._sources=new s;this._names=new s;var a={line:-1,column:0};this._sections=o.map(function(e){if(e.url){throw new Error("Support for url field in sections not implemented.")}var n=r.getArg(e,"offset");var i=r.getArg(n,"line");var s=r.getArg(n,"column");if(i{this.referencer.currentScope().__define(e,new f(o.ImportBinding,e,t,this.declaration,null,null))})}ImportNamespaceSpecifier(e){const t=e.local||e.id;if(t){this.visitImport(t,e)}}ImportDefaultSpecifier(e){const t=e.local||e.id;this.visitImport(t,e)}ImportSpecifier(e){const t=e.local||e.id;if(e.name){this.visitImport(e.name,e)}else{this.visitImport(t,e)}}}class Referencer extends i.Visitor{constructor(e,t){super(null,e);this.options=e;this.scopeManager=t;this.parent=null;this.isInnerMethodDefinition=false}currentScope(){return this.scopeManager.__currentScope}close(e){while(this.currentScope()&&e===this.currentScope().block){this.scopeManager.__currentScope=this.currentScope().__close(this.scopeManager)}}pushInnerMethodDefinition(e){const t=this.isInnerMethodDefinition;this.isInnerMethodDefinition=e;return t}popInnerMethodDefinition(e){this.isInnerMethodDefinition=e}referencingDefaultValue(e,t,n,r){const i=this.currentScope();t.forEach(t=>{i.__referencing(e,s.WRITE,t.right,n,e!==t.left,r)})}visitPattern(e,t,n){if(typeof t==="function"){n=t;t={processRightHandNodes:false}}traverseIdentifierInPattern(this.options,e,t.processRightHandNodes?this:null,n)}visitFunction(e){let t,n;if(e.type===r.FunctionDeclaration){this.currentScope().__define(e.id,new f(o.FunctionName,e.id,e,null,null,null))}if(e.type===r.FunctionExpression&&e.id){this.scopeManager.__nestFunctionExpressionNameScope(e)}this.scopeManager.__nestFunctionScope(e,this.isInnerMethodDefinition);const i=this;function visitPatternCallback(n,r){i.currentScope().__define(n,new l(n,e,t,r.rest));i.referencingDefaultValue(n,r.assignments,null,true)}for(t=0,n=e.params.length;t{this.currentScope().__define(t,new l(t,e,e.params.length,true))})}if(e.body){if(e.body.type===r.BlockStatement){this.visitChildren(e.body)}else{this.visit(e.body)}}this.close(e)}visitClass(e){if(e.type===r.ClassDeclaration){this.currentScope().__define(e.id,new f(o.ClassName,e.id,e,null,null,null))}this.visit(e.superClass);this.scopeManager.__nestClassScope(e);if(e.id){this.currentScope().__define(e.id,new f(o.ClassName,e.id,e))}this.visit(e.body);this.close(e)}visitProperty(e){let t;if(e.computed){this.visit(e.key)}const n=e.type===r.MethodDefinition;if(n){t=this.pushInnerMethodDefinition(true)}this.visit(e.value);if(n){this.popInnerMethodDefinition(t)}}visitForIn(e){if(e.left.type===r.VariableDeclaration&&e.left.kind!=="var"){this.scopeManager.__nestForScope(e)}if(e.left.type===r.VariableDeclaration){this.visit(e.left);this.visitPattern(e.left.declarations[0].id,t=>{this.currentScope().__referencing(t,s.WRITE,e.right,null,true,true)})}else{this.visitPattern(e.left,{processRightHandNodes:true},(t,n)=>{let r=null;if(!this.currentScope().isStrict){r={pattern:t,node:e}}this.referencingDefaultValue(t,n.assignments,r,false);this.currentScope().__referencing(t,s.WRITE,e.right,r,true,false)})}this.visit(e.right);this.visit(e.body);this.close(e)}visitVariableDeclaration(e,t,n,r){const i=n.declarations[r];const o=i.init;this.visitPattern(i.id,{processRightHandNodes:true},(a,u)=>{e.__define(a,new f(t,a,i,n,r,n.kind));this.referencingDefaultValue(a,u.assignments,null,true);if(o){this.currentScope().__referencing(a,s.WRITE,o,null,!u.topLevel,true)}})}AssignmentExpression(e){if(a.isPattern(e.left)){if(e.operator==="="){this.visitPattern(e.left,{processRightHandNodes:true},(t,n)=>{let r=null;if(!this.currentScope().isStrict){r={pattern:t,node:e}}this.referencingDefaultValue(t,n.assignments,r,false);this.currentScope().__referencing(t,s.WRITE,e.right,r,!n.topLevel,false)})}else{this.currentScope().__referencing(e.left,s.RW,e.right)}}else{this.visit(e.left)}this.visit(e.right)}CatchClause(e){this.scopeManager.__nestCatchScope(e);this.visitPattern(e.param,{processRightHandNodes:true},(t,n)=>{this.currentScope().__define(t,new f(o.CatchClause,e.param,e,null,null,null));this.referencingDefaultValue(t,n.assignments,null,true)});this.visit(e.body);this.close(e)}Program(e){this.scopeManager.__nestGlobalScope(e);if(this.scopeManager.__isNodejsScope()){this.currentScope().isStrict=false;this.scopeManager.__nestFunctionScope(e,false)}if(this.scopeManager.__isES6()&&this.scopeManager.isModule()){this.scopeManager.__nestModuleScope(e)}if(this.scopeManager.isStrictModeSupported()&&this.scopeManager.isImpliedStrict()){this.currentScope().isStrict=true}this.visitChildren(e);this.close(e)}Identifier(e){this.currentScope().__referencing(e)}UpdateExpression(e){if(a.isPattern(e.argument)){this.currentScope().__referencing(e.argument,s.RW,null)}else{this.visitChildren(e)}}MemberExpression(e){this.visit(e.object);if(e.computed){this.visit(e.property)}}Property(e){this.visitProperty(e)}MethodDefinition(e){this.visitProperty(e)}BreakStatement(){}ContinueStatement(){}LabeledStatement(e){this.visit(e.body)}ForStatement(e){if(e.init&&e.init.type===r.VariableDeclaration&&e.init.kind!=="var"){this.scopeManager.__nestForScope(e)}this.visitChildren(e);this.close(e)}ClassExpression(e){this.visitClass(e)}ClassDeclaration(e){this.visitClass(e)}CallExpression(e){if(!this.scopeManager.__ignoreEval()&&e.callee.type===r.Identifier&&e.callee.name==="eval"){this.currentScope().variableScope.__detectEval()}this.visitChildren(e)}BlockStatement(e){if(this.scopeManager.__isES6()){this.scopeManager.__nestBlockScope(e)}this.visitChildren(e);this.close(e)}ThisExpression(){this.currentScope().variableScope.__detectThis()}WithStatement(e){this.visit(e.object);this.scopeManager.__nestWithScope(e);this.visit(e.body);this.close(e)}VariableDeclaration(e){const t=e.kind==="var"?this.currentScope().variableScope:this.currentScope();for(let n=0,r=e.declarations.length;n\/\u2028\u2029]/g;var s={"<":"\\u003C",">":"\\u003E","/":"\\u002F","\u2028":"\\u2028","\u2029":"\\u2029"};function escapeUnsafeChars(e){return s[e]}e.exports=function serialize(e,s){s||(s={});if(typeof s==="number"||typeof s==="string"){s={space:s}}var o=[];var a=[];var u=[];function replacer(e,n){if(!n){return n}var r=this[e];var i=typeof r;if(i==="object"){if(r instanceof RegExp){return"@__R-"+t+"-"+(a.push(r)-1)+"__@"}if(r instanceof Date){return"@__D-"+t+"-"+(u.push(r)-1)+"__@"}}if(i==="function"){return"@__F-"+t+"-"+(o.push(r)-1)+"__@"}return n}var c;if(s.isJSON&&!s.space){c=JSON.stringify(e)}else{c=JSON.stringify(e,s.isJSON?null:replacer,s.space)}if(typeof c!=="string"){return String(c)}if(s.unsafe!==true){c=c.replace(i,escapeUnsafeChars)}if(o.length===0&&a.length===0&&u.length===0){return c}return c.replace(n,function(e,t,n){if(t==="D"){return'new Date("'+u[n].toISOString()+'")'}if(t==="R"){return a[n].toString()}var i=o[n];var s=i.toString();if(r.test(s)){throw new TypeError("Serializing native function: "+i.name)}return s})}},6356:function(e,t,n){"use strict";e.exports=function(e,t,r,i,s,o){var a=n(9505);var u=a.tryCatch;function ReductionPromiseArray(t,n,r,i){this.constructor$(t);var o=e._getContext();this._fn=a.contextBind(o,n);if(r!==undefined){r=e.resolve(r);r._attachCancellationCallback(this)}this._initialValue=r;this._currentCancellable=null;if(i===s){this._eachValues=Array(this._length)}else if(i===0){this._eachValues=null}else{this._eachValues=undefined}this._promise._captureStackTrace();this._init$(undefined,-5)}a.inherits(ReductionPromiseArray,t);ReductionPromiseArray.prototype._gotAccum=function(e){if(this._eachValues!==undefined&&this._eachValues!==null&&e!==s){this._eachValues.push(e)}};ReductionPromiseArray.prototype._eachComplete=function(e){if(this._eachValues!==null){this._eachValues.push(e)}return this._eachValues};ReductionPromiseArray.prototype._init=function(){};ReductionPromiseArray.prototype._resolveEmptyArray=function(){this._resolve(this._eachValues!==undefined?this._eachValues:this._initialValue)};ReductionPromiseArray.prototype.shouldCopyValues=function(){return false};ReductionPromiseArray.prototype._resolve=function(e){this._promise._resolveCallback(e);this._values=null};ReductionPromiseArray.prototype._resultCancelled=function(t){if(t===this._initialValue)return this._cancel();if(this._isResolved())return;this._resultCancelled$();if(this._currentCancellable instanceof e){this._currentCancellable.cancel()}if(this._initialValue instanceof e){this._initialValue.cancel()}};ReductionPromiseArray.prototype._iterate=function(t){this._values=t;var n;var r;var i=t.length;if(this._initialValue!==undefined){n=this._initialValue;r=0}else{n=e.resolve(t[0]);r=1}this._currentCancellable=n;for(var s=r;s{const{name:t}=e;let n=e.cwd;if(e.files){n=i(n,e.files)}else{n=n||process.cwd()}n=s.sync(n);if(n){n=r.join(n,"node_modules",".cache",t);if(n&&e.create){o.sync(n)}if(e.thunk){return(...e)=>r.join(n,...e)}}return n})},6372:function(e){"use strict";e.exports=function generate_required(e,t,n){var r=" ";var i=e.level;var s=e.dataLevel;var o=e.schema[t];var a=e.schemaPath+e.util.getProperty(t);var u=e.errSchemaPath+"/"+t;var c=!e.opts.allErrors;var l="data"+(s||"");var f="valid"+i;var d=e.opts.$data&&o&&o.$data,p;if(d){r+=" var schema"+i+" = "+e.util.getData(o.$data,s,e.dataPathArr)+"; ";p="schema"+i}else{p=o}var h="schema"+i;if(!d){if(o.length=e.opts.loopRequired,S=e.opts.ownProperties;if(c){r+=" var missing"+i+"; ";if(_){if(!d){r+=" var "+h+" = validate.schema"+a+"; "}var k="i"+i,C="schema"+i+"["+k+"]",D="' + "+C+" + '";if(e.opts._errorDataPathProperty){e.errorPath=e.util.getPathExpr(E,C,e.opts.jsonPointers)}r+=" var "+f+" = true; ";if(d){r+=" if (schema"+i+" === undefined) "+f+" = true; else if (!Array.isArray(schema"+i+")) "+f+" = false; else {"}r+=" for (var "+k+" = 0; "+k+" < "+h+".length; "+k+"++) { "+f+" = "+l+"["+h+"["+k+"]] !== undefined ";if(S){r+=" && Object.prototype.hasOwnProperty.call("+l+", "+h+"["+k+"]) "}r+="; if (!"+f+") break; } ";if(d){r+=" } "}r+=" if (!"+f+") { ";var A=A||[];A.push(r);r="";if(e.createErrors!==false){r+=" { keyword: '"+"required"+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { missingProperty: '"+D+"' } ";if(e.opts.messages!==false){r+=" , message: '";if(e.opts._errorDataPathProperty){r+="is a required property"}else{r+="should have required property \\'"+D+"\\'"}r+="' "}if(e.opts.verbose){r+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "}r+=" } "}else{r+=" {} "}var x=r;r=A.pop();if(!e.compositeRule&&c){if(e.async){r+=" throw new ValidationError(["+x+"]); "}else{r+=" validate.errors = ["+x+"]; return false; "}}else{r+=" var err = "+x+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}r+=" } else { "}else{r+=" if ( ";var M=m;if(M){var T,k=-1,O=M.length-1;while(k(function(...n){const r=t.promiseModule;return new r((r,i)=>{if(t.multiArgs){n.push((...e)=>{if(t.errorFirst){if(e[0]){i(e)}else{e.shift();r(e)}}else{r(e)}})}else if(t.errorFirst){n.push((e,t)=>{if(e){i(e)}else{r(t)}})}else{n.push(r)}e.apply(this,n)})});e.exports=((e,n)=>{n=Object.assign({exclude:[/.+(Sync|Stream)$/],errorFirst:true,promiseModule:Promise},n);const r=typeof e;if(!(e!==null&&(r==="object"||r==="function"))){throw new TypeError(`Expected \`input\` to be a \`Function\` or \`Object\`, got \`${e===null?"null":r}\``)}const i=e=>{const t=t=>typeof t==="string"?e===t:t.test(e);return n.include?n.include.some(t):!n.exclude.some(t)};let s;if(r==="function"){s=function(...r){return n.excludeMain?e(...r):t(e,n).apply(this,r)}}else{s=Object.create(Object.getPrototypeOf(e))}for(const r in e){const o=e[r];s[r]=typeof o==="function"&&i(r)?t(o,n):o}return s})},6396:function(e,t,n){"use strict";const r=n(3955);class DelegatedModuleFactoryPlugin{constructor(e){this.options=e;e.type=e.type||"require";e.extensions=e.extensions||["",".mjs",".js",".json",".wasm"]}apply(e){const t=this.options.scope;if(t){e.hooks.factorize.tapAsync("DelegatedModuleFactoryPlugin",(e,n)=>{const i=e.dependencies[0];const s=i.request;if(s&&s.indexOf(t+"/")===0){const e="."+s.substr(t.length);let i;if(e in this.options.content){i=this.options.content[e];return n(null,new r(this.options.source,i,this.options.type,e,s))}for(let t=0;t{const t=e.libIdent(this.options);if(t){if(t in this.options.content){const n=this.options.content[t];return new r(this.options.source,n,this.options.type,t,e)}}return e})}}}e.exports=DelegatedModuleFactoryPlugin},6407:function(e){e.exports={name:"@zeit/ncc",version:"0.22.1",repository:"zeit/ncc",license:"MIT",main:"./dist/ncc/index.js",bin:{ncc:"./dist/ncc/cli.js"},scripts:{build:"node scripts/build","build-test-binary":"cd test/binary && node-gyp rebuild && cp build/Release/hello.node ../integration/hello.node",codecov:"codecov",test:"node --expose-gc --max_old_space_size=3072 node_modules/.bin/jest","test-coverage":'node --expose-gc --max_old_space_size=3072 node_modules/.bin/jest --coverage --globals "{\\"coverage\\":true}" && codecov',prepublish:"in-publish && npm test || not-in-publish"},devDependencies:{"@azure/cosmos":"^2.0.5","@bugsnag/js":"^5.0.1","@ffmpeg-installer/ffmpeg":"^1.0.17","@google-cloud/bigquery":"^2.0.1","@google-cloud/firestore":"^2.2.0","@sentry/node":"^4.3.0","@tensorflow/tfjs-node":"^0.3.0","@zeit/webpack-asset-relocator-loader":"0.6.4","analytics-node":"^3.3.0","apollo-server-express":"^2.2.2",arg:"^4.1.0",auth0:"^2.14.0","aws-sdk":"^2.356.0",axios:"^0.18.1","azure-storage":"^2.10.2","browserify-middleware":"^8.1.1",bytes:"^3.0.0",canvas:"^2.2.0",chromeless:"^1.5.2",codecov:"^3.6.5",consolidate:"^0.15.1",copy:"^0.3.2","core-js":"^2.5.7",cowsay:"^1.3.1",esm:"^3.2.22",express:"^4.16.4","fetch-h2":"^1.0.2",firebase:"^6.1.1","firebase-admin":"^6.3.0","fluent-ffmpeg":"^2.1.2",fontkit:"^1.7.7","get-folder-size":"^2.0.0",glob:"^7.1.3",got:"^9.3.2","graceful-fs":"^4.1.15",graphql:"^14.0.2",highlights:"^3.1.1","hot-shots":"^5.9.2","in-publish":"^2.0.0",ioredis:"^4.2.0","isomorphic-unfetch":"^3.0.0",jest:"^23.6.0",jimp:"^0.5.6",jugglingdb:"2.0.1",koa:"^2.6.2",leveldown:"^5.6.0",lighthouse:"^5.0.0",loopback:"^3.24.0",mailgun:"^0.5.0",mariadb:"^2.0.1-beta",memcached:"^2.2.2",mkdirp:"^0.5.1",mongoose:"^5.3.12",mysql:"^2.16.0","node-gyp":"^3.8.0",npm:"^6.13.4",oracledb:"^4.2.0",passport:"^0.4.0","passport-google-oauth":"^1.0.0","path-platform":"^0.11.15",pdf2json:"^1.1.8",pdfkit:"^0.8.3",pg:"^7.6.1",pug:"^2.0.3",react:"^16.6.3","react-dom":"^16.6.3",redis:"^2.8.0",request:"^2.88.0",rxjs:"^6.3.3",saslprep:"^1.0.2",sequelize:"^5.8.6",sharp:"^0.25.2","shebang-loader":"^0.0.1","socket.io":"^2.2.0","source-map-support":"^0.5.9",stripe:"^6.15.0",swig:"^1.4.2",terser:"^3.11.0","the-answer":"^1.0.0","tiny-json-http":"^7.0.2","ts-loader":"^5.3.1","tsconfig-paths":"^3.7.0","tsconfig-paths-webpack-plugin":"^3.2.0",twilio:"^3.23.2",typescript:"^3.2.2",vm2:"^3.6.6",vue:"^2.5.17","vue-server-renderer":"^2.5.17",webpack:"5.0.0-alpha.17",when:"^3.7.8"}}},6417:function(e){e.exports=require("crypto")},6443:function(e,t,n){"use strict";const r=n(1669);const{version:i}=n(9555);const s=n(9034);const o=n(3076);const a=n(3433);const u=n(1721);const c=n(1972);const l=n(7263);const f=n(3316);const d=n(2982);t=e.exports=d;t.WebpackOptionsApply=u;t.WebpackOptionsDefaulter=c;t.WebpackOptionsValidationError=l;t.Compiler=o;t.MultiCompiler=a;t.validate=f.bind(null,s);t.validateSchema=f;t.version=i;const p=(e,t)=>{for(const n of Object.keys(t)){Object.defineProperty(e,n,{configurable:false,enumerable:true,get:t[n]})}};p(t,{AutomaticPrefetchPlugin:()=>n(383),BannerPlugin:()=>n(8779),Cache:()=>n(4725),ContextExclusionPlugin:()=>n(1709),ContextReplacementPlugin:()=>n(6552),DefinePlugin:()=>n(4820),Dependency:()=>n(8706),DllPlugin:()=>n(3887),DllReferencePlugin:()=>n(3515),EntryPlugin:()=>n(9674),EnvironmentPlugin:()=>n(4856),EvalDevToolModulePlugin:()=>n(1331),EvalSourceMapDevToolPlugin:()=>n(3641),ExternalsPlugin:()=>n(1050),HotModuleReplacementPlugin:()=>n(9972),IgnorePlugin:()=>n(9276),LibraryTemplatePlugin:()=>n(3351),LoaderOptionsPlugin:()=>n(2638),LoaderTargetPlugin:()=>n(7736),MemoryOutputFileSystem:()=>n(4754),Module:()=>n(3453),ModuleFilenameHelpers:()=>n(354),NoEmitOnErrorsPlugin:()=>n(6962),NormalModuleReplacementPlugin:()=>n(6292),PrefetchPlugin:()=>n(3125),ProgressPlugin:()=>n(2923),ProvidePlugin:()=>n(313),SingleEntryPlugin:r.deprecate(()=>n(9674),"SingleEntryPlugin was renamed to EntryPlugin"),SetVarMainTemplatePlugin:()=>n(5243),SourceMapDevToolPlugin:()=>n(0),Stats:()=>n(140),Template:()=>n(8159),UmdMainTemplatePlugin:()=>n(6),WatchIgnorePlugin:()=>n(1265)});p(t.cache={},{MemoryCachePlugin:()=>n(7786)});p(t.dependencies={},{DependencyReference:()=>n(7737)});p(t.ids={},{ChunkModuleIdRangePlugin:()=>n(484),NaturalModuleIdsPlugin:()=>n(7781),OccurrenceModuleIdsPlugin:()=>n(6059),NamedModuleIdsPlugin:()=>n(9297),DeterministicModuleIdsPlugin:()=>n(5579),NamedChunkIdsPlugin:()=>n(4779),OccurrenceChunkIdsPlugin:()=>n(6169),HashedModuleIdsPlugin:()=>n(5853)});p(t.optimize={},{AggressiveMergingPlugin:()=>n(1332),AggressiveSplittingPlugin:r.deprecate(()=>n(4827),"AggressiveSplittingPlugin is deprecated in favor of SplitChunksPlugin"),LimitChunkCountPlugin:()=>n(2922),MinChunkSizePlugin:()=>n(2383),ModuleConcatenationPlugin:()=>n(5442),RuntimeChunkPlugin:()=>n(4674),SideEffectsFlagPlugin:()=>n(3410),SplitChunksPlugin:()=>n(51)});p(t.web={},{FetchCompileWasmPlugin:()=>n(1100),JsonpTemplatePlugin:()=>n(8421)});p(t.webworker={},{WebWorkerTemplatePlugin:()=>n(7439)});p(t.node={},{NodeEnvironmentPlugin:()=>n(3632),NodeTemplatePlugin:()=>n(1591),ReadFileCompileWasmPlugin:()=>n(1049)});p(t.debug={},{ProfilingPlugin:()=>n(6802)});p(t.util={},{createHash:()=>n(5891),comparators:()=>n(8673),serialization:()=>n(4568)})},6449:function(e,t,n){"use strict";const r=n(5031);class FunctionModulePlugin{apply(e){e.hooks.compilation.tap("FunctionModulePlugin",e=>{new r({compilation:e}).apply(e.moduleTemplates.javascript)})}}e.exports=FunctionModulePlugin},6481:function(e,t,n){var r=n(3687);e.exports=r(once);e.exports.strict=r(onceStrict);once.proto=once(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return once(this)},configurable:true});Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return onceStrict(this)},configurable:true})});function once(e){var t=function(){if(t.called)return t.value;t.called=true;return t.value=e.apply(this,arguments)};t.called=false;return t}function onceStrict(e){var t=function(){if(t.called)throw new Error(t.onceError);t.called=true;return t.value=e.apply(this,arguments)};var n=e.name||"Function wrapped with `once`";t.onceError=n+" shouldn't be called more than once";t.called=false;return t}},6484:function(e,t,n){var r=n(2453).Readable;var i=n(8309);e.exports=from2;from2.ctor=ctor;from2.obj=obj;var s=ctor();function toFunction(e){e=e.slice();return function(t,n){var r=null;var i=e.length?e.shift():null;if(i instanceof Error){r=i;i=null}n(r,i)}}function from2(e,t){if(typeof e!=="object"||Array.isArray(e)){t=e;e={}}var n=new s(e);n._from=Array.isArray(t)?toFunction(t):t||noop;return n}function ctor(e,t){if(typeof e==="function"){t=e;e={}}e=defaults(e);i(Class,r);function Class(t){if(!(this instanceof Class))return new Class(t);this._reading=false;this._callback=check;this.destroyed=false;r.call(this,t||e);var n=this;var i=this._readableState.highWaterMark;function check(e,t){if(n.destroyed)return;if(e)return n.destroy(e);if(t===null)return n.push(null);n._reading=false;if(n.push(t))n._read(i)}}Class.prototype._from=t||noop;Class.prototype._read=function(e){if(this._reading||this.destroyed)return;this._reading=true;this._from(e,this._callback)};Class.prototype.destroy=function(e){if(this.destroyed)return;this.destroyed=true;var t=this;process.nextTick(function(){if(e)t.emit("error",e);t.emit("close")})};return Class}function obj(e,t){if(typeof e==="function"||Array.isArray(e)){t=e;e={}}e=defaults(e);e.objectMode=true;e.highWaterMark=16;return from2(e,t)}function noop(){}function defaults(e){e=e||{};return e}},6487:function(e){(function(t,n){true?e.exports=n():undefined})(this,function(){"use strict";var e=function isMergeableObject(e){return isNonNullObject(e)&&!isSpecial(e)};function isNonNullObject(e){return!!e&&typeof e==="object"}function isSpecial(e){var t=Object.prototype.toString.call(e);return t==="[object RegExp]"||t==="[object Date]"||isReactElement(e)}var t=typeof Symbol==="function"&&Symbol.for;var n=t?Symbol.for("react.element"):60103;function isReactElement(e){return e.$$typeof===n}function emptyTarget(e){return Array.isArray(e)?[]:{}}function cloneUnlessOtherwiseSpecified(e,t){return t.clone!==false&&t.isMergeableObject(e)?deepmerge(emptyTarget(e),e,t):e}function defaultArrayMerge(e,t,n){return e.concat(t).map(function(e){return cloneUnlessOtherwiseSpecified(e,n)})}function mergeObject(e,t,n){var r={};if(n.isMergeableObject(e)){Object.keys(e).forEach(function(t){r[t]=cloneUnlessOtherwiseSpecified(e[t],n)})}Object.keys(t).forEach(function(i){if(!n.isMergeableObject(t[i])||!e[i]){r[i]=cloneUnlessOtherwiseSpecified(t[i],n)}else{r[i]=deepmerge(e[i],t[i],n)}});return r}function deepmerge(t,n,r){r=r||{};r.arrayMerge=r.arrayMerge||defaultArrayMerge;r.isMergeableObject=r.isMergeableObject||e;var i=Array.isArray(n);var s=Array.isArray(t);var o=i===s;if(!o){return cloneUnlessOtherwiseSpecified(n,r)}else if(i){return r.arrayMerge(t,n,r)}else{return mergeObject(t,n,r)}}deepmerge.all=function deepmergeAll(e,t){if(!Array.isArray(e)){throw new Error("first argument should be an array")}return e.reduce(function(e,n){return deepmerge(e,n,t)},{})};var r=deepmerge;return r})},6509:function(e,t,n){"use strict";const{cutOffLoaderExecution:r}=n(717);const i=n(1627);const s=n(6202);class ModuleBuildError extends i{constructor(e,{from:t=null}={}){let n="Module build failed";let i=undefined;if(t){n+=` (from ${t}):\n`}else{n+=": "}if(e!==null&&typeof e==="object"){if(typeof e.stack==="string"&&e.stack){const t=r(e.stack);if(!e.hideStack){n+=t}else{i=t;if(typeof e.message==="string"&&e.message){n+=e.message}else{n+=e}}}else if(typeof e.message==="string"&&e.message){n+=e.message}else{n+=String(e)}}else{n+=String(e)}super(n);this.name="ModuleBuildError";this.details=i;this.error=e;Error.captureStackTrace(this,this.constructor)}serialize(e){const{write:t}=e;t(this.error);super.serialize(e)}deserialize(e){const{read:t}=e;this.error=t();super.deserialize(e)}}s(ModuleBuildError,"webpack/lib/ModuleBuildError");e.exports=ModuleBuildError},6537:function(e,t){var n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");t.encode=function(e){if(0<=e&&e{t(null,n)})}else if(typeof t==="string"&&typeof n==="function"){this.newContentResource=t;this.newContentCreateContextMap=n}else{if(typeof t!=="string"){r=n;n=t;t=undefined}if(typeof n!=="boolean"){r=n;n=undefined}this.newContentResource=t;this.newContentRecursive=n;this.newContentRegExp=r}}apply(e){const t=this.resourceRegExp;const n=this.newContentCallback;const r=this.newContentResource;const o=this.newContentRecursive;const a=this.newContentRegExp;const u=this.newContentCreateContextMap;e.hooks.contextModuleFactory.tap("ContextReplacementPlugin",c=>{c.hooks.beforeResolve.tap("ContextReplacementPlugin",e=>{if(!e)return;if(t.test(e.request)){if(r!==undefined){e.request=r}if(o!==undefined){e.recursive=o}if(a!==undefined){e.regExp=a}if(typeof n==="function"){n(e)}else{for(const t of e.dependencies){if(t.critical)t.critical=false}}}return e});c.hooks.afterResolve.tap("ContextReplacementPlugin",c=>{if(!c)return;if(t.test(c.resource)){if(r!==undefined){if(r.startsWith("/")||r.length>1&&r[1]===":"){c.resource=r}else{c.resource=i(e.inputFileSystem,c.resource,r)}}if(o!==undefined){c.recursive=o}if(a!==undefined){c.regExp=a}if(typeof u==="function"){c.resolveDependencies=s(u)}if(typeof n==="function"){const t=c.resource;n(c);if(c.resource!==t&&!c.resource.startsWith("/")&&(c.resource.length<=1||c.resource[1]!==":")){c.resource=i(e.inputFileSystem,t,c.resource)}}else{for(const e of c.dependencies){if(e.critical)e.critical=false}}}return c})})}}const s=e=>{const t=(t,n,i)=>{e(t,(e,t)=>{if(e)return i(e);const s=Object.keys(t).map(e=>{return new r(t[e]+n.resourceQuery,e)});i(null,s)})};return t};e.exports=ContextReplacementPlugin},6583:function(e,t,n){"use strict";const r=n(9983);class EntryDependency extends r{constructor(e){super(e)}get type(){return"entry"}}e.exports=EntryDependency},6595:function(e,t,n){"use strict";const r=n(1669);const i=new Map;const s=e=>{const t=i.get(e);if(t!==undefined)return t;const n=r.deprecate(()=>{},e);i.set(e,n);return n};const o=["concat","entry","filter","find","findIndex","includes","indexOf","join","lastIndexOf","map","reduce","reduceRight","slice","some"];const a=["copyWithin","entries","fill","keys","pop","reverse","shift","splice","sort","unshift"];t.arrayToSetDeprecation=((e,t)=>{for(const n of o){if(e[n])continue;const r=s(`${t} was changed from Array to Set (using Array method '${n}' is deprecated)`);e[n]=function(){r();const e=Array.from(this);return Array.prototype[n].apply(e,arguments)}}const n=s(`${t} was changed from Array to Set (using Array method 'push' is deprecated)`);const r=s(`${t} was changed from Array to Set (using Array property 'length' is deprecated)`);const i=s(`${t} was changed from Array to Set (indexing Array is deprecated)`);e.push=function(){n();for(const e of Array.from(arguments)){this.add(e)}return this.size};for(const n of a){if(e[n])continue;e[n]=(()=>{throw new Error(`${t} was changed from Array to Set (using Array method '${n}' is not possible)`)})}const u=t=>()=>{i();let n=0;for(const r of e){if(n++===t)return r}return undefined};let c=0;Object.defineProperty(e,"length",{get(){r();const n=e.size;for(c;c{o.set(e,()=>t.store(e,n,r))});e.cache.hooks.get.tapPromise({name:"IdleFileCachePlugin",stage:r.STAGE_DISK},(e,n,r)=>{return t.restore(e,n).then(i=>{if(i===undefined){r.push((r,i)=>{if(r!==undefined){o.set(e,()=>t.store(e,n,r))}i()})}else{return i}})});e.cache.hooks.shutdown.tapPromise({name:"IdleFileCachePlugin",stage:r.STAGE_DISK},()=>{if(f){clearTimeout(f);f=undefined}u=false;const e=Array.from(o.values()).map(e=>e());o.clear();if(a!==undefined)e.push(a);let n=Promise.all(e);return n.then(()=>t.afterAllStored())});let a;let u=false;let c=true;const l=()=>{if(u){if(o.size>0){const e=[];const t=Date.now()+100;let n=100;for(const[r,i]of o){o.delete(r);e.push(i());if(n--<=0||Date.now()>t)break}a=Promise.all(e).then(()=>{a=undefined});a.then(()=>{setTimeout(l,0).unref()});return}a=t.afterAllStored();c=false}};let f=undefined;e.cache.hooks.beginIdle.tap({name:"IdleFileCachePlugin",stage:r.STAGE_DISK},()=>{f=setTimeout(()=>{f=undefined;u=true;s.then(l)},c?i:n);f.unref()});e.cache.hooks.endIdle.tap({name:"IdleFileCachePlugin",stage:r.STAGE_DISK},()=>{if(f){clearTimeout(f);f=undefined}u=false})}}e.exports=IdleFileCachePlugin},6627:function(e){"use strict";class FlagIncludedChunksPlugin{apply(e){e.hooks.compilation.tap("FlagIncludedChunksPlugin",e=>{e.hooks.optimizeChunkIds.tap("FlagIncludedChunksPlugin",t=>{const n=e.chunkGraph;const r=new WeakMap;const i=e.modules.size;const s=1/Math.pow(1/i,1/31);const o=Array.from({length:31},(e,t)=>Math.pow(s,t)|0);let a=0;for(const t of e.modules){let e=30;while(a%o[e]!==0){e--}r.set(t,1<n.getNumberOfModuleChunks(t))i=t}e:for(const s of n.getModuleChunksIterable(i)){if(e===s)continue;const i=n.getNumberOfChunkModules(s);if(i===0)continue;if(r>i)continue;const o=u.get(s);if((o&t)!==t)continue;for(const t of n.getChunkModulesIterable(e)){if(!n.isModuleInChunk(t,s))continue e}s.ids.push(e.id)}}})})}}e.exports=FlagIncludedChunksPlugin},6642:function(e){"use strict";e.exports=class ModuleKindPlugin{constructor(e,t){this.source=e;this.target=t}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("ModuleKindPlugin",(n,r,i)=>{if(!n.module)return i();const s=Object.assign({},n);delete s.module;e.doResolve(t,s,"resolve as module",r,(e,t)=>{if(e)return i(e);if(t===undefined)return i(null,null);i(null,t)})})}}},6650:function(e){var t=Object.prototype.toString;var n=typeof Buffer.alloc==="function"&&typeof Buffer.allocUnsafe==="function"&&typeof Buffer.from==="function";function isArrayBuffer(e){return t.call(e).slice(8,-1)==="ArrayBuffer"}function fromArrayBuffer(e,t,r){t>>>=0;var i=e.byteLength-t;if(i<0){throw new RangeError("'offset' is out of bounds")}if(r===undefined){r=i}else{r>>>=0;if(r>i){throw new RangeError("'length' is out of bounds")}}return n?Buffer.from(e.slice(t,t+r)):new Buffer(new Uint8Array(e.slice(t,t+r)))}function fromString(e,t){if(typeof t!=="string"||t===""){t="utf8"}if(!Buffer.isEncoding(t)){throw new TypeError('"encoding" must be a valid string encoding')}return n?Buffer.from(e,t):new Buffer(e,t)}function bufferFrom(e,t,r){if(typeof e==="number"){throw new TypeError('"value" argument must not be a number')}if(isArrayBuffer(e)){return fromArrayBuffer(e,t,r)}if(typeof e==="string"){return fromString(e,t)}return n?Buffer.from(e):new Buffer(e)}e.exports=bufferFrom},6674:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:true});var r=n(9492);var i=n(5622);var s=n(6872);function loadConfig(e){if(e===void 0){e=s.options.cwd}return configLoader({cwd:e})}t.loadConfig=loadConfig;function configLoader(e){var t=e.cwd,n=e.explicitParams,s=e.tsConfigLoader,o=s===void 0?r.tsConfigLoader:s;if(n){var a=i.isAbsolute(n.baseUrl)?n.baseUrl:i.join(t,n.baseUrl);return{resultType:"success",configFileAbsolutePath:"",baseUrl:n.baseUrl,absoluteBaseUrl:a,paths:n.paths}}var u=o({cwd:t,getEnv:function(e){return process.env[e]}});if(!u.tsConfigPath){return{resultType:"failed",message:"Couldn't find tsconfig.json"}}if(!u.baseUrl){return{resultType:"failed",message:"Missing baseUrl in compilerOptions"}}var c=i.dirname(u.tsConfigPath);var l=i.join(c,u.baseUrl);return{resultType:"success",configFileAbsolutePath:u.tsConfigPath,baseUrl:u.baseUrl,absoluteBaseUrl:l,paths:u.paths||{}}}t.configLoader=configLoader},6683:function(e,t,n){"use strict";const r=n(5622);const i=n(4426);const s=n(3881);e.exports=class ConcordMainPlugin{constructor(e,t,n){this.source=e;this.options=t;this.target=n}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("ConcordMainPlugin",(n,o,a)=>{if(n.path!==n.descriptionFileRoot)return a();const u=s.getField(n.descriptionFileData,"concord");if(!u)return a();const c=i.getMain(n.context,u);if(!c)return a();const l=Object.assign({},n,{request:c});const f=r.basename(n.descriptionFilePath);return e.doResolve(t,l,"use "+c+" from "+f,o,a)})}}},6690:function(e){"use strict";class RegExpObjectSerializer{serialize(e,{write:t}){t(e.source);t(e.flags)}deserialize({read:e}){return new RegExp(e(),e())}}e.exports=RegExpObjectSerializer},6700:function(e){e.exports=extend;var t=Object.prototype.hasOwnProperty;function extend(){var e={};for(var n=0;n1){throw new Error(m`opts.algorithms only supports a single algorithm for now`)}if(typeof n.size==="number"&&t.length!==n.size){return r.reject(sizeError(n.size,t.length))}const i=d.fromData(t,{algorithms:n.algorithms});if(n.integrity&&!d.checkData(t,n.integrity,n)){return r.reject(checksumError(n.integrity,i))}return r.using(makeTmp(e,n),r=>g(r.target,t,{flag:"wx"}).then(()=>moveToDestination(r,e,i,n))).then(()=>({integrity:i,size:t.length}))}e.exports.stream=writeStream;function writeStream(e,t){t=t||{};const n=new u;let r=false;function errCheck(){if(r){throw r}}let i;const s=p((r,s,o)=>{if(!i){i=handleContent(n,e,t,errCheck)}n.write(r,s,o)},e=>{n.end(()=>{if(!i){const e=new Error(m`Cache input stream was empty`);e.code="ENODATA";return s.emit("error",e)}i.then(t=>{t.integrity&&s.emit("integrity",t.integrity);t.size!==null&&s.emit("size",t.size);e()},e=>{s.emit("error",e)})})});s.once("error",e=>{r=e});return s}function handleContent(e,t,n,i){return r.using(makeTmp(t,n),r=>{i();return pipeToTmp(e,t,r.target,n,i).then(e=>{return moveToDestination(r,t,e.integrity,n,i).then(()=>e)})})}function pipeToTmp(e,t,n,i,s){return r.resolve().then(()=>{let t;let r;const a=d.integrityStream({integrity:i.integrity,algorithms:i.algorithms,size:i.size}).on("integrity",e=>{t=e}).on("size",e=>{r=e});const u=o.createWriteStream(n,{flags:"wx"});s();return l(e,a,u).then(()=>{return{integrity:t,size:r}},e=>{return f(n).then(()=>{throw e})})})}function makeTmp(e,t){const n=h(c.join(e,"tmp"),t.tmpPrefix);return s.mkdirfix(c.dirname(n),t.uid,t.gid).then(()=>({target:n,moved:false})).disposer(e=>!e.moved&&f(e.target))}function moveToDestination(e,t,n,r,o){o&&o();const u=i(t,n);const l=c.dirname(u);return s.mkdirfix(l,r.uid,r.gid).then(()=>{o&&o();return a(e.target,u)}).then(()=>{o&&o();e.moved=true;return s.chownr(u,r.uid,r.gid)})}function sizeError(e,t){var n=new Error(m`Bad data size: expected inserted data to be ${e} bytes, but got ${t} instead`);n.expected=e;n.found=t;n.code="EBADSIZE";return n}function checksumError(e,t){var n=new Error(m`Integrity check failed: + Wanted: ${e} + Found: ${t}`);n.code="EINTEGRITY";n.expected=e;n.found=t;return n}},6713:function(e,t,n){"use strict";const r=n(5622);e.exports=class MainFieldPlugin{constructor(e,t,n){this.source=e;this.options=t;this.target=n}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("MainFieldPlugin",(n,i,s)=>{if(n.path!==n.descriptionFileRoot)return s();if(n.alreadyTriedMainField===n.descriptionFilePath)return s();const o=n.descriptionFileData;const a=r.basename(n.descriptionFilePath);let u;const c=this.options.name;if(Array.isArray(c)){let e=o;for(let t=0;te(n),onDone:t,rethrowIfPossible:n})}}const s=new SyncHookCodeFactory;class SyncHook extends r{tapAsync(){throw new Error("tapAsync is not supported on a SyncHook")}tapPromise(){throw new Error("tapPromise is not supported on a SyncHook")}compile(e){s.setup(this,e);return s.create(e)}}e.exports=SyncHook},6734:function(e,t,n){"use strict";const{OriginalSource:r,RawSource:i}=n(2991);const s=n(3453);const o=n(6150);const a=n(8159);const u=n(6202);const c=(e,t)=>{if(!Array.isArray(e)){e=[e]}const n=e.map(e=>`[${JSON.stringify(e)}]`).join("");return`(function() { module.exports = ${t}${n}; }());`};const l=e=>{if(!Array.isArray(e)){return`module.exports = require(${JSON.stringify(e)});`}const t=e[0];const n=e.slice(1).map(e=>`[${JSON.stringify(e)}]`).join("");return`module.exports = require(${JSON.stringify(t)})${n};`};const f=(e,t,n)=>{return`if(typeof ${e} === 'undefined') { ${n.throwMissingModuleErrorBlock({request:t})} }\n`};const d=(e,t,n,r)=>{const i=`__WEBPACK_EXTERNAL_MODULE_${a.toIdentifier(`${e}`)}__`;const s=t?f(i,Array.isArray(n)?n.join("."):n,r):"";return`${s}module.exports = ${i};`};const p=(e,t,n)=>{if(!Array.isArray(t)){t=[t]}const r=t[0];const i=e?f(r,t.join("."),n):"";const s=t.slice(1).map(e=>`[${JSON.stringify(e)}]`).join("");return`${i}module.exports = ${r}${s};`};class ExternalModule extends s{constructor(e,t,n){super("javascript/dynamic",null);this.request=e;this.externalType=t;this.userRequest=n}libIdent(e){return this.userRequest}chunkCondition(e,{chunkGraph:t}){return t.getNumberOfEntryModules(e)>0}identifier(){return"external "+JSON.stringify(this.request)}readableIdentifier(e){return"external "+JSON.stringify(this.request)}needBuild(e,t){return t(null,!this.buildMeta)}build(e,t,n,r,i){this.buildMeta={};this.buildInfo={};i()}getSourceString(e,t,n){const r=typeof this.request==="object"&&!Array.isArray(this.request)?this.request[this.externalType]:this.request;switch(this.externalType){case"this":case"window":case"self":return c(r,this.externalType);case"global":return c(r,e.outputOptions.globalObject);case"commonjs":case"commonjs2":return l(r);case"amd":case"amd-require":case"umd":case"umd2":case"system":return d(n.getModuleId(this),this.isOptional(t),r,e);default:return p(this.isOptional(t),r,e)}}source({runtimeTemplate:e,moduleGraph:t,chunkGraph:n}){const s=this.getSourceString(e,t,n);if(this.useSourceMap){return new r(s,this.identifier())}else{return new i(s)}}size(e){return 42}getRuntimeRequirements(e){return[o.module]}updateHash(e,t){e.update(this.externalType);e.update(JSON.stringify(this.request));e.update(JSON.stringify(Boolean(this.isOptional(t.moduleGraph))));super.updateHash(e,t)}serialize(e){const{write:t}=e;t(this.request);t(this.externalType);t(this.userRequest);super.serialize(e)}deserialize(e){const{read:t}=e;this.request=t();this.externalType=t();this.userRequest=t();super.deserialize(e)}}u(ExternalModule,"webpack/lib/ExternalModule");e.exports=ExternalModule},6744:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:true});t.removeSections=removeSections;var r=n(8093);var i=n(3104);function removeSections(e,t,n){var s=(0,r.getSectionMetadatas)(e,n);if(s.length===0){throw new Error("Section metadata not found")}return s.reverse().reduce(function(t,s){var o=s.startOffset-1;var a=n==="start"?s.size.loc.end.column+1:s.startOffset+s.size.value+1;var u=-(a-o);var c=false;(0,r.traverse)(e,{SectionMetadata:function SectionMetadata(t){if(t.node.section===n){c=true;return t.remove()}if(c===true){(0,r.shiftSection)(e,t.node,u)}}});var l=[];return(0,i.overrideBytesInBuffer)(t,o,a,l)},t)}},6755:function(e,t,n){"use strict";const r=n(8614).EventEmitter;const i=n(2355);const s=n(5808);const o=n(5622);const a=n(3367);const u=Object.freeze({});let c=1e3;const l=n(2087).platform()==="darwin";const f=process.env.WATCHPACK_POLLING;const d=`${+f}`===f?+f:!!f&&f!=="false";function withoutCase(e){return e.toLowerCase()}class Watcher extends r{constructor(e,t,n){super();this.directoryWatcher=e;this.path=t;this.startTime=n&&+n}checkStartTime(e,t){const n=this.startTime;if(typeof n!=="number")return!t;return n<=e}close(){this.emit("closed")}}class DirectoryWatcher extends r{constructor(e,t){super();if(d){t.poll=d}this.options=t;this.path=e;this.files=new Map;this.directories=new Map;this.lastWatchEvent=0;this.initialScan=true;this.ignored=t.ignored;this.nestedWatching=false;this.polledWatching=typeof t.poll==="number"?t.poll:t.poll?5007:false;this.initialScanRemoved=new Set;this.watchers=new Map;this.parentWatcher=null;this.refs=0;this._activeEvents=new Map;this.closed=false;this.scanning=false;this.scanAgain=false;this.scanAgainInitial=false;this.createWatcher();this.doScan(true)}checkIgnore(e){if(!this.ignored)return false;e=e.replace(/\\/g,"/");return this.ignored.test(e)}createWatcher(){try{if(this.polledWatching){const e=setInterval(()=>{this.doScan(false)},this.polledWatching);this.watcher={close:()=>{clearInterval(e)}}}else{if(l){this.watchInParentDirectory()}this.watcher=s.watch(this.path);this.watcher.on("change",this.onWatchEvent.bind(this));this.watcher.on("error",this.onWatcherError.bind(this))}}catch(e){this.onWatcherError(e)}}forEachWatcher(e,t){const n=this.watchers.get(withoutCase(e));if(n!==undefined){for(const e of n){t(e)}}}setMissing(e,t,n){if(this.initialScan){this.initialScanRemoved.add(e)}const r=this.directories.get(e);if(r){if(this.nestedWatching)r.close();this.directories.delete(e);this.forEachWatcher(e,e=>e.emit("remove",n));if(!t){this.forEachWatcher(this.path,t=>t.emit("change",e,null,n))}}const i=this.files.get(e);if(i){this.files.delete(e);this.forEachWatcher(e,e=>e.emit("remove",n));if(!t){this.forEachWatcher(this.path,t=>t.emit("change",e,null,n))}}}setFileTime(e,t,n,r,i){const s=Date.now();if(this.checkIgnore(e))return;const o=this.files.get(e);let a,u;if(n){a=Math.min(s,t)+c;u=c}else{a=s;u=0}if(r&&o&&o.timestamp===t)return;this.files.set(e,{safeTime:a,accuracy:u,timestamp:t});if(!o){this.forEachWatcher(e,e=>{if(!n||e.checkStartTime(a,n)){e.emit("change",t,i)}})}else if(!n){this.forEachWatcher(e,e=>e.emit("change",t,i))}this.forEachWatcher(this.path,t=>{if(!n||t.checkStartTime(a,n)){t.emit("change",e,a,i)}})}setDirectory(e,t,n,r){if(this.checkIgnore(e))return;if(e===this.path){if(!n){this.forEachWatcher(this.path,n=>n.emit("change",e,t,r))}}else{const i=this.directories.get(e);if(!i){const i=Date.now();if(this.nestedWatching){this.createNestedWatcher(e)}else{this.directories.set(e,true)}let s;if(n){s=Math.min(i,t)+c}else{s=i}this.forEachWatcher(e,e=>{if(!n||e.checkStartTime(s,false)){e.emit("change",t,r)}});this.forEachWatcher(this.path,t=>{if(!n||t.checkStartTime(s,n)){t.emit("change",e,s,r)}})}}}createNestedWatcher(e){const t=a.watchDirectory(e,this.options,1);t.on("change",(e,t,n)=>{this.forEachWatcher(this.path,r=>{if(r.checkStartTime(t,false)){r.emit("change",e,t,n)}})});this.directories.set(e,t)}setNestedWatching(e){if(this.nestedWatching!==!!e){this.nestedWatching=!!e;if(this.nestedWatching){for(const e of this.directories.keys()){this.createNestedWatcher(e)}}else{for(const[e,t]of this.directories){t.close();this.directories.set(e,true)}}}}watch(e,t){const n=withoutCase(e);let r=this.watchers.get(n);if(r===undefined){r=new Set;this.watchers.set(n,r)}this.refs++;const i=new Watcher(this,e,t);i.on("closed",()=>{r.delete(i);if(r.size===0){this.watchers.delete(n);if(this.path===e)this.setNestedWatching(false)}if(--this.refs<=0)this.close()});r.add(i);let s;if(e===this.path){this.setNestedWatching(true);s=this.lastWatchEvent;for(const e of this.files.values()){fixupEntryAccuracy(e);s=Math.max(s,e.safeTime)}}else{const t=this.files.get(e);if(t){fixupEntryAccuracy(t);s=t.safeTime}else{s=0}}process.nextTick(()=>{if(this.closed)return;if(s){if(s>=t)i.emit("change",s)}else if(this.initialScan&&this.initialScanRemoved.has(e)){i.emit("remove")}});return i}onWatchEvent(e,t){if(this.closed)return;if(!t){this.doScan(false);return}const n=o.join(this.path,t);if(this.checkIgnore(n))return;if(this._activeEvents.get(t)===undefined){this._activeEvents.set(t,false);const r=()=>{if(this.closed)return;this._activeEvents.set(t,false);s.stat(n,(i,a)=>{if(this.closed)return;if(this._activeEvents.get(t)===true){process.nextTick(r);return}this._activeEvents.delete(t);if(i){if(i.code!=="ENOENT"&&i.code!=="EPERM"&&i.code!=="EBUSY"){this.onStatsError(i)}else{if(t===o.basename(this.path)){if(!s.existsSync(this.path)){this.onDirectoryRemoved()}}}}this.lastWatchEvent=Date.now();if(!a){this.setMissing(n,false,e)}else if(a.isDirectory()){this.setDirectory(n,+a.mtime||+a.ctime||1,false,e)}else{if(a.mtime){ensureFsAccuracy(a.mtime)}this.setFileTime(n,+a.mtime||+a.ctime||1,false,false,e)}})};process.nextTick(r)}else{this._activeEvents.set(t,true)}}onWatcherError(e){if(this.closed)return;if(e){if(e.code!=="EPERM"&&e.code!=="ENOENT"){console.error("Watchpack Error (watcher): "+e)}this.onDirectoryRemoved()}}onStatsError(e){if(e){console.error("Watchpack Error (stats): "+e)}}onScanError(e){if(e){console.error("Watchpack Error (initial scan): "+e)}}onDirectoryRemoved(){if(this.watcher){this.watcher.close(),this.watcher=null}this.watchInParentDirectory();for(const e of this.directories.keys()){this.setMissing(e,null,"directory-removed")}for(const e of this.files.keys()){this.setMissing(e,null,"directory-removed")}}watchInParentDirectory(){if(!this.parentWatcher){const e=o.dirname(this.path);if(o.dirname(e)===e)return;this.parentWatcher=a.watchFile(this.path,this.options,1);this.parentWatcher.on("change",(e,t)=>{if(this.closed)return;if((!l||this.polledWatching)&&this.parentWatcher){this.parentWatcher.close();this.parentWatcher=null}if(!this.watcher){this.createWatcher();this.doScan(false);this.forEachWatcher(this.path,n=>n.emit("change",this.path,e,t))}});this.parentWatcher.on("remove",()=>{this.onDirectoryRemoved()})}}doScan(e){if(this.scanning){if(this.scanAgain){if(!e)this.scanAgainInitial=false}else{this.scanAgain=true;this.scanAgainInitial=e}return}this.scanning=true;s.readdir(this.path,(t,n)=>{if(this.closed)return;if(t){if(t.code==="ENOENT"||t.code==="EPERM"){this.onDirectoryRemoved()}else{this.onScanError(t)}this.initialScan=false;if(this.scanAgain){this.scanAgain=false;this.doScan(this.scanAgainInitial)}else{this.scanning=false}return}const r=new Set(n.map(e=>o.join(this.path,e)));for(const t of this.files.keys()){if(!r.has(t)){this.setMissing(t,e,"scan (missing)")}}for(const t of this.directories.keys()){if(!r.has(t)){this.setMissing(t,e,"scan (missing)")}}if(this.scanAgain){this.scanAgain=false;this.doScan(e);return}i.forEach(r,(t,n)=>{s.stat(t,(r,i)=>{if(this.closed)return;if(r){if(r.code==="ENOENT"||r.code==="EPERM"||r.code==="EBUSY"){this.setMissing(t,e,"scan ("+r.code+")")}else{this.onScanError(r)}n();return}if(i.isFile()){if(i.mtime){ensureFsAccuracy(i.mtime)}this.setFileTime(t,+i.mtime||+i.ctime||1,e,true,"scan (file)")}else if(i.isDirectory()){if(!e||!this.directories.has(t))this.setDirectory(t,+i.mtime||+i.ctime||1,e,"scan (dir)")}n()})},()=>{if(this.closed)return;this.initialScan=false;this.initialScanRemoved=null;if(this.scanAgain){this.scanAgain=false;this.doScan(this.scanAgainInitial)}else{this.scanning=false}})})}getTimes(){const e=Object.create(null);let t=this.lastWatchEvent;for(const[n,r]of this.files){fixupEntryAccuracy(r);t=Math.max(t,r.safeTime);e[n]=Math.max(r.safeTime,r.timestamp)}if(this.nestedWatching){for(const n of this.directories.values()){const r=n.directoryWatcher.getTimes();Object.keys(r).forEach(function(n){const i=r[n];t=Math.max(t,i);e[n]=i})}e[this.path]=t}if(!this.initialScan){for(const t of this.watchers.values()){for(const n of t){const t=n.path;if(!Object.prototype.hasOwnProperty.call(e,t)){e[t]=null}}}}return e}getTimeInfoEntries(){const e=new Map;let t=this.lastWatchEvent;for(const[n,r]of this.files){fixupEntryAccuracy(r);t=Math.max(t,r.safeTime);e.set(n,r)}if(this.nestedWatching){for(const n of this.directories.values()){const r=n.directoryWatcher.getTimeInfoEntries();for(const[n,i]of r){if(i){t=Math.max(t,i.safeTime)}e.set(n,i)}}e.set(this.path,{safeTime:t})}else{for(const t of this.directories.keys()){e.set(t,u)}e.set(this.path,u)}if(!this.initialScan){for(const t of this.watchers.values()){for(const n of t){const t=n.path;if(!e.has(t)){e.set(t,null)}}}}return e}close(){this.closed=true;this.initialScan=false;if(this.watcher){this.watcher.close();this.watcher=null}if(this.nestedWatching){for(const e of this.directories.values()){e.close()}this.directories.clear()}if(this.parentWatcher){this.parentWatcher.close();this.parentWatcher=null}this.emit("closed")}}e.exports=DirectoryWatcher;e.exports.EXISTANCE_ONLY_TIME_ENTRY=u;function fixupEntryAccuracy(e){if(e.accuracy>c){e.safeTime=e.safeTime-e.accuracy+c;e.accuracy=c}}function ensureFsAccuracy(e){if(!e)return;if(c>1&&e%1!==0)c=1;else if(c>10&&e%10!==0)c=10;else if(c>100&&e%100!==0)c=100}},6756:function(e,t,n){"use strict";const r=n(1627);e.exports=class HarmonyLinkingError extends r{constructor(e){super(e);this.name="HarmonyLinkingError";this.hideStack=true;Error.captureStackTrace(this,this.constructor)}}},6760:function(e,t,n){"use strict";const r=n(7332);const i=n(1165);class AsyncSeriesWaterfallHookCodeFactory extends i{content({onError:e,onResult:t,onDone:n}){return this.callTapsSeries({onError:(t,n,r,i)=>e(n)+i(true),onResult:(e,t,n)=>{let r="";r+=`if(${t} !== undefined) {\n`;r+=`${this._args[0]} = ${t};\n`;r+=`}\n`;r+=n();return r},onDone:()=>t(this._args[0])})}}const s=new AsyncSeriesWaterfallHookCodeFactory;class AsyncSeriesWaterfallHook extends r{constructor(e){super(e);if(e.length<1)throw new Error("Waterfall hooks must have at least one argument")}compile(e){s.setup(this,e);return s.create(e)}}Object.defineProperties(AsyncSeriesWaterfallHook.prototype,{_call:{value:undefined,configurable:true,writable:true}});e.exports=AsyncSeriesWaterfallHook},6763:function(e,t,n){"use strict";const r=n(6853);const i=n(7305);const s=n(6417);const o=n(854);const a=n(8681);const u=n(5808);const c=n(1481);const l=n(6890);const f=n(5622);const d=n(3566);const p=n(5144);const h=n(3148)["cache-version"].index;const m=r.promisify(u.appendFile);const g=r.promisify(u.readFile);const y=r.promisify(u.readdir);const v=l.concat;const b=l.from;e.exports.NotFoundError=class NotFoundError extends Error{constructor(e,t){super(p`No cache entry for \`${t}\` found in \`${e}\``);this.code="ENOENT";this.cache=e;this.key=t}};const w=o({metadata:{},size:{},uid:{},gid:{}});e.exports.insert=insert;function insert(e,t,n,r){r=w(r);const i=bucketPath(e,t);const s={key:t,integrity:n&&d.stringify(n),time:Date.now(),size:r.size,metadata:r.metadata};return a.mkdirfix(f.dirname(i),r.uid,r.gid).then(()=>{const e=JSON.stringify(s);return m(i,`\n${hashEntry(e)}\t${e}`)}).then(()=>a.chownr(i,r.uid,r.gid)).catch({code:"ENOENT"},()=>{}).then(()=>{return formatEntry(e,s)})}e.exports.insert.sync=insertSync;function insertSync(e,t,n,r){r=w(r);const i=bucketPath(e,t);const s={key:t,integrity:n&&d.stringify(n),time:Date.now(),size:r.size,metadata:r.metadata};a.mkdirfix.sync(f.dirname(i),r.uid,r.gid);const o=JSON.stringify(s);u.appendFileSync(i,`\n${hashEntry(o)}\t${o}`);try{a.chownr.sync(i,r.uid,r.gid)}catch(e){if(e.code!=="ENOENT"){throw e}}return formatEntry(e,s)}e.exports.find=find;function find(e,t){const n=bucketPath(e,t);return bucketEntries(n).then(n=>{return n.reduce((n,r)=>{if(r&&r.key===t){return formatEntry(e,r)}else{return n}},null)}).catch(e=>{if(e.code==="ENOENT"){return null}else{throw e}})}e.exports.find.sync=findSync;function findSync(e,t){const n=bucketPath(e,t);try{return bucketEntriesSync(n).reduce((n,r)=>{if(r&&r.key===t){return formatEntry(e,r)}else{return n}},null)}catch(e){if(e.code==="ENOENT"){return null}else{throw e}}}e.exports.delete=del;function del(e,t,n){return insert(e,t,null,n)}e.exports.delete.sync=delSync;function delSync(e,t,n){return insertSync(e,t,null,n)}e.exports.lsStream=lsStream;function lsStream(e){const t=bucketDir(e);const n=b.obj();readdirOrEmpty(t).map(r=>{const i=f.join(t,r);return readdirOrEmpty(i).map(t=>{const r=f.join(i,t);return readdirOrEmpty(r).map(t=>{const i=bucketEntries(f.join(r,t)).reduce((e,t)=>{e.set(t.key,t);return e},new Map);return i.then(t=>{for(let r of t.values()){const t=formatEntry(e,r);t&&n.push(t)}}).catch({code:"ENOENT"},nop)})})}).then(()=>{n.push(null)},e=>{n.emit("error",e)});return n}e.exports.ls=ls;function ls(e){return r.fromNode(t=>{lsStream(e).on("error",t).pipe(v(e=>{t(null,e.reduce((e,t)=>{e[t.key]=t;return e},{}))}))})}function bucketEntries(e,t){return g(e,"utf8").then(e=>_bucketEntries(e,t))}function bucketEntriesSync(e,t){const n=u.readFileSync(e,"utf8");return _bucketEntries(n,t)}function _bucketEntries(e,t){let n=[];e.split("\n").forEach(e=>{if(!e){return}const t=e.split("\t");if(!t[1]||hashEntry(t[1])!==t[0]){return}let r;try{r=JSON.parse(t[1])}catch(e){return}if(r){n.push(r)}});return n}e.exports._bucketDir=bucketDir;function bucketDir(e){return f.join(e,`index-v${h}`)}e.exports._bucketPath=bucketPath;function bucketPath(e,t){const n=hashKey(t);return f.join.apply(f,[bucketDir(e)].concat(c(n)))}e.exports._hashKey=hashKey;function hashKey(e){return hash(e,"sha256")}e.exports._hashEntry=hashEntry;function hashEntry(e){return hash(e,"sha1")}function hash(e,t){return s.createHash(t).update(e).digest("hex")}function formatEntry(e,t){if(!t.integrity){return null}return{key:t.key,integrity:t.integrity,path:i(e,t.integrity),size:t.size,time:t.time,metadata:t.metadata}}function readdirOrEmpty(e){return y(e).catch({code:"ENOENT"},()=>[]).catch({code:"ENOTDIR"},()=>[])}function nop(){}},6802:function(e,t,n){"use strict";const{Tracer:r}=n(5954);const i=n(538);const s=n(7684);const{dirname:o,mkdirpSync:a}=n(5396);let u=undefined;try{u=n(7012)}catch(e){console.log("Unable to CPU profile in < node 8.0")}class Profiler{constructor(e){this.session=undefined;this.inspector=e}hasSession(){return this.session!==undefined}startProfiling(){if(this.inspector===undefined){return Promise.resolve()}try{this.session=new u.Session;this.session.connect()}catch(e){this.session=undefined;return Promise.resolve()}return Promise.all([this.sendCommand("Profiler.setSamplingInterval",{interval:100}),this.sendCommand("Profiler.enable"),this.sendCommand("Profiler.start")])}sendCommand(e,t){if(this.hasSession()){return new Promise((n,r)=>{return this.session.post(e,t,(e,t)=>{if(e!==null){r(e)}else{n(t)}})})}else{return Promise.resolve()}}destroy(){if(this.hasSession()){this.session.disconnect()}return Promise.resolve()}stopProfiling(){return this.sendCommand("Profiler.stop")}}const c=(e,t)=>{const n=new r({noStream:true});const i=new Profiler(u);if(/\/|\\/.test(t)){const n=o(e,t);a(e,n)}const s=e.createWriteStream(t);let c=0;n.pipe(s);n.instantEvent({name:"TracingStartedInPage",id:++c,cat:["disabled-by-default-devtools.timeline"],args:{data:{sessionId:"-1",page:"0xfff",frames:[{frame:"0xfff",url:"webpack",name:""}]}}});n.instantEvent({name:"TracingStartedInBrowser",id:++c,cat:["disabled-by-default-devtools.timeline"],args:{data:{sessionId:"-1"}}});return{trace:n,counter:c,profiler:i,end:e=>{s.on("finish",()=>{e()});n.push(null)}}};const l="ProfilingPlugin";class ProfilingPlugin{constructor(e){i(s,e||{},"Profiling plugin");e=e||{};this.outputPath=e.outputPath||"events.json"}apply(e){const t=c(e.intermediateFileSystem,this.outputPath);t.profiler.startProfiling();Object.keys(e.hooks).forEach(n=>{e.hooks[n].intercept(h("Compiler",t)(n))});Object.keys(e.resolverFactory.hooks).forEach(n=>{e.resolverFactory.hooks[n].intercept(h("Resolver",t)(n))});e.hooks.compilation.tap(l,(e,{normalModuleFactory:n,contextModuleFactory:r})=>{d(e,t,"Compilation");d(n,t,"Normal Module Factory");d(r,t,"Context Module Factory");p(n,t);f(e,t)});e.hooks.done.tapAsync({name:l,stage:Infinity},(e,n)=>{t.profiler.stopProfiling().then(e=>{if(e===undefined){t.profiler.destroy();t.trace.flush();t.end(n);return}const r=e.profile.startTime;const i=e.profile.endTime;t.trace.completeEvent({name:"TaskQueueManager::ProcessTaskFromWorkQueue",id:++t.counter,cat:["toplevel"],ts:r,args:{src_file:"../../ipc/ipc_moji_bootstrap.cc",src_func:"Accept"}});t.trace.completeEvent({name:"EvaluateScript",id:++t.counter,cat:["devtools.timeline"],ts:r,dur:i-r,args:{data:{url:"webpack",lineNumber:1,columnNumber:1,frame:"0xFFF"}}});t.trace.instantEvent({name:"CpuProfile",id:++t.counter,cat:["disabled-by-default-devtools.timeline"],ts:i,args:{data:{cpuProfile:e.profile}}});t.profiler.destroy();t.trace.flush();t.end(n)})})}}const f=(e,t)=>{const{mainTemplate:n,chunkTemplate:r,moduleTemplates:i}=e;const{javascript:s,webassembly:o}=i;[{instance:n,name:"MainTemplate"},{instance:r,name:"ChunkTemplate"},{instance:s,name:"JavaScriptModuleTemplate"},{instance:o,name:"WebAssemblyModuleTemplate"}].forEach(e=>{Object.keys(e.instance.hooks).forEach(n=>{e.instance.hooks[n].intercept(h(e.name,t)(n))})})};const d=(e,t,n)=>{if(Reflect.has(e,"hooks")){Object.keys(e.hooks).forEach(r=>{e.hooks[r].intercept(h(n,t)(r))})}};const p=(e,t)=>{const n=["javascript/auto","javascript/dynamic","javascript/esm","json","webassembly/async-experimental","webassembly/experimental"];n.forEach(n=>{e.hooks.parser.for(n).tap("ProfilingPlugin",(e,n)=>{d(e,t,"Parser")})})};const h=(e,t)=>e=>({register:({name:n,type:r,context:i,fn:s})=>{const o=m(e,t,{name:n,type:r,fn:s});return{name:n,type:r,context:i,fn:o}}});const m=(e,t,{name:n,type:r,fn:i})=>{const s=["blink.user_timing"];switch(r){case"promise":return(...e)=>{const r=++t.counter;t.trace.begin({name:n,id:r,cat:s});const o=i(...e);return o.then(e=>{t.trace.end({name:n,id:r,cat:s});return e})};case"async":return(...e)=>{const r=++t.counter;t.trace.begin({name:n,id:r,cat:s});i(...e,(...i)=>{const o=e.pop();t.trace.end({name:n,id:r,cat:s});o(...i)})};case"sync":return(...e)=>{const r=++t.counter;if(n===l){return i(...e)}t.trace.begin({name:n,id:r,cat:s});let o;try{o=i(...e)}catch(e){t.trace.end({name:n,id:r,cat:s});throw e}t.trace.end({name:n,id:r,cat:s});return o};default:break}};e.exports=ProfilingPlugin;e.exports.Profiler=Profiler},6804:function(e,t,n){"use strict";const r=n(2991).OriginalSource;const i=n(3453);const s=new Set(["runtime"]);class RuntimeModule extends i{constructor(e,t=0){super("runtime");this.name=e;this.stage=t;this.buildMeta={};this.buildInfo={};this._cachedGeneratedCode=undefined}identifier(){return`webpack/runtime/${this.name}`}readableIdentifier(e){return`webpack/runtime/${this.name}`}needBuild(e,t){return t(null,false)}build(e,t,n,r,i){i()}updateHash(e,t){e.update(this.generate());super.updateHash(e,t)}getSourceTypes(){return s}source(e){return new r(this.getGeneratedCode(),this.identifier())}size(e){return this.getGeneratedCode().length}generate(){throw new Error(`RuntimeModule: generate() must be overriden in subclass ${this.name}`)}getGeneratedCode(){if(this._cachedGeneratedCode){return this._cachedGeneratedCode}return this._cachedGeneratedCode=this.generate()}}e.exports=RuntimeModule},6811:function(e){"use strict";e.exports=((e,t)=>{t=t||process.argv;const n=e.startsWith("-")?"":e.length===1?"-":"--";const r=t.indexOf(n+e);const i=t.indexOf("--");return r!==-1&&(i===-1?true:r=0){return t}}else{var n=r.toSetString(e);if(i.call(this._set,n)){return this._set[n]}}throw new Error('"'+e+'" is not in the set.')};ArraySet.prototype.at=function ArraySet_at(e){if(e>=0&&e1){var n=new Array(t-1),r=0,s;for(s=0;s0&&typeof e!=="function"&&typeof t!=="function"){var n=".then() only accepts functions but was passed: "+o.classString(e);if(arguments.length>1){n+=", "+o.classString(t)}this._warn(n)}return this._then(e,t,undefined,undefined,undefined)};Promise.prototype.done=function(e,t){var n=this._then(e,t,undefined,undefined,undefined);n._setIsFinal()};Promise.prototype.spread=function(e){if(typeof e!=="function"){return i("expecting a function but got "+o.classString(e))}return this.all()._then(e,undefined,undefined,_,undefined)};Promise.prototype.toJSON=function(){var e={isFulfilled:false,isRejected:false,fulfillmentValue:undefined,rejectionReason:undefined};if(this.isFulfilled()){e.fulfillmentValue=this.value();e.isFulfilled=true}else if(this.isRejected()){e.rejectionReason=this.reason();e.isRejected=true}return e};Promise.prototype.all=function(){if(arguments.length>0){this._warn(".all() was passed arguments but it does not take any")}return new C(this).promise()};Promise.prototype.error=function(e){return this.caught(o.originatesFromRejection,e)};Promise.getNewLibraryCopy=e.exports;Promise.is=function(e){return e instanceof Promise};Promise.fromNode=Promise.fromCallback=function(e){var t=new Promise(E);t._captureStackTrace();var n=arguments.length>1?!!Object(arguments[1]).multiArgs:false;var r=R(e)(F(t,n));if(r===I){t._rejectCallback(r.e,true)}if(!t._isFateSealed())t._setAsyncGuaranteed();return t};Promise.all=function(e){return new C(e).promise()};Promise.cast=function(e){var t=k(e);if(!(t instanceof Promise)){t=new Promise(E);t._captureStackTrace();t._setFulfilled();t._rejectionHandler0=e}return t};Promise.resolve=Promise.fulfilled=Promise.cast;Promise.reject=Promise.rejected=function(e){var t=new Promise(E);t._captureStackTrace();t._rejectCallback(e,true);return t};Promise.setScheduler=function(e){if(typeof e!=="function"){throw new b("expecting a function but got "+o.classString(e))}return y.setScheduler(e)};Promise.prototype._then=function(e,t,n,r,i){var s=i!==undefined;var a=s?i:new Promise(E);var u=this._target();var c=u._bitField;if(!s){a._propagateFrom(this,3);a._captureStackTrace();if(r===undefined&&(this._bitField&2097152)!==0){if(!((c&50397184)===0)){r=this._boundValue()}else{r=u===this?undefined:this._boundTo}}this._fireEvent("promiseChained",this,a)}var l=d();if(!((c&50397184)===0)){var f,p,h=u._settlePromiseCtx;if((c&33554432)!==0){p=u._rejectionHandler0;f=e}else if((c&16777216)!==0){p=u._fulfillmentHandler0;f=t;u._unsetRejectionIsUnhandled()}else{h=u._settlePromiseLateCancellationObserver;p=new w("late cancellation observer");u._attachExtraTrace(p);f=t}y.invoke(h,u,{handler:o.contextBind(l,f),promise:a,receiver:r,value:p})}else{u._addCallbacks(e,t,a,r,l)}return a};Promise.prototype._length=function(){return this._bitField&65535};Promise.prototype._isFateSealed=function(){return(this._bitField&117506048)!==0};Promise.prototype._isFollowing=function(){return(this._bitField&67108864)===67108864};Promise.prototype._setLength=function(e){this._bitField=this._bitField&-65536|e&65535};Promise.prototype._setFulfilled=function(){this._bitField=this._bitField|33554432;this._fireEvent("promiseFulfilled",this)};Promise.prototype._setRejected=function(){this._bitField=this._bitField|16777216;this._fireEvent("promiseRejected",this)};Promise.prototype._setFollowing=function(){this._bitField=this._bitField|67108864;this._fireEvent("promiseResolved",this)};Promise.prototype._setIsFinal=function(){this._bitField=this._bitField|4194304};Promise.prototype._isFinal=function(){return(this._bitField&4194304)>0};Promise.prototype._unsetCancelled=function(){this._bitField=this._bitField&~65536};Promise.prototype._setCancelled=function(){this._bitField=this._bitField|65536;this._fireEvent("promiseCancelled",this)};Promise.prototype._setWillBeCancelled=function(){this._bitField=this._bitField|8388608};Promise.prototype._setAsyncGuaranteed=function(){if(y.hasCustomScheduler())return;var e=this._bitField;this._bitField=e|(e&536870912)>>2^134217728};Promise.prototype._setNoAsyncGuarantee=function(){this._bitField=(this._bitField|536870912)&~134217728};Promise.prototype._receiverAt=function(e){var t=e===0?this._receiver0:this[e*4-4+3];if(t===s){return undefined}else if(t===undefined&&this._isBound()){return this._boundValue()}return t};Promise.prototype._promiseAt=function(e){return this[e*4-4+2]};Promise.prototype._fulfillmentHandlerAt=function(e){return this[e*4-4+0]};Promise.prototype._rejectionHandlerAt=function(e){return this[e*4-4+1]};Promise.prototype._boundValue=function(){};Promise.prototype._migrateCallback0=function(e){var t=e._bitField;var n=e._fulfillmentHandler0;var r=e._rejectionHandler0;var i=e._promise0;var o=e._receiverAt(0);if(o===undefined)o=s;this._addCallbacks(n,r,i,o,null)};Promise.prototype._migrateCallbackAt=function(e,t){var n=e._fulfillmentHandlerAt(t);var r=e._rejectionHandlerAt(t);var i=e._promiseAt(t);var o=e._receiverAt(t);if(o===undefined)o=s;this._addCallbacks(n,r,i,o,null)};Promise.prototype._addCallbacks=function(e,t,n,r,i){var s=this._length();if(s>=65535-4){s=0;this._setLength(0)}if(s===0){this._promise0=n;this._receiver0=r;if(typeof e==="function"){this._fulfillmentHandler0=o.contextBind(i,e)}if(typeof t==="function"){this._rejectionHandler0=o.contextBind(i,t)}}else{var a=s*4-4;this[a+2]=n;this[a+3]=r;if(typeof e==="function"){this[a+0]=o.contextBind(i,e)}if(typeof t==="function"){this[a+1]=o.contextBind(i,t)}}this._setLength(s+1);return s};Promise.prototype._proxy=function(e,t){this._addCallbacks(undefined,undefined,t,e,null)};Promise.prototype._resolveCallback=function(e,n){if((this._bitField&117506048)!==0)return;if(e===this)return this._rejectCallback(t(),false);var r=k(e,this);if(!(r instanceof Promise))return this._fulfill(e);if(n)this._propagateFrom(r,2);var i=r._target();if(i===this){this._reject(t());return}var s=i._bitField;if((s&50397184)===0){var o=this._length();if(o>0)i._migrateCallback0(this);for(var a=1;a>>16)return;if(e===this){var r=t();this._attachExtraTrace(r);return this._reject(r)}this._setFulfilled();this._rejectionHandler0=e;if((n&65535)>0){if((n&134217728)!==0){this._settlePromises()}else{y.settlePromises(this)}this._dereferenceTrace()}};Promise.prototype._reject=function(e){var t=this._bitField;if((t&117506048)>>>16)return;this._setRejected();this._fulfillmentHandler0=e;if(this._isFinal()){return y.fatalError(e,o.isNode)}if((t&65535)>0){y.settlePromises(this)}else{this._ensurePossibleRejectionHandled()}};Promise.prototype._fulfillPromises=function(e,t){for(var n=1;n0){if((e&16842752)!==0){var n=this._fulfillmentHandler0;this._settlePromise0(this._rejectionHandler0,n,e);this._rejectPromises(t,n)}else{var r=this._rejectionHandler0;this._settlePromise0(this._fulfillmentHandler0,r,e);this._fulfillPromises(t,r)}this._setLength(0)}this._clearCancellationData()};Promise.prototype._settledValue=function(){var e=this._bitField;if((e&33554432)!==0){return this._rejectionHandler0}else if((e&16777216)!==0){return this._fulfillmentHandler0}};if(typeof Symbol!=="undefined"&&Symbol.toStringTag){m.defineProperty(Promise.prototype,Symbol.toStringTag,{get:function(){return"Object"}})}function deferResolve(e){this.promise._resolveCallback(e)}function deferReject(e){this.promise._rejectCallback(e,false)}Promise.defer=Promise.pending=function(){x.deprecated("Promise.defer","new Promise");var e=new Promise(E);return{promise:e,resolve:deferResolve,reject:deferReject}};o.notEnumerableProp(Promise,"_makeSelfResolutionError",t);n(2768)(Promise,E,k,i,x);n(6088)(Promise,E,k,x);n(9462)(Promise,C,i,x);n(7926)(Promise);n(3610)(Promise);n(5138)(Promise,C,k,E,y);Promise.Promise=Promise;Promise.version="3.7.2";n(1623)(Promise);n(3924)(Promise,i,E,k,Proxyable,x);n(2412)(Promise,C,i,k,E,x);n(7514)(Promise);n(5289)(Promise,E);n(5256)(Promise,C,k,i);n(5527)(Promise,E,k,i);n(6356)(Promise,C,i,k,E,x);n(3487)(Promise,C,x);n(9853)(Promise,C,i);n(9880)(Promise,E,x);n(4945)(Promise,i,k,A,E,x);n(4631)(Promise);n(5882)(Promise,E);n(3366)(Promise,E);o.toFastProperties(Promise);o.toFastProperties(Promise.prototype);function fillTypes(e){var t=new Promise(E);t._fulfillmentHandler0=e;t._rejectionHandler0=e;t._promise0=e;t._receiver0=e}fillTypes({a:1});fillTypes({b:2});fillTypes({c:3});fillTypes(1);fillTypes(function(){});fillTypes(undefined);fillTypes(false);fillTypes(new Promise(E));x.setBounds(g.firstLineError,o.lastLineError);return Promise}},6867:function(e){"use strict";class SourceMapDevToolModuleOptionsPlugin{constructor(e){this.options=e}apply(e){const t=this.options;if(t.module!==false){e.hooks.buildModule.tap("SourceMapDevToolModuleOptionsPlugin",e=>{e.useSourceMap=true})}}}e.exports=SourceMapDevToolModuleOptionsPlugin},6872:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:true});var r=n(535);var i=r(process.argv.slice(2),{string:["project"],alias:{project:["P"]}});var s=i&&i.project;t.options={cwd:s||process.cwd()}},6890:function(e,t,n){e.exports.pipe=n(9064);e.exports.each=n(3689);e.exports.pipeline=n(9617);e.exports.duplex=n(3339);e.exports.through=n(9401);e.exports.concat=n(6902);e.exports.finished=n(2599);e.exports.from=n(6484);e.exports.to=n(7588);e.exports.parallel=n(2372)},6900:function(e,t,n){t.SourceListMap=n(3273);t.SourceNode=n(9043);t.SingleLineNode=n(6979);t.CodeNode=n(7746);t.MappingsContext=n(47);t.fromStringWithSourceMap=n(8494)},6902:function(e,t,n){var r=n(2453).Writable;var i=n(8309);var s=n(6650);if(typeof Uint8Array==="undefined"){var o=n(7511).Uint8Array}else{var o=Uint8Array}function ConcatStream(e,t){if(!(this instanceof ConcatStream))return new ConcatStream(e,t);if(typeof e==="function"){t=e;e={}}if(!e)e={};var n=e.encoding;var i=false;if(!n){i=true}else{n=String(n).toLowerCase();if(n==="u8"||n==="uint8"){n="uint8array"}}r.call(this,{objectMode:true});this.encoding=n;this.shouldInferEncoding=i;if(t)this.on("finish",function(){t(this.getBody())});this.body=[]}e.exports=ConcatStream;i(ConcatStream,r);ConcatStream.prototype._write=function(e,t,n){this.body.push(e);n()};ConcatStream.prototype.inferEncoding=function(e){var t=e===undefined?this.body[0]:e;if(Buffer.isBuffer(t))return"buffer";if(typeof Uint8Array!=="undefined"&&t instanceof Uint8Array)return"uint8array";if(Array.isArray(t))return"array";if(typeof t==="string")return"string";if(Object.prototype.toString.call(t)==="[object Object]")return"object";return"buffer"};ConcatStream.prototype.getBody=function(){if(!this.encoding&&this.body.length===0)return[];if(this.shouldInferEncoding)this.encoding=this.inferEncoding();if(this.encoding==="array")return arrayConcat(this.body);if(this.encoding==="string")return stringConcat(this.body);if(this.encoding==="buffer")return bufferConcat(this.body);if(this.encoding==="uint8array")return u8Concat(this.body);return this.body};var a=Array.isArray||function(e){return Object.prototype.toString.call(e)=="[object Array]"};function isArrayish(e){return/Array\]$/.test(Object.prototype.toString.call(e))}function isBufferish(e){return typeof e==="string"||isArrayish(e)||e&&typeof e.subarray==="function"}function stringConcat(e){var t=[];var n=false;for(var r=0;rPromise.resolve(e).then(t);const s=e=>Promise.all(e).then(e=>e[1]===true&&Promise.reject(new EndError(e[0])));e.exports=((e,t,n)=>{n=Object.assign({concurrency:Infinity,preserveOrder:true},n);const o=r(n.concurrency);const a=[...e].map(e=>[e,o(i,e,t)]);const u=r(n.preserveOrder?1:Infinity);return Promise.all(a.map(e=>u(s,e))).then(()=>{}).catch(e=>e instanceof EndError?e.value:Promise.reject(e))})},6941:function(e){e.exports={assert:true,async_hooks:">= 8",buffer_ieee754:"< 0.9.7",buffer:true,child_process:true,cluster:true,console:true,constants:true,crypto:true,_debugger:"< 8",dgram:true,dns:true,domain:true,events:true,freelist:"< 6",fs:true,"fs/promises":">= 10 && < 10.1",_http_agent:">= 0.11.1",_http_client:">= 0.11.1",_http_common:">= 0.11.1",_http_incoming:">= 0.11.1",_http_outgoing:">= 0.11.1",_http_server:">= 0.11.1",http:true,http2:">= 8.8",https:true,inspector:">= 8.0.0",_linklist:"< 8",module:true,net:true,"node-inspect/lib/_inspect":">= 7.6.0 && < 12","node-inspect/lib/internal/inspect_client":">= 7.6.0 && < 12","node-inspect/lib/internal/inspect_repl":">= 7.6.0 && < 12",os:true,path:true,perf_hooks:">= 8.5",process:">= 1",punycode:true,querystring:true,readline:true,repl:true,smalloc:">= 0.11.5 && < 3",_stream_duplex:">= 0.9.4",_stream_transform:">= 0.9.4",_stream_wrap:">= 1.4.1",_stream_passthrough:">= 0.9.4",_stream_readable:">= 0.9.4",_stream_writable:">= 0.9.4",stream:true,string_decoder:true,sys:true,timers:true,_tls_common:">= 0.11.13",_tls_legacy:">= 0.11.3 && < 10",_tls_wrap:">= 0.11.3",tls:true,trace_events:">= 10",tty:true,url:true,util:true,"v8/tools/arguments":">= 10 && < 12","v8/tools/codemap":[">= 4.4.0 && < 5",">= 5.2.0 && < 12"],"v8/tools/consarray":[">= 4.4.0 && < 5",">= 5.2.0 && < 12"],"v8/tools/csvparser":[">= 4.4.0 && < 5",">= 5.2.0 && < 12"],"v8/tools/logreader":[">= 4.4.0 && < 5",">= 5.2.0 && < 12"],"v8/tools/profile_view":[">= 4.4.0 && < 5",">= 5.2.0 && < 12"],"v8/tools/splaytree":[">= 4.4.0 && < 5",">= 5.2.0 && < 12"],v8:">= 1",vm:true,worker_threads:">= 11.7",zlib:true}},6950:function(e,t,n){"use strict";const r=n(8120);class Definition{constructor(e,t,n,r,i,s){this.type=e;this.name=t;this.node=n;this.parent=r;this.index=i;this.kind=s}}class ParameterDefinition extends Definition{constructor(e,t,n,i){super(r.Parameter,e,t,null,n,null);this.rest=i}}e.exports={ParameterDefinition:ParameterDefinition,Definition:Definition}},6958:function(e){"use strict";e.exports=function generate__limitItems(e,t,n){var r=" ";var i=e.level;var s=e.dataLevel;var o=e.schema[t];var a=e.schemaPath+e.util.getProperty(t);var u=e.errSchemaPath+"/"+t;var c=!e.opts.allErrors;var l;var f="data"+(s||"");var d=e.opts.$data&&o&&o.$data,p;if(d){r+=" var schema"+i+" = "+e.util.getData(o.$data,s,e.dataPathArr)+"; ";p="schema"+i}else{p=o}var h=t=="maxItems"?">":"<";r+="if ( ";if(d){r+=" ("+p+" !== undefined && typeof "+p+" != 'number') || "}r+=" "+f+".length "+h+" "+p+") { ";var l=t;var m=m||[];m.push(r);r="";if(e.createErrors!==false){r+=" { keyword: '"+(l||"_limitItems")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { limit: "+p+" } ";if(e.opts.messages!==false){r+=" , message: 'should NOT have ";if(t=="maxItems"){r+="more"}else{r+="fewer"}r+=" than ";if(d){r+="' + "+p+" + '"}else{r+=""+o}r+=" items' "}if(e.opts.verbose){r+=" , schema: ";if(d){r+="validate.schema"+a}else{r+=""+o}r+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+f+" "}r+=" } "}else{r+=" {} "}var g=r;r=m.pop();if(!e.compositeRule&&c){if(e.async){r+=" throw new ValidationError(["+g+"]); "}else{r+=" validate.errors = ["+g+"]; return false; "}}else{r+=" var err = "+g+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}r+="} ";if(c){r+=" else { "}return r}},6960:function(e,t,n){"use strict";const r=n(6150);const i=n(6202);const s=n(2197);const o={f:{definition:"var __WEBPACK_AMD_DEFINE_RESULT__;",content:`!(__WEBPACK_AMD_DEFINE_RESULT__ = (#).call(exports, __webpack_require__, exports, module),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__))`,reqs:[r.require,r.exports,r.module]},o:{definition:"",content:"!(module.exports = #)",reqs:[r.module]},of:{definition:"var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;",content:`!(__WEBPACK_AMD_DEFINE_FACTORY__ = (#),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) :\n\t\t__WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__))`,reqs:[r.require,r.exports,r.module]},af:{definition:"var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;",content:`!(__WEBPACK_AMD_DEFINE_ARRAY__ = #, __WEBPACK_AMD_DEFINE_RESULT__ = (#).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__))`,reqs:[r.exports,r.module]},ao:{definition:"",content:"!(#, module.exports = #)",reqs:[r.module]},aof:{definition:"var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;",content:`!(__WEBPACK_AMD_DEFINE_ARRAY__ = #, __WEBPACK_AMD_DEFINE_FACTORY__ = (#),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__))`,reqs:[r.exports,r.module]},lf:{definition:"var XXX, XXXmodule;",content:"!(XXXmodule = { id: YYY, exports: {}, loaded: false }, XXX = #.call(XXXmodule.exports, __webpack_require__, XXXmodule.exports, XXXmodule), XXXmodule.loaded = true, XXX === undefined && (XXX = XXXmodule.exports))",reqs:[r.require,r.module]},lo:{definition:"var XXX;",content:"!(XXX = #)",reqs:[]},lof:{definition:"var XXX, XXXfactory, XXXmodule;",content:"!(XXXfactory = (#), (typeof XXXfactory === 'function' ? (XXXmodule = { id: YYY, exports: {}, loaded: false }), (XXX = XXXfactory.call(XXXmodule.exports, __webpack_require__, XXXmodule.exports, XXXmodule)), (XXXmodule.loaded = true), XXX === undefined && (XXX = XXXmodule.exports) : XXX = XXXfactory))",reqs:[r.require,r.module]},laf:{definition:"var __WEBPACK_AMD_DEFINE_ARRAY__, XXX, XXXexports;",content:"!(__WEBPACK_AMD_DEFINE_ARRAY__ = #, XXX = (#).apply(XXXexports = {}, __WEBPACK_AMD_DEFINE_ARRAY__), XXX === undefined && (XXX = XXXexports))",reqs:[]},lao:{definition:"var XXX;",content:"!(#, XXX = #)",reqs:[]},laof:{definition:"var XXXarray, XXXfactory, XXXexports, XXX;",content:`!(XXXarray = #, XXXfactory = (#),\n\t\t(typeof XXXfactory === 'function' ?\n\t\t\t((XXX = XXXfactory.apply(XXXexports = {}, XXXarray)), XXX === undefined && (XXX = XXXexports)) :\n\t\t\t(XXX = XXXfactory)\n\t\t))`,reqs:[]}};class AMDDefineDependency extends s{constructor(e,t,n,r,i){super();this.range=e;this.arrayRange=t;this.functionRange=n;this.objectRange=r;this.namedModule=i;this.localModule=null}get type(){return"amd define"}serialize(e){const{write:t}=e;t(this.range);t(this.arrayRange);t(this.functionRange);t(this.objectRange);t(this.namedModule);t(this.localModule);super.serialize(e)}deserialize(e){const{read:t}=e;this.range=t();this.arrayRange=t();this.functionRange=t();this.objectRange=t();this.namedModule=t();this.localModule=t();super.deserialize(e)}}i(AMDDefineDependency,"webpack/lib/dependencies/AMDDefineDependency");AMDDefineDependency.Template=class AMDDefineDependencyTemplate extends s.Template{apply(e,t,{runtimeRequirements:n}){const r=e;const i=this.branch(r);const{definition:s,content:a,reqs:u}=o[i];for(const e of u){n.add(e)}this.replace(r,t,s,a)}localModuleVar(e){return e.localModule&&e.localModule.used&&e.localModule.variableName()}branch(e){const t=this.localModuleVar(e)?"l":"";const n=e.arrayRange?"a":"";const r=e.objectRange?"o":"";const i=e.functionRange?"f":"";return t+n+r+i}replace(e,t,n,r){const i=this.localModuleVar(e);if(i){r=r.replace(/XXX/g,i.replace(/\$/g,"$$$$"));n=n.replace(/XXX/g,i.replace(/\$/g,"$$$$"))}if(e.namedModule){r=r.replace(/YYY/g,JSON.stringify(e.namedModule))}const s=r.split("#");if(n)t.insert(0,n);let o=e.range[0];if(e.arrayRange){t.replace(o,e.arrayRange[0]-1,s.shift());o=e.arrayRange[1]}if(e.objectRange){t.replace(o,e.objectRange[0]-1,s.shift());o=e.objectRange[1]}else if(e.functionRange){t.replace(o,e.functionRange[0]-1,s.shift());o=e.functionRange[1]}t.replace(o,e.range[1]-1,s.shift());if(s.length>0)throw new Error("Implementation error")}};e.exports=AMDDefineDependency},6962:function(e){"use strict";class NoEmitOnErrorsPlugin{apply(e){e.hooks.shouldEmit.tap("NoEmitOnErrorsPlugin",e=>{if(e.getStats().hasErrors())return false});e.hooks.compilation.tap("NoEmitOnErrorsPlugin",e=>{e.hooks.shouldRecord.tap("NoEmitOnErrorsPlugin",()=>{if(e.getStats().hasErrors())return false})})}}e.exports=NoEmitOnErrorsPlugin},6979:function(e,t,n){"use strict";const r=n(7788);const i=n(1226).getNumberOfLines;const s=n(1226).getUnfinishedLine;const o=";AAAA";class SingleLineNode{constructor(e,t,n,r){this.generatedCode=e;this.originalSource=n;this.source=t;this.line=r||1;this._numberOfLines=i(this.generatedCode);this._endsWithNewLine=e[e.length-1]==="\n"}clone(){return new SingleLineNode(this.generatedCode,this.source,this.originalSource,this.line)}getGeneratedCode(){return this.generatedCode}getMappings(e){if(!this.generatedCode)return"";const t=this._numberOfLines;const n=e.ensureSource(this.source,this.originalSource);let i="A";if(e.unfinishedGeneratedLine)i=","+r.encode(e.unfinishedGeneratedLine);i+=r.encode(n-e.currentSource);i+=r.encode(this.line-e.currentOriginalLine);i+="A";e.currentSource=n;e.currentOriginalLine=this.line;const a=e.unfinishedGeneratedLine=s(this.generatedCode);i+=Array(t).join(o);if(a===0){i+=";"}else{if(t!==0)i+=o}return i}getNormalizedNodes(){return[this]}mapGeneratedCode(e){const t=e(this.generatedCode);return new SingleLineNode(t,this.source,this.originalSource,this.line)}merge(e){if(e instanceof SingleLineNode){return this.mergeSingleLineNode(e)}return false}mergeSingleLineNode(e){if(this.source===e.source&&this.originalSource===e.originalSource){if(this.line===e.line){this.generatedCode+=e.generatedCode;this._numberOfLines+=e._numberOfLines;this._endsWithNewLine=e._endsWithNewLine;return this}else if(this.line+1===e.line&&this._endsWithNewLine&&this._numberOfLines===1&&e._numberOfLines<=1){return new a(this.generatedCode+e.generatedCode,this.source,this.originalSource,this.line)}}return false}}e.exports=SingleLineNode;const a=n(9043)},7012:function(e){e.exports=require("inspector")},7030:function(e,t,n){var r=n(4800);var i=n(2911);i.core=r;i.isCore=function isCore(e){return r[e]};i.sync=n(4893);t=i;e.exports=i},7082:function(e){e.exports=require("console")},7086:function(module,__unusedexports,__webpack_require__){const resolve=__webpack_require__(7030);const fs=__webpack_require__(5808);const crypto=__webpack_require__(6417);const{join:join,dirname:dirname,extname:extname}=__webpack_require__(5622);const webpack=__webpack_require__(6443);const MemoryFS=__webpack_require__(6342);const terser=__webpack_require__(8033);const tsconfigPaths=__webpack_require__(6543);const TsconfigPathsPlugin=__webpack_require__(6217);const shebangRegEx=__webpack_require__(9681);const nccCacheDir=__webpack_require__(3946);const{version:nccVersion}=__webpack_require__(6407);fs.gracefulify(__webpack_require__(5747));const SUPPORTED_EXTENSIONS=[".js",".json",".node",".mjs",".ts",".tsx"];const hashOf=e=>{return crypto.createHash("md4").update(e).digest("hex").slice(0,10)};const defaultPermissions=438;const relocateLoader=eval('require(__dirname + "/loaders/relocate-loader.js")');module.exports=((entry,{cache:cache,externals:externals=[],filename:filename="index"+(entry.endsWith(".cjs")?".cjs":".js"),minify:minify=false,sourceMap:sourceMap=false,sourceMapRegister:sourceMapRegister=true,sourceMapBasePrefix:sourceMapBasePrefix="../",watch:watch=false,v8cache:v8cache=false,filterAssetBase:filterAssetBase=process.cwd(),quiet:quiet=false,debugLog:debugLog=false,transpileOnly:transpileOnly=false}={})=>{const ext=extname(filename);if(!quiet){console.log(`ncc: Version ${nccVersion}`);console.log(`ncc: Compiling file ${filename}`)}const resolvedEntry=resolve.sync(entry);process.env.TYPESCRIPT_LOOKUP_PATH=resolvedEntry;const shebangMatch=fs.readFileSync(resolvedEntry).toString().match(shebangRegEx);const mfs=new MemoryFS;const existingAssetNames=[filename];if(sourceMap){existingAssetNames.push(`${filename}.map`);existingAssetNames.push(`sourcemap-register${ext}`)}if(v8cache){existingAssetNames.push(`${filename}.cache`);existingAssetNames.push(`${filename}.cache${ext}`)}const resolvePlugins=[];try{const e=tsconfigPaths.loadConfig();const t=require(e.configFileAbsolutePath);const n={silent:true};if(t.compilerOptions.allowJs){n.extensions=SUPPORTED_EXTENSIONS}resolvePlugins.push(new TsconfigPathsPlugin(n));if(e.resultType==="success"){tsconfigMatchPath=tsconfigPaths.createMatchPath(e.absoluteBaseUrl,e.paths)}}catch(e){}resolvePlugins.push({apply(e){const t=e.resolve;e.resolve=function(n,r,i,s,o){t.call(e,n,r,i,s,function(a,u){if(!a)return o(null,u);if(!a.missing||!a.missing.length)return o(a);if(i.endsWith(".js")&&n.issuer&&(n.issuer.endsWith(".ts")||n.issuer.endsWith(".tsx")))return t.call(e,n,r,i.slice(0,-3),s,function(e,t){if(!e)return o(null,t);if(!e.missing||!e.missing.length)return o(e);o(null,__dirname+"/@@notfound.js"+"?"+(externalMap.get(i)||i))});o(null,__dirname+"/@@notfound.js"+"?"+(externalMap.get(i)||i))})}}});const externalMap=new Map;if(Array.isArray(externals))externals.forEach(e=>externalMap.set(e,e));else if(typeof externals==="object")Object.keys(externals).forEach(e=>externalMap.set(e,externals[e]));let watcher,watchHandler,rebuildHandler;const compiler=webpack({entry:entry,cache:cache===false?undefined:{type:"filesystem",cacheDirectory:typeof cache==="string"?cache:nccCacheDir,name:`ncc_${hashOf(entry)}`,version:nccVersion},amd:false,optimization:{nodeEnv:false,minimize:false,moduleIds:"deterministic",chunkIds:"deterministic",mangleExports:false},devtool:sourceMap?"source-map":false,mode:"production",target:"node",output:{path:"/",filename:ext===".cjs"?filename+".js":filename,libraryTarget:"commonjs2"},resolve:{extensions:SUPPORTED_EXTENSIONS,mainFields:["main"],plugins:resolvePlugins},node:false,externals:async({context:e,request:t},n)=>{if(externalMap.has(t))return n(null,`commonjs ${externalMap.get(t)}`);return n()},module:{rules:[{test:/@@notfound\.js$/,use:[{loader:eval('__dirname + "/loaders/notfound-loader.js"')}]},{test:/\.(js|mjs|tsx?|node)$/,use:[{loader:eval('__dirname + "/loaders/empty-loader.js"')},{loader:eval('__dirname + "/loaders/relocate-loader.js"'),options:{filterAssetBase:filterAssetBase,existingAssetNames:existingAssetNames,escapeNonAnalyzableRequires:true,wrapperCompatibility:true,debugLog:debugLog}}]},{test:/\.tsx?$/,use:[{loader:eval('__dirname + "/loaders/uncacheable.js"')},{loader:eval('__dirname + "/loaders/ts-loader.js"'),options:{transpileOnly:transpileOnly,compiler:eval('__dirname + "/typescript.js"'),compilerOptions:{outDir:"//",noEmit:false}}}]},{parser:{amd:false},exclude:/\.node$/,use:[{loader:eval('__dirname + "/loaders/shebang-loader.js"')}]}]},plugins:[{apply(e){e.hooks.compilation.tap("ncc",e=>{e.moduleTemplates.javascript.hooks.render.tap("ncc",(e,t,n,r)=>{if(t._contextDependencies&&e._value.match(/webpackEmptyAsyncContext|webpackEmptyContext/)){t.type="custom";return e._value.replace("var e = new Error",`if (typeof req === 'number' && __webpack_require__.m[req])\n`+` return __webpack_require__(req);\n`+`try { return require(req) }\n`+`catch (e) { if (e.code !== 'MODULE_NOT_FOUND') throw e }\n`+`var e = new Error`)}})});e.hooks.compilation.tap("relocate-loader",e=>relocateLoader.initAssetCache(e));e.hooks.watchRun.tap("ncc",()=>{if(rebuildHandler)rebuildHandler()});e.hooks.normalModuleFactory.tap("ncc",e=>{function handler(e){e.hooks.assign.for("require").intercept({register:e=>{if(e.name!=="CommonJsPlugin"){return e}e.fn=(()=>{});return e}})}e.hooks.parser.for("javascript/auto").tap("ncc",handler);e.hooks.parser.for("javascript/dynamic").tap("ncc",handler);return e})}}]});compiler.outputFileSystem=mfs;if(!watch){return new Promise((e,t)=>{compiler.run((n,r)=>{if(n)return t(n);compiler.close(n=>{if(n)return t(n);if(r.hasErrors()){const e=r.compilation.errors.map(e=>e.message).join("\n");return t(new Error(e))}e(r)})})}).then(finalizeHandler)}else{if(typeof watch==="object"){if(!watch.watch)throw new Error("Watcher class must be a valid Webpack WatchFileSystem class instance (https://github.com/webpack/webpack/blob/master/lib/node/NodeWatchFileSystem.js)");compiler.watchFileSystem=watch;watch.inputFileSystem=compiler.inputFileSystem}let e;watcher=compiler.watch({},(t,n)=>{if(t)return watchHandler({err:t});if(n.hasErrors())return watchHandler({err:n.toString()});const r=finalizeHandler(n);if(watchHandler)watchHandler(r);else e=r});let t=false;return{close(){if(!watcher)throw new Error("No watcher to close.");if(t)throw new Error("Watcher already closed.");t=true;watcher.close()},handler(t){if(watchHandler)throw new Error("Watcher handler already provided.");watchHandler=t;if(e){t(e);e=null}},rebuild(e){if(rebuildHandler)throw new Error("Rebuild handler already provided.");rebuildHandler=e}}}function finalizeHandler(e){const t=Object.create(null);getFlatFiles(mfs.data,t,relocateLoader.getAssetPermissions);const n=Object.create(null);for(const[e,r]of Object.entries(relocateLoader.getSymlinks())){const i=join(dirname(e),r);if(i in t)n[e]=r}delete t[filename+(ext===".cjs"?".js":"")];delete t[`${filename}${ext===".cjs"?".js":""}.map`];let r=mfs.readFileSync(`/${filename}${ext===".cjs"?".js":""}`,"utf8");let i=sourceMap?mfs.readFileSync(`/${filename}${ext===".cjs"?".js":""}.map`,"utf8"):null;if(i){i=JSON.parse(i);i.sources=i.sources.map(e=>{while(e.startsWith("webpack:///"))e=e.substr(11);if(e.startsWith("./"))e=e.substr(2);if(e.startsWith("webpack/"))return"/webpack/"+e.substr(8);return sourceMapBasePrefix+e})}if(minify){const e=terser.minify(r,{compress:false,mangle:{keep_classnames:true,keep_fnames:true},sourceMap:sourceMap?{content:i,filename:filename,url:`${filename}.map`}:false});if(e.code!==undefined)({code:r,map:i}={code:e.code,map:sourceMap?JSON.parse(e.map):undefined})}if(v8cache){const{Script:e}=__webpack_require__(2184);t[`${filename}.cache`]={source:new e(r).createCachedData(),permissions:defaultPermissions};t[`${filename}.cache${ext}`]={source:r,permissions:defaultPermissions};if(i){t[filename+".map"]={source:JSON.stringify(i),permissions:defaultPermissions};i=undefined}r=`const { readFileSync, writeFileSync } = require('fs'), { Script } = require('vm'), { wrap } = require('module');\n`+`const source = readFileSync(__dirname + '/${filename}.cache${ext}', 'utf-8');\n`+`const cachedData = !process.pkg && require('process').platform !== 'win32' && readFileSync(__dirname + '/${filename}.cache');\n`+`const script = new Script(wrap(source), cachedData ? { cachedData } : {});\n`+`(script.runInThisContext())(exports, require, module, __filename, __dirname);\n`+`if (cachedData) process.on('exit', () => { try { writeFileSync(__dirname + '/${filename}.cache', script.createCachedData()); } catch(e) {} });\n`}if(sourceMap&&sourceMapRegister){r=`require('./sourcemap-register${ext}');`+r;t[`sourcemap-register${ext}`]={source:fs.readFileSync(`${__dirname}/sourcemap-register.js.cache.js`),permissions:defaultPermissions}}if(shebangMatch){r=shebangMatch[0]+r;if(i)i.mappings=";"+i.mappings}return{code:r,map:i?JSON.stringify(i):undefined,assets:t,symlinks:n,stats:e}}});function getFlatFiles(e,t,n,r=""){for(const i of Object.keys(e)){const s=e[i];const o=`${r}/${i}`;if(s[""]===true)getFlatFiles(s,t,n,o);else if(!o.endsWith("/")){t[o.substr(1)]={source:e[i],permissions:n(o.substr(1))}}}}},7091:function(e,t){"use strict";t.getEntryInfo=((e,t)=>{return Array.from(e.getChunkEntryModulesWithChunkGroupIterable(t)).map(([n,r])=>[e.getModuleId(n)].concat(r.chunks.filter(e=>e!==t).map(e=>e.id)))})},7113:function(e,t,n){"use strict";var r=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d:\d\d)?$/i;var i=/t|\s/i;var s={date:compareDate,time:compareTime,"date-time":compareDateTime};e.exports=function(e){var t="format"+e;return function defFunc(r){defFunc.definition={type:"string",inline:n(2543),statements:true,errors:"full",metaSchema:{anyOf:[{type:"string"},{type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:false}]}};r.addKeyword(t,defFunc.definition);r.addKeyword("formatExclusive"+e);extendFormats(r);return r}};function extendFormats(e){var t=e._formats;for(var n in s){var r=t[n];if(typeof r!="object"||r instanceof RegExp||!r.validate)r=t[n]={validate:r};if(!r.compare)r.compare=s[n]}}function compareDate(e,t){if(!(e&&t))return;if(e>t)return 1;if(et)return 1;if(e{if(e.length!==t.length)return false;for(let n=0;nthis.requestShortener.shorten(e)).join(" | ")}else{o=[r,t,n].filter(Boolean).map(e=>this.requestShortener.shorten(e)).join(" | ")}if(!o)return"";if(this.outputOptions.pathinfo){return i.toComment(o)+" "}else{return i.toNormalComment(o)+" "}}throwMissingModuleErrorBlock({request:e}){const t=`Cannot find module '${e}'`;return`var e = new Error(${JSON.stringify(t)}); e.code = 'MODULE_NOT_FOUND'; throw e;`}throwMissingModuleErrorFunction({request:e}){return`function webpackMissingModule() { ${this.throwMissingModuleErrorBlock({request:e})} }`}missingModule({request:e}){return`!(${this.throwMissingModuleErrorFunction({request:e})}())`}missingModuleStatement({request:e}){return`${this.missingModule({request:e})};\n`}missingModulePromise({request:e}){return`Promise.resolve().then(${this.throwMissingModuleErrorFunction({request:e})})`}weakError({module:e,chunkGraph:t,request:n,idExpr:r,type:s}){const o=t.getModuleId(e);const a=o===null?JSON.stringify("Module is not available (weak dependency)"):r?`"Module '" + ${r} + "' is not available (weak dependency)"`:JSON.stringify(`Module '${o}' is not available (weak dependency)`);const u=n?i.toNormalComment(n)+" ":"";const c=`var e = new Error(${a}); `+u+"e.code = 'MODULE_NOT_FOUND'; throw e;";switch(s){case"statements":return c;case"promise":return`Promise.resolve().then(function() { ${c} })`;case"expression":return`(function() { ${c} }())`}}moduleId({module:e,chunkGraph:t,request:n,weak:r}){if(!e){return this.missingModule({request:n})}const i=t.getModuleId(e);if(i===null){if(r){return"null /* weak dependency, without id */"}throw new Error(`RuntimeTemplate.moduleId(): Module ${e.identifier()} has no id. This should not happen.`)}return`${this.comment({request:n})}${JSON.stringify(i)}`}moduleRaw({module:e,chunkGraph:t,request:n,weak:i,runtimeRequirements:s}){if(!e){return this.missingModule({request:n})}const o=t.getModuleId(e);if(o===null){if(i){return this.weakError({module:e,chunkGraph:t,request:n,type:"expression"})}throw new Error(`RuntimeTemplate.moduleId(): Module ${e.identifier()} has no id. This should not happen.`)}s.add(r.require);return`__webpack_require__(${this.moduleId({module:e,chunkGraph:t,request:n,weak:i})})`}moduleExports({module:e,chunkGraph:t,request:n,weak:r,runtimeRequirements:i}){return this.moduleRaw({module:e,chunkGraph:t,request:n,weak:r,runtimeRequirements:i})}moduleNamespace({module:e,chunkGraph:t,request:n,strict:i,weak:s,runtimeRequirements:o}){if(!e){return this.missingModule({request:n})}if(t.getModuleId(e)===null){if(s){return this.weakError({module:e,chunkGraph:t,request:n,type:"expression"})}throw new Error(`RuntimeTemplate.moduleNamespace(): Module ${e.identifier()} has no id. This should not happen.`)}const a=this.moduleId({module:e,chunkGraph:t,request:n,weak:s});const u=e.buildMeta&&e.buildMeta.exportsType;if(u==="namespace"){const r=this.moduleRaw({module:e,chunkGraph:t,request:n,weak:s,runtimeRequirements:o});return r}else if(u==="named"){o.add(r.createFakeNamespaceObject);return`${r.createFakeNamespaceObject}(${a}, 3)`}else if(i){o.add(r.createFakeNamespaceObject);return`${r.createFakeNamespaceObject}(${a}, 1)`}else{o.add(r.createFakeNamespaceObject);return`${r.createFakeNamespaceObject}(${a}, 7)`}}moduleNamespacePromise({chunkGraph:e,block:t,module:n,request:i,message:s,strict:o,weak:a,runtimeRequirements:u}){if(!n){return this.missingModulePromise({request:i})}const c=e.getModuleId(n);if(c===null){if(a){return this.weakError({module:n,chunkGraph:e,request:i,type:"promise"})}throw new Error(`RuntimeTemplate.moduleNamespacePromise(): Module ${n.identifier()} has no id. This should not happen.`)}const l=this.blockPromise({chunkGraph:e,block:t,message:s,runtimeRequirements:u});let f;let d=JSON.stringify(e.getModuleId(n));const p=this.comment({request:i});let h="";if(a){if(d.length>8){h+=`var id = ${d}; `;d="id"}u.add(r.moduleFactories);h+=`if(!${r.moduleFactories}[${d}]) { ${this.weakError({module:n,chunkGraph:e,request:i,idExpr:d,type:"statements"})} } `}const m=this.moduleId({module:n,chunkGraph:e,request:i,weak:a});const g=n.buildMeta&&n.buildMeta.exportsType;if(g==="namespace"){if(h){const t=this.moduleRaw({module:n,chunkGraph:e,request:i,weak:a,runtimeRequirements:u});f=`function() { ${h}return ${t}; }`}else{u.add(r.require);f=`__webpack_require__.bind(null, ${p}${d})`}}else if(g==="named"){u.add(r.createFakeNamespaceObject);if(h){f=`function() { ${h}return ${r.createFakeNamespaceObject}(${m}, 3); }`}else{f=`${r.createFakeNamespaceObject}.bind(__webpack_require__, ${p}${d}, 3)`}}else if(o){u.add(r.createFakeNamespaceObject);if(h){f=`function() { ${h}return ${r.createFakeNamespaceObject}(${m}, 1); }`}else{f=`${r.createFakeNamespaceObject}.bind(__webpack_require__, ${p}${d}, 1)`}}else{u.add(r.createFakeNamespaceObject);if(h){f=`function() { ${h}return ${r.createFakeNamespaceObject}(${m}, 7); }`}else{f=`${r.createFakeNamespaceObject}.bind(__webpack_require__, ${p}${d}, 7)`}}return`${l||"Promise.resolve()"}.then(${f})`}importStatement({update:e,module:t,chunkGraph:n,request:i,importVar:s,originModule:o,weak:a,runtimeRequirements:u}){if(!t){return this.missingModuleStatement({request:i})}if(n.getModuleId(t)===null){if(a){return this.weakError({module:t,chunkGraph:n,request:i,type:"statements"})}throw new Error(`RuntimeTemplate.importStatment(): Module ${t.identifier()} has no id. This should not happen.`)}const c=this.moduleId({module:t,chunkGraph:n,request:i,weak:a});const l=e?"":"var ";const f=t.buildMeta&&t.buildMeta.exportsType;u.add(r.require);let d=`/* harmony import */ ${l}${s} = __webpack_require__(${c});\n`;if(!f&&!o.buildMeta.strictHarmonyModule){u.add(r.compatGetDefaultExport);d+=`/* harmony import */ ${l}${s}_default = /*#__PURE__*/${r.compatGetDefaultExport}(${s});\n`}if(f==="named"){u.add(r.createFakeNamespaceObject);if(Array.isArray(n.moduleGraph.getProvidedExports(t))){d+=`${l}${s}_namespace = /*#__PURE__*/${r.createFakeNamespaceObject}(${c}, 1);\n`}else{d+=`${l}${s}_namespace = /*#__PURE__*/${r.createFakeNamespaceObject}(${c});\n`}}return d}exportFromImport({moduleGraph:e,module:t,request:n,exportName:a,originModule:u,asiSafe:c,isCall:l,callContext:f,importVar:d,runtimeRequirements:p}){if(!t){return this.missingModule({request:n})}if(!Array.isArray(a)){a=a?[a]:[]}const h=t.buildMeta&&t.buildMeta.exportsType;if(!h){if(a.length>0&&a[0]==="default"){if(!u.buildMeta.strictHarmonyModule){if(l){return`${d}_default()${s(a,1)}`}else if(c){return`(${d}_default()${s(a,1)})`}else{return`${d}_default.a${s(a,1)}`}}else{return`${d}${s(a,1)}`}}else if(u.buildMeta.strictHarmonyModule){if(a.length>0){return"/* non-default import from non-esm module */undefined"+s(a,1)}else{p.add(r.createFakeNamespaceObject);return`/*#__PURE__*/${r.createFakeNamespaceObject}(${d})`}}}if(h==="named"){if(a.length>0&&a[0]==="default"){return`${d}${s(a,1)}`}else if(a.length===0){return`${d}_namespace`}}if(a.length>0){const n=e.getExportsInfo(t);const r=n.getUsedName(a);if(!r){const e=i.toNormalComment(`unused export ${a.join(".")}`);return`${e} undefined`}const u=o(r,a)?"":i.toNormalComment(a.join("."))+" ";const p=`${d}${u}${s(r)}`;if(l&&f===false){if(c){return`(0,${p})`}else{return`Object(${p})`}}return p}else{return d}}blockPromise({block:e,message:t,chunkGraph:n,runtimeRequirements:i}){if(!e){const e=this.comment({message:t});return`Promise.resolve(${e.trim()})`}const s=n.getBlockChunkGroup(e);if(!s||s.chunks.length===0){const e=this.comment({message:t});return`Promise.resolve(${e.trim()})`}const o=s.chunks.filter(e=>!e.hasRuntime()&&e.id!==null);const a=this.comment({message:t,chunkName:e.chunkName});if(o.length===1){const e=JSON.stringify(o[0].id);i.add(r.ensureChunk);return`${r.ensureChunk}(${a}${e})`}else if(o.length>0){i.add(r.ensureChunk);const e=e=>`${r.ensureChunk}(${JSON.stringify(e.id)})`;return`Promise.all(${a.trim()}[${o.map(e).join(", ")}])`}else{return`Promise.resolve(${a.trim()})`}}defineEsModuleFlagStatement({exportsArgument:e,runtimeRequirements:t}){t.add(r.makeNamespaceObject);t.add(r.exports);return`${r.makeNamespaceObject}(${e});\n`}}e.exports=RuntimeTemplate},7132:function(e,t,n){"use strict";const r=n(1627);e.exports=class UnsupportedWebAssemblyFeatureError extends r{constructor(e){super(e);this.name="UnsupportedWebAssemblyFeatureError";this.hideStack=true;Error.captureStackTrace(this,this.constructor)}}},7178:function(e,t,n){"use strict";const{ConcatSource:r}=n(2991);const i=n(8159);class NodeChunkTemplatePlugin{constructor(e){this.compilation=e}apply(e){e.hooks.render.tap("NodeChunkTemplatePlugin",(e,t,n)=>{const{chunk:s,chunkGraph:o}=n;const a=new r;a.add(`exports.id = ${JSON.stringify(s.id)};\n`);a.add(`exports.ids = ${JSON.stringify(s.ids)};\n`);a.add(`exports.modules = `);a.add(e);a.add(";\n");const u=o.getChunkRuntimeModulesInOrder(s);if(u.length>0){a.add("exports.runtime =\n");a.add(i.renderChunkRuntimeModules(u,n));a.add(";\n")}return a});e.hooks.hash.tap("NodeChunkTemplatePlugin",e=>{e.update("node");e.update("5")})}}e.exports=NodeChunkTemplatePlugin},7189:function(e){"use strict";var t=["undefined","string","number","object","function","boolean","symbol"];e.exports=function defFunc(e){defFunc.definition={inline:function(e,t,n){var r="data"+(e.dataLevel||"");if(typeof n=="string")return"typeof "+r+' == "'+n+'"';n="validate.schema"+e.schemaPath+"."+t;return n+".indexOf(typeof "+r+") >= 0"},metaSchema:{anyOf:[{type:"string",enum:t},{type:"array",items:{type:"string",enum:t}}]}};e.addKeyword("typeof",defFunc.definition);return e}},7191:function(e,t,n){"use strict";const r=n(2355);const{AsyncSeriesWaterfallHook:i,SyncWaterfallHook:s}=n(2960);const o=n(8126);const a=n(674);const u=n(872);const{join:c}=n(5396);const l={};e.exports=class ContextModuleFactory extends a{constructor(e){super();this.hooks=Object.freeze({beforeResolve:new i(["data"]),afterResolve:new i(["data"]),contextModuleFiles:new s(["files"]),alternatives:new i(["modules"])});this.resolverFactory=e}create(e,t){const n=e.context;const i=e.dependencies;const s=e.resolveOptions;const a=i[0];const u=new Set;const c=new Set;const f=new Set;this.hooks.beforeResolve.callAsync({context:n,dependencies:i,resolveOptions:s,fileDependencies:u,missingDependencies:c,contextDependencies:f,...a.options},(e,n)=>{if(e)return t(e);if(!n)return t();const i=n.context;const s=n.request;const a=n.resolveOptions;let d,p,h="";const m=s.lastIndexOf("!");if(m>=0){let e=s.substr(0,m+1);let t;for(t=0;t{g.resolve({},i,p,{},(t,n)=>{if(t)return e(t);e(null,n)})},e=>{r.map(d,(e,t)=>{y.resolve({},i,e,{},(e,n)=>{if(e)return t(e);t(null,n)})},e)}],(e,r)=>{if(e)return t(e);this.hooks.afterResolve.callAsync({addon:h+r[1].join("!")+(r[1].length>0?"!":""),resource:r[0],resolveDependencies:this.resolveDependencies.bind(this),...n},(e,n)=>{if(e)return t(e);if(!n)return t();return t(null,{module:new o(n.resolveDependencies,n),fileDependencies:u,missingDependencies:c,contextDependencies:f})})})})}resolveDependencies(e,t,n){const i=this;let s=t.resource;let o=t.resourceQuery;let a=t.recursive;let l=t.regExp;let f=t.include;let d=t.exclude;if(!l||!s)return n(null,[]);const p=(t,n)=>{e.readdir(t,(h,m)=>{if(h)return n(h);m=i.hooks.contextModuleFiles.call(m);if(!m||m.length===0)return n(null,[]);r.map(m.filter(e=>e.indexOf(".")!==0),(n,r)=>{const i=c(e,t,n);if(!d||!i.match(d)){e.stat(i,(e,t)=>{if(e){if(e.code==="ENOENT"){return r()}else{return r(e)}}if(t.isDirectory()){if(!a)return r();p.call(this,i,r)}else if(t.isFile()&&(!f||i.match(f))){const e={context:s,request:"."+i.substr(s.length).replace(/\\/g,"/")};this.hooks.alternatives.callAsync([e],(e,t)=>{if(e)return r(e);t=t.filter(e=>l.test(e.request)).map(e=>{const t=new u(e.request+o,e.request);t.optional=true;return t});r(null,t)})}else{r()}})}else{r()}},(e,t)=>{if(e)return n(e);if(!t)return n(null,[]);n(null,t.filter(Boolean).reduce((e,t)=>e.concat(t),[]))})})};p(s,n)}}},7207:function(e,t,n){"use strict";const r=n(1627);const i=n(6202);class CommentCompilationWarning extends r{constructor(e,t){super(e);this.name="CommentCompilationWarning";this.loc=t;Error.captureStackTrace(this,this.constructor)}}i(CommentCompilationWarning,"webpack/lib/CommentCompilationWarning");e.exports=CommentCompilationWarning},7230:function(e,t,n){"use strict";const r=n(6202);class LocalModule{constructor(e,t){this.name=e;this.idx=t;this.used=false}flagUsed(){this.used=true}variableName(){return"__WEBPACK_LOCAL_MODULE_"+this.idx+"__"}serialize(e){const{write:t}=e;t(this.name);t(this.idx);t(this.used)}deserialize(e){const{read:t}=e;this.name=t();this.idx=t();this.used=t()}}r(LocalModule,"webpack/lib/dependencies/LocalModule");e.exports=LocalModule},7235:function(e,t,n){"use strict";const r=n(3881);const i=n(2471);e.exports=class AliasFieldPlugin{constructor(e,t,n){this.source=e;this.field=t;this.target=n}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("AliasFieldPlugin",(n,s,o)=>{if(!n.descriptionFileData)return o();const a=i(e,n);if(!a)return o();const u=r.getField(n.descriptionFileData,this.field);if(typeof u!=="object"){if(s.log)s.log("Field '"+this.field+"' doesn't contain a valid alias configuration");return o()}const c=u[a];const l=u[a.replace(/^\.\//,"")];const f=typeof c!=="undefined"?c:l;if(f===a)return o();if(f===undefined)return o();if(f===false){const e=Object.assign({},n,{path:false});return o(null,e)}const d=Object.assign({},n,{path:n.descriptionFileRoot,request:f});e.doResolve(t,d,"aliased from description file "+n.descriptionFilePath+" with mapping '"+a+"' to '"+f+"'",s,(e,t)=>{if(e)return o(e);if(t===undefined)return o(null,null);o(null,t)})})}}},7246:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:true});Object.defineProperty(t,"resizeSectionByteSize",{enumerable:true,get:function get(){return r.resizeSectionByteSize}});Object.defineProperty(t,"resizeSectionVecSize",{enumerable:true,get:function get(){return r.resizeSectionVecSize}});Object.defineProperty(t,"createEmptySection",{enumerable:true,get:function get(){return i.createEmptySection}});Object.defineProperty(t,"removeSections",{enumerable:true,get:function get(){return s.removeSections}});var r=n(5369);var i=n(7961);var s=n(6744)},7263:function(e,t,n){"use strict";const r=n(9034);const i=n(1627);const s=(e,t,n)=>{t=t||0;e=e.split("/",e.length-t);if(n){n=n.split("/");e=e.concat(n)}let i=r;for(let t=1;t{if(t){for(let n=0;n ${e.description}`}return n};const a=e=>{while(e.$ref){e=s(e.$ref)}if(e.description){return`\n-> ${e.description}`}return""};const u={type:1,oneOf:1,anyOf:1,allOf:1,additionalProperties:2,enum:1,instanceof:1,required:2,minimum:2,uniqueItems:2,minLength:2,minItems:2,minProperties:2,absolutePath:2};const c=(e,t)=>{const n=e.reduce((e,n)=>Math.max(e,t(n)),0);return e.filter(e=>t(e)===n)};const l=e=>{e=c(e,e=>e.dataPath?e.dataPath.length:0);e=c(e,e=>u[e.keyword]||2);return e};const f=(e,t,n)=>{if(n){return t+e.replace(/\n(?!$)/g,"\n"+t)}else{return e.replace(/\n(?!$)/g,`\n${t}`)}};class WebpackOptionsValidationError extends i{constructor(e){super("Invalid configuration object. "+"Webpack has been initialised using a configuration object that does not match the API schema.\n"+e.map(e=>" - "+f(WebpackOptionsValidationError.formatValidationError(e)," ",false)).join("\n"));this.name="WebpackOptionsValidationError";this.validationErrors=e;Error.captureStackTrace(this,this.constructor)}static formatSchema(e,t){t=t||[];const n=(n,r)=>{if(!r){return WebpackOptionsValidationError.formatSchema(n,t)}if(t.includes(n)){return"(recursive)"}return WebpackOptionsValidationError.formatSchema(n,t.concat(e))};if(e.type==="string"){if(e.minLength===1){return"non-empty string"}if(e.minLength>1){return`string (min length ${e.minLength})`}return"string"}if(e.type==="boolean"){return"boolean"}if(e.type==="number"){return"number"}if(e.type==="object"){if(e.properties){const t=e.required||[];return`object { ${Object.keys(e.properties).map(e=>{if(!t.includes(e))return e+"?";return e}).concat(e.additionalProperties?["…"]:[]).join(", ")} }`}if(e.additionalProperties){return`object { : ${n(e.additionalProperties)} }`}return"object"}if(e.type==="array"){return`[${n(e.items)}]`}switch(e.instanceof){case"Function":return"function";case"RegExp":return"RegExp"}if(e.enum){return e.enum.map(e=>JSON.stringify(e)).join(" | ")}if(e.$ref){return n(s(e.$ref),true)}if(e.allOf){return e.allOf.map(n).join(" & ")}if(e.oneOf){return e.oneOf.map(n).join(" | ")}if(e.anyOf){return e.anyOf.map(n).join(" | ")}return JSON.stringify(e,null,2)}static formatValidationError(e){const t=`configuration${e.dataPath}`;if(e.keyword==="additionalProperties"){const n=`${t} has an unknown property '${e.params.additionalProperty}'. These properties are valid:\n${o(e.parentSchema)}`;if(!e.dataPath){switch(e.params.additionalProperty){case"debug":return`${n}\n`+"The 'debug' property was removed in webpack 2.0.0.\n"+"Loaders should be updated to allow passing this option via loader options in module.rules.\n"+"Until loaders are updated one can use the LoaderOptionsPlugin to switch loaders into debug mode:\n"+"plugins: [\n"+" new webpack.LoaderOptionsPlugin({\n"+" debug: true\n"+" })\n"+"]"}return`${n}\n`+"For typos: please correct them.\n"+"For loader options: webpack >= v2.0.0 no longer allows custom properties in configuration.\n"+" Loaders should be updated to allow passing options via loader options in module.rules.\n"+" Until loaders are updated one can use the LoaderOptionsPlugin to pass these options to the loader:\n"+" plugins: [\n"+" new webpack.LoaderOptionsPlugin({\n"+" // test: /\\.xxx$/, // may apply this only for some modules\n"+" options: {\n"+` ${e.params.additionalProperty}: …\n`+" }\n"+" })\n"+" ]"}return n}else if(e.keyword==="oneOf"||e.keyword==="anyOf"){if(e.children&&e.children.length>0){if(e.schema.length===1){const t=e.children[e.children.length-1];const n=e.children.slice(0,e.children.length-1);return WebpackOptionsValidationError.formatValidationError({...t,children:n,parentSchema:{...e.parentSchema,...t.parentSchema}})}const n=l(e.children);if(n.length===1){return WebpackOptionsValidationError.formatValidationError(n[0])}return`${t} should be one of these:\n${o(e.parentSchema)}\n`+`Details:\n${n.map(e=>" * "+f(WebpackOptionsValidationError.formatValidationError(e)," ",false)).join("\n")}`}return`${t} should be one of these:\n${o(e.parentSchema)}`}else if(e.keyword==="enum"){if(e.parentSchema&&e.parentSchema.enum&&e.parentSchema.enum.length===1){return`${t} should be ${o(e.parentSchema)}`}return`${t} should be one of these:\n${o(e.parentSchema)}`}else if(e.keyword==="allOf"){return`${t} should be:\n${o(e.parentSchema)}`}else if(e.keyword==="type"){switch(e.params.type){case"object":return`${t} should be an object.${a(e.parentSchema)}`;case"string":return`${t} should be a string.${a(e.parentSchema)}`;case"boolean":return`${t} should be a boolean.${a(e.parentSchema)}`;case"number":return`${t} should be a number.${a(e.parentSchema)}`;case"array":return`${t} should be an array:\n${o(e.parentSchema)}`}return`${t} should be ${e.params.type}:\n${o(e.parentSchema)}`}else if(e.keyword==="instanceof"){return`${t} should be an instance of ${o(e.parentSchema)}`}else if(e.keyword==="required"){const n=e.params.missingProperty.replace(/^\./,"");return`${t} misses the property '${n}'.\n${o(e.parentSchema,["properties",n])}`}else if(e.keyword==="minimum"){return`${t} ${e.message}.${a(e.parentSchema)}`}else if(e.keyword==="uniqueItems"){return`${t} should not contain the item '${e.data[e.params.i]}' twice.${a(e.parentSchema)}`}else if(e.keyword==="minLength"||e.keyword==="minItems"||e.keyword==="minProperties"){if(e.params.limit===1){switch(e.keyword){case"minLength":return`${t} should be an non-empty string.${a(e.parentSchema)}`;case"minItems":return`${t} should be an non-empty array.${a(e.parentSchema)}`;case"minProperties":return`${t} should be an non-empty object.${a(e.parentSchema)}`}return`${t} should be not empty.${a(e.parentSchema)}`}else{return`${t} ${e.message}${a(e.parentSchema)}`}}else if(e.keyword==="absolutePath"){const n=`${t}: ${e.message}${a(e.parentSchema)}`;if(t==="configuration.output.filename"){return`${n}\n`+"Please use output.path to specify absolute path and output.filename for the file name."}return n}else{return`${t} ${e.message} (${JSON.stringify(e,null,2)}).\n${o(e.parentSchema)}`}}}e.exports=WebpackOptionsValidationError},7270:function(e){"use strict";e.exports=function generate_uniqueItems(e,t,n){var r=" ";var i=e.level;var s=e.dataLevel;var o=e.schema[t];var a=e.schemaPath+e.util.getProperty(t);var u=e.errSchemaPath+"/"+t;var c=!e.opts.allErrors;var l="data"+(s||"");var f="valid"+i;var d=e.opts.$data&&o&&o.$data,p;if(d){r+=" var schema"+i+" = "+e.util.getData(o.$data,s,e.dataPathArr)+"; ";p="schema"+i}else{p=o}if((o||d)&&e.opts.uniqueItems!==false){if(d){r+=" var "+f+"; if ("+p+" === false || "+p+" === undefined) "+f+" = true; else if (typeof "+p+" != 'boolean') "+f+" = false; else { "}r+=" var i = "+l+".length , "+f+" = true , j; if (i > 1) { ";var h=e.schema.items&&e.schema.items.type,m=Array.isArray(h);if(!h||h=="object"||h=="array"||m&&(h.indexOf("object")>=0||h.indexOf("array")>=0)){r+=" outer: for (;i--;) { for (j = i; j--;) { if (equal("+l+"[i], "+l+"[j])) { "+f+" = false; break outer; } } } "}else{r+=" var itemIndices = {}, item; for (;i--;) { var item = "+l+"[i]; ";var g="checkDataType"+(m?"s":"");r+=" if ("+e.util[g](h,"item",true)+") continue; ";if(m){r+=" if (typeof item == 'string') item = '\"' + item; "}r+=" if (typeof itemIndices[item] == 'number') { "+f+" = false; j = itemIndices[item]; break; } itemIndices[item] = i; } "}r+=" } ";if(d){r+=" } "}r+=" if (!"+f+") { ";var y=y||[];y.push(r);r="";if(e.createErrors!==false){r+=" { keyword: '"+"uniqueItems"+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { i: i, j: j } ";if(e.opts.messages!==false){r+=" , message: 'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)' "}if(e.opts.verbose){r+=" , schema: ";if(d){r+="validate.schema"+a}else{r+=""+o}r+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "}r+=" } "}else{r+=" {} "}var v=r;r=y.pop();if(!e.compositeRule&&c){if(e.async){r+=" throw new ValidationError(["+v+"]); "}else{r+=" validate.errors = ["+v+"]; return false; "}}else{r+=" var err = "+v+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}r+=" } ";if(c){r+=" else { "}}else{if(c){r+=" if (true) { "}}return r}},7274:function(e){"use strict";const t=e=>{return e.replace(/[-[\]\\/{}()*+?.^$|]/g,"\\$&")};const n=e=>{if(`${+e}`===e){return e}return JSON.stringify(e)};const r=e=>{const t=Object.keys(e).filter(t=>e[t]);const r=Object.keys(e).filter(t=>!e[t]);if(t.length===0)return false;if(r.length===0)return true;if(t.length===1)return e=>`${n(t[0])} == ${e}`;if(r.length===1)return e=>`${n(r[0])} != ${e}`;const i=a(t);const s=a(r);if(i.length<=s.length){return e=>`/^${i}$/.test(${e})`}else{return e=>`!/^${s}$/.test(${e})`}};const i=(e,t,n)=>{const r=new Map;for(const n of e){const e=t(n);if(e){let t=r.get(e);if(t===undefined){t=[];r.set(e,t)}t.push(n)}}const i=[];for(const t of r.values()){if(n(t)){for(const n of t){e.delete(n)}i.push(t)}}return i};const s=e=>{let t=e[0];for(let n=1;n{let t=e[0];for(let n=1;n=0;e--,n--){if(r[e]!==t[n]){t=t.slice(n+1);break}}}return t};const a=e=>{if(e.length===1){return t(e[0])}const n=[];let r=0;for(const t of e){if(t.length===1){r++}}if(r===e.length){return`[${t(e.sort().join(""))}]`}const u=new Set(e.sort());if(r>2){let e="";for(const t of u){if(t.length===1){e+=t;u.delete(t)}}n.push(`[${t(e)}]`)}if(n.length===0&&u.size===2){const n=s(e);const r=o(e);if(n.length>0||r.length>0){return`${t(n)}${a(e.map(e=>e.slice(n.length,-r.length||undefined)))}${t(r)}`}}if(n.length===0&&u.size===2){const e=u[Symbol.iterator]();const n=e.next().value;const r=e.next().value;if(n.length>0&&r.length>0&&n.slice(-1)===r.slice(-1)){return`${a([n.slice(0,-1),r.slice(0,-1)])}${t(n.slice(-1))}`}}const c=i(u,e=>e.length>=1?e[0]:false,e=>{if(e.length>=3)return true;if(e.length<=1)return false;return e[0][1]===e[1][1]});for(const e of c){const r=s(e);n.push(`${t(r)}${a(e.map(e=>e.slice(r.length)))}`)}const l=i(u,e=>e.length>=1?e.slice(-1):false,e=>{if(e.length>=3)return true;if(e.length<=1)return false;return e[0].slice(-2)===e[1].slice(-2)});for(const e of l){const r=o(e);n.push(`${a(e.map(e=>e.slice(0,-r.length)))}${t(r)}`)}const f=n.concat(Array.from(u,t));if(f.length===1)return f[0];return`(${f.join("|")})`};e.exports=r;e.exports.itemsToRegexp=a},7275:function(e){e.exports={title:"LimitChunkCountPluginOptions",type:"object",additionalProperties:false,properties:{chunkOverhead:{description:"Constant overhead for a chunk",type:"number"},entryChunkMultiplicator:{description:"Multiplicator for initial chunks",type:"number"},maxChunks:{description:"Limit the maximum number of chunks using a value greater greater than or equal to 1",type:"number",minimum:1},minChunkSize:{description:"Set a minimum chunk size",type:"number"}}}},7279:function(e,t,n){"use strict";const{HookMap:r,SyncBailHook:i,SyncWaterfallHook:s}=n(2960);const{concatComparators:o,keepOriginalOrder:a}=n(8673);const u=(e,t,n)=>{const r=t.split(".");for(let t=0;t{const i=t.split(".");for(let t=0;t{const s=t.split(".");const o=[];for(let t=0;tr(n,e,t,i))}}if(o.length===0)return i?n.slice():n;let a=0;return n.filter((e,t)=>{for(const n of o){const r=n(e,t,a);if(r!==undefined){if(r)a++;return r}}a++;return true})};class StatsFactory{constructor(){this.hooks=Object.freeze({extract:new r(()=>new i(["object","data","context"])),filter:new r(()=>new i(["item","context","index","unfilteredIndex"])),sort:new r(()=>new i(["comparators","context"])),filterSorted:new r(()=>new i(["item","context","index","unfilteredIndex"])),sortResults:new r(()=>new i(["comparators","context"])),filterResults:new r(()=>new i(["item","context","index","unfilteredIndex"])),merge:new r(()=>new i(["items","context"])),result:new r(()=>new s(["result","context"])),getItemName:new r(()=>new i(["item","context"])),getItemFactory:new r(()=>new i(["item","context"]))})}create(e,t,n){const r={...n,type:e,[e]:t};if(Array.isArray(t)){const n=l(this.hooks.filter,e,t,(e,t,n,i)=>e.call(t,r,n,i),true);const i=[];u(this.hooks.sort,e,e=>e.call(i,r));if(i.length>0){n.sort(o(...i,a(n)))}const s=l(this.hooks.filterSorted,e,n,(e,t,n,i)=>e.call(t,r,n,i),false);const f=s.map((t,n)=>{const i={...r,_index:n};const s=u(this.hooks.getItemName,`${e}[]`,e=>e.call(t,i));if(s)i[s]=t;const o=s?`${e}[].${s}`:`${e}[]`;const a=u(this.hooks.getItemFactory,o,e=>e.call(t,i))||this;return a.create(o,t,i)});const d=[];u(this.hooks.sortResults,e,e=>e.call(d,r));if(d.length>0){f.sort(o(...d,a(f)))}const p=l(this.hooks.filterResults,e,f,(e,t,n,i)=>e.call(t,r,n,i),false);let h=u(this.hooks.merge,e,e=>e.call(p,r));if(h===undefined)h=p;return c(this.hooks.result,e,h,(e,t)=>e.call(t,r))}else{const n={};u(this.hooks.extract,e,e=>e.call(n,t,r));return c(this.hooks.result,e,n,(e,t)=>e.call(t,r))}}}e.exports=StatsFactory},7280:function(e,t,n){"use strict";e.exports=function(e,t,r,i){var s=e._async;var o=n(2222).Warning;var a=n(9505);var u=n(4673);var c=a.canAttachTrace;var l;var f;var d=/[\\\/]bluebird[\\\/]js[\\\/](release|debug|instrumented)/;var p=/\((?:timers\.js):\d+:\d+\)/;var h=/[\/<\(](.+?):(\d+):(\d+)\)?\s*$/;var m=null;var g=null;var y=false;var v;var b=!!(a.env("BLUEBIRD_DEBUG")!=0&&(false||a.env("BLUEBIRD_DEBUG")||a.env("NODE_ENV")==="development"));var w=!!(a.env("BLUEBIRD_WARNINGS")!=0&&(b||a.env("BLUEBIRD_WARNINGS")));var E=!!(a.env("BLUEBIRD_LONG_STACK_TRACES")!=0&&(b||a.env("BLUEBIRD_LONG_STACK_TRACES")));var _=a.env("BLUEBIRD_W_FORGOTTEN_RETURN")!=0&&(w||!!a.env("BLUEBIRD_W_FORGOTTEN_RETURN"));var S;(function(){var t=[];function unhandledRejectionCheck(){for(var e=0;e0};e.prototype._setRejectionIsUnhandled=function(){this._bitField=this._bitField|1048576};e.prototype._unsetRejectionIsUnhandled=function(){this._bitField=this._bitField&~1048576;if(this._isUnhandledRejectionNotified()){this._unsetUnhandledRejectionIsNotified();this._notifyUnhandledRejectionIsHandled()}};e.prototype._isRejectionUnhandled=function(){return(this._bitField&1048576)>0};e.prototype._warn=function(e,t,n){return warn(e,t,n||this)};e.onPossiblyUnhandledRejection=function(t){var n=e._getContext();f=a.contextBind(n,t)};e.onUnhandledRejectionHandled=function(t){var n=e._getContext();l=a.contextBind(n,t)};var k=function(){};e.longStackTraces=function(){if(s.haveItemsQueued()&&!R.longStackTraces){throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n")}if(!R.longStackTraces&&longStackTracesIsSupported()){var n=e.prototype._captureStackTrace;var r=e.prototype._attachExtraTrace;var i=e.prototype._dereferenceTrace;R.longStackTraces=true;k=function(){if(s.haveItemsQueued()&&!R.longStackTraces){throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n")}e.prototype._captureStackTrace=n;e.prototype._attachExtraTrace=r;e.prototype._dereferenceTrace=i;t.deactivateLongStackTraces();R.longStackTraces=false};e.prototype._captureStackTrace=longStackTracesCaptureStackTrace;e.prototype._attachExtraTrace=longStackTracesAttachExtraTrace;e.prototype._dereferenceTrace=longStackTracesDereferenceTrace;t.activateLongStackTraces()}};e.hasLongStackTraces=function(){return R.longStackTraces&&longStackTracesIsSupported()};var C={unhandledrejection:{before:function(){var e=a.global.onunhandledrejection;a.global.onunhandledrejection=null;return e},after:function(e){a.global.onunhandledrejection=e}},rejectionhandled:{before:function(){var e=a.global.onrejectionhandled;a.global.onrejectionhandled=null;return e},after:function(e){a.global.onrejectionhandled=e}}};var D=function(){var e=function(e,t){if(e){var n;try{n=e.before();return!a.global.dispatchEvent(t)}finally{e.after(n)}}else{return!a.global.dispatchEvent(t)}};try{if(typeof CustomEvent==="function"){var t=new CustomEvent("CustomEvent");a.global.dispatchEvent(t);return function(t,n){t=t.toLowerCase();var r={detail:n,cancelable:true};var i=new CustomEvent(t,r);u.defineProperty(i,"promise",{value:n.promise});u.defineProperty(i,"reason",{value:n.reason});return e(C[t],i)}}else if(typeof Event==="function"){var t=new Event("CustomEvent");a.global.dispatchEvent(t);return function(t,n){t=t.toLowerCase();var r=new Event(t,{cancelable:true});r.detail=n;u.defineProperty(r,"promise",{value:n.promise});u.defineProperty(r,"reason",{value:n.reason});return e(C[t],r)}}else{var t=document.createEvent("CustomEvent");t.initCustomEvent("testingtheevent",false,true,{});a.global.dispatchEvent(t);return function(t,n){t=t.toLowerCase();var r=document.createEvent("CustomEvent");r.initCustomEvent(t,false,true,n);return e(C[t],r)}}}catch(e){}return function(){return false}}();var A=function(){if(a.isNode){return function(){return process.emit.apply(process,arguments)}}else{if(!a.global){return function(){return false}}return function(e){var t="on"+e.toLowerCase();var n=a.global[t];if(!n)return false;n.apply(a.global,[].slice.call(arguments,1));return true}}}();function generatePromiseLifecycleEventObject(e,t){return{promise:t}}var x={promiseCreated:generatePromiseLifecycleEventObject,promiseFulfilled:generatePromiseLifecycleEventObject,promiseRejected:generatePromiseLifecycleEventObject,promiseResolved:generatePromiseLifecycleEventObject,promiseCancelled:generatePromiseLifecycleEventObject,promiseChained:function(e,t,n){return{promise:t,child:n}},warning:function(e,t){return{warning:t}},unhandledRejection:function(e,t,n){return{reason:t,promise:n}},rejectionHandled:generatePromiseLifecycleEventObject};var M=function(e){var t=false;try{t=A.apply(null,arguments)}catch(e){s.throwLater(e);t=true}var n=false;try{n=D(e,x[e].apply(null,arguments))}catch(e){s.throwLater(e);n=true}return n||t};e.config=function(t){t=Object(t);if("longStackTraces"in t){if(t.longStackTraces){e.longStackTraces()}else if(!t.longStackTraces&&e.hasLongStackTraces()){k()}}if("warnings"in t){var n=t.warnings;R.warnings=!!n;_=R.warnings;if(a.isObject(n)){if("wForgottenReturn"in n){_=!!n.wForgottenReturn}}}if("cancellation"in t&&t.cancellation&&!R.cancellation){if(s.haveItemsQueued()){throw new Error("cannot enable cancellation after promises are in use")}e.prototype._clearCancellationData=cancellationClearCancellationData;e.prototype._propagateFrom=cancellationPropagateFrom;e.prototype._onCancel=cancellationOnCancel;e.prototype._setOnCancel=cancellationSetOnCancel;e.prototype._attachCancellationCallback=cancellationAttachCancellationCallback;e.prototype._execute=cancellationExecute;T=cancellationPropagateFrom;R.cancellation=true}if("monitoring"in t){if(t.monitoring&&!R.monitoring){R.monitoring=true;e.prototype._fireEvent=M}else if(!t.monitoring&&R.monitoring){R.monitoring=false;e.prototype._fireEvent=defaultFireEvent}}if("asyncHooks"in t&&a.nodeSupportsAsyncResource){var o=R.asyncHooks;var u=!!t.asyncHooks;if(o!==u){R.asyncHooks=u;if(u){r()}else{i()}}}return e};function defaultFireEvent(){return false}e.prototype._fireEvent=defaultFireEvent;e.prototype._execute=function(e,t,n){try{e(t,n)}catch(e){return e}};e.prototype._onCancel=function(){};e.prototype._setOnCancel=function(e){};e.prototype._attachCancellationCallback=function(e){};e.prototype._captureStackTrace=function(){};e.prototype._attachExtraTrace=function(){};e.prototype._dereferenceTrace=function(){};e.prototype._clearCancellationData=function(){};e.prototype._propagateFrom=function(e,t){};function cancellationExecute(e,t,n){var r=this;try{e(t,n,function(e){if(typeof e!=="function"){throw new TypeError("onCancel must be a function, got: "+a.toString(e))}r._attachCancellationCallback(e)})}catch(e){return e}}function cancellationAttachCancellationCallback(e){if(!this._isCancellable())return this;var t=this._onCancel();if(t!==undefined){if(a.isArray(t)){t.push(e)}else{this._setOnCancel([t,e])}}else{this._setOnCancel(e)}}function cancellationOnCancel(){return this._onCancelField}function cancellationSetOnCancel(e){this._onCancelField=e}function cancellationClearCancellationData(){this._cancellationParent=undefined;this._onCancelField=undefined}function cancellationPropagateFrom(e,t){if((t&1)!==0){this._cancellationParent=e;var n=e._branchesRemainingToCancel;if(n===undefined){n=0}e._branchesRemainingToCancel=n+1}if((t&2)!==0&&e._isBound()){this._setBoundTo(e._boundTo)}}function bindingPropagateFrom(e,t){if((t&2)!==0&&e._isBound()){this._setBoundTo(e._boundTo)}}var T=bindingPropagateFrom;function boundValueFunction(){var t=this._boundTo;if(t!==undefined){if(t instanceof e){if(t.isFulfilled()){return t.value()}else{return undefined}}}return t}function longStackTracesCaptureStackTrace(){this._trace=new CapturedTrace(this._peekContext())}function longStackTracesAttachExtraTrace(e,t){if(c(e)){var n=this._trace;if(n!==undefined){if(t)n=n._parent}if(n!==undefined){n.attachExtraTrace(e)}else if(!e.__stackCleaned__){var r=parseStackAndMessage(e);a.notEnumerableProp(e,"stack",r.message+"\n"+r.stack.join("\n"));a.notEnumerableProp(e,"__stackCleaned__",true)}}}function longStackTracesDereferenceTrace(){this._trace=undefined}function checkForgottenReturns(e,t,n,r,i){if(e===undefined&&t!==null&&_){if(i!==undefined&&i._returnedNonUndefined())return;if((r._bitField&65535)===0)return;if(n)n=n+" ";var s="";var o="";if(t._trace){var a=t._trace.stack.split("\n");var u=cleanStack(a);for(var c=u.length-1;c>=0;--c){var l=u[c];if(!p.test(l)){var f=l.match(h);if(f){s="at "+f[1]+":"+f[2]+":"+f[3]+" "}break}}if(u.length>0){var d=u[0];for(var c=0;c0){o="\n"+a[c-1]}break}}}}var m="a promise was created in a "+n+"handler "+s+"but was not returned from it, "+"see http://goo.gl/rRqMUw"+o;r._warn(m,true,t)}}function deprecated(e,t){var n=e+" is deprecated and will be removed in a future version.";if(t)n+=" Use "+t+" instead.";return warn(n)}function warn(t,n,r){if(!R.warnings)return;var i=new o(t);var s;if(n){r._attachExtraTrace(i)}else if(R.longStackTraces&&(s=e._peekContext())){s.attachExtraTrace(i)}else{var a=parseStackAndMessage(i);i.stack=a.message+"\n"+a.stack.join("\n")}if(!M("warning",i)){formatAndLogError(i,"",true)}}function reconstructStack(e,t){for(var n=0;n=0;--a){if(r[a]===s){o=a;break}}for(var a=o;a>=0;--a){var u=r[a];if(t[i]===u){t.pop();i--}else{break}}t=r}}function cleanStack(e){var t=[];for(var n=0;n0&&e.name!="SyntaxError"){t=t.slice(n)}return t}function parseStackAndMessage(e){var t=e.stack;var n=e.toString();t=typeof t==="string"&&t.length>0?stackFramesAsArray(e):[" (No stack trace)"];return{message:n,stack:e.name=="SyntaxError"?t:cleanStack(t)}}function formatAndLogError(e,t,n){if(typeof console!=="undefined"){var r;if(a.isObject(e)){var i=e.stack;r=t+g(i,e)}else{r=t+String(e)}if(typeof v==="function"){v(r,n)}else if(typeof console.log==="function"||typeof console.log==="object"){console.log(r)}}}function fireRejectionEvent(e,t,n,r){var i=false;try{if(typeof t==="function"){i=true;if(e==="rejectionHandled"){t(r)}else{t(n,r)}}}catch(e){s.throwLater(e)}if(e==="unhandledRejection"){if(!M(e,n,r)&&!i){formatAndLogError(n,"Unhandled rejection ")}}else{M(e,r)}}function formatNonError(e){var t;if(typeof e==="function"){t="[function "+(e.name||"anonymous")+"]"}else{t=e&&typeof e.toString==="function"?e.toString():a.toString(e);var n=/\[object [a-zA-Z0-9$_]+\]/;if(n.test(t)){try{var r=JSON.stringify(e);t=r}catch(e){}}if(t.length===0){t="(empty array)"}}return"(<"+snip(t)+">, no stack trace)"}function snip(e){var t=41;if(e.length=s){return}O=function(e){if(d.test(e))return true;var t=parseLineInfo(e);if(t){if(t.fileName===o&&(i<=t.line&&t.line<=s)){return true}}return false}}function CapturedTrace(e){this._parent=e;this._promisesCreated=0;var t=this._length=1+(e===undefined?0:e._length);I(this,CapturedTrace);if(t>32)this.uncycle()}a.inherits(CapturedTrace,Error);t.CapturedTrace=CapturedTrace;CapturedTrace.prototype.uncycle=function(){var e=this._length;if(e<2)return;var t=[];var n={};for(var r=0,i=this;i!==undefined;++r){t.push(i);i=i._parent}e=this._length=r;for(var r=e-1;r>=0;--r){var s=t[r].stack;if(n[s]===undefined){n[s]=r}}for(var r=0;r0){t[a-1]._parent=undefined;t[a-1]._length=1}t[r]._parent=undefined;t[r]._length=1;var u=r>0?t[r-1]:this;if(a=0;--l){t[l]._length=c;c++}return}}};CapturedTrace.prototype.attachExtraTrace=function(e){if(e.__stackCleaned__)return;this.uncycle();var t=parseStackAndMessage(e);var n=t.message;var r=[t.stack];var i=this;while(i!==undefined){r.push(cleanStack(i.stack.split("\n")));i=i._parent}removeCommonRoots(r);removeDuplicateOrEmptyJumps(r);a.notEnumerableProp(e,"stack",reconstructStack(n,r));a.notEnumerableProp(e,"__stackCleaned__",true)};var I=function stackDetection(){var e=/^\s*at\s*/;var t=function(e,t){if(typeof e==="string")return e;if(t.name!==undefined&&t.message!==undefined){return t.toString()}return formatNonError(t)};if(typeof Error.stackTraceLimit==="number"&&typeof Error.captureStackTrace==="function"){Error.stackTraceLimit+=6;m=e;g=t;var n=Error.captureStackTrace;O=function(e){return d.test(e)};return function(e,t){Error.stackTraceLimit+=6;n(e,t);Error.stackTraceLimit-=6}}var r=new Error;if(typeof r.stack==="string"&&r.stack.split("\n")[0].indexOf("stackDetection@")>=0){m=/@/;g=t;y=true;return function captureStackTrace(e){e.stack=(new Error).stack}}var i;try{throw new Error}catch(e){i="stack"in e}if(!("stack"in r)&&i&&typeof Error.stackTraceLimit==="number"){m=e;g=t;return function captureStackTrace(e){Error.stackTraceLimit+=6;try{throw new Error}catch(t){e.stack=t.stack}Error.stackTraceLimit-=6}}g=function(e,t){if(typeof e==="string")return e;if((typeof t==="object"||typeof t==="function")&&t.name!==undefined&&t.message!==undefined){return t.toString()}return formatNonError(t)};return null}([]);if(typeof console!=="undefined"&&typeof console.warn!=="undefined"){v=function(e){console.warn(e)};if(a.isNode&&process.stderr.isTTY){v=function(e,t){var n=t?"":"";console.warn(n+e+"\n")}}else if(!a.isNode&&typeof(new Error).stack==="string"){v=function(e,t){console.warn("%c"+e,t?"color: darkorange":"color: red")}}}var R={warnings:w,longStackTraces:false,cancellation:false,monitoring:false,asyncHooks:false};if(E)e.longStackTraces();return{asyncHooks:function(){return R.asyncHooks},longStackTraces:function(){return R.longStackTraces},warnings:function(){return R.warnings},cancellation:function(){return R.cancellation},monitoring:function(){return R.monitoring},propagateFromFunction:function(){return T},boundValueFunction:function(){return boundValueFunction},checkForgottenReturns:checkForgottenReturns,setBounds:setBounds,warn:warn,deprecated:deprecated,CapturedTrace:CapturedTrace,fireDomEvent:D,fireGlobalEvent:A}}},7283:function(e,t,n){"use strict";const r=n(9983);class ModuleDependencyTemplateAsRequireId extends r.Template{apply(e,t,{runtimeTemplate:n,moduleGraph:r,chunkGraph:i,runtimeRequirements:s}){const o=e;if(!o.range)return;const a=n.moduleExports({module:r.getModule(o),chunkGraph:i,request:o.request,weak:o.weak,runtimeRequirements:s});t.replace(o.range[0],o.range[1]-1,a)}}e.exports=ModuleDependencyTemplateAsRequireId},7303:function(e){e.exports=require("async_hooks")},7305:function(e,t,n){"use strict";const r=n(3148)["cache-version"].content;const i=n(1481);const s=n(5622);const o=n(3566);e.exports=contentPath;function contentPath(e,t){const n=o.parse(t,{single:true});return s.join.apply(s,[contentDir(e),n.algorithm].concat(i(n.hexDigest())))}e.exports._contentDir=contentDir;function contentDir(e){return s.join(e,`content-v${r}`)}},7307:function(e,t,n){"use strict";const r=n(8093);const{moduleContextFromModuleAST:i}=n(7852);const{decode:s}=n(3432);const o=n(6076);const a=n(697);const u=n(3081);const c=new Set(["i32","f32","f64"]);const l=e=>{for(const t of e.params){if(!c.has(t.valtype)){return`${t.valtype} as parameter`}}for(const t of e.results){if(!c.has(t))return`${t} as result`}return null};const f=e=>{for(const t of e.args){if(!c.has(t)){return`${t} as parameter`}}for(const t of e.result){if(!c.has(t))return`${t} as result`}return null};const d={ignoreCodeSection:true,ignoreDataSection:true,ignoreCustomNameSection:true};class WebAssemblyParser{constructor(e){this.hooks=Object.freeze({});this.options=e}parse(e,t){t.module.buildMeta.exportsType="namespace";const n=s(e,d);const p=n.body[0];const h=i(p);const m=[];let g=t.module.buildMeta.jsIncompatibleExports=undefined;const y=[];r.traverse(p,{ModuleExport({node:e}){const n=e.descr;if(n.exportType==="Func"){const r=n.id.value;const i=h.getFunction(r);const s=f(i);if(s){if(g===undefined){g=t.module.buildMeta.jsIncompatibleExports={}}g[e.name]=s}}m.push(e.name);if(e.descr&&e.descr.exportType==="Global"){const n=y[e.descr.id.value];if(n){const r=new a(e.name,n.module,n.name,n.descr.valtype);t.module.addDependency(r)}}},Global({node:e}){const t=e.init[0];let n=null;if(t.id==="get_global"){const e=t.args[0].value;if(e{const u=s(e,n);if(!u)return a();const c=i.getField(n.descriptionFileData,"concord");if(!c)return a();const l=r.matchModule(n.context,c,u);if(l===u)return a();if(l===undefined)return a();if(l===false){const e=Object.assign({},n,{path:false});return a(null,e)}const f=Object.assign({},n,{path:n.descriptionFileRoot,request:l});e.doResolve(t,f,"aliased from description file "+n.descriptionFilePath+" with mapping '"+u+"' to '"+l+"'",o,(e,t)=>{if(e)return a(e);if(t===undefined)return a(null,null);a(null,t)})})}}},7332:function(e,t,n){"use strict";const r=n(1669);const i=r.deprecate(()=>{},"Hook.context is deprecated and will be removed");class Hook{constructor(e=[]){this._args=e;this.taps=[];this.interceptors=[];this.call=this._call;this.promise=this._promise;this.callAsync=this._callAsync;this._x=undefined}compile(e){throw new Error("Abstract: should be overridden")}_createCall(e){return this.compile({taps:this.taps,interceptors:this.interceptors,args:this._args,type:e})}_tap(e,t,n){if(typeof t==="string"){t={name:t}}else if(typeof t!=="object"||t===null){throw new Error("Invalid tap options")}if(typeof t.name!=="string"||t.name===""){throw new Error("Missing name for tap")}if(typeof t.context!=="undefined"){i()}t=Object.assign({type:e,fn:n},t);t=this._runRegisterInterceptors(t);this._insert(t)}tap(e,t){this._tap("sync",e,t)}tapAsync(e,t){this._tap("async",e,t)}tapPromise(e,t){this._tap("promise",e,t)}_runRegisterInterceptors(e){for(const t of this.interceptors){if(t.register){const n=t.register(e);if(n!==undefined){e=n}}}return e}withOptions(e){const t=t=>Object.assign({},e,typeof t==="string"?{name:t}:t);e=Object.assign({},e,this._withOptions);const n=this._withOptionsBase||this;const r=Object.create(n);r.tap=((e,r)=>n.tap(t(e),r));r.tapAsync=((e,r)=>n.tapAsync(t(e),r));r.tapPromise=((e,r)=>n.tapPromise(t(e),r));r._withOptions=e;r._withOptionsBase=n;return r}isUsed(){return this.taps.length>0||this.interceptors.length>0}intercept(e){this._resetCompilation();this.interceptors.push(Object.assign({},e));if(e.register){for(let t=0;t0){r--;const e=this.taps[r];this.taps[r+1]=e;const i=e.stage||0;if(t){if(t.has(e.name)){t.delete(e.name);continue}if(t.size>0){continue}}if(i>n){continue}r++;break}this.taps[r]=e}}function createCompileDelegate(e,t){return function lazyCompileHook(...n){this[e]=this._createCall(t);return this[e](...n)}}Object.defineProperties(Hook.prototype,{_call:{value:createCompileDelegate("call","sync"),configurable:true,writable:true},_callAsync:{value:createCompileDelegate("callAsync","async"),configurable:true,writable:true},_promise:{value:createCompileDelegate("promise","promise"),configurable:true,writable:true}});e.exports=Hook},7359:function(e,t,n){"use strict";const r=n(6756);const i=n(3272);const s=n(6150);const o=n(8159);const a=n(813);const u=n(7737);const c=n(9983);class HarmonyImportDependency extends c{constructor(e,t){super(e);this.sourceOrder=t;this.await=false}getReference(e){if(!e.getModule(this))return null;return new u(()=>e.getModule(this),u.NO_IMPORTED_NAMES,this.weak,this.sourceOrder)}getImportVar(e){const t=e.getParentModule(this);const n=e.getMeta(t);let r=n.importVarMap;if(!r)n.importVarMap=r=new Map;let i=r.get(e.getModule(this));if(i)return i;i=`${o.toIdentifier(`${this.userRequest}`)}__WEBPACK_IMPORTED_MODULE_${r.size}__`;r.set(e.getModule(this),i);return i}getImportStatement(e,{runtimeTemplate:t,module:n,moduleGraph:r,chunkGraph:i,runtimeRequirements:s}){return t.importStatement({update:e,module:r.getModule(this),chunkGraph:i,importVar:this.getImportVar(r),request:this.request,originModule:n,runtimeRequirements:s})}getLinkingErrors(e,t,n){const i=e.getModule(this);if(!i){return}const s=i.buildMeta&&i.buildMeta.exportsType;if(!s){if(e.getParentModule(this).buildMeta.strictHarmonyModule&&(t.length>0&&t[0]!=="default")){return[new r(`Can't import the named export ${t.map(e=>`'${e}'`).join(".")} ${n} from non EcmaScript module (only default export is available)`)]}return}else if(s==="named"){if(t.length>0&&t[0]!=="default"){return[new r(`Can't import the named export ${t.map(e=>`'${e}'`).join(".")} ${n} from JSON module (only default export is available)`)]}return}if(t.length===0){return}if(e.isExportProvided(i,t)!==false){return}return[new r(`export ${t.map(e=>`'${e}'`).join(".")} ${n} was not found in '${this.userRequest}'`)]}updateHash(e,t){super.updateHash(e,t);const n=t.moduleGraph.getModule(this);e.update((n&&(!n.buildMeta||n.buildMeta.exportsType))+"");if(t.moduleGraph.isAsync(n))e.update("async");e.update(`${this.sourceOrder}`);if(this.await)e.update("await")}serialize(e){const{write:t}=e;t(this.sourceOrder);t(this.await);super.serialize(e)}deserialize(e){const{read:t}=e;this.sourceOrder=t();this.await=t();super.deserialize(e)}}e.exports=HarmonyImportDependency;const l=new WeakMap;HarmonyImportDependency.Template=class HarmonyImportDependencyTemplate extends c.Template{apply(e,t,n){const r=e;const{module:o,moduleGraph:u}=n;const c=u.getModule(r);const f=c?c.identifier():r.request;const d=`harmony import ${f}`;if(o){let e=l.get(r);if(e===undefined){e=new WeakSet;l.set(r,e)}e.add(o)}n.initFragments.push(new i(r.getImportStatement(false,n),i.STAGE_HARMONY_IMPORTS,r.sourceOrder,d));if(r.await){n.runtimeRequirements.add(s.module);n.initFragments.push(new a([r.getImportVar(n.moduleGraph)]))}}static isImportEmitted(e,t){const n=l.get(e);return n!==undefined&&n.has(t)}}},7365:function(e,t,n){"use strict";const r=n(5808);class NodeJsInputFileSystem{readdir(e,t){r.readdir(e,(e,n)=>{t(e,n&&n.map(e=>{return e.normalize?e.normalize("NFC"):e}))})}readdirSync(e){const t=r.readdirSync(e);return t&&t.map(e=>{return e.normalize?e.normalize("NFC"):e})}}const i=["stat","statSync","readFile","readFileSync","readlink","readlinkSync"];for(const e of i){Object.defineProperty(NodeJsInputFileSystem.prototype,e,{configurable:true,writable:true,value:r[e].bind(r)})}e.exports=NodeJsInputFileSystem},7391:function(e,t,n){"use strict";const r=n(910);const i=(e,t)=>{for(const n of Object.keys(t)){if(typeof e[n]==="undefined"){e[n]=t[n]}}};const s={verbose:{entrypoints:true,chunkGroups:true,modules:false,chunks:true,chunkRelations:true,chunkModules:true,chunkRootModules:false,chunkOrigins:true,depth:true,env:true,reasons:true,usedExports:true,providedExports:true,optimizationBailout:true,errorDetails:true,publicPath:true,orphanModules:true,runtime:true,exclude:false,maxModules:Infinity},detailed:{entrypoints:true,chunkGroups:true,chunks:true,chunkRelations:true,chunkModules:false,chunkRootModules:false,chunkOrigins:true,depth:true,usedExports:true,providedExports:true,optimizationBailout:true,errorDetails:true,publicPath:true,runtimeModules:true,runtime:true,exclude:false,maxModules:Infinity},minimal:{all:false,modules:true,maxModules:0,errors:true,warnings:true},"errors-only":{all:false,errors:true,moduleTrace:true},"errors-warnings":{all:false,errors:true,warnings:true},none:{all:false}};const o=({all:e})=>e!==false;const a=({all:e})=>e===true;const u=({all:e},{forToString:t})=>t?e===true:e!==false;const c={context:(e,t,n)=>n.compiler.context,requestShortener:(e,t,n)=>n.compiler.context===e.context?n.requestShortener:new r(e.context),performance:o,hash:o,env:a,version:o,timings:o,builtAt:o,assets:o,entrypoints:o,chunkGroups:u,chunks:u,chunkRelations:u,chunkModules:u,chunkRootModules:({all:e,chunkModules:t},{forToString:n})=>{if(e===false)return false;if(e===true)return true;if(n&&t)return false;return true},chunkOrigins:u,modules:o,nestedModules:u,orphanModules:a,moduleAssets:u,depth:u,cached:o,runtime:u,cachedAssets:o,reasons:u,usedExports:u,providedExports:u,optimizationBailout:u,children:o,source:a,moduleTrace:o,errors:o,errorDetails:u,warnings:o,publicPath:u,excludeModules:()=>[],excludeAssets:()=>[],maxModules:(e,{forToString:t})=>t?15:Infinity,modulesSort:()=>"id",chunksSort:()=>"id",assetsSort:()=>"name",outputPath:u,colors:()=>false};const l=e=>{if(typeof e==="string"){const t=new RegExp(`[\\\\/]${e.replace(/[-[\]{}()*+?.\\^$|]/g,"\\$&")}([\\\\/]|$|!|\\?)`);return e=>t.test(e)}if(e&&typeof e==="object"&&typeof e.test==="function"){return t=>e.test(t)}if(typeof e==="function"){return e}if(typeof e==="boolean"){return()=>e}};const f={excludeModules:e=>{if(!Array.isArray(e)){e=e?[e]:[]}return e.map(l)},excludeAssets:e=>{if(!Array.isArray(e)){e=e?[e]:[]}return e.map(l)},warningsFilter:e=>{if(!Array.isArray(e)){e=e?[e]:[]}return e.map(e=>{if(typeof e==="string"){return(t,n)=>n.includes(e)}if(e instanceof RegExp){return(t,n)=>e.test(n)}if(typeof e==="function"){return e}throw new Error(`Can only filter warnings with Strings or RegExps. (Given: ${e})`)})}};class DefaultStatsPresetPlugin{apply(e){e.hooks.compilation.tap("DefaultStatsPresetPlugin",e=>{e.hooks.statsPreset.for(false).tap("DefaultStatsPresetPlugin",(e,t)=>{i(e,s.none)});for(const t of Object.keys(s)){const n=s[t];e.hooks.statsPreset.for(t).tap("DefaultStatsPresetPlugin",(e,t)=>{i(e,n)})}e.hooks.statsNormalize.tap("DefaultStatsPresetPlugin",(t,n)=>{for(const r of Object.keys(c)){if(t[r]===undefined)t[r]=c[r](t,n,e)}for(const e of Object.keys(f)){t[e]=f[e](t[e])}})})}}e.exports=DefaultStatsPresetPlugin},7393:function(e,t,n){"use strict";e.exports=inflight;let r;try{r=n(6853)}catch(e){r=Promise}const i={};inflight.active=i;function inflight(e,t){return r.all([e,t]).then(function(e){const t=e[0];const n=e[1];if(Array.isArray(t)){return r.all(t).then(function(e){return _inflight(e.join(""),n)})}else{return _inflight(t,n)}});function _inflight(e,t){if(!i[e]){i[e]=new r(function(e){return e(t())});i[e].then(cleanup,cleanup);function cleanup(){delete i[e]}}return i[e]}}},7428:function(e){e.exports={title:"OccurrenceChunkIdsPluginOptions",type:"object",additionalProperties:false,properties:{prioritiseInitial:{description:"Prioritise initial size over total size",type:"boolean"}}}},7431:function(e){"use strict";e.exports=function defFunc(e){defFunc.definition={type:"object",macro:function(e){if(e.length==0)return{};if(e.length==1)return{not:{required:e}};var t=e.map(function(e){return{required:[e]}});return{not:{anyOf:t}}},metaSchema:{type:"array",items:{type:"string"}}};e.addKeyword("prohibited",defFunc.definition);return e}},7439:function(e,t,n){"use strict";const r=n(6150);const i=n(2208);const s=n(3261);class WebWorkerTemplatePlugin{apply(e){e.hooks.thisCompilation.tap("WebWorkerTemplatePlugin",e=>{new s(e).apply(e.chunkTemplate);const t=new WeakSet;const n=(n,s)=>{if(t.has(n))return;t.add(n);s.add(r.moduleFactories);e.addRuntimeModule(n,new i(n,e.outputOptions,s))};e.hooks.runtimeRequirementInTree.for(r.ensureChunkHandlers).tap("JsonpTemplatePlugin",n);e.hooks.runtimeRequirementInTree.for(r.hmrDownloadUpdateHandlers).tap("JsonpTemplatePlugin",n);e.hooks.runtimeRequirementInTree.for(r.hmrDownloadManifest).tap("JsonpTemplatePlugin",n);e.hooks.runtimeRequirementInTree.for(r.ensureChunkHandlers).tap("JsonpTemplatePlugin",(e,t)=>{t.add(r.publicPath);t.add(r.getChunkScriptFilename)});e.hooks.runtimeRequirementInTree.for(r.hmrDownloadUpdateHandlers).tap("JsonpTemplatePlugin",(e,t)=>{t.add(r.publicPath);t.add(r.getChunkUpdateScriptFilename);t.add(r.moduleCache);t.add(r.hmrModuleData);t.add(r.moduleFactories)});e.hooks.runtimeRequirementInTree.for(r.hmrDownloadManifest).tap("JsonpTemplatePlugin",(e,t)=>{t.add(r.publicPath);t.add(r.getUpdateManifestFilename)})})}}e.exports=WebWorkerTemplatePlugin},7445:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:true});t.encodeVersion=encodeVersion;t.encodeHeader=encodeHeader;t.encodeU32=encodeU32;t.encodeI32=encodeI32;t.encodeI64=encodeI64;t.encodeVec=encodeVec;t.encodeValtype=encodeValtype;t.encodeMutability=encodeMutability;t.encodeUTF8Vec=encodeUTF8Vec;t.encodeLimits=encodeLimits;t.encodeModuleImport=encodeModuleImport;t.encodeSectionMetadata=encodeSectionMetadata;t.encodeCallInstruction=encodeCallInstruction;t.encodeCallIndirectInstruction=encodeCallIndirectInstruction;t.encodeModuleExport=encodeModuleExport;t.encodeTypeInstruction=encodeTypeInstruction;t.encodeInstr=encodeInstr;t.encodeStringLiteral=encodeStringLiteral;t.encodeGlobal=encodeGlobal;t.encodeFuncBody=encodeFuncBody;t.encodeIndexInFuncSection=encodeIndexInFuncSection;t.encodeElem=encodeElem;var r=_interopRequireWildcard(n(9784));var i=_interopRequireWildcard(n(48));var s=_interopRequireWildcard(n(8040));var o=_interopRequireDefault(n(3930));var a=n(4166);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _interopRequireWildcard(e){if(e&&e.__esModule){return e}else{var t={};if(e!=null){for(var n in e){if(Object.prototype.hasOwnProperty.call(e,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,n):{};if(r.get||r.set){Object.defineProperty(t,n,r)}else{t[n]=e[n]}}}}t.default=e;return t}}function _toConsumableArray(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t0){if(typeof t!=="string"&&!s.objectMode&&Object.getPrototypeOf(t)!==c.prototype){t=_uint8ArrayToBuffer(t)}if(r){if(s.endEmitted)e.emit("error",new Error("stream.unshift() after end event"));else addChunk(e,s,t,true)}else if(s.ended){e.emit("error",new Error("stream.push() after EOF"))}else{s.reading=false;if(s.decoder&&!n){t=s.decoder.write(t);if(s.objectMode||t.length!==0)addChunk(e,s,t,false);else maybeReadMore(e,s)}else{addChunk(e,s,t,false)}}}else if(!r){s.reading=false}}return needMoreData(s)}function addChunk(e,t,n,r){if(t.flowing&&t.length===0&&!t.sync){e.emit("data",n);e.read(0)}else{t.length+=t.objectMode?1:n.length;if(r)t.buffer.unshift(n);else t.buffer.push(n);if(t.needReadable)emitReadable(e)}maybeReadMore(e,t)}function chunkInvalid(e,t){var n;if(!_isUint8Array(t)&&typeof t!=="string"&&t!==undefined&&!e.objectMode){n=new TypeError("Invalid non-string/buffer chunk")}return n}function needMoreData(e){return!e.ended&&(e.needReadable||e.length=v){e=v}else{e--;e|=e>>>1;e|=e>>>2;e|=e>>>4;e|=e>>>8;e|=e>>>16;e++}return e}function howMuchToRead(e,t){if(e<=0||t.length===0&&t.ended)return 0;if(t.objectMode)return 1;if(e!==e){if(t.flowing&&t.length)return t.buffer.head.data.length;else return t.length}if(e>t.highWaterMark)t.highWaterMark=computeNewHighWaterMark(e);if(e<=t.length)return e;if(!t.ended){t.needReadable=true;return 0}return t.length}Readable.prototype.read=function(e){p("read",e);e=parseInt(e,10);var t=this._readableState;var n=e;if(e!==0)t.emittedReadable=false;if(e===0&&t.needReadable&&(t.length>=t.highWaterMark||t.ended)){p("read: emitReadable",t.length,t.ended);if(t.length===0&&t.ended)endReadable(this);else emitReadable(this);return null}e=howMuchToRead(e,t);if(e===0&&t.ended){if(t.length===0)endReadable(this);return null}var r=t.needReadable;p("need readable",r);if(t.length===0||t.length-e0)i=fromList(e,t);else i=null;if(i===null){t.needReadable=true;e=0}else{t.length-=e}if(t.length===0){if(!t.ended)t.needReadable=true;if(n!==e&&t.ended)endReadable(this)}if(i!==null)this.emit("data",i);return i};function onEofChunk(e,t){if(t.ended)return;if(t.decoder){var n=t.decoder.end();if(n&&n.length){t.buffer.push(n);t.length+=t.objectMode?1:n.length}}t.ended=true;emitReadable(e)}function emitReadable(e){var t=e._readableState;t.needReadable=false;if(!t.emittedReadable){p("emitReadable",t.flowing);t.emittedReadable=true;if(t.sync)r.nextTick(emitReadable_,e);else emitReadable_(e)}}function emitReadable_(e){p("emit readable");e.emit("readable");flow(e)}function maybeReadMore(e,t){if(!t.readingMore){t.readingMore=true;r.nextTick(maybeReadMore_,e,t)}}function maybeReadMore_(e,t){var n=t.length;while(!t.reading&&!t.flowing&&!t.ended&&t.length1&&indexOf(i.pipes,e)!==-1)&&!c){p("false write response, pause",n._readableState.awaitDrain);n._readableState.awaitDrain++;l=true}n.pause()}}function onerror(t){p("onerror",t);unpipe();e.removeListener("error",onerror);if(a(e,"error")===0)e.emit("error",t)}prependListener(e,"error",onerror);function onclose(){e.removeListener("finish",onfinish);unpipe()}e.once("close",onclose);function onfinish(){p("onfinish");e.removeListener("close",onclose);unpipe()}e.once("finish",onfinish);function unpipe(){p("unpipe");n.unpipe(e)}e.emit("pipe",n);if(!i.flowing){p("pipe resume");n.resume()}return e};function pipeOnDrain(e){return function(){var t=e._readableState;p("pipeOnDrain",t.awaitDrain);if(t.awaitDrain)t.awaitDrain--;if(t.awaitDrain===0&&a(e,"data")){t.flowing=true;flow(e)}}}Readable.prototype.unpipe=function(e){var t=this._readableState;var n={hasUnpiped:false};if(t.pipesCount===0)return this;if(t.pipesCount===1){if(e&&e!==t.pipes)return this;if(!e)e=t.pipes;t.pipes=null;t.pipesCount=0;t.flowing=false;if(e)e.emit("unpipe",this,n);return this}if(!e){var r=t.pipes;var i=t.pipesCount;t.pipes=null;t.pipesCount=0;t.flowing=false;for(var s=0;s=t.length){if(t.decoder)n=t.buffer.join("");else if(t.buffer.length===1)n=t.buffer.head.data;else n=t.buffer.concat(t.length);t.buffer.clear()}else{n=fromListPartial(e,t.buffer,t.decoder)}return n}function fromListPartial(e,t,n){var r;if(es.length?s.length:e;if(o===s.length)i+=s;else i+=s.slice(0,e);e-=o;if(e===0){if(o===s.length){++r;if(n.next)t.head=n.next;else t.head=t.tail=null}else{t.head=n;n.data=s.slice(o)}break}++r}t.length-=r;return i}function copyFromBuffer(e,t){var n=c.allocUnsafe(e);var r=t.head;var i=1;r.data.copy(n);e-=r.data.length;while(r=r.next){var s=r.data;var o=e>s.length?s.length:e;s.copy(n,n.length-e,0,o);e-=o;if(e===0){if(o===s.length){++i;if(r.next)t.head=r.next;else t.head=t.tail=null}else{t.head=r;r.data=s.slice(o)}break}++i}t.length-=i;return n}function endReadable(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');if(!t.endEmitted){t.ended=true;r.nextTick(endReadableNT,t,e)}}function endReadableNT(e,t){if(!e.endEmitted&&e.length===0){e.endEmitted=true;t.readable=false;t.emit("end")}}function indexOf(e,t){for(var n=0,r=e.length;n{e.dependencyFactories.set(r,new i);e.dependencyTemplates.set(r,new r.Template);t.hooks.parser.for("javascript/auto").tap("CompatibilityPlugin",(e,t)=>{if(t.browserify!==undefined&&!t.browserify)return;e.hooks.call.for("require").tap("CompatibilityPlugin",t=>{if(t.arguments.length!==2)return;const n=e.evaluateExpression(t.arguments[1]);if(!n.isBoolean())return;if(n.asBool()!==true)return;const i=new r("require",t.callee.range);i.loc=t.loc;if(e.state.current.dependencies.length>1){const t=e.state.current.dependencies[e.state.current.dependencies.length-1];if(t.critical&&t.options&&t.options.request==="."&&t.userRequest==="."&&t.options.recursive)e.state.current.dependencies.pop()}e.state.current.addDependency(i);return true})});const n=e=>{e.hooks.pattern.for("__webpack_require__").tap("CompatibilityPlugin",t=>{const n=`__nested_webpack_require_${t.range[0]}__`;const i=new r(n,t.range);i.loc=t.loc;e.state.current.addDependency(i);e.scope.renames.set(t.name,"nested __webpack_require__");e.scope.renames.set("nested __webpack_require__ name",n);e.scope.definitions.delete(t.name);return true});e.hooks.expression.for("nested __webpack_require__").tap("CompatibilityPlugin",t=>{const n=e.scope.renames.get("nested __webpack_require__ name");const i=new r(n,t.range);i.loc=t.loc;e.state.current.addDependency(i);return true})};t.hooks.parser.for("javascript/auto").tap("CompatibilityPlugin",n);t.hooks.parser.for("javascript/dynamic").tap("CompatibilityPlugin",n);t.hooks.parser.for("javascript/esm").tap("CompatibilityPlugin",n)})}}e.exports=CompatibilityPlugin},7503:function(e){"use strict";const t=e=>{let t=false;let n=undefined;return()=>{if(t){return n}else{n=e();t=true;e=undefined;return n}}};e.exports=t},7511:function(e,t){var n=void 0;var i=1e5;var s=function(){var e=Object.prototype.toString,t=Object.prototype.hasOwnProperty;return{Class:function(t){return e.call(t).replace(/^\[object *|\]$/g,"")},HasProperty:function(e,t){return t in e},HasOwnProperty:function(e,n){return t.call(e,n)},IsCallable:function(e){return typeof e==="function"},ToInt32:function(e){return e>>0},ToUint32:function(e){return e>>>0}}}();var o=Math.LN2,a=Math.abs,u=Math.floor,c=Math.log,l=Math.min,f=Math.pow,d=Math.round;function configureProperties(e){if(h&&p){var t=h(e),n;for(n=0;ni)throw new RangeError("Array too large for polyfill");function makeArrayAccessor(t){p(e,t,{get:function(){return e._getter(t)},set:function(n){e._setter(t,n)},enumerable:true,configurable:false})}var t;for(t=0;t>n}function as_unsigned(e,t){var n=32-t;return e<>>n}function packI8(e){return[e&255]}function unpackI8(e){return as_signed(e[0],8)}function packU8(e){return[e&255]}function unpackU8(e){return as_unsigned(e[0],8)}function packU8Clamped(e){e=d(Number(e));return[e<0?0:e>255?255:e&255]}function packI16(e){return[e>>8&255,e&255]}function unpackI16(e){return as_signed(e[0]<<8|e[1],16)}function packU16(e){return[e>>8&255,e&255]}function unpackU16(e){return as_unsigned(e[0]<<8|e[1],16)}function packI32(e){return[e>>24&255,e>>16&255,e>>8&255,e&255]}function unpackI32(e){return as_signed(e[0]<<24|e[1]<<16|e[2]<<8|e[3],32)}function packU32(e){return[e>>24&255,e>>16&255,e>>8&255,e&255]}function unpackU32(e){return as_unsigned(e[0]<<24|e[1]<<16|e[2]<<8|e[3],32)}function packIEEE754(e,t,n){var r=(1<.5)return t+1;return t%2?t+1:t}if(e!==e){s=(1<=f(2,1-r)){s=l(u(c(e)/o),1023);d=roundToEven(e/f(2,s)*f(2,n));if(d/f(2,n)>=2){s=s+1;d=1}if(s>r){s=(1<>1}}r.reverse();a=r.join("");u=(1<0){return c*f(2,l-u)*(1+d/f(2,n))}else if(d!==0){return c*f(2,-(u-1))*(d/f(2,n))}else{return c<0?-0:0}}function unpackF64(e){return unpackIEEE754(e,11,52)}function packF64(e){return packIEEE754(e,11,52)}function unpackF32(e){return unpackIEEE754(e,8,23)}function packF32(e){return packIEEE754(e,8,23)}(function(){var e=function ArrayBuffer(e){e=s.ToInt32(e);if(e<0)throw new RangeError("ArrayBuffer size is not a small enough positive integer");this.byteLength=e;this._bytes=[];this._bytes.length=e;var t;for(t=0;tthis.buffer.byteLength){throw new RangeError("byteOffset out of range")}if(this.byteOffset%this.BYTES_PER_ELEMENT){throw new RangeError("ArrayBuffer length minus the byteOffset is not a multiple of the element size.")}if(arguments.length<3){this.byteLength=this.buffer.byteLength-this.byteOffset;if(this.byteLength%this.BYTES_PER_ELEMENT){throw new RangeError("length of buffer minus byteOffset not a multiple of the element size")}this.length=this.byteLength/this.BYTES_PER_ELEMENT}else{this.length=s.ToUint32(r);this.byteLength=this.length*this.BYTES_PER_ELEMENT}if(this.byteOffset+this.byteLength>this.buffer.byteLength){throw new RangeError("byteOffset and length reference an area beyond the end of the buffer")}}else{throw new TypeError("Unexpected argument type(s)")}this.constructor=a;configureProperties(this);makeArrayAccessors(this)};a.prototype=new r;a.prototype.BYTES_PER_ELEMENT=t;a.prototype._pack=i;a.prototype._unpack=o;a.BYTES_PER_ELEMENT=t;a.prototype._getter=function(e){if(arguments.length<1)throw new SyntaxError("Not enough arguments");e=s.ToUint32(e);if(e>=this.length){return n}var t=[],r,i;for(r=0,i=this.byteOffset+e*this.BYTES_PER_ELEMENT;r=this.length){return n}var r=this._pack(t),i,o;for(i=0,o=this.byteOffset+e*this.BYTES_PER_ELEMENT;ithis.length){throw new RangeError("Offset plus length of array is out of range")}l=this.byteOffset+i*this.BYTES_PER_ELEMENT;f=n.length*this.BYTES_PER_ELEMENT;if(n.buffer===this.buffer){d=[];for(a=0,u=n.byteOffset;athis.length){throw new RangeError("Offset plus length of array is out of range")}for(a=0;an?n:e}e=s.ToInt32(e);t=s.ToInt32(t);if(arguments.length<1){e=0}if(arguments.length<2){t=this.length}if(e<0){e=this.length+e}if(t<0){t=this.length+t}e=clamp(e,0,this.length);t=clamp(t,0,this.length);var n=t-e;if(n<0){n=0}return new this.constructor(this.buffer,this.byteOffset+e*this.BYTES_PER_ELEMENT,n)};return a}var i=makeConstructor(1,packI8,unpackI8);var o=makeConstructor(1,packU8,unpackU8);var a=makeConstructor(1,packU8Clamped,unpackU8);var u=makeConstructor(2,packI16,unpackI16);var c=makeConstructor(2,packU16,unpackU16);var l=makeConstructor(4,packI32,unpackI32);var f=makeConstructor(4,packU32,unpackU32);var d=makeConstructor(4,packF32,unpackF32);var p=makeConstructor(8,packF64,unpackF64);t.Int8Array=t.Int8Array||i;t.Uint8Array=t.Uint8Array||o;t.Uint8ClampedArray=t.Uint8ClampedArray||a;t.Int16Array=t.Int16Array||u;t.Uint16Array=t.Uint16Array||c;t.Int32Array=t.Int32Array||l;t.Uint32Array=t.Uint32Array||f;t.Float32Array=t.Float32Array||d;t.Float64Array=t.Float64Array||p})();(function(){function r(e,t){return s.IsCallable(e.get)?e.get(t):e[t]}var e=function(){var e=new t.Uint16Array([4660]),n=new t.Uint8Array(e.buffer);return r(n,0)===18}();var n=function DataView(e,n,r){if(arguments.length===0){e=new t.ArrayBuffer(0)}else if(!(e instanceof t.ArrayBuffer||s.Class(e)==="ArrayBuffer")){throw new TypeError("TypeError")}this.buffer=e||new t.ArrayBuffer(0);this.byteOffset=s.ToUint32(n);if(this.byteOffset>this.buffer.byteLength){throw new RangeError("byteOffset out of range")}if(arguments.length<3){this.byteLength=this.buffer.byteLength-this.byteOffset}else{this.byteLength=s.ToUint32(r)}if(this.byteOffset+this.byteLength>this.buffer.byteLength){throw new RangeError("byteOffset and length reference an area beyond the end of the buffer")}configureProperties(this)};function makeGetter(n){return function(i,o){i=s.ToUint32(i);if(i+n.BYTES_PER_ELEMENT>this.byteLength){throw new RangeError("Array index out of range")}i+=this.byteOffset;var a=new t.Uint8Array(this.buffer,i,n.BYTES_PER_ELEMENT),u=[],c;for(c=0;cthis.byteLength){throw new RangeError("Array index out of range")}var u=new n([o]),c=new t.Uint8Array(u.buffer),l=[],f,d;for(f=0;f(function(){const n=t.promiseModule;const r=new Array(arguments.length);for(let e=0;e{if(t.errorFirst){r.push(function(e,r){if(t.multiArgs){const t=new Array(arguments.length-1);for(let e=1;e{n=Object.assign({exclude:[/.+(Sync|Stream)$/],errorFirst:true,promiseModule:Promise},n);const r=e=>{const t=t=>typeof t==="string"?e===t:t.test(e);return n.include?n.include.some(t):!n.exclude.some(t)};let i;if(typeof e==="function"){i=function(){if(n.excludeMain){return e.apply(this,arguments)}return t(e,n).apply(this,arguments)}}else{i=Object.create(Object.getPrototypeOf(e))}for(const s in e){const o=e[s];i[s]=typeof o==="function"&&r(s)?t(o,n):o}return i})},7577:function(e,t,n){"use strict";const r=n(2380);const i=n(7132);class WasmFinalizeExportsPlugin{apply(e){e.hooks.compilation.tap("WasmFinalizeExportsPlugin",e=>{e.hooks.finishModules.tap("WasmFinalizeExportsPlugin",t=>{for(const n of t){if(n.type.startsWith("webassembly")===true){const t=n.buildMeta.jsIncompatibleExports;if(t===undefined){continue}for(const s of e.moduleGraph.getIncomingConnections(n)){if(s.originModule.type.startsWith("webassembly")===false){const o=e.getDependencyReference(s.dependency);if(!o)continue;const a=o.importedNames;if(Array.isArray(a)){a.forEach(o=>{if(o.length===0)return;const a=o[0];if(Object.prototype.hasOwnProperty.call(t,a)){const o=new i(`Export "${a}" with ${t[a]} can only be used for direct wasm to wasm dependencies\n`+`It's used from ${s.originModule.readableIdentifier(e.requestShortener)} at ${r(s.dependency.loc)}.`);o.module=n;e.errors.push(o)}})}}}}}})})}}e.exports=WasmFinalizeExportsPlugin},7579:function(e,t,n){"use strict";const r=n(2112);const{SourceNode:i}=n(9596);const{SourceListMap:s}=n(6900);const{getSourceAndMap:o,getMap:a}=n(387);const u=/(?!$)[^\n\r;{}]*[\n\r;{}]*/g;function _splitCode(e){return e.match(u)||[]}class OriginalSource extends r{constructor(e,t){super();this._value=e;this._name=t}source(){return this._value}map(e){return a(this,e)}sourceAndMap(e){return o(this,e)}node(e){const t=this._value;const n=this._name;const r=t.split("\n");const s=new i(null,null,null,r.map(function(t,s){let o=0;if(e&&e.columns===false){const e=t+(s!==r.length-1?"\n":"");return new i(s+1,0,n,e)}return new i(null,null,null,_splitCode(t+(s!==r.length-1?"\n":"")).map(function(e){if(/^\s*$/.test(e)){o+=e.length;return e}const t=new i(s+1,o,n,e);o+=e.length;return t}))}));s.setSourceContent(n,t);return s}listMap(e){return new s(this._value,this._name,this._value)}updateHash(e){e.update("OriginalSource");e.update(this._value)}}e.exports=OriginalSource},7586:function(e,t,n){"use strict";const r=n(4500);class WarnNoModeSetPlugin{apply(e){e.hooks.thisCompilation.tap("WarnNoModeSetPlugin",e=>{e.warnings.push(new r)})}}e.exports=WarnNoModeSetPlugin},7588:function(e,t,n){var r=n(2453);var i=n(8309);var s=Buffer.from&&Buffer.from!==Uint8Array.from?Buffer.from([0]):new Buffer([0]);e.exports=WriteStream;function WriteStream(e,t,n){if(!(this instanceof WriteStream))return new WriteStream(e,t,n);if(typeof e==="function"){n=t;t=e;e={}}r.Writable.call(this,e);this.destroyed=false;this._worker=t||null;this._flush=n||null}i(WriteStream,r.Writable);WriteStream.obj=function(e,t,n){if(typeof e==="function")return WriteStream.obj(null,e,t);if(!e)e={};e.objectMode=true;return new WriteStream(e,t,n)};WriteStream.prototype._write=function(e,t,n){if(s===e)this._flush(n);else this._worker(e,t,n)};WriteStream.prototype.end=function(e,t,n){if(!this._flush)return r.Writable.prototype.end.apply(this,arguments);if(typeof e==="function")return this.end(null,null,e);if(typeof t==="function")return this.end(e,null,t);if(e)this.write(e);if(!this._writableState.ending)this.write(s);return r.Writable.prototype.end.call(this,n)};WriteStream.prototype.destroy=function(e){if(this.destroyed)return;this.destroyed=true;if(e)this.emit("error",e);this.emit("close")}},7614:function(e){"use strict";class OptionsApply{process(e,t){}}e.exports=OptionsApply},7619:function(e){e.exports=require("constants")},7634:function(e,t,n){"use strict";const r=n(872);const i=n(9204);const s=n(8947);class RequireContextPlugin{constructor(e,t,n){if(!Array.isArray(e)){throw new Error("modulesDirectories must be an array")}if(!Array.isArray(t)){throw new Error("extensions must be an array")}this.modulesDirectories=e;this.extensions=t;this.mainFiles=n}apply(e){e.hooks.compilation.tap("RequireContextPlugin",(e,{contextModuleFactory:t,normalModuleFactory:n})=>{e.dependencyFactories.set(i,t);e.dependencyTemplates.set(i,new i.Template);e.dependencyFactories.set(r,n);const o=(e,t)=>{if(t.requireContext!==undefined&&!t.requireContext)return;(new s).apply(e)};n.hooks.parser.for("javascript/auto").tap("RequireContextPlugin",o);n.hooks.parser.for("javascript/dynamic").tap("RequireContextPlugin",o);t.hooks.alternatives.tap("RequireContextPlugin",e=>{if(e.length===0)return e;return e.map(e=>{return this.extensions.filter(t=>{const n=e.request.length;return n>t.length&&e.request.substr(n-t.length,n)===t}).map(t=>{const n=e.request.length;return{context:e.context,request:e.request.substr(0,n-t.length)}}).concat(e)}).reduce((e,t)=>e.concat(t),[])});t.hooks.alternatives.tap("RequireContextPlugin",e=>{if(e.length===0)return e;return e.map(e=>{return this.mainFiles.filter(t=>{const n=e.request.length;return n>t.length+1&&e.request.substr(n-t.length-1,n)==="/"+t}).map(t=>{const n=e.request.length;return[{context:e.context,request:e.request.substr(0,n-t.length)},{context:e.context,request:e.request.substr(0,n-t.length-1)}]}).reduce((e,t)=>e.concat(t),[]).concat(e)}).reduce((e,t)=>e.concat(t),[])});t.hooks.alternatives.tap("RequireContextPlugin",e=>{if(e.length===0)return e;return e.map(e=>{for(let t=0;t{let n=t.split(".");for(let t=0;t{let r=t.split(".");for(let t=0;t{const{chunk:u,chunkGraph:c}=a;const l=u instanceof i?u:null;const f=e.outputOptions.globalObject;const d=new r;const p=c.getChunkRuntimeModulesInOrder(u);const h=p.length>0&&s.renderChunkRuntimeModules(p,a);if(l){const n=e.outputOptions.hotUpdateFunction;d.add(`${f}[${JSON.stringify(n)}](`);d.add(`${JSON.stringify(u.id)},`);d.add(t);if(h){d.add(",\n");d.add(h)}d.add(")")}else{const n=e.outputOptions.jsonpFunction;d.add(`(${f}[${JSON.stringify(n)}] = ${f}[${JSON.stringify(n)}] || []).push([`);d.add(`${JSON.stringify(u.ids)},`);d.add(t);const r=o(c,u);const i=u.getChildIdsByOrders(c).prefetch;const s=r.length>0&&`,${JSON.stringify(r)}`;const a=i&&i.length>0&&`,${JSON.stringify(i)}`;if(s||h||a){d.add(s||",0")}if(h||a){d.add(",\n");d.add(h||"0")}if(a){d.add(a)}d.add("])")}return d});e.hooks.hash.tap("JsonpChunkTemplatePlugin",t=>{t.update("JsonpChunkTemplatePlugin");t.update("5");t.update(`${e.outputOptions.jsonpFunction}`);t.update(`${e.outputOptions.hotUpdateFunction}`);t.update(`${e.outputOptions.globalObject}`)});e.hooks.hashForChunk.tap("JsonpChunkTemplatePlugin",(e,t)=>{const n=this.compilation.chunkGraph;e.update(JSON.stringify(o(n,t)));e.update(JSON.stringify(t.getChildIdsByOrders(n).prefetch)||"")})}}e.exports=JsonpChunkTemplatePlugin},7675:function(e){"use strict";e.exports=function generate_oneOf(e,t,n){var r=" ";var i=e.level;var s=e.dataLevel;var o=e.schema[t];var a=e.schemaPath+e.util.getProperty(t);var u=e.errSchemaPath+"/"+t;var c=!e.opts.allErrors;var l="data"+(s||"");var f="valid"+i;var d="errs__"+i;var p=e.util.copy(e);var h="";p.level++;var m="valid"+p.level;var g=p.baseId,y="prevValid"+i,v="passingSchemas"+i;r+="var "+d+" = errors , "+y+" = false , "+f+" = false , "+v+" = null; ";var b=e.compositeRule;e.compositeRule=p.compositeRule=true;var w=o;if(w){var E,_=-1,S=w.length-1;while(_0){this.levels.push(new Set,new Set,new Set,new Set,new Set,new Set,new Set,new Set,new Set);for(let t=8e3;t0&&!this.nextTick)this.interval=setInterval(this.tick,Math.floor(this.duration/this.levels.length))}finished(e,t,n){const r=this.running.get(e);this.running.delete(e);if(this.duration>0){this.data.set(e,[t,n]);const r=this.levels[0];this.count-=r.size;r.add(e);this.count+=r.size;this.ensureTick()}for(let e=0;e0){this.data.set(e,[t,n]);const r=this.levels[0];this.count-=r.size;r.add(e);this.count+=r.size;this.ensureTick()}}provide(e,t,n){if(typeof e!=="string"){n(new TypeError("path must be a string"));return}let r=this.running.get(e);if(r){r.push(n);return}if(this.duration>0){this.checkTicks();const t=this.data.get(e);if(t){return process.nextTick(()=>{n.apply(null,t)})}}this.running.set(e,r=[n]);t(e,(t,n)=>{this.finished(e,t,n)})}provideSync(e,t){if(typeof e!=="string"){throw new TypeError("path must be a string")}if(this.duration>0){this.checkTicks();const t=this.data.get(e);if(t){if(t[0])throw t[0];return t[1]}}let n;try{n=t(e)}catch(t){this.finishedSync(e,t);throw t}this.finishedSync(e,null,n);return n}tick(){const e=this.levels.pop();for(let t of e){this.data.delete(t)}this.count-=e.size;e.clear();this.levels.unshift(e);if(this.count===0){clearInterval(this.interval);this.interval=null;this.nextTick=null;return true}else if(this.nextTick){this.nextTick+=Math.floor(this.duration/this.levels.length);const e=(new Date).getTime();if(this.nextTick>e){this.nextTick=null;this.interval=setInterval(this.tick,Math.floor(this.duration/this.levels.length));return true}}else if(this.passive){clearInterval(this.interval);this.interval=null;this.nextTick=(new Date).getTime()+Math.floor(this.duration/this.levels.length)}else{this.passive=true}}checkTicks(){this.passive=false;if(this.nextTick){while(!this.tick());}}purge(e){if(!e){this.count=0;clearInterval(this.interval);this.nextTick=null;this.data.clear();this.levels.forEach(e=>{e.clear()})}else if(typeof e==="string"){for(let t of this.data.keys()){if(t.startsWith(e))this.data.delete(t)}}else{for(let t=e.length-1;t>=0;t--){this.purge(e[t])}}}}e.exports=class CachedInputFileSystem{constructor(e,t){this.fileSystem=e;this._statStorage=new Storage(t);this._readdirStorage=new Storage(t);this._readFileStorage=new Storage(t);this._readJsonStorage=new Storage(t);this._readlinkStorage=new Storage(t);this._stat=this.fileSystem.stat?this.fileSystem.stat.bind(this.fileSystem):null;if(!this._stat)this.stat=null;this._statSync=this.fileSystem.statSync?this.fileSystem.statSync.bind(this.fileSystem):null;if(!this._statSync)this.statSync=null;this._readdir=this.fileSystem.readdir?this.fileSystem.readdir.bind(this.fileSystem):null;if(!this._readdir)this.readdir=null;this._readdirSync=this.fileSystem.readdirSync?this.fileSystem.readdirSync.bind(this.fileSystem):null;if(!this._readdirSync)this.readdirSync=null;this._readFile=this.fileSystem.readFile?this.fileSystem.readFile.bind(this.fileSystem):null;if(!this._readFile)this.readFile=null;this._readFileSync=this.fileSystem.readFileSync?this.fileSystem.readFileSync.bind(this.fileSystem):null;if(!this._readFileSync)this.readFileSync=null;if(this.fileSystem.readJson){this._readJson=this.fileSystem.readJson.bind(this.fileSystem)}else if(this.readFile){this._readJson=((e,t)=>{this.readFile(e,(e,n)=>{if(e)return t(e);let r;try{r=JSON.parse(n.toString("utf-8"))}catch(e){return t(e)}t(null,r)})})}else{this.readJson=null}if(this.fileSystem.readJsonSync){this._readJsonSync=this.fileSystem.readJsonSync.bind(this.fileSystem)}else if(this.readFileSync){this._readJsonSync=(e=>{const t=this.readFileSync(e);const n=JSON.parse(t.toString("utf-8"));return n})}else{this.readJsonSync=null}this._readlink=this.fileSystem.readlink?this.fileSystem.readlink.bind(this.fileSystem):null;if(!this._readlink)this.readlink=null;this._readlinkSync=this.fileSystem.readlinkSync?this.fileSystem.readlinkSync.bind(this.fileSystem):null;if(!this._readlinkSync)this.readlinkSync=null}stat(e,t){this._statStorage.provide(e,this._stat,t)}readdir(e,t){this._readdirStorage.provide(e,this._readdir,t)}readFile(e,t){this._readFileStorage.provide(e,this._readFile,t)}readJson(e,t){this._readJsonStorage.provide(e,this._readJson,t)}readlink(e,t){this._readlinkStorage.provide(e,this._readlink,t)}statSync(e){return this._statStorage.provideSync(e,this._statSync)}readdirSync(e){return this._readdirStorage.provideSync(e,this._readdirSync)}readFileSync(e){return this._readFileStorage.provideSync(e,this._readFileSync)}readJsonSync(e){return this._readJsonStorage.provideSync(e,this._readJsonSync)}readlinkSync(e){return this._readlinkStorage.provideSync(e,this._readlinkSync)}purge(e){this._statStorage.purge(e);this._readdirStorage.purge(e);this._readFileStorage.purge(e);this._readlinkStorage.purge(e);this._readJsonStorage.purge(e)}}},7736:function(e,t,n){"use strict";const r=n(3520);class LoaderTargetPlugin{constructor(e){this.target=e}apply(e){e.hooks.compilation.tap("LoaderTargetPlugin",e=>{r.getCompilationHooks(e).loader.tap("LoaderTargetPlugin",e=>{e.target=this.target})})}}e.exports=LoaderTargetPlugin},7737:function(e){"use strict";class DependencyReference{constructor(e,t,n=false,r=NaN){this.moduleCallback=e;this.importedNames=t;this.weak=!!n;this.order=r}static sort(e){const t=new WeakMap;let n=0;for(const r of e){t.set(r,n++)}return e.sort((e,n)=>{const r=e.order;const i=n.order;if(isNaN(r)){if(!isNaN(i)){return 1}}else{if(isNaN(i)){return-1}if(r!==i){return r-i}}const s=t.get(e);const o=t.get(n);return s-o})}get module(){return this.moduleCallback()}}DependencyReference.NO_IMPORTED_NAMES=[];DependencyReference.NS_OBJECT_IMPORTED=[[]];e.exports=DependencyReference},7746:function(e,t,n){"use strict";const r=n(1226).getNumberOfLines;const i=n(1226).getUnfinishedLine;class CodeNode{constructor(e){this.generatedCode=e}clone(){return new CodeNode(this.generatedCode)}getGeneratedCode(){return this.generatedCode}getMappings(e){const t=r(this.generatedCode);const n=Array(t+1).join(";");if(t>0){e.unfinishedGeneratedLine=i(this.generatedCode);if(e.unfinishedGeneratedLine>0){return n+"A"}else{return n}}else{const t=e.unfinishedGeneratedLine;e.unfinishedGeneratedLine+=i(this.generatedCode);if(t===0&&e.unfinishedGeneratedLine>0){return"A"}else{return""}}}addGeneratedCode(e){this.generatedCode+=e}mapGeneratedCode(e){const t=e(this.generatedCode);return new CodeNode(t)}getNormalizedNodes(){return[this]}merge(e){if(e instanceof CodeNode){this.generatedCode+=e.generatedCode;return this}return false}}e.exports=CodeNode},7747:function(e){e.exports={name:"terser-webpack-plugin",version:"1.2.1",description:"Terser plugin for webpack",license:"MIT",repository:"webpack-contrib/terser-webpack-plugin",author:"webpack Contrib Team",homepage:"https://github.com/webpack-contrib/terser-webpack-plugin",bugs:"https://github.com/webpack-contrib/terser-webpack-plugin/issues",main:"dist/cjs.js",engines:{node:">= 6.9.0"},scripts:{start:"npm run build -- -w",build:"cross-env NODE_ENV=production babel src -d dist --ignore 'src/**/*.test.js' --copy-files",clean:"del-cli dist",commitlint:"commitlint",commitmsg:"commitlint -e $GIT_PARAMS",lint:"eslint --cache src test",prebuild:"npm run clean",prepublish:"npm run build",release:"standard-version",security:"npm audit",test:"jest","test:watch":"jest --watch","test:coverage":"jest --collectCoverageFrom='src/**/*.js' --coverage","ci:lint":"npm run lint && npm run security","ci:test":"npm run test -- --runInBand","ci:coverage":"npm run test:coverage -- --runInBand","ci:lint:commits":"commitlint --from=origin/master --to=${CIRCLE_SHA1}",defaults:"webpack-defaults"},files:["dist"],peerDependencies:{webpack:"^4.0.0"},dependencies:{cacache:"^11.0.2","find-cache-dir":"^2.0.0","schema-utils":"^1.0.0","serialize-javascript":"^1.4.0","source-map":"^0.6.1",terser:"^3.8.1","webpack-sources":"^1.1.0","worker-farm":"^1.5.2"},devDependencies:{"@babel/cli":"^7.1.5","@babel/core":"^7.1.6","@babel/polyfill":"^7.0.0","@babel/preset-env":"^7.1.6","@commitlint/cli":"^7.0.0","@commitlint/config-conventional":"^7.0.1","@webpack-contrib/defaults":"^3.0.0","@webpack-contrib/eslint-config-webpack":"^3.0.0","babel-core":"^7.0.0-bridge.0","babel-jest":"^23.6.0","conventional-github-releaser":"^3.1.2","cross-env":"^5.1.3",del:"^3.0.0","del-cli":"^1.1.0",eslint:"^5.5.0","eslint-config-webpack":"^1.2.5","eslint-plugin-import":"^2.8.0","eslint-plugin-prettier":"^3.0.0",husky:"^1.2.1",jest:"^23.5.0","lint-staged":"^8.1.0","memory-fs":"^0.4.1",prettier:"^1.14.0","standard-version":"^4.3.0","uglify-js":"^3.4.3",webpack:"^4.16.3"},keywords:["uglify","uglify-js","uglify-es","terser","webpack","webpack-plugin","minification","compress","compressor","min","minification","minifier","minify","optimize","optimizer"],babel:{presets:[["@babel/preset-env",{targets:{node:"6.9.0"},useBuiltIns:"usage"}]]},husky:{hooks:{"pre-commit":"lint-staged"}},"lint-staged":{"*.js":["eslint --fix","git add"]},commitlint:{extends:["@commitlint/config-conventional"]}}},7750:function(e,t,n){"use strict";const r=n(2355);const i=n(6583);const{compareModulesById:s}=n(8673);const{dirname:o,mkdirp:a}=n(5396);class LibManifestPlugin{constructor(e){this.options=e}apply(e){e.hooks.emit.tapAsync("LibManifestPlugin",(t,n)=>{const u=t.moduleGraph;r.forEach(Array.from(t.chunks),(n,r)=>{if(!n.isOnlyInitial()){r();return}const c=t.chunkGraph;const l=t.getPath(this.options.path,{chunk:n});const f=this.options.name&&t.getPath(this.options.name,{chunk:n});const d={name:f,type:this.options.type,content:Array.from(c.getOrderedChunkModulesIterable(n,s(c)),t=>{if(this.options.entryOnly&&!u.getIncomingConnections(t).some(e=>e.dependency instanceof i)){return}const n=t.libIdent({context:this.options.context||e.options.context,associatedObjectForCache:e.root});if(n){const e=u.getExportsInfo(t);const r=e.getProvidedExports();const i={id:c.getModuleId(t),buildMeta:t.buildMeta,exports:Array.isArray(r)?r:undefined};return{ident:n,data:i}}}).filter(Boolean).reduce((e,t)=>{e[t.ident]=t.data;return e},Object.create(null))};const p=this.options.format?JSON.stringify(d,null,2):JSON.stringify(d);const h=Buffer.from(p,"utf8");a(e.intermediateFileSystem,o(e.intermediateFileSystem,l),t=>{if(t)return r(t);e.intermediateFileSystem.writeFile(l,h,r)})},n)})}}e.exports=LibManifestPlugin},7781:function(e,t,n){"use strict";const{compareModulesByPreOrderIndexOrIdentifier:r}=n(8673);const{assignAscendingModuleIds:i}=n(328);class NaturalModuleIdsPlugin{apply(e){e.hooks.compilation.tap("NaturalModuleIdsPlugin",e=>{e.hooks.moduleIds.tap("NaturalModuleIdsPlugin",t=>{const n=e.chunkGraph;const s=Array.from(t).filter(e=>n.getNumberOfModuleChunks(e)>0).sort(r(e.moduleGraph));i(s,e)})})}}e.exports=NaturalModuleIdsPlugin},7786:function(e,t,n){"use strict";const r=n(4725);class MemoryCachePlugin{apply(e){const t=new Map;e.cache.hooks.store.tap({name:"MemoryCachePlugin",stage:r.STAGE_MEMORY},(e,n,r)=>{t.set(e,{etag:n,data:r})});e.cache.hooks.get.tap({name:"MemoryCachePlugin",stage:r.STAGE_MEMORY},(e,n,r)=>{const i=t.get(e);if(i!==undefined&&i.etag===n){return i.data}r.push((r,i)=>{if(r!==undefined){t.set(e,{etag:n,data:r})}return i()})})}}e.exports=MemoryCachePlugin},7788:function(e,t){var n={};var r={};"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("").forEach(function(e,t){n[e]=t;r[t]=e});var i={};i.encode=function base64_encode(e){if(e in r){return r[e]}throw new TypeError("Must be between 0 and 63: "+e)};i.decode=function base64_decode(e){if(e in n){return n[e]}throw new TypeError("Not a valid base 64 digit: "+e)};var s=5;var o=1<>1;return t?-n:n}t.encode=function base64VLQ_encode(e){var t="";var n;var r=toVLQSigned(e);do{n=r&a;r>>>=s;if(r>0){n|=u}t+=i.encode(n)}while(r>0);return t};t.decode=function base64VLQ_decode(e,t){var n=0;var r=e.length;var o=0;var c=0;var l,f;do{if(n>=r){throw new Error("Expected more digits in base 64 VLQ value.")}f=i.decode(e.charAt(n++));l=!!(f&u);f&=a;o=o+(f<i.Template.isImportEmitted(e,s)).map(e=>e.getImportStatement(true,n)).join("");if(r.hasCallback){t.insert(r.range[0],`function(__WEBPACK_OUTDATED_DEPENDENCIES__) { ${o}(`);t.insert(r.range[1],")(__WEBPACK_OUTDATED_DEPENDENCIES__); }.bind(this)");return}t.insert(r.range[1]-.5,`, function() { ${o} }`)}};e.exports=HarmonyAcceptDependency},7837:function(e,t,n){"use strict";e.exports=Transform;var r=n(1959);var i=n(3349);i.inherits=n(8309);i.inherits(Transform,r);function afterTransform(e,t){var n=this._transformState;n.transforming=false;var r=n.writecb;if(!r){return this.emit("error",new Error("write callback called multiple times"))}n.writechunk=null;n.writecb=null;if(t!=null)this.push(t);r(e);var i=this._readableState;i.reading=false;if(i.needReadable||i.lengthe&&e>=0}},{key:"getLabel",value:function getLabel(e){return this.labels[e]}},{key:"popLabel",value:function popLabel(){this.labels.shift()}},{key:"hasLocal",value:function hasLocal(e){return typeof this.getLocal(e)!=="undefined"}},{key:"getLocal",value:function getLocal(e){return this.locals[e]}},{key:"addLocal",value:function addLocal(e){this.locals.push(e)}},{key:"addType",value:function addType(e){if(!(e.functype.type==="Signature")){throw new Error('type.functype.type === "Signature"'+" error: "+(undefined||"unknown"))}this.types.push(e.functype)}},{key:"hasType",value:function hasType(e){return this.types[e]!==undefined}},{key:"getType",value:function getType(e){return this.types[e]}},{key:"hasGlobal",value:function hasGlobal(e){return this.globals.length>e&&e>=0}},{key:"getGlobal",value:function getGlobal(e){return this.globals[e].type}},{key:"getGlobalOffsetByIdentifier",value:function getGlobalOffsetByIdentifier(e){if(!(typeof e==="string")){throw new Error('typeof name === "string"'+" error: "+(undefined||"unknown"))}return this.globalsOffsetByIdentifier[e]}},{key:"defineGlobal",value:function defineGlobal(e){var t=e.globalType.valtype;var n=e.globalType.mutability;this.globals.push({type:t,mutability:n});if(typeof e.name!=="undefined"){this.globalsOffsetByIdentifier[e.name.value]=this.globals.length-1}}},{key:"importGlobal",value:function importGlobal(e,t){this.globals.push({type:e,mutability:t})}},{key:"isMutableGlobal",value:function isMutableGlobal(e){return this.globals[e].mutability==="var"}},{key:"isImmutableGlobal",value:function isImmutableGlobal(e){return this.globals[e].mutability==="const"}},{key:"hasMemory",value:function hasMemory(e){return this.mems.length>e&&e>=0}},{key:"addMemory",value:function addMemory(e,t){this.mems.push({min:e,max:t})}},{key:"getMemory",value:function getMemory(e){return this.mems[e]}}]);return ModuleContext}();t.ModuleContext=i},7853:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:true});t.tokenize=tokenize;t.tokens=t.keywords=void 0;var r=n(1971);var i=n(3416);function getCodeFrame(e,t,n){var r={start:{line:t,column:n}};return"\n"+(0,i.codeFrameFromSource)(e,r)+"\n"}var s=/\s/;var o=/\(|\)/;var a=/[a-z0-9_/]/i;var u=/[a-z0-9!#$%&*+./:<=>?@\\[\]^_`|~-]/i;var c=["i32","i64","f32","f64"];var l=/[0-9|.|_]/;var f=/nan|inf/;function isNewLine(e){return e.charCodeAt(0)===10||e.charCodeAt(0)===13}function Token(e,t,n,r){var i=arguments.length>4&&arguments[4]!==undefined?arguments[4]:{};var s={type:e,value:t,loc:{start:n,end:r}};if(Object.keys(i).length>0){s["opts"]=i}return s}var d={openParen:"openParen",closeParen:"closeParen",number:"number",string:"string",name:"name",identifier:"identifier",valtype:"valtype",dot:"dot",comment:"comment",equal:"equal",keyword:"keyword"};var p={module:"module",func:"func",param:"param",result:"result",export:"export",loop:"loop",block:"block",if:"if",then:"then",else:"else",call:"call",call_indirect:"call_indirect",import:"import",memory:"memory",table:"table",global:"global",anyfunc:"anyfunc",mut:"mut",data:"data",type:"type",elem:"elem",start:"start",offset:"offset"};t.keywords=p;var h="_";var m=new r.FSM({START:[(0,r.makeTransition)(/-|\+/,"AFTER_SIGN"),(0,r.makeTransition)(/nan:0x/,"NAN_HEX",{n:6}),(0,r.makeTransition)(/nan|inf/,"STOP",{n:3}),(0,r.makeTransition)(/0x/,"HEX",{n:2}),(0,r.makeTransition)(/[0-9]/,"DEC"),(0,r.makeTransition)(/\./,"DEC_FRAC")],AFTER_SIGN:[(0,r.makeTransition)(/nan:0x/,"NAN_HEX",{n:6}),(0,r.makeTransition)(/nan|inf/,"STOP",{n:3}),(0,r.makeTransition)(/0x/,"HEX",{n:2}),(0,r.makeTransition)(/[0-9]/,"DEC"),(0,r.makeTransition)(/\./,"DEC_FRAC")],DEC_FRAC:[(0,r.makeTransition)(/[0-9]/,"DEC_FRAC",{allowedSeparator:h}),(0,r.makeTransition)(/e|E/,"DEC_SIGNED_EXP")],DEC:[(0,r.makeTransition)(/[0-9]/,"DEC",{allowedSeparator:h}),(0,r.makeTransition)(/\./,"DEC_FRAC"),(0,r.makeTransition)(/e|E/,"DEC_SIGNED_EXP")],DEC_SIGNED_EXP:[(0,r.makeTransition)(/\+|-/,"DEC_EXP"),(0,r.makeTransition)(/[0-9]/,"DEC_EXP")],DEC_EXP:[(0,r.makeTransition)(/[0-9]/,"DEC_EXP",{allowedSeparator:h})],HEX:[(0,r.makeTransition)(/[0-9|A-F|a-f]/,"HEX",{allowedSeparator:h}),(0,r.makeTransition)(/\./,"HEX_FRAC"),(0,r.makeTransition)(/p|P/,"HEX_SIGNED_EXP")],HEX_FRAC:[(0,r.makeTransition)(/[0-9|A-F|a-f]/,"HEX_FRAC",{allowedSeparator:h}),(0,r.makeTransition)(/p|P|/,"HEX_SIGNED_EXP")],HEX_SIGNED_EXP:[(0,r.makeTransition)(/[0-9|+|-]/,"HEX_EXP")],HEX_EXP:[(0,r.makeTransition)(/[0-9]/,"HEX_EXP",{allowedSeparator:h})],NAN_HEX:[(0,r.makeTransition)(/[0-9|A-F|a-f]/,"NAN_HEX",{allowedSeparator:h})],STOP:[]},"START","STOP");function tokenize(e){var t=0;var n=e[t];var r=1;var i=1;var h=[];function pushToken(e){return function(t){var n=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var s=n.startColumn||r-String(t).length;delete n.startColumn;var o=n.endColumn||s+String(t).length-1;delete n.endColumn;var a={line:i,column:s};var u={line:i,column:o};h.push(Token(e,t,a,u,n))}}var g=pushToken(d.closeParen);var y=pushToken(d.openParen);var v=pushToken(d.number);var b=pushToken(d.valtype);var w=pushToken(d.name);var E=pushToken(d.identifier);var _=pushToken(d.keyword);var S=pushToken(d.dot);var k=pushToken(d.string);var C=pushToken(d.comment);var D=pushToken(d.equal);function lookahead(){var n=arguments.length>0&&arguments[0]!==undefined?arguments[0]:1;var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:1;return e.substring(t+r,t+r+n).toLowerCase()}function eatCharacter(){var i=arguments.length>0&&arguments[0]!==undefined?arguments[0]:1;r+=i;t+=i;n=e[t]}while(t-1?setImmediate:r.nextTick;var s;Writable.WritableState=WritableState;var o=n(3349);o.inherits=n(8309);var a={deprecate:n(5791)};var u=n(9837);var c=n(2560).Buffer;var l=global.Uint8Array||function(){};function _uint8ArrayToBuffer(e){return c.from(e)}function _isUint8Array(e){return c.isBuffer(e)||e instanceof l}var f=n(2535);o.inherits(Writable,u);function nop(){}function WritableState(e,t){s=s||n(1959);e=e||{};var r=t instanceof s;this.objectMode=!!e.objectMode;if(r)this.objectMode=this.objectMode||!!e.writableObjectMode;var i=e.highWaterMark;var o=e.writableHighWaterMark;var a=this.objectMode?16:16*1024;if(i||i===0)this.highWaterMark=i;else if(r&&(o||o===0))this.highWaterMark=o;else this.highWaterMark=a;this.highWaterMark=Math.floor(this.highWaterMark);this.finalCalled=false;this.needDrain=false;this.ending=false;this.ended=false;this.finished=false;this.destroyed=false;var u=e.decodeStrings===false;this.decodeStrings=!u;this.defaultEncoding=e.defaultEncoding||"utf8";this.length=0;this.writing=false;this.corked=0;this.sync=true;this.bufferProcessing=false;this.onwrite=function(e){onwrite(t,e)};this.writecb=null;this.writelen=0;this.bufferedRequest=null;this.lastBufferedRequest=null;this.pendingcb=0;this.prefinished=false;this.errorEmitted=false;this.bufferedRequestCount=0;this.corkedRequestsFree=new CorkedRequest(this)}WritableState.prototype.getBuffer=function getBuffer(){var e=this.bufferedRequest;var t=[];while(e){t.push(e);e=e.next}return t};(function(){try{Object.defineProperty(WritableState.prototype,"buffer",{get:a.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer "+"instead.","DEP0003")})}catch(e){}})();var d;if(typeof Symbol==="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]==="function"){d=Function.prototype[Symbol.hasInstance];Object.defineProperty(Writable,Symbol.hasInstance,{value:function(e){if(d.call(this,e))return true;if(this!==Writable)return false;return e&&e._writableState instanceof WritableState}})}else{d=function(e){return e instanceof this}}function Writable(e){s=s||n(1959);if(!d.call(Writable,this)&&!(this instanceof s)){return new Writable(e)}this._writableState=new WritableState(e,this);this.writable=true;if(e){if(typeof e.write==="function")this._write=e.write;if(typeof e.writev==="function")this._writev=e.writev;if(typeof e.destroy==="function")this._destroy=e.destroy;if(typeof e.final==="function")this._final=e.final}u.call(this)}Writable.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))};function writeAfterEnd(e,t){var n=new Error("write after end");e.emit("error",n);r.nextTick(t,n)}function validChunk(e,t,n,i){var s=true;var o=false;if(n===null){o=new TypeError("May not write null values to stream")}else if(typeof n!=="string"&&n!==undefined&&!t.objectMode){o=new TypeError("Invalid non-string/buffer chunk")}if(o){e.emit("error",o);r.nextTick(i,o);s=false}return s}Writable.prototype.write=function(e,t,n){var r=this._writableState;var i=false;var s=!r.objectMode&&_isUint8Array(e);if(s&&!c.isBuffer(e)){e=_uint8ArrayToBuffer(e)}if(typeof t==="function"){n=t;t=null}if(s)t="buffer";else if(!t)t=r.defaultEncoding;if(typeof n!=="function")n=nop;if(r.ended)writeAfterEnd(this,n);else if(s||validChunk(this,r,e,n)){r.pendingcb++;i=writeOrBuffer(this,r,s,e,t,n)}return i};Writable.prototype.cork=function(){var e=this._writableState;e.corked++};Writable.prototype.uncork=function(){var e=this._writableState;if(e.corked){e.corked--;if(!e.writing&&!e.corked&&!e.finished&&!e.bufferProcessing&&e.bufferedRequest)clearBuffer(this,e)}};Writable.prototype.setDefaultEncoding=function setDefaultEncoding(e){if(typeof e==="string")e=e.toLowerCase();if(!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+e);this._writableState.defaultEncoding=e;return this};function decodeChunk(e,t,n){if(!e.objectMode&&e.decodeStrings!==false&&typeof t==="string"){t=c.from(t,n)}return t}Object.defineProperty(Writable.prototype,"writableHighWaterMark",{enumerable:false,get:function(){return this._writableState.highWaterMark}});function writeOrBuffer(e,t,n,r,i,s){if(!n){var o=decodeChunk(t,r,i);if(r!==o){n=true;i="buffer";r=o}}var a=t.objectMode?1:r.length;t.length+=a;var u=t.length{const o=r.path;n.stat(o,(n,a)=>{if(n||!a){if(i.missing)i.missing.add(o);if(i.log)i.log(o+" doesn't exist");return s()}if(!a.isFile()){if(i.missing)i.missing.add(o);if(i.log)i.log(o+" is not a file");return s()}e.doResolve(t,r,"existing file: "+o,i,s)})})}}},7897:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:true});var r=n(2317);var i=n(6674);var s=n(6872);var o=function(){return void 0};function getCoreModules(e){e=e||["assert","buffer","child_process","cluster","crypto","dgram","dns","domain","events","fs","http","https","net","os","path","punycode","querystring","readline","stream","string_decoder","tls","tty","url","util","v8","vm","zlib"];var t={};for(var n=0,r=e;n{return!isAbsolutePath(e)});M=M.map(e=>{if(typeof e==="string"||Array.isArray(e)){e={name:e,forceRelative:true}}return e});if(typeof N==="object"&&!Array.isArray(N)){N=Object.keys(N).map(e=>{let t=false;let n=N[e];if(/\$$/.test(e)){t=true;e=e.substr(0,e.length-1)}if(typeof n==="string"){n={alias:n}}n=Object.assign({name:e,onlyModule:t},n);return n})}if(B&&typeof B!=="object"){B={}}W.ensureHook("resolve");W.ensureHook("parsedResolve");W.ensureHook("describedResolve");W.ensureHook("rawModule");W.ensureHook("module");W.ensureHook("relative");W.ensureHook("describedRelative");W.ensureHook("directory");W.ensureHook("existingDirectory");W.ensureHook("undescribedRawFile");W.ensureHook("rawFile");W.ensureHook("file");W.ensureHook("existingFile");W.ensureHook("resolved");if(B){x.push(new A("resolve",z,B,U,"new-resolve"));x.push(new s("new-resolve","parsed-resolve"))}else{x.push(new s("resolve","parsed-resolve"))}x.push(new o("parsed-resolve",n,"described-resolve"));x.push(new a("after-parsed-resolve","described-resolve"));if(N.length>0)x.push(new h("described-resolve",N,"resolve"));if(G){x.push(new v("described-resolve",{},"resolve"))}T.forEach(e=>{x.push(new m("described-resolve",e,"resolve"))});x.push(new c("after-described-resolve","raw-module"));x.push(new f("after-described-resolve","relative"));R.forEach(e=>{x.push(new D("raw-module",e,"module"))});if(!P)x.push(new u("raw-module",null,"module"));t.forEach(e=>{if(Array.isArray(e))x.push(new d("module",e,"resolve"));else x.push(new p("module",e,"resolve"))});x.push(new o("relative",n,"described-relative"));x.push(new a("after-relative","described-relative"));x.push(new l("described-relative","raw-file"));x.push(new u("described-relative","as directory","directory"));x.push(new b("directory","existing-directory"));if(j){x.push(new a("existing-directory","resolved"))}else{if(G){x.push(new y("existing-directory",{},"resolve"))}M.forEach(e=>{x.push(new _("existing-directory",e,"resolve"))});O.forEach(e=>{x.push(new S("existing-directory",e,"undescribed-raw-file"))});x.push(new o("undescribed-raw-file",n,"raw-file"));x.push(new a("after-undescribed-raw-file","raw-file"));if(!I){x.push(new u("raw-file","no extension","file"))}if(G){x.push(new g("raw-file",{},"file"))}F.forEach(e=>{x.push(new k("raw-file",e,"file"))});if(N.length>0)x.push(new h("file",N,"resolve"));if(G){x.push(new v("file",{},"resolve"))}T.forEach(e=>{x.push(new m("file",e,"resolve"))});if(L)x.push(new E("file","relative"));x.push(new w("file","existing-file"));x.push(new a("existing-file","resolved"))}x.push(new C(W.hooks.resolved));x.forEach(e=>{e.apply(W)});return W};function mergeFilteredToArray(e,t){return e.reduce((e,n)=>{if(t(n)){const t=e[e.length-1];if(Array.isArray(t)){t.push(n)}else{e.push([n])}return e}else{e.push(n);return e}},[])}function isAbsolutePath(e){return/^[A-Z]:|^\//.test(e)}},7960:function(e,t,n){"use strict";const r=n(7934);const i=n(7365);const s=n(7703);const o=new s(new i,4e3);const a={environments:["node+es3+es5+process+native"]};const u=r.createResolver({extensions:[".js",".json",".node"],fileSystem:o});e.exports=function resolve(e,t,n,r,i){if(typeof e==="string"){i=r;r=n;n=t;t=e;e=a}if(typeof i!=="function"){i=r}u.resolve(e,t,n,r,i)};const c=r.createResolver({extensions:[".js",".json",".node"],useSyncFileSystemCalls:true,fileSystem:o});e.exports.sync=function resolveSync(e,t,n){if(typeof e==="string"){n=t;t=e;e=a}return c.resolveSync(e,t,n)};const l=r.createResolver({extensions:[".js",".json",".node"],resolveToContext:true,fileSystem:o});e.exports.context=function resolveContext(e,t,n,resolveContext,r){if(typeof e==="string"){r=resolveContext;resolveContext=n;n=t;t=e;e=a}if(typeof r!=="function"){r=resolveContext}l.resolve(e,t,n,resolveContext,r)};const f=r.createResolver({extensions:[".js",".json",".node"],resolveToContext:true,useSyncFileSystemCalls:true,fileSystem:o});e.exports.context.sync=function resolveContextSync(e,t,n){if(typeof e==="string"){n=t;t=e;e=a}return f.resolveSync(e,t,n)};const d=r.createResolver({extensions:[".js",".json",".node"],moduleExtensions:["-loader"],mainFields:["loader","main"],fileSystem:o});e.exports.loader=function resolveLoader(e,t,n,r,i){if(typeof e==="string"){i=r;r=n;n=t;t=e;e=a}if(typeof i!=="function"){i=r}d.resolve(e,t,n,r,i)};const p=r.createResolver({extensions:[".js",".json",".node"],moduleExtensions:["-loader"],mainFields:["loader","main"],useSyncFileSystemCalls:true,fileSystem:o});e.exports.loader.sync=function resolveLoaderSync(e,t,n){if(typeof e==="string"){n=t;t=e;e=a}return p.resolveSync(e,t,n)};e.exports.create=function create(e){e=Object.assign({fileSystem:o},e);const t=r.createResolver(e);return function(e,n,r,i,s){if(typeof e==="string"){s=i;i=r;r=n;n=e;e=a}if(typeof s!=="function"){s=i}t.resolve(e,n,r,i,s)}};e.exports.create.sync=function createSync(e){e=Object.assign({useSyncFileSystemCalls:true,fileSystem:o},e);const t=r.createResolver(e);return function(e,n,r){if(typeof e==="string"){r=n;n=e;e=a}return t.resolveSync(e,n,r)}};e.exports.ResolverFactory=r;e.exports.NodeJsInputFileSystem=i;e.exports.CachedInputFileSystem=s},7961:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:true});t.createEmptySection=createEmptySection;var r=n(4166);var i=n(3104);var s=_interopRequireDefault(n(3930));var o=_interopRequireWildcard(n(8093));function _interopRequireWildcard(e){if(e&&e.__esModule){return e}else{var t={};if(e!=null){for(var n in e){if(Object.prototype.hasOwnProperty.call(e,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,n):{};if(r.get||r.set){Object.defineProperty(t,n,r)}else{t[n]=e[n]}}}}t.default=e;return t}}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _typeof(e){if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(e){return typeof e}}else{_typeof=function _typeof(e){return e&&typeof Symbol==="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e}}return _typeof(e)}function findLastSection(e,t){var n=s.default.sections[t];var r=e.body[0].metadata.sections;var i;var o=0;for(var a=0,u=r.length;ao&&n string"},Rule:{oneOf:[{instanceof:"RegExp",tsType:"RegExp"},{type:"string",minLength:1}]},Rules:{oneOf:[{type:"array",items:{description:"A rule condition",anyOf:[{$ref:"#/definitions/Rule"}]}},{$ref:"#/definitions/Rule"}]}},title:"BannerPluginArgument",oneOf:[{title:"BannerPluginOptions",type:"object",additionalProperties:false,properties:{banner:{description:"Specifies the banner",anyOf:[{$ref:"#/definitions/BannerFunction"},{type:"string"}]},entryOnly:{description:"If true, the banner will only be added to the entry chunks",type:"boolean"},exclude:{description:"Exclude all modules matching any of these conditions",anyOf:[{$ref:"#/definitions/Rules"}]},include:{description:"Include all modules matching any of these conditions",anyOf:[{$ref:"#/definitions/Rules"}]},raw:{description:"If true, banner will not be wrapped in a comment",type:"boolean"},test:{description:"Include all modules that pass test assertion",anyOf:[{$ref:"#/definitions/Rules"}]}},required:["banner"]},{$ref:"#/definitions/BannerFunction"},{description:"The banner as string, it will be wrapped in a comment",type:"string",minLength:1}]}},8014:function(e){"use strict";e.exports=function generate_propertyNames(e,t,n){var r=" ";var i=e.level;var s=e.dataLevel;var o=e.schema[t];var a=e.schemaPath+e.util.getProperty(t);var u=e.errSchemaPath+"/"+t;var c=!e.opts.allErrors;var l="data"+(s||"");var f="errs__"+i;var d=e.util.copy(e);var p="";d.level++;var h="valid"+d.level;r+="var "+f+" = errors;";if(e.util.schemaHasRules(o,e.RULES.all)){d.schema=o;d.schemaPath=a;d.errSchemaPath=u;var m="key"+i,g="idx"+i,y="i"+i,v="' + "+m+" + '",b=d.dataLevel=e.dataLevel+1,w="data"+b,E="dataProperties"+i,_=e.opts.ownProperties,S=e.baseId;if(_){r+=" var "+E+" = undefined; "}if(_){r+=" "+E+" = "+E+" || Object.keys("+l+"); for (var "+g+"=0; "+g+"<"+E+".length; "+g+"++) { var "+m+" = "+E+"["+g+"]; "}else{r+=" for (var "+m+" in "+l+") { "}r+=" var startErrs"+i+" = errors; ";var k=m;var C=e.compositeRule;e.compositeRule=d.compositeRule=true;var D=e.validate(d);d.baseId=S;if(e.util.varOccurences(D,w)<2){r+=" "+e.util.varReplace(D,w,k)+" "}else{r+=" var "+w+" = "+k+"; "+D+" "}e.compositeRule=d.compositeRule=C;r+=" if (!"+h+") { for (var "+y+"=startErrs"+i+"; "+y+"{const t=(t,n)=>{const r=e.chunkGraph;const o=new i;const a=new WeakMap;for(const t of e.entrypoints.values()){a.set(t,new Set);for(const e of t.childrenIterable){o.enqueue(e)}}while(o.length>0){const e=o.dequeue();let t=a.get(e);let n=false;for(const i of e.parentsIterable){const s=a.get(i);if(s!==undefined){if(t===undefined){t=new Set(s);for(const e of i.chunks){for(const n of r.getChunkModulesIterable(e)){t.add(n)}}a.set(e,t);n=true}else{for(const e of t){if(!r.isModuleInChunkGroup(e,i)&&!s.has(e)){t.delete(e);n=true}}}}}if(n){for(const t of e.childrenIterable){o.enqueue(t)}}}for(const e of t){const t=Array.from(e.groupsIterable,e=>a.get(e));if(t.some(e=>e===undefined))continue;const n=t.length===1?t[0]:s(t);const i=r.getNumberOfChunkModules(e);const o=new Set;if(i{e.doResolve(t,n,this.message,r,i)})}}},8033:function(n,h,S){!function(O){"use strict";function e(e){return e.split("")}function t(e,t){return t.indexOf(e)>=0}function i(e,t){for(var n=0,r=t.length;n=0&&!f(););u.reverse(),c.reverse()}else for(a=0;a=0;)e[n]===t&&e.splice(n,1)}function D(e,t){if(e.length<2)return e.slice();return function n(e){if(e.length<=1)return e;var r=Math.floor(e.length/2),i=e.slice(0,r),s=e.slice(r);return function(e,n){for(var r=[],i=0,s=0,o=0;i3){n.sort(function(e,t){return t.length-e.length}),t+="switch(str.length){";for(r=0;r=0;)if(!t(e[n]))return!1;return!0}function y(){this._values=Object.create(null),this._size=0}function b(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function E(e){for(var t,n=e.parent(-1),r=0;t=e.parent(r);r++){if(t instanceof W&&t.body===n)return!0;if(!(t instanceof zt&&t.expressions[0]===n||"Call"==t.TYPE&&t.expression===n||t instanceof qt&&t.expression===n||t instanceof Wt&&t.expression===n||t instanceof Yt&&t.condition===n||t instanceof Jt&&t.left===n||t instanceof Xt&&t.expression===n))return!1;n=t}}function w(e,t){return!0===e||e instanceof RegExp&&e.test(t)}function F(e,t,n,r){arguments.length<4&&(r=q);var i=t=t?t.split(/\s+/):[];r&&r.PROPS&&(t=t.concat(r.PROPS));for(var s="return function AST_"+e+"(props){ if (props) { ",o=t.length;--o>=0;)s+="this."+t[o]+" = props."+t[o]+";";var a=r&&new r;(a&&a.initialize||n&&n.initialize)&&(s+="this.initialize();"),s+="}}";var u=new Function(s)();if(a&&(u.prototype=a,u.BASE=r),r&&r.SUBCLASSES.push(u),u.prototype.CTOR=u,u.PROPS=t||null,u.SELF_PROPS=i,u.SUBCLASSES=[],e&&(u.prototype.TYPE=u.TYPE=e),n)for(o in n)b(n,o)&&(/^\$/.test(o)?u[o.substr(1)]=n[o]:u.prototype[o]=n[o]);return u.DEFMETHOD=function(e,t){this.prototype[e]=t},void 0!==O&&(O["AST_"+e]=u),u}y.prototype={set:function(e,t){return this.has(e)||++this._size,this._values["$"+e]=t,this},add:function(e,t){return this.has(e)?this.get(e).push(t):this.set(e,[t]),this},get:function(e){return this._values["$"+e]},del:function(e){return this.has(e)&&(--this._size,delete this._values["$"+e]),this},has:function(e){return"$"+e in this._values},each:function(e){for(var t in this._values)e(this._values[t],t.substr(1))},size:function(){return this._size},map:function(e){var t=[];for(var n in this._values)t.push(e(this._values[n],n.substr(1)));return t},clone:function(){var e=new y;for(var t in this._values)e._values[t]=this._values[t];return e._size=this._size,e},toObject:function(){return this._values}},y.fromObject=function(e){var t=new y;return t._size=u(t._values,e),t},O.Dictionary=y;var P=F("Token","type value line col pos endline endcol endpos nlb comments_before comments_after file raw",{},null),q=F("Node","start end",{_clone:function(e){if(e){var t=this.clone();return t.transform(new _t(function(e){if(e!==t)return e.clone(!0)}))}return new this.CTOR(this)},clone:function(e){return this._clone(e)},$documentation:"Base class of all AST nodes",$propdoc:{start:"[AST_Token] The first token of this node",end:"[AST_Token] The last token of this node"},_walk:function(e){return e._visit(this)},walk:function(e){return this._walk(e)}},null);q.warn_function=null,q.warn=function(e,t){q.warn_function&&q.warn_function(m(e,t))};var W=F("Statement",null,{$documentation:"Base class of all statements"}),K=F("Debugger",null,{$documentation:"Represents a debugger statement"},W),X=F("Directive","value quote",{$documentation:'Represents a directive, like "use strict";',$propdoc:{value:"[string] The value of this directive as a plain string (it's not an AST_String!)",quote:"[string] the original quote character"}},W),J=F("SimpleStatement","body",{$documentation:"A statement consisting of an expression, i.e. a = 1 + 2",$propdoc:{body:"[AST_Node] an expression node (should not be instanceof AST_Statement)"},_walk:function(e){return e._visit(this,function(){this.body._walk(e)})}},W);function $(e,t){var n=e.body;if(n instanceof q)n._walk(t);else for(var r=0,i=n.length;r SymbolDef for all variables/functions defined in this scope",functions:"[Object/S] like `variables`, but only lists function declarations",uses_with:"[boolean/S] tells whether this scope uses the `with` statement",uses_eval:"[boolean/S] tells whether this scope contains a direct call to the global `eval`",parent_scope:"[AST_Scope?/S] link to the parent scope",enclosed:"[SymbolDef*/S] a list of all symbol definitions that are accessed from this scope or any subscopes",cname:"[integer/S] current index for mangling variables (used internally by the mangler)"},get_defun_scope:function(){for(var e=this;e.is_block_scope();)e=e.parent_scope;return e},clone:function(e){var t=this._clone(e);return this.variables&&(t.variables=this.variables.clone()),this.functions&&(t.functions=this.functions.clone()),this.enclosed&&(t.enclosed=this.enclosed.slice()),t},pinned:function(){return this.uses_eval||this.uses_with}},te),ge=F("Toplevel","globals",{$documentation:"The toplevel scope",$propdoc:{globals:"[Object/S] a map of name -> SymbolDef for all undeclared names"},wrap_commonjs:function(e){var t=this.body,n="(function(exports){'$ORIG';})(typeof "+e+"=='undefined'?("+e+"={}):"+e+");";return n=(n=gt(n)).transform(new _t(function(e){if(e instanceof X&&"$ORIG"==e.value)return I.splice(t)}))},wrap_enclose:function(e){"string"!=typeof e&&(e="");var t=e.indexOf(":");t<0&&(t=e.length);var n=this.body;return gt(["(function(",e.slice(0,t),'){"$ORIG"})(',e.slice(t+1),")"].join("")).transform(new _t(function(e){if(e instanceof X&&"$ORIG"==e.value)return I.splice(n)}))}},me),ye=F("Expansion","expression",{$documentation:"An expandible argument, such as ...rest, a splat, such as [1,2,...all], or an expansion in a variable declaration, such as var [first, ...rest] = list",$propdoc:{expression:"[AST_Node] the thing to be expanded"},_walk:function(e){var t=this;return e._visit(this,function(){t.expression.walk(e)})}}),be=F("Lambda","name argnames uses_arguments is_generator async",{$documentation:"Base class for functions",$propdoc:{name:"[AST_SymbolDeclaration?] the name of this function",argnames:"[AST_SymbolFunarg|AST_Destructuring|AST_Expansion|AST_DefaultAssign*] array of function arguments, destructurings, or expanding arguments",uses_arguments:"[boolean/S] tells whether this function accesses the arguments array",is_generator:"[boolean] is this a generator method",async:"[boolean] is this method async"},args_as_names:function(){for(var e=[],t=0;t b)"},be),Ce=F("Defun","inlined",{$documentation:"A function definition"},be),xe=F("Destructuring","names is_array",{$documentation:"A destructuring of several names. Used in destructuring assignment and with destructuring function argument names",$propdoc:{names:"[AST_Node*] Array of properties or elements",is_array:"[Boolean] Whether the destructuring represents an object or array"},_walk:function(e){return e._visit(this,function(){this.names.forEach(function(t){t._walk(e)})})},all_symbols:function(){var e=[];return this.walk(new Te(function(t){t instanceof Sn&&e.push(t),t instanceof ye&&e.push(t.expression)})),e}}),Me=F("PrefixedTemplateString","template_string prefix",{$documentation:"A templatestring with a prefix, such as String.raw`foobarbaz`",$propdoc:{template_string:"[AST_TemplateString] The template string",prefix:"[AST_SymbolRef|AST_PropAccess] The prefix, which can be a symbol such as `foo` or a dotted expression such as `String.raw`."},_walk:function(e){this.prefix._walk(e),this.template_string._walk(e)}}),Oe=F("TemplateString","segments",{$documentation:"A template string literal",$propdoc:{segments:"[AST_Node*] One or more segments, starting with AST_TemplateSegment. AST_Node may follow AST_TemplateSegment, but each AST_Node must be followed by AST_TemplateSegment."},_walk:function(e){return e._visit(this,function(){this.segments.forEach(function(t){t._walk(e)})})}}),Ne=F("TemplateSegment","value raw",{$documentation:"A segment of a template string literal",$propdoc:{value:"Content of the segment",raw:"Raw content of the segment"}}),Be=F("Jump",null,{$documentation:"Base class for “jumps” (for now that's `return`, `throw`, `break` and `continue`)"},W),ze=F("Exit","value",{$documentation:"Base class for “exits” (`return` and `throw`)",$propdoc:{value:"[AST_Node?] the value returned or thrown by this statement; could be null for AST_Return"},_walk:function(e){return e._visit(this,this.value&&function(){this.value._walk(e)})}},Be),qe=F("Return",null,{$documentation:"A `return` statement"},ze),Ve=F("Throw",null,{$documentation:"A `throw` statement"},ze),Ke=F("LoopControl","label",{$documentation:"Base class for loop control statements (`break` and `continue`)",$propdoc:{label:"[AST_LabelRef?] the label, or null if none"},_walk:function(e){return e._visit(this,this.label&&function(){this.label._walk(e)})}},Be),Xe=F("Break",null,{$documentation:"A `break` statement"},Ke),$e=F("Continue",null,{$documentation:"A `continue` statement"},Ke),lt=F("If","condition alternative",{$documentation:"A `if` statement",$propdoc:{condition:"[AST_Node] the `if` condition",alternative:"[AST_Statement?] the `else` part, or null if not present"},_walk:function(e){return e._visit(this,function(){this.condition._walk(e),this.body._walk(e),this.alternative&&this.alternative._walk(e)})}},se),dt=F("Switch","expression",{$documentation:"A `switch` statement",$propdoc:{expression:"[AST_Node] the `switch` “discriminant”"},_walk:function(e){return e._visit(this,function(){this.expression._walk(e),$(this,e)})}},te),ht=F("SwitchBranch",null,{$documentation:"Base class for `switch` branches"},te),mt=F("Default",null,{$documentation:"A `default` switch branch"},ht),vt=F("Case","expression",{$documentation:"A `case` switch branch",$propdoc:{expression:"[AST_Node] the `case` expression"},_walk:function(e){return e._visit(this,function(){this.expression._walk(e),$(this,e)})}},ht),bt=F("Try","bcatch bfinally",{$documentation:"A `try` statement",$propdoc:{bcatch:"[AST_Catch?] the catch block, or null if not present",bfinally:"[AST_Finally?] the finally block, or null if not present"},_walk:function(e){return e._visit(this,function(){$(this,e),this.bcatch&&this.bcatch._walk(e),this.bfinally&&this.bfinally._walk(e)})}},te),Et=F("Catch","argname",{$documentation:"A `catch` node; only makes sense as part of a `try` statement",$propdoc:{argname:"[AST_SymbolCatch|AST_Destructuring|AST_Expansion|AST_DefaultAssign] symbol for the exception"},_walk:function(e){return e._visit(this,function(){this.argname&&this.argname._walk(e),$(this,e)})}},te),Ct=F("Finally",null,{$documentation:"A `finally` node; only makes sense as part of a `try` statement"},te),Dt=F("Definitions","definitions",{$documentation:"Base class for `var` or `const` nodes (variable declarations/initializations)",$propdoc:{definitions:"[AST_VarDef*] array of variable definitions"},_walk:function(e){return e._visit(this,function(){for(var t=this.definitions,n=0,r=t.length;n a`"},Jt),nn=F("Array","elements",{$documentation:"An array literal",$propdoc:{elements:"[AST_Node*] array of elements"},_walk:function(e){return e._visit(this,function(){for(var t=this.elements,n=0,r=t.length;n=0;){var r=t[n];if(r instanceof e)return r}},has_directive:function(e){var t=this.directives[e];if(t)return t;var n=this.stack[this.stack.length-1];if(n instanceof me&&n.body)for(var r=0;r=0;){if((r=t[n])instanceof oe&&r.label.name==e.label.name)return r.body}else for(n=t.length;--n>=0;){var r;if((r=t[n])instanceof ae||e instanceof Xe&&r instanceof dt)return r}}};var fr="break case catch class const continue debugger default delete do else export extends finally for function if in instanceof let new return switch throw try typeof var void while with",dr="false null true",pr="enum implements import interface package private protected public static super this "+dr+" "+fr,hr="return new delete throw else case yield await";fr=g(fr),pr=g(pr),hr=g(hr),dr=g(dr);var mr=g(e("+-*&%=<>!?|~^")),gr=/[0-9a-f]/i,yr=/^0x[0-9a-f]+$/i,vr=/^0[0-7]+$/,br=/^0o[0-7]+$/i,wr=/^0b[01]+$/i,Er=/^\d*\.?\d*(?:e[+-]?\d*(?:\d\.?|\.?\d)\d*)?$/i,_r=g(["in","instanceof","typeof","new","void","delete","++","--","+","-","!","~","&","|","^","*","**","/","%",">>","<<",">>>","<",">","<=",">=","==","===","!=","!==","?","=","+=","-=","/=","*=","**=","%=",">>=","<<=",">>>=","|=","^=","&=","&&","||"]),Sr=g(e("  \n\r\t\f\v​           \u2028\u2029   \ufeff")),kr=g(e("\n\r\u2028\u2029")),Cr=g(e(";]),:")),Dr=g(e("[{(,;:")),Ar=g(e("[]{}(),;:")),xr={ID_Start:/[A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]/,ID_Continue:/[0-9A-Z_a-z\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFC-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/};function nt(e,t){var n=e.charAt(t);if(et(n)){var r=e.charAt(t+1);if(tt(r))return n+r}if(tt(n)){var i=e.charAt(t-1);if(et(i))return i+n}return n}function et(e){return"string"==typeof e&&(e=e.charCodeAt(0)),e>=55296&&e<=56319}function tt(e){return"string"==typeof e&&(e=e.charCodeAt(0)),e>=56320&&e<=57343}function it(e){return e>=48&&e<=57}function rt(e){return"string"==typeof e&&!pr(e)}function ot(e){var t=e.charCodeAt(0);return xr.ID_Start.test(e)||36==t||95==t}function at(e){var t=e.charCodeAt(0);return xr.ID_Continue.test(e)||36==t||95==t||8204==t||8205==t}function ut(e){return/^[a-z_$][a-z0-9_$]*$/i.test(e)}function st(e,t,n,r,i){this.message=e,this.filename=t,this.line=n,this.col=r,this.pos=i}function ct(e,t,n,r,i){throw new st(e,t,n,r,i)}function ft(e,t,n){return e.type==t&&(null==n||e.value==n)}st.prototype=Object.create(Error.prototype),st.prototype.constructor=st,st.prototype.name="SyntaxError",r(st);var Mr={};function pt(e,t,r,i){var l={text:e,filename:t,pos:0,tokpos:0,line:1,tokline:0,col:0,tokcol:0,newline_before:!1,regex_allowed:!1,brace_counter:0,template_braces:[],comments_before:[],directives:{},directive_stack:[]};function o(){return nt(l.text,l.pos)}function a(e,t){var n=nt(l.text,l.pos++);if(e&&!n)throw Mr;return kr(n)?(l.newline_before=l.newline_before||!t,++l.line,l.col=0,t||"\r"!=n||"\n"!=o()||(++l.pos,n="\n")):(n.length>1&&(++l.pos,++l.col),++l.col),n}function u(e){for(;e-- >0;)a()}function s(e){return l.text.substr(l.pos,e.length)==e}function c(e,t){var n=l.text.indexOf(e,l.pos);if(t&&-1==n)throw Mr;return n}function f(){l.tokline=l.line,l.tokcol=l.col,l.tokpos=l.pos}var p=!1,y=null;function h(n,r,i){l.regex_allowed="operator"==n&&!Or(r)||"keyword"==n&&hr(r)||"punc"==n&&Dr(r)||"arrow"==n,"punc"==n&&"."==r?p=!0:i||(p=!1);var s={type:n,value:r,line:l.tokline,col:l.tokcol,pos:l.tokpos,endline:l.line,endcol:l.col,endpos:l.pos,nlb:l.newline_before,file:t};return/^(?:num|string|regexp)$/i.test(n)&&(s.raw=e.substring(s.pos,s.endpos)),i||(s.comments_before=l.comments_before,s.comments_after=l.comments_before=[]),l.newline_before=!1,s=new P(s),i||(y=s),s}function d(){for(;Sr(o());)a()}function m(e){ct(e,t,l.tokline,l.tokcol,l.tokpos)}function v(e){var t=!1,n=!1,r=!1,i="."==e,s=function(e){for(var t,n="",r=0;(t=o())&&e(t,r++);)n+=a();return n}(function(s,o){switch(s.charCodeAt(0)){case 98:case 66:return r=!0;case 111:case 79:case 120:case 88:return!r&&(r=!0);case 101:case 69:return!!r||!t&&(t=n=!0);case 45:return n||0==o&&!e;case 43:return n;case n=!1,46:return!(i||r||t)&&(i=!0)}return gr.test(s)});e&&(s=e+s),vr.test(s)&&B.has_directive("use strict")&&m("Legacy octal literals are not allowed in strict mode");var u=function(e){if(yr.test(e))return parseInt(e.substr(2),16);if(vr.test(e))return parseInt(e.substr(1),8);if(br.test(e))return parseInt(e.substr(2),8);if(wr.test(e))return parseInt(e.substr(2),2);if(Er.test(e))return parseFloat(e);var t=parseFloat(e);return t==e?t:void 0}(s);if(!isNaN(u))return h("num",u);m("Invalid syntax: "+s)}function D(e,t,n){var r,i=a(!0,e);switch(i.charCodeAt(0)){case 110:return"\n";case 114:return"\r";case 116:return"\t";case 98:return"\b";case 118:return"\v";case 102:return"\f";case 120:return String.fromCharCode(g(2,t));case 117:if("{"==o()){for(a(!0),"}"===o()&&m("Expecting hex-character between {}");"0"==o();)a(!0);var s,u=c("}",!0)-l.pos;return(u>6||(s=g(u,t))>1114111)&&m("Unicode reference out of bounds"),a(!0),(r=s)>65535?(r-=65536,String.fromCharCode(55296+(r>>10))+String.fromCharCode(r%1024+56320)):String.fromCharCode(r)}return String.fromCharCode(g(4,t));case 10:return"";case 13:if("\n"==o())return a(!0,e),""}return i>="0"&&i<="7"?(n&&t&&m("Octal escape sequences are not allowed in template strings"),function(e,t){var n=o();n>="0"&&n<="7"&&(e+=a(!0))[0]<="3"&&(n=o())>="0"&&n<="7"&&(e+=a(!0));if("0"===e)return"\0";e.length>0&&B.has_directive("use strict")&&t&&m("Legacy octal escape sequences are not allowed in strict mode");return String.fromCharCode(parseInt(e,8))}(i,t)):i}function g(e,t){for(var n=0;e>0;--e){if(!t&&isNaN(parseInt(o(),16)))return parseInt(n,16)||"";var r=a(!0);isNaN(parseInt(r,16))&&m("Invalid hex-character pattern in string"),n+=r}return parseInt(n,16)}var w=k("Unterminated string constant",function(e){for(var t=a(),n="";;){var r=a(!0,!0);if("\\"==r)r=D(!0,!0);else if(kr(r))m("Unterminated string constant");else if(r==t)break;n+=r}var i=h("string",n);return i.quote=e,i}),E=k("Unterminated template",function(e){e&&l.template_braces.push(l.brace_counter);var t,n,r="",i="";for(a(!0,!0);"`"!=(t=a(!0,!0));){if("\r"==t)"\n"==o()&&++l.pos,t="\n";else if("$"==t&&"{"==o())return a(!0,!0),l.brace_counter++,(n=h(e?"template_head":"template_substitution",r)).begin=e,n.raw=i,n.end=!1,n;if(i+=t,"\\"==t){var s=l.pos;t=D(!0,!("name"===y.type||"punc"===y.type&&(")"===y.value||"]"===y.value)),!0),i+=l.text.substr(s,l.pos-s)}r+=t}return l.template_braces.pop(),(n=h(e?"template_head":"template_substitution",r)).begin=e,n.raw=i,n.end=!0,n});function b(e){var t,n=l.regex_allowed,r=function(){for(var e=l.text,t=l.pos,n=l.text.length;t=0,l.regex_allowed=e,B}),S=k("Unterminated identifier name",function(){var e,t="",n=!1,r=function(){return n=!0,a(),"u"!==o()&&m("Expecting UnicodeEscapeSequence -- uXXXX or u{XXXX}"),D(!1,!0)};if("\\"===(t=o()))ot(t=r())||m("First identifier char is an invalid identifier char");else{if(!ot(t))return"";a()}for(;null!=(e=o());){if("\\"===(e=o()))at(e=r())||m("Invalid escaped identifier char");else{if(!at(e))break;a()}t+=e}return pr(t)&&n&&m("Escaped characters are not allowed in keywords"),t}),C=k("Unterminated regular expression",function(e){for(var t,n=!1,r=!1;t=a(!0);)if(kr(t))m("Unexpected line terminator");else if(n)e+="\\"+t,n=!1;else if("["==t)r=!0,e+=t;else if("]"==t&&r)r=!1,e+=t;else{if("/"==t&&!r)break;"\\"==t?n=!0:e+=t}var i=S();try{var s=new RegExp(e,i);return s.raw_source="/"+e+"/"+i,h("regexp",s)}catch(e){m(e.message)}});function A(e){return h("operator",function n(e){if(!o())return e;var t=e+o();return _r(t)?(a(),n(t)):e}(e||a()))}function x(){switch(a(),o()){case"/":return a(),b("comment1");case"*":return a(),_()}return l.regex_allowed?C(""):A("/")}function k(e,t){return function(n){try{return t(n)}catch(t){if(t!==Mr)throw t;m(e)}}}function B(e){if(null!=e)return C(e);for(i&&0==l.pos&&s("#!")&&(f(),u(2),b("comment5"));;){if(d(),f(),r){if(s("\x3c!--")){u(4),b("comment3");continue}if(s("--\x3e")&&l.newline_before){u(3),b("comment4");continue}}var t=o();if(!t)return h("eof");var n=t.charCodeAt(0);switch(n){case 34:case 39:return w(t);case 46:return a(),it(o().charCodeAt(0))?v("."):"."===o()?(a(),a(),h("expand","...")):h("punc",".");case 47:var c=x();if(c===B)continue;return c;case 61:return a(),">"===o()?(a(),h("arrow","=>")):A("=");case 96:return E(!0);case 123:l.brace_counter++;break;case 125:if(l.brace_counter--,l.template_braces.length>0&&l.template_braces[l.template_braces.length-1]===l.brace_counter)return E(!1)}if(it(n))return v();if(Ar(t))return h("punc",a());if(mr(t))return A();if(92==n||ot(t))return g=void 0,g=S(),p?h("name",g):dr(g)?h("atom",g):fr(g)?_r(g)?h("operator",g):h("keyword",g):h("name",g);break}var g;m("Unexpected character '"+t+"'")}return B.next=a,B.peek=o,B.context=function(e){return e&&(l=e),l},B.add_directive=function(e){l.directive_stack[l.directive_stack.length-1].push(e),void 0===l.directives[e]?l.directives[e]=1:l.directives[e]++},B.push_directives_stack=function(){l.directive_stack.push([])},B.pop_directives_stack=function(){for(var e=l.directive_stack[l.directive_stack.length-1],t=0;t0},B}var Tr=g(["typeof","void","delete","--","++","!","~","-","+"]),Or=g(["--","++"]),Fr=g(["=","+=","-=","/=","*=","**=","%=",">>=","<<=",">>>=","|=","^=","&="]),Ir=function(e,t){for(var n=0;n","<=",">=","in","instanceof"],[">>","<<",">>>"],["+","-"],["*","/","%"],["**"]],{}),Rr=g(["atom","num","string","regexp","name"]);function gt(t,n){n=a(n,{bare_returns:!1,ecma:8,expression:!1,filename:null,html5_comments:!0,module:!1,shebang:!0,strict:!1,toplevel:null},!0);var k={input:"string"==typeof t?pt(t,n.filename,n.html5_comments,n.shebang):t,token:null,prev:null,peeked:null,in_function:0,in_async:-1,in_generator:-1,in_directives:!0,in_loop:0,labels:[]};function r(e,t){return ft(k.token,e,t)}function o(){return k.peeked||(k.peeked=k.input())}function u(){return k.prev=k.token,k.peeked||o(),k.token=k.peeked,k.peeked=null,k.in_directives=k.in_directives&&("string"==k.token.type||r("punc",";")),k.token}function s(){return k.prev}function c(e,t,n,r){var i=k.input.context();ct(e,i.filename,null!=t?t:i.tokline,null!=n?n:i.tokcol,null!=r?r:i.tokpos)}function f(e,t){c(t,e.line,e.col)}function l(e){null==e&&(e=k.token),f(e,"Unexpected token: "+e.type+" ("+e.value+")")}function p(e,t){if(r(e,t))return u();f(k.token,"Unexpected token "+k.token.type+" «"+k.token.value+"», expected "+e+" «"+t+"»")}function h(e){return p("punc",e)}function d(e){return e.nlb||!_(e.comments_before,function(e){return!e.nlb})}function m(){return!n.strict&&(r("eof")||r("punc","}")||d(k.token))}function v(){return k.in_generator===k.in_function}function D(){return k.in_async===k.in_function}function g(e){r("punc",";")?u():e||m()||l()}function y(){h("(");var e=Q(!0);return h(")"),e}function E(e){return function(){var t=k.token,n=e.apply(null,arguments),r=s();return n.start=t,n.end=r,n}}function w(){(r("operator","/")||r("operator","/="))&&(k.peeked=null,k.token=k.input(k.token.value.substr(1)))}k.token=u();var A=E(function(e,t,a){switch(w(),k.token.type){case"string":if(k.in_directives){var v=o();-1==k.token.raw.indexOf("\\")&&(ft(v,"punc",";")||ft(v,"punc","}")||d(v)||ft(v,"eof"))?k.input.add_directive(k.token.value):k.in_directives=!1}var b=k.in_directives,E=C();return b&&E.body instanceof Jn?new X(E.body):E;case"template_head":case"num":case"regexp":case"operator":case"atom":return C();case"name":if("async"==k.token.value&&ft(o(),"keyword","function"))return u(),u(),t&&c("functions are not allowed as the body of a loop"),T(Ce,!1,!0,e);if("import"==k.token.value&&!ft(o(),"punc","(")){u();var _=function(){var e,t,n=s();r("name")&&(e=Le(jn));r("punc",",")&&u();((t=Pe(!0))||e)&&p("name","from");var i=k.token;"string"!==i.type&&l();return u(),new Lt({start:n,imported_name:e,imported_names:t,module_name:new Jn({start:i,value:i.value,quote:i.quote,end:i}),end:k.token})}();return g(),_}return ft(o(),"punc",":")?function(){var e=Le(Un);"await"===e.name&&D()&&f(k.prev,"await cannot be used as label inside async function");i(function(t){return t.name==e.name},k.labels)&&c("Label "+e.name+" defined twice");h(":"),k.labels.push(e);var t=A();k.labels.pop(),t instanceof ae||e.references.forEach(function(t){t instanceof $e&&(t=t.label.start,c("Continue label `"+e.name+"` refers to non-IterationStatement.",t.line,t.col,t.pos))});return new oe({body:t,label:e})}():C();case"punc":switch(k.token.value){case"{":return new ne({start:k.token,body:on(),end:s()});case"[":case"(":return C();case";":return k.in_directives=!1,u(),new re;default:l()}case"keyword":switch(k.token.value){case"break":return u(),x(Xe);case"continue":return u(),x($e);case"debugger":return u(),g(),new K;case"do":u();var M=it(A);p("keyword","while");var R=y();return g(!0),new ce({body:M,condition:R});case"while":return u(),new le({condition:y(),body:it(function(){return A(!1,!0)})});case"for":return u(),function(){var e="`for await` invalid in this context",t=k.token;"name"==t.type&&"await"==t.value?(D()||f(t,e),u()):t=!1;h("(");var n=null;if(r("punc",";"))t&&f(t,e);else{n=r("keyword","var")?(u(),O(!0)):r("keyword","let")?(u(),F(!0)):r("keyword","const")?(u(),I(!0)):Q(!0,!0);var i=r("operator","in"),s=r("name","of");if(t&&!s&&f(t,e),i||s)return n instanceof Dt?n.definitions.length>1&&f(n.start,"Only one variable declaration allowed in for..in loop"):Ge(n)||(n=nt(n))instanceof xe||f(n.start,"Invalid left-hand side in for..in loop"),u(),i?function(e){var t=Q(!0);return h(")"),new de({init:e,object:t,body:it(function(){return A(!1,!0)})})}(n):function(e,t){var n=e instanceof Dt?e.definitions[0].name:null,r=Q(!0);return h(")"),new pe({await:t,init:e,name:n,object:r,body:it(function(){return A(!1,!0)})})}(n,!!t)}return function(e){h(";");var t=r("punc",";")?null:Q(!0);h(";");var n=r("punc",")")?null:Q(!0);return h(")"),new fe({init:e,condition:t,step:n,body:it(function(){return A(!1,!0)})})}(n)}();case"class":return u(),t&&c("classes are not allowed as the body of a loop"),a&&c("classes are not allowed as the body of an if"),Te(En);case"function":return u(),t&&c("functions are not allowed as the body of a loop"),T(Ce,!1,!1,e);case"if":return u(),function(){var e=y(),t=A(!1,!1,!0),n=null;r("keyword","else")&&(u(),n=A(!1,!1,!0));return new lt({condition:e,body:t,alternative:n})}();case"return":0!=k.in_function||n.bare_returns||c("'return' outside of function"),u();var P=null;return r("punc",";")?u():m()||(P=Q(!0),g()),new qe({value:P});case"switch":return u(),new dt({expression:y(),body:it(an)});case"throw":u(),d(k.token)&&c("Illegal newline after 'throw'");P=Q(!0);return g(),new Ve({value:P});case"try":return u(),function(){var e=on(),t=null,n=null;if(r("keyword","catch")){var i=k.token;if(u(),r("punc","{"))var o=null;else{h("(");var o=S(void 0,Ln);h(")")}t=new Et({start:i,argname:o,body:on(),end:s()})}if(r("keyword","finally")){var i=k.token;u(),n=new Ct({start:i,body:on(),end:s()})}t||n||c("Missing catch/finally blocks");return new bt({body:e,bcatch:t,bfinally:n})}();case"var":u();_=O();return g(),_;case"let":u();_=F();return g(),_;case"const":u();_=I();return g(),_;case"with":return k.input.has_directive("use strict")&&c("Strict mode may not include a with statement"),u(),new he({expression:y(),body:A()});case"export":if(!ft(o(),"punc","(")){u();_=function(){var e,t,n,i,a,c=k.token;if(r("keyword","default"))e=!0,u();else if(t=Pe(!1)){if(r("name","from")){u();var f=k.token;return"string"!==f.type&&l(),u(),new jt({start:c,is_default:e,exported_names:t,module_name:new Jn({start:f,value:f.value,quote:f.quote,end:f}),end:s()})}return new jt({start:c,is_default:e,exported_names:t,end:s()})}r("punc","{")||e&&(r("keyword","class")||r("keyword","function"))&&ft(o(),"punc")?(i=Q(!1),g()):(n=A(e))instanceof Dt&&e?l(n.start):n instanceof Dt||n instanceof be||n instanceof En?a=n:n instanceof J?i=n.body:l(n.start);return new jt({start:c,is_default:e,exported_value:i,exported_definition:a,end:s()})}();return r("punc",";")&&g(),_}}}l()});function C(e){return new J({body:(e=Q(!0),g(),e)})}function x(e){var t,n=null;m()||(n=Le(qn,!0)),null!=n?((t=i(function(e){return e.name==n.name},k.labels))||c("Undefined label "+n.name),n.thedef=t):0==k.in_loop&&c(e.TYPE+" not inside a loop or switch"),g();var r=new e({label:n});return t&&t.references.push(r),r}var M=function(e,t,n){d(k.token)&&c("Unexpected newline before arrow (=>)"),p("arrow","=>");var i=V(r("punc","{"),!1,n),s=i instanceof Array&&i.length?i[i.length-1].end:i instanceof Array?e:i.end;return new ke({start:e,end:s,async:n,argnames:t,body:i})},T=function(e,t,n,i){k.token;var o=e===Ce,a=r("operator","*");a&&u();var c=r("name")?Le(o?On:Rn):null;o&&!c&&(i?e=Ee:l()),!c||e===we||c instanceof Cn||l(s());var f=[],d=V(!0,a||t,n,c,f);return new e({start:f.start,end:d.end,is_generator:a,async:n,name:c,argnames:f,body:d})};function z(e,t){var n={},r=!1,i=!1,s=!1,o=!!t,a={add_parameter:function(t){if(void 0!==n["$"+t.value])!1===r&&(r=t),a.check_strict();else if(n["$"+t.value]=!0,e)switch(t.value){case"arguments":case"eval":case"yield":o&&f(t,"Unexpected "+t.value+" identifier as parameter inside strict mode");break;default:pr(t.value)&&l()}},mark_default_assignment:function(e){!1===i&&(i=e)},mark_spread:function(e){!1===s&&(s=e)},mark_strict_mode:function(){o=!0},is_strict:function(){return!1!==i||!1!==s||o},check_strict:function(){a.is_strict()&&!1!==r&&f(r,"Parameter "+r.value+" was used already")}};return a}function S(e,t){var n,i=!1;return void 0===e&&(e=z(!0,k.input.has_directive("use strict"))),r("expand","...")&&(i=k.token,e.mark_spread(k.token),u()),n=H(e,t),r("operator","=")&&!1===i&&(e.mark_default_assignment(k.token),u(),n=new Zt({start:n.start,left:n,operator:"=",right:Q(!1),end:k.token})),!1!==i&&(r("punc",")")||l(),n=new ye({start:i,expression:n,end:i})),e.check_strict(),n}function H(e,t){var n,i=[],a=!0,f=!1,d=k.token;if(void 0===e&&(e=z(!1,k.input.has_directive("use strict"))),t=void 0===t?Tn:t,r("punc","[")){for(u();!r("punc","]");){if(a?a=!1:h(","),r("expand","...")&&(f=!0,n=k.token,e.mark_spread(k.token),u()),r("punc"))switch(k.token.value){case",":i.push(new ir({start:k.token,end:k.token}));continue;case"]":break;case"[":case"{":i.push(H(e,t));break;default:l()}else r("name")?(e.add_parameter(k.token),i.push(Le(t))):c("Invalid function parameter");r("operator","=")&&!1===f&&(e.mark_default_assignment(k.token),u(),i[i.length-1]=new Zt({start:i[i.length-1].start,left:i[i.length-1],operator:"=",right:Q(!1),end:k.token})),f&&(r("punc","]")||c("Rest element must be last element"),i[i.length-1]=new ye({start:n,expression:i[i.length-1],end:n}))}return h("]"),e.check_strict(),new xe({start:d,names:i,is_array:!0,end:s()})}if(r("punc","{")){for(u();!r("punc","}");){if(a?a=!1:h(","),r("expand","...")&&(f=!0,n=k.token,e.mark_spread(k.token),u()),r("name")&&(ft(o(),"punc")||ft(o(),"operator"))&&-1!==[",","}","="].indexOf(o().value)){e.add_parameter(k.token);var p=s(),m=Le(t);f?i.push(new ye({start:n,expression:m,end:m.end})):i.push(new mn({start:p,key:m.name,value:m,end:m.end}))}else{if(r("punc","}"))continue;var g=k.token,y=Re();null===y?l(s()):"name"!==s().type||r("punc",":")?(h(":"),i.push(new mn({start:g,quote:g.quote,key:y,value:H(e,t),end:s()}))):i.push(new mn({start:s(),key:y,value:new t({start:s(),name:y,end:s()}),end:s()}))}f?r("punc","}")||c("Rest element must be last element"):r("operator","=")&&(e.mark_default_assignment(k.token),u(),i[i.length-1].value=new Zt({start:i[i.length-1].value.start,left:i[i.length-1].value,operator:"=",right:Q(!1),end:k.token}))}return h("}"),e.check_strict(),new xe({start:d,names:i,is_array:!1,end:s()})}if(r("name"))return e.add_parameter(k.token),Le(t);c("Invalid function parameter")}function V(e,t,i,s,o){var a=k.in_loop,c=k.labels,f=k.in_generator,d=k.in_async;if(++k.in_function,t&&(k.in_generator=k.in_function),i&&(k.in_async=k.in_function),o&&function(e){k.token;var t=z(!0,k.input.has_directive("use strict"));for(h("(");!r("punc",")");){var i=S(t);if(e.push(i),r("punc",")")||(h(","),r("punc",")")&&n.ecma<8&&l()),i instanceof ye)break}u()}(o),e&&(k.in_directives=!0),k.in_loop=0,k.labels=[],e){k.input.push_directives_stack();var p=on();s&&Ue(s),o&&o.forEach(Ue),k.input.pop_directives_stack()}else p=Q(!1);return--k.in_function,k.in_loop=a,k.labels=c,k.in_generator=f,k.in_async=d,p}function on(){h("{");for(var e=[];!r("punc","}");)r("eof")&&l(),e.push(A());return u(),e}function an(){h("{");for(var e,t=[],n=null,i=null;!r("punc","}");)r("eof")&&l(),r("keyword","case")?(i&&(i.end=s()),n=[],i=new vt({start:(e=k.token,u(),e),expression:Q(!0),body:n}),t.push(i),h(":")):r("keyword","default")?(i&&(i.end=s()),n=[],i=new mt({start:(e=k.token,u(),h(":"),e),body:n}),t.push(i)):(n||l(),n.push(A()));return i&&(i.end=s()),u(),t}function cn(e,t){for(var n,i=[];;){var o="var"===t?Dn:"const"===t?xn:"let"===t?Mn:null;if(r("punc","{")||r("punc","[")?n=new Bt({start:k.token,name:H(void 0,o),value:r("operator","=")?(p("operator","="),Q(!1,e)):null,end:s()}):"import"==(n=new Bt({start:k.token,name:Le(o),value:r("operator","=")?(u(),Q(!1,e)):e||"const"!==t?null:c("Missing initializer in const declaration"),end:s()})).name.name&&c("Unexpected token: import"),i.push(n),!r("punc",","))break;u()}return i}var O=function(e){return new Ft({start:s(),definitions:cn(e,"var"),end:s()})},F=function(e){return new Rt({start:s(),definitions:cn(e,"let"),end:s()})},I=function(e){return new Pt({start:s(),definitions:cn(e,"const"),end:s()})};function Qn(){var e,t=k.token;switch(t.type){case"name":e=je(Gn);break;case"num":e=new Zn({start:t,end:t,value:t.value});break;case"string":e=new Jn({start:t,end:t,value:t.value,quote:t.quote});break;case"regexp":e=new $n({start:t,end:t,value:t.value});break;case"atom":switch(t.value){case"false":e=new ar({start:t,end:t});break;case"true":e=new ur({start:t,end:t});break;case"null":e=new tr({start:t,end:t})}}return u(),e}function ee(e,t,n,r){var i=function(e,t){return t?new Zt({start:e.start,left:e,operator:"=",right:t,end:t.end}):e};return e instanceof pn?i(new xe({start:e.start,end:e.end,is_array:!1,names:e.properties.map(ee)}),r):e instanceof mn?(e.value=ee(e.value,0,[e.key]),i(e,r)):e instanceof ir?e:e instanceof xe?(e.names=e.names.map(ee),i(e,r)):e instanceof Gn?i(new Tn({name:e.name,start:e.start,end:e.end}),r):e instanceof ye?(e.expression=ee(e.expression),i(e,r)):e instanceof nn?i(new xe({start:e.start,end:e.end,is_array:!0,names:e.elements.map(ee)}),r):e instanceof Qt?i(ee(e.left,void 0,void 0,e.right),r):e instanceof Zt?(e.left=ee(e.left,0,[e.left]),e):void c("Invalid function parameter",e.start.line,e.start.col)}var R=function(e,t){if(r("operator","new"))return function(e){var t=k.token;if(p("operator","new"),r("punc","."))return u(),p("name","target"),j(new kn({start:t,end:s()}),e);var i,o=R(!1);r("punc","(")?(u(),i=Ae(")",n.ecma>=8)):i=[];var a=new Gt({start:t,expression:o,args:i,end:s()});return Ye(a),j(a,e)}(e);var i,a=k.token,c=r("name","async")&&"["!=(i=o()).value&&"arrow"!=i.type&&Qn();if(r("punc")){switch(k.token.value){case"(":if(c&&!e)break;var f=function(e,t){var i,o,a,c=[];for(h("(");!r("punc",")");)i&&l(i),r("expand","...")?(i=k.token,t&&(o=k.token),u(),c.push(new ye({start:s(),expression:Q(),end:k.token}))):c.push(Q()),r("punc",")")||(h(","),r("punc",")")&&(n.ecma<8&&l(),a=s(),t&&(o=a)));return h(")"),e&&r("arrow","=>")?i&&a&&l(a):o&&l(o),c}(t,!c);if(t&&r("arrow","=>"))return M(a,f.map(ee),!!c);var d=c?new Ut({expression:c,args:f}):1==f.length?f[0]:new zt({expressions:f});if(d.start){var m=a.comments_before.length;if([].unshift.apply(d.start.comments_before,a.comments_before),a.comments_before=d.start.comments_before,a.comments_before_length=m,0==m&&a.comments_before.length>0){var g=a.comments_before[0];g.nlb||(g.nlb=a.nlb,a.nlb=!1)}a.comments_after=d.start.comments_after}d.start=a;var y=s();return d.end&&(y.comments_before=d.end.comments_before,[].push.apply(d.end.comments_after,y.comments_after),y.comments_after=d.end.comments_after),d.end=y,d instanceof Ut&&Ye(d),j(d,e);case"[":return j(P(),e);case"{":return j(L(),e)}c||l()}if(t&&r("name")&&ft(o(),"arrow")){var v=new Tn({name:k.token.value,start:a,end:a});return u(),M(a,[v],!!c)}if(r("keyword","function")){u();var b=T(Ee,!1,!!c);return b.start=a,b.end=s(),j(b,e)}if(c)return j(c,e);if(r("keyword","class")){u();var w=Te(_n);return w.start=a,w.end=s(),j(w,e)}return r("template_head")?j(Fe(!1),e):Rr(k.token.type)?j(Qn(),e):void l()};function Fe(e){var t=[],n=k.token;for(t.push(new Ne({start:k.token,raw:k.token.raw,value:k.token.value,end:k.token}));!1===k.token.end;)u(),w(),t.push(Q(!0)),ft("template_substitution")||l(),t.push(new Ne({start:k.token,raw:k.token.raw,value:k.token.value,end:k.token}));return u(),new Oe({start:n,segments:t,end:k.token})}function Ae(e,t,n){for(var i=!0,o=[];!r("punc",e)&&(i?i=!1:h(","),!t||!r("punc",e));)r("punc",",")&&n?o.push(new ir({start:k.token,end:k.token})):r("expand","...")?(u(),o.push(new ye({start:s(),expression:Q(),end:k.token}))):o.push(Q(!1));return u(),o}var P=E(function(){return h("["),new nn({elements:Ae("]",!n.strict,!0)})}),N=E(function(e,t){return T(we,e,t)}),L=E(function(){var e=k.token,t=!0,i=[];for(h("{");!r("punc","}")&&(t?t=!1:h(","),n.strict||!r("punc","}"));)if("expand"!=(e=k.token).type){var o,a=Re();if(r("punc",":"))null===a?l(s()):(u(),o=Q(!1));else{var c=Se(a,e);if(c){i.push(c);continue}o=new Gn({start:s(),name:a,end:s()})}r("operator","=")&&(u(),o=new Qt({start:e,left:o,operator:"=",right:Q(!1),end:s()})),i.push(new mn({start:e,quote:e.quote,key:a instanceof q?a:""+a,value:o,end:s()}))}else u(),i.push(new ye({start:e,expression:Q(!1),end:s()}));return u(),new pn({properties:i})});function Te(e){var t,n,i,o,a=[];for(k.input.push_directives_stack(),k.input.add_directive("use strict"),"name"==k.token.type&&"extends"!=k.token.value&&(i=Le(e===En?Pn:Nn)),e!==En||i||l(),"extends"==k.token.value&&(u(),o=Q(!0)),h("{"),r("punc",";")&&u();!r("punc","}");)t=k.token,(n=Se(Re(),t,!0))||l(),a.push(n),r("punc",";")&&u();return k.input.pop_directives_stack(),u(),new e({start:t,name:i,extends:o,properties:a,end:s()})}function Se(e,t,n){var i=function(e,t){return"string"==typeof e||"number"==typeof e?new In({start:t,name:""+e,end:s()}):(null===e&&l(),e)},o=!1,a=!1,u=!1,c=t;if(n&&"static"===e&&!r("punc","(")&&(a=!0,c=k.token,e=Re()),"async"!==e||r("punc","(")||r("punc",",")||r("punc","}")||(o=!0,c=k.token,e=Re()),null===e&&(u=!0,c=k.token,null===(e=Re())&&l()),r("punc","("))return e=i(e,t),new bn({start:t,static:a,is_generator:u,async:o,key:e,quote:e instanceof In?c.quote:void 0,value:N(u,o),end:s()});if(c=k.token,"get"==e){if(!r("punc")||r("punc","["))return e=i(Re(),t),new vn({start:t,static:a,key:e,quote:e instanceof In?c.quote:void 0,value:N(),end:s()})}else if("set"==e&&(!r("punc")||r("punc","[")))return e=i(Re(),t),new yn({start:t,static:a,key:e,quote:e instanceof In?c.quote:void 0,value:N(),end:s()})}function Ie(t){function e(e){return new e({name:Re(),start:s(),end:s()})}var n,i,o=t?Bn:Hn,a=t?jn:zn,c=k.token;return t?n=e(o):i=e(a),r("name","as")?(u(),t?i=e(a):n=e(o)):t?i=new a(n):n=new o(i),new Nt({start:c,foreign_name:n,name:i,end:s()})}function He(e,t){var n,r=e?Bn:Hn,i=e?jn:zn,o=k.token,a=s();return t=t||new i({name:"*",start:o,end:a}),n=new r({name:"*",start:o,end:a}),new Nt({start:o,foreign_name:n,name:t,end:a})}function Pe(e){var t;if(r("punc","{")){for(u(),t=[];!r("punc","}");)t.push(Ie(e)),r("punc",",")&&u();u()}else if(r("operator","*")){var n;u(),e&&r("name","as")&&(u(),n=Le(e?jn:Hn)),t=[He(e,n)]}return t}function Re(){var e=k.token;switch(e.type){case"punc":if("["===e.value){u();var t=Q(!1);return h("]"),t}l(e);case"operator":if("*"===e.value)return u(),null;-1===["delete","in","instanceof","new","typeof","void"].indexOf(e.value)&&l(e);case"name":"yield"==e.value&&(v()?f(e,"Yield cannot be used as identifier inside generators"):ft(o(),"punc",":")||ft(o(),"punc","(")||!k.input.has_directive("use strict")||f(e,"Unexpected yield identifier inside strict mode"));case"string":case"num":case"keyword":case"atom":return u(),e.value;default:l(e)}}function je(e){var t=k.token.value;return new("this"==t?Wn:"super"==t?Vn:e)({name:String(t),start:k.token,end:k.token})}function Ue(e){var t=e.name;v()&&"yield"==t&&f(e.start,"Yield cannot be used as identifier inside generators"),k.input.has_directive("use strict")&&("yield"==t&&f(e.start,"Unexpected yield identifier inside strict mode"),e instanceof Cn&&("arguments"==t||"eval"==t)&&f(e.start,"Unexpected "+t+" in strict mode"))}function Le(e,t){if(!r("name"))return t||c("Name expected"),null;var n=je(e);return Ue(n),u(),n}function Ye(e){for(var t=e.start,n=t.comments_before,r=b(t,"comments_before_length")?t.comments_before_length:n.length;--r>=0;){var i=n[r];if(/[@#]__PURE__/.test(i.value)){e.pure=i;break}}}var j=function(e,t){var n,i=e.start;if(r("punc","."))return u(),j(new qt({start:i,expression:e,property:(n=k.token,"name"!=n.type&&l(),u(),n.value),end:s()}),t);if(r("punc","[")){u();var o=Q(!0);return h("]"),j(new Wt({start:i,expression:e,property:o,end:s()}),t)}if(t&&r("punc","(")){u();var a=new Ut({start:i,expression:e,args:B(),end:s()});return Ye(a),j(a,!0)}return r("template_head")?j(new Me({start:i,prefix:e,template_string:Fe(),end:s()}),t):e},B=E(function(){for(var e=[];!r("punc",")");)r("expand","...")?(u(),e.push(new ye({start:s(),expression:Q(!1),end:s()}))):e.push(Q(!1)),r("punc",")")||(h(","),r("punc",")")&&n.ecma<8&&l());return u(),e}),U=function(e,t){var n=k.token;if("name"==n.type&&"await"==n.value){if(D())return u(),D()||c("Unexpected await expression outside async function",k.prev.line,k.prev.col,k.prev.pos),new cr({start:s(),end:k.token,expression:U(!0)});k.input.has_directive("use strict")&&f(k.token,"Unexpected await identifier inside strict mode")}if(r("operator")&&Tr(n.value)){u(),w();var i=Je(Kt,n,U(e));return i.start=n,i.end=s(),i}for(var o=R(e,t);r("operator")&&Or(k.token.value)&&!d(k.token);)o instanceof ke&&l(),(o=Je(Xt,k.token,o)).start=n,o.end=k.token,u();return o};function Je(e,t,n){var r=t.value;switch(r){case"++":case"--":Ge(n)||c("Invalid use of "+r+" operator",t.line,t.col,t.pos);break;case"delete":n instanceof Gn&&k.input.has_directive("use strict")&&c("Calling delete on expression not allowed in strict mode",n.start.line,n.start.col,n.start.pos)}return new e({operator:r,expression:n})}var G=function(e,t,n){var i=r("operator")?k.token.value:null;"in"==i&&n&&(i=null),"**"==i&&e instanceof Kt&&!ft(e.start,"punc","(")&&"--"!==e.operator&&"++"!==e.operator&&l(e.start);var s=null!=i?Ir[i]:null;if(null!=s&&(s>t||"**"===i&&t===s)){u();var o=G(U(!0),s,n);return G(new Jt({start:e.start,left:e,operator:i,right:o,end:o.end}),t,n)}return e};var W=function(e){var t=k.token,n=function(e){return G(U(!0,!0),0,e)}(e);if(r("operator","?")){u();var i=Q(!1);return h(":"),new Yt({start:t,condition:n,consequent:i,alternative:Q(!1,e),end:s()})}return n};function Ge(e){return e instanceof Ht||e instanceof Gn}function nt(e){if(e instanceof pn)e=new xe({start:e.start,names:e.properties.map(nt),is_array:!1,end:e.end});else if(e instanceof nn){for(var t=[],n=0;n=0;){var o=r[s];if(i==(o.mangled_name||o.unmangleable(n)&&o.name))continue e}return i}}}yt.prototype={unmangleable:function(e){return e||(e={}),this.global&&!e.toplevel||this.export&Pr||this.undeclared||!e.eval&&this.scope.pinned()||(this.orig[0]instanceof Rn||this.orig[0]instanceof On)&&w(e.keep_fnames,this.orig[0].name)||this.orig[0]instanceof In||(this.orig[0]instanceof Nn||this.orig[0]instanceof Pn)&&w(e.keep_classnames,this.orig[0].name)},mangle:function(e){var t=e.cache&&e.cache.props;if(this.global&&t&&t.has(this.name))this.mangled_name=t.get(this.name);else if(!this.mangled_name&&!this.unmangleable(e)){var n,r=this.scope,i=this.orig[0];e.ie8&&i instanceof Rn&&(r=r.parent_scope),(n=this.redefined())?this.mangled_name=n.mangled_name||n.name:this.mangled_name=r.next_mangled(e,this),this.global&&t&&t.set(this.name,this.mangled_name)}},redefined:function(){return this.defun&&this.defun.variables.get(this.name)}},ge.DEFMETHOD("figure_out_scope",function(e){e=a(e,{cache:null,ie8:!1,safari10:!1});var t=this,n=t.parent_scope=null,r=new y,i=null,s=null,o=[],u=new Te(function(t,a){if(t.is_block_scope()){var c=n;return t.block_scope=n=new me(t),n.init_scope_vars(c),t instanceof me||(n.uses_with=c.uses_with,n.uses_eval=c.uses_eval,n.directives=c.directives),e.safari10&&(t instanceof fe||t instanceof de)&&o.push(n),a(),n=c,!0}if(t instanceof xe)return s=t,a(),s=null,!0;if(t instanceof me){t.init_scope_vars(n);c=n;var l=i,f=r;return i=n=t,r=new y,a(),n=c,i=l,r=f,!0}if(t instanceof oe){var d=t.label;if(r.has(d.name))throw new Error(m("Label {name} defined twice",d));return r.set(d.name,d),a(),r.del(d.name),!0}if(t instanceof he)for(var p=n;p;p=p.parent_scope)p.uses_with=!0;else{if(t instanceof Sn&&(t.scope=n),t instanceof Un&&(t.thedef=t,t.references=[]),t instanceof Rn)i.def_function(t,"arguments"==t.name?void 0:i);else if(t instanceof On)D((t.scope=i.parent_scope.get_defun_scope()).def_function(t,i),1);else if(t instanceof Nn)D(i.def_variable(t,i),1);else if(t instanceof jn)n.def_variable(t);else if(t instanceof Pn)D((t.scope=i.parent_scope).def_function(t,i),1);else if(t instanceof Dn||t instanceof Mn||t instanceof xn){if(_((h=t instanceof An?n.def_variable(t,null):i.def_variable(t,"SymbolVar"==t.TYPE?null:void 0)).orig,function(e){return e===t||(t instanceof An?e instanceof Rn:!(e instanceof Mn||e instanceof xn))})||ct(t.name+" redeclared",t.start.file,t.start.line,t.start.col,t.start.pos),t instanceof Tn||D(h,2),h.destructuring=s,i!==n){t.mark_enclosed(e);var h=n.find_variable(t);t.thedef!==h&&(t.thedef=h,t.reference(e))}}else if(t instanceof Ln)n.def_variable(t).defun=i;else if(t instanceof qn){var g=r.get(t.name);if(!g)throw new Error(m("Undefined label {name} [{line},{col}]",{name:t.name,line:t.start.line,col:t.start.col}));t.thedef=g}n instanceof ge||!(t instanceof jt||t instanceof Lt)||ct(t.TYPE+" statement may only appear at top level",t.start.file,t.start.line,t.start.col,t.start.pos)}function D(e,t){if(s){var n=0;do{t++}while(u.parent(n++)!==s)}var r=u.parent(t);if(e.export=r instanceof jt&&Pr){var i=r.exported_definition;(i instanceof Ce||i instanceof En)&&r.is_default&&(e.export=Nr)}}});t.walk(u),t.globals=new y;u=new Te(function(n,r){if(n instanceof Ke&&n.label)return n.label.thedef.references.push(n),!0;if(n instanceof Gn){var i,s=n.name;if("eval"==s&&u.parent()instanceof Ut)for(var o=n.scope;o&&!o.uses_eval;o=o.parent_scope)o.uses_eval=!0;return u.parent()instanceof Nt&&u.parent(1).module_name||!(i=n.scope.find_variable(s))?(i=t.def_global(n),n instanceof zn&&(i.export=Pr)):i.scope instanceof be&&"arguments"==s&&(i.scope.uses_arguments=!0),n.thedef=i,n.reference(e),!n.scope.is_block_scope()||i.orig[0]instanceof An||(n.scope=n.scope.get_defun_scope()),!0}var a;if(n instanceof Ln&&(a=n.definition().redefined()))for(o=n.scope;o&&(d(o.enclosed,a),o!==a.scope);)o=o.parent_scope});if(t.walk(u),(e.ie8||e.safari10)&&t.walk(new Te(function(n,r){if(n instanceof Ln){var i=n.name,s=n.thedef.references,o=n.thedef.defun,a=o.find_variable(i)||t.globals.get(i)||o.def_variable(n);return s.forEach(function(t){t.thedef=a,t.reference(e)}),n.thedef=a,n.reference(e),!0}})),e.safari10)for(var c=0;c0);return n}return a.consider=function(e,n){for(var r=e.length;--r>=0;)t[e[r]]+=n},a.sort=function(){e=D(n,o).concat(D(i,o))},a.reset=r,r(),a}(),jr=/^$|[;{][\s\n]*$/;function At(e){return"comment2"==e.type&&/@preserve|@license|@cc_on/i.test(e.value)}function xt(e){var t=!e;void 0===(e=a(e,{ascii_only:!1,beautify:!1,braces:!1,comments:!1,ecma:5,ie8:!1,indent_level:4,indent_start:0,inline_script:!0,keep_quoted_props:!1,max_line_len:!1,preamble:null,quote_keys:!1,quote_style:0,safari10:!1,semicolons:!0,shebang:!0,shorthand:void 0,source_map:null,webkit:!1,width:80,wrap_iife:!1},!0)).shorthand&&(e.shorthand=e.ecma>5);var n=c;if(e.comments){var r=e.comments;if("string"==typeof e.comments&&/^\/.*\/[a-zA-Z]*$/.test(e.comments)){var i=e.comments.lastIndexOf("/");r=new RegExp(e.comments.substr(1,i-1),e.comments.substr(i+1))}n=r instanceof RegExp?function(e){return"comment5"!=e.type&&r.test(e.value)}:"function"==typeof r?function(e){return"comment5"!=e.type&&r(this,e)}:"some"===r?At:f}var u=0,l=0,d=1,p=0,h="",y=e.ascii_only?function(t,n){return e.ecma>=6&&(t=t.replace(/[\ud800-\udbff][\udc00-\udfff]/g,function(e){var t,n;return"\\u{"+(t=e,n=0,et(t.charAt(n))?65536+(t.charCodeAt(n)-55296<<10)+t.charCodeAt(n+1)-56320:t.charCodeAt(n)).toString(16)+"}"})),t.replace(/[\u0000-\u001f\u007f-\uffff]/g,function(e){var t=e.charCodeAt(0).toString(16);if(t.length<=2&&!n){for(;t.length<2;)t="0"+t;return"\\x"+t}for(;t.length<4;)t="0"+t;return"\\u"+t})}:function(e){for(var t="",n=0,r=e.length;ni?o():a()}}(t,n);return e.inline_script&&(r=(r=(r=r.replace(/<\x2f(script)([>\/\t\n\f\r ])/gi,"<\\/$1$2")).replace(/\x3c!--/g,"\\x3c!--")).replace(/--\x3e/g,"--\\x3e")),r}function v(t){return function n(e,t){if(t<=0)return"";if(1==t)return e;var r=n(e,t>>1);return r+=r,1&t&&(r+=e),r}(" ",e.indent_start+u-t*e.indent_level)}var b,w,E=!1,S=!1,k=!1,C=0,D=!1,A=!1,x=-1,M="",O=e.source_map&&[],F=O?function(){O.forEach(function(t){try{e.source_map.add(t.token.file,t.line,t.col,t.token.line,t.token.col,t.name||"name"!=t.token.type?t.name:t.token.value)}catch(e){null!=t.token.file&&q.warn("Couldn't figure out mapping for {file}:{line},{col} → {cline},{ccol} [{name}]",{file:t.token.file,line:t.token.line,col:t.token.col,cline:t.line,ccol:t.col,name:t.name||""})}}),O=[]}:s,I=e.max_line_len?function(){if(l>e.max_line_len){if(C){var t=h.slice(0,C),n=h.slice(C);if(O){var r=n.length-l;O.forEach(function(e){e.line++,e.col+=r})}h=t+"\n"+n,d++,p++,l=n.length}l>e.max_line_len&&q.warn("Output exceeds {max_line_len} characters",e)}C&&(C=0,F())}:s,P=g("( [ + * / - , . `");function T(t){var n=nt(t=String(t),0),r=nt(M,M.length-1);D&&n&&(D=!1,"\n"!=n&&(T("\n"),B())),A&&n&&(A=!1,/[\s;})]/.test(n)||N()),x=-1;r=M.charAt(M.length-1);k&&(k=!1,(":"==r&&"}"==n||(!n||";}".indexOf(n)<0)&&";"!=r)&&(e.semicolons||P(n)?(h+=";",l++,p++):(I(),h+="\n",p++,d++,l=0,/^\s+$/.test(t)&&(k=!0)),e.beautify||(S=!1))),S&&((at(r)&&(at(n)||"\\"==n)||"/"==n&&n==r||("+"==n||"-"==n)&&n==M)&&(h+=" ",l++,p++),S=!1),b&&(O.push({token:b,name:w,line:d,col:l}),b=!1,C||F()),h+=t,E="("==t[t.length-1],p+=t.length;var i=t.split(/\r?\n/),s=i.length-1;d+=s,l+=i[0].length,s>0&&(I(),l=i[s].length),M=t}var N=e.beautify?function(){T(" ")}:function(){S=!0},B=e.beautify?function(t){e.beautify&&T(v(t?.5:0))}:s,G=e.beautify?function(e,t){!0===e&&(e=j());var n=u;u=e;var r=t();return u=n,r}:function(e,t){return t()},z=e.beautify?function(){if(x<0)return T("\n");"\n"!=h[x]&&(h=h.slice(0,x)+"\n"+h.slice(x),p++,d++),x++}:e.max_line_len?function(){I(),C=h.length}:s,H=e.beautify?function(){T(";")}:function(){k=!0};function R(){k=!1,T(";")}function j(){return u+e.indent_level}function U(){return C&&I(),h}function L(){var e=h.lastIndexOf("\n");return/^ *$/.test(h.slice(e+1))}var V=[];return{get:U,toString:U,indent:B,indentation:function(){return u},current_width:function(){return l-u},should_break:function(){return e.width&&this.current_width()>=e.width},has_parens:function(){return E},newline:z,print:T,star:function(){T("*")},space:N,comma:function(){T(","),N()},colon:function(){T(":"),N()},last:function(){return M},semicolon:H,force_semicolon:R,to_utf8:y,print_name:function(e){T(function(e){return e=e.toString(),e=y(e,!0)}(e))},print_string:function(e,t,n){var r=m(e,t);!0===n&&-1===r.indexOf("\\")&&(jr.test(h)||R(),R()),T(r)},print_template_string_chars:function(e){var t=m(e,"`").replace(/\${/g,"\\${");return T(t.substr(1,t.length-2))},encode_string:m,next_indent:j,with_indent:G,with_block:function(e){var t;return T("{"),z(),G(j(),function(){t=e()}),B(),T("}"),t},with_parens:function(e){T("(");var t=e();return T(")"),t},with_square:function(e){T("[");var t=e();return T("]"),t},add_mapping:O?function(e,t){b=e,w=t}:s,option:function(t){return e[t]},prepend_comments:t?s:function(t){var r=this,i=t.start;if(i&&(!i.comments_before||i.comments_before._dumped!==r)){var s=i.comments_before;if(s||(s=i.comments_before=[]),s._dumped=r,t instanceof ze&&t.value){var o=new Te(function(e){var t=o.parent();if(!(t instanceof ze||t instanceof Jt&&t.left===e||"Call"==t.TYPE&&t.expression===e||t instanceof Yt&&t.condition===e||t instanceof qt&&t.expression===e||t instanceof zt&&t.expressions[0]===e||t instanceof Wt&&t.expression===e||t instanceof Xt))return!0;if(e.start){var n=e.start.comments_before;n&&n._dumped!==r&&(n._dumped=r,s=s.concat(n))}});o.push(t),t.value.walk(o)}if(0==p){s.length>0&&e.shebang&&"comment5"==s[0].type&&(T("#!"+s.shift().value+"\n"),B());var a=e.preamble;a&&T(a.replace(/\r\n?|[\n\u2028\u2029]|\s*$/g,"\n"))}if(0!=(s=s.filter(n,t)).length){var u=L();s.forEach(function(e,t){u||(e.nlb?(T("\n"),B(),u=!0):t>0&&N()),/comment[134]/.test(e.type)?(T("//"+e.value.replace(/[@#]__PURE__/g," ")+"\n"),B(),u=!0):"comment2"==e.type&&(T("/*"+e.value.replace(/[@#]__PURE__/g," ")+"*/"),u=!1)}),u||(i.nlb?(T("\n"),B()):N())}}},append_comments:t||n===c?s:function(e,t){var r=e.end;if(r){var i=r[t?"comments_before":"comments_after"];if(i&&i._dumped!==this&&(e instanceof W||_(i,function(e){return!/comment[134]/.test(e.type)}))){i._dumped=this;var s=h.length;i.filter(n,e).forEach(function(e,n){A=!1,D?(T("\n"),B(),D=!1):e.nlb&&(n>0||!L())?(T("\n"),B()):(n>0||!t)&&N(),/comment[134]/.test(e.type)?(T("//"+e.value.replace(/[@#]__PURE__/g," ")),D=!0):"comment2"==e.type&&(T("/*"+e.value.replace(/[@#]__PURE__/g," ")+"*/"),A=!0)}),h.length>s&&(x=s)}}},line:function(){return d},col:function(){return l},pos:function(){return p},push_node:function(e){V.push(e)},pop_node:function(){return V.pop()},parent:function(e){return V[V.length-2-(e||0)]}}}function kt(e,t){if(!(this instanceof kt))return new kt(e,t);_t.call(this,this.before,this.after),void 0===e.defaults||e.defaults||(t=!0),this.options=a(e,{arguments:!1,arrows:!t,booleans:!t,booleans_as_integers:!1,collapse_vars:!t,comparisons:!t,computed_props:!t,conditionals:!t,dead_code:!t,defaults:!0,directives:!t,drop_console:!1,drop_debugger:!t,ecma:5,evaluate:!t,expression:!1,global_defs:!1,hoist_funs:!1,hoist_props:!t,hoist_vars:!1,ie8:!1,if_return:!t,inline:!t,join_vars:!t,keep_classnames:!1,keep_fargs:!0,keep_fnames:!1,keep_infinity:!1,loops:!t,module:!1,negate_iife:!t,passes:1,properties:!t,pure_getters:!t&&"strict",pure_funcs:null,reduce_funcs:!t,reduce_vars:!t,sequences:!t,side_effects:!t,switches:!t,top_retain:null,toplevel:!(!e||!e.top_retain),typeofs:!t,unsafe:!1,unsafe_arrows:!1,unsafe_comps:!1,unsafe_Function:!1,unsafe_math:!1,unsafe_methods:!1,unsafe_proto:!1,unsafe_regexp:!1,unsafe_undefined:!1,unused:!t,warnings:!1},!0);var n=this.options.global_defs;if("object"==typeof n)for(var r in n)/^@/.test(r)&&b(n,r)&&(n[r.slice(1)]=gt(n[r],{expression:!0}));!0===this.options.inline&&(this.options.inline=3);var i=this.options.pure_funcs;this.pure_funcs="function"==typeof i?i:i?function(e){return i.indexOf(e.expression.print_to_string())<0}:f;var s=this.options.top_retain;s instanceof RegExp?this.top_retain=function(e){return s.test(e.name)}:"function"==typeof s?this.top_retain=s:s&&("string"==typeof s&&(s=s.split(/,/)),this.top_retain=function(e){return s.indexOf(e.name)>=0}),this.options.module&&(this.directives["use strict"]=!0,this.options.toplevel=!0);var o=this.options.toplevel;this.toplevel="string"==typeof o?{funcs:/funcs/.test(o),vars:/vars/.test(o)}:{funcs:o,vars:o};var u=this.options.sequences;this.sequences_limit=1==u?800:0|u,this.warnings_produced={}}!function(){function n(e,t){e.DEFMETHOD("_codegen",t)}var e=!1,i=null,g=null;function r(e,t){Array.isArray(e)?e.forEach(function(e){r(e,t)}):e.DEFMETHOD("needs_parens",t)}function o(t,n,r,i){var s=t.length-1;e=i,t.forEach(function(t,i){!0!==e||t instanceof X||t instanceof re||t instanceof J&&t.body instanceof Jn||(e=!1),t instanceof re||(r.indent(),t.print(r),i==s&&n||(r.newline(),n&&r.newline())),!0===e&&t instanceof J&&t.body instanceof Jn&&(e=!1)}),e=!1}function a(e,t){t.print("{"),t.with_indent(t.next_indent(),function(){t.append_comments(e,!0)}),t.print("}")}function u(e,t,n){e.body.length>0?t.with_block(function(){o(e.body,!1,t,n)}):a(e,t)}function f(e,t,n){var r=!1;n&&e.walk(new Te(function(e){return!!(r||e instanceof me)||(e instanceof Jt&&"in"==e.operator?(r=!0,!0):void 0)})),e.print(t,r)}function l(e,t,n){n.option("quote_keys")?n.print_string(e):""+ +e==e&&e>=0?n.print(d(e)):(pr(e)?!n.option("ie8"):ut(e))?t&&n.option("keep_quoted_props")?n.print_string(e,t):n.print_name(e):n.print_string(e,t)}function p(e,t){t.option("braces")?m(e,t):!e||e instanceof re?t.force_semicolon():e.print(t)}function h(e,t){return e.args.length>0||t.option("beautify")}function d(e){var t,n=e.toString(10),r=[n.replace(/^0\./,".").replace("e+","e")];return Math.floor(e)===e?(e>=0?r.push("0x"+e.toString(16).toLowerCase(),"0"+e.toString(8)):r.push("-0x"+(-e).toString(16).toLowerCase(),"-0"+(-e).toString(8)),(t=/^(.*?)(0+)$/.exec(e))&&r.push(t[1]+"e"+t[2].length)):(t=/^0?\.(0+)(.*)$/.exec(e))&&r.push(t[2]+"e-"+(t[1].length+t[2].length),n.substr(n.indexOf("."))),function(e){for(var t=e[0],n=t.length,r=1;rs||r==s&&(this===t.right||"**"==n))return!0}}),r(lr,function(e){var t=e.parent();return t instanceof Jt&&"="!==t.operator||(t instanceof Ut&&t.expression===this||(t instanceof Yt&&t.condition===this||(t instanceof Vt||(t instanceof Ht&&t.expression===this||void 0))))}),r(Ht,function(e){var t=e.parent();if(t instanceof Gt&&t.expression===this){var n=!1;return this.walk(new Te(function(e){return!!(n||e instanceof me)||(e instanceof Ut?(n=!0,!0):void 0)})),n}}),r(Ut,function(e){var t,n=e.parent();return!!(n instanceof Gt&&n.expression===this||n instanceof jt&&n.is_default&&this.expression instanceof Ee)||this.expression instanceof Ee&&n instanceof Ht&&n.expression===this&&(t=e.parent(1))instanceof Qt&&t.left===n}),r(Gt,function(e){var t=e.parent();if(!h(this,e)&&(t instanceof Ht||t instanceof Ut&&t.expression===this))return!0}),r(Zn,function(e){var t=e.parent();if(t instanceof Ht&&t.expression===this){var n=this.getValue();if(n<0||/^0/.test(d(n)))return!0}}),r([Qt,Yt],function(e){var t=e.parent();return t instanceof Vt||(t instanceof Jt&&!(t instanceof Qt)||(t instanceof Ut&&t.expression===this||(t instanceof Yt&&t.condition===this||(t instanceof Ht&&t.expression===this||(this instanceof Qt&&this.left instanceof xe&&!1===this.left.is_array||void 0)))))}),n(X,function(e,t){t.print_string(e.value,e.quote),t.semicolon()}),n(ye,function(e,t){t.print("..."),e.expression.print(t)}),n(xe,function(e,t){t.print(e.is_array?"[":"{");var n=e.names.length;e.names.forEach(function(e,r){r>0&&t.comma(),e.print(t),r==n-1&&e instanceof ir&&t.comma()}),t.print(e.is_array?"]":"}")}),n(K,function(e,t){t.print("debugger"),t.semicolon()}),se.DEFMETHOD("_do_print_body",function(e){p(this.body,e)}),n(W,function(e,t){e.body.print(t),t.semicolon()}),n(ge,function(e,t){o(e.body,!0,t,!0),t.print("")}),n(oe,function(e,t){e.label.print(t),t.colon(),e.body.print(t)}),n(J,function(e,t){e.body.print(t),t.semicolon()}),n(ne,function(e,t){u(e,t)}),n(re,function(e,t){t.semicolon()}),n(ce,function(e,t){t.print("do"),t.space(),m(e.body,t),t.space(),t.print("while"),t.space(),t.with_parens(function(){e.condition.print(t)}),t.semicolon()}),n(le,function(e,t){t.print("while"),t.space(),t.with_parens(function(){e.condition.print(t)}),t.space(),e._do_print_body(t)}),n(fe,function(e,t){t.print("for"),t.space(),t.with_parens(function(){e.init?(e.init instanceof Dt?e.init.print(t):f(e.init,t,!0),t.print(";"),t.space()):t.print(";"),e.condition?(e.condition.print(t),t.print(";"),t.space()):t.print(";"),e.step&&e.step.print(t)}),t.space(),e._do_print_body(t)}),n(de,function(e,t){t.print("for"),e.await&&(t.space(),t.print("await")),t.space(),t.with_parens(function(){e.init.print(t),t.space(),t.print(e instanceof pe?"of":"in"),t.space(),e.object.print(t)}),t.space(),e._do_print_body(t)}),n(he,function(e,t){t.print("with"),t.space(),t.with_parens(function(){e.expression.print(t)}),t.space(),e._do_print_body(t)}),be.DEFMETHOD("_do_print",function(e,t){var n=this;t||(n.async&&(e.print("async"),e.space()),e.print("function"),n.is_generator&&e.star(),n.name&&e.space()),n.name instanceof Sn?n.name.print(e):t&&n.name instanceof q&&e.with_square(function(){n.name.print(e)}),e.with_parens(function(){n.argnames.forEach(function(t,n){n&&e.comma(),t.print(e)})}),e.space(),u(n,e,!0)}),n(be,function(e,t){e._do_print(t)}),n(Me,function(e,t){var n=e.prefix,r=n instanceof ke||n instanceof Jt||n instanceof Yt||n instanceof zt||n instanceof Vt;r&&t.print("("),e.prefix.print(t),r&&t.print(")"),e.template_string.print(t)}),n(Oe,function(e,t){var n=t.parent()instanceof Me;t.print("`");for(var r=0;r"),e.space(),t.body instanceof q?t.body.print(e):u(t,e),r&&e.print(")")}),ze.DEFMETHOD("_do_print",function(e,t){e.print(t),this.value&&(e.space(),this.value.print(e)),e.semicolon()}),n(qe,function(e,t){e._do_print(t,"return")}),n(Ve,function(e,t){e._do_print(t,"throw")}),n(lr,function(e,t){var n=e.is_star?"*":"";t.print("yield"+n),e.expression&&(t.space(),e.expression.print(t))}),n(cr,function(e,t){t.print("await"),t.space();var n=e.expression,r=!(n instanceof Ut||n instanceof Gn||n instanceof Ht||n instanceof Vt||n instanceof Xn);r&&t.print("("),e.expression.print(t),r&&t.print(")")}),Ke.DEFMETHOD("_do_print",function(e,t){e.print(t),this.label&&(e.space(),this.label.print(e)),e.semicolon()}),n(Xe,function(e,t){e._do_print(t,"break")}),n($e,function(e,t){e._do_print(t,"continue")}),n(lt,function(e,t){t.print("if"),t.space(),t.with_parens(function(){e.condition.print(t)}),t.space(),e.alternative?(!function(e,t){var n=e.body;if(""===n.print_to_string()){t.newline();var r=new Array(t.next_indent()).join(" ");return t.print(r+";"),void t.newline()}if(t.option("braces")||t.option("ie8")&&n instanceof ce)return m(n,t);if(!n)return t.force_semicolon();for(;;)if(n instanceof lt){if(!n.alternative)return void m(e.body,t);n=n.alternative}else{if(!(n instanceof se))break;n=n.body}p(e.body,t)}(e,t),""!==e.body.print_to_string()&&t.space(),t.print("else"),t.space(),e.alternative instanceof lt?e.alternative.print(t):p(e.alternative,t)):e._do_print_body(t)}),n(dt,function(e,t){t.print("switch"),t.space(),t.with_parens(function(){e.expression.print(t)}),t.space();var n=e.body.length-1;n<0?a(e,t):t.with_block(function(){e.body.forEach(function(e,r){t.indent(!0),e.print(t),r0&&t.newline()})})}),ht.DEFMETHOD("_do_print_body",function(e){e.newline(),this.body.forEach(function(t){e.indent(),t.print(e),e.newline()})}),n(mt,function(e,t){t.print("default:"),e._do_print_body(t)}),n(vt,function(e,t){t.print("case"),t.space(),e.expression.print(t),t.print(":"),e._do_print_body(t)}),n(bt,function(e,t){t.print("try"),t.space(),u(e,t),e.bcatch&&(t.space(),e.bcatch.print(t)),e.bfinally&&(t.space(),e.bfinally.print(t))}),n(Et,function(e,t){t.print("catch"),e.argname&&(t.space(),t.with_parens(function(){e.argname.print(t)})),t.space(),u(e,t)}),n(Ct,function(e,t){t.print("finally"),t.space(),u(e,t)}),Dt.DEFMETHOD("_do_print",function(e,t){e.print(t),e.space(),this.definitions.forEach(function(t,n){n&&e.comma(),t.print(e)});var n=e.parent();(!(n instanceof fe||n instanceof de)||n&&n.init!==this)&&e.semicolon()}),n(Rt,function(e,t){e._do_print(t,"let")}),n(Ft,function(e,t){e._do_print(t,"var")}),n(Pt,function(e,t){e._do_print(t,"const")}),n(Lt,function(e,t){t.print("import"),t.space(),e.imported_name&&e.imported_name.print(t),e.imported_name&&e.imported_names&&(t.print(","),t.space()),e.imported_names&&(1===e.imported_names.length&&"*"===e.imported_names[0].foreign_name.name?e.imported_names[0].print(t):(t.print("{"),e.imported_names.forEach(function(n,r){t.space(),n.print(t),r0&&(e.comma(),e.should_break()&&(e.newline(),e.indent())),t.print(e)})}),n(zt,function(e,t){e._do_print(t)}),n(qt,function(e,t){var n=e.expression;n.print(t);var r=e.property;t.option("ie8")&&pr(r)?(t.print("["),t.add_mapping(e.end),t.print_string(r),t.print("]")):(n instanceof Zn&&n.getValue()>=0&&(/[xa-f.)]/i.test(t.last())||t.print(".")),t.print("."),t.add_mapping(e.end),t.print_name(r))}),n(Wt,function(e,t){e.expression.print(t),t.print("["),e.property.print(t),t.print("]")}),n(Kt,function(e,t){var n=e.operator;t.print(n),(/^[a-z]/i.test(n)||/[+-]$/.test(n)&&e.expression instanceof Kt&&/^[+-]/.test(e.expression.operator))&&t.space(),e.expression.print(t)}),n(Xt,function(e,t){e.expression.print(t),t.print(e.operator)}),n(Jt,function(e,t){var n=e.operator;e.left.print(t),">"==n[0]&&e.left instanceof Xt&&"--"==e.left.operator?t.print(" "):t.space(),t.print(n),("<"==n||"<<"==n)&&e.right instanceof Kt&&"!"==e.right.operator&&e.right.expression instanceof Kt&&"--"==e.right.expression.operator?t.print(" "):t.space(),e.right.print(t)}),n(Yt,function(e,t){e.condition.print(t),t.space(),t.print("?"),t.space(),e.consequent.print(t),t.space(),t.colon(),e.alternative.print(t)}),n(nn,function(e,t){t.with_square(function(){var n=e.elements,r=n.length;r>0&&t.space(),n.forEach(function(e,n){n&&t.comma(),e.print(t),n===r-1&&e instanceof ir&&t.comma()}),r>0&&t.space()})}),n(pn,function(e,t){e.properties.length>0?t.with_block(function(){e.properties.forEach(function(e,n){n&&(t.print(","),t.newline()),t.indent(),e.print(t)}),t.newline()}):a(e,t)}),n(wn,function(e,t){if(t.print("class"),t.space(),e.name&&(e.name.print(t),t.space()),e.extends){var n=!(e.extends instanceof Gn||e.extends instanceof Ht||e.extends instanceof _n||e.extends instanceof Ee);t.print("extends"),n?t.print("("):t.space(),e.extends.print(t),n?t.print(")"):t.space()}e.properties.length>0?t.with_block(function(){e.properties.forEach(function(e,n){n&&t.newline(),t.indent(),e.print(t)}),t.newline()}):t.print("{}")}),n(kn,function(e,t){t.print("new.target")}),n(mn,function(e,n){function t(e){var t=e.definition();return t?t.mangled_name||t.name:e.name}var r=n.option("shorthand");r&&e.value instanceof Sn&&ut(e.key)&&t(e.value)===e.key&&rt(e.key)?l(e.key,e.quote,n):r&&e.value instanceof Zt&&e.value.left instanceof Sn&&ut(e.key)&&t(e.value.left)===e.key?(l(e.key,e.quote,n),n.space(),n.print("="),n.space(),e.value.right.print(n)):(e.key instanceof q?n.with_square(function(){e.key.print(n)}):l(e.key,e.quote,n),n.colon(),e.value.print(n))}),hn.DEFMETHOD("_print_getter_setter",function(e,t){var n=this;n.static&&(t.print("static"),t.space()),e&&(t.print(e),t.space()),n.key instanceof In?l(n.key.name,n.quote,t):t.with_square(function(){n.key.print(t)}),n.value._do_print(t,!0)}),n(yn,function(e,t){e._print_getter_setter("set",t)}),n(vn,function(e,t){e._print_getter_setter("get",t)}),n(bn,function(e,t){var n;e.is_generator&&e.async?n="async*":e.is_generator?n="*":e.async&&(n="async"),e._print_getter_setter(n,t)}),Sn.DEFMETHOD("_do_print",function(e){var t=this.definition();e.print_name(t?t.mangled_name||t.name:this.name)}),n(Sn,function(e,t){e._do_print(t)}),n(ir,s),n(Wn,function(e,t){t.print("this")}),n(Vn,function(e,t){t.print("super")}),n(Xn,function(e,t){t.print(e.getValue())}),n(Jn,function(t,n){n.print_string(t.getValue(),t.quote,e)}),n(Zn,function(e,t){g&&e.start&&null!=e.start.raw?t.print(e.start.raw):t.print(d(e.getValue()))}),n($n,function(e,t){var n=e.getValue().toString();n=t.to_utf8(n),t.print(n);var r=t.parent();r instanceof Jt&&/^in/.test(r.operator)&&r.left===e&&t.print(" ")}),v([q,oe,ge],s),v([nn,ne,Et,wn,Xn,K,Dt,X,Ct,Be,be,Gt,pn,se,Sn,dt,ht,bt],function(e){e.add_mapping(this.start)}),v([vn,yn],function(e){e.add_mapping(this.start,this.key.name)}),v([hn],function(e){e.add_mapping(this.start,this.key)})}(),kt.prototype=new _t,u(kt.prototype,{option:function(e){return this.options[e]},exposed:function(e){if(e.export)return!0;if(e.global)for(var t=0,n=e.orig.length;t0||this.option("reduce_vars"))&&e.reset_opt_flags(this),e=e.transform(this),t>1){var o=0;if(e.walk(new Te(function(){o++})),this.info("pass "+s+": last_count: "+n+", count: "+o),o=0;){if(!(i[s]instanceof mn))return;n||i[s].key!==t||(n=i[s].value)}}return n instanceof Gn&&n.fixed_value()||n}}function r(t,n,i,s,o,a){var u=n.parent(o),c=He(i,u);if(c)return c;if(!a&&u instanceof Ut&&u.expression===i&&!(s instanceof ke)&&!(s instanceof wn)&&!u.is_expr_pure(t)&&(!(s instanceof Ee)||!(u instanceof Gt)&&s.contains_this()))return!0;if(u instanceof nn)return r(t,n,u,u,o+1);if(u instanceof mn&&i===u.value){var l=n.parent(o+1);return r(t,n,l,l,o+2)}if(u instanceof Ht&&u.expression===i){var f=e(s,u.property);return!a&&r(t,n,u,f,o+1)}}function o(e){return e instanceof ke||e instanceof Ee}function a(e){if(e instanceof Wn)return!0;if(e instanceof Gn)return e.definition().orig[0]instanceof Rn;if(e instanceof Ht){if((e=e.expression)instanceof Gn){if(e.is_immutable())return!1;e=e.fixed_value()}return!e||!(e instanceof $n)&&(e instanceof Xn||a(e))}return!1}function u(e,t){if(!(e instanceof Gn))return!1;for(var n=e.definition().orig,r=n.length;--r>=0;)if(n[r]instanceof t)return!0}function d(e,t){for(var n,r=0;(n=e.parent(r++))&&!(n instanceof me);)if(n instanceof Et&&n.argname){n=n.argname.definition().scope;break}return n.find_variable(t)}function D(e,t,n){return n||(n={}),t&&(n.start||(n.start=t.start),n.end||(n.end=t.end)),new e(n)}function F(e,t){return 1==t.length?t[0]:D(zt,e,{expressions:t.reduce(S,[])})}function C(e,t){switch(typeof e){case"string":return D(Jn,t,{value:e});case"number":return isNaN(e)?D(nr,t):isFinite(e)?1/e<0?D(Kt,t,{operator:"-",expression:D(Zn,t,{value:-e})}):D(Zn,t,{value:e}):e<0?D(Kt,t,{operator:"-",expression:D(sr,t)}):D(sr,t);case"boolean":return D(e?ur:ar,t);case"undefined":return D(rr,t);default:if(null===e)return D(tr,t,{value:null});if(e instanceof RegExp)return D($n,t,{value:e});throw new Error(m("Can't handle constant of type: {type}",{type:typeof e}))}}function M(e,t,n){return e instanceof Kt&&"delete"==e.operator||e instanceof Ut&&e.expression===t&&(n instanceof Ht||n instanceof Gn&&"eval"==n.name)?F(t,[D(Zn,t,{value:0}),n]):n}function S(e,t){return t instanceof zt?e.push.apply(e,t.expressions):e.push(t),e}function L(e){if(null===e)return[];if(e instanceof ne)return e.body;if(e instanceof re)return[];if(e instanceof W)return[e];throw new Error("Can't convert thing to statement array")}function sn(e){return null===e||(e instanceof re||e instanceof ne&&0==e.body.length)}function Fn(e){return!(e instanceof En||e instanceof Ce||e instanceof Rt||e instanceof Pt||e instanceof jt||e instanceof Lt)}function Yn(e){return e instanceof ae&&e.body instanceof ne?e.body:e}function Kn(e){return"Call"==e.TYPE&&(e.expression instanceof Ee||Kn(e.expression))}function ie(e){return e instanceof Gn&&e.definition().undeclared}n(q,function(e,t){return e}),ge.DEFMETHOD("drop_console",function(){return this.transform(new _t(function(e){if("Call"==e.TYPE){var t=e.expression;if(t instanceof Ht){for(var n=t.expression;n.expression;)n=n.expression;if(ie(n)&&"console"==n.name)return D(rr,e)}}}))}),q.DEFMETHOD("equivalent_to",function(e){return this.TYPE==e.TYPE&&this.print_to_string()==e.print_to_string()}),me.DEFMETHOD("process_expression",function(e,t){var n=this,r=new _t(function(i){if(e&&i instanceof J)return D(qe,i,{value:i.body});if(!e&&i instanceof qe){if(t){var s=i.value&&i.value.drop_side_effect_free(t,!0);return s?D(J,i,{body:s}):D(re,i)}return D(J,i,{body:i.value||D(Kt,i,{operator:"void",expression:D(Zn,i,{value:0})})})}if(i instanceof wn||i instanceof be&&i!==n)return i;if(i instanceof te){var o=i.body.length-1;o>=0&&(i.body[o]=i.body[o].transform(r))}else i instanceof lt?(i.body=i.body.transform(r),i.alternative&&(i.alternative=i.alternative.transform(r))):i instanceof he&&(i.body=i.body.transform(r));return i});n.transform(r)}),function(n){function t(e,t){t.assignments=0,t.chained=!1,t.direct_access=!1,t.escaped=!1,t.scope.pinned()?t.fixed=!1:t.orig[0]instanceof xn||!e.exposed(t)?t.fixed=t.init:t.fixed=!1,t.recursive_refs=0,t.references=[],t.should_replace=void 0,t.single_use=void 0}function i(e,n,r){r.variables.each(function(r){t(n,r),null===r.fixed?(r.safe_ids=e.safe_ids,c(e,r,!0)):r.fixed&&(e.loop_ids[r.id]=e.in_loop,c(e,r,!0))})}function o(e,n){n.block_scope&&n.block_scope.variables.each(function(n){t(e,n)})}function a(e){e.safe_ids=Object.create(e.safe_ids)}function u(e){e.safe_ids=Object.getPrototypeOf(e.safe_ids)}function c(e,t,n){e.safe_ids[t.id]=n}function f(e,t){if("m"==t.single_use)return!1;if(e.safe_ids[t.id]){if(null==t.fixed){var n=t.orig[0];if(n instanceof Tn||"arguments"==n.name)return!1;t.fixed=D(rr,n)}return!0}return t.fixed instanceof Ce}function l(e,t,n){return void 0===t.fixed||(null===t.fixed&&t.safe_ids?(t.safe_ids[t.id]=!1,delete t.safe_ids,!0):!!b(e.safe_ids,t.id)&&(!!f(e,t)&&(!1!==t.fixed&&(!(null!=t.fixed&&(!n||t.references.length>t.assignments))&&_(t.orig,function(e){return!(e instanceof xn||e instanceof On||e instanceof Rn)})))))}function p(t,n,r,i,s,o,a){var u=t.parent(o);if(s){if(s.is_constant())return;if(s instanceof _n)return}if(u instanceof Qt&&"="==u.operator&&i===u.right||u instanceof Ut&&(i!==u.expression||u instanceof Gt)||u instanceof ze&&i===u.value&&i.scope!==n.scope||u instanceof Bt&&i===u.value||u instanceof lr&&i===u.value&&i.scope!==n.scope)return!(a>1)||s&&s.is_constant_expression(r)||(a=1),void((!n.escaped||n.escaped>a)&&(n.escaped=a));if(u instanceof nn||u instanceof cr||u instanceof Jt&&P(u.operator)||u instanceof Yt&&i!==u.condition||u instanceof ye||u instanceof zt&&i===u.tail_node())p(t,n,r,u,u,o+1,a);else if(u instanceof mn&&i===u.value){var c=t.parent(o+1);p(t,n,r,c,c,o+2,a)}else if(u instanceof Ht&&i===u.expression&&(p(t,n,r,u,s=e(s,u.property),o+1,a+1),s))return;o>0||u instanceof zt&&i!==u.tail_node()||u instanceof J||(n.direct_access=!0)}n(q,s);var h=new Te(function(e){if(e instanceof Sn){var t=e.definition();t&&(e instanceof Gn&&t.references.push(e),t.fixed=!1)}});function d(e,t,n){this.inlined=!1;var r=e.safe_ids;return e.safe_ids=Object.create(null),i(e,n,this),t(),e.safe_ids=r,!0}function m(e,t,n){var r,s=this;return s.inlined=!1,a(e),i(e,n,s),!s.name&&(r=e.parent())instanceof Ut&&r.expression===s&&s.argnames.forEach(function(t,n){if(t.definition){var i=t.definition();void 0!==i.fixed||s.uses_arguments&&!e.has_directive("use strict")?i.fixed=!1:(i.fixed=function(){return r.args[n]||D(rr,r)},e.loop_ids[i.id]=e.in_loop,c(e,i,!0))}}),t(),u(e),!0}n(we,function(e,t,n){return a(e),i(e,n,this),t(),u(e),!0}),n(ke,m),n(Qt,function(e,t,n){var i=this;if(i.left instanceof xe)i.left.walk(h);else{var s=i.left;if(s instanceof Gn){var o=s.definition(),a=l(e,o,s.scope,i.right);if(o.assignments++,a){var u=o.fixed;if(u||"="==i.operator){var f="="==i.operator,d=f?i.right:i;if(!r(n,e,i,d,0))return o.references.push(s),f||(o.chained=!0),o.fixed=f?function(){return i.right}:function(){return D(Jt,i,{operator:i.operator.slice(0,-1),left:u instanceof q?u:u(),right:i.right})},c(e,o,!1),i.right.walk(e),c(e,o,!0),p(e,o,s.scope,i,d,0,1),!0}}}}}),n(Jt,function(e){if(P(this.operator))return this.left.walk(e),a(e),this.right.walk(e),u(e),!0}),n(te,function(e,t,n){o(n,this)}),n(vt,function(e){return a(e),this.expression.walk(e),u(e),a(e),$(this,e),u(e),!0}),n(_n,function(e,t){return this.inlined=!1,a(e),t(),u(e),!0}),n(Yt,function(e){return this.condition.walk(e),a(e),this.consequent.walk(e),u(e),a(e),this.alternative.walk(e),u(e),!0}),n(mt,function(e,t){return a(e),t(),u(e),!0}),n(En,d),n(Ce,d),n(ce,function(e,t,n){o(n,this);var r=e.in_loop;return e.in_loop=this,a(e),this.body.walk(e),Ze(this)&&(u(e),a(e)),this.condition.walk(e),u(e),e.in_loop=r,!0}),n(fe,function(e,t,n){o(n,this),this.init&&this.init.walk(e);var r=e.in_loop;return e.in_loop=this,a(e),this.condition&&this.condition.walk(e),this.body.walk(e),this.step&&(Ze(this)&&(u(e),a(e)),this.step.walk(e)),u(e),e.in_loop=r,!0}),n(de,function(e,t,n){o(n,this),this.init.walk(h),this.object.walk(e);var r=e.in_loop;return e.in_loop=this,a(e),this.body.walk(e),u(e),e.in_loop=r,!0}),n(Ee,m),n(lt,function(e){return this.condition.walk(e),a(e),this.body.walk(e),u(e),this.alternative&&(a(e),this.alternative.walk(e),u(e)),!0}),n(oe,function(e){return a(e),this.body.walk(e),u(e),!0}),n(Ln,function(){this.definition().fixed=!1}),n(Gn,function(e,t,n){var i,s=this.definition();s.references.push(this),1==s.references.length&&!s.fixed&&s.orig[0]instanceof On&&(e.loop_ids[s.id]=e.in_loop),void 0!==s.fixed&&f(e,s)?s.fixed&&((i=this.fixed_value())instanceof be&&Ge(e,s)?s.recursive_refs++:i&&!n.exposed(s)&&function(e,t,n){return t.option("unused")&&!n.scope.pinned()&&n.references.length-n.recursive_refs==1&&e.loop_ids[n.id]===e.in_loop}(e,n,s)?s.single_use=i instanceof be&&!i.pinned()||i instanceof wn||s.scope===this.scope&&i.is_constant_expression():s.single_use=!1,r(n,e,this,i,0,function(e){return!!e&&(e.is_constant()||e instanceof be||e instanceof Wn)}(i))&&(s.single_use?s.single_use="m":s.fixed=!1)):s.fixed=!1,p(e,s,this.scope,this,i,0,1)}),n(ge,function(e,n,r){this.globals.each(function(e){t(r,e)}),i(e,r,this)}),n(bt,function(e,t,n){return o(n,this),a(e),$(this,e),u(e),this.bcatch&&(a(e),this.bcatch.walk(e),u(e)),this.bfinally&&this.bfinally.walk(e),!0}),n(Vt,function(e,t){var n=this;if("++"==n.operator||"--"==n.operator){var r=n.expression;if(r instanceof Gn){var i=r.definition(),s=l(e,i,!0);if(i.assignments++,s){var o=i.fixed;if(o)return i.references.push(r),i.chained=!0,i.fixed=function(){return D(Jt,n,{operator:n.operator.slice(0,-1),left:D(Kt,n,{operator:"+",expression:o instanceof q?o:o()}),right:D(Zn,n,{value:1})})},c(e,i,!0),!0}}}}),n(Bt,function(e,t){var n=this;if(n.name instanceof xe)n.name.walk(h);else{var r=n.name.definition();if(n.value){if(l(e,r,n.value))return r.fixed=function(){return n.value},e.loop_ids[r.id]=e.in_loop,c(e,r,!1),t(),c(e,r,!0),!0;r.fixed=!1}}}),n(le,function(e,t,n){o(n,this);var r=e.in_loop;return e.in_loop=this,a(e),t(),u(e),e.in_loop=r,!0})}(function(e,t){e.DEFMETHOD("reduce_vars",t)}),ge.DEFMETHOD("reset_opt_flags",function(e){var t=this,n=e.option("reduce_vars"),r=new Te(function(i,s){if(i._squeezed=!1,i._optimized=!1,n)return e.top_retain&&(r.parent()===t?i._top=!0:delete i._top),i.reduce_vars(r,s,e)});r.safe_ids=Object.create(null),r.in_loop=null,r.loop_ids=Object.create(null),t.walk(r)}),Sn.DEFMETHOD("fixed_value",function(){var e=this.definition().fixed;return!e||e instanceof q?e:e()}),Gn.DEFMETHOD("is_immutable",function(){var e=this.definition().orig;return 1==e.length&&e[0]instanceof Rn});var k=g("Array Boolean clearInterval clearTimeout console Date decodeURI decodeURIComponent encodeURI encodeURIComponent Error escape eval EvalError Function isFinite isNaN JSON Math Number parseFloat parseInt RangeError ReferenceError RegExp Object setInterval setTimeout String SyntaxError TypeError unescape URIError");Gn.DEFMETHOD("is_declared",function(e){return!this.definition().undeclared||e.option("unsafe")&&k(this.name)});var A,T,O,R=g("Infinity NaN undefined");function ve(e){return e instanceof sr||e instanceof nr||e instanceof rr}function De(e,i){var c,l,f=i.find_parent(me).get_defun_scope();!function(){var e=i.self(),t=0;do{if(e instanceof Et||e instanceof Ct)t++;else if(e instanceof ae)c=!0;else{if(e instanceof me){f=e;break}e instanceof bt&&(l=!0)}}while(e=i.parent(t++))}();var h,k=10;do{h=!1,d(e),i.option("dead_code")&&g(e,i),i.option("if_return")&&m(e,i),i.sequences_limit>0&&(b(e,i),w(e,i)),i.option("join_vars")&&x(e),i.option("collapse_vars")&&p(e,i)}while(h&&k-- >0);function p(e,i){if(f.pinned())return e;for(var s,d=[],p=e.length,m=new _t(function(e,t){if(N)return e;if(!R)return e!==y[v]?e:++v=0;){0==p&&i.option("unused")&&en();var y=[];for(tn(e[p]);d.length>0;){y=d.pop();var v=0,b=y[y.length-1],w=null,E=null,S=null,k=rn(b);if(k&&!a(k)&&!k.has_side_effects(i)){var C=un(b),A=fn(k);k instanceof Gn&&(C[k.name]=!1);var x=ln(b),T=dn(),O=b.may_throw(i),F=b.name instanceof Tn,R=F,N=!1,L=0,j=!s||!R;if(!j){for(var B=i.self().argnames.lastIndexOf(b.name)+1;!N&&BL)L=!1;else{N=!1,v=0,R=F;for(U=p;!N&&U=0;){var l=n.argnames[c],f=e.args[c];if(s.unshift(D(Bt,l,{name:l,value:f})),!(l.name in u))if(u[l.name]=!0,l instanceof ye){var p=e.args.slice(c);_(p,function(e){return!G(n,e,r)})&&d.unshift([D(Bt,l,{name:l.expression,value:D(nn,e,{elements:p})})])}else f?(f instanceof be&&f.pinned()||G(n,f,r))&&(f=null):f=D(rr,l).transform(i),f&&d.unshift([D(Bt,l,{name:l,value:f})])}}}function tn(e){if(y.push(e),e instanceof Qt)e.left.has_side_effects(i)||d.push(y.slice()),tn(e.right);else if(e instanceof Jt)tn(e.left),tn(e.right);else if(e instanceof Ut)tn(e.expression),e.args.forEach(tn);else if(e instanceof vt)tn(e.expression);else if(e instanceof Yt)tn(e.condition),tn(e.consequent),tn(e.alternative);else if(!(e instanceof Dt)||!i.option("unused")&&e instanceof Pt)e instanceof ue?(tn(e.condition),e.body instanceof te||tn(e.body)):e instanceof ze?e.value&&tn(e.value):e instanceof fe?(e.init&&tn(e.init),e.condition&&tn(e.condition),e.step&&tn(e.step),e.body instanceof te||tn(e.body)):e instanceof de?(tn(e.object),e.body instanceof te||tn(e.body)):e instanceof lt?(tn(e.condition),e.body instanceof te||tn(e.body),!e.alternative||e.alternative instanceof te||tn(e.alternative)):e instanceof zt?e.expressions.forEach(tn):e instanceof J?tn(e.body):e instanceof dt?(tn(e.expression),e.body.forEach(tn)):e instanceof Vt?"++"!=e.operator&&"--"!=e.operator||d.push(y.slice()):e instanceof Bt&&e.value&&(d.push(y.slice()),tn(e.value));else{var t=e.definitions.length,n=t-200;for(n<0&&(n=0);n1&&!(e.name instanceof Tn)||(s>1?function(e){var t=e.value;if(t instanceof Gn&&"arguments"!=t.name){var n=t.definition();if(!n.undeclared)return w=n}}(e):!i.exposed(r))?D(Gn,e.name,e.name):void 0}}function on(e){return e[e instanceof Qt?"right":"value"]}function un(e){var t=Object.create(null);if(e instanceof Vt)return t;var n=new Te(function(e,s){for(var o=e;o instanceof Ht;)o=o.expression;(o instanceof Gn||o instanceof Wn)&&(t[o.name]=t[o.name]||r(i,n,e,e,0))});return on(e).walk(n),t}function sn(t){if(t.name instanceof Tn){var n=i.parent(),r=i.self().argnames,s=r.indexOf(t.name);if(s<0)n.args.length=Math.min(n.args.length,r.length-1);else{var o=n.args;o[s]&&(o[s]=D(Zn,o[s],{value:0}))}return!0}var a=!1;return e[p].transform(new _t(function(e,n,r){return a?e:e===t||e.body===t?(a=!0,e instanceof Bt?(e.value=null,e):r?I.skip:null):void 0},function(e){if(e instanceof zt)switch(e.expressions.length){case 0:return null;case 1:return e.expressions[0]}}))}function fn(e){for(;e instanceof Ht;)e=e.expression;return e instanceof Gn&&e.definition().scope===f&&!(c&&(e.name in C||b instanceof Vt||b instanceof Qt&&"="!=b.operator))}function ln(e){return!(e instanceof Vt)&&on(e).has_side_effects(i)}function dn(){if(x)return!1;if(w)return!0;if(k instanceof Gn){var e=k.definition();if(e.references.length-e.replaced==(b instanceof Bt?1:2))return!0}return!1}function gn(e){if(!e.definition)return!0;var t=e.definition();return!(1==t.orig.length&&t.orig[0]instanceof On)&&(t.scope.get_defun_scope()!==f||!_(t.references,function(e){var t=e.scope.get_defun_scope();return"Scope"==t.TYPE&&(t=t.parent_scope),t===f}))}}function d(e){for(var t=[],n=0;n=0;){var r=e[n];if(r instanceof lt&&r.body instanceof qe&&++t>1)return!0}return!1}(e),i=n instanceof be,s=e.length;--s>=0;){var o=e[s],a=_(s),u=e[a];if(i&&!u&&o instanceof qe){if(!o.value){h=!0,e.splice(s,1);continue}if(o.value instanceof Kt&&"void"==o.value.operator){h=!0,e[s]=D(J,o,{body:o.value.expression});continue}}if(o instanceof lt){var c;if(d(c=We(o.body))){c.label&&v(c.label.thedef.references,c),h=!0,(o=o.clone()).condition=o.condition.negate(t);var l=g(o.body,c);o.body=D(ne,o,{body:L(o.alternative).concat(m())}),o.alternative=D(ne,o,{body:l}),e[s]=o.transform(t);continue}if(d(c=We(o.alternative))){c.label&&v(c.label.thedef.references,c),h=!0,(o=o.clone()).body=D(ne,o.body,{body:L(o.body).concat(m())});l=g(o.alternative,c);o.alternative=D(ne,o.alternative,{body:l}),e[s]=o.transform(t);continue}}if(o instanceof lt&&o.body instanceof qe){var f=o.body.value;if(!f&&!o.alternative&&(i&&!u||u instanceof qe&&!u.value)){h=!0,e[s]=D(J,o.condition,{body:o.condition});continue}if(f&&!o.alternative&&u instanceof qe&&u.value){h=!0,(o=o.clone()).alternative=u,e.splice(s,1,o.transform(t)),e.splice(a,1);continue}if(f&&!o.alternative&&(!u&&i&&r||u instanceof qe)){h=!0,(o=o.clone()).alternative=u||D(qe,o,{value:null}),e.splice(s,1,o.transform(t)),u&&e.splice(a,1);continue}var p=e[b(s)];if(t.option("sequences")&&i&&!o.alternative&&p instanceof lt&&p.body instanceof qe&&_(a)==e.length&&u instanceof J){h=!0,(o=o.clone()).alternative=D(ne,u,{body:[u,D(qe,u,{value:null})]}),e.splice(s,1,o.transform(t)),e.splice(a,1);continue}}}function d(r){if(!r)return!1;for(var o=s+1,a=e.length;o=0;){var r=e[n];if(!(r instanceof Ft&&y(r)))break}return n}}function g(e,t){for(var n,r=t.self(),i=0,s=0,o=e.length;i=t.sequences_limit&&s();var u=a.body;n.length>0&&(u=u.drop_side_effect_free(t)),u&&S(n,u)}else a instanceof Dt&&y(a)||a instanceof Ce?e[r++]=a:(s(),e[r++]=a)}s(),e.length=r,r!=o&&(h=!0)}function s(){if(n.length){var t=F(n[0],n);e[r++]=D(J,t,{body:t}),n=[]}}}function E(e,t){if(!(e instanceof ne))return e;for(var n=null,r=0,i=e.body.length;r0){var f=u.length;u.push(D(lt,o,{condition:o.condition,body:c||D(re,o.body),alternative:l})),u.unshift(i,1),[].splice.apply(e,u),s+=f,i+=f+1,r=null,h=!0;continue}}e[i++]=o,r=o instanceof J?o:null}e.length=i}function C(e,t){if(e instanceof Dt){var n,r=e.definitions[e.definitions.length-1];if(r.value instanceof pn)if(t instanceof Qt?n=[t]:t instanceof zt&&(n=t.expressions.slice()),n){var s=!1;do{var o=n[0];if(!(o instanceof Qt))break;if("="!=o.operator)break;if(!(o.left instanceof Ht))break;var a=o.left.expression;if(!(a instanceof Gn))break;if(r.name.name!=a.name)break;if(!o.right.is_constant_expression(f))break;var u=o.left.property;if(u instanceof q&&(u=u.evaluate(i)),u instanceof q)break;u=""+u;var c=i.option("ecma")<6&&i.has_directive("use strict")?function(e){return e.key!=u&&e.key.name!=u}:function(e){return e.key.name!=u};if(!_(r.value.properties,c))break;var l=r.value.properties.filter(function(e){return e.key===u})[0];l?l.value=new zt({start:l.start,expressions:[l.value.clone(),o.right.clone()],end:l.end}):r.value.properties.push(D(mn,o,{key:u,value:o.right})),n.shift(),s=!0}while(n.length);return s&&n}}}function x(e){for(var t,n=0,r=-1,i=e.length;n=0;)if(this.properties[n]._dot_throw(t))return!0;return!1}),t(hn,c),t(vn,f),t(ye,function(e){return this.expression._dot_throw(e)}),t(Ee,c),t(ke,c),t(Xt,c),t(Kt,function(){return"void"==this.operator}),t(Jt,function(e){return("&&"==this.operator||"||"==this.operator)&&(this.left._dot_throw(e)||this.right._dot_throw(e))}),t(Qt,function(e){return"="==this.operator&&this.right._dot_throw(e)}),t(Yt,function(e){return this.consequent._dot_throw(e)||this.alternative._dot_throw(e)}),t(qt,function(t){return!!e(t)&&!(this.expression instanceof Ee&&"prototype"==this.property)}),t(zt,function(e){return this.tail_node()._dot_throw(e)}),t(Gn,function(t){if(this.is_undefined)return!0;if(!e(t))return!1;if(ie(this)&&this.is_declared(t))return!1;if(this.is_immutable())return!1;var n=this.fixed_value();return!n||n._dot_throw(t)})}(function(e,t){e.DEFMETHOD("_dot_throw",t)}),T=["!","delete"],O=["in","instanceof","==","!=","===","!==","<","<=",">=",">"],(A=function(e,t){e.DEFMETHOD("is_boolean",t)})(q,c),A(Kt,function(){return t(this.operator,T)}),A(Jt,function(){return t(this.operator,O)||P(this.operator)&&this.left.is_boolean()&&this.right.is_boolean()}),A(Yt,function(){return this.consequent.is_boolean()&&this.alternative.is_boolean()}),A(Qt,function(){return"="==this.operator&&this.right.is_boolean()}),A(zt,function(){return this.tail_node().is_boolean()}),A(ur,f),A(ar,f),function(e){e(q,c),e(Zn,f);var t=g("+ - ~ ++ --");e(Vt,function(){return t(this.operator)});var n=g("- * / % & | ^ << >> >>>");e(Jt,function(e){return n(this.operator)||"+"==this.operator&&this.left.is_number(e)&&this.right.is_number(e)}),e(Qt,function(e){return n(this.operator.slice(0,-1))||"="==this.operator&&this.right.is_number(e)}),e(zt,function(e){return this.tail_node().is_number(e)}),e(Yt,function(e){return this.consequent.is_number(e)&&this.alternative.is_number(e)})}(function(e,t){e.DEFMETHOD("is_number",t)}),function(e){e(q,c),e(Jn,f),e(Oe,function(){return 1===this.segments.length}),e(Kt,function(){return"typeof"==this.operator}),e(Jt,function(e){return"+"==this.operator&&(this.left.is_string(e)||this.right.is_string(e))}),e(Qt,function(e){return("="==this.operator||"+="==this.operator)&&this.right.is_string(e)}),e(zt,function(e){return this.tail_node().is_string(e)}),e(Yt,function(e){return this.consequent.is_string(e)&&this.alternative.is_string(e)})}(function(e,t){e.DEFMETHOD("is_string",t)});var P=g("&& ||"),j=g("delete ++ --");function He(e,t){return t instanceof Vt&&j(t.operator)?t.expression:t instanceof Qt&&t.left===e?e:void 0}function Pe(e,t){return e.print_to_string().length>t.print_to_string().length?t:e}function Re(e,t,n){return(E(e)?function(e,t){return Pe(D(J,e,{body:e}),D(J,t,{body:t})).body}:Pe)(t,n)}function je(e){for(var t in e)e[t]=g(e[t])}!function(t){function e(e,t){e.warn("global_defs "+t.print_to_string()+" redefined [{file}:{line},{col}]",t.start)}ge.DEFMETHOD("resolve_defines",function(t){return t.option("global_defs")?(this.figure_out_scope({ie8:t.option("ie8")}),this.transform(new _t(function(n){var r=n._find_defs(t,"");if(r){for(var i,s=0,o=n;(i=this.parent(s++))&&i instanceof Ht&&i.expression===o;)o=i;if(!He(o,i))return r;e(t,n)}}))):this}),t(q,s),t(qt,function(e,t){return this.expression._find_defs(e,"."+this.property+t)}),t(Cn,function(t){this.global()&&b(t.option("global_defs"),this.name)&&e(t,this)}),t(Gn,function(e,t){if(this.global()){var n=e.option("global_defs"),r=this.name+t;return b(n,r)?function n(e,t){if(e instanceof q)return D(e.CTOR,t,e);if(Array.isArray(e))return D(nn,t,{elements:e.map(function(e){return n(e,t)})});if(e&&"object"==typeof e){var r=[];for(var i in e)b(e,i)&&r.push(D(mn,t,{key:i,value:n(e[i],t)}));return D(pn,t,{properties:r})}return C(e,t)}(n[r],this):void 0}})}(function(e,t){e.DEFMETHOD("_find_defs",t)});var B=["constructor","toString","valueOf"],U={Array:["indexOf","join","lastIndexOf","slice"].concat(B),Boolean:B,Function:B,Number:["toExponential","toFixed","toPrecision"].concat(B),Object:B,RegExp:["test"].concat(B),String:["charAt","charCodeAt","concat","indexOf","italics","lastIndexOf","match","replace","search","slice","split","substr","substring","toLowerCase","toUpperCase","trim"].concat(B)};je(U);var z={Array:["isArray"],Math:["abs","acos","asin","atan","ceil","cos","exp","floor","log","round","sin","sqrt","tan","atan2","pow","max","min"],Number:["isFinite","isNaN"],Object:["create","getOwnPropertyDescriptor","getOwnPropertyNames","getPrototypeOf","isExtensible","isFrozen","isSealed","keys"],String:["fromCharCode"]};je(z),function(e){q.DEFMETHOD("evaluate",function(e){if(!e.option("evaluate"))return this;var t=this._eval(e,1);return!t||t instanceof RegExp?t:"function"==typeof t||"object"==typeof t?this:t});var t=g("! ~ - + void");q.DEFMETHOD("is_constant",function(){return this instanceof Xn?!(this instanceof $n):this instanceof Kt&&this.expression instanceof Xn&&t(this.operator)}),e(W,function(){throw new Error(m("Cannot evaluate a statement [{file}:{line},{col}]",this.start))}),e(be,l),e(wn,l),e(q,l),e(Xn,function(){return this.getValue()}),e(Oe,function(){return 1!==this.segments.length?this:this.segments[0].value}),e(Ee,function(e){if(e.option("unsafe")){var t=function(){};return t.node=this,t.toString=function(){return this.node.print_to_string()},t}return this}),e(nn,function(e,t){if(e.option("unsafe")){for(var n=[],r=0,i=this.elements.length;r>":i=n>>s;break;case">>>":i=n>>>s;break;case"==":i=n==s;break;case"===":i=n===s;break;case"!=":i=n!=s;break;case"!==":i=n!==s;break;case"<":i=n":i=n>s;break;case">=":i=n>=s;break;default:return this}return isNaN(i)&&e.find_parent(he)?this:i}),e(Yt,function(e,t){var n=this.condition._eval(e,t);if(n===this.condition)return this;var r=n?this.consequent:this.alternative,i=r._eval(e,t);return i===r?this:i}),e(Gn,function(e,t){var n,r=this.fixed_value();if(!r)return this;if(b(r,"_eval"))n=r._eval();else{if(this._eval=l,n=r._eval(e,t),delete this._eval,n===r)return this;r._eval=function(){return n}}if(n&&"object"==typeof n){var i=this.definition().escaped;if(i&&t>i)return this}return n});var i={Array:Array,Math:Math,Number:Number,Object:Object,String:String},s={Math:["E","LN10","LN2","LOG2E","LOG10E","PI","SQRT1_2","SQRT2"],Number:["MAX_VALUE","MIN_VALUE","NaN","NEGATIVE_INFINITY","POSITIVE_INFINITY"]};je(s),e(Ht,function(e,t){if(e.option("unsafe")){var n=this.property;if(n instanceof q&&(n=n._eval(e,t))===this.property)return this;var r,o=this.expression;if(ie(o)){if(!(s[o.name]||c)(n))return this;r=i[o.name]}else{if(!(r=o._eval(e,t+1))||r===o||!b(r,n))return this;if("function"==typeof r)switch(n){case"name":return r.node.name?r.node.name.name:"";case"length":return r.node.argnames.length;default:return this}}return r[n]}return this}),e(Ut,function(e,t){var n=this.expression;if(e.option("unsafe")&&n instanceof Ht){var r,s=n.property;if(s instanceof q&&(s=s._eval(e,t))===n.property)return this;var o=n.expression;if(ie(o)){if(!(z[o.name]||c)(s))return this;r=i[o.name]}else if((r=o._eval(e,t+1))===o||!(r&&U[r.constructor.name]||c)(s))return this;for(var a=[],u=0,l=this.args.length;u=":return i.operator="<",i;case">":return i.operator="<=",i}switch(s){case"==":return i.operator="!=",i;case"!=":return i.operator="==",i;case"===":return i.operator="!==",i;case"!==":return i.operator="===",i;case"&&":return i.operator="||",i.left=i.left.negate(n,r),i.right=i.right.negate(n),t(this,i,r);case"||":return i.operator="&&",i.left=i.left.negate(n,r),i.right=i.right.negate(n),t(this,i,r)}return e(this)})}(function(e,t){e.DEFMETHOD("negate",function(e,n){return t.call(this,e,n)})});var H=g("Boolean decodeURI decodeURIComponent Date encodeURI encodeURIComponent Error escape EvalError isFinite isNaN Number Object parseFloat parseInt RangeError ReferenceError String SyntaxError TypeError unescape URIError");function We(e){return e&&e.aborts()}Ut.DEFMETHOD("is_expr_pure",function(e){if(e.option("unsafe")){var t=this.expression;if(ie(t)&&H(t.name))return!0;if(t instanceof qt&&ie(t.expression)&&(z[t.expression.name]||c)(t.property))return!0}return this.pure||!e.pure_funcs(this)}),q.DEFMETHOD("is_call_pure",c),qt.DEFMETHOD("is_call_pure",function(e){if(e.option("unsafe")){var t=this.expression,n=c;return t instanceof nn?n=U.Array:t.is_boolean()?n=U.Boolean:t.is_number(e)?n=U.Number:t instanceof $n?n=U.RegExp:t.is_string(e)?n=U.String:this.may_throw_on_access(e)||(n=U.Object),n(this.property)}}),function(t){function e(e,t){for(var n=e.length;--n>=0;)if(e[n].has_side_effects(t))return!0;return!1}t(q,f),t(re,c),t(Xn,c),t(Wn,c),t(te,function(t){return e(this.body,t)}),t(Ut,function(t){return!(this.is_expr_pure(t)||this.expression.is_call_pure(t)&&!this.expression.has_side_effects(t))||e(this.args,t)}),t(dt,function(t){return this.expression.has_side_effects(t)||e(this.body,t)}),t(vt,function(t){return this.expression.has_side_effects(t)||e(this.body,t)}),t(bt,function(t){return e(this.body,t)||this.bcatch&&this.bcatch.has_side_effects(t)||this.bfinally&&this.bfinally.has_side_effects(t)}),t(lt,function(e){return this.condition.has_side_effects(e)||this.body&&this.body.has_side_effects(e)||this.alternative&&this.alternative.has_side_effects(e)}),t(oe,function(e){return this.body.has_side_effects(e)}),t(J,function(e){return this.body.has_side_effects(e)}),t(be,c),t(wn,c),t(En,f),t(Jt,function(e){return this.left.has_side_effects(e)||this.right.has_side_effects(e)}),t(Qt,f),t(Yt,function(e){return this.condition.has_side_effects(e)||this.consequent.has_side_effects(e)||this.alternative.has_side_effects(e)}),t(Vt,function(e){return j(this.operator)||this.expression.has_side_effects(e)}),t(Gn,function(e){return!this.is_declared(e)}),t(Cn,c),t(pn,function(t){return e(this.properties,t)}),t(hn,function(e){return!!(this.key instanceof mn&&this.key.has_side_effects(e))||this.value.has_side_effects(e)}),t(nn,function(t){return e(this.elements,t)}),t(qt,function(e){return this.expression.may_throw_on_access(e)||this.expression.has_side_effects(e)}),t(Wt,function(e){return this.expression.may_throw_on_access(e)||this.expression.has_side_effects(e)||this.property.has_side_effects(e)}),t(zt,function(t){return e(this.expressions,t)}),t(Dt,function(t){return e(this.definitions,t)}),t(Bt,function(e){return this.value}),t(Ne,c),t(Oe,function(t){return e(this.segments,t)})}(function(e,t){e.DEFMETHOD("has_side_effects",t)}),function(t){function e(e,t){for(var n=e.length;--n>=0;)if(e[n].may_throw(t))return!0;return!1}t(q,f),t(wn,c),t(Xn,c),t(re,c),t(be,c),t(Cn,c),t(Wn,c),t(nn,function(t){return e(this.elements,t)}),t(Qt,function(e){return!!this.right.may_throw(e)||!(!e.has_directive("use strict")&&"="==this.operator&&this.left instanceof Gn)&&this.left.may_throw(e)}),t(Jt,function(e){return this.left.may_throw(e)||this.right.may_throw(e)}),t(te,function(t){return e(this.body,t)}),t(Ut,function(t){return!!e(this.args,t)||!this.is_expr_pure(t)&&(!!this.expression.may_throw(t)||(!(this.expression instanceof be)||e(this.expression.body,t)))}),t(vt,function(t){return this.expression.may_throw(t)||e(this.body,t)}),t(Yt,function(e){return this.condition.may_throw(e)||this.consequent.may_throw(e)||this.alternative.may_throw(e)}),t(Dt,function(t){return e(this.definitions,t)}),t(qt,function(e){return this.expression.may_throw_on_access(e)||this.expression.may_throw(e)}),t(lt,function(e){return this.condition.may_throw(e)||this.body&&this.body.may_throw(e)||this.alternative&&this.alternative.may_throw(e)}),t(oe,function(e){return this.body.may_throw(e)}),t(pn,function(t){return e(this.properties,t)}),t(hn,function(e){return this.value.may_throw(e)}),t(qe,function(e){return this.value&&this.value.may_throw(e)}),t(zt,function(t){return e(this.expressions,t)}),t(J,function(e){return this.body.may_throw(e)}),t(Wt,function(e){return this.expression.may_throw_on_access(e)||this.expression.may_throw(e)||this.property.may_throw(e)}),t(dt,function(t){return this.expression.may_throw(t)||e(this.body,t)}),t(Gn,function(e){return!this.is_declared(e)}),t(bt,function(t){return this.bcatch?this.bcatch.may_throw(t):e(this.body,t)||this.bfinally&&this.bfinally.may_throw(t)}),t(Vt,function(e){return!("typeof"==this.operator&&this.expression instanceof Gn)&&this.expression.may_throw(e)}),t(Bt,function(e){return!!this.value&&this.value.may_throw(e)})}(function(e,t){e.DEFMETHOD("may_throw",t)}),function(n){function e(e){for(var t=e.length;--t>=0;)if(!e[t].is_constant_expression())return!1;return!0}function i(e){var n=this,r=!0;return n.walk(new Te(function(i){if(!r)return!0;if(i instanceof Gn){if(n.inlined)return r=!1,!0;var s=i.definition();if(t(s,n.enclosed)&&!n.variables.has(s.name)){if(e){var o=e.find_variable(i);if(s.undeclared?!o:o===s)return r="f",!0}r=!1}return!0}return i instanceof Wn&&n instanceof ke?(r=!1,!0):void 0})),r}n(q,c),n(Xn,f),n(wn,function(e){return!(this.extends&&!this.extends.is_constant_expression(e))&&i.call(this,e)}),n(be,i),n(Vt,function(){return this.expression.is_constant_expression()}),n(Jt,function(){return this.left.is_constant_expression()&&this.right.is_constant_expression()}),n(nn,function(){return e(this.elements)}),n(pn,function(){return e(this.properties)}),n(hn,function(){return!(this.key instanceof q)&&this.value.is_constant_expression()})}(function(e,t){e.DEFMETHOD("is_constant_expression",t)}),function(t){function e(){for(var e=0;e1)||(s.name=null)),s instanceof be&&!(s instanceof we))for(var m=!e.option("keep_fargs"),g=s.argnames,y=g.length;--y>=0;){var E;(E=g[y])instanceof ye&&(E=E.expression),E instanceof Zt&&(E=E.left),E instanceof xe||E.definition().id in o?m=!1:(E.__unused=!0,m&&(g.pop(),e[E.unreferenced()?"warn":"info"]("Dropping unused function argument {name} [{file}:{line},{col}]",N(E))))}if((s instanceof Ce||s instanceof En)&&s!==t)if(!((h=s.name.definition()).id in o||!n&&h.global))return e[s.name.unreferenced()?"warn":"info"]("Dropping unused function {name} [{file}:{line},{col}]",N(s.name)),h.eliminated++,D(re,s);if(s instanceof Dt&&!(f instanceof de&&f.init===s)){var S=!(f instanceof ge||s instanceof Ft),k=[],C=[],A=[],x=[];switch(s.definitions.forEach(function(t){t.value&&(t.value=t.value.transform(b));var n=t.name instanceof xe,i=n?new yt(null,{name:""}):t.name.definition();if(S&&i.global)return A.push(t);if(!r&&!S||n&&(t.name.names.length||t.name.is_array||1!=e.option("pure_getters"))||i.id in o){if(t.value&&i.id in a&&a[i.id]!==t&&(t.value=t.value.drop_side_effect_free(e)),t.name instanceof Dn){var u=l.get(i.id);if(u.length>1&&(!t.value||i.orig.indexOf(t.name)>i.eliminated)){if(e.warn("Dropping duplicated definition of variable {name} [{file}:{line},{col}]",N(t.name)),t.value){var c=D(Gn,t.name,t.name);i.references.push(c);var f=D(Qt,t,{operator:"=",left:c,right:t.value});a[i.id]===t&&(a[i.id]=f),x.push(f.transform(b))}return v(u,t),void i.eliminated++}}t.value?(x.length>0&&(A.length>0?(x.push(t.value),t.value=F(t.value,x)):k.push(D(J,s,{body:F(s,x)})),x=[]),A.push(t)):C.push(t)}else if(i.orig[0]instanceof Ln){(d=t.value&&t.value.drop_side_effect_free(e))&&x.push(d),t.value=null,C.push(t)}else{var d;(d=t.value&&t.value.drop_side_effect_free(e))?(n||e.warn("Side effects in initialization of unused variable {name} [{file}:{line},{col}]",N(t.name)),x.push(d)):n||e[t.name.unreferenced()?"warn":"info"]("Dropping unused variable {name} [{file}:{line},{col}]",N(t.name)),i.eliminated++}}),(C.length>0||A.length>0)&&(s.definitions=C.concat(A),k.push(s)),x.length>0&&k.push(D(J,s,{body:F(s,x)})),k.length){case 0:return c?I.skip:D(re,s);case 1:return k[0];default:return c?I.splice(k):D(ne,s,{body:k})}}if(s instanceof fe)return u(s,this),s.init instanceof ne&&(T=s.init,s.init=T.body.pop(),T.body.push(s)),s.init instanceof J?s.init=s.init.body:sn(s.init)&&(s.init=null),T?c?I.splice(T.body):T:s;if(s instanceof oe&&s.body instanceof fe){if(u(s,this),s.body instanceof ne){var T=s.body;return s.body=T.body.pop(),T.body.push(s),c?I.splice(T.body):T}return s}if(s instanceof ne)return u(s,this),c&&_(s.body,Fn)?I.splice(s.body):s;if(s instanceof me){var O=p;return p=s,u(s,this),p=O,s}}function N(e){return{name:e.name,file:e.start.file,line:e.start.line,col:e.start.col}}});t.transform(b)}}function C(e,n){var r,c=i(e);if(c instanceof Gn&&!u(e.left,An)&&t.variables.get(c.name)===(r=c.definition()))return e instanceof Qt&&(e.right.walk(h),r.chained||e.left.fixed_value()!==e.right||(a[r.id]=e)),!0;if(e instanceof Gn)return(r=e.definition()).id in o||(o[r.id]=!0,s.push(r),(r=r.redefined())&&(o[r.id]=!0,s.push(r))),!0;if(e instanceof me){var l=p;return p=e,n(),p=l,!0}}}),me.DEFMETHOD("hoist_declarations",function(e){var t=this;if(e.has_directive("use asm"))return t;if(!Array.isArray(t.body))return t;var n=e.option("hoist_funs"),r=e.option("hoist_vars");if(n||r){var s=[],o=[],a=new y,u=0,c=0;t.walk(new Te(function(e){return e instanceof me&&e!==t||(e instanceof Ft?(++c,!0):void 0)})),r=r&&c>1;var l=new _t(function(i){if(i!==t){if(i instanceof X)return s.push(i),D(re,i);if(n&&i instanceof Ce&&!(l.parent()instanceof jt)&&l.parent()===t)return o.push(i),D(re,i);if(r&&i instanceof Ft){i.definitions.forEach(function(e){e.name instanceof xe||(a.set(e.name.name,e),++u)});var c=i.to_assignments(e),f=l.parent();if(f instanceof de&&f.init===i){if(null==c){var d=i.definitions[0].name;return D(Gn,d,d)}return c}return f instanceof fe&&f.init===i?c:c?D(J,i,{body:c}):D(re,i)}if(i instanceof me)return i}});if(t=t.transform(l),u>0){var f=[];if(a.each(function(e,n){t instanceof be&&i(function(t){return t.name==e.name.name},t.args_as_names())?a.del(n):((e=e.clone()).value=null,f.push(e),a.set(n,e))}),f.length>0){for(var d=0;d0&&(u[0].body=a.concat(u[0].body)),e.body=u;n=u[u.length-1];){var p=n.body[n.body.length-1];if(p instanceof Xe&&t.loopcontrol_target(p)===e&&n.body.pop(),n.body.length||n instanceof vt&&(s||n.expression.has_side_effects(t)))break;u.pop()===s&&(s=null)}if(0==u.length)return D(ne,e,{body:a.concat(D(J,e.expression,{body:e.expression}))}).optimize(t);if(1==u.length&&(u[0]===o||u[0]===s)){var h=!1,m=new Te(function(t){if(h||t instanceof be||t instanceof J)return!0;t instanceof Xe&&m.loopcontrol_target(t)===e&&(h=!0)});if(e.walk(m),!h){var g,y=u[0].body.slice();return(g=u[0].expression)&&y.unshift(D(J,g,{body:g})),y.unshift(D(J,e.expression,{body:e.expression})),D(ne,e,{body:y}).optimize(t)}}return e;function _(e,n){n&&!We(n)?n.body=n.body.concat(e.body):_e(t,e,a)}}),n(bt,function(e,t){if(De(e.body,t),e.bcatch&&e.bfinally&&_(e.bfinally.body,sn)&&(e.bfinally=null),t.option("dead_code")&&_(e.body,sn)){var n=[];return e.bcatch&&(_e(t,e.bcatch,n),n.forEach(function(e){e instanceof Dt&&e.definitions.forEach(function(e){var t=e.name.definition().redefined();t&&(e.name=e.name.clone(),e.name.thedef=t)})})),e.bfinally&&(n=n.concat(e.bfinally.body)),D(ne,e,{body:n}).optimize(t)}return e}),Dt.DEFMETHOD("remove_initializers",function(){var e=[];this.definitions.forEach(function(t){t.name instanceof Cn?(t.value=null,e.push(t)):t.name.walk(new Te(function(n){n instanceof Cn&&e.push(D(Bt,t,{name:n,value:null}))}))}),this.definitions=e}),Dt.DEFMETHOD("to_assignments",function(e){var t=e.option("reduce_vars"),n=this.definitions.reduce(function(e,n){if(!n.value||n.name instanceof xe){if(n.value){var r=D(Bt,n,{name:n.name,value:n.value}),i=D(Ft,n,{definitions:[r]});e.push(i)}}else{var s=D(Gn,n.name,n.name);e.push(D(Qt,n,{operator:"=",left:s,right:n.value})),t&&(s.definition().fixed=!1)}return(n=n.name.definition()).eliminated++,n.replaced--,e},[]);return 0==n.length?null:F(this,n)}),n(Dt,function(e,t){return 0==e.definitions.length?D(re,e):e}),n(Lt,function(e,t){return e}),n(Ut,function(e,t){var n=e.expression,r=n,i=_(e.args,function(e){return!(e instanceof ye)});t.option("reduce_vars")&&r instanceof Gn&&Qe(r=r.fixed_value(),t)&&(r=n);var s=r instanceof be;if(t.option("unused")&&i&&s&&!r.uses_arguments&&!r.pinned()){for(var a=0,u=0,c=0,l=e.args.length;c=r.argnames.length;if(f||r.argnames[c].__unused){if(v=e.args[c].drop_side_effect_free(t))e.args[a++]=v;else if(!f){e.args[a++]=D(Zn,e.args[c],{value:0});continue}}else e.args[a++]=e.args[c];u=a}e.args.length=u}if(t.option("unsafe"))if(ie(n))switch(n.name){case"Array":if(1!=e.args.length)return D(nn,e,{elements:e.args}).optimize(t);break;case"Object":if(0==e.args.length)return D(pn,e,{properties:[]});break;case"String":if(0==e.args.length)return D(Jn,e,{value:""});if(e.args.length<=1)return D(Jt,e,{left:e.args[0],operator:"+",right:D(Jn,e,{value:""})}).optimize(t);break;case"Number":if(0==e.args.length)return D(Zn,e,{value:0});if(1==e.args.length)return D(Kt,e,{expression:e.args[0],operator:"+"}).optimize(t);case"Boolean":if(0==e.args.length)return D(ar,e);if(1==e.args.length)return D(Kt,e,{expression:D(Kt,e,{expression:e.args[0],operator:"!"}),operator:"!"}).optimize(t);break;case"RegExp":var d=[];if(_(e.args,function(e){var n=e.evaluate(t);return d.unshift(n),e!==n}))try{return Re(t,e,D($n,e,{value:RegExp.apply(RegExp,d)}))}catch(n){t.warn("Error converting {expr} [{file}:{line},{col}]",{expr:e.print_to_string(),file:e.start.file,line:e.start.line,col:e.start.col})}}else if(n instanceof qt)switch(n.property){case"toString":if(0==e.args.length&&!n.expression.may_throw_on_access(t))return D(Jt,e,{left:D(Jn,e,{value:""}),operator:"+",right:n.expression}).optimize(t);break;case"join":if(n.expression instanceof nn)e:{var p;if(!(e.args.length>0&&(p=e.args[0].evaluate(t))===e.args[0])){var h,m=[],g=[];for(c=0,l=n.expression.elements.length;c0&&(m.push(D(Jn,e,{value:g.join(p)})),g.length=0),m.push(y))}return g.length>0&&m.push(D(Jn,e,{value:g.join(p)})),0==m.length?D(Jn,e,{value:""}):1==m.length?m[0].is_string(t)?m[0]:D(Jt,m[0],{operator:"+",left:D(Jn,e,{value:""}),right:m[0]}):""==p?(h=m[0].is_string(t)||m[1].is_string(t)?m.shift():D(Jn,e,{value:""}),m.reduce(function(e,t){return D(Jt,t,{operator:"+",left:e,right:t})},h).optimize(t)):((v=e.clone()).expression=v.expression.clone(),v.expression.expression=v.expression.expression.clone(),v.expression.expression.elements=m,Re(t,e,v));var v}}break;case"charAt":if(n.expression.is_string(t)){var b=e.args[0],w=b?b.evaluate(t):0;if(w!==b)return D(Wt,n,{expression:n.expression,property:C(0|w,b||n)}).optimize(t)}break;case"apply":if(2==e.args.length&&e.args[1]instanceof nn)return(P=e.args[1].elements.slice()).unshift(e.args[0]),D(Ut,e,{expression:D(qt,n,{expression:n.expression,property:"call"}),args:P}).optimize(t);break;case"call":var E=n.expression;if(E instanceof Gn&&(E=E.fixed_value()),E instanceof be&&!E.contains_this())return(e.args.length?F(this,[e.args[0],D(Ut,e,{expression:n.expression,args:e.args.slice(1)})]):D(Ut,e,{expression:n.expression,args:[]})).optimize(t)}if(t.option("unsafe_Function")&&ie(n)&&"Function"==n.name){if(0==e.args.length)return D(Ee,e,{argnames:[],body:[]}).optimize(t);if(_(e.args,function(e){return e instanceof Jn}))try{var S=gt(M="n(function("+e.args.slice(0,-1).map(function(e){return e.value}).join(",")+"){"+e.args[e.args.length-1].value+"})"),k={ie8:t.option("ie8")};S.figure_out_scope(k);var A,x=new kt(t.options);(S=S.transform(x)).figure_out_scope(k),Lr.reset(),S.compute_char_frequency(k),S.mangle_names(k),S.walk(new Te(function(e){return!!A||(o(e)?(A=e,!0):void 0)})),A.body instanceof q&&(A.body=[D(qe,A.body,{value:A.body})]);var M=xt();return ne.prototype._codegen.call(A,A,M),e.args=[D(Jn,e,{value:A.argnames.map(function(e){return e.print_to_string()}).join(",")}),D(Jn,e.args[e.args.length-1],{value:M.get().replace(/^\{|\}$/g,"")})],e}catch(n){if(!(n instanceof st))throw n;t.warn("Error parsing code passed to new Function [{file}:{line},{col}]",e.args[e.args.length-1].start),t.warn(n.toString())}}var T=s&&r.body;T instanceof q?T=D(qe,T,{value:T}):T&&(T=T[0]);var O=s&&!r.is_generator&&!r.async,I=t.option("inline")&&!e.is_expr_pure(t);if(I&&T instanceof qe&&O&&(!(L=T.value)||L.is_constant_expression())){L=L?L.clone(!0):D(rr,e);var P=e.args.concat(L);return F(e,P).optimize(t)}if(O){var N,L,j,B,U=-1;if(I&&i&&!r.uses_arguments&&!r.pinned()&&!(t.parent()instanceof wn)&&!(r.name&&r instanceof Ee)&&(!(t.find_parent(be)instanceof ke)||0==r.argnames.length&&(r.body instanceof q||1==r.body.length))&&(L=function(e){var n=r.body instanceof q?[r.body]:r.body,i=n.length;if(t.option("inline")<3)return 1==i&&Y(e);e=null;for(var s=0;s=0;){var a=s.definitions[o].name;if(a instanceof xe||e[a.name]||R(a.name)||j.var_names()[a.name])return!1;B&&B.push(a.definition())}}}return!0}(e,i>=3&&n)||!function(e,t){for(var n=0,i=r.argnames.length;n=2&&n)||B&&0!=B.length&&et(r,B))}()&&!(j instanceof wn))return r._squeezed=!0,F(e,function(){var n=[],i=[];(function(t,n){for(var i=r.argnames.length,s=e.args.length;--s>=i;)n.push(e.args[s]);for(s=i;--s>=0;){var o=r.argnames[s],a=e.args[s];if(o.__unused||!o.name||j.var_names()[o.name])a&&n.push(a);else{var u=D(Dn,o,o);o.definition().orig.push(u),!a&&B&&(a=D(rr,e)),Z(t,n,u,a)}}t.reverse(),n.reverse()})(n,i),function(e,t){for(var n=t.length,i=0,s=r.body.length;i0&&Se(i[s],t);)s--;s0)return(n=this.clone()).right=F(this.right,t.slice(s)),(t=t.slice(0,s)).push(n),F(this,t).optimize(e)}}return this});var ee=g("== === != !== * & | ^");function Ge(e,t){for(var n,r=0;n=e.parent(r);r++)if(n instanceof be){var i=n.name;if(i&&i.definition()===t)break}return n}function nt(e,t){return e instanceof Gn||e.TYPE===t.TYPE}function et(e,n){var r=!1,i=new Te(function(e){return!!r||(e instanceof Gn&&t(e.definition(),n)?r=!0:void 0)}),s=new Te(function(t){if(r)return!0;if(t instanceof me&&t!==e){var n=s.parent();if(n instanceof Ut&&n.expression===t)return;return t.walk(i),!0}});return e.walk(s),r}n(Jt,function(e,n){function t(){return e.left.is_constant()||e.right.is_constant()||!e.left.has_side_effects(n)&&!e.right.has_side_effects(n)}function i(n){if(t()){n&&(e.operator=n);var r=e.left;e.left=e.right,e.right=r}}if(ee(e.operator)&&e.right.is_constant()&&!e.left.is_constant()&&(e.left instanceof Jt&&Ir[e.left.operator]>=Ir[e.operator]||i()),e=e.lift_sequences(n),n.option("comparisons"))switch(e.operator){case"===":case"!==":var r=!0;(e.left.is_string(n)&&e.right.is_string(n)||e.left.is_number(n)&&e.right.is_number(n)||e.left.is_boolean()&&e.right.is_boolean()||e.left.equivalent_to(e.right))&&(e.operator=e.operator.substr(0,2));case"==":case"!=":if(!r&&Se(e.left,n))e.left=D(tr,e.left);else if(n.option("typeofs")&&e.left instanceof Jn&&"undefined"==e.left.value&&e.right instanceof Kt&&"typeof"==e.right.operator){var s=e.right.expression;(s instanceof Gn?!s.is_declared(n):s instanceof Ht&&n.option("ie8"))||(e.right=s,e.left=D(rr,e.left).optimize(n),2==e.operator.length&&(e.operator+="="))}else if(e.left instanceof Gn&&e.right instanceof Gn&&e.left.definition()===e.right.definition()&&((u=e.left.fixed_value())instanceof nn||u instanceof be||u instanceof pn||u instanceof wn))return D("="==e.operator[0]?ur:ar,e);break;case"&&":case"||":var o=e.left;if(o.operator==e.operator&&(o=o.right),o instanceof Jt&&o.operator==("&&"==e.operator?"!==":"===")&&e.right instanceof Jt&&o.operator==e.right.operator&&(Se(o.left,n)&&e.right.left instanceof tr||o.left instanceof tr&&Se(e.right.left,n))&&!o.right.has_side_effects(n)&&o.right.equivalent_to(e.right.right)){var a=D(Jt,e,{operator:o.operator.slice(0,-1),left:D(tr,e),right:o.right});return o!==e.left&&(a=D(Jt,e,{operator:e.operator,left:e.left.left,right:a})),a}}var u;if("+"==e.operator&&n.in_boolean_context()){var c=e.left.evaluate(n),l=e.right.evaluate(n);if(c&&"string"==typeof c)return n.warn("+ in boolean context always true [{file}:{line},{col}]",e.start),F(e,[e.right,D(ur,e)]).optimize(n);if(l&&"string"==typeof l)return n.warn("+ in boolean context always true [{file}:{line},{col}]",e.start),F(e,[e.left,D(ur,e)]).optimize(n)}if(n.option("comparisons")&&e.is_boolean()){if(!(n.parent()instanceof Jt)||n.parent()instanceof Qt){var f=D(Kt,e,{operator:"!",expression:e.negate(n,E(n))});e=Re(n,e,f)}if(n.option("unsafe_comps"))switch(e.operator){case"<":i(">");break;case"<=":i(">=")}}if("+"==e.operator){if(e.right instanceof Jn&&""==e.right.getValue()&&e.left.is_string(n))return e.left;if(e.left instanceof Jn&&""==e.left.getValue()&&e.right.is_string(n))return e.right;if(e.left instanceof Jt&&"+"==e.left.operator&&e.left.left instanceof Jn&&""==e.left.left.getValue()&&e.right.is_string(n))return e.left=e.left.right,e.transform(n)}if(n.option("evaluate")){switch(e.operator){case"&&":if(!(c=!!e.left.truthy||!e.left.falsy&&e.left.evaluate(n)))return n.warn("Condition left of && always false [{file}:{line},{col}]",e.start),M(n.parent(),n.self(),e.left).optimize(n);if(!(c instanceof q))return n.warn("Condition left of && always true [{file}:{line},{col}]",e.start),F(e,[e.left,e.right]).optimize(n);if(l=e.right.evaluate(n)){if(!(l instanceof q)){if("&&"==(d=n.parent()).operator&&d.left===n.self()||n.in_boolean_context())return n.warn("Dropping side-effect-free && [{file}:{line},{col}]",e.start),e.left.optimize(n)}}else{if(n.in_boolean_context())return n.warn("Boolean && always false [{file}:{line},{col}]",e.start),F(e,[e.left,D(ar,e)]).optimize(n);e.falsy=!0}if("||"==e.left.operator)if(!(p=e.left.right.evaluate(n)))return D(Yt,e,{condition:e.left.left,consequent:e.right,alternative:e.left.right}).optimize(n);break;case"||":var d,p;if(!(c=!!e.left.truthy||!e.left.falsy&&e.left.evaluate(n)))return n.warn("Condition left of || always false [{file}:{line},{col}]",e.start),F(e,[e.left,e.right]).optimize(n);if(!(c instanceof q))return n.warn("Condition left of || always true [{file}:{line},{col}]",e.start),M(n.parent(),n.self(),e.left).optimize(n);if(l=e.right.evaluate(n)){if(!(l instanceof q)){if(n.in_boolean_context())return n.warn("Boolean || always true [{file}:{line},{col}]",e.start),F(e,[e.left,D(ur,e)]).optimize(n);e.truthy=!0}}else if("||"==(d=n.parent()).operator&&d.left===n.self()||n.in_boolean_context())return n.warn("Dropping side-effect-free || [{file}:{line},{col}]",e.start),e.left.optimize(n);if("&&"==e.left.operator)if((p=e.left.right.evaluate(n))&&!(p instanceof q))return D(Yt,e,{condition:e.left.left,consequent:e.left.right,alternative:e.right}).optimize(n)}var h=!0;switch(e.operator){case"+":if(e.left instanceof Xn&&e.right instanceof Jt&&"+"==e.right.operator&&e.right.left instanceof Xn&&e.right.is_string(n)&&(e=D(Jt,e,{operator:"+",left:D(Jn,e.left,{value:""+e.left.getValue()+e.right.left.getValue(),start:e.left.start,end:e.right.left.end}),right:e.right.right})),e.right instanceof Xn&&e.left instanceof Jt&&"+"==e.left.operator&&e.left.right instanceof Xn&&e.left.is_string(n)&&(e=D(Jt,e,{operator:"+",left:e.left.left,right:D(Jn,e.right,{value:""+e.left.right.getValue()+e.right.getValue(),start:e.left.right.start,end:e.right.end})})),e.left instanceof Jt&&"+"==e.left.operator&&e.left.is_string(n)&&e.left.right instanceof Xn&&e.right instanceof Jt&&"+"==e.right.operator&&e.right.left instanceof Xn&&e.right.is_string(n)&&(e=D(Jt,e,{operator:"+",left:D(Jt,e.left,{operator:"+",left:e.left.left,right:D(Jn,e.left.right,{value:""+e.left.right.getValue()+e.right.left.getValue(),start:e.left.right.start,end:e.right.left.end})}),right:e.right.right})),e.right instanceof Kt&&"-"==e.right.operator&&e.left.is_number(n)){e=D(Jt,e,{operator:"-",left:e.left,right:e.right.expression});break}if(e.left instanceof Kt&&"-"==e.left.operator&&t()&&e.right.is_number(n)){e=D(Jt,e,{operator:"-",left:e.right,right:e.left.expression});break}case"*":h=n.option("unsafe_math");case"&":case"|":case"^":if(e.left.is_number(n)&&e.right.is_number(n)&&t()&&!(e.left instanceof Jt&&e.left.operator!=e.operator&&Ir[e.left.operator]>=Ir[e.operator])){var m=D(Jt,e,{operator:e.operator,left:e.right,right:e.left});e=e.right instanceof Xn&&!(e.left instanceof Xn)?Re(n,m,e):Re(n,e,m)}h&&e.is_number(n)&&(e.right instanceof Jt&&e.right.operator==e.operator&&(e=D(Jt,e,{operator:e.operator,left:D(Jt,e.left,{operator:e.operator,left:e.left,right:e.right.left,start:e.left.start,end:e.right.left.end}),right:e.right.right})),e.right instanceof Xn&&e.left instanceof Jt&&e.left.operator==e.operator&&(e.left.left instanceof Xn?e=D(Jt,e,{operator:e.operator,left:D(Jt,e.left,{operator:e.operator,left:e.left.left,right:e.right,start:e.left.left.start,end:e.right.end}),right:e.left.right}):e.left.right instanceof Xn&&(e=D(Jt,e,{operator:e.operator,left:D(Jt,e.left,{operator:e.operator,left:e.left.right,right:e.right,start:e.left.right.start,end:e.right.end}),right:e.left.left}))),e.left instanceof Jt&&e.left.operator==e.operator&&e.left.right instanceof Xn&&e.right instanceof Jt&&e.right.operator==e.operator&&e.right.left instanceof Xn&&(e=D(Jt,e,{operator:e.operator,left:D(Jt,e.left,{operator:e.operator,left:D(Jt,e.left.left,{operator:e.operator,left:e.left.right,right:e.right.left,start:e.left.right.start,end:e.right.left.end}),right:e.left.left}),right:e.right.right})))}}if(e.right instanceof Jt&&e.right.operator==e.operator&&(P(e.operator)||"+"==e.operator&&(e.right.left.is_string(n)||e.left.is_string(n)&&e.right.right.is_string(n))))return e.left=D(Jt,e.left,{operator:e.operator,left:e.left,right:e.right.left}),e.right=e.right.right,e.transform(n);var g=e.evaluate(n);return g!==e?(g=C(g,e).optimize(n),Re(n,g,e)):e}),n(zn,function(e,t){return e}),n(Gn,function(e,t){if(!t.option("ie8")&&ie(e)&&(!e.scope.uses_with||!t.find_parent(he)))switch(e.name){case"undefined":return D(rr,e).optimize(t);case"NaN":return D(nr,e).optimize(t);case"Infinity":return D(sr,e).optimize(t)}var n=t.parent();if(t.option("reduce_vars")&&He(e,n)!==e){var r=e.definition();if(t.top_retain&&r.global&&t.top_retain(r))return r.fixed=!1,r.should_replace=!1,r.single_use=!1,e;var i=e.fixed_value(),s=r.single_use&&!(n instanceof Ut&&n.is_expr_pure(t));if(s&&(i instanceof be||i instanceof wn))if(Qe(i,t))s=!1;else if(r.scope!==e.scope&&(!t.option("reduce_funcs")&&i instanceof be||1==r.escaped||i.inlined||function(e){for(var t,n=0;t=e.parent(n++);){if(t instanceof W)return!1;if(t instanceof nn||t instanceof mn||t instanceof pn)return!0}return!1}(t)))s=!1;else if(Ge(t,r))s=!1;else if((r.scope!==e.scope||r.orig[0]instanceof Tn)&&"f"==(s=i.is_constant_expression(e.scope))){var a=e.scope;do{(a instanceof Ce||o(a))&&(a.inlined=!0)}while(a=a.parent_scope)}if(s&&i){var u;if(i instanceof En&&(i=D(_n,i,i)),i instanceof Ce&&(i._squeezed=!0,i=D(Ee,i,i)),r.recursive_refs>0&&i.name instanceof On){var c=(u=i.clone(!0)).name.definition(),l=u.variables.get(u.name.name),f=l&&l.orig[0];f instanceof Rn||((f=D(Rn,u.name,u.name)).scope=u,u.name=f,l=u.def_function(f)),u.walk(new Te(function(e){e instanceof Gn&&e.definition()===c&&(e.thedef=l,l.references.push(e))}))}else(u=i.optimize(t))===i&&(u=i.clone(!0));return u}if(i&&void 0===r.should_replace){var d;if(i instanceof Wn)r.orig[0]instanceof Tn||!_(r.references,function(e){return r.scope===e.scope})||(d=i);else{var p=i.evaluate(t);p===i||!t.option("unsafe_regexp")&&p instanceof RegExp||(d=C(p,i))}if(d){var h,m=d.optimize(t).print_to_string().length;!function(e){var t;return e.walk(new Te(function(e){if(e instanceof Gn&&(t=!0),t)return!0})),t}(i)?(m=Math.min(m,i.print_to_string().length),h=function(){var e=Pe(d.optimize(t),i);return e===d||e===i?e.clone(!0):e}):h=function(){var e=d.optimize(t);return e===d?e.clone(!0):e};var g=r.name.length,y=0;t.option("unused")&&!t.exposed(r)&&(y=(g+2+m)/(r.references.length-r.assignments)),r.should_replace=m<=g+y&&h}else r.should_replace=!1}if(r.should_replace)return r.should_replace()}return e}),n(rr,function(e,t){if(t.option("unsafe_undefined")){var n=d(t,"undefined");if(n){var r=D(Gn,e,{name:"undefined",scope:n.scope,thedef:n});return r.is_undefined=!0,r}}var i=He(t.self(),t.parent());return i&&nt(i,e)?e:D(Kt,e,{operator:"void",expression:D(Zn,e,{value:0})})}),n(sr,function(e,t){var n=He(t.self(),t.parent());return n&&nt(n,e)?e:!t.option("keep_infinity")||n&&!nt(n,e)||d(t,"Infinity")?D(Jt,e,{operator:"/",left:D(Zn,e,{value:1}),right:D(Zn,e,{value:0})}):e}),n(nr,function(e,t){var n=He(t.self(),t.parent());return n&&!nt(n,e)||d(t,"NaN")?D(Jt,e,{operator:"/",left:D(Zn,e,{value:0}),right:D(Zn,e,{value:0})}):e});var se=["+","-","/","*","%",">>","<<",">>>","|","^","&"],pe=["*","|","^","&"];function rt(e,t){return e instanceof Gn&&(e=e.fixed_value()),!!e&&(!(e instanceof be||e instanceof wn)||t.parent()instanceof Gt||!e.contains_this())}function ot(e,t){return t.in_boolean_context()?Re(t,e,F(e,[e,D(ur,e)]).optimize(t)):e}function at(e,t){if(!t.option("computed_props"))return e;if(!(e.key instanceof Xn))return e;if(e.key instanceof Jn||e.key instanceof Zn){if("constructor"==e.key.value&&t.parent()instanceof wn)return e;e.key=e instanceof mn?e.key.value:D(In,e.key,{name:e.key.value})}return e}n(Qt,function(e,n){var r;if(n.option("dead_code")&&e.left instanceof Gn&&(r=e.left.definition()).scope===n.find_parent(be)){var i,s=0,o=e;do{if(i=o,(o=n.parent(s++))instanceof ze){if(u(s,o))break;if(et(r.scope,[r]))break;return"="==e.operator?e.right:(r.fixed=!1,D(Jt,e,{operator:e.operator.slice(0,-1),left:e.left,right:e.right}).optimize(n))}}while(o instanceof Jt&&o.right===i||o instanceof zt&&o.tail_node()===i)}return"="==(e=e.lift_sequences(n)).operator&&e.left instanceof Gn&&e.right instanceof Jt&&(e.right.left instanceof Gn&&e.right.left.name==e.left.name&&t(e.right.operator,se)?(e.operator=e.right.operator+"=",e.right=e.right.right):e.right.right instanceof Gn&&e.right.right.name==e.left.name&&t(e.right.operator,pe)&&!e.right.left.has_side_effects(n)&&(e.operator=e.right.operator+"=",e.right=e.right.left)),e;function u(t,r){var i=e.right;e.right=D(tr,i);var s=r.may_throw(n);e.right=i;for(var o,a=e.left.definition().scope;(o=n.parent(t++))!==a;)if(o instanceof bt){if(o.bfinally)return!0;if(s&&o.bcatch)return!0}}}),n(Zt,function(e,t){if(!t.option("evaluate"))return e;var n=e.right.evaluate(t);return void 0===n?e=e.left:n!==e.right&&(n=C(n,e.right),e.right=Pe(n,e.right)),e}),n(Yt,function(e,t){if(!t.option("conditionals"))return e;if(e.condition instanceof zt){var n=e.condition.expressions.slice();return e.condition=n.pop(),n.push(e),F(e,n)}var r=e.condition.evaluate(t);if(r!==e.condition)return r?(t.warn("Condition always true [{file}:{line},{col}]",e.start),M(t.parent(),t.self(),e.consequent)):(t.warn("Condition always false [{file}:{line},{col}]",e.start),M(t.parent(),t.self(),e.alternative));var i=r.negate(t,E(t));Re(t,r,i)===i&&(e=D(Yt,e,{condition:i,consequent:e.alternative,alternative:e.consequent}));var s,o=e.condition,a=e.consequent,u=e.alternative;if(o instanceof Gn&&a instanceof Gn&&o.definition()===a.definition())return D(Jt,e,{operator:"||",left:o,right:u});if(a instanceof Qt&&u instanceof Qt&&a.operator==u.operator&&a.left.equivalent_to(u.left)&&(!e.condition.has_side_effects(t)||"="==a.operator&&!a.left.has_side_effects(t)))return D(Qt,e,{operator:a.operator,left:a.left,right:D(Yt,e,{condition:e.condition,consequent:a.right,alternative:u.right})});if(a instanceof Ut&&u.TYPE===a.TYPE&&a.args.length>0&&a.args.length==u.args.length&&a.expression.equivalent_to(u.expression)&&!e.condition.has_side_effects(t)&&!a.expression.has_side_effects(t)&&"number"==typeof(s=function(){for(var e=a.args,t=u.args,n=0,r=e.length;n1)&&(d=null)}else if(!d&&!t.option("keep_fargs")&&a=n.argnames.length;)d=D(Tn,n,{name:n.make_var_name("argument_"+n.argnames.length),scope:n}),n.argnames.push(d),n.enclosed.push(n.def_variable(d));if(d){var h=D(Gn,e,d);return h.reference({}),delete d.__unused,h}}if(He(e,t.parent()))return e;if(s!==i){var m=e.flatten_object(o,t);m&&(r=e.expression=m.expression,i=e.property=m.property)}if(t.option("properties")&&t.option("side_effects")&&i instanceof Zn&&r instanceof nn){a=i.getValue();var g=r.elements,y=g[a];e:if(rt(y,t)){for(var v=!0,b=[],w=g.length;--w>a;){(E=g[w].drop_side_effect_free(t))&&(b.unshift(E),v&&E.has_side_effects(t)&&(v=!1))}if(y instanceof ye)break e;for(y=y instanceof ir?D(rr,y):y,v||b.unshift(y);--w>=0;){var E;if((E=g[w])instanceof ye)break e;(E=E.drop_side_effect_free(t))?b.unshift(E):a--}return v?(b.push(y),F(e,b).optimize(t)):D(Wt,e,{expression:D(nn,r,{elements:b}),property:D(Zn,i,{value:a})})}}var _=e.evaluate(t);return _!==e?Re(t,_=C(_,e).optimize(t),e):e}),be.DEFMETHOD("contains_this",function(){var e,t=this;return t.walk(new Te(function(n){return!!e||(n instanceof Wn?e=!0:n!==t&&n instanceof me&&!(n instanceof ke)||void 0)})),e}),Ht.DEFMETHOD("flatten_object",function(e,t){if(t.option("properties")){var n=t.option("unsafe_arrows")&&t.option("ecma")>=6,r=this.expression;if(r instanceof pn)for(var i=r.properties,s=i.length;--s>=0;){var o=i[s];if(""+(o instanceof bn?o.key.name:o.key)==e){if(!_(i,function(e){return e instanceof mn||n&&e instanceof bn&&!e.is_generator}))break;if(!rt(o.value,t))break;return D(Wt,this,{expression:D(nn,r,{elements:i.map(function(e){var t=e.value;t instanceof we&&(t=D(Ee,t,t));var n=e.key;return n instanceof q&&!(n instanceof In)?F(e,[n,t]):t})}),property:D(Zn,this,{value:s})})}}}}),n(qt,function(e,t){if("arguments"!=e.property&&"caller"!=e.property||t.warn("Function.protoype.{prop} not supported [{file}:{line},{col}]",{prop:e.property,file:e.start.file,line:e.start.line,col:e.start.col}),He(e,t.parent()))return e;if(t.option("unsafe_proto")&&e.expression instanceof qt&&"prototype"==e.expression.property){var n=e.expression.expression;if(ie(n))switch(n.name){case"Array":e.expression=D(nn,e.expression,{elements:[]});break;case"Function":e.expression=D(Ee,e.expression,{argnames:[],body:[]});break;case"Number":e.expression=D(Zn,e.expression,{value:0});break;case"Object":e.expression=D(pn,e.expression,{properties:[]});break;case"RegExp":e.expression=D($n,e.expression,{value:/t/});break;case"String":e.expression=D(Jn,e.expression,{value:""})}}var r=e.flatten_object(e.property,t);if(r)return r.optimize(t);var i=e.evaluate(t);return i!==e?Re(t,i=C(i,e).optimize(t),e):e}),n(nn,ot),n(pn,ot),n($n,ot),n(qe,function(e,t){return e.value&&Se(e.value,t)&&(e.value=null),e}),n(ke,function(e,t){if(e.body instanceof q||(e=Je(e,t)),t.option("arrows")&&1==e.body.length&&e.body[0]instanceof qe){var n=e.body[0].value;e.body=n||[]}return e}),n(Ee,function(e,t){if(e=Je(e,t),t.option("unsafe_arrows")&&t.option("ecma")>=6&&!e.name&&!e.is_generator&&!e.uses_arguments&&!e.pinned()){var n=!1;if(e.walk(new Te(function(e){return!!n||(e instanceof Wn?(n=!0,!0):void 0)})),!n)return D(ke,e,e).optimize(t)}return e}),n(wn,function(e,t){return e}),n(lr,function(e,t){return e.expression&&!e.is_star&&Se(e.expression,t)&&(e.expression=null),e}),n(Oe,function(e,t){if(!t.option("evaluate")||t.parent()instanceof Me)return e;for(var n=[],r=0;r=6&&(!(n instanceof RegExp)||n.test(e.key+""))){var r=e.key,i=e.value;if((i instanceof ke&&Array.isArray(i.body)&&!i.contains_this()||i instanceof Ee)&&!i.name)return D(bn,e,{async:i.async,is_generator:i.is_generator,key:r instanceof q?r:D(In,e,{name:r}),value:D(we,i,i),quote:e.quote})}return e}),n(xe,function(e,t){if(1==t.option("pure_getters")&&t.option("unused")&&!e.is_array&&Array.isArray(e.names)&&!function(e){for(var t=[/^VarDef$/,/^(Const|Let|Var)$/,/^Export$/],n=0,r=0,i=t.length;n|%)([a-z0-9$_]+)/i.exec(e);if(!t)throw new Error("Can't understand property map: "+e);var n=t[1],r=t[2],i=t[3];switch(a+=",\n"+i+": ",u+=",\n"+n+": ",r){case"@":a+="M."+n+".map(from_moz)",u+="M."+i+".map(to_moz)";break;case">":a+="from_moz(M."+n+")",u+="to_moz(M."+i+")";break;case"=":a+="M."+n,u+="M."+i;break;case"%":a+="from_moz(M."+n+").body",u+="to_moz_block(M)";break;default:throw new Error("Can't understand operator in propmap: "+e)}}),a+="\n})\n}",u+="\n}\n}",a=new Function("U2","my_start_token","my_end_token","from_moz","return("+a+")")(O,r,o,s),u=new Function("to_moz","to_moz_block","to_moz_scope","return("+u+")")(l,h,d),t[e]=a,c(n,u)}t.UpdateExpression=t.UnaryExpression=function(e){return new(("prefix"in e?e.prefix:"UnaryExpression"==e.type)?Kt:Xt)({start:r(e),end:o(e),operator:e.operator,expression:s(e.argument)})},t.ClassDeclaration=t.ClassExpression=function(e){return new("ClassDeclaration"===e.type?En:_n)({start:r(e),end:o(e),name:s(e.id),extends:s(e.superClass),properties:e.body.body.map(s)})},a("EmptyStatement",re),a("BlockStatement",ne,"body@body"),a("IfStatement",lt,"test>condition, consequent>body, alternate>alternative"),a("LabeledStatement",oe,"label>label, body>body"),a("BreakStatement",Xe,"label>label"),a("ContinueStatement",$e,"label>label"),a("WithStatement",he,"object>expression, body>body"),a("SwitchStatement",dt,"discriminant>expression, cases@body"),a("ReturnStatement",qe,"argument>value"),a("ThrowStatement",Ve,"argument>value"),a("WhileStatement",le,"test>condition, body>body"),a("DoWhileStatement",ce,"test>condition, body>body"),a("ForStatement",fe,"init>init, test>condition, update>step, body>body"),a("ForInStatement",de,"left>init, right>object, body>body"),a("ForOfStatement",pe,"left>init, right>object, body>body, await=await"),a("AwaitExpression",cr,"argument>expression"),a("YieldExpression",lr,"argument>expression, delegate=is_star"),a("DebuggerStatement",K),a("VariableDeclarator",Bt,"id>name, init>value"),a("CatchClause",Et,"param>argname, body%body"),a("ThisExpression",Wn),a("Super",Vn),a("BinaryExpression",Jt,"operator=operator, left>left, right>right"),a("LogicalExpression",Jt,"operator=operator, left>left, right>right"),a("AssignmentExpression",Qt,"operator=operator, left>left, right>right"),a("ConditionalExpression",Yt,"test>condition, consequent>consequent, alternate>alternative"),a("NewExpression",Gt,"callee>expression, arguments@args"),a("CallExpression",Ut,"callee>expression, arguments@args"),c(ge,function(e){return d("Program",e)}),c(ye,function(e,t){return{type:p()?"RestElement":"SpreadElement",argument:l(e.expression)}}),c(Me,function(e){return{type:"TaggedTemplateExpression",tag:l(e.prefix),quasi:l(e.template_string)}}),c(Oe,function(e){for(var t=[],n=[],r=0;r=0)&&(!(n.indexOf(e)>=0)&&(t.only_cache?r.has(e):!/^-?[0-9]+(\.[0-9]+)?(e[+-][0-9]+)?$/.test(e)))}function p(e){return!(o&&!o.test(e))&&(!(n.indexOf(e)>=0)&&(r.has(e)||c.indexOf(e)>=0))}function h(e){l(e)&&d(c,e),p(e)||d(f,e)}function m(e){if(!p(e))return e;var t=r.get(e);if(!t){if(u){var n="_$"+e+"$"+s+"_";l(n)&&(t=n)}if(!t)do{t=Lr(++i)}while(!l(t));r.set(e,t)}return t}function v(e){return e.transform(new _t(function(e){if(e instanceof zt){var t=e.expressions.length-1;e.expressions[t]=v(e.expressions[t])}else e instanceof Jn?e.value=m(e.value):e instanceof Yt&&(e.consequent=v(e.consequent),e.alternative=v(e.alternative));return e}))}}var Ur="undefined"==typeof atob?function(e){if(Buffer.from&&Buffer.from!==Uint8Array.from)return Buffer.from(e,"base64").toString();if("string"!=typeof e)throw new Errror('"b64" must be a string');return new Buffer(e,"base64").toString()}:atob,Gr="undefined"==typeof btoa?function(e){if(Buffer.from&&Buffer.from!==Uint8Array.from)return Buffer.from(e).toString("base64");if("string"!=typeof e)throw new Errror('"str" must be a string');return new Buffer(e).toString("base64")}:btoa;function Tt(e,t,n){t[e]&&n.forEach(function(n){t[n]&&("object"!=typeof t[n]&&(t[n]={}),e in t[n]||(t[n][e]=t[e]))})}function St(e){e&&("props"in e?e.props instanceof y||(e.props=y.fromObject(e.props)):e.props=new y)}function It(e){return{props:e.props.toObject()}}O.Dictionary=y,O.minify=function(e,t){var n,r,i=q.warn_function;try{var s,o=(t=a(t,{compress:{},ecma:void 0,enclose:!1,ie8:!1,keep_classnames:void 0,keep_fnames:!1,mangle:{},module:!1,nameCache:null,output:{},parse:{},rename:void 0,safari10:!1,sourceMap:!1,timings:!1,toplevel:!1,warnings:!1,wrap:!1},!0)).timings&&{start:Date.now()};void 0===t.keep_classnames&&(t.keep_classnames=t.keep_fnames),void 0===t.rename&&(t.rename=t.compress&&t.mangle),Tt("ecma",t,["parse","compress","output"]),Tt("ie8",t,["compress","mangle","output"]),Tt("keep_classnames",t,["compress","mangle"]),Tt("keep_fnames",t,["compress","mangle"]),Tt("module",t,["parse","compress","mangle"]),Tt("safari10",t,["mangle","output"]),Tt("toplevel",t,["compress","mangle"]),Tt("warnings",t,["compress"]),t.mangle&&(t.mangle=a(t.mangle,{cache:t.nameCache&&(t.nameCache.vars||{}),eval:!1,ie8:!1,keep_classnames:!1,keep_fnames:!1,module:!1,properties:!1,reserved:[],safari10:!1,toplevel:!1},!0),t.mangle.properties&&("object"!=typeof t.mangle.properties&&(t.mangle.properties={}),t.mangle.properties.keep_quoted&&(s=t.mangle.properties.reserved,Array.isArray(s)||(s=[]),t.mangle.properties.reserved=s),!t.nameCache||"cache"in t.mangle.properties||(t.mangle.properties.cache=t.nameCache.props||{})),St(t.mangle.cache),St(t.mangle.properties.cache)),t.sourceMap&&(t.sourceMap=a(t.sourceMap,{content:null,filename:null,includeSources:!1,root:null,url:null},!0));var u,c=[];if(t.warnings&&!q.warn_function&&(q.warn_function=function(e){c.push(e)}),o&&(o.parse=Date.now()),e instanceof ge)u=e;else{for(var l in"string"==typeof e&&(e=[e]),t.parse=t.parse||{},t.parse.toplevel=null,e)if(b(e,l)&&(t.parse.filename=l,t.parse.toplevel=gt(e[l],t.parse),t.sourceMap&&"inline"==t.sourceMap.content)){if(Object.keys(e).length>1)throw new Error("inline source map only works with singular input");t.sourceMap.content=(n=e[l],r=void 0,(r=/\n\/\/# sourceMappingURL=data:application\/json(;.*?)?;base64,(.*)/.exec(n))?Ur(r[2]):(q.warn("inline source map not found"),null))}u=t.parse.toplevel}s&&Ot(u,s),t.wrap&&(u=u.wrap_commonjs(t.wrap)),t.enclose&&(u=u.wrap_enclose(t.enclose)),o&&(o.rename=Date.now()),o&&(o.compress=Date.now()),t.compress&&(u=new kt(t.compress).compress(u)),o&&(o.scope=Date.now()),t.mangle&&u.figure_out_scope(t.mangle),o&&(o.mangle=Date.now()),t.mangle&&(Lr.reset(),u.compute_char_frequency(t.mangle),u.mangle_names(t.mangle)),o&&(o.properties=Date.now()),t.mangle&&t.mangle.properties&&(u=Mt(u,t.mangle.properties)),o&&(o.output=Date.now());var f={};if(t.output.ast&&(f.ast=u),!b(t.output,"code")||t.output.code){if(t.sourceMap&&("string"==typeof t.sourceMap.content&&(t.sourceMap.content=JSON.parse(t.sourceMap.content)),t.output.source_map=function(e){e=a(e,{file:null,root:null,orig:null,orig_line_diff:0,dest_line_diff:0});var t=new(S(9596).SourceMapGenerator)({file:e.file,sourceRoot:e.root}),n=e.orig&&new(S(9596).SourceMapConsumer)(e.orig);return n&&Array.isArray(e.orig.sources)&&n._sources.toArray().forEach(function(e){var r=n.sourceContentFor(e,!0);r&&t.setSourceContent(e,r)}),{add:function(r,i,s,o,a,u){if(n){var c=n.originalPositionFor({line:o,column:a});if(null===c.source)return;r=c.source,o=c.line,a=c.column,u=c.name||u}t.addMapping({generated:{line:i+e.dest_line_diff,column:s},original:{line:o+e.orig_line_diff,column:a},source:r,name:u})},get:function(){return t},toString:function(){return JSON.stringify(t.toJSON())}}}({file:t.sourceMap.filename,orig:t.sourceMap.content,root:t.sourceMap.root}),t.sourceMap.includeSources)){if(e instanceof ge)throw new Error("original source content unavailable");for(var l in e)b(e,l)&&t.output.source_map.get().setSourceContent(l,e[l])}delete t.output.ast,delete t.output.code;var d=xt(t.output);u.print(d),f.code=d.get(),t.sourceMap&&(f.map=t.output.source_map.toString(),"inline"==t.sourceMap.url?f.code+="\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,"+Gr(f.map):t.sourceMap.url&&(f.code+="\n//# sourceMappingURL="+t.sourceMap.url))}return t.nameCache&&t.mangle&&(t.mangle.cache&&(t.nameCache.vars=It(t.mangle.cache)),t.mangle.properties&&t.mangle.properties.cache&&(t.nameCache.props=It(t.mangle.properties.cache))),o&&(o.end=Date.now(),f.timings={parse:.001*(o.rename-o.parse),rename:.001*(o.compress-o.rename),compress:.001*(o.scope-o.compress),scope:.001*(o.mangle-o.scope),mangle:.001*(o.properties-o.mangle),properties:.001*(o.output-o.properties),output:.001*(o.end-o.output),total:.001*(o.end-o.start)}),c.length&&(f.warnings=c),f}catch(e){return{error:e}}finally{q.warn_function=i}},O.parse=gt,O.push_uniq=d,O.OutputStream=xt,O.TreeTransformer=_t,O.TreeWalker=Te,O.string_template=m,O.Compressor=kt,O.defaults=a,O.base54=Lr,O.mangle_properties=Mt,O.reserve_quoted_keys=Ot,O.to_ascii=Ur}(true?n.exports:undefined)},8038:function(e){"use strict";const t=/^[_a-zA-Z$][_a-zA-z$0-9]*$/;const n=(e,n=0)=>{let r="";for(let i=n;i=this._length){this._resolve(this._values);return true}return false};PromiseArray.prototype._promiseCancelled=function(){this._cancel();return true};PromiseArray.prototype._promiseRejected=function(e){this._totalResolved++;this._reject(e);return true};PromiseArray.prototype._resultCancelled=function(){if(this._isResolved())return;var t=this._values;this._cancel();if(t instanceof e){t.cancel()}else{for(var n=0;n{return e.insertIndex-t.insertIndex});t(n.length);for(const e of n){t(e.start);t(e.end);t(e.content);t(e.name)}}deserialize({read:e}){const t=new f(e(),e());const n=e();for(let r=0;r0?u/Math.pow(16,a):0;if(o===0){if(c===0){n=o}else{if(Object.is(o,-0)){n=-c}else{n=c}}}else{n=o*(s+c)}}else{n=parseInt(n,16)}return n*(t!==-1?Math.pow(2,r):1)}},8093:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:true});var r={numberLiteralFromRaw:true,withLoc:true,withRaw:true,funcParam:true,indexLiteral:true,memIndexLiteral:true,instruction:true,objectInstruction:true,traverse:true,signatures:true,cloneNode:true};Object.defineProperty(t,"numberLiteralFromRaw",{enumerable:true,get:function get(){return s.numberLiteralFromRaw}});Object.defineProperty(t,"withLoc",{enumerable:true,get:function get(){return s.withLoc}});Object.defineProperty(t,"withRaw",{enumerable:true,get:function get(){return s.withRaw}});Object.defineProperty(t,"funcParam",{enumerable:true,get:function get(){return s.funcParam}});Object.defineProperty(t,"indexLiteral",{enumerable:true,get:function get(){return s.indexLiteral}});Object.defineProperty(t,"memIndexLiteral",{enumerable:true,get:function get(){return s.memIndexLiteral}});Object.defineProperty(t,"instruction",{enumerable:true,get:function get(){return s.instruction}});Object.defineProperty(t,"objectInstruction",{enumerable:true,get:function get(){return s.objectInstruction}});Object.defineProperty(t,"traverse",{enumerable:true,get:function get(){return o.traverse}});Object.defineProperty(t,"signatures",{enumerable:true,get:function get(){return a.signatures}});Object.defineProperty(t,"cloneNode",{enumerable:true,get:function get(){return c.cloneNode}});var i=n(2696);Object.keys(i).forEach(function(e){if(e==="default"||e==="__esModule")return;if(Object.prototype.hasOwnProperty.call(r,e))return;Object.defineProperty(t,e,{enumerable:true,get:function get(){return i[e]}})});var s=n(1891);var o=n(2056);var a=n(5769);var u=n(1764);Object.keys(u).forEach(function(e){if(e==="default"||e==="__esModule")return;if(Object.prototype.hasOwnProperty.call(r,e))return;Object.defineProperty(t,e,{enumerable:true,get:function get(){return u[e]}})});var c=n(797)},8110:function(e,t,n){"use strict";const r=n(5601);const i=n(4817);const s=n(6913);const o=n(3380);class RequireResolveDependencyParserPlugin{constructor(e){this.options=e}apply(e){const t=this.options;const n=(t,n)=>{if(t.arguments.length!==1)return;const r=e.evaluateExpression(t.arguments[0]);if(r.isConditional()){for(const e of r.options){const r=a(t,e,n);if(r===undefined){u(t,e,n)}}const i=new o(t.callee.range);i.loc=t.loc;e.state.current.addDependency(i);return true}else{const i=a(t,r,n);if(i===undefined){u(t,r,n)}const s=new o(t.callee.range);s.loc=t.loc;e.state.current.addDependency(s);return true}};const a=(t,n,r)=>{if(n.isString()){const i=new s(n.string,n.range);i.loc=t.loc;i.optional=!!e.scope.inTry;i.weak=r;e.state.current.addDependency(i);return true}};const u=(n,s,o)=>{const a=r.create(i,s.range,s,n,t,{mode:o?"weak":"sync"},e);if(!a)return;a.loc=n.loc;a.optional=!!e.scope.inTry;e.state.current.addDependency(a);return true};e.hooks.call.for("require.resolve").tap("RequireResolveDependencyParserPlugin",e=>{return n(e,false)});e.hooks.call.for("require.resolveWeak").tap("RequireResolveDependencyParserPlugin",e=>{return n(e,true)})}}e.exports=RequireResolveDependencyParserPlugin},8120:function(e){"use strict";class Variable{constructor(e,t){this.name=e;this.identifiers=[];this.references=[];this.defs=[];this.tainted=false;this.stack=true;this.scope=t}}Variable.CatchClause="CatchClause";Variable.Parameter="Parameter";Variable.FunctionName="FunctionName";Variable.ClassName="ClassName";Variable.Variable="Variable";Variable.ImportBinding="ImportBinding";Variable.ImplicitGlobalVariable="ImplicitGlobalVariable";e.exports=Variable},8126:function(e,t,n){"use strict";const{OriginalSource:r,RawSource:i}=n(2991);const s=n(8221);const o=n(3453);const a=n(6150);const u=n(8159);const c=n(1627);const{compareLocations:l,concatComparators:f,compareSelect:d,keepOriginalOrder:p}=n(8673);const{compareModulesById:h}=n(8673);const{contextify:m}=n(9197);const{registerNotSerializable:g}=n(4568);class ContextModule extends o{constructor(e,t){let n;let r;const i=t.resource.indexOf("?");if(i>=0){n=t.resource.substr(0,i);r=t.resource.substr(i)}else{n=t.resource;r=""}super("javascript/dynamic",n);this.resolveDependencies=e;this.options={...t,resource:n,resourceQuery:r};if(t.resolveOptions!==undefined){this.resolveOptions=t.resolveOptions}this._contextDependencies=new Set([this.context]);if(typeof t.mode!=="string"){throw new Error("options.mode is a required option")}this._identifier=this._createIdentifier();this._forceBuild=true}updateCacheModule(e){const t=e;this.resolveDependencies=t.resolveDependencies;this.options=t.options;this.resolveOptions=t.resolveOptions}prettyRegExp(e){return e.substring(1,e.length-1)}_createIdentifier(){let e=this.context;if(this.options.resourceQuery){e+=`|${this.options.resourceQuery}`}if(this.options.mode){e+=`|${this.options.mode}`}if(!this.options.recursive){e+="|nonrecursive"}if(this.options.addon){e+=`|${this.options.addon}`}if(this.options.regExp){e+=`|${this.options.regExp}`}if(this.options.include){e+=`|include: ${this.options.include}`}if(this.options.exclude){e+=`|exclude: ${this.options.exclude}`}if(this.options.groupOptions){e+=`|groupOptions: ${JSON.stringify(this.options.groupOptions)}`}if(this.options.namespaceObject==="strict"){e+="|strict namespace object"}else if(this.options.namespaceObject){e+="|namespace object"}return e}identifier(){return this._identifier}readableIdentifier(e){let t=e.shorten(this.context);if(this.options.resourceQuery){t+=` ${this.options.resourceQuery}`}if(this.options.mode){t+=` ${this.options.mode}`}if(!this.options.recursive){t+=" nonrecursive"}if(this.options.addon){t+=` ${e.shorten(this.options.addon)}`}if(this.options.regExp){t+=` ${this.prettyRegExp(this.options.regExp+"")}`}if(this.options.include){t+=` include: ${this.prettyRegExp(this.options.include+"")}`}if(this.options.exclude){t+=` exclude: ${this.prettyRegExp(this.options.exclude+"")}`}if(this.options.groupOptions){const e=this.options.groupOptions;for(const n of Object.keys(e)){t+=` ${n}: ${e[n]}`}}if(this.options.namespaceObject==="strict"){t+=" strict namespace object"}else if(this.options.namespaceObject){t+=" namespace object"}return t}libIdent(e){let t=m(e.context,this.context,e.associatedObjectForCache);if(this.options.mode){t+=` ${this.options.mode}`}if(this.options.recursive){t+=" recursive"}if(this.options.addon){t+=` ${m(e.context,this.options.addon,e.associatedObjectForCache)}`}if(this.options.regExp){t+=` ${this.prettyRegExp(this.options.regExp+"")}`}if(this.options.include){t+=` include: ${this.prettyRegExp(this.options.include+"")}`}if(this.options.exclude){t+=` exclude: ${this.prettyRegExp(this.options.exclude+"")}`}return t}invalidateBuild(){this._forceBuild=true}needBuild({fileSystemInfo:e},t){if(this._forceBuild)return t(null,true);e.getContextTimestamp(this.context,(e,n)=>{if(e||!n)return t(null,true);return t(null,n.safeTime>=this.buildInfo.builtTime)})}build(e,t,n,r,i){this._forceBuild=false;this.buildMeta={};this.buildInfo={builtTime:Date.now(),contextDependencies:this._contextDependencies};this.dependencies.length=0;this.blocks.length=0;this.resolveDependencies(r,this.options,(e,t)=>{if(e)return i(e);if(!t){i();return}for(const e of t){e.loc={name:e.userRequest};e.request=this.options.addon+e.request}t.sort(f(d(e=>e.loc,l),p(this.dependencies)));if(this.options.mode==="sync"||this.options.mode==="eager"){this.dependencies=t}else if(this.options.mode==="lazy-once"){if(t.length>0){const e=new s({...this.options.groupOptions,name:this.options.chunkName});for(const n of t){e.addDependency(n)}this.addBlock(e)}}else if(this.options.mode==="weak"||this.options.mode==="async-weak"){for(const e of t){e.weak=true}this.dependencies=t}else if(this.options.mode==="lazy"){let e=0;for(const n of t){let t=this.options.chunkName;if(t){if(!/\[(index|request)\]/.test(t)){t+="[index]"}t=t.replace(/\[index\]/g,`${e++}`);t=t.replace(/\[request\]/g,u.toPath(n.userRequest))}const r=new s({...this.options.groupOptions,name:t},n.loc,n.userRequest);r.addDependency(n);this.addBlock(r)}}else{i(new c(`Unsupported mode "${this.options.mode}" in context`));return}i()})}getUserRequestMap(e,t){const n=t.moduleGraph;return e.filter(e=>n.getModule(e)).sort((e,t)=>{if(e.userRequest===t.userRequest){return 0}return e.userRequest{const i=n.getModule(r);e[r.userRequest]=t.getModuleId(i);return e},Object.create(null))}getFakeMap(e,t){if(!this.options.namespaceObject){return 9}const n=t.moduleGraph;let r=false;let i=false;let s=false;const o=h(t);const a=e.map(e=>({module:n.getModule(e),dependency:e})).filter(e=>e.module).sort((e,t)=>o(e.module,t.module)).reduce((e,{dependency:n,module:o})=>{const a=o.buildMeta&&o.buildMeta.exportsType;const u=t.getModuleId(o);if(!a){e[u]=this.options.namespaceObject==="strict"?1:7;r=true}else if(a==="namespace"){e[u]=9;i=true}else if(a==="named"){e[u]=3;s=true}return e},Object.create(null));if(!i&&r&&!s){return this.options.namespaceObject==="strict"?1:7}if(i&&!r&&!s){return 9}if(!i&&!r&&s){return 3}if(!i&&!r&&!s){return 9}return a}getFakeMapInitStatement(e){return typeof e==="object"?`var fakeMap = ${JSON.stringify(e,null,"\t")};`:""}getReturn(e){if(e===9){return"__webpack_require__(id)"}return`${a.createFakeNamespaceObject}(id, ${e})`}getReturnModuleObjectSource(e,t="fakeMap[id]"){if(typeof e==="number"){return`return ${this.getReturn(e)};`}return`return ${a.createFakeNamespaceObject}(id, ${t})`}getSyncSource(e,t,n){const r=this.getUserRequestMap(e,n);const i=this.getFakeMap(e,n);const s=this.getReturnModuleObjectSource(i);return`var map = ${JSON.stringify(r,null,"\t")};\n${this.getFakeMapInitStatement(i)}\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\t${s}\n}\nfunction webpackContextResolve(req) {\n\tif(!Object.prototype.hasOwnProperty.call(map, req)) {\n\t\tvar e = new Error("Cannot find module '" + req + "'");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = ${JSON.stringify(t)};`}getWeakSyncSource(e,t,n){const r=this.getUserRequestMap(e,n);const i=this.getFakeMap(e,n);const s=this.getReturnModuleObjectSource(i);return`var map = ${JSON.stringify(r,null,"\t")};\n${this.getFakeMapInitStatement(i)}\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\tif(!${a.moduleFactories}[id]) {\n\t\tvar e = new Error("Module '" + req + "' ('" + id + "') is not available (weak dependency)");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\t${s}\n}\nfunction webpackContextResolve(req) {\n\tif(!Object.prototype.hasOwnProperty.call(map, req)) {\n\t\tvar e = new Error("Cannot find module '" + req + "'");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nwebpackContext.id = ${JSON.stringify(t)};\nmodule.exports = webpackContext;`}getAsyncWeakSource(e,t,n){const r=this.getUserRequestMap(e,n);const i=this.getFakeMap(e,n);const s=this.getReturnModuleObjectSource(i);return`var map = ${JSON.stringify(r,null,"\t")};\n${this.getFakeMapInitStatement(i)}\n\nfunction webpackAsyncContext(req) {\n\treturn webpackAsyncContextResolve(req).then(function(id) {\n\t\tif(!${a.moduleFactories}[id]) {\n\t\t\tvar e = new Error("Module '" + req + "' ('" + id + "') is not available (weak dependency)");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t}\n\t\t${s}\n\t});\n}\nfunction webpackAsyncContextResolve(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tif(!Object.prototype.hasOwnProperty.call(map, req)) {\n\t\t\tvar e = new Error("Cannot find module '" + req + "'");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t}\n\t\treturn map[req];\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.resolve = webpackAsyncContextResolve;\nwebpackAsyncContext.id = ${JSON.stringify(t)};\nmodule.exports = webpackAsyncContext;`}getEagerSource(e,t,n){const r=this.getUserRequestMap(e,n);const i=this.getFakeMap(e,n);const s=i!==9?`function(id) {\n\t\t${this.getReturnModuleObjectSource(i)}\n\t}`:"__webpack_require__";return`var map = ${JSON.stringify(r,null,"\t")};\n${this.getFakeMapInitStatement(i)}\n\nfunction webpackAsyncContext(req) {\n\treturn webpackAsyncContextResolve(req).then(${s});\n}\nfunction webpackAsyncContextResolve(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tif(!Object.prototype.hasOwnProperty.call(map, req)) {\n\t\t\tvar e = new Error("Cannot find module '" + req + "'");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t}\n\t\treturn map[req];\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.resolve = webpackAsyncContextResolve;\nwebpackAsyncContext.id = ${JSON.stringify(t)};\nmodule.exports = webpackAsyncContext;`}getLazyOnceSource(e,t,n,{runtimeTemplate:r,chunkGraph:i}){const s=r.blockPromise({chunkGraph:i,block:e,message:"lazy-once context",runtimeRequirements:new Set});const o=this.getUserRequestMap(t,i);const a=this.getFakeMap(t,i);const u=a!==9?`function(id) {\n\t\t${this.getReturnModuleObjectSource(a)};\n\t}`:"__webpack_require__";return`var map = ${JSON.stringify(o,null,"\t")};\n${this.getFakeMapInitStatement(a)}\n\nfunction webpackAsyncContext(req) {\n\treturn webpackAsyncContextResolve(req).then(${u});\n}\nfunction webpackAsyncContextResolve(req) {\n\treturn ${s}.then(function() {\n\t\tif(!Object.prototype.hasOwnProperty.call(map, req)) {\n\t\t\tvar e = new Error("Cannot find module '" + req + "'");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t}\n\t\treturn map[req];\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.resolve = webpackAsyncContextResolve;\nwebpackAsyncContext.id = ${JSON.stringify(n)};\nmodule.exports = webpackAsyncContext;`}getLazySource(e,t,n){const r=n.moduleGraph;let i=false;let s=true;const o=this.getFakeMap(e.map(e=>e.dependencies[0]),n);const u=typeof o==="object";const c=e.map(e=>{const t=e.dependencies[0];return{dependency:t,module:r.getModule(t),block:e,userRequest:t.userRequest,chunks:undefined}}).filter(e=>e.module);for(const e of c){const t=n.getBlockChunkGroup(e.block);const r=t&&t.chunks||[];e.chunks=r;if(r.length>0){s=false}if(r.length!==1){i=true}}const l=s&&!u;const f=c.sort((e,t)=>{if(e.userRequest===t.userRequest)return 0;return e.userRequest{const r=n.getModuleId(t.module);if(l){e[t.userRequest]=r}else{const n=[r];if(u){n.push(o[r])}e[t.userRequest]=n.concat(t.chunks.map(e=>e.id))}return e},Object.create(null));const d=u?2:1;const p=s?"Promise.resolve()":i?`Promise.all(ids.slice(${d}).map(${a.ensureChunk}))`:`${a.ensureChunk}(ids[${d}])`;const h=this.getReturnModuleObjectSource(o,l?"invalid":"ids[1]");const m=p==="Promise.resolve()"?`${l?"":""}\nfunction webpackAsyncContext(req) {\n\treturn Promise.resolve().then(function() {\n\t\tif(!Object.prototype.hasOwnProperty.call(map, req)) {\n\t\t\tvar e = new Error("Cannot find module '" + req + "'");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t}\n\n\t\t${l?"var id = map[req];":"var ids = map[req], id = ids[0];"}\n\t\t${h}\n\t});\n}`:`function webpackAsyncContext(req) {\n\tif(!Object.prototype.hasOwnProperty.call(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error("Cannot find module '" + req + "'");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn ${p}.then(function() {\n\t\t${h}\n\t});\n}`;return`var map = ${JSON.stringify(f,null,"\t")};\n${m}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = ${JSON.stringify(t)};\nmodule.exports = webpackAsyncContext;`}getSourceForEmptyContext(e){return`function webpackEmptyContext(req) {\n\tvar e = new Error("Cannot find module '" + req + "'");\n\te.code = 'MODULE_NOT_FOUND';\n\tthrow e;\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nmodule.exports = webpackEmptyContext;\nwebpackEmptyContext.id = ${JSON.stringify(e)};`}getSourceForEmptyAsyncContext(e){return`function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error("Cannot find module '" + req + "'");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = ${JSON.stringify(e)};`}getSourceString(e,{runtimeTemplate:t,chunkGraph:n}){const r=n.getModuleId(this);if(e==="lazy"){if(this.blocks&&this.blocks.length>0){return this.getLazySource(this.blocks,r,n)}return this.getSourceForEmptyAsyncContext(r)}if(e==="eager"){if(this.dependencies&&this.dependencies.length>0){return this.getEagerSource(this.dependencies,r,n)}return this.getSourceForEmptyAsyncContext(r)}if(e==="lazy-once"){const e=this.blocks[0];if(e){return this.getLazyOnceSource(e,e.dependencies,r,{runtimeTemplate:t,chunkGraph:n})}return this.getSourceForEmptyAsyncContext(r)}if(e==="async-weak"){if(this.dependencies&&this.dependencies.length>0){return this.getAsyncWeakSource(this.dependencies,r,n)}return this.getSourceForEmptyAsyncContext(r)}if(e==="weak"){if(this.dependencies&&this.dependencies.length>0){return this.getWeakSyncSource(this.dependencies,r,n)}}if(this.dependencies&&this.dependencies.length>0){return this.getSyncSource(this.dependencies,r,n)}return this.getSourceForEmptyContext(r)}getSource(e){if(this.useSourceMap){return new r(e,this.identifier())}return new i(e)}source(e){return this.getSource(this.getSourceString(this.options.mode,e))}getRuntimeRequirements({chunkGraph:e}){const t=[];const n=this.dependencies.concat(this.blocks.map(e=>e.dependencies[0]));t.push(a.module);if(n.length>0){const r=this.options.mode;t.push(a.require);if(r==="weak"){t.push(a.moduleFactories)}else if(r==="async-weak"){t.push(a.moduleFactories);t.push(a.ensureChunk)}else if(r==="lazy"||r==="lazy-once"){t.push(a.ensureChunk)}if(this.getFakeMap(n,e)!==9){t.push(a.createFakeNamespaceObject)}}return t}size(e){const t=160;return this.dependencies.reduce((e,t)=>{const n=t;return e+5+n.userRequest.length},t)}}g(ContextModule);e.exports=ContextModule},8145:function(e,t,n){"use strict";const r=n(6202);const i=n(400);class AMDRequireContextDependency extends i{constructor(e,t,n){super(e);this.range=t;this.valueRange=n}get type(){return"amd require context"}serialize(e){const{write:t}=e;t(this.range);t(this.valueRange);super.serialize(e)}deserialize(e){const{read:t}=e;this.range=t();this.valueRange=t();super.deserialize(e)}}r(AMDRequireContextDependency,"webpack/lib/dependencies/AMDRequireContextDependency");AMDRequireContextDependency.Template=n(2740);e.exports=AMDRequireContextDependency},8152:function(e,t,n){"use strict";const r=n(7332);const i=n(1165);class AsyncSeriesHookCodeFactory extends i{content({onError:e,onDone:t}){return this.callTapsSeries({onError:(t,n,r,i)=>e(n)+i(true),onDone:t})}}const s=new AsyncSeriesHookCodeFactory;class AsyncSeriesHook extends r{compile(e){s.setup(this,e);return s.create(e)}}Object.defineProperties(AsyncSeriesHook.prototype,{_call:{value:undefined,configurable:true,writable:true}});e.exports=AsyncSeriesHook},8159:function(e,t,n){"use strict";const{ConcatSource:r,PrefixSource:i}=n(2991);const s=n(2352);const{compareIds:o,compareModulesByIdOrIdentifier:a}=n(8673);const u="a".charCodeAt(0);const c="A".charCodeAt(0);const l="z".charCodeAt(0)-u+1;const f=/^function\s?\(\)\s?\{\r?\n?|\r?\n?\}$/g;const d=/^\t/gm;const p=/\r?\n/g;const h=/^([^a-zA-Z$_])/;const m=/[^a-zA-Z0-9$]+/g;const g=/\*\//g;const y=/[^a-zA-Z0-9_!§$()=\-^°]+/g;const v=/^-|-$/g;class Template{static getFunctionContent(e){return e.toString().replace(f,"").replace(d,"").replace(p,"\n")}static toIdentifier(e){if(typeof e!=="string")return"";return e.replace(h,"_$1").replace(m,"_")}static toComment(e){if(!e)return"";return`/*! ${e.replace(g,"* /")} */`}static toNormalComment(e){if(!e)return"";return`/* ${e.replace(g,"* /")} */`}static toPath(e){if(typeof e!=="string")return"";return e.replace(y,"-").replace(v,"")}static numberToIdentifier(e){if(ee)n=e}if(n<16+(""+n).length){n=0}const r=e.map(e=>(e.id+"").length+2).reduce((e,t)=>e+t,-1);const i=n===0?t:16+(""+n).length+t;return i{return{id:c.getModuleId(t),source:n.render(t,e)}});if(d&&d.length>0){d.sort(o);for(const e of d){p.push({id:e,source:"false"})}}const h=Template.getModulesArrayBounds(p);if(h){const e=h[0];const t=h[1];if(e!==0){l.add(`Array(${e}).concat(`)}l.add("[\n");const n=new Map;for(const e of p){n.set(e.id,e)}for(let r=e;r<=t;r++){const t=n.get(r);if(r!==e){l.add(",\n")}l.add(`/* ${r} */`);if(t){l.add("\n");l.add(t.source)}}l.add("\n"+i+"]");if(e!==0){l.add(")")}}else{l.add("{\n");for(let e=0;e{const t=t=>{const n=e.chunkGraph;const r=new Set;const i=new Set;for(const t of e.modules){for(const s of n.getModuleChunksIterable(t)){if(!t.chunkCondition(s,e)){r.add(s);for(const e of s.groupsIterable){i.add(e)}}}if(r.size===0)continue;const s=new Set;e:for(const n of i){for(const r of n.chunks){if(t.chunkCondition(r,e)){s.add(r);continue e}}if(n.isInitial()){throw new Error("Cannot fullfil chunk condition of "+t.identifier())}for(const e of n.parentsIterable){i.add(e)}}for(const e of r){n.disconnectChunkAndModule(e,t)}for(const e of s){n.connectChunkAndModule(e,t)}r.clear();i.clear()}};e.hooks.optimizeChunks.tap({name:"EnsureChunkConditionsPlugin",stage:r},t)})}}e.exports=EnsureChunkConditionsPlugin},8176:function(e){"use strict";class NullPrototypeObjectSerializer{serialize(e,{write:t}){const n=Object.keys(e);for(const e of n){t(e)}t(null);for(const r of n){t(e[r])}}deserialize({read:e}){const t=Object.create(null);const n=[];let r=e();while(r!==null){n.push(r);r=e()}for(const r of n){t[r]=e()}return t}}e.exports=NullPrototypeObjectSerializer},8191:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:true});var r=n(5622);function getAbsoluteMappingEntries(e,t){var n=sortByLongestPrefix(Object.keys(t));var i=[];for(var s=0,o=n;s1){t=Array.prototype.slice.call(arguments)}return e(t)};if("conversion"in e){t.conversion=e.conversion}return t}function wrapRounded(e){var t=function(t){if(t===undefined||t===null){return t}if(arguments.length>1){t=Array.prototype.slice.call(arguments)}var n=e(t);if(typeof n==="object"){for(var r=n.length,i=0;i{if(typeof e==="string"){e=r.readFileSync(i.resolve(e),"utf8");e=JSON.parse(e)}if(!c.validate(e,t)){throw new u(c.errors,n)}return true};e.exports=l},8221:function(e,t,n){"use strict";const r=n(2448);const i=n(6202);class AsyncDependenciesBlock extends r{constructor(e,t,n){super();if(typeof e==="string"){e={name:e}}else if(!e){e={name:undefined}}this.groupOptions=e;this.loc=t;this.request=n;this.parent=undefined}get chunkName(){return this.groupOptions.name}set chunkName(e){this.groupOptions.name=e}updateHash(e,t){e.update(JSON.stringify(this.groupOptions));const n=t.getBlockChunkGroup(this);e.update(n?n.id:"");super.updateHash(e,t)}serialize(e){const{write:t}=e;t(this.groupOptions);t(this.loc);t(this.request);super.serialize(e)}deserialize(e){const{read:t}=e;this.groupOptions=t();this.loc=t();this.request=t();super.deserialize(e)}}i(AsyncDependenciesBlock,"webpack/lib/AsyncDependenciesBlock");Object.defineProperty(AsyncDependenciesBlock.prototype,"module",{get(){throw new Error("module property was removed from AsyncDependenciesBlock (it's not needed)")},set(){throw new Error("module property was removed from AsyncDependenciesBlock (it's not needed)")}});e.exports=AsyncDependenciesBlock},8225:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:true});t.default=void 0;var r=_interopRequireDefault(n(6417));var i=_interopRequireDefault(n(5622));var s=n(9596);var o=n(5197);var a=_interopRequireDefault(n(910));var u=_interopRequireDefault(n(354));var c=_interopRequireDefault(n(538));var l=_interopRequireDefault(n(6349));var f=_interopRequireDefault(n(8931));var d=_interopRequireDefault(n(9482));var p=_interopRequireDefault(n(4471));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _objectSpread(e){for(var t=1;ttrue),warningsFilter:s=(()=>true),extractComments:o=false,sourceMap:a=false,cache:u=false,cacheKeys:l=(e=>e),parallel:f=false,include:p,exclude:h}=e;this.options={test:r,chunkFilter:i,warningsFilter:s,extractComments:o,sourceMap:a,cache:u,cacheKeys:l,parallel:f,include:p,exclude:h,minify:t,terserOptions:_objectSpread({output:{comments:o?false:/^\**!|@preserve|@license|@cc_on/i}},n)}}static isSourceMap(e){return Boolean(e&&e.version&&e.sources&&Array.isArray(e.sources)&&typeof e.mappings==="string")}static buildSourceMap(e){if(!e||!TerserPlugin.isSourceMap(e)){return null}return new s.SourceMapConsumer(e)}static buildError(e,t,n,r){if(e.line){const i=n&&n.originalPositionFor({line:e.line,column:e.col});if(i&&i.source&&r){return new Error(`${t} from Terser\n${e.message} [${r.shorten(i.source)}:${i.line},${i.column}][${t}:${e.line},${e.col}]`)}return new Error(`${t} from Terser\n${e.message} [${t}:${e.line},${e.col}]`)}else if(e.stack){return new Error(`${t} from Terser\n${e.stack}`)}return new Error(`${t} from Terser\n${e.message}`)}static buildWarning(e,t,n,r,i){let s=e;let o="";let a=null;if(n){const i=h.exec(e);if(i){const e=+i[1];const u=+i[2];const c=n.originalPositionFor({line:e,column:u});if(c&&c.source&&c.source!==t&&r){({source:a}=c);s=`${s.replace(h,"")}`;o=`[${r.shorten(c.source)}:${c.line},${c.column}]`}}}if(i&&!i(e,a)){return null}return`Terser Plugin: ${s}${o}`}apply(e){const t=e=>{e.useSourceMap=true};const s=(t,s,c)=>{const l=new p.default({cache:this.options.cache,parallel:this.options.parallel});const d=new WeakSet;const h=[];const{chunkFilter:m}=this.options;Array.from(s).filter(e=>m&&m(e)).reduce((e,t)=>e.concat(t.files||[]),[]).concat(t.additionalChunkAssets||[]).filter(u.default.matchObject.bind(null,this.options)).forEach(i=>{let s;const o=t.assets[i];if(d.has(o)){return}try{let u;if(this.options.sourceMap&&o.sourceAndMap){const{source:e,map:n}=o.sourceAndMap();u=e;if(TerserPlugin.isSourceMap(n)){s=n}else{s=n;t.warnings.push(new Error(`${i} contains invalid source map`))}}else{u=o.source();s=null}let c=false;if(this.options.extractComments){c=this.options.extractComments.filename||`${i}.LICENSE`;if(typeof c==="function"){c=c(i)}}const l={file:i,input:u,inputSourceMap:s,commentsFile:c,extractComments:this.options.extractComments,terserOptions:this.options.terserOptions,minify:this.options.minify};if(this.options.cache){const e={terser:f.default.version,"terser-webpack-plugin":n(7747).version,"terser-webpack-plugin-options":this.options,hash:r.default.createHash("md4").update(u).digest("hex")};l.cacheKeys=this.options.cacheKeys(e,i)}h.push(l)}catch(n){t.errors.push(TerserPlugin.buildError(n,i,TerserPlugin.buildSourceMap(s),new a.default(e.context)))}});l.run(h,(n,r)=>{if(n){t.errors.push(n);return}r.forEach((n,r)=>{const{file:s,input:u,inputSourceMap:c,commentsFile:l}=h[r];const{error:f,map:p,code:m,warnings:g}=n;let{extractedComments:y}=n;let v=null;if(f||g&&g.length>0){v=TerserPlugin.buildSourceMap(c)}if(f){t.errors.push(TerserPlugin.buildError(f,s,v,new a.default(e.context)));return}let b;if(p){b=new o.SourceMapSource(m,s,JSON.parse(p),u,c)}else{b=new o.RawSource(m)}if(l&&y&&y.length>0){if(l in t.assets){const e=t.assets[l].source();y=y.filter(t=>!e.includes(t))}if(y.length>0){if(this.options.extractComments.banner!==false){let e=this.options.extractComments.banner||`For license information please see ${i.default.posix.basename(l)}`;if(typeof e==="function"){e=e(l)}if(e){b=new o.ConcatSource(`/*! ${e} */\n`,b)}}const e=new o.RawSource(`${y.join("\n\n")}\n`);if(l in t.assets){if(t.assets[l]instanceof o.ConcatSource){t.assets[l].add("\n");t.assets[l].add(e)}else{t.assets[l]=new o.ConcatSource(t.assets[l],"\n",e)}}else{t.assets[l]=e}}}d.add(t.assets[s]=b);if(g&&g.length>0){g.forEach(n=>{const r=TerserPlugin.buildWarning(n,s,v,new a.default(e.context),this.options.warningsFilter);if(r){t.warnings.push(r)}})}});l.exit();c()})};const c={name:this.constructor.name};e.hooks.compilation.tap(c,e=>{if(this.options.sourceMap){e.hooks.buildModule.tap(c,t)}const{mainTemplate:n,chunkTemplate:r}=e;for(const e of[n,r]){e.hooks.hashForChunk.tap(c,e=>{const t=(0,l.default)({terser:f.default.version,terserOptions:this.options.terserOptions});e.update("TerserPlugin");e.update(t)})}e.hooks.optimizeChunkAssets.tapAsync(c,s.bind(this,e))})}}var m=TerserPlugin;t.default=m},8226:function(e,t){function swap(e,t,n){var r=e[t];e[t]=e[n];e[n]=r}function randomIntInRange(e,t){return Math.round(e+Math.random()*(t-e))}function doQuickSort(e,t,n,r){if(n{const n=r.resolve(t.cwd||"");const{root:s}=r.parse(n);const o=[].concat(e);return new Promise(e=>{(function find(t){i(o,{cwd:t}).then(n=>{if(n){e(r.join(t,n))}else if(t===s){e(null)}else{find(r.dirname(t))}})})(n)})});e.exports.sync=((e,t={})=>{let n=r.resolve(t.cwd||"");const{root:s}=r.parse(n);const o=[].concat(e);while(true){const e=i.sync(o,{cwd:n});if(e){return r.join(n,e)}if(n===s){return null}n=r.dirname(n)}})},8277:function(e){"use strict";e.exports=class JoinRequestPlugin{constructor(e,t){this.source=e;this.target=t}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("JoinRequestPlugin",(n,r,i)=>{const s=Object.assign({},n,{path:e.join(n.path,n.request),relativePath:n.relativePath&&e.join(n.relativePath,n.request),request:undefined});e.doResolve(t,s,null,r,i)})}}},8281:function(e,t,n){"use strict";const r=n(9983);class PrefetchDependency extends r{constructor(e){super(e)}get type(){return"prefetch"}}e.exports=PrefetchDependency},8298:function(e,t,n){"use strict";const{compareChunksNatural:r}=n(8673);const{assignAscendingChunkIds:i}=n(328);class NaturalChunkIdsPlugin{apply(e){e.hooks.compilation.tap("NaturalChunkIdsPlugin",e=>{e.hooks.chunkIds.tap("NaturalChunkIdsPlugin",t=>{const n=e.chunkGraph;const s=r(n);const o=Array.from(t).sort(s);i(o,e)})})}}e.exports=NaturalChunkIdsPlugin},8309:function(e,t,n){try{var r=n(1669);if(typeof r.inherits!=="function")throw"";e.exports=r.inherits}catch(t){e.exports=n(474)}},8330:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:true});var n=t.Space_Separator=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/;var r=t.ID_Start=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]/;var i=t.ID_Continue=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/},8333:function(e){e.exports=function normalize(e){var t=e.split(/(\\+|\/+)/);if(t.length===1)return e;var n=[];var r=0;for(var i=0,s=false;i{return d(e,null).then(r=>{if(typeof n.size==="number"&&n.size!==r.length){throw sizeError(n.size,r.length)}else if(c.checkData(r,t)){return r}else{throw integrityError(t,e)}})})}e.exports.sync=readSync;function readSync(e,t,n){n=p(n);return withContentSriSync(e,t,(e,t)=>{const r=o.readFileSync(e);if(typeof n.size==="number"&&n.size!==r.length){throw sizeError(n.size,r.length)}else if(c.checkData(r,t)){return r}else{throw integrityError(t,e)}})}e.exports.stream=readStream;e.exports.readStream=readStream;function readStream(e,t,n){n=p(n);const r=new a;withContentSri(e,t,(e,t)=>{return f(e).then(n=>({cpath:e,sri:t,stat:n}))}).then(({cpath:e,sri:t,stat:i})=>{return u(o.createReadStream(e),c.integrityStream({integrity:t,size:n.size}),r)}).catch(e=>{r.emit("error",e)});return r}let h;if(o.copyFile){e.exports.copy=copy;e.exports.copy.sync=copySync;h=r.promisify(o.copyFile)}function copy(e,t,n,r){r=p(r);return withContentSri(e,t,(e,t)=>{return h(e,n)})}function copySync(e,t,n,r){r=p(r);return withContentSriSync(e,t,(e,t)=>{return o.copyFileSync(e,n)})}e.exports.hasContent=hasContent;function hasContent(e,t){if(!t){return r.resolve(false)}return withContentSri(e,t,(e,t)=>{return f(e).then(e=>({size:e.size,sri:t,stat:e}))}).catch(e=>{if(e.code==="ENOENT"){return false}if(e.code==="EPERM"){if(process.platform!=="win32"){throw e}else{return false}}})}e.exports.hasContent.sync=hasContentSync;function hasContentSync(e,t){if(!t){return false}return withContentSriSync(e,t,(e,t)=>{try{const n=o.lstatSync(e);return{size:n.size,sri:t,stat:n}}catch(e){if(e.code==="ENOENT"){return false}if(e.code==="EPERM"){if(process.platform!=="win32"){throw e}else{return false}}}})}function withContentSri(e,t,n){return r.try(()=>{const s=c.parse(t);const o=s.pickAlgorithm();const a=s[o];if(a.length<=1){const t=i(e,a[0]);return n(t,a[0])}else{return r.any(s[s.pickAlgorithm()].map(t=>{return withContentSri(e,t,n)},{concurrency:1})).catch(e=>{if([].some.call(e,e=>e.code==="ENOENT")){throw Object.assign(new Error("No matching content found for "+s.toString()),{code:"ENOENT"})}else{throw e[0]}})}})}function withContentSriSync(e,t,n){const r=c.parse(t);const s=r.pickAlgorithm();const o=r[s];if(o.length<=1){const t=i(e,o[0]);return n(t,o[0])}else{let t=null;for(const i of r[r.pickAlgorithm()]){try{return withContentSriSync(e,i,n)}catch(e){t=e}}if(t){throw t}}}function sizeError(e,t){var n=new Error(l`Bad data size: expected inserted data to be ${e} bytes, but got ${t} instead`);n.expected=e;n.found=t;n.code="EBADSIZE";return n}function integrityError(e,t){var n=new Error(l`Integrity verification failed for ${e} (${t})`);n.code="EINTEGRITY";n.sri=e;n.path=t;return n}},8381:function(e,t,n){e.exports=globSync;globSync.GlobSync=GlobSync;var r=n(5747);var i=n(9909);var s=n(642);var o=s.Minimatch;var a=n(8750).Glob;var u=n(1669);var c=n(5622);var l=n(2357);var f=n(2963);var d=n(601);var p=d.alphasort;var h=d.alphasorti;var m=d.setopts;var g=d.ownProp;var y=d.childrenIgnored;var v=d.isIgnored;function globSync(e,t){if(typeof t==="function"||arguments.length===3)throw new TypeError("callback provided to sync glob\n"+"See: https://github.com/isaacs/node-glob/issues/167");return new GlobSync(e,t).found}function GlobSync(e,t){if(!e)throw new Error("must provide pattern");if(typeof t==="function"||arguments.length===3)throw new TypeError("callback provided to sync glob\n"+"See: https://github.com/isaacs/node-glob/issues/167");if(!(this instanceof GlobSync))return new GlobSync(e,t);m(this,e,t);if(this.noprocess)return this;var n=this.minimatch.set.length;this.matches=new Array(n);for(var r=0;rthis.maxLength)return false;if(!this.stat&&g(this.cache,t)){var i=this.cache[t];if(Array.isArray(i))i="DIR";if(!n||i==="DIR")return i;if(n&&i==="FILE")return false}var s;var o=this.statCache[t];if(!o){var a;try{a=r.lstatSync(t)}catch(e){if(e&&(e.code==="ENOENT"||e.code==="ENOTDIR")){this.statCache[t]=false;return false}}if(a&&a.isSymbolicLink()){try{o=r.statSync(t)}catch(e){o=a}}else{o=a}}this.statCache[t]=o;var i=true;if(o)i=o.isDirectory()?"DIR":"FILE";this.cache[t]=this.cache[t]||i;if(n&&i==="FILE")return false;return i};GlobSync.prototype._mark=function(e){return d.mark(this,e)};GlobSync.prototype._makeAbs=function(e){return d.makeAbs(this,e)}},8411:function(e,t,n){var r=n(5622);var i=process.platform==="win32";var s=n(5747);var o=process.env.NODE_DEBUG&&/fs/.test(process.env.NODE_DEBUG);function rethrow(){var e;if(o){var t=new Error;e=debugCallback}else e=missingCallback;return e;function debugCallback(e){if(e){t.message=e.message;e=t;missingCallback(e)}}function missingCallback(e){if(e){if(process.throwDeprecation)throw e;else if(!process.noDeprecation){var t="fs: missing callback "+(e.stack||e.message);if(process.traceDeprecation)console.trace(t);else console.error(t)}}}}function maybeCallback(e){return typeof e==="function"?e:rethrow()}var a=r.normalize;if(i){var u=/(.*?)(?:[\/\\]+|$)/g}else{var u=/(.*?)(?:[\/]+|$)/g}if(i){var c=/^(?:[a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/][^\\\/]+)?[\\\/]*/}else{var c=/^[\/]*/}t.realpathSync=function realpathSync(e,t){e=r.resolve(e);if(t&&Object.prototype.hasOwnProperty.call(t,e)){return t[e]}var n=e,o={},a={};var l;var f;var d;var p;start();function start(){var t=c.exec(e);l=t[0].length;f=t[0];d=t[0];p="";if(i&&!a[d]){s.lstatSync(d);a[d]=true}}while(l=e.length){if(t)t[o]=e;return n(null,e)}u.lastIndex=f;var r=u.exec(e);h=d;d+=r[0];p=h+r[1];f=u.lastIndex;if(l[p]||t&&t[p]===p){return process.nextTick(LOOP)}if(t&&Object.prototype.hasOwnProperty.call(t,p)){return gotResolvedLink(t[p])}return s.lstat(p,gotStat)}function gotStat(e,r){if(e)return n(e);if(!r.isSymbolicLink()){l[p]=true;if(t)t[p]=p;return process.nextTick(LOOP)}if(!i){var o=r.dev.toString(32)+":"+r.ino.toString(32);if(a.hasOwnProperty(o)){return gotTarget(null,a[o],p)}}s.stat(p,function(e){if(e)return n(e);s.readlink(p,function(e,t){if(!i)a[o]=t;gotTarget(e,t)})})}function gotTarget(e,i,s){if(e)return n(e);var o=r.resolve(h,i);if(t)t[s]=o;gotResolvedLink(o)}function gotResolvedLink(t){e=r.resolve(t,e.slice(f));start()}}},8421:function(e,t,n){"use strict";const{SyncWaterfallHook:r}=n(2960);const i=n(3080);const s=n(6150);const o=n(8159);const a=n(4038);const u=n(7656);const c=new WeakMap;class JsonpTemplatePlugin{static getCompilationHooks(e){if(!(e instanceof i)){throw new TypeError("The 'compilation' argument must be an instance of MainTemplate")}let t=c.get(e);if(t===undefined){t={jsonpScript:new r(["source","chunk","hash"]),linkPreload:new r(["source","chunk","hash"]),linkPrefetch:new r(["source","chunk","hash"])};c.set(e,t)}return t}apply(e){e.hooks.thisCompilation.tap("JsonpTemplatePlugin",e=>{new u(e).apply(e.chunkTemplate);const t=e.mainTemplate;const n=e=>{for(const t of e.groupsIterable){if(t.chunks.length>1)return true}return false};const r=t=>{const n=t.getChildIdsByOrdersMap(e.chunkGraph,true).prefetch;return n&&Object.keys(n).length};const{jsonpScript:i,linkPreload:c,linkPrefetch:l}=JsonpTemplatePlugin.getCompilationHooks(e);i.tap("JsonpTemplatePlugin",(e,n,r)=>{const i=t.outputOptions.crossOriginLoading;const a=t.outputOptions.chunkLoadTimeout;const u=t.outputOptions.jsonpScriptType;return o.asString(["var script = document.createElement('script');","var onScriptComplete;",u?`script.type = ${JSON.stringify(u)};`:"","script.charset = 'utf-8';",`script.timeout = ${a/1e3};`,`if (${s.scriptNonce}) {`,o.indent(`script.setAttribute("nonce", ${s.scriptNonce});`),"}",`script.src = url;`,i?o.asString(["if (script.src.indexOf(window.location.origin + '/') !== 0) {",o.indent(`script.crossOrigin = ${JSON.stringify(i)};`),"}"]):"","// create error before stack unwound to get useful stacktrace later","var error = new Error();","onScriptComplete = function (event) {",o.indent(["// avoid mem leaks in IE.","script.onerror = script.onload = null;","clearTimeout(timeout);","var reportError = loadingEnded();","if(reportError) {",o.indent(["var errorType = event && (event.type === 'load' ? 'missing' : event.type);","var realSrc = event && event.target && event.target.src;","error.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';","error.name = 'ChunkLoadError';","error.type = errorType;","error.request = realSrc;","reportError(error);"]),"}"]),"};","var timeout = setTimeout(function(){",o.indent(["onScriptComplete({ type: 'timeout', target: script });"]),`}, ${a});`,"script.onerror = script.onload = onScriptComplete;"])});c.tap("JsonpTemplatePlugin",(e,n,r)=>{const i=t.outputOptions.crossOriginLoading;const a=t.outputOptions.jsonpScriptType;return o.asString(["var link = document.createElement('link');",a?`link.type = ${JSON.stringify(a)};`:"","link.charset = 'utf-8';",`if (${s.scriptNonce}) {`,o.indent(`link.setAttribute("nonce", ${s.scriptNonce});`),"}",'link.rel = "preload";','link.as = "script";',`link.href = ${s.publicPath} + ${s.getChunkScriptFilename}(chunkId);`,i?o.asString(["if (link.href.indexOf(window.location.origin + '/') !== 0) {",o.indent(`link.crossOrigin = ${JSON.stringify(i)};`),"}"]):""])});l.tap("JsonpTemplatePlugin",(e,n,r)=>{const i=t.outputOptions.crossOriginLoading;return o.asString(["var link = document.createElement('link');",i?`link.crossOrigin = ${JSON.stringify(i)};`:"",`if (${s.scriptNonce}) {`,o.indent(`link.setAttribute("nonce", ${s.scriptNonce});`),"}",'link.rel = "prefetch";','link.as = "script";',`link.href = ${s.publicPath} + ${s.getChunkScriptFilename}(chunkId);`])});const f=new WeakSet;const d=(t,n)=>{if(f.has(t))return;f.add(t);n.add(s.moduleFactories);e.addRuntimeModule(t,new a(t,e.chunkGraph,e.outputOptions,n,i,c,l))};e.hooks.runtimeRequirementInTree.for(s.ensureChunkHandlers).tap("JsonpTemplatePlugin",d);e.hooks.runtimeRequirementInTree.for(s.hmrDownloadUpdateHandlers).tap("JsonpTemplatePlugin",d);e.hooks.runtimeRequirementInTree.for(s.hmrDownloadManifest).tap("JsonpTemplatePlugin",d);e.hooks.runtimeRequirementInTree.for(s.ensureChunkHandlers).tap("JsonpTemplatePlugin",(e,t)=>{t.add(s.publicPath);t.add(s.getChunkScriptFilename)});e.hooks.runtimeRequirementInTree.for(s.hmrDownloadUpdateHandlers).tap("JsonpTemplatePlugin",(e,t)=>{t.add(s.publicPath);t.add(s.getChunkUpdateScriptFilename);t.add(s.moduleCache);t.add(s.hmrModuleData);t.add(s.moduleFactories)});e.hooks.runtimeRequirementInTree.for(s.hmrDownloadManifest).tap("JsonpTemplatePlugin",(e,t)=>{t.add(s.publicPath);t.add(s.getUpdateManifestFilename)});e.hooks.additionalTreeRuntimeRequirements.tap("JsonpTemplatePlugin",(e,t)=>{const i=n(e);if(i||r(e)){t.add(s.startup);if(i)t.add(s.startupNoDefault);d(e,t)}})})}}e.exports=JsonpTemplatePlugin},8438:function(e,t,n){"use strict";const r=n(5747);const i=n(5622);const s=n(6375);const o=n(2729);const a={mode:511&~process.umask(),fs:r};const u=o.satisfies(process.version,">=10.12.0");const c=e=>{if(process.platform==="win32"){const t=/[<>:"|?*]/.test(e.replace(i.parse(e).root,""));if(t){const t=new Error(`Path contains invalid characters: ${e}`);t.code="EINVAL";throw t}}};const l=e=>{const t=new Error(`operation not permitted, mkdir '${e}'`);t.code="EPERM";t.errno=-4048;t.path=e;t.syscall="mkdir";return t};const f=(e,t)=>Promise.resolve().then(()=>{c(e);t=Object.assign({},a,t);const n=s(t.fs.mkdir);const o=s(t.fs.stat);if(u&&t.fs.mkdir===r.mkdir){const r=i.resolve(e);return n(r,{mode:t.mode,recursive:true}).then(()=>r)}const f=e=>{return n(e,t.mode).then(()=>e).catch(t=>{if(t.code==="EPERM"){throw t}if(t.code==="ENOENT"){if(i.dirname(e)===e){throw l(e)}if(t.message.includes("null bytes")){throw t}return f(i.dirname(e)).then(()=>f(e))}return o(e).then(t=>t.isDirectory()?e:Promise.reject()).catch(()=>{throw t})})};return f(i.resolve(e))});e.exports=f;e.exports.default=f;e.exports.sync=((e,t)=>{c(e);t=Object.assign({},a,t);if(u&&t.fs.mkdirSync===r.mkdirSync){const n=i.resolve(e);r.mkdirSync(n,{mode:t.mode,recursive:true});return n}const n=e=>{try{t.fs.mkdirSync(e,t.mode)}catch(r){if(r.code==="EPERM"){throw r}if(r.code==="ENOENT"){if(i.dirname(e)===e){throw l(e)}if(r.message.includes("null bytes")){throw r}n(i.dirname(e));return n(e)}try{if(!t.fs.statSync(e).isDirectory()){throw new Error("The path is not a directory")}}catch(e){throw r}}return e};return n(i.resolve(e))})},8455:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:true});var r=n(5622);var i=n(5622);var s=n(9711);function getPathsToTry(e,t,n){if(n[0]==="."||n[0]===r.sep||!t||!n){return undefined}var i=[];for(var s=0,o=t;s{const u=i.getField(n.descriptionFileData,"concord");if(!u)return a();const c=r.getExtensions(n.context,u);if(!c)return a();s(c,(r,i)=>{const s=Object.assign({},n,{path:n.path+r,relativePath:n.relativePath&&n.relativePath+r});e.doResolve(t,s,"concord extension: "+r,o,i)},(e,t)=>{if(e)return a(e);if(t===undefined)return a(null,null);a(null,t)})})}}},8494:function(e,t,n){"use strict";const r=n(7788);const i=n(9043);const s=n(7746);const o=n(3273);e.exports=function fromStringWithSourceMap(e,t){const n=t.sources;const a=t.sourcesContent;const u=t.mappings.split(";");const c=e.split("\n");const l=[];let f=null;let d=1;let p=0;let h;function addCode(e){if(f&&f instanceof s){f.addGeneratedCode(e)}else if(f&&f instanceof i&&!e.trim()){f.addGeneratedCode(e);h++}else{f=new s(e);l.push(f)}}function addSource(e,t,n,r){if(f&&f instanceof i&&f.source===t&&h===r){f.addGeneratedCode(e);h++}else{f=new i(e,t,n,r);h=r+1;l.push(f)}}u.forEach(function(e,t){let n=c[t];if(typeof n==="undefined")return;if(t!==c.length-1)n+="\n";if(!e)return addCode(n);e={value:0,rest:e};let r=false;while(e.rest)r=processMapping(e,n,r)||r;if(!r)addCode(n)});if(u.lengtht?unescape(t):n))}else{throw new Error(`Invalid Chalk template style argument: ${t} (in style '${e}')`)}}return n}function parseStyle(e){n.lastIndex=0;const t=[];let r;while((r=n.exec(e))!==null){const e=r[1];if(r[2]){const n=parseArguments(e,r[2]);t.push([e].concat(n))}else{t.push([e])}}return t}function buildStyle(e,t){const n={};for(const e of t){for(const t of e.styles){n[t[0]]=e.inverse?null:t.slice(1)}}let r=e;for(const e of Object.keys(n)){if(Array.isArray(n[e])){if(!(e in r)){throw new Error(`Unknown Chalk style: ${e}`)}if(n[e].length>0){r=r[e].apply(r,n[e])}else{r=r[e]}}}return r}e.exports=((e,n)=>{const r=[];const i=[];let s=[];n.replace(t,(t,n,o,a,u,c)=>{if(n){s.push(unescape(n))}else if(a){const t=s.join("");s=[];i.push(r.length===0?t:buildStyle(e,r)(t));r.push({inverse:o,styles:parseStyle(a)})}else if(u){if(r.length===0){throw new Error("Found extraneous } in Chalk template literal")}i.push(buildStyle(e,r)(s.join("")));s=[];r.pop()}else{s.push(c)}});i.push(s.join(""));if(r.length>0){const e=`Chalk template literal is missing ${r.length} closing bracket${r.length===1?"":"s"} (\`}\`)`;throw new Error(e)}return i.join("")})},8573:function(e,t,n){"use strict";var r=n(3292);var i=n(9596).SourceNode;var s=/\n(?=.|\s)/g;function cloneAndPrefix(e,t,n){if(typeof e==="string"){var r=e.replace(s,"\n"+t);if(n.length>0)r=n.pop()+r;if(/\n$/.test(e))n.push(t);return r}else{var o=new i(e.line,e.column,e.source,e.children.map(function(e){return cloneAndPrefix(e,t,n)}),e.name);o.sourceContents=e.sourceContents;return o}}class PrefixSource extends r{constructor(e,t){super();this._source=t;this._prefix=e}source(){var e=typeof this._source==="string"?this._source:this._source.source();var t=this._prefix;return t+e.replace(s,"\n"+t)}node(e){var t=this._source.node(e);var n=[this._prefix];return new i(null,null,null,[cloneAndPrefix(t,this._prefix,n)])}listMap(e){var t=this._prefix;var n=this._source.listMap(e);return n.mapGeneratedCode(function(e){return t+e.replace(s,"\n"+t)})}updateHash(e){if(typeof this._source==="string")e.update(this._source);else this._source.updateHash(e);if(typeof this._prefix==="string")e.update(this._prefix);else this._prefix.updateHash(e)}}n(3713)(PrefixSource.prototype);e.exports=PrefixSource},8614:function(e){e.exports=require("events")},8632:function(e){"use strict";e.exports=function generate_patternRequired(e,t,n){var r=" ";var i=e.level;var s=e.dataLevel;var o=e.schema[t];var a=e.schemaPath+e.util.getProperty(t);var u=e.errSchemaPath+"/"+t;var c=!e.opts.allErrors;var l="data"+(s||"");var f="valid"+i;var d="key"+i,p="idx"+i,h="patternMatched"+i,m="dataProperties"+i,g="",y=e.opts.ownProperties;r+="var "+f+" = true;";if(y){r+=" var "+m+" = undefined;"}var v=o;if(v){var b,w=-1,E=v.length-1;while(wt;class HookMap{constructor(e){this._map=new Map;this._factory=e;this._interceptors=[]}get(e){return this._map.get(e)}for(e){const t=this.get(e);if(t!==undefined){return t}let n=this._factory(e);const r=this._interceptors;for(let t=0;t{const t=new WeakMap;return n=>{const r=t.get(n);if(r!==undefined)return r;const i=(t,r)=>{return e(n,t,r)};t.set(n,i);return i}};t.compareChunksById=((e,t)=>{return l(e.id,t.id)});t.compareModulesByIdentifier=((e,t)=>{return l(e.identifier(),t.identifier())});const r=(e,t,n)=>{return l(e.getModuleId(t),e.getModuleId(n))};t.compareModulesById=n(r);const i=(e,t)=>{if(typeof e!==typeof t){return typeof et)return 1;return 0};t.compareNumbers=i;const s=(e,t)=>{const n=e.split(/(\d+)/);const r=t.split(/(\d+)/);const i=Math.min(n.length,r.length);for(let e=0;ei.length){if(t.slice(0,i.length)>i)return 1;return-1}else if(i.length>t.length){if(i.slice(0,t.length)>t)return-1;return 1}else{if(ti)return 1}}else{const e=+t;const n=+i;if(en)return 1}}if(r.lengthn.length)return-1;return 0};t.compareStringsNumeric=s;const o=(e,t,n)=>{const r=i(e.getPostOrderIndex(t),e.getPostOrderIndex(n));if(r!==0)return r;return l(t.identifier(),n.identifier())};t.compareModulesByPostOrderIndexOrIdentifier=n(o);const a=(e,t,n)=>{const r=i(e.getPreOrderIndex(t),e.getPreOrderIndex(n));if(r!==0)return r;return l(t.identifier(),n.identifier())};t.compareModulesByPreOrderIndexOrIdentifier=n(a);const u=(e,t,n)=>{const r=l(e.getModuleId(t),e.getModuleId(n));if(r!==0)return r;return l(t.identifier(),n.identifier())};t.compareModulesByIdOrIdentifier=n(u);const c=(e,t,n)=>{return e.compareChunks(t,n)};t.compareChunks=n(c);const l=(e,t)=>{if(typeof e!==typeof t){return typeof et)return 1;return 0};t.compareIds=l;class TwoKeyWeakMap{constructor(){this._map=new WeakMap}get(e,t){const n=this._map.get(e);if(n===undefined){return undefined}return n.get(t)}set(e,t,n){let r=this._map.get(e);if(r===undefined){r=new WeakMap;this._map.set(e,r)}r.set(t,n)}}const f=new TwoKeyWeakMap;const d=(e,t,...n)=>{if(n.length>0){const[r,...i]=n;return d(e,d(t,r,...i))}const r=f.get(e,t);if(r!==undefined)return r;const i=(n,r)=>{const i=e(n,r);if(i!==0)return i;return t(n,r)};f.set(e,t,i);return i};t.concatComparators=d;const p=new TwoKeyWeakMap;const h=(e,t)=>{const n=p.get(e,t);if(n!==undefined)return n;const r=(n,r)=>{const i=e(n);const s=e(r);if(i!==undefined&&i!==null){if(s!==undefined&&s!==null){return t(i,s)}return-1}else{if(s!==undefined&&s!==null){return 1}return 0}};p.set(e,t,r);return r};t.compareSelect=h;const m=new WeakMap;const g=e=>{const t=m.get(e);if(t!==undefined)return t;const n=(t,n)=>{const r=t[Symbol.iterator]();const i=n[Symbol.iterator]();while(true){const t=r.next();const n=i.next();if(t.done){return n.done?0:-1}else if(n.done){return 1}const s=e(t.value,n.value);if(s!==0)return s}};m.set(e,n);return n};t.compareIterables=g;t.keepOriginalOrder=(e=>{const t=new Map;let n=0;for(const r of e){t.set(r,n++)}return(e,n)=>i(t.get(e),t.get(n))});t.compareChunksNatural=(e=>{const n=t.compareModulesById(e);const r=g(n);return d(h(t=>e.getOrderedChunkModulesIterable(t,n),r),h(e=>e.name,l))});t.compareLocations=((e,t)=>{let n=typeof e==="object"&&e!==null;let r=typeof t==="object"&&t!==null;if(!n||!r){if(n)return 1;if(r)return-1;return 0}if("start"in e&&"start"in t){const n=e.start;const r=t.start;if(n.liner.line)return 1;if(n.columnr.column)return 1}if("name"in e&&"name"in t){if(e.namet.name)return 1}if("index"in e&&"index"in t){if(e.indext.index)return 1}return 0})},8676:function(e){"use strict";e.exports=function generate_pattern(e,t,n){var r=" ";var i=e.level;var s=e.dataLevel;var o=e.schema[t];var a=e.schemaPath+e.util.getProperty(t);var u=e.errSchemaPath+"/"+t;var c=!e.opts.allErrors;var l="data"+(s||"");var f=e.opts.$data&&o&&o.$data,d;if(f){r+=" var schema"+i+" = "+e.util.getData(o.$data,s,e.dataPathArr)+"; ";d="schema"+i}else{d=o}var p=f?"(new RegExp("+d+"))":e.usePattern(o);r+="if ( ";if(f){r+=" ("+d+" !== undefined && typeof "+d+" != 'string') || "}r+=" !"+p+".test("+l+") ) { ";var h=h||[];h.push(r);r="";if(e.createErrors!==false){r+=" { keyword: '"+"pattern"+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { pattern: ";if(f){r+=""+d}else{r+=""+e.util.toQuotedString(o)}r+=" } ";if(e.opts.messages!==false){r+=" , message: 'should match pattern \"";if(f){r+="' + "+d+" + '"}else{r+=""+e.util.escapeQuotes(o)}r+="\"' "}if(e.opts.verbose){r+=" , schema: ";if(f){r+="validate.schema"+a}else{r+=""+e.util.toQuotedString(o)}r+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "}r+=" } "}else{r+=" {} "}var m=r;r=h.pop();if(!e.compositeRule&&c){if(e.async){r+=" throw new ValidationError(["+m+"]); "}else{r+=" validate.errors = ["+m+"]; return false; "}}else{r+=" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}r+="} ";if(c){r+=" else { "}return r}},8681:function(e,t,n){"use strict";const r=n(6853);const i=r.promisify(n(5985));const s=r.promisify(n(485));const o=n(7393);e.exports.chownr=fixOwner;function fixOwner(e,t,n){if(!process.getuid){return r.resolve()}if(typeof t!=="number"&&typeof n!=="number"){return r.resolve()}if(typeof t==="number"&&process.getuid()===t&&(typeof n==="number"&&process.getgid()===n)){return r.resolve()}return o("fixOwner: fixing ownership on "+e,()=>i(e,typeof t==="number"?t:process.getuid(),typeof n==="number"?n:process.getgid()).catch({code:"ENOENT"},()=>null))}e.exports.chownr.sync=fixOwnerSync;function fixOwnerSync(e,t,n){if(!process.getuid){return}if(typeof t!=="number"&&typeof n!=="number"){return}if(typeof t==="number"&&process.getuid()===t&&(typeof n==="number"&&process.getgid()===n)){return}try{i.sync(e,typeof t==="number"?t:process.getuid(),typeof n==="number"?n:process.getgid())}catch(e){if(e.code==="ENOENT"){return null}}}e.exports.mkdirfix=mkdirfix;function mkdirfix(e,t,n,r){return s(e).then(e=>{if(e){return fixOwner(e,t,n).then(()=>e)}}).catch({code:"EEXIST"},()=>{return fixOwner(e,t,n).then(()=>null)})}e.exports.mkdirfix.sync=mkdirfixSync;function mkdirfixSync(e,t,n){try{const r=s.sync(e);if(r){fixOwnerSync(r,t,n);return r}}catch(r){if(r.code==="EEXIST"){fixOwnerSync(e,t,n);return null}else{throw r}}}},8688:function(e){"use strict";e.exports=parseJson;function parseJson(e,t,n){n=n||20;try{return JSON.parse(e,t)}catch(t){if(typeof e!=="string"){const t=Array.isArray(e)&&e.length===0;const n="Cannot parse "+(t?"an empty array":String(e));throw new TypeError(n)}const r=t.message.match(/^Unexpected token.*position\s+(\d+)/i);const i=r?+r[1]:t.message.match(/^Unexpected end of JSON.*/i)?e.length-1:null;if(i!=null){const r=i<=n?0:i-n;const s=i+n>=e.length?e.length:i+n;t.message+=` while parsing near '${r===0?"":"..."}${e.slice(r,s)}${s===e.length?"":"..."}'`}else{t.message+=` while parsing '${e.slice(0,n*2)}'`}throw t}}},8692:function(e,t,n){"use strict";const r=n(7503);const i=n(3065);const s=11;const o=12;const a=13;const u=14;const c=15;const l=240;const f=16;const d=224;const p=96;const h=64;const m=32;const g=128;const y=Symbol("MEASURE_START_OPERATION");const v=Symbol("MEASURE_END_OPERATION");const b=e=>{if(e===(e|0)){if(e<=127&&e>=-128)return 0;if(e<=2147483647&&e>=-2147483648)return 1}return 2};class BinaryMiddleware extends i{_handleFunctionSerialization(e,t){return r(()=>{const n=e();if(n instanceof Promise)return n.then(e=>e&&this.serialize(e,t));if(n)return this.serialize(n,t);return null})}_handleFunctionDeserialization(e,t){return r(()=>{const n=e();if(n instanceof Promise)return n.then(e=>this.deserialize(e,t));return this.deserialize(n,t)})}serialize(e,t){let n=null;let r=0;const i=[];const s=(e,t=false)=>{if(n!==null){if(n.length-r>=e)return;l()}n=Buffer.allocUnsafe(t?e:Math.max(e,1024))};const l=()=>{if(n!==null){i.push(n.slice(0,r));n=null;r=0}};const d=e=>{n.writeUInt8(e,r++)};const w=e=>{n.writeUInt32LE(e,r);r+=4};const E=[];const _=()=>{E.push(i.length,r)};const S=()=>{const e=E.pop();const t=E.pop();let n=r-e;for(let e=t;e=128){s(e+5);d(u);w(e)}else{s(e+1);d(g|e)}n.write(k,r);r+=e;break}case"number":{const t=b(k);if(t===0&&k>=0&&k<=10){s(1);d(k);break}let i;for(i=1;i<32&&E+i0){n.writeInt8(e[E],r);r++;i--;E++}break;case 1:s(1+4*i);d(h|i-1);while(i>0){n.writeInt32LE(e[E],r);r+=4;i--;E++}break;case 2:s(1+8*i);d(m|i-1);while(i>0){n.writeDoubleLE(e[E],r);r+=8;i--;E++}break}E--;break}case"boolean":s(1);d(k===true?o:a);break;case"object":{if(k===null){let t;for(t=1;t<16&&E+t{if(i>=r.length){i=0;n++;r=n{if(r===null)throw new Error("Unexpected end of stream");if(!Buffer.isBuffer(r))throw new Error("Unexpected lazy element in stream");const t=r.length-i;if(t{if(r===null)throw new Error("Unexpected end of stream");if(!Buffer.isBuffer(r))throw new Error("Unexpected lazy element in stream");const e=r.readUInt8(i);i++;y();return e};const w=()=>{return v(4).readUInt32LE(0)};const E=[];while(r!==null){if(typeof r==="function"){E.push(this._handleFunctionDeserialization(r,t));n++;r=n0&&r.every(shouldBeStatically)}__staticCloseRef(e){if(!this.__resolve(e)){this.__delegateToUpperScope(e)}}__dynamicCloseRef(e){let t=this;do{t.through.push(e);t=t.upper}while(t)}__globalCloseRef(e){if(this.__shouldStaticallyCloseForGlobal(e)){this.__staticCloseRef(e)}else{this.__dynamicCloseRef(e)}}__close(e){let t;if(this.__shouldStaticallyClose(e)){t=this.__staticCloseRef}else if(this.type!=="global"){t=this.__dynamicCloseRef}else{t=this.__globalCloseRef}for(let e=0,n=this.__left.length;ee.name.range[0]>=n))}}class ForScope extends Scope{constructor(e,t,n){super(e,"for",t,n,false)}}class ClassScope extends Scope{constructor(e,t,n){super(e,"class",t,n,false)}}e.exports={Scope:Scope,GlobalScope:GlobalScope,ModuleScope:ModuleScope,FunctionExpressionNameScope:FunctionExpressionNameScope,CatchScope:CatchScope,WithScope:WithScope,BlockScope:BlockScope,SwitchScope:SwitchScope,FunctionScope:FunctionScope,ForScope:ForScope,ClassScope:ClassScope}},8706:function(e,t,n){"use strict";const r=n(7737);class Dependency{constructor(){this.weak=false;this.optional=false;this.loc=undefined}get type(){return"unknown"}getResourceIdentifier(){return null}getReference(e){const t=e.getModule(this);if(!t)return null;return new r(()=>e.getModule(this),r.NS_OBJECT_IMPORTED,this.weak)}getExports(e){return undefined}getWarnings(e){return null}getErrors(e){return null}updateHash(e,t){const n=t.moduleGraph.getModule(this);if(n){e.update(t.getModuleId(n)+"")}}getNumberOfIdOccurrences(){return 1}serialize({write:e}){e(this.weak);e(this.optional);e(this.loc)}deserialize({read:e}){this.weak=e();this.optional=e();this.loc=e()}}Object.defineProperty(Dependency.prototype,"module",{get(){throw new Error("module property was removed from Dependency (use compilation.moduleGraph.getModule(dependency) instead)")},set(){throw new Error("module property was removed from Dependency (use compilation.moduleGraph.updateModule(dependency, module) instead)")}});Object.defineProperty(Dependency.prototype,"disconnect",{get(){throw new Error("disconnect was removed from Dependency (Dependency no longer carries graph specific information)")}});e.exports=Dependency},8722:function(e,t,n){"use strict";const{toConstantDependency:r}=n(2912);const i=n(6150);const s=n(1454);const o=n(7313);const a=n(5601);const u=n(4229);const{getLocalModule:c}=n(1701);const l=n(340);class CommonJsRequireDependencyParserPlugin{constructor(e){this.options=e}apply(e){const t=this.options;const n=(t,n)=>{if(n.isString()){const r=new o(n.string,n.range);r.loc=t.loc;r.optional=!!e.scope.inTry;e.state.current.addDependency(r);return true}};const f=(n,r)=>{const i=a.create(s,n.range,r,n,t,{},e);if(!i)return;i.loc=n.loc;i.optional=!!e.scope.inTry;e.state.current.addDependency(i);return true};e.hooks.expression.for("require.cache").tap("CommonJsRequireDependencyParserPlugin",r(e,i.moduleCache,[i.moduleCache]));e.hooks.expression.for("require").tap("CommonJsRequireDependencyParserPlugin",n=>{const r=new s({request:t.unknownContextRequest,recursive:t.unknownContextRecursive,regExp:t.unknownContextRegExp,mode:"sync"},n.range);r.critical=t.unknownContextCritical&&"require function is used in a way in which dependencies cannot be statically extracted";r.loc=n.loc;r.optional=!!e.scope.inTry;e.state.current.addDependency(r);return true});const d=t=>r=>{if(r.arguments.length!==1)return;let i;const s=e.evaluateExpression(r.arguments[0]);if(s.isConditional()){let t=false;const i=e.state.current.dependencies.length;const o=new l(r.callee.range);o.loc=r.loc;e.state.current.addDependency(o);for(const e of s.options){const i=n(r,e);if(i===undefined){t=true}}if(t){e.state.current.dependencies.length=i}else{return true}}if(s.isString()&&(i=c(e.state,s.string))){i.flagUsed();const n=new u(i,r.range,t);n.loc=r.loc;e.state.current.addDependency(n);return true}else{const t=n(r,s);if(t===undefined){f(r,s)}else{const t=new l(r.callee.range);t.loc=r.loc;e.state.current.addDependency(t)}return true}};e.hooks.call.for("require").tap("CommonJsRequireDependencyParserPlugin",d(false));e.hooks.new.for("require").tap("CommonJsRequireDependencyParserPlugin",d(true));e.hooks.call.for("module.require").tap("CommonJsRequireDependencyParserPlugin",d(false));e.hooks.new.for("module.require").tap("CommonJsRequireDependencyParserPlugin",d(true))}}e.exports=CommonJsRequireDependencyParserPlugin},8732:function(e){"use strict";var t=/[|\\{}()[\]^$+*?.]/g;e.exports=function(e){if(typeof e!=="string"){throw new TypeError("Expected a string")}return e.replace(t,"\\$&")}},8746:function(e,t,n){"use strict";const{ConcatSource:r}=n(2991);const i=n(6734);const s=n(8159);class AmdMainTemplatePlugin{constructor(e){if(!e||typeof e==="string"){this.name=e;this.requireAsWrapper=false}else{this.name=e.name;this.requireAsWrapper=e.requireAsWrapper}}apply(e){const{mainTemplate:t,chunkTemplate:n}=e;const o=(n,o,a)=>{const u=e.chunkGraph;const c=u.getChunkModules(o).filter(e=>e instanceof i);const l=c;const f=JSON.stringify(l.map(e=>typeof e.request==="object"&&!Array.isArray(e.request)?e.request.amd:e.request));const d=l.map(e=>`__WEBPACK_EXTERNAL_MODULE_${s.toIdentifier(`${u.getModuleId(e)}`)}__`).join(", ");if(this.requireAsWrapper){return new r(`require(${f}, function(${d}) { return `,n,"});")}else if(this.name){const e=t.getAssetPath(this.name,{hash:a,chunk:o});return new r(`define(${JSON.stringify(e)}, ${f}, function(${d}) { return `,n,"});")}else if(d){return new r(`define(${f}, function(${d}) { return `,n,"});")}else{return new r("define(function() { return ",n,"});")}};t.hooks.renderWithEntry.tap("AmdMainTemplatePlugin",o);n.hooks.renderWithEntry.tap("AmdMainTemplatePlugin",o);t.hooks.hash.tap("AmdMainTemplatePlugin",e=>{e.update("exports amd");if(this.name){e.update(this.name)}})}}e.exports=AmdMainTemplatePlugin},8750:function(e,t,n){e.exports=glob;var r=n(5747);var i=n(9909);var s=n(642);var o=s.Minimatch;var a=n(8309);var u=n(8614).EventEmitter;var c=n(5622);var l=n(2357);var f=n(2963);var d=n(8381);var p=n(601);var h=p.alphasort;var m=p.alphasorti;var g=p.setopts;var y=p.ownProp;var v=n(8753);var b=n(1669);var w=p.childrenIgnored;var E=p.isIgnored;var _=n(6481);function glob(e,t,n){if(typeof t==="function")n=t,t={};if(!t)t={};if(t.sync){if(n)throw new TypeError("callback provided to sync glob");return d(e,t)}return new Glob(e,t,n)}glob.sync=d;var S=glob.GlobSync=d.GlobSync;glob.glob=glob;function extend(e,t){if(t===null||typeof t!=="object"){return e}var n=Object.keys(t);var r=n.length;while(r--){e[n[r]]=t[n[r]]}return e}glob.hasMagic=function(e,t){var n=extend({},t);n.noprocess=true;var r=new Glob(e,n);var i=r.minimatch.set;if(!e)return false;if(i.length>1)return true;for(var s=0;sthis.maxLength)return t();if(!this.stat&&y(this.cache,n)){var s=this.cache[n];if(Array.isArray(s))s="DIR";if(!i||s==="DIR")return t(null,s);if(i&&s==="FILE")return t()}var o;var a=this.statCache[n];if(a!==undefined){if(a===false)return t(null,a);else{var u=a.isDirectory()?"DIR":"FILE";if(i&&u==="FILE")return t();else return t(null,u,a)}}var c=this;var l=v("stat\0"+n,lstatcb_);if(l)r.lstat(n,l);function lstatcb_(i,s){if(s&&s.isSymbolicLink()){return r.stat(n,function(r,i){if(r)c._stat2(e,n,null,s,t);else c._stat2(e,n,r,i,t)})}else{c._stat2(e,n,i,s,t)}}};Glob.prototype._stat2=function(e,t,n,r,i){if(n&&(n.code==="ENOENT"||n.code==="ENOTDIR")){this.statCache[t]=false;return i()}var s=e.slice(-1)==="/";this.statCache[t]=r;if(t.slice(-1)==="/"&&r&&!r.isDirectory())return i(null,false,r);var o=true;if(r)o=r.isDirectory()?"DIR":"FILE";this.cache[t]=this.cache[t]||o;if(s&&o==="FILE")return i();return i(null,o,r)}},8752:function(e,t,n){"use strict";const r=n(6202);const i=n(2197);class HarmonyExportHeaderDependency extends i{constructor(e,t){super();this.range=e;this.rangeStatement=t}get type(){return"harmony export header"}serialize(e){const{write:t}=e;t(this.range);t(this.rangeStatement);super.serialize(e)}deserialize(e){const{read:t}=e;this.range=t();this.rangeStatement=t();super.deserialize(e)}}r(HarmonyExportHeaderDependency,"webpack/lib/dependencies/HarmonyExportHeaderDependency");HarmonyExportHeaderDependency.Template=class HarmonyExportDependencyTemplate extends i.Template{apply(e,t,n){const r=e;const i="";const s=r.range?r.range[0]-1:r.rangeStatement[1]-1;t.replace(r.rangeStatement[0],s,i)}};e.exports=HarmonyExportHeaderDependency},8753:function(e,t,n){var r=n(3687);var i=Object.create(null);var s=n(6481);e.exports=r(inflight);function inflight(e,t){if(i[e]){i[e].push(t);return null}else{i[e]=[t];return makeres(e)}}function makeres(e){return s(function RES(){var t=i[e];var n=t.length;var r=slice(arguments);try{for(var s=0;sn){t.splice(0,n);process.nextTick(function(){RES.apply(null,r)})}else{delete i[e]}}})}function slice(e){var t=e.length;var n=[];for(var r=0;r{const{moduleGraph:t}=e;e.hooks.finishModules.tap("InferAsyncModulesPlugin",n=>{const o=new Set;for(const e of n){if(e.buildMeta&&e.buildMeta.async){o.add(e)}}for(const n of o){t.setAsync(n);const a=t.getIncomingConnections(n);for(const t of a){const a=t.dependency;if(a instanceof i){if(this.errorOnMissingAwait&&a instanceof s&&!a.await){const t=new r("Tried to import async module with normal import/export (must use 'import await'/'export await' instead)");t.module=n;t.loc=a.loc;e.errors.push(t)}o.add(t.originModule)}}}})})}}e.exports=InferAsyncModulesPlugin},8779:function(e,t,n){"use strict";const r=n(538);const{ConcatSource:i}=n(2991);const s=n(354);const o=n(8159);const a=n(7986);const u=e=>{if(!e.includes("\n")){return o.toComment(e)}return`/*!\n * ${e.replace(/\*\//g,"* /").split("\n").join("\n * ")}\n */`};class BannerPlugin{constructor(e){r(a,e,"Banner Plugin");if(typeof e==="string"||typeof e==="function"){e={banner:e}}this.options=e;const t=e.banner;if(typeof t==="function"){const e=t;this.banner=this.options.raw?e:t=>u(e(t))}else{const e=this.options.raw?t:u(t);this.banner=(()=>e)}}apply(e){const t=this.options;const n=this.banner;const r=s.matchObject.bind(undefined,t);e.hooks.compilation.tap("BannerPlugin",e=>{e.hooks.optimizeChunkAssets.tap("BannerPlugin",s=>{for(const o of s){if(t.entryOnly&&!o.canBeInitial()){continue}for(const t of o.files){if(!r(t)){continue}let s=t;const a={chunk:o,filename:s};const u=e.getPath(n,a);e.assets[t]=new i(u,"\n",e.assets[t])}}})})}}e.exports=BannerPlugin},8802:function(e,t,n){"use strict";const r=n(7332);const i=n(1165);class AsyncParallelBailHookCodeFactory extends i{content({onError:e,onResult:t,onDone:n}){let r="";r+=`var _results = new Array(${this.options.taps.length});\n`;r+="var _checkDone = () => {\n";r+="for(var i = 0; i < _results.length; i++) {\n";r+="var item = _results[i];\n";r+="if(item === undefined) return false;\n";r+="if(item.result !== undefined) {\n";r+=t("item.result");r+="return true;\n";r+="}\n";r+="if(item.error) {\n";r+=e("item.error");r+="return true;\n";r+="}\n";r+="}\n";r+="return false;\n";r+="}\n";r+=this.callTapsParallel({onError:(e,t,n,r)=>{let i="";i+=`if(${e} < _results.length && ((_results.length = ${e+1}), (_results[${e}] = { error: ${t} }), _checkDone())) {\n`;i+=r(true);i+="} else {\n";i+=n();i+="}\n";return i},onResult:(e,t,n,r)=>{let i="";i+=`if(${e} < _results.length && (${t} !== undefined && (_results.length = ${e+1}), (_results[${e}] = { result: ${t} }), _checkDone())) {\n`;i+=r(true);i+="} else {\n";i+=n();i+="}\n";return i},onTap:(e,t,n,r)=>{let i="";if(e>0){i+=`if(${e} >= _results.length) {\n`;i+=n();i+="} else {\n"}i+=t();if(e>0)i+="}\n";return i},onDone:n});return r}}const s=new AsyncParallelBailHookCodeFactory;class AsyncParallelBailHook extends r{compile(e){s.setup(this,e);return s.create(e)}}Object.defineProperties(AsyncParallelBailHook.prototype,{_call:{value:undefined,configurable:true,writable:true}});e.exports=AsyncParallelBailHook},8840:function(e,t,n){"use strict";var r=n(9411).MissingRef;e.exports=compileAsync;function compileAsync(e,t,n){var i=this;if(typeof this._opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");if(typeof t=="function"){n=t;t=undefined}var s=loadMetaSchemaOf(e).then(function(){var n=i._addSchema(e,undefined,t);return n.validate||_compileAsync(n)});if(n){s.then(function(e){n(null,e)},n)}return s;function loadMetaSchemaOf(e){var t=e.$schema;return t&&!i.getSchema(t)?compileAsync.call(i,{$ref:t},true):Promise.resolve()}function _compileAsync(e){try{return i._compile(e)}catch(e){if(e instanceof r)return loadMissingSchema(e);throw e}function loadMissingSchema(n){var r=n.missingSchema;if(added(r))throw new Error("Schema "+r+" is loaded but "+n.missingRef+" cannot be resolved");var s=i._loadingSchemas[r];if(!s){s=i._loadingSchemas[r]=i._opts.loadSchema(r);s.then(removePromise,removePromise)}return s.then(function(e){if(!added(r)){return loadMetaSchemaOf(e).then(function(){if(!added(r))i.addSchema(e,r,undefined,t)})}}).then(function(){return _compileAsync(e)});function removePromise(){delete i._loadingSchemas[r]}function added(e){return i._refs[e]||i._schemas[e]}}}}},8868:function(e,t,n){"use strict";var r=n(778);e.exports=SchemaObject;function SchemaObject(e){r.copy(e,this)}},8893:function(e,t,n){"use strict";const{cleanUp:r}=n(717);const i=n(1627);const s=n(6202);class ModuleWarning extends i{constructor(e,{from:t=null}={}){let n="Module Warning";if(t){n+=` (from ${t}):\n`}else{n+=": "}if(e&&typeof e==="object"&&e.message){n+=e.message}else if(e){n+=String(e)}super(n);this.name="ModuleWarning";this.warning=e;this.details=e&&typeof e==="object"&&e.stack?r(e.stack,this.message):undefined;Error.captureStackTrace(this,this.constructor)}serialize(e){const{write:t}=e;t(this.warning);super.serialize(e)}deserialize(e){const{read:t}=e;this.warning=t();super.deserialize(e)}}s(ModuleWarning,"webpack/lib/ModuleWarning");e.exports=ModuleWarning},8915:function(e,t,n){"use strict";const r=n(6150);const i=n(6960);const s=n(5715);const o=n(8145);const a=n(9022);const u=n(6298);const c=n(5601);const l=n(4229);const{addLocalModule:f,getLocalModule:d}=n(1701);const p=e=>{if(e.type!=="CallExpression")return false;if(e.callee.type!=="MemberExpression")return false;if(e.callee.computed)return false;if(e.callee.object.type!=="FunctionExpression")return false;if(e.callee.property.type!=="Identifier")return false;if(e.callee.property.name!=="bind")return false;return true};const h=e=>{if(e.type==="FunctionExpression")return true;if(e.type==="ArrowFunctionExpression")return true;return false};const m=e=>{if(h(e))return true;if(p(e))return true;return false};class AMDDefineDependencyParserPlugin{constructor(e){this.options=e}apply(e){e.hooks.call.for("define").tap("AMDDefineDependencyParserPlugin",this.processCallDefine.bind(this,e))}processArray(e,t,n,r,i){if(n.isArray()){n.items.forEach((n,s)=>{if(n.isString()&&["require","module","exports"].includes(n.string))r[s]=n.string;const o=this.processItem(e,t,n,i);if(o===undefined){this.processContext(e,t,n)}});return true}else if(n.isConstArray()){const i=[];n.array.forEach((n,s)=>{let o;let a;if(n==="require"){r[s]=n;o="__webpack_require__"}else if(["exports","module"].includes(n)){r[s]=n;o=n}else if(a=d(e.state,n)){a.flagUsed();o=new l(a,undefined,false);o.loc=t.loc;e.state.current.addDependency(o)}else{o=this.newRequireItemDependency(n);o.loc=t.loc;o.optional=!!e.scope.inTry;e.state.current.addDependency(o)}i.push(o)});const s=this.newRequireArrayDependency(i,n.range);s.loc=t.loc;s.optional=!!e.scope.inTry;e.state.current.addDependency(s);return true}}processItem(e,t,n,i){if(n.isConditional()){n.options.forEach(n=>{const r=this.processItem(e,t,n);if(r===undefined){this.processContext(e,t,n)}});return true}else if(n.isString()){let s,o;if(n.string==="require"){s=new u("__webpack_require__",n.range,[r.require])}else if(n.string==="exports"){s=new u("exports",n.range,[r.exports])}else if(n.string==="module"){s=new u("module",n.range,[r.module])}else if(o=d(e.state,n.string,i)){o.flagUsed();s=new l(o,n.range,false)}else{s=this.newRequireItemDependency(n.string,n.range)}s.loc=t.loc;s.optional=!!e.scope.inTry;e.state.current.addDependency(s);return true}}processContext(e,t,n){const r=c.create(o,n.range,n,t,this.options,{},e);if(!r)return;r.loc=t.loc;r.optional=!!e.scope.inTry;e.state.current.addDependency(r);return true}processCallDefine(e,t){let n,r,i,s;switch(t.arguments.length){case 1:if(m(t.arguments[0])){r=t.arguments[0]}else if(t.arguments[0].type==="ObjectExpression"){i=t.arguments[0]}else{i=r=t.arguments[0]}break;case 2:if(t.arguments[0].type==="Literal"){s=t.arguments[0].value;if(m(t.arguments[1])){r=t.arguments[1]}else if(t.arguments[1].type==="ObjectExpression"){i=t.arguments[1]}else{i=r=t.arguments[1]}}else{n=t.arguments[0];if(m(t.arguments[1])){r=t.arguments[1]}else if(t.arguments[1].type==="ObjectExpression"){i=t.arguments[1]}else{i=r=t.arguments[1]}}break;case 3:s=t.arguments[0].value;n=t.arguments[1];if(m(t.arguments[2])){r=t.arguments[2]}else if(t.arguments[2].type==="ObjectExpression"){i=t.arguments[2]}else{i=r=t.arguments[2]}break;default:return}let o=null;let a=0;if(r){if(h(r)){o=r.params}else if(p(r)){o=r.callee.object.params;a=r.arguments.length-1;if(a<0){a=0}}}let u=e.scope.renames.createChild();if(n){const r={};const i=e.evaluateExpression(n);const c=this.processArray(e,t,i,r,s);if(!c)return;if(o){o=o.slice(a).filter((e,t)=>{if(r[t]){u.set(e.name,r[t]);return false}return true})}}else{const e=["require","exports","module"];if(o){o=o.slice(a).filter((t,n)=>{if(e[n]){u.set(t.name,e[n]);return false}return true})}}let c;if(r&&h(r)){c=e.scope.inTry;e.inScope(o,()=>{e.scope.renames=u;e.scope.inTry=c;if(r.body.type==="BlockStatement"){e.walkStatement(r.body)}else{e.walkExpression(r.body)}})}else if(r&&p(r)){c=e.scope.inTry;e.inScope(r.callee.object.params.filter(e=>!["require","module","exports"].includes(e.name)),()=>{e.scope.renames=u;e.scope.inTry=c;if(r.callee.object.body.type==="BlockStatement"){e.walkStatement(r.callee.object.body)}else{e.walkExpression(r.callee.object.body)}});if(r.arguments){e.walkExpressions(r.arguments)}}else if(r||i){e.walkExpression(r||i)}const l=this.newDefineDependency(t.range,n?n.range:null,r?r.range:null,i?i.range:null,s?s:null);l.loc=t.loc;if(s){l.localModule=f(e.state,s)}e.state.current.addDependency(l);return true}newDefineDependency(e,t,n,r,s){return new i(e,t,n,r,s)}newRequireArrayDependency(e,t){return new s(e,t)}newRequireItemDependency(e,t){return new a(e,t)}}e.exports=AMDDefineDependencyParserPlugin},8931:function(e){e.exports={name:"terser",description:"JavaScript parser, mangler/compressor and beautifier toolkit for ES6+",homepage:"https://github.com/fabiosantoscode/terser",author:"Mihai Bazon (http://lisperator.net/)",license:"BSD-2-Clause",version:"3.13.1",engines:{node:">=0.8.0"},maintainers:["Fábio Santos ","Alex Lam ","Mihai Bazon (http://lisperator.net/)"],repository:"https://github.com/fabiosantoscode/terser.git",main:"dist/bundle.js",types:"tools/terser.d.ts",bin:{terser:"bin/uglifyjs"},files:["bin","lib","dist","!dist/bundle.instrumented.js","tools","LICENSE"],dependencies:{commander:"~2.17.1","source-map":"~0.6.1","source-map-support":"~0.5.6"},devDependencies:{acorn:"^6.0.4",coveralls:"^3.0.2",csv:"^5.0.0","es6-promise":"^4.2.5",escodegen:"^1.9.1",eslint:"^4.19.1",eslump:"^2.0.0",istanbul:"^0.4.5",mocha:"^3.0.0",mochallel:"^1.8.2","pre-commit":"^1.2.2",semver:"~5.5.0"},scripts:{test:"rm -f dist/* && npm run prepare && istanbul instrument dist/bundle.js > dist/bundle.instrumented.js && node test/run-tests.js",coverage:"istanbul cover test/run-tests.js",coveralls:"coveralls < coverage/lcov.info",lint:"eslint lib","lint-fix":"eslint --fix lib",prepare:"cd dist && TERSER_NO_BUNDLE=1 ../bin/uglifyjs ../lib/utils.js ../lib/ast.js ../lib/parse.js ../lib/transform.js ../lib/scope.js ../lib/output.js ../lib/compress.js ../lib/sourcemap.js ../lib/mozilla-ast.js ../lib/propmangle.js ../lib/minify.js ../tools/exports.js -mc -d \"MOZ_SourceMap=require('source-map')\" --source-map \"includeSources=true,url='bundle.js.map'\" -e \"exports:(typeof module != 'undefined' ? module.exports : Terser = {})\" -b beautify=false,ascii_only --comments /license/ -o ../dist/bundle.js"},keywords:["uglify","terser","uglify-es","uglify-js","minify","minifier","javascript","ecmascript","es5","es6","es7","es8","es2015","es2016","es2017","async","await"],eslintConfig:{rules:{"brace-style":["error","1tbs",{allowSingleLine:true}],quotes:["error","double","avoid-escape"],"no-debugger":"error",semi:["error","always"],"no-extra-semi":"error","no-irregular-whitespace":"error","space-before-blocks":["error","always"]}},"pre-commit":["lint-fix","test"]}},8947:function(e,t,n){"use strict";const r=n(9204);e.exports=class RequireContextDependencyParserPlugin{apply(e){e.hooks.call.for("require.context").tap("RequireContextDependencyParserPlugin",t=>{let n=/^\.\/.*$/;let i=true;let s="sync";switch(t.arguments.length){case 4:{const n=e.evaluateExpression(t.arguments[3]);if(!n.isString())return;s=n.string}case 3:{const r=e.evaluateExpression(t.arguments[2]);if(!r.isRegExp())return;n=r.regExp}case 2:{const n=e.evaluateExpression(t.arguments[1]);if(!n.isBoolean())return;i=n.bool}case 1:{const o=e.evaluateExpression(t.arguments[0]);if(!o.isString())return;const a=new r({request:o.string,recursive:i,regExp:n,mode:s},t.range);a.loc=t.loc;a.optional=e.scope.inTry;e.state.current.addDependency(a);return true}}})}}},8977:function(e,t,n){"use strict";const r=n(6150);const i=n(6804);class PublicPathRuntimeModule extends i{constructor(e){super("publicPath");this.compilation=e}generate(){return`${r.publicPath} = ${JSON.stringify(this.compilation.mainTemplate.getAssetPath(this.compilation.outputOptions.publicPath||"",{hash:this.compilation.hash||"XXXX"}))};`}}e.exports=PublicPathRuntimeModule},9013:function(e,t,n){"use strict";const r=n(419);const i=n(5189);const s=n(6583);class DllEntryPlugin{constructor(e,t,n){this.context=e;this.entries=t;this.name=n}apply(e){e.hooks.compilation.tap("DllEntryPlugin",(e,{normalModuleFactory:t})=>{const n=new r;e.dependencyFactories.set(i,n);e.dependencyFactories.set(s,t)});e.hooks.make.tapAsync("DllEntryPlugin",(e,t)=>{e.addEntry(this.context,new i(this.entries.map((e,t)=>{const n=new s(e);n.loc={name:this.name,index:t};return n}),this.name),this.name,t)})}}e.exports=DllEntryPlugin},9022:function(e,t,n){"use strict";const r=n(6202);const i=n(9983);const s=n(7283);class AMDRequireItemDependency extends i{constructor(e,t){super(e);this.range=t}get type(){return"amd require"}serialize(e){const{write:t}=e;t(this.range);super.serialize(e)}deserialize(e){const{read:t}=e;this.range=t();super.deserialize(e)}}r(AMDRequireItemDependency,"webpack/lib/dependencies/AMDRequireItemDependency");AMDRequireItemDependency.Template=s;e.exports=AMDRequireItemDependency},9034:function(e){e.exports={definitions:{ArrayOfStringOrStringArrayValues:{type:"array",items:{description:"string or array of strings",anyOf:[{type:"string",minLength:1},{type:"array",items:{description:"A non-empty string",type:"string",minLength:1}}]}},ArrayOfStringValues:{type:"array",items:{description:"A non-empty string",type:"string",minLength:1}},Entry:{anyOf:[{$ref:"#/definitions/EntryDynamic"},{$ref:"#/definitions/EntryStatic"}]},EntryDynamic:{description:"A Function returning an entry object, an entry string, an entry array or a promise to these things.",instanceof:"Function",tsType:"(() => EntryStatic | Promise)"},EntryItem:{oneOf:[{description:"An entry point without name. The string is resolved to a module which is loaded upon startup.",type:"string",minLength:1},{description:"An entry point without name. All modules are loaded upon startup. The last one is exported.",anyOf:[{$ref:"#/definitions/NonEmptyArrayOfUniqueStringValues"}]}]},EntryObject:{description:"Multiple entry bundles are created. The key is the chunk name. The value can be a string or an array.",type:"object",additionalProperties:{description:"An entry point with name",oneOf:[{description:"The string is resolved to a module which is loaded upon startup.",type:"string",minLength:1},{description:"All modules are loaded upon startup. The last one is exported.",anyOf:[{$ref:"#/definitions/NonEmptyArrayOfUniqueStringValues"}]}]},minProperties:1},EntryStatic:{oneOf:[{$ref:"#/definitions/EntryObject"},{$ref:"#/definitions/EntryItem"}]},Experiments:{description:"Enables/Disables experiments (experiemental features with relax SemVer compatibility)",type:"object",additionalProperties:false,properties:{asyncWebAssembly:{description:"Support WebAssembly as asynchronous EcmaScript Module",type:"boolean"},importAsync:{description:"Allow 'import/export' syntax to import async modules",type:"boolean"},importAwait:{description:"Allow 'import/export await' syntax to import async modules",type:"boolean"},mjs:{description:"Support .mjs files as way to define strict ESM file (node.js)",type:"boolean"},syncWebAssembly:{description:"Support WebAssembly as synchronous EcmaScript Module (outdated)",type:"boolean"},topLevelAwait:{description:"Allow using top-level-await in EcmaScript Modules",type:"boolean"}}},ExternalItem:{anyOf:[{description:"An exact matched dependency becomes external. The same string is used as external dependency.",type:"string"},{description:"If an dependency matches exactly a property of the object, the property value is used as dependency.",type:"object",additionalProperties:{description:"The dependency used for the external",anyOf:[{type:"string"},{type:"object"},{$ref:"#/definitions/ArrayOfStringValues"},{type:"boolean"}]}},{description:"Every matched dependency becomes external.",instanceof:"RegExp",tsType:"RegExp"}]},Externals:{anyOf:[{description:"`function(context, request, callback(err, result))` The function is called on each dependency.",instanceof:"Function",tsType:"((context: string, request: string, callback: (err?: Error, result?: string) => void) => void)"},{$ref:"#/definitions/ExternalItem"},{type:"array",items:{description:"External configuration",anyOf:[{description:"`function(context, request, callback(err, result))` The function is called on each dependency.",instanceof:"Function",tsType:"((context: string, request: string, callback: (err?: Error, result?: string) => void) => void)"},{$ref:"#/definitions/ExternalItem"}]}}]},FileCacheOptions:{type:"object",additionalProperties:false,properties:{cacheDirectory:{description:"Base directory for the cache (defaults to node_modules/.cache/webpack).",type:"string",absolutePath:true},cacheLocation:{description:"Locations for the cache (defaults to cacheDirectory / name).",type:"string",absolutePath:true},hashAlgorithm:{description:"Algorithm used for generation the hash (see node.js crypto package)",type:"string"},idleTimeout:{description:"Time in ms after which idle period the cache storing should happen (only for store: 'pack' or 'idle')",type:"number",minimum:0},idleTimeoutForInitialStore:{description:"Time in ms after which idle period the initial cache storing should happen (only for store: 'pack' or 'idle')",type:"number",minimum:0},loglevel:{description:"Display log info. (debug: all access and errors with stack trace, verbose: all access, info: all write access, warning: only failed serialization)",enum:["debug","verbose","info","warning"]},name:{description:"Name for the cache. Different names will lead to different coexisting caches.",type:"string"},store:{description:"When to store data to the filesystem. (pack: Store data when compiler is idle in a single file, idle: Store data when compiler is idle in multiple files; background: Store data in background while compiling, but doesn't block the compilation; instant: Store data when creating blocking compilation until data is stored; defaults to idle)",enum:["pack","idle","background","instant"]},type:{description:"Filesystem caching",enum:["filesystem"]},version:{description:"Version of the cache data. Different versions won't allow to reuse the cache and override existing content. Update the version when config changed in a way which doesn't allow to reuse cache. This will invalidate the cache.",type:"string"}},required:["type"]},FilterItemTypes:{anyOf:[{instanceof:"RegExp",tsType:"RegExp"},{type:"string"},{instanceof:"Function",tsType:"Function"}]},FilterTypes:{anyOf:[{$ref:"#/definitions/FilterItemTypes"},{type:"array",items:{description:"Rule to filter",anyOf:[{$ref:"#/definitions/FilterItemTypes"}]}}]},LibraryCustomUmdObject:{type:"object",additionalProperties:false,properties:{amd:{description:"Name of the exposed AMD library in the UMD",type:"string"},commonjs:{description:"Name of the exposed commonjs export in the UMD",type:"string"},root:{description:"Name of the property exposed globally by a UMD library",anyOf:[{type:"string"},{$ref:"#/definitions/ArrayOfStringValues"}]}}},MemoryCacheOptions:{type:"object",additionalProperties:false,properties:{type:{description:"In memory caching",enum:["memory"]}},required:["type"]},ModuleOptions:{type:"object",additionalProperties:false,properties:{defaultRules:{description:"An array of rules applied by default for modules.",anyOf:[{$ref:"#/definitions/RuleSetRules"}]},exprContextCritical:{description:"Enable warnings for full dynamic dependencies",type:"boolean"},exprContextRecursive:{description:"Enable recursive directory lookup for full dynamic dependencies",type:"boolean"},exprContextRegExp:{description:"Sets the default regular expression for full dynamic dependencies",anyOf:[{type:"boolean"},{instanceof:"RegExp",tsType:"RegExp"}]},exprContextRequest:{description:"Set the default request for full dynamic dependencies",type:"string"},noParse:{description:"Don't parse files matching. It's matched against the full resolved request.",anyOf:[{type:"array",items:{description:"A regular expression, when matched the module is not parsed",instanceof:"RegExp",tsType:"RegExp"},minItems:1},{instanceof:"RegExp",tsType:"RegExp"},{instanceof:"Function",tsType:"Function"},{type:"array",items:{description:"An absolute path, when the module starts with this path it is not parsed",type:"string",absolutePath:true},minItems:1},{type:"string",absolutePath:true}]},rules:{description:"An array of rules applied for modules.",anyOf:[{$ref:"#/definitions/RuleSetRules"}]},strictExportPresence:{description:"Emit errors instead of warnings when imported names don't exist in imported module",type:"boolean"},strictThisContextOnImports:{description:"Handle the this context correctly according to the spec for namespace objects",type:"boolean"},unknownContextCritical:{description:"Enable warnings when using the require function in a not statically analyse-able way",type:"boolean"},unknownContextRecursive:{description:"Enable recursive directory lookup when using the require function in a not statically analyse-able way",type:"boolean"},unknownContextRegExp:{description:"Sets the regular expression when using the require function in a not statically analyse-able way",anyOf:[{type:"boolean"},{instanceof:"RegExp",tsType:"RegExp"}]},unknownContextRequest:{description:"Sets the request when using the require function in a not statically analyse-able way",type:"string"},unsafeCache:{description:"Cache the resolving of module requests",anyOf:[{type:"boolean"},{instanceof:"Function",tsType:"Function"}]},wrappedContextCritical:{description:"Enable warnings for partial dynamic dependencies",type:"boolean"},wrappedContextRecursive:{description:"Enable recursive directory lookup for partial dynamic dependencies",type:"boolean"},wrappedContextRegExp:{description:"Set the inner regular expression for partial dynamic dependencies",instanceof:"RegExp",tsType:"RegExp"}}},NodeOptions:{type:"object",additionalProperties:false,properties:{__dirname:{description:"Include a polyfill for the '__dirname' variable",enum:[false,true,"mock"]},__filename:{description:"Include a polyfill for the '__filename' variable",enum:[false,true,"mock"]},global:{description:"Include a polyfill for the 'global' variable",type:"boolean"}}},NonEmptyArrayOfUniqueStringValues:{description:"A non-empty array of non-empty strings",type:"array",items:{description:"A non-empty string",type:"string",minLength:1},minItems:1,uniqueItems:true},OptimizationOptions:{description:"Enables/Disables integrated optimizations",type:"object",additionalProperties:false,properties:{checkWasmTypes:{description:"Check for incompatible wasm types when importing/exporting from/to ESM",type:"boolean"},chunkIds:{description:"Define the algorithm to choose chunk ids (named: readable ids for better debugging, deterministic: numeric hash ids for better long term caching, size: numeric ids focused on minimal initial download size, total-size: numeric ids focused on minimal total download size, false: no algorithm used, as custom one can be provided via plugin)",enum:["natural","named","deterministic","size","total-size",false]},concatenateModules:{description:"Concatenate modules when possible to generate less modules, more efficient code and enable more optimizations by the minimizer",type:"boolean"},flagIncludedChunks:{description:"Also flag chunks as loaded which contain a subset of the modules",type:"boolean"},mangleExports:{description:"Rename exports when possible to generate shorter code (depends on optimization.usedExports and optimization.providedExports)",type:"boolean"},mangleWasmImports:{description:"Reduce size of WASM by changing imports to shorter strings.",type:"boolean"},mergeDuplicateChunks:{description:"Merge chunks which contain the same modules",type:"boolean"},minimize:{description:"Enable minimizing the output. Uses optimization.minimizer.",type:"boolean"},minimizer:{description:"Minimizer(s) to use for minimizing the output",type:"array",items:{description:"Plugin of type object or instanceof Function",anyOf:[{$ref:"#/definitions/WebpackPluginInstance"},{$ref:"#/definitions/WebpackPluginFunction"}]}},moduleIds:{description:"Define the algorithm to choose module ids (natural: numeric ids in order of usage, named: readable ids for better debugging, hashed: (deprecated) short hashes as ids for better long term caching, deterministic: numeric hash ids for better long term caching, size: numeric ids focused on minimal initial download size, false: no algorithm used, as custom one can be provided via plugin)",enum:["natural","named","hashed","deterministic","size",false]},noEmitOnErrors:{description:"Avoid emitting assets when errors occur",type:"boolean"},nodeEnv:{description:"Set process.env.NODE_ENV to a specific value",anyOf:[{enum:[false]},{type:"string"}]},portableRecords:{description:"Generate records with relative paths to be able to move the context folder",type:"boolean"},providedExports:{description:"Figure out which exports are provided by modules to generate more efficient code",type:"boolean"},removeAvailableModules:{description:"Removes modules from chunks when these modules are already included in all parents",type:"boolean"},removeEmptyChunks:{description:"Remove chunks which are empty",type:"boolean"},runtimeChunk:{description:"Create an additional chunk which contains only the webpack runtime and chunk hash maps",oneOf:[{type:"boolean"},{enum:["single","multiple"]},{type:"object",additionalProperties:false,properties:{name:{description:"The name or name factory for the runtime chunks",oneOf:[{type:"string"},{instanceof:"Function",tsType:"Function"}]}}}]},sideEffects:{description:"Skip over modules which are flagged to contain no side effects when exports are not used",type:"boolean"},splitChunks:{description:"Optimize duplication and caching by splitting chunks by shared modules and cache group",oneOf:[{enum:[false]},{$ref:"#/definitions/OptimizationSplitChunksOptions"}]},usedExports:{description:"Figure out which exports are used by modules to mangle export names, omit unused exports and generate more efficient code",type:"boolean"}}},OptimizationSplitChunksCacheGroup:{type:"object",additionalProperties:false,properties:{automaticNameDelimiter:{description:"Sets the name delimiter for created chunks",type:"string",minLength:1},chunks:{description:'Select chunks for determining cache group content (defaults to "initial", "initial" and "all" requires adding these chunks to the HTML)',oneOf:[{enum:["initial","async","all"]},{$ref:"#/definitions/OptimizationSplitChunksGetCacheGroups"}]},enforce:{description:"Ignore minimum size, minimum chunks and maximum requests and always create chunks for this cache group",type:"boolean"},filename:{description:"Sets the template for the filename for created chunks",anyOf:[{type:"string",absolutePath:false,minLength:1},{instanceof:"Function",tsType:'((pathData: import("../lib/Compilation").PathData) => string)'}]},idHint:{description:"Sets the hint for chunk id",type:"string"},maxAsyncRequests:{description:"Maximum number of requests which are accepted for on-demand loading",type:"number",minimum:1},maxAsyncSize:{description:"Maximal size hint for the on-demand chunks",oneOf:[{$ref:"#/definitions/OptimizationSplitChunksSizes"}]},maxInitialRequests:{description:"Maximum number of initial chunks which are accepted for an entry point",type:"number",minimum:1},maxInitialSize:{description:"Maximal size hint for the initial chunks",oneOf:[{$ref:"#/definitions/OptimizationSplitChunksSizes"}]},maxSize:{description:"Maximal size hint for the created chunks",oneOf:[{$ref:"#/definitions/OptimizationSplitChunksSizes"}]},minChunks:{description:"Minimum number of times a module has to be duplicated until it's considered for splitting",type:"number",minimum:1},minRemainingSize:{description:"Minimal size for the chunks the stay after moving the modules to a new chunk",oneOf:[{$ref:"#/definitions/OptimizationSplitChunksSizes"}]},minSize:{description:"Minimal size for the created chunk",oneOf:[{$ref:"#/definitions/OptimizationSplitChunksSizes"}]},name:{description:"Give chunks for this cache group a name (chunks with equal name are merged)",oneOf:[{enum:[false]},{instanceof:"Function",tsType:"Function"},{type:"string"}]},priority:{description:"Priority of this cache group",type:"number"},reuseExistingChunk:{description:"Try to reuse existing chunk (with name) when it has matching modules",type:"boolean"},test:{description:"Assign modules to a cache group by module name",oneOf:[{instanceof:"Function",tsType:"Function"},{type:"string"},{instanceof:"RegExp",tsType:"RegExp"}]},type:{description:"Assign modules to a cache group by module type",oneOf:[{instanceof:"Function",tsType:"Function"},{type:"string"},{instanceof:"RegExp",tsType:"RegExp"}]}}},OptimizationSplitChunksGetCacheGroups:{instanceof:"Function",tsType:"((module: import('../lib/Module')) => OptimizationSplitChunksCacheGroup | OptimizationSplitChunksCacheGroup[] | void)"},OptimizationSplitChunksOptions:{type:"object",additionalProperties:false,properties:{automaticNameDelimiter:{description:"Sets the name delimiter for created chunks",type:"string",minLength:1},cacheGroups:{description:"Assign modules to a cache group (modules from different cache groups are tried to keep in separate chunks)",type:"object",additionalProperties:{description:"Configuration for a cache group",anyOf:[{enum:[false]},{instanceof:"Function",tsType:"Function"},{type:"string"},{instanceof:"RegExp",tsType:"RegExp"},{$ref:"#/definitions/OptimizationSplitChunksCacheGroup"}]}},chunks:{description:'Select chunks for determining shared modules (defaults to "async", "initial" and "all" requires adding these chunks to the HTML)',oneOf:[{enum:["initial","async","all"]},{instanceof:"Function",tsType:"Function"}]},fallbackCacheGroup:{description:"Options for modules not selected by any other cache group",type:"object",additionalProperties:false,properties:{automaticNameDelimiter:{description:"Sets the name delimiter for created chunks",type:"string",minLength:1},maxAsyncSize:{description:"Maximal size hint for the on-demand chunks",oneOf:[{$ref:"#/definitions/OptimizationSplitChunksSizes"}]},maxInitialSize:{description:"Maximal size hint for the initial chunks",oneOf:[{$ref:"#/definitions/OptimizationSplitChunksSizes"}]},maxSize:{description:"Maximal size hint for the created chunks",oneOf:[{$ref:"#/definitions/OptimizationSplitChunksSizes"}]},minSize:{description:"Minimal size for the created chunk",oneOf:[{$ref:"#/definitions/OptimizationSplitChunksSizes"}]}}},filename:{description:"Sets the template for the filename for created chunks",anyOf:[{type:"string",absolutePath:false,minLength:1},{instanceof:"Function",tsType:'((pathData: import("../lib/Compilation").PathData) => string)'}]},hidePathInfo:{description:"Prevents exposing path info when creating names for parts splitted by maxSize",type:"boolean"},maxAsyncRequests:{description:"Maximum number of requests which are accepted for on-demand loading",type:"number",minimum:1},maxAsyncSize:{description:"Maximal size hint for the on-demand chunks",oneOf:[{$ref:"#/definitions/OptimizationSplitChunksSizes"}]},maxInitialRequests:{description:"Maximum number of initial chunks which are accepted for an entry point",type:"number",minimum:1},maxInitialSize:{description:"Maximal size hint for the initial chunks",oneOf:[{$ref:"#/definitions/OptimizationSplitChunksSizes"}]},maxSize:{description:"Maximal size hint for the created chunks",oneOf:[{$ref:"#/definitions/OptimizationSplitChunksSizes"}]},minChunks:{description:"Minimum number of times a module has to be duplicated until it's considered for splitting",type:"number",minimum:1},minRemainingSize:{description:"Minimal size for the chunks the stay after moving the modules to a new chunk",oneOf:[{$ref:"#/definitions/OptimizationSplitChunksSizes"}]},minSize:{description:"Minimal size for the created chunks",oneOf:[{$ref:"#/definitions/OptimizationSplitChunksSizes"}]},name:{description:"Give chunks created a name (chunks with equal name are merged)",oneOf:[{enum:[false]},{instanceof:"Function",tsType:"Function"},{type:"string"}]}}},OptimizationSplitChunksSizes:{anyOf:[{description:"Size of the javascript part of the chunk",type:"number",minimum:0},{description:"Specify size limits per size type",type:"object",additionalProperties:{description:"Size of the part of the chunk with the type of the key",type:"number"}}]},OutputOptions:{type:"object",additionalProperties:false,properties:{auxiliaryComment:{description:"Add a comment in the UMD wrapper.",anyOf:[{description:"Append the same comment above each import style.",type:"string"},{description:"Set explicit comments for `commonjs`, `commonjs2`, `amd`, and `root`.",type:"object",additionalProperties:false,properties:{amd:{description:"Set comment for `amd` section in UMD",type:"string"},commonjs:{description:"Set comment for `commonjs` (exports) section in UMD",type:"string"},commonjs2:{description:"Set comment for `commonjs2` (module.exports) section in UMD",type:"string"},root:{description:"Set comment for `root` (global variable) section in UMD",type:"string"}}}]},chunkCallbackName:{description:"The callback function name used by webpack for loading of chunks in WebWorkers.",type:"string"},chunkFilename:{description:"The filename of non-entry chunks as relative path inside the `output.path` directory.",type:"string",absolutePath:false},chunkLoadTimeout:{description:"Number of milliseconds before chunk request expires",type:"number"},crossOriginLoading:{description:"This option enables cross-origin loading of chunks.",enum:[false,"anonymous","use-credentials"]},devtoolFallbackModuleFilenameTemplate:{description:"Similar to `output.devtoolModuleFilenameTemplate`, but used in the case of duplicate module identifiers.",anyOf:[{type:"string"},{instanceof:"Function",tsType:"Function"}]},devtoolModuleFilenameTemplate:{description:"Filename template string of function for the sources array in a generated SourceMap.",anyOf:[{type:"string"},{instanceof:"Function",tsType:"Function"}]},devtoolNamespace:{description:"Module namespace to use when interpolating filename template string for the sources array in a generated SourceMap. Defaults to `output.library` if not set. It's useful for avoiding runtime collisions in sourcemaps from multiple webpack projects built as libraries.",type:"string"},filename:{description:"Specifies the name of each output file on disk. You must **not** specify an absolute path here! The `output.path` option determines the location on disk the files are written to, filename is used solely for naming the individual files.",anyOf:[{type:"string",absolutePath:false,minLength:1},{instanceof:"Function",tsType:'((pathData: import("../lib/Compilation").PathData) => string)'}]},globalObject:{description:"An expression which is used to address the global object/scope in runtime code",type:"string",minLength:1},hashDigest:{description:"Digest type used for the hash",type:"string"},hashDigestLength:{description:"Number of chars which are used for the hash",type:"number",minimum:1},hashFunction:{description:"Algorithm used for generation the hash (see node.js crypto package)",anyOf:[{type:"string",minLength:1},{instanceof:"Function",tsType:"(new () => import('../lib/util/createHash').Hash)"}]},hashSalt:{description:"Any string which is added to the hash to salt it",type:"string",minLength:1},hotUpdateChunkFilename:{description:"The filename of the Hot Update Chunks. They are inside the output.path directory.",type:"string",absolutePath:false},hotUpdateFunction:{description:"The JSONP function used by webpack for async loading of hot update chunks.",type:"string"},hotUpdateMainFilename:{description:"The filename of the Hot Update Main File. It is inside the `output.path` directory.",type:"string",absolutePath:false},jsonpFunction:{description:"The JSONP function used by webpack for async loading of chunks.",type:"string"},jsonpScriptType:{description:'This option enables loading async chunks via a custom script type, such as script type="module"',enum:[false,"text/javascript","module"]},library:{description:"If set, export the bundle as library. `output.library` is the name.",anyOf:[{type:"string"},{type:"array",items:{description:"A part of the library name",type:"string"}},{$ref:"#/definitions/LibraryCustomUmdObject"}]},libraryExport:{description:"Specify which export should be exposed as library",anyOf:[{type:"string"},{$ref:"#/definitions/ArrayOfStringValues"}]},libraryTarget:{description:"Type of library",enum:["var","assign","this","window","self","global","commonjs","commonjs2","commonjs-module","amd","amd-require","umd","umd2","jsonp","system"]},path:{description:"The output directory as **absolute path** (required).",type:"string",absolutePath:true},pathinfo:{description:"Include comments with information about the modules.",type:"boolean"},publicPath:{description:"The `publicPath` specifies the public URL address of the output files when referenced in a browser.",anyOf:[{type:"string"},{instanceof:"Function",tsType:"Function"}]},sourceMapFilename:{description:"The filename of the SourceMaps for the JavaScript files. They are inside the `output.path` directory.",type:"string",absolutePath:false},sourcePrefix:{description:"Prefixes every line of the source in the bundle with this string.",type:"string"},strictModuleExceptionHandling:{description:"Handles exceptions in module loading correctly at a performance cost.",type:"boolean"},umdNamedDefine:{description:"If `output.libraryTarget` is set to umd and `output.library` is set, setting this to true will name the AMD module.",type:"boolean"},webassemblyModuleFilename:{description:"The filename of WebAssembly modules as relative path inside the `output.path` directory.",type:"string",absolutePath:false}}},PerformanceOptions:{type:"object",additionalProperties:false,properties:{assetFilter:{description:"Filter function to select assets that are checked",instanceof:"Function",tsType:"Function"},hints:{description:"Sets the format of the hints: warnings, errors or nothing at all",enum:[false,"warning","error"]},maxAssetSize:{description:"Filesize limit (in bytes) when exceeded, that webpack will provide performance hints",type:"number"},maxEntrypointSize:{description:"Total size of an entry point (in bytes)",type:"number"}}},ResolveOptions:{type:"object",additionalProperties:false,properties:{alias:{description:"Redirect module requests",anyOf:[{type:"object",additionalProperties:{description:"New request",type:"string"}},{type:"array",items:{description:"Alias configuration",type:"object",additionalProperties:false,properties:{alias:{description:"New request",type:"string"},name:{description:"Request to be redirected",type:"string"},onlyModule:{description:"Redirect only exact matching request",type:"boolean"}}}}]},aliasFields:{description:"Fields in the description file (package.json) which are used to redirect requests inside the module",anyOf:[{$ref:"#/definitions/ArrayOfStringOrStringArrayValues"}]},cache:{description:"Enable caching of successfully resolved requests (cache entries are revalidated)",type:"boolean"},cachePredicate:{description:"Predicate function to decide which requests should be cached",instanceof:"Function",tsType:"Function"},cacheWithContext:{description:"Include the context information in the cache identifier when caching",type:"boolean"},descriptionFiles:{description:"Filenames used to find a description file",anyOf:[{$ref:"#/definitions/ArrayOfStringValues"}]},enforceExtension:{description:"Enforce using one of the extensions from the extensions option",type:"boolean"},enforceModuleExtension:{description:"Enforce using one of the module extensions from the moduleExtensions option",type:"boolean"},extensions:{description:"Extensions added to the request when trying to find the file",anyOf:[{$ref:"#/definitions/ArrayOfStringValues"}]},fileSystem:{description:"Filesystem for the resolver"},mainFields:{description:"Field names from the description file (package.json) which are used to find the default entry point",anyOf:[{$ref:"#/definitions/ArrayOfStringOrStringArrayValues"}]},mainFiles:{description:"Filenames used to find the default entry point if there is no description file or main field",anyOf:[{$ref:"#/definitions/ArrayOfStringValues"}]},moduleExtensions:{description:"Extensions added to the module request when trying to find the module",anyOf:[{$ref:"#/definitions/ArrayOfStringValues"}]},modules:{description:"Folder names or directory paths where to find modules",anyOf:[{$ref:"#/definitions/ArrayOfStringValues"}]},plugins:{description:"Plugins for the resolver",type:"array",items:{description:"Plugin of type object or instanceof Function",anyOf:[{$ref:"#/definitions/WebpackPluginInstance"},{$ref:"#/definitions/WebpackPluginFunction"}]}},resolver:{description:"Custom resolver"},symlinks:{description:"Enable resolving symlinks to the original location",type:"boolean"},unsafeCache:{description:"Enable caching of successfully resolved requests (cache entries are not revalidated)",anyOf:[{type:"boolean"},{type:"object",additionalProperties:true}]},useSyncFileSystemCalls:{description:"Use synchronous filesystem calls for the resolver",type:"boolean"}}},RuleSetCondition:{anyOf:[{instanceof:"RegExp",tsType:"RegExp"},{type:"string",minLength:1},{instanceof:"Function",tsType:"((value: string) => boolean)"},{$ref:"#/definitions/RuleSetConditions"},{type:"object",additionalProperties:false,properties:{and:{description:"Logical AND",anyOf:[{$ref:"#/definitions/RuleSetConditions"}]},exclude:{description:"Exclude all modules matching any of these conditions",anyOf:[{$ref:"#/definitions/RuleSetConditionOrConditions"}]},include:{description:"Exclude all modules matching not any of these conditions",anyOf:[{$ref:"#/definitions/RuleSetConditionOrConditions"}]},not:{description:"Logical NOT",anyOf:[{$ref:"#/definitions/RuleSetConditions"}]},or:{description:"Logical OR",anyOf:[{$ref:"#/definitions/RuleSetConditions"}]},test:{description:"Exclude all modules matching any of these conditions",anyOf:[{$ref:"#/definitions/RuleSetConditionOrConditions"}]}}}]},RuleSetConditionAbsolute:{anyOf:[{instanceof:"RegExp",tsType:"RegExp"},{type:"string",absolutePath:true},{instanceof:"Function",tsType:"((value: string) => boolean)"},{$ref:"#/definitions/RuleSetConditionsAbsolute"},{type:"object",additionalProperties:false,properties:{and:{description:"Logical AND",anyOf:[{$ref:"#/definitions/RuleSetConditionsAbsolute"}]},exclude:{description:"Exclude all modules matching any of these conditions",anyOf:[{$ref:"#/definitions/RuleSetConditionOrConditionsAbsolute"}]},include:{description:"Exclude all modules matching not any of these conditions",anyOf:[{$ref:"#/definitions/RuleSetConditionOrConditionsAbsolute"}]},not:{description:"Logical NOT",anyOf:[{$ref:"#/definitions/RuleSetConditionsAbsolute"}]},or:{description:"Logical OR",anyOf:[{$ref:"#/definitions/RuleSetConditionsAbsolute"}]},test:{description:"Exclude all modules matching any of these conditions",anyOf:[{$ref:"#/definitions/RuleSetConditionOrConditionsAbsolute"}]}}}]},RuleSetConditionOrConditions:{description:"One or multiple rule conditions",anyOf:[{$ref:"#/definitions/RuleSetCondition"},{$ref:"#/definitions/RuleSetConditions"}]},RuleSetConditionOrConditionsAbsolute:{description:"One or multiple rule conditions",anyOf:[{$ref:"#/definitions/RuleSetConditionAbsolute"},{$ref:"#/definitions/RuleSetConditionsAbsolute"}]},RuleSetConditions:{type:"array",items:{description:"A rule condition",anyOf:[{$ref:"#/definitions/RuleSetCondition"}]},tsType:"RuleSetConditionsRecursive"},RuleSetConditionsAbsolute:{type:"array",items:{description:"A rule condition",anyOf:[{$ref:"#/definitions/RuleSetConditionAbsolute"}]},tsType:"RuleSetConditionsAbsoluteRecursive"},RuleSetLoader:{type:"string",minLength:1},RuleSetLoaderOptions:{anyOf:[{type:"object"},{type:"string"}]},RuleSetRule:{type:"object",additionalProperties:false,properties:{compiler:{description:"Match the child compiler name",anyOf:[{$ref:"#/definitions/RuleSetConditionOrConditions"}]},enforce:{description:"Enforce this rule as pre or post step",enum:["pre","post"]},exclude:{description:"Shortcut for resource.exclude",anyOf:[{$ref:"#/definitions/RuleSetConditionOrConditionsAbsolute"}]},include:{description:"Shortcut for resource.include",anyOf:[{$ref:"#/definitions/RuleSetConditionOrConditionsAbsolute"}]},issuer:{description:"Match the issuer of the module (The module pointing to this module)",anyOf:[{$ref:"#/definitions/RuleSetConditionOrConditionsAbsolute"}]},loader:{description:"Shortcut for use.loader",anyOf:[{$ref:"#/definitions/RuleSetLoader"},{$ref:"#/definitions/RuleSetUse"}]},oneOf:{description:"Only execute the first matching rule in this array",anyOf:[{$ref:"#/definitions/RuleSetRules"}]},options:{description:"Shortcut for use.options",anyOf:[{$ref:"#/definitions/RuleSetLoaderOptions"}]},parser:{description:"Options for parsing",type:"object",additionalProperties:true},realResource:{description:"Match the real resource path of the module",anyOf:[{$ref:"#/definitions/RuleSetConditionOrConditionsAbsolute"}]},resolve:{description:"Options for the resolver",type:"object",anyOf:[{$ref:"#/definitions/ResolveOptions"}]},resource:{description:"Match the resource path of the module",anyOf:[{$ref:"#/definitions/RuleSetConditionOrConditionsAbsolute"}]},resourceQuery:{description:"Match the resource query of the module",anyOf:[{$ref:"#/definitions/RuleSetConditionOrConditions"}]},rules:{description:"Match and execute these rules when this rule is matched",anyOf:[{$ref:"#/definitions/RuleSetRules"}]},sideEffects:{description:"Flags a module as with or without side effects",type:"boolean"},test:{description:"Shortcut for resource.test",anyOf:[{$ref:"#/definitions/RuleSetConditionOrConditionsAbsolute"}]},type:{description:"Module type to use for the module",type:"string"},use:{description:"Modifiers applied to the module when rule is matched",anyOf:[{$ref:"#/definitions/RuleSetUse"}]}}},RuleSetRules:{type:"array",items:{description:"A rule",anyOf:[{$ref:"#/definitions/RuleSetRule"}]}},RuleSetUse:{anyOf:[{$ref:"#/definitions/RuleSetUseItem"},{instanceof:"Function",tsType:"((data: object) => RuleSetUseItem[])"},{type:"array",items:{description:"An use item",anyOf:[{$ref:"#/definitions/RuleSetUseItem"}]}}]},RuleSetUseItem:{anyOf:[{$ref:"#/definitions/RuleSetLoader"},{instanceof:"Function",tsType:"((data: object) => RuleSetUseItem|RuleSetUseItem[])"},{type:"object",additionalProperties:false,properties:{ident:{description:"Unique loader options identifier",type:"string"},loader:{description:"Loader name",anyOf:[{$ref:"#/definitions/RuleSetLoader"}]},options:{description:"Loader options",anyOf:[{$ref:"#/definitions/RuleSetLoaderOptions"}]}}}]},StatsOptions:{type:"object",additionalProperties:false,properties:{all:{description:"fallback value for stats options when an option is not defined (has precedence over local webpack defaults)",type:"boolean"},assets:{description:"add assets information",type:"boolean"},assetsSort:{description:"sort the assets by that field",type:"string"},builtAt:{description:"add built at time information",type:"boolean"},cached:{description:"add information about cached (not built) modules",type:"boolean"},cachedAssets:{description:"Show cached assets (setting this to `false` only shows emitted files)",type:"boolean"},children:{description:"add children information",type:"boolean"},chunkGroups:{description:"Display all chunk groups with the corresponding bundles",type:"boolean"},chunkModules:{description:"add built modules information to chunk information",type:"boolean"},chunkOrigins:{description:"add the origins of chunks and chunk merging info",type:"boolean"},chunkRelations:{description:"add information about parent, children and sibling chunks to chunk information",type:"boolean"},chunkRootModules:{description:"add root modules information to chunk information",type:"boolean"},chunks:{description:"add chunk information",type:"boolean"},chunksSort:{description:"sort the chunks by that field",type:"string"},colors:{description:"Enables/Disables colorful output",oneOf:[{description:"`webpack --colors` equivalent",type:"boolean"},{type:"object",additionalProperties:false,properties:{bold:{description:"Custom color for bold text",type:"string"},cyan:{description:"Custom color for cyan text",type:"string"},green:{description:"Custom color for green text",type:"string"},magenta:{description:"Custom color for magenta text",type:"string"},red:{description:"Custom color for red text",type:"string"},yellow:{description:"Custom color for yellow text",type:"string"}}}]},context:{description:"context directory for request shortening",type:"string",absolutePath:true},depth:{description:"add module depth in module graph",type:"boolean"},entrypoints:{description:"Display the entry points with the corresponding bundles",type:"boolean"},env:{description:"add --env information",type:"boolean"},errorDetails:{description:"add details to errors (like resolving log)",type:"boolean"},errors:{description:"add errors",type:"boolean"},exclude:{description:"Please use excludeModules instead.",anyOf:[{$ref:"#/definitions/FilterTypes"},{type:"boolean"}]},excludeAssets:{description:"Suppress assets that match the specified filters. Filters can be Strings, RegExps or Functions",anyOf:[{$ref:"#/definitions/FilterTypes"}]},excludeModules:{description:"Suppress modules that match the specified filters. Filters can be Strings, RegExps, Booleans or Functions",anyOf:[{$ref:"#/definitions/FilterTypes"},{type:"boolean"}]},hash:{description:"add the hash of the compilation",type:"boolean"},maxModules:{description:"Set the maximum number of modules to be shown",type:"number"},moduleAssets:{description:"add information about assets inside modules",type:"boolean"},moduleTrace:{description:"add dependencies and origin of warnings/errors",type:"boolean"},modules:{description:"add built modules information",type:"boolean"},modulesSort:{description:"sort the modules by that field",type:"string"},nestedModules:{description:"add information about modules nested in other modules (like with module concatenation)",type:"boolean"},optimizationBailout:{description:"show reasons why optimization bailed out for modules",type:"boolean"},orphanModules:{description:"add information about orphan modules",type:"boolean"},outputPath:{description:"Add output path information",type:"boolean"},performance:{description:"add performance hint flags",type:"boolean"},preset:{description:"preset for the default values",anyOf:[{type:"boolean"},{type:"string"}]},providedExports:{description:"show exports provided by modules",type:"boolean"},publicPath:{description:"Add public path information",type:"boolean"},reasons:{description:"add information about the reasons why modules are included",type:"boolean"},runtime:{description:"add information about runtime modules",type:"boolean"},source:{description:"add the source code of modules",type:"boolean"},timings:{description:"add timing information",type:"boolean"},usedExports:{description:"show exports used by modules",type:"boolean"},version:{description:"add webpack version information",type:"boolean"},warnings:{description:"add warnings",type:"boolean"},warningsFilter:{description:"Suppress warnings that match the specified filters. Filters can be Strings, RegExps or Functions",anyOf:[{$ref:"#/definitions/FilterTypes"}]}}},WatchOptions:{type:"object",additionalProperties:false,properties:{aggregateTimeout:{description:"Delay the rebuilt after the first change. Value is a time in ms.",type:"number"},ignored:{description:"Ignore some files from watching (glob pattern)",anyOf:[{description:"A single glob pattern for files that should be ignored from watching",type:"string",minLength:1},{$ref:"#/definitions/ArrayOfStringValues"}]},poll:{description:"Enable polling mode for watching",anyOf:[{description:"`true`: use polling.",type:"boolean"},{description:"`number`: use polling with specified interval.",type:"number"}]},stdin:{description:"Stop watching when stdin stream has ended",type:"boolean"}}},WebpackPluginFunction:{description:"Function acting as plugin",instanceof:"Function",tsType:"(this: import('../lib/Compiler'), compiler: import('../lib/Compiler')) => void"},WebpackPluginInstance:{description:"Plugin instance",type:"object",additionalProperties:true,properties:{apply:{description:"The run point of the plugin, required method.",instanceof:"Function",tsType:"(compiler: import('../lib/Compiler')) => void"}},required:["apply"]}},type:"object",additionalProperties:false,properties:{amd:{description:"Set the value of `require.amd` and `define.amd`. Or disable AMD support.",anyOf:[{description:"You can pass `false` to disable AMD support.",enum:[false]},{description:"You can pass an object to set the value of `require.amd` and `define.amd`.",type:"object"}]},bail:{description:"Report the first error as a hard error instead of tolerating it.",type:"boolean"},cache:{description:"Cache generated modules and chunks to improve performance for multiple incremental builds.",anyOf:[{description:"Disable caching.",enum:[false]},{description:"Enable in memory caching.",enum:[true]},{description:"Options for memory caching.",anyOf:[{$ref:"#/definitions/MemoryCacheOptions"}]},{description:"Options for persistent caching.",anyOf:[{$ref:"#/definitions/FileCacheOptions"}]}]},context:{description:"The base directory (absolute path!) for resolving the `entry` option. If `output.pathinfo` is set, the included pathinfo is shortened to this directory.",type:"string",absolutePath:true},dependencies:{description:"References to other configurations to depend on.",type:"array",items:{description:"References to another configuration to depend on.",type:"string"}},devServer:{description:"Options for the webpack-dev-server",type:"object"},devtool:{description:"A developer tool to enhance debugging.",anyOf:[{type:"string"},{enum:[false]}]},entry:{description:"The entry point(s) of the compilation.",anyOf:[{$ref:"#/definitions/Entry"}]},experiments:{description:"Enables/Disables experiments (experiemental features with relax SemVer compatibility)",anyOf:[{$ref:"#/definitions/Experiments"}]},externals:{description:"Specify dependencies that shouldn't be resolved by webpack, but should become dependencies of the resulting bundle. The kind of the dependency depends on `output.libraryTarget`.",anyOf:[{$ref:"#/definitions/Externals"}]},loader:{description:"Custom values available in the loader context.",type:"object"},mode:{description:"Enable production optimizations or development hints.",enum:["development","production","none"]},module:{description:"Options affecting the normal modules (`NormalModuleFactory`).",anyOf:[{$ref:"#/definitions/ModuleOptions"}]},name:{description:"Name of the configuration. Used when loading multiple configurations.",type:"string"},node:{description:"Include polyfills or mocks for various node stuff.",anyOf:[{enum:[false]},{$ref:"#/definitions/NodeOptions"}]},optimization:{description:"Enables/Disables integrated optimizations",anyOf:[{$ref:"#/definitions/OptimizationOptions"}]},output:{description:"Options affecting the output of the compilation. `output` options tell webpack how to write the compiled files to disk.",anyOf:[{$ref:"#/definitions/OutputOptions"}]},parallelism:{description:"The number of parallel processed modules in the compilation.",type:"number",minimum:1},performance:{description:"Configuration for web performance recommendations.",anyOf:[{enum:[false]},{$ref:"#/definitions/PerformanceOptions"}]},plugins:{description:"Add additional plugins to the compiler.",type:"array",items:{description:"Plugin of type object or instanceof Function",anyOf:[{$ref:"#/definitions/WebpackPluginInstance"},{$ref:"#/definitions/WebpackPluginFunction"}]}},profile:{description:"Capture timing information for each module.",type:"boolean"},recordsInputPath:{description:"Store compiler state to a json file.",type:"string",absolutePath:true},recordsOutputPath:{description:"Load compiler state from a json file.",type:"string",absolutePath:true},recordsPath:{description:"Store/Load compiler state from/to a json file. This will result in persistent ids of modules and chunks. An absolute path is expected. `recordsPath` is used for `recordsInputPath` and `recordsOutputPath` if they left undefined.",type:"string",absolutePath:true},resolve:{description:"Options for the resolver",anyOf:[{$ref:"#/definitions/ResolveOptions"}]},resolveLoader:{description:"Options for the resolver when resolving loaders",anyOf:[{$ref:"#/definitions/ResolveOptions"}]},serve:{description:"Options for webpack-serve",type:"object"},stats:{description:"Used by the webpack CLI program to pass stats options.",anyOf:[{$ref:"#/definitions/StatsOptions"},{type:"boolean"},{enum:["none","errors-only","minimal","normal","detailed","verbose","errors-warnings"]}]},target:{description:"Environment to build for",anyOf:[{enum:["web","webworker","node","async-node","node-webkit","electron-main","electron-renderer","electron-preload"]},{instanceof:"Function",tsType:"((compiler: import('../lib/Compiler')) => void)"}]},watch:{description:"Enter watch mode, which rebuilds on file change.",type:"boolean"},watchOptions:{description:"Options for the watcher",anyOf:[{$ref:"#/definitions/WatchOptions"}]}}}},9035:function(e,t,n){"use strict";const r=n(6150);const i=n(6804);const s=n(8159);class AMDDefineRuntimeModule extends i{constructor(){super("amd define")}generate(){return s.asString([`${r.amdDefine} = function () {`,s.indent("throw new Error('define cannot be used indirect');"),"};"])}}class AMDOptionsRuntimeModule extends i{constructor(e){super("amd options");this.options=e}generate(){return s.asString([`${r.amdOptions} = ${JSON.stringify(this.options)};`])}}t.AMDDefineRuntimeModule=AMDDefineRuntimeModule;t.AMDOptionsRuntimeModule=AMDOptionsRuntimeModule},9041:function(e,t,n){"use strict";const r=n(6150);const i=n(3558);const s=n(5715);const o=n(8145);const a=n(3842);const u=n(5167);const c=n(9022);const l=n(6298);const f=n(5601);const d=n(4229);const{getLocalModule:p}=n(1701);const h=n(2584);const m=n(6134);class AMDRequireDependenciesBlockParserPlugin{constructor(e){this.options=e}processFunctionArgument(e,t){let n=true;const r=m(t);if(r){e.inScope(r.fn.params.filter(e=>{return!["require","module","exports"].includes(e.name)}),()=>{if(r.fn.body.type==="BlockStatement"){e.walkStatement(r.fn.body)}else{e.walkExpression(r.fn.body)}});e.walkExpressions(r.expressions);if(r.needThis===false){n=false}}else{e.walkExpression(t)}return n}apply(e){e.hooks.call.for("require").tap("AMDRequireDependenciesBlockParserPlugin",this.processCallRequire.bind(this,e))}processArray(e,t,n){if(n.isArray()){for(const r of n.items){const n=this.processItem(e,t,r);if(n===undefined){this.processContext(e,t,r)}}return true}else if(n.isConstArray()){const r=[];for(const i of n.array){let n,s;if(i==="require"){n="__webpack_require__"}else if(["exports","module"].includes(i)){n=i}else if(s=p(e.state,i)){s.flagUsed();n=new d(s,undefined,false);n.loc=t.loc;e.state.current.addDependency(n)}else{n=this.newRequireItemDependency(i);n.loc=t.loc;n.optional=!!e.scope.inTry;e.state.current.addDependency(n)}r.push(n)}const i=this.newRequireArrayDependency(r,n.range);i.loc=t.loc;i.optional=!!e.scope.inTry;e.state.current.addDependency(i);return true}}processItem(e,t,n){if(n.isConditional()){for(const r of n.options){const n=this.processItem(e,t,r);if(n===undefined){this.processContext(e,t,r)}}return true}else if(n.isString()){let i,s;if(n.string==="require"){i=new l("__webpack_require__",n.string,[r.require])}else if(n.string==="module"){i=new l(e.state.module.buildInfo.moduleArgument,n.range,[r.module])}else if(n.string==="exports"){i=new l(e.state.module.buildInfo.exportsArgument,n.range,[r.exports])}else if(s=p(e.state,n.string)){s.flagUsed();i=new d(s,n.range,false)}else{i=this.newRequireItemDependency(n.string,n.range)}i.loc=t.loc;i.optional=!!e.scope.inTry;e.state.current.addDependency(i);return true}}processContext(e,t,n){const r=f.create(o,n.range,n,t,this.options,{},e);if(!r)return;r.loc=t.loc;r.optional=!!e.scope.inTry;e.state.current.addDependency(r);return true}processArrayForRequestString(e){if(e.isArray()){const t=e.items.map(e=>this.processItemForRequestString(e));if(t.every(Boolean))return t.join(" ")}else if(e.isConstArray()){return e.array.join(" ")}}processItemForRequestString(e){if(e.isConditional()){const t=e.options.map(e=>this.processItemForRequestString(e));if(t.every(Boolean))return t.join("|")}else if(e.isString()){return e.string}}processCallRequire(e,t){let n;let r;let s;let o;const a=e.state.current;if(t.arguments.length>=1){n=e.evaluateExpression(t.arguments[0]);r=this.newRequireDependenciesBlock(t.loc,this.processArrayForRequestString(n));s=this.newRequireDependency(t.range,n.range,t.arguments.length>1?t.arguments[1].range:null,t.arguments.length>2?t.arguments[2].range:null);s.loc=t.loc;r.addDependency(s);e.state.current=r}if(t.arguments.length===1){e.inScope([],()=>{o=this.processArray(e,t,n)});e.state.current=a;if(!o)return;e.state.current.addBlock(r);return true}if(t.arguments.length===2||t.arguments.length===3){try{e.inScope([],()=>{o=this.processArray(e,t,n)});if(!o){const n=new h("unsupported",t.range);a.addDependency(n);if(e.state.module){e.state.module.errors.push(new i("Cannot statically analyse 'require(…, …)' in line "+t.loc.start.line,t.loc))}r=null;return true}s.functionBindThis=this.processFunctionArgument(e,t.arguments[1]);if(t.arguments.length===3){s.errorCallbackBindThis=this.processFunctionArgument(e,t.arguments[2])}}finally{e.state.current=a;if(r)e.state.current.addBlock(r)}return true}}newRequireDependenciesBlock(e,t){return new a(e,t)}newRequireDependency(e,t,n,r){return new u(e,t,n,r)}newRequireItemDependency(e,t){return new c(e,t)}newRequireArrayDependency(e,t){return new s(e,t)}}e.exports=AMDRequireDependenciesBlockParserPlugin},9042:function(e,t,n){"use strict";e.exports=function defFunc(e){defFunc.definition={type:"object",inline:n(8632),statements:true,errors:"full",metaSchema:{type:"array",items:{type:"string",format:"regex"},uniqueItems:true}};e.addKeyword("patternRequired",defFunc.definition);return e}},9043:function(e,t,n){"use strict";const r=n(7788);const i=n(1226).getNumberOfLines;const s=n(1226).getUnfinishedLine;const o=";AACA";class SourceNode{constructor(e,t,n,r){this.generatedCode=e;this.originalSource=n;this.source=t;this.startingLine=r||1;this._numberOfLines=i(this.generatedCode);this._endsWithNewLine=e[e.length-1]==="\n"}clone(){return new SourceNode(this.generatedCode,this.source,this.originalSource,this.startingLine)}getGeneratedCode(){return this.generatedCode}addGeneratedCode(e){this.generatedCode+=e;this._numberOfLines+=i(e);this._endsWithNewLine=e[e.length-1]==="\n"}getMappings(e){if(!this.generatedCode)return"";const t=this._numberOfLines;const n=e.ensureSource(this.source,this.originalSource);let i="A";if(e.unfinishedGeneratedLine)i=","+r.encode(e.unfinishedGeneratedLine);i+=r.encode(n-e.currentSource);i+=r.encode(this.startingLine-e.currentOriginalLine);i+="A";e.currentSource=n;e.currentOriginalLine=this.startingLine+t-1;const a=e.unfinishedGeneratedLine=s(this.generatedCode);i+=Array(t).join(o);if(a===0){i+=";"}else{if(t!==0){i+=o}e.currentOriginalLine++}return i}mapGeneratedCode(e){throw new Error("Cannot map generated code on a SourceMap. Normalize to SingleLineNode first.")}getNormalizedNodes(){var e=[];var t=this.startingLine;var n=this.generatedCode;var r=0;var i=n.length;while(r{const n=e=>{e.hooks.program.tap("UseStrictPlugin",t=>{const n=t.body[0];if(n&&n.type==="ExpressionStatement"&&n.expression.type==="Literal"&&n.expression.value==="use strict"){const t=new r("",n.range);t.loc=n.loc;e.state.current.addDependency(t);e.state.module.buildInfo.strict=true}})};t.hooks.parser.for("javascript/auto").tap("UseStrictPlugin",n);t.hooks.parser.for("javascript/dynamic").tap("UseStrictPlugin",n);t.hooks.parser.for("javascript/esm").tap("UseStrictPlugin",n)})}}e.exports=UseStrictPlugin},9054:function(e,t,n){"use strict";const r=n(2380);const i=n(4827);const s=n(5734);const o=n(625);const{compareLocations:a,compareChunksById:u,compareNumbers:c,compareIds:l,concatComparators:f,compareSelect:d,compareModulesById:p,compareModulesByIdOrIdentifier:h}=n(8673);const m={_:(e,t,{compilation:{chunkGraph:n,moduleGraph:i}},{requestShortener:s})=>{if(typeof t==="string"){e.message=t}else{if(t.chunk){e.chunkId=t.chunk.id;e.chunkName=t.chunk.name;e.chunkEntry=t.chunk.hasRuntime();e.chunkInitial=t.chunk.canBeInitial()}if(t.file){e.file=t.file}if(t.module){e.moduleId=n.getModuleId(t.module);e.moduleIdentifier=t.module.identifier();e.moduleName=t.module.readableIdentifier(s)}if(t.loc){e.loc=r(t.loc)}e.message=t.message}},moduleTrace:(e,t,n,r,i)=>{if(typeof t!=="string"&&t.module){const{type:r,compilation:{moduleGraph:s}}=n;const o=new Set;const a=[];let u=t.module;while(u){if(o.has(u))break;o.add(u);const e=s.getIssuer(u);if(!e)break;a.push({origin:e,module:u});u=e}e.moduleTrace=i.create(`${r}.moduleTrace`,a,n)}},errorDetails:(e,t)=>{if(typeof t!=="string"){e.details=t.details;e.stack=t.stack;e.missing=t.missing}}};const g={compilation:{_:(e,t)=>{if(t.name){e.name=t.name}if(t.needAdditionalPass){e.needAdditionalPass=true}},hash:(e,t)=>{e.hash=t.hash},version:e=>{e.version=n(9555).version},env:(e,t,n,{_env:r})=>{e.env=r},timings:(e,t,{startTime:n,endTime:r})=>{e.time=r-n},builtAt:(e,t,{endTime:n})=>{e.builtAt=n},publicPath:(e,t)=>{e.publicPath=t.mainTemplate.getPublicPath({hash:t.hash})},outputPath:(e,t)=>{e.outputPath=t.mainTemplate.outputOptions.path},assets:(e,t,n,r,i)=>{const{type:s}=n;const o=Object.keys(t.assets).map(e=>{const n=t.assets[e];return{name:e,source:n}});e.assets=i.create(`${s}.assets`,o,n);e.filteredAssets=o.length-e.assets.length;e.assetsByChunkName={};for(const t of e.assets){for(const n of t.chunkNames){e.assetsByChunkName[n]=(e.assetsByChunkName[n]||[]).concat(t.name)}}},chunks:(e,t,n,r,i)=>{const{type:s}=n;e.chunks=i.create(`${s}.chunks`,Array.from(t.chunks),n)},modules:(e,t,n,r,i)=>{const{type:s}=n;const o=Array.from(t.modules);e.modules=i.create(`${s}.modules`,o,n);e.filteredModules=o.length-e.modules.length},entrypoints:(e,t,n,r,i)=>{const{type:s}=n;const o=Array.from(t.entrypoints,([e,t])=>({name:e,chunkGroup:t}));e.entrypoints=i.create(`${s}.entrypoints`,o,n)},chunkGroups:(e,t,n,r,i)=>{const{type:s}=n;const o=Array.from(t.namedChunkGroups,([e,t])=>({name:e,chunkGroup:t}));e.namedChunkGroups=i.create(`${s}.namedChunkGroups`,o,n)},errors:(e,t,n,r,i)=>{const{type:s}=n;e.errors=i.create(`${s}.errors`,t.errors,n)},warnings:(e,t,n,r,i)=>{const{type:s}=n;e.warnings=i.create(`${s}.warnings`,t.warnings,n)},children:(e,t,n,r,i)=>{const{type:s}=n;e.children=i.create(`${s}.children`,t.children,n)}},asset:{_:(e,t,{compilation:n})=>{e.name=t.name;e.size=t.source.size();const r=Array.from(n.chunks).filter(e=>e.files.has(t.name));e.chunks=Array.from(r.reduce((e,t)=>{for(const n of t.ids){e.add(n)}return e},new Set)).sort(l);e.chunkNames=Array.from(r.reduce((e,t)=>{if(t.name){e.add(t.name)}return e},new Set)).sort(l);e.emitted=n.emittedAssets.has(t.name)},performance:(e,t)=>{e.isOverSizeLimit=o.isOverSizeLimit(t.source)}},chunkGroup:{_:(e,{name:t,chunkGroup:n},{compilation:{moduleGraph:r,chunkGraph:i}})=>{const s=n.getChildrenByOrders(r,i);Object.assign(e,{name:t,chunks:n.chunks.map(e=>e.id),assets:n.chunks.reduce((e,t)=>e.concat(Array.from(t.files)),[]),children:Object.keys(s).reduce((e,t)=>{const n=s[t];e[t]=n.map(e=>({name:e.name,chunks:e.chunks.map(e=>e.id),assets:e.chunks.reduce((e,t)=>e.concat(Array.from(t.files)),[])}));return e},Object.create(null)),childAssets:Object.keys(s).reduce((e,t)=>{const n=s[t];e[t]=Array.from(n.reduce((e,t)=>{for(const n of t.chunks){for(const t of n.files){e.add(t)}}return e},new Set));return e},Object.create(null))})},performance:(e,{chunkGroup:t})=>{e.isOverSizeLimit=o.isOverSizeLimit(t)}},module:{_:(e,t,n,{requestShortener:r},i)=>{const{compilation:s,type:o}=n;const{chunkGraph:a,moduleGraph:c}=s;const l=[];const f=c.getIssuer(t);let d=f;while(d){l.push(d);d=c.getIssuer(d)}l.reverse();const p=c.getProfile(t);Object.assign(e,{id:a.getModuleId(t),identifier:t.identifier(),name:t.readableIdentifier(r),index:c.getPreOrderIndex(t),preOrderIndex:c.getPreOrderIndex(t),index2:c.getPostOrderIndex(t),postOrderIndex:c.getPostOrderIndex(t),size:t.size(),sizes:Array.from(t.getSourceTypes()).reduce((e,n)=>{e[n]=t.size(n);return e},{}),cacheable:t.buildInfo.cacheable,built:s.builtModules.has(t),optional:t.isOptional(c),runtime:t.type==="runtime",chunks:Array.from(a.getOrderedModuleChunksIterable(t,u),e=>e.id),issuer:f&&f.identifier(),issuerId:f&&a.getModuleId(f),issuerName:f&&f.readableIdentifier(r),issuerPath:f&&i.create(`${o}.issuerPath`,l,n),failed:t.errors?t.errors.length>0:false,errors:t.errors?t.errors.length:0,warnings:t.warnings?t.warnings.length:0});if(p){e.profile=i.create(`${o}.profile`,p,n)}},orphanModules:(e,t,{compilation:n,type:r})=>{if(!r.endsWith("module.modules[].module")){e.orphan=n.chunkGraph.getNumberOfModuleChunks(t)===0}},moduleAssets:(e,t)=>{e.assets=t.buildInfo.assets?Object.keys(t.buildInfo.assets):[]},reasons:(e,t,n,r,i)=>{const{type:s,compilation:{moduleGraph:o}}=n;e.reasons=i.create(`${s}.reasons`,o.getIncomingConnections(t),n)},usedExports:(e,t,{compilation:{moduleGraph:n}})=>{const r=n.getUsedExports(t);if(r===null){e.usedExports=null}else if(typeof r==="boolean"){e.usedExports=r}else{e.usedExports=Array.from(r)}},providedExports:(e,t,{compilation:{moduleGraph:n}})=>{const r=n.getProvidedExports(t);e.providedExports=Array.isArray(r)?r:null},optimizationBailout:(e,t,{compilation:{moduleGraph:n}},{requestShortener:r})=>{e.optimizationBailout=n.getOptimizationBailout(t).map(e=>{if(typeof e==="function")return e(r);return e})},depth:(e,t,{compilation:{moduleGraph:n}})=>{e.depth=n.getDepth(t)},nestedModules:(e,t,n,r,i)=>{const{type:o}=n;if(t instanceof s){const r=t.modules;e.modules=i.create(`${o}.modules`,r,n);e.filteredModules=r.length-e.modules.length}},source:(e,t)=>{const n=t.originalSource();if(n){e.source=n.source()}}},profile:{_:(e,t)=>{Object.assign(e,{total:t.factory+t.restoring+t.integration+t.building+t.storing,resolving:t.factory,restoring:t.restoring,building:t.building,integration:t.integration,storing:t.storing,additionalResolving:t.additionalFactories,additionalIntegration:t.additionalIntegration,factory:t.factory,dependencies:t.additionalFactories})}},moduleIssuer:{_:(e,t,n,{requestShortener:r},i)=>{const{compilation:s,type:o}=n;const{chunkGraph:a,moduleGraph:u}=s;const c=u.getProfile(t);Object.assign(e,{id:a.getModuleId(t),identifier:t.identifier(),name:t.readableIdentifier(r)});if(c){e.profile=i.create(`${o}.profile`,c,n)}}},moduleReason:{_:(e,t,{compilation:{chunkGraph:n}},{requestShortener:i})=>{const s=t.dependency;Object.assign(e,{moduleId:t.originModule?n.getModuleId(t.originModule):null,moduleIdentifier:t.originModule?t.originModule.identifier():null,module:t.originModule?t.originModule.readableIdentifier(i):null,moduleName:t.originModule?t.originModule.readableIdentifier(i):null,resolvedModuleId:t.resolvedOriginModule?n.getModuleId(t.resolvedOriginModule):null,resolvedModuleIdentifier:t.resolvedOriginModule?t.resolvedOriginModule.identifier():null,resolvedModule:t.resolvedOriginModule?t.resolvedOriginModule.readableIdentifier(i):null,type:t.dependency?t.dependency.type:null,explanation:t.explanation,userRequest:s&&"userRequest"in s?s.userRequest:null});if(t.dependency){const n=r(t.dependency.loc);if(n){e.loc=n}}}},chunk:{_:(e,t,{compilation:{chunkGraph:n}})=>{const r=t.getChildIdsByOrders(n);Object.assign(e,{id:t.id,rendered:t.rendered,initial:t.canBeInitial(),entry:t.hasRuntime(),recorded:i.wasChunkRecorded(t),reason:t.chunkReason,size:n.getChunkModulesSize(t),sizes:n.getChunkModulesSizes(t),names:t.name?[t.name]:[],files:Array.from(t.files),hash:t.renderedHash,childrenByOrder:r})},chunkRelations:(e,t,{compilation:{chunkGraph:n}})=>{const r=new Set;const i=new Set;const s=new Set;for(const e of t.groupsIterable){for(const t of e.parentsIterable){for(const e of t.chunks){r.add(e.id)}}for(const t of e.childrenIterable){for(const e of t.chunks){i.add(e.id)}}for(const n of e.chunks){if(n!==t)s.add(n.id)}}e.siblings=Array.from(s).sort(l);e.parents=Array.from(r).sort(l);e.children=Array.from(i).sort(l)},chunkModules:(e,t,n,r,i)=>{const{type:s,compilation:{chunkGraph:o}}=n;const a=o.getChunkModules(t);e.modules=i.create(`${s}.modules`,a,n);e.filteredModules=a.length-e.modules.length},chunkRootModules:(e,t,n,r,i)=>{const{type:s,compilation:{chunkGraph:o}}=n;const a=o.getChunkRootModules(t);e.rootModules=i.create(`${s}.rootModules`,a,n);e.filteredRootModules=a.length-e.rootModules.length;e.nonRootModules=o.getNumberOfChunkModules(t)-a.length},chunkOrigins:(e,t,n,i,s)=>{const{type:o,compilation:{chunkGraph:a}}=n;const u=new Set;const c=Array.from(t.groupsIterable,e=>e.origins).reduce((e,t)=>e.concat(t),[]).filter(e=>{const t=[e.module?a.getModuleId(e.module):undefined,r(e.loc),e.request].join();if(u.has(t))return false;u.add(t);return true});e.origins=s.create(`${o}.origins`,c,n)}},chunkOrigin:{_:(e,t,{compilation:{chunkGraph:n}},{requestShortener:i})=>{Object.assign(e,{moduleId:t.module?n.getModuleId(t.module):undefined,module:t.module?t.module.identifier():"",moduleIdentifier:t.module?t.module.identifier():"",moduleName:t.module?t.module.readableIdentifier(i):"",loc:r(t.loc),request:t.request})}},error:m,warning:m,moduleTraceItem:{_:(e,{origin:t,module:n},r,{requestShortener:i},s)=>{const{type:o,compilation:{chunkGraph:a,moduleGraph:u}}=r;e.originId=a.getModuleId(t);e.originIdentifier=t.identifier();e.originName=t.readableIdentifier(i);e.moduleId=a.getModuleId(n);e.moduleIdentifier=n.identifier();e.moduleName=n.readableIdentifier(i);const c=u.getIncomingConnections(n).filter(e=>e.resolvedOriginModule===t&&e.dependency).map(e=>e.dependency);e.dependencies=s.create(`${o}.dependencies`,c,r)}},moduleTraceDependency:{_:(e,t)=>{e.loc=r(t.loc)}}};const y=e=>(t,n,{excludeModules:r,requestShortener:i})=>{const s=t.nameForCondition();if(!s)return;const o=i.shorten(s);const a=r.some(n=>n(o,t,e));if(a)return false};const v={"!cached":(e,{compilation:t})=>{if(!t.builtModules.has(e))return false},"!runtime":e=>{if(e.type==="runtime")return false}};const b={"compilation.assets":{excludeAssets:(e,t,{excludeAssets:n})=>{const r=e.name;const i=n.some(t=>t(r,e));if(i)return false}},"compilation.modules":{excludeModules:y("module"),"!orphanModules":(e,{compilation:{chunkGraph:t}})=>{if(t.getNumberOfModuleChunks(e)===0)return false},...v},"module.modules":{excludeModules:y("nested"),...v},"chunk.modules":{excludeModules:y("chunk"),...v},"chunk.rootModules":{excludeModules:y("root-of-chunk"),...v}};const w={maxModules:(e,t,{maxModules:n},r,i)=>{if(i>=n)return false}};const E={"compilation.modules":w,"modules.modules":w,"chunk.modules":w,"chunk.rootModules":w};const _={"compilation.warnings":{warningsFilter:(e,t,{warningsFilter:n})=>{const r=Object.keys(e).map(t=>`${e[t]}`).join("\n");return!n.some(t=>t(e,r))}}};const S={_:(e,{compilation:{moduleGraph:t}})=>{e.push(d(e=>t.getDepth(e),c),d(e=>t.getPreOrderIndex(e),c),d(e=>e.identifier(),l))}};const k={"compilation.modules":S,"chunk.rootModules":S,"chunk.modules":S,"module.reasons":{_:(e,{compilation:{chunkGraph:t}})=>{e.push(d(e=>e.originModule,p(t)));e.push(d(e=>e.resolvedOriginModule,h(t)));e.push(d(e=>e.dependency,f(d(e=>e.loc,a),d(e=>e.type,l))))}},"chunk.origins":{_:(e,{compilation:{chunkGraph:t}})=>{e.push(d(e=>e.module?t.getModuleId(e.module):undefined,l),d(e=>r(e.loc),l),d(e=>e.request,l))}}};const C=e=>{if(e[0]==="!"){return e.substr(1)}return e};const D=e=>{if(e[0]==="!"){return false}return true};const A=e=>{if(!e){const e=(e,t)=>0;return e}const t=C(e);let n=d(e=>e[t],l);const r=D(e);if(!r){const e=n;n=((t,n)=>e(n,t))}return n};const x={"compilation.chunks":{chunksSort:(e,t,{chunksSort:n})=>{e.push(A(n))},_:e=>{e.push(d(e=>e.id,l))}},"compilation.modules":{modulesSort:(e,t,{modulesSort:n})=>{e.push(A(n))}},"chunk.rootModules":{modulesSort:(e,t,{modulesSort:n})=>{e.push(A(n))}},"chunk.modules":{modulesSort:(e,t,{modulesSort:n})=>{e.push(A(n))}},"module.modules":{modulesSort:(e,t,{modulesSort:n})=>{e.push(A(n))}},"compilation.assets":{assetsSort:(e,t,{assetsSort:n})=>{e.push(A(n))},_:e=>{e.push(d(e=>e.name,l))}}};const M=(e,t,n)=>{for(const r of Object.keys(e)){const i=e[r];for(const e of Object.keys(i)){if(e!=="_"){if(e.startsWith("!")){if(t[e.slice(1)])continue}else{const n=t[e];if(n===false||n===undefined||Array.isArray(n)&&n.length===0)continue}}n(r,i[e])}}};const T={"compilation.children[]":"compilation","compilation.modules[]":"module","compilation.entrypoints[]":"chunkGroup","compilation.namedChunkGroups[]":"chunkGroup","compilation.errors[]":"error","compilation.warnings[]":"warning","chunk.modules[]":"module","chunk.rootModules[]":"module","chunk.origins[]":"chunkOrigin","compilation.chunks[]":"chunk","compilation.assets[]":"asset","module.issuerPath[]":"moduleIssuer","module.reasons[]":"moduleReason","module.modules[]":"module","moduleTrace[]":"moduleTraceItem","moduleTraceItem.dependencies[]":"moduleTraceDependency"};const O=e=>{const t=Object.create(null);for(const n of e){t[n.name]=n}return t};const F={"compilation.entrypoints":O,"compilation.namedChunkGroups":O};class DefaultStatsFactoryPlugin{apply(e){e.hooks.compilation.tap("DefaultStatsFactoryPlugin",e=>{e.hooks.statsFactory.tap("DefaultStatsFactoryPlugin",(t,n,r)=>{M(g,n,(e,r)=>{t.hooks.extract.for(e).tap("DefaultStatsFactoryPlugin",(e,i,s)=>r(e,i,s,n,t))});M(b,n,(e,r)=>{t.hooks.filter.for(e).tap("DefaultStatsFactoryPlugin",(e,t,i,s)=>r(e,t,n,i,s))});M(E,n,(e,r)=>{t.hooks.filterSorted.for(e).tap("DefaultStatsFactoryPlugin",(e,t,i,s)=>r(e,t,n,i,s))});M(_,n,(e,r)=>{t.hooks.filterResults.for(e).tap("DefaultStatsFactoryPlugin",(e,t,i,s)=>r(e,t,n,i,s))});M(k,n,(e,r)=>{t.hooks.sort.for(e).tap("DefaultStatsFactoryPlugin",(e,t)=>r(e,t,n))});M(x,n,(e,r)=>{t.hooks.sortResults.for(e).tap("DefaultStatsFactoryPlugin",(e,t)=>r(e,t,n))});for(const e of Object.keys(T)){const n=T[e];t.hooks.getItemName.for(e).tap("DefaultStatsFactoryPlugin",()=>n)}for(const e of Object.keys(F)){const n=F[e];t.hooks.merge.for(e).tap("DefaultStatsFactoryPlugin",n)}if(n.children){if(Array.isArray(n.children)){t.hooks.getItemFactory.for("compilation.children[].compilation").tap("DefaultStatsFactoryPlugin",(t,{_index:i})=>{if(i{return i})}}})})}}e.exports=DefaultStatsFactoryPlugin},9064:function(e,t,n){var r=n(6481);var i=n(2599);var s=n(5747);var o=function(){};var a=/^v?\.0/.test(process.version);var u=function(e){return typeof e==="function"};var c=function(e){if(!a)return false;if(!s)return false;return(e instanceof(s.ReadStream||o)||e instanceof(s.WriteStream||o))&&u(e.close)};var l=function(e){return e.setHeader&&u(e.abort)};var f=function(e,t,n,s){s=r(s);var a=false;e.on("close",function(){a=true});i(e,{readable:t,writable:n},function(e){if(e)return s(e);a=true;s()});var f=false;return function(t){if(a)return;if(f)return;f=true;if(c(e))return e.close(o);if(l(e))return e.abort();if(u(e.destroy))return e.destroy();s(t||new Error("stream was destroyed"))}};var d=function(e){e()};var p=function(e,t){return e.pipe(t)};var h=function(){var e=Array.prototype.slice.call(arguments);var t=u(e[e.length-1]||o)&&e.pop()||o;if(Array.isArray(e[0]))e=e[0];if(e.length<2)throw new Error("pump requires two streams per minimum");var n;var r=e.map(function(i,s){var o=s0;return f(i,o,a,function(e){if(!n)n=e;if(e)r.forEach(d);if(o)return;r.forEach(d);t(n)})});return e.reduce(p)};e.exports=h},9084:function(e,t,n){"use strict";const r=n(6734);class ExternalModuleFactoryPlugin{constructor(e,t){this.type=e;this.externals=t}apply(e){const t=this.type;e.hooks.factorize.tapAsync("ExternalModuleFactoryPlugin",(e,n)=>{const i=e.context;const s=e.dependencies[0];const o=(e,n,i)=>{if(e===false){return i()}let o;if(e===true){o=s.request}else{o=e}if(n===undefined&&/^[a-z0-9]+ /.test(o)){const e=o.indexOf(" ");n=o.substr(0,e);o=o.substr(e+1)}i(null,new r(o,n||t,s.request))};const a=(e,t)=>{if(typeof e==="string"){if(e===s.request){return o(s.request,undefined,t)}}else if(Array.isArray(e)){let n=0;const r=()=>{let i;const s=(e,n)=>{if(e)return t(e);if(!n){if(i){i=false;return}return r()}t(null,n)};do{i=true;if(n>=e.length)return t();a(e[n++],s)}while(!i);i=false};r();return}else if(e instanceof RegExp){if(e.test(s.request)){return o(s.request,undefined,t)}}else if(typeof e==="function"){const n=(e,n,r)=>{if(e)return t(e);if(n!==undefined){o(n,r,t)}else{t()}};if(e.length===3){e.call(null,i,s.request,n)}else{e({context:i,request:s.request},n)}return}else if(typeof e==="object"&&Object.prototype.hasOwnProperty.call(e,s.request)){return o(e[s.request],undefined,t)}t()};a(this.externals,n)})}}e.exports=ExternalModuleFactoryPlugin},9090:function(e){"use strict";e.exports=function generate_format(e,t,n){var r=" ";var i=e.level;var s=e.dataLevel;var o=e.schema[t];var a=e.schemaPath+e.util.getProperty(t);var u=e.errSchemaPath+"/"+t;var c=!e.opts.allErrors;var l="data"+(s||"");if(e.opts.format===false){if(c){r+=" if (true) { "}return r}var f=e.opts.$data&&o&&o.$data,d;if(f){r+=" var schema"+i+" = "+e.util.getData(o.$data,s,e.dataPathArr)+"; ";d="schema"+i}else{d=o}var p=e.opts.unknownFormats,h=Array.isArray(p);if(f){var m="format"+i,g="isObject"+i,y="formatType"+i;r+=" var "+m+" = formats["+d+"]; var "+g+" = typeof "+m+" == 'object' && !("+m+" instanceof RegExp) && "+m+".validate; var "+y+" = "+g+" && "+m+".type || 'string'; if ("+g+") { ";if(e.async){r+=" var async"+i+" = "+m+".async; "}r+=" "+m+" = "+m+".validate; } if ( ";if(f){r+=" ("+d+" !== undefined && typeof "+d+" != 'string') || "}r+=" (";if(p!="ignore"){r+=" ("+d+" && !"+m+" ";if(h){r+=" && self._opts.unknownFormats.indexOf("+d+") == -1 "}r+=") || "}r+=" ("+m+" && "+y+" == '"+n+"' && !(typeof "+m+" == 'function' ? ";if(e.async){r+=" (async"+i+" ? await "+m+"("+l+") : "+m+"("+l+")) "}else{r+=" "+m+"("+l+") "}r+=" : "+m+".test("+l+"))))) {"}else{var m=e.formats[o];if(!m){if(p=="ignore"){e.logger.warn('unknown format "'+o+'" ignored in schema at path "'+e.errSchemaPath+'"');if(c){r+=" if (true) { "}return r}else if(h&&p.indexOf(o)>=0){if(c){r+=" if (true) { "}return r}else{throw new Error('unknown format "'+o+'" is used in schema at path "'+e.errSchemaPath+'"')}}var g=typeof m=="object"&&!(m instanceof RegExp)&&m.validate;var y=g&&m.type||"string";if(g){var v=m.async===true;m=m.validate}if(y!=n){if(c){r+=" if (true) { "}return r}if(v){if(!e.async)throw new Error("async format in sync schema");var b="formats"+e.util.getProperty(o)+".validate";r+=" if (!(await "+b+"("+l+"))) { "}else{r+=" if (! ";var b="formats"+e.util.getProperty(o);if(g)b+=".validate";if(typeof m=="function"){r+=" "+b+"("+l+") "}else{r+=" "+b+".test("+l+") "}r+=") { "}}var w=w||[];w.push(r);r="";if(e.createErrors!==false){r+=" { keyword: '"+"format"+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { format: ";if(f){r+=""+d}else{r+=""+e.util.toQuotedString(o)}r+=" } ";if(e.opts.messages!==false){r+=" , message: 'should match format \"";if(f){r+="' + "+d+" + '"}else{r+=""+e.util.escapeQuotes(o)}r+="\"' "}if(e.opts.verbose){r+=" , schema: ";if(f){r+="validate.schema"+a}else{r+=""+e.util.toQuotedString(o)}r+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "}r+=" } "}else{r+=" {} "}var E=r;r=w.pop();if(!e.compositeRule&&c){if(e.async){r+=" throw new ValidationError(["+E+"]); "}else{r+=" validate.errors = ["+E+"]; return false; "}}else{r+=" var err = "+E+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}r+=" } ";if(c){r+=" else { "}return r}},9112:function(e,t,n){(function(){"use strict";var e=n(2105);function isNode(e){if(e==null){return false}return typeof e==="object"&&typeof e.type==="string"}function isProperty(t,n){return(t===e.Syntax.ObjectExpression||t===e.Syntax.ObjectPattern)&&n==="properties"}function Visitor(t,n){n=n||{};this.__visitor=t||this;this.__childVisitorKeys=n.childVisitorKeys?Object.assign({},e.VisitorKeys,n.childVisitorKeys):e.VisitorKeys;if(n.fallback==="iteration"){this.__fallback=Object.keys}else if(typeof n.fallback==="function"){this.__fallback=n.fallback}}Visitor.prototype.visitChildren=function(t){var n,r,i,s,o,a,u;if(t==null){return}n=t.type||e.Syntax.Property;r=this.__childVisitorKeys[n];if(!r){if(this.__fallback){r=this.__fallback(t)}else{throw new Error("Unknown node type "+n+".")}}for(i=0,s=r.length;i{if(typeof e!=="number"||Number.isNaN(e)===true){return"unknown size"}if(e<=0){return"0 bytes"}const t=["bytes","KiB","MiB","GiB"];const n=Math.floor(Math.log(e)/Math.log(1024));return`${+(e/Math.pow(1024,n)).toPrecision(3)} ${t[n]}`})},9197:function(e,t,n){"use strict";const r=n(5622);const i=/^[a-zA-Z]:\\/;const s=/([|!])/;const o=/\\/g;const a=(e,t)=>{if(t[0]==="/"){if(t.length>1&&t[t.length-1]==="/"){return t}const n=t.indexOf("?");let i=n===-1?t:t.slice(0,n);i=r.posix.relative(e,i);if(!i.startsWith("../")){i="./"+i}return n===-1?i:i+t.slice(n)}if(i.test(t)){const n=t.indexOf("?");let s=n===-1?t:t.slice(0,n);s=r.win32.relative(e,s);if(!i.test(s)){s=s.replace(o,"/");if(!s.startsWith("../")){s="./"+s}}return n===-1?s:s+t.slice(n)}return t};const u=e=>{const t=new WeakMap;const n=(n,r,i)=>{if(!i)return e(n,r);let s=t.get(i);if(s===undefined){s=new Map;t.set(i,s)}let o;let a=s.get(n);if(a===undefined){s.set(n,a=new Map)}else{o=a.get(r)}if(o!==undefined){return o}else{const t=e(n,r);a.set(r,t);return t}};return n};const c=(e,t)=>{return t.split(s).map(t=>a(e,t)).join("")};t.makePathsRelative=u(c);const l=(e,t)=>{return t.split("!").map(t=>a(e,t)).join("!")};t.contextify=u(l)},9204:function(e,t,n){"use strict";const r=n(6202);const i=n(400);const s=n(7283);class RequireContextDependency extends i{constructor(e,t){super(e);this.range=t}get type(){return"require.context"}serialize(e){const{write:t}=e;t(this.range);super.serialize(e)}deserialize(e){const{read:t}=e;this.range=t();super.deserialize(e)}}r(RequireContextDependency,"webpack/lib/dependencies/RequireContextDependency");RequireContextDependency.Template=s;e.exports=RequireContextDependency},9208:function(e,t,n){"use strict";e.exports=Yallist;Yallist.Node=Node;Yallist.create=Yallist;function Yallist(e){var t=this;if(!(t instanceof Yallist)){t=new Yallist}t.tail=null;t.head=null;t.length=0;if(e&&typeof e.forEach==="function"){e.forEach(function(e){t.push(e)})}else if(arguments.length>0){for(var n=0,r=arguments.length;n1){n=t}else if(this.head){r=this.head.next;n=this.head.value}else{throw new TypeError("Reduce of empty list with no initial value")}for(var i=0;r!==null;i++){n=e(n,r.value,i);r=r.next}return n};Yallist.prototype.reduceReverse=function(e,t){var n;var r=this.tail;if(arguments.length>1){n=t}else if(this.tail){r=this.tail.prev;n=this.tail.value}else{throw new TypeError("Reduce of empty list with no initial value")}for(var i=this.length-1;r!==null;i--){n=e(n,r.value,i);r=r.prev}return n};Yallist.prototype.toArray=function(){var e=new Array(this.length);for(var t=0,n=this.head;n!==null;t++){e[t]=n.value;n=n.next}return e};Yallist.prototype.toArrayReverse=function(){var e=new Array(this.length);for(var t=0,n=this.tail;n!==null;t++){e[t]=n.value;n=n.prev}return e};Yallist.prototype.slice=function(e,t){t=t||this.length;if(t<0){t+=this.length}e=e||0;if(e<0){e+=this.length}var n=new Yallist;if(tthis.length){t=this.length}for(var r=0,i=this.head;i!==null&&rthis.length){t=this.length}for(var r=this.length,i=this.tail;i!==null&&r>t;r--){i=i.prev}for(;i!==null&&r>e;r--,i=i.prev){n.push(i.value)}return n};Yallist.prototype.reverse=function(){var e=this.head;var t=this.tail;for(var n=e;n!==null;n=n.prev){var r=n.prev;n.prev=n.next;n.next=r}this.head=t;this.tail=e;return this};function push(e,t){e.tail=new Node(t,e.tail,null,e);if(!e.head){e.head=e.tail}e.length++}function unshift(e,t){e.head=new Node(t,null,e.head,e);if(!e.tail){e.tail=e.head}e.length++}function Node(e,t,n,r){if(!(this instanceof Node)){return new Node(e,t,n,r)}this.list=r;this.value=e;if(t){t.next=this;this.prev=t}else{this.prev=null}if(n){n.prev=this;this.next=n}else{this.next=null}}try{n(6718)(Yallist)}catch(e){}},9276:function(e,t,n){"use strict";const r=n(538);const i=n(6172);class IgnorePlugin{constructor(e){r(i,e,"IgnorePlugin");this.options=e;this.checkIgnore=this.checkIgnore.bind(this)}checkIgnore(e){if("checkResource"in this.options&&this.options.checkResource&&this.options.checkResource(e.request,e.context)){return false}if("resourceRegExp"in this.options&&this.options.resourceRegExp&&this.options.resourceRegExp.test(e.request)){if("contextRegExp"in this.options&&this.options.contextRegExp){if(this.options.contextRegExp.test(e.context)){return false}}else{return false}}}apply(e){e.hooks.normalModuleFactory.tap("IgnorePlugin",e=>{e.hooks.beforeResolve.tap("IgnorePlugin",this.checkIgnore)});e.hooks.contextModuleFactory.tap("IgnorePlugin",e=>{e.hooks.beforeResolve.tap("IgnorePlugin",this.checkIgnore)})}}e.exports=IgnorePlugin},9297:function(e,t,n){"use strict";const{compareModulesByIdentifier:r}=n(8673);const{getShortModuleName:i,getLongModuleName:s,assignNames:o,getUsedModuleIds:a,assignAscendingModuleIds:u}=n(328);class NamedModuleIdsPlugin{constructor(e){this.options=e||{}}apply(e){e.hooks.compilation.tap("NamedModuleIdsPlugin",t=>{t.hooks.moduleIds.tap("NamedModuleIdsPlugin",n=>{const c=t.chunkGraph;const l=this.options.context?this.options.context:e.context;const f=o(Array.from(n).filter(e=>{if(c.getNumberOfModuleChunks(e)===0)return false;return c.getModuleId(e)===null}),t=>i(t,l,e.root),(t,n)=>s(n,t,l,e.root),r,a(t),(e,t)=>c.setModuleId(e,t));if(f.length>0){u(f,t)}})})}}e.exports=NamedModuleIdsPlugin},9306:function(e){"use strict";e.exports=function generate_properties(e,t,n){var r=" ";var i=e.level;var s=e.dataLevel;var o=e.schema[t];var a=e.schemaPath+e.util.getProperty(t);var u=e.errSchemaPath+"/"+t;var c=!e.opts.allErrors;var l="data"+(s||"");var f="errs__"+i;var d=e.util.copy(e);var p="";d.level++;var h="valid"+d.level;var m="key"+i,g="idx"+i,y=d.dataLevel=e.dataLevel+1,v="data"+y,b="dataProperties"+i;var w=Object.keys(o||{}),E=e.schema.patternProperties||{},_=Object.keys(E),S=e.schema.additionalProperties,k=w.length||_.length,C=S===false,D=typeof S=="object"&&Object.keys(S).length,A=e.opts.removeAdditional,x=C||D||A,M=e.opts.ownProperties,T=e.baseId;var O=e.schema.required;if(O&&!(e.opts.$data&&O.$data)&&O.length8){r+=" || validate.schema"+a+".hasOwnProperty("+m+") "}else{var I=w;if(I){var R,P=-1,N=I.length-1;while(P{const o=(i,s)=>{if(r.has(i)){throw e.error(`${t}.${i}`,n[i],`A Rule must not have a '${i}' property when it has a '${s}' property`)}};if(r.has("use")){r.delete("use");r.delete("enforce");o("loader","use");o("options","use");const e=n.use;const a=n.enforce;const u=a?`use-${a}`:"use";const c=(e,t)=>{if(typeof t==="function"){return e=>f(t(e))}else{return l(e,t)}};const l=(e,t)=>{if(typeof t==="string"){return{type:u,value:{loader:t,options:undefined,ident:undefined}}}else{const n=t.loader;const r=t.options;let i=t.ident;if(r&&typeof r==="object"){if(!i)i=e;s.set(i,r)}return{type:a?`use-${a}`:"use",value:{loader:n,options:r,ident:i}}}};const f=e=>{if(Array.isArray(e)){return e.map(e=>l("[[missing ident]]",e))}return[l("[[missing ident]]",e)]};const d=(e,t)=>{if(Array.isArray(t)){return t.map((t,n)=>c(`${e}[${n}]`,t))}return[c(e,t)]};if(typeof e==="function"){i.effects.push(t=>f(e(t)))}else{for(const n of d(`${t}.use`,e)){i.effects.push(n)}}}if(r.has("loader")){r.delete("loader");r.delete("options");r.delete("enforce");const s=n.loader;const o=n.options;const a=n.enforce;if(s.includes("!")){throw e.error(`${t}.loader`,s,"Exclamation mark separated loader lists has been removed in favor of the 'use' property with arrays")}if(s.includes("?")){throw e.error(`${t}.loader`,s,"Query arguments on 'loader' has been removed in favor of the 'options' property")}i.effects.push({type:a?`use-${a}`:"use",value:{loader:s,options:o,ident:o&&typeof o==="object"?t:undefined}})}})}useItemToEffects(e,t){}}e.exports=UseEffectRulePlugin},9343:function(e,t,n){"use strict";var r=n(3292);var i=n(9596).SourceNode;var s=n(6900).SourceListMap;class RawSource extends r{constructor(e){super();this._value=e}source(){return this._value}map(e){return null}node(e){return new i(null,null,null,this._value)}listMap(e){return new s(this._value)}updateHash(e){e.update(this._value)}}e.exports=RawSource},9381:function(e,t,n){"use strict";const r=n(9972);const i=n(6298);const s=n(7790);const o=n(654);const a=n(9707);const u=n(2230);e.exports=class HarmonyImportDependencyParserPlugin{constructor(e){const{module:t}=e;this.strictExportPresence=t.strictExportPresence;this.strictThisContextOnImports=t.strictThisContextOnImports;this.importAwait=e.importAwait}apply(e){e.hooks.import.tap("HarmonyImportDependencyParserPlugin",(t,n)=>{e.state.lastHarmonyImportOrder=(e.state.lastHarmonyImportOrder||0)+1;const r=new i("",t.range);r.loc=t.loc;e.state.module.addDependency(r);const s=new a(n,e.state.lastHarmonyImportOrder);s.loc=t.loc;s.await=t.await;e.state.module.addDependency(s);if(t.await&&!this.importAwait){throw new Error("Used 'import await' but import-await experiment is not enabled (set experiments.importAwait: true to enable it)")}return true});e.hooks.importSpecifier.tap("HarmonyImportDependencyParserPlugin",(t,n,r,i)=>{e.scope.definitions.delete(i);e.scope.renames.set(i,"imported var");if(!e.state.harmonySpecifier){e.state.harmonySpecifier=new Map}const s=r===null?[]:[r];e.state.harmonySpecifier.set(i,{source:n,ids:s,sourceOrder:e.state.lastHarmonyImportOrder,await:t.await});return true});e.hooks.expression.for("imported var").tap("HarmonyImportDependencyParserPlugin",t=>{const n=t.name;const r=e.state.harmonySpecifier.get(n);const i=new u(r.source,r.sourceOrder,r.ids,n,t.range,this.strictExportPresence);i.shorthand=e.scope.inShorthand;i.directImport=true;i.await=r.await;i.loc=t.loc;e.state.module.addDependency(i);return true});e.hooks.expressionMemberChain.for("imported var").tap("HarmonyImportDependencyParserPlugin",(t,n,r)=>{const i=e.state.harmonySpecifier.get(n);const s=i.ids.concat(r);const o=new u(i.source,i.sourceOrder,s,n,t.range,this.strictExportPresence);o.await=i.await;o.loc=t.loc;e.state.module.addDependency(o);return true});e.hooks.callMemberChain.for("imported var").tap("HarmonyImportDependencyParserPlugin",(t,n,r)=>{const i=t.arguments;t=t.callee;const s=e.state.harmonySpecifier.get(n);const o=s.ids.concat(r);const a=new u(s.source,s.sourceOrder,o,n,t.range,this.strictExportPresence);a.directImport=r.length===0;a.await=s.await;a.call=true;a.namespaceObjectAsContext=r.length>0&&this.strictThisContextOnImports;a.loc=t.loc;e.state.module.addDependency(a);if(i)e.walkExpressions(i);return true});const{hotAcceptCallback:t,hotAcceptWithoutCallback:n}=r.getParserHooks(e);t.tap("HarmonyImportDependencyParserPlugin",(t,n)=>{if(!e.state.harmonyModule){return}const r=n.map(n=>{const r=new o(n);r.loc=t.loc;e.state.module.addDependency(r);return r});if(r.length>0){const n=new s(t.range,r,true);n.loc=t.loc;e.state.module.addDependency(n)}});n.tap("HarmonyImportDependencyParserPlugin",(t,n)=>{if(!e.state.harmonyModule){return}const r=n.map(n=>{const r=new o(n);r.loc=t.loc;e.state.module.addDependency(r);return r});if(r.length>0){const n=new s(t.range,r,false);n.loc=t.loc;e.state.module.addDependency(n)}})}}},9382:function(e,t,n){"use strict";e.exports=move;var r=n(5747);var i=n(6008);var s=n(6036);var o=n(5044);var a=n(6240);var u=Object.assign||n(1669)._extend;function promisify(e,t){return function(){var n=[].slice.call(arguments);return new e(function(e,r){return t.apply(null,n.concat(function(t,n){if(t){r(t)}else{e(n)}}))})}}function move(e,t,n){s("SSO|SS",arguments);n=u({},n||{});var c=n.Promise||global.Promise;var l=n.fs||r;var f=promisify(c,i);var d=promisify(c,l.rename);n.top=e;var p=new a({maxConcurrency:n.maxConcurrency,Promise:c});n.queue=p;n.recurseWith=rename;p.add(0,rename,[e,t,n]);return p.run().then(function(){return remove(e)},function(e){if(e.code==="EEXIST"||e.code==="EPERM"){return passThroughError()}else{return remove(t).then(passThroughError,passThroughError)}function passThroughError(){return c.reject(e)}});function remove(e){var t={unlink:l.unlink,chmod:l.chmod,stat:l.stat,lstat:l.lstat,rmdir:l.rmdir,readdir:l.readdir,glob:false};return f(e,t)}function rename(e,t,n,r){return d(e,t).catch(function(r){if(r.code!=="EXDEV"){return c.reject(r)}else{return remove(t).then(function(){return o.item(e,t,n)})}})}}},9401:function(e,t,n){var r=n(2453).Transform,i=n(1669).inherits,s=n(6700);function DestroyableTransform(e){r.call(this,e);this._destroyed=false}i(DestroyableTransform,r);DestroyableTransform.prototype.destroy=function(e){if(this._destroyed)return;this._destroyed=true;var t=this;process.nextTick(function(){if(e)t.emit("error",e);t.emit("close")})};function noop(e,t,n){n(null,e)}function through2(e){return function(t,n,r){if(typeof t=="function"){r=n;n=t;t={}}if(typeof n!="function")n=noop;if(typeof r!="function")r=null;return e(t,n,r)}}e.exports=through2(function(e,t,n){var r=new DestroyableTransform(e);r._transform=t;if(n)r._flush=n;return r});e.exports.ctor=through2(function(e,t,n){function Through2(t){if(!(this instanceof Through2))return new Through2(t);this.options=s(e,t);DestroyableTransform.call(this,this.options)}i(Through2,DestroyableTransform);Through2.prototype._transform=t;if(n)Through2.prototype._flush=n;return Through2});e.exports.obj=through2(function(e,t,n){var r=new DestroyableTransform(s({objectMode:true,highWaterMark:16},e));r._transform=t;if(n)r._flush=n;return r})},9411:function(e,t,n){"use strict";var r=n(2253);e.exports={Validation:errorSubclass(ValidationError),MissingRef:errorSubclass(MissingRefError)};function ValidationError(e){this.message="validation failed";this.errors=e;this.ajv=this.validation=true}MissingRefError.message=function(e,t){return"can't resolve reference "+t+" from id "+e};function MissingRefError(e,t,n){this.message=n||MissingRefError.message(e,t);this.missingRef=r.url(e,t);this.missingSchema=r.normalizeId(r.fullPath(this.missingRef))}function errorSubclass(e){e.prototype=Object.create(Error.prototype);e.prototype.constructor=e;return e}},9422:function(e,t,n){"use strict";const r=n(9983);class DelegatedSourceDependency extends r{constructor(e){super(e)}get type(){return"delegated source"}}e.exports=DelegatedSourceDependency},9455:function(e,t,n){"use strict";const r=n(4304);const i=n(3272);const s=n(6202);const o=n(2197);class CachedConstDependency extends o{constructor(e,t,n){super();this.expression=e;this.range=t;this.identifier=n}updateHash(e,t){e.update(this.identifier+"");e.update(this.range+"");e.update(this.expression+"")}serialize(e){const{write:t}=e;t(this.expression);t(this.range);t(this.identifier);super.serialize(e)}deserialize(e){const{read:t}=e;this.expression=t();this.range=t();this.identifier=t();super.deserialize(e)}}s(CachedConstDependency,"webpack/lib/dependencies/CachedConstDependency");CachedConstDependency.Template=class CachedConstDependencyTemplate extends r{apply(e,t,{runtimeTemplate:n,dependencyTemplates:r,initFragments:s}){const o=e;s.push(new i(`var ${o.identifier} = ${o.expression};\n`,i.STAGE_CONSTANTS,0,`const ${o.identifier}`));if(typeof o.range==="number"){t.insert(o.range,o.identifier);return}t.replace(o.range[0],o.range[1]-1,o.identifier)}};e.exports=CachedConstDependency},9462:function(e,t,n){"use strict";e.exports=function(e,t,r,i){var s=n(9505);var o=s.tryCatch;var a=s.errorObj;var u=e._async;e.prototype["break"]=e.prototype.cancel=function(){if(!i.cancellation())return this._warn("cancellation is disabled");var e=this;var t=e;while(e._isCancellable()){if(!e._cancelBy(t)){if(t._isFollowing()){t._followee().cancel()}else{t._cancelBranched()}break}var n=e._cancellationParent;if(n==null||!n._isCancellable()){if(e._isFollowing()){e._followee().cancel()}else{e._cancelBranched()}break}else{if(e._isFollowing())e._followee().cancel();e._setWillBeCancelled();t=e;e=n}}};e.prototype._branchHasCancelled=function(){this._branchesRemainingToCancel--};e.prototype._enoughBranchesHaveCancelled=function(){return this._branchesRemainingToCancel===undefined||this._branchesRemainingToCancel<=0};e.prototype._cancelBy=function(e){if(e===this){this._branchesRemainingToCancel=0;this._invokeOnCancel();return true}else{this._branchHasCancelled();if(this._enoughBranchesHaveCancelled()){this._invokeOnCancel();return true}}return false};e.prototype._cancelBranched=function(){if(this._enoughBranchesHaveCancelled()){this._cancel()}};e.prototype._cancel=function(){if(!this._isCancellable())return;this._setCancelled();u.invoke(this._cancelPromises,this,undefined)};e.prototype._cancelPromises=function(){if(this._length()>0)this._settlePromises()};e.prototype._unsetOnCancel=function(){this._onCancelField=undefined};e.prototype._isCancellable=function(){return this.isPending()&&!this._isCancelled()};e.prototype.isCancellable=function(){return this.isPending()&&!this.isCancelled()};e.prototype._doInvokeOnCancel=function(e,t){if(s.isArray(e)){for(var n=0;n=0)u._disposeHandlers.splice(t,1)},check:hotCheck,apply:hotApply,status:function(e){if(!e)return a;o.push(e)},addStatusHandler:function(e){o.push(e)},removeStatusHandler:function(e){var t=o.indexOf(e);if(t>=0)o.splice(t,1)},data:t[e]};i=undefined;return u}function setStatus(e){a=e;for(var t=0;t0){setStatus("abort");return Promise.resolve().then(function(){throw r[0]})}setStatus("dispose");n.forEach(function(e){if(e.dispose)e.dispose()});setStatus("apply");e=l;var i;var s=function(e){if(!i)i=e};var o=[];n.forEach(function(e){if(e.apply){var t=e.apply(s);if(t){for(var n=0;n1;var r=t.length>0&&!(t.length===1&&t[0]==="constructor");var i=thisAssignmentPattern.test(e+"")&&es5.names(e).length>0;if(n||r||i){return true}}return false}catch(e){return false}}function toFastProperties(obj){function FakeConstructor(){}FakeConstructor.prototype=obj;var receiver=new FakeConstructor;function ic(){return typeof receiver.foo}ic();ic();return obj;eval(obj)}var rident=/^[a-z$_][a-z$_0-9]*$/i;function isIdentifier(e){return rident.test(e)}function filledRange(e,t,n){var r=new Array(e);for(var i=0;i10||e[0]>0}();ret.nodeSupportsAsyncResource=ret.isNode&&function(){var e=false;try{var t=__webpack_require__(7303).AsyncResource;e=typeof t.prototype.runInAsyncScope==="function"}catch(t){e=false}return e}();if(ret.isNode)ret.toFastProperties(process);try{throw new Error}catch(e){ret.lastLineError=e}module.exports=ret},9511:function(e,t,n){"use strict";const r=n(6853);const i=n(6763);const s=n(3656);const o=n(5622);const a=r.promisify(n(6008));const u=n(2456);e.exports=entry;e.exports.entry=entry;function entry(e,t){s.clearMemoized();return i.delete(e,t)}e.exports.content=content;function content(e,t){s.clearMemoized();return u(e,t)}e.exports.all=all;function all(e){s.clearMemoized();return a(o.join(e,"*(content-*|index-*)"))}},9513:function(e,t,n){"use strict";e.exports=n(7113)("Maximum")},9536:function(e){"use strict";e.exports=function defFunc(e){defFunc.definition={type:"array",compile:function(e,t,n){var r=n.util.equal;return function(t){if(t.length>1){for(var n=0;n=8.9.0"},repository:{type:"git",url:"https://github.com/webpack/webpack.git"},homepage:"https://github.com/webpack/webpack",main:"lib/index.js",bin:"./bin/webpack.js",files:["lib/","bin/","declarations/","hot/","schemas/","SECURITY.md"],scripts:{setup:"node ./setup/setup.js",test:"node --max-old-space-size=4096 --trace-deprecation node_modules/jest-cli/bin/jest","test:update-snapshots":"yarn jest -u","test:integration":'node --max-old-space-size=4096 --trace-deprecation node_modules/jest-cli/bin/jest --testMatch "/test/*.test.js"',"test:basic":'node --max-old-space-size=4096 --trace-deprecation node_modules/jest-cli/bin/jest --testMatch "/te{st/TestCasesNormal,st/StatsTestCases,st/ConfigTestCases}.test.js"',"test:unit":'node --max-old-space-size=4096 --trace-deprecation node_modules/jest-cli/bin/jest --testMatch "/test/*.unittest.js"',"travis:integration":"yarn cover:integration --ci $JEST","travis:basic":"yarn cover:basic --ci $JEST","travis:lintunit":"yarn lint && yarn cover:unit --ci $JEST","travis:benchmark":"yarn benchmark --ci","appveyor:integration":"yarn cover:integration --ci %JEST%","appveyor:unit":"yarn cover:unit --ci %JEST%","appveyor:benchmark":"yarn benchmark --ci","build:examples":"cd examples && node buildAll.js",pretest:"yarn lint",prelint:"yarn setup",lint:"yarn code-lint && yarn jest-lint && yarn type-lint && yarn special-lint","code-lint":'eslint --cache "{setup,lib,bin,hot,benchmark,tooling,schemas}/**/*.js" "test/*.js" "test/{configCases,watchCases,statsCases,hotCases}/**/webpack.config.js" "examples/**/webpack.config.js"',"type-lint":"tsc --pretty","special-lint":"node tooling/inherit-types && node tooling/format-schemas && node tooling/format-file-header && node tooling/compile-to-definitions","special-lint-fix":"node tooling/inherit-types --write --override && node tooling/format-schemas --write && node tooling/format-file-header --write && node tooling/compile-to-definitions --write",fix:"yarn code-lint --fix && yarn special-lint-fix",pretty:'prettier --loglevel warn --write "*.{ts,js,json,yml,yaml}" "{setup,lib,bin,hot,benchmark,tooling,schemas}/**/*.{js,json}" "test/*.js" "test/{configCases,watchCases,statsCases,hotCases}/**/webpack.config.js" "examples/**/webpack.config.js"',"jest-lint":'node --max-old-space-size=4096 node_modules/jest-cli/bin/jest --testMatch "/test/*.lint.js" --no-verbose',benchmark:'node --max-old-space-size=4096 --trace-deprecation node_modules/jest-cli/bin/jest --testMatch "/test/*.benchmark.js" --runInBand',cover:"yarn cover:all && yarn cover:report","cover:all":"node --max-old-space-size=4096 node_modules/jest-cli/bin/jest --coverage","cover:basic":'node --max-old-space-size=4096 node_modules/jest-cli/bin/jest --testMatch "/te{st/TestCasesNormal,st/StatsTestCases,st/ConfigTestCases}.test.js" --coverage',"cover:integration":'node --max-old-space-size=4096 node_modules/jest-cli/bin/jest --testMatch "/test/*.test.js" --coverage',"cover:unit":'node --max-old-space-size=4096 node_modules/jest-cli/bin/jest --testMatch "/test/*.unittest.js" --coverage',"cover:report":"istanbul report"},husky:{hooks:{"pre-commit":"lint-staged"}},"lint-staged":{"*.js|{lib,setup,bin,hot,tooling,schemas}/**/*.js|test/*.js|{test,examples}/**/webpack.config.js}":["eslint --cache"]},jest:{forceExit:true,setupFilesAfterEnv:["/test/setupTestFramework.js"],testMatch:["/test/*.test.js","/test/*.unittest.js"],watchPathIgnorePatterns:["/.git","/node_modules","/test/js","/test/browsertest/js","/test/fixtures/temp-cache-fixture","/test/fixtures/temp-","/benchmark","/examples/*/dist","/coverage","/.eslintcache"],modulePathIgnorePatterns:["/.git","/node_modules/webpack/node_modules","/test/js","/test/browsertest/js","/test/fixtures/temp-cache-fixture","/test/fixtures/temp-","/benchmark","/examples/*/dist","/coverage","/.eslintcache"],transformIgnorePatterns:[""],coverageDirectory:"/coverage",coveragePathIgnorePatterns:["\\.runtime\\.js$","/test","/schemas","/node_modules"],testEnvironment:"node",coverageReporters:["json"]}}},9557:function(e,t,n){"use strict";const r=n(5622);const i=n(4097);const s=n(4910);const o=n(1365);e.exports=((e={})=>{const{name:t}=e;let n=e.cwd;if(e.files){n=i(n,e.files)}else{n=n||process.cwd()}n=s.sync(n);if(n){n=r.join(n,"node_modules",".cache",t);if(n&&e.create){o.sync(n)}if(e.thunk){return(...e)=>r.join(n,...e)}}return n})},9579:function(e,t,n){"use strict";var r=n(2253),i=n(778),s=n(9411),o=n(5986);var a=n(5061);var u=i.ucs2length;var c=n(5245);var l=s.Validation;e.exports=compile;function compile(e,t,n,f){var d=this,p=this._opts,h=[undefined],m={},g=[],y={},v=[],b={},w=[];t=t||{schema:e,refVal:h,refs:m};var E=checkCompiling.call(this,e,t,f);var _=this._compilations[E.index];if(E.compiling)return _.callValidate=callValidate;var S=this._formats;var k=this.RULES;try{var C=localCompile(e,t,n,f);_.validate=C;var D=_.callValidate;if(D){D.schema=C.schema;D.errors=null;D.refs=C.refs;D.refVal=C.refVal;D.root=C.root;D.$async=C.$async;if(p.sourceCode)D.source=C.source}return C}finally{endCompiling.call(this,e,t,f)}function callValidate(){var e=_.validate;var t=e.apply(this,arguments);callValidate.errors=e.errors;return t}function localCompile(e,n,o,f){var y=!n||n&&n.schema==e;if(n.schema!=t.schema)return compile.call(d,e,n,o,f);var b=e.$async===true;var E=a({isTop:true,schema:e,isRoot:y,baseId:f,root:n,schemaPath:"",errSchemaPath:"#",errorPath:'""',MissingRefError:s.MissingRef,RULES:k,validate:a,util:i,resolve:r,resolveRef:resolveRef,usePattern:usePattern,useDefault:useDefault,useCustomRule:useCustomRule,opts:p,formats:S,logger:d.logger,self:d});E=vars(h,refValCode)+vars(g,patternCode)+vars(v,defaultCode)+vars(w,customRuleCode)+E;if(p.processCode)E=p.processCode(E);var _;try{var C=new Function("self","RULES","formats","root","refVal","defaults","customRules","equal","ucs2length","ValidationError",E);_=C(d,k,S,t,h,v,w,c,u,l);h[0]=_}catch(e){d.logger.error("Error compiling schema, function code:",E);throw e}_.schema=e;_.errors=null;_.refs=m;_.refVal=h;_.root=y?_:n;if(b)_.$async=true;if(p.sourceCode===true){_.source={code:E,patterns:g,defaults:v}}return _}function resolveRef(e,i,s){i=r.url(e,i);var o=m[i];var a,u;if(o!==undefined){a=h[o];u="refVal["+o+"]";return resolvedRef(a,u)}if(!s&&t.refs){var c=t.refs[i];if(c!==undefined){a=t.refVal[c];u=addLocalRef(i,a);return resolvedRef(a,u)}}u=addLocalRef(i);var l=r.call(d,localCompile,t,i);if(l===undefined){var f=n&&n[i];if(f){l=r.inlineRef(f,p.inlineRefs)?f:compile.call(d,f,t,n,e)}}if(l===undefined){removeLocalRef(i)}else{replaceLocalRef(i,l);return resolvedRef(l,u)}}function addLocalRef(e,t){var n=h.length;h[n]=t;m[e]=n;return"refVal"+n}function removeLocalRef(e){delete m[e]}function replaceLocalRef(e,t){var n=m[e];h[n]=t}function resolvedRef(e,t){return typeof e=="object"||typeof e=="boolean"?{code:t,schema:e,inline:true}:{code:t,$async:e&&!!e.$async}}function usePattern(e){var t=y[e];if(t===undefined){t=y[e]=g.length;g[t]=e}return"pattern"+t}function useDefault(e){switch(typeof e){case"boolean":case"number":return""+e;case"string":return i.toQuotedString(e);case"object":if(e===null)return"null";var t=o(e);var n=b[t];if(n===undefined){n=b[t]=v.length;v[n]=e}return"default"+n}}function useCustomRule(e,t,n,r){var i=e.definition.validateSchema;if(i&&d._opts.validateSchema!==false){var s=i(t);if(!s){var o="keyword schema is invalid: "+d.errorsText(i.errors);if(d._opts.validateSchema=="log")d.logger.error(o);else throw new Error(o)}}var a=e.definition.compile,u=e.definition.inline,c=e.definition.macro;var l;if(a){l=a.call(d,t,n,r)}else if(c){l=c.call(d,t,n,r);if(p.validateSchema!==false)d.validateSchema(l,true)}else if(u){l=u.call(d,r,e.keyword,t,n)}else{l=e.definition.validate;if(!l)return}if(l===undefined)throw new Error('custom keyword "'+e.keyword+'"failed to compile');var f=w.length;w[f]=l;return{code:"customRule"+f,validate:l}}}function checkCompiling(e,t,n){var r=compIndex.call(this,e,t,n);if(r>=0)return{index:r,compiling:true};r=this._compilations.length;this._compilations[r]={schema:e,root:t,baseId:n};return{index:r,compiling:false}}function endCompiling(e,t,n){var r=compIndex.call(this,e,t,n);if(r>=0)this._compilations.splice(r,1)}function compIndex(e,t,n){for(var r=0;r{const t=i(e);if(t){let n=c.get(t);if(n===undefined){c.set(t,n=new Set)}n.add(e);if(typeof t==="string"){if(n.size{const i=t=>{const n=`${t}`;if(n.length>=5&&n===`${e.id}`){return'" + chunkId + "'}const r=JSON.stringify(n);return r.slice(1,r.length-2)};const s=e=>t=>i(`${e}`.slice(0,t));const o=typeof t==="function"?JSON.stringify(t({chunk:e,contentHashType:n})):JSON.stringify(t);const a=u.getAssetPath(o,{hash:`" + ${r.getFullHash}() + "`,hashWithLength:e=>`" + ${r.getFullHash}().slice(0, ${e}) + "`,chunk:{id:i(e.id),hash:i(e.renderedHash),hashWithLength:s(e.renderedHash),name:i(e.name||e.id),contentHash:{[n]:i(e.contentHash[n])},contentHashWithLength:{[n]:s(e.contentHash[n])}},contentHashType:n});let c=h.get(a);if(c===undefined){h.set(a,c=new Set)}c.add(e.id)};for(const[e,t]of c){if(e!==f){for(const n of t)g(n,e)}else{for(const e of t)m.add(e)}}const y=e=>{const t={};let n=false;let r;let i=0;for(const s of m){const o=e(s);if(o===s.id){n=true}else{t[s.id]=o;r=s.id;i++}}if(i===0)return"chunkId";if(i===1){return n?`(chunkId === ${JSON.stringify(r)} ? ${JSON.stringify(t[r])} : chunkId)`:JSON.stringify(t[r])}return n?`(${JSON.stringify(t)}[chunkId] || chunkId)`:`${JSON.stringify(t)}[chunkId]`};const v=e=>{return`" + ${y(e)} + "`};const b=e=>t=>{return`" + ${y(n=>`${e(n)}`.slice(0,t))} + "`};const w=f&&u.getAssetPath(JSON.stringify(f),{hash:`" + ${r.getFullHash}() + "`,hashWithLength:e=>`" + ${r.getFullHash}().slice(0, ${e}) + "`,chunk:{id:`" + chunkId + "`,hash:v(e=>e.renderedHash),hashWithLength:b(e=>e.renderedHash),name:v(e=>e.name||e.id),contentHash:{[n]:v(e=>e.contentHash[n])},contentHashWithLength:{[n]:b(e=>e.contentHash[n])}},contentHashType:n});return s.asString([`// This function allow to reference ${p.join(" and ")}`,`${e} = function(chunkId) {`,h.size>0?s.indent(["// return url for filenames not based on template",s.asString(Array.from(h,([e,t])=>{const n=t.size===1?`chunkId === ${JSON.stringify(t.values().next().value)}`:`{${Array.from(t,e=>`${JSON.stringify(e)}:1`).join(",")}}[chunkId]`;return`if (${n}) return ${e};`})),"// return url for filenames based on template",`return ${w};`]):s.indent(["// return url for filenames based on template",`return ${w};`]),"};"])}}e.exports=GetChunkFilenameRuntimeModule},9614:function(e,t,n){"use strict";e.exports=n(9746)},9616:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:true});t.isSpaceSeparator=isSpaceSeparator;t.isIdStartChar=isIdStartChar;t.isIdContinueChar=isIdContinueChar;t.isDigit=isDigit;t.isHexDigit=isHexDigit;var r=n(8330);var i=_interopRequireWildcard(r);function _interopRequireWildcard(e){if(e&&e.__esModule){return e}else{var t={};if(e!=null){for(var n in e){if(Object.prototype.hasOwnProperty.call(e,n))t[n]=e[n]}}t.default=e;return t}}function isSpaceSeparator(e){return i.Space_Separator.test(e)}function isIdStartChar(e){return e>="a"&&e<="z"||e>="A"&&e<="Z"||e==="$"||e==="_"||i.ID_Start.test(e)}function isIdContinueChar(e){return e>="a"&&e<="z"||e>="A"&&e<="Z"||e>="0"&&e<="9"||e==="$"||e==="_"||e==="‌"||e==="‍"||i.ID_Continue.test(e)}function isDigit(e){return/[0-9]/.test(e)}function isHexDigit(e){return/[0-9A-Fa-f]/.test(e)}},9617:function(e,t,n){var r=n(1876);var i=n(8309);var s=n(3339);var o=function(e){if(!e.length)return[];return Array.isArray(e[0])?e[0]:Array.prototype.slice.call(e)};var a=function(e){var t=function(){var n=o(arguments);if(!(this instanceof t))return new t(n);s.call(this,null,null,e);if(n.length)this.setPipeline(n)};i(t,s);t.prototype.setPipeline=function(){var e=o(arguments);var t=this;var n=false;var i=e[0];var s=e[e.length-1];s=s.readable?s:null;i=i.writable?i:null;var a=function(){e[0].emit("error",new Error("stream was destroyed"))};this.on("close",a);this.on("prefinish",function(){if(!n)t.cork()});r(e,function(e){t.removeListener("close",a);if(e)return t.destroy(e.message==="premature close"?null:e);n=true;if(t._autoDestroy===false)t._autoDestroy=true;t.uncork()});if(this.destroyed)return a();this.setWritable(i);this.setReadable(s)};return t};e.exports=a({autoDestroy:false,destroy:false});e.exports.obj=a({autoDestroy:false,destroy:false,objectMode:true,highWaterMark:16});e.exports.ctor=a},9630:function(e,t,n){"use strict";const r=n(2105).Syntax;const i=n(9112);function getLast(e){return e[e.length-1]||null}class PatternVisitor extends i.Visitor{static isPattern(e){const t=e.type;return t===r.Identifier||t===r.ObjectPattern||t===r.ArrayPattern||t===r.SpreadElement||t===r.RestElement||t===r.AssignmentPattern}constructor(e,t,n){super(null,e);this.rootPattern=t;this.callback=n;this.assignments=[];this.rightHandNodes=[];this.restElements=[]}Identifier(e){const t=getLast(this.restElements);this.callback(e,{topLevel:e===this.rootPattern,rest:t!==null&&t!==undefined&&t.argument===e,assignments:this.assignments})}Property(e){if(e.computed){this.rightHandNodes.push(e.key)}this.visit(e.value)}ArrayPattern(e){for(let t=0,n=e.elements.length;t{this.rightHandNodes.push(e)});this.visit(e.callee)}}e.exports=PatternVisitor},9648:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:true});t.parseString=parseString;var n=[0,7,8,9,10,11,12,13,26,27,127];function decodeControlCharacter(e){switch(e){case"t":return 9;case"n":return 10;case"r":return 13;case'"':return 34;case"′":return 39;case"\\":return 92}return-1}var r=92;var i=34;function parseString(e){var t=[];var s=0;while(s{const t=r(i);t.update(e);const n=t.digest("hex");return`${n.slice(0,2)}/${n.slice(2)}`})}store(e,t,n){const r={identifier:e,data:t?()=>n:n,etag:t,version:this.version};const s=this.toHash(e)+".data";const o=i(this.fs,this.cacheLocation,s);return this.fileSerializer.serialize(r,{filename:o}).then(()=>{if(this.log>=2){console.warn(`Cached ${e} to ${o}.`)}}).catch(t=>{if(this.log>=1){console.warn(`Caching failed for ${e}: ${this.log>=3?t.stack:t}`)}})}restore(e,t){const n=this.toHash(e)+".data";const r=i(this.fs,this.cacheLocation,n);return this.fileSerializer.deserialize({filename:r}).then(n=>{if(n===undefined){return}if(n.identifier!==e){if(this.log>=3){console.warn(`Restored ${e} from ${r}, but identifier doesn't match.`)}return}if(n.etag!==t){if(this.log>=3){console.warn(`Restored ${e} from ${r}, but etag doesn't match.`)}return}if(n.version!==this.version){if(this.log>=3){console.warn(`Restored ${e} from ${r}, but version doesn't match.`)}return}if(this.log>=3){console.warn(`Restored ${e} from ${r}.`)}if(typeof n.data==="function")return n.data();return n.data}).catch(t=>{if(this.log>=1&&t&&t.code!=="ENOENT"){console.warn(`Restoring failed for ${e} from ${r}: ${this.log>=4?t.stack:t}`)}})}afterAllStored(){}}e.exports=SeparateFilesCacheStrategy},9674:function(e,t,n){"use strict";const r=n(6583);class EntryPlugin{constructor(e,t,n){this.context=e;this.entry=t;this.name=n}apply(e){e.hooks.compilation.tap("EntryPlugin",(e,{normalModuleFactory:t})=>{e.dependencyFactories.set(r,t)});e.hooks.make.tapAsync("EntryPlugin",(e,t)=>{const{entry:n,name:r,context:i}=this;const s=EntryPlugin.createDependency(n,r);e.addEntry(i,s,r,e=>{t(e)})})}static createDependency(e,t){const n=new r(e);n.loc={name:t};return n}}e.exports=EntryPlugin},9681:function(e){e.exports=/^#![^\n\r]*[\r\n]/},9683:function(e){"use strict";const t=Symbol("tombstone");const n=Symbol("undefined");const r=e=>{const r=e[0];const i=e[1];if(i===n||i===t){return[r,undefined]}else{return e}};class StackedSetMap{constructor(e){this.map=new Map;this.stack=e===undefined?[]:e.slice();this.stack.push(this.map)}add(e){this.map.set(e,true)}set(e,t){this.map.set(e,t===undefined?n:t)}delete(e){if(this.stack.length>1){this.map.set(e,t)}else{this.map.delete(e)}}has(e){const n=this.map.get(e);if(n!==undefined){return n!==t}if(this.stack.length>1){for(let n=this.stack.length-2;n>=0;n--){const r=this.stack[n].get(e);if(r!==undefined){this.map.set(e,r);return r!==t}}this.map.set(e,t)}return false}get(e){const r=this.map.get(e);if(r!==undefined){return r===t||r===n?undefined:r}if(this.stack.length>1){for(let r=this.stack.length-2;r>=0;r--){const i=this.stack[r].get(e);if(i!==undefined){this.map.set(e,i);return i===t||i===n?undefined:i}}this.map.set(e,t)}return undefined}_compress(){if(this.stack.length===1)return;this.map=new Map;for(const e of this.stack){for(const n of e){if(n[1]===t){this.map.delete(n[0])}else{this.map.set(n[0],n[1])}}}this.stack=[this.map]}asArray(){this._compress();return Array.from(this.map.keys())}asSet(){this._compress();return new Set(this.map.keys())}asPairArray(){this._compress();return Array.from(this.map.entries(),r)}asMap(){return new Map(this.asPairArray())}get size(){this._compress();return this.map.size}createChild(){return new StackedSetMap(this.stack)}}e.exports=StackedSetMap},9707:function(e,t,n){"use strict";const r=n(6202);const i=n(7359);class HarmonyImportSideEffectDependency extends i{constructor(e,t){super(e,t)}getReference(e){const t=e.getModule(this);if(t&&t.factoryMeta.sideEffectFree){return null}return super.getReference(e)}get type(){return"harmony side effect evaluation"}}r(HarmonyImportSideEffectDependency,"webpack/lib/dependencies/HarmonyImportSideEffectDependency");HarmonyImportSideEffectDependency.Template=class HarmonyImportSideEffectDependencyTemplate extends i.Template{apply(e,t,n){const r=e;const{moduleGraph:i}=n;const s=i.getModule(r);if(!s||!s.factoryMeta.sideEffectFree){super.apply(e,t,n)}}};e.exports=HarmonyImportSideEffectDependency},9711:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:true});var r=n(5747);function fileExistsSync(e){try{var t=r.statSync(e);return t.isFile()}catch(e){return false}}t.fileExistsSync=fileExistsSync;function readJsonFromDiskSync(e){if(!r.existsSync(e)){return undefined}return require(e)}t.readJsonFromDiskSync=readJsonFromDiskSync;function readJsonFromDiskAsync(e,t){r.readFile(e,"utf8",function(e,n){if(e||!n){return t()}var r=JSON.parse(n);return t(undefined,r)})}t.readJsonFromDiskAsync=readJsonFromDiskAsync;function fileExistsAsync(e,t){r.stat(e,function(e,n){if(e){return t(undefined,false)}t(undefined,n?n.isFile():false)})}t.fileExistsAsync=fileExistsAsync;function removeExtension(e){return e.substring(0,e.lastIndexOf("."))||e}t.removeExtension=removeExtension},9738:function(e,t,n){"use strict";const{SyncHook:r,AsyncSeriesHook:i}=n(2960);const s=0;const o=1;const a=2;class AsyncQueueEntry{constructor(e,t){this.item=e;this.state=s;this.callback=t;this.callbacks=undefined;this.result=undefined;this.error=undefined}}class AsyncQueue{constructor({name:e,parallelism:t,processor:n,getKey:s}){this._name=e;this._parallelism=t;this._processor=n;this._getKey=s||(e=>e);this._entries=new Map;this._queued=[];this._activeTasks=0;this._willEnsureProcessing=false;this._stopped=false;this.hooks={beforeAdd:new i(["item"]),added:new r(["item"]),beforeStart:new i(["item"]),started:new r(["item"]),result:new r(["item","error","result"])};this._ensureProcessing=this._ensureProcessing.bind(this)}add(e,t){if(this._stopped)return t(new Error("Queue was stopped"));this.hooks.beforeAdd.callAsync(e,n=>{if(n){t(n);return}const r=this._getKey(e);const i=this._entries.get(r);if(i!==undefined){if(i.state===a){process.nextTick(()=>t(i.error,i.result))}else if(i.callbacks===undefined){i.callbacks=[t]}else{i.callbacks.push(t)}return}const s=new AsyncQueueEntry(e,t);if(this._stopped){this.hooks.added.call(e);this._activeTasks++;this._handleResult(s,new Error("Queue was stopped"))}else{this._entries.set(r,s);this._queued.push(s);if(this._willEnsureProcessing===false){this._willEnsureProcessing=true;process.nextTick(this._ensureProcessing)}this.hooks.added.call(e)}})}invalidate(e){const t=this._getKey(e);const n=this._entries.get(t);this._entries.delete(t);if(n.state===s){const e=this._queued.indexOf(n);if(e>=0){this._queued.splice(e,1)}}}stop(){this._stopped=true;const e=this._queued;this._queued=[];for(const t of e){this._entries.delete(this._getKey(t.item));this._activeTasks++;this._handleResult(t,new Error("Queue was stopped"))}}increaseParallelism(){this._parallelism++;if(this._willEnsureProcessing===false&&this._queued.length>0){this._willEnsureProcessing=true;process.nextTick(this._ensureProcessing)}}decreaseParallelism(){this._parallelism--}isProcessing(e){const t=this._getKey(e);const n=this._entries.get(t);return n!==undefined&&n.state===o}isQueued(e){const t=this._getKey(e);const n=this._entries.get(t);return n!==undefined&&n.state===s}isDone(e){const t=this._getKey(e);const n=this._entries.get(t);return n!==undefined&&n.state===a}_ensureProcessing(){while(this._activeTasks0){const e=this._queued.pop();this._activeTasks++;e.state=o;this._startProcessing(e)}this._willEnsureProcessing=false}_startProcessing(e){this.hooks.beforeStart.callAsync(e.item,t=>{if(t){this._handleResult(e,t);return}let n=false;try{this._processor(e.item,(t,r)=>{n=true;this._handleResult(e,t,r)})}catch(t){if(n)throw t;this._handleResult(e,t,null)}this.hooks.started.call(e.item)})}_handleResult(e,t,n){this.hooks.result.callAsync(e.item,t,n,r=>{const i=r||t;const s=e.callback;const o=e.callbacks;e.state=a;e.callback=undefined;e.callbacks=undefined;e.result=n;e.error=i;this._activeTasks--;if(this._willEnsureProcessing===false&&this._queued.length>0){this._willEnsureProcessing=true;process.nextTick(this._ensureProcessing)}process.nextTick(()=>{s(i,n);if(o!==undefined){for(const e of o){e(i,n)}}})})}}e.exports=AsyncQueue},9746:function(e,t,n){"use strict";const r=n(6853);const i=n(7305);const s=n(854);const o=r.promisify(n(6890).finished);const a=n(8681);const u=n(5808);const c=r.promisify(n(8750));const l=n(6763);const f=n(5622);const d=r.promisify(n(6008));const p=n(3566);r.promisifyAll(u);const h=s({concurrency:{default:20},filter:{},log:{default:{silly(){}}},uid:{},gid:{}});e.exports=verify;function verify(e,t){t=h(t);t.log.silly("verify","verifying cache at",e);return r.reduce([markStartTime,fixPerms,garbageCollect,rebuildIndex,cleanTmp,writeVerifile,markEndTime],(n,i,s)=>{const o=i.name||`step #${s}`;const a=new Date;return r.resolve(i(e,t)).then(e=>{e&&Object.keys(e).forEach(t=>{n[t]=e[t]});const t=new Date;if(!n.runTime){n.runTime={}}n.runTime[o]=t-a;return n})},{}).tap(n=>{n.runTime.total=n.endTime-n.startTime;t.log.silly("verify","verification finished for",e,"in",`${n.runTime.total}ms`)})}function markStartTime(e,t){return{startTime:new Date}}function markEndTime(e,t){return{endTime:new Date}}function fixPerms(e,t){t.log.silly("verify","fixing cache permissions");return a.mkdirfix(e,t.uid,t.gid).then(()=>{return a.chownr(e,t.uid,t.gid)}).then(()=>null)}function garbageCollect(e,t){t.log.silly("verify","garbage collecting content");const n=l.lsStream(e);const s=new Set;n.on("data",e=>{if(t.filter&&!t.filter(e)){return}s.add(e.integrity.toString())});return o(n).then(()=>{const n=i._contentDir(e);return c(f.join(n,"**"),{follow:false,nodir:true,nosort:true}).then(e=>{return r.resolve({verifiedContent:0,reclaimedCount:0,reclaimedSize:0,badContentCount:0,keptSize:0}).tap(n=>r.map(e,e=>{const t=e.split(/[/\\]/);const r=t.slice(t.length-3).join("");const i=t[t.length-4];const o=p.fromHex(r,i);if(s.has(o.toString())){return verifyContent(e,o).then(e=>{if(!e.valid){n.reclaimedCount++;n.badContentCount++;n.reclaimedSize+=e.size}else{n.verifiedContent++;n.keptSize+=e.size}return n})}else{n.reclaimedCount++;return u.statAsync(e).then(t=>{return d(e).then(()=>{n.reclaimedSize+=t.size;return n})})}},{concurrency:t.concurrency}))})})}function verifyContent(e,t){return u.statAsync(e).then(n=>{const r={size:n.size,valid:true};return p.checkStream(u.createReadStream(e),t).catch(t=>{if(t.code!=="EINTEGRITY"){throw t}return d(e).then(()=>{r.valid=false})}).then(()=>r)}).catch({code:"ENOENT"},()=>({size:0,valid:false}))}function rebuildIndex(e,t){t.log.silly("verify","rebuilding index");return l.ls(e).then(n=>{const i={missingContent:0,rejectedEntries:0,totalEntries:0};const s={};for(let r in n){if(n.hasOwnProperty(r)){const o=l._hashKey(r);const a=n[r];const u=t.filter&&!t.filter(a);u&&i.rejectedEntries++;if(s[o]&&!u){s[o].push(a)}else if(s[o]&&u){}else if(u){s[o]=[];s[o]._path=l._bucketPath(e,r)}else{s[o]=[a];s[o]._path=l._bucketPath(e,r)}}}return r.map(Object.keys(s),n=>{return rebuildBucket(e,s[n],i,t)},{concurrency:t.concurrency}).then(()=>i)})}function rebuildBucket(e,t,n,s){return u.truncateAsync(t._path).then(()=>{return r.mapSeries(t,t=>{const r=i(e,t.integrity);return u.statAsync(r).then(()=>{return l.insert(e,t.key,t.integrity,{uid:s.uid,gid:s.gid,metadata:t.metadata,size:t.size}).then(()=>{n.totalEntries++})}).catch({code:"ENOENT"},()=>{n.rejectedEntries++;n.missingContent++})})})}function cleanTmp(e,t){t.log.silly("verify","cleaning tmp directory");return d(f.join(e,"tmp"))}function writeVerifile(e,t){const n=f.join(e,"_lastverified");t.log.silly("verify","writing verifile to "+n);return u.writeFileAsync(n,""+ +new Date)}e.exports.lastRun=lastRun;function lastRun(e){return u.readFileAsync(f.join(e,"_lastverified"),"utf8").then(e=>new Date(+e))}},9765:function(e,t,n){"use strict";const{approve:r,evaluateToIdentifier:i,evaluateToString:s,toConstantDependency:o}=n(2912);const a=n(9891);const u=n(6150);const c=n(6960);const l=n(8915);const f=n(5715);const d=n(8145);const p=n(9041);const h=n(5167);const m=n(9022);const{AMDDefineRuntimeModule:g,AMDOptionsRuntimeModule:y}=n(9035);const v=n(6298);const b=n(4229);const w=n(2584);class AMDPlugin{constructor(e,t){this.options=e;this.amdOptions=t}apply(e){const t=this.options;const n=this.amdOptions;e.hooks.compilation.tap("AMDPlugin",(e,{contextModuleFactory:E,normalModuleFactory:_})=>{e.dependencyFactories.set(h,new a);e.dependencyTemplates.set(h,new h.Template);e.dependencyFactories.set(m,_);e.dependencyTemplates.set(m,new m.Template);e.dependencyFactories.set(f,new a);e.dependencyTemplates.set(f,new f.Template);e.dependencyFactories.set(d,E);e.dependencyTemplates.set(d,new d.Template);e.dependencyFactories.set(c,new a);e.dependencyTemplates.set(c,new c.Template);e.dependencyFactories.set(w,new a);e.dependencyTemplates.set(w,new w.Template);e.dependencyFactories.set(b,new a);e.dependencyTemplates.set(b,new b.Template);e.hooks.runtimeRequirementInModule.for(u.amdDefine).tap("AMDPlugin",(e,t)=>{t.add(u.require)});e.hooks.runtimeRequirementInModule.for(u.amdOptions).tap("AMDPlugin",(e,t)=>{t.add(u.require)});e.hooks.runtimeRequirementInTree.for(u.amdDefine).tap("AMDPlugin",(t,n)=>{e.addRuntimeModule(t,new g)});e.hooks.runtimeRequirementInTree.for(u.amdOptions).tap("AMDPlugin",(t,r)=>{e.addRuntimeModule(t,new y(n))});const S=(e,n)=>{if(n.amd!==undefined&&!n.amd)return;const a=t=>{e.hooks.expression.for(t).tap("AMDPlugin",o(e,u.amdOptions,[u.amdOptions]));e.hooks.evaluateIdentifier.for(t).tap("AMDPlugin",i(t,true));e.hooks.evaluateTypeof.for(t).tap("AMDPlugin",s("object"));e.hooks.typeof.for(t).tap("AMDPlugin",o(e,JSON.stringify("object")))};new p(t).apply(e);new l(t).apply(e);a("define.amd");a("require.amd");a("__webpack_amd_options__");e.hooks.expression.for("define").tap("AMDPlugin",t=>{const n=new v(u.amdDefine,t.range,[u.amdDefine]);n.loc=t.loc;e.state.current.addDependency(n);return true});e.hooks.typeof.for("define").tap("AMDPlugin",o(e,JSON.stringify("function")));e.hooks.evaluateTypeof.for("define").tap("AMDPlugin",s("function"));e.hooks.canRename.for("define").tap("AMDPlugin",r);e.hooks.rename.for("define").tap("AMDPlugin",t=>{const n=new v(u.amdDefine,t.range,[u.amdDefine]);n.loc=t.loc;e.state.current.addDependency(n);return false});e.hooks.typeof.for("require").tap("AMDPlugin",o(e,JSON.stringify("function")));e.hooks.evaluateTypeof.for("require").tap("AMDPlugin",s("function"))};_.hooks.parser.for("javascript/auto").tap("AMDPlugin",S);_.hooks.parser.for("javascript/dynamic").tap("AMDPlugin",S)})}}e.exports=AMDPlugin},9776:function(e,t,n){"use strict";const r=n(5747);e.exports=(e=>new Promise(t=>{r.access(e,e=>{t(!e)})}));e.exports.sync=(e=>{try{r.accessSync(e);return true}catch(e){return false}})},9784:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:true});t.decodeInt64=decodeInt64;t.decodeUInt64=decodeUInt64;t.decodeInt32=decodeInt32;t.decodeUInt32=decodeUInt32;t.encodeU32=encodeU32;t.encodeI32=encodeI32;t.encodeI64=encodeI64;t.MAX_NUMBER_OF_BYTE_U64=t.MAX_NUMBER_OF_BYTE_U32=void 0;var r=_interopRequireDefault(n(3082));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var i=5;t.MAX_NUMBER_OF_BYTE_U32=i;var s=10;t.MAX_NUMBER_OF_BYTE_U64=s;function decodeInt64(e,t){return r.default.decodeInt64(e,t)}function decodeUInt64(e,t){return r.default.decodeUInt64(e,t)}function decodeInt32(e,t){return r.default.decodeInt32(e,t)}function decodeUInt32(e,t){return r.default.decodeUInt32(e,t)}function encodeU32(e){return r.default.encodeUInt32(e)}function encodeI32(e){return r.default.encodeInt32(e)}function encodeI64(e){return r.default.encodeInt64(e)}},9808:function(e){"use strict";e.exports=process.platform==="win32"},9818:function(e,t,n){"use strict";const r=n(6150);const i=n(202);const s=n(3236);const o=n(1744);const a=n(9179);const u=n(9609);const c=n(6100);const l=n(3376);const f=n(4676);const d=n(8977);const p={[r.chunkName]:[r.require],[r.compatGetDefaultExport]:[r.require,r.definePropertyGetter],[r.createFakeNamespaceObject]:[r.require,r.definePropertyGetter,r.makeNamespaceObject],[r.definePropertyGetter]:[r.require],[r.ensureChunk]:[r.require],[r.entryModuleId]:[r.require],[r.getFullHash]:[r.require],[r.global]:[r.require],[r.makeNamespaceObject]:[r.require],[r.moduleCache]:[r.require],[r.moduleFactories]:[r.require],[r.publicPath]:[r.require],[r.scriptNonce]:[r.require],[r.uncaughtErrorHandler]:[r.require],[r.wasmInstances]:[r.require],[r.instantiateWasm]:[r.require]};class RuntimePlugin{apply(e){e.hooks.compilation.tap("RuntimePlugin",e=>{for(const t of Object.keys(p)){const n=p[t];e.hooks.runtimeRequirementInModule.for(t).tap("RuntimePlugin",(e,t)=>{for(const e of n)t.add(e)})}e.hooks.runtimeRequirementInTree.for(r.definePropertyGetter).tap("RuntimePlugin",t=>{e.addRuntimeModule(t,new o);return true});e.hooks.runtimeRequirementInTree.for(r.makeNamespaceObject).tap("RuntimePlugin",t=>{e.addRuntimeModule(t,new f);return true});e.hooks.runtimeRequirementInTree.for(r.createFakeNamespaceObject).tap("RuntimePlugin",t=>{e.addRuntimeModule(t,new s);return true});e.hooks.runtimeRequirementInTree.for(r.compatGetDefaultExport).tap("RuntimePlugin",t=>{e.addRuntimeModule(t,new i);return true});e.hooks.runtimeRequirementInTree.for(r.publicPath).tap("RuntimePlugin",t=>{e.addRuntimeModule(t,new d(e));return true});e.hooks.runtimeRequirementInTree.for(r.global).tap("RuntimePlugin",t=>{e.addRuntimeModule(t,new l);return true});e.hooks.runtimeRequirementInTree.for(r.getChunkScriptFilename).tap("RuntimePlugin",(t,n)=>{if(/\[(full)?hash(:\d+)?\]/.test(e.outputOptions.chunkFilename))n.add(r.getFullHash);e.addRuntimeModule(t,new u(e,t,"javascript","javascript",r.getChunkScriptFilename,t=>t.filenameTemplate||(t.isOnlyInitial()?e.outputOptions.filename:e.outputOptions.chunkFilename),false));return true});e.hooks.runtimeRequirementInTree.for(r.getChunkUpdateScriptFilename).tap("RuntimePlugin",(t,n)=>{if(/\[(full)?hash(:\d+)?\]/.test(e.outputOptions.hotUpdateChunkFilename))n.add(r.getFullHash);e.addRuntimeModule(t,new u(e,t,"javascript","javascript update",r.getChunkUpdateScriptFilename,t=>e.outputOptions.hotUpdateChunkFilename,true));return true});e.hooks.runtimeRequirementInTree.for(r.getUpdateManifestFilename).tap("RuntimePlugin",(t,n)=>{if(/\[(full)?hash(:\d+)?\]/.test(e.outputOptions.hotUpdateMainFilename)){n.add(r.getFullHash)}e.addRuntimeModule(t,new c(e,"update manifest",r.getUpdateManifestFilename,e.outputOptions.hotUpdateMainFilename));return true});e.hooks.runtimeRequirementInTree.for(r.ensureChunk).tap("RuntimePlugin",(t,n)=>{const i=t.hasAsyncChunks();if(i){n.add(r.ensureChunkHandlers)}e.addRuntimeModule(t,new a(n));return true});e.hooks.runtimeRequirementInTree.for(r.ensureChunkIncludeEntries).tap("RuntimePlugin",(e,t)=>{t.add(r.ensureChunkHandlers)})})}}e.exports=RuntimePlugin},9819:function(e){"use strict";e.exports=function generate_custom(e,t,n){var r=" ";var i=e.level;var s=e.dataLevel;var o=e.schema[t];var a=e.schemaPath+e.util.getProperty(t);var u=e.errSchemaPath+"/"+t;var c=!e.opts.allErrors;var l;var f="data"+(s||"");var d="valid"+i;var p="errs__"+i;var h=e.opts.$data&&o&&o.$data,m;if(h){r+=" var schema"+i+" = "+e.util.getData(o.$data,s,e.dataPathArr)+"; ";m="schema"+i}else{m=o}var g=this,y="definition"+i,v=g.definition,b="";var w,E,_,S,k;if(h&&v.$data){k="keywordValidate"+i;var C=v.validateSchema;r+=" var "+y+" = RULES.custom['"+t+"'].definition; var "+k+" = "+y+".validate;"}else{S=e.useCustomRule(g,o,e.schema,e);if(!S)return;m="validate.schema"+a;k=S.code;w=v.compile;E=v.inline;_=v.macro}var D=k+".errors",A="i"+i,x="ruleErr"+i,M=v.async;if(M&&!e.async)throw new Error("async keyword in sync schema");if(!(E||_)){r+=""+D+" = null;"}r+="var "+p+" = errors;var "+d+";";if(h&&v.$data){b+="}";r+=" if ("+m+" === undefined) { "+d+" = true; } else { ";if(C){b+="}";r+=" "+d+" = "+y+".validateSchema("+m+"); if ("+d+") { "}}if(E){if(v.statements){r+=" "+S.validate+" "}else{r+=" "+d+" = "+S.validate+"; "}}else if(_){var T=e.util.copy(e);var b="";T.level++;var O="valid"+T.level;T.schema=S.validate;T.schemaPath="";var F=e.compositeRule;e.compositeRule=T.compositeRule=true;var I=e.validate(T).replace(/validate\.schema/g,k);e.compositeRule=T.compositeRule=F;r+=" "+I}else{var R=R||[];R.push(r);r="";r+=" "+k+".call( ";if(e.opts.passContext){r+="this"}else{r+="self"}if(w||v.schema===false){r+=" , "+f+" "}else{r+=" , "+m+" , "+f+" , validate.schema"+e.schemaPath+" "}r+=" , (dataPath || '')";if(e.errorPath!='""'){r+=" + "+e.errorPath}var P=s?"data"+(s-1||""):"parentData",N=s?e.dataPathArr[s]:"parentDataProperty";r+=" , "+P+" , "+N+" , rootData ) ";var L=r;r=R.pop();if(v.errors===false){r+=" "+d+" = ";if(M){r+="await "}r+=""+L+"; "}else{if(M){D="customErrors"+i;r+=" var "+D+" = null; try { "+d+" = await "+L+"; } catch (e) { "+d+" = false; if (e instanceof ValidationError) "+D+" = e.errors; else throw e; } "}else{r+=" "+D+" = null; "+d+" = "+L+"; "}}}if(v.modifying){r+=" if ("+P+") "+f+" = "+P+"["+N+"];"}r+=""+b;if(v.valid){if(c){r+=" if (true) { "}}else{r+=" if ( ";if(v.valid===undefined){r+=" !";if(_){r+=""+O}else{r+=""+d}}else{r+=" "+!v.valid+" "}r+=") { ";l=g.keyword;var R=R||[];R.push(r);r="";var R=R||[];R.push(r);r="";if(e.createErrors!==false){r+=" { keyword: '"+(l||"custom")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { keyword: '"+g.keyword+"' } ";if(e.opts.messages!==false){r+=" , message: 'should pass \""+g.keyword+"\" keyword validation' "}if(e.opts.verbose){r+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+f+" "}r+=" } "}else{r+=" {} "}var j=r;r=R.pop();if(!e.compositeRule&&c){if(e.async){r+=" throw new ValidationError(["+j+"]); "}else{r+=" validate.errors = ["+j+"]; return false; "}}else{r+=" var err = "+j+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}var B=r;r=R.pop();if(E){if(v.errors){if(v.errors!="full"){r+=" for (var "+A+"="+p+"; "+A+"2;s-=2){n.push(e);i=t[s];e=e.substr(0,e.length-i.length)||"/";r.push(i.substr(0,i.length-1))}i=t[1];r.push(i);n.push(i);return{paths:n,seqments:r}};e.exports.basename=function basename(e){const t=e.lastIndexOf("/"),n=e.lastIndexOf("\\");const r=t<0?n:n<0?t:t0)r=n.pop()+r;if(/\n$/.test(e))n.push(t);return r}else{const r=new i(e.line,e.column,e.source,e.children.map(function(e){return cloneAndPrefix(e,t,n)}),e.name);r.sourceContents=e.sourceContents;return r}}class PrefixSource extends r{constructor(e,t){super();this._source=t;this._prefix=e}source(){const e=typeof this._source==="string"?this._source:this._source.source();const t=this._prefix;return t+e.replace(a,"\n"+t)}map(e){return o(this,e)}sourceAndMap(e){return s(this,e)}node(e){const t=this._source.node(e);const n=[this._prefix];return new i(null,null,null,[cloneAndPrefix(t,this._prefix,n)])}listMap(e){const t=this._prefix;const n=this._source.listMap(e);let r=true;return n.mapGeneratedCode(function(e){let n=e.replace(a,"\n"+t);if(r)n=t+n;r=e.charCodeAt(e.length-1)===10;return n})}updateHash(e){e.update("PrefixSource");if(typeof this._source==="string")e.update(this._source);else this._source.updateHash(e);e.update(this._prefix)}}e.exports=PrefixSource},9853:function(e,t,n){"use strict";e.exports=function(e,t,r){var i=n(9505);var s=n(2222).RangeError;var o=n(2222).AggregateError;var a=i.isArray;var u={};function SomePromiseArray(e){this.constructor$(e);this._howMany=0;this._unwrap=false;this._initialized=false}i.inherits(SomePromiseArray,t);SomePromiseArray.prototype._init=function(){if(!this._initialized){return}if(this._howMany===0){this._resolve([]);return}this._init$(undefined,-5);var e=a(this._values);if(!this._isResolved()&&e&&this._howMany>this._canPossiblyFulfill()){this._reject(this._getRangeError(this.length()))}};SomePromiseArray.prototype.init=function(){this._initialized=true;this._init()};SomePromiseArray.prototype.setUnwrap=function(){this._unwrap=true};SomePromiseArray.prototype.howMany=function(){return this._howMany};SomePromiseArray.prototype.setHowMany=function(e){this._howMany=e};SomePromiseArray.prototype._promiseFulfilled=function(e){this._addFulfilled(e);if(this._fulfilled()===this.howMany()){this._values.length=this.howMany();if(this.howMany()===1&&this._unwrap){this._resolve(this._values[0])}else{this._resolve(this._values)}return true}return false};SomePromiseArray.prototype._promiseRejected=function(e){this._addRejected(e);return this._checkOutcome()};SomePromiseArray.prototype._promiseCancelled=function(){if(this._values instanceof e||this._values==null){return this._cancel()}this._addRejected(u);return this._checkOutcome()};SomePromiseArray.prototype._checkOutcome=function(){if(this.howMany()>this._canPossiblyFulfill()){var e=new o;for(var t=this.length();t0){this._reject(e)}else{this._cancel()}return true}return false};SomePromiseArray.prototype._fulfilled=function(){return this._totalResolved};SomePromiseArray.prototype._rejected=function(){return this._values.length-this.length()};SomePromiseArray.prototype._addRejected=function(e){this._values.push(e)};SomePromiseArray.prototype._addFulfilled=function(e){this._values[this._totalResolved++]=e};SomePromiseArray.prototype._canPossiblyFulfill=function(){return this.length()-this._rejected()};SomePromiseArray.prototype._getRangeError=function(e){var t="Input array must contain at least "+this._howMany+" items but contains only "+e+" items";return new s(t)};SomePromiseArray.prototype._resolveEmptyArray=function(){this._reject(this._getRangeError(0))};function some(e,t){if((t|0)!==t||t<0){return r("expecting a positive integer\n\n See http://goo.gl/MqrFmX\n")}var n=new SomePromiseArray(e);var i=n.promise();n.setHowMany(t);n.init();return i}e.some=function(e,t){return some(e,t)};e.prototype.some=function(e){return some(this,e)};e._SomePromiseArray=SomePromiseArray}},9864:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:true});t.parse=parse;var r=n(3416);var i=_interopRequireWildcard(n(8093));var s=n(3933);var o=n(9648);var a=n(7853);function _interopRequireWildcard(e){if(e&&e.__esModule){return e}else{var t={};if(e!=null){for(var n in e){if(Object.prototype.hasOwnProperty.call(e,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,n):{};if(r.get||r.set){Object.defineProperty(t,n,r)}else{t[n]=e[n]}}}}t.default=e;return t}}function _typeof(e){if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(e){return typeof e}}else{_typeof=function _typeof(e){return e&&typeof Symbol==="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e}}return _typeof(e)}function _toConsumableArray(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t0){return i.table(o,n,e,s)}else{return i.table(o,n,e)}}function parseImport(){if(l.type!==a.tokens.string){throw new Error("Expected a string, "+l.type+" given.")}var e=l.value;eatToken();if(l.type!==a.tokens.string){throw new Error("Expected a string, "+l.type+" given.")}var n=l.value;eatToken();eatTokenOfType(a.tokens.openParen);var s;if(isKeyword(l,a.keywords.func)){eatToken();var o=[];var c=[];var f;var d=i.identifier(u("func"));if(l.type===a.tokens.identifier){d=identifierFromToken(l);eatToken()}while(l.type===a.tokens.openParen){eatToken();if(lookaheadAndCheck(a.keywords.type)===true){eatToken();f=parseTypeReference()}else if(lookaheadAndCheck(a.keywords.param)===true){eatToken();o.push.apply(o,_toConsumableArray(parseFuncParam()))}else if(lookaheadAndCheck(a.keywords.result)===true){eatToken();c.push.apply(c,_toConsumableArray(parseFuncResult()))}else{throw function(){return new Error("\n"+(0,r.codeFrameFromSource)(t,l.loc)+"\n"+"Unexpected token in import of type"+", given "+tokenToString(l))}()}eatTokenOfType(a.tokens.closeParen)}if(typeof d==="undefined"){throw new Error("Imported function must have a name")}s=i.funcImportDescr(d,f!==undefined?f:i.signature(o,c))}else if(isKeyword(l,a.keywords.global)){eatToken();if(l.type===a.tokens.openParen){eatToken();eatTokenOfType(a.tokens.keyword);var p=l.value;eatToken();s=i.globalType(p,"var");eatTokenOfType(a.tokens.closeParen)}else{var h=l.value;eatTokenOfType(a.tokens.valtype);s=i.globalType(h,"const")}}else if(isKeyword(l,a.keywords.memory)===true){eatToken();s=parseMemory()}else if(isKeyword(l,a.keywords.table)===true){eatToken();s=parseTable()}else{throw new Error("Unsupported import type: "+tokenToString(l))}eatTokenOfType(a.tokens.closeParen);return i.moduleImport(e,n,s)}function parseBlock(){var e=i.identifier(u("block"));var n=null;var s=[];if(l.type===a.tokens.identifier){e=identifierFromToken(l);eatToken()}else{e=i.withRaw(e,"")}while(l.type===a.tokens.openParen){eatToken();if(lookaheadAndCheck(a.keywords.result)===true){eatToken();n=l.value;eatToken()}else if(lookaheadAndCheck(a.tokens.name)===true||lookaheadAndCheck(a.tokens.valtype)===true||l.type==="keyword"){s.push(parseFuncInstr())}else{throw function(){return new Error("\n"+(0,r.codeFrameFromSource)(t,l.loc)+"\n"+"Unexpected token in block body of type"+", given "+tokenToString(l))}()}maybeIgnoreComment();eatTokenOfType(a.tokens.closeParen)}return i.blockInstruction(e,s,n)}function parseIf(){var e=null;var n=i.identifier(u("if"));var s=[];var o=[];var c=[];if(l.type===a.tokens.identifier){n=identifierFromToken(l);eatToken()}else{n=i.withRaw(n,"")}while(l.type===a.tokens.openParen){eatToken();if(isKeyword(l,a.keywords.result)===true){eatToken();e=l.value;eatTokenOfType(a.tokens.valtype);eatTokenOfType(a.tokens.closeParen);continue}if(isKeyword(l,a.keywords.then)===true){eatToken();while(l.type===a.tokens.openParen){eatToken();if(lookaheadAndCheck(a.tokens.name)===true||lookaheadAndCheck(a.tokens.valtype)===true||l.type==="keyword"){o.push(parseFuncInstr())}else{throw function(){return new Error("\n"+(0,r.codeFrameFromSource)(t,l.loc)+"\n"+"Unexpected token in consequent body of type"+", given "+tokenToString(l))}()}eatTokenOfType(a.tokens.closeParen)}eatTokenOfType(a.tokens.closeParen);continue}if(isKeyword(l,a.keywords.else)){eatToken();while(l.type===a.tokens.openParen){eatToken();if(lookaheadAndCheck(a.tokens.name)===true||lookaheadAndCheck(a.tokens.valtype)===true||l.type==="keyword"){c.push(parseFuncInstr())}else{throw function(){return new Error("\n"+(0,r.codeFrameFromSource)(t,l.loc)+"\n"+"Unexpected token in alternate body of type"+", given "+tokenToString(l))}()}eatTokenOfType(a.tokens.closeParen)}eatTokenOfType(a.tokens.closeParen);continue}if(lookaheadAndCheck(a.tokens.name)===true||lookaheadAndCheck(a.tokens.valtype)===true||l.type==="keyword"){s.push(parseFuncInstr());eatTokenOfType(a.tokens.closeParen);continue}throw function(){return new Error("\n"+(0,r.codeFrameFromSource)(t,l.loc)+"\n"+"Unexpected token in if body"+", given "+tokenToString(l))}()}return i.ifInstruction(n,s,e,o,c)}function parseLoop(){var e=i.identifier(u("loop"));var n;var s=[];if(l.type===a.tokens.identifier){e=identifierFromToken(l);eatToken()}else{e=i.withRaw(e,"")}while(l.type===a.tokens.openParen){eatToken();if(lookaheadAndCheck(a.keywords.result)===true){eatToken();n=l.value;eatToken()}else if(lookaheadAndCheck(a.tokens.name)===true||lookaheadAndCheck(a.tokens.valtype)===true||l.type==="keyword"){s.push(parseFuncInstr())}else{throw function(){return new Error("\n"+(0,r.codeFrameFromSource)(t,l.loc)+"\n"+"Unexpected token in loop body"+", given "+tokenToString(l))}()}eatTokenOfType(a.tokens.closeParen)}return i.loopInstruction(e,n,s)}function parseCallIndirect(){var e;var t=[];var n=[];var r=[];while(l.type!==a.tokens.closeParen){if(lookaheadAndCheck(a.tokens.openParen,a.keywords.type)){eatToken();eatToken();e=parseTypeReference()}else if(lookaheadAndCheck(a.tokens.openParen,a.keywords.param)){eatToken();eatToken();if(l.type!==a.tokens.closeParen){t.push.apply(t,_toConsumableArray(parseFuncParam()))}}else if(lookaheadAndCheck(a.tokens.openParen,a.keywords.result)){eatToken();eatToken();if(l.type!==a.tokens.closeParen){n.push.apply(n,_toConsumableArray(parseFuncResult()))}}else{eatTokenOfType(a.tokens.openParen);r.push(parseFuncInstr())}eatTokenOfType(a.tokens.closeParen)}return i.callIndirectInstruction(e!==undefined?e:i.signature(t,n),r)}function parseExport(){if(l.type!==a.tokens.string){throw new Error("Expected string after export, got: "+l.type)}var e=l.value;eatToken();var t=parseModuleExportDescr();return i.moduleExport(e,t)}function parseModuleExportDescr(){var e=getStartLoc();var t="";var n;eatTokenOfType(a.tokens.openParen);while(l.type!==a.tokens.closeParen){if(isKeyword(l,a.keywords.func)){t="Func";eatToken();n=parseExportIndex(l)}else if(isKeyword(l,a.keywords.table)){t="Table";eatToken();n=parseExportIndex(l)}else if(isKeyword(l,a.keywords.global)){t="Global";eatToken();n=parseExportIndex(l)}else if(isKeyword(l,a.keywords.memory)){t="Memory";eatToken();n=parseExportIndex(l)}eatToken()}if(t===""){throw new Error("Unknown export type")}if(n===undefined){throw new Error("Exported function must have a name")}var r=i.moduleExportDescr(t,n);var s=getEndLoc();eatTokenOfType(a.tokens.closeParen);return i.withLoc(r,s,e)}function parseModule(){var t=null;var r=false;var s=false;var o=[];if(l.type===a.tokens.identifier){t=l.value;eatToken()}if(hasPlugin("wast")&&l.type===a.tokens.name&&l.value==="binary"){eatToken();r=true}if(hasPlugin("wast")&&l.type===a.tokens.name&&l.value==="quote"){eatToken();s=true}if(r===true){var u=[];while(l.type===a.tokens.string){u.push(l.value);eatToken();maybeIgnoreComment()}eatTokenOfType(a.tokens.closeParen);return i.binaryModule(t,u)}if(s===true){var f=[];while(l.type===a.tokens.string){f.push(l.value);eatToken()}eatTokenOfType(a.tokens.closeParen);return i.quoteModule(t,f)}while(l.type!==a.tokens.closeParen){o.push(walk());if(c.registredExportedElements.length>0){c.registredExportedElements.forEach(function(e){o.push(i.moduleExport(e.name,i.moduleExportDescr(e.exportType,e.id)))});c.registredExportedElements=[]}l=e[n]}eatTokenOfType(a.tokens.closeParen);return i.module(t,o)}function parseFuncInstrArguments(e){var n=[];var s={};var o=0;while(l.type===a.tokens.name||isKeyword(l,a.keywords.offset)){var u=l.value;eatToken();eatTokenOfType(a.tokens.equal);var c=void 0;if(l.type===a.tokens.number){c=i.numberLiteralFromRaw(l.value)}else{throw new Error("Unexpected type for argument: "+l.type)}s[u]=c;eatToken()}var f=e.vector?Infinity:e.length;while(l.type!==a.tokens.closeParen&&(l.type===a.tokens.openParen||o0){return i.callInstruction(h,m)}else{return i.callInstruction(h)}}else if(isKeyword(l,a.keywords.if)){eatToken();return parseIf()}else if(isKeyword(l,a.keywords.module)&&hasPlugin("wast")){eatToken();var g=parseModule();return g}else{throw function(){return new Error("\n"+(0,r.codeFrameFromSource)(t,l.loc)+"\n"+"Unexpected instruction in function body"+", given "+tokenToString(l))}()}}function parseFunc(){var e=i.identifier(u("func"));var n;var s=[];var o=[];var c=[];if(l.type===a.tokens.identifier){e=identifierFromToken(l);eatToken()}else{e=i.withRaw(e,"")}maybeIgnoreComment();while(l.type===a.tokens.openParen||l.type===a.tokens.name||l.type===a.tokens.valtype){if(l.type===a.tokens.name||l.type===a.tokens.valtype){s.push(parseFuncInstr());continue}eatToken();if(lookaheadAndCheck(a.keywords.param)===true){eatToken();o.push.apply(o,_toConsumableArray(parseFuncParam()))}else if(lookaheadAndCheck(a.keywords.result)===true){eatToken();c.push.apply(c,_toConsumableArray(parseFuncResult()))}else if(lookaheadAndCheck(a.keywords.export)===true){eatToken();parseFuncExport(e)}else if(lookaheadAndCheck(a.keywords.type)===true){eatToken();n=parseTypeReference()}else if(lookaheadAndCheck(a.tokens.name)===true||lookaheadAndCheck(a.tokens.valtype)===true||l.type==="keyword"){s.push(parseFuncInstr())}else{throw function(){return new Error("\n"+(0,r.codeFrameFromSource)(t,l.loc)+"\n"+"Unexpected token in func body"+", given "+tokenToString(l))}()}eatTokenOfType(a.tokens.closeParen)}return i.func(e,n!==undefined?n:i.signature(o,c),s)}function parseFuncExport(e){if(l.type!==a.tokens.string){throw function(){return new Error("\n"+(0,r.codeFrameFromSource)(t,l.loc)+"\n"+"Function export expected a string"+", given "+tokenToString(l))}()}var n=l.value;eatToken();var s=i.identifier(e.value);c.registredExportedElements.push({exportType:"Func",name:n,id:s})}function parseType(){var e;var t=[];var n=[];if(l.type===a.tokens.identifier){e=identifierFromToken(l);eatToken()}if(lookaheadAndCheck(a.tokens.openParen,a.keywords.func)){eatToken();eatToken();if(l.type===a.tokens.closeParen){eatToken();return i.typeInstruction(e,i.signature([],[]))}if(lookaheadAndCheck(a.tokens.openParen,a.keywords.param)){eatToken();eatToken();t=parseFuncParam();eatTokenOfType(a.tokens.closeParen)}if(lookaheadAndCheck(a.tokens.openParen,a.keywords.result)){eatToken();eatToken();n=parseFuncResult();eatTokenOfType(a.tokens.closeParen)}eatTokenOfType(a.tokens.closeParen)}return i.typeInstruction(e,i.signature(t,n))}function parseFuncResult(){var e=[];while(l.type!==a.tokens.closeParen){if(l.type!==a.tokens.valtype){throw function(){return new Error("\n"+(0,r.codeFrameFromSource)(t,l.loc)+"\n"+"Unexpected token in func result"+", given "+tokenToString(l))}()}var n=l.value;eatToken();e.push(n)}return e}function parseTypeReference(){var e;if(l.type===a.tokens.identifier){e=identifierFromToken(l);eatToken()}else if(l.type===a.tokens.number){e=i.numberLiteralFromRaw(l.value);eatToken()}return e}function parseGlobal(){var e=i.identifier(u("global"));var n;var s=null;maybeIgnoreComment();if(l.type===a.tokens.identifier){e=identifierFromToken(l);eatToken()}else{e=i.withRaw(e,"")}if(lookaheadAndCheck(a.tokens.openParen,a.keywords.export)){eatToken();eatToken();var o=l.value;eatTokenOfType(a.tokens.string);c.registredExportedElements.push({exportType:"Global",name:o,id:e});eatTokenOfType(a.tokens.closeParen)}if(lookaheadAndCheck(a.tokens.openParen,a.keywords.import)){eatToken();eatToken();var f=l.value;eatTokenOfType(a.tokens.string);var d=l.value;eatTokenOfType(a.tokens.string);s={module:f,name:d,descr:undefined};eatTokenOfType(a.tokens.closeParen)}if(l.type===a.tokens.valtype){n=i.globalType(l.value,"const");eatToken()}else if(l.type===a.tokens.openParen){eatToken();if(isKeyword(l,a.keywords.mut)===false){throw function(){return new Error("\n"+(0,r.codeFrameFromSource)(t,l.loc)+"\n"+"Unsupported global type, expected mut"+", given "+tokenToString(l))}()}eatToken();n=i.globalType(l.value,"var");eatToken();eatTokenOfType(a.tokens.closeParen)}if(n===undefined){throw function(){return new Error("\n"+(0,r.codeFrameFromSource)(t,l.loc)+"\n"+"Could not determine global type"+", given "+tokenToString(l))}()}maybeIgnoreComment();var p=[];if(s!=null){s.descr=n;p.push(i.moduleImport(s.module,s.name,s.descr))}while(l.type===a.tokens.openParen){eatToken();p.push(parseFuncInstr());eatTokenOfType(a.tokens.closeParen)}return i.global(n,p,e)}function parseFuncParam(){var e=[];var t;var n;if(l.type===a.tokens.identifier){t=l.value;eatToken()}if(l.type===a.tokens.valtype){n=l.value;eatToken();e.push({id:t,valtype:n});if(t===undefined){while(l.type===a.tokens.valtype){n=l.value;eatToken();e.push({id:undefined,valtype:n})}}}else{}return e}function parseElem(){var e=i.indexLiteral(0);var n=[];var s=[];if(l.type===a.tokens.identifier){e=identifierFromToken(l);eatToken()}if(l.type===a.tokens.number){e=i.indexLiteral(l.value);eatToken()}while(l.type!==a.tokens.closeParen){if(lookaheadAndCheck(a.tokens.openParen,a.keywords.offset)){eatToken();eatToken();while(l.type!==a.tokens.closeParen){eatTokenOfType(a.tokens.openParen);n.push(parseFuncInstr());eatTokenOfType(a.tokens.closeParen)}eatTokenOfType(a.tokens.closeParen)}else if(l.type===a.tokens.identifier){s.push(i.identifier(l.value));eatToken()}else if(l.type===a.tokens.number){s.push(i.indexLiteral(l.value));eatToken()}else if(l.type===a.tokens.openParen){eatToken();n.push(parseFuncInstr());eatTokenOfType(a.tokens.closeParen)}else{throw function(){return new Error("\n"+(0,r.codeFrameFromSource)(t,l.loc)+"\n"+"Unsupported token in elem"+", given "+tokenToString(l))}()}}return i.elem(e,n,s)}function parseStart(){if(l.type===a.tokens.identifier){var e=identifierFromToken(l);eatToken();return i.start(e)}if(l.type===a.tokens.number){var t=i.indexLiteral(l.value);eatToken();return i.start(t)}throw new Error("Unknown start, token: "+tokenToString(l))}if(l.type===a.tokens.openParen){eatToken();var f=getStartLoc();if(isKeyword(l,a.keywords.export)){eatToken();var d=parseExport();var p=getEndLoc();return i.withLoc(d,p,f)}if(isKeyword(l,a.keywords.loop)){eatToken();var h=parseLoop();var m=getEndLoc();return i.withLoc(h,m,f)}if(isKeyword(l,a.keywords.func)){eatToken();var g=parseFunc();var y=getEndLoc();maybeIgnoreComment();eatTokenOfType(a.tokens.closeParen);return i.withLoc(g,y,f)}if(isKeyword(l,a.keywords.module)){eatToken();var v=parseModule();var b=getEndLoc();return i.withLoc(v,b,f)}if(isKeyword(l,a.keywords.import)){eatToken();var w=parseImport();var E=getEndLoc();eatTokenOfType(a.tokens.closeParen);return i.withLoc(w,E,f)}if(isKeyword(l,a.keywords.block)){eatToken();var _=parseBlock();var S=getEndLoc();eatTokenOfType(a.tokens.closeParen);return i.withLoc(_,S,f)}if(isKeyword(l,a.keywords.memory)){eatToken();var k=parseMemory();var C=getEndLoc();eatTokenOfType(a.tokens.closeParen);return i.withLoc(k,C,f)}if(isKeyword(l,a.keywords.data)){eatToken();var D=parseData();var A=getEndLoc();eatTokenOfType(a.tokens.closeParen);return i.withLoc(D,A,f)}if(isKeyword(l,a.keywords.table)){eatToken();var x=parseTable();var M=getEndLoc();eatTokenOfType(a.tokens.closeParen);return i.withLoc(x,M,f)}if(isKeyword(l,a.keywords.global)){eatToken();var T=parseGlobal();var O=getEndLoc();eatTokenOfType(a.tokens.closeParen);return i.withLoc(T,O,f)}if(isKeyword(l,a.keywords.type)){eatToken();var F=parseType();var I=getEndLoc();eatTokenOfType(a.tokens.closeParen);return i.withLoc(F,I,f)}if(isKeyword(l,a.keywords.start)){eatToken();var R=parseStart();var P=getEndLoc();eatTokenOfType(a.tokens.closeParen);return i.withLoc(R,P,f)}if(isKeyword(l,a.keywords.elem)){eatToken();var N=parseElem();var L=getEndLoc();eatTokenOfType(a.tokens.closeParen);return i.withLoc(N,L,f)}var j=parseFuncInstr();var B=getEndLoc();maybeIgnoreComment();if(_typeof(j)==="object"){if(typeof l!=="undefined"){eatTokenOfType(a.tokens.closeParen)}return i.withLoc(j,B,f)}}if(l.type===a.tokens.comment){var U=getStartLoc();var G=l.opts.type==="leading"?i.leadingComment:i.blockComment;var z=G(l.value);eatToken();var H=getEndLoc();return i.withLoc(z,H,U)}throw function(){return new Error("\n"+(0,r.codeFrameFromSource)(t,l.loc)+"\n"+"Unknown token"+", given "+tokenToString(l))}()}var l=[];while(ne.additionalFactories)e.additionalFactories=this.factory;if(this.integration>e.additionalIntegration)e.additionalIntegration=this.integration}}e.exports=ModuleProfile},9878:function(e){"use strict";e.exports=function generate_comment(e,t,n){var r=" ";var i=e.schema[t];var s=e.errSchemaPath+"/"+t;var o=!e.opts.allErrors;var a=e.util.toQuotedString(i);if(e.opts.$comment===true){r+=" console.log("+a+");"}else if(typeof e.opts.$comment=="function"){r+=" self._opts.$comment("+a+", "+e.util.toQuotedString(s)+", validate.root.schema);"}return r}},9880:function(e,t,n){"use strict";e.exports=function(e,t,r){var i=n(9505);var s=e.TimeoutError;function HandleWrapper(e){this.handle=e}HandleWrapper.prototype._resultCancelled=function(){clearTimeout(this.handle)};var o=function(e){return a(+this).thenReturn(e)};var a=e.delay=function(n,i){var s;var a;if(i!==undefined){s=e.resolve(i)._then(o,null,null,n,undefined);if(r.cancellation()&&i instanceof e){s._setOnCancel(i)}}else{s=new e(t);a=setTimeout(function(){s._fulfill()},+n);if(r.cancellation()){s._setOnCancel(new HandleWrapper(a))}s._captureStackTrace()}s._setAsyncGuaranteed();return s};e.prototype.delay=function(e){return a(e,this)};var u=function(e,t,n){var r;if(typeof t!=="string"){if(t instanceof Error){r=t}else{r=new s("operation timed out")}}else{r=new s(t)}i.markAsOriginatingFromRejection(r);e._attachExtraTrace(r);e._reject(r);if(n!=null){n.cancel()}};function successClear(e){clearTimeout(this.handle);return e}function failureClear(e){clearTimeout(this.handle);throw e}e.prototype.timeout=function(e,t){e=+e;var n,i;var s=new HandleWrapper(setTimeout(function timeoutTimeout(){if(n.isPending()){u(n,t,i)}},e));if(r.cancellation()){i=this.then();n=i._then(successClear,failureClear,undefined,s,undefined);n._setOnCancel(s)}else{n=this._then(successClear,failureClear,undefined,s,undefined)}return n}}},9891:function(e,t,n){"use strict";const r=n(674);class NullFactory extends r{create(e,t){return t()}}e.exports=NullFactory},9900:function(e){"use strict";class ModuleGraphConnection{constructor(e,t,n,r){this.originModule=e;this.resolvedOriginModule=e;this.dependency=t;this.resolvedModule=n;this.module=n;this.explanations=new Set;if(r){this.explanations.add(r)}}addExplanation(e){this.explanations.add(e)}get explanation(){return Array.from(this.explanations).join(" ")}}e.exports=ModuleGraphConnection},9909:function(e,t,n){e.exports=realpath;realpath.realpath=realpath;realpath.sync=realpathSync;realpath.realpathSync=realpathSync;realpath.monkeypatch=monkeypatch;realpath.unmonkeypatch=unmonkeypatch;var r=n(5747);var i=r.realpath;var s=r.realpathSync;var o=process.version;var a=/^v[0-5]\./.test(o);var u=n(8411);function newError(e){return e&&e.syscall==="realpath"&&(e.code==="ELOOP"||e.code==="ENOMEM"||e.code==="ENAMETOOLONG")}function realpath(e,t,n){if(a){return i(e,t,n)}if(typeof t==="function"){n=t;t=null}i(e,t,function(r,i){if(newError(r)){u.realpath(e,t,n)}else{n(r,i)}})}function realpathSync(e,t){if(a){return s(e,t)}try{return s(e,t)}catch(n){if(newError(n)){return u.realpathSync(e,t)}else{throw n}}}function monkeypatch(){r.realpath=realpath;r.realpathSync=realpathSync}function unmonkeypatch(){r.realpath=i;r.realpathSync=s}},9929:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:true});const n=["configFile","extensions","baseUrl","silent","logLevel","logInfoToStdOut","context","mainFields"];function getOptions(e){validateOptions(e);const t=makeOptions(e);return t}t.getOptions=getOptions;function validateOptions(e){const t=Object.keys(e);for(let e=0;e1;class LRUCache{constructor(e){if(typeof e==="number")e={max:e};if(!e)e={};if(e.max&&(typeof e.max!=="number"||e.max<0))throw new TypeError("max must be a non-negative number");const t=this[i]=e.max||Infinity;const n=e.length||h;this[o]=typeof n!=="function"?h:n;this[a]=e.stale||false;if(e.maxAge&&typeof e.maxAge!=="number")throw new TypeError("maxAge must be a number");this[u]=e.maxAge||0;this[c]=e.dispose;this[l]=e.noDisposeOnSet||false;this[p]=e.updateAgeOnGet||false;this.reset()}set max(e){if(typeof e!=="number"||e<0)throw new TypeError("max must be a non-negative number");this[i]=e||Infinity;y(this)}get max(){return this[i]}set allowStale(e){this[a]=!!e}get allowStale(){return this[a]}set maxAge(e){if(typeof e!=="number")throw new TypeError("maxAge must be a non-negative number");this[u]=e;y(this)}get maxAge(){return this[u]}set lengthCalculator(e){if(typeof e!=="function")e=h;if(e!==this[o]){this[o]=e;this[s]=0;this[f].forEach(e=>{e.length=this[o](e.value,e.key);this[s]+=e.length})}y(this)}get lengthCalculator(){return this[o]}get length(){return this[s]}get itemCount(){return this[f].length}rforEach(e,t){t=t||this;for(let n=this[f].tail;n!==null;){const r=n.prev;b(this,e,n,t);n=r}}forEach(e,t){t=t||this;for(let n=this[f].head;n!==null;){const r=n.next;b(this,e,n,t);n=r}}keys(){return this[f].toArray().map(e=>e.key)}values(){return this[f].toArray().map(e=>e.value)}reset(){if(this[c]&&this[f]&&this[f].length){this[f].forEach(e=>this[c](e.key,e.value))}this[d]=new Map;this[f]=new r;this[s]=0}dump(){return this[f].map(e=>g(this,e)?false:{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[f]}set(e,t,n){n=n||this[u];if(n&&typeof n!=="number")throw new TypeError("maxAge must be a number");const r=n?Date.now():0;const a=this[o](t,e);if(this[d].has(e)){if(a>this[i]){v(this,this[d].get(e));return false}const o=this[d].get(e);const u=o.value;if(this[c]){if(!this[l])this[c](e,u.value)}u.now=r;u.maxAge=n;u.value=t;this[s]+=a-u.length;u.length=a;this.get(e);y(this);return true}const p=new Entry(e,t,a,r,n);if(p.length>this[i]){if(this[c])this[c](e,t);return false}this[s]+=p.length;this[f].unshift(p);this[d].set(e,this[f].head);y(this);return true}has(e){if(!this[d].has(e))return false;const t=this[d].get(e).value;return!g(this,t)}get(e){return m(this,e,true)}peek(e){return m(this,e,false)}pop(){const e=this[f].tail;if(!e)return null;v(this,e);return e.value}del(e){v(this,this[d].get(e))}load(e){this.reset();const t=Date.now();for(let n=e.length-1;n>=0;n--){const r=e[n];const i=r.e||0;if(i===0)this.set(r.k,r.v);else{const e=i-t;if(e>0){this.set(r.k,r.v,e)}}}}prune(){this[d].forEach((e,t)=>m(this,t,false))}}const m=(e,t,n)=>{const r=e[d].get(t);if(r){const t=r.value;if(g(e,t)){v(e,r);if(!e[a])return undefined}else{if(n){if(e[p])r.value.now=Date.now();e[f].unshiftNode(r)}}return t.value}};const g=(e,t)=>{if(!t||!t.maxAge&&!e[u])return false;const n=Date.now()-t.now;return t.maxAge?n>t.maxAge:e[u]&&n>e[u]};const y=e=>{if(e[s]>e[i]){for(let t=e[f].tail;e[s]>e[i]&&t!==null;){const n=t.prev;v(e,t);t=n}}};const v=(e,t)=>{if(t){const n=t.value;if(e[c])e[c](n.key,n.value);e[s]-=n.length;e[d].delete(n.key);e[f].removeNode(t)}};class Entry{constructor(e,t,n,r,i){this.key=e;this.value=t;this.length=n;this.now=r;this.maxAge=i||0}}const b=(e,t,n,r)=>{let i=n.value;if(g(e,i)){v(e,n);if(!e[a])i=undefined}if(i)t.call(r,i.value,i.key,e)};e.exports=LRUCache},9940:function(e){e.exports={title:"HashedModuleIdsPluginOptions",type:"object",additionalProperties:false,properties:{context:{description:"The context directory for creating names.",type:"string",absolutePath:true},hashDigest:{description:"The encoding to use when generating the hash, defaults to 'base64'. All encodings from Node.JS' hash.digest are supported.",enum:["hex","latin1","base64"]},hashDigestLength:{description:"The prefix length of the hash digest to use, defaults to 4.",type:"number",minimum:1},hashFunction:{description:"The hashing algorithm to use, defaults to 'md5'. All functions from Node.JS' crypto.createHash are supported.",type:"string",minLength:1}}}},9945:function(e,t,n){"use strict";const r=n(6218);const i=n(481);const s=n(3);const o=n(9511);const a=n(9614);const u=n(5144).setLocale;const c=n(3656).clearMemoized;const l=n(1025);u("en");const f=e.exports;f.ls=(e=>r(e));f.ls.stream=(e=>r.stream(e));f.get=((e,t,n)=>i(e,t,n));f.get.byDigest=((e,t,n)=>i.byDigest(e,t,n));f.get.sync=((e,t,n)=>i.sync(e,t,n));f.get.sync.byDigest=((e,t,n)=>i.sync.byDigest(e,t,n));f.get.stream=((e,t,n)=>i.stream(e,t,n));f.get.stream.byDigest=((e,t,n)=>i.stream.byDigest(e,t,n));f.get.copy=((e,t,n,r)=>i.copy(e,t,n,r));f.get.copy.byDigest=((e,t,n,r)=>i.copy.byDigest(e,t,n,r));f.get.info=((e,t)=>i.info(e,t));f.get.hasContent=((e,t)=>i.hasContent(e,t));f.get.hasContent.sync=((e,t)=>i.hasContent.sync(e,t));f.put=((e,t,n,r)=>s(e,t,n,r));f.put.stream=((e,t,n)=>s.stream(e,t,n));f.rm=((e,t)=>o.entry(e,t));f.rm.all=(e=>o.all(e));f.rm.entry=f.rm;f.rm.content=((e,t)=>o.content(e,t));f.setLocale=(e=>u(e));f.clearMemoized=(()=>c());f.tmp={};f.tmp.mkdir=((e,t)=>l.mkdir(e,t));f.tmp.withTmp=((e,t,n)=>l.withTmp(e,t,n));f.verify=((e,t)=>a(e,t));f.verify.lastRun=(e=>a.lastRun(e))},9956:function(e){e.exports={title:"LoaderOptionsPluginOptions",type:"object",additionalProperties:true,properties:{debug:{description:"Whether loaders should be in debug mode or not. debug will be removed as of webpack 3",type:"boolean"},minimize:{description:"Where loaders can be switched to minimize mode",type:"boolean"},options:{description:"A configuration object that can be used to configure older loaders",type:"object",additionalProperties:true,properties:{context:{description:"The context that can be used to configure older loaders",type:"string",absolutePath:true}}}}}},9972:function(e,t,n){"use strict";const{SyncBailHook:r}=n(2960);const{RawSource:i}=n(2991);const s=n(2352);const o=n(4391);const{evaluateToIdentifier:a,evaluateToString:u,toConstantDependency:c}=n(2912);const l=n(3520);const f=n(9891);const d=n(6150);const p=n(1809);const h=n(3158);const m=n(2174);const g=n(9838);const{find:y}=n(6221);const{compareModulesById:v}=n(8673);const b=new WeakMap;class HotModuleReplacementPlugin{static getParserHooks(e){if(!(e instanceof o)){throw new TypeError("The 'parser' argument must be an instance of JavascriptParser")}let t=b.get(e);if(t===undefined){t={hotAcceptCallback:new r(["expression","requests"]),hotAcceptWithoutCallback:new r(["expression","requests"])};b.set(e,t)}return t}constructor(e){this.options=e||{};this.multiStep=this.options.multiStep;this.fullBuildTimeout=this.options.fullBuildTimeout||200}apply(e){const t=this.multiStep;const n=this.fullBuildTimeout;const r=e.options.output.hotUpdateMainFilename;e.hooks.additionalPass.tapAsync("HotModuleReplacementPlugin",e=>{if(t)return setTimeout(e,n);return e()});const o=(e,t)=>{const{hotAcceptCallback:n,hotAcceptWithoutCallback:r}=HotModuleReplacementPlugin.getParserHooks(e);e.hooks.expression.for("__webpack_hash__").tap("HotModuleReplacementPlugin",c(e,`${d.getFullHash}()`,[d.getFullHash]));e.hooks.evaluateTypeof.for("__webpack_hash__").tap("HotModuleReplacementPlugin",u("string"));e.hooks.evaluateIdentifier.for("module.hot").tap({name:"HotModuleReplacementPlugin",before:"NodeStuffPlugin"},e=>{return a("module.hot",true)(e)});e.hooks.call.for("module.hot.accept").tap("HotModuleReplacementPlugin",t=>{const i=new m(t.callee.range,"accept");i.loc=t.loc;e.state.module.addDependency(i);if(t.arguments.length>=1){const i=e.evaluateExpression(t.arguments[0]);let s=[];let o=[];if(i.isString()){s=[i]}else if(i.isArray()){s=i.items.filter(e=>e.isString())}if(s.length>0){s.forEach((n,r)=>{const i=n.string;const s=new p(i,n.range);s.optional=true;s.loc=Object.create(t.loc);s.loc.index=r;e.state.module.addDependency(s);o.push(i)});if(t.arguments.length>1){n.call(t.arguments[1],o);e.walkExpression(t.arguments[1]);return true}else{r.call(t,o);return true}}}return true});e.hooks.call.for("module.hot.decline").tap("HotModuleReplacementPlugin",t=>{const n=new m(t.callee.range,"decline");n.loc=t.loc;e.state.module.addDependency(n);if(t.arguments.length===1){const n=e.evaluateExpression(t.arguments[0]);let r=[];if(n.isString()){r=[n]}else if(n.isArray()){r=n.items.filter(e=>e.isString())}r.forEach((n,r)=>{const i=new h(n.string,n.range);i.optional=true;i.loc=Object.create(t.loc);i.loc.index=r;e.state.module.addDependency(i)})}return true});e.hooks.expression.for("module.hot").tap("HotModuleReplacementPlugin",t=>{const n=new m(t.range);n.loc=t.loc;e.state.module.addDependency(n);return true})};e.hooks.compilation.tap("HotModuleReplacementPlugin",(e,{normalModuleFactory:n})=>{e.dependencyFactories.set(p,n);e.dependencyTemplates.set(p,new p.Template);e.dependencyFactories.set(h,n);e.dependencyTemplates.set(h,new h.Template);e.dependencyFactories.set(m,new f);e.dependencyTemplates.set(m,new m.Template);e.hooks.record.tap("HotModuleReplacementPlugin",(e,t)=>{if(t.hash===e.hash)return;const n=e.chunkGraph;t.hash=e.hash;t.moduleHashs={};for(const r of e.modules){const e=r.identifier();t.moduleHashs[e]=n.getModuleHash(r)}t.chunkHashs={};for(const n of e.chunks){t.chunkHashs[n.id]=n.hash}t.chunkModuleIds={};for(const r of e.chunks){t.chunkModuleIds[r.id]=Array.from(n.getOrderedChunkModulesIterable(r,v(n)),e=>n.getModuleId(e))}});let a=false;let u=false;e.hooks.afterHash.tap("HotModuleReplacementPlugin",()=>{let t=e.records;if(!t){a=true;return}if(!t.hash)a=true;const n=t.preHash||"x";const r=t.prepreHash||"x";if(n===e.hash){u=true;e.modifyHash(r);return}t.prepreHash=t.hash||"x";t.preHash=e.hash;e.modifyHash(t.prepreHash)});e.hooks.shouldGenerateChunkAssets.tap("HotModuleReplacementPlugin",()=>{if(t&&!u&&!a)return false});e.hooks.needAdditionalPass.tap("HotModuleReplacementPlugin",()=>{if(t&&!u&&!a)return true});e.hooks.additionalChunkAssets.tap("HotModuleReplacementPlugin",()=>{const t=e.chunkGraph;const n=e.chunkTemplate;const o=e.records;if(o.hash===e.hash)return;if(!o.moduleHashs||!o.chunkHashs||!o.chunkModuleIds)return;const a=new Set;for(const n of e.modules){const e=n.identifier();const r=t.getModuleHash(n);if(o.moduleHashs[e]!==r){a.add(n)}}const u={h:e.hash,c:[],r:[],m:undefined};const c=new Set;for(const r of Object.keys(o.chunkHashs)){const i=r;const l=y(e.chunks,e=>`${e.id}`===r);if(l){const r=t.getChunkModules(l).filter(e=>a.has(e));const c=Array.from(t.getChunkRuntimeModulesIterable(l)).filter(e=>a.has(e));const f=new Set;for(const e of t.getChunkModulesIterable(l)){f.add(t.getModuleId(e))}const d=o.chunkModuleIds[i].filter(e=>!f.has(e));if(r.length>0||d.length>0){const a=new s;a.id=i;t.attachModules(a,r);t.attachRuntimeModules(a,c);a.removedModules=d;const f=n.getRenderManifest({chunk:a,hash:o.hash,fullHash:o.hash,outputOptions:n.outputOptions,moduleTemplates:e.moduleTemplates,dependencyTemplates:e.dependencyTemplates,runtimeTemplate:e.runtimeTemplate,moduleGraph:e.moduleGraph,chunkGraph:t});for(const t of f){const n=e.getPath(t.filenameTemplate,t.pathOptions);const r=t.render();e.additionalChunkAssets.push(n);e.assets[n]=r;l.files.add(n);e.hooks.chunkAsset.call(l,n)}u.c.push(i)}}else{u.r.push(i);for(const e of o.chunkModuleIds[i])c.add(e)}}u.m=Array.from(c);const l=new i(JSON.stringify(u));const f=e.getPath(r,{hash:o.hash});e.assets[f]=l});e.hooks.additionalTreeRuntimeRequirements.tap("HotModuleReplacementPlugin",(t,n)=>{n.add(d.hmrDownloadManifest);n.add(d.hmrDownloadUpdateHandlers);n.add(d.getFullHash);n.add(d.interceptModuleExecution);n.add(d.moduleCache);e.addRuntimeModule(t,new g)});n.hooks.parser.for("javascript/auto").tap("HotModuleReplacementPlugin",o);n.hooks.parser.for("javascript/dynamic").tap("HotModuleReplacementPlugin",o);l.getCompilationHooks(e).loader.tap("HotModuleReplacementPlugin",e=>{e.hot=true})})}}e.exports=HotModuleReplacementPlugin},9983:function(e,t,n){"use strict";const r=n(8706);const i=n(4304);class ModuleDependency extends r{constructor(e){super();this.request=e;this.userRequest=e;this.range=undefined}getResourceIdentifier(){return`module${this.request}`}serialize(e){const{write:t}=e;t(this.request);t(this.userRequest);t(this.range);super.serialize(e)}deserialize(e){const{read:t}=e;this.request=t();this.userRequest=t();this.range=t();super.deserialize(e)}}ModuleDependency.Template=i;e.exports=ModuleDependency},9987:function(e,t,n){var r=n(8333);var i=/^[A-Z]:([\\\/]|$)/i;var s=/^\//i;e.exports=function join(e,t){if(!t)return r(e);if(i.test(t))return r(t.replace(/\//g,"\\"));if(s.test(t))return r(t);if(e=="/")return r(e+t);if(i.test(e))return r(e.replace(/\//g,"\\")+"\\"+t.replace(/\//g,"\\"));if(s.test(e))return r(e+"/"+t);return r(e+"/"+t)}},9990:function(e,t,n){var r=n(1341).SourceMapGenerator;var i=n(1983);var s=/(\r?\n)/;var o=10;var a="$$$isSourceNode$$$";function SourceNode(e,t,n,r,i){this.children=[];this.sourceContents={};this.line=e==null?null:e;this.column=t==null?null:t;this.source=n==null?null:n;this.name=i==null?null:i;this[a]=true;if(r!=null)this.add(r)}SourceNode.fromStringWithSourceMap=function SourceNode_fromStringWithSourceMap(e,t,n){var r=new SourceNode;var o=e.split(s);var a=0;var u=function(){var e=getNextLine();var t=getNextLine()||"";return e+t;function getNextLine(){return a=0;t--){this.prepend(e[t])}}else if(e[a]||typeof e==="string"){this.children.unshift(e)}else{throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e)}return this};SourceNode.prototype.walk=function SourceNode_walk(e){var t;for(var n=0,r=this.children.length;n0){t=[];for(n=0;n { try { writeFileSync(__dirname + '/relocate-loader.js.cache', script.createCachedData()); } catch(e) {} }); diff --git a/node_modules/@zeit/ncc/dist/ncc/loaders/relocate-loader.js.cache b/node_modules/@zeit/ncc/dist/ncc/loaders/relocate-loader.js.cache new file mode 100644 index 0000000..9b28392 Binary files /dev/null and b/node_modules/@zeit/ncc/dist/ncc/loaders/relocate-loader.js.cache differ diff --git a/node_modules/@zeit/ncc/dist/ncc/loaders/relocate-loader.js.cache.js b/node_modules/@zeit/ncc/dist/ncc/loaders/relocate-loader.js.cache.js new file mode 100644 index 0000000..7773e1d --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/loaders/relocate-loader.js.cache.js @@ -0,0 +1 @@ +module.exports=function(e,t){"use strict";var r={};function __webpack_require__(t){if(r[t]){return r[t].exports}var n=r[t]={i:t,l:false,exports:{}};e[t].call(n.exports,n,n.exports,__webpack_require__);n.l=true;return n.exports}__webpack_require__.ab=__dirname+"/";function startup(){return __webpack_require__(300)}return startup()}({87:function(e){e.exports=require("os")},129:function(e){e.exports=require("child_process")},225:function(module,__unusedexports,__webpack_require__){module.exports=function(e,t){"use strict";var r={};function __webpack_require__(t){if(r[t]){return r[t].exports}var n=r[t]={i:t,l:false,exports:{}};e[t].call(n.exports,n,n.exports,__webpack_require__);n.l=true;return n.exports}function startup(){return __webpack_require__(379)}return startup()}([,,,,,,,,,function(e,t,r){var n=r(688);if(process.env.READABLE_STREAM==="disable"&&n){e.exports=n;t=e.exports=n.Readable;t.Readable=n.Readable;t.Writable=n.Writable;t.Duplex=n.Duplex;t.Transform=n.Transform;t.PassThrough=n.PassThrough;t.Stream=n}else{t=e.exports=r(923);t.Stream=n||t;t.Readable=t;t.Writable=r(574);t.Duplex=r(98);t.Transform=r(955);t.PassThrough=r(502)}},,,function(e){"use strict";if(!process.version||process.version.indexOf("v0.")===0||process.version.indexOf("v1.")===0&&process.version.indexOf("v1.8.")!==0){e.exports={nextTick:nextTick}}else{e.exports=process}function nextTick(e,t,r,n){if(typeof e!=="function"){throw new TypeError('"callback" argument must be a function')}var i=arguments.length;var a,s;switch(i){case 0:case 1:return process.nextTick(e);case 2:return process.nextTick(function afterTickOne(){e.call(null,t)});case 3:return process.nextTick(function afterTickTwo(){e.call(null,t,r)});case 4:return process.nextTick(function afterTickThree(){e.call(null,t,r,n)});default:a=new Array(i-1);s=0;while(s=127&&s<=159){continue}if(s>=65536){r++}if(a(s)){t+=2}else{t++}}return t}},,,,,function(e,t,r){"use strict";const n=r(586);e.exports=function(e){const t=n(e);return class extends t{parseClassElement(e){const t=this._inClassMemberName;this._inClassMemberName=true;const r=super.parseClassElement.apply(this,arguments);this._inClassMemberName=t;return r}parsePropertyName(e){const t=this.options.ecmaVersion>=8&&this._inClassMemberName&&this.type==this.privateNameToken;this._inClassMemberName=false;if(!t)return super.parsePropertyName(e);return this.parsePrivateClassElementName(e)}}}},,,function(e,t,r){"use strict";var n=r(64);var i=r(9);var a=r(468);var s=r(358);var o=e.exports=function(e,t,r){i.Transform.call(this,r);this.tracker=new s(e,t);this.name=e;this.id=this.tracker.id;this.tracker.on("change",delegateChange(this))};n.inherits(o,i.Transform);function delegateChange(e){return function(t,r,n){e.emit("change",t,r,e)}}o.prototype._transform=function(e,t,r){this.tracker.completeWork(e.length?e.length:1);this.push(e);r()};o.prototype._flush=function(e){this.tracker.finish();e()};a(o.prototype,"tracker").method("completed").method("addWork").method("finish")},,,,,,,,,,function(e,t,r){"use strict";const n=r(440);const i=n.tokTypes;const a=n.isIdentifierStart;e.exports=function(e){return class extends e{parseLiteral(e){const t=super.parseLiteral(e);if(t.raw.charCodeAt(t.raw.length-1)==110)t.bigint=t.raw;return t}readRadixNumber(e){let t=this.pos;this.pos+=2;let r=this.readInt(e);if(r===null)this.raise(this.start+2,`Expected number in radix ${e}`);if(this.input.charCodeAt(this.pos)==110){let e=this.input.slice(t,this.pos);r=typeof BigInt!=="undefined"?BigInt(e):null;++this.pos}else if(a(this.fullCharCodeAtPos()))this.raise(this.pos,"Identifier directly after number");return this.finishToken(i.num,r)}readNumber(e){let t=this.pos;if(e)return super.readNumber(e);if(this.input.charCodeAt(t)===48&&this.input.charCodeAt(t+1)!==110){return super.readNumber(e)}if(this.readInt(10)===null)this.raise(t,"Invalid number");if(this.input.charCodeAt(this.pos)!=110){this.pos=t;return super.readNumber(e)}let r=this.input.slice(t,this.pos);let n=typeof BigInt!=="undefined"?BigInt(r):null;++this.pos;return this.finishToken(i.num,n)}}}},,,function(e,t,r){"use strict";var n=r(891);e.exports=function extend(e){if(!n(e)){e={}}var t=arguments.length;for(var r=1;r1?t[0]:"=";var i=(t.length>1?t[1]:t[0]).split(".");for(var a=0;a<3;++a){var s=Number(n[a]||0);var o=Number(i[a]||0);if(s===o){continue}if(r==="<"){return s="){return s>=o}else{return false}}return r===">="}function matchesRange(e){var t=e.split(/ ?&& ?/);if(t.length===0){return false}for(var r=0;r]/.test(e)){return false}if((t===undefined||t===false)&&/^\//.test(e)){return false}return true}e.exports=isUrlRequest},,,function(e,t){function getArg(e,t,r){if(t in e){return e[t]}else if(arguments.length===3){return r}else{throw new Error('"'+t+'" is a required argument.')}}t.getArg=getArg;var r=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.]*)(?::(\d+))?(\S*)$/;var n=/^data:.+\,.+$/;function urlParse(e){var t=e.match(r);if(!t){return null}return{scheme:t[1],auth:t[2],host:t[3],port:t[4],path:t[5]}}t.urlParse=urlParse;function urlGenerate(e){var t="";if(e.scheme){t+=e.scheme+":"}t+="//";if(e.auth){t+=e.auth+"@"}if(e.host){t+=e.host}if(e.port){t+=":"+e.port}if(e.path){t+=e.path}return t}t.urlGenerate=urlGenerate;function normalize(e){var r=e;var n=urlParse(e);if(n){if(!n.path){return e}r=n.path}var i=t.isAbsolute(r);var a=r.split(/\/+/);for(var s,o=0,u=a.length-1;u>=0;u--){s=a[u];if(s==="."){a.splice(u,1)}else if(s===".."){o++}else if(o>0){if(s===""){a.splice(u+1,o);o=0}else{a.splice(u,2);o--}}}r=a.join("/");if(r===""){r=i?"/":"."}if(n){n.path=r;return urlGenerate(n)}return r}t.normalize=normalize;function join(e,t){if(e===""){e="."}if(t===""){t="."}var r=urlParse(t);var i=urlParse(e);if(i){e=i.path||"/"}if(r&&!r.scheme){if(i){r.scheme=i.scheme}return urlGenerate(r)}if(r||t.match(n)){return t}if(i&&!i.host&&!i.path){i.host=t;return urlGenerate(i)}var a=t.charAt(0)==="/"?t:normalize(e.replace(/\/+$/,"")+"/"+t);if(i){i.path=a;return urlGenerate(i)}return a}t.join=join;t.isAbsolute=function(e){return e.charAt(0)==="/"||!!e.match(r)};function relative(e,t){if(e===""){e="."}e=e.replace(/\/$/,"");var r=0;while(t.indexOf(e+"/")!==0){var n=e.lastIndexOf("/");if(n<0){return t}e=e.slice(0,n);if(e.match(/^([^\/]+:\/)?\/*$/)){return t}++r}return Array(r+1).join("../")+t.substr(e.length+1)}t.relative=relative;var i=function(){var e=Object.create(null);return!("__proto__"in e)}();function identity(e){return e}function toSetString(e){if(isProtoString(e)){return"$"+e}return e}t.toSetString=i?identity:toSetString;function fromSetString(e){if(isProtoString(e)){return e.slice(1)}return e}t.fromSetString=i?identity:fromSetString;function isProtoString(e){if(!e){return false}var t=e.length;if(t<9){return false}if(e.charCodeAt(t-1)!==95||e.charCodeAt(t-2)!==95||e.charCodeAt(t-3)!==111||e.charCodeAt(t-4)!==116||e.charCodeAt(t-5)!==111||e.charCodeAt(t-6)!==114||e.charCodeAt(t-7)!==112||e.charCodeAt(t-8)!==95||e.charCodeAt(t-9)!==95){return false}for(var r=t-10;r>=0;r--){if(e.charCodeAt(r)!==36){return false}}return true}function compareByOriginalPositions(e,t,r){var n=e.source-t.source;if(n!==0){return n}n=e.originalLine-t.originalLine;if(n!==0){return n}n=e.originalColumn-t.originalColumn;if(n!==0||r){return n}n=e.generatedColumn-t.generatedColumn;if(n!==0){return n}n=e.generatedLine-t.generatedLine;if(n!==0){return n}return e.name-t.name}t.compareByOriginalPositions=compareByOriginalPositions;function compareByGeneratedPositionsDeflated(e,t,r){var n=e.generatedLine-t.generatedLine;if(n!==0){return n}n=e.generatedColumn-t.generatedColumn;if(n!==0||r){return n}n=e.source-t.source;if(n!==0){return n}n=e.originalLine-t.originalLine;if(n!==0){return n}n=e.originalColumn-t.originalColumn;if(n!==0){return n}return e.name-t.name}t.compareByGeneratedPositionsDeflated=compareByGeneratedPositionsDeflated;function strcmp(e,t){if(e===t){return 0}if(e>t){return 1}return-1}function compareByGeneratedPositionsInflated(e,t){var r=e.generatedLine-t.generatedLine;if(r!==0){return r}r=e.generatedColumn-t.generatedColumn;if(r!==0){return r}r=strcmp(e.source,t.source);if(r!==0){return r}r=e.originalLine-t.originalLine;if(r!==0){return r}r=e.originalColumn-t.originalColumn;if(r!==0){return r}return strcmp(e.name,t.name)}t.compareByGeneratedPositionsInflated=compareByGeneratedPositionsInflated},,function(e){e.exports=__webpack_require__(835)},,function(e,t,r){var n=r(75);var i=r(96);var a=r(838).ArraySet;var s=r(964);var o=r(572).quickSort;function SourceMapConsumer(e){var t=e;if(typeof e==="string"){t=JSON.parse(e.replace(/^\)\]\}'/,""))}return t.sections!=null?new IndexedSourceMapConsumer(t):new BasicSourceMapConsumer(t)}SourceMapConsumer.fromSourceMap=function(e){return BasicSourceMapConsumer.fromSourceMap(e)};SourceMapConsumer.prototype._version=3;SourceMapConsumer.prototype.__generatedMappings=null;Object.defineProperty(SourceMapConsumer.prototype,"_generatedMappings",{get:function(){if(!this.__generatedMappings){this._parseMappings(this._mappings,this.sourceRoot)}return this.__generatedMappings}});SourceMapConsumer.prototype.__originalMappings=null;Object.defineProperty(SourceMapConsumer.prototype,"_originalMappings",{get:function(){if(!this.__originalMappings){this._parseMappings(this._mappings,this.sourceRoot)}return this.__originalMappings}});SourceMapConsumer.prototype._charIsMappingSeparator=function SourceMapConsumer_charIsMappingSeparator(e,t){var r=e.charAt(t);return r===";"||r===","};SourceMapConsumer.prototype._parseMappings=function SourceMapConsumer_parseMappings(e,t){throw new Error("Subclasses must implement _parseMappings")};SourceMapConsumer.GENERATED_ORDER=1;SourceMapConsumer.ORIGINAL_ORDER=2;SourceMapConsumer.GREATEST_LOWER_BOUND=1;SourceMapConsumer.LEAST_UPPER_BOUND=2;SourceMapConsumer.prototype.eachMapping=function SourceMapConsumer_eachMapping(e,t,r){var i=t||null;var a=r||SourceMapConsumer.GENERATED_ORDER;var s;switch(a){case SourceMapConsumer.GENERATED_ORDER:s=this._generatedMappings;break;case SourceMapConsumer.ORIGINAL_ORDER:s=this._originalMappings;break;default:throw new Error("Unknown order of iteration.")}var o=this.sourceRoot;s.map(function(e){var t=e.source===null?null:this._sources.at(e.source);if(t!=null&&o!=null){t=n.join(o,t)}return{source:t,generatedLine:e.generatedLine,generatedColumn:e.generatedColumn,originalLine:e.originalLine,originalColumn:e.originalColumn,name:e.name===null?null:this._names.at(e.name)}},this).forEach(e,i)};SourceMapConsumer.prototype.allGeneratedPositionsFor=function SourceMapConsumer_allGeneratedPositionsFor(e){var t=n.getArg(e,"line");var r={source:n.getArg(e,"source"),originalLine:t,originalColumn:n.getArg(e,"column",0)};if(this.sourceRoot!=null){r.source=n.relative(this.sourceRoot,r.source)}if(!this._sources.has(r.source)){return[]}r.source=this._sources.indexOf(r.source);var a=[];var s=this._findMapping(r,this._originalMappings,"originalLine","originalColumn",n.compareByOriginalPositions,i.LEAST_UPPER_BOUND);if(s>=0){var o=this._originalMappings[s];if(e.column===undefined){var u=o.originalLine;while(o&&o.originalLine===u){a.push({line:n.getArg(o,"generatedLine",null),column:n.getArg(o,"generatedColumn",null),lastColumn:n.getArg(o,"lastGeneratedColumn",null)});o=this._originalMappings[++s]}}else{var f=o.originalColumn;while(o&&o.originalLine===t&&o.originalColumn==f){a.push({line:n.getArg(o,"generatedLine",null),column:n.getArg(o,"generatedColumn",null),lastColumn:n.getArg(o,"lastGeneratedColumn",null)});o=this._originalMappings[++s]}}}return a};t.SourceMapConsumer=SourceMapConsumer;function BasicSourceMapConsumer(e){var t=e;if(typeof e==="string"){t=JSON.parse(e.replace(/^\)\]\}'/,""))}var r=n.getArg(t,"version");var i=n.getArg(t,"sources");var s=n.getArg(t,"names",[]);var o=n.getArg(t,"sourceRoot",null);var u=n.getArg(t,"sourcesContent",null);var f=n.getArg(t,"mappings");var c=n.getArg(t,"file",null);if(r!=this._version){throw new Error("Unsupported version: "+r)}i=i.map(String).map(n.normalize).map(function(e){return o&&n.isAbsolute(o)&&n.isAbsolute(e)?n.relative(o,e):e});this._names=a.fromArray(s.map(String),true);this._sources=a.fromArray(i,true);this.sourceRoot=o;this.sourcesContent=u;this._mappings=f;this.file=c}BasicSourceMapConsumer.prototype=Object.create(SourceMapConsumer.prototype);BasicSourceMapConsumer.prototype.consumer=SourceMapConsumer;BasicSourceMapConsumer.fromSourceMap=function SourceMapConsumer_fromSourceMap(e){var t=Object.create(BasicSourceMapConsumer.prototype);var r=t._names=a.fromArray(e._names.toArray(),true);var i=t._sources=a.fromArray(e._sources.toArray(),true);t.sourceRoot=e._sourceRoot;t.sourcesContent=e._generateSourcesContent(t._sources.toArray(),t.sourceRoot);t.file=e._file;var s=e._mappings.toArray().slice();var u=t.__generatedMappings=[];var f=t.__originalMappings=[];for(var c=0,l=s.length;c1){g.source=f+m[1];f+=m[1];g.originalLine=a+m[2];a=g.originalLine;g.originalLine+=1;g.originalColumn=u+m[3];u=g.originalColumn;if(m.length>4){g.name=c+m[4];c+=m[4]}}y.push(g);if(typeof g.originalLine==="number"){d.push(g)}}}o(y,n.compareByGeneratedPositionsDeflated);this.__generatedMappings=y;o(d,n.compareByOriginalPositions);this.__originalMappings=d};BasicSourceMapConsumer.prototype._findMapping=function SourceMapConsumer_findMapping(e,t,r,n,a,s){if(e[r]<=0){throw new TypeError("Line must be greater than or equal to 1, got "+e[r])}if(e[n]<0){throw new TypeError("Column must be greater than or equal to 0, got "+e[n])}return i.search(e,t,a,s)};BasicSourceMapConsumer.prototype.computeColumnSpans=function SourceMapConsumer_computeColumnSpans(){for(var e=0;e=0){var i=this._generatedMappings[r];if(i.generatedLine===t.generatedLine){var a=n.getArg(i,"source",null);if(a!==null){a=this._sources.at(a);if(this.sourceRoot!=null){a=n.join(this.sourceRoot,a)}}var s=n.getArg(i,"name",null);if(s!==null){s=this._names.at(s)}return{source:a,line:n.getArg(i,"originalLine",null),column:n.getArg(i,"originalColumn",null),name:s}}}return{source:null,line:null,column:null,name:null}};BasicSourceMapConsumer.prototype.hasContentsOfAllSources=function BasicSourceMapConsumer_hasContentsOfAllSources(){if(!this.sourcesContent){return false}return this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some(function(e){return e==null})};BasicSourceMapConsumer.prototype.sourceContentFor=function SourceMapConsumer_sourceContentFor(e,t){if(!this.sourcesContent){return null}if(this.sourceRoot!=null){e=n.relative(this.sourceRoot,e)}if(this._sources.has(e)){return this.sourcesContent[this._sources.indexOf(e)]}var r;if(this.sourceRoot!=null&&(r=n.urlParse(this.sourceRoot))){var i=e.replace(/^file:\/\//,"");if(r.scheme=="file"&&this._sources.has(i)){return this.sourcesContent[this._sources.indexOf(i)]}if((!r.path||r.path=="/")&&this._sources.has("/"+e)){return this.sourcesContent[this._sources.indexOf("/"+e)]}}if(t){return null}else{throw new Error('"'+e+'" is not in the SourceMap.')}};BasicSourceMapConsumer.prototype.generatedPositionFor=function SourceMapConsumer_generatedPositionFor(e){var t=n.getArg(e,"source");if(this.sourceRoot!=null){t=n.relative(this.sourceRoot,t)}if(!this._sources.has(t)){return{line:null,column:null,lastColumn:null}}t=this._sources.indexOf(t);var r={source:t,originalLine:n.getArg(e,"line"),originalColumn:n.getArg(e,"column")};var i=this._findMapping(r,this._originalMappings,"originalLine","originalColumn",n.compareByOriginalPositions,n.getArg(e,"bias",SourceMapConsumer.GREATEST_LOWER_BOUND));if(i>=0){var a=this._originalMappings[i];if(a.source===r.source){return{line:n.getArg(a,"generatedLine",null),column:n.getArg(a,"generatedColumn",null),lastColumn:n.getArg(a,"lastGeneratedColumn",null)}}}return{line:null,column:null,lastColumn:null}};t.BasicSourceMapConsumer=BasicSourceMapConsumer;function IndexedSourceMapConsumer(e){var t=e;if(typeof e==="string"){t=JSON.parse(e.replace(/^\)\]\}'/,""))}var r=n.getArg(t,"version");var i=n.getArg(t,"sections");if(r!=this._version){throw new Error("Unsupported version: "+r)}this._sources=new a;this._names=new a;var s={line:-1,column:0};this._sections=i.map(function(e){if(e.url){throw new Error("Support for url field in sections not implemented.")}var t=n.getArg(e,"offset");var r=n.getArg(t,"line");var i=n.getArg(t,"column");if(r0){return parse(e)}else if(r==="number"&&isNaN(e)===false){return t.long?fmtLong(e):fmtShort(e)}throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function parse(e){e=String(e);if(e.length>100){return}var s=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(e);if(!s){return}var o=parseFloat(s[1]);var u=(s[2]||"ms").toLowerCase();switch(u){case"years":case"year":case"yrs":case"yr":case"y":return o*a;case"days":case"day":case"d":return o*i;case"hours":case"hour":case"hrs":case"hr":case"h":return o*n;case"minutes":case"minute":case"mins":case"min":case"m":return o*r;case"seconds":case"second":case"secs":case"sec":case"s":return o*t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return o;default:return undefined}}function fmtShort(e){if(e>=i){return Math.round(e/i)+"d"}if(e>=n){return Math.round(e/n)+"h"}if(e>=r){return Math.round(e/r)+"m"}if(e>=t){return Math.round(e/t)+"s"}return e+"ms"}function fmtLong(e){return plural(e,i,"day")||plural(e,n,"hour")||plural(e,r,"minute")||plural(e,t,"second")||e+" ms"}function plural(e,t,r){if(e<]/g}},,,function(e,t,r){"use strict";var n=r(558);var i=r(71);var a="(\\[(?=.*\\])|\\])+";var s=n.createRegex(a);function parsers(e){e.state=e.state||{};e.parser.sets.bracket=e.parser.sets.bracket||[];e.parser.capture("escape",function(){if(this.isInside("bracket"))return;var e=this.position();var t=this.match(/^\\(.)/);if(!t)return;return e({type:"escape",val:t[0]})}).capture("text",function(){if(this.isInside("bracket"))return;var e=this.position();var t=this.match(s);if(!t||!t[0])return;return e({type:"text",val:t[0]})}).capture("posix",function(){var t=this.position();var r=this.match(/^\[:(.*?):\](?=.*\])/);if(!r)return;var n=this.isInside("bracket");if(n){e.posix++}return t({type:"posix",insideBracket:n,inner:r[1],val:r[0]})}).capture("bracket",function(){}).capture("bracket.open",function(){var e=this.parsed;var t=this.position();var r=this.match(/^\[(?=.*\])/);if(!r)return;var a=this.prev();var s=n.last(a.nodes);if(e.slice(-1)==="\\"&&!this.isInside("bracket")){s.val=s.val.slice(0,s.val.length-1);return t({type:"escape",val:r[0]})}var o=t({type:"bracket.open",val:r[0]});if(s.type==="bracket.open"||this.isInside("bracket")){o.val="\\"+o.val;o.type="bracket.inner";o.escaped=true;return o}var u=t({type:"bracket",nodes:[o]});i(u,"parent",a);i(o,"parent",u);this.push("bracket",u);a.nodes.push(u)}).capture("bracket.inner",function(){if(!this.isInside("bracket"))return;var e=this.position();var t=this.match(s);if(!t||!t[0])return;var r=this.input.charAt(0);var n=t[0];var i=e({type:"bracket.inner",val:n});if(n==="\\\\"){return i}var a=n.charAt(0);var o=n.slice(-1);if(a==="!"){n="^"+n.slice(1)}if(o==="\\"||n==="^"&&r==="]"){n+=this.input[0];this.consume(1)}i.val=n;return i}).capture("bracket.close",function(){var e=this.parsed;var t=this.position();var r=this.match(/^\]/);if(!r)return;var a=this.prev();var s=n.last(a.nodes);if(e.slice(-1)==="\\"&&!this.isInside("bracket")){s.val=s.val.slice(0,s.val.length-1);return t({type:"escape",val:r[0]})}var o=t({type:"bracket.close",rest:this.input,val:r[0]});if(s.type==="bracket.open"){o.type="bracket.inner";o.escaped=true;return o}var u=this.pop("bracket");if(!this.isType(u,"bracket")){if(this.options.strict){throw new Error('missing opening "["')}o.type="bracket.inner";o.escaped=true;return o}u.nodes.push(o);i(o,"parent",u)})}e.exports=parsers;e.exports.TEXT_REGEX=a},,function(e,t,r){"use strict";var n=r(664);e.exports=function defineProperty(e,t,r){if(typeof e!=="object"&&typeof e!=="function"){throw new TypeError("expected an object or function.")}if(typeof t!=="string"){throw new TypeError("expected `prop` to be a string.")}if(n(r)&&("set"in r||"get"in r)){return Object.defineProperty(e,t,r)}return Object.defineProperty(e,t,{configurable:true,enumerable:false,writable:true,value:r})}},function(e,t){t.GREATEST_LOWER_BOUND=1;t.LEAST_UPPER_BOUND=2;function recursiveSearch(e,r,n,i,a,s){var o=Math.floor((r-e)/2)+e;var u=a(n,i[o],true);if(u===0){return o}else if(u>0){if(r-o>1){return recursiveSearch(o,r,n,i,a,s)}if(s==t.LEAST_UPPER_BOUND){return r1){return recursiveSearch(e,o,n,i,a,s)}if(s==t.LEAST_UPPER_BOUND){return o}else{return e<0?-1:e}}}t.search=function search(e,r,n,i){if(r.length===0){return-1}var a=recursiveSearch(-1,r.length,e,r,n,i||t.GREATEST_LOWER_BOUND);if(a<0){return-1}while(a-1>=0){if(n(r[a],r[a-1],true)!==0){break}--a}return a}},,function(e,t,r){"use strict";var n=r(12);var i=Object.keys||function(e){var t=[];for(var r in e){t.push(r)}return t};e.exports=Duplex;var a=r(683);a.inherits=r(207);var s=r(923);var o=r(574);a.inherits(Duplex,s);{var u=i(o.prototype);for(var f=0;fc){throw new Error("expected pattern to be less than "+c+" characters")}function makeRe(){var r=n({strictErrors:false},t);if(r.strictErrors===true)r.strict=true;var i=extglob.create(e,r);return a(i.output,r)}var r=f.memoize("makeRe",e,t,makeRe);if(r.source.length>c){throw new SyntaxError("potentially malicious regex detected")}return r};extglob.cache=f.cache;extglob.clearCache=function(){extglob.cache.__data__={}};extglob.Extglob=u;extglob.compilers=s;extglob.parsers=o;e.exports=extglob},,,function(e){"use strict";const t=/^[A-Z]:[/\\]|^\\\\/i;function urlToRequest(e,r){if(e===""){return""}const n=/^[^?]*~/;let i;if(t.test(e)){i=e}else if(r!==undefined&&r!==false&&/^\//.test(e)){switch(typeof r){case"string":if(n.test(r)){i=r.replace(/([^~/])$/,"$1/")+e.slice(1)}else{i=r+e}break;case"boolean":i=e;break;default:throw new Error("Unexpected parameters to loader-utils 'urlToRequest': url = "+e+", root = "+r+".")}}else if(/^\.\.?\//.test(e)){i=e}else{i="./"+e}if(n.test(i)){i=i.replace(n,"")}return i}e.exports=urlToRequest},function(e){e.exports=function(e,t,r,n,i){if(!isObject(e)||!t){return e}t=toString(t);if(r)t+="."+toString(r);if(n)t+="."+toString(n);if(i)t+="."+toString(i);if(t in e){return e[t]}var a=t.split(".");var s=a.length;var o=-1;while(e&&++o{const t=e.indexOf("=");if(t>=0){let n=e.substr(0,t);let a=decodeURIComponent(e.substr(t+1));if(i.hasOwnProperty(a)){a=i[a]}if(n.substr(-2)==="[]"){n=decodeURIComponent(n.substr(0,n.length-2));if(!Array.isArray(r[n])){r[n]=[]}r[n].push(a)}else{n=decodeURIComponent(n);r[n]=a}}else{if(e.substr(0,1)==="-"){r[decodeURIComponent(e.substr(1))]=false}else if(e.substr(0,1)==="+"){r[decodeURIComponent(e.substr(1))]=true}else{r[decodeURIComponent(e)]=true}}});return r}e.exports=parseQuery},,,,function(e){"use strict";e.exports=function spin(e,t){return e[t%e.length]}},,function(e,t,r){"use strict";var n=r(742);e.exports=function(e,t,r){if(typeof e!=="string"){throw new TypeError("expected a string")}if(typeof t==="function"){r=t;t=null}if(typeof t==="string"){t={sep:t}}var i=n({sep:"."},t);var a=i.quotes||['"',"'","`"];var s;if(i.brackets===true){s={"<":">","(":")","[":"]","{":"}"}}else if(i.brackets){s=i.brackets}var o=[];var u=[];var f=[""];var c=i.sep;var l=e.length;var h=-1;var p;function expected(){if(s&&u.length){return s[u[u.length-1]]}}while(++h=0){p=splitToPatterns(f,c,d,r)}d.negatives=v;d.positives=p;d.result=siftPatterns(v,p,r);if(r.capture&&p.length+v.length>1){d.result="("+d.result+")"}a[u]=d;return d.result}function siftPatterns(e,t,r){var n=filterPatterns(e,t,"-",false,r)||[];var i=filterPatterns(t,e,"",false,r)||[];var a=filterPatterns(e,t,"-?",true,r)||[];var s=n.concat(a).concat(i);return s.join("|")}function splitToRanges(e,t){e=Number(e);t=Number(t);var r=1;var n=[t];var i=+countNines(e,r);while(e<=i&&i<=t){n=push(n,i);r+=1;i=+countNines(e,r)}var a=1;i=countZeros(t+1,a)-1;while(e1){f.digits.pop()}f.digits.push(l.digits[0]);f.string=f.pattern+toQuantifier(f.digits);u=c+1;continue}if(r.isPadded){h=padZeros(c,r)}l.string=h+l.pattern+toQuantifier(l.digits);o.push(l);u=c+1;f=l}return o}function filterPatterns(e,t,r,n,i){var a=[];for(var s=0;st?1:t>e?-1:0}function push(e,t){if(e.indexOf(t)===-1)e.push(t);return e}function contains(e,t,r){for(var n=0;nl){throw new Error("expected pattern to be less than "+l+" characters")}function makeRe(){var r=micromatch.create(e,t);var n=[];var i=r.map(function(e){e.ast.state=e.state;n.push(e.ast);return e.output});var s=a(i.join("|"),t);Object.defineProperty(s,"result",{configurable:true,enumerable:false,value:n});return s}return memoize("makeRe",e,t,makeRe)};micromatch.braces=function(e,t){if(typeof e!=="string"&&!Array.isArray(e)){throw new TypeError("expected pattern to be an array or string")}function expand(){if(t&&t.nobrace===true||!/\{.*\}/.test(e)){return c.arrayify(e)}return i(e,t)}return memoize("braces",e,t,expand)};micromatch.braceExpand=function(e,t){var r=s({},t,{expand:true});return micromatch.braces(e,r)};micromatch.create=function(e,t){return memoize("create",e,t,function(){function create(e,t){return micromatch.compile(micromatch.parse(e,t),t)}e=micromatch.braces(e,t);var r=e.length;var n=-1;var i=[];while(++n1)r=1;if(t<=0)return"";var a=Math.round(t*r);var s=t-a;var o=[{type:"complete",value:repeat(e.complete,a),length:a},{type:"remaining",value:repeat(e.remaining,s),length:s}];return i(t,o,e)};function repeat(e,t){var r="";var n=t;do{if(n%2){r+=e}n=Math.floor(n/2);e+=e}while(n&&s(r)1){if(r.optimize===false){a.val=n[0];return a}a.segs=i.stringifyArray(a.segs)}else if(n.length===1){var s=e.split("..");if(s.length===1){a.val=a.segs[a.segs.length-1]||a.val||e;a.segs=[];return a}if(s.length===2&&s[0]===s[1]){a.escaped=true;a.val=s[0];a.segs=[];return a}if(s.length>1){if(r.optimize!==false){r.optimize=true;delete r.expand}if(r.optimize!==true){var o=Math.min(s[0],s[1]);var u=Math.max(s[0],s[1]);var f=s[2]||1;if(r.rangeLimit!==false&&(u-o)/f>=r.rangeLimit){throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.")}}s.push(r);a.segs=i.fillRange.apply(null,s);if(!a.segs.length){a.escaped=true;a.val=e;return a}if(r.optimize===true){a.segs=i.stringifyArray(a.segs)}if(a.segs===""){a.val=e}else{a.val=a.segs[0]}return a}}else{a.val=e}return a};i.escapeBrackets=function(e){return function(t){if(t.escaped&&t.val==="b"){t.val="\\b";return}if(t.val!=="("&&t.val!=="[")return;var r=i.extend({},e);var n=[];var a=[];var s=[];var o=t.val;var u=t.str;var f=t.idx-1;while(++f>1;const r=a[t];if(r[0]===n){return{source:r[1],line:r[2],column:r[3],name:e.names[r[4]]||i}}if(r[0]>n)o=t-1;else s=t+1}return null}e.exports=function(e,t){const r=[];const a=[];const s=[];const o=[];const u=i(e.mappings);for(const n of i(t.mappings)){const i=[];for(const o of n){const n=traceSegment(e,u,o[2],o[3],t.names[o[4]]);if(n){const t=e.sources[n.source];let u=r.lastIndexOf(t);if(u===-1){u=r.length;r.push(t);a[u]=e.sourcesContent[n.source]}else if(a[u]==null){a[u]=e.sourcesContent[n.source]}const f=[o[0],u,n.line,n.column];if(n.name){let e=s.indexOf(n.name);if(e===-1){e=s.length;s.push(n.name)}f[4]=e}i.push(f)}}o.push(i)}return{version:3,file:null,sources:r,mappings:n(o),names:s,sourcesContent:a}}},,,,,,,,function(e,t,r){var n=r(885);var i=r(64);t=e.exports=r(179);t.init=init;t.log=log;t.formatArgs=formatArgs;t.save=save;t.load=load;t.useColors=useColors;t.colors=[6,2,3,4,5,1];t.inspectOpts=Object.keys(process.env).filter(function(e){return/^debug_/i.test(e)}).reduce(function(e,t){var r=t.substring(6).toLowerCase().replace(/_([a-z])/g,function(e,t){return t.toUpperCase()});var n=process.env[t];if(/^(yes|on|true|enabled)$/i.test(n))n=true;else if(/^(no|off|false|disabled)$/i.test(n))n=false;else if(n==="null")n=null;else n=Number(n);e[r]=n;return e},{});var a=parseInt(process.env.DEBUG_FD,10)||2;if(1!==a&&2!==a){i.deprecate(function(){},"except for stderr(2) and stdout(1), any other usage of DEBUG_FD is deprecated. Override debug.log if you want to use a different log function (https://git.io/debug_fd)")()}var s=1===a?process.stdout:2===a?process.stderr:createWritableStdioStream(a);function useColors(){return"colors"in t.inspectOpts?Boolean(t.inspectOpts.colors):n.isatty(a)}t.formatters.o=function(e){this.inspectOpts.colors=this.useColors;return i.inspect(e,this.inspectOpts).split("\n").map(function(e){return e.trim()}).join(" ")};t.formatters.O=function(e){this.inspectOpts.colors=this.useColors;return i.inspect(e,this.inspectOpts)};function formatArgs(e){var r=this.namespace;var n=this.useColors;if(n){var i=this.color;var a=" [3"+i+";1m"+r+" "+"";e[0]=a+e[0].split("\n").join("\n"+a);e.push("[3"+i+"m+"+t.humanize(this.diff)+"")}else{e[0]=(new Date).toUTCString()+" "+r+" "+e[0]}}function log(){return s.write(i.format.apply(i,arguments)+"\n")}function save(e){if(null==e){delete process.env.DEBUG}else{process.env.DEBUG=e}}function load(){return process.env.DEBUG}function createWritableStdioStream(e){var t;var i=process.binding("tty_wrap");switch(i.guessHandleType(e)){case"TTY":t=new n.WriteStream(e);t._type="tty";if(t._handle&&t._handle.unref){t._handle.unref()}break;case"FILE":var a=r(66);t=new a.SyncWriteStream(e,{autoClose:false});t._type="fs";break;case"PIPE":case"TCP":var s=r(193);t=new s.Socket({fd:e,readable:false,writable:true});t.readable=false;t.read=null;t._type="pipe";if(t._handle&&t._handle.unref){t._handle.unref()}break;default:throw new Error("Implement me. Unknown stream file type!")}t.fd=e;t._isStdio=true;return t}function init(e){e.inspectOpts={};var r=Object.keys(t.inspectOpts);for(var n=0;n?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"}},,,,,,function(e,t,r){"use strict";var n=r(395);var i=r(71);var a=r(64);function extend(e,t){if(typeof e!=="function"){throw new TypeError("expected Parent to be a function.")}return function(r,s){if(typeof r!=="function"){throw new TypeError("expected Ctor to be a function.")}a.inherits(r,e);n(r,e);if(typeof s==="object"){var o=Object.create(s);for(var u in o){r.prototype[u]=o[u]}}i(r.prototype,"_parent_",{configurable:true,set:function(){},get:function(){return e.prototype}});if(typeof t==="function"){t(r,e)}r.extend=extend(r,t)}}e.exports=extend},function(e,t,r){"use strict";var n=r(64);var i=r(95);var a=r(963);var s=r(446);var o=r(542);var u=r(99);var f=r(808);var c=r(331);function namespace(e){var t=e?a.namespace(e):a;var r=[];function Base(e,r){if(!(this instanceof Base)){return new Base(e,r)}t.call(this,e);this.is("base");this.initBase(e,r)}n.inherits(Base,t);s(Base);Base.prototype.initBase=function(t,n){this.options=u({},this.options,n);this.cache=this.cache||{};this.define("registered",{});if(e)this[e]={};this.define("_callbacks",this._callbacks);if(o(t)){this.visit("set",t)}Base.run(this,"use",r)};Base.prototype.is=function(e){if(typeof e!=="string"){throw new TypeError("expected name to be a string")}this.define("is"+f(e),true);this.define("_name",e);this.define("_appname",e);return this};Base.prototype.isRegistered=function(e,t){if(this.registered.hasOwnProperty(e)){return true}if(t!==false){this.registered[e]=true;this.emit("plugin",e)}return false};Base.prototype.use=function(e){e.call(this,this);return this};Base.prototype.define=function(e,t){if(o(e)){return this.visit("define",e)}i(this,e,t);return this};Base.prototype.mixin=function(e,t){Base.prototype[e]=t;return this};Base.prototype.mixins=Base.prototype.mixins||[];Object.defineProperty(Base.prototype,"base",{configurable:true,get:function(){return this.parent?this.parent.base:this}});i(Base,"use",function(e){r.push(e);return Base});i(Base,"run",function(e,t,r){var n=r.length,i=0;while(n--){e[t](r[i++])}return Base});i(Base,"extend",c.extend(Base,function(e,t){e.prototype.mixins=e.prototype.mixins||[];i(e,"mixin",function(t){var r=t(e.prototype,e);if(typeof r==="function"){e.prototype.mixins.push(r)}return e});i(e,"mixins",function(t){Base.run(t,"mixin",e.prototype.mixins);return e});e.prototype.mixin=function(t,r){e.prototype[t]=r;return this};return Base}));i(Base,"mixin",function(e){var t=e(Base.prototype,Base);if(typeof t==="function"){Base.prototype.mixins.push(t)}return Base});i(Base,"mixins",function(e){Base.run(e,"mixin",Base.prototype.mixins);return Base});i(Base,"inherit",c.inherit);i(Base,"bubble",c.bubble);return Base}e.exports=namespace();e.exports.namespace=namespace},,function(e,t,r){"use strict";var n=r(485).EventEmitter;var i=r(64);var a=0;var s=e.exports=function(e){n.call(this);this.id=++a;this.name=e};i.inherits(s,n)},,function(e,t,r){"use strict";var n=r(64);var i=r(931);var a=r(43);var s=r(814);var o=r(181);function fillRange(e,t,r,s){if(typeof e==="undefined"){return[]}if(typeof t==="undefined"||e===t){var o=typeof e==="string";if(i(e)&&!toNumber(e)){return[o?"0":0]}return[e]}if(typeof r!=="number"&&typeof r!=="string"){s=r;r=undefined}if(typeof s==="function"){s={transform:s}}var u=a({step:r},s);if(u.step&&!isValidNumber(u.step)){if(u.strictRanges===true){throw new TypeError("expected options.step to be a number")}return[]}u.isNumber=isValidNumber(e)&&isValidNumber(t);if(!u.isNumber&&!isValid(e,t)){if(u.strictRanges===true){throw new RangeError("invalid range arguments: "+n.inspect([e,t]))}return[]}u.isPadded=isPadded(e)||isPadded(t);u.toString=u.stringify||typeof u.step==="string"||typeof e==="string"||typeof t==="string"||!u.isNumber;if(u.isPadded){u.maxLength=Math.max(String(e).length,String(t).length)}if(typeof u.optimize==="boolean")u.toRegex=u.optimize;if(typeof u.makeRe==="boolean")u.toRegex=u.makeRe;return expand(e,t,u)}function expand(e,t,r){var n=r.isNumber?toNumber(e):e.charCodeAt(0);var i=r.isNumber?toNumber(t):t.charCodeAt(0);var a=Math.abs(toNumber(r.step))||1;if(r.toRegex&&a===1){return toRange(n,i,e,t,r)}var s={greater:[],lesser:[]};var o=n=i){var c=r.isNumber?n:String.fromCharCode(n);if(r.toRegex&&(c>=0||!r.isNumber)){s.greater.push(c)}else{s.lesser.push(Math.abs(c))}if(r.isPadded){c=zeros(c,r)}if(r.toString){c=String(c)}if(typeof r.transform==="function"){u[f++]=r.transform(c,n,i,a,f,u,r)}else{u[f++]=c}if(o){n+=a}else{n-=a}}if(r.toRegex===true){return toSequence(u,s,r)}return u}function toRange(e,t,r,n,i){if(i.isPadded){return o(r,n,i)}if(i.isNumber){return o(Math.min(e,t),Math.max(e,t),i)}var r=String.fromCharCode(Math.min(e,t));var n=String.fromCharCode(Math.max(e,t));return"["+r+"-"+n+"]"}function toSequence(e,t,r){var n="",i="";if(t.greater.length){n=t.greater.join("|")}if(t.lesser.length){i="-("+t.lesser.join("|")+")"}var a=n&&i?n+"|"+i:n||i;if(r.capture){return"("+a+")"}return a}function zeros(e,t){if(t.isPadded){var r=String(e);var n=r.length;var i="";if(r.charAt(0)==="-"){i="-";r=r.slice(1)}var a=t.maxLength-n;var o=s("0",a);e=i+o+r}if(t.stringify){return String(e)}return e}function toNumber(e){return Number(e)||0}function isPadded(e){return/^-?0\d/.test(e)}function isValid(e,t){return(isValidNumber(e)||isValidLetter(e))&&(isValidNumber(t)||isValidLetter(t))}function isValidLetter(e){return typeof e==="string"&&e.length===1&&/^\w+$/.test(e)}function isValidNumber(e){return i(e)&&!/\./.test(e)}e.exports=fillRange},function(e,t,r){var n=r(56);var i=Object.prototype.toString;e.exports=function kindOf(e){if(typeof e==="undefined"){return"undefined"}if(e===null){return"null"}if(e===true||e===false||e instanceof Boolean){return"boolean"}if(typeof e==="string"||e instanceof String){return"string"}if(typeof e==="number"||e instanceof Number){return"number"}if(typeof e==="function"||e instanceof Function){return"function"}if(typeof Array.isArray!=="undefined"&&Array.isArray(e)){return"array"}if(e instanceof RegExp){return"regexp"}if(e instanceof Date){return"date"}var t=i.call(e);if(t==="[object RegExp]"){return"regexp"}if(t==="[object Date]"){return"date"}if(t==="[object Arguments]"){return"arguments"}if(t==="[object Error]"){return"error"}if(t==="[object Promise]"){return"promise"}if(n(e)){return"buffer"}if(t==="[object Set]"){return"set"}if(t==="[object WeakSet]"){return"weakset"}if(t==="[object Map]"){return"map"}if(t==="[object WeakMap]"){return"weakmap"}if(t==="[object Symbol]"){return"symbol"}if(t==="[object Int8Array]"){return"int8array"}if(t==="[object Uint8Array]"){return"uint8array"}if(t==="[object Uint8ClampedArray]"){return"uint8clampedarray"}if(t==="[object Int16Array]"){return"int16array"}if(t==="[object Uint16Array]"){return"uint16array"}if(t==="[object Int32Array]"){return"int32array"}if(t==="[object Uint32Array]"){return"uint32array"}if(t==="[object Float32Array]"){return"float32array"}if(t==="[object Float64Array]"){return"float64array"}return"object"}},,function(e,t,r){"use strict";var n=r(354);var i=r(278);var a=e.exports=new i;a.addTheme("ASCII",{preProgressbar:"[",postProgressbar:"]",progressbarTheme:{complete:"#",remaining:"."},activityIndicatorTheme:"-\\|/",preSubsection:">"});a.addTheme("colorASCII",a.getTheme("ASCII"),{progressbarTheme:{preComplete:n.color("inverse"),complete:" ",postComplete:n.color("stopInverse"),preRemaining:n.color("brightBlack"),remaining:".",postRemaining:n.color("reset")}});a.addTheme("brailleSpinner",{preProgressbar:"⸨",postProgressbar:"⸩",progressbarTheme:{complete:"░",remaining:"⠂"},activityIndicatorTheme:"⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏",preSubsection:">"});a.addTheme("colorBrailleSpinner",a.getTheme("brailleSpinner"),{progressbarTheme:{preComplete:n.color("inverse"),complete:" ",postComplete:n.color("stopInverse"),preRemaining:n.color("brightBlack"),remaining:"░",postRemaining:n.color("reset")}});a.setDefault({},"ASCII");a.setDefault({hasColor:true},"colorASCII");a.setDefault({platform:"darwin",hasUnicode:true},"brailleSpinner");a.setDefault({platform:"darwin",hasUnicode:true,hasColor:true},"colorBrailleSpinner")},,,,,,,,,,function(e,t,r){var n=r(790);t.wordBoundary=function(){return{type:n.POSITION,value:"b"}};t.nonWordBoundary=function(){return{type:n.POSITION,value:"B"}};t.begin=function(){return{type:n.POSITION,value:"^"}};t.end=function(){return{type:n.POSITION,value:"$"}}},,,,,,,function(e,t,r){"use strict";var n=r(542);var i=r(551);e.exports=function unset(e,t){if(!n(e)){throw new TypeError("expected an object.")}if(e.hasOwnProperty(t)){delete e[t];return true}if(i(e,t)){var r=t.split(".");var a=r.pop();while(r.length&&r[r.length-1].slice(-1)==="\\"){a=r.pop().slice(0,-1)+"."+a}while(r.length)e=e[t=r.shift()];return delete e[a]}return true}},,,,,,,function(e,t,r){"use strict";var n=r(156);e.exports=function(){return i.newThemeSet()};var i={};i.baseTheme=r(609);i.newTheme=function(e,t){if(!t){t=e;e=this.baseTheme}return n({},e,t)};i.getThemeNames=function(){return Object.keys(this.themes)};i.addTheme=function(e,t,r){this.themes[e]=this.newTheme(t,r)};i.addToAllThemes=function(e){var t=this.themes;Object.keys(t).forEach(function(r){n(t[r],e)});n(this.baseTheme,e)};i.getTheme=function(e){if(!this.themes[e])throw this.newMissingThemeError(e);return this.themes[e]};i.setDefault=function(e,t){if(t==null){t=e;e={}}var r=e.platform==null?"fallback":e.platform;var n=!!e.hasUnicode;var i=!!e.hasColor;if(!this.defaults[r])this.defaults[r]={true:{},false:{}};this.defaults[r][n][i]=t};i.getDefault=function(e){if(!e)e={};var t=e.platform||process.platform;var r=this.defaults[t]||this.defaults.fallback;var i=!!e.hasUnicode;var a=!!e.hasColor;if(!r)throw this.newMissingDefaultThemeError(t,i,a);if(!r[i][a]){if(i&&a&&r[!i][a]){i=false}else if(i&&a&&r[i][!a]){a=false}else if(i&&a&&r[!i][!a]){i=false;a=false}else if(i&&!a&&r[!i][a]){i=false}else if(!i&&a&&r[i][!a]){a=false}else if(r===this.defaults.fallback){throw this.newMissingDefaultThemeError(t,i,a)}}if(r[i][a]){return this.getTheme(r[i][a])}else{return this.getDefault(n({},e,{platform:"fallback"}))}};i.newMissingThemeError=function newMissingThemeError(e){var t=new Error('Could not find a gauge theme named "'+e+'"');Error.captureStackTrace.call(t,newMissingThemeError);t.theme=e;t.code="EMISSINGTHEME";return t};i.newMissingDefaultThemeError=function newMissingDefaultThemeError(e,t,r){var n=new Error("Could not find a gauge theme for your platform/unicode/color use combo:\n"+" platform = "+e+"\n"+" hasUnicode = "+t+"\n"+" hasColor = "+r);Error.captureStackTrace.call(n,newMissingDefaultThemeError);n.platform=e;n.hasUnicode=t;n.hasColor=r;n.code="EMISSINGTHEME";return n};i.newThemeSet=function(){var e=function(t){return e.getDefault(t)};return n(e,i,{themes:n({},this.themes),baseTheme:n({},this.baseTheme),defaults:JSON.parse(JSON.stringify(this.defaults||{}))})}},function(e,t,r){"use strict";var n=r(766);e.exports=function isExtendable(e){return n(e)||typeof e==="function"||Array.isArray(e)}},,,,function(e){"use strict";e.exports=function union(e){if(!Array.isArray(e)){throw new TypeError("arr-union expects the first argument to be an array.")}var t=arguments.length;var r=0;while(++r=0){continue}e.push(a)}}return e}},,function(e,t,r){t=e.exports=r(60);t.log=log;t.formatArgs=formatArgs;t.save=save;t.load=load;t.useColors=useColors;t.storage="undefined"!=typeof chrome&&"undefined"!=typeof chrome.storage?chrome.storage.local:localstorage();t.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"];function useColors(){if(typeof window!=="undefined"&&window.process&&window.process.type==="renderer"){return true}return typeof document!=="undefined"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window!=="undefined"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}t.formatters.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}};function formatArgs(e){var r=this.useColors;e[0]=(r?"%c":"")+this.namespace+(r?" %c":" ")+e[0]+(r?"%c ":" ")+"+"+t.humanize(this.diff);if(!r)return;var n="color: "+this.color;e.splice(1,0,n,"color: inherit");var i=0;var a=0;e[0].replace(/%[a-zA-Z%]/g,function(e){if("%%"===e)return;i++;if("%c"===e){a=i}});e.splice(a,0,n)}function log(){return"object"===typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function save(e){try{if(null==e){t.storage.removeItem("debug")}else{t.storage.debug=e}}catch(e){}}function load(){var e;try{e=t.storage.debug}catch(e){}if(!e&&typeof process!=="undefined"&&"env"in process){e=process.env.DEBUG}return e}t.enable(load());function localstorage(){try{return window.localStorage}catch(e){}}},function(e){"use strict";var t=Object.prototype.hasOwnProperty;e.exports=MapCache;function MapCache(e){this.__data__=e||{}}MapCache.prototype.set=function mapSet(e,t){if(e!=="__proto__"){this.__data__[e]=t}return this};MapCache.prototype.get=function mapGet(e){return e==="__proto__"?undefined:this.__data__[e]};MapCache.prototype.has=function mapHas(e){return e!=="__proto__"&&t.call(this.__data__,e)};MapCache.prototype.del=function mapDelete(e){return this.has(e)&&delete this.__data__[e]}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:true});var n=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol==="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.default=parse;var i=r(320);var a=_interopRequireWildcard(i);function _interopRequireWildcard(e){if(e&&e.__esModule){return e}else{var t={};if(e!=null){for(var r in e){if(Object.prototype.hasOwnProperty.call(e,r))t[r]=e[r]}}t.default=e;return t}}var s=void 0;var o=void 0;var u=void 0;var f=void 0;var c=void 0;var l=void 0;var h=void 0;var p=void 0;var v=void 0;function parse(e,t){s=String(e);o="start";u=[];f=0;c=1;l=0;h=undefined;p=undefined;v=undefined;do{h=lex();w[o]()}while(h.type!=="eof");if(typeof t==="function"){return internalize({"":v},"",t)}return v}function internalize(e,t,r){var i=e[t];if(i!=null&&(typeof i==="undefined"?"undefined":n(i))==="object"){for(var a in i){var s=internalize(i,a,r);if(s===undefined){delete i[a]}else{i[a]=s}}}return r.call(e,t,i)}var d=void 0;var y=void 0;var g=void 0;var b=void 0;var m=void 0;function lex(){d="default";y="";g=false;b=1;for(;;){m=peek();var e=_[d]();if(e){return e}}}function peek(){if(s[f]){return String.fromCodePoint(s.codePointAt(f))}}function read(){var e=peek();if(e==="\n"){c++;l=0}else if(e){l+=e.length}else{l++}if(e){f+=e.length}return e}var _={default:function _default(){switch(m){case"\t":case"\v":case"\f":case" ":case" ":case"\ufeff":case"\n":case"\r":case"\u2028":case"\u2029":read();return;case"/":read();d="comment";return;case undefined:read();return newToken("eof")}if(a.isSpaceSeparator(m)){read();return}return _[o]()},comment:function comment(){switch(m){case"*":read();d="multiLineComment";return;case"/":read();d="singleLineComment";return}throw invalidChar(read())},multiLineComment:function multiLineComment(){switch(m){case"*":read();d="multiLineCommentAsterisk";return;case undefined:throw invalidChar(read())}read()},multiLineCommentAsterisk:function multiLineCommentAsterisk(){switch(m){case"*":read();return;case"/":read();d="default";return;case undefined:throw invalidChar(read())}read();d="multiLineComment"},singleLineComment:function singleLineComment(){switch(m){case"\n":case"\r":case"\u2028":case"\u2029":read();d="default";return;case undefined:read();return newToken("eof")}read()},value:function value(){switch(m){case"{":case"[":return newToken("punctuator",read());case"n":read();literal("ull");return newToken("null",null);case"t":read();literal("rue");return newToken("boolean",true);case"f":read();literal("alse");return newToken("boolean",false);case"-":case"+":if(read()==="-"){b=-1}d="sign";return;case".":y=read();d="decimalPointLeading";return;case"0":y=read();d="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":y=read();d="decimalInteger";return;case"I":read();literal("nfinity");return newToken("numeric",Infinity);case"N":read();literal("aN");return newToken("numeric",NaN);case'"':case"'":g=read()==='"';y="";d="string";return}throw invalidChar(read())},identifierNameStartEscape:function identifierNameStartEscape(){if(m!=="u"){throw invalidChar(read())}read();var e=unicodeEscape();switch(e){case"$":case"_":break;default:if(!a.isIdStartChar(e)){throw invalidIdentifier()}break}y+=e;d="identifierName"},identifierName:function identifierName(){switch(m){case"$":case"_":case"‌":case"‍":y+=read();return;case"\\":read();d="identifierNameEscape";return}if(a.isIdContinueChar(m)){y+=read();return}return newToken("identifier",y)},identifierNameEscape:function identifierNameEscape(){if(m!=="u"){throw invalidChar(read())}read();var e=unicodeEscape();switch(e){case"$":case"_":case"‌":case"‍":break;default:if(!a.isIdContinueChar(e)){throw invalidIdentifier()}break}y+=e;d="identifierName"},sign:function sign(){switch(m){case".":y=read();d="decimalPointLeading";return;case"0":y=read();d="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":y=read();d="decimalInteger";return;case"I":read();literal("nfinity");return newToken("numeric",b*Infinity);case"N":read();literal("aN");return newToken("numeric",NaN)}throw invalidChar(read())},zero:function zero(){switch(m){case".":y+=read();d="decimalPoint";return;case"e":case"E":y+=read();d="decimalExponent";return;case"x":case"X":y+=read();d="hexadecimal";return}return newToken("numeric",b*0)},decimalInteger:function decimalInteger(){switch(m){case".":y+=read();d="decimalPoint";return;case"e":case"E":y+=read();d="decimalExponent";return}if(a.isDigit(m)){y+=read();return}return newToken("numeric",b*Number(y))},decimalPointLeading:function decimalPointLeading(){if(a.isDigit(m)){y+=read();d="decimalFraction";return}throw invalidChar(read())},decimalPoint:function decimalPoint(){switch(m){case"e":case"E":y+=read();d="decimalExponent";return}if(a.isDigit(m)){y+=read();d="decimalFraction";return}return newToken("numeric",b*Number(y))},decimalFraction:function decimalFraction(){switch(m){case"e":case"E":y+=read();d="decimalExponent";return}if(a.isDigit(m)){y+=read();return}return newToken("numeric",b*Number(y))},decimalExponent:function decimalExponent(){switch(m){case"+":case"-":y+=read();d="decimalExponentSign";return}if(a.isDigit(m)){y+=read();d="decimalExponentInteger";return}throw invalidChar(read())},decimalExponentSign:function decimalExponentSign(){if(a.isDigit(m)){y+=read();d="decimalExponentInteger";return}throw invalidChar(read())},decimalExponentInteger:function decimalExponentInteger(){if(a.isDigit(m)){y+=read();return}return newToken("numeric",b*Number(y))},hexadecimal:function hexadecimal(){if(a.isHexDigit(m)){y+=read();d="hexadecimalInteger";return}throw invalidChar(read())},hexadecimalInteger:function hexadecimalInteger(){if(a.isHexDigit(m)){y+=read();return}return newToken("numeric",b*Number(y))},string:function string(){switch(m){case"\\":read();y+=escape();return;case'"':if(g){read();return newToken("string",y)}y+=read();return;case"'":if(!g){read();return newToken("string",y)}y+=read();return;case"\n":case"\r":throw invalidChar(read());case"\u2028":case"\u2029":separatorChar(m);break;case undefined:throw invalidChar(read())}y+=read()},start:function start(){switch(m){case"{":case"[":return newToken("punctuator",read())}d="value"},beforePropertyName:function beforePropertyName(){switch(m){case"$":case"_":y=read();d="identifierName";return;case"\\":read();d="identifierNameStartEscape";return;case"}":return newToken("punctuator",read());case'"':case"'":g=read()==='"';d="string";return}if(a.isIdStartChar(m)){y+=read();d="identifierName";return}throw invalidChar(read())},afterPropertyName:function afterPropertyName(){if(m===":"){return newToken("punctuator",read())}throw invalidChar(read())},beforePropertyValue:function beforePropertyValue(){d="value"},afterPropertyValue:function afterPropertyValue(){switch(m){case",":case"}":return newToken("punctuator",read())}throw invalidChar(read())},beforeArrayValue:function beforeArrayValue(){if(m==="]"){return newToken("punctuator",read())}d="value"},afterArrayValue:function afterArrayValue(){switch(m){case",":case"]":return newToken("punctuator",read())}throw invalidChar(read())},end:function end(){throw invalidChar(read())}};function newToken(e,t){return{type:e,value:t,line:c,column:l}}function literal(e){var t=true;var r=false;var n=undefined;try{for(var i=e[Symbol.iterator](),a;!(t=(a=i.next()).done);t=true){var s=a.value;var o=peek();if(o!==s){throw invalidChar(read())}read()}}catch(e){r=true;n=e}finally{try{if(!t&&i.return){i.return()}}finally{if(r){throw n}}}}function escape(){var e=peek();switch(e){case"b":read();return"\b";case"f":read();return"\f";case"n":read();return"\n";case"r":read();return"\r";case"t":read();return"\t";case"v":read();return"\v";case"0":read();if(a.isDigit(peek())){throw invalidChar(read())}return"\0";case"x":read();return hexEscape();case"u":read();return unicodeEscape();case"\n":case"\u2028":case"\u2029":read();return"";case"\r":read();if(peek()==="\n"){read()}return"";case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":throw invalidChar(read());case undefined:throw invalidChar(read())}return read()}function hexEscape(){var e="";var t=peek();if(!a.isHexDigit(t)){throw invalidChar(read())}e+=read();t=peek();if(!a.isHexDigit(t)){throw invalidChar(read())}e+=read();return String.fromCodePoint(parseInt(e,16))}function unicodeEscape(){var e="";var t=4;while(t-- >0){var r=peek();if(!a.isHexDigit(r)){throw invalidChar(read())}e+=read()}return String.fromCodePoint(parseInt(e,16))}var w={start:function start(){if(h.type==="eof"){throw invalidEOF()}push()},beforePropertyName:function beforePropertyName(){switch(h.type){case"identifier":case"string":p=h.value;o="afterPropertyName";return;case"punctuator":pop();return;case"eof":throw invalidEOF()}},afterPropertyName:function afterPropertyName(){if(h.type==="eof"){throw invalidEOF()}o="beforePropertyValue"},beforePropertyValue:function beforePropertyValue(){if(h.type==="eof"){throw invalidEOF()}push()},beforeArrayValue:function beforeArrayValue(){if(h.type==="eof"){throw invalidEOF()}if(h.type==="punctuator"&&h.value==="]"){pop();return}push()},afterPropertyValue:function afterPropertyValue(){if(h.type==="eof"){throw invalidEOF()}switch(h.value){case",":o="beforePropertyName";return;case"}":pop()}},afterArrayValue:function afterArrayValue(){if(h.type==="eof"){throw invalidEOF()}switch(h.value){case",":o="beforeArrayValue";return;case"]":pop()}},end:function end(){}};function push(){var e=void 0;switch(h.type){case"punctuator":switch(h.value){case"{":e={};break;case"[":e=[];break}break;case"null":case"boolean":case"numeric":case"string":e=h.value;break}if(v===undefined){v=e}else{var t=u[u.length-1];if(Array.isArray(t)){t.push(e)}else{t[p]=e}}if(e!==null&&(typeof e==="undefined"?"undefined":n(e))==="object"){u.push(e);if(Array.isArray(e)){o="beforeArrayValue"}else{o="beforePropertyName"}}else{var r=u[u.length-1];if(r==null){o="end"}else if(Array.isArray(r)){o="afterArrayValue"}else{o="afterPropertyValue"}}}function pop(){u.pop();var e=u[u.length-1];if(e==null){o="end"}else if(Array.isArray(e)){o="afterArrayValue"}else{o="afterPropertyValue"}}function invalidChar(e){if(e===undefined){return syntaxError("JSON5: invalid end of input at "+c+":"+l)}return syntaxError("JSON5: invalid character '"+formatChar(e)+"' at "+c+":"+l)}function invalidEOF(){return syntaxError("JSON5: invalid end of input at "+c+":"+l)}function invalidIdentifier(){l-=5;return syntaxError("JSON5: invalid identifier character at "+c+":"+l)}function separatorChar(e){console.warn("JSON5: '"+e+"' is not valid ECMAScript; consider escaping")}function formatChar(e){var t={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};if(t[e]){return t[e]}if(e<" "){var r=e.charCodeAt(0).toString(16);return"\\x"+("00"+r).substring(r.length)}return e}function syntaxError(e){var t=new SyntaxError(e);t.lineNumber=c;t.columnNumber=l;return t}e.exports=t["default"]},function(e,t,r){const n=r(589);e.exports=function(e,t,r){const i=n.extname(e);let a=e,s=0;while(a in r&&r[a]!==t)a=e.substr(0,e.length-i.length)+ ++s+i;r[a]=t;return a}},function(e,t,r){"use strict";var n=r(155);var i={get:"function",set:"function",configurable:"boolean",enumerable:"boolean"};function isAccessorDescriptor(e,t){if(typeof t==="string"){var r=Object.getOwnPropertyDescriptor(e,t);return typeof r!=="undefined"}if(n(e)!=="object"){return false}if(has(e,"value")||has(e,"writable")){return false}if(!has(e,"get")||typeof e.get!=="function"){return false}if(has(e,"set")&&typeof e[a]!=="function"&&typeof e[a]!=="undefined"){return false}for(var a in e){if(!i.hasOwnProperty(a)){continue}if(n(e[a])===i[a]){continue}if(typeof e[a]!=="undefined"){return false}}return true}function has(e,t){return{}.hasOwnProperty.call(e,t)}e.exports=isAccessorDescriptor},,function(e,t,r){t.SourceMapGenerator=r(950).SourceMapGenerator;t.SourceMapConsumer=r(79).SourceMapConsumer;t.SourceNode=r(642).SourceNode},,function(e,t,r){var n=r(56);var i=Object.prototype.toString;e.exports=function kindOf(e){if(typeof e==="undefined"){return"undefined"}if(e===null){return"null"}if(e===true||e===false||e instanceof Boolean){return"boolean"}if(typeof e==="string"||e instanceof String){return"string"}if(typeof e==="number"||e instanceof Number){return"number"}if(typeof e==="function"||e instanceof Function){return"function"}if(typeof Array.isArray!=="undefined"&&Array.isArray(e)){return"array"}if(e instanceof RegExp){return"regexp"}if(e instanceof Date){return"date"}var t=i.call(e);if(t==="[object RegExp]"){return"regexp"}if(t==="[object Date]"){return"date"}if(t==="[object Arguments]"){return"arguments"}if(t==="[object Error]"){return"error"}if(n(e)){return"buffer"}if(t==="[object Set]"){return"set"}if(t==="[object WeakSet]"){return"weakset"}if(t==="[object Map]"){return"map"}if(t==="[object WeakMap]"){return"weakmap"}if(t==="[object Symbol]"){return"symbol"}if(t==="[object Int8Array]"){return"int8array"}if(t==="[object Uint8Array]"){return"uint8array"}if(t==="[object Uint8ClampedArray]"){return"uint8clampedarray"}if(t==="[object Int16Array]"){return"int16array"}if(t==="[object Uint16Array]"){return"uint16array"}if(t==="[object Int32Array]"){return"int32array"}if(t==="[object Uint32Array]"){return"uint32array"}if(t==="[object Float32Array]"){return"float32array"}if(t==="[object Float64Array]"){return"float64array"}return"object"}},function(e,t,r){"use strict";var n=r(706);var i=r(177);var a=r(158);var s=r(732);var o=1024*64;var u={};e.exports=function(e,t){if(!Array.isArray(e)){return makeRe(e,t)}return makeRe(e.join("|"),t)};function makeRe(e,t){if(e instanceof RegExp){return e}if(typeof e!=="string"){throw new TypeError("expected a string")}if(e.length>o){throw new Error("expected pattern to be less than "+o+" characters")}var r=e;if(!t||t&&t.cache!==false){r=createKey(e,t);if(u.hasOwnProperty(r)){return u[r]}}var i=a({},t);if(i.contains===true){if(i.negate===true){i.strictNegate=false}else{i.strict=false}}if(i.strict===false){i.strictOpen=false;i.strictClose=false}var f=i.strictOpen!==false?"^":"";var c=i.strictClose!==false?"$":"";var l=i.flags||"";var h;if(i.nocase===true&&!/i/.test(l)){l+="i"}try{if(i.negate||typeof i.strictNegate==="boolean"){e=s.create(e,i)}var p=f+"(?:"+e+")"+c;h=new RegExp(p,l);if(i.safe===true&&n(h)===false){throw new Error("potentially unsafe regular expression: "+h.source)}}catch(n){if(i.strictErrors===true||i.safe===true){n.key=r;n.pattern=e;n.originalOptions=t;n.createdOptions=i;throw n}try{h=new RegExp("^"+e.replace(/(\W)/g,"\\$1")+"$")}catch(e){h=/.^/}}if(i.cache!==false){memoize(h,r,e,i)}return h}function memoize(e,t,r,n){i(e,"cached",true);i(e,"pattern",r);i(e,"options",n);i(e,"key",t);u[t]=e}function createKey(e,t){if(!t)return e;var r=e;for(var n in t){if(t.hasOwnProperty(n)){r+=";"+n+"="+String(t[n])}}return r}e.exports.makeRe=makeRe},,,,function(e){e.exports=__webpack_require__(417)},function(e){"use strict";e.exports=function copyDescriptor(e,t,r,n){if(!isObject(t)&&typeof t!=="function"){n=r;r=t;t=e}if(!isObject(e)&&typeof e!=="function"){throw new TypeError("expected the first argument to be an object")}if(!isObject(t)&&typeof t!=="function"){throw new TypeError("expected provider to be an object")}if(typeof n!=="string"){n=r}if(typeof r!=="string"){throw new TypeError("expected key to be a string")}if(!(r in t)){throw new Error('property "'+r+'" does not exist')}var i=Object.getOwnPropertyDescriptor(t,r);if(i)Object.defineProperty(e,n,i)};function isObject(e){return{}.toString.call(e)==="[object Object]"}},function(e){"use strict";function getRemainingRequest(e){if(e.remainingRequest){return e.remainingRequest}const t=e.loaders.slice(e.loaderIndex+1).map(e=>e.request).concat([e.resource]);return t.join("!")}e.exports=getRemainingRequest},,,,,,function(e,t,r){"use strict";var n=r(293);var i=e.exports;i.isNode=function(e){return n(e)==="object"&&e.isNode===true};i.noop=function(e){append(this,"",e)};i.identity=function(e){append(this,e.val,e)};i.append=function(e){return function(t){append(this,e,t)}};i.toNoop=function(e,t){if(t){e.nodes=t}else{delete e.nodes;e.type="text";e.val=""}};i.visit=function(e,t){assert(i.isNode(e),"expected node to be an instance of Node");assert(isFunction(t),"expected a visitor function");t(e);return e.nodes?i.mapVisit(e,t):e};i.mapVisit=function(e,t){assert(i.isNode(e),"expected node to be an instance of Node");assert(isArray(e.nodes),"expected node.nodes to be an array");assert(isFunction(t),"expected a visitor function");for(var r=0;r0};i.isInside=function(e,t,r){assert(i.isNode(t),"expected node to be an instance of Node");assert(isObject(e),"expected state to be an object");if(Array.isArray(r)){for(var a=0;a0?",":"")+i+serialize(s,t,r+t)}return n+((t?"\n"+r:"")+"]")}function serializeObject(e,t,r){var n="{";var i=t?"\n"+r+t:"";var a=Object.keys(e);for(var s=0;s0?",":"")+i+u+":"+(t?" ":"")+serialize(e[o],t,r+t)}return n+((t?"\n"+r:"")+"}")}function serialize(e,t,r){if(e===Infinity)return"Infinity";if(e instanceof Date)return"new Date("+e.getTime()+")";if(e instanceof RegExp)return e.toString();if(typeof e==="number"&&isNaN(e))return"NaN";if(Array.isArray(e))return serializeArray(e,t,r);if(e===null)return"null";if(typeof e==="object")return serializeObject(e,t,r);return JSON.stringify(e)}function dataToNamedExports(e,t){if(t===void 0){t={}}var r=t.compact?"":"indent"in t?t.indent:"\t";var n=t.compact?"":" ";var i=t.compact?"":"\n";var a=t.preferConst?"const":"var";if(t.namedExports===false||typeof e!=="object"||Array.isArray(e)||e===null)return"export default"+n+serialize(e,t.compact?null:r,"")+";";var s="";var o=[];var u=Object.keys(e);for(var f=0;f0)this.tail.next=t;else this.head=t;this.tail=t;++this.length};BufferList.prototype.unshift=function unshift(e){var t={data:e,next:this.head};if(this.length===0)this.tail=t;this.head=t;++this.length};BufferList.prototype.shift=function shift(){if(this.length===0)return;var e=this.head.data;if(this.length===1)this.head=this.tail=null;else this.head=this.head.next;--this.length;return e};BufferList.prototype.clear=function clear(){this.head=this.tail=null;this.length=0};BufferList.prototype.join=function join(e){if(this.length===0)return"";var t=this.head;var r=""+t.data;while(t=t.next){r+=e+t.data}return r};BufferList.prototype.concat=function concat(e){if(this.length===0)return n.alloc(0);if(this.length===1)return this.head.data;var t=n.allocUnsafe(e>>>0);var r=this.head;var i=0;while(r){copyBuffer(r.data,t,i);i+=r.data.length;r=r.next}return t};return BufferList}();if(i&&i.inspect&&i.inspect.custom){e.exports.prototype[i.inspect.custom]=function(){var e=i.inspect({length:this.length});return this.constructor.name+" "+e}}},,,,function(e){"use strict";e.exports=setInterval},,,,,,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:true});t.isSpaceSeparator=isSpaceSeparator;t.isIdStartChar=isIdStartChar;t.isIdContinueChar=isIdContinueChar;t.isDigit=isDigit;t.isHexDigit=isHexDigit;var n=r(665);var i=_interopRequireWildcard(n);function _interopRequireWildcard(e){if(e&&e.__esModule){return e}else{var t={};if(e!=null){for(var r in e){if(Object.prototype.hasOwnProperty.call(e,r))t[r]=e[r]}}t.default=e;return t}}function isSpaceSeparator(e){return i.Space_Separator.test(e)}function isIdStartChar(e){return e>="a"&&e<="z"||e>="A"&&e<="Z"||e==="$"||e==="_"||i.ID_Start.test(e)}function isIdContinueChar(e){return e>="a"&&e<="z"||e>="A"&&e<="Z"||e>="0"&&e<="9"||e==="$"||e==="_"||e==="‌"||e==="‍"||i.ID_Continue.test(e)}function isDigit(e){return/[0-9]/.test(e)}function isHexDigit(e){return/[0-9A-Fa-f]/.test(e)}},function(e,t,r){"use strict";var n=r(64);var i=r(213);e.exports=function mapVisit(e,t,r){if(isObject(r)){return i.apply(null,arguments)}if(!Array.isArray(r)){throw new TypeError("expected an array: "+n.inspect(r))}var a=[].slice.call(arguments,3);for(var s=0;s1)return true;for(var a=0;athis.maxLength)return t();if(!this.stat&&g(this.cache,r)){var a=this.cache[r];if(Array.isArray(a))a="DIR";if(!i||a==="DIR")return t(null,a);if(i&&a==="FILE")return t()}var s;var o=this.statCache[r];if(o!==undefined){if(o===false)return t(null,o);else{var u=o.isDirectory()?"DIR":"FILE";if(i&&u==="FILE")return t();else return t(null,u,o)}}var f=this;var c=b("stat\0"+r,lstatcb_);if(c)n.lstat(r,c);function lstatcb_(i,a){if(a&&a.isSymbolicLink()){return n.stat(r,function(n,i){if(n)f._stat2(e,r,null,a,t);else f._stat2(e,r,n,i,t)})}else{f._stat2(e,r,i,a,t)}}};Glob.prototype._stat2=function(e,t,r,n,i){if(r&&(r.code==="ENOENT"||r.code==="ENOTDIR")){this.statCache[t]=false;return i()}var a=e.slice(-1)==="/";this.statCache[t]=n;if(t.slice(-1)==="/"&&n&&!n.isDirectory())return i(null,false,n);var s=true;if(n)s=n.isDirectory()?"DIR":"FILE";this.cache[t]=this.cache[t]||s;if(a&&s==="FILE")return i();return i(null,s,n)}},,,,function(e,t,r){"use strict";var n=r(64);var i=r(283);var a=r(71);var s=r(246);var o=r(542);var u=e.exports;u.isObject=function isObject(e){return o(e)||typeof e==="function"};u.has=function has(e,t){t=u.arrayify(t);var r=t.length;if(u.isObject(e)){for(var n in e){if(t.indexOf(n)>-1){return true}}var i=u.nativeKeys(e);return u.has(i,t)}if(Array.isArray(e)){var a=e;while(r--){if(a.indexOf(t[r])>-1){return true}}return false}throw new TypeError("expected an array or object.")};u.hasAll=function hasAll(e,t){t=u.arrayify(t);var r=t.length;while(r--){if(!u.has(e,t[r])){return false}}return true};u.arrayify=function arrayify(e){return e?Array.isArray(e)?e:[e]:[]};u.noop=function noop(){return};u.identity=function identity(e){return e};u.hasConstructor=function hasConstructor(e){return u.isObject(e)&&typeof e.constructor!=="undefined"};u.nativeKeys=function nativeKeys(e){if(!u.hasConstructor(e))return[];var t=Object.getOwnPropertyNames(e);if("caller"in e)t.push("caller");return t};u.getDescriptor=function getDescriptor(e,t){if(!u.isObject(e)){throw new TypeError("expected an object.")}if(typeof t!=="string"){throw new TypeError("expected key to be a string.")}return Object.getOwnPropertyDescriptor(e,t)};u.copyDescriptor=function copyDescriptor(e,t,r){if(!u.isObject(e)){throw new TypeError("expected receiving object to be an object.")}if(!u.isObject(t)){throw new TypeError("expected providing object to be an object.")}if(typeof r!=="string"){throw new TypeError("expected name to be a string.")}var n=u.getDescriptor(t,r);if(n)Object.defineProperty(e,r,n)};u.copy=function copy(e,t,r){if(!u.isObject(e)){throw new TypeError("expected receiving object to be an object.")}if(!u.isObject(t)){throw new TypeError("expected providing object to be an object.")}var n=Object.getOwnPropertyNames(t);var i=Object.keys(t);var s=n.length,o;r=u.arrayify(r);while(s--){o=n[s];if(u.has(i,o)){a(e,o,t[o])}else if(!(o in e)&&!u.has(r,o)){u.copyDescriptor(e,t,o)}}};u.inherit=function inherit(e,t,r){if(!u.isObject(e)){throw new TypeError("expected receiving object to be an object.")}if(!u.isObject(t)){throw new TypeError("expected providing object to be an object.")}var n=[];for(var i in t){n.push(i);e[i]=t[i]}n=n.concat(u.arrayify(r));var a=t.prototype||t;var s=e.prototype||e;u.copy(s,a,n)};u.extend=function(){return s.apply(null,arguments)};u.bubble=function(e,t){t=t||[];e.bubble=function(r,n){if(Array.isArray(n)){t=i([],t,n)}var a=t.length;var s=-1;while(++ss.test(e));const u={};function encodeStringToEmoji(e,t){if(u[e]){return u[e]}t=t||1;const r=[];do{if(!o.length){throw new Error("Ran out of emoji")}const e=Math.floor(Math.random()*o.length);r.push(o[e]);o.splice(e,1)}while(--t>0);const n=r.join("");u[e]=n;return n}function interpolateName(e,t,r){let i;if(typeof t==="function"){i=t(e.resourcePath)}else{i=t||"[hash].[ext]"}const s=r.context;const o=r.content;const u=r.regExp;let f="bin";let c="file";let l="";let h="";if(e.resourcePath){const t=n.parse(e.resourcePath);let r=e.resourcePath;if(t.ext){f=t.ext.substr(1)}if(t.dir){c=t.name;r=t.dir+n.sep}if(typeof s!=="undefined"){l=n.relative(s,r+"_").replace(/\\/g,"/").replace(/\.\.(\/)?/g,"_$1");l=l.substr(0,l.length-1)}else{l=r.replace(/\\/g,"/").replace(/\.\.(\/)?/g,"_$1")}if(l.length===1){l=""}else if(l.length>1){h=n.basename(l)}}let p=i;if(o){p=p.replace(/\[(?:([^:\]]+):)?(?:hash|contenthash)(?::([a-z]+\d*))?(?::(\d+))?\]/gi,(e,t,r,n)=>a(o,t,r,parseInt(n,10))).replace(/\[emoji(?::(\d+))?\]/gi,(e,t)=>encodeStringToEmoji(o,parseInt(t,10)))}p=p.replace(/\[ext\]/gi,()=>f).replace(/\[name\]/gi,()=>c).replace(/\[path\]/gi,()=>l).replace(/\[folder\]/gi,()=>h);if(u&&e.resourcePath){const t=e.resourcePath.match(new RegExp(u));t&&t.forEach((e,t)=>{p=p.replace(new RegExp("\\["+t+"\\]","ig"),e)})}if(typeof e.options==="object"&&typeof e.options.customInterpolateName==="function"){p=e.options.customInterpolateName.call(e,p,t,r)}return p}e.exports=interpolateName},,function(e,t,r){"use strict";var n=r(577);var i={configurable:"boolean",enumerable:"boolean",writable:"boolean"};function isDataDescriptor(e,t){if(n(e)!=="object"){return false}if(typeof t==="string"){var r=Object.getOwnPropertyDescriptor(e,t);return typeof r!=="undefined"}if(!("value"in e)&&!("writable"in e)){return false}for(var a in e){if(a==="value")continue;if(!i.hasOwnProperty(a)){continue}if(n(e[a])===i[a]){continue}if(typeof e[a]!=="undefined"){return false}}return true}e.exports=isDataDescriptor},,function(e){var t={}.toString;e.exports=Array.isArray||function(e){return t.call(e)=="[object Array]"}},,,,,,function(e){e.exports={assert:true,async_hooks:">= 8",buffer_ieee754:"< 0.9.7",buffer:true,child_process:true,cluster:true,console:true,constants:true,crypto:true,_debugger:"< 8",dgram:true,dns:true,domain:true,events:true,freelist:"< 6",fs:true,"fs/promises":">= 10 && < 10.1",_http_agent:">= 0.11.1",_http_client:">= 0.11.1",_http_common:">= 0.11.1",_http_incoming:">= 0.11.1",_http_outgoing:">= 0.11.1",_http_server:">= 0.11.1",http:true,http2:">= 8.8",https:true,inspector:">= 8.0.0",_linklist:"< 8",module:true,net:true,"node-inspect/lib/_inspect":">= 7.6.0","node-inspect/lib/internal/inspect_client":">= 7.6.0","node-inspect/lib/internal/inspect_repl":">= 7.6.0",os:true,path:true,perf_hooks:">= 8.5",process:">= 1",punycode:true,querystring:true,readline:true,repl:true,smalloc:">= 0.11.5 && < 3",_stream_duplex:">= 0.9.4",_stream_transform:">= 0.9.4",_stream_wrap:">= 1.4.1",_stream_passthrough:">= 0.9.4",_stream_readable:">= 0.9.4",_stream_writable:">= 0.9.4",stream:true,string_decoder:true,sys:true,timers:true,_tls_common:">= 0.11.13",_tls_legacy:">= 0.11.3 && < 10",_tls_wrap:">= 0.11.3",tls:true,trace_events:">= 10",tty:true,url:true,util:true,"v8/tools/arguments":">= 10","v8/tools/codemap":[">= 4.4.0 && < 5",">= 5.2.0"],"v8/tools/consarray":[">= 4.4.0 && < 5",">= 5.2.0"],"v8/tools/csvparser":[">= 4.4.0 && < 5",">= 5.2.0"],"v8/tools/logreader":[">= 4.4.0 && < 5",">= 5.2.0"],"v8/tools/profile_view":[">= 4.4.0 && < 5",">= 5.2.0"],"v8/tools/splaytree":[">= 4.4.0 && < 5",">= 5.2.0"],v8:">= 1",vm:true,worker_threads:">= 11.7",zlib:true}},function(e,t,r){var n=r(20);var i=r(491);e.exports=expandTop;var a="\0SLASH"+Math.random()+"\0";var s="\0OPEN"+Math.random()+"\0";var o="\0CLOSE"+Math.random()+"\0";var u="\0COMMA"+Math.random()+"\0";var f="\0PERIOD"+Math.random()+"\0";function numeric(e){return parseInt(e,10)==e?parseInt(e,10):e.charCodeAt(0)}function escapeBraces(e){return e.split("\\\\").join(a).split("\\{").join(s).split("\\}").join(o).split("\\,").join(u).split("\\.").join(f)}function unescapeBraces(e){return e.split(a).join("\\").split(s).join("{").split(o).join("}").split(u).join(",").split(f).join(".")}function parseCommaParts(e){if(!e)return[""];var t=[];var r=i("{","}",e);if(!r)return e.split(",");var n=r.pre;var a=r.body;var s=r.post;var o=n.split(",");o[o.length-1]+="{"+a+"}";var u=parseCommaParts(s);if(s.length){o[o.length-1]+=u.shift();o.push.apply(o,u)}t.push.apply(t,o);return t}function expandTop(e){if(!e)return[];if(e.substr(0,2)==="{}"){e="\\{\\}"+e.substr(2)}return expand(escapeBraces(e),true).map(unescapeBraces)}function identity(e){return e}function embrace(e){return"{"+e+"}"}function isPadded(e){return/^-?0\d/.test(e)}function lte(e,t){return e<=t}function gte(e,t){return e>=t}function expand(e,t){var r=[];var a=i("{","}",e);if(!a||/\$$/.test(a.pre))return[e];var s=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(a.body);var u=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(a.body);var f=s||u;var c=a.body.indexOf(",")>=0;if(!f&&!c){if(a.post.match(/,.*\}/)){e=a.pre+"{"+a.body+o+a.post;return expand(e)}return[e]}var l;if(f){l=a.body.split(/\.\./)}else{l=parseCommaParts(a.body);if(l.length===1){l=expand(l[0],false).map(embrace);if(l.length===1){var h=a.post.length?expand(a.post,false):[""];return h.map(function(e){return a.pre+l[0]+e})}}}var p=a.pre;var h=a.post.length?expand(a.post,false):[""];var v;if(f){var d=numeric(l[0]);var y=numeric(l[1]);var g=Math.max(l[0].length,l[1].length);var b=l.length==3?Math.abs(numeric(l[2])):1;var m=lte;var _=y0){var C=new Array(A+1).join("0");if(E<0)D="-"+C+D.slice(1);else D=C+D}}}v.push(D)}}else{v=n(l,function(e){return expand(e,false)})}for(var x=0;xthis.workTodo)this.workDone=this.workTodo;this.emit("change",this.name,this.completed(),this)};a.prototype.finish=function(){this.workTodo=this.workDone=1;this.emit("change",this.name,1,this)}},,,,,function(e,t,r){"use strict";var n=r(247);var i=r(71);var a=r(911);var s=r(598);var o=r(996);var u={};var f={};function Snapdragon(e){n.call(this,null,e);this.options=o.extend({source:"string"},this.options);this.compiler=new a(this.options);this.parser=new s(this.options);Object.defineProperty(this,"compilers",{get:function(){return this.compiler.compilers}});Object.defineProperty(this,"parsers",{get:function(){return this.parser.parsers}});Object.defineProperty(this,"regex",{get:function(){return this.parser.regex}})}n.extend(Snapdragon);Snapdragon.prototype.capture=function(){return this.parser.capture.apply(this.parser,arguments)};Snapdragon.prototype.use=function(e){e.call(this,this);return this};Snapdragon.prototype.parse=function(e,t){this.options=o.extend({},this.options,t);var r=this.parser.parse(e,this.options);i(r,"parser",this.parser);return r};Snapdragon.prototype.compile=function(e,t){this.options=o.extend({},this.options,t);var r=this.compiler.compile(e,this.options);i(r,"compiler",this.compiler);return r};e.exports=Snapdragon;e.exports.Compiler=a;e.exports.Parser=s},,,,function(e,t,r){e.exports=new(r(507))},,,,,function(e){"use strict";e.exports=function diff(e){var t=arguments.length;var r=0;while(++r{r.assetNames[e]=true})}}return B=r}function getEntryIds(e){if(e.options.entry){if(typeof e.options.entry==="string"){try{return[C.sync(e.options.entry,{extensions:O})]}catch(e){return}}else if(typeof e.options.entry==="object"){try{return Object.values(e.options.entry).map(e=>C.sync(e,{extensions:O}))}catch(e){return}}}}function assetBase(e){if(!e)return"";if(e.endsWith("/")||e.endsWith("\\"))return e;return e+"/"}const P={cwd:()=>{return X},env:{NODE_ENV:T,[T]:true},[T]:true};const L=Symbol();const M=Symbol();const q=Symbol();const G=Symbol();const W=Symbol();const U=Symbol();const V=Symbol();const z={access:G,accessSync:G,createReadStream:G,exists:G,existsSync:G,fstat:G,fstatSync:G,lstat:G,lstatSync:G,open:G,readFile:G,readFileSync:G,stat:G,statSync:G};const $=Object.assign(Object.create(null),{bindings:{default:U},express:{default:function(){return{[T]:true,set:L,engine:M}}},fs:{default:z,...z},process:{default:P,...P},path:{default:{}},os:{default:k,...k},"node-pre-gyp":w,"node-pre-gyp/lib/pre-binding":w,"node-pre-gyp/lib/pre-binding.js":w,"node-gyp-build":{default:V},nbind:{init:q,default:{init:q}},"resolve-from":{default:W}});const H={MONGOOSE_DRIVER_PATH:undefined};H.global=H.GLOBAL=H.globalThis=H;const J=Symbol();w.find[J]=true;const Q=$.path;Object.keys(n).forEach(e=>{const t=n[e];if(typeof t==="function"){const r=function(){return t.apply(this,arguments)};r[J]=true;Q[e]=Q.default[e]=r}else{Q[e]=Q.default[e]=t}});Q.resolve=Q.default.resolve=function(...e){return n.resolve.apply(this,[X,...e])};Q.resolve[J]=true;const K=new Set([".h",".cmake",".c",".cpp"]);const Z=new Set(["CHANGELOG.md","README.md","readme.md","changelog.md"]);let X;function backtrack(e,t){if(!t||t.type!=="ArrayExpression")return e.skip()}const Y=/^\/[^\/]+|^[a-z]:[\\/][^\\/]+/i;function isAbsolutePathStr(e){return typeof e==="string"&&e.match(Y)}const ee=Symbol();function generateWildcardRequire(e,t,r,i,a){const s=i.length;const o=t.endsWith(j);const u=t.indexOf(j);const f=t.substr(0,u);const c=t.substr(u+1);const l=c?"?(.@(js|json|node))":".@(js|json|node)";if(a)console.log("Generating wildcard requires for "+t.replace(j,"*"));let h=b.sync(f+"**"+c+l,{mark:true,ignore:"node_modules/**/*"});if(!h.length)return;const p=h.map((t,r)=>{const i=JSON.stringify(t.substring(f.length,t.lastIndexOf(c)));let a=n.relative(e,t).replace(/\\/g,"/");if(!a.startsWith("../"))a="./"+a;let s=r===0?" ":" else ";if(o&&i.endsWith('.js"'))s+=`if (arg === ${i} || arg === ${i.substr(0,i.length-4)}")`;else if(o&&i.endsWith('.json"'))s+=`if (arg === ${i} || arg === ${i.substr(0,i.length-6)}")`;else if(o&&i.endsWith('.node"'))s+=`if (arg === ${i} || arg === ${i.substr(0,i.length-6)}")`;else s+=`if (arg === ${i})`;s+=` return require(${JSON.stringify(a)});`;return s}).join("\n");i.push(`function __ncc_wildcard$${s} (arg) {\n${p}\n}`);return`__ncc_wildcard$${s}(${r})`}const te=new WeakSet;function injectPathHook(e,t){const{mainTemplate:r}=e;if(!te.has(r)){te.add(r);r.hooks.requireExtensions.tap("asset-relocator-loader",(e,i)=>{let a="";if(i.name){a=n.relative(n.dirname(i.name),".").replace(/\\/g,"/");if(a.length)a="/"+a}return`${e}\n${r.requireFn}.ab = __dirname + ${JSON.stringify(a+"/"+assetBase(t))};`})}}e.exports=async function(e,t){if(this.cacheable)this.cacheable();this.async();const r=this.resourcePath;const w=n.dirname(r);const x=A(this);injectPathHook(this._compilation,x.outputAssetBase);if(r.endsWith(".node")){const t=getAssetState(x,this._compilation);const n=m(this.resourcePath)||w;await g(n,t,assetBase(x.outputAssetBase),this.emitFile);const i=y(r.substr(n.length+1),r,t.assetNames);const a=await new Promise((e,t)=>s(r,(r,n)=>r?t(r):e(n.mode)));t.assetPermissions[i]=a;this.emitFile(assetBase(x.outputAssetBase)+i,e);this.callback(null,"module.exports = __non_webpack_require__(__webpack_require__.ab + "+JSON.stringify(i)+")");return}if(r.endsWith(".json"))return this.callback(null,S,t);let S=e.toString();if(typeof x.production==="boolean"&&P.env.NODE_ENV===T){P.env.NODE_ENV=x.production?"production":"dev"}if(!X){if(typeof x.cwd==="string")X=n.resolve(x.cwd);else X=process.cwd()}const k=getAssetState(x,this._compilation);const N=k.entryIds;const B=m(r);const z=e=>{let t=n.basename(e);if(e.endsWith(".node")){if(B)t=e.substr(B.length).replace(/\\/g,"/");const r=g(B,k,assetBase(x.outputAssetBase),this.emitFile);te=te.then(()=>{return r})}let i;if(!(i=k.assets[e])){i=k.assets[e]=y(t,e,k.assetNames);if(x.debugLog)console.log("Emitting "+e+" for static use in module "+r)}te=te.then(async()=>{const[t,r]=await Promise.all([new Promise((t,r)=>a(e,(e,n)=>e?r(e):t(n))),await new Promise((t,r)=>o(e,(e,n)=>e?r(e):t(n)))]);if(r.isSymbolicLink()){const t=await new Promise((t,r)=>{u(e,(e,n)=>e?r(e):t(n))});const r=n.dirname(e);k.assetSymlinks[assetBase(x.outputAssetBase)+i]=n.relative(r,n.resolve(r,t))}else{k.assetPermissions[assetBase(x.outputAssetBase)+i]=r.mode;this.addDependency(e);this.emitFile(assetBase(x.outputAssetBase)+i,t)}});return"__webpack_require__.ab + "+JSON.stringify(i)};const Q=(e,t)=>{const i=e.indexOf(j);const s=i===-1?e.length:e.lastIndexOf(n.sep,i);const f=e.substr(0,s);const c=e.substr(s);const l=c.replace(I,(e,t)=>{return c[t-1]===n.sep?"**/*":"*/**/*"})||"/**/*";if(x.debugLog)console.log("Emitting directory "+f+l+" for static use in module "+r);const h=n.basename(f);const p=k.assets[f]||(k.assets[f]=y(h,f,k.assetNames));k.assets[f]=p;const v=b.sync(f+l,{mark:true,ignore:"node_modules/**/*"}).filter(e=>!K.has(n.extname(e))&&!Z.has(n.basename(e))&&!e.endsWith("/"));if(!v.length)return;te=te.then(async()=>{await Promise.all(v.map(async e=>{const[t,r]=await Promise.all([new Promise((t,r)=>a(e,(e,n)=>e?r(e):t(n))),await new Promise((t,r)=>o(e,(e,n)=>e?r(e):t(n)))]);if(r.isSymbolicLink()){const t=await new Promise((t,r)=>{u(e,(e,n)=>e?r(e):t(n))});const r=n.dirname(e);k.assetSymlinks[assetBase(x.outputAssetBase)+p+e.substr(f.length)]=n.relative(r,n.resolve(r,t)).replace(/\\/g,"/")}else{k.assetPermissions[assetBase(x.outputAssetBase)+p+e.substr(f.length)]=r.mode;this.addDependency(e);this.emitFile(assetBase(x.outputAssetBase)+p+e.substr(f.length),t)}}))});let d="";let g="";if(t){let e=c;let r=true;for(const n of t){const t=e.indexOf(j);const i=e.substr(0,t);e=e.substr(t+1);if(r){g=i;r=false}else{d+=" + '"+JSON.stringify(i).slice(1,-1)+"'"}if(n.type==="SpreadElement")d+=" + "+S.substring(n.argument.start,n.argument.end)+".join('/')";else d+=" + "+S.substring(n.start,n.end)}if(e.length){d+=" + '"+JSON.stringify(e).slice(1,-1)+"'"}}return"__webpack_require__.ab + "+JSON.stringify(p+g)+d};let te=Promise.resolve();const re=new l(S);let ne,ie;try{ne=v.parse(S,{allowReturnOutsideFunction:true});ie=false}catch(e){}if(!ne){try{ne=v.parse(S,{sourceType:"module"});ie=true}catch(e){return this.callback(null,S,t)}}let ae=h(ne,"scope");let se=false;const oe=Object.assign(Object.create(null),{__dirname:{shadowDepth:0,value:n.resolve(r,"..")},__filename:{shadowDepth:0,value:r},process:{shadowDepth:0,value:P}});if(!ie){oe.require={shadowDepth:0,value:{[R](e){const t=$[e];return t.default},resolve(e){return C.sync(e,{basedir:w,extensions:O})}}};oe.require.value.resolve[J]=true}let ue=[];function setKnownBinding(e,t){if(e==="require")return;oe[e]={shadowDepth:0,value:t}}function getKnownBinding(e){const t=oe[e];if(t){if(t.shadowDepth===0){return t.value}}}if(ie){for(const e of ne.body){if(e.type==="ImportDeclaration"){const t=e.source.value;const r=$[t];if(r){for(const t of e.specifiers){if(t.type==="ImportNamespaceSpecifier")setKnownBinding(t.local.name,r);else if(t.type==="ImportDefaultSpecifier"&&"default"in r)setKnownBinding(t.local.name,r.default);else if(t.type==="ImportSpecifier"&&t.imported.name in r)setKnownBinding(t.local.name,r[t.imported.name])}}}}}function computePureStaticValue(e,t=true){const r=Object.create(null);Object.keys(oe).forEach(e=>{r[e]=getKnownBinding(e)});Object.keys(H).forEach(e=>{r[e]=H[e]});const n=p(e,r,t);return n}let fe,ce;let le=false;let he;function isStaticRequire(e){return e&&e.type==="CallExpression"&&e.callee.type==="Identifier"&&e.callee.name==="require"&&oe.require.shadowDepth===0&&e.arguments.length===1&&e.arguments[0].type==="Literal"}({ast:ne=ne,scope:ae=ae,transformed:se=se}=D({id:r,ast:ne,scope:ae,pkgBase:B,magicString:re,options:x,emitAsset:z,emitAssetDirectory:Q})||{});c(ne,{enter(e,t){if(e.scope){ae=e.scope;for(const t in e.scope.declarations){if(t in oe)oe[t].shadowDepth++}}if(fe)return backtrack(this,t);if(e.type==="Identifier"){if(isIdentifierRead(e,t)){let r;if(typeof(r=getKnownBinding(e.name))==="string"&&r.match(Y)||r&&(typeof r==="function"||typeof r==="object")&&r[J]){ce={value:typeof r==="string"?r:undefined};fe=e;return this.skip()}else if(!ie&&e.name==="require"&&oe.require.shadowDepth===0&&t.type!=="UnaryExpression"){re.overwrite(e.start,e.end,"__non_webpack_require__");se=true;return this.skip()}else if(!ie&&e.name==="__non_webpack_require__"&&t.type!=="UnaryExpression"){re.overwrite(e.start,e.end,'eval("require")');se=true;return this.skip()}}}else if(!ie&&e.type==="CallExpression"&&e.callee.type==="Identifier"&&e.callee.name==="require"&&oe.require.shadowDepth===0&&e.arguments.length){const o=e.arguments[0];const{result:u,sawIdentifier:f}=computePureStaticValue(o,true);if(!u){if(o.type==="LogicalExpression"&&o.operator==="||"&&o.left.type==="Identifier"){se=true;re.overwrite(o.start,o.end,S.substring(o.right.start,o.right.end));return this.skip()}se=true;re.overwrite(e.callee.start,e.callee.end,"__non_webpack_require__");return this.skip()}else if(typeof u.value==="string"&&f){if(u.wildcards){const t=n.resolve(w,u.value);if(u.wildcards.length===1&&validAssetEmission(t)){const r=generateWildcardRequire(w,t,S.substring(u.wildcards[0].start,u.wildcards[0].end),ue,x.debugLog);if(r){re.overwrite(e.start,e.end,r);se=true;return this.skip()}}}else if(u.value){re.overwrite(o.start,o.end,JSON.stringify(u.value));se=true;return this.skip()}}else if(u&&typeof u.then==="string"&&typeof u.else==="string"&&f){const e=computePureStaticValue(u.test,true).result;if(e&&"value"in e){if(e){se=true;re.overwrite(o.start,o.end,JSON.stringify(u.then));return this.skip()}else{se=true;re.overwrite(o.start,o.end,JSON.stringify(u.else));return this.skip()}}else{const e=S.substring(u.test.start,u.test.end);se=true;re.overwrite(o.start,o.end,`${e} ? ${JSON.stringify(u.then)} : ${JSON.stringify(u.else)}`);return this.skip()}}else if(t.type==="CallExpression"&&t.callee===e){if(u.value==="pkginfo"&&t.arguments.length&&t.arguments[0].type==="Identifier"&&t.arguments[0].name==="module"){let e=new Set;for(let r=1;re.id.type==="Identifier"&&e.init&&e.init.type==="CallExpression"&&e.init.callee.type==="Identifier"&&e.init.callee.name==="require"&&oe.require.shadowDepth===0&&e.init.arguments[0]&&e.init.arguments[0].type==="Identifier"&&e.init.arguments[0].name===n[0].name);if(i)a=e.body.body[t]}if(i&&e.body.body[t].type==="ReturnStatement"&&e.body.body[t].argument&&e.body.body[t].argument.type==="Identifier"&&e.body.body[t].argument.name===i.id.name){s=true;break}}if(s){let s=";";const o=e.type==="ArrowFunctionExpression"&&e.params[0].start===e.start;if(e.type==="FunctionExpression"||e.type==="ArrowFunctionExpression"){e=t;s=","}he=r.name+"$$mod";setKnownBinding(r.name,ee);const u=s+S.substring(e.start,r.start)+he+S.substring(r.end,n[0].start+!o)+(o?"(":"")+i.id.name+", "+S.substring(n[0].start,n[n.length-1].end+!o)+(o?")":"")+S.substring(n[0].end+!o,a.start)+S.substring(a.end,e.end);re.appendRight(e.end,u)}}}},leave(e,t){if(e.scope){ae=ae.parent;for(const t in e.scope.declarations){if(t in oe){if(oe[t].shadowDepth>0)oe[t].shadowDepth--;else delete oe[t]}}}if(fe){const t=computePureStaticValue(e,true).result;if(t){if("value"in t&&typeof t.value!=="symbol"||typeof t.then!=="symbol"&&typeof t.else!=="symbol"){ce=t;fe=e;return}}emitStaticChildAsset()}}});if(!se)return this.callback(null,S,t);te.then(()=>{if(ue.length)re.appendLeft(ne.body[0].start,ue.join("\n")+"\n");S=re.toString();t=t||re.generateMap();if(t){t.sources=[r]}this.callback(null,S,t)});function validAssetEmission(e){if(!e)return;if(e===r)return;let t="";if(e.endsWith(n.sep))t=n.sep;else if(e.endsWith(n.sep+j))t=n.sep+j;else if(e.endsWith(j))t=j;if(!x.emitDirnameAll&&e===w+t)return;if(!x.emitFilterAssetBaseAll&&e===(x.filterAssetBase||X)+t)return;if(e.endsWith(n.sep+"node_modules"+t))return;if(w.startsWith(e.substr(0,e.length-t.length)+n.sep))return;if(B){const t=r.substr(0,r.indexOf(n.sep+"node_modules"))+n.sep+"node_modules"+n.sep;if(!e.startsWith(t)){if(x.debugLog){if(assetEmission(e))console.log("Skipping asset emission of "+e.replace(I,"*")+" for "+r+" as it is outside the package base "+B)}return}}else if(!e.startsWith(x.filterAssetBase||X)){if(x.debugLog){if(assetEmission(e))console.log("Skipping asset emission of "+e.replace(I,"*")+" for "+r+" as it is outside the filterAssetBase directory "+(x.filterAssetBase||X))}return}return assetEmission(e)}function assetEmission(e){const t=e.indexOf(j);const r=t===-1?e.length:e.lastIndexOf(n.sep,t);const i=e.substr(0,r);try{const e=f(i);if(t!==-1&&e.isFile())return;if(e.isFile())return z;if(e.isDirectory())return Q}catch(e){return}}function emitStaticChildAsset(e=false){if(isAbsolutePathStr(ce.value)){let t;try{t=n.resolve(ce.value)}catch(e){}let r;if(r=validAssetEmission(t)){let n=r(t,ce.wildcards);if(n){if(e)n="__non_webpack_require__("+n+")";re.overwrite(fe.start,fe.end,n);se=true}}}else if(isAbsolutePathStr(ce.then)&&isAbsolutePathStr(ce.else)){let t;try{t=n.resolve(ce.then)}catch(e){}let r;try{r=n.resolve(ce.else)}catch(e){}let i;if(!e&&(i=validAssetEmission(t))&&i===validAssetEmission(r)){const e=i(t);const n=i(r);if(e&&n){re.overwrite(fe.start,fe.end,`${S.substring(ce.test.start,ce.test.end)} ? ${e} : ${n}`);se=true}}}fe=ce=undefined}};e.exports.raw=true;e.exports.getAssetPermissions=function(e){if(B)return B.assetPermissions[e]};e.exports.getSymlinks=function(){if(B)return B.assetSymlinks};e.exports.initAssetCache=e.exports.initAssetPermissionsCache=function(e,t){injectPathHook(e,t);const r=getEntryIds(e);if(!r)return;const n=B={entryIds:r,assets:Object.create(null),assetNames:Object.create(null),assetPermissions:Object.create(null),assetSymlinks:Object.create(null),hadOptions:false};N.set(e,n);e.cache.get("/RelocateLoader/AssetState/"+JSON.stringify(r),null,(e,t)=>{if(e)console.error(e);if(t){const e=JSON.parse(t);if(e.assetPermissions)n.assetPermissions=e.assetPermissions;if(e.assetSymlinks)n.assetSymlinks=e.assetSymlinks}});e.compiler.hooks.afterCompile.tap("relocate-loader",e=>{e.cache.store("/RelocateLoader/AssetState/"+JSON.stringify(r),null,JSON.stringify({assetPermissions:n.assetPermissions,assetSymlinks:n.assetSymlinks}),e=>{if(e)console.error(e)})})}},,,,,function(e,t,r){const n=r(589);const i=r(564);const a=r(66);const s=r(708);e.exports=function({id:e,code:t,pkgBase:r,ast:o,scope:u,magicString:f,emitAssetDirectory:c}){let l;({transformed:l,ast:o,scope:u}=s(o,u,f));if(l)return{transformed:l,ast:o,scope:u};if(e.endsWith("google-gax/build/src/grpc.js")||global._unit&&e.includes("google-gax")){for(const t of o.body){if(t.type==="VariableDeclaration"&&t.declarations[0].id.type==="Identifier"&&t.declarations[0].id.name==="googleProtoFilesDir"){const r=c(n.resolve(n.dirname(e),global._unit?"./":"../../../google-proto-files"));if(r){f.overwrite(t.declarations[0].init.start,t.declarations[0].init.end,r);t.declarations[0].init=null;return{transformed:true}}}}}else if(e.endsWith("socket.io/lib/index.js")||global._unit&&e.includes("socket.io")){function replaceResolvePathStatement(t){if(t.type==="ExpressionStatement"&&t.expression.type==="AssignmentExpression"&&t.expression.operator==="="&&t.expression.right.type==="CallExpression"&&t.expression.right.callee.type==="Identifier"&&t.expression.right.callee.name==="read"&&t.expression.right.arguments.length>=1&&t.expression.right.arguments[0].type==="CallExpression"&&t.expression.right.arguments[0].callee.type==="Identifier"&&t.expression.right.arguments[0].callee.name==="resolvePath"&&t.expression.right.arguments[0].arguments.length===1&&t.expression.right.arguments[0].arguments[0].type==="Literal"){const a=t.expression.right.arguments[0].arguments[0].value;try{var r=i.sync(a,{basedir:n.dirname(e)})}catch(e){return{transformed:false}}const s="/"+n.relative(n.dirname(e),r);t.expression.right.arguments[0]={type:"BinaryExpression",start:t.expression.right.arguments[0].start,end:t.expression.right.arguments[0].end,operator:"+",left:{type:"Identifier",name:"__dirname"},right:{type:"Literal",value:s,raw:JSON.stringify(s)}};return{transformed:true}}return{transformed:false}}for(const e of o.body){if(e.type==="ExpressionStatement"&&e.expression.type==="AssignmentExpression"&&e.expression.operator==="="&&e.expression.left.type==="MemberExpression"&&e.expression.left.object.type==="MemberExpression"&&e.expression.left.object.object.type==="Identifier"&&e.expression.left.object.object.name==="Server"&&e.expression.left.object.property.type==="Identifier"&&e.expression.left.object.property.name==="prototype"&&e.expression.left.property.type==="Identifier"&&e.expression.left.property.name==="serveClient"&&e.expression.right.type==="FunctionExpression"){let t;for(const r of e.expression.right.body.body)if(r.type==="IfStatement")t=r;const r=t&&t.consequent.body;let n=false;if(r&&r[0]&&r[0].type==="ExpressionStatement")n=replaceResolvePathStatement(r[0]);const i=r&&r[1]&&r[1].type==="TryStatement"&&r[1].block.body;if(i&&i[0])n=replaceResolvePathStatement(i[0])||n;return{transformed:n}}}}else if(e.endsWith("oracledb/lib/oracledb.js")||global._unit&&e.includes("oracledb")){for(const t of o.body){if(t.type==="ForStatement"&&t.body.body&&t.body.body[0]&&t.body.body[0].type==="TryStatement"&&t.body.body[0].block.body[0]&&t.body.body[0].block.body[0].type==="ExpressionStatement"&&t.body.body[0].block.body[0].expression.type==="AssignmentExpression"&&t.body.body[0].block.body[0].expression.operator==="="&&t.body.body[0].block.body[0].expression.left.type==="Identifier"&&t.body.body[0].block.body[0].expression.left.name==="oracledbCLib"&&t.body.body[0].block.body[0].expression.right.type==="CallExpression"&&t.body.body[0].block.body[0].expression.right.callee.type==="Identifier"&&t.body.body[0].block.body[0].expression.right.callee.name==="require"&&t.body.body[0].block.body[0].expression.right.arguments.length===1&&t.body.body[0].block.body[0].expression.right.arguments[0].type==="MemberExpression"&&t.body.body[0].block.body[0].expression.right.arguments[0].computed===true&&t.body.body[0].block.body[0].expression.right.arguments[0].object.type==="Identifier"&&t.body.body[0].block.body[0].expression.right.arguments[0].object.name==="binaryLocations"&&t.body.body[0].block.body[0].expression.right.arguments[0].property.type==="Identifier"&&t.body.body[0].block.body[0].expression.right.arguments[0].property.name==="i"){const r=t.body.body[0].block.body[0].expression.right.arguments[0];t.body.body[0].block.body[0].expression.right.arguments=[{type:"Literal",value:"_"}];const n=global._unit?"3.0.0":JSON.parse(a.readFileSync(e.slice(0,-15)+"package.json")).version;const i=Number(n.slice(0,n.indexOf(".")))>=4;const s="oracledb-"+(i?n:"abi"+process.versions.modules)+"-"+process.platform+"-"+process.arch+".node";f.overwrite(r.start,r.end,global._unit?"'./oracledb.js'":"'../build/Release/"+s+"'");return{transformed:true}}}}return{transformed:false}}},,,function(e){var t=Object.prototype.toString;e.exports=function kindOf(e){if(e===void 0)return"undefined";if(e===null)return"null";var r=typeof e;if(r==="boolean")return"boolean";if(r==="string")return"string";if(r==="number")return"number";if(r==="symbol")return"symbol";if(r==="function"){return isGeneratorFn(e)?"generatorfunction":"function"}if(isArray(e))return"array";if(isBuffer(e))return"buffer";if(isArguments(e))return"arguments";if(isDate(e))return"date";if(isError(e))return"error";if(isRegexp(e))return"regexp";switch(ctorName(e)){case"Symbol":return"symbol";case"Promise":return"promise";case"WeakMap":return"weakmap";case"WeakSet":return"weakset";case"Map":return"map";case"Set":return"set";case"Int8Array":return"int8array";case"Uint8Array":return"uint8array";case"Uint8ClampedArray":return"uint8clampedarray";case"Int16Array":return"int16array";case"Uint16Array":return"uint16array";case"Int32Array":return"int32array";case"Uint32Array":return"uint32array";case"Float32Array":return"float32array";case"Float64Array":return"float64array"}if(isGeneratorObj(e)){return"generator"}r=t.call(e);switch(r){case"[object Object]":return"object";case"[object Map Iterator]":return"mapiterator";case"[object Set Iterator]":return"setiterator";case"[object String Iterator]":return"stringiterator";case"[object Array Iterator]":return"arrayiterator"}return r.slice(8,-1).toLowerCase().replace(/\s/g,"")};function ctorName(e){return e.constructor?e.constructor.name:null}function isArray(e){if(Array.isArray)return Array.isArray(e);return e instanceof Array}function isError(e){return e instanceof Error||typeof e.message==="string"&&e.constructor&&typeof e.constructor.stackTraceLimit==="number"}function isDate(e){if(e instanceof Date)return true;return typeof e.toDateString==="function"&&typeof e.getDate==="function"&&typeof e.setDate==="function"}function isRegexp(e){if(e instanceof RegExp)return true;return typeof e.flags==="string"&&typeof e.ignoreCase==="boolean"&&typeof e.multiline==="boolean"&&typeof e.global==="boolean"}function isGeneratorFn(e,t){return ctorName(e)==="GeneratorFunction"}function isGeneratorObj(e){return typeof e.throw==="function"&&typeof e.return==="function"&&typeof e.next==="function"}function isArguments(e){try{if(typeof e.length==="number"&&typeof e.callee==="function"){return true}}catch(e){if(e.message.indexOf("callee")!==-1){return true}}return false}function isBuffer(e){if(e.constructor&&typeof e.constructor.isBuffer==="function"){return e.constructor.isBuffer(e)}return false}},,function(e,t,r){"use strict";const n=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g;const i=r(440);const a=i.tokTypes;function maybeParseFieldValue(e){if(this.eat(a.eq)){const t=this._inStaticFieldValue;this._inStaticFieldValue=true;e.value=this.parseExpression();this._inStaticFieldValue=t}else e.value=null}const s=r(586);e.exports=function(e){const t=s(e);return class extends t{parseClassElement(e){if(this.eat(a.semi))return null;const t=this.startNode();const r=(e,r)=>{if(typeof r=="undefined")r=false;const n=this.start,i=this.startLoc;if(!this.eatContextual(e))return false;if(this.type!==a.parenL&&(!r||!this.canInsertSemicolon()))return true;if(t.key)this.unexpected();t.computed=false;t.key=this.startNodeAt(n,i);t.key.name=e;this.finishNode(t.key,"Identifier");return false};t.static=r("static");if(!t.static)return super.parseClassElement.apply(this,arguments);let i=this.eat(a.star);let s=false;if(!i){if(this.options.ecmaVersion>=8&&this.isContextual("async")){n.lastIndex=this.pos;let e=n.exec(this.input);let o=this.input.charAt(this.pos+e[0].length);if(o===";"||o==="="){t.key=this.parseIdent(true);t.computed=false;maybeParseFieldValue.call(this,t);this.finishNode(t,"FieldDefinition");this.semicolon();return t}else if(this.options.ecmaVersion>=8&&r("async",true)){s=true;i=this.options.ecmaVersion>=9&&this.eat(a.star)}}else if(r("get")){t.kind="get"}else if(r("set")){t.kind="set"}}if(this.type===this.privateNameToken){this.parsePrivateClassElementName(t);if(this.type!==a.parenL){if(t.key.name==="prototype"){this.raise(t.key.start,"Classes may not have a private static property named prototype")}maybeParseFieldValue.call(this,t);this.finishNode(t,"FieldDefinition");this.semicolon();return t}}else if(!t.key){this.parsePropertyName(t);if((t.key.name||t.key.value)==="prototype"&&!t.computed){this.raise(t.key.start,"Classes may not have a static property named prototype")}}if(!t.kind)t.kind="method";this.parseClassMethod(t,i,s);if(!t.kind&&(t.key.name||t.key.value)==="constructor"&&!t.computed){this.raise(t.key.start,"Classes may not have a static field named constructor")}if(t.kind==="get"&&t.value.params.length!==0){this.raiseRecoverable(t.value.start,"getter should have no params")}if(t.kind==="set"&&t.value.params.length!==1){this.raiseRecoverable(t.value.start,"setter should have exactly one param")}if(t.kind==="set"&&t.value.params[0].type==="RestElement"){this.raiseRecoverable(t.value.params[0].start,"Setter cannot use rest params")}return t}parseClassMethod(e,t,r,n){if(t||r||e.kind!="method"||!e.static||this.options.ecmaVersion<8||this.type==a.parenL){return super.parseClassMethod.apply(this,arguments)}maybeParseFieldValue.call(this,e);delete e.kind;e=this.finishNode(e,"FieldDefinition");this.semicolon();return e}parseIdent(e,t){const r=super.parseIdent(e,t);if(this._inStaticFieldValue&&r.name=="arguments")this.raise(r.start,"A static class field initializer may not contain arguments");return r}}}},,,function(e,t,r){"use strict";const n=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g;const i=r(440).tokTypes;e.exports=function(e){return class extends e{parseExport(e,t){n.lastIndex=this.pos;const r=n.exec(this.input);const a=this.input.charAt(this.pos+r[0].length);if(a!=="*")return super.parseExport(e,t);this.next();const s=this.startNode();this.expect(i.star);if(this.eatContextual("as")){e.declaration=null;s.exported=this.parseIdent(true);this.checkExport(t,s.exported.name,this.lastTokStart);e.specifiers=[this.finishNode(s,"ExportNamespaceSpecifier")]}this.expectContextual("from");if(this.type!==i.string)this.unexpected();e.source=this.parseExprAtom();this.semicolon();return this.finishNode(e,e.specifiers?"ExportNamedDeclaration":"ExportAllDeclaration")}}}},function(e){e.exports=__webpack_require__(357)},,function(e,t,r){"use strict";var n=r(293);var i=r(299);var a=r(71);function copy(e,t,r){if(!isObject(e)){throw new TypeError("expected receiving object to be an object.")}if(!isObject(t)){throw new TypeError("expected providing object to be an object.")}var n=nativeKeys(t);var s=Object.keys(t);var o=n.length;r=arrayify(r);while(o--){var u=n[o];if(has(s,u)){a(e,u,t[u])}else if(!(u in e)&&!has(r,u)){i(e,t,u)}}}function isObject(e){return n(e)==="object"||typeof e==="function"}function has(e,t){t=arrayify(t);var r=t.length;if(isObject(e)){for(var n in e){if(t.indexOf(n)>-1){return true}}var i=nativeKeys(e);return has(i,t)}if(Array.isArray(e)){var a=e;while(r--){if(a.indexOf(t[r])>-1){return true}}return false}throw new TypeError("expected an array or object.")}function arrayify(e){return e?Array.isArray(e)?e:[e]:[]}function hasConstructor(e){return isObject(e)&&typeof e.constructor!=="undefined"}function nativeKeys(e){if(!hasConstructor(e))return[];return Object.getOwnPropertyNames(e)}e.exports=copy;e.exports.has=has},,function(e){"use strict";e.exports=function(e){return flat(e,[])};function flat(e,t){var r=0,n;var i=e.length;for(;rr){t.splice(0,r);process.nextTick(function(){RES.apply(null,n)})}else{delete i[e]}}})}function slice(e){var t=e.length;var r=[];for(var n=0;n2){var l=r.nodes[1];if(l.type==="text"&&l.val===","){r.nodes.splice(1,1);r.nodes.push(l)}}r.push(a)}).set("boundary",function(){var e=this.position();var t=this.match(/^[$^](?!\{)/);if(!t)return;return e(new n({type:"text",val:t[0]}))}).set("nobrace",function(){var e=this.isInside("brace");var t=this.position();var r=this.match(/^\{[^,]?\}/);if(!r)return;var i=this.prev();var a=r[0];if(e&&i.type==="brace"){i.text=i.text||"";i.text+=a}return t(new n({type:"text",multiplier:0,val:a}))}).set("text",function(){var e=this.isInside("brace");var r=this.position();var i=this.match(/^((?!\\)[^${}[\]])+/);if(!i)return;var a=this.prev();var s=i[0];if(e&&a.type==="brace"){a.text=a.text||"";a.text+=s}var o=r(new n({type:"text",multiplier:1,val:s}));return concatNodes.call(this,r,o,a,t)})};function isExtglobChar(e){return e==="!"||e==="@"||e==="*"||e==="?"||e==="+"}function concatNodes(e,t,r,n){t.orig=t.val;var a=this.prev();var s=i.last(a.nodes);var o=false;if(t.val.length>1){var u=t.val.charAt(0);var f=t.val.slice(-1);o=u==='"'&&f==='"'||u==="'"&&f==="'"||u==="`"&&f==="`"}if(o&&n.unescape!==false){t.val=t.val.slice(1,t.val.length-1);t.escaped=true}if(t.match){var c=t.match[1];if(!c||c.indexOf("}")===-1){c=t.match[0]}var l=c.replace(/\{/g,",").replace(/\}/g,"");t.multiplier*=l.length;t.val=""}var h=s.type==="text"&&s.multiplier===1&&t.multiplier===1&&t.val;if(h){s.val+=t.val;return}a.push(t)}},,,,,,function(e,t,r){"use strict";var n=r(945).Buffer;var i=n.isEncoding||function(e){e=""+e;switch(e&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return true;default:return false}};function _normalizeEncoding(e){if(!e)return"utf8";var t;while(true){switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase();t=true}}}function normalizeEncoding(e){var t=_normalizeEncoding(e);if(typeof t!=="string"&&(n.isEncoding===i||!i(e)))throw new Error("Unknown encoding: "+e);return t||e}t.StringDecoder=StringDecoder;function StringDecoder(e){this.encoding=normalizeEncoding(e);var t;switch(this.encoding){case"utf16le":this.text=utf16Text;this.end=utf16End;t=4;break;case"utf8":this.fillLast=utf8FillLast;t=4;break;case"base64":this.text=base64Text;this.end=base64End;t=3;break;default:this.write=simpleWrite;this.end=simpleEnd;return}this.lastNeed=0;this.lastTotal=0;this.lastChar=n.allocUnsafe(t)}StringDecoder.prototype.write=function(e){if(e.length===0)return"";var t;var r;if(this.lastNeed){t=this.fillLast(e);if(t===undefined)return"";r=this.lastNeed;this.lastNeed=0}else{r=0}if(r>5===6)return 2;else if(e>>4===14)return 3;else if(e>>3===30)return 4;return e>>6===2?-1:-2}function utf8CheckIncomplete(e,t,r){var n=t.length-1;if(n=0){if(i>0)e.lastNeed=i-1;return i}if(--n=0){if(i>0)e.lastNeed=i-2;return i}if(--n=0){if(i>0){if(i===2)i=0;else e.lastNeed=i-3}return i}return 0}function utf8CheckExtraBytes(e,t,r){if((t[0]&192)!==128){e.lastNeed=0;return"�"}if(e.lastNeed>1&&t.length>1){if((t[1]&192)!==128){e.lastNeed=1;return"�"}if(e.lastNeed>2&&t.length>2){if((t[2]&192)!==128){e.lastNeed=2;return"�"}}}}function utf8FillLast(e){var t=this.lastTotal-this.lastNeed;var r=utf8CheckExtraBytes(this,e,t);if(r!==undefined)return r;if(this.lastNeed<=e.length){e.copy(this.lastChar,t,0,this.lastNeed);return this.lastChar.toString(this.encoding,0,this.lastTotal)}e.copy(this.lastChar,t,0,e.length);this.lastNeed-=e.length}function utf8Text(e,t){var r=utf8CheckIncomplete(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=r;var n=e.length-(r-this.lastNeed);e.copy(this.lastChar,0,n);return e.toString("utf8",t,n)}function utf8End(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed)return t+"�";return t}function utf16Text(e,t){if((e.length-t)%2===0){var r=e.toString("utf16le",t);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319){this.lastNeed=2;this.lastTotal=4;this.lastChar[0]=e[e.length-2];this.lastChar[1]=e[e.length-1];return r.slice(0,-1)}}return r}this.lastNeed=1;this.lastTotal=2;this.lastChar[0]=e[e.length-1];return e.toString("utf16le",t,e.length-1)}function utf16End(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,r)}return t}function base64Text(e,t){var r=(e.length-t)%3;if(r===0)return e.toString("base64",t);this.lastNeed=3-r;this.lastTotal=3;if(r===1){this.lastChar[0]=e[e.length-1]}else{this.lastChar[0]=e[e.length-2];this.lastChar[1]=e[e.length-1]}return e.toString("base64",t,e.length-r)}function base64End(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed)return t+this.lastChar.toString("base64",0,3-this.lastNeed);return t}function simpleWrite(e){return e.toString(this.encoding)}function simpleEnd(e){return e&&e.length?this.write(e):""}},,function(e,t,r){"use strict";var n=e.exports;var i=r(589);var a=r(947)();var s=r(363);n.define=r(981);n.diff=r(372);n.extend=r(145);n.pick=r(745);n.typeOf=r(387);n.unique=r(711);n.isEmptyString=function(e){return String(e)===""||String(e)==="./"};n.isWindows=function(){return i.sep==="\\"||a===true};n.last=function(e,t){return e[e.length-(t||1)]};n.instantiate=function(e,t){var r;if(n.typeOf(e)==="object"&&e.snapdragon){r=e.snapdragon}else if(n.typeOf(t)==="object"&&t.snapdragon){r=t.snapdragon}else{r=new s(t)}n.define(r,"parse",function(e,t){var r=s.prototype.parse.call(this,e,t);r.input=e;var i=this.parser.stack.pop();if(i&&this.options.strictErrors!==true){var a=i.nodes[0];var o=i.nodes[1];if(i.type==="bracket"){if(o.val.charAt(0)==="["){o.val="\\"+o.val}}else{a.val="\\"+a.val;var u=a.parent.nodes[1];if(u.type==="star"){u.loose=true}}}n.define(r,"parser",this.parser);return r});return r};n.createKey=function(e,t){if(typeof t==="undefined"){return e}var r=e;for(var n in t){if(t.hasOwnProperty(n)){r+=";"+n+"="+String(t[n])}}return r};n.arrayify=function(e){if(typeof e==="string")return[e];return e?Array.isArray(e)?e:[e]:[]};n.isString=function(e){return typeof e==="string"};n.isRegex=function(e){return n.typeOf(e)==="regexp"};n.isObject=function(e){return n.typeOf(e)==="object"};n.escapeRegex=function(e){return e.replace(/[-[\]{}()^$|*+?.\\/\s]/g,"\\$&")};n.combineDupes=function(e,t){t=n.arrayify(t).join("|").split("|");t=t.map(function(e){return e.replace(/\\?([+*\\/])/g,"\\$1")});var r=t.join("|");var i=new RegExp("("+r+")(?=\\1)","g");return e.replace(i,"")};n.hasSpecialChars=function(e){return/(?:(?:(^|\/)[!.])|[*?+()|[\]{}]|[+@]\()/.test(e)};n.toPosixPath=function(e){return e.replace(/\\+/g,"/")};n.unescape=function(e){return n.toPosixPath(e.replace(/\\(?=[*+?!.])/g,""))};n.stripDrive=function(e){return n.isWindows()?e.replace(/^[a-z]:[\\/]+?/i,"/"):e};n.stripPrefix=function(e){if(e.charAt(0)==="."&&(e.charAt(1)==="/"||e.charAt(1)==="\\")){return e.slice(2)}return e};n.isSimpleChar=function(e){return e.trim()===""||e==="."};n.isSlash=function(e){return e==="/"||e==="\\/"||e==="\\"||e==="\\\\"};n.matchPath=function(e,t){return t&&t.contains?n.containsPattern(e,t):n.equalsPattern(e,t)};n._equals=function(e,t,r){return r===e||r===t};n._contains=function(e,t,r){return e.indexOf(r)!==-1||t.indexOf(r)!==-1};n.equalsPattern=function(e,t){var r=n.unixify(t);t=t||{};return function fn(i){var a=n._equals(i,r(i),e);if(a===true||t.nocase!==true){return a}var s=i.toLowerCase();return n._equals(s,r(s),e)}};n.containsPattern=function(e,t){var r=n.unixify(t);t=t||{};return function(i){var a=n._contains(i,r(i),e);if(a===true||t.nocase!==true){return a}var s=i.toLowerCase();return n._contains(s,r(s),e)}};n.matchBasename=function(e){return function(t){return e.test(t)||e.test(i.basename(t))}};n.identity=function(e){return e};n.value=function(e,t,r){if(r&&r.unixify===false){return e}if(r&&typeof r.unixify==="function"){return r.unixify(e)}return t(e)};n.unixify=function(e){var t=e||{};return function(e){if(t.stripPrefix!==false){e=n.stripPrefix(e)}if(t.unescape===true){e=n.unescape(e)}if(t.unixify===true||n.isWindows()){e=n.toPosixPath(e)}return e}}},,,,,,function(e,t,r){var n=r(55);var i=r(66);var a=r(589);var s=r(68);var o=r(807);var u=r(764);var f=function isFile(e,t){i.stat(e,function(e,r){if(!e){return t(null,r.isFile()||r.isFIFO())}if(e.code==="ENOENT"||e.code==="ENOTDIR")return t(null,false);return t(e)})};e.exports=function resolve(e,t,r){var c=r;var l=t;if(typeof t==="function"){c=l;l={}}if(typeof e!=="string"){var h=new TypeError("Path must be a string.");return process.nextTick(function(){c(h)})}l=u(e,l);var p=l.isFile||f;var v=l.readFile||i.readFile;var d=l.extensions||[".js"];var y=l.basedir||a.dirname(s());var g=l.filename||y;l.paths=l.paths||[];var b=a.resolve(y);if(l.preserveSymlinks===false){i.realpath(b,function(e,t){if(e&&e.code!=="ENOENT")c(h);else init(e?b:t)})}else{init(b)}var m;function init(t){if(/^(?:\.\.?(?:\/|$)|\/|([A-Za-z]:)?[/\\])/.test(e)){m=a.resolve(t,e);if(e===".."||e.slice(-1)==="/")m+="/";if(/\/$/.test(e)&&m===t){loadAsDirectory(m,l.package,onfile)}else loadAsFile(m,l.package,onfile)}else loadNodeModules(e,t,function(t,r,i){if(t)c(t);else if(r)c(null,r,i);else if(n[e])return c(null,e);else{var a=new Error("Cannot find module '"+e+"' from '"+g+"'");a.code="MODULE_NOT_FOUND";c(a)}})}function onfile(t,r,n){if(t)c(t);else if(r)c(null,r,n);else loadAsDirectory(m,function(t,r,n){if(t)c(t);else if(r)c(null,r,n);else{var i=new Error("Cannot find module '"+e+"' from '"+g+"'");i.code="MODULE_NOT_FOUND";c(i)}})}function loadAsFile(e,t,r){var n=t;var i=r;if(typeof n==="function"){i=n;n=undefined}var s=[""].concat(d);load(s,e,n);function load(e,t,r){if(e.length===0)return i(null,undefined,r);var n=t+e[0];var s=r;if(s)onpkg(null,s);else loadpkg(a.dirname(n),onpkg);function onpkg(r,o,u){s=o;if(r)return i(r);if(u&&s&&l.pathFilter){var f=a.relative(u,n);var c=f.slice(0,f.length-e[0].length);var h=l.pathFilter(s,t,c);if(h)return load([""].concat(d.slice()),a.resolve(u,h),s)}p(n,onex)}function onex(r,a){if(r)return i(r);if(a)return i(null,n,s);load(e.slice(1),t,s)}}}function loadpkg(e,t){if(e===""||e==="/")return t(null);if(process.platform==="win32"&&/^\w:[/\\]*$/.test(e)){return t(null)}if(/[/\\]node_modules[/\\]*$/.test(e))return t(null);var r=a.join(e,"package.json");p(r,function(n,i){if(!i)return loadpkg(a.dirname(e),t);v(r,function(n,i){if(n)t(n);try{var a=JSON.parse(i)}catch(e){}if(a&&l.packageFilter){a=l.packageFilter(a,r)}t(null,a,e)})})}function loadAsDirectory(e,t,r){var n=r;var i=t;if(typeof i==="function"){n=i;i=l.package}var s=a.join(e,"package.json");p(s,function(t,r){if(t)return n(t);if(!r)return loadAsFile(a.join(e,"index"),i,n);v(s,function(t,r){if(t)return n(t);try{var i=JSON.parse(r)}catch(e){}if(l.packageFilter){i=l.packageFilter(i,s)}if(i.main){if(typeof i.main!=="string"){var o=new TypeError("package “"+i.name+"” `main` must be a string");o.code="INVALID_PACKAGE_MAIN";return n(o)}if(i.main==="."||i.main==="./"){i.main="index"}loadAsFile(a.resolve(e,i.main),i,function(t,r,i){if(t)return n(t);if(r)return n(null,r,i);if(!i)return loadAsFile(a.join(e,"index"),i,n);var s=a.resolve(e,i.main);loadAsDirectory(s,i,function(t,r,i){if(t)return n(t);if(r)return n(null,r,i);loadAsFile(a.join(e,"index"),i,n)})});return}loadAsFile(a.join(e,"/index"),i,n)})})}function processDirs(t,r){if(r.length===0)return t(null,undefined);var n=r[0];var i=a.join(n,e);loadAsFile(i,l.package,onfile);function onfile(r,i,s){if(r)return t(r);if(i)return t(null,i,s);loadAsDirectory(a.join(n,e),l.package,ondir)}function ondir(e,n,i){if(e)return t(e);if(n)return t(null,n,i);processDirs(t,r.slice(1))}}function loadNodeModules(e,t,r){processDirs(r,o(t,l,e))}}},,function(e){e.exports=__webpack_require__(87)},function(e,t,r){"use strict";var n=r(214);e.exports=function(e,t){e.compiler.set("bos",function(){if(this.output)return;this.ast.queue=isEscaped(this.ast)?[this.ast.val]:[];this.ast.count=1}).set("bracket",function(e){var t=e.close;var r=!e.escaped?"[":"\\[";var i=e.negated;var a=e.inner;a=a.replace(/\\(?=[\\\w]|$)/g,"\\\\");if(a==="]-"){a="\\]\\-"}if(i&&a.indexOf(".")===-1){a+="."}if(i&&a.indexOf("/")===-1){a+="/"}var s=r+i+a+t;var o=e.parent.queue;var u=n.arrayify(o.pop());o.push(n.join(u,s));o.push.apply(o,[])}).set("brace",function(e){e.queue=isEscaped(e)?[e.val]:[];e.count=1;return this.mapVisit(e.nodes)}).set("brace.open",function(e){e.parent.open=e.val}).set("text",function(e){var r=e.parent.queue;var i=e.escaped;var a=[e.val];if(e.optimize===false){t=n.extend({},t,{optimize:false})}if(e.multiplier>1){e.parent.count*=e.multiplier}if(t.quantifiers===true&&n.isQuantifier(e.val)){i=true}else if(e.val.length>1){if(isType(e.parent,"brace")&&!isEscaped(e)){var s=n.expand(e.val,t);a=s.segs;if(s.isOptimized){e.parent.isOptimized=true}if(!a.length){var o=s.val||e.val;if(t.unescape!==false){o=o.replace(/\\([,.])/g,"$1");o=o.replace(/["'`]/g,"")}a=[o];i=true}}}else if(e.val===","){if(t.expand){e.parent.queue.push([""]);a=[""]}else{a=["|"]}}else{i=true}if(i&&isType(e.parent,"brace")){if(e.parent.nodes.length<=4&&e.parent.count===1){e.parent.escaped=true}else if(e.parent.length<=3){e.parent.escaped=true}}if(!hasQueue(e.parent)){e.parent.queue=a;return}var u=n.arrayify(r.pop());if(e.parent.count>1&&t.expand){u=multiply(u,e.parent.count);e.parent.count=1}r.push(n.join(n.flatten(u),a.shift()));r.push.apply(r,a)}).set("brace.close",function(e){var r=e.parent.queue;var i=e.parent.parent;var a=i.queue.pop();var s=e.parent.open;var o=e.val;if(s&&o&&isOptimized(e,t)){s="(";o=")"}var u=n.last(r);if(e.parent.count>1&&t.expand){u=multiply(r.pop(),e.parent.count);e.parent.count=1;r.push(u)}if(o&&typeof u==="string"&&u.length===1){s="";o=""}if((isLiteralBrace(e,t)||noInner(e))&&!e.parent.hasEmpty){r.push(n.join(s,r.pop()||""));r=n.flatten(n.join(r,o))}if(typeof a==="undefined"){i.queue=[r]}else{i.queue.push(n.flatten(n.join(a,r)))}}).set("eos",function(e){if(this.input)return;if(t.optimize!==false){this.output=n.last(n.flatten(this.ast.queue))}else if(Array.isArray(n.last(this.ast.queue))){this.output=n.flatten(this.ast.queue.pop())}else{this.output=n.flatten(this.ast.queue)}if(e.parent.count>1&&t.expand){this.output=multiply(this.output,e.parent.count)}this.output=n.arrayify(this.output);this.ast.queue=[]})};function multiply(e,t,r){return n.flatten(n.repeat(n.arrayify(e),t))}function isEscaped(e){return e.escaped===true}function isOptimized(e,t){if(e.parent.isOptimized)return true;return isType(e.parent,"brace")&&!isEscaped(e.parent)&&t.expand!==true}function isLiteralBrace(e,t){return isEscaped(e.parent)||t.optimize!==false}function noInner(e,t){if(e.parent.queue.length===1){return true}var r=e.parent.nodes;return r.length===3&&isType(r[0],"brace.open")&&!isType(r[1],"text")&&isType(r[2],"brace.close")}function isType(e,t){return typeof e!=="undefined"&&e.type===t}function hasQueue(e){return Array.isArray(e.queue)&&e.queue.length}},function(e,t,r){"use strict";var n=r(22);e.exports=TemplateItem;function isPercent(e){if(typeof e!=="string")return false;return e.slice(-1)==="%"}function percent(e){return Number(e.slice(0,-1))/100}function TemplateItem(e,t){this.overallOutputLength=t;this.finished=false;this.type=null;this.value=null;this.length=null;this.maxLength=null;this.minLength=null;this.kerning=null;this.align="left";this.padLeft=0;this.padRight=0;this.index=null;this.first=null;this.last=null;if(typeof e==="string"){this.value=e}else{for(var r in e)this[r]=e[r]}if(isPercent(this.length)){this.length=Math.round(this.overallOutputLength*percent(this.length))}if(isPercent(this.minLength)){this.minLength=Math.round(this.overallOutputLength*percent(this.minLength))}if(isPercent(this.maxLength)){this.maxLength=Math.round(this.overallOutputLength*percent(this.maxLength))}return this}TemplateItem.prototype={};TemplateItem.prototype.getBaseLength=function(){var e=this.length;if(e==null&&typeof this.value==="string"&&this.maxLength==null&&this.minLength==null){e=n(this.value)}return e};TemplateItem.prototype.getLength=function(){var e=this.getBaseLength();if(e==null)return null;return e+this.padLeft+this.padRight};TemplateItem.prototype.getMaxLength=function(){if(this.maxLength==null)return null;return this.maxLength+this.padLeft+this.padRight};TemplateItem.prototype.getMinLength=function(){if(this.minLength==null)return null;return this.minLength+this.padLeft+this.padRight}},,,,,function(e,t,r){var n=r(790);var i=function(){return[{type:n.RANGE,from:48,to:57}]};var a=function(){return[{type:n.CHAR,value:95},{type:n.RANGE,from:97,to:122},{type:n.RANGE,from:65,to:90}].concat(i())};var s=function(){return[{type:n.CHAR,value:9},{type:n.CHAR,value:10},{type:n.CHAR,value:11},{type:n.CHAR,value:12},{type:n.CHAR,value:13},{type:n.CHAR,value:32},{type:n.CHAR,value:160},{type:n.CHAR,value:5760},{type:n.CHAR,value:6158},{type:n.CHAR,value:8192},{type:n.CHAR,value:8193},{type:n.CHAR,value:8194},{type:n.CHAR,value:8195},{type:n.CHAR,value:8196},{type:n.CHAR,value:8197},{type:n.CHAR,value:8198},{type:n.CHAR,value:8199},{type:n.CHAR,value:8200},{type:n.CHAR,value:8201},{type:n.CHAR,value:8202},{type:n.CHAR,value:8232},{type:n.CHAR,value:8233},{type:n.CHAR,value:8239},{type:n.CHAR,value:8287},{type:n.CHAR,value:12288},{type:n.CHAR,value:65279}]};var o=function(){return[{type:n.CHAR,value:10},{type:n.CHAR,value:13},{type:n.CHAR,value:8232},{type:n.CHAR,value:8233}]};t.words=function(){return{type:n.SET,set:a(),not:false}};t.notWords=function(){return{type:n.SET,set:a(),not:true}};t.ints=function(){return{type:n.SET,set:i(),not:false}};t.notInts=function(){return{type:n.SET,set:i(),not:true}};t.whitespace=function(){return{type:n.SET,set:s(),not:false}};t.notWhitespace=function(){return{type:n.SET,set:s(),not:true}};t.anyChar=function(){return{type:n.SET,set:o(),not:true}}},,function(e,t){(function(e,r){true?r(t):undefined})(this,function(e){"use strict";var t={3:"abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile",5:"class enum extends super const export import",6:"enum",strict:"implements interface let package private protected public static yield",strictBind:"eval arguments"};var r="break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this";var n={5:r,"5module":r+" export import",6:r+" const class extends export import super"};var i=/^in(stanceof)?$/;var a="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࢠ-ࢴࢶ-ࢽऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿯ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞿꟂ-Ᶎꟷ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭧꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ";var s="‌‍·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࣓-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍ୖୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ංඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-ໍ໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜔ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠐-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷹᷻-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_";var o=new RegExp("["+a+"]");var u=new RegExp("["+a+s+"]");a=s=null;var f=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,477,28,11,0,9,21,155,22,13,52,76,44,33,24,27,35,30,0,12,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,0,33,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,230,43,117,63,32,0,161,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,35,56,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,270,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,754,9486,286,50,2,18,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,2357,44,11,6,17,0,370,43,1301,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42710,42,4148,12,221,3,5761,15,7472,3104,541];var c=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,525,10,176,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,4,9,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,232,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,135,4,60,6,26,9,1014,0,2,54,8,3,19723,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,262,6,10,9,419,13,1495,6,110,6,6,9,792487,239];function isInAstralSet(e,t){var r=65536;for(var n=0;ne){return false}r+=t[n+1];if(r>=e){return true}}}function isIdentifierStart(e,t){if(e<65){return e===36}if(e<91){return true}if(e<97){return e===95}if(e<123){return true}if(e<=65535){return e>=170&&o.test(String.fromCharCode(e))}if(t===false){return false}return isInAstralSet(e,f)}function isIdentifierChar(e,t){if(e<48){return e===36}if(e<58){return true}if(e<65){return false}if(e<91){return true}if(e<97){return e===95}if(e<123){return true}if(e<=65535){return e>=170&&u.test(String.fromCharCode(e))}if(t===false){return false}return isInAstralSet(e,f)||isInAstralSet(e,c)}var l=function TokenType(e,t){if(t===void 0)t={};this.label=e;this.keyword=t.keyword;this.beforeExpr=!!t.beforeExpr;this.startsExpr=!!t.startsExpr;this.isLoop=!!t.isLoop;this.isAssign=!!t.isAssign;this.prefix=!!t.prefix;this.postfix=!!t.postfix;this.binop=t.binop||null;this.updateContext=null};function binop(e,t){return new l(e,{beforeExpr:true,binop:t})}var h={beforeExpr:true},p={startsExpr:true};var v={};function kw(e,t){if(t===void 0)t={};t.keyword=e;return v[e]=new l(e,t)}var d={num:new l("num",p),regexp:new l("regexp",p),string:new l("string",p),name:new l("name",p),eof:new l("eof"),bracketL:new l("[",{beforeExpr:true,startsExpr:true}),bracketR:new l("]"),braceL:new l("{",{beforeExpr:true,startsExpr:true}),braceR:new l("}"),parenL:new l("(",{beforeExpr:true,startsExpr:true}),parenR:new l(")"),comma:new l(",",h),semi:new l(";",h),colon:new l(":",h),dot:new l("."),question:new l("?",h),arrow:new l("=>",h),template:new l("template"),invalidTemplate:new l("invalidTemplate"),ellipsis:new l("...",h),backQuote:new l("`",p),dollarBraceL:new l("${",{beforeExpr:true,startsExpr:true}),eq:new l("=",{beforeExpr:true,isAssign:true}),assign:new l("_=",{beforeExpr:true,isAssign:true}),incDec:new l("++/--",{prefix:true,postfix:true,startsExpr:true}),prefix:new l("!/~",{beforeExpr:true,prefix:true,startsExpr:true}),logicalOR:binop("||",1),logicalAND:binop("&&",2),bitwiseOR:binop("|",3),bitwiseXOR:binop("^",4),bitwiseAND:binop("&",5),equality:binop("==/!=/===/!==",6),relational:binop("/<=/>=",7),bitShift:binop("<>/>>>",8),plusMin:new l("+/-",{beforeExpr:true,binop:9,prefix:true,startsExpr:true}),modulo:binop("%",10),star:binop("*",10),slash:binop("/",10),starstar:new l("**",{beforeExpr:true}),_break:kw("break"),_case:kw("case",h),_catch:kw("catch"),_continue:kw("continue"),_debugger:kw("debugger"),_default:kw("default",h),_do:kw("do",{isLoop:true,beforeExpr:true}),_else:kw("else",h),_finally:kw("finally"),_for:kw("for",{isLoop:true}),_function:kw("function",p),_if:kw("if"),_return:kw("return",h),_switch:kw("switch"),_throw:kw("throw",h),_try:kw("try"),_var:kw("var"),_const:kw("const"),_while:kw("while",{isLoop:true}),_with:kw("with"),_new:kw("new",{beforeExpr:true,startsExpr:true}),_this:kw("this",p),_super:kw("super",p),_class:kw("class",p),_extends:kw("extends",h),_export:kw("export"),_import:kw("import",p),_null:kw("null",p),_true:kw("true",p),_false:kw("false",p),_in:kw("in",{beforeExpr:true,binop:7}),_instanceof:kw("instanceof",{beforeExpr:true,binop:7}),_typeof:kw("typeof",{beforeExpr:true,prefix:true,startsExpr:true}),_void:kw("void",{beforeExpr:true,prefix:true,startsExpr:true}),_delete:kw("delete",{beforeExpr:true,prefix:true,startsExpr:true})};var y=/\r\n?|\n|\u2028|\u2029/;var g=new RegExp(y.source,"g");function isNewLine(e,t){return e===10||e===13||!t&&(e===8232||e===8233)}var b=/[\u1680\u2000-\u200a\u202f\u205f\u3000\ufeff]/;var m=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g;var _=Object.prototype;var w=_.hasOwnProperty;var E=_.toString;function has(e,t){return w.call(e,t)}var D=Array.isArray||function(e){return E.call(e)==="[object Array]"};function wordsRegexp(e){return new RegExp("^(?:"+e.replace(/ /g,"|")+")$")}var A=function Position(e,t){this.line=e;this.column=t};A.prototype.offset=function offset(e){return new A(this.line,this.column+e)};var C=function SourceLocation(e,t,r){this.start=t;this.end=r;if(e.sourceFile!==null){this.source=e.sourceFile}};function getLineInfo(e,t){for(var r=1,n=0;;){g.lastIndex=n;var i=g.exec(e);if(i&&i.index=2015){t.ecmaVersion-=2009}if(t.allowReserved==null){t.allowReserved=t.ecmaVersion<5}if(D(t.onToken)){var n=t.onToken;t.onToken=function(e){return n.push(e)}}if(D(t.onComment)){t.onComment=pushComment(t,t.onComment)}return t}function pushComment(e,t){return function(r,n,i,a,s,o){var u={type:r?"Block":"Line",value:n,start:i,end:a};if(e.locations){u.loc=new C(this,s,o)}if(e.ranges){u.range=[i,a]}t.push(u)}}var S=1,k=2,F=S|k,O=4,T=8,R=16,j=32,I=64,N=128;function functionFlags(e,t){return k|(e?O:0)|(t?T:0)}var B=0,P=1,L=2,M=3,q=4,G=5;var W=function Parser(e,r,i){this.options=e=getOptions(e);this.sourceFile=e.sourceFile;this.keywords=wordsRegexp(n[e.ecmaVersion>=6?6:e.sourceType==="module"?"5module":5]);var a="";if(e.allowReserved!==true){for(var s=e.ecmaVersion;;s--){if(a=t[s]){break}}if(e.sourceType==="module"){a+=" await"}}this.reservedWords=wordsRegexp(a);var o=(a?a+" ":"")+t.strict;this.reservedWordsStrict=wordsRegexp(o);this.reservedWordsStrictBind=wordsRegexp(o+" "+t.strictBind);this.input=String(r);this.containsEsc=false;if(i){this.pos=i;this.lineStart=this.input.lastIndexOf("\n",i-1)+1;this.curLine=this.input.slice(0,this.lineStart).split(y).length}else{this.pos=this.lineStart=0;this.curLine=1}this.type=d.eof;this.value=null;this.start=this.end=this.pos;this.startLoc=this.endLoc=this.curPosition();this.lastTokEndLoc=this.lastTokStartLoc=null;this.lastTokStart=this.lastTokEnd=this.pos;this.context=this.initialContext();this.exprAllowed=true;this.inModule=e.sourceType==="module";this.strict=this.inModule||this.strictDirective(this.pos);this.potentialArrowAt=-1;this.yieldPos=this.awaitPos=this.awaitIdentPos=0;this.labels=[];this.undefinedExports={};if(this.pos===0&&e.allowHashBang&&this.input.slice(0,2)==="#!"){this.skipLineComment(2)}this.scopeStack=[];this.enterScope(S);this.regexpState=null};var U={inFunction:{configurable:true},inGenerator:{configurable:true},inAsync:{configurable:true},allowSuper:{configurable:true},allowDirectSuper:{configurable:true},treatFunctionsAsVar:{configurable:true}};W.prototype.parse=function parse(){var e=this.options.program||this.startNode();this.nextToken();return this.parseTopLevel(e)};U.inFunction.get=function(){return(this.currentVarScope().flags&k)>0};U.inGenerator.get=function(){return(this.currentVarScope().flags&T)>0};U.inAsync.get=function(){return(this.currentVarScope().flags&O)>0};U.allowSuper.get=function(){return(this.currentThisScope().flags&I)>0};U.allowDirectSuper.get=function(){return(this.currentThisScope().flags&N)>0};U.treatFunctionsAsVar.get=function(){return this.treatFunctionsAsVarInScope(this.currentScope())};W.prototype.inNonArrowFunction=function inNonArrowFunction(){return(this.currentThisScope().flags&k)>0};W.extend=function extend(){var e=[],t=arguments.length;while(t--)e[t]=arguments[t];var r=this;for(var n=0;n-1){this.raiseRecoverable(e.trailingComma,"Comma is not permitted after the rest element")}var r=t?e.parenthesizedAssign:e.parenthesizedBind;if(r>-1){this.raiseRecoverable(r,"Parenthesized pattern")}};V.checkExpressionErrors=function(e,t){if(!e){return false}var r=e.shorthandAssign;var n=e.doubleProto;if(!t){return r>=0||n>=0}if(r>=0){this.raise(r,"Shorthand property assignments are valid only in destructuring patterns")}if(n>=0){this.raiseRecoverable(n,"Redefinition of __proto__ property")}};V.checkYieldAwaitInDefaultParams=function(){if(this.yieldPos&&(!this.awaitPos||this.yieldPos=6){this.unexpected()}return this.parseFunctionStatement(i,false,!e);case d._class:if(e){this.unexpected()}return this.parseClass(i,true);case d._if:return this.parseIfStatement(i);case d._return:return this.parseReturnStatement(i);case d._switch:return this.parseSwitchStatement(i);case d._throw:return this.parseThrowStatement(i);case d._try:return this.parseTryStatement(i);case d._const:case d._var:a=a||this.value;if(e&&a!=="var"){this.unexpected()}return this.parseVarStatement(i,a);case d._while:return this.parseWhileStatement(i);case d._with:return this.parseWithStatement(i);case d.braceL:return this.parseBlock(true,i);case d.semi:return this.parseEmptyStatement(i);case d._export:case d._import:if(this.options.ecmaVersion>10&&n===d._import){m.lastIndex=this.pos;var s=m.exec(this.input);var o=this.pos+s[0].length,u=this.input.charCodeAt(o);if(u===40){return this.parseExpressionStatement(i,this.parseExpression())}}if(!this.options.allowImportExportEverywhere){if(!t){this.raise(this.start,"'import' and 'export' may only appear at the top level")}if(!this.inModule){this.raise(this.start,"'import' and 'export' may appear only with 'sourceType: module'")}}return n===d._import?this.parseImport(i):this.parseExport(i,r);default:if(this.isAsyncFunction()){if(e){this.unexpected()}this.next();return this.parseFunctionStatement(i,true,!e)}var f=this.value,c=this.parseExpression();if(n===d.name&&c.type==="Identifier"&&this.eat(d.colon)){return this.parseLabeledStatement(i,f,c,e)}else{return this.parseExpressionStatement(i,c)}}};$.parseBreakContinueStatement=function(e,t){var r=t==="break";this.next();if(this.eat(d.semi)||this.insertSemicolon()){e.label=null}else if(this.type!==d.name){this.unexpected()}else{e.label=this.parseIdent();this.semicolon()}var n=0;for(;n=6){this.eat(d.semi)}else{this.semicolon()}return this.finishNode(e,"DoWhileStatement")};$.parseForStatement=function(e){this.next();var t=this.options.ecmaVersion>=9&&(this.inAsync||!this.inFunction&&this.options.allowAwaitOutsideFunction)&&this.eatContextual("await")?this.lastTokStart:-1;this.labels.push(H);this.enterScope(0);this.expect(d.parenL);if(this.type===d.semi){if(t>-1){this.unexpected(t)}return this.parseFor(e,null)}var r=this.isLet();if(this.type===d._var||this.type===d._const||r){var n=this.startNode(),i=r?"let":this.value;this.next();this.parseVar(n,true,i);this.finishNode(n,"VariableDeclaration");if((this.type===d._in||this.options.ecmaVersion>=6&&this.isContextual("of"))&&n.declarations.length===1){if(this.options.ecmaVersion>=9){if(this.type===d._in){if(t>-1){this.unexpected(t)}}else{e.await=t>-1}}return this.parseForIn(e,n)}if(t>-1){this.unexpected(t)}return this.parseFor(e,n)}var a=new DestructuringErrors;var s=this.parseExpression(true,a);if(this.type===d._in||this.options.ecmaVersion>=6&&this.isContextual("of")){if(this.options.ecmaVersion>=9){if(this.type===d._in){if(t>-1){this.unexpected(t)}}else{e.await=t>-1}}this.toAssignable(s,false,a);this.checkLVal(s);return this.parseForIn(e,s)}else{this.checkExpressionErrors(a,true)}if(t>-1){this.unexpected(t)}return this.parseFor(e,s)};$.parseFunctionStatement=function(e,t,r){this.next();return this.parseFunction(e,K|(r?0:Z),false,t)};$.parseIfStatement=function(e){this.next();e.test=this.parseParenExpression();e.consequent=this.parseStatement("if");e.alternate=this.eat(d._else)?this.parseStatement("if"):null;return this.finishNode(e,"IfStatement")};$.parseReturnStatement=function(e){if(!this.inFunction&&!this.options.allowReturnOutsideFunction){this.raise(this.start,"'return' outside of function")}this.next();if(this.eat(d.semi)||this.insertSemicolon()){e.argument=null}else{e.argument=this.parseExpression();this.semicolon()}return this.finishNode(e,"ReturnStatement")};$.parseSwitchStatement=function(e){this.next();e.discriminant=this.parseParenExpression();e.cases=[];this.expect(d.braceL);this.labels.push(J);this.enterScope(0);var t;for(var r=false;this.type!==d.braceR;){if(this.type===d._case||this.type===d._default){var n=this.type===d._case;if(t){this.finishNode(t,"SwitchCase")}e.cases.push(t=this.startNode());t.consequent=[];this.next();if(n){t.test=this.parseExpression()}else{if(r){this.raiseRecoverable(this.lastTokStart,"Multiple default clauses")}r=true;t.test=null}this.expect(d.colon)}else{if(!t){this.unexpected()}t.consequent.push(this.parseStatement(null))}}this.exitScope();if(t){this.finishNode(t,"SwitchCase")}this.next();this.labels.pop();return this.finishNode(e,"SwitchStatement")};$.parseThrowStatement=function(e){this.next();if(y.test(this.input.slice(this.lastTokEnd,this.start))){this.raise(this.lastTokEnd,"Illegal newline after throw")}e.argument=this.parseExpression();this.semicolon();return this.finishNode(e,"ThrowStatement")};var Q=[];$.parseTryStatement=function(e){this.next();e.block=this.parseBlock();e.handler=null;if(this.type===d._catch){var t=this.startNode();this.next();if(this.eat(d.parenL)){t.param=this.parseBindingAtom();var r=t.param.type==="Identifier";this.enterScope(r?j:0);this.checkLVal(t.param,r?q:L);this.expect(d.parenR)}else{if(this.options.ecmaVersion<10){this.unexpected()}t.param=null;this.enterScope(0)}t.body=this.parseBlock(false);this.exitScope();e.handler=this.finishNode(t,"CatchClause")}e.finalizer=this.eat(d._finally)?this.parseBlock():null;if(!e.handler&&!e.finalizer){this.raise(e.start,"Missing catch or finally clause")}return this.finishNode(e,"TryStatement")};$.parseVarStatement=function(e,t){this.next();this.parseVar(e,false,t);this.semicolon();return this.finishNode(e,"VariableDeclaration")};$.parseWhileStatement=function(e){this.next();e.test=this.parseParenExpression();this.labels.push(H);e.body=this.parseStatement("while");this.labels.pop();return this.finishNode(e,"WhileStatement")};$.parseWithStatement=function(e){if(this.strict){this.raise(this.start,"'with' in strict mode")}this.next();e.object=this.parseParenExpression();e.body=this.parseStatement("with");return this.finishNode(e,"WithStatement")};$.parseEmptyStatement=function(e){this.next();return this.finishNode(e,"EmptyStatement")};$.parseLabeledStatement=function(e,t,r,n){for(var i=0,a=this.labels;i=0;u--){var f=this.labels[u];if(f.statementStart===e.start){f.statementStart=this.start;f.kind=o}else{break}}this.labels.push({name:t,kind:o,statementStart:this.start});e.body=this.parseStatement(n?n.indexOf("label")===-1?n+"label":n:"label");this.labels.pop();e.label=r;return this.finishNode(e,"LabeledStatement")};$.parseExpressionStatement=function(e,t){e.expression=t;this.semicolon();return this.finishNode(e,"ExpressionStatement")};$.parseBlock=function(e,t){if(e===void 0)e=true;if(t===void 0)t=this.startNode();t.body=[];this.expect(d.braceL);if(e){this.enterScope(0)}while(!this.eat(d.braceR)){var r=this.parseStatement(null);t.body.push(r)}if(e){this.exitScope()}return this.finishNode(t,"BlockStatement")};$.parseFor=function(e,t){e.init=t;this.expect(d.semi);e.test=this.type===d.semi?null:this.parseExpression();this.expect(d.semi);e.update=this.type===d.parenR?null:this.parseExpression();this.expect(d.parenR);e.body=this.parseStatement("for");this.exitScope();this.labels.pop();return this.finishNode(e,"ForStatement")};$.parseForIn=function(e,t){var r=this.type===d._in;this.next();if(t.type==="VariableDeclaration"&&t.declarations[0].init!=null&&(!r||this.options.ecmaVersion<8||this.strict||t.kind!=="var"||t.declarations[0].id.type!=="Identifier")){this.raise(t.start,(r?"for-in":"for-of")+" loop variable declaration may not have an initializer")}else if(t.type==="AssignmentPattern"){this.raise(t.start,"Invalid left-hand side in for-loop")}e.left=t;e.right=r?this.parseExpression():this.parseMaybeAssign();this.expect(d.parenR);e.body=this.parseStatement("for");this.exitScope();this.labels.pop();return this.finishNode(e,r?"ForInStatement":"ForOfStatement")};$.parseVar=function(e,t,r){e.declarations=[];e.kind=r;for(;;){var n=this.startNode();this.parseVarId(n,r);if(this.eat(d.eq)){n.init=this.parseMaybeAssign(t)}else if(r==="const"&&!(this.type===d._in||this.options.ecmaVersion>=6&&this.isContextual("of"))){this.unexpected()}else if(n.id.type!=="Identifier"&&!(t&&(this.type===d._in||this.isContextual("of")))){this.raise(this.lastTokEnd,"Complex binding patterns require an initialization value")}else{n.init=null}e.declarations.push(this.finishNode(n,"VariableDeclarator"));if(!this.eat(d.comma)){break}}return e};$.parseVarId=function(e,t){e.id=this.parseBindingAtom();this.checkLVal(e.id,t==="var"?P:L,false)};var K=1,Z=2,X=4;$.parseFunction=function(e,t,r,n){this.initFunction(e);if(this.options.ecmaVersion>=9||this.options.ecmaVersion>=6&&!n){if(this.type===d.star&&t&Z){this.unexpected()}e.generator=this.eat(d.star)}if(this.options.ecmaVersion>=8){e.async=!!n}if(t&K){e.id=t&X&&this.type!==d.name?null:this.parseIdent();if(e.id&&!(t&Z)){this.checkLVal(e.id,this.strict||e.generator||e.async?this.treatFunctionsAsVar?P:L:M)}}var i=this.yieldPos,a=this.awaitPos,s=this.awaitIdentPos;this.yieldPos=0;this.awaitPos=0;this.awaitIdentPos=0;this.enterScope(functionFlags(e.async,e.generator));if(!(t&K)){e.id=this.type===d.name?this.parseIdent():null}this.parseFunctionParams(e);this.parseFunctionBody(e,r,false);this.yieldPos=i;this.awaitPos=a;this.awaitIdentPos=s;return this.finishNode(e,t&K?"FunctionDeclaration":"FunctionExpression")};$.parseFunctionParams=function(e){this.expect(d.parenL);e.params=this.parseBindingList(d.parenR,false,this.options.ecmaVersion>=8);this.checkYieldAwaitInDefaultParams()};$.parseClass=function(e,t){this.next();var r=this.strict;this.strict=true;this.parseClassId(e,t);this.parseClassSuper(e);var n=this.startNode();var i=false;n.body=[];this.expect(d.braceL);while(!this.eat(d.braceR)){var a=this.parseClassElement(e.superClass!==null);if(a){n.body.push(a);if(a.type==="MethodDefinition"&&a.kind==="constructor"){if(i){this.raise(a.start,"Duplicate constructor in the same class")}i=true}}}e.body=this.finishNode(n,"ClassBody");this.strict=r;return this.finishNode(e,t?"ClassDeclaration":"ClassExpression")};$.parseClassElement=function(e){var t=this;if(this.eat(d.semi)){return null}var r=this.startNode();var n=function(e,n){if(n===void 0)n=false;var i=t.start,a=t.startLoc;if(!t.eatContextual(e)){return false}if(t.type!==d.parenL&&(!n||!t.canInsertSemicolon())){return true}if(r.key){t.unexpected()}r.computed=false;r.key=t.startNodeAt(i,a);r.key.name=e;t.finishNode(r.key,"Identifier");return false};r.kind="method";r.static=n("static");var i=this.eat(d.star);var a=false;if(!i){if(this.options.ecmaVersion>=8&&n("async",true)){a=true;i=this.options.ecmaVersion>=9&&this.eat(d.star)}else if(n("get")){r.kind="get"}else if(n("set")){r.kind="set"}}if(!r.key){this.parsePropertyName(r)}var s=r.key;var o=false;if(!r.computed&&!r.static&&(s.type==="Identifier"&&s.name==="constructor"||s.type==="Literal"&&s.value==="constructor")){if(r.kind!=="method"){this.raise(s.start,"Constructor can't have get/set modifier")}if(i){this.raise(s.start,"Constructor can't be a generator")}if(a){this.raise(s.start,"Constructor can't be an async method")}r.kind="constructor";o=e}else if(r.static&&s.type==="Identifier"&&s.name==="prototype"){this.raise(s.start,"Classes may not have a static property named prototype")}this.parseClassMethod(r,i,a,o);if(r.kind==="get"&&r.value.params.length!==0){this.raiseRecoverable(r.value.start,"getter should have no params")}if(r.kind==="set"&&r.value.params.length!==1){this.raiseRecoverable(r.value.start,"setter should have exactly one param")}if(r.kind==="set"&&r.value.params[0].type==="RestElement"){this.raiseRecoverable(r.value.params[0].start,"Setter cannot use rest params")}return r};$.parseClassMethod=function(e,t,r,n){e.value=this.parseMethod(t,r,n);return this.finishNode(e,"MethodDefinition")};$.parseClassId=function(e,t){if(this.type===d.name){e.id=this.parseIdent();if(t){this.checkLVal(e.id,L,false)}}else{if(t===true){this.unexpected()}e.id=null}};$.parseClassSuper=function(e){e.superClass=this.eat(d._extends)?this.parseExprSubscripts():null};$.parseExport=function(e,t){this.next();if(this.eat(d.star)){this.expectContextual("from");if(this.type!==d.string){this.unexpected()}e.source=this.parseExprAtom();this.semicolon();return this.finishNode(e,"ExportAllDeclaration")}if(this.eat(d._default)){this.checkExport(t,"default",this.lastTokStart);var r;if(this.type===d._function||(r=this.isAsyncFunction())){var n=this.startNode();this.next();if(r){this.next()}e.declaration=this.parseFunction(n,K|X,false,r)}else if(this.type===d._class){var i=this.startNode();e.declaration=this.parseClass(i,"nullableID")}else{e.declaration=this.parseMaybeAssign();this.semicolon()}return this.finishNode(e,"ExportDefaultDeclaration")}if(this.shouldParseExportStatement()){e.declaration=this.parseStatement(null);if(e.declaration.type==="VariableDeclaration"){this.checkVariableExport(t,e.declaration.declarations)}else{this.checkExport(t,e.declaration.id.name,e.declaration.id.start)}e.specifiers=[];e.source=null}else{e.declaration=null;e.specifiers=this.parseExportSpecifiers(t);if(this.eatContextual("from")){if(this.type!==d.string){this.unexpected()}e.source=this.parseExprAtom()}else{for(var a=0,s=e.specifiers;a=6&&e){switch(e.type){case"Identifier":if(this.inAsync&&e.name==="await"){this.raise(e.start,"Cannot use 'await' as identifier inside an async function")}break;case"ObjectPattern":case"ArrayPattern":case"RestElement":break;case"ObjectExpression":e.type="ObjectPattern";if(r){this.checkPatternErrors(r,true)}for(var n=0,i=e.properties;n=8&&!a&&s.name==="async"&&!this.canInsertSemicolon()&&this.eat(d._function)){return this.parseFunction(this.startNodeAt(n,i),0,false,true)}if(r&&!this.canInsertSemicolon()){if(this.eat(d.arrow)){return this.parseArrowExpression(this.startNodeAt(n,i),[s],false)}if(this.options.ecmaVersion>=8&&s.name==="async"&&this.type===d.name&&!a){s=this.parseIdent(false);if(this.canInsertSemicolon()||!this.eat(d.arrow)){this.unexpected()}return this.parseArrowExpression(this.startNodeAt(n,i),[s],true)}}return s;case d.regexp:var o=this.value;t=this.parseLiteral(o.value);t.regex={pattern:o.pattern,flags:o.flags};return t;case d.num:case d.string:return this.parseLiteral(this.value);case d._null:case d._true:case d._false:t=this.startNode();t.value=this.type===d._null?null:this.type===d._true;t.raw=this.type.keyword;this.next();return this.finishNode(t,"Literal");case d.parenL:var u=this.start,f=this.parseParenAndDistinguishExpression(r);if(e){if(e.parenthesizedAssign<0&&!this.isSimpleAssignTarget(f)){e.parenthesizedAssign=u}if(e.parenthesizedBind<0){e.parenthesizedBind=u}}return f;case d.bracketL:t=this.startNode();this.next();t.elements=this.parseExprList(d.bracketR,true,true,e);return this.finishNode(t,"ArrayExpression");case d.braceL:return this.parseObj(false,e);case d._function:t=this.startNode();this.next();return this.parseFunction(t,0);case d._class:return this.parseClass(this.startNode(),false);case d._new:return this.parseNew();case d.backQuote:return this.parseTemplate();case d._import:if(this.options.ecmaVersion>10){return this.parseDynamicImport()}else{return this.unexpected()}default:this.unexpected()}};ee.parseDynamicImport=function(){var e=this.startNode();this.next();if(this.type!==d.parenL){this.unexpected()}return this.finishNode(e,"Import")};ee.parseLiteral=function(e){var t=this.startNode();t.value=e;t.raw=this.input.slice(this.start,this.end);if(t.raw.charCodeAt(t.raw.length-1)===110){t.bigint=t.raw.slice(0,-1)}this.next();return this.finishNode(t,"Literal")};ee.parseParenExpression=function(){this.expect(d.parenL);var e=this.parseExpression();this.expect(d.parenR);return e};ee.parseParenAndDistinguishExpression=function(e){var t=this.start,r=this.startLoc,n,i=this.options.ecmaVersion>=8;if(this.options.ecmaVersion>=6){this.next();var a=this.start,s=this.startLoc;var o=[],u=true,f=false;var c=new DestructuringErrors,l=this.yieldPos,h=this.awaitPos,p;this.yieldPos=0;this.awaitPos=0;while(this.type!==d.parenR){u?u=false:this.expect(d.comma);if(i&&this.afterTrailingComma(d.parenR,true)){f=true;break}else if(this.type===d.ellipsis){p=this.start;o.push(this.parseParenItem(this.parseRestBinding()));if(this.type===d.comma){this.raise(this.start,"Comma is not permitted after the rest element")}break}else{o.push(this.parseMaybeAssign(false,c,this.parseParenItem))}}var v=this.start,y=this.startLoc;this.expect(d.parenR);if(e&&!this.canInsertSemicolon()&&this.eat(d.arrow)){this.checkPatternErrors(c,false);this.checkYieldAwaitInDefaultParams();this.yieldPos=l;this.awaitPos=h;return this.parseParenArrowList(t,r,o)}if(!o.length||f){this.unexpected(this.lastTokStart)}if(p){this.unexpected(p)}this.checkExpressionErrors(c,true);this.yieldPos=l||this.yieldPos;this.awaitPos=h||this.awaitPos;if(o.length>1){n=this.startNodeAt(a,s);n.expressions=o;this.finishNodeAt(n,"SequenceExpression",v,y)}else{n=o[0]}}else{n=this.parseParenExpression()}if(this.options.preserveParens){var g=this.startNodeAt(t,r);g.expression=n;return this.finishNode(g,"ParenthesizedExpression")}else{return n}};ee.parseParenItem=function(e){return e};ee.parseParenArrowList=function(e,t,r){return this.parseArrowExpression(this.startNodeAt(e,t),r)};var te=[];ee.parseNew=function(){var e=this.startNode();var t=this.parseIdent(true);if(this.options.ecmaVersion>=6&&this.eat(d.dot)){e.meta=t;var r=this.containsEsc;e.property=this.parseIdent(true);if(e.property.name!=="target"||r){this.raiseRecoverable(e.property.start,"The only valid meta property for new is new.target")}if(!this.inNonArrowFunction()){this.raiseRecoverable(e.start,"new.target can only be used in functions")}return this.finishNode(e,"MetaProperty")}var n=this.start,i=this.startLoc;e.callee=this.parseSubscripts(this.parseExprAtom(),n,i,true);if(this.options.ecmaVersion>10&&e.callee.type==="Import"){this.raise(e.callee.start,"Cannot use new with import(...)")}if(this.eat(d.parenL)){e.arguments=this.parseExprList(d.parenR,this.options.ecmaVersion>=8&&e.callee.type!=="Import",false)}else{e.arguments=te}return this.finishNode(e,"NewExpression")};ee.parseTemplateElement=function(e){var t=e.isTagged;var r=this.startNode();if(this.type===d.invalidTemplate){if(!t){this.raiseRecoverable(this.start,"Bad escape sequence in untagged template literal")}r.value={raw:this.value,cooked:null}}else{r.value={raw:this.input.slice(this.start,this.end).replace(/\r\n?/g,"\n"),cooked:this.value}}this.next();r.tail=this.type===d.backQuote;return this.finishNode(r,"TemplateElement")};ee.parseTemplate=function(e){if(e===void 0)e={};var t=e.isTagged;if(t===void 0)t=false;var r=this.startNode();this.next();r.expressions=[];var n=this.parseTemplateElement({isTagged:t});r.quasis=[n];while(!n.tail){if(this.type===d.eof){this.raise(this.pos,"Unterminated template literal")}this.expect(d.dollarBraceL);r.expressions.push(this.parseExpression());this.expect(d.braceR);r.quasis.push(n=this.parseTemplateElement({isTagged:t}))}this.next();return this.finishNode(r,"TemplateLiteral")};ee.isAsyncProp=function(e){return!e.computed&&e.key.type==="Identifier"&&e.key.name==="async"&&(this.type===d.name||this.type===d.num||this.type===d.string||this.type===d.bracketL||this.type.keyword||this.options.ecmaVersion>=9&&this.type===d.star)&&!y.test(this.input.slice(this.lastTokEnd,this.start))};ee.parseObj=function(e,t){var r=this.startNode(),n=true,i={};r.properties=[];this.next();while(!this.eat(d.braceR)){if(!n){this.expect(d.comma);if(this.afterTrailingComma(d.braceR)){break}}else{n=false}var a=this.parseProperty(e,t);if(!e){this.checkPropClash(a,i,t)}r.properties.push(a)}return this.finishNode(r,e?"ObjectPattern":"ObjectExpression")};ee.parseProperty=function(e,t){var r=this.startNode(),n,i,a,s;if(this.options.ecmaVersion>=9&&this.eat(d.ellipsis)){if(e){r.argument=this.parseIdent(false);if(this.type===d.comma){this.raise(this.start,"Comma is not permitted after the rest element")}return this.finishNode(r,"RestElement")}if(this.type===d.parenL&&t){if(t.parenthesizedAssign<0){t.parenthesizedAssign=this.start}if(t.parenthesizedBind<0){t.parenthesizedBind=this.start}}r.argument=this.parseMaybeAssign(false,t);if(this.type===d.comma&&t&&t.trailingComma<0){t.trailingComma=this.start}return this.finishNode(r,"SpreadElement")}if(this.options.ecmaVersion>=6){r.method=false;r.shorthand=false;if(e||t){a=this.start;s=this.startLoc}if(!e){n=this.eat(d.star)}}var o=this.containsEsc;this.parsePropertyName(r);if(!e&&!o&&this.options.ecmaVersion>=8&&!n&&this.isAsyncProp(r)){i=true;n=this.options.ecmaVersion>=9&&this.eat(d.star);this.parsePropertyName(r,t)}else{i=false}this.parsePropertyValue(r,e,n,i,a,s,t,o);return this.finishNode(r,"Property")};ee.parsePropertyValue=function(e,t,r,n,i,a,s,o){if((r||n)&&this.type===d.colon){this.unexpected()}if(this.eat(d.colon)){e.value=t?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(false,s);e.kind="init"}else if(this.options.ecmaVersion>=6&&this.type===d.parenL){if(t){this.unexpected()}e.kind="init";e.method=true;e.value=this.parseMethod(r,n)}else if(!t&&!o&&this.options.ecmaVersion>=5&&!e.computed&&e.key.type==="Identifier"&&(e.key.name==="get"||e.key.name==="set")&&(this.type!==d.comma&&this.type!==d.braceR)){if(r||n){this.unexpected()}e.kind=e.key.name;this.parsePropertyName(e);e.value=this.parseMethod(false);var u=e.kind==="get"?0:1;if(e.value.params.length!==u){var f=e.value.start;if(e.kind==="get"){this.raiseRecoverable(f,"getter should have no params")}else{this.raiseRecoverable(f,"setter should have exactly one param")}}else{if(e.kind==="set"&&e.value.params[0].type==="RestElement"){this.raiseRecoverable(e.value.params[0].start,"Setter cannot use rest params")}}}else if(this.options.ecmaVersion>=6&&!e.computed&&e.key.type==="Identifier"){if(r||n){this.unexpected()}this.checkUnreserved(e.key);if(e.key.name==="await"&&!this.awaitIdentPos){this.awaitIdentPos=i}e.kind="init";if(t){e.value=this.parseMaybeDefault(i,a,e.key)}else if(this.type===d.eq&&s){if(s.shorthandAssign<0){s.shorthandAssign=this.start}e.value=this.parseMaybeDefault(i,a,e.key)}else{e.value=e.key}e.shorthand=true}else{this.unexpected()}};ee.parsePropertyName=function(e){if(this.options.ecmaVersion>=6){if(this.eat(d.bracketL)){e.computed=true;e.key=this.parseMaybeAssign();this.expect(d.bracketR);return e.key}else{e.computed=false}}return e.key=this.type===d.num||this.type===d.string?this.parseExprAtom():this.parseIdent(this.options.allowReserved!=="never")};ee.initFunction=function(e){e.id=null;if(this.options.ecmaVersion>=6){e.generator=e.expression=false}if(this.options.ecmaVersion>=8){e.async=false}};ee.parseMethod=function(e,t,r){var n=this.startNode(),i=this.yieldPos,a=this.awaitPos,s=this.awaitIdentPos;this.initFunction(n);if(this.options.ecmaVersion>=6){n.generator=e}if(this.options.ecmaVersion>=8){n.async=!!t}this.yieldPos=0;this.awaitPos=0;this.awaitIdentPos=0;this.enterScope(functionFlags(t,n.generator)|I|(r?N:0));this.expect(d.parenL);n.params=this.parseBindingList(d.parenR,false,this.options.ecmaVersion>=8);this.checkYieldAwaitInDefaultParams();this.parseFunctionBody(n,false,true);this.yieldPos=i;this.awaitPos=a;this.awaitIdentPos=s;return this.finishNode(n,"FunctionExpression")};ee.parseArrowExpression=function(e,t,r){var n=this.yieldPos,i=this.awaitPos,a=this.awaitIdentPos;this.enterScope(functionFlags(r,false)|R);this.initFunction(e);if(this.options.ecmaVersion>=8){e.async=!!r}this.yieldPos=0;this.awaitPos=0;this.awaitIdentPos=0;e.params=this.toAssignableList(t,true);this.parseFunctionBody(e,true,false);this.yieldPos=n;this.awaitPos=i;this.awaitIdentPos=a;return this.finishNode(e,"ArrowFunctionExpression")};ee.parseFunctionBody=function(e,t,r){var n=t&&this.type!==d.braceL;var i=this.strict,a=false;if(n){e.body=this.parseMaybeAssign();e.expression=true;this.checkParams(e,false)}else{var s=this.options.ecmaVersion>=7&&!this.isSimpleParamList(e.params);if(!i||s){a=this.strictDirective(this.end);if(a&&s){this.raiseRecoverable(e.start,"Illegal 'use strict' directive in function with non-simple parameter list")}}var o=this.labels;this.labels=[];if(a){this.strict=true}this.checkParams(e,!i&&!a&&!t&&!r&&this.isSimpleParamList(e.params));e.body=this.parseBlock(false);e.expression=false;this.adaptDirectivePrologue(e.body.body);this.labels=o}this.exitScope();if(this.strict&&e.id){this.checkLVal(e.id,G)}this.strict=i};ee.isSimpleParamList=function(e){for(var t=0,r=e;t-1||i.functions.indexOf(e)>-1||i.var.indexOf(e)>-1;i.lexical.push(e);if(this.inModule&&i.flags&S){delete this.undefinedExports[e]}}else if(t===q){var a=this.currentScope();a.lexical.push(e)}else if(t===M){var s=this.currentScope();if(this.treatFunctionsAsVar){n=s.lexical.indexOf(e)>-1}else{n=s.lexical.indexOf(e)>-1||s.var.indexOf(e)>-1}s.functions.push(e)}else{for(var o=this.scopeStack.length-1;o>=0;--o){var u=this.scopeStack[o];if(u.lexical.indexOf(e)>-1&&!(u.flags&j&&u.lexical[0]===e)||!this.treatFunctionsAsVarInScope(u)&&u.functions.indexOf(e)>-1){n=true;break}u.var.push(e);if(this.inModule&&u.flags&S){delete this.undefinedExports[e]}if(u.flags&F){break}}}if(n){this.raiseRecoverable(r,"Identifier '"+e+"' has already been declared")}};ne.checkLocalExport=function(e){if(this.scopeStack[0].lexical.indexOf(e.name)===-1&&this.scopeStack[0].var.indexOf(e.name)===-1){this.undefinedExports[e.name]=e}};ne.currentScope=function(){return this.scopeStack[this.scopeStack.length-1]};ne.currentVarScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(t.flags&F){return t}}};ne.currentThisScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(t.flags&F&&!(t.flags&R)){return t}}};var ae=function Node(e,t,r){this.type="";this.start=t;this.end=0;if(e.options.locations){this.loc=new C(e,r)}if(e.options.directSourceFile){this.sourceFile=e.options.directSourceFile}if(e.options.ranges){this.range=[t,0]}};var se=W.prototype;se.startNode=function(){return new ae(this,this.start,this.startLoc)};se.startNodeAt=function(e,t){return new ae(this,e,t)};function finishNodeAt(e,t,r,n){e.type=t;e.end=r;if(this.options.locations){e.loc.end=n}if(this.options.ranges){e.range[1]=r}return e}se.finishNode=function(e,t){return finishNodeAt.call(this,e,t,this.lastTokEnd,this.lastTokEndLoc)};se.finishNodeAt=function(e,t,r,n){return finishNodeAt.call(this,e,t,r,n)};var oe=function TokContext(e,t,r,n,i){this.token=e;this.isExpr=!!t;this.preserveSpace=!!r;this.override=n;this.generator=!!i};var ue={b_stat:new oe("{",false),b_expr:new oe("{",true),b_tmpl:new oe("${",false),p_stat:new oe("(",false),p_expr:new oe("(",true),q_tmpl:new oe("`",true,true,function(e){return e.tryReadTemplateToken()}),f_stat:new oe("function",false),f_expr:new oe("function",true),f_expr_gen:new oe("function",true,false,null,true),f_gen:new oe("function",false,false,null,true)};var fe=W.prototype;fe.initialContext=function(){return[ue.b_stat]};fe.braceIsBlock=function(e){var t=this.curContext();if(t===ue.f_expr||t===ue.f_stat){return true}if(e===d.colon&&(t===ue.b_stat||t===ue.b_expr)){return!t.isExpr}if(e===d._return||e===d.name&&this.exprAllowed){return y.test(this.input.slice(this.lastTokEnd,this.start))}if(e===d._else||e===d.semi||e===d.eof||e===d.parenR||e===d.arrow){return true}if(e===d.braceL){return t===ue.b_stat}if(e===d._var||e===d._const||e===d.name){return false}return!this.exprAllowed};fe.inGeneratorContext=function(){for(var e=this.context.length-1;e>=1;e--){var t=this.context[e];if(t.token==="function"){return t.generator}}return false};fe.updateContext=function(e){var t,r=this.type;if(r.keyword&&e===d.dot){this.exprAllowed=false}else if(t=r.updateContext){t.call(this,e)}else{this.exprAllowed=r.beforeExpr}};d.parenR.updateContext=d.braceR.updateContext=function(){if(this.context.length===1){this.exprAllowed=true;return}var e=this.context.pop();if(e===ue.b_stat&&this.curContext().token==="function"){e=this.context.pop()}this.exprAllowed=!e.isExpr};d.braceL.updateContext=function(e){this.context.push(this.braceIsBlock(e)?ue.b_stat:ue.b_expr);this.exprAllowed=true};d.dollarBraceL.updateContext=function(){this.context.push(ue.b_tmpl);this.exprAllowed=true};d.parenL.updateContext=function(e){var t=e===d._if||e===d._for||e===d._with||e===d._while;this.context.push(t?ue.p_stat:ue.p_expr);this.exprAllowed=true};d.incDec.updateContext=function(){};d._function.updateContext=d._class.updateContext=function(e){if(e.beforeExpr&&e!==d.semi&&e!==d._else&&!(e===d._return&&y.test(this.input.slice(this.lastTokEnd,this.start)))&&!((e===d.colon||e===d.braceL)&&this.curContext()===ue.b_stat)){this.context.push(ue.f_expr)}else{this.context.push(ue.f_stat)}this.exprAllowed=false};d.backQuote.updateContext=function(){if(this.curContext()===ue.q_tmpl){this.context.pop()}else{this.context.push(ue.q_tmpl)}this.exprAllowed=false};d.star.updateContext=function(e){if(e===d._function){var t=this.context.length-1;if(this.context[t]===ue.f_expr){this.context[t]=ue.f_expr_gen}else{this.context[t]=ue.f_gen}}this.exprAllowed=true};d.name.updateContext=function(e){var t=false;if(this.options.ecmaVersion>=6&&e!==d.dot){if(this.value==="of"&&!this.exprAllowed||this.value==="yield"&&this.inGeneratorContext()){t=true}}this.exprAllowed=t};var ce="ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS";var le=ce+" Extended_Pictographic";var he=le;var pe={9:ce,10:le,11:he};var ve="Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu";var de="Adlam Adlm Ahom Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb";var ye=de+" Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd";var ge=ye+" Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho";var be={9:de,10:ye,11:ge};var me={};function buildUnicodeData(e){var t=me[e]={binary:wordsRegexp(pe[e]+" "+ve),nonBinary:{General_Category:wordsRegexp(ve),Script:wordsRegexp(be[e])}};t.nonBinary.Script_Extensions=t.nonBinary.Script;t.nonBinary.gc=t.nonBinary.General_Category;t.nonBinary.sc=t.nonBinary.Script;t.nonBinary.scx=t.nonBinary.Script_Extensions}buildUnicodeData(9);buildUnicodeData(10);buildUnicodeData(11);var _e=W.prototype;var we=function RegExpValidationState(e){this.parser=e;this.validFlags="gim"+(e.options.ecmaVersion>=6?"uy":"")+(e.options.ecmaVersion>=9?"s":"");this.unicodeProperties=me[e.options.ecmaVersion>=11?11:e.options.ecmaVersion];this.source="";this.flags="";this.start=0;this.switchU=false;this.switchN=false;this.pos=0;this.lastIntValue=0;this.lastStringValue="";this.lastAssertionIsQuantifiable=false;this.numCapturingParens=0;this.maxBackReference=0;this.groupNames=[];this.backReferenceNames=[]};we.prototype.reset=function reset(e,t,r){var n=r.indexOf("u")!==-1;this.start=e|0;this.source=t+"";this.flags=r;this.switchU=n&&this.parser.options.ecmaVersion>=6;this.switchN=n&&this.parser.options.ecmaVersion>=9};we.prototype.raise=function raise(e){this.parser.raiseRecoverable(this.start,"Invalid regular expression: /"+this.source+"/: "+e)};we.prototype.at=function at(e){var t=this.source;var r=t.length;if(e>=r){return-1}var n=t.charCodeAt(e);if(!this.switchU||n<=55295||n>=57344||e+1>=r){return n}var i=t.charCodeAt(e+1);return i>=56320&&i<=57343?(n<<10)+i-56613888:n};we.prototype.nextIndex=function nextIndex(e){var t=this.source;var r=t.length;if(e>=r){return r}var n=t.charCodeAt(e),i;if(!this.switchU||n<=55295||n>=57344||e+1>=r||(i=t.charCodeAt(e+1))<56320||i>57343){return e+1}return e+2};we.prototype.current=function current(){return this.at(this.pos)};we.prototype.lookahead=function lookahead(){return this.at(this.nextIndex(this.pos))};we.prototype.advance=function advance(){this.pos=this.nextIndex(this.pos)};we.prototype.eat=function eat(e){if(this.current()===e){this.advance();return true}return false};function codePointToString(e){if(e<=65535){return String.fromCharCode(e)}e-=65536;return String.fromCharCode((e>>10)+55296,(e&1023)+56320)}_e.validateRegExpFlags=function(e){var t=e.validFlags;var r=e.flags;for(var n=0;n-1){this.raise(e.start,"Duplicate regular expression flag")}}};_e.validateRegExpPattern=function(e){this.regexp_pattern(e);if(!e.switchN&&this.options.ecmaVersion>=9&&e.groupNames.length>0){e.switchN=true;this.regexp_pattern(e)}};_e.regexp_pattern=function(e){e.pos=0;e.lastIntValue=0;e.lastStringValue="";e.lastAssertionIsQuantifiable=false;e.numCapturingParens=0;e.maxBackReference=0;e.groupNames.length=0;e.backReferenceNames.length=0;this.regexp_disjunction(e);if(e.pos!==e.source.length){if(e.eat(41)){e.raise("Unmatched ')'")}if(e.eat(93)||e.eat(125)){e.raise("Lone quantifier brackets")}}if(e.maxBackReference>e.numCapturingParens){e.raise("Invalid escape")}for(var t=0,r=e.backReferenceNames;t=9){r=e.eat(60)}if(e.eat(61)||e.eat(33)){this.regexp_disjunction(e);if(!e.eat(41)){e.raise("Unterminated group")}e.lastAssertionIsQuantifiable=!r;return true}}e.pos=t;return false};_e.regexp_eatQuantifier=function(e,t){if(t===void 0)t=false;if(this.regexp_eatQuantifierPrefix(e,t)){e.eat(63);return true}return false};_e.regexp_eatQuantifierPrefix=function(e,t){return e.eat(42)||e.eat(43)||e.eat(63)||this.regexp_eatBracedQuantifier(e,t)};_e.regexp_eatBracedQuantifier=function(e,t){var r=e.pos;if(e.eat(123)){var n=0,i=-1;if(this.regexp_eatDecimalDigits(e)){n=e.lastIntValue;if(e.eat(44)&&this.regexp_eatDecimalDigits(e)){i=e.lastIntValue}if(e.eat(125)){if(i!==-1&&i=9){this.regexp_groupSpecifier(e)}else if(e.current()===63){e.raise("Invalid group")}this.regexp_disjunction(e);if(e.eat(41)){e.numCapturingParens+=1;return true}e.raise("Unterminated group")}return false};_e.regexp_eatExtendedAtom=function(e){return e.eat(46)||this.regexp_eatReverseSolidusAtomEscape(e)||this.regexp_eatCharacterClass(e)||this.regexp_eatUncapturingGroup(e)||this.regexp_eatCapturingGroup(e)||this.regexp_eatInvalidBracedQuantifier(e)||this.regexp_eatExtendedPatternCharacter(e)};_e.regexp_eatInvalidBracedQuantifier=function(e){if(this.regexp_eatBracedQuantifier(e,true)){e.raise("Nothing to repeat")}return false};_e.regexp_eatSyntaxCharacter=function(e){var t=e.current();if(isSyntaxCharacter(t)){e.lastIntValue=t;e.advance();return true}return false};function isSyntaxCharacter(e){return e===36||e>=40&&e<=43||e===46||e===63||e>=91&&e<=94||e>=123&&e<=125}_e.regexp_eatPatternCharacters=function(e){var t=e.pos;var r=0;while((r=e.current())!==-1&&!isSyntaxCharacter(r)){e.advance()}return e.pos!==t};_e.regexp_eatExtendedPatternCharacter=function(e){var t=e.current();if(t!==-1&&t!==36&&!(t>=40&&t<=43)&&t!==46&&t!==63&&t!==91&&t!==94&&t!==124){e.advance();return true}return false};_e.regexp_groupSpecifier=function(e){if(e.eat(63)){if(this.regexp_eatGroupName(e)){if(e.groupNames.indexOf(e.lastStringValue)!==-1){e.raise("Duplicate capture group name")}e.groupNames.push(e.lastStringValue);return}e.raise("Invalid group")}};_e.regexp_eatGroupName=function(e){e.lastStringValue="";if(e.eat(60)){if(this.regexp_eatRegExpIdentifierName(e)&&e.eat(62)){return true}e.raise("Invalid capture group name")}return false};_e.regexp_eatRegExpIdentifierName=function(e){e.lastStringValue="";if(this.regexp_eatRegExpIdentifierStart(e)){e.lastStringValue+=codePointToString(e.lastIntValue);while(this.regexp_eatRegExpIdentifierPart(e)){e.lastStringValue+=codePointToString(e.lastIntValue)}return true}return false};_e.regexp_eatRegExpIdentifierStart=function(e){var t=e.pos;var r=e.current();e.advance();if(r===92&&this.regexp_eatRegExpUnicodeEscapeSequence(e)){r=e.lastIntValue}if(isRegExpIdentifierStart(r)){e.lastIntValue=r;return true}e.pos=t;return false};function isRegExpIdentifierStart(e){return isIdentifierStart(e,true)||e===36||e===95}_e.regexp_eatRegExpIdentifierPart=function(e){var t=e.pos;var r=e.current();e.advance();if(r===92&&this.regexp_eatRegExpUnicodeEscapeSequence(e)){r=e.lastIntValue}if(isRegExpIdentifierPart(r)){e.lastIntValue=r;return true}e.pos=t;return false};function isRegExpIdentifierPart(e){return isIdentifierChar(e,true)||e===36||e===95||e===8204||e===8205}_e.regexp_eatAtomEscape=function(e){if(this.regexp_eatBackReference(e)||this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)||e.switchN&&this.regexp_eatKGroupName(e)){return true}if(e.switchU){if(e.current()===99){e.raise("Invalid unicode escape")}e.raise("Invalid escape")}return false};_e.regexp_eatBackReference=function(e){var t=e.pos;if(this.regexp_eatDecimalEscape(e)){var r=e.lastIntValue;if(e.switchU){if(r>e.maxBackReference){e.maxBackReference=r}return true}if(r<=e.numCapturingParens){return true}e.pos=t}return false};_e.regexp_eatKGroupName=function(e){if(e.eat(107)){if(this.regexp_eatGroupName(e)){e.backReferenceNames.push(e.lastStringValue);return true}e.raise("Invalid named reference")}return false};_e.regexp_eatCharacterEscape=function(e){return this.regexp_eatControlEscape(e)||this.regexp_eatCControlLetter(e)||this.regexp_eatZero(e)||this.regexp_eatHexEscapeSequence(e)||this.regexp_eatRegExpUnicodeEscapeSequence(e)||!e.switchU&&this.regexp_eatLegacyOctalEscapeSequence(e)||this.regexp_eatIdentityEscape(e)};_e.regexp_eatCControlLetter=function(e){var t=e.pos;if(e.eat(99)){if(this.regexp_eatControlLetter(e)){return true}e.pos=t}return false};_e.regexp_eatZero=function(e){if(e.current()===48&&!isDecimalDigit(e.lookahead())){e.lastIntValue=0;e.advance();return true}return false};_e.regexp_eatControlEscape=function(e){var t=e.current();if(t===116){e.lastIntValue=9;e.advance();return true}if(t===110){e.lastIntValue=10;e.advance();return true}if(t===118){e.lastIntValue=11;e.advance();return true}if(t===102){e.lastIntValue=12;e.advance();return true}if(t===114){e.lastIntValue=13;e.advance();return true}return false};_e.regexp_eatControlLetter=function(e){var t=e.current();if(isControlLetter(t)){e.lastIntValue=t%32;e.advance();return true}return false};function isControlLetter(e){return e>=65&&e<=90||e>=97&&e<=122}_e.regexp_eatRegExpUnicodeEscapeSequence=function(e){var t=e.pos;if(e.eat(117)){if(this.regexp_eatFixedHexDigits(e,4)){var r=e.lastIntValue;if(e.switchU&&r>=55296&&r<=56319){var n=e.pos;if(e.eat(92)&&e.eat(117)&&this.regexp_eatFixedHexDigits(e,4)){var i=e.lastIntValue;if(i>=56320&&i<=57343){e.lastIntValue=(r-55296)*1024+(i-56320)+65536;return true}}e.pos=n;e.lastIntValue=r}return true}if(e.switchU&&e.eat(123)&&this.regexp_eatHexDigits(e)&&e.eat(125)&&isValidUnicode(e.lastIntValue)){return true}if(e.switchU){e.raise("Invalid unicode escape")}e.pos=t}return false};function isValidUnicode(e){return e>=0&&e<=1114111}_e.regexp_eatIdentityEscape=function(e){if(e.switchU){if(this.regexp_eatSyntaxCharacter(e)){return true}if(e.eat(47)){e.lastIntValue=47;return true}return false}var t=e.current();if(t!==99&&(!e.switchN||t!==107)){e.lastIntValue=t;e.advance();return true}return false};_e.regexp_eatDecimalEscape=function(e){e.lastIntValue=0;var t=e.current();if(t>=49&&t<=57){do{e.lastIntValue=10*e.lastIntValue+(t-48);e.advance()}while((t=e.current())>=48&&t<=57);return true}return false};_e.regexp_eatCharacterClassEscape=function(e){var t=e.current();if(isCharacterClassEscape(t)){e.lastIntValue=-1;e.advance();return true}if(e.switchU&&this.options.ecmaVersion>=9&&(t===80||t===112)){e.lastIntValue=-1;e.advance();if(e.eat(123)&&this.regexp_eatUnicodePropertyValueExpression(e)&&e.eat(125)){return true}e.raise("Invalid property name")}return false};function isCharacterClassEscape(e){return e===100||e===68||e===115||e===83||e===119||e===87}_e.regexp_eatUnicodePropertyValueExpression=function(e){var t=e.pos;if(this.regexp_eatUnicodePropertyName(e)&&e.eat(61)){var r=e.lastStringValue;if(this.regexp_eatUnicodePropertyValue(e)){var n=e.lastStringValue;this.regexp_validateUnicodePropertyNameAndValue(e,r,n);return true}}e.pos=t;if(this.regexp_eatLoneUnicodePropertyNameOrValue(e)){var i=e.lastStringValue;this.regexp_validateUnicodePropertyNameOrValue(e,i);return true}return false};_e.regexp_validateUnicodePropertyNameAndValue=function(e,t,r){if(!has(e.unicodeProperties.nonBinary,t)){e.raise("Invalid property name")}if(!e.unicodeProperties.nonBinary[t].test(r)){e.raise("Invalid property value")}};_e.regexp_validateUnicodePropertyNameOrValue=function(e,t){if(!e.unicodeProperties.binary.test(t)){e.raise("Invalid property name")}};_e.regexp_eatUnicodePropertyName=function(e){var t=0;e.lastStringValue="";while(isUnicodePropertyNameCharacter(t=e.current())){e.lastStringValue+=codePointToString(t);e.advance()}return e.lastStringValue!==""};function isUnicodePropertyNameCharacter(e){return isControlLetter(e)||e===95}_e.regexp_eatUnicodePropertyValue=function(e){var t=0;e.lastStringValue="";while(isUnicodePropertyValueCharacter(t=e.current())){e.lastStringValue+=codePointToString(t);e.advance()}return e.lastStringValue!==""};function isUnicodePropertyValueCharacter(e){return isUnicodePropertyNameCharacter(e)||isDecimalDigit(e)}_e.regexp_eatLoneUnicodePropertyNameOrValue=function(e){return this.regexp_eatUnicodePropertyValue(e)};_e.regexp_eatCharacterClass=function(e){if(e.eat(91)){e.eat(94);this.regexp_classRanges(e);if(e.eat(93)){return true}e.raise("Unterminated character class")}return false};_e.regexp_classRanges=function(e){while(this.regexp_eatClassAtom(e)){var t=e.lastIntValue;if(e.eat(45)&&this.regexp_eatClassAtom(e)){var r=e.lastIntValue;if(e.switchU&&(t===-1||r===-1)){e.raise("Invalid character class")}if(t!==-1&&r!==-1&&t>r){e.raise("Range out of order in character class")}}}};_e.regexp_eatClassAtom=function(e){var t=e.pos;if(e.eat(92)){if(this.regexp_eatClassEscape(e)){return true}if(e.switchU){var r=e.current();if(r===99||isOctalDigit(r)){e.raise("Invalid class escape")}e.raise("Invalid escape")}e.pos=t}var n=e.current();if(n!==93){e.lastIntValue=n;e.advance();return true}return false};_e.regexp_eatClassEscape=function(e){var t=e.pos;if(e.eat(98)){e.lastIntValue=8;return true}if(e.switchU&&e.eat(45)){e.lastIntValue=45;return true}if(!e.switchU&&e.eat(99)){if(this.regexp_eatClassControlLetter(e)){return true}e.pos=t}return this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)};_e.regexp_eatClassControlLetter=function(e){var t=e.current();if(isDecimalDigit(t)||t===95){e.lastIntValue=t%32;e.advance();return true}return false};_e.regexp_eatHexEscapeSequence=function(e){var t=e.pos;if(e.eat(120)){if(this.regexp_eatFixedHexDigits(e,2)){return true}if(e.switchU){e.raise("Invalid escape")}e.pos=t}return false};_e.regexp_eatDecimalDigits=function(e){var t=e.pos;var r=0;e.lastIntValue=0;while(isDecimalDigit(r=e.current())){e.lastIntValue=10*e.lastIntValue+(r-48);e.advance()}return e.pos!==t};function isDecimalDigit(e){return e>=48&&e<=57}_e.regexp_eatHexDigits=function(e){var t=e.pos;var r=0;e.lastIntValue=0;while(isHexDigit(r=e.current())){e.lastIntValue=16*e.lastIntValue+hexToInt(r);e.advance()}return e.pos!==t};function isHexDigit(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function hexToInt(e){if(e>=65&&e<=70){return 10+(e-65)}if(e>=97&&e<=102){return 10+(e-97)}return e-48}_e.regexp_eatLegacyOctalEscapeSequence=function(e){if(this.regexp_eatOctalDigit(e)){var t=e.lastIntValue;if(this.regexp_eatOctalDigit(e)){var r=e.lastIntValue;if(t<=3&&this.regexp_eatOctalDigit(e)){e.lastIntValue=t*64+r*8+e.lastIntValue}else{e.lastIntValue=t*8+r}}else{e.lastIntValue=t}return true}return false};_e.regexp_eatOctalDigit=function(e){var t=e.current();if(isOctalDigit(t)){e.lastIntValue=t-48;e.advance();return true}e.lastIntValue=0;return false};function isOctalDigit(e){return e>=48&&e<=55}_e.regexp_eatFixedHexDigits=function(e,t){var r=e.pos;e.lastIntValue=0;for(var n=0;n=this.input.length){return this.finishToken(d.eof)}if(e.override){return e.override(this)}else{this.readToken(this.fullCharCodeAtPos())}};De.readToken=function(e){if(isIdentifierStart(e,this.options.ecmaVersion>=6)||e===92){return this.readWord()}return this.getTokenFromCode(e)};De.fullCharCodeAtPos=function(){var e=this.input.charCodeAt(this.pos);if(e<=55295||e>=57344){return e}var t=this.input.charCodeAt(this.pos+1);return(e<<10)+t-56613888};De.skipBlockComment=function(){var e=this.options.onComment&&this.curPosition();var t=this.pos,r=this.input.indexOf("*/",this.pos+=2);if(r===-1){this.raise(this.pos-2,"Unterminated comment")}this.pos=r+2;if(this.options.locations){g.lastIndex=t;var n;while((n=g.exec(this.input))&&n.index8&&e<14||e>=5760&&b.test(String.fromCharCode(e))){++this.pos}else{break e}}}};De.finishToken=function(e,t){this.end=this.pos;if(this.options.locations){this.endLoc=this.curPosition()}var r=this.type;this.type=e;this.value=t;this.updateContext(r)};De.readToken_dot=function(){var e=this.input.charCodeAt(this.pos+1);if(e>=48&&e<=57){return this.readNumber(true)}var t=this.input.charCodeAt(this.pos+2);if(this.options.ecmaVersion>=6&&e===46&&t===46){this.pos+=3;return this.finishToken(d.ellipsis)}else{++this.pos;return this.finishToken(d.dot)}};De.readToken_slash=function(){var e=this.input.charCodeAt(this.pos+1);if(this.exprAllowed){++this.pos;return this.readRegexp()}if(e===61){return this.finishOp(d.assign,2)}return this.finishOp(d.slash,1)};De.readToken_mult_modulo_exp=function(e){var t=this.input.charCodeAt(this.pos+1);var r=1;var n=e===42?d.star:d.modulo;if(this.options.ecmaVersion>=7&&e===42&&t===42){++r;n=d.starstar;t=this.input.charCodeAt(this.pos+2)}if(t===61){return this.finishOp(d.assign,r+1)}return this.finishOp(n,r)};De.readToken_pipe_amp=function(e){var t=this.input.charCodeAt(this.pos+1);if(t===e){return this.finishOp(e===124?d.logicalOR:d.logicalAND,2)}if(t===61){return this.finishOp(d.assign,2)}return this.finishOp(e===124?d.bitwiseOR:d.bitwiseAND,1)};De.readToken_caret=function(){var e=this.input.charCodeAt(this.pos+1);if(e===61){return this.finishOp(d.assign,2)}return this.finishOp(d.bitwiseXOR,1)};De.readToken_plus_min=function(e){var t=this.input.charCodeAt(this.pos+1);if(t===e){if(t===45&&!this.inModule&&this.input.charCodeAt(this.pos+2)===62&&(this.lastTokEnd===0||y.test(this.input.slice(this.lastTokEnd,this.pos)))){this.skipLineComment(3);this.skipSpace();return this.nextToken()}return this.finishOp(d.incDec,2)}if(t===61){return this.finishOp(d.assign,2)}return this.finishOp(d.plusMin,1)};De.readToken_lt_gt=function(e){var t=this.input.charCodeAt(this.pos+1);var r=1;if(t===e){r=e===62&&this.input.charCodeAt(this.pos+2)===62?3:2;if(this.input.charCodeAt(this.pos+r)===61){return this.finishOp(d.assign,r+1)}return this.finishOp(d.bitShift,r)}if(t===33&&e===60&&!this.inModule&&this.input.charCodeAt(this.pos+2)===45&&this.input.charCodeAt(this.pos+3)===45){this.skipLineComment(4);this.skipSpace();return this.nextToken()}if(t===61){r=2}return this.finishOp(d.relational,r)};De.readToken_eq_excl=function(e){var t=this.input.charCodeAt(this.pos+1);if(t===61){return this.finishOp(d.equality,this.input.charCodeAt(this.pos+2)===61?3:2)}if(e===61&&t===62&&this.options.ecmaVersion>=6){this.pos+=2;return this.finishToken(d.arrow)}return this.finishOp(e===61?d.eq:d.prefix,1)};De.getTokenFromCode=function(e){switch(e){case 46:return this.readToken_dot();case 40:++this.pos;return this.finishToken(d.parenL);case 41:++this.pos;return this.finishToken(d.parenR);case 59:++this.pos;return this.finishToken(d.semi);case 44:++this.pos;return this.finishToken(d.comma);case 91:++this.pos;return this.finishToken(d.bracketL);case 93:++this.pos;return this.finishToken(d.bracketR);case 123:++this.pos;return this.finishToken(d.braceL);case 125:++this.pos;return this.finishToken(d.braceR);case 58:++this.pos;return this.finishToken(d.colon);case 63:++this.pos;return this.finishToken(d.question);case 96:if(this.options.ecmaVersion<6){break}++this.pos;return this.finishToken(d.backQuote);case 48:var t=this.input.charCodeAt(this.pos+1);if(t===120||t===88){return this.readRadixNumber(16)}if(this.options.ecmaVersion>=6){if(t===111||t===79){return this.readRadixNumber(8)}if(t===98||t===66){return this.readRadixNumber(2)}}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(false);case 34:case 39:return this.readString(e);case 47:return this.readToken_slash();case 37:case 42:return this.readToken_mult_modulo_exp(e);case 124:case 38:return this.readToken_pipe_amp(e);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(e);case 60:case 62:return this.readToken_lt_gt(e);case 61:case 33:return this.readToken_eq_excl(e);case 126:return this.finishOp(d.prefix,1)}this.raise(this.pos,"Unexpected character '"+codePointToString$1(e)+"'")};De.finishOp=function(e,t){var r=this.input.slice(this.pos,this.pos+t);this.pos+=t;return this.finishToken(e,r)};De.readRegexp=function(){var e,t,r=this.pos;for(;;){if(this.pos>=this.input.length){this.raise(r,"Unterminated regular expression")}var n=this.input.charAt(this.pos);if(y.test(n)){this.raise(r,"Unterminated regular expression")}if(!e){if(n==="["){t=true}else if(n==="]"&&t){t=false}else if(n==="/"&&!t){break}e=n==="\\"}else{e=false}++this.pos}var i=this.input.slice(r,this.pos);++this.pos;var a=this.pos;var s=this.readWord1();if(this.containsEsc){this.unexpected(a)}var o=this.regexpState||(this.regexpState=new we(this));o.reset(r,i,s);this.validateRegExpFlags(o);this.validateRegExpPattern(o);var u=null;try{u=new RegExp(i,s)}catch(e){}return this.finishToken(d.regexp,{pattern:i,flags:s,value:u})};De.readInt=function(e,t){var r=this.pos,n=0;for(var i=0,a=t==null?Infinity:t;i=97){o=s-97+10}else if(s>=65){o=s-65+10}else if(s>=48&&s<=57){o=s-48}else{o=Infinity}if(o>=e){break}++this.pos;n=n*e+o}if(this.pos===r||t!=null&&this.pos-r!==t){return null}return n};De.readRadixNumber=function(e){var t=this.pos;this.pos+=2;var r=this.readInt(e);if(r==null){this.raise(this.start+2,"Expected number in radix "+e)}if(this.options.ecmaVersion>=11&&this.input.charCodeAt(this.pos)===110){r=typeof BigInt!=="undefined"?BigInt(this.input.slice(t,this.pos)):null;++this.pos}else if(isIdentifierStart(this.fullCharCodeAtPos())){this.raise(this.pos,"Identifier directly after number")}return this.finishToken(d.num,r)};De.readNumber=function(e){var t=this.pos;if(!e&&this.readInt(10)===null){this.raise(t,"Invalid number")}var r=this.pos-t>=2&&this.input.charCodeAt(t)===48;if(r&&this.strict){this.raise(t,"Invalid number")}if(r&&/[89]/.test(this.input.slice(t,this.pos))){r=false}var n=this.input.charCodeAt(this.pos);if(!r&&!e&&this.options.ecmaVersion>=11&&n===110){var i=this.input.slice(t,this.pos);var a=typeof BigInt!=="undefined"?BigInt(i):null;++this.pos;if(isIdentifierStart(this.fullCharCodeAtPos())){this.raise(this.pos,"Identifier directly after number")}return this.finishToken(d.num,a)}if(n===46&&!r){++this.pos;this.readInt(10);n=this.input.charCodeAt(this.pos)}if((n===69||n===101)&&!r){n=this.input.charCodeAt(++this.pos);if(n===43||n===45){++this.pos}if(this.readInt(10)===null){this.raise(t,"Invalid number")}}if(isIdentifierStart(this.fullCharCodeAtPos())){this.raise(this.pos,"Identifier directly after number")}var s=this.input.slice(t,this.pos);var o=r?parseInt(s,8):parseFloat(s);return this.finishToken(d.num,o)};De.readCodePoint=function(){var e=this.input.charCodeAt(this.pos),t;if(e===123){if(this.options.ecmaVersion<6){this.unexpected()}var r=++this.pos;t=this.readHexChar(this.input.indexOf("}",this.pos)-this.pos);++this.pos;if(t>1114111){this.invalidStringToken(r,"Code point out of bounds")}}else{t=this.readHexChar(4)}return t};function codePointToString$1(e){if(e<=65535){return String.fromCharCode(e)}e-=65536;return String.fromCharCode((e>>10)+55296,(e&1023)+56320)}De.readString=function(e){var t="",r=++this.pos;for(;;){if(this.pos>=this.input.length){this.raise(this.start,"Unterminated string constant")}var n=this.input.charCodeAt(this.pos);if(n===e){break}if(n===92){t+=this.input.slice(r,this.pos);t+=this.readEscapedChar(false);r=this.pos}else{if(isNewLine(n,this.options.ecmaVersion>=10)){this.raise(this.start,"Unterminated string constant")}++this.pos}}t+=this.input.slice(r,this.pos++);return this.finishToken(d.string,t)};var Ae={};De.tryReadTemplateToken=function(){this.inTemplateElement=true;try{this.readTmplToken()}catch(e){if(e===Ae){this.readInvalidTemplateToken()}else{throw e}}this.inTemplateElement=false};De.invalidStringToken=function(e,t){if(this.inTemplateElement&&this.options.ecmaVersion>=9){throw Ae}else{this.raise(e,t)}};De.readTmplToken=function(){var e="",t=this.pos;for(;;){if(this.pos>=this.input.length){this.raise(this.start,"Unterminated template")}var r=this.input.charCodeAt(this.pos);if(r===96||r===36&&this.input.charCodeAt(this.pos+1)===123){if(this.pos===this.start&&(this.type===d.template||this.type===d.invalidTemplate)){if(r===36){this.pos+=2;return this.finishToken(d.dollarBraceL)}else{++this.pos;return this.finishToken(d.backQuote)}}e+=this.input.slice(t,this.pos);return this.finishToken(d.template,e)}if(r===92){e+=this.input.slice(t,this.pos);e+=this.readEscapedChar(true);t=this.pos}else if(isNewLine(r)){e+=this.input.slice(t,this.pos);++this.pos;switch(r){case 13:if(this.input.charCodeAt(this.pos)===10){++this.pos}case 10:e+="\n";break;default:e+=String.fromCharCode(r);break}if(this.options.locations){++this.curLine;this.lineStart=this.pos}t=this.pos}else{++this.pos}}};De.readInvalidTemplateToken=function(){for(;this.pos=48&&t<=55){var r=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0];var n=parseInt(r,8);if(n>255){r=r.slice(0,-1);n=parseInt(r,8)}this.pos+=r.length-1;t=this.input.charCodeAt(this.pos);if((r!=="0"||t===56||t===57)&&(this.strict||e)){this.invalidStringToken(this.pos-1-r.length,e?"Octal literal in template string":"Octal literal in strict mode")}return String.fromCharCode(n)}if(isNewLine(t)){return""}return String.fromCharCode(t)}};De.readHexChar=function(e){var t=this.pos;var r=this.readInt(16,e);if(r===null){this.invalidStringToken(t,"Bad character escape sequence")}return r};De.readWord1=function(){this.containsEsc=false;var e="",t=true,r=this.pos;var n=this.options.ecmaVersion>=6;while(this.pos=3)t=2;else if(s[0]===8)t=1}return t};e.exports.get_napi_version_as_string=function(t){var r=e.exports.get_napi_version(t);return r?""+r:""};e.exports.validate_package_json=function(t,r){var n=t.binary;var i=pathOK(n.module_path);var a=pathOK(n.remote_path);var s=pathOK(n.package_name);var o=e.exports.get_napi_build_versions(t,r,true);var u=e.exports.get_napi_build_versions_raw(t);if(o){o.forEach(function(e){if(!(parseInt(e,10)===e&&e>0)){throw new Error("All values specified in napi_versions must be positive integers.")}})}if(o&&(!i||!a&&!s)){throw new Error("When napi_versions is specified; module_path and either remote_path or "+"package_name must contain the substitution string '{napi_build_version}`.")}if((i||a||s)&&!u){throw new Error("When the substitution string '{napi_build_version}` is specified in "+"module_path, remote_path, or package_name; napi_versions must also be specified.")}if(o&&!e.exports.get_best_napi_build_version(t,r)&&e.exports.build_napi_only(t)){throw new Error("The N-API version of this Node instance is "+e.exports.get_napi_version(r?r.target:undefined)+". "+"This module supports N-API version(s) "+e.exports.get_napi_build_versions_raw(t)+". "+"This Node instance cannot run this module.")}if(u&&!o&&e.exports.build_napi_only(t)){throw new Error("The N-API version of this Node instance is "+e.exports.get_napi_version(r?r.target:undefined)+". "+"This module supports N-API version(s) "+e.exports.get_napi_build_versions_raw(t)+". "+"This Node instance cannot run this module.")}};function pathOK(e){return e&&(e.indexOf("{napi_build_version}")!==-1||e.indexOf("{node_napi_label}")!==-1)}e.exports.expand_commands=function(t,r,n){var i=[];var a=e.exports.get_napi_build_versions(t,r);n.forEach(function(n){if(a&&n.name==="install"){var s=e.exports.get_best_napi_build_version(t,r);var f=s?[u+s]:[];i.push({name:n.name,args:f})}else if(a&&o.indexOf(n.name)!==-1){a.forEach(function(e){var t=n.args.slice();t.push(u+e);i.push({name:n.name,args:t})})}else{i.push(n)}});return i};e.exports.get_napi_build_versions=function(t,r,n){var i=[];var s=e.exports.get_napi_version(r?r.target:undefined);if(t.binary&&t.binary.napi_versions){t.binary.napi_versions.forEach(function(e){var t=i.indexOf(e)!==-1;if(!t&&s&&e<=s){i.push(e)}else if(n&&!t&&s){a.info("This Node instance does not support builds for N-API version",e)}})}if(r&&r["build-latest-napi-version-only"]){var o=0;i.forEach(function(e){if(e>o)o=e});i=o?[o]:[]}return i.length?i:undefined};e.exports.get_napi_build_versions_raw=function(e){var t=[];if(e.binary&&e.binary.napi_versions){e.binary.napi_versions.forEach(function(e){if(t.indexOf(e)===-1){t.push(e)}})}return t.length?t:undefined};e.exports.get_command_arg=function(e){return u+e};e.exports.get_napi_build_version_from_command_args=function(e){for(var t=0;tn&&e<=a){n=e}})}return n===0?undefined:n};e.exports.build_napi_only=function(e){return e.binary&&e.binary.package_name&&e.binary.package_name.indexOf("{node_napi_label}")===-1}},function(e){if(true){e.exports=Emitter}function Emitter(e){if(e)return mixin(e)}function mixin(e){for(var t in Emitter.prototype){e[t]=Emitter.prototype[t]}return e}Emitter.prototype.on=Emitter.prototype.addEventListener=function(e,t){this._callbacks=this._callbacks||{};(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t);return this};Emitter.prototype.once=function(e,t){function on(){this.off(e,on);t.apply(this,arguments)}on.fn=t;this.on(e,on);return this};Emitter.prototype.off=Emitter.prototype.removeListener=Emitter.prototype.removeAllListeners=Emitter.prototype.removeEventListener=function(e,t){this._callbacks=this._callbacks||{};if(0==arguments.length){this._callbacks={};return this}var r=this._callbacks["$"+e];if(!r)return this;if(1==arguments.length){delete this._callbacks["$"+e];return this}var n;for(var i=0;i-1)t=t.replace(".","");if((n=t.search(/e/i))>0){if(r<0)r=n;r+=+t.slice(n+1);t=t.substring(0,n)}else if(r<0){r=t.length}i=t.length;for(n=0;n0&&t.charAt(--i)=="0";);e.e=r-n-1;e.c=[];for(r=0;n<=i;)e.c[r++]=+t.charAt(n++)}return e}function round(e,t,r,n){var i=e.c,a=e.e+t+1;if(a=5}else if(r===2){n=i[a]>5||i[a]==5&&(n||a<0||i[a+1]!==d||i[a-1]&1)}else if(r===3){n=n||!!i[0]}else{n=false;if(r!==0)throw Error(h)}if(a<1){i.length=1;if(n){e.e=-t;i[0]=1}else{i[0]=e.e=0}}else{i.length=a--;if(n){for(;++i[a]>9;){i[a]=0;if(!a--){++e.e;i.unshift(1)}}}for(a=i.length;!i[--a];)i.pop()}}else if(r<0||r>3||r!==~~r){throw Error(h)}return e}function stringify(e,t,r,n){var i,s,o=e.constructor,u=!e.c[0];if(r!==d){if(r!==~~r||r<(t==3)||r>a){throw Error(t==3?c+"precision":l)}e=new o(e);r=n-e.e;if(e.c.length>++n)round(e,r,o.RM);if(t==2)n=e.e+r+1;for(;e.c.length=o.PE)){s=s.charAt(0)+(r>1?"."+s.slice(1):"")+(i<0?"e":"e+")+i}else if(i<0){for(;++i;)s="0"+s;s="0."+s}else if(i>0){if(++i>r)for(i-=r;i--;)s+="0";else if(i1){s=s.charAt(0)+"."+s.slice(1)}return e.s<0&&(!u||t==4)?"-"+s:s}v.abs=function(){var e=new this.constructor(this);e.s=1;return e};v.cmp=function(e){var t,r=this,n=r.c,i=(e=new r.constructor(e)).c,a=r.s,s=e.s,o=r.e,u=e.e;if(!n[0]||!i[0])return!n[0]?!i[0]?0:-s:a;if(a!=s)return a;t=a<0;if(o!=u)return o>u^t?1:-1;s=(o=n.length)<(u=i.length)?o:u;for(a=-1;++ai[a]^t?1:-1}return o==u?0:o>u^t?1:-1};v.div=function(e){var t=this,r=t.constructor,n=t.c,i=(e=new r(e)).c,s=t.s==e.s?1:-1,o=r.DP;if(o!==~~o||o<0||o>a)throw Error(l);if(!i[0])throw Error(p);if(!n[0])return new r(s*0);var u,f,c,h,v,y=i.slice(),g=u=i.length,b=n.length,m=n.slice(0,u),_=m.length,w=e,E=w.c=[],D=0,A=o+(w.e=t.e-e.e)+1;w.s=s;s=A<0?0:A;y.unshift(0);for(;_++_?1:-1}else{for(v=-1,h=0;++vm[v]?1:-1;break}}}if(h<0){for(f=_==u?i:y;_;){if(m[--_]A)round(w,o,r.RM,m[0]!==d);return w};v.eq=function(e){return!this.cmp(e)};v.gt=function(e){return this.cmp(e)>0};v.gte=function(e){return this.cmp(e)>-1};v.lt=function(e){return this.cmp(e)<0};v.lte=function(e){return this.cmp(e)<1};v.minus=v.sub=function(e){var t,r,n,i,a=this,s=a.constructor,o=a.s,u=(e=new s(e)).s;if(o!=u){e.s=-u;return a.plus(e)}var f=a.c.slice(),c=a.e,l=e.c,h=e.e;if(!f[0]||!l[0]){return l[0]?(e.s=-u,e):new s(f[0]?a:0)}if(o=c-h){if(i=o<0){o=-o;n=f}else{h=c;n=l}n.reverse();for(u=o;u--;)n.push(0);n.reverse()}else{r=((i=f.length0)for(;u--;)f[t++]=0;for(u=t;r>o;){if(f[--r]0){u=s;t=f}else{i=-i;t=o}t.reverse();for(;i--;)t.push(0);t.reverse()}if(o.length-f.length<0){t=f;f=o;o=t}i=f.length;for(a=0;i;o[i]%=10)a=(o[--i]=o[i]+f[i]+a)/10|0;if(a){o.unshift(a);++u}for(i=o.length;o[--i]===0;)o.pop();e.c=o;e.e=u;return e};v.pow=function(e){var t=this,r=new t.constructor(1),n=r,i=e<0;if(e!==~~e||e<-s||e>s)throw Error(c+"exponent");if(i)e=-e;for(;;){if(e&1)n=n.times(t);e>>=1;if(!e)break;t=t.times(t)}return i?r.div(n):n};v.round=function(e,t){var r=this.constructor;if(e===d)e=0;else if(e!==~~e||e<-a||e>a)throw Error(l);return round(new r(this),e,t===d?r.RM:t)};v.sqrt=function(){var e,t,r,n=this,i=n.constructor,a=n.s,s=n.e,o=new i(.5);if(!n.c[0])return new i(n);if(a<0)throw Error(f+"No square root");a=Math.sqrt(n+"");if(a===0||a===1/0){t=n.c.join("");if(!(t.length+s&1))t+="0";a=Math.sqrt(t);s=((s+1)/2|0)-(s<0||s&1);e=new i((a==1/0?"1e":(a=a.toExponential()).slice(0,a.indexOf("e")+1))+s)}else{e=new i(a)}s=e.e+(i.DP+=4);do{r=e;e=o.times(r.plus(n.div(r)))}while(r.c.slice(0,s).join("")!==e.c.slice(0,s).join(""));return round(e,i.DP-=4,i.RM)};v.times=v.mul=function(e){var t,r=this,n=r.constructor,i=r.c,a=(e=new n(e)).c,s=i.length,o=a.length,u=r.e,f=e.e;e.s=r.s==e.s?1:-1;if(!i[0]||!a[0])return new n(e.s*0);e.e=u+f;if(su;){o=t[f]+a[u]*i[f-u-1]+o;t[f--]=o%10;o=o/10|0}t[f]=(t[f]+o)%10}if(o)++e.e;else t.shift();for(u=t.length;!t[--u];)t.pop();e.c=t;return e};v.toExponential=function(e){return stringify(this,1,e,e)};v.toFixed=function(e){return stringify(this,2,e,this.e+e)};v.toPrecision=function(e){return stringify(this,3,e,e-1)};v.toString=function(){return stringify(this)};v.valueOf=v.toJSON=function(){return stringify(this,4)};r=_Big_();r["default"]=r.Big=r;if(typeof define==="function"&&define.amd){define(function(){return r})}else if(true&&e.exports){e.exports=r}else{t.Big=r}})(this)},,function(e,t,r){"use strict";var n=r(796);var i=r(754);var a=r(120);var s="([!@*?+]?\\(|\\)|[*?.+\\\\]|\\[:?(?=.*\\])|:?\\])+";var o=a.createRegex(s);function parsers(e){e.state=e.state||{};e.use(n.parsers);e.parser.sets.paren=e.parser.sets.paren||[];e.parser.capture("paren.open",function(){var e=this.parsed;var t=this.position();var r=this.match(/^([!@*?+])?\(/);if(!r)return;var n=this.prev();var a=r[1];var s=r[0];var o=t({type:"paren.open",parsed:e,val:s});var u=t({type:"paren",prefix:a,nodes:[o]});if(a==="!"&&n.type==="paren"&&n.prefix==="!"){n.prefix="@";u.prefix="@"}i(u,"rest",this.input);i(u,"parsed",e);i(u,"parent",n);i(o,"parent",u);this.push("paren",u);n.nodes.push(u)}).capture("paren.close",function(){var e=this.parsed;var t=this.position();var r=this.match(/^\)/);if(!r)return;var n=this.pop("paren");var a=t({type:"paren.close",rest:this.input,parsed:e,val:r[0]});if(!this.isType(n,"paren")){if(this.options.strict){throw new Error('missing opening paren: "("')}a.escaped=true;return a}a.prefix=n.prefix;n.nodes.push(a);i(a,"parent",n)}).capture("escape",function(){var e=this.position();var t=this.match(/^\\(.)/);if(!t)return;return e({type:"escape",val:t[0],ch:t[1]})}).capture("qmark",function(){var t=this.parsed;var r=this.position();var n=this.match(/^\?+(?!\()/);if(!n)return;e.state.metachar=true;return r({type:"qmark",rest:this.input,parsed:t,val:n[0]})}).capture("star",/^\*(?!\()/).capture("plus",/^\+(?!\()/).capture("dot",/^\./).capture("text",o)}e.exports.TEXT_REGEX=s;e.exports=parsers},,,function(e){e.exports=__webpack_require__(614)},,function(e,t,r){e.exports=globSync;globSync.GlobSync=GlobSync;var n=r(66);var i=r(129);var a=r(620);var s=a.Minimatch;var o=r(327).Glob;var u=r(64);var f=r(589);var c=r(393);var l=r(969);var h=r(922);var p=h.alphasort;var v=h.alphasorti;var d=h.setopts;var y=h.ownProp;var g=h.childrenIgnored;var b=h.isIgnored;function globSync(e,t){if(typeof t==="function"||arguments.length===3)throw new TypeError("callback provided to sync glob\n"+"See: https://github.com/isaacs/node-glob/issues/167");return new GlobSync(e,t).found}function GlobSync(e,t){if(!e)throw new Error("must provide pattern");if(typeof t==="function"||arguments.length===3)throw new TypeError("callback provided to sync glob\n"+"See: https://github.com/isaacs/node-glob/issues/167");if(!(this instanceof GlobSync))return new GlobSync(e,t);d(this,e,t);if(this.noprocess)return this;var r=this.minimatch.set.length;this.matches=new Array(r);for(var n=0;nthis.maxLength)return false;if(!this.stat&&y(this.cache,t)){var i=this.cache[t];if(Array.isArray(i))i="DIR";if(!r||i==="DIR")return i;if(r&&i==="FILE")return false}var a;var s=this.statCache[t];if(!s){var o;try{o=n.lstatSync(t)}catch(e){if(e&&(e.code==="ENOENT"||e.code==="ENOTDIR")){this.statCache[t]=false;return false}}if(o&&o.isSymbolicLink()){try{s=n.statSync(t)}catch(e){s=o}}else{s=o}}this.statCache[t]=s;var i=true;if(s)i=s.isDirectory()?"DIR":"FILE";this.cache[t]=this.cache[t]||i;if(r&&i==="FILE")return false;return i};GlobSync.prototype._mark=function(e){return h.mark(this,e)};GlobSync.prototype._makeAbs=function(e){return h.makeAbs(this,e)}},,,,function(e){"use strict";e.exports=balanced;function balanced(e,t,r){if(e instanceof RegExp)e=maybeMatch(e,r);if(t instanceof RegExp)t=maybeMatch(t,r);var n=range(e,t,r);return n&&{start:n[0],end:n[1],pre:r.slice(0,n[0]),body:r.slice(n[0]+e.length,n[1]),post:r.slice(n[1]+t.length)}}function maybeMatch(e,t){var r=t.match(e);return r?r[0]:null}balanced.range=range;function range(e,t,r){var n,i,a,s,o;var u=r.indexOf(e);var f=r.indexOf(t,u+1);var c=u;if(u>=0&&f>0){n=[];a=r.length;while(c>=0&&!o){if(c==u){n.push(c);u=r.indexOf(e,c+1)}else if(n.length==1){o=[n.pop(),f]}else{i=n.pop();if(i=0?u:f}if(n.length){o=[a,s]}}return o}},,,,,,,,,function(e,t,r){"use strict";var n=r(213);var i=r(321);e.exports=function(e,t,r){var a;if(typeof r==="string"&&t in e){var s=[].slice.call(arguments,2);a=e[t].apply(e,s)}else if(Array.isArray(r)){a=i.apply(null,arguments)}else{a=n.apply(null,arguments)}if(typeof a!=="undefined"){return a}return e}},function(e,t,r){"use strict";var n=r(766);e.exports=function isExtendable(e){return n(e)||typeof e==="function"||Array.isArray(e)}},function(e,t,r){"use strict";e.exports=PassThrough;var n=r(955);var i=r(683);i.inherits=r(207);i.inherits(PassThrough,n);function PassThrough(e){if(!(this instanceof PassThrough))return new PassThrough(e);n.call(this,e)}PassThrough.prototype._transform=function(e,t,r){r(null,e)}},function(e,t,r){"use strict";e.exports=t;var n=r(589);var i=r(579);var a=r(77);var s=r(630);var o=r(445);var u;if(process.env.NODE_PRE_GYP_ABI_CROSSWALK){u=require(process.env.NODE_PRE_GYP_ABI_CROSSWALK)}else{u=r(590)}var f={};Object.keys(u).forEach(function(e){var t=e.split(".")[0];if(!f[t]){f[t]=e}});function get_electron_abi(e,t){if(!e){throw new Error("get_electron_abi requires valid runtime arg")}if(typeof t==="undefined"){throw new Error("Empty target version is not supported if electron is the target.")}var r=i.parse(t);return e+"-v"+r.major+"."+r.minor}e.exports.get_electron_abi=get_electron_abi;function get_node_webkit_abi(e,t){if(!e){throw new Error("get_node_webkit_abi requires valid runtime arg")}if(typeof t==="undefined"){throw new Error("Empty target version is not supported if node-webkit is the target.")}return e+"-v"+t}e.exports.get_node_webkit_abi=get_node_webkit_abi;function get_node_abi(e,t){if(!e){throw new Error("get_node_abi requires valid runtime arg")}if(!t){throw new Error("get_node_abi requires valid process.versions object")}var r=i.parse(t.node);if(r.major===0&&r.minor%2){return e+"-v"+t.node}else{return t.modules?e+"-v"+ +t.modules:"v8-"+t.v8.split(".").slice(0,2).join(".")}}e.exports.get_node_abi=get_node_abi;function get_runtime_abi(e,t){if(!e){throw new Error("get_runtime_abi requires valid runtime arg")}if(e==="node-webkit"){return get_node_webkit_abi(e,t||process.versions["node-webkit"])}else if(e==="electron"){return get_electron_abi(e,t||process.versions.electron)}else{if(e!="node"){throw new Error("Unknown Runtime: '"+e+"'")}if(!t){return get_node_abi(e,process.versions)}else{var r;if(u[t]){r=u[t]}else{var n=t.split(".").map(function(e){return+e});if(n.length!=3){throw new Error("Unknown target version: "+t)}var i=n[0];var a=n[1];var s=n[2];if(i===1){while(true){if(a>0)--a;if(s>0)--s;var o=""+i+"."+a+"."+s;if(u[o]){r=u[o];console.log("Warning: node-pre-gyp could not find exact match for "+t);console.log("Warning: but node-pre-gyp successfully choose "+o+" as ABI compatible target");break}if(a===0&&s===0){break}}}else if(i>=2){if(f[i]){r=u[f[i]];console.log("Warning: node-pre-gyp could not find exact match for "+t);console.log("Warning: but node-pre-gyp successfully choose "+f[i]+" as ABI compatible target")}}else if(i===0){if(n[1]%2===0){while(--s>0){var c=""+i+"."+a+"."+s;if(u[c]){r=u[c];console.log("Warning: node-pre-gyp could not find exact match for "+t);console.log("Warning: but node-pre-gyp successfully choose "+c+" as ABI compatible target");break}}}}}if(!r){throw new Error("Unsupported target version: "+t)}var l={node:t,v8:r.v8+".0",modules:r.node_abi>1?r.node_abi:undefined};return get_node_abi(e,l)}}}e.exports.get_runtime_abi=get_runtime_abi;var c=["module_name","module_path","host"];function validate_config(e,t){var r=e.name+" package.json is not node-pre-gyp ready:\n";var n=[];if(!e.main){n.push("main")}if(!e.version){n.push("version")}if(!e.name){n.push("name")}if(!e.binary){n.push("binary")}var i=e.binary;c.forEach(function(e){if(n.indexOf("binary")>-1){n.pop("binary")}if(!i||i[e]===undefined||i[e]===""){n.push("binary."+e)}});if(n.length>=1){throw new Error(r+"package.json must declare these properties: \n"+n.join("\n"))}if(i){var s=a.parse(i.host).protocol;if(s==="http:"){throw new Error("'host' protocol ("+s+") is invalid - only 'https:' is accepted")}}o.validate_package_json(e,t)}e.exports.validate_config=validate_config;function eval_template(e,t){Object.keys(t).forEach(function(r){var n="{"+r+"}";while(e.indexOf(n)>-1){e=e.replace(n,t[r])}});return e}function fix_slashes(e){if(e.slice(-1)!="/"){return e+"/"}return e}function drop_double_slashes(e){return e.replace(/\/\//g,"/")}function get_process_runtime(e){var t="node";if(e["node-webkit"]){t="node-webkit"}else if(e.electron){t="electron"}return t}e.exports.get_process_runtime=get_process_runtime;var l="{module_name}-v{version}-{node_abi}-{platform}-{arch}.tar.gz";var h="";e.exports.evaluate=function(e,t,r){t=t||{};validate_config(e,t);var u=e.version;var f=i.parse(u);var c=t.runtime||get_process_runtime(process.versions);var p={name:e.name,configuration:Boolean(t.debug)?"Debug":"Release",debug:t.debug,module_name:e.binary.module_name,version:f.version,prerelease:f.prerelease.length?f.prerelease.join("."):"",build:f.build.length?f.build.join("."):"",major:f.major,minor:f.minor,patch:f.patch,runtime:c,node_abi:get_runtime_abi(c,t.target),node_abi_napi:o.get_napi_version(t.target)?"napi":get_runtime_abi(c,t.target),napi_version:o.get_napi_version(t.target),napi_build_version:r||"",node_napi_label:r?"napi-v"+r:get_runtime_abi(c,t.target),target:t.target||"",platform:t.target_platform||process.platform,target_platform:t.target_platform||process.platform,arch:t.target_arch||process.arch,target_arch:t.target_arch||process.arch,libc:t.target_libc||s.family||"unknown",module_main:e.main,toolset:t.toolset||""};var v=process.env["npm_config_"+p.module_name+"_binary_host_mirror"]||e.binary.host;p.host=fix_slashes(eval_template(v,p));p.module_path=eval_template(e.binary.module_path,p);if(t.module_root){p.module_path=n.join(t.module_root,p.module_path)}else{p.module_path=n.resolve(p.module_path)}p.module=n.join(p.module_path,p.module_name+".node");p.remote_path=e.binary.remote_path?drop_double_slashes(fix_slashes(eval_template(e.binary.remote_path,p))):h;var d=e.binary.package_name?e.binary.package_name:l;p.package_name=eval_template(d,p);p.staged_tarball=n.join("build/stage",p.remote_path,p.package_name);p.hosted_path=a.resolve(p.host,p.remote_path);p.hosted_tarball=a.resolve(p.hosted_path,p.package_name);return p}},,,,function(e,t,r){"use strict";var n=r(286);function FragmentCache(e){this.caches=e||{}}FragmentCache.prototype={cache:function(e){return this.caches[e]||(this.caches[e]=new n)},set:function(e,t,r){var n=this.cache(e);n.set(t,r);return n},has:function(e,t){return typeof this.get(e,t)!=="undefined"},get:function(e,t){var r=this.cache(e);if(typeof t==="string"){return r.get(t)}return r}};t=e.exports=FragmentCache},,,,,,function(e){"use strict";e.exports=isWin32()||isColorTerm();function isWin32(){return process.platform==="win32"}function isColorTerm(){var e=/^screen|^xterm|^vt100|color|ansi|cygwin|linux/i;return!!process.env.COLORTERM||e.test(process.env.TERM)}},,,,,,,,,function(e,t,r){"use strict";var n=r(543);var i={get:"function",set:"function",configurable:"boolean",enumerable:"boolean"};function isAccessorDescriptor(e,t){if(typeof t==="string"){var r=Object.getOwnPropertyDescriptor(e,t);return typeof r!=="undefined"}if(n(e)!=="object"){return false}if(has(e,"value")||has(e,"writable")){return false}if(!has(e,"get")||typeof e.get!=="function"){return false}if(has(e,"set")&&typeof e[a]!=="function"&&typeof e[a]!=="undefined"){return false}for(var a in e){if(!i.hasOwnProperty(a)){continue}if(n(e[a])===i[a]){continue}if(typeof e[a]!=="undefined"){return false}}return true}function has(e,t){return{}.hasOwnProperty.call(e,t)}e.exports=isAccessorDescriptor},,,,,,,,,,,,,,,,,function(e){"use strict";e.exports=function base(e,t){if(!isObject(e)&&typeof e!=="function"){throw new TypeError("expected an object or function")}var r=isObject(t)?t:{};var n=typeof r.prop==="string"?r.prop:"fns";if(!Array.isArray(e[n])){define(e,n,[])}define(e,"use",use);define(e,"run",function(t){if(!isObject(t))return;if(!t.use||!t.run){define(t,n,t[n]||[]);define(t,"use",use)}if(!t[n]||t[n].indexOf(base)===-1){t.use(base)}var r=this||e;var i=r[n];var a=i.length;var s=-1;while(++s=e.length){if(t)t[s]=e;return r(null,e)}u.lastIndex=l;var n=u.exec(e);v=h;h+=n[0];p=v+n[1];l=u.lastIndex;if(c[p]||t&&t[p]===p){return process.nextTick(LOOP)}if(t&&Object.prototype.hasOwnProperty.call(t,p)){return gotResolvedLink(t[p])}return a.lstat(p,gotStat)}function gotStat(e,n){if(e)return r(e);if(!n.isSymbolicLink()){c[p]=true;if(t)t[p]=p;return process.nextTick(LOOP)}if(!i){var s=n.dev.toString(32)+":"+n.ino.toString(32);if(o.hasOwnProperty(s)){return gotTarget(null,o[s],p)}}a.stat(p,function(e){if(e)return r(e);a.readlink(p,function(e,t){if(!i)o[s]=t;gotTarget(e,t)})})}function gotTarget(e,i,a){if(e)return r(e);var s=n.resolve(v,i);if(t)t[a]=s;gotResolvedLink(s)}function gotResolvedLink(t){e=n.resolve(t,e.slice(l));start()}}},,,function(e,t,r){"use strict";var n=r(294);var i=r(711);var a=r(43);var s=r(432);var o=r(415);var u=r(169);var f=r(214);var c=1024*64;var l={};function braces(e,t){var r=f.createKey(String(e),t);var n=[];var a=t&&t.cache===false;if(!a&&l.hasOwnProperty(r)){return l[r]}if(Array.isArray(e)){for(var s=0;s=r){throw new Error("expected pattern to be less than "+r+" characters")}function create(){if(e===""||e.length<3){return[e]}if(f.isEmptySets(e)){return[]}if(f.isQuotedString(e)){return[e.slice(1,-1)]}var r=new u(t);var n=!t||t.expand!==true?r.optimize(e,t):r.expand(e,t);var a=n.output;if(t&&t.noempty===true){a=a.filter(Boolean)}if(t&&t.nodupes===true){a=i(a)}Object.defineProperty(a,"result",{enumerable:false,value:n});return a}return memoize("create",e,t,create)};braces.makeRe=function(e,t){if(typeof e!=="string"){throw new TypeError("expected a string")}var r=t&&t.maxLength||c;if(e.length>=r){throw new Error("expected pattern to be less than "+r+" characters")}function makeRe(){var r=braces(e,t);var i=a({strictErrors:false},t);return n(r,i)}return memoize("makeRe",e,t,makeRe)};braces.parse=function(e,t){var r=new u(t);return r.parse(e,t)};braces.compile=function(e,t){var r=new u(t);return r.compile(e,t)};braces.clearCache=function(){l=braces.cache={}};function memoize(e,t,r,n){var i=f.createKey(e+":"+t,r);var a=r&&r.cache===false;if(a){braces.clearCache();return n(t,r)}if(l.hasOwnProperty(i)){return l[i]}var s=n(t,r);l[i]=s;return s}braces.Braces=u;braces.compilers=s;braces.parsers=o;braces.cache=l;e.exports=braces},,,,function(e,t,r){"use strict";var n=r(49);var i=r(476);var a=r(114);e.exports=function(e,t,r){if(n(e)){return i(a(e,t),r)}return i(e,t)}},,,,,function(e,t,r){"use strict";var n=r(474);e.exports=function(e){if(n(e)){return false}if(e>=4352&&(e<=4447||9001===e||9002===e||11904<=e&&e<=12871&&e!==12351||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141)){return true}return false}},,function(e,t,r){"use strict";var n=r(294);var i=r(732);var a;t.last=function(e){return e[e.length-1]};t.createRegex=function(e,t){if(a)return a;var r={contains:true,strictClose:false};var s=i.create(e,r);var o;if(typeof t==="string"){o=n("^(?:"+t+"|"+s+")",r)}else{o=n(s,r)}return a=o}},,,function(e,t,r){"use strict";var n=r(796);e.exports=function(e){function star(){if(typeof e.options.star==="function"){return e.options.star.apply(this,arguments)}if(typeof e.options.star==="string"){return e.options.star}return".*?"}e.use(n.compilers);e.compiler.set("escape",function(e){return this.emit(e.val,e)}).set("dot",function(e){return this.emit("\\"+e.val,e)}).set("qmark",function(e){var t="[^\\\\/.]";var r=this.prev();if(e.parsed.slice(-1)==="("){var n=e.rest.charAt(0);if(n!=="!"&&n!=="="&&n!==":"){return this.emit(t,e)}return this.emit(e.val,e)}if(r.type==="text"&&r.val){return this.emit(t,e)}if(e.val.length>1){t+="{"+e.val.length+"}"}return this.emit(t,e)}).set("plus",function(e){var t=e.parsed.slice(-1);if(t==="]"||t===")"){return this.emit(e.val,e)}var r=this.output.slice(-1);if(!this.output||/[?*+]/.test(r)&&e.parent.type!=="bracket"){return this.emit("\\+",e)}if(/\w/.test(r)&&!e.inside){return this.emit("+\\+?",e)}return this.emit("+",e)}).set("star",function(e){var t=this.prev();var r=t.type!=="text"&&t.type!=="escape"?"(?!\\.)":"";return this.emit(r+star.call(this,e),e)}).set("paren",function(e){return this.mapVisit(e.nodes)}).set("paren.open",function(e){var t=this.options.capture?"(":"";switch(e.parent.prefix){case"!":case"^":return this.emit(t+"(?:(?!(?:",e);case"*":case"+":case"?":case"@":return this.emit(t+"(?:",e);default:{var r=e.val;if(this.options.bash===true){r="\\"+r}else if(!this.options.capture&&r==="("&&e.parent.rest[0]!=="?"){r+="?:"}return this.emit(r,e)}}}).set("paren.close",function(e){var t=this.options.capture?")":"";switch(e.prefix){case"!":case"^":var r=/^(\)|$)/.test(e.rest)?"$":"";var n=star.call(this,e);if(e.parent.hasSlash&&!this.options.star&&this.options.slash!==false){n=".*?"}return this.emit(r+("))"+n+")")+t,e);case"*":case"+":case"?":return this.emit(")"+e.prefix+t,e);case"@":return this.emit(")"+t,e);default:{var i=(this.options.bash===true?"\\":"")+")";return this.emit(i,e)}}}).set("text",function(e){var t=e.val.replace(/[\[\]]/g,"\\$&");return this.emit(t,e)})}},,function(e,t,r){"use strict";var n=r(891);var i=r(283);var a=r(114);var s=r(472);e.exports=function unionValue(e,t,r){if(!n(e)){throw new TypeError("union-value expects the first argument to be an object.")}if(typeof t!=="string"){throw new TypeError("union-value expects `prop` to be a string.")}var o=arrayify(a(e,t));s(e,t,i(o,arrayify(r)));return e};function arrayify(e){if(e===null||typeof e==="undefined"){return[]}if(Array.isArray(e)){return e}return[e]}},function(e,t,r){var n=r(55);var i=r(429);i.core=n;i.isCore=function isCore(e){return n[e]};i.sync=r(377);t=i;e.exports=i},,,,function(e,t,r){"use strict";const n=r(589);const i=/^\.\.?[/\\]/;function isAbsolutePath(e){return n.posix.isAbsolute(e)||n.win32.isAbsolute(e)}function isRelativePath(e){return i.test(e)}function stringifyRequest(e,t){const r=t.split("!");const i=e.context||e.options&&e.options.context;return JSON.stringify(r.map(e=>{const t=e.match(/^(.*?)(\?.*)/);const r=t?t[2]:"";let a=t?t[1]:e;if(isAbsolutePath(a)&&i){a=n.relative(i,a);if(isAbsolutePath(a)){return a+r}if(isRelativePath(a)===false){a="./"+a}}return a.replace(/\\/g,"/")+r}).join("!"))}e.exports=stringifyRequest},function(e,t,r){e.exports=r(688)},,function(e,t,r){"use strict";var n=r(66);var i=r(589);var a=r(71);var s=r(996);e.exports=mixin;function mixin(e){a(e,"_comment",e.comment);e.map=new s.SourceMap.SourceMapGenerator;e.position={line:1,column:1};e.content={};e.files={};for(var r in t){a(e,r,t[r])}}t.updatePosition=function(e){var t=e.match(/\n/g);if(t)this.position.line+=t.length;var r=e.lastIndexOf("\n");this.position.column=~r?e.length-r:this.position.column+e.length};t.emit=function(e,t){var r=t.position||{};var n=r.source;if(n){if(r.filepath){n=s.unixify(r.filepath)}this.map.addMapping({source:n,generated:{line:this.position.line,column:Math.max(this.position.column-1,0)},original:{line:r.start.line,column:r.start.column-1}});if(r.content){this.addContent(n,r)}if(r.filepath){this.addFile(n,r)}this.updatePosition(e);this.output+=e}return e};t.addFile=function(e,t){if(typeof t.content!=="string")return;if(Object.prototype.hasOwnProperty.call(this.files,e))return;this.files[e]=t.content};t.addContent=function(e,t){if(typeof t.content!=="string")return;if(Object.prototype.hasOwnProperty.call(this.content,e))return;this.map.setSourceContent(e,t.content)};t.applySourceMaps=function(){Object.keys(this.files).forEach(function(e){var t=this.files[e];this.map.setSourceContent(e,t);if(this.options.inputSourcemaps===true){var r=s.sourceMapResolve.resolveSync(t,e,n.readFileSync);if(r){var a=new s.SourceMap.SourceMapConsumer(r.map);var o=r.sourcesRelativeTo;this.map.applySourceMap(a,e,s.unixify(i.dirname(o)))}}},this)};t.comment=function(e){if(/^# sourceMappingURL=/.test(e.comment)){return this.emit("",e.position)}return this._comment(e)}},function(e,t){function swap(e,t,r){var n=e[t];e[t]=e[r];e[r]=n}function randomIntInRange(e,t){return Math.round(e+Math.random()*(t-e))}function doQuickSort(e,t,r,n){if(r-1?setImmediate:n.nextTick;var a;Writable.WritableState=WritableState;var s=r(683);s.inherits=r(207);var o={deprecate:r(848)};var u=r(569);var f=r(945).Buffer;var c=global.Uint8Array||function(){};function _uint8ArrayToBuffer(e){return f.from(e)}function _isUint8Array(e){return f.isBuffer(e)||e instanceof c}var l=r(972);s.inherits(Writable,u);function nop(){}function WritableState(e,t){a=a||r(98);e=e||{};var n=t instanceof a;this.objectMode=!!e.objectMode;if(n)this.objectMode=this.objectMode||!!e.writableObjectMode;var i=e.highWaterMark;var s=e.writableHighWaterMark;var o=this.objectMode?16:16*1024;if(i||i===0)this.highWaterMark=i;else if(n&&(s||s===0))this.highWaterMark=s;else this.highWaterMark=o;this.highWaterMark=Math.floor(this.highWaterMark);this.finalCalled=false;this.needDrain=false;this.ending=false;this.ended=false;this.finished=false;this.destroyed=false;var u=e.decodeStrings===false;this.decodeStrings=!u;this.defaultEncoding=e.defaultEncoding||"utf8";this.length=0;this.writing=false;this.corked=0;this.sync=true;this.bufferProcessing=false;this.onwrite=function(e){onwrite(t,e)};this.writecb=null;this.writelen=0;this.bufferedRequest=null;this.lastBufferedRequest=null;this.pendingcb=0;this.prefinished=false;this.errorEmitted=false;this.bufferedRequestCount=0;this.corkedRequestsFree=new CorkedRequest(this)}WritableState.prototype.getBuffer=function getBuffer(){var e=this.bufferedRequest;var t=[];while(e){t.push(e);e=e.next}return t};(function(){try{Object.defineProperty(WritableState.prototype,"buffer",{get:o.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer "+"instead.","DEP0003")})}catch(e){}})();var h;if(typeof Symbol==="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]==="function"){h=Function.prototype[Symbol.hasInstance];Object.defineProperty(Writable,Symbol.hasInstance,{value:function(e){if(h.call(this,e))return true;if(this!==Writable)return false;return e&&e._writableState instanceof WritableState}})}else{h=function(e){return e instanceof this}}function Writable(e){a=a||r(98);if(!h.call(Writable,this)&&!(this instanceof a)){return new Writable(e)}this._writableState=new WritableState(e,this);this.writable=true;if(e){if(typeof e.write==="function")this._write=e.write;if(typeof e.writev==="function")this._writev=e.writev;if(typeof e.destroy==="function")this._destroy=e.destroy;if(typeof e.final==="function")this._final=e.final}u.call(this)}Writable.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))};function writeAfterEnd(e,t){var r=new Error("write after end");e.emit("error",r);n.nextTick(t,r)}function validChunk(e,t,r,i){var a=true;var s=false;if(r===null){s=new TypeError("May not write null values to stream")}else if(typeof r!=="string"&&r!==undefined&&!t.objectMode){s=new TypeError("Invalid non-string/buffer chunk")}if(s){e.emit("error",s);n.nextTick(i,s);a=false}return a}Writable.prototype.write=function(e,t,r){var n=this._writableState;var i=false;var a=!n.objectMode&&_isUint8Array(e);if(a&&!f.isBuffer(e)){e=_uint8ArrayToBuffer(e)}if(typeof t==="function"){r=t;t=null}if(a)t="buffer";else if(!t)t=n.defaultEncoding;if(typeof r!=="function")r=nop;if(n.ended)writeAfterEnd(this,r);else if(a||validChunk(this,n,e,r)){n.pendingcb++;i=writeOrBuffer(this,n,a,e,t,r)}return i};Writable.prototype.cork=function(){var e=this._writableState;e.corked++};Writable.prototype.uncork=function(){var e=this._writableState;if(e.corked){e.corked--;if(!e.writing&&!e.corked&&!e.finished&&!e.bufferProcessing&&e.bufferedRequest)clearBuffer(this,e)}};Writable.prototype.setDefaultEncoding=function setDefaultEncoding(e){if(typeof e==="string")e=e.toLowerCase();if(!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+e);this._writableState.defaultEncoding=e;return this};function decodeChunk(e,t,r){if(!e.objectMode&&e.decodeStrings!==false&&typeof t==="string"){t=f.from(t,r)}return t}Object.defineProperty(Writable.prototype,"writableHighWaterMark",{enumerable:false,get:function(){return this._writableState.highWaterMark}});function writeOrBuffer(e,t,r,n,i,a){if(!r){var s=decodeChunk(t,n,i);if(n!==s){r=true;i="buffer";n=s}}var o=t.objectMode?1:n.length;t.length+=o;var u=t.length)?=?)";var C=u++;o[C]=o[c]+"|x|X|\\*";var x=u++;o[x]=o[f]+"|x|X|\\*";var S=u++;o[S]="[v=\\s]*("+o[x]+")"+"(?:\\.("+o[x]+")"+"(?:\\.("+o[x]+")"+"(?:"+o[y]+")?"+o[m]+"?"+")?)?";var k=u++;o[k]="[v=\\s]*("+o[C]+")"+"(?:\\.("+o[C]+")"+"(?:\\.("+o[C]+")"+"(?:"+o[g]+")?"+o[m]+"?"+")?)?";var F=u++;o[F]="^"+o[A]+"\\s*"+o[S]+"$";var O=u++;o[O]="^"+o[A]+"\\s*"+o[k]+"$";var T=u++;o[T]="(?:^|[^\\d])"+"(\\d{1,"+a+"})"+"(?:\\.(\\d{1,"+a+"}))?"+"(?:\\.(\\d{1,"+a+"}))?"+"(?:$|[^\\d])";var R=u++;o[R]="(?:~>?)";var j=u++;o[j]="(\\s*)"+o[R]+"\\s+";s[j]=new RegExp(o[j],"g");var I="$1~";var N=u++;o[N]="^"+o[R]+o[S]+"$";var B=u++;o[B]="^"+o[R]+o[k]+"$";var P=u++;o[P]="(?:\\^)";var L=u++;o[L]="(\\s*)"+o[P]+"\\s+";s[L]=new RegExp(o[L],"g");var M="$1^";var q=u++;o[q]="^"+o[P]+o[S]+"$";var G=u++;o[G]="^"+o[P]+o[k]+"$";var W=u++;o[W]="^"+o[A]+"\\s*("+E+")$|^$";var U=u++;o[U]="^"+o[A]+"\\s*("+w+")$|^$";var V=u++;o[V]="(\\s*)"+o[A]+"\\s*("+E+"|"+o[S]+")";s[V]=new RegExp(o[V],"g");var z="$1$2$3";var $=u++;o[$]="^\\s*("+o[S]+")"+"\\s+-\\s+"+"("+o[S]+")"+"\\s*$";var H=u++;o[H]="^\\s*("+o[k]+")"+"\\s+-\\s+"+"("+o[k]+")"+"\\s*$";var J=u++;o[J]="(<|>)?=?\\s*\\*";for(var Q=0;Qn){return null}var r=t.loose?s[D]:s[_];if(!r.test(e)){return null}try{return new SemVer(e,t)}catch(e){return null}}t.valid=valid;function valid(e,t){var r=parse(e,t);return r?r.version:null}t.clean=clean;function clean(e,t){var r=parse(e.trim().replace(/^[=v]+/,""),t);return r?r.version:null}t.SemVer=SemVer;function SemVer(e,t){if(!t||typeof t!=="object"){t={loose:!!t,includePrerelease:false}}if(e instanceof SemVer){if(e.loose===t.loose){return e}else{e=e.version}}else if(typeof e!=="string"){throw new TypeError("Invalid Version: "+e)}if(e.length>n){throw new TypeError("version is longer than "+n+" characters")}if(!(this instanceof SemVer)){return new SemVer(e,t)}r("SemVer",e,t);this.options=t;this.loose=!!t.loose;var a=e.trim().match(t.loose?s[D]:s[_]);if(!a){throw new TypeError("Invalid Version: "+e)}this.raw=e;this.major=+a[1];this.minor=+a[2];this.patch=+a[3];if(this.major>i||this.major<0){throw new TypeError("Invalid major version")}if(this.minor>i||this.minor<0){throw new TypeError("Invalid minor version")}if(this.patch>i||this.patch<0){throw new TypeError("Invalid patch version")}if(!a[4]){this.prerelease=[]}else{this.prerelease=a[4].split(".").map(function(e){if(/^[0-9]+$/.test(e)){var t=+e;if(t>=0&&t=0){if(typeof this.prerelease[r]==="number"){this.prerelease[r]++;r=-2}}if(r===-1){this.prerelease.push(0)}}if(t){if(this.prerelease[0]===t){if(isNaN(this.prerelease[1])){this.prerelease=[t,0]}}else{this.prerelease=[t,0]}}break;default:throw new Error("invalid increment argument: "+e)}this.format();this.raw=this.version;return this};t.inc=inc;function inc(e,t,r,n){if(typeof r==="string"){n=r;r=undefined}try{return new SemVer(e,r).inc(t,n).version}catch(e){return null}}t.diff=diff;function diff(e,t){if(eq(e,t)){return null}else{var r=parse(e);var n=parse(t);var i="";if(r.prerelease.length||n.prerelease.length){i="pre";var a="prerelease"}for(var s in r){if(s==="major"||s==="minor"||s==="patch"){if(r[s]!==n[s]){return i+s}}}return a}}t.compareIdentifiers=compareIdentifiers;var K=/^[0-9]+$/;function compareIdentifiers(e,t){var r=K.test(e);var n=K.test(t);if(r&&n){e=+e;t=+t}return e===t?0:r&&!n?-1:n&&!r?1:e0}t.lt=lt;function lt(e,t,r){return compare(e,t,r)<0}t.eq=eq;function eq(e,t,r){return compare(e,t,r)===0}t.neq=neq;function neq(e,t,r){return compare(e,t,r)!==0}t.gte=gte;function gte(e,t,r){return compare(e,t,r)>=0}t.lte=lte;function lte(e,t,r){return compare(e,t,r)<=0}t.cmp=cmp;function cmp(e,t,r,n){switch(t){case"===":if(typeof e==="object")e=e.version;if(typeof r==="object")r=r.version;return e===r;case"!==":if(typeof e==="object")e=e.version;if(typeof r==="object")r=r.version;return e!==r;case"":case"=":case"==":return eq(e,r,n);case"!=":return neq(e,r,n);case">":return gt(e,r,n);case">=":return gte(e,r,n);case"<":return lt(e,r,n);case"<=":return lte(e,r,n);default:throw new TypeError("Invalid operator: "+t)}}t.Comparator=Comparator;function Comparator(e,t){if(!t||typeof t!=="object"){t={loose:!!t,includePrerelease:false}}if(e instanceof Comparator){if(e.loose===!!t.loose){return e}else{e=e.value}}if(!(this instanceof Comparator)){return new Comparator(e,t)}r("comparator",e,t);this.options=t;this.loose=!!t.loose;this.parse(e);if(this.semver===Z){this.value=""}else{this.value=this.operator+this.semver.version}r("comp",this)}var Z={};Comparator.prototype.parse=function(e){var t=this.options.loose?s[W]:s[U];var r=e.match(t);if(!r){throw new TypeError("Invalid comparator: "+e)}this.operator=r[1];if(this.operator==="="){this.operator=""}if(!r[2]){this.semver=Z}else{this.semver=new SemVer(r[2],this.options.loose)}};Comparator.prototype.toString=function(){return this.value};Comparator.prototype.test=function(e){r("Comparator.test",e,this.options.loose);if(this.semver===Z){return true}if(typeof e==="string"){e=new SemVer(e,this.options)}return cmp(e,this.operator,this.semver,this.options)};Comparator.prototype.intersects=function(e,t){if(!(e instanceof Comparator)){throw new TypeError("a Comparator is required")}if(!t||typeof t!=="object"){t={loose:!!t,includePrerelease:false}}var r;if(this.operator===""){r=new Range(e.value,t);return satisfies(this.value,r,t)}else if(e.operator===""){r=new Range(this.value,t);return satisfies(e.semver,r,t)}var n=(this.operator===">="||this.operator===">")&&(e.operator===">="||e.operator===">");var i=(this.operator==="<="||this.operator==="<")&&(e.operator==="<="||e.operator==="<");var a=this.semver.version===e.semver.version;var s=(this.operator===">="||this.operator==="<=")&&(e.operator===">="||e.operator==="<=");var o=cmp(this.semver,"<",e.semver,t)&&((this.operator===">="||this.operator===">")&&(e.operator==="<="||e.operator==="<"));var u=cmp(this.semver,">",e.semver,t)&&((this.operator==="<="||this.operator==="<")&&(e.operator===">="||e.operator===">"));return n||i||a&&s||o||u};t.Range=Range;function Range(e,t){if(!t||typeof t!=="object"){t={loose:!!t,includePrerelease:false}}if(e instanceof Range){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease){return e}else{return new Range(e.raw,t)}}if(e instanceof Comparator){return new Range(e.value,t)}if(!(this instanceof Range)){return new Range(e,t)}this.options=t;this.loose=!!t.loose;this.includePrerelease=!!t.includePrerelease;this.raw=e;this.set=e.split(/\s*\|\|\s*/).map(function(e){return this.parseRange(e.trim())},this).filter(function(e){return e.length});if(!this.set.length){throw new TypeError("Invalid SemVer Range: "+e)}this.format()}Range.prototype.format=function(){this.range=this.set.map(function(e){return e.join(" ").trim()}).join("||").trim();return this.range};Range.prototype.toString=function(){return this.range};Range.prototype.parseRange=function(e){var t=this.options.loose;e=e.trim();var n=t?s[H]:s[$];e=e.replace(n,hyphenReplace);r("hyphen replace",e);e=e.replace(s[V],z);r("comparator trim",e,s[V]);e=e.replace(s[j],I);e=e.replace(s[L],M);e=e.split(/\s+/).join(" ");var i=t?s[W]:s[U];var a=e.split(" ").map(function(e){return parseComparator(e,this.options)},this).join(" ").split(/\s+/);if(this.options.loose){a=a.filter(function(e){return!!e.match(i)})}a=a.map(function(e){return new Comparator(e,this.options)},this);return a};Range.prototype.intersects=function(e,t){if(!(e instanceof Range)){throw new TypeError("a Range is required")}return this.set.some(function(r){return r.every(function(r){return e.set.some(function(e){return e.every(function(e){return r.intersects(e,t)})})})})};t.toComparators=toComparators;function toComparators(e,t){return new Range(e,t).set.map(function(e){return e.map(function(e){return e.value}).join(" ").trim().split(" ")})}function parseComparator(e,t){r("comp",e,t);e=replaceCarets(e,t);r("caret",e);e=replaceTildes(e,t);r("tildes",e);e=replaceXRanges(e,t);r("xrange",e);e=replaceStars(e,t);r("stars",e);return e}function isX(e){return!e||e.toLowerCase()==="x"||e==="*"}function replaceTildes(e,t){return e.trim().split(/\s+/).map(function(e){return replaceTilde(e,t)}).join(" ")}function replaceTilde(e,t){var n=t.loose?s[B]:s[N];return e.replace(n,function(t,n,i,a,s){r("tilde",e,t,n,i,a,s);var o;if(isX(n)){o=""}else if(isX(i)){o=">="+n+".0.0 <"+(+n+1)+".0.0"}else if(isX(a)){o=">="+n+"."+i+".0 <"+n+"."+(+i+1)+".0"}else if(s){r("replaceTilde pr",s);o=">="+n+"."+i+"."+a+"-"+s+" <"+n+"."+(+i+1)+".0"}else{o=">="+n+"."+i+"."+a+" <"+n+"."+(+i+1)+".0"}r("tilde return",o);return o})}function replaceCarets(e,t){return e.trim().split(/\s+/).map(function(e){return replaceCaret(e,t)}).join(" ")}function replaceCaret(e,t){r("caret",e,t);var n=t.loose?s[G]:s[q];return e.replace(n,function(t,n,i,a,s){r("caret",e,t,n,i,a,s);var o;if(isX(n)){o=""}else if(isX(i)){o=">="+n+".0.0 <"+(+n+1)+".0.0"}else if(isX(a)){if(n==="0"){o=">="+n+"."+i+".0 <"+n+"."+(+i+1)+".0"}else{o=">="+n+"."+i+".0 <"+(+n+1)+".0.0"}}else if(s){r("replaceCaret pr",s);if(n==="0"){if(i==="0"){o=">="+n+"."+i+"."+a+"-"+s+" <"+n+"."+i+"."+(+a+1)}else{o=">="+n+"."+i+"."+a+"-"+s+" <"+n+"."+(+i+1)+".0"}}else{o=">="+n+"."+i+"."+a+"-"+s+" <"+(+n+1)+".0.0"}}else{r("no pr");if(n==="0"){if(i==="0"){o=">="+n+"."+i+"."+a+" <"+n+"."+i+"."+(+a+1)}else{o=">="+n+"."+i+"."+a+" <"+n+"."+(+i+1)+".0"}}else{o=">="+n+"."+i+"."+a+" <"+(+n+1)+".0.0"}}r("caret return",o);return o})}function replaceXRanges(e,t){r("replaceXRanges",e,t);return e.split(/\s+/).map(function(e){return replaceXRange(e,t)}).join(" ")}function replaceXRange(e,t){e=e.trim();var n=t.loose?s[O]:s[F];return e.replace(n,function(t,n,i,a,s,o){r("xRange",e,t,n,i,a,s,o);var u=isX(i);var f=u||isX(a);var c=f||isX(s);var l=c;if(n==="="&&l){n=""}if(u){if(n===">"||n==="<"){t="<0.0.0"}else{t="*"}}else if(n&&l){if(f){a=0}s=0;if(n===">"){n=">=";if(f){i=+i+1;a=0;s=0}else{a=+a+1;s=0}}else if(n==="<="){n="<";if(f){i=+i+1}else{a=+a+1}}t=n+i+"."+a+"."+s}else if(f){t=">="+i+".0.0 <"+(+i+1)+".0.0"}else if(c){t=">="+i+"."+a+".0 <"+i+"."+(+a+1)+".0"}r("xRange return",t);return t})}function replaceStars(e,t){r("replaceStars",e,t);return e.trim().replace(s[J],"")}function hyphenReplace(e,t,r,n,i,a,s,o,u,f,c,l,h){if(isX(r)){t=""}else if(isX(n)){t=">="+r+".0.0"}else if(isX(i)){t=">="+r+"."+n+".0"}else{t=">="+t}if(isX(u)){o=""}else if(isX(f)){o="<"+(+u+1)+".0.0"}else if(isX(c)){o="<"+u+"."+(+f+1)+".0"}else if(l){o="<="+u+"."+f+"."+c+"-"+l}else{o="<="+o}return(t+" "+o).trim()}Range.prototype.test=function(e){if(!e){return false}if(typeof e==="string"){e=new SemVer(e,this.options)}for(var t=0;t0){var a=e[i].semver;if(a.major===t.major&&a.minor===t.minor&&a.patch===t.patch){return true}}}return false}return true}t.satisfies=satisfies;function satisfies(e,t,r){try{t=new Range(t,r)}catch(e){return false}return t.test(e)}t.maxSatisfying=maxSatisfying;function maxSatisfying(e,t,r){var n=null;var i=null;try{var a=new Range(t,r)}catch(e){return null}e.forEach(function(e){if(a.test(e)){if(!n||i.compare(e)===-1){n=e;i=new SemVer(n,r)}}});return n}t.minSatisfying=minSatisfying;function minSatisfying(e,t,r){var n=null;var i=null;try{var a=new Range(t,r)}catch(e){return null}e.forEach(function(e){if(a.test(e)){if(!n||i.compare(e)===1){n=e;i=new SemVer(n,r)}}});return n}t.minVersion=minVersion;function minVersion(e,t){e=new Range(e,t);var r=new SemVer("0.0.0");if(e.test(r)){return r}r=new SemVer("0.0.0-0");if(e.test(r)){return r}r=null;for(var n=0;n":if(t.prerelease.length===0){t.patch++}else{t.prerelease.push(0)}t.raw=t.format();case"":case">=":if(!r||gt(r,t)){r=t}break;case"<":case"<=":break;default:throw new Error("Unexpected operation: "+e.operator)}})}if(r&&e.test(r)){return r}return null}t.validRange=validRange;function validRange(e,t){try{return new Range(e,t).range||"*"}catch(e){return null}}t.ltr=ltr;function ltr(e,t,r){return outside(e,t,"<",r)}t.gtr=gtr;function gtr(e,t,r){return outside(e,t,">",r)}t.outside=outside;function outside(e,t,r,n){e=new SemVer(e,n);t=new Range(t,n);var i,a,s,o,u;switch(r){case">":i=gt;a=lte;s=lt;o=">";u=">=";break;case"<":i=lt;a=gte;s=gt;o="<";u="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(satisfies(e,t,n)){return false}for(var f=0;f=0.0.0")}l=l||e;h=h||e;if(i(e.semver,l.semver,n)){l=e}else if(s(e.semver,h.semver,n)){h=e}});if(l.operator===o||l.operator===u){return false}if((!h.operator||h.operator===o)&&a(e,h.semver)){return false}else if(h.operator===u&&s(e,h.semver)){return false}}return true}t.prerelease=prerelease;function prerelease(e,t){var r=parse(e,t);return r&&r.prerelease.length?r.prerelease:null}t.intersects=intersects;function intersects(e,t,r){e=new Range(e,r);t=new Range(t,r);return e.intersects(t)}t.coerce=coerce;function coerce(e){if(e instanceof SemVer){return e}if(typeof e!=="string"){return null}var t=e.match(s[T]);if(t==null){return null}return parse(t[1]+"."+(t[2]||"0")+"."+(t[3]||"0"))}},,,,,function(e,t){var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");t.encode=function(e){if(0<=e&&en[e]-n[t]);this.raise(n[e[0]],"Usage of undeclared private name")}}else Object.assign(this._unresolvedPrivateNamesStack[this._unresolvedPrivateNamesStack.length-1],n);return i}parseSubscript(e,t,r,n,a){if(!this.eat(i.dot)){return super.parseSubscript(e,t,r,n,a)}let s=this.startNodeAt(t,r);s.object=e;s.computed=false;if(this.type==this.privateNameToken){s.property=this.parsePrivateName();if(!this._privateBoundNamesStack.length||!this._privateBoundNamesStack[this._privateBoundNamesStack.length-1][s.property.name]){this._unresolvedPrivateNamesStack[this._unresolvedPrivateNamesStack.length-1][s.property.name]=s.property.start}}else{s.property=this.parseIdent(true)}return this.finishNode(s,"MemberExpression")}parseMaybeUnary(e,t){const r=super.parseMaybeUnary(e,t);if(r.operator=="delete"){if(r.argument.type=="MemberExpression"&&r.argument.property.type=="PrivateName"){this.raise(r.start,"Private elements may not be deleted")}}return r}};e.prototype.privateNameToken=new a("privateName");return e}},function(e,t,r){"use strict";var n=r(238);var i=r(737);var a=r(485).EventEmitter;var s=t=e.exports=new a;var o=r(64);var u=r(844);var f=r(354);u(true);var c=process.stderr;Object.defineProperty(s,"stream",{set:function(e){c=e;if(this.gauge)this.gauge.setWriteTo(c,c)},get:function(){return c}});var l;s.useColor=function(){return l!=null?l:c.isTTY};s.enableColor=function(){l=true;this.gauge.setTheme({hasColor:l,hasUnicode:h})};s.disableColor=function(){l=false;this.gauge.setTheme({hasColor:l,hasUnicode:h})};s.level="info";s.gauge=new i(c,{enabled:false,theme:{hasColor:s.useColor()},template:[{type:"progressbar",length:20},{type:"activityIndicator",kerning:1,length:1},{type:"section",default:""},":",{type:"logline",kerning:1,default:""}]});s.tracker=new n.TrackerGroup;s.progressEnabled=s.gauge.isEnabled();var h;s.enableUnicode=function(){h=true;this.gauge.setTheme({hasColor:this.useColor(),hasUnicode:h})};s.disableUnicode=function(){h=false;this.gauge.setTheme({hasColor:this.useColor(),hasUnicode:h})};s.setGaugeThemeset=function(e){this.gauge.setThemeset(e)};s.setGaugeTemplate=function(e){this.gauge.setTemplate(e)};s.enableProgress=function(){if(this.progressEnabled)return;this.progressEnabled=true;this.tracker.on("change",this.showProgress);if(this._pause)return;this.gauge.enable()};s.disableProgress=function(){if(!this.progressEnabled)return;this.progressEnabled=false;this.tracker.removeListener("change",this.showProgress);this.gauge.disable()};var p=["newGroup","newItem","newStream"];var v=function(e){Object.keys(s).forEach(function(t){if(t[0]==="_")return;if(p.filter(function(e){return e===t}).length)return;if(e[t])return;if(typeof s[t]!=="function")return;var r=s[t];e[t]=function(){return r.apply(s,arguments)}});if(e instanceof n.TrackerGroup){p.forEach(function(t){var r=e[t];e[t]=function(){return v(r.apply(e,arguments))}})}return e};p.forEach(function(e){s[e]=function(){return v(this.tracker[e].apply(this.tracker,arguments))}});s.clearProgress=function(e){if(!this.progressEnabled)return e&&process.nextTick(e);this.gauge.hide(e)};s.showProgress=function(e,t){if(!this.progressEnabled)return;var r={};if(e)r.section=e;var n=s.record[s.record.length-1];if(n){r.subsection=n.prefix;var i=s.disp[n.level]||n.level;var a=this._format(i,s.style[n.level]);if(n.prefix)a+=" "+this._format(n.prefix,this.prefixStyle);a+=" "+n.message.split(/\r?\n/)[0];r.logline=a}r.completed=t||this.tracker.completed();this.gauge.show(r)}.bind(s);s.pause=function(){this._paused=true;if(this.progressEnabled)this.gauge.disable()};s.resume=function(){if(!this._paused)return;this._paused=false;var e=this._buffer;this._buffer=[];e.forEach(function(e){this.emitLog(e)},this);if(this.progressEnabled)this.gauge.enable()};s._buffer=[];var d=0;s.record=[];s.maxRecordSize=1e4;s.log=function(e,t,r){var n=this.levels[e];if(n===undefined){return this.emit("error",new Error(o.format("Undefined log level: %j",e)))}var i=new Array(arguments.length-2);var a=null;for(var s=2;sc/10){var h=Math.floor(c*.9);this.record=this.record.slice(-1*h)}this.emitLog(f)}.bind(s);s.emitLog=function(e){if(this._paused){this._buffer.push(e);return}if(this.progressEnabled)this.gauge.pulse(e.prefix);var t=this.levels[e.level];if(t===undefined)return;if(t0&&!isFinite(t))return;var r=s.disp[e.level]!=null?s.disp[e.level]:e.level;this.clearProgress();e.message.split(/\r?\n/).forEach(function(t){if(this.heading){this.write(this.heading,this.headingStyle);this.write(" ")}this.write(r,s.style[e.level]);var n=e.prefix||"";if(n)this.write(" ");this.write(n,this.prefixStyle);this.write(" "+t+"\n")},this);this.showProgress()};s._format=function(e,t){if(!c)return;var r="";if(this.useColor()){t=t||{};var n=[];if(t.fg)n.push(t.fg);if(t.bg)n.push("bg"+t.bg[0].toUpperCase()+t.bg.slice(1));if(t.bold)n.push("bold");if(t.underline)n.push("underline");if(t.inverse)n.push("inverse");if(n.length)r+=f.color(n);if(t.beep)r+=f.beep()}r+=e;if(this.useColor()){r+=f.color("reset")}return r};s.write=function(e,t){if(!c)return;c.write(this._format(e,t))};s.addLevel=function(e,t,r,n){if(n==null)n=e;this.levels[e]=t;this.style[e]=r;if(!this[e]){this[e]=function(){var t=new Array(arguments.length+1);t[0]=e;for(var r=0;rr.specificity?-1:1}else{return 0}}}function isElectron(){if(process.versions&&process.versions.electron)return true;if(process.env.ELECTRON_RUN_AS_NODE)return true;return typeof window!=="undefined"&&window.process&&window.process.type==="renderer"}function isAlpine(e){return e==="linux"&&fs.existsSync("/etc/alpine-release")}load.parseTags=parseTags;load.matchTags=matchTags;load.compareTags=compareTags},,,function(e,t,r){var n=r(688).Stream;e.exports=legacy;function legacy(e){return{ReadStream:ReadStream,WriteStream:WriteStream};function ReadStream(t,r){if(!(this instanceof ReadStream))return new ReadStream(t,r);n.call(this);var i=this;this.path=t;this.fd=null;this.readable=true;this.paused=false;this.flags="r";this.mode=438;this.bufferSize=64*1024;r=r||{};var a=Object.keys(r);for(var s=0,o=a.length;sthis.end){throw new Error("start must be <= end")}this.pos=this.start}if(this.fd!==null){process.nextTick(function(){i._read()});return}e.open(this.path,this.flags,this.mode,function(e,t){if(e){i.emit("error",e);i.readable=false;return}i.fd=t;i.emit("open",t);i._read()})}function WriteStream(t,r){if(!(this instanceof WriteStream))return new WriteStream(t,r);n.call(this);this.path=t;this.fd=null;this.writable=true;this.flags="w";this.encoding="binary";this.mode=438;this.bytesWritten=0;r=r||{};var i=Object.keys(r);for(var a=0,s=i.length;a= zero")}this.pos=this.start}this.busy=false;this._queue=[];if(this.fd===null){this._open=e.open;this._queue.push([this._open,this.path,this.flags,this.mode,undefined]);this.flush()}}}},function(e,t,r){"use strict";var n=r(539);var i=r(64);var a=r(286);var s=r(71);var o=r(140)("snapdragon:parser");var u=r(636);var f=r(996);function Parser(e){o("initializing",__filename);this.options=f.extend({source:"string"},e);this.init(this.options);n(this)}Parser.prototype={constructor:Parser,init:function(e){this.orig="";this.input="";this.parsed="";this.column=1;this.line=1;this.regex=new a;this.errors=this.errors||[];this.parsers=this.parsers||{};this.types=this.types||[];this.sets=this.sets||{};this.fns=this.fns||[];this.currentType="root";var t=this.position();this.bos=t({type:"bos",val:""});this.ast={type:"root",errors:this.errors,nodes:[this.bos]};s(this.bos,"parent",this.ast);this.nodes=[this.ast];this.count=0;this.setCount=0;this.stack=[]},error:function(e,t){var r=t.position||{start:{column:0,line:0}};var n=r.start.line;var i=r.start.column;var a=this.options.source;var s=a+" : "+e;var o=new Error(s);o.source=a;o.reason=e;o.pos=r;if(this.options.silent){this.errors.push(o)}else{throw o}},define:function(e,t){s(this,e,t);return this},position:function(){var e={line:this.line,column:this.column};var t=this;return function(r){s(r,"position",new u(e,t));return r}},set:function(e,t){if(this.types.indexOf(e)===-1){this.types.push(e)}this.parsers[e]=t.bind(this);return this},get:function(e){return this.parsers[e]},push:function(e,t){this.sets[e]=this.sets[e]||[];this.count++;this.stack.push(t);return this.sets[e].push(t)},pop:function(e){this.sets[e]=this.sets[e]||[];this.count--;this.stack.pop();return this.sets[e].pop()},isInside:function(e){this.sets[e]=this.sets[e]||[];return this.sets[e].length>0},isType:function(e,t){return e&&e.type===t},prev:function(e){return this.stack.length>0?f.last(this.stack,e):f.last(this.nodes,e)},consume:function(e){this.input=this.input.substr(e)},updatePosition:function(e,t){var r=e.match(/\n/g);if(r)this.line+=r.length;var n=e.lastIndexOf("\n");this.column=~n?t-n:this.column+t;this.parsed+=e;this.consume(t)},match:function(e){var t=e.exec(this.input);if(t){this.updatePosition(t[0],t[0].length);return t}},capture:function(e,t){if(typeof t==="function"){return this.set.apply(this,arguments)}this.regex.set(e,t);this.set(e,function(){var r=this.parsed;var n=this.position();var i=this.match(t);if(!i||!i[0])return;var a=this.prev();var o=n({type:e,val:i[0],parsed:r,rest:this.input});if(i[1]){o.inner=i[1]}s(o,"inside",this.stack.length>0);s(o,"parent",a);a.nodes.push(o)}.bind(this));return this},capturePair:function(e,t,r,n){this.sets[e]=this.sets[e]||[];this.set(e+".open",function(){var r=this.parsed;var i=this.position();var a=this.match(t);if(!a||!a[0])return;var o=a[0];this.setCount++;this.specialChars=true;var u=i({type:e+".open",val:o,rest:this.input});if(typeof a[1]!=="undefined"){u.inner=a[1]}var f=this.prev();var c=i({type:e,nodes:[u]});s(c,"rest",this.input);s(c,"parsed",r);s(c,"prefix",a[1]);s(c,"parent",f);s(u,"parent",c);if(typeof n==="function"){n.call(this,u,c)}this.push(e,c);f.nodes.push(c)});this.set(e+".close",function(){var t=this.position();var n=this.match(r);if(!n||!n[0])return;var i=this.pop(e);var a=t({type:e+".close",rest:this.input,suffix:n[1],val:n[0]});if(!this.isType(i,e)){if(this.options.strict){throw new Error('missing opening "'+e+'"')}this.setCount--;a.escaped=true;return a}if(a.suffix==="\\"){i.escaped=true;a.escaped=true}i.nodes.push(a);s(a,"parent",i)});return this},eos:function(){var e=this.position();if(this.input)return;var t=this.prev();while(t.type!=="root"&&!t.visited){if(this.options.strict===true){throw new SyntaxError("invalid syntax:"+i.inspect(t,null,2))}if(!hasDelims(t)){t.parent.escaped=true;t.escaped=true}visit(t,function(e){if(!hasDelims(e.parent)){e.parent.escaped=true;e.escaped=true}});t=t.parent}var r=e({type:"eos",val:this.append||""});s(r,"parent",this.ast);return r},next:function(){var e=this.parsed;var t=this.types.length;var r=-1;var n;while(++r{if(Number.isNaN(e)){return false}if(e>=4352&&(e<=4447||e===9001||e===9002||11904<=e&&e<=12871&&e!==12351||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141)){return true}return false})},function(e){e.exports=["🀄","🃏","🅰","🅱","🅾","🅿","🆎","🆑","🆒","🆓","🆔","🆕","🆖","🆗","🆘","🆙","🆚","🇦🇨","🇦🇩","🇦🇪","🇦🇫","🇦🇬","🇦🇮","🇦🇱","🇦🇲","🇦🇴","🇦🇶","🇦🇷","🇦🇸","🇦🇹","🇦🇺","🇦🇼","🇦🇽","🇦🇿","🇦","🇧🇦","🇧🇧","🇧🇩","🇧🇪","🇧🇫","🇧🇬","🇧🇭","🇧🇮","🇧🇯","🇧🇱","🇧🇲","🇧🇳","🇧🇴","🇧🇶","🇧🇷","🇧🇸","🇧🇹","🇧🇻","🇧🇼","🇧🇾","🇧🇿","🇧","🇨🇦","🇨🇨","🇨🇩","🇨🇫","🇨🇬","🇨🇭","🇨🇮","🇨🇰","🇨🇱","🇨🇲","🇨🇳","🇨🇴","🇨🇵","🇨🇷","🇨🇺","🇨🇻","🇨🇼","🇨🇽","🇨🇾","🇨🇿","🇨","🇩🇪","🇩🇬","🇩🇯","🇩🇰","🇩🇲","🇩🇴","🇩🇿","🇩","🇪🇦","🇪🇨","🇪🇪","🇪🇬","🇪🇭","🇪🇷","🇪🇸","🇪🇹","🇪🇺","🇪","🇫🇮","🇫🇯","🇫🇰","🇫🇲","🇫🇴","🇫🇷","🇫","🇬🇦","🇬🇧","🇬🇩","🇬🇪","🇬🇫","🇬🇬","🇬🇭","🇬🇮","🇬🇱","🇬🇲","🇬🇳","🇬🇵","🇬🇶","🇬🇷","🇬🇸","🇬🇹","🇬🇺","🇬🇼","🇬🇾","🇬","🇭🇰","🇭🇲","🇭🇳","🇭🇷","🇭🇹","🇭🇺","🇭","🇮🇨","🇮🇩","🇮🇪","🇮🇱","🇮🇲","🇮🇳","🇮🇴","🇮🇶","🇮🇷","🇮🇸","🇮🇹","🇮","🇯🇪","🇯🇲","🇯🇴","🇯🇵","🇯","🇰🇪","🇰🇬","🇰🇭","🇰🇮","🇰🇲","🇰🇳","🇰🇵","🇰🇷","🇰🇼","🇰🇾","🇰🇿","🇰","🇱🇦","🇱🇧","🇱🇨","🇱🇮","🇱🇰","🇱🇷","🇱🇸","🇱🇹","🇱🇺","🇱🇻","🇱🇾","🇱","🇲🇦","🇲🇨","🇲🇩","🇲🇪","🇲🇫","🇲🇬","🇲🇭","🇲🇰","🇲🇱","🇲🇲","🇲🇳","🇲🇴","🇲🇵","🇲🇶","🇲🇷","🇲🇸","🇲🇹","🇲🇺","🇲🇻","🇲🇼","🇲🇽","🇲🇾","🇲🇿","🇲","🇳🇦","🇳🇨","🇳🇪","🇳🇫","🇳🇬","🇳🇮","🇳🇱","🇳🇴","🇳🇵","🇳🇷","🇳🇺","🇳🇿","🇳","🇴🇲","🇴","🇵🇦","🇵🇪","🇵🇫","🇵🇬","🇵🇭","🇵🇰","🇵🇱","🇵🇲","🇵🇳","🇵🇷","🇵🇸","🇵🇹","🇵🇼","🇵🇾","🇵","🇶🇦","🇶","🇷🇪","🇷🇴","🇷🇸","🇷🇺","🇷🇼","🇷","🇸🇦","🇸🇧","🇸🇨","🇸🇩","🇸🇪","🇸🇬","🇸🇭","🇸🇮","🇸🇯","🇸🇰","🇸🇱","🇸🇲","🇸🇳","🇸🇴","🇸🇷","🇸🇸","🇸🇹","🇸🇻","🇸🇽","🇸🇾","🇸🇿","🇸","🇹🇦","🇹🇨","🇹🇩","🇹🇫","🇹🇬","🇹🇭","🇹🇯","🇹🇰","🇹🇱","🇹🇲","🇹🇳","🇹🇴","🇹🇷","🇹🇹","🇹🇻","🇹🇼","🇹🇿","🇹","🇺🇦","🇺🇬","🇺🇲","🇺🇳","🇺🇸","🇺🇾","🇺🇿","🇺","🇻🇦","🇻🇨","🇻🇪","🇻🇬","🇻🇮","🇻🇳","🇻🇺","🇻","🇼🇫","🇼🇸","🇼","🇽🇰","🇽","🇾🇪","🇾🇹","🇾","🇿🇦","🇿🇲","🇿🇼","🇿","🈁","🈂","🈚","🈯","🈲","🈳","🈴","🈵","🈶","🈷","🈸","🈹","🈺","🉐","🉑","🌀","🌁","🌂","🌃","🌄","🌅","🌆","🌇","🌈","🌉","🌊","🌋","🌌","🌍","🌎","🌏","🌐","🌑","🌒","🌓","🌔","🌕","🌖","🌗","🌘","🌙","🌚","🌛","🌜","🌝","🌞","🌟","🌠","🌡","🌤","🌥","🌦","🌧","🌨","🌩","🌪","🌫","🌬","🌭","🌮","🌯","🌰","🌱","🌲","🌳","🌴","🌵","🌶","🌷","🌸","🌹","🌺","🌻","🌼","🌽","🌾","🌿","🍀","🍁","🍂","🍃","🍄","🍅","🍆","🍇","🍈","🍉","🍊","🍋","🍌","🍍","🍎","🍏","🍐","🍑","🍒","🍓","🍔","🍕","🍖","🍗","🍘","🍙","🍚","🍛","🍜","🍝","🍞","🍟","🍠","🍡","🍢","🍣","🍤","🍥","🍦","🍧","🍨","🍩","🍪","🍫","🍬","🍭","🍮","🍯","🍰","🍱","🍲","🍳","🍴","🍵","🍶","🍷","🍸","🍹","🍺","🍻","🍼","🍽","🍾","🍿","🎀","🎁","🎂","🎃","🎄","🎅🏻","🎅🏼","🎅🏽","🎅🏾","🎅🏿","🎅","🎆","🎇","🎈","🎉","🎊","🎋","🎌","🎍","🎎","🎏","🎐","🎑","🎒","🎓","🎖","🎗","🎙","🎚","🎛","🎞","🎟","🎠","🎡","🎢","🎣","🎤","🎥","🎦","🎧","🎨","🎩","🎪","🎫","🎬","🎭","🎮","🎯","🎰","🎱","🎲","🎳","🎴","🎵","🎶","🎷","🎸","🎹","🎺","🎻","🎼","🎽","🎾","🎿","🏀","🏁","🏂🏻","🏂🏼","🏂🏽","🏂🏾","🏂🏿","🏂","🏃🏻‍♀️","🏃🏻‍♂️","🏃🏻","🏃🏼‍♀️","🏃🏼‍♂️","🏃🏼","🏃🏽‍♀️","🏃🏽‍♂️","🏃🏽","🏃🏾‍♀️","🏃🏾‍♂️","🏃🏾","🏃🏿‍♀️","🏃🏿‍♂️","🏃🏿","🏃‍♀️","🏃‍♂️","🏃","🏄🏻‍♀️","🏄🏻‍♂️","🏄🏻","🏄🏼‍♀️","🏄🏼‍♂️","🏄🏼","🏄🏽‍♀️","🏄🏽‍♂️","🏄🏽","🏄🏾‍♀️","🏄🏾‍♂️","🏄🏾","🏄🏿‍♀️","🏄🏿‍♂️","🏄🏿","🏄‍♀️","🏄‍♂️","🏄","🏅","🏆","🏇🏻","🏇🏼","🏇🏽","🏇🏾","🏇🏿","🏇","🏈","🏉","🏊🏻‍♀️","🏊🏻‍♂️","🏊🏻","🏊🏼‍♀️","🏊🏼‍♂️","🏊🏼","🏊🏽‍♀️","🏊🏽‍♂️","🏊🏽","🏊🏾‍♀️","🏊🏾‍♂️","🏊🏾","🏊🏿‍♀️","🏊🏿‍♂️","🏊🏿","🏊‍♀️","🏊‍♂️","🏊","🏋🏻‍♀️","🏋🏻‍♂️","🏋🏻","🏋🏼‍♀️","🏋🏼‍♂️","🏋🏼","🏋🏽‍♀️","🏋🏽‍♂️","🏋🏽","🏋🏾‍♀️","🏋🏾‍♂️","🏋🏾","🏋🏿‍♀️","🏋🏿‍♂️","🏋🏿","🏋️‍♀️","🏋️‍♂️","🏋","🏌🏻‍♀️","🏌🏻‍♂️","🏌🏻","🏌🏼‍♀️","🏌🏼‍♂️","🏌🏼","🏌🏽‍♀️","🏌🏽‍♂️","🏌🏽","🏌🏾‍♀️","🏌🏾‍♂️","🏌🏾","🏌🏿‍♀️","🏌🏿‍♂️","🏌🏿","🏌️‍♀️","🏌️‍♂️","🏌","🏍","🏎","🏏","🏐","🏑","🏒","🏓","🏔","🏕","🏖","🏗","🏘","🏙","🏚","🏛","🏜","🏝","🏞","🏟","🏠","🏡","🏢","🏣","🏤","🏥","🏦","🏧","🏨","🏩","🏪","🏫","🏬","🏭","🏮","🏯","🏰","🏳️‍🌈","🏳","🏴‍☠️","🏴","🏵","🏷","🏸","🏹","🏺","🏻","🏼","🏽","🏾","🏿","🐀","🐁","🐂","🐃","🐄","🐅","🐆","🐇","🐈","🐉","🐊","🐋","🐌","🐍","🐎","🐏","🐐","🐑","🐒","🐓","🐔","🐕","🐖","🐗","🐘","🐙","🐚","🐛","🐜","🐝","🐞","🐟","🐠","🐡","🐢","🐣","🐤","🐥","🐦","🐧","🐨","🐩","🐪","🐫","🐬","🐭","🐮","🐯","🐰","🐱","🐲","🐳","🐴","🐵","🐶","🐷","🐸","🐹","🐺","🐻","🐼","🐽","🐾","🐿","👀","👁‍🗨","👁","👂🏻","👂🏼","👂🏽","👂🏾","👂🏿","👂","👃🏻","👃🏼","👃🏽","👃🏾","👃🏿","👃","👄","👅","👆🏻","👆🏼","👆🏽","👆🏾","👆🏿","👆","👇🏻","👇🏼","👇🏽","👇🏾","👇🏿","👇","👈🏻","👈🏼","👈🏽","👈🏾","👈🏿","👈","👉🏻","👉🏼","👉🏽","👉🏾","👉🏿","👉","👊🏻","👊🏼","👊🏽","👊🏾","👊🏿","👊","👋🏻","👋🏼","👋🏽","👋🏾","👋🏿","👋","👌🏻","👌🏼","👌🏽","👌🏾","👌🏿","👌","👍🏻","👍🏼","👍🏽","👍🏾","👍🏿","👍","👎🏻","👎🏼","👎🏽","👎🏾","👎🏿","👎","👏🏻","👏🏼","👏🏽","👏🏾","👏🏿","👏","👐🏻","👐🏼","👐🏽","👐🏾","👐🏿","👐","👑","👒","👓","👔","👕","👖","👗","👘","👙","👚","👛","👜","👝","👞","👟","👠","👡","👢","👣","👤","👥","👦🏻","👦🏼","👦🏽","👦🏾","👦🏿","👦","👧🏻","👧🏼","👧🏽","👧🏾","👧🏿","👧","👨🏻‍🌾","👨🏻‍🍳","👨🏻‍🎓","👨🏻‍🎤","👨🏻‍🎨","👨🏻‍🏫","👨🏻‍🏭","👨🏻‍💻","👨🏻‍💼","👨🏻‍🔧","👨🏻‍🔬","👨🏻‍🚀","👨🏻‍🚒","👨🏻‍⚕️","👨🏻‍⚖️","👨🏻‍✈️","👨🏻","👨🏼‍🌾","👨🏼‍🍳","👨🏼‍🎓","👨🏼‍🎤","👨🏼‍🎨","👨🏼‍🏫","👨🏼‍🏭","👨🏼‍💻","👨🏼‍💼","👨🏼‍🔧","👨🏼‍🔬","👨🏼‍🚀","👨🏼‍🚒","👨🏼‍⚕️","👨🏼‍⚖️","👨🏼‍✈️","👨🏼","👨🏽‍🌾","👨🏽‍🍳","👨🏽‍🎓","👨🏽‍🎤","👨🏽‍🎨","👨🏽‍🏫","👨🏽‍🏭","👨🏽‍💻","👨🏽‍💼","👨🏽‍🔧","👨🏽‍🔬","👨🏽‍🚀","👨🏽‍🚒","👨🏽‍⚕️","👨🏽‍⚖️","👨🏽‍✈️","👨🏽","👨🏾‍🌾","👨🏾‍🍳","👨🏾‍🎓","👨🏾‍🎤","👨🏾‍🎨","👨🏾‍🏫","👨🏾‍🏭","👨🏾‍💻","👨🏾‍💼","👨🏾‍🔧","👨🏾‍🔬","👨🏾‍🚀","👨🏾‍🚒","👨🏾‍⚕️","👨🏾‍⚖️","👨🏾‍✈️","👨🏾","👨🏿‍🌾","👨🏿‍🍳","👨🏿‍🎓","👨🏿‍🎤","👨🏿‍🎨","👨🏿‍🏫","👨🏿‍🏭","👨🏿‍💻","👨🏿‍💼","👨🏿‍🔧","👨🏿‍🔬","👨🏿‍🚀","👨🏿‍🚒","👨🏿‍⚕️","👨🏿‍⚖️","👨🏿‍✈️","👨🏿","👨‍🌾","👨‍🍳","👨‍🎓","👨‍🎤","👨‍🎨","👨‍🏫","👨‍🏭","👨‍👦‍👦","👨‍👦","👨‍👧‍👦","👨‍👧‍👧","👨‍👧","👨‍👨‍👦‍👦","👨‍👨‍👦","👨‍👨‍👧‍👦","👨‍👨‍👧‍👧","👨‍👨‍👧","👨‍👩‍👦‍👦","👨‍👩‍👦","👨‍👩‍👧‍👦","👨‍👩‍👧‍👧","👨‍👩‍👧","👨‍💻","👨‍💼","👨‍🔧","👨‍🔬","👨‍🚀","👨‍🚒","👨‍⚕️","👨‍⚖️","👨‍✈️","👨‍❤️‍👨","👨‍❤️‍💋‍👨","👨","👩🏻‍🌾","👩🏻‍🍳","👩🏻‍🎓","👩🏻‍🎤","👩🏻‍🎨","👩🏻‍🏫","👩🏻‍🏭","👩🏻‍💻","👩🏻‍💼","👩🏻‍🔧","👩🏻‍🔬","👩🏻‍🚀","👩🏻‍🚒","👩🏻‍⚕️","👩🏻‍⚖️","👩🏻‍✈️","👩🏻","👩🏼‍🌾","👩🏼‍🍳","👩🏼‍🎓","👩🏼‍🎤","👩🏼‍🎨","👩🏼‍🏫","👩🏼‍🏭","👩🏼‍💻","👩🏼‍💼","👩🏼‍🔧","👩🏼‍🔬","👩🏼‍🚀","👩🏼‍🚒","👩🏼‍⚕️","👩🏼‍⚖️","👩🏼‍✈️","👩🏼","👩🏽‍🌾","👩🏽‍🍳","👩🏽‍🎓","👩🏽‍🎤","👩🏽‍🎨","👩🏽‍🏫","👩🏽‍🏭","👩🏽‍💻","👩🏽‍💼","👩🏽‍🔧","👩🏽‍🔬","👩🏽‍🚀","👩🏽‍🚒","👩🏽‍⚕️","👩🏽‍⚖️","👩🏽‍✈️","👩🏽","👩🏾‍🌾","👩🏾‍🍳","👩🏾‍🎓","👩🏾‍🎤","👩🏾‍🎨","👩🏾‍🏫","👩🏾‍🏭","👩🏾‍💻","👩🏾‍💼","👩🏾‍🔧","👩🏾‍🔬","👩🏾‍🚀","👩🏾‍🚒","👩🏾‍⚕️","👩🏾‍⚖️","👩🏾‍✈️","👩🏾","👩🏿‍🌾","👩🏿‍🍳","👩🏿‍🎓","👩🏿‍🎤","👩🏿‍🎨","👩🏿‍🏫","👩🏿‍🏭","👩🏿‍💻","👩🏿‍💼","👩🏿‍🔧","👩🏿‍🔬","👩🏿‍🚀","👩🏿‍🚒","👩🏿‍⚕️","👩🏿‍⚖️","👩🏿‍✈️","👩🏿","👩‍🌾","👩‍🍳","👩‍🎓","👩‍🎤","👩‍🎨","👩‍🏫","👩‍🏭","👩‍👦‍👦","👩‍👦","👩‍👧‍👦","👩‍👧‍👧","👩‍👧","👩‍👩‍👦‍👦","👩‍👩‍👦","👩‍👩‍👧‍👦","👩‍👩‍👧‍👧","👩‍👩‍👧","👩‍💻","👩‍💼","👩‍🔧","👩‍🔬","👩‍🚀","👩‍🚒","👩‍⚕️","👩‍⚖️","👩‍✈️","👩‍❤️‍👨","👩‍❤️‍👩","👩‍❤️‍💋‍👨","👩‍❤️‍💋‍👩","👩","👪🏻","👪🏼","👪🏽","👪🏾","👪🏿","👪","👫🏻","👫🏼","👫🏽","👫🏾","👫🏿","👫","👬🏻","👬🏼","👬🏽","👬🏾","👬🏿","👬","👭🏻","👭🏼","👭🏽","👭🏾","👭🏿","👭","👮🏻‍♀️","👮🏻‍♂️","👮🏻","👮🏼‍♀️","👮🏼‍♂️","👮🏼","👮🏽‍♀️","👮🏽‍♂️","👮🏽","👮🏾‍♀️","👮🏾‍♂️","👮🏾","👮🏿‍♀️","👮🏿‍♂️","👮🏿","👮‍♀️","👮‍♂️","👮","👯🏻‍♀️","👯🏻‍♂️","👯🏻","👯🏼‍♀️","👯🏼‍♂️","👯🏼","👯🏽‍♀️","👯🏽‍♂️","👯🏽","👯🏾‍♀️","👯🏾‍♂️","👯🏾","👯🏿‍♀️","👯🏿‍♂️","👯🏿","👯‍♀️","👯‍♂️","👯","👰🏻","👰🏼","👰🏽","👰🏾","👰🏿","👰","👱🏻‍♀️","👱🏻‍♂️","👱🏻","👱🏼‍♀️","👱🏼‍♂️","👱🏼","👱🏽‍♀️","👱🏽‍♂️","👱🏽","👱🏾‍♀️","👱🏾‍♂️","👱🏾","👱🏿‍♀️","👱🏿‍♂️","👱🏿","👱‍♀️","👱‍♂️","👱","👲🏻","👲🏼","👲🏽","👲🏾","👲🏿","👲","👳🏻‍♀️","👳🏻‍♂️","👳🏻","👳🏼‍♀️","👳🏼‍♂️","👳🏼","👳🏽‍♀️","👳🏽‍♂️","👳🏽","👳🏾‍♀️","👳🏾‍♂️","👳🏾","👳🏿‍♀️","👳🏿‍♂️","👳🏿","👳‍♀️","👳‍♂️","👳","👴🏻","👴🏼","👴🏽","👴🏾","👴🏿","👴","👵🏻","👵🏼","👵🏽","👵🏾","👵🏿","👵","👶🏻","👶🏼","👶🏽","👶🏾","👶🏿","👶","👷🏻‍♀️","👷🏻‍♂️","👷🏻","👷🏼‍♀️","👷🏼‍♂️","👷🏼","👷🏽‍♀️","👷🏽‍♂️","👷🏽","👷🏾‍♀️","👷🏾‍♂️","👷🏾","👷🏿‍♀️","👷🏿‍♂️","👷🏿","👷‍♀️","👷‍♂️","👷","👸🏻","👸🏼","👸🏽","👸🏾","👸🏿","👸","👹","👺","👻","👼🏻","👼🏼","👼🏽","👼🏾","👼🏿","👼","👽","👾","👿","💀","💁🏻‍♀️","💁🏻‍♂️","💁🏻","💁🏼‍♀️","💁🏼‍♂️","💁🏼","💁🏽‍♀️","💁🏽‍♂️","💁🏽","💁🏾‍♀️","💁🏾‍♂️","💁🏾","💁🏿‍♀️","💁🏿‍♂️","💁🏿","💁‍♀️","💁‍♂️","💁","💂🏻‍♀️","💂🏻‍♂️","💂🏻","💂🏼‍♀️","💂🏼‍♂️","💂🏼","💂🏽‍♀️","💂🏽‍♂️","💂🏽","💂🏾‍♀️","💂🏾‍♂️","💂🏾","💂🏿‍♀️","💂🏿‍♂️","💂🏿","💂‍♀️","💂‍♂️","💂","💃🏻","💃🏼","💃🏽","💃🏾","💃🏿","💃","💄","💅🏻","💅🏼","💅🏽","💅🏾","💅🏿","💅","💆🏻‍♀️","💆🏻‍♂️","💆🏻","💆🏼‍♀️","💆🏼‍♂️","💆🏼","💆🏽‍♀️","💆🏽‍♂️","💆🏽","💆🏾‍♀️","💆🏾‍♂️","💆🏾","💆🏿‍♀️","💆🏿‍♂️","💆🏿","💆‍♀️","💆‍♂️","💆","💇🏻‍♀️","💇🏻‍♂️","💇🏻","💇🏼‍♀️","💇🏼‍♂️","💇🏼","💇🏽‍♀️","💇🏽‍♂️","💇🏽","💇🏾‍♀️","💇🏾‍♂️","💇🏾","💇🏿‍♀️","💇🏿‍♂️","💇🏿","💇‍♀️","💇‍♂️","💇","💈","💉","💊","💋","💌","💍","💎","💏","💐","💑","💒","💓","💔","💕","💖","💗","💘","💙","💚","💛","💜","💝","💞","💟","💠","💡","💢","💣","💤","💥","💦","💧","💨","💩","💪🏻","💪🏼","💪🏽","💪🏾","💪🏿","💪","💫","💬","💭","💮","💯","💰","💱","💲","💳","💴","💵","💶","💷","💸","💹","💺","💻","💼","💽","💾","💿","📀","📁","📂","📃","📄","📅","📆","📇","📈","📉","📊","📋","📌","📍","📎","📏","📐","📑","📒","📓","📔","📕","📖","📗","📘","📙","📚","📛","📜","📝","📞","📟","📠","📡","📢","📣","📤","📥","📦","📧","📨","📩","📪","📫","📬","📭","📮","📯","📰","📱","📲","📳","📴","📵","📶","📷","📸","📹","📺","📻","📼","📽","📿","🔀","🔁","🔂","🔃","🔄","🔅","🔆","🔇","🔈","🔉","🔊","🔋","🔌","🔍","🔎","🔏","🔐","🔑","🔒","🔓","🔔","🔕","🔖","🔗","🔘","🔙","🔚","🔛","🔜","🔝","🔞","🔟","🔠","🔡","🔢","🔣","🔤","🔥","🔦","🔧","🔨","🔩","🔪","🔫","🔬","🔭","🔮","🔯","🔰","🔱","🔲","🔳","🔴","🔵","🔶","🔷","🔸","🔹","🔺","🔻","🔼","🔽","🕉","🕊","🕋","🕌","🕍","🕎","🕐","🕑","🕒","🕓","🕔","🕕","🕖","🕗","🕘","🕙","🕚","🕛","🕜","🕝","🕞","🕟","🕠","🕡","🕢","🕣","🕤","🕥","🕦","🕧","🕯","🕰","🕳","🕴🏻","🕴🏼","🕴🏽","🕴🏾","🕴🏿","🕴","🕵🏻‍♀️","🕵🏻‍♂️","🕵🏻","🕵🏼‍♀️","🕵🏼‍♂️","🕵🏼","🕵🏽‍♀️","🕵🏽‍♂️","🕵🏽","🕵🏾‍♀️","🕵🏾‍♂️","🕵🏾","🕵🏿‍♀️","🕵🏿‍♂️","🕵🏿","🕵️‍♀️","🕵️‍♂️","🕵","🕶","🕷","🕸","🕹","🕺🏻","🕺🏼","🕺🏽","🕺🏾","🕺🏿","🕺","🖇","🖊","🖋","🖌","🖍","🖐🏻","🖐🏼","🖐🏽","🖐🏾","🖐🏿","🖐","🖕🏻","🖕🏼","🖕🏽","🖕🏾","🖕🏿","🖕","🖖🏻","🖖🏼","🖖🏽","🖖🏾","🖖🏿","🖖","🖤","🖥","🖨","🖱","🖲","🖼","🗂","🗃","🗄","🗑","🗒","🗓","🗜","🗝","🗞","🗡","🗣","🗨","🗯","🗳","🗺","🗻","🗼","🗽","🗾","🗿","😀","😁","😂","😃","😄","😅","😆","😇","😈","😉","😊","😋","😌","😍","😎","😏","😐","😑","😒","😓","😔","😕","😖","😗","😘","😙","😚","😛","😜","😝","😞","😟","😠","😡","😢","😣","😤","😥","😦","😧","😨","😩","😪","😫","😬","😭","😮","😯","😰","😱","😲","😳","😴","😵","😶","😷","😸","😹","😺","😻","😼","😽","😾","😿","🙀","🙁","🙂","🙃","🙄","🙅🏻‍♀️","🙅🏻‍♂️","🙅🏻","🙅🏼‍♀️","🙅🏼‍♂️","🙅🏼","🙅🏽‍♀️","🙅🏽‍♂️","🙅🏽","🙅🏾‍♀️","🙅🏾‍♂️","🙅🏾","🙅🏿‍♀️","🙅🏿‍♂️","🙅🏿","🙅‍♀️","🙅‍♂️","🙅","🙆🏻‍♀️","🙆🏻‍♂️","🙆🏻","🙆🏼‍♀️","🙆🏼‍♂️","🙆🏼","🙆🏽‍♀️","🙆🏽‍♂️","🙆🏽","🙆🏾‍♀️","🙆🏾‍♂️","🙆🏾","🙆🏿‍♀️","🙆🏿‍♂️","🙆🏿","🙆‍♀️","🙆‍♂️","🙆","🙇🏻‍♀️","🙇🏻‍♂️","🙇🏻","🙇🏼‍♀️","🙇🏼‍♂️","🙇🏼","🙇🏽‍♀️","🙇🏽‍♂️","🙇🏽","🙇🏾‍♀️","🙇🏾‍♂️","🙇🏾","🙇🏿‍♀️","🙇🏿‍♂️","🙇🏿","🙇‍♀️","🙇‍♂️","🙇","🙈","🙉","🙊","🙋🏻‍♀️","🙋🏻‍♂️","🙋🏻","🙋🏼‍♀️","🙋🏼‍♂️","🙋🏼","🙋🏽‍♀️","🙋🏽‍♂️","🙋🏽","🙋🏾‍♀️","🙋🏾‍♂️","🙋🏾","🙋🏿‍♀️","🙋🏿‍♂️","🙋🏿","🙋‍♀️","🙋‍♂️","🙋","🙌🏻","🙌🏼","🙌🏽","🙌🏾","🙌🏿","🙌","🙍🏻‍♀️","🙍🏻‍♂️","🙍🏻","🙍🏼‍♀️","🙍🏼‍♂️","🙍🏼","🙍🏽‍♀️","🙍🏽‍♂️","🙍🏽","🙍🏾‍♀️","🙍🏾‍♂️","🙍🏾","🙍🏿‍♀️","🙍🏿‍♂️","🙍🏿","🙍‍♀️","🙍‍♂️","🙍","🙎🏻‍♀️","🙎🏻‍♂️","🙎🏻","🙎🏼‍♀️","🙎🏼‍♂️","🙎🏼","🙎🏽‍♀️","🙎🏽‍♂️","🙎🏽","🙎🏾‍♀️","🙎🏾‍♂️","🙎🏾","🙎🏿‍♀️","🙎🏿‍♂️","🙎🏿","🙎‍♀️","🙎‍♂️","🙎","🙏🏻","🙏🏼","🙏🏽","🙏🏾","🙏🏿","🙏","🚀","🚁","🚂","🚃","🚄","🚅","🚆","🚇","🚈","🚉","🚊","🚋","🚌","🚍","🚎","🚏","🚐","🚑","🚒","🚓","🚔","🚕","🚖","🚗","🚘","🚙","🚚","🚛","🚜","🚝","🚞","🚟","🚠","🚡","🚢","🚣🏻‍♀️","🚣🏻‍♂️","🚣🏻","🚣🏼‍♀️","🚣🏼‍♂️","🚣🏼","🚣🏽‍♀️","🚣🏽‍♂️","🚣🏽","🚣🏾‍♀️","🚣🏾‍♂️","🚣🏾","🚣🏿‍♀️","🚣🏿‍♂️","🚣🏿","🚣‍♀️","🚣‍♂️","🚣","🚤","🚥","🚦","🚧","🚨","🚩","🚪","🚫","🚬","🚭","🚮","🚯","🚰","🚱","🚲","🚳","🚴🏻‍♀️","🚴🏻‍♂️","🚴🏻","🚴🏼‍♀️","🚴🏼‍♂️","🚴🏼","🚴🏽‍♀️","🚴🏽‍♂️","🚴🏽","🚴🏾‍♀️","🚴🏾‍♂️","🚴🏾","🚴🏿‍♀️","🚴🏿‍♂️","🚴🏿","🚴‍♀️","🚴‍♂️","🚴","🚵🏻‍♀️","🚵🏻‍♂️","🚵🏻","🚵🏼‍♀️","🚵🏼‍♂️","🚵🏼","🚵🏽‍♀️","🚵🏽‍♂️","🚵🏽","🚵🏾‍♀️","🚵🏾‍♂️","🚵🏾","🚵🏿‍♀️","🚵🏿‍♂️","🚵🏿","🚵‍♀️","🚵‍♂️","🚵","🚶🏻‍♀️","🚶🏻‍♂️","🚶🏻","🚶🏼‍♀️","🚶🏼‍♂️","🚶🏼","🚶🏽‍♀️","🚶🏽‍♂️","🚶🏽","🚶🏾‍♀️","🚶🏾‍♂️","🚶🏾","🚶🏿‍♀️","🚶🏿‍♂️","🚶🏿","🚶‍♀️","🚶‍♂️","🚶","🚷","🚸","🚹","🚺","🚻","🚼","🚽","🚾","🚿","🛀🏻","🛀🏼","🛀🏽","🛀🏾","🛀🏿","🛀","🛁","🛂","🛃","🛄","🛅","🛋","🛌🏻","🛌🏼","🛌🏽","🛌🏾","🛌🏿","🛌","🛍","🛎","🛏","🛐","🛑","🛒","🛠","🛡","🛢","🛣","🛤","🛥","🛩","🛫","🛬","🛰","🛳","🛴","🛵","🛶","🤐","🤑","🤒","🤓","🤔","🤕","🤖","🤗","🤘🏻","🤘🏼","🤘🏽","🤘🏾","🤘🏿","🤘","🤙🏻","🤙🏼","🤙🏽","🤙🏾","🤙🏿","🤙","🤚🏻","🤚🏼","🤚🏽","🤚🏾","🤚🏿","🤚","🤛🏻","🤛🏼","🤛🏽","🤛🏾","🤛🏿","🤛","🤜🏻","🤜🏼","🤜🏽","🤜🏾","🤜🏿","🤜","🤝🏻","🤝🏼","🤝🏽","🤝🏾","🤝🏿","🤝","🤞🏻","🤞🏼","🤞🏽","🤞🏾","🤞🏿","🤞","🤠","🤡","🤢","🤣","🤤","🤥","🤦🏻‍♀️","🤦🏻‍♂️","🤦🏻","🤦🏼‍♀️","🤦🏼‍♂️","🤦🏼","🤦🏽‍♀️","🤦🏽‍♂️","🤦🏽","🤦🏾‍♀️","🤦🏾‍♂️","🤦🏾","🤦🏿‍♀️","🤦🏿‍♂️","🤦🏿","🤦‍♀️","🤦‍♂️","🤦","🤧","🤰🏻","🤰🏼","🤰🏽","🤰🏾","🤰🏿","🤰","🤳🏻","🤳🏼","🤳🏽","🤳🏾","🤳🏿","🤳","🤴🏻","🤴🏼","🤴🏽","🤴🏾","🤴🏿","🤴","🤵🏻","🤵🏼","🤵🏽","🤵🏾","🤵🏿","🤵","🤶🏻","🤶🏼","🤶🏽","🤶🏾","🤶🏿","🤶","🤷🏻‍♀️","🤷🏻‍♂️","🤷🏻","🤷🏼‍♀️","🤷🏼‍♂️","🤷🏼","🤷🏽‍♀️","🤷🏽‍♂️","🤷🏽","🤷🏾‍♀️","🤷🏾‍♂️","🤷🏾","🤷🏿‍♀️","🤷🏿‍♂️","🤷🏿","🤷‍♀️","🤷‍♂️","🤷","🤸🏻‍♀️","🤸🏻‍♂️","🤸🏻","🤸🏼‍♀️","🤸🏼‍♂️","🤸🏼","🤸🏽‍♀️","🤸🏽‍♂️","🤸🏽","🤸🏾‍♀️","🤸🏾‍♂️","🤸🏾","🤸🏿‍♀️","🤸🏿‍♂️","🤸🏿","🤸‍♀️","🤸‍♂️","🤸","🤹🏻‍♀️","🤹🏻‍♂️","🤹🏻","🤹🏼‍♀️","🤹🏼‍♂️","🤹🏼","🤹🏽‍♀️","🤹🏽‍♂️","🤹🏽","🤹🏾‍♀️","🤹🏾‍♂️","🤹🏾","🤹🏿‍♀️","🤹🏿‍♂️","🤹🏿","🤹‍♀️","🤹‍♂️","🤹","🤺","🤼🏻‍♀️","🤼🏻‍♂️","🤼🏻","🤼🏼‍♀️","🤼🏼‍♂️","🤼🏼","🤼🏽‍♀️","🤼🏽‍♂️","🤼🏽","🤼🏾‍♀️","🤼🏾‍♂️","🤼🏾","🤼🏿‍♀️","🤼🏿‍♂️","🤼🏿","🤼‍♀️","🤼‍♂️","🤼","🤽🏻‍♀️","🤽🏻‍♂️","🤽🏻","🤽🏼‍♀️","🤽🏼‍♂️","🤽🏼","🤽🏽‍♀️","🤽🏽‍♂️","🤽🏽","🤽🏾‍♀️","🤽🏾‍♂️","🤽🏾","🤽🏿‍♀️","🤽🏿‍♂️","🤽🏿","🤽‍♀️","🤽‍♂️","🤽","🤾🏻‍♀️","🤾🏻‍♂️","🤾🏻","🤾🏼‍♀️","🤾🏼‍♂️","🤾🏼","🤾🏽‍♀️","🤾🏽‍♂️","🤾🏽","🤾🏾‍♀️","🤾🏾‍♂️","🤾🏾","🤾🏿‍♀️","🤾🏿‍♂️","🤾🏿","🤾‍♀️","🤾‍♂️","🤾","🥀","🥁","🥂","🥃","🥄","🥅","🥇","🥈","🥉","🥊","🥋","🥐","🥑","🥒","🥓","🥔","🥕","🥖","🥗","🥘","🥙","🥚","🥛","🥜","🥝","🥞","🦀","🦁","🦂","🦃","🦄","🦅","🦆","🦇","🦈","🦉","🦊","🦋","🦌","🦍","🦎","🦏","🦐","🦑","🧀","‼","⁉","™","ℹ","↔","↕","↖","↗","↘","↙","↩","↪","#⃣","⌚","⌛","⌨","⏏","⏩","⏪","⏫","⏬","⏭","⏮","⏯","⏰","⏱","⏲","⏳","⏸","⏹","⏺","Ⓜ","▪","▫","▶","◀","◻","◼","◽","◾","☀","☁","☂","☃","☄","☎","☑","☔","☕","☘","☝🏻","☝🏼","☝🏽","☝🏾","☝🏿","☝","☠","☢","☣","☦","☪","☮","☯","☸","☹","☺","♀","♂","♈","♉","♊","♋","♌","♍","♎","♏","♐","♑","♒","♓","♠","♣","♥","♦","♨","♻","♿","⚒","⚓","⚔","⚕","⚖","⚗","⚙","⚛","⚜","⚠","⚡","⚪","⚫","⚰","⚱","⚽","⚾","⛄","⛅","⛈","⛎","⛏","⛑","⛓","⛔","⛩","⛪","⛰","⛱","⛲","⛳","⛴","⛵","⛷🏻","⛷🏼","⛷🏽","⛷🏾","⛷🏿","⛷","⛸","⛹🏻‍♀️","⛹🏻‍♂️","⛹🏻","⛹🏼‍♀️","⛹🏼‍♂️","⛹🏼","⛹🏽‍♀️","⛹🏽‍♂️","⛹🏽","⛹🏾‍♀️","⛹🏾‍♂️","⛹🏾","⛹🏿‍♀️","⛹🏿‍♂️","⛹🏿","⛹️‍♀️","⛹️‍♂️","⛹","⛺","⛽","✂","✅","✈","✉","✊🏻","✊🏼","✊🏽","✊🏾","✊🏿","✊","✋🏻","✋🏼","✋🏽","✋🏾","✋🏿","✋","✌🏻","✌🏼","✌🏽","✌🏾","✌🏿","✌","✍🏻","✍🏼","✍🏽","✍🏾","✍🏿","✍","✏","✒","✔","✖","✝","✡","✨","✳","✴","❄","❇","❌","❎","❓","❔","❕","❗","❣","❤","➕","➖","➗","➡","➰","➿","⤴","⤵","*⃣","⬅","⬆","⬇","⬛","⬜","⭐","⭕","0⃣","〰","〽","1⃣","2⃣","㊗","㊙","3⃣","4⃣","5⃣","6⃣","7⃣","8⃣","9⃣","©","®",""]},,function(e,t,r){"use strict";var n=r(150);var i=r(203);e.exports={activityIndicator:function(e,t,r){if(e.spun==null)return;return n(t,e.spun)},progressbar:function(e,t,r){if(e.completed==null)return;return i(t,r,e.completed)}}},,,,,function(e,t,r){"use strict";var n=r(766);e.exports=function isExtendable(e){return n(e)||typeof e==="function"||Array.isArray(e)}},function(e,t,r){"use strict";var n=r(215);e.exports=function isDataDescriptor(e,t){var r={configurable:"boolean",enumerable:"boolean",writable:"boolean"};if(n(e)!=="object"){return false}if(typeof t==="string"){var i=Object.getOwnPropertyDescriptor(e,t);return typeof i!=="undefined"}if(!("value"in e)&&!("writable"in e)){return false}for(var a in e){if(a==="value")continue;if(!r.hasOwnProperty(a)){continue}if(n(e[a])===r[a]){continue}if(typeof e[a]!=="undefined"){return false}}return true}},,,,,function(e,t,r){e.exports=minimatch;minimatch.Minimatch=Minimatch;var n={sep:"/"};try{n=r(589)}catch(e){}var i=minimatch.GLOBSTAR=Minimatch.GLOBSTAR={};var a=r(348);var s={"!":{open:"(?:(?!(?:",close:"))[^/]*?)"},"?":{open:"(?:",close:")?"},"+":{open:"(?:",close:")+"},"*":{open:"(?:",close:")*"},"@":{open:"(?:",close:")"}};var o="[^/]";var u=o+"*?";var f="(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";var c="(?:(?!(?:\\/|^)\\.).)*?";var l=charSet("().*{}+?[]^$\\!");function charSet(e){return e.split("").reduce(function(e,t){e[t]=true;return e},{})}var h=/\/+/;minimatch.filter=filter;function filter(e,t){t=t||{};return function(r,n,i){return minimatch(r,e,t)}}function ext(e,t){e=e||{};t=t||{};var r={};Object.keys(t).forEach(function(e){r[e]=t[e]});Object.keys(e).forEach(function(t){r[t]=e[t]});return r}minimatch.defaults=function(e){if(!e||!Object.keys(e).length)return minimatch;var t=minimatch;var r=function minimatch(r,n,i){return t.minimatch(r,n,ext(e,i))};r.Minimatch=function Minimatch(r,n){return new t.Minimatch(r,ext(e,n))};return r};Minimatch.defaults=function(e){if(!e||!Object.keys(e).length)return Minimatch;return minimatch.defaults(e).Minimatch};function minimatch(e,t,r){if(typeof t!=="string"){throw new TypeError("glob pattern string required")}if(!r)r={};if(!r.nocomment&&t.charAt(0)==="#"){return false}if(t.trim()==="")return e==="";return new Minimatch(t,r).match(e)}function Minimatch(e,t){if(!(this instanceof Minimatch)){return new Minimatch(e,t)}if(typeof e!=="string"){throw new TypeError("glob pattern string required")}if(!t)t={};e=e.trim();if(n.sep!=="/"){e=e.split(n.sep).join("/")}this.options=t;this.set=[];this.pattern=e;this.regexp=null;this.negate=false;this.comment=false;this.empty=false;this.make()}Minimatch.prototype.debug=function(){};Minimatch.prototype.make=make;function make(){if(this._made)return;var e=this.pattern;var t=this.options;if(!t.nocomment&&e.charAt(0)==="#"){this.comment=true;return}if(!e){this.empty=true;return}this.parseNegate();var r=this.globSet=this.braceExpand();if(t.debug)this.debug=console.error;this.debug(this.pattern,r);r=this.globParts=r.map(function(e){return e.split(h)});this.debug(this.pattern,r);r=r.map(function(e,t,r){return e.map(this.parse,this)},this);this.debug(this.pattern,r);r=r.filter(function(e){return e.indexOf(false)===-1});this.debug(this.pattern,r);this.set=r}Minimatch.prototype.parseNegate=parseNegate;function parseNegate(){var e=this.pattern;var t=false;var r=this.options;var n=0;if(r.nonegate)return;for(var i=0,a=e.length;i1024*64){throw new TypeError("pattern is too long")}var r=this.options;if(!r.noglobstar&&e==="**")return i;if(e==="")return"";var n="";var a=!!r.nocase;var f=false;var c=[];var h=[];var v;var d=false;var y=-1;var g=-1;var b=e.charAt(0)==="."?"":r.dot?"(?!(?:^|\\/)\\.{1,2}(?:$|\\/))":"(?!\\.)";var m=this;function clearStateChar(){if(v){switch(v){case"*":n+=u;a=true;break;case"?":n+=o;a=true;break;default:n+="\\"+v;break}m.debug("clearStateChar %j %j",v,n);v=false}}for(var _=0,w=e.length,E;_-1;F--){var O=h[F];var T=n.slice(0,O.reStart);var R=n.slice(O.reStart,O.reEnd-8);var j=n.slice(O.reEnd-8,O.reEnd);var I=n.slice(O.reEnd);j+=I;var N=T.split("(").length-1;var B=I;for(_=0;_=0;s--){a=e[s];if(a)break}for(s=0;s>> no match, partial?",e,l,t,h);if(l===o)return true}return false}var v;if(typeof f==="string"){if(n.nocase){v=c.toLowerCase()===f.toLowerCase()}else{v=c===f}this.debug("string match",f,c,v)}else{v=c.match(f);this.debug("pattern match",f,c,v)}if(!v)return false}if(a===o&&s===u){return true}else if(a===o){return r}else if(s===u){var d=a===o-1&&e[a]==="";return d}throw new Error("wtf?")};function globUnescape(e){return e.replace(/\\(.)/g,"$1")}function regExpEscape(e){return e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}},,function(e,t,r){"use strict";var n=r(766);e.exports=function isExtendable(e){return n(e)||typeof e==="function"||Array.isArray(e)}},,,,,,,,function(e,t,r){"use strict";var n=r(431).platform();var i=r(204).spawnSync;var a=r(66).readdirSync;var s="glibc";var o="musl";var u={encoding:"utf8",env:process.env};if(!i){i=function(){return{status:126,stdout:"",stderr:""}}}function contains(e){return function(t){return t.indexOf(e)!==-1}}function versionFromMuslLdd(e){return e.split(/[\r\n]+/)[1].trim().split(/\s/)[1]}function safeReaddirSync(e){try{return a(e)}catch(e){}return[]}var f="";var c="";var l="";if(n==="linux"){var h=i("getconf",["GNU_LIBC_VERSION"],u);if(h.status===0){f=s;c=h.stdout.trim().split(" ")[1];l="getconf"}else{var p=i("ldd",["--version"],u);if(p.status===0&&p.stdout.indexOf(o)!==-1){f=o;c=versionFromMuslLdd(p.stdout);l="ldd"}else if(p.status===1&&p.stderr.indexOf(o)!==-1){f=o;c=versionFromMuslLdd(p.stderr);l="ldd"}else{var v=safeReaddirSync("/lib");if(v.some(contains("-linux-gnu"))){f=s;l="filesystem"}else if(v.some(contains("libc.musl-"))){f=o;l="filesystem"}else if(v.some(contains("ld-musl-"))){f=o;l="filesystem"}else{var d=safeReaddirSync("/usr/sbin");if(d.some(contains("glibc"))){f=s;l="filesystem"}}}}}var y=f!==""&&f!==s;e.exports={GLIBC:s,MUSL:o,family:f,version:c,method:l,isNonGlibcLinux:y}},function(e){e.exports=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"];if(process.platform!=="win32"){e.exports.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT")}if(process.platform==="linux"){e.exports.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")}},,,,,function(e,t,r){"use strict";var n=r(71);e.exports=function Position(e,t){this.start=e;this.end={line:t.line,column:t.column};n(this,"content",t.orig);n(this,"source",t.options.source)}},,,,,,function(e,t,r){var n=r(950).SourceMapGenerator;var i=r(75);var a=/(\r?\n)/;var s=10;var o="$$$isSourceNode$$$";function SourceNode(e,t,r,n,i){this.children=[];this.sourceContents={};this.line=e==null?null:e;this.column=t==null?null:t;this.source=r==null?null:r;this.name=i==null?null:i;this[o]=true;if(n!=null)this.add(n)}SourceNode.fromStringWithSourceMap=function SourceNode_fromStringWithSourceMap(e,t,r){var n=new SourceNode;var s=e.split(a);var o=0;var u=function(){var e=getNextLine();var t=getNextLine()||"";return e+t;function getNextLine(){return o=0;t--){this.prepend(e[t])}}else if(e[o]||typeof e==="string"){this.children.unshift(e)}else{throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e)}return this};SourceNode.prototype.walk=function SourceNode_walk(e){var t;for(var r=0,n=this.children.length;r0){t=[];for(r=0;rt){s=s.slice(0,-1)}return s}},,,,,,,function(e,t,r){"use strict";var n=r(90)();e.exports=function(e){return typeof e==="string"?e.replace(n,""):e}},,,,,function(e,t,r){"use strict";var n=r(240);e.exports=function(e){e.compiler.set("escape",function(e){return this.emit("\\"+e.val.replace(/^\\/,""),e)}).set("text",function(e){return this.emit(e.val.replace(/([{}])/g,"\\$1"),e)}).set("posix",function(e){if(e.val==="[::]"){return this.emit("\\[::\\]",e)}var t=n[e.inner];if(typeof t==="undefined"){t="["+e.inner+"]"}return this.emit(t,e)}).set("bracket",function(e){return this.mapVisit(e.nodes)}).set("bracket.open",function(e){return this.emit(e.val,e)}).set("bracket.inner",function(e){var t=e.val;if(t==="["||t==="]"){return this.emit("\\"+e.val,e)}if(t==="^]"){return this.emit("^\\]",e)}if(t==="^"){return this.emit("^",e)}if(/-/.test(t)&&!/(\d-\d|\w-\w)/.test(t)){t=t.split("-").join("\\-")}var r=t.charAt(0)==="^";if(r&&t.indexOf("/")===-1){t+="/"}if(r&&t.indexOf(".")===-1){t+="."}t=t.replace(/\\([1-9])/g,"$1");return this.emit(t,e)}).set("bracket.close",function(e){var t=e.val.replace(/^\\/,"");if(e.parent.escaped===true){return this.emit("\\"+t,e)}return this.emit(t,e)})}},,function(e,t,r){var n=r(790);var i=r(438);var a="@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^ ?";var s={0:0,t:9,n:10,v:11,f:12,r:13};t.strToChars=function(e){var t=/(\[\\b\])|(\\)?\\(?:u([A-F0-9]{4})|x([A-F0-9]{2})|(0?[0-7]{2})|c([@A-Z\[\\\]\^?])|([0tnvfr]))/g;e=e.replace(t,function(e,t,r,n,i,o,u,f){if(r){return e}var c=t?8:n?parseInt(n,16):i?parseInt(i,16):o?parseInt(o,8):u?a.indexOf(u):s[f];var l=String.fromCharCode(c);if(/[\[\]{}\^$.|?*+()]/.test(l)){l="\\"+l}return l});return e};t.tokenizeClass=function(e,r){var a=[];var s=/\\(?:(w)|(d)|(s)|(W)|(D)|(S))|((?:(?:\\)(.)|([^\]\\]))-(?:\\)?([^\]]))|(\])|(?:\\)?(.)/g;var o,u;while((o=s.exec(e))!=null){if(o[1]){a.push(i.words())}else if(o[2]){a.push(i.ints())}else if(o[3]){a.push(i.whitespace())}else if(o[4]){a.push(i.notWords())}else if(o[5]){a.push(i.notInts())}else if(o[6]){a.push(i.notWhitespace())}else if(o[7]){a.push({type:n.RANGE,from:(o[8]||o[9]).charCodeAt(0),to:o[10].charCodeAt(0)})}else if(u=o[12]){a.push({type:n.CHAR,value:u.charCodeAt(0)})}else{return[a,s.lastIndex]}}t.error(r,"Unterminated character class")};t.error=function(e,t){throw new SyntaxError("Invalid regular expression: /"+e+"/: "+t)}},function(e,t,r){"use strict";var n=r(478);var i=r(522);var a=r(615);e.exports=function isDescriptor(e,t){if(n(e)!=="object"){return false}if("get"in e){return i(e,t)}return a(e,t)}},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:true});var r=t.Space_Separator=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/;var n=t.ID_Start=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]/;var i=t.ID_Continue=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/},,,function(e,t,r){"use strict";const n=r(440);const i=n.tokTypes;const a=r(586);function maybeParseFieldValue(e){if(this.eat(i.eq)){const t=this._inFieldValue;this._inFieldValue=true;e.value=this.parseExpression();this._inFieldValue=t}else e.value=null}e.exports=function(e){e=a(e);return class extends e{parseClassElement(e){if(this.options.ecmaVersion>=8&&(this.type==i.name||this.type==this.privateNameToken||this.type==i.bracketL||this.type==i.string)){const e=this._branch();if(e.type==i.bracketL){let t=0;do{if(e.eat(i.bracketL))++t;else if(e.eat(i.bracketR))--t;else e.next()}while(t>0)}else e.next();if(e.type==i.eq||e.canInsertSemicolon()||e.type==i.semi){const e=this.startNode();if(this.type==this.privateNameToken){this.parsePrivateClassElementName(e)}else{this.parsePropertyName(e)}if(e.key.type==="Identifier"&&e.key.name==="constructor"||e.key.type==="Literal"&&e.key.value==="constructor"){this.raise(e.key.start,"Classes may not have a field called constructor")}maybeParseFieldValue.call(this,e);this.finishNode(e,"FieldDefinition");this.semicolon();return e}}return super.parseClassElement.apply(this,arguments)}parseIdent(e,t){const r=super.parseIdent(e,t);if(this._inFieldValue&&r.name=="arguments")this.raise(r.start,"A class field initializer may not contain arguments");return r}}}},function(e,t,r){"use strict";const n=r(106);const i=r(146);const a=r(568);const s=r(300);const o=r(692);const u=r(72);const f=r(113);const c=r(768);const l=r(685);const h=r(337);t.getOptions=n;t.parseQuery=i;t.stringifyRequest=a;t.getRemainingRequest=s;t.getCurrentRequest=o;t.isUrlRequest=u;t.urlToRequest=f;t.parseString=c;t.getHashDigest=l;t.interpolateName=h},,,,,,,function(e,t,r){"use strict";var n=r(622);var i=r(239);e.exports=Object.assign||function(e){if(e===null||typeof e==="undefined"){throw new TypeError("Cannot convert undefined or null to object")}if(!isObject(e)){e={}}for(var t=1;t{if(typeof e!=="string"||e.length===0){return 0}e=n(e);let t=0;for(let r=0;r=127&&n<=159){continue}if(n>=768&&n<=879){continue}if(n>65535){r++}t+=i(n)?2:1}return t})},function(e,t,r){"use strict";const n={26:"abcdefghijklmnopqrstuvwxyz",32:"123456789abcdefghjkmnpqrstuvwxyz",36:"0123456789abcdefghijklmnopqrstuvwxyz",49:"abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ",52:"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",58:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ",62:"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",64:"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_"};function encodeBufferToBase(e,t){const i=n[t];if(!i){throw new Error("Unknown encoding base"+t)}const a=e.length;const s=r(480);s.RM=s.DP=0;let o=new s(0);for(let t=a-1;t>=0;t--){o=o.times(256).plus(e[t])}let u="";while(o.gt(0)){u=i[o.mod(t)]+u;o=o.div(t)}s.DP=20;s.RM=1;return u}function getHashDigest(e,t,n,i){t=t||"md5";i=i||9999;const a=r(298).createHash(t);a.update(e);if(n==="base26"||n==="base32"||n==="base36"||n==="base49"||n==="base52"||n==="base58"||n==="base62"||n==="base64"){return encodeBufferToBase(a.digest(),n.substr(4)).substr(0,i)}else{return a.digest(n||"hex").substr(0,i)}}e.exports=getHashDigest},,,function(e){e.exports=__webpack_require__(413)},function(e,t,r){e.exports=new(r(507))},,,function(e){"use strict";function getCurrentRequest(e){if(e.currentRequest){return e.currentRequest}const t=e.loaders.slice(e.loaderIndex).map(e=>e.request).concat([e.resource]);return t.join("!")}e.exports=getCurrentRequest},,,,,,,,,,,,,,function(e,t,r){var n=r(835);var i=n.types;e.exports=function(e,t){if(!t)t={};var r=t.limit===undefined?25:t.limit;if(isRegExp(e))e=e.source;else if(typeof e!=="string")e=String(e);try{e=n(e)}catch(e){return false}var a=0;return function walk(e,t){if(e.type===i.REPETITION){t++;a++;if(t>1)return false;if(a>r)return false}if(e.options){for(var n=0,s=e.options.length;ne.init===null&&e.id.type==="Identifier"))&&i.body.body[i.body.body.length-1].type==="ReturnStatement"&&i.body.body[i.body.body.length-1].argument.type==="CallExpression"&&i.body.body[i.body.body.length-1].argument.callee.type==="CallExpression"&&i.body.body[i.body.body.length-1].argument.arguments.length&&i.body.body[i.body.body.length-1].argument.arguments.every(e=>e.type==="Literal"&&typeof e.value==="number")&&i.body.body[i.body.body.length-1].argument.callee.callee.type==="CallExpression"&&i.body.body[i.body.body.length-1].argument.callee.callee.callee.type==="FunctionExpression"&&i.body.body[i.body.body.length-1].argument.callee.callee.arguments.length===0&&i.body.body[i.body.body.length-1].argument.callee.arguments.length===3&&i.body.body[i.body.body.length-1].argument.callee.arguments[0].type==="ObjectExpression"&&i.body.body[i.body.body.length-1].argument.callee.arguments[1].type==="ObjectExpression"&&i.body.body[i.body.body.length-1].argument.callee.arguments[2].type==="ArrayExpression"){const e=i.body.body[i.body.body.length-1].argument.callee.arguments[0].properties;const t=i.body.body[i.body.body.length-1].argument.callee.callee.callee.body.body[0];let a;if(t.type==="FunctionDeclaration")a=t.body;else if(t.type==="ReturnStatement")a=t.argument.body;if(a){const e=a.body[0].body.body[0].consequent.body[0].consequent.body[0].declarations[0].init;const t=a.body[1].init.declarations[0].init;e.right.name="_";t.right.name="_";r.overwrite(e.start,e.end,"__non_webpack_require__");r.overwrite(t.start,t.end,"__non_webpack_require__");n=true}const s={};if(e.every(e=>{if(e.type!=="Property"||e.computed!==false||e.key.type!=="Literal"||typeof e.key.value!=="number"||e.value.type!=="ArrayExpression"||e.value.elements.length!==2||e.value.elements[0].type!=="FunctionExpression"||e.value.elements[1].type!=="ObjectExpression")return false;const t=e.value.elements[1].properties;for(const e of t){if(e.type!=="Property"||e.value.type!=="Identifier"&&e.value.type!=="Literal"||e.key.type!=="Literal"||typeof e.key.value!=="string"||e.computed)return false;if(e.value.type==="Identifier"&&e.value.name==="undefined")s[e.key.value]=true}return true})){const e=Object.keys(s);if(e.length){const t=i.body.body[1].argument.callee.arguments[1];const a=e.map(e=>`"${e}": { exports: require("${e}") }`).join(",\n ");r.appendRight(t.end-1,a);n=true}}}}return{ast:e,scope:t,transformed:n}}e.exports=handleWrappers},,,function(e){"use strict";e.exports=function unique(e){if(!Array.isArray(e)){throw new TypeError("array-unique expects an array.")}var t=e.length;var r=-1;while(r++=31||typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}t.formatters.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}};function formatArgs(e){var r=this.useColors;e[0]=(r?"%c":"")+this.namespace+(r?" %c":" ")+e[0]+(r?"%c ":" ")+"+"+t.humanize(this.diff);if(!r)return;var n="color: "+this.color;e.splice(1,0,n,"color: inherit");var i=0;var a=0;e[0].replace(/%[a-zA-Z%]/g,function(e){if("%%"===e)return;i++;if("%c"===e){a=i}});e.splice(a,0,n)}function log(){return"object"===typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function save(e){try{if(null==e){t.storage.removeItem("debug")}else{t.storage.debug=e}}catch(e){}}function load(){var e;try{e=t.storage.debug}catch(e){}if(!e&&typeof process!=="undefined"&&"env"in process){e=process.env.DEBUG}return e}t.enable(load());function localstorage(){try{return window.localStorage}catch(e){}}},,,,,function(e,t,r){"use strict";var n=r(676);var i=r(706);function toRegex(e,t){return new RegExp(toRegex.create(e,t))}toRegex.create=function(e,t){if(typeof e!=="string"){throw new TypeError("expected a string")}var r=n({},t);if(r.contains===true){r.strictNegate=false}var a=r.strictOpen!==false?"^":"";var s=r.strictClose!==false?"$":"";var o=r.endChar?r.endChar:"+";var u=e;if(r.strictNegate===false){u="(?:(?!(?:"+e+")).)"+o}else{u="(?:(?!^(?:"+e+")$).)"+o}var f=a+u+s;if(r.safe===true&&i(f)===false){throw new Error("potentially unsafe regular expression: "+f)}return f};e.exports=toRegex},,,function(e){"use strict";e.exports=process},,function(e,t,r){"use strict";var n=r(645);var i=r(873);var a=r(513);var s=r(353);var o=r(254);var u=r(314);var f=r(735);var c=r(998);e.exports=Gauge;function callWith(e,t){return function(){return t.call(e)}}function Gauge(e,t){var r,i;if(e&&e.write){i=e;r=t||{}}else if(t&&t.write){i=t;r=e||{}}else{i=f.stderr;r=e||t||{}}this._status={spun:0,section:"",subsection:""};this._paused=false;this._disabled=true;this._showing=false;this._onScreen=false;this._needsRedraw=false;this._hideCursor=r.hideCursor==null?true:r.hideCursor;this._fixedFramerate=r.fixedFramerate==null?!/^v0\.8\./.test(f.version):r.fixedFramerate;this._lastUpdateAt=null;this._updateInterval=r.updateInterval==null?50:r.updateInterval;this._themes=r.themes||o;this._theme=r.theme;var a=this._computeTheme(r.theme);var s=r.template||[{type:"progressbar",length:20},{type:"activityIndicator",kerning:1,length:1},{type:"section",kerning:1,default:""},{type:"subsection",kerning:1,default:""}];this.setWriteTo(i,r.tty);var u=r.Plumbing||n;this._gauge=new u(a,s,this.getWidth());this._$$doRedraw=callWith(this,this._doRedraw);this._$$handleSizeChange=callWith(this,this._handleSizeChange);this._cleanupOnExit=r.cleanupOnExit==null||r.cleanupOnExit;this._removeOnExit=null;if(r.enabled||r.enabled==null&&this._tty&&this._tty.isTTY){this.enable()}else{this.disable()}}Gauge.prototype={};Gauge.prototype.isEnabled=function(){return!this._disabled};Gauge.prototype.setTemplate=function(e){this._gauge.setTemplate(e);if(this._showing)this._requestRedraw()};Gauge.prototype._computeTheme=function(e){if(!e)e={};if(typeof e==="string"){e=this._themes.getTheme(e)}else if(e&&(Object.keys(e).length===0||e.hasUnicode!=null||e.hasColor!=null)){var t=e.hasUnicode==null?i():e.hasUnicode;var r=e.hasColor==null?a:e.hasColor;e=this._themes.getDefault({hasUnicode:t,hasColor:r,platform:e.platform})}return e};Gauge.prototype.setThemeset=function(e){this._themes=e;this.setTheme(this._theme)};Gauge.prototype.setTheme=function(e){this._gauge.setTheme(this._computeTheme(e));if(this._showing)this._requestRedraw();this._theme=e};Gauge.prototype._requestRedraw=function(){this._needsRedraw=true;if(!this._fixedFramerate)this._doRedraw()};Gauge.prototype.getWidth=function(){return(this._tty&&this._tty.columns||80)-1};Gauge.prototype.setWriteTo=function(e,t){var r=!this._disabled;if(r)this.disable();this._writeTo=e;this._tty=t||e===f.stderr&&f.stdout.isTTY&&f.stdout||e.isTTY&&e||this._tty;if(this._gauge)this._gauge.setWidth(this.getWidth());if(r)this.enable()};Gauge.prototype.enable=function(){if(!this._disabled)return;this._disabled=false;if(this._tty)this._enableEvents();if(this._showing)this.show()};Gauge.prototype.disable=function(){if(this._disabled)return;if(this._showing){this._lastUpdateAt=null;this._showing=false;this._doRedraw();this._showing=true}this._disabled=true;if(this._tty)this._disableEvents()};Gauge.prototype._enableEvents=function(){if(this._cleanupOnExit){this._removeOnExit=s(callWith(this,this.disable))}this._tty.on("resize",this._$$handleSizeChange);if(this._fixedFramerate){this.redrawTracker=u(this._$$doRedraw,this._updateInterval);if(this.redrawTracker.unref)this.redrawTracker.unref()}};Gauge.prototype._disableEvents=function(){this._tty.removeListener("resize",this._$$handleSizeChange);if(this._fixedFramerate)clearInterval(this.redrawTracker);if(this._removeOnExit)this._removeOnExit()};Gauge.prototype.hide=function(e){if(this._disabled)return e&&f.nextTick(e);if(!this._showing)return e&&f.nextTick(e);this._showing=false;this._doRedraw();e&&c(e)};Gauge.prototype.show=function(e,t){this._showing=true;if(typeof e==="string"){this._status.section=e}else if(typeof e==="object"){var r=Object.keys(e);for(var n=0;n{const e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[a-zA-Z\\d]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PRZcf-ntqry=><~]))"].join("|");return new RegExp(e,"g")})},,,function(e,t,r){"use strict";var n=r(821);var i=r(239);e.exports=Object.assign||function(e){if(e===null||typeof e==="undefined"){throw new TypeError("Cannot convert undefined or null to object")}if(!isObject(e)){e={}}for(var t=1;ttypeof e==="string"?e.replace(n(),""):e)},function(e,t,r){"use strict";var n=r(542);var i=r(664);var a=typeof Reflect!=="undefined"&&Reflect.defineProperty?Reflect.defineProperty:Object.defineProperty;e.exports=function defineProperty(e,t,r){if(!n(e)&&typeof e!=="function"&&!Array.isArray(e)){throw new TypeError("expected an object, function, or array")}if(typeof t!=="string"){throw new TypeError('expected "key" to be a string')}if(i(r)){a(e,t,r);return e}a(e,t,{configurable:true,enumerable:false,writable:true,value:r});return e}},function(e,t,r){"use strict";var n=r(542);e.exports=function pick(e,t){if(!n(e)&&typeof e!=="function"){return{}}var r={};if(typeof t==="string"){if(t in e){r[t]=e[t]}return r}var i=t.length;var a=-1;while(++aa)e=a;i+=e;a-=e}function finishSizing(e,t){if(e.finished)throw new o.Internal("Tried to finish template item that was already finished");if(t===Infinity)throw new o.Internal("Length of template item cannot be infinity");if(t!=null)e.length=t;e.minLength=null;e.maxLength=null;--s;e.finished=true;if(e.length==null)e.length=e.getBaseLength();if(e.length==null)throw new o.Internal("Finished template items must have a length");consumeSpace(e.getLength())}n.forEach(function(e){if(!e.kerning)return;var t=e.first?0:n[e.index-1].padRight;if(!e.first&&t=l){finishSizing(e,e.minLength);c=true}})}while(c&&f++e==='"'?'\\"':e).replace(/^'|'$/g,'"'))}return JSON.parse('"'+e+'"')}catch(t){return e}}e.exports=parseString},,,,,,,,,,,function(e,t,r){const n=r(431);const i=r(813);const a=r(327);const s=r(589);let o;switch(n.platform()){case"darwin":o="/**/*.@(dylib|so?(.*))";break;case"win32":o="/**/*.dll";break;default:o="/**/*.so?(.*)"}e.exports=async function(e,t,r,n,u){const f=await new Promise((t,r)=>a(e+o,{ignore:"node_modules/**/*"},(e,n)=>e?r(e):t(n)));await Promise.all(f.map(async a=>{const[o,f]=await Promise.all([new Promise((e,t)=>i.readFile(a,(r,n)=>r?t(r):e(n))),await new Promise((e,t)=>i.lstat(a,(r,n)=>r?t(r):e(n)))]);if(f.isSymbolicLink()){const n=await new Promise((e,t)=>{i.readlink(a,(r,n)=>r?t(r):e(n))});const o=s.dirname(a);t.assetSymlinks[r+a.substr(e.length+1)]=s.relative(o,s.resolve(o,n))}else{t.assetPermissions[a.substr(e.length)]=f.mode;if(u)console.log("Emitting "+a+" for shared library support in "+e);n(r+a.substr(e.length),o)}}))}},,function(e){var t=Object.prototype.toString;e.exports=function kindOf(e){var r=typeof e;if(r==="undefined"){return"undefined"}if(e===null){return"null"}if(e===true||e===false||e instanceof Boolean){return"boolean"}if(r==="string"||e instanceof String){return"string"}if(r==="number"||e instanceof Number){return"number"}if(r==="function"||e instanceof Function){if(typeof e.constructor.name!=="undefined"&&e.constructor.name.slice(0,9)==="Generator"){return"generatorfunction"}return"function"}if(typeof Array.isArray!=="undefined"&&Array.isArray(e)){return"array"}if(e instanceof RegExp){return"regexp"}if(e instanceof Date){return"date"}r=t.call(e);if(r==="[object RegExp]"){return"regexp"}if(r==="[object Date]"){return"date"}if(r==="[object Arguments]"){return"arguments"}if(r==="[object Error]"){return"error"}if(r==="[object Promise]"){return"promise"}if(isBuffer(e)){return"buffer"}if(r==="[object Set]"){return"set"}if(r==="[object WeakSet]"){return"weakset"}if(r==="[object Map]"){return"map"}if(r==="[object WeakMap]"){return"weakmap"}if(r==="[object Symbol]"){return"symbol"}if(r==="[object Map Iterator]"){return"mapiterator"}if(r==="[object Set Iterator]"){return"setiterator"}if(r==="[object String Iterator]"){return"stringiterator"}if(r==="[object Array Iterator]"){return"arrayiterator"}if(r==="[object Int8Array]"){return"int8array"}if(r==="[object Uint8Array]"){return"uint8array"}if(r==="[object Uint8ClampedArray]"){return"uint8clampedarray"}if(r==="[object Int16Array]"){return"int16array"}if(r==="[object Uint16Array]"){return"uint16array"}if(r==="[object Int32Array]"){return"int32array"}if(r==="[object Uint32Array]"){return"uint32array"}if(r==="[object Float32Array]"){return"float32array"}if(r==="[object Float64Array]"){return"float64array"}return"object"};function isBuffer(e){return e.constructor&&typeof e.constructor.isBuffer==="function"&&e.constructor.isBuffer(e)}},function(e,t,r){"use strict";var n=r(781);var i=r(289);var a=r(339);e.exports=function isDescriptor(e,t){if(n(e)!=="object"){return false}if("get"in e){return i(e,t)}return a(e,t)}},,,,,,,,function(e){e.exports={ROOT:0,GROUP:1,POSITION:2,SET:3,RANGE:4,REPETITION:5,REFERENCE:6,CHAR:7}},,,,function(e,t,r){var n=r(589);"use strict";function urix(e){if(n.sep==="\\"){return e.replace(/\\/g,"/").replace(/^[a-z]:\/?/i,"/")}return e}e.exports=urix},,function(e,t,r){"use strict";var n=r(661);var i=r(93);var a=r(575)("expand-brackets");var s=r(43);var o=r(363);var u=r(294);function brackets(e,t){a("initializing from <%s>",__filename);var r=brackets.create(e,t);return r.output}brackets.match=function(e,t,r){e=[].concat(e);var n=s({},r);var i=brackets.matcher(t,n);var a=e.length;var o=-1;var u=[];while(++o0){r=Math.min(10,Math.floor(r));f=" ".substr(0,r)}}else if(typeof r==="string"){f=r.substr(0,10)}return serializeProperty("",{"":e});function serializeProperty(e,t){var r=t[e];if(r!=null){if(typeof r.toJSON5==="function"){r=r.toJSON5(e)}else if(typeof r.toJSON==="function"){r=r.toJSON(e)}}if(u){r=u.call(t,e,r)}if(r instanceof Number){r=Number(r)}else if(r instanceof String){r=String(r)}else if(r instanceof Boolean){r=r.valueOf()}switch(r){case null:return"null";case true:return"true";case false:return"false"}if(typeof r==="string"){return quoteString(r,false)}if(typeof r==="number"){return String(r)}if((typeof r==="undefined"?"undefined":n(r))==="object"){return Array.isArray(r)?serializeArray(r):serializeObject(r)}return undefined}function quoteString(e){var t={"'":.1,'"':.2};var r={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};var n="";var i=true;var a=false;var s=undefined;try{for(var o=e[Symbol.iterator](),u;!(i=(u=o.next()).done);i=true){var f=u.value;switch(f){case"'":case'"':t[f]++;n+=f;continue}if(r[f]){n+=r[f];continue}if(f<" "){var l=f.charCodeAt(0).toString(16);n+="\\x"+("00"+l).substring(l.length);continue}n+=f}}catch(e){a=true;s=e}finally{try{if(!i&&o.return){o.return()}}finally{if(a){throw s}}}var h=c||Object.keys(t).reduce(function(e,r){return t[e]=0){throw TypeError("Converting circular structure to JSON5")}i.push(e);var t=s;s=s+f;var r=o||Object.keys(e);var n=[];var a=true;var u=false;var c=undefined;try{for(var l=r[Symbol.iterator](),h;!(a=(h=l.next()).done);a=true){var p=h.value;var v=serializeProperty(p,e);if(v!==undefined){var d=serializeKey(p)+":";if(f!==""){d+=" "}d+=v;n.push(d)}}}catch(e){u=true;c=e}finally{try{if(!a&&l.return){l.return()}}finally{if(u){throw c}}}var y=void 0;if(n.length===0){y="{}"}else{var g=void 0;if(f===""){g=n.join(",");y="{"+g+"}"}else{var b=",\n"+s;g=n.join(b);y="{\n"+s+g+",\n"+t+"}"}}i.pop();s=t;return y}function serializeKey(e){if(e.length===0){return quoteString(e,true)}var t=String.fromCodePoint(e.codePointAt(0));if(!a.isIdStartChar(t)){return quoteString(e,true)}for(var r=t.length;r=0){throw TypeError("Converting circular structure to JSON5")}i.push(e);var t=s;s=s+f;var r=[];for(var n=0;n=i){return t.substr(0,i)}while(i>t.length&&n>1){if(n&1){t+=e}n>>=1;e+=e}t+=e;t=t.substr(0,i);return t}},,,function(e){"use strict";e.exports=function(e,t){if(e===null||e===undefined){throw TypeError()}e=String(e);var r=e.length;var n=t?Number(t):0;if(Number.isNaN(n)){n=0}if(n<0||n>=r){return undefined}var i=e.charCodeAt(n);if(i>=55296&&i<=56319&&r>n+1){var a=e.charCodeAt(n+1);if(a>=56320&&a<=57343){return(i-55296)*1024+a-56320+65536}}return i}},,,,function(e,t,r){"use strict";var n=r(766);e.exports=function isExtendable(e){return n(e)||typeof e==="function"||Array.isArray(e)}},,,,function(e,t){(function(e,r){true?r(t):undefined})(this,function(e){"use strict";function walk(e,{enter:t,leave:r}){visit(e,null,t,r)}let t=false;const r={skip:()=>t=true};const n={};const i=Object.prototype.toString;function isArray(e){return i.call(e)==="[object Array]"}function visit(e,i,a,s,o,u){if(!e)return;if(a){const n=t;t=false;a.call(r,e,i,o,u);const s=t;t=n;if(s)return}const f=n[e.type]||(n[e.type]=Object.keys(e).filter(t=>typeof e[t]==="object"));for(let t=0;t=0){return t}}else{var r=n.toSetString(e);if(i.call(this._set,r)){return this._set[r]}}throw new Error('"'+e+'" is not in the set.')};ArraySet.prototype.at=function ArraySet_at(e){if(e>=0&&e1){r+="{"+e.val.length+"}"}return this.emit(r,e)}).set("plus",function(e){var t=e.parsed.slice(-1);if(t==="]"||t===")"){return this.emit(e.val,e)}if(!this.output||/[?*+]/.test(r)&&e.parent.type!=="bracket"){return this.emit("\\+",e)}var r=this.output.slice(-1);if(/\w/.test(r)&&!e.inside){return this.emit("+\\+?",e)}return this.emit("+",e)}).set("globstar",function(e,t,r){if(!this.output){this.state.leadingGlobstar=true}var n=this.prev();var i=this.prev(2);var a=this.next();var s=this.next(2);var o=n.type;var u=e.val;if(n.type==="slash"&&a.type==="slash"){if(i.type==="text"){this.output+="?";if(s.type!=="text"){this.output+="\\b"}}}var f=e.parsed;if(f.charAt(0)==="!"){f=f.slice(1)}var c=e.isInside.paren||e.isInside.brace;if(f&&o!=="slash"&&o!=="bos"&&!c){u=star()}else{u=this.options.dot!==true?"(?:(?!(?:["+slash()+"]|^)\\.).)*?":"(?:(?!(?:["+slash()+"]|^)(?:\\.{1,2})($|["+slash()+"]))(?!\\.{2}).)*?"}if((o==="slash"||o==="bos")&&this.options.dot!==true){u="(?!\\.)"+u}if(n.type==="slash"&&a.type==="slash"&&i.type!=="text"){if(s.type==="text"||s.type==="star"){e.addQmark=true}}if(this.options.capture){u="("+u+")"}return this.emit(u,e)}).set("star",function(e,t,r){var n=t[r-2]||{};var i=this.prev();var a=this.next();var s=i.type;function isStart(e){return e.type==="bos"||e.type==="slash"}if(this.output===""&&this.options.contains!==true){this.output="(?!["+slash()+"])"}if(s==="bracket"&&this.options.bash===false){var o=a&&a.type==="bracket"?star():"*?";if(!i.nodes||i.nodes[1].type!=="posix"){return this.emit(o,e)}}var u=!this.dotfiles&&s!=="text"&&s!=="escape"?this.options.dot?"(?!(?:^|["+slash()+"])\\.{1,2}(?:$|["+slash()+"]))":"(?!\\.)":"";if(isStart(i)||isStart(n)&&s==="not"){if(u!=="(?!\\.)"){u+="(?!(\\.{2}|\\.["+slash()+"]))(?=.)"}else{u+="(?=.)"}}else if(u==="(?!\\.)"){u=""}if(i.type==="not"&&n.type==="bos"&&this.options.dot===true){this.output="(?!\\.)"+this.output}var f=u+star();if(this.options.capture){f="("+f+")"}return this.emit(f,e)}).set("text",function(e){return this.emit(e.val,e)}).set("eos",function(e){var t=this.prev();var r=e.val;this.output="(?:\\.["+slash()+"](?=.))?"+this.output;if(this.state.metachar&&t.type!=="qmark"&&t.type!=="slash"){r+=this.options.contains?"["+slash()+"]?":"(?:["+slash()+"]|$)"}return this.emit(r,e)});if(t&&typeof t.compilers==="function"){t.compilers(e.compiler)}}},,function(e,t,r){"use strict";var n=r(899);var i=function Chunk(e,t,r){this.start=e;this.end=t;this.original=r;this.intro="";this.outro="";this.content=r;this.storeName=false;this.edited=false;Object.defineProperties(this,{previous:{writable:true,value:null},next:{writable:true,value:null}})};i.prototype.appendLeft=function appendLeft(e){this.outro+=e};i.prototype.appendRight=function appendRight(e){this.intro=this.intro+e};i.prototype.clone=function clone(){var e=new i(this.start,this.end,this.original);e.intro=this.intro;e.outro=this.outro;e.content=this.content;e.storeName=this.storeName;e.edited=this.edited;return e};i.prototype.contains=function contains(e){return this.start=n.length){return"\t"}var i=n.reduce(function(e,t){var r=/^ +/.exec(t)[0].length;return Math.min(r,e)},Infinity);return new Array(i+1).join(" ")}function getRelativePath(e,t){var r=e.split(/[/\\]/);var n=t.split(/[/\\]/);r.pop();while(r[0]===n[0]){r.shift();n.shift()}if(r.length){var i=r.length;while(i--){r[i]=".."}}return r.concat(n).join("/")}var o=Object.prototype.toString;function isObject(e){return o.call(e)==="[object Object]"}function getLocator(e){var t=e.split("\n");var r=[];for(var n=0,i=0;n>1;if(e=0){i.push(n)}this.rawSegments.push(i)}else if(this.pending){this.rawSegments.push(this.pending)}this.advance(t);this.pending=null};u.prototype.addUneditedChunk=function addUneditedChunk(e,t,r,n,i){var a=t.start;var s=true;while(a1){for(var r=0;r=e&&r<=t){throw new Error("Cannot move a selection inside itself")}this._split(e);this._split(t);this._split(r);var n=this.byStart[e];var i=this.byEnd[t];var a=n.previous;var s=i.next;var o=this.byStart[r];if(!o&&i===this.lastChunk){return this}var u=o?o.previous:this.lastChunk;if(a){a.next=s}if(s){s.previous=a}if(u){u.next=n}if(o){o.previous=i}if(!n.previous){this.firstChunk=i.next}if(!i.next){this.lastChunk=n.previous;this.lastChunk.next=null}n.previous=u;i.next=o||null;if(!u){this.firstChunk=n}if(!o){this.lastChunk=i}return this};l.prototype.overwrite=function overwrite(e,t,r,n){if(typeof r!=="string"){throw new TypeError("replacement content must be a string")}while(e<0){e+=this.original.length}while(t<0){t+=this.original.length}if(t>this.original.length){throw new Error("end is out of bounds")}if(e===t){throw new Error("Cannot overwrite a zero-length range – use appendLeft or prependRight instead")}this._split(e);this._split(t);if(n===true){if(!c.storeName){console.warn("The final argument to magicString.overwrite(...) should be an options object. See https://github.com/rich-harris/magic-string");c.storeName=true}n={storeName:true}}var a=n!==undefined?n.storeName:false;var s=n!==undefined?n.contentOnly:false;if(a){var o=this.original.slice(e,t);this.storedNames[o]=true}var u=this.byStart[e];var f=this.byEnd[t];if(u){if(t>u.end&&u.next!==this.byStart[u.end]){throw new Error("Cannot overwrite across a split point")}u.edit(r,a,s);if(u!==f){var l=u.next;while(l!==f){l.edit("",false);l=l.next}l.edit("",false)}}else{var h=new i(e,t,"").edit(r,a);f.next=h;h.previous=f}return this};l.prototype.prepend=function prepend(e){if(typeof e!=="string"){throw new TypeError("outro content must be a string")}this.intro=e+this.intro;return this};l.prototype.prependLeft=function prependLeft(e,t){if(typeof t!=="string"){throw new TypeError("inserted content must be a string")}this._split(e);var r=this.byEnd[e];if(r){r.prependLeft(t)}else{this.intro=t+this.intro}return this};l.prototype.prependRight=function prependRight(e,t){if(typeof t!=="string"){throw new TypeError("inserted content must be a string")}this._split(e);var r=this.byStart[e];if(r){r.prependRight(t)}else{this.outro=t+this.outro}return this};l.prototype.remove=function remove(e,t){while(e<0){e+=this.original.length}while(t<0){t+=this.original.length}if(e===t){return this}if(e<0||t>this.original.length){throw new Error("Character is out of bounds")}if(e>t){throw new Error("end must be greater than start")}this._split(e);this._split(t);var r=this.byStart[e];while(r){r.intro="";r.outro="";r.edit("");r=t>r.end?this.byStart[r.end]:null}return this};l.prototype.lastChar=function lastChar(){if(this.outro.length){return this.outro[this.outro.length-1]}var e=this.lastChunk;do{if(e.outro.length){return e.outro[e.outro.length-1]}if(e.content.length){return e.content[e.content.length-1]}if(e.intro.length){return e.intro[e.intro.length-1]}}while(e=e.previous);if(this.intro.length){return this.intro[this.intro.length-1]}return""};l.prototype.lastLine=function lastLine(){var e=this.outro.lastIndexOf(f);if(e!==-1){return this.outro.substr(e+1)}var t=this.outro;var r=this.lastChunk;do{if(r.outro.length>0){e=r.outro.lastIndexOf(f);if(e!==-1){return r.outro.substr(e+1)+t}t=r.outro+t}if(r.content.length>0){e=r.content.lastIndexOf(f);if(e!==-1){return r.content.substr(e+1)+t}t=r.content+t}if(r.intro.length>0){e=r.intro.lastIndexOf(f);if(e!==-1){return r.intro.substr(e+1)+t}t=r.intro+t}}while(r=r.previous);e=this.intro.lastIndexOf(f);if(e!==-1){return this.intro.substr(e+1)+t}return this.intro+t};l.prototype.slice=function slice(e,t){if(e===void 0)e=0;if(t===void 0)t=this.original.length;while(e<0){e+=this.original.length}while(t<0){t+=this.original.length}var r="";var n=this.firstChunk;while(n&&(n.start>e||n.end<=e)){if(n.start=t){return r}n=n.next}if(n&&n.edited&&n.start!==e){throw new Error("Cannot use replaced character "+e+" as slice start anchor.")}var i=n;while(n){if(n.intro&&(i!==n||n.start===e)){r+=n.intro}var a=n.start=t;if(a&&n.edited&&n.end!==t){throw new Error("Cannot use replaced character "+t+" as slice end anchor.")}var s=i===n?e-n.start:0;var o=a?n.content.length+t-n.end:n.content.length;r+=n.content.slice(s,o);if(n.outro&&(!a||n.end===t)){r+=n.outro}if(a){break}n=n.next}return r};l.prototype.snip=function snip(e,t){var r=this.clone();r.remove(0,e);r.remove(t,r.original.length);return r};l.prototype._split=function _split(e){if(this.byStart[e]||this.byEnd[e]){return}var t=this.lastSearchedChunk;var r=e>t.end;while(t){if(t.contains(e)){return this._splitChunk(t,e)}t=r?this.byStart[t.end]:this.byEnd[t.start]}};l.prototype._splitChunk=function _splitChunk(e,t){if(e.edited&&e.content.length){var r=getLocator(this.original)(t);throw new Error("Cannot split a chunk that has already been edited ("+r.line+":"+r.column+' – "'+e.original+'")')}var n=e.split(t);this.byEnd[t]=e;this.byStart[t]=n;this.byEnd[n.end]=n;if(e===this.lastChunk){this.lastChunk=n}this.lastSearchedChunk=e;return true};l.prototype.toString=function toString(){var e=this.intro;var t=this.firstChunk;while(t){e+=t.toString();t=t.next}return e+this.outro};l.prototype.isEmpty=function isEmpty(){var e=this.firstChunk;do{if(e.intro.length&&e.intro.trim()||e.content.length&&e.content.trim()||e.outro.length&&e.outro.trim()){return false}}while(e=e.next);return true};l.prototype.length=function length(){var e=this.firstChunk;var length=0;do{length+=e.intro.length+e.content.length+e.outro.length}while(e=e.next);return length};l.prototype.trimLines=function trimLines(){return this.trim("[\\r\\n]")};l.prototype.trim=function trim(e){return this.trimStart(e).trimEnd(e)};l.prototype.trimEndAborted=function trimEndAborted(e){var t=new RegExp((e||"\\s")+"+$");this.outro=this.outro.replace(t,"");if(this.outro.length){return true}var r=this.lastChunk;do{var n=r.end;var i=r.trimEnd(t);if(r.end!==n){if(this.lastChunk===r){this.lastChunk=r.next}this.byEnd[r.end]=r;this.byStart[r.next.start]=r.next;this.byEnd[r.next.end]=r.next}if(i){return true}r=r.previous}while(r);return false};l.prototype.trimEnd=function trimEnd(e){this.trimEndAborted(e);return this};l.prototype.trimStartAborted=function trimStartAborted(e){var t=new RegExp("^"+(e||"\\s")+"+");this.intro=this.intro.replace(t,"");if(this.intro.length){return true}var r=this.firstChunk;do{var n=r.end;var i=r.trimStart(t);if(r.end!==n){if(r===this.lastChunk){this.lastChunk=r.next}this.byEnd[r.end]=r;this.byStart[r.next.start]=r.next;this.byEnd[r.next.end]=r.next}if(i){return true}r=r.next}while(r);return false};l.prototype.trimStart=function trimStart(e){this.trimStartAborted(e);return this};var h=Object.prototype.hasOwnProperty;var p=function Bundle(e){if(e===void 0)e={};this.intro=e.intro||"";this.separator=e.separator!==undefined?e.separator:"\n";this.sources=[];this.uniqueSources=[];this.uniqueSourceIndexByFilename={}};p.prototype.addSource=function addSource(e){if(e instanceof l){return this.addSource({content:e,filename:e.filename,separator:this.separator})}if(!isObject(e)||!e.content){throw new Error("bundle.addSource() takes an object with a `content` property, which should be an instance of MagicString, and an optional `filename`")}["filename","indentExclusionRanges","separator"].forEach(function(t){if(!h.call(e,t)){e[t]=e.content[t]}});if(e.separator===undefined){e.separator=this.separator}if(e.filename){if(!h.call(this.uniqueSourceIndexByFilename,e.filename)){this.uniqueSourceIndexByFilename[e.filename]=this.uniqueSources.length;this.uniqueSources.push({filename:e.filename,content:e.content.original})}else{var t=this.uniqueSources[this.uniqueSourceIndexByFilename[e.filename]];if(e.content.original!==t.content){throw new Error("Illegal source: same filename ("+e.filename+"), different contents")}}}this.sources.push(e);return this};p.prototype.append=function append(e,t){this.addSource({content:new l(e),separator:t&&t.separator||""});return this};p.prototype.clone=function clone(){var e=new p({intro:this.intro,separator:this.separator});this.sources.forEach(function(t){e.addSource({filename:t.filename,content:t.content.clone(),separator:t.separator})});return e};p.prototype.generateDecodedMap=function generateDecodedMap(e){var t=this;if(e===void 0)e={};var r=[];this.sources.forEach(function(e){Object.keys(e.content.storedNames).forEach(function(e){if(!~r.indexOf(e)){r.push(e)}})});var n=new u(e.hires);if(this.intro){n.advance(this.intro)}this.sources.forEach(function(e,i){if(i>0){n.advance(t.separator)}var a=e.filename?t.uniqueSourceIndexByFilename[e.filename]:-1;var s=e.content;var o=getLocator(s.original);if(s.intro){n.advance(s.intro)}s.firstChunk.eachNext(function(t){var i=o(t.start);if(t.intro.length){n.advance(t.intro)}if(e.filename){if(t.edited){n.addEdit(a,t.content,i,t.storeName?r.indexOf(t.original):-1)}else{n.addUneditedChunk(a,t,s.original,i,s.sourcemapLocations)}}else{n.advance(t.content)}if(t.outro.length){n.advance(t.outro)}});if(s.outro){n.advance(s.outro)}});return{file:e.file?e.file.split(/[/\\]/).pop():null,sources:this.uniqueSources.map(function(t){return e.file?getRelativePath(e.file,t.filename):t.filename}),sourcesContent:this.uniqueSources.map(function(t){return e.includeContent?t.content:null}),names:r,mappings:n.raw}};p.prototype.generateMap=function generateMap(e){return new s(this.generateDecodedMap(e))};p.prototype.getIndentString=function getIndentString(){var e={};this.sources.forEach(function(t){var r=t.content.indentStr;if(r===null){return}if(!e[r]){e[r]=0}e[r]+=1});return Object.keys(e).sort(function(t,r){return e[t]-e[r]})[0]||"\t"};p.prototype.indent=function indent(e){var t=this;if(!arguments.length){e=this.getIndentString()}if(e===""){return this}var r=!this.intro||this.intro.slice(-1)==="\n";this.sources.forEach(function(n,i){var a=n.separator!==undefined?n.separator:t.separator;var s=r||i>0&&/\r?\n$/.test(a);n.content.indent(e,{exclude:n.indentExclusionRanges,indentStart:s});r=n.content.lastChar()==="\n"});if(this.intro){this.intro=e+this.intro.replace(/^[^\n]/gm,function(t,r){return r>0?e+t:t})}return this};p.prototype.prepend=function prepend(e){this.intro=e+this.intro;return this};p.prototype.toString=function toString(){var e=this;var t=this.sources.map(function(t,r){var n=t.separator!==undefined?t.separator:e.separator;var i=(r>0?n:"")+t.content.toString();return i}).join("");return this.intro+t};p.prototype.isEmpty=function isEmpty(){if(this.intro.length&&this.intro.trim()){return false}if(this.sources.some(function(e){return!e.content.isEmpty()})){return false}return true};p.prototype.length=function length(){return this.sources.reduce(function(e,t){return e+t.content.length()},this.intro.length)};p.prototype.trimLines=function trimLines(){return this.trim("[\\r\\n]")};p.prototype.trim=function trim(e){return this.trimStart(e).trimEnd(e)};p.prototype.trimStart=function trimStart(e){var t=new RegExp("^"+(e||"\\s")+"+");this.intro=this.intro.replace(t,"");if(!this.intro){var r;var n=0;do{r=this.sources[n++];if(!r){break}}while(!r.content.trimStartAborted(e))}return this};p.prototype.trimEnd=function trimEnd(e){var t=new RegExp((e||"\\s")+"+$");var r;var n=this.sources.length-1;do{r=this.sources[n--];if(!r){this.intro=this.intro.replace(t,"");break}}while(!r.content.trimEndAborted(e));return this};l.Bundle=p;l.default=l;e.exports=l},,,,,,,,,,,,function(e,t,r){"use strict";var n=r(732);var i=r(294);var a;var s="[\\[!*+?$^\"'.\\\\/]+";var o=createTextRegex(s);e.exports=function(e,t){var r=e.parser;var n=r.options;r.state={slashes:0,paths:[]};r.ast.state=r.state;r.capture("prefix",function(){if(this.parsed)return;var e=this.match(/^\.[\\/]/);if(!e)return;this.state.strictOpen=!!this.options.strictOpen;this.state.addPrefix=true}).capture("escape",function(){if(this.isInside("bracket"))return;var e=this.position();var t=this.match(/^(?:\\(.)|([$^]))/);if(!t)return;return e({type:"escape",val:t[2]||t[1]})}).capture("quoted",function(){var e=this.position();var t=this.match(/^["']/);if(!t)return;var r=t[0];if(this.input.indexOf(r)===-1){return e({type:"escape",val:r})}var n=advanceTo(this.input,r);this.consume(n.len);return e({type:"quoted",val:n.esc})}).capture("not",function(){var e=this.parsed;var t=this.position();var r=this.match(this.notRegex||/^!+/);if(!r)return;var n=r[0];var i=n.length%2===1;if(e===""&&!i){n=""}if(e===""&&i&&this.options.nonegate!==true){this.bos.val="(?!^(?:";this.append=")$).*";n=""}return t({type:"not",val:n})}).capture("dot",function(){var e=this.parsed;var t=this.position();var r=this.match(/^\.+/);if(!r)return;var n=r[0];this.state.dot=n==="."&&(e===""||e.slice(-1)==="/");return t({type:"dot",dotfiles:this.state.dot,val:n})}).capture("plus",/^\+(?!\()/).capture("qmark",function(){var e=this.parsed;var t=this.position();var r=this.match(/^\?+(?!\()/);if(!r)return;this.state.metachar=true;this.state.qmark=true;return t({type:"qmark",parsed:e,val:r[0]})}).capture("globstar",function(){var e=this.parsed;var t=this.position();var r=this.match(/^\*{2}(?![*(])(?=[,)/]|$)/);if(!r)return;var i=n.noglobstar!==true?"globstar":"star";var a=t({type:i,parsed:e});this.state.metachar=true;while(this.input.slice(0,4)==="/**/"){this.input=this.input.slice(3)}a.isInside={brace:this.isInside("brace"),paren:this.isInside("paren")};if(i==="globstar"){this.state.globstar=true;a.val="**"}else{this.state.star=true;a.val="*"}return a}).capture("star",function(){var e=this.position();var t=/^(?:\*(?![*(])|[*]{3,}(?!\()|[*]{2}(?![(/]|$)|\*(?=\*\())/;var r=this.match(t);if(!r)return;this.state.metachar=true;this.state.star=true;return e({type:"star",val:r[0]})}).capture("slash",function(){var e=this.position();var t=this.match(/^\//);if(!t)return;this.state.slashes++;return e({type:"slash",val:t[0]})}).capture("backslash",function(){var e=this.position();var t=this.match(/^\\(?![*+?(){}[\]'"])/);if(!t)return;var r=t[0];if(this.isInside("bracket")){r="\\"}else if(r.length>1){r="\\\\"}return e({type:"backslash",val:r})}).capture("square",function(){if(this.isInside("bracket"))return;var e=this.position();var t=this.match(/^\[([^!^\\])\]/);if(!t)return;return e({type:"square",val:t[1]})}).capture("bracket",function(){var e=this.position();var t=this.match(/^(?:\[([!^]?)([^\]]+|\]-)(\]|[^*+?]+)|\[)/);if(!t)return;var r=t[0];var n=t[1]?"^":"";var i=(t[2]||"").replace(/\\\\+/,"\\\\");var a=t[3]||"";if(t[2]&&i.length>=1;var m=b?-p:p;if(l==0){r+=m;f.push(r)}else if(l===1){n+=m;f.push(n)}else if(l===2){i+=m;f.push(i)}else if(l===3){a+=m;f.push(a)}else if(l===4){s+=m;f.push(s)}l++;p=h=0}}}if(f.length)u.push(new Int32Array(f));o.push(u);return o}function encode(e){var t=0;var r=0;var n=0;var i=0;var a="";for(var s=0;s0)a+=";";if(o.length===0)continue;var u=0;var f=[];for(var c=0,l=o;c1){p+=encodeInteger(h[1]-t)+encodeInteger(h[2]-r)+encodeInteger(h[3]-n);t=h[1];r=h[2];n=h[3]}if(h.length===5){p+=encodeInteger(h[4]-i);i=h[4]}f.push(p)}a+=f.join(",")}return a}function encodeInteger(e){var t="";e=e<0?-e<<1|1:e<<1;do{var n=e&31;e>>=5;if(e>0){n|=32}t+=r[n]}while(e>0);return t}e.decode=decode;e.encode=encode;Object.defineProperty(e,"__esModule",{value:true})})},function(e,t,r){var n=r(75);function generatedPositionAfter(e,t){var r=e.generatedLine;var i=t.generatedLine;var a=e.generatedColumn;var s=t.generatedColumn;return i>r||i==r&&s>=a||n.compareByGeneratedPositionsInflated(e,t)<=0}function MappingList(){this._array=[];this._sorted=true;this._last={generatedLine:-1,generatedColumn:0}}MappingList.prototype.unsortedForEach=function MappingList_forEach(e,t){this._array.forEach(e,t)};MappingList.prototype.add=function MappingList_add(e){if(generatedPositionAfter(this._last,e)){this._last=e;this._array.push(e)}else{this._sorted=false;this._array.push(e)}};MappingList.prototype.toArray=function MappingList_toArray(){if(!this._sorted){this._array.sort(n.compareByGeneratedPositionsInflated);this._sorted=true}return this._array};t.MappingList=MappingList},,,,,,function(e,t,r){"use strict";const n=r(440).tokTypes;const i=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g;const a=e=>{i.lastIndex=e.pos;let t=i.exec(e.input);let r=e.pos+t[0].length;return e.input.slice(r,r+1)==="."};e.exports=function(e){return class extends e{parseExprAtom(e){if(this.type!==n._import||!a(this))return super.parseExprAtom(e);if(!this.options.allowImportExportEverywhere&&!this.inModule){this.raise(this.start,"'import' and 'export' may appear only with 'sourceType: module'")}let t=this.startNode();t.meta=this.parseIdent(true);this.expect(n.dot);t.property=this.parseIdent(true);if(t.property.name!=="meta"){this.raiseRecoverable(t.property.start,"The only valid meta property for import is import.meta")}if(this.containsEsc){this.raiseRecoverable(t.property.start,'"meta" in import.meta must not contain escape sequences')}return this.finishNode(t,"MetaProperty")}parseStatement(e,t,r){if(this.type!==n._import||!a(this)){return super.parseStatement(e,t,r)}let i=this.startNode();let s=this.parseExpression();return this.parseExpressionStatement(i,s)}}}},,,,,function(e,t,r){"use strict";var n=r(539);var i=r(71);var a=r(140)("snapdragon:compiler");var s=r(996);function Compiler(e,t){a("initializing",__filename);this.options=s.extend({source:"string"},e);this.state=t||{};this.compilers={};this.output="";this.set("eos",function(e){return this.emit(e.val,e)});this.set("noop",function(e){return this.emit(e.val,e)});this.set("bos",function(e){return this.emit(e.val,e)});n(this)}Compiler.prototype={error:function(e,t){var r=t.position||{start:{column:0}};var n=this.options.source+" column:"+r.start.column+": "+e;var i=new Error(n);i.reason=e;i.column=r.start.column;i.source=this.pattern;if(this.options.silent){this.errors.push(i)}else{throw i}},define:function(e,t){i(this,e,t);return this},emit:function(e,t){this.output+=e;return e},set:function(e,t){this.compilers[e]=t;return this},get:function(e){return this.compilers[e]},prev:function(e){return this.ast.nodes[this.idx-(e||1)]||{type:"bos",val:""}},next:function(e){return this.ast.nodes[this.idx+(e||1)]||{type:"eos",val:""}},visit:function(e,t,r){var n=this.compilers[e.type];this.idx=r;if(typeof n!=="function"){throw this.error('compiler "'+e.type+'" is not registered',e)}return n.call(this,e,t,r)},mapVisit:function(e){if(!Array.isArray(e)){throw new TypeError("expected an array")}var t=e.length;var r=-1;while(++r0){if(typeof t!=="string"&&!a.objectMode&&Object.getPrototypeOf(t)!==f.prototype){t=_uint8ArrayToBuffer(t)}if(n){if(a.endEmitted)e.emit("error",new Error("stream.unshift() after end event"));else addChunk(e,a,t,true)}else if(a.ended){e.emit("error",new Error("stream.push() after EOF"))}else{a.reading=false;if(a.decoder&&!r){t=a.decoder.write(t);if(a.objectMode||t.length!==0)addChunk(e,a,t,false);else maybeReadMore(e,a)}else{addChunk(e,a,t,false)}}}else if(!n){a.reading=false}}return needMoreData(a)}function addChunk(e,t,r,n){if(t.flowing&&t.length===0&&!t.sync){e.emit("data",r);e.read(0)}else{t.length+=t.objectMode?1:r.length;if(n)t.buffer.unshift(r);else t.buffer.push(r);if(t.needReadable)emitReadable(e)}maybeReadMore(e,t)}function chunkInvalid(e,t){var r;if(!_isUint8Array(t)&&typeof t!=="string"&&t!==undefined&&!e.objectMode){r=new TypeError("Invalid non-string/buffer chunk")}return r}function needMoreData(e){return!e.ended&&(e.needReadable||e.length=b){e=b}else{e--;e|=e>>>1;e|=e>>>2;e|=e>>>4;e|=e>>>8;e|=e>>>16;e++}return e}function howMuchToRead(e,t){if(e<=0||t.length===0&&t.ended)return 0;if(t.objectMode)return 1;if(e!==e){if(t.flowing&&t.length)return t.buffer.head.data.length;else return t.length}if(e>t.highWaterMark)t.highWaterMark=computeNewHighWaterMark(e);if(e<=t.length)return e;if(!t.ended){t.needReadable=true;return 0}return t.length}Readable.prototype.read=function(e){p("read",e);e=parseInt(e,10);var t=this._readableState;var r=e;if(e!==0)t.emittedReadable=false;if(e===0&&t.needReadable&&(t.length>=t.highWaterMark||t.ended)){p("read: emitReadable",t.length,t.ended);if(t.length===0&&t.ended)endReadable(this);else emitReadable(this);return null}e=howMuchToRead(e,t);if(e===0&&t.ended){if(t.length===0)endReadable(this);return null}var n=t.needReadable;p("need readable",n);if(t.length===0||t.length-e0)i=fromList(e,t);else i=null;if(i===null){t.needReadable=true;e=0}else{t.length-=e}if(t.length===0){if(!t.ended)t.needReadable=true;if(r!==e&&t.ended)endReadable(this)}if(i!==null)this.emit("data",i);return i};function onEofChunk(e,t){if(t.ended)return;if(t.decoder){var r=t.decoder.end();if(r&&r.length){t.buffer.push(r);t.length+=t.objectMode?1:r.length}}t.ended=true;emitReadable(e)}function emitReadable(e){var t=e._readableState;t.needReadable=false;if(!t.emittedReadable){p("emitReadable",t.flowing);t.emittedReadable=true;if(t.sync)n.nextTick(emitReadable_,e);else emitReadable_(e)}}function emitReadable_(e){p("emit readable");e.emit("readable");flow(e)}function maybeReadMore(e,t){if(!t.readingMore){t.readingMore=true;n.nextTick(maybeReadMore_,e,t)}}function maybeReadMore_(e,t){var r=t.length;while(!t.reading&&!t.flowing&&!t.ended&&t.length1&&indexOf(i.pipes,e)!==-1)&&!f){p("false write response, pause",r._readableState.awaitDrain);r._readableState.awaitDrain++;c=true}r.pause()}}function onerror(t){p("onerror",t);unpipe();e.removeListener("error",onerror);if(o(e,"error")===0)e.emit("error",t)}prependListener(e,"error",onerror);function onclose(){e.removeListener("finish",onfinish);unpipe()}e.once("close",onclose);function onfinish(){p("onfinish");e.removeListener("close",onclose);unpipe()}e.once("finish",onfinish);function unpipe(){p("unpipe");r.unpipe(e)}e.emit("pipe",r);if(!i.flowing){p("pipe resume");r.resume()}return e};function pipeOnDrain(e){return function(){var t=e._readableState;p("pipeOnDrain",t.awaitDrain);if(t.awaitDrain)t.awaitDrain--;if(t.awaitDrain===0&&o(e,"data")){t.flowing=true;flow(e)}}}Readable.prototype.unpipe=function(e){var t=this._readableState;var r={hasUnpiped:false};if(t.pipesCount===0)return this;if(t.pipesCount===1){if(e&&e!==t.pipes)return this;if(!e)e=t.pipes;t.pipes=null;t.pipesCount=0;t.flowing=false;if(e)e.emit("unpipe",this,r);return this}if(!e){var n=t.pipes;var i=t.pipesCount;t.pipes=null;t.pipesCount=0;t.flowing=false;for(var a=0;a=t.length){if(t.decoder)r=t.buffer.join("");else if(t.buffer.length===1)r=t.buffer.head.data;else r=t.buffer.concat(t.length);t.buffer.clear()}else{r=fromListPartial(e,t.buffer,t.decoder)}return r}function fromListPartial(e,t,r){var n;if(ea.length?a.length:e;if(s===a.length)i+=a;else i+=a.slice(0,e);e-=s;if(e===0){if(s===a.length){++n;if(r.next)t.head=r.next;else t.head=t.tail=null}else{t.head=r;r.data=a.slice(s)}break}++n}t.length-=n;return i}function copyFromBuffer(e,t){var r=f.allocUnsafe(e);var n=t.head;var i=1;n.data.copy(r);e-=n.data.length;while(n=n.next){var a=n.data;var s=e>a.length?a.length:e;a.copy(r,r.length-e,0,s);e-=s;if(e===0){if(s===a.length){++i;if(n.next)t.head=n.next;else t.head=t.tail=null}else{t.head=n;n.data=a.slice(s)}break}++i}t.length-=i;return r}function endReadable(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');if(!t.endEmitted){t.ended=true;n.nextTick(endReadableNT,t,e)}}function endReadableNT(e,t){if(!e.endEmitted&&e.length===0){e.endEmitted=true;t.readable=false;t.emit("end")}}function indexOf(e,t){for(var r=0,n=e.length;r")return{test:i.test,then:i.then>a,else:i.else>a};if(r===">=")return{test:i.test,then:i.then>=a,else:i.else>=a};if(r==="|")return{test:i.test,then:i.then|a,else:i.else|a};if(r==="&")return{test:i.test,then:i.then&a,else:i.else&a};if(r==="^")return{test:i.test,then:i.then^a,else:i.else^a};if(r==="&&")return{test:i.test,then:i.then&&a,else:i.else&&a};if(r==="||")return{test:i.test,then:i.then||a,else:i.else||a}}else if("test"in a){i=i.value;if(r==="==")return{test:a.test,then:i==a.then,else:i==a.else};if(r==="===")return{test:a.test,then:i===a.then,else:i===a.else};if(r==="!=")return{test:a.test,then:i!=a.then,else:i!=a.else};if(r==="!==")return{test:a.test,then:i!==a.then,else:i!==a.else};if(r==="+")return{test:a.test,then:i+a.then,else:i+a.else};if(r==="-")return{test:a.test,then:i-a.then,else:i-a.else};if(r==="*")return{test:a.test,then:i*a.then,else:i*a.else};if(r==="/")return{test:a.test,then:i/a.then,else:i/a.else};if(r==="%")return{test:a.test,then:i%a.then,else:i%a.else};if(r==="<")return{test:a.test,then:i")return{test:a.test,then:i>a.then,else:i>a.else};if(r===">=")return{test:a.test,then:i>=a.then,else:i>=a.else};if(r==="|")return{test:a.test,then:i|a.then,else:i|a.else};if(r==="&")return{test:a.test,then:i&a.then,else:i&a.else};if(r==="^")return{test:a.test,then:i^a.then,else:i^a.else};if(r==="&&")return{test:a.test,then:i&&a.then,else:i&&a.else};if(r==="||")return{test:a.test,then:i||a.then,else:i||a.else}}else{if(r==="==")return{value:i.value==a.value};if(r==="===")return{value:i.value===a.value};if(r==="!=")return{value:i.value!=a.value};if(r==="!==")return{value:i.value!==a.value};if(r==="+"){const e={value:i.value+a.value};if(i.wildcards||a.wildcards)e.wildcards=[...i.wildcards||[],...a.wildcards||[]];return e}if(r==="-")return{value:i.value-a.value};if(r==="*")return{value:i.value*a.value};if(r==="/")return{value:i.value/a.value};if(r==="%")return{value:i.value%a.value};if(r==="<")return{value:i.value")return{value:i.value>a.value};if(r===">=")return{value:i.value>=a.value};if(r==="|")return{value:i.value|a.value};if(r==="&")return{value:i.value&a.value};if(r==="^")return{value:i.value^a.value};if(r==="&&")return{value:i.value&&a.value};if(r==="||")return{value:i.value||a.value}}return},CallExpression(e,i){const a=i(e.callee);if(!a||"test"in a)return;let s=a.value;if(typeof s==="object"&&s!==null)s=s[r];if(typeof s!=="function")return;const o=e.callee.object&&i(e.callee.object).value||null;let u;let f=[];let c;let l=e.arguments.length>0;const h=[];for(let t=0,r=e.arguments.length;th.push(e))}else{if(!this.computeBranches)return;r={value:n};h.push(e.arguments[t])}if("test"in r){if(h.length)return;if(u)return;u=r.test;c=f.concat([]);f.push(r.then);c.push(r.else)}else{f.push(r.value);if(c)c.push(r.value)}}if(l)return;try{const e=s.apply(o,f);if(e===t)return;if(!u){if(h.length){if(typeof e!=="string"||countWildcards(e)!==h.length)return;return{value:e,wildcards:h}}return{value:e}}const r=s.apply(o,c);if(e===t)return;return{test:u,then:e,else:r}}catch(e){return}},ConditionalExpression(e,t){const r=t(e.test);if(r&&"value"in r)return r.value?t(e.consequent):t(e.alternate);if(!this.computeBranches)return;const n=t(e.consequent);if(!n||"wildcards"in n||"test"in n)return;const i=t(e.alternate);if(!i||"wildcards"in i||"test"in i)return;return{test:e.test,then:n.value,else:i.value}},ExpressionStatement(e,t){return t(e.expression)},Identifier(e){this.sawIdentifier=true;if(Object.hasOwnProperty.call(this.vars,e.name)){const r=this.vars[e.name];if(r===t)return;return{value:r}}return},Literal(e){return{value:e.value}},MemberExpression(e,r){const n=r(e.object);if(!n||"test"in n||typeof n.value==="function")return;if(e.property.type==="Identifier"){if(typeof n.value==="object"&&n.value!==null){if(e.property.name in n.value){const r=n.value[e.property.name];if(r===t)return;return{value:r}}else if(n.value[t])return}else{return{value:undefined}}}const i=r(e.property);if(!i||"test"in i)return;if(typeof n.value==="object"&&n.value!==null){if(i.value in n.value){const e=n.value[i.value];if(e===t)return;return{value:e}}else if(n.value[t]){return}}else{return{value:undefined}}},ObjectExpression(e,r){const n={};for(let i=0;i=0}},,,,function(e,t,r){"use strict";var n=r(64);var i=r(294);var a=r(145);var s=r(858);var o=r(872);var u=r(689);var f=r(423);var c=1024*64;function nanomatch(e,t,r){t=f.arrayify(t);e=f.arrayify(e);var n=t.length;if(e.length===0||n===0){return[]}if(n===1){return nanomatch.match(e,t[0],r)}var i=false;var a=[];var s=[];var o=-1;while(++oc){throw new Error("expected pattern to be less than "+c+" characters")}function makeRe(){var r=f.extend({wrap:false},t);var n=nanomatch.create(e,r);var a=i(n.output,r);f.define(a,"result",n);return a}return memoize("makeRe",e,t,makeRe)};nanomatch.create=function(e,t){if(typeof e!=="string"){throw new TypeError("expected a string")}function create(){return nanomatch.compile(nanomatch.parse(e,t),t)}return memoize("create",e,t,create)};nanomatch.parse=function(e,t){if(typeof e!=="string"){throw new TypeError("expected a string")}function parse(){var r=f.instantiate(null,t);o(r,t);var n=r.parse(e,t);f.define(n,"snapdragon",r);n.input=e;return n}return memoize("parse",e,t,parse)};nanomatch.compile=function(e,t){if(typeof e==="string"){e=nanomatch.parse(e,t)}function compile(){var r=f.instantiate(e,t);s(r,t);return r.compile(e,t)}return memoize("compile",e.input,t,compile)};nanomatch.clearCache=function(){nanomatch.cache.__data__={}};function compose(e,t,r){var n;return memoize("compose",String(e),t,function(){return function(i){if(!n){n=[];for(var a=0;a0&&e.column>=0&&!t&&!r&&!n){return}else if(e&&"line"in e&&"column"in e&&t&&"line"in t&&"column"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&r){return}else{throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:r,original:t,name:n}))}};SourceMapGenerator.prototype._serializeMappings=function SourceMapGenerator_serializeMappings(){var e=0;var t=1;var r=0;var a=0;var s=0;var o=0;var u="";var f;var c;var l;var h;var p=this._mappings.toArray();for(var v=0,d=p.length;v0){if(!i.compareByGeneratedPositionsInflated(c,p[v-1])){continue}f+=","}}f+=n.encode(c.generatedColumn-e);e=c.generatedColumn;if(c.source!=null){h=this._sources.indexOf(c.source);f+=n.encode(h-o);o=h;f+=n.encode(c.originalLine-1-a);a=c.originalLine-1;f+=n.encode(c.originalColumn-r);r=c.originalColumn;if(c.name!=null){l=this._names.indexOf(c.name);f+=n.encode(l-s);s=l}}u+=f}return u};SourceMapGenerator.prototype._generateSourcesContent=function SourceMapGenerator_generateSourcesContent(e,t){return e.map(function(e){if(!this._sourcesContents){return null}if(t!=null){e=i.relative(t,e)}var r=i.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,r)?this._sourcesContents[r]:null},this)};SourceMapGenerator.prototype.toJSON=function SourceMapGenerator_toJSON(){var e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};if(this._file!=null){e.file=this._file}if(this._sourceRoot!=null){e.sourceRoot=this._sourceRoot}if(this._sourcesContents){e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)}return e};SourceMapGenerator.prototype.toString=function SourceMapGenerator_toString(){return JSON.stringify(this.toJSON())};t.SourceMapGenerator=SourceMapGenerator},,,function(__unusedmodule,exports,__nested_webpack_require_1321699__){const path=__nested_webpack_require_1321699__(589);const fs=__nested_webpack_require_1321699__(66);const versioning=__nested_webpack_require_1321699__(503);const napi=__nested_webpack_require_1321699__(445);const pregypFind=(e,t)=>{const r=JSON.parse(fs.readFileSync(e).toString());versioning.validate_config(r,t);var n;if(napi.get_napi_build_versions(r,t)){n=napi.get_best_napi_build_version(r,t)}t=t||{};if(!t.module_root)t.module_root=path.dirname(e);var i=versioning.evaluate(r,t,n);return i.module};exports.pregyp={default:{find:pregypFind},find:pregypFind};function makeModulePathList(e,t){return[[e,t],[e,"build",t],[e,"build","Debug",t],[e,"build","Release",t],[e,"out","Debug",t],[e,"Debug",t],[e,"out","Release",t],[e,"Release",t],[e,"build","default",t],[e,process.env["NODE_BINDINGS_COMPILED_DIR"]||"compiled",process.versions.node,process.platform,process.arch,t]]}function findCompiledModule(basePath,specList){var resolvedList=[];var ext=path.extname(basePath);for(var _i=0,specList_1=specList;_i>1;return t?-r:r}t.encode=function base64VLQ_encode(e){var t="";var r;var a=toVLQSigned(e);do{r=a&s;a>>>=i;if(a>0){r|=o}t+=n.encode(r)}while(a>0);return t};t.decode=function base64VLQ_decode(e,t,r){var a=e.length;var u=0;var f=0;var c,l;do{if(t>=a){throw new Error("Expected more digits in base 64 VLQ value.")}l=n.decode(e.charCodeAt(t++));if(l===-1){throw new Error("Invalid base64 digit: "+e.charAt(t-1))}c=!!(l&o);l&=s;u=u+(l<=t)return e;var i="";var a=n(r);if(a=t)return e;var i="";var a=n(r);if(a=t)return e;var i="";var a="";var s=n(r);if(s { try { writeFileSync(__dirname + '/shebang-loader.js.cache', script.createCachedData()); } catch(e) {} }); diff --git a/node_modules/@zeit/ncc/dist/ncc/loaders/shebang-loader.js.cache b/node_modules/@zeit/ncc/dist/ncc/loaders/shebang-loader.js.cache new file mode 100644 index 0000000..97f24cc Binary files /dev/null and b/node_modules/@zeit/ncc/dist/ncc/loaders/shebang-loader.js.cache differ diff --git a/node_modules/@zeit/ncc/dist/ncc/loaders/shebang-loader.js.cache.js b/node_modules/@zeit/ncc/dist/ncc/loaders/shebang-loader.js.cache.js new file mode 100644 index 0000000..129bd4d --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/loaders/shebang-loader.js.cache.js @@ -0,0 +1 @@ +module.exports=function(e,r){"use strict";var t={};function __webpack_require__(r){if(t[r]){return t[r].exports}var _=t[r]={i:r,l:false,exports:{}};e[r].call(_.exports,_,_.exports,__webpack_require__);_.l=true;return _.exports}__webpack_require__.ab=__dirname+"/";function startup(){return __webpack_require__(431)}return startup()}({170:function(e){e.exports=function(e){this.cacheable&&this.cacheable();if(typeof e==="string"&&/^#!/.test(e)){e=e.replace(/^#![^\n\r]*[\r\n]/,"")}return e}},431:function(e,r,t){e.exports=t(170)}}); \ No newline at end of file diff --git a/node_modules/@zeit/ncc/dist/ncc/loaders/ts-loader.js b/node_modules/@zeit/ncc/dist/ncc/loaders/ts-loader.js new file mode 100644 index 0000000..d549f54 --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/loaders/ts-loader.js @@ -0,0 +1,6 @@ +const { readFileSync, writeFileSync } = require('fs'), { Script } = require('vm'), { wrap } = require('module'); +const source = readFileSync(__dirname + '/ts-loader.js.cache.js', 'utf-8'); +const cachedData = !process.pkg && require('process').platform !== 'win32' && readFileSync(__dirname + '/ts-loader.js.cache'); +const script = new Script(wrap(source), cachedData ? { cachedData } : {}); +(script.runInThisContext())(exports, require, module, __filename, __dirname); +if (cachedData) process.on('exit', () => { try { writeFileSync(__dirname + '/ts-loader.js.cache', script.createCachedData()); } catch(e) {} }); diff --git a/node_modules/@zeit/ncc/dist/ncc/loaders/ts-loader.js.cache b/node_modules/@zeit/ncc/dist/ncc/loaders/ts-loader.js.cache new file mode 100644 index 0000000..7266f54 Binary files /dev/null and b/node_modules/@zeit/ncc/dist/ncc/loaders/ts-loader.js.cache differ diff --git a/node_modules/@zeit/ncc/dist/ncc/loaders/ts-loader.js.cache.js b/node_modules/@zeit/ncc/dist/ncc/loaders/ts-loader.js.cache.js new file mode 100644 index 0000000..b7b9a74 --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/loaders/ts-loader.js.cache.js @@ -0,0 +1 @@ +module.exports=function(e,t){"use strict";var r={};function __webpack_require__(t){if(r[t]){return r[t].exports}var n=r[t]={i:t,l:false,exports:{}};e[t].call(n.exports,n,n.exports,__webpack_require__);n.l=true;return n.exports}__webpack_require__.ab=__dirname+"/";function startup(){return __webpack_require__(90)}t(__webpack_require__);return startup()}([,,function(e,t,r){var n=r(622);"use strict";function urix(e){if(n.sep==="\\"){return e.replace(/\\/g,"/").replace(/^[a-z]:\/?/i,"/")}return e}e.exports=urix},,,,,,,function(e,t,r){"use strict";var n=r(820);var i=r(377);var a=r(778)("expand-brackets");var o=r(127);var s=r(769);var c=r(532);function brackets(e,t){a("initializing from <%s>",__filename);var r=brackets.create(e,t);return r.output}brackets.match=function(e,t,r){e=[].concat(e);var n=o({},r);var i=brackets.matcher(t,n);var a=e.length;var s=-1;var c=[];while(++s-1){return true}}var i=c.nativeKeys(e);return c.has(i,t)}if(Array.isArray(e)){var a=e;while(r--){if(a.indexOf(t[r])>-1){return true}}return false}throw new TypeError("expected an array or object.")};c.hasAll=function hasAll(e,t){t=c.arrayify(t);var r=t.length;while(r--){if(!c.has(e,t[r])){return false}}return true};c.arrayify=function arrayify(e){return e?Array.isArray(e)?e:[e]:[]};c.noop=function noop(){return};c.identity=function identity(e){return e};c.hasConstructor=function hasConstructor(e){return c.isObject(e)&&typeof e.constructor!=="undefined"};c.nativeKeys=function nativeKeys(e){if(!c.hasConstructor(e))return[];var t=Object.getOwnPropertyNames(e);if("caller"in e)t.push("caller");return t};c.getDescriptor=function getDescriptor(e,t){if(!c.isObject(e)){throw new TypeError("expected an object.")}if(typeof t!=="string"){throw new TypeError("expected key to be a string.")}return Object.getOwnPropertyDescriptor(e,t)};c.copyDescriptor=function copyDescriptor(e,t,r){if(!c.isObject(e)){throw new TypeError("expected receiving object to be an object.")}if(!c.isObject(t)){throw new TypeError("expected providing object to be an object.")}if(typeof r!=="string"){throw new TypeError("expected name to be a string.")}var n=c.getDescriptor(t,r);if(n)Object.defineProperty(e,r,n)};c.copy=function copy(e,t,r){if(!c.isObject(e)){throw new TypeError("expected receiving object to be an object.")}if(!c.isObject(t)){throw new TypeError("expected providing object to be an object.")}var n=Object.getOwnPropertyNames(t);var i=Object.keys(t);var o=n.length,s;r=c.arrayify(r);while(o--){s=n[o];if(c.has(i,s)){a(e,s,t[s])}else if(!(s in e)&&!c.has(r,s)){c.copyDescriptor(e,t,s)}}};c.inherit=function inherit(e,t,r){if(!c.isObject(e)){throw new TypeError("expected receiving object to be an object.")}if(!c.isObject(t)){throw new TypeError("expected providing object to be an object.")}var n=[];for(var i in t){n.push(i);e[i]=t[i]}n=n.concat(c.arrayify(r));var a=t.prototype||t;var o=e.prototype||e;c.copy(o,a,n)};c.extend=function(){return o.apply(null,arguments)};c.bubble=function(e,t){t=t||[];e.bubble=function(r,n){if(Array.isArray(n)){t=i([],t,n)}var a=t.length;var o=-1;while(++o{e.doResolve(t,r,this.message,n,i)})}}},function(e,t,r){t=e.exports=createDebug.debug=createDebug["default"]=createDebug;t.coerce=coerce;t.disable=disable;t.enable=enable;t.enabled=enabled;t.humanize=r(901);t.names=[];t.skips=[];t.formatters={};var n;function selectColor(e){var r=0,n;for(n in e){r=(r<<5)-r+e.charCodeAt(n);r|=0}return t.colors[Math.abs(r)%t.colors.length]}function createDebug(e){function debug(){if(!debug.enabled)return;var e=debug;var r=+new Date;var i=r-(n||r);e.diff=i;e.prev=n;e.curr=r;n=r;var a=new Array(arguments.length);for(var o=0;oe(r)+i(true),onDone:t})}}const a=new AsyncSeriesHookCodeFactory;class AsyncSeriesHook extends n{compile(e){a.setup(this,e);return a.create(e)}}Object.defineProperties(AsyncSeriesHook.prototype,{_call:{value:undefined,configurable:true,writable:true}});e.exports=AsyncSeriesHook},function(e,t,r){var n=r(873);function generatedPositionAfter(e,t){var r=e.generatedLine;var i=t.generatedLine;var a=e.generatedColumn;var o=t.generatedColumn;return i>r||i==r&&o>=a||n.compareByGeneratedPositionsInflated(e,t)<=0}function MappingList(){this._array=[];this._sorted=true;this._last={generatedLine:-1,generatedColumn:0}}MappingList.prototype.unsortedForEach=function MappingList_forEach(e,t){this._array.forEach(e,t)};MappingList.prototype.add=function MappingList_add(e){if(generatedPositionAfter(this._last,e)){this._last=e;this._array.push(e)}else{this._sorted=false;this._array.push(e)}};MappingList.prototype.toArray=function MappingList_toArray(){if(!this._sorted){this._array.sort(n.compareByGeneratedPositionsInflated);this._sorted=true}return this._array};t.MappingList=MappingList},,,,,function(e){if(true){e.exports=Emitter}function Emitter(e){if(e)return mixin(e)}function mixin(e){for(var t in Emitter.prototype){e[t]=Emitter.prototype[t]}return e}Emitter.prototype.on=Emitter.prototype.addEventListener=function(e,t){this._callbacks=this._callbacks||{};(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t);return this};Emitter.prototype.once=function(e,t){function on(){this.off(e,on);t.apply(this,arguments)}on.fn=t;this.on(e,on);return this};Emitter.prototype.off=Emitter.prototype.removeListener=Emitter.prototype.removeAllListeners=Emitter.prototype.removeEventListener=function(e,t){this._callbacks=this._callbacks||{};if(0==arguments.length){this._callbacks={};return this}var r=this._callbacks["$"+e];if(!r)return this;if(1==arguments.length){delete this._callbacks["$"+e];return this}var n;for(var i=0;i{const o=n.path;r.stat(o,(r,s)=>{if(r||!s){if(i.missing)i.missing.add(o);if(i.log)i.log(o+" doesn't exist");return a()}if(!s.isFile()){if(i.missing)i.missing.add(o);if(i.log)i.log(o+" is not a file");return a()}e.doResolve(t,n,"existing file: "+o,i,a)})})}}},,,function(e,t,r){"use strict";var n=r(762);e.exports=function(e,t){e.compiler.set("bos",function(){if(this.output)return;this.ast.queue=isEscaped(this.ast)?[this.ast.val]:[];this.ast.count=1}).set("bracket",function(e){var t=e.close;var r=!e.escaped?"[":"\\[";var i=e.negated;var a=e.inner;a=a.replace(/\\(?=[\\\w]|$)/g,"\\\\");if(a==="]-"){a="\\]\\-"}if(i&&a.indexOf(".")===-1){a+="."}if(i&&a.indexOf("/")===-1){a+="/"}var o=r+i+a+t;var s=e.parent.queue;var c=n.arrayify(s.pop());s.push(n.join(c,o));s.push.apply(s,[])}).set("brace",function(e){e.queue=isEscaped(e)?[e.val]:[];e.count=1;return this.mapVisit(e.nodes)}).set("brace.open",function(e){e.parent.open=e.val}).set("text",function(e){var r=e.parent.queue;var i=e.escaped;var a=[e.val];if(e.optimize===false){t=n.extend({},t,{optimize:false})}if(e.multiplier>1){e.parent.count*=e.multiplier}if(t.quantifiers===true&&n.isQuantifier(e.val)){i=true}else if(e.val.length>1){if(isType(e.parent,"brace")&&!isEscaped(e)){var o=n.expand(e.val,t);a=o.segs;if(o.isOptimized){e.parent.isOptimized=true}if(!a.length){var s=o.val||e.val;if(t.unescape!==false){s=s.replace(/\\([,.])/g,"$1");s=s.replace(/["'`]/g,"")}a=[s];i=true}}}else if(e.val===","){if(t.expand){e.parent.queue.push([""]);a=[""]}else{a=["|"]}}else{i=true}if(i&&isType(e.parent,"brace")){if(e.parent.nodes.length<=4&&e.parent.count===1){e.parent.escaped=true}else if(e.parent.length<=3){e.parent.escaped=true}}if(!hasQueue(e.parent)){e.parent.queue=a;return}var c=n.arrayify(r.pop());if(e.parent.count>1&&t.expand){c=multiply(c,e.parent.count);e.parent.count=1}r.push(n.join(n.flatten(c),a.shift()));r.push.apply(r,a)}).set("brace.close",function(e){var r=e.parent.queue;var i=e.parent.parent;var a=i.queue.pop();var o=e.parent.open;var s=e.val;if(o&&s&&isOptimized(e,t)){o="(";s=")"}var c=n.last(r);if(e.parent.count>1&&t.expand){c=multiply(r.pop(),e.parent.count);e.parent.count=1;r.push(c)}if(s&&typeof c==="string"&&c.length===1){o="";s=""}if((isLiteralBrace(e,t)||noInner(e))&&!e.parent.hasEmpty){r.push(n.join(o,r.pop()||""));r=n.flatten(n.join(r,s))}if(typeof a==="undefined"){i.queue=[r]}else{i.queue.push(n.flatten(n.join(a,r)))}}).set("eos",function(e){if(this.input)return;if(t.optimize!==false){this.output=n.last(n.flatten(this.ast.queue))}else if(Array.isArray(n.last(this.ast.queue))){this.output=n.flatten(this.ast.queue.pop())}else{this.output=n.flatten(this.ast.queue)}if(e.parent.count>1&&t.expand){this.output=multiply(this.output,e.parent.count)}this.output=n.arrayify(this.output);this.ast.queue=[]})};function multiply(e,t,r){return n.flatten(n.repeat(n.arrayify(e),t))}function isEscaped(e){return e.escaped===true}function isOptimized(e,t){if(e.parent.isOptimized)return true;return isType(e.parent,"brace")&&!isEscaped(e.parent)&&t.expand!==true}function isLiteralBrace(e,t){return isEscaped(e.parent)||t.optimize!==false}function noInner(e,t){if(e.parent.queue.length===1){return true}var r=e.parent.nodes;return r.length===3&&isType(r[0],"brace.open")&&!isType(r[1],"text")&&isType(r[2],"brace.close")}function isType(e,t){return typeof e!=="undefined"&&e.type===t}function hasQueue(e){return Array.isArray(e.queue)&&e.queue.length}},function(e,t,r){var n=r(950);var i=Object.prototype.toString;e.exports=function kindOf(e){if(typeof e==="undefined"){return"undefined"}if(e===null){return"null"}if(e===true||e===false||e instanceof Boolean){return"boolean"}if(typeof e==="string"||e instanceof String){return"string"}if(typeof e==="number"||e instanceof Number){return"number"}if(typeof e==="function"||e instanceof Function){return"function"}if(typeof Array.isArray!=="undefined"&&Array.isArray(e)){return"array"}if(e instanceof RegExp){return"regexp"}if(e instanceof Date){return"date"}var t=i.call(e);if(t==="[object RegExp]"){return"regexp"}if(t==="[object Date]"){return"date"}if(t==="[object Arguments]"){return"arguments"}if(t==="[object Error]"){return"error"}if(n(e)){return"buffer"}if(t==="[object Set]"){return"set"}if(t==="[object WeakSet]"){return"weakset"}if(t==="[object Map]"){return"map"}if(t==="[object WeakMap]"){return"weakmap"}if(t==="[object Symbol]"){return"symbol"}if(t==="[object Int8Array]"){return"int8array"}if(t==="[object Uint8Array]"){return"uint8array"}if(t==="[object Uint8ClampedArray]"){return"uint8clampedarray"}if(t==="[object Int16Array]"){return"int16array"}if(t==="[object Uint16Array]"){return"uint16array"}if(t==="[object Int32Array]"){return"int32array"}if(t==="[object Uint32Array]"){return"uint32array"}if(t==="[object Float32Array]"){return"float32array"}if(t==="[object Float64Array]"){return"float64array"}return"object"}},,,function(e,t,r){"use strict";var n=e.exports;var i=r(622);var a=r(875)();var o=r(769);n.define=r(205);n.diff=r(486);n.extend=r(577);n.pick=r(767);n.typeOf=r(740);n.unique=r(974);n.isEmptyString=function(e){return String(e)===""||String(e)==="./"};n.isWindows=function(){return i.sep==="\\"||a===true};n.last=function(e,t){return e[e.length-(t||1)]};n.instantiate=function(e,t){var r;if(n.typeOf(e)==="object"&&e.snapdragon){r=e.snapdragon}else if(n.typeOf(t)==="object"&&t.snapdragon){r=t.snapdragon}else{r=new o(t)}n.define(r,"parse",function(e,t){var r=o.prototype.parse.call(this,e,t);r.input=e;var i=this.parser.stack.pop();if(i&&this.options.strictErrors!==true){var a=i.nodes[0];var s=i.nodes[1];if(i.type==="bracket"){if(s.val.charAt(0)==="["){s.val="\\"+s.val}}else{a.val="\\"+a.val;var c=a.parent.nodes[1];if(c.type==="star"){c.loose=true}}}n.define(r,"parser",this.parser);return r});return r};n.createKey=function(e,t){if(typeof t==="undefined"){return e}var r=e;for(var n in t){if(t.hasOwnProperty(n)){r+=";"+n+"="+String(t[n])}}return r};n.arrayify=function(e){if(typeof e==="string")return[e];return e?Array.isArray(e)?e:[e]:[]};n.isString=function(e){return typeof e==="string"};n.isRegex=function(e){return n.typeOf(e)==="regexp"};n.isObject=function(e){return n.typeOf(e)==="object"};n.escapeRegex=function(e){return e.replace(/[-[\]{}()^$|*+?.\\/\s]/g,"\\$&")};n.combineDupes=function(e,t){t=n.arrayify(t).join("|").split("|");t=t.map(function(e){return e.replace(/\\?([+*\\/])/g,"\\$1")});var r=t.join("|");var i=new RegExp("("+r+")(?=\\1)","g");return e.replace(i,"")};n.hasSpecialChars=function(e){return/(?:(?:(^|\/)[!.])|[*?+()|[\]{}]|[+@]\()/.test(e)};n.toPosixPath=function(e){return e.replace(/\\+/g,"/")};n.unescape=function(e){return n.toPosixPath(e.replace(/\\(?=[*+?!.])/g,""))};n.stripDrive=function(e){return n.isWindows()?e.replace(/^[a-z]:[\\/]+?/i,"/"):e};n.stripPrefix=function(e){if(e.charAt(0)==="."&&(e.charAt(1)==="/"||e.charAt(1)==="\\")){return e.slice(2)}return e};n.isSimpleChar=function(e){return e.trim()===""||e==="."};n.isSlash=function(e){return e==="/"||e==="\\/"||e==="\\"||e==="\\\\"};n.matchPath=function(e,t){return t&&t.contains?n.containsPattern(e,t):n.equalsPattern(e,t)};n._equals=function(e,t,r){return r===e||r===t};n._contains=function(e,t,r){return e.indexOf(r)!==-1||t.indexOf(r)!==-1};n.equalsPattern=function(e,t){var r=n.unixify(t);t=t||{};return function fn(i){var a=n._equals(i,r(i),e);if(a===true||t.nocase!==true){return a}var o=i.toLowerCase();return n._equals(o,r(o),e)}};n.containsPattern=function(e,t){var r=n.unixify(t);t=t||{};return function(i){var a=n._contains(i,r(i),e);if(a===true||t.nocase!==true){return a}var o=i.toLowerCase();return n._contains(o,r(o),e)}};n.matchBasename=function(e){return function(t){return e.test(t)||e.test(i.basename(t))}};n.identity=function(e){return e};n.value=function(e,t,r){if(r&&r.unixify===false){return e}if(r&&typeof r.unixify==="function"){return r.unixify(e)}return t(e)};n.unixify=function(e){var t=e||{};return function(e){if(t.stripPrefix!==false){e=n.stripPrefix(e)}if(t.unescape===true){e=n.unescape(e)}if(t.unixify===true||n.isWindows()){e=n.toPosixPath(e)}return e}}},,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:true});const n=r(324);function makeResolver(e){return n.create.sync(e.resolve)}t.makeResolver=makeResolver},,function(e,t,r){"use strict";const n=r(556);const i=r(236);e.exports=class ModulesInHierachicDirectoriesPlugin{constructor(e,t,r){this.source=e;this.directories=[].concat(t);this.target=r}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("ModulesInHierachicDirectoriesPlugin",(r,a,o)=>{const s=e.fileSystem;const c=i(r.path).paths.map(t=>{return this.directories.map(r=>e.join(t,r))}).reduce((e,t)=>{e.push.apply(e,t);return e},[]);n(c,(n,i)=>{s.stat(n,(o,s)=>{if(!o&&s&&s.isDirectory()){const o=Object.assign({},r,{path:n,request:"./"+r.request});const s="looking for modules in "+n;return e.doResolve(t,o,s,a,i)}if(a.log)a.log(n+" doesn't exist or is not a directory");if(a.missing)a.missing.add(n);return i()})},o)})}}},,,function(e,t,r){var n=r(956);e.exports=n},,function(e){"use strict";e.exports=class FileKindPlugin{constructor(e,t){this.source=e;this.target=t}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("FileKindPlugin",(r,n,i)=>{if(r.directory)return i();const a=Object.assign({},r);delete a.directory;e.doResolve(t,a,null,n,i)})}}},function(e,t,r){var n=r(413).Stream;e.exports=legacy;function legacy(e){return{ReadStream:ReadStream,WriteStream:WriteStream};function ReadStream(t,r){if(!(this instanceof ReadStream))return new ReadStream(t,r);n.call(this);var i=this;this.path=t;this.fd=null;this.readable=true;this.paused=false;this.flags="r";this.mode=438;this.bufferSize=64*1024;r=r||{};var a=Object.keys(r);for(var o=0,s=a.length;othis.end){throw new Error("start must be <= end")}this.pos=this.start}if(this.fd!==null){process.nextTick(function(){i._read()});return}e.open(this.path,this.flags,this.mode,function(e,t){if(e){i.emit("error",e);i.readable=false;return}i.fd=t;i.emit("open",t);i._read()})}function WriteStream(t,r){if(!(this instanceof WriteStream))return new WriteStream(t,r);n.call(this);this.path=t;this.fd=null;this.writable=true;this.flags="w";this.encoding="binary";this.mode=438;this.bytesWritten=0;r=r||{};var i=Object.keys(r);for(var a=0,o=i.length;a= zero")}this.pos=this.start}this.busy=false;this._queue=[];if(this.fd===null){this._open=e.open;this._queue.push([this._open,this.path,this.flags,this.mode,undefined]);this.flush()}}}},,,function(e,t,r){var n=r(644);function buildGraph(){var e={};var t=Object.keys(n);for(var r=t.length,i=0;i]/.test(e))return false;if((t===undefined||t===false)&&/^\//.test(e))return false;return true}e.exports=isUrlRequest},function(e){"use strict";function getRemainingRequest(e){if(e.remainingRequest)return e.remainingRequest;const t=e.loaders.slice(e.loaderIndex+1).map(e=>e.request).concat([e.resource]);return t.join("!")}e.exports=getRemainingRequest},,,,function(e){e.exports=require("console")},,function(e){"use strict";e.exports=class DirectoryExistsPlugin{constructor(e,t){this.source=e;this.target=t}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("DirectoryExistsPlugin",(r,n,i)=>{const a=e.fileSystem;const o=r.path;a.stat(o,(a,s)=>{if(a||!s){if(n.missing)n.missing.add(o);if(n.log)n.log(o+" doesn't exist");return i()}if(!s.isDirectory()){if(n.missing)n.missing.add(o);if(n.log)n.log(o+" is not a directory");return i()}e.doResolve(t,r,"existing directory",n,i)})})}}},,,function(e){e.exports=require("os")},,function(e,t,r){"use strict";var n=r(223);var i=r(867);function toRegex(e,t){return new RegExp(toRegex.create(e,t))}toRegex.create=function(e,t){if(typeof e!=="string"){throw new TypeError("expected a string")}var r=n({},t);if(r.contains===true){r.strictNegate=false}var a=r.strictOpen!==false?"^":"";var o=r.strictClose!==false?"$":"";var s=r.endChar?r.endChar:"+";var c=e;if(r.strictNegate===false){c="(?:(?!(?:"+e+")).)"+s}else{c="(?:(?!^(?:"+e+")$).)"+s}var u=a+c+o;if(r.safe===true&&i(u)===false){throw new Error("potentially unsafe regular expression: "+u)}return u};e.exports=toRegex},function(e,t,r){const n=r(686);const i=n.makeLogger;n.makeLogger=function(e,t){const r=i(e,t);const n=r.logWarning;r.logWarning=function(e){if(e.indexOf("This version may or may not be compatible with ts-loader")!==-1)return;return n(e)};return r};e.exports=r(70);e.exports.typescript=r(779)},,,function(e,t,r){"use strict";var n=r(977);var i=r(147);e.exports=function unset(e,t){if(!n(e)){throw new TypeError("expected an object.")}if(e.hasOwnProperty(t)){delete e[t];return true}if(i(e,t)){var r=t.split(".");var a=r.pop();while(r.length&&r[r.length-1].slice(-1)==="\\"){a=r.pop().slice(0,-1)+"."+a}while(r.length)e=e[t=r.shift()];return delete e[a]}return true}},,,,,function(e,t,r){"use strict";var n=r(357);var i=r(274);e.exports=function mapVisit(e,t,r){if(isObject(r)){return i.apply(null,arguments)}if(!Array.isArray(r)){throw new TypeError("expected an array: "+n.inspect(r))}var a=[].slice.call(arguments,3);for(var o=0;o1){r+="{"+e.val.length+"}"}return this.emit(r,e)}).set("plus",function(e){var t=e.parsed.slice(-1);if(t==="]"||t===")"){return this.emit(e.val,e)}if(!this.output||/[?*+]/.test(r)&&e.parent.type!=="bracket"){return this.emit("\\+",e)}var r=this.output.slice(-1);if(/\w/.test(r)&&!e.inside){return this.emit("+\\+?",e)}return this.emit("+",e)}).set("globstar",function(e,t,r){if(!this.output){this.state.leadingGlobstar=true}var n=this.prev();var i=this.prev(2);var a=this.next();var o=this.next(2);var s=n.type;var c=e.val;if(n.type==="slash"&&a.type==="slash"){if(i.type==="text"){this.output+="?";if(o.type!=="text"){this.output+="\\b"}}}var u=e.parsed;if(u.charAt(0)==="!"){u=u.slice(1)}var l=e.isInside.paren||e.isInside.brace;if(u&&s!=="slash"&&s!=="bos"&&!l){c=star()}else{c=this.options.dot!==true?"(?:(?!(?:["+slash()+"]|^)\\.).)*?":"(?:(?!(?:["+slash()+"]|^)(?:\\.{1,2})($|["+slash()+"]))(?!\\.{2}).)*?"}if((s==="slash"||s==="bos")&&this.options.dot!==true){c="(?!\\.)"+c}if(n.type==="slash"&&a.type==="slash"&&i.type!=="text"){if(o.type==="text"||o.type==="star"){e.addQmark=true}}if(this.options.capture){c="("+c+")"}return this.emit(c,e)}).set("star",function(e,t,r){var n=t[r-2]||{};var i=this.prev();var a=this.next();var o=i.type;function isStart(e){return e.type==="bos"||e.type==="slash"}if(this.output===""&&this.options.contains!==true){this.output="(?!["+slash()+"])"}if(o==="bracket"&&this.options.bash===false){var s=a&&a.type==="bracket"?star():"*?";if(!i.nodes||i.nodes[1].type!=="posix"){return this.emit(s,e)}}var c=!this.dotfiles&&o!=="text"&&o!=="escape"?this.options.dot?"(?!(?:^|["+slash()+"])\\.{1,2}(?:$|["+slash()+"]))":"(?!\\.)":"";if(isStart(i)||isStart(n)&&o==="not"){if(c!=="(?!\\.)"){c+="(?!(\\.{2}|\\.["+slash()+"]))(?=.)"}else{c+="(?=.)"}}else if(c==="(?!\\.)"){c=""}if(i.type==="not"&&n.type==="bos"&&this.options.dot===true){this.output="(?!\\.)"+this.output}var u=c+star();if(this.options.capture){u="("+u+")"}return this.emit(u,e)}).set("text",function(e){return this.emit(e.val,e)}).set("eos",function(e){var t=this.prev();var r=e.val;this.output="(?:\\.["+slash()+"](?=.))?"+this.output;if(this.state.metachar&&t.type!=="qmark"&&t.type!=="slash"){r+=this.options.contains?"["+slash()+"]?":"(?:["+slash()+"]|$)"}return this.emit(r,e)});if(t&&typeof t.compilers==="function"){t.compilers(e.compiler)}}},,,,function(e,t,r){"use strict";var n=r(434);var i=r(482);e.exports=function(e){var t=e.compiler.compilers;var r=e.options;e.use(n.compilers);var a=t.escape;var o=t.qmark;var s=t.slash;var c=t.star;var u=t.text;var l=t.plus;var f=t.dot;if(r.extglob===false||r.noext===true){e.compiler.use(escapeExtglobs)}else{e.use(i.compilers)}e.use(function(){this.options.star=this.options.star||function(){return"[^\\\\/]*?"}});e.compiler.set("dot",f).set("escape",a).set("plus",l).set("slash",s).set("qmark",o).set("star",c).set("text",u)};function escapeExtglobs(e){e.set("paren",function(e){var t="";visit(e,function(e){if(e.val)t+=(/^\W/.test(e.val)?"\\":"")+e.val});return this.emit(t,e)});function visit(e,t){return e.nodes?mapVisit(e.nodes,t):t(e)}function mapVisit(e,t){var r=e.length;var n=-1;while(++n{const a=e.parse(r.request);const o=Object.assign({},r,a);if(r.query&&!a.query){o.query=r.query}if(a&&n.log){if(a.module)n.log("Parsed request is a module");if(a.directory)n.log("Parsed request is a directory")}e.doResolve(t,o,null,n,i)})}}},,,,,,function(e,t,r){"use strict";var n=r(431);e.exports=function extend(e){if(!n(e)){e={}}var t=arguments.length;for(var r=1;r: "+e;var s=new Error(o);s.source=a;s.reason=e;s.pos=r;if(this.options.silent){this.errors.push(s)}else{throw s}},define:function(e,t){o(this,e,t);return this},position:function(){var e={line:this.line,column:this.column};var t=this;return function(r){o(r,"position",new c(e,t));return r}},set:function(e,t){if(this.types.indexOf(e)===-1){this.types.push(e)}this.parsers[e]=t.bind(this);return this},get:function(e){return this.parsers[e]},push:function(e,t){this.sets[e]=this.sets[e]||[];this.count++;this.stack.push(t);return this.sets[e].push(t)},pop:function(e){this.sets[e]=this.sets[e]||[];this.count--;this.stack.pop();return this.sets[e].pop()},isInside:function(e){this.sets[e]=this.sets[e]||[];return this.sets[e].length>0},isType:function(e,t){return e&&e.type===t},prev:function(e){return this.stack.length>0?u.last(this.stack,e):u.last(this.nodes,e)},consume:function(e){this.input=this.input.substr(e)},updatePosition:function(e,t){var r=e.match(/\n/g);if(r)this.line+=r.length;var n=e.lastIndexOf("\n");this.column=~n?t-n:this.column+t;this.parsed+=e;this.consume(t)},match:function(e){var t=e.exec(this.input);if(t){this.updatePosition(t[0],t[0].length);return t}},capture:function(e,t){if(typeof t==="function"){return this.set.apply(this,arguments)}this.regex.set(e,t);this.set(e,function(){var r=this.parsed;var n=this.position();var i=this.match(t);if(!i||!i[0])return;var a=this.prev();var s=n({type:e,val:i[0],parsed:r,rest:this.input});if(i[1]){s.inner=i[1]}o(s,"inside",this.stack.length>0);o(s,"parent",a);a.nodes.push(s)}.bind(this));return this},capturePair:function(e,t,r,n){this.sets[e]=this.sets[e]||[];this.set(e+".open",function(){var r=this.parsed;var i=this.position();var a=this.match(t);if(!a||!a[0])return;var s=a[0];this.setCount++;this.specialChars=true;var c=i({type:e+".open",val:s,rest:this.input});if(typeof a[1]!=="undefined"){c.inner=a[1]}var u=this.prev();var l=i({type:e,nodes:[c]});o(l,"rest",this.input);o(l,"parsed",r);o(l,"prefix",a[1]);o(l,"parent",u);o(c,"parent",l);if(typeof n==="function"){n.call(this,c,l)}this.push(e,l);u.nodes.push(l)});this.set(e+".close",function(){var t=this.position();var n=this.match(r);if(!n||!n[0])return;var i=this.pop(e);var a=t({type:e+".close",rest:this.input,suffix:n[1],val:n[0]});if(!this.isType(i,e)){if(this.options.strict){throw new Error('missing opening "'+e+'"')}this.setCount--;a.escaped=true;return a}if(a.suffix==="\\"){i.escaped=true;a.escaped=true}i.nodes.push(a);o(a,"parent",i)});return this},eos:function(){var e=this.position();if(this.input)return;var t=this.prev();while(t.type!=="root"&&!t.visited){if(this.options.strict===true){throw new SyntaxError("invalid syntax:"+i.inspect(t,null,2))}if(!hasDelims(t)){t.parent.escaped=true;t.escaped=true}visit(t,function(e){if(!hasDelims(e.parent)){e.parent.escaped=true;e.escaped=true}});t=t.parent}var r=e({type:"eos",val:this.append||""});o(r,"parent",this.ast);return r},next:function(){var e=this.parsed;var t=this.types.length;var r=-1;var n;while(++r0){if(r-s>1){return recursiveSearch(s,r,n,i,a,o)}if(o==t.LEAST_UPPER_BOUND){return r1){return recursiveSearch(e,s,n,i,a,o)}if(o==t.LEAST_UPPER_BOUND){return s}else{return e<0?-1:e}}}t.search=function search(e,r,n,i){if(r.length===0){return-1}var a=recursiveSearch(-1,r.length,e,r,n,i||t.GREATEST_LOWER_BOUND);if(a<0){return-1}while(a-1>=0){if(n(r[a],r[a-1],true)!==0){break}--a}return a}},function(e,t,r){var n=r(310);var i=r(873);var a=r(246).ArraySet;var o=r(40).MappingList;function SourceMapGenerator(e){if(!e){e={}}this._file=i.getArg(e,"file",null);this._sourceRoot=i.getArg(e,"sourceRoot",null);this._skipValidation=i.getArg(e,"skipValidation",false);this._sources=new a;this._names=new a;this._mappings=new o;this._sourcesContents=null}SourceMapGenerator.prototype._version=3;SourceMapGenerator.fromSourceMap=function SourceMapGenerator_fromSourceMap(e){var t=e.sourceRoot;var r=new SourceMapGenerator({file:e.file,sourceRoot:t});e.eachMapping(function(e){var n={generated:{line:e.generatedLine,column:e.generatedColumn}};if(e.source!=null){n.source=e.source;if(t!=null){n.source=i.relative(t,n.source)}n.original={line:e.originalLine,column:e.originalColumn};if(e.name!=null){n.name=e.name}}r.addMapping(n)});e.sources.forEach(function(t){var n=e.sourceContentFor(t);if(n!=null){r.setSourceContent(t,n)}});return r};SourceMapGenerator.prototype.addMapping=function SourceMapGenerator_addMapping(e){var t=i.getArg(e,"generated");var r=i.getArg(e,"original",null);var n=i.getArg(e,"source",null);var a=i.getArg(e,"name",null);if(!this._skipValidation){this._validateMapping(t,r,n,a)}if(n!=null){n=String(n);if(!this._sources.has(n)){this._sources.add(n)}}if(a!=null){a=String(a);if(!this._names.has(a)){this._names.add(a)}}this._mappings.add({generatedLine:t.line,generatedColumn:t.column,originalLine:r!=null&&r.line,originalColumn:r!=null&&r.column,source:n,name:a})};SourceMapGenerator.prototype.setSourceContent=function SourceMapGenerator_setSourceContent(e,t){var r=e;if(this._sourceRoot!=null){r=i.relative(this._sourceRoot,r)}if(t!=null){if(!this._sourcesContents){this._sourcesContents=Object.create(null)}this._sourcesContents[i.toSetString(r)]=t}else if(this._sourcesContents){delete this._sourcesContents[i.toSetString(r)];if(Object.keys(this._sourcesContents).length===0){this._sourcesContents=null}}};SourceMapGenerator.prototype.applySourceMap=function SourceMapGenerator_applySourceMap(e,t,r){var n=t;if(t==null){if(e.file==null){throw new Error("SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, "+'or the source map\'s "file" property. Both were omitted.')}n=e.file}var o=this._sourceRoot;if(o!=null){n=i.relative(o,n)}var s=new a;var c=new a;this._mappings.unsortedForEach(function(t){if(t.source===n&&t.originalLine!=null){var a=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});if(a.source!=null){t.source=a.source;if(r!=null){t.source=i.join(r,t.source)}if(o!=null){t.source=i.relative(o,t.source)}t.originalLine=a.line;t.originalColumn=a.column;if(a.name!=null){t.name=a.name}}}var u=t.source;if(u!=null&&!s.has(u)){s.add(u)}var l=t.name;if(l!=null&&!c.has(l)){c.add(l)}},this);this._sources=s;this._names=c;e.sources.forEach(function(t){var n=e.sourceContentFor(t);if(n!=null){if(r!=null){t=i.join(r,t)}if(o!=null){t=i.relative(o,t)}this.setSourceContent(t,n)}},this)};SourceMapGenerator.prototype._validateMapping=function SourceMapGenerator_validateMapping(e,t,r,n){if(t&&typeof t.line!=="number"&&typeof t.column!=="number"){throw new Error("original.line and original.column are not numbers -- you probably meant to omit "+"the original mapping entirely and only map the generated position. If so, pass "+"null for the original mapping instead of an object with empty or null values.")}if(e&&"line"in e&&"column"in e&&e.line>0&&e.column>=0&&!t&&!r&&!n){return}else if(e&&"line"in e&&"column"in e&&t&&"line"in t&&"column"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&r){return}else{throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:r,original:t,name:n}))}};SourceMapGenerator.prototype._serializeMappings=function SourceMapGenerator_serializeMappings(){var e=0;var t=1;var r=0;var a=0;var o=0;var s=0;var c="";var u;var l;var f;var d;var p=this._mappings.toArray();for(var g=0,_=p.length;g<_;g++){l=p[g];u="";if(l.generatedLine!==t){e=0;while(l.generatedLine!==t){u+=";";t++}}else{if(g>0){if(!i.compareByGeneratedPositionsInflated(l,p[g-1])){continue}u+=","}}u+=n.encode(l.generatedColumn-e);e=l.generatedColumn;if(l.source!=null){d=this._sources.indexOf(l.source);u+=n.encode(d-s);s=d;u+=n.encode(l.originalLine-1-a);a=l.originalLine-1;u+=n.encode(l.originalColumn-r);r=l.originalColumn;if(l.name!=null){f=this._names.indexOf(l.name);u+=n.encode(f-o);o=f}}c+=u}return c};SourceMapGenerator.prototype._generateSourcesContent=function SourceMapGenerator_generateSourcesContent(e,t){return e.map(function(e){if(!this._sourcesContents){return null}if(t!=null){e=i.relative(t,e)}var r=i.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,r)?this._sourcesContents[r]:null},this)};SourceMapGenerator.prototype.toJSON=function SourceMapGenerator_toJSON(){var e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};if(this._file!=null){e.file=this._file}if(this._sourceRoot!=null){e.sourceRoot=this._sourceRoot}if(this._sourcesContents){e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)}return e};SourceMapGenerator.prototype.toString=function SourceMapGenerator_toString(){return JSON.stringify(this.toJSON())};t.SourceMapGenerator=SourceMapGenerator},function(e){"use strict";e.exports=function hasValue(e,t){if(e===null||e===undefined){return false}if(typeof e==="boolean"){return true}if(typeof e==="number"){if(e===0&&t===true){return false}return true}if(e.length!==undefined){return e.length!==0}for(var r in e){if(e.hasOwnProperty(r)){return true}}return false}},,,,function(e,t,r){"use strict";const n=r(443);const i={null:null,true:true,false:false};function parseQuery(e){if(e.substr(0,1)!=="?"){throw new Error("A valid query string passed to parseQuery should begin with '?'")}e=e.substr(1);if(!e){return{}}if(e.substr(0,1)==="{"&&e.substr(-1)==="}"){return n.parse(e)}const t=e.split(/[,&]/g);const r={};t.forEach(e=>{const t=e.indexOf("=");if(t>=0){let n=e.substr(0,t);let a=decodeURIComponent(e.substr(t+1));if(i.hasOwnProperty(a)){a=i[a]}if(n.substr(-2)==="[]"){n=decodeURIComponent(n.substr(0,n.length-2));if(!Array.isArray(r[n]))r[n]=[];r[n].push(a)}else{n=decodeURIComponent(n);r[n]=a}}else{if(e.substr(0,1)==="-"){r[decodeURIComponent(e.substr(1))]=false}else if(e.substr(0,1)==="+"){r[decodeURIComponent(e.substr(1))]=true}else{r[decodeURIComponent(e)]=true}}});return r}e.exports=parseQuery},,,,,,,,,,,function(e,t,r){"use strict";var n=r(984);var i=r(680);var a=r(22);e.exports=function isDescriptor(e,t){if(n(e)!=="object"){return false}if("get"in e){return i(e,t)}return a(e,t)}},function(e){"use strict";e.exports=class ResultPlugin{constructor(e){this.source=e}apply(e){this.source.tapAsync("ResultPlugin",(t,r,n)=>{const i=Object.assign({},t);if(r.log)r.log("reporting result "+i.path);e.hooks.result.callAsync(i,r,e=>{if(e)return n(e);n(null,i)})})}}},,function(e,t,r){"use strict";var n=r(977);var i=r(45);var a=r(521);var o=r(919);var s=r(770);var c=r(93);var u=r(826);var l=r(283);var f=r(469);function namespace(e){function Cache(t){if(e){this[e]={}}if(t){this.set(t)}}i(Cache.prototype);Cache.prototype.set=function(t,r){if(Array.isArray(t)&&arguments.length===2){t=o(t)}if(n(t)||Array.isArray(t)){this.visit("set",t)}else{f(e?this[e]:this,t,r);this.emit("set",t,r)}return this};Cache.prototype.union=function(t,r){if(Array.isArray(t)&&arguments.length===2){t=o(t)}var n=e?this[e]:this;s(n,t,arrayify(r));this.emit("union",r);return this};Cache.prototype.get=function(t){t=o(arguments);var r=e?this[e]:this;var n=u(r,t);this.emit("get",t,n);return n};Cache.prototype.has=function(t){t=o(arguments);var r=e?this[e]:this;var n=u(r,t);var i=typeof n!=="undefined";this.emit("has",t,i);return i};Cache.prototype.del=function(t){if(Array.isArray(t)){this.visit("del",t)}else{c(e?this[e]:this,t);this.emit("del",t)}return this};Cache.prototype.clear=function(){if(e){this[e]={}}};Cache.prototype.visit=function(e,t){a(this,e,t);return this};return Cache}function arrayify(e){return e?Array.isArray(e)?e:[e]:[]}e.exports=namespace();e.exports.namespace=namespace},,,function(e){"use strict";e.exports=class UseFilePlugin{constructor(e,t,r){this.source=e;this.filename=t;this.target=r}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("UseFilePlugin",(r,n,i)=>{const a=e.join(r.path,this.filename);const o=Object.assign({},r,{path:a,relativePath:r.relativePath&&e.join(r.relativePath,this.filename)});e.doResolve(t,o,"using path: "+a,n,i)})}}},,,,,,function(e){"use strict";e.exports=function repeat(e,t){var r=new Array(t);for(var n=0;n=2,has16m:e>=3}}function supportsColor(e){if(o===false){return 0}if(i("color=16m")||i("color=full")||i("color=truecolor")){return 3}if(i("color=256")){return 2}if(e&&!e.isTTY&&o!==true){return 0}const t=o?1:0;if(process.platform==="win32"){const e=n.release().split(".");if(Number(process.versions.node.split(".")[0])>=8&&Number(e[0])>=10&&Number(e[2])>=10586){return Number(e[2])>=14931?3:2}return 1}if("CI"in a){if(["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(e=>e in a)||a.CI_NAME==="codeship"){return 1}return t}if("TEAMCITY_VERSION"in a){return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(a.TEAMCITY_VERSION)?1:0}if(a.COLORTERM==="truecolor"){return 3}if("TERM_PROGRAM"in a){const e=parseInt((a.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(a.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(a.TERM)){return 2}if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(a.TERM)){return 1}if("COLORTERM"in a){return 1}if(a.TERM==="dumb"){return t}return t}function getSupportLevel(e){const t=supportsColor(e);return translateLevel(t)}e.exports={supportsColor:getSupportLevel,stdout:getSupportLevel(process.stdout),stderr:getSupportLevel(process.stderr)}},function(e,t,r){"use strict";var n=r(977);var i=r(586);var a=typeof Reflect!=="undefined"&&Reflect.defineProperty?Reflect.defineProperty:Object.defineProperty;e.exports=function defineProperty(e,t,r){if(!n(e)&&typeof e!=="function"&&!Array.isArray(e)){throw new TypeError("expected an object, function, or array")}if(typeof t!=="string"){throw new TypeError('expected "key" to be a string')}if(i(r)){a(e,t,r);return e}a(e,t,{configurable:true,enumerable:false,writable:true,value:r});return e}},,function(e,t,r){"use strict";e=r.nmd(e);const n=r(215);const i=(e,t)=>(function(){const r=e.apply(n,arguments);return`[${r+t}m`});const a=(e,t)=>(function(){const r=e.apply(n,arguments);return`[${38+t};5;${r}m`});const o=(e,t)=>(function(){const r=e.apply(n,arguments);return`[${38+t};2;${r[0]};${r[1]};${r[2]}m`});function assembleStyles(){const e=new Map;const t={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};t.color.grey=t.color.gray;for(const r of Object.keys(t)){const n=t[r];for(const r of Object.keys(n)){const i=n[r];t[r]={open:`[${i[0]}m`,close:`[${i[1]}m`};n[r]=t[r];e.set(i[0],i[1])}Object.defineProperty(t,r,{value:n,enumerable:false});Object.defineProperty(t,"codes",{value:e,enumerable:false})}const r=e=>e;const s=(e,t,r)=>[e,t,r];t.color.close="";t.bgColor.close="";t.color.ansi={ansi:i(r,0)};t.color.ansi256={ansi256:a(r,0)};t.color.ansi16m={rgb:o(s,0)};t.bgColor.ansi={ansi:i(r,10)};t.bgColor.ansi256={ansi256:a(r,10)};t.bgColor.ansi16m={rgb:o(s,10)};for(let e of Object.keys(n)){if(typeof n[e]!=="object"){continue}const r=n[e];if(e==="ansi16"){e="ansi"}if("ansi16"in r){t.color.ansi[e]=i(r.ansi16,0);t.bgColor.ansi[e]=i(r.ansi16,10)}if("ansi256"in r){t.color.ansi256[e]=a(r.ansi256,0);t.bgColor.ansi256[e]=a(r.ansi256,10)}if("rgb"in r){t.color.ansi16m[e]=o(r.rgb,0);t.bgColor.ansi16m[e]=o(r.rgb,10)}}return t}Object.defineProperty(e,"exports",{enumerable:true,get:assembleStyles})},,,,,,,,function(e,t,r){var n=r(644);var i=r(76);var a={};var o=Object.keys(n);function wrapRaw(e){var t=function(t){if(t===undefined||t===null){return t}if(arguments.length>1){t=Array.prototype.slice.call(arguments)}return e(t)};if("conversion"in e){t.conversion=e.conversion}return t}function wrapRounded(e){var t=function(t){if(t===undefined||t===null){return t}if(arguments.length>1){t=Array.prototype.slice.call(arguments)}var r=e(t);if(typeof r==="object"){for(var n=r.length,i=0;i{if(!this.filterPredicate(r))return i();const a=getCacheId(r,this.withContext);const o=this.cache[a];if(o){return i(null,o)}e.doResolve(t,r,null,n,(e,t)=>{if(e)return i(e);if(t)return i(null,this.cache[a]=t);i()})})}}},function(e,t,r){"use strict";var n=r(808);var i=r(954);e.exports=Object.assign||function(e){if(e===null||typeof e==="undefined"){throw new TypeError("Cannot convert undefined or null to object")}if(!isObject(e)){e={}}for(var t=1;t{if(!e.log)return undefined;if(!t)return e.log;const r=r=>{if(!n){e.log(t);n=true}e.log(" "+r)};return r})(),stack:e.stack,missing:e.missing};return i}},,,,function(e){"use strict";function parseString(e){try{if(e[0]==='"')return JSON.parse(e);if(e[0]==="'"&&e.substr(e.length-1)==="'"){return parseString(e.replace(/\\.|"/g,e=>e==='"'?'\\"':e).replace(/^'|'$/g,'"'))}return JSON.parse('"'+e+'"')}catch(t){return e}}e.exports=parseString},,,,function(e,t,r){"use strict";const n=r(649);const i=r(471);e.exports=class AliasFieldPlugin{constructor(e,t,r){this.source=e;this.field=t;this.target=r}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("AliasFieldPlugin",(r,a,o)=>{if(!r.descriptionFileData)return o();const s=i(e,r);if(!s)return o();const c=n.getField(r.descriptionFileData,this.field);if(typeof c!=="object"){if(a.log)a.log("Field '"+this.field+"' doesn't contain a valid alias configuration");return o()}const u=c[s];const l=c[s.replace(/^\.\//,"")];const f=typeof u!=="undefined"?u:l;if(f===s)return o();if(f===undefined)return o();if(f===false){const e=Object.assign({},r,{path:false});return o(null,e)}const d=Object.assign({},r,{path:r.descriptionFileRoot,request:f});e.doResolve(t,d,"aliased from description file "+r.descriptionFilePath+" with mapping '"+s+"' to '"+f+"'",a,(e,t)=>{if(e)return o(e);if(t===undefined)return o(null,null);o(null,t)})})}}},function(e){"use strict";e.exports=function getPaths(e){const t=e.split(/(.*?[\\\/]+)/);const r=[e];const n=[t[t.length-1]];let i=t[t.length-1];e=e.substr(0,e.length-i.length-1);for(let a=t.length-2;a>2;a-=2){r.push(e);i=t[a];e=e.substr(0,e.length-i.length)||"/";n.push(i.substr(0,i.length-1))}i=t[1];n.push(i);r.push(i);return{paths:r,seqments:n}};e.exports.basename=function basename(e){const t=e.lastIndexOf("/"),r=e.lastIndexOf("\\");const n=t<0?r:r<0?t:t=0){return t}}else{var r=n.toSetString(e);if(i.call(this._set,r)){return this._set[r]}}throw new Error('"'+e+'" is not in the set.')};ArraySet.prototype.at=function ArraySet_at(e){if(e>=0&&er){return false}let i=-1;while(++i{const a=r.request||r.path;if(!a)return i();for(const o of this.options){if(a===o.name||!o.onlyModule&&startsWith(a,o.name+"/")){if(a!==o.alias&&!startsWith(a,o.alias+"/")){const s=o.alias+a.substr(o.name.length);const c=Object.assign({},r,{request:s});return e.doResolve(t,c,"aliased with mapping '"+o.name+"': '"+o.alias+"' to '"+s+"'",n,(e,t)=>{if(e)return i(e);if(t===undefined)return i(null,null);i(null,t)})}}}return i()})}}},function(e,t,r){"use strict";var n=r(991);var i=r(728);var a=r(357);function extend(e,t){if(typeof e!=="function"){throw new TypeError("expected Parent to be a function.")}return function(r,o){if(typeof r!=="function"){throw new TypeError("expected Ctor to be a function.")}a.inherits(r,e);n(r,e);if(typeof o==="object"){var s=Object.create(o);for(var c in s){r.prototype[c]=s[c]}}i(r.prototype,"_parent_",{configurable:true,set:function(){},get:function(){return e.prototype}});if(typeof t==="function"){t(r,e)}r.extend=extend(r,t)}}e.exports=extend},function(e,t,r){var n=r(537);var i=5;var a=1<>1;return t?-r:r}t.encode=function base64VLQ_encode(e){var t="";var r;var a=toVLQSigned(e);do{r=a&o;a>>>=i;if(a>0){r|=s}t+=n.encode(r)}while(a>0);return t};t.decode=function base64VLQ_decode(e,t,r){var a=e.length;var c=0;var u=0;var l,f;do{if(t>=a){throw new Error("Expected more digits in base 64 VLQ value.")}f=n.decode(e.charCodeAt(t++));if(f===-1){throw new Error("Invalid base64 digit: "+e.charAt(t-1))}l=!!(f&s);f&=o;c=c+(f<=0;t--){this.prepend(e[t])}}else if(e[s]||typeof e==="string"){this.children.unshift(e)}else{throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e)}return this};SourceNode.prototype.walk=function SourceNode_walk(e){var t;for(var r=0,n=this.children.length;r0){t=[];for(r=0;r=31||typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}t.formatters.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}};function formatArgs(e){var r=this.useColors;e[0]=(r?"%c":"")+this.namespace+(r?" %c":" ")+e[0]+(r?"%c ":" ")+"+"+t.humanize(this.diff);if(!r)return;var n="color: "+this.color;e.splice(1,0,n,"color: inherit");var i=0;var a=0;e[0].replace(/%[a-zA-Z%]/g,function(e){if("%%"===e)return;i++;if("%c"===e){a=i}});e.splice(a,0,n)}function log(){return"object"===typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function save(e){try{if(null==e){t.storage.removeItem("debug")}else{t.storage.debug=e}}catch(e){}}function load(){var e;try{e=t.storage.debug}catch(e){}if(!e&&typeof process!=="undefined"&&"env"in process){e=process.env.DEBUG}return e}t.enable(load());function localstorage(){try{return window.localStorage}catch(e){}}},,,,function(e,t,r){"use strict";var n=r(977);e.exports=function visit(e,t,r,i){if(!n(e)&&typeof e!=="function"){throw new Error("object-visit expects `thisArg` to be an object.")}if(typeof t!=="string"){throw new Error("object-visit expects `method` name to be a string")}if(typeof e[t]!=="function"){return e}var a=[].slice.call(arguments,3);r=r||{};for(var o in r){var s=[o,r[o]].concat(a);e[t].apply(e,s)}return e}},function(e){var t=Object.prototype.toString;e.exports=function kindOf(e){if(e===void 0)return"undefined";if(e===null)return"null";var r=typeof e;if(r==="boolean")return"boolean";if(r==="string")return"string";if(r==="number")return"number";if(r==="symbol")return"symbol";if(r==="function"){return isGeneratorFn(e)?"generatorfunction":"function"}if(isArray(e))return"array";if(isBuffer(e))return"buffer";if(isArguments(e))return"arguments";if(isDate(e))return"date";if(isError(e))return"error";if(isRegexp(e))return"regexp";switch(ctorName(e)){case"Symbol":return"symbol";case"Promise":return"promise";case"WeakMap":return"weakmap";case"WeakSet":return"weakset";case"Map":return"map";case"Set":return"set";case"Int8Array":return"int8array";case"Uint8Array":return"uint8array";case"Uint8ClampedArray":return"uint8clampedarray";case"Int16Array":return"int16array";case"Uint16Array":return"uint16array";case"Int32Array":return"int32array";case"Uint32Array":return"uint32array";case"Float32Array":return"float32array";case"Float64Array":return"float64array"}if(isGeneratorObj(e)){return"generator"}r=t.call(e);switch(r){case"[object Object]":return"object";case"[object Map Iterator]":return"mapiterator";case"[object Set Iterator]":return"setiterator";case"[object String Iterator]":return"stringiterator";case"[object Array Iterator]":return"arrayiterator"}return r.slice(8,-1).toLowerCase().replace(/\s/g,"")};function ctorName(e){return e.constructor?e.constructor.name:null}function isArray(e){if(Array.isArray)return Array.isArray(e);return e instanceof Array}function isError(e){return e instanceof Error||typeof e.message==="string"&&e.constructor&&typeof e.constructor.stackTraceLimit==="number"}function isDate(e){if(e instanceof Date)return true;return typeof e.toDateString==="function"&&typeof e.getDate==="function"&&typeof e.setDate==="function"}function isRegexp(e){if(e instanceof RegExp)return true;return typeof e.flags==="string"&&typeof e.ignoreCase==="boolean"&&typeof e.multiline==="boolean"&&typeof e.global==="boolean"}function isGeneratorFn(e,t){return ctorName(e)==="GeneratorFunction"}function isGeneratorObj(e){return typeof e.throw==="function"&&typeof e.return==="function"&&typeof e.next==="function"}function isArguments(e){try{if(typeof e.length==="number"&&typeof e.callee==="function"){return true}}catch(e){if(e.message.indexOf("callee")!==-1){return true}}return false}function isBuffer(e){if(e.constructor&&typeof e.constructor.isBuffer==="function"){return e.constructor.isBuffer(e)}return false}},function(e){"use strict";e.exports=class NextPlugin{constructor(e,t){this.source=e;this.target=t}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("NextPlugin",(r,n,i)=>{e.doResolve(t,r,null,n,i)})}}},function(e){"use strict";e.exports=class JoinRequestPlugin{constructor(e,t){this.source=e;this.target=t}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("JoinRequestPlugin",(r,n,i)=>{const a=Object.assign({},r,{path:e.join(r.path,r.request),relativePath:r.relativePath&&e.join(r.relativePath,r.request),request:undefined});e.doResolve(t,a,null,n,i)})}}},,function(e,t,r){"use strict";var n=r(728);e.exports=function Position(e,t){this.start=e;this.end={line:t.line,column:t.column};n(this,"content",t.orig);n(this,"source",t.options.source)}},,,function(e){e.exports=require("module")},function(e,t,r){"use strict";var n=r(977);var i=r(160);var a=r(826);e.exports=function(e,t){return i(n(e)&&t?a(e,t):e)}},function(e){var t=Object.prototype.toString;e.exports=function kindOf(e){var r=typeof e;if(r==="undefined"){return"undefined"}if(e===null){return"null"}if(e===true||e===false||e instanceof Boolean){return"boolean"}if(r==="string"||e instanceof String){return"string"}if(r==="number"||e instanceof Number){return"number"}if(r==="function"||e instanceof Function){if(typeof e.constructor.name!=="undefined"&&e.constructor.name.slice(0,9)==="Generator"){return"generatorfunction"}return"function"}if(typeof Array.isArray!=="undefined"&&Array.isArray(e)){return"array"}if(e instanceof RegExp){return"regexp"}if(e instanceof Date){return"date"}r=t.call(e);if(r==="[object RegExp]"){return"regexp"}if(r==="[object Date]"){return"date"}if(r==="[object Arguments]"){return"arguments"}if(r==="[object Error]"){return"error"}if(r==="[object Promise]"){return"promise"}if(isBuffer(e)){return"buffer"}if(r==="[object Set]"){return"set"}if(r==="[object WeakSet]"){return"weakset"}if(r==="[object Map]"){return"map"}if(r==="[object WeakMap]"){return"weakmap"}if(r==="[object Symbol]"){return"symbol"}if(r==="[object Map Iterator]"){return"mapiterator"}if(r==="[object Set Iterator]"){return"setiterator"}if(r==="[object String Iterator]"){return"stringiterator"}if(r==="[object Array Iterator]"){return"arrayiterator"}if(r==="[object Int8Array]"){return"int8array"}if(r==="[object Uint8Array]"){return"uint8array"}if(r==="[object Uint8ClampedArray]"){return"uint8clampedarray"}if(r==="[object Int16Array]"){return"int16array"}if(r==="[object Uint16Array]"){return"uint16array"}if(r==="[object Int32Array]"){return"int32array"}if(r==="[object Uint32Array]"){return"uint32array"}if(r==="[object Float32Array]"){return"float32array"}if(r==="[object Float64Array]"){return"float64array"}return"object"};function isBuffer(e){return e.constructor&&typeof e.constructor.isBuffer==="function"&&e.constructor.isBuffer(e)}},,function(e,t,r){var n=r(950);var i=Object.prototype.toString;e.exports=function kindOf(e){if(typeof e==="undefined"){return"undefined"}if(e===null){return"null"}if(e===true||e===false||e instanceof Boolean){return"boolean"}if(typeof e==="string"||e instanceof String){return"string"}if(typeof e==="number"||e instanceof Number){return"number"}if(typeof e==="function"||e instanceof Function){return"function"}if(typeof Array.isArray!=="undefined"&&Array.isArray(e)){return"array"}if(e instanceof RegExp){return"regexp"}if(e instanceof Date){return"date"}var t=i.call(e);if(t==="[object RegExp]"){return"regexp"}if(t==="[object Date]"){return"date"}if(t==="[object Arguments]"){return"arguments"}if(t==="[object Error]"){return"error"}if(n(e)){return"buffer"}if(t==="[object Set]"){return"set"}if(t==="[object WeakSet]"){return"weakset"}if(t==="[object Map]"){return"map"}if(t==="[object WeakMap]"){return"weakmap"}if(t==="[object Symbol]"){return"symbol"}if(t==="[object Int8Array]"){return"int8array"}if(t==="[object Uint8Array]"){return"uint8array"}if(t==="[object Uint8ClampedArray]"){return"uint8clampedarray"}if(t==="[object Int16Array]"){return"int16array"}if(t==="[object Uint16Array]"){return"uint16array"}if(t==="[object Int32Array]"){return"int32array"}if(t==="[object Uint32Array]"){return"uint32array"}if(t==="[object Float32Array]"){return"float32array"}if(t==="[object Float64Array]"){return"float64array"}return"object"}},,,,,,,function(e){e.exports=require("buffer")},,,,,,,,,,function(e){void function(t,r){if(typeof define==="function"&&define.amd){define(r)}else if(true){e.exports=r()}else{}}(this,function(){var e=/[#@] sourceMappingURL=([^\s'"]*)/;var t=RegExp("(?:"+"/\\*"+"(?:\\s*\r?\n(?://)?)?"+"(?:"+e.source+")"+"\\s*"+"\\*/"+"|"+"//(?:"+e.source+")"+")"+"\\s*");return{regex:t,_innerRegex:e,getFrom:function(e){var r=e.match(t);return r?r[1]||r[2]||"":null},existsIn:function(e){return t.test(e)},removeFrom:function(e){return e.replace(t,"")},insertBefore:function(e,r){var n=e.match(t);if(n){return e.slice(0,n.index)+r+e.slice(n.index)}else{return e+r}}}})},,,,,,,function(e,t,r){var n=r(541);var i=5;var a=1<>1;return t?-r:r}t.encode=function base64VLQ_encode(e){var t="";var r;var a=toVLQSigned(e);do{r=a&o;a>>>=i;if(a>0){r|=s}t+=n.encode(r)}while(a>0);return t};t.decode=function base64VLQ_decode(e,t,r){var a=e.length;var c=0;var u=0;var l,f;do{if(t>=a){throw new Error("Expected more digits in base 64 VLQ value.")}f=n.decode(e.charCodeAt(t++));if(f===-1){throw new Error("Invalid base64 digit: "+e.charAt(t-1))}l=!!(f&s);f&=o;c=c+(f<0){return parse(e)}else if(r==="number"&&isNaN(e)===false){return t.long?fmtLong(e):fmtShort(e)}throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function parse(e){e=String(e);if(e.length>100){return}var o=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(e);if(!o){return}var s=parseFloat(o[1]);var c=(o[2]||"ms").toLowerCase();switch(c){case"years":case"year":case"yrs":case"yr":case"y":return s*a;case"days":case"day":case"d":return s*i;case"hours":case"hour":case"hrs":case"hr":case"h":return s*n;case"minutes":case"minute":case"mins":case"min":case"m":return s*r;case"seconds":case"second":case"secs":case"sec":case"s":return s*t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return s;default:return undefined}}function fmtShort(e){if(e>=i){return Math.round(e/i)+"d"}if(e>=n){return Math.round(e/n)+"h"}if(e>=r){return Math.round(e/r)+"m"}if(e>=t){return Math.round(e/t)+"s"}return e+"ms"}function fmtLong(e){return plural(e,i,"day")||plural(e,n,"hour")||plural(e,r,"minute")||plural(e,t,"second")||e+" ms"}function plural(e,t,r){if(e=0){var s=this._originalMappings[o];if(e.column===undefined){var c=s.originalLine;while(s&&s.originalLine===c){a.push({line:n.getArg(s,"generatedLine",null),column:n.getArg(s,"generatedColumn",null),lastColumn:n.getArg(s,"lastGeneratedColumn",null)});s=this._originalMappings[++o]}}else{var u=s.originalColumn;while(s&&s.originalLine===t&&s.originalColumn==u){a.push({line:n.getArg(s,"generatedLine",null),column:n.getArg(s,"generatedColumn",null),lastColumn:n.getArg(s,"lastGeneratedColumn",null)});s=this._originalMappings[++o]}}}return a};t.SourceMapConsumer=SourceMapConsumer;function BasicSourceMapConsumer(e,t){var r=e;if(typeof e==="string"){r=n.parseSourceMapInput(e)}var i=n.getArg(r,"version");var o=n.getArg(r,"sources");var s=n.getArg(r,"names",[]);var c=n.getArg(r,"sourceRoot",null);var u=n.getArg(r,"sourcesContent",null);var l=n.getArg(r,"mappings");var f=n.getArg(r,"file",null);if(i!=this._version){throw new Error("Unsupported version: "+i)}if(c){c=n.normalize(c)}o=o.map(String).map(n.normalize).map(function(e){return c&&n.isAbsolute(c)&&n.isAbsolute(e)?n.relative(c,e):e});this._names=a.fromArray(s.map(String),true);this._sources=a.fromArray(o,true);this._absoluteSources=this._sources.toArray().map(function(e){return n.computeSourceURL(c,e,t)});this.sourceRoot=c;this.sourcesContent=u;this._mappings=l;this._sourceMapURL=t;this.file=f}BasicSourceMapConsumer.prototype=Object.create(SourceMapConsumer.prototype);BasicSourceMapConsumer.prototype.consumer=SourceMapConsumer;BasicSourceMapConsumer.prototype._findSourceIndex=function(e){var t=e;if(this.sourceRoot!=null){t=n.relative(this.sourceRoot,t)}if(this._sources.has(t)){return this._sources.indexOf(t)}var r;for(r=0;r1){y.source=u+v[1];u+=v[1];y.originalLine=a+v[2];a=y.originalLine;y.originalLine+=1;y.originalColumn=c+v[3];c=y.originalColumn;if(v.length>4){y.name=l+v[4];l+=v[4]}}m.push(y);if(typeof y.originalLine==="number"){_.push(y)}}}s(m,n.compareByGeneratedPositionsDeflated);this.__generatedMappings=m;s(_,n.compareByOriginalPositions);this.__originalMappings=_};BasicSourceMapConsumer.prototype._findMapping=function SourceMapConsumer_findMapping(e,t,r,n,a,o){if(e[r]<=0){throw new TypeError("Line must be greater than or equal to 1, got "+e[r])}if(e[n]<0){throw new TypeError("Column must be greater than or equal to 0, got "+e[n])}return i.search(e,t,a,o)};BasicSourceMapConsumer.prototype.computeColumnSpans=function SourceMapConsumer_computeColumnSpans(){for(var e=0;e=0){var i=this._generatedMappings[r];if(i.generatedLine===t.generatedLine){var a=n.getArg(i,"source",null);if(a!==null){a=this._sources.at(a);a=n.computeSourceURL(this.sourceRoot,a,this._sourceMapURL)}var o=n.getArg(i,"name",null);if(o!==null){o=this._names.at(o)}return{source:a,line:n.getArg(i,"originalLine",null),column:n.getArg(i,"originalColumn",null),name:o}}}return{source:null,line:null,column:null,name:null}};BasicSourceMapConsumer.prototype.hasContentsOfAllSources=function BasicSourceMapConsumer_hasContentsOfAllSources(){if(!this.sourcesContent){return false}return this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some(function(e){return e==null})};BasicSourceMapConsumer.prototype.sourceContentFor=function SourceMapConsumer_sourceContentFor(e,t){if(!this.sourcesContent){return null}var r=this._findSourceIndex(e);if(r>=0){return this.sourcesContent[r]}var i=e;if(this.sourceRoot!=null){i=n.relative(this.sourceRoot,i)}var a;if(this.sourceRoot!=null&&(a=n.urlParse(this.sourceRoot))){var o=i.replace(/^file:\/\//,"");if(a.scheme=="file"&&this._sources.has(o)){return this.sourcesContent[this._sources.indexOf(o)]}if((!a.path||a.path=="/")&&this._sources.has("/"+i)){return this.sourcesContent[this._sources.indexOf("/"+i)]}}if(t){return null}else{throw new Error('"'+i+'" is not in the SourceMap.')}};BasicSourceMapConsumer.prototype.generatedPositionFor=function SourceMapConsumer_generatedPositionFor(e){var t=n.getArg(e,"source");t=this._findSourceIndex(t);if(t<0){return{line:null,column:null,lastColumn:null}}var r={source:t,originalLine:n.getArg(e,"line"),originalColumn:n.getArg(e,"column")};var i=this._findMapping(r,this._originalMappings,"originalLine","originalColumn",n.compareByOriginalPositions,n.getArg(e,"bias",SourceMapConsumer.GREATEST_LOWER_BOUND));if(i>=0){var a=this._originalMappings[i];if(a.source===r.source){return{line:n.getArg(a,"generatedLine",null),column:n.getArg(a,"generatedColumn",null),lastColumn:n.getArg(a,"lastGeneratedColumn",null)}}}return{line:null,column:null,lastColumn:null}};t.BasicSourceMapConsumer=BasicSourceMapConsumer;function IndexedSourceMapConsumer(e,t){var r=e;if(typeof e==="string"){r=n.parseSourceMapInput(e)}var i=n.getArg(r,"version");var o=n.getArg(r,"sections");if(i!=this._version){throw new Error("Unsupported version: "+i)}this._sources=new a;this._names=new a;var s={line:-1,column:0};this._sections=o.map(function(e){if(e.url){throw new Error("Support for url field in sections not implemented.")}var r=n.getArg(e,"offset");var i=n.getArg(r,"line");var a=n.getArg(r,"column");if(i0&&e.column>=0&&!t&&!r&&!n){return}else if(e&&"line"in e&&"column"in e&&t&&"line"in t&&"column"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&r){return}else{throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:r,original:t,name:n}))}};SourceMapGenerator.prototype._serializeMappings=function SourceMapGenerator_serializeMappings(){var e=0;var t=1;var r=0;var a=0;var o=0;var s=0;var c="";var u;var l;var f;var d;var p=this._mappings.toArray();for(var g=0,_=p.length;g<_;g++){l=p[g];u="";if(l.generatedLine!==t){e=0;while(l.generatedLine!==t){u+=";";t++}}else{if(g>0){if(!i.compareByGeneratedPositionsInflated(l,p[g-1])){continue}u+=","}}u+=n.encode(l.generatedColumn-e);e=l.generatedColumn;if(l.source!=null){d=this._sources.indexOf(l.source);u+=n.encode(d-s);s=d;u+=n.encode(l.originalLine-1-a);a=l.originalLine-1;u+=n.encode(l.originalColumn-r);r=l.originalColumn;if(l.name!=null){f=this._names.indexOf(l.name);u+=n.encode(f-o);o=f}}c+=u}return c};SourceMapGenerator.prototype._generateSourcesContent=function SourceMapGenerator_generateSourcesContent(e,t){return e.map(function(e){if(!this._sourcesContents){return null}if(t!=null){e=i.relative(t,e)}var r=i.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,r)?this._sourcesContents[r]:null},this)};SourceMapGenerator.prototype.toJSON=function SourceMapGenerator_toJSON(){var e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};if(this._file!=null){e.file=this._file}if(this._sourceRoot!=null){e.sourceRoot=this._sourceRoot}if(this._sourcesContents){e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)}return e};SourceMapGenerator.prototype.toString=function SourceMapGenerator_toString(){return JSON.stringify(this.toJSON())};t.SourceMapGenerator=SourceMapGenerator},,,,,,,,,,function(e,t,r){"use strict";var n=r(967);var i=r(728);var a=r(795)("snapdragon:compiler");var o=r(414);function Compiler(e,t){a("initializing",__filename);this.options=o.extend({source:"string"},e);this.state=t||{};this.compilers={};this.output="";this.set("eos",function(e){return this.emit(e.val,e)});this.set("noop",function(e){return this.emit(e.val,e)});this.set("bos",function(e){return this.emit(e.val,e)});n(this)}Compiler.prototype={error:function(e,t){var r=t.position||{start:{column:0}};var n=this.options.source+" column:"+r.start.column+": "+e;var i=new Error(n);i.reason=e;i.column=r.start.column;i.source=this.pattern;if(this.options.silent){this.errors.push(i)}else{throw i}},define:function(e,t){i(this,e,t);return this},emit:function(e,t){this.output+=e;return e},set:function(e,t){this.compilers[e]=t;return this},get:function(e){return this.compilers[e]},prev:function(e){return this.ast.nodes[this.idx-(e||1)]||{type:"bos",val:""}},next:function(e){return this.ast.nodes[this.idx+(e||1)]||{type:"eos",val:""}},visit:function(e,t,r){var n=this.compilers[e.type];this.idx=r;if(typeof n!=="function"){throw this.error('compiler "'+e.type+'" is not registered',e)}return n.call(this,e,t,r)},mapVisit:function(e){if(!Array.isArray(e)){throw new TypeError("expected an array")}var t=e.length;var r=-1;while(++r{if(!e)return null;const t=r[e];if(t){return{type:t}}if(e[0]==="["){if(e[1]==="^"||e[1]==="!"){return{type:"inverted-char-set",value:e.substr(2,e.length-3)}}else{return{type:"char-set",value:e.substr(1,e.length-2)}}}return{type:"string",value:e}}).filter(Boolean).concat({type:"end"})}function createRoot(){const e=[];const t=createSeqment();let r=true;return function(n){switch(n.type){case"or":e.push(r);return"(";case"comma":if(e.length){r=e[e.length-1];return"|"}else{return t({type:"string",value:","},r)}case"closing-or":if(e.length===0)throw new Error("Unmatched '}'");e.pop();return")";case"end":if(e.length)throw new Error("Unmatched '{'");return t(n,r);default:{const e=t(n,r);r=false;return e}}}}function createSeqment(){const e=[];const t=createSimple();return function(r,n){switch(r.type){case"one":case"one-many":case"zero-many":case"zero-one":e.push(r.type);return"(";case"segment-sep":if(e.length){return"|"}else{return t({type:"string",value:"|"},n)}case"closing-segment":{const t=e.pop();switch(t){case"one":return")";case"one-many":return")+";case"zero-many":return")*";case"zero-one":return")?"}throw new Error("Unexcepted segment "+t)}case"end":if(e.length>0){throw new Error("Unmatched segment, missing ')'")}return t(r,n);default:return t(r,n)}}}function createSimple(){return function(e,t){switch(e.type){case"path-sep":return"[\\\\/]+";case"any-path-segments":return"[\\\\/]+(?:(.+)[\\\\/]+)?";case"any-path":return"(.*)";case"any-path-segment":if(t){return"\\.[\\\\/]+(?:.*[\\\\/]+)?([^\\\\/]+)"}else{return"([^\\\\/]*)"}case"any-char":return"[^\\\\/]";case"inverted-char-set":return"[^"+e.value+"]";case"char-set":return"["+e.value+"]";case"string":return e.value.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&");case"end":return"";default:throw new Error("Unsupported token '"+e.type+"'")}}}t.globToRegExp=globToRegExp},,,function(e){e.exports=["🀄","🃏","🅰","🅱","🅾","🅿","🆎","🆑","🆒","🆓","🆔","🆕","🆖","🆗","🆘","🆙","🆚","🇦🇨","🇦🇩","🇦🇪","🇦🇫","🇦🇬","🇦🇮","🇦🇱","🇦🇲","🇦🇴","🇦🇶","🇦🇷","🇦🇸","🇦🇹","🇦🇺","🇦🇼","🇦🇽","🇦🇿","🇦","🇧🇦","🇧🇧","🇧🇩","🇧🇪","🇧🇫","🇧🇬","🇧🇭","🇧🇮","🇧🇯","🇧🇱","🇧🇲","🇧🇳","🇧🇴","🇧🇶","🇧🇷","🇧🇸","🇧🇹","🇧🇻","🇧🇼","🇧🇾","🇧🇿","🇧","🇨🇦","🇨🇨","🇨🇩","🇨🇫","🇨🇬","🇨🇭","🇨🇮","🇨🇰","🇨🇱","🇨🇲","🇨🇳","🇨🇴","🇨🇵","🇨🇷","🇨🇺","🇨🇻","🇨🇼","🇨🇽","🇨🇾","🇨🇿","🇨","🇩🇪","🇩🇬","🇩🇯","🇩🇰","🇩🇲","🇩🇴","🇩🇿","🇩","🇪🇦","🇪🇨","🇪🇪","🇪🇬","🇪🇭","🇪🇷","🇪🇸","🇪🇹","🇪🇺","🇪","🇫🇮","🇫🇯","🇫🇰","🇫🇲","🇫🇴","🇫🇷","🇫","🇬🇦","🇬🇧","🇬🇩","🇬🇪","🇬🇫","🇬🇬","🇬🇭","🇬🇮","🇬🇱","🇬🇲","🇬🇳","🇬🇵","🇬🇶","🇬🇷","🇬🇸","🇬🇹","🇬🇺","🇬🇼","🇬🇾","🇬","🇭🇰","🇭🇲","🇭🇳","🇭🇷","🇭🇹","🇭🇺","🇭","🇮🇨","🇮🇩","🇮🇪","🇮🇱","🇮🇲","🇮🇳","🇮🇴","🇮🇶","🇮🇷","🇮🇸","🇮🇹","🇮","🇯🇪","🇯🇲","🇯🇴","🇯🇵","🇯","🇰🇪","🇰🇬","🇰🇭","🇰🇮","🇰🇲","🇰🇳","🇰🇵","🇰🇷","🇰🇼","🇰🇾","🇰🇿","🇰","🇱🇦","🇱🇧","🇱🇨","🇱🇮","🇱🇰","🇱🇷","🇱🇸","🇱🇹","🇱🇺","🇱🇻","🇱🇾","🇱","🇲🇦","🇲🇨","🇲🇩","🇲🇪","🇲🇫","🇲🇬","🇲🇭","🇲🇰","🇲🇱","🇲🇲","🇲🇳","🇲🇴","🇲🇵","🇲🇶","🇲🇷","🇲🇸","🇲🇹","🇲🇺","🇲🇻","🇲🇼","🇲🇽","🇲🇾","🇲🇿","🇲","🇳🇦","🇳🇨","🇳🇪","🇳🇫","🇳🇬","🇳🇮","🇳🇱","🇳🇴","🇳🇵","🇳🇷","🇳🇺","🇳🇿","🇳","🇴🇲","🇴","🇵🇦","🇵🇪","🇵🇫","🇵🇬","🇵🇭","🇵🇰","🇵🇱","🇵🇲","🇵🇳","🇵🇷","🇵🇸","🇵🇹","🇵🇼","🇵🇾","🇵","🇶🇦","🇶","🇷🇪","🇷🇴","🇷🇸","🇷🇺","🇷🇼","🇷","🇸🇦","🇸🇧","🇸🇨","🇸🇩","🇸🇪","🇸🇬","🇸🇭","🇸🇮","🇸🇯","🇸🇰","🇸🇱","🇸🇲","🇸🇳","🇸🇴","🇸🇷","🇸🇸","🇸🇹","🇸🇻","🇸🇽","🇸🇾","🇸🇿","🇸","🇹🇦","🇹🇨","🇹🇩","🇹🇫","🇹🇬","🇹🇭","🇹🇯","🇹🇰","🇹🇱","🇹🇲","🇹🇳","🇹🇴","🇹🇷","🇹🇹","🇹🇻","🇹🇼","🇹🇿","🇹","🇺🇦","🇺🇬","🇺🇲","🇺🇳","🇺🇸","🇺🇾","🇺🇿","🇺","🇻🇦","🇻🇨","🇻🇪","🇻🇬","🇻🇮","🇻🇳","🇻🇺","🇻","🇼🇫","🇼🇸","🇼","🇽🇰","🇽","🇾🇪","🇾🇹","🇾","🇿🇦","🇿🇲","🇿🇼","🇿","🈁","🈂","🈚","🈯","🈲","🈳","🈴","🈵","🈶","🈷","🈸","🈹","🈺","🉐","🉑","🌀","🌁","🌂","🌃","🌄","🌅","🌆","🌇","🌈","🌉","🌊","🌋","🌌","🌍","🌎","🌏","🌐","🌑","🌒","🌓","🌔","🌕","🌖","🌗","🌘","🌙","🌚","🌛","🌜","🌝","🌞","🌟","🌠","🌡","🌤","🌥","🌦","🌧","🌨","🌩","🌪","🌫","🌬","🌭","🌮","🌯","🌰","🌱","🌲","🌳","🌴","🌵","🌶","🌷","🌸","🌹","🌺","🌻","🌼","🌽","🌾","🌿","🍀","🍁","🍂","🍃","🍄","🍅","🍆","🍇","🍈","🍉","🍊","🍋","🍌","🍍","🍎","🍏","🍐","🍑","🍒","🍓","🍔","🍕","🍖","🍗","🍘","🍙","🍚","🍛","🍜","🍝","🍞","🍟","🍠","🍡","🍢","🍣","🍤","🍥","🍦","🍧","🍨","🍩","🍪","🍫","🍬","🍭","🍮","🍯","🍰","🍱","🍲","🍳","🍴","🍵","🍶","🍷","🍸","🍹","🍺","🍻","🍼","🍽","🍾","🍿","🎀","🎁","🎂","🎃","🎄","🎅🏻","🎅🏼","🎅🏽","🎅🏾","🎅🏿","🎅","🎆","🎇","🎈","🎉","🎊","🎋","🎌","🎍","🎎","🎏","🎐","🎑","🎒","🎓","🎖","🎗","🎙","🎚","🎛","🎞","🎟","🎠","🎡","🎢","🎣","🎤","🎥","🎦","🎧","🎨","🎩","🎪","🎫","🎬","🎭","🎮","🎯","🎰","🎱","🎲","🎳","🎴","🎵","🎶","🎷","🎸","🎹","🎺","🎻","🎼","🎽","🎾","🎿","🏀","🏁","🏂🏻","🏂🏼","🏂🏽","🏂🏾","🏂🏿","🏂","🏃🏻‍♀️","🏃🏻‍♂️","🏃🏻","🏃🏼‍♀️","🏃🏼‍♂️","🏃🏼","🏃🏽‍♀️","🏃🏽‍♂️","🏃🏽","🏃🏾‍♀️","🏃🏾‍♂️","🏃🏾","🏃🏿‍♀️","🏃🏿‍♂️","🏃🏿","🏃‍♀️","🏃‍♂️","🏃","🏄🏻‍♀️","🏄🏻‍♂️","🏄🏻","🏄🏼‍♀️","🏄🏼‍♂️","🏄🏼","🏄🏽‍♀️","🏄🏽‍♂️","🏄🏽","🏄🏾‍♀️","🏄🏾‍♂️","🏄🏾","🏄🏿‍♀️","🏄🏿‍♂️","🏄🏿","🏄‍♀️","🏄‍♂️","🏄","🏅","🏆","🏇🏻","🏇🏼","🏇🏽","🏇🏾","🏇🏿","🏇","🏈","🏉","🏊🏻‍♀️","🏊🏻‍♂️","🏊🏻","🏊🏼‍♀️","🏊🏼‍♂️","🏊🏼","🏊🏽‍♀️","🏊🏽‍♂️","🏊🏽","🏊🏾‍♀️","🏊🏾‍♂️","🏊🏾","🏊🏿‍♀️","🏊🏿‍♂️","🏊🏿","🏊‍♀️","🏊‍♂️","🏊","🏋🏻‍♀️","🏋🏻‍♂️","🏋🏻","🏋🏼‍♀️","🏋🏼‍♂️","🏋🏼","🏋🏽‍♀️","🏋🏽‍♂️","🏋🏽","🏋🏾‍♀️","🏋🏾‍♂️","🏋🏾","🏋🏿‍♀️","🏋🏿‍♂️","🏋🏿","🏋️‍♀️","🏋️‍♂️","🏋","🏌🏻‍♀️","🏌🏻‍♂️","🏌🏻","🏌🏼‍♀️","🏌🏼‍♂️","🏌🏼","🏌🏽‍♀️","🏌🏽‍♂️","🏌🏽","🏌🏾‍♀️","🏌🏾‍♂️","🏌🏾","🏌🏿‍♀️","🏌🏿‍♂️","🏌🏿","🏌️‍♀️","🏌️‍♂️","🏌","🏍","🏎","🏏","🏐","🏑","🏒","🏓","🏔","🏕","🏖","🏗","🏘","🏙","🏚","🏛","🏜","🏝","🏞","🏟","🏠","🏡","🏢","🏣","🏤","🏥","🏦","🏧","🏨","🏩","🏪","🏫","🏬","🏭","🏮","🏯","🏰","🏳️‍🌈","🏳","🏴‍☠️","🏴","🏵","🏷","🏸","🏹","🏺","🏻","🏼","🏽","🏾","🏿","🐀","🐁","🐂","🐃","🐄","🐅","🐆","🐇","🐈","🐉","🐊","🐋","🐌","🐍","🐎","🐏","🐐","🐑","🐒","🐓","🐔","🐕","🐖","🐗","🐘","🐙","🐚","🐛","🐜","🐝","🐞","🐟","🐠","🐡","🐢","🐣","🐤","🐥","🐦","🐧","🐨","🐩","🐪","🐫","🐬","🐭","🐮","🐯","🐰","🐱","🐲","🐳","🐴","🐵","🐶","🐷","🐸","🐹","🐺","🐻","🐼","🐽","🐾","🐿","👀","👁‍🗨","👁","👂🏻","👂🏼","👂🏽","👂🏾","👂🏿","👂","👃🏻","👃🏼","👃🏽","👃🏾","👃🏿","👃","👄","👅","👆🏻","👆🏼","👆🏽","👆🏾","👆🏿","👆","👇🏻","👇🏼","👇🏽","👇🏾","👇🏿","👇","👈🏻","👈🏼","👈🏽","👈🏾","👈🏿","👈","👉🏻","👉🏼","👉🏽","👉🏾","👉🏿","👉","👊🏻","👊🏼","👊🏽","👊🏾","👊🏿","👊","👋🏻","👋🏼","👋🏽","👋🏾","👋🏿","👋","👌🏻","👌🏼","👌🏽","👌🏾","👌🏿","👌","👍🏻","👍🏼","👍🏽","👍🏾","👍🏿","👍","👎🏻","👎🏼","👎🏽","👎🏾","👎🏿","👎","👏🏻","👏🏼","👏🏽","👏🏾","👏🏿","👏","👐🏻","👐🏼","👐🏽","👐🏾","👐🏿","👐","👑","👒","👓","👔","👕","👖","👗","👘","👙","👚","👛","👜","👝","👞","👟","👠","👡","👢","👣","👤","👥","👦🏻","👦🏼","👦🏽","👦🏾","👦🏿","👦","👧🏻","👧🏼","👧🏽","👧🏾","👧🏿","👧","👨🏻‍🌾","👨🏻‍🍳","👨🏻‍🎓","👨🏻‍🎤","👨🏻‍🎨","👨🏻‍🏫","👨🏻‍🏭","👨🏻‍💻","👨🏻‍💼","👨🏻‍🔧","👨🏻‍🔬","👨🏻‍🚀","👨🏻‍🚒","👨🏻‍⚕️","👨🏻‍⚖️","👨🏻‍✈️","👨🏻","👨🏼‍🌾","👨🏼‍🍳","👨🏼‍🎓","👨🏼‍🎤","👨🏼‍🎨","👨🏼‍🏫","👨🏼‍🏭","👨🏼‍💻","👨🏼‍💼","👨🏼‍🔧","👨🏼‍🔬","👨🏼‍🚀","👨🏼‍🚒","👨🏼‍⚕️","👨🏼‍⚖️","👨🏼‍✈️","👨🏼","👨🏽‍🌾","👨🏽‍🍳","👨🏽‍🎓","👨🏽‍🎤","👨🏽‍🎨","👨🏽‍🏫","👨🏽‍🏭","👨🏽‍💻","👨🏽‍💼","👨🏽‍🔧","👨🏽‍🔬","👨🏽‍🚀","👨🏽‍🚒","👨🏽‍⚕️","👨🏽‍⚖️","👨🏽‍✈️","👨🏽","👨🏾‍🌾","👨🏾‍🍳","👨🏾‍🎓","👨🏾‍🎤","👨🏾‍🎨","👨🏾‍🏫","👨🏾‍🏭","👨🏾‍💻","👨🏾‍💼","👨🏾‍🔧","👨🏾‍🔬","👨🏾‍🚀","👨🏾‍🚒","👨🏾‍⚕️","👨🏾‍⚖️","👨🏾‍✈️","👨🏾","👨🏿‍🌾","👨🏿‍🍳","👨🏿‍🎓","👨🏿‍🎤","👨🏿‍🎨","👨🏿‍🏫","👨🏿‍🏭","👨🏿‍💻","👨🏿‍💼","👨🏿‍🔧","👨🏿‍🔬","👨🏿‍🚀","👨🏿‍🚒","👨🏿‍⚕️","👨🏿‍⚖️","👨🏿‍✈️","👨🏿","👨‍🌾","👨‍🍳","👨‍🎓","👨‍🎤","👨‍🎨","👨‍🏫","👨‍🏭","👨‍👦‍👦","👨‍👦","👨‍👧‍👦","👨‍👧‍👧","👨‍👧","👨‍👨‍👦‍👦","👨‍👨‍👦","👨‍👨‍👧‍👦","👨‍👨‍👧‍👧","👨‍👨‍👧","👨‍👩‍👦‍👦","👨‍👩‍👦","👨‍👩‍👧‍👦","👨‍👩‍👧‍👧","👨‍👩‍👧","👨‍💻","👨‍💼","👨‍🔧","👨‍🔬","👨‍🚀","👨‍🚒","👨‍⚕️","👨‍⚖️","👨‍✈️","👨‍❤️‍👨","👨‍❤️‍💋‍👨","👨","👩🏻‍🌾","👩🏻‍🍳","👩🏻‍🎓","👩🏻‍🎤","👩🏻‍🎨","👩🏻‍🏫","👩🏻‍🏭","👩🏻‍💻","👩🏻‍💼","👩🏻‍🔧","👩🏻‍🔬","👩🏻‍🚀","👩🏻‍🚒","👩🏻‍⚕️","👩🏻‍⚖️","👩🏻‍✈️","👩🏻","👩🏼‍🌾","👩🏼‍🍳","👩🏼‍🎓","👩🏼‍🎤","👩🏼‍🎨","👩🏼‍🏫","👩🏼‍🏭","👩🏼‍💻","👩🏼‍💼","👩🏼‍🔧","👩🏼‍🔬","👩🏼‍🚀","👩🏼‍🚒","👩🏼‍⚕️","👩🏼‍⚖️","👩🏼‍✈️","👩🏼","👩🏽‍🌾","👩🏽‍🍳","👩🏽‍🎓","👩🏽‍🎤","👩🏽‍🎨","👩🏽‍🏫","👩🏽‍🏭","👩🏽‍💻","👩🏽‍💼","👩🏽‍🔧","👩🏽‍🔬","👩🏽‍🚀","👩🏽‍🚒","👩🏽‍⚕️","👩🏽‍⚖️","👩🏽‍✈️","👩🏽","👩🏾‍🌾","👩🏾‍🍳","👩🏾‍🎓","👩🏾‍🎤","👩🏾‍🎨","👩🏾‍🏫","👩🏾‍🏭","👩🏾‍💻","👩🏾‍💼","👩🏾‍🔧","👩🏾‍🔬","👩🏾‍🚀","👩🏾‍🚒","👩🏾‍⚕️","👩🏾‍⚖️","👩🏾‍✈️","👩🏾","👩🏿‍🌾","👩🏿‍🍳","👩🏿‍🎓","👩🏿‍🎤","👩🏿‍🎨","👩🏿‍🏫","👩🏿‍🏭","👩🏿‍💻","👩🏿‍💼","👩🏿‍🔧","👩🏿‍🔬","👩🏿‍🚀","👩🏿‍🚒","👩🏿‍⚕️","👩🏿‍⚖️","👩🏿‍✈️","👩🏿","👩‍🌾","👩‍🍳","👩‍🎓","👩‍🎤","👩‍🎨","👩‍🏫","👩‍🏭","👩‍👦‍👦","👩‍👦","👩‍👧‍👦","👩‍👧‍👧","👩‍👧","👩‍👩‍👦‍👦","👩‍👩‍👦","👩‍👩‍👧‍👦","👩‍👩‍👧‍👧","👩‍👩‍👧","👩‍💻","👩‍💼","👩‍🔧","👩‍🔬","👩‍🚀","👩‍🚒","👩‍⚕️","👩‍⚖️","👩‍✈️","👩‍❤️‍👨","👩‍❤️‍👩","👩‍❤️‍💋‍👨","👩‍❤️‍💋‍👩","👩","👪🏻","👪🏼","👪🏽","👪🏾","👪🏿","👪","👫🏻","👫🏼","👫🏽","👫🏾","👫🏿","👫","👬🏻","👬🏼","👬🏽","👬🏾","👬🏿","👬","👭🏻","👭🏼","👭🏽","👭🏾","👭🏿","👭","👮🏻‍♀️","👮🏻‍♂️","👮🏻","👮🏼‍♀️","👮🏼‍♂️","👮🏼","👮🏽‍♀️","👮🏽‍♂️","👮🏽","👮🏾‍♀️","👮🏾‍♂️","👮🏾","👮🏿‍♀️","👮🏿‍♂️","👮🏿","👮‍♀️","👮‍♂️","👮","👯🏻‍♀️","👯🏻‍♂️","👯🏻","👯🏼‍♀️","👯🏼‍♂️","👯🏼","👯🏽‍♀️","👯🏽‍♂️","👯🏽","👯🏾‍♀️","👯🏾‍♂️","👯🏾","👯🏿‍♀️","👯🏿‍♂️","👯🏿","👯‍♀️","👯‍♂️","👯","👰🏻","👰🏼","👰🏽","👰🏾","👰🏿","👰","👱🏻‍♀️","👱🏻‍♂️","👱🏻","👱🏼‍♀️","👱🏼‍♂️","👱🏼","👱🏽‍♀️","👱🏽‍♂️","👱🏽","👱🏾‍♀️","👱🏾‍♂️","👱🏾","👱🏿‍♀️","👱🏿‍♂️","👱🏿","👱‍♀️","👱‍♂️","👱","👲🏻","👲🏼","👲🏽","👲🏾","👲🏿","👲","👳🏻‍♀️","👳🏻‍♂️","👳🏻","👳🏼‍♀️","👳🏼‍♂️","👳🏼","👳🏽‍♀️","👳🏽‍♂️","👳🏽","👳🏾‍♀️","👳🏾‍♂️","👳🏾","👳🏿‍♀️","👳🏿‍♂️","👳🏿","👳‍♀️","👳‍♂️","👳","👴🏻","👴🏼","👴🏽","👴🏾","👴🏿","👴","👵🏻","👵🏼","👵🏽","👵🏾","👵🏿","👵","👶🏻","👶🏼","👶🏽","👶🏾","👶🏿","👶","👷🏻‍♀️","👷🏻‍♂️","👷🏻","👷🏼‍♀️","👷🏼‍♂️","👷🏼","👷🏽‍♀️","👷🏽‍♂️","👷🏽","👷🏾‍♀️","👷🏾‍♂️","👷🏾","👷🏿‍♀️","👷🏿‍♂️","👷🏿","👷‍♀️","👷‍♂️","👷","👸🏻","👸🏼","👸🏽","👸🏾","👸🏿","👸","👹","👺","👻","👼🏻","👼🏼","👼🏽","👼🏾","👼🏿","👼","👽","👾","👿","💀","💁🏻‍♀️","💁🏻‍♂️","💁🏻","💁🏼‍♀️","💁🏼‍♂️","💁🏼","💁🏽‍♀️","💁🏽‍♂️","💁🏽","💁🏾‍♀️","💁🏾‍♂️","💁🏾","💁🏿‍♀️","💁🏿‍♂️","💁🏿","💁‍♀️","💁‍♂️","💁","💂🏻‍♀️","💂🏻‍♂️","💂🏻","💂🏼‍♀️","💂🏼‍♂️","💂🏼","💂🏽‍♀️","💂🏽‍♂️","💂🏽","💂🏾‍♀️","💂🏾‍♂️","💂🏾","💂🏿‍♀️","💂🏿‍♂️","💂🏿","💂‍♀️","💂‍♂️","💂","💃🏻","💃🏼","💃🏽","💃🏾","💃🏿","💃","💄","💅🏻","💅🏼","💅🏽","💅🏾","💅🏿","💅","💆🏻‍♀️","💆🏻‍♂️","💆🏻","💆🏼‍♀️","💆🏼‍♂️","💆🏼","💆🏽‍♀️","💆🏽‍♂️","💆🏽","💆🏾‍♀️","💆🏾‍♂️","💆🏾","💆🏿‍♀️","💆🏿‍♂️","💆🏿","💆‍♀️","💆‍♂️","💆","💇🏻‍♀️","💇🏻‍♂️","💇🏻","💇🏼‍♀️","💇🏼‍♂️","💇🏼","💇🏽‍♀️","💇🏽‍♂️","💇🏽","💇🏾‍♀️","💇🏾‍♂️","💇🏾","💇🏿‍♀️","💇🏿‍♂️","💇🏿","💇‍♀️","💇‍♂️","💇","💈","💉","💊","💋","💌","💍","💎","💏","💐","💑","💒","💓","💔","💕","💖","💗","💘","💙","💚","💛","💜","💝","💞","💟","💠","💡","💢","💣","💤","💥","💦","💧","💨","💩","💪🏻","💪🏼","💪🏽","💪🏾","💪🏿","💪","💫","💬","💭","💮","💯","💰","💱","💲","💳","💴","💵","💶","💷","💸","💹","💺","💻","💼","💽","💾","💿","📀","📁","📂","📃","📄","📅","📆","📇","📈","📉","📊","📋","📌","📍","📎","📏","📐","📑","📒","📓","📔","📕","📖","📗","📘","📙","📚","📛","📜","📝","📞","📟","📠","📡","📢","📣","📤","📥","📦","📧","📨","📩","📪","📫","📬","📭","📮","📯","📰","📱","📲","📳","📴","📵","📶","📷","📸","📹","📺","📻","📼","📽","📿","🔀","🔁","🔂","🔃","🔄","🔅","🔆","🔇","🔈","🔉","🔊","🔋","🔌","🔍","🔎","🔏","🔐","🔑","🔒","🔓","🔔","🔕","🔖","🔗","🔘","🔙","🔚","🔛","🔜","🔝","🔞","🔟","🔠","🔡","🔢","🔣","🔤","🔥","🔦","🔧","🔨","🔩","🔪","🔫","🔬","🔭","🔮","🔯","🔰","🔱","🔲","🔳","🔴","🔵","🔶","🔷","🔸","🔹","🔺","🔻","🔼","🔽","🕉","🕊","🕋","🕌","🕍","🕎","🕐","🕑","🕒","🕓","🕔","🕕","🕖","🕗","🕘","🕙","🕚","🕛","🕜","🕝","🕞","🕟","🕠","🕡","🕢","🕣","🕤","🕥","🕦","🕧","🕯","🕰","🕳","🕴🏻","🕴🏼","🕴🏽","🕴🏾","🕴🏿","🕴","🕵🏻‍♀️","🕵🏻‍♂️","🕵🏻","🕵🏼‍♀️","🕵🏼‍♂️","🕵🏼","🕵🏽‍♀️","🕵🏽‍♂️","🕵🏽","🕵🏾‍♀️","🕵🏾‍♂️","🕵🏾","🕵🏿‍♀️","🕵🏿‍♂️","🕵🏿","🕵️‍♀️","🕵️‍♂️","🕵","🕶","🕷","🕸","🕹","🕺🏻","🕺🏼","🕺🏽","🕺🏾","🕺🏿","🕺","🖇","🖊","🖋","🖌","🖍","🖐🏻","🖐🏼","🖐🏽","🖐🏾","🖐🏿","🖐","🖕🏻","🖕🏼","🖕🏽","🖕🏾","🖕🏿","🖕","🖖🏻","🖖🏼","🖖🏽","🖖🏾","🖖🏿","🖖","🖤","🖥","🖨","🖱","🖲","🖼","🗂","🗃","🗄","🗑","🗒","🗓","🗜","🗝","🗞","🗡","🗣","🗨","🗯","🗳","🗺","🗻","🗼","🗽","🗾","🗿","😀","😁","😂","😃","😄","😅","😆","😇","😈","😉","😊","😋","😌","😍","😎","😏","😐","😑","😒","😓","😔","😕","😖","😗","😘","😙","😚","😛","😜","😝","😞","😟","😠","😡","😢","😣","😤","😥","😦","😧","😨","😩","😪","😫","😬","😭","😮","😯","😰","😱","😲","😳","😴","😵","😶","😷","😸","😹","😺","😻","😼","😽","😾","😿","🙀","🙁","🙂","🙃","🙄","🙅🏻‍♀️","🙅🏻‍♂️","🙅🏻","🙅🏼‍♀️","🙅🏼‍♂️","🙅🏼","🙅🏽‍♀️","🙅🏽‍♂️","🙅🏽","🙅🏾‍♀️","🙅🏾‍♂️","🙅🏾","🙅🏿‍♀️","🙅🏿‍♂️","🙅🏿","🙅‍♀️","🙅‍♂️","🙅","🙆🏻‍♀️","🙆🏻‍♂️","🙆🏻","🙆🏼‍♀️","🙆🏼‍♂️","🙆🏼","🙆🏽‍♀️","🙆🏽‍♂️","🙆🏽","🙆🏾‍♀️","🙆🏾‍♂️","🙆🏾","🙆🏿‍♀️","🙆🏿‍♂️","🙆🏿","🙆‍♀️","🙆‍♂️","🙆","🙇🏻‍♀️","🙇🏻‍♂️","🙇🏻","🙇🏼‍♀️","🙇🏼‍♂️","🙇🏼","🙇🏽‍♀️","🙇🏽‍♂️","🙇🏽","🙇🏾‍♀️","🙇🏾‍♂️","🙇🏾","🙇🏿‍♀️","🙇🏿‍♂️","🙇🏿","🙇‍♀️","🙇‍♂️","🙇","🙈","🙉","🙊","🙋🏻‍♀️","🙋🏻‍♂️","🙋🏻","🙋🏼‍♀️","🙋🏼‍♂️","🙋🏼","🙋🏽‍♀️","🙋🏽‍♂️","🙋🏽","🙋🏾‍♀️","🙋🏾‍♂️","🙋🏾","🙋🏿‍♀️","🙋🏿‍♂️","🙋🏿","🙋‍♀️","🙋‍♂️","🙋","🙌🏻","🙌🏼","🙌🏽","🙌🏾","🙌🏿","🙌","🙍🏻‍♀️","🙍🏻‍♂️","🙍🏻","🙍🏼‍♀️","🙍🏼‍♂️","🙍🏼","🙍🏽‍♀️","🙍🏽‍♂️","🙍🏽","🙍🏾‍♀️","🙍🏾‍♂️","🙍🏾","🙍🏿‍♀️","🙍🏿‍♂️","🙍🏿","🙍‍♀️","🙍‍♂️","🙍","🙎🏻‍♀️","🙎🏻‍♂️","🙎🏻","🙎🏼‍♀️","🙎🏼‍♂️","🙎🏼","🙎🏽‍♀️","🙎🏽‍♂️","🙎🏽","🙎🏾‍♀️","🙎🏾‍♂️","🙎🏾","🙎🏿‍♀️","🙎🏿‍♂️","🙎🏿","🙎‍♀️","🙎‍♂️","🙎","🙏🏻","🙏🏼","🙏🏽","🙏🏾","🙏🏿","🙏","🚀","🚁","🚂","🚃","🚄","🚅","🚆","🚇","🚈","🚉","🚊","🚋","🚌","🚍","🚎","🚏","🚐","🚑","🚒","🚓","🚔","🚕","🚖","🚗","🚘","🚙","🚚","🚛","🚜","🚝","🚞","🚟","🚠","🚡","🚢","🚣🏻‍♀️","🚣🏻‍♂️","🚣🏻","🚣🏼‍♀️","🚣🏼‍♂️","🚣🏼","🚣🏽‍♀️","🚣🏽‍♂️","🚣🏽","🚣🏾‍♀️","🚣🏾‍♂️","🚣🏾","🚣🏿‍♀️","🚣🏿‍♂️","🚣🏿","🚣‍♀️","🚣‍♂️","🚣","🚤","🚥","🚦","🚧","🚨","🚩","🚪","🚫","🚬","🚭","🚮","🚯","🚰","🚱","🚲","🚳","🚴🏻‍♀️","🚴🏻‍♂️","🚴🏻","🚴🏼‍♀️","🚴🏼‍♂️","🚴🏼","🚴🏽‍♀️","🚴🏽‍♂️","🚴🏽","🚴🏾‍♀️","🚴🏾‍♂️","🚴🏾","🚴🏿‍♀️","🚴🏿‍♂️","🚴🏿","🚴‍♀️","🚴‍♂️","🚴","🚵🏻‍♀️","🚵🏻‍♂️","🚵🏻","🚵🏼‍♀️","🚵🏼‍♂️","🚵🏼","🚵🏽‍♀️","🚵🏽‍♂️","🚵🏽","🚵🏾‍♀️","🚵🏾‍♂️","🚵🏾","🚵🏿‍♀️","🚵🏿‍♂️","🚵🏿","🚵‍♀️","🚵‍♂️","🚵","🚶🏻‍♀️","🚶🏻‍♂️","🚶🏻","🚶🏼‍♀️","🚶🏼‍♂️","🚶🏼","🚶🏽‍♀️","🚶🏽‍♂️","🚶🏽","🚶🏾‍♀️","🚶🏾‍♂️","🚶🏾","🚶🏿‍♀️","🚶🏿‍♂️","🚶🏿","🚶‍♀️","🚶‍♂️","🚶","🚷","🚸","🚹","🚺","🚻","🚼","🚽","🚾","🚿","🛀🏻","🛀🏼","🛀🏽","🛀🏾","🛀🏿","🛀","🛁","🛂","🛃","🛄","🛅","🛋","🛌🏻","🛌🏼","🛌🏽","🛌🏾","🛌🏿","🛌","🛍","🛎","🛏","🛐","🛑","🛒","🛠","🛡","🛢","🛣","🛤","🛥","🛩","🛫","🛬","🛰","🛳","🛴","🛵","🛶","🤐","🤑","🤒","🤓","🤔","🤕","🤖","🤗","🤘🏻","🤘🏼","🤘🏽","🤘🏾","🤘🏿","🤘","🤙🏻","🤙🏼","🤙🏽","🤙🏾","🤙🏿","🤙","🤚🏻","🤚🏼","🤚🏽","🤚🏾","🤚🏿","🤚","🤛🏻","🤛🏼","🤛🏽","🤛🏾","🤛🏿","🤛","🤜🏻","🤜🏼","🤜🏽","🤜🏾","🤜🏿","🤜","🤝🏻","🤝🏼","🤝🏽","🤝🏾","🤝🏿","🤝","🤞🏻","🤞🏼","🤞🏽","🤞🏾","🤞🏿","🤞","🤠","🤡","🤢","🤣","🤤","🤥","🤦🏻‍♀️","🤦🏻‍♂️","🤦🏻","🤦🏼‍♀️","🤦🏼‍♂️","🤦🏼","🤦🏽‍♀️","🤦🏽‍♂️","🤦🏽","🤦🏾‍♀️","🤦🏾‍♂️","🤦🏾","🤦🏿‍♀️","🤦🏿‍♂️","🤦🏿","🤦‍♀️","🤦‍♂️","🤦","🤧","🤰🏻","🤰🏼","🤰🏽","🤰🏾","🤰🏿","🤰","🤳🏻","🤳🏼","🤳🏽","🤳🏾","🤳🏿","🤳","🤴🏻","🤴🏼","🤴🏽","🤴🏾","🤴🏿","🤴","🤵🏻","🤵🏼","🤵🏽","🤵🏾","🤵🏿","🤵","🤶🏻","🤶🏼","🤶🏽","🤶🏾","🤶🏿","🤶","🤷🏻‍♀️","🤷🏻‍♂️","🤷🏻","🤷🏼‍♀️","🤷🏼‍♂️","🤷🏼","🤷🏽‍♀️","🤷🏽‍♂️","🤷🏽","🤷🏾‍♀️","🤷🏾‍♂️","🤷🏾","🤷🏿‍♀️","🤷🏿‍♂️","🤷🏿","🤷‍♀️","🤷‍♂️","🤷","🤸🏻‍♀️","🤸🏻‍♂️","🤸🏻","🤸🏼‍♀️","🤸🏼‍♂️","🤸🏼","🤸🏽‍♀️","🤸🏽‍♂️","🤸🏽","🤸🏾‍♀️","🤸🏾‍♂️","🤸🏾","🤸🏿‍♀️","🤸🏿‍♂️","🤸🏿","🤸‍♀️","🤸‍♂️","🤸","🤹🏻‍♀️","🤹🏻‍♂️","🤹🏻","🤹🏼‍♀️","🤹🏼‍♂️","🤹🏼","🤹🏽‍♀️","🤹🏽‍♂️","🤹🏽","🤹🏾‍♀️","🤹🏾‍♂️","🤹🏾","🤹🏿‍♀️","🤹🏿‍♂️","🤹🏿","🤹‍♀️","🤹‍♂️","🤹","🤺","🤼🏻‍♀️","🤼🏻‍♂️","🤼🏻","🤼🏼‍♀️","🤼🏼‍♂️","🤼🏼","🤼🏽‍♀️","🤼🏽‍♂️","🤼🏽","🤼🏾‍♀️","🤼🏾‍♂️","🤼🏾","🤼🏿‍♀️","🤼🏿‍♂️","🤼🏿","🤼‍♀️","🤼‍♂️","🤼","🤽🏻‍♀️","🤽🏻‍♂️","🤽🏻","🤽🏼‍♀️","🤽🏼‍♂️","🤽🏼","🤽🏽‍♀️","🤽🏽‍♂️","🤽🏽","🤽🏾‍♀️","🤽🏾‍♂️","🤽🏾","🤽🏿‍♀️","🤽🏿‍♂️","🤽🏿","🤽‍♀️","🤽‍♂️","🤽","🤾🏻‍♀️","🤾🏻‍♂️","🤾🏻","🤾🏼‍♀️","🤾🏼‍♂️","🤾🏼","🤾🏽‍♀️","🤾🏽‍♂️","🤾🏽","🤾🏾‍♀️","🤾🏾‍♂️","🤾🏾","🤾🏿‍♀️","🤾🏿‍♂️","🤾🏿","🤾‍♀️","🤾‍♂️","🤾","🥀","🥁","🥂","🥃","🥄","🥅","🥇","🥈","🥉","🥊","🥋","🥐","🥑","🥒","🥓","🥔","🥕","🥖","🥗","🥘","🥙","🥚","🥛","🥜","🥝","🥞","🦀","🦁","🦂","🦃","🦄","🦅","🦆","🦇","🦈","🦉","🦊","🦋","🦌","🦍","🦎","🦏","🦐","🦑","🧀","‼","⁉","™","ℹ","↔","↕","↖","↗","↘","↙","↩","↪","#⃣","⌚","⌛","⌨","⏏","⏩","⏪","⏫","⏬","⏭","⏮","⏯","⏰","⏱","⏲","⏳","⏸","⏹","⏺","Ⓜ","▪","▫","▶","◀","◻","◼","◽","◾","☀","☁","☂","☃","☄","☎","☑","☔","☕","☘","☝🏻","☝🏼","☝🏽","☝🏾","☝🏿","☝","☠","☢","☣","☦","☪","☮","☯","☸","☹","☺","♀","♂","♈","♉","♊","♋","♌","♍","♎","♏","♐","♑","♒","♓","♠","♣","♥","♦","♨","♻","♿","⚒","⚓","⚔","⚕","⚖","⚗","⚙","⚛","⚜","⚠","⚡","⚪","⚫","⚰","⚱","⚽","⚾","⛄","⛅","⛈","⛎","⛏","⛑","⛓","⛔","⛩","⛪","⛰","⛱","⛲","⛳","⛴","⛵","⛷🏻","⛷🏼","⛷🏽","⛷🏾","⛷🏿","⛷","⛸","⛹🏻‍♀️","⛹🏻‍♂️","⛹🏻","⛹🏼‍♀️","⛹🏼‍♂️","⛹🏼","⛹🏽‍♀️","⛹🏽‍♂️","⛹🏽","⛹🏾‍♀️","⛹🏾‍♂️","⛹🏾","⛹🏿‍♀️","⛹🏿‍♂️","⛹🏿","⛹️‍♀️","⛹️‍♂️","⛹","⛺","⛽","✂","✅","✈","✉","✊🏻","✊🏼","✊🏽","✊🏾","✊🏿","✊","✋🏻","✋🏼","✋🏽","✋🏾","✋🏿","✋","✌🏻","✌🏼","✌🏽","✌🏾","✌🏿","✌","✍🏻","✍🏼","✍🏽","✍🏾","✍🏿","✍","✏","✒","✔","✖","✝","✡","✨","✳","✴","❄","❇","❌","❎","❓","❔","❕","❗","❣","❤","➕","➖","➗","➡","➰","➿","⤴","⤵","*⃣","⬅","⬆","⬇","⬛","⬜","⭐","⭕","0⃣","〰","〽","1⃣","2⃣","㊗","㊙","3⃣","4⃣","5⃣","6⃣","7⃣","8⃣","9⃣","©","®",""]},function(e){e.exports=require("util")},,,,,function(e,t,r){"use strict";const n=r(236);const i=r(556);e.exports=class SymlinkPlugin{constructor(e,t){this.source=e;this.target=t}apply(e){const t=e.ensureHook(this.target);const r=e.fileSystem;e.getHook(this.source).tapAsync("SymlinkPlugin",(a,o,s)=>{const c=n(a.path);const u=c.seqments;const l=c.paths;let f=false;i.withIndex(l,(e,t,n)=>{r.readlink(e,(e,r)=>{if(!e&&r){u[t]=r;f=true;if(/^(\/|[a-zA-Z]:($|\\))/.test(r))return n(null,t)}n()})},(r,n)=>{if(!f)return s();const i=typeof n==="number"?u.slice(0,n+1):u.slice();const c=i.reverse().reduce((t,r)=>{return e.join(t,r)});const l=Object.assign({},a,{path:c});e.doResolve(t,l,"resolved symlink to "+c,o,s)})})}}},,,function(e,t,r){"use strict";const n=r(624);class NodeJsInputFileSystem{readdir(e,t){n.readdir(e,(e,r)=>{t(e,r&&r.map(e=>{return e.normalize?e.normalize("NFC"):e}))})}readdirSync(e){const t=n.readdirSync(e);return t&&t.map(e=>{return e.normalize?e.normalize("NFC"):e})}}const i=["stat","statSync","readFile","readFileSync","readlink","readlinkSync"];for(const e of i){Object.defineProperty(NodeJsInputFileSystem.prototype,e,{configurable:true,writable:true,value:n[e].bind(n)})}e.exports=NodeJsInputFileSystem},,,,function(e){e.exports=function normalize(e){var t=e.split(/(\\+|\/+)/);if(t.length===1)return e;var r=[];var n=0;for(var i=0,a=false;i`throw ${e};\n`,onResult:e=>`return ${e};\n`,onDone:()=>"",rethrowIfPossible:true}));break;case"async":t=new Function(this.args({after:"_callback"}),'"use strict";\n'+this.header()+this.content({onError:e=>`_callback(${e});\n`,onResult:e=>`_callback(null, ${e});\n`,onDone:()=>"_callback();\n"}));break;case"promise":let e="";e+='"use strict";\n';e+="return new Promise((_resolve, _reject) => {\n";e+="var _sync = true;\n";e+=this.header();e+=this.content({onError:e=>{let t="";t+="if(_sync)\n";t+=`_resolve(Promise.resolve().then(() => { throw ${e}; }));\n`;t+="else\n";t+=`_reject(${e});\n`;return t},onResult:e=>`_resolve(${e});\n`,onDone:()=>"_resolve();\n"});e+="_sync = false;\n";e+="});\n";t=new Function(this.args(),e);break}this.deinit();return t}setup(e,t){e._x=t.taps.map(e=>e.fn)}init(e){this.options=e;this._args=e.args.slice()}deinit(){this.options=undefined;this._args=undefined}header(){let e="";if(this.needContext()){e+="var _context = {};\n"}else{e+="var _context;\n"}e+="var _x = this._x;\n";if(this.options.interceptors.length>0){e+="var _taps = this.taps;\n";e+="var _interceptors = this.interceptors;\n"}for(let t=0;t {\n`;else o+=`_err${e} => {\n`;o+=`if(_err${e}) {\n`;o+=t(`_err${e}`);o+="} else {\n";if(r){o+=r(`_result${e}`)}if(n){o+=n()}o+="}\n";o+="}";a+=`_fn${e}(${this.args({before:s.context?"_context":undefined,after:o})});\n`;break;case"promise":a+=`var _hasResult${e} = false;\n`;a+=`var _promise${e} = _fn${e}(${this.args({before:s.context?"_context":undefined})});\n`;a+=`if (!_promise${e} || !_promise${e}.then)\n`;a+=` throw new Error('Tap function (tapPromise) did not return promise (returned ' + _promise${e} + ')');\n`;a+=`_promise${e}.then(_result${e} => {\n`;a+=`_hasResult${e} = true;\n`;if(r){a+=r(`_result${e}`)}if(n){a+=n()}a+=`}, _err${e} => {\n`;a+=`if(_hasResult${e}) throw _err${e};\n`;a+=t(`_err${e}`);a+="});\n";break}return a}callTapsSeries({onError:e,onResult:t,onDone:r,rethrowIfPossible:n}){if(this.options.taps.length===0)return r();const i=this.options.taps.findIndex(e=>e.type!=="sync");const a=o=>{if(o>=this.options.taps.length){return r()}const s=()=>a(o+1);const c=e=>{if(e)return"";return r()};return this.callTap(o,{onError:t=>e(o,t,s,c),onResult:t&&(e=>{return t(o,e,s,c)}),onDone:!t&&(()=>{return s()}),rethrowIfPossible:n&&(i<0||oe.type==="sync");let i="";if(!n){i+="var _looper = () => {\n";i+="var _loopAsync = false;\n"}i+="var _loop;\n";i+="do {\n";i+="_loop = false;\n";for(let e=0;e{let a="";a+=`if(${t} !== undefined) {\n`;a+="_loop = true;\n";if(!n)a+="if(_loopAsync) _looper();\n";a+=i(true);a+=`} else {\n`;a+=r();a+=`}\n`;return a},onDone:t&&(()=>{let e="";e+="if(!_loop) {\n";e+=t();e+="}\n";return e}),rethrowIfPossible:r&&n});i+="} while(_loop);\n";if(!n){i+="_loopAsync = true;\n";i+="};\n";i+="_looper();\n"}return i}callTapsParallel({onError:e,onResult:t,onDone:r,rethrowIfPossible:n,onTap:i=((e,t)=>t())}){if(this.options.taps.length<=1){return this.callTapsSeries({onError:e,onResult:t,onDone:r,rethrowIfPossible:n})}let a="";a+="do {\n";a+=`var _counter = ${this.options.taps.length};\n`;if(r){a+="var _done = () => {\n";a+=r();a+="};\n"}for(let o=0;o{if(r)return"if(--_counter === 0) _done();\n";else return"--_counter;"};const c=e=>{if(e||!r)return"_counter = 0;\n";else return"_counter = 0;\n_done();\n"};a+="if(_counter <= 0) break;\n";a+=i(o,()=>this.callTap(o,{onError:t=>{let r="";r+="if(_counter > 0) {\n";r+=e(o,t,s,c);r+="}\n";return r},onResult:t&&(e=>{let r="";r+="if(_counter > 0) {\n";r+=t(o,e,s,c);r+="}\n";return r}),onDone:!t&&(()=>{return s()}),rethrowIfPossible:n}),s,c)}a+="} while(false);\n";return a}args({before:e,after:t}={}){let r=this._args;if(e)r=[e].concat(r);if(t)r=r.concat(t);if(r.length===0){return""}else{return r.join(", ")}}getTapFn(e){return`_x[${e}]`}getTap(e){return`_taps[${e}]`}getInterceptor(e){return`_interceptors[${e}]`}}e.exports=HookCodeFactory},,,,,function(e,t,r){var n=r(596).SourceMapConsumer;var i=r(622);var a;try{a=r(747);if(!a.existsSync||!a.readFileSync){a=null}}catch(e){}var o=r(650);var s=false;var c=false;var u=false;var l="auto";var f={};var d={};var p=/^data:application\/json[^,]+base64,/;var g=[];var _=[];function isInBrowser(){if(l==="browser")return true;if(l==="node")return false;return typeof window!=="undefined"&&typeof XMLHttpRequest==="function"&&!(window.require&&window.module&&window.process&&window.process.type==="renderer")}function hasGlobalProcessEventEmitter(){return typeof process==="object"&&process!==null&&typeof process.on==="function"}function handlerExec(e){return function(t){for(var r=0;r"}var r=this.getLineNumber();if(r!=null){t+=":"+r;var n=this.getColumnNumber();if(n){t+=":"+n}}}var i="";var a=this.getFunctionName();var o=true;var s=this.isConstructor();var c=!(this.isToplevel()||s);if(c){var u=this.getTypeName();if(u==="[object Object]"){u="null"}var l=this.getMethodName();if(a){if(u&&a.indexOf(u)!=0){i+=u+"."}i+=a;if(l&&a.indexOf("."+l)!=a.length-l.length-1){i+=" [as "+l+"]"}}else{i+=u+"."+(l||"")}}else if(s){i+="new "+(a||"")}else if(a){i+=a}else{i+=t;o=false}if(o){i+=" ("+t+")"}return i}function cloneCallSite(e){var t={};Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(function(r){t[r]=/^(?:is|get)/.test(r)?function(){return e[r].call(e)}:e[r]});t.toString=CallSiteToString;return t}function wrapCallSite(e){if(e.isNative()){return e}var t=e.getFileName()||e.getScriptNameOrSourceURL();if(t){var r=e.getLineNumber();var n=e.getColumnNumber()-1;var i=62;if(r===1&&n>i&&!isInBrowser()&&!e.isEval()){n-=i}var a=mapSourcePosition({source:t,line:r,column:n});e=cloneCallSite(e);var o=e.getFunctionName;e.getFunctionName=function(){return a.name||o()};e.getFileName=function(){return a.source};e.getLineNumber=function(){return a.line};e.getColumnNumber=function(){return a.column+1};e.getScriptNameOrSourceURL=function(){return a.source};return e}var s=e.isEval()&&e.getEvalOrigin();if(s){s=mapEvalOrigin(s);e=cloneCallSite(e);e.getEvalOrigin=function(){return s};return e}return e}function prepareStackTrace(e,t){if(u){f={};d={}}return e+t.map(function(e){return"\n at "+wrapCallSite(e)}).join("")}function getErrorSource(e){var t=/\n at [^(]+ \((.*):(\d+):(\d+)\)/.exec(e.stack);if(t){var r=t[1];var n=+t[2];var i=+t[3];var o=f[r];if(!o&&a&&a.existsSync(r)){try{o=a.readFileSync(r,"utf8")}catch(e){o=""}}if(o){var s=o.split(/(?:\r\n|\r|\n)/)[n-1];if(s){return r+":"+n+"\n"+s+"\n"+new Array(i).join(" ")+"^"}}}return null}function printErrorAndExit(e){var t=getErrorSource(e);if(process.stderr._handle&&process.stderr._handle.setBlocking){process.stderr._handle.setBlocking(true)}if(t){console.error();console.error(t)}console.error(e.stack);process.exit(1)}function shimEmitUncaughtException(){var e=process.emit;process.emit=function(t){if(t==="uncaughtException"){var r=arguments[1]&&arguments[1].stack;var n=this.listeners(t).length>0;if(r&&!n){return printErrorAndExit(arguments[1])}}return e.apply(this,arguments)}}var h=g.slice(0);var v=_.slice(0);t.wrapCallSite=wrapCallSite;t.getErrorSource=getErrorSource;t.mapSourcePosition=mapSourcePosition;t.retrieveSourceMap=y;t.install=function(e){e=e||{};if(e.environment){l=e.environment;if(["node","browser","auto"].indexOf(l)===-1){throw new Error("environment "+l+" was unknown. Available options are {auto, browser, node}")}}if(e.retrieveFile){if(e.overrideRetrieveFile){g.length=0}g.unshift(e.retrieveFile)}if(e.retrieveSourceMap){if(e.overrideRetrieveSourceMap){_.length=0}_.unshift(e.retrieveSourceMap)}if(e.hookRequire&&!isInBrowser()){var t;try{t=r(282)}catch(e){}var n=t.prototype._compile;if(!n.__sourceMapSupport){t.prototype._compile=function(e,t){f[t]=e;d[t]=undefined;return n.call(this,e,t)};t.prototype._compile.__sourceMapSupport=true}}if(!u){u="emptyCacheBetweenOperations"in e?e.emptyCacheBetweenOperations:false}if(!s){s=true;Error.prepareStackTrace=prepareStackTrace}if(!c){var i="handleUncaughtExceptions"in e?e.handleUncaughtExceptions:true;if(i&&hasGlobalProcessEventEmitter()){c=true;shimEmitUncaughtException()}}};t.resetRetrieveHandlers=function(){g.length=0;_.length=0;g=h.slice(0);_=v.slice(0)}},function(e,t,r){"use strict";var n=r(134);var i=r(576);var a="(\\[(?=.*\\])|\\])+";var o=n.createRegex(a);function parsers(e){e.state=e.state||{};e.parser.sets.bracket=e.parser.sets.bracket||[];e.parser.capture("escape",function(){if(this.isInside("bracket"))return;var e=this.position();var t=this.match(/^\\(.)/);if(!t)return;return e({type:"escape",val:t[0]})}).capture("text",function(){if(this.isInside("bracket"))return;var e=this.position();var t=this.match(o);if(!t||!t[0])return;return e({type:"text",val:t[0]})}).capture("posix",function(){var t=this.position();var r=this.match(/^\[:(.*?):\](?=.*\])/);if(!r)return;var n=this.isInside("bracket");if(n){e.posix++}return t({type:"posix",insideBracket:n,inner:r[1],val:r[0]})}).capture("bracket",function(){}).capture("bracket.open",function(){var e=this.parsed;var t=this.position();var r=this.match(/^\[(?=.*\])/);if(!r)return;var a=this.prev();var o=n.last(a.nodes);if(e.slice(-1)==="\\"&&!this.isInside("bracket")){o.val=o.val.slice(0,o.val.length-1);return t({type:"escape",val:r[0]})}var s=t({type:"bracket.open",val:r[0]});if(o.type==="bracket.open"||this.isInside("bracket")){s.val="\\"+s.val;s.type="bracket.inner";s.escaped=true;return s}var c=t({type:"bracket",nodes:[s]});i(c,"parent",a);i(s,"parent",c);this.push("bracket",c);a.nodes.push(c)}).capture("bracket.inner",function(){if(!this.isInside("bracket"))return;var e=this.position();var t=this.match(o);if(!t||!t[0])return;var r=this.input.charAt(0);var n=t[0];var i=e({type:"bracket.inner",val:n});if(n==="\\\\"){return i}var a=n.charAt(0);var s=n.slice(-1);if(a==="!"){n="^"+n.slice(1)}if(s==="\\"||n==="^"&&r==="]"){n+=this.input[0];this.consume(1)}i.val=n;return i}).capture("bracket.close",function(){var e=this.parsed;var t=this.position();var r=this.match(/^\]/);if(!r)return;var a=this.prev();var o=n.last(a.nodes);if(e.slice(-1)==="\\"&&!this.isInside("bracket")){o.val=o.val.slice(0,o.val.length-1);return t({type:"escape",val:r[0]})}var s=t({type:"bracket.close",rest:this.input,val:r[0]});if(o.type==="bracket.open"){s.type="bracket.inner";s.escaped=true;return s}var c=this.pop("bracket");if(!this.isType(c,"bracket")){if(this.options.strict){throw new Error('missing opening "["')}s.type="bracket.inner";s.escaped=true;return s}c.nodes.push(s);i(s,"parent",c)})}e.exports=parsers;e.exports.TEXT_REGEX=a},,,function(e,t,r){"use strict";var n=r(240);var i=r(762);e.exports=function(e,t){e.parser.set("bos",function(){if(!this.parsed){this.ast=this.nodes[0]=new n(this.ast)}}).set("escape",function(){var e=this.position();var r=this.match(/^(?:\\(.)|\$\{)/);if(!r)return;var a=this.prev();var o=i.last(a.nodes);var s=e(new n({type:"text",multiplier:1,val:r[0]}));if(s.val==="\\\\"){return s}if(s.val==="${"){var c=this.input;var u=-1;var l;while(l=c[++u]){this.consume(1);s.val+=l;if(l==="\\"){s.val+=c[++u];continue}if(l==="}"){break}}}if(this.options.unescape!==false){s.val=s.val.replace(/\\([{}])/g,"$1")}if(o.val==='"'&&this.input.charAt(0)==='"'){o.val=s.val;this.consume(1);return}return concatNodes.call(this,e,s,a,t)}).set("bracket",function(){var e=this.isInside("brace");var t=this.position();var r=this.match(/^(?:\[([!^]?)([^\]]{2,}|\]-)(\]|[^*+?]+)|\[)/);if(!r)return;var i=this.prev();var a=r[0];var o=r[1]?"^":"";var s=r[2]||"";var c=r[3]||"";if(e&&i.type==="brace"){i.text=i.text||"";i.text+=a}var u=this.input.slice(0,2);if(s===""&&u==="\\]"){s+=u;this.consume(2);var l=this.input;var f=-1;var d;while(d=l[++f]){this.consume(1);if(d==="]"){c=d;break}s+=d}}return t(new n({type:"bracket",val:a,escaped:c!=="]",negated:o,inner:s,close:c}))}).set("multiplier",function(){var e=this.isInside("brace");var r=this.position();var i=this.match(/^\{((?:,|\{,+\})+)\}/);if(!i)return;this.multiplier=true;var a=this.prev();var o=i[0];if(e&&a.type==="brace"){a.text=a.text||"";a.text+=o}var s=r(new n({type:"text",multiplier:1,match:i,val:o}));return concatNodes.call(this,r,s,a,t)}).set("brace.open",function(){var e=this.position();var t=this.match(/^\{(?!(?:[^\\}]?|,+)\})/);if(!t)return;var r=this.prev();var a=i.last(r.nodes);if(a&&a.val&&isExtglobChar(a.val.slice(-1))){a.optimize=false}var o=e(new n({type:"brace.open",val:t[0]}));var s=e(new n({type:"brace",nodes:[]}));s.push(o);r.push(s);this.push("brace",s)}).set("brace.close",function(){var e=this.position();var t=this.match(/^\}/);if(!t||!t[0])return;var r=this.pop("brace");var a=e(new n({type:"brace.close",val:t[0]}));if(!this.isType(r,"brace")){if(this.options.strict){throw new Error('missing opening "{"')}a.type="text";a.multiplier=0;a.escaped=true;return a}var o=this.prev();var s=i.last(o.nodes);if(s.text){var c=i.last(s.nodes);if(c.val===")"&&/[!@*?+]\(/.test(s.text)){var u=s.nodes[0];var l=s.nodes[1];if(u.type==="brace.open"&&l&&l.type==="text"){l.optimize=false}}}if(r.nodes.length>2){var f=r.nodes[1];if(f.type==="text"&&f.val===","){r.nodes.splice(1,1);r.nodes.push(f)}}r.push(a)}).set("boundary",function(){var e=this.position();var t=this.match(/^[$^](?!\{)/);if(!t)return;return e(new n({type:"text",val:t[0]}))}).set("nobrace",function(){var e=this.isInside("brace");var t=this.position();var r=this.match(/^\{[^,]?\}/);if(!r)return;var i=this.prev();var a=r[0];if(e&&i.type==="brace"){i.text=i.text||"";i.text+=a}return t(new n({type:"text",multiplier:0,val:a}))}).set("text",function(){var e=this.isInside("brace");var r=this.position();var i=this.match(/^((?!\\)[^${}[\]])+/);if(!i)return;var a=this.prev();var o=i[0];if(e&&a.type==="brace"){a.text=a.text||"";a.text+=o}var s=r(new n({type:"text",multiplier:1,val:o}));return concatNodes.call(this,r,s,a,t)})};function isExtglobChar(e){return e==="!"||e==="@"||e==="*"||e==="?"||e==="+"}function concatNodes(e,t,r,n){t.orig=t.val;var a=this.prev();var o=i.last(a.nodes);var s=false;if(t.val.length>1){var c=t.val.charAt(0);var u=t.val.slice(-1);s=c==='"'&&u==='"'||c==="'"&&u==="'"||c==="`"&&u==="`"}if(s&&n.unescape!==false){t.val=t.val.slice(1,t.val.length-1);t.escaped=true}if(t.match){var l=t.match[1];if(!l||l.indexOf("}")===-1){l=t.match[0]}var f=l.replace(/\{/g,",").replace(/\}/g,"");t.multiplier*=f.length;t.val=""}var d=o.type==="text"&&o.multiplier===1&&t.multiplier===1&&t.val;if(d){o.val+=t.val;return}a.push(t)}},,,function(e,t,r){"use strict";var n=r(977);var i=r(586);var a=typeof Reflect!=="undefined"&&Reflect.defineProperty?Reflect.defineProperty:Object.defineProperty;e.exports=function defineProperty(e,t,r){if(!n(e)&&typeof e!=="function"&&!Array.isArray(e)){throw new TypeError("expected an object, function, or array")}if(typeof t!=="string"){throw new TypeError('expected "key" to be a string')}if(i(r)){a(e,t,r);return e}a(e,t,{configurable:true,enumerable:false,writable:true,value:r});return e}},function(e,t,r){var n=r(535);function customDecodeUriComponent(e){return n(e.replace(/\+/g,"%2B"))}e.exports=customDecodeUriComponent},,,,,,,,,,function(e,t,r){"use strict";var n=r(977);var i=r(586);var a=typeof Reflect!=="undefined"&&Reflect.defineProperty?Reflect.defineProperty:Object.defineProperty;e.exports=function defineProperty(e,t,r){if(!n(e)&&typeof e!=="function"&&!Array.isArray(e)){throw new TypeError("expected an object, function, or array")}if(typeof t!=="string"){throw new TypeError('expected "key" to be a string')}if(i(r)){a(e,t,r);return e}a(e,t,{configurable:true,enumerable:false,writable:true,value:r});return e}},,,,function(e,t,r){"use strict";var n=r(551);var i={get:"function",set:"function",configurable:"boolean",enumerable:"boolean"};function isAccessorDescriptor(e,t){if(typeof t==="string"){var r=Object.getOwnPropertyDescriptor(e,t);return typeof r!=="undefined"}if(n(e)!=="object"){return false}if(has(e,"value")||has(e,"writable")){return false}if(!has(e,"get")||typeof e.get!=="function"){return false}if(has(e,"set")&&typeof e[a]!=="function"&&typeof e[a]!=="undefined"){return false}for(var a in e){if(!i.hasOwnProperty(a)){continue}if(n(e[a])===i[a]){continue}if(typeof e[a]!=="undefined"){return false}}return true}function has(e,t){return{}.hasOwnProperty.call(e,t)}e.exports=isAccessorDescriptor},,,,,,,,,function(e){"use strict";function SyncAsyncFileSystemDecorator(e){this.fs=e;if(e.statSync){this.stat=function(t,r){let n;try{n=e.statSync(t)}catch(e){return r(e)}r(null,n)}}if(e.readdirSync){this.readdir=function(t,r){let n;try{n=e.readdirSync(t)}catch(e){return r(e)}r(null,n)}}if(e.readFileSync){this.readFile=function(t,r){let n;try{n=e.readFileSync(t)}catch(e){return r(e)}r(null,n)}}if(e.readlinkSync){this.readlink=function(t,r){let n;try{n=e.readlinkSync(t)}catch(e){return r(e)}r(null,n)}}if(e.readJsonSync){this.readJson=function(t,r){let n;try{n=e.readJsonSync(t)}catch(e){return r(e)}r(null,n)}}}e.exports=SyncAsyncFileSystemDecorator},,,,,function(e,t,r){"use strict";const n=r(622);const i=/^\.\.?[/\\]/;function isAbsolutePath(e){return n.posix.isAbsolute(e)||n.win32.isAbsolute(e)}function isRelativePath(e){return i.test(e)}function stringifyRequest(e,t){const r=t.split("!");const i=e.context||e.options&&e.options.context;return JSON.stringify(r.map(e=>{const t=e.match(/^(.*?)(\?.*)/);let r=t?t[1]:e;const a=t?t[2]:"";if(isAbsolutePath(r)&&i){r=n.relative(i,r);if(isAbsolutePath(r)){return r+a}if(isRelativePath(r)===false){r="./"+r}}return r.replace(/\\/g,"/")+a}).join("!"))}e.exports=stringifyRequest},function(e){e.exports=require("stream")},function(e,t,r){"use strict";t.extend=r(333);t.SourceMap=r(970);t.sourceMapResolve=r(145);t.unixify=function(e){return e.split(/\\+/).join("/")};t.isString=function(e){return e&&typeof e==="string"};t.arrayify=function(e){if(typeof e==="string")return[e];return e?Array.isArray(e)?e:[e]:[]};t.last=function(e,t){return e[e.length-(t||1)]}},,,function(e){e.exports=require("crypto")},function(e,t,r){"use strict";var n=r(530);var i=r(954);e.exports=Object.assign||function(e){if(e===null||typeof e==="undefined"){throw new TypeError("Cannot convert undefined or null to object")}if(!isObject(e)){e={}}for(var t=1;t?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"}},function(e,t,r){"use strict";var n=r(637);function FragmentCache(e){this.caches=e||{}}FragmentCache.prototype={cache:function(e){return this.caches[e]||(this.caches[e]=new n)},set:function(e,t,r){var n=this.cache(e);n.set(t,r);return n},has:function(e,t){return typeof this.get(e,t)!=="undefined"},get:function(e,t){var r=this.cache(e);if(typeof t==="string"){return r.get(t)}return r}};t=e.exports=FragmentCache},,,,,,function(e,t,r){"use strict";const n=r(353).globToRegExp;function parseType(e){const t=e.split("+");const r=t.shift();return{type:r==="*"?null:r,features:t}}function isTypeMatched(e,t){if(typeof e==="string")e=parseType(e);if(typeof t==="string")t=parseType(t);if(t.type&&t.type!==e.type)return false;return t.features.every(t=>{return e.features.indexOf(t)>=0})}function isResourceTypeMatched(e,t){e=e.split("/");t=t.split("/");if(e.length!==t.length)return false;for(let r=0;r{return isResourceTypeMatched(e,t)})}function isEnvironment(e,t){return e.environments&&e.environments.every(e=>{return isTypeMatched(e,t)})}const i={};function getGlobRegExp(e){const t=i[e]||(i[e]=n(e));return t}function matchGlob(e,t){const r=getGlobRegExp(e);return r.exec(t)}function isGlobMatched(e,t){return!!matchGlob(e,t)}function isConditionMatched(e,t){const r=t.split("|");return r.some(function testFn(t){t=t.trim();const r=/^!/.test(t);if(r)return!testFn(t.substr(1));if(/^[a-z]+:/.test(t)){const r=/^([a-z]+):\s*/.exec(t);const n=t.substr(r[0].length);const i=r[1];switch(i){case"referrer":return isGlobMatched(n,e.referrer);default:return false}}else if(t.indexOf("/")>=0){return isResourceTypeSupported(e,t)}else{return isEnvironment(e,t)}})}function isKeyMatched(e,t){while(true){const r=/^\[([^\]]+)\]\s*/.exec(t);if(!r)return t;t=t.substr(r[0].length);const n=r[1];if(!isConditionMatched(e,n)){return false}}}function getField(e,t,r){let n;Object.keys(t).forEach(i=>{const a=isKeyMatched(e,i);if(a===r){n=t[i]}});return n}function getMain(e,t){return getField(e,t,"main")}function getExtensions(e,t){return getField(e,t,"extensions")}function matchModule(e,t,r){const n=getField(e,t,"modules");if(!n)return r;let i=r;const a=Object.keys(n);let o=0;let s;let c;for(let t=0;ta.length){throw new Error("Request '"+r+"' matches recursively")}}}return i;function replaceMatcher(e){switch(e){case"/**":{const e=s[c++];return e?"/"+e:""}case"**":case"*":return s[c++]}}}function matchType(e,t,r){const n=getField(e,t,"types");if(!n)return undefined;let i;Object.keys(n).forEach(t=>{const a=isKeyMatched(e,t);if(isGlobMatched(a,r)){const e=n[t];if(!i&&/\/\*$/.test(e))throw new Error("value ('"+e+"') of key '"+t+"' contains '*', but there is no previous value defined");i=e.replace(/\/\*$/,"/"+i)}});return i}t.parseType=parseType;t.isTypeMatched=isTypeMatched;t.isResourceTypeSupported=isResourceTypeSupported;t.isEnvironment=isEnvironment;t.isGlobMatched=isGlobMatched;t.isConditionMatched=isConditionMatched;t.isKeyMatched=isKeyMatched;t.getField=getField;t.getMain=getMain;t.getExtensions=getExtensions;t.matchModule=matchModule;t.matchType=matchType},,,,function(e,t,r){"use strict";var n=r(357);var i=r(552);var a=r(333);var o=r(437);var s=r(837);function fillRange(e,t,r,o){if(typeof e==="undefined"){return[]}if(typeof t==="undefined"||e===t){var s=typeof e==="string";if(i(e)&&!toNumber(e)){return[s?"0":0]}return[e]}if(typeof r!=="number"&&typeof r!=="string"){o=r;r=undefined}if(typeof o==="function"){o={transform:o}}var c=a({step:r},o);if(c.step&&!isValidNumber(c.step)){if(c.strictRanges===true){throw new TypeError("expected options.step to be a number")}return[]}c.isNumber=isValidNumber(e)&&isValidNumber(t);if(!c.isNumber&&!isValid(e,t)){if(c.strictRanges===true){throw new RangeError("invalid range arguments: "+n.inspect([e,t]))}return[]}c.isPadded=isPadded(e)||isPadded(t);c.toString=c.stringify||typeof c.step==="string"||typeof e==="string"||typeof t==="string"||!c.isNumber;if(c.isPadded){c.maxLength=Math.max(String(e).length,String(t).length)}if(typeof c.optimize==="boolean")c.toRegex=c.optimize;if(typeof c.makeRe==="boolean")c.toRegex=c.makeRe;return expand(e,t,c)}function expand(e,t,r){var n=r.isNumber?toNumber(e):e.charCodeAt(0);var i=r.isNumber?toNumber(t):t.charCodeAt(0);var a=Math.abs(toNumber(r.step))||1;if(r.toRegex&&a===1){return toRange(n,i,e,t,r)}var o={greater:[],lesser:[]};var s=n=i){var l=r.isNumber?n:String.fromCharCode(n);if(r.toRegex&&(l>=0||!r.isNumber)){o.greater.push(l)}else{o.lesser.push(Math.abs(l))}if(r.isPadded){l=zeros(l,r)}if(r.toString){l=String(l)}if(typeof r.transform==="function"){c[u++]=r.transform(l,n,i,a,u,c,r)}else{c[u++]=l}if(s){n+=a}else{n-=a}}if(r.toRegex===true){return toSequence(c,o,r)}return c}function toRange(e,t,r,n,i){if(i.isPadded){return s(r,n,i)}if(i.isNumber){return s(Math.min(e,t),Math.max(e,t),i)}var r=String.fromCharCode(Math.min(e,t));var n=String.fromCharCode(Math.max(e,t));return"["+r+"-"+n+"]"}function toSequence(e,t,r){var n="",i="";if(t.greater.length){n=t.greater.join("|")}if(t.lesser.length){i="-("+t.lesser.join("|")+")"}var a=n&&i?n+"|"+i:n||i;if(r.capture){return"("+a+")"}return a}function zeros(e,t){if(t.isPadded){var r=String(e);var n=r.length;var i="";if(r.charAt(0)==="-"){i="-";r=r.slice(1)}var a=t.maxLength-n;var s=o("0",a);e=i+s+r}if(t.stringify){return String(e)}return e}function toNumber(e){return Number(e)||0}function isPadded(e){return/^-?0\d/.test(e)}function isValid(e,t){return(isValidNumber(e)||isValidLetter(e))&&(isValidNumber(t)||isValidLetter(t))}function isValidLetter(e){return typeof e==="string"&&e.length===1&&/^\w+$/.test(e)}function isValidNumber(e){return i(e)&&!/\./.test(e)}e.exports=fillRange},function(e){"use strict";e.exports=function isExtendable(e){return typeof e!=="undefined"&&e!==null&&(typeof e==="object"||typeof e==="function")}},,function(e){"use strict";e.exports=class ModulesInRootPlugin{constructor(e,t,r){this.source=e;this.path=t;this.target=r}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("ModulesInRootPlugin",(r,n,i)=>{const a=Object.assign({},r,{path:this.path,request:"./"+r.request});e.doResolve(t,a,"looking for modules in "+this.path,n,i)})}}},function(e,t,r){"use strict";var n=r(357);var i=r(532);var a=r(577);var o=r(107);var s=r(513);var c=r(520);var u=r(63);var l=1024*64;function nanomatch(e,t,r){t=u.arrayify(t);e=u.arrayify(e);var n=t.length;if(e.length===0||n===0){return[]}if(n===1){return nanomatch.match(e,t[0],r)}var i=false;var a=[];var o=[];var s=-1;while(++sl){throw new Error("expected pattern to be less than "+l+" characters")}function makeRe(){var r=u.extend({wrap:false},t);var n=nanomatch.create(e,r);var a=i(n.output,r);u.define(a,"result",n);return a}return memoize("makeRe",e,t,makeRe)};nanomatch.create=function(e,t){if(typeof e!=="string"){throw new TypeError("expected a string")}function create(){return nanomatch.compile(nanomatch.parse(e,t),t)}return memoize("create",e,t,create)};nanomatch.parse=function(e,t){if(typeof e!=="string"){throw new TypeError("expected a string")}function parse(){var r=u.instantiate(null,t);s(r,t);var n=r.parse(e,t);u.define(n,"snapdragon",r);n.input=e;return n}return memoize("parse",e,t,parse)};nanomatch.compile=function(e,t){if(typeof e==="string"){e=nanomatch.parse(e,t)}function compile(){var r=u.instantiate(e,t);o(r,t);return r.compile(e,t)}return memoize("compile",e.input,t,compile)};nanomatch.clearCache=function(){nanomatch.cache.__data__={}};function compose(e,t,r){var n;return memoize("compose",String(e),t,function(){return function(i){if(!n){n=[];for(var a=0;a=i){return t.substr(0,i)}while(i>t.length&&n>1){if(n&1){t+=e}n>>=1;e+=e}t+=e;t=t.substr(0,i);return t}},,function(e,t,r){"use strict";var n=r(217);e.exports=function(e,t,r){if(typeof e!=="string"){throw new TypeError("expected a string")}if(typeof t==="function"){r=t;t=null}if(typeof t==="string"){t={sep:t}}var i=n({sep:"."},t);var a=i.quotes||['"',"'","`"];var o;if(i.brackets===true){o={"<":">","(":")","[":"]","{":"}"}}else if(i.brackets){o=i.brackets}var s=[];var c=[];var u=[""];var l=i.sep;var f=e.length;var d=-1;var p;function expected(){if(o&&c.length){return o[c[c.length-1]]}}while(++d=0){continue}e.push(a)}}return e}},,function(e,t){var r=true?t:undefined;r.parse=function(){"use strict";var e,t,r,n,i={"'":"'",'"':'"',"\\":"\\","/":"/","\n":"",b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"},a=[" ","\t","\r","\n","\v","\f"," ","\ufeff"],o,s=function(e){return e===""?"EOF":"'"+e+"'"},c=function(n){var i=new SyntaxError;i.message=n+" at line "+t+" column "+r+" of the JSON5 data. Still to read: "+JSON.stringify(o.substring(e-1,e+19));i.at=e;i.lineNumber=t;i.columnNumber=r;throw i},u=function(i){if(i&&i!==n){c("Expected "+s(i)+" instead of "+s(n))}n=o.charAt(e);e++;r++;if(n==="\n"||n==="\r"&&l()!=="\n"){t++;r=0}return n},l=function(){return o.charAt(e)},f=function(){var e=n;if(n!=="_"&&n!=="$"&&(n<"a"||n>"z")&&(n<"A"||n>"Z")){c("Bad identifier as unquoted key")}while(u()&&(n==="_"||n==="$"||n>="a"&&n<="z"||n>="A"&&n<="Z"||n>="0"&&n<="9")){e+=n}return e},d=function(){var e,t="",r="",i=10;if(n==="-"||n==="+"){t=n;u(n)}if(n==="I"){e=h();if(typeof e!=="number"||isNaN(e)){c("Unexpected word for number")}return t==="-"?-e:e}if(n==="N"){e=h();if(!isNaN(e)){c("expected word to be NaN")}return e}if(n==="0"){r+=n;u();if(n==="x"||n==="X"){r+=n;u();i=16}else if(n>="0"&&n<="9"){c("Octal literal")}}switch(i){case 10:while(n>="0"&&n<="9"){r+=n;u()}if(n==="."){r+=".";while(u()&&n>="0"&&n<="9"){r+=n}}if(n==="e"||n==="E"){r+=n;u();if(n==="-"||n==="+"){r+=n;u()}while(n>="0"&&n<="9"){r+=n;u()}}break;case 16:while(n>="0"&&n<="9"||n>="A"&&n<="F"||n>="a"&&n<="f"){r+=n;u()}break}if(t==="-"){e=-r}else{e=+r}if(!isFinite(e)){c("Bad number")}else{return e}},p=function(){var e,t,r="",a,o;if(n==='"'||n==="'"){a=n;while(u()){if(n===a){u();return r}else if(n==="\\"){u();if(n==="u"){o=0;for(t=0;t<4;t+=1){e=parseInt(u(),16);if(!isFinite(e)){break}o=o*16+e}r+=String.fromCharCode(o)}else if(n==="\r"){if(l()==="\n"){u()}}else if(typeof i[n]==="string"){r+=i[n]}else{break}}else if(n==="\n"){break}else{r+=n}}}c("Bad string")},g=function(){if(n!=="/"){c("Not an inline comment")}do{u();if(n==="\n"||n==="\r"){u();return}}while(n)},_=function(){if(n!=="*"){c("Not a block comment")}do{u();while(n==="*"){u("*");if(n==="/"){u("/");return}}}while(n);c("Unterminated block comment")},m=function(){if(n!=="/"){c("Not a comment")}u("/");if(n==="/"){g()}else if(n==="*"){_()}else{c("Unrecognized comment")}},y=function(){while(n){if(n==="/"){m()}else if(a.indexOf(n)>=0){u()}else{return}}},h=function(){switch(n){case"t":u("t");u("r");u("u");u("e");return true;case"f":u("f");u("a");u("l");u("s");u("e");return false;case"n":u("n");u("u");u("l");u("l");return null;case"I":u("I");u("n");u("f");u("i");u("n");u("i");u("t");u("y");return Infinity;case"N":u("N");u("a");u("N");return NaN}c("Unexpected "+s(n))},v,T=function(){var e=[];if(n==="["){u("[");y();while(n){if(n==="]"){u("]");return e}if(n===","){c("Missing array element")}else{e.push(v())}y();if(n!==","){u("]");return e}u(",");y()}}c("Bad array")},S=function(){var e,t={};if(n==="{"){u("{");y();while(n){if(n==="}"){u("}");return t}if(n==='"'||n==="'"){e=p()}else{e=f()}y();u(":");t[e]=v();y();if(n!==","){u("}");return t}u(",");y()}}c("Bad object")};v=function(){y();switch(n){case"{":return S();case"[":return T();case'"':case"'":return p();case"-":case"+":case".":return d();default:return n>="0"&&n<="9"?d():h()}};return function(i,a){var s;o=String(i);e=0;t=1;r=1;n=" ";s=v();y();if(n){c("Syntax error")}return typeof a==="function"?function walk(e,t){var r,n,i=e[t];if(i&&typeof i==="object"){for(r in i){if(Object.prototype.hasOwnProperty.call(i,r)){n=walk(i,r);if(n!==undefined){i[r]=n}else{delete i[r]}}}}return a.call(e,t,i)}({"":s},""):s}}();r.stringify=function(e,t,n){if(t&&(typeof t!=="function"&&!isArray(t))){throw new Error("Replacer must be a function or an array")}var i=function(e,r,n){var i=e[r];if(i&&i.toJSON&&typeof i.toJSON==="function"){i=i.toJSON()}if(typeof t==="function"){return t.call(e,r,i)}else if(t){if(n||isArray(e)||t.indexOf(r)>=0){return i}else{return undefined}}else{return i}};function isWordChar(e){return e>="a"&&e<="z"||e>="A"&&e<="Z"||e>="0"&&e<="9"||e==="_"||e==="$"}function isWordStart(e){return e>="a"&&e<="z"||e>="A"&&e<="Z"||e==="_"||e==="$"}function isWord(e){if(typeof e!=="string"){return false}if(!isWordStart(e[0])){return false}var t=1,r=e.length;while(t10){e=e.substring(0,10)}var n=r?"":"\n";for(var i=0;i=0){o=makeIndent(" ",n,true)}else{}}var s=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,c=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,u={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};function escapeString(e){c.lastIndex=0;return c.test(e)?'"'+e.replace(c,function(e){var t=u[e];return typeof t==="string"?t:"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+e+'"'}function internalStringify(e,t,r){var n,s;var c=i(e,t,r);if(c&&!isDate(c)){c=c.valueOf()}switch(typeof c){case"boolean":return c.toString();case"number":if(isNaN(c)||!isFinite(c)){return"null"}return c.toString();case"string":return escapeString(c.toString());case"object":if(c===null){return"null"}else if(isArray(c)){checkForCircular(c);n="[";a.push(c);for(var u=0;u{e.names.add(e.name.replace(/[- ]([a-z])/g,(e,t)=>t.toUpperCase()))});this._pluginCompat.tap({name:"Tapable this.hooks",stage:200},e=>{let t;for(const r of e.names){t=this.hooks[r];if(t!==undefined){break}}if(t!==undefined){const r={name:e.fn.name||"unnamed compat plugin",stage:e.stage||0};if(e.async)t.tapAsync(r,e.fn);else t.tap(r,e.fn);return true}})}e.exports=Tapable;Tapable.addCompatLayer=function addCompatLayer(e){Tapable.call(e);e.plugin=Tapable.prototype.plugin;e.apply=Tapable.prototype.apply};Tapable.prototype.plugin=n.deprecate(function plugin(e,t){if(Array.isArray(e)){e.forEach(function(e){this.plugin(e,t)},this);return}const r=this._pluginCompat.call({name:e,fn:t,names:new Set([e])});if(!r){throw new Error(`Plugin could not be registered at '${e}'. Hook was not found.\n`+"BREAKING CHANGE: There need to exist a hook at 'this.hooks'. "+"To create a compatibility layer for this hook, hook into 'this._pluginCompat'.")}},"Tapable.plugin is deprecated. Use new API on `.hooks` instead");Tapable.prototype.apply=n.deprecate(function apply(){for(var e=0;e=0){return t}}else{var r=n.toSetString(e);if(i.call(this._set,r)){return this._set[r]}}throw new Error('"'+e+'" is not in the set.')};ArraySet.prototype.at=function ArraySet_at(e){if(e>=0&&ee(r),onResult:(e,r,n)=>`if(${r} !== undefined) {\n${t(r)};\n} else {\n${n()}}\n`,onDone:r,rethrowIfPossible:n})}}const a=new SyncBailHookCodeFactory;class SyncBailHook extends n{tapAsync(){throw new Error("tapAsync is not supported on a SyncBailHook")}tapPromise(){throw new Error("tapPromise is not supported on a SyncBailHook")}compile(e){a.setup(this,e);return a.create(e)}}e.exports=SyncBailHook},,,,function(e,t,r){"use strict";var n=r(586);e.exports=function defineProperty(e,t,r){if(typeof e!=="object"&&typeof e!=="function"){throw new TypeError("expected an object or function.")}if(typeof t!=="string"){throw new TypeError("expected `prop` to be a string.")}if(n(r)&&("set"in r||"get"in r)){return Object.defineProperty(e,t,r)}return Object.defineProperty(e,t,{configurable:true,enumerable:false,writable:true,value:r})}},function(e,t,r){"use strict";var n=r(9);e.exports=function(e){function star(){if(typeof e.options.star==="function"){return e.options.star.apply(this,arguments)}if(typeof e.options.star==="string"){return e.options.star}return".*?"}e.use(n.compilers);e.compiler.set("escape",function(e){return this.emit(e.val,e)}).set("dot",function(e){return this.emit("\\"+e.val,e)}).set("qmark",function(e){var t="[^\\\\/.]";var r=this.prev();if(e.parsed.slice(-1)==="("){var n=e.rest.charAt(0);if(n!=="!"&&n!=="="&&n!==":"){return this.emit(t,e)}return this.emit(e.val,e)}if(r.type==="text"&&r.val){return this.emit(t,e)}if(e.val.length>1){t+="{"+e.val.length+"}"}return this.emit(t,e)}).set("plus",function(e){var t=e.parsed.slice(-1);if(t==="]"||t===")"){return this.emit(e.val,e)}var r=this.output.slice(-1);if(!this.output||/[?*+]/.test(r)&&e.parent.type!=="bracket"){return this.emit("\\+",e)}if(/\w/.test(r)&&!e.inside){return this.emit("+\\+?",e)}return this.emit("+",e)}).set("star",function(e){var t=this.prev();var r=t.type!=="text"&&t.type!=="escape"?"(?!\\.)":"";return this.emit(r+star.call(this,e),e)}).set("paren",function(e){return this.mapVisit(e.nodes)}).set("paren.open",function(e){var t=this.options.capture?"(":"";switch(e.parent.prefix){case"!":case"^":return this.emit(t+"(?:(?!(?:",e);case"*":case"+":case"?":case"@":return this.emit(t+"(?:",e);default:{var r=e.val;if(this.options.bash===true){r="\\"+r}else if(!this.options.capture&&r==="("&&e.parent.rest[0]!=="?"){r+="?:"}return this.emit(r,e)}}}).set("paren.close",function(e){var t=this.options.capture?")":"";switch(e.prefix){case"!":case"^":var r=/^(\)|$)/.test(e.rest)?"$":"";var n=star.call(this,e);if(e.parent.hasSlash&&!this.options.star&&this.options.slash!==false){n=".*?"}return this.emit(r+("))"+n+")")+t,e);case"*":case"+":case"?":return this.emit(")"+e.prefix+t,e);case"@":return this.emit(")"+t,e);default:{var i=(this.options.bash===true?"\\":"")+")";return this.emit(i,e)}}}).set("text",function(e){var t=e.val.replace(/[\[\]]/g,"\\$&");return this.emit(t,e)})}},,function(e,t,r){"use strict";var n=r(776);var i=r(974);var a=r(532);var o=r(480);var s=r(734);var c=r(980);var u=r(942);var l=1024*64;function extglob(e,t){return extglob.create(e,t).output}extglob.match=function(e,t,r){if(typeof t!=="string"){throw new TypeError("expected pattern to be a string")}e=u.arrayify(e);var n=extglob.matcher(t,r);var a=e.length;var o=-1;var s=[];while(++ol){throw new Error("expected pattern to be less than "+l+" characters")}function makeRe(){var r=n({strictErrors:false},t);if(r.strictErrors===true)r.strict=true;var i=extglob.create(e,r);return a(i.output,r)}var r=u.memoize("makeRe",e,t,makeRe);if(r.source.length>l){throw new SyntaxError("potentially malicious regex detected")}return r};extglob.cache=u.cache;extglob.clearCache=function(){extglob.cache.__data__={}};extglob.Extglob=c;extglob.compilers=o;extglob.parsers=s;e.exports=extglob},,,function(e){"use strict";e.exports=function isExtendable(e){return typeof e!=="undefined"&&e!==null&&(typeof e==="object"||typeof e==="function")}},function(e){"use strict";e.exports=function diff(e){var t=arguments.length;var r=0;while(++r=r){throw new Error("expected pattern to be less than "+r+" characters")}function create(){if(e===""||e.length<3){return[e]}if(u.isEmptySets(e)){return[]}if(u.isQuotedString(e)){return[e.slice(1,-1)]}var r=new c(t);var n=!t||t.expand!==true?r.optimize(e,t):r.expand(e,t);var a=n.output;if(t&&t.noempty===true){a=a.filter(Boolean)}if(t&&t.nodupes===true){a=i(a)}Object.defineProperty(a,"result",{enumerable:false,value:n});return a}return memoize("create",e,t,create)};braces.makeRe=function(e,t){if(typeof e!=="string"){throw new TypeError("expected a string")}var r=t&&t.maxLength||l;if(e.length>=r){throw new Error("expected pattern to be less than "+r+" characters")}function makeRe(){var r=braces(e,t);var i=a({strictErrors:false},t);return n(r,i)}return memoize("makeRe",e,t,makeRe)};braces.parse=function(e,t){var r=new c(t);return r.parse(e,t)};braces.compile=function(e,t){var r=new c(t);return r.compile(e,t)};braces.clearCache=function(){f=braces.cache={}};function memoize(e,t,r,n){var i=u.createKey(e+":"+t,r);var a=r&&r.cache===false;if(a){braces.clearCache();return n(t,r)}if(f.hasOwnProperty(i)){return f[i]}var o=n(t,r);f[i]=o;return o}braces.Braces=c;braces.compilers=o;braces.parsers=s;braces.cache=f;e.exports=braces},,,,,,,,function(e,t,r){var n=r(334);t.wordBoundary=function(){return{type:n.POSITION,value:"b"}};t.nonWordBoundary=function(){return{type:n.POSITION,value:"B"}};t.begin=function(){return{type:n.POSITION,value:"^"}};t.end=function(){return{type:n.POSITION,value:"$"}}},,,,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:true});const n=r(747);const i=r(930);const a=r(622);const o=r(779);const s=r(635);function defaultErrorFormatter(e,t){const r=e.severity==="warning"?t.bold.yellow:t.bold.red;return t.grey("[tsl] ")+r(e.severity.toUpperCase())+(e.file===""?"":r(" in ")+t.bold.cyan(`${e.file}(${e.line},${e.character})`))+s.EOL+r(` TS${e.code}: ${e.content}`)}function formatErrors(e,t,r,n,o,c){return e===undefined?[]:e.filter(e=>{if(t.ignoreDiagnostics.indexOf(e.code)!==-1){return false}if(t.reportFiles.length>0&&e.file!==undefined){const r=a.relative(c,e.file.fileName);const n=i([r],t.reportFiles);if(n.length===0){return false}}return true}).map(e=>{const i=e.file;const u=i===undefined?undefined:i.getLineAndCharacterOfPosition(e.start);const l={code:e.code,severity:n.DiagnosticCategory[e.category].toLowerCase(),content:n.flattenDiagnosticMessageText(e.messageText,s.EOL),file:i===undefined?"":a.normalize(i.fileName),line:u===undefined?0:u.line+1,character:u===undefined?0:u.character+1,context:c};const f=t.errorFormatter===undefined?defaultErrorFormatter(l,r):t.errorFormatter(l,r);const d=makeError(f,o.file===undefined?l.file:o.file,u===undefined?undefined:{line:l.line,character:l.character});return Object.assign(d,o)})}t.formatErrors=formatErrors;function readFile(e,t="utf8"){e=a.normalize(e);try{return n.readFileSync(e,t)}catch(e){return undefined}}t.readFile=readFile;function makeError(e,t,r){return{message:e,location:r,file:t,loaderSource:"ts-loader"}}t.makeError=makeError;function appendSuffixIfMatch(e,t,r){if(e.length>0){for(const n of e){if(t.match(n)!==null){return t+r}}}return t}t.appendSuffixIfMatch=appendSuffixIfMatch;function appendSuffixesIfMatch(e,t){let r=t;for(const t in e){r=appendSuffixIfMatch(e[t],r,t)}return r}t.appendSuffixesIfMatch=appendSuffixesIfMatch;function unorderedRemoveItem(e,t){for(let r=0;r{if(!r[t]){collectAllDependants(e,t,r).forEach(e=>n[e]=true)}})}return Object.keys(n)}t.collectAllDependants=collectAllDependants;function collectAllDependencies(e,t,r={}){const n={};n[t]=true;r[t]=true;const i=e[t];if(i!==undefined){i.forEach(t=>{if(!r[t.originalFileName]){collectAllDependencies(e,t.resolvedFileName,r).forEach(e=>n[e]=true)}})}return Object.keys(n)}t.collectAllDependencies=collectAllDependencies;function arrify(e){if(e===null||e===undefined){return[]}return Array.isArray(e)?e:[e]}t.arrify=arrify;function ensureProgram(e){if(e&&e.watchHost){if(e.hasUnaccountedModifiedFiles){if(e.changedFilesList){e.watchHost.updateRootFileNames()}if(e.watchOfFilesAndCompilerOptions){e.program=e.watchOfFilesAndCompilerOptions.getProgram().getProgram()}e.hasUnaccountedModifiedFiles=false}return e.program}if(e.languageService){return e.languageService.getProgram()}return e.program}t.ensureProgram=ensureProgram;function supportsProjectReferences(e){const t=ensureProgram(e);return t&&!!t.getProjectReferences}t.supportsProjectReferences=supportsProjectReferences;function isUsingProjectReferences(e){if(e.loaderOptions.projectReferences&&supportsProjectReferences(e)){const t=ensureProgram(e);return Boolean(t&&t.getProjectReferences())}return false}t.isUsingProjectReferences=isUsingProjectReferences;function getAndCacheProjectReference(e,t){const r=t.files.get(e);if(r!==undefined&&r.projectReference){return r.projectReference.project}const n=getProjectReferenceForFile(e,t);if(r!==undefined){r.projectReference={project:n}}return n}t.getAndCacheProjectReference=getAndCacheProjectReference;function getResolvedProjectReferences(e){const t=e.getResolvedProjectReferences||e.getProjectReferences;if(t){return t()}return}function getProjectReferenceForFile(e,t){if(isUsingProjectReferences(t)){const r=ensureProgram(t);return r&&getResolvedProjectReferences(r).find(t=>t&&t.commandLine.fileNames.some(t=>a.normalize(t)===e)||false)}return}function validateSourceMapOncePerProject(e,t,r,n){const{projectsMissingSourceMaps:i=new Set}=e;if(!i.has(n.sourceFile.fileName)){e.projectsMissingSourceMaps=i;i.add(n.sourceFile.fileName);const o=r+".map";if(!e.compiler.sys.fileExists(o)){const[e,i]=[a.relative(t.rootContext,r),a.relative(t.rootContext,n.sourceFile.fileName)];t.emitWarning(new Error("Could not find source map file for referenced project output "+`${e}. Ensure the 'sourceMap' compiler option `+`is enabled in ${i} to ensure Webpack `+"can map project references to the appropriate source files."))}}}t.validateSourceMapOncePerProject=validateSourceMapOncePerProject;function getAndCacheOutputJSFileName(e,t,r){const n=r.files.get(e);if(n&&n.projectReference&&n.projectReference.outputFileName){return n.projectReference.outputFileName}const i=getOutputJavaScriptFileName(e,t);if(n!==undefined){n.projectReference=n.projectReference||{project:t};n.projectReference.outputFileName=i}return i}t.getAndCacheOutputJSFileName=getAndCacheOutputJSFileName;function getOutputJavaScriptFileName(e,t){const{options:r}=t.commandLine;const n=r.rootDir||a.dirname(t.sourceFile.fileName);const i=a.relative(n,e);const c=a.resolve(r.outDir||n,i);const u=s.jsonRegex.test(e)?".json":s.tsxRegex.test(e)&&r.jsx===o.JsxEmit.Preserve?".jsx":".js";return c.replace(s.extensionRegex,u)}},,,,,,function(e,t,r){"use strict";var n=r(89);var i=r(532);var a;var o="[\\[!*+?$^\"'.\\\\/]+";var s=createTextRegex(o);e.exports=function(e,t){var r=e.parser;var n=r.options;r.state={slashes:0,paths:[]};r.ast.state=r.state;r.capture("prefix",function(){if(this.parsed)return;var e=this.match(/^\.[\\/]/);if(!e)return;this.state.strictOpen=!!this.options.strictOpen;this.state.addPrefix=true}).capture("escape",function(){if(this.isInside("bracket"))return;var e=this.position();var t=this.match(/^(?:\\(.)|([$^]))/);if(!t)return;return e({type:"escape",val:t[2]||t[1]})}).capture("quoted",function(){var e=this.position();var t=this.match(/^["']/);if(!t)return;var r=t[0];if(this.input.indexOf(r)===-1){return e({type:"escape",val:r})}var n=advanceTo(this.input,r);this.consume(n.len);return e({type:"quoted",val:n.esc})}).capture("not",function(){var e=this.parsed;var t=this.position();var r=this.match(this.notRegex||/^!+/);if(!r)return;var n=r[0];var i=n.length%2===1;if(e===""&&!i){n=""}if(e===""&&i&&this.options.nonegate!==true){this.bos.val="(?!^(?:";this.append=")$).*";n=""}return t({type:"not",val:n})}).capture("dot",function(){var e=this.parsed;var t=this.position();var r=this.match(/^\.+/);if(!r)return;var n=r[0];this.state.dot=n==="."&&(e===""||e.slice(-1)==="/");return t({type:"dot",dotfiles:this.state.dot,val:n})}).capture("plus",/^\+(?!\()/).capture("qmark",function(){var e=this.parsed;var t=this.position();var r=this.match(/^\?+(?!\()/);if(!r)return;this.state.metachar=true;this.state.qmark=true;return t({type:"qmark",parsed:e,val:r[0]})}).capture("globstar",function(){var e=this.parsed;var t=this.position();var r=this.match(/^\*{2}(?![*(])(?=[,)/]|$)/);if(!r)return;var i=n.noglobstar!==true?"globstar":"star";var a=t({type:i,parsed:e});this.state.metachar=true;while(this.input.slice(0,4)==="/**/"){this.input=this.input.slice(3)}a.isInside={brace:this.isInside("brace"),paren:this.isInside("paren")};if(i==="globstar"){this.state.globstar=true;a.val="**"}else{this.state.star=true;a.val="*"}return a}).capture("star",function(){var e=this.position();var t=/^(?:\*(?![*(])|[*]{3,}(?!\()|[*]{2}(?![(/]|$)|\*(?=\*\())/;var r=this.match(t);if(!r)return;this.state.metachar=true;this.state.star=true;return e({type:"star",val:r[0]})}).capture("slash",function(){var e=this.position();var t=this.match(/^\//);if(!t)return;this.state.slashes++;return e({type:"slash",val:t[0]})}).capture("backslash",function(){var e=this.position();var t=this.match(/^\\(?![*+?(){}[\]'"])/);if(!t)return;var r=t[0];if(this.isInside("bracket")){r="\\"}else if(r.length>1){r="\\\\"}return e({type:"backslash",val:r})}).capture("square",function(){if(this.isInside("bracket"))return;var e=this.position();var t=this.match(/^\[([^!^\\])\]/);if(!t)return;return e({type:"square",val:t[1]})}).capture("bracket",function(){var e=this.position();var t=this.match(/^(?:\[([!^]?)([^\]]+|\]-)(\]|[^*+?]+)|\[)/);if(!t)return;var r=t[0];var n=t[1]?"^":"";var i=(t[2]||"").replace(/\\\\+/,"\\\\");var a=t[3]||"";if(t[2]&&i.lengthObject.assign({},e,typeof t==="string"?{name:t}:t);e=Object.assign({},e,this._withOptions);const r=this._withOptionsBase||this;const n=Object.create(r);n.tapAsync=((e,n)=>r.tapAsync(t(e),n)),n.tap=((e,n)=>r.tap(t(e),n));n.tapPromise=((e,n)=>r.tapPromise(t(e),n));n._withOptions=e;n._withOptionsBase=r;return n}isUsed(){return this.taps.length>0||this.interceptors.length>0}intercept(e){this._resetCompilation();this.interceptors.push(Object.assign({},e));if(e.register){for(let t=0;t0){n--;const e=this.taps[n];this.taps[n+1]=e;const i=e.stage||0;if(t){if(t.has(e.name)){t.delete(e.name);continue}if(t.size>0){continue}}if(i>r){continue}n++;break}this.taps[n]=e}}function createCompileDelegate(e,t){return function lazyCompileHook(...r){this[e]=this._createCall(t);return this[e](...r)}}Object.defineProperties(Hook.prototype,{_call:{value:createCompileDelegate("call","sync"),configurable:true,writable:true},_promise:{value:createCompileDelegate("promise","promise"),configurable:true,writable:true},_callAsync:{value:createCompileDelegate("callAsync","async"),configurable:true,writable:true}});e.exports=Hook},,function(e,t,r){"use strict";var n=r(221);e.exports=function isExtendable(e){return n(e)||typeof e==="function"||Array.isArray(e)}},,function(e,t,r){"use strict";var n=r(867);var i=r(383);var a=r(681);var o=r(89);var s=1024*64;var c={};e.exports=function(e,t){if(!Array.isArray(e)){return makeRe(e,t)}return makeRe(e.join("|"),t)};function makeRe(e,t){if(e instanceof RegExp){return e}if(typeof e!=="string"){throw new TypeError("expected a string")}if(e.length>s){throw new Error("expected pattern to be less than "+s+" characters")}var r=e;if(!t||t&&t.cache!==false){r=createKey(e,t);if(c.hasOwnProperty(r)){return c[r]}}var i=a({},t);if(i.contains===true){if(i.negate===true){i.strictNegate=false}else{i.strict=false}}if(i.strict===false){i.strictOpen=false;i.strictClose=false}var u=i.strictOpen!==false?"^":"";var l=i.strictClose!==false?"$":"";var f=i.flags||"";var d;if(i.nocase===true&&!/i/.test(f)){f+="i"}try{if(i.negate||typeof i.strictNegate==="boolean"){e=o.create(e,i)}var p=u+"(?:"+e+")"+l;d=new RegExp(p,f);if(i.safe===true&&n(d)===false){throw new Error("potentially unsafe regular expression: "+d.source)}}catch(n){if(i.strictErrors===true||i.safe===true){n.key=r;n.pattern=e;n.originalOptions=t;n.createdOptions=i;throw n}try{d=new RegExp("^"+e.replace(/(\W)/g,"\\$1")+"$")}catch(e){d=/.^/}}if(i.cache!==false){memoize(d,r,e,i)}return d}function memoize(e,t,r,n){i(e,"cached",true);i(e,"pattern",r);i(e,"options",n);i(e,"key",t);c[t]=e}function createKey(e,t){if(!t)return e;var r=e;for(var n in t){if(t.hasOwnProperty(n)){r+=";"+n+"="+String(t[n])}}return r}e.exports.makeRe=makeRe},function(e,t,r){var n=r(334);var i=function(){return[{type:n.RANGE,from:48,to:57}]};var a=function(){return[{type:n.CHAR,value:95},{type:n.RANGE,from:97,to:122},{type:n.RANGE,from:65,to:90}].concat(i())};var o=function(){return[{type:n.CHAR,value:9},{type:n.CHAR,value:10},{type:n.CHAR,value:11},{type:n.CHAR,value:12},{type:n.CHAR,value:13},{type:n.CHAR,value:32},{type:n.CHAR,value:160},{type:n.CHAR,value:5760},{type:n.CHAR,value:6158},{type:n.CHAR,value:8192},{type:n.CHAR,value:8193},{type:n.CHAR,value:8194},{type:n.CHAR,value:8195},{type:n.CHAR,value:8196},{type:n.CHAR,value:8197},{type:n.CHAR,value:8198},{type:n.CHAR,value:8199},{type:n.CHAR,value:8200},{type:n.CHAR,value:8201},{type:n.CHAR,value:8202},{type:n.CHAR,value:8232},{type:n.CHAR,value:8233},{type:n.CHAR,value:8239},{type:n.CHAR,value:8287},{type:n.CHAR,value:12288},{type:n.CHAR,value:65279}]};var s=function(){return[{type:n.CHAR,value:10},{type:n.CHAR,value:13},{type:n.CHAR,value:8232},{type:n.CHAR,value:8233}]};t.words=function(){return{type:n.SET,set:a(),not:false}};t.notWords=function(){return{type:n.SET,set:a(),not:true}};t.ints=function(){return{type:n.SET,set:i(),not:false}};t.notInts=function(){return{type:n.SET,set:i(),not:true}};t.whitespace=function(){return{type:n.SET,set:o(),not:false}};t.notWhitespace=function(){return{type:n.SET,set:o(),not:true}};t.anyChar=function(){return{type:n.SET,set:s(),not:true}}},,function(e){"use strict";var t="%[a-f0-9]{2}";var r=new RegExp(t,"gi");var n=new RegExp("("+t+")+","gi");function decodeComponents(e,t){try{return decodeURIComponent(e.join(""))}catch(e){}if(e.length===1){return e}t=t||1;var r=e.slice(0,t);var n=e.slice(t);return Array.prototype.concat.call([],decodeComponents(r),decodeComponents(n))}function decode(e){try{return decodeURIComponent(e)}catch(i){var t=e.match(r);for(var n=1;n=0}},,,,function(e){"use strict";e.exports=function forEachBail(e,t,r){if(e.length===0)return r();let n=e.length;let i;let a=[];for(let r=0;r{if(e>=n)return;a.push(e);if(t.length>0){n=e+1;a=a.filter(t=>{return t<=e});i=t}if(a.length===n){r.apply(null,i);n=0}}}};e.exports.withIndex=function forEachBailWithIndex(e,t,r){if(e.length===0)return r();let n=e.length;let i;let a=[];for(let r=0;r{if(e>=n)return;a.push(e);if(t.length>0){n=e+1;a=a.filter(t=>{return t<=e});i=t}if(a.length===n){r.apply(null,i);n=0}}}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:true});const n=r(760);const i=r(747);const a=r(622);const o=r(619);const s=r(464);const c=r(852);const u=r(635);const l=r(686);const f=r(674);const d=r(507);const p=r(573);const g={};function getTypeScriptInstance(e,t){if(g.hasOwnProperty(e.instance)){const t=g[e.instance];d.ensureProgram(t);return{instance:g[e.instance]}}const r=new n.default.constructor({enabled:e.colors});const i=l.makeLogger(e,r);const a=s.getCompiler(e,i);if(a.errorMessage!==undefined){return{error:d.makeError(r.red(a.errorMessage),undefined)}}return successfulTypeScriptInstance(e,t,i,r,a.compiler,a.compilerCompatible,a.compilerDetailsLogMessage)}t.getTypeScriptInstance=getTypeScriptInstance;function successfulTypeScriptInstance(e,t,r,n,l,_,m){const y=c.getConfigFile(l,n,t,e,_,r,m);if(y.configFileError!==undefined){const{message:e,file:t}=y.configFileError;return{error:d.makeError(n.red("error while reading tsconfig.json:"+u.EOL+e),t)}}const{configFilePath:h,configFile:v}=y;const T=e.context||a.dirname(h||"");const S=c.getConfigParseResult(l,v,T);if(S.errors.length>0&&!e.happyPackMode){const r=d.formatErrors(S.errors,e,n,l,{file:h},t.context);t._module.errors.push(...r);return{error:d.makeError(n.red("error while parsing tsconfig.json"),h)}}const b=s.getCompilerOptions(S);const x=new Map;const C=new Map;let{getCustomTransformers:E}=e;let D=Function.prototype;if(typeof E==="function"){D=E}else if(typeof E==="string"){try{E=require(E)}catch(t){throw new Error(`Failed to load customTransformers from "${e.getCustomTransformers}": ${t.message}`)}if(typeof E!=="function"){throw new Error(`Custom transformers in "${e.getCustomTransformers}" should export a function, got ${typeof D}`)}D=E}if(e.transpileOnly){const r=S.projectReferences!==undefined?l.createProgram({rootNames:S.fileNames,options:S.options,projectReferences:S.projectReferences}):l.createProgram([],b);if(!e.happyPackMode){const i=r.getOptionsDiagnostics();const a=d.formatErrors(i,e,n,l,{file:h||"tsconfig.json"},t.context);t._module.errors.push(...a)}g[e.instance]={compiler:l,compilerOptions:b,loaderOptions:e,files:x,otherFiles:C,program:r,dependencyGraph:{},reverseDependencyGraph:{},transformers:D(),colors:n};return{instance:g[e.instance]}}let k;try{const t=e.onlyCompileBundledFiles?S.fileNames.filter(e=>u.dtsDtsxOrDtsDtsxMapRegex.test(e)):S.fileNames;t.forEach(e=>{k=a.normalize(e);x.set(k,{text:i.readFileSync(k,"utf-8"),version:0})})}catch(e){return{error:d.makeError(n.red(`A file specified in tsconfig.json could not be found: ${k}`),k)}}const N=S.options.allowJs===true?/\.tsx?$|\.jsx?$/i:/\.tsx?$/i;const A=g[e.instance]={compiler:l,compilerOptions:b,loaderOptions:e,files:x,otherFiles:C,languageService:null,version:0,transformers:D(),dependencyGraph:{},reverseDependencyGraph:{},modifiedFiles:null,colors:n};if(!t._compiler.hooks){throw new Error("You may be using an old version of webpack; please check you're using at least version 4")}if(e.experimentalWatchApi&&l.createWatchProgram){r.logInfo("Using watch api");A.watchHost=f.makeWatchHost(N,r,t,A,e.appendTsSuffixTo,e.appendTsxSuffixTo,S.projectReferences);A.watchOfFilesAndCompilerOptions=l.createWatchProgram(A.watchHost);A.program=A.watchOfFilesAndCompilerOptions.getProgram().getProgram()}else{const n=f.makeServicesHost(N,r,t,A,e.experimentalFileCaching,S.projectReferences);A.languageService=l.createLanguageService(n.servicesHost,l.createDocumentRegistry());if(n.clearCache!==null){t._compiler.hooks.watchRun.tap("ts-loader",n.clearCache)}}t._compiler.hooks.afterCompile.tapAsync("ts-loader",o.makeAfterCompile(A,h));t._compiler.hooks.watchRun.tapAsync("ts-loader",p.makeWatchRun(A));return{instance:A}}function getEmitOutput(e,t){const r=d.ensureProgram(e);if(r!==undefined){const n=[];const i=(e,t,r)=>n.push({name:e,writeByteOrderMark:r,text:t});const a=r.getSourceFile(t);if(a!==undefined||!d.isUsingProjectReferences(e)){r.emit(a,i,undefined,false,e.transformers)}return n}else{return e.languageService.getProgram().getSourceFile(t)===undefined?[]:e.languageService.getEmitOutput(t).outputFiles}}t.getEmitOutput=getEmitOutput},function(e){(function(t){"use strict";var r=20,n=1,i=1e6,a=1e6,o=-7,s=21,c={},u=/^-?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,l;function bigFactory(){function Big(e){var t=this;if(!(t instanceof Big)){return e===void 0?bigFactory():new Big(e)}if(e instanceof Big){t.s=e.s;t.e=e.e;t.c=e.c.slice()}else{parse(t,e)}t.constructor=Big}Big.prototype=c;Big.DP=r;Big.RM=n;Big.E_NEG=o;Big.E_POS=s;return Big}function format(e,t,r){var n=e.constructor,i=t-(e=new n(e)).e,a=e.c;if(a.length>++t){rnd(e,i,n.RM)}if(!a[0]){++i}else if(r){i=t}else{a=e.c;i=e.e+i+1}for(;a.length1?a[0]+"."+a.join("").slice(1):a[0])+(i<0?"e":"e+")+i:e.toString()}function parse(e,t){var r,n,i;if(t===0&&1/t<0){t="-0"}else if(!u.test(t+="")){throwErr(NaN)}e.s=t.charAt(0)=="-"?(t=t.slice(1),-1):1;if((r=t.indexOf("."))>-1){t=t.replace(".","")}if((n=t.search(/e/i))>0){if(r<0){r=n}r+=+t.slice(n+1);t=t.substring(0,n)}else if(r<0){r=t.length}i=t.length;for(n=0;n0&&t.charAt(--i)=="0";){}e.e=r-n-1;e.c=[];for(;n<=i;e.c.push(+t.charAt(n++))){}}return e}function rnd(e,t,r,n){var i,a=e.c,o=e.e+t+1;if(r===1){n=a[o]>=5}else if(r===2){n=a[o]>5||a[o]==5&&(n||o<0||a[o+1]!==i||a[o-1]&1)}else if(r===3){n=n||a[o]!==i||o<0}else{n=false;if(r!==0){throwErr("!Big.RM!")}}if(o<1||!a[0]){if(n){e.e=-t;e.c=[1]}else{e.c=[e.e=0]}}else{a.length=o--;if(n){for(;++a[o]>9;){a[o]=0;if(!o--){++e.e;a.unshift(1)}}}for(o=a.length;!a[--o];a.pop()){}}return e}function throwErr(e){var t=new Error(e);t.name="BigError";throw t}c.abs=function(){var e=new this.constructor(this);e.s=1;return e};c.cmp=function(e){var t,r=this,n=r.c,i=(e=new r.constructor(e)).c,a=r.s,o=e.s,s=r.e,c=e.e;if(!n[0]||!i[0]){return!n[0]?!i[0]?0:-o:a}if(a!=o){return a}t=a<0;if(s!=c){return s>c^t?1:-1}a=-1;o=(s=n.length)<(c=i.length)?s:c;for(;++ai[a]^t?1:-1}}return s==c?0:s>c^t?1:-1};c.div=function(e){var t=this,r=t.constructor,n=t.c,a=(e=new r(e)).c,o=t.s==e.s?1:-1,s=r.DP;if(s!==~~s||s<0||s>i){throwErr("!Big.DP!")}if(!n[0]||!a[0]){if(n[0]==a[0]){throwErr(NaN)}if(!a[0]){throwErr(o/0)}return new r(o*0)}var c,u,l,f,d,p,g=a.slice(),_=c=a.length,m=n.length,y=n.slice(0,c),h=y.length,v=e,T=v.c=[],S=0,b=s+(v.e=t.e-e.e)+1;v.s=o;o=b<0?0:b;g.unshift(0);for(;h++h?1:-1}else{for(d=-1,f=0;++dy[d]?1:-1;break}}}if(f<0){for(u=h==c?a:g;h;){if(y[--h]b){rnd(v,s,r.RM,y[0]!==p)}return v};c.eq=function(e){return!this.cmp(e)};c.gt=function(e){return this.cmp(e)>0};c.gte=function(e){return this.cmp(e)>-1};c.lt=function(e){return this.cmp(e)<0};c.lte=function(e){return this.cmp(e)<1};c.sub=c.minus=function(e){var t,r,n,i,a=this,o=a.constructor,s=a.s,c=(e=new o(e)).s;if(s!=c){e.s=-c;return a.plus(e)}var u=a.c.slice(),l=a.e,f=e.c,d=e.e;if(!u[0]||!f[0]){return f[0]?(e.s=-c,e):new o(u[0]?a:0)}if(s=l-d){if(i=s<0){s=-s;n=u}else{d=l;n=f}n.reverse();for(c=s;c--;n.push(0)){}n.reverse()}else{r=((i=u.length0){for(;c--;u[t++]=0){}}for(c=t;r>s;){if(u[--r]0){c=o;t=u}else{i=-i;t=s}t.reverse();for(;i--;t.push(0)){}t.reverse()}if(s.length-u.length<0){t=u;u=s;s=t}i=u.length;for(a=0;i;){a=(s[--i]=s[i]+u[i]+a)/10|0;s[i]%=10}if(a){s.unshift(a);++c}for(i=s.length;s[--i]===0;s.pop()){}e.c=s;e.e=c;return e};c.pow=function(e){var t=this,r=new t.constructor(1),n=r,i=e<0;if(e!==~~e||e<-a||e>a){throwErr("!pow!")}e=i?-e:e;for(;;){if(e&1){n=n.times(t)}e>>=1;if(!e){break}t=t.times(t)}return i?r.div(n):n};c.round=function(e,t){var r=this,n=r.constructor;if(e==null){e=0}else if(e!==~~e||e<0||e>i){throwErr("!round!")}rnd(r=new n(r),e,t==null?n.RM:t);return r};c.sqrt=function(){var e,t,r,n=this,i=n.constructor,a=n.c,o=n.s,s=n.e,c=new i("0.5");if(!a[0]){return new i(n)}if(o<0){throwErr(NaN)}o=Math.sqrt(n.toString());if(o===0||o===1/0){e=a.join("");if(!(e.length+s&1)){e+="0"}t=new i(Math.sqrt(e).toString());t.e=((s+1)/2|0)-(s<0||s&1)}else{t=new i(o.toString())}o=t.e+(i.DP+=4);do{r=t;t=c.times(r.plus(n.div(r)))}while(r.c.slice(0,o).join("")!==t.c.slice(0,o).join(""));rnd(t,i.DP-=4,i.RM);return t};c.mul=c.times=function(e){var t,r=this,n=r.constructor,i=r.c,a=(e=new n(e)).c,o=i.length,s=a.length,c=r.e,u=e.e;e.s=r.s==e.s?1:-1;if(!i[0]||!a[0]){return new n(e.s*0)}e.e=c+u;if(oc;){s=t[u]+a[c]*i[u-c-1]+s;t[u--]=s%10;s=s/10|0}t[u]=(t[u]+s)%10}if(s){++e.e}if(!t[0]){t.shift()}for(c=t.length;!t[--c];t.pop()){}e.c=t;return e};c.toString=c.valueOf=c.toJSON=function(){var e=this,t=e.constructor,r=e.e,n=e.c.join(""),i=n.length;if(r<=t.E_NEG||r>=t.E_POS){n=n.charAt(0)+(i>1?"."+n.slice(1):"")+(r<0?"e":"e+")+r}else if(r<0){for(;++r;n="0"+n){}n="0."+n}else if(r>0){if(++r>i){for(r-=i;r--;n+="0"){}}else if(r1){n=n.charAt(0)+"."+n.slice(1)}return e.s<0&&e.c[0]?"-"+n:n};c.toExponential=function(e){if(e==null){e=this.c.length-1}else if(e!==~~e||e<0||e>i){throwErr("!toExp!")}return format(this,e,1)};c.toFixed=function(e){var t,r=this,n=r.constructor,a=n.E_NEG,o=n.E_POS;n.E_NEG=-(n.E_POS=1/0);if(e==null){t=r.toString()}else if(e===~~e&&e>=0&&e<=i){t=format(r,r.e+e);if(r.s<0&&r.c[0]&&t.indexOf("-")<0){t="-"+t}}n.E_NEG=a;n.E_POS=o;if(!t){throwErr("!toFix!")}return t};c.toPrecision=function(e){if(e==null){return this.toString()}else if(e!==~~e||e<1||e>i){throwErr("!toPre!")}return format(this,e-1,2)};l=bigFactory();if(typeof define==="function"&&define.amd){define(function(){return l})}else if(true&&e.exports){e.exports=l;e.exports.Big=l}else{t.Big=l}})(this)},function(e){"use strict";function getCurrentRequest(e){if(e.currentRequest)return e.currentRequest;const t=e.loaders.slice(e.loaderIndex).map(e=>e.request).concat([e.resource]);return t.join("!")}e.exports=getCurrentRequest},,,,,,,,,function(e){"use strict";const t=/(?:\\(u[a-f\d]{4}|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi;const r=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g;const n=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/;const i=/\\(u[a-f\d]{4}|x[a-f\d]{2}|.)|([^\\])/gi;const a=new Map([["n","\n"],["r","\r"],["t","\t"],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e",""],["a",""]]);function unescape(e){if(e[0]==="u"&&e.length===5||e[0]==="x"&&e.length===3){return String.fromCharCode(parseInt(e.slice(1),16))}return a.get(e)||e}function parseArguments(e,t){const r=[];const a=t.trim().split(/\s*,\s*/g);let o;for(const t of a){if(!isNaN(t)){r.push(Number(t))}else if(o=t.match(n)){r.push(o[2].replace(i,(e,t,r)=>t?unescape(t):r))}else{throw new Error(`Invalid Chalk template style argument: ${t} (in style '${e}')`)}}return r}function parseStyle(e){r.lastIndex=0;const t=[];let n;while((n=r.exec(e))!==null){const e=n[1];if(n[2]){const r=parseArguments(e,n[2]);t.push([e].concat(r))}else{t.push([e])}}return t}function buildStyle(e,t){const r={};for(const e of t){for(const t of e.styles){r[t[0]]=e.inverse?null:t.slice(1)}}let n=e;for(const e of Object.keys(r)){if(Array.isArray(r[e])){if(!(e in n)){throw new Error(`Unknown Chalk style: ${e}`)}if(r[e].length>0){n=n[e].apply(n,r[e])}else{n=n[e]}}}return n}e.exports=((e,r)=>{const n=[];const i=[];let a=[];r.replace(t,(t,r,o,s,c,u)=>{if(r){a.push(unescape(r))}else if(s){const t=a.join("");a=[];i.push(n.length===0?t:buildStyle(e,n)(t));n.push({inverse:o,styles:parseStyle(s)})}else if(c){if(n.length===0){throw new Error("Found extraneous } in Chalk template literal")}i.push(buildStyle(e,n)(a.join("")));a=[];n.pop()}else{a.push(u)}});i.push(a.join(""));if(n.length>0){const e=`Chalk template literal is missing ${n.length} closing bracket${n.length===1?"":"s"} (\`}\`)`;throw new Error(e)}return i.join("")})},,,,,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:true});const n=r(622);const i=r(635);const a=r(507);function makeWatchRun(e){const t=new Map;const r=0;return(n,a)=>{if(null===e.modifiedFiles){e.modifiedFiles=new Map}const o=n.fileTimestamps;for(const[n,a]of o){if(a>(t.get(n)||r)&&n.match(i.tsTsxJsJsxRegex)!==null){continue}t.set(n,a);updateFile(e,n)}for(const t of e.files.keys()){if(t.match(i.dtsDtsxOrDtsDtsxMapRegex)!==null&&t.match(i.nodeModules)===null){updateFile(e,t)}}a()}}t.makeWatchRun=makeWatchRun;function updateFile(e,t){const r=n.normalize(t);const i=e.files.get(r)||e.otherFiles.get(r);if(i!==undefined){i.text=a.readFile(r)||"";i.version++;e.version++;e.modifiedFiles.set(r,i);if(e.watchHost!==undefined){e.watchHost.invokeFileWatcher(r,e.compiler.FileWatcherEventKind.Changed)}}}},,function(e,t,r){"use strict";const n=r(528);const i=r(371);class SyncHookCodeFactory extends i{content({onError:e,onResult:t,onDone:r,rethrowIfPossible:n}){return this.callTapsSeries({onError:(t,r)=>e(r),onDone:r,rethrowIfPossible:n})}}const a=new SyncHookCodeFactory;class SyncHook extends n{tapAsync(){throw new Error("tapAsync is not supported on a SyncHook")}tapPromise(){throw new Error("tapPromise is not supported on a SyncHook")}compile(e){a.setup(this,e);return a.create(e)}}e.exports=SyncHook},function(e,t,r){"use strict";var n=r(181);e.exports=function defineProperty(e,t,r){if(typeof e!=="object"&&typeof e!=="function"){throw new TypeError("expected an object or function.")}if(typeof t!=="string"){throw new TypeError("expected `prop` to be a string.")}if(n(r)&&("set"in r||"get"in r)){return Object.defineProperty(e,t,r)}return Object.defineProperty(e,t,{configurable:true,enumerable:false,writable:true,value:r})}},function(e,t,r){"use strict";var n=r(603);var i=r(954);e.exports=Object.assign||function(e){if(e===null||typeof e==="undefined"){throw new TypeError("Cannot convert undefined or null to object")}if(!isObject(e)){e={}}for(var t=1;t{if(i.compiler.isChild()){a();return}removeTSLoaderErrors(i.errors);provideCompilerOptionDiagnosticErrorsToWebpack(r,i,e,t);r=false;const o=determineModules(i);const s=determineFilesToCheckForErrors(n,e);n=false;const c=new Map;provideErrorsToWebpack(s,c,i,o,e);provideDeclarationFilesToWebpack(s,e,i);e.filesWithErrors=c;e.modifiedFiles=null;e.projectsMissingSourceMaps=new Set;a()}}t.makeAfterCompile=makeAfterCompile;function provideCompilerOptionDiagnosticErrorsToWebpack(e,t,r,n){if(e){const{languageService:e,loaderOptions:i,compiler:a,program:s}=r;const c=o.formatErrors(s===undefined?e.getCompilerOptionsDiagnostics():s.getOptionsDiagnostics(),i,r.colors,a,{file:n||"tsconfig.json"},t.compiler.context);t.errors.push(...c)}}function determineModules(e){const t=new Map;e.modules.forEach(e=>{if(e.resource){const r=n.normalize(e.resource);const i=t.get(r);if(i!==undefined){if(i.indexOf(e)===-1){i.push(e)}}else{t.set(r,[e])}}});return t}function determineFilesToCheckForErrors(e,t){const{files:r,modifiedFiles:n,filesWithErrors:i,otherFiles:a}=t;const s=new Map;if(e){for(const[e,t]of r){s.set(e,t)}for(const[e,t]of a){s.set(e,t)}}else if(n!==null&&n!==undefined){for(const e of n.keys()){o.collectAllDependants(t.reverseDependencyGraph,e).forEach(e=>{const t=r.get(e)||a.get(e);s.set(e,t)})}}if(i!==undefined){for(const[e,t]of i){s.set(e,t)}}return s}function provideErrorsToWebpack(e,t,r,n,a){const{compiler:s,program:c,languageService:u,files:l,loaderOptions:f,compilerOptions:d,otherFiles:p}=a;const g=d.checkJs===true?i.dtsTsTsxJsJsxRegex:i.dtsTsTsxRegex;for(const i of e.keys()){if(i.match(g)===null){continue}const e=c===undefined?undefined:c.getSourceFile(i);if(o.isUsingProjectReferences(a)&&e===undefined){continue}const d=c===undefined?[...u.getSyntacticDiagnostics(i),...u.getSemanticDiagnostics(i)]:[...c.getSyntacticDiagnostics(e),...c.getSemanticDiagnostics(e)];if(d.length>0){const e=l.get(i)||p.get(i);t.set(i,e)}const _=n.get(i);if(_!==undefined){_.forEach(e=>{removeTSLoaderErrors(e.errors);const t=o.formatErrors(d,f,a.colors,s,{module:e},r.compiler.context);e.errors.push(...t);r.errors.push(...t)})}else{const e=o.formatErrors(d,f,a.colors,s,{file:i},r.compiler.context);r.errors.push(...e)}}}function provideDeclarationFilesToWebpack(e,t,r){for(const o of e.keys()){if(o.match(i.tsTsxRegex)===null){continue}const e=a.getEmitOutput(t,o);const s=e.filter(e=>e.name.match(i.dtsDtsxOrDtsDtsxMapRegex));s.forEach(e=>{const t=n.relative(r.compiler.outputPath,e.name);r.assets[t]={source:()=>e.text,size:()=>e.text.length}})}}function removeTSLoaderErrors(e){let t=-1;let r=e.length;while(++tr||i==r&&o>=a||n.compareByGeneratedPositionsInflated(e,t)<=0}function MappingList(){this._array=[];this._sorted=true;this._last={generatedLine:-1,generatedColumn:0}}MappingList.prototype.unsortedForEach=function MappingList_forEach(e,t){this._array.forEach(e,t)};MappingList.prototype.add=function MappingList_add(e){if(generatedPositionAfter(this._last,e)){this._last=e;this._array.push(e)}else{this._sorted=false;this._array.push(e)}};MappingList.prototype.toArray=function MappingList_toArray(){if(!this._sorted){this._array.sort(n.compareByGeneratedPositionsInflated);this._sorted=true}return this._array};t.MappingList=MappingList},,,,function(e){"use strict";e.exports=class ModuleKindPlugin{constructor(e,t){this.source=e;this.target=t}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("ModuleKindPlugin",(r,n,i)=>{if(!r.module)return i();const a=Object.assign({},r);delete a.module;e.doResolve(t,a,"resolve as module",n,(e,t)=>{if(e)return i(e);if(t===undefined)return i(null,null);i(null,t)})})}}},,function(e,t,r){var n=r(253);var i={};for(var a in n){if(n.hasOwnProperty(a)){i[n[a]]=a}}var o=e.exports={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};for(var s in o){if(o.hasOwnProperty(s)){if(!("channels"in o[s])){throw new Error("missing channels property: "+s)}if(!("labels"in o[s])){throw new Error("missing channel labels property: "+s)}if(o[s].labels.length!==o[s].channels){throw new Error("channel and label counts mismatch: "+s)}var c=o[s].channels;var u=o[s].labels;delete o[s].channels;delete o[s].labels;Object.defineProperty(o[s],"channels",{value:c});Object.defineProperty(o[s],"labels",{value:u})}}o.rgb.hsl=function(e){var t=e[0]/255;var r=e[1]/255;var n=e[2]/255;var i=Math.min(t,r,n);var a=Math.max(t,r,n);var o=a-i;var s;var c;var u;if(a===i){s=0}else if(t===a){s=(r-n)/o}else if(r===a){s=2+(n-t)/o}else if(n===a){s=4+(t-r)/o}s=Math.min(s*60,360);if(s<0){s+=360}u=(i+a)/2;if(a===i){c=0}else if(u<=.5){c=o/(a+i)}else{c=o/(2-a-i)}return[s,c*100,u*100]};o.rgb.hsv=function(e){var t;var r;var n;var i;var a;var o=e[0]/255;var s=e[1]/255;var c=e[2]/255;var u=Math.max(o,s,c);var l=u-Math.min(o,s,c);var f=function(e){return(u-e)/6/l+1/2};if(l===0){i=a=0}else{a=l/u;t=f(o);r=f(s);n=f(c);if(o===u){i=n-r}else if(s===u){i=1/3+t-n}else if(c===u){i=2/3+r-t}if(i<0){i+=1}else if(i>1){i-=1}}return[i*360,a*100,u*100]};o.rgb.hwb=function(e){var t=e[0];var r=e[1];var n=e[2];var i=o.rgb.hsl(e)[0];var a=1/255*Math.min(t,Math.min(r,n));n=1-1/255*Math.max(t,Math.max(r,n));return[i,a*100,n*100]};o.rgb.cmyk=function(e){var t=e[0]/255;var r=e[1]/255;var n=e[2]/255;var i;var a;var o;var s;s=Math.min(1-t,1-r,1-n);i=(1-t-s)/(1-s)||0;a=(1-r-s)/(1-s)||0;o=(1-n-s)/(1-s)||0;return[i*100,a*100,o*100,s*100]};function comparativeDistance(e,t){return Math.pow(e[0]-t[0],2)+Math.pow(e[1]-t[1],2)+Math.pow(e[2]-t[2],2)}o.rgb.keyword=function(e){var t=i[e];if(t){return t}var r=Infinity;var a;for(var o in n){if(n.hasOwnProperty(o)){var s=n[o];var c=comparativeDistance(e,s);if(c.04045?Math.pow((t+.055)/1.055,2.4):t/12.92;r=r>.04045?Math.pow((r+.055)/1.055,2.4):r/12.92;n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92;var i=t*.4124+r*.3576+n*.1805;var a=t*.2126+r*.7152+n*.0722;var o=t*.0193+r*.1192+n*.9505;return[i*100,a*100,o*100]};o.rgb.lab=function(e){var t=o.rgb.xyz(e);var r=t[0];var n=t[1];var i=t[2];var a;var s;var c;r/=95.047;n/=100;i/=108.883;r=r>.008856?Math.pow(r,1/3):7.787*r+16/116;n=n>.008856?Math.pow(n,1/3):7.787*n+16/116;i=i>.008856?Math.pow(i,1/3):7.787*i+16/116;a=116*n-16;s=500*(r-n);c=200*(n-i);return[a,s,c]};o.hsl.rgb=function(e){var t=e[0]/360;var r=e[1]/100;var n=e[2]/100;var i;var a;var o;var s;var c;if(r===0){c=n*255;return[c,c,c]}if(n<.5){a=n*(1+r)}else{a=n+r-n*r}i=2*n-a;s=[0,0,0];for(var u=0;u<3;u++){o=t+1/3*-(u-1);if(o<0){o++}if(o>1){o--}if(6*o<1){c=i+(a-i)*6*o}else if(2*o<1){c=a}else if(3*o<2){c=i+(a-i)*(2/3-o)*6}else{c=i}s[u]=c*255}return s};o.hsl.hsv=function(e){var t=e[0];var r=e[1]/100;var n=e[2]/100;var i=r;var a=Math.max(n,.01);var o;var s;n*=2;r*=n<=1?n:2-n;i*=a<=1?a:2-a;s=(n+r)/2;o=n===0?2*i/(a+i):2*r/(n+r);return[t,o*100,s*100]};o.hsv.rgb=function(e){var t=e[0]/60;var r=e[1]/100;var n=e[2]/100;var i=Math.floor(t)%6;var a=t-Math.floor(t);var o=255*n*(1-r);var s=255*n*(1-r*a);var c=255*n*(1-r*(1-a));n*=255;switch(i){case 0:return[n,c,o];case 1:return[s,n,o];case 2:return[o,n,c];case 3:return[o,s,n];case 4:return[c,o,n];case 5:return[n,o,s]}};o.hsv.hsl=function(e){var t=e[0];var r=e[1]/100;var n=e[2]/100;var i=Math.max(n,.01);var a;var o;var s;s=(2-r)*n;a=(2-r)*i;o=r*i;o/=a<=1?a:2-a;o=o||0;s/=2;return[t,o*100,s*100]};o.hwb.rgb=function(e){var t=e[0]/360;var r=e[1]/100;var n=e[2]/100;var i=r+n;var a;var o;var s;var c;if(i>1){r/=i;n/=i}a=Math.floor(6*t);o=1-n;s=6*t-a;if((a&1)!==0){s=1-s}c=r+s*(o-r);var u;var l;var f;switch(a){default:case 6:case 0:u=o;l=c;f=r;break;case 1:u=c;l=o;f=r;break;case 2:u=r;l=o;f=c;break;case 3:u=r;l=c;f=o;break;case 4:u=c;l=r;f=o;break;case 5:u=o;l=r;f=c;break}return[u*255,l*255,f*255]};o.cmyk.rgb=function(e){var t=e[0]/100;var r=e[1]/100;var n=e[2]/100;var i=e[3]/100;var a;var o;var s;a=1-Math.min(1,t*(1-i)+i);o=1-Math.min(1,r*(1-i)+i);s=1-Math.min(1,n*(1-i)+i);return[a*255,o*255,s*255]};o.xyz.rgb=function(e){var t=e[0]/100;var r=e[1]/100;var n=e[2]/100;var i;var a;var o;i=t*3.2406+r*-1.5372+n*-.4986;a=t*-.9689+r*1.8758+n*.0415;o=t*.0557+r*-.204+n*1.057;i=i>.0031308?1.055*Math.pow(i,1/2.4)-.055:i*12.92;a=a>.0031308?1.055*Math.pow(a,1/2.4)-.055:a*12.92;o=o>.0031308?1.055*Math.pow(o,1/2.4)-.055:o*12.92;i=Math.min(Math.max(0,i),1);a=Math.min(Math.max(0,a),1);o=Math.min(Math.max(0,o),1);return[i*255,a*255,o*255]};o.xyz.lab=function(e){var t=e[0];var r=e[1];var n=e[2];var i;var a;var o;t/=95.047;r/=100;n/=108.883;t=t>.008856?Math.pow(t,1/3):7.787*t+16/116;r=r>.008856?Math.pow(r,1/3):7.787*r+16/116;n=n>.008856?Math.pow(n,1/3):7.787*n+16/116;i=116*r-16;a=500*(t-r);o=200*(r-n);return[i,a,o]};o.lab.xyz=function(e){var t=e[0];var r=e[1];var n=e[2];var i;var a;var o;a=(t+16)/116;i=r/500+a;o=a-n/200;var s=Math.pow(a,3);var c=Math.pow(i,3);var u=Math.pow(o,3);a=s>.008856?s:(a-16/116)/7.787;i=c>.008856?c:(i-16/116)/7.787;o=u>.008856?u:(o-16/116)/7.787;i*=95.047;a*=100;o*=108.883;return[i,a,o]};o.lab.lch=function(e){var t=e[0];var r=e[1];var n=e[2];var i;var a;var o;i=Math.atan2(n,r);a=i*360/2/Math.PI;if(a<0){a+=360}o=Math.sqrt(r*r+n*n);return[t,o,a]};o.lch.lab=function(e){var t=e[0];var r=e[1];var n=e[2];var i;var a;var o;o=n/360*2*Math.PI;i=r*Math.cos(o);a=r*Math.sin(o);return[t,i,a]};o.rgb.ansi16=function(e){var t=e[0];var r=e[1];var n=e[2];var i=1 in arguments?arguments[1]:o.rgb.hsv(e)[2];i=Math.round(i/50);if(i===0){return 30}var a=30+(Math.round(n/255)<<2|Math.round(r/255)<<1|Math.round(t/255));if(i===2){a+=60}return a};o.hsv.ansi16=function(e){return o.rgb.ansi16(o.hsv.rgb(e),e[2])};o.rgb.ansi256=function(e){var t=e[0];var r=e[1];var n=e[2];if(t===r&&r===n){if(t<8){return 16}if(t>248){return 231}return Math.round((t-8)/247*24)+232}var i=16+36*Math.round(t/255*5)+6*Math.round(r/255*5)+Math.round(n/255*5);return i};o.ansi16.rgb=function(e){var t=e%10;if(t===0||t===7){if(e>50){t+=3.5}t=t/10.5*255;return[t,t,t]}var r=(~~(e>50)+1)*.5;var n=(t&1)*r*255;var i=(t>>1&1)*r*255;var a=(t>>2&1)*r*255;return[n,i,a]};o.ansi256.rgb=function(e){if(e>=232){var t=(e-232)*10+8;return[t,t,t]}e-=16;var r;var n=Math.floor(e/36)/5*255;var i=Math.floor((r=e%36)/6)/5*255;var a=r%6/5*255;return[n,i,a]};o.rgb.hex=function(e){var t=((Math.round(e[0])&255)<<16)+((Math.round(e[1])&255)<<8)+(Math.round(e[2])&255);var r=t.toString(16).toUpperCase();return"000000".substring(r.length)+r};o.hex.rgb=function(e){var t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t){return[0,0,0]}var r=t[0];if(t[0].length===3){r=r.split("").map(function(e){return e+e}).join("")}var n=parseInt(r,16);var i=n>>16&255;var a=n>>8&255;var o=n&255;return[i,a,o]};o.rgb.hcg=function(e){var t=e[0]/255;var r=e[1]/255;var n=e[2]/255;var i=Math.max(Math.max(t,r),n);var a=Math.min(Math.min(t,r),n);var o=i-a;var s;var c;if(o<1){s=a/(1-o)}else{s=0}if(o<=0){c=0}else if(i===t){c=(r-n)/o%6}else if(i===r){c=2+(n-t)/o}else{c=4+(t-r)/o+4}c/=6;c%=1;return[c*360,o*100,s*100]};o.hsl.hcg=function(e){var t=e[1]/100;var r=e[2]/100;var n=1;var i=0;if(r<.5){n=2*t*r}else{n=2*t*(1-r)}if(n<1){i=(r-.5*n)/(1-n)}return[e[0],n*100,i*100]};o.hsv.hcg=function(e){var t=e[1]/100;var r=e[2]/100;var n=t*r;var i=0;if(n<1){i=(r-n)/(1-n)}return[e[0],n*100,i*100]};o.hcg.rgb=function(e){var t=e[0]/360;var r=e[1]/100;var n=e[2]/100;if(r===0){return[n*255,n*255,n*255]}var i=[0,0,0];var a=t%1*6;var o=a%1;var s=1-o;var c=0;switch(Math.floor(a)){case 0:i[0]=1;i[1]=o;i[2]=0;break;case 1:i[0]=s;i[1]=1;i[2]=0;break;case 2:i[0]=0;i[1]=1;i[2]=o;break;case 3:i[0]=0;i[1]=s;i[2]=1;break;case 4:i[0]=o;i[1]=0;i[2]=1;break;default:i[0]=1;i[1]=0;i[2]=s}c=(1-r)*n;return[(r*i[0]+c)*255,(r*i[1]+c)*255,(r*i[2]+c)*255]};o.hcg.hsv=function(e){var t=e[1]/100;var r=e[2]/100;var n=t+r*(1-t);var i=0;if(n>0){i=t/n}return[e[0],i*100,n*100]};o.hcg.hsl=function(e){var t=e[1]/100;var r=e[2]/100;var n=r*(1-t)+.5*t;var i=0;if(n>0&&n<.5){i=t/(2*n)}else if(n>=.5&&n<1){i=t/(2*(1-n))}return[e[0],i*100,n*100]};o.hcg.hwb=function(e){var t=e[1]/100;var r=e[2]/100;var n=t+r*(1-t);return[e[0],(n-t)*100,(1-n)*100]};o.hwb.hcg=function(e){var t=e[1]/100;var r=e[2]/100;var n=1-r;var i=n-t;var a=0;if(i<1){a=(n-i)/(1-i)}return[e[0],i*100,a*100]};o.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]};o.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]};o.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]};o.gray.hsl=o.gray.hsv=function(e){return[0,0,e[0]]};o.gray.hwb=function(e){return[0,100,e[0]]};o.gray.cmyk=function(e){return[0,0,0,e[0]]};o.gray.lab=function(e){return[e[0],0,0]};o.gray.hex=function(e){var t=Math.round(e[0]/100*255)&255;var r=(t<<16)+(t<<8)+t;var n=r.toString(16).toUpperCase();return"000000".substring(n.length)+n};o.rgb.gray=function(e){var t=(e[0]+e[1]+e[2])/3;return[t/255*100]}},,,function(e,t,r){"use strict";const n=r(528);const i=r(371);class AsyncSeriesBailHookCodeFactory extends i{content({onError:e,onResult:t,onDone:r}){return this.callTapsSeries({onError:(t,r,n,i)=>e(r)+i(true),onResult:(e,r,n)=>`if(${r} !== undefined) {\n${t(r)};\n} else {\n${n()}}\n`,onDone:r})}}const a=new AsyncSeriesBailHookCodeFactory;class AsyncSeriesBailHook extends n{compile(e){a.setup(this,e);return a.create(e)}}Object.defineProperties(AsyncSeriesBailHook.prototype,{_call:{value:undefined,configurable:true,writable:true}});e.exports=AsyncSeriesBailHook},,function(e,t,r){"use strict";const n=r(556);function loadDescriptionFile(e,t,r,i,a){(function findDescriptionFile(){n(r,(r,n)=>{const a=e.join(t,r);if(e.fileSystem.readJson){e.fileSystem.readJson(a,(e,t)=>{if(e){if(typeof e.code!=="undefined")return n();return onJson(e)}onJson(null,t)})}else{e.fileSystem.readFile(a,(e,t)=>{if(e)return n();let r;try{r=JSON.parse(t)}catch(e){onJson(e)}onJson(null,r)})}function onJson(e,r){if(e){if(i.log)i.log(a+" (directory description file): "+e);else e.message=a+" (directory description file): "+e;return n(e)}n(null,{content:r,directory:t,path:a})}},(e,r)=>{if(e)return a(e);if(r){return a(null,r)}else{t=cdUp(t);if(!t){return a()}else{return findDescriptionFile()}}})})()}function getField(e,t){if(!e)return undefined;if(Array.isArray(t)){let r=e;for(let e=0;e>>=0;var i=e.byteLength-t;if(i<0){throw new RangeError("'offset' is out of bounds")}if(n===undefined){n=i}else{n>>>=0;if(n>i){throw new RangeError("'length' is out of bounds")}}return r?Buffer.from(e.slice(t,t+n)):new Buffer(new Uint8Array(e.slice(t,t+n)))}function fromString(e,t){if(typeof t!=="string"||t===""){t="utf8"}if(!Buffer.isEncoding(t)){throw new TypeError('"encoding" must be a valid string encoding')}return r?Buffer.from(e,t):new Buffer(e,t)}function bufferFrom(e,t,n){if(typeof e==="number"){throw new TypeError('"value" argument must not be a number')}if(isArrayBuffer(e)){return fromArrayBuffer(e,t,n)}if(typeof e==="string"){return fromString(e,t)}return r?Buffer.from(e):new Buffer(e)}e.exports=bufferFrom},function(e,t,r){"use strict";var n=r(586);e.exports=function defineProperty(e,t,r){if(typeof e!=="object"&&typeof e!=="function"){throw new TypeError("expected an object or function.")}if(typeof t!=="string"){throw new TypeError("expected `prop` to be a string.")}if(n(r)&&("set"in r||"get"in r)){return Object.defineProperty(e,t,r)}return Object.defineProperty(e,t,{configurable:true,enumerable:false,writable:true,value:r})}},,,,,,,,,,,,,,,,,,function(e,t,r){"use strict";const n={26:"abcdefghijklmnopqrstuvwxyz",32:"123456789abcdefghjkmnpqrstuvwxyz",36:"0123456789abcdefghijklmnopqrstuvwxyz",49:"abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ",52:"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",58:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ",62:"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",64:"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_"};function encodeBufferToBase(e,t){const i=n[t];if(!i)throw new Error("Unknown encoding base"+t);const a=e.length;const o=r(558);o.RM=o.DP=0;let s=new o(0);for(let t=a-1;t>=0;t--){s=s.times(256).plus(e[t])}let c="";while(s.gt(0)){c=i[s.mod(t)]+c;s=s.div(t)}o.DP=20;o.RM=1;return c}function getHashDigest(e,t,n,i){t=t||"md5";i=i||9999;const a=r(417).createHash(t);a.update(e);if(n==="base26"||n==="base32"||n==="base36"||n==="base49"||n==="base52"||n==="base58"||n==="base62"||n==="base64"){return encodeBufferToBase(a.digest(),n.substr(4)).substr(0,i)}else{return a.digest(n||"hex").substr(0,i)}}e.exports=getHashDigest},,,,,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:true});const n=r(622);const i=r(635);const a=r(65);const o=r(507);function makeServicesHost(e,t,r,s,c,u){const{compiler:l,compilerOptions:f,files:d,loaderOptions:{appendTsSuffixTo:p,appendTsxSuffixTo:g,resolveModuleName:_}}=s;const m=f.newLine===i.CarriageReturnLineFeedCode?i.CarriageReturnLineFeed:f.newLine===i.LineFeedCode?i.LineFeed:i.EOL;const y=a.makeResolver(r._compiler.options);const h=(e,t)=>l.sys.readFile(e,t)||o.readFile(e,t);const v=e=>l.sys.fileExists(e)||o.readFile(e)!==undefined;const T={fileExists:v,readFile:h,realpath:l.sys.realpath,directoryExists:l.sys.directoryExists};const S=c?addCache(T):null;const b=()=>r.context;const x={getProjectVersion:()=>`${s.version}`,getProjectReferences:()=>u,getScriptFileNames:()=>[...d.keys()].filter(t=>t.match(e)),getScriptVersion:e=>{e=n.normalize(e);const t=d.get(e);return t===undefined?"":t.version.toString()},getScriptSnapshot:e=>{e=n.normalize(e);let t=d.get(e);if(t===undefined){const r=o.readFile(e);if(r===undefined){return undefined}t={version:0,text:r};d.set(e,t)}return l.ScriptSnapshot.fromString(t.text)},getDirectories:l.sys.getDirectories,directoryExists:T.directoryExists,useCaseSensitiveFileNames:()=>l.sys.useCaseSensitiveFileNames,realpath:T.realpath,fileExists:T.fileExists,readFile:T.readFile,readDirectory:l.sys.readDirectory,getCurrentDirectory:b,getCompilationSettings:()=>f,getDefaultLibFileName:e=>l.getDefaultLibFilePath(e),getNewLine:()=>m,trace:t.log,log:t.log,resolveModuleNames:(t,r)=>resolveModuleNames(y,T,p,g,e,s,t,r,getResolutionStrategy,_),getCustomTransformers:()=>s.transformers};return{servicesHost:x,clearCache:S}}t.makeServicesHost=makeServicesHost;function makeWatchHost(e,t,r,s,c,u,l){const{compiler:f,compilerOptions:d,files:p,otherFiles:g}=s;const _=d.newLine===i.CarriageReturnLineFeedCode?i.CarriageReturnLineFeed:d.newLine===i.LineFeedCode?i.LineFeed:i.EOL;const m=a.makeResolver(r._compiler.options);const y=(e,t)=>f.sys.readFile(e,t)||o.readFile(e,t);const h={fileExists:fileExists,readFile:y,realpath:f.sys.realpath};const v=()=>r.context;const T={};const S={};const b={};const x={rootFiles:getRootFileNames(),options:d,useCaseSensitiveFileNames:()=>f.sys.useCaseSensitiveFileNames,getNewLine:()=>_,getCurrentDirectory:v,getDefaultLibFileName:e=>f.getDefaultLibFilePath(e),fileExists:fileExists,readFile:readFileWithCachingText,directoryExists:e=>f.sys.directoryExists(n.normalize(e)),getDirectories:e=>f.sys.getDirectories(n.normalize(e)),readDirectory:(e,t,r,i,a)=>f.sys.readDirectory(n.normalize(e),t,r,i,a),realpath:e=>f.sys.resolvePath(n.normalize(e)),trace:e=>t.log(e),watchFile:watchFile,watchDirectory:watchDirectory,resolveModuleNames:(t,r)=>resolveModuleNames(m,h,c,u,e,s,t,r,getResolutionStrategy),invokeFileWatcher:invokeFileWatcher,invokeDirectoryWatcher:invokeDirectoryWatcher,updateRootFileNames:()=>{s.changedFilesList=false;if(s.watchOfFilesAndCompilerOptions!==undefined){s.watchOfFilesAndCompilerOptions.updateRootFileNames(getRootFileNames())}},createProgram:l===undefined?f.createAbstractBuilder:createBuilderProgramWithReferences};return x;function getRootFileNames(){return[...p.keys()].filter(t=>t.match(e))}function readFileWithCachingText(e,t){e=n.normalize(e);const r=p.get(e)||g.get(e);if(r!==undefined){return r.text}const i=y(e,t);if(i===undefined){return undefined}g.set(e,{version:0,text:i});return i}function fileExists(e){const t=n.normalize(e);return p.has(t)||f.sys.fileExists(t)}function invokeWatcherCallbacks(e,t,r){if(e!==undefined){const n=e.slice();for(const e of n){e(t,r)}}}function invokeFileWatcher(e,t){e=n.normalize(e);invokeWatcherCallbacks(T[e],e,t)}function invokeDirectoryWatcher(e,t){e=n.normalize(e);invokeWatcherCallbacks(S[e],t);invokeRecursiveDirectoryWatcher(e,t)}function invokeRecursiveDirectoryWatcher(e,t){e=n.normalize(e);invokeWatcherCallbacks(b[e],t);const r=n.dirname(e);if(e!==r){invokeRecursiveDirectoryWatcher(r,t)}}function createWatcher(e,t,r){e=n.normalize(e);const i=t[e];if(i===undefined){t[e]=[r]}else{i.push(r)}return{close:()=>{const n=t[e];if(n!==undefined){o.unorderedRemoveItem(n,r)}}}}function watchFile(e,t,r){return createWatcher(e,T,t)}function watchDirectory(e,t,r){return createWatcher(e,r===true?b:S,t)}function createBuilderProgramWithReferences(e,t,r,n,i){const a=f.createProgram({rootNames:e,options:t,host:r,oldProgram:n&&n.getProgram(),configFileParsingDiagnostics:i,projectReferences:l});const o=r;return f.createAbstractBuilder(a,o,n,i)}}t.makeWatchHost=makeWatchHost;function resolveModuleNames(e,t,r,n,i,a,o,s,c,u){const l=o.map(o=>resolveModuleName(e,t,r,n,i,a,o,s,c,u));populateDependencyGraphs(l,a,s);return l}function isJsImplementationOfTypings(e,t){return e.resolvedFileName.endsWith("js")&&/\.d\.ts$/.test(t.resolvedFileName)}function applyTsResolver(e,t,r,n,i){return e.resolveModuleName(t,r,n,i)}function resolveModuleName(e,t,r,i,a,s,c,u,l,f){const{compiler:d,compilerOptions:p}=s;let g;try{const t=e(undefined,n.normalize(n.dirname(u)),c);const s=r.length>0||i.length>0?o.appendSuffixesIfMatch({".ts":r,".tsx":i},t):t;if(s.match(a)!==null){g={resolvedFileName:s,originalFileName:t}}}catch(e){}const _=f!==undefined?f(c,u,p,t,(e,t,r,n)=>applyTsResolver(d,e,t,r,n)):applyTsResolver(d,c,u,p,t);if(_.resolvedModule!==undefined){const e=n.normalize(_.resolvedModule.resolvedFileName);const t={originalFileName:e,resolvedFileName:e,isExternalLibraryImport:_.resolvedModule.isExternalLibraryImport};return l(g,t)}return g}function getResolutionStrategy(e,t){return e===undefined||e.resolvedFileName===t.resolvedFileName||isJsImplementationOfTypings(e,t)?t:e}function populateDependencyGraphs(e,t,r){e=e.filter(e=>e!==null&&e!==undefined);t.dependencyGraph[n.normalize(r)]=e;e.forEach(e=>{if(t.reverseDependencyGraph[e.resolvedFileName]===undefined){t.reverseDependencyGraph[e.resolvedFileName]={}}t.reverseDependencyGraph[e.resolvedFileName][n.normalize(r)]=true})}const s=["fileExists","directoryExists","realpath"];function addCache(e){const t=[];s.forEach(r=>{const n=e[r];if(n!==undefined){const i=createCache(n);e[r]=i.getCached;t.push(i.clear)}});return()=>t.forEach(e=>e())}function createCache(e){const t=new Map;return{clear:()=>{t.clear()},getCached:r=>{let n=t.get(r);if(n!==undefined){return n}n=e(r);t.set(r,n);return n}}}},,,,,function(e,t,r){"use strict";const n=r(357);const i=r(460);const a=r(575);const o=r(647);const s=r(39);const c=r(227);const u=/^\.$|^\.[\\\/]|^\.\.$|^\.\.[\/\\]|^\/|^[A-Z]:[\\\/]/i;const l=/[\/\\]$/i;const f=r(987);const d=new Map;const p=r(369);function withName(e,t){t.name=e;return t}function toCamelCase(e){return e.replace(/-([a-z])/g,e=>e.substr(1).toUpperCase())}const g=n.deprecate((e,t)=>{e.add(t)},"Resolver: 'missing' is now a Set. Use add instead of push.");const _=n.deprecate(e=>{return e},"Resolver: The callback argument was splitted into resolveContext and callback.");const m=n.deprecate(e=>{return e},"Resolver#doResolve: The type arguments (string) is now a hook argument (Hook). Pass a reference to the hook instead.");class Resolver extends i{constructor(e){super();this.fileSystem=e;this.hooks={resolveStep:withName("resolveStep",new a(["hook","request"])),noResolve:withName("noResolve",new a(["request","error"])),resolve:withName("resolve",new o(["request","resolveContext"])),result:new s(["result","resolveContext"])};this._pluginCompat.tap("Resolver: before/after",e=>{if(/^before-/.test(e.name)){e.name=e.name.substr(7);e.stage=-10}else if(/^after-/.test(e.name)){e.name=e.name.substr(6);e.stage=10}});this._pluginCompat.tap("Resolver: step hooks",e=>{const t=e.name;const r=!/^resolve(-s|S)tep$|^no(-r|R)esolve$/.test(t);if(r){e.async=true;this.ensureHook(t);const r=e.fn;e.fn=((e,t,n)=>{const i=(e,t)=>{if(e)return n(e);if(t!==undefined)return n(null,t);n()};for(const e in t){i[e]=t[e]}r.call(this,e,i)})}})}ensureHook(e){if(typeof e!=="string")return e;e=toCamelCase(e);if(/^before/.test(e)){return this.ensureHook(e[6].toLowerCase()+e.substr(7)).withOptions({stage:-10})}if(/^after/.test(e)){return this.ensureHook(e[5].toLowerCase()+e.substr(6)).withOptions({stage:10})}const t=this.hooks[e];if(!t){return this.hooks[e]=withName(e,new o(["request","resolveContext"]))}return t}getHook(e){if(typeof e!=="string")return e;e=toCamelCase(e);if(/^before/.test(e)){return this.getHook(e[6].toLowerCase()+e.substr(7)).withOptions({stage:-10})}if(/^after/.test(e)){return this.getHook(e[5].toLowerCase()+e.substr(6)).withOptions({stage:10})}const t=this.hooks[e];if(!t){throw new Error(`Hook ${e} doesn't exist`)}return t}resolveSync(e,t,r){let n,i,a=false;this.resolve(e,t,r,{},(e,t)=>{n=e;i=t;a=true});if(!a)throw new Error("Cannot 'resolveSync' because the fileSystem is not sync. Use 'resolve'!");if(n)throw n;return i}resolve(e,t,r,n,i){if(typeof i!=="function"){i=_(n)}const a={context:e,path:t,request:r};const o="resolve '"+r+"' in '"+t+"'";return this.doResolve(this.hooks.resolve,a,o,{missing:n.missing,stack:n.stack},(e,t)=>{if(!e&&t){return i(null,t.path===false?false:t.path+(t.query||""),t)}const r=new Set;r.push=(e=>g(r,e));const s=[];return this.doResolve(this.hooks.resolve,a,o,{log:e=>{if(n.log){n.log(e)}s.push(e)},missing:r,stack:n.stack},(e,t)=>{if(e)return i(e);const n=new Error("Can't "+o);n.details=s.join("\n");n.missing=Array.from(r);this.hooks.noResolve.call(a,n);return i(n)})})}doResolve(e,t,r,n,i){if(typeof i!=="function"){i=_(n)}if(typeof e==="string"){const t=toCamelCase(e);e=m(this.hooks[t]);if(!e){throw new Error(`Hook "${t}" doesn't exist`)}}if(typeof i!=="function")throw new Error("callback is not a function "+Array.from(arguments));if(!n)throw new Error("resolveContext is not an object "+Array.from(arguments));const a=e.name+": ("+t.path+") "+(t.request||"")+(t.query||"")+(t.directory?" directory":"")+(t.module?" module":"");let o;if(n.stack){o=new Set(n.stack);if(n.stack.has(a)){const e=new Error("Recursion in resolving\nStack:\n "+Array.from(o).join("\n "));e.recursion=true;if(n.log)n.log("abort resolving because of recursion");return i(e)}o.add(a)}else{o=new Set([a])}this.hooks.resolveStep.call(e,t);if(e.isUsed()){const a=c({log:n.log,missing:n.missing,stack:o},r);return e.callAsync(t,a,(e,t)=>{if(e)return i(e);if(t)return i(null,t);i()})}else{i()}}parse(e){if(e==="")return null;const t={request:"",query:"",module:false,directory:false,file:false};const r=e.indexOf("?");if(r===0){t.query=e}else if(r>0){t.request=e.slice(0,r);t.query=e.slice(r)}else{t.request=e}if(t.request){t.module=this.isModule(t.request);t.directory=this.isDirectory(t.request);if(t.directory){t.request=t.request.substr(0,t.request.length-1)}}return t}isModule(e){return!u.test(e)}isDirectory(e){return l.test(e)}join(e,t){let r;let n=d.get(e);if(typeof n==="undefined"){d.set(e,n=new Map)}else{r=n.get(t);if(typeof r!=="undefined")return r}r=f(e,t);n.set(t,r);return r}normalize(e){return p(e)}}e.exports=Resolver},function(e,t,r){"use strict";var n=r(286);var i={get:"function",set:"function",configurable:"boolean",enumerable:"boolean"};function isAccessorDescriptor(e,t){if(typeof t==="string"){var r=Object.getOwnPropertyDescriptor(e,t);return typeof r!=="undefined"}if(n(e)!=="object"){return false}if(has(e,"value")||has(e,"writable")){return false}if(!has(e,"get")||typeof e.get!=="function"){return false}if(has(e,"set")&&typeof e[a]!=="function"&&typeof e[a]!=="undefined"){return false}for(var a in e){if(!i.hasOwnProperty(a)){continue}if(n(e[a])===i[a]){continue}if(typeof e[a]!=="undefined"){return false}}return true}function has(e,t){return{}.hasOwnProperty.call(e,t)}e.exports=isAccessorDescriptor},function(e,t,r){"use strict";var n=r(466);var i=r(954);e.exports=Object.assign||function(e){if(e===null||typeof e==="undefined"){throw new TypeError("Cannot convert undefined or null to object")}if(!isObject(e)){e={}}for(var t=1;t{if(r.path!==r.descriptionFileRoot)return s();const c=a.getField(r.descriptionFileData,"concord");if(!c)return s();const u=i.getMain(r.context,c);if(!u)return s();const l=Object.assign({},r,{request:u});const f=n.basename(r.descriptionFilePath);return e.doResolve(t,l,"use "+u+" from "+f,o,s)})}}},,,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:true});const n=r(82);var i;(function(e){e[e["INFO"]=1]="INFO";e[e["WARN"]=2]="WARN";e[e["ERROR"]=3]="ERROR"})(i||(i={}));const a=new n.Console(process.stderr);const o=new n.Console(process.stdout);const s=e=>{};const c=e=>e.silent?(e,t)=>{}:(e,t)=>console.log.call(e,t);const u=(e,t)=>r=>t(e.logInfoToStdOut?o:a,r);const l=(e,t,r)=>i[e.logLevel]<=i.INFO?n=>t(e.logInfoToStdOut?o:a,r(n)):s;const f=(e,t,r)=>i[e.logLevel]<=i.ERROR?e=>t(a,r(e)):s;const d=(e,t,r)=>i[e.logLevel]<=i.WARN?e=>t(a,r(e)):s;function makeLogger(e,t){const r=c(e);return{log:u(e,r),logInfo:l(e,r,t.green),logWarning:d(e,r,t.yellow),logError:f(e,r,t.red)}}t.makeLogger=makeLogger},,,,,,,,,,,,,,,,,function(e){"use strict";class Storage{constructor(e){this.duration=e;this.running=new Map;this.data=new Map;this.levels=[];if(e>0){this.levels.push(new Set,new Set,new Set,new Set,new Set,new Set,new Set,new Set,new Set);for(let t=8e3;t0&&!this.nextTick)this.interval=setInterval(this.tick,Math.floor(this.duration/this.levels.length))}finished(e,t,r){const n=this.running.get(e);this.running.delete(e);if(this.duration>0){this.data.set(e,[t,r]);const n=this.levels[0];this.count-=n.size;n.add(e);this.count+=n.size;this.ensureTick()}for(let e=0;e0){this.data.set(e,[t,r]);const n=this.levels[0];this.count-=n.size;n.add(e);this.count+=n.size;this.ensureTick()}}provide(e,t,r){if(typeof e!=="string"){r(new TypeError("path must be a string"));return}let n=this.running.get(e);if(n){n.push(r);return}if(this.duration>0){this.checkTicks();const t=this.data.get(e);if(t){return process.nextTick(()=>{r.apply(null,t)})}}this.running.set(e,n=[r]);t(e,(t,r)=>{this.finished(e,t,r)})}provideSync(e,t){if(typeof e!=="string"){throw new TypeError("path must be a string")}if(this.duration>0){this.checkTicks();const t=this.data.get(e);if(t){if(t[0])throw t[0];return t[1]}}let r;try{r=t(e)}catch(t){this.finishedSync(e,t);throw t}this.finishedSync(e,null,r);return r}tick(){const e=this.levels.pop();for(let t of e){this.data.delete(t)}this.count-=e.size;e.clear();this.levels.unshift(e);if(this.count===0){clearInterval(this.interval);this.interval=null;this.nextTick=null;return true}else if(this.nextTick){this.nextTick+=Math.floor(this.duration/this.levels.length);const e=(new Date).getTime();if(this.nextTick>e){this.nextTick=null;this.interval=setInterval(this.tick,Math.floor(this.duration/this.levels.length));return true}}else if(this.passive){clearInterval(this.interval);this.interval=null;this.nextTick=(new Date).getTime()+Math.floor(this.duration/this.levels.length)}else{this.passive=true}}checkTicks(){this.passive=false;if(this.nextTick){while(!this.tick());}}purge(e){if(!e){this.count=0;clearInterval(this.interval);this.nextTick=null;this.data.clear();this.levels.forEach(e=>{e.clear()})}else if(typeof e==="string"){for(let t of this.data.keys()){if(t.startsWith(e))this.data.delete(t)}}else{for(let t=e.length-1;t>=0;t--){this.purge(e[t])}}}}e.exports=class CachedInputFileSystem{constructor(e,t){this.fileSystem=e;this._statStorage=new Storage(t);this._readdirStorage=new Storage(t);this._readFileStorage=new Storage(t);this._readJsonStorage=new Storage(t);this._readlinkStorage=new Storage(t);this._stat=this.fileSystem.stat?this.fileSystem.stat.bind(this.fileSystem):null;if(!this._stat)this.stat=null;this._statSync=this.fileSystem.statSync?this.fileSystem.statSync.bind(this.fileSystem):null;if(!this._statSync)this.statSync=null;this._readdir=this.fileSystem.readdir?this.fileSystem.readdir.bind(this.fileSystem):null;if(!this._readdir)this.readdir=null;this._readdirSync=this.fileSystem.readdirSync?this.fileSystem.readdirSync.bind(this.fileSystem):null;if(!this._readdirSync)this.readdirSync=null;this._readFile=this.fileSystem.readFile?this.fileSystem.readFile.bind(this.fileSystem):null;if(!this._readFile)this.readFile=null;this._readFileSync=this.fileSystem.readFileSync?this.fileSystem.readFileSync.bind(this.fileSystem):null;if(!this._readFileSync)this.readFileSync=null;if(this.fileSystem.readJson){this._readJson=this.fileSystem.readJson.bind(this.fileSystem)}else if(this.readFile){this._readJson=((e,t)=>{this.readFile(e,(e,r)=>{if(e)return t(e);let n;try{n=JSON.parse(r.toString("utf-8"))}catch(e){return t(e)}t(null,n)})})}else{this.readJson=null}if(this.fileSystem.readJsonSync){this._readJsonSync=this.fileSystem.readJsonSync.bind(this.fileSystem)}else if(this.readFileSync){this._readJsonSync=(e=>{const t=this.readFileSync(e);const r=JSON.parse(t.toString("utf-8"));return r})}else{this.readJsonSync=null}this._readlink=this.fileSystem.readlink?this.fileSystem.readlink.bind(this.fileSystem):null;if(!this._readlink)this.readlink=null;this._readlinkSync=this.fileSystem.readlinkSync?this.fileSystem.readlinkSync.bind(this.fileSystem):null;if(!this._readlinkSync)this.readlinkSync=null}stat(e,t){this._statStorage.provide(e,this._stat,t)}readdir(e,t){this._readdirStorage.provide(e,this._readdir,t)}readFile(e,t){this._readFileStorage.provide(e,this._readFile,t)}readJson(e,t){this._readJsonStorage.provide(e,this._readJson,t)}readlink(e,t){this._readlinkStorage.provide(e,this._readlink,t)}statSync(e){return this._statStorage.provideSync(e,this._statSync)}readdirSync(e){return this._readdirStorage.provideSync(e,this._readdirSync)}readFileSync(e){return this._readFileStorage.provideSync(e,this._readFileSync)}readJsonSync(e){return this._readJsonStorage.provideSync(e,this._readJsonSync)}readlinkSync(e){return this._readlinkStorage.provideSync(e,this._readlinkSync)}purge(e){this._statStorage.purge(e);this._readdirStorage.purge(e);this._readFileStorage.purge(e);this._readlinkStorage.purge(e);this._readJsonStorage.purge(e)}}},,,,,,,,,function(e,t,r){"use strict";var n=r(919);var i=r(333);var a=r(221);var o=r(485);e.exports=function(e,t,r){if(!o(e)){return e}if(Array.isArray(t)){t=n(t)}if(typeof t!=="string"){return e}var s=t.split(".");var c=s.length,u=-1;var l=e;var f;while(++u{if(r.path!==r.descriptionFileRoot)return a();if(r.alreadyTriedMainField===r.descriptionFilePath)return a();const o=r.descriptionFileData;const s=n.basename(r.descriptionFilePath);let c;const u=this.options.name;if(Array.isArray(u)){let e=o;for(let t=0;t)?=?)";var E=c++;s[E]=s[l]+"|x|X|\\*";var D=c++;s[D]=s[u]+"|x|X|\\*";var k=c++;s[k]="[v=\\s]*("+s[D]+")"+"(?:\\.("+s[D]+")"+"(?:\\.("+s[D]+")"+"(?:"+s[m]+")?"+s[v]+"?"+")?)?";var N=c++;s[N]="[v=\\s]*("+s[E]+")"+"(?:\\.("+s[E]+")"+"(?:\\.("+s[E]+")"+"(?:"+s[y]+")?"+s[v]+"?"+")?)?";var A=c++;s[A]="^"+s[C]+"\\s*"+s[k]+"$";var O=c++;s[O]="^"+s[C]+"\\s*"+s[N]+"$";var F=c++;s[F]="(?:^|[^\\d])"+"(\\d{1,"+a+"})"+"(?:\\.(\\d{1,"+a+"}))?"+"(?:\\.(\\d{1,"+a+"}))?"+"(?:$|[^\\d])";var P=c++;s[P]="(?:~>?)";var I=c++;s[I]="(\\s*)"+s[P]+"\\s+";o[I]=new RegExp(s[I],"g");var w="$1~";var M=c++;s[M]="^"+s[P]+s[k]+"$";var L=c++;s[L]="^"+s[P]+s[N]+"$";var R=c++;s[R]="(?:\\^)";var B=c++;s[B]="(\\s*)"+s[R]+"\\s+";o[B]=new RegExp(s[B],"g");var j="$1^";var J=c++;s[J]="^"+s[R]+s[k]+"$";var W=c++;s[W]="^"+s[R]+s[N]+"$";var U=c++;s[U]="^"+s[C]+"\\s*("+b+")$|^$";var z=c++;s[z]="^"+s[C]+"\\s*("+S+")$|^$";var V=c++;s[V]="(\\s*)"+s[C]+"\\s*("+b+"|"+s[k]+")";o[V]=new RegExp(s[V],"g");var K="$1$2$3";var G=c++;s[G]="^\\s*("+s[k]+")"+"\\s+-\\s+"+"("+s[k]+")"+"\\s*$";var q=c++;s[q]="^\\s*("+s[N]+")"+"\\s+-\\s+"+"("+s[N]+")"+"\\s*$";var H=c++;s[H]="(<|>)?=?\\s*\\*";for(var Q=0;Qn){return null}var r=t.loose?o[x]:o[T];if(!r.test(e)){return null}try{return new SemVer(e,t)}catch(e){return null}}t.valid=valid;function valid(e,t){var r=parse(e,t);return r?r.version:null}t.clean=clean;function clean(e,t){var r=parse(e.trim().replace(/^[=v]+/,""),t);return r?r.version:null}t.SemVer=SemVer;function SemVer(e,t){if(!t||typeof t!=="object"){t={loose:!!t,includePrerelease:false}}if(e instanceof SemVer){if(e.loose===t.loose){return e}else{e=e.version}}else if(typeof e!=="string"){throw new TypeError("Invalid Version: "+e)}if(e.length>n){throw new TypeError("version is longer than "+n+" characters")}if(!(this instanceof SemVer)){return new SemVer(e,t)}r("SemVer",e,t);this.options=t;this.loose=!!t.loose;var a=e.trim().match(t.loose?o[x]:o[T]);if(!a){throw new TypeError("Invalid Version: "+e)}this.raw=e;this.major=+a[1];this.minor=+a[2];this.patch=+a[3];if(this.major>i||this.major<0){throw new TypeError("Invalid major version")}if(this.minor>i||this.minor<0){throw new TypeError("Invalid minor version")}if(this.patch>i||this.patch<0){throw new TypeError("Invalid patch version")}if(!a[4]){this.prerelease=[]}else{this.prerelease=a[4].split(".").map(function(e){if(/^[0-9]+$/.test(e)){var t=+e;if(t>=0&&t=0){if(typeof this.prerelease[r]==="number"){this.prerelease[r]++;r=-2}}if(r===-1){this.prerelease.push(0)}}if(t){if(this.prerelease[0]===t){if(isNaN(this.prerelease[1])){this.prerelease=[t,0]}}else{this.prerelease=[t,0]}}break;default:throw new Error("invalid increment argument: "+e)}this.format();this.raw=this.version;return this};t.inc=inc;function inc(e,t,r,n){if(typeof r==="string"){n=r;r=undefined}try{return new SemVer(e,r).inc(t,n).version}catch(e){return null}}t.diff=diff;function diff(e,t){if(eq(e,t)){return null}else{var r=parse(e);var n=parse(t);var i="";if(r.prerelease.length||n.prerelease.length){i="pre";var a="prerelease"}for(var o in r){if(o==="major"||o==="minor"||o==="patch"){if(r[o]!==n[o]){return i+o}}}return a}}t.compareIdentifiers=compareIdentifiers;var $=/^[0-9]+$/;function compareIdentifiers(e,t){var r=$.test(e);var n=$.test(t);if(r&&n){e=+e;t=+t}return e===t?0:r&&!n?-1:n&&!r?1:e0}t.lt=lt;function lt(e,t,r){return compare(e,t,r)<0}t.eq=eq;function eq(e,t,r){return compare(e,t,r)===0}t.neq=neq;function neq(e,t,r){return compare(e,t,r)!==0}t.gte=gte;function gte(e,t,r){return compare(e,t,r)>=0}t.lte=lte;function lte(e,t,r){return compare(e,t,r)<=0}t.cmp=cmp;function cmp(e,t,r,n){switch(t){case"===":if(typeof e==="object")e=e.version;if(typeof r==="object")r=r.version;return e===r;case"!==":if(typeof e==="object")e=e.version;if(typeof r==="object")r=r.version;return e!==r;case"":case"=":case"==":return eq(e,r,n);case"!=":return neq(e,r,n);case">":return gt(e,r,n);case">=":return gte(e,r,n);case"<":return lt(e,r,n);case"<=":return lte(e,r,n);default:throw new TypeError("Invalid operator: "+t)}}t.Comparator=Comparator;function Comparator(e,t){if(!t||typeof t!=="object"){t={loose:!!t,includePrerelease:false}}if(e instanceof Comparator){if(e.loose===!!t.loose){return e}else{e=e.value}}if(!(this instanceof Comparator)){return new Comparator(e,t)}r("comparator",e,t);this.options=t;this.loose=!!t.loose;this.parse(e);if(this.semver===X){this.value=""}else{this.value=this.operator+this.semver.version}r("comp",this)}var X={};Comparator.prototype.parse=function(e){var t=this.options.loose?o[U]:o[z];var r=e.match(t);if(!r){throw new TypeError("Invalid comparator: "+e)}this.operator=r[1];if(this.operator==="="){this.operator=""}if(!r[2]){this.semver=X}else{this.semver=new SemVer(r[2],this.options.loose)}};Comparator.prototype.toString=function(){return this.value};Comparator.prototype.test=function(e){r("Comparator.test",e,this.options.loose);if(this.semver===X){return true}if(typeof e==="string"){e=new SemVer(e,this.options)}return cmp(e,this.operator,this.semver,this.options)};Comparator.prototype.intersects=function(e,t){if(!(e instanceof Comparator)){throw new TypeError("a Comparator is required")}if(!t||typeof t!=="object"){t={loose:!!t,includePrerelease:false}}var r;if(this.operator===""){r=new Range(e.value,t);return satisfies(this.value,r,t)}else if(e.operator===""){r=new Range(this.value,t);return satisfies(e.semver,r,t)}var n=(this.operator===">="||this.operator===">")&&(e.operator===">="||e.operator===">");var i=(this.operator==="<="||this.operator==="<")&&(e.operator==="<="||e.operator==="<");var a=this.semver.version===e.semver.version;var o=(this.operator===">="||this.operator==="<=")&&(e.operator===">="||e.operator==="<=");var s=cmp(this.semver,"<",e.semver,t)&&((this.operator===">="||this.operator===">")&&(e.operator==="<="||e.operator==="<"));var c=cmp(this.semver,">",e.semver,t)&&((this.operator==="<="||this.operator==="<")&&(e.operator===">="||e.operator===">"));return n||i||a&&o||s||c};t.Range=Range;function Range(e,t){if(!t||typeof t!=="object"){t={loose:!!t,includePrerelease:false}}if(e instanceof Range){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease){return e}else{return new Range(e.raw,t)}}if(e instanceof Comparator){return new Range(e.value,t)}if(!(this instanceof Range)){return new Range(e,t)}this.options=t;this.loose=!!t.loose;this.includePrerelease=!!t.includePrerelease;this.raw=e;this.set=e.split(/\s*\|\|\s*/).map(function(e){return this.parseRange(e.trim())},this).filter(function(e){return e.length});if(!this.set.length){throw new TypeError("Invalid SemVer Range: "+e)}this.format()}Range.prototype.format=function(){this.range=this.set.map(function(e){return e.join(" ").trim()}).join("||").trim();return this.range};Range.prototype.toString=function(){return this.range};Range.prototype.parseRange=function(e){var t=this.options.loose;e=e.trim();var n=t?o[q]:o[G];e=e.replace(n,hyphenReplace);r("hyphen replace",e);e=e.replace(o[V],K);r("comparator trim",e,o[V]);e=e.replace(o[I],w);e=e.replace(o[B],j);e=e.split(/\s+/).join(" ");var i=t?o[U]:o[z];var a=e.split(" ").map(function(e){return parseComparator(e,this.options)},this).join(" ").split(/\s+/);if(this.options.loose){a=a.filter(function(e){return!!e.match(i)})}a=a.map(function(e){return new Comparator(e,this.options)},this);return a};Range.prototype.intersects=function(e,t){if(!(e instanceof Range)){throw new TypeError("a Range is required")}return this.set.some(function(r){return r.every(function(r){return e.set.some(function(e){return e.every(function(e){return r.intersects(e,t)})})})})};t.toComparators=toComparators;function toComparators(e,t){return new Range(e,t).set.map(function(e){return e.map(function(e){return e.value}).join(" ").trim().split(" ")})}function parseComparator(e,t){r("comp",e,t);e=replaceCarets(e,t);r("caret",e);e=replaceTildes(e,t);r("tildes",e);e=replaceXRanges(e,t);r("xrange",e);e=replaceStars(e,t);r("stars",e);return e}function isX(e){return!e||e.toLowerCase()==="x"||e==="*"}function replaceTildes(e,t){return e.trim().split(/\s+/).map(function(e){return replaceTilde(e,t)}).join(" ")}function replaceTilde(e,t){var n=t.loose?o[L]:o[M];return e.replace(n,function(t,n,i,a,o){r("tilde",e,t,n,i,a,o);var s;if(isX(n)){s=""}else if(isX(i)){s=">="+n+".0.0 <"+(+n+1)+".0.0"}else if(isX(a)){s=">="+n+"."+i+".0 <"+n+"."+(+i+1)+".0"}else if(o){r("replaceTilde pr",o);s=">="+n+"."+i+"."+a+"-"+o+" <"+n+"."+(+i+1)+".0"}else{s=">="+n+"."+i+"."+a+" <"+n+"."+(+i+1)+".0"}r("tilde return",s);return s})}function replaceCarets(e,t){return e.trim().split(/\s+/).map(function(e){return replaceCaret(e,t)}).join(" ")}function replaceCaret(e,t){r("caret",e,t);var n=t.loose?o[W]:o[J];return e.replace(n,function(t,n,i,a,o){r("caret",e,t,n,i,a,o);var s;if(isX(n)){s=""}else if(isX(i)){s=">="+n+".0.0 <"+(+n+1)+".0.0"}else if(isX(a)){if(n==="0"){s=">="+n+"."+i+".0 <"+n+"."+(+i+1)+".0"}else{s=">="+n+"."+i+".0 <"+(+n+1)+".0.0"}}else if(o){r("replaceCaret pr",o);if(n==="0"){if(i==="0"){s=">="+n+"."+i+"."+a+"-"+o+" <"+n+"."+i+"."+(+a+1)}else{s=">="+n+"."+i+"."+a+"-"+o+" <"+n+"."+(+i+1)+".0"}}else{s=">="+n+"."+i+"."+a+"-"+o+" <"+(+n+1)+".0.0"}}else{r("no pr");if(n==="0"){if(i==="0"){s=">="+n+"."+i+"."+a+" <"+n+"."+i+"."+(+a+1)}else{s=">="+n+"."+i+"."+a+" <"+n+"."+(+i+1)+".0"}}else{s=">="+n+"."+i+"."+a+" <"+(+n+1)+".0.0"}}r("caret return",s);return s})}function replaceXRanges(e,t){r("replaceXRanges",e,t);return e.split(/\s+/).map(function(e){return replaceXRange(e,t)}).join(" ")}function replaceXRange(e,t){e=e.trim();var n=t.loose?o[O]:o[A];return e.replace(n,function(t,n,i,a,o,s){r("xRange",e,t,n,i,a,o,s);var c=isX(i);var u=c||isX(a);var l=u||isX(o);var f=l;if(n==="="&&f){n=""}if(c){if(n===">"||n==="<"){t="<0.0.0"}else{t="*"}}else if(n&&f){if(u){a=0}o=0;if(n===">"){n=">=";if(u){i=+i+1;a=0;o=0}else{a=+a+1;o=0}}else if(n==="<="){n="<";if(u){i=+i+1}else{a=+a+1}}t=n+i+"."+a+"."+o}else if(u){t=">="+i+".0.0 <"+(+i+1)+".0.0"}else if(l){t=">="+i+"."+a+".0 <"+i+"."+(+a+1)+".0"}r("xRange return",t);return t})}function replaceStars(e,t){r("replaceStars",e,t);return e.trim().replace(o[H],"")}function hyphenReplace(e,t,r,n,i,a,o,s,c,u,l,f,d){if(isX(r)){t=""}else if(isX(n)){t=">="+r+".0.0"}else if(isX(i)){t=">="+r+"."+n+".0"}else{t=">="+t}if(isX(c)){s=""}else if(isX(u)){s="<"+(+c+1)+".0.0"}else if(isX(l)){s="<"+c+"."+(+u+1)+".0"}else if(f){s="<="+c+"."+u+"."+l+"-"+f}else{s="<="+s}return(t+" "+s).trim()}Range.prototype.test=function(e){if(!e){return false}if(typeof e==="string"){e=new SemVer(e,this.options)}for(var t=0;t0){var a=e[i].semver;if(a.major===t.major&&a.minor===t.minor&&a.patch===t.patch){return true}}}return false}return true}t.satisfies=satisfies;function satisfies(e,t,r){try{t=new Range(t,r)}catch(e){return false}return t.test(e)}t.maxSatisfying=maxSatisfying;function maxSatisfying(e,t,r){var n=null;var i=null;try{var a=new Range(t,r)}catch(e){return null}e.forEach(function(e){if(a.test(e)){if(!n||i.compare(e)===-1){n=e;i=new SemVer(n,r)}}});return n}t.minSatisfying=minSatisfying;function minSatisfying(e,t,r){var n=null;var i=null;try{var a=new Range(t,r)}catch(e){return null}e.forEach(function(e){if(a.test(e)){if(!n||i.compare(e)===1){n=e;i=new SemVer(n,r)}}});return n}t.minVersion=minVersion;function minVersion(e,t){e=new Range(e,t);var r=new SemVer("0.0.0");if(e.test(r)){return r}r=new SemVer("0.0.0-0");if(e.test(r)){return r}r=null;for(var n=0;n":if(t.prerelease.length===0){t.patch++}else{t.prerelease.push(0)}t.raw=t.format();case"":case">=":if(!r||gt(r,t)){r=t}break;case"<":case"<=":break;default:throw new Error("Unexpected operation: "+e.operator)}})}if(r&&e.test(r)){return r}return null}t.validRange=validRange;function validRange(e,t){try{return new Range(e,t).range||"*"}catch(e){return null}}t.ltr=ltr;function ltr(e,t,r){return outside(e,t,"<",r)}t.gtr=gtr;function gtr(e,t,r){return outside(e,t,">",r)}t.outside=outside;function outside(e,t,r,n){e=new SemVer(e,n);t=new Range(t,n);var i,a,o,s,c;switch(r){case">":i=gt;a=lte;o=lt;s=">";c=">=";break;case"<":i=lt;a=gte;o=gt;s="<";c="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(satisfies(e,t,n)){return false}for(var u=0;u=0.0.0")}f=f||e;d=d||e;if(i(e.semver,f.semver,n)){f=e}else if(o(e.semver,d.semver,n)){d=e}});if(f.operator===s||f.operator===c){return false}if((!d.operator||d.operator===s)&&a(e,d.semver)){return false}else if(d.operator===c&&o(e,d.semver)){return false}}return true}t.prerelease=prerelease;function prerelease(e,t){var r=parse(e,t);return r&&r.prerelease.length?r.prerelease:null}t.intersects=intersects;function intersects(e,t,r){e=new Range(e,r);t=new Range(t,r);return e.intersects(t)}t.coerce=coerce;function coerce(e){if(e instanceof SemVer){return e}if(typeof e!=="string"){return null}var t=e.match(o[F]);if(t==null){return null}return parse(t[1]+"."+(t[2]||"0")+"."+(t[3]||"0"))}},,function(e){"use strict";function atob(e){return Buffer.from(e,"base64").toString("binary")}e.exports=atob.atob=atob},function(e){"use strict";var t=/[|\\{}()[\]^$+*?.]/g;e.exports=function(e){if(typeof e!=="string"){throw new TypeError("Expected a string")}return e.replace(t,"\\$&")}},,function(e,t,r){"use strict";var n=r(9);var i=r(938);var a=r(942);var o="([!@*?+]?\\(|\\)|[*?.+\\\\]|\\[:?(?=.*\\])|:?\\])+";var s=a.createRegex(o);function parsers(e){e.state=e.state||{};e.use(n.parsers);e.parser.sets.paren=e.parser.sets.paren||[];e.parser.capture("paren.open",function(){var e=this.parsed;var t=this.position();var r=this.match(/^([!@*?+])?\(/);if(!r)return;var n=this.prev();var a=r[1];var o=r[0];var s=t({type:"paren.open",parsed:e,val:o});var c=t({type:"paren",prefix:a,nodes:[s]});if(a==="!"&&n.type==="paren"&&n.prefix==="!"){n.prefix="@";c.prefix="@"}i(c,"rest",this.input);i(c,"parsed",e);i(c,"parent",n);i(s,"parent",c);this.push("paren",c);n.nodes.push(c)}).capture("paren.close",function(){var e=this.parsed;var t=this.position();var r=this.match(/^\)/);if(!r)return;var n=this.pop("paren");var a=t({type:"paren.close",rest:this.input,parsed:e,val:r[0]});if(!this.isType(n,"paren")){if(this.options.strict){throw new Error('missing opening paren: "("')}a.escaped=true;return a}a.prefix=n.prefix;n.nodes.push(a);i(a,"parent",n)}).capture("escape",function(){var e=this.position();var t=this.match(/^\\(.)/);if(!t)return;return e({type:"escape",val:t[0],ch:t[1]})}).capture("qmark",function(){var t=this.parsed;var r=this.position();var n=this.match(/^\?+(?!\()/);if(!n)return;e.state.metachar=true;return r({type:"qmark",rest:this.input,parsed:t,val:n[0]})}).capture("star",/^\*(?!\()/).capture("plus",/^\+(?!\()/).capture("dot",/^\./).capture("text",s)}e.exports.TEXT_REGEX=o;e.exports=parsers},,,,,,function(e){var t=Object.prototype.toString;e.exports=function kindOf(e){if(e===void 0)return"undefined";if(e===null)return"null";var r=typeof e;if(r==="boolean")return"boolean";if(r==="string")return"string";if(r==="number")return"number";if(r==="symbol")return"symbol";if(r==="function"){return isGeneratorFn(e)?"generatorfunction":"function"}if(isArray(e))return"array";if(isBuffer(e))return"buffer";if(isArguments(e))return"arguments";if(isDate(e))return"date";if(isError(e))return"error";if(isRegexp(e))return"regexp";switch(ctorName(e)){case"Symbol":return"symbol";case"Promise":return"promise";case"WeakMap":return"weakmap";case"WeakSet":return"weakset";case"Map":return"map";case"Set":return"set";case"Int8Array":return"int8array";case"Uint8Array":return"uint8array";case"Uint8ClampedArray":return"uint8clampedarray";case"Int16Array":return"int16array";case"Uint16Array":return"uint16array";case"Int32Array":return"int32array";case"Uint32Array":return"uint32array";case"Float32Array":return"float32array";case"Float64Array":return"float64array"}if(isGeneratorObj(e)){return"generator"}r=t.call(e);switch(r){case"[object Object]":return"object";case"[object Map Iterator]":return"mapiterator";case"[object Set Iterator]":return"setiterator";case"[object String Iterator]":return"stringiterator";case"[object Array Iterator]":return"arrayiterator"}return r.slice(8,-1).toLowerCase().replace(/\s/g,"")};function ctorName(e){return e.constructor?e.constructor.name:null}function isArray(e){if(Array.isArray)return Array.isArray(e);return e instanceof Array}function isError(e){return e instanceof Error||typeof e.message==="string"&&e.constructor&&typeof e.constructor.stackTraceLimit==="number"}function isDate(e){if(e instanceof Date)return true;return typeof e.toDateString==="function"&&typeof e.getDate==="function"&&typeof e.setDate==="function"}function isRegexp(e){if(e instanceof RegExp)return true;return typeof e.flags==="string"&&typeof e.ignoreCase==="boolean"&&typeof e.multiline==="boolean"&&typeof e.global==="boolean"}function isGeneratorFn(e,t){return ctorName(e)==="GeneratorFunction"}function isGeneratorObj(e){return typeof e.throw==="function"&&typeof e.return==="function"&&typeof e.next==="function"}function isArguments(e){try{if(typeof e.length==="number"&&typeof e.callee==="function"){return true}}catch(e){if(e.message.indexOf("callee")!==-1){return true}}return false}function isBuffer(e){if(e.constructor&&typeof e.constructor.isBuffer==="function"){return e.constructor.isBuffer(e)}return false}},,,,,,,function(e){e.exports=require("fs")},,,,,,,,,,,,,function(e,t,r){"use strict";const n=r(732);const i=r(207);const a=r(204).stdout;const o=r(568);const s=process.platform==="win32"&&!(process.env.TERM||"").toLowerCase().startsWith("xterm");const c=["ansi","ansi","ansi256","ansi16m"];const u=new Set(["gray"]);const l=Object.create(null);function applyOptions(e,t){t=t||{};const r=a?a.level:0;e.level=t.level===undefined?r:t.level;e.enabled="enabled"in t?t.enabled:e.level>0}function Chalk(e){if(!this||!(this instanceof Chalk)||this.template){const t={};applyOptions(t,e);t.template=function(){const e=[].slice.call(arguments);return chalkTag.apply(null,[t.template].concat(e))};Object.setPrototypeOf(t,Chalk.prototype);Object.setPrototypeOf(t.template,t);t.template.constructor=Chalk;return t.template}applyOptions(this,e)}if(s){i.blue.open=""}for(const e of Object.keys(i)){i[e].closeRe=new RegExp(n(i[e].close),"g");l[e]={get(){const t=i[e];return build.call(this,this._styles?this._styles.concat(t):[t],this._empty,e)}}}l.visible={get(){return build.call(this,this._styles||[],true,"visible")}};i.color.closeRe=new RegExp(n(i.color.close),"g");for(const e of Object.keys(i.color.ansi)){if(u.has(e)){continue}l[e]={get(){const t=this.level;return function(){const r=i.color[c[t]][e].apply(null,arguments);const n={open:r,close:i.color.close,closeRe:i.color.closeRe};return build.call(this,this._styles?this._styles.concat(n):[n],this._empty,e)}}}}i.bgColor.closeRe=new RegExp(n(i.bgColor.close),"g");for(const e of Object.keys(i.bgColor.ansi)){if(u.has(e)){continue}const t="bg"+e[0].toUpperCase()+e.slice(1);l[t]={get(){const t=this.level;return function(){const r=i.bgColor[c[t]][e].apply(null,arguments);const n={open:r,close:i.bgColor.close,closeRe:i.bgColor.closeRe};return build.call(this,this._styles?this._styles.concat(n):[n],this._empty,e)}}}}const f=Object.defineProperties(()=>{},l);function build(e,t,r){const n=function(){return applyStyle.apply(n,arguments)};n._styles=e;n._empty=t;const i=this;Object.defineProperty(n,"level",{enumerable:true,get(){return i.level},set(e){i.level=e}});Object.defineProperty(n,"enabled",{enumerable:true,get(){return i.enabled},set(e){i.enabled=e}});n.hasGrey=this.hasGrey||r==="gray"||r==="grey";n.__proto__=f;return n}function applyStyle(){const e=arguments;const t=e.length;let r=String(arguments[0]);if(t===0){return""}if(t>1){for(let n=1;n1){if(r.optimize===false){a.val=n[0];return a}a.segs=i.stringifyArray(a.segs)}else if(n.length===1){var o=e.split("..");if(o.length===1){a.val=a.segs[a.segs.length-1]||a.val||e;a.segs=[];return a}if(o.length===2&&o[0]===o[1]){a.escaped=true;a.val=o[0];a.segs=[];return a}if(o.length>1){if(r.optimize!==false){r.optimize=true;delete r.expand}if(r.optimize!==true){var s=Math.min(o[0],o[1]);var c=Math.max(o[0],o[1]);var u=o[2]||1;if(r.rangeLimit!==false&&(c-s)/u>=r.rangeLimit){throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.")}}o.push(r);a.segs=i.fillRange.apply(null,o);if(!a.segs.length){a.escaped=true;a.val=e;return a}if(r.optimize===true){a.segs=i.stringifyArray(a.segs)}if(a.segs===""){a.val=e}else{a.val=a.segs[0]}return a}}else{a.val=e}return a};i.escapeBrackets=function(e){return function(t){if(t.escaped&&t.val==="b"){t.val="\\b";return}if(t.val!=="("&&t.val!=="[")return;var r=i.extend({},e);var n=[];var a=[];var o=[];var s=t.val;var c=t.str;var u=t.idx-1;while(++u{const a=r.request.indexOf("/"),o=r.request.indexOf("\\");const s=a<0?o:o<0?a:a0&&a[a.length-1])&&(o[0]===6||o[0]===2)){r=0;continue}if(o[0]===3&&(!a||o[1]>a[0]&&o[1]=0;r--){var n=e[r];if(t(n,r)){return n}}return undefined}e.findLast=findLast;function findIndex(e,t,r){for(var n=r||0;n=0;n--){if(t(e[n],n)){return n}}return-1}e.findLastIndex=findLastIndex;function findMap(e,t){for(var r=0;r0}}return false}e.some=some;function getRangesWhere(e,t,r){var n;for(var i=0;i0){n.assertGreaterThanOrEqual(r(t[o],t[o-1]),0)}t:for(var s=a;as){n.assertGreaterThanOrEqual(r(e[a],e[a-1]),0)}switch(r(t[o],e[a])){case-1:i.push(t[o]);continue e;case 0:continue e;case 1:continue t}}}return i}e.relativeComplement=relativeComplement;function sum(e,t){var r=0;for(var n=0,i=e;n>1);var c=r(e[s]);switch(n(c,t)){case-1:a=s+1;break;case 0:return s;case 1:o=s-1;break}}return~a}e.binarySearchKey=binarySearchKey;function reduceLeft(e,t,r,n,i){if(e&&e.length>0){var a=e.length;if(a>0){var o=n===undefined||n<0?0:n;var s=i===undefined||o+i>a-1?a-1:o+i;var c=void 0;if(arguments.length<=2){c=e[o];o++}else{c=r}while(o<=s){c=t(c,e[o],o);o++}return c}}return r}e.reduceLeft=reduceLeft;var t=Object.prototype.hasOwnProperty;function hasProperty(e,r){return t.call(e,r)}e.hasProperty=hasProperty;function getProperty(e,r){return t.call(e,r)?e[r]:undefined}e.getProperty=getProperty;function getOwnKeys(e){var r=[];for(var n in e){if(t.call(e,n)){r.push(n)}}return r}e.getOwnKeys=getOwnKeys;function getOwnValues(e){var r=[];for(var n in e){if(t.call(e,n)){r.push(e[n])}}return r}e.getOwnValues=getOwnValues;function arrayFrom(e,t){var r;var n=[];for(var i=e.next(),a=i.value,o=i.done;!o;r=e.next(),a=r.value,o=r.done,r){n.push(t?t(a):a)}return n}e.arrayFrom=arrayFrom;function assign(e){var t=[];for(var r=1;r=t}e.shouldAssert=shouldAssert;function assert(e,t,r,n){if(!e){if(r){t+="\r\nVerbose Debug Information: "+(typeof r==="string"?r:r())}fail(t?"False expression: "+t:"False expression.",n||assert)}}e.assert=assert;function assertEqual(e,t,r,n){if(e!==t){var i=r?n?r+" "+n:r:"";fail("Expected "+e+" === "+t+". "+i)}}e.assertEqual=assertEqual;function assertLessThan(e,t,r){if(e>=t){fail("Expected "+e+" < "+t+". "+(r||""))}}e.assertLessThan=assertLessThan;function assertLessThanOrEqual(e,t){if(e>t){fail("Expected "+e+" <= "+t)}}e.assertLessThanOrEqual=assertLessThanOrEqual;function assertGreaterThanOrEqual(e,t){if(e= "+t)}}e.assertGreaterThanOrEqual=assertGreaterThanOrEqual;function fail(e,t){debugger;var r=new Error(e?"Debug Failure. "+e:"Debug Failure.");if(Error.captureStackTrace){Error.captureStackTrace(r,t||fail)}throw r}e.fail=fail;function assertDefined(e,t){if(e===undefined||e===null)return fail(t);return e}e.assertDefined=assertDefined;function assertEachDefined(e,t){for(var r=0,n=e;rt?1:0}e.compareStringsCaseInsensitive=compareStringsCaseInsensitive;function compareStringsCaseSensitive(e,t){return compareComparableValues(e,t)}e.compareStringsCaseSensitive=compareStringsCaseSensitive;function getStringComparer(e){return e?compareStringsCaseInsensitive:compareStringsCaseSensitive}e.getStringComparer=getStringComparer;var i=function(){var e;var t;var r=getStringComparerFactory();return createStringComparer;function compareWithCallback(e,t,r){if(e===t)return 0;if(e===undefined)return-1;if(t===undefined)return 1;var n=r(e,t);return n<0?-1:n>0?1:0}function createIntlCollatorStringComparer(e){var t=new Intl.Collator(e,{usage:"sort",sensitivity:"variant"}).compare;return function(e,r){return compareWithCallback(e,r,t)}}function createLocaleCompareStringComparer(e){if(e!==undefined)return createFallbackStringComparer();return function(e,t){return compareWithCallback(e,t,compareStrings)};function compareStrings(e,t){return e.localeCompare(t)}}function createFallbackStringComparer(){return function(e,t){return compareWithCallback(e,t,compareDictionaryOrder)};function compareDictionaryOrder(e,t){return compareStrings(e.toUpperCase(),t.toUpperCase())||compareStrings(e,t)}function compareStrings(e,t){return et?1:0}}function getStringComparerFactory(){if(typeof Intl==="object"&&typeof Intl.Collator==="function"){return createIntlCollatorStringComparer}if(typeof String.prototype.localeCompare==="function"&&typeof String.prototype.toLocaleUpperCase==="function"&&"a".localeCompare("B")<0){return createLocaleCompareStringComparer}return createFallbackStringComparer}function createStringComparer(n){if(n===undefined){return e||(e=r(n))}else if(n==="en-US"){return t||(t=r(n))}else{return r(n)}}}();var a;var o;function getUILocale(){return o}e.getUILocale=getUILocale;function setUILocale(e){if(o!==e){o=e;a=undefined}}e.setUILocale=setUILocale;function compareStringsCaseSensitiveUI(e,t){var r=a||(a=i(o));return r(e,t)}e.compareStringsCaseSensitiveUI=compareStringsCaseSensitiveUI;function compareProperties(e,t,r,n){return e===t?0:e===undefined?-1:t===undefined?1:n(e[r],t[r])}e.compareProperties=compareProperties;function compareBooleans(e,t){return compareValues(e?1:0,t?1:0)}e.compareBooleans=compareBooleans;function getSpellingSuggestion(e,t,r){var i=Math.min(2,Math.floor(e.length*.34));var a=Math.floor(e.length*.4)+1;var o;var s=false;var c=e.toLowerCase();for(var u=0,l=t;ur?o-r:1;var u=t.length>r+o?r+o:t.length;i[0]=o;var l=o;for(var f=1;fr){return undefined}var p=n;n=i;i=p}var g=n[t.length];return g>r?undefined:g}function endsWith(e,t){var r=e.length-t.length;return r>=0&&e.indexOf(t,r)===r}e.endsWith=endsWith;function removeSuffix(e,t){return endsWith(e,t)?e.slice(0,e.length-t.length):e}e.removeSuffix=removeSuffix;function tryRemoveSuffix(e,t){return endsWith(e,t)?e.slice(0,e.length-t.length):undefined}e.tryRemoveSuffix=tryRemoveSuffix;function stringContains(e,t){return e.indexOf(t)!==-1}e.stringContains=stringContains;function fileExtensionIs(e,t){return e.length>t.length&&endsWith(e,t)}e.fileExtensionIs=fileExtensionIs;function fileExtensionIsOneOf(e,t){for(var r=0,n=t;ri){i=c.prefix.length;n=s}}return n}e.findBestPatternMatch=findBestPatternMatch;function startsWith(e,t){return e.lastIndexOf(t,0)===0}e.startsWith=startsWith;function removePrefix(e,t){return startsWith(e,t)?e.substr(t.length):e}e.removePrefix=removePrefix;function tryRemovePrefix(e,t,r){if(r===void 0){r=identity}return startsWith(r(e),r(t))?e.substring(t.length):undefined}e.tryRemovePrefix=tryRemovePrefix;function isPatternMatch(e,t){var r=e.prefix,n=e.suffix;return t.length>=r.length+n.length&&startsWith(t,r)&&endsWith(t,n)}function and(e,t){return function(r){return e(r)&&t(r)}}e.and=and;function or(e,t){return function(r){return e(r)||t(r)}}e.or=or;function assertType(e){}e.assertType=assertType;function singleElementArray(e){return e===undefined?undefined:[e]}e.singleElementArray=singleElementArray;function enumerateInsertsAndDeletes(e,t,r,n,i,a){a=a||noop;var o=0;var s=0;var c=e.length;var u=t.length;while(o=0,"Invalid argument: major");e.Debug.assert(i>=0,"Invalid argument: minor");e.Debug.assert(a>=0,"Invalid argument: patch");e.Debug.assert(!o||r.test(o),"Invalid argument: prerelease");e.Debug.assert(!s||n.test(s),"Invalid argument: build");this.major=t;this.minor=i;this.patch=a;this.prerelease=o?o.split("."):e.emptyArray;this.build=s?s.split("."):e.emptyArray}Version.tryParse=function(e){var t=tryParseComponents(e);if(!t)return undefined;var r=t.major,n=t.minor,i=t.patch,a=t.prerelease,o=t.build;return new Version(r,n,i,a,o)};Version.prototype.compareTo=function(t){if(this===t)return 0;if(t===undefined)return 1;return e.compareValues(this.major,t.major)||e.compareValues(this.minor,t.minor)||e.compareValues(this.patch,t.patch)||comparePrerelaseIdentifiers(this.prerelease,t.prerelease)};Version.prototype.increment=function(t){switch(t){case"major":return new Version(this.major+1,0,0);case"minor":return new Version(this.major,this.minor+1,0);case"patch":return new Version(this.major,this.minor,this.patch+1);default:return e.Debug.assertNever(t)}};Version.prototype.toString=function(){var t=this.major+"."+this.minor+"."+this.patch;if(e.some(this.prerelease))t+="-"+this.prerelease.join(".");if(e.some(this.build))t+="+"+this.build.join(".");return t};Version.zero=new Version(0,0,0);return Version}();e.Version=a;function tryParseComponents(e){var i=t.exec(e);if(!i)return undefined;var a=i[1],o=i[2],s=o===void 0?"0":o,c=i[3],u=c===void 0?"0":c,l=i[4],f=l===void 0?"":l,d=i[5],p=d===void 0?"":d;if(f&&!r.test(f))return undefined;if(p&&!n.test(p))return undefined;return{major:parseInt(a,10),minor:parseInt(s,10),patch:parseInt(u,10),prerelease:f,build:p}}function comparePrerelaseIdentifiers(t,r){if(t===r)return 0;if(t.length===0)return r.length===0?0:1;if(r.length===0)return-1;var n=Math.min(t.length,r.length);for(var a=0;a|>=|=)?\s*([a-z0-9-+.*]+)$/i;function parseRange(e){var t=[];for(var r=0,n=e.trim().split(s);r=",n.version))}if(!isWildcard(i.major)){r.push(isWildcard(i.minor)?createComparator("<",i.version.increment("major")):isWildcard(i.patch)?createComparator("<",i.version.increment("minor")):createComparator("<=",i.version))}return true}function parseComparator(e,t,r){var n=parsePartial(t);if(!n)return false;var i=n.version,o=n.major,s=n.minor,c=n.patch;if(!isWildcard(o)){switch(e){case"~":r.push(createComparator(">=",i));r.push(createComparator("<",i.increment(isWildcard(s)?"major":"minor")));break;case"^":r.push(createComparator(">=",i));r.push(createComparator("<",i.increment(i.major>0||isWildcard(s)?"major":i.minor>0||isWildcard(c)?"minor":"patch")));break;case"<":case">=":r.push(createComparator(e,i));break;case"<=":case">":r.push(isWildcard(s)?createComparator(e==="<="?"<":">=",i.increment("major")):isWildcard(c)?createComparator(e==="<="?"<":">=",i.increment("minor")):createComparator(e,i));break;case"=":case undefined:if(isWildcard(s)||isWildcard(c)){r.push(createComparator(">=",i));r.push(createComparator("<",i.increment(isWildcard(s)?"major":"minor")))}else{r.push(createComparator("=",i))}break;default:return false}}else if(e==="<"||e===">"){r.push(createComparator("<",a.zero))}return true}function isWildcard(e){return e==="*"||e==="x"||e==="X"}function createComparator(e,t){return{operator:e,operand:t}}function testDisjunction(e,t){if(t.length===0)return true;for(var r=0,n=t;r":return i>0;case">=":return i>=0;case"=":return i===0;default:return e.Debug.assertNever(r)}}function formatDisjunction(t){return e.map(t,formatAlternative).join(" || ")||"*"}function formatAlternative(t){return e.map(t,formatComparator).join(" ")}function formatComparator(e){return""+e.operator+e.operand}})(s||(s={}));var s;(function(e){var t;(function(e){e[e["Unknown"]=0]="Unknown";e[e["EndOfFileToken"]=1]="EndOfFileToken";e[e["SingleLineCommentTrivia"]=2]="SingleLineCommentTrivia";e[e["MultiLineCommentTrivia"]=3]="MultiLineCommentTrivia";e[e["NewLineTrivia"]=4]="NewLineTrivia";e[e["WhitespaceTrivia"]=5]="WhitespaceTrivia";e[e["ShebangTrivia"]=6]="ShebangTrivia";e[e["ConflictMarkerTrivia"]=7]="ConflictMarkerTrivia";e[e["NumericLiteral"]=8]="NumericLiteral";e[e["BigIntLiteral"]=9]="BigIntLiteral";e[e["StringLiteral"]=10]="StringLiteral";e[e["JsxText"]=11]="JsxText";e[e["JsxTextAllWhiteSpaces"]=12]="JsxTextAllWhiteSpaces";e[e["RegularExpressionLiteral"]=13]="RegularExpressionLiteral";e[e["NoSubstitutionTemplateLiteral"]=14]="NoSubstitutionTemplateLiteral";e[e["TemplateHead"]=15]="TemplateHead";e[e["TemplateMiddle"]=16]="TemplateMiddle";e[e["TemplateTail"]=17]="TemplateTail";e[e["OpenBraceToken"]=18]="OpenBraceToken";e[e["CloseBraceToken"]=19]="CloseBraceToken";e[e["OpenParenToken"]=20]="OpenParenToken";e[e["CloseParenToken"]=21]="CloseParenToken";e[e["OpenBracketToken"]=22]="OpenBracketToken";e[e["CloseBracketToken"]=23]="CloseBracketToken";e[e["DotToken"]=24]="DotToken";e[e["DotDotDotToken"]=25]="DotDotDotToken";e[e["SemicolonToken"]=26]="SemicolonToken";e[e["CommaToken"]=27]="CommaToken";e[e["LessThanToken"]=28]="LessThanToken";e[e["LessThanSlashToken"]=29]="LessThanSlashToken";e[e["GreaterThanToken"]=30]="GreaterThanToken";e[e["LessThanEqualsToken"]=31]="LessThanEqualsToken";e[e["GreaterThanEqualsToken"]=32]="GreaterThanEqualsToken";e[e["EqualsEqualsToken"]=33]="EqualsEqualsToken";e[e["ExclamationEqualsToken"]=34]="ExclamationEqualsToken";e[e["EqualsEqualsEqualsToken"]=35]="EqualsEqualsEqualsToken";e[e["ExclamationEqualsEqualsToken"]=36]="ExclamationEqualsEqualsToken";e[e["EqualsGreaterThanToken"]=37]="EqualsGreaterThanToken";e[e["PlusToken"]=38]="PlusToken";e[e["MinusToken"]=39]="MinusToken";e[e["AsteriskToken"]=40]="AsteriskToken";e[e["AsteriskAsteriskToken"]=41]="AsteriskAsteriskToken";e[e["SlashToken"]=42]="SlashToken";e[e["PercentToken"]=43]="PercentToken";e[e["PlusPlusToken"]=44]="PlusPlusToken";e[e["MinusMinusToken"]=45]="MinusMinusToken";e[e["LessThanLessThanToken"]=46]="LessThanLessThanToken";e[e["GreaterThanGreaterThanToken"]=47]="GreaterThanGreaterThanToken";e[e["GreaterThanGreaterThanGreaterThanToken"]=48]="GreaterThanGreaterThanGreaterThanToken";e[e["AmpersandToken"]=49]="AmpersandToken";e[e["BarToken"]=50]="BarToken";e[e["CaretToken"]=51]="CaretToken";e[e["ExclamationToken"]=52]="ExclamationToken";e[e["TildeToken"]=53]="TildeToken";e[e["AmpersandAmpersandToken"]=54]="AmpersandAmpersandToken";e[e["BarBarToken"]=55]="BarBarToken";e[e["QuestionToken"]=56]="QuestionToken";e[e["ColonToken"]=57]="ColonToken";e[e["AtToken"]=58]="AtToken";e[e["EqualsToken"]=59]="EqualsToken";e[e["PlusEqualsToken"]=60]="PlusEqualsToken";e[e["MinusEqualsToken"]=61]="MinusEqualsToken";e[e["AsteriskEqualsToken"]=62]="AsteriskEqualsToken";e[e["AsteriskAsteriskEqualsToken"]=63]="AsteriskAsteriskEqualsToken";e[e["SlashEqualsToken"]=64]="SlashEqualsToken";e[e["PercentEqualsToken"]=65]="PercentEqualsToken";e[e["LessThanLessThanEqualsToken"]=66]="LessThanLessThanEqualsToken";e[e["GreaterThanGreaterThanEqualsToken"]=67]="GreaterThanGreaterThanEqualsToken";e[e["GreaterThanGreaterThanGreaterThanEqualsToken"]=68]="GreaterThanGreaterThanGreaterThanEqualsToken";e[e["AmpersandEqualsToken"]=69]="AmpersandEqualsToken";e[e["BarEqualsToken"]=70]="BarEqualsToken";e[e["CaretEqualsToken"]=71]="CaretEqualsToken";e[e["Identifier"]=72]="Identifier";e[e["BreakKeyword"]=73]="BreakKeyword";e[e["CaseKeyword"]=74]="CaseKeyword";e[e["CatchKeyword"]=75]="CatchKeyword";e[e["ClassKeyword"]=76]="ClassKeyword";e[e["ConstKeyword"]=77]="ConstKeyword";e[e["ContinueKeyword"]=78]="ContinueKeyword";e[e["DebuggerKeyword"]=79]="DebuggerKeyword";e[e["DefaultKeyword"]=80]="DefaultKeyword";e[e["DeleteKeyword"]=81]="DeleteKeyword";e[e["DoKeyword"]=82]="DoKeyword";e[e["ElseKeyword"]=83]="ElseKeyword";e[e["EnumKeyword"]=84]="EnumKeyword";e[e["ExportKeyword"]=85]="ExportKeyword";e[e["ExtendsKeyword"]=86]="ExtendsKeyword";e[e["FalseKeyword"]=87]="FalseKeyword";e[e["FinallyKeyword"]=88]="FinallyKeyword";e[e["ForKeyword"]=89]="ForKeyword";e[e["FunctionKeyword"]=90]="FunctionKeyword";e[e["IfKeyword"]=91]="IfKeyword";e[e["ImportKeyword"]=92]="ImportKeyword";e[e["InKeyword"]=93]="InKeyword";e[e["InstanceOfKeyword"]=94]="InstanceOfKeyword";e[e["NewKeyword"]=95]="NewKeyword";e[e["NullKeyword"]=96]="NullKeyword";e[e["ReturnKeyword"]=97]="ReturnKeyword";e[e["SuperKeyword"]=98]="SuperKeyword";e[e["SwitchKeyword"]=99]="SwitchKeyword";e[e["ThisKeyword"]=100]="ThisKeyword";e[e["ThrowKeyword"]=101]="ThrowKeyword";e[e["TrueKeyword"]=102]="TrueKeyword";e[e["TryKeyword"]=103]="TryKeyword";e[e["TypeOfKeyword"]=104]="TypeOfKeyword";e[e["VarKeyword"]=105]="VarKeyword";e[e["VoidKeyword"]=106]="VoidKeyword";e[e["WhileKeyword"]=107]="WhileKeyword";e[e["WithKeyword"]=108]="WithKeyword";e[e["ImplementsKeyword"]=109]="ImplementsKeyword";e[e["InterfaceKeyword"]=110]="InterfaceKeyword";e[e["LetKeyword"]=111]="LetKeyword";e[e["PackageKeyword"]=112]="PackageKeyword";e[e["PrivateKeyword"]=113]="PrivateKeyword";e[e["ProtectedKeyword"]=114]="ProtectedKeyword";e[e["PublicKeyword"]=115]="PublicKeyword";e[e["StaticKeyword"]=116]="StaticKeyword";e[e["YieldKeyword"]=117]="YieldKeyword";e[e["AbstractKeyword"]=118]="AbstractKeyword";e[e["AsKeyword"]=119]="AsKeyword";e[e["AnyKeyword"]=120]="AnyKeyword";e[e["AsyncKeyword"]=121]="AsyncKeyword";e[e["AwaitKeyword"]=122]="AwaitKeyword";e[e["BooleanKeyword"]=123]="BooleanKeyword";e[e["ConstructorKeyword"]=124]="ConstructorKeyword";e[e["DeclareKeyword"]=125]="DeclareKeyword";e[e["GetKeyword"]=126]="GetKeyword";e[e["InferKeyword"]=127]="InferKeyword";e[e["IsKeyword"]=128]="IsKeyword";e[e["KeyOfKeyword"]=129]="KeyOfKeyword";e[e["ModuleKeyword"]=130]="ModuleKeyword";e[e["NamespaceKeyword"]=131]="NamespaceKeyword";e[e["NeverKeyword"]=132]="NeverKeyword";e[e["ReadonlyKeyword"]=133]="ReadonlyKeyword";e[e["RequireKeyword"]=134]="RequireKeyword";e[e["NumberKeyword"]=135]="NumberKeyword";e[e["ObjectKeyword"]=136]="ObjectKeyword";e[e["SetKeyword"]=137]="SetKeyword";e[e["StringKeyword"]=138]="StringKeyword";e[e["SymbolKeyword"]=139]="SymbolKeyword";e[e["TypeKeyword"]=140]="TypeKeyword";e[e["UndefinedKeyword"]=141]="UndefinedKeyword";e[e["UniqueKeyword"]=142]="UniqueKeyword";e[e["UnknownKeyword"]=143]="UnknownKeyword";e[e["FromKeyword"]=144]="FromKeyword";e[e["GlobalKeyword"]=145]="GlobalKeyword";e[e["BigIntKeyword"]=146]="BigIntKeyword";e[e["OfKeyword"]=147]="OfKeyword";e[e["QualifiedName"]=148]="QualifiedName";e[e["ComputedPropertyName"]=149]="ComputedPropertyName";e[e["TypeParameter"]=150]="TypeParameter";e[e["Parameter"]=151]="Parameter";e[e["Decorator"]=152]="Decorator";e[e["PropertySignature"]=153]="PropertySignature";e[e["PropertyDeclaration"]=154]="PropertyDeclaration";e[e["MethodSignature"]=155]="MethodSignature";e[e["MethodDeclaration"]=156]="MethodDeclaration";e[e["Constructor"]=157]="Constructor";e[e["GetAccessor"]=158]="GetAccessor";e[e["SetAccessor"]=159]="SetAccessor";e[e["CallSignature"]=160]="CallSignature";e[e["ConstructSignature"]=161]="ConstructSignature";e[e["IndexSignature"]=162]="IndexSignature";e[e["TypePredicate"]=163]="TypePredicate";e[e["TypeReference"]=164]="TypeReference";e[e["FunctionType"]=165]="FunctionType";e[e["ConstructorType"]=166]="ConstructorType";e[e["TypeQuery"]=167]="TypeQuery";e[e["TypeLiteral"]=168]="TypeLiteral";e[e["ArrayType"]=169]="ArrayType";e[e["TupleType"]=170]="TupleType";e[e["OptionalType"]=171]="OptionalType";e[e["RestType"]=172]="RestType";e[e["UnionType"]=173]="UnionType";e[e["IntersectionType"]=174]="IntersectionType";e[e["ConditionalType"]=175]="ConditionalType";e[e["InferType"]=176]="InferType";e[e["ParenthesizedType"]=177]="ParenthesizedType";e[e["ThisType"]=178]="ThisType";e[e["TypeOperator"]=179]="TypeOperator";e[e["IndexedAccessType"]=180]="IndexedAccessType";e[e["MappedType"]=181]="MappedType";e[e["LiteralType"]=182]="LiteralType";e[e["ImportType"]=183]="ImportType";e[e["ObjectBindingPattern"]=184]="ObjectBindingPattern";e[e["ArrayBindingPattern"]=185]="ArrayBindingPattern";e[e["BindingElement"]=186]="BindingElement";e[e["ArrayLiteralExpression"]=187]="ArrayLiteralExpression";e[e["ObjectLiteralExpression"]=188]="ObjectLiteralExpression";e[e["PropertyAccessExpression"]=189]="PropertyAccessExpression";e[e["ElementAccessExpression"]=190]="ElementAccessExpression";e[e["CallExpression"]=191]="CallExpression";e[e["NewExpression"]=192]="NewExpression";e[e["TaggedTemplateExpression"]=193]="TaggedTemplateExpression";e[e["TypeAssertionExpression"]=194]="TypeAssertionExpression";e[e["ParenthesizedExpression"]=195]="ParenthesizedExpression";e[e["FunctionExpression"]=196]="FunctionExpression";e[e["ArrowFunction"]=197]="ArrowFunction";e[e["DeleteExpression"]=198]="DeleteExpression";e[e["TypeOfExpression"]=199]="TypeOfExpression";e[e["VoidExpression"]=200]="VoidExpression";e[e["AwaitExpression"]=201]="AwaitExpression";e[e["PrefixUnaryExpression"]=202]="PrefixUnaryExpression";e[e["PostfixUnaryExpression"]=203]="PostfixUnaryExpression";e[e["BinaryExpression"]=204]="BinaryExpression";e[e["ConditionalExpression"]=205]="ConditionalExpression";e[e["TemplateExpression"]=206]="TemplateExpression";e[e["YieldExpression"]=207]="YieldExpression";e[e["SpreadElement"]=208]="SpreadElement";e[e["ClassExpression"]=209]="ClassExpression";e[e["OmittedExpression"]=210]="OmittedExpression";e[e["ExpressionWithTypeArguments"]=211]="ExpressionWithTypeArguments";e[e["AsExpression"]=212]="AsExpression";e[e["NonNullExpression"]=213]="NonNullExpression";e[e["MetaProperty"]=214]="MetaProperty";e[e["SyntheticExpression"]=215]="SyntheticExpression";e[e["TemplateSpan"]=216]="TemplateSpan";e[e["SemicolonClassElement"]=217]="SemicolonClassElement";e[e["Block"]=218]="Block";e[e["VariableStatement"]=219]="VariableStatement";e[e["EmptyStatement"]=220]="EmptyStatement";e[e["ExpressionStatement"]=221]="ExpressionStatement";e[e["IfStatement"]=222]="IfStatement";e[e["DoStatement"]=223]="DoStatement";e[e["WhileStatement"]=224]="WhileStatement";e[e["ForStatement"]=225]="ForStatement";e[e["ForInStatement"]=226]="ForInStatement";e[e["ForOfStatement"]=227]="ForOfStatement";e[e["ContinueStatement"]=228]="ContinueStatement";e[e["BreakStatement"]=229]="BreakStatement";e[e["ReturnStatement"]=230]="ReturnStatement";e[e["WithStatement"]=231]="WithStatement";e[e["SwitchStatement"]=232]="SwitchStatement";e[e["LabeledStatement"]=233]="LabeledStatement";e[e["ThrowStatement"]=234]="ThrowStatement";e[e["TryStatement"]=235]="TryStatement";e[e["DebuggerStatement"]=236]="DebuggerStatement";e[e["VariableDeclaration"]=237]="VariableDeclaration";e[e["VariableDeclarationList"]=238]="VariableDeclarationList";e[e["FunctionDeclaration"]=239]="FunctionDeclaration";e[e["ClassDeclaration"]=240]="ClassDeclaration";e[e["InterfaceDeclaration"]=241]="InterfaceDeclaration";e[e["TypeAliasDeclaration"]=242]="TypeAliasDeclaration";e[e["EnumDeclaration"]=243]="EnumDeclaration";e[e["ModuleDeclaration"]=244]="ModuleDeclaration";e[e["ModuleBlock"]=245]="ModuleBlock";e[e["CaseBlock"]=246]="CaseBlock";e[e["NamespaceExportDeclaration"]=247]="NamespaceExportDeclaration";e[e["ImportEqualsDeclaration"]=248]="ImportEqualsDeclaration";e[e["ImportDeclaration"]=249]="ImportDeclaration";e[e["ImportClause"]=250]="ImportClause";e[e["NamespaceImport"]=251]="NamespaceImport";e[e["NamedImports"]=252]="NamedImports";e[e["ImportSpecifier"]=253]="ImportSpecifier";e[e["ExportAssignment"]=254]="ExportAssignment";e[e["ExportDeclaration"]=255]="ExportDeclaration";e[e["NamedExports"]=256]="NamedExports";e[e["ExportSpecifier"]=257]="ExportSpecifier";e[e["MissingDeclaration"]=258]="MissingDeclaration";e[e["ExternalModuleReference"]=259]="ExternalModuleReference";e[e["JsxElement"]=260]="JsxElement";e[e["JsxSelfClosingElement"]=261]="JsxSelfClosingElement";e[e["JsxOpeningElement"]=262]="JsxOpeningElement";e[e["JsxClosingElement"]=263]="JsxClosingElement";e[e["JsxFragment"]=264]="JsxFragment";e[e["JsxOpeningFragment"]=265]="JsxOpeningFragment";e[e["JsxClosingFragment"]=266]="JsxClosingFragment";e[e["JsxAttribute"]=267]="JsxAttribute";e[e["JsxAttributes"]=268]="JsxAttributes";e[e["JsxSpreadAttribute"]=269]="JsxSpreadAttribute";e[e["JsxExpression"]=270]="JsxExpression";e[e["CaseClause"]=271]="CaseClause";e[e["DefaultClause"]=272]="DefaultClause";e[e["HeritageClause"]=273]="HeritageClause";e[e["CatchClause"]=274]="CatchClause";e[e["PropertyAssignment"]=275]="PropertyAssignment";e[e["ShorthandPropertyAssignment"]=276]="ShorthandPropertyAssignment";e[e["SpreadAssignment"]=277]="SpreadAssignment";e[e["EnumMember"]=278]="EnumMember";e[e["SourceFile"]=279]="SourceFile";e[e["Bundle"]=280]="Bundle";e[e["UnparsedSource"]=281]="UnparsedSource";e[e["InputFiles"]=282]="InputFiles";e[e["JSDocTypeExpression"]=283]="JSDocTypeExpression";e[e["JSDocAllType"]=284]="JSDocAllType";e[e["JSDocUnknownType"]=285]="JSDocUnknownType";e[e["JSDocNullableType"]=286]="JSDocNullableType";e[e["JSDocNonNullableType"]=287]="JSDocNonNullableType";e[e["JSDocOptionalType"]=288]="JSDocOptionalType";e[e["JSDocFunctionType"]=289]="JSDocFunctionType";e[e["JSDocVariadicType"]=290]="JSDocVariadicType";e[e["JSDocComment"]=291]="JSDocComment";e[e["JSDocTypeLiteral"]=292]="JSDocTypeLiteral";e[e["JSDocSignature"]=293]="JSDocSignature";e[e["JSDocTag"]=294]="JSDocTag";e[e["JSDocAugmentsTag"]=295]="JSDocAugmentsTag";e[e["JSDocClassTag"]=296]="JSDocClassTag";e[e["JSDocCallbackTag"]=297]="JSDocCallbackTag";e[e["JSDocEnumTag"]=298]="JSDocEnumTag";e[e["JSDocParameterTag"]=299]="JSDocParameterTag";e[e["JSDocReturnTag"]=300]="JSDocReturnTag";e[e["JSDocThisTag"]=301]="JSDocThisTag";e[e["JSDocTypeTag"]=302]="JSDocTypeTag";e[e["JSDocTemplateTag"]=303]="JSDocTemplateTag";e[e["JSDocTypedefTag"]=304]="JSDocTypedefTag";e[e["JSDocPropertyTag"]=305]="JSDocPropertyTag";e[e["SyntaxList"]=306]="SyntaxList";e[e["NotEmittedStatement"]=307]="NotEmittedStatement";e[e["PartiallyEmittedExpression"]=308]="PartiallyEmittedExpression";e[e["CommaListExpression"]=309]="CommaListExpression";e[e["MergeDeclarationMarker"]=310]="MergeDeclarationMarker";e[e["EndOfDeclarationMarker"]=311]="EndOfDeclarationMarker";e[e["Count"]=312]="Count";e[e["FirstAssignment"]=59]="FirstAssignment";e[e["LastAssignment"]=71]="LastAssignment";e[e["FirstCompoundAssignment"]=60]="FirstCompoundAssignment";e[e["LastCompoundAssignment"]=71]="LastCompoundAssignment";e[e["FirstReservedWord"]=73]="FirstReservedWord";e[e["LastReservedWord"]=108]="LastReservedWord";e[e["FirstKeyword"]=73]="FirstKeyword";e[e["LastKeyword"]=147]="LastKeyword";e[e["FirstFutureReservedWord"]=109]="FirstFutureReservedWord";e[e["LastFutureReservedWord"]=117]="LastFutureReservedWord";e[e["FirstTypeNode"]=163]="FirstTypeNode";e[e["LastTypeNode"]=183]="LastTypeNode";e[e["FirstPunctuation"]=18]="FirstPunctuation";e[e["LastPunctuation"]=71]="LastPunctuation";e[e["FirstToken"]=0]="FirstToken";e[e["LastToken"]=147]="LastToken";e[e["FirstTriviaToken"]=2]="FirstTriviaToken";e[e["LastTriviaToken"]=7]="LastTriviaToken";e[e["FirstLiteralToken"]=8]="FirstLiteralToken";e[e["LastLiteralToken"]=14]="LastLiteralToken";e[e["FirstTemplateToken"]=14]="FirstTemplateToken";e[e["LastTemplateToken"]=17]="LastTemplateToken";e[e["FirstBinaryOperator"]=28]="FirstBinaryOperator";e[e["LastBinaryOperator"]=71]="LastBinaryOperator";e[e["FirstNode"]=148]="FirstNode";e[e["FirstJSDocNode"]=283]="FirstJSDocNode";e[e["LastJSDocNode"]=305]="LastJSDocNode";e[e["FirstJSDocTagNode"]=294]="FirstJSDocTagNode";e[e["LastJSDocTagNode"]=305]="LastJSDocTagNode";e[e["FirstContextualKeyword"]=118]="FirstContextualKeyword";e[e["LastContextualKeyword"]=147]="LastContextualKeyword"})(t=e.SyntaxKind||(e.SyntaxKind={}));var r;(function(e){e[e["None"]=0]="None";e[e["Let"]=1]="Let";e[e["Const"]=2]="Const";e[e["NestedNamespace"]=4]="NestedNamespace";e[e["Synthesized"]=8]="Synthesized";e[e["Namespace"]=16]="Namespace";e[e["ExportContext"]=32]="ExportContext";e[e["ContainsThis"]=64]="ContainsThis";e[e["HasImplicitReturn"]=128]="HasImplicitReturn";e[e["HasExplicitReturn"]=256]="HasExplicitReturn";e[e["GlobalAugmentation"]=512]="GlobalAugmentation";e[e["HasAsyncFunctions"]=1024]="HasAsyncFunctions";e[e["DisallowInContext"]=2048]="DisallowInContext";e[e["YieldContext"]=4096]="YieldContext";e[e["DecoratorContext"]=8192]="DecoratorContext";e[e["AwaitContext"]=16384]="AwaitContext";e[e["ThisNodeHasError"]=32768]="ThisNodeHasError";e[e["JavaScriptFile"]=65536]="JavaScriptFile";e[e["ThisNodeOrAnySubNodesHasError"]=131072]="ThisNodeOrAnySubNodesHasError";e[e["HasAggregatedChildData"]=262144]="HasAggregatedChildData";e[e["PossiblyContainsDynamicImport"]=524288]="PossiblyContainsDynamicImport";e[e["PossiblyContainsImportMeta"]=1048576]="PossiblyContainsImportMeta";e[e["JSDoc"]=2097152]="JSDoc";e[e["Ambient"]=4194304]="Ambient";e[e["InWithStatement"]=8388608]="InWithStatement";e[e["JsonFile"]=16777216]="JsonFile";e[e["BlockScoped"]=3]="BlockScoped";e[e["ReachabilityCheckFlags"]=384]="ReachabilityCheckFlags";e[e["ReachabilityAndEmitFlags"]=1408]="ReachabilityAndEmitFlags";e[e["ContextFlags"]=12679168]="ContextFlags";e[e["TypeExcludesFlags"]=20480]="TypeExcludesFlags";e[e["PermanentlySetIncrementalFlags"]=1572864]="PermanentlySetIncrementalFlags"})(r=e.NodeFlags||(e.NodeFlags={}));var n;(function(e){e[e["None"]=0]="None";e[e["Export"]=1]="Export";e[e["Ambient"]=2]="Ambient";e[e["Public"]=4]="Public";e[e["Private"]=8]="Private";e[e["Protected"]=16]="Protected";e[e["Static"]=32]="Static";e[e["Readonly"]=64]="Readonly";e[e["Abstract"]=128]="Abstract";e[e["Async"]=256]="Async";e[e["Default"]=512]="Default";e[e["Const"]=2048]="Const";e[e["HasComputedFlags"]=536870912]="HasComputedFlags";e[e["AccessibilityModifier"]=28]="AccessibilityModifier";e[e["ParameterPropertyModifier"]=92]="ParameterPropertyModifier";e[e["NonPublicAccessibilityModifier"]=24]="NonPublicAccessibilityModifier";e[e["TypeScriptModifier"]=2270]="TypeScriptModifier";e[e["ExportDefault"]=513]="ExportDefault";e[e["All"]=3071]="All"})(n=e.ModifierFlags||(e.ModifierFlags={}));var i;(function(e){e[e["None"]=0]="None";e[e["IntrinsicNamedElement"]=1]="IntrinsicNamedElement";e[e["IntrinsicIndexedElement"]=2]="IntrinsicIndexedElement";e[e["IntrinsicElement"]=3]="IntrinsicElement"})(i=e.JsxFlags||(e.JsxFlags={}));var a;(function(e){e[e["Succeeded"]=1]="Succeeded";e[e["Failed"]=2]="Failed";e[e["FailedAndReported"]=3]="FailedAndReported"})(a=e.RelationComparisonResult||(e.RelationComparisonResult={}));var o;(function(e){e[e["None"]=0]="None";e[e["Auto"]=1]="Auto";e[e["Loop"]=2]="Loop";e[e["Unique"]=3]="Unique";e[e["Node"]=4]="Node";e[e["KindMask"]=7]="KindMask";e[e["ReservedInNestedScopes"]=8]="ReservedInNestedScopes";e[e["Optimistic"]=16]="Optimistic";e[e["FileLevel"]=32]="FileLevel"})(o=e.GeneratedIdentifierFlags||(e.GeneratedIdentifierFlags={}));var s;(function(e){e[e["None"]=0]="None";e[e["PrecedingLineBreak"]=1]="PrecedingLineBreak";e[e["PrecedingJSDocComment"]=2]="PrecedingJSDocComment";e[e["Unterminated"]=4]="Unterminated";e[e["ExtendedUnicodeEscape"]=8]="ExtendedUnicodeEscape";e[e["Scientific"]=16]="Scientific";e[e["Octal"]=32]="Octal";e[e["HexSpecifier"]=64]="HexSpecifier";e[e["BinarySpecifier"]=128]="BinarySpecifier";e[e["OctalSpecifier"]=256]="OctalSpecifier";e[e["ContainsSeparator"]=512]="ContainsSeparator";e[e["BinaryOrOctalSpecifier"]=384]="BinaryOrOctalSpecifier";e[e["NumericLiteralFlags"]=1008]="NumericLiteralFlags"})(s=e.TokenFlags||(e.TokenFlags={}));var c;(function(e){e[e["Unreachable"]=1]="Unreachable";e[e["Start"]=2]="Start";e[e["BranchLabel"]=4]="BranchLabel";e[e["LoopLabel"]=8]="LoopLabel";e[e["Assignment"]=16]="Assignment";e[e["TrueCondition"]=32]="TrueCondition";e[e["FalseCondition"]=64]="FalseCondition";e[e["SwitchClause"]=128]="SwitchClause";e[e["ArrayMutation"]=256]="ArrayMutation";e[e["Referenced"]=512]="Referenced";e[e["Shared"]=1024]="Shared";e[e["PreFinally"]=2048]="PreFinally";e[e["AfterFinally"]=4096]="AfterFinally";e[e["Label"]=12]="Label";e[e["Condition"]=96]="Condition"})(c=e.FlowFlags||(e.FlowFlags={}));var u=function(){function OperationCanceledException(){}return OperationCanceledException}();e.OperationCanceledException=u;var l;(function(e){e[e["Not"]=0]="Not";e[e["SafeModules"]=1]="SafeModules";e[e["Completely"]=2]="Completely"})(l=e.StructureIsReused||(e.StructureIsReused={}));var f;(function(e){e[e["Success"]=0]="Success";e[e["DiagnosticsPresent_OutputsSkipped"]=1]="DiagnosticsPresent_OutputsSkipped";e[e["DiagnosticsPresent_OutputsGenerated"]=2]="DiagnosticsPresent_OutputsGenerated"})(f=e.ExitStatus||(e.ExitStatus={}));var d;(function(e){e[e["None"]=0]="None";e[e["Literal"]=1]="Literal";e[e["Subtype"]=2]="Subtype"})(d=e.UnionReduction||(e.UnionReduction={}));var p;(function(e){e[e["None"]=0]="None";e[e["NoTruncation"]=1]="NoTruncation";e[e["WriteArrayAsGenericType"]=2]="WriteArrayAsGenericType";e[e["GenerateNamesForShadowedTypeParams"]=4]="GenerateNamesForShadowedTypeParams";e[e["UseStructuralFallback"]=8]="UseStructuralFallback";e[e["ForbidIndexedAccessSymbolReferences"]=16]="ForbidIndexedAccessSymbolReferences";e[e["WriteTypeArgumentsOfSignature"]=32]="WriteTypeArgumentsOfSignature";e[e["UseFullyQualifiedType"]=64]="UseFullyQualifiedType";e[e["UseOnlyExternalAliasing"]=128]="UseOnlyExternalAliasing";e[e["SuppressAnyReturnType"]=256]="SuppressAnyReturnType";e[e["WriteTypeParametersInQualifiedName"]=512]="WriteTypeParametersInQualifiedName";e[e["MultilineObjectLiterals"]=1024]="MultilineObjectLiterals";e[e["WriteClassExpressionAsTypeLiteral"]=2048]="WriteClassExpressionAsTypeLiteral";e[e["UseTypeOfFunction"]=4096]="UseTypeOfFunction";e[e["OmitParameterModifiers"]=8192]="OmitParameterModifiers";e[e["UseAliasDefinedOutsideCurrentScope"]=16384]="UseAliasDefinedOutsideCurrentScope";e[e["AllowThisInObjectLiteral"]=32768]="AllowThisInObjectLiteral";e[e["AllowQualifedNameInPlaceOfIdentifier"]=65536]="AllowQualifedNameInPlaceOfIdentifier";e[e["AllowAnonymousIdentifier"]=131072]="AllowAnonymousIdentifier";e[e["AllowEmptyUnionOrIntersection"]=262144]="AllowEmptyUnionOrIntersection";e[e["AllowEmptyTuple"]=524288]="AllowEmptyTuple";e[e["AllowUniqueESSymbolType"]=1048576]="AllowUniqueESSymbolType";e[e["AllowEmptyIndexInfoType"]=2097152]="AllowEmptyIndexInfoType";e[e["AllowNodeModulesRelativePaths"]=67108864]="AllowNodeModulesRelativePaths";e[e["DoNotIncludeSymbolChain"]=134217728]="DoNotIncludeSymbolChain";e[e["IgnoreErrors"]=70221824]="IgnoreErrors";e[e["InObjectTypeLiteral"]=4194304]="InObjectTypeLiteral";e[e["InTypeAlias"]=8388608]="InTypeAlias";e[e["InInitialEntityName"]=16777216]="InInitialEntityName";e[e["InReverseMappedType"]=33554432]="InReverseMappedType"})(p=e.NodeBuilderFlags||(e.NodeBuilderFlags={}));var g;(function(e){e[e["None"]=0]="None";e[e["NoTruncation"]=1]="NoTruncation";e[e["WriteArrayAsGenericType"]=2]="WriteArrayAsGenericType";e[e["UseStructuralFallback"]=8]="UseStructuralFallback";e[e["WriteTypeArgumentsOfSignature"]=32]="WriteTypeArgumentsOfSignature";e[e["UseFullyQualifiedType"]=64]="UseFullyQualifiedType";e[e["SuppressAnyReturnType"]=256]="SuppressAnyReturnType";e[e["MultilineObjectLiterals"]=1024]="MultilineObjectLiterals";e[e["WriteClassExpressionAsTypeLiteral"]=2048]="WriteClassExpressionAsTypeLiteral";e[e["UseTypeOfFunction"]=4096]="UseTypeOfFunction";e[e["OmitParameterModifiers"]=8192]="OmitParameterModifiers";e[e["UseAliasDefinedOutsideCurrentScope"]=16384]="UseAliasDefinedOutsideCurrentScope";e[e["AllowUniqueESSymbolType"]=1048576]="AllowUniqueESSymbolType";e[e["AddUndefined"]=131072]="AddUndefined";e[e["WriteArrowStyleSignature"]=262144]="WriteArrowStyleSignature";e[e["InArrayType"]=524288]="InArrayType";e[e["InElementType"]=2097152]="InElementType";e[e["InFirstTypeArgument"]=4194304]="InFirstTypeArgument";e[e["InTypeAlias"]=8388608]="InTypeAlias";e[e["WriteOwnNameForAnyLike"]=0]="WriteOwnNameForAnyLike";e[e["NodeBuilderFlagsMask"]=9469291]="NodeBuilderFlagsMask"})(g=e.TypeFormatFlags||(e.TypeFormatFlags={}));var _;(function(e){e[e["None"]=0]="None";e[e["WriteTypeParametersOrArguments"]=1]="WriteTypeParametersOrArguments";e[e["UseOnlyExternalAliasing"]=2]="UseOnlyExternalAliasing";e[e["AllowAnyNodeKind"]=4]="AllowAnyNodeKind";e[e["UseAliasDefinedOutsideCurrentScope"]=8]="UseAliasDefinedOutsideCurrentScope";e[e["DoNotIncludeSymbolChain"]=16]="DoNotIncludeSymbolChain"})(_=e.SymbolFormatFlags||(e.SymbolFormatFlags={}));var m;(function(e){e[e["Accessible"]=0]="Accessible";e[e["NotAccessible"]=1]="NotAccessible";e[e["CannotBeNamed"]=2]="CannotBeNamed"})(m=e.SymbolAccessibility||(e.SymbolAccessibility={}));var y;(function(e){e[e["UnionOrIntersection"]=0]="UnionOrIntersection";e[e["Spread"]=1]="Spread"})(y=e.SyntheticSymbolKind||(e.SyntheticSymbolKind={}));var h;(function(e){e[e["This"]=0]="This";e[e["Identifier"]=1]="Identifier"})(h=e.TypePredicateKind||(e.TypePredicateKind={}));var v;(function(e){e[e["Unknown"]=0]="Unknown";e[e["TypeWithConstructSignatureAndValue"]=1]="TypeWithConstructSignatureAndValue";e[e["VoidNullableOrNeverType"]=2]="VoidNullableOrNeverType";e[e["NumberLikeType"]=3]="NumberLikeType";e[e["BigIntLikeType"]=4]="BigIntLikeType";e[e["StringLikeType"]=5]="StringLikeType";e[e["BooleanType"]=6]="BooleanType";e[e["ArrayLikeType"]=7]="ArrayLikeType";e[e["ESSymbolType"]=8]="ESSymbolType";e[e["Promise"]=9]="Promise";e[e["TypeWithCallSignature"]=10]="TypeWithCallSignature";e[e["ObjectType"]=11]="ObjectType"})(v=e.TypeReferenceSerializationKind||(e.TypeReferenceSerializationKind={}));var T;(function(e){e[e["None"]=0]="None";e[e["FunctionScopedVariable"]=1]="FunctionScopedVariable";e[e["BlockScopedVariable"]=2]="BlockScopedVariable";e[e["Property"]=4]="Property";e[e["EnumMember"]=8]="EnumMember";e[e["Function"]=16]="Function";e[e["Class"]=32]="Class";e[e["Interface"]=64]="Interface";e[e["ConstEnum"]=128]="ConstEnum";e[e["RegularEnum"]=256]="RegularEnum";e[e["ValueModule"]=512]="ValueModule";e[e["NamespaceModule"]=1024]="NamespaceModule";e[e["TypeLiteral"]=2048]="TypeLiteral";e[e["ObjectLiteral"]=4096]="ObjectLiteral";e[e["Method"]=8192]="Method";e[e["Constructor"]=16384]="Constructor";e[e["GetAccessor"]=32768]="GetAccessor";e[e["SetAccessor"]=65536]="SetAccessor";e[e["Signature"]=131072]="Signature";e[e["TypeParameter"]=262144]="TypeParameter";e[e["TypeAlias"]=524288]="TypeAlias";e[e["ExportValue"]=1048576]="ExportValue";e[e["Alias"]=2097152]="Alias";e[e["Prototype"]=4194304]="Prototype";e[e["ExportStar"]=8388608]="ExportStar";e[e["Optional"]=16777216]="Optional";e[e["Transient"]=33554432]="Transient";e[e["Assignment"]=67108864]="Assignment";e[e["ModuleExports"]=134217728]="ModuleExports";e[e["All"]=67108863]="All";e[e["Enum"]=384]="Enum";e[e["Variable"]=3]="Variable";e[e["Value"]=67220415]="Value";e[e["Type"]=67897832]="Type";e[e["Namespace"]=1920]="Namespace";e[e["Module"]=1536]="Module";e[e["Accessor"]=98304]="Accessor";e[e["FunctionScopedVariableExcludes"]=67220414]="FunctionScopedVariableExcludes";e[e["BlockScopedVariableExcludes"]=67220415]="BlockScopedVariableExcludes";e[e["ParameterExcludes"]=67220415]="ParameterExcludes";e[e["PropertyExcludes"]=0]="PropertyExcludes";e[e["EnumMemberExcludes"]=68008959]="EnumMemberExcludes";e[e["FunctionExcludes"]=67219887]="FunctionExcludes";e[e["ClassExcludes"]=68008383]="ClassExcludes";e[e["InterfaceExcludes"]=67897736]="InterfaceExcludes";e[e["RegularEnumExcludes"]=68008191]="RegularEnumExcludes";e[e["ConstEnumExcludes"]=68008831]="ConstEnumExcludes";e[e["ValueModuleExcludes"]=110735]="ValueModuleExcludes";e[e["NamespaceModuleExcludes"]=0]="NamespaceModuleExcludes";e[e["MethodExcludes"]=67212223]="MethodExcludes";e[e["GetAccessorExcludes"]=67154879]="GetAccessorExcludes";e[e["SetAccessorExcludes"]=67187647]="SetAccessorExcludes";e[e["TypeParameterExcludes"]=67635688]="TypeParameterExcludes";e[e["TypeAliasExcludes"]=67897832]="TypeAliasExcludes";e[e["AliasExcludes"]=2097152]="AliasExcludes";e[e["ModuleMember"]=2623475]="ModuleMember";e[e["ExportHasLocal"]=944]="ExportHasLocal";e[e["BlockScoped"]=418]="BlockScoped";e[e["PropertyOrAccessor"]=98308]="PropertyOrAccessor";e[e["ClassMember"]=106500]="ClassMember";e[e["Classifiable"]=2885600]="Classifiable";e[e["LateBindingContainer"]=6240]="LateBindingContainer"})(T=e.SymbolFlags||(e.SymbolFlags={}));var S;(function(e){e[e["Numeric"]=0]="Numeric";e[e["Literal"]=1]="Literal"})(S=e.EnumKind||(e.EnumKind={}));var b;(function(e){e[e["Instantiated"]=1]="Instantiated";e[e["SyntheticProperty"]=2]="SyntheticProperty";e[e["SyntheticMethod"]=4]="SyntheticMethod";e[e["Readonly"]=8]="Readonly";e[e["Partial"]=16]="Partial";e[e["HasNonUniformType"]=32]="HasNonUniformType";e[e["ContainsPublic"]=64]="ContainsPublic";e[e["ContainsProtected"]=128]="ContainsProtected";e[e["ContainsPrivate"]=256]="ContainsPrivate";e[e["ContainsStatic"]=512]="ContainsStatic";e[e["Late"]=1024]="Late";e[e["ReverseMapped"]=2048]="ReverseMapped";e[e["OptionalParameter"]=4096]="OptionalParameter";e[e["RestParameter"]=8192]="RestParameter";e[e["Synthetic"]=6]="Synthetic"})(b=e.CheckFlags||(e.CheckFlags={}));var x;(function(e){e["Call"]="__call";e["Constructor"]="__constructor";e["New"]="__new";e["Index"]="__index";e["ExportStar"]="__export";e["Global"]="__global";e["Missing"]="__missing";e["Type"]="__type";e["Object"]="__object";e["JSXAttributes"]="__jsxAttributes";e["Class"]="__class";e["Function"]="__function";e["Computed"]="__computed";e["Resolving"]="__resolving__";e["ExportEquals"]="export=";e["Default"]="default";e["This"]="this"})(x=e.InternalSymbolName||(e.InternalSymbolName={}));var C;(function(e){e[e["TypeChecked"]=1]="TypeChecked";e[e["LexicalThis"]=2]="LexicalThis";e[e["CaptureThis"]=4]="CaptureThis";e[e["CaptureNewTarget"]=8]="CaptureNewTarget";e[e["SuperInstance"]=256]="SuperInstance";e[e["SuperStatic"]=512]="SuperStatic";e[e["ContextChecked"]=1024]="ContextChecked";e[e["AsyncMethodWithSuper"]=2048]="AsyncMethodWithSuper";e[e["AsyncMethodWithSuperBinding"]=4096]="AsyncMethodWithSuperBinding";e[e["CaptureArguments"]=8192]="CaptureArguments";e[e["EnumValuesComputed"]=16384]="EnumValuesComputed";e[e["LexicalModuleMergesWithClass"]=32768]="LexicalModuleMergesWithClass";e[e["LoopWithCapturedBlockScopedBinding"]=65536]="LoopWithCapturedBlockScopedBinding";e[e["ContainsCapturedBlockScopeBinding"]=131072]="ContainsCapturedBlockScopeBinding";e[e["CapturedBlockScopedBinding"]=262144]="CapturedBlockScopedBinding";e[e["BlockScopedBindingInLoop"]=524288]="BlockScopedBindingInLoop";e[e["ClassWithBodyScopedClassBinding"]=1048576]="ClassWithBodyScopedClassBinding";e[e["BodyScopedClassBinding"]=2097152]="BodyScopedClassBinding";e[e["NeedsLoopOutParameter"]=4194304]="NeedsLoopOutParameter";e[e["AssignmentsMarked"]=8388608]="AssignmentsMarked";e[e["ClassWithConstructorReference"]=16777216]="ClassWithConstructorReference";e[e["ConstructorReferenceInClass"]=33554432]="ConstructorReferenceInClass"})(C=e.NodeCheckFlags||(e.NodeCheckFlags={}));var E;(function(e){e[e["Any"]=1]="Any";e[e["Unknown"]=2]="Unknown";e[e["String"]=4]="String";e[e["Number"]=8]="Number";e[e["Boolean"]=16]="Boolean";e[e["Enum"]=32]="Enum";e[e["BigInt"]=64]="BigInt";e[e["StringLiteral"]=128]="StringLiteral";e[e["NumberLiteral"]=256]="NumberLiteral";e[e["BooleanLiteral"]=512]="BooleanLiteral";e[e["EnumLiteral"]=1024]="EnumLiteral";e[e["BigIntLiteral"]=2048]="BigIntLiteral";e[e["ESSymbol"]=4096]="ESSymbol";e[e["UniqueESSymbol"]=8192]="UniqueESSymbol";e[e["Void"]=16384]="Void";e[e["Undefined"]=32768]="Undefined";e[e["Null"]=65536]="Null";e[e["Never"]=131072]="Never";e[e["TypeParameter"]=262144]="TypeParameter";e[e["Object"]=524288]="Object";e[e["Union"]=1048576]="Union";e[e["Intersection"]=2097152]="Intersection";e[e["Index"]=4194304]="Index";e[e["IndexedAccess"]=8388608]="IndexedAccess";e[e["Conditional"]=16777216]="Conditional";e[e["Substitution"]=33554432]="Substitution";e[e["NonPrimitive"]=67108864]="NonPrimitive";e[e["ContainsWideningType"]=134217728]="ContainsWideningType";e[e["ContainsObjectLiteral"]=268435456]="ContainsObjectLiteral";e[e["ContainsAnyFunctionType"]=536870912]="ContainsAnyFunctionType";e[e["AnyOrUnknown"]=3]="AnyOrUnknown";e[e["Nullable"]=98304]="Nullable";e[e["Literal"]=2944]="Literal";e[e["Unit"]=109440]="Unit";e[e["StringOrNumberLiteral"]=384]="StringOrNumberLiteral";e[e["StringOrNumberLiteralOrUnique"]=8576]="StringOrNumberLiteralOrUnique";e[e["DefinitelyFalsy"]=117632]="DefinitelyFalsy";e[e["PossiblyFalsy"]=117724]="PossiblyFalsy";e[e["Intrinsic"]=67359327]="Intrinsic";e[e["Primitive"]=131068]="Primitive";e[e["StringLike"]=132]="StringLike";e[e["NumberLike"]=296]="NumberLike";e[e["BigIntLike"]=2112]="BigIntLike";e[e["BooleanLike"]=528]="BooleanLike";e[e["EnumLike"]=1056]="EnumLike";e[e["ESSymbolLike"]=12288]="ESSymbolLike";e[e["VoidLike"]=49152]="VoidLike";e[e["DisjointDomains"]=67238908]="DisjointDomains";e[e["UnionOrIntersection"]=3145728]="UnionOrIntersection";e[e["StructuredType"]=3670016]="StructuredType";e[e["TypeVariable"]=8650752]="TypeVariable";e[e["InstantiableNonPrimitive"]=58982400]="InstantiableNonPrimitive";e[e["InstantiablePrimitive"]=4194304]="InstantiablePrimitive";e[e["Instantiable"]=63176704]="Instantiable";e[e["StructuredOrInstantiable"]=66846720]="StructuredOrInstantiable";e[e["Narrowable"]=133970943]="Narrowable";e[e["NotUnionOrUnit"]=67637251]="NotUnionOrUnit";e[e["NotPrimitiveUnion"]=66994211]="NotPrimitiveUnion";e[e["RequiresWidening"]=402653184]="RequiresWidening";e[e["PropagatingFlags"]=939524096]="PropagatingFlags";e[e["NonWideningType"]=134217728]="NonWideningType";e[e["Wildcard"]=268435456]="Wildcard";e[e["EmptyObject"]=536870912]="EmptyObject";e[e["ConstructionFlags"]=939524096]="ConstructionFlags";e[e["GenericMappedType"]=134217728]="GenericMappedType"})(E=e.TypeFlags||(e.TypeFlags={}));var D;(function(e){e[e["Class"]=1]="Class";e[e["Interface"]=2]="Interface";e[e["Reference"]=4]="Reference";e[e["Tuple"]=8]="Tuple";e[e["Anonymous"]=16]="Anonymous";e[e["Mapped"]=32]="Mapped";e[e["Instantiated"]=64]="Instantiated";e[e["ObjectLiteral"]=128]="ObjectLiteral";e[e["EvolvingArray"]=256]="EvolvingArray";e[e["ObjectLiteralPatternWithComputedProperties"]=512]="ObjectLiteralPatternWithComputedProperties";e[e["ContainsSpread"]=1024]="ContainsSpread";e[e["ReverseMapped"]=2048]="ReverseMapped";e[e["JsxAttributes"]=4096]="JsxAttributes";e[e["MarkerType"]=8192]="MarkerType";e[e["JSLiteral"]=16384]="JSLiteral";e[e["FreshLiteral"]=32768]="FreshLiteral";e[e["ClassOrInterface"]=3]="ClassOrInterface"})(D=e.ObjectFlags||(e.ObjectFlags={}));var k;(function(e){e[e["Invariant"]=0]="Invariant";e[e["Covariant"]=1]="Covariant";e[e["Contravariant"]=2]="Contravariant";e[e["Bivariant"]=3]="Bivariant";e[e["Independent"]=4]="Independent"})(k=e.Variance||(e.Variance={}));var N;(function(e){e[e["Component"]=0]="Component";e[e["Function"]=1]="Function";e[e["Mixed"]=2]="Mixed"})(N=e.JsxReferenceKind||(e.JsxReferenceKind={}));var A;(function(e){e[e["Call"]=0]="Call";e[e["Construct"]=1]="Construct"})(A=e.SignatureKind||(e.SignatureKind={}));var O;(function(e){e[e["String"]=0]="String";e[e["Number"]=1]="Number"})(O=e.IndexKind||(e.IndexKind={}));var F;(function(e){e[e["NakedTypeVariable"]=1]="NakedTypeVariable";e[e["HomomorphicMappedType"]=2]="HomomorphicMappedType";e[e["MappedTypeConstraint"]=4]="MappedTypeConstraint";e[e["ReturnType"]=8]="ReturnType";e[e["LiteralKeyof"]=16]="LiteralKeyof";e[e["NoConstraints"]=32]="NoConstraints";e[e["AlwaysStrict"]=64]="AlwaysStrict";e[e["PriorityImpliesCombination"]=28]="PriorityImpliesCombination"})(F=e.InferencePriority||(e.InferencePriority={}));var P;(function(e){e[e["None"]=0]="None";e[e["NoDefault"]=1]="NoDefault";e[e["AnyDefault"]=2]="AnyDefault"})(P=e.InferenceFlags||(e.InferenceFlags={}));var I;(function(e){e[e["False"]=0]="False";e[e["Maybe"]=1]="Maybe";e[e["True"]=-1]="True"})(I=e.Ternary||(e.Ternary={}));var w;(function(e){e[e["None"]=0]="None";e[e["ExportsProperty"]=1]="ExportsProperty";e[e["ModuleExports"]=2]="ModuleExports";e[e["PrototypeProperty"]=3]="PrototypeProperty";e[e["ThisProperty"]=4]="ThisProperty";e[e["Property"]=5]="Property";e[e["Prototype"]=6]="Prototype";e[e["ObjectDefinePropertyValue"]=7]="ObjectDefinePropertyValue";e[e["ObjectDefinePropertyExports"]=8]="ObjectDefinePropertyExports";e[e["ObjectDefinePrototypeProperty"]=9]="ObjectDefinePrototypeProperty"})(w=e.AssignmentDeclarationKind||(e.AssignmentDeclarationKind={}));var M;(function(e){e[e["Warning"]=0]="Warning";e[e["Error"]=1]="Error";e[e["Suggestion"]=2]="Suggestion";e[e["Message"]=3]="Message"})(M=e.DiagnosticCategory||(e.DiagnosticCategory={}));function diagnosticCategoryName(e,t){if(t===void 0){t=true}var r=M[e.category];return t?r.toLowerCase():r}e.diagnosticCategoryName=diagnosticCategoryName;var L;(function(e){e[e["Classic"]=1]="Classic";e[e["NodeJs"]=2]="NodeJs"})(L=e.ModuleResolutionKind||(e.ModuleResolutionKind={}));var R;(function(e){e[e["None"]=0]="None";e[e["CommonJS"]=1]="CommonJS";e[e["AMD"]=2]="AMD";e[e["UMD"]=3]="UMD";e[e["System"]=4]="System";e[e["ES2015"]=5]="ES2015";e[e["ESNext"]=6]="ESNext"})(R=e.ModuleKind||(e.ModuleKind={}));var B;(function(e){e[e["None"]=0]="None";e[e["Preserve"]=1]="Preserve";e[e["React"]=2]="React";e[e["ReactNative"]=3]="ReactNative"})(B=e.JsxEmit||(e.JsxEmit={}));var j;(function(e){e[e["CarriageReturnLineFeed"]=0]="CarriageReturnLineFeed";e[e["LineFeed"]=1]="LineFeed"})(j=e.NewLineKind||(e.NewLineKind={}));var J;(function(e){e[e["Unknown"]=0]="Unknown";e[e["JS"]=1]="JS";e[e["JSX"]=2]="JSX";e[e["TS"]=3]="TS";e[e["TSX"]=4]="TSX";e[e["External"]=5]="External";e[e["JSON"]=6]="JSON";e[e["Deferred"]=7]="Deferred"})(J=e.ScriptKind||(e.ScriptKind={}));var W;(function(e){e[e["ES3"]=0]="ES3";e[e["ES5"]=1]="ES5";e[e["ES2015"]=2]="ES2015";e[e["ES2016"]=3]="ES2016";e[e["ES2017"]=4]="ES2017";e[e["ES2018"]=5]="ES2018";e[e["ESNext"]=6]="ESNext";e[e["JSON"]=100]="JSON";e[e["Latest"]=6]="Latest"})(W=e.ScriptTarget||(e.ScriptTarget={}));var U;(function(e){e[e["Standard"]=0]="Standard";e[e["JSX"]=1]="JSX"})(U=e.LanguageVariant||(e.LanguageVariant={}));var z;(function(e){e[e["None"]=0]="None";e[e["Recursive"]=1]="Recursive"})(z=e.WatchDirectoryFlags||(e.WatchDirectoryFlags={}));var V;(function(e){e[e["nullCharacter"]=0]="nullCharacter";e[e["maxAsciiCharacter"]=127]="maxAsciiCharacter";e[e["lineFeed"]=10]="lineFeed";e[e["carriageReturn"]=13]="carriageReturn";e[e["lineSeparator"]=8232]="lineSeparator";e[e["paragraphSeparator"]=8233]="paragraphSeparator";e[e["nextLine"]=133]="nextLine";e[e["space"]=32]="space";e[e["nonBreakingSpace"]=160]="nonBreakingSpace";e[e["enQuad"]=8192]="enQuad";e[e["emQuad"]=8193]="emQuad";e[e["enSpace"]=8194]="enSpace";e[e["emSpace"]=8195]="emSpace";e[e["threePerEmSpace"]=8196]="threePerEmSpace";e[e["fourPerEmSpace"]=8197]="fourPerEmSpace";e[e["sixPerEmSpace"]=8198]="sixPerEmSpace";e[e["figureSpace"]=8199]="figureSpace";e[e["punctuationSpace"]=8200]="punctuationSpace";e[e["thinSpace"]=8201]="thinSpace";e[e["hairSpace"]=8202]="hairSpace";e[e["zeroWidthSpace"]=8203]="zeroWidthSpace";e[e["narrowNoBreakSpace"]=8239]="narrowNoBreakSpace";e[e["ideographicSpace"]=12288]="ideographicSpace";e[e["mathematicalSpace"]=8287]="mathematicalSpace";e[e["ogham"]=5760]="ogham";e[e["_"]=95]="_";e[e["$"]=36]="$";e[e["_0"]=48]="_0";e[e["_1"]=49]="_1";e[e["_2"]=50]="_2";e[e["_3"]=51]="_3";e[e["_4"]=52]="_4";e[e["_5"]=53]="_5";e[e["_6"]=54]="_6";e[e["_7"]=55]="_7";e[e["_8"]=56]="_8";e[e["_9"]=57]="_9";e[e["a"]=97]="a";e[e["b"]=98]="b";e[e["c"]=99]="c";e[e["d"]=100]="d";e[e["e"]=101]="e";e[e["f"]=102]="f";e[e["g"]=103]="g";e[e["h"]=104]="h";e[e["i"]=105]="i";e[e["j"]=106]="j";e[e["k"]=107]="k";e[e["l"]=108]="l";e[e["m"]=109]="m";e[e["n"]=110]="n";e[e["o"]=111]="o";e[e["p"]=112]="p";e[e["q"]=113]="q";e[e["r"]=114]="r";e[e["s"]=115]="s";e[e["t"]=116]="t";e[e["u"]=117]="u";e[e["v"]=118]="v";e[e["w"]=119]="w";e[e["x"]=120]="x";e[e["y"]=121]="y";e[e["z"]=122]="z";e[e["A"]=65]="A";e[e["B"]=66]="B";e[e["C"]=67]="C";e[e["D"]=68]="D";e[e["E"]=69]="E";e[e["F"]=70]="F";e[e["G"]=71]="G";e[e["H"]=72]="H";e[e["I"]=73]="I";e[e["J"]=74]="J";e[e["K"]=75]="K";e[e["L"]=76]="L";e[e["M"]=77]="M";e[e["N"]=78]="N";e[e["O"]=79]="O";e[e["P"]=80]="P";e[e["Q"]=81]="Q";e[e["R"]=82]="R";e[e["S"]=83]="S";e[e["T"]=84]="T";e[e["U"]=85]="U";e[e["V"]=86]="V";e[e["W"]=87]="W";e[e["X"]=88]="X";e[e["Y"]=89]="Y";e[e["Z"]=90]="Z";e[e["ampersand"]=38]="ampersand";e[e["asterisk"]=42]="asterisk";e[e["at"]=64]="at";e[e["backslash"]=92]="backslash";e[e["backtick"]=96]="backtick";e[e["bar"]=124]="bar";e[e["caret"]=94]="caret";e[e["closeBrace"]=125]="closeBrace";e[e["closeBracket"]=93]="closeBracket";e[e["closeParen"]=41]="closeParen";e[e["colon"]=58]="colon";e[e["comma"]=44]="comma";e[e["dot"]=46]="dot";e[e["doubleQuote"]=34]="doubleQuote";e[e["equals"]=61]="equals";e[e["exclamation"]=33]="exclamation";e[e["greaterThan"]=62]="greaterThan";e[e["hash"]=35]="hash";e[e["lessThan"]=60]="lessThan";e[e["minus"]=45]="minus";e[e["openBrace"]=123]="openBrace";e[e["openBracket"]=91]="openBracket";e[e["openParen"]=40]="openParen";e[e["percent"]=37]="percent";e[e["plus"]=43]="plus";e[e["question"]=63]="question";e[e["semicolon"]=59]="semicolon";e[e["singleQuote"]=39]="singleQuote";e[e["slash"]=47]="slash";e[e["tilde"]=126]="tilde";e[e["backspace"]=8]="backspace";e[e["formFeed"]=12]="formFeed";e[e["byteOrderMark"]=65279]="byteOrderMark";e[e["tab"]=9]="tab";e[e["verticalTab"]=11]="verticalTab"})(V=e.CharacterCodes||(e.CharacterCodes={}));var K;(function(e){e["Ts"]=".ts";e["Tsx"]=".tsx";e["Dts"]=".d.ts";e["Js"]=".js";e["Jsx"]=".jsx";e["Json"]=".json"})(K=e.Extension||(e.Extension={}));var G;(function(e){e[e["None"]=0]="None";e[e["TypeScript"]=1]="TypeScript";e[e["ContainsTypeScript"]=2]="ContainsTypeScript";e[e["ContainsJsx"]=4]="ContainsJsx";e[e["ContainsESNext"]=8]="ContainsESNext";e[e["ContainsES2017"]=16]="ContainsES2017";e[e["ContainsES2016"]=32]="ContainsES2016";e[e["ES2015"]=64]="ES2015";e[e["ContainsES2015"]=128]="ContainsES2015";e[e["Generator"]=256]="Generator";e[e["ContainsGenerator"]=512]="ContainsGenerator";e[e["DestructuringAssignment"]=1024]="DestructuringAssignment";e[e["ContainsDestructuringAssignment"]=2048]="ContainsDestructuringAssignment";e[e["ContainsTypeScriptClassSyntax"]=4096]="ContainsTypeScriptClassSyntax";e[e["ContainsLexicalThis"]=8192]="ContainsLexicalThis";e[e["ContainsCapturedLexicalThis"]=16384]="ContainsCapturedLexicalThis";e[e["ContainsLexicalThisInComputedPropertyName"]=32768]="ContainsLexicalThisInComputedPropertyName";e[e["ContainsDefaultValueAssignments"]=65536]="ContainsDefaultValueAssignments";e[e["ContainsRestOrSpread"]=131072]="ContainsRestOrSpread";e[e["ContainsObjectRestOrSpread"]=262144]="ContainsObjectRestOrSpread";e[e["ContainsComputedPropertyName"]=524288]="ContainsComputedPropertyName";e[e["ContainsBlockScopedBinding"]=1048576]="ContainsBlockScopedBinding";e[e["ContainsBindingPattern"]=2097152]="ContainsBindingPattern";e[e["ContainsYield"]=4194304]="ContainsYield";e[e["ContainsHoistedDeclarationOrCompletion"]=8388608]="ContainsHoistedDeclarationOrCompletion";e[e["ContainsDynamicImport"]=16777216]="ContainsDynamicImport";e[e["Super"]=33554432]="Super";e[e["ContainsSuper"]=67108864]="ContainsSuper";e[e["HasComputedFlags"]=536870912]="HasComputedFlags";e[e["AssertTypeScript"]=3]="AssertTypeScript";e[e["AssertJsx"]=4]="AssertJsx";e[e["AssertESNext"]=8]="AssertESNext";e[e["AssertES2017"]=16]="AssertES2017";e[e["AssertES2016"]=32]="AssertES2016";e[e["AssertES2015"]=192]="AssertES2015";e[e["AssertGenerator"]=768]="AssertGenerator";e[e["AssertDestructuringAssignment"]=3072]="AssertDestructuringAssignment";e[e["OuterExpressionExcludes"]=536872257]="OuterExpressionExcludes";e[e["PropertyAccessExcludes"]=570426689]="PropertyAccessExcludes";e[e["NodeExcludes"]=637535553]="NodeExcludes";e[e["ArrowFunctionExcludes"]=653604161]="ArrowFunctionExcludes";e[e["FunctionExcludes"]=653620545]="FunctionExcludes";e[e["ConstructorExcludes"]=653616449]="ConstructorExcludes";e[e["MethodOrAccessorExcludes"]=653616449]="MethodOrAccessorExcludes";e[e["ClassExcludes"]=638121281]="ClassExcludes";e[e["ModuleExcludes"]=647001409]="ModuleExcludes";e[e["TypeExcludes"]=-3]="TypeExcludes";e[e["ObjectLiteralExcludes"]=638358849]="ObjectLiteralExcludes";e[e["ArrayLiteralOrCallOrNewExcludes"]=637666625]="ArrayLiteralOrCallOrNewExcludes";e[e["VariableDeclarationListExcludes"]=639894849]="VariableDeclarationListExcludes";e[e["ParameterExcludes"]=637535553]="ParameterExcludes";e[e["CatchClauseExcludes"]=637797697]="CatchClauseExcludes";e[e["BindingPatternExcludes"]=637666625]="BindingPatternExcludes";e[e["ES2015FunctionSyntaxMask"]=81920]="ES2015FunctionSyntaxMask"})(G=e.TransformFlags||(e.TransformFlags={}));var q;(function(e){e[e["None"]=0]="None";e[e["SingleLine"]=1]="SingleLine";e[e["AdviseOnEmitNode"]=2]="AdviseOnEmitNode";e[e["NoSubstitution"]=4]="NoSubstitution";e[e["CapturesThis"]=8]="CapturesThis";e[e["NoLeadingSourceMap"]=16]="NoLeadingSourceMap";e[e["NoTrailingSourceMap"]=32]="NoTrailingSourceMap";e[e["NoSourceMap"]=48]="NoSourceMap";e[e["NoNestedSourceMaps"]=64]="NoNestedSourceMaps";e[e["NoTokenLeadingSourceMaps"]=128]="NoTokenLeadingSourceMaps";e[e["NoTokenTrailingSourceMaps"]=256]="NoTokenTrailingSourceMaps";e[e["NoTokenSourceMaps"]=384]="NoTokenSourceMaps";e[e["NoLeadingComments"]=512]="NoLeadingComments";e[e["NoTrailingComments"]=1024]="NoTrailingComments";e[e["NoComments"]=1536]="NoComments";e[e["NoNestedComments"]=2048]="NoNestedComments";e[e["HelperName"]=4096]="HelperName";e[e["ExportName"]=8192]="ExportName";e[e["LocalName"]=16384]="LocalName";e[e["InternalName"]=32768]="InternalName";e[e["Indented"]=65536]="Indented";e[e["NoIndentation"]=131072]="NoIndentation";e[e["AsyncFunctionBody"]=262144]="AsyncFunctionBody";e[e["ReuseTempVariableScope"]=524288]="ReuseTempVariableScope";e[e["CustomPrologue"]=1048576]="CustomPrologue";e[e["NoHoisting"]=2097152]="NoHoisting";e[e["HasEndOfDeclarationMarker"]=4194304]="HasEndOfDeclarationMarker";e[e["Iterator"]=8388608]="Iterator";e[e["NoAsciiEscaping"]=16777216]="NoAsciiEscaping";e[e["TypeScriptClassWrapper"]=33554432]="TypeScriptClassWrapper";e[e["NeverApplyImportHelper"]=67108864]="NeverApplyImportHelper"})(q=e.EmitFlags||(e.EmitFlags={}));var H;(function(e){e[e["Extends"]=1]="Extends";e[e["Assign"]=2]="Assign";e[e["Rest"]=4]="Rest";e[e["Decorate"]=8]="Decorate";e[e["Metadata"]=16]="Metadata";e[e["Param"]=32]="Param";e[e["Awaiter"]=64]="Awaiter";e[e["Generator"]=128]="Generator";e[e["Values"]=256]="Values";e[e["Read"]=512]="Read";e[e["Spread"]=1024]="Spread";e[e["Await"]=2048]="Await";e[e["AsyncGenerator"]=4096]="AsyncGenerator";e[e["AsyncDelegator"]=8192]="AsyncDelegator";e[e["AsyncValues"]=16384]="AsyncValues";e[e["ExportStar"]=32768]="ExportStar";e[e["MakeTemplateObject"]=65536]="MakeTemplateObject";e[e["FirstEmitHelper"]=1]="FirstEmitHelper";e[e["LastEmitHelper"]=65536]="LastEmitHelper";e[e["ForOfIncludes"]=256]="ForOfIncludes";e[e["ForAwaitOfIncludes"]=16384]="ForAwaitOfIncludes";e[e["AsyncGeneratorIncludes"]=6144]="AsyncGeneratorIncludes";e[e["AsyncDelegatorIncludes"]=26624]="AsyncDelegatorIncludes";e[e["SpreadIncludes"]=1536]="SpreadIncludes"})(H=e.ExternalEmitHelpers||(e.ExternalEmitHelpers={}));var Q;(function(e){e[e["SourceFile"]=0]="SourceFile";e[e["Expression"]=1]="Expression";e[e["IdentifierName"]=2]="IdentifierName";e[e["MappedTypeParameter"]=3]="MappedTypeParameter";e[e["Unspecified"]=4]="Unspecified";e[e["EmbeddedStatement"]=5]="EmbeddedStatement"})(Q=e.EmitHint||(e.EmitHint={}));var $;(function(e){e[e["None"]=0]="None";e[e["SingleLine"]=0]="SingleLine";e[e["MultiLine"]=1]="MultiLine";e[e["PreserveLines"]=2]="PreserveLines";e[e["LinesMask"]=3]="LinesMask";e[e["NotDelimited"]=0]="NotDelimited";e[e["BarDelimited"]=4]="BarDelimited";e[e["AmpersandDelimited"]=8]="AmpersandDelimited";e[e["CommaDelimited"]=16]="CommaDelimited";e[e["AsteriskDelimited"]=32]="AsteriskDelimited";e[e["DelimitersMask"]=60]="DelimitersMask";e[e["AllowTrailingComma"]=64]="AllowTrailingComma";e[e["Indented"]=128]="Indented";e[e["SpaceBetweenBraces"]=256]="SpaceBetweenBraces";e[e["SpaceBetweenSiblings"]=512]="SpaceBetweenSiblings";e[e["Braces"]=1024]="Braces";e[e["Parenthesis"]=2048]="Parenthesis";e[e["AngleBrackets"]=4096]="AngleBrackets";e[e["SquareBrackets"]=8192]="SquareBrackets";e[e["BracketsMask"]=15360]="BracketsMask";e[e["OptionalIfUndefined"]=16384]="OptionalIfUndefined";e[e["OptionalIfEmpty"]=32768]="OptionalIfEmpty";e[e["Optional"]=49152]="Optional";e[e["PreferNewLine"]=65536]="PreferNewLine";e[e["NoTrailingNewLine"]=131072]="NoTrailingNewLine";e[e["NoInterveningComments"]=262144]="NoInterveningComments";e[e["NoSpaceIfEmpty"]=524288]="NoSpaceIfEmpty";e[e["SingleElement"]=1048576]="SingleElement";e[e["Modifiers"]=262656]="Modifiers";e[e["HeritageClauses"]=512]="HeritageClauses";e[e["SingleLineTypeLiteralMembers"]=768]="SingleLineTypeLiteralMembers";e[e["MultiLineTypeLiteralMembers"]=32897]="MultiLineTypeLiteralMembers";e[e["TupleTypeElements"]=528]="TupleTypeElements";e[e["UnionTypeConstituents"]=516]="UnionTypeConstituents";e[e["IntersectionTypeConstituents"]=520]="IntersectionTypeConstituents";e[e["ObjectBindingPatternElements"]=525136]="ObjectBindingPatternElements";e[e["ArrayBindingPatternElements"]=524880]="ArrayBindingPatternElements";e[e["ObjectLiteralExpressionProperties"]=526226]="ObjectLiteralExpressionProperties";e[e["ArrayLiteralExpressionElements"]=8914]="ArrayLiteralExpressionElements";e[e["CommaListElements"]=528]="CommaListElements";e[e["CallExpressionArguments"]=2576]="CallExpressionArguments";e[e["NewExpressionArguments"]=18960]="NewExpressionArguments";e[e["TemplateExpressionSpans"]=262144]="TemplateExpressionSpans";e[e["SingleLineBlockStatements"]=768]="SingleLineBlockStatements";e[e["MultiLineBlockStatements"]=129]="MultiLineBlockStatements";e[e["VariableDeclarationList"]=528]="VariableDeclarationList";e[e["SingleLineFunctionBodyStatements"]=768]="SingleLineFunctionBodyStatements";e[e["MultiLineFunctionBodyStatements"]=1]="MultiLineFunctionBodyStatements";e[e["ClassHeritageClauses"]=0]="ClassHeritageClauses";e[e["ClassMembers"]=129]="ClassMembers";e[e["InterfaceMembers"]=129]="InterfaceMembers";e[e["EnumMembers"]=145]="EnumMembers";e[e["CaseBlockClauses"]=129]="CaseBlockClauses";e[e["NamedImportsOrExportsElements"]=525136]="NamedImportsOrExportsElements";e[e["JsxElementOrFragmentChildren"]=262144]="JsxElementOrFragmentChildren";e[e["JsxElementAttributes"]=262656]="JsxElementAttributes";e[e["CaseOrDefaultClauseStatements"]=163969]="CaseOrDefaultClauseStatements";e[e["HeritageClauseTypes"]=528]="HeritageClauseTypes";e[e["SourceFileStatements"]=131073]="SourceFileStatements";e[e["Decorators"]=49153]="Decorators";e[e["TypeArguments"]=53776]="TypeArguments";e[e["TypeParameters"]=53776]="TypeParameters";e[e["Parameters"]=2576]="Parameters";e[e["IndexSignatureParameters"]=8848]="IndexSignatureParameters";e[e["JSDocComment"]=33]="JSDocComment"})($=e.ListFormat||(e.ListFormat={}));var X;(function(e){e[e["None"]=0]="None";e[e["TripleSlashXML"]=1]="TripleSlashXML";e[e["SingleLine"]=2]="SingleLine";e[e["MultiLine"]=4]="MultiLine";e[e["All"]=7]="All";e[e["Default"]=7]="Default"})(X=e.PragmaKindFlags||(e.PragmaKindFlags={}));function _contextuallyTypePragmas(e){return e}e.commentPragmas=_contextuallyTypePragmas({reference:{args:[{name:"types",optional:true,captureSpan:true},{name:"lib",optional:true,captureSpan:true},{name:"path",optional:true,captureSpan:true},{name:"no-default-lib",optional:true}],kind:1},"amd-dependency":{args:[{name:"path"},{name:"name",optional:true}],kind:1},"amd-module":{args:[{name:"name"}],kind:1},"ts-check":{kind:2},"ts-nocheck":{kind:2},jsx:{args:[{name:"factory"}],kind:4}})})(s||(s={}));var s;(function(e){function setStackTraceLimit(){if(Error.stackTraceLimit<100){Error.stackTraceLimit=100}}e.setStackTraceLimit=setStackTraceLimit;var t;(function(e){e[e["Created"]=0]="Created";e[e["Changed"]=1]="Changed";e[e["Deleted"]=2]="Deleted"})(t=e.FileWatcherEventKind||(e.FileWatcherEventKind={}));var i;(function(e){e[e["High"]=2e3]="High";e[e["Medium"]=500]="Medium";e[e["Low"]=250]="Low"})(i=e.PollingInterval||(e.PollingInterval={}));e.missingFileModifiedTime=new Date(0);function createPollingIntervalBasedLevels(e){var t;return t={},t[i.Low]=e.Low,t[i.Medium]=e.Medium,t[i.High]=e.High,t}var a={Low:32,Medium:64,High:256};var o=createPollingIntervalBasedLevels(a);e.unchangedPollThresholds=createPollingIntervalBasedLevels(a);function setCustomPollingValues(t){if(!t.getEnvironmentVariable){return}var r=setCustomLevels("TSC_WATCH_POLLINGINTERVAL",i);o=getCustomPollingBasedLevels("TSC_WATCH_POLLINGCHUNKSIZE",a)||o;e.unchangedPollThresholds=getCustomPollingBasedLevels("TSC_WATCH_UNCHANGEDPOLLTHRESHOLDS",a)||e.unchangedPollThresholds;function getLevel(e,r){return t.getEnvironmentVariable(e+"_"+r.toUpperCase())}function getCustomLevels(e){var t;setCustomLevel("Low");setCustomLevel("Medium");setCustomLevel("High");return t;function setCustomLevel(r){var n=getLevel(e,r);if(n){(t||(t={}))[r]=Number(n)}}}function setCustomLevels(e,t){var r=getCustomLevels(e);if(r){setLevel("Low");setLevel("Medium");setLevel("High");return true}return false;function setLevel(e){t[e]=r[e]||t[e]}}function getCustomPollingBasedLevels(e,t){var i=getCustomLevels(e);return(r||i)&&createPollingIntervalBasedLevels(i?n({},t,i):t)}}e.setCustomPollingValues=setCustomPollingValues;function createDynamicPriorityPollingWatchFile(t){var r=[];var n=[];var a=createPollingIntervalQueue(i.Low);var s=createPollingIntervalQueue(i.Medium);var c=createPollingIntervalQueue(i.High);return watchFile;function watchFile(t,n,i){var a={fileName:t,callback:n,unchangedPolls:0,mtime:getModifiedTime(t)};r.push(a);addToPollingIntervalQueue(a,i);return{close:function(){a.isClosed=true;e.unorderedRemoveItem(r,a)}}}function createPollingIntervalQueue(e){var t=[];t.pollingInterval=e;t.pollIndex=0;t.pollScheduled=false;return t}function pollPollingIntervalQueue(t){t.pollIndex=pollQueue(t,t.pollingInterval,t.pollIndex,o[t.pollingInterval]);if(t.length){scheduleNextPoll(t.pollingInterval)}else{e.Debug.assert(t.pollIndex===0);t.pollScheduled=false}}function pollLowPollingIntervalQueue(e){pollQueue(n,i.Low,0,n.length);pollPollingIntervalQueue(e);if(!e.pollScheduled&&n.length){scheduleNextPoll(i.Low)}}function pollQueue(t,r,a,o){var s=t.length;var c=a;for(var u=0;u0;nextPollIndex(),s--){var l=t[a];if(!l){continue}else if(l.isClosed){t[a]=undefined;continue}u++;var f=onWatchedFileStat(l,getModifiedTime(l.fileName));if(l.isClosed){t[a]=undefined}else if(f){l.unchangedPolls=0;if(t!==n){t[a]=undefined;addChangedFileToLowPollingIntervalQueue(l)}}else if(l.unchangedPolls!==e.unchangedPollThresholds[r]){l.unchangedPolls++}else if(t===n){l.unchangedPolls=1;t[a]=undefined;addToPollingIntervalQueue(l,i.Low)}else if(r!==i.High){l.unchangedPolls++;t[a]=undefined;addToPollingIntervalQueue(l,r===i.Low?i.Medium:i.High)}if(t[a]){if(c=4;var d=s.platform();var p=isFileSystemCaseSensitive();var g;(function(e){e[e["File"]=0]="File";e[e["Directory"]=1]="Directory"})(g||(g={}));var _=process.env.TSC_NONPOLLING_WATCHER;var m=process.env.TSC_WATCHFILE;var y=process.env.TSC_WATCHDIRECTORY;var h;var v={args:process.argv.slice(2),newLine:s.EOL,useCaseSensitiveFileNames:p,write:function(e){process.stdout.write(e)},writeOutputIsTTY:function(){return process.stdout.isTTY},readFile:readFile,writeFile:writeFile,watchFile:getWatchFile(),watchDirectory:getWatchDirectory(),resolvePath:function(e){return o.resolve(e)},fileExists:fileExists,directoryExists:directoryExists,createDirectory:function(e){if(!v.directoryExists(e)){a.mkdirSync(e)}},getExecutingFilePath:function(){return __filename},getCurrentDirectory:function(){return process.cwd()},getDirectories:getDirectories,getEnvironmentVariable:function(e){return process.env[e]||""},readDirectory:readDirectory,getModifiedTime:getModifiedTime,setModifiedTime:setModifiedTime,deleteFile:deleteFile,createHash:c?createMD5HashUsingNativeCrypto:generateDjb2Hash,createSHA256Hash:c?createSHA256Hash:undefined,getMemoryUsage:function(){if(global.gc){global.gc()}return process.memoryUsage().heapUsed},getFileSize:function(e){try{var t=a.statSync(e);if(t.isFile()){return t.size}}catch(e){}return 0},exit:function(e){process.exit(e)},realpath:realpath,debugMode:e.some(process.execArgv,function(e){return/^--(inspect|debug)(-brk)?(=\d+)?$/i.test(e)}),tryEnableSourceMapsForHost:function(){try{r(376).install()}catch(e){}},setTimeout:setTimeout,clearTimeout:clearTimeout,clearScreen:function(){process.stdout.write("c")},setBlocking:function(){if(process.stdout&&process.stdout._handle&&process.stdout._handle.setBlocking){process.stdout._handle.setBlocking(true)}},bufferFrom:bufferFrom,base64decode:function(e){return bufferFrom(e,"base64").toString("utf8")},base64encode:function(e){return bufferFrom(e).toString("base64")}};return v;function bufferFrom(e,t){return u.from&&u.from!==Int8Array.from?u.from(e,t):new u(e,t)}function isFileSystemCaseSensitive(){if(d==="win32"||d==="win64"){return false}return!fileExists(swapCase(__filename))}function swapCase(e){return e.replace(/\w/g,function(e){var t=e.toUpperCase();return e===t?e.toLowerCase():t})}function getWatchFile(){switch(m){case"PriorityPollingInterval":return fsWatchFile;case"DynamicPriorityPolling":return createDynamicPriorityPollingWatchFile({getModifiedTime:getModifiedTime,setTimeout:setTimeout});case"UseFsEvents":return watchFileUsingFsWatch;case"UseFsEventsWithFallbackDynamicPolling":h=createDynamicPriorityPollingWatchFile({getModifiedTime:getModifiedTime,setTimeout:setTimeout});return createWatchFileUsingDynamicWatchFile(h);case"UseFsEventsOnParentDirectory":return createNonPollingWatchFile()}return _?createNonPollingWatchFile():function(e,t){return fsWatchFile(e,t)}}function getWatchDirectory(){var e=f&&(process.platform==="win32"||process.platform==="darwin");if(e){return watchDirectoryUsingFsWatch}var t=y==="RecursiveDirectoryUsingFsWatchFile"?createWatchDirectoryUsing(fsWatchFile):y==="RecursiveDirectoryUsingDynamicPriorityPolling"?createWatchDirectoryUsing(h||createDynamicPriorityPollingWatchFile({getModifiedTime:getModifiedTime,setTimeout:setTimeout})):watchDirectoryUsingFsWatch;var r=createRecursiveDirectoryWatcher({useCaseSensitiveFileNames:p,directoryExists:directoryExists,getAccessibleSortedChildDirectories:function(e){return getAccessibleFileSystemEntries(e).directories},watchDirectory:t,realpath:realpath});return function(e,n,i){if(i){return r(e,n)}return t(e,n)}}function createNonPollingWatchFile(){var r=e.createMultiMap();var n=e.createMap();var i=e.createGetCanonicalFileName(p);return nonPollingWatchFile;function nonPollingWatchFile(t,a){var o=i(t);r.add(o,a);var s=e.getDirectoryPath(o)||".";var c=n.get(s)||createDirectoryWatcher(e.getDirectoryPath(t)||".",s);c.referenceCount++;return{close:function(){if(c.referenceCount===1){c.close();n.delete(s)}else{c.referenceCount--}r.remove(o,a)}}}function createDirectoryWatcher(a,o){var s=fsWatchDirectory(a,function(n,o){if(!e.isString(o)){return}var s=e.getNormalizedAbsolutePath(o,a);var c=s&&r.get(i(s));if(c){for(var u=0,l=c;u=2&&r[0]===254&&r[1]===255){n&=~1;for(var i=0;i=2&&r[0]===255&&r[1]===254){return r.toString("utf16le",2)}if(n>=3&&r[0]===239&&r[1]===187&&r[2]===191){return r.toString("utf8",3)}return r.toString("utf8")}function writeFile(e,t,r){if(r){t=n+t}var i;try{i=a.openSync(e,"w");a.writeSync(i,t,undefined,"utf8")}finally{if(i!==undefined){a.closeSync(i)}}}function getAccessibleFileSystemEntries(t){try{var r=a.readdirSync(t||".").sort();var n=[];var i=[];for(var o=0,s=r;o type."),In_ambient_enum_declarations_member_initializer_must_be_constant_expression:diag(1066,e.DiagnosticCategory.Error,"In_ambient_enum_declarations_member_initializer_must_be_constant_expression_1066","In ambient enum declarations member initializer must be constant expression."),Unexpected_token_A_constructor_method_accessor_or_property_was_expected:diag(1068,e.DiagnosticCategory.Error,"Unexpected_token_A_constructor_method_accessor_or_property_was_expected_1068","Unexpected token. A constructor, method, accessor, or property was expected."),Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces:diag(1069,e.DiagnosticCategory.Error,"Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces_1069","Unexpected token. A type parameter name was expected without curly braces."),_0_modifier_cannot_appear_on_a_type_member:diag(1070,e.DiagnosticCategory.Error,"_0_modifier_cannot_appear_on_a_type_member_1070","'{0}' modifier cannot appear on a type member."),_0_modifier_cannot_appear_on_an_index_signature:diag(1071,e.DiagnosticCategory.Error,"_0_modifier_cannot_appear_on_an_index_signature_1071","'{0}' modifier cannot appear on an index signature."),A_0_modifier_cannot_be_used_with_an_import_declaration:diag(1079,e.DiagnosticCategory.Error,"A_0_modifier_cannot_be_used_with_an_import_declaration_1079","A '{0}' modifier cannot be used with an import declaration."),Invalid_reference_directive_syntax:diag(1084,e.DiagnosticCategory.Error,"Invalid_reference_directive_syntax_1084","Invalid 'reference' directive syntax."),Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0:diag(1085,e.DiagnosticCategory.Error,"Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0_1085","Octal literals are not available when targeting ECMAScript 5 and higher. Use the syntax '{0}'."),An_accessor_cannot_be_declared_in_an_ambient_context:diag(1086,e.DiagnosticCategory.Error,"An_accessor_cannot_be_declared_in_an_ambient_context_1086","An accessor cannot be declared in an ambient context."),_0_modifier_cannot_appear_on_a_constructor_declaration:diag(1089,e.DiagnosticCategory.Error,"_0_modifier_cannot_appear_on_a_constructor_declaration_1089","'{0}' modifier cannot appear on a constructor declaration."),_0_modifier_cannot_appear_on_a_parameter:diag(1090,e.DiagnosticCategory.Error,"_0_modifier_cannot_appear_on_a_parameter_1090","'{0}' modifier cannot appear on a parameter."),Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement:diag(1091,e.DiagnosticCategory.Error,"Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement_1091","Only a single variable declaration is allowed in a 'for...in' statement."),Type_parameters_cannot_appear_on_a_constructor_declaration:diag(1092,e.DiagnosticCategory.Error,"Type_parameters_cannot_appear_on_a_constructor_declaration_1092","Type parameters cannot appear on a constructor declaration."),Type_annotation_cannot_appear_on_a_constructor_declaration:diag(1093,e.DiagnosticCategory.Error,"Type_annotation_cannot_appear_on_a_constructor_declaration_1093","Type annotation cannot appear on a constructor declaration."),An_accessor_cannot_have_type_parameters:diag(1094,e.DiagnosticCategory.Error,"An_accessor_cannot_have_type_parameters_1094","An accessor cannot have type parameters."),A_set_accessor_cannot_have_a_return_type_annotation:diag(1095,e.DiagnosticCategory.Error,"A_set_accessor_cannot_have_a_return_type_annotation_1095","A 'set' accessor cannot have a return type annotation."),An_index_signature_must_have_exactly_one_parameter:diag(1096,e.DiagnosticCategory.Error,"An_index_signature_must_have_exactly_one_parameter_1096","An index signature must have exactly one parameter."),_0_list_cannot_be_empty:diag(1097,e.DiagnosticCategory.Error,"_0_list_cannot_be_empty_1097","'{0}' list cannot be empty."),Type_parameter_list_cannot_be_empty:diag(1098,e.DiagnosticCategory.Error,"Type_parameter_list_cannot_be_empty_1098","Type parameter list cannot be empty."),Type_argument_list_cannot_be_empty:diag(1099,e.DiagnosticCategory.Error,"Type_argument_list_cannot_be_empty_1099","Type argument list cannot be empty."),Invalid_use_of_0_in_strict_mode:diag(1100,e.DiagnosticCategory.Error,"Invalid_use_of_0_in_strict_mode_1100","Invalid use of '{0}' in strict mode."),with_statements_are_not_allowed_in_strict_mode:diag(1101,e.DiagnosticCategory.Error,"with_statements_are_not_allowed_in_strict_mode_1101","'with' statements are not allowed in strict mode."),delete_cannot_be_called_on_an_identifier_in_strict_mode:diag(1102,e.DiagnosticCategory.Error,"delete_cannot_be_called_on_an_identifier_in_strict_mode_1102","'delete' cannot be called on an identifier in strict mode."),A_for_await_of_statement_is_only_allowed_within_an_async_function_or_async_generator:diag(1103,e.DiagnosticCategory.Error,"A_for_await_of_statement_is_only_allowed_within_an_async_function_or_async_generator_1103","A 'for-await-of' statement is only allowed within an async function or async generator."),A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement:diag(1104,e.DiagnosticCategory.Error,"A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement_1104","A 'continue' statement can only be used within an enclosing iteration statement."),A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement:diag(1105,e.DiagnosticCategory.Error,"A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement_1105","A 'break' statement can only be used within an enclosing iteration or switch statement."),Jump_target_cannot_cross_function_boundary:diag(1107,e.DiagnosticCategory.Error,"Jump_target_cannot_cross_function_boundary_1107","Jump target cannot cross function boundary."),A_return_statement_can_only_be_used_within_a_function_body:diag(1108,e.DiagnosticCategory.Error,"A_return_statement_can_only_be_used_within_a_function_body_1108","A 'return' statement can only be used within a function body."),Expression_expected:diag(1109,e.DiagnosticCategory.Error,"Expression_expected_1109","Expression expected."),Type_expected:diag(1110,e.DiagnosticCategory.Error,"Type_expected_1110","Type expected."),A_default_clause_cannot_appear_more_than_once_in_a_switch_statement:diag(1113,e.DiagnosticCategory.Error,"A_default_clause_cannot_appear_more_than_once_in_a_switch_statement_1113","A 'default' clause cannot appear more than once in a 'switch' statement."),Duplicate_label_0:diag(1114,e.DiagnosticCategory.Error,"Duplicate_label_0_1114","Duplicate label '{0}'."),A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement:diag(1115,e.DiagnosticCategory.Error,"A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement_1115","A 'continue' statement can only jump to a label of an enclosing iteration statement."),A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement:diag(1116,e.DiagnosticCategory.Error,"A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement_1116","A 'break' statement can only jump to a label of an enclosing statement."),An_object_literal_cannot_have_multiple_properties_with_the_same_name_in_strict_mode:diag(1117,e.DiagnosticCategory.Error,"An_object_literal_cannot_have_multiple_properties_with_the_same_name_in_strict_mode_1117","An object literal cannot have multiple properties with the same name in strict mode."),An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name:diag(1118,e.DiagnosticCategory.Error,"An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name_1118","An object literal cannot have multiple get/set accessors with the same name."),An_object_literal_cannot_have_property_and_accessor_with_the_same_name:diag(1119,e.DiagnosticCategory.Error,"An_object_literal_cannot_have_property_and_accessor_with_the_same_name_1119","An object literal cannot have property and accessor with the same name."),An_export_assignment_cannot_have_modifiers:diag(1120,e.DiagnosticCategory.Error,"An_export_assignment_cannot_have_modifiers_1120","An export assignment cannot have modifiers."),Octal_literals_are_not_allowed_in_strict_mode:diag(1121,e.DiagnosticCategory.Error,"Octal_literals_are_not_allowed_in_strict_mode_1121","Octal literals are not allowed in strict mode."),Variable_declaration_list_cannot_be_empty:diag(1123,e.DiagnosticCategory.Error,"Variable_declaration_list_cannot_be_empty_1123","Variable declaration list cannot be empty."),Digit_expected:diag(1124,e.DiagnosticCategory.Error,"Digit_expected_1124","Digit expected."),Hexadecimal_digit_expected:diag(1125,e.DiagnosticCategory.Error,"Hexadecimal_digit_expected_1125","Hexadecimal digit expected."),Unexpected_end_of_text:diag(1126,e.DiagnosticCategory.Error,"Unexpected_end_of_text_1126","Unexpected end of text."),Invalid_character:diag(1127,e.DiagnosticCategory.Error,"Invalid_character_1127","Invalid character."),Declaration_or_statement_expected:diag(1128,e.DiagnosticCategory.Error,"Declaration_or_statement_expected_1128","Declaration or statement expected."),Statement_expected:diag(1129,e.DiagnosticCategory.Error,"Statement_expected_1129","Statement expected."),case_or_default_expected:diag(1130,e.DiagnosticCategory.Error,"case_or_default_expected_1130","'case' or 'default' expected."),Property_or_signature_expected:diag(1131,e.DiagnosticCategory.Error,"Property_or_signature_expected_1131","Property or signature expected."),Enum_member_expected:diag(1132,e.DiagnosticCategory.Error,"Enum_member_expected_1132","Enum member expected."),Variable_declaration_expected:diag(1134,e.DiagnosticCategory.Error,"Variable_declaration_expected_1134","Variable declaration expected."),Argument_expression_expected:diag(1135,e.DiagnosticCategory.Error,"Argument_expression_expected_1135","Argument expression expected."),Property_assignment_expected:diag(1136,e.DiagnosticCategory.Error,"Property_assignment_expected_1136","Property assignment expected."),Expression_or_comma_expected:diag(1137,e.DiagnosticCategory.Error,"Expression_or_comma_expected_1137","Expression or comma expected."),Parameter_declaration_expected:diag(1138,e.DiagnosticCategory.Error,"Parameter_declaration_expected_1138","Parameter declaration expected."),Type_parameter_declaration_expected:diag(1139,e.DiagnosticCategory.Error,"Type_parameter_declaration_expected_1139","Type parameter declaration expected."),Type_argument_expected:diag(1140,e.DiagnosticCategory.Error,"Type_argument_expected_1140","Type argument expected."),String_literal_expected:diag(1141,e.DiagnosticCategory.Error,"String_literal_expected_1141","String literal expected."),Line_break_not_permitted_here:diag(1142,e.DiagnosticCategory.Error,"Line_break_not_permitted_here_1142","Line break not permitted here."),or_expected:diag(1144,e.DiagnosticCategory.Error,"or_expected_1144","'{' or ';' expected."),Declaration_expected:diag(1146,e.DiagnosticCategory.Error,"Declaration_expected_1146","Declaration expected."),Import_declarations_in_a_namespace_cannot_reference_a_module:diag(1147,e.DiagnosticCategory.Error,"Import_declarations_in_a_namespace_cannot_reference_a_module_1147","Import declarations in a namespace cannot reference a module."),Cannot_use_imports_exports_or_module_augmentations_when_module_is_none:diag(1148,e.DiagnosticCategory.Error,"Cannot_use_imports_exports_or_module_augmentations_when_module_is_none_1148","Cannot use imports, exports, or module augmentations when '--module' is 'none'."),File_name_0_differs_from_already_included_file_name_1_only_in_casing:diag(1149,e.DiagnosticCategory.Error,"File_name_0_differs_from_already_included_file_name_1_only_in_casing_1149","File name '{0}' differs from already included file name '{1}' only in casing."),new_T_cannot_be_used_to_create_an_array_Use_new_Array_T_instead:diag(1150,e.DiagnosticCategory.Error,"new_T_cannot_be_used_to_create_an_array_Use_new_Array_T_instead_1150","'new T[]' cannot be used to create an array. Use 'new Array()' instead."),const_declarations_must_be_initialized:diag(1155,e.DiagnosticCategory.Error,"const_declarations_must_be_initialized_1155","'const' declarations must be initialized."),const_declarations_can_only_be_declared_inside_a_block:diag(1156,e.DiagnosticCategory.Error,"const_declarations_can_only_be_declared_inside_a_block_1156","'const' declarations can only be declared inside a block."),let_declarations_can_only_be_declared_inside_a_block:diag(1157,e.DiagnosticCategory.Error,"let_declarations_can_only_be_declared_inside_a_block_1157","'let' declarations can only be declared inside a block."),Unterminated_template_literal:diag(1160,e.DiagnosticCategory.Error,"Unterminated_template_literal_1160","Unterminated template literal."),Unterminated_regular_expression_literal:diag(1161,e.DiagnosticCategory.Error,"Unterminated_regular_expression_literal_1161","Unterminated regular expression literal."),An_object_member_cannot_be_declared_optional:diag(1162,e.DiagnosticCategory.Error,"An_object_member_cannot_be_declared_optional_1162","An object member cannot be declared optional."),A_yield_expression_is_only_allowed_in_a_generator_body:diag(1163,e.DiagnosticCategory.Error,"A_yield_expression_is_only_allowed_in_a_generator_body_1163","A 'yield' expression is only allowed in a generator body."),Computed_property_names_are_not_allowed_in_enums:diag(1164,e.DiagnosticCategory.Error,"Computed_property_names_are_not_allowed_in_enums_1164","Computed property names are not allowed in enums."),A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:diag(1165,e.DiagnosticCategory.Error,"A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_t_1165","A computed property name in an ambient context must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_computed_property_name_in_a_class_property_declaration_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:diag(1166,e.DiagnosticCategory.Error,"A_computed_property_name_in_a_class_property_declaration_must_refer_to_an_expression_whose_type_is_a_1166","A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:diag(1168,e.DiagnosticCategory.Error,"A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_ty_1168","A computed property name in a method overload must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:diag(1169,e.DiagnosticCategory.Error,"A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_1169","A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:diag(1170,e.DiagnosticCategory.Error,"A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type__1170","A computed property name in a type literal must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_comma_expression_is_not_allowed_in_a_computed_property_name:diag(1171,e.DiagnosticCategory.Error,"A_comma_expression_is_not_allowed_in_a_computed_property_name_1171","A comma expression is not allowed in a computed property name."),extends_clause_already_seen:diag(1172,e.DiagnosticCategory.Error,"extends_clause_already_seen_1172","'extends' clause already seen."),extends_clause_must_precede_implements_clause:diag(1173,e.DiagnosticCategory.Error,"extends_clause_must_precede_implements_clause_1173","'extends' clause must precede 'implements' clause."),Classes_can_only_extend_a_single_class:diag(1174,e.DiagnosticCategory.Error,"Classes_can_only_extend_a_single_class_1174","Classes can only extend a single class."),implements_clause_already_seen:diag(1175,e.DiagnosticCategory.Error,"implements_clause_already_seen_1175","'implements' clause already seen."),Interface_declaration_cannot_have_implements_clause:diag(1176,e.DiagnosticCategory.Error,"Interface_declaration_cannot_have_implements_clause_1176","Interface declaration cannot have 'implements' clause."),Binary_digit_expected:diag(1177,e.DiagnosticCategory.Error,"Binary_digit_expected_1177","Binary digit expected."),Octal_digit_expected:diag(1178,e.DiagnosticCategory.Error,"Octal_digit_expected_1178","Octal digit expected."),Unexpected_token_expected:diag(1179,e.DiagnosticCategory.Error,"Unexpected_token_expected_1179","Unexpected token. '{' expected."),Property_destructuring_pattern_expected:diag(1180,e.DiagnosticCategory.Error,"Property_destructuring_pattern_expected_1180","Property destructuring pattern expected."),Array_element_destructuring_pattern_expected:diag(1181,e.DiagnosticCategory.Error,"Array_element_destructuring_pattern_expected_1181","Array element destructuring pattern expected."),A_destructuring_declaration_must_have_an_initializer:diag(1182,e.DiagnosticCategory.Error,"A_destructuring_declaration_must_have_an_initializer_1182","A destructuring declaration must have an initializer."),An_implementation_cannot_be_declared_in_ambient_contexts:diag(1183,e.DiagnosticCategory.Error,"An_implementation_cannot_be_declared_in_ambient_contexts_1183","An implementation cannot be declared in ambient contexts."),Modifiers_cannot_appear_here:diag(1184,e.DiagnosticCategory.Error,"Modifiers_cannot_appear_here_1184","Modifiers cannot appear here."),Merge_conflict_marker_encountered:diag(1185,e.DiagnosticCategory.Error,"Merge_conflict_marker_encountered_1185","Merge conflict marker encountered."),A_rest_element_cannot_have_an_initializer:diag(1186,e.DiagnosticCategory.Error,"A_rest_element_cannot_have_an_initializer_1186","A rest element cannot have an initializer."),A_parameter_property_may_not_be_declared_using_a_binding_pattern:diag(1187,e.DiagnosticCategory.Error,"A_parameter_property_may_not_be_declared_using_a_binding_pattern_1187","A parameter property may not be declared using a binding pattern."),Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement:diag(1188,e.DiagnosticCategory.Error,"Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement_1188","Only a single variable declaration is allowed in a 'for...of' statement."),The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer:diag(1189,e.DiagnosticCategory.Error,"The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer_1189","The variable declaration of a 'for...in' statement cannot have an initializer."),The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer:diag(1190,e.DiagnosticCategory.Error,"The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer_1190","The variable declaration of a 'for...of' statement cannot have an initializer."),An_import_declaration_cannot_have_modifiers:diag(1191,e.DiagnosticCategory.Error,"An_import_declaration_cannot_have_modifiers_1191","An import declaration cannot have modifiers."),Module_0_has_no_default_export:diag(1192,e.DiagnosticCategory.Error,"Module_0_has_no_default_export_1192","Module '{0}' has no default export."),An_export_declaration_cannot_have_modifiers:diag(1193,e.DiagnosticCategory.Error,"An_export_declaration_cannot_have_modifiers_1193","An export declaration cannot have modifiers."),Export_declarations_are_not_permitted_in_a_namespace:diag(1194,e.DiagnosticCategory.Error,"Export_declarations_are_not_permitted_in_a_namespace_1194","Export declarations are not permitted in a namespace."),Catch_clause_variable_cannot_have_a_type_annotation:diag(1196,e.DiagnosticCategory.Error,"Catch_clause_variable_cannot_have_a_type_annotation_1196","Catch clause variable cannot have a type annotation."),Catch_clause_variable_cannot_have_an_initializer:diag(1197,e.DiagnosticCategory.Error,"Catch_clause_variable_cannot_have_an_initializer_1197","Catch clause variable cannot have an initializer."),An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive:diag(1198,e.DiagnosticCategory.Error,"An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive_1198","An extended Unicode escape value must be between 0x0 and 0x10FFFF inclusive."),Unterminated_Unicode_escape_sequence:diag(1199,e.DiagnosticCategory.Error,"Unterminated_Unicode_escape_sequence_1199","Unterminated Unicode escape sequence."),Line_terminator_not_permitted_before_arrow:diag(1200,e.DiagnosticCategory.Error,"Line_terminator_not_permitted_before_arrow_1200","Line terminator not permitted before arrow."),Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead:diag(1202,e.DiagnosticCategory.Error,"Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_1202","Import assignment cannot be used when targeting ECMAScript modules. Consider using 'import * as ns from \"mod\"', 'import {a} from \"mod\"', 'import d from \"mod\"', or another module format instead."),Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or_another_module_format_instead:diag(1203,e.DiagnosticCategory.Error,"Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or__1203","Export assignment cannot be used when targeting ECMAScript modules. Consider using 'export default' or another module format instead."),Cannot_re_export_a_type_when_the_isolatedModules_flag_is_provided:diag(1205,e.DiagnosticCategory.Error,"Cannot_re_export_a_type_when_the_isolatedModules_flag_is_provided_1205","Cannot re-export a type when the '--isolatedModules' flag is provided."),Decorators_are_not_valid_here:diag(1206,e.DiagnosticCategory.Error,"Decorators_are_not_valid_here_1206","Decorators are not valid here."),Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name:diag(1207,e.DiagnosticCategory.Error,"Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name_1207","Decorators cannot be applied to multiple get/set accessors of the same name."),Cannot_compile_namespaces_when_the_isolatedModules_flag_is_provided:diag(1208,e.DiagnosticCategory.Error,"Cannot_compile_namespaces_when_the_isolatedModules_flag_is_provided_1208","Cannot compile namespaces when the '--isolatedModules' flag is provided."),Ambient_const_enums_are_not_allowed_when_the_isolatedModules_flag_is_provided:diag(1209,e.DiagnosticCategory.Error,"Ambient_const_enums_are_not_allowed_when_the_isolatedModules_flag_is_provided_1209","Ambient const enums are not allowed when the '--isolatedModules' flag is provided."),Invalid_use_of_0_Class_definitions_are_automatically_in_strict_mode:diag(1210,e.DiagnosticCategory.Error,"Invalid_use_of_0_Class_definitions_are_automatically_in_strict_mode_1210","Invalid use of '{0}'. Class definitions are automatically in strict mode."),A_class_declaration_without_the_default_modifier_must_have_a_name:diag(1211,e.DiagnosticCategory.Error,"A_class_declaration_without_the_default_modifier_must_have_a_name_1211","A class declaration without the 'default' modifier must have a name."),Identifier_expected_0_is_a_reserved_word_in_strict_mode:diag(1212,e.DiagnosticCategory.Error,"Identifier_expected_0_is_a_reserved_word_in_strict_mode_1212","Identifier expected. '{0}' is a reserved word in strict mode."),Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode:diag(1213,e.DiagnosticCategory.Error,"Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_stric_1213","Identifier expected. '{0}' is a reserved word in strict mode. Class definitions are automatically in strict mode."),Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode:diag(1214,e.DiagnosticCategory.Error,"Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode_1214","Identifier expected. '{0}' is a reserved word in strict mode. Modules are automatically in strict mode."),Invalid_use_of_0_Modules_are_automatically_in_strict_mode:diag(1215,e.DiagnosticCategory.Error,"Invalid_use_of_0_Modules_are_automatically_in_strict_mode_1215","Invalid use of '{0}'. Modules are automatically in strict mode."),Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules:diag(1216,e.DiagnosticCategory.Error,"Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules_1216","Identifier expected. '__esModule' is reserved as an exported marker when transforming ECMAScript modules."),Export_assignment_is_not_supported_when_module_flag_is_system:diag(1218,e.DiagnosticCategory.Error,"Export_assignment_is_not_supported_when_module_flag_is_system_1218","Export assignment is not supported when '--module' flag is 'system'."),Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_the_experimentalDecorators_option_to_remove_this_warning:diag(1219,e.DiagnosticCategory.Error,"Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_t_1219","Experimental support for decorators is a feature that is subject to change in a future release. Set the 'experimentalDecorators' option to remove this warning."),Generators_are_only_available_when_targeting_ECMAScript_2015_or_higher:diag(1220,e.DiagnosticCategory.Error,"Generators_are_only_available_when_targeting_ECMAScript_2015_or_higher_1220","Generators are only available when targeting ECMAScript 2015 or higher."),Generators_are_not_allowed_in_an_ambient_context:diag(1221,e.DiagnosticCategory.Error,"Generators_are_not_allowed_in_an_ambient_context_1221","Generators are not allowed in an ambient context."),An_overload_signature_cannot_be_declared_as_a_generator:diag(1222,e.DiagnosticCategory.Error,"An_overload_signature_cannot_be_declared_as_a_generator_1222","An overload signature cannot be declared as a generator."),_0_tag_already_specified:diag(1223,e.DiagnosticCategory.Error,"_0_tag_already_specified_1223","'{0}' tag already specified."),Signature_0_must_be_a_type_predicate:diag(1224,e.DiagnosticCategory.Error,"Signature_0_must_be_a_type_predicate_1224","Signature '{0}' must be a type predicate."),Cannot_find_parameter_0:diag(1225,e.DiagnosticCategory.Error,"Cannot_find_parameter_0_1225","Cannot find parameter '{0}'."),Type_predicate_0_is_not_assignable_to_1:diag(1226,e.DiagnosticCategory.Error,"Type_predicate_0_is_not_assignable_to_1_1226","Type predicate '{0}' is not assignable to '{1}'."),Parameter_0_is_not_in_the_same_position_as_parameter_1:diag(1227,e.DiagnosticCategory.Error,"Parameter_0_is_not_in_the_same_position_as_parameter_1_1227","Parameter '{0}' is not in the same position as parameter '{1}'."),A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods:diag(1228,e.DiagnosticCategory.Error,"A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods_1228","A type predicate is only allowed in return type position for functions and methods."),A_type_predicate_cannot_reference_a_rest_parameter:diag(1229,e.DiagnosticCategory.Error,"A_type_predicate_cannot_reference_a_rest_parameter_1229","A type predicate cannot reference a rest parameter."),A_type_predicate_cannot_reference_element_0_in_a_binding_pattern:diag(1230,e.DiagnosticCategory.Error,"A_type_predicate_cannot_reference_element_0_in_a_binding_pattern_1230","A type predicate cannot reference element '{0}' in a binding pattern."),An_export_assignment_can_only_be_used_in_a_module:diag(1231,e.DiagnosticCategory.Error,"An_export_assignment_can_only_be_used_in_a_module_1231","An export assignment can only be used in a module."),An_import_declaration_can_only_be_used_in_a_namespace_or_module:diag(1232,e.DiagnosticCategory.Error,"An_import_declaration_can_only_be_used_in_a_namespace_or_module_1232","An import declaration can only be used in a namespace or module."),An_export_declaration_can_only_be_used_in_a_module:diag(1233,e.DiagnosticCategory.Error,"An_export_declaration_can_only_be_used_in_a_module_1233","An export declaration can only be used in a module."),An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file:diag(1234,e.DiagnosticCategory.Error,"An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file_1234","An ambient module declaration is only allowed at the top level in a file."),A_namespace_declaration_is_only_allowed_in_a_namespace_or_module:diag(1235,e.DiagnosticCategory.Error,"A_namespace_declaration_is_only_allowed_in_a_namespace_or_module_1235","A namespace declaration is only allowed in a namespace or module."),The_return_type_of_a_property_decorator_function_must_be_either_void_or_any:diag(1236,e.DiagnosticCategory.Error,"The_return_type_of_a_property_decorator_function_must_be_either_void_or_any_1236","The return type of a property decorator function must be either 'void' or 'any'."),The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any:diag(1237,e.DiagnosticCategory.Error,"The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any_1237","The return type of a parameter decorator function must be either 'void' or 'any'."),Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression:diag(1238,e.DiagnosticCategory.Error,"Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression_1238","Unable to resolve signature of class decorator when called as an expression."),Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression:diag(1239,e.DiagnosticCategory.Error,"Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression_1239","Unable to resolve signature of parameter decorator when called as an expression."),Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression:diag(1240,e.DiagnosticCategory.Error,"Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression_1240","Unable to resolve signature of property decorator when called as an expression."),Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression:diag(1241,e.DiagnosticCategory.Error,"Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression_1241","Unable to resolve signature of method decorator when called as an expression."),abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration:diag(1242,e.DiagnosticCategory.Error,"abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration_1242","'abstract' modifier can only appear on a class, method, or property declaration."),_0_modifier_cannot_be_used_with_1_modifier:diag(1243,e.DiagnosticCategory.Error,"_0_modifier_cannot_be_used_with_1_modifier_1243","'{0}' modifier cannot be used with '{1}' modifier."),Abstract_methods_can_only_appear_within_an_abstract_class:diag(1244,e.DiagnosticCategory.Error,"Abstract_methods_can_only_appear_within_an_abstract_class_1244","Abstract methods can only appear within an abstract class."),Method_0_cannot_have_an_implementation_because_it_is_marked_abstract:diag(1245,e.DiagnosticCategory.Error,"Method_0_cannot_have_an_implementation_because_it_is_marked_abstract_1245","Method '{0}' cannot have an implementation because it is marked abstract."),An_interface_property_cannot_have_an_initializer:diag(1246,e.DiagnosticCategory.Error,"An_interface_property_cannot_have_an_initializer_1246","An interface property cannot have an initializer."),A_type_literal_property_cannot_have_an_initializer:diag(1247,e.DiagnosticCategory.Error,"A_type_literal_property_cannot_have_an_initializer_1247","A type literal property cannot have an initializer."),A_class_member_cannot_have_the_0_keyword:diag(1248,e.DiagnosticCategory.Error,"A_class_member_cannot_have_the_0_keyword_1248","A class member cannot have the '{0}' keyword."),A_decorator_can_only_decorate_a_method_implementation_not_an_overload:diag(1249,e.DiagnosticCategory.Error,"A_decorator_can_only_decorate_a_method_implementation_not_an_overload_1249","A decorator can only decorate a method implementation, not an overload."),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5:diag(1250,e.DiagnosticCategory.Error,"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_1250","Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'."),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_definitions_are_automatically_in_strict_mode:diag(1251,e.DiagnosticCategory.Error,"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_d_1251","Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'. Class definitions are automatically in strict mode."),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_are_automatically_in_strict_mode:diag(1252,e.DiagnosticCategory.Error,"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_1252","Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'. Modules are automatically in strict mode."),_0_tag_cannot_be_used_independently_as_a_top_level_JSDoc_tag:diag(1253,e.DiagnosticCategory.Error,"_0_tag_cannot_be_used_independently_as_a_top_level_JSDoc_tag_1253","'{0}' tag cannot be used independently as a top level JSDoc tag."),A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_reference:diag(1254,e.DiagnosticCategory.Error,"A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_refere_1254","A 'const' initializer in an ambient context must be a string or numeric literal or literal enum reference."),A_definite_assignment_assertion_is_not_permitted_in_this_context:diag(1255,e.DiagnosticCategory.Error,"A_definite_assignment_assertion_is_not_permitted_in_this_context_1255","A definite assignment assertion '!' is not permitted in this context."),A_rest_element_must_be_last_in_a_tuple_type:diag(1256,e.DiagnosticCategory.Error,"A_rest_element_must_be_last_in_a_tuple_type_1256","A rest element must be last in a tuple type."),A_required_element_cannot_follow_an_optional_element:diag(1257,e.DiagnosticCategory.Error,"A_required_element_cannot_follow_an_optional_element_1257","A required element cannot follow an optional element."),with_statements_are_not_allowed_in_an_async_function_block:diag(1300,e.DiagnosticCategory.Error,"with_statements_are_not_allowed_in_an_async_function_block_1300","'with' statements are not allowed in an async function block."),await_expression_is_only_allowed_within_an_async_function:diag(1308,e.DiagnosticCategory.Error,"await_expression_is_only_allowed_within_an_async_function_1308","'await' expression is only allowed within an async function."),can_only_be_used_in_an_object_literal_property_inside_a_destructuring_assignment:diag(1312,e.DiagnosticCategory.Error,"can_only_be_used_in_an_object_literal_property_inside_a_destructuring_assignment_1312","'=' can only be used in an object literal property inside a destructuring assignment."),The_body_of_an_if_statement_cannot_be_the_empty_statement:diag(1313,e.DiagnosticCategory.Error,"The_body_of_an_if_statement_cannot_be_the_empty_statement_1313","The body of an 'if' statement cannot be the empty statement."),Global_module_exports_may_only_appear_in_module_files:diag(1314,e.DiagnosticCategory.Error,"Global_module_exports_may_only_appear_in_module_files_1314","Global module exports may only appear in module files."),Global_module_exports_may_only_appear_in_declaration_files:diag(1315,e.DiagnosticCategory.Error,"Global_module_exports_may_only_appear_in_declaration_files_1315","Global module exports may only appear in declaration files."),Global_module_exports_may_only_appear_at_top_level:diag(1316,e.DiagnosticCategory.Error,"Global_module_exports_may_only_appear_at_top_level_1316","Global module exports may only appear at top level."),A_parameter_property_cannot_be_declared_using_a_rest_parameter:diag(1317,e.DiagnosticCategory.Error,"A_parameter_property_cannot_be_declared_using_a_rest_parameter_1317","A parameter property cannot be declared using a rest parameter."),An_abstract_accessor_cannot_have_an_implementation:diag(1318,e.DiagnosticCategory.Error,"An_abstract_accessor_cannot_have_an_implementation_1318","An abstract accessor cannot have an implementation."),A_default_export_can_only_be_used_in_an_ECMAScript_style_module:diag(1319,e.DiagnosticCategory.Error,"A_default_export_can_only_be_used_in_an_ECMAScript_style_module_1319","A default export can only be used in an ECMAScript-style module."),Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:diag(1320,e.DiagnosticCategory.Error,"Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member_1320","Type of 'await' operand must either be a valid promise or must not contain a callable 'then' member."),Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:diag(1321,e.DiagnosticCategory.Error,"Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_cal_1321","Type of 'yield' operand in an async generator must either be a valid promise or must not contain a callable 'then' member."),Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:diag(1322,e.DiagnosticCategory.Error,"Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_con_1322","Type of iterated elements of a 'yield*' operand must either be a valid promise or must not contain a callable 'then' member."),Dynamic_import_is_only_supported_when_module_flag_is_commonjs_or_esNext:diag(1323,e.DiagnosticCategory.Error,"Dynamic_import_is_only_supported_when_module_flag_is_commonjs_or_esNext_1323","Dynamic import is only supported when '--module' flag is 'commonjs' or 'esNext'."),Dynamic_import_must_have_one_specifier_as_an_argument:diag(1324,e.DiagnosticCategory.Error,"Dynamic_import_must_have_one_specifier_as_an_argument_1324","Dynamic import must have one specifier as an argument."),Specifier_of_dynamic_import_cannot_be_spread_element:diag(1325,e.DiagnosticCategory.Error,"Specifier_of_dynamic_import_cannot_be_spread_element_1325","Specifier of dynamic import cannot be spread element."),Dynamic_import_cannot_have_type_arguments:diag(1326,e.DiagnosticCategory.Error,"Dynamic_import_cannot_have_type_arguments_1326","Dynamic import cannot have type arguments"),String_literal_with_double_quotes_expected:diag(1327,e.DiagnosticCategory.Error,"String_literal_with_double_quotes_expected_1327","String literal with double quotes expected."),Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_literal:diag(1328,e.DiagnosticCategory.Error,"Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_li_1328","Property value can only be string literal, numeric literal, 'true', 'false', 'null', object literal or array literal."),_0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write_0:diag(1329,e.DiagnosticCategory.Error,"_0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write__1329","'{0}' accepts too few arguments to be used as a decorator here. Did you mean to call it first and write '@{0}()'?"),A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly:diag(1330,e.DiagnosticCategory.Error,"A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly_1330","A property of an interface or type literal whose type is a 'unique symbol' type must be 'readonly'."),A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly:diag(1331,e.DiagnosticCategory.Error,"A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly_1331","A property of a class whose type is a 'unique symbol' type must be both 'static' and 'readonly'."),A_variable_whose_type_is_a_unique_symbol_type_must_be_const:diag(1332,e.DiagnosticCategory.Error,"A_variable_whose_type_is_a_unique_symbol_type_must_be_const_1332","A variable whose type is a 'unique symbol' type must be 'const'."),unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name:diag(1333,e.DiagnosticCategory.Error,"unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name_1333","'unique symbol' types may not be used on a variable declaration with a binding name."),unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement:diag(1334,e.DiagnosticCategory.Error,"unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement_1334","'unique symbol' types are only allowed on variables in a variable statement."),unique_symbol_types_are_not_allowed_here:diag(1335,e.DiagnosticCategory.Error,"unique_symbol_types_are_not_allowed_here_1335","'unique symbol' types are not allowed here."),An_index_signature_parameter_type_cannot_be_a_type_alias_Consider_writing_0_Colon_1_Colon_2_instead:diag(1336,e.DiagnosticCategory.Error,"An_index_signature_parameter_type_cannot_be_a_type_alias_Consider_writing_0_Colon_1_Colon_2_instead_1336","An index signature parameter type cannot be a type alias. Consider writing '[{0}: {1}]: {2}' instead."),An_index_signature_parameter_type_cannot_be_a_union_type_Consider_using_a_mapped_object_type_instead:diag(1337,e.DiagnosticCategory.Error,"An_index_signature_parameter_type_cannot_be_a_union_type_Consider_using_a_mapped_object_type_instead_1337","An index signature parameter type cannot be a union type. Consider using a mapped object type instead."),infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type:diag(1338,e.DiagnosticCategory.Error,"infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type_1338","'infer' declarations are only permitted in the 'extends' clause of a conditional type."),Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here:diag(1339,e.DiagnosticCategory.Error,"Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here_1339","Module '{0}' does not refer to a value, but is used as a value here."),Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0:diag(1340,e.DiagnosticCategory.Error,"Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0_1340","Module '{0}' does not refer to a type, but is used as a type here. Did you mean 'typeof import('{0}')'?"),Type_arguments_cannot_be_used_here:diag(1342,e.DiagnosticCategory.Error,"Type_arguments_cannot_be_used_here_1342","Type arguments cannot be used here."),The_import_meta_meta_property_is_only_allowed_using_ESNext_for_the_target_and_module_compiler_options:diag(1343,e.DiagnosticCategory.Error,"The_import_meta_meta_property_is_only_allowed_using_ESNext_for_the_target_and_module_compiler_option_1343","The 'import.meta' meta-property is only allowed using 'ESNext' for the 'target' and 'module' compiler options."),A_label_is_not_allowed_here:diag(1344,e.DiagnosticCategory.Error,"A_label_is_not_allowed_here_1344","'A label is not allowed here."),An_expression_of_type_void_cannot_be_tested_for_truthiness:diag(1345,e.DiagnosticCategory.Error,"An_expression_of_type_void_cannot_be_tested_for_truthiness_1345","An expression of type 'void' cannot be tested for truthiness"),This_parameter_is_not_allowed_with_use_strict_directive:diag(1346,e.DiagnosticCategory.Error,"This_parameter_is_not_allowed_with_use_strict_directive_1346","This parameter is not allowed with 'use strict' directive."),use_strict_directive_cannot_be_used_with_non_simple_parameter_list:diag(1347,e.DiagnosticCategory.Error,"use_strict_directive_cannot_be_used_with_non_simple_parameter_list_1347","'use strict' directive cannot be used with non-simple parameter list."),Non_simple_parameter_declared_here:diag(1348,e.DiagnosticCategory.Error,"Non_simple_parameter_declared_here_1348","Non-simple parameter declared here."),use_strict_directive_used_here:diag(1349,e.DiagnosticCategory.Error,"use_strict_directive_used_here_1349","'use strict' directive used here."),Print_the_final_configuration_instead_of_building:diag(1350,e.DiagnosticCategory.Message,"Print_the_final_configuration_instead_of_building_1350","Print the final configuration instead of building."),Duplicate_identifier_0:diag(2300,e.DiagnosticCategory.Error,"Duplicate_identifier_0_2300","Duplicate identifier '{0}'."),Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor:diag(2301,e.DiagnosticCategory.Error,"Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor_2301","Initializer of instance member variable '{0}' cannot reference identifier '{1}' declared in the constructor."),Static_members_cannot_reference_class_type_parameters:diag(2302,e.DiagnosticCategory.Error,"Static_members_cannot_reference_class_type_parameters_2302","Static members cannot reference class type parameters."),Circular_definition_of_import_alias_0:diag(2303,e.DiagnosticCategory.Error,"Circular_definition_of_import_alias_0_2303","Circular definition of import alias '{0}'."),Cannot_find_name_0:diag(2304,e.DiagnosticCategory.Error,"Cannot_find_name_0_2304","Cannot find name '{0}'."),Module_0_has_no_exported_member_1:diag(2305,e.DiagnosticCategory.Error,"Module_0_has_no_exported_member_1_2305","Module '{0}' has no exported member '{1}'."),File_0_is_not_a_module:diag(2306,e.DiagnosticCategory.Error,"File_0_is_not_a_module_2306","File '{0}' is not a module."),Cannot_find_module_0:diag(2307,e.DiagnosticCategory.Error,"Cannot_find_module_0_2307","Cannot find module '{0}'."),Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambiguity:diag(2308,e.DiagnosticCategory.Error,"Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambig_2308","Module {0} has already exported a member named '{1}'. Consider explicitly re-exporting to resolve the ambiguity."),An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements:diag(2309,e.DiagnosticCategory.Error,"An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements_2309","An export assignment cannot be used in a module with other exported elements."),Type_0_recursively_references_itself_as_a_base_type:diag(2310,e.DiagnosticCategory.Error,"Type_0_recursively_references_itself_as_a_base_type_2310","Type '{0}' recursively references itself as a base type."),A_class_may_only_extend_another_class:diag(2311,e.DiagnosticCategory.Error,"A_class_may_only_extend_another_class_2311","A class may only extend another class."),An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_members:diag(2312,e.DiagnosticCategory.Error,"An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_me_2312","An interface can only extend an object type or intersection of object types with statically known members."),Type_parameter_0_has_a_circular_constraint:diag(2313,e.DiagnosticCategory.Error,"Type_parameter_0_has_a_circular_constraint_2313","Type parameter '{0}' has a circular constraint."),Generic_type_0_requires_1_type_argument_s:diag(2314,e.DiagnosticCategory.Error,"Generic_type_0_requires_1_type_argument_s_2314","Generic type '{0}' requires {1} type argument(s)."),Type_0_is_not_generic:diag(2315,e.DiagnosticCategory.Error,"Type_0_is_not_generic_2315","Type '{0}' is not generic."),Global_type_0_must_be_a_class_or_interface_type:diag(2316,e.DiagnosticCategory.Error,"Global_type_0_must_be_a_class_or_interface_type_2316","Global type '{0}' must be a class or interface type."),Global_type_0_must_have_1_type_parameter_s:diag(2317,e.DiagnosticCategory.Error,"Global_type_0_must_have_1_type_parameter_s_2317","Global type '{0}' must have {1} type parameter(s)."),Cannot_find_global_type_0:diag(2318,e.DiagnosticCategory.Error,"Cannot_find_global_type_0_2318","Cannot find global type '{0}'."),Named_property_0_of_types_1_and_2_are_not_identical:diag(2319,e.DiagnosticCategory.Error,"Named_property_0_of_types_1_and_2_are_not_identical_2319","Named property '{0}' of types '{1}' and '{2}' are not identical."),Interface_0_cannot_simultaneously_extend_types_1_and_2:diag(2320,e.DiagnosticCategory.Error,"Interface_0_cannot_simultaneously_extend_types_1_and_2_2320","Interface '{0}' cannot simultaneously extend types '{1}' and '{2}'."),Excessive_stack_depth_comparing_types_0_and_1:diag(2321,e.DiagnosticCategory.Error,"Excessive_stack_depth_comparing_types_0_and_1_2321","Excessive stack depth comparing types '{0}' and '{1}'."),Type_0_is_not_assignable_to_type_1:diag(2322,e.DiagnosticCategory.Error,"Type_0_is_not_assignable_to_type_1_2322","Type '{0}' is not assignable to type '{1}'."),Cannot_redeclare_exported_variable_0:diag(2323,e.DiagnosticCategory.Error,"Cannot_redeclare_exported_variable_0_2323","Cannot redeclare exported variable '{0}'."),Property_0_is_missing_in_type_1:diag(2324,e.DiagnosticCategory.Error,"Property_0_is_missing_in_type_1_2324","Property '{0}' is missing in type '{1}'."),Property_0_is_private_in_type_1_but_not_in_type_2:diag(2325,e.DiagnosticCategory.Error,"Property_0_is_private_in_type_1_but_not_in_type_2_2325","Property '{0}' is private in type '{1}' but not in type '{2}'."),Types_of_property_0_are_incompatible:diag(2326,e.DiagnosticCategory.Error,"Types_of_property_0_are_incompatible_2326","Types of property '{0}' are incompatible."),Property_0_is_optional_in_type_1_but_required_in_type_2:diag(2327,e.DiagnosticCategory.Error,"Property_0_is_optional_in_type_1_but_required_in_type_2_2327","Property '{0}' is optional in type '{1}' but required in type '{2}'."),Types_of_parameters_0_and_1_are_incompatible:diag(2328,e.DiagnosticCategory.Error,"Types_of_parameters_0_and_1_are_incompatible_2328","Types of parameters '{0}' and '{1}' are incompatible."),Index_signature_is_missing_in_type_0:diag(2329,e.DiagnosticCategory.Error,"Index_signature_is_missing_in_type_0_2329","Index signature is missing in type '{0}'."),Index_signatures_are_incompatible:diag(2330,e.DiagnosticCategory.Error,"Index_signatures_are_incompatible_2330","Index signatures are incompatible."),this_cannot_be_referenced_in_a_module_or_namespace_body:diag(2331,e.DiagnosticCategory.Error,"this_cannot_be_referenced_in_a_module_or_namespace_body_2331","'this' cannot be referenced in a module or namespace body."),this_cannot_be_referenced_in_current_location:diag(2332,e.DiagnosticCategory.Error,"this_cannot_be_referenced_in_current_location_2332","'this' cannot be referenced in current location."),this_cannot_be_referenced_in_constructor_arguments:diag(2333,e.DiagnosticCategory.Error,"this_cannot_be_referenced_in_constructor_arguments_2333","'this' cannot be referenced in constructor arguments."),this_cannot_be_referenced_in_a_static_property_initializer:diag(2334,e.DiagnosticCategory.Error,"this_cannot_be_referenced_in_a_static_property_initializer_2334","'this' cannot be referenced in a static property initializer."),super_can_only_be_referenced_in_a_derived_class:diag(2335,e.DiagnosticCategory.Error,"super_can_only_be_referenced_in_a_derived_class_2335","'super' can only be referenced in a derived class."),super_cannot_be_referenced_in_constructor_arguments:diag(2336,e.DiagnosticCategory.Error,"super_cannot_be_referenced_in_constructor_arguments_2336","'super' cannot be referenced in constructor arguments."),Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors:diag(2337,e.DiagnosticCategory.Error,"Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors_2337","Super calls are not permitted outside constructors or in nested functions inside constructors."),super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class:diag(2338,e.DiagnosticCategory.Error,"super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_der_2338","'super' property access is permitted only in a constructor, member function, or member accessor of a derived class."),Property_0_does_not_exist_on_type_1:diag(2339,e.DiagnosticCategory.Error,"Property_0_does_not_exist_on_type_1_2339","Property '{0}' does not exist on type '{1}'."),Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword:diag(2340,e.DiagnosticCategory.Error,"Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword_2340","Only public and protected methods of the base class are accessible via the 'super' keyword."),Property_0_is_private_and_only_accessible_within_class_1:diag(2341,e.DiagnosticCategory.Error,"Property_0_is_private_and_only_accessible_within_class_1_2341","Property '{0}' is private and only accessible within class '{1}'."),An_index_expression_argument_must_be_of_type_string_number_symbol_or_any:diag(2342,e.DiagnosticCategory.Error,"An_index_expression_argument_must_be_of_type_string_number_symbol_or_any_2342","An index expression argument must be of type 'string', 'number', 'symbol', or 'any'."),This_syntax_requires_an_imported_helper_named_1_but_module_0_has_no_exported_member_1:diag(2343,e.DiagnosticCategory.Error,"This_syntax_requires_an_imported_helper_named_1_but_module_0_has_no_exported_member_1_2343","This syntax requires an imported helper named '{1}', but module '{0}' has no exported member '{1}'."),Type_0_does_not_satisfy_the_constraint_1:diag(2344,e.DiagnosticCategory.Error,"Type_0_does_not_satisfy_the_constraint_1_2344","Type '{0}' does not satisfy the constraint '{1}'."),Argument_of_type_0_is_not_assignable_to_parameter_of_type_1:diag(2345,e.DiagnosticCategory.Error,"Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_2345","Argument of type '{0}' is not assignable to parameter of type '{1}'."),Call_target_does_not_contain_any_signatures:diag(2346,e.DiagnosticCategory.Error,"Call_target_does_not_contain_any_signatures_2346","Call target does not contain any signatures."),Untyped_function_calls_may_not_accept_type_arguments:diag(2347,e.DiagnosticCategory.Error,"Untyped_function_calls_may_not_accept_type_arguments_2347","Untyped function calls may not accept type arguments."),Value_of_type_0_is_not_callable_Did_you_mean_to_include_new:diag(2348,e.DiagnosticCategory.Error,"Value_of_type_0_is_not_callable_Did_you_mean_to_include_new_2348","Value of type '{0}' is not callable. Did you mean to include 'new'?"),Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatures:diag(2349,e.DiagnosticCategory.Error,"Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatur_2349","Cannot invoke an expression whose type lacks a call signature. Type '{0}' has no compatible call signatures."),Only_a_void_function_can_be_called_with_the_new_keyword:diag(2350,e.DiagnosticCategory.Error,"Only_a_void_function_can_be_called_with_the_new_keyword_2350","Only a void function can be called with the 'new' keyword."),Cannot_use_new_with_an_expression_whose_type_lacks_a_call_or_construct_signature:diag(2351,e.DiagnosticCategory.Error,"Cannot_use_new_with_an_expression_whose_type_lacks_a_call_or_construct_signature_2351","Cannot use 'new' with an expression whose type lacks a call or construct signature."),Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the_other_If_this_was_intentional_convert_the_expression_to_unknown_first:diag(2352,e.DiagnosticCategory.Error,"Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the__2352","Conversion of type '{0}' to type '{1}' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first."),Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1:diag(2353,e.DiagnosticCategory.Error,"Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1_2353","Object literal may only specify known properties, and '{0}' does not exist in type '{1}'."),This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found:diag(2354,e.DiagnosticCategory.Error,"This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found_2354","This syntax requires an imported helper but module '{0}' cannot be found."),A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value:diag(2355,e.DiagnosticCategory.Error,"A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value_2355","A function whose declared type is neither 'void' nor 'any' must return a value."),An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type:diag(2356,e.DiagnosticCategory.Error,"An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type_2356","An arithmetic operand must be of type 'any', 'number', 'bigint' or an enum type."),The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access:diag(2357,e.DiagnosticCategory.Error,"The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access_2357","The operand of an increment or decrement operator must be a variable or a property access."),The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter:diag(2358,e.DiagnosticCategory.Error,"The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_paramete_2358","The left-hand side of an 'instanceof' expression must be of type 'any', an object type or a type parameter."),The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_Function_interface_type:diag(2359,e.DiagnosticCategory.Error,"The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_F_2359","The right-hand side of an 'instanceof' expression must be of type 'any' or of a type assignable to the 'Function' interface type."),The_left_hand_side_of_an_in_expression_must_be_of_type_any_string_number_or_symbol:diag(2360,e.DiagnosticCategory.Error,"The_left_hand_side_of_an_in_expression_must_be_of_type_any_string_number_or_symbol_2360","The left-hand side of an 'in' expression must be of type 'any', 'string', 'number', or 'symbol'."),The_right_hand_side_of_an_in_expression_must_be_of_type_any_an_object_type_or_a_type_parameter:diag(2361,e.DiagnosticCategory.Error,"The_right_hand_side_of_an_in_expression_must_be_of_type_any_an_object_type_or_a_type_parameter_2361","The right-hand side of an 'in' expression must be of type 'any', an object type or a type parameter."),The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type:diag(2362,e.DiagnosticCategory.Error,"The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type_2362","The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type."),The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type:diag(2363,e.DiagnosticCategory.Error,"The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type_2363","The right-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type."),The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access:diag(2364,e.DiagnosticCategory.Error,"The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access_2364","The left-hand side of an assignment expression must be a variable or a property access."),Operator_0_cannot_be_applied_to_types_1_and_2:diag(2365,e.DiagnosticCategory.Error,"Operator_0_cannot_be_applied_to_types_1_and_2_2365","Operator '{0}' cannot be applied to types '{1}' and '{2}'."),Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined:diag(2366,e.DiagnosticCategory.Error,"Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined_2366","Function lacks ending return statement and return type does not include 'undefined'."),This_condition_will_always_return_0_since_the_types_1_and_2_have_no_overlap:diag(2367,e.DiagnosticCategory.Error,"This_condition_will_always_return_0_since_the_types_1_and_2_have_no_overlap_2367","This condition will always return '{0}' since the types '{1}' and '{2}' have no overlap."),Type_parameter_name_cannot_be_0:diag(2368,e.DiagnosticCategory.Error,"Type_parameter_name_cannot_be_0_2368","Type parameter name cannot be '{0}'."),A_parameter_property_is_only_allowed_in_a_constructor_implementation:diag(2369,e.DiagnosticCategory.Error,"A_parameter_property_is_only_allowed_in_a_constructor_implementation_2369","A parameter property is only allowed in a constructor implementation."),A_rest_parameter_must_be_of_an_array_type:diag(2370,e.DiagnosticCategory.Error,"A_rest_parameter_must_be_of_an_array_type_2370","A rest parameter must be of an array type."),A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation:diag(2371,e.DiagnosticCategory.Error,"A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation_2371","A parameter initializer is only allowed in a function or constructor implementation."),Parameter_0_cannot_be_referenced_in_its_initializer:diag(2372,e.DiagnosticCategory.Error,"Parameter_0_cannot_be_referenced_in_its_initializer_2372","Parameter '{0}' cannot be referenced in its initializer."),Initializer_of_parameter_0_cannot_reference_identifier_1_declared_after_it:diag(2373,e.DiagnosticCategory.Error,"Initializer_of_parameter_0_cannot_reference_identifier_1_declared_after_it_2373","Initializer of parameter '{0}' cannot reference identifier '{1}' declared after it."),Duplicate_string_index_signature:diag(2374,e.DiagnosticCategory.Error,"Duplicate_string_index_signature_2374","Duplicate string index signature."),Duplicate_number_index_signature:diag(2375,e.DiagnosticCategory.Error,"Duplicate_number_index_signature_2375","Duplicate number index signature."),A_super_call_must_be_the_first_statement_in_the_constructor_when_a_class_contains_initialized_properties_or_has_parameter_properties:diag(2376,e.DiagnosticCategory.Error,"A_super_call_must_be_the_first_statement_in_the_constructor_when_a_class_contains_initialized_proper_2376","A 'super' call must be the first statement in the constructor when a class contains initialized properties or has parameter properties."),Constructors_for_derived_classes_must_contain_a_super_call:diag(2377,e.DiagnosticCategory.Error,"Constructors_for_derived_classes_must_contain_a_super_call_2377","Constructors for derived classes must contain a 'super' call."),A_get_accessor_must_return_a_value:diag(2378,e.DiagnosticCategory.Error,"A_get_accessor_must_return_a_value_2378","A 'get' accessor must return a value."),Getter_and_setter_accessors_do_not_agree_in_visibility:diag(2379,e.DiagnosticCategory.Error,"Getter_and_setter_accessors_do_not_agree_in_visibility_2379","Getter and setter accessors do not agree in visibility."),get_and_set_accessor_must_have_the_same_type:diag(2380,e.DiagnosticCategory.Error,"get_and_set_accessor_must_have_the_same_type_2380","'get' and 'set' accessor must have the same type."),A_signature_with_an_implementation_cannot_use_a_string_literal_type:diag(2381,e.DiagnosticCategory.Error,"A_signature_with_an_implementation_cannot_use_a_string_literal_type_2381","A signature with an implementation cannot use a string literal type."),Specialized_overload_signature_is_not_assignable_to_any_non_specialized_signature:diag(2382,e.DiagnosticCategory.Error,"Specialized_overload_signature_is_not_assignable_to_any_non_specialized_signature_2382","Specialized overload signature is not assignable to any non-specialized signature."),Overload_signatures_must_all_be_exported_or_non_exported:diag(2383,e.DiagnosticCategory.Error,"Overload_signatures_must_all_be_exported_or_non_exported_2383","Overload signatures must all be exported or non-exported."),Overload_signatures_must_all_be_ambient_or_non_ambient:diag(2384,e.DiagnosticCategory.Error,"Overload_signatures_must_all_be_ambient_or_non_ambient_2384","Overload signatures must all be ambient or non-ambient."),Overload_signatures_must_all_be_public_private_or_protected:diag(2385,e.DiagnosticCategory.Error,"Overload_signatures_must_all_be_public_private_or_protected_2385","Overload signatures must all be public, private or protected."),Overload_signatures_must_all_be_optional_or_required:diag(2386,e.DiagnosticCategory.Error,"Overload_signatures_must_all_be_optional_or_required_2386","Overload signatures must all be optional or required."),Function_overload_must_be_static:diag(2387,e.DiagnosticCategory.Error,"Function_overload_must_be_static_2387","Function overload must be static."),Function_overload_must_not_be_static:diag(2388,e.DiagnosticCategory.Error,"Function_overload_must_not_be_static_2388","Function overload must not be static."),Function_implementation_name_must_be_0:diag(2389,e.DiagnosticCategory.Error,"Function_implementation_name_must_be_0_2389","Function implementation name must be '{0}'."),Constructor_implementation_is_missing:diag(2390,e.DiagnosticCategory.Error,"Constructor_implementation_is_missing_2390","Constructor implementation is missing."),Function_implementation_is_missing_or_not_immediately_following_the_declaration:diag(2391,e.DiagnosticCategory.Error,"Function_implementation_is_missing_or_not_immediately_following_the_declaration_2391","Function implementation is missing or not immediately following the declaration."),Multiple_constructor_implementations_are_not_allowed:diag(2392,e.DiagnosticCategory.Error,"Multiple_constructor_implementations_are_not_allowed_2392","Multiple constructor implementations are not allowed."),Duplicate_function_implementation:diag(2393,e.DiagnosticCategory.Error,"Duplicate_function_implementation_2393","Duplicate function implementation."),Overload_signature_is_not_compatible_with_function_implementation:diag(2394,e.DiagnosticCategory.Error,"Overload_signature_is_not_compatible_with_function_implementation_2394","Overload signature is not compatible with function implementation."),Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local:diag(2395,e.DiagnosticCategory.Error,"Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local_2395","Individual declarations in merged declaration '{0}' must be all exported or all local."),Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters:diag(2396,e.DiagnosticCategory.Error,"Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters_2396","Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters."),Declaration_name_conflicts_with_built_in_global_identifier_0:diag(2397,e.DiagnosticCategory.Error,"Declaration_name_conflicts_with_built_in_global_identifier_0_2397","Declaration name conflicts with built-in global identifier '{0}'."),Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference:diag(2399,e.DiagnosticCategory.Error,"Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference_2399","Duplicate identifier '_this'. Compiler uses variable declaration '_this' to capture 'this' reference."),Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference:diag(2400,e.DiagnosticCategory.Error,"Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference_2400","Expression resolves to variable declaration '_this' that compiler uses to capture 'this' reference."),Duplicate_identifier_super_Compiler_uses_super_to_capture_base_class_reference:diag(2401,e.DiagnosticCategory.Error,"Duplicate_identifier_super_Compiler_uses_super_to_capture_base_class_reference_2401","Duplicate identifier '_super'. Compiler uses '_super' to capture base class reference."),Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference:diag(2402,e.DiagnosticCategory.Error,"Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference_2402","Expression resolves to '_super' that compiler uses to capture base class reference."),Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2:diag(2403,e.DiagnosticCategory.Error,"Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_t_2403","Subsequent variable declarations must have the same type. Variable '{0}' must be of type '{1}', but here has type '{2}'."),The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation:diag(2404,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation_2404","The left-hand side of a 'for...in' statement cannot use a type annotation."),The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any:diag(2405,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any_2405","The left-hand side of a 'for...in' statement must be of type 'string' or 'any'."),The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access:diag(2406,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access_2406","The left-hand side of a 'for...in' statement must be a variable or a property access."),The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_here_has_type_0:diag(2407,e.DiagnosticCategory.Error,"The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_2407","The right-hand side of a 'for...in' statement must be of type 'any', an object type or a type parameter, but here has type '{0}'."),Setters_cannot_return_a_value:diag(2408,e.DiagnosticCategory.Error,"Setters_cannot_return_a_value_2408","Setters cannot return a value."),Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class:diag(2409,e.DiagnosticCategory.Error,"Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class_2409","Return type of constructor signature must be assignable to the instance type of the class."),The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any:diag(2410,e.DiagnosticCategory.Error,"The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any_2410","The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'."),Property_0_of_type_1_is_not_assignable_to_string_index_type_2:diag(2411,e.DiagnosticCategory.Error,"Property_0_of_type_1_is_not_assignable_to_string_index_type_2_2411","Property '{0}' of type '{1}' is not assignable to string index type '{2}'."),Property_0_of_type_1_is_not_assignable_to_numeric_index_type_2:diag(2412,e.DiagnosticCategory.Error,"Property_0_of_type_1_is_not_assignable_to_numeric_index_type_2_2412","Property '{0}' of type '{1}' is not assignable to numeric index type '{2}'."),Numeric_index_type_0_is_not_assignable_to_string_index_type_1:diag(2413,e.DiagnosticCategory.Error,"Numeric_index_type_0_is_not_assignable_to_string_index_type_1_2413","Numeric index type '{0}' is not assignable to string index type '{1}'."),Class_name_cannot_be_0:diag(2414,e.DiagnosticCategory.Error,"Class_name_cannot_be_0_2414","Class name cannot be '{0}'."),Class_0_incorrectly_extends_base_class_1:diag(2415,e.DiagnosticCategory.Error,"Class_0_incorrectly_extends_base_class_1_2415","Class '{0}' incorrectly extends base class '{1}'."),Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2:diag(2416,e.DiagnosticCategory.Error,"Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2_2416","Property '{0}' in type '{1}' is not assignable to the same property in base type '{2}'."),Class_static_side_0_incorrectly_extends_base_class_static_side_1:diag(2417,e.DiagnosticCategory.Error,"Class_static_side_0_incorrectly_extends_base_class_static_side_1_2417","Class static side '{0}' incorrectly extends base class static side '{1}'."),Type_of_computed_property_s_value_is_0_which_is_not_assignable_to_type_1:diag(2418,e.DiagnosticCategory.Error,"Type_of_computed_property_s_value_is_0_which_is_not_assignable_to_type_1_2418","Type of computed property's value is '{0}', which is not assignable to type '{1}'."),Class_0_incorrectly_implements_interface_1:diag(2420,e.DiagnosticCategory.Error,"Class_0_incorrectly_implements_interface_1_2420","Class '{0}' incorrectly implements interface '{1}'."),A_class_can_only_implement_an_object_type_or_intersection_of_object_types_with_statically_known_members:diag(2422,e.DiagnosticCategory.Error,"A_class_can_only_implement_an_object_type_or_intersection_of_object_types_with_statically_known_memb_2422","A class can only implement an object type or intersection of object types with statically known members."),Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_accessor:diag(2423,e.DiagnosticCategory.Error,"Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_access_2423","Class '{0}' defines instance member function '{1}', but extended class '{2}' defines it as instance member accessor."),Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_property:diag(2424,e.DiagnosticCategory.Error,"Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_proper_2424","Class '{0}' defines instance member function '{1}', but extended class '{2}' defines it as instance member property."),Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_function:diag(2425,e.DiagnosticCategory.Error,"Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_functi_2425","Class '{0}' defines instance member property '{1}', but extended class '{2}' defines it as instance member function."),Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_function:diag(2426,e.DiagnosticCategory.Error,"Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_functi_2426","Class '{0}' defines instance member accessor '{1}', but extended class '{2}' defines it as instance member function."),Interface_name_cannot_be_0:diag(2427,e.DiagnosticCategory.Error,"Interface_name_cannot_be_0_2427","Interface name cannot be '{0}'."),All_declarations_of_0_must_have_identical_type_parameters:diag(2428,e.DiagnosticCategory.Error,"All_declarations_of_0_must_have_identical_type_parameters_2428","All declarations of '{0}' must have identical type parameters."),Interface_0_incorrectly_extends_interface_1:diag(2430,e.DiagnosticCategory.Error,"Interface_0_incorrectly_extends_interface_1_2430","Interface '{0}' incorrectly extends interface '{1}'."),Enum_name_cannot_be_0:diag(2431,e.DiagnosticCategory.Error,"Enum_name_cannot_be_0_2431","Enum name cannot be '{0}'."),In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element:diag(2432,e.DiagnosticCategory.Error,"In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enu_2432","In an enum with multiple declarations, only one declaration can omit an initializer for its first enum element."),A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merged:diag(2433,e.DiagnosticCategory.Error,"A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merg_2433","A namespace declaration cannot be in a different file from a class or function with which it is merged."),A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged:diag(2434,e.DiagnosticCategory.Error,"A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged_2434","A namespace declaration cannot be located prior to a class or function with which it is merged."),Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces:diag(2435,e.DiagnosticCategory.Error,"Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces_2435","Ambient modules cannot be nested in other modules or namespaces."),Ambient_module_declaration_cannot_specify_relative_module_name:diag(2436,e.DiagnosticCategory.Error,"Ambient_module_declaration_cannot_specify_relative_module_name_2436","Ambient module declaration cannot specify relative module name."),Module_0_is_hidden_by_a_local_declaration_with_the_same_name:diag(2437,e.DiagnosticCategory.Error,"Module_0_is_hidden_by_a_local_declaration_with_the_same_name_2437","Module '{0}' is hidden by a local declaration with the same name."),Import_name_cannot_be_0:diag(2438,e.DiagnosticCategory.Error,"Import_name_cannot_be_0_2438","Import name cannot be '{0}'."),Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relative_module_name:diag(2439,e.DiagnosticCategory.Error,"Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relati_2439","Import or export declaration in an ambient module declaration cannot reference module through relative module name."),Import_declaration_conflicts_with_local_declaration_of_0:diag(2440,e.DiagnosticCategory.Error,"Import_declaration_conflicts_with_local_declaration_of_0_2440","Import declaration conflicts with local declaration of '{0}'."),Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module:diag(2441,e.DiagnosticCategory.Error,"Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_2441","Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module."),Types_have_separate_declarations_of_a_private_property_0:diag(2442,e.DiagnosticCategory.Error,"Types_have_separate_declarations_of_a_private_property_0_2442","Types have separate declarations of a private property '{0}'."),Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2:diag(2443,e.DiagnosticCategory.Error,"Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2_2443","Property '{0}' is protected but type '{1}' is not a class derived from '{2}'."),Property_0_is_protected_in_type_1_but_public_in_type_2:diag(2444,e.DiagnosticCategory.Error,"Property_0_is_protected_in_type_1_but_public_in_type_2_2444","Property '{0}' is protected in type '{1}' but public in type '{2}'."),Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses:diag(2445,e.DiagnosticCategory.Error,"Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses_2445","Property '{0}' is protected and only accessible within class '{1}' and its subclasses."),Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1:diag(2446,e.DiagnosticCategory.Error,"Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1_2446","Property '{0}' is protected and only accessible through an instance of class '{1}'."),The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead:diag(2447,e.DiagnosticCategory.Error,"The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead_2447","The '{0}' operator is not allowed for boolean types. Consider using '{1}' instead."),Block_scoped_variable_0_used_before_its_declaration:diag(2448,e.DiagnosticCategory.Error,"Block_scoped_variable_0_used_before_its_declaration_2448","Block-scoped variable '{0}' used before its declaration."),Class_0_used_before_its_declaration:diag(2449,e.DiagnosticCategory.Error,"Class_0_used_before_its_declaration_2449","Class '{0}' used before its declaration."),Enum_0_used_before_its_declaration:diag(2450,e.DiagnosticCategory.Error,"Enum_0_used_before_its_declaration_2450","Enum '{0}' used before its declaration."),Cannot_redeclare_block_scoped_variable_0:diag(2451,e.DiagnosticCategory.Error,"Cannot_redeclare_block_scoped_variable_0_2451","Cannot redeclare block-scoped variable '{0}'."),An_enum_member_cannot_have_a_numeric_name:diag(2452,e.DiagnosticCategory.Error,"An_enum_member_cannot_have_a_numeric_name_2452","An enum member cannot have a numeric name."),The_type_argument_for_type_parameter_0_cannot_be_inferred_from_the_usage_Consider_specifying_the_type_arguments_explicitly:diag(2453,e.DiagnosticCategory.Error,"The_type_argument_for_type_parameter_0_cannot_be_inferred_from_the_usage_Consider_specifying_the_typ_2453","The type argument for type parameter '{0}' cannot be inferred from the usage. Consider specifying the type arguments explicitly."),Variable_0_is_used_before_being_assigned:diag(2454,e.DiagnosticCategory.Error,"Variable_0_is_used_before_being_assigned_2454","Variable '{0}' is used before being assigned."),Type_argument_candidate_1_is_not_a_valid_type_argument_because_it_is_not_a_supertype_of_candidate_0:diag(2455,e.DiagnosticCategory.Error,"Type_argument_candidate_1_is_not_a_valid_type_argument_because_it_is_not_a_supertype_of_candidate_0_2455","Type argument candidate '{1}' is not a valid type argument because it is not a supertype of candidate '{0}'."),Type_alias_0_circularly_references_itself:diag(2456,e.DiagnosticCategory.Error,"Type_alias_0_circularly_references_itself_2456","Type alias '{0}' circularly references itself."),Type_alias_name_cannot_be_0:diag(2457,e.DiagnosticCategory.Error,"Type_alias_name_cannot_be_0_2457","Type alias name cannot be '{0}'."),An_AMD_module_cannot_have_multiple_name_assignments:diag(2458,e.DiagnosticCategory.Error,"An_AMD_module_cannot_have_multiple_name_assignments_2458","An AMD module cannot have multiple name assignments."),Type_0_has_no_property_1_and_no_string_index_signature:diag(2459,e.DiagnosticCategory.Error,"Type_0_has_no_property_1_and_no_string_index_signature_2459","Type '{0}' has no property '{1}' and no string index signature."),Type_0_has_no_property_1:diag(2460,e.DiagnosticCategory.Error,"Type_0_has_no_property_1_2460","Type '{0}' has no property '{1}'."),Type_0_is_not_an_array_type:diag(2461,e.DiagnosticCategory.Error,"Type_0_is_not_an_array_type_2461","Type '{0}' is not an array type."),A_rest_element_must_be_last_in_a_destructuring_pattern:diag(2462,e.DiagnosticCategory.Error,"A_rest_element_must_be_last_in_a_destructuring_pattern_2462","A rest element must be last in a destructuring pattern."),A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature:diag(2463,e.DiagnosticCategory.Error,"A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature_2463","A binding pattern parameter cannot be optional in an implementation signature."),A_computed_property_name_must_be_of_type_string_number_symbol_or_any:diag(2464,e.DiagnosticCategory.Error,"A_computed_property_name_must_be_of_type_string_number_symbol_or_any_2464","A computed property name must be of type 'string', 'number', 'symbol', or 'any'."),this_cannot_be_referenced_in_a_computed_property_name:diag(2465,e.DiagnosticCategory.Error,"this_cannot_be_referenced_in_a_computed_property_name_2465","'this' cannot be referenced in a computed property name."),super_cannot_be_referenced_in_a_computed_property_name:diag(2466,e.DiagnosticCategory.Error,"super_cannot_be_referenced_in_a_computed_property_name_2466","'super' cannot be referenced in a computed property name."),A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type:diag(2467,e.DiagnosticCategory.Error,"A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type_2467","A computed property name cannot reference a type parameter from its containing type."),Cannot_find_global_value_0:diag(2468,e.DiagnosticCategory.Error,"Cannot_find_global_value_0_2468","Cannot find global value '{0}'."),The_0_operator_cannot_be_applied_to_type_symbol:diag(2469,e.DiagnosticCategory.Error,"The_0_operator_cannot_be_applied_to_type_symbol_2469","The '{0}' operator cannot be applied to type 'symbol'."),Symbol_reference_does_not_refer_to_the_global_Symbol_constructor_object:diag(2470,e.DiagnosticCategory.Error,"Symbol_reference_does_not_refer_to_the_global_Symbol_constructor_object_2470","'Symbol' reference does not refer to the global Symbol constructor object."),A_computed_property_name_of_the_form_0_must_be_of_type_symbol:diag(2471,e.DiagnosticCategory.Error,"A_computed_property_name_of_the_form_0_must_be_of_type_symbol_2471","A computed property name of the form '{0}' must be of type 'symbol'."),Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher:diag(2472,e.DiagnosticCategory.Error,"Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher_2472","Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher."),Enum_declarations_must_all_be_const_or_non_const:diag(2473,e.DiagnosticCategory.Error,"Enum_declarations_must_all_be_const_or_non_const_2473","Enum declarations must all be const or non-const."),In_const_enum_declarations_member_initializer_must_be_constant_expression:diag(2474,e.DiagnosticCategory.Error,"In_const_enum_declarations_member_initializer_must_be_constant_expression_2474","In 'const' enum declarations member initializer must be constant expression."),const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment_or_type_query:diag(2475,e.DiagnosticCategory.Error,"const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_im_2475","'const' enums can only be used in property or index access expressions or the right hand side of an import declaration or export assignment or type query."),A_const_enum_member_can_only_be_accessed_using_a_string_literal:diag(2476,e.DiagnosticCategory.Error,"A_const_enum_member_can_only_be_accessed_using_a_string_literal_2476","A const enum member can only be accessed using a string literal."),const_enum_member_initializer_was_evaluated_to_a_non_finite_value:diag(2477,e.DiagnosticCategory.Error,"const_enum_member_initializer_was_evaluated_to_a_non_finite_value_2477","'const' enum member initializer was evaluated to a non-finite value."),const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN:diag(2478,e.DiagnosticCategory.Error,"const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN_2478","'const' enum member initializer was evaluated to disallowed value 'NaN'."),Property_0_does_not_exist_on_const_enum_1:diag(2479,e.DiagnosticCategory.Error,"Property_0_does_not_exist_on_const_enum_1_2479","Property '{0}' does not exist on 'const' enum '{1}'."),let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations:diag(2480,e.DiagnosticCategory.Error,"let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations_2480","'let' is not allowed to be used as a name in 'let' or 'const' declarations."),Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1:diag(2481,e.DiagnosticCategory.Error,"Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1_2481","Cannot initialize outer scoped variable '{0}' in the same scope as block scoped declaration '{1}'."),The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation:diag(2483,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation_2483","The left-hand side of a 'for...of' statement cannot use a type annotation."),Export_declaration_conflicts_with_exported_declaration_of_0:diag(2484,e.DiagnosticCategory.Error,"Export_declaration_conflicts_with_exported_declaration_of_0_2484","Export declaration conflicts with exported declaration of '{0}'."),The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access:diag(2487,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access_2487","The left-hand side of a 'for...of' statement must be a variable or a property access."),Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator:diag(2488,e.DiagnosticCategory.Error,"Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator_2488","Type '{0}' must have a '[Symbol.iterator]()' method that returns an iterator."),An_iterator_must_have_a_next_method:diag(2489,e.DiagnosticCategory.Error,"An_iterator_must_have_a_next_method_2489","An iterator must have a 'next()' method."),The_type_returned_by_the_next_method_of_an_iterator_must_have_a_value_property:diag(2490,e.DiagnosticCategory.Error,"The_type_returned_by_the_next_method_of_an_iterator_must_have_a_value_property_2490","The type returned by the 'next()' method of an iterator must have a 'value' property."),The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern:diag(2491,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern_2491","The left-hand side of a 'for...in' statement cannot be a destructuring pattern."),Cannot_redeclare_identifier_0_in_catch_clause:diag(2492,e.DiagnosticCategory.Error,"Cannot_redeclare_identifier_0_in_catch_clause_2492","Cannot redeclare identifier '{0}' in catch clause."),Tuple_type_0_with_length_1_cannot_be_assigned_to_tuple_with_length_2:diag(2493,e.DiagnosticCategory.Error,"Tuple_type_0_with_length_1_cannot_be_assigned_to_tuple_with_length_2_2493","Tuple type '{0}' with length '{1}' cannot be assigned to tuple with length '{2}'."),Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher:diag(2494,e.DiagnosticCategory.Error,"Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher_2494","Using a string in a 'for...of' statement is only supported in ECMAScript 5 and higher."),Type_0_is_not_an_array_type_or_a_string_type:diag(2495,e.DiagnosticCategory.Error,"Type_0_is_not_an_array_type_or_a_string_type_2495","Type '{0}' is not an array type or a string type."),The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_standard_function_expression:diag(2496,e.DiagnosticCategory.Error,"The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_stand_2496","The 'arguments' object cannot be referenced in an arrow function in ES3 and ES5. Consider using a standard function expression."),Module_0_resolves_to_a_non_module_entity_and_cannot_be_imported_using_this_construct:diag(2497,e.DiagnosticCategory.Error,"Module_0_resolves_to_a_non_module_entity_and_cannot_be_imported_using_this_construct_2497","Module '{0}' resolves to a non-module entity and cannot be imported using this construct."),Module_0_uses_export_and_cannot_be_used_with_export_Asterisk:diag(2498,e.DiagnosticCategory.Error,"Module_0_uses_export_and_cannot_be_used_with_export_Asterisk_2498","Module '{0}' uses 'export =' and cannot be used with 'export *'."),An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments:diag(2499,e.DiagnosticCategory.Error,"An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments_2499","An interface can only extend an identifier/qualified-name with optional type arguments."),A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments:diag(2500,e.DiagnosticCategory.Error,"A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments_2500","A class can only implement an identifier/qualified-name with optional type arguments."),A_rest_element_cannot_contain_a_binding_pattern:diag(2501,e.DiagnosticCategory.Error,"A_rest_element_cannot_contain_a_binding_pattern_2501","A rest element cannot contain a binding pattern."),_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation:diag(2502,e.DiagnosticCategory.Error,"_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation_2502","'{0}' is referenced directly or indirectly in its own type annotation."),Cannot_find_namespace_0:diag(2503,e.DiagnosticCategory.Error,"Cannot_find_namespace_0_2503","Cannot find namespace '{0}'."),Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator:diag(2504,e.DiagnosticCategory.Error,"Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator_2504","Type '{0}' must have a '[Symbol.asyncIterator]()' method that returns an async iterator."),A_generator_cannot_have_a_void_type_annotation:diag(2505,e.DiagnosticCategory.Error,"A_generator_cannot_have_a_void_type_annotation_2505","A generator cannot have a 'void' type annotation."),_0_is_referenced_directly_or_indirectly_in_its_own_base_expression:diag(2506,e.DiagnosticCategory.Error,"_0_is_referenced_directly_or_indirectly_in_its_own_base_expression_2506","'{0}' is referenced directly or indirectly in its own base expression."),Type_0_is_not_a_constructor_function_type:diag(2507,e.DiagnosticCategory.Error,"Type_0_is_not_a_constructor_function_type_2507","Type '{0}' is not a constructor function type."),No_base_constructor_has_the_specified_number_of_type_arguments:diag(2508,e.DiagnosticCategory.Error,"No_base_constructor_has_the_specified_number_of_type_arguments_2508","No base constructor has the specified number of type arguments."),Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_known_members:diag(2509,e.DiagnosticCategory.Error,"Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_2509","Base constructor return type '{0}' is not an object type or intersection of object types with statically known members."),Base_constructors_must_all_have_the_same_return_type:diag(2510,e.DiagnosticCategory.Error,"Base_constructors_must_all_have_the_same_return_type_2510","Base constructors must all have the same return type."),Cannot_create_an_instance_of_an_abstract_class:diag(2511,e.DiagnosticCategory.Error,"Cannot_create_an_instance_of_an_abstract_class_2511","Cannot create an instance of an abstract class."),Overload_signatures_must_all_be_abstract_or_non_abstract:diag(2512,e.DiagnosticCategory.Error,"Overload_signatures_must_all_be_abstract_or_non_abstract_2512","Overload signatures must all be abstract or non-abstract."),Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression:diag(2513,e.DiagnosticCategory.Error,"Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression_2513","Abstract method '{0}' in class '{1}' cannot be accessed via super expression."),Classes_containing_abstract_methods_must_be_marked_abstract:diag(2514,e.DiagnosticCategory.Error,"Classes_containing_abstract_methods_must_be_marked_abstract_2514","Classes containing abstract methods must be marked abstract."),Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2:diag(2515,e.DiagnosticCategory.Error,"Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2_2515","Non-abstract class '{0}' does not implement inherited abstract member '{1}' from class '{2}'."),All_declarations_of_an_abstract_method_must_be_consecutive:diag(2516,e.DiagnosticCategory.Error,"All_declarations_of_an_abstract_method_must_be_consecutive_2516","All declarations of an abstract method must be consecutive."),Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type:diag(2517,e.DiagnosticCategory.Error,"Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type_2517","Cannot assign an abstract constructor type to a non-abstract constructor type."),A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard:diag(2518,e.DiagnosticCategory.Error,"A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard_2518","A 'this'-based type guard is not compatible with a parameter-based type guard."),An_async_iterator_must_have_a_next_method:diag(2519,e.DiagnosticCategory.Error,"An_async_iterator_must_have_a_next_method_2519","An async iterator must have a 'next()' method."),Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions:diag(2520,e.DiagnosticCategory.Error,"Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions_2520","Duplicate identifier '{0}'. Compiler uses declaration '{1}' to support async functions."),Expression_resolves_to_variable_declaration_0_that_compiler_uses_to_support_async_functions:diag(2521,e.DiagnosticCategory.Error,"Expression_resolves_to_variable_declaration_0_that_compiler_uses_to_support_async_functions_2521","Expression resolves to variable declaration '{0}' that compiler uses to support async functions."),The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_using_a_standard_function_or_method:diag(2522,e.DiagnosticCategory.Error,"The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_usi_2522","The 'arguments' object cannot be referenced in an async function or method in ES3 and ES5. Consider using a standard function or method."),yield_expressions_cannot_be_used_in_a_parameter_initializer:diag(2523,e.DiagnosticCategory.Error,"yield_expressions_cannot_be_used_in_a_parameter_initializer_2523","'yield' expressions cannot be used in a parameter initializer."),await_expressions_cannot_be_used_in_a_parameter_initializer:diag(2524,e.DiagnosticCategory.Error,"await_expressions_cannot_be_used_in_a_parameter_initializer_2524","'await' expressions cannot be used in a parameter initializer."),Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value:diag(2525,e.DiagnosticCategory.Error,"Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value_2525","Initializer provides no value for this binding element and the binding element has no default value."),A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface:diag(2526,e.DiagnosticCategory.Error,"A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface_2526","A 'this' type is available only in a non-static member of a class or interface."),The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary:diag(2527,e.DiagnosticCategory.Error,"The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary_2527","The inferred type of '{0}' references an inaccessible '{1}' type. A type annotation is necessary."),A_module_cannot_have_multiple_default_exports:diag(2528,e.DiagnosticCategory.Error,"A_module_cannot_have_multiple_default_exports_2528","A module cannot have multiple default exports."),Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions:diag(2529,e.DiagnosticCategory.Error,"Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_func_2529","Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module containing async functions."),Property_0_is_incompatible_with_index_signature:diag(2530,e.DiagnosticCategory.Error,"Property_0_is_incompatible_with_index_signature_2530","Property '{0}' is incompatible with index signature."),Object_is_possibly_null:diag(2531,e.DiagnosticCategory.Error,"Object_is_possibly_null_2531","Object is possibly 'null'."),Object_is_possibly_undefined:diag(2532,e.DiagnosticCategory.Error,"Object_is_possibly_undefined_2532","Object is possibly 'undefined'."),Object_is_possibly_null_or_undefined:diag(2533,e.DiagnosticCategory.Error,"Object_is_possibly_null_or_undefined_2533","Object is possibly 'null' or 'undefined'."),A_function_returning_never_cannot_have_a_reachable_end_point:diag(2534,e.DiagnosticCategory.Error,"A_function_returning_never_cannot_have_a_reachable_end_point_2534","A function returning 'never' cannot have a reachable end point."),Enum_type_0_has_members_with_initializers_that_are_not_literals:diag(2535,e.DiagnosticCategory.Error,"Enum_type_0_has_members_with_initializers_that_are_not_literals_2535","Enum type '{0}' has members with initializers that are not literals."),Type_0_cannot_be_used_to_index_type_1:diag(2536,e.DiagnosticCategory.Error,"Type_0_cannot_be_used_to_index_type_1_2536","Type '{0}' cannot be used to index type '{1}'."),Type_0_has_no_matching_index_signature_for_type_1:diag(2537,e.DiagnosticCategory.Error,"Type_0_has_no_matching_index_signature_for_type_1_2537","Type '{0}' has no matching index signature for type '{1}'."),Type_0_cannot_be_used_as_an_index_type:diag(2538,e.DiagnosticCategory.Error,"Type_0_cannot_be_used_as_an_index_type_2538","Type '{0}' cannot be used as an index type."),Cannot_assign_to_0_because_it_is_not_a_variable:diag(2539,e.DiagnosticCategory.Error,"Cannot_assign_to_0_because_it_is_not_a_variable_2539","Cannot assign to '{0}' because it is not a variable."),Cannot_assign_to_0_because_it_is_a_read_only_property:diag(2540,e.DiagnosticCategory.Error,"Cannot_assign_to_0_because_it_is_a_read_only_property_2540","Cannot assign to '{0}' because it is a read-only property."),The_target_of_an_assignment_must_be_a_variable_or_a_property_access:diag(2541,e.DiagnosticCategory.Error,"The_target_of_an_assignment_must_be_a_variable_or_a_property_access_2541","The target of an assignment must be a variable or a property access."),Index_signature_in_type_0_only_permits_reading:diag(2542,e.DiagnosticCategory.Error,"Index_signature_in_type_0_only_permits_reading_2542","Index signature in type '{0}' only permits reading."),Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_meta_property_reference:diag(2543,e.DiagnosticCategory.Error,"Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_me_2543","Duplicate identifier '_newTarget'. Compiler uses variable declaration '_newTarget' to capture 'new.target' meta-property reference."),Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta_property_reference:diag(2544,e.DiagnosticCategory.Error,"Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta__2544","Expression resolves to variable declaration '_newTarget' that compiler uses to capture 'new.target' meta-property reference."),A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any:diag(2545,e.DiagnosticCategory.Error,"A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any_2545","A mixin class must have a constructor with a single rest parameter of type 'any[]'."),Property_0_has_conflicting_declarations_and_is_inaccessible_in_type_1:diag(2546,e.DiagnosticCategory.Error,"Property_0_has_conflicting_declarations_and_is_inaccessible_in_type_1_2546","Property '{0}' has conflicting declarations and is inaccessible in type '{1}'."),The_type_returned_by_the_next_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_property:diag(2547,e.DiagnosticCategory.Error,"The_type_returned_by_the_next_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value__2547","The type returned by the 'next()' method of an async iterator must be a promise for a type with a 'value' property."),Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator:diag(2548,e.DiagnosticCategory.Error,"Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator_2548","Type '{0}' is not an array type or does not have a '[Symbol.iterator]()' method that returns an iterator."),Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator:diag(2549,e.DiagnosticCategory.Error,"Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns__2549","Type '{0}' is not an array type or a string type or does not have a '[Symbol.iterator]()' method that returns an iterator."),Property_0_does_not_exist_on_type_1_Did_you_mean_2:diag(2551,e.DiagnosticCategory.Error,"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","Property '{0}' does not exist on type '{1}'. Did you mean '{2}'?"),Cannot_find_name_0_Did_you_mean_1:diag(2552,e.DiagnosticCategory.Error,"Cannot_find_name_0_Did_you_mean_1_2552","Cannot find name '{0}'. Did you mean '{1}'?"),Computed_values_are_not_permitted_in_an_enum_with_string_valued_members:diag(2553,e.DiagnosticCategory.Error,"Computed_values_are_not_permitted_in_an_enum_with_string_valued_members_2553","Computed values are not permitted in an enum with string valued members."),Expected_0_arguments_but_got_1:diag(2554,e.DiagnosticCategory.Error,"Expected_0_arguments_but_got_1_2554","Expected {0} arguments, but got {1}."),Expected_at_least_0_arguments_but_got_1:diag(2555,e.DiagnosticCategory.Error,"Expected_at_least_0_arguments_but_got_1_2555","Expected at least {0} arguments, but got {1}."),Expected_0_arguments_but_got_1_or_more:diag(2556,e.DiagnosticCategory.Error,"Expected_0_arguments_but_got_1_or_more_2556","Expected {0} arguments, but got {1} or more."),Expected_at_least_0_arguments_but_got_1_or_more:diag(2557,e.DiagnosticCategory.Error,"Expected_at_least_0_arguments_but_got_1_or_more_2557","Expected at least {0} arguments, but got {1} or more."),Expected_0_type_arguments_but_got_1:diag(2558,e.DiagnosticCategory.Error,"Expected_0_type_arguments_but_got_1_2558","Expected {0} type arguments, but got {1}."),Type_0_has_no_properties_in_common_with_type_1:diag(2559,e.DiagnosticCategory.Error,"Type_0_has_no_properties_in_common_with_type_1_2559","Type '{0}' has no properties in common with type '{1}'."),Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it:diag(2560,e.DiagnosticCategory.Error,"Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it_2560","Value of type '{0}' has no properties in common with type '{1}'. Did you mean to call it?"),Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_write_2:diag(2561,e.DiagnosticCategory.Error,"Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_writ_2561","Object literal may only specify known properties, but '{0}' does not exist in type '{1}'. Did you mean to write '{2}'?"),Base_class_expressions_cannot_reference_class_type_parameters:diag(2562,e.DiagnosticCategory.Error,"Base_class_expressions_cannot_reference_class_type_parameters_2562","Base class expressions cannot reference class type parameters."),The_containing_function_or_module_body_is_too_large_for_control_flow_analysis:diag(2563,e.DiagnosticCategory.Error,"The_containing_function_or_module_body_is_too_large_for_control_flow_analysis_2563","The containing function or module body is too large for control flow analysis."),Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor:diag(2564,e.DiagnosticCategory.Error,"Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor_2564","Property '{0}' has no initializer and is not definitely assigned in the constructor."),Property_0_is_used_before_being_assigned:diag(2565,e.DiagnosticCategory.Error,"Property_0_is_used_before_being_assigned_2565","Property '{0}' is used before being assigned."),A_rest_element_cannot_have_a_property_name:diag(2566,e.DiagnosticCategory.Error,"A_rest_element_cannot_have_a_property_name_2566","A rest element cannot have a property name."),Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations:diag(2567,e.DiagnosticCategory.Error,"Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations_2567","Enum declarations can only merge with namespace or other enum declarations."),Type_0_is_not_an_array_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators:diag(2568,e.DiagnosticCategory.Error,"Type_0_is_not_an_array_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators_2568","Type '{0}' is not an array type. Use compiler option '--downlevelIteration' to allow iterating of iterators."),Type_0_is_not_an_array_type_or_a_string_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators:diag(2569,e.DiagnosticCategory.Error,"Type_0_is_not_an_array_type_or_a_string_type_Use_compiler_option_downlevelIteration_to_allow_iterati_2569","Type '{0}' is not an array type or a string type. Use compiler option '--downlevelIteration' to allow iterating of iterators."),Property_0_does_not_exist_on_type_1_Did_you_forget_to_use_await:diag(2570,e.DiagnosticCategory.Error,"Property_0_does_not_exist_on_type_1_Did_you_forget_to_use_await_2570","Property '{0}' does not exist on type '{1}'. Did you forget to use 'await'?"),Object_is_of_type_unknown:diag(2571,e.DiagnosticCategory.Error,"Object_is_of_type_unknown_2571","Object is of type 'unknown'."),Rest_signatures_are_incompatible:diag(2572,e.DiagnosticCategory.Error,"Rest_signatures_are_incompatible_2572","Rest signatures are incompatible."),Property_0_is_incompatible_with_rest_element_type:diag(2573,e.DiagnosticCategory.Error,"Property_0_is_incompatible_with_rest_element_type_2573","Property '{0}' is incompatible with rest element type."),A_rest_element_type_must_be_an_array_type:diag(2574,e.DiagnosticCategory.Error,"A_rest_element_type_must_be_an_array_type_2574","A rest element type must be an array type."),No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments:diag(2575,e.DiagnosticCategory.Error,"No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments_2575","No overload expects {0} arguments, but overloads do exist that expect either {1} or {2} arguments."),Property_0_is_a_static_member_of_type_1:diag(2576,e.DiagnosticCategory.Error,"Property_0_is_a_static_member_of_type_1_2576","Property '{0}' is a static member of type '{1}'"),Return_type_annotation_circularly_references_itself:diag(2577,e.DiagnosticCategory.Error,"Return_type_annotation_circularly_references_itself_2577","Return type annotation circularly references itself."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_types_Slashnode_and_then_add_node_to_the_types_field_in_your_tsconfig:diag(2580,e.DiagnosticCategory.Error,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_types_Slashnode_and_th_2580","Cannot find name '{0}'. Do you need to install type definitions for node? Try `npm i @types/node` and then add `node` to the types field in your tsconfig."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_types_Slashjquery_and_then_add_jquery_to_the_types_field_in_your_tsconfig:diag(2581,e.DiagnosticCategory.Error,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_types_Slashjquery_an_2581","Cannot find name '{0}'. Do you need to install type definitions for jQuery? Try `npm i @types/jquery` and then add `jquery` to the types field in your tsconfig."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_types_Slashjest_or_npm_i_types_Slashmocha_and_then_add_jest_or_mocha_to_the_types_field_in_your_tsconfig:diag(2582,e.DiagnosticCategory.Error,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_types_Slashje_2582","Cannot find name '{0}'. Do you need to install type definitions for a test runner? Try `npm i @types/jest` or `npm i @types/mocha` and then add `jest` or `mocha` to the types field in your tsconfig."),Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_es2015_or_later:diag(2583,e.DiagnosticCategory.Error,"Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2583","Cannot find name '{0}'. Do you need to change your target library? Try changing the `lib` compiler option to es2015 or later."),Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_include_dom:diag(2584,e.DiagnosticCategory.Error,"Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2584","Cannot find name '{0}'. Do you need to change your target library? Try changing the `lib` compiler option to include 'dom'."),_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_es2015_or_later:diag(2585,e.DiagnosticCategory.Error,"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_2585","'{0}' only refers to a type, but is being used as a value here. Do you need to change your target library? Try changing the `lib` compiler option to es2015 or later."),Enum_type_0_circularly_references_itself:diag(2586,e.DiagnosticCategory.Error,"Enum_type_0_circularly_references_itself_2586","Enum type '{0}' circularly references itself."),JSDoc_type_0_circularly_references_itself:diag(2587,e.DiagnosticCategory.Error,"JSDoc_type_0_circularly_references_itself_2587","JSDoc type '{0}' circularly references itself."),Cannot_assign_to_0_because_it_is_a_constant:diag(2588,e.DiagnosticCategory.Error,"Cannot_assign_to_0_because_it_is_a_constant_2588","Cannot assign to '{0}' because it is a constant."),JSX_element_attributes_type_0_may_not_be_a_union_type:diag(2600,e.DiagnosticCategory.Error,"JSX_element_attributes_type_0_may_not_be_a_union_type_2600","JSX element attributes type '{0}' may not be a union type."),The_return_type_of_a_JSX_element_constructor_must_return_an_object_type:diag(2601,e.DiagnosticCategory.Error,"The_return_type_of_a_JSX_element_constructor_must_return_an_object_type_2601","The return type of a JSX element constructor must return an object type."),JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist:diag(2602,e.DiagnosticCategory.Error,"JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist_2602","JSX element implicitly has type 'any' because the global type 'JSX.Element' does not exist."),Property_0_in_type_1_is_not_assignable_to_type_2:diag(2603,e.DiagnosticCategory.Error,"Property_0_in_type_1_is_not_assignable_to_type_2_2603","Property '{0}' in type '{1}' is not assignable to type '{2}'."),JSX_element_type_0_does_not_have_any_construct_or_call_signatures:diag(2604,e.DiagnosticCategory.Error,"JSX_element_type_0_does_not_have_any_construct_or_call_signatures_2604","JSX element type '{0}' does not have any construct or call signatures."),JSX_element_type_0_is_not_a_constructor_function_for_JSX_elements:diag(2605,e.DiagnosticCategory.Error,"JSX_element_type_0_is_not_a_constructor_function_for_JSX_elements_2605","JSX element type '{0}' is not a constructor function for JSX elements."),Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property:diag(2606,e.DiagnosticCategory.Error,"Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property_2606","Property '{0}' of JSX spread attribute is not assignable to target property."),JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property:diag(2607,e.DiagnosticCategory.Error,"JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property_2607","JSX element class does not support attributes because it does not have a '{0}' property."),The_global_type_JSX_0_may_not_have_more_than_one_property:diag(2608,e.DiagnosticCategory.Error,"The_global_type_JSX_0_may_not_have_more_than_one_property_2608","The global type 'JSX.{0}' may not have more than one property."),JSX_spread_child_must_be_an_array_type:diag(2609,e.DiagnosticCategory.Error,"JSX_spread_child_must_be_an_array_type_2609","JSX spread child must be an array type."),Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity:diag(2649,e.DiagnosticCategory.Error,"Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity_2649","Cannot augment module '{0}' with value exports because it resolves to a non-module entity."),A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums:diag(2651,e.DiagnosticCategory.Error,"A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_memb_2651","A member initializer in a enum declaration cannot reference members declared after it, including members defined in other enums."),Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_default_0_declaration_instead:diag(2652,e.DiagnosticCategory.Error,"Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_d_2652","Merged declaration '{0}' cannot include a default export declaration. Consider adding a separate 'export default {0}' declaration instead."),Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1:diag(2653,e.DiagnosticCategory.Error,"Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1_2653","Non-abstract class expression does not implement inherited abstract member '{0}' from class '{1}'."),Exported_external_package_typings_file_cannot_contain_tripleslash_references_Please_contact_the_package_author_to_update_the_package_definition:diag(2654,e.DiagnosticCategory.Error,"Exported_external_package_typings_file_cannot_contain_tripleslash_references_Please_contact_the_pack_2654","Exported external package typings file cannot contain tripleslash references. Please contact the package author to update the package definition."),Exported_external_package_typings_file_0_is_not_a_module_Please_contact_the_package_author_to_update_the_package_definition:diag(2656,e.DiagnosticCategory.Error,"Exported_external_package_typings_file_0_is_not_a_module_Please_contact_the_package_author_to_update_2656","Exported external package typings file '{0}' is not a module. Please contact the package author to update the package definition."),JSX_expressions_must_have_one_parent_element:diag(2657,e.DiagnosticCategory.Error,"JSX_expressions_must_have_one_parent_element_2657","JSX expressions must have one parent element."),Type_0_provides_no_match_for_the_signature_1:diag(2658,e.DiagnosticCategory.Error,"Type_0_provides_no_match_for_the_signature_1_2658","Type '{0}' provides no match for the signature '{1}'."),super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher:diag(2659,e.DiagnosticCategory.Error,"super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_highe_2659","'super' is only allowed in members of object literal expressions when option 'target' is 'ES2015' or higher."),super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions:diag(2660,e.DiagnosticCategory.Error,"super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions_2660","'super' can only be referenced in members of derived classes or object literal expressions."),Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module:diag(2661,e.DiagnosticCategory.Error,"Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module_2661","Cannot export '{0}'. Only local declarations can be exported from a module."),Cannot_find_name_0_Did_you_mean_the_static_member_1_0:diag(2662,e.DiagnosticCategory.Error,"Cannot_find_name_0_Did_you_mean_the_static_member_1_0_2662","Cannot find name '{0}'. Did you mean the static member '{1}.{0}'?"),Cannot_find_name_0_Did_you_mean_the_instance_member_this_0:diag(2663,e.DiagnosticCategory.Error,"Cannot_find_name_0_Did_you_mean_the_instance_member_this_0_2663","Cannot find name '{0}'. Did you mean the instance member 'this.{0}'?"),Invalid_module_name_in_augmentation_module_0_cannot_be_found:diag(2664,e.DiagnosticCategory.Error,"Invalid_module_name_in_augmentation_module_0_cannot_be_found_2664","Invalid module name in augmentation, module '{0}' cannot be found."),Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augmented:diag(2665,e.DiagnosticCategory.Error,"Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augm_2665","Invalid module name in augmentation. Module '{0}' resolves to an untyped module at '{1}', which cannot be augmented."),Exports_and_export_assignments_are_not_permitted_in_module_augmentations:diag(2666,e.DiagnosticCategory.Error,"Exports_and_export_assignments_are_not_permitted_in_module_augmentations_2666","Exports and export assignments are not permitted in module augmentations."),Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_module:diag(2667,e.DiagnosticCategory.Error,"Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_mod_2667","Imports are not permitted in module augmentations. Consider moving them to the enclosing external module."),export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always_visible:diag(2668,e.DiagnosticCategory.Error,"export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always__2668","'export' modifier cannot be applied to ambient modules and module augmentations since they are always visible."),Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_declarations:diag(2669,e.DiagnosticCategory.Error,"Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_2669","Augmentations for the global scope can only be directly nested in external modules or ambient module declarations."),Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambient_context:diag(2670,e.DiagnosticCategory.Error,"Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambien_2670","Augmentations for the global scope should have 'declare' modifier unless they appear in already ambient context."),Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity:diag(2671,e.DiagnosticCategory.Error,"Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity_2671","Cannot augment module '{0}' because it resolves to a non-module entity."),Cannot_assign_a_0_constructor_type_to_a_1_constructor_type:diag(2672,e.DiagnosticCategory.Error,"Cannot_assign_a_0_constructor_type_to_a_1_constructor_type_2672","Cannot assign a '{0}' constructor type to a '{1}' constructor type."),Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration:diag(2673,e.DiagnosticCategory.Error,"Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration_2673","Constructor of class '{0}' is private and only accessible within the class declaration."),Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration:diag(2674,e.DiagnosticCategory.Error,"Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration_2674","Constructor of class '{0}' is protected and only accessible within the class declaration."),Cannot_extend_a_class_0_Class_constructor_is_marked_as_private:diag(2675,e.DiagnosticCategory.Error,"Cannot_extend_a_class_0_Class_constructor_is_marked_as_private_2675","Cannot extend a class '{0}'. Class constructor is marked as private."),Accessors_must_both_be_abstract_or_non_abstract:diag(2676,e.DiagnosticCategory.Error,"Accessors_must_both_be_abstract_or_non_abstract_2676","Accessors must both be abstract or non-abstract."),A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type:diag(2677,e.DiagnosticCategory.Error,"A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type_2677","A type predicate's type must be assignable to its parameter's type."),Type_0_is_not_comparable_to_type_1:diag(2678,e.DiagnosticCategory.Error,"Type_0_is_not_comparable_to_type_1_2678","Type '{0}' is not comparable to type '{1}'."),A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void:diag(2679,e.DiagnosticCategory.Error,"A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void_2679","A function that is called with the 'new' keyword cannot have a 'this' type that is 'void'."),A_0_parameter_must_be_the_first_parameter:diag(2680,e.DiagnosticCategory.Error,"A_0_parameter_must_be_the_first_parameter_2680","A '{0}' parameter must be the first parameter."),A_constructor_cannot_have_a_this_parameter:diag(2681,e.DiagnosticCategory.Error,"A_constructor_cannot_have_a_this_parameter_2681","A constructor cannot have a 'this' parameter."),get_and_set_accessor_must_have_the_same_this_type:diag(2682,e.DiagnosticCategory.Error,"get_and_set_accessor_must_have_the_same_this_type_2682","'get' and 'set' accessor must have the same 'this' type."),this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation:diag(2683,e.DiagnosticCategory.Error,"this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_2683","'this' implicitly has type 'any' because it does not have a type annotation."),The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1:diag(2684,e.DiagnosticCategory.Error,"The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1_2684","The 'this' context of type '{0}' is not assignable to method's 'this' of type '{1}'."),The_this_types_of_each_signature_are_incompatible:diag(2685,e.DiagnosticCategory.Error,"The_this_types_of_each_signature_are_incompatible_2685","The 'this' types of each signature are incompatible."),_0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead:diag(2686,e.DiagnosticCategory.Error,"_0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead_2686","'{0}' refers to a UMD global, but the current file is a module. Consider adding an import instead."),All_declarations_of_0_must_have_identical_modifiers:diag(2687,e.DiagnosticCategory.Error,"All_declarations_of_0_must_have_identical_modifiers_2687","All declarations of '{0}' must have identical modifiers."),Cannot_find_type_definition_file_for_0:diag(2688,e.DiagnosticCategory.Error,"Cannot_find_type_definition_file_for_0_2688","Cannot find type definition file for '{0}'."),Cannot_extend_an_interface_0_Did_you_mean_implements:diag(2689,e.DiagnosticCategory.Error,"Cannot_extend_an_interface_0_Did_you_mean_implements_2689","Cannot extend an interface '{0}'. Did you mean 'implements'?"),An_import_path_cannot_end_with_a_0_extension_Consider_importing_1_instead:diag(2691,e.DiagnosticCategory.Error,"An_import_path_cannot_end_with_a_0_extension_Consider_importing_1_instead_2691","An import path cannot end with a '{0}' extension. Consider importing '{1}' instead."),_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible:diag(2692,e.DiagnosticCategory.Error,"_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible_2692","'{0}' is a primitive, but '{1}' is a wrapper object. Prefer using '{0}' when possible."),_0_only_refers_to_a_type_but_is_being_used_as_a_value_here:diag(2693,e.DiagnosticCategory.Error,"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_2693","'{0}' only refers to a type, but is being used as a value here."),Namespace_0_has_no_exported_member_1:diag(2694,e.DiagnosticCategory.Error,"Namespace_0_has_no_exported_member_1_2694","Namespace '{0}' has no exported member '{1}'."),Left_side_of_comma_operator_is_unused_and_has_no_side_effects:diag(2695,e.DiagnosticCategory.Error,"Left_side_of_comma_operator_is_unused_and_has_no_side_effects_2695","Left side of comma operator is unused and has no side effects.",true),The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead:diag(2696,e.DiagnosticCategory.Error,"The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead_2696","The 'Object' type is assignable to very few other types. Did you mean to use the 'any' type instead?"),An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option:diag(2697,e.DiagnosticCategory.Error,"An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_in_2697","An async function or method must return a 'Promise'. Make sure you have a declaration for 'Promise' or include 'ES2015' in your `--lib` option."),Spread_types_may_only_be_created_from_object_types:diag(2698,e.DiagnosticCategory.Error,"Spread_types_may_only_be_created_from_object_types_2698","Spread types may only be created from object types."),Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1:diag(2699,e.DiagnosticCategory.Error,"Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1_2699","Static property '{0}' conflicts with built-in property 'Function.{0}' of constructor function '{1}'."),Rest_types_may_only_be_created_from_object_types:diag(2700,e.DiagnosticCategory.Error,"Rest_types_may_only_be_created_from_object_types_2700","Rest types may only be created from object types."),The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access:diag(2701,e.DiagnosticCategory.Error,"The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access_2701","The target of an object rest assignment must be a variable or a property access."),_0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here:diag(2702,e.DiagnosticCategory.Error,"_0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here_2702","'{0}' only refers to a type, but is being used as a namespace here."),The_operand_of_a_delete_operator_must_be_a_property_reference:diag(2703,e.DiagnosticCategory.Error,"The_operand_of_a_delete_operator_must_be_a_property_reference_2703","The operand of a delete operator must be a property reference."),The_operand_of_a_delete_operator_cannot_be_a_read_only_property:diag(2704,e.DiagnosticCategory.Error,"The_operand_of_a_delete_operator_cannot_be_a_read_only_property_2704","The operand of a delete operator cannot be a read-only property."),An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option:diag(2705,e.DiagnosticCategory.Error,"An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_de_2705","An async function or method in ES5/ES3 requires the 'Promise' constructor. Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your `--lib` option."),Required_type_parameters_may_not_follow_optional_type_parameters:diag(2706,e.DiagnosticCategory.Error,"Required_type_parameters_may_not_follow_optional_type_parameters_2706","Required type parameters may not follow optional type parameters."),Generic_type_0_requires_between_1_and_2_type_arguments:diag(2707,e.DiagnosticCategory.Error,"Generic_type_0_requires_between_1_and_2_type_arguments_2707","Generic type '{0}' requires between {1} and {2} type arguments."),Cannot_use_namespace_0_as_a_value:diag(2708,e.DiagnosticCategory.Error,"Cannot_use_namespace_0_as_a_value_2708","Cannot use namespace '{0}' as a value."),Cannot_use_namespace_0_as_a_type:diag(2709,e.DiagnosticCategory.Error,"Cannot_use_namespace_0_as_a_type_2709","Cannot use namespace '{0}' as a type."),_0_are_specified_twice_The_attribute_named_0_will_be_overwritten:diag(2710,e.DiagnosticCategory.Error,"_0_are_specified_twice_The_attribute_named_0_will_be_overwritten_2710","'{0}' are specified twice. The attribute named '{0}' will be overwritten."),A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option:diag(2711,e.DiagnosticCategory.Error,"A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES20_2711","A dynamic import call returns a 'Promise'. Make sure you have a declaration for 'Promise' or include 'ES2015' in your `--lib` option."),A_dynamic_import_call_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option:diag(2712,e.DiagnosticCategory.Error,"A_dynamic_import_call_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declarat_2712","A dynamic import call in ES5/ES3 requires the 'Promise' constructor. Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your `--lib` option."),Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_property_1_in_0_with_0_1:diag(2713,e.DiagnosticCategory.Error,"Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_p_2713","Cannot access '{0}.{1}' because '{0}' is a type, but not a namespace. Did you mean to retrieve the type of the property '{1}' in '{0}' with '{0}[\"{1}\"]'?"),The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context:diag(2714,e.DiagnosticCategory.Error,"The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context_2714","The expression of an export assignment must be an identifier or qualified name in an ambient context."),Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor:diag(2715,e.DiagnosticCategory.Error,"Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor_2715","Abstract property '{0}' in class '{1}' cannot be accessed in the constructor."),Type_parameter_0_has_a_circular_default:diag(2716,e.DiagnosticCategory.Error,"Type_parameter_0_has_a_circular_default_2716","Type parameter '{0}' has a circular default."),Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_type_2:diag(2717,e.DiagnosticCategory.Error,"Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_t_2717","Subsequent property declarations must have the same type. Property '{0}' must be of type '{1}', but here has type '{2}'."),Duplicate_declaration_0:diag(2718,e.DiagnosticCategory.Error,"Duplicate_declaration_0_2718","Duplicate declaration '{0}'."),Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated:diag(2719,e.DiagnosticCategory.Error,"Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated_2719","Type '{0}' is not assignable to type '{1}'. Two different types with this name exist, but they are unrelated."),Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclass:diag(2720,e.DiagnosticCategory.Error,"Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclas_2720","Class '{0}' incorrectly implements class '{1}'. Did you mean to extend '{1}' and inherit its members as a subclass?"),Cannot_invoke_an_object_which_is_possibly_null:diag(2721,e.DiagnosticCategory.Error,"Cannot_invoke_an_object_which_is_possibly_null_2721","Cannot invoke an object which is possibly 'null'."),Cannot_invoke_an_object_which_is_possibly_undefined:diag(2722,e.DiagnosticCategory.Error,"Cannot_invoke_an_object_which_is_possibly_undefined_2722","Cannot invoke an object which is possibly 'undefined'."),Cannot_invoke_an_object_which_is_possibly_null_or_undefined:diag(2723,e.DiagnosticCategory.Error,"Cannot_invoke_an_object_which_is_possibly_null_or_undefined_2723","Cannot invoke an object which is possibly 'null' or 'undefined'."),Module_0_has_no_exported_member_1_Did_you_mean_2:diag(2724,e.DiagnosticCategory.Error,"Module_0_has_no_exported_member_1_Did_you_mean_2_2724","Module '{0}' has no exported member '{1}'. Did you mean '{2}'?"),Class_name_cannot_be_Object_when_targeting_ES5_with_module_0:diag(2725,e.DiagnosticCategory.Error,"Class_name_cannot_be_Object_when_targeting_ES5_with_module_0_2725","Class name cannot be 'Object' when targeting ES5 with module {0}."),Cannot_find_lib_definition_for_0:diag(2726,e.DiagnosticCategory.Error,"Cannot_find_lib_definition_for_0_2726","Cannot find lib definition for '{0}'."),Cannot_find_lib_definition_for_0_Did_you_mean_1:diag(2727,e.DiagnosticCategory.Error,"Cannot_find_lib_definition_for_0_Did_you_mean_1_2727","Cannot find lib definition for '{0}'. Did you mean '{1}'?"),_0_is_declared_here:diag(2728,e.DiagnosticCategory.Message,"_0_is_declared_here_2728","'{0}' is declared here."),Property_0_is_used_before_its_initialization:diag(2729,e.DiagnosticCategory.Error,"Property_0_is_used_before_its_initialization_2729","Property '{0}' is used before its initialization."),An_arrow_function_cannot_have_a_this_parameter:diag(2730,e.DiagnosticCategory.Error,"An_arrow_function_cannot_have_a_this_parameter_2730","An arrow function cannot have a 'this' parameter."),Implicit_conversion_of_a_symbol_to_a_string_will_fail_at_runtime_Consider_wrapping_this_expression_in_String:diag(2731,e.DiagnosticCategory.Error,"Implicit_conversion_of_a_symbol_to_a_string_will_fail_at_runtime_Consider_wrapping_this_expression_i_2731","Implicit conversion of a 'symbol' to a 'string' will fail at runtime. Consider wrapping this expression in 'String(...)'."),Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension:diag(2732,e.DiagnosticCategory.Error,"Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension_2732","Cannot find module '{0}'. Consider using '--resolveJsonModule' to import module with '.json' extension"),It_is_highly_likely_that_you_are_missing_a_semicolon:diag(2734,e.DiagnosticCategory.Error,"It_is_highly_likely_that_you_are_missing_a_semicolon_2734","It is highly likely that you are missing a semicolon."),Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1:diag(2735,e.DiagnosticCategory.Error,"Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1_2735","Did you mean for '{0}' to be constrained to type 'new (...args: any[]) => {1}'?"),Operator_0_cannot_be_applied_to_type_1:diag(2736,e.DiagnosticCategory.Error,"Operator_0_cannot_be_applied_to_type_1_2736","Operator '{0}' cannot be applied to type '{1}'."),BigInt_literals_are_not_available_when_targeting_lower_than_ESNext:diag(2737,e.DiagnosticCategory.Error,"BigInt_literals_are_not_available_when_targeting_lower_than_ESNext_2737","BigInt literals are not available when targeting lower than ESNext."),An_outer_value_of_this_is_shadowed_by_this_container:diag(2738,e.DiagnosticCategory.Message,"An_outer_value_of_this_is_shadowed_by_this_container_2738","An outer value of 'this' is shadowed by this container."),Type_0_is_missing_the_following_properties_from_type_1_Colon_2:diag(2739,e.DiagnosticCategory.Error,"Type_0_is_missing_the_following_properties_from_type_1_Colon_2_2739","Type '{0}' is missing the following properties from type '{1}': {2}"),Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more:diag(2740,e.DiagnosticCategory.Error,"Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more_2740","Type '{0}' is missing the following properties from type '{1}': {2}, and {3} more."),Property_0_is_missing_in_type_1_but_required_in_type_2:diag(2741,e.DiagnosticCategory.Error,"Property_0_is_missing_in_type_1_but_required_in_type_2_2741","Property '{0}' is missing in type '{1}' but required in type '{2}'."),The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_annotation_is_necessary:diag(2742,e.DiagnosticCategory.Error,"The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_a_2742","The inferred type of '{0}' cannot be named without a reference to '{1}'. This is likely not portable. A type annotation is necessary."),Import_declaration_0_is_using_private_name_1:diag(4e3,e.DiagnosticCategory.Error,"Import_declaration_0_is_using_private_name_1_4000","Import declaration '{0}' is using private name '{1}'."),Type_parameter_0_of_exported_class_has_or_is_using_private_name_1:diag(4002,e.DiagnosticCategory.Error,"Type_parameter_0_of_exported_class_has_or_is_using_private_name_1_4002","Type parameter '{0}' of exported class has or is using private name '{1}'."),Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1:diag(4004,e.DiagnosticCategory.Error,"Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1_4004","Type parameter '{0}' of exported interface has or is using private name '{1}'."),Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1:diag(4006,e.DiagnosticCategory.Error,"Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4006","Type parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'."),Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1:diag(4008,e.DiagnosticCategory.Error,"Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4008","Type parameter '{0}' of call signature from exported interface has or is using private name '{1}'."),Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:diag(4010,e.DiagnosticCategory.Error,"Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4010","Type parameter '{0}' of public static method from exported class has or is using private name '{1}'."),Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:diag(4012,e.DiagnosticCategory.Error,"Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4012","Type parameter '{0}' of public method from exported class has or is using private name '{1}'."),Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1:diag(4014,e.DiagnosticCategory.Error,"Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4014","Type parameter '{0}' of method from exported interface has or is using private name '{1}'."),Type_parameter_0_of_exported_function_has_or_is_using_private_name_1:diag(4016,e.DiagnosticCategory.Error,"Type_parameter_0_of_exported_function_has_or_is_using_private_name_1_4016","Type parameter '{0}' of exported function has or is using private name '{1}'."),Implements_clause_of_exported_class_0_has_or_is_using_private_name_1:diag(4019,e.DiagnosticCategory.Error,"Implements_clause_of_exported_class_0_has_or_is_using_private_name_1_4019","Implements clause of exported class '{0}' has or is using private name '{1}'."),extends_clause_of_exported_class_0_has_or_is_using_private_name_1:diag(4020,e.DiagnosticCategory.Error,"extends_clause_of_exported_class_0_has_or_is_using_private_name_1_4020","'extends' clause of exported class '{0}' has or is using private name '{1}'."),extends_clause_of_exported_interface_0_has_or_is_using_private_name_1:diag(4022,e.DiagnosticCategory.Error,"extends_clause_of_exported_interface_0_has_or_is_using_private_name_1_4022","'extends' clause of exported interface '{0}' has or is using private name '{1}'."),Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:diag(4023,e.DiagnosticCategory.Error,"Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4023","Exported variable '{0}' has or is using name '{1}' from external module {2} but cannot be named."),Exported_variable_0_has_or_is_using_name_1_from_private_module_2:diag(4024,e.DiagnosticCategory.Error,"Exported_variable_0_has_or_is_using_name_1_from_private_module_2_4024","Exported variable '{0}' has or is using name '{1}' from private module '{2}'."),Exported_variable_0_has_or_is_using_private_name_1:diag(4025,e.DiagnosticCategory.Error,"Exported_variable_0_has_or_is_using_private_name_1_4025","Exported variable '{0}' has or is using private name '{1}'."),Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:diag(4026,e.DiagnosticCategory.Error,"Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot__4026","Public static property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:diag(4027,e.DiagnosticCategory.Error,"Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4027","Public static property '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_static_property_0_of_exported_class_has_or_is_using_private_name_1:diag(4028,e.DiagnosticCategory.Error,"Public_static_property_0_of_exported_class_has_or_is_using_private_name_1_4028","Public static property '{0}' of exported class has or is using private name '{1}'."),Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:diag(4029,e.DiagnosticCategory.Error,"Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_name_4029","Public property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:diag(4030,e.DiagnosticCategory.Error,"Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4030","Public property '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_property_0_of_exported_class_has_or_is_using_private_name_1:diag(4031,e.DiagnosticCategory.Error,"Public_property_0_of_exported_class_has_or_is_using_private_name_1_4031","Public property '{0}' of exported class has or is using private name '{1}'."),Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:diag(4032,e.DiagnosticCategory.Error,"Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2_4032","Property '{0}' of exported interface has or is using name '{1}' from private module '{2}'."),Property_0_of_exported_interface_has_or_is_using_private_name_1:diag(4033,e.DiagnosticCategory.Error,"Property_0_of_exported_interface_has_or_is_using_private_name_1_4033","Property '{0}' of exported interface has or is using private name '{1}'."),Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:diag(4034,e.DiagnosticCategory.Error,"Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_mod_4034","Parameter type of public static setter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1:diag(4035,e.DiagnosticCategory.Error,"Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1_4035","Parameter type of public static setter '{0}' from exported class has or is using private name '{1}'."),Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:diag(4036,e.DiagnosticCategory.Error,"Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2_4036","Parameter type of public setter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1:diag(4037,e.DiagnosticCategory.Error,"Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1_4037","Parameter type of public setter '{0}' from exported class has or is using private name '{1}'."),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:diag(4038,e.DiagnosticCategory.Error,"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_modul_4038","Return type of public static getter '{0}' from exported class has or is using name '{1}' from external module {2} but cannot be named."),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:diag(4039,e.DiagnosticCategory.Error,"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_4039","Return type of public static getter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1:diag(4040,e.DiagnosticCategory.Error,"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1_4040","Return type of public static getter '{0}' from exported class has or is using private name '{1}'."),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:diag(4041,e.DiagnosticCategory.Error,"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_4041","Return type of public getter '{0}' from exported class has or is using name '{1}' from external module {2} but cannot be named."),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:diag(4042,e.DiagnosticCategory.Error,"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2_4042","Return type of public getter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1:diag(4043,e.DiagnosticCategory.Error,"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1_4043","Return type of public getter '{0}' from exported class has or is using private name '{1}'."),Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:diag(4044,e.DiagnosticCategory.Error,"Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_mod_4044","Return type of constructor signature from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0:diag(4045,e.DiagnosticCategory.Error,"Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0_4045","Return type of constructor signature from exported interface has or is using private name '{0}'."),Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:diag(4046,e.DiagnosticCategory.Error,"Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4046","Return type of call signature from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0:diag(4047,e.DiagnosticCategory.Error,"Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0_4047","Return type of call signature from exported interface has or is using private name '{0}'."),Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:diag(4048,e.DiagnosticCategory.Error,"Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4048","Return type of index signature from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0:diag(4049,e.DiagnosticCategory.Error,"Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0_4049","Return type of index signature from exported interface has or is using private name '{0}'."),Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:diag(4050,e.DiagnosticCategory.Error,"Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module__4050","Return type of public static method from exported class has or is using name '{0}' from external module {1} but cannot be named."),Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:diag(4051,e.DiagnosticCategory.Error,"Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4051","Return type of public static method from exported class has or is using name '{0}' from private module '{1}'."),Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0:diag(4052,e.DiagnosticCategory.Error,"Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0_4052","Return type of public static method from exported class has or is using private name '{0}'."),Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:diag(4053,e.DiagnosticCategory.Error,"Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_c_4053","Return type of public method from exported class has or is using name '{0}' from external module {1} but cannot be named."),Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:diag(4054,e.DiagnosticCategory.Error,"Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4054","Return type of public method from exported class has or is using name '{0}' from private module '{1}'."),Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0:diag(4055,e.DiagnosticCategory.Error,"Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0_4055","Return type of public method from exported class has or is using private name '{0}'."),Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1:diag(4056,e.DiagnosticCategory.Error,"Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4056","Return type of method from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0:diag(4057,e.DiagnosticCategory.Error,"Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0_4057","Return type of method from exported interface has or is using private name '{0}'."),Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:diag(4058,e.DiagnosticCategory.Error,"Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named_4058","Return type of exported function has or is using name '{0}' from external module {1} but cannot be named."),Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1:diag(4059,e.DiagnosticCategory.Error,"Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1_4059","Return type of exported function has or is using name '{0}' from private module '{1}'."),Return_type_of_exported_function_has_or_is_using_private_name_0:diag(4060,e.DiagnosticCategory.Error,"Return_type_of_exported_function_has_or_is_using_private_name_0_4060","Return type of exported function has or is using private name '{0}'."),Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:diag(4061,e.DiagnosticCategory.Error,"Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_can_4061","Parameter '{0}' of constructor from exported class has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2:diag(4062,e.DiagnosticCategory.Error,"Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2_4062","Parameter '{0}' of constructor from exported class has or is using name '{1}' from private module '{2}'."),Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1:diag(4063,e.DiagnosticCategory.Error,"Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1_4063","Parameter '{0}' of constructor from exported class has or is using private name '{1}'."),Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:diag(4064,e.DiagnosticCategory.Error,"Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_mod_4064","Parameter '{0}' of constructor signature from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1:diag(4065,e.DiagnosticCategory.Error,"Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4065","Parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'."),Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:diag(4066,e.DiagnosticCategory.Error,"Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4066","Parameter '{0}' of call signature from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1:diag(4067,e.DiagnosticCategory.Error,"Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4067","Parameter '{0}' of call signature from exported interface has or is using private name '{1}'."),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:diag(4068,e.DiagnosticCategory.Error,"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module__4068","Parameter '{0}' of public static method from exported class has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:diag(4069,e.DiagnosticCategory.Error,"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4069","Parameter '{0}' of public static method from exported class has or is using name '{1}' from private module '{2}'."),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:diag(4070,e.DiagnosticCategory.Error,"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4070","Parameter '{0}' of public static method from exported class has or is using private name '{1}'."),Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:diag(4071,e.DiagnosticCategory.Error,"Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_c_4071","Parameter '{0}' of public method from exported class has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:diag(4072,e.DiagnosticCategory.Error,"Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4072","Parameter '{0}' of public method from exported class has or is using name '{1}' from private module '{2}'."),Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:diag(4073,e.DiagnosticCategory.Error,"Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4073","Parameter '{0}' of public method from exported class has or is using private name '{1}'."),Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2:diag(4074,e.DiagnosticCategory.Error,"Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4074","Parameter '{0}' of method from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1:diag(4075,e.DiagnosticCategory.Error,"Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4075","Parameter '{0}' of method from exported interface has or is using private name '{1}'."),Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:diag(4076,e.DiagnosticCategory.Error,"Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4076","Parameter '{0}' of exported function has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2:diag(4077,e.DiagnosticCategory.Error,"Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2_4077","Parameter '{0}' of exported function has or is using name '{1}' from private module '{2}'."),Parameter_0_of_exported_function_has_or_is_using_private_name_1:diag(4078,e.DiagnosticCategory.Error,"Parameter_0_of_exported_function_has_or_is_using_private_name_1_4078","Parameter '{0}' of exported function has or is using private name '{1}'."),Exported_type_alias_0_has_or_is_using_private_name_1:diag(4081,e.DiagnosticCategory.Error,"Exported_type_alias_0_has_or_is_using_private_name_1_4081","Exported type alias '{0}' has or is using private name '{1}'."),Default_export_of_the_module_has_or_is_using_private_name_0:diag(4082,e.DiagnosticCategory.Error,"Default_export_of_the_module_has_or_is_using_private_name_0_4082","Default export of the module has or is using private name '{0}'."),Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1:diag(4083,e.DiagnosticCategory.Error,"Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1_4083","Type parameter '{0}' of exported type alias has or is using private name '{1}'."),Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_library_to_resolve_the_conflict:diag(4090,e.DiagnosticCategory.Error,"Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_librar_4090","Conflicting definitions for '{0}' found at '{1}' and '{2}'. Consider installing a specific version of this library to resolve the conflict."),Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:diag(4091,e.DiagnosticCategory.Error,"Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4091","Parameter '{0}' of index signature from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1:diag(4092,e.DiagnosticCategory.Error,"Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1_4092","Parameter '{0}' of index signature from exported interface has or is using private name '{1}'."),Property_0_of_exported_class_expression_may_not_be_private_or_protected:diag(4094,e.DiagnosticCategory.Error,"Property_0_of_exported_class_expression_may_not_be_private_or_protected_4094","Property '{0}' of exported class expression may not be private or protected."),Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:diag(4095,e.DiagnosticCategory.Error,"Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_4095","Public static method '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:diag(4096,e.DiagnosticCategory.Error,"Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4096","Public static method '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_static_method_0_of_exported_class_has_or_is_using_private_name_1:diag(4097,e.DiagnosticCategory.Error,"Public_static_method_0_of_exported_class_has_or_is_using_private_name_1_4097","Public static method '{0}' of exported class has or is using private name '{1}'."),Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:diag(4098,e.DiagnosticCategory.Error,"Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4098","Public method '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:diag(4099,e.DiagnosticCategory.Error,"Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4099","Public method '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_method_0_of_exported_class_has_or_is_using_private_name_1:diag(4100,e.DiagnosticCategory.Error,"Public_method_0_of_exported_class_has_or_is_using_private_name_1_4100","Public method '{0}' of exported class has or is using private name '{1}'."),Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:diag(4101,e.DiagnosticCategory.Error,"Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2_4101","Method '{0}' of exported interface has or is using name '{1}' from private module '{2}'."),Method_0_of_exported_interface_has_or_is_using_private_name_1:diag(4102,e.DiagnosticCategory.Error,"Method_0_of_exported_interface_has_or_is_using_private_name_1_4102","Method '{0}' of exported interface has or is using private name '{1}'."),The_current_host_does_not_support_the_0_option:diag(5001,e.DiagnosticCategory.Error,"The_current_host_does_not_support_the_0_option_5001","The current host does not support the '{0}' option."),Cannot_find_the_common_subdirectory_path_for_the_input_files:diag(5009,e.DiagnosticCategory.Error,"Cannot_find_the_common_subdirectory_path_for_the_input_files_5009","Cannot find the common subdirectory path for the input files."),File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0:diag(5010,e.DiagnosticCategory.Error,"File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0_5010","File specification cannot end in a recursive directory wildcard ('**'): '{0}'."),Cannot_read_file_0_Colon_1:diag(5012,e.DiagnosticCategory.Error,"Cannot_read_file_0_Colon_1_5012","Cannot read file '{0}': {1}."),Failed_to_parse_file_0_Colon_1:diag(5014,e.DiagnosticCategory.Error,"Failed_to_parse_file_0_Colon_1_5014","Failed to parse file '{0}': {1}."),Unknown_compiler_option_0:diag(5023,e.DiagnosticCategory.Error,"Unknown_compiler_option_0_5023","Unknown compiler option '{0}'."),Compiler_option_0_requires_a_value_of_type_1:diag(5024,e.DiagnosticCategory.Error,"Compiler_option_0_requires_a_value_of_type_1_5024","Compiler option '{0}' requires a value of type {1}."),Could_not_write_file_0_Colon_1:diag(5033,e.DiagnosticCategory.Error,"Could_not_write_file_0_Colon_1_5033","Could not write file '{0}': {1}."),Option_project_cannot_be_mixed_with_source_files_on_a_command_line:diag(5042,e.DiagnosticCategory.Error,"Option_project_cannot_be_mixed_with_source_files_on_a_command_line_5042","Option 'project' cannot be mixed with source files on a command line."),Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES2015_or_higher:diag(5047,e.DiagnosticCategory.Error,"Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES_5047","Option 'isolatedModules' can only be used when either option '--module' is provided or option 'target' is 'ES2015' or higher."),Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided:diag(5051,e.DiagnosticCategory.Error,"Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided_5051","Option '{0} can only be used when either option '--inlineSourceMap' or option '--sourceMap' is provided."),Option_0_cannot_be_specified_without_specifying_option_1:diag(5052,e.DiagnosticCategory.Error,"Option_0_cannot_be_specified_without_specifying_option_1_5052","Option '{0}' cannot be specified without specifying option '{1}'."),Option_0_cannot_be_specified_with_option_1:diag(5053,e.DiagnosticCategory.Error,"Option_0_cannot_be_specified_with_option_1_5053","Option '{0}' cannot be specified with option '{1}'."),A_tsconfig_json_file_is_already_defined_at_Colon_0:diag(5054,e.DiagnosticCategory.Error,"A_tsconfig_json_file_is_already_defined_at_Colon_0_5054","A 'tsconfig.json' file is already defined at: '{0}'."),Cannot_write_file_0_because_it_would_overwrite_input_file:diag(5055,e.DiagnosticCategory.Error,"Cannot_write_file_0_because_it_would_overwrite_input_file_5055","Cannot write file '{0}' because it would overwrite input file."),Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files:diag(5056,e.DiagnosticCategory.Error,"Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files_5056","Cannot write file '{0}' because it would be overwritten by multiple input files."),Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0:diag(5057,e.DiagnosticCategory.Error,"Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0_5057","Cannot find a tsconfig.json file at the specified directory: '{0}'."),The_specified_path_does_not_exist_Colon_0:diag(5058,e.DiagnosticCategory.Error,"The_specified_path_does_not_exist_Colon_0_5058","The specified path does not exist: '{0}'."),Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier:diag(5059,e.DiagnosticCategory.Error,"Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier_5059","Invalid value for '--reactNamespace'. '{0}' is not a valid identifier."),Option_paths_cannot_be_used_without_specifying_baseUrl_option:diag(5060,e.DiagnosticCategory.Error,"Option_paths_cannot_be_used_without_specifying_baseUrl_option_5060","Option 'paths' cannot be used without specifying '--baseUrl' option."),Pattern_0_can_have_at_most_one_Asterisk_character:diag(5061,e.DiagnosticCategory.Error,"Pattern_0_can_have_at_most_one_Asterisk_character_5061","Pattern '{0}' can have at most one '*' character."),Substitution_0_in_pattern_1_in_can_have_at_most_one_Asterisk_character:diag(5062,e.DiagnosticCategory.Error,"Substitution_0_in_pattern_1_in_can_have_at_most_one_Asterisk_character_5062","Substitution '{0}' in pattern '{1}' in can have at most one '*' character."),Substitutions_for_pattern_0_should_be_an_array:diag(5063,e.DiagnosticCategory.Error,"Substitutions_for_pattern_0_should_be_an_array_5063","Substitutions for pattern '{0}' should be an array."),Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2:diag(5064,e.DiagnosticCategory.Error,"Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2_5064","Substitution '{0}' for pattern '{1}' has incorrect type, expected 'string', got '{2}'."),File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0:diag(5065,e.DiagnosticCategory.Error,"File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildca_5065","File specification cannot contain a parent directory ('..') that appears after a recursive directory wildcard ('**'): '{0}'."),Substitutions_for_pattern_0_shouldn_t_be_an_empty_array:diag(5066,e.DiagnosticCategory.Error,"Substitutions_for_pattern_0_shouldn_t_be_an_empty_array_5066","Substitutions for pattern '{0}' shouldn't be an empty array."),Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name:diag(5067,e.DiagnosticCategory.Error,"Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name_5067","Invalid value for 'jsxFactory'. '{0}' is not a valid identifier or qualified-name."),Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript_files_Learn_more_at_https_Colon_Slash_Slashaka_ms_Slashtsconfig:diag(5068,e.DiagnosticCategory.Error,"Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript__5068","Adding a tsconfig.json file will help organize projects that contain both TypeScript and JavaScript files. Learn more at https://aka.ms/tsconfig."),Option_0_cannot_be_specified_without_specifying_option_1_or_option_2:diag(5069,e.DiagnosticCategory.Error,"Option_0_cannot_be_specified_without_specifying_option_1_or_option_2_5069","Option '{0}' cannot be specified without specifying option '{1}' or option '{2}'."),Option_resolveJsonModule_cannot_be_specified_without_node_module_resolution_strategy:diag(5070,e.DiagnosticCategory.Error,"Option_resolveJsonModule_cannot_be_specified_without_node_module_resolution_strategy_5070","Option '--resolveJsonModule' cannot be specified without 'node' module resolution strategy."),Option_resolveJsonModule_can_only_be_specified_when_module_code_generation_is_commonjs_amd_es2015_or_esNext:diag(5071,e.DiagnosticCategory.Error,"Option_resolveJsonModule_can_only_be_specified_when_module_code_generation_is_commonjs_amd_es2015_or_5071","Option '--resolveJsonModule' can only be specified when module code generation is 'commonjs', 'amd', 'es2015' or 'esNext'."),Unknown_build_option_0:diag(5072,e.DiagnosticCategory.Error,"Unknown_build_option_0_5072","Unknown build option '{0}'."),Build_option_0_requires_a_value_of_type_1:diag(5073,e.DiagnosticCategory.Error,"Build_option_0_requires_a_value_of_type_1_5073","Build option '{0}' requires a value of type {1}."),Generates_a_sourcemap_for_each_corresponding_d_ts_file:diag(6e3,e.DiagnosticCategory.Message,"Generates_a_sourcemap_for_each_corresponding_d_ts_file_6000","Generates a sourcemap for each corresponding '.d.ts' file."),Concatenate_and_emit_output_to_single_file:diag(6001,e.DiagnosticCategory.Message,"Concatenate_and_emit_output_to_single_file_6001","Concatenate and emit output to single file."),Generates_corresponding_d_ts_file:diag(6002,e.DiagnosticCategory.Message,"Generates_corresponding_d_ts_file_6002","Generates corresponding '.d.ts' file."),Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations:diag(6003,e.DiagnosticCategory.Message,"Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations_6003","Specify the location where debugger should locate map files instead of generated locations."),Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations:diag(6004,e.DiagnosticCategory.Message,"Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations_6004","Specify the location where debugger should locate TypeScript files instead of source locations."),Watch_input_files:diag(6005,e.DiagnosticCategory.Message,"Watch_input_files_6005","Watch input files."),Redirect_output_structure_to_the_directory:diag(6006,e.DiagnosticCategory.Message,"Redirect_output_structure_to_the_directory_6006","Redirect output structure to the directory."),Do_not_erase_const_enum_declarations_in_generated_code:diag(6007,e.DiagnosticCategory.Message,"Do_not_erase_const_enum_declarations_in_generated_code_6007","Do not erase const enum declarations in generated code."),Do_not_emit_outputs_if_any_errors_were_reported:diag(6008,e.DiagnosticCategory.Message,"Do_not_emit_outputs_if_any_errors_were_reported_6008","Do not emit outputs if any errors were reported."),Do_not_emit_comments_to_output:diag(6009,e.DiagnosticCategory.Message,"Do_not_emit_comments_to_output_6009","Do not emit comments to output."),Do_not_emit_outputs:diag(6010,e.DiagnosticCategory.Message,"Do_not_emit_outputs_6010","Do not emit outputs."),Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typechecking:diag(6011,e.DiagnosticCategory.Message,"Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typech_6011","Allow default imports from modules with no default export. This does not affect code emit, just typechecking."),Skip_type_checking_of_declaration_files:diag(6012,e.DiagnosticCategory.Message,"Skip_type_checking_of_declaration_files_6012","Skip type checking of declaration files."),Do_not_resolve_the_real_path_of_symlinks:diag(6013,e.DiagnosticCategory.Message,"Do_not_resolve_the_real_path_of_symlinks_6013","Do not resolve the real path of symlinks."),Only_emit_d_ts_declaration_files:diag(6014,e.DiagnosticCategory.Message,"Only_emit_d_ts_declaration_files_6014","Only emit '.d.ts' declaration files."),Specify_ECMAScript_target_version_Colon_ES3_default_ES5_ES2015_ES2016_ES2017_ES2018_or_ESNEXT:diag(6015,e.DiagnosticCategory.Message,"Specify_ECMAScript_target_version_Colon_ES3_default_ES5_ES2015_ES2016_ES2017_ES2018_or_ESNEXT_6015","Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017','ES2018' or 'ESNEXT'."),Specify_module_code_generation_Colon_none_commonjs_amd_system_umd_es2015_or_ESNext:diag(6016,e.DiagnosticCategory.Message,"Specify_module_code_generation_Colon_none_commonjs_amd_system_umd_es2015_or_ESNext_6016","Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'."),Print_this_message:diag(6017,e.DiagnosticCategory.Message,"Print_this_message_6017","Print this message."),Print_the_compiler_s_version:diag(6019,e.DiagnosticCategory.Message,"Print_the_compiler_s_version_6019","Print the compiler's version."),Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json:diag(6020,e.DiagnosticCategory.Message,"Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json_6020","Compile the project given the path to its configuration file, or to a folder with a 'tsconfig.json'."),Syntax_Colon_0:diag(6023,e.DiagnosticCategory.Message,"Syntax_Colon_0_6023","Syntax: {0}"),options:diag(6024,e.DiagnosticCategory.Message,"options_6024","options"),file:diag(6025,e.DiagnosticCategory.Message,"file_6025","file"),Examples_Colon_0:diag(6026,e.DiagnosticCategory.Message,"Examples_Colon_0_6026","Examples: {0}"),Options_Colon:diag(6027,e.DiagnosticCategory.Message,"Options_Colon_6027","Options:"),Version_0:diag(6029,e.DiagnosticCategory.Message,"Version_0_6029","Version {0}"),Insert_command_line_options_and_files_from_a_file:diag(6030,e.DiagnosticCategory.Message,"Insert_command_line_options_and_files_from_a_file_6030","Insert command line options and files from a file."),Starting_compilation_in_watch_mode:diag(6031,e.DiagnosticCategory.Message,"Starting_compilation_in_watch_mode_6031","Starting compilation in watch mode..."),File_change_detected_Starting_incremental_compilation:diag(6032,e.DiagnosticCategory.Message,"File_change_detected_Starting_incremental_compilation_6032","File change detected. Starting incremental compilation..."),KIND:diag(6034,e.DiagnosticCategory.Message,"KIND_6034","KIND"),FILE:diag(6035,e.DiagnosticCategory.Message,"FILE_6035","FILE"),VERSION:diag(6036,e.DiagnosticCategory.Message,"VERSION_6036","VERSION"),LOCATION:diag(6037,e.DiagnosticCategory.Message,"LOCATION_6037","LOCATION"),DIRECTORY:diag(6038,e.DiagnosticCategory.Message,"DIRECTORY_6038","DIRECTORY"),STRATEGY:diag(6039,e.DiagnosticCategory.Message,"STRATEGY_6039","STRATEGY"),FILE_OR_DIRECTORY:diag(6040,e.DiagnosticCategory.Message,"FILE_OR_DIRECTORY_6040","FILE OR DIRECTORY"),Generates_corresponding_map_file:diag(6043,e.DiagnosticCategory.Message,"Generates_corresponding_map_file_6043","Generates corresponding '.map' file."),Compiler_option_0_expects_an_argument:diag(6044,e.DiagnosticCategory.Error,"Compiler_option_0_expects_an_argument_6044","Compiler option '{0}' expects an argument."),Unterminated_quoted_string_in_response_file_0:diag(6045,e.DiagnosticCategory.Error,"Unterminated_quoted_string_in_response_file_0_6045","Unterminated quoted string in response file '{0}'."),Argument_for_0_option_must_be_Colon_1:diag(6046,e.DiagnosticCategory.Error,"Argument_for_0_option_must_be_Colon_1_6046","Argument for '{0}' option must be: {1}."),Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1:diag(6048,e.DiagnosticCategory.Error,"Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1_6048","Locale must be of the form or -. For example '{0}' or '{1}'."),Unsupported_locale_0:diag(6049,e.DiagnosticCategory.Error,"Unsupported_locale_0_6049","Unsupported locale '{0}'."),Unable_to_open_file_0:diag(6050,e.DiagnosticCategory.Error,"Unable_to_open_file_0_6050","Unable to open file '{0}'."),Corrupted_locale_file_0:diag(6051,e.DiagnosticCategory.Error,"Corrupted_locale_file_0_6051","Corrupted locale file {0}."),Raise_error_on_expressions_and_declarations_with_an_implied_any_type:diag(6052,e.DiagnosticCategory.Message,"Raise_error_on_expressions_and_declarations_with_an_implied_any_type_6052","Raise error on expressions and declarations with an implied 'any' type."),File_0_not_found:diag(6053,e.DiagnosticCategory.Error,"File_0_not_found_6053","File '{0}' not found."),File_0_has_unsupported_extension_The_only_supported_extensions_are_1:diag(6054,e.DiagnosticCategory.Error,"File_0_has_unsupported_extension_The_only_supported_extensions_are_1_6054","File '{0}' has unsupported extension. The only supported extensions are {1}."),Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures:diag(6055,e.DiagnosticCategory.Message,"Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures_6055","Suppress noImplicitAny errors for indexing objects lacking index signatures."),Do_not_emit_declarations_for_code_that_has_an_internal_annotation:diag(6056,e.DiagnosticCategory.Message,"Do_not_emit_declarations_for_code_that_has_an_internal_annotation_6056","Do not emit declarations for code that has an '@internal' annotation."),Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir:diag(6058,e.DiagnosticCategory.Message,"Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir_6058","Specify the root directory of input files. Use to control the output directory structure with --outDir."),File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files:diag(6059,e.DiagnosticCategory.Error,"File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files_6059","File '{0}' is not under 'rootDir' '{1}'. 'rootDir' is expected to contain all source files."),Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix:diag(6060,e.DiagnosticCategory.Message,"Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix_6060","Specify the end of line sequence to be used when emitting files: 'CRLF' (dos) or 'LF' (unix)."),NEWLINE:diag(6061,e.DiagnosticCategory.Message,"NEWLINE_6061","NEWLINE"),Option_0_can_only_be_specified_in_tsconfig_json_file:diag(6064,e.DiagnosticCategory.Error,"Option_0_can_only_be_specified_in_tsconfig_json_file_6064","Option '{0}' can only be specified in 'tsconfig.json' file."),Enables_experimental_support_for_ES7_decorators:diag(6065,e.DiagnosticCategory.Message,"Enables_experimental_support_for_ES7_decorators_6065","Enables experimental support for ES7 decorators."),Enables_experimental_support_for_emitting_type_metadata_for_decorators:diag(6066,e.DiagnosticCategory.Message,"Enables_experimental_support_for_emitting_type_metadata_for_decorators_6066","Enables experimental support for emitting type metadata for decorators."),Enables_experimental_support_for_ES7_async_functions:diag(6068,e.DiagnosticCategory.Message,"Enables_experimental_support_for_ES7_async_functions_6068","Enables experimental support for ES7 async functions."),Specify_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6:diag(6069,e.DiagnosticCategory.Message,"Specify_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6_6069","Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6)."),Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file:diag(6070,e.DiagnosticCategory.Message,"Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file_6070","Initializes a TypeScript project and creates a tsconfig.json file."),Successfully_created_a_tsconfig_json_file:diag(6071,e.DiagnosticCategory.Message,"Successfully_created_a_tsconfig_json_file_6071","Successfully created a tsconfig.json file."),Suppress_excess_property_checks_for_object_literals:diag(6072,e.DiagnosticCategory.Message,"Suppress_excess_property_checks_for_object_literals_6072","Suppress excess property checks for object literals."),Stylize_errors_and_messages_using_color_and_context_experimental:diag(6073,e.DiagnosticCategory.Message,"Stylize_errors_and_messages_using_color_and_context_experimental_6073","Stylize errors and messages using color and context (experimental)."),Do_not_report_errors_on_unused_labels:diag(6074,e.DiagnosticCategory.Message,"Do_not_report_errors_on_unused_labels_6074","Do not report errors on unused labels."),Report_error_when_not_all_code_paths_in_function_return_a_value:diag(6075,e.DiagnosticCategory.Message,"Report_error_when_not_all_code_paths_in_function_return_a_value_6075","Report error when not all code paths in function return a value."),Report_errors_for_fallthrough_cases_in_switch_statement:diag(6076,e.DiagnosticCategory.Message,"Report_errors_for_fallthrough_cases_in_switch_statement_6076","Report errors for fallthrough cases in switch statement."),Do_not_report_errors_on_unreachable_code:diag(6077,e.DiagnosticCategory.Message,"Do_not_report_errors_on_unreachable_code_6077","Do not report errors on unreachable code."),Disallow_inconsistently_cased_references_to_the_same_file:diag(6078,e.DiagnosticCategory.Message,"Disallow_inconsistently_cased_references_to_the_same_file_6078","Disallow inconsistently-cased references to the same file."),Specify_library_files_to_be_included_in_the_compilation:diag(6079,e.DiagnosticCategory.Message,"Specify_library_files_to_be_included_in_the_compilation_6079","Specify library files to be included in the compilation."),Specify_JSX_code_generation_Colon_preserve_react_native_or_react:diag(6080,e.DiagnosticCategory.Message,"Specify_JSX_code_generation_Colon_preserve_react_native_or_react_6080","Specify JSX code generation: 'preserve', 'react-native', or 'react'."),File_0_has_an_unsupported_extension_so_skipping_it:diag(6081,e.DiagnosticCategory.Message,"File_0_has_an_unsupported_extension_so_skipping_it_6081","File '{0}' has an unsupported extension, so skipping it."),Only_amd_and_system_modules_are_supported_alongside_0:diag(6082,e.DiagnosticCategory.Error,"Only_amd_and_system_modules_are_supported_alongside_0_6082","Only 'amd' and 'system' modules are supported alongside --{0}."),Base_directory_to_resolve_non_absolute_module_names:diag(6083,e.DiagnosticCategory.Message,"Base_directory_to_resolve_non_absolute_module_names_6083","Base directory to resolve non-absolute module names."),Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react_JSX_emit:diag(6084,e.DiagnosticCategory.Message,"Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react__6084","[Deprecated] Use '--jsxFactory' instead. Specify the object invoked for createElement when targeting 'react' JSX emit"),Enable_tracing_of_the_name_resolution_process:diag(6085,e.DiagnosticCategory.Message,"Enable_tracing_of_the_name_resolution_process_6085","Enable tracing of the name resolution process."),Resolving_module_0_from_1:diag(6086,e.DiagnosticCategory.Message,"Resolving_module_0_from_1_6086","======== Resolving module '{0}' from '{1}'. ========"),Explicitly_specified_module_resolution_kind_Colon_0:diag(6087,e.DiagnosticCategory.Message,"Explicitly_specified_module_resolution_kind_Colon_0_6087","Explicitly specified module resolution kind: '{0}'."),Module_resolution_kind_is_not_specified_using_0:diag(6088,e.DiagnosticCategory.Message,"Module_resolution_kind_is_not_specified_using_0_6088","Module resolution kind is not specified, using '{0}'."),Module_name_0_was_successfully_resolved_to_1:diag(6089,e.DiagnosticCategory.Message,"Module_name_0_was_successfully_resolved_to_1_6089","======== Module name '{0}' was successfully resolved to '{1}'. ========"),Module_name_0_was_not_resolved:diag(6090,e.DiagnosticCategory.Message,"Module_name_0_was_not_resolved_6090","======== Module name '{0}' was not resolved. ========"),paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0:diag(6091,e.DiagnosticCategory.Message,"paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0_6091","'paths' option is specified, looking for a pattern to match module name '{0}'."),Module_name_0_matched_pattern_1:diag(6092,e.DiagnosticCategory.Message,"Module_name_0_matched_pattern_1_6092","Module name '{0}', matched pattern '{1}'."),Trying_substitution_0_candidate_module_location_Colon_1:diag(6093,e.DiagnosticCategory.Message,"Trying_substitution_0_candidate_module_location_Colon_1_6093","Trying substitution '{0}', candidate module location: '{1}'."),Resolving_module_name_0_relative_to_base_url_1_2:diag(6094,e.DiagnosticCategory.Message,"Resolving_module_name_0_relative_to_base_url_1_2_6094","Resolving module name '{0}' relative to base url '{1}' - '{2}'."),Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_type_1:diag(6095,e.DiagnosticCategory.Message,"Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_type_1_6095","Loading module as file / folder, candidate module location '{0}', target file type '{1}'."),File_0_does_not_exist:diag(6096,e.DiagnosticCategory.Message,"File_0_does_not_exist_6096","File '{0}' does not exist."),File_0_exist_use_it_as_a_name_resolution_result:diag(6097,e.DiagnosticCategory.Message,"File_0_exist_use_it_as_a_name_resolution_result_6097","File '{0}' exist - use it as a name resolution result."),Loading_module_0_from_node_modules_folder_target_file_type_1:diag(6098,e.DiagnosticCategory.Message,"Loading_module_0_from_node_modules_folder_target_file_type_1_6098","Loading module '{0}' from 'node_modules' folder, target file type '{1}'."),Found_package_json_at_0:diag(6099,e.DiagnosticCategory.Message,"Found_package_json_at_0_6099","Found 'package.json' at '{0}'."),package_json_does_not_have_a_0_field:diag(6100,e.DiagnosticCategory.Message,"package_json_does_not_have_a_0_field_6100","'package.json' does not have a '{0}' field."),package_json_has_0_field_1_that_references_2:diag(6101,e.DiagnosticCategory.Message,"package_json_has_0_field_1_that_references_2_6101","'package.json' has '{0}' field '{1}' that references '{2}'."),Allow_javascript_files_to_be_compiled:diag(6102,e.DiagnosticCategory.Message,"Allow_javascript_files_to_be_compiled_6102","Allow javascript files to be compiled."),Option_0_should_have_array_of_strings_as_a_value:diag(6103,e.DiagnosticCategory.Error,"Option_0_should_have_array_of_strings_as_a_value_6103","Option '{0}' should have array of strings as a value."),Checking_if_0_is_the_longest_matching_prefix_for_1_2:diag(6104,e.DiagnosticCategory.Message,"Checking_if_0_is_the_longest_matching_prefix_for_1_2_6104","Checking if '{0}' is the longest matching prefix for '{1}' - '{2}'."),Expected_type_of_0_field_in_package_json_to_be_1_got_2:diag(6105,e.DiagnosticCategory.Message,"Expected_type_of_0_field_in_package_json_to_be_1_got_2_6105","Expected type of '{0}' field in 'package.json' to be '{1}', got '{2}'."),baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1:diag(6106,e.DiagnosticCategory.Message,"baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1_6106","'baseUrl' option is set to '{0}', using this value to resolve non-relative module name '{1}'."),rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0:diag(6107,e.DiagnosticCategory.Message,"rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0_6107","'rootDirs' option is set, using it to resolve relative module name '{0}'."),Longest_matching_prefix_for_0_is_1:diag(6108,e.DiagnosticCategory.Message,"Longest_matching_prefix_for_0_is_1_6108","Longest matching prefix for '{0}' is '{1}'."),Loading_0_from_the_root_dir_1_candidate_location_2:diag(6109,e.DiagnosticCategory.Message,"Loading_0_from_the_root_dir_1_candidate_location_2_6109","Loading '{0}' from the root dir '{1}', candidate location '{2}'."),Trying_other_entries_in_rootDirs:diag(6110,e.DiagnosticCategory.Message,"Trying_other_entries_in_rootDirs_6110","Trying other entries in 'rootDirs'."),Module_resolution_using_rootDirs_has_failed:diag(6111,e.DiagnosticCategory.Message,"Module_resolution_using_rootDirs_has_failed_6111","Module resolution using 'rootDirs' has failed."),Do_not_emit_use_strict_directives_in_module_output:diag(6112,e.DiagnosticCategory.Message,"Do_not_emit_use_strict_directives_in_module_output_6112","Do not emit 'use strict' directives in module output."),Enable_strict_null_checks:diag(6113,e.DiagnosticCategory.Message,"Enable_strict_null_checks_6113","Enable strict null checks."),Unknown_option_excludes_Did_you_mean_exclude:diag(6114,e.DiagnosticCategory.Error,"Unknown_option_excludes_Did_you_mean_exclude_6114","Unknown option 'excludes'. Did you mean 'exclude'?"),Raise_error_on_this_expressions_with_an_implied_any_type:diag(6115,e.DiagnosticCategory.Message,"Raise_error_on_this_expressions_with_an_implied_any_type_6115","Raise error on 'this' expressions with an implied 'any' type."),Resolving_type_reference_directive_0_containing_file_1_root_directory_2:diag(6116,e.DiagnosticCategory.Message,"Resolving_type_reference_directive_0_containing_file_1_root_directory_2_6116","======== Resolving type reference directive '{0}', containing file '{1}', root directory '{2}'. ========"),Resolving_using_primary_search_paths:diag(6117,e.DiagnosticCategory.Message,"Resolving_using_primary_search_paths_6117","Resolving using primary search paths..."),Resolving_from_node_modules_folder:diag(6118,e.DiagnosticCategory.Message,"Resolving_from_node_modules_folder_6118","Resolving from node_modules folder..."),Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2:diag(6119,e.DiagnosticCategory.Message,"Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2_6119","======== Type reference directive '{0}' was successfully resolved to '{1}', primary: {2}. ========"),Type_reference_directive_0_was_not_resolved:diag(6120,e.DiagnosticCategory.Message,"Type_reference_directive_0_was_not_resolved_6120","======== Type reference directive '{0}' was not resolved. ========"),Resolving_with_primary_search_path_0:diag(6121,e.DiagnosticCategory.Message,"Resolving_with_primary_search_path_0_6121","Resolving with primary search path '{0}'."),Root_directory_cannot_be_determined_skipping_primary_search_paths:diag(6122,e.DiagnosticCategory.Message,"Root_directory_cannot_be_determined_skipping_primary_search_paths_6122","Root directory cannot be determined, skipping primary search paths."),Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set:diag(6123,e.DiagnosticCategory.Message,"Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set_6123","======== Resolving type reference directive '{0}', containing file '{1}', root directory not set. ========"),Type_declaration_files_to_be_included_in_compilation:diag(6124,e.DiagnosticCategory.Message,"Type_declaration_files_to_be_included_in_compilation_6124","Type declaration files to be included in compilation."),Looking_up_in_node_modules_folder_initial_location_0:diag(6125,e.DiagnosticCategory.Message,"Looking_up_in_node_modules_folder_initial_location_0_6125","Looking up in 'node_modules' folder, initial location '{0}'."),Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_modules_folder:diag(6126,e.DiagnosticCategory.Message,"Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_mod_6126","Containing file is not specified and root directory cannot be determined, skipping lookup in 'node_modules' folder."),Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1:diag(6127,e.DiagnosticCategory.Message,"Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1_6127","======== Resolving type reference directive '{0}', containing file not set, root directory '{1}'. ========"),Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set:diag(6128,e.DiagnosticCategory.Message,"Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set_6128","======== Resolving type reference directive '{0}', containing file not set, root directory not set. ========"),Resolving_real_path_for_0_result_1:diag(6130,e.DiagnosticCategory.Message,"Resolving_real_path_for_0_result_1_6130","Resolving real path for '{0}', result '{1}'."),Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system:diag(6131,e.DiagnosticCategory.Error,"Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system_6131","Cannot compile modules using option '{0}' unless the '--module' flag is 'amd' or 'system'."),File_name_0_has_a_1_extension_stripping_it:diag(6132,e.DiagnosticCategory.Message,"File_name_0_has_a_1_extension_stripping_it_6132","File name '{0}' has a '{1}' extension - stripping it."),_0_is_declared_but_its_value_is_never_read:diag(6133,e.DiagnosticCategory.Error,"_0_is_declared_but_its_value_is_never_read_6133","'{0}' is declared but its value is never read.",true),Report_errors_on_unused_locals:diag(6134,e.DiagnosticCategory.Message,"Report_errors_on_unused_locals_6134","Report errors on unused locals."),Report_errors_on_unused_parameters:diag(6135,e.DiagnosticCategory.Message,"Report_errors_on_unused_parameters_6135","Report errors on unused parameters."),The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files:diag(6136,e.DiagnosticCategory.Message,"The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files_6136","The maximum dependency depth to search under node_modules and load JavaScript files."),Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1:diag(6137,e.DiagnosticCategory.Error,"Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1_6137","Cannot import type declaration files. Consider importing '{0}' instead of '{1}'."),Property_0_is_declared_but_its_value_is_never_read:diag(6138,e.DiagnosticCategory.Error,"Property_0_is_declared_but_its_value_is_never_read_6138","Property '{0}' is declared but its value is never read.",true),Import_emit_helpers_from_tslib:diag(6139,e.DiagnosticCategory.Message,"Import_emit_helpers_from_tslib_6139","Import emit helpers from 'tslib'."),Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using_cache_location_2:diag(6140,e.DiagnosticCategory.Error,"Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using__6140","Auto discovery for typings is enabled in project '{0}'. Running extra resolution pass for module '{1}' using cache location '{2}'."),Parse_in_strict_mode_and_emit_use_strict_for_each_source_file:diag(6141,e.DiagnosticCategory.Message,"Parse_in_strict_mode_and_emit_use_strict_for_each_source_file_6141",'Parse in strict mode and emit "use strict" for each source file.'),Module_0_was_resolved_to_1_but_jsx_is_not_set:diag(6142,e.DiagnosticCategory.Error,"Module_0_was_resolved_to_1_but_jsx_is_not_set_6142","Module '{0}' was resolved to '{1}', but '--jsx' is not set."),Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1:diag(6144,e.DiagnosticCategory.Message,"Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1_6144","Module '{0}' was resolved as locally declared ambient module in file '{1}'."),Module_0_was_resolved_as_ambient_module_declared_in_1_since_this_file_was_not_modified:diag(6145,e.DiagnosticCategory.Message,"Module_0_was_resolved_as_ambient_module_declared_in_1_since_this_file_was_not_modified_6145","Module '{0}' was resolved as ambient module declared in '{1}' since this file was not modified."),Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h:diag(6146,e.DiagnosticCategory.Message,"Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h_6146","Specify the JSX factory function to use when targeting 'react' JSX emit, e.g. 'React.createElement' or 'h'."),Resolution_for_module_0_was_found_in_cache_from_location_1:diag(6147,e.DiagnosticCategory.Message,"Resolution_for_module_0_was_found_in_cache_from_location_1_6147","Resolution for module '{0}' was found in cache from location '{1}'."),Directory_0_does_not_exist_skipping_all_lookups_in_it:diag(6148,e.DiagnosticCategory.Message,"Directory_0_does_not_exist_skipping_all_lookups_in_it_6148","Directory '{0}' does not exist, skipping all lookups in it."),Show_diagnostic_information:diag(6149,e.DiagnosticCategory.Message,"Show_diagnostic_information_6149","Show diagnostic information."),Show_verbose_diagnostic_information:diag(6150,e.DiagnosticCategory.Message,"Show_verbose_diagnostic_information_6150","Show verbose diagnostic information."),Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file:diag(6151,e.DiagnosticCategory.Message,"Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file_6151","Emit a single file with source maps instead of having a separate file."),Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap_to_be_set:diag(6152,e.DiagnosticCategory.Message,"Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap__6152","Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set."),Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule:diag(6153,e.DiagnosticCategory.Message,"Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule_6153","Transpile each file as a separate module (similar to 'ts.transpileModule')."),Print_names_of_generated_files_part_of_the_compilation:diag(6154,e.DiagnosticCategory.Message,"Print_names_of_generated_files_part_of_the_compilation_6154","Print names of generated files part of the compilation."),Print_names_of_files_part_of_the_compilation:diag(6155,e.DiagnosticCategory.Message,"Print_names_of_files_part_of_the_compilation_6155","Print names of files part of the compilation."),The_locale_used_when_displaying_messages_to_the_user_e_g_en_us:diag(6156,e.DiagnosticCategory.Message,"The_locale_used_when_displaying_messages_to_the_user_e_g_en_us_6156","The locale used when displaying messages to the user (e.g. 'en-us')"),Do_not_generate_custom_helper_functions_like_extends_in_compiled_output:diag(6157,e.DiagnosticCategory.Message,"Do_not_generate_custom_helper_functions_like_extends_in_compiled_output_6157","Do not generate custom helper functions like '__extends' in compiled output."),Do_not_include_the_default_library_file_lib_d_ts:diag(6158,e.DiagnosticCategory.Message,"Do_not_include_the_default_library_file_lib_d_ts_6158","Do not include the default library file (lib.d.ts)."),Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files:diag(6159,e.DiagnosticCategory.Message,"Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files_6159","Do not add triple-slash references or imported modules to the list of compiled files."),Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files:diag(6160,e.DiagnosticCategory.Message,"Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files_6160","[Deprecated] Use '--skipLibCheck' instead. Skip type checking of default library declaration files."),List_of_folders_to_include_type_definitions_from:diag(6161,e.DiagnosticCategory.Message,"List_of_folders_to_include_type_definitions_from_6161","List of folders to include type definitions from."),Disable_size_limitations_on_JavaScript_projects:diag(6162,e.DiagnosticCategory.Message,"Disable_size_limitations_on_JavaScript_projects_6162","Disable size limitations on JavaScript projects."),The_character_set_of_the_input_files:diag(6163,e.DiagnosticCategory.Message,"The_character_set_of_the_input_files_6163","The character set of the input files."),Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files:diag(6164,e.DiagnosticCategory.Message,"Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files_6164","Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files."),Do_not_truncate_error_messages:diag(6165,e.DiagnosticCategory.Message,"Do_not_truncate_error_messages_6165","Do not truncate error messages."),Output_directory_for_generated_declaration_files:diag(6166,e.DiagnosticCategory.Message,"Output_directory_for_generated_declaration_files_6166","Output directory for generated declaration files."),A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl:diag(6167,e.DiagnosticCategory.Message,"A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl_6167","A series of entries which re-map imports to lookup locations relative to the 'baseUrl'."),List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime:diag(6168,e.DiagnosticCategory.Message,"List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime_6168","List of root folders whose combined content represents the structure of the project at runtime."),Show_all_compiler_options:diag(6169,e.DiagnosticCategory.Message,"Show_all_compiler_options_6169","Show all compiler options."),Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file:diag(6170,e.DiagnosticCategory.Message,"Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file_6170","[Deprecated] Use '--outFile' instead. Concatenate and emit output to single file"),Command_line_Options:diag(6171,e.DiagnosticCategory.Message,"Command_line_Options_6171","Command-line Options"),Basic_Options:diag(6172,e.DiagnosticCategory.Message,"Basic_Options_6172","Basic Options"),Strict_Type_Checking_Options:diag(6173,e.DiagnosticCategory.Message,"Strict_Type_Checking_Options_6173","Strict Type-Checking Options"),Module_Resolution_Options:diag(6174,e.DiagnosticCategory.Message,"Module_Resolution_Options_6174","Module Resolution Options"),Source_Map_Options:diag(6175,e.DiagnosticCategory.Message,"Source_Map_Options_6175","Source Map Options"),Additional_Checks:diag(6176,e.DiagnosticCategory.Message,"Additional_Checks_6176","Additional Checks"),Experimental_Options:diag(6177,e.DiagnosticCategory.Message,"Experimental_Options_6177","Experimental Options"),Advanced_Options:diag(6178,e.DiagnosticCategory.Message,"Advanced_Options_6178","Advanced Options"),Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_or_ES3:diag(6179,e.DiagnosticCategory.Message,"Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_or_ES3_6179","Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'."),Enable_all_strict_type_checking_options:diag(6180,e.DiagnosticCategory.Message,"Enable_all_strict_type_checking_options_6180","Enable all strict type-checking options."),List_of_language_service_plugins:diag(6181,e.DiagnosticCategory.Message,"List_of_language_service_plugins_6181","List of language service plugins."),Scoped_package_detected_looking_in_0:diag(6182,e.DiagnosticCategory.Message,"Scoped_package_detected_looking_in_0_6182","Scoped package detected, looking in '{0}'"),Reusing_resolution_of_module_0_to_file_1_from_old_program:diag(6183,e.DiagnosticCategory.Message,"Reusing_resolution_of_module_0_to_file_1_from_old_program_6183","Reusing resolution of module '{0}' to file '{1}' from old program."),Reusing_module_resolutions_originating_in_0_since_resolutions_are_unchanged_from_old_program:diag(6184,e.DiagnosticCategory.Message,"Reusing_module_resolutions_originating_in_0_since_resolutions_are_unchanged_from_old_program_6184","Reusing module resolutions originating in '{0}' since resolutions are unchanged from old program."),Disable_strict_checking_of_generic_signatures_in_function_types:diag(6185,e.DiagnosticCategory.Message,"Disable_strict_checking_of_generic_signatures_in_function_types_6185","Disable strict checking of generic signatures in function types."),Enable_strict_checking_of_function_types:diag(6186,e.DiagnosticCategory.Message,"Enable_strict_checking_of_function_types_6186","Enable strict checking of function types."),Enable_strict_checking_of_property_initialization_in_classes:diag(6187,e.DiagnosticCategory.Message,"Enable_strict_checking_of_property_initialization_in_classes_6187","Enable strict checking of property initialization in classes."),Numeric_separators_are_not_allowed_here:diag(6188,e.DiagnosticCategory.Error,"Numeric_separators_are_not_allowed_here_6188","Numeric separators are not allowed here."),Multiple_consecutive_numeric_separators_are_not_permitted:diag(6189,e.DiagnosticCategory.Error,"Multiple_consecutive_numeric_separators_are_not_permitted_6189","Multiple consecutive numeric separators are not permitted."),Found_package_json_at_0_Package_ID_is_1:diag(6190,e.DiagnosticCategory.Message,"Found_package_json_at_0_Package_ID_is_1_6190","Found 'package.json' at '{0}'. Package ID is '{1}'."),Whether_to_keep_outdated_console_output_in_watch_mode_instead_of_clearing_the_screen:diag(6191,e.DiagnosticCategory.Message,"Whether_to_keep_outdated_console_output_in_watch_mode_instead_of_clearing_the_screen_6191","Whether to keep outdated console output in watch mode instead of clearing the screen."),All_imports_in_import_declaration_are_unused:diag(6192,e.DiagnosticCategory.Error,"All_imports_in_import_declaration_are_unused_6192","All imports in import declaration are unused.",true),Found_1_error_Watching_for_file_changes:diag(6193,e.DiagnosticCategory.Message,"Found_1_error_Watching_for_file_changes_6193","Found 1 error. Watching for file changes."),Found_0_errors_Watching_for_file_changes:diag(6194,e.DiagnosticCategory.Message,"Found_0_errors_Watching_for_file_changes_6194","Found {0} errors. Watching for file changes."),Resolve_keyof_to_string_valued_property_names_only_no_numbers_or_symbols:diag(6195,e.DiagnosticCategory.Message,"Resolve_keyof_to_string_valued_property_names_only_no_numbers_or_symbols_6195","Resolve 'keyof' to string valued property names only (no numbers or symbols)."),_0_is_declared_but_never_used:diag(6196,e.DiagnosticCategory.Error,"_0_is_declared_but_never_used_6196","'{0}' is declared but never used.",true),Include_modules_imported_with_json_extension:diag(6197,e.DiagnosticCategory.Message,"Include_modules_imported_with_json_extension_6197","Include modules imported with '.json' extension"),All_destructured_elements_are_unused:diag(6198,e.DiagnosticCategory.Error,"All_destructured_elements_are_unused_6198","All destructured elements are unused.",true),All_variables_are_unused:diag(6199,e.DiagnosticCategory.Error,"All_variables_are_unused_6199","All variables are unused.",true),Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0:diag(6200,e.DiagnosticCategory.Error,"Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0_6200","Definitions of the following identifiers conflict with those in another file: {0}"),Conflicts_are_in_this_file:diag(6201,e.DiagnosticCategory.Message,"Conflicts_are_in_this_file_6201","Conflicts are in this file."),_0_was_also_declared_here:diag(6203,e.DiagnosticCategory.Message,"_0_was_also_declared_here_6203","'{0}' was also declared here."),and_here:diag(6204,e.DiagnosticCategory.Message,"and_here_6204","and here."),All_type_parameters_are_unused:diag(6205,e.DiagnosticCategory.Error,"All_type_parameters_are_unused_6205","All type parameters are unused"),package_json_has_a_typesVersions_field_with_version_specific_path_mappings:diag(6206,e.DiagnosticCategory.Message,"package_json_has_a_typesVersions_field_with_version_specific_path_mappings_6206","'package.json' has a 'typesVersions' field with version-specific path mappings."),package_json_does_not_have_a_typesVersions_entry_that_matches_version_0:diag(6207,e.DiagnosticCategory.Message,"package_json_does_not_have_a_typesVersions_entry_that_matches_version_0_6207","'package.json' does not have a 'typesVersions' entry that matches version '{0}'."),package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2:diag(6208,e.DiagnosticCategory.Message,"package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_ma_6208","'package.json' has a 'typesVersions' entry '{0}' that matches compiler version '{1}', looking for a pattern to match module name '{2}'."),package_json_has_a_typesVersions_entry_0_that_is_not_a_valid_semver_range:diag(6209,e.DiagnosticCategory.Message,"package_json_has_a_typesVersions_entry_0_that_is_not_a_valid_semver_range_6209","'package.json' has a 'typesVersions' entry '{0}' that is not a valid semver range."),An_argument_for_0_was_not_provided:diag(6210,e.DiagnosticCategory.Message,"An_argument_for_0_was_not_provided_6210","An argument for '{0}' was not provided."),An_argument_matching_this_binding_pattern_was_not_provided:diag(6211,e.DiagnosticCategory.Message,"An_argument_matching_this_binding_pattern_was_not_provided_6211","An argument matching this binding pattern was not provided."),Did_you_mean_to_call_this_expression:diag(6212,e.DiagnosticCategory.Message,"Did_you_mean_to_call_this_expression_6212","Did you mean to call this expression?"),Did_you_mean_to_use_new_with_this_expression:diag(6213,e.DiagnosticCategory.Message,"Did_you_mean_to_use_new_with_this_expression_6213","Did you mean to use 'new' with this expression?"),Enable_strict_bind_call_and_apply_methods_on_functions:diag(6214,e.DiagnosticCategory.Message,"Enable_strict_bind_call_and_apply_methods_on_functions_6214","Enable strict 'bind', 'call', and 'apply' methods on functions."),Using_compiler_options_of_project_reference_redirect_0:diag(6215,e.DiagnosticCategory.Message,"Using_compiler_options_of_project_reference_redirect_0_6215","Using compiler options of project reference redirect '{0}'."),Found_1_error:diag(6216,e.DiagnosticCategory.Message,"Found_1_error_6216","Found 1 error."),Found_0_errors:diag(6217,e.DiagnosticCategory.Message,"Found_0_errors_6217","Found {0} errors."),Projects_to_reference:diag(6300,e.DiagnosticCategory.Message,"Projects_to_reference_6300","Projects to reference"),Enable_project_compilation:diag(6302,e.DiagnosticCategory.Message,"Enable_project_compilation_6302","Enable project compilation"),Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0:diag(6202,e.DiagnosticCategory.Error,"Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0_6202","Project references may not form a circular graph. Cycle detected: {0}"),Composite_projects_may_not_disable_declaration_emit:diag(6304,e.DiagnosticCategory.Error,"Composite_projects_may_not_disable_declaration_emit_6304","Composite projects may not disable declaration emit."),Output_file_0_has_not_been_built_from_source_file_1:diag(6305,e.DiagnosticCategory.Error,"Output_file_0_has_not_been_built_from_source_file_1_6305","Output file '{0}' has not been built from source file '{1}'."),Referenced_project_0_must_have_setting_composite_Colon_true:diag(6306,e.DiagnosticCategory.Error,"Referenced_project_0_must_have_setting_composite_Colon_true_6306","Referenced project '{0}' must have setting \"composite\": true."),File_0_is_not_in_project_file_list_Projects_must_list_all_files_or_use_an_include_pattern:diag(6307,e.DiagnosticCategory.Error,"File_0_is_not_in_project_file_list_Projects_must_list_all_files_or_use_an_include_pattern_6307","File '{0}' is not in project file list. Projects must list all files or use an 'include' pattern."),Cannot_prepend_project_0_because_it_does_not_have_outFile_set:diag(6308,e.DiagnosticCategory.Error,"Cannot_prepend_project_0_because_it_does_not_have_outFile_set_6308","Cannot prepend project '{0}' because it does not have 'outFile' set"),Output_file_0_from_project_1_does_not_exist:diag(6309,e.DiagnosticCategory.Error,"Output_file_0_from_project_1_does_not_exist_6309","Output file '{0}' from project '{1}' does not exist"),Project_0_is_out_of_date_because_oldest_output_1_is_older_than_newest_input_2:diag(6350,e.DiagnosticCategory.Message,"Project_0_is_out_of_date_because_oldest_output_1_is_older_than_newest_input_2_6350","Project '{0}' is out of date because oldest output '{1}' is older than newest input '{2}'"),Project_0_is_up_to_date_because_newest_input_1_is_older_than_oldest_output_2:diag(6351,e.DiagnosticCategory.Message,"Project_0_is_up_to_date_because_newest_input_1_is_older_than_oldest_output_2_6351","Project '{0}' is up to date because newest input '{1}' is older than oldest output '{2}'"),Project_0_is_out_of_date_because_output_file_1_does_not_exist:diag(6352,e.DiagnosticCategory.Message,"Project_0_is_out_of_date_because_output_file_1_does_not_exist_6352","Project '{0}' is out of date because output file '{1}' does not exist"),Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date:diag(6353,e.DiagnosticCategory.Message,"Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date_6353","Project '{0}' is out of date because its dependency '{1}' is out of date"),Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies:diag(6354,e.DiagnosticCategory.Message,"Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies_6354","Project '{0}' is up to date with .d.ts files from its dependencies"),Projects_in_this_build_Colon_0:diag(6355,e.DiagnosticCategory.Message,"Projects_in_this_build_Colon_0_6355","Projects in this build: {0}"),A_non_dry_build_would_delete_the_following_files_Colon_0:diag(6356,e.DiagnosticCategory.Message,"A_non_dry_build_would_delete_the_following_files_Colon_0_6356","A non-dry build would delete the following files: {0}"),A_non_dry_build_would_build_project_0:diag(6357,e.DiagnosticCategory.Message,"A_non_dry_build_would_build_project_0_6357","A non-dry build would build project '{0}'"),Building_project_0:diag(6358,e.DiagnosticCategory.Message,"Building_project_0_6358","Building project '{0}'..."),Updating_output_timestamps_of_project_0:diag(6359,e.DiagnosticCategory.Message,"Updating_output_timestamps_of_project_0_6359","Updating output timestamps of project '{0}'..."),delete_this_Project_0_is_up_to_date_because_it_was_previously_built:diag(6360,e.DiagnosticCategory.Message,"delete_this_Project_0_is_up_to_date_because_it_was_previously_built_6360","delete this - Project '{0}' is up to date because it was previously built"),Project_0_is_up_to_date:diag(6361,e.DiagnosticCategory.Message,"Project_0_is_up_to_date_6361","Project '{0}' is up to date"),Skipping_build_of_project_0_because_its_dependency_1_has_errors:diag(6362,e.DiagnosticCategory.Message,"Skipping_build_of_project_0_because_its_dependency_1_has_errors_6362","Skipping build of project '{0}' because its dependency '{1}' has errors"),Project_0_can_t_be_built_because_its_dependency_1_has_errors:diag(6363,e.DiagnosticCategory.Message,"Project_0_can_t_be_built_because_its_dependency_1_has_errors_6363","Project '{0}' can't be built because its dependency '{1}' has errors"),Build_one_or_more_projects_and_their_dependencies_if_out_of_date:diag(6364,e.DiagnosticCategory.Message,"Build_one_or_more_projects_and_their_dependencies_if_out_of_date_6364","Build one or more projects and their dependencies, if out of date"),Delete_the_outputs_of_all_projects:diag(6365,e.DiagnosticCategory.Message,"Delete_the_outputs_of_all_projects_6365","Delete the outputs of all projects"),Enable_verbose_logging:diag(6366,e.DiagnosticCategory.Message,"Enable_verbose_logging_6366","Enable verbose logging"),Show_what_would_be_built_or_deleted_if_specified_with_clean:diag(6367,e.DiagnosticCategory.Message,"Show_what_would_be_built_or_deleted_if_specified_with_clean_6367","Show what would be built (or deleted, if specified with '--clean')"),Build_all_projects_including_those_that_appear_to_be_up_to_date:diag(6368,e.DiagnosticCategory.Message,"Build_all_projects_including_those_that_appear_to_be_up_to_date_6368","Build all projects, including those that appear to be up to date"),Option_build_must_be_the_first_command_line_argument:diag(6369,e.DiagnosticCategory.Error,"Option_build_must_be_the_first_command_line_argument_6369","Option '--build' must be the first command line argument."),Options_0_and_1_cannot_be_combined:diag(6370,e.DiagnosticCategory.Error,"Options_0_and_1_cannot_be_combined_6370","Options '{0}' and '{1}' cannot be combined."),The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1:diag(6500,e.DiagnosticCategory.Message,"The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1_6500","The expected type comes from property '{0}' which is declared here on type '{1}'"),The_expected_type_comes_from_this_index_signature:diag(6501,e.DiagnosticCategory.Message,"The_expected_type_comes_from_this_index_signature_6501","The expected type comes from this index signature."),The_expected_type_comes_from_the_return_type_of_this_signature:diag(6502,e.DiagnosticCategory.Message,"The_expected_type_comes_from_the_return_type_of_this_signature_6502","The expected type comes from the return type of this signature."),Variable_0_implicitly_has_an_1_type:diag(7005,e.DiagnosticCategory.Error,"Variable_0_implicitly_has_an_1_type_7005","Variable '{0}' implicitly has an '{1}' type."),Parameter_0_implicitly_has_an_1_type:diag(7006,e.DiagnosticCategory.Error,"Parameter_0_implicitly_has_an_1_type_7006","Parameter '{0}' implicitly has an '{1}' type."),Member_0_implicitly_has_an_1_type:diag(7008,e.DiagnosticCategory.Error,"Member_0_implicitly_has_an_1_type_7008","Member '{0}' implicitly has an '{1}' type."),new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type:diag(7009,e.DiagnosticCategory.Error,"new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type_7009","'new' expression, whose target lacks a construct signature, implicitly has an 'any' type."),_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type:diag(7010,e.DiagnosticCategory.Error,"_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type_7010","'{0}', which lacks return-type annotation, implicitly has an '{1}' return type."),Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type:diag(7011,e.DiagnosticCategory.Error,"Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type_7011","Function expression, which lacks return-type annotation, implicitly has an '{0}' return type."),Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type:diag(7013,e.DiagnosticCategory.Error,"Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7013","Construct signature, which lacks return-type annotation, implicitly has an 'any' return type."),Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type:diag(7014,e.DiagnosticCategory.Error,"Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type_7014","Function type, which lacks return-type annotation, implicitly has an '{0}' return type."),Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number:diag(7015,e.DiagnosticCategory.Error,"Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number_7015","Element implicitly has an 'any' type because index expression is not of type 'number'."),Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type:diag(7016,e.DiagnosticCategory.Error,"Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type_7016","Could not find a declaration file for module '{0}'. '{1}' implicitly has an 'any' type."),Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature:diag(7017,e.DiagnosticCategory.Error,"Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_7017","Element implicitly has an 'any' type because type '{0}' has no index signature."),Object_literal_s_property_0_implicitly_has_an_1_type:diag(7018,e.DiagnosticCategory.Error,"Object_literal_s_property_0_implicitly_has_an_1_type_7018","Object literal's property '{0}' implicitly has an '{1}' type."),Rest_parameter_0_implicitly_has_an_any_type:diag(7019,e.DiagnosticCategory.Error,"Rest_parameter_0_implicitly_has_an_any_type_7019","Rest parameter '{0}' implicitly has an 'any[]' type."),Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type:diag(7020,e.DiagnosticCategory.Error,"Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7020","Call signature, which lacks return-type annotation, implicitly has an 'any' return type."),_0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer:diag(7022,e.DiagnosticCategory.Error,"_0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or__7022","'{0}' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer."),_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions:diag(7023,e.DiagnosticCategory.Error,"_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_reference_7023","'{0}' implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions."),Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions:diag(7024,e.DiagnosticCategory.Error,"Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_ref_7024","Function implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions."),Generator_implicitly_has_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_type:diag(7025,e.DiagnosticCategory.Error,"Generator_implicitly_has_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_typ_7025","Generator implicitly has type '{0}' because it does not yield any values. Consider supplying a return type."),JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists:diag(7026,e.DiagnosticCategory.Error,"JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists_7026","JSX element implicitly has type 'any' because no interface 'JSX.{0}' exists."),Unreachable_code_detected:diag(7027,e.DiagnosticCategory.Error,"Unreachable_code_detected_7027","Unreachable code detected.",true),Unused_label:diag(7028,e.DiagnosticCategory.Error,"Unused_label_7028","Unused label.",true),Fallthrough_case_in_switch:diag(7029,e.DiagnosticCategory.Error,"Fallthrough_case_in_switch_7029","Fallthrough case in switch."),Not_all_code_paths_return_a_value:diag(7030,e.DiagnosticCategory.Error,"Not_all_code_paths_return_a_value_7030","Not all code paths return a value."),Binding_element_0_implicitly_has_an_1_type:diag(7031,e.DiagnosticCategory.Error,"Binding_element_0_implicitly_has_an_1_type_7031","Binding element '{0}' implicitly has an '{1}' type."),Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation:diag(7032,e.DiagnosticCategory.Error,"Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation_7032","Property '{0}' implicitly has type 'any', because its set accessor lacks a parameter type annotation."),Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation:diag(7033,e.DiagnosticCategory.Error,"Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation_7033","Property '{0}' implicitly has type 'any', because its get accessor lacks a return type annotation."),Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined:diag(7034,e.DiagnosticCategory.Error,"Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined_7034","Variable '{0}' implicitly has type '{1}' in some locations where its type cannot be determined."),Try_npm_install_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare_module_0:diag(7035,e.DiagnosticCategory.Error,"Try_npm_install_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare_mod_7035","Try `npm install @types/{1}` if it exists or add a new declaration (.d.ts) file containing `declare module '{0}';`"),Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0:diag(7036,e.DiagnosticCategory.Error,"Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0_7036","Dynamic import's specifier must be of type 'string', but here has type '{0}'."),Enables_emit_interoperability_between_CommonJS_and_ES_Modules_via_creation_of_namespace_objects_for_all_imports_Implies_allowSyntheticDefaultImports:diag(7037,e.DiagnosticCategory.Message,"Enables_emit_interoperability_between_CommonJS_and_ES_Modules_via_creation_of_namespace_objects_for__7037","Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'."),Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cause_a_failure_at_runtime_Consider_using_a_default_import_or_import_require_here_instead:diag(7038,e.DiagnosticCategory.Message,"Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cau_7038","Type originates at this import. A namespace-style import cannot be called or constructed, and will cause a failure at runtime. Consider using a default import or import require here instead."),Mapped_object_type_implicitly_has_an_any_template_type:diag(7039,e.DiagnosticCategory.Error,"Mapped_object_type_implicitly_has_an_any_template_type_7039","Mapped object type implicitly has an 'any' template type."),If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_Slash_Slashgithub_com_SlashDefinitelyTyped_SlashDefinitelyTyped_Slashtree_Slashmaster_Slashtypes_Slash_1:diag(7040,e.DiagnosticCategory.Error,"If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_S_7040","If the '{0}' package actually exposes this module, consider sending a pull request to amend 'https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/{1}`"),The_containing_arrow_function_captures_the_global_value_of_this_which_implicitly_has_type_any:diag(7041,e.DiagnosticCategory.Error,"The_containing_arrow_function_captures_the_global_value_of_this_which_implicitly_has_type_any_7041","The containing arrow function captures the global value of 'this' which implicitly has type 'any'."),Module_0_was_resolved_to_1_but_resolveJsonModule_is_not_used:diag(7042,e.DiagnosticCategory.Error,"Module_0_was_resolved_to_1_but_resolveJsonModule_is_not_used_7042","Module '{0}' was resolved to '{1}', but '--resolveJsonModule' is not used."),Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:diag(7043,e.DiagnosticCategory.Suggestion,"Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7043","Variable '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage."),Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:diag(7044,e.DiagnosticCategory.Suggestion,"Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7044","Parameter '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage."),Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:diag(7045,e.DiagnosticCategory.Suggestion,"Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7045","Member '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage."),Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage:diag(7046,e.DiagnosticCategory.Suggestion,"Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage_7046","Variable '{0}' implicitly has type '{1}' in some locations, but a better type may be inferred from usage."),Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage:diag(7047,e.DiagnosticCategory.Suggestion,"Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage_7047","Rest parameter '{0}' implicitly has an 'any[]' type, but a better type may be inferred from usage."),Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage:diag(7048,e.DiagnosticCategory.Suggestion,"Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage_7048","Property '{0}' implicitly has type 'any', but a better type for its get accessor may be inferred from usage."),Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage:diag(7049,e.DiagnosticCategory.Suggestion,"Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage_7049","Property '{0}' implicitly has type 'any', but a better type for its set accessor may be inferred from usage."),_0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage:diag(7050,e.DiagnosticCategory.Suggestion,"_0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage_7050","'{0}' implicitly has an '{1}' return type, but a better type may be inferred from usage."),Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1:diag(7051,e.DiagnosticCategory.Error,"Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1_7051","Parameter has a name but no type. Did you mean '{0}: {1}'?"),You_cannot_rename_this_element:diag(8e3,e.DiagnosticCategory.Error,"You_cannot_rename_this_element_8000","You cannot rename this element."),You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library:diag(8001,e.DiagnosticCategory.Error,"You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library_8001","You cannot rename elements that are defined in the standard TypeScript library."),import_can_only_be_used_in_a_ts_file:diag(8002,e.DiagnosticCategory.Error,"import_can_only_be_used_in_a_ts_file_8002","'import ... =' can only be used in a .ts file."),export_can_only_be_used_in_a_ts_file:diag(8003,e.DiagnosticCategory.Error,"export_can_only_be_used_in_a_ts_file_8003","'export=' can only be used in a .ts file."),type_parameter_declarations_can_only_be_used_in_a_ts_file:diag(8004,e.DiagnosticCategory.Error,"type_parameter_declarations_can_only_be_used_in_a_ts_file_8004","'type parameter declarations' can only be used in a .ts file."),implements_clauses_can_only_be_used_in_a_ts_file:diag(8005,e.DiagnosticCategory.Error,"implements_clauses_can_only_be_used_in_a_ts_file_8005","'implements clauses' can only be used in a .ts file."),interface_declarations_can_only_be_used_in_a_ts_file:diag(8006,e.DiagnosticCategory.Error,"interface_declarations_can_only_be_used_in_a_ts_file_8006","'interface declarations' can only be used in a .ts file."),module_declarations_can_only_be_used_in_a_ts_file:diag(8007,e.DiagnosticCategory.Error,"module_declarations_can_only_be_used_in_a_ts_file_8007","'module declarations' can only be used in a .ts file."),type_aliases_can_only_be_used_in_a_ts_file:diag(8008,e.DiagnosticCategory.Error,"type_aliases_can_only_be_used_in_a_ts_file_8008","'type aliases' can only be used in a .ts file."),_0_can_only_be_used_in_a_ts_file:diag(8009,e.DiagnosticCategory.Error,"_0_can_only_be_used_in_a_ts_file_8009","'{0}' can only be used in a .ts file."),types_can_only_be_used_in_a_ts_file:diag(8010,e.DiagnosticCategory.Error,"types_can_only_be_used_in_a_ts_file_8010","'types' can only be used in a .ts file."),type_arguments_can_only_be_used_in_a_ts_file:diag(8011,e.DiagnosticCategory.Error,"type_arguments_can_only_be_used_in_a_ts_file_8011","'type arguments' can only be used in a .ts file."),parameter_modifiers_can_only_be_used_in_a_ts_file:diag(8012,e.DiagnosticCategory.Error,"parameter_modifiers_can_only_be_used_in_a_ts_file_8012","'parameter modifiers' can only be used in a .ts file."),non_null_assertions_can_only_be_used_in_a_ts_file:diag(8013,e.DiagnosticCategory.Error,"non_null_assertions_can_only_be_used_in_a_ts_file_8013","'non-null assertions' can only be used in a .ts file."),enum_declarations_can_only_be_used_in_a_ts_file:diag(8015,e.DiagnosticCategory.Error,"enum_declarations_can_only_be_used_in_a_ts_file_8015","'enum declarations' can only be used in a .ts file."),type_assertion_expressions_can_only_be_used_in_a_ts_file:diag(8016,e.DiagnosticCategory.Error,"type_assertion_expressions_can_only_be_used_in_a_ts_file_8016","'type assertion expressions' can only be used in a .ts file."),Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0:diag(8017,e.DiagnosticCategory.Error,"Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0_8017","Octal literal types must use ES2015 syntax. Use the syntax '{0}'."),Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0:diag(8018,e.DiagnosticCategory.Error,"Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0_8018","Octal literals are not allowed in enums members initializer. Use the syntax '{0}'."),Report_errors_in_js_files:diag(8019,e.DiagnosticCategory.Message,"Report_errors_in_js_files_8019","Report errors in .js files."),JSDoc_types_can_only_be_used_inside_documentation_comments:diag(8020,e.DiagnosticCategory.Error,"JSDoc_types_can_only_be_used_inside_documentation_comments_8020","JSDoc types can only be used inside documentation comments."),JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags:diag(8021,e.DiagnosticCategory.Error,"JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags_8021","JSDoc '@typedef' tag should either have a type annotation or be followed by '@property' or '@member' tags."),JSDoc_0_is_not_attached_to_a_class:diag(8022,e.DiagnosticCategory.Error,"JSDoc_0_is_not_attached_to_a_class_8022","JSDoc '@{0}' is not attached to a class."),JSDoc_0_1_does_not_match_the_extends_2_clause:diag(8023,e.DiagnosticCategory.Error,"JSDoc_0_1_does_not_match_the_extends_2_clause_8023","JSDoc '@{0} {1}' does not match the 'extends {2}' clause."),JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name:diag(8024,e.DiagnosticCategory.Error,"JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_8024","JSDoc '@param' tag has name '{0}', but there is no parameter with that name."),Class_declarations_cannot_have_more_than_one_augments_or_extends_tag:diag(8025,e.DiagnosticCategory.Error,"Class_declarations_cannot_have_more_than_one_augments_or_extends_tag_8025","Class declarations cannot have more than one `@augments` or `@extends` tag."),Expected_0_type_arguments_provide_these_with_an_extends_tag:diag(8026,e.DiagnosticCategory.Error,"Expected_0_type_arguments_provide_these_with_an_extends_tag_8026","Expected {0} type arguments; provide these with an '@extends' tag."),Expected_0_1_type_arguments_provide_these_with_an_extends_tag:diag(8027,e.DiagnosticCategory.Error,"Expected_0_1_type_arguments_provide_these_with_an_extends_tag_8027","Expected {0}-{1} type arguments; provide these with an '@extends' tag."),JSDoc_may_only_appear_in_the_last_parameter_of_a_signature:diag(8028,e.DiagnosticCategory.Error,"JSDoc_may_only_appear_in_the_last_parameter_of_a_signature_8028","JSDoc '...' may only appear in the last parameter of a signature."),JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_had_an_array_type:diag(8029,e.DiagnosticCategory.Error,"JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_h_8029","JSDoc '@param' tag has name '{0}', but there is no parameter with that name. It would match 'arguments' if it had an array type."),The_type_of_a_function_declaration_must_match_the_function_s_signature:diag(8030,e.DiagnosticCategory.Error,"The_type_of_a_function_declaration_must_match_the_function_s_signature_8030","The type of a function declaration must match the function's signature."),You_cannot_rename_a_module_via_a_global_import:diag(8031,e.DiagnosticCategory.Error,"You_cannot_rename_a_module_via_a_global_import_8031","You cannot rename a module via a global import."),Only_identifiers_Slashqualified_names_with_optional_type_arguments_are_currently_supported_in_a_class_extends_clause:diag(9002,e.DiagnosticCategory.Error,"Only_identifiers_Slashqualified_names_with_optional_type_arguments_are_currently_supported_in_a_clas_9002","Only identifiers/qualified-names with optional type arguments are currently supported in a class 'extends' clause."),class_expressions_are_not_currently_supported:diag(9003,e.DiagnosticCategory.Error,"class_expressions_are_not_currently_supported_9003","'class' expressions are not currently supported."),Language_service_is_disabled:diag(9004,e.DiagnosticCategory.Error,"Language_service_is_disabled_9004","Language service is disabled."),JSX_attributes_must_only_be_assigned_a_non_empty_expression:diag(17e3,e.DiagnosticCategory.Error,"JSX_attributes_must_only_be_assigned_a_non_empty_expression_17000","JSX attributes must only be assigned a non-empty 'expression'."),JSX_elements_cannot_have_multiple_attributes_with_the_same_name:diag(17001,e.DiagnosticCategory.Error,"JSX_elements_cannot_have_multiple_attributes_with_the_same_name_17001","JSX elements cannot have multiple attributes with the same name."),Expected_corresponding_JSX_closing_tag_for_0:diag(17002,e.DiagnosticCategory.Error,"Expected_corresponding_JSX_closing_tag_for_0_17002","Expected corresponding JSX closing tag for '{0}'."),JSX_attribute_expected:diag(17003,e.DiagnosticCategory.Error,"JSX_attribute_expected_17003","JSX attribute expected."),Cannot_use_JSX_unless_the_jsx_flag_is_provided:diag(17004,e.DiagnosticCategory.Error,"Cannot_use_JSX_unless_the_jsx_flag_is_provided_17004","Cannot use JSX unless the '--jsx' flag is provided."),A_constructor_cannot_contain_a_super_call_when_its_class_extends_null:diag(17005,e.DiagnosticCategory.Error,"A_constructor_cannot_contain_a_super_call_when_its_class_extends_null_17005","A constructor cannot contain a 'super' call when its class extends 'null'."),An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses:diag(17006,e.DiagnosticCategory.Error,"An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_ex_17006","An unary expression with the '{0}' operator is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses."),A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses:diag(17007,e.DiagnosticCategory.Error,"A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Con_17007","A type assertion expression is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses."),JSX_element_0_has_no_corresponding_closing_tag:diag(17008,e.DiagnosticCategory.Error,"JSX_element_0_has_no_corresponding_closing_tag_17008","JSX element '{0}' has no corresponding closing tag."),super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class:diag(17009,e.DiagnosticCategory.Error,"super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class_17009","'super' must be called before accessing 'this' in the constructor of a derived class."),Unknown_type_acquisition_option_0:diag(17010,e.DiagnosticCategory.Error,"Unknown_type_acquisition_option_0_17010","Unknown type acquisition option '{0}'."),super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class:diag(17011,e.DiagnosticCategory.Error,"super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class_17011","'super' must be called before accessing a property of 'super' in the constructor of a derived class."),_0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2:diag(17012,e.DiagnosticCategory.Error,"_0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2_17012","'{0}' is not a valid meta-property for keyword '{1}'. Did you mean '{2}'?"),Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constructor:diag(17013,e.DiagnosticCategory.Error,"Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constru_17013","Meta-property '{0}' is only allowed in the body of a function declaration, function expression, or constructor."),JSX_fragment_has_no_corresponding_closing_tag:diag(17014,e.DiagnosticCategory.Error,"JSX_fragment_has_no_corresponding_closing_tag_17014","JSX fragment has no corresponding closing tag."),Expected_corresponding_closing_tag_for_JSX_fragment:diag(17015,e.DiagnosticCategory.Error,"Expected_corresponding_closing_tag_for_JSX_fragment_17015","Expected corresponding closing tag for JSX fragment."),JSX_fragment_is_not_supported_when_using_jsxFactory:diag(17016,e.DiagnosticCategory.Error,"JSX_fragment_is_not_supported_when_using_jsxFactory_17016","JSX fragment is not supported when using --jsxFactory"),JSX_fragment_is_not_supported_when_using_an_inline_JSX_factory_pragma:diag(17017,e.DiagnosticCategory.Error,"JSX_fragment_is_not_supported_when_using_an_inline_JSX_factory_pragma_17017","JSX fragment is not supported when using an inline JSX factory pragma"),Circularity_detected_while_resolving_configuration_Colon_0:diag(18e3,e.DiagnosticCategory.Error,"Circularity_detected_while_resolving_configuration_Colon_0_18000","Circularity detected while resolving configuration: {0}"),A_path_in_an_extends_option_must_be_relative_or_rooted_but_0_is_not:diag(18001,e.DiagnosticCategory.Error,"A_path_in_an_extends_option_must_be_relative_or_rooted_but_0_is_not_18001","A path in an 'extends' option must be relative or rooted, but '{0}' is not."),The_files_list_in_config_file_0_is_empty:diag(18002,e.DiagnosticCategory.Error,"The_files_list_in_config_file_0_is_empty_18002","The 'files' list in config file '{0}' is empty."),No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2:diag(18003,e.DiagnosticCategory.Error,"No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2_18003","No inputs were found in config file '{0}'. Specified 'include' paths were '{1}' and 'exclude' paths were '{2}'."),File_is_a_CommonJS_module_it_may_be_converted_to_an_ES6_module:diag(80001,e.DiagnosticCategory.Suggestion,"File_is_a_CommonJS_module_it_may_be_converted_to_an_ES6_module_80001","File is a CommonJS module; it may be converted to an ES6 module."),This_constructor_function_may_be_converted_to_a_class_declaration:diag(80002,e.DiagnosticCategory.Suggestion,"This_constructor_function_may_be_converted_to_a_class_declaration_80002","This constructor function may be converted to a class declaration."),Import_may_be_converted_to_a_default_import:diag(80003,e.DiagnosticCategory.Suggestion,"Import_may_be_converted_to_a_default_import_80003","Import may be converted to a default import."),JSDoc_types_may_be_moved_to_TypeScript_types:diag(80004,e.DiagnosticCategory.Suggestion,"JSDoc_types_may_be_moved_to_TypeScript_types_80004","JSDoc types may be moved to TypeScript types."),require_call_may_be_converted_to_an_import:diag(80005,e.DiagnosticCategory.Suggestion,"require_call_may_be_converted_to_an_import_80005","'require' call may be converted to an import."),This_may_be_converted_to_an_async_function:diag(80006,e.DiagnosticCategory.Suggestion,"This_may_be_converted_to_an_async_function_80006","This may be converted to an async function."),Add_missing_super_call:diag(90001,e.DiagnosticCategory.Message,"Add_missing_super_call_90001","Add missing 'super()' call"),Make_super_call_the_first_statement_in_the_constructor:diag(90002,e.DiagnosticCategory.Message,"Make_super_call_the_first_statement_in_the_constructor_90002","Make 'super()' call the first statement in the constructor"),Change_extends_to_implements:diag(90003,e.DiagnosticCategory.Message,"Change_extends_to_implements_90003","Change 'extends' to 'implements'"),Remove_declaration_for_Colon_0:diag(90004,e.DiagnosticCategory.Message,"Remove_declaration_for_Colon_0_90004","Remove declaration for: '{0}'"),Remove_import_from_0:diag(90005,e.DiagnosticCategory.Message,"Remove_import_from_0_90005","Remove import from '{0}'"),Implement_interface_0:diag(90006,e.DiagnosticCategory.Message,"Implement_interface_0_90006","Implement interface '{0}'"),Implement_inherited_abstract_class:diag(90007,e.DiagnosticCategory.Message,"Implement_inherited_abstract_class_90007","Implement inherited abstract class"),Add_0_to_unresolved_variable:diag(90008,e.DiagnosticCategory.Message,"Add_0_to_unresolved_variable_90008","Add '{0}.' to unresolved variable"),Remove_destructuring:diag(90009,e.DiagnosticCategory.Message,"Remove_destructuring_90009","Remove destructuring"),Remove_variable_statement:diag(90010,e.DiagnosticCategory.Message,"Remove_variable_statement_90010","Remove variable statement"),Remove_template_tag:diag(90011,e.DiagnosticCategory.Message,"Remove_template_tag_90011","Remove template tag"),Remove_type_parameters:diag(90012,e.DiagnosticCategory.Message,"Remove_type_parameters_90012","Remove type parameters"),Import_0_from_module_1:diag(90013,e.DiagnosticCategory.Message,"Import_0_from_module_1_90013","Import '{0}' from module \"{1}\""),Change_0_to_1:diag(90014,e.DiagnosticCategory.Message,"Change_0_to_1_90014","Change '{0}' to '{1}'"),Add_0_to_existing_import_declaration_from_1:diag(90015,e.DiagnosticCategory.Message,"Add_0_to_existing_import_declaration_from_1_90015","Add '{0}' to existing import declaration from \"{1}\""),Declare_property_0:diag(90016,e.DiagnosticCategory.Message,"Declare_property_0_90016","Declare property '{0}'"),Add_index_signature_for_property_0:diag(90017,e.DiagnosticCategory.Message,"Add_index_signature_for_property_0_90017","Add index signature for property '{0}'"),Disable_checking_for_this_file:diag(90018,e.DiagnosticCategory.Message,"Disable_checking_for_this_file_90018","Disable checking for this file"),Ignore_this_error_message:diag(90019,e.DiagnosticCategory.Message,"Ignore_this_error_message_90019","Ignore this error message"),Initialize_property_0_in_the_constructor:diag(90020,e.DiagnosticCategory.Message,"Initialize_property_0_in_the_constructor_90020","Initialize property '{0}' in the constructor"),Initialize_static_property_0:diag(90021,e.DiagnosticCategory.Message,"Initialize_static_property_0_90021","Initialize static property '{0}'"),Change_spelling_to_0:diag(90022,e.DiagnosticCategory.Message,"Change_spelling_to_0_90022","Change spelling to '{0}'"),Declare_method_0:diag(90023,e.DiagnosticCategory.Message,"Declare_method_0_90023","Declare method '{0}'"),Declare_static_method_0:diag(90024,e.DiagnosticCategory.Message,"Declare_static_method_0_90024","Declare static method '{0}'"),Prefix_0_with_an_underscore:diag(90025,e.DiagnosticCategory.Message,"Prefix_0_with_an_underscore_90025","Prefix '{0}' with an underscore"),Rewrite_as_the_indexed_access_type_0:diag(90026,e.DiagnosticCategory.Message,"Rewrite_as_the_indexed_access_type_0_90026","Rewrite as the indexed access type '{0}'"),Declare_static_property_0:diag(90027,e.DiagnosticCategory.Message,"Declare_static_property_0_90027","Declare static property '{0}'"),Call_decorator_expression:diag(90028,e.DiagnosticCategory.Message,"Call_decorator_expression_90028","Call decorator expression"),Add_async_modifier_to_containing_function:diag(90029,e.DiagnosticCategory.Message,"Add_async_modifier_to_containing_function_90029","Add async modifier to containing function"),Replace_infer_0_with_unknown:diag(90030,e.DiagnosticCategory.Message,"Replace_infer_0_with_unknown_90030","Replace 'infer {0}' with 'unknown'"),Replace_all_unused_infer_with_unknown:diag(90031,e.DiagnosticCategory.Message,"Replace_all_unused_infer_with_unknown_90031","Replace all unused 'infer' with 'unknown'"),Import_default_0_from_module_1:diag(90032,e.DiagnosticCategory.Message,"Import_default_0_from_module_1_90032","Import default '{0}' from module \"{1}\""),Add_default_import_0_to_existing_import_declaration_from_1:diag(90033,e.DiagnosticCategory.Message,"Add_default_import_0_to_existing_import_declaration_from_1_90033","Add default import '{0}' to existing import declaration from \"{1}\""),Add_parameter_name:diag(90034,e.DiagnosticCategory.Message,"Add_parameter_name_90034","Add parameter name"),Convert_function_to_an_ES2015_class:diag(95001,e.DiagnosticCategory.Message,"Convert_function_to_an_ES2015_class_95001","Convert function to an ES2015 class"),Convert_function_0_to_class:diag(95002,e.DiagnosticCategory.Message,"Convert_function_0_to_class_95002","Convert function '{0}' to class"),Extract_to_0_in_1:diag(95004,e.DiagnosticCategory.Message,"Extract_to_0_in_1_95004","Extract to {0} in {1}"),Extract_function:diag(95005,e.DiagnosticCategory.Message,"Extract_function_95005","Extract function"),Extract_constant:diag(95006,e.DiagnosticCategory.Message,"Extract_constant_95006","Extract constant"),Extract_to_0_in_enclosing_scope:diag(95007,e.DiagnosticCategory.Message,"Extract_to_0_in_enclosing_scope_95007","Extract to {0} in enclosing scope"),Extract_to_0_in_1_scope:diag(95008,e.DiagnosticCategory.Message,"Extract_to_0_in_1_scope_95008","Extract to {0} in {1} scope"),Annotate_with_type_from_JSDoc:diag(95009,e.DiagnosticCategory.Message,"Annotate_with_type_from_JSDoc_95009","Annotate with type from JSDoc"),Annotate_with_types_from_JSDoc:diag(95010,e.DiagnosticCategory.Message,"Annotate_with_types_from_JSDoc_95010","Annotate with types from JSDoc"),Infer_type_of_0_from_usage:diag(95011,e.DiagnosticCategory.Message,"Infer_type_of_0_from_usage_95011","Infer type of '{0}' from usage"),Infer_parameter_types_from_usage:diag(95012,e.DiagnosticCategory.Message,"Infer_parameter_types_from_usage_95012","Infer parameter types from usage"),Convert_to_default_import:diag(95013,e.DiagnosticCategory.Message,"Convert_to_default_import_95013","Convert to default import"),Install_0:diag(95014,e.DiagnosticCategory.Message,"Install_0_95014","Install '{0}'"),Replace_import_with_0:diag(95015,e.DiagnosticCategory.Message,"Replace_import_with_0_95015","Replace import with '{0}'."),Use_synthetic_default_member:diag(95016,e.DiagnosticCategory.Message,"Use_synthetic_default_member_95016","Use synthetic 'default' member."),Convert_to_ES6_module:diag(95017,e.DiagnosticCategory.Message,"Convert_to_ES6_module_95017","Convert to ES6 module"),Add_undefined_type_to_property_0:diag(95018,e.DiagnosticCategory.Message,"Add_undefined_type_to_property_0_95018","Add 'undefined' type to property '{0}'"),Add_initializer_to_property_0:diag(95019,e.DiagnosticCategory.Message,"Add_initializer_to_property_0_95019","Add initializer to property '{0}'"),Add_definite_assignment_assertion_to_property_0:diag(95020,e.DiagnosticCategory.Message,"Add_definite_assignment_assertion_to_property_0_95020","Add definite assignment assertion to property '{0}'"),Add_all_missing_members:diag(95022,e.DiagnosticCategory.Message,"Add_all_missing_members_95022","Add all missing members"),Infer_all_types_from_usage:diag(95023,e.DiagnosticCategory.Message,"Infer_all_types_from_usage_95023","Infer all types from usage"),Delete_all_unused_declarations:diag(95024,e.DiagnosticCategory.Message,"Delete_all_unused_declarations_95024","Delete all unused declarations"),Prefix_all_unused_declarations_with_where_possible:diag(95025,e.DiagnosticCategory.Message,"Prefix_all_unused_declarations_with_where_possible_95025","Prefix all unused declarations with '_' where possible"),Fix_all_detected_spelling_errors:diag(95026,e.DiagnosticCategory.Message,"Fix_all_detected_spelling_errors_95026","Fix all detected spelling errors"),Add_initializers_to_all_uninitialized_properties:diag(95027,e.DiagnosticCategory.Message,"Add_initializers_to_all_uninitialized_properties_95027","Add initializers to all uninitialized properties"),Add_definite_assignment_assertions_to_all_uninitialized_properties:diag(95028,e.DiagnosticCategory.Message,"Add_definite_assignment_assertions_to_all_uninitialized_properties_95028","Add definite assignment assertions to all uninitialized properties"),Add_undefined_type_to_all_uninitialized_properties:diag(95029,e.DiagnosticCategory.Message,"Add_undefined_type_to_all_uninitialized_properties_95029","Add undefined type to all uninitialized properties"),Change_all_jsdoc_style_types_to_TypeScript:diag(95030,e.DiagnosticCategory.Message,"Change_all_jsdoc_style_types_to_TypeScript_95030","Change all jsdoc-style types to TypeScript"),Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types:diag(95031,e.DiagnosticCategory.Message,"Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types_95031","Change all jsdoc-style types to TypeScript (and add '| undefined' to nullable types)"),Implement_all_unimplemented_interfaces:diag(95032,e.DiagnosticCategory.Message,"Implement_all_unimplemented_interfaces_95032","Implement all unimplemented interfaces"),Install_all_missing_types_packages:diag(95033,e.DiagnosticCategory.Message,"Install_all_missing_types_packages_95033","Install all missing types packages"),Rewrite_all_as_indexed_access_types:diag(95034,e.DiagnosticCategory.Message,"Rewrite_all_as_indexed_access_types_95034","Rewrite all as indexed access types"),Convert_all_to_default_imports:diag(95035,e.DiagnosticCategory.Message,"Convert_all_to_default_imports_95035","Convert all to default imports"),Make_all_super_calls_the_first_statement_in_their_constructor:diag(95036,e.DiagnosticCategory.Message,"Make_all_super_calls_the_first_statement_in_their_constructor_95036","Make all 'super()' calls the first statement in their constructor"),Add_qualifier_to_all_unresolved_variables_matching_a_member_name:diag(95037,e.DiagnosticCategory.Message,"Add_qualifier_to_all_unresolved_variables_matching_a_member_name_95037","Add qualifier to all unresolved variables matching a member name"),Change_all_extended_interfaces_to_implements:diag(95038,e.DiagnosticCategory.Message,"Change_all_extended_interfaces_to_implements_95038","Change all extended interfaces to 'implements'"),Add_all_missing_super_calls:diag(95039,e.DiagnosticCategory.Message,"Add_all_missing_super_calls_95039","Add all missing super calls"),Implement_all_inherited_abstract_classes:diag(95040,e.DiagnosticCategory.Message,"Implement_all_inherited_abstract_classes_95040","Implement all inherited abstract classes"),Add_all_missing_async_modifiers:diag(95041,e.DiagnosticCategory.Message,"Add_all_missing_async_modifiers_95041","Add all missing 'async' modifiers"),Add_ts_ignore_to_all_error_messages:diag(95042,e.DiagnosticCategory.Message,"Add_ts_ignore_to_all_error_messages_95042","Add '@ts-ignore' to all error messages"),Annotate_everything_with_types_from_JSDoc:diag(95043,e.DiagnosticCategory.Message,"Annotate_everything_with_types_from_JSDoc_95043","Annotate everything with types from JSDoc"),Add_to_all_uncalled_decorators:diag(95044,e.DiagnosticCategory.Message,"Add_to_all_uncalled_decorators_95044","Add '()' to all uncalled decorators"),Convert_all_constructor_functions_to_classes:diag(95045,e.DiagnosticCategory.Message,"Convert_all_constructor_functions_to_classes_95045","Convert all constructor functions to classes"),Generate_get_and_set_accessors:diag(95046,e.DiagnosticCategory.Message,"Generate_get_and_set_accessors_95046","Generate 'get' and 'set' accessors"),Convert_require_to_import:diag(95047,e.DiagnosticCategory.Message,"Convert_require_to_import_95047","Convert 'require' to 'import'"),Convert_all_require_to_import:diag(95048,e.DiagnosticCategory.Message,"Convert_all_require_to_import_95048","Convert all 'require' to 'import'"),Move_to_a_new_file:diag(95049,e.DiagnosticCategory.Message,"Move_to_a_new_file_95049","Move to a new file"),Remove_unreachable_code:diag(95050,e.DiagnosticCategory.Message,"Remove_unreachable_code_95050","Remove unreachable code"),Remove_all_unreachable_code:diag(95051,e.DiagnosticCategory.Message,"Remove_all_unreachable_code_95051","Remove all unreachable code"),Add_missing_typeof:diag(95052,e.DiagnosticCategory.Message,"Add_missing_typeof_95052","Add missing 'typeof'"),Remove_unused_label:diag(95053,e.DiagnosticCategory.Message,"Remove_unused_label_95053","Remove unused label"),Remove_all_unused_labels:diag(95054,e.DiagnosticCategory.Message,"Remove_all_unused_labels_95054","Remove all unused labels"),Convert_0_to_mapped_object_type:diag(95055,e.DiagnosticCategory.Message,"Convert_0_to_mapped_object_type_95055","Convert '{0}' to mapped object type"),Convert_namespace_import_to_named_imports:diag(95056,e.DiagnosticCategory.Message,"Convert_namespace_import_to_named_imports_95056","Convert namespace import to named imports"),Convert_named_imports_to_namespace_import:diag(95057,e.DiagnosticCategory.Message,"Convert_named_imports_to_namespace_import_95057","Convert named imports to namespace import"),Add_or_remove_braces_in_an_arrow_function:diag(95058,e.DiagnosticCategory.Message,"Add_or_remove_braces_in_an_arrow_function_95058","Add or remove braces in an arrow function"),Add_braces_to_arrow_function:diag(95059,e.DiagnosticCategory.Message,"Add_braces_to_arrow_function_95059","Add braces to arrow function"),Remove_braces_from_arrow_function:diag(95060,e.DiagnosticCategory.Message,"Remove_braces_from_arrow_function_95060","Remove braces from arrow function"),Convert_default_export_to_named_export:diag(95061,e.DiagnosticCategory.Message,"Convert_default_export_to_named_export_95061","Convert default export to named export"),Convert_named_export_to_default_export:diag(95062,e.DiagnosticCategory.Message,"Convert_named_export_to_default_export_95062","Convert named export to default export"),Add_missing_enum_member_0:diag(95063,e.DiagnosticCategory.Message,"Add_missing_enum_member_0_95063","Add missing enum member '{0}'"),Add_all_missing_imports:diag(95064,e.DiagnosticCategory.Message,"Add_all_missing_imports_95064","Add all missing imports"),Convert_to_async_function:diag(95065,e.DiagnosticCategory.Message,"Convert_to_async_function_95065","Convert to async function"),Convert_all_to_async_functions:diag(95066,e.DiagnosticCategory.Message,"Convert_all_to_async_functions_95066","Convert all to async functions"),Generate_types_for_0:diag(95067,e.DiagnosticCategory.Message,"Generate_types_for_0_95067","Generate types for '{0}'"),Generate_types_for_all_packages_without_types:diag(95068,e.DiagnosticCategory.Message,"Generate_types_for_all_packages_without_types_95068","Generate types for all packages without types"),Add_unknown_conversion_for_non_overlapping_types:diag(95069,e.DiagnosticCategory.Message,"Add_unknown_conversion_for_non_overlapping_types_95069","Add 'unknown' conversion for non-overlapping types"),Add_unknown_to_all_conversions_of_non_overlapping_types:diag(95070,e.DiagnosticCategory.Message,"Add_unknown_to_all_conversions_of_non_overlapping_types_95070","Add 'unknown' to all conversions of non-overlapping types"),Add_missing_new_operator_to_call:diag(95071,e.DiagnosticCategory.Message,"Add_missing_new_operator_to_call_95071","Add missing 'new' operator to call"),Add_missing_new_operator_to_all_calls:diag(95072,e.DiagnosticCategory.Message,"Add_missing_new_operator_to_all_calls_95072","Add missing 'new' operator to all calls"),Add_names_to_all_parameters_without_names:diag(95073,e.DiagnosticCategory.Message,"Add_names_to_all_parameters_without_names_95073","Add names to all parameters without names")}})(s||(s={}));var s;(function(e){var t;function tokenIsIdentifierOrKeyword(e){return e>=72}e.tokenIsIdentifierOrKeyword=tokenIsIdentifierOrKeyword;function tokenIsIdentifierOrKeywordOrGreaterThan(e){return e===30||tokenIsIdentifierOrKeyword(e)}e.tokenIsIdentifierOrKeywordOrGreaterThan=tokenIsIdentifierOrKeywordOrGreaterThan;var r=(t={abstract:118,any:120,as:119,bigint:146,boolean:123,break:73,case:74,catch:75,class:76,continue:78,const:77},t[""+"constructor"]=124,t.debugger=79,t.declare=125,t.default=80,t.delete=81,t.do=82,t.else=83,t.enum=84,t.export=85,t.extends=86,t.false=87,t.finally=88,t.for=89,t.from=144,t.function=90,t.get=126,t.if=91,t.implements=109,t.import=92,t.in=93,t.infer=127,t.instanceof=94,t.interface=110,t.is=128,t.keyof=129,t.let=111,t.module=130,t.namespace=131,t.never=132,t.new=95,t.null=96,t.number=135,t.object=136,t.package=112,t.private=113,t.protected=114,t.public=115,t.readonly=133,t.require=134,t.global=145,t.return=97,t.set=137,t.static=116,t.string=138,t.super=98,t.switch=99,t.symbol=139,t.this=100,t.throw=101,t.true=102,t.try=103,t.type=140,t.typeof=104,t.undefined=141,t.unique=142,t.unknown=143,t.var=105,t.void=106,t.while=107,t.with=108,t.yield=117,t.async=121,t.await=122,t.of=147,t);var i=e.createMapFromTemplate(r);var a=e.createMapFromTemplate(n({},r,{"{":18,"}":19,"(":20,")":21,"[":22,"]":23,".":24,"...":25,";":26,",":27,"<":28,">":30,"<=":31,">=":32,"==":33,"!=":34,"===":35,"!==":36,"=>":37,"+":38,"-":39,"**":41,"*":40,"/":42,"%":43,"++":44,"--":45,"<<":46,">":47,">>>":48,"&":49,"|":50,"^":51,"!":52,"~":53,"&&":54,"||":55,"?":56,":":57,"=":59,"+=":60,"-=":61,"*=":62,"**=":63,"/=":64,"%=":65,"<<=":66,">>=":67,">>>=":68,"&=":69,"|=":70,"^=":71,"@":58}));var o=[170,170,181,181,186,186,192,214,216,246,248,543,546,563,592,685,688,696,699,705,720,721,736,740,750,750,890,890,902,902,904,906,908,908,910,929,931,974,976,983,986,1011,1024,1153,1164,1220,1223,1224,1227,1228,1232,1269,1272,1273,1329,1366,1369,1369,1377,1415,1488,1514,1520,1522,1569,1594,1600,1610,1649,1747,1749,1749,1765,1766,1786,1788,1808,1808,1810,1836,1920,1957,2309,2361,2365,2365,2384,2384,2392,2401,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2524,2525,2527,2529,2544,2545,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2699,2701,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2784,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2870,2873,2877,2877,2908,2909,2911,2913,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,2997,2999,3001,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3168,3169,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3294,3294,3296,3297,3333,3340,3342,3344,3346,3368,3370,3385,3424,3425,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3805,3840,3840,3904,3911,3913,3946,3976,3979,4096,4129,4131,4135,4137,4138,4176,4181,4256,4293,4304,4342,4352,4441,4447,4514,4520,4601,4608,4614,4616,4678,4680,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4742,4744,4744,4746,4749,4752,4782,4784,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4814,4816,4822,4824,4846,4848,4878,4880,4880,4882,4885,4888,4894,4896,4934,4936,4954,5024,5108,5121,5740,5743,5750,5761,5786,5792,5866,6016,6067,6176,6263,6272,6312,7680,7835,7840,7929,7936,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8319,8319,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8497,8499,8505,8544,8579,12293,12295,12321,12329,12337,12341,12344,12346,12353,12436,12445,12446,12449,12538,12540,12542,12549,12588,12593,12686,12704,12727,13312,19893,19968,40869,40960,42124,44032,55203,63744,64045,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65138,65140,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500];var s=[170,170,181,181,186,186,192,214,216,246,248,543,546,563,592,685,688,696,699,705,720,721,736,740,750,750,768,846,864,866,890,890,902,902,904,906,908,908,910,929,931,974,976,983,986,1011,1024,1153,1155,1158,1164,1220,1223,1224,1227,1228,1232,1269,1272,1273,1329,1366,1369,1369,1377,1415,1425,1441,1443,1465,1467,1469,1471,1471,1473,1474,1476,1476,1488,1514,1520,1522,1569,1594,1600,1621,1632,1641,1648,1747,1749,1756,1759,1768,1770,1773,1776,1788,1808,1836,1840,1866,1920,1968,2305,2307,2309,2361,2364,2381,2384,2388,2392,2403,2406,2415,2433,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2492,2494,2500,2503,2504,2507,2509,2519,2519,2524,2525,2527,2531,2534,2545,2562,2562,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2649,2652,2654,2654,2662,2676,2689,2691,2693,2699,2701,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2784,2790,2799,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2870,2873,2876,2883,2887,2888,2891,2893,2902,2903,2908,2909,2911,2913,2918,2927,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,2997,2999,3001,3006,3010,3014,3016,3018,3021,3031,3031,3047,3055,3073,3075,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3134,3140,3142,3144,3146,3149,3157,3158,3168,3169,3174,3183,3202,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3262,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3297,3302,3311,3330,3331,3333,3340,3342,3344,3346,3368,3370,3385,3390,3395,3398,3400,3402,3405,3415,3415,3424,3425,3430,3439,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3769,3771,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3805,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3946,3953,3972,3974,3979,3984,3991,3993,4028,4038,4038,4096,4129,4131,4135,4137,4138,4140,4146,4150,4153,4160,4169,4176,4185,4256,4293,4304,4342,4352,4441,4447,4514,4520,4601,4608,4614,4616,4678,4680,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4742,4744,4744,4746,4749,4752,4782,4784,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4814,4816,4822,4824,4846,4848,4878,4880,4880,4882,4885,4888,4894,4896,4934,4936,4954,4969,4977,5024,5108,5121,5740,5743,5750,5761,5786,5792,5866,6016,6099,6112,6121,6160,6169,6176,6263,6272,6313,7680,7835,7840,7929,7936,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8255,8256,8319,8319,8400,8412,8417,8417,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8497,8499,8505,8544,8579,12293,12295,12321,12335,12337,12341,12344,12346,12353,12436,12441,12442,12445,12446,12449,12542,12549,12588,12593,12686,12704,12727,13312,19893,19968,40869,40960,42124,44032,55203,63744,64045,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65056,65059,65075,65076,65101,65103,65136,65138,65140,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65381,65470,65474,65479,65482,65487,65490,65495,65498,65500];var c=[170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,880,884,886,887,890,893,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1319,1329,1366,1369,1369,1377,1415,1488,1514,1520,1522,1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1994,2026,2036,2037,2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2208,2208,2210,2220,2308,2361,2365,2365,2384,2384,2392,2401,2417,2423,2425,2431,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3133,3133,3160,3161,3168,3169,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3294,3294,3296,3297,3313,3314,3333,3340,3342,3344,3346,3386,3389,3389,3406,3406,3424,3425,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3807,3840,3840,3904,3911,3913,3948,3976,3980,4096,4138,4159,4159,4176,4181,4186,4189,4193,4193,4197,4198,4206,4208,4213,4225,4238,4238,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4992,5007,5024,5108,5121,5740,5743,5759,5761,5786,5792,5866,5870,5872,5888,5900,5902,5905,5920,5937,5952,5969,5984,5996,5998,6e3,6016,6067,6103,6103,6108,6108,6176,6263,6272,6312,6314,6314,6320,6389,6400,6428,6480,6509,6512,6516,6528,6571,6593,6599,6656,6678,6688,6740,6823,6823,6917,6963,6981,6987,7043,7072,7086,7087,7098,7141,7168,7203,7245,7247,7258,7293,7401,7404,7406,7409,7413,7414,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305,8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11502,11506,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11648,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11823,11823,12293,12295,12321,12329,12337,12341,12344,12348,12353,12438,12445,12447,12449,12538,12540,12543,12549,12589,12593,12686,12704,12730,12784,12799,13312,19893,19968,40908,40960,42124,42192,42237,42240,42508,42512,42527,42538,42539,42560,42606,42623,42647,42656,42735,42775,42783,42786,42888,42891,42894,42896,42899,42912,42922,43e3,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43250,43255,43259,43259,43274,43301,43312,43334,43360,43388,43396,43442,43471,43471,43520,43560,43584,43586,43588,43595,43616,43638,43642,43642,43648,43695,43697,43697,43701,43702,43705,43709,43712,43712,43714,43714,43739,43741,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43968,44002,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500];var u=[170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,768,884,886,887,890,893,902,902,904,906,908,908,910,929,931,1013,1015,1153,1155,1159,1162,1319,1329,1366,1369,1369,1377,1415,1425,1469,1471,1471,1473,1474,1476,1477,1479,1479,1488,1514,1520,1522,1552,1562,1568,1641,1646,1747,1749,1756,1759,1768,1770,1788,1791,1791,1808,1866,1869,1969,1984,2037,2042,2042,2048,2093,2112,2139,2208,2208,2210,2220,2276,2302,2304,2403,2406,2415,2417,2423,2425,2431,2433,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2500,2503,2504,2507,2510,2519,2519,2524,2525,2527,2531,2534,2545,2561,2563,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2641,2641,2649,2652,2654,2654,2662,2677,2689,2691,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2787,2790,2799,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2876,2884,2887,2888,2891,2893,2902,2903,2908,2909,2911,2915,2918,2927,2929,2929,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3006,3010,3014,3016,3018,3021,3024,3024,3031,3031,3046,3055,3073,3075,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3133,3140,3142,3144,3146,3149,3157,3158,3160,3161,3168,3171,3174,3183,3202,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3260,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3299,3302,3311,3313,3314,3330,3331,3333,3340,3342,3344,3346,3386,3389,3396,3398,3400,3402,3406,3415,3415,3424,3427,3430,3439,3450,3455,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3769,3771,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3807,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3948,3953,3972,3974,3991,3993,4028,4038,4038,4096,4169,4176,4253,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4957,4959,4992,5007,5024,5108,5121,5740,5743,5759,5761,5786,5792,5866,5870,5872,5888,5900,5902,5908,5920,5940,5952,5971,5984,5996,5998,6e3,6002,6003,6016,6099,6103,6103,6108,6109,6112,6121,6155,6157,6160,6169,6176,6263,6272,6314,6320,6389,6400,6428,6432,6443,6448,6459,6470,6509,6512,6516,6528,6571,6576,6601,6608,6617,6656,6683,6688,6750,6752,6780,6783,6793,6800,6809,6823,6823,6912,6987,6992,7001,7019,7027,7040,7155,7168,7223,7232,7241,7245,7293,7376,7378,7380,7414,7424,7654,7676,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8204,8205,8255,8256,8276,8276,8305,8305,8319,8319,8336,8348,8400,8412,8417,8417,8421,8432,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11647,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11744,11775,11823,11823,12293,12295,12321,12335,12337,12341,12344,12348,12353,12438,12441,12442,12445,12447,12449,12538,12540,12543,12549,12589,12593,12686,12704,12730,12784,12799,13312,19893,19968,40908,40960,42124,42192,42237,42240,42508,42512,42539,42560,42607,42612,42621,42623,42647,42655,42737,42775,42783,42786,42888,42891,42894,42896,42899,42912,42922,43e3,43047,43072,43123,43136,43204,43216,43225,43232,43255,43259,43259,43264,43309,43312,43347,43360,43388,43392,43456,43471,43481,43520,43574,43584,43597,43600,43609,43616,43638,43642,43643,43648,43714,43739,43741,43744,43759,43762,43766,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43968,44010,44012,44013,44016,44025,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65024,65039,65056,65062,65075,65076,65101,65103,65136,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500];function lookupInUnicodeMap(e,t){if(e=1?lookupInUnicodeMap(e,c):lookupInUnicodeMap(e,o)}e.isUnicodeIdentifierStart=isUnicodeIdentifierStart;function isUnicodeIdentifierPart(e,t){return t>=1?lookupInUnicodeMap(e,u):lookupInUnicodeMap(e,s)}function makeReverseMap(e){var t=[];e.forEach(function(e,r){t[e]=r});return t}var l=makeReverseMap(a);function tokenToString(e){return l[e]}e.tokenToString=tokenToString;function stringToToken(e){return a.get(e)}e.stringToToken=stringToToken;function computeLineStarts(e){var t=new Array;var r=0;var n=0;while(r127&&isLineBreak(i)){t.push(n);n=r}break}}t.push(n);return t}e.computeLineStarts=computeLineStarts;function getPositionOfLineAndCharacter(e,t,r){return computePositionOfLineAndCharacter(getLineStarts(e),t,r,e.text)}e.getPositionOfLineAndCharacter=getPositionOfLineAndCharacter;function getPositionOfLineAndCharacterWithEdits(e,t,r){return computePositionOfLineAndCharacter(getLineStarts(e),t,r,e.text,true)}e.getPositionOfLineAndCharacterWithEdits=getPositionOfLineAndCharacterWithEdits;function computePositionOfLineAndCharacter(t,r,n,i,a){if(r<0||r>=t.length){if(a){r=r<0?0:r>=t.length?t.length-1:r}else{e.Debug.fail("Bad line number. Line: "+r+", lineStarts.length: "+t.length+" , line map is correct? "+(i!==undefined?e.arraysEqual(t,computeLineStarts(i)):"unknown"))}}var o=t[r]+n;if(a){return o>t[r+1]?t[r+1]:typeof i==="string"&&o>i.length?i.length:o}if(r=8192&&e<=8203||e===8239||e===8287||e===12288||e===65279}e.isWhiteSpaceSingleLine=isWhiteSpaceSingleLine;function isLineBreak(e){return e===10||e===13||e===8232||e===8233}e.isLineBreak=isLineBreak;function isDigit(e){return e>=48&&e<=57}function isOctalDigit(e){return e>=48&&e<=55}e.isOctalDigit=isOctalDigit;function couldStartTrivia(e,t){var r=e.charCodeAt(t);switch(r){case 13:case 10:case 9:case 11:case 12:case 32:case 47:case 60:case 124:case 61:case 62:return true;case 35:return t===0;default:return r>127}}e.couldStartTrivia=couldStartTrivia;function skipTrivia(t,r,n,i){if(i===void 0){i=false}if(e.positionIsSynthesized(r)){return r}while(true){var a=t.charCodeAt(r);switch(a){case 13:if(t.charCodeAt(r+1)===10){r++}case 10:r++;if(n){return r}continue;case 9:case 11:case 12:case 32:r++;continue;case 47:if(i){break}if(t.charCodeAt(r+1)===47){r+=2;while(r127&&isWhiteSpaceLike(a)){r++;continue}break}return r}}e.skipTrivia=skipTrivia;var f="<<<<<<<".length;function isConflictMarkerTrivia(t,r){e.Debug.assert(r>=0);if(r===0||isLineBreak(t.charCodeAt(r-1))){var n=t.charCodeAt(r);if(r+f=0&&r127&&isWhiteSpaceLike(g)){if(f&&isLineBreak(g)){l=true}r++;continue}break e}}if(f){p=i(s,c,u,l,a,p)}return p}function forEachLeadingCommentRange(e,t,r,n){return iterateCommentRanges(false,e,t,false,r,n)}e.forEachLeadingCommentRange=forEachLeadingCommentRange;function forEachTrailingCommentRange(e,t,r,n){return iterateCommentRanges(false,e,t,true,r,n)}e.forEachTrailingCommentRange=forEachTrailingCommentRange;function reduceEachLeadingCommentRange(e,t,r,n,i){return iterateCommentRanges(true,e,t,false,r,n,i)}e.reduceEachLeadingCommentRange=reduceEachLeadingCommentRange;function reduceEachTrailingCommentRange(e,t,r,n,i){return iterateCommentRanges(true,e,t,true,r,n,i)}e.reduceEachTrailingCommentRange=reduceEachTrailingCommentRange;function appendCommentRange(e,t,r,n,i,a){if(!a){a=[]}a.push({kind:r,pos:e,end:t,hasTrailingNewLine:n});return a}function getLeadingCommentRanges(e,t){return reduceEachLeadingCommentRange(e,t,appendCommentRange,undefined,undefined)}e.getLeadingCommentRanges=getLeadingCommentRanges;function getTrailingCommentRanges(e,t){return reduceEachTrailingCommentRange(e,t,appendCommentRange,undefined,undefined)}e.getTrailingCommentRanges=getTrailingCommentRanges;function getShebang(e){var t=d.exec(e);if(t){return t[0]}}e.getShebang=getShebang;function isIdentifierStart(e,t){return e>=65&&e<=90||e>=97&&e<=122||e===36||e===95||e>127&&isUnicodeIdentifierStart(e,t)}e.isIdentifierStart=isIdentifierStart;function isIdentifierPart(e,t){return e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||e===36||e===95||e>127&&isUnicodeIdentifierPart(e,t)}e.isIdentifierPart=isIdentifierPart;function isIdentifierText(e,t){if(!isIdentifierStart(e.charCodeAt(0),t)){return false}for(var r=1;r108},isReservedWord:function(){return g>=73&&g<=108},isUnterminated:function(){return(m&4)!==0},getTokenFlags:function(){return m},reScanGreaterToken:reScanGreaterToken,reScanSlashToken:reScanSlashToken,reScanTemplateToken:reScanTemplateToken,scanJsxIdentifier:scanJsxIdentifier,scanJsxAttributeValue:scanJsxAttributeValue,reScanJsxToken:reScanJsxToken,scanJsxToken:scanJsxToken,scanJSDocToken:scanJSDocToken,scan:scan,getText:getText,setText:setText,setScriptTarget:setScriptTarget,setLanguageVariant:setLanguageVariant,setOnError:setOnError,setTextPos:setTextPos,setInJSDocType:setInJSDocType,tryScan:tryScan,lookAhead:lookAhead,scanRange:scanRange};function error(e,t,r){if(t===void 0){t=l}if(o){var n=l;l=t;o(e,r||0);l=n}}function scanNumberFragment(){var t=l;var r=false;var n=false;var i="";while(true){var a=u.charCodeAt(l);if(a===95){m|=512;if(r){r=false;n=true;i+=u.substring(t,l)}else if(n){error(e.Diagnostics.Multiple_consecutive_numeric_separators_are_not_permitted,l,1)}else{error(e.Diagnostics.Numeric_separators_are_not_allowed_here,l,1)}l++;t=l;continue}if(isDigit(a)){r=true;n=false;l++;continue}break}if(u.charCodeAt(l-1)===95){error(e.Diagnostics.Numeric_separators_are_not_allowed_here,l-1,1)}return i+u.substring(t,l)}function scanNumber(){var t=l;var r=scanNumberFragment();var n;var i;if(u.charCodeAt(l)===46){l++;n=scanNumberFragment()}var a=l;if(u.charCodeAt(l)===69||u.charCodeAt(l)===101){l++;m|=16;if(u.charCodeAt(l)===43||u.charCodeAt(l)===45)l++;var o=l;var s=scanNumberFragment();if(!s){error(e.Diagnostics.Digit_expected)}else{i=u.substring(a,o)+s;a=l}}var c;if(m&512){c=r;if(n){c+="."+n}if(i){c+=i}}else{c=u.substring(t,a)}if(n!==undefined||m&16){return{type:8,value:""+ +c}}else{_=c;var f=checkBigIntSuffix();return{type:f,value:_}}}function scanOctalDigits(){var e=l;while(isOctalDigit(u.charCodeAt(l))){l++}return+u.substring(e,l)}function scanExactNumberOfHexDigits(e,t){var r=scanHexDigits(e,false,t);return r?parseInt(r,16):-1}function scanMinimumNumberOfHexDigits(e,t){return scanHexDigits(e,true,t)}function scanHexDigits(t,r,n){var i=[];var a=false;var o=false;while(i.length=65&&s<=70){s+=97-65}else if(!(s>=48&&s<=57||s>=97&&s<=102)){break}i.push(s);l++;o=false}if(i.length=f){n+=u.substring(i,l);m|=4;error(e.Diagnostics.Unterminated_string_literal);break}var a=u.charCodeAt(l);if(a===r){n+=u.substring(i,l);l++;break}if(a===92&&!t){n+=u.substring(i,l);n+=scanEscapeSequence();i=l;continue}if(isLineBreak(a)&&!t){n+=u.substring(i,l);m|=4;error(e.Diagnostics.Unterminated_string_literal);break}l++}return n}function scanTemplateAndSetTokenValue(){var t=u.charCodeAt(l)===96;l++;var r=l;var n="";var i;while(true){if(l>=f){n+=u.substring(r,l);m|=4;error(e.Diagnostics.Unterminated_template_literal);i=t?14:17;break}var a=u.charCodeAt(l);if(a===96){n+=u.substring(r,l);l++;i=t?14:17;break}if(a===36&&l+1=f){error(e.Diagnostics.Unexpected_end_of_text);return""}var t=u.charCodeAt(l);l++;switch(t){case 48:return"\0";case 98:return"\b";case 116:return"\t";case 110:return"\n";case 118:return"\v";case 102:return"\f";case 114:return"\r";case 39:return"'";case 34:return'"';case 117:if(l=0){return String.fromCharCode(r)}else{error(e.Diagnostics.Hexadecimal_digit_expected);return""}}function scanExtendedUnicodeEscape(){var t=scanMinimumNumberOfHexDigits(1,false);var r=t?parseInt(t,16):-1;var n=false;if(r<0){error(e.Diagnostics.Hexadecimal_digit_expected);n=true}else if(r>1114111){error(e.Diagnostics.An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive);n=true}if(l>=f){error(e.Diagnostics.Unexpected_end_of_text);n=true}else if(u.charCodeAt(l)===125){l++}else{error(e.Diagnostics.Unterminated_Unicode_escape_sequence);n=true}if(n){return""}return utf16EncodeAsString(r)}function utf16EncodeAsString(t){e.Debug.assert(0<=t&&t<=1114111);if(t<=65535){return String.fromCharCode(t)}var r=Math.floor((t-65536)/1024)+55296;var n=(t-65536)%1024+56320;return String.fromCharCode(r,n)}function peekUnicodeEscape(){if(l+5=0&&isIdentifierPart(n,t))){break}e+=u.substring(r,l);e+=String.fromCharCode(n);l+=6;r=l}else{break}}e+=u.substring(r,l);return e}function getIdentifierToken(){var e=_.length;if(e>=2&&e<=11){var t=_.charCodeAt(0);if(t>=97&&t<=122){var r=i.get(_);if(r!==undefined){return g=r}}}return g=72}function scanBinaryOrOctalDigits(t){var r="";var n=false;var i=false;while(true){var a=u.charCodeAt(l);if(a===95){m|=512;if(n){n=false;i=true}else if(i){error(e.Diagnostics.Multiple_consecutive_numeric_separators_are_not_permitted,l,1)}else{error(e.Diagnostics.Numeric_separators_are_not_allowed_here,l,1)}l++;continue}n=true;if(!isDigit(a)||a-48>=t){break}r+=u[l];l++;i=false}if(u.charCodeAt(l-1)===95){error(e.Diagnostics.Numeric_separators_are_not_allowed_here,l-1,1)}return r}function checkBigIntSuffix(){if(u.charCodeAt(l)===110){_+="n";if(m&384){_=e.parsePseudoBigInt(_)+"n"}l++;return 9}else{var t=m&128?parseInt(_.slice(2),2):m&256?parseInt(_.slice(2),8):+_;_=""+t;return 8}}function scan(){var i;d=l;m=0;var a=false;while(true){p=l;if(l>=f){return g=1}var o=u.charCodeAt(l);if(o===35&&l===0&&isShebangTrivia(u,l)){l=scanShebangTrivia(u,l);if(r){continue}else{return g=6}}switch(o){case 10:case 13:m|=1;if(r){l++;continue}else{if(o===13&&l+1=0&&isIdentifierStart(h,t)){l+=6;_=String.fromCharCode(h)+scanIdentifierParts();return g=getIdentifierToken()}error(e.Diagnostics.Invalid_character);l++;return g=0;default:if(isIdentifierStart(o,t)){l++;while(l=f){m|=4;error(e.Diagnostics.Unterminated_regular_expression_literal);break}var a=u.charCodeAt(r);if(isLineBreak(a)){m|=4;error(e.Diagnostics.Unterminated_regular_expression_literal);break}if(n){n=false}else if(a===47&&!i){r++;break}else if(a===91){i=true}else if(a===92){n=true}else if(a===93){i=false}r++}while(r=f){return g=1}var e=u.charCodeAt(l);if(e===60){if(u.charCodeAt(l+1)===47){l+=2;return g=29}l++;return g=28}if(e===123){l++;return g=18}var t=0;while(l=f){return g=1}var e=u.charCodeAt(l);l++;switch(e){case 9:case 11:case 12:case 32:while(l=0);l=t;d=t;p=t;g=0;_=undefined;m=0}function setInJSDocType(e){y+=e?1:-1}}e.createScanner=createScanner})(s||(s={}));var s;(function(e){function isExternalModuleNameRelative(t){return e.pathIsRelative(t)||e.isRootedDiskPath(t)}e.isExternalModuleNameRelative=isExternalModuleNameRelative;function sortAndDeduplicateDiagnostics(t){return e.sortAndDeduplicate(t,e.compareDiagnostics)}e.sortAndDeduplicateDiagnostics=sortAndDeduplicateDiagnostics})(s||(s={}));(function(e){e.resolvingEmptyArray=[];e.emptyMap=e.createMap();e.emptyUnderscoreEscapedMap=e.emptyMap;e.externalHelpersModuleNameText="tslib";e.defaultMaximumTruncationLength=160;function getDeclarationOfKind(e,t){var r=e.declarations;if(r){for(var n=0,i=r;n=0);return e.getLineStarts(r)[t]}e.getStartPositionOfLine=getStartPositionOfLine;function nodePosToString(t){var r=getSourceFileOfNode(t);var n=e.getLineAndCharacterOfPosition(r,t.pos);return r.fileName+"("+(n.line+1)+","+(n.character+1)+")"}e.nodePosToString=nodePosToString;function getEndLinePosition(t,r){e.Debug.assert(t>=0);var n=e.getLineStarts(r);var i=t;var a=r.text;if(i+1===n.length){return a.length-1}else{var o=n[i];var s=n[i+1]-1;e.Debug.assert(e.isLineBreak(a.charCodeAt(s)));while(o<=s&&e.isLineBreak(a.charCodeAt(s))){s--}return s}}e.getEndLinePosition=getEndLinePosition;function isFileLevelUniqueName(e,t,r){return!(r&&r(t))&&!e.identifiers.has(t)}e.isFileLevelUniqueName=isFileLevelUniqueName;function nodeIsMissing(e){if(e===undefined){return true}return e.pos===e.end&&e.pos>=0&&e.kind!==1}e.nodeIsMissing=nodeIsMissing;function nodeIsPresent(e){return!nodeIsMissing(e)}e.nodeIsPresent=nodeIsPresent;function addStatementsAfterPrologue(e,t){if(t===undefined||t.length===0)return e;var r=0;for(;r0){return getTokenPosOfNode(t._children[0],r,n)}return e.skipTrivia((r||getSourceFileOfNode(t)).text,t.pos)}e.getTokenPosOfNode=getTokenPosOfNode;function getNonDecoratorTokenPosOfNode(t,r){if(nodeIsMissing(t)||!t.decorators){return getTokenPosOfNode(t,r)}return e.skipTrivia((r||getSourceFileOfNode(t)).text,t.decorators.end)}e.getNonDecoratorTokenPosOfNode=getNonDecoratorTokenPosOfNode;function getSourceTextOfNodeFromSourceFile(e,t,r){if(r===void 0){r=false}return getTextOfNodeFromSourceText(e.text,t,r)}e.getSourceTextOfNodeFromSourceFile=getSourceTextOfNodeFromSourceFile;function isJSDocTypeExpressionOrChild(e){return e.kind===283||e.parent&&isJSDocTypeExpressionOrChild(e.parent)}function getTextOfNodeFromSourceText(t,r,n){if(n===void 0){n=false}if(nodeIsMissing(r)){return""}var i=t.substring(n?r.pos:e.skipTrivia(t,r.pos),r.end);if(isJSDocTypeExpressionOrChild(r)){i=i.replace(/(^|\r?\n|\r)\s*\*\s*/g,"$1")}return i}e.getTextOfNodeFromSourceText=getTextOfNodeFromSourceText;function getTextOfNode(e,t){if(t===void 0){t=false}return getSourceTextOfNodeFromSourceFile(getSourceFileOfNode(e),e,t)}e.getTextOfNode=getTextOfNode;function getPos(e){return e.pos}function indexOfNode(t,r){return e.binarySearch(t,r,getPos,e.compareValues)}e.indexOfNode=indexOfNode;function getEmitFlags(e){var t=e.emitNode;return t&&t.flags||0}e.getEmitFlags=getEmitFlags;function getLiteralText(t,r,n){if(!nodeIsSynthesized(t)&&t.parent&&!(e.isNumericLiteral(t)&&t.numericLiteralFlags&512||e.isBigIntLiteral(t))){return getSourceTextOfNodeFromSourceFile(r,t)}var i=n||getEmitFlags(t)&16777216?escapeString:escapeNonAsciiString;switch(t.kind){case 10:if(t.singleQuote){return"'"+i(t.text,39)+"'"}else{return'"'+i(t.text,34)+'"'}case 14:return"`"+i(t.text,96)+"`";case 15:return"`"+i(t.text,96)+"${";case 16:return"}"+i(t.text,96)+"${";case 17:return"}"+i(t.text,96)+"`";case 8:case 9:case 13:return t.text}return e.Debug.fail("Literal kind '"+t.kind+"' not accounted for.")}e.getLiteralText=getLiteralText;function getTextOfConstantValue(t){return e.isString(t)?'"'+escapeNonAsciiString(t)+'"':""+t}e.getTextOfConstantValue=getTextOfConstantValue;function makeIdentifierFromModuleName(t){return e.getBaseFileName(t).replace(/^(\d)/,"_$1").replace(/\W/g,"_")}e.makeIdentifierFromModuleName=makeIdentifierFromModuleName;function isBlockOrCatchScoped(t){return(e.getCombinedNodeFlags(t)&3)!==0||isCatchClauseVariableDeclarationOrBindingElement(t)}e.isBlockOrCatchScoped=isBlockOrCatchScoped;function isCatchClauseVariableDeclarationOrBindingElement(e){var t=getRootDeclaration(e);return t.kind===237&&t.parent.kind===274}e.isCatchClauseVariableDeclarationOrBindingElement=isCatchClauseVariableDeclarationOrBindingElement;function isAmbientModule(t){return e.isModuleDeclaration(t)&&(t.name.kind===10||isGlobalScopeAugmentation(t))}e.isAmbientModule=isAmbientModule;function isModuleWithStringLiteralName(t){return e.isModuleDeclaration(t)&&t.name.kind===10}e.isModuleWithStringLiteralName=isModuleWithStringLiteralName;function isNonGlobalAmbientModule(t){return e.isModuleDeclaration(t)&&e.isStringLiteral(t.name)}e.isNonGlobalAmbientModule=isNonGlobalAmbientModule;function isEffectiveModuleDeclaration(t){return e.isModuleDeclaration(t)||e.isIdentifier(t)}e.isEffectiveModuleDeclaration=isEffectiveModuleDeclaration;function isShorthandAmbientModuleSymbol(e){return isShorthandAmbientModule(e.valueDeclaration)}e.isShorthandAmbientModuleSymbol=isShorthandAmbientModuleSymbol;function isShorthandAmbientModule(e){return e&&e.kind===244&&!e.body}function isBlockScopedContainerTopLevel(t){return t.kind===279||t.kind===244||e.isFunctionLike(t)}e.isBlockScopedContainerTopLevel=isBlockScopedContainerTopLevel;function isGlobalScopeAugmentation(e){return!!(e.flags&512)}e.isGlobalScopeAugmentation=isGlobalScopeAugmentation;function isExternalModuleAugmentation(e){return isAmbientModule(e)&&isModuleAugmentationExternal(e)}e.isExternalModuleAugmentation=isExternalModuleAugmentation;function isModuleAugmentationExternal(t){switch(t.parent.kind){case 279:return e.isExternalModule(t.parent);case 245:return isAmbientModule(t.parent.parent)&&e.isSourceFile(t.parent.parent.parent)&&!e.isExternalModule(t.parent.parent.parent)}return false}e.isModuleAugmentationExternal=isModuleAugmentationExternal;function getNonAugmentationDeclaration(t){return e.find(t.declarations,function(t){return!isExternalModuleAugmentation(t)&&!(e.isModuleDeclaration(t)&&isGlobalScopeAugmentation(t))})}e.getNonAugmentationDeclaration=getNonAugmentationDeclaration;function isEffectiveExternalModule(t,r){return e.isExternalModule(t)||r.isolatedModules||e.getEmitModuleKind(r)===e.ModuleKind.CommonJS&&!!t.commonJsModuleIndicator}e.isEffectiveExternalModule=isEffectiveExternalModule;function isBlockScope(t,r){switch(t.kind){case 279:case 246:case 274:case 244:case 225:case 226:case 227:case 157:case 156:case 158:case 159:case 239:case 196:case 197:return true;case 218:return!e.isFunctionLike(r)}return false}e.isBlockScope=isBlockScope;function isDeclarationWithTypeParameters(t){switch(t.kind){case 297:case 304:case 293:return true;default:e.assertType(t);return isDeclarationWithTypeParameterChildren(t)}}e.isDeclarationWithTypeParameters=isDeclarationWithTypeParameters;function isDeclarationWithTypeParameterChildren(t){switch(t.kind){case 160:case 161:case 155:case 162:case 165:case 166:case 289:case 240:case 209:case 241:case 242:case 303:case 239:case 156:case 157:case 158:case 159:case 196:case 197:return true;default:e.assertType(t);return false}}e.isDeclarationWithTypeParameterChildren=isDeclarationWithTypeParameterChildren;function isAnyImportSyntax(e){switch(e.kind){case 249:case 248:return true;default:return false}}e.isAnyImportSyntax=isAnyImportSyntax;function isLateVisibilityPaintedStatement(e){switch(e.kind){case 249:case 248:case 219:case 240:case 239:case 244:case 242:case 241:case 243:return true;default:return false}}e.isLateVisibilityPaintedStatement=isLateVisibilityPaintedStatement;function isAnyImportOrReExport(t){return isAnyImportSyntax(t)||e.isExportDeclaration(t)}e.isAnyImportOrReExport=isAnyImportOrReExport;function getEnclosingBlockScopeContainer(e){return findAncestor(e.parent,function(e){return isBlockScope(e,e.parent)})}e.getEnclosingBlockScopeContainer=getEnclosingBlockScopeContainer;function declarationNameToString(e){return!e||getFullWidth(e)===0?"(Missing)":getTextOfNode(e)}e.declarationNameToString=declarationNameToString;function getNameFromIndexInfo(e){return e.declaration?declarationNameToString(e.declaration.parameters[0].name):undefined}e.getNameFromIndexInfo=getNameFromIndexInfo;function getTextOfPropertyName(t){switch(t.kind){case 72:return t.escapedText;case 10:case 8:case 14:return e.escapeLeadingUnderscores(t.text);case 149:return isStringOrNumericLiteralLike(t.expression)?e.escapeLeadingUnderscores(t.expression.text):undefined;default:return e.Debug.assertNever(t)}}e.getTextOfPropertyName=getTextOfPropertyName;function entityNameToString(t){switch(t.kind){case 72:return getFullWidth(t)===0?e.idText(t):getTextOfNode(t);case 148:return entityNameToString(t.left)+"."+entityNameToString(t.right);case 189:return entityNameToString(t.expression)+"."+entityNameToString(t.name);default:throw e.Debug.assertNever(t)}}e.entityNameToString=entityNameToString;function createDiagnosticForNode(e,t,r,n,i,a){var o=getSourceFileOfNode(e);return createDiagnosticForNodeInSourceFile(o,e,t,r,n,i,a)}e.createDiagnosticForNode=createDiagnosticForNode;function createDiagnosticForNodeArray(t,r,n,i,a,o,s){var c=e.skipTrivia(t.text,r.pos);return e.createFileDiagnostic(t,c,r.end-c,n,i,a,o,s)}e.createDiagnosticForNodeArray=createDiagnosticForNodeArray;function createDiagnosticForNodeInSourceFile(t,r,n,i,a,o,s){var c=getErrorSpanForNode(t,r);return e.createFileDiagnostic(t,c.start,c.length,n,i,a,o,s)}e.createDiagnosticForNodeInSourceFile=createDiagnosticForNodeInSourceFile;function createDiagnosticForNodeFromMessageChain(e,t,r){var n=getSourceFileOfNode(e);var i=getErrorSpanForNode(n,e);return{file:n,start:i.start,length:i.length,code:t.code,category:t.category,messageText:t.next?t:t.messageText,relatedInformation:r}}e.createDiagnosticForNodeFromMessageChain=createDiagnosticForNodeFromMessageChain;function getSpanOfTokenAtPosition(t,r){var n=e.createScanner(t.languageVersion,true,t.languageVariant,t.text,undefined,r);n.scan();var i=n.getTokenPos();return e.createTextSpanFromBounds(i,n.getTextPos())}e.getSpanOfTokenAtPosition=getSpanOfTokenAtPosition;function getErrorSpanForArrowFunction(t,r){var n=e.skipTrivia(t.text,r.pos);if(r.body&&r.body.kind===218){var i=e.getLineAndCharacterOfPosition(t,r.body.pos).line;var a=e.getLineAndCharacterOfPosition(t,r.body.end).line;if(i=n.pos,"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809");e.Debug.assert(o<=n.end,"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809")}return e.createTextSpanFromBounds(o,n.end)}e.getErrorSpanForNode=getErrorSpanForNode;function isExternalOrCommonJsModule(e){return(e.externalModuleIndicator||e.commonJsModuleIndicator)!==undefined}e.isExternalOrCommonJsModule=isExternalOrCommonJsModule;function isJsonSourceFile(e){return e.scriptKind===6}e.isJsonSourceFile=isJsonSourceFile;function isEnumConst(t){return!!(e.getCombinedModifierFlags(t)&2048)}e.isEnumConst=isEnumConst;function isDeclarationReadonly(t){return!!(e.getCombinedModifierFlags(t)&64&&!e.isParameterPropertyDeclaration(t))}e.isDeclarationReadonly=isDeclarationReadonly;function isVarConst(t){return!!(e.getCombinedNodeFlags(t)&2)}e.isVarConst=isVarConst;function isLet(t){return!!(e.getCombinedNodeFlags(t)&1)}e.isLet=isLet;function isSuperCall(e){return e.kind===191&&e.expression.kind===98}e.isSuperCall=isSuperCall;function isImportCall(e){return e.kind===191&&e.expression.kind===92}e.isImportCall=isImportCall;function isLiteralImportTypeNode(t){return e.isImportTypeNode(t)&&e.isLiteralTypeNode(t.argument)&&e.isStringLiteral(t.argument.literal)}e.isLiteralImportTypeNode=isLiteralImportTypeNode;function isPrologueDirective(e){return e.kind===221&&e.expression.kind===10}e.isPrologueDirective=isPrologueDirective;function getLeadingCommentRangesOfNode(t,r){return t.kind!==11?e.getLeadingCommentRanges(r.text,t.pos):undefined}e.getLeadingCommentRangesOfNode=getLeadingCommentRangesOfNode;function getJSDocCommentRanges(t,r){var n=t.kind===151||t.kind===150||t.kind===196||t.kind===197||t.kind===195?e.concatenate(e.getTrailingCommentRanges(r,t.pos),e.getLeadingCommentRanges(r,t.pos)):e.getLeadingCommentRanges(r,t.pos);return e.filter(n,function(e){return r.charCodeAt(e.pos+1)===42&&r.charCodeAt(e.pos+2)===42&&r.charCodeAt(e.pos+3)!==47})}e.getJSDocCommentRanges=getJSDocCommentRanges;e.fullTripleSlashReferencePathRegEx=/^(\/\/\/\s*/;var r=/^(\/\/\/\s*/;e.fullTripleSlashAMDReferencePathRegEx=/^(\/\/\/\s*/;var i=/^(\/\/\/\s*/;function isPartOfTypeNode(t){if(163<=t.kind&&t.kind<=183){return true}switch(t.kind){case 120:case 143:case 135:case 146:case 138:case 123:case 139:case 136:case 141:case 132:return true;case 106:return t.parent.kind!==200;case 211:return!isExpressionWithTypeArgumentsInClassExtendsClause(t);case 150:return t.parent.kind===181||t.parent.kind===176;case 72:if(t.parent.kind===148&&t.parent.right===t){t=t.parent}else if(t.parent.kind===189&&t.parent.name===t){t=t.parent}e.Debug.assert(t.kind===72||t.kind===148||t.kind===189,"'node' was expected to be a qualified name, identifier or property access in 'isPartOfTypeNode'.");case 148:case 189:case 100:{var r=t.parent;if(r.kind===167){return false}if(r.kind===183){return!r.isTypeOf}if(163<=r.kind&&r.kind<=183){return true}switch(r.kind){case 211:return!isExpressionWithTypeArgumentsInClassExtendsClause(r);case 150:return t===r.constraint;case 303:return t===r.constraint;case 154:case 153:case 151:case 237:return t===r.type;case 239:case 196:case 197:case 157:case 156:case 155:case 158:case 159:return t===r.type;case 160:case 161:case 162:return t===r.type;case 194:return t===r.type;case 191:case 192:return e.contains(r.typeArguments,t);case 193:return false}}}return false}e.isPartOfTypeNode=isPartOfTypeNode;function isChildOfNodeWithKind(e,t){while(e){if(e.kind===t){return true}e=e.parent}return false}e.isChildOfNodeWithKind=isChildOfNodeWithKind;function forEachReturnStatement(t,r){return traverse(t);function traverse(t){switch(t.kind){case 230:return r(t);case 246:case 218:case 222:case 223:case 224:case 225:case 226:case 227:case 231:case 232:case 271:case 272:case 233:case 235:case 274:return e.forEachChild(t,traverse)}}}e.forEachReturnStatement=forEachReturnStatement;function forEachYieldExpression(t,r){return traverse(t);function traverse(t){switch(t.kind){case 207:r(t);var n=t.expression;if(n){traverse(n)}return;case 243:case 241:case 244:case 242:case 240:case 209:return;default:if(e.isFunctionLike(t)){if(t.name&&t.name.kind===149){traverse(t.name.expression);return}}else if(!isPartOfTypeNode(t)){e.forEachChild(t,traverse)}}}}e.forEachYieldExpression=forEachYieldExpression;function getRestParameterElementType(t){if(t&&t.kind===169){return t.elementType}else if(t&&t.kind===164){return e.singleOrUndefined(t.typeArguments)}else{return undefined}}e.getRestParameterElementType=getRestParameterElementType;function getMembersOfDeclaration(e){switch(e.kind){case 241:case 240:case 209:case 168:return e.members;case 188:return e.properties}}e.getMembersOfDeclaration=getMembersOfDeclaration;function isVariableLike(e){if(e){switch(e.kind){case 186:case 278:case 151:case 275:case 154:case 153:case 276:case 237:return true}}return false}e.isVariableLike=isVariableLike;function isVariableLikeOrAccessor(t){return isVariableLike(t)||e.isAccessor(t)}e.isVariableLikeOrAccessor=isVariableLikeOrAccessor;function isVariableDeclarationInVariableStatement(e){return e.parent.kind===238&&e.parent.parent.kind===219}e.isVariableDeclarationInVariableStatement=isVariableDeclarationInVariableStatement;function isValidESSymbolDeclaration(t){return e.isVariableDeclaration(t)?isVarConst(t)&&e.isIdentifier(t.name)&&isVariableDeclarationInVariableStatement(t):e.isPropertyDeclaration(t)?hasReadonlyModifier(t)&&hasStaticModifier(t):e.isPropertySignature(t)&&hasReadonlyModifier(t)}e.isValidESSymbolDeclaration=isValidESSymbolDeclaration;function introducesArgumentsExoticObject(e){switch(e.kind){case 156:case 155:case 157:case 158:case 159:case 239:case 196:return true}return false}e.introducesArgumentsExoticObject=introducesArgumentsExoticObject;function unwrapInnermostStatementOfLabel(e,t){while(true){if(t){t(e)}if(e.statement.kind!==233){return e.statement}e=e.statement}}e.unwrapInnermostStatementOfLabel=unwrapInnermostStatementOfLabel;function isFunctionBlock(t){return t&&t.kind===218&&e.isFunctionLike(t.parent)}e.isFunctionBlock=isFunctionBlock;function isObjectLiteralMethod(e){return e&&e.kind===156&&e.parent.kind===188}e.isObjectLiteralMethod=isObjectLiteralMethod;function isObjectLiteralOrClassExpressionMethod(e){return e.kind===156&&(e.parent.kind===188||e.parent.kind===209)}e.isObjectLiteralOrClassExpressionMethod=isObjectLiteralOrClassExpressionMethod;function isIdentifierTypePredicate(e){return e&&e.kind===1}e.isIdentifierTypePredicate=isIdentifierTypePredicate;function isThisTypePredicate(e){return e&&e.kind===0}e.isThisTypePredicate=isThisTypePredicate;function getPropertyAssignment(e,t,r){return e.properties.filter(function(e){if(e.kind===275){var n=getTextOfPropertyName(e.name);return t===n||!!r&&r===n}return false})}e.getPropertyAssignment=getPropertyAssignment;function getTsConfigObjectLiteralExpression(t){if(t&&t.statements.length){var r=t.statements[0].expression;return e.tryCast(r,e.isObjectLiteralExpression)}}e.getTsConfigObjectLiteralExpression=getTsConfigObjectLiteralExpression;function getTsConfigPropArrayElementValue(t,r,n){return e.firstDefined(getTsConfigPropArray(t,r),function(t){return e.isArrayLiteralExpression(t.initializer)?e.find(t.initializer.elements,function(t){return e.isStringLiteral(t)&&t.text===n}):undefined})}e.getTsConfigPropArrayElementValue=getTsConfigPropArrayElementValue;function getTsConfigPropArray(t,r){var n=getTsConfigObjectLiteralExpression(t);return n?getPropertyAssignment(n,r):e.emptyArray}e.getTsConfigPropArray=getTsConfigPropArray;function getContainingFunction(t){return findAncestor(t.parent,e.isFunctionLike)}e.getContainingFunction=getContainingFunction;function getContainingClass(t){return findAncestor(t.parent,e.isClassLike)}e.getContainingClass=getContainingClass;function getThisContainer(t,r){e.Debug.assert(t.kind!==279);while(true){t=t.parent;if(!t){return e.Debug.fail()}switch(t.kind){case 149:if(e.isClassLike(t.parent.parent)){return t}t=t.parent;break;case 152:if(t.parent.kind===151&&e.isClassElement(t.parent.parent)){t=t.parent.parent}else if(e.isClassElement(t.parent)){t=t.parent}break;case 197:if(!r){continue}case 239:case 196:case 244:case 154:case 153:case 156:case 155:case 157:case 158:case 159:case 160:case 161:case 162:case 243:case 279:return t}}}e.getThisContainer=getThisContainer;function getNewTargetContainer(e){var t=getThisContainer(e,false);if(t){switch(t.kind){case 157:case 239:case 196:return t}}return undefined}e.getNewTargetContainer=getNewTargetContainer;function getSuperContainer(t,r){while(true){t=t.parent;if(!t){return t}switch(t.kind){case 149:t=t.parent;break;case 239:case 196:case 197:if(!r){continue}case 154:case 153:case 156:case 155:case 157:case 158:case 159:return t;case 152:if(t.parent.kind===151&&e.isClassElement(t.parent.parent)){t=t.parent.parent}else if(e.isClassElement(t.parent)){t=t.parent}break}}}e.getSuperContainer=getSuperContainer;function getImmediatelyInvokedFunctionExpression(e){if(e.kind===196||e.kind===197){var t=e;var r=e.parent;while(r.kind===195){t=r;r=r.parent}if(r.kind===191&&r.expression===t){return r}}}e.getImmediatelyInvokedFunctionExpression=getImmediatelyInvokedFunctionExpression;function isSuperProperty(e){var t=e.kind;return(t===189||t===190)&&e.expression.kind===98}e.isSuperProperty=isSuperProperty;function isThisProperty(e){var t=e.kind;return(t===189||t===190)&&e.expression.kind===100}e.isThisProperty=isThisProperty;function getEntityNameFromTypeNode(e){switch(e.kind){case 164:return e.typeName;case 211:return isEntityNameExpression(e.expression)?e.expression:undefined;case 72:case 148:return e}return undefined}e.getEntityNameFromTypeNode=getEntityNameFromTypeNode;function getInvokedExpression(e){switch(e.kind){case 193:return e.tag;case 262:case 261:return e.tagName;default:return e.expression}}e.getInvokedExpression=getInvokedExpression;function nodeCanBeDecorated(e,t,r){switch(e.kind){case 240:return true;case 154:return t.kind===240;case 158:case 159:case 156:return e.body!==undefined&&t.kind===240;case 151:return t.body!==undefined&&(t.kind===157||t.kind===156||t.kind===159)&&r.kind===240}return false}e.nodeCanBeDecorated=nodeCanBeDecorated;function nodeIsDecorated(e,t,r){return e.decorators!==undefined&&nodeCanBeDecorated(e,t,r)}e.nodeIsDecorated=nodeIsDecorated;function nodeOrChildIsDecorated(e,t,r){return nodeIsDecorated(e,t,r)||childIsDecorated(e,t)}e.nodeOrChildIsDecorated=nodeOrChildIsDecorated;function childIsDecorated(t,r){switch(t.kind){case 240:return e.some(t.members,function(e){return nodeOrChildIsDecorated(e,t,r)});case 156:case 159:return e.some(t.parameters,function(e){return nodeIsDecorated(e,t,r)});default:return false}}e.childIsDecorated=childIsDecorated;function isJSXTagName(e){var t=e.parent;if(t.kind===262||t.kind===261||t.kind===263){return t.tagName===e}return false}e.isJSXTagName=isJSXTagName;function isExpressionNode(e){switch(e.kind){case 98:case 96:case 102:case 87:case 13:case 187:case 188:case 189:case 190:case 191:case 192:case 193:case 212:case 194:case 213:case 195:case 196:case 209:case 197:case 200:case 198:case 199:case 202:case 203:case 204:case 205:case 208:case 206:case 14:case 210:case 260:case 261:case 264:case 207:case 201:case 214:return true;case 148:while(e.parent.kind===148){e=e.parent}return e.parent.kind===167||isJSXTagName(e);case 72:if(e.parent.kind===167||isJSXTagName(e)){return true}case 8:case 9:case 10:case 100:return isInExpressionContext(e);default:return false}}e.isExpressionNode=isExpressionNode;function isInExpressionContext(e){var t=e.parent;switch(t.kind){case 237:case 151:case 154:case 153:case 278:case 275:case 186:return t.initializer===e;case 221:case 222:case 223:case 224:case 230:case 231:case 232:case 271:case 234:return t.expression===e;case 225:var r=t;return r.initializer===e&&r.initializer.kind!==238||r.condition===e||r.incrementor===e;case 226:case 227:var n=t;return n.initializer===e&&n.initializer.kind!==238||n.expression===e;case 194:case 212:return e===t.expression;case 216:return e===t.expression;case 149:return e===t.expression;case 152:case 270:case 269:case 277:return true;case 211:return t.expression===e&&isExpressionWithTypeArgumentsInClassExtendsClause(t);case 276:return t.objectAssignmentInitializer===e;default:return isExpressionNode(t)}}e.isInExpressionContext=isInExpressionContext;function isExternalModuleImportEqualsDeclaration(e){return e.kind===248&&e.moduleReference.kind===259}e.isExternalModuleImportEqualsDeclaration=isExternalModuleImportEqualsDeclaration;function getExternalModuleImportEqualsDeclarationExpression(t){e.Debug.assert(isExternalModuleImportEqualsDeclaration(t));return t.moduleReference.expression}e.getExternalModuleImportEqualsDeclarationExpression=getExternalModuleImportEqualsDeclarationExpression;function isInternalModuleImportEqualsDeclaration(e){return e.kind===248&&e.moduleReference.kind!==259}e.isInternalModuleImportEqualsDeclaration=isInternalModuleImportEqualsDeclaration;function isSourceFileJS(e){return isInJSFile(e)}e.isSourceFileJS=isSourceFileJS;function isSourceFileNotJS(e){return!isInJSFile(e)}e.isSourceFileNotJS=isSourceFileNotJS;function isInJSFile(e){return!!e&&!!(e.flags&65536)}e.isInJSFile=isInJSFile;function isInJsonFile(e){return!!e&&!!(e.flags&16777216)}e.isInJsonFile=isInJsonFile;function isInJSDoc(e){return!!e&&!!(e.flags&2097152)}e.isInJSDoc=isInJSDoc;function isJSDocIndexSignature(t){return e.isTypeReferenceNode(t)&&e.isIdentifier(t.typeName)&&t.typeName.escapedText==="Object"&&t.typeArguments&&t.typeArguments.length===2&&(t.typeArguments[0].kind===138||t.typeArguments[0].kind===135)}e.isJSDocIndexSignature=isJSDocIndexSignature;function isRequireCall(t,r){if(t.kind!==191){return false}var n=t,i=n.expression,a=n.arguments;if(i.kind!==72||i.escapedText!=="require"){return false}if(a.length!==1){return false}var o=a[0];return!r||e.isStringLiteralLike(o)}e.isRequireCall=isRequireCall;function isSingleOrDoubleQuote(e){return e===39||e===34}e.isSingleOrDoubleQuote=isSingleOrDoubleQuote;function isStringDoubleQuoted(e,t){return getSourceTextOfNodeFromSourceFile(t,e).charCodeAt(0)===34}e.isStringDoubleQuoted=isStringDoubleQuoted;function getDeclarationOfExpando(t){if(!t.parent){return undefined}var r;var n;if(e.isVariableDeclaration(t.parent)&&t.parent.initializer===t){if(!isInJSFile(t)&&!isVarConst(t.parent)){return undefined}r=t.parent.name;n=t.parent}else if(e.isBinaryExpression(t.parent)&&t.parent.operatorToken.kind===59&&t.parent.right===t){r=t.parent.left;n=r}else if(e.isBinaryExpression(t.parent)&&t.parent.operatorToken.kind===55){if(e.isVariableDeclaration(t.parent.parent)&&t.parent.parent.initializer===t.parent){r=t.parent.parent.name;n=t.parent.parent}else if(e.isBinaryExpression(t.parent.parent)&&t.parent.parent.operatorToken.kind===59&&t.parent.parent.right===t.parent){r=t.parent.parent.left;n=r}if(!r||!isEntityNameExpression(r)||!isSameEntityName(r,t.parent.left)){return undefined}}if(!r||!getExpandoInitializer(t,isPrototypeAccess(r))){return undefined}return n}e.getDeclarationOfExpando=getDeclarationOfExpando;function isAssignmentDeclaration(t){return e.isBinaryExpression(t)||e.isPropertyAccessExpression(t)||e.isIdentifier(t)||e.isCallExpression(t)}e.isAssignmentDeclaration=isAssignmentDeclaration;function getEffectiveInitializer(t){if(isInJSFile(t)&&t.initializer&&e.isBinaryExpression(t.initializer)&&t.initializer.operatorToken.kind===55&&t.name&&isEntityNameExpression(t.name)&&isSameEntityName(t.name,t.initializer.left)){return t.initializer.right}return t.initializer}e.getEffectiveInitializer=getEffectiveInitializer;function getDeclaredExpandoInitializer(e){var t=getEffectiveInitializer(e);return t&&getExpandoInitializer(t,isPrototypeAccess(e.name))}e.getDeclaredExpandoInitializer=getDeclaredExpandoInitializer;function hasExpandoValueProperty(t,r){return e.forEach(t.properties,function(t){return e.isPropertyAssignment(t)&&e.isIdentifier(t.name)&&t.name.escapedText==="value"&&t.initializer&&getExpandoInitializer(t.initializer,r)})}function getAssignedExpandoInitializer(t){if(t&&t.parent&&e.isBinaryExpression(t.parent)&&t.parent.operatorToken.kind===59){var r=isPrototypeAccess(t.parent.left);return getExpandoInitializer(t.parent.right,r)||getDefaultedExpandoInitializer(t.parent.left,t.parent.right,r)}if(t&&e.isCallExpression(t)&&isBindableObjectDefinePropertyCall(t)){var n=hasExpandoValueProperty(t.arguments[2],t.arguments[1].text==="prototype");if(n){return n}}}e.getAssignedExpandoInitializer=getAssignedExpandoInitializer;function getExpandoInitializer(t,r){if(e.isCallExpression(t)){var n=skipParentheses(t.expression);return n.kind===196||n.kind===197?t:undefined}if(t.kind===196||t.kind===209||t.kind===197){return t}if(e.isObjectLiteralExpression(t)&&(t.properties.length===0||r)){return t}}e.getExpandoInitializer=getExpandoInitializer;function getDefaultedExpandoInitializer(t,r,n){var i=e.isBinaryExpression(r)&&r.operatorToken.kind===55&&getExpandoInitializer(r.right,n);if(i&&isSameEntityName(t,r.left)){return i}}function isDefaultedExpandoInitializer(t){var r=e.isVariableDeclaration(t.parent)?t.parent.name:e.isBinaryExpression(t.parent)&&t.parent.operatorToken.kind===59?t.parent.left:undefined;return r&&getExpandoInitializer(t.right,isPrototypeAccess(r))&&isEntityNameExpression(r)&&isSameEntityName(r,t.left)}e.isDefaultedExpandoInitializer=isDefaultedExpandoInitializer;function getNameOfExpando(t){if(e.isBinaryExpression(t.parent)){var r=t.parent.operatorToken.kind===55&&e.isBinaryExpression(t.parent.parent)?t.parent.parent:t.parent;if(r.operatorToken.kind===59&&e.isIdentifier(r.left)){return r.left}}else if(e.isVariableDeclaration(t.parent)){return t.parent.name}}e.getNameOfExpando=getNameOfExpando;function isSameEntityName(t,r){if(e.isIdentifier(t)&&e.isIdentifier(r)){return t.escapedText===r.escapedText}if(e.isIdentifier(t)&&e.isPropertyAccessExpression(r)){return(r.expression.kind===100||e.isIdentifier(r.expression)&&(r.expression.escapedText==="window"||r.expression.escapedText==="self"||r.expression.escapedText==="global"))&&isSameEntityName(t,r.name)}if(e.isPropertyAccessExpression(t)&&e.isPropertyAccessExpression(r)){return t.name.escapedText===r.name.escapedText&&isSameEntityName(t.expression,r.expression)}return false}function getRightMostAssignedExpression(e){while(isAssignmentExpression(e,true)){e=e.right}return e}e.getRightMostAssignedExpression=getRightMostAssignedExpression;function isExportsIdentifier(t){return e.isIdentifier(t)&&t.escapedText==="exports"}e.isExportsIdentifier=isExportsIdentifier;function isModuleExportsPropertyAccessExpression(t){return e.isPropertyAccessExpression(t)&&e.isIdentifier(t.expression)&&t.expression.escapedText==="module"&&t.name.escapedText==="exports"}e.isModuleExportsPropertyAccessExpression=isModuleExportsPropertyAccessExpression;function getAssignmentDeclarationKind(e){var t=getAssignmentDeclarationKindWorker(e);return t===5||isInJSFile(e)?t:0}e.getAssignmentDeclarationKind=getAssignmentDeclarationKind;function isBindableObjectDefinePropertyCall(t){return e.length(t.arguments)===3&&e.isPropertyAccessExpression(t.expression)&&e.isIdentifier(t.expression.expression)&&e.idText(t.expression.expression)==="Object"&&e.idText(t.expression.name)==="defineProperty"&&isStringOrNumericLiteralLike(t.arguments[1])&&isEntityNameExpression(t.arguments[0])}e.isBindableObjectDefinePropertyCall=isBindableObjectDefinePropertyCall;function getAssignmentDeclarationKindWorker(t){if(e.isCallExpression(t)){if(!isBindableObjectDefinePropertyCall(t)){return 0}var r=t.arguments[0];if(isExportsIdentifier(r)||isModuleExportsPropertyAccessExpression(r)){return 8}if(e.isPropertyAccessExpression(r)&&r.name.escapedText==="prototype"&&isEntityNameExpression(r.expression)){return 9}return 7}if(t.operatorToken.kind!==59||!e.isPropertyAccessExpression(t.left)){return 0}var n=t.left;if(isEntityNameExpression(n.expression)&&n.name.escapedText==="prototype"&&e.isObjectLiteralExpression(getInitializerOfBinaryExpression(t))){return 6}return getAssignmentDeclarationPropertyAccessKind(n)}function getAssignmentDeclarationPropertyAccessKind(t){if(t.expression.kind===100){return 4}else if(isModuleExportsPropertyAccessExpression(t)){return 2}else if(isEntityNameExpression(t.expression)){if(isPrototypeAccess(t.expression)){return 3}var r=t;while(e.isPropertyAccessExpression(r.expression)){r=r.expression}e.Debug.assert(e.isIdentifier(r.expression));var n=r.expression;if(n.escapedText==="exports"||n.escapedText==="module"&&r.name.escapedText==="exports"){return 1}return 5}return 0}e.getAssignmentDeclarationPropertyAccessKind=getAssignmentDeclarationPropertyAccessKind;function getInitializerOfBinaryExpression(t){while(e.isBinaryExpression(t.right)){t=t.right}return t.right}e.getInitializerOfBinaryExpression=getInitializerOfBinaryExpression;function isPrototypePropertyAssignment(t){return e.isBinaryExpression(t)&&getAssignmentDeclarationKind(t)===3}e.isPrototypePropertyAssignment=isPrototypePropertyAssignment;function isSpecialPropertyDeclaration(t){return isInJSFile(t)&&t.parent&&t.parent.kind===221&&!!e.getJSDocTypeTag(t.parent)}e.isSpecialPropertyDeclaration=isSpecialPropertyDeclaration;function isFunctionSymbol(t){if(!t||!t.valueDeclaration){return false}var r=t.valueDeclaration;return r.kind===239||e.isVariableDeclaration(r)&&r.initializer&&e.isFunctionLike(r.initializer)}e.isFunctionSymbol=isFunctionSymbol;function importFromModuleSpecifier(t){return tryGetImportFromModuleSpecifier(t)||e.Debug.fail(e.Debug.showSyntaxKind(t.parent))}e.importFromModuleSpecifier=importFromModuleSpecifier;function tryGetImportFromModuleSpecifier(t){switch(t.parent.kind){case 249:case 255:return t.parent;case 259:return t.parent.parent;case 191:return isImportCall(t.parent)||isRequireCall(t.parent,false)?t.parent:undefined;case 182:e.Debug.assert(e.isStringLiteral(t));return e.tryCast(t.parent.parent,e.isImportTypeNode);default:return undefined}}e.tryGetImportFromModuleSpecifier=tryGetImportFromModuleSpecifier;function getExternalModuleName(t){switch(t.kind){case 249:case 255:return t.moduleSpecifier;case 248:return t.moduleReference.kind===259?t.moduleReference.expression:undefined;case 183:return isLiteralImportTypeNode(t)?t.argument.literal:undefined;default:return e.Debug.assertNever(t)}}e.getExternalModuleName=getExternalModuleName;function getNamespaceDeclarationNode(t){switch(t.kind){case 249:return t.importClause&&e.tryCast(t.importClause.namedBindings,e.isNamespaceImport);case 248:return t;case 255:return undefined;default:return e.Debug.assertNever(t)}}e.getNamespaceDeclarationNode=getNamespaceDeclarationNode;function isDefaultImport(e){return e.kind===249&&!!e.importClause&&!!e.importClause.name}e.isDefaultImport=isDefaultImport;function hasQuestionToken(e){if(e){switch(e.kind){case 151:case 156:case 155:case 276:case 275:case 154:case 153:return e.questionToken!==undefined}}return false}e.hasQuestionToken=hasQuestionToken;function isJSDocConstructSignature(t){var r=e.isJSDocFunctionType(t)?e.firstOrUndefined(t.parameters):undefined;var n=e.tryCast(r&&r.name,e.isIdentifier);return!!n&&n.escapedText==="new"}e.isJSDocConstructSignature=isJSDocConstructSignature;function isJSDocTypeAlias(e){return e.kind===304||e.kind===297}e.isJSDocTypeAlias=isJSDocTypeAlias;function isTypeAlias(t){return isJSDocTypeAlias(t)||e.isTypeAliasDeclaration(t)}e.isTypeAlias=isTypeAlias;function getSourceOfAssignment(t){return e.isExpressionStatement(t)&&t.expression&&e.isBinaryExpression(t.expression)&&t.expression.operatorToken.kind===59?t.expression.right:undefined}function getSourceOfDefaultedAssignment(t){return e.isExpressionStatement(t)&&e.isBinaryExpression(t.expression)&&getAssignmentDeclarationKind(t.expression)!==0&&e.isBinaryExpression(t.expression.right)&&t.expression.right.operatorToken.kind===55?t.expression.right.right:undefined}function getSingleInitializerOfVariableStatementOrPropertyDeclaration(e){switch(e.kind){case 219:var t=getSingleVariableOfVariableStatement(e);return t&&t.initializer;case 154:return e.initializer;case 275:return e.initializer}}function getSingleVariableOfVariableStatement(t){return e.isVariableStatement(t)?e.firstOrUndefined(t.declarationList.declarations):undefined}function getNestedModuleDeclaration(t){return e.isModuleDeclaration(t)&&t.body&&t.body.kind===244?t.body:undefined}function getJSDocCommentsAndTags(t){var r;if(isVariableLike(t)&&e.hasInitializer(t)&&e.hasJSDocNodes(t.initializer)){r=e.addRange(r,t.initializer.jsDoc)}var n=t;while(n&&n.parent){if(e.hasJSDocNodes(n)){r=e.addRange(r,n.jsDoc)}if(n.kind===151){r=e.addRange(r,e.getJSDocParameterTags(n));break}if(n.kind===150){r=e.addRange(r,e.getJSDocTypeParameterTags(n));break}n=getNextJSDocCommentLocation(n)}return r||e.emptyArray}e.getJSDocCommentsAndTags=getJSDocCommentsAndTags;function getNextJSDocCommentLocation(t){var r=t.parent;if(r.kind===275||r.kind===154||r.kind===221&&t.kind===189||getNestedModuleDeclaration(r)||e.isBinaryExpression(t)&&t.operatorToken.kind===59){return r}else if(r.parent&&(getSingleVariableOfVariableStatement(r.parent)===t||e.isBinaryExpression(r)&&r.operatorToken.kind===59)){return r.parent}else if(r.parent&&r.parent.parent&&(getSingleVariableOfVariableStatement(r.parent.parent)||getSingleInitializerOfVariableStatementOrPropertyDeclaration(r.parent.parent)===t||getSourceOfDefaultedAssignment(r.parent.parent))){return r.parent.parent}}function getParameterSymbolFromJSDoc(t){if(t.symbol){return t.symbol}if(!e.isIdentifier(t.name)){return undefined}var r=t.name.escapedText;var n=getHostSignatureFromJSDoc(t);if(!n){return undefined}var i=e.find(n.parameters,function(e){return e.name.kind===72&&e.name.escapedText===r});return i&&i.symbol}e.getParameterSymbolFromJSDoc=getParameterSymbolFromJSDoc;function getHostSignatureFromJSDoc(e){return getHostSignatureFromJSDocHost(getJSDocHost(e))}e.getHostSignatureFromJSDoc=getHostSignatureFromJSDoc;function getHostSignatureFromJSDocHost(t){var r=getSourceOfDefaultedAssignment(t)||getSourceOfAssignment(t)||getSingleInitializerOfVariableStatementOrPropertyDeclaration(t)||getSingleVariableOfVariableStatement(t)||getNestedModuleDeclaration(t)||t;return r&&e.isFunctionLike(r)?r:undefined}e.getHostSignatureFromJSDocHost=getHostSignatureFromJSDocHost;function getJSDocHost(t){return e.Debug.assertDefined(findAncestor(t.parent,e.isJSDoc)).parent}e.getJSDocHost=getJSDocHost;function getTypeParameterFromJsDoc(t){var r=t.name.escapedText;var n=t.parent.parent.parent.typeParameters;return e.find(n,function(e){return e.name.escapedText===r})}e.getTypeParameterFromJsDoc=getTypeParameterFromJsDoc;function hasRestParameter(t){var r=e.lastOrUndefined(t.parameters);return!!r&&isRestParameter(r)}e.hasRestParameter=hasRestParameter;function isRestParameter(t){var r=e.isJSDocParameterTag(t)?t.typeExpression&&t.typeExpression.type:t.type;return t.dotDotDotToken!==undefined||!!r&&r.kind===290}e.isRestParameter=isRestParameter;var a;(function(e){e[e["None"]=0]="None";e[e["Definite"]=1]="Definite";e[e["Compound"]=2]="Compound"})(a=e.AssignmentKind||(e.AssignmentKind={}));function getAssignmentTargetKind(e){var t=e.parent;while(true){switch(t.kind){case 204:var r=t.operatorToken.kind;return isAssignmentOperator(r)&&t.left===e?r===59?1:2:0;case 202:case 203:var n=t.operator;return n===44||n===45?2:0;case 226:case 227:return t.initializer===e?1:0;case 195:case 187:case 208:case 213:e=t;break;case 276:if(t.name!==e){return 0}e=t.parent;break;case 275:if(t.name===e){return 0}e=t.parent;break;default:return 0}t=e.parent}}e.getAssignmentTargetKind=getAssignmentTargetKind;function isAssignmentTarget(e){return getAssignmentTargetKind(e)!==0}e.isAssignmentTarget=isAssignmentTarget;function isNodeWithPossibleHoistedDeclaration(e){switch(e.kind){case 218:case 219:case 231:case 222:case 232:case 246:case 271:case 272:case 233:case 225:case 226:case 227:case 223:case 224:case 235:case 274:return true}return false}e.isNodeWithPossibleHoistedDeclaration=isNodeWithPossibleHoistedDeclaration;function isValueSignatureDeclaration(t){return e.isFunctionExpression(t)||e.isArrowFunction(t)||e.isMethodOrAccessor(t)||e.isFunctionDeclaration(t)||e.isConstructorDeclaration(t)}e.isValueSignatureDeclaration=isValueSignatureDeclaration;function walkUp(e,t){while(e&&e.kind===t){e=e.parent}return e}function walkUpParenthesizedTypes(e){return walkUp(e,177)}e.walkUpParenthesizedTypes=walkUpParenthesizedTypes;function walkUpParenthesizedExpressions(e){return walkUp(e,195)}e.walkUpParenthesizedExpressions=walkUpParenthesizedExpressions;function skipParentheses(e){while(e.kind===195){e=e.expression}return e}e.skipParentheses=skipParentheses;function skipParenthesesUp(e){while(e.kind===195){e=e.parent}return e}function isDeleteTarget(e){if(e.kind!==189&&e.kind!==190){return false}e=walkUpParenthesizedExpressions(e.parent);return e&&e.kind===198}e.isDeleteTarget=isDeleteTarget;function isNodeDescendantOf(e,t){while(e){if(e===t)return true;e=e.parent}return false}e.isNodeDescendantOf=isNodeDescendantOf;function isDeclarationName(t){return!e.isSourceFile(t)&&!e.isBindingPattern(t)&&e.isDeclaration(t.parent)&&t.parent.name===t}e.isDeclarationName=isDeclarationName;function getDeclarationFromName(t){var r=t.parent;switch(t.kind){case 10:case 8:if(e.isComputedPropertyName(r))return r.parent;case 72:if(e.isDeclaration(r)){return r.name===t?r:undefined}else if(e.isQualifiedName(r)){var n=r.parent;return e.isJSDocParameterTag(n)&&n.name===r?n:undefined}else{var i=r.parent;return e.isBinaryExpression(i)&&getAssignmentDeclarationKind(i)!==0&&(i.left.symbol||i.symbol)&&e.getNameOfDeclaration(i)===t?i:undefined}default:return undefined}}e.getDeclarationFromName=getDeclarationFromName;function isLiteralComputedPropertyDeclarationName(t){return(t.kind===10||t.kind===8)&&t.parent.kind===149&&e.isDeclaration(t.parent.parent)}e.isLiteralComputedPropertyDeclarationName=isLiteralComputedPropertyDeclarationName;function isIdentifierName(e){var t=e.parent;switch(t.kind){case 154:case 153:case 156:case 155:case 158:case 159:case 278:case 275:case 189:return t.name===e;case 148:if(t.right===e){while(t.kind===148){t=t.parent}return t.kind===167||t.kind===164}return false;case 186:case 253:return t.propertyName===e;case 257:case 267:return true}return false}e.isIdentifierName=isIdentifierName;function isAliasSymbolDeclaration(t){return t.kind===248||t.kind===247||t.kind===250&&!!t.name||t.kind===251||t.kind===253||t.kind===257||t.kind===254&&exportAssignmentIsAlias(t)||e.isBinaryExpression(t)&&getAssignmentDeclarationKind(t)===2&&exportAssignmentIsAlias(t)}e.isAliasSymbolDeclaration=isAliasSymbolDeclaration;function exportAssignmentIsAlias(t){var r=e.isExportAssignment(t)?t.expression:t.right;return isEntityNameExpression(r)||e.isClassExpression(r)}e.exportAssignmentIsAlias=exportAssignmentIsAlias;function getEffectiveBaseTypeNode(t){if(isInJSFile(t)){var r=e.getJSDocAugmentsTag(t);if(r){return r.class}}return getClassExtendsHeritageElement(t)}e.getEffectiveBaseTypeNode=getEffectiveBaseTypeNode;function getClassExtendsHeritageElement(e){var t=getHeritageClause(e.heritageClauses,86);return t&&t.types.length>0?t.types[0]:undefined}e.getClassExtendsHeritageElement=getClassExtendsHeritageElement;function getClassImplementsHeritageClauseElements(e){var t=getHeritageClause(e.heritageClauses,109);return t?t.types:undefined}e.getClassImplementsHeritageClauseElements=getClassImplementsHeritageClauseElements;function getAllSuperTypeNodes(t){return e.isInterfaceDeclaration(t)?getInterfaceBaseTypeNodes(t)||e.emptyArray:e.isClassLike(t)?e.concatenate(e.singleElementArray(getEffectiveBaseTypeNode(t)),getClassImplementsHeritageClauseElements(t))||e.emptyArray:e.emptyArray}e.getAllSuperTypeNodes=getAllSuperTypeNodes;function getInterfaceBaseTypeNodes(e){var t=getHeritageClause(e.heritageClauses,86);return t?t.types:undefined}e.getInterfaceBaseTypeNodes=getInterfaceBaseTypeNodes;function getHeritageClause(e,t){if(e){for(var r=0,n=e;r=0){return i[a]}return undefined}function add(a){var o;if(a.file){o=n.get(a.file.fileName);if(!o){o=[];n.set(a.file.fileName,o);e.insertSorted(r,a.file.fileName,e.compareStringsCaseSensitive)}}else{if(i){i=false;t=t.slice()}o=t}e.insertSorted(o,a,e.compareDiagnostics)}function getGlobalDiagnostics(){i=true;return t}function getDiagnostics(i){if(i){return n.get(i)||[]}var a=e.flatMapToMutable(r,function(e){return n.get(e)});if(!t.length){return a}a.unshift.apply(a,t);return a}}e.createDiagnosticCollection=createDiagnosticCollection;var c=/[\\\"\u0000-\u001f\t\v\f\b\r\n\u2028\u2029\u0085]/g;var u=/[\\\'\u0000-\u001f\t\v\f\b\r\n\u2028\u2029\u0085]/g;var l=/[\\\`\u0000-\u001f\t\v\f\b\r\n\u2028\u2029\u0085]/g;var f=e.createMapFromTemplate({"\t":"\\t","\v":"\\v","\f":"\\f","\b":"\\b","\r":"\\r","\n":"\\n","\\":"\\\\",'"':'\\"',"'":"\\'","`":"\\`","\u2028":"\\u2028","\u2029":"\\u2029","…":"\\u0085"});function escapeString(e,t){var r=t===96?l:t===39?u:c;return e.replace(r,getReplacement)}e.escapeString=escapeString;function getReplacement(e,t,r){if(e.charCodeAt(0)===0){var n=r.charCodeAt(t+e.length);if(n>=48&&n<=57){return"\\x00"}return"\\0"}return f.get(e)||get16BitUnicodeEscapeSequence(e.charCodeAt(0))}function isIntrinsicJsxName(t){var r=t.charCodeAt(0);return r>=97&&r<=122||e.stringContains(t,"-")}e.isIntrinsicJsxName=isIntrinsicJsxName;function get16BitUnicodeEscapeSequence(e){var t=e.toString(16).toUpperCase();var r=("0000"+t).slice(-4);return"\\u"+r}var d=/[^\u0000-\u007F]/g;function escapeNonAsciiString(e,t){e=escapeString(e,t);return d.test(e)?e.replace(d,function(e){return get16BitUnicodeEscapeSequence(e.charCodeAt(0))}):e}e.escapeNonAsciiString=escapeNonAsciiString;var p=[""," "];function getIndentString(e){if(p[e]===undefined){p[e]=getIndentString(e-1)+p[1]}return p[e]}e.getIndentString=getIndentString;function getIndentSize(){return p[1].length}e.getIndentSize=getIndentSize;function createTextWriter(t){var r;var n;var i;var a;var o;function updateLineCountAndPosFor(t){var n=e.computeLineStarts(t);if(n.length>1){a=a+n.length-1;o=r.length-t.length+e.last(n);i=o-r.length===0}else{i=false}}function write(e){if(e&&e.length){if(i){e=getIndentString(n)+e;i=false}r+=e;updateLineCountAndPosFor(e)}}function reset(){r="";n=0;i=true;a=0;o=0}function rawWrite(e){if(e!==undefined){r+=e;updateLineCountAndPosFor(e)}}function writeLiteral(e){if(e&&e.length){write(e)}}function writeLine(){if(!i){r+=t;a++;o=r.length;i=true}}reset();return{write:write,rawWrite:rawWrite,writeLiteral:writeLiteral,writeLine:writeLine,increaseIndent:function(){n++},decreaseIndent:function(){n--},getIndent:function(){return n},getTextPos:function(){return r.length},getLine:function(){return a},getColumn:function(){return i?n*getIndentSize():r.length-o},getText:function(){return r},isAtStartOfLine:function(){return i},clear:reset,reportInaccessibleThisError:e.noop,reportPrivateInBaseOfClassExpression:e.noop,reportInaccessibleUniqueSymbolError:e.noop,trackSymbol:e.noop,writeKeyword:write,writeOperator:write,writeParameter:write,writeProperty:write,writePunctuation:write,writeSpace:write,writeStringLiteral:write,writeSymbol:function(e,t){return write(e)},writeTrailingSemicolon:write,writeComment:write}}e.createTextWriter=createTextWriter;function getTrailingSemicolonOmittingWriter(e){var t=false;function commitPendingTrailingSemicolon(){if(t){e.writeTrailingSemicolon(";");t=false}}return n({},e,{writeTrailingSemicolon:function(){t=true},writeLiteral:function(t){commitPendingTrailingSemicolon();e.writeLiteral(t)},writeStringLiteral:function(t){commitPendingTrailingSemicolon();e.writeStringLiteral(t)},writeSymbol:function(t,r){commitPendingTrailingSemicolon();e.writeSymbol(t,r)},writePunctuation:function(t){commitPendingTrailingSemicolon();e.writePunctuation(t)},writeKeyword:function(t){commitPendingTrailingSemicolon();e.writeKeyword(t)},writeOperator:function(t){commitPendingTrailingSemicolon();e.writeOperator(t)},writeParameter:function(t){commitPendingTrailingSemicolon();e.writeParameter(t)},writeSpace:function(t){commitPendingTrailingSemicolon();e.writeSpace(t)},writeProperty:function(t){commitPendingTrailingSemicolon();e.writeProperty(t)},writeComment:function(t){commitPendingTrailingSemicolon();e.writeComment(t)},writeLine:function(){commitPendingTrailingSemicolon();e.writeLine()},increaseIndent:function(){commitPendingTrailingSemicolon();e.increaseIndent()},decreaseIndent:function(){commitPendingTrailingSemicolon();e.decreaseIndent()}})}e.getTrailingSemicolonOmittingWriter=getTrailingSemicolonOmittingWriter;function getResolvedExternalModuleName(e,t,r){return t.moduleName||getExternalModuleNameFromPath(e,t.fileName,r&&r.fileName)}e.getResolvedExternalModuleName=getResolvedExternalModuleName;function getExternalModuleNameFromDeclaration(e,t,r){var n=t.getExternalModuleFileFromDeclaration(r);if(!n||n.isDeclarationFile){return undefined}return getResolvedExternalModuleName(e,n)}e.getExternalModuleNameFromDeclaration=getExternalModuleNameFromDeclaration;function getExternalModuleNameFromPath(t,r,n){var i=function(e){return t.getCanonicalFileName(e)};var a=toPath(n?e.getDirectoryPath(n):t.getCommonSourceDirectory(),t.getCurrentDirectory(),i);var o=e.getNormalizedAbsolutePath(r,t.getCurrentDirectory());var s=e.getRelativePathToDirectoryOrUrl(a,o,a,i,false);var c=e.removeFileExtension(s);return n?e.ensurePathIsNonModuleName(c):c}e.getExternalModuleNameFromPath=getExternalModuleNameFromPath;function getOwnEmitOutputFilePath(t,r,n){var i=r.getCompilerOptions();var a;if(i.outDir){a=e.removeFileExtension(getSourceFilePathInNewDir(t,r,i.outDir))}else{a=e.removeFileExtension(t)}return a+n}e.getOwnEmitOutputFilePath=getOwnEmitOutputFilePath;function getDeclarationEmitOutputFilePath(e,t){return getDeclarationEmitOutputFilePathWorker(e,t.getCompilerOptions(),t.getCurrentDirectory(),t.getCommonSourceDirectory(),function(e){return t.getCanonicalFileName(e)})}e.getDeclarationEmitOutputFilePath=getDeclarationEmitOutputFilePath;function getDeclarationEmitOutputFilePathWorker(t,r,n,i,a){var o=r.declarationDir||r.outDir;var s=o?getSourceFilePathInNewDirWorker(t,o,n,i,a):t;return e.removeFileExtension(s)+".d.ts"}e.getDeclarationEmitOutputFilePathWorker=getDeclarationEmitOutputFilePathWorker;function getSourceFilesToEmit(t,r){var n=t.getCompilerOptions();var i=function(e){return t.isSourceFileFromExternalLibrary(e)};if(n.outFile||n.out){var a=e.getEmitModuleKind(n);var o=n.emitDeclarationOnly||a===e.ModuleKind.AMD||a===e.ModuleKind.System;return e.filter(t.getSourceFiles(),function(t){return(o||!e.isExternalModule(t))&&sourceFileMayBeEmitted(t,n,i)})}else{var s=r===undefined?t.getSourceFiles():[r];return e.filter(s,function(e){return sourceFileMayBeEmitted(e,n,i)})}}e.getSourceFilesToEmit=getSourceFilesToEmit;function sourceFileMayBeEmitted(e,t,r){return!(t.noEmitForJsFiles&&isSourceFileJS(e))&&!e.isDeclarationFile&&!r(e)}e.sourceFileMayBeEmitted=sourceFileMayBeEmitted;function getSourceFilePathInNewDir(e,t,r){return getSourceFilePathInNewDirWorker(e,r,t.getCurrentDirectory(),t.getCommonSourceDirectory(),function(e){return t.getCanonicalFileName(e)})}e.getSourceFilePathInNewDir=getSourceFilePathInNewDir;function getSourceFilePathInNewDirWorker(t,r,n,i,a){var o=e.getNormalizedAbsolutePath(t,n);var s=a(o).indexOf(a(i))===0;o=s?o.substring(i.length):o;return e.combinePaths(r,o)}e.getSourceFilePathInNewDirWorker=getSourceFilePathInNewDirWorker;function writeFile(t,r,n,i,a,o){t.writeFile(n,i,a,function(t){r.add(e.createCompilerDiagnostic(e.Diagnostics.Could_not_write_file_0_Colon_1,n,t))},o)}e.writeFile=writeFile;function getLineOfLocalPosition(t,r){return e.getLineAndCharacterOfPosition(t,r).line}e.getLineOfLocalPosition=getLineOfLocalPosition;function getLineOfLocalPositionFromLineMap(t,r){return e.computeLineAndCharacterOfPosition(t,r).line}e.getLineOfLocalPositionFromLineMap=getLineOfLocalPositionFromLineMap;function getFirstConstructorWithBody(t){return e.find(t.members,function(t){return e.isConstructorDeclaration(t)&&nodeIsPresent(t.body)})}e.getFirstConstructorWithBody=getFirstConstructorWithBody;function getSetAccessorValueParameter(e){if(e&&e.parameters.length>0){var t=e.parameters.length===2&¶meterIsThisKeyword(e.parameters[0]);return e.parameters[t?1:0]}}function getSetAccessorTypeAnnotationNode(e){var t=getSetAccessorValueParameter(e);return t&&t.type}e.getSetAccessorTypeAnnotationNode=getSetAccessorTypeAnnotationNode;function getThisParameter(t){if(t.parameters.length&&!e.isJSDocSignature(t)){var r=t.parameters[0];if(parameterIsThisKeyword(r)){return r}}}e.getThisParameter=getThisParameter;function parameterIsThisKeyword(e){return isThisIdentifier(e.name)}e.parameterIsThisKeyword=parameterIsThisKeyword;function isThisIdentifier(e){return!!e&&e.kind===72&&identifierIsThisKeyword(e)}e.isThisIdentifier=isThisIdentifier;function identifierIsThisKeyword(e){return e.originalKeywordKind===100}e.identifierIsThisKeyword=identifierIsThisKeyword;function getAllAccessorDeclarations(t,r){var n;var i;var a;var o;if(hasDynamicName(r)){n=r;if(r.kind===158){a=r}else if(r.kind===159){o=r}else{e.Debug.fail("Accessor has wrong kind")}}else{e.forEach(t,function(t){if(e.isAccessor(t)&&hasModifier(t,32)===hasModifier(r,32)){var s=getPropertyNameForPropertyNameNode(t.name);var c=getPropertyNameForPropertyNameNode(r.name);if(s===c){if(!n){n=t}else if(!i){i=t}if(t.kind===158&&!a){a=t}if(t.kind===159&&!o){o=t}}}})}return{firstAccessor:n,secondAccessor:i,getAccessor:a,setAccessor:o}}e.getAllAccessorDeclarations=getAllAccessorDeclarations;function getEffectiveTypeAnnotationNode(t){var r=t.type;if(r||!isInJSFile(t))return r;return e.isJSDocPropertyLikeTag(t)?t.typeExpression&&t.typeExpression.type:e.getJSDocType(t)}e.getEffectiveTypeAnnotationNode=getEffectiveTypeAnnotationNode;function getTypeAnnotationNode(e){return e.type}e.getTypeAnnotationNode=getTypeAnnotationNode;function getEffectiveReturnTypeNode(t){return e.isJSDocSignature(t)?t.type&&t.type.typeExpression&&t.type.typeExpression.type:t.type||(isInJSFile(t)?e.getJSDocReturnType(t):undefined)}e.getEffectiveReturnTypeNode=getEffectiveReturnTypeNode;function getJSDocTypeParameterDeclarations(t){return e.flatMap(e.getJSDocTags(t),function(e){return isNonTypeAliasTemplate(e)?e.typeParameters:undefined})}e.getJSDocTypeParameterDeclarations=getJSDocTypeParameterDeclarations;function isNonTypeAliasTemplate(t){return e.isJSDocTemplateTag(t)&&!(t.parent.kind===291&&t.parent.tags.some(isJSDocTypeAlias))}function getEffectiveSetAccessorTypeAnnotationNode(e){var t=getSetAccessorValueParameter(e);return t&&getEffectiveTypeAnnotationNode(t)}e.getEffectiveSetAccessorTypeAnnotationNode=getEffectiveSetAccessorTypeAnnotationNode;function emitNewLineBeforeLeadingComments(e,t,r,n){emitNewLineBeforeLeadingCommentsOfPosition(e,t,r.pos,n)}e.emitNewLineBeforeLeadingComments=emitNewLineBeforeLeadingComments;function emitNewLineBeforeLeadingCommentsOfPosition(e,t,r,n){if(n&&n.length&&r!==n[0].pos&&getLineOfLocalPositionFromLineMap(e,r)!==getLineOfLocalPositionFromLineMap(e,n[0].pos)){t.writeLine()}}e.emitNewLineBeforeLeadingCommentsOfPosition=emitNewLineBeforeLeadingCommentsOfPosition;function emitNewLineBeforeLeadingCommentOfPosition(e,t,r,n){if(r!==n&&getLineOfLocalPositionFromLineMap(e,r)!==getLineOfLocalPositionFromLineMap(e,n)){t.writeLine()}}e.emitNewLineBeforeLeadingCommentOfPosition=emitNewLineBeforeLeadingCommentOfPosition;function emitComments(e,t,r,n,i,a,o,s){if(n&&n.length>0){if(i){r.writeSpace(" ")}var c=false;for(var u=0,l=n;u=_+2){break}}l.push(g);f=g}if(l.length){var _=getLineOfLocalPositionFromLineMap(r,e.last(l).end);var y=getLineOfLocalPositionFromLineMap(r,e.skipTrivia(t,a.pos));if(y>=_+2){emitNewLineBeforeLeadingComments(r,n,a,c);emitComments(t,r,n,l,false,true,o,i);u={nodePos:a.pos,detachedCommentEndPos:e.last(l).end}}}}return u;function isPinnedCommentLocal(e){return isPinnedComment(t,e.pos)}}e.emitDetachedComments=emitDetachedComments;function writeCommentRange(t,r,n,i,a,o){if(t.charCodeAt(i+1)===42){var s=e.computeLineAndCharacterOfPosition(r,i);var c=r.length;var u=void 0;for(var l=i,f=s.line;l0){var _=g%getIndentSize();var m=getIndentString((g-_)/getIndentSize());n.rawWrite(m);while(_){n.rawWrite(" ");_--}}else{n.rawWrite("")}}writeTrimmedCurrentLine(t,a,n,o,l,d);l=d}}else{n.writeComment(t.substring(i,a))}}e.writeCommentRange=writeCommentRange;function writeTrimmedCurrentLine(e,t,r,n,i,a){var o=Math.min(t,a-1);var s=e.substring(i,o).replace(/^\s+|\s+$/g,"");if(s){r.writeComment(s);if(o!==t){r.writeLine()}}else{r.rawWrite(n)}}function calculateIndent(t,r,n){var i=0;for(;r=59&&e<=71}e.isAssignmentOperator=isAssignmentOperator;function tryGetClassExtendingExpressionWithTypeArguments(e){var t=tryGetClassImplementingOrExtendingExpressionWithTypeArguments(e);return t&&!t.isImplements?t.class:undefined}e.tryGetClassExtendingExpressionWithTypeArguments=tryGetClassExtendingExpressionWithTypeArguments;function tryGetClassImplementingOrExtendingExpressionWithTypeArguments(t){return e.isExpressionWithTypeArguments(t)&&e.isHeritageClause(t.parent)&&e.isClassLike(t.parent.parent)?{class:t.parent.parent,isImplements:t.parent.token===109}:undefined}e.tryGetClassImplementingOrExtendingExpressionWithTypeArguments=tryGetClassImplementingOrExtendingExpressionWithTypeArguments;function isAssignmentExpression(t,r){return e.isBinaryExpression(t)&&(r?t.operatorToken.kind===59:isAssignmentOperator(t.operatorToken.kind))&&e.isLeftHandSideExpression(t.left)}e.isAssignmentExpression=isAssignmentExpression;function isDestructuringAssignment(e){if(isAssignmentExpression(e,true)){var t=e.left.kind;return t===188||t===187}return false}e.isDestructuringAssignment=isDestructuringAssignment;function isExpressionWithTypeArgumentsInClassExtendsClause(e){return tryGetClassExtendingExpressionWithTypeArguments(e)!==undefined}e.isExpressionWithTypeArgumentsInClassExtendsClause=isExpressionWithTypeArgumentsInClassExtendsClause;function isEntityNameExpression(e){return e.kind===72||isPropertyAccessEntityNameExpression(e)}e.isEntityNameExpression=isEntityNameExpression;function isPropertyAccessEntityNameExpression(t){return e.isPropertyAccessExpression(t)&&isEntityNameExpression(t.expression)}e.isPropertyAccessEntityNameExpression=isPropertyAccessEntityNameExpression;function isPrototypeAccess(t){return e.isPropertyAccessExpression(t)&&t.name.escapedText==="prototype"}e.isPrototypeAccess=isPrototypeAccess;function isRightSideOfQualifiedNameOrPropertyAccess(e){return e.parent.kind===148&&e.parent.right===e||e.parent.kind===189&&e.parent.name===e}e.isRightSideOfQualifiedNameOrPropertyAccess=isRightSideOfQualifiedNameOrPropertyAccess;function isEmptyObjectLiteral(e){return e.kind===188&&e.properties.length===0}e.isEmptyObjectLiteral=isEmptyObjectLiteral;function isEmptyArrayLiteral(e){return e.kind===187&&e.elements.length===0}e.isEmptyArrayLiteral=isEmptyArrayLiteral;function getLocalSymbolForExportDefault(e){return isExportDefaultSymbol(e)?e.declarations[0].localSymbol:undefined}e.getLocalSymbolForExportDefault=getLocalSymbolForExportDefault;function isExportDefaultSymbol(t){return t&&e.length(t.declarations)>0&&hasModifier(t.declarations[0],512)}function tryExtractTSExtension(t){return e.find(e.supportedTSExtensionsForExtractExtension,function(r){return e.fileExtensionIs(t,r)})}e.tryExtractTSExtension=tryExtractTSExtension;function getExpandedCharCodes(t){var r=[];var n=t.length;for(var i=0;i>6|192);r.push(a&63|128)}else if(a<65536){r.push(a>>12|224);r.push(a>>6&63|128);r.push(a&63|128)}else if(a<131072){r.push(a>>18|240);r.push(a>>12&63|128);r.push(a>>6&63|128);r.push(a&63|128)}else{e.Debug.assert(false,"Unexpected code point")}}return r}var g="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function convertToBase64(e){var t="";var r=getExpandedCharCodes(e);var n=0;var i=r.length;var a,o,s,c;while(n>2;o=(r[n]&3)<<4|r[n+1]>>4;s=(r[n+1]&15)<<2|r[n+2]>>6;c=r[n+2]&63;if(n+1>=i){s=c=64}else if(n+2>=i){c=64}t+=g.charAt(a)+g.charAt(o)+g.charAt(s)+g.charAt(c);n+=3}return t}e.convertToBase64=convertToBase64;function getStringFromExpandedCharCodes(e){var t="";var r=0;var n=e.length;while(r>4&3;var l=(o&15)<<4|s>>2&15;var f=(s&3)<<6|c&63;if(l===0&&s!==0){n.push(u)}else if(f===0&&c!==0){n.push(u,l)}else{n.push(u,l,f)}i+=4}return getStringFromExpandedCharCodes(n)}e.base64decode=base64decode;function readJson(t,r){try{var n=r.readFile(t);if(!n)return{};var i=e.parseConfigFileTextToJson(t,n);if(i.error){return{}}return i.config}catch(e){return{}}}e.readJson=readJson;function directoryProbablyExists(e,t){return!t.directoryExists||t.directoryExists(e)}e.directoryProbablyExists=directoryProbablyExists;var _="\r\n";var m="\n";function getNewLineCharacter(t,r){switch(t.newLine){case 0:return _;case 1:return m}return r?r():e.sys?e.sys.newLine:_}e.getNewLineCharacter=getNewLineCharacter;function formatEnum(e,t,r){if(e===void 0){e=0}var n=getEnumMembers(t);if(e===0){return n.length>0&&n[0][0]===0?n[0][1]:"0"}if(r){var i="";var a=e;for(var o=n.length-1;o>=0&&a!==0;o--){var s=n[o],c=s[0],u=s[1];if(c!==0&&(a&c)===c){a&=~c;i=""+u+(i?", ":"")+i}}if(a===0){return i}}else{for(var l=0,f=n;l=t||r===-1);return{pos:t,end:r}}e.createRange=createRange;function moveRangeEnd(e,t){return createRange(e.pos,t)}e.moveRangeEnd=moveRangeEnd;function moveRangePos(e,t){return createRange(t,e.end)}e.moveRangePos=moveRangePos;function moveRangePastDecorators(e){return e.decorators&&e.decorators.length>0?moveRangePos(e,e.decorators.end):e}e.moveRangePastDecorators=moveRangePastDecorators;function moveRangePastModifiers(e){return e.modifiers&&e.modifiers.length>0?moveRangePos(e,e.modifiers.end):moveRangePastDecorators(e)}e.moveRangePastModifiers=moveRangePastModifiers;function isCollapsedRange(e){return e.pos===e.end}e.isCollapsedRange=isCollapsedRange;function createTokenRange(t,r){return createRange(t,t+e.tokenToString(r).length)}e.createTokenRange=createTokenRange;function rangeIsOnSingleLine(e,t){return rangeStartIsOnSameLineAsRangeEnd(e,e,t)}e.rangeIsOnSingleLine=rangeIsOnSingleLine;function rangeStartPositionsAreOnSameLine(e,t,r){return positionsAreOnSameLine(getStartPositionOfRange(e,r),getStartPositionOfRange(t,r),r)}e.rangeStartPositionsAreOnSameLine=rangeStartPositionsAreOnSameLine;function rangeEndPositionsAreOnSameLine(e,t,r){return positionsAreOnSameLine(e.end,t.end,r)}e.rangeEndPositionsAreOnSameLine=rangeEndPositionsAreOnSameLine;function rangeStartIsOnSameLineAsRangeEnd(e,t,r){return positionsAreOnSameLine(getStartPositionOfRange(e,r),t.end,r)}e.rangeStartIsOnSameLineAsRangeEnd=rangeStartIsOnSameLineAsRangeEnd;function rangeEndIsOnSameLineAsRangeStart(e,t,r){return positionsAreOnSameLine(e.end,getStartPositionOfRange(t,r),r)}e.rangeEndIsOnSameLineAsRangeStart=rangeEndIsOnSameLineAsRangeStart;function positionsAreOnSameLine(e,t,r){return e===t||getLineOfLocalPosition(r,e)===getLineOfLocalPosition(r,t)}e.positionsAreOnSameLine=positionsAreOnSameLine;function getStartPositionOfRange(t,r){return e.positionIsSynthesized(t.pos)?-1:e.skipTrivia(r.text,t.pos)}e.getStartPositionOfRange=getStartPositionOfRange;function isDeclarationNameOfEnumOrNamespace(t){var r=e.getParseTreeNode(t);if(r){switch(r.parent.kind){case 243:case 244:return r===r.parent.name}}return false}e.isDeclarationNameOfEnumOrNamespace=isDeclarationNameOfEnumOrNamespace;function getInitializedVariables(t){return e.filter(t.declarations,isInitializedVariable)}e.getInitializedVariables=getInitializedVariables;function isInitializedVariable(e){return e.initializer!==undefined}function isWatchSet(e){return e.watch&&e.hasOwnProperty("watch")}e.isWatchSet=isWatchSet;function closeFileWatcher(e){e.close()}e.closeFileWatcher=closeFileWatcher;function getCheckFlags(e){return e.flags&33554432?e.checkFlags:0}e.getCheckFlags=getCheckFlags;function getDeclarationModifierFlagsFromSymbol(t){if(t.valueDeclaration){var r=e.getCombinedModifierFlags(t.valueDeclaration);return t.parent&&t.parent.flags&32?r:r&~28}if(getCheckFlags(t)&6){var n=t.checkFlags;var i=n&256?8:n&64?4:16;var a=n&512?32:0;return i|a}if(t.flags&4194304){return 4|32}return 0}e.getDeclarationModifierFlagsFromSymbol=getDeclarationModifierFlagsFromSymbol;function skipAlias(e,t){return e.flags&2097152?t.getAliasedSymbol(e):e}e.skipAlias=skipAlias;function getCombinedLocalAndExportSymbolFlags(e){return e.exportSymbol?e.exportSymbol.flags|e.flags:e.flags}e.getCombinedLocalAndExportSymbolFlags=getCombinedLocalAndExportSymbolFlags;function isWriteOnlyAccess(e){return accessKind(e)===1}e.isWriteOnlyAccess=isWriteOnlyAccess;function isWriteAccess(e){return accessKind(e)!==0}e.isWriteAccess=isWriteAccess;var y;(function(e){e[e["Read"]=0]="Read";e[e["Write"]=1]="Write";e[e["ReadWrite"]=2]="ReadWrite"})(y||(y={}));function accessKind(e){var t=e.parent;if(!t)return 0;switch(t.kind){case 195:return accessKind(t);case 203:case 202:var r=t.operator;return r===44||r===45?writeOrReadWrite():0;case 204:var n=t,i=n.left,a=n.operatorToken;return i===e&&isAssignmentOperator(a.kind)?a.kind===59?1:writeOrReadWrite():0;case 189:return t.name!==e?0:accessKind(t);case 275:{var o=accessKind(t.parent);return e===t.name?reverseAccessKind(o):o}case 276:return e===t.objectAssignmentInitializer?0:accessKind(t.parent);case 187:return accessKind(t);default:return 0}function writeOrReadWrite(){return t.parent&&skipParenthesesUp(t.parent).kind===221?1:2}}function reverseAccessKind(t){switch(t){case 0:return 1;case 1:return 0;case 2:return 2;default:return e.Debug.assertNever(t)}}function compareDataObjects(e,t){if(!e||!t||Object.keys(e).length!==Object.keys(t).length){return false}for(var r in e){if(typeof e[r]==="object"){if(!compareDataObjects(e[r],t[r])){return false}}else if(typeof e[r]!=="function"){if(e[r]!==t[r]){return false}}}return true}e.compareDataObjects=compareDataObjects;function clearMap(e,t){e.forEach(t);e.clear()}e.clearMap=clearMap;function mutateMap(e,t,r){var n=r.createNewValue,i=r.onDeleteValue,a=r.onExistingValue;e.forEach(function(r,n){var o=t.get(n);if(o===undefined){e.delete(n);i(r,n)}else if(a){a(r,o,n)}});t.forEach(function(t,r){if(!e.has(r)){e.set(r,n(r,t))}})}e.mutateMap=mutateMap;function forEachAncestorDirectory(t,r){while(true){var n=r(t);if(n!==undefined){return n}var i=e.getDirectoryPath(t);if(i===t){return undefined}t=i}}e.forEachAncestorDirectory=forEachAncestorDirectory;function isAbstractConstructorType(e){return!!(getObjectFlags(e)&16)&&!!e.symbol&&isAbstractConstructorSymbol(e.symbol)}e.isAbstractConstructorType=isAbstractConstructorType;function isAbstractConstructorSymbol(e){if(e.flags&32){var t=getClassLikeDeclarationOfSymbol(e);return!!t&&hasModifier(t,128)}return false}e.isAbstractConstructorSymbol=isAbstractConstructorSymbol;function getClassLikeDeclarationOfSymbol(t){return e.find(t.declarations,e.isClassLike)}e.getClassLikeDeclarationOfSymbol=getClassLikeDeclarationOfSymbol;function getObjectFlags(e){return e.flags&524288?e.objectFlags:0}e.getObjectFlags=getObjectFlags;function typeHasCallOrConstructSignatures(e,t){return t.getSignaturesOfType(e,0).length!==0||t.getSignaturesOfType(e,1).length!==0}e.typeHasCallOrConstructSignatures=typeHasCallOrConstructSignatures;function forSomeAncestorDirectory(e,t){return!!forEachAncestorDirectory(e,function(e){return t(e)?true:undefined})}e.forSomeAncestorDirectory=forSomeAncestorDirectory;function isUMDExportSymbol(t){return!!t&&!!t.declarations&&!!t.declarations[0]&&e.isNamespaceExportDeclaration(t.declarations[0])}e.isUMDExportSymbol=isUMDExportSymbol;function showModuleSpecifier(t){var r=t.moduleSpecifier;return e.isStringLiteral(r)?r.text:getTextOfNode(r)}e.showModuleSpecifier=showModuleSpecifier;function getLastChild(t){var r;e.forEachChild(t,function(e){if(nodeIsPresent(e))r=e},function(e){for(var t=e.length-1;t>=0;t--){if(nodeIsPresent(e[t])){r=e[t];break}}});return r}e.getLastChild=getLastChild;function addToSeen(e,t,r){if(r===void 0){r=true}t=String(t);if(e.has(t)){return false}e.set(t,r);return true}e.addToSeen=addToSeen;function isObjectTypeDeclaration(t){return e.isClassLike(t)||e.isInterfaceDeclaration(t)||e.isTypeLiteralNode(t)}e.isObjectTypeDeclaration=isObjectTypeDeclaration;function isTypeNodeKind(e){return e>=163&&e<=183||e===120||e===143||e===135||e===146||e===136||e===123||e===138||e===139||e===100||e===106||e===141||e===96||e===132||e===211||e===284||e===285||e===286||e===287||e===288||e===289||e===290}e.isTypeNodeKind=isTypeNodeKind})(s||(s={}));(function(e){function getDefaultLibFileName(e){switch(e.target){case 6:return"lib.esnext.full.d.ts";case 5:return"lib.es2018.full.d.ts";case 4:return"lib.es2017.full.d.ts";case 3:return"lib.es2016.full.d.ts";case 2:return"lib.es6.d.ts";default:return"lib.d.ts"}}e.getDefaultLibFileName=getDefaultLibFileName;function textSpanEnd(e){return e.start+e.length}e.textSpanEnd=textSpanEnd;function textSpanIsEmpty(e){return e.length===0}e.textSpanIsEmpty=textSpanIsEmpty;function textSpanContainsPosition(e,t){return t>=e.start&&t=e.pos&&t<=e.end}e.textRangeContainsPositionInclusive=textRangeContainsPositionInclusive;function textSpanContainsTextSpan(e,t){return t.start>=e.start&&textSpanEnd(t)<=textSpanEnd(e)}e.textSpanContainsTextSpan=textSpanContainsTextSpan;function textSpanOverlapsWith(e,t){return textSpanOverlap(e,t)!==undefined}e.textSpanOverlapsWith=textSpanOverlapsWith;function textSpanOverlap(e,t){var r=textSpanIntersection(e,t);return r&&r.length===0?undefined:r}e.textSpanOverlap=textSpanOverlap;function textSpanIntersectsWithTextSpan(e,t){return decodedTextSpanIntersectsWith(e.start,e.length,t.start,t.length)}e.textSpanIntersectsWithTextSpan=textSpanIntersectsWithTextSpan;function textSpanIntersectsWith(e,t,r){return decodedTextSpanIntersectsWith(e.start,e.length,t,r)}e.textSpanIntersectsWith=textSpanIntersectsWith;function decodedTextSpanIntersectsWith(e,t,r,n){var i=e+t;var a=r+n;return r<=i&&a>=e}e.decodedTextSpanIntersectsWith=decodedTextSpanIntersectsWith;function textSpanIntersectsWithPosition(e,t){return t<=textSpanEnd(e)&&t>=e.start}e.textSpanIntersectsWithPosition=textSpanIntersectsWithPosition;function textSpanIntersection(e,t){var r=Math.max(e.start,t.start);var n=Math.min(textSpanEnd(e),textSpanEnd(t));return r<=n?createTextSpanFromBounds(r,n):undefined}e.textSpanIntersection=textSpanIntersection;function createTextSpan(e,t){if(e<0){throw new Error("start < 0")}if(t<0){throw new Error("length < 0")}return{start:e,length:t}}e.createTextSpan=createTextSpan;function createTextSpanFromBounds(e,t){return createTextSpan(e,t-e)}e.createTextSpanFromBounds=createTextSpanFromBounds;function textChangeRangeNewSpan(e){return createTextSpan(e.span.start,e.newLength)}e.textChangeRangeNewSpan=textChangeRangeNewSpan;function textChangeRangeIsUnchanged(e){return textSpanIsEmpty(e.span)&&e.newLength===0}e.textChangeRangeIsUnchanged=textChangeRangeIsUnchanged;function createTextChangeRange(e,t){if(t<0){throw new Error("newLength < 0")}return{span:e,newLength:t}}e.createTextChangeRange=createTextChangeRange;e.unchangedTextChangeRange=createTextChangeRange(createTextSpan(0,0),0);function collapseTextChangeRangesAcrossMultipleVersions(t){if(t.length===0){return e.unchangedTextChangeRange}if(t.length===1){return t[0]}var r=t[0];var n=r.span.start;var i=textSpanEnd(r.span);var a=n+r.newLength;for(var o=1;o=2&&e.charCodeAt(0)===95&&e.charCodeAt(1)===95?"_"+e:e}e.escapeLeadingUnderscores=escapeLeadingUnderscores;function unescapeLeadingUnderscores(e){var t=e;return t.length>=3&&t.charCodeAt(0)===95&&t.charCodeAt(1)===95&&t.charCodeAt(2)===95?t.substr(1):t}e.unescapeLeadingUnderscores=unescapeLeadingUnderscores;function idText(e){return unescapeLeadingUnderscores(e.escapedText)}e.idText=idText;function symbolName(e){return unescapeLeadingUnderscores(e.escapedName)}e.symbolName=symbolName;function nameForNamelessJSDocTypedef(t){var r=t.parent.parent;if(!r){return undefined}if(e.isDeclaration(r)){return getDeclarationIdentifier(r)}switch(r.kind){case 219:if(r.declarationList&&r.declarationList.declarations[0]){return getDeclarationIdentifier(r.declarationList.declarations[0])}break;case 221:var n=r.expression;switch(n.kind){case 189:return n.name;case 190:var i=n.argumentExpression;if(e.isIdentifier(i)){return i}}break;case 195:{return getDeclarationIdentifier(r.expression)}case 233:{if(e.isDeclaration(r.statement)||e.isExpression(r.statement)){return getDeclarationIdentifier(r.statement)}break}}}function getDeclarationIdentifier(t){var r=getNameOfDeclaration(t);return r&&e.isIdentifier(r)?r:undefined}function getNameOfJSDocTypedef(e){return e.name||nameForNamelessJSDocTypedef(e)}e.getNameOfJSDocTypedef=getNameOfJSDocTypedef;function isNamedDeclaration(e){return!!e.name}e.isNamedDeclaration=isNamedDeclaration;function getNonAssignedNameOfDeclaration(t){switch(t.kind){case 72:return t;case 305:case 299:{var r=t.name;if(r.kind===148){return r.right}break}case 191:case 204:{var n=t;switch(e.getAssignmentDeclarationKind(n)){case 1:case 4:case 5:case 3:return n.left.name;case 7:case 8:case 9:return n.arguments[1];default:return undefined}}case 304:return getNameOfJSDocTypedef(t);case 254:{var i=t.expression;return e.isIdentifier(i)?i:undefined}}return t.name}e.getNonAssignedNameOfDeclaration=getNonAssignedNameOfDeclaration;function getNameOfDeclaration(t){if(t===undefined)return undefined;return getNonAssignedNameOfDeclaration(t)||(e.isFunctionExpression(t)||e.isClassExpression(t)?getAssignedName(t):undefined)}e.getNameOfDeclaration=getNameOfDeclaration;function getAssignedName(t){if(!t.parent){return undefined}else if(e.isPropertyAssignment(t.parent)||e.isBindingElement(t.parent)){return t.parent.name}else if(e.isBinaryExpression(t.parent)&&t===t.parent.right){if(e.isIdentifier(t.parent.left)){return t.parent.left}else if(e.isPropertyAccessExpression(t.parent.left)){return t.parent.left.name}}}function getJSDocParameterTags(t){if(t.name){if(e.isIdentifier(t.name)){var r=t.name.escapedText;return getJSDocTags(t.parent).filter(function(t){return e.isJSDocParameterTag(t)&&e.isIdentifier(t.name)&&t.name.escapedText===r})}else{var n=t.parent.parameters.indexOf(t);e.Debug.assert(n>-1,"Parameters should always be in their parents' parameter list");var i=getJSDocTags(t.parent).filter(e.isJSDocParameterTag);if(n=148}e.isNodeKind=isNodeKind;function isToken(e){return e.kind>=0&&e.kind<=147}e.isToken=isToken;function isNodeArray(e){return e.hasOwnProperty("pos")&&e.hasOwnProperty("end")}e.isNodeArray=isNodeArray;function isLiteralKind(e){return 8<=e&&e<=14}e.isLiteralKind=isLiteralKind;function isLiteralExpression(e){return isLiteralKind(e.kind)}e.isLiteralExpression=isLiteralExpression;function isTemplateLiteralKind(e){return 14<=e&&e<=17}e.isTemplateLiteralKind=isTemplateLiteralKind;function isTemplateLiteralToken(e){return isTemplateLiteralKind(e.kind)}e.isTemplateLiteralToken=isTemplateLiteralToken;function isTemplateMiddleOrTemplateTail(e){var t=e.kind;return t===16||t===17}e.isTemplateMiddleOrTemplateTail=isTemplateMiddleOrTemplateTail;function isImportOrExportSpecifier(t){return e.isImportSpecifier(t)||e.isExportSpecifier(t)}e.isImportOrExportSpecifier=isImportOrExportSpecifier;function isStringTextContainingNode(e){return e.kind===10||isTemplateLiteralKind(e.kind)}e.isStringTextContainingNode=isStringTextContainingNode;function isGeneratedIdentifier(t){return e.isIdentifier(t)&&(t.autoGenerateFlags&7)>0}e.isGeneratedIdentifier=isGeneratedIdentifier;function isModifierKind(e){switch(e){case 118:case 121:case 77:case 125:case 80:case 85:case 115:case 113:case 114:case 133:case 116:return true}return false}e.isModifierKind=isModifierKind;function isParameterPropertyModifier(t){return!!(e.modifierToFlag(t)&92)}e.isParameterPropertyModifier=isParameterPropertyModifier;function isClassMemberModifier(e){return isParameterPropertyModifier(e)||e===116}e.isClassMemberModifier=isClassMemberModifier;function isModifier(e){return isModifierKind(e.kind)}e.isModifier=isModifier;function isEntityName(e){var t=e.kind;return t===148||t===72}e.isEntityName=isEntityName;function isPropertyName(e){var t=e.kind;return t===72||t===10||t===8||t===149}e.isPropertyName=isPropertyName;function isBindingName(e){var t=e.kind;return t===72||t===184||t===185}e.isBindingName=isBindingName;function isFunctionLike(e){return e&&isFunctionLikeKind(e.kind)}e.isFunctionLike=isFunctionLike;function isFunctionLikeDeclaration(e){return e&&isFunctionLikeDeclarationKind(e.kind)}e.isFunctionLikeDeclaration=isFunctionLikeDeclaration;function isFunctionLikeDeclarationKind(e){switch(e){case 239:case 156:case 157:case 158:case 159:case 196:case 197:return true;default:return false}}function isFunctionLikeKind(e){switch(e){case 155:case 160:case 293:case 161:case 162:case 165:case 289:case 166:return true;default:return isFunctionLikeDeclarationKind(e)}}e.isFunctionLikeKind=isFunctionLikeKind;function isFunctionOrModuleBlock(t){return e.isSourceFile(t)||e.isModuleBlock(t)||e.isBlock(t)&&isFunctionLike(t.parent)}e.isFunctionOrModuleBlock=isFunctionOrModuleBlock;function isClassElement(e){var t=e.kind;return t===157||t===154||t===156||t===158||t===159||t===162||t===217}e.isClassElement=isClassElement;function isClassLike(e){return e&&(e.kind===240||e.kind===209)}e.isClassLike=isClassLike;function isAccessor(e){return e&&(e.kind===158||e.kind===159)}e.isAccessor=isAccessor;function isMethodOrAccessor(e){switch(e.kind){case 156:case 158:case 159:return true;default:return false}}e.isMethodOrAccessor=isMethodOrAccessor;function isTypeElement(e){var t=e.kind;return t===161||t===160||t===153||t===155||t===162}e.isTypeElement=isTypeElement;function isClassOrTypeElement(e){return isTypeElement(e)||isClassElement(e)}e.isClassOrTypeElement=isClassOrTypeElement;function isObjectLiteralElementLike(e){var t=e.kind;return t===275||t===276||t===277||t===156||t===158||t===159}e.isObjectLiteralElementLike=isObjectLiteralElementLike;function isTypeNode(t){return e.isTypeNodeKind(t.kind)}e.isTypeNode=isTypeNode;function isFunctionOrConstructorTypeNode(e){switch(e.kind){case 165:case 166:return true}return false}e.isFunctionOrConstructorTypeNode=isFunctionOrConstructorTypeNode;function isBindingPattern(e){if(e){var t=e.kind;return t===185||t===184}return false}e.isBindingPattern=isBindingPattern;function isAssignmentPattern(e){var t=e.kind;return t===187||t===188}e.isAssignmentPattern=isAssignmentPattern;function isArrayBindingElement(e){var t=e.kind;return t===186||t===210}e.isArrayBindingElement=isArrayBindingElement;function isDeclarationBindingElement(e){switch(e.kind){case 237:case 151:case 186:return true}return false}e.isDeclarationBindingElement=isDeclarationBindingElement;function isBindingOrAssignmentPattern(e){return isObjectBindingOrAssignmentPattern(e)||isArrayBindingOrAssignmentPattern(e)}e.isBindingOrAssignmentPattern=isBindingOrAssignmentPattern;function isObjectBindingOrAssignmentPattern(e){switch(e.kind){case 184:case 188:return true}return false}e.isObjectBindingOrAssignmentPattern=isObjectBindingOrAssignmentPattern;function isArrayBindingOrAssignmentPattern(e){switch(e.kind){case 185:case 187:return true}return false}e.isArrayBindingOrAssignmentPattern=isArrayBindingOrAssignmentPattern;function isPropertyAccessOrQualifiedNameOrImportTypeNode(e){var t=e.kind;return t===189||t===148||t===183}e.isPropertyAccessOrQualifiedNameOrImportTypeNode=isPropertyAccessOrQualifiedNameOrImportTypeNode;function isPropertyAccessOrQualifiedName(e){var t=e.kind;return t===189||t===148}e.isPropertyAccessOrQualifiedName=isPropertyAccessOrQualifiedName;function isCallLikeExpression(e){switch(e.kind){case 262:case 261:case 191:case 192:case 193:case 152:return true;default:return false}}e.isCallLikeExpression=isCallLikeExpression;function isCallOrNewExpression(e){return e.kind===191||e.kind===192}e.isCallOrNewExpression=isCallOrNewExpression;function isTemplateLiteral(e){var t=e.kind;return t===206||t===14}e.isTemplateLiteral=isTemplateLiteral;function isLeftHandSideExpression(t){return isLeftHandSideExpressionKind(e.skipPartiallyEmittedExpressions(t).kind)}e.isLeftHandSideExpression=isLeftHandSideExpression;function isLeftHandSideExpressionKind(e){switch(e){case 189:case 190:case 192:case 191:case 260:case 261:case 264:case 193:case 187:case 195:case 188:case 209:case 196:case 72:case 13:case 8:case 9:case 10:case 14:case 206:case 87:case 96:case 100:case 102:case 98:case 213:case 214:case 92:return true;default:return false}}function isUnaryExpression(t){return isUnaryExpressionKind(e.skipPartiallyEmittedExpressions(t).kind)}e.isUnaryExpression=isUnaryExpression;function isUnaryExpressionKind(e){switch(e){case 202:case 203:case 198:case 199:case 200:case 201:case 194:return true;default:return isLeftHandSideExpressionKind(e)}}function isUnaryExpressionWithWrite(e){switch(e.kind){case 203:return true;case 202:return e.operator===44||e.operator===45;default:return false}}e.isUnaryExpressionWithWrite=isUnaryExpressionWithWrite;function isExpression(t){return isExpressionKind(e.skipPartiallyEmittedExpressions(t).kind)}e.isExpression=isExpression;function isExpressionKind(e){switch(e){case 205:case 207:case 197:case 204:case 208:case 212:case 210:case 309:case 308:return true;default:return isUnaryExpressionKind(e)}}function isAssertionExpression(e){var t=e.kind;return t===194||t===212}e.isAssertionExpression=isAssertionExpression;function isPartiallyEmittedExpression(e){return e.kind===308}e.isPartiallyEmittedExpression=isPartiallyEmittedExpression;function isNotEmittedStatement(e){return e.kind===307}e.isNotEmittedStatement=isNotEmittedStatement;function isNotEmittedOrPartiallyEmittedNode(e){return isNotEmittedStatement(e)||isPartiallyEmittedExpression(e)}e.isNotEmittedOrPartiallyEmittedNode=isNotEmittedOrPartiallyEmittedNode;function isIterationStatement(e,t){switch(e.kind){case 225:case 226:case 227:case 223:case 224:return true;case 233:return t&&isIterationStatement(e.statement,t)}return false}e.isIterationStatement=isIterationStatement;function isForInOrOfStatement(e){return e.kind===226||e.kind===227}e.isForInOrOfStatement=isForInOrOfStatement;function isConciseBody(t){return e.isBlock(t)||isExpression(t)}e.isConciseBody=isConciseBody;function isFunctionBody(t){return e.isBlock(t)}e.isFunctionBody=isFunctionBody;function isForInitializer(t){return e.isVariableDeclarationList(t)||isExpression(t)}e.isForInitializer=isForInitializer;function isModuleBody(e){var t=e.kind;return t===245||t===244||t===72}e.isModuleBody=isModuleBody;function isNamespaceBody(e){var t=e.kind;return t===245||t===244}e.isNamespaceBody=isNamespaceBody;function isJSDocNamespaceBody(e){var t=e.kind;return t===72||t===244}e.isJSDocNamespaceBody=isJSDocNamespaceBody;function isNamedImportBindings(e){var t=e.kind;return t===252||t===251}e.isNamedImportBindings=isNamedImportBindings;function isModuleOrEnumDeclaration(e){return e.kind===244||e.kind===243}e.isModuleOrEnumDeclaration=isModuleOrEnumDeclaration;function isDeclarationKind(e){return e===197||e===186||e===240||e===209||e===157||e===243||e===278||e===257||e===239||e===196||e===158||e===250||e===248||e===253||e===241||e===267||e===156||e===155||e===244||e===247||e===251||e===151||e===275||e===154||e===153||e===159||e===276||e===242||e===150||e===237||e===304||e===297||e===305}function isDeclarationStatementKind(e){return e===239||e===258||e===240||e===241||e===242||e===243||e===244||e===249||e===248||e===255||e===254||e===247}function isStatementKindButNotDeclarationKind(e){return e===229||e===228||e===236||e===223||e===221||e===220||e===226||e===227||e===225||e===222||e===233||e===230||e===232||e===234||e===235||e===219||e===224||e===231||e===307||e===311||e===310}function isDeclaration(t){if(t.kind===150){return t.parent.kind!==303||e.isInJSFile(t)}return isDeclarationKind(t.kind)}e.isDeclaration=isDeclaration;function isDeclarationStatement(e){return isDeclarationStatementKind(e.kind)}e.isDeclarationStatement=isDeclarationStatement;function isStatementButNotDeclaration(e){return isStatementKindButNotDeclarationKind(e.kind)}e.isStatementButNotDeclaration=isStatementButNotDeclaration;function isStatement(e){var t=e.kind;return isStatementKindButNotDeclarationKind(t)||isDeclarationStatementKind(t)||isBlockStatement(e)}e.isStatement=isStatement;function isBlockStatement(t){if(t.kind!==218)return false;if(t.parent!==undefined){if(t.parent.kind===235||t.parent.kind===274){return false}}return!e.isFunctionBlock(t)}function isModuleReference(e){var t=e.kind;return t===259||t===148||t===72}e.isModuleReference=isModuleReference;function isJsxTagNameExpression(e){var t=e.kind;return t===100||t===72||t===189}e.isJsxTagNameExpression=isJsxTagNameExpression;function isJsxChild(e){var t=e.kind;return t===260||t===270||t===261||t===11||t===264}e.isJsxChild=isJsxChild;function isJsxAttributeLike(e){var t=e.kind;return t===267||t===269}e.isJsxAttributeLike=isJsxAttributeLike;function isStringLiteralOrJsxExpression(e){var t=e.kind;return t===10||t===270}e.isStringLiteralOrJsxExpression=isStringLiteralOrJsxExpression;function isJsxOpeningLikeElement(e){var t=e.kind;return t===262||t===261}e.isJsxOpeningLikeElement=isJsxOpeningLikeElement;function isCaseOrDefaultClause(e){var t=e.kind;return t===271||t===272}e.isCaseOrDefaultClause=isCaseOrDefaultClause;function isJSDocNode(e){return e.kind>=283&&e.kind<=305}e.isJSDocNode=isJSDocNode;function isJSDocCommentContainingNode(t){return t.kind===291||isJSDocTag(t)||e.isJSDocTypeLiteral(t)||e.isJSDocSignature(t)}e.isJSDocCommentContainingNode=isJSDocCommentContainingNode;function isJSDocTag(e){return e.kind>=294&&e.kind<=305}e.isJSDocTag=isJSDocTag;function isSetAccessor(e){return e.kind===159}e.isSetAccessor=isSetAccessor;function isGetAccessor(e){return e.kind===158}e.isGetAccessor=isGetAccessor;function hasJSDocNodes(e){var t=e.jsDoc;return!!t&&t.length>0}e.hasJSDocNodes=hasJSDocNodes;function hasType(e){return!!e.type}e.hasType=hasType;function hasInitializer(e){return!!e.initializer}e.hasInitializer=hasInitializer;function hasOnlyExpressionInitializer(t){return hasInitializer(t)&&!e.isForStatement(t)&&!e.isForInStatement(t)&&!e.isForOfStatement(t)&&!e.isJsxAttribute(t)}e.hasOnlyExpressionInitializer=hasOnlyExpressionInitializer;function isObjectLiteralElement(e){return e.kind===267||e.kind===269||isObjectLiteralElementLike(e)}e.isObjectLiteralElement=isObjectLiteralElement;function isTypeReferenceType(e){return e.kind===164||e.kind===211}e.isTypeReferenceType=isTypeReferenceType;var t=1073741823;function guessIndentation(r){var n=t;for(var i=0,a=r;i4){a=formatStringFromArgs(a,arguments,4)}return{file:t,start:r,length:n,messageText:a,category:i.category,code:i.code,reportsUnnecessary:i.reportsUnnecessary}}e.createFileDiagnostic=createFileDiagnostic;function formatMessage(e,t){var r=getLocaleSpecificMessage(t);if(arguments.length>2){r=formatStringFromArgs(r,arguments,2)}return r}e.formatMessage=formatMessage;function createCompilerDiagnostic(e){var t=getLocaleSpecificMessage(e);if(arguments.length>1){t=formatStringFromArgs(t,arguments,1)}return{file:undefined,start:undefined,length:undefined,messageText:t,category:e.category,code:e.code,reportsUnnecessary:e.reportsUnnecessary}}e.createCompilerDiagnostic=createCompilerDiagnostic;function createCompilerDiagnosticFromMessageChain(e){return{file:undefined,start:undefined,length:undefined,code:e.code,category:e.category,messageText:e.next?e:e.messageText}}e.createCompilerDiagnosticFromMessageChain=createCompilerDiagnosticFromMessageChain;function chainDiagnosticMessages(e,t){var r=getLocaleSpecificMessage(t);if(arguments.length>2){r=formatStringFromArgs(r,arguments,2)}return{messageText:r,category:t.category,code:t.code,next:e}}e.chainDiagnosticMessages=chainDiagnosticMessages;function concatenateDiagnosticMessageChains(e,t){var r=e;while(r.next){r=r.next}r.next=t;return e}e.concatenateDiagnosticMessageChains=concatenateDiagnosticMessageChains;function getDiagnosticFilePath(e){return e.file?e.file.path:undefined}function compareDiagnostics(e,t){return compareDiagnosticsSkipRelatedInformation(e,t)||compareRelatedInformation(e,t)||0}e.compareDiagnostics=compareDiagnostics;function compareDiagnosticsSkipRelatedInformation(t,r){return e.compareStringsCaseSensitive(getDiagnosticFilePath(t),getDiagnosticFilePath(r))||e.compareValues(t.start,r.start)||e.compareValues(t.length,r.length)||e.compareValues(t.code,r.code)||compareMessageText(t.messageText,r.messageText)||0}e.compareDiagnosticsSkipRelatedInformation=compareDiagnosticsSkipRelatedInformation;function compareRelatedInformation(t,r){if(!t.relatedInformation&&!r.relatedInformation){return 0}if(t.relatedInformation&&r.relatedInformation){return e.compareValues(t.relatedInformation.length,r.relatedInformation.length)||e.forEach(t.relatedInformation,function(e,t){var n=r.relatedInformation[t];return compareDiagnostics(e,n)})||0}return t.relatedInformation?-1:1}function compareMessageText(t,r){var n=t;var i=r;while(n&&i){var a=e.isString(n)?n:n.messageText;var o=e.isString(i)?i:i.messageText;var s=e.compareStringsCaseSensitive(a,o);if(s){return s}n=e.isString(n)?undefined:n.next;i=e.isString(i)?undefined:i.next}if(!n&&!i){return 0}return n?1:-1}function getEmitScriptTarget(e){return e.target||0}e.getEmitScriptTarget=getEmitScriptTarget;function getEmitModuleKind(t){return typeof t.module==="number"?t.module:getEmitScriptTarget(t)>=2?e.ModuleKind.ES2015:e.ModuleKind.CommonJS}e.getEmitModuleKind=getEmitModuleKind;function getEmitModuleResolutionKind(t){var r=t.moduleResolution;if(r===undefined){r=getEmitModuleKind(t)===e.ModuleKind.CommonJS?e.ModuleResolutionKind.NodeJs:e.ModuleResolutionKind.Classic}return r}e.getEmitModuleResolutionKind=getEmitModuleResolutionKind;function hasJsonModuleEmitEnabled(t){switch(getEmitModuleKind(t)){case e.ModuleKind.CommonJS:case e.ModuleKind.AMD:case e.ModuleKind.ES2015:case e.ModuleKind.ESNext:return true;default:return false}}e.hasJsonModuleEmitEnabled=hasJsonModuleEmitEnabled;function unreachableCodeIsError(e){return e.allowUnreachableCode===false}e.unreachableCodeIsError=unreachableCodeIsError;function unusedLabelIsError(e){return e.allowUnusedLabels===false}e.unusedLabelIsError=unusedLabelIsError;function getAreDeclarationMapsEnabled(e){return!!(getEmitDeclarations(e)&&e.declarationMap)}e.getAreDeclarationMapsEnabled=getAreDeclarationMapsEnabled;function getAllowSyntheticDefaultImports(t){var r=getEmitModuleKind(t);return t.allowSyntheticDefaultImports!==undefined?t.allowSyntheticDefaultImports:t.esModuleInterop||r===e.ModuleKind.System}e.getAllowSyntheticDefaultImports=getAllowSyntheticDefaultImports;function getEmitDeclarations(e){return!!(e.declaration||e.composite)}e.getEmitDeclarations=getEmitDeclarations;function getStrictOptionValue(e,t){return e[t]===undefined?!!e.strict:!!e[t]}e.getStrictOptionValue=getStrictOptionValue;function compilerOptionsAffectSemanticDiagnostics(t,r){return r!==t&&e.semanticDiagnosticsOptionDeclarations.some(function(n){return!e.isJsonEqual(getCompilerOptionValue(r,n),getCompilerOptionValue(t,n))})}e.compilerOptionsAffectSemanticDiagnostics=compilerOptionsAffectSemanticDiagnostics;function getCompilerOptionValue(e,t){return t.strictFlag?getStrictOptionValue(e,t.name):e[t.name]}e.getCompilerOptionValue=getCompilerOptionValue;function hasZeroOrOneAsteriskCharacter(e){var t=false;for(var r=0;r=97&&e<=122||e>=65&&e<=90}function getFileUrlVolumeSeparatorEnd(e,t){var r=e.charCodeAt(t);if(r===58)return t+1;if(r===37&&e.charCodeAt(t+1)===51){var n=e.charCodeAt(t+2);if(n===97||n===65)return t+3}return-1}function getEncodedRootLength(n){if(!n)return 0;var i=n.charCodeAt(0);if(i===47||i===92){if(n.charCodeAt(1)!==i)return 1;var a=n.indexOf(i===47?e.directorySeparator:t,2);if(a<0)return n.length;return a+1}if(isVolumeCharacter(i)&&n.charCodeAt(1)===58){var o=n.charCodeAt(2);if(o===47||o===92)return 3;if(n.length===2)return 2}var s=n.indexOf(r);if(s!==-1){var c=s+r.length;var u=n.indexOf(e.directorySeparator,c);if(u!==-1){var l=n.slice(0,s);var f=n.slice(c,u);if(l==="file"&&(f===""||f==="localhost")&&isVolumeCharacter(n.charCodeAt(u+1))){var d=getFileUrlVolumeSeparatorEnd(n,u+2);if(d!==-1){if(n.charCodeAt(d)===47){return~(d+1)}if(d===n.length){return~d}}}return~(u+1)}return~n.length}return 0}function getRootLength(e){var t=getEncodedRootLength(e);return t<0?~t:t}e.getRootLength=getRootLength;function normalizePath(t){return e.resolvePath(t)}e.normalizePath=normalizePath;function normalizePathAndParts(t){t=normalizeSlashes(t);var r=reducePathComponents(getPathComponents(t)),n=r[0],i=r.slice(1);if(i.length){var a=n+i.join(e.directorySeparator);return{path:e.hasTrailingDirectorySeparator(t)?e.ensureTrailingDirectorySeparator(a):a,parts:i}}else{return{path:n,parts:i}}}e.normalizePathAndParts=normalizePathAndParts;function getDirectoryPath(t){t=normalizeSlashes(t);var r=getRootLength(t);if(r===t.length)return t;t=e.removeTrailingDirectorySeparator(t);return t.slice(0,Math.max(r,t.lastIndexOf(e.directorySeparator)))}e.getDirectoryPath=getDirectoryPath;function startsWithDirectory(t,r,n){var i=n(t);var a=n(r);return e.startsWith(i,a+"/")||e.startsWith(i,a+"\\")}e.startsWithDirectory=startsWithDirectory;function isUrl(e){return getEncodedRootLength(e)<0}e.isUrl=isUrl;function pathIsRelative(e){return/^\.\.?($|[\\/])/.test(e)}e.pathIsRelative=pathIsRelative;function isRootedDiskPath(e){return getEncodedRootLength(e)>0}e.isRootedDiskPath=isRootedDiskPath;function isDiskPathRoot(e){var t=getEncodedRootLength(e);return t>0&&t===e.length}e.isDiskPathRoot=isDiskPathRoot;function convertToRelativePath(t,r,n){return!isRootedDiskPath(t)?t:e.getRelativePathToDirectoryOrUrl(r,t,r,n,false)}e.convertToRelativePath=convertToRelativePath;function pathComponents(t,r){var n=t.substring(0,r);var i=t.substring(r).split(e.directorySeparator);if(i.length&&!e.lastOrUndefined(i))i.pop();return[n].concat(i)}function getPathComponents(t,r){if(r===void 0){r=""}t=e.combinePaths(r,t);var n=getRootLength(t);return pathComponents(t,n)}e.getPathComponents=getPathComponents;function reducePathComponents(t){if(!e.some(t))return[];var r=[t[0]];for(var n=1;n1){if(r[r.length-1]!==".."){r.pop();continue}}else if(r[0])continue}r.push(i)}return r}e.reducePathComponents=reducePathComponents;function getNormalizedPathComponents(e,t){return reducePathComponents(getPathComponents(e,t))}e.getNormalizedPathComponents=getNormalizedPathComponents;function getNormalizedAbsolutePath(e,t){return getPathFromPathComponents(getNormalizedPathComponents(e,t))}e.getNormalizedAbsolutePath=getNormalizedAbsolutePath;function getPathFromPathComponents(t){if(t.length===0)return"";var r=t[0]&&e.ensureTrailingDirectorySeparator(t[0]);return r+t.slice(1).join(e.directorySeparator)}e.getPathFromPathComponents=getPathFromPathComponents})(s||(s={}));(function(e){function getPathComponentsRelativeTo(t,r,n,i){var a=e.reducePathComponents(e.getPathComponents(t));var o=e.reducePathComponents(e.getPathComponents(r));var s;for(s=0;s0===e.getRootLength(r)>0,"Paths must either both be absolute or both be relative");var i=typeof n==="function"?n:e.identity;var a=typeof n==="boolean"?n:false;var o=getPathComponentsRelativeTo(t,r,a?e.equateStringsCaseInsensitive:e.equateStringsCaseSensitive,i);return e.getPathFromPathComponents(o)}e.getRelativePathFromDirectory=getRelativePathFromDirectory;function getRelativePathToDirectoryOrUrl(t,r,n,i,a){var o=getPathComponentsRelativeTo(resolvePath(n,t),resolvePath(n,r),e.equateStringsCaseSensitive,i);var s=o[0];if(a&&e.isRootedDiskPath(s)){var c=s.charAt(0)===e.directorySeparator?"file://":"file:///";o[0]=c+s}return e.getPathFromPathComponents(o)}e.getRelativePathToDirectoryOrUrl=getRelativePathToDirectoryOrUrl;function ensurePathIsNonModuleName(t){return e.getRootLength(t)===0&&!e.pathIsRelative(t)?"./"+t:t}e.ensurePathIsNonModuleName=ensurePathIsNonModuleName;function getBaseFileName(t,r,n){t=e.normalizeSlashes(t);var i=e.getRootLength(t);if(i===t.length)return"";t=removeTrailingDirectorySeparator(t);var a=t.slice(Math.max(e.getRootLength(t),t.lastIndexOf(e.directorySeparator)+1));var o=r!==undefined&&n!==undefined?getAnyExtensionFromPath(a,r,n):undefined;return o?a.slice(0,a.length-o.length):a}e.getBaseFileName=getBaseFileName;function combinePaths(t){var r=[];for(var n=1;n0){l+=")?";g--}return l}function replaceWildcardCharacter(e,t){return e==="*"?t:e==="?"?"[^/]":"\\"+e}function getFileMatcherPatterns(t,r,n,i,a){t=e.normalizePath(t);a=e.normalizePath(a);var o=combinePaths(a,t);return{includeFilePatterns:e.map(getRegularExpressionsForWildcards(n,o,"files"),function(e){return"^"+e+"$"}),includeFilePattern:getRegularExpressionForWildcard(n,o,"files"),includeDirectoryPattern:getRegularExpressionForWildcard(n,o,"directories"),excludePattern:getRegularExpressionForWildcard(r,o,"exclude"),basePaths:getBasePaths(t,n,i)}}e.getFileMatcherPatterns=getFileMatcherPatterns;function getRegexFromPattern(e,t){return new RegExp(e,t?"":"i")}e.getRegexFromPattern=getRegexFromPattern;function matchFiles(t,r,n,i,a,o,s,c){t=e.normalizePath(t);o=e.normalizePath(o);var u=getFileMatcherPatterns(t,n,i,a,o);var l=u.includeFilePatterns&&u.includeFilePatterns.map(function(e){return getRegexFromPattern(e,a)});var f=u.includeDirectoryPattern&&getRegexFromPattern(u.includeDirectoryPattern,a);var d=u.excludePattern&&getRegexFromPattern(u.excludePattern,a);var p=l?l.map(function(){return[]}):[[]];for(var g=0,_=u.basePaths;g<_.length;g++){var m=_[g];visitDirectory(m,combinePaths(o,m),s)}return e.flatten(p);function visitDirectory(t,n,i){var a=c(t),o=a.files,s=a.directories;var u=function(i){var a=combinePaths(t,i);var o=combinePaths(n,i);if(r&&!e.fileExtensionIsOneOf(a,r))return"continue";if(d&&d.test(o))return"continue";if(!l){p[0].push(a)}else{var s=e.findIndex(l,function(e){return e.test(o)});if(s!==-1){p[s].push(a)}}};for(var g=0,_=e.sort(o,e.compareStringsCaseSensitive);g<_.length;g++){var m=_[g];u(m)}if(i!==undefined){i--;if(i===0){return}}for(var y=0,h=e.sort(s,e.compareStringsCaseSensitive);y=0;n--){if(e.fileExtensionIs(t,r[n])){return adjustExtensionPriority(n,r)}}return 0}e.getExtensionPriority=getExtensionPriority;function adjustExtensionPriority(e,t){if(e<2){return 0}else if(e=0)}e.positionIsSynthesized=positionIsSynthesized;function extensionIsTS(e){return e===".ts"||e===".tsx"||e===".d.ts"}e.extensionIsTS=extensionIsTS;function resolutionExtensionIsTSOrJson(e){return extensionIsTS(e)||e===".json"}e.resolutionExtensionIsTSOrJson=resolutionExtensionIsTSOrJson;function extensionFromPath(e){var t=tryGetExtensionFromPath(e);return t!==undefined?t:d.fail("File "+e+" has unknown extension.")}e.extensionFromPath=extensionFromPath;function isAnySupportedFileExtension(e){return tryGetExtensionFromPath(e)!==undefined}e.isAnySupportedFileExtension=isAnySupportedFileExtension;function tryGetExtensionFromPath(t){return e.find(f,function(r){return e.fileExtensionIs(t,r)})}e.tryGetExtensionFromPath=tryGetExtensionFromPath;function getAnyExtensionFromPathWorker(t,r,n){if(typeof r==="string")r=[r];for(var i=0,a=r;i=o.length&&t.charAt(t.length-o.length)==="."){var s=t.slice(t.length-o.length);if(n(s,o)){return s}}}return""}function getAnyExtensionFromPath(t,r,n){if(r){return getAnyExtensionFromPathWorker(t,r,n?e.equateStringsCaseInsensitive:e.equateStringsCaseSensitive)}var i=getBaseFileName(t);var a=i.lastIndexOf(".");if(a>=0){return i.substring(a)}return""}e.getAnyExtensionFromPath=getAnyExtensionFromPath;function isCheckJsEnabledForFile(e,t){return e.checkJsDirective?e.checkJsDirective.enabled:t.checkJs}e.isCheckJsEnabledForFile=isCheckJsEnabledForFile;e.emptyFileSystemEntries={files:e.emptyArray,directories:e.emptyArray};function matchPatternOrExact(t,r){var n=[];for(var i=0,a=t;in){n=a}}return{min:r,max:n}}e.minAndMax=minAndMax;var p=function(){function NodeSet(){this.map=e.createMap()}NodeSet.prototype.add=function(t){this.map.set(String(e.getNodeId(t)),t)};NodeSet.prototype.tryAdd=function(e){if(this.has(e))return false;this.add(e);return true};NodeSet.prototype.has=function(t){return this.map.has(String(e.getNodeId(t)))};NodeSet.prototype.forEach=function(e){this.map.forEach(e)};NodeSet.prototype.some=function(t){return e.forEachEntry(this.map,t)||false};return NodeSet}();e.NodeSet=p;var g=function(){function NodeMap(){this.map=e.createMap()}NodeMap.prototype.get=function(t){var r=this.map.get(String(e.getNodeId(t)));return r&&r.value};NodeMap.prototype.getOrUpdate=function(e,t){var r=this.get(e);if(r)return r;var n=t();this.set(e,n);return n};NodeMap.prototype.set=function(t,r){this.map.set(String(e.getNodeId(t)),{node:t,value:r})};NodeMap.prototype.has=function(t){return this.map.has(String(e.getNodeId(t)))};NodeMap.prototype.forEach=function(e){this.map.forEach(function(t){var r=t.node,n=t.value;return e(n,r)})};return NodeMap}();e.NodeMap=g;function rangeOfNode(t){return{pos:e.getTokenPosOfNode(t),end:t.end}}e.rangeOfNode=rangeOfNode;function rangeOfTypeParameters(e){return{pos:e.pos-1,end:e.end+1}}e.rangeOfTypeParameters=rangeOfTypeParameters;function skipTypeChecking(e,t){return t.skipLibCheck&&e.isDeclarationFile||t.skipDefaultLibCheck&&e.hasNoDefaultLib}e.skipTypeChecking=skipTypeChecking;function isJsonEqual(t,r){return t===r||typeof t==="object"&&t!==null&&typeof r==="object"&&r!==null&&e.equalOwnProperties(t,r,isJsonEqual)}e.isJsonEqual=isJsonEqual;function getOrUpdate(e,t,r){var n=e.get(t);if(n===undefined){var i=r();e.set(t,i);return i}else{return n}}e.getOrUpdate=getOrUpdate;function parsePseudoBigInt(e){var t;switch(e.charCodeAt(1)){case 98:case 66:t=1;break;case 111:case 79:t=3;break;case 120:case 88:t=4;break;default:var r=e.length-1;var n=0;while(e.charCodeAt(n)===48){n++}return e.slice(n,r)||"0"}var i=2,a=e.length-1;var o=(a-i)*t;var s=new Uint16Array((o>>>4)+(o&15?1:0));for(var c=a-1,u=0;c>=i;c--,u+=t){var l=u>>>4;var f=e.charCodeAt(c);var d=f<=57?f-48:10+f-(f<=70?65:97);var p=d<<(u&15);s[l]|=p;var g=p>>>16;if(g)s[l+1]|=g}var _="";var m=s.length-1;var y=true;while(y){var h=0;y=false;for(var l=m;l>=0;l--){var v=h<<16|s[l];var T=v/10|0;s[l]=T;h=v-T*10;if(T&&!y){m=l;y=true}}_=h+_}return _}e.parsePseudoBigInt=parsePseudoBigInt;function pseudoBigIntToString(e){var t=e.negative,r=e.base10Value;return(t&&r!=="0"?"-":"")+r}e.pseudoBigIntToString=pseudoBigIntToString})(s||(s={}));var s;(function(e){var t;(function(e){e[e["None"]=0]="None";e[e["Yield"]=1]="Yield";e[e["Await"]=2]="Await";e[e["Type"]=4]="Type";e[e["IgnoreMissingOpenBrace"]=16]="IgnoreMissingOpenBrace";e[e["JSDoc"]=32]="JSDoc"})(t||(t={}));var r;var n;var i;var a;function createNode(t,o,s){if(t===279){return new(a||(a=e.objectAllocator.getSourceFileConstructor()))(t,o,s)}else if(t===72){return new(i||(i=e.objectAllocator.getIdentifierConstructor()))(t,o,s)}else if(!e.isNodeKind(t)){return new(n||(n=e.objectAllocator.getTokenConstructor()))(t,o,s)}else{return new(r||(r=e.objectAllocator.getNodeConstructor()))(t,o,s)}}e.createNode=createNode;function visitNode(e,t){return t&&e(t)}function visitNodes(e,t,r){if(r){if(t){return t(r)}for(var n=0,i=r;n108}function parseExpected(t,r,n){if(n===void 0){n=true}if(token()===t){if(n){nextToken()}return true}if(r){parseErrorAtCurrentToken(r)}else{parseErrorAtCurrentToken(e.Diagnostics._0_expected,e.tokenToString(t))}return false}function parseOptional(e){if(token()===e){nextToken();return true}return false}function parseOptionalToken(e){if(token()===e){return parseTokenNode()}return undefined}function parseExpectedToken(t,r,n){return parseOptionalToken(t)||createMissingNode(t,false,r||e.Diagnostics._0_expected,n||e.tokenToString(t))}function parseTokenNode(){var e=createNode(token());nextToken();return finishNode(e)}function canParseSemicolon(){if(token()===26){return true}return token()===19||token()===1||r.hasPrecedingLineBreak()}function parseSemicolon(){if(canParseSemicolon()){if(token()===26){nextToken()}return true}else{return parseExpected(26)}}function createNode(t,n){p++;var s=n>=0?n:r.getStartPos();return e.isNodeKind(t)||t===0?new i(t,s,s):t===72?new o(t,s,s):new a(t,s,s)}function createNodeWithJSDoc(e,t){var n=createNode(e,t);if(r.getTokenFlags()&2){addJSDocComment(n)}return n}function createNodeArray(e,t,n){var i=e.length;var a=i>=1&&i<=4?e.slice():e;a.pos=t;a.end=n===undefined?r.getStartPos():n;return a}function finishNode(e,t){e.end=t===undefined?r.getStartPos():t;if(y){e.flags|=y}if(h){h=false;e.flags|=32768}return e}function createMissingNode(t,n,i,a){if(n){parseErrorAtPosition(r.getStartPos(),0,i,a)}else if(i){parseErrorAtCurrentToken(i,a)}var o=createNode(t);if(t===72){o.escapedText=""}else if(e.isLiteralKind(t)||e.isTemplateLiteralKind(t)){o.text=""}return finishNode(o)}function internIdentifier(e){var t=g.get(e);if(t===undefined){g.set(e,t=e)}return t}function createIdentifier(t,n){_++;if(t){var i=createNode(72);if(token()!==72){i.originalKeywordKind=token()}i.escapedText=e.escapeLeadingUnderscores(internIdentifier(r.getTokenValue()));nextToken();return finishNode(i)}var a=token()===1;return createMissingNode(72,a,n||e.Diagnostics.Identifier_expected)}function parseIdentifier(e){return createIdentifier(isIdentifier(),e)}function parseIdentifierName(t){return createIdentifier(e.tokenIsIdentifierOrKeyword(token()),t)}function isLiteralPropertyName(){return e.tokenIsIdentifierOrKeyword(token())||token()===10||token()===8}function parsePropertyNameWorker(e){if(token()===10||token()===8){var t=parseLiteralNode();t.text=internIdentifier(t.text);return t}if(e&&token()===22){return parseComputedPropertyName()}return parseIdentifierName()}function parsePropertyName(){return parsePropertyNameWorker(true)}function parseComputedPropertyName(){var e=createNode(149);parseExpected(22);e.expression=allowInAnd(parseExpression);parseExpected(23);return finishNode(e)}function parseContextualModifier(e){return token()===e&&tryParse(nextTokenCanFollowModifier)}function nextTokenIsOnSameLineAndCanFollowModifier(){nextToken();if(r.hasPrecedingLineBreak()){return false}return canFollowModifier()}function nextTokenCanFollowModifier(){switch(token()){case 77:return nextToken()===84;case 85:nextToken();if(token()===80){return lookAhead(nextTokenCanFollowDefaultKeyword)}return token()!==40&&token()!==119&&token()!==18&&canFollowModifier();case 80:return nextTokenCanFollowDefaultKeyword();case 116:case 126:case 137:nextToken();return canFollowModifier();default:return nextTokenIsOnSameLineAndCanFollowModifier()}}function parseAnyContextualModifier(){return e.isModifierKind(token())&&tryParse(nextTokenCanFollowModifier)}function canFollowModifier(){return token()===22||token()===18||token()===40||token()===25||isLiteralPropertyName()}function nextTokenCanFollowDefaultKeyword(){nextToken();return token()===76||token()===90||token()===110||token()===118&&lookAhead(nextTokenIsClassKeywordOnSameLine)||token()===121&&lookAhead(nextTokenIsFunctionKeywordOnSameLine)}function isListElement(t,r){var n=currentNode(t);if(n){return true}switch(t){case 0:case 1:case 3:return!(token()===26&&r)&&isStartOfStatement();case 2:return token()===74||token()===80;case 4:return lookAhead(isTypeMemberStart);case 5:return lookAhead(isClassMemberStart)||token()===26&&!r;case 6:return token()===22||isLiteralPropertyName();case 12:switch(token()){case 22:case 40:case 25:case 24:return true;default:return isLiteralPropertyName()}case 18:return isLiteralPropertyName();case 9:return token()===22||token()===25||isLiteralPropertyName();case 7:if(token()===18){return lookAhead(isValidHeritageClauseObjectLiteral)}if(!r){return isStartOfLeftHandSideExpression()&&!isHeritageClauseExtendsOrImplementsKeyword()}else{return isIdentifier()&&!isHeritageClauseExtendsOrImplementsKeyword()}case 8:return isIdentifierOrPattern();case 10:return token()===27||token()===25||isIdentifierOrPattern();case 19:return isIdentifier();case 15:switch(token()){case 27:case 24:return true}case 11:return token()===25||isStartOfExpression();case 16:return isStartOfParameter(false);case 17:return isStartOfParameter(true);case 20:case 21:return token()===27||isStartOfType();case 22:return isHeritageClause();case 23:return e.tokenIsIdentifierOrKeyword(token());case 13:return e.tokenIsIdentifierOrKeyword(token())||token()===18;case 14:return true}return e.Debug.fail("Non-exhaustive case in 'isListElement'.")}function isValidHeritageClauseObjectLiteral(){e.Debug.assert(token()===18);if(nextToken()===19){var t=nextToken();return t===27||t===18||t===86||t===109}return true}function nextTokenIsIdentifier(){nextToken();return isIdentifier()}function nextTokenIsIdentifierOrKeyword(){nextToken();return e.tokenIsIdentifierOrKeyword(token())}function nextTokenIsIdentifierOrKeywordOrGreaterThan(){nextToken();return e.tokenIsIdentifierOrKeywordOrGreaterThan(token())}function isHeritageClauseExtendsOrImplementsKeyword(){if(token()===109||token()===86){return lookAhead(nextTokenIsStartOfExpression)}return false}function nextTokenIsStartOfExpression(){nextToken();return isStartOfExpression()}function nextTokenIsStartOfType(){nextToken();return isStartOfType()}function isListTerminator(e){if(token()===1){return true}switch(e){case 1:case 2:case 4:case 5:case 6:case 12:case 9:case 23:return token()===19;case 3:return token()===19||token()===74||token()===80;case 7:return token()===18||token()===86||token()===109;case 8:return isVariableDeclaratorListTerminator();case 19:return token()===30||token()===20||token()===18||token()===86||token()===109;case 11:return token()===21||token()===26;case 15:case 21:case 10:return token()===23;case 17:case 16:case 18:return token()===21||token()===23;case 20:return token()!==27;case 22:return token()===18||token()===19;case 13:return token()===30||token()===42;case 14:return token()===28&&lookAhead(nextTokenIsSlash);default:return false}}function isVariableDeclaratorListTerminator(){if(canParseSemicolon()){return true}if(isInOrOfKeyword(token())){return true}if(token()===37){return true}return false}function isInSomeParsingContext(){for(var e=0;e<24;e++){if(m&1<=0){u.hasTrailingComma=true}return u}function createMissingList(){var e=createNodeArray([],getNodePos());e.isMissingList=true;return e}function isMissingList(e){return!!e.isMissingList}function parseBracketedList(e,t,r,n){if(parseExpected(r)){var i=parseDelimitedList(e,t);parseExpected(n);return i}return createMissingList()}function parseEntityName(e,t){var n=e?parseIdentifierName(t):parseIdentifier(t);var i=r.getStartPos();while(parseOptional(24)){if(token()===28){n.jsdocDotPos=i;break}i=r.getStartPos();n=createQualifiedName(n,parseRightSideOfDot(e))}return n}function createQualifiedName(e,t){var r=createNode(148,e.pos);r.left=e;r.right=t;return finishNode(r)}function parseRightSideOfDot(t){if(r.hasPrecedingLineBreak()&&e.tokenIsIdentifierOrKeyword(token())){var n=lookAhead(nextTokenIsIdentifierOrKeywordOnSameLine);if(n){return createMissingNode(72,true,e.Diagnostics.Identifier_expected)}}return t?parseIdentifierName():parseIdentifier()}function parseTemplateExpression(){var t=createNode(206);t.head=parseTemplateHead();e.Debug.assert(t.head.kind===15,"Template head has wrong token kind");var r=[];var n=getNodePos();do{r.push(parseTemplateSpan())}while(e.last(r).literal.kind===16);t.templateSpans=createNodeArray(r,n);return finishNode(t)}function parseTemplateSpan(){var t=createNode(216);t.expression=allowInAnd(parseExpression);var r;if(token()===19){reScanTemplateToken();r=parseTemplateMiddleOrTemplateTail()}else{r=parseExpectedToken(17,e.Diagnostics._0_expected,e.tokenToString(19))}t.literal=r;return finishNode(t)}function parseLiteralNode(){return parseLiteralLikeNode(token())}function parseTemplateHead(){var t=parseLiteralLikeNode(token());e.Debug.assert(t.kind===15,"Template head has wrong token kind");return t}function parseTemplateMiddleOrTemplateTail(){var t=parseLiteralLikeNode(token());e.Debug.assert(t.kind===16||t.kind===17,"Template fragment has wrong token kind");return t}function parseLiteralLikeNode(e){var t=createNode(e);t.text=r.getTokenValue();if(r.hasExtendedUnicodeEscape()){t.hasExtendedUnicodeEscape=true}if(r.isUnterminated()){t.isUnterminated=true}if(t.kind===8){t.numericLiteralFlags=r.getTokenFlags()&1008}nextToken();finishNode(t);return t}function parseTypeReference(){var t=createNode(164);t.typeName=parseEntityName(true,e.Diagnostics.Type_expected);if(!r.hasPrecedingLineBreak()&&token()===28){t.typeArguments=parseBracketedList(20,parseType,28,30)}return finishNode(t)}function typeHasArrowFunctionBlockingParseError(t){switch(t.kind){case 164:return e.nodeIsMissing(t.typeName);case 165:case 166:{var r=t,n=r.parameters,i=r.type;return isMissingList(n)||typeHasArrowFunctionBlockingParseError(i)}case 177:return typeHasArrowFunctionBlockingParseError(t.type);default:return false}}function parseThisTypePredicate(e){nextToken();var t=createNode(163,e.pos);t.parameterName=e;t.type=parseType();return finishNode(t)}function parseThisTypeNode(){var e=createNode(178);nextToken();return finishNode(e)}function parseJSDocAllType(e){var t=createNode(284);if(e){return createPostfixType(288,t)}else{nextToken()}return finishNode(t)}function parseJSDocNonNullableType(){var e=createNode(287);nextToken();e.type=parseNonArrayType();return finishNode(e)}function parseJSDocUnknownOrNullableType(){var e=r.getStartPos();nextToken();if(token()===27||token()===19||token()===21||token()===30||token()===59||token()===50){var t=createNode(285,e);return finishNode(t)}else{var t=createNode(286,e);t.type=parseType();return finishNode(t)}}function parseJSDocFunctionType(){if(lookAhead(nextTokenIsOpenParen)){var e=createNodeWithJSDoc(289);nextToken();fillSignature(57,4|32,e);return finishNode(e)}var t=createNode(164);t.typeName=parseIdentifierName();return finishNode(t)}function parseJSDocParameter(){var e=createNode(151);if(token()===100||token()===95){e.name=parseIdentifierName();parseExpected(57)}e.type=parseJSDocType();return finishNode(e)}function parseJSDocType(){r.setInJSDocType(true);var e=parseOptionalToken(25);var t=parseTypeOrTypePredicate();r.setInJSDocType(false);if(e){var n=createNode(290,e.pos);n.type=t;t=finishNode(n)}if(token()===59){return createPostfixType(288,t)}return t}function parseTypeQuery(){var e=createNode(167);parseExpected(104);e.exprName=parseEntityName(true);return finishNode(e)}function parseTypeParameter(){var e=createNode(150);e.name=parseIdentifier();if(parseOptional(86)){if(isStartOfType()||!isStartOfExpression()){e.constraint=parseType()}else{e.expression=parseUnaryExpressionOrHigher()}}if(parseOptional(59)){e.default=parseType()}return finishNode(e)}function parseTypeParameters(){if(token()===28){return parseBracketedList(19,parseTypeParameter,28,30)}}function parseParameterType(){if(parseOptional(57)){return parseType()}return undefined}function isStartOfParameter(t){return token()===25||isIdentifierOrPattern()||e.isModifierKind(token())||token()===58||isStartOfType(!t)}function parseParameter(){var t=createNodeWithJSDoc(151);if(token()===100){t.name=createIdentifier(true);t.type=parseParameterType();return finishNode(t)}t.decorators=parseDecorators();t.modifiers=parseModifiers();t.dotDotDotToken=parseOptionalToken(25);t.name=parseIdentifierOrPattern();if(e.getFullWidth(t.name)===0&&!e.hasModifiers(t)&&e.isModifierKind(token())){nextToken()}t.questionToken=parseOptionalToken(56);t.type=parseParameterType();t.initializer=parseInitializer();return finishNode(t)}function fillSignature(e,t,r){if(!(t&32)){r.typeParameters=parseTypeParameters()}var n=parseParameterList(r,t);if(shouldParseReturnType(e,!!(t&4))){r.type=parseTypeOrTypePredicate();if(typeHasArrowFunctionBlockingParseError(r.type))return false}return n}function shouldParseReturnType(t,r){if(t===37){parseExpected(t);return true}else if(parseOptional(57)){return true}else if(r&&token()===37){parseErrorAtCurrentToken(e.Diagnostics._0_expected,e.tokenToString(57));nextToken();return true}return false}function parseParameterList(e,t){if(!parseExpected(20)){e.parameters=createMissingList();return false}var r=inYieldContext();var n=inAwaitContext();setYieldContext(!!(t&1));setAwaitContext(!!(t&2));e.parameters=t&32?parseDelimitedList(17,parseJSDocParameter):parseDelimitedList(16,parseParameter);setYieldContext(r);setAwaitContext(n);return parseExpected(21)}function parseTypeMemberSemicolon(){if(parseOptional(27)){return}parseSemicolon()}function parseSignatureMember(e){var t=createNodeWithJSDoc(e);if(e===161){parseExpected(95)}fillSignature(57,4,t);parseTypeMemberSemicolon();return finishNode(t)}function isIndexSignature(){return token()===22&&lookAhead(isUnambiguouslyIndexSignature)}function isUnambiguouslyIndexSignature(){nextToken();if(token()===25||token()===23){return true}if(e.isModifierKind(token())){nextToken();if(isIdentifier()){return true}}else if(!isIdentifier()){return false}else{nextToken()}if(token()===57||token()===27){return true}if(token()!==56){return false}nextToken();return token()===57||token()===27||token()===23}function parseIndexSignatureDeclaration(e){e.kind=162;e.parameters=parseBracketedList(16,parseParameter,22,23);e.type=parseTypeAnnotation();parseTypeMemberSemicolon();return finishNode(e)}function parsePropertyOrMethodSignature(e){e.name=parsePropertyName();e.questionToken=parseOptionalToken(56);if(token()===20||token()===28){e.kind=155;fillSignature(57,4,e)}else{e.kind=153;e.type=parseTypeAnnotation();if(token()===59){e.initializer=parseInitializer()}}parseTypeMemberSemicolon();return finishNode(e)}function isTypeMemberStart(){if(token()===20||token()===28){return true}var t=false;while(e.isModifierKind(token())){t=true;nextToken()}if(token()===22){return true}if(isLiteralPropertyName()){t=true;nextToken()}if(t){return token()===20||token()===28||token()===56||token()===57||token()===27||canParseSemicolon()}return false}function parseTypeMember(){if(token()===20||token()===28){return parseSignatureMember(160)}if(token()===95&&lookAhead(nextTokenIsOpenParenOrLessThan)){return parseSignatureMember(161)}var e=createNodeWithJSDoc(0);e.modifiers=parseModifiers();if(isIndexSignature()){return parseIndexSignatureDeclaration(e)}return parsePropertyOrMethodSignature(e)}function nextTokenIsOpenParenOrLessThan(){nextToken();return token()===20||token()===28}function nextTokenIsDot(){return nextToken()===24}function nextTokenIsOpenParenOrLessThanOrDot(){switch(nextToken()){case 20:case 28:case 24:return true}return false}function parseTypeLiteral(){var e=createNode(168);e.members=parseObjectTypeMembers();return finishNode(e)}function parseObjectTypeMembers(){var e;if(parseExpected(18)){e=parseList(4,parseTypeMember);parseExpected(19)}else{e=createMissingList()}return e}function isStartOfMappedType(){nextToken();if(token()===38||token()===39){return nextToken()===133}if(token()===133){nextToken()}return token()===22&&nextTokenIsIdentifier()&&nextToken()===93}function parseMappedTypeParameter(){var e=createNode(150);e.name=parseIdentifier();parseExpected(93);e.constraint=parseType();return finishNode(e)}function parseMappedType(){var e=createNode(181);parseExpected(18);if(token()===133||token()===38||token()===39){e.readonlyToken=parseTokenNode();if(e.readonlyToken.kind!==133){parseExpectedToken(133)}}parseExpected(22);e.typeParameter=parseMappedTypeParameter();parseExpected(23);if(token()===56||token()===38||token()===39){e.questionToken=parseTokenNode();if(e.questionToken.kind!==56){parseExpectedToken(56)}}e.type=parseTypeAnnotation();parseSemicolon();parseExpected(19);return finishNode(e)}function parseTupleElementType(){var e=getNodePos();if(parseOptional(25)){var t=createNode(172,e);t.type=parseType();return finishNode(t)}var r=parseType();if(!(y&2097152)&&r.kind===286&&r.pos===r.type.pos){r.kind=171}return r}function parseTupleType(){var e=createNode(170);e.elementTypes=parseBracketedList(21,parseTupleElementType,22,23);return finishNode(e)}function parseParenthesizedType(){var e=createNode(177);parseExpected(20);e.type=parseType();parseExpected(21);return finishNode(e)}function parseFunctionOrConstructorType(){var e=getNodePos();var t=parseOptional(95)?166:165;var r=createNodeWithJSDoc(t,e);fillSignature(37,4,r);return finishNode(r)}function parseKeywordAndNoDot(){var e=parseTokenNode();return token()===24?undefined:e}function parseLiteralTypeNode(e){var t=createNode(182);var r;if(e){r=createNode(202);r.operator=39;nextToken()}var n=token()===102||token()===87?parseTokenNode():parseLiteralLikeNode(token());if(e){r.operand=n;finishNode(r);n=r}t.literal=n;return finishNode(t)}function isStartOfTypeOfImportType(){nextToken();return token()===92}function parseImportType(){c.flags|=524288;var t=createNode(183);if(parseOptional(104)){t.isTypeOf=true}parseExpected(92);parseExpected(20);t.argument=parseType();parseExpected(21);if(parseOptional(24)){t.qualifier=parseEntityName(true,e.Diagnostics.Type_expected)}t.typeArguments=tryParseTypeArguments();return finishNode(t)}function nextTokenIsNumericOrBigIntLiteral(){nextToken();return token()===8||token()===9}function parseNonArrayType(){switch(token()){case 120:case 143:case 138:case 135:case 146:case 139:case 123:case 141:case 132:case 136:return tryParse(parseKeywordAndNoDot)||parseTypeReference();case 40:return parseJSDocAllType(false);case 62:return parseJSDocAllType(true);case 56:return parseJSDocUnknownOrNullableType();case 90:return parseJSDocFunctionType();case 52:return parseJSDocNonNullableType();case 14:case 10:case 8:case 9:case 102:case 87:return parseLiteralTypeNode();case 39:return lookAhead(nextTokenIsNumericOrBigIntLiteral)?parseLiteralTypeNode(true):parseTypeReference();case 106:case 96:return parseTokenNode();case 100:{var e=parseThisTypeNode();if(token()===128&&!r.hasPrecedingLineBreak()){return parseThisTypePredicate(e)}else{return e}}case 104:return lookAhead(isStartOfTypeOfImportType)?parseImportType():parseTypeQuery();case 18:return lookAhead(isStartOfMappedType)?parseMappedType():parseTypeLiteral();case 22:return parseTupleType();case 20:return parseParenthesizedType();case 92:return parseImportType();default:return parseTypeReference()}}function isStartOfType(e){switch(token()){case 120:case 143:case 138:case 135:case 146:case 123:case 139:case 142:case 106:case 141:case 96:case 100:case 104:case 132:case 18:case 22:case 28:case 50:case 49:case 95:case 10:case 8:case 9:case 102:case 87:case 136:case 40:case 56:case 52:case 25:case 127:case 92:return true;case 90:return!e;case 39:return!e&&lookAhead(nextTokenIsNumericOrBigIntLiteral);case 20:return!e&&lookAhead(isStartOfParenthesizedOrFunctionType);default:return isIdentifier()}}function isStartOfParenthesizedOrFunctionType(){nextToken();return token()===21||isStartOfParameter(false)||isStartOfType()}function parsePostfixTypeOrHigher(){var e=parseNonArrayType();while(!r.hasPrecedingLineBreak()){switch(token()){case 52:e=createPostfixType(287,e);break;case 56:if(!(y&2097152)&&lookAhead(nextTokenIsStartOfType)){return e}e=createPostfixType(286,e);break;case 22:parseExpected(22);if(isStartOfType()){var t=createNode(180,e.pos);t.objectType=e;t.indexType=parseType();parseExpected(23);e=finishNode(t)}else{var t=createNode(169,e.pos);t.elementType=e;parseExpected(23);e=finishNode(t)}break;default:return e}}return e}function createPostfixType(e,t){nextToken();var r=createNode(e,t.pos);r.type=t;return finishNode(r)}function parseTypeOperator(e){var t=createNode(179);parseExpected(e);t.operator=e;t.type=parseTypeOperatorOrHigher();return finishNode(t)}function parseInferType(){var e=createNode(176);parseExpected(127);var t=createNode(150);t.name=parseIdentifier();e.typeParameter=finishNode(t);return finishNode(e)}function parseTypeOperatorOrHigher(){var e=token();switch(e){case 129:case 142:return parseTypeOperator(e);case 127:return parseInferType()}return parsePostfixTypeOrHigher()}function parseUnionOrIntersectionType(e,t,r){parseOptional(r);var n=t();if(token()===r){var i=[n];while(parseOptional(r)){i.push(t())}var a=createNode(e,n.pos);a.types=createNodeArray(i,n.pos);n=finishNode(a)}return n}function parseIntersectionTypeOrHigher(){return parseUnionOrIntersectionType(174,parseTypeOperatorOrHigher,49)}function parseUnionTypeOrHigher(){return parseUnionOrIntersectionType(173,parseIntersectionTypeOrHigher,50)}function isStartOfFunctionType(){if(token()===28){return true}return token()===20&&lookAhead(isUnambiguouslyStartOfFunctionType)}function skipParameterStart(){if(e.isModifierKind(token())){parseModifiers()}if(isIdentifier()||token()===100){nextToken();return true}if(token()===22||token()===18){var t=u.length;parseIdentifierOrPattern();return t===u.length}return false}function isUnambiguouslyStartOfFunctionType(){nextToken();if(token()===21||token()===25){return true}if(skipParameterStart()){if(token()===57||token()===27||token()===56||token()===59){return true}if(token()===21){nextToken();if(token()===37){return true}}}return false}function parseTypeOrTypePredicate(){var e=isIdentifier()&&tryParse(parseTypePredicatePrefix);var t=parseType();if(e){var r=createNode(163,e.pos);r.parameterName=e;r.type=t;return finishNode(r)}else{return t}}function parseTypePredicatePrefix(){var e=parseIdentifier();if(token()===128&&!r.hasPrecedingLineBreak()){nextToken();return e}}function parseType(){return doOutsideOfContext(20480,parseTypeWorker)}function parseTypeWorker(e){if(isStartOfFunctionType()||token()===95){return parseFunctionOrConstructorType()}var t=parseUnionTypeOrHigher();if(!e&&!r.hasPrecedingLineBreak()&&parseOptional(86)){var n=createNode(175,t.pos);n.checkType=t;n.extendsType=parseTypeWorker(true);parseExpected(56);n.trueType=parseTypeWorker();parseExpected(57);n.falseType=parseTypeWorker();return finishNode(n)}return t}function parseTypeAnnotation(){return parseOptional(57)?parseType():undefined}function isStartOfLeftHandSideExpression(){switch(token()){case 100:case 98:case 96:case 102:case 87:case 8:case 9:case 10:case 14:case 15:case 20:case 22:case 18:case 90:case 76:case 95:case 42:case 64:case 72:return true;case 92:return lookAhead(nextTokenIsOpenParenOrLessThanOrDot);default:return isIdentifier()}}function isStartOfExpression(){if(isStartOfLeftHandSideExpression()){return true}switch(token()){case 38:case 39:case 53:case 52:case 81:case 104:case 106:case 44:case 45:case 28:case 122:case 117:return true;default:if(isBinaryOperator()){return true}return isIdentifier()}}function isStartOfExpressionStatement(){return token()!==18&&token()!==90&&token()!==76&&token()!==58&&isStartOfExpression()}function parseExpression(){var e=inDecoratorContext();if(e){setDecoratorContext(false)}var t=parseAssignmentExpressionOrHigher();var r;while(r=parseOptionalToken(27)){t=makeBinaryExpression(t,r,parseAssignmentExpressionOrHigher())}if(e){setDecoratorContext(true)}return t}function parseInitializer(){return parseOptional(59)?parseAssignmentExpressionOrHigher():undefined}function parseAssignmentExpressionOrHigher(){if(isYieldExpression()){return parseYieldExpression()}var t=tryParseParenthesizedArrowFunctionExpression()||tryParseAsyncSimpleArrowFunctionExpression();if(t){return t}var r=parseBinaryExpressionOrHigher(0);if(r.kind===72&&token()===37){return parseSimpleArrowFunctionExpression(r)}if(e.isLeftHandSideExpression(r)&&e.isAssignmentOperator(reScanGreaterToken())){return makeBinaryExpression(r,parseTokenNode(),parseAssignmentExpressionOrHigher())}return parseConditionalExpressionRest(r)}function isYieldExpression(){if(token()===117){if(inYieldContext()){return true}return lookAhead(nextTokenIsIdentifierOrKeywordOrLiteralOnSameLine)}return false}function nextTokenIsIdentifierOnSameLine(){nextToken();return!r.hasPrecedingLineBreak()&&isIdentifier()}function parseYieldExpression(){var e=createNode(207);nextToken();if(!r.hasPrecedingLineBreak()&&(token()===40||isStartOfExpression())){e.asteriskToken=parseOptionalToken(40);e.expression=parseAssignmentExpressionOrHigher();return finishNode(e)}else{return finishNode(e)}}function parseSimpleArrowFunctionExpression(t,r){e.Debug.assert(token()===37,"parseSimpleArrowFunctionExpression should only have been called if we had a =>");var n;if(r){n=createNode(197,r.pos);n.modifiers=r}else{n=createNode(197,t.pos)}var i=createNode(151,t.pos);i.name=t;finishNode(i);n.parameters=createNodeArray([i],i.pos,i.end);n.equalsGreaterThanToken=parseExpectedToken(37);n.body=parseArrowFunctionExpressionBody(!!r);return addJSDocComment(finishNode(n))}function tryParseParenthesizedArrowFunctionExpression(){var t=isParenthesizedArrowFunctionExpression();if(t===0){return undefined}var r=t===1?parseParenthesizedArrowFunctionExpressionHead(true):tryParse(parsePossibleParenthesizedArrowFunctionExpressionHead);if(!r){return undefined}var n=e.hasModifier(r,256);var i=token();r.equalsGreaterThanToken=parseExpectedToken(37);r.body=i===37||i===18?parseArrowFunctionExpressionBody(n):parseIdentifier();return finishNode(r)}function isParenthesizedArrowFunctionExpression(){if(token()===20||token()===28||token()===121){return lookAhead(isParenthesizedArrowFunctionExpressionWorker)}if(token()===37){return 1}return 0}function isParenthesizedArrowFunctionExpressionWorker(){if(token()===121){nextToken();if(r.hasPrecedingLineBreak()){return 0}if(token()!==20&&token()!==28){return 0}}var t=token();var n=nextToken();if(t===20){if(n===21){var i=nextToken();switch(i){case 37:case 57:case 18:return 1;default:return 0}}if(n===22||n===18){return 2}if(n===25){return 1}if(e.isModifierKind(n)&&n!==121&&lookAhead(nextTokenIsIdentifier)){return 1}if(!isIdentifier()&&n!==100){return 0}switch(nextToken()){case 57:return 1;case 56:nextToken();if(token()===57||token()===27||token()===59||token()===21){return 1}return 0;case 27:case 59:case 21:return 2}return 0}else{e.Debug.assert(t===28);if(!isIdentifier()){return 0}if(c.languageVariant===1){var a=lookAhead(function(){var e=nextToken();if(e===86){var t=nextToken();switch(t){case 59:case 30:return false;default:return true}}else if(e===27){return true}return false});if(a){return 1}return 0}return 2}}function parsePossibleParenthesizedArrowFunctionExpressionHead(){return parseParenthesizedArrowFunctionExpressionHead(false)}function tryParseAsyncSimpleArrowFunctionExpression(){if(token()===121){if(lookAhead(isUnParenthesizedAsyncArrowFunctionWorker)===1){var e=parseModifiersForArrowFunction();var t=parseBinaryExpressionOrHigher(0);return parseSimpleArrowFunctionExpression(t,e)}}return undefined}function isUnParenthesizedAsyncArrowFunctionWorker(){if(token()===121){nextToken();if(r.hasPrecedingLineBreak()||token()===37){return 0}var e=parseBinaryExpressionOrHigher(0);if(!r.hasPrecedingLineBreak()&&e.kind===72&&token()===37){return 1}}return 0}function parseParenthesizedArrowFunctionExpressionHead(t){var r=createNodeWithJSDoc(197);r.modifiers=parseModifiersForArrowFunction();var n=e.hasModifier(r,256)?2:0;if(!fillSignature(57,n,r)&&!t){return undefined}if(!t&&token()!==37&&token()!==18){return undefined}return r}function parseArrowFunctionExpressionBody(e){if(token()===18){return parseFunctionBlock(e?2:0)}if(token()!==26&&token()!==90&&token()!==76&&isStartOfStatement()&&!isStartOfExpressionStatement()){return parseFunctionBlock(16|(e?2:0))}return e?doInAwaitContext(parseAssignmentExpressionOrHigher):doOutsideOfAwaitContext(parseAssignmentExpressionOrHigher)}function parseConditionalExpressionRest(t){var r=parseOptionalToken(56);if(!r){return t}var i=createNode(205,t.pos);i.condition=t;i.questionToken=r;i.whenTrue=doOutsideOfContext(n,parseAssignmentExpressionOrHigher);i.colonToken=parseExpectedToken(57);i.whenFalse=e.nodeIsPresent(i.colonToken)?parseAssignmentExpressionOrHigher():createMissingNode(72,false,e.Diagnostics._0_expected,e.tokenToString(57));return finishNode(i)}function parseBinaryExpressionOrHigher(e){var t=parseUnaryExpressionOrHigher();return parseBinaryExpressionRest(e,t)}function isInOrOfKeyword(e){return e===93||e===147}function parseBinaryExpressionRest(t,n){while(true){reScanGreaterToken();var i=e.getBinaryOperatorPrecedence(token());var a=token()===41?i>=t:i>t;if(!a){break}if(token()===93&&inDisallowInContext()){break}if(token()===119){if(r.hasPrecedingLineBreak()){break}else{nextToken();n=makeAsExpression(n,parseType())}}else{n=makeBinaryExpression(n,parseTokenNode(),parseBinaryExpressionOrHigher(i))}}return n}function isBinaryOperator(){if(inDisallowInContext()&&token()===93){return false}return e.getBinaryOperatorPrecedence(token())>0}function makeBinaryExpression(e,t,r){var n=createNode(204,e.pos);n.left=e;n.operatorToken=t;n.right=r;return finishNode(n)}function makeAsExpression(e,t){var r=createNode(212,e.pos);r.expression=e;r.type=t;return finishNode(r)}function parsePrefixUnaryExpression(){var e=createNode(202);e.operator=token();nextToken();e.operand=parseSimpleUnaryExpression();return finishNode(e)}function parseDeleteExpression(){var e=createNode(198);nextToken();e.expression=parseSimpleUnaryExpression();return finishNode(e)}function parseTypeOfExpression(){var e=createNode(199);nextToken();e.expression=parseSimpleUnaryExpression();return finishNode(e)}function parseVoidExpression(){var e=createNode(200);nextToken();e.expression=parseSimpleUnaryExpression();return finishNode(e)}function isAwaitExpression(){if(token()===122){if(inAwaitContext()){return true}return lookAhead(nextTokenIsIdentifierOrKeywordOrLiteralOnSameLine)}return false}function parseAwaitExpression(){var e=createNode(201);nextToken();e.expression=parseSimpleUnaryExpression();return finishNode(e)}function parseUnaryExpressionOrHigher(){if(isUpdateExpression()){var t=parseUpdateExpression();return token()===41?parseBinaryExpressionRest(e.getBinaryOperatorPrecedence(token()),t):t}var r=token();var n=parseSimpleUnaryExpression();if(token()===41){var i=e.skipTrivia(d,n.pos);var a=n.end;if(n.kind===194){parseErrorAt(i,a,e.Diagnostics.A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses)}else{parseErrorAt(i,a,e.Diagnostics.An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses,e.tokenToString(r))}}return n}function parseSimpleUnaryExpression(){switch(token()){case 38:case 39:case 53:case 52:return parsePrefixUnaryExpression();case 81:return parseDeleteExpression();case 104:return parseTypeOfExpression();case 106:return parseVoidExpression();case 28:return parseTypeAssertion();case 122:if(isAwaitExpression()){return parseAwaitExpression()}default:return parseUpdateExpression()}}function isUpdateExpression(){switch(token()){case 38:case 39:case 53:case 52:case 81:case 104:case 106:case 122:return false;case 28:if(c.languageVariant!==1){return false}default:return true}}function parseUpdateExpression(){if(token()===44||token()===45){var t=createNode(202);t.operator=token();nextToken();t.operand=parseLeftHandSideExpressionOrHigher();return finishNode(t)}else if(c.languageVariant===1&&token()===28&&lookAhead(nextTokenIsIdentifierOrKeywordOrGreaterThan)){return parseJsxElementOrSelfClosingElementOrFragment(true)}var n=parseLeftHandSideExpressionOrHigher();e.Debug.assert(e.isLeftHandSideExpression(n));if((token()===44||token()===45)&&!r.hasPrecedingLineBreak()){var t=createNode(203,n.pos);t.operand=n;t.operator=token();nextToken();return finishNode(t)}return n}function parseLeftHandSideExpressionOrHigher(){var e;if(token()===92){if(lookAhead(nextTokenIsOpenParenOrLessThan)){c.flags|=524288;e=parseTokenNode()}else if(lookAhead(nextTokenIsDot)){var t=r.getStartPos();nextToken();nextToken();var n=createNode(214,t);n.keywordToken=92;n.name=parseIdentifierName();e=finishNode(n);c.flags|=1048576}else{e=parseMemberExpressionOrHigher()}}else{e=token()===98?parseSuperExpression():parseMemberExpressionOrHigher()}return parseCallExpressionRest(e)}function parseMemberExpressionOrHigher(){var e=parsePrimaryExpression();return parseMemberExpressionRest(e)}function parseSuperExpression(){var t=parseTokenNode();if(token()===20||token()===24||token()===22){return t}var r=createNode(189,t.pos);r.expression=t;parseExpectedToken(24,e.Diagnostics.super_must_be_followed_by_an_argument_list_or_member_access);r.name=parseRightSideOfDot(true);return finishNode(r)}function parseJsxElementOrSelfClosingElementOrFragment(t){var r=parseJsxOpeningOrSelfClosingElementOrOpeningFragment(t);var n;if(r.kind===262){var i=createNode(260,r.pos);i.openingElement=r;i.children=parseJsxChildren(i.openingElement);i.closingElement=parseJsxClosingElement(t);if(!tagNamesAreEquivalent(i.openingElement.tagName,i.closingElement.tagName)){parseErrorAtRange(i.closingElement,e.Diagnostics.Expected_corresponding_JSX_closing_tag_for_0,e.getTextOfNodeFromSourceText(d,i.openingElement.tagName))}n=finishNode(i)}else if(r.kind===265){var i=createNode(264,r.pos);i.openingFragment=r;i.children=parseJsxChildren(i.openingFragment);i.closingFragment=parseJsxClosingFragment(t);n=finishNode(i)}else{e.Debug.assert(r.kind===261);n=r}if(t&&token()===28){var a=tryParse(function(){return parseJsxElementOrSelfClosingElementOrFragment(true)});if(a){parseErrorAtCurrentToken(e.Diagnostics.JSX_expressions_must_have_one_parent_element);var o=createNode(204,n.pos);o.end=a.end;o.left=n;o.right=a;o.operatorToken=createMissingNode(27,false,undefined);o.operatorToken.pos=o.operatorToken.end=o.right.pos;return o}}return n}function parseJsxText(){var e=createNode(11);e.containsOnlyWhiteSpaces=f===12;f=r.scanJsxToken();return finishNode(e)}function parseJsxChild(t,r){switch(r){case 1:if(e.isJsxOpeningFragment(t)){parseErrorAtRange(t,e.Diagnostics.JSX_fragment_has_no_corresponding_closing_tag)}else{parseErrorAtRange(t.tagName,e.Diagnostics.JSX_element_0_has_no_corresponding_closing_tag,e.getTextOfNodeFromSourceText(d,t.tagName))}return undefined;case 29:case 7:return undefined;case 11:case 12:return parseJsxText();case 18:return parseJsxExpression(false);case 28:return parseJsxElementOrSelfClosingElementOrFragment(false);default:return e.Debug.assertNever(r)}}function parseJsxChildren(e){var t=[];var n=getNodePos();var i=m;m|=1<<14;while(true){var a=parseJsxChild(e,f=r.reScanJsxToken());if(!a)break;t.push(a)}m=i;return createNodeArray(t,n)}function parseJsxAttributes(){var e=createNode(268);e.properties=parseList(13,parseJsxAttribute);return finishNode(e)}function parseJsxOpeningOrSelfClosingElementOrOpeningFragment(e){var t=r.getStartPos();parseExpected(28);if(token()===30){var n=createNode(265,t);scanJsxText();return finishNode(n)}var i=parseJsxElementName();var a=tryParseTypeArguments();var o=parseJsxAttributes();var s;if(token()===30){s=createNode(262,t);scanJsxText()}else{parseExpected(42);if(e){parseExpected(30)}else{parseExpected(30,undefined,false);scanJsxText()}s=createNode(261,t)}s.tagName=i;s.typeArguments=a;s.attributes=o;return finishNode(s)}function parseJsxElementName(){scanJsxIdentifier();var e=token()===100?parseTokenNode():parseIdentifierName();while(parseOptional(24)){var t=createNode(189,e.pos);t.expression=e;t.name=parseRightSideOfDot(true);e=finishNode(t)}return e}function parseJsxExpression(e){var t=createNode(270);if(!parseExpected(18)){return undefined}if(token()!==19){t.dotDotDotToken=parseOptionalToken(25);t.expression=parseAssignmentExpressionOrHigher()}if(e){parseExpected(19)}else{parseExpected(19,undefined,false);scanJsxText()}return finishNode(t)}function parseJsxAttribute(){if(token()===18){return parseJsxSpreadAttribute()}scanJsxIdentifier();var e=createNode(267);e.name=parseIdentifierName();if(token()===59){switch(scanJsxAttributeValue()){case 10:e.initializer=parseLiteralNode();break;default:e.initializer=parseJsxExpression(true);break}}return finishNode(e)}function parseJsxSpreadAttribute(){var e=createNode(269);parseExpected(18);parseExpected(25);e.expression=parseExpression();parseExpected(19);return finishNode(e)}function parseJsxClosingElement(e){var t=createNode(263);parseExpected(29);t.tagName=parseJsxElementName();if(e){parseExpected(30)}else{parseExpected(30,undefined,false);scanJsxText()}return finishNode(t)}function parseJsxClosingFragment(t){var r=createNode(266);parseExpected(29);if(e.tokenIsIdentifierOrKeyword(token())){parseErrorAtRange(parseJsxElementName(),e.Diagnostics.Expected_corresponding_closing_tag_for_JSX_fragment)}if(t){parseExpected(30)}else{parseExpected(30,undefined,false);scanJsxText()}return finishNode(r)}function parseTypeAssertion(){var e=createNode(194);parseExpected(28);e.type=parseType();parseExpected(30);e.expression=parseSimpleUnaryExpression();return finishNode(e)}function parseMemberExpressionRest(t){while(true){var n=parseOptionalToken(24);if(n){var i=createNode(189,t.pos);i.expression=t;i.name=parseRightSideOfDot(true);t=finishNode(i);continue}if(token()===52&&!r.hasPrecedingLineBreak()){nextToken();var a=createNode(213,t.pos);a.expression=t;t=finishNode(a);continue}if(!inDecoratorContext()&&parseOptional(22)){var o=createNode(190,t.pos);o.expression=t;if(token()===23){o.argumentExpression=createMissingNode(72,true,e.Diagnostics.An_element_access_expression_should_take_an_argument)}else{var s=allowInAnd(parseExpression);if(e.isStringOrNumericLiteralLike(s)){s.text=internIdentifier(s.text)}o.argumentExpression=s}parseExpected(23);t=finishNode(o);continue}if(isTemplateStartOfTaggedTemplate()){t=parseTaggedTemplateRest(t,undefined);continue}return t}}function isTemplateStartOfTaggedTemplate(){return token()===14||token()===15}function parseTaggedTemplateRest(e,t){var r=createNode(193,e.pos);r.tag=e;r.typeArguments=t;r.template=token()===14?parseLiteralNode():parseTemplateExpression();return finishNode(r)}function parseCallExpressionRest(e){while(true){e=parseMemberExpressionRest(e);if(token()===28){var t=tryParse(parseTypeArgumentsInExpression);if(!t){return e}if(isTemplateStartOfTaggedTemplate()){e=parseTaggedTemplateRest(e,t);continue}var r=createNode(191,e.pos);r.expression=e;r.typeArguments=t;r.arguments=parseArgumentList();e=finishNode(r);continue}else if(token()===20){var r=createNode(191,e.pos);r.expression=e;r.arguments=parseArgumentList();e=finishNode(r);continue}return e}}function parseArgumentList(){parseExpected(20);var e=parseDelimitedList(11,parseArgumentExpression);parseExpected(21);return e}function parseTypeArgumentsInExpression(){if(!parseOptional(28)){return undefined}var e=parseDelimitedList(20,parseType);if(!parseExpected(30)){return undefined}return e&&canFollowTypeArgumentsInExpression()?e:undefined}function canFollowTypeArgumentsInExpression(){switch(token()){case 20:case 14:case 15:case 24:case 21:case 23:case 57:case 26:case 56:case 33:case 35:case 34:case 36:case 54:case 55:case 51:case 49:case 50:case 19:case 1:return true;case 27:case 18:default:return false}}function parsePrimaryExpression(){switch(token()){case 8:case 9:case 10:case 14:return parseLiteralNode();case 100:case 98:case 96:case 102:case 87:return parseTokenNode();case 20:return parseParenthesizedExpression();case 22:return parseArrayLiteralExpression();case 18:return parseObjectLiteralExpression();case 121:if(!lookAhead(nextTokenIsFunctionKeywordOnSameLine)){break}return parseFunctionExpression();case 76:return parseClassExpression();case 90:return parseFunctionExpression();case 95:return parseNewExpressionOrNewDotTarget();case 42:case 64:if(reScanSlashToken()===13){return parseLiteralNode()}break;case 15:return parseTemplateExpression()}return parseIdentifier(e.Diagnostics.Expression_expected)}function parseParenthesizedExpression(){var e=createNodeWithJSDoc(195);parseExpected(20);e.expression=allowInAnd(parseExpression);parseExpected(21);return finishNode(e)}function parseSpreadElement(){var e=createNode(208);parseExpected(25);e.expression=parseAssignmentExpressionOrHigher();return finishNode(e)}function parseArgumentOrArrayLiteralElement(){return token()===25?parseSpreadElement():token()===27?createNode(210):parseAssignmentExpressionOrHigher()}function parseArgumentExpression(){return doOutsideOfContext(n,parseArgumentOrArrayLiteralElement)}function parseArrayLiteralExpression(){var e=createNode(187);parseExpected(22);if(r.hasPrecedingLineBreak()){e.multiLine=true}e.elements=parseDelimitedList(15,parseArgumentOrArrayLiteralElement);parseExpected(23);return finishNode(e)}function parseObjectLiteralElement(){var e=createNodeWithJSDoc(0);if(parseOptionalToken(25)){e.kind=277;e.expression=parseAssignmentExpressionOrHigher();return finishNode(e)}e.decorators=parseDecorators();e.modifiers=parseModifiers();if(parseContextualModifier(126)){return parseAccessorDeclaration(e,158)}if(parseContextualModifier(137)){return parseAccessorDeclaration(e,159)}var t=parseOptionalToken(40);var r=isIdentifier();e.name=parsePropertyName();e.questionToken=parseOptionalToken(56);e.exclamationToken=parseOptionalToken(52);if(t||token()===20||token()===28){return parseMethodDeclaration(e,t)}var n=r&&token()!==57;if(n){e.kind=276;var i=parseOptionalToken(59);if(i){e.equalsToken=i;e.objectAssignmentInitializer=allowInAnd(parseAssignmentExpressionOrHigher)}}else{e.kind=275;parseExpected(57);e.initializer=allowInAnd(parseAssignmentExpressionOrHigher)}return finishNode(e)}function parseObjectLiteralExpression(){var e=createNode(188);parseExpected(18);if(r.hasPrecedingLineBreak()){e.multiLine=true}e.properties=parseDelimitedList(12,parseObjectLiteralElement,true);parseExpected(19);return finishNode(e)}function parseFunctionExpression(){var t=inDecoratorContext();if(t){setDecoratorContext(false)}var r=createNodeWithJSDoc(196);r.modifiers=parseModifiers();parseExpected(90);r.asteriskToken=parseOptionalToken(40);var n=r.asteriskToken?1:0;var i=e.hasModifier(r,256)?2:0;r.name=n&&i?doInYieldAndAwaitContext(parseOptionalIdentifier):n?doInYieldContext(parseOptionalIdentifier):i?doInAwaitContext(parseOptionalIdentifier):parseOptionalIdentifier();fillSignature(57,n|i,r);r.body=parseFunctionBlock(n|i);if(t){setDecoratorContext(true)}return finishNode(r)}function parseOptionalIdentifier(){return isIdentifier()?parseIdentifier():undefined}function parseNewExpressionOrNewDotTarget(){var t=r.getStartPos();parseExpected(95);if(parseOptional(24)){var n=createNode(214,t);n.keywordToken=95;n.name=parseIdentifierName();return finishNode(n)}var i=parsePrimaryExpression();var a;while(true){i=parseMemberExpressionRest(i);a=tryParse(parseTypeArgumentsInExpression);if(isTemplateStartOfTaggedTemplate()){e.Debug.assert(!!a,"Expected a type argument list; all plain tagged template starts should be consumed in 'parseMemberExpressionRest'");i=parseTaggedTemplateRest(i,a);a=undefined}break}var o=createNode(192,t);o.expression=i;o.typeArguments=a;if(o.typeArguments||token()===20){o.arguments=parseArgumentList()}return finishNode(o)}function parseBlock(e,t){var n=createNode(218);if(parseExpected(18,t)||e){if(r.hasPrecedingLineBreak()){n.multiLine=true}n.statements=parseList(1,parseStatement);parseExpected(19)}else{n.statements=createMissingList()}return finishNode(n)}function parseFunctionBlock(e,t){var r=inYieldContext();setYieldContext(!!(e&1));var n=inAwaitContext();setAwaitContext(!!(e&2));var i=inDecoratorContext();if(i){setDecoratorContext(false)}var a=parseBlock(!!(e&16),t);if(i){setDecoratorContext(true)}setYieldContext(r);setAwaitContext(n);return a}function parseEmptyStatement(){var e=createNode(220);parseExpected(26);return finishNode(e)}function parseIfStatement(){var e=createNode(222);parseExpected(91);parseExpected(20);e.expression=allowInAnd(parseExpression);parseExpected(21);e.thenStatement=parseStatement();e.elseStatement=parseOptional(83)?parseStatement():undefined;return finishNode(e)}function parseDoStatement(){var e=createNode(223);parseExpected(82);e.statement=parseStatement();parseExpected(107);parseExpected(20);e.expression=allowInAnd(parseExpression);parseExpected(21);parseOptional(26);return finishNode(e)}function parseWhileStatement(){var e=createNode(224);parseExpected(107);parseExpected(20);e.expression=allowInAnd(parseExpression);parseExpected(21);e.statement=parseStatement();return finishNode(e)}function parseForOrForInOrForOfStatement(){var e=getNodePos();parseExpected(89);var t=parseOptionalToken(122);parseExpected(20);var r;if(token()!==26){if(token()===105||token()===111||token()===77){r=parseVariableDeclarationList(true)}else{r=disallowInAnd(parseExpression)}}var n;if(t?parseExpected(147):parseOptional(147)){var i=createNode(227,e);i.awaitModifier=t;i.initializer=r;i.expression=allowInAnd(parseAssignmentExpressionOrHigher);parseExpected(21);n=i}else if(parseOptional(93)){var a=createNode(226,e);a.initializer=r;a.expression=allowInAnd(parseExpression);parseExpected(21);n=a}else{var o=createNode(225,e);o.initializer=r;parseExpected(26);if(token()!==26&&token()!==21){o.condition=allowInAnd(parseExpression)}parseExpected(26);if(token()!==21){o.incrementor=allowInAnd(parseExpression)}parseExpected(21);n=o}n.statement=parseStatement();return finishNode(n)}function parseBreakOrContinueStatement(e){var t=createNode(e);parseExpected(e===229?73:78);if(!canParseSemicolon()){t.label=parseIdentifier()}parseSemicolon();return finishNode(t)}function parseReturnStatement(){var e=createNode(230);parseExpected(97);if(!canParseSemicolon()){e.expression=allowInAnd(parseExpression)}parseSemicolon();return finishNode(e)}function parseWithStatement(){var e=createNode(231);parseExpected(108);parseExpected(20);e.expression=allowInAnd(parseExpression);parseExpected(21);e.statement=doInsideOfContext(8388608,parseStatement);return finishNode(e)}function parseCaseClause(){var e=createNode(271);parseExpected(74);e.expression=allowInAnd(parseExpression);parseExpected(57);e.statements=parseList(3,parseStatement);return finishNode(e)}function parseDefaultClause(){var e=createNode(272);parseExpected(80);parseExpected(57);e.statements=parseList(3,parseStatement);return finishNode(e)}function parseCaseOrDefaultClause(){return token()===74?parseCaseClause():parseDefaultClause()}function parseSwitchStatement(){var e=createNode(232);parseExpected(99);parseExpected(20);e.expression=allowInAnd(parseExpression);parseExpected(21);var t=createNode(246);parseExpected(18);t.clauses=parseList(2,parseCaseOrDefaultClause);parseExpected(19);e.caseBlock=finishNode(t);return finishNode(e)}function parseThrowStatement(){var e=createNode(234);parseExpected(101);e.expression=r.hasPrecedingLineBreak()?undefined:allowInAnd(parseExpression);parseSemicolon();return finishNode(e)}function parseTryStatement(){var e=createNode(235);parseExpected(103);e.tryBlock=parseBlock(false);e.catchClause=token()===75?parseCatchClause():undefined;if(!e.catchClause||token()===88){parseExpected(88);e.finallyBlock=parseBlock(false)}return finishNode(e)}function parseCatchClause(){var e=createNode(274);parseExpected(75);if(parseOptional(20)){e.variableDeclaration=parseVariableDeclaration();parseExpected(21)}else{e.variableDeclaration=undefined}e.block=parseBlock(false);return finishNode(e)}function parseDebuggerStatement(){var e=createNode(236);parseExpected(79);parseSemicolon();return finishNode(e)}function parseExpressionOrLabeledStatement(){var e=createNodeWithJSDoc(0);var t=allowInAnd(parseExpression);if(t.kind===72&&parseOptional(57)){e.kind=233;e.label=t;e.statement=parseStatement()}else{e.kind=221;e.expression=t;parseSemicolon()}return finishNode(e)}function nextTokenIsIdentifierOrKeywordOnSameLine(){nextToken();return e.tokenIsIdentifierOrKeyword(token())&&!r.hasPrecedingLineBreak()}function nextTokenIsClassKeywordOnSameLine(){nextToken();return token()===76&&!r.hasPrecedingLineBreak()}function nextTokenIsFunctionKeywordOnSameLine(){nextToken();return token()===90&&!r.hasPrecedingLineBreak()}function nextTokenIsIdentifierOrKeywordOrLiteralOnSameLine(){nextToken();return(e.tokenIsIdentifierOrKeyword(token())||token()===8||token()===9||token()===10)&&!r.hasPrecedingLineBreak()}function isDeclaration(){while(true){switch(token()){case 105:case 111:case 77:case 90:case 76:case 84:return true;case 110:case 140:return nextTokenIsIdentifierOnSameLine();case 130:case 131:return nextTokenIsIdentifierOrStringLiteralOnSameLine();case 118:case 121:case 125:case 113:case 114:case 115:case 133:nextToken();if(r.hasPrecedingLineBreak()){return false}continue;case 145:nextToken();return token()===18||token()===72||token()===85;case 92:nextToken();return token()===10||token()===40||token()===18||e.tokenIsIdentifierOrKeyword(token());case 85:nextToken();if(token()===59||token()===40||token()===18||token()===80||token()===119){return true}continue;case 116:nextToken();continue;default:return false}}}function isStartOfDeclaration(){return lookAhead(isDeclaration)}function isStartOfStatement(){switch(token()){case 58:case 26:case 18:case 105:case 111:case 90:case 76:case 84:case 91:case 82:case 107:case 89:case 78:case 73:case 97:case 108:case 99:case 101:case 103:case 79:case 75:case 88:return true;case 92:return isStartOfDeclaration()||lookAhead(nextTokenIsOpenParenOrLessThanOrDot);case 77:case 85:return isStartOfDeclaration();case 121:case 125:case 110:case 130:case 131:case 140:case 145:return true;case 115:case 113:case 114:case 116:case 133:return isStartOfDeclaration()||!lookAhead(nextTokenIsIdentifierOrKeywordOnSameLine);default:return isStartOfExpression()}}function nextTokenIsIdentifierOrStartOfDestructuring(){nextToken();return isIdentifier()||token()===18||token()===22}function isLetDeclaration(){return lookAhead(nextTokenIsIdentifierOrStartOfDestructuring)}function parseStatement(){switch(token()){case 26:return parseEmptyStatement();case 18:return parseBlock(false);case 105:return parseVariableStatement(createNodeWithJSDoc(237));case 111:if(isLetDeclaration()){return parseVariableStatement(createNodeWithJSDoc(237))}break;case 90:return parseFunctionDeclaration(createNodeWithJSDoc(239));case 76:return parseClassDeclaration(createNodeWithJSDoc(240));case 91:return parseIfStatement();case 82:return parseDoStatement();case 107:return parseWhileStatement();case 89:return parseForOrForInOrForOfStatement();case 78:return parseBreakOrContinueStatement(228);case 73:return parseBreakOrContinueStatement(229);case 97:return parseReturnStatement();case 108:return parseWithStatement();case 99:return parseSwitchStatement();case 101:return parseThrowStatement();case 103:case 75:case 88:return parseTryStatement();case 79:return parseDebuggerStatement();case 58:return parseDeclaration();case 121:case 110:case 140:case 130:case 131:case 125:case 77:case 84:case 85:case 92:case 113:case 114:case 115:case 118:case 116:case 133:case 145:if(isStartOfDeclaration()){return parseDeclaration()}break}return parseExpressionOrLabeledStatement()}function isDeclareModifier(e){return e.kind===125}function parseDeclaration(){var t=createNodeWithJSDoc(0);t.decorators=parseDecorators();t.modifiers=parseModifiers();if(e.some(t.modifiers,isDeclareModifier)){for(var r=0,n=t.modifiers;r=0);e.Debug.assert(t<=a);e.Debug.assert(a<=i.length);if(!isJSDocLikeText(i,t)){return undefined}var o;var s;var c;var u=[];return r.scanRange(t+3,n-5,function(){var e=1;var n;var a=t-Math.max(i.lastIndexOf("\n",t),0)+4;function pushComment(e){if(!n){n=a}u.push(e);a+=e.length}nextJSDocToken();while(parseOptionalJsdoc(5));if(parseOptionalJsdoc(4)){e=0;a=0}e:while(true){switch(token()){case 58:if(e===0||e===1){removeTrailingWhitespace(u);addTag(parseTag(a));e=0;n=undefined;a++}else{pushComment(r.getTokenText())}break;case 4:u.push(r.getTokenText());e=0;a=0;break;case 40:var o=r.getTokenText();if(e===1||e===2){e=2;pushComment(o)}else{e=1;a+=o.length}break;case 5:var s=r.getTokenText();if(e===2){u.push(s)}else if(n!==undefined&&a+s.length>n){u.push(s.slice(n-a-1))}a+=s.length;break;case 1:break e;default:e=2;pushComment(r.getTokenText());break}nextJSDocToken()}removeLeadingNewlines(u);removeTrailingWhitespace(u);return createJSDocComment()});function removeLeadingNewlines(e){while(e.length&&(e[0]==="\n"||e[0]==="\r")){e.shift()}}function removeTrailingWhitespace(e){while(e.length&&e[e.length-1].trim()===""){e.pop()}}function createJSDocComment(){var e=createNode(291,t);e.tags=o&&createNodeArray(o,s,c);e.comment=u.length?u.join(""):undefined;return finishNode(e,a)}function isNextNonwhitespaceTokenEndOfFile(){while(true){nextJSDocToken();if(token()===1){return true}if(!(token()===5||token()===4)){return false}}}function skipWhitespace(){if(token()===5||token()===4){if(lookAhead(isNextNonwhitespaceTokenEndOfFile)){return}}while(token()===5||token()===4){nextJSDocToken()}}function skipWhitespaceOrAsterisk(){if(token()===5||token()===4){if(lookAhead(isNextNonwhitespaceTokenEndOfFile)){return}}var e=r.hasPrecedingLineBreak();while(e&&token()===40||token()===5||token()===4){if(token()===4){e=true}else if(token()===40){e=false}nextJSDocToken()}}function parseTag(t){e.Debug.assert(token()===58);var n=r.getTokenPos();nextJSDocToken();var i=parseJSDocIdentifierName(undefined);skipWhitespaceOrAsterisk();var a;switch(i.escapedText){case"augments":case"extends":a=parseAugmentsTag(n,i);break;case"class":case"constructor":a=parseClassTag(n,i);break;case"this":a=parseThisTag(n,i);break;case"enum":a=parseEnumTag(n,i);break;case"arg":case"argument":case"param":return parseParameterOrPropertyTag(n,i,2,t);case"return":case"returns":a=parseReturnTag(n,i);break;case"template":a=parseTemplateTag(n,i);break;case"type":a=parseTypeTag(n,i);break;case"typedef":a=parseTypedefTag(n,i,t);break;case"callback":a=parseCallbackTag(n,i,t);break;default:a=parseUnknownTag(n,i);break}if(!a.comment){a.comment=parseTagComments(t+a.end-a.pos)}return a}function parseTagComments(t){var n=[];var i=0;var a;function pushComment(e){if(!a){a=t}n.push(e);t+=e.length}var o=token();e:while(true){switch(o){case 4:if(i>=1){i=0;n.push(r.getTokenText())}t=0;break;case 58:r.setTextPos(r.getTextPos()-1);case 1:break e;case 5:if(i===2){pushComment(r.getTokenText())}else{var s=r.getTokenText();if(a!==undefined&&t+s.length>a){n.push(s.slice(a-t-1))}t+=s.length}break;case 18:i=2;if(lookAhead(function(){return nextJSDocToken()===58&&e.tokenIsIdentifierOrKeyword(nextJSDocToken())&&r.getTokenText()==="link"})){pushComment(r.getTokenText());nextJSDocToken();pushComment(r.getTokenText());nextJSDocToken()}pushComment(r.getTokenText());break;case 40:if(i===0){i=1;t+=1;break}default:i=2;pushComment(r.getTokenText());break}o=nextJSDocToken()}removeLeadingNewlines(n);removeTrailingWhitespace(n);return n.length===0?undefined:n.join("")}function parseUnknownTag(e,t){var r=createNode(294,e);r.tagName=t;return finishNode(r)}function addTag(e){if(!e){return}if(!o){o=[e];s=e.pos}else{o.push(e)}c=e.end}function tryParseTypeExpression(){skipWhitespaceOrAsterisk();return token()===18?parseJSDocTypeExpression():undefined}function parseBracketNameInPropertyAndParamTag(){if(token()===14){return{name:createIdentifier(true),isBracketed:false}}var e=parseOptional(22);var t=parseJSDocEntityName();if(e){skipWhitespace();if(parseOptionalToken(59)){parseExpression()}parseExpected(23)}return{name:t,isBracketed:e}}function isObjectOrObjectArrayTypeReference(t){switch(t.kind){case 136:return true;case 169:return isObjectOrObjectArrayTypeReference(t.elementType);default:return e.isTypeReferenceNode(t)&&e.isIdentifier(t.typeName)&&t.typeName.escapedText==="Object"}}function parseParameterOrPropertyTag(e,t,n,i){var a=tryParseTypeExpression();var o=!a;skipWhitespaceOrAsterisk();var s=parseBracketNameInPropertyAndParamTag(),c=s.name,u=s.isBracketed;skipWhitespace();if(o){a=tryParseTypeExpression()}var l=n===1?createNode(305,e):createNode(299,e);var f=parseTagComments(i+r.getStartPos()-e);var d=n!==4&&parseNestedTypeLiteral(a,c,n,i);if(d){a=d;o=true}l.tagName=t;l.typeExpression=a;l.name=c;l.isNameFirst=o;l.isBracketed=u;l.comment=f;return finishNode(l)}function parseNestedTypeLiteral(t,n,i,a){if(t&&isObjectOrObjectArrayTypeReference(t.type)){var o=createNode(283,r.getTokenPos());var s=void 0;var c=void 0;var u=r.getStartPos();var l=void 0;while(s=tryParse(function(){return parseChildParameterOrPropertyTag(i,a,n)})){if(s.kind===299||s.kind===305){l=e.append(l,s)}}if(l){c=createNode(292,u);c.jsDocPropertyTags=l;if(t.type.kind===169){c.isArrayType=true}o.type=finishNode(c);return finishNode(o)}}}function parseReturnTag(t,n){if(e.forEach(o,function(e){return e.kind===300})){parseErrorAt(n.pos,r.getTokenPos(),e.Diagnostics._0_tag_already_specified,n.escapedText)}var i=createNode(300,t);i.tagName=n;i.typeExpression=tryParseTypeExpression();return finishNode(i)}function parseTypeTag(t,n){if(e.forEach(o,function(e){return e.kind===302})){parseErrorAt(n.pos,r.getTokenPos(),e.Diagnostics._0_tag_already_specified,n.escapedText)}var i=createNode(302,t);i.tagName=n;i.typeExpression=parseJSDocTypeExpression(true);return finishNode(i)}function parseAugmentsTag(e,t){var r=createNode(295,e);r.tagName=t;r.class=parseExpressionWithTypeArgumentsForAugments();return finishNode(r)}function parseExpressionWithTypeArgumentsForAugments(){var e=parseOptional(18);var t=createNode(211);t.expression=parsePropertyAccessEntityNameExpression();t.typeArguments=tryParseTypeArguments();var r=finishNode(t);if(e){parseExpected(19)}return r}function parsePropertyAccessEntityNameExpression(){var e=parseJSDocIdentifierName();while(parseOptional(24)){var t=createNode(189,e.pos);t.expression=e;t.name=parseJSDocIdentifierName();e=finishNode(t)}return e}function parseClassTag(e,t){var r=createNode(296,e);r.tagName=t;return finishNode(r)}function parseThisTag(e,t){var r=createNode(301,e);r.tagName=t;r.typeExpression=parseJSDocTypeExpression(true);skipWhitespace();return finishNode(r)}function parseEnumTag(e,t){var r=createNode(298,e);r.tagName=t;r.typeExpression=parseJSDocTypeExpression(true);skipWhitespace();return finishNode(r)}function parseTypedefTag(t,n,i){var a=tryParseTypeExpression();skipWhitespaceOrAsterisk();var o=createNode(304,t);o.tagName=n;o.fullName=parseJSDocTypeNameWithNamespace();o.name=getJSDocTypeAliasName(o.fullName);skipWhitespace();o.comment=parseTagComments(i);o.typeExpression=a;var s;if(!a||isObjectOrObjectArrayTypeReference(a.type)){var c=void 0;var u=void 0;var l=void 0;while(c=tryParse(function(){return parseChildPropertyTag(i)})){if(!u){u=createNode(292,t)}if(c.kind===302){if(l){break}else{l=c}}else{u.jsDocPropertyTags=e.append(u.jsDocPropertyTags,c)}}if(u){if(a&&a.type.kind===169){u.isArrayType=true}o.typeExpression=l&&l.typeExpression&&!isObjectOrObjectArrayTypeReference(l.typeExpression.type)?l.typeExpression:finishNode(u);s=o.typeExpression.end}}return finishNode(o,s||o.comment!==undefined?r.getStartPos():(o.fullName||o.typeExpression||o.tagName).end)}function parseJSDocTypeNameWithNamespace(t){var n=r.getTokenPos();if(!e.tokenIsIdentifierOrKeyword(token())){return undefined}var i=parseJSDocIdentifierName();if(parseOptional(24)){var a=createNode(244,n);if(t){a.flags|=4}a.name=i;a.body=parseJSDocTypeNameWithNamespace(true);return finishNode(a)}if(t){i.isInJSDocNamespace=true}return i}function parseCallbackTag(t,r,n){var i=createNode(297,t);i.tagName=r;i.fullName=parseJSDocTypeNameWithNamespace();i.name=getJSDocTypeAliasName(i.fullName);skipWhitespace();i.comment=parseTagComments(n);var a;var o=createNode(293,t);o.parameters=[];while(a=tryParse(function(){return parseChildParameterOrPropertyTag(4,n)})){o.parameters=e.append(o.parameters,a)}var s=tryParse(function(){if(parseOptionalJsdoc(58)){var e=parseTag(n);if(e&&e.kind===300){return e}}});if(s){o.type=s}i.typeExpression=finishNode(o);return finishNode(i)}function getJSDocTypeAliasName(t){if(t){var r=t;while(true){if(e.isIdentifier(r)||!r.body){return e.isIdentifier(r)?r:r.name}r=r.body}}}function escapedTextsEqual(t,r){while(!e.isIdentifier(t)||!e.isIdentifier(r)){if(!e.isIdentifier(t)&&!e.isIdentifier(r)&&t.right.escapedText===r.right.escapedText){t=t.left;r=r.left}else{return false}}return t.escapedText===r.escapedText}function parseChildPropertyTag(e){return parseChildParameterOrPropertyTag(1,e)}function parseChildParameterOrPropertyTag(t,r,n){var i=true;var a=false;while(true){switch(nextJSDocToken()){case 58:if(i){var o=tryParseChildTag(t,r);if(o&&(o.kind===299||o.kind===305)&&t!==4&&n&&(e.isIdentifier(o.name)||!escapedTextsEqual(n,o.name.left))){return false}return o}a=false;break;case 4:i=true;a=false;break;case 40:if(a){i=false}a=true;break;case 72:i=false;break;case 1:return false}}}function tryParseChildTag(t,n){e.Debug.assert(token()===58);var i=r.getStartPos();nextJSDocToken();var a=parseJSDocIdentifierName();skipWhitespace();var o;switch(a.escapedText){case"type":return t===1&&parseTypeTag(i,a);case"prop":case"property":o=1;break;case"arg":case"argument":case"param":o=2|4;break;default:return false}if(!(t&o)){return false}return parseParameterOrPropertyTag(i,a,t,n)}function parseTemplateTag(t,r){var n;if(token()===18){n=parseJSDocTypeExpression()}var i=[];var a=getNodePos();do{skipWhitespace();var o=createNode(150);o.name=parseJSDocIdentifierName(e.Diagnostics.Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces);finishNode(o);skipWhitespace();i.push(o)}while(parseOptionalJsdoc(27));var s=createNode(303,t);s.tagName=r;s.constraint=n;s.typeParameters=createNodeArray(i,a);finishNode(s);return s}function nextJSDocToken(){return f=r.scanJSDocToken()}function parseOptionalJsdoc(e){if(token()===e){nextJSDocToken();return true}return false}function parseJSDocEntityName(){var e=parseJSDocIdentifierName();if(parseOptional(22)){parseExpected(23)}while(parseOptional(24)){var t=parseJSDocIdentifierName();if(parseOptional(22)){parseExpected(23)}e=createQualifiedName(e,t)}return e}function parseJSDocIdentifierName(t){if(!e.tokenIsIdentifierOrKeyword(token())){return createMissingNode(72,!t,t||e.Diagnostics.Identifier_expected)}var n=r.getTokenPos();var i=r.getTextPos();var a=createNode(72,n);a.escapedText=e.escapeLeadingUnderscores(r.getTokenText());finishNode(a,i);nextJSDocToken();return a}}t.parseJSDocCommentWorker=parseJSDocCommentWorker})(S=t.JSDocParser||(t.JSDocParser={}))})(o||(o={}));var s;(function(t){function updateSourceFile(t,r,n,i){i=i||e.Debug.shouldAssert(2);checkChangeRange(t,r,n,i);if(e.textChangeRangeIsUnchanged(n)){return t}if(t.statements.length===0){return o.parseSourceFile(t.fileName,r,t.languageVersion,undefined,true,t.scriptKind)}var a=t;e.Debug.assert(!a.hasBeenIncrementallyParsed);a.hasBeenIncrementallyParsed=true;var s=t.text;var c=createSyntaxCursor(t);var u=extendToAffectedRange(t,n);checkChangeRange(t,r,u,i);e.Debug.assert(u.span.start<=n.span.start);e.Debug.assert(e.textSpanEnd(u.span)===e.textSpanEnd(n.span));e.Debug.assert(e.textSpanEnd(e.textChangeRangeNewSpan(u))===e.textSpanEnd(e.textChangeRangeNewSpan(n)));var l=e.textChangeRangeNewSpan(u).length-u.span.length;updateTokenPositionsAndMarkElements(a,u.span.start,e.textSpanEnd(u.span),e.textSpanEnd(e.textChangeRangeNewSpan(u)),l,s,r,i);var f=o.parseSourceFile(t.fileName,r,t.languageVersion,c,true,t.scriptKind);return f}t.updateSourceFile=updateSourceFile;function moveElementEntirelyPastChangeRange(t,r,n,i,a,o){if(r){visitArray(t)}else{visitNode(t)}return;function visitNode(t){var r="";if(o&&shouldCheckNode(t)){r=i.substring(t.pos,t.end)}if(t._children){t._children=undefined}t.pos+=n;t.end+=n;if(o&&shouldCheckNode(t)){e.Debug.assert(r===a.substring(t.pos,t.end))}forEachChild(t,visitNode,visitArray);if(e.hasJSDocNodes(t)){for(var s=0,c=t.jsDoc;s=r,"Adjusting an element that was entirely before the change range");e.Debug.assert(t.pos<=n,"Adjusting an element that was entirely after the change range");e.Debug.assert(t.pos<=t.end);t.pos=Math.min(t.pos,i);if(t.end>=n){t.end+=a}else{t.end=Math.min(t.end,i)}e.Debug.assert(t.pos<=t.end);if(t.parent){e.Debug.assert(t.pos>=t.parent.pos);e.Debug.assert(t.end<=t.parent.end)}}function checkNodePositions(t,r){if(r){var n=t.pos;var i=function(t){e.Debug.assert(t.pos>=n);n=t.end};if(e.hasJSDocNodes(t)){for(var a=0,o=t.jsDoc;an){moveElementEntirelyPastChangeRange(t,false,a,o,s,c);return}var u=t.end;if(u>=r){t.intersectsChange=true;t._children=undefined;adjustIntersectingElement(t,r,n,i,a);forEachChild(t,visitNode,visitArray);if(e.hasJSDocNodes(t)){for(var l=0,f=t.jsDoc;ln){moveElementEntirelyPastChangeRange(t,true,a,o,s,c);return}var u=t.end;if(u>=r){t.intersectsChange=true;t._children=undefined;adjustIntersectingElement(t,r,n,i,a);for(var l=0,f=t;l0&&a<=n;a++){var o=findNearestNodeStartingBeforeOrAtPosition(t,i);e.Debug.assert(o.pos<=i);var s=o.pos;i=Math.max(0,s-1)}var c=e.createTextSpanFromBounds(i,e.textSpanEnd(r.span));var u=r.newLength+(r.span.start-i);return e.createTextChangeRange(c,u)}function findNearestNodeStartingBeforeOrAtPosition(t,r){var n=t;var i;forEachChild(t,visit);if(i){var a=getLastDescendant(i);if(a.pos>n.pos){n=a}}return n;function getLastDescendant(t){while(true){var r=e.getLastChild(t);if(r){t=r}else{return t}}}function visit(t){if(e.nodeIsMissing(t)){return}if(t.pos<=r){if(t.pos>=n.pos){n=t}if(rr);return true}}}function checkChangeRange(t,r,n,i){var a=t.text;if(n){e.Debug.assert(a.length-n.span.length+n.newLength===r.length);if(i||e.Debug.shouldAssert(3)){var o=a.substr(0,n.span.start);var s=r.substr(0,n.span.start);e.Debug.assert(o===s);var c=a.substring(e.textSpanEnd(n.span),a.length);var u=r.substring(e.textSpanEnd(e.textChangeRangeNewSpan(n)),r.length);e.Debug.assert(c===u)}}}function createSyntaxCursor(t){var r=t.statements;var n=0;e.Debug.assert(n=t.pos&&e=t.pos&&et.checkJsDirective.pos){t.checkJsDirective={enabled:i==="ts-check",end:e.range.end,pos:e.range.pos}}});break}case"jsx":return;default:e.Debug.fail("Unhandled pragma kind")}})}e.processPragmasIntoFields=processPragmasIntoFields;var c=e.createMap();function getNamedArgRegEx(e){if(c.has(e)){return c.get(e)}var t=new RegExp("(\\s"+e+"\\s*=\\s*)('|\")(.+?)\\2","im");c.set(e,t);return t}var u=/^\/\/\/\s*<(\S+)\s.*?\/>/im;var l=/^\/\/\/?\s*@(\S+)\s*(.*)\s*$/im;function extractPragmas(t,r,n){var i=r.kind===2&&u.exec(n);if(i){var a=i[1].toLowerCase();var o=e.commentPragmas[a];if(!o||!(o.kind&1)){return}if(o.args){var s={};for(var c=0,f=o.args;c=r.length)break;var o=a;if(r.charCodeAt(o)===34){a++;while(a32)a++;n.push(r.substring(o,a))}}parseStrings(n)}}function parseCommandLine(t,r){return parseCommandLineWorker(getOptionNameMap,[e.Diagnostics.Unknown_compiler_option_0,e.Diagnostics.Compiler_option_0_expects_an_argument],t,r)}e.parseCommandLine=parseCommandLine;function getOptionFromName(e,t){return getOptionDeclarationFromName(getOptionNameMap,e,t)}e.getOptionFromName=getOptionFromName;function getOptionDeclarationFromName(e,t,r){if(r===void 0){r=false}t=t.toLowerCase();var n=e(),i=n.optionNameMap,a=n.shortOptionNames;if(r){var o=a.get(t);if(o!==undefined){t=o}}return i.get(t)}function parseBuildCommand(t){var r;var n=function(){return r||(r=createOptionNameMap(e.buildOpts))};var i=parseCommandLineWorker(n,[e.Diagnostics.Unknown_build_option_0,e.Diagnostics.Build_option_0_requires_a_value_of_type_1],t),a=i.options,o=i.fileNames,s=i.errors;var c=a;if(o.length===0){o.push(".")}if(c.clean&&c.force){s.push(e.createCompilerDiagnostic(e.Diagnostics.Options_0_and_1_cannot_be_combined,"clean","force"))}if(c.clean&&c.verbose){s.push(e.createCompilerDiagnostic(e.Diagnostics.Options_0_and_1_cannot_be_combined,"clean","verbose"))}if(c.clean&&c.watch){s.push(e.createCompilerDiagnostic(e.Diagnostics.Options_0_and_1_cannot_be_combined,"clean","watch"))}if(c.watch&&c.dry){s.push(e.createCompilerDiagnostic(e.Diagnostics.Options_0_and_1_cannot_be_combined,"watch","dry"))}return{buildOptions:c,projects:o,errors:s}}e.parseBuildCommand=parseBuildCommand;function getDiagnosticText(t){var r=[];for(var n=1;n";u.push(v);l.push(getDiagnosticText(e.Diagnostics.Insert_command_line_options_and_files_from_a_file));o=Math.max(v.length,o);for(var T=0;T=0){s.push(e.createCompilerDiagnostic(e.Diagnostics.Circularity_detected_while_resolving_configuration_Colon_0,o.concat([c]).join(" -> ")));return{raw:t||convertToObject(r,s)}}var u=t?parseOwnConfigOfJson(t,n,i,a,s):parseOwnConfigOfJsonSourceFile(r,n,i,a,s);if(u.extendedConfigPath){o=o.concat([c]);var l=getExtendedConfig(r,u.extendedConfigPath,n,i,o,s);if(l&&isSuccessfulParsedTsconfig(l)){var f=l.raw;var d=u.raw;var p=function(e){var t=d[e]||f[e];if(t){d[e]=t}};p("include");p("exclude");p("files");if(d.compileOnSave===undefined){d.compileOnSave=f.compileOnSave}u.options=e.assign({},l.options,u.options)}}return u}function parseOwnConfigOfJson(t,r,n,i,a){if(e.hasProperty(t,"excludes")){a.push(e.createCompilerDiagnostic(e.Diagnostics.Unknown_option_excludes_Did_you_mean_exclude))}var o=convertCompilerOptionsFromJsonWorker(t.compilerOptions,n,a,i);var s=convertTypeAcquisitionFromJsonWorker(t.typeAcquisition||t.typingOptions,n,a,i);t.compileOnSave=convertCompileOnSaveOptionFromJson(t,n,a);var c;if(t.extends){if(!e.isString(t.extends)){a.push(e.createCompilerDiagnostic(e.Diagnostics.Compiler_option_0_requires_a_value_of_type_1,"extends","string"))}else{var u=i?directoryOfCombinedPath(i,n):n;c=getExtendsConfigPath(t.extends,r,u,a,e.createCompilerDiagnostic)}}return{raw:t,options:o,typeAcquisition:s,extendedConfigPath:c}}function parseOwnConfigOfJsonSourceFile(t,r,n,i,a){var o=getDefaultCompilerOptions(i);var s,c;var u;var l={onSetValidOptionKeyValueInParent:function(t,r,a){e.Debug.assert(t==="compilerOptions"||t==="typeAcquisition"||t==="typingOptions");var u=t==="compilerOptions"?o:t==="typeAcquisition"?s||(s=getDefaultTypeAcquisition(i)):c||(c=getDefaultTypeAcquisition(i));u[r.name]=normalizeOptionValue(r,n,a)},onSetValidOptionKeyValueInRoot:function(o,s,c,l){switch(o){case"extends":var f=i?directoryOfCombinedPath(i,n):n;u=getExtendsConfigPath(c,r,f,a,function(r,n){return e.createDiagnosticForNodeInSourceFile(t,l,r,n)});return}},onSetUnknownOptionKeyValueInRoot:function(r,n,i,o){if(r==="excludes"){a.push(e.createDiagnosticForNodeInSourceFile(t,n,e.Diagnostics.Unknown_option_excludes_Did_you_mean_exclude))}}};var f=convertToObjectWorker(t,a,true,getTsconfigRootOptionsMap(),l);if(!s){if(c){s=c.enableAutoDiscovery!==undefined?{enable:c.enableAutoDiscovery,include:c.include,exclude:c.exclude}:c}else{s=getDefaultTypeAcquisition(i)}}return{raw:f,options:o,typeAcquisition:s,extendedConfigPath:u}}function getExtendsConfigPath(t,r,n,i,a){t=e.normalizeSlashes(t);if(e.isRootedDiskPath(t)||e.startsWith(t,"./")||e.startsWith(t,"../")){var o=e.getNormalizedAbsolutePath(t,n);if(!r.fileExists(o)&&!e.endsWith(o,".json")){o=o+".json";if(!r.fileExists(o)){i.push(a(e.Diagnostics.File_0_does_not_exist,t));return undefined}}return o}var s=e.nodeModuleNameResolver(t,e.combinePaths(n,"tsconfig.json"),{moduleResolution:e.ModuleResolutionKind.NodeJs},r,undefined,undefined,true);if(s.resolvedModule){return s.resolvedModule.resolvedFileName}i.push(a(e.Diagnostics.File_0_does_not_exist,t));return undefined}function getExtendedConfig(t,r,n,i,a,o){var s;var c=readJsonConfigFile(r,function(e){return n.readFile(e)});if(t){t.extendedSourceFiles=[c.fileName]}if(c.parseDiagnostics.length){o.push.apply(o,c.parseDiagnostics);return undefined}var u=e.getDirectoryPath(r);var l=parseConfig(undefined,c,n,u,e.getBaseFileName(r),a,o);if(t&&c.extendedSourceFiles){(s=t.extendedSourceFiles).push.apply(s,c.extendedSourceFiles)}if(isSuccessfulParsedTsconfig(l)){var f=e.convertToRelativePath(u,i,e.identity);var d=function(t){return e.isRootedDiskPath(t)?t:e.combinePaths(f,t)};var p=function(t){if(g[t]){g[t]=e.map(g[t],d)}};var g=l.raw;p("include");p("exclude");p("files")}return l}function convertCompileOnSaveOptionFromJson(t,r,n){if(!e.hasProperty(t,e.compileOnSaveCommandLineOption.name)){return false}var i=convertJsonOption(e.compileOnSaveCommandLineOption,t.compileOnSave,r,n);return typeof i==="boolean"&&i}function convertCompilerOptionsFromJson(e,t,r){var n=[];var i=convertCompilerOptionsFromJsonWorker(e,t,n,r);return{options:i,errors:n}}e.convertCompilerOptionsFromJson=convertCompilerOptionsFromJson;function convertTypeAcquisitionFromJson(e,t,r){var n=[];var i=convertTypeAcquisitionFromJsonWorker(e,t,n,r);return{options:i,errors:n}}e.convertTypeAcquisitionFromJson=convertTypeAcquisitionFromJson;function getDefaultCompilerOptions(t){var r=t&&e.getBaseFileName(t)==="jsconfig.json"?{allowJs:true,maxNodeModuleJsDepth:2,allowSyntheticDefaultImports:true,skipLibCheck:true,noEmit:true}:{};return r}function convertCompilerOptionsFromJsonWorker(t,r,n,i){var a=getDefaultCompilerOptions(i);convertOptionsFromJson(e.optionDeclarations,t,r,a,e.Diagnostics.Unknown_compiler_option_0,n);if(i){a.configFilePath=e.normalizeSlashes(i)}return a}function getDefaultTypeAcquisition(t){return{enable:!!t&&e.getBaseFileName(t)==="jsconfig.json",include:[],exclude:[]}}function convertTypeAcquisitionFromJsonWorker(t,r,n,i){var a=getDefaultTypeAcquisition(i);var o=convertEnableAutoDiscoveryToEnable(t);convertOptionsFromJson(e.typeAcquisitionDeclarations,o,r,a,e.Diagnostics.Unknown_type_acquisition_option_0,n);return a}function convertOptionsFromJson(t,r,n,i,a,o){if(!r){return}var s=commandLineOptionsToMap(t);for(var c in r){var u=s.get(c);if(u){i[u.name]=convertJsonOption(u,r[c],n,o)}else{o.push(e.createCompilerDiagnostic(a,c))}}}function convertJsonOption(t,r,n,i){if(isCompilerOptionsValue(t,r)){var a=t.type;if(a==="list"&&e.isArray(r)){return convertJsonOptionOfListType(t,r,n,i)}else if(!e.isString(a)){return convertJsonOptionOfCustomType(t,r,i)}return normalizeNonListOptionValue(t,n,r)}else{i.push(e.createCompilerDiagnostic(e.Diagnostics.Compiler_option_0_requires_a_value_of_type_1,t.name,getCompilerOptionValueTypeString(t)))}}function normalizeOptionValue(t,r,n){if(isNullOrUndefined(n))return undefined;if(t.type==="list"){var i=t;if(i.element.isFilePath||!e.isString(i.element.type)){return e.filter(e.map(n,function(e){return normalizeOptionValue(i.element,r,e)}),function(e){return!!e})}return n}else if(!e.isString(t.type)){return t.type.get(e.isString(n)?n.toLowerCase():n)}return normalizeNonListOptionValue(t,r,n)}function normalizeNonListOptionValue(t,r,n){if(t.isFilePath){n=e.normalizePath(e.combinePaths(r,n));if(n===""){n="."}}return n}function convertJsonOptionOfCustomType(e,t,r){if(isNullOrUndefined(t))return undefined;var n=t.toLowerCase();var i=e.type.get(n);if(i!==undefined){return i}else{r.push(createCompilerDiagnosticForInvalidCustomType(e))}}function convertJsonOptionOfListType(t,r,n,i){return e.filter(e.map(r,function(e){return convertJsonOption(t.element,e,n,i)}),function(e){return!!e})}function trimString(e){return typeof e.trim==="function"?e.trim():e.replace(/^[\s]+|[\s]+$/g,"")}var a=/(^|\/)\*\*\/?$/;var o=/(^|\/)\*\*\/(.*\/)?\.\.($|\/)/;var s=/\/[^/]*?[*?][^/]*\//;var c=/^[^*?]*(?=\/[^/]*[*?])/;function matchFileNames(t,r,n,i,a,o,s,c,u){i=e.normalizePath(i);var l,f;if(r){l=validateSpecs(r,s,false,u,"include")}if(n){f=validateSpecs(n,s,true,u,"exclude")}var d=getWildcardDirectories(l,f,i,o.useCaseSensitiveFileNames);var p={filesSpecs:t,includeSpecs:r,excludeSpecs:n,validatedIncludeSpecs:l,validatedExcludeSpecs:f,wildcardDirectories:d};return getFileNamesFromConfigSpecs(p,i,a,o,c)}function getFileNamesFromConfigSpecs(t,r,n,i,a){if(a===void 0){a=[]}r=e.normalizePath(r);var o=i.useCaseSensitiveFileNames?e.identity:e.toLowerCase;var s=e.createMap();var c=e.createMap();var u=e.createMap();var l=t.filesSpecs,f=t.validatedIncludeSpecs,d=t.validatedExcludeSpecs,p=t.wildcardDirectories;var g=e.getSupportedExtensions(n,a);var _=e.getSuppoertedExtensionsWithJsonIfResolveJsonModule(n,g);if(l){for(var m=0,y=l;m0){var S=function(t){if(e.fileExtensionIs(t,".json")){if(!T){var n=f.filter(function(t){return e.endsWith(t,".json")});var a=e.map(e.getRegularExpressionsForWildcards(n,r,"files"),function(e){return"^"+e+"$"});T=a?a.map(function(t){return e.getRegexFromPattern(t,i.useCaseSensitiveFileNames)}):e.emptyArray}var l=e.findIndex(T,function(e){return e.test(t)});if(l!==-1){var d=o(t);if(!s.has(d)&&!u.has(d)){u.set(d,t)}}return"continue"}if(hasFileWithHigherPriorityExtension(t,s,c,g,o)){return"continue"}removeWildcardFilesWithLowerPriorityExtension(t,c,g,o);var p=o(t);if(!s.has(p)&&!c.has(p)){c.set(p,t)}};for(var b=0,x=i.readDirectory(r,_,d,f,undefined);bt.length){var d=f.substring(t.length+1);r=(e.forEach(e.supportedJSExtensions,function(t){return e.tryRemoveExtension(d,t)})||d)+".d.ts"}else{r="index.d.ts"}}}if(!e.endsWith(r,".d.ts")){r=addExtensionAndIndex(r)}var p=readPackageJsonTypesVersionPaths(u,i);var g=typeof u.name==="string"&&typeof u.version==="string"?{name:u.name,subModuleName:r,version:u.version}:undefined;if(o){if(g){trace(a,e.Diagnostics.Found_package_json_at_0_Package_ID_is_1,c,e.packageIdToString(g))}else{trace(a,e.Diagnostics.Found_package_json_at_0,c)}}return{packageJsonContent:u,packageId:g,versionPaths:p}}else{if(s&&o){trace(a,e.Diagnostics.File_0_does_not_exist,c)}i.failedLookupLocations.push(c)}}function loadNodeModuleFromDirectoryWorker(r,n,i,a,o,s){var c;if(o){switch(r){case t.JavaScript:case t.Json:c=readPackageJsonMainField(o,n,a);break;case t.TypeScript:c=readPackageJsonTypesFields(o,n,a)||readPackageJsonMainField(o,n,a);break;case t.DtsOnly:c=readPackageJsonTypesFields(o,n,a);break;case t.TSConfig:c=readPackageJsonTSConfigField(o,n,a);break;default:return e.Debug.assertNever(r)}}var u=function(r,n,i,a){var o=tryFile(n,i,a);if(o){var s=resolvedIfExtensionMatches(r,o);if(s){return noPackageId(s)}if(a.traceEnabled){trace(a.host,e.Diagnostics.File_0_has_an_unsupported_extension_so_skipping_it,o)}}var c=r===t.DtsOnly?t.TypeScript:r;return nodeLoadModuleByRelativeName(c,n,i,a,false)};var l=c?!e.directoryProbablyExists(e.getDirectoryPath(c),a.host):undefined;var f=i||!e.directoryProbablyExists(n,a.host);var d=e.combinePaths(n,r===t.TSConfig?"tsconfig":"index");if(s&&(!c||e.containsPath(n,c))){var p=e.getRelativePathFromDirectory(n,c||d,false);if(a.traceEnabled){trace(a.host,e.Diagnostics.package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2,s.version,e.version,p)}var g=tryLoadModuleUsingPaths(r,p,n,s.paths,u,l||f,a);if(g){return removeIgnoredPackageId(g.value)}}var _=c&&removeIgnoredPackageId(u(r,c,l,a));if(_)return _;return loadModuleFromFile(r,d,f,a)}function resolvedIfExtensionMatches(t,r){var n=e.tryGetExtensionFromPath(r);return n!==undefined&&extensionIsOk(t,n)?{path:r,ext:n}:undefined}function extensionIsOk(e,r){switch(e){case t.JavaScript:return r===".js"||r===".jsx";case t.TSConfig:case t.Json:return r===".json";case t.TypeScript:return r===".ts"||r===".tsx"||r===".d.ts";case t.DtsOnly:return r===".d.ts"}}function parsePackageName(t){var r=t.indexOf(e.directorySeparator);if(t[0]==="@"){r=t.indexOf(e.directorySeparator,r+1)}return r===-1?{packageName:t,rest:""}:{packageName:t.slice(0,r),rest:t.slice(r+1)}}e.parsePackageName=parsePackageName;function loadModuleFromNearestNodeModulesDirectory(e,t,r,n,i,a){return loadModuleFromNearestNodeModulesDirectoryWorker(e,t,r,n,false,i,a)}function loadModuleFromNearestNodeModulesDirectoryTypesScope(e,r,n){return loadModuleFromNearestNodeModulesDirectoryWorker(t.DtsOnly,e,r,n,true,undefined,undefined)}function loadModuleFromNearestNodeModulesDirectoryWorker(t,r,n,i,a,o,s){var c=o&&o.getOrCreateCacheForModuleName(r,s);return e.forEachAncestorDirectory(e.normalizeSlashes(n),function(n){if(e.getBaseFileName(n)!=="node_modules"){var o=tryFindNonRelativeModuleNameInCache(c,r,n,i);if(o){return o}return toSearchResult(loadModuleFromImmediateNodeModulesDirectory(t,r,n,i,a))}})}function loadModuleFromImmediateNodeModulesDirectory(r,n,i,a,o){var s=e.combinePaths(i,"node_modules");var c=e.directoryProbablyExists(s,a.host);if(!c&&a.traceEnabled){trace(a.host,e.Diagnostics.Directory_0_does_not_exist_skipping_all_lookups_in_it,s)}var u=o?undefined:loadModuleFromSpecificNodeModulesDirectory(r,n,s,c,a);if(u){return u}if(r===t.TypeScript||r===t.DtsOnly){var l=e.combinePaths(s,"@types");var f=c;if(c&&!e.directoryProbablyExists(l,a.host)){if(a.traceEnabled){trace(a.host,e.Diagnostics.Directory_0_does_not_exist_skipping_all_lookups_in_it,l)}f=false}return loadModuleFromSpecificNodeModulesDirectory(t.DtsOnly,mangleScopedPackageNameWithTrace(n,a),l,f,a)}}function loadModuleFromSpecificNodeModulesDirectory(t,r,n,i,a){var o=e.normalizePath(e.combinePaths(n,r));var s;var c;var u;var l=getPackageJsonInfo(o,"",!i,a);if(l){s=l.packageJsonContent,c=l.packageId,u=l.versionPaths;var f=loadModuleFromFile(t,o,!i,a);if(f){return noPackageId(f)}var d=loadNodeModuleFromDirectoryWorker(t,o,!i,a,s,u);return withPackageId(c,d)}var p=function(e,t,r,n){var i=loadModuleFromFile(e,t,r,n)||loadNodeModuleFromDirectoryWorker(e,t,r,n,s,u);return withPackageId(c,i)};var g=parsePackageName(r),_=g.packageName,m=g.rest;if(m!==""){var y=e.combinePaths(n,_);var h=getPackageJsonInfo(y,m,!i,a);if(h)c=h.packageId,u=h.versionPaths;if(u){if(a.traceEnabled){trace(a.host,e.Diagnostics.package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2,u.version,e.version,m)}var v=i&&e.directoryProbablyExists(y,a.host);var T=tryLoadModuleUsingPaths(t,m,y,u.paths,p,!v,a);if(T){return T.value}}}return p(t,o,!i,a)}function tryLoadModuleUsingPaths(t,r,n,i,a,o,s){var c=e.matchPatternOrExact(e.getOwnKeys(i),r);if(c){var u=e.isString(c)?undefined:e.matchedText(c,r);var l=e.isString(c)?c:e.patternText(c);if(s.traceEnabled){trace(s.host,e.Diagnostics.Module_name_0_matched_pattern_1,r,l)}var f=e.forEach(i[l],function(r){var i=u?r.replace("*",u):r;var c=e.normalizePath(e.combinePaths(n,i));if(s.traceEnabled){trace(s.host,e.Diagnostics.Trying_substitution_0_candidate_module_location_Colon_1,r,i)}var l=e.tryGetExtensionFromPath(c);if(l!==undefined){var f=tryFile(c,o,s);if(f!==undefined){return noPackageId({path:f,ext:l})}}return a(t,c,o||!e.directoryProbablyExists(e.getDirectoryPath(c),s.host),s)});return{value:f}}}var u="__";function mangleScopedPackageNameWithTrace(t,r){var n=mangleScopedPackageName(t);if(r.traceEnabled&&n!==t){trace(r.host,e.Diagnostics.Scoped_package_detected_looking_in_0,n)}return n}function getTypesPackageName(e){return"@types/"+mangleScopedPackageName(e)}e.getTypesPackageName=getTypesPackageName;function mangleScopedPackageName(t){if(e.startsWith(t,"@")){var r=t.replace(e.directorySeparator,u);if(r!==t){return r.slice(1)}}return t}e.mangleScopedPackageName=mangleScopedPackageName;function getPackageNameFromTypesPackageName(t){var r=e.removePrefix(t,"@types/");if(r!==t){return unmangleScopedPackageName(r)}return t}e.getPackageNameFromTypesPackageName=getPackageNameFromTypesPackageName;function unmangleScopedPackageName(t){return e.stringContains(t,u)?"@"+t.replace(u,e.directorySeparator):t}e.unmangleScopedPackageName=unmangleScopedPackageName;function tryFindNonRelativeModuleNameInCache(t,r,n,i){var a;var o=t&&t.get(n);if(o){if(i.traceEnabled){trace(i.host,e.Diagnostics.Resolution_for_module_0_was_found_in_cache_from_location_1,r,n)}(a=i.failedLookupLocations).push.apply(a,o.failedLookupLocations);return{value:o.resolvedModule&&{path:o.resolvedModule.resolvedFileName,originalPath:o.resolvedModule.originalPath||true,extension:o.resolvedModule.extension,packageId:o.resolvedModule.packageId}}}}function classicNameResolver(r,n,i,a,o,s){var c=isTraceEnabled(i,a);var u=[];var l={compilerOptions:i,host:a,traceEnabled:c,failedLookupLocations:u};var f=e.getDirectoryPath(n);var d=tryResolve(t.TypeScript)||tryResolve(t.JavaScript);return createResolvedModuleWithFailedLookupLocations(d&&d.value,false,u);function tryResolve(n){var i=tryLoadModuleUsingOptionalResolutionSettings(n,r,f,loadModuleFromFileNoPackageId,l);if(i){return{value:i}}if(!e.isExternalModuleNameRelative(r)){var a=o&&o.getOrCreateCacheForModuleName(r,s);var c=e.forEachAncestorDirectory(f,function(t){var i=tryFindNonRelativeModuleNameInCache(a,r,t,l);if(i){return i}var o=e.normalizePath(e.combinePaths(t,r));return toSearchResult(loadModuleFromFileNoPackageId(n,o,false,l))});if(c){return c}if(n===t.TypeScript){return loadModuleFromNearestNodeModulesDirectoryTypesScope(r,f,l)}}else{var u=e.normalizePath(e.combinePaths(f,r));return toSearchResult(loadModuleFromFileNoPackageId(n,u,false,l))}}}e.classicNameResolver=classicNameResolver;function loadModuleFromGlobalCache(r,n,i,a,o){var s=isTraceEnabled(i,a);if(s){trace(a,e.Diagnostics.Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using_cache_location_2,n,r,o)}var c=[];var u={compilerOptions:i,host:a,traceEnabled:s,failedLookupLocations:c};var l=loadModuleFromImmediateNodeModulesDirectory(t.DtsOnly,r,o,u,false);return createResolvedModuleWithFailedLookupLocations(l,true,c)}e.loadModuleFromGlobalCache=loadModuleFromGlobalCache;function toSearchResult(e){return e!==undefined?{value:e}:undefined}})(s||(s={}));var s;(function(e){var t;(function(e){e[e["NonInstantiated"]=0]="NonInstantiated";e[e["Instantiated"]=1]="Instantiated";e[e["ConstEnumOnly"]=2]="ConstEnumOnly"})(t=e.ModuleInstanceState||(e.ModuleInstanceState={}));function getModuleInstanceState(e){return e.body?getModuleInstanceStateWorker(e.body):1}e.getModuleInstanceState=getModuleInstanceState;function getModuleInstanceStateWorker(t){switch(t.kind){case 241:case 242:return 0;case 243:if(e.isEnumConst(t)){return 2}break;case 249:case 248:if(!e.hasModifier(t,1)){return 0}break;case 245:{var r=0;e.forEachChild(t,function(t){var n=getModuleInstanceStateWorker(t);switch(n){case 0:return;case 2:r=2;return;case 1:r=1;return true;default:e.Debug.assertNever(n)}});return r}case 244:return getModuleInstanceState(t);case 72:if(t.isInJSDocNamespace){return 0}}return 1}var r;(function(e){e[e["None"]=0]="None";e[e["IsContainer"]=1]="IsContainer";e[e["IsBlockScopedContainer"]=2]="IsBlockScopedContainer";e[e["IsControlFlowContainer"]=4]="IsControlFlowContainer";e[e["IsFunctionLike"]=8]="IsFunctionLike";e[e["IsFunctionExpression"]=16]="IsFunctionExpression";e[e["HasLocals"]=32]="HasLocals";e[e["IsInterface"]=64]="IsInterface";e[e["IsObjectLiteralOrClassExpressionMethod"]=128]="IsObjectLiteralOrClassExpressionMethod"})(r||(r={}));var i=createBinder();function bindSourceFile(t,r){e.performance.mark("beforeBind");i(t,r);e.performance.mark("afterBind");e.performance.measure("Bind","beforeBind","afterBind")}e.bindSourceFile=bindSourceFile;function createBinder(){var t;var r;var i;var a;var o;var s;var c;var u;var l;var f;var d;var p;var g;var _;var m;var y;var h;var v;var T;var S;var b;var x=0;var C;var E;var D={flags:1};var k={flags:1};var N=0;var A;function createDiagnosticForNode(r,n,i,a,o){return e.createDiagnosticForNodeInSourceFile(e.getSourceFileOfNode(r)||t,r,n,i,a,o)}function bindSourceFile(n,h){t=n;r=h;i=e.getEmitScriptTarget(r);b=bindInStrictMode(t,h);E=e.createUnderscoreEscapedMap();x=0;A=t.isDeclarationFile;C=e.objectAllocator.getSymbolConstructor();if(!t.locals){bind(t);t.symbolCount=x;t.classifiableNames=E;delayedBindJSDocTypedefTag()}t=undefined;r=undefined;i=undefined;a=undefined;o=undefined;s=undefined;c=undefined;u=undefined;l=undefined;f=false;d=undefined;p=undefined;g=undefined;_=undefined;m=undefined;y=undefined;v=undefined;T=false;S=0;N=0}return bindSourceFile;function bindInStrictMode(t,r){if(e.getStrictOptionValue(r,"alwaysStrict")&&!t.isDeclarationFile){return true}else{return!!t.externalModuleIndicator}}function createSymbol(e,t){x++;return new C(e,t)}function addDeclarationToSymbol(t,r,n){t.flags|=n;r.symbol=t;t.declarations=e.append(t.declarations,r);if(n&(32|384|1536|3)&&!t.exports){t.exports=e.createSymbolTable()}if(n&(32|64|2048|4096)&&!t.members){t.members=e.createSymbolTable()}if(n&67220415){setValueDeclaration(t,r)}}function setValueDeclaration(t,r){var n=t.valueDeclaration;if(!n||e.isAssignmentDeclaration(n)&&!e.isAssignmentDeclaration(r)||n.kind!==r.kind&&e.isEffectiveModuleDeclaration(n)){t.valueDeclaration=r}}function getDeclarationName(t){if(t.kind===254){return t.isExportEquals?"export=":"default"}var r=e.getNameOfDeclaration(t);if(r){if(e.isAmbientModule(t)){var n=e.getTextOfIdentifierOrLiteral(r);return e.isGlobalScopeAugmentation(t)?"__global":'"'+n+'"'}if(r.kind===149){var i=r.expression;if(e.isStringOrNumericLiteralLike(i)){return e.escapeLeadingUnderscores(i.text)}e.Debug.assert(e.isWellKnownSymbolSyntactically(i));return e.getPropertyNameForKnownSymbolName(e.idText(i.name))}return e.isPropertyNameLiteral(r)?e.getEscapedTextOfIdentifierOrLiteral(r):undefined}switch(t.kind){case 157:return"__constructor";case 165:case 160:case 293:return"__call";case 166:case 161:return"__new";case 162:return"__index";case 255:return"__export";case 279:return"export=";case 204:if(e.getAssignmentDeclarationKind(t)===2){return"export="}e.Debug.fail("Unknown binary declaration kind");break;case 289:return e.isJSDocConstructSignature(t)?"__new":"__call";case 151:e.Debug.assert(t.parent.kind===289,"Impossible parameter parent kind",function(){return"parent is: "+(e.SyntaxKind?e.SyntaxKind[t.parent.kind]:t.parent.kind)+", expected JSDocFunctionType"});var a=t.parent;var o=a.parameters.indexOf(t);return"arg"+o}}function getDisplayName(t){return e.isNamedDeclaration(t)?e.declarationNameToString(t.name):e.unescapeLeadingUnderscores(e.Debug.assertDefined(getDeclarationName(t)))}function declareSymbol(r,n,i,a,o,s){e.Debug.assert(!e.hasDynamicName(i));var c=e.hasModifier(i,512);var u=c&&n?"default":getDeclarationName(i);var l;if(u===undefined){l=createSymbol(0,"__missing")}else{l=r.get(u);if(a&2885600){E.set(u,true)}if(!l){r.set(u,l=createSymbol(0,u));if(s)l.isReplaceableByMethod=true}else if(s&&!l.isReplaceableByMethod){return l}else if(l.flags&o){if(l.isReplaceableByMethod){r.set(u,l=createSymbol(0,u))}else if(!(a&3&&l.flags&67108864)){if(e.isNamedDeclaration(i)){i.name.parent=i}var f=l.flags&2?e.Diagnostics.Cannot_redeclare_block_scoped_variable_0:e.Diagnostics.Duplicate_identifier_0;var d=true;if(l.flags&384||a&384){f=e.Diagnostics.Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations;d=false}if(l.declarations&&l.declarations.length){if(c){f=e.Diagnostics.A_module_cannot_have_multiple_default_exports;d=false}else{if(l.declarations&&l.declarations.length&&(i.kind===254&&!i.isExportEquals)){f=e.Diagnostics.A_module_cannot_have_multiple_default_exports;d=false}}}var p=function(r){t.bindDiagnostics.push(createDiagnosticForNode(e.getNameOfDeclaration(r)||r,f,d?getDisplayName(r):undefined))};e.forEach(l.declarations,p);p(i);l=createSymbol(0,u)}}}addDeclarationToSymbol(l,i,a);if(l.parent){e.Debug.assert(l.parent===n,"Existing symbol parent should match new one")}else{l.parent=n}return l}function declareModuleMember(t,r,n){var i=e.getCombinedModifierFlags(t)&1;if(r&2097152){if(t.kind===257||t.kind===248&&i){return declareSymbol(o.symbol.exports,o.symbol,t,r,n)}else{return declareSymbol(o.locals,undefined,t,r,n)}}else{if(e.isJSDocTypeAlias(t))e.Debug.assert(e.isInJSFile(t));if(!e.isAmbientModule(t)&&(i||o.flags&32)||e.isJSDocTypeAlias(t)){if(e.hasModifier(t,512)&&!getDeclarationName(t)){return declareSymbol(o.symbol.exports,o.symbol,t,r,n)}var a=r&67220415?1048576:0;var s=declareSymbol(o.locals,undefined,t,a,n);s.exportSymbol=declareSymbol(o.symbol.exports,o.symbol,t,r,n);t.localSymbol=s;return s}else{return declareSymbol(o.locals,undefined,t,r,n)}}}function bindContainer(t,r){var n=o;var i=s;var a=c;if(r&1){if(t.kind!==197){s=o}o=c=t;if(r&32){o.locals=e.createSymbolTable()}addToContainerChain(o)}else if(r&2){c=t;c.locals=undefined}if(r&4){var u=d;var l=p;var m=g;var y=_;var h=v;var b=T;var x=r&16&&!e.hasModifier(t,256)&&!t.asteriskToken&&!!e.getImmediatelyInvokedFunctionExpression(t);if(!x){d={flags:2};if(r&(16|128)){d.container=t}}_=x||t.kind===157?createBranchLabel():undefined;p=undefined;g=undefined;v=undefined;T=false;bindChildren(t);t.flags&=~1408;if(!(d.flags&1)&&r&8&&e.nodeIsPresent(t.body)){t.flags|=128;if(T)t.flags|=256}if(t.kind===279){t.flags|=S}if(_){addAntecedent(_,d);d=finishFlowLabel(_);if(t.kind===157){t.returnFlowNode=d}}if(!x){d=u}p=l;g=m;_=y;v=h;T=b}else if(r&64){f=false;bindChildren(t);t.flags=f?t.flags|64:t.flags&~64}else{bindChildren(t)}o=n;s=i;c=a}function bindChildren(e){if(A){bindChildrenWorker(e)}else if(e.transformFlags&536870912){A=true;bindChildrenWorker(e);A=false;N|=e.transformFlags&~getTransformFlagsSubtreeExclusions(e.kind)}else{var t=N;N=0;bindChildrenWorker(e);N=t|computeTransformFlagsForNode(e,N)}}function bindEachFunctionsFirst(e){bindEach(e,function(e){return e.kind===239?bind(e):undefined});bindEach(e,function(e){return e.kind!==239?bind(e):undefined})}function bindEach(t,r){if(r===void 0){r=bind}if(t===undefined){return}if(A){e.forEach(t,r)}else{var n=N;N=0;var i=0;for(var a=0,o=t;a=109&&r.originalKeywordKind<=117&&!e.isIdentifierName(r)&&!(r.flags&4194304)){if(!t.parseDiagnostics.length){t.bindDiagnostics.push(createDiagnosticForNode(r,getStrictModeIdentifierMessage(r),e.declarationNameToString(r)))}}}function getStrictModeIdentifierMessage(r){if(e.getContainingClass(r)){return e.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode}if(t.externalModuleIndicator){return e.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode}return e.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode}function checkStrictModeBinaryExpression(t){if(b&&e.isLeftHandSideExpression(t.left)&&e.isAssignmentOperator(t.operatorToken.kind)){checkStrictModeEvalOrArguments(t,t.left)}}function checkStrictModeCatchClause(e){if(b&&e.variableDeclaration){checkStrictModeEvalOrArguments(e,e.variableDeclaration.name)}}function checkStrictModeDeleteExpression(r){if(b&&r.expression.kind===72){var n=e.getErrorSpanForNode(t,r.expression);t.bindDiagnostics.push(e.createFileDiagnostic(t,n.start,n.length,e.Diagnostics.delete_cannot_be_called_on_an_identifier_in_strict_mode))}}function isEvalOrArgumentsIdentifier(t){return e.isIdentifier(t)&&(t.escapedText==="eval"||t.escapedText==="arguments")}function checkStrictModeEvalOrArguments(r,n){if(n&&n.kind===72){var i=n;if(isEvalOrArgumentsIdentifier(i)){var a=e.getErrorSpanForNode(t,n);t.bindDiagnostics.push(e.createFileDiagnostic(t,a.start,a.length,getStrictModeEvalOrArgumentsMessage(r),e.idText(i)))}}}function getStrictModeEvalOrArgumentsMessage(r){if(e.getContainingClass(r)){return e.Diagnostics.Invalid_use_of_0_Class_definitions_are_automatically_in_strict_mode}if(t.externalModuleIndicator){return e.Diagnostics.Invalid_use_of_0_Modules_are_automatically_in_strict_mode}return e.Diagnostics.Invalid_use_of_0_in_strict_mode}function checkStrictModeFunctionName(e){if(b){checkStrictModeEvalOrArguments(e,e.name)}}function getStrictModeBlockScopeFunctionDeclarationMessage(r){if(e.getContainingClass(r)){return e.Diagnostics.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_definitions_are_automatically_in_strict_mode}if(t.externalModuleIndicator){return e.Diagnostics.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_are_automatically_in_strict_mode}return e.Diagnostics.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5}function checkStrictModeFunctionDeclaration(r){if(i<2){if(c.kind!==279&&c.kind!==244&&!e.isFunctionLike(c)){var n=e.getErrorSpanForNode(t,r);t.bindDiagnostics.push(e.createFileDiagnostic(t,n.start,n.length,getStrictModeBlockScopeFunctionDeclarationMessage(r)))}}}function checkStrictModeNumericLiteral(r){if(b&&r.numericLiteralFlags&32){t.bindDiagnostics.push(createDiagnosticForNode(r,e.Diagnostics.Octal_literals_are_not_allowed_in_strict_mode))}}function checkStrictModePostfixUnaryExpression(e){if(b){checkStrictModeEvalOrArguments(e,e.operand)}}function checkStrictModePrefixUnaryExpression(e){if(b){if(e.operator===44||e.operator===45){checkStrictModeEvalOrArguments(e,e.operand)}}}function checkStrictModeWithStatement(t){if(b){errorOnFirstToken(t,e.Diagnostics.with_statements_are_not_allowed_in_strict_mode)}}function checkStrictModeLabeledStatement(t){if(b&&r.target>=2){if(e.isDeclarationStatement(t.statement)||e.isVariableStatement(t.statement)){errorOnFirstToken(t.label,e.Diagnostics.A_label_is_not_allowed_here)}}}function errorOnFirstToken(r,n,i,a,o){var s=e.getSpanOfTokenAtPosition(t,r.pos);t.bindDiagnostics.push(e.createFileDiagnostic(t,s.start,s.length,n,i,a,o))}function errorOrSuggestionOnNode(e,t,r){errorOrSuggestionOnRange(e,t,t,r)}function errorOrSuggestionOnRange(r,n,i,a){addErrorOrSuggestionDiagnostic(r,{pos:e.getTokenPosOfNode(n,t),end:i.end},a)}function addErrorOrSuggestionDiagnostic(r,i,a){var o=e.createFileDiagnostic(t,i.pos,i.end-i.pos,a);if(r){t.bindDiagnostics.push(o)}else{t.bindSuggestionDiagnostics=e.append(t.bindSuggestionDiagnostics,n({},o,{category:e.DiagnosticCategory.Suggestion}))}}function bind(e){if(!e){return}e.parent=a;var t=b;bindWorker(e);if(e.kind>147){var r=a;a=e;var n=getContainerFlags(e);if(n===0){bindChildren(e)}else{bindContainer(e,n)}a=r}else if(!A&&(e.transformFlags&536870912)===0){N|=computeTransformFlagsForNode(e,0);var r=a;if(e.kind===1)a=e;bindJSDoc(e);a=r}b=t}function bindJSDoc(t){if(e.hasJSDocNodes(t)){if(e.isInJSFile(t)){for(var r=0,n=t.jsDoc;r=163&&e<=183){return-3}switch(e){case 191:case 192:case 187:return 637666625;case 244:return 647001409;case 151:return 637535553;case 197:return 653604161;case 196:case 239:return 653620545;case 238:return 639894849;case 240:case 209:return 638121281;case 157:return 653616449;case 156:case 158:case 159:return 653616449;case 120:case 135:case 146:case 132:case 138:case 136:case 123:case 139:case 106:case 150:case 153:case 155:case 160:case 161:case 162:case 241:case 242:return-3;case 188:return 638358849;case 274:return 637797697;case 184:case 185:return 637666625;case 194:case 212:case 308:case 195:case 98:return 536872257;case 189:case 190:return 570426689;default:return 637535553}}e.getTransformFlagsSubtreeExclusions=getTransformFlagsSubtreeExclusions;function setParentPointers(t,r){r.parent=t;e.forEachChild(r,function(e){return setParentPointers(r,e)})}})(s||(s={}));var s;(function(e){function createGetSymbolWalker(t,r,n,i,a,o,s,c,u,l){return getSymbolWalker;function getSymbolWalker(f){if(f===void 0){f=function(){return true}}var d=[];var p=[];return{walkType:function(t){try{visitType(t);return{visitedTypes:e.getOwnValues(d),visitedSymbols:e.getOwnValues(p)}}finally{e.clear(d);e.clear(p)}},walkSymbol:function(t){try{visitSymbol(t);return{visitedTypes:e.getOwnValues(d),visitedSymbols:e.getOwnValues(p)}}finally{e.clear(d);e.clear(p)}}};function visitType(e){if(!e){return}if(d[e.id]){return}d[e.id]=e;var t=visitSymbol(e.symbol);if(t)return;if(e.flags&524288){var r=e;var n=r.objectFlags;if(n&4){visitTypeReference(e)}if(n&32){visitMappedType(e)}if(n&(1|2)){visitInterfaceType(e)}if(n&(8|16)){visitObjectType(r)}}if(e.flags&262144){visitTypeParameter(e)}if(e.flags&3145728){visitUnionOrIntersectionType(e)}if(e.flags&4194304){visitIndexType(e)}if(e.flags&8388608){visitIndexedAccessType(e)}}function visitTypeReference(t){visitType(t.target);e.forEach(t.typeArguments,visitType)}function visitTypeParameter(e){visitType(u(e))}function visitUnionOrIntersectionType(t){e.forEach(t.types,visitType)}function visitIndexType(e){visitType(e.type)}function visitIndexedAccessType(e){visitType(e.objectType);visitType(e.indexType);visitType(e.constraint)}function visitMappedType(e){visitType(e.typeParameter);visitType(e.constraintType);visitType(e.templateType);visitType(e.modifiersType)}function visitSignature(i){var a=r(i);if(a){visitType(a.type)}e.forEach(i.typeParameters,visitType);for(var o=0,s=i.parameters;o>",0,X);var Le=createSignature(undefined,undefined,undefined,e.emptyArray,X,undefined,0,false,false);var Re=createSignature(undefined,undefined,undefined,e.emptyArray,ee,undefined,0,false,false);var Be=createSignature(undefined,undefined,undefined,e.emptyArray,X,undefined,0,false,false);var je=createSignature(undefined,undefined,undefined,e.emptyArray,ye,undefined,0,false,false);var Je=createIndexInfo(oe,true);var We=e.createSymbolTable();var Ue;var ze=e.createMap();var Ve;var Ke;var Ge;var qe;var He;var Qe;var $e;var Xe;var Ye;var Ze;var et;var tt;var rt;var nt;var it;var at;var ot;var st;var ct;var ut;var lt;var ft;var dt;var pt;var gt;var _t;var mt;var yt;var ht;var vt;var Tt;var St;var bt;var xt;var Ct;var Et;var Dt=e.createMap();var kt=0;var Nt=0;var At=0;var Ot=false;var Ft=getLiteralType("");var Pt=getLiteralType(0);var It=getLiteralType({negative:false,base10Value:"0"});var wt=[];var Mt=[];var Lt=[];var Rt=0;var Bt=10;var jt=[];var Jt=[];var Wt=[];var Ut=[];var zt=[];var Vt=[];var Kt=[];var Gt=[];var qt=[];var Ht=[];var Qt=[];var $t=[];var Xt=e.createDiagnosticCollection();var Yt=e.createMultiMap();var Zt;(function(e){e[e["None"]=0]="None";e[e["TypeofEQString"]=1]="TypeofEQString";e[e["TypeofEQNumber"]=2]="TypeofEQNumber";e[e["TypeofEQBigInt"]=4]="TypeofEQBigInt";e[e["TypeofEQBoolean"]=8]="TypeofEQBoolean";e[e["TypeofEQSymbol"]=16]="TypeofEQSymbol";e[e["TypeofEQObject"]=32]="TypeofEQObject";e[e["TypeofEQFunction"]=64]="TypeofEQFunction";e[e["TypeofEQHostObject"]=128]="TypeofEQHostObject";e[e["TypeofNEString"]=256]="TypeofNEString";e[e["TypeofNENumber"]=512]="TypeofNENumber";e[e["TypeofNEBigInt"]=1024]="TypeofNEBigInt";e[e["TypeofNEBoolean"]=2048]="TypeofNEBoolean";e[e["TypeofNESymbol"]=4096]="TypeofNESymbol";e[e["TypeofNEObject"]=8192]="TypeofNEObject";e[e["TypeofNEFunction"]=16384]="TypeofNEFunction";e[e["TypeofNEHostObject"]=32768]="TypeofNEHostObject";e[e["EQUndefined"]=65536]="EQUndefined";e[e["EQNull"]=131072]="EQNull";e[e["EQUndefinedOrNull"]=262144]="EQUndefinedOrNull";e[e["NEUndefined"]=524288]="NEUndefined";e[e["NENull"]=1048576]="NENull";e[e["NEUndefinedOrNull"]=2097152]="NEUndefinedOrNull";e[e["Truthy"]=4194304]="Truthy";e[e["Falsy"]=8388608]="Falsy";e[e["All"]=16777215]="All";e[e["BaseStringStrictFacts"]=3735041]="BaseStringStrictFacts";e[e["BaseStringFacts"]=12582401]="BaseStringFacts";e[e["StringStrictFacts"]=16317953]="StringStrictFacts";e[e["StringFacts"]=16776705]="StringFacts";e[e["EmptyStringStrictFacts"]=12123649]="EmptyStringStrictFacts";e[e["EmptyStringFacts"]=12582401]="EmptyStringFacts";e[e["NonEmptyStringStrictFacts"]=7929345]="NonEmptyStringStrictFacts";e[e["NonEmptyStringFacts"]=16776705]="NonEmptyStringFacts";e[e["BaseNumberStrictFacts"]=3734786]="BaseNumberStrictFacts";e[e["BaseNumberFacts"]=12582146]="BaseNumberFacts";e[e["NumberStrictFacts"]=16317698]="NumberStrictFacts";e[e["NumberFacts"]=16776450]="NumberFacts";e[e["ZeroNumberStrictFacts"]=12123394]="ZeroNumberStrictFacts";e[e["ZeroNumberFacts"]=12582146]="ZeroNumberFacts";e[e["NonZeroNumberStrictFacts"]=7929090]="NonZeroNumberStrictFacts";e[e["NonZeroNumberFacts"]=16776450]="NonZeroNumberFacts";e[e["BaseBigIntStrictFacts"]=3734276]="BaseBigIntStrictFacts";e[e["BaseBigIntFacts"]=12581636]="BaseBigIntFacts";e[e["BigIntStrictFacts"]=16317188]="BigIntStrictFacts";e[e["BigIntFacts"]=16775940]="BigIntFacts";e[e["ZeroBigIntStrictFacts"]=12122884]="ZeroBigIntStrictFacts";e[e["ZeroBigIntFacts"]=12581636]="ZeroBigIntFacts";e[e["NonZeroBigIntStrictFacts"]=7928580]="NonZeroBigIntStrictFacts";e[e["NonZeroBigIntFacts"]=16775940]="NonZeroBigIntFacts";e[e["BaseBooleanStrictFacts"]=3733256]="BaseBooleanStrictFacts";e[e["BaseBooleanFacts"]=12580616]="BaseBooleanFacts";e[e["BooleanStrictFacts"]=16316168]="BooleanStrictFacts";e[e["BooleanFacts"]=16774920]="BooleanFacts";e[e["FalseStrictFacts"]=12121864]="FalseStrictFacts";e[e["FalseFacts"]=12580616]="FalseFacts";e[e["TrueStrictFacts"]=7927560]="TrueStrictFacts";e[e["TrueFacts"]=16774920]="TrueFacts";e[e["SymbolStrictFacts"]=7925520]="SymbolStrictFacts";e[e["SymbolFacts"]=16772880]="SymbolFacts";e[e["ObjectStrictFacts"]=7888800]="ObjectStrictFacts";e[e["ObjectFacts"]=16736160]="ObjectFacts";e[e["FunctionStrictFacts"]=7880640]="FunctionStrictFacts";e[e["FunctionFacts"]=16728e3]="FunctionFacts";e[e["UndefinedFacts"]=9830144]="UndefinedFacts";e[e["NullFacts"]=9363232]="NullFacts";e[e["EmptyObjectStrictFacts"]=16318463]="EmptyObjectStrictFacts";e[e["EmptyObjectFacts"]=16777215]="EmptyObjectFacts"})(Zt||(Zt={}));var er=e.createMapFromTemplate({string:1,number:2,bigint:4,boolean:8,symbol:16,undefined:65536,object:32,function:64});var tr=e.createMapFromTemplate({string:256,number:512,bigint:1024,boolean:2048,symbol:4096,undefined:524288,object:8192,function:16384});var rr=e.createMapFromTemplate({string:oe,number:se,bigint:ce,boolean:pe,symbol:ge,undefined:re});var nr=createTypeofType();var ir;var ar;var or=e.createMap();var sr=e.createMap();var cr=e.createMap();var ur=e.createMap();var lr=e.createMap();var fr=e.createMap();var dr;(function(e){e[e["Type"]=0]="Type";e[e["ResolvedBaseConstructorType"]=1]="ResolvedBaseConstructorType";e[e["DeclaredType"]=2]="DeclaredType";e[e["ResolvedReturnType"]=3]="ResolvedReturnType";e[e["ImmediateBaseConstraint"]=4]="ImmediateBaseConstraint";e[e["EnumTagType"]=5]="EnumTagType";e[e["JSDocTypeReference"]=6]="JSDocTypeReference"})(dr||(dr={}));var pr;(function(e){e[e["Normal"]=0]="Normal";e[e["SkipContextSensitive"]=1]="SkipContextSensitive";e[e["Inferential"]=2]="Inferential";e[e["Contextual"]=3]="Contextual"})(pr||(pr={}));var gr;(function(e){e[e["None"]=0]="None";e[e["Bivariant"]=1]="Bivariant";e[e["Strict"]=2]="Strict"})(gr||(gr={}));var _r;(function(e){e[e["IncludeReadonly"]=1]="IncludeReadonly";e[e["ExcludeReadonly"]=2]="ExcludeReadonly";e[e["IncludeOptional"]=4]="IncludeOptional";e[e["ExcludeOptional"]=8]="ExcludeOptional"})(_r||(_r={}));var mr;(function(e){e[e["None"]=0]="None";e[e["Source"]=1]="Source";e[e["Target"]=2]="Target";e[e["Both"]=3]="Both"})(mr||(mr={}));var yr;(function(e){e["resolvedExports"]="resolvedExports";e["resolvedMembers"]="resolvedMembers"})(yr||(yr={}));var hr;(function(e){e[e["Local"]=0]="Local";e[e["Parameter"]=1]="Parameter"})(hr||(hr={}));var vr=e.createSymbolTable();vr.set(R.escapedName,R);var Tr=e.and(isNotOverload,isNotAccessor);initializeTypeChecker();return W;function getJsxNamespace(t){if(t){var r=e.getSourceFileOfNode(t);if(r){if(r.localJsxNamespace){return r.localJsxNamespace}var n=r.pragmas.get("jsx");if(n){var i=e.isArray(n)?n[0]:n;r.localJsxFactory=e.parseIsolatedEntityName(i.arguments.factory,C);if(r.localJsxFactory){return r.localJsxNamespace=getFirstIdentifier(r.localJsxFactory).escapedText}}}}if(!ir){ir="React";if(x.jsxFactory){ar=e.parseIsolatedEntityName(x.jsxFactory,C);if(ar){ir=getFirstIdentifier(ar).escapedText}}else if(x.reactNamespace){ir=e.escapeLeadingUnderscores(x.reactNamespace)}}return ir}function getEmitResolver(e,t){getDiagnostics(e,t);return M}function lookupOrIssueError(t,r,n,i,a,o){var s=t?e.createDiagnosticForNode(t,r,n,i,a,o):e.createCompilerDiagnostic(r,n,i,a,o);var c=Xt.lookup(s);if(c){return c}else{Xt.add(s);return s}}function addRelatedInfo(e){var t=[];for(var r=1;r=5)continue;addRelatedInfo(a,!e.length(a.relatedInformation)?e.createDiagnosticForNode(c,e.Diagnostics._0_was_also_declared_here,n):e.createDiagnosticForNode(c,e.Diagnostics.and_here))}}function combineSymbolTables(t,r){if(!e.hasEntries(t))return r;if(!e.hasEntries(r))return t;var n=e.createSymbolTable();mergeSymbolTable(n,t);mergeSymbolTable(n,r);return n}function mergeSymbolTable(e,t){t.forEach(function(t,r){var n=e.get(r);e.set(r,n?mergeSymbol(n,t):t)})}function mergeModuleAugmentation(t){var r=t.parent;if(r.symbol.declarations[0]!==r){e.Debug.assert(r.symbol.declarations.length>1);return}if(e.isGlobalScopeAugmentation(r)){mergeSymbolTable(We,r.symbol.exports)}else{var n=!(t.parent.parent.flags&4194304)?e.Diagnostics.Invalid_module_name_in_augmentation_module_0_cannot_be_found:undefined;var i=resolveExternalModuleNameWorker(t,t,n,true);if(!i){return}i=resolveExternalModuleSymbol(i);if(i.flags&1920){i=mergeSymbol(i,r.symbol)}else{error(t,e.Diagnostics.Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity,t.text)}}}function addToSymbolTable(t,r,n){r.forEach(function(r,i){var a=t.get(i);if(a){e.forEach(a.declarations,addDeclarationDiagnostic(e.unescapeLeadingUnderscores(i),n))}else{t.set(i,r)}});function addDeclarationDiagnostic(t,r){return function(n){return Xt.add(e.createDiagnosticForNode(n,r,t))}}}function getSymbolLinks(e){if(e.flags&33554432)return e;var t=getSymbolId(e);return Jt[t]||(Jt[t]={})}function getNodeLinks(e){var t=getNodeId(e);return Wt[t]||(Wt[t]={flags:0})}function isGlobalSourceFile(t){return t.kind===279&&!e.isExternalOrCommonJsModule(t)}function getSymbol(t,r,n){if(n){var i=t.get(r);if(i){e.Debug.assert((e.getCheckFlags(i)&1)===0,"Should never get an instantiated symbol here.");if(i.flags&n){return i}if(i.flags&2097152){var a=resolveAlias(i);if(a===Q||a.flags&n){return i}}}}}function getSymbolsOfParameterPropertyDeclaration(t,r){var n=t.parent;var i=t.parent.parent;var a=getSymbol(n.locals,r,67220415);var o=getSymbol(getMembersOfSymbol(i.symbol),r,67220415);if(a&&o){return[a,o]}return e.Debug.fail("There should exist two symbols, one as property declaration and one as parameter declaration")}function isBlockScopedNameDeclaredBeforeUse(t,n){var i=e.getSourceFileOfNode(t);var a=e.getSourceFileOfNode(n);if(i!==a){if(E&&(i.externalModuleIndicator||a.externalModuleIndicator)||!x.outFile&&!x.out||isInTypeQuery(n)||t.flags&4194304){return true}if(isUsedInFunctionOrInstanceProperty(n,t)){return true}var o=r.getSourceFiles();return o.indexOf(i)<=o.indexOf(a)}if(t.pos<=n.pos){if(t.kind===186){var s=e.getAncestor(n,186);if(s){return e.findAncestor(s,e.isBindingElement)!==e.findAncestor(t,e.isBindingElement)||t.pos=2&&e.isParameter(d)&&v.body&&f.valueDeclaration.pos>=v.body.pos&&f.valueDeclaration.end<=v.body.end){h=false}else if(f.flags&1){h=d.kind===151||d===t.type&&!!e.findAncestor(f.valueDeclaration,e.isParameter)}}}else if(t.kind===175){h=d===t.trueType}if(h){break e}else{f=undefined}}}switch(t.kind){case 279:if(!e.isExternalOrCommonJsModule(t))break;y=true;case 244:var T=getSymbolOfNode(t).exports;if(t.kind===279||e.isAmbientModule(t)){if(f=T.get("default")){var b=e.getLocalSymbolForExportDefault(f);if(b&&f.flags&n&&b.escapedName===r){break e}f=undefined}var C=T.get(r);if(C&&C.flags===2097152&&e.getDeclarationOfKind(C,257)){break}}if(r!=="default"&&(f=c(T,r,n&2623475))){if(e.isSourceFile(t)&&t.commonJsModuleIndicator&&!f.declarations.some(e.isJSDocTypeAlias)){f=undefined}else{break e}}break;case 243:if(f=c(getSymbolOfNode(t).exports,r,n&8)){break e}break;case 154:case 153:if(e.isClassLike(t.parent)&&!e.hasModifier(t,32)){var E=findConstructorDeclaration(t.parent);if(E&&E.locals){if(c(E.locals,r,n&67220415)){g=t}}}break;case 240:case 209:case 241:if(f=c(getSymbolOfNode(t).members||S,r,n&67897832)){if(!isTypeParameterSymbolDeclaredInContainer(f,t)){f=undefined;break}if(d&&e.hasModifier(d,32)){error(_,e.Diagnostics.Static_members_cannot_reference_class_type_parameters);return undefined}break e}if(t.kind===209&&n&32){var D=t.name;if(D&&r===D.escapedText){f=t.symbol;break e}}break;case 211:if(d===t.expression&&t.parent.token===86){var k=t.parent.parent;if(e.isClassLike(k)&&(f=c(getSymbolOfNode(k).members,r,n&67897832))){if(i){error(_,e.Diagnostics.Base_class_expressions_cannot_reference_class_type_parameters)}return undefined}}break;case 149:m=t.parent.parent;if(e.isClassLike(m)||m.kind===241){if(f=c(getSymbolOfNode(m).members,r,n&67897832)){error(_,e.Diagnostics.A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type);return undefined}}break;case 156:case 155:case 157:case 158:case 159:case 239:case 197:if(n&3&&r==="arguments"){f=B;break e}break;case 196:if(n&3&&r==="arguments"){f=B;break e}if(n&16){var N=t.name;if(N&&r===N.escapedText){f=t.symbol;break e}}break;case 152:if(t.parent&&t.parent.kind===151){t=t.parent}if(t.parent&&e.isClassElement(t.parent)){t=t.parent}break;case 304:case 297:t=e.getJSDocHost(t);break}if(isSelfReferenceLocation(t)){p=t}d=t;t=t.parent}if(o&&f&&(!p||f!==p.symbol)){f.isReferenced|=n}if(!f){if(d){e.Debug.assert(d.kind===279);if(d.commonJsModuleIndicator&&r==="exports"&&n&d.symbol.flags){return d.symbol}}if(!s){f=c(We,r,n)}}if(!f){if(l&&e.isInJSFile(l)&&l.parent){if(e.isRequireCall(l.parent,false)){return j}}}if(!f){if(i){if(!_||!checkAndReportErrorForMissingPrefix(_,r,a)&&!checkAndReportErrorForExtendingInterface(_)&&!checkAndReportErrorForUsingTypeAsNamespace(_,r,n)&&!checkAndReportErrorForUsingTypeAsValue(_,r,n)&&!checkAndReportErrorForUsingNamespaceModuleAsValue(_,r,n)){var A=void 0;if(u&&Rt=0){error(a,e.Diagnostics.Output_file_0_has_not_been_built_from_source_file_1,n,S);return undefined}}}}if(d){error(a,d,n,f.resolvedFileName)}else{var b=e.tryExtractTSExtension(n);if(b){var s=e.Diagnostics.An_import_path_cannot_end_with_a_0_extension_Consider_importing_1_instead;error(a,s,b,e.removeExtension(n,b))}else if(!x.resolveJsonModule&&e.fileExtensionIs(n,".json")&&e.getEmitModuleResolutionKind(x)===e.ModuleResolutionKind.NodeJs&&e.hasJsonModuleEmitEnabled(x)){error(a,e.Diagnostics.Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension,n)}else{error(a,i,n)}}}return undefined}function errorOnImplicitAnyModule(t,r,n,i){var a=n.packageId,o=n.resolvedFileName;var s=!e.isExternalModuleNameRelative(i)&&a?typesPackageExists(a.name)?e.chainDiagnosticMessages(undefined,e.Diagnostics.If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_Slash_Slashgithub_com_SlashDefinitelyTyped_SlashDefinitelyTyped_Slashtree_Slashmaster_Slashtypes_Slash_1,a.name,e.mangleScopedPackageName(a.name)):e.chainDiagnosticMessages(undefined,e.Diagnostics.Try_npm_install_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare_module_0,i,e.mangleScopedPackageName(a.name)):undefined;errorOrSuggestion(t,r,e.chainDiagnosticMessages(s,e.Diagnostics.Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type,i,o))}function typesPackageExists(t){return u().has(e.getTypesPackageName(t))}function resolveExternalModuleSymbol(e,t){if(e){var r=resolveSymbol(e.exports.get("export="),t);var n=getCommonJsExportEquals(r,e);return getMergedSymbol(n)||e}return undefined}function getCommonJsExportEquals(t,r){if(!t||t===Q||t===r||r.exports.size===1||t.flags&2097152){return t}var n=cloneSymbol(t);if(n.exports===undefined){n.flags=n.flags|512;n.exports=e.createSymbolTable()}r.exports.forEach(function(e,t){if(t==="export=")return;n.exports.set(t,n.exports.has(t)?mergeSymbol(n.exports.get(t),e):e)});return n}function resolveESModuleSymbol(t,r,n){var i=resolveExternalModuleSymbol(t,n);if(!n&&i){if(!(i.flags&(1536|3))&&!e.getDeclarationOfKind(i,279)){error(r,e.Diagnostics.Module_0_resolves_to_a_non_module_entity_and_cannot_be_imported_using_this_construct,symbolToString(t));return i}if(x.esModuleInterop){var a=r.parent;if(e.isImportDeclaration(a)&&e.getNamespaceDeclarationNode(a)||e.isImportCall(a)){var o=getTypeOfSymbol(i);var s=getSignaturesOfStructuredType(o,0);if(!s||!s.length){s=getSignaturesOfStructuredType(o,1)}if(s&&s.length){var c=getTypeWithSyntheticDefaultImportType(o,i,t);var u=createSymbol(i.flags,i.escapedName);u.declarations=i.declarations?i.declarations.slice():[];u.parent=i.parent;u.target=i;u.originatingImport=a;if(i.valueDeclaration)u.valueDeclaration=i.valueDeclaration;if(i.constEnumOnlyModule)u.constEnumOnlyModule=true;if(i.members)u.members=e.cloneMap(i.members);if(i.exports)u.exports=e.cloneMap(i.exports);var l=resolveStructuredTypeMembers(c);u.type=createAnonymousType(u,l.members,e.emptyArray,e.emptyArray,l.stringIndexInfo,l.numberIndexInfo);return u}}}}return i}function hasExportAssignmentSymbol(e){return e.exports.get("export=")!==undefined}function getExportsOfModuleAsArray(e){return symbolsToArray(getExportsOfModule(e))}function getExportsAndPropertiesOfModule(t){var r=getExportsOfModuleAsArray(t);var n=resolveExternalModuleSymbol(t);if(n!==t){e.addRange(r,getPropertiesOfType(getTypeOfSymbol(n)))}return r}function tryGetMemberInModuleExports(e,t){var r=getExportsOfModule(t);if(r){return r.get(e)}}function tryGetMemberInModuleExportsAndProperties(e,t){var r=tryGetMemberInModuleExports(e,t);if(r){return r}var n=resolveExternalModuleSymbol(t);if(n===t){return undefined}var i=getTypeOfSymbol(n);return i.flags&131068?undefined:getPropertyOfType(i,e)}function getExportsOfSymbol(e){return e.flags&32?getResolvedMembersOrExportsOfSymbol(e,"resolvedExports"):e.flags&1536?getExportsOfModule(e):e.exports||S}function getExportsOfModule(e){var t=getSymbolLinks(e);return t.resolvedExports||(t.resolvedExports=getExportsOfModuleWorker(e))}function extendExportSymbols(t,r,n,i){if(!r)return;r.forEach(function(r,a){if(a==="default")return;var o=t.get(a);if(!o){t.set(a,r);if(n&&i){n.set(a,{specifierText:e.getTextOfNode(i.moduleSpecifier)})}}else if(n&&i&&o&&resolveSymbol(o)!==resolveSymbol(r)){var s=n.get(a);if(!s.exportsWithDuplicate){s.exportsWithDuplicate=[i]}else{s.exportsWithDuplicate.push(i)}}})}function getExportsOfModuleWorker(t){var r=[];t=resolveExternalModuleSymbol(t);return visit(t)||S;function visit(t){if(!(t&&t.exports&&e.pushIfUnique(r,t))){return}var n=e.cloneMap(t.exports);var i=t.exports.get("__export");if(i){var a=e.createSymbolTable();var o=e.createMap();for(var s=0,c=i.declarations;s=f){return l.substr(0,f-"...".length)+"..."}return l}function toNodeBuilderFlags(e){if(e===void 0){e=0}return e&9469291}function createNodeBuilder(){return{typeToTypeNode:function(e,t,r,n){return withContext(t,r,n,function(t){return typeToTypeNodeHelper(e,t)})},indexInfoToIndexSignatureDeclaration:function(e,t,r,n,i){return withContext(r,n,i,function(r){return indexInfoToIndexSignatureDeclarationHelper(e,t,r)})},signatureToSignatureDeclaration:function(e,t,r,n,i){return withContext(r,n,i,function(r){return signatureToSignatureDeclarationHelper(e,t,r)})},symbolToEntityName:function(e,t,r,n,i){return withContext(r,n,i,function(r){return symbolToName(e,r,t,false)})},symbolToExpression:function(e,t,r,n,i){return withContext(r,n,i,function(r){return symbolToExpression(e,r,t)})},symbolToTypeParameterDeclarations:function(e,t,r,n){return withContext(t,r,n,function(t){return typeParametersToTypeParameterDeclarations(e,t)})},symbolToParameterDeclaration:function(e,t,r,n){return withContext(t,r,n,function(t){return symbolToParameterDeclaration(e,t)})},typeParameterToDeclaration:function(e,t,r,n){return withContext(t,r,n,function(t){return typeParameterToDeclaration(e,t)})}};function withContext(t,n,i,a){e.Debug.assert(t===undefined||(t.flags&8)===0);var o={enclosingDeclaration:t,flags:n||0,tracker:i&&i.trackSymbol?i:{trackSymbol:e.noop,moduleResolverHost:n&134217728?{getCommonSourceDirectory:r.getCommonSourceDirectory?function(){return r.getCommonSourceDirectory()}:function(){return""},getSourceFiles:function(){return r.getSourceFiles()},getCurrentDirectory:r.getCurrentDirectory&&function(){return r.getCurrentDirectory()}}:undefined},encounteredError:false,visitedTypes:undefined,symbolDepth:undefined,inferTypeParameters:undefined,approximateLength:0};var s=a(o);return o.encounteredError?undefined:s}function checkTruncationLength(t){if(t.truncating)return t.truncating;return t.truncating=!(t.flags&1)&&t.approximateLength>e.defaultMaximumTruncationLength}function typeToTypeNodeHelper(t,r){if(l&&l.throwIfCancellationRequested){l.throwIfCancellationRequested()}var n=r.flags&8388608;r.flags&=~8388608;if(!t){r.encounteredError=true;return undefined}if(t.flags&1){r.approximateLength+=3;return e.createKeywordTypeNode(120)}if(t.flags&2){return e.createKeywordTypeNode(143)}if(t.flags&4){r.approximateLength+=6;return e.createKeywordTypeNode(138)}if(t.flags&8){r.approximateLength+=6;return e.createKeywordTypeNode(135)}if(t.flags&64){r.approximateLength+=6;return e.createKeywordTypeNode(146)}if(t.flags&16){r.approximateLength+=7;return e.createKeywordTypeNode(123)}if(t.flags&1024&&!(t.flags&1048576)){var i=getParentOfSymbol(t.symbol);var a=symbolToTypeNode(i,r,67897832);var o=getDeclaredTypeOfSymbol(i)===t?a:appendReferenceToType(a,e.createTypeReferenceNode(e.symbolName(t.symbol),undefined));return o}if(t.flags&1056){return symbolToTypeNode(t.symbol,r,67897832)}if(t.flags&128){r.approximateLength+=t.value.length+2;return e.createLiteralTypeNode(e.setEmitFlags(e.createLiteral(t.value),16777216))}if(t.flags&256){r.approximateLength+=(""+t.value).length;return e.createLiteralTypeNode(e.createLiteral(t.value))}if(t.flags&2048){r.approximateLength+=e.pseudoBigIntToString(t.value).length+1;return e.createLiteralTypeNode(e.createLiteral(t.value))}if(t.flags&512){r.approximateLength+=t.intrinsicName.length;return t.intrinsicName==="true"?e.createTrue():e.createFalse()}if(t.flags&8192){if(!(r.flags&1048576)){if(isValueSymbolAccessible(t.symbol,r.enclosingDeclaration)){r.approximateLength+=6;return symbolToTypeNode(t.symbol,r,67220415)}if(r.tracker.reportInaccessibleUniqueSymbolError){r.tracker.reportInaccessibleUniqueSymbolError()}}r.approximateLength+=13;return e.createTypeOperatorNode(142,e.createKeywordTypeNode(139))}if(t.flags&16384){r.approximateLength+=4;return e.createKeywordTypeNode(106)}if(t.flags&32768){r.approximateLength+=9;return e.createKeywordTypeNode(141)}if(t.flags&65536){r.approximateLength+=4;return e.createKeywordTypeNode(96)}if(t.flags&131072){r.approximateLength+=5;return e.createKeywordTypeNode(132)}if(t.flags&4096){r.approximateLength+=6;return e.createKeywordTypeNode(139)}if(t.flags&67108864){r.approximateLength+=6;return e.createKeywordTypeNode(136)}if(t.flags&262144&&t.isThisType){if(r.flags&4194304){if(!r.encounteredError&&!(r.flags&32768)){r.encounteredError=true}if(r.tracker.reportInaccessibleThisError){r.tracker.reportInaccessibleThisError()}}r.approximateLength+=4;return e.createThis()}var s=e.getObjectFlags(t);if(s&4){e.Debug.assert(!!(t.flags&524288));return typeReferenceToTypeNode(t)}if(t.flags&262144||s&3){if(t.flags&262144&&e.contains(r.inferTypeParameters,t)){r.approximateLength+=e.symbolName(t.symbol).length+6;return e.createInferTypeNode(typeParameterToDeclarationWithConstraint(t,r,undefined))}if(r.flags&4&&t.flags&262144&&e.length(t.symbol.declarations)&&e.isTypeParameterDeclaration(t.symbol.declarations[0])&&typeParameterShadowsNameInScope(t,r)&&!isTypeSymbolAccessible(t.symbol,r.enclosingDeclaration)){var c=t.symbol.declarations[0].name;r.approximateLength+=e.idText(c).length;return e.createTypeReferenceNode(e.getGeneratedNameForNode(c,16|8),undefined)}return t.symbol?symbolToTypeNode(t.symbol,r,67897832):e.createTypeReferenceNode(e.createIdentifier("?"),undefined)}if(!n&&t.aliasSymbol&&(r.flags&16384||isTypeSymbolAccessible(t.aliasSymbol,r.enclosingDeclaration))){var u=mapToTypeNodes(t.aliasTypeArguments,r);if(isReservedMemberName(t.aliasSymbol.escapedName)&&!(t.aliasSymbol.flags&32))return e.createTypeReferenceNode(e.createIdentifier(""),u);return symbolToTypeNode(t.aliasSymbol,r,67897832,u)}if(t.flags&(1048576|2097152)){var f=t.flags&1048576?formatUnionTypes(t.types):t.types;if(e.length(f)===1){return typeToTypeNodeHelper(f[0],r)}var d=mapToTypeNodes(f,r,true);if(d&&d.length>0){var p=e.createUnionOrIntersectionTypeNode(t.flags&1048576?173:174,d);return p}else{if(!r.encounteredError&&!(r.flags&262144)){r.encounteredError=true}return undefined}}if(s&(16|32)){e.Debug.assert(!!(t.flags&524288));return createAnonymousTypeNode(t)}if(t.flags&4194304){var g=t.type;r.approximateLength+=6;var _=typeToTypeNodeHelper(g,r);return e.createTypeOperatorNode(_)}if(t.flags&8388608){var m=typeToTypeNodeHelper(t.objectType,r);var _=typeToTypeNodeHelper(t.indexType,r);r.approximateLength+=2;return e.createIndexedAccessTypeNode(m,_)}if(t.flags&16777216){var y=typeToTypeNodeHelper(t.checkType,r);var h=r.inferTypeParameters;r.inferTypeParameters=t.root.inferTypeParameters;var v=typeToTypeNodeHelper(t.extendsType,r);r.inferTypeParameters=h;var T=typeToTypeNodeHelper(getTrueTypeFromConditionalType(t),r);var S=typeToTypeNodeHelper(getFalseTypeFromConditionalType(t),r);r.approximateLength+=15;return e.createConditionalTypeNode(y,v,T,S)}if(t.flags&33554432){return typeToTypeNodeHelper(t.typeVariable,r)}return e.Debug.fail("Should be unreachable.");function createMappedTypeNodeFromType(t){e.Debug.assert(!!(t.flags&524288));var n=t.declaration.readonlyToken?e.createToken(t.declaration.readonlyToken.kind):undefined;var i=t.declaration.questionToken?e.createToken(t.declaration.questionToken.kind):undefined;var a;if(isMappedTypeWithKeyofConstraintDeclaration(t)){a=e.createTypeOperatorNode(typeToTypeNodeHelper(getModifiersTypeFromMappedType(t),r))}else{a=typeToTypeNodeHelper(getConstraintTypeFromMappedType(t),r)}var o=typeParameterToDeclarationWithConstraint(getTypeParameterFromMappedType(t),r,a);var s=typeToTypeNodeHelper(getTemplateTypeFromMappedType(t),r);var c=e.createMappedTypeNode(n,o,i,s);r.approximateLength+=10;return e.setEmitFlags(c,1)}function createAnonymousTypeNode(t){var n=""+t.id;var i=t.symbol;var a;if(i){var o=e.getObjectFlags(t)&16&&t.symbol&&t.symbol.flags&32;a=(o?"+":"")+getSymbolId(i);if(isJSConstructor(i.valueDeclaration)){var s=t===getInferredClassType(i)?67897832:67220415;return symbolToTypeNode(i,r,s)}else if(i.flags&32&&!getBaseTypeVariableOfClass(i)&&!(i.valueDeclaration.kind===209&&r.flags&2048)||i.flags&(384|512)||shouldWriteTypeOfFunctionSymbol()){return symbolToTypeNode(i,r,67220415)}else if(r.visitedTypes&&r.visitedTypes.has(n)){var c=getTypeAliasForTypeLiteral(t);if(c){return symbolToTypeNode(c,r,67897832)}else{return createElidedInformationPlaceholder(r)}}else{if(!r.visitedTypes){r.visitedTypes=e.createMap()}if(!r.symbolDepth){r.symbolDepth=e.createMap()}var u=r.symbolDepth.get(a)||0;if(u>10){return createElidedInformationPlaceholder(r)}r.symbolDepth.set(a,u+1);r.visitedTypes.set(n,true);var l=createTypeNodeFromObjectType(t);r.visitedTypes.delete(n);r.symbolDepth.set(a,u);return l}}else{return createTypeNodeFromObjectType(t)}function shouldWriteTypeOfFunctionSymbol(){var t=!!(i.flags&8192)&&e.some(i.declarations,function(t){return e.hasModifier(t,32)});var a=!!(i.flags&16)&&(i.parent||e.forEach(i.declarations,function(e){return e.parent.kind===279||e.parent.kind===245}));if(t||a){return(!!(r.flags&4096)||r.visitedTypes&&r.visitedTypes.has(n))&&(!(r.flags&8)||isValueSymbolAccessible(i,r.enclosingDeclaration))}}}function createTypeNodeFromObjectType(t){if(isGenericMappedType(t)){return createMappedTypeNodeFromType(t)}var n=resolveStructuredTypeMembers(t);if(!n.properties.length&&!n.stringIndexInfo&&!n.numberIndexInfo){if(!n.callSignatures.length&&!n.constructSignatures.length){r.approximateLength+=2;return e.setEmitFlags(e.createTypeLiteralNode(undefined),1)}if(n.callSignatures.length===1&&!n.constructSignatures.length){var i=n.callSignatures[0];var a=signatureToSignatureDeclarationHelper(i,165,r);return a}if(n.constructSignatures.length===1&&!n.callSignatures.length){var i=n.constructSignatures[0];var a=signatureToSignatureDeclarationHelper(i,166,r);return a}}var o=r.flags;r.flags|=4194304;var s=createTypeNodesFromResolvedType(n);r.flags=o;var c=e.createTypeLiteralNode(s);r.approximateLength+=2;return e.setEmitFlags(c,r.flags&1024?0:1)}function typeReferenceToTypeNode(t){var n=t.typeArguments||e.emptyArray;if(t.target===$e){if(r.flags&2){var i=typeToTypeNodeHelper(n[0],r);return e.createTypeReferenceNode("Array",[i])}var a=typeToTypeNodeHelper(n[0],r);return e.createArrayTypeNode(a)}else if(t.target.objectFlags&8){if(n.length>0){var o=getTypeReferenceArity(t);var s=mapToTypeNodes(n.slice(0,o),r);var c=t.target.hasRestElement;if(s){for(var u=t.target.minLength;u0){var v=(t.target.typeParameters||e.emptyArray).length;h=mapToTypeNodes(n.slice(u,v),r)}var T=r.flags;r.flags|=16;var S=symbolToTypeNode(t.symbol,r,67897832,h);r.flags=T;return!f?S:appendReferenceToType(f,S)}}function appendReferenceToType(t,r){if(e.isImportTypeNode(t)){var n=t.typeArguments;if(t.qualifier){(e.isIdentifier(t.qualifier)?t.qualifier:t.qualifier.right).typeArguments=n}t.typeArguments=r.typeArguments;var i=getAccessStack(r);for(var a=0,o=i;a2){return[typeToTypeNodeHelper(t[0],r),e.createTypeReferenceNode("... "+(t.length-2)+" more ...",undefined),typeToTypeNodeHelper(t[t.length-1],r)]}}var i=[];var a=0;for(var o=0,s=t;o0)}else{a=[t]}return a;function getSymbolChain(t,n,a){var o=getAccessibleSymbolChain(t,r.enclosingDeclaration,n,!!(r.flags&128));var s;if(!o||needsQualification(o[0],r.enclosingDeclaration,o.length===1?n:getQualifiedLeftMeaning(n))){var c=getContainersOfSymbol(o?o[0]:t,r.enclosingDeclaration);if(e.length(c)){s=c.map(function(t){return e.some(t.declarations,hasNonGlobalAugmentationExternalModuleSymbol)?getSpecifierForModuleSymbol(t,r):undefined});var u=c.map(function(e,t){return t});u.sort(sortByBestName);var l=u.map(function(e){return c[e]});for(var f=0,d=l;f1?createAccessFromSymbolChain(a,a.length-1,1):undefined;var c=i||lookupTypeParameterNodes(a,0,r);var u=getSpecifierForModuleSymbol(a[0],r);if(!(r.flags&67108864)&&e.getEmitModuleResolutionKind(x)===e.ModuleResolutionKind.NodeJs&&u.indexOf("/node_modules/")>=0){r.encounteredError=true;if(r.tracker.reportLikelyUnsafeImportRequiredError){r.tracker.reportLikelyUnsafeImportRequiredError(u)}}var l=e.createLiteralTypeNode(e.createLiteral(u));if(r.tracker.trackExternalModuleSymbolOfImportTypeNode)r.tracker.trackExternalModuleSymbolOfImportTypeNode(a[0]);r.approximateLength+=u.length+10;if(!s||e.isEntityName(s)){if(s){var f=e.isIdentifier(s)?s:s.right;f.typeArguments=undefined}return e.createImportTypeNode(l,s,c,o)}else{var d=getTopmostIndexedAccessType(s);var p=d.objectType.typeName;return e.createIndexedAccessTypeNode(e.createImportTypeNode(l,p,c,o),d.indexType)}}var g=createAccessFromSymbolChain(a,a.length-1,0);if(e.isIndexedAccessTypeNode(g)){return g}if(o){return e.createTypeQueryNode(g)}else{var f=e.isIdentifier(g)?g:g.right;var _=f.typeArguments;f.typeArguments=undefined;return e.createTypeReferenceNode(g,_)}function createAccessFromSymbolChain(t,n,a){var o=n===t.length-1?i:lookupTypeParameterNodes(t,n,r);var s=t[n];if(n===0){r.flags|=16777216}var c=getNameOfSymbolAsWritten(s,r);r.approximateLength+=c.length+1;if(n===0){r.flags^=16777216}var u=t[n-1];if(!(r.flags&16)&&u&&getMembersOfSymbol(u)&&getMembersOfSymbol(u).get(s.escapedName)===s){var l=createAccessFromSymbolChain(t,n-1,a);if(e.isIndexedAccessTypeNode(l)){return e.createIndexedAccessTypeNode(l,e.createLiteralTypeNode(e.createLiteral(c)))}else{return e.createIndexedAccessTypeNode(e.createTypeReferenceNode(l,o),e.createLiteralTypeNode(e.createLiteral(c)))}}var f=e.setEmitFlags(e.createIdentifier(c,o),16777216);f.symbol=s;if(n>a){var l=createAccessFromSymbolChain(t,n-1,a);if(!e.isEntityName(l)){return e.Debug.fail("Impossible construct - an export of an indexed access cannot be reachable")}return e.createQualifiedName(l,f)}return f}}function symbolToName(t,r,n,i){var a=lookupSymbolChain(t,r,n);if(i&&a.length!==1&&!r.encounteredError&&!(r.flags&65536)){r.encounteredError=true}return createEntityNameFromSymbolChain(a,a.length-1);function createEntityNameFromSymbolChain(t,n){var i=lookupTypeParameterNodes(t,n,r);var a=t[n];if(n===0){r.flags|=16777216}var o=getNameOfSymbolAsWritten(a,r);if(n===0){r.flags^=16777216}var s=e.setEmitFlags(e.createIdentifier(o,i),16777216);s.symbol=a;return n>0?e.createQualifiedName(createEntityNameFromSymbolChain(t,n-1),s):s}}function symbolToExpression(t,r,n){var i=lookupSymbolChain(t,r,n);return createExpressionFromSymbolChain(i,i.length-1);function createExpressionFromSymbolChain(t,n){var i=lookupTypeParameterNodes(t,n,r);var a=t[n];if(e.some(a.declarations,hasNonGlobalAugmentationExternalModuleSymbol)){return e.createLiteral(getSpecifierForModuleSymbol(a,r))}if(n===0){r.flags|=16777216}var o=getNameOfSymbolAsWritten(a,r);if(n===0){r.flags^=16777216}var s=o.charCodeAt(0);var c=e.isIdentifierStart(s,C);if(n===0||c){var u=e.setEmitFlags(e.createIdentifier(o,i),16777216);u.symbol=a;return n>0?e.createPropertyAccess(createExpressionFromSymbolChain(t,n-1),u):u}else{if(s===91){o=o.substring(1,o.length-1);s=o.charCodeAt(0)}var l=void 0;if(e.isSingleOrDoubleQuote(s)){l=e.createLiteral(o.substring(1,o.length-1).replace(/\\./g,function(e){return e.substring(1)}));l.singleQuote=s===39}else if(""+ +o===o){l=e.createLiteral(+o)}if(!l){l=e.setEmitFlags(e.createIdentifier(o,i),16777216);l.symbol=a}return e.createElementAccess(createExpressionFromSymbolChain(t,n-1),l)}}}}function typePredicateToString(t,r,n,i){if(n===void 0){n=16384}return i?typePredicateToStringWorker(i).getText():e.usingSingleLineStringWriter(typePredicateToStringWorker);function typePredicateToStringWorker(i){var a=e.createTypePredicateNode(t.kind===1?e.createIdentifier(t.parameterName):e.createThisTypeNode(),L.typeToTypeNode(t.type,r,toNodeBuilderFlags(n)|70221824|512));var o=e.createPrinter({removeComments:true});var s=r&&e.getSourceFileOfNode(r);o.writeNode(4,a,s,i);return i}}function formatUnionTypes(e){var t=[];var r=0;for(var n=0;n=0){var n=wt.length;for(var i=r;i=0;r--){if(hasType(wt[r],Lt[r])){return-1}if(wt[r]===e&&Lt[r]===t){return r}}return-1}function hasType(t,r){switch(r){case 0:return!!getSymbolLinks(t).type;case 5:return!!getNodeLinks(t).resolvedEnumType;case 2:return!!getSymbolLinks(t).declaredType;case 1:return!!t.resolvedBaseConstructorType;case 3:return!!t.resolvedReturnType;case 4:return!!t.immediateBaseConstraint;case 6:return!!getSymbolLinks(t).resolvedJSDocType}return e.Debug.assertNever(r)}function popTypeResolution(){wt.pop();Lt.pop();return Mt.pop()}function getDeclarationContainer(t){return e.findAncestor(e.getRootDeclaration(t),function(e){switch(e.kind){case 237:case 238:case 253:case 252:case 251:case 250:return false;default:return true}}).parent}function getTypeOfPrototypeProperty(t){var r=getDeclaredTypeOfSymbol(getParentOfSymbol(t));return r.typeParameters?createTypeReference(r,e.map(r.typeParameters,function(e){return X})):r}function getTypeOfPropertyOfType(e,t){var r=getPropertyOfType(e,t);return r?getTypeOfSymbol(r):undefined}function isTypeAny(e){return e&&(e.flags&1)!==0}function getTypeForBindingElementParent(e){var t=getSymbolOfNode(e);return t&&getSymbolLinks(t).type||getTypeForVariableLikeDeclaration(e,false)}function isComputedNonLiteralName(t){return t.kind===149&&!e.isStringOrNumericLiteralLike(t.expression)}function getRestType(t,r,n){t=filterType(t,function(e){return!(e.flags&98304)});if(t.flags&131072){return xe}if(t.flags&1048576){return mapType(t,function(e){return getRestType(e,r,n)})}var i=getUnionType(e.map(r,getLiteralTypeFromPropertyName));if(isGenericObjectType(t)||isGenericIndexType(i)){if(i.flags&131072){return t}var a=getGlobalPickSymbol();var o=getGlobalExcludeSymbol();if(!a||!o){return ee}var s=getTypeAliasInstantiation(o,[getIndexType(t),i]);return getTypeAliasInstantiation(a,[t,s])}var c=e.createSymbolTable();for(var u=0,l=getPropertiesOfType(t);u=2?createIterableType(X):nt}var s=e.map(i,function(t){return e.isOmittedExpression(t)?X:getTypeFromBindingElement(t,r,n)});var c=e.findLastIndex(i,function(t){return!e.isOmittedExpression(t)&&!hasDefaultValue(t)},i.length-(o?2:1))+1;var u=createTupleType(s,c,o);if(r){u=cloneTypeReference(u);u.pattern=t}return u}function getTypeFromBindingPattern(e,t,r){if(t===void 0){t=false}if(r===void 0){r=false}return e.kind===184?getTypeFromObjectBindingPattern(e,t,r):getTypeFromArrayBindingPattern(e,t,r)}function getWidenedTypeForVariableLikeDeclaration(e,t){return widenTypeForVariableLikeDeclaration(getTypeForVariableLikeDeclaration(e,true),e,t)}function widenTypeForVariableLikeDeclaration(t,r,n){if(t){if(n){reportErrorsFromWidening(r,t)}if(t.flags&8192&&(e.isBindingElement(r)||!r.type)&&t.symbol!==getSymbolOfNode(r)){t=ge}return getWidenedType(t)}t=e.isParameter(r)&&r.dotDotDotToken?nt:X;if(n){if(!declarationBelongsToPrivateAmbientMember(r)){reportImplicitAny(r,t)}}return t}function declarationBelongsToPrivateAmbientMember(t){var r=e.getRootDeclaration(t);var n=r.kind===151?r.parent:r;return isPrivateWithinAmbient(n)}function tryGetTypeFromEffectiveTypeNode(t){var r=e.getEffectiveTypeAnnotationNode(t);if(r){return getTypeFromTypeNode(r)}}function getTypeOfVariableOrParameterOrProperty(e){var t=getSymbolLinks(e);return t.type||(t.type=getTypeOfVariableOrParameterOrPropertyWorker(e))}function getTypeOfVariableOrParameterOrPropertyWorker(t){if(t.flags&4194304){return getTypeOfPrototypeProperty(t)}if(t===j){return X}if(t.flags&134217728){var r=getSymbolOfNode(e.getSourceFileOfNode(t.valueDeclaration));var n=e.createSymbolTable();n.set("exports",r);return createAnonymousType(t,n,e.emptyArray,e.emptyArray,undefined,undefined)}var i=t.valueDeclaration;if(e.isCatchClauseVariableDeclarationOrBindingElement(i)){return X}if(e.isSourceFile(i)){var a=e.cast(i,e.isJsonSourceFile);if(!a.statements.length){return xe}var o=getWidenedLiteralType(checkExpression(a.statements[0].expression));if(o.flags&524288){return getRegularTypeOfObjectLiteral(o)}return o}if(i.kind===254){return widenTypeForVariableLikeDeclaration(checkExpressionCached(i.expression),i)}if(!pushTypeResolution(t,0)){return ee}var s;if(e.isInJSFile(i)&&(e.isCallExpression(i)||e.isBinaryExpression(i)||e.isPropertyAccessExpression(i)&&e.isBinaryExpression(i.parent))){s=getWidenedTypeFromAssignmentDeclaration(t)}else if(e.isJSDocPropertyLikeTag(i)||e.isPropertyAccessExpression(i)||e.isIdentifier(i)||e.isClassDeclaration(i)||e.isFunctionDeclaration(i)||e.isMethodDeclaration(i)&&!e.isObjectLiteralMethod(i)||e.isMethodSignature(i)){if(t.flags&(16|8192|32|384|512)){return getTypeOfFuncClassEnumModule(t)}s=e.isBinaryExpression(i.parent)?getWidenedTypeFromAssignmentDeclaration(t):tryGetTypeFromEffectiveTypeNode(i)||X}else if(e.isPropertyAssignment(i)){s=tryGetTypeFromEffectiveTypeNode(i)||checkPropertyAssignment(i)}else if(e.isJsxAttribute(i)){s=tryGetTypeFromEffectiveTypeNode(i)||checkJsxAttribute(i)}else if(e.isShorthandPropertyAssignment(i)){s=tryGetTypeFromEffectiveTypeNode(i)||checkExpressionForMutableLocation(i.name,0)}else if(e.isObjectLiteralMethod(i)){s=tryGetTypeFromEffectiveTypeNode(i)||checkObjectLiteralMethod(i,0)}else if(e.isParameter(i)||e.isPropertyDeclaration(i)||e.isPropertySignature(i)||e.isVariableDeclaration(i)||e.isBindingElement(i)){s=getWidenedTypeForVariableLikeDeclaration(i,true)}else if(e.isEnumDeclaration(i)){s=getTypeOfFuncClassEnumModule(t)}else if(e.isEnumMember(i)){s=getTypeOfEnumMember(t)}else{return e.Debug.fail("Unhandled declaration kind! "+e.Debug.showSyntaxKind(i)+" for "+e.Debug.showSymbol(t))}if(!popTypeResolution()){s=reportCircularityError(t)}return s}function getAnnotatedAccessorTypeNode(t){if(t){if(t.kind===158){var r=e.getEffectiveReturnTypeNode(t);return r}else{var n=e.getEffectiveSetAccessorTypeAnnotationNode(t);return n}}return undefined}function getAnnotatedAccessorType(e){var t=getAnnotatedAccessorTypeNode(e);return t&&getTypeFromTypeNode(t)}function getAnnotatedAccessorThisParameter(e){var t=getAccessorThisParameter(e);return t&&t.symbol}function getThisTypeOfDeclaration(e){return getThisTypeOfSignature(getSignatureFromDeclaration(e))}function getTypeOfAccessors(e){var t=getSymbolLinks(e);return t.type||(t.type=getTypeOfAccessorsWorker(e))}function getTypeOfAccessorsWorker(t){var r=e.getDeclarationOfKind(t,158);var n=e.getDeclarationOfKind(t,159);if(r&&e.isInJSFile(r)){var i=getTypeForDeclarationFromJSDocComment(r);if(i){return i}}if(!pushTypeResolution(t,0)){return ee}var a;var o=getAnnotatedAccessorType(r);if(o){a=o}else{var s=getAnnotatedAccessorType(n);if(s){a=s}else{if(r&&r.body){a=getReturnTypeFromBody(r)}else{if(n){errorOrSuggestion(F,n,e.Diagnostics.Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation,symbolToString(t))}else{e.Debug.assert(!!r,"there must existed getter as we are current checking either setter or getter in this function");errorOrSuggestion(F,r,e.Diagnostics.Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation,symbolToString(t))}a=X}}}if(!popTypeResolution()){a=X;if(F){var c=e.getDeclarationOfKind(t,158);error(c,e.Diagnostics._0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions,symbolToString(t))}}return a}function getBaseTypeVariableOfClass(e){var t=getBaseConstructorTypeOfClass(getDeclaredTypeOfClassOrInterface(e));return t.flags&8650752?t:undefined}function getTypeOfFuncClassEnumModule(t){var r=getSymbolLinks(t);var n=r;if(!r.type){var i=e.getDeclarationOfExpando(t.valueDeclaration);if(i){var a=getSymbolOfNode(i);if(a&&(e.hasEntries(a.exports)||e.hasEntries(a.members))){t=cloneSymbol(t);r=t;if(e.hasEntries(a.exports)){t.exports=t.exports||e.createSymbolTable();mergeSymbolTable(t.exports,a.exports)}if(e.hasEntries(a.members)){t.members=t.members||e.createSymbolTable();mergeSymbolTable(t.members,a.members)}}}n.type=r.type=getTypeOfFuncClassEnumModuleWorker(t)}return r.type}function getTypeOfFuncClassEnumModuleWorker(t){var r=t.valueDeclaration;if(t.flags&1536&&e.isShorthandAmbientModuleSymbol(t)){return X}else if(r.kind===204||r.kind===189&&r.parent.kind===204){return getWidenedTypeFromAssignmentDeclaration(t)}else if(t.flags&512&&r&&e.isSourceFile(r)&&r.commonJsModuleIndicator){var n=resolveExternalModuleSymbol(t);if(n!==t){if(!pushTypeResolution(t,0)){return ee}var i=getMergedSymbol(t.exports.get("export="));var a=getWidenedTypeFromAssignmentDeclaration(i,i===n?undefined:n);if(!popTypeResolution()){return reportCircularityError(t)}return a}}var o=createObjectType(16,t);if(t.flags&32){var s=getBaseTypeVariableOfClass(t);return s?getIntersectionType([o,s]):o}else{return k&&t.flags&16777216?getOptionalType(o):o}}function getTypeOfEnumMember(e){var t=getSymbolLinks(e);return t.type||(t.type=getDeclaredTypeOfEnumMember(e))}function getTypeOfAlias(e){var t=getSymbolLinks(e);if(!t.type){var r=resolveAlias(e);t.type=r.flags&67220415?getTypeOfSymbol(r):ee}return t.type}function getTypeOfInstantiatedSymbol(e){var t=getSymbolLinks(e);if(!t.type){if(!pushTypeResolution(e,0)){return t.type=ee}var r=instantiateType(getTypeOfSymbol(t.target),t.mapper);if(!popTypeResolution()){r=reportCircularityError(e)}t.type=r}return t.type}function reportCircularityError(t){if(e.getEffectiveTypeAnnotationNode(t.valueDeclaration)){error(t.valueDeclaration,e.Diagnostics._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation,symbolToString(t));return ee}if(F){error(t.valueDeclaration,e.Diagnostics._0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer,symbolToString(t))}return X}function getTypeOfSymbol(t){if(e.getCheckFlags(t)&1){return getTypeOfInstantiatedSymbol(t)}if(e.getCheckFlags(t)&2048){return getTypeOfReverseMappedSymbol(t)}if(t.flags&(3|4)){return getTypeOfVariableOrParameterOrProperty(t)}if(t.flags&(16|8192|32|384|512)){return getTypeOfFuncClassEnumModule(t)}if(t.flags&8){return getTypeOfEnumMember(t)}if(t.flags&98304){return getTypeOfAccessors(t)}if(t.flags&2097152){return getTypeOfAlias(t)}return ee}function isReferenceToType(t,r){return t!==undefined&&r!==undefined&&(e.getObjectFlags(t)&4)!==0&&t.target===r}function getTargetType(t){return e.getObjectFlags(t)&4?t.target:t}function hasBaseType(t,r){return check(t);function check(t){if(e.getObjectFlags(t)&(3|4)){var n=getTargetType(t);return n===r||e.some(getBaseTypes(n),check)}else if(t.flags&2097152){return e.some(t.types,check)}return false}}function appendTypeParameters(t,r){for(var n=0,i=r;n0){return true}if(e.flags&8650752){var t=getBaseConstraintOfType(e);return!!t&&isValidBaseType(t)&&isMixinConstructorType(t)}return isJSConstructorType(e)}function getBaseTypeNodeOfClass(t){return e.getEffectiveBaseTypeNode(t.symbol.valueDeclaration)}function getConstructorsForTypeArguments(t,r,n){var i=e.length(r);var a=e.isInJSFile(n);return e.filter(getSignaturesOfType(t,1),function(t){return(a||i>=getMinTypeArgumentCount(t.typeParameters))&&i<=e.length(t.typeParameters)})}function getInstantiatedConstructorsForTypeArguments(t,r,n){var i=getConstructorsForTypeArguments(t,r,n);var a=e.map(r,getTypeFromTypeNode);return e.sameMap(i,function(t){return e.some(t.typeParameters)?getSignatureInstantiation(t,a,e.isInJSFile(n)):t})}function getBaseConstructorTypeOfClass(t){if(!t.resolvedBaseConstructorType){var r=t.symbol.valueDeclaration;var n=e.getEffectiveBaseTypeNode(r);var i=getBaseTypeNodeOfClass(t);if(!i){return t.resolvedBaseConstructorType=re}if(!pushTypeResolution(t,1)){return ee}var a=checkExpression(i.expression);if(n&&i!==n){e.Debug.assert(!n.typeArguments);checkExpression(n.expression)}if(a.flags&(524288|2097152)){resolveStructuredTypeMembers(a)}if(!popTypeResolution()){error(t.symbol.valueDeclaration,e.Diagnostics._0_is_referenced_directly_or_indirectly_in_its_own_base_expression,symbolToString(t.symbol));return t.resolvedBaseConstructorType=ee}if(!(a.flags&1)&&a!==ae&&!isConstructorType(a)){var o=error(i.expression,e.Diagnostics.Type_0_is_not_a_constructor_function_type,typeToString(a));if(a.flags&262144){var s=getConstraintFromTypeParameter(a);var c=te;if(s){var u=getSignaturesOfType(s,1);if(u[0]){c=getReturnTypeOfSignature(u[0])}}addRelatedInfo(o,e.createDiagnosticForNode(a.symbol.declarations[0],e.Diagnostics.Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1,symbolToString(a.symbol),typeToString(c)))}return t.resolvedBaseConstructorType=ee}t.resolvedBaseConstructorType=a}return t.resolvedBaseConstructorType}function getBaseTypes(t){if(!t.resolvedBaseTypes){if(t.objectFlags&8){t.resolvedBaseTypes=[createArrayType(getUnionType(t.typeParameters||e.emptyArray))]}else if(t.symbol.flags&(32|64)){if(t.symbol.flags&32){resolveBaseTypesOfClass(t)}if(t.symbol.flags&64){resolveBaseTypesOfInterface(t)}}else{e.Debug.fail("type must be class or interface")}}return t.resolvedBaseTypes}function resolveBaseTypesOfClass(t){t.resolvedBaseTypes=e.resolvingEmptyArray;var r=getApparentType(getBaseConstructorTypeOfClass(t));if(!(r.flags&(524288|2097152|1))){return t.resolvedBaseTypes=e.emptyArray}var n=getBaseTypeNodeOfClass(t);var i=typeArgumentsFromTypeReferenceNode(n);var a;var o=isJSConstructorType(r)?r:r.symbol?getDeclaredTypeOfSymbol(r.symbol):undefined;if(r.symbol&&r.symbol.flags&32&&areAllOuterTypeParametersApplied(o)){a=getTypeFromClassOrInterfaceReference(n,r.symbol,i)}else if(r.flags&1){a=r}else if(isJSConstructorType(r)){a=!n.typeArguments&&getJSClassType(r.symbol)||X}else{var s=getInstantiatedConstructorsForTypeArguments(r,n.typeArguments,n);if(!s.length){error(n.expression,e.Diagnostics.No_base_constructor_has_the_specified_number_of_type_arguments);return t.resolvedBaseTypes=e.emptyArray}a=getReturnTypeOfSignature(s[0])}if(a===ee){return t.resolvedBaseTypes=e.emptyArray}if(!isValidBaseType(a)){error(n.expression,e.Diagnostics.Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_known_members,typeToString(a));return t.resolvedBaseTypes=e.emptyArray}if(t===a||hasBaseType(a,t)){error(t.symbol.valueDeclaration,e.Diagnostics.Type_0_recursively_references_itself_as_a_base_type,typeToString(t,undefined,2));return t.resolvedBaseTypes=e.emptyArray}if(t.resolvedBaseTypes===e.resolvingEmptyArray){t.members=undefined}return t.resolvedBaseTypes=[a]}function areAllOuterTypeParametersApplied(e){var t=e.outerTypeParameters;if(t){var r=t.length-1;var n=e.typeArguments;return t[r].symbol!==n[r].symbol}return true}function isValidBaseType(t){return!!(t.flags&(524288|67108864|1))&&!isGenericMappedType(t)||!!(t.flags&2097152)&&e.every(t.types,isValidBaseType)}function resolveBaseTypesOfInterface(t){t.resolvedBaseTypes=t.resolvedBaseTypes||e.emptyArray;for(var r=0,n=t.symbol.declarations;r=o?4096:0;var c=createSymbol(1,i,a);c.type=n===s?createArrayType(e):e;return c});return e.concatenate(t.parameters.slice(0,r),c)}}return t.parameters}function getDefaultConstructSignatures(t){var r=getBaseConstructorTypeOfClass(t);var n=getSignaturesOfType(r,1);if(n.length===0){return[createSignature(undefined,t.localTypeParameters,undefined,e.emptyArray,t,undefined,0,false,false)]}var i=getBaseTypeNodeOfClass(t);var a=e.isInJSFile(i);var o=typeArgumentsFromTypeReferenceNode(i);var s=e.length(o);var c=[];for(var u=0,l=n;u=d&&s<=p){var g=p?createSignatureInstantiation(f,fillMissingTypeArguments(o,f.typeParameters,d,a)):cloneSignature(f);g.typeParameters=t.localTypeParameters;g.resolvedReturnType=t;c.push(g)}}return c}function findMatchingSignature(e,t,r,n,i){for(var a=0,o=e;a0){return undefined}for(var i=1;i1){var u=o.thisParameter;if(e.forEach(s,function(e){return e.thisParameter})){var l=getUnionType(e.map(s,function(e){return e.thisParameter?getTypeOfSymbol(e.thisParameter):X}),2);u=createSymbolWithType(o.thisParameter,l)}c=cloneSignature(o);c.thisParameter=u;c.unionSignatures=s}(r||(r=[])).push(c)}}}}return r||e.emptyArray}function getUnionIndexInfo(e,t){var r=[];var n=false;for(var i=0,a=e;i0){l=e.map(l,function(e){var t=cloneSignature(e);t.resolvedReturnType=includeMixinType(getReturnTypeOfSignature(e),o,c);return t})}n=e.concatenate(n,l)}r=e.concatenate(r,getSignaturesOfType(u,0));i=intersectIndexInfos(i,getIndexInfoOfType(u,0));a=intersectIndexInfos(a,getIndexInfoOfType(u,1))};for(var u=0;u=6):r.flags&528?et:r.flags&12288?getGlobalESSymbolType(C>=2):r.flags&67108864?xe:r.flags&4194304?Se:r}function createUnionOrIntersectionProperty(t,r){var n;var i;var a=t.flags&1048576;var o=a?24:0;var s=a?0:16777216;var c=4;var u=0;for(var l=0,f=t.types;l=0);return n>=getMinArgumentCount(r)}var i=e.getImmediatelyInvokedFunctionExpression(t.parent);if(i){return!t.type&&!t.dotDotDotToken&&t.parent.parameters.indexOf(t)>=i.arguments.length}return false}function isOptionalJSDocParameterTag(t){if(!e.isJSDocParameterTag(t)){return false}var r=t.isBracketed,n=t.typeExpression;return r||!!n&&n.type.kind===288}function createIdentifierTypePredicate(e,t,r){return{kind:1,parameterName:e,parameterIndex:t,type:r}}function createThisTypePredicate(e){return{kind:0,type:e}}function getMinTypeArgumentCount(e){var t=0;if(e){for(var r=0;r=n&&o<=a){var s=t?t.slice():[];var c=getDefaultTypeArgumentType(i);var u=createTypeMapper(r,e.map(r,function(){return c}));for(var l=o;lc.arguments.length&&!g||l||isJSDocOptionalParameter(d);if(!m){a=n.length}}if((t.kind===158||t.kind===159)&&!hasNonBindableDynamicName(t)&&(!s||!o)){var y=t.kind===158?159:158;var h=e.getDeclarationOfKind(getSymbolOfNode(t),y);if(h){o=getAnnotatedAccessorThisParameter(h)}}var v=t.kind===157?getDeclaredTypeOfClassOrInterface(getMergedSymbol(t.parent.symbol)):undefined;var T=v?v.localTypeParameters:getTypeParametersFromDeclaration(t);var S=e.hasRestParameter(t)||e.isInJSFile(t)&&maybeAddJsSyntheticRestParameter(t,n);r.resolvedSignature=createSignature(t,T,o,n,undefined,undefined,a,S,i)}return r.resolvedSignature}function maybeAddJsSyntheticRestParameter(t,r){if(e.isJSDocSignature(t)||!containsArgumentsReference(t)){return false}var n=e.lastOrUndefined(t.parameters);var i=n?e.getJSDocParameterTags(n):e.getJSDocTags(t).filter(e.isJSDocParameterTag);var a=e.firstDefined(i,function(t){return t.typeExpression&&e.isJSDocVariadicType(t.typeExpression.type)?t.typeExpression.type:undefined});var o=createSymbol(3,"args",8192);o.type=a?createArrayType(getTypeFromTypeNode(a.type)):nt;if(a){r.pop()}r.push(o);return true}function getSignatureOfTypeTag(t){var r=e.isInJSFile(t)?e.getJSDocTypeTag(t):undefined;var n=r&&r.typeExpression&&getSingleCallSignature(getTypeFromTypeNode(r.typeExpression));return n&&getErasedSignature(n)}function getReturnTypeOfTypeTag(e){var t=getSignatureOfTypeTag(e);return t&&getReturnTypeOfSignature(t)}function containsArgumentsReference(t){var r=getNodeLinks(t);if(r.containsArgumentsReference===undefined){if(r.flags&8192){r.containsArgumentsReference=true}else{r.containsArgumentsReference=traverse(t.body)}}return r.containsArgumentsReference;function traverse(t){if(!t)return false;switch(t.kind){case 72:return t.escapedText==="arguments"&&e.isExpressionNode(t);case 154:case 156:case 158:case 159:return t.name.kind===149&&traverse(t.name);default:return!e.nodeStartsNewLexicalEnvironment(t)&&!e.isPartOfTypeNode(t)&&!!e.forEachChild(t,traverse)}}}function getSignaturesOfSymbol(t){if(!t)return e.emptyArray;var r=[];for(var n=0;n0&&i.body){var a=t.declarations[n-1];if(i.parent===a.parent&&i.kind===a.kind&&i.pos===a.end){continue}}r.push(getSignatureFromDeclaration(i))}return r}function resolveExternalModuleTypeByLiteral(e){var t=resolveExternalModuleName(e,e);if(t){var r=resolveExternalModuleSymbol(t);if(r){return getTypeOfSymbol(r)}}return X}function getThisTypeOfSignature(e){if(e.thisParameter){return getTypeOfSymbol(e.thisParameter)}}function signatureHasTypePredicate(e){return getTypePredicateOfSignature(e)!==undefined}function getTypePredicateOfSignature(t){if(!t.resolvedTypePredicate){if(t.target){var r=getTypePredicateOfSignature(t.target);t.resolvedTypePredicate=r?instantiateTypePredicate(r,t.mapper):Me}else if(t.unionSignatures){t.resolvedTypePredicate=getUnionTypePredicate(t.unionSignatures)||Me}else{var n=t.declaration&&e.getEffectiveReturnTypeNode(t.declaration);var i=void 0;if(!n&&e.isInJSFile(t.declaration)){var a=getSignatureOfTypeTag(t.declaration);if(a&&t!==a){i=getTypePredicateOfSignature(a)}}t.resolvedTypePredicate=n&&e.isTypePredicateNode(n)?createTypePredicateFromTypePredicateNode(n,t.declaration):i||Me}e.Debug.assert(!!t.resolvedTypePredicate)}return t.resolvedTypePredicate===Me?undefined:t.resolvedTypePredicate}function createTypePredicateFromTypePredicateNode(e,t){var r=e.parameterName;var n=getTypeFromTypeNode(e.type);if(r.kind===72){return createIdentifierTypePredicate(r.escapedText,getTypePredicateParameterIndex(t.parameters,r),n)}else{return createThisTypePredicate(n)}}function getTypePredicateParameterIndex(e,t){for(var r=0;r=0}function getRestTypeOfSignature(e){return tryGetRestTypeOfSignature(e)||X}function tryGetRestTypeOfSignature(e){if(e.hasRestParameter){var t=getTypeOfSymbol(e.parameters[e.parameters.length-1]);var r=isTupleType(t)?getRestTypeOfTupleType(t):t;return r&&getIndexTypeOfType(r,1)}return undefined}function getSignatureInstantiation(e,t,r){return getSignatureInstantiationWithoutFillingInTypeArguments(e,fillMissingTypeArguments(t,e.typeParameters,getMinTypeArgumentCount(e.typeParameters),r))}function getSignatureInstantiationWithoutFillingInTypeArguments(t,r){var n=t.instantiations||(t.instantiations=e.createMap());var i=getTypeListId(r);var a=n.get(i);if(!a){n.set(i,a=createSignatureInstantiation(t,r))}return a}function createSignatureInstantiation(e,t){return instantiateSignature(e,createSignatureTypeMapper(e,t),true)}function createSignatureTypeMapper(e,t){return createTypeMapper(e.typeParameters,t)}function getErasedSignature(e){return e.typeParameters?e.erasedSignatureCache||(e.erasedSignatureCache=createErasedSignature(e)):e}function createErasedSignature(e){return instantiateSignature(e,createTypeEraser(e.typeParameters),true)}function getCanonicalSignature(e){return e.typeParameters?e.canonicalSignatureCache||(e.canonicalSignatureCache=createCanonicalSignature(e)):e}function createCanonicalSignature(t){return getSignatureInstantiation(t,e.map(t.typeParameters,function(e){return e.target&&!getConstraintOfTypeParameter(e.target)?e.target:e}),e.isInJSFile(t.declaration))}function getBaseSignature(t){var r=t.typeParameters;if(r){var n=createTypeEraser(r);var i=e.map(r,function(e){return instantiateType(getBaseConstraintOfType(e),n)||xe});return instantiateSignature(t,createTypeMapper(r,i),true)}return t}function getOrCreateTypeFromSignature(t){if(!t.isolatedSignatureType){var r=t.declaration.kind===157||t.declaration.kind===161;var n=createObjectType(16);n.members=S;n.properties=e.emptyArray;n.callSignatures=!r?[t]:e.emptyArray;n.constructSignatures=r?[t]:e.emptyArray;t.isolatedSignatureType=n}return t.isolatedSignatureType}function getIndexSymbol(e){return e.members.get("__index")}function getIndexDeclarationOfSymbol(t,r){var n=r===1?135:138;var i=getIndexSymbol(t);if(i){for(var a=0,o=i.declarations;a1){t+=":"+a}n+=a}}return t}function getPropagatingFlagsOfTypes(e,t){var r=0;for(var n=0,i=e;na.length)){var l=c&&e.isExpressionWithTypeArguments(t)&&!e.isJSDocAugmentsTag(t.parent);var f=s===a.length?l?e.Diagnostics.Expected_0_type_arguments_provide_these_with_an_extends_tag:e.Diagnostics.Generic_type_0_requires_1_type_argument_s:l?e.Diagnostics.Expected_0_1_type_arguments_provide_these_with_an_extends_tag:e.Diagnostics.Generic_type_0_requires_between_1_and_2_type_arguments;var d=typeToString(i,undefined,2);error(t,f,d,s,a.length);if(!c){return ee}}var p=e.concatenate(i.outerTypeParameters,fillMissingTypeArguments(n,a,s,c));return createTypeReference(i,p)}return checkNoTypeArguments(t,r)?i:ee}function getTypeAliasInstantiation(t,r){var n=getDeclaredTypeOfSymbol(t);var i=getSymbolLinks(t);var a=i.typeParameters;var o=getTypeListId(r);var s=i.instantiations.get(o);if(!s){i.instantiations.set(o,s=instantiateType(n,createTypeMapper(a,fillMissingTypeArguments(r,a,getMinTypeArgumentCount(a),e.isInJSFile(t.valueDeclaration)))))}return s}function getTypeFromTypeAliasReference(t,r,n){var i=getDeclaredTypeOfSymbol(r);var a=getSymbolLinks(r).typeParameters;if(a){var o=e.length(t.typeArguments);var s=getMinTypeArgumentCount(a);if(oa.length){error(t,s===a.length?e.Diagnostics.Generic_type_0_requires_1_type_argument_s:e.Diagnostics.Generic_type_0_requires_between_1_and_2_type_arguments,symbolToString(r),s,a.length);return ee}return getTypeAliasInstantiation(r,n)}return checkNoTypeArguments(t,r)?i:ee}function getTypeReferenceName(t){switch(t.kind){case 164:return t.typeName;case 211:var r=t.expression;if(e.isEntityNameExpression(r)){return r}}return undefined}function resolveTypeReferenceName(e,t){if(!e){return Q}return resolveEntityName(e,t)||Q}function getTypeReferenceType(t,r){var n=typeArgumentsFromTypeReferenceNode(t);if(r===Q){return ee}var i=getTypeReferenceTypeWorker(t,r,n);if(i){return i}var a=e.isInJSFile(t)&&r.valueDeclaration&&e.getJSDocEnumTag(r.valueDeclaration);if(a){var o=getNodeLinks(a);if(!pushTypeResolution(a,5)){return ee}var s=a.typeExpression?getTypeFromTypeNode(a.typeExpression):ee;if(!popTypeResolution()){s=ee;error(t,e.Diagnostics.Enum_type_0_circularly_references_itself,symbolToString(r))}return o.resolvedEnumType=s}var c=tryGetDeclaredTypeOfSymbol(r);if(c){return checkNoTypeArguments(t,r)?c.flags&262144?getConstrainedTypeVariable(c,t):getRegularTypeOfLiteralType(c):ee}if(!(r.flags&67220415&&isJSDocTypeReference(t))){return ee}var u=getJSDocTypeReference(t,r,n);if(u){return u}resolveTypeReferenceName(getTypeReferenceName(t),67897832);return getTypeOfSymbol(r)}function getJSDocTypeReference(t,r,n){if(!pushTypeResolution(r,6)){return ee}var i=getAssignedClassType(r);var a=getTypeOfSymbol(r);var o=a.symbol&&a.symbol!==r&&!isInferredClassType(a)&&getTypeReferenceTypeWorker(t,a.symbol,n);if(!popTypeResolution()){getSymbolLinks(r).resolvedJSDocType=ee;error(t,e.Diagnostics.JSDoc_type_0_circularly_references_itself,symbolToString(r));return ee}if(o||i){var s=o&&i?getIntersectionType([i,o]):o||i;return getSymbolLinks(r).resolvedJSDocType=s}}function getTypeReferenceTypeWorker(t,r,n){if(r.flags&(32|64)){if(r.valueDeclaration&&e.isBinaryExpression(r.valueDeclaration.parent)){var i=getJSDocTypeReference(t,r,n);if(i){return i}}return getTypeFromClassOrInterfaceReference(t,r,n)}if(r.flags&524288){return getTypeFromTypeAliasReference(t,r,n)}if(r.flags&16&&isJSDocTypeReference(t)&&(r.members||e.getJSDocClassTag(r.valueDeclaration))){return getInferredClassType(r)}}function getSubstitutionType(e,t){var r=createType(33554432);r.typeVariable=e;r.substitute=t;return r}function isUnaryTupleTypeNode(e){return e.kind===170&&e.elementTypes.length===1}function getImpliedConstraint(e,t,r){return isUnaryTupleTypeNode(t)&&isUnaryTupleTypeNode(r)?getImpliedConstraint(e,t.elementTypes[0],r.elementTypes[0]):getActualTypeVariable(getTypeFromTypeNode(t))===e?getTypeFromTypeNode(r):undefined}function getConstrainedTypeVariable(t,r){var n;while(r&&!e.isStatement(r)&&r.kind!==291){var i=r.parent;if(i.kind===175&&r===i.trueType){var a=getImpliedConstraint(t,i.checkType,i.extendsType);if(a){n=e.append(n,a)}}r=i}return n?getSubstitutionType(t,getIntersectionType(e.append(n,t))):t}function isJSDocTypeReference(e){return!!(e.flags&2097152)&&(e.kind===164||e.kind===183)}function checkNoTypeArguments(t,r){if(t.typeArguments){error(t,e.Diagnostics.Type_0_is_not_generic,r?symbolToString(r):t.typeName?e.declarationNameToString(t.typeName):"(anonymous)");return false}return true}function getIntendedTypeFromJSDocTypeReference(t){if(e.isIdentifier(t.typeName)){var r=t.typeArguments;switch(t.typeName.escapedText){case"String":checkNoTypeArguments(t);return oe;case"Number":checkNoTypeArguments(t);return se;case"Boolean":checkNoTypeArguments(t);return pe;case"Void":checkNoTypeArguments(t);return _e;case"Undefined":checkNoTypeArguments(t);return re;case"Null":checkNoTypeArguments(t);return ie;case"Function":case"function":checkNoTypeArguments(t);return qe;case"Array":case"array":return!r||!r.length?nt:undefined;case"Promise":case"promise":return!r||!r.length?createPromiseType(X):undefined;case"Object":if(r&&r.length===2){if(e.isJSDocIndexSignature(t)){var n=getTypeFromTypeNode(r[0]);var i=getTypeFromTypeNode(r[1]);var a=createIndexInfo(i,false);return createAnonymousType(undefined,S,e.emptyArray,e.emptyArray,n===oe?a:undefined,n===se?a:undefined)}return X}checkNoTypeArguments(t);return X}}}function getTypeFromJSDocNullableTypeNode(e){var t=getTypeFromTypeNode(e.type);return k?getNullableType(t,65536):t}function getTypeFromTypeReference(e){var t=getNodeLinks(e);if(!t.resolvedType){var r=void 0;var n=void 0;var i=67897832;if(isJSDocTypeReference(e)){n=getIntendedTypeFromJSDocTypeReference(e);i|=67220415}if(!n){r=resolveTypeReferenceName(getTypeReferenceName(e),i);n=getTypeReferenceType(e,r)}t.resolvedSymbol=r;t.resolvedType=n}return t.resolvedType}function typeArgumentsFromTypeReferenceNode(t){return e.map(t.typeArguments,getTypeFromTypeNode)}function getTypeFromTypeQueryNode(e){var t=getNodeLinks(e);if(!t.resolvedType){t.resolvedType=getRegularTypeOfLiteralType(getWidenedType(checkExpression(e.exprName)))}return t.resolvedType}function getTypeOfGlobalSymbol(t,r){function getTypeDeclaration(e){var t=e.declarations;for(var r=0,n=t;r=r?16777216:0),""+c);l.type=u;o.push(l)}}}var f=[];for(var c=r;c<=s;c++)f.push(getLiteralType(c));var d=createSymbol(4,"length");d.type=n?se:getUnionType(f);o.push(d);var p=createObjectType(8|4);p.typeParameters=a;p.outerTypeParameters=undefined;p.localTypeParameters=a;p.instantiations=e.createMap();p.instantiations.set(getTypeListId(p.typeParameters),p);p.target=p;p.typeArguments=p.typeParameters;p.thisType=createType(262144);p.thisType.isThisType=true;p.thisType.constraint=p;p.declaredProperties=o;p.declaredCallSignatures=e.emptyArray;p.declaredConstructSignatures=e.emptyArray;p.declaredStringIndexInfo=undefined;p.declaredNumberIndexInfo=undefined;p.minLength=r;p.hasRestElement=n;p.associatedNames=i;return p}function getTupleTypeOfArity(e,t,r,n){var i=e+(r?"+":",")+t+(n&&n.length?","+n.join(","):"");var a=U.get(i);if(!a){U.set(i,a=createTupleTypeOfArity(e,t,r,n))}return a}function createTupleType(e,t,r,n){if(t===void 0){t=e.length}if(r===void 0){r=false}var i=e.length;if(i===1&&r){return createArrayType(e[0])}var a=getTupleTypeOfArity(i,t,i>0&&r,n);return e.length?createTypeReference(a,e):a}function getTypeFromTupleTypeNode(t){var r=getNodeLinks(t);if(!r.resolvedType){var n=e.lastOrUndefined(t.elementTypes);var i=n&&n.kind===172?n:undefined;var a=e.findLastIndex(t.elementTypes,function(e){return e.kind!==171&&e!==i})+1;var o=e.map(t.elementTypes,function(e){var t=getTypeFromTypeNode(e);return e===i&&getIndexTypeOfType(t,1)||t});r.resolvedType=createTupleType(o,a,!!i)}return r.resolvedType}function sliceTupleType(t,r){var n=t.target;if(n.hasRestElement){r=Math.min(r,getTypeReferenceArity(t)-1)}return createTupleType((t.typeArguments||e.emptyArray).slice(r),Math.max(0,n.minLength-r),n.hasRestElement,n.associatedNames&&n.associatedNames.slice(r))}function getTypeFromOptionalTypeNode(e){var t=getTypeFromTypeNode(e.type);return k?getOptionalType(t):t}function getTypeId(e){return e.id}function containsType(t,r){return e.binarySearch(t,r,getTypeId,e.compareValues)>=0}function insertType(t,r){var n=e.binarySearch(t,r,getTypeId,e.compareValues);if(n<0){t.splice(~n,0,r);return true}return false}function isEmptyIntersectionType(e){var t=0;for(var r=0,n=e.types;rt[a-1].id?~a:e.binarySearch(t,n,getTypeId,e.compareValues);if(o<0){t.splice(~o,0,n)}}}return r}function addTypesToUnion(e,t,r){for(var n=0,i=r;n0){r--;if(isSubtypeOfAny(t[r],t)){e.orderedRemoveItemAt(t,r)}}}function removeRedundantLiteralTypes(t,r){var n=t.length;while(n>0){n--;var i=t[n];var a=i.flags&128&&r&4||i.flags&256&&r&8||i.flags&2048&&r&64||i.flags&8192&&r&4096||isFreshLiteralType(i)&&containsType(t,i.regularType);if(a){e.orderedRemoveItemAt(t,n)}}}function getUnionType(e,t,r,n){if(t===void 0){t=1}if(e.length===0){return me}if(e.length===1){return e[0]}var i=[];var a=addTypesToUnion(i,0,e);if(t!==0){if(a&3){return a&1?a&268435456?Z:X:te}switch(t){case 1:if(a&8576|512){removeRedundantLiteralTypes(i,a)}break;case 2:removeSubtypes(i);break}if(i.length===0){return a&65536?a&134217728?ie:ae:a&32768?a&134217728?re:ne:me}}return getUnionTypeFromSortedList(i,!(a&66994211),r,n)}function getUnionTypePredicate(t){var r;var n=[];for(var i=0,a=t;i0){n--;var i=t[n];var a=i.flags&4&&r&128||i.flags&8&&r&256||i.flags&64&&r&2048||i.flags&4096&&r&8192;if(a){e.orderedRemoveItemAt(t,n)}}}function eachUnionContains(e,t){for(var r=0,n=e;r=0){if(n&&everyType(t,function(e){return!e.target.hasRestElement})){var l=getIndexNodeForAccessExpression(n);error(l,e.Diagnostics.Property_0_does_not_exist_on_type_1,e.unescapeLeadingUnderscores(s),typeToString(t))}return mapType(t,function(e){return getRestTypeOfTupleType(e)||re})}}if(!(r.flags&98304)&&isTypeAssignableToKind(r,132|296|12288)){if(t.flags&(1|131072)){return t}var f=isTypeAssignableToKind(r,296)&&getIndexInfoOfType(t,1)||getIndexInfoOfType(t,0)||undefined;if(f){if(n&&!isTypeAssignableToKind(r,4|8)){var l=getIndexNodeForAccessExpression(n);error(l,e.Diagnostics.Type_0_cannot_be_used_as_an_index_type,typeToString(r))}else if(o&&f.isReadonly&&(e.isAssignmentTarget(o)||e.isDeleteTarget(o))){error(o,e.Diagnostics.Index_signature_in_type_0_only_permits_reading,typeToString(t))}return f.type}if(r.flags&131072){return me}if(isJSLiteralType(t)){return X}if(o&&!isConstEnumObjectType(t)){if(F&&!x.suppressImplicitAnyIndexErrors){if(s!==undefined&&typeHasStaticProperty(s,t)){error(o,e.Diagnostics.Property_0_is_a_static_member_of_type_1,s,typeToString(t))}else if(getIndexTypeOfType(t,1)){error(o.argumentExpression,e.Diagnostics.Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number)}else{var d=void 0;if(s!==undefined&&(d=getSuggestionForNonexistentProperty(s,t))){if(d!==undefined){error(o.argumentExpression,e.Diagnostics.Property_0_does_not_exist_on_type_1_Did_you_mean_2,s,typeToString(t),d)}}else{error(o,e.Diagnostics.Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature,typeToString(t))}}}return a}}if(isJSLiteralType(t)){return X}if(n){var l=getIndexNodeForAccessExpression(n);if(r.flags&(128|256)){error(l,e.Diagnostics.Property_0_does_not_exist_on_type_1,""+r.value,typeToString(t))}else if(r.flags&(4|8)){error(l,e.Diagnostics.Type_0_has_no_matching_index_signature_for_type_1,typeToString(t),typeToString(r))}else{error(l,e.Diagnostics.Type_0_cannot_be_used_as_an_index_type,typeToString(r))}}if(isTypeAny(r)){return r}return a}function getIndexNodeForAccessExpression(e){return e.kind===190?e.argumentExpression:e.kind===180?e.indexType:e.kind===149?e.expression:e}function isGenericObjectType(e){return maybeTypeOfKind(e,58982400|134217728)}function isGenericIndexType(e){return maybeTypeOfKind(e,58982400|4194304)}function getSimplifiedType(e){return e.flags&8388608?getSimplifiedIndexedAccessType(e):e}function distributeIndexOverObjectType(t,r){if(t.flags&1048576){return mapType(t,function(e){return getSimplifiedType(getIndexedAccessType(e,r))})}if(t.flags&2097152){return getIntersectionType(e.map(t.types,function(e){return getSimplifiedType(getIndexedAccessType(e,r))}))}}function getSimplifiedIndexedAccessType(e){if(e.simplified){return e.simplified===Oe?e:e.simplified}e.simplified=Oe;var t=getSimplifiedType(e.objectType);var r=getSimplifiedType(e.indexType);if(r.flags&1048576){return e.simplified=mapType(r,function(e){return getSimplifiedType(getIndexedAccessType(t,e))})}if(!(r.flags&63176704)){var n=distributeIndexOverObjectType(t,r);if(n){return e.simplified=n}}if(isGenericMappedType(t)){return e.simplified=substituteIndexedMappedType(t,e)}if(t.flags&262144){var i=getConstraintOfTypeParameter(t);if(i&&isGenericMappedType(i)){return e.simplified=substituteIndexedMappedType(i,e)}}return e.simplified=e}function substituteIndexedMappedType(e,t){var r=createTypeMapper([getTypeParameterFromMappedType(e)],[t.indexType]);var n=combineTypeMappers(e.mapper,r);return instantiateType(getTemplateTypeFromMappedType(e),n)}function getIndexedAccessType(e,t,r,n){if(n===void 0){n=r?ee:te}if(e===Z||t===Z){return Z}if(isGenericIndexType(t)||!(r&&r.kind!==180)&&isGenericObjectType(e)){if(e.flags&3){return e}var i=e.id+","+t.id;var a=G.get(i);if(!a){G.set(i,a=createIndexedAccessType(e,t))}return a}var o=getApparentType(e);if(t.flags&1048576&&!(t.flags&16)){var s=[];var c=false;for(var u=0,l=t.types;u=t?xe:r}}function isInferenceContext(e){return!!e.typeParameters}function cloneTypeMapper(e){return e&&isInferenceContext(e)?createInferenceContext(e.typeParameters,e.signature,e.flags|1,e.compareTypes,e.inferences):e}function combineTypeMappers(e,t){if(!e)return t;if(!t)return e;return function(r){return instantiateType(e(r),t)}}function createReplacementMapper(e,t,r){return function(n){return n===e?t:r(n)}}function wildcardMapper(e){return e.flags&262144?Z:e}function cloneTypeParameter(e){var t=createType(262144);t.symbol=e.symbol;t.target=e;return t}function instantiateTypePredicate(t,r){if(e.isIdentifierTypePredicate(t)){return{kind:1,parameterName:t.parameterName,parameterIndex:t.parameterIndex,type:instantiateType(t.type,r)}}else{return{kind:0,type:instantiateType(t.type,r)}}}function instantiateSignature(t,r,n){var i;if(t.typeParameters&&!n){i=e.map(t.typeParameters,cloneTypeParameter);r=combineTypeMappers(createTypeMapper(t.typeParameters,i),r);for(var a=0,o=i;a=i,n)});var o=getMappedTypeModifiers(r);var s=o&4?0:o&8?getTypeReferenceArity(t)-(t.target.hasRestElement?1:0):i;return createTupleType(a,s,t.target.hasRestElement,t.target.associatedNames)}function instantiateMappedTypeTemplate(e,t,r,n){var i=combineTypeMappers(n,createTypeMapper([getTypeParameterFromMappedType(e)],[t]));var a=instantiateType(getTemplateTypeFromMappedType(e.target||e),i);var o=getMappedTypeModifiers(e);return k&&o&4&&!isTypeAssignableTo(re,a)?getOptionalType(a):k&&o&8&&r?getTypeWithFacts(a,524288):a}function instantiateAnonymousType(e,t){var r=createObjectType(e.objectFlags|64,e.symbol);if(e.objectFlags&32){r.declaration=e.declaration;var n=getTypeParameterFromMappedType(e);var i=cloneTypeParameter(n);r.typeParameter=i;t=combineTypeMappers(makeUnaryTypeMapper(n,i),t);i.mapper=t}r.target=e;r.mapper=t;r.aliasSymbol=e.aliasSymbol;r.aliasTypeArguments=instantiateTypes(e.aliasTypeArguments,t);return r}function getConditionalTypeInstantiation(t,r){var n=t.root;if(n.outerTypeParameters){var i=e.map(n.outerTypeParameters,r);var a=getTypeListId(i);var o=n.instantiations.get(a);if(!o){var s=createTypeMapper(n.outerTypeParameters,i);o=instantiateConditionalType(n,s);n.instantiations.set(a,o)}return o}return t}function instantiateConditionalType(e,t){if(e.isDistributive){var r=e.checkType;var n=t(r);if(r!==n&&n.flags&(1048576|131072)){return mapType(n,function(n){return getConditionalType(e,createReplacementMapper(r,n,t))})}}return getConditionalType(e,t)}function instantiateType(e,t){if(!e||!t||t===b){return e}if(v===50){return ee}v++;var r=instantiateTypeWorker(e,t);v--;return r}function instantiateTypeWorker(e,t){var r=e.flags;if(r&262144){return t(e)}if(r&524288){var n=e.objectFlags;if(n&16){return e.symbol&&e.symbol.flags&(16|8192|32|2048|4096)&&e.symbol.declarations?getAnonymousTypeInstantiation(e,t):e}if(n&32){return getAnonymousTypeInstantiation(e,t)}if(n&4){var i=e.typeArguments;var a=instantiateTypes(i,t);return a!==i?createTypeReference(e.target,a):e}return e}if(r&1048576&&!(r&131068)){var o=e.types;var s=instantiateTypes(o,t);return s!==o?getUnionType(s,1,e.aliasSymbol,instantiateTypes(e.aliasTypeArguments,t)):e}if(r&2097152){var o=e.types;var s=instantiateTypes(o,t);return s!==o?getIntersectionType(s,e.aliasSymbol,instantiateTypes(e.aliasTypeArguments,t)):e}if(r&4194304){return getIndexType(instantiateType(e.type,t))}if(r&8388608){return getIndexedAccessType(instantiateType(e.objectType,t),instantiateType(e.indexType,t))}if(r&16777216){return getConditionalTypeInstantiation(e,combineTypeMappers(e.mapper,t))}if(r&33554432){return instantiateType(e.typeVariable,t)}return e}function getWildcardInstantiation(e){return e.flags&(131068|3|131072)?e:e.wildcardInstantiation||(e.wildcardInstantiation=instantiateType(e,wildcardMapper))}function instantiateIndexInfo(e,t){return e&&createIndexInfo(instantiateType(e.type,t),e.isReadonly,e.declaration)}function isContextSensitive(t){e.Debug.assert(t.kind!==156||e.isObjectLiteralMethod(t));switch(t.kind){case 196:case 197:case 156:return isContextSensitiveFunctionLikeDeclaration(t);case 188:return e.some(t.properties,isContextSensitive);case 187:return e.some(t.elements,isContextSensitive);case 205:return isContextSensitive(t.whenTrue)||isContextSensitive(t.whenFalse);case 204:return t.operatorToken.kind===55&&(isContextSensitive(t.left)||isContextSensitive(t.right));case 275:return isContextSensitive(t.initializer);case 195:return isContextSensitive(t.expression);case 268:return e.some(t.properties,isContextSensitive)||e.isJsxOpeningElement(t.parent)&&e.some(t.parent.parent.children,isContextSensitive);case 267:{var r=t.initializer;return!!r&&isContextSensitive(r)}case 270:{var n=t.expression;return!!n&&isContextSensitive(n)}}return false}function isContextSensitiveFunctionLikeDeclaration(t){if(t.typeParameters){return false}if(e.some(t.parameters,function(t){return!e.getEffectiveTypeAnnotationNode(t)})){return true}if(t.kind!==197){var r=e.firstOrUndefined(t.parameters);if(!(r&&e.parameterIsThisKeyword(r))){return true}}return hasContextSensitiveReturnExpression(t)}function hasContextSensitiveReturnExpression(e){var t=e.body;return t.kind===218?false:isContextSensitive(t)}function isContextSensitiveFunctionOrObjectLiteralMethod(t){return(e.isInJSFile(t)&&e.isFunctionDeclaration(t)||isFunctionExpressionOrArrowFunction(t)||e.isObjectLiteralMethod(t))&&isContextSensitiveFunctionLikeDeclaration(t)}function getTypeWithoutSignatures(t){if(t.flags&524288){var r=resolveStructuredTypeMembers(t);if(r.constructSignatures.length||r.callSignatures.length){var n=createObjectType(16,t.symbol);n.members=r.members;n.properties=r.properties;n.callSignatures=e.emptyArray;n.constructSignatures=e.emptyArray;return n}}else if(t.flags&2097152){return getIntersectionType(e.map(t.types,getTypeWithoutSignatures))}return t}function isTypeIdenticalTo(e,t){return isTypeRelatedTo(e,t,lr)}function compareTypesIdentical(e,t){return isTypeRelatedTo(e,t,lr)?-1:0}function compareTypesAssignable(e,t){return isTypeRelatedTo(e,t,sr)?-1:0}function compareTypesSubtypeOf(e,t){return isTypeRelatedTo(e,t,or)?-1:0}function isTypeSubtypeOf(e,t){return isTypeRelatedTo(e,t,or)}function isTypeAssignableTo(e,t){return isTypeRelatedTo(e,t,sr)}function isTypeDerivedFrom(t,r){return t.flags&1048576?e.every(t.types,function(e){return isTypeDerivedFrom(e,r)}):r.flags&1048576?e.some(r.types,function(e){return isTypeDerivedFrom(t,e)}):t.flags&58982400?isTypeDerivedFrom(getBaseConstraintOfType(t)||xe,r):r===Ge?!!(t.flags&(524288|67108864)):r===qe?!!(t.flags&524288)&&isFunctionObjectType(t):hasBaseType(t,getTargetType(r))}function isTypeComparableTo(e,t){return isTypeRelatedTo(e,t,ur)}function areTypesComparable(e,t){return isTypeComparableTo(e,t)||isTypeComparableTo(t,e)}function checkTypeAssignableTo(e,t,r,n,i,a){return checkTypeRelatedTo(e,t,sr,r,n,i,a)}function checkTypeAssignableToAndOptionallyElaborate(e,t,r,n,i,a){return checkTypeRelatedToAndOptionallyElaborate(e,t,sr,r,n,i,a)}function checkTypeRelatedToAndOptionallyElaborate(e,t,r,n,i,a,o){if(isTypeRelatedTo(e,t,r))return true;if(!n||!elaborateError(i,e,t,r,a)){return checkTypeRelatedTo(e,t,r,n,a,o)}return false}function isOrHasGenericConditional(t){return!!(t.flags&16777216||t.flags&2097152&&e.some(t.types,isOrHasGenericConditional))}function elaborateError(e,t,r,n,i){if(!e||isOrHasGenericConditional(r))return false;if(!checkTypeRelatedTo(t,r,n,undefined)&&elaborateDidYouMeanToCallOrConstruct(e,t,r,n,i)){return true}switch(e.kind){case 270:case 195:return elaborateError(e.expression,t,r,n,i);case 204:switch(e.operatorToken.kind){case 59:case 27:return elaborateError(e.right,t,r,n,i)}break;case 188:return elaborateObjectLiteral(e,t,r,n);case 187:return elaborateArrayLiteral(e,t,r,n);case 268:return elaborateJsxAttributes(e,t,r,n);case 197:return elaborateArrowFunction(e,t,r,n)}return false}function elaborateDidYouMeanToCallOrConstruct(t,r,n,i,a){var o=getSignaturesOfType(r,0);var s=getSignaturesOfType(r,1);for(var c=0,u=[s,o];cc){return 0}if(t.typeParameters&&t.typeParameters!==r.typeParameters){r=getCanonicalSignature(r);t=instantiateSignatureInContextOf(t,r,undefined,s)}var u=getParameterCount(t);var l=getNonArrayRestType(t);var f=getNonArrayRestType(r);if(l&&f&&u!==c){return 0}var d=r.declaration?r.declaration.kind:0;var p=!n&&N&&d!==156&&d!==155&&d!==157;var g=-1;var _=getThisTypeOfSignature(t);if(_&&_!==_e){var m=getThisTypeOfSignature(r);if(m){var y=!p&&s(_,m,false)||s(m,_,a);if(!y){if(a){o(e.Diagnostics.The_this_types_of_each_signature_are_incompatible)}return 0}g&=y}}var h=l||f?Math.min(u,c):Math.max(u,c);var v=l||f?h-1:-1;for(var T=0;T0||typeHasCallOrConstructSignatures(t))&&!hasCommonProperties(t,r,f)){if(a){var p=getSignaturesOfType(t,0);var g=getSignaturesOfType(t,1);if(p.length>0&&isRelatedTo(getReturnTypeOfSignature(p[0]),r,false)||g.length>0&&isRelatedTo(getReturnTypeOfSignature(g[0]),r,false)){reportError(e.Diagnostics.Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it,typeToString(t),typeToString(r))}else{reportError(e.Diagnostics.Type_0_has_no_properties_in_common_with_type_1,typeToString(t),typeToString(r))}}return 0}var _=0;var m=u;var y=!!s;if(t.flags&1048576){_=n===ur?someTypeRelatedToType(t,r,a&&!(t.flags&131068)):eachTypeRelatedToType(t,r,a&&!(t.flags&131068))}else{if(r.flags&1048576){_=typeRelatedToSomeType(t,r,a&&!(t.flags&131068)&&!(r.flags&131068))}else if(r.flags&2097152){y=true;_=typeRelatedToEachType(t,r,a)}else if(t.flags&2097152){_=someTypeRelatedToType(t,r,false)}if(!_&&(t.flags&66846720||r.flags&66846720)){if(_=recursiveTypeRelatedTo(t,r,a,y)){u=m}}}if(!_&&t.flags&2097152){var v=getUnionConstraintOfIntersection(t,!!(r.flags&1048576));if(v){if(_=isRelatedTo(v,r,a,undefined,y)){u=m}}}if(!_&&a){var T=h;h=false;if(t.flags&524288&&r.flags&131068){tryElaborateErrorsForPrimitivesAndObjects(t,r)}else if(t.symbol&&t.flags&524288&&Ge===t){reportError(e.Diagnostics.The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead)}else if(f&&r.flags&2097152){var S=r.types;var b=getJsxType(c.IntrinsicAttributes,i);var x=getJsxType(c.IntrinsicClassAttributes,i);if(b!==ee&&x!==ee&&(e.contains(S,b)||e.contains(S,x))){return _}}if(!o&&T){return _}reportRelationError(o,t,r)}return _}function isIdenticalTo(e,t){var r;var n=e.flags&t.flags;if(n&524288||n&8388608||n&16777216||n&4194304||n&33554432){return recursiveTypeRelatedTo(e,t,false,false)}if(n&(1048576|2097152)){if(r=eachTypeRelatedToSomeType(e,t)){if(r&=eachTypeRelatedToSomeType(t,e)){return r}}}return 0}function hasExcessProperties(t,r,a,o){if(!F&&e.getObjectFlags(r)&16384){return false}if(maybeTypeOfKind(r,524288)&&!(e.getObjectFlags(r)&512)){var s=!!(e.getObjectFlags(t)&4096);if((n===sr||n===cr||n===ur)&&(isTypeSubsetOf(Ge,r)||!s&&isEmptyObjectType(r))){return false}if(a){return hasExcessProperties(t,a,undefined,o)}var c=function(n){if(shouldCheckAsExcessProperty(n,t.symbol)&&!isKnownProperty(r,n.escapedName,s)){if(o){if(!i)return{value:e.Debug.fail()};if(e.isJsxAttributes(i)||e.isJsxOpeningLikeElement(i)||e.isJsxOpeningLikeElement(i.parent)){reportError(e.Diagnostics.Property_0_does_not_exist_on_type_1,symbolToString(n),typeToString(r))}else{var a=t.symbol&&e.firstOrUndefined(t.symbol.declarations);var c=void 0;if(n.valueDeclaration&&e.findAncestor(n.valueDeclaration,function(e){return e===a})){var u=n.valueDeclaration;e.Debug.assertNode(u,e.isObjectLiteralElementLike);i=u;var l=u.name;if(e.isIdentifier(l)){c=getSuggestionForNonexistentProperty(l,r)}}if(c!==undefined){reportError(e.Diagnostics.Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_write_2,symbolToString(n),typeToString(r),c)}else{reportError(e.Diagnostics.Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1,symbolToString(n),typeToString(r))}}}return{value:true}}};for(var u=0,l=getPropertiesOfObjectType(t);u0||(n=1,getSignaturesOfType(t,n).length>0);if(i){return e.find(r.types,function(e){return getSignaturesOfType(e,n).length>0})}}function findMostOverlappyType(t,r){var n;var i=0;for(var a=0,o=r.types;a=i){n=s;i=u}}else if(!(c.flags&131072)&&1>=i){n=s;i=1}}return n}function findMatchingDiscriminantType(t,r){if(r.flags&1048576){var n=getPropertiesOfObjectType(t);if(n){var i=findDiscriminantProperties(n,r);if(i){return discriminateTypeByDiscriminableItems(r,e.map(i,function(e){return[function(){return getTypeOfSymbol(e)},e.escapedName]}),isRelatedTo)}}}return undefined}function typeRelatedToEachType(e,t,r){var n=-1;var i=t.types;for(var a=0,o=i;a5){reportError(e.Diagnostics.Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more,typeToString(t),typeToString(r),e.map(c.slice(0,4),function(e){return symbolToString(e)}).join(", "),c.length-4)}else{reportError(e.Diagnostics.Type_0_is_missing_the_following_properties_from_type_1_Colon_2,typeToString(t),typeToString(r),e.map(c,function(e){return symbolToString(e)}).join(", "))}}return 0}if(isObjectLiteralType(r)){for(var l=0,f=getPropertiesOfType(t);l0&&e.every(r.properties,function(e){return!!(e.flags&16777216)})}if(t.flags&2097152){return e.every(t.types,isWeakType)}return false}function hasCommonProperties(e,t,r){for(var n=0,i=getPropertiesOfType(e);n"}else{n+="-"+o.id}}return n}function getRelationKey(e,t,r){if(r===lr&&e.id>t.id){var n=e;e=t;t=n}if(isTypeReferenceWithGenericArguments(e)&&isTypeReferenceWithGenericArguments(t)){var i=[];return getTypeReferenceId(e,i)+","+getTypeReferenceId(t,i)}return e.id+","+t.id}function forEachProperty(t,r){if(e.getCheckFlags(t)&6){for(var n=0,i=t.containingType.types;n=5&&e.flags&524288){var n=e.symbol;if(n){var i=0;for(var a=0;a=5)return true}}}}return false}function isPropertyIdenticalTo(e,t){return compareProperties(e,t,compareTypesIdentical)!==0}function compareProperties(t,r,n){if(t===r){return-1}var i=e.getDeclarationModifierFlagsFromSymbol(t)&24;var a=e.getDeclarationModifierFlagsFromSymbol(r)&24;if(i!==a){return 0}if(i){if(getTargetSymbol(t)!==getTargetSymbol(r)){return 0}}else{if((t.flags&16777216)!==(r.flags&16777216)){return 0}}if(isReadonlySymbol(t)!==isReadonlySymbol(r)){return 0}return n(getTypeOfSymbol(t),getTypeOfSymbol(r))}function isMatchingSignature(e,t,r){var n=getParameterCount(e);var i=getParameterCount(t);var a=getMinArgumentCount(e);var o=getMinArgumentCount(t);var s=hasEffectiveRestParameter(e);var c=hasEffectiveRestParameter(t);if(n===i&&a===o&&s===c){return true}if(r&&a<=o){return true}return false}function compareSignaturesIdentical(t,r,n,i,a,o){if(t===r){return-1}if(!isMatchingSignature(t,r,n)){return 0}if(e.length(t.typeParameters)!==e.length(r.typeParameters)){return 0}t=getErasedSignature(t);r=getErasedSignature(r);var s=-1;if(!i){var c=getThisTypeOfSignature(t);if(c){var u=getThisTypeOfSignature(r);if(u){var l=o(c,u);if(!l){return 0}s&=l}}}var f=getParameterCount(r);for(var d=0;d-1&&(resolveName(a,a.name.escapedText,67897832,undefined,a.name.escapedText,true)||a.name.originalKeywordKind&&e.isTypeNodeKind(a.name.originalKeywordKind))){var o="arg"+a.parent.parameters.indexOf(a);errorOrSuggestion(F,t,e.Diagnostics.Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1,o,e.declarationNameToString(a.name));return}i=t.dotDotDotToken?F?e.Diagnostics.Rest_parameter_0_implicitly_has_an_any_type:e.Diagnostics.Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage:F?e.Diagnostics.Parameter_0_implicitly_has_an_1_type:e.Diagnostics.Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage;break;case 186:i=e.Diagnostics.Binding_element_0_implicitly_has_an_1_type;break;case 289:error(t,e.Diagnostics.Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type,n);return;case 239:case 156:case 155:case 158:case 159:case 196:case 197:if(F&&!t.name){error(t,e.Diagnostics.Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type,n);return}i=F?e.Diagnostics._0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type:e.Diagnostics._0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage;break;case 181:if(F){error(t,e.Diagnostics.Mapped_object_type_implicitly_has_an_any_template_type)}return;default:i=F?e.Diagnostics.Variable_0_implicitly_has_an_1_type:e.Diagnostics.Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage}errorOrSuggestion(F,t,i,e.declarationNameToString(e.getNameOfDeclaration(t)),n)}function reportErrorsFromWidening(e,t){if(a&&F&&t.flags&134217728){if(!reportWideningErrorsInType(t)){reportImplicitAny(e,t)}}}function forEachMatchingParameterType(e,t,r){var n=getParameterCount(e);var i=getParameterCount(t);var a=getEffectiveRestType(e);var o=getEffectiveRestType(t);var s=o?i-1:i;var c=a?s:Math.min(n,s);var u=getThisTypeOfSignature(e);if(u){var l=getThisTypeOfSignature(t);if(l){r(u,l)}}for(var f=0;fe.target.minLength||!getRestTypeOfTupleType(t)&&(!!getRestTypeOfTupleType(e)||getLengthOfTupleType(t)1){var r=e.filter(t,isObjectLiteralType);if(r.length){var n=getWidenedType(getUnionType(r,2));return e.concatenate(e.filter(t,function(e){return!isObjectLiteralType(e)}),[n])}}return t}function getContravariantInference(e){return e.priority&28?getIntersectionType(e.contraCandidates):getCommonSubtype(e.contraCandidates)}function getCovariantInference(t,r){var n=widenObjectLiteralCandidates(t.candidates);var i=hasPrimitiveConstraint(t.typeParameter);var a=!i&&t.topLevel&&(t.isFixed||!isTypeParameterAtTopLevel(getReturnTypeOfSignature(r),t.typeParameter));var o=i?e.sameMap(n,getRegularTypeOfLiteralType):a?e.sameMap(n,getWidenedLiteralType):n;var s=t.priority&28?getUnionType(o,2):getCommonSupertype(o);return getWidenedType(s)}function getInferredType(e,t){var r=e.inferences[t];var n=r.inferredType;if(!n){var i=e.signature;if(i){var a=r.candidates?getCovariantInference(r,i):undefined;if(r.contraCandidates){var o=getContravariantInference(r);n=a&&!(a.flags&131072)&&isTypeSubtypeOf(a,o)?a:o}else if(a){n=a}else if(e.flags&1){n=ye}else{var s=getDefaultFromTypeParameter(r.typeParameter);if(s){n=instantiateType(s,combineTypeMappers(createBackreferenceMapper(e.signature.typeParameters,t),e))}else{n=getDefaultTypeArgumentType(!!(e.flags&2))}}}else{n=getTypeFromInference(r)}r.inferredType=n;var c=getConstraintOfTypeParameter(r.typeParameter);if(c){var u=instantiateType(c,e);if(!e.compareTypes(n,getTypeWithThisArgument(u,n))){r.inferredType=n=u}}}return n}function getDefaultTypeArgumentType(e){return e?X:xe}function getInferredTypes(e){var t=[];for(var r=0;r=n&&o-1){var l=a.filter(function(e){return e!==undefined});var f=o=2||(r.flags&(2|32))===0||r.valueDeclaration.parent.kind===274){return}var n=e.getEnclosingBlockScopeContainer(r.valueDeclaration);var i=isInsideFunction(t.parent,n);var a=n;var o=false;while(a&&!e.nodeStartsNewLexicalEnvironment(a)){if(e.isIterationStatement(a,false)){o=true;break}a=a.parent}if(o){if(i){var s=true;if(e.isForStatement(n)&&e.getAncestor(r.valueDeclaration,238).parent===n){var c=getPartOfForStatementContainingNode(t.parent,n);if(c){var u=getNodeLinks(c);u.flags|=131072;var l=u.capturedBlockScopeBindings||(u.capturedBlockScopeBindings=[]);e.pushIfUnique(l,r);if(c===n.initializer){s=false}}}if(s){getNodeLinks(a).flags|=65536}}if(n.kind===225&&e.getAncestor(r.valueDeclaration,238).parent===n&&isAssignedInBodyOfForStatement(t,n)){getNodeLinks(r.valueDeclaration).flags|=4194304}getNodeLinks(r.valueDeclaration).flags|=524288}if(i){getNodeLinks(r.valueDeclaration).flags|=262144}}function isBindingCapturedByNode(t,r){var n=getNodeLinks(t);return!!n&&e.contains(n.capturedBlockScopeBindings,getSymbolOfNode(r))}function isAssignedInBodyOfForStatement(t,r){var n=t;while(n.parent.kind===195){n=n.parent}var i=false;if(e.isAssignmentTarget(n)){i=true}else if(n.parent.kind===202||n.parent.kind===203){var a=n.parent;i=a.operator===44||a.operator===45}if(!i){return false}return!!e.findAncestor(n,function(e){return e===r?"quit":e===r.statement})}function captureLexicalThis(e,t){getNodeLinks(e).flags|=2;if(t.kind===154||t.kind===157){var r=t.parent;getNodeLinks(r).flags|=4}else{getNodeLinks(t).flags|=4}}function findFirstSuperCall(t){if(e.isSuperCall(t)){return t}else if(e.isFunctionLike(t)){return undefined}return e.forEachChild(t,findFirstSuperCall)}function getSuperCallInConstructor(e){var t=getNodeLinks(e);if(t.hasSuperCall===undefined){t.superCall=findFirstSuperCall(e.body);t.hasSuperCall=t.superCall?true:false}return t.superCall}function classDeclarationExtendsNull(e){var t=getSymbolOfNode(e);var r=getDeclaredTypeOfSymbol(t);var n=getBaseConstructorTypeOfClass(r);return n===ae}function checkThisBeforeSuper(t,r,n){var i=r.parent;var a=e.getEffectiveBaseTypeNode(i);if(a&&!classDeclarationExtendsNull(i)){var o=getSuperCallInConstructor(r);if(!o||o.end>t.pos){error(t,n)}}}function checkThisExpression(t){var r=e.getThisContainer(t,true);var n=false;if(r.kind===157){checkThisBeforeSuper(t,r,e.Diagnostics.super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class)}if(r.kind===197){r=e.getThisContainer(r,false);n=true}switch(r.kind){case 244:error(t,e.Diagnostics.this_cannot_be_referenced_in_a_module_or_namespace_body);break;case 243:error(t,e.Diagnostics.this_cannot_be_referenced_in_current_location);break;case 157:if(isInConstructorArgumentInitializer(t,r)){error(t,e.Diagnostics.this_cannot_be_referenced_in_constructor_arguments)}break;case 154:case 153:if(e.hasModifier(r,32)){error(t,e.Diagnostics.this_cannot_be_referenced_in_a_static_property_initializer)}break;case 149:error(t,e.Diagnostics.this_cannot_be_referenced_in_a_computed_property_name);break}if(n&&C<2){captureLexicalThis(t,r)}var i=tryGetThisTypeAt(t,r);if(!i&&P){var a=error(t,n&&r.kind===279?e.Diagnostics.The_containing_arrow_function_captures_the_global_value_of_this_which_implicitly_has_type_any:e.Diagnostics.this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation);if(!e.isSourceFile(r)){var o=tryGetThisTypeAt(r);if(o){addRelatedInfo(a,e.createDiagnosticForNode(r,e.Diagnostics.An_outer_value_of_this_is_shadowed_by_this_container))}}}return i||X}function tryGetThisTypeAt(t,r){if(r===void 0){r=e.getThisContainer(t,false)}var n=e.isInJSFile(t);if(e.isFunctionLike(r)&&(!isInParameterInitializerBeforeContainingFunction(t)||e.getThisParameter(r))){var i=getClassNameFromPrototypeMethod(r);if(n&&i){var a=checkExpression(i).symbol;if(a&&a.members&&a.flags&16){var o=getJSClassType(a);if(o){return getFlowTypeOfReference(t,o)}}}else if(n&&(r.kind===196||r.kind===239)&&e.getJSDocClassTag(r)){var o=getJSClassType(r.symbol);if(o){return getFlowTypeOfReference(t,o)}}var s=getThisTypeOfDeclaration(r)||getContextualThisParameterType(r);if(s){return getFlowTypeOfReference(t,s)}}if(e.isClassLike(r.parent)){var c=getSymbolOfNode(r.parent);var u=e.hasModifier(r,32)?getTypeOfSymbol(c):getDeclaredTypeOfSymbol(c).thisType;return getFlowTypeOfReference(t,u)}if(n){var u=getTypeForThisExpressionFromJSDoc(r);if(u&&u!==ee){return getFlowTypeOfReference(t,u)}}}function getClassNameFromPrototypeMethod(t){if(t.kind===196&&e.isBinaryExpression(t.parent)&&e.getAssignmentDeclarationKind(t.parent)===3){return t.parent.left.expression.expression}else if(t.kind===156&&t.parent.kind===188&&e.isBinaryExpression(t.parent.parent)&&e.getAssignmentDeclarationKind(t.parent.parent)===6){return t.parent.parent.left.expression}else if(t.kind===196&&t.parent.kind===275&&t.parent.parent.kind===188&&e.isBinaryExpression(t.parent.parent.parent)&&e.getAssignmentDeclarationKind(t.parent.parent.parent)===6){return t.parent.parent.parent.left.expression}else if(t.kind===196&&e.isPropertyAssignment(t.parent)&&e.isIdentifier(t.parent.name)&&(t.parent.name.escapedText==="value"||t.parent.name.escapedText==="get"||t.parent.name.escapedText==="set")&&e.isObjectLiteralExpression(t.parent.parent)&&e.isCallExpression(t.parent.parent.parent)&&t.parent.parent.parent.arguments[2]===t.parent.parent&&e.getAssignmentDeclarationKind(t.parent.parent.parent)===9){return t.parent.parent.parent.arguments[0].expression}else if(e.isMethodDeclaration(t)&&e.isIdentifier(t.name)&&(t.name.escapedText==="value"||t.name.escapedText==="get"||t.name.escapedText==="set")&&e.isObjectLiteralExpression(t.parent)&&e.isCallExpression(t.parent.parent)&&t.parent.parent.arguments[2]===t.parent&&e.getAssignmentDeclarationKind(t.parent.parent)===9){return t.parent.parent.arguments[0].expression}}function getTypeForThisExpressionFromJSDoc(t){var r=e.getJSDocType(t);if(r&&r.kind===289){var n=r;if(n.parameters.length>0&&n.parameters[0].name&&n.parameters[0].name.escapedText==="this"){return getTypeFromTypeNode(n.parameters[0].type)}}var i=e.getJSDocThisTag(t);if(i&&i.typeExpression){return getTypeFromTypeNode(i.typeExpression)}}function isInConstructorArgumentInitializer(t,r){return!!e.findAncestor(t,function(e){return e===r?"quit":e.kind===151})}function checkSuperExpression(t){var r=t.parent.kind===191&&t.parent.expression===t;var n=e.getSuperContainer(t,true);var i=false;if(!r){while(n&&n.kind===197){n=e.getSuperContainer(n,true);i=C<2}}var a=isLegalUsageOfSuperExpression(n);var o=0;if(!a){var s=e.findAncestor(t,function(e){return e===n?"quit":e.kind===149});if(s&&s.kind===149){error(t,e.Diagnostics.super_cannot_be_referenced_in_a_computed_property_name)}else if(r){error(t,e.Diagnostics.Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors)}else if(!n||!n.parent||!(e.isClassLike(n.parent)||n.parent.kind===188)){error(t,e.Diagnostics.super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions)}else{error(t,e.Diagnostics.super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class)}return ee}if(!r&&n.kind===157){checkThisBeforeSuper(t,n,e.Diagnostics.super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class)}if(e.hasModifier(n,32)||r){o=512}else{o=256}getNodeLinks(t).flags|=o;if(n.kind===156&&e.hasModifier(n,256)){if(e.isSuperProperty(t.parent)&&e.isAssignmentTarget(t.parent)){getNodeLinks(n).flags|=4096}else{getNodeLinks(n).flags|=2048}}if(i){captureLexicalThis(t.parent,n)}if(n.parent.kind===188){if(C<2){error(t,e.Diagnostics.super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher);return ee}else{return X}}var c=n.parent;if(!e.getEffectiveBaseTypeNode(c)){error(t,e.Diagnostics.super_can_only_be_referenced_in_a_derived_class);return ee}var u=getDeclaredTypeOfSymbol(getSymbolOfNode(c));var l=u&&getBaseTypes(u)[0];if(!l){return ee}if(n.kind===157&&isInConstructorArgumentInitializer(t,n)){error(t,e.Diagnostics.super_cannot_be_referenced_in_constructor_arguments);return ee}return o===512?getBaseConstructorTypeOfClass(u):getTypeWithThisArgument(l,u.thisType);function isLegalUsageOfSuperExpression(t){if(!t){return false}if(r){return t.kind===157}else{if(e.isClassLike(t.parent)||t.parent.kind===188){if(e.hasModifier(t,32)){return t.kind===156||t.kind===155||t.kind===158||t.kind===159}else{return t.kind===156||t.kind===155||t.kind===158||t.kind===159||t.kind===154||t.kind===153||t.kind===157}}}return false}}function getContainingObjectLiteral(e){return(e.kind===156||e.kind===158||e.kind===159)&&e.parent.kind===188?e.parent:e.kind===196&&e.parent.kind===275?e.parent.parent:undefined}function getThisTypeArgument(t){return e.getObjectFlags(t)&4&&t.target===rt?t.typeArguments[0]:undefined}function getThisTypeFromContextualType(t){return mapType(t,function(t){return t.flags&2097152?e.forEach(t.types,getThisTypeArgument):getThisTypeArgument(t)})}function getContextualThisParameterType(t){if(t.kind===197){return undefined}if(isContextSensitiveFunctionOrObjectLiteralMethod(t)){var r=getContextualSignature(t);if(r){var n=r.thisParameter;if(n){return getTypeOfSymbol(n)}}}var i=e.isInJSFile(t);if(P||i){var a=getContainingObjectLiteral(t);if(a){var o=getApparentTypeOfContextualType(a);var s=a;var c=o;while(c){var u=getThisTypeFromContextualType(c);if(u){return instantiateType(u,getContextualMapper(a))}if(s.parent.kind!==275){break}s=s.parent.parent;c=getApparentTypeOfContextualType(s)}return o?getNonNullableType(o):checkExpressionCached(a)}var l=t.parent;if(l.kind===204&&l.operatorToken.kind===59){var f=l.left;if(f.kind===189||f.kind===190){var d=f.expression;if(i&&e.isIdentifier(d)){var p=e.getSourceFileOfNode(l);if(p.commonJsModuleIndicator&&getResolvedSymbol(d)===p.symbol){return undefined}}return checkExpressionCached(d)}}}return undefined}function getContextuallyTypedParameterType(t){var r=t.parent;if(!isContextSensitiveFunctionOrObjectLiteralMethod(r)){return undefined}var n=e.getImmediatelyInvokedFunctionExpression(r);if(n&&n.arguments){var i=getEffectiveCallArguments(n);var a=r.parameters.indexOf(t);if(t.dotDotDotToken){return getSpreadArgumentType(i,a,i.length,X,undefined)}var o=getNodeLinks(n);var s=o.resolvedSignature;o.resolvedSignature=Le;var c=a=0){return n}}return isNumericLiteralName(t)&&getIndexTypeOfContextualType(e,1)||getIndexTypeOfContextualType(e,0)}return undefined},true)}function getIndexTypeOfContextualType(e,t){return mapType(e,function(e){return getIndexTypeOfStructuredType(e,t)},true)}function getContextualTypeForObjectLiteralMethod(t){e.Debug.assert(e.isObjectLiteralMethod(t));if(t.flags&8388608){return undefined}return getContextualTypeForObjectLiteralElement(t)}function getContextualTypeForObjectLiteralElement(e){var t=e.parent;var r=getApparentTypeOfContextualType(t);if(r){if(!hasNonBindableDynamicName(e)){var n=getSymbolOfNode(e).escapedName;var i=getTypeOfPropertyOfContextualType(r,n);if(i){return i}}return isNumericName(e.name)&&getIndexTypeOfContextualType(r,1)||getIndexTypeOfContextualType(r,0)}return undefined}function getContextualTypeForElementExpression(e,t){return e&&(getTypeOfPropertyOfContextualType(e,""+t)||getIteratedTypeOrElementType(e,undefined,false,false,false))}function getContextualTypeForConditionalOperand(e){var t=e.parent;return e===t.whenTrue||e===t.whenFalse?getContextualType(t):undefined}function getContextualTypeForChildJsxExpression(e){var t=getApparentTypeOfContextualType(e.openingElement.tagName);var r=getJsxElementChildrenPropertyName(getJsxNamespaceAt(e));return t&&!isTypeAny(t)&&r&&r!==""?getTypeOfPropertyOfContextualType(t,r):undefined}function getContextualTypeForJsxExpression(t){var r=t.parent;return e.isJsxAttributeLike(r)?getContextualType(t):e.isJsxElement(r)?getContextualTypeForChildJsxExpression(r):undefined}function getContextualTypeForJsxAttribute(t){if(e.isJsxAttribute(t)){var r=getApparentTypeOfContextualType(t.parent);if(!r||isTypeAny(r)){return undefined}return getTypeOfPropertyOfContextualType(r,t.name.escapedText)}else{return getContextualType(t.parent)}}function isPossiblyDiscriminantValue(e){switch(e.kind){case 10:case 8:case 9:case 14:case 102:case 87:case 96:case 72:case 141:return true;case 189:case 195:return isPossiblyDiscriminantValue(e.expression);case 270:return!e.expression||isPossiblyDiscriminantValue(e.expression)}return false}function discriminateContextualTypeByObjectMembers(t,r){return discriminateTypeByDiscriminableItems(r,e.map(e.filter(t.properties,function(e){return!!e.symbol&&e.kind===275&&isPossiblyDiscriminantValue(e.initializer)&&isDiscriminantProperty(r,e.symbol.escapedName)}),function(e){return[function(){return checkExpression(e.initializer)},e.symbol.escapedName]}),isTypeAssignableTo,r)}function discriminateContextualTypeByJSXAttributes(t,r){return discriminateTypeByDiscriminableItems(r,e.map(e.filter(t.properties,function(e){return!!e.symbol&&e.kind===267&&isDiscriminantProperty(r,e.symbol.escapedName)&&(!e.initializer||isPossiblyDiscriminantValue(e.initializer))}),function(e){return[!e.initializer?function(){return fe}:function(){return checkExpression(e.initializer)},e.symbol.escapedName]}),isTypeAssignableTo,r)}function getApparentTypeOfContextualType(t){var r=getContextualType(t);r=r&&mapType(r,getApparentType);if(r&&r.flags&1048576){if(e.isObjectLiteralExpression(t)){return discriminateContextualTypeByObjectMembers(t,r)}else if(e.isJsxAttributes(t)){return discriminateContextualTypeByJSXAttributes(t,r)}}return r}function getContextualType(t){if(t.flags&8388608){return undefined}if(t.contextualType){return t.contextualType}var r=t.parent;switch(r.kind){case 237:case 151:case 154:case 153:case 186:return getContextualTypeForInitializerExpression(t);case 197:case 230:return getContextualTypeForReturnExpression(t);case 207:return getContextualTypeForYieldOperand(r);case 201:return getContextualTypeForAwaitOperand(r);case 191:case 192:return getContextualTypeForArgument(r,t);case 194:case 212:return getTypeFromTypeNode(r.type);case 204:return getContextualTypeForBinaryOperand(t);case 275:case 276:return getContextualTypeForObjectLiteralElement(r);case 277:return getApparentTypeOfContextualType(r.parent);case 187:{var n=r;var i=getApparentTypeOfContextualType(n);return getContextualTypeForElementExpression(i,e.indexOfNode(n.elements,t))}case 205:return getContextualTypeForConditionalOperand(t);case 216:e.Debug.assert(r.parent.kind===206);return getContextualTypeForSubstitutionExpression(r.parent,t);case 195:{var a=e.isInJSFile(r)?e.getJSDocTypeTag(r):undefined;return a?getTypeFromTypeNode(a.typeExpression.type):getContextualType(r)}case 270:return getContextualTypeForJsxExpression(r);case 267:case 269:return getContextualTypeForJsxAttribute(r);case 262:case 261:return getContextualJsxElementAttributesType(r)}return undefined}function getContextualMapper(t){var r=e.findAncestor(t,function(e){return!!e.contextualMapper});return r?r.contextualMapper:b}function getContextualJsxElementAttributesType(t){if(e.isJsxOpeningElement(t)&&t.parent.contextualType){return t.parent.contextualType}return getContextualTypeForArgumentAtIndex(t,0)}function getEffectiveFirstArgumentForJsxSignature(e,t){return getJsxReferenceKind(t)!==0?getJsxPropsTypeFromCallSignature(e,t):getJsxPropsTypeFromClassType(e,t)}function getJsxPropsTypeFromCallSignature(e,t){var r=getTypeOfFirstParameterOfSignatureWithFallback(e,xe);r=getJsxManagedAttributesFromLocatedAttributes(t,getJsxNamespaceAt(t),r);var n=getJsxType(c.IntrinsicAttributes,t);if(n!==ee){r=intersectTypes(n,r)}return r}function getJsxPropsTypeForSignatureFromMember(e,t){var r=getReturnTypeOfSignature(e);return isTypeAny(r)?r:getTypeOfPropertyOfType(r,t)}function getStaticTypeOfReferencedJsxConstructor(e){if(isJsxIntrinsicIdentifier(e.tagName)){var t=getIntrinsicAttributesTypeFromJsxOpeningLikeElement(e);var r=createSignatureForJSXIntrinsic(e,t);return getOrCreateTypeFromSignature(r)}var n=checkExpressionCached(e.tagName);if(n.flags&128){var t=getIntrinsicAttributesTypeFromStringLiteralType(n,e);if(!t){return ee}var r=createSignatureForJSXIntrinsic(e,t);return getOrCreateTypeFromSignature(r)}return n}function getJsxManagedAttributesFromLocatedAttributes(t,r,n){var i=getJsxLibraryManagedAttributes(r);if(i){var a=getDeclaredTypeOfSymbol(i);var o=getStaticTypeOfReferencedJsxConstructor(t);if(e.length(a.typeParameters)>=2){var s=fillMissingTypeArguments([o,n],a.typeParameters,2,e.isInJSFile(t));return createTypeReference(a,s)}else if(e.length(a.aliasTypeArguments)>=2){var s=fillMissingTypeArguments([o,n],a.aliasTypeArguments,2,e.isInJSFile(t));return getTypeAliasInstantiation(a.aliasSymbol,s)}}return n}function getJsxPropsTypeFromClassType(t,r){var n=getJsxNamespaceAt(r);var i=getJsxElementPropertiesName(n);var a=i===undefined?getTypeOfFirstParameterOfSignatureWithFallback(t,xe):i===""?getReturnTypeOfSignature(t):getJsxPropsTypeForSignatureFromMember(t,i);if(!a){if(!!i&&!!e.length(r.attributes.properties)){error(r,e.Diagnostics.JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property,e.unescapeLeadingUnderscores(i))}return xe}a=getJsxManagedAttributesFromLocatedAttributes(r,n,a);if(isTypeAny(a)){return a}else{var o=a;var s=getJsxType(c.IntrinsicClassAttributes,r);if(s!==ee){var u=getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(s.symbol);var l=getReturnTypeOfSignature(t);o=intersectTypes(u?createTypeReference(s,fillMissingTypeArguments([l],u,getMinTypeArgumentCount(u),e.isInJSFile(r))):s,o)}var f=getJsxType(c.IntrinsicAttributes,r);if(f!==ee){o=intersectTypes(f,o)}return o}}function getContextualCallSignature(e,t){var r=getSignaturesOfType(e,0);if(r.length===1){var n=r[0];if(!isAritySmaller(n,t)){return n}}}function isAritySmaller(t,r){var n=0;for(;n0&&i[a-1].kind===208;var y=a-(m?1:0);var h=void 0;if(c&&y>0){var _=cloneTypeReference(createTupleType(s,y,m));_.pattern=t;return _}else if(h=getArrayLiteralTupleTypeIfApplicable(s,u,m,a)){return h}else if(n){return createTupleType(s,y,m)}}return getArrayLiteralType(s,2)}function getArrayLiteralTupleTypeIfApplicable(t,r,n,i){if(i===void 0){i=t.length}if(r&&forEachType(r,isTupleLikeType)){var a=i-(n?1:0);var o=r.pattern;if(!n&&o&&(o.kind===185||o.kind===187)){var s=o.elements;for(var c=i;c0){o=getSpreadType(o,createObjectLiteralType(),t.symbol,s,32768);a=[];i=e.createSymbolTable();_=false;m=false;p=0}var b=checkExpression(v.expression);if(!isValidSpreadType(b)){error(v,e.Diagnostics.Spread_types_may_only_be_created_from_object_types);return ee}o=getSpreadType(o,b,t.symbol,s,32768);y=h+1;continue}else{e.Debug.assert(v.kind===158||v.kind===159);checkNodeDeferred(v)}if(S&&!(S.flags&8576)){if(isTypeAssignableTo(S,Te)){if(isTypeAssignableTo(S,se)){m=true}else{_=true}if(n){g=true}}}else{i.set(T.escapedName,T)}a.push(T)}if(u){for(var O=0,F=getPropertiesOfType(c);O0){o=getSpreadType(o,createObjectLiteralType(),t.symbol,s,32768)}return o}return createObjectLiteralType();function createObjectLiteralType(){var r=_?getObjectLiteralIndexInfo(t.properties,y,a,0):undefined;var o=m?getObjectLiteralIndexInfo(t.properties,y,a,1):undefined;var c=createAnonymousType(t.symbol,i,e.emptyArray,e.emptyArray,r,o);c.flags|=268435456|p&939524096;c.objectFlags|=128|w;if(d){c.objectFlags|=16384}if(g){c.objectFlags|=512}if(n){c.pattern=t}s|=c.flags&939524096;return c}}function isValidSpreadType(t){return!!(t.flags&(3|67108864|524288|58982400)||getFalsyFlags(t)&117632&&isValidSpreadType(removeDefinitelyFalsyTypes(t))||t.flags&3145728&&e.every(t.types,isValidSpreadType))}function checkJsxSelfClosingElementDeferred(e){checkJsxOpeningLikeElementOrOpeningFragment(e)}function checkJsxSelfClosingElement(e,t){checkNodeDeferred(e);return getJsxElementTypeAt(e)||X}function checkJsxElementDeferred(e){checkJsxOpeningLikeElementOrOpeningFragment(e.openingElement);if(isJsxIntrinsicIdentifier(e.closingElement.tagName)){getIntrinsicTagSymbol(e.closingElement)}else{checkExpression(e.closingElement.tagName)}checkJsxChildren(e)}function checkJsxElement(e,t){checkNodeDeferred(e);return getJsxElementTypeAt(e)||X}function checkJsxFragment(t){checkJsxOpeningLikeElementOrOpeningFragment(t.openingFragment);if(x.jsx===2&&(x.jsxFactory||e.getSourceFileOfNode(t).pragmas.has("jsx"))){error(t,x.jsxFactory?e.Diagnostics.JSX_fragment_is_not_supported_when_using_jsxFactory:e.Diagnostics.JSX_fragment_is_not_supported_when_using_an_inline_JSX_factory_pragma)}checkJsxChildren(t);return getJsxElementTypeAt(t)||X}function isUnhyphenatedJsxName(t){return!e.stringContains(t,"-")}function isJsxIntrinsicIdentifier(t){return t.kind===72&&e.isIntrinsicJsxName(t.escapedText)}function checkJsxAttribute(e,t){return e.initializer?checkExpressionForMutableLocation(e.initializer,t):fe}function createJsxAttributesTypeFromAttributesProperty(t,r){var n=t.attributes;var i=e.createSymbolTable();var a=Ce;var o=false;var s;var c=false;var u=0;var l=4096;var f=getJsxElementChildrenPropertyName(getJsxNamespaceAt(t));for(var d=0,p=n.properties;d0){a=getSpreadType(a,createJsxAttributesType(),n.symbol,u,l);i=e.createSymbolTable()}var m=checkExpressionCached(g.expression,r);if(isTypeAny(m)){o=true}if(isValidSpreadType(m)){a=getSpreadType(a,m,n.symbol,u,l)}else{s=s?getIntersectionType([s,m]):m}}}if(!o){if(i.size>0){a=getSpreadType(a,createJsxAttributesType(),n.symbol,u,l)}}var h=t.parent.kind===260?t.parent:undefined;if(h&&h.openingElement===t&&h.children.length>0){var v=checkJsxChildren(h,r);if(!o&&f&&f!==""){if(c){error(n,e.Diagnostics._0_are_specified_twice_The_attribute_named_0_will_be_overwritten,e.unescapeLeadingUnderscores(f))}var T=getApparentTypeOfContextualType(t.attributes);var S=T&&getTypeOfPropertyOfContextualType(T,f);var b=createSymbol(4|33554432,f);b.type=v.length===1?v[0]:getArrayLiteralTupleTypeIfApplicable(v,S,false)||createArrayType(getUnionType(v));var x=e.createSymbolTable();x.set(f,b);a=getSpreadType(a,createAnonymousType(n.symbol,x,e.emptyArray,e.emptyArray,undefined,undefined),n.symbol,u,l)}}if(o){return X}if(s&&a!==Ce){return getIntersectionType([s,a])}return s||(a===Ce?createJsxAttributesType():a);function createJsxAttributesType(){l|=w;var t=createAnonymousType(n.symbol,i,e.emptyArray,e.emptyArray,undefined,undefined);t.flags|=268435456|u;t.objectFlags|=128|l;return t}}function checkJsxChildren(e,t){var r=[];for(var n=0,i=e.children;n1){error(n.declarations[0],e.Diagnostics.The_global_type_JSX_0_may_not_have_more_than_one_property,e.unescapeLeadingUnderscores(t))}}return undefined}function getJsxLibraryManagedAttributes(e){return e&&getSymbol(e.exports,c.LibraryManagedAttributes,67897832)}function getJsxElementPropertiesName(e){return getNameFromJsxElementAttributesContainer(c.ElementAttributesPropertyNameContainer,e)}function getJsxElementChildrenPropertyName(e){return getNameFromJsxElementAttributesContainer(c.ElementChildrenAttributeNameContainer,e)}function getUninstantiatedJsxSignaturesOfType(t,r){if(t.flags&4){return[Le]}else if(t.flags&128){var n=getIntrinsicAttributesTypeFromStringLiteralType(t,r);if(!n){error(r,e.Diagnostics.Property_0_does_not_exist_on_type_1,t.value,"JSX."+c.IntrinsicElements);return e.emptyArray}else{var i=createSignatureForJSXIntrinsic(r,n);return[i]}}var a=getApparentType(t);var o=getSignaturesOfType(a,1);if(o.length===0){o=getSignaturesOfType(a,0)}if(o.length===0&&a.flags&1048576){o=getUnionSignatures(e.map(a.types,function(e){return getUninstantiatedJsxSignaturesOfType(e,r)}))}return o}function getIntrinsicAttributesTypeFromStringLiteralType(t,r){var n=getJsxType(c.IntrinsicElements,r);if(n!==ee){var i=t.value;var a=getPropertyOfType(n,e.escapeLeadingUnderscores(i));if(a){return getTypeOfSymbol(a)}var o=getIndexTypeOfType(n,0);if(o){return o}return undefined}return X}function checkJsxReturnAssignableToAppropriateBound(t,r,n){if(t===1){var i=getJsxStatelessElementTypeAt(n);if(i){checkTypeRelatedTo(r,i,sr,n,e.Diagnostics.JSX_element_type_0_is_not_a_constructor_function_for_JSX_elements)}}else if(t===0){var a=getJsxElementClassTypeAt(n);if(a){checkTypeRelatedTo(r,a,sr,n,e.Diagnostics.JSX_element_type_0_is_not_a_constructor_function_for_JSX_elements)}}else{var i=getJsxStatelessElementTypeAt(n);var a=getJsxElementClassTypeAt(n);if(!i||!a){return}var o=getUnionType([i,a]);checkTypeRelatedTo(r,o,sr,n,e.Diagnostics.JSX_element_type_0_is_not_a_constructor_function_for_JSX_elements)}}function getIntrinsicAttributesTypeFromJsxOpeningLikeElement(t){e.Debug.assert(isJsxIntrinsicIdentifier(t.tagName));var r=getNodeLinks(t);if(!r.resolvedJsxElementAttributesType){var n=getIntrinsicTagSymbol(t);if(r.jsxFlags&1){return r.resolvedJsxElementAttributesType=getTypeOfSymbol(n)}else if(r.jsxFlags&2){return r.resolvedJsxElementAttributesType=getIndexInfoOfSymbol(n,0).type}else{return r.resolvedJsxElementAttributesType=ee}}return r.resolvedJsxElementAttributesType}function getJsxElementClassTypeAt(e){var t=getJsxType(c.ElementClass,e);if(t===ee)return undefined;return t}function getJsxElementTypeAt(e){return getJsxType(c.Element,e)}function getJsxStatelessElementTypeAt(e){var t=getJsxElementTypeAt(e);if(t){return getUnionType([t,ie])}}function getJsxIntrinsicTagNamesAt(t){var r=getJsxType(c.IntrinsicElements,t);return r?getPropertiesOfType(r):e.emptyArray}function checkJsxPreconditions(t){if((x.jsx||0)===0){error(t,e.Diagnostics.Cannot_use_JSX_unless_the_jsx_flag_is_provided)}if(getJsxElementTypeAt(t)===undefined){if(F){error(t,e.Diagnostics.JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist)}}}function checkJsxOpeningLikeElementOrOpeningFragment(t){var r=e.isJsxOpeningLikeElement(t);if(r){checkGrammarJsxElement(t)}checkJsxPreconditions(t);var n=Xt&&x.jsx===2?e.Diagnostics.Cannot_find_name_0:undefined;var i=getJsxNamespace(t);var a=r?t.tagName:t;var o=resolveName(a,i,67220415,n,i,true);if(o){o.isReferenced=67108863;if(o.flags&2097152&&!isConstEnumOrConstEnumOnlyModule(resolveAlias(o))){markAliasSymbolAsReferenced(o)}}if(r){var s=getResolvedSignature(t);checkJsxReturnAssignableToAppropriateBound(getJsxReferenceKind(t),getReturnTypeOfSignature(s),t)}}function isKnownProperty(e,t,r){if(e.flags&524288){var n=resolveStructuredTypeMembers(e);if(n.stringIndexInfo||n.numberIndexInfo&&isNumericLiteralName(t)||getPropertyOfObjectType(e,t)||r&&!isUnhyphenatedJsxName(t)){return true}}else if(e.flags&3145728){for(var i=0,a=e.types;i=0){return f>=getMinArgumentCount(n)&&(hasEffectiveRestParameter(n)||fs){return false}if(o||a>=c){return true}for(var d=a;d=i&&r.length<=n}function getSingleCallSignature(e){if(e.flags&524288){var t=resolveStructuredTypeMembers(e);if(t.callSignatures.length===1&&t.constructSignatures.length===0&&t.properties.length===0&&!t.stringIndexInfo&&!t.numberIndexInfo){return t.callSignatures[0]}}return undefined}function instantiateSignatureInContextOf(t,r,n,i){var a=createInferenceContext(t.typeParameters,t,0,i);var o=n?instantiateSignature(r,n):r;forEachMatchingParameterType(o,t,function(e,t){inferTypes(a.inferences,e,t)});if(!n){inferTypes(a.inferences,getReturnTypeOfSignature(r),getReturnTypeOfSignature(t),8)}return getSignatureInstantiation(t,getInferredTypes(a),e.isInJSFile(r.declaration))}function inferJsxTypeArguments(e,t,r,n){var i=getEffectiveFirstArgumentForJsxSignature(t,e);var a=checkExpressionWithContextualType(e.attributes,i,r&&r[0]!==undefined?b:n);inferTypes(n.inferences,a,i);return getInferredTypes(n)}function inferTypeArguments(t,r,n,i,a){for(var o=0,s=a.inferences;o=n-1){var o=t[n-1];if(isSpreadArgument(o)){return o.kind===215?createArrayType(o.type):getArrayifiedType(checkExpressionWithContextualType(o.expression,i,a))}}var s=getIndexTypeOfType(i,1)||X;var c=maybeTypeOfKind(s,131068|4194304);var u=[];var l=-1;for(var f=r;f0||e.isJsxOpeningElement(t)&&t.parent.children.length>0?[t.attributes]:e.emptyArray}var i=t.arguments||e.emptyArray;var a=i.length;if(a&&isSpreadArgument(i[a-1])&&getSpreadArgumentIndex(i)===a-1){var o=i[a-1];var s=checkExpressionCached(o.expression);if(isTupleType(s)){var c=s.typeArguments||e.emptyArray;var u=s.target.hasRestElement?c.length-1:-1;var l=e.map(c,function(e,t){return createSyntheticExpression(o,e,t===u)});return e.concatenate(i.slice(0,a-1),l)}}return i}function getEffectiveDecoratorArguments(t){var r=t.parent;var n=t.expression;switch(r.kind){case 240:case 209:return[createSyntheticExpression(n,getTypeOfSymbol(getSymbolOfNode(r)))];case 151:var i=r.parent;return[createSyntheticExpression(n,r.parent.kind===157?getTypeOfSymbol(getSymbolOfNode(i)):ee),createSyntheticExpression(n,X),createSyntheticExpression(n,se)];case 154:case 156:case 158:case 159:var a=r.kind!==154&&C!==0;return[createSyntheticExpression(n,getParentTypeOfClassElement(r)),createSyntheticExpression(n,getClassElementPropertyKeyType(r)),createSyntheticExpression(n,a?createTypedPropertyDescriptorType(getTypeOfNode(r)):X)]}return e.Debug.fail()}function getDecoratorArgumentCount(t,r){switch(t.parent.kind){case 240:case 209:return 1;case 154:return 2;case 156:case 158:case 159:return C===0||r.parameters.length<=2?2:3;case 151:return 3;default:return e.Debug.fail()}}function getArgumentArityError(t,r,n){var i=Number.POSITIVE_INFINITY;var a=Number.NEGATIVE_INFINITY;var o=Number.NEGATIVE_INFINITY;var s=Number.POSITIVE_INFINITY;var c=n.length;var u;for(var l=0,f=r;lo)o=p;if(c-1;if(c<=a&&y){c--}var h;if(u&&getMinArgumentCount(u)>c&&u.declaration){var v=u.declaration.parameters[u.thisParameter?c+1:c];if(v){h=e.createDiagnosticForNode(v,e.isBindingPattern(v.name)?e.Diagnostics.An_argument_matching_this_binding_pattern_was_not_provided:e.Diagnostics.An_argument_for_0_was_not_provided,!v.name?c:!e.isBindingPattern(v.name)?e.idText(getFirstIdentifier(v.name)):undefined)}}if(_||y){var T=_&&y?e.Diagnostics.Expected_at_least_0_arguments_but_got_1_or_more:_?e.Diagnostics.Expected_at_least_0_arguments_but_got_1:e.Diagnostics.Expected_0_arguments_but_got_1_or_more;var S=e.createDiagnosticForNode(t,T,m,c);return h?addRelatedInfo(S,h):S}if(i1){v=chooseOverload(d,or,T)}if(!v){v=chooseOverload(d,sr,T)}if(v){return v}if(l){if(m){checkApplicableSignature(t,p,m,sr,undefined,true)}else if(y){Xt.add(getArgumentArityError(t,[y],p))}else if(h){checkTypeArguments(h,t.typeArguments,true,o)}else{var S=e.filter(r,function(e){return hasCorrectTypeArgumentArity(e,f)});if(S.length===0){Xt.add(getTypeArgumentArityError(t,r,f))}else if(!c){Xt.add(getArgumentArityError(t,S,p))}else if(o){Xt.add(e.createDiagnosticForNode(t,o))}}}return a||!p?resolveErrorCall(t):getCandidateForOverloadFailure(t,d,p,!!n);function chooseOverload(r,n,i){if(i===void 0){i=false}m=undefined;y=undefined;h=undefined;if(g){var a=r[0];if(f||!hasCorrectArity(t,p,a,i)){return undefined}if(!checkApplicableSignature(t,p,a,n,_,false)){m=a;return undefined}return a}for(var o=0;o0);return i||r.length===1||r.some(function(e){return!!e.typeParameters})?pickLongestCandidateSignature(t,r,n):createUnionOfSignaturesForOverloadFailure(r)}function createUnionOfSignaturesForOverloadFailure(t){var r=e.mapDefined(t,function(e){return e.thisParameter});var n;if(r.length){n=createCombinedSymbolFromTypes(r,r.map(getTypeOfParameter))}var i=e.minAndMax(t,getNumNonRestParameters),a=i.min,o=i.max;var s=[];var c=function(r){var n=e.mapDefined(t,function(t){var n=t.parameters,i=t.hasRestParameter;return i?rt.length){n.pop()}while(n.length=t){return i}if(o>n){n=o;r=i}}return r}function resolveCallExpression(t,r,n){if(t.expression.kind===98){var i=checkSuperExpression(t.expression);if(isTypeAny(i)){for(var a=0,o=t.arguments;a=0){error(t.arguments[i],e.Diagnostics.Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher)}}var a=checkNonNullExpression(t.expression);if(a===ye){return je}a=getApparentType(a);if(a===ee){return resolveErrorCall(t)}if(isTypeAny(a)){if(t.typeArguments){error(t,e.Diagnostics.Untyped_function_calls_may_not_accept_type_arguments)}return resolveUntypedCall(t)}var o=getSignaturesOfType(a,1);if(o.length){if(!isConstructorAccessible(t,o[0])){return resolveErrorCall(t)}var s=a.symbol&&e.getClassLikeDeclarationOfSymbol(a.symbol);if(s&&e.hasModifier(s,128)){error(t,e.Diagnostics.Cannot_create_an_instance_of_an_abstract_class);return resolveErrorCall(t)}return resolveCall(t,o,r,n)}var c=getSignaturesOfType(a,0);if(c.length){var u=resolveCall(t,c,r,n);if(!F){if(u.declaration&&!isJSConstructor(u.declaration)&&getReturnTypeOfSignature(u)!==_e){error(t,e.Diagnostics.Only_a_void_function_can_be_called_with_the_new_keyword)}if(getThisTypeOfSignature(u)===_e){error(t,e.Diagnostics.A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void)}}return u}invocationError(t,a,1);return resolveErrorCall(t)}function typeHasProtectedAccessibleBase(t,r){var n=getBaseTypes(r);if(!e.length(n)){return false}var i=n[0];if(i.flags&2097152){var a=i.types;var o=e.countWhere(a,isMixinConstructorType);var s=0;for(var c=0,u=i.types;c0){return e.parameters.length-1+r}}}return e.minArgumentCount}function hasEffectiveRestParameter(e){if(e.hasRestParameter){var t=getTypeOfSymbol(e.parameters[e.parameters.length-1]);return!isTupleType(t)||t.target.hasRestElement}return false}function getEffectiveRestType(e){if(e.hasRestParameter){var t=getTypeOfSymbol(e.parameters[e.parameters.length-1]);return isTupleType(t)?getRestArrayTypeOfTupleType(t):t}return undefined}function getNonArrayRestType(e){var t=getEffectiveRestType(e);return t&&!isArrayType(t)&&!isTypeAny(t)?t:undefined}function getTypeOfFirstParameterOfSignature(e){return getTypeOfFirstParameterOfSignatureWithFallback(e,me)}function getTypeOfFirstParameterOfSignatureWithFallback(e,t){return e.parameters.length>0?getTypeAtPosition(e,0):t}function inferFromAnnotatedParameters(t,r,n){var i=t.parameters.length-(t.hasRestParameter?1:0);for(var a=0;a=0){if(r.parameters[n.parameterIndex].dotDotDotToken){error(i,e.Diagnostics.A_type_predicate_cannot_reference_a_rest_parameter)}else{var a=function(){return e.chainDiagnosticMessages(undefined,e.Diagnostics.A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type)};checkTypeAssignableTo(n.type,getTypeOfNode(r.parameters[n.parameterIndex]),t.type,undefined,a)}}else if(i){var o=false;for(var s=0,c=r.parameters;s0&&r.declarations[0]!==t){return}}var n=getIndexSymbol(getSymbolOfNode(t));if(n){var i=false;var a=false;for(var o=0,s=n.declarations;o=0){if(r){error(r,e.Diagnostics.Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method)}return undefined}$t.push(t.id);var l=getAwaitedType(u,r,n);$t.pop();if(!l){return undefined}return i.awaitedTypeOfType=l}var f=getTypeOfPropertyOfType(t,"then");if(f&&getSignaturesOfType(f,0).length>0){if(r){if(!n)return e.Debug.fail();error(r,n)}return undefined}return i.awaitedTypeOfType=t}function checkAsyncFunctionReturnType(t,r){var n=getTypeFromTypeNode(r);if(C>=2){if(n===ee){return}var i=getGlobalPromiseType(true);if(i!==ke&&!isReferenceToType(n,i)){error(r,e.Diagnostics.The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type);return}}else{markTypeNodeAsReferenced(r);if(n===ee){return}var a=e.getEntityNameFromTypeNode(r);if(a===undefined){error(r,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value,typeToString(n));return}var o=resolveEntityName(a,67220415,true);var s=o?getTypeOfSymbol(o):ee;if(s===ee){if(a.kind===72&&a.escapedText==="Promise"&&getTargetType(n)===getGlobalPromiseType(false)){error(r,e.Diagnostics.An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option)}else{error(r,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value,e.entityNameToString(a))}return}var c=getGlobalPromiseConstructorLikeType(true);if(c===xe){error(r,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value,e.entityNameToString(a));return}if(!checkTypeAssignableTo(s,c,r,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value)){return}var u=a&&getFirstIdentifier(a);var l=getSymbol(t.locals,u.escapedText,67220415);if(l){error(l.valueDeclaration,e.Diagnostics.Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions,e.idText(u),e.entityNameToString(a));return}}checkAwaitedType(n,t,e.Diagnostics.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member)}function checkDecorator(t){var r=getResolvedSignature(t);var n=getReturnTypeOfSignature(r);if(n.flags&1){return}var i;var a=getDiagnosticHeadMessageForDecoratorResolution(t);var o;switch(t.parent.kind){case 240:var s=getSymbolOfNode(t.parent);var c=getTypeOfSymbol(s);i=getUnionType([c,_e]);break;case 151:i=_e;o=e.chainDiagnosticMessages(undefined,e.Diagnostics.The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any);break;case 154:i=_e;o=e.chainDiagnosticMessages(undefined,e.Diagnostics.The_return_type_of_a_property_decorator_function_must_be_either_void_or_any);break;case 156:case 158:case 159:var u=getTypeOfNode(t.parent);var l=createTypedPropertyDescriptorType(u);i=getUnionType([l,_e]);break;default:return e.Debug.fail()}checkTypeAssignableTo(n,i,t,a,function(){return o})}function markTypeNodeAsReferenced(t){markEntityNameOrEntityExpressionAsReference(t&&e.getEntityNameFromTypeNode(t))}function markEntityNameOrEntityExpressionAsReference(e){if(!e)return;var t=getFirstIdentifier(e);var r=(e.kind===72?67897832:1920)|2097152;var n=resolveName(t,t.escapedText,r,undefined,undefined,true);if(n&&n.flags&2097152&&symbolIsValue(n)&&!isConstEnumOrConstEnumOnlyModule(resolveAlias(n))){markAliasSymbolAsReferenced(n)}}function markDecoratorMedataDataTypeNodeAsReferenced(t){var r=getEntityNameForDecoratorMetadata(t);if(r&&e.isEntityName(r)){markEntityNameOrEntityExpressionAsReference(r)}}function getEntityNameForDecoratorMetadata(e){if(e){switch(e.kind){case 174:case 173:return getEntityNameForDecoratorMetadataFromTypeList(e.types);case 175:return getEntityNameForDecoratorMetadataFromTypeList([e.trueType,e.falseType]);case 177:return getEntityNameForDecoratorMetadata(e.type);case 164:return e.typeName}}}function getEntityNameForDecoratorMetadataFromTypeList(t){var r;for(var n=0,i=t;n-1&&n0);if(n.length>1){error(n[1],e.Diagnostics.Class_declarations_cannot_have_more_than_one_augments_or_extends_tag)}var i=getIdentifierFromEntityNameExpression(t.class.expression);var a=e.getClassExtendsHeritageElement(r);if(a){var o=getIdentifierFromEntityNameExpression(a.expression);if(o&&i.escapedText!==o.escapedText){error(i,e.Diagnostics.JSDoc_0_1_does_not_match_the_extends_2_clause,e.idText(t.tagName),e.idText(i),e.idText(o))}}}function getIdentifierFromEntityNameExpression(e){switch(e.kind){case 72:return e;case 189:return e.name;default:return undefined}}function checkFunctionOrMethodDeclaration(t){checkDecorators(t);checkSignatureDeclaration(t);var r=e.getFunctionFlags(t);if(t.name&&t.name.kind===149){checkComputedPropertyName(t.name)}if(!hasNonBindableDynamicName(t)){var n=getSymbolOfNode(t);var i=t.localSymbol||n;var o=e.find(i.declarations,function(e){return e.kind===t.kind&&!(e.flags&65536)});if(t===o){checkFunctionOrConstructorSymbol(i)}if(n.parent){if(e.getDeclarationOfKind(n,t.kind)===t){checkFunctionOrConstructorSymbol(n)}}}var s=t.kind===155?undefined:t.body;checkSourceElement(s);if((r&1)===0){var c=getReturnOrPromisedType(t,r);checkAllCodePathsInNonVoidFunctionReturnOrThrow(t,c)}if(a&&!e.getEffectiveReturnTypeNode(t)){if(e.nodeIsMissing(s)&&!isPrivateWithinAmbient(t)){reportImplicitAny(t,X)}if(r&1&&e.nodeIsPresent(s)){getReturnTypeOfSignature(getSignatureFromDeclaration(t))}}if(e.isInJSFile(t)){var u=e.getJSDocTypeTag(t);if(u&&u.typeExpression&&!getContextualCallSignature(getTypeFromTypeNode(u.typeExpression),t)){error(u,e.Diagnostics.The_type_of_a_function_declaration_must_match_the_function_s_signature)}}}function registerForUnusedIdentifiersCheck(t){if(a&&!(t.flags&4194304)){var r=e.getSourceFileOfNode(t);var n=Dt.get(r.path);if(!n){n=[];Dt.set(r.path,n)}n.push(t)}}function checkUnusedIdentifiers(t,r){for(var n=0,i=t;n=2||x.noEmit||!e.hasRestParameter(t)||t.flags&4194304||e.nodeIsMissing(t.body)){return}e.forEach(t.parameters,function(t){if(t.name&&!e.isBindingPattern(t.name)&&t.name.escapedText===B.escapedName){error(t,e.Diagnostics.Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters)}})}function needCollisionCheckForIdentifier(t,r,n){if(!(r&&r.escapedText===n)){return false}if(t.kind===154||t.kind===153||t.kind===156||t.kind===155||t.kind===158||t.kind===159){return false}if(t.flags&4194304){return false}var i=e.getRootDeclaration(t);if(i.kind===151&&e.nodeIsMissing(i.parent.body)){return false}return true}function checkIfThisIsCapturedInEnclosingScope(t){e.findAncestor(t,function(r){if(getNodeCheckFlags(r)&4){var n=t.kind!==72;if(n){error(e.getNameOfDeclaration(t),e.Diagnostics.Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference)}else{error(t,e.Diagnostics.Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference)}return true}return false})}function checkIfNewTargetIsCapturedInEnclosingScope(t){e.findAncestor(t,function(r){if(getNodeCheckFlags(r)&8){var n=t.kind!==72;if(n){error(e.getNameOfDeclaration(t),e.Diagnostics.Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_meta_property_reference)}else{error(t,e.Diagnostics.Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta_property_reference)}return true}return false})}function checkCollisionWithRequireExportsInGeneratedCode(t,r){if(E>=e.ModuleKind.ES2015||x.noEmit){return}if(!needCollisionCheckForIdentifier(t,r,"require")&&!needCollisionCheckForIdentifier(t,r,"exports")){return}if(e.isModuleDeclaration(t)&&e.getModuleInstanceState(t)!==1){return}var n=getDeclarationContainer(t);if(n.kind===279&&e.isExternalOrCommonJsModule(n)){error(r,e.Diagnostics.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module,e.declarationNameToString(r),e.declarationNameToString(r))}}function checkCollisionWithGlobalPromiseInGeneratedCode(t,r){if(C>=4||x.noEmit||!needCollisionCheckForIdentifier(t,r,"Promise")){return}if(e.isModuleDeclaration(t)&&e.getModuleInstanceState(t)!==1){return}var n=getDeclarationContainer(t);if(n.kind===279&&e.isExternalOrCommonJsModule(n)&&n.flags&1024){error(r,e.Diagnostics.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions,e.declarationNameToString(r),e.declarationNameToString(r))}}function checkVarDeclaredNamesNotShadowed(t){if((e.getCombinedNodeFlags(t)&3)!==0||e.isParameterDeclaration(t)){return}if(t.kind===237&&!t.initializer){return}var r=getSymbolOfNode(t);if(r.flags&1){if(!e.isIdentifier(t.name))return e.Debug.fail();var n=resolveName(t,t.name.escapedText,3,undefined,undefined,false);if(n&&n!==r&&n.flags&2){if(getDeclarationNodeFlagsFromSymbol(n)&3){var i=e.getAncestor(n.valueDeclaration,238);var a=i.parent.kind===219&&i.parent.parent?i.parent.parent:undefined;var o=a&&(a.kind===218&&e.isFunctionLike(a.parent)||a.kind===245||a.kind===244||a.kind===279);if(!o){var s=symbolToString(n);error(t,e.Diagnostics.Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1,s,s)}}}}}function checkParameterInitializer(t){if(e.getRootDeclaration(t).kind!==151){return}var r=e.getContainingFunction(t);visit(t.initializer);function visit(n){if(e.isTypeNode(n)||e.isDeclarationName(n)){return}if(n.kind===189){return visit(n.expression)}else if(n.kind===72){var i=resolveName(n,n.escapedText,67220415|2097152,undefined,undefined,false);if(!i||i===Q||!i.valueDeclaration){return}if(i.valueDeclaration===t){error(n,e.Diagnostics.Parameter_0_cannot_be_referenced_in_its_initializer,e.declarationNameToString(t.name));return}var a=e.getEnclosingBlockScopeContainer(i.valueDeclaration);if(a===r){if(i.valueDeclaration.kind===151||i.valueDeclaration.kind===186){if(i.valueDeclaration.pos1){if(e.some(c.declarations,function(r){return r!==t&&e.isVariableLike(r)&&!areDeclarationFlagsIdentical(r,t)})){error(t.name,e.Diagnostics.All_declarations_of_0_must_have_identical_modifiers,e.declarationNameToString(t.name))}}}else{var d=convertAutoToAny(getWidenedTypeForVariableLikeDeclaration(t));if(u!==ee&&d!==ee&&!isTypeIdenticalTo(u,d)&&!(c.flags&67108864)){errorNextVariableOrPropertyDeclarationMustHaveSameType(u,t,d)}if(t.initializer){checkTypeAssignableToAndOptionallyElaborate(checkExpressionCached(t.initializer),d,t,t.initializer,undefined)}if(!areDeclarationFlagsIdentical(t,c.valueDeclaration)){error(t.name,e.Diagnostics.All_declarations_of_0_must_have_identical_modifiers,e.declarationNameToString(t.name))}}if(t.kind!==154&&t.kind!==153){checkExportsOnMergedDeclarations(t);if(t.kind===237||t.kind===186){checkVarDeclaredNamesNotShadowed(t)}checkCollisionWithRequireExportsInGeneratedCode(t,t.name);checkCollisionWithGlobalPromiseInGeneratedCode(t,t.name)}}function errorNextVariableOrPropertyDeclarationMustHaveSameType(t,r,n){var i=e.getNameOfDeclaration(r);var a=r.kind===154||r.kind===153?e.Diagnostics.Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_type_2:e.Diagnostics.Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2;error(i,a,e.declarationNameToString(i),typeToString(t),typeToString(n))}function areDeclarationFlagsIdentical(t,r){if(t.kind===151&&r.kind===237||t.kind===237&&r.kind===151){return true}if(e.hasQuestionToken(t)!==e.hasQuestionToken(r)){return false}var n=8|16|256|128|64|32;return e.getSelectedModifierFlags(t,n)===e.getSelectedModifierFlags(r,n)}function checkVariableDeclaration(e){checkGrammarVariableDeclaration(e);return checkVariableLikeDeclaration(e)}function checkBindingElement(e){checkGrammarBindingElement(e);return checkVariableLikeDeclaration(e)}function checkVariableStatement(t){if(!checkGrammarDecoratorsAndModifiers(t)&&!checkGrammarVariableDeclarationList(t.declarationList))checkGrammarForDisallowedLetOrConstStatement(t);e.forEach(t.declarationList.declarations,checkSourceElement)}function checkExpressionStatement(e){checkGrammarStatementInAmbientContext(e);checkExpression(e.expression)}function checkIfStatement(t){checkGrammarStatementInAmbientContext(t);checkTruthinessExpression(t.expression);checkSourceElement(t.thenStatement);if(t.thenStatement.kind===220){error(t.thenStatement,e.Diagnostics.The_body_of_an_if_statement_cannot_be_the_empty_statement)}checkSourceElement(t.elseStatement)}function checkDoStatement(e){checkGrammarStatementInAmbientContext(e);checkSourceElement(e.statement);checkTruthinessExpression(e.expression)}function checkWhileStatement(e){checkGrammarStatementInAmbientContext(e);checkTruthinessExpression(e.expression);checkSourceElement(e.statement)}function checkTruthinessExpression(t,r){var n=checkExpression(t,r);if(n.flags&16384){error(t,e.Diagnostics.An_expression_of_type_void_cannot_be_tested_for_truthiness)}return n}function checkForStatement(t){if(!checkGrammarStatementInAmbientContext(t)){if(t.initializer&&t.initializer.kind===238){checkGrammarVariableDeclarationList(t.initializer)}}if(t.initializer){if(t.initializer.kind===238){e.forEach(t.initializer.declarations,checkVariableDeclaration)}else{checkExpression(t.initializer)}}if(t.condition)checkTruthinessExpression(t.condition);if(t.incrementor)checkExpression(t.incrementor);checkSourceElement(t.statement);if(t.locals){registerForUnusedIdentifiersCheck(t)}}function checkForOfStatement(t){checkGrammarForInOrForOfStatement(t);if(t.awaitModifier){var r=e.getFunctionFlags(e.getContainingFunction(t));if((r&(4|2))===2&&C<6){checkExternalEmitHelpers(t,16384)}}else if(x.downlevelIteration&&C<2){checkExternalEmitHelpers(t,256)}if(t.initializer.kind===238){checkForInOrForOfVariableDeclaration(t)}else{var n=t.initializer;var i=checkRightHandSideOfForOf(t.expression,t.awaitModifier);if(n.kind===187||n.kind===188){checkDestructuringAssignment(n,i||ee)}else{var a=checkExpression(n);checkReferenceExpression(n,e.Diagnostics.The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access);if(i){checkTypeAssignableToAndOptionallyElaborate(i,a,n,t.expression)}}}checkSourceElement(t.statement);if(t.locals){registerForUnusedIdentifiersCheck(t)}}function checkForInStatement(t){checkGrammarForInOrForOfStatement(t);var r=getNonNullableTypeIfNeeded(checkExpression(t.expression));if(t.initializer.kind===238){var n=t.initializer.declarations[0];if(n&&e.isBindingPattern(n.name)){error(n.name,e.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern)}checkForInOrForOfVariableDeclaration(t)}else{var i=t.initializer;var a=checkExpression(i);if(i.kind===187||i.kind===188){error(i,e.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern)}else if(!isTypeAssignableTo(getIndexTypeOrString(r),a)){error(i,e.Diagnostics.The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any)}else{checkReferenceExpression(i,e.Diagnostics.The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access)}}if(r===me||!isTypeAssignableToKind(r,67108864|58982400)){error(t.expression,e.Diagnostics.The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_here_has_type_0,typeToString(r))}checkSourceElement(t.statement);if(t.locals){registerForUnusedIdentifiersCheck(t)}}function checkForInOrForOfVariableDeclaration(e){var t=e.initializer;if(t.declarations.length>=1){var r=t.declarations[0];checkVariableDeclaration(r)}}function checkRightHandSideOfForOf(e,t){var r=checkNonNullExpression(e);return checkIteratedTypeOrElementType(r,e,true,t!==undefined)}function checkIteratedTypeOrElementType(e,t,r,n){if(isTypeAny(e)){return e}return getIteratedTypeOrElementType(e,t,r,n,true)||X}function getIteratedTypeOrElementType(t,r,n,i,a){if(t===me){reportTypeNotIterableError(r,t,i);return undefined}var o=C>=2;var s=!o&&x.downlevelIteration;if(o||s||i){var c=getIteratedTypeOfIterable(t,o?r:undefined,i,true,a);if(c||o){return c}}var u=t;var l=false;var f=false;if(n){if(u.flags&1048576){var d=t.types;var p=e.filter(d,function(e){return!(e.flags&132)});if(p!==d){u=getUnionType(p,2)}}else if(u.flags&132){u=me}f=u!==t;if(f){if(C<1){if(r){error(r,e.Diagnostics.Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher);l=true}}if(u.flags&131072){return oe}}}if(!isArrayLikeType(u)){if(r&&!l){var g=!!getIteratedTypeOfIterable(t,undefined,i,true,a);var _=!n||f?s?e.Diagnostics.Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator:g?e.Diagnostics.Type_0_is_not_an_array_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators:e.Diagnostics.Type_0_is_not_an_array_type:s?e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator:g?e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators:e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type;error(r,_,typeToString(u))}return f?oe:undefined}var m=getIndexTypeOfType(u,1);if(f&&m){if(m.flags&132){return oe}return getUnionType([m,oe],2)}return m}function getIteratedTypeOfIterable(t,r,n,i,a){if(isTypeAny(t)){return undefined}return mapType(t,getIteratedType);function getIteratedType(t){var o=t;if(n){if(o.iteratedTypeOfAsyncIterable){return o.iteratedTypeOfAsyncIterable}if(isReferenceToType(t,getGlobalAsyncIterableType(false))||isReferenceToType(t,getGlobalAsyncIterableIteratorType(false))){return o.iteratedTypeOfAsyncIterable=t.typeArguments[0]}}if(i){if(o.iteratedTypeOfIterable){return n?o.iteratedTypeOfAsyncIterable=getAwaitedType(o.iteratedTypeOfIterable):o.iteratedTypeOfIterable}if(isReferenceToType(t,getGlobalIterableType(false))||isReferenceToType(t,getGlobalIterableIteratorType(false))){return n?o.iteratedTypeOfAsyncIterable=getAwaitedType(t.typeArguments[0]):o.iteratedTypeOfIterable=t.typeArguments[0]}}var s=n&&getTypeOfPropertyOfType(t,e.getPropertyNameForKnownSymbolName("asyncIterator"));var c=s||(i?getTypeOfPropertyOfType(t,e.getPropertyNameForKnownSymbolName("iterator")):undefined);if(isTypeAny(c)){return undefined}var u=c?getSignaturesOfType(c,0):undefined;if(!e.some(u)){if(r){reportTypeNotIterableError(r,t,n);r=undefined}return undefined}var l=getUnionType(e.map(u,getReturnTypeOfSignature),2);var f=getIteratedTypeOfIterator(l,r,!!s);if(a&&r&&f){checkTypeAssignableTo(t,s?createAsyncIterableType(f):createIterableType(f),r)}if(f){return n?o.iteratedTypeOfAsyncIterable=s?f:getAwaitedType(f):o.iteratedTypeOfIterable=f}}}function reportTypeNotIterableError(t,r,n){error(t,n?e.Diagnostics.Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator:e.Diagnostics.Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator,typeToString(r))}function getIteratedTypeOfIterator(t,r,n){if(isTypeAny(t)){return undefined}var i=t;if(n?i.iteratedTypeOfAsyncIterator:i.iteratedTypeOfIterator){return n?i.iteratedTypeOfAsyncIterator:i.iteratedTypeOfIterator}var a=n?getGlobalAsyncIteratorType:getGlobalIteratorType;if(isReferenceToType(t,a(false))){return n?i.iteratedTypeOfAsyncIterator=t.typeArguments[0]:i.iteratedTypeOfIterator=t.typeArguments[0]}var o=getTypeOfPropertyOfType(t,"next");if(isTypeAny(o)){return undefined}var s=o?getSignaturesOfType(o,0):e.emptyArray;if(s.length===0){if(r){error(r,n?e.Diagnostics.An_async_iterator_must_have_a_next_method:e.Diagnostics.An_iterator_must_have_a_next_method)}return undefined}var c=getUnionType(e.map(s,getReturnTypeOfSignature),2);if(isTypeAny(c)){return undefined}if(n){c=getAwaitedTypeOfPromise(c,r,e.Diagnostics.The_type_returned_by_the_next_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_property);if(isTypeAny(c)){return undefined}}var u=c&&getTypeOfPropertyOfType(c,"value");if(!u){if(r){error(r,n?e.Diagnostics.The_type_returned_by_the_next_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_property:e.Diagnostics.The_type_returned_by_the_next_method_of_an_iterator_must_have_a_value_property)}return undefined}return n?i.iteratedTypeOfAsyncIterator=u:i.iteratedTypeOfIterator=u}function getIteratedTypeOfGenerator(e,t){if(isTypeAny(e)){return undefined}return getIteratedTypeOfIterable(e,undefined,t,!t,false)||getIteratedTypeOfIterator(e,undefined,t)}function checkBreakOrContinueStatement(e){if(!checkGrammarStatementInAmbientContext(e))checkGrammarBreakOrContinueStatement(e)}function isUnwrappedReturnTypeVoidOrAny(t,r){var n=(e.getFunctionFlags(t)&3)===2?getPromisedTypeOfPromise(r):r;return!!n&&maybeTypeOfKind(n,16384|3)}function checkReturnStatement(t){if(checkGrammarStatementInAmbientContext(t)){return}var r=e.getContainingFunction(t);if(!r){grammarErrorOnFirstToken(t,e.Diagnostics.A_return_statement_can_only_be_used_within_a_function_body);return}var n=getSignatureFromDeclaration(r);var i=getReturnTypeOfSignature(n);var a=e.getFunctionFlags(r);var o=a&1;if(k||t.expression||i.flags&131072){var s=t.expression?checkExpressionCached(t.expression):re;if(o){return}else if(r.kind===159){if(t.expression){error(t,e.Diagnostics.Setters_cannot_return_a_value)}}else if(r.kind===157){if(t.expression&&!checkTypeAssignableToAndOptionallyElaborate(s,i,t,t.expression)){error(t,e.Diagnostics.Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class)}}else if(getReturnTypeFromAnnotation(r)){if(a&2){var c=getPromisedTypeOfPromise(i);var u=checkAwaitedType(s,t,e.Diagnostics.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member);if(c){checkTypeAssignableTo(u,c,t)}}else{checkTypeAssignableToAndOptionallyElaborate(s,i,t,t.expression)}}}else if(r.kind!==157&&x.noImplicitReturns&&!isUnwrappedReturnTypeVoidOrAny(r,i)&&!o){error(t,e.Diagnostics.Not_all_code_paths_return_a_value)}}function checkWithStatement(t){if(!checkGrammarStatementInAmbientContext(t)){if(t.flags&16384){grammarErrorOnFirstToken(t,e.Diagnostics.with_statements_are_not_allowed_in_an_async_function_block)}}checkExpression(t.expression);var r=e.getSourceFileOfNode(t);if(!hasParseDiagnostics(r)){var n=e.getSpanOfTokenAtPosition(r,t.pos).start;var i=t.statement.pos;grammarErrorAtPos(r,n,i-n,e.Diagnostics.The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any)}}function checkSwitchStatement(t){checkGrammarStatementInAmbientContext(t);var r;var n=false;var i=checkExpression(t.expression);var o=isLiteralType(i);e.forEach(t.caseBlock.clauses,function(s){if(s.kind===272&&!n){if(r===undefined){r=s}else{var c=e.getSourceFileOfNode(t);var u=e.skipTrivia(c.text,s.pos);var l=s.statements.length>0?s.statements[0].pos:s.end;grammarErrorAtPos(c,u,l-u,e.Diagnostics.A_default_clause_cannot_appear_more_than_once_in_a_switch_statement);n=true}}if(a&&s.kind===271){var f=checkExpression(s.expression);var d=isLiteralType(f);var p=i;if(!d||!o){f=d?getBaseTypeOfLiteralType(f):f;p=getBaseTypeOfLiteralType(i)}if(!isTypeEqualityComparableTo(p,f)){checkTypeComparableTo(f,p,s.expression,undefined)}}e.forEach(s.statements,checkSourceElement)});if(t.caseBlock.locals){registerForUnusedIdentifiersCheck(t.caseBlock)}}function checkLabeledStatement(t){if(!checkGrammarStatementInAmbientContext(t)){e.findAncestor(t.parent,function(r){if(e.isFunctionLike(r)){return"quit"}if(r.kind===233&&r.label.escapedText===t.label.escapedText){grammarErrorOnNode(t.label,e.Diagnostics.Duplicate_label_0,e.getTextOfNode(t.label));return true}return false})}checkSourceElement(t.statement)}function checkThrowStatement(t){if(!checkGrammarStatementInAmbientContext(t)){if(t.expression===undefined){grammarErrorAfterFirstToken(t,e.Diagnostics.Line_break_not_permitted_here)}}if(t.expression){checkExpression(t.expression)}}function checkTryStatement(t){checkGrammarStatementInAmbientContext(t);checkBlock(t.tryBlock);var r=t.catchClause;if(r){if(r.variableDeclaration){if(r.variableDeclaration.type){grammarErrorOnFirstToken(r.variableDeclaration.type,e.Diagnostics.Catch_clause_variable_cannot_have_a_type_annotation)}else if(r.variableDeclaration.initializer){grammarErrorOnFirstToken(r.variableDeclaration.initializer,e.Diagnostics.Catch_clause_variable_cannot_have_an_initializer)}else{var n=r.block.locals;if(n){e.forEachKey(r.locals,function(t){var r=n.get(t);if(r&&(r.flags&2)!==0){grammarErrorOnNode(r.valueDeclaration,e.Diagnostics.Cannot_redeclare_identifier_0_in_catch_clause,t)}})}}}checkBlock(r.block)}if(t.finallyBlock){checkBlock(t.finallyBlock)}}function checkIndexConstraints(t){var r=getIndexDeclarationOfSymbol(t.symbol,1);var n=getIndexDeclarationOfSymbol(t.symbol,0);var i=getIndexTypeOfType(t,0);var a=getIndexTypeOfType(t,1);if(i||a){e.forEach(getPropertiesOfObjectType(t),function(e){var o=getTypeOfSymbol(e);checkIndexConstraintForProperty(e,o,t,n,i,0);checkIndexConstraintForProperty(e,o,t,r,a,1)});var o=t.symbol.valueDeclaration;if(e.getObjectFlags(t)&1&&e.isClassLike(o)){for(var s=0,c=o.members;sn){return false}for(var l=0;l>a;case 48:return i>>>a;case 46:return i<1){e.forEach(n.declarations,function(t){if(e.isEnumDeclaration(t)&&e.isEnumConst(t)!==r){error(e.getNameOfDeclaration(t),e.Diagnostics.Enum_declarations_must_all_be_const_or_non_const)}})}var o=false;e.forEach(n.declarations,function(t){if(t.kind!==243){return false}var r=t;if(!r.members.length){return false}var n=r.members[0];if(!n.initializer){if(o){error(n.name,e.Diagnostics.In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element)}else{o=true}}})}}function getFirstNonAmbientClassOrFunctionDeclaration(t){var r=t.declarations;for(var n=0,i=r;n1&&!n&&isInstantiatedModule(t,!!x.preserveConstEnums||!!x.isolatedModules)){var c=getFirstNonAmbientClassOrFunctionDeclaration(s);if(c){if(e.getSourceFileOfNode(t)!==e.getSourceFileOfNode(c)){error(t.name,e.Diagnostics.A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merged)}else if(t.pos=e.ModuleKind.ES2015&&!(t.flags&4194304)){grammarErrorOnNode(t,e.Diagnostics.Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead)}}}}function checkExportDeclaration(t){if(checkGrammarModuleElementContext(t,e.Diagnostics.An_export_declaration_can_only_be_used_in_a_module)){return}if(!checkGrammarDecoratorsAndModifiers(t)&&e.hasModifiers(t)){grammarErrorOnFirstToken(t,e.Diagnostics.An_export_declaration_cannot_have_modifiers)}if(!t.moduleSpecifier||checkExternalImportOrExportDeclaration(t)){if(t.exportClause){e.forEach(t.exportClause.elements,checkExportSpecifier);var r=t.parent.kind===245&&e.isAmbientModule(t.parent.parent);var n=!r&&t.parent.kind===245&&!t.moduleSpecifier&&t.flags&4194304;if(t.parent.kind!==279&&!r&&!n){error(t,e.Diagnostics.Export_declarations_are_not_permitted_in_a_namespace)}}else{var i=resolveExternalModuleName(t,t.moduleSpecifier);if(i&&hasExportAssignmentSymbol(i)){error(t.moduleSpecifier,e.Diagnostics.Module_0_uses_export_and_cannot_be_used_with_export_Asterisk,symbolToString(i))}if(E!==e.ModuleKind.System&&E!==e.ModuleKind.ES2015&&E!==e.ModuleKind.ESNext){checkExternalEmitHelpers(t,32768)}}}}function checkGrammarModuleElementContext(e,t){var r=e.parent.kind===279||e.parent.kind===245||e.parent.kind===244;if(!r){grammarErrorOnFirstToken(e,t)}return!r}function checkExportSpecifier(t){checkAliasSymbol(t);if(e.getEmitDeclarations(x)){collectLinkedAliases(t.propertyName||t.name,true)}if(!t.parent.parent.moduleSpecifier){var r=t.propertyName||t.name;var n=resolveName(r,r.escapedText,67220415|67897832|1920|2097152,undefined,undefined,true);if(n&&(n===R||isGlobalSourceFile(getDeclarationContainer(n.declarations[0])))){error(r,e.Diagnostics.Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module,e.idText(r))}else{markExportAsReferenced(t)}}}function checkExportAssignment(t){if(checkGrammarModuleElementContext(t,e.Diagnostics.An_export_assignment_can_only_be_used_in_a_module)){return}var r=t.parent.kind===279?t.parent:t.parent.parent;if(r.kind===244&&!e.isAmbientModule(r)){if(t.isExportEquals){error(t,e.Diagnostics.An_export_assignment_cannot_be_used_in_a_namespace)}else{error(t,e.Diagnostics.A_default_export_can_only_be_used_in_an_ECMAScript_style_module)}return}if(!checkGrammarDecoratorsAndModifiers(t)&&e.hasModifiers(t)){grammarErrorOnFirstToken(t,e.Diagnostics.An_export_assignment_cannot_have_modifiers)}if(t.expression.kind===72){markExportAsReferenced(t);if(e.getEmitDeclarations(x)){collectLinkedAliases(t.expression,true)}}else{checkExpressionCached(t.expression)}checkExternalModuleExports(r);if(t.flags&4194304&&!e.isEntityNameExpression(t.expression)){grammarErrorOnNode(t.expression,e.Diagnostics.The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context)}if(t.isExportEquals&&!(t.flags&4194304)){if(E>=e.ModuleKind.ES2015){grammarErrorOnNode(t,e.Diagnostics.Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or_another_module_format_instead)}else if(E===e.ModuleKind.System){grammarErrorOnNode(t,e.Diagnostics.Export_assignment_is_not_supported_when_module_flag_is_system)}}}function hasExportedMembers(t){return e.forEachEntry(t.exports,function(e,t){return t!=="export="})}function checkExternalModuleExports(t){var r=getSymbolOfNode(t);var n=getSymbolLinks(r);if(!n.exportsChecked){var i=r.exports.get("export=");if(i&&hasExportedMembers(r)){var a=getDeclarationOfAliasSymbol(i)||i.valueDeclaration;if(!isTopLevelInExternalModuleAugmentation(a)&&!e.isInJSFile(a)){error(a,e.Diagnostics.An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements)}}var o=getExportsOfModule(r);if(o){o.forEach(function(t,r){var n=t.declarations,i=t.flags;if(r==="__export"){return}if(i&(1920|64|384)){return}var a=e.countWhere(n,Tr);if(i&524288&&a<=2){return}if(a>1){for(var o=0,s=n;o0){return e.concatenate(o,a)}return a}e.forEach(r.getSourceFiles(),checkSourceFile);return Xt.getDiagnostics()}function getGlobalDiagnostics(){throwIfNonDiagnosticsProducing();return Xt.getGlobalDiagnostics()}function throwIfNonDiagnosticsProducing(){if(!a){throw new Error("Trying to get diagnostics from a type checker that does not produce them.")}}function getSymbolsInScope(t,r){if(t.flags&8388608){return[]}var n=e.createSymbolTable();var i=false;populateSymbols();n.delete("this");return symbolsToArray(n);function populateSymbols(){while(t){if(t.locals&&!isGlobalSourceFile(t)){copySymbols(t.locals,r)}switch(t.kind){case 279:if(!e.isExternalOrCommonJsModule(t))break;case 244:copySymbols(getSymbolOfNode(t).exports,r&2623475);break;case 243:copySymbols(getSymbolOfNode(t).exports,r&8);break;case 209:var n=t.name;if(n){copySymbol(t.symbol,r)}case 240:case 241:if(!i){copySymbols(getMembersOfSymbol(getSymbolOfNode(t)),r&67897832)}break;case 196:var a=t.name;if(a){copySymbol(t.symbol,r)}break}if(e.introducesArgumentsExoticObject(t)){copySymbol(B,r)}i=e.hasModifier(t,32);t=t.parent}copySymbols(We,r)}function copySymbol(t,r){if(e.getCombinedLocalAndExportSymbolFlags(t)&r){var i=t.escapedName;if(!n.has(i)){n.set(i,t)}}}function copySymbols(e,t){if(t){e.forEach(function(e){copySymbol(e,t)})}}}function isTypeDeclarationName(e){return e.kind===72&&isTypeDeclaration(e.parent)&&e.parent.name===e}function isTypeDeclaration(e){switch(e.kind){case 150:case 240:case 241:case 242:case 243:return true;default:return false}}function isTypeReferenceIdentifier(e){while(e.parent.kind===148){e=e.parent}return e.parent.kind===164}function isHeritageClauseElementIdentifier(e){while(e.parent.kind===189){e=e.parent}return e.parent.kind===211}function forEachEnclosingClass(t,r){var n;while(true){t=e.getContainingClass(t);if(!t)break;if(n=r(t))break}return n}function isNodeUsedDuringClassInitialization(t){return!!e.findAncestor(t,function(t){if(e.isConstructorDeclaration(t)&&e.nodeIsPresent(t.body)||e.isPropertyDeclaration(t)){return true}else if(e.isClassLike(t)||e.isFunctionLikeDeclaration(t)){return"quit"}return false})}function isNodeWithinClass(e,t){return!!forEachEnclosingClass(e,function(e){return e===t})}function getLeftSideOfImportEqualsOrExportAssignment(e){while(e.parent.kind===148){e=e.parent}if(e.parent.kind===248){return e.parent.moduleReference===e?e.parent:undefined}if(e.parent.kind===254){return e.parent.expression===e?e.parent:undefined}return undefined}function isInRightSideOfImportOrExportAssignment(e){return getLeftSideOfImportEqualsOrExportAssignment(e)!==undefined}function getSpecialPropertyAssignmentSymbolFromEntityName(t){var r=e.getAssignmentDeclarationKind(t.parent.parent);switch(r){case 1:case 3:return getSymbolOfNode(t.parent);case 4:case 2:case 5:return getSymbolOfNode(t.parent.parent)}}function isImportTypeQualifierPart(t){var r=t.parent;while(e.isQualifiedName(r)){t=r;r=r.parent}if(r&&r.kind===183&&r.qualifier===t){return r}return undefined}function getSymbolOfEntityNameOrPropertyAccessExpression(t){if(e.isDeclarationName(t)){return getSymbolOfNode(t.parent)}if(e.isInJSFile(t)&&t.parent.kind===189&&t.parent===t.parent.parent.left){var r=getSpecialPropertyAssignmentSymbolFromEntityName(t);if(r){return r}}if(t.parent.kind===254&&e.isEntityNameExpression(t)){var n=resolveEntityName(t,67220415|67897832|1920|2097152,true);if(n&&n!==Q){return n}}else if(!e.isPropertyAccessExpression(t)&&isInRightSideOfImportOrExportAssignment(t)){var i=e.getAncestor(t,248);e.Debug.assert(i!==undefined);return getSymbolOfPartOfRightHandSideOfImportEquals(t,true)}if(!e.isPropertyAccessExpression(t)){var a=isImportTypeQualifierPart(t);if(a){getTypeFromTypeNode(a);var o=getNodeLinks(t).resolvedSymbol;return o===Q?undefined:o}}while(e.isRightSideOfQualifiedNameOrPropertyAccess(t)){t=t.parent}if(isHeritageClauseElementIdentifier(t)){var s=0;if(t.parent.kind===211){s=67897832;if(e.isExpressionWithTypeArgumentsInClassExtendsClause(t.parent)){s|=67220415}}else{s=1920}s|=2097152;var c=e.isEntityNameExpression(t)?resolveEntityName(t,s):undefined;if(c){return c}}if(t.parent.kind===299){return e.getParameterSymbolFromJSDoc(t.parent)}if(t.parent.kind===150&&t.parent.parent.kind===303){e.Debug.assert(!e.isInJSFile(t));var u=e.getTypeParameterFromJsDoc(t.parent);return u&&u.symbol}if(e.isExpressionNode(t)){if(e.nodeIsMissing(t)){return undefined}if(t.kind===72){if(e.isJSXTagName(t)&&isJsxIntrinsicIdentifier(t)){var l=getIntrinsicTagSymbol(t.parent);return l===Q?undefined:l}return resolveEntityName(t,67220415,false,true)}else if(t.kind===189||t.kind===148){var f=getNodeLinks(t);if(f.resolvedSymbol){return f.resolvedSymbol}if(t.kind===189){checkPropertyAccessExpression(t)}else{checkQualifiedName(t)}return f.resolvedSymbol}}else if(isTypeReferenceIdentifier(t)){var s=t.parent.kind===164?67897832:1920;return resolveEntityName(t,s,false,true)}if(t.parent.kind===163){return resolveEntityName(t,1)}return undefined}function getSymbolAtLocation(t){if(t.kind===279){return e.isExternalModule(t)?getMergedSymbol(t.symbol):undefined}var r=t.parent;var n=r.parent;if(t.flags&8388608){return undefined}if(isDeclarationNameOrImportPropertyName(t)){var i=getSymbolOfNode(r);return e.isImportOrExportSpecifier(t.parent)&&t.parent.propertyName===t?getImmediateAliasedSymbol(i):i}else if(e.isLiteralComputedPropertyDeclarationName(t)){return getSymbolOfNode(r.parent)}if(t.kind===72){if(isInRightSideOfImportOrExportAssignment(t)){return getSymbolOfEntityNameOrPropertyAccessExpression(t)}else if(r.kind===186&&n.kind===184&&t===r.propertyName){var a=getTypeOfNode(n);var o=getPropertyOfType(a,t.escapedText);if(o){return o}}}switch(t.kind){case 72:case 189:case 148:return getSymbolOfEntityNameOrPropertyAccessExpression(t);case 100:var s=e.getThisContainer(t,false);if(e.isFunctionLike(s)){var c=getSignatureFromDeclaration(s);if(c.thisParameter){return c.thisParameter}}if(e.isInExpressionContext(t)){return checkExpression(t).symbol}case 178:return getTypeFromThisTypeNode(t).symbol;case 98:return checkExpression(t).symbol;case 124:var u=t.parent;if(u&&u.kind===157){return u.parent.symbol}return undefined;case 10:case 14:if(e.isExternalModuleImportEqualsDeclaration(t.parent.parent)&&e.getExternalModuleImportEqualsDeclarationExpression(t.parent.parent)===t||(t.parent.kind===249||t.parent.kind===255)&&t.parent.moduleSpecifier===t||(e.isInJSFile(t)&&e.isRequireCall(t.parent,false)||e.isImportCall(t.parent))||e.isLiteralTypeNode(t.parent)&&e.isLiteralImportTypeNode(t.parent.parent)&&t.parent.parent.argument===t.parent){return resolveExternalModuleName(t,t)}if(e.isCallExpression(r)&&e.isBindableObjectDefinePropertyCall(r)&&r.arguments[1]===t){return getSymbolOfNode(r)}case 8:var l=e.isElementAccessExpression(r)?r.argumentExpression===t?getTypeOfExpression(r.expression):undefined:e.isLiteralTypeNode(r)&&e.isIndexedAccessTypeNode(n)?getTypeFromTypeNode(n.objectType):undefined;return l&&getPropertyOfType(l,e.escapeLeadingUnderscores(t.text));case 80:case 90:case 37:case 76:return getSymbolOfNode(t.parent);case 183:return e.isLiteralImportTypeNode(t)?getSymbolAtLocation(t.argument.literal):undefined;case 85:return e.isExportAssignment(t.parent)?e.Debug.assertDefined(t.parent.symbol):undefined;default:return undefined}}function getShorthandAssignmentValueSymbol(e){if(e&&e.kind===276){return resolveEntityName(e.name,67220415|2097152)}return undefined}function getExportSpecifierLocalTargetSymbol(e){return e.parent.parent.moduleSpecifier?getExternalModuleMember(e.parent.parent,e):resolveEntityName(e.propertyName||e.name,67220415|67897832|1920|2097152)}function getTypeOfNode(t){if(t.flags&8388608){return ee}var r=e.tryGetClassImplementingOrExtendingExpressionWithTypeArguments(t);var n=r&&getDeclaredTypeOfClassOrInterface(getSymbolOfNode(r.class));if(e.isPartOfTypeNode(t)){var i=getTypeFromTypeNode(t);return n?getTypeWithThisArgument(i,n.thisType):i}if(e.isExpressionNode(t)){return getRegularTypeOfExpression(t)}if(n&&!r.isImplements){var a=e.firstOrUndefined(getBaseTypes(n));return a?getTypeWithThisArgument(a,n.thisType):ee}if(isTypeDeclaration(t)){var o=getSymbolOfNode(t);return getDeclaredTypeOfSymbol(o)}if(isTypeDeclarationName(t)){var o=getSymbolAtLocation(t);return o?getDeclaredTypeOfSymbol(o):ee}if(e.isDeclaration(t)){var o=getSymbolOfNode(t);return getTypeOfSymbol(o)}if(isDeclarationNameOrImportPropertyName(t)){var o=getSymbolAtLocation(t);return o?getTypeOfSymbol(o):ee}if(e.isBindingPattern(t)){return getTypeForVariableLikeDeclaration(t.parent,true)||ee}if(isInRightSideOfImportOrExportAssignment(t)){var o=getSymbolAtLocation(t);if(o){var s=getDeclaredTypeOfSymbol(o);return s!==ee?s:getTypeOfSymbol(o)}}return ee}function getTypeOfArrayLiteralOrObjectLiteralDestructuringAssignment(t){e.Debug.assert(t.kind===188||t.kind===187);if(t.parent.kind===227){var r=checkRightHandSideOfForOf(t.parent.expression,t.parent.awaitModifier);return checkDestructuringAssignment(t,r||ee)}if(t.parent.kind===204){var r=getTypeOfExpression(t.parent.right);return checkDestructuringAssignment(t,r||ee)}if(t.parent.kind===275){var n=getTypeOfArrayLiteralOrObjectLiteralDestructuringAssignment(t.parent.parent);return checkObjectLiteralDestructuringPropertyAssignment(n||ee,t.parent)}e.Debug.assert(t.parent.kind===187);var i=getTypeOfArrayLiteralOrObjectLiteralDestructuringAssignment(t.parent);var a=checkIteratedTypeOrElementType(i||ee,t.parent,false,false)||ee;return checkArrayLiteralDestructuringElementAssignment(t.parent,i,t.parent.elements.indexOf(t),a||ee)}function getPropertySymbolOfDestructuringAssignment(e){var t=getTypeOfArrayLiteralOrObjectLiteralDestructuringAssignment(e.parent.parent);return t&&getPropertyOfType(t,e.escapedText)}function getRegularTypeOfExpression(t){if(e.isRightSideOfQualifiedNameOrPropertyAccess(t)){t=t.parent}return getRegularTypeOfLiteralType(getTypeOfExpression(t))}function getParentTypeOfClassElement(t){var r=getSymbolOfNode(t.parent);return e.hasModifier(t,32)?getTypeOfSymbol(r):getDeclaredTypeOfSymbol(r)}function getClassElementPropertyKeyType(t){var r=t.name;switch(r.kind){case 72:return getLiteralType(e.idText(r));case 8:case 10:return getLiteralType(r.text);case 149:var n=checkComputedPropertyName(r);return isTypeAssignableToKind(n,12288)?n:oe;default:e.Debug.fail("Unsupported property name.");return ee}}function getAugmentedPropertiesOfType(t){t=getApparentType(t);var r=e.createSymbolTable(getPropertiesOfType(t));var n=getSignaturesOfType(t,0).length?He:getSignaturesOfType(t,1).length?Qe:undefined;if(n){e.forEach(getPropertiesOfType(n),function(e){if(!r.has(e.escapedName)){r.set(e.escapedName,e)}})}return getNamedMembers(r)}function typeHasCallOrConstructSignatures(t){return e.typeHasCallOrConstructSignatures(t,W)}function getRootSymbols(t){var r=getImmediateRootSymbols(t);return r?e.flatMap(r,getRootSymbols):[t]}function getImmediateRootSymbols(t){if(e.getCheckFlags(t)&6){return e.mapDefined(getSymbolLinks(t).containingType.types,function(e){return getPropertyOfType(e,t.escapedName)})}else if(t.flags&33554432){var r=t,n=r.leftSpread,i=r.rightSpread,a=r.syntheticOrigin;return n?[n,i]:a?[a]:e.singleElementArray(tryGetAliasTarget(t))}return undefined}function tryGetAliasTarget(e){var t;var r=e;while(r=getSymbolLinks(r).target){t=r}return t}function isArgumentsLocalBinding(t){if(!e.isGeneratedIdentifier(t)){var r=e.getParseTreeNode(t,e.isIdentifier);if(r){var n=r.parent.kind===189&&r.parent.name===r;return!n&&getReferencedValueSymbol(r)===B}}return false}function moduleExportsSomeValue(t){var r=resolveExternalModuleName(t.parent,t);if(!r||e.isShorthandAmbientModuleSymbol(r)){return true}var n=hasExportAssignmentSymbol(r);r=resolveExternalModuleSymbol(r);var i=getSymbolLinks(r);if(i.exportsSomeValue===undefined){i.exportsSomeValue=n?!!(r.flags&67220415):e.forEachEntry(getExportsOfModule(r),isValue)}return i.exportsSomeValue;function isValue(e){e=resolveSymbol(e);return e&&!!(e.flags&67220415)}}function isNameOfModuleOrEnumDeclaration(t){return e.isModuleOrEnumDeclaration(t.parent)&&t===t.parent.name}function getReferencedExportContainer(t,r){var n=e.getParseTreeNode(t,e.isIdentifier);if(n){var i=getReferencedValueSymbol(n,isNameOfModuleOrEnumDeclaration(n));if(i){if(i.flags&1048576){var a=getMergedSymbol(i.exportSymbol);if(!r&&a.flags&944&&!(a.flags&3)){return undefined}i=a}var o=getParentOfSymbol(i);if(o){if(o.flags&512&&o.valueDeclaration.kind===279){var s=o.valueDeclaration;var c=e.getSourceFileOfNode(n);var u=s!==c;return u?undefined:s}return e.findAncestor(n.parent,function(t){return e.isModuleOrEnumDeclaration(t)&&getSymbolOfNode(t)===o})}}}}function getReferencedImportDeclaration(t){var r=e.getParseTreeNode(t,e.isIdentifier);if(r){var n=getReferencedValueSymbol(r);if(isNonLocalAlias(n,67220415)){return getDeclarationOfAliasSymbol(n)}}return undefined}function isSymbolOfDeclarationWithCollidingName(t){if(t.flags&418){var r=getSymbolLinks(t);if(r.isDeclarationWithCollidingName===undefined){var n=e.getEnclosingBlockScopeContainer(t.valueDeclaration);if(e.isStatementWithLocals(n)){var i=getNodeLinks(t.valueDeclaration);if(resolveName(n.parent,t.escapedName,67220415,undefined,undefined,false)){r.isDeclarationWithCollidingName=true}else if(i.flags&262144){var a=i.flags&524288;var o=e.isIterationStatement(n,false);var s=n.kind===218&&e.isIterationStatement(n.parent,false);r.isDeclarationWithCollidingName=!e.isBlockScopedContainerTopLevel(n)&&(!a||!o&&!s)}else{r.isDeclarationWithCollidingName=false}}}return r.isDeclarationWithCollidingName}return false}function getReferencedDeclarationWithCollidingName(t){if(!e.isGeneratedIdentifier(t)){var r=e.getParseTreeNode(t,e.isIdentifier);if(r){var n=getReferencedValueSymbol(r);if(n&&isSymbolOfDeclarationWithCollidingName(n)){return n.valueDeclaration}}}return undefined}function isDeclarationWithCollidingName(t){var r=e.getParseTreeNode(t,e.isDeclaration);if(r){var n=getSymbolOfNode(r);if(n){return isSymbolOfDeclarationWithCollidingName(n)}}return false}function isValueAliasDeclaration(t){switch(t.kind){case 248:case 250:case 251:case 253:case 257:return isAliasResolvedToValue(getSymbolOfNode(t)||Q);case 255:var r=t.exportClause;return!!r&&e.some(r.elements,isValueAliasDeclaration);case 254:return t.expression&&t.expression.kind===72?isAliasResolvedToValue(getSymbolOfNode(t)||Q):true}return false}function isTopLevelValueImportEqualsWithEntityName(t){var r=e.getParseTreeNode(t,e.isImportEqualsDeclaration);if(r===undefined||r.parent.kind!==279||!e.isInternalModuleImportEqualsDeclaration(r)){return false}var n=isAliasResolvedToValue(getSymbolOfNode(r));return n&&r.moduleReference&&!e.nodeIsMissing(r.moduleReference)}function isAliasResolvedToValue(e){var t=resolveAlias(e);if(t===Q){return true}return!!(t.flags&67220415)&&(x.preserveConstEnums||!isConstEnumOrConstEnumOnlyModule(t))}function isConstEnumOrConstEnumOnlyModule(e){return isConstEnumSymbol(e)||!!e.constEnumOnlyModule}function isReferencedAliasDeclaration(t,r){if(e.isAliasSymbolDeclaration(t)){var n=getSymbolOfNode(t);if(n&&getSymbolLinks(n).referenced){return true}var i=getSymbolLinks(n).target;if(i&&e.getModifierFlags(t)&1&&i.flags&67220415&&(x.preserveConstEnums||!isConstEnumOrConstEnumOnlyModule(i))){return true}}if(r){return!!e.forEachChild(t,function(e){return isReferencedAliasDeclaration(e,r)})}return false}function isImplementationOfOverload(t){if(e.nodeIsPresent(t.body)){if(e.isGetAccessor(t)||e.isSetAccessor(t))return false;var r=getSymbolOfNode(t);var n=getSignaturesOfSymbol(r);return n.length>1||n.length===1&&n[0].declaration!==t}return false}function isRequiredInitializedParameter(t){return!!k&&!isOptionalParameter(t)&&!e.isJSDocParameterTag(t)&&!!t.initializer&&!e.hasModifier(t,92)}function isOptionalUninitializedParameterProperty(t){return k&&isOptionalParameter(t)&&!t.initializer&&e.hasModifier(t,92)}function isExpandoFunctionDeclaration(t){var r=e.getParseTreeNode(t,e.isFunctionDeclaration);if(!r){return false}var n=getSymbolOfNode(r);if(!n||!(n.flags&16)){return false}return!!e.forEachEntry(getExportsOfSymbol(n),function(t){return t.flags&67220415&&e.isPropertyAccessExpression(t.valueDeclaration)})}function getPropertiesOfContainerFunction(t){var r=e.getParseTreeNode(t,e.isFunctionDeclaration);if(!r){return e.emptyArray}var n=getSymbolOfNode(r);return n&&getPropertiesOfType(getTypeOfSymbol(n))||e.emptyArray}function getNodeCheckFlags(e){return getNodeLinks(e).flags||0}function getEnumMemberValue(e){computeEnumMemberValues(e.parent);return getNodeLinks(e).enumMemberValue}function canHaveConstantValue(e){switch(e.kind){case 278:case 189:case 190:return true}return false}function getConstantValue(t){if(t.kind===278){return getEnumMemberValue(t)}var r=getNodeLinks(t).resolvedSymbol;if(r&&r.flags&8){var n=r.valueDeclaration;if(e.isEnumConst(n.parent)){return getEnumMemberValue(n)}}return undefined}function isFunctionType(e){return!!(e.flags&524288)&&getSignaturesOfType(e,0).length>0}function getTypeReferenceSerializationKind(t,r){var n=e.getParseTreeNode(t,e.isEntityName);if(!n)return e.TypeReferenceSerializationKind.Unknown;if(r){r=e.getParseTreeNode(r);if(!r)return e.TypeReferenceSerializationKind.Unknown}var i=resolveEntityName(n,67220415,true,false,r);var a=resolveEntityName(n,67897832,true,false,r);if(i&&i===a){var o=getGlobalPromiseConstructorSymbol(false);if(o&&i===o){return e.TypeReferenceSerializationKind.Promise}var s=getTypeOfSymbol(i);if(s&&isConstructorType(s)){return e.TypeReferenceSerializationKind.TypeWithConstructSignatureAndValue}}if(!a){return e.TypeReferenceSerializationKind.Unknown}var c=getDeclaredTypeOfSymbol(a);if(c===ee){return e.TypeReferenceSerializationKind.Unknown}else if(c.flags&3){return e.TypeReferenceSerializationKind.ObjectType}else if(isTypeAssignableToKind(c,16384|98304|131072)){return e.TypeReferenceSerializationKind.VoidNullableOrNeverType}else if(isTypeAssignableToKind(c,528)){return e.TypeReferenceSerializationKind.BooleanType}else if(isTypeAssignableToKind(c,296)){return e.TypeReferenceSerializationKind.NumberLikeType}else if(isTypeAssignableToKind(c,2112)){return e.TypeReferenceSerializationKind.BigIntLikeType}else if(isTypeAssignableToKind(c,132)){return e.TypeReferenceSerializationKind.StringLikeType}else if(isTupleType(c)){return e.TypeReferenceSerializationKind.ArrayLikeType}else if(isTypeAssignableToKind(c,12288)){return e.TypeReferenceSerializationKind.ESSymbolType}else if(isFunctionType(c)){return e.TypeReferenceSerializationKind.TypeWithCallSignature}else if(isArrayType(c)){return e.TypeReferenceSerializationKind.ArrayLikeType}else{return e.TypeReferenceSerializationKind.ObjectType}}function createTypeOfDeclaration(t,r,n,i,a){var o=e.getParseTreeNode(t,e.isVariableLikeOrAccessor);if(!o){return e.createToken(120)}var s=getSymbolOfNode(o);var c=s&&!(s.flags&(2048|131072))?getWidenedLiteralType(getTypeOfSymbol(s)):ee;if(c.flags&8192&&c.symbol===s){n|=1048576}if(a){c=getOptionalType(c)}return L.typeToTypeNode(c,r,n|1024,i)}function createReturnTypeOfSignatureDeclaration(t,r,n,i){var a=e.getParseTreeNode(t,e.isFunctionLike);if(!a){return e.createToken(120)}var o=getSignatureFromDeclaration(a);return L.typeToTypeNode(getReturnTypeOfSignature(o),r,n|1024,i)}function createTypeOfExpression(t,r,n,i){var a=e.getParseTreeNode(t,e.isExpression);if(!a){return e.createToken(120)}var o=getWidenedType(getRegularTypeOfExpression(a));return L.typeToTypeNode(o,r,n|1024,i)}function hasGlobalName(t){return We.has(e.escapeLeadingUnderscores(t))}function getReferencedValueSymbol(t,r){var n=getNodeLinks(t).resolvedSymbol;if(n){return n}var i=t;if(r){var a=t.parent;if(e.isDeclaration(a)&&t===a.name){i=getDeclarationContainer(a)}}return resolveName(i,t.escapedText,67220415|1048576|2097152,undefined,undefined,true)}function getReferencedValueDeclaration(t){if(!e.isGeneratedIdentifier(t)){var r=e.getParseTreeNode(t,e.isIdentifier);if(r){var n=getReferencedValueSymbol(r);if(n){return getExportSymbolOfValueSymbolIfExported(n).valueDeclaration}}}return undefined}function isLiteralConstDeclaration(t){if(e.isDeclarationReadonly(t)||e.isVariableDeclaration(t)&&e.isVarConst(t)){return isFreshLiteralType(getTypeOfSymbol(getSymbolOfNode(t)))}return false}function literalTypeToNode(t,r,n){var i=t.flags&1024?L.symbolToExpression(t.symbol,67220415,r,undefined,n):t===fe?e.createTrue():t===ue&&e.createFalse();return i||e.createLiteral(t.value)}function createLiteralConstValue(e,t){var r=getTypeOfSymbol(getSymbolOfNode(e));return literalTypeToNode(r,e,t)}function createResolver(){var t=r.getResolvedTypeReferenceDirectives();var n;if(t){n=e.createMap();t.forEach(function(e,t){if(!e||!e.resolvedFileName){return}var i=r.getSourceFile(e.resolvedFileName);n.set(i.path,t)})}return{getReferencedExportContainer:getReferencedExportContainer,getReferencedImportDeclaration:getReferencedImportDeclaration,getReferencedDeclarationWithCollidingName:getReferencedDeclarationWithCollidingName,isDeclarationWithCollidingName:isDeclarationWithCollidingName,isValueAliasDeclaration:function(t){t=e.getParseTreeNode(t);return t?isValueAliasDeclaration(t):true},hasGlobalName:hasGlobalName,isReferencedAliasDeclaration:function(t,r){t=e.getParseTreeNode(t);return t?isReferencedAliasDeclaration(t,r):true},getNodeCheckFlags:function(t){t=e.getParseTreeNode(t);return t?getNodeCheckFlags(t):0},isTopLevelValueImportEqualsWithEntityName:isTopLevelValueImportEqualsWithEntityName,isDeclarationVisible:isDeclarationVisible,isImplementationOfOverload:isImplementationOfOverload,isRequiredInitializedParameter:isRequiredInitializedParameter,isOptionalUninitializedParameterProperty:isOptionalUninitializedParameterProperty,isExpandoFunctionDeclaration:isExpandoFunctionDeclaration,getPropertiesOfContainerFunction:getPropertiesOfContainerFunction,createTypeOfDeclaration:createTypeOfDeclaration,createReturnTypeOfSignatureDeclaration:createReturnTypeOfSignatureDeclaration,createTypeOfExpression:createTypeOfExpression,createLiteralConstValue:createLiteralConstValue,isSymbolAccessible:isSymbolAccessible,isEntityNameVisible:isEntityNameVisible,getConstantValue:function(t){var r=e.getParseTreeNode(t,canHaveConstantValue);return r?getConstantValue(r):undefined},collectLinkedAliases:collectLinkedAliases,getReferencedValueDeclaration:getReferencedValueDeclaration,getTypeReferenceSerializationKind:getTypeReferenceSerializationKind,isOptionalParameter:isOptionalParameter,moduleExportsSomeValue:moduleExportsSomeValue,isArgumentsLocalBinding:isArgumentsLocalBinding,getExternalModuleFileFromDeclaration:getExternalModuleFileFromDeclaration,getTypeReferenceDirectivesForEntityName:getTypeReferenceDirectivesForEntityName,getTypeReferenceDirectivesForSymbol:getTypeReferenceDirectivesForSymbol,isLiteralConstDeclaration:isLiteralConstDeclaration,isLateBound:function(t){var r=e.getParseTreeNode(t,e.isDeclaration);var n=r&&getSymbolOfNode(r);return!!(n&&e.getCheckFlags(n)&1024)},getJsxFactoryEntity:function(t){return t?(getJsxNamespace(t),e.getSourceFileOfNode(t).localJsxFactory||ar):ar},getAllAccessorDeclarations:function(t){t=e.getParseTreeNode(t,e.isGetOrSetAccessorDeclaration);var r=t.kind===159?158:159;var n=e.getDeclarationOfKind(getSymbolOfNode(t),r);var i=n&&n.pos1||e.modifiers[0].kind!==t}function checkGrammarAsyncModifier(t,r){switch(t.kind){case 156:case 239:case 196:case 197:return false}return grammarErrorOnNode(r,e.Diagnostics._0_modifier_cannot_be_used_here,"async")}function checkGrammarForDisallowedTrailingComma(t,r){if(r===void 0){r=e.Diagnostics.Trailing_comma_not_allowed}if(t&&t.hasTrailingComma){return grammarErrorAtPos(t[0],t.end-",".length,",".length,r)}return false}function checkGrammarTypeParameterList(t,r){if(t&&t.length===0){var n=t.pos-"<".length;var i=e.skipTrivia(r.text,t.end)+">".length;return grammarErrorAtPos(r,n,i-n,e.Diagnostics.Type_parameter_list_cannot_be_empty)}return false}function checkGrammarParameterList(t){var r=false;var n=t.length;for(var i=0;i=3){var r=t.body&&e.isBlock(t.body)&&e.findUseStrictPrologue(t.body.statements);if(r){var n=getNonSimpleParameters(t.parameters);if(e.length(n)){e.forEach(n,function(t){addRelatedInfo(error(t,e.Diagnostics.This_parameter_is_not_allowed_with_use_strict_directive),e.createDiagnosticForNode(r,e.Diagnostics.use_strict_directive_used_here))});var i=n.map(function(t,r){return r===0?e.createDiagnosticForNode(t,e.Diagnostics.Non_simple_parameter_declared_here):e.createDiagnosticForNode(t,e.Diagnostics.and_here)});addRelatedInfo.apply(void 0,[error(r,e.Diagnostics.use_strict_directive_cannot_be_used_with_non_simple_parameter_list)].concat(i));return true}}}return false}function checkGrammarFunctionLikeDeclaration(t){var r=e.getSourceFileOfNode(t);return checkGrammarDecoratorsAndModifiers(t)||checkGrammarTypeParameterList(t.typeParameters,r)||checkGrammarParameterList(t.parameters)||checkGrammarArrowFunction(t,r)||e.isFunctionLikeDeclaration(t)&&checkGrammarForUseStrictSimpleParameterList(t)}function checkGrammarClassLikeDeclaration(t){var r=e.getSourceFileOfNode(t);return checkGrammarClassDeclarationHeritageClauses(t)||checkGrammarTypeParameterList(t.typeParameters,r)}function checkGrammarArrowFunction(t,r){if(!e.isArrowFunction(t)){return false}var n=t.equalsGreaterThanToken;var i=e.getLineAndCharacterOfPosition(r,n.pos).line;var a=e.getLineAndCharacterOfPosition(r,n.end).line;return i!==a&&grammarErrorOnNode(n,e.Diagnostics.Line_terminator_not_permitted_before_arrow)}function checkGrammarIndexSignatureParameters(t){var r=t.parameters[0];if(t.parameters.length!==1){if(r){return grammarErrorOnNode(r.name,e.Diagnostics.An_index_signature_must_have_exactly_one_parameter)}else{return grammarErrorOnNode(t,e.Diagnostics.An_index_signature_must_have_exactly_one_parameter)}}if(r.dotDotDotToken){return grammarErrorOnNode(r.dotDotDotToken,e.Diagnostics.An_index_signature_cannot_have_a_rest_parameter)}if(e.hasModifiers(r)){return grammarErrorOnNode(r.name,e.Diagnostics.An_index_signature_parameter_cannot_have_an_accessibility_modifier)}if(r.questionToken){return grammarErrorOnNode(r.questionToken,e.Diagnostics.An_index_signature_parameter_cannot_have_a_question_mark)}if(r.initializer){return grammarErrorOnNode(r.name,e.Diagnostics.An_index_signature_parameter_cannot_have_an_initializer)}if(!r.type){return grammarErrorOnNode(r.name,e.Diagnostics.An_index_signature_parameter_must_have_a_type_annotation)}if(r.type.kind!==138&&r.type.kind!==135){var n=getTypeFromTypeNode(r.type);if(n.flags&4||n.flags&8){return grammarErrorOnNode(r.name,e.Diagnostics.An_index_signature_parameter_type_cannot_be_a_type_alias_Consider_writing_0_Colon_1_Colon_2_instead,e.getTextOfNode(r.name),typeToString(n),typeToString(getTypeFromTypeNode(t.type)))}if(n.flags&1048576&&allTypesAssignableToKind(n,128,true)){return grammarErrorOnNode(r.name,e.Diagnostics.An_index_signature_parameter_type_cannot_be_a_union_type_Consider_using_a_mapped_object_type_instead)}return grammarErrorOnNode(r.name,e.Diagnostics.An_index_signature_parameter_type_must_be_string_or_number)}if(!t.type){return grammarErrorOnNode(t,e.Diagnostics.An_index_signature_must_have_a_type_annotation)}return false}function checkGrammarIndexSignature(e){return checkGrammarDecoratorsAndModifiers(e)||checkGrammarIndexSignatureParameters(e)}function checkGrammarForAtLeastOneTypeArgument(t,r){if(r&&r.length===0){var n=e.getSourceFileOfNode(t);var i=r.pos-"<".length;var a=e.skipTrivia(n.text,r.end)+">".length;return grammarErrorAtPos(n,i,a-i,e.Diagnostics.Type_argument_list_cannot_be_empty)}return false}function checkGrammarTypeArguments(e,t){return checkGrammarForDisallowedTrailingComma(t)||checkGrammarForAtLeastOneTypeArgument(e,t)}function checkGrammarForOmittedArgument(t){if(t){for(var r=0,n=t;r1){return grammarErrorOnFirstToken(o.types[1],e.Diagnostics.Classes_can_only_extend_a_single_class)}r=true}else{e.Debug.assert(o.token===109);if(n){return grammarErrorOnFirstToken(o,e.Diagnostics.implements_clause_already_seen)}n=true}checkGrammarHeritageClause(o)}}}function checkGrammarInterfaceDeclaration(t){var r=false;if(t.heritageClauses){for(var n=0,i=t.heritageClauses;n1){var i=t.kind===226?e.Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement:e.Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement;return grammarErrorOnFirstToken(r.declarations[1],i)}var a=n[0];if(a.initializer){var i=t.kind===226?e.Diagnostics.The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer:e.Diagnostics.The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer;return grammarErrorOnNode(a.name,i)}if(a.type){var i=t.kind===226?e.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation:e.Diagnostics.The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation;return grammarErrorOnNode(a,i)}}}return false}function checkGrammarAccessor(t){var r=t.kind;if(C<1){return grammarErrorOnNode(t.name,e.Diagnostics.Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher)}else if(t.flags&4194304){return grammarErrorOnNode(t.name,e.Diagnostics.An_accessor_cannot_be_declared_in_an_ambient_context)}else if(t.body===undefined&&!e.hasModifier(t,128)){return grammarErrorAtPos(t,t.end-1,";".length,e.Diagnostics._0_expected,"{")}else if(t.body&&e.hasModifier(t,128)){return grammarErrorOnNode(t,e.Diagnostics.An_abstract_accessor_cannot_have_an_implementation)}else if(t.typeParameters){return grammarErrorOnNode(t.name,e.Diagnostics.An_accessor_cannot_have_type_parameters)}else if(!doesAccessorHaveCorrectParameterCount(t)){return grammarErrorOnNode(t.name,r===158?e.Diagnostics.A_get_accessor_cannot_have_parameters:e.Diagnostics.A_set_accessor_must_have_exactly_one_parameter)}else if(r===159){if(t.type){return grammarErrorOnNode(t.name,e.Diagnostics.A_set_accessor_cannot_have_a_return_type_annotation)}else{var n=t.parameters[0];if(n.dotDotDotToken){return grammarErrorOnNode(n.dotDotDotToken,e.Diagnostics.A_set_accessor_cannot_have_rest_parameter)}else if(n.questionToken){return grammarErrorOnNode(n.questionToken,e.Diagnostics.A_set_accessor_cannot_have_an_optional_parameter)}else if(n.initializer){return grammarErrorOnNode(t.name,e.Diagnostics.A_set_accessor_parameter_cannot_have_an_initializer)}}}return false}function doesAccessorHaveCorrectParameterCount(e){return getAccessorThisParameter(e)||e.parameters.length===(e.kind===158?0:1)}function getAccessorThisParameter(t){if(t.parameters.length===(t.kind===158?1:2)){return e.getThisParameter(t)}}function checkGrammarTypeOperatorNode(t){if(t.operator===142){if(t.type.kind!==139){return grammarErrorOnNode(t.type,e.Diagnostics._0_expected,e.tokenToString(139))}var r=e.walkUpParenthesizedTypes(t.parent);switch(r.kind){case 237:var n=r;if(n.name.kind!==72){return grammarErrorOnNode(t,e.Diagnostics.unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name)}if(!e.isVariableDeclarationInVariableStatement(n)){return grammarErrorOnNode(t,e.Diagnostics.unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement)}if(!(n.parent.flags&2)){return grammarErrorOnNode(r.name,e.Diagnostics.A_variable_whose_type_is_a_unique_symbol_type_must_be_const)}break;case 154:if(!e.hasModifier(r,32)||!e.hasModifier(r,64)){return grammarErrorOnNode(r.name,e.Diagnostics.A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly)}break;case 153:if(!e.hasModifier(r,64)){return grammarErrorOnNode(r.name,e.Diagnostics.A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly)}break;default:return grammarErrorOnNode(t,e.Diagnostics.unique_symbol_types_are_not_allowed_here)}}}function checkGrammarForInvalidDynamicName(e,t){if(isNonBindableDynamicName(e)){return grammarErrorOnNode(e,t)}}function checkGrammarMethod(t){if(checkGrammarFunctionLikeDeclaration(t)){return true}if(t.kind===156){if(t.parent.kind===188){if(t.modifiers&&!(t.modifiers.length===1&&e.first(t.modifiers).kind===121)){return grammarErrorOnFirstToken(t,e.Diagnostics.Modifiers_cannot_appear_here)}else if(checkGrammarForInvalidQuestionMark(t.questionToken,e.Diagnostics.An_object_member_cannot_be_declared_optional)){return true}else if(checkGrammarForInvalidExclamationToken(t.exclamationToken,e.Diagnostics.A_definite_assignment_assertion_is_not_permitted_in_this_context)){return true}else if(t.body===undefined){return grammarErrorAtPos(t,t.end-1,";".length,e.Diagnostics._0_expected,"{")}}if(checkGrammarForGenerator(t)){return true}}if(e.isClassLike(t.parent)){if(t.flags&4194304){return checkGrammarForInvalidDynamicName(t.name,e.Diagnostics.A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type)}else if(t.kind===156&&!t.body){return checkGrammarForInvalidDynamicName(t.name,e.Diagnostics.A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type)}}else if(t.parent.kind===241){return checkGrammarForInvalidDynamicName(t.name,e.Diagnostics.A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type)}else if(t.parent.kind===168){return checkGrammarForInvalidDynamicName(t.name,e.Diagnostics.A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type)}}function checkGrammarBreakOrContinueStatement(t){var r=t;while(r){if(e.isFunctionLike(r)){return grammarErrorOnNode(t,e.Diagnostics.Jump_target_cannot_cross_function_boundary)}switch(r.kind){case 233:if(t.label&&r.label.escapedText===t.label.escapedText){var n=t.kind===228&&!e.isIterationStatement(r.statement,true);if(n){return grammarErrorOnNode(t,e.Diagnostics.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement)}return false}break;case 232:if(t.kind===229&&!t.label){return false}break;default:if(e.isIterationStatement(r,false)&&!t.label){return false}break}r=r.parent}if(t.label){var i=t.kind===229?e.Diagnostics.A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement:e.Diagnostics.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement;return grammarErrorOnNode(t,i)}else{var i=t.kind===229?e.Diagnostics.A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement:e.Diagnostics.A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement;return grammarErrorOnNode(t,i)}}function checkGrammarBindingElement(t){if(t.dotDotDotToken){var r=t.parent.elements;if(t!==e.last(r)){return grammarErrorOnNode(t,e.Diagnostics.A_rest_element_must_be_last_in_a_destructuring_pattern)}checkGrammarForDisallowedTrailingComma(r,e.Diagnostics.A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma);if(t.propertyName){return grammarErrorOnNode(t.name,e.Diagnostics.A_rest_element_cannot_have_a_property_name)}if(t.initializer){return grammarErrorAtPos(t,t.initializer.pos-1,1,e.Diagnostics.A_rest_element_cannot_have_an_initializer)}}}function isStringOrNumberLiteralExpression(e){return e.kind===10||e.kind===8||e.kind===202&&e.operator===39&&e.operand.kind===8}function isBigIntLiteralExpression(e){return e.kind===9||e.kind===202&&e.operator===39&&e.operand.kind===9}function isSimpleLiteralEnumReference(t){if((e.isPropertyAccessExpression(t)||e.isElementAccessExpression(t)&&isStringOrNumberLiteralExpression(t.argumentExpression))&&e.isEntityNameExpression(t.expression))return!!(checkExpressionCached(t).flags&1024)}function checkAmbientInitializer(t){var r=t.initializer;if(r){var n=!(isStringOrNumberLiteralExpression(r)||isSimpleLiteralEnumReference(r)||r.kind===102||r.kind===87||isBigIntLiteralExpression(r));var i=e.isDeclarationReadonly(t)||e.isVariableDeclaration(t)&&e.isVarConst(t);if(i&&!t.type){if(n){return grammarErrorOnNode(r,e.Diagnostics.A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_reference)}}else{return grammarErrorOnNode(r,e.Diagnostics.Initializers_are_not_allowed_in_ambient_contexts)}if(!i||n){return grammarErrorOnNode(r,e.Diagnostics.Initializers_are_not_allowed_in_ambient_contexts)}}}function checkGrammarVariableDeclaration(t){if(t.parent.parent.kind!==226&&t.parent.parent.kind!==227){if(t.flags&4194304){checkAmbientInitializer(t)}else if(!t.initializer){if(e.isBindingPattern(t.name)&&!e.isBindingPattern(t.parent)){return grammarErrorOnNode(t,e.Diagnostics.A_destructuring_declaration_must_have_an_initializer)}if(e.isVarConst(t)){return grammarErrorOnNode(t,e.Diagnostics.const_declarations_must_be_initialized)}}}if(t.exclamationToken&&(t.parent.parent.kind!==219||!t.type||t.initializer||t.flags&4194304)){return grammarErrorOnNode(t.exclamationToken,e.Diagnostics.A_definite_assignment_assertion_is_not_permitted_in_this_context)}if(x.module!==e.ModuleKind.ES2015&&x.module!==e.ModuleKind.ESNext&&x.module!==e.ModuleKind.System&&!x.noEmit&&!(t.parent.parent.flags&4194304)&&e.hasModifier(t.parent.parent,1)){checkESModuleMarker(t.name)}var r=e.isLet(t)||e.isVarConst(t);return r&&checkGrammarNameInLetOrConstDeclarations(t.name)}function checkESModuleMarker(t){if(t.kind===72){if(e.idText(t)==="__esModule"){return grammarErrorOnNode(t,e.Diagnostics.Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules)}}else{var r=t.elements;for(var n=0,i=r;n0}function grammarErrorOnFirstToken(t,r,n,i,a){var o=e.getSourceFileOfNode(t);if(!hasParseDiagnostics(o)){var s=e.getSpanOfTokenAtPosition(o,t.pos);Xt.add(e.createFileDiagnostic(o,s.start,s.length,r,n,i,a));return true}return false}function grammarErrorAtPos(t,r,n,i,a,o,s){var c=e.getSourceFileOfNode(t);if(!hasParseDiagnostics(c)){Xt.add(e.createFileDiagnostic(c,r,n,i,a,o,s));return true}return false}function grammarErrorOnNode(t,r,n,i,a){var o=e.getSourceFileOfNode(t);if(!hasParseDiagnostics(o)){Xt.add(e.createDiagnosticForNode(t,r,n,i,a));return true}return false}function checkGrammarConstructorTypeParameters(t){var r=e.isInJSFile(t)?e.getJSDocTypeParameterDeclarations(t):undefined;var n=t.typeParameters||r&&e.firstOrUndefined(r);if(n){var i=n.pos===n.end?n.pos:e.skipTrivia(e.getSourceFileOfNode(t).text,n.pos);return grammarErrorAtPos(t,i,n.end-i,e.Diagnostics.Type_parameters_cannot_appear_on_a_constructor_declaration)}}function checkGrammarConstructorTypeAnnotation(t){var r=e.getEffectiveReturnTypeNode(t);if(r){return grammarErrorOnNode(r,e.Diagnostics.Type_annotation_cannot_appear_on_a_constructor_declaration)}}function checkGrammarProperty(t){if(e.isClassLike(t.parent)){if(checkGrammarForInvalidDynamicName(t.name,e.Diagnostics.A_computed_property_name_in_a_class_property_declaration_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type)){return true}}else if(t.parent.kind===241){if(checkGrammarForInvalidDynamicName(t.name,e.Diagnostics.A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type)){return true}if(t.initializer){return grammarErrorOnNode(t.initializer,e.Diagnostics.An_interface_property_cannot_have_an_initializer)}}else if(t.parent.kind===168){if(checkGrammarForInvalidDynamicName(t.name,e.Diagnostics.A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type)){return true}if(t.initializer){return grammarErrorOnNode(t.initializer,e.Diagnostics.A_type_literal_property_cannot_have_an_initializer)}}if(t.flags&4194304){checkAmbientInitializer(t)}if(e.isPropertyDeclaration(t)&&t.exclamationToken&&(!e.isClassLike(t.parent)||!t.type||t.initializer||t.flags&4194304||e.hasModifier(t,32|128))){return grammarErrorOnNode(t.exclamationToken,e.Diagnostics.A_definite_assignment_assertion_is_not_permitted_in_this_context)}}function checkGrammarTopLevelElementForRequiredDeclareModifier(t){if(t.kind===241||t.kind===242||t.kind===249||t.kind===248||t.kind===255||t.kind===254||t.kind===247||e.hasModifier(t,2|1|512)){return false}return grammarErrorOnFirstToken(t,e.Diagnostics.A_declare_modifier_is_required_for_a_top_level_declaration_in_a_d_ts_file)}function checkGrammarTopLevelElementsForRequiredDeclareModifier(t){for(var r=0,n=t.statements;r=1){r=e.Diagnostics.Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0}else if(e.isChildOfNodeWithKind(t,182)){r=e.Diagnostics.Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0}else if(e.isChildOfNodeWithKind(t,278)){r=e.Diagnostics.Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0}if(r){var n=e.isPrefixUnaryExpression(t.parent)&&t.parent.operator===39;var i=(n?"-":"")+"0o"+t.text;return grammarErrorOnNode(n?t.parent:t,r,i)}}return false}function checkGrammarBigIntLiteral(t){var r=e.isLiteralTypeNode(t.parent)||e.isPrefixUnaryExpression(t.parent)&&e.isLiteralTypeNode(t.parent.parent);if(!r){if(C<6){if(grammarErrorOnNode(t,e.Diagnostics.BigInt_literals_are_not_available_when_targeting_lower_than_ESNext)){return true}}}return false}function grammarErrorAfterFirstToken(t,r,n,i,a){var o=e.getSourceFileOfNode(t);if(!hasParseDiagnostics(o)){var s=e.getSpanOfTokenAtPosition(o,t.pos);Xt.add(e.createFileDiagnostic(o,e.textSpanEnd(s),0,r,n,i,a));return true}return false}function getAmbientModules(){if(!Ve){Ve=[];We.forEach(function(e,r){if(t.test(r)){Ve.push(e)}})}return Ve}function checkGrammarImportCallExpression(t){if(E===e.ModuleKind.ES2015){return grammarErrorOnNode(t,e.Diagnostics.Dynamic_import_is_only_supported_when_module_flag_is_commonjs_or_esNext)}if(t.typeArguments){return grammarErrorOnNode(t,e.Diagnostics.Dynamic_import_cannot_have_type_arguments)}var r=t.arguments;if(r.length!==1){return grammarErrorOnNode(t,e.Diagnostics.Dynamic_import_must_have_one_specifier_as_an_argument)}if(e.isSpreadElement(r[0])){return grammarErrorOnNode(r[0],e.Diagnostics.Specifier_of_dynamic_import_cannot_be_spread_element)}return false}}e.createTypeChecker=createTypeChecker;function isDeclarationNameOrImportPropertyName(t){switch(t.parent.kind){case 253:case 257:return e.isIdentifier(t);default:return e.isDeclarationName(t)}}function isSomeImportDeclaration(e){switch(e.kind){case 250:case 248:case 251:case 253:return true;case 72:return e.parent.kind===253;default:return false}}var c;(function(e){e.JSX="JSX";e.IntrinsicElements="IntrinsicElements";e.ElementClass="ElementClass";e.ElementAttributesPropertyNameContainer="ElementAttributesProperty";e.ElementChildrenAttributeNameContainer="ElementChildrenAttribute";e.Element="Element";e.IntrinsicAttributes="IntrinsicAttributes";e.IntrinsicClassAttributes="IntrinsicClassAttributes";e.LibraryManagedAttributes="LibraryManagedAttributes"})(c||(c={}));function typeIsLiteralType(e){return!!(e.flags&2944)}})(s||(s={}));var s;(function(e){function createSynthesizedNode(t){var r=e.createNode(t,-1,-1);r.flags|=8;return r}function updateNode(t,r){if(t!==r){setOriginalNode(t,r);setTextRange(t,r);e.aggregateTransformFlags(t)}return t}e.updateNode=updateNode;function createNodeArray(t,r){if(!t||t===e.emptyArray){t=[]}else if(e.isNodeArray(t)){return t}var n=t;n.pos=-1;n.end=-1;n.hasTrailingComma=r;return n}e.createNodeArray=createNodeArray;function getSynthesizedClone(e){if(e===undefined){return e}var t=createSynthesizedNode(e.kind);t.flags|=e.flags;setOriginalNode(t,e);for(var r in e){if(t.hasOwnProperty(r)||!e.hasOwnProperty(r)){continue}t[r]=e[r]}return t}e.getSynthesizedClone=getSynthesizedClone;function createLiteral(t,r){if(typeof t==="number"){return createNumericLiteral(t+"")}if(typeof t==="object"&&"base10Value"in t){return createBigIntLiteral(e.pseudoBigIntToString(t)+"n")}if(typeof t==="boolean"){return t?createTrue():createFalse()}if(e.isString(t)){var n=createStringLiteral(t);if(r)n.singleQuote=true;return n}return createLiteralFromNode(t)}e.createLiteral=createLiteral;function createNumericLiteral(e){var t=createSynthesizedNode(8);t.text=e;t.numericLiteralFlags=0;return t}e.createNumericLiteral=createNumericLiteral;function createBigIntLiteral(e){var t=createSynthesizedNode(9);t.text=e;return t}e.createBigIntLiteral=createBigIntLiteral;function createStringLiteral(e){var t=createSynthesizedNode(10);t.text=e;return t}e.createStringLiteral=createStringLiteral;function createRegularExpressionLiteral(e){var t=createSynthesizedNode(13);t.text=e;return t}e.createRegularExpressionLiteral=createRegularExpressionLiteral;function createLiteralFromNode(t){var r=createStringLiteral(e.getTextOfIdentifierOrLiteral(t));r.textSourceNode=t;return r}function createIdentifier(t,r){var n=createSynthesizedNode(72);n.escapedText=e.escapeLeadingUnderscores(t);n.originalKeywordKind=t?e.stringToToken(t):0;n.autoGenerateFlags=0;n.autoGenerateId=0;if(r){n.typeArguments=createNodeArray(r)}return n}e.createIdentifier=createIdentifier;function updateIdentifier(t,r){return t.typeArguments!==r?updateNode(createIdentifier(e.idText(t),r),t):t}e.updateIdentifier=updateIdentifier;var t=0;function createTempVariable(e,r){var n=createIdentifier("");n.autoGenerateFlags=1;n.autoGenerateId=t;t++;if(e){e(n)}if(r){n.autoGenerateFlags|=8}return n}e.createTempVariable=createTempVariable;function createLoopVariable(){var e=createIdentifier("");e.autoGenerateFlags=2;e.autoGenerateId=t;t++;return e}e.createLoopVariable=createLoopVariable;function createUniqueName(e){var r=createIdentifier(e);r.autoGenerateFlags=3;r.autoGenerateId=t;t++;return r}e.createUniqueName=createUniqueName;function createOptimisticUniqueName(e){var r=createIdentifier(e);r.autoGenerateFlags=3|16;r.autoGenerateId=t;t++;return r}e.createOptimisticUniqueName=createOptimisticUniqueName;function createFileLevelUniqueName(e){var t=createOptimisticUniqueName(e);t.autoGenerateFlags|=32;return t}e.createFileLevelUniqueName=createFileLevelUniqueName;function getGeneratedNameForNode(r,n){var i=createIdentifier(r&&e.isIdentifier(r)?e.idText(r):"");i.autoGenerateFlags=4|n;i.autoGenerateId=t;i.original=r;t++;return i}e.getGeneratedNameForNode=getGeneratedNameForNode;function createToken(e){return createSynthesizedNode(e)}e.createToken=createToken;function createSuper(){return createSynthesizedNode(98)}e.createSuper=createSuper;function createThis(){return createSynthesizedNode(100)}e.createThis=createThis;function createNull(){return createSynthesizedNode(96)}e.createNull=createNull;function createTrue(){return createSynthesizedNode(102)}e.createTrue=createTrue;function createFalse(){return createSynthesizedNode(87)}e.createFalse=createFalse;function createModifier(e){return createToken(e)}e.createModifier=createModifier;function createModifiersFromModifierFlags(e){var t=[];if(e&1){t.push(createModifier(85))}if(e&2){t.push(createModifier(125))}if(e&512){t.push(createModifier(80))}if(e&2048){t.push(createModifier(77))}if(e&4){t.push(createModifier(115))}if(e&8){t.push(createModifier(113))}if(e&16){t.push(createModifier(114))}if(e&128){t.push(createModifier(118))}if(e&32){t.push(createModifier(116))}if(e&64){t.push(createModifier(133))}if(e&256){t.push(createModifier(121))}return t}e.createModifiersFromModifierFlags=createModifiersFromModifierFlags;function createQualifiedName(e,t){var r=createSynthesizedNode(148);r.left=e;r.right=asName(t);return r}e.createQualifiedName=createQualifiedName;function updateQualifiedName(e,t,r){return e.left!==t||e.right!==r?updateNode(createQualifiedName(t,r),e):e}e.updateQualifiedName=updateQualifiedName;function parenthesizeForComputedName(t){return e.isCommaSequence(t)?createParen(t):t}function createComputedPropertyName(e){var t=createSynthesizedNode(149);t.expression=parenthesizeForComputedName(e);return t}e.createComputedPropertyName=createComputedPropertyName;function updateComputedPropertyName(e,t){return e.expression!==t?updateNode(createComputedPropertyName(t),e):e}e.updateComputedPropertyName=updateComputedPropertyName;function createTypeParameterDeclaration(e,t,r){var n=createSynthesizedNode(150);n.name=asName(e);n.constraint=t;n.default=r;return n}e.createTypeParameterDeclaration=createTypeParameterDeclaration;function updateTypeParameterDeclaration(e,t,r,n){return e.name!==t||e.constraint!==r||e.default!==n?updateNode(createTypeParameterDeclaration(t,r,n),e):e}e.updateTypeParameterDeclaration=updateTypeParameterDeclaration;function createParameter(t,r,n,i,a,o,s){var c=createSynthesizedNode(151);c.decorators=asNodeArray(t);c.modifiers=asNodeArray(r);c.dotDotDotToken=n;c.name=asName(i);c.questionToken=a;c.type=o;c.initializer=s?e.parenthesizeExpressionForList(s):undefined;return c}e.createParameter=createParameter;function updateParameter(e,t,r,n,i,a,o,s){return e.decorators!==t||e.modifiers!==r||e.dotDotDotToken!==n||e.name!==i||e.questionToken!==a||e.type!==o||e.initializer!==s?updateNode(createParameter(t,r,n,i,a,o,s),e):e}e.updateParameter=updateParameter;function createDecorator(t){var r=createSynthesizedNode(152);r.expression=e.parenthesizeForAccess(t);return r}e.createDecorator=createDecorator;function updateDecorator(e,t){return e.expression!==t?updateNode(createDecorator(t),e):e}e.updateDecorator=updateDecorator;function createPropertySignature(e,t,r,n,i){var a=createSynthesizedNode(153);a.modifiers=asNodeArray(e);a.name=asName(t);a.questionToken=r;a.type=n;a.initializer=i;return a}e.createPropertySignature=createPropertySignature;function updatePropertySignature(e,t,r,n,i,a){return e.modifiers!==t||e.name!==r||e.questionToken!==n||e.type!==i||e.initializer!==a?updateNode(createPropertySignature(t,r,n,i,a),e):e}e.updatePropertySignature=updatePropertySignature;function createProperty(e,t,r,n,i,a){var o=createSynthesizedNode(154);o.decorators=asNodeArray(e);o.modifiers=asNodeArray(t);o.name=asName(r);o.questionToken=n!==undefined&&n.kind===56?n:undefined;o.exclamationToken=n!==undefined&&n.kind===52?n:undefined;o.type=i;o.initializer=a;return o}e.createProperty=createProperty;function updateProperty(e,t,r,n,i,a,o){return e.decorators!==t||e.modifiers!==r||e.name!==n||e.questionToken!==(i!==undefined&&i.kind===56?i:undefined)||e.exclamationToken!==(i!==undefined&&i.kind===52?i:undefined)||e.type!==a||e.initializer!==o?updateNode(createProperty(t,r,n,i,a,o),e):e}e.updateProperty=updateProperty;function createMethodSignature(e,t,r,n,i){var a=createSignatureDeclaration(155,e,t,r);a.name=asName(n);a.questionToken=i;return a}e.createMethodSignature=createMethodSignature;function updateMethodSignature(e,t,r,n,i,a){return e.typeParameters!==t||e.parameters!==r||e.type!==n||e.name!==i||e.questionToken!==a?updateNode(createMethodSignature(t,r,n,i,a),e):e}e.updateMethodSignature=updateMethodSignature;function createMethod(e,t,r,n,i,a,o,s,c){var u=createSynthesizedNode(156);u.decorators=asNodeArray(e);u.modifiers=asNodeArray(t);u.asteriskToken=r;u.name=asName(n);u.questionToken=i;u.typeParameters=asNodeArray(a);u.parameters=createNodeArray(o);u.type=s;u.body=c;return u}e.createMethod=createMethod;function updateMethod(e,t,r,n,i,a,o,s,c,u){return e.decorators!==t||e.modifiers!==r||e.asteriskToken!==n||e.name!==i||e.questionToken!==a||e.typeParameters!==o||e.parameters!==s||e.type!==c||e.body!==u?updateNode(createMethod(t,r,n,i,a,o,s,c,u),e):e}e.updateMethod=updateMethod;function createConstructor(e,t,r,n){var i=createSynthesizedNode(157);i.decorators=asNodeArray(e);i.modifiers=asNodeArray(t);i.typeParameters=undefined;i.parameters=createNodeArray(r);i.type=undefined;i.body=n;return i}e.createConstructor=createConstructor;function updateConstructor(e,t,r,n,i){return e.decorators!==t||e.modifiers!==r||e.parameters!==n||e.body!==i?updateNode(createConstructor(t,r,n,i),e):e}e.updateConstructor=updateConstructor;function createGetAccessor(e,t,r,n,i,a){var o=createSynthesizedNode(158);o.decorators=asNodeArray(e);o.modifiers=asNodeArray(t);o.name=asName(r);o.typeParameters=undefined;o.parameters=createNodeArray(n);o.type=i;o.body=a;return o}e.createGetAccessor=createGetAccessor;function updateGetAccessor(e,t,r,n,i,a,o){return e.decorators!==t||e.modifiers!==r||e.name!==n||e.parameters!==i||e.type!==a||e.body!==o?updateNode(createGetAccessor(t,r,n,i,a,o),e):e}e.updateGetAccessor=updateGetAccessor;function createSetAccessor(e,t,r,n,i){var a=createSynthesizedNode(159);a.decorators=asNodeArray(e);a.modifiers=asNodeArray(t);a.name=asName(r);a.typeParameters=undefined;a.parameters=createNodeArray(n);a.body=i;return a}e.createSetAccessor=createSetAccessor;function updateSetAccessor(e,t,r,n,i,a){return e.decorators!==t||e.modifiers!==r||e.name!==n||e.parameters!==i||e.body!==a?updateNode(createSetAccessor(t,r,n,i,a),e):e}e.updateSetAccessor=updateSetAccessor;function createCallSignature(e,t,r){return createSignatureDeclaration(160,e,t,r)}e.createCallSignature=createCallSignature;function updateCallSignature(e,t,r,n){return updateSignatureDeclaration(e,t,r,n)}e.updateCallSignature=updateCallSignature;function createConstructSignature(e,t,r){return createSignatureDeclaration(161,e,t,r)}e.createConstructSignature=createConstructSignature;function updateConstructSignature(e,t,r,n){return updateSignatureDeclaration(e,t,r,n)}e.updateConstructSignature=updateConstructSignature;function createIndexSignature(e,t,r,n){var i=createSynthesizedNode(162);i.decorators=asNodeArray(e);i.modifiers=asNodeArray(t);i.parameters=createNodeArray(r);i.type=n;return i}e.createIndexSignature=createIndexSignature;function updateIndexSignature(e,t,r,n,i){return e.parameters!==n||e.type!==i||e.decorators!==t||e.modifiers!==r?updateNode(createIndexSignature(t,r,n,i),e):e}e.updateIndexSignature=updateIndexSignature;function createSignatureDeclaration(e,t,r,n,i){var a=createSynthesizedNode(e);a.typeParameters=asNodeArray(t);a.parameters=asNodeArray(r);a.type=n;a.typeArguments=asNodeArray(i);return a}e.createSignatureDeclaration=createSignatureDeclaration;function updateSignatureDeclaration(e,t,r,n){return e.typeParameters!==t||e.parameters!==r||e.type!==n?updateNode(createSignatureDeclaration(e.kind,t,r,n),e):e}function createKeywordTypeNode(e){return createSynthesizedNode(e)}e.createKeywordTypeNode=createKeywordTypeNode;function createTypePredicateNode(e,t){var r=createSynthesizedNode(163);r.parameterName=asName(e);r.type=t;return r}e.createTypePredicateNode=createTypePredicateNode;function updateTypePredicateNode(e,t,r){return e.parameterName!==t||e.type!==r?updateNode(createTypePredicateNode(t,r),e):e}e.updateTypePredicateNode=updateTypePredicateNode;function createTypeReferenceNode(t,r){var n=createSynthesizedNode(164);n.typeName=asName(t);n.typeArguments=r&&e.parenthesizeTypeParameters(r);return n}e.createTypeReferenceNode=createTypeReferenceNode;function updateTypeReferenceNode(e,t,r){return e.typeName!==t||e.typeArguments!==r?updateNode(createTypeReferenceNode(t,r),e):e}e.updateTypeReferenceNode=updateTypeReferenceNode;function createFunctionTypeNode(e,t,r){return createSignatureDeclaration(165,e,t,r)}e.createFunctionTypeNode=createFunctionTypeNode;function updateFunctionTypeNode(e,t,r,n){return updateSignatureDeclaration(e,t,r,n)}e.updateFunctionTypeNode=updateFunctionTypeNode;function createConstructorTypeNode(e,t,r){return createSignatureDeclaration(166,e,t,r)}e.createConstructorTypeNode=createConstructorTypeNode;function updateConstructorTypeNode(e,t,r,n){return updateSignatureDeclaration(e,t,r,n)}e.updateConstructorTypeNode=updateConstructorTypeNode;function createTypeQueryNode(e){var t=createSynthesizedNode(167);t.exprName=e;return t}e.createTypeQueryNode=createTypeQueryNode;function updateTypeQueryNode(e,t){return e.exprName!==t?updateNode(createTypeQueryNode(t),e):e}e.updateTypeQueryNode=updateTypeQueryNode;function createTypeLiteralNode(e){var t=createSynthesizedNode(168);t.members=createNodeArray(e);return t}e.createTypeLiteralNode=createTypeLiteralNode;function updateTypeLiteralNode(e,t){return e.members!==t?updateNode(createTypeLiteralNode(t),e):e}e.updateTypeLiteralNode=updateTypeLiteralNode;function createArrayTypeNode(t){var r=createSynthesizedNode(169);r.elementType=e.parenthesizeArrayTypeMember(t);return r}e.createArrayTypeNode=createArrayTypeNode;function updateArrayTypeNode(e,t){return e.elementType!==t?updateNode(createArrayTypeNode(t),e):e}e.updateArrayTypeNode=updateArrayTypeNode;function createTupleTypeNode(e){var t=createSynthesizedNode(170);t.elementTypes=createNodeArray(e);return t}e.createTupleTypeNode=createTupleTypeNode;function updateTupleTypeNode(e,t){return e.elementTypes!==t?updateNode(createTupleTypeNode(t),e):e}e.updateTupleTypeNode=updateTupleTypeNode;function createOptionalTypeNode(t){var r=createSynthesizedNode(171);r.type=e.parenthesizeArrayTypeMember(t);return r}e.createOptionalTypeNode=createOptionalTypeNode;function updateOptionalTypeNode(e,t){return e.type!==t?updateNode(createOptionalTypeNode(t),e):e}e.updateOptionalTypeNode=updateOptionalTypeNode;function createRestTypeNode(e){var t=createSynthesizedNode(172);t.type=e;return t}e.createRestTypeNode=createRestTypeNode;function updateRestTypeNode(e,t){return e.type!==t?updateNode(createRestTypeNode(t),e):e}e.updateRestTypeNode=updateRestTypeNode;function createUnionTypeNode(e){return createUnionOrIntersectionTypeNode(173,e)}e.createUnionTypeNode=createUnionTypeNode;function updateUnionTypeNode(e,t){return updateUnionOrIntersectionTypeNode(e,t)}e.updateUnionTypeNode=updateUnionTypeNode;function createIntersectionTypeNode(e){return createUnionOrIntersectionTypeNode(174,e)}e.createIntersectionTypeNode=createIntersectionTypeNode;function updateIntersectionTypeNode(e,t){return updateUnionOrIntersectionTypeNode(e,t)}e.updateIntersectionTypeNode=updateIntersectionTypeNode;function createUnionOrIntersectionTypeNode(t,r){var n=createSynthesizedNode(t);n.types=e.parenthesizeElementTypeMembers(r);return n}e.createUnionOrIntersectionTypeNode=createUnionOrIntersectionTypeNode;function updateUnionOrIntersectionTypeNode(e,t){return e.types!==t?updateNode(createUnionOrIntersectionTypeNode(e.kind,t),e):e}function createConditionalTypeNode(t,r,n,i){var a=createSynthesizedNode(175);a.checkType=e.parenthesizeConditionalTypeMember(t);a.extendsType=e.parenthesizeConditionalTypeMember(r);a.trueType=n;a.falseType=i;return a}e.createConditionalTypeNode=createConditionalTypeNode;function updateConditionalTypeNode(e,t,r,n,i){return e.checkType!==t||e.extendsType!==r||e.trueType!==n||e.falseType!==i?updateNode(createConditionalTypeNode(t,r,n,i),e):e}e.updateConditionalTypeNode=updateConditionalTypeNode;function createInferTypeNode(e){var t=createSynthesizedNode(176);t.typeParameter=e;return t}e.createInferTypeNode=createInferTypeNode;function updateInferTypeNode(e,t){return e.typeParameter!==t?updateNode(createInferTypeNode(t),e):e}e.updateInferTypeNode=updateInferTypeNode;function createImportTypeNode(e,t,r,n){var i=createSynthesizedNode(183);i.argument=e;i.qualifier=t;i.typeArguments=asNodeArray(r);i.isTypeOf=n;return i}e.createImportTypeNode=createImportTypeNode;function updateImportTypeNode(e,t,r,n,i){return e.argument!==t||e.qualifier!==r||e.typeArguments!==n||e.isTypeOf!==i?updateNode(createImportTypeNode(t,r,n,i),e):e}e.updateImportTypeNode=updateImportTypeNode;function createParenthesizedType(e){var t=createSynthesizedNode(177);t.type=e;return t}e.createParenthesizedType=createParenthesizedType;function updateParenthesizedType(e,t){return e.type!==t?updateNode(createParenthesizedType(t),e):e}e.updateParenthesizedType=updateParenthesizedType;function createThisTypeNode(){return createSynthesizedNode(178)}e.createThisTypeNode=createThisTypeNode;function createTypeOperatorNode(t,r){var n=createSynthesizedNode(179);n.operator=typeof t==="number"?t:129;n.type=e.parenthesizeElementTypeMember(typeof t==="number"?r:t);return n}e.createTypeOperatorNode=createTypeOperatorNode;function updateTypeOperatorNode(e,t){return e.type!==t?updateNode(createTypeOperatorNode(e.operator,t),e):e}e.updateTypeOperatorNode=updateTypeOperatorNode;function createIndexedAccessTypeNode(t,r){var n=createSynthesizedNode(180);n.objectType=e.parenthesizeElementTypeMember(t);n.indexType=r;return n}e.createIndexedAccessTypeNode=createIndexedAccessTypeNode;function updateIndexedAccessTypeNode(e,t,r){return e.objectType!==t||e.indexType!==r?updateNode(createIndexedAccessTypeNode(t,r),e):e}e.updateIndexedAccessTypeNode=updateIndexedAccessTypeNode;function createMappedTypeNode(e,t,r,n){var i=createSynthesizedNode(181);i.readonlyToken=e;i.typeParameter=t;i.questionToken=r;i.type=n;return i}e.createMappedTypeNode=createMappedTypeNode;function updateMappedTypeNode(e,t,r,n,i){return e.readonlyToken!==t||e.typeParameter!==r||e.questionToken!==n||e.type!==i?updateNode(createMappedTypeNode(t,r,n,i),e):e}e.updateMappedTypeNode=updateMappedTypeNode;function createLiteralTypeNode(e){var t=createSynthesizedNode(182);t.literal=e;return t}e.createLiteralTypeNode=createLiteralTypeNode;function updateLiteralTypeNode(e,t){return e.literal!==t?updateNode(createLiteralTypeNode(t),e):e}e.updateLiteralTypeNode=updateLiteralTypeNode;function createObjectBindingPattern(e){var t=createSynthesizedNode(184);t.elements=createNodeArray(e);return t}e.createObjectBindingPattern=createObjectBindingPattern;function updateObjectBindingPattern(e,t){return e.elements!==t?updateNode(createObjectBindingPattern(t),e):e}e.updateObjectBindingPattern=updateObjectBindingPattern;function createArrayBindingPattern(e){var t=createSynthesizedNode(185);t.elements=createNodeArray(e);return t}e.createArrayBindingPattern=createArrayBindingPattern;function updateArrayBindingPattern(e,t){return e.elements!==t?updateNode(createArrayBindingPattern(t),e):e}e.updateArrayBindingPattern=updateArrayBindingPattern;function createBindingElement(e,t,r,n){var i=createSynthesizedNode(186);i.dotDotDotToken=e;i.propertyName=asName(t);i.name=asName(r);i.initializer=n;return i}e.createBindingElement=createBindingElement;function updateBindingElement(e,t,r,n,i){return e.propertyName!==r||e.dotDotDotToken!==t||e.name!==n||e.initializer!==i?updateNode(createBindingElement(t,r,n,i),e):e}e.updateBindingElement=updateBindingElement;function createArrayLiteral(t,r){var n=createSynthesizedNode(187);n.elements=e.parenthesizeListElements(createNodeArray(t));if(r)n.multiLine=true;return n}e.createArrayLiteral=createArrayLiteral;function updateArrayLiteral(e,t){return e.elements!==t?updateNode(createArrayLiteral(t,e.multiLine),e):e}e.updateArrayLiteral=updateArrayLiteral;function createObjectLiteral(e,t){var r=createSynthesizedNode(188);r.properties=createNodeArray(e);if(t)r.multiLine=true;return r}e.createObjectLiteral=createObjectLiteral;function updateObjectLiteral(e,t){return e.properties!==t?updateNode(createObjectLiteral(t,e.multiLine),e):e}e.updateObjectLiteral=updateObjectLiteral;function createPropertyAccess(t,r){var n=createSynthesizedNode(189);n.expression=e.parenthesizeForAccess(t);n.name=asName(r);setEmitFlags(n,131072);return n}e.createPropertyAccess=createPropertyAccess;function updatePropertyAccess(t,r,n){return t.expression!==r||t.name!==n?updateNode(setEmitFlags(createPropertyAccess(r,n),e.getEmitFlags(t)),t):t}e.updatePropertyAccess=updatePropertyAccess;function createElementAccess(t,r){var n=createSynthesizedNode(190);n.expression=e.parenthesizeForAccess(t);n.argumentExpression=asExpression(r);return n}e.createElementAccess=createElementAccess;function updateElementAccess(e,t,r){return e.expression!==t||e.argumentExpression!==r?updateNode(createElementAccess(t,r),e):e}e.updateElementAccess=updateElementAccess;function createCall(t,r,n){var i=createSynthesizedNode(191);i.expression=e.parenthesizeForAccess(t);i.typeArguments=asNodeArray(r);i.arguments=e.parenthesizeListElements(createNodeArray(n));return i}e.createCall=createCall;function updateCall(e,t,r,n){return e.expression!==t||e.typeArguments!==r||e.arguments!==n?updateNode(createCall(t,r,n),e):e}e.updateCall=updateCall;function createNew(t,r,n){var i=createSynthesizedNode(192);i.expression=e.parenthesizeForNew(t);i.typeArguments=asNodeArray(r);i.arguments=n?e.parenthesizeListElements(createNodeArray(n)):undefined;return i}e.createNew=createNew;function updateNew(e,t,r,n){return e.expression!==t||e.typeArguments!==r||e.arguments!==n?updateNode(createNew(t,r,n),e):e}e.updateNew=updateNew;function createTaggedTemplate(t,r,n){var i=createSynthesizedNode(193);i.tag=e.parenthesizeForAccess(t);if(n){i.typeArguments=asNodeArray(r);i.template=n}else{i.typeArguments=undefined;i.template=r}return i}e.createTaggedTemplate=createTaggedTemplate;function updateTaggedTemplate(e,t,r,n){return e.tag!==t||(n?e.typeArguments!==r||e.template!==n:e.typeArguments!==undefined||e.template!==r)?updateNode(createTaggedTemplate(t,r,n),e):e}e.updateTaggedTemplate=updateTaggedTemplate;function createTypeAssertion(t,r){var n=createSynthesizedNode(194);n.type=t;n.expression=e.parenthesizePrefixOperand(r);return n}e.createTypeAssertion=createTypeAssertion;function updateTypeAssertion(e,t,r){return e.type!==t||e.expression!==r?updateNode(createTypeAssertion(t,r),e):e}e.updateTypeAssertion=updateTypeAssertion;function createParen(e){var t=createSynthesizedNode(195);t.expression=e;return t}e.createParen=createParen;function updateParen(e,t){return e.expression!==t?updateNode(createParen(t),e):e}e.updateParen=updateParen;function createFunctionExpression(e,t,r,n,i,a,o){var s=createSynthesizedNode(196);s.modifiers=asNodeArray(e);s.asteriskToken=t;s.name=asName(r);s.typeParameters=asNodeArray(n);s.parameters=createNodeArray(i);s.type=a;s.body=o;return s}e.createFunctionExpression=createFunctionExpression;function updateFunctionExpression(e,t,r,n,i,a,o,s){return e.name!==n||e.modifiers!==t||e.asteriskToken!==r||e.typeParameters!==i||e.parameters!==a||e.type!==o||e.body!==s?updateNode(createFunctionExpression(t,r,n,i,a,o,s),e):e}e.updateFunctionExpression=updateFunctionExpression;function createArrowFunction(t,r,n,i,a,o){var s=createSynthesizedNode(197);s.modifiers=asNodeArray(t);s.typeParameters=asNodeArray(r);s.parameters=createNodeArray(n);s.type=i;s.equalsGreaterThanToken=a||createToken(37);s.body=e.parenthesizeConciseBody(o);return s}e.createArrowFunction=createArrowFunction;function updateArrowFunction(e,t,r,n,i,a,o){return e.modifiers!==t||e.typeParameters!==r||e.parameters!==n||e.type!==i||e.equalsGreaterThanToken!==a||e.body!==o?updateNode(createArrowFunction(t,r,n,i,a,o),e):e}e.updateArrowFunction=updateArrowFunction;function createDelete(t){var r=createSynthesizedNode(198);r.expression=e.parenthesizePrefixOperand(t);return r}e.createDelete=createDelete;function updateDelete(e,t){return e.expression!==t?updateNode(createDelete(t),e):e}e.updateDelete=updateDelete;function createTypeOf(t){var r=createSynthesizedNode(199);r.expression=e.parenthesizePrefixOperand(t);return r}e.createTypeOf=createTypeOf;function updateTypeOf(e,t){return e.expression!==t?updateNode(createTypeOf(t),e):e}e.updateTypeOf=updateTypeOf;function createVoid(t){var r=createSynthesizedNode(200);r.expression=e.parenthesizePrefixOperand(t);return r}e.createVoid=createVoid;function updateVoid(e,t){return e.expression!==t?updateNode(createVoid(t),e):e}e.updateVoid=updateVoid;function createAwait(t){var r=createSynthesizedNode(201);r.expression=e.parenthesizePrefixOperand(t);return r}e.createAwait=createAwait;function updateAwait(e,t){return e.expression!==t?updateNode(createAwait(t),e):e}e.updateAwait=updateAwait;function createPrefix(t,r){var n=createSynthesizedNode(202);n.operator=t;n.operand=e.parenthesizePrefixOperand(r);return n}e.createPrefix=createPrefix;function updatePrefix(e,t){return e.operand!==t?updateNode(createPrefix(e.operator,t),e):e}e.updatePrefix=updatePrefix;function createPostfix(t,r){var n=createSynthesizedNode(203);n.operand=e.parenthesizePostfixOperand(t);n.operator=r;return n}e.createPostfix=createPostfix;function updatePostfix(e,t){return e.operand!==t?updateNode(createPostfix(t,e.operator),e):e}e.updatePostfix=updatePostfix;function createBinary(t,r,n){var i=createSynthesizedNode(204);var a=asToken(r);var o=a.kind;i.left=e.parenthesizeBinaryOperand(o,t,true,undefined);i.operatorToken=a;i.right=e.parenthesizeBinaryOperand(o,n,false,i.left);return i}e.createBinary=createBinary;function updateBinary(e,t,r,n){return e.left!==t||e.right!==r?updateNode(createBinary(t,n||e.operatorToken,r),e):e}e.updateBinary=updateBinary;function createConditional(t,r,n,i,a){var o=createSynthesizedNode(205);o.condition=e.parenthesizeForConditionalHead(t);o.questionToken=a?r:createToken(56);o.whenTrue=e.parenthesizeSubexpressionOfConditionalExpression(a?n:r);o.colonToken=a?i:createToken(57);o.whenFalse=e.parenthesizeSubexpressionOfConditionalExpression(a?a:n);return o}e.createConditional=createConditional;function updateConditional(e,t,r,n,i,a){return e.condition!==t||e.questionToken!==r||e.whenTrue!==n||e.colonToken!==i||e.whenFalse!==a?updateNode(createConditional(t,r,n,i,a),e):e}e.updateConditional=updateConditional;function createTemplateExpression(e,t){var r=createSynthesizedNode(206);r.head=e;r.templateSpans=createNodeArray(t);return r}e.createTemplateExpression=createTemplateExpression;function updateTemplateExpression(e,t,r){return e.head!==t||e.templateSpans!==r?updateNode(createTemplateExpression(t,r),e):e}e.updateTemplateExpression=updateTemplateExpression;function createTemplateHead(e){var t=createSynthesizedNode(15);t.text=e;return t}e.createTemplateHead=createTemplateHead;function createTemplateMiddle(e){var t=createSynthesizedNode(16);t.text=e;return t}e.createTemplateMiddle=createTemplateMiddle;function createTemplateTail(e){var t=createSynthesizedNode(17);t.text=e;return t}e.createTemplateTail=createTemplateTail;function createNoSubstitutionTemplateLiteral(e){var t=createSynthesizedNode(14);t.text=e;return t}e.createNoSubstitutionTemplateLiteral=createNoSubstitutionTemplateLiteral;function createYield(e,t){var r=createSynthesizedNode(207);r.asteriskToken=e&&e.kind===40?e:undefined;r.expression=e&&e.kind!==40?e:t;return r}e.createYield=createYield;function updateYield(e,t,r){return e.expression!==r||e.asteriskToken!==t?updateNode(createYield(t,r),e):e}e.updateYield=updateYield;function createSpread(t){var r=createSynthesizedNode(208);r.expression=e.parenthesizeExpressionForList(t);return r}e.createSpread=createSpread;function updateSpread(e,t){return e.expression!==t?updateNode(createSpread(t),e):e}e.updateSpread=updateSpread;function createClassExpression(e,t,r,n,i){var a=createSynthesizedNode(209);a.decorators=undefined;a.modifiers=asNodeArray(e);a.name=asName(t);a.typeParameters=asNodeArray(r);a.heritageClauses=asNodeArray(n);a.members=createNodeArray(i);return a}e.createClassExpression=createClassExpression;function updateClassExpression(e,t,r,n,i,a){return e.modifiers!==t||e.name!==r||e.typeParameters!==n||e.heritageClauses!==i||e.members!==a?updateNode(createClassExpression(t,r,n,i,a),e):e}e.updateClassExpression=updateClassExpression;function createOmittedExpression(){return createSynthesizedNode(210)}e.createOmittedExpression=createOmittedExpression;function createExpressionWithTypeArguments(t,r){var n=createSynthesizedNode(211);n.expression=e.parenthesizeForAccess(r);n.typeArguments=asNodeArray(t);return n}e.createExpressionWithTypeArguments=createExpressionWithTypeArguments;function updateExpressionWithTypeArguments(e,t,r){return e.typeArguments!==t||e.expression!==r?updateNode(createExpressionWithTypeArguments(t,r),e):e}e.updateExpressionWithTypeArguments=updateExpressionWithTypeArguments;function createAsExpression(e,t){var r=createSynthesizedNode(212);r.expression=e;r.type=t;return r}e.createAsExpression=createAsExpression;function updateAsExpression(e,t,r){return e.expression!==t||e.type!==r?updateNode(createAsExpression(t,r),e):e}e.updateAsExpression=updateAsExpression;function createNonNullExpression(t){var r=createSynthesizedNode(213);r.expression=e.parenthesizeForAccess(t);return r}e.createNonNullExpression=createNonNullExpression;function updateNonNullExpression(e,t){return e.expression!==t?updateNode(createNonNullExpression(t),e):e}e.updateNonNullExpression=updateNonNullExpression;function createMetaProperty(e,t){var r=createSynthesizedNode(214);r.keywordToken=e;r.name=t;return r}e.createMetaProperty=createMetaProperty;function updateMetaProperty(e,t){return e.name!==t?updateNode(createMetaProperty(e.keywordToken,t),e):e}e.updateMetaProperty=updateMetaProperty;function createTemplateSpan(e,t){var r=createSynthesizedNode(216);r.expression=e;r.literal=t;return r}e.createTemplateSpan=createTemplateSpan;function updateTemplateSpan(e,t,r){return e.expression!==t||e.literal!==r?updateNode(createTemplateSpan(t,r),e):e}e.updateTemplateSpan=updateTemplateSpan;function createSemicolonClassElement(){return createSynthesizedNode(217)}e.createSemicolonClassElement=createSemicolonClassElement;function createBlock(e,t){var r=createSynthesizedNode(218);r.statements=createNodeArray(e);if(t)r.multiLine=t;return r}e.createBlock=createBlock;function updateBlock(e,t){return e.statements!==t?updateNode(createBlock(t,e.multiLine),e):e}e.updateBlock=updateBlock;function createVariableStatement(t,r){var n=createSynthesizedNode(219);n.decorators=undefined;n.modifiers=asNodeArray(t);n.declarationList=e.isArray(r)?createVariableDeclarationList(r):r;return n}e.createVariableStatement=createVariableStatement;function updateVariableStatement(e,t,r){return e.modifiers!==t||e.declarationList!==r?updateNode(createVariableStatement(t,r),e):e}e.updateVariableStatement=updateVariableStatement;function createEmptyStatement(){return createSynthesizedNode(220)}e.createEmptyStatement=createEmptyStatement;function createExpressionStatement(t){var r=createSynthesizedNode(221);r.expression=e.parenthesizeExpressionForExpressionStatement(t);return r}e.createExpressionStatement=createExpressionStatement;function updateExpressionStatement(e,t){return e.expression!==t?updateNode(createExpressionStatement(t),e):e}e.updateExpressionStatement=updateExpressionStatement;e.createStatement=createExpressionStatement;e.updateStatement=updateExpressionStatement;function createIf(e,t,r){var n=createSynthesizedNode(222);n.expression=e;n.thenStatement=t;n.elseStatement=r;return n}e.createIf=createIf;function updateIf(e,t,r,n){return e.expression!==t||e.thenStatement!==r||e.elseStatement!==n?updateNode(createIf(t,r,n),e):e}e.updateIf=updateIf;function createDo(e,t){var r=createSynthesizedNode(223);r.statement=e;r.expression=t;return r}e.createDo=createDo;function updateDo(e,t,r){return e.statement!==t||e.expression!==r?updateNode(createDo(t,r),e):e}e.updateDo=updateDo;function createWhile(e,t){var r=createSynthesizedNode(224);r.expression=e;r.statement=t;return r}e.createWhile=createWhile;function updateWhile(e,t,r){return e.expression!==t||e.statement!==r?updateNode(createWhile(t,r),e):e}e.updateWhile=updateWhile;function createFor(e,t,r,n){var i=createSynthesizedNode(225);i.initializer=e;i.condition=t;i.incrementor=r;i.statement=n;return i}e.createFor=createFor;function updateFor(e,t,r,n,i){return e.initializer!==t||e.condition!==r||e.incrementor!==n||e.statement!==i?updateNode(createFor(t,r,n,i),e):e}e.updateFor=updateFor;function createForIn(e,t,r){var n=createSynthesizedNode(226);n.initializer=e;n.expression=t;n.statement=r;return n}e.createForIn=createForIn;function updateForIn(e,t,r,n){return e.initializer!==t||e.expression!==r||e.statement!==n?updateNode(createForIn(t,r,n),e):e}e.updateForIn=updateForIn;function createForOf(e,t,r,n){var i=createSynthesizedNode(227);i.awaitModifier=e;i.initializer=t;i.expression=r;i.statement=n;return i}e.createForOf=createForOf;function updateForOf(e,t,r,n,i){return e.awaitModifier!==t||e.initializer!==r||e.expression!==n||e.statement!==i?updateNode(createForOf(t,r,n,i),e):e}e.updateForOf=updateForOf;function createContinue(e){var t=createSynthesizedNode(228);t.label=asName(e);return t}e.createContinue=createContinue;function updateContinue(e,t){return e.label!==t?updateNode(createContinue(t),e):e}e.updateContinue=updateContinue;function createBreak(e){var t=createSynthesizedNode(229);t.label=asName(e);return t}e.createBreak=createBreak;function updateBreak(e,t){return e.label!==t?updateNode(createBreak(t),e):e}e.updateBreak=updateBreak;function createReturn(e){var t=createSynthesizedNode(230);t.expression=e;return t}e.createReturn=createReturn;function updateReturn(e,t){return e.expression!==t?updateNode(createReturn(t),e):e}e.updateReturn=updateReturn;function createWith(e,t){var r=createSynthesizedNode(231);r.expression=e;r.statement=t;return r}e.createWith=createWith;function updateWith(e,t,r){return e.expression!==t||e.statement!==r?updateNode(createWith(t,r),e):e}e.updateWith=updateWith;function createSwitch(t,r){var n=createSynthesizedNode(232);n.expression=e.parenthesizeExpressionForList(t);n.caseBlock=r;return n}e.createSwitch=createSwitch;function updateSwitch(e,t,r){return e.expression!==t||e.caseBlock!==r?updateNode(createSwitch(t,r),e):e}e.updateSwitch=updateSwitch;function createLabel(e,t){var r=createSynthesizedNode(233);r.label=asName(e);r.statement=t;return r}e.createLabel=createLabel;function updateLabel(e,t,r){return e.label!==t||e.statement!==r?updateNode(createLabel(t,r),e):e}e.updateLabel=updateLabel;function createThrow(e){var t=createSynthesizedNode(234);t.expression=e;return t}e.createThrow=createThrow;function updateThrow(e,t){return e.expression!==t?updateNode(createThrow(t),e):e}e.updateThrow=updateThrow;function createTry(e,t,r){var n=createSynthesizedNode(235);n.tryBlock=e;n.catchClause=t;n.finallyBlock=r;return n}e.createTry=createTry;function updateTry(e,t,r,n){return e.tryBlock!==t||e.catchClause!==r||e.finallyBlock!==n?updateNode(createTry(t,r,n),e):e}e.updateTry=updateTry;function createDebuggerStatement(){return createSynthesizedNode(236)}e.createDebuggerStatement=createDebuggerStatement;function createVariableDeclaration(t,r,n){var i=createSynthesizedNode(237);i.name=asName(t);i.type=r;i.initializer=n!==undefined?e.parenthesizeExpressionForList(n):undefined;return i}e.createVariableDeclaration=createVariableDeclaration;function updateVariableDeclaration(e,t,r,n){return e.name!==t||e.type!==r||e.initializer!==n?updateNode(createVariableDeclaration(t,r,n),e):e}e.updateVariableDeclaration=updateVariableDeclaration;function createVariableDeclarationList(e,t){if(t===void 0){t=0}var r=createSynthesizedNode(238);r.flags|=t&3;r.declarations=createNodeArray(e);return r}e.createVariableDeclarationList=createVariableDeclarationList;function updateVariableDeclarationList(e,t){return e.declarations!==t?updateNode(createVariableDeclarationList(t,e.flags),e):e}e.updateVariableDeclarationList=updateVariableDeclarationList;function createFunctionDeclaration(e,t,r,n,i,a,o,s){var c=createSynthesizedNode(239);c.decorators=asNodeArray(e);c.modifiers=asNodeArray(t);c.asteriskToken=r;c.name=asName(n);c.typeParameters=asNodeArray(i);c.parameters=createNodeArray(a);c.type=o;c.body=s;return c}e.createFunctionDeclaration=createFunctionDeclaration;function updateFunctionDeclaration(e,t,r,n,i,a,o,s,c){return e.decorators!==t||e.modifiers!==r||e.asteriskToken!==n||e.name!==i||e.typeParameters!==a||e.parameters!==o||e.type!==s||e.body!==c?updateNode(createFunctionDeclaration(t,r,n,i,a,o,s,c),e):e}e.updateFunctionDeclaration=updateFunctionDeclaration;function createClassDeclaration(e,t,r,n,i,a){var o=createSynthesizedNode(240);o.decorators=asNodeArray(e);o.modifiers=asNodeArray(t);o.name=asName(r);o.typeParameters=asNodeArray(n);o.heritageClauses=asNodeArray(i);o.members=createNodeArray(a);return o}e.createClassDeclaration=createClassDeclaration;function updateClassDeclaration(e,t,r,n,i,a,o){return e.decorators!==t||e.modifiers!==r||e.name!==n||e.typeParameters!==i||e.heritageClauses!==a||e.members!==o?updateNode(createClassDeclaration(t,r,n,i,a,o),e):e}e.updateClassDeclaration=updateClassDeclaration;function createInterfaceDeclaration(e,t,r,n,i,a){var o=createSynthesizedNode(241);o.decorators=asNodeArray(e);o.modifiers=asNodeArray(t);o.name=asName(r);o.typeParameters=asNodeArray(n);o.heritageClauses=asNodeArray(i);o.members=createNodeArray(a);return o}e.createInterfaceDeclaration=createInterfaceDeclaration;function updateInterfaceDeclaration(e,t,r,n,i,a,o){return e.decorators!==t||e.modifiers!==r||e.name!==n||e.typeParameters!==i||e.heritageClauses!==a||e.members!==o?updateNode(createInterfaceDeclaration(t,r,n,i,a,o),e):e}e.updateInterfaceDeclaration=updateInterfaceDeclaration;function createTypeAliasDeclaration(e,t,r,n,i){var a=createSynthesizedNode(242);a.decorators=asNodeArray(e);a.modifiers=asNodeArray(t);a.name=asName(r);a.typeParameters=asNodeArray(n);a.type=i;return a}e.createTypeAliasDeclaration=createTypeAliasDeclaration;function updateTypeAliasDeclaration(e,t,r,n,i,a){return e.decorators!==t||e.modifiers!==r||e.name!==n||e.typeParameters!==i||e.type!==a?updateNode(createTypeAliasDeclaration(t,r,n,i,a),e):e}e.updateTypeAliasDeclaration=updateTypeAliasDeclaration;function createEnumDeclaration(e,t,r,n){var i=createSynthesizedNode(243);i.decorators=asNodeArray(e);i.modifiers=asNodeArray(t);i.name=asName(r);i.members=createNodeArray(n);return i}e.createEnumDeclaration=createEnumDeclaration;function updateEnumDeclaration(e,t,r,n,i){return e.decorators!==t||e.modifiers!==r||e.name!==n||e.members!==i?updateNode(createEnumDeclaration(t,r,n,i),e):e}e.updateEnumDeclaration=updateEnumDeclaration;function createModuleDeclaration(e,t,r,n,i){if(i===void 0){i=0}var a=createSynthesizedNode(244);a.flags|=i&(16|4|512);a.decorators=asNodeArray(e);a.modifiers=asNodeArray(t);a.name=r;a.body=n;return a}e.createModuleDeclaration=createModuleDeclaration;function updateModuleDeclaration(e,t,r,n,i){return e.decorators!==t||e.modifiers!==r||e.name!==n||e.body!==i?updateNode(createModuleDeclaration(t,r,n,i,e.flags),e):e}e.updateModuleDeclaration=updateModuleDeclaration;function createModuleBlock(e){var t=createSynthesizedNode(245);t.statements=createNodeArray(e);return t}e.createModuleBlock=createModuleBlock;function updateModuleBlock(e,t){return e.statements!==t?updateNode(createModuleBlock(t),e):e}e.updateModuleBlock=updateModuleBlock;function createCaseBlock(e){var t=createSynthesizedNode(246);t.clauses=createNodeArray(e);return t}e.createCaseBlock=createCaseBlock;function updateCaseBlock(e,t){return e.clauses!==t?updateNode(createCaseBlock(t),e):e}e.updateCaseBlock=updateCaseBlock;function createNamespaceExportDeclaration(e){var t=createSynthesizedNode(247);t.name=asName(e);return t}e.createNamespaceExportDeclaration=createNamespaceExportDeclaration;function updateNamespaceExportDeclaration(e,t){return e.name!==t?updateNode(createNamespaceExportDeclaration(t),e):e}e.updateNamespaceExportDeclaration=updateNamespaceExportDeclaration;function createImportEqualsDeclaration(e,t,r,n){var i=createSynthesizedNode(248);i.decorators=asNodeArray(e);i.modifiers=asNodeArray(t);i.name=asName(r);i.moduleReference=n;return i}e.createImportEqualsDeclaration=createImportEqualsDeclaration;function updateImportEqualsDeclaration(e,t,r,n,i){return e.decorators!==t||e.modifiers!==r||e.name!==n||e.moduleReference!==i?updateNode(createImportEqualsDeclaration(t,r,n,i),e):e}e.updateImportEqualsDeclaration=updateImportEqualsDeclaration;function createImportDeclaration(e,t,r,n){var i=createSynthesizedNode(249);i.decorators=asNodeArray(e);i.modifiers=asNodeArray(t);i.importClause=r;i.moduleSpecifier=n;return i}e.createImportDeclaration=createImportDeclaration;function updateImportDeclaration(e,t,r,n,i){return e.decorators!==t||e.modifiers!==r||e.importClause!==n||e.moduleSpecifier!==i?updateNode(createImportDeclaration(t,r,n,i),e):e}e.updateImportDeclaration=updateImportDeclaration;function createImportClause(e,t){var r=createSynthesizedNode(250);r.name=e;r.namedBindings=t;return r}e.createImportClause=createImportClause;function updateImportClause(e,t,r){return e.name!==t||e.namedBindings!==r?updateNode(createImportClause(t,r),e):e}e.updateImportClause=updateImportClause;function createNamespaceImport(e){var t=createSynthesizedNode(251);t.name=e;return t}e.createNamespaceImport=createNamespaceImport;function updateNamespaceImport(e,t){return e.name!==t?updateNode(createNamespaceImport(t),e):e}e.updateNamespaceImport=updateNamespaceImport;function createNamedImports(e){var t=createSynthesizedNode(252);t.elements=createNodeArray(e);return t}e.createNamedImports=createNamedImports;function updateNamedImports(e,t){return e.elements!==t?updateNode(createNamedImports(t),e):e}e.updateNamedImports=updateNamedImports;function createImportSpecifier(e,t){var r=createSynthesizedNode(253);r.propertyName=e;r.name=t;return r}e.createImportSpecifier=createImportSpecifier;function updateImportSpecifier(e,t,r){return e.propertyName!==t||e.name!==r?updateNode(createImportSpecifier(t,r),e):e}e.updateImportSpecifier=updateImportSpecifier;function createExportAssignment(t,r,n,i){var a=createSynthesizedNode(254);a.decorators=asNodeArray(t);a.modifiers=asNodeArray(r);a.isExportEquals=n;a.expression=n?e.parenthesizeBinaryOperand(59,i,false,undefined):e.parenthesizeDefaultExpression(i);return a}e.createExportAssignment=createExportAssignment;function updateExportAssignment(e,t,r,n){return e.decorators!==t||e.modifiers!==r||e.expression!==n?updateNode(createExportAssignment(t,r,e.isExportEquals,n),e):e}e.updateExportAssignment=updateExportAssignment;function createExportDeclaration(e,t,r,n){var i=createSynthesizedNode(255);i.decorators=asNodeArray(e);i.modifiers=asNodeArray(t);i.exportClause=r;i.moduleSpecifier=n;return i}e.createExportDeclaration=createExportDeclaration;function updateExportDeclaration(e,t,r,n,i){return e.decorators!==t||e.modifiers!==r||e.exportClause!==n||e.moduleSpecifier!==i?updateNode(createExportDeclaration(t,r,n,i),e):e}e.updateExportDeclaration=updateExportDeclaration;function createNamedExports(e){var t=createSynthesizedNode(256);t.elements=createNodeArray(e);return t}e.createNamedExports=createNamedExports;function updateNamedExports(e,t){return e.elements!==t?updateNode(createNamedExports(t),e):e}e.updateNamedExports=updateNamedExports;function createExportSpecifier(e,t){var r=createSynthesizedNode(257);r.propertyName=asName(e);r.name=asName(t);return r}e.createExportSpecifier=createExportSpecifier;function updateExportSpecifier(e,t,r){return e.propertyName!==t||e.name!==r?updateNode(createExportSpecifier(t,r),e):e}e.updateExportSpecifier=updateExportSpecifier;function createExternalModuleReference(e){var t=createSynthesizedNode(259);t.expression=e;return t}e.createExternalModuleReference=createExternalModuleReference;function updateExternalModuleReference(e,t){return e.expression!==t?updateNode(createExternalModuleReference(t),e):e}e.updateExternalModuleReference=updateExternalModuleReference;function createJSDocTypeExpression(e){var t=createSynthesizedNode(283);t.type=e;return t}e.createJSDocTypeExpression=createJSDocTypeExpression;function createJSDocTypeTag(e,t){var r=createJSDocTag(302,"type");r.typeExpression=e;r.comment=t;return r}e.createJSDocTypeTag=createJSDocTypeTag;function createJSDocReturnTag(e,t){var r=createJSDocTag(300,"returns");r.typeExpression=e;r.comment=t;return r}e.createJSDocReturnTag=createJSDocReturnTag;function createJSDocParamTag(e,t,r,n){var i=createJSDocTag(299,"param");i.typeExpression=r;i.name=e;i.isBracketed=t;i.comment=n;return i}e.createJSDocParamTag=createJSDocParamTag;function createJSDocComment(e,t){var r=createSynthesizedNode(291);r.comment=e;r.tags=t;return r}e.createJSDocComment=createJSDocComment;function createJSDocTag(e,t){var r=createSynthesizedNode(e);r.tagName=createIdentifier(t);return r}function createJsxElement(e,t,r){var n=createSynthesizedNode(260);n.openingElement=e;n.children=createNodeArray(t);n.closingElement=r;return n}e.createJsxElement=createJsxElement;function updateJsxElement(e,t,r,n){return e.openingElement!==t||e.children!==r||e.closingElement!==n?updateNode(createJsxElement(t,r,n),e):e}e.updateJsxElement=updateJsxElement;function createJsxSelfClosingElement(e,t,r){var n=createSynthesizedNode(261);n.tagName=e;n.typeArguments=asNodeArray(t);n.attributes=r;return n}e.createJsxSelfClosingElement=createJsxSelfClosingElement;function updateJsxSelfClosingElement(e,t,r,n){return e.tagName!==t||e.typeArguments!==r||e.attributes!==n?updateNode(createJsxSelfClosingElement(t,r,n),e):e}e.updateJsxSelfClosingElement=updateJsxSelfClosingElement;function createJsxOpeningElement(e,t,r){var n=createSynthesizedNode(262);n.tagName=e;n.typeArguments=asNodeArray(t);n.attributes=r;return n}e.createJsxOpeningElement=createJsxOpeningElement;function updateJsxOpeningElement(e,t,r,n){return e.tagName!==t||e.typeArguments!==r||e.attributes!==n?updateNode(createJsxOpeningElement(t,r,n),e):e}e.updateJsxOpeningElement=updateJsxOpeningElement;function createJsxClosingElement(e){var t=createSynthesizedNode(263);t.tagName=e;return t}e.createJsxClosingElement=createJsxClosingElement;function updateJsxClosingElement(e,t){return e.tagName!==t?updateNode(createJsxClosingElement(t),e):e}e.updateJsxClosingElement=updateJsxClosingElement;function createJsxFragment(e,t,r){var n=createSynthesizedNode(264);n.openingFragment=e;n.children=createNodeArray(t);n.closingFragment=r;return n}e.createJsxFragment=createJsxFragment;function updateJsxFragment(e,t,r,n){return e.openingFragment!==t||e.children!==r||e.closingFragment!==n?updateNode(createJsxFragment(t,r,n),e):e}e.updateJsxFragment=updateJsxFragment;function createJsxAttribute(e,t){var r=createSynthesizedNode(267);r.name=e;r.initializer=t;return r}e.createJsxAttribute=createJsxAttribute;function updateJsxAttribute(e,t,r){return e.name!==t||e.initializer!==r?updateNode(createJsxAttribute(t,r),e):e}e.updateJsxAttribute=updateJsxAttribute;function createJsxAttributes(e){var t=createSynthesizedNode(268);t.properties=createNodeArray(e);return t}e.createJsxAttributes=createJsxAttributes;function updateJsxAttributes(e,t){return e.properties!==t?updateNode(createJsxAttributes(t),e):e}e.updateJsxAttributes=updateJsxAttributes;function createJsxSpreadAttribute(e){var t=createSynthesizedNode(269);t.expression=e;return t}e.createJsxSpreadAttribute=createJsxSpreadAttribute;function updateJsxSpreadAttribute(e,t){return e.expression!==t?updateNode(createJsxSpreadAttribute(t),e):e}e.updateJsxSpreadAttribute=updateJsxSpreadAttribute;function createJsxExpression(e,t){var r=createSynthesizedNode(270);r.dotDotDotToken=e;r.expression=t;return r}e.createJsxExpression=createJsxExpression;function updateJsxExpression(e,t){return e.expression!==t?updateNode(createJsxExpression(e.dotDotDotToken,t),e):e}e.updateJsxExpression=updateJsxExpression;function createCaseClause(t,r){var n=createSynthesizedNode(271);n.expression=e.parenthesizeExpressionForList(t);n.statements=createNodeArray(r);return n}e.createCaseClause=createCaseClause;function updateCaseClause(e,t,r){return e.expression!==t||e.statements!==r?updateNode(createCaseClause(t,r),e):e}e.updateCaseClause=updateCaseClause;function createDefaultClause(e){var t=createSynthesizedNode(272);t.statements=createNodeArray(e);return t}e.createDefaultClause=createDefaultClause;function updateDefaultClause(e,t){return e.statements!==t?updateNode(createDefaultClause(t),e):e}e.updateDefaultClause=updateDefaultClause;function createHeritageClause(e,t){var r=createSynthesizedNode(273);r.token=e;r.types=createNodeArray(t);return r}e.createHeritageClause=createHeritageClause;function updateHeritageClause(e,t){return e.types!==t?updateNode(createHeritageClause(e.token,t),e):e}e.updateHeritageClause=updateHeritageClause;function createCatchClause(t,r){var n=createSynthesizedNode(274);n.variableDeclaration=e.isString(t)?createVariableDeclaration(t):t;n.block=r;return n}e.createCatchClause=createCatchClause;function updateCatchClause(e,t,r){return e.variableDeclaration!==t||e.block!==r?updateNode(createCatchClause(t,r),e):e}e.updateCatchClause=updateCatchClause;function createPropertyAssignment(t,r){var n=createSynthesizedNode(275);n.name=asName(t);n.questionToken=undefined;n.initializer=e.parenthesizeExpressionForList(r);return n}e.createPropertyAssignment=createPropertyAssignment;function updatePropertyAssignment(e,t,r){return e.name!==t||e.initializer!==r?updateNode(createPropertyAssignment(t,r),e):e}e.updatePropertyAssignment=updatePropertyAssignment;function createShorthandPropertyAssignment(t,r){var n=createSynthesizedNode(276);n.name=asName(t);n.objectAssignmentInitializer=r!==undefined?e.parenthesizeExpressionForList(r):undefined;return n}e.createShorthandPropertyAssignment=createShorthandPropertyAssignment;function updateShorthandPropertyAssignment(e,t,r){return e.name!==t||e.objectAssignmentInitializer!==r?updateNode(createShorthandPropertyAssignment(t,r),e):e}e.updateShorthandPropertyAssignment=updateShorthandPropertyAssignment;function createSpreadAssignment(t){var r=createSynthesizedNode(277);r.expression=t!==undefined?e.parenthesizeExpressionForList(t):undefined;return r}e.createSpreadAssignment=createSpreadAssignment;function updateSpreadAssignment(e,t){return e.expression!==t?updateNode(createSpreadAssignment(t),e):e}e.updateSpreadAssignment=updateSpreadAssignment;function createEnumMember(t,r){var n=createSynthesizedNode(278);n.name=asName(t);n.initializer=r&&e.parenthesizeExpressionForList(r);return n}e.createEnumMember=createEnumMember;function updateEnumMember(e,t,r){return e.name!==t||e.initializer!==r?updateNode(createEnumMember(t,r),e):e}e.updateEnumMember=updateEnumMember;function updateSourceFileNode(e,t,r,n,i,a,o){if(e.statements!==t||r!==undefined&&e.isDeclarationFile!==r||n!==undefined&&e.referencedFiles!==n||i!==undefined&&e.typeReferenceDirectives!==i||o!==undefined&&e.libReferenceDirectives!==o||a!==undefined&&e.hasNoDefaultLib!==a){var s=createSynthesizedNode(279);s.flags|=e.flags;s.statements=createNodeArray(t);s.endOfFileToken=e.endOfFileToken;s.fileName=e.fileName;s.path=e.path;s.text=e.text;s.isDeclarationFile=r===undefined?e.isDeclarationFile:r;s.referencedFiles=n===undefined?e.referencedFiles:n;s.typeReferenceDirectives=i===undefined?e.typeReferenceDirectives:i;s.hasNoDefaultLib=a===undefined?e.hasNoDefaultLib:a;s.libReferenceDirectives=o===undefined?e.libReferenceDirectives:o;if(e.amdDependencies!==undefined)s.amdDependencies=e.amdDependencies;if(e.moduleName!==undefined)s.moduleName=e.moduleName;if(e.languageVariant!==undefined)s.languageVariant=e.languageVariant;if(e.renamedDependencies!==undefined)s.renamedDependencies=e.renamedDependencies;if(e.languageVersion!==undefined)s.languageVersion=e.languageVersion;if(e.scriptKind!==undefined)s.scriptKind=e.scriptKind;if(e.externalModuleIndicator!==undefined)s.externalModuleIndicator=e.externalModuleIndicator;if(e.commonJsModuleIndicator!==undefined)s.commonJsModuleIndicator=e.commonJsModuleIndicator;if(e.identifiers!==undefined)s.identifiers=e.identifiers;if(e.nodeCount!==undefined)s.nodeCount=e.nodeCount;if(e.identifierCount!==undefined)s.identifierCount=e.identifierCount;if(e.symbolCount!==undefined)s.symbolCount=e.symbolCount;if(e.parseDiagnostics!==undefined)s.parseDiagnostics=e.parseDiagnostics;if(e.bindDiagnostics!==undefined)s.bindDiagnostics=e.bindDiagnostics;if(e.bindSuggestionDiagnostics!==undefined)s.bindSuggestionDiagnostics=e.bindSuggestionDiagnostics;if(e.lineMap!==undefined)s.lineMap=e.lineMap;if(e.classifiableNames!==undefined)s.classifiableNames=e.classifiableNames;if(e.resolvedModules!==undefined)s.resolvedModules=e.resolvedModules;if(e.resolvedTypeReferenceDirectiveNames!==undefined)s.resolvedTypeReferenceDirectiveNames=e.resolvedTypeReferenceDirectiveNames;if(e.imports!==undefined)s.imports=e.imports;if(e.moduleAugmentations!==undefined)s.moduleAugmentations=e.moduleAugmentations;if(e.pragmas!==undefined)s.pragmas=e.pragmas;if(e.localJsxFactory!==undefined)s.localJsxFactory=e.localJsxFactory;if(e.localJsxNamespace!==undefined)s.localJsxNamespace=e.localJsxNamespace;return updateNode(s,e)}return e}e.updateSourceFileNode=updateSourceFileNode;function getMutableClone(e){var t=getSynthesizedClone(e);t.pos=e.pos;t.end=e.end;t.parent=e.parent;return t}e.getMutableClone=getMutableClone;function createNotEmittedStatement(e){var t=createSynthesizedNode(307);t.original=e;setTextRange(t,e);return t}e.createNotEmittedStatement=createNotEmittedStatement;function createEndOfDeclarationMarker(e){var t=createSynthesizedNode(311);t.emitNode={};t.original=e;return t}e.createEndOfDeclarationMarker=createEndOfDeclarationMarker;function createMergeDeclarationMarker(e){var t=createSynthesizedNode(310);t.emitNode={};t.original=e;return t}e.createMergeDeclarationMarker=createMergeDeclarationMarker;function createPartiallyEmittedExpression(e,t){var r=createSynthesizedNode(308);r.expression=e;r.original=t;setTextRange(r,t);return r}e.createPartiallyEmittedExpression=createPartiallyEmittedExpression;function updatePartiallyEmittedExpression(e,t){if(e.expression!==t){return updateNode(createPartiallyEmittedExpression(t,e.original),e)}return e}e.updatePartiallyEmittedExpression=updatePartiallyEmittedExpression;function flattenCommaElements(t){if(e.nodeIsSynthesized(t)&&!e.isParseTreeNode(t)&&!t.original&&!t.emitNode&&!t.id){if(t.kind===309){return t.elements}if(e.isBinaryExpression(t)&&t.operatorToken.kind===27){return[t.left,t.right]}}return t}function createCommaList(t){var r=createSynthesizedNode(309);r.elements=createNodeArray(e.sameFlatMap(t,flattenCommaElements));return r}e.createCommaList=createCommaList;function updateCommaList(e,t){return e.elements!==t?updateNode(createCommaList(t),e):e}e.updateCommaList=updateCommaList;function createBundle(t,r){if(r===void 0){r=e.emptyArray}var n=e.createNode(280);n.prepends=r;n.sourceFiles=t;return n}e.createBundle=createBundle;function createUnparsedSourceFile(t,r,n){var i=e.createNode(281);i.text=t;i.sourceMapPath=r;i.sourceMapText=n;return i}e.createUnparsedSourceFile=createUnparsedSourceFile;function createInputFiles(t,r,n,i,a,o){var s=e.createNode(282);s.javascriptText=t;s.javascriptMapPath=n;s.javascriptMapText=i;s.declarationText=r;s.declarationMapPath=a;s.declarationMapText=o;return s}e.createInputFiles=createInputFiles;function updateBundle(t,r,n){if(n===void 0){n=e.emptyArray}if(t.sourceFiles!==r||t.prepends!==n){return createBundle(r,n)}return t}e.updateBundle=updateBundle;function createImmediatelyInvokedFunctionExpression(e,t,r){return createCall(createFunctionExpression(undefined,undefined,undefined,undefined,t?[t]:[],undefined,createBlock(e,true)),undefined,r?[r]:[])}e.createImmediatelyInvokedFunctionExpression=createImmediatelyInvokedFunctionExpression;function createImmediatelyInvokedArrowFunction(e,t,r){return createCall(createArrowFunction(undefined,undefined,t?[t]:[],undefined,undefined,createBlock(e,true)),undefined,r?[r]:[])}e.createImmediatelyInvokedArrowFunction=createImmediatelyInvokedArrowFunction;function createComma(e,t){return createBinary(e,27,t)}e.createComma=createComma;function createLessThan(e,t){return createBinary(e,28,t)}e.createLessThan=createLessThan;function createAssignment(e,t){return createBinary(e,59,t)}e.createAssignment=createAssignment;function createStrictEquality(e,t){return createBinary(e,35,t)}e.createStrictEquality=createStrictEquality;function createStrictInequality(e,t){return createBinary(e,36,t)}e.createStrictInequality=createStrictInequality;function createAdd(e,t){return createBinary(e,38,t)}e.createAdd=createAdd;function createSubtract(e,t){return createBinary(e,39,t)}e.createSubtract=createSubtract;function createPostfixIncrement(e){return createPostfix(e,44)}e.createPostfixIncrement=createPostfixIncrement;function createLogicalAnd(e,t){return createBinary(e,54,t)}e.createLogicalAnd=createLogicalAnd;function createLogicalOr(e,t){return createBinary(e,55,t)}e.createLogicalOr=createLogicalOr;function createLogicalNot(e){return createPrefix(52,e)}e.createLogicalNot=createLogicalNot;function createVoidZero(){return createVoid(createLiteral(0))}e.createVoidZero=createVoidZero;function createExportDefault(e){return createExportAssignment(undefined,undefined,false,e)}e.createExportDefault=createExportDefault;function createExternalModuleExport(e){return createExportDeclaration(undefined,undefined,createNamedExports([createExportSpecifier(undefined,e)]))}e.createExternalModuleExport=createExternalModuleExport;function asName(t){return e.isString(t)?createIdentifier(t):t}function asExpression(t){return e.isString(t)||typeof t==="number"?createLiteral(t):t}function asNodeArray(e){return e?createNodeArray(e):undefined}function asToken(e){return typeof e==="number"?createToken(e):e}function disposeEmitNodes(t){t=e.getSourceFileOfNode(e.getParseTreeNode(t));var r=t&&t.emitNode;var n=r&&r.annotatedNodes;if(n){for(var i=0,a=n;i0){a[c-s]=u}}if(s>0){a.length-=s}}e.moveEmitHelpers=moveEmitHelpers;function compareEmitHelpers(t,r){if(t===r)return 0;if(t.priority===r.priority)return 0;if(t.priority===undefined)return 1;if(r.priority===undefined)return-1;return e.compareValues(t.priority,r.priority)}e.compareEmitHelpers=compareEmitHelpers;function setOriginalNode(e,t){e.original=t;if(t){var r=t.emitNode;if(r)e.emitNode=mergeEmitNode(r,e.emitNode)}return e}e.setOriginalNode=setOriginalNode;function mergeEmitNode(t,r){var n=t.flags,i=t.leadingComments,a=t.trailingComments,o=t.commentRange,s=t.sourceMapRange,c=t.tokenSourceMapRanges,u=t.constantValue,l=t.helpers,f=t.startsOnNewLine;if(!r)r={};if(i)r.leadingComments=e.addRange(i.slice(),r.leadingComments);if(a)r.trailingComments=e.addRange(a.slice(),r.trailingComments);if(n)r.flags=n;if(o)r.commentRange=o;if(s)r.sourceMapRange=s;if(c)r.tokenSourceMapRanges=mergeTokenSourceMapRanges(c,r.tokenSourceMapRanges);if(u!==undefined)r.constantValue=u;if(l)r.helpers=e.addRange(r.helpers,l);if(f!==undefined)r.startsOnNewLine=f;return r}function mergeTokenSourceMapRanges(e,t){if(!t)t=[];for(var r in e){t[r]=e[r]}return t}})(s||(s={}));(function(e){e.nullTransformationContext={enableEmitNotification:e.noop,enableSubstitution:e.noop,endLexicalEnvironment:function(){return undefined},getCompilerOptions:e.notImplemented,getEmitHost:e.notImplemented,getEmitResolver:e.notImplemented,hoistFunctionDeclaration:e.noop,hoistVariableDeclaration:e.noop,isEmitNotificationEnabled:e.notImplemented,isSubstitutionEnabled:e.notImplemented,onEmitNode:e.noop,onSubstituteNode:e.notImplemented,readEmitHelpers:e.notImplemented,requestEmitHelper:e.noop,resumeLexicalEnvironment:e.noop,startLexicalEnvironment:e.noop,suspendLexicalEnvironment:e.noop,addDiagnostic:e.noop};function createTypeCheck(t,r){return r==="undefined"?e.createStrictEquality(t,e.createVoidZero()):e.createStrictEquality(e.createTypeOf(t),e.createLiteral(r))}e.createTypeCheck=createTypeCheck;function createMemberAccessForPropertyName(t,r,n){if(e.isComputedPropertyName(r)){return e.setTextRange(e.createElementAccess(t,r.expression),n)}else{var i=e.setTextRange(e.isIdentifier(r)?e.createPropertyAccess(t,r):e.createElementAccess(t,r),r);e.getOrCreateEmitNode(i).flags|=64;return i}}e.createMemberAccessForPropertyName=createMemberAccessForPropertyName;function createFunctionCall(t,r,n,i){return e.setTextRange(e.createCall(e.createPropertyAccess(t,"call"),undefined,[r].concat(n)),i)}e.createFunctionCall=createFunctionCall;function createFunctionApply(t,r,n,i){return e.setTextRange(e.createCall(e.createPropertyAccess(t,"apply"),undefined,[r,n]),i)}e.createFunctionApply=createFunctionApply;function createArraySlice(t,r){var n=[];if(r!==undefined){n.push(typeof r==="number"?e.createLiteral(r):r)}return e.createCall(e.createPropertyAccess(t,"slice"),undefined,n)}e.createArraySlice=createArraySlice;function createArrayConcat(t,r){return e.createCall(e.createPropertyAccess(t,"concat"),undefined,r)}e.createArrayConcat=createArrayConcat;function createMathPow(t,r,n){return e.setTextRange(e.createCall(e.createPropertyAccess(e.createIdentifier("Math"),"pow"),undefined,[t,r]),n)}e.createMathPow=createMathPow;function createReactNamespace(t,r){var n=e.createIdentifier(t||"React");n.flags&=~8;n.parent=e.getParseTreeNode(r);return n}function createJsxFactoryExpressionFromEntityName(t,r){if(e.isQualifiedName(t)){var n=createJsxFactoryExpressionFromEntityName(t.left,r);var i=e.createIdentifier(e.idText(t.right));i.escapedText=t.right.escapedText;return e.createPropertyAccess(n,i)}else{return createReactNamespace(e.idText(t),r)}}function createJsxFactoryExpression(t,r,n){return t?createJsxFactoryExpressionFromEntityName(t,n):e.createPropertyAccess(createReactNamespace(r,n),"createElement")}function createExpressionForJsxElement(t,r,n,i,a,o,s){var c=[n];if(i){c.push(i)}if(a&&a.length>0){if(!i){c.push(e.createNull())}if(a.length>1){for(var u=0,l=a;u0){if(n.length>1){for(var c=0,u=n;c= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n };'};function createValuesHelper(r,n,i){r.requestEmitHelper(t);return e.setTextRange(e.createCall(getHelperName("__values"),undefined,[n]),i)}e.createValuesHelper=createValuesHelper;var r={name:"typescript:read",scoped:false,text:'\n var __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === "function" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i["return"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n };'};function createReadHelper(t,n,i,a){t.requestEmitHelper(r);return e.setTextRange(e.createCall(getHelperName("__read"),undefined,i!==undefined?[n,e.createLiteral(i)]:[n]),a)}e.createReadHelper=createReadHelper;var n={name:"typescript:spread",scoped:false,text:"\n var __spread = (this && this.__spread) || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));\n return ar;\n };"};function createSpreadHelper(t,i,a){t.requestEmitHelper(r);t.requestEmitHelper(n);return e.setTextRange(e.createCall(getHelperName("__spread"),undefined,i),a)}e.createSpreadHelper=createSpreadHelper;function createForOfBindingStatement(t,r){if(e.isVariableDeclarationList(t)){var n=e.first(t.declarations);var i=e.updateVariableDeclaration(n,n.name,undefined,r);return e.setTextRange(e.createVariableStatement(undefined,e.updateVariableDeclarationList(t,[i])),t)}else{var a=e.setTextRange(e.createAssignment(t,r),t);return e.setTextRange(e.createStatement(a),t)}}e.createForOfBindingStatement=createForOfBindingStatement;function insertLeadingStatement(t,r){if(e.isBlock(t)){return e.updateBlock(t,e.setTextRange(e.createNodeArray([r].concat(t.statements)),t.statements))}else{return e.createBlock(e.createNodeArray([t,r]),true)}}e.insertLeadingStatement=insertLeadingStatement;function restoreEnclosingLabel(t,r,n){if(!r){return t}var i=e.updateLabel(r,r.label,r.statement.kind===233?restoreEnclosingLabel(t,r.statement):t);if(n){n(r)}return i}e.restoreEnclosingLabel=restoreEnclosingLabel;function shouldBeCapturedInTempVariable(t,r){var n=e.skipParentheses(t);switch(n.kind){case 72:return r;case 100:case 8:case 9:case 10:return false;case 187:var i=n.elements;if(i.length===0){return false}return true;case 188:return n.properties.length>0;default:return true}}function createCallBinding(t,r,n,i){if(i===void 0){i=false}var a=skipOuterExpressions(t,7);var o;var s;if(e.isSuperProperty(a)){o=e.createThis();s=a}else if(a.kind===98){o=e.createThis();s=n<2?e.setTextRange(e.createIdentifier("_super"),a):a}else if(e.getEmitFlags(a)&4096){o=e.createVoidZero();s=parenthesizeForAccess(a)}else{switch(a.kind){case 189:{if(shouldBeCapturedInTempVariable(a.expression,i)){o=e.createTempVariable(r);s=e.createPropertyAccess(e.setTextRange(e.createAssignment(o,a.expression),a.expression),a.name);e.setTextRange(s,a)}else{o=a.expression;s=a}break}case 190:{if(shouldBeCapturedInTempVariable(a.expression,i)){o=e.createTempVariable(r);s=e.createElementAccess(e.setTextRange(e.createAssignment(o,a.expression),a.expression),a.argumentExpression);e.setTextRange(s,a)}else{o=a.expression;s=a}break}default:{o=e.createVoidZero();s=parenthesizeForAccess(t);break}}}return{target:s,thisArg:o}}e.createCallBinding=createCallBinding;function inlineExpressions(t){return t.length>10?e.createCommaList(t):e.reduceLeft(t,e.createComma)}e.inlineExpressions=inlineExpressions;function createExpressionFromEntityName(t){if(e.isQualifiedName(t)){var r=createExpressionFromEntityName(t.left);var n=e.getMutableClone(t.right);return e.setTextRange(e.createPropertyAccess(r,n),t)}else{return e.getMutableClone(t)}}e.createExpressionFromEntityName=createExpressionFromEntityName;function createExpressionForPropertyName(t){if(e.isIdentifier(t)){return e.createLiteral(t)}else if(e.isComputedPropertyName(t)){return e.getMutableClone(t.expression)}else{return e.getMutableClone(t)}}e.createExpressionForPropertyName=createExpressionForPropertyName;function createExpressionForObjectLiteralElementLike(e,t,r){switch(t.kind){case 158:case 159:return createExpressionForAccessorDeclaration(e.properties,t,r,!!e.multiLine);case 275:return createExpressionForPropertyAssignment(t,r);case 276:return createExpressionForShorthandPropertyAssignment(t,r);case 156:return createExpressionForMethodDeclaration(t,r)}}e.createExpressionForObjectLiteralElementLike=createExpressionForObjectLiteralElementLike;function createExpressionForAccessorDeclaration(t,r,n,i){var a=e.getAllAccessorDeclarations(t,r),o=a.firstAccessor,s=a.getAccessor,c=a.setAccessor;if(r===o){var u=[];if(s){var l=e.createFunctionExpression(s.modifiers,undefined,undefined,undefined,s.parameters,undefined,s.body);e.setTextRange(l,s);e.setOriginalNode(l,s);var f=e.createPropertyAssignment("get",l);u.push(f)}if(c){var d=e.createFunctionExpression(c.modifiers,undefined,undefined,undefined,c.parameters,undefined,c.body);e.setTextRange(d,c);e.setOriginalNode(d,c);var p=e.createPropertyAssignment("set",d);u.push(p)}u.push(e.createPropertyAssignment("enumerable",e.createTrue()));u.push(e.createPropertyAssignment("configurable",e.createTrue()));var g=e.setTextRange(e.createCall(e.createPropertyAccess(e.createIdentifier("Object"),"defineProperty"),undefined,[n,createExpressionForPropertyName(r.name),e.createObjectLiteral(u,i)]),o);return e.aggregateTransformFlags(g)}return undefined}function createExpressionForPropertyAssignment(t,r){return e.aggregateTransformFlags(e.setOriginalNode(e.setTextRange(e.createAssignment(createMemberAccessForPropertyName(r,t.name,t.name),t.initializer),t),t))}function createExpressionForShorthandPropertyAssignment(t,r){return e.aggregateTransformFlags(e.setOriginalNode(e.setTextRange(e.createAssignment(createMemberAccessForPropertyName(r,t.name,t.name),e.getSynthesizedClone(t.name)),t),t))}function createExpressionForMethodDeclaration(t,r){return e.aggregateTransformFlags(e.setOriginalNode(e.setTextRange(e.createAssignment(createMemberAccessForPropertyName(r,t.name,t.name),e.setOriginalNode(e.setTextRange(e.createFunctionExpression(t.modifiers,t.asteriskToken,undefined,undefined,t.parameters,undefined,t.body),t),t)),t),t))}function getInternalName(e,t,r){return getName(e,t,r,16384|32768)}e.getInternalName=getInternalName;function isInternalName(t){return(e.getEmitFlags(t)&32768)!==0}e.isInternalName=isInternalName;function getLocalName(e,t,r){return getName(e,t,r,16384)}e.getLocalName=getLocalName;function isLocalName(t){return(e.getEmitFlags(t)&16384)!==0}e.isLocalName=isLocalName;function getExportName(e,t,r){return getName(e,t,r,8192)}e.getExportName=getExportName;function isExportName(t){return(e.getEmitFlags(t)&8192)!==0}e.isExportName=isExportName;function getDeclarationName(e,t,r){return getName(e,t,r)}e.getDeclarationName=getDeclarationName;function getName(t,r,n,i){if(i===void 0){i=0}var a=e.getNameOfDeclaration(t);if(a&&e.isIdentifier(a)&&!e.isGeneratedIdentifier(a)){var o=e.getMutableClone(a);i|=e.getEmitFlags(a);if(!n)i|=48;if(!r)i|=1536;if(i)e.setEmitFlags(o,i);return o}return e.getGeneratedNameForNode(t)}function getExternalModuleOrNamespaceExportName(t,r,n,i){if(t&&e.hasModifier(r,1)){return getNamespaceMemberName(t,getName(r),n,i)}return getExportName(r,n,i)}e.getExternalModuleOrNamespaceExportName=getExternalModuleOrNamespaceExportName;function getNamespaceMemberName(t,r,n,i){var a=e.createPropertyAccess(t,e.nodeIsSynthesized(r)?r:e.getSynthesizedClone(r));e.setTextRange(a,r);var o=0;if(!i)o|=48;if(!n)o|=1536;if(o)e.setEmitFlags(a,o);return a}e.getNamespaceMemberName=getNamespaceMemberName;function convertToFunctionBody(t,r){return e.isBlock(t)?t:e.setTextRange(e.createBlock([e.setTextRange(e.createReturn(t),t)],r),t)}e.convertToFunctionBody=convertToFunctionBody;function convertFunctionDeclarationToExpression(t){if(!t.body)return e.Debug.fail();var r=e.createFunctionExpression(t.modifiers,t.asteriskToken,t.name,t.typeParameters,t.parameters,t.type,t.body);e.setOriginalNode(r,t);e.setTextRange(r,t);if(e.getStartsOnNewLine(t)){e.setStartsOnNewLine(r,true)}e.aggregateTransformFlags(r);return r}e.convertFunctionDeclarationToExpression=convertFunctionDeclarationToExpression;function isUseStrictPrologue(t){return e.isStringLiteral(t.expression)&&t.expression.text==="use strict"}function addPrologue(e,t,r,n){var i=addStandardPrologue(e,t,r);return addCustomPrologue(e,t,i,n)}e.addPrologue=addPrologue;function addStandardPrologue(t,r,n){e.Debug.assert(t.length===0,"Prologue directives should be at the first statement in the target statements array");var i=false;var a=0;var o=r.length;while(a4){return true}var c=e.getExpressionPrecedence(s);switch(e.compareValues(c,a)){case-1:if(!n&&o===1&&r.kind===207){return false}return true;case 1:return false;case 0:if(n){return o===1}else{if(e.isBinaryExpression(s)&&s.operatorToken.kind===t){if(operatorHasAssociativeProperty(t)){return false}if(t===38){var u=i?getLiteralKindOfBinaryPlusOperand(i):0;if(e.isLiteralKind(u)&&u===getLiteralKindOfBinaryPlusOperand(s)){return false}}}var l=e.getExpressionAssociativity(s);return l===0}}}function operatorHasAssociativeProperty(e){return e===40||e===50||e===49||e===51}function getLiteralKindOfBinaryPlusOperand(t){t=e.skipPartiallyEmittedExpressions(t);if(e.isLiteralKind(t.kind)){return t.kind}if(t.kind===204&&t.operatorToken.kind===38){if(t.cachedLiteralKind!==undefined){return t.cachedLiteralKind}var r=getLiteralKindOfBinaryPlusOperand(t.left);var n=e.isLiteralKind(r)&&r===getLiteralKindOfBinaryPlusOperand(t.right)?r:0;t.cachedLiteralKind=n;return n}return 0}function parenthesizeForConditionalHead(t){var r=e.getOperatorPrecedence(205,56);var n=e.skipPartiallyEmittedExpressions(t);var i=e.getExpressionPrecedence(n);if(e.compareValues(i,r)===-1){return e.createParen(t)}return t}e.parenthesizeForConditionalHead=parenthesizeForConditionalHead;function parenthesizeSubexpressionOfConditionalExpression(t){var r=e.skipPartiallyEmittedExpressions(t);return isCommaSequence(r)?e.createParen(t):t}e.parenthesizeSubexpressionOfConditionalExpression=parenthesizeSubexpressionOfConditionalExpression;function parenthesizeDefaultExpression(t){var r=e.skipPartiallyEmittedExpressions(t);var n=isCommaSequence(r);if(!n){switch(getLeftmostExpression(r,false).kind){case 209:case 196:n=true}}return n?e.createParen(t):t}e.parenthesizeDefaultExpression=parenthesizeDefaultExpression;function parenthesizeForNew(t){var r=getLeftmostExpression(t,true);switch(r.kind){case 191:return e.createParen(t);case 192:return!r.arguments?e.createParen(t):t}return parenthesizeForAccess(t)}e.parenthesizeForNew=parenthesizeForNew;function parenthesizeForAccess(t){var r=e.skipPartiallyEmittedExpressions(t);if(e.isLeftHandSideExpression(r)&&(r.kind!==192||r.arguments)){return t}return e.setTextRange(e.createParen(t),t)}e.parenthesizeForAccess=parenthesizeForAccess;function parenthesizePostfixOperand(t){return e.isLeftHandSideExpression(t)?t:e.setTextRange(e.createParen(t),t)}e.parenthesizePostfixOperand=parenthesizePostfixOperand;function parenthesizePrefixOperand(t){return e.isUnaryExpression(t)?t:e.setTextRange(e.createParen(t),t)}e.parenthesizePrefixOperand=parenthesizePrefixOperand;function parenthesizeListElements(t){var r;for(var n=0;ni?t:e.setTextRange(e.createParen(t),t)}e.parenthesizeExpressionForList=parenthesizeExpressionForList;function parenthesizeExpressionForExpressionStatement(t){var r=e.skipPartiallyEmittedExpressions(t);if(e.isCallExpression(r)){var n=r.expression;var i=e.skipPartiallyEmittedExpressions(n).kind;if(i===196||i===197){var a=e.getMutableClone(r);a.expression=e.setTextRange(e.createParen(n),n);return recreateOuterExpressions(t,a,4)}}var o=getLeftmostExpression(r,false).kind;if(o===188||o===196){return e.setTextRange(e.createParen(t),t)}return t}e.parenthesizeExpressionForExpressionStatement=parenthesizeExpressionForExpressionStatement;function parenthesizeConditionalTypeMember(t){return t.kind===175?e.createParenthesizedType(t):t}e.parenthesizeConditionalTypeMember=parenthesizeConditionalTypeMember;function parenthesizeElementTypeMember(t){switch(t.kind){case 173:case 174:case 165:case 166:return e.createParenthesizedType(t)}return parenthesizeConditionalTypeMember(t)}e.parenthesizeElementTypeMember=parenthesizeElementTypeMember;function parenthesizeArrayTypeMember(t){switch(t.kind){case 167:case 179:case 176:return e.createParenthesizedType(t)}return parenthesizeElementTypeMember(t)}e.parenthesizeArrayTypeMember=parenthesizeArrayTypeMember;function parenthesizeElementTypeMembers(t){return e.createNodeArray(e.sameMap(t,parenthesizeElementTypeMember))}e.parenthesizeElementTypeMembers=parenthesizeElementTypeMembers;function parenthesizeTypeParameters(t){if(e.some(t)){var r=[];for(var n=0;ns-i){a=s-i}if(i>0||a0&&s<=147||s===178){return r}switch(s){case 72:return e.updateIdentifier(r,a(r.typeArguments,n,t));case 148:return e.updateQualifiedName(r,visitNode(r.left,n,e.isEntityName),visitNode(r.right,n,e.isIdentifier));case 149:return e.updateComputedPropertyName(r,visitNode(r.expression,n,e.isExpression));case 150:return e.updateTypeParameterDeclaration(r,visitNode(r.name,n,e.isIdentifier),visitNode(r.constraint,n,e.isTypeNode),visitNode(r.default,n,e.isTypeNode));case 151:return e.updateParameter(r,a(r.decorators,n,e.isDecorator),a(r.modifiers,n,e.isModifier),visitNode(r.dotDotDotToken,o,e.isToken),visitNode(r.name,n,e.isBindingName),visitNode(r.questionToken,o,e.isToken),visitNode(r.type,n,e.isTypeNode),visitNode(r.initializer,n,e.isExpression));case 152:return e.updateDecorator(r,visitNode(r.expression,n,e.isExpression));case 153:return e.updatePropertySignature(r,a(r.modifiers,n,e.isToken),visitNode(r.name,n,e.isPropertyName),visitNode(r.questionToken,o,e.isToken),visitNode(r.type,n,e.isTypeNode),visitNode(r.initializer,n,e.isExpression));case 154:return e.updateProperty(r,a(r.decorators,n,e.isDecorator),a(r.modifiers,n,e.isModifier),visitNode(r.name,n,e.isPropertyName),visitNode(r.questionToken,o,e.isToken),visitNode(r.type,n,e.isTypeNode),visitNode(r.initializer,n,e.isExpression));case 155:return e.updateMethodSignature(r,a(r.typeParameters,n,e.isTypeParameterDeclaration),a(r.parameters,n,e.isParameterDeclaration),visitNode(r.type,n,e.isTypeNode),visitNode(r.name,n,e.isPropertyName),visitNode(r.questionToken,o,e.isToken));case 156:return e.updateMethod(r,a(r.decorators,n,e.isDecorator),a(r.modifiers,n,e.isModifier),visitNode(r.asteriskToken,o,e.isToken),visitNode(r.name,n,e.isPropertyName),visitNode(r.questionToken,o,e.isToken),a(r.typeParameters,n,e.isTypeParameterDeclaration),visitParameterList(r.parameters,n,i,a),visitNode(r.type,n,e.isTypeNode),visitFunctionBody(r.body,n,i));case 157:return e.updateConstructor(r,a(r.decorators,n,e.isDecorator),a(r.modifiers,n,e.isModifier),visitParameterList(r.parameters,n,i,a),visitFunctionBody(r.body,n,i));case 158:return e.updateGetAccessor(r,a(r.decorators,n,e.isDecorator),a(r.modifiers,n,e.isModifier),visitNode(r.name,n,e.isPropertyName),visitParameterList(r.parameters,n,i,a),visitNode(r.type,n,e.isTypeNode),visitFunctionBody(r.body,n,i));case 159:return e.updateSetAccessor(r,a(r.decorators,n,e.isDecorator),a(r.modifiers,n,e.isModifier),visitNode(r.name,n,e.isPropertyName),visitParameterList(r.parameters,n,i,a),visitFunctionBody(r.body,n,i));case 160:return e.updateCallSignature(r,a(r.typeParameters,n,e.isTypeParameterDeclaration),a(r.parameters,n,e.isParameterDeclaration),visitNode(r.type,n,e.isTypeNode));case 161:return e.updateConstructSignature(r,a(r.typeParameters,n,e.isTypeParameterDeclaration),a(r.parameters,n,e.isParameterDeclaration),visitNode(r.type,n,e.isTypeNode));case 162:return e.updateIndexSignature(r,a(r.decorators,n,e.isDecorator),a(r.modifiers,n,e.isModifier),a(r.parameters,n,e.isParameterDeclaration),visitNode(r.type,n,e.isTypeNode));case 163:return e.updateTypePredicateNode(r,visitNode(r.parameterName,n),visitNode(r.type,n,e.isTypeNode));case 164:return e.updateTypeReferenceNode(r,visitNode(r.typeName,n,e.isEntityName),a(r.typeArguments,n,e.isTypeNode));case 165:return e.updateFunctionTypeNode(r,a(r.typeParameters,n,e.isTypeParameterDeclaration),a(r.parameters,n,e.isParameterDeclaration),visitNode(r.type,n,e.isTypeNode));case 166:return e.updateConstructorTypeNode(r,a(r.typeParameters,n,e.isTypeParameterDeclaration),a(r.parameters,n,e.isParameterDeclaration),visitNode(r.type,n,e.isTypeNode));case 167:return e.updateTypeQueryNode(r,visitNode(r.exprName,n,e.isEntityName));case 168:return e.updateTypeLiteralNode(r,a(r.members,n,e.isTypeElement));case 169:return e.updateArrayTypeNode(r,visitNode(r.elementType,n,e.isTypeNode));case 170:return e.updateTupleTypeNode(r,a(r.elementTypes,n,e.isTypeNode));case 171:return e.updateOptionalTypeNode(r,visitNode(r.type,n,e.isTypeNode));case 172:return e.updateRestTypeNode(r,visitNode(r.type,n,e.isTypeNode));case 173:return e.updateUnionTypeNode(r,a(r.types,n,e.isTypeNode));case 174:return e.updateIntersectionTypeNode(r,a(r.types,n,e.isTypeNode));case 175:return e.updateConditionalTypeNode(r,visitNode(r.checkType,n,e.isTypeNode),visitNode(r.extendsType,n,e.isTypeNode),visitNode(r.trueType,n,e.isTypeNode),visitNode(r.falseType,n,e.isTypeNode));case 176:return e.updateInferTypeNode(r,visitNode(r.typeParameter,n,e.isTypeParameterDeclaration));case 183:return e.updateImportTypeNode(r,visitNode(r.argument,n,e.isTypeNode),visitNode(r.qualifier,n,e.isEntityName),visitNodes(r.typeArguments,n,e.isTypeNode),r.isTypeOf);case 177:return e.updateParenthesizedType(r,visitNode(r.type,n,e.isTypeNode));case 179:return e.updateTypeOperatorNode(r,visitNode(r.type,n,e.isTypeNode));case 180:return e.updateIndexedAccessTypeNode(r,visitNode(r.objectType,n,e.isTypeNode),visitNode(r.indexType,n,e.isTypeNode));case 181:return e.updateMappedTypeNode(r,visitNode(r.readonlyToken,o,e.isToken),visitNode(r.typeParameter,n,e.isTypeParameterDeclaration),visitNode(r.questionToken,o,e.isToken),visitNode(r.type,n,e.isTypeNode));case 182:return e.updateLiteralTypeNode(r,visitNode(r.literal,n,e.isExpression));case 184:return e.updateObjectBindingPattern(r,a(r.elements,n,e.isBindingElement));case 185:return e.updateArrayBindingPattern(r,a(r.elements,n,e.isArrayBindingElement));case 186:return e.updateBindingElement(r,visitNode(r.dotDotDotToken,o,e.isToken),visitNode(r.propertyName,n,e.isPropertyName),visitNode(r.name,n,e.isBindingName),visitNode(r.initializer,n,e.isExpression));case 187:return e.updateArrayLiteral(r,a(r.elements,n,e.isExpression));case 188:return e.updateObjectLiteral(r,a(r.properties,n,e.isObjectLiteralElementLike));case 189:return e.updatePropertyAccess(r,visitNode(r.expression,n,e.isExpression),visitNode(r.name,n,e.isIdentifier));case 190:return e.updateElementAccess(r,visitNode(r.expression,n,e.isExpression),visitNode(r.argumentExpression,n,e.isExpression));case 191:return e.updateCall(r,visitNode(r.expression,n,e.isExpression),a(r.typeArguments,n,e.isTypeNode),a(r.arguments,n,e.isExpression));case 192:return e.updateNew(r,visitNode(r.expression,n,e.isExpression),a(r.typeArguments,n,e.isTypeNode),a(r.arguments,n,e.isExpression));case 193:return e.updateTaggedTemplate(r,visitNode(r.tag,n,e.isExpression),visitNodes(r.typeArguments,n,e.isExpression),visitNode(r.template,n,e.isTemplateLiteral));case 194:return e.updateTypeAssertion(r,visitNode(r.type,n,e.isTypeNode),visitNode(r.expression,n,e.isExpression));case 195:return e.updateParen(r,visitNode(r.expression,n,e.isExpression));case 196:return e.updateFunctionExpression(r,a(r.modifiers,n,e.isModifier),visitNode(r.asteriskToken,o,e.isToken),visitNode(r.name,n,e.isIdentifier),a(r.typeParameters,n,e.isTypeParameterDeclaration),visitParameterList(r.parameters,n,i,a),visitNode(r.type,n,e.isTypeNode),visitFunctionBody(r.body,n,i));case 197:return e.updateArrowFunction(r,a(r.modifiers,n,e.isModifier),a(r.typeParameters,n,e.isTypeParameterDeclaration),visitParameterList(r.parameters,n,i,a),visitNode(r.type,n,e.isTypeNode),visitNode(r.equalsGreaterThanToken,n,e.isToken),visitFunctionBody(r.body,n,i));case 198:return e.updateDelete(r,visitNode(r.expression,n,e.isExpression));case 199:return e.updateTypeOf(r,visitNode(r.expression,n,e.isExpression));case 200:return e.updateVoid(r,visitNode(r.expression,n,e.isExpression));case 201:return e.updateAwait(r,visitNode(r.expression,n,e.isExpression));case 202:return e.updatePrefix(r,visitNode(r.operand,n,e.isExpression));case 203:return e.updatePostfix(r,visitNode(r.operand,n,e.isExpression));case 204:return e.updateBinary(r,visitNode(r.left,n,e.isExpression),visitNode(r.right,n,e.isExpression),visitNode(r.operatorToken,n,e.isToken));case 205:return e.updateConditional(r,visitNode(r.condition,n,e.isExpression),visitNode(r.questionToken,n,e.isToken),visitNode(r.whenTrue,n,e.isExpression),visitNode(r.colonToken,n,e.isToken),visitNode(r.whenFalse,n,e.isExpression));case 206:return e.updateTemplateExpression(r,visitNode(r.head,n,e.isTemplateHead),a(r.templateSpans,n,e.isTemplateSpan));case 207:return e.updateYield(r,visitNode(r.asteriskToken,o,e.isToken),visitNode(r.expression,n,e.isExpression));case 208:return e.updateSpread(r,visitNode(r.expression,n,e.isExpression));case 209:return e.updateClassExpression(r,a(r.modifiers,n,e.isModifier),visitNode(r.name,n,e.isIdentifier),a(r.typeParameters,n,e.isTypeParameterDeclaration),a(r.heritageClauses,n,e.isHeritageClause),a(r.members,n,e.isClassElement));case 211:return e.updateExpressionWithTypeArguments(r,a(r.typeArguments,n,e.isTypeNode),visitNode(r.expression,n,e.isExpression));case 212:return e.updateAsExpression(r,visitNode(r.expression,n,e.isExpression),visitNode(r.type,n,e.isTypeNode));case 213:return e.updateNonNullExpression(r,visitNode(r.expression,n,e.isExpression));case 214:return e.updateMetaProperty(r,visitNode(r.name,n,e.isIdentifier));case 216:return e.updateTemplateSpan(r,visitNode(r.expression,n,e.isExpression),visitNode(r.literal,n,e.isTemplateMiddleOrTemplateTail));case 218:return e.updateBlock(r,a(r.statements,n,e.isStatement));case 219:return e.updateVariableStatement(r,a(r.modifiers,n,e.isModifier),visitNode(r.declarationList,n,e.isVariableDeclarationList));case 221:return e.updateExpressionStatement(r,visitNode(r.expression,n,e.isExpression));case 222:return e.updateIf(r,visitNode(r.expression,n,e.isExpression),visitNode(r.thenStatement,n,e.isStatement,e.liftToBlock),visitNode(r.elseStatement,n,e.isStatement,e.liftToBlock));case 223:return e.updateDo(r,visitNode(r.statement,n,e.isStatement,e.liftToBlock),visitNode(r.expression,n,e.isExpression));case 224:return e.updateWhile(r,visitNode(r.expression,n,e.isExpression),visitNode(r.statement,n,e.isStatement,e.liftToBlock));case 225:return e.updateFor(r,visitNode(r.initializer,n,e.isForInitializer),visitNode(r.condition,n,e.isExpression),visitNode(r.incrementor,n,e.isExpression),visitNode(r.statement,n,e.isStatement,e.liftToBlock));case 226:return e.updateForIn(r,visitNode(r.initializer,n,e.isForInitializer),visitNode(r.expression,n,e.isExpression),visitNode(r.statement,n,e.isStatement,e.liftToBlock));case 227:return e.updateForOf(r,visitNode(r.awaitModifier,n,e.isToken),visitNode(r.initializer,n,e.isForInitializer),visitNode(r.expression,n,e.isExpression),visitNode(r.statement,n,e.isStatement,e.liftToBlock));case 228:return e.updateContinue(r,visitNode(r.label,n,e.isIdentifier));case 229:return e.updateBreak(r,visitNode(r.label,n,e.isIdentifier));case 230:return e.updateReturn(r,visitNode(r.expression,n,e.isExpression));case 231:return e.updateWith(r,visitNode(r.expression,n,e.isExpression),visitNode(r.statement,n,e.isStatement,e.liftToBlock));case 232:return e.updateSwitch(r,visitNode(r.expression,n,e.isExpression),visitNode(r.caseBlock,n,e.isCaseBlock));case 233:return e.updateLabel(r,visitNode(r.label,n,e.isIdentifier),visitNode(r.statement,n,e.isStatement,e.liftToBlock));case 234:return e.updateThrow(r,visitNode(r.expression,n,e.isExpression));case 235:return e.updateTry(r,visitNode(r.tryBlock,n,e.isBlock),visitNode(r.catchClause,n,e.isCatchClause),visitNode(r.finallyBlock,n,e.isBlock));case 237:return e.updateVariableDeclaration(r,visitNode(r.name,n,e.isBindingName),visitNode(r.type,n,e.isTypeNode),visitNode(r.initializer,n,e.isExpression));case 238:return e.updateVariableDeclarationList(r,a(r.declarations,n,e.isVariableDeclaration));case 239:return e.updateFunctionDeclaration(r,a(r.decorators,n,e.isDecorator),a(r.modifiers,n,e.isModifier),visitNode(r.asteriskToken,o,e.isToken),visitNode(r.name,n,e.isIdentifier),a(r.typeParameters,n,e.isTypeParameterDeclaration),visitParameterList(r.parameters,n,i,a),visitNode(r.type,n,e.isTypeNode),visitFunctionBody(r.body,n,i));case 240:return e.updateClassDeclaration(r,a(r.decorators,n,e.isDecorator),a(r.modifiers,n,e.isModifier),visitNode(r.name,n,e.isIdentifier),a(r.typeParameters,n,e.isTypeParameterDeclaration),a(r.heritageClauses,n,e.isHeritageClause),a(r.members,n,e.isClassElement));case 241:return e.updateInterfaceDeclaration(r,a(r.decorators,n,e.isDecorator),a(r.modifiers,n,e.isModifier),visitNode(r.name,n,e.isIdentifier),a(r.typeParameters,n,e.isTypeParameterDeclaration),a(r.heritageClauses,n,e.isHeritageClause),a(r.members,n,e.isTypeElement));case 242:return e.updateTypeAliasDeclaration(r,a(r.decorators,n,e.isDecorator),a(r.modifiers,n,e.isModifier),visitNode(r.name,n,e.isIdentifier),a(r.typeParameters,n,e.isTypeParameterDeclaration),visitNode(r.type,n,e.isTypeNode));case 243:return e.updateEnumDeclaration(r,a(r.decorators,n,e.isDecorator),a(r.modifiers,n,e.isModifier),visitNode(r.name,n,e.isIdentifier),a(r.members,n,e.isEnumMember));case 244:return e.updateModuleDeclaration(r,a(r.decorators,n,e.isDecorator),a(r.modifiers,n,e.isModifier),visitNode(r.name,n,e.isIdentifier),visitNode(r.body,n,e.isModuleBody));case 245:return e.updateModuleBlock(r,a(r.statements,n,e.isStatement));case 246:return e.updateCaseBlock(r,a(r.clauses,n,e.isCaseOrDefaultClause));case 247:return e.updateNamespaceExportDeclaration(r,visitNode(r.name,n,e.isIdentifier));case 248:return e.updateImportEqualsDeclaration(r,a(r.decorators,n,e.isDecorator),a(r.modifiers,n,e.isModifier),visitNode(r.name,n,e.isIdentifier),visitNode(r.moduleReference,n,e.isModuleReference));case 249:return e.updateImportDeclaration(r,a(r.decorators,n,e.isDecorator),a(r.modifiers,n,e.isModifier),visitNode(r.importClause,n,e.isImportClause),visitNode(r.moduleSpecifier,n,e.isExpression));case 250:return e.updateImportClause(r,visitNode(r.name,n,e.isIdentifier),visitNode(r.namedBindings,n,e.isNamedImportBindings));case 251:return e.updateNamespaceImport(r,visitNode(r.name,n,e.isIdentifier));case 252:return e.updateNamedImports(r,a(r.elements,n,e.isImportSpecifier));case 253:return e.updateImportSpecifier(r,visitNode(r.propertyName,n,e.isIdentifier),visitNode(r.name,n,e.isIdentifier));case 254:return e.updateExportAssignment(r,a(r.decorators,n,e.isDecorator),a(r.modifiers,n,e.isModifier),visitNode(r.expression,n,e.isExpression));case 255:return e.updateExportDeclaration(r,a(r.decorators,n,e.isDecorator),a(r.modifiers,n,e.isModifier),visitNode(r.exportClause,n,e.isNamedExports),visitNode(r.moduleSpecifier,n,e.isExpression));case 256:return e.updateNamedExports(r,a(r.elements,n,e.isExportSpecifier));case 257:return e.updateExportSpecifier(r,visitNode(r.propertyName,n,e.isIdentifier),visitNode(r.name,n,e.isIdentifier));case 259:return e.updateExternalModuleReference(r,visitNode(r.expression,n,e.isExpression));case 260:return e.updateJsxElement(r,visitNode(r.openingElement,n,e.isJsxOpeningElement),a(r.children,n,e.isJsxChild),visitNode(r.closingElement,n,e.isJsxClosingElement));case 261:return e.updateJsxSelfClosingElement(r,visitNode(r.tagName,n,e.isJsxTagNameExpression),a(r.typeArguments,n,e.isTypeNode),visitNode(r.attributes,n,e.isJsxAttributes));case 262:return e.updateJsxOpeningElement(r,visitNode(r.tagName,n,e.isJsxTagNameExpression),a(r.typeArguments,n,e.isTypeNode),visitNode(r.attributes,n,e.isJsxAttributes));case 263:return e.updateJsxClosingElement(r,visitNode(r.tagName,n,e.isJsxTagNameExpression));case 264:return e.updateJsxFragment(r,visitNode(r.openingFragment,n,e.isJsxOpeningFragment),a(r.children,n,e.isJsxChild),visitNode(r.closingFragment,n,e.isJsxClosingFragment));case 267:return e.updateJsxAttribute(r,visitNode(r.name,n,e.isIdentifier),visitNode(r.initializer,n,e.isStringLiteralOrJsxExpression));case 268:return e.updateJsxAttributes(r,a(r.properties,n,e.isJsxAttributeLike));case 269:return e.updateJsxSpreadAttribute(r,visitNode(r.expression,n,e.isExpression));case 270:return e.updateJsxExpression(r,visitNode(r.expression,n,e.isExpression));case 271:return e.updateCaseClause(r,visitNode(r.expression,n,e.isExpression),a(r.statements,n,e.isStatement));case 272:return e.updateDefaultClause(r,a(r.statements,n,e.isStatement));case 273:return e.updateHeritageClause(r,a(r.types,n,e.isExpressionWithTypeArguments));case 274:return e.updateCatchClause(r,visitNode(r.variableDeclaration,n,e.isVariableDeclaration),visitNode(r.block,n,e.isBlock));case 275:return e.updatePropertyAssignment(r,visitNode(r.name,n,e.isPropertyName),visitNode(r.initializer,n,e.isExpression));case 276:return e.updateShorthandPropertyAssignment(r,visitNode(r.name,n,e.isIdentifier),visitNode(r.objectAssignmentInitializer,n,e.isExpression));case 277:return e.updateSpreadAssignment(r,visitNode(r.expression,n,e.isExpression));case 278:return e.updateEnumMember(r,visitNode(r.name,n,e.isPropertyName),visitNode(r.initializer,n,e.isExpression));case 279:return e.updateSourceFileNode(r,visitLexicalEnvironment(r.statements,n,i));case 308:return e.updatePartiallyEmittedExpression(r,visitNode(r.expression,n,e.isExpression));case 309:return e.updateCommaList(r,a(r.elements,n,e.isExpression));default:return r}}e.visitEachChild=visitEachChild;function extractSingleNode(t){e.Debug.assert(t.length<=1,"Too many nodes written to output.");return e.singleOrUndefined(t)}})(s||(s={}));(function(e){function reduceNode(e,t,r){return e?t(r,e):r}function reduceNodeArray(e,t,r){return e?t(r,e):r}function reduceEachChild(t,r,n,i){if(t===undefined){return r}var a=i?reduceNodeArray:e.reduceLeft;var o=i||n;var s=t.kind;if(s>0&&s<=147){return r}if(s>=163&&s<=182){return r}var c=r;switch(t.kind){case 217:case 220:case 210:case 236:case 307:break;case 148:c=reduceNode(t.left,n,c);c=reduceNode(t.right,n,c);break;case 149:c=reduceNode(t.expression,n,c);break;case 151:c=a(t.decorators,o,c);c=a(t.modifiers,o,c);c=reduceNode(t.name,n,c);c=reduceNode(t.type,n,c);c=reduceNode(t.initializer,n,c);break;case 152:c=reduceNode(t.expression,n,c);break;case 153:c=a(t.modifiers,o,c);c=reduceNode(t.name,n,c);c=reduceNode(t.questionToken,n,c);c=reduceNode(t.type,n,c);c=reduceNode(t.initializer,n,c);break;case 154:c=a(t.decorators,o,c);c=a(t.modifiers,o,c);c=reduceNode(t.name,n,c);c=reduceNode(t.type,n,c);c=reduceNode(t.initializer,n,c);break;case 156:c=a(t.decorators,o,c);c=a(t.modifiers,o,c);c=reduceNode(t.name,n,c);c=a(t.typeParameters,o,c);c=a(t.parameters,o,c);c=reduceNode(t.type,n,c);c=reduceNode(t.body,n,c);break;case 157:c=a(t.modifiers,o,c);c=a(t.parameters,o,c);c=reduceNode(t.body,n,c);break;case 158:c=a(t.decorators,o,c);c=a(t.modifiers,o,c);c=reduceNode(t.name,n,c);c=a(t.parameters,o,c);c=reduceNode(t.type,n,c);c=reduceNode(t.body,n,c);break;case 159:c=a(t.decorators,o,c);c=a(t.modifiers,o,c);c=reduceNode(t.name,n,c);c=a(t.parameters,o,c);c=reduceNode(t.body,n,c);break;case 184:case 185:c=a(t.elements,o,c);break;case 186:c=reduceNode(t.propertyName,n,c);c=reduceNode(t.name,n,c);c=reduceNode(t.initializer,n,c);break;case 187:c=a(t.elements,o,c);break;case 188:c=a(t.properties,o,c);break;case 189:c=reduceNode(t.expression,n,c);c=reduceNode(t.name,n,c);break;case 190:c=reduceNode(t.expression,n,c);c=reduceNode(t.argumentExpression,n,c);break;case 191:c=reduceNode(t.expression,n,c);c=a(t.typeArguments,o,c);c=a(t.arguments,o,c);break;case 192:c=reduceNode(t.expression,n,c);c=a(t.typeArguments,o,c);c=a(t.arguments,o,c);break;case 193:c=reduceNode(t.tag,n,c);c=a(t.typeArguments,o,c);c=reduceNode(t.template,n,c);break;case 194:c=reduceNode(t.type,n,c);c=reduceNode(t.expression,n,c);break;case 196:c=a(t.modifiers,o,c);c=reduceNode(t.name,n,c);c=a(t.typeParameters,o,c);c=a(t.parameters,o,c);c=reduceNode(t.type,n,c);c=reduceNode(t.body,n,c);break;case 197:c=a(t.modifiers,o,c);c=a(t.typeParameters,o,c);c=a(t.parameters,o,c);c=reduceNode(t.type,n,c);c=reduceNode(t.body,n,c);break;case 195:case 198:case 199:case 200:case 201:case 207:case 208:case 213:c=reduceNode(t.expression,n,c);break;case 202:case 203:c=reduceNode(t.operand,n,c);break;case 204:c=reduceNode(t.left,n,c);c=reduceNode(t.right,n,c);break;case 205:c=reduceNode(t.condition,n,c);c=reduceNode(t.whenTrue,n,c);c=reduceNode(t.whenFalse,n,c);break;case 206:c=reduceNode(t.head,n,c);c=a(t.templateSpans,o,c);break;case 209:c=a(t.modifiers,o,c);c=reduceNode(t.name,n,c);c=a(t.typeParameters,o,c);c=a(t.heritageClauses,o,c);c=a(t.members,o,c);break;case 211:c=reduceNode(t.expression,n,c);c=a(t.typeArguments,o,c);break;case 212:c=reduceNode(t.expression,n,c);c=reduceNode(t.type,n,c);break;case 216:c=reduceNode(t.expression,n,c);c=reduceNode(t.literal,n,c);break;case 218:c=a(t.statements,o,c);break;case 219:c=a(t.modifiers,o,c);c=reduceNode(t.declarationList,n,c);break;case 221:c=reduceNode(t.expression,n,c);break;case 222:c=reduceNode(t.expression,n,c);c=reduceNode(t.thenStatement,n,c);c=reduceNode(t.elseStatement,n,c);break;case 223:c=reduceNode(t.statement,n,c);c=reduceNode(t.expression,n,c);break;case 224:case 231:c=reduceNode(t.expression,n,c);c=reduceNode(t.statement,n,c);break;case 225:c=reduceNode(t.initializer,n,c);c=reduceNode(t.condition,n,c);c=reduceNode(t.incrementor,n,c);c=reduceNode(t.statement,n,c);break;case 226:case 227:c=reduceNode(t.initializer,n,c);c=reduceNode(t.expression,n,c);c=reduceNode(t.statement,n,c);break;case 230:case 234:c=reduceNode(t.expression,n,c);break;case 232:c=reduceNode(t.expression,n,c);c=reduceNode(t.caseBlock,n,c);break;case 233:c=reduceNode(t.label,n,c);c=reduceNode(t.statement,n,c);break;case 235:c=reduceNode(t.tryBlock,n,c);c=reduceNode(t.catchClause,n,c);c=reduceNode(t.finallyBlock,n,c);break;case 237:c=reduceNode(t.name,n,c);c=reduceNode(t.type,n,c);c=reduceNode(t.initializer,n,c);break;case 238:c=a(t.declarations,o,c);break;case 239:c=a(t.decorators,o,c);c=a(t.modifiers,o,c);c=reduceNode(t.name,n,c);c=a(t.typeParameters,o,c);c=a(t.parameters,o,c);c=reduceNode(t.type,n,c);c=reduceNode(t.body,n,c);break;case 240:c=a(t.decorators,o,c);c=a(t.modifiers,o,c);c=reduceNode(t.name,n,c);c=a(t.typeParameters,o,c);c=a(t.heritageClauses,o,c);c=a(t.members,o,c);break;case 243:c=a(t.decorators,o,c);c=a(t.modifiers,o,c);c=reduceNode(t.name,n,c);c=a(t.members,o,c);break;case 244:c=a(t.decorators,o,c);c=a(t.modifiers,o,c);c=reduceNode(t.name,n,c);c=reduceNode(t.body,n,c);break;case 245:c=a(t.statements,o,c);break;case 246:c=a(t.clauses,o,c);break;case 248:c=a(t.decorators,o,c);c=a(t.modifiers,o,c);c=reduceNode(t.name,n,c);c=reduceNode(t.moduleReference,n,c);break;case 249:c=a(t.decorators,o,c);c=a(t.modifiers,o,c);c=reduceNode(t.importClause,n,c);c=reduceNode(t.moduleSpecifier,n,c);break;case 250:c=reduceNode(t.name,n,c);c=reduceNode(t.namedBindings,n,c);break;case 251:c=reduceNode(t.name,n,c);break;case 252:case 256:c=a(t.elements,o,c);break;case 253:case 257:c=reduceNode(t.propertyName,n,c);c=reduceNode(t.name,n,c);break;case 254:c=e.reduceLeft(t.decorators,n,c);c=e.reduceLeft(t.modifiers,n,c);c=reduceNode(t.expression,n,c);break;case 255:c=e.reduceLeft(t.decorators,n,c);c=e.reduceLeft(t.modifiers,n,c);c=reduceNode(t.exportClause,n,c);c=reduceNode(t.moduleSpecifier,n,c);break;case 259:c=reduceNode(t.expression,n,c);break;case 260:c=reduceNode(t.openingElement,n,c);c=e.reduceLeft(t.children,n,c);c=reduceNode(t.closingElement,n,c);break;case 264:c=reduceNode(t.openingFragment,n,c);c=e.reduceLeft(t.children,n,c);c=reduceNode(t.closingFragment,n,c);break;case 261:case 262:c=reduceNode(t.tagName,n,c);c=a(t.typeArguments,n,c);c=reduceNode(t.attributes,n,c);break;case 268:c=a(t.properties,o,c);break;case 263:c=reduceNode(t.tagName,n,c);break;case 267:c=reduceNode(t.name,n,c);c=reduceNode(t.initializer,n,c);break;case 269:c=reduceNode(t.expression,n,c);break;case 270:c=reduceNode(t.expression,n,c);break;case 271:c=reduceNode(t.expression,n,c);case 272:c=a(t.statements,o,c);break;case 273:c=a(t.types,o,c);break;case 274:c=reduceNode(t.variableDeclaration,n,c);c=reduceNode(t.block,n,c);break;case 275:c=reduceNode(t.name,n,c);c=reduceNode(t.initializer,n,c);break;case 276:c=reduceNode(t.name,n,c);c=reduceNode(t.objectAssignmentInitializer,n,c);break;case 277:c=reduceNode(t.expression,n,c);break;case 278:c=reduceNode(t.name,n,c);c=reduceNode(t.initializer,n,c);break;case 279:c=a(t.statements,o,c);break;case 308:c=reduceNode(t.expression,n,c);break;case 309:c=a(t.elements,o,c);break;default:break}return c}e.reduceEachChild=reduceEachChild;function mergeLexicalEnvironment(t,r){if(!e.some(r)){return t}return e.isNodeArray(t)?e.setTextRange(e.createNodeArray(e.addStatementsAfterPrologue(t.slice(),r)),t):e.addStatementsAfterPrologue(t,r)}e.mergeLexicalEnvironment=mergeLexicalEnvironment;function liftToBlock(r){t.assert(e.every(r,e.isStatement),"Cannot lift nodes to a Block.");return e.singleOrUndefined(r)||e.createBlock(r)}e.liftToBlock=liftToBlock;function aggregateTransformFlags(e){aggregateTransformFlagsForNode(e);return e}e.aggregateTransformFlags=aggregateTransformFlags;function aggregateTransformFlagsForNode(t){if(t===undefined){return 0}if(t.transformFlags&536870912){return t.transformFlags&~e.getTransformFlagsSubtreeExclusions(t.kind)}var r=aggregateTransformFlagsForSubtree(t);return e.computeTransformFlagsForNode(t,r)}function aggregateTransformFlagsForNodeArray(e){if(e===undefined){return 0}var t=0;var r=0;for(var n=0,i=e;nt||D===t&&k>r)}function addMapping(t,r,n,i,a,o){e.Debug.assert(t>=x,"generatedLine cannot backtrack");e.Debug.assert(r>=0,"generatedCharacter cannot be negative");e.Debug.assert(n===undefined||n>=0,"sourceIndex cannot be negative");e.Debug.assert(i===undefined||i>=0,"sourceLine cannot be negative");e.Debug.assert(a===undefined||a>=0,"sourceCharacter cannot be negative");s();if(isNewGeneratedPosition(t,r)||isBacktrackingSourcePosition(n,i,a)){commitPendingMapping();x=t;C=r;O=false;F=false;A=true}if(n!==undefined&&i!==undefined&&a!==undefined){E=n;D=i;k=a;O=true;if(o!==undefined){N=o;F=true}}c()}function appendSourceMap(t,r,n,i){var a;e.Debug.assert(t>=x,"generatedLine cannot backtrack");e.Debug.assert(r>=0,"generatedCharacter cannot be negative");s();var o=[];var u;var l=decodeMappings(n.mappings);for(var f=l.next(),d=f.value,p=f.done;!p;a=l.next(),d=a.value,p=a.done,a){var g=void 0;var _=void 0;var m=void 0;var y=void 0;if(d.sourceIndex!==undefined){g=o[d.sourceIndex];if(g===undefined){var h=n.sources[d.sourceIndex];var v=n.sourceRoot?e.combinePaths(n.sourceRoot,h):h;var T=e.combinePaths(e.getDirectoryPath(i),v);o[d.sourceIndex]=g=addSource(T);if(n.sourcesContent&&typeof n.sourcesContent[d.sourceIndex]==="string"){setSourceContent(g,n.sourcesContent[d.sourceIndex])}}_=d.sourceLine;m=d.sourceCharacter;if(n.names&&d.nameIndex!==undefined){if(!u)u=[];y=u[d.nameIndex];if(y===undefined){u[d.nameIndex]=y=addName(n.names[d.nameIndex])}}}var S=d.generatedLine+t;var b=d.generatedLine===0?d.generatedCharacter+r:d.generatedCharacter;addMapping(S,b,g,_,m,y)}c()}function shouldCommitMapping(){return!b||m!==x||y!==C||h!==E||v!==D||T!==k||S!==N}function commitPendingMapping(){if(!A||!shouldCommitMapping()){return}s();if(m=0;a--){var o=n.substring(i[a],i[a+1]);var s=t.exec(o);if(s){return s[1]}else if(!o.match(r)){break}}}e.tryGetSourceMappingURL=tryGetSourceMappingURL;function isStringOrNull(e){return typeof e==="string"||e===null}function isRawSourceMap(t){return t!==null&&typeof t==="object"&&t.version===3&&typeof t.file==="string"&&typeof t.mappings==="string"&&e.isArray(t.sources)&&e.every(t.sources,e.isString)&&(t.sourceRoot===undefined||t.sourceRoot===null||typeof t.sourceRoot==="string")&&(t.sourcesContent===undefined||t.sourcesContent===null||e.isArray(t.sourcesContent)&&e.every(t.sourcesContent,isStringOrNull))&&(t.names===undefined||t.names===null||e.isArray(t.names)&&e.every(t.names,e.isString))}e.isRawSourceMap=isRawSourceMap;function tryParseRawSourceMap(e){try{var t=JSON.parse(e);if(isRawSourceMap(t)){return t}}catch(e){}return undefined}e.tryParseRawSourceMap=tryParseRawSourceMap;function decodeMappings(e){var t=false;var r=0;var n=0;var i=0;var a=0;var o=0;var s=0;var c=0;var u;return{get pos(){return r},get error(){return u},get state(){return captureMapping(true,true)},next:function(){while(!t&&r=e.length)return setError("Error in decoding base64VLQFormatDecode, past the mapping string"),-1;var a=base64FormatDecode(e.charCodeAt(r));if(a===-1)return setError("Invalid character in VLQ"),-1;t=(a&32)!==0;i=i|(a&31)<>1}else{i=i>>1;i=-i}return i}}e.decodeMappings=decodeMappings;function sameMapping(e,t){return e===t||e.generatedLine===t.generatedLine&&e.generatedCharacter===t.generatedCharacter&&e.sourceIndex===t.sourceIndex&&e.sourceLine===t.sourceLine&&e.sourceCharacter===t.sourceCharacter&&e.nameIndex===t.nameIndex}e.sameMapping=sameMapping;function isSourceMapping(e){return e.sourceIndex!==undefined&&e.sourceLine!==undefined&&e.sourceCharacter!==undefined}e.isSourceMapping=isSourceMapping;function base64FormatEncode(t){return t>=0&&t<26?65+t:t>=26&&t<52?97+t-26:t>=52&&t<62?48+t-52:t===62?43:t===63?47:e.Debug.fail(t+": not a base64 value")}function base64FormatDecode(e){return e>=65&&e<=90?e-65:e>=97&&e<=122?e-97+26:e>=48&&e<=57?e-48+52:e===43?62:e===47?63:-1}function base64VLQFormatEncode(e){if(e<0){e=(-e<<1)+1}else{e=e<<1}var t="";do{var r=e&31;e=e>>5;if(e>0){r=r|32}t=t+String.fromCharCode(base64FormatEncode(r))}while(e>0);return t}function isSourceMappedPosition(e){return e.sourceIndex!==undefined&&e.sourcePosition!==undefined}function sameMappedPosition(e,t){return e.generatedPosition===t.generatedPosition&&e.sourceIndex===t.sourceIndex&&e.sourcePosition===t.sourcePosition}function compareSourcePositions(t,r){return e.compareValues(t.sourceIndex,r.sourceIndex)}function compareGeneratedPositions(t,r){return e.compareValues(t.generatedPosition,r.generatedPosition)}function getSourcePositionOfMapping(e){return e.sourcePosition}function getGeneratedPositionOfMapping(e){return e.generatedPosition}function createDocumentPositionMapper(t,r,n){var i=e.getDirectoryPath(n);var a=r.sourceRoot?e.getNormalizedAbsolutePath(r.sourceRoot,i):i;var o=e.getNormalizedAbsolutePath(r.file,i);var s=t.getCanonicalFileName(o);var c=t.getSourceFileLike(s);var u=r.sources.map(function(t){return e.getNormalizedAbsolutePath(t,a)});var l=u.map(function(e){return t.getCanonicalFileName(e)});var f=e.createMapFromEntries(l.map(function(e,t){return[e,t]}));var d;var p;var g;return{getSourcePosition:getSourcePosition,getGeneratedPosition:getGeneratedPosition};function processMapping(n){var i=c!==undefined?e.getPositionOfLineAndCharacterWithEdits(c,n.generatedLine,n.generatedCharacter):-1;var a;var o;if(isSourceMapping(n)){var s=l[n.sourceIndex];var u=t.getSourceFileLike(s);a=r.sources[n.sourceIndex];o=u!==undefined?e.getPositionOfLineAndCharacterWithEdits(u,n.sourceLine,n.sourceCharacter):-1}return{generatedPosition:i,source:a,sourceIndex:n.sourceIndex,sourcePosition:o,nameIndex:n.nameIndex}}function getDecodedMappings(){if(d===undefined){var n=decodeMappings(r.mappings);var i=e.arrayFrom(n,processMapping);if(n.error!==undefined){if(t.log){t.log("Encountered error while decoding sourcemap: "+n.error)}d=e.emptyArray}else{d=i}}return d}function getSourceMappings(t){if(g===undefined){var r=[];for(var n=0,i=getDecodedMappings();n0&&n!==r.elements.length||!!(r.elements.length-n)&&e.isDefaultImport(t)}e.getImportNeedsImportStarHelper=getImportNeedsImportStarHelper;function getImportNeedsImportDefaultHelper(t){return!getImportNeedsImportStarHelper(t)&&(e.isDefaultImport(t)||!!t.importClause&&e.isNamedImports(t.importClause.namedBindings)&&containsDefaultReference(t.importClause.namedBindings))}e.getImportNeedsImportDefaultHelper=getImportNeedsImportDefaultHelper;function collectExternalModuleInfo(t,r,n){var i=[];var a=e.createMultiMap();var o=[];var s=e.createMap();var c;var u=false;var l;var f=false;var d=false;for(var p=0,g=t.statements;p=1&&!(d.transformFlags&(131072|262144))&&!(e.getTargetOfBindingOrAssignmentElement(d).transformFlags&(131072|262144))&&!e.isComputedPropertyName(p)){u=e.append(u,d)}else{if(u){t.emitBindingOrAssignment(t.createObjectBindingOrAssignmentPattern(u),i,a,n);u=undefined}var g=createDestructuringPropertyAccess(t,i,p);if(e.isComputedPropertyName(p)){l=e.append(l,g.argumentExpression)}flattenBindingOrAssignmentElement(t,d,g,d)}}else if(f===s-1){if(u){t.emitBindingOrAssignment(t.createObjectBindingOrAssignmentPattern(u),i,a,n);u=undefined}var g=createRestCall(t.context,i,o,l,n);flattenBindingOrAssignmentElement(t,d,g,d)}}if(u){t.emitBindingOrAssignment(t.createObjectBindingOrAssignmentPattern(u),i,a,n)}}function flattenArrayBindingOrAssignmentPattern(t,r,n,i,a){var o=e.getElementsOfBindingOrAssignmentPattern(n);var s=o.length;if(t.level<1&&t.downlevelIteration){i=ensureIdentifier(t,e.createReadHelper(t.context,i,s>0&&e.getRestIndicatorOfBindingOrAssignmentElement(o[s-1])?undefined:s,a),false,a)}else if(s!==1&&(t.level<1||s===0)||e.every(o,e.isOmittedExpression)){var c=!e.isDeclarationBindingElement(r)||s!==0;i=ensureIdentifier(t,i,c,a)}var u;var l;for(var f=0;f=1){if(d.transformFlags&262144){var p=e.createTempVariable(undefined);if(t.hoistTempVariables){t.context.hoistVariableDeclaration(p)}l=e.append(l,[p,d]);u=e.append(u,t.createArrayBindingOrAssignmentElement(p))}else{u=e.append(u,d)}}else if(e.isOmittedExpression(d)){continue}else if(!e.getRestIndicatorOfBindingOrAssignmentElement(d)){var g=e.createElementAccess(i,f);flattenBindingOrAssignmentElement(t,d,g,d)}else if(f===s-1){var g=e.createArraySlice(i,f);flattenBindingOrAssignmentElement(t,d,g,d)}}if(u){t.emitBindingOrAssignment(t.createArrayBindingOrAssignmentPattern(u),i,a,n)}if(l){for(var _=0,m=l;_=e.ModuleKind.ES2015)&&!e.isJsonSourceFile(t);return e.updateSourceFileNode(t,e.visitLexicalEnvironment(t.statements,sourceElementVisitor,r,0,n))}function shouldEmitDecorateCallForClass(t){if(t.decorators&&t.decorators.length>0){return true}var r=e.getFirstConstructorWithBody(t);if(r){return e.forEach(r.parameters,shouldEmitDecorateCallForParameter)}return false}function shouldEmitDecorateCallForParameter(e){return e.decorators!==undefined&&e.decorators.length>0}function getClassFacts(t,r){var n=0;if(e.some(r))n|=1;var i=e.getEffectiveBaseTypeNode(t);if(i&&e.skipOuterExpressions(i.expression).kind!==96)n|=64;if(shouldEmitDecorateCallForClass(t))n|=2;if(e.childIsDecorated(t))n|=4;if(isExportOfNamespace(t))n|=8;else if(isDefaultExternalModuleExport(t))n|=32;else if(isNamedExternalModuleExport(t))n|=16;if(l<=1&&n&7)n|=128;return n}function visitClassDeclaration(t){var n=x;x=undefined;var i=getInitializedProperties(t,true);var a=getClassFacts(t,i);if(a&128){r.startLexicalEnvironment()}var o=t.name||(a&5?e.getGeneratedNameForNode(t):undefined);var s=a&2?createClassDeclarationHeadWithDecorators(t,o,a):createClassDeclarationHeadWithoutDecorators(t,o,a);var c=[s];if(e.some(x)){c.push(e.createExpressionStatement(e.inlineExpressions(x)))}x=n;if(a&1){addInitializedPropertyStatements(c,i,a&128?e.getInternalName(t):e.getLocalName(t))}addClassElementDecorationStatements(c,t,false);addClassElementDecorationStatements(c,t,true);addConstructorDecorationStatement(c,t);if(a&128){var u=e.createTokenRange(e.skipTrivia(g.text,t.members.end),19);var l=e.getInternalName(t);var f=e.createPartiallyEmittedExpression(l);f.end=u.end;e.setEmitFlags(f,1536);var d=e.createReturn(f);d.pos=u.pos;e.setEmitFlags(d,1536|384);c.push(d);e.addStatementsAfterPrologue(c,r.endLexicalEnvironment());var p=e.createImmediatelyInvokedArrowFunction(c);e.setEmitFlags(p,33554432);var _=e.createVariableStatement(undefined,e.createVariableDeclarationList([e.createVariableDeclaration(e.getLocalName(t,false,false),undefined,p)]));e.setOriginalNode(_,t);e.setCommentRange(_,t);e.setSourceMapRange(_,e.moveRangePastDecorators(t));e.startOnNewLine(_);c=[_]}if(a&8){addExportMemberAssignment(c,t)}else if(a&128||a&2){if(a&32){c.push(e.createExportDefault(e.getLocalName(t,false,true)))}else if(a&16){c.push(e.createExternalModuleExport(e.getLocalName(t,false,true)))}}if(c.length>1){c.push(e.createEndOfDeclarationMarker(t));e.setEmitFlags(s,e.getEmitFlags(s)|4194304)}return e.singleOrMany(c)}function createClassDeclarationHeadWithoutDecorators(t,r,n){var i=!(n&128)?e.visitNodes(t.modifiers,modifierVisitor,e.isModifier):undefined;var a=e.createClassDeclaration(undefined,i,r,undefined,e.visitNodes(t.heritageClauses,visitor,e.isHeritageClause),transformClassMembers(t,(n&64)!==0));var o=e.getEmitFlags(t);if(n&1){o|=32}e.setTextRange(a,t);e.setOriginalNode(a,t);e.setEmitFlags(a,o);return a}function createClassDeclarationHeadWithDecorators(t,r,n){var i=e.moveRangePastDecorators(t);var a=getClassAliasIfNeeded(t);var o=e.getLocalName(t,false,true);var s=e.visitNodes(t.heritageClauses,visitor,e.isHeritageClause);var c=transformClassMembers(t,(n&64)!==0);var u=e.createClassExpression(undefined,r,undefined,s,c);e.setOriginalNode(u,t);e.setTextRange(u,i);var l=e.createVariableStatement(undefined,e.createVariableDeclarationList([e.createVariableDeclaration(o,undefined,a?e.createAssignment(a,u):u)],1));e.setOriginalNode(l,t);e.setTextRange(l,i);e.setCommentRange(l,t);return l}function visitClassExpression(t){var r=x;x=undefined;var n=getInitializedProperties(t,true);var i=e.visitNodes(t.heritageClauses,visitor,e.isHeritageClause);var a=transformClassMembers(t,e.some(i,function(e){return e.token===86}));var c=e.createClassExpression(undefined,t.name,undefined,i,a);e.setOriginalNode(c,t);e.setTextRange(c,t);if(e.some(n)||e.some(x)){var u=[];var l=s.getNodeCheckFlags(t)&16777216;var f=e.createTempVariable(o,!!l);if(l){enableSubstitutionForClassAliases();var d=e.getSynthesizedClone(f);d.autoGenerateFlags&=~8;S[e.getOriginalNodeId(t)]=d}e.setEmitFlags(c,65536|e.getEmitFlags(c));u.push(e.startOnNewLine(e.createAssignment(f,c)));e.addRange(u,e.map(x,e.startOnNewLine));x=r;e.addRange(u,generateInitializedPropertyExpressions(n,f));u.push(e.startOnNewLine(f));return e.inlineExpressions(u)}x=r;return c}function transformClassMembers(t,r){var n=[];var i=transformConstructor(t,r);if(i){n.push(i)}e.addRange(n,e.visitNodes(t.members,classElementVisitor,e.isClassElement));return e.setTextRange(e.createNodeArray(n),t.members)}function transformConstructor(t,n){var i=e.getFirstConstructorWithBody(t);var a=e.forEach(t.members,isInstanceInitializedProperty);var o=i&&i.transformFlags&4096&&e.forEach(i.parameters,isParameterWithPropertyAssignment);if(!a&&!o){return e.visitEachChild(i,visitor,r)}var s=transformConstructorParameters(i);var c=transformConstructorBody(t,i,n);return e.startOnNewLine(e.setOriginalNode(e.setTextRange(e.createConstructor(undefined,undefined,s,c),i||t),i))}function transformConstructorParameters(t){return e.visitParameterList(t&&t.parameters,visitor,r)||[]}function transformConstructorBody(t,r,n){var o=[];var s=0;i();if(r){s=addPrologueDirectivesAndInitialSuperCall(r,o);var c=getParametersWithPropertyAssignments(r);e.addRange(o,e.map(c,transformParameterWithPropertyAssignment))}else if(n){o.push(e.createExpressionStatement(e.createCall(e.createSuper(),undefined,[e.createSpread(e.createIdentifier("arguments"))])))}var u=getInitializedProperties(t,false);addInitializedPropertyStatements(o,u,e.createThis());if(r){e.addRange(o,e.visitNodes(r.body.statements,visitor,e.isStatement,s))}o=e.mergeLexicalEnvironment(o,a());return e.setTextRange(e.createBlock(e.setTextRange(e.createNodeArray(o),r?r.body.statements:t.members),true),r?r.body:undefined)}function addPrologueDirectivesAndInitialSuperCall(t,r){if(t.body){var n=t.body.statements;var i=e.addPrologue(r,n,false,visitor);if(i===n.length){return i}var a=n[i];if(a.kind===221&&e.isSuperCall(a.expression)){r.push(e.visitNode(a,visitor,e.isStatement));return i+1}return i}return 0}function getParametersWithPropertyAssignments(t){return e.filter(t.parameters,isParameterWithPropertyAssignment)}function isParameterWithPropertyAssignment(t){return e.hasModifier(t,92)&&e.isIdentifier(t.name)}function transformParameterWithPropertyAssignment(t){e.Debug.assert(e.isIdentifier(t.name));var r=t.name;var n=e.getMutableClone(r);e.setEmitFlags(n,1536|48);var i=e.getMutableClone(r);e.setEmitFlags(i,1536);return e.startOnNewLine(e.setEmitFlags(e.setTextRange(e.createExpressionStatement(e.createAssignment(e.setTextRange(e.createPropertyAccess(e.createThis(),n),t.name),i)),e.moveRangePos(t,-1)),1536))}function getInitializedProperties(t,r){return e.filter(t.members,r?isStaticInitializedProperty:isInstanceInitializedProperty)}function isStaticInitializedProperty(e){return isInitializedProperty(e,true)}function isInstanceInitializedProperty(e){return isInitializedProperty(e,false)}function isInitializedProperty(t,r){return t.kind===154&&r===e.hasModifier(t,32)&&t.initializer!==undefined}function addInitializedPropertyStatements(t,r,n){for(var i=0,a=r;i0?n.kind===154?e.createVoidZero():e.createNull():undefined;var u=createDecorateHelper(r,a,o,s,c,e.moveRangePastDecorators(n));e.setEmitFlags(u,1536);return u}function addConstructorDecorationStatement(t,r){var n=generateConstructorDecorationExpression(r);if(n){t.push(e.setOriginalNode(e.createExpressionStatement(n),r))}}function generateConstructorDecorationExpression(t){var n=getAllDecoratorsOfConstructor(t);var i=transformAllDecoratorsOfDeclaration(t,t,n);if(!i){return undefined}var a=S&&S[e.getOriginalNodeId(t)];var o=e.getLocalName(t,false,true);var s=createDecorateHelper(r,i,o);var c=e.createAssignment(o,a?e.createAssignment(a,s):s);e.setEmitFlags(c,1536);e.setSourceMapRange(c,e.moveRangePastDecorators(t));return c}function transformDecorator(t){return e.visitNode(t.expression,visitor,e.isExpression)}function transformDecoratorsOfParameter(t,n){var i;if(t){i=[];for(var a=0,o=t;a= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n };'};function createMetadataHelper(t,r,n){t.requestEmitHelper(a);return e.createCall(e.getHelperName("__metadata"),undefined,[e.createLiteral(r),n])}var a={name:"typescript:metadata",scoped:false,priority:3,text:'\n var __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);\n };'};function createParamHelper(t,r,n,i){t.requestEmitHelper(o);return e.setTextRange(e.createCall(e.getHelperName("__param"),undefined,[e.createLiteral(n),r]),i)}var o={name:"typescript:param",scoped:false,priority:4,text:"\n var __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n };"}})(s||(s={}));var s;(function(e){var t;(function(e){e[e["AsyncMethodsWithSuper"]=1]="AsyncMethodsWithSuper"})(t||(t={}));function transformES2017(t){var r=t.resumeLexicalEnvironment,n=t.endLexicalEnvironment,i=t.hoistVariableDeclaration;var a=t.getEmitResolver();var o=t.getCompilerOptions();var s=e.getEmitScriptTarget(o);var c;var u=0;var l;var f;var d;var p=[];var g=t.onEmitNode;var _=t.onSubstituteNode;t.onEmitNode=onEmitNode;t.onSubstituteNode=onSubstituteNode;return e.chainBundle(transformSourceFile);function transformSourceFile(r){if(r.isDeclarationFile){return r}var n=e.visitEachChild(r,visitor,t);e.addEmitHelpers(n,t.readEmitHelpers());return n}function visitor(r){if((r.transformFlags&16)===0){return r}switch(r.kind){case 121:return undefined;case 201:return visitAwaitExpression(r);case 156:return visitMethodDeclaration(r);case 239:return visitFunctionDeclaration(r);case 196:return visitFunctionExpression(r);case 197:return visitArrowFunction(r);case 189:if(f&&e.isPropertyAccessExpression(r)&&r.expression.kind===98){f.set(r.name.escapedText,true)}return e.visitEachChild(r,visitor,t);case 190:if(f&&r.expression.kind===98){d=true}return e.visitEachChild(r,visitor,t);default:return e.visitEachChild(r,visitor,t)}}function asyncBodyVisitor(r){if(e.isNodeWithPossibleHoistedDeclaration(r)){switch(r.kind){case 219:return visitVariableStatementInAsyncBody(r);case 225:return visitForStatementInAsyncBody(r);case 226:return visitForInStatementInAsyncBody(r);case 227:return visitForOfStatementInAsyncBody(r);case 274:return visitCatchClauseInAsyncBody(r);case 218:case 232:case 246:case 271:case 272:case 235:case 223:case 224:case 222:case 231:case 233:return e.visitEachChild(r,asyncBodyVisitor,t);default:return e.Debug.assertNever(r,"Unhandled node.")}}return visitor(r)}function visitCatchClauseInAsyncBody(r){var n=e.createUnderscoreEscapedMap();recordDeclarationName(r.variableDeclaration,n);var i;n.forEach(function(t,r){if(l.has(r)){if(!i){i=e.cloneMap(l)}i.delete(r)}});if(i){var a=l;l=i;var o=e.visitEachChild(r,asyncBodyVisitor,t);l=a;return o}else{return e.visitEachChild(r,asyncBodyVisitor,t)}}function visitVariableStatementInAsyncBody(r){if(isVariableDeclarationListWithCollidingName(r.declarationList)){var n=visitVariableDeclarationListWithCollidingNames(r.declarationList,false);return n?e.createExpressionStatement(n):undefined}return e.visitEachChild(r,visitor,t)}function visitForInStatementInAsyncBody(t){return e.updateForIn(t,isVariableDeclarationListWithCollidingName(t.initializer)?visitVariableDeclarationListWithCollidingNames(t.initializer,true):e.visitNode(t.initializer,visitor,e.isForInitializer),e.visitNode(t.expression,visitor,e.isExpression),e.visitNode(t.statement,asyncBodyVisitor,e.isStatement,e.liftToBlock))}function visitForOfStatementInAsyncBody(t){return e.updateForOf(t,e.visitNode(t.awaitModifier,visitor,e.isToken),isVariableDeclarationListWithCollidingName(t.initializer)?visitVariableDeclarationListWithCollidingNames(t.initializer,true):e.visitNode(t.initializer,visitor,e.isForInitializer),e.visitNode(t.expression,visitor,e.isExpression),e.visitNode(t.statement,asyncBodyVisitor,e.isStatement,e.liftToBlock))}function visitForStatementInAsyncBody(t){var r=t.initializer;return e.updateFor(t,isVariableDeclarationListWithCollidingName(r)?visitVariableDeclarationListWithCollidingNames(r,false):e.visitNode(t.initializer,visitor,e.isForInitializer),e.visitNode(t.condition,visitor,e.isExpression),e.visitNode(t.incrementor,visitor,e.isExpression),e.visitNode(t.statement,asyncBodyVisitor,e.isStatement,e.liftToBlock))}function visitAwaitExpression(t){return e.setOriginalNode(e.setTextRange(e.createYield(undefined,e.visitNode(t.expression,visitor,e.isExpression)),t),t)}function visitMethodDeclaration(r){return e.updateMethod(r,undefined,e.visitNodes(r.modifiers,visitor,e.isModifier),r.asteriskToken,r.name,undefined,undefined,e.visitParameterList(r.parameters,visitor,t),undefined,e.getFunctionFlags(r)&2?transformAsyncFunctionBody(r):e.visitFunctionBody(r.body,visitor,t))}function visitFunctionDeclaration(r){return e.updateFunctionDeclaration(r,undefined,e.visitNodes(r.modifiers,visitor,e.isModifier),r.asteriskToken,r.name,undefined,e.visitParameterList(r.parameters,visitor,t),undefined,e.getFunctionFlags(r)&2?transformAsyncFunctionBody(r):e.visitFunctionBody(r.body,visitor,t))}function visitFunctionExpression(r){return e.updateFunctionExpression(r,e.visitNodes(r.modifiers,visitor,e.isModifier),r.asteriskToken,r.name,undefined,e.visitParameterList(r.parameters,visitor,t),undefined,e.getFunctionFlags(r)&2?transformAsyncFunctionBody(r):e.visitFunctionBody(r.body,visitor,t))}function visitArrowFunction(r){return e.updateArrowFunction(r,e.visitNodes(r.modifiers,visitor,e.isModifier),undefined,e.visitParameterList(r.parameters,visitor,t),undefined,r.equalsGreaterThanToken,e.getFunctionFlags(r)&2?transformAsyncFunctionBody(r):e.visitFunctionBody(r.body,visitor,t))}function recordDeclarationName(t,r){var n=t.name;if(e.isIdentifier(n)){r.set(n.escapedText,true)}else{for(var i=0,a=n.elements;i=2&&a.getNodeCheckFlags(i)&(4096|2048);if(E){enableSubstitutionForAsyncMethodsWithSuper();var D=createSuperAccessVariableStatement(a,i,f);p[e.getNodeId(D)]=true;e.addStatementsAfterPrologue(x,[D])}var k=e.createBlock(x,true);e.setTextRange(k,i.body);if(E&&d){if(a.getNodeCheckFlags(i)&4096){e.addEmitHelper(k,e.advancedAsyncSuperHelper)}else if(a.getNodeCheckFlags(i)&2048){e.addEmitHelper(k,e.asyncSuperHelper)}}b=k}else{var N=createAwaiterHelper(t,_,u,transformAsyncFunctionBodyWorker(i.body));var A=n();if(e.some(A)){var k=e.convertToFunctionBody(N);b=e.updateBlock(k,e.setTextRange(e.createNodeArray(e.concatenate(A,k.statements)),k.statements))}else{b=N}}l=m;f=T;d=S;return b}function transformAsyncFunctionBodyWorker(t,r){if(e.isBlock(t)){return e.updateBlock(t,e.visitNodes(t.statements,asyncBodyVisitor,e.isStatement,r))}else{return e.convertToFunctionBody(e.visitNode(t,asyncBodyVisitor,e.isConciseBody))}}function getPromiseConstructor(t){var r=t&&e.getEntityNameFromTypeNode(t);if(r&&e.isEntityName(r)){var n=a.getTypeReferenceSerializationKind(r);if(n===e.TypeReferenceSerializationKind.TypeWithConstructSignatureAndValue||n===e.TypeReferenceSerializationKind.Unknown){return r}}return undefined}function enableSubstitutionForAsyncMethodsWithSuper(){if((c&1)===0){c|=1;t.enableSubstitution(191);t.enableSubstitution(189);t.enableSubstitution(190);t.enableEmitNotification(240);t.enableEmitNotification(156);t.enableEmitNotification(158);t.enableEmitNotification(159);t.enableEmitNotification(157);t.enableEmitNotification(219)}}function onEmitNode(t,r,n){if(c&1&&isSuperContainer(r)){var i=a.getNodeCheckFlags(r)&(2048|4096);if(i!==u){var o=u;u=i;g(t,r,n);u=o;return}}else if(c&&p[e.getNodeId(r)]){var o=u;u=0;g(t,r,n);u=o;return}g(t,r,n)}function onSubstituteNode(e,t){t=_(e,t);if(e===1&&u){return substituteExpression(t)}return t}function substituteExpression(e){switch(e.kind){case 189:return substitutePropertyAccessExpression(e);case 190:return substituteElementAccessExpression(e);case 191:return substituteCallExpression(e)}return e}function substitutePropertyAccessExpression(t){if(t.expression.kind===98){return e.setTextRange(e.createPropertyAccess(e.createFileLevelUniqueName("_super"),t.name),t)}return t}function substituteElementAccessExpression(e){if(e.expression.kind===98){return createSuperElementAccessInAsyncMethod(e.argumentExpression,e)}return e}function substituteCallExpression(t){var r=t.expression;if(e.isSuperProperty(r)){var n=e.isPropertyAccessExpression(r)?substitutePropertyAccessExpression(r):substituteElementAccessExpression(r);return e.createCall(e.createPropertyAccess(n,"call"),undefined,[e.createThis()].concat(t.arguments))}return t}function isSuperContainer(e){var t=e.kind;return t===240||t===157||t===156||t===158||t===159}function createSuperElementAccessInAsyncMethod(t,r){if(u&4096){return e.setTextRange(e.createPropertyAccess(e.createCall(e.createFileLevelUniqueName("_superIndex"),undefined,[t]),"value"),r)}else{return e.setTextRange(e.createCall(e.createFileLevelUniqueName("_superIndex"),undefined,[t]),r)}}}e.transformES2017=transformES2017;function createSuperAccessVariableStatement(t,r,n){var i=(t.getNodeCheckFlags(r)&4096)!==0;var a=[];n.forEach(function(t,r){var n=e.unescapeLeadingUnderscores(r);var o=[];o.push(e.createPropertyAssignment("get",e.createArrowFunction(undefined,undefined,[],undefined,undefined,e.createPropertyAccess(e.createSuper(),n))));if(i){o.push(e.createPropertyAssignment("set",e.createArrowFunction(undefined,undefined,[e.createParameter(undefined,undefined,undefined,"v",undefined,undefined,undefined)],undefined,undefined,e.createAssignment(e.createPropertyAccess(e.createSuper(),n),e.createIdentifier("v")))))}a.push(e.createPropertyAssignment(n,e.createObjectLiteral(o)))});return e.createVariableStatement(undefined,e.createVariableDeclarationList([e.createVariableDeclaration(e.createFileLevelUniqueName("_super"),undefined,e.createCall(e.createPropertyAccess(e.createIdentifier("Object"),"create"),undefined,[e.createNull(),e.createObjectLiteral(a,true)]))],2))}e.createSuperAccessVariableStatement=createSuperAccessVariableStatement;var r={name:"typescript:awaiter",scoped:false,priority:5,text:'\n var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n };'};function createAwaiterHelper(t,n,i,a){t.requestEmitHelper(r);var o=e.createFunctionExpression(undefined,e.createToken(40),undefined,undefined,[],undefined,a);(o.emitNode||(o.emitNode={})).flags|=262144|524288;return e.createCall(e.getHelperName("__awaiter"),undefined,[e.createThis(),n?e.createIdentifier("arguments"):e.createVoidZero(),i?e.createExpressionFromEntityName(i):e.createVoidZero(),o])}e.asyncSuperHelper={name:"typescript:async-super",scoped:true,text:e.helperString(a(["\n const "," = name => super[name];"],["\n const "," = name => super[name];"]),"_superIndex")};e.advancedAsyncSuperHelper={name:"typescript:advanced-async-super",scoped:true,text:e.helperString(a(["\n const "," = (function (geti, seti) {\n const cache = Object.create(null);\n return name => cache[name] || (cache[name] = { get value() { return geti(name); }, set value(v) { seti(name, v); } });\n })(name => super[name], (name, value) => super[name] = value);"],["\n const "," = (function (geti, seti) {\n const cache = Object.create(null);\n return name => cache[name] || (cache[name] = { get value() { return geti(name); }, set value(v) { seti(name, v); } });\n })(name => super[name], (name, value) => super[name] = value);"]),"_superIndex")}})(s||(s={}));var s;(function(e){var t;(function(e){e[e["AsyncMethodsWithSuper"]=1]="AsyncMethodsWithSuper"})(t||(t={}));function transformESNext(t){var r=t.resumeLexicalEnvironment,n=t.endLexicalEnvironment,i=t.hoistVariableDeclaration;var a=t.getEmitResolver();var o=t.getCompilerOptions();var s=e.getEmitScriptTarget(o);var c=t.onEmitNode;t.onEmitNode=onEmitNode;var u=t.onSubstituteNode;t.onSubstituteNode=onSubstituteNode;var l;var f;var d=0;var p;var g;var _=[];return e.chainBundle(transformSourceFile);function transformSourceFile(r){if(r.isDeclarationFile){return r}var n=e.visitEachChild(r,visitor,t);e.addEmitHelpers(n,t.readEmitHelpers());return n}function visitor(e){return visitorWorker(e,false)}function visitorNoDestructuringValue(e){return visitorWorker(e,true)}function visitorNoAsyncModifier(e){if(e.kind===121){return undefined}return e}function visitorWorker(r,n){if((r.transformFlags&8)===0){return r}switch(r.kind){case 201:return visitAwaitExpression(r);case 207:return visitYieldExpression(r);case 230:return visitReturnStatement(r);case 233:return visitLabeledStatement(r);case 188:return visitObjectLiteralExpression(r);case 204:return visitBinaryExpression(r,n);case 237:return visitVariableDeclaration(r);case 227:return visitForOfStatement(r,undefined);case 225:return visitForStatement(r);case 200:return visitVoidExpression(r);case 157:return visitConstructorDeclaration(r);case 156:return visitMethodDeclaration(r);case 158:return visitGetAccessorDeclaration(r);case 159:return visitSetAccessorDeclaration(r);case 239:return visitFunctionDeclaration(r);case 196:return visitFunctionExpression(r);case 197:return visitArrowFunction(r);case 151:return visitParameter(r);case 221:return visitExpressionStatement(r);case 195:return visitParenthesizedExpression(r,n);case 274:return visitCatchClause(r);case 189:if(p&&e.isPropertyAccessExpression(r)&&r.expression.kind===98){p.set(r.name.escapedText,true)}return e.visitEachChild(r,visitor,t);case 190:if(p&&r.expression.kind===98){g=true}return e.visitEachChild(r,visitor,t);default:return e.visitEachChild(r,visitor,t)}}function visitAwaitExpression(r){if(f&2&&f&1){return e.setOriginalNode(e.setTextRange(e.createYield(createAwaitHelper(t,e.visitNode(r.expression,visitor,e.isExpression))),r),r)}return e.visitEachChild(r,visitor,t)}function visitYieldExpression(r){if(f&2&&f&1){if(r.asteriskToken){var n=e.visitNode(r.expression,visitor,e.isExpression);return e.setOriginalNode(e.setTextRange(e.createYield(createAwaitHelper(t,e.updateYield(r,r.asteriskToken,createAsyncDelegatorHelper(t,createAsyncValuesHelper(t,n,n),n)))),r),r)}return e.setOriginalNode(e.setTextRange(e.createYield(createDownlevelAwait(r.expression?e.visitNode(r.expression,visitor,e.isExpression):e.createVoidZero())),r),r)}return e.visitEachChild(r,visitor,t)}function visitReturnStatement(r){if(f&2&&f&1){return e.updateReturn(r,createDownlevelAwait(r.expression?e.visitNode(r.expression,visitor,e.isExpression):e.createVoidZero()))}return e.visitEachChild(r,visitor,t)}function visitLabeledStatement(r){if(f&2){var n=e.unwrapInnermostStatementOfLabel(r);if(n.kind===227&&n.awaitModifier){return visitForOfStatement(n,r)}return e.restoreEnclosingLabel(e.visitEachChild(n,visitor,t),r)}return e.visitEachChild(r,visitor,t)}function chunkObjectLiteralElements(t){var r;var n=[];for(var i=0,a=t;i=2&&a.getNodeCheckFlags(i)&(4096|2048);if(d){enableSubstitutionForAsyncMethodsWithSuper();var m=e.createSuperAccessVariableStatement(a,i,p);_[e.getNodeId(m)]=true;e.addStatementsAfterPrologue(o,[m])}o.push(f);e.addStatementsAfterPrologue(o,n());var y=e.updateBlock(i.body,o);if(d&&g){if(a.getNodeCheckFlags(i)&4096){e.addEmitHelper(y,e.advancedAsyncSuperHelper)}else if(a.getNodeCheckFlags(i)&2048){e.addEmitHelper(y,e.asyncSuperHelper)}}p=u;g=l;return y}function transformFunctionBody(t){r();var i=0;var a=[];var o=e.visitNode(t.body,visitor,e.isConciseBody);if(e.isBlock(o)){i=e.addPrologue(a,o.statements,false,visitor)}e.addRange(a,appendObjectRestAssignmentsIfNeeded(undefined,t));var s=n();if(i>0||e.some(a)||e.some(s)){var c=e.convertToFunctionBody(o,true);e.addStatementsAfterPrologue(a,s);e.addRange(a,c.statements.slice(i));return e.updateBlock(c,e.setTextRange(e.createNodeArray(a),c.statements))}return o}function appendObjectRestAssignmentsIfNeeded(r,n){for(var i=0,a=n.parameters;i=2){return e.createCall(e.createPropertyAccess(e.createIdentifier("Object"),"assign"),undefined,n)}t.requestEmitHelper(r);return e.createCall(e.getHelperName("__assign"),undefined,n)}e.createAssignHelper=createAssignHelper;var n={name:"typescript:await",scoped:false,text:"\n var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }"};function createAwaitHelper(t,r){t.requestEmitHelper(n);return e.createCall(e.getHelperName("__await"),undefined,[r])}var i={name:"typescript:asyncGenerator",scoped:false,text:'\n var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume("next", value); }\n function reject(value) { resume("throw", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n };'};function createAsyncGeneratorHelper(t,r){t.requestEmitHelper(n);t.requestEmitHelper(i);(r.emitNode||(r.emitNode={})).flags|=262144;return e.createCall(e.getHelperName("__asyncGenerator"),undefined,[e.createThis(),e.createIdentifier("arguments"),r])}var a={name:"typescript:asyncDelegator",scoped:false,text:'\n var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {\n var i, p;\n return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }\n };'};function createAsyncDelegatorHelper(t,r,i){t.requestEmitHelper(n);t.requestEmitHelper(a);return e.setTextRange(e.createCall(e.getHelperName("__asyncDelegator"),undefined,[r]),i)}var o={name:"typescript:asyncValues",scoped:false,text:'\n var __asyncValues = (this && this.__asyncValues) || function (o) {\n if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n };'};function createAsyncValuesHelper(t,r,n){t.requestEmitHelper(o);return e.setTextRange(e.createCall(e.getHelperName("__asyncValues"),undefined,[r]),n)}})(s||(s={}));var s;(function(e){function transformJsx(r){var n=r.getCompilerOptions();var i;return e.chainBundle(transformSourceFile);function transformSourceFile(t){if(t.isDeclarationFile){return t}i=t;var n=e.visitEachChild(t,visitor,r);e.addEmitHelpers(n,r.readEmitHelpers());return n}function visitor(e){if(e.transformFlags&4){return visitorWorker(e)}else{return e}}function visitorWorker(t){switch(t.kind){case 260:return visitJsxElement(t,false);case 261:return visitJsxSelfClosingElement(t,false);case 264:return visitJsxFragment(t,false);case 270:return visitJsxExpression(t);default:return e.visitEachChild(t,visitor,r)}}function transformJsxChildToExpression(t){switch(t.kind){case 11:return visitJsxText(t);case 270:return visitJsxExpression(t);case 260:return visitJsxElement(t,true);case 261:return visitJsxSelfClosingElement(t,true);case 264:return visitJsxFragment(t,true);default:return e.Debug.failBadSyntaxKind(t)}}function visitJsxElement(e,t){return visitJsxOpeningLikeElement(e.openingElement,e.children,t,e)}function visitJsxSelfClosingElement(e,t){return visitJsxOpeningLikeElement(e,undefined,t,e)}function visitJsxFragment(e,t){return visitJsxOpeningFragment(e.openingFragment,e.children,t,e)}function visitJsxOpeningLikeElement(t,a,o,s){var c=getTagName(t);var u;var l=t.attributes.properties;if(l.length===0){u=e.createNull()}else{var f=e.flatten(e.spanMap(l,e.isJsxSpreadAttribute,function(t,r){return r?e.map(t,transformJsxSpreadAttributeToExpression):e.createObjectLiteral(e.map(t,transformJsxAttributeToObjectLiteralElement))}));if(e.isJsxSpreadAttribute(l[0])){f.unshift(e.createObjectLiteral())}u=e.singleOrUndefined(f);if(!u){u=e.createAssignHelper(r,f)}}var d=e.createExpressionForJsxElement(r.getEmitResolver().getJsxFactoryEntity(i),n.reactNamespace,c,u,e.mapDefined(a,transformJsxChildToExpression),t,s);if(o){e.startOnNewLine(d)}return d}function visitJsxOpeningFragment(t,a,o,s){var c=e.createExpressionForJsxFragment(r.getEmitResolver().getJsxFactoryEntity(i),n.reactNamespace,e.mapDefined(a,transformJsxChildToExpression),t,s);if(o){e.startOnNewLine(c)}return c}function transformJsxSpreadAttributeToExpression(t){return e.visitNode(t.expression,visitor,e.isExpression)}function transformJsxAttributeToObjectLiteralElement(t){var r=getAttributeName(t);var n=transformJsxAttributeInitializer(t.initializer);return e.createPropertyAssignment(r,n)}function transformJsxAttributeInitializer(t){if(t===undefined){return e.createTrue()}else if(t.kind===10){var r=e.createLiteral(tryDecodeEntities(t.text)||t.text);r.singleQuote=t.singleQuote!==undefined?t.singleQuote:!e.isStringDoubleQuoted(t,i);return e.setTextRange(r,t)}else if(t.kind===270){if(t.expression===undefined){return e.createTrue()}return visitJsxExpression(t)}else{return e.Debug.failBadSyntaxKind(t)}}function visitJsxText(t){var r=fixupWhitespaceAndDecodeEntities(e.getTextOfNode(t,true));return r===undefined?undefined:e.createLiteral(r)}function fixupWhitespaceAndDecodeEntities(t){var r;var n=0;var i=-1;for(var a=0;a=0,"statementOffset not initialized correctly!")}var u=!!a&&e.skipOuterExpressions(a.expression).kind!==96;var l=declareOrCaptureOrReturnThisForConstructorIfNeeded(s,t,u,o,c);if(l===1||l===2){c++}if(t){if(l===1){d|=4096}e.addRange(s,e.visitNodes(t.body.statements,visitor,e.isStatement,c))}if(u&&l!==2&&!(t&&isSufficientlyCoveredByReturnStatements(t.body))){s.push(e.createReturn(e.createFileLevelUniqueName("_this")))}e.addStatementsAfterPrologue(s,i());if(t){prependCaptureNewTargetIfNeeded(s,t,false)}var f=e.createBlock(e.setTextRange(e.createNodeArray(s),t?t.body.statements:r.members),true);e.setTextRange(f,t?t.body:r);if(!t){e.setEmitFlags(f,1536)}return f}function isSufficientlyCoveredByReturnStatements(t){if(t.kind===230){return true}else if(t.kind===222){var r=t;if(r.elseStatement){return isSufficientlyCoveredByReturnStatements(r.thenStatement)&&isSufficientlyCoveredByReturnStatements(r.elseStatement)}}else if(t.kind===218){var n=e.lastOrUndefined(t.statements);if(n&&isSufficientlyCoveredByReturnStatements(n)){return true}}return false}function declareOrCaptureOrReturnThisForConstructorIfNeeded(t,r,n,i,a){if(!n){if(r){addCaptureThisForNodeIfNeeded(t,r)}return 0}if(!r){t.push(e.createReturn(createDefaultSuperCallOrThis()));return 2}if(i){captureThisForNode(t,r,createDefaultSuperCallOrThis());enableSubstitutionsForCapturedThis();return 1}var o;var s;var c=r.body.statements;if(a0){r.push(e.setEmitFlags(e.createVariableStatement(undefined,e.createVariableDeclarationList(e.flattenDestructuringBinding(n,visitor,t,0,o))),1048576))}else if(a){r.push(e.setEmitFlags(e.createExpressionStatement(e.createAssignment(o,e.visitNode(a,visitor,e.isExpression))),1048576))}}function addDefaultValueAssignmentForInitializer(t,r,n,i){i=e.visitNode(i,visitor,e.isExpression);var a=e.createIf(e.createTypeCheck(e.getSynthesizedClone(n),"undefined"),e.setEmitFlags(e.setTextRange(e.createBlock([e.createExpressionStatement(e.setEmitFlags(e.setTextRange(e.createAssignment(e.setEmitFlags(e.getMutableClone(n),48),e.setEmitFlags(i,48|e.getEmitFlags(i)|1536)),r),1536))]),r),1|32|384|1536));e.startOnNewLine(a);e.setTextRange(a,r);e.setEmitFlags(a,384|32|1048576|1536);t.push(a)}function shouldAddRestParameter(e,t){return e&&e.dotDotDotToken&&e.name.kind===72&&!t}function addRestParameterIfNeeded(t,r,n){var i=e.lastOrUndefined(r.parameters);if(!shouldAddRestParameter(i,n)){return}var a=e.getMutableClone(i.name);e.setEmitFlags(a,48);var o=e.getSynthesizedClone(i.name);var s=r.parameters.length-1;var c=e.createLoopVariable();t.push(e.setEmitFlags(e.setTextRange(e.createVariableStatement(undefined,e.createVariableDeclarationList([e.createVariableDeclaration(a,undefined,e.createArrayLiteral([]))])),i),1048576));var u=e.createFor(e.setTextRange(e.createVariableDeclarationList([e.createVariableDeclaration(c,undefined,e.createLiteral(s))]),i),e.setTextRange(e.createLessThan(c,e.createPropertyAccess(e.createIdentifier("arguments"),"length")),i),e.setTextRange(e.createPostfixIncrement(c),i),e.createBlock([e.startOnNewLine(e.setTextRange(e.createExpressionStatement(e.createAssignment(e.createElementAccess(o,s===0?c:e.createSubtract(c,e.createLiteral(s))),e.createElementAccess(e.createIdentifier("arguments"),c))),i))]));e.setEmitFlags(u,1048576);e.startOnNewLine(u);t.push(u)}function addCaptureThisForNodeIfNeeded(t,r){if(r.transformFlags&16384&&r.kind!==197){captureThisForNode(t,r,e.createThis())}}function captureThisForNode(t,r,n){enableSubstitutionsForCapturedThis();var i=e.createVariableStatement(undefined,e.createVariableDeclarationList([e.createVariableDeclaration(e.createFileLevelUniqueName("_this"),undefined,n)]));e.setEmitFlags(i,1536|1048576);e.setSourceMapRange(i,r);t.push(i)}function prependCaptureNewTargetIfNeeded(t,r,n){if(d&16384){var i=void 0;switch(r.kind){case 197:return t;case 156:case 158:case 159:i=e.createVoidZero();break;case 157:i=e.createPropertyAccess(e.setEmitFlags(e.createThis(),4),"constructor");break;case 239:case 196:i=e.createConditional(e.createLogicalAnd(e.setEmitFlags(e.createThis(),4),e.createBinary(e.setEmitFlags(e.createThis(),4),94,e.getLocalName(r))),e.createPropertyAccess(e.setEmitFlags(e.createThis(),4),"constructor"),e.createVoidZero());break;default:return e.Debug.failBadSyntaxKind(r)}var a=e.createVariableStatement(undefined,e.createVariableDeclarationList([e.createVariableDeclaration(e.createFileLevelUniqueName("_newTarget"),undefined,i)]));if(n){return[a].concat(t)}t.unshift(a)}return t}function addClassMembers(t,r){for(var n=0,i=r.members;n=t.end){return false}var i=e.getEnclosingBlockScopeContainer(t);while(n){if(n===i||n===t){return false}if(e.isClassElement(n)&&n.parent===t){return true}n=n.parent}return false}function substituteThisKeyword(t){if(_&1&&d&16){return e.setTextRange(e.createFileLevelUniqueName("_this"),t)}return t}function getClassMemberPrefix(t,r){return e.hasModifier(r,32)?e.getInternalName(t):e.createPropertyAccess(e.getInternalName(t),"prototype")}function hasSynthesizedDefaultSuperCall(t,r){if(!t||!r){return false}if(e.some(t.parameters)){return false}var n=e.firstOrUndefined(t.body.statements);if(!n||!e.nodeIsSynthesized(n)||n.kind!==221){return false}var i=n.expression;if(!e.nodeIsSynthesized(i)||i.kind!==191){return false}var a=i.expression;if(!e.nodeIsSynthesized(a)||a.kind!==98){return false}var o=e.singleOrUndefined(i.arguments);if(!o||!e.nodeIsSynthesized(o)||o.kind!==208){return false}var s=o.expression;return e.isIdentifier(s)&&s.escapedText==="arguments"}}e.transformES2015=transformES2015;function createExtendsHelper(t,r){t.requestEmitHelper(s);return e.createCall(e.getHelperName("__extends"),undefined,[r,e.createFileLevelUniqueName("_super")])}function createTemplateObjectHelper(t,r,n){t.requestEmitHelper(c);return e.createCall(e.getHelperName("__makeTemplateObject"),undefined,[r,n])}var s={name:"typescript:extends",scoped:false,priority:0,text:"\n var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n })();"};var c={name:"typescript:makeTemplateObject",scoped:false,priority:0,text:'\n var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n };'}})(s||(s={}));var s;(function(e){function transformES5(t){var r=t.getCompilerOptions();var n;var i;if(r.jsx===1||r.jsx===3){n=t.onEmitNode;t.onEmitNode=onEmitNode;t.enableEmitNotification(262);t.enableEmitNotification(263);t.enableEmitNotification(261);i=[]}var a=t.onSubstituteNode;t.onSubstituteNode=onSubstituteNode;t.enableSubstitution(189);t.enableSubstitution(275);return e.chainBundle(transformSourceFile);function transformSourceFile(e){return e}function onEmitNode(t,r,a){switch(r.kind){case 262:case 263:case 261:var o=r.tagName;i[e.getOriginalNodeId(o)]=true;break}n(t,r,a)}function onSubstituteNode(t,r){if(r.id&&i&&i[r.id]){return a(t,r)}r=a(t,r);if(e.isPropertyAccessExpression(r)){return substitutePropertyAccessExpression(r)}else if(e.isPropertyAssignment(r)){return substitutePropertyAssignment(r)}return r}function substitutePropertyAccessExpression(t){var r=trySubstituteReservedName(t.name);if(r){return e.setTextRange(e.createElementAccess(t.expression,r),t)}return t}function substitutePropertyAssignment(t){var r=e.isIdentifier(t.name)&&trySubstituteReservedName(t.name);if(r){return e.updatePropertyAssignment(t,r,t.initializer)}return t}function trySubstituteReservedName(t){var r=t.originalKeywordKind||(e.nodeIsSynthesized(t)?e.stringToToken(e.idText(t)):undefined);if(r!==undefined&&r>=73&&r<=108){return e.setTextRange(e.createLiteral(t),t)}return undefined}}e.transformES5=transformES5})(s||(s={}));var s;(function(e){var t;(function(e){e[e["Nop"]=0]="Nop";e[e["Statement"]=1]="Statement";e[e["Assign"]=2]="Assign";e[e["Break"]=3]="Break";e[e["BreakWhenTrue"]=4]="BreakWhenTrue";e[e["BreakWhenFalse"]=5]="BreakWhenFalse";e[e["Yield"]=6]="Yield";e[e["YieldStar"]=7]="YieldStar";e[e["Return"]=8]="Return";e[e["Throw"]=9]="Throw";e[e["Endfinally"]=10]="Endfinally"})(t||(t={}));var r;(function(e){e[e["Open"]=0]="Open";e[e["Close"]=1]="Close"})(r||(r={}));var n;(function(e){e[e["Exception"]=0]="Exception";e[e["With"]=1]="With";e[e["Switch"]=2]="Switch";e[e["Loop"]=3]="Loop";e[e["Labeled"]=4]="Labeled"})(n||(n={}));var i;(function(e){e[e["Try"]=0]="Try";e[e["Catch"]=1]="Catch";e[e["Finally"]=2]="Finally";e[e["Done"]=3]="Done"})(i||(i={}));var a;(function(e){e[e["Next"]=0]="Next";e[e["Throw"]=1]="Throw";e[e["Return"]=2]="Return";e[e["Break"]=3]="Break";e[e["Yield"]=4]="Yield";e[e["YieldStar"]=5]="YieldStar";e[e["Catch"]=6]="Catch";e[e["Endfinally"]=7]="Endfinally"})(a||(a={}));function getInstructionName(e){switch(e){case 2:return"return";case 3:return"break";case 4:return"yield";case 5:return"yield*";case 7:return"endfinally";default:return undefined}}function transformGenerators(t){var r=t.resumeLexicalEnvironment,n=t.endLexicalEnvironment,i=t.hoistFunctionDeclaration,a=t.hoistVariableDeclaration;var o=t.getCompilerOptions();var s=e.getEmitScriptTarget(o);var c=t.getEmitResolver();var u=t.onSubstituteNode;t.onSubstituteNode=onSubstituteNode;var l;var f;var d;var p;var g;var _;var m;var y;var h;var v;var T=1;var S;var b;var x;var C;var E=0;var D=0;var k;var N;var A;var O;var F;var P;var I;var w;return e.chainBundle(transformSourceFile);function transformSourceFile(r){if(r.isDeclarationFile||(r.transformFlags&512)===0){return r}var n=e.visitEachChild(r,visitor,t);e.addEmitHelpers(n,t.readEmitHelpers());return n}function visitor(r){var n=r.transformFlags;if(p){return visitJavaScriptInStatementContainingYield(r)}else if(d){return visitJavaScriptInGeneratorFunctionBody(r)}else if(n&256){return visitGenerator(r)}else if(n&512){return e.visitEachChild(r,visitor,t)}else{return r}}function visitJavaScriptInStatementContainingYield(e){switch(e.kind){case 223:return visitDoStatement(e);case 224:return visitWhileStatement(e);case 232:return visitSwitchStatement(e);case 233:return visitLabeledStatement(e);default:return visitJavaScriptInGeneratorFunctionBody(e)}}function visitJavaScriptInGeneratorFunctionBody(r){switch(r.kind){case 239:return visitFunctionDeclaration(r);case 196:return visitFunctionExpression(r);case 158:case 159:return visitAccessorDeclaration(r);case 219:return visitVariableStatement(r);case 225:return visitForStatement(r);case 226:return visitForInStatement(r);case 229:return visitBreakStatement(r);case 228:return visitContinueStatement(r);case 230:return visitReturnStatement(r);default:if(r.transformFlags&4194304){return visitJavaScriptContainingYield(r)}else if(r.transformFlags&(512|8388608)){return e.visitEachChild(r,visitor,t)}else{return r}}}function visitJavaScriptContainingYield(r){switch(r.kind){case 204:return visitBinaryExpression(r);case 205:return visitConditionalExpression(r);case 207:return visitYieldExpression(r);case 187:return visitArrayLiteralExpression(r);case 188:return visitObjectLiteralExpression(r);case 190:return visitElementAccessExpression(r);case 191:return visitCallExpression(r);case 192:return visitNewExpression(r);default:return e.visitEachChild(r,visitor,t)}}function visitGenerator(t){switch(t.kind){case 239:return visitFunctionDeclaration(t);case 196:return visitFunctionExpression(t);default:return e.Debug.failBadSyntaxKind(t)}}function visitFunctionDeclaration(r){if(r.asteriskToken){r=e.setOriginalNode(e.setTextRange(e.createFunctionDeclaration(undefined,r.modifiers,undefined,r.name,undefined,e.visitParameterList(r.parameters,visitor,t),undefined,transformGeneratorFunctionBody(r.body)),r),r)}else{var n=d;var a=p;d=false;p=false;r=e.visitEachChild(r,visitor,t);d=n;p=a}if(d){i(r);return undefined}else{return r}}function visitFunctionExpression(r){if(r.asteriskToken){r=e.setOriginalNode(e.setTextRange(e.createFunctionExpression(undefined,undefined,r.name,undefined,e.visitParameterList(r.parameters,visitor,t),undefined,transformGeneratorFunctionBody(r.body)),r),r)}else{var n=d;var i=p;d=false;p=false;r=e.visitEachChild(r,visitor,t);d=n;p=i}return r}function visitAccessorDeclaration(r){var n=d;var i=p;d=false;p=false;r=e.visitEachChild(r,visitor,t);d=n;p=i;return r}function transformGeneratorFunctionBody(t){var i=[];var a=d;var o=p;var s=g;var c=_;var u=m;var l=y;var f=h;var E=v;var D=T;var k=S;var N=b;var A=x;var O=C;d=true;p=false;g=undefined;_=undefined;m=undefined;y=undefined;h=undefined;v=undefined;T=1;S=undefined;b=undefined;x=undefined;C=e.createTempVariable(undefined);r();var F=e.addPrologue(i,t.statements,false,visitor);transformAndEmitStatements(t.statements,F);var P=build();e.addStatementsAfterPrologue(i,n());i.push(e.createReturn(P));d=a;p=o;g=s;_=c;m=u;y=l;h=f;v=E;T=D;S=k;b=N;x=A;C=O;return e.setTextRange(e.createBlock(i,t.multiLine),t)}function visitVariableStatement(t){if(t.transformFlags&4194304){transformAndEmitVariableDeclarationList(t.declarationList);return undefined}else{if(e.getEmitFlags(t)&1048576){return t}for(var r=0,n=t.declarationList.declarations;r=60&&e<=71}function getOperatorForCompoundAssignment(e){switch(e){case 60:return 38;case 61:return 39;case 62:return 40;case 63:return 41;case 64:return 42;case 65:return 43;case 66:return 46;case 67:return 47;case 68:return 48;case 69:return 49;case 70:return 50;case 71:return 51}}function visitRightAssociativeBinaryExpression(r){var n=r.left,i=r.right;if(containsYield(i)){var a=void 0;switch(n.kind){case 189:a=e.updatePropertyAccess(n,cacheExpression(e.visitNode(n.expression,visitor,e.isLeftHandSideExpression)),n.name);break;case 190:a=e.updateElementAccess(n,cacheExpression(e.visitNode(n.expression,visitor,e.isLeftHandSideExpression)),cacheExpression(e.visitNode(n.argumentExpression,visitor,e.isExpression)));break;default:a=e.visitNode(n,visitor,e.isExpression);break}var o=r.operatorToken.kind;if(isCompoundAssignment(o)){return e.setTextRange(e.createAssignment(a,e.setTextRange(e.createBinary(cacheExpression(a),getOperatorForCompoundAssignment(o),e.visitNode(i,visitor,e.isExpression)),r)),r)}else{return e.updateBinary(r,a,e.visitNode(i,visitor,e.isExpression))}}return e.visitEachChild(r,visitor,t)}function visitLeftAssociativeBinaryExpression(r){if(containsYield(r.right)){if(e.isLogicalOperator(r.operatorToken.kind)){return visitLogicalBinaryExpression(r)}else if(r.operatorToken.kind===27){return visitCommaExpression(r)}var n=e.getMutableClone(r);n.left=cacheExpression(e.visitNode(r.left,visitor,e.isExpression));n.right=e.visitNode(r.right,visitor,e.isExpression);return n}return e.visitEachChild(r,visitor,t)}function visitLogicalBinaryExpression(t){var r=defineLabel();var n=declareLocal();emitAssignment(n,e.visitNode(t.left,visitor,e.isExpression),t.left);if(t.operatorToken.kind===54){emitBreakWhenFalse(r,n,t.left)}else{emitBreakWhenTrue(r,n,t.left)}emitAssignment(n,e.visitNode(t.right,visitor,e.isExpression),t.right);markLabel(r);return n}function visitCommaExpression(t){var r=[];visit(t.left);visit(t.right);return e.inlineExpressions(r);function visit(t){if(e.isBinaryExpression(t)&&t.operatorToken.kind===27){visit(t.left);visit(t.right)}else{if(containsYield(t)&&r.length>0){emitWorker(1,[e.createExpressionStatement(e.inlineExpressions(r))]);r=[]}r.push(e.visitNode(t,visitor,e.isExpression))}}}function visitConditionalExpression(r){if(containsYield(r.whenTrue)||containsYield(r.whenFalse)){var n=defineLabel();var i=defineLabel();var a=declareLocal();emitBreakWhenFalse(n,e.visitNode(r.condition,visitor,e.isExpression),r.condition);emitAssignment(a,e.visitNode(r.whenTrue,visitor,e.isExpression),r.whenTrue);emitBreak(i);markLabel(n);emitAssignment(a,e.visitNode(r.whenFalse,visitor,e.isExpression),r.whenFalse);markLabel(i);return a}return e.visitEachChild(r,visitor,t)}function visitYieldExpression(r){var n=defineLabel();var i=e.visitNode(r.expression,visitor,e.isExpression);if(r.asteriskToken){var a=(e.getEmitFlags(r.expression)&8388608)===0?e.createValuesHelper(t,i,r):i;emitYieldStar(a,r)}else{emitYield(i,r)}markLabel(n);return createGeneratorResume(r)}function visitArrayLiteralExpression(e){return visitElements(e.elements,undefined,undefined,e.multiLine)}function visitElements(t,r,n,i){var a=countInitialNodesWithoutYield(t);var o;if(a>0){o=declareLocal();var s=e.visitNodes(t,visitor,e.isExpression,0,a);emitAssignment(o,e.createArrayLiteral(r?[r].concat(s):s));r=undefined}var c=e.reduceLeft(t,reduceElement,[],a);return o?e.createArrayConcat(o,[e.createArrayLiteral(c,i)]):e.setTextRange(e.createArrayLiteral(r?[r].concat(c):c,i),n);function reduceElement(t,n){if(containsYield(n)&&t.length>0){var a=o!==undefined;if(!o){o=declareLocal()}emitAssignment(o,a?e.createArrayConcat(o,[e.createArrayLiteral(t,i)]):e.createArrayLiteral(r?[r].concat(t):t,i));r=undefined;t=[]}t.push(e.visitNode(n,visitor,e.isExpression));return t}}function visitObjectLiteralExpression(t){var r=t.properties;var n=t.multiLine;var i=countInitialNodesWithoutYield(r);var a=declareLocal();emitAssignment(a,e.createObjectLiteral(e.visitNodes(r,visitor,e.isObjectLiteralElementLike,0,i),n));var o=e.reduceLeft(r,reduceProperty,[],i);o.push(n?e.startOnNewLine(e.getMutableClone(a)):a);return e.inlineExpressions(o);function reduceProperty(r,i){if(containsYield(i)&&r.length>0){emitStatement(e.createExpressionStatement(e.inlineExpressions(r)));r=[]}var o=e.createExpressionForObjectLiteralElementLike(t,i,a);var s=e.visitNode(o,visitor,e.isExpression);if(s){if(n){e.startOnNewLine(s)}r.push(s)}return r}}function visitElementAccessExpression(r){if(containsYield(r.argumentExpression)){var n=e.getMutableClone(r);n.expression=cacheExpression(e.visitNode(r.expression,visitor,e.isLeftHandSideExpression));n.argumentExpression=e.visitNode(r.argumentExpression,visitor,e.isExpression);return n}return e.visitEachChild(r,visitor,t)}function visitCallExpression(r){if(!e.isImportCall(r)&&e.forEach(r.arguments,containsYield)){var n=e.createCallBinding(r.expression,a,s,true),i=n.target,o=n.thisArg;return e.setOriginalNode(e.createFunctionApply(cacheExpression(e.visitNode(i,visitor,e.isLeftHandSideExpression)),o,visitElements(r.arguments),r),r)}return e.visitEachChild(r,visitor,t)}function visitNewExpression(r){if(e.forEach(r.arguments,containsYield)){var n=e.createCallBinding(e.createPropertyAccess(r.expression,"bind"),a),i=n.target,o=n.thisArg;return e.setOriginalNode(e.setTextRange(e.createNew(e.createFunctionApply(cacheExpression(e.visitNode(i,visitor,e.isExpression)),o,visitElements(r.arguments,e.createVoidZero())),undefined,[]),r),r)}return e.visitEachChild(r,visitor,t)}function transformAndEmitStatements(e,t){if(t===void 0){t=0}var r=e.length;for(var n=t;n0){break}l.push(transformInitializedVariable(i))}if(l.length){emitStatement(e.createExpressionStatement(e.inlineExpressions(l)));u+=l.length;l=[]}}return undefined}function transformInitializedVariable(t){return e.setSourceMapRange(e.createAssignment(e.setSourceMapRange(e.getSynthesizedClone(t.name),t.name),e.visitNode(t.initializer,visitor,e.isExpression)),t)}function transformAndEmitIfStatement(t){if(containsYield(t)){if(containsYield(t.thenStatement)||containsYield(t.elseStatement)){var r=defineLabel();var n=t.elseStatement?defineLabel():undefined;emitBreakWhenFalse(t.elseStatement?n:r,e.visitNode(t.expression,visitor,e.isExpression),t.expression);transformAndEmitEmbeddedStatement(t.thenStatement);if(t.elseStatement){emitBreak(r);markLabel(n);transformAndEmitEmbeddedStatement(t.elseStatement)}markLabel(r)}else{emitStatement(e.visitNode(t,visitor,e.isStatement))}}else{emitStatement(e.visitNode(t,visitor,e.isStatement))}}function transformAndEmitDoStatement(t){if(containsYield(t)){var r=defineLabel();var n=defineLabel();beginLoopBlock(r);markLabel(n);transformAndEmitEmbeddedStatement(t.statement);markLabel(r);emitBreakWhenTrue(n,e.visitNode(t.expression,visitor,e.isExpression));endLoopBlock()}else{emitStatement(e.visitNode(t,visitor,e.isStatement))}}function visitDoStatement(r){if(p){beginScriptLoopBlock();r=e.visitEachChild(r,visitor,t);endLoopBlock();return r}else{return e.visitEachChild(r,visitor,t)}}function transformAndEmitWhileStatement(t){if(containsYield(t)){var r=defineLabel();var n=beginLoopBlock(r);markLabel(r);emitBreakWhenFalse(n,e.visitNode(t.expression,visitor,e.isExpression));transformAndEmitEmbeddedStatement(t.statement);emitBreak(r);endLoopBlock()}else{emitStatement(e.visitNode(t,visitor,e.isStatement))}}function visitWhileStatement(r){if(p){beginScriptLoopBlock();r=e.visitEachChild(r,visitor,t);endLoopBlock();return r}else{return e.visitEachChild(r,visitor,t)}}function transformAndEmitForStatement(t){if(containsYield(t)){var r=defineLabel();var n=defineLabel();var i=beginLoopBlock(n);if(t.initializer){var a=t.initializer;if(e.isVariableDeclarationList(a)){transformAndEmitVariableDeclarationList(a)}else{emitStatement(e.setTextRange(e.createExpressionStatement(e.visitNode(a,visitor,e.isExpression)),a))}}markLabel(r);if(t.condition){emitBreakWhenFalse(i,e.visitNode(t.condition,visitor,e.isExpression))}transformAndEmitEmbeddedStatement(t.statement);markLabel(n);if(t.incrementor){emitStatement(e.setTextRange(e.createExpressionStatement(e.visitNode(t.incrementor,visitor,e.isExpression)),t.incrementor))}emitBreak(r);endLoopBlock()}else{emitStatement(e.visitNode(t,visitor,e.isStatement))}}function visitForStatement(r){if(p){beginScriptLoopBlock()}var n=r.initializer;if(n&&e.isVariableDeclarationList(n)){for(var i=0,o=n.declarations;i0?e.inlineExpressions(e.map(c,transformInitializedVariable)):undefined,e.visitNode(r.condition,visitor,e.isExpression),e.visitNode(r.incrementor,visitor,e.isExpression),e.visitNode(r.statement,visitor,e.isStatement,e.liftToBlock))}else{r=e.visitEachChild(r,visitor,t)}if(p){endLoopBlock()}return r}function transformAndEmitForInStatement(t){if(containsYield(t)){var r=declareLocal();var n=declareLocal();var i=e.createLoopVariable();var o=t.initializer;a(i);emitAssignment(r,e.createArrayLiteral());emitStatement(e.createForIn(n,e.visitNode(t.expression,visitor,e.isExpression),e.createExpressionStatement(e.createCall(e.createPropertyAccess(r,"push"),undefined,[n]))));emitAssignment(i,e.createLiteral(0));var s=defineLabel();var c=defineLabel();var u=beginLoopBlock(c);markLabel(s);emitBreakWhenFalse(u,e.createLessThan(i,e.createPropertyAccess(r,"length")));var l=void 0;if(e.isVariableDeclarationList(o)){for(var f=0,d=o.declarations;f0){emitBreak(r,t)}else{emitStatement(t)}}function visitContinueStatement(r){if(p){var n=findContinueTarget(r.label&&e.idText(r.label));if(n>0){return createInlineBreak(n,r)}}return e.visitEachChild(r,visitor,t)}function transformAndEmitBreakStatement(t){var r=findBreakTarget(t.label?e.idText(t.label):undefined);if(r>0){emitBreak(r,t)}else{emitStatement(t)}}function visitBreakStatement(r){if(p){var n=findBreakTarget(r.label&&e.idText(r.label));if(n>0){return createInlineBreak(n,r)}}return e.visitEachChild(r,visitor,t)}function transformAndEmitReturnStatement(t){emitReturn(e.visitNode(t.expression,visitor,e.isExpression),t)}function visitReturnStatement(t){return createInlineReturn(e.visitNode(t.expression,visitor,e.isExpression),t)}function transformAndEmitWithStatement(t){if(containsYield(t)){beginWithBlock(cacheExpression(e.visitNode(t.expression,visitor,e.isExpression)));transformAndEmitEmbeddedStatement(t.statement);endWithBlock()}else{emitStatement(e.visitNode(t,visitor,e.isStatement))}}function transformAndEmitSwitchStatement(t){if(containsYield(t.caseBlock)){var r=t.caseBlock;var n=r.clauses.length;var i=beginSwitchBlock();var a=cacheExpression(e.visitNode(t.expression,visitor,e.isExpression));var o=[];var s=-1;for(var c=0;c0){break}f.push(e.createCaseClause(e.visitNode(u.expression,visitor,e.isExpression),[createInlineBreak(o[c],u.expression)]))}else{d++}}if(f.length){emitStatement(e.createSwitch(a,e.createCaseBlock(f)));l+=f.length;f=[]}if(d>0){l+=d;d=0}}if(s>=0){emitBreak(o[s])}else{emitBreak(i)}for(var c=0;c=0;r--){var n=y[r];if(supportsLabeledBreakOrContinue(n)){if(n.labelText===e){return true}}else{break}}return false}function findBreakTarget(e){if(y){if(e){for(var t=y.length-1;t>=0;t--){var r=y[t];if(supportsLabeledBreakOrContinue(r)&&r.labelText===e){return r.breakLabel}else if(supportsUnlabeledBreak(r)&&hasImmediateContainingLabeledBlock(e,t-1)){return r.breakLabel}}}else{for(var t=y.length-1;t>=0;t--){var r=y[t];if(supportsUnlabeledBreak(r)){return r.breakLabel}}}}return 0}function findContinueTarget(e){if(y){if(e){for(var t=y.length-1;t>=0;t--){var r=y[t];if(supportsUnlabeledContinue(r)&&hasImmediateContainingLabeledBlock(e,t-1)){return r.continueLabel}}}else{for(var t=y.length-1;t>=0;t--){var r=y[t];if(supportsUnlabeledContinue(r)){return r.continueLabel}}}}return 0}function createLabel(t){if(t!==undefined&&t>0){if(v===undefined){v=[]}var r=e.createLiteral(-1);if(v[t]===undefined){v[t]=[r]}else{v[t].push(r)}return r}return e.createOmittedExpression()}function createInstruction(t){var r=e.createLiteral(t);e.addSyntheticTrailingComment(r,3,getInstructionName(t));return r}function createInlineBreak(t,r){e.Debug.assertLessThan(0,t,"Invalid label");return e.setTextRange(e.createReturn(e.createArrayLiteral([createInstruction(3),createLabel(t)])),r)}function createInlineReturn(t,r){return e.setTextRange(e.createReturn(e.createArrayLiteral(t?[createInstruction(2),t]:[createInstruction(2)])),r)}function createGeneratorResume(t){return e.setTextRange(e.createCall(e.createPropertyAccess(C,"sent"),undefined,[]),t)}function emitNop(){emitWorker(0)}function emitStatement(e){if(e){emitWorker(1,[e])}else{emitNop()}}function emitAssignment(e,t,r){emitWorker(2,[e,t],r)}function emitBreak(e,t){emitWorker(3,[e],t)}function emitBreakWhenTrue(e,t,r){emitWorker(4,[e,t],r)}function emitBreakWhenFalse(e,t,r){emitWorker(5,[e,t],r)}function emitYieldStar(e,t){emitWorker(7,[e],t)}function emitYield(e,t){emitWorker(6,[e],t)}function emitReturn(e,t){emitWorker(8,[e],t)}function emitThrow(e,t){emitWorker(9,[e],t)}function emitEndfinally(){emitWorker(10)}function emitWorker(e,t,r){if(S===undefined){S=[];b=[];x=[]}if(h===undefined){markLabel(defineLabel())}var n=S.length;S[n]=e;b[n]=t;x[n]=r}function build(){E=0;D=0;k=undefined;N=false;A=false;O=undefined;F=undefined;P=undefined;I=undefined;w=undefined;var r=buildStatements();return createGeneratorHelper(t,e.setEmitFlags(e.createFunctionExpression(undefined,undefined,undefined,undefined,[e.createParameter(undefined,undefined,undefined,C)],undefined,e.createBlock(r,r.length>0)),524288))}function buildStatements(){if(S){for(var t=0;t=0;r--){var n=w[r];F=[e.createWith(n.expression,e.createBlock(F))]}}if(I){var i=I.startLabel,a=I.catchLabel,o=I.finallyLabel,s=I.endLabel;F.unshift(e.createExpressionStatement(e.createCall(e.createPropertyAccess(e.createPropertyAccess(C,"trys"),"push"),undefined,[e.createArrayLiteral([createLabel(i),createLabel(a),createLabel(o),createLabel(s)])])));I=undefined}if(t){F.push(e.createExpressionStatement(e.createAssignment(e.createPropertyAccess(C,"label"),e.createLiteral(D+1))))}}O.push(e.createCaseClause(e.createLiteral(D),F||[]));F=undefined}function tryEnterLabel(e){if(!h){return}for(var t=0;t 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n };'}})(s||(s={}));var s;(function(e){function transformModule(a){function getTransformModuleDelegate(t){switch(t){case e.ModuleKind.AMD:return transformAMDModule;case e.ModuleKind.UMD:return transformUMDModule;default:return transformCommonJSModule}}var o=a.startLexicalEnvironment,s=a.endLexicalEnvironment,c=a.hoistVariableDeclaration;var u=a.getCompilerOptions();var l=a.getEmitResolver();var f=a.getEmitHost();var d=e.getEmitScriptTarget(u);var p=e.getEmitModuleKind(u);var g=a.onSubstituteNode;var _=a.onEmitNode;a.onSubstituteNode=onSubstituteNode;a.onEmitNode=onEmitNode;a.enableSubstitution(72);a.enableSubstitution(204);a.enableSubstitution(202);a.enableSubstitution(203);a.enableSubstitution(276);a.enableEmitNotification(279);var m=[];var y=[];var h;var v;var T;var S;return e.chainBundle(transformSourceFile);function transformSourceFile(t){if(t.isDeclarationFile||!(e.isEffectiveExternalModule(t,u)||t.transformFlags&16777216||e.isJsonSourceFile(t)&&e.hasJsonModuleEmitEnabled(u)&&(u.out||u.outFile))){return t}h=t;v=e.collectExternalModuleInfo(t,l,u);m[e.getOriginalNodeId(t)]=v;var r=getTransformModuleDelegate(p);var n=r(t);h=undefined;v=undefined;S=false;return e.aggregateTransformFlags(n)}function shouldEmitUnderscoreUnderscoreESModule(){if(!v.exportEquals&&e.isExternalModule(h)){return true}return false}function transformCommonJSModule(r){o();var n=[];var i=e.getStrictOptionValue(u,"alwaysStrict")||!u.noImplicitUseStrict&&e.isExternalModule(h);var c=e.addPrologue(n,r.statements,i,sourceElementVisitor);if(shouldEmitUnderscoreUnderscoreESModule()){e.append(n,createUnderscoreUnderscoreESModule())}e.append(n,e.visitNode(v.externalHelpersImportDeclaration,sourceElementVisitor,e.isStatement));e.addRange(n,e.visitNodes(r.statements,sourceElementVisitor,e.isStatement,c));addExportEqualsIfNeeded(n,false);e.addStatementsAfterPrologue(n,s());var l=e.updateSourceFileNode(r,e.setTextRange(e.createNodeArray(n),r.statements));if(v.hasExportStarsToExportValues&&!u.importHelpers){e.addEmitHelper(l,t)}e.addEmitHelpers(l,a.readEmitHelpers());return l}function transformAMDModule(t){var r=e.createIdentifier("define");var n=e.tryGetModuleNameFromFile(t,f,u);var i=e.isJsonSourceFile(t)&&t;var o=collectAsynchronousDependencies(t,true),s=o.aliasedModuleNames,c=o.unaliasedModuleNames,l=o.importAliasNames;var d=e.updateSourceFileNode(t,e.setTextRange(e.createNodeArray([e.createExpressionStatement(e.createCall(r,undefined,(n?[n]:[]).concat([e.createArrayLiteral(i?e.emptyArray:[e.createLiteral("require"),e.createLiteral("exports")].concat(s,c)),i?i.statements.length?i.statements[0].expression:e.createObjectLiteral():e.createFunctionExpression(undefined,undefined,undefined,undefined,[e.createParameter(undefined,undefined,undefined,"require"),e.createParameter(undefined,undefined,undefined,"exports")].concat(l),undefined,transformAsynchronousModuleBody(t))])))]),t.statements));e.addEmitHelpers(d,a.readEmitHelpers());return d}function transformUMDModule(t){var r=collectAsynchronousDependencies(t,false),n=r.aliasedModuleNames,i=r.unaliasedModuleNames,o=r.importAliasNames;var s=e.tryGetModuleNameFromFile(t,f,u);var c=e.createFunctionExpression(undefined,undefined,undefined,undefined,[e.createParameter(undefined,undefined,undefined,"factory")],undefined,e.setTextRange(e.createBlock([e.createIf(e.createLogicalAnd(e.createTypeCheck(e.createIdentifier("module"),"object"),e.createTypeCheck(e.createPropertyAccess(e.createIdentifier("module"),"exports"),"object")),e.createBlock([e.createVariableStatement(undefined,[e.createVariableDeclaration("v",undefined,e.createCall(e.createIdentifier("factory"),undefined,[e.createIdentifier("require"),e.createIdentifier("exports")]))]),e.setEmitFlags(e.createIf(e.createStrictInequality(e.createIdentifier("v"),e.createIdentifier("undefined")),e.createExpressionStatement(e.createAssignment(e.createPropertyAccess(e.createIdentifier("module"),"exports"),e.createIdentifier("v")))),1)]),e.createIf(e.createLogicalAnd(e.createTypeCheck(e.createIdentifier("define"),"function"),e.createPropertyAccess(e.createIdentifier("define"),"amd")),e.createBlock([e.createExpressionStatement(e.createCall(e.createIdentifier("define"),undefined,(s?[s]:[]).concat([e.createArrayLiteral([e.createLiteral("require"),e.createLiteral("exports")].concat(n,i)),e.createIdentifier("factory")])))])))],true),undefined));var l=e.updateSourceFileNode(t,e.setTextRange(e.createNodeArray([e.createExpressionStatement(e.createCall(c,undefined,[e.createFunctionExpression(undefined,undefined,undefined,undefined,[e.createParameter(undefined,undefined,undefined,"require"),e.createParameter(undefined,undefined,undefined,"exports")].concat(o),undefined,transformAsynchronousModuleBody(t))]))]),t.statements));e.addEmitHelpers(l,a.readEmitHelpers());return l}function collectAsynchronousDependencies(t,r){var n=[];var i=[];var a=[];for(var o=0,s=t.amdDependencies;o(e.isExportName(t)?1:0)}return false}function visitDestructuringAssignment(t){if(destructuringNeedsFlattening(t.left)){return e.flattenDestructuringAssignment(t,moduleExpressionElementVisitor,a,0,false,createAllExportExpressions)}return e.visitEachChild(t,moduleExpressionElementVisitor,a)}function visitImportCallExpression(t){var r=e.visitNode(e.firstOrUndefined(t.arguments),moduleExpressionElementVisitor);var n=!!(t.transformFlags&8192);switch(u.module){case e.ModuleKind.AMD:return createImportCallExpressionAMD(r,n);case e.ModuleKind.UMD:return createImportCallExpressionUMD(r,n);case e.ModuleKind.CommonJS:default:return createImportCallExpressionCommonJS(r,n)}}function createImportCallExpressionUMD(t,r){S=true;if(e.isSimpleCopiableExpression(t)){var n=e.isGeneratedIdentifier(t)?t:e.isStringLiteral(t)?e.createLiteral(t):e.setEmitFlags(e.setTextRange(e.getSynthesizedClone(t),t),1536);return e.createConditional(e.createIdentifier("__syncRequire"),createImportCallExpressionCommonJS(t,r),createImportCallExpressionAMD(n,r))}else{var i=e.createTempVariable(c);return e.createComma(e.createAssignment(i,t),e.createConditional(e.createIdentifier("__syncRequire"),createImportCallExpressionCommonJS(i,r),createImportCallExpressionAMD(i,r)))}}function createImportCallExpressionAMD(t,r){var i=e.createUniqueName("resolve");var o=e.createUniqueName("reject");var s=[e.createParameter(undefined,undefined,undefined,i),e.createParameter(undefined,undefined,undefined,o)];var c=e.createBlock([e.createExpressionStatement(e.createCall(e.createIdentifier("require"),undefined,[e.createArrayLiteral([t||e.createOmittedExpression()]),i,o]))]);var l;if(d>=2){l=e.createArrowFunction(undefined,undefined,s,undefined,undefined,c)}else{l=e.createFunctionExpression(undefined,undefined,undefined,undefined,s,undefined,c);if(r){e.setEmitFlags(l,8)}}var f=e.createNew(e.createIdentifier("Promise"),undefined,[l]);if(u.esModuleInterop){a.requestEmitHelper(n);return e.createCall(e.createPropertyAccess(f,e.createIdentifier("then")),undefined,[e.getHelperName("__importStar")])}return f}function createImportCallExpressionCommonJS(t,r){var i=e.createCall(e.createPropertyAccess(e.createIdentifier("Promise"),"resolve"),undefined,[]);var o=e.createCall(e.createIdentifier("require"),undefined,t?[t]:[]);if(u.esModuleInterop){a.requestEmitHelper(n);o=e.createCall(e.getHelperName("__importStar"),undefined,[o])}var s;if(d>=2){s=e.createArrowFunction(undefined,undefined,[],undefined,undefined,o)}else{s=e.createFunctionExpression(undefined,undefined,undefined,undefined,[],undefined,e.createBlock([e.createReturn(o)]));if(r){e.setEmitFlags(s,8)}}return e.createCall(e.createPropertyAccess(i,"then"),undefined,[s])}function getHelperExpressionForImport(t,r){if(!u.esModuleInterop||e.getEmitFlags(t)&67108864){return r}if(e.getImportNeedsImportStarHelper(t)){a.requestEmitHelper(n);return e.createCall(e.getHelperName("__importStar"),undefined,[r])}if(e.getImportNeedsImportDefaultHelper(t)){a.requestEmitHelper(i);return e.createCall(e.getHelperName("__importDefault"),undefined,[r])}return r}function visitImportDeclaration(t){var r;var n=e.getNamespaceDeclarationNode(t);if(p!==e.ModuleKind.AMD){if(!t.importClause){return e.setOriginalNode(e.setTextRange(e.createExpressionStatement(createRequireCall(t)),t),t)}else{var i=[];if(n&&!e.isDefaultImport(t)){i.push(e.createVariableDeclaration(e.getSynthesizedClone(n.name),undefined,getHelperExpressionForImport(t,createRequireCall(t))))}else{i.push(e.createVariableDeclaration(e.getGeneratedNameForNode(t),undefined,getHelperExpressionForImport(t,createRequireCall(t))));if(n&&e.isDefaultImport(t)){i.push(e.createVariableDeclaration(e.getSynthesizedClone(n.name),undefined,e.getGeneratedNameForNode(t)))}}r=e.append(r,e.setOriginalNode(e.setTextRange(e.createVariableStatement(undefined,e.createVariableDeclarationList(i,d>=2?2:0)),t),t))}}else if(n&&e.isDefaultImport(t)){r=e.append(r,e.createVariableStatement(undefined,e.createVariableDeclarationList([e.setOriginalNode(e.setTextRange(e.createVariableDeclaration(e.getSynthesizedClone(n.name),undefined,e.getGeneratedNameForNode(t)),t),t)],d>=2?2:0)))}if(hasAssociatedEndOfDeclarationMarker(t)){var a=e.getOriginalNodeId(t);y[a]=appendExportsOfImportDeclaration(y[a],t)}else{r=appendExportsOfImportDeclaration(r,t)}return e.singleOrMany(r)}function createRequireCall(t){var r=e.getExternalModuleNameLiteral(t,h,f,l,u);var n=[];if(r){n.push(r)}return e.createCall(e.createIdentifier("require"),undefined,n)}function visitImportEqualsDeclaration(t){e.Debug.assert(e.isExternalModuleImportEqualsDeclaration(t),"import= for internal module references should be handled in an earlier transformer.");var r;if(p!==e.ModuleKind.AMD){if(e.hasModifier(t,1)){r=e.append(r,e.setOriginalNode(e.setTextRange(e.createExpressionStatement(createExportExpression(t.name,createRequireCall(t))),t),t))}else{r=e.append(r,e.setOriginalNode(e.setTextRange(e.createVariableStatement(undefined,e.createVariableDeclarationList([e.createVariableDeclaration(e.getSynthesizedClone(t.name),undefined,createRequireCall(t))],d>=2?2:0)),t),t))}}else{if(e.hasModifier(t,1)){r=e.append(r,e.setOriginalNode(e.setTextRange(e.createExpressionStatement(createExportExpression(e.getExportName(t),e.getLocalName(t))),t),t))}}if(hasAssociatedEndOfDeclarationMarker(t)){var n=e.getOriginalNodeId(t);y[n]=appendExportsOfImportEqualsDeclaration(y[n],t)}else{r=appendExportsOfImportEqualsDeclaration(r,t)}return e.singleOrMany(r)}function visitExportDeclaration(t){if(!t.moduleSpecifier){return undefined}var r=e.getGeneratedNameForNode(t);if(t.exportClause){var n=[];if(p!==e.ModuleKind.AMD){n.push(e.setOriginalNode(e.setTextRange(e.createVariableStatement(undefined,e.createVariableDeclarationList([e.createVariableDeclaration(r,undefined,createRequireCall(t))])),t),t))}for(var i=0,o=t.exportClause.elements;i1){var i=n.slice(1);var o=e.guessIndentation(i);r=[n[0]].concat(e.map(i,function(e){return e.slice(o)})).join(C)}e.addSyntheticLeadingComment(a,t.kind,r,t.hasTrailingNewLine)}};for(var c=0,u=o;c0?e.parameters[0].type:undefined}}function canHaveLiteralInitializer(t){switch(t.kind){case 154:case 153:return!e.hasModifier(t,8);case 151:case 237:return true}return false}function isPreservedDeclarationStatement(e){switch(e.kind){case 239:case 244:case 248:case 241:case 240:case 242:case 243:case 219:case 249:case 255:case 254:return true}return false}function isProcessedComponent(e){switch(e.kind){case 161:case 157:case 156:case 158:case 159:case 154:case 153:case 155:case 160:case 162:case 237:case 150:case 211:case 164:case 175:case 165:case 166:case 183:return true}return false}})(s||(s={}));var s;(function(e){function getModuleTransformer(t){switch(t){case e.ModuleKind.ESNext:case e.ModuleKind.ES2015:return e.transformES2015Module;case e.ModuleKind.System:return e.transformSystemModule;default:return e.transformModule}}var t;(function(e){e[e["Uninitialized"]=0]="Uninitialized";e[e["Initialized"]=1]="Initialized";e[e["Completed"]=2]="Completed";e[e["Disposed"]=3]="Disposed"})(t||(t={}));var r;(function(e){e[e["Substitution"]=1]="Substitution";e[e["EmitNotifications"]=2]="EmitNotifications"})(r||(r={}));function getTransformers(t,r){var n=t.jsx;var i=e.getEmitScriptTarget(t);var a=e.getEmitModuleKind(t);var o=[];e.addRange(o,r&&r.before);o.push(e.transformTypeScript);if(n===2){o.push(e.transformJsx)}if(i<6){o.push(e.transformESNext)}if(i<4){o.push(e.transformES2017)}if(i<3){o.push(e.transformES2016)}if(i<2){o.push(e.transformES2015);o.push(e.transformGenerators)}o.push(getModuleTransformer(a));if(i<1){o.push(e.transformES5)}e.addRange(o,r&&r.after);return o}e.getTransformers=getTransformers;function noEmitSubstitution(e,t){return t}e.noEmitSubstitution=noEmitSubstitution;function noEmitNotification(e,t,r){r(e,t)}e.noEmitNotification=noEmitNotification;function transformNodes(t,r,n,i,a,o){var s=new Array(312);var c;var u;var l=[];var f=[];var d=0;var p=false;var g;var _=noEmitSubstitution;var m=noEmitNotification;var y=0;var h=[];var v={getCompilerOptions:function(){return n},getEmitResolver:function(){return t},getEmitHost:function(){return r},startLexicalEnvironment:startLexicalEnvironment,suspendLexicalEnvironment:suspendLexicalEnvironment,resumeLexicalEnvironment:resumeLexicalEnvironment,endLexicalEnvironment:endLexicalEnvironment,hoistVariableDeclaration:hoistVariableDeclaration,hoistFunctionDeclaration:hoistFunctionDeclaration,requestEmitHelper:requestEmitHelper,readEmitHelpers:readEmitHelpers,enableSubstitution:enableSubstitution,enableEmitNotification:enableEmitNotification,isSubstitutionEnabled:isSubstitutionEnabled,isEmitNotificationEnabled:isEmitNotificationEnabled,get onSubstituteNode(){return _},set onSubstituteNode(t){e.Debug.assert(y<1,"Cannot modify transformation hooks after initialization has completed.");e.Debug.assert(t!==undefined,"Value must not be 'undefined'");_=t},get onEmitNode(){return m},set onEmitNode(t){e.Debug.assert(y<1,"Cannot modify transformation hooks after initialization has completed.");e.Debug.assert(t!==undefined,"Value must not be 'undefined'");m=t},addDiagnostic:function(e){h.push(e)}};for(var T=0,S=i;T0,"Cannot modify the lexical environment during initialization.");e.Debug.assert(y<2,"Cannot modify the lexical environment after transformation has completed.");var r=e.setEmitFlags(e.createVariableDeclaration(t),64);if(!c){c=[r]}else{c.push(r)}}function hoistFunctionDeclaration(t){e.Debug.assert(y>0,"Cannot modify the lexical environment during initialization.");e.Debug.assert(y<2,"Cannot modify the lexical environment after transformation has completed.");if(!u){u=[t]}else{u.push(t)}}function startLexicalEnvironment(){e.Debug.assert(y>0,"Cannot modify the lexical environment during initialization.");e.Debug.assert(y<2,"Cannot modify the lexical environment after transformation has completed.");e.Debug.assert(!p,"Lexical environment is suspended.");l[d]=c;f[d]=u;d++;c=undefined;u=undefined}function suspendLexicalEnvironment(){e.Debug.assert(y>0,"Cannot modify the lexical environment during initialization.");e.Debug.assert(y<2,"Cannot modify the lexical environment after transformation has completed.");e.Debug.assert(!p,"Lexical environment is already suspended.");p=true}function resumeLexicalEnvironment(){e.Debug.assert(y>0,"Cannot modify the lexical environment during initialization.");e.Debug.assert(y<2,"Cannot modify the lexical environment after transformation has completed.");e.Debug.assert(p,"Lexical environment is not suspended.");p=false}function endLexicalEnvironment(){e.Debug.assert(y>0,"Cannot modify the lexical environment during initialization.");e.Debug.assert(y<2,"Cannot modify the lexical environment after transformation has completed.");e.Debug.assert(!p,"Lexical environment is suspended.");var t;if(c||u){if(u){t=u.slice()}if(c){var r=e.createVariableStatement(undefined,e.createVariableDeclarationList(c));if(!t){t=[r]}else{t.push(r)}}}d--;c=l[d];u=f[d];if(d===0){l=[];f=[]}return t}function requestEmitHelper(t){e.Debug.assert(y>0,"Cannot modify the transformation context during initialization.");e.Debug.assert(y<2,"Cannot modify the transformation context after transformation has completed.");e.Debug.assert(!t.scoped,"Cannot request a scoped emit helper.");g=e.append(g,t)}function readEmitHelpers(){e.Debug.assert(y>0,"Cannot modify the transformation context during initialization.");e.Debug.assert(y<2,"Cannot modify the transformation context after transformation has completed.");var t=g;g=undefined;return t}function dispose(){if(y<3){for(var t=0,r=i;t");writeSpace();emit(e.type);popNameGenerationScope(e)}function emitJSDocFunctionType(e){writeKeyword("function");emitParameters(e,e.parameters);writePunctuation(":");emit(e.type)}function emitJSDocNullableType(e){writePunctuation("?");emit(e.type)}function emitJSDocNonNullableType(e){writePunctuation("!");emit(e.type)}function emitJSDocOptionalType(e){emit(e.type);writePunctuation("=")}function emitConstructorType(e){pushNameGenerationScope(e);writeKeyword("new");writeSpace();emitTypeParameters(e,e.typeParameters);emitParameters(e,e.parameters);writeSpace();writePunctuation("=>");writeSpace();emit(e.type);popNameGenerationScope(e)}function emitTypeQuery(e){writeKeyword("typeof");writeSpace();emit(e.exprName)}function emitTypeLiteral(t){writePunctuation("{");var r=e.getEmitFlags(t)&1?768:32897;emitList(t,t.members,r|524288);writePunctuation("}")}function emitArrayType(e){emit(e.elementType);writePunctuation("[");writePunctuation("]")}function emitRestOrJSDocVariadicType(e){writePunctuation("...");emit(e.type)}function emitTupleType(e){writePunctuation("[");emitList(e,e.elementTypes,528);writePunctuation("]")}function emitOptionalType(e){emit(e.type);writePunctuation("?")}function emitUnionType(e){emitList(e,e.types,516)}function emitIntersectionType(e){emitList(e,e.types,520)}function emitConditionalType(e){emit(e.checkType);writeSpace();writeKeyword("extends");writeSpace();emit(e.extendsType);writeSpace();writePunctuation("?");writeSpace();emit(e.trueType);writeSpace();writePunctuation(":");writeSpace();emit(e.falseType)}function emitInferType(e){writeKeyword("infer");writeSpace();emit(e.typeParameter)}function emitParenthesizedType(e){writePunctuation("(");emit(e.type);writePunctuation(")")}function emitThisType(){writeKeyword("this")}function emitTypeOperator(e){writeTokenText(e.operator,writeKeyword);writeSpace();emit(e.type)}function emitIndexedAccessType(e){emit(e.objectType);writePunctuation("[");emit(e.indexType);writePunctuation("]")}function emitMappedType(t){var r=e.getEmitFlags(t);writePunctuation("{");if(r&1){writeSpace()}else{writeLine();increaseIndent()}if(t.readonlyToken){emit(t.readonlyToken);if(t.readonlyToken.kind!==133){writeKeyword("readonly")}writeSpace()}writePunctuation("[");var n=getPipelinePhase(0,t.typeParameter);n(3,t.typeParameter);writePunctuation("]");if(t.questionToken){emit(t.questionToken);if(t.questionToken.kind!==56){writePunctuation("?")}}writePunctuation(":");writeSpace();emit(t.type);writeTrailingSemicolon();if(r&1){writeSpace()}else{writeLine();decreaseIndent()}writePunctuation("}")}function emitLiteralType(e){emitExpression(e.literal)}function emitImportTypeNode(e){if(e.isTypeOf){writeKeyword("typeof");writeSpace()}writeKeyword("import");writePunctuation("(");emit(e.argument);writePunctuation(")");if(e.qualifier){writePunctuation(".");emit(e.qualifier)}emitTypeArguments(e,e.typeArguments)}function emitObjectBindingPattern(e){writePunctuation("{");emitList(e,e.elements,525136);writePunctuation("}")}function emitArrayBindingPattern(e){writePunctuation("[");emitList(e,e.elements,524880);writePunctuation("]")}function emitBindingElement(e){emit(e.dotDotDotToken);if(e.propertyName){emit(e.propertyName);writePunctuation(":");writeSpace()}emit(e.name);emitInitializer(e.initializer,e.name.end,e)}function emitArrayLiteralExpression(e){var t=e.elements;var r=e.multiLine?65536:0;emitExpressionList(e,t,8914|r)}function emitObjectLiteralExpression(t){e.forEach(t.properties,generateMemberNames);var r=e.getEmitFlags(t)&65536;if(r){increaseIndent()}var n=t.multiLine?65536:0;var i=y.languageVersion>=1&&!e.isJsonSourceFile(y)?64:0;emitList(t,t.properties,526226|i|n);if(r){decreaseIndent()}}function emitPropertyAccessExpression(t){var r=false;var n=false;if(!(e.getEmitFlags(t)&131072)){var i=t.expression.end;var a=e.skipTrivia(y.text,t.expression.end)+1;var o=e.createToken(24);o.pos=i;o.end=a;r=needsIndentation(t,t.expression,o);n=needsIndentation(t,o,t.name)}emitExpression(t.expression);increaseIndentIf(r,false);var s=!r&&needsDotDotForPropertyAccess(t.expression);if(s){writePunctuation(".")}emitTokenWithComment(24,t.expression.end,writePunctuation,t);increaseIndentIf(n,false);emit(t.name);decreaseIndentIf(r,n)}function needsDotDotForPropertyAccess(r){r=e.skipPartiallyEmittedExpressions(r);if(e.isNumericLiteral(r)){var n=getLiteralTextOfNode(r,true);return!r.numericLiteralFlags&&!e.stringContains(n,e.tokenToString(24))}else if(e.isPropertyAccessExpression(r)||e.isElementAccessExpression(r)){var i=e.getConstantValue(r);return typeof i==="number"&&isFinite(i)&&Math.floor(i)===i&&t.removeComments}}function emitElementAccessExpression(e){emitExpression(e.expression);emitTokenWithComment(22,e.expression.end,writePunctuation,e);emitExpression(e.argumentExpression);emitTokenWithComment(23,e.argumentExpression.end,writePunctuation,e)}function emitCallExpression(e){emitExpression(e.expression);emitTypeArguments(e,e.typeArguments);emitExpressionList(e,e.arguments,2576)}function emitNewExpression(e){emitTokenWithComment(95,e.pos,writeKeyword,e);writeSpace();emitExpression(e.expression);emitTypeArguments(e,e.typeArguments);emitExpressionList(e,e.arguments,18960)}function emitTaggedTemplateExpression(e){emitExpression(e.tag);emitTypeArguments(e,e.typeArguments);writeSpace();emitExpression(e.template)}function emitTypeAssertionExpression(e){writePunctuation("<");emit(e.type);writePunctuation(">");emitExpression(e.expression)}function emitParenthesizedExpression(e){var t=emitTokenWithComment(20,e.pos,writePunctuation,e);emitExpression(e.expression);emitTokenWithComment(21,e.expression?e.expression.end:t,writePunctuation,e)}function emitFunctionExpression(e){generateNameIfNeeded(e.name);emitFunctionDeclarationOrExpression(e)}function emitArrowFunction(e){emitDecorators(e,e.decorators);emitModifiers(e,e.modifiers);emitSignatureAndBody(e,emitArrowFunctionHead)}function emitArrowFunctionHead(e){emitTypeParameters(e,e.typeParameters);emitParametersForArrow(e,e.parameters);emitTypeAnnotation(e.type);writeSpace();emit(e.equalsGreaterThanToken)}function emitDeleteExpression(e){emitTokenWithComment(81,e.pos,writeKeyword,e);writeSpace();emitExpression(e.expression)}function emitTypeOfExpression(e){emitTokenWithComment(104,e.pos,writeKeyword,e);writeSpace();emitExpression(e.expression)}function emitVoidExpression(e){emitTokenWithComment(106,e.pos,writeKeyword,e);writeSpace();emitExpression(e.expression)}function emitAwaitExpression(e){emitTokenWithComment(122,e.pos,writeKeyword,e);writeSpace();emitExpression(e.expression)}function emitPrefixUnaryExpression(e){writeTokenText(e.operator,writeOperator);if(shouldEmitWhitespaceBeforeOperand(e)){writeSpace()}emitExpression(e.operand)}function shouldEmitWhitespaceBeforeOperand(e){var t=e.operand;return t.kind===202&&(e.operator===38&&(t.operator===38||t.operator===44)||e.operator===39&&(t.operator===39||t.operator===45))}function emitPostfixUnaryExpression(e){emitExpression(e.operand);writeTokenText(e.operator,writeOperator)}function emitBinaryExpression(e){var t=e.operatorToken.kind!==27;var r=needsIndentation(e,e.left,e.operatorToken);var n=needsIndentation(e,e.operatorToken,e.right);emitExpression(e.left);increaseIndentIf(r,t);emitLeadingCommentsOfPosition(e.operatorToken.pos);writeTokenNode(e.operatorToken,e.operatorToken.kind===93?writeKeyword:writeOperator);emitTrailingCommentsOfPosition(e.operatorToken.end,true);increaseIndentIf(n,true);emitExpression(e.right);decreaseIndentIf(r,n)}function emitConditionalExpression(e){var t=needsIndentation(e,e.condition,e.questionToken);var r=needsIndentation(e,e.questionToken,e.whenTrue);var n=needsIndentation(e,e.whenTrue,e.colonToken);var i=needsIndentation(e,e.colonToken,e.whenFalse);emitExpression(e.condition);increaseIndentIf(t,true);emit(e.questionToken);increaseIndentIf(r,true);emitExpression(e.whenTrue);decreaseIndentIf(t,r);increaseIndentIf(n,true);emit(e.colonToken);increaseIndentIf(i,true);emitExpression(e.whenFalse);decreaseIndentIf(n,i)}function emitTemplateExpression(e){emit(e.head);emitList(e,e.templateSpans,262144)}function emitYieldExpression(e){emitTokenWithComment(117,e.pos,writeKeyword,e);emit(e.asteriskToken);emitExpressionWithLeadingSpace(e.expression)}function emitSpreadExpression(e){emitTokenWithComment(25,e.pos,writePunctuation,e);emitExpression(e.expression)}function emitClassExpression(e){generateNameIfNeeded(e.name);emitClassDeclarationOrExpression(e)}function emitExpressionWithTypeArguments(e){emitExpression(e.expression);emitTypeArguments(e,e.typeArguments)}function emitAsExpression(e){emitExpression(e.expression);if(e.type){writeSpace();writeKeyword("as");writeSpace();emit(e.type)}}function emitNonNullExpression(e){emitExpression(e.expression);writeOperator("!")}function emitMetaProperty(e){writeToken(e.keywordToken,e.pos,writePunctuation);writePunctuation(".");emit(e.name)}function emitTemplateSpan(e){emitExpression(e.expression);emit(e.literal)}function emitBlock(e){emitBlockStatements(e,!e.multiLine&&isEmptyBlock(e))}function emitBlockStatements(t,r){emitTokenWithComment(18,t.pos,writePunctuation,t);var n=r||e.getEmitFlags(t)&1?768:129;emitList(t,t.statements,n);emitTokenWithComment(19,t.statements.end,writePunctuation,t,!!(n&1))}function emitVariableStatement(e){emitModifiers(e,e.modifiers);emit(e.declarationList);writeTrailingSemicolon()}function emitEmptyStatement(e){if(e){writePunctuation(";")}else{writeTrailingSemicolon()}}function emitExpressionStatement(t){emitExpression(t.expression);if(!e.isJsonSourceFile(y)||e.nodeIsSynthesized(t.expression)){writeTrailingSemicolon()}}function emitIfStatement(e){var t=emitTokenWithComment(91,e.pos,writeKeyword,e);writeSpace();emitTokenWithComment(20,t,writePunctuation,e);emitExpression(e.expression);emitTokenWithComment(21,e.expression.end,writePunctuation,e);emitEmbeddedStatement(e,e.thenStatement);if(e.elseStatement){writeLineOrSpace(e);emitTokenWithComment(83,e.thenStatement.end,writeKeyword,e);if(e.elseStatement.kind===222){writeSpace();emit(e.elseStatement)}else{emitEmbeddedStatement(e,e.elseStatement)}}}function emitWhileClause(e,t){var r=emitTokenWithComment(107,t,writeKeyword,e);writeSpace();emitTokenWithComment(20,r,writePunctuation,e);emitExpression(e.expression);emitTokenWithComment(21,e.expression.end,writePunctuation,e)}function emitDoStatement(t){emitTokenWithComment(82,t.pos,writeKeyword,t);emitEmbeddedStatement(t,t.statement);if(e.isBlock(t.statement)){writeSpace()}else{writeLineOrSpace(t)}emitWhileClause(t,t.statement.end);writePunctuation(";")}function emitWhileStatement(e){emitWhileClause(e,e.pos);emitEmbeddedStatement(e,e.statement)}function emitForStatement(e){var t=emitTokenWithComment(89,e.pos,writeKeyword,e);writeSpace();var r=emitTokenWithComment(20,t,writePunctuation,e);emitForBinding(e.initializer);r=emitTokenWithComment(26,e.initializer?e.initializer.end:r,writePunctuation,e);emitExpressionWithLeadingSpace(e.condition);r=emitTokenWithComment(26,e.condition?e.condition.end:r,writePunctuation,e);emitExpressionWithLeadingSpace(e.incrementor);emitTokenWithComment(21,e.incrementor?e.incrementor.end:r,writePunctuation,e);emitEmbeddedStatement(e,e.statement)}function emitForInStatement(e){var t=emitTokenWithComment(89,e.pos,writeKeyword,e);writeSpace();emitTokenWithComment(20,t,writePunctuation,e);emitForBinding(e.initializer);writeSpace();emitTokenWithComment(93,e.initializer.end,writeKeyword,e);writeSpace();emitExpression(e.expression);emitTokenWithComment(21,e.expression.end,writePunctuation,e);emitEmbeddedStatement(e,e.statement)}function emitForOfStatement(e){var t=emitTokenWithComment(89,e.pos,writeKeyword,e);writeSpace();emitWithTrailingSpace(e.awaitModifier);emitTokenWithComment(20,t,writePunctuation,e);emitForBinding(e.initializer);writeSpace();emitTokenWithComment(147,e.initializer.end,writeKeyword,e);writeSpace();emitExpression(e.expression);emitTokenWithComment(21,e.expression.end,writePunctuation,e);emitEmbeddedStatement(e,e.statement)}function emitForBinding(e){if(e!==undefined){if(e.kind===238){emit(e)}else{emitExpression(e)}}}function emitContinueStatement(e){emitTokenWithComment(78,e.pos,writeKeyword,e);emitWithLeadingSpace(e.label);writeTrailingSemicolon()}function emitBreakStatement(e){emitTokenWithComment(73,e.pos,writeKeyword,e);emitWithLeadingSpace(e.label);writeTrailingSemicolon()}function emitTokenWithComment(t,r,n,i,a){var o=e.getParseTreeNode(i);var s=o&&o.kind===i.kind;var c=r;if(s){r=e.skipTrivia(y.text,r)}if(emitLeadingCommentsOfPosition&&s&&i.pos!==c){var u=a&&!e.positionsAreOnSameLine(c,r,y);if(u){increaseIndent()}emitLeadingCommentsOfPosition(c);if(u){decreaseIndent()}}r=writeTokenText(t,n,r);if(emitTrailingCommentsOfPosition&&s&&i.end!==r){emitTrailingCommentsOfPosition(r,true)}return r}function emitReturnStatement(e){emitTokenWithComment(97,e.pos,writeKeyword,e);emitExpressionWithLeadingSpace(e.expression);writeTrailingSemicolon()}function emitWithStatement(e){var t=emitTokenWithComment(108,e.pos,writeKeyword,e);writeSpace();emitTokenWithComment(20,t,writePunctuation,e);emitExpression(e.expression);emitTokenWithComment(21,e.expression.end,writePunctuation,e);emitEmbeddedStatement(e,e.statement)}function emitSwitchStatement(e){var t=emitTokenWithComment(99,e.pos,writeKeyword,e);writeSpace();emitTokenWithComment(20,t,writePunctuation,e);emitExpression(e.expression);emitTokenWithComment(21,e.expression.end,writePunctuation,e);writeSpace();emit(e.caseBlock)}function emitLabeledStatement(e){emit(e.label);emitTokenWithComment(57,e.label.end,writePunctuation,e);writeSpace();emit(e.statement)}function emitThrowStatement(e){emitTokenWithComment(101,e.pos,writeKeyword,e);emitExpressionWithLeadingSpace(e.expression);writeTrailingSemicolon()}function emitTryStatement(e){emitTokenWithComment(103,e.pos,writeKeyword,e);writeSpace();emit(e.tryBlock);if(e.catchClause){writeLineOrSpace(e);emit(e.catchClause)}if(e.finallyBlock){writeLineOrSpace(e);emitTokenWithComment(88,(e.catchClause||e.tryBlock).end,writeKeyword,e);writeSpace();emit(e.finallyBlock)}}function emitDebuggerStatement(e){writeToken(79,e.pos,writeKeyword);writeTrailingSemicolon()}function emitVariableDeclaration(e){emit(e.name);emitTypeAnnotation(e.type);emitInitializer(e.initializer,e.type?e.type.end:e.name.end,e)}function emitVariableDeclarationList(t){writeKeyword(e.isLet(t)?"let":e.isVarConst(t)?"const":"var");writeSpace();emitList(t,t.declarations,528)}function emitFunctionDeclaration(e){emitFunctionDeclarationOrExpression(e)}function emitFunctionDeclarationOrExpression(e){emitDecorators(e,e.decorators);emitModifiers(e,e.modifiers);writeKeyword("function");emit(e.asteriskToken);writeSpace();emitIdentifierName(e.name);emitSignatureAndBody(e,emitSignatureHead)}function emitBlockCallback(e,t){emitBlockFunctionBody(t)}function emitSignatureAndBody(t,r){var n=t.body;if(n){if(e.isBlock(n)){var i=e.getEmitFlags(t)&65536;if(i){increaseIndent()}pushNameGenerationScope(t);e.forEach(t.parameters,generateNames);generateNames(t.body);r(t);if(o){o(4,n,emitBlockCallback)}else{emitBlockFunctionBody(n)}popNameGenerationScope(t);if(i){decreaseIndent()}}else{r(t);writeSpace();emitExpression(n)}}else{r(t);writeTrailingSemicolon()}}function emitSignatureHead(e){emitTypeParameters(e,e.typeParameters);emitParameters(e,e.parameters);emitTypeAnnotation(e.type)}function shouldEmitBlockFunctionBodyOnSingleLine(t){if(e.getEmitFlags(t)&1){return true}if(t.multiLine){return false}if(!e.nodeIsSynthesized(t)&&!e.rangeIsOnSingleLine(t,y)){return false}if(shouldWriteLeadingLineTerminator(t,t.statements,2)||shouldWriteClosingLineTerminator(t,t.statements,2)){return false}var r;for(var n=0,i=t.statements;n")}function emitJsxFragment(e){emit(e.openingFragment);emitList(e,e.children,262144);emit(e.closingFragment)}function emitJsxOpeningElementOrFragment(t){writePunctuation("<");if(e.isJsxOpeningElement(t)){emitJsxTagName(t.tagName);if(t.attributes.properties&&t.attributes.properties.length>0){writeSpace()}emit(t.attributes)}writePunctuation(">")}function emitJsxText(e){E.writeLiteral(getTextOfNode(e,true))}function emitJsxClosingElementOrFragment(t){writePunctuation("")}function emitJsxAttributes(e){emitList(e,e.properties,262656)}function emitJsxAttribute(e){emit(e.name);emitNodeWithPrefix("=",writePunctuation,e.initializer,emit)}function emitJsxSpreadAttribute(e){writePunctuation("{...");emitExpression(e.expression);writePunctuation("}")}function emitJsxExpression(e){if(e.expression){writePunctuation("{");emit(e.dotDotDotToken);emitExpression(e.expression);writePunctuation("}")}}function emitJsxTagName(e){if(e.kind===72){emitExpression(e)}else{emit(e)}}function emitCaseClause(e){emitTokenWithComment(74,e.pos,writeKeyword,e);writeSpace();emitExpression(e.expression);emitCaseOrDefaultClauseRest(e,e.statements,e.expression.end)}function emitDefaultClause(e){var t=emitTokenWithComment(80,e.pos,writeKeyword,e);emitCaseOrDefaultClauseRest(e,e.statements,t)}function emitCaseOrDefaultClauseRest(t,r,n){var i=r.length===1&&(e.nodeIsSynthesized(t)||e.nodeIsSynthesized(r[0])||e.rangeStartPositionsAreOnSameLine(t,r[0],y));var a=163969;if(i){writeToken(57,n,writePunctuation,t);writeSpace();a&=~(1|128)}else{emitTokenWithComment(57,n,writePunctuation,t)}emitList(t,r,a)}function emitHeritageClause(e){writeSpace();writeTokenText(e.token,writeKeyword);writeSpace();emitList(e,e.types,528)}function emitCatchClause(e){var t=emitTokenWithComment(75,e.pos,writeKeyword,e);writeSpace();if(e.variableDeclaration){emitTokenWithComment(20,t,writePunctuation,e);emit(e.variableDeclaration);emitTokenWithComment(21,e.variableDeclaration.end,writePunctuation,e);writeSpace()}emit(e.block)}function emitPropertyAssignment(t){emit(t.name);writePunctuation(":");writeSpace();var r=t.initializer;if(emitTrailingCommentsOfPosition&&(e.getEmitFlags(r)&512)===0){var n=e.getCommentRange(r);emitTrailingCommentsOfPosition(n.pos)}emitExpression(r)}function emitShorthandPropertyAssignment(e){emit(e.name);if(e.objectAssignmentInitializer){writeSpace();writePunctuation("=");writeSpace();emitExpression(e.objectAssignmentInitializer)}}function emitSpreadAssignment(e){if(e.expression){emitTokenWithComment(25,e.pos,writePunctuation,e);emitExpression(e.expression)}}function emitEnumMember(e){emit(e.name);emitInitializer(e.initializer,e.name.end,e)}function emitJSDoc(e){k("/**");if(e.comment){var t=e.comment.split(/\r\n?|\n/g);for(var r=0,n=t;r');writeLine()}if(y&&y.moduleName){writeComment('/// ');writeLine()}if(y&&y.amdDependencies){for(var i=0,a=y.amdDependencies;i')}else{writeComment('/// ')}writeLine()}}for(var s=0,c=t;s');writeLine()}for(var l=0,f=r;l');writeLine()}for(var d=0,p=n;d');writeLine()}}function emitSourceFileWorker(t){var r=t.statements;pushNameGenerationScope(t);e.forEach(t.statements,generateNames);emitHelpers(t);var n=e.findIndex(r,function(t){return!e.isPrologueDirective(t)});emitTripleSlashDirectivesIfNeeded(t);emitList(t,r,1,n===-1?r.length:n);popNameGenerationScope(t)}function emitPartiallyEmittedExpression(e){emitExpression(e.expression)}function emitCommaList(e){emitExpressionList(e,e.elements,528)}function emitPrologueDirectives(t,r,n){for(var i=0;i0){writeLine()}emit(a);if(n){n.set(a.expression.text,true)}}}else{return i}}return t.length}function emitPrologueDirectivesIfNeeded(t){if(e.isSourceFile(t)){setSourceFile(t);emitPrologueDirectives(t.statements)}else{var r=e.createMap();for(var n=0,i=t.sourceFiles;n=n.length||o===0;if(c&&i&32768){if(u){u(n)}if(l){l(n)}return}if(i&15360){writePunctuation(getOpeningBracket(i));if(c&&!s){emitTrailingCommentsOfPosition(n.pos,true)}}if(u){u(n)}if(c){if(i&1){writeLine()}else if(i&256&&!(i&524288)){writeSpace()}}else{var f=(i&262144)===0;var d=f;if(shouldWriteLeadingLineTerminator(r,n,i)){writeLine();d=false}else if(i&256){writeSpace()}if(i&128){increaseIndent()}var p=void 0;var g=false;for(var _=0;_0||o>0)&&a!==o){if(!c){emitLeadingComments(a,s)}if(!c||a>=0&&(n&512)!==0){I=a}if(!u||o>=0&&(n&1024)!==0){w=o;if(r.kind===238){M=o}}}e.forEach(e.getSyntheticLeadingComments(r),emitLeadingSynthesizedComment);U();var p=getNextPipelinePhase(2,r);if(n&2048){j=true;p(t,r);j=false}else{p(t,r)}W();e.forEach(e.getSyntheticTrailingComments(r),emitTrailingSynthesizedComment);if((a>0||o>0)&&a!==o){I=l;w=f;M=d;if(!u&&s){emitTrailingComments(o)}}U()}function emitLeadingSynthesizedComment(e){if(e.kind===2){E.writeLine()}writeSynthesizedComment(e);if(e.hasTrailingNewLine||e.kind===2){E.writeLine()}else{E.writeSpace(" ")}}function emitTrailingSynthesizedComment(e){if(!E.isAtStartOfLine()){E.writeSpace(" ")}writeSynthesizedComment(e);if(e.hasTrailingNewLine){E.writeLine()}}function writeSynthesizedComment(t){var r=formatSynthesizedComment(t);var n=t.kind===3?e.computeLineStarts(r):undefined;e.writeCommentRange(r,n,E,0,r.length,g)}function formatSynthesizedComment(e){return e.kind===3?"/*"+e.text+"*/":"//"+e.text}function emitBodyWithDetachedComments(t,r,n){W();var i=r.pos,a=r.end;var o=e.getEmitFlags(t);var s=i<0||(o&512)!==0;var c=j||a<0||(o&1024)!==0;if(!s){emitDetachedCommentsAndUpdateCommentsInfo(r)}U();if(o&2048&&!j){j=true;n(t);j=false}else{n(t)}W();if(!c){emitLeadingComments(r.end,true);if(B&&!E.isAtStartOfLine()){E.writeLine()}}U()}function emitLeadingComments(e,t){B=false;if(t){forEachLeadingCommentToEmit(e,emitLeadingComment)}else if(e===0){forEachLeadingCommentToEmit(e,emitTripleSlashLeadingComment)}}function emitTripleSlashLeadingComment(e,t,r,n,i){if(isTripleSlashComment(e,t)){emitLeadingComment(e,t,r,n,i)}}function shouldWriteComment(r,n){if(t.onlyPrintJsDocStyle){return e.isJSDocLikeText(r,n)||e.isPinnedComment(r,n)}return true}function emitLeadingComment(t,r,n,i,a){if(!shouldWriteComment(y.text,t))return;if(!B){e.emitNewLineBeforeLeadingCommentOfPosition(getCurrentLineMap(),E,a,t);B=true}emitPos(t);e.writeCommentRange(y.text,getCurrentLineMap(),E,t,r,g);emitPos(r);if(i){E.writeLine()}else if(n===3){E.writeSpace(" ")}}function emitLeadingCommentsOfPosition(e){if(j||e===-1){return}emitLeadingComments(e,true)}function emitTrailingComments(e){forEachTrailingCommentToEmit(e,emitTrailingComment)}function emitTrailingComment(t,r,n,i){if(!shouldWriteComment(y.text,t))return;if(!E.isAtStartOfLine()){E.writeSpace(" ")}emitPos(t);e.writeCommentRange(y.text,getCurrentLineMap(),E,t,r,g);emitPos(r);if(i){E.writeLine()}}function emitTrailingCommentsOfPosition(e,t){if(j){return}W();forEachTrailingCommentToEmit(e,t?emitTrailingComment:emitTrailingCommentOfPosition);U()}function emitTrailingCommentOfPosition(t,r,n,i){emitPos(t);e.writeCommentRange(y.text,getCurrentLineMap(),E,t,r,g);emitPos(r);if(i){E.writeLine()}else{E.writeSpace(" ")}}function forEachLeadingCommentToEmit(t,r){if(y&&(I===-1||t!==I)){if(hasDetachedComments(t)){forEachLeadingCommentWithoutDetachedComments(r)}else{e.forEachLeadingCommentRange(y.text,t,r,t)}}}function forEachTrailingCommentToEmit(t,r){if(y&&(w===-1||t!==w&&t!==M)){e.forEachTrailingCommentRange(y.text,t,r)}}function hasDetachedComments(t){return R!==undefined&&e.last(R).nodePos===t}function forEachLeadingCommentWithoutDetachedComments(t){var r=e.last(R).detachedCommentEndPos;if(R.length-1){R.pop()}else{R=undefined}e.forEachLeadingCommentRange(y.text,r,t,r)}function emitDetachedCommentsAndUpdateCommentsInfo(t){var r=e.emitDetachedComments(y.text,getCurrentLineMap(),E,emitComment,t,g,j);if(r){if(R){R.push(r)}else{R=[r]}}}function emitComment(t,r,n,i,a,o){if(!shouldWriteComment(y.text,i))return;emitPos(i);e.writeCommentRange(t,r,n,i,a,o);emitPos(a)}function isTripleSlashComment(t,r){return e.isRecognizedTripleSlashComment(y.text,t,r)}function pipelineEmitWithSourceMap(t,r){var n=getNextPipelinePhase(3,r);if(e.isUnparsedSource(r)&&r.sourceMapText!==undefined){var i=e.tryParseRawSourceMap(r.sourceMapText);if(i){O.appendSourceMap(E.getLine(),E.getColumn(),i,r.sourceMapPath)}n(t,r)}else{var a=e.getSourceMapRange(r),o=a.pos,s=a.end,c=a.source,u=c===void 0?F:c;var l=e.getEmitFlags(r);if(r.kind!==307&&(l&16)===0&&o>=0){emitSourcePos(u,skipSourceTrivia(u,o))}if(l&64){A=true;n(t,r);A=false}else{n(t,r)}if(r.kind!==307&&(l&32)===0&&s>=0){emitSourcePos(u,s)}}}function skipSourceTrivia(t,r){return t.skipTrivia?t.skipTrivia(r):e.skipTrivia(F.text,r)}function emitPos(t){if(A||e.positionIsSynthesized(t)||isJsonSourceMapSource(F)){return}var r=e.getLineAndCharacterOfPosition(y,t),n=r.line,i=r.character;O.addMapping(E.getLine(),E.getColumn(),P,n,i,undefined)}function emitSourcePos(e,t){if(e!==F){var r=F;setSourceMapSource(e);emitPos(t);setSourceMapSource(r)}else{emitPos(t)}}function emitTokenWithSourceMap(t,r,n,i,a){if(A||t&&e.isInJsonFile(t)){return a(r,n,i)}var o=t&&t.emitNode;var s=o&&o.flags||0;var c=o&&o.tokenSourceMapRanges&&o.tokenSourceMapRanges[r];var u=c&&c.source||F;i=skipSourceTrivia(u,c?c.pos:i);if((s&128)===0&&i>=0){emitSourcePos(u,i)}i=a(r,n,i);if(c)i=c.end;if((s&256)===0&&i>=0){emitSourcePos(u,i)}return i}function setSourceMapSource(e){if(A){return}F=e;if(isJsonSourceMapSource(e)){return}P=O.addSource(e.fileName);if(t.inlineSources){O.setSourceContent(P,e.text)}}function isJsonSourceMapSource(t){return e.fileExtensionIs(t.fileName,".json")}}e.createPrinter=createPrinter;function createBracketsMap(){var e=[];e[1024]=["{","}"];e[2048]=["(",")"];e[4096]=["<",">"];e[8192]=["[","]"];return e}function getOpeningBracket(e){return r[e&15360][0]}function getClosingBracket(e){return r[e&15360][1]}var a;(function(e){e[e["Auto"]=0]="Auto";e[e["CountMask"]=268435455]="CountMask";e[e["_i"]=268435456]="_i"})(a||(a={}))})(s||(s={}));var s;(function(e){function createCachedDirectoryStructureHost(t,r,n){if(!t.getDirectories||!t.readDirectory){return undefined}var i=e.createMap();var a=e.createGetCanonicalFileName(n);return{useCaseSensitiveFileNames:n,fileExists:fileExists,readFile:function(e,r){return t.readFile(e,r)},directoryExists:t.directoryExists&&directoryExists,getDirectories:getDirectories,readDirectory:readDirectory,createDirectory:t.createDirectory&&createDirectory,writeFile:t.writeFile&&writeFile,addOrDeleteFileOrDirectory:addOrDeleteFileOrDirectory,addOrDeleteFile:addOrDeleteFile,clearCache:clearCache};function toPath(t){return e.toPath(t,r,a)}function getCachedFileSystemEntries(t){return i.get(e.ensureTrailingDirectorySeparator(t))}function getCachedFileSystemEntriesForBaseDir(t){return getCachedFileSystemEntries(e.getDirectoryPath(t))}function getBaseNameOfFileName(t){return e.getBaseFileName(e.normalizePath(t))}function createCachedFileSystemEntries(r,n){var a={files:e.map(t.readDirectory(r,undefined,undefined,["*.*"]),getBaseNameOfFileName)||[],directories:t.getDirectories(r)||[]};i.set(e.ensureTrailingDirectorySeparator(n),a);return a}function tryReadDirectory(t,r){r=e.ensureTrailingDirectorySeparator(r);var n=getCachedFileSystemEntries(r);if(n){return n}try{return createCachedFileSystemEntries(t,r)}catch(t){e.Debug.assert(!i.has(e.ensureTrailingDirectorySeparator(r)));return undefined}}function fileNameEqual(e,t){return a(e)===a(t)}function hasEntry(t,r){return e.some(t,function(e){return fileNameEqual(e,r)})}function updateFileSystemEntry(t,r,n){if(hasEntry(t,r)){if(!n){return e.filterMutate(t,function(e){return!fileNameEqual(e,r)})}}else if(n){return t.push(r)}}function writeFile(e,r,n){var i=toPath(e);var a=getCachedFileSystemEntriesForBaseDir(i);if(a){updateFilesOfFileSystemEntry(a,getBaseNameOfFileName(e),true)}return t.writeFile(e,r,n)}function fileExists(e){var r=toPath(e);var n=getCachedFileSystemEntriesForBaseDir(r);return n&&hasEntry(n.files,getBaseNameOfFileName(e))||t.fileExists(e)}function directoryExists(r){var n=toPath(r);return i.has(e.ensureTrailingDirectorySeparator(n))||t.directoryExists(r)}function createDirectory(e){var r=toPath(e);var n=getCachedFileSystemEntriesForBaseDir(r);var i=getBaseNameOfFileName(e);if(n){updateFileSystemEntry(n.directories,i,true)}t.createDirectory(e)}function getDirectories(e){var r=toPath(e);var n=tryReadDirectory(e,r);if(n){return n.directories.slice()}return t.getDirectories(e)}function readDirectory(i,a,o,s,c){var u=toPath(i);var l=tryReadDirectory(i,u);if(l){return e.matchFiles(i,a,o,s,n,r,c,getFileSystemEntries)}return t.readDirectory(i,a,o,s,c);function getFileSystemEntries(t){var r=toPath(t);if(r===u){return l}return tryReadDirectory(t,r)||e.emptyFileSystemEntries}}function addOrDeleteFileOrDirectory(e,r){var n=getCachedFileSystemEntries(r);if(n){clearCache();return undefined}var i=getCachedFileSystemEntriesForBaseDir(r);if(!i){return undefined}if(!t.directoryExists){clearCache();return undefined}var a=getBaseNameOfFileName(e);var o={fileExists:t.fileExists(r),directoryExists:t.directoryExists(r)};if(o.directoryExists||hasEntry(i.directories,a)){clearCache()}else{updateFilesOfFileSystemEntry(i,a,o.fileExists)}return o}function addOrDeleteFile(t,r,n){if(n===e.FileWatcherEventKind.Changed){return}var i=getCachedFileSystemEntriesForBaseDir(r);if(i){updateFilesOfFileSystemEntry(i,getBaseNameOfFileName(t),n===e.FileWatcherEventKind.Created)}}function updateFilesOfFileSystemEntry(e,t,r){updateFileSystemEntry(e.files,t,r)}function clearCache(){i.clear()}}e.createCachedDirectoryStructureHost=createCachedDirectoryStructureHost;var t;(function(e){e[e["None"]=0]="None";e[e["Partial"]=1]="Partial";e[e["Full"]=2]="Full"})(t=e.ConfigFileProgramReloadLevel||(e.ConfigFileProgramReloadLevel={}));function updateMissingFilePathsWatch(t,r,n){var i=t.getMissingFilePaths();var a=e.arrayToSet(i);e.mutateMap(r,a,{createNewValue:n,onDeleteValue:e.closeFileWatcher})}e.updateMissingFilePathsWatch=updateMissingFilePathsWatch;function updateWatchingWildcardDirectories(t,r,n){e.mutateMap(t,r,{createNewValue:createWildcardDirectoryWatcher,onDeleteValue:closeFileWatcherOf,onExistingValue:updateWildcardDirectoryWatcher});function createWildcardDirectoryWatcher(e,t){return{watcher:n(e,t),flags:t}}function updateWildcardDirectoryWatcher(e,r,n){if(e.flags===r){return}e.watcher.close();t.set(n,createWildcardDirectoryWatcher(n,r))}}e.updateWatchingWildcardDirectories=updateWatchingWildcardDirectories;function isEmittedFileOfProgram(e,t){if(!e){return false}return e.isEmittedFile(t)}e.isEmittedFileOfProgram=isEmittedFileOfProgram;var r;(function(e){e[e["None"]=0]="None";e[e["TriggerOnly"]=1]="TriggerOnly";e[e["Verbose"]=2]="Verbose"})(r=e.WatchLogLevel||(e.WatchLogLevel={}));function getWatchFactory(e,t,r){return getWatchFactoryWith(e,t,r,watchFile,watchDirectory)}e.getWatchFactory=getWatchFactory;function getWatchFactoryWith(e,t,n,i,a){var o=getCreateFileWatcher(e,i);var s=e===r.None?watchFilePath:o;var c=getCreateFileWatcher(e,a);return{watchFile:function(e,r,a,s,c,u){return o(e,r,a,s,undefined,c,u,i,t,"FileWatcher",n)},watchFilePath:function(e,r,a,o,c,u,l){return s(e,r,a,o,c,u,l,i,t,"FileWatcher",n)},watchDirectory:function(e,r,i,o,s,u){return c(e,r,i,o,undefined,s,u,a,t,"DirectoryWatcher",n)}};function watchFilePath(e,t,r,n,a){return i(e,t,function(e,t){return r(e,t,a)},n)}}function watchFile(e,t,r,n){return e.watchFile(t,r,n)}function watchDirectory(e,t,r,n){return e.watchDirectory(t,r,(n&1)!==0)}function getCreateFileWatcher(e,t){switch(e){case r.None:return t;case r.TriggerOnly:return createFileWatcherWithTriggerLogging;case r.Verbose:return t===watchDirectory?createDirectoryWatcherWithLogging:createFileWatcherWithLogging}}function createFileWatcherWithLogging(e,t,r,n,i,a,o,s,c,u,l){c(u+":: Added:: "+getWatchInfo(t,n,a,o,l));var f=createFileWatcherWithTriggerLogging(e,t,r,n,i,a,o,s,c,u,l);return{close:function(){c(u+":: Close:: "+getWatchInfo(t,n,a,o,l));f.close()}}}function createDirectoryWatcherWithLogging(t,r,n,i,a,o,s,c,u,l,f){var d=l+":: Added:: "+getWatchInfo(r,i,o,s,f);u(d);var p=e.timestamp();var g=createFileWatcherWithTriggerLogging(t,r,n,i,a,o,s,c,u,l,f);var _=e.timestamp()-p;u("Elapsed:: "+_+"ms "+d);return{close:function(){var t=l+":: Close:: "+getWatchInfo(r,i,o,s,f);u(t);var n=e.timestamp();g.close();var a=e.timestamp()-n;u("Elapsed:: "+a+"ms "+t)}}}function createFileWatcherWithTriggerLogging(t,r,n,i,a,o,s,c,u,l,f){return c(t,r,function(t,c){var d=l+":: Triggered with "+t+" "+(c!==undefined?c:"")+":: "+getWatchInfo(r,i,o,s,f);u(d);var p=e.timestamp();n(t,c,a);var g=e.timestamp()-p;u("Elapsed:: "+g+"ms "+d)},i)}function getWatchInfo(e,t,r,n,i){return"WatchInfo: "+e+" "+t+" "+(i?i(r,n):r)}function closeFileWatcherOf(e){e.watcher.close()}e.closeFileWatcherOf=closeFileWatcherOf})(s||(s={}));var s;(function(e){var t=/(^\s*$)|(^\s*\/\/\/?\s*(@ts-ignore)?)/;function findConfigFile(t,r,n){if(n===void 0){n="tsconfig.json"}return e.forEachAncestorDirectory(t,function(t){var i=e.combinePaths(t,n);return r(i)?i:undefined})}e.findConfigFile=findConfigFile;function resolveTripleslashReference(t,r){var n=e.getDirectoryPath(r);var i=e.isRootedDiskPath(t)?t:e.combinePaths(n,t);return e.normalizePath(i)}e.resolveTripleslashReference=resolveTripleslashReference;function computeCommonSourceDirectoryOfFilenames(t,r,n){var i;var a=e.forEach(t,function(t){var a=e.getNormalizedPathComponents(t,r);a.pop();if(!i){i=a;return}var o=Math.min(i.length,a.length);for(var s=0;se.getRootLength(t)&&!directoryExists(t)){var r=e.getDirectoryPath(t);ensureDirectoriesExist(r);if(c.createDirectory){c.createDirectory(t)}else{n.createDirectory(t)}}}var a;function writeFileIfUpdated(t,r,i){if(!a){a=e.createMap()}var o=n.createHash(r);var s=n.getModifiedTime(t);if(s){var c=a.get(t);if(c&&c.byteOrderMark===i&&c.hash===o&&c.mtime.getTime()===s.getTime()){return}}n.writeFile(t,r,i);var u=n.getModifiedTime(t)||e.missingFileModifiedTime;a.set(t,{hash:o,byteOrderMark:i,mtime:u})}function writeFile(r,i,a,o){try{e.performance.mark("beforeIOWrite");ensureDirectoriesExist(e.getDirectoryPath(e.normalizePath(r)));if(e.isWatchSet(t)&&n.createHash&&n.getModifiedTime){writeFileIfUpdated(r,i,a)}else{n.writeFile(r,i,a)}e.performance.mark("afterIOWrite");e.performance.measure("I/O Write","beforeIOWrite","afterIOWrite")}catch(e){if(o){o(e.message)}}}function getDefaultLibLocation(){return e.getDirectoryPath(e.normalizePath(n.getExecutingFilePath()))}var o=e.getNewLineCharacter(t,function(){return n.newLine});var s=n.realpath&&function(e){return n.realpath(e)};var c={getSourceFile:getSourceFile,getDefaultLibLocation:getDefaultLibLocation,getDefaultLibFileName:function(t){return e.combinePaths(getDefaultLibLocation(),e.getDefaultLibFileName(t))},writeFile:writeFile,getCurrentDirectory:e.memoize(function(){return n.getCurrentDirectory()}),useCaseSensitiveFileNames:function(){return n.useCaseSensitiveFileNames},getCanonicalFileName:getCanonicalFileName,getNewLine:function(){return o},fileExists:function(e){return n.fileExists(e)},readFile:function(e){return n.readFile(e)},trace:function(e){return n.write(e+o)},directoryExists:function(e){return n.directoryExists(e)},getEnvironmentVariable:function(e){return n.getEnvironmentVariable?n.getEnvironmentVariable(e):""},getDirectories:function(e){return n.getDirectories(e)},realpath:s,readDirectory:function(e,t,r,i,a){return n.readDirectory(e,t,r,i,a)},createDirectory:function(e){return n.createDirectory(e)}};return c}e.createCompilerHostWorker=createCompilerHostWorker;function changeCompilerHostToUseCache(t,r,n){var i=t.readFile;var a=t.fileExists;var o=t.directoryExists;var s=t.createDirectory;var c=t.writeFile;var u=t.getSourceFile;var l=e.createMap();var f=e.createMap();var d=e.createMap();var p=e.createMap();var g=function(e){var t=r(e);var n=l.get(t);if(n!==undefined)return n||undefined;return _(t,e)};var _=function(e,r){var n=i.call(t,r);l.set(e,n||false);return n};t.readFile=function(n){var a=r(n);var o=l.get(a);if(o!==undefined)return o;if(!e.fileExtensionIs(n,".json")){return i.call(t,n)}return _(a,n)};if(n){t.getSourceFile=function(n,i,a,o){var s=r(n);var c=p.get(s);if(c)return c;var l=u.call(t,n,i,a,o);if(l&&(e.isDeclarationFileName(n)||e.fileExtensionIs(n,".json"))){p.set(s,l)}return l}}t.fileExists=function(e){var n=r(e);var i=f.get(n);if(i!==undefined)return i;var o=a.call(t,e);f.set(n,!!o);return o};t.writeFile=function(e,i,a,o,s){var u=r(e);f.delete(u);var d=l.get(u);if(d&&d!==i){l.delete(u);p.delete(u)}else if(n){var g=p.get(u);if(g&&g.text!==i){p.delete(u)}}c.call(t,e,i,a,o,s)};if(o&&s){t.directoryExists=function(e){var n=r(e);var i=d.get(n);if(i!==undefined)return i;var a=o.call(t,e);d.set(n,!!a);return a};t.createDirectory=function(e){var n=r(e);d.delete(n);s.call(t,e)}}return{originalReadFile:i,originalFileExists:a,originalDirectoryExists:o,originalCreateDirectory:s,originalWriteFile:c,originalGetSourceFile:u,readFileWithCache:g}}e.changeCompilerHostToUseCache=changeCompilerHostToUseCache;function getPreEmitDiagnostics(t,r,n){var i=t.getConfigFileParsingDiagnostics().concat(t.getOptionsDiagnostics(n),t.getSyntacticDiagnostics(r,n),t.getGlobalDiagnostics(n),t.getSemanticDiagnostics(r,n));if(e.getEmitDeclarations(t.getCompilerOptions())){e.addRange(i,t.getDeclarationDiagnostics(r,n))}return e.sortAndDeduplicateDiagnostics(i)}e.getPreEmitDiagnostics=getPreEmitDiagnostics;function formatDiagnostics(e,t){var r="";for(var n=0,i=e;n=4;var v=(_+1+"").length;if(h){v=Math.max(s.length,v)}var T="";for(var S=d;S<=_;S++){T+=l.getNewLine();if(h&&d+10||s.length>0){return{diagnostics:e.concatenate(c,s),sourceMaps:undefined,emittedFiles:undefined,emitSkipped:true}}}}var u=getDiagnosticsProducingTypeChecker().getEmitResolver(l.outFile||l.out?undefined:r,i);e.performance.mark("beforeEmit");var f=a?[]:e.getTransformers(l,o);var d=e.emitFiles(u,getEmitHost(n),r,a,f,o&&o.afterDeclarations);e.performance.mark("afterEmit");e.performance.measure("Emit","beforeEmit","afterEmit");return d}function getSourceFile(e){return getSourceFileByPath(toPath(e))}function getSourceFileByPath(e){return X.get(e)}function getDiagnosticsHelper(t,r,n){if(t){return r(t,n)}return e.sortAndDeduplicateDiagnostics(e.flatMap(g.getSourceFiles(),function(e){if(n){n.throwIfCancellationRequested()}return r(e,n)}))}function getSyntacticDiagnostics(e,t){return getDiagnosticsHelper(e,getSyntacticDiagnosticsForFile,t)}function getSemanticDiagnostics(e,t){return getDiagnosticsHelper(e,getSemanticDiagnosticsForFile,t)}function getDeclarationDiagnostics(e,t){var r=g.getCompilerOptions();if(!e||r.out||r.outFile){return getDeclarationDiagnosticsWorker(e,t)}else{return getDiagnosticsHelper(e,getDeclarationDiagnosticsForFile,t)}}function getSyntacticDiagnosticsForFile(t){if(e.isSourceFileJS(t)){if(!t.additionalSyntacticDiagnostics){t.additionalSyntacticDiagnostics=getJSSyntacticDiagnosticsForFile(t)}return e.concatenate(t.additionalSyntacticDiagnostics,t.parseDiagnostics)}return t.parseDiagnostics}function runWithCancellationToken(t){try{return t()}catch(t){if(t instanceof e.OperationCanceledException){T=undefined;v=undefined}throw t}}function getSemanticDiagnosticsForFile(e,t){return getAndCacheDiagnostics(e,t,x,getSemanticDiagnosticsForFileNoCache)}function getSemanticDiagnosticsForFileNoCache(t,r){return runWithCancellationToken(function(){if(e.skipTypeChecking(t,l)){return e.emptyArray}var n=getDiagnosticsProducingTypeChecker();e.Debug.assert(!!t.bindDiagnostics);var i=e.isCheckJsEnabledForFile(t,l);var a=t.scriptKind===3||t.scriptKind===4||t.scriptKind===5||i||t.scriptKind===7;var o=a?t.bindDiagnostics:e.emptyArray;var s=a?n.getDiagnostics(t,r):e.emptyArray;var c=D.getDiagnostics(t.fileName);var u=L.getDiagnostics(t.fileName);var f;for(var d=0,p=[o,s,c,u,i?t.jsDocDiagnostics:undefined];d0){var s=n.text.slice(a[o-1],a[o]);var c=t.exec(s);if(!c){return true}if(c[3]){return false}o--}}return true}function getJSSyntacticDiagnosticsForFile(t){return runWithCancellationToken(function(){var r=[];var n=t;walk(t);return r;function walk(t){switch(n.kind){case 151:case 154:if(n.questionToken===t){r.push(createDiagnosticForNode(t,e.Diagnostics._0_can_only_be_used_in_a_ts_file,"?"));return}case 156:case 155:case 157:case 158:case 159:case 196:case 239:case 197:case 237:if(n.type===t){r.push(createDiagnosticForNode(t,e.Diagnostics.types_can_only_be_used_in_a_ts_file));return}}switch(t.kind){case 248:r.push(createDiagnosticForNode(t,e.Diagnostics.import_can_only_be_used_in_a_ts_file));return;case 254:if(t.isExportEquals){r.push(createDiagnosticForNode(t,e.Diagnostics.export_can_only_be_used_in_a_ts_file));return}break;case 273:var i=t;if(i.token===109){r.push(createDiagnosticForNode(t,e.Diagnostics.implements_clauses_can_only_be_used_in_a_ts_file));return}break;case 241:r.push(createDiagnosticForNode(t,e.Diagnostics.interface_declarations_can_only_be_used_in_a_ts_file));return;case 244:r.push(createDiagnosticForNode(t,e.Diagnostics.module_declarations_can_only_be_used_in_a_ts_file));return;case 242:r.push(createDiagnosticForNode(t,e.Diagnostics.type_aliases_can_only_be_used_in_a_ts_file));return;case 243:r.push(createDiagnosticForNode(t,e.Diagnostics.enum_declarations_can_only_be_used_in_a_ts_file));return;case 213:r.push(createDiagnosticForNode(t,e.Diagnostics.non_null_assertions_can_only_be_used_in_a_ts_file));return;case 212:r.push(createDiagnosticForNode(t.type,e.Diagnostics.type_assertion_expressions_can_only_be_used_in_a_ts_file));return;case 194:e.Debug.fail()}var a=n;n=t;e.forEachChild(t,walk,walkArray);n=a}function walkArray(t){if(n.decorators===t&&!l.experimentalDecorators){r.push(createDiagnosticForNode(n,e.Diagnostics.Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_the_experimentalDecorators_option_to_remove_this_warning))}switch(n.kind){case 240:case 156:case 155:case 157:case 158:case 159:case 196:case 239:case 197:if(t===n.typeParameters){r.push(createDiagnosticForNodeArray(t,e.Diagnostics.type_parameter_declarations_can_only_be_used_in_a_ts_file));return}case 219:if(t===n.modifiers){return checkModifiers(t,n.kind===219)}break;case 154:if(t===n.modifiers){for(var i=0,a=t;i0);Object.defineProperties(o,{id:{get:function(){return this.redirectInfo.redirectTarget.id},set:function(e){this.redirectInfo.redirectTarget.id=e}},symbol:{get:function(){return this.redirectInfo.redirectTarget.symbol},set:function(e){this.redirectInfo.redirectTarget.symbol=e}}});return o}function findSourceFile(t,r,n,i,a,o,s,c){var u=t;if(X.has(r)){var f=X.get(r);if(f&&l.forceConsistentCasingInFileNames){var d=t;var p=f.fileName;var g=toPath(p)!==toPath(d);if(g){d=getProjectReferenceRedirect(t)||t}if(e.getNormalizedAbsolutePath(p,R)!==e.getNormalizedAbsolutePath(d,R)){reportFileNamesDifferOnlyInCasingError(d,p,a,o,s)}}if(f&&O.get(f.path)&&N===0){O.set(f.path,false);if(!l.noResolve){processReferencedFiles(f,n);processTypeReferenceDirectives(f)}processLibReferenceDirectives(f);A.set(f.path,false);processImportedModules(f)}else if(f&&A.get(f.path)){if(N0);v.path=r;v.resolvedPath=toPath(t);v.originalFileName=u;if(F.useCaseSensitiveFileNames()){var x=r.toLowerCase();var C=Z.get(x);if(C){reportFileNamesDifferOnlyInCasingError(t,C.fileName,a,o,s)}else{Z.set(x,v)}}I=I||v.hasNoDefaultLib&&!i;if(!l.noResolve){processReferencedFiles(v,n);processTypeReferenceDirectives(v)}processLibReferenceDirectives(v);processImportedModules(v);if(n){_.push(v)}else{m.push(v)}}return v}function addFileToFilesByName(e,t,r){X.set(t,e);if(r){X.set(r,e)}}function getProjectReferenceRedirect(t){if(!ee||!ee.length||e.fileExtensionIs(t,".d.ts")||!e.fileExtensionIsOneOf(t,e.supportedTSExtensions)){return undefined}var r=getResolvedProjectReferenceToRedirect(t);if(!r){return undefined}var n=r.commandLine.options.outFile||r.commandLine.options.out;return n?e.changeExtension(n,".d.ts"):e.getOutputDeclarationFileName(t,r.commandLine)}function getResolvedProjectReferenceToRedirect(t){if(re===undefined){re=e.createMap();forEachResolvedProjectReference(function(e,t){if(e&&toPath(l.configFilePath)!==t){e.commandLine.fileNames.forEach(function(e){return re.set(toPath(e),t)})}})}var r=re.get(toPath(t));return r&&getResolvedProjectReferenceByPath(r)}function forEachResolvedProjectReference(e){return forEachProjectReference(d,ee,function(t,r,n){var i=(n?n.commandLine.projectReferences:d)[r];var a=toPath(resolveProjectReferencePath(i));return e(t,a)})}function forEachProjectReference(t,r,n,i){var a;return worker(t,r,undefined,n,i);function worker(t,r,n,i,o){if(o){var s=o(t,n);if(s){return s}}return e.forEach(r,function(t,r){if(e.contains(a,t)){return undefined}var s=i(t,r,n);if(s){return s}if(!t)return undefined;(a||(a=[])).push(t);return worker(t.commandLine.projectReferences,t.references,t,i,o)})}}function getResolvedProjectReferenceByPath(e){if(!te){return undefined}return te.get(e)||undefined}function processReferencedFiles(t,r){e.forEach(t.referencedFiles,function(e){var n=resolveTripleslashReference(e.fileName,t.originalFileName);processSourceFile(n,r,false,undefined,t,e.pos,e.end)})}function processTypeReferenceDirectives(t){var r=e.map(t.typeReferenceDirectives,function(e){return e.fileName.toLocaleLowerCase()});if(!r){return}var n=G(r,t.originalFileName,getResolvedProjectReferenceToRedirect(t.originalFileName));for(var i=0;ik;var d=u&&!getResolutionDiagnostic(l,a)&&!l.noResolve&&i1})){createDiagnosticForOptionName(e.Diagnostics.Cannot_find_the_common_subdirectory_path_for_the_input_files,"outDir")}}if(!l.noEmit&&l.allowJs&&e.getEmitDeclarations(l)){createDiagnosticForOptionName(e.Diagnostics.Option_0_cannot_be_specified_with_option_1,"allowJs",getEmitDeclarationOptionName(l))}if(l.checkJs&&!l.allowJs){L.add(e.createCompilerDiagnostic(e.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1,"checkJs","allowJs"))}if(l.emitDeclarationOnly){if(!e.getEmitDeclarations(l)){createDiagnosticForOptionName(e.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1_or_option_2,"emitDeclarationOnly","declaration","composite")}if(l.noEmit){createDiagnosticForOptionName(e.Diagnostics.Option_0_cannot_be_specified_with_option_1,"emitDeclarationOnly","noEmit")}}if(l.emitDecoratorMetadata&&!l.experimentalDecorators){createDiagnosticForOptionName(e.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1,"emitDecoratorMetadata","experimentalDecorators")}if(l.jsxFactory){if(l.reactNamespace){createDiagnosticForOptionName(e.Diagnostics.Option_0_cannot_be_specified_with_option_1,"reactNamespace","jsxFactory")}if(!e.parseIsolatedEntityName(l.jsxFactory,p)){createOptionValueDiagnostic("jsxFactory",e.Diagnostics.Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name,l.jsxFactory)}}else if(l.reactNamespace&&!e.isIdentifierText(l.reactNamespace,p)){createOptionValueDiagnostic("reactNamespace",e.Diagnostics.Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier,l.reactNamespace)}if(!l.noEmit&&!l.suppressOutputPathCheck){var T=getEmitHost();var S=e.createMap();e.forEachEmittedFile(T,function(e){if(!l.emitDeclarationOnly){verifyEmitFilePath(e.jsFilePath,S)}verifyEmitFilePath(e.declarationFilePath,S)})}function verifyEmitFilePath(t,r){if(t){var n=toPath(t);if(X.has(n)){var i;if(!l.configFilePath){i=e.chainDiagnosticMessages(undefined,e.Diagnostics.Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript_files_Learn_more_at_https_Colon_Slash_Slashaka_ms_Slashtsconfig)}i=e.chainDiagnosticMessages(i,e.Diagnostics.Cannot_write_file_0_because_it_would_overwrite_input_file,t);blockEmittingOfFile(t,e.createCompilerDiagnosticFromMessageChain(i))}var a=!F.useCaseSensitiveFileNames()?n.toLocaleLowerCase():n;if(r.has(a)){blockEmittingOfFile(t,e.createCompilerDiagnostic(e.Diagnostics.Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files,t))}else{r.set(a,true)}}}}function verifyProjectReferences(){forEachProjectReference(d,ee,function(t,r,n){var i=(n?n.commandLine.projectReferences:d)[r];var a=n&&n.sourceFile;if(!t){createDiagnosticForReference(a,r,e.Diagnostics.File_0_not_found,i.path);return}var o=t.commandLine.options;if(!o.composite){var s=n?n.commandLine.fileNames:u;if(s.length){createDiagnosticForReference(a,r,e.Diagnostics.Referenced_project_0_must_have_setting_composite_Colon_true,i.path)}}if(i.prepend){var c=o.outFile||o.out;if(c){if(!F.fileExists(c)){createDiagnosticForReference(a,r,e.Diagnostics.Output_file_0_from_project_1_does_not_exist,c,i.path)}}else{createDiagnosticForReference(a,r,e.Diagnostics.Cannot_prepend_project_0_because_it_does_not_have_outFile_set,i.path)}}})}function createDiagnosticForOptionPathKeyValue(t,r,n,i,a,o){var s=true;var c=getOptionPathsSyntax();for(var u=0,f=c;ur){L.add(e.createDiagnosticForNodeInSourceFile(l.configFile,m.elements[r],n,i,a,o));s=false}}}}if(s){L.add(e.createCompilerDiagnostic(n,i,a,o))}}function createDiagnosticForOptionPaths(t,r,n,i){var a=true;var o=getOptionPathsSyntax();for(var s=0,c=o;sr){L.add(e.createDiagnosticForNodeInSourceFile(t||l.configFile,o.elements[r],n,i,a))}else{L.add(e.createCompilerDiagnostic(n,i,a))}}function createDiagnosticForOption(t,r,n,i,a,o,s){var c=getCompilerOptionsObjectLiteralSyntax();var u=!c||!createOptionDiagnosticInObjectLiteralSyntax(c,t,r,n,i,a,o,s);if(u){L.add(e.createCompilerDiagnostic(i,a,o,s))}}function getCompilerOptionsObjectLiteralSyntax(){if(W===undefined){W=null;var t=e.getTsConfigObjectLiteralExpression(l.configFile);if(t){for(var r=0,n=e.getPropertyAssignment(t,"compilerOptions");r0){var a=t.getTypeChecker();for(var o=0,s=r.imports;o0){for(var f=0,d=r.referencedFiles;f1){addReferenceFromAmbientModule(S)}}return i;function addReferenceFromAmbientModule(t){for(var n=0,i=t.declarations;n0){l=o(d.outputFiles[0].text);if(s&&l!==u){updateExportedModules(n,d.exportedModulesFromDeclarationEmit,s)}}else{l=u}}i.set(n.path,l);return!u||l!==u}function updateExportedModules(t,r,n){if(!r){n.set(t.path,false);return}var i;r.forEach(function(e){return addExportedModule(getReferencedFileFromImportedModuleSymbol(e))});n.set(t.path,i||false);function addExportedModule(t){if(t){if(!i){i=e.createMap()}i.set(t,true)}}}function updateExportedFilesMapFromCache(t,r){if(r){e.Debug.assert(!!t.exportedModulesMap);r.forEach(function(e,r){if(e){t.exportedModulesMap.set(r,e)}else{t.exportedModulesMap.delete(r)}})}}t.updateExportedFilesMapFromCache=updateExportedFilesMapFromCache;function getAllDependencies(t,r,n){var i;var a=r.getCompilerOptions();if(a.outFile||a.out){return getAllFileNames(t,r)}if(!t.referencedMap||isFileAffectingGlobalScope(n)){return getAllFileNames(t,r)}var o=e.createMap();var s=[n.path];while(s.length){var c=s.pop();if(!o.has(c)){o.set(c,true);var u=t.referencedMap.get(c);if(u){var l=u.keys();for(var f=l.next(),d=f.value,p=f.done;!p;i=l.next(),d=i.value,p=i.done,i){s.push(d)}}}}return e.arrayFrom(e.mapDefinedIterator(o.keys(),function(e){var t=r.getSourceFileByPath(e);return t?t.fileName:e}))}t.getAllDependencies=getAllDependencies;function getAllFileNames(t,r){if(!t.allFileNames){var n=r.getSourceFiles();t.allFileNames=n===e.emptyArray?e.emptyArray:n.map(function(e){return e.fileName})}return t.allFileNames}function getReferencedByPaths(t,r){return e.arrayFrom(e.mapDefinedIterator(t.referencedMap.entries(),function(e){var t=e[0],n=e[1];return n.has(r)?t:undefined}))}function containsOnlyAmbientModules(t){for(var r=0,n=t.statements;r0){var f=l.pop();if(!u.has(f)){var d=r.getSourceFileByPath(f);u.set(f,d);if(d&&updateShapeSignature(t,r,d,i,a,o,s)){l.push.apply(l,getReferencedByPaths(t,f))}}}return e.arrayFrom(e.mapDefinedIterator(u.values(),function(e){return e}))}})(t=e.BuilderState||(e.BuilderState={}))})(s||(s={}));var s;(function(e){function hasSameKeys(t,r){return t===r||t!==undefined&&r!==undefined&&t.size===r.size&&!e.forEachKey(t,function(e){return!r.has(e)})}function createBuilderProgramState(t,r,n){var i=e.BuilderState.create(t,r,n);i.program=t;var a=t.getCompilerOptions();if(!a.outFile&&!a.out){i.semanticDiagnosticsPerFile=e.createMap()}i.changedFilesSet=e.createMap();var o=e.BuilderState.canReuseOldState(i.referencedMap,n);var s=o?n.program.getCompilerOptions():undefined;var c=o&&n.semanticDiagnosticsPerFile&&!!i.semanticDiagnosticsPerFile&&!e.compilerOptionsAffectSemanticDiagnostics(a,s);if(o){if(!n.currentChangedFilePath){e.Debug.assert(!n.affectedFiles&&(!n.currentAffectedFilesSignatures||!n.currentAffectedFilesSignatures.size),"Cannot reuse if only few affected files of currentChangedFile were iterated")}if(c){e.Debug.assert(!e.forEachKey(n.changedFilesSet,function(e){return n.semanticDiagnosticsPerFile.has(e)}),"Semantic diagnostics shouldnt be available for changed files")}e.copyEntries(n.changedFilesSet,i.changedFilesSet)}var u=i.referencedMap;var l=o?n.referencedMap:undefined;var f=c&&!a.skipLibCheck===!s.skipLibCheck;var d=f&&!a.skipDefaultLibCheck===!s.skipDefaultLibCheck;i.fileInfos.forEach(function(t,r){var a;var s;if(!o||!(a=n.fileInfos.get(r))||a.version!==t.version||!hasSameKeys(s=u&&u.get(r),l&&l.get(r))||s&&e.forEachKey(s,function(e){return!i.fileInfos.has(e)&&n.fileInfos.has(e)})){i.changedFilesSet.set(r,true)}else if(c){var p=i.program.getSourceFileByPath(r);if(p.isDeclarationFile&&!f){return}if(p.hasNoDefaultLib&&!d){return}var g=n.semanticDiagnosticsPerFile.get(r);if(g){i.semanticDiagnosticsPerFile.set(r,g);if(!i.semanticDiagnosticsFromOldState){i.semanticDiagnosticsFromOldState=e.createMap()}i.semanticDiagnosticsFromOldState.set(r,true)}}});return i}function assertSourceFileOkWithoutNextAffectedCall(t,r){e.Debug.assert(!r||!t.affectedFiles||t.affectedFiles[t.affectedFilesIndex-1]!==r||!t.semanticDiagnosticsPerFile.has(r.path))}function getNextAffectedFile(t,r,n){while(true){var i=t.affectedFiles;if(i){var a=t.seenAffectedFiles;var o=t.affectedFilesIndex;while(o0;a--){i=t.indexOf(e.directorySeparator,i)+1;if(i===0){return false}}return true}function getDirectoryToWatchFailedLookupLocation(t,r){if(isInDirectoryPath(S,r)){t=e.isRootedDiskPath(t)?e.normalizePath(t):e.getNormalizedAbsolutePath(t,u());e.Debug.assert(t.length===r.length,"FailedLookup: "+t+" failedLookupLocationPath: "+r);var n=r.indexOf(e.directorySeparator,S.length+1);if(n!==-1){return{dir:t.substr(0,n),dirPath:r.substr(0,n)}}else{return{dir:T,dirPath:S,nonRecursive:false}}}return getDirectoryToWatchFromFailedLookupLocationDirectory(e.getDirectoryPath(e.getNormalizedAbsolutePath(t,u())),e.getDirectoryPath(r))}function getDirectoryToWatchFromFailedLookupLocationDirectory(t,r){while(e.pathContainsNodeModules(r)){t=e.getDirectoryPath(t);r=e.getDirectoryPath(r)}if(isNodeModulesDirectory(r)){return canWatchDirectory(e.getDirectoryPath(r))?{dir:t,dirPath:r}:undefined}var n=true;var i,a;if(S!==undefined){while(!isInDirectoryPath(r,S)){var o=e.getDirectoryPath(r);if(o===r){break}n=false;i=r;a=t;r=o;t=e.getDirectoryPath(t)}}return canWatchDirectory(r)?{dir:a||t,dirPath:i||r,nonRecursive:n}:undefined}function isPathWithDefaultFailedLookupExtension(t){return e.fileExtensionIsOneOf(t,y)}function watchFailedLookupLocationsOfExternalModuleResolutions(t,r){if(r.failedLookupLocations&&r.failedLookupLocations.length){if(r.refCount){r.refCount++}else{r.refCount=1;if(e.isExternalModuleNameRelative(t)){watchFailedLookupLocationOfResolution(r)}else{c.add(t,r)}}}}function watchFailedLookupLocationOfResolution(r){e.Debug.assert(!!r.refCount);var n=r.failedLookupLocations;var i=false;for(var a=0,o=n;a1);h.set(c,f-1)}}if(l===S){i=true}else{removeDirectoryWatcher(l)}}}if(i){removeDirectoryWatcher(S)}}function removeDirectoryWatcher(e){var t=v.get(e);t.refCount--}function createDirectoryWatcher(e,r,n){return t.watchDirectoryOfFailedLookupLocation(e,function(e){var n=t.toPath(e);if(l){l.addOrDeleteFileOrDirectory(e,n)}if(!s&&invalidateResolutionOfFailedLookupLocation(n,r===n)){t.onInvalidatedResolution()}},n?0:1)}function removeResolutionsOfFileFromCache(e,t){var r=e.get(t);if(r){r.forEach(stopWatchFailedLookupLocationOfResolution);e.delete(t)}}function removeResolutionsFromProjectReferenceRedirects(r){if(!e.fileExtensionIs(r,".json")){return}var n=t.getCurrentProgram();if(!n){return}var i=n.getResolvedProjectReferenceByPath(r);if(!i){return}i.commandLine.fileNames.forEach(function(e){return removeResolutionsOfFile(t.toPath(e))})}function removeResolutionsOfFile(e){removeResolutionsOfFileFromCache(f,e);removeResolutionsOfFileFromCache(_,e)}function invalidateResolutionCache(t,r,n){var i=e.createMap();t.forEach(function(t,o){var s=e.getDirectoryPath(o);var c=i.get(s);if(!c){c=e.createMap();i.set(s,c)}t.forEach(function(t,i){if(c.has(i)){return}c.set(i,true);if(!t.isInvalidated&&r(t,n)){t.isInvalidated=true;(a||(a=e.createMap())).set(o,true)}})})}function hasReachedResolutionIterationLimit(){var r=t.maxNumberOfFilesToIterateForInvalidation||e.maxNumberOfFilesToIterateForInvalidation;return f.size>r||_.size>r}function invalidateResolutions(e){if(hasReachedResolutionIterationLimit()){s=true;return}invalidateResolutionCache(f,e,getResolvedModule);invalidateResolutionCache(_,e,getResolvedTypeReferenceDirective)}function invalidateResolutionOfFile(e){removeResolutionsOfFile(e);invalidateResolutions(function(r,n){var i=n(r);return!!i&&t.toPath(i.resolvedFileName)===e})}function setFilesWithInvalidatedNonRelativeUnresolvedImports(t){e.Debug.assert(o===t||o===undefined);o=t}function invalidateResolutionOfFailedLookupLocation(r,n){var i;if(n){i=function(e){return isInDirectoryPath(r,t.toPath(e))}}else{if(isPathInNodeModulesStartingWithDot(r))return false;var o=e.getDirectoryPath(r);if(isNodeModulesAtTypesDirectory(r)||isNodeModulesDirectory(r)||isNodeModulesAtTypesDirectory(o)||isNodeModulesDirectory(o)){i=function(n){var i=t.toPath(n);return i===r||e.startsWith(t.toPath(n),r)}}else{if(!isPathWithDefaultFailedLookupExtension(r)&&!h.has(r)){return false}if(e.isEmittedFileOfProgram(t.getCurrentProgram(),r)){return false}i=function(e){return t.toPath(e)===r}}}var c=function(t){return e.some(t.failedLookupLocations,i)};var u=a&&a.size;invalidateResolutions(c);return s||a&&a.size!==u}function closeTypeRootsWatch(){e.clearMap(b,e.closeFileWatcher)}function getDirectoryToWatchFailedLookupLocationFromTypeRoot(e,t){if(s){return undefined}if(isInDirectoryPath(S,t)){return S}var r=getDirectoryToWatchFromFailedLookupLocationDirectory(e,t);return r&&v.has(r.dirPath)?r.dirPath:undefined}function createTypeRootsWatch(e,r){return t.watchTypeRootsDirectory(r,function(n){var i=t.toPath(n);if(l){l.addOrDeleteFileOrDirectory(n,i)}t.onChangedAutomaticTypeDirectiveNames();var a=getDirectoryToWatchFailedLookupLocationFromTypeRoot(r,e);if(a&&invalidateResolutionOfFailedLookupLocation(i,a===i)){t.onInvalidatedResolution()}},1)}function updateTypeRootsWatch(){var r=t.getCompilationSettings();if(r.types){closeTypeRootsWatch();return}var n=e.getEffectiveTypeRoots(r,{directoryExists:directoryExistsForTypeRootWatch,getCurrentDirectory:u});if(n){e.mutateMap(b,e.arrayToMap(n,function(e){return t.toPath(e)}),{createNewValue:createTypeRootsWatch,onDeleteValue:e.closeFileWatcher})}else{closeTypeRootsWatch()}}function directoryExistsForTypeRootWatch(r){var n=e.getDirectoryPath(e.getDirectoryPath(r));var i=t.toPath(n);return i===S||canWatchDirectory(i)}}e.createResolutionCache=createResolutionCache})(s||(s={}));var s;(function(e){var t;(function(t){var r;(function(e){e[e["Relative"]=0]="Relative";e[e["NonRelative"]=1]="NonRelative";e[e["Auto"]=2]="Auto"})(r||(r={}));var n;(function(e){e[e["Minimal"]=0]="Minimal";e[e["Index"]=1]="Index";e[e["JsExtension"]=2]="JsExtension"})(n||(n={}));function getPreferences(t,r,n){var i=t.importModuleSpecifierPreference,a=t.importModuleSpecifierEnding;return{relativePreference:i==="relative"?0:i==="non-relative"?1:2,ending:getEnding()};function getEnding(){switch(a){case"minimal":return 0;case"index":return 1;case"js":return 2;default:return usesJsExtensionOnImports(n)?2:e.getEmitModuleResolutionKind(r)!==e.ModuleResolutionKind.NodeJs?1:0}}}function getPreferencesForUpdate(t,r){return{relativePreference:e.isExternalModuleNameRelative(r)?0:1,ending:e.hasJSOrJsonFileExtension(r)?2:e.getEmitModuleResolutionKind(t)!==e.ModuleResolutionKind.NodeJs||e.endsWith(r,"index")?1:0}}function updateModuleSpecifier(e,t,r,n,i,a,o){var s=getModuleSpecifierWorker(e,t,r,n,i,a,getPreferencesForUpdate(e,o));if(s===o)return undefined;return s}t.updateModuleSpecifier=updateModuleSpecifier;function getModuleSpecifier(e,t,r,n,i,a,o,s){if(o===void 0){o={}}return getModuleSpecifierWorker(e,r,n,i,a,s,getPreferences(o,e,t))}t.getModuleSpecifier=getModuleSpecifier;function getModuleSpecifierWorker(t,r,n,i,a,o,s){var c=getInfo(r,i);var u=getAllModulePaths(a,r,n,c.getCanonicalFileName,i,o);return e.firstDefined(u,function(e){return tryGetModuleNameAsNodeModule(e,c,i,t)})||getLocalModuleSpecifier(n,c,t,s)}function getModuleSpecifiers(t,r,n,i,a,o,s){var c=tryGetModuleNameFromAmbientModule(t);if(c)return[c];var u=getInfo(n.path,i);var l=e.getSourceFileOfNode(t.valueDeclaration||e.getNonAugmentationDeclaration(t));var f=getAllModulePaths(a,n.path,l.fileName,u.getCanonicalFileName,i,s);var d=getPreferences(o,r,n);var p=e.mapDefined(f,function(e){return tryGetModuleNameAsNodeModule(e,u,i,r)});return p.length?p:f.map(function(e){return getLocalModuleSpecifier(e,u,r,d)})}t.getModuleSpecifiers=getModuleSpecifiers;function getInfo(t,r){var n=e.createGetCanonicalFileName(r.useCaseSensitiveFileNames?r.useCaseSensitiveFileNames():true);var i=e.getDirectoryPath(t);return{getCanonicalFileName:n,sourceDirectory:i}}function getLocalModuleSpecifier(t,r,n,i){var a=r.getCanonicalFileName,o=r.sourceDirectory;var s=i.ending,c=i.relativePreference;var u=n.baseUrl,l=n.paths,f=n.rootDirs;var d=f&&tryGetModuleNameFromRootDirs(f,t,o,a)||removeExtensionAndIndexPostFix(e.ensurePathIsNonModuleName(e.getRelativePathFromDirectory(o,t,a)),s,n);if(!u||c===0){return d}var p=getRelativePathIfInDirectory(t,u,a);if(!p){return d}var g=removeExtensionAndIndexPostFix(p,s,n);var _=l&&tryGetModuleNameFromPaths(e.removeFileExtension(p),g,l);var m=_===undefined?g:_;if(c===1){return m}if(c!==2)e.Debug.assertNever(c);return isPathRelativeToParent(m)||countPathComponents(d)=l.length+f.length&&e.startsWith(r,l)&&e.endsWith(r,f)||!f&&r===e.removeTrailingDirectorySeparator(l)){var d=r.substr(l.length,r.length-f.length);return i.replace("*",d)}}else if(c===r||c===t){return i}}}}function tryGetModuleNameFromRootDirs(t,r,n,i){var a=getPathRelativeToRootDirs(r,t,i);if(a===undefined){return undefined}var o=getPathRelativeToRootDirs(n,t,i);var s=o!==undefined?e.ensurePathIsNonModuleName(e.getRelativePathFromDirectory(o,a,i)):a;return e.removeFileExtension(s)}function tryGetModuleNameAsNodeModule(t,r,n,i){var a=r.getCanonicalFileName,o=r.sourceDirectory;if(!n.fileExists||!n.readFile){return undefined}var s=getNodeModulePathParts(t);if(!s){return undefined}var c=t.substring(0,s.packageRootIndex);var u=e.combinePaths(c,"package.json");var l=n.fileExists(u)?JSON.parse(n.readFile(u)):undefined;var f=l&&l.typesVersions?e.getPackageJsonTypesVersionsPaths(l.typesVersions):undefined;if(f){var d=t.slice(s.packageRootIndex+1);var p=tryGetModuleNameFromPaths(e.removeFileExtension(d),removeExtensionAndIndexPostFix(d,0,i),f.paths);if(p!==undefined){t=e.combinePaths(t.slice(0,s.packageRootIndex),p)}}var g=getDirectoryOrExtensionlessFileName(t);if(!e.startsWith(o,a(g.substring(0,s.topLevelNodeModulesIndex))))return undefined;var _=g.substring(s.topLevelPackageNameIndex+1);var m=e.getPackageNameFromTypesPackageName(_);return e.getEmitModuleResolutionKind(i)!==e.ModuleResolutionKind.NodeJs&&m===_?undefined:m;function getDirectoryOrExtensionlessFileName(t){if(l){var r=l.typings||l.types||l.main;if(r){var i=e.toPath(r,c,a);if(e.removeFileExtension(i)===e.removeFileExtension(a(t))){return c}}}var o=e.removeFileExtension(t);if(a(o.substring(s.fileNameIndex))==="/index"&&!tryGetAnyFileFromPath(n,o.substring(0,s.fileNameIndex))){return o.substring(0,s.fileNameIndex)}return o}}function tryGetAnyFileFromPath(t,r){if(!t.fileExists)return;var n=e.getSupportedExtensions({allowJs:true},[{extension:"node",isMixedContent:false},{extension:"json",isMixedContent:false,scriptKind:6}]);for(var i=0,a=n;i=0){s=c;c=t.indexOf("/",s+1);switch(u){case 0:if(t.indexOf(e.nodeModulesPathPart,s)===s){r=s;n=c;u=1}break;case 1:case 2:if(u===1&&t.charAt(s+1)==="@"){u=2}else{i=c;u=3}break;case 3:if(t.indexOf(e.nodeModulesPathPart,s)===s){u=1}else{u=3}break}}a=s;return u>1?{topLevelNodeModulesIndex:r,topLevelPackageNameIndex:n,packageRootIndex:i,fileNameIndex:a}:undefined}function getPathRelativeToRootDirs(t,r,n){return e.firstDefined(r,function(e){var r=getRelativePathIfInDirectory(t,e,n);return isPathRelativeToParent(r)?undefined:r})}function removeExtensionAndIndexPostFix(t,r,n){if(e.fileExtensionIs(t,".json"))return t;var i=e.removeFileExtension(t);switch(r){case 0:return e.removeSuffix(i,"/index");case 1:return i;case 2:return i+getJSExtensionForFile(t,n);default:return e.Debug.assertNever(r)}}function getJSExtensionForFile(t,r){var n=e.extensionFromPath(t);switch(n){case".ts":case".d.ts":return".js";case".tsx":return r.jsx===1?".jsx":".js";case".js":case".jsx":case".json":return n;default:return e.Debug.assertNever(n)}}function getRelativePathIfInDirectory(t,r,n){var i=e.getRelativePathToDirectoryOrUrl(r,t,r,n,false);return e.isRootedDiskPath(i)?undefined:i}function isPathRelativeToParent(t){return e.startsWith(t,"..")}})(t=e.moduleSpecifiers||(e.moduleSpecifiers={}))})(s||(s={}));var s;(function(e){var t=e.sys?{getCurrentDirectory:function(){return e.sys.getCurrentDirectory()},getNewLine:function(){return e.sys.newLine},getCanonicalFileName:e.createGetCanonicalFileName(e.sys.useCaseSensitiveFileNames)}:undefined;function createDiagnosticReporter(r,n){var i=r===e.sys?t:{getCurrentDirectory:function(){return r.getCurrentDirectory()},getNewLine:function(){return r.newLine},getCanonicalFileName:e.createGetCanonicalFileName(r.useCaseSensitiveFileNames)};if(!n){return function(t){return r.write(e.formatDiagnostic(t,i))}}var a=new Array(1);return function(t){a[0]=t;r.write(e.formatDiagnosticsWithColorAndContext(a,i)+i.getNewLine());a[0]=undefined}}e.createDiagnosticReporter=createDiagnosticReporter;function clearScreenIfNotWatchingForFileChanges(t,r,n){if(t.clearScreen&&!n.preserveWatchOutput&&!n.extendedDiagnostics&&!n.diagnostics&&e.contains(e.screenStartingMessageCodes,r.code)){t.clearScreen();return true}return false}e.screenStartingMessageCodes=[e.Diagnostics.Starting_compilation_in_watch_mode.code,e.Diagnostics.File_change_detected_Starting_incremental_compilation.code];function getPlainDiagnosticFollowingNewLines(t,r){return e.contains(e.screenStartingMessageCodes,t.code)?r+r:r}function createWatchStatusReporter(t,r){return r?function(r,n,i){clearScreenIfNotWatchingForFileChanges(t,r,i);var a="["+e.formatColorAndReset((new Date).toLocaleTimeString(),e.ForegroundColorEscapeSequences.Grey)+"] ";a+=""+e.flattenDiagnosticMessageText(r.messageText,t.newLine)+(n+n);t.write(a)}:function(r,n,i){var a="";if(!clearScreenIfNotWatchingForFileChanges(t,r,i)){a+=n}a+=(new Date).toLocaleTimeString()+" - ";a+=""+e.flattenDiagnosticMessageText(r.messageText,t.newLine)+getPlainDiagnosticFollowingNewLines(r,n);t.write(a)}}e.createWatchStatusReporter=createWatchStatusReporter;function parseConfigFileWithSystem(t,r,n,i){var a=n;a.onUnRecoverableConfigFileDiagnostic=function(t){return reportUnrecoverableDiagnostic(e.sys,i,t)};var o=e.getParsedCommandLineOfConfigFile(t,r,a);a.onUnRecoverableConfigFileDiagnostic=undefined;return o}e.parseConfigFileWithSystem=parseConfigFileWithSystem;function getErrorCountForSummary(t){return e.countWhere(t,function(t){return t.category===e.DiagnosticCategory.Error})}e.getErrorCountForSummary=getErrorCountForSummary;function getWatchErrorSummaryDiagnosticMessage(t){return t===1?e.Diagnostics.Found_1_error_Watching_for_file_changes:e.Diagnostics.Found_0_errors_Watching_for_file_changes}e.getWatchErrorSummaryDiagnosticMessage=getWatchErrorSummaryDiagnosticMessage;function getErrorSummaryText(t,r){if(t===0)return"";var n=e.createCompilerDiagnostic(t===1?e.Diagnostics.Found_1_error:e.Diagnostics.Found_0_errors,t);return""+r+e.flattenDiagnosticMessageText(n.messageText,r)+r+r}e.getErrorSummaryText=getErrorSummaryText;function emitFilesAndReportErrors(t,r,n,i,a){var o=t.getConfigFileParsingDiagnostics().slice();var s=o.length;e.addRange(o,t.getSyntacticDiagnostics());var c=false;if(o.length===s){e.addRange(o,t.getOptionsDiagnostics());e.addRange(o,t.getGlobalDiagnostics());if(o.length===s){c=true}}var u=t.emit(undefined,a),l=u.emittedFiles,f=u.emitSkipped,d=u.diagnostics;e.addRange(o,d);if(c){e.addRange(o,t.getSemanticDiagnostics())}e.sortAndDeduplicateDiagnostics(o).forEach(r);if(n){var p=t.getCurrentDirectory();e.forEach(l,function(t){var r=e.getNormalizedAbsolutePath(t,p);n("TSFILE: "+r)});if(t.getCompilerOptions().listFiles){e.forEach(t.getSourceFiles(),function(e){n(e.fileName)})}}if(i){i(getErrorCountForSummary(o))}if(f&&o.length>0){return e.ExitStatus.DiagnosticsPresent_OutputsSkipped}else if(o.length>0){return e.ExitStatus.DiagnosticsPresent_OutputsGenerated}return e.ExitStatus.Success}e.emitFilesAndReportErrors=emitFilesAndReportErrors;var r={close:e.noop};function createWatchHost(t,n){if(t===void 0){t=e.sys}var i=n||createWatchStatusReporter(t);return{onWatchStatusChange:i,watchFile:t.watchFile?function(e,r,n){return t.watchFile(e,r,n)}:function(){return r},watchDirectory:t.watchDirectory?function(e,r,n){return t.watchDirectory(e,r,n)}:function(){return r},setTimeout:t.setTimeout?function(e,r){var n=[];for(var i=2;ie.getRootLength(t)&&!r.directoryExists(t)){var n=e.getDirectoryPath(t);ensureDirectoriesExist(n);r.createDirectory(t)}}function writeFile(t,n,i,a){try{e.performance.mark("beforeIOWrite");ensureDirectoriesExist(e.getDirectoryPath(e.normalizePath(t)));r.writeFile(t,n,i);e.performance.mark("afterIOWrite");e.performance.measure("I/O Write","beforeIOWrite","afterIOWrite")}catch(e){if(a){a(e.message)}}}}e.createWatchProgram=createWatchProgram})(s||(s={}));var s;(function(e){var t=new Date(-864e13);var r=new Date(864e13);var n;(function(e){e[e["None"]=0]="None";e[e["Success"]=1]="Success";e[e["DeclarationOutputUnchanged"]=2]="DeclarationOutputUnchanged";e[e["ConfigFileErrors"]=4]="ConfigFileErrors";e[e["SyntaxErrors"]=8]="SyntaxErrors";e[e["TypeErrors"]=16]="TypeErrors";e[e["DeclarationEmitErrors"]=32]="DeclarationEmitErrors";e[e["EmitErrors"]=64]="EmitErrors";e[e["AnyErrors"]=124]="AnyErrors"})(n||(n={}));var i;(function(e){e[e["Unbuildable"]=0]="Unbuildable";e[e["UpToDate"]=1]="UpToDate";e[e["UpToDateWithUpstreamTypes"]=2]="UpToDateWithUpstreamTypes";e[e["OutputMissing"]=3]="OutputMissing";e[e["OutOfDateWithSelf"]=4]="OutOfDateWithSelf";e[e["OutOfDateWithUpstream"]=5]="OutOfDateWithUpstream";e[e["UpstreamOutOfDate"]=6]="UpstreamOutOfDate";e[e["UpstreamBlocked"]=7]="UpstreamBlocked";e[e["ComputingUpstream"]=8]="ComputingUpstream";e[e["ContainerOnly"]=9]="ContainerOnly"})(i=e.UpToDateStatusType||(e.UpToDateStatusType={}));function createFileMap(t){var r=e.createMap();return{setValue:setValue,getValue:getValue,removeKey:removeKey,forEach:forEach,hasKey:hasKey,getSize:getSize,clear:clear};function forEach(e){r.forEach(e)}function hasKey(e){return r.has(t(e))}function removeKey(e){r.delete(t(e))}function setValue(e,n){r.set(t(e),n)}function getValue(e){return r.get(t(e))}function getSize(){return r.size}function clear(){r.clear()}}function getOrCreateValueFromConfigFileMap(e,t,r){var n=e.getValue(t);var i;if(!n){i=r();e.setValue(t,i)}return n||i}function getOrCreateValueMapFromConfigFileMap(t,r){return getOrCreateValueFromConfigFileMap(t,r,e.createMap)}function getOutputDeclarationFileName(t,r){var n=e.getRelativePathFromDirectory(rootDirOfOptions(r.options,r.options.configFilePath),t,true);var i=e.resolvePath(r.options.declarationDir||r.options.outDir||e.getDirectoryPath(r.options.configFilePath),n);return e.changeExtension(i,".d.ts")}e.getOutputDeclarationFileName=getOutputDeclarationFileName;function getOutputJSFileName(t,r){var n=e.getRelativePathFromDirectory(rootDirOfOptions(r.options,r.options.configFilePath),t,true);var i=e.resolvePath(r.options.outDir||e.getDirectoryPath(r.options.configFilePath),n);var a=e.fileExtensionIs(t,".json")?".json":e.fileExtensionIs(t,".tsx")&&r.options.jsx===1?".jsx":".js";return e.changeExtension(i,a)}function getOutputFileNames(t,r){if(r.options.outFile||r.options.out||e.fileExtensionIs(t,".d.ts")){return e.emptyArray}var n=[];var i=getOutputJSFileName(t,r);n.push(i);if(r.options.sourceMap){n.push(i+".map")}if(e.getEmitDeclarations(r.options)&&!e.fileExtensionIs(t,".json")){var a=getOutputDeclarationFileName(t,r);n.push(a);if(r.options.declarationMap){n.push(a+".map")}}return n}function getOutFileOutputs(t){var r=t.options.outFile||t.options.out;if(!r){return e.Debug.fail("outFile must be set")}var n=[];n.push(r);if(t.options.sourceMap){n.push(r+".map")}if(e.getEmitDeclarations(t.options)){var i=e.changeExtension(r,".d.ts");n.push(i);if(t.options.declarationMap){n.push(i+".map")}}return n}function rootDirOfOptions(t,r){return t.rootDir||e.getDirectoryPath(r)}function newer(e,t){return t>e?t:e}function isDeclarationFile(t){return e.fileExtensionIs(t,".d.ts")}function createBuilderStatusReporter(t,r){return function(n){var i=r?"["+e.formatColorAndReset((new Date).toLocaleTimeString(),e.ForegroundColorEscapeSequences.Grey)+"] ":(new Date).toLocaleTimeString()+" - ";i+=""+e.flattenDiagnosticMessageText(n.messageText,t.newLine)+(t.newLine+t.newLine);t.write(i)}}e.createBuilderStatusReporter=createBuilderStatusReporter;function createSolutionBuilderHostBase(t,r,n){if(t===void 0){t=e.sys}var i=e.createCompilerHostWorker({},undefined,t);i.getModifiedTime=t.getModifiedTime?function(e){return t.getModifiedTime(e)}:function(){return undefined};i.setModifiedTime=t.setModifiedTime?function(e,r){return t.setModifiedTime(e,r)}:e.noop;i.deleteFile=t.deleteFile?function(e){return t.deleteFile(e)}:e.noop;i.reportDiagnostic=r||e.createDiagnosticReporter(t);i.reportSolutionBuilderStatus=n||createBuilderStatusReporter(t);return i}function createSolutionBuilderHost(t,r,n,i){if(t===void 0){t=e.sys}var a=createSolutionBuilderHostBase(t,r,n);a.reportErrorSummary=i;return a}e.createSolutionBuilderHost=createSolutionBuilderHost;function createSolutionBuilderWithWatchHost(t,r,n,i){var a=createSolutionBuilderHostBase(t,r,n);var o=e.createWatchHost(t,i);a.onWatchStatusChange=o.onWatchStatusChange;a.watchFile=o.watchFile;a.watchDirectory=o.watchDirectory;a.setTimeout=o.setTimeout;a.clearTimeout=o.clearTimeout;return a}e.createSolutionBuilderWithWatchHost=createSolutionBuilderWithWatchHost;function getCompilerOptionsOfBuildOptions(t){var r={};e.commonOptionsWithBuild.forEach(function(e){r[e.name]=t[e.name]});return r}function createSolutionBuilder(a,o,s){var c=a;var u=a.getCurrentDirectory();var l=e.createGetCanonicalFileName(a.useCaseSensitiveFileNames());var f=e.parseConfigHostFromCompilerHost(a);var d=s;var p=getCompilerOptionsOfBuildOptions(d);var g=createFileMap(toPath);var _=createFileMap(toPath);var m=createFileMap(toPath);var y=e.createMap();var h;var v=function(e){return a.trace&&a.trace(e)};var T=function(e){return a.readFile(e)};var S=createFileMap(toPath);var b=createFileMap(toPath);var x=createFileMap(toPath);var C=[];var E=0;var D;var k=false;var N=createFileMap(toPath);var A=createFileMap(toPath);var O=createFileMap(toPath);return{buildAllProjects:buildAllProjects,getUpToDateStatusOfFile:getUpToDateStatusOfFile,cleanAllProjects:cleanAllProjects,resetBuildContext:resetBuildContext,getBuildGraph:getBuildGraph,invalidateProject:invalidateProject,buildInvalidatedProject:buildInvalidatedProject,resolveProjectName:resolveProjectName,startWatching:startWatching};function toPath(t){return e.toPath(t,u,l)}function resetBuildContext(t){if(t===void 0){t=s}d=t;p=getCompilerOptionsOfBuildOptions(d);g.clear();_.clear();m.clear();y.clear();h=undefined;S.clear();b.clear();x.clear();C.length=0;E=0;if(D){clearTimeout(D);D=undefined}k=false;e.clearMap(N,function(t){return e.clearMap(t,e.closeFileWatcherOf)});e.clearMap(A,function(t){return e.clearMap(t,e.closeFileWatcher)});e.clearMap(O,e.closeFileWatcher)}function isParsedCommandLine(e){return!!e.options}function parseConfigFile(t){var r=g.getValue(t);if(r){return isParsedCommandLine(r)?r:undefined}var n;f.onUnRecoverableConfigFileDiagnostic=function(e){return n=e};var i=e.getParsedCommandLineOfConfigFile(t,p,f);f.onUnRecoverableConfigFileDiagnostic=e.noop;g.setValue(t,i||n);return i}function reportStatus(t){var r=[];for(var n=1;ns){o=l;s=f}}var d=getAllProjectOutputs(n);if(d.length===0){return{type:i.ContainerOnly}}var p="(none)";var g=r;var y="(none)";var h=t;var v;var T=t;var S=false;for(var b=0,x=d;bh){h=E;y=C}if(isDeclarationFile(C)){var D=_.getValue(C);if(D!==undefined){T=newer(D,T)}else{var k=a.getModifiedTime(C)||e.missingFileModifiedTime;T=newer(T,k)}}}var N=false;var A=false;var O;if(n.projectReferences){m.setValue(n.options.configFilePath,{type:i.ComputingUpstream});for(var F=0,P=n.projectReferences;F4){return a(e.has(r),t)}e.add(r);t.push(n);var o=i();t.pop();e.delete(r);return o}}function getValueInfo(t,r,n){return n(r,t,function(){if(typeof r==="function")return getFunctionOrClassInfo(r,t,n);if(typeof r==="object"){var i=getBuiltinType(t,r,n);if(i!==undefined)return i;var a=getEntriesOfObject(r);var o=Object.getPrototypeOf(r)!==Object.prototype;var s=e.flatMap(a,function(e){var t=e.key,r=e.value;return getValueInfo(t,r,n)});return{kind:3,name:t,hasNontrivialPrototype:o,members:s}}return{kind:0,name:t,typeName:isNullOrUndefined(r)?"any":typeof r}},function(e,r){return anyValue(t," "+(e?"Circular reference":"Too-deep object hierarchy")+" from "+r.join("."))})}function getFunctionOrClassInfo(t,r,n){var i=getPrototypeMembers(t,n);var a=e.flatMap(getEntriesOfObject(t),function(e){var t=e.key,r=e.value;return getValueInfo(t,r,n)});var o=e.cast(Function.prototype.toString.call(t),e.isString);var s=e.stringContains(o,"{ [native code] }")?getFunctionLength(t):o;return{kind:2,name:r,source:s,namespaceMembers:a,prototypeMembers:i}}var r=e.memoize(function(){var t=e.createMap();for(var r=0,n=getEntriesOfObject(global);r=0}t.hasArgument=hasArgument;function findArgument(t){var r=e.sys.args.indexOf(t);return r>=0&&rn){return 3}if(e.charCodeAt(0)===46){return 4}if(e.charCodeAt(0)===95){return 5}if(/^@[^/]+\/[^/]+$/.test(e)){return 1}if(encodeURIComponent(e)!==e){return 6}return 0}t.validatePackageName=validatePackageName;function renderPackageNameValidationFailure(t,r){switch(t){case 2:return"Package name '"+r+"' cannot be empty";case 3:return"Package name '"+r+"' should be less than "+n+" characters";case 4:return"Package name '"+r+"' cannot start with '.'";case 5:return"Package name '"+r+"' cannot start with '_'";case 1:return"Package '"+r+"' is scoped and currently is not supported";case 6:return"Package name '"+r+"' contains non URI safe characters";case 0:return e.Debug.fail();default:throw e.Debug.assertNever(t)}}t.renderPackageNameValidationFailure=renderPackageNameValidationFailure})(t=e.JsTyping||(e.JsTyping={}))})(s||(s={}));var s;(function(e){var t;(function(e){var t=function(){function StringScriptSnapshot(e){this.text=e}StringScriptSnapshot.prototype.getText=function(e,t){return e===0&&t===this.text.length?this.text:this.text.substring(e,t)};StringScriptSnapshot.prototype.getLength=function(){return this.text.length};StringScriptSnapshot.prototype.getChangeRange=function(){return undefined};return StringScriptSnapshot}();function fromString(e){return new t(e)}e.fromString=fromString})(t=e.ScriptSnapshot||(e.ScriptSnapshot={}));e.emptyOptions={};var r;(function(e){e["none"]="none";e["definition"]="definition";e["reference"]="reference";e["writtenReference"]="writtenReference"})(r=e.HighlightSpanKind||(e.HighlightSpanKind={}));var n;(function(e){e[e["None"]=0]="None";e[e["Block"]=1]="Block";e[e["Smart"]=2]="Smart"})(n=e.IndentStyle||(e.IndentStyle={}));function getDefaultFormatCodeSettings(e){return{indentSize:4,tabSize:4,newLineCharacter:e||"\n",convertTabsToSpaces:true,indentStyle:n.Smart,insertSpaceAfterConstructor:false,insertSpaceAfterCommaDelimiter:true,insertSpaceAfterSemicolonInForStatements:true,insertSpaceBeforeAndAfterBinaryOperators:true,insertSpaceAfterKeywordsInControlFlowStatements:true,insertSpaceAfterFunctionKeywordForAnonymousFunctions:false,insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis:false,insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets:false,insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces:true,insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces:false,insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces:false,insertSpaceBeforeFunctionParenthesis:false,placeOpenBraceOnNewLineForFunctions:false,placeOpenBraceOnNewLineForControlBlocks:false}}e.getDefaultFormatCodeSettings=getDefaultFormatCodeSettings;e.testFormatSettings=getDefaultFormatCodeSettings("\n");var i;(function(e){e[e["aliasName"]=0]="aliasName";e[e["className"]=1]="className";e[e["enumName"]=2]="enumName";e[e["fieldName"]=3]="fieldName";e[e["interfaceName"]=4]="interfaceName";e[e["keyword"]=5]="keyword";e[e["lineBreak"]=6]="lineBreak";e[e["numericLiteral"]=7]="numericLiteral";e[e["stringLiteral"]=8]="stringLiteral";e[e["localName"]=9]="localName";e[e["methodName"]=10]="methodName";e[e["moduleName"]=11]="moduleName";e[e["operator"]=12]="operator";e[e["parameterName"]=13]="parameterName";e[e["propertyName"]=14]="propertyName";e[e["punctuation"]=15]="punctuation";e[e["space"]=16]="space";e[e["text"]=17]="text";e[e["typeParameterName"]=18]="typeParameterName";e[e["enumMemberName"]=19]="enumMemberName";e[e["functionName"]=20]="functionName";e[e["regularExpressionLiteral"]=21]="regularExpressionLiteral"})(i=e.SymbolDisplayPartKind||(e.SymbolDisplayPartKind={}));var a;(function(e){e["Comment"]="comment";e["Region"]="region";e["Code"]="code";e["Imports"]="imports"})(a=e.OutliningSpanKind||(e.OutliningSpanKind={}));var o;(function(e){e[e["JavaScript"]=0]="JavaScript";e[e["SourceMap"]=1]="SourceMap";e[e["Declaration"]=2]="Declaration"})(o=e.OutputFileType||(e.OutputFileType={}));var s;(function(e){e[e["None"]=0]="None";e[e["InMultiLineCommentTrivia"]=1]="InMultiLineCommentTrivia";e[e["InSingleQuoteStringLiteral"]=2]="InSingleQuoteStringLiteral";e[e["InDoubleQuoteStringLiteral"]=3]="InDoubleQuoteStringLiteral";e[e["InTemplateHeadOrNoSubstitutionTemplate"]=4]="InTemplateHeadOrNoSubstitutionTemplate";e[e["InTemplateMiddleOrTail"]=5]="InTemplateMiddleOrTail";e[e["InTemplateSubstitutionPosition"]=6]="InTemplateSubstitutionPosition"})(s=e.EndOfLineState||(e.EndOfLineState={}));var c;(function(e){e[e["Punctuation"]=0]="Punctuation";e[e["Keyword"]=1]="Keyword";e[e["Operator"]=2]="Operator";e[e["Comment"]=3]="Comment";e[e["Whitespace"]=4]="Whitespace";e[e["Identifier"]=5]="Identifier";e[e["NumberLiteral"]=6]="NumberLiteral";e[e["BigIntLiteral"]=7]="BigIntLiteral";e[e["StringLiteral"]=8]="StringLiteral";e[e["RegExpLiteral"]=9]="RegExpLiteral"})(c=e.TokenClass||(e.TokenClass={}));var u;(function(e){e["unknown"]="";e["warning"]="warning";e["keyword"]="keyword";e["scriptElement"]="script";e["moduleElement"]="module";e["classElement"]="class";e["localClassElement"]="local class";e["interfaceElement"]="interface";e["typeElement"]="type";e["enumElement"]="enum";e["enumMemberElement"]="enum member";e["variableElement"]="var";e["localVariableElement"]="local var";e["functionElement"]="function";e["localFunctionElement"]="local function";e["memberFunctionElement"]="method";e["memberGetAccessorElement"]="getter";e["memberSetAccessorElement"]="setter";e["memberVariableElement"]="property";e["constructorImplementationElement"]="constructor";e["callSignatureElement"]="call";e["indexSignatureElement"]="index";e["constructSignatureElement"]="construct";e["parameterElement"]="parameter";e["typeParameterElement"]="type parameter";e["primitiveType"]="primitive type";e["label"]="label";e["alias"]="alias";e["constElement"]="const";e["letElement"]="let";e["directory"]="directory";e["externalModuleName"]="external module name";e["jsxAttribute"]="JSX attribute";e["string"]="string"})(u=e.ScriptElementKind||(e.ScriptElementKind={}));var l;(function(e){e["none"]="";e["publicMemberModifier"]="public";e["privateMemberModifier"]="private";e["protectedMemberModifier"]="protected";e["exportedModifier"]="export";e["ambientModifier"]="declare";e["staticModifier"]="static";e["abstractModifier"]="abstract";e["optionalModifier"]="optional";e["dtsModifier"]=".d.ts";e["tsModifier"]=".ts";e["tsxModifier"]=".tsx";e["jsModifier"]=".js";e["jsxModifier"]=".jsx";e["jsonModifier"]=".json"})(l=e.ScriptElementKindModifier||(e.ScriptElementKindModifier={}));var f;(function(e){e["comment"]="comment";e["identifier"]="identifier";e["keyword"]="keyword";e["numericLiteral"]="number";e["bigintLiteral"]="bigint";e["operator"]="operator";e["stringLiteral"]="string";e["whiteSpace"]="whitespace";e["text"]="text";e["punctuation"]="punctuation";e["className"]="class name";e["enumName"]="enum name";e["interfaceName"]="interface name";e["moduleName"]="module name";e["typeParameterName"]="type parameter name";e["typeAliasName"]="type alias name";e["parameterName"]="parameter name";e["docCommentTagName"]="doc comment tag name";e["jsxOpenTagName"]="jsx open tag name";e["jsxCloseTagName"]="jsx close tag name";e["jsxSelfClosingTagName"]="jsx self closing tag name";e["jsxAttribute"]="jsx attribute";e["jsxText"]="jsx text";e["jsxAttributeStringLiteralValue"]="jsx attribute string literal value"})(f=e.ClassificationTypeNames||(e.ClassificationTypeNames={}));var d;(function(e){e[e["comment"]=1]="comment";e[e["identifier"]=2]="identifier";e[e["keyword"]=3]="keyword";e[e["numericLiteral"]=4]="numericLiteral";e[e["operator"]=5]="operator";e[e["stringLiteral"]=6]="stringLiteral";e[e["regularExpressionLiteral"]=7]="regularExpressionLiteral";e[e["whiteSpace"]=8]="whiteSpace";e[e["text"]=9]="text";e[e["punctuation"]=10]="punctuation";e[e["className"]=11]="className";e[e["enumName"]=12]="enumName";e[e["interfaceName"]=13]="interfaceName";e[e["moduleName"]=14]="moduleName";e[e["typeParameterName"]=15]="typeParameterName";e[e["typeAliasName"]=16]="typeAliasName";e[e["parameterName"]=17]="parameterName";e[e["docCommentTagName"]=18]="docCommentTagName";e[e["jsxOpenTagName"]=19]="jsxOpenTagName";e[e["jsxCloseTagName"]=20]="jsxCloseTagName";e[e["jsxSelfClosingTagName"]=21]="jsxSelfClosingTagName";e[e["jsxAttribute"]=22]="jsxAttribute";e[e["jsxText"]=23]="jsxText";e[e["jsxAttributeStringLiteralValue"]=24]="jsxAttributeStringLiteralValue";e[e["bigintLiteral"]=25]="bigintLiteral"})(d=e.ClassificationType||(e.ClassificationType={}))})(s||(s={}));var s;(function(e){e.scanner=e.createScanner(6,true);var t;(function(e){e[e["None"]=0]="None";e[e["Value"]=1]="Value";e[e["Type"]=2]="Type";e[e["Namespace"]=4]="Namespace";e[e["All"]=7]="All"})(t=e.SemanticMeaning||(e.SemanticMeaning={}));function getMeaningFromDeclaration(t){switch(t.kind){case 237:return e.isInJSFile(t)&&e.getJSDocEnumTag(t)?7:1;case 151:case 186:case 154:case 153:case 275:case 276:case 156:case 155:case 157:case 158:case 159:case 239:case 196:case 197:case 274:case 267:return 1;case 150:case 241:case 242:case 168:return 2;case 304:return t.name===undefined?1|2:2;case 278:case 240:return 1|2;case 244:if(e.isAmbientModule(t)){return 4|1}else if(e.getModuleInstanceState(t)===1){return 4|1}else{return 4}case 243:case 252:case 253:case 248:case 249:case 254:case 255:return 7;case 279:return 4|1}return 7}e.getMeaningFromDeclaration=getMeaningFromDeclaration;function getMeaningFromLocation(t){if(t.kind===279){return 1}else if(t.parent.kind===254||t.parent.kind===259){return 7}else if(isInRightSideOfInternalImportEqualsDeclaration(t)){return getMeaningFromRightHandSideOfImportEquals(t)}else if(e.isDeclarationName(t)){return getMeaningFromDeclaration(t.parent)}else if(isTypeReference(t)){return 2}else if(isNamespaceReference(t)){return 4}else if(e.isTypeParameterDeclaration(t.parent)){e.Debug.assert(e.isJSDocTemplateTag(t.parent.parent));return 2}else if(e.isLiteralTypeNode(t.parent)){return 2|1}else{return 1}}e.getMeaningFromLocation=getMeaningFromLocation;function getMeaningFromRightHandSideOfImportEquals(t){var r=t.kind===148?t:e.isQualifiedName(t.parent)&&t.parent.right===t?t.parent:undefined;return r&&r.parent.kind===248?7:4}function isInRightSideOfInternalImportEqualsDeclaration(t){while(t.parent.kind===148){t=t.parent}return e.isInternalModuleImportEqualsDeclaration(t.parent)&&t.parent.moduleReference===t}e.isInRightSideOfInternalImportEqualsDeclaration=isInRightSideOfInternalImportEqualsDeclaration;function isNamespaceReference(e){return isQualifiedNameNamespaceReference(e)||isPropertyAccessNamespaceReference(e)}function isQualifiedNameNamespaceReference(e){var t=e;var r=true;if(t.parent.kind===148){while(t.parent&&t.parent.kind===148){t=t.parent}r=t.right===e}return t.parent.kind===164&&!r}function isPropertyAccessNamespaceReference(e){var t=e;var r=true;if(t.parent.kind===189){while(t.parent&&t.parent.kind===189){t=t.parent}r=t.name===e}if(!r&&t.parent.kind===211&&t.parent.parent.kind===273){var n=t.parent.parent.parent;return n.kind===240&&t.parent.parent.token===109||n.kind===241&&t.parent.parent.token===86}return false}function isTypeReference(t){if(e.isRightSideOfQualifiedNameOrPropertyAccess(t)){t=t.parent}switch(t.kind){case 100:return!e.isExpressionNode(t);case 178:return true}switch(t.parent.kind){case 164:return true;case 183:return!t.parent.isTypeOf;case 211:return!e.isExpressionWithTypeArgumentsInClassExtendsClause(t.parent)}return false}function isCallExpressionTarget(t){return isCallOrNewExpressionTargetWorker(t,e.isCallExpression)}e.isCallExpressionTarget=isCallExpressionTarget;function isNewExpressionTarget(t){return isCallOrNewExpressionTargetWorker(t,e.isNewExpression)}e.isNewExpressionTarget=isNewExpressionTarget;function isCallOrNewExpressionTarget(t){return isCallOrNewExpressionTargetWorker(t,e.isCallOrNewExpression)}e.isCallOrNewExpressionTarget=isCallOrNewExpressionTarget;function isCallOrNewExpressionTargetWorker(e,t){var r=climbPastPropertyAccess(e);return!!r&&!!r.parent&&t(r.parent)&&r.parent.expression===r}function climbPastPropertyAccess(e){return isRightSideOfPropertyAccess(e)?e.parent:e}e.climbPastPropertyAccess=climbPastPropertyAccess;function getTargetLabel(e,t){while(e){if(e.kind===233&&e.label.escapedText===t){return e.label}e=e.parent}return undefined}e.getTargetLabel=getTargetLabel;function hasPropertyAccessExpressionWithName(t,r){if(!e.isPropertyAccessExpression(t.expression)){return false}return t.expression.name.text===r}e.hasPropertyAccessExpressionWithName=hasPropertyAccessExpressionWithName;function isJumpStatementTarget(t){return t.kind===72&&e.isBreakOrContinueStatement(t.parent)&&t.parent.label===t}e.isJumpStatementTarget=isJumpStatementTarget;function isLabelOfLabeledStatement(t){return t.kind===72&&e.isLabeledStatement(t.parent)&&t.parent.label===t}e.isLabelOfLabeledStatement=isLabelOfLabeledStatement;function isLabelName(e){return isLabelOfLabeledStatement(e)||isJumpStatementTarget(e)}e.isLabelName=isLabelName;function isTagName(t){return e.isJSDocTag(t.parent)&&t.parent.tagName===t}e.isTagName=isTagName;function isRightSideOfQualifiedName(e){return e.parent.kind===148&&e.parent.right===e}e.isRightSideOfQualifiedName=isRightSideOfQualifiedName;function isRightSideOfPropertyAccess(e){return e&&e.parent&&e.parent.kind===189&&e.parent.name===e}e.isRightSideOfPropertyAccess=isRightSideOfPropertyAccess;function isNameOfModuleDeclaration(e){return e.parent.kind===244&&e.parent.name===e}e.isNameOfModuleDeclaration=isNameOfModuleDeclaration;function isNameOfFunctionDeclaration(t){return t.kind===72&&e.isFunctionLike(t.parent)&&t.parent.name===t}e.isNameOfFunctionDeclaration=isNameOfFunctionDeclaration;function isLiteralNameOfPropertyDeclarationOrIndexAccess(t){switch(t.parent.kind){case 154:case 153:case 275:case 278:case 156:case 155:case 158:case 159:case 244:return e.getNameOfDeclaration(t.parent)===t;case 190:return t.parent.argumentExpression===t;case 149:return true;case 182:return t.parent.parent.kind===180;default:return false}}e.isLiteralNameOfPropertyDeclarationOrIndexAccess=isLiteralNameOfPropertyDeclarationOrIndexAccess;function isExpressionOfExternalModuleImportEqualsDeclaration(t){return e.isExternalModuleImportEqualsDeclaration(t.parent.parent)&&e.getExternalModuleImportEqualsDeclarationExpression(t.parent.parent)===t}e.isExpressionOfExternalModuleImportEqualsDeclaration=isExpressionOfExternalModuleImportEqualsDeclaration;function getContainerNode(t){if(e.isJSDocTypeAlias(t)){t=t.parent.parent}while(true){t=t.parent;if(!t){return undefined}switch(t.kind){case 279:case 156:case 155:case 239:case 196:case 158:case 159:case 240:case 241:case 243:case 244:return t}}}e.getContainerNode=getContainerNode;function getNodeKind(t){switch(t.kind){case 279:return e.isExternalModule(t)?"module":"script";case 244:return"module";case 240:case 209:return"class";case 241:return"interface";case 242:case 297:case 304:return"type";case 243:return"enum";case 237:return getKindOfVariableDeclaration(t);case 186:return getKindOfVariableDeclaration(e.getRootDeclaration(t));case 197:case 239:case 196:return"function";case 158:return"getter";case 159:return"setter";case 156:case 155:return"method";case 154:case 153:return"property";case 162:return"index";case 161:return"construct";case 160:return"call";case 157:return"constructor";case 150:return"type parameter";case 278:return"enum member";case 151:return e.hasModifier(t,92)?"property":"parameter";case 248:case 253:case 257:case 251:return"alias";case 204:var r=e.getAssignmentDeclarationKind(t);var n=t.right;switch(r){case 7:case 8:case 9:case 0:return"";case 1:case 2:var i=getNodeKind(n);return i===""?"const":i;case 3:return e.isFunctionExpression(n)?"method":"property";case 4:return"property";case 5:return e.isFunctionExpression(n)?"method":"property";case 6:return"local class";default:{e.assertType(r);return""}}case 72:return e.isImportClause(t.parent)?"alias":"";default:return""}function getKindOfVariableDeclaration(t){return e.isVarConst(t)?"const":e.isLet(t)?"let":"var"}}e.getNodeKind=getNodeKind;function isThis(t){switch(t.kind){case 100:return true;case 72:return e.identifierIsThisKeyword(t)&&t.parent.kind===151;default:return false}}e.isThis=isThis;var r=/^\/\/\/\s*=r.end}e.startEndContainsRange=startEndContainsRange;function rangeContainsStartEnd(e,t,r){return e.pos<=t&&e.end>=r}e.rangeContainsStartEnd=rangeContainsStartEnd;function rangeOverlapsWithStartEnd(e,t,r){return startEndOverlapsWithStartEnd(e.pos,e.end,t,r)}e.rangeOverlapsWithStartEnd=rangeOverlapsWithStartEnd;function nodeOverlapsWithStartEnd(e,t,r,n){return startEndOverlapsWithStartEnd(e.getStart(t),e.end,r,n)}e.nodeOverlapsWithStartEnd=nodeOverlapsWithStartEnd;function startEndOverlapsWithStartEnd(e,t,r,n){var i=Math.max(e,r);var a=Math.min(t,n);return it){break}var l=c.getEnd();if(tn.getStart(t)&&rt.end||e.pos===t.end;return r&&nodeHasTokens(e,n)?find(e):undefined})}}e.findNextToken=findNextToken;function findPrecedingToken(t,r,n,i){var a=find(n||r);e.Debug.assert(!(a&&isWhiteSpaceOnlyJsxText(a)));return a;function find(a){if(isNonWhitespaceToken(a)&&a.kind!==1){return a}var o=a.getChildren(r);for(var s=0;s=t||!nodeHasTokens(c,r)||isWhiteSpaceOnlyJsxText(c);if(l){var f=findRightmostChildNodeWithTokens(o,s,r);return f&&findRightmostToken(f,r)}else{return find(c)}}}e.Debug.assert(n!==undefined||a.kind===279||a.kind===1||e.isJSDocCommentContainingNode(a));var d=findRightmostChildNodeWithTokens(o,o.length,r);return d&&findRightmostToken(d,r)}}e.findPrecedingToken=findPrecedingToken;function isNonWhitespaceToken(t){return e.isToken(t)&&!isWhiteSpaceOnlyJsxText(t)}function findRightmostToken(e,t){if(isNonWhitespaceToken(e)){return e}var r=e.getChildren(t);var n=findRightmostChildNodeWithTokens(r,r.length,t);return n&&findRightmostToken(n,t)}function findRightmostChildNodeWithTokens(t,r,n){for(var i=r-1;i>=0;i--){var a=t[i];if(isWhiteSpaceOnlyJsxText(a)){e.Debug.assert(i>0,"`JsxText` tokens should not be the first child of `JsxElement | JsxSelfClosingElement`")}else if(nodeHasTokens(t[i],n)){return t[i]}}}function isInString(t,r,n){if(n===void 0){n=findPrecedingToken(r,t)}if(n&&e.isStringTextContainingNode(n)){var i=n.getStart(t);var a=n.getEnd();if(in.getStart(t)}e.isInTemplateString=isInTemplateString;function isInJSXText(t,r){var n=getTokenAtPosition(t,r);if(e.isJsxText(n)){return true}if(n.kind===18&&e.isJsxExpression(n.parent)&&e.isJsxElement(n.parent.parent)){return true}if(n.kind===28&&e.isJsxOpeningLikeElement(n.parent)&&e.isJsxElement(n.parent.parent)){return true}return false}e.isInJSXText=isInJSXText;function findPrecedingMatchingToken(e,t,r){var n=e.kind;var i=0;while(true){var a=findPrecedingToken(e.getFullStart(),r);if(!a){return undefined}e=a;if(e.kind===t){if(i===0){return e}i--}else if(e.kind===n){i++}}}e.findPrecedingMatchingToken=findPrecedingMatchingToken;function isPossiblyTypeArgumentPosition(t,r,n){var i=getPossibleTypeArgumentsInfo(t,r);return i!==undefined&&(e.isPartOfTypeNode(i.called)||getPossibleGenericSignatures(i.called,i.nTypeArguments,n).length!==0||isPossiblyTypeArgumentPosition(i.called,r,n))}e.isPossiblyTypeArgumentPosition=isPossiblyTypeArgumentPosition;function getPossibleGenericSignatures(t,r,n){var i=n.getTypeAtLocation(t);var a=e.isNewExpression(t.parent)?i.getConstructSignatures():i.getCallSignatures();return a.filter(function(e){return!!e.typeParameters&&e.typeParameters.length>=r})}e.getPossibleGenericSignatures=getPossibleGenericSignatures;function getPossibleTypeArgumentsInfo(t,r){var n=t;var i=0;var a=0;while(n){switch(n.kind){case 28:n=findPrecedingToken(n.getFullStart(),r);if(!n||!e.isIdentifier(n))return undefined;if(!i){return e.isDeclarationName(n)?undefined:{called:n,nTypeArguments:a}}i--;break;case 48:i=+3;break;case 47:i=+2;break;case 30:i++;break;case 19:n=findPrecedingMatchingToken(n,18,r);if(!n)return undefined;break;case 21:n=findPrecedingMatchingToken(n,20,r);if(!n)return undefined;break;case 23:n=findPrecedingMatchingToken(n,22,r);if(!n)return undefined;break;case 27:a++;break;case 37:case 72:case 10:case 8:case 9:case 102:case 87:case 104:case 86:case 129:case 24:case 50:case 56:case 57:break;default:if(e.isTypeNode(n)){break}return undefined}n=findPrecedingToken(n.getFullStart(),r)}return undefined}e.getPossibleTypeArgumentsInfo=getPossibleTypeArgumentsInfo;function isInComment(t,r,n){return e.formatting.getRangeOfEnclosingComment(t,r,undefined,n)}e.isInComment=isInComment;function hasDocComment(t,r){var n=getTokenAtPosition(t,r);return!!e.findAncestor(n,e.isJSDoc)}e.hasDocComment=hasDocComment;function nodeHasTokens(e,t){return e.kind===1?!!e.jsDoc:e.getWidth(t)!==0}function getNodeModifiers(t){var r=e.isDeclaration(t)?e.getCombinedModifierFlags(t):0;var n=[];if(r&8)n.push("private");if(r&16)n.push("protected");if(r&4)n.push("public");if(r&32)n.push("static");if(r&128)n.push("abstract");if(r&1)n.push("export");if(t.flags&4194304)n.push("declare");return n.length>0?n.join(","):""}e.getNodeModifiers=getNodeModifiers;function getTypeArgumentOrTypeParameterList(t){if(t.kind===164||t.kind===191){return t.typeArguments}if(e.isFunctionLike(t)||t.kind===240||t.kind===241){return t.typeParameters}return undefined}e.getTypeArgumentOrTypeParameterList=getTypeArgumentOrTypeParameterList;function isComment(e){return e===2||e===3}e.isComment=isComment;function isStringOrRegularExpressionOrTemplateLiteral(t){if(t===10||t===13||e.isTemplateLiteralKind(t)){return true}return false}e.isStringOrRegularExpressionOrTemplateLiteral=isStringOrRegularExpressionOrTemplateLiteral;function isPunctuation(e){return 18<=e&&e<=71}e.isPunctuation=isPunctuation;function isInsideTemplateLiteral(t,r,n){return e.isTemplateLiteralKind(t.kind)&&(t.getStart(n)=2||!!e.noEmit}e.compilerOptionsIndicateEs6Modules=compilerOptionsIndicateEs6Modules;function hostUsesCaseSensitiveFileNames(e){return e.useCaseSensitiveFileNames?e.useCaseSensitiveFileNames():false}e.hostUsesCaseSensitiveFileNames=hostUsesCaseSensitiveFileNames;function hostGetCanonicalFileName(t){return e.createGetCanonicalFileName(hostUsesCaseSensitiveFileNames(t))}e.hostGetCanonicalFileName=hostGetCanonicalFileName;function makeImportIfNecessary(e,t,r,n){return e||t&&t.length?makeImport(e,t,r,n):undefined}e.makeImportIfNecessary=makeImportIfNecessary;function makeImport(t,r,n,i){return e.createImportDeclaration(undefined,undefined,t||r?e.createImportClause(t,r&&r.length?e.createNamedImports(r):undefined):undefined,typeof n==="string"?makeStringLiteral(n,i):n)}e.makeImport=makeImport;function makeStringLiteral(t,r){return e.createLiteral(t,r===0)}e.makeStringLiteral=makeStringLiteral;var n;(function(e){e[e["Single"]=0]="Single";e[e["Double"]=1]="Double"})(n=e.QuotePreference||(e.QuotePreference={}));function quotePreferenceFromString(t,r){return e.isStringDoubleQuoted(t,r)?1:0}e.quotePreferenceFromString=quotePreferenceFromString;function getQuotePreference(t,r){if(r.quotePreference){return r.quotePreference==="single"?0:1}else{var n=t.imports&&e.find(t.imports,e.isStringLiteral);return n?quotePreferenceFromString(n,t):1}}e.getQuotePreference=getQuotePreference;function getQuoteFromPreference(t){switch(t){case 0:return"'";case 1:return'"';default:return e.Debug.assertNever(t)}}e.getQuoteFromPreference=getQuoteFromPreference;function symbolNameNoDefault(t){var r=symbolEscapedNameNoDefault(t);return r===undefined?undefined:e.unescapeLeadingUnderscores(r)}e.symbolNameNoDefault=symbolNameNoDefault;function symbolEscapedNameNoDefault(t){if(t.escapedName!=="default"){return t.escapedName}return e.firstDefined(t.declarations,function(t){var r=e.getNameOfDeclaration(t);return r&&r.kind===72?r.escapedText:undefined})}e.symbolEscapedNameNoDefault=symbolEscapedNameNoDefault;function isObjectBindingElementWithoutPropertyName(t){return e.isBindingElement(t)&&e.isObjectBindingPattern(t.parent)&&e.isIdentifier(t.name)&&!t.propertyName}e.isObjectBindingElementWithoutPropertyName=isObjectBindingElementWithoutPropertyName;function getPropertySymbolFromBindingElement(e,t){var r=e.getTypeAtLocation(t.parent);return r&&e.getPropertyOfType(r,t.name.text)}e.getPropertySymbolFromBindingElement=getPropertySymbolFromBindingElement;function getPropertySymbolsFromBaseTypes(t,r,n,i){var a=e.createMap();return recur(t);function recur(t){if(!(t.flags&(32|64))||!e.addToSeen(a,e.getSymbolId(t)))return;return e.firstDefined(t.declarations,function(t){return e.firstDefined(e.getAllSuperTypeNodes(t),function(t){var a=n.getTypeAtLocation(t);var o=a&&a.symbol&&n.getPropertyOfType(a,r);return a&&o&&(e.firstDefined(n.getRootSymbols(o),i)||recur(a.symbol))})})}}e.getPropertySymbolsFromBaseTypes=getPropertySymbolsFromBaseTypes;function isMemberSymbolInBaseType(e,t){return getPropertySymbolsFromBaseTypes(e.parent,e.name,t,function(e){return true})||false}e.isMemberSymbolInBaseType=isMemberSymbolInBaseType;function getParentNodeInSpan(t,r,n){if(!t)return undefined;while(t.parent){if(e.isSourceFile(t.parent)||!spanContainsNode(n,t.parent,r)){return t}t=t.parent}}e.getParentNodeInSpan=getParentNodeInSpan;function spanContainsNode(t,r,n){return e.textSpanContainsPosition(t,r.getStart(n))&&r.getEnd()<=e.textSpanEnd(t)}function findModifier(t,r){return t.modifiers&&e.find(t.modifiers,function(e){return e.kind===r})}e.findModifier=findModifier;function insertImport(t,r,n){var i=e.findLast(r.statements,e.isAnyImportSyntax);if(i){t.insertNodeAfter(r,i,n)}else{t.insertNodeAtTopOfFile(r,n,true)}}e.insertImport=insertImport;function textSpansEqual(e,t){return!!e&&!!t&&e.start===t.start&&e.length===t.length}e.textSpansEqual=textSpansEqual;function documentSpansEqual(e,t){return e.fileName===t.fileName&&textSpansEqual(e.textSpan,t.textSpan)}e.documentSpansEqual=documentSpansEqual})(s||(s={}));(function(e){function isFirstDeclarationOfSymbolParameter(e){return e.declarations&&e.declarations.length>0&&e.declarations[0].kind===151}e.isFirstDeclarationOfSymbolParameter=isFirstDeclarationOfSymbolParameter;var t=getDisplayPartWriter();function getDisplayPartWriter(){var t=e.defaultMaximumTruncationLength*10;var r;var n;var i;var a;resetWriter();var o=function(t){return writeKind(t,e.SymbolDisplayPartKind.text)};return{displayParts:function(){var n=r.length&&r[r.length-1].text;if(a>t&&n&&n!=="..."){if(!e.isWhiteSpaceLike(n.charCodeAt(n.length-1))){r.push(displayPart(" ",e.SymbolDisplayPartKind.space))}r.push(displayPart("...",e.SymbolDisplayPartKind.punctuation))}return r},writeKeyword:function(t){return writeKind(t,e.SymbolDisplayPartKind.keyword)},writeOperator:function(t){return writeKind(t,e.SymbolDisplayPartKind.operator)},writePunctuation:function(t){return writeKind(t,e.SymbolDisplayPartKind.punctuation)},writeTrailingSemicolon:function(t){return writeKind(t,e.SymbolDisplayPartKind.punctuation)},writeSpace:function(t){return writeKind(t,e.SymbolDisplayPartKind.space)},writeStringLiteral:function(t){return writeKind(t,e.SymbolDisplayPartKind.stringLiteral)},writeParameter:function(t){return writeKind(t,e.SymbolDisplayPartKind.parameterName)},writeProperty:function(t){return writeKind(t,e.SymbolDisplayPartKind.propertyName)},writeLiteral:function(t){return writeKind(t,e.SymbolDisplayPartKind.stringLiteral)},writeSymbol:writeSymbol,writeLine:writeLine,write:o,writeComment:o,getText:function(){return""},getTextPos:function(){return 0},getColumn:function(){return 0},getLine:function(){return 0},isAtStartOfLine:function(){return false},rawWrite:e.notImplemented,getIndent:function(){return i},increaseIndent:function(){i++},decreaseIndent:function(){i--},clear:resetWriter,trackSymbol:e.noop,reportInaccessibleThisError:e.noop,reportInaccessibleUniqueSymbolError:e.noop,reportPrivateInBaseOfClassExpression:e.noop};function writeIndent(){if(a>t)return;if(n){var o=e.getIndentString(i);if(o){a+=o.length;r.push(displayPart(o,e.SymbolDisplayPartKind.space))}n=false}}function writeKind(e,n){if(a>t)return;writeIndent();a+=e.length;r.push(displayPart(e,n))}function writeSymbol(e,n){if(a>t)return;writeIndent();a+=e.length;r.push(symbolPart(e,n))}function writeLine(){if(a>t)return;a+=1;r.push(lineBreakPart());n=true}function resetWriter(){r=[];n=true;i=0;a=0}}function symbolPart(t,r){return displayPart(t,displayPartKind(r));function displayPartKind(t){var r=t.flags;if(r&3){return isFirstDeclarationOfSymbolParameter(t)?e.SymbolDisplayPartKind.parameterName:e.SymbolDisplayPartKind.localName}else if(r&4){return e.SymbolDisplayPartKind.propertyName}else if(r&32768){return e.SymbolDisplayPartKind.propertyName}else if(r&65536){return e.SymbolDisplayPartKind.propertyName}else if(r&8){return e.SymbolDisplayPartKind.enumMemberName}else if(r&16){return e.SymbolDisplayPartKind.functionName}else if(r&32){return e.SymbolDisplayPartKind.className}else if(r&64){return e.SymbolDisplayPartKind.interfaceName}else if(r&384){return e.SymbolDisplayPartKind.enumName}else if(r&1536){return e.SymbolDisplayPartKind.moduleName}else if(r&8192){return e.SymbolDisplayPartKind.methodName}else if(r&262144){return e.SymbolDisplayPartKind.typeParameterName}else if(r&524288){return e.SymbolDisplayPartKind.aliasName}else if(r&2097152){return e.SymbolDisplayPartKind.aliasName}return e.SymbolDisplayPartKind.text}}e.symbolPart=symbolPart;function displayPart(t,r){return{text:t,kind:e.SymbolDisplayPartKind[r]}}e.displayPart=displayPart;function spacePart(){return displayPart(" ",e.SymbolDisplayPartKind.space)}e.spacePart=spacePart;function keywordPart(t){return displayPart(e.tokenToString(t),e.SymbolDisplayPartKind.keyword)}e.keywordPart=keywordPart;function punctuationPart(t){return displayPart(e.tokenToString(t),e.SymbolDisplayPartKind.punctuation)}e.punctuationPart=punctuationPart;function operatorPart(t){return displayPart(e.tokenToString(t),e.SymbolDisplayPartKind.operator)}e.operatorPart=operatorPart;function textOrKeywordPart(t){var r=e.stringToToken(t);return r===undefined?textPart(t):keywordPart(r)}e.textOrKeywordPart=textOrKeywordPart;function textPart(t){return displayPart(t,e.SymbolDisplayPartKind.text)}e.textPart=textPart;var r="\r\n";function getNewLineOrDefaultFromHost(e,t){return t&&t.newLineCharacter||e.getNewLine&&e.getNewLine()||r}e.getNewLineOrDefaultFromHost=getNewLineOrDefaultFromHost;function lineBreakPart(){return displayPart("\n",e.SymbolDisplayPartKind.lineBreak)}e.lineBreakPart=lineBreakPart;function mapToDisplayParts(e){try{e(t);return t.displayParts()}finally{t.clear()}}e.mapToDisplayParts=mapToDisplayParts;function typeToDisplayParts(e,t,r,n){if(n===void 0){n=0}return mapToDisplayParts(function(i){e.writeType(t,r,n|1024|16384,i)})}e.typeToDisplayParts=typeToDisplayParts;function symbolToDisplayParts(e,t,r,n,i){if(i===void 0){i=0}return mapToDisplayParts(function(a){e.writeSymbol(t,r,n,i|8,a)})}e.symbolToDisplayParts=symbolToDisplayParts;function signatureToDisplayParts(e,t,r,n){if(n===void 0){n=0}n|=16384|1024|32|8192;return mapToDisplayParts(function(i){e.writeSignature(t,r,n,undefined,i)})}e.signatureToDisplayParts=signatureToDisplayParts;function isImportOrExportSpecifierName(t){return!!t.parent&&e.isImportOrExportSpecifier(t.parent)&&t.parent.propertyName===t}e.isImportOrExportSpecifierName=isImportOrExportSpecifierName;function stripQuotes(e){var t=e.length;if(t>=2&&e.charCodeAt(0)===e.charCodeAt(t-1)&&startsWithQuote(e)){return e.substring(1,t-1)}return e}e.stripQuotes=stripQuotes;function startsWithQuote(t){return e.isSingleOrDoubleQuote(t.charCodeAt(0))}e.startsWithQuote=startsWithQuote;function scriptKindIs(t,r){var n=[];for(var i=2;i-1&&e.isWhiteSpaceSingleLine(t.charCodeAt(r))){r-=1}return r+1}e.getPrecedingNonSpaceCharacterPosition=getPrecedingNonSpaceCharacterPosition;function getSynthesizedDeepClone(e,t){if(t===void 0){t=true}var r=e&&getSynthesizedDeepCloneWorker(e);if(r&&!t)suppressLeadingAndTrailingTrivia(r);return r}e.getSynthesizedDeepClone=getSynthesizedDeepClone;function getSynthesizedDeepCloneWithRenames(t,r,n,i,a){if(r===void 0){r=true}var o;if(e.isIdentifier(t)&&n&&i){var s=i.getSymbolAtLocation(t);var c=s&&n.get(String(e.getSymbolId(s)));if(c){o=e.createIdentifier(c.text)}}if(!o){o=getSynthesizedDeepCloneWorker(t,n,i,a)}if(o&&!r)suppressLeadingAndTrailingTrivia(o);if(a&&o)a(t,o);return o}e.getSynthesizedDeepCloneWithRenames=getSynthesizedDeepCloneWithRenames;function getSynthesizedDeepCloneWorker(t,r,n,i){var a=r||n||i?e.visitEachChild(t,wrapper,e.nullTransformationContext):e.visitEachChild(t,getSynthesizedDeepClone,e.nullTransformationContext);if(a===t){var o=e.getSynthesizedClone(t);if(e.isStringLiteral(o)){o.textSourceNode=t}else if(e.isNumericLiteral(o)){o.numericLiteralFlags=t.numericLiteralFlags}return e.setTextRange(o,t)}a.parent=undefined;return a;function wrapper(e){return getSynthesizedDeepCloneWithRenames(e,true,r,n,i)}}function getSynthesizedDeepClones(t,r){if(r===void 0){r=true}return t&&e.createNodeArray(t.map(function(e){return getSynthesizedDeepClone(e,r)}),t.hasTrailingComma)}e.getSynthesizedDeepClones=getSynthesizedDeepClones;function suppressLeadingAndTrailingTrivia(e){suppressLeadingTrivia(e);suppressTrailingTrivia(e)}e.suppressLeadingAndTrailingTrivia=suppressLeadingAndTrailingTrivia;function suppressLeadingTrivia(e){addEmitFlagsRecursively(e,512,getFirstChild)}e.suppressLeadingTrivia=suppressLeadingTrivia;function suppressTrailingTrivia(t){addEmitFlagsRecursively(t,1024,e.getLastChild)}e.suppressTrailingTrivia=suppressTrailingTrivia;function addEmitFlagsRecursively(t,r,n){e.addEmitFlags(t,r);var i=n(t);if(i)addEmitFlagsRecursively(i,r,n)}function getFirstChild(e){return e.forEachChild(function(e){return e})}function getUniqueName(t,r){var n=t;for(var i=1;!e.isFileLevelUniqueName(r,n);i++){n=t+"_"+i}return n}e.getUniqueName=getUniqueName;function getRenameLocation(t,r,n,i){var a=0;var o=-1;for(var s=0,c=t;s=0);return o}e.getRenameLocation=getRenameLocation;function copyComments(t,r,n,i,a){e.forEachLeadingCommentRange(n.text,t.pos,function(t,o,s,c){if(s===3){t+=2;o-=2}else{t+=2}e.addSyntheticLeadingComment(r,i||s,n.text.slice(t,o),a!==undefined?a:c)})}e.copyComments=copyComments;function indexInTextChange(t,r){if(e.startsWith(t,r))return 0;var n=t.indexOf(" "+r);if(n===-1)n=t.indexOf("."+r);if(n===-1)n=t.indexOf('"'+r);return n===-1?-1:n+1}function getContextualTypeFromParent(e,t){var r=e.parent;switch(r.kind){case 192:return t.getContextualType(r);case 204:{var n=r,i=n.left,a=n.operatorToken,o=n.right;return isEqualityOperatorKind(a.kind)?t.getTypeAtLocation(e===o?i:o):t.getContextualType(e)}case 271:return r.expression===e?getSwitchedType(r,t):undefined;default:return t.getContextualType(e)}}e.getContextualTypeFromParent=getContextualTypeFromParent;function quote(t,r){if(/^\d+$/.test(t)){return t}var n=JSON.stringify(t);switch(r.quotePreference){case undefined:case"double":return n;case"single":return"'"+stripQuotes(n).replace("'","\\'").replace('\\"','"')+"'";default:return e.Debug.assertNever(r.quotePreference)}}e.quote=quote;function isEqualityOperatorKind(e){switch(e){case 35:case 33:case 36:case 34:return true;default:return false}}e.isEqualityOperatorKind=isEqualityOperatorKind;function isStringLiteralOrTemplate(e){switch(e.kind){case 10:case 14:case 206:case 193:return true;default:return false}}e.isStringLiteralOrTemplate=isStringLiteralOrTemplate;function hasIndexSignature(e){return!!e.getStringIndexType()||!!e.getNumberIndexType()}e.hasIndexSignature=hasIndexSignature;function getSwitchedType(e,t){return t.getTypeAtLocation(e.parent.parent.expression)}e.getSwitchedType=getSwitchedType})(s||(s={}));var s;(function(e){function createClassifier(){var r=e.createScanner(6,false);function getClassificationsForLine(e,t,r){return convertClassificationsToResult(getEncodedLexicalClassifications(e,t,r),e)}function getEncodedLexicalClassifications(n,i,a){var o=0;var s=0;var c=[];var u=getPrefixFromLexState(i),l=u.prefix,f=u.pushTemplate;n=l+n;var d=l.length;if(f){c.push(15)}r.setText(n);var p=0;var g=[];var _=0;do{o=r.scan();if(!e.isTrivia(o)){handleToken();s=o}var m=r.getTextPos();pushEncodedClassification(r.getTokenPos(),m,d,classFromKind(o),g);if(m>=n.length){var y=getNewEndOfLineState(r,o,e.lastOrUndefined(c));if(y!==undefined){p=y}}}while(o!==1);function handleToken(){switch(o){case 42:case 64:if(!t[s]&&r.reScanSlashToken()===13){o=13}break;case 28:if(s===72){_++}break;case 30:if(_>0){_--}break;case 120:case 138:case 135:case 123:case 139:if(_>0&&!a){o=72}break;case 15:c.push(o);break;case 18:if(c.length>0){c.push(o)}break;case 19:if(c.length>0){var n=e.lastOrUndefined(c);if(n===15){o=r.reScanTemplateToken();if(o===17){c.pop()}else{e.Debug.assertEqual(o,16,"Should have been a template middle.")}}else{e.Debug.assertEqual(n,18,"Should have been an open brace");c.pop()}}break;default:if(!e.isKeyword(o)){break}if(s===24){o=72}else if(e.isKeyword(s)&&e.isKeyword(o)&&!canFollow(s,o)){o=72}}}return{endOfLineState:p,spans:g}}return{getClassificationsForLine:getClassificationsForLine,getEncodedLexicalClassifications:getEncodedLexicalClassifications}}e.createClassifier=createClassifier;var t=e.arrayToNumericMap([72,10,8,9,13,100,44,45,21,23,19,102,87],function(e){return e},function(){return true});function getNewEndOfLineState(t,r,n){switch(r){case 10:{if(!t.isUnterminated())return undefined;var i=t.getTokenText();var a=i.length-1;var o=0;while(i.charCodeAt(a-o)===92){o++}if((o&1)===0)return undefined;return i.charCodeAt(0)===34?3:2}case 3:return t.isUnterminated()?1:undefined;default:if(e.isTemplateLiteralKind(r)){if(!t.isUnterminated()){return undefined}switch(r){case 17:return 5;case 14:return 4;default:return e.Debug.fail("Only 'NoSubstitutionTemplateLiteral's and 'TemplateTail's can be unterminated; got SyntaxKind #"+r)}}return n===15?6:undefined}}function pushEncodedClassification(e,t,r,n,i){if(n===8){return}if(e===0&&r>0){e+=r}var a=t-e;if(a>0){i.push(e-r,a,n)}}function convertClassificationsToResult(t,r){var n=[];var i=t.spans;var a=0;for(var o=0;o=0){var l=s-a;if(l>0){n.push({length:l,classification:e.TokenClass.Whitespace})}}n.push({length:c,classification:convertClassification(u)});a=s+c}var f=r.length-a;if(f>0){n.push({length:f,classification:e.TokenClass.Whitespace})}return{entries:n,finalLexState:t.endOfLineState}}function convertClassification(t){switch(t){case 1:return e.TokenClass.Comment;case 3:return e.TokenClass.Keyword;case 4:return e.TokenClass.NumberLiteral;case 25:return e.TokenClass.BigIntLiteral;case 5:return e.TokenClass.Operator;case 6:return e.TokenClass.StringLiteral;case 8:return e.TokenClass.Whitespace;case 10:return e.TokenClass.Punctuation;case 2:case 11:case 12:case 13:case 14:case 15:case 16:case 9:case 17:return e.TokenClass.Identifier;default:return undefined}}function canFollow(t,r){if(!e.isAccessibilityModifier(t)){return true}switch(r){case 126:case 137:case 124:case 116:return true;default:return false}}function getPrefixFromLexState(t){switch(t){case 3:return{prefix:'"\\\n'};case 2:return{prefix:"'\\\n"};case 1:return{prefix:"/*\n"};case 4:return{prefix:"`\n"};case 5:return{prefix:"}\n",pushTemplate:true};case 6:return{prefix:"",pushTemplate:true};case 0:return{prefix:""};default:return e.Debug.assertNever(t)}}function isBinaryExpressionOperatorToken(e){switch(e){case 40:case 42:case 43:case 38:case 39:case 46:case 47:case 48:case 28:case 30:case 31:case 32:case 94:case 93:case 119:case 33:case 34:case 35:case 36:case 49:case 51:case 50:case 54:case 55:case 70:case 69:case 71:case 66:case 67:case 68:case 60:case 61:case 62:case 64:case 65:case 59:case 27:return true;default:return false}}function isPrefixUnaryExpressionOperatorToken(e){switch(e){case 38:case 39:case 53:case 52:case 44:case 45:return true;default:return false}}function classFromKind(t){if(e.isKeyword(t)){return 3}else if(isBinaryExpressionOperatorToken(t)||isPrefixUnaryExpressionOperatorToken(t)){return 5}else if(t>=18&&t<=71){return 10}switch(t){case 8:return 4;case 9:return 25;case 10:return 6;case 13:return 7;case 7:case 3:case 2:return 1;case 5:case 4:return 8;case 72:default:if(e.isTemplateLiteralKind(t)){return 6}return 2}}function getSemanticClassifications(e,t,r,n,i){return convertClassificationsToSpans(getEncodedSemanticClassifications(e,t,r,n,i))}e.getSemanticClassifications=getSemanticClassifications;function checkForClassificationCancellation(e,t){switch(t){case 244:case 240:case 241:case 239:e.throwIfCancellationRequested()}}function getEncodedSemanticClassifications(t,r,n,i,a){var o=[];n.forEachChild(function cb(o){if(!o||!e.textSpanIntersectsWith(a,o.pos,o.getFullWidth())){return}checkForClassificationCancellation(r,o.kind);if(e.isIdentifier(o)&&!e.nodeIsMissing(o)&&i.has(o.escapedText)){var s=t.getSymbolAtLocation(o);var c=s&&classifySymbol(s,e.getMeaningFromLocation(o),t);if(c){pushClassification(o.getStart(n),o.getEnd(),c)}}o.forEachChild(cb)});return{spans:o,endOfLineState:0};function pushClassification(e,t,r){o.push(e);o.push(t-e);o.push(r)}}e.getEncodedSemanticClassifications=getEncodedSemanticClassifications;function classifySymbol(e,t,r){var n=e.getFlags();if((n&2885600)===0){return undefined}else if(n&32){return 11}else if(n&384){return 12}else if(n&524288){return 16}else if(n&1536){return t&4||t&1&&hasValueSideModule(e)?14:undefined}else if(n&2097152){return classifySymbol(r.getAliasedSymbol(e),t,r)}else if(t&2){return n&64?13:n&262144?15:undefined}else{return undefined}}function hasValueSideModule(t){return e.some(t.declarations,function(t){return e.isModuleDeclaration(t)&&e.getModuleInstanceState(t)===1})}function getClassificationTypeName(e){switch(e){case 1:return"comment";case 2:return"identifier";case 3:return"keyword";case 4:return"number";case 25:return"bigint";case 5:return"operator";case 6:return"string";case 8:return"whitespace";case 9:return"text";case 10:return"punctuation";case 11:return"class name";case 12:return"enum name";case 13:return"interface name";case 14:return"module name";case 15:return"type parameter name";case 16:return"type alias name";case 17:return"parameter name";case 18:return"doc comment tag name";case 19:return"jsx open tag name";case 20:return"jsx close tag name";case 21:return"jsx self closing tag name";case 22:return"jsx attribute";case 23:return"jsx text";case 24:return"jsx attribute string literal value";default:return undefined}}function convertClassificationsToSpans(t){e.Debug.assert(t.spans.length%3===0);var r=t.spans;var n=[];for(var i=0;i=0);if(i>0){var a=r||classifyTokenType(t.kind,t);if(a){pushClassification(n,i,a)}}return true}function tryClassifyJsxElementName(e){switch(e.parent&&e.parent.kind){case 262:if(e.parent.tagName===e){return 19}break;case 263:if(e.parent.tagName===e){return 20}break;case 261:if(e.parent.tagName===e){return 21}break;case 267:if(e.parent.name===e){return 22}break}return undefined}function classifyTokenType(t,r){if(e.isKeyword(t)){return 3}if(t===28||t===30){if(r&&e.getTypeArgumentOrTypeParameterList(r.parent)){return 10}}if(e.isPunctuation(t)){if(r){var n=r.parent;if(t===59){if(n.kind===237||n.kind===154||n.kind===151||n.kind===267){return 5}}if(n.kind===204||n.kind===202||n.kind===203||n.kind===205){return 5}}return 10}else if(t===8){return 4}else if(t===9){return 25}else if(t===10){return r.parent.kind===267?24:6}else if(t===13){return 6}else if(e.isTemplateLiteralKind(t)){return 6}else if(t===11){return 23}else if(t===72){if(r){switch(r.parent.kind){case 240:if(r.parent.name===r){return 11}return;case 150:if(r.parent.name===r){return 15}return;case 241:if(r.parent.name===r){return 13}return;case 243:if(r.parent.name===r){return 12}return;case 244:if(r.parent.name===r){return 14}return;case 151:if(r.parent.name===r){return e.isThisIdentifier(r)?3:17}return}}return 2}}function processElement(n){if(!n){return}if(e.decodedTextSpanIntersectsWith(i,a,n.pos,n.getFullWidth())){checkForClassificationCancellation(t,n.kind);for(var o=0,s=n.getChildren(r);oe.parameters.length)return;var a=r.getParameterType(e,t.argumentIndex);n=n||!!(a.flags&4);return getStringLiteralTypes(a,i)});return{kind:2,types:o,isNewIdentifier:n}}function stringLiteralCompletionsFromProperties(t){return t&&{kind:1,symbols:t.getApparentProperties(),hasIndexSignature:e.hasIndexSignature(t)}}function getStringLiteralTypes(t,r){if(r===void 0){r=e.createMap()}if(!t)return e.emptyArray;t=e.skipConstraint(t);return t.isUnion()?e.flatMap(t.types,function(e){return getStringLiteralTypes(e,r)}):t.isStringLiteral()&&!(t.flags&1024)&&e.addToSeen(r,t.value)?[t]:e.emptyArray}function nameAndKind(e,t,r){return{name:e,kind:t,extension:r}}function directoryResult(e){return nameAndKind(e,"directory",undefined)}function addReplacementSpans(e,t,r){var n=getDirectoryFragmentTextSpan(e,t);return r.map(function(e){var t=e.name,r=e.kind,i=e.extension;return{name:t,kind:r,extension:i,span:n}})}function getStringLiteralCompletionsFromModuleNames(e,t,r,n,i){return addReplacementSpans(t.text,t.getStart(e)+1,getStringLiteralCompletionsFromModuleNamesWorker(e,t,r,n,i))}function getStringLiteralCompletionsFromModuleNamesWorker(t,r,n,i,a){var o=e.normalizeSlashes(r.text);var s=t.path;var c=e.getDirectoryPath(s);return isPathRelativeToScript(o)||!n.baseUrl&&(e.isRootedDiskPath(o)||e.isUrl(o))?getCompletionEntriesForRelativeModules(o,c,n,i,s):getCompletionEntriesForNonRelativeModules(o,c,n,i,a)}function getExtensionOptions(e,t){if(t===void 0){t=false}return{extensions:getSupportedExtensionsForModuleResolution(e),includeExtensions:t}}function getCompletionEntriesForRelativeModules(e,t,r,n,i){var a=getExtensionOptions(r);if(r.rootDirs){return getCompletionEntriesForDirectoryFragmentWithRootDirs(r.rootDirs,e,t,a,r,n,i)}else{return getCompletionEntriesForDirectoryFragment(e,t,a,n,i)}}function getSupportedExtensionsForModuleResolution(t){var r=e.getSupportedExtensions(t);return t.resolveJsonModule&&e.getEmitModuleResolutionKind(t)===e.ModuleResolutionKind.NodeJs?r.concat(".json"):r}function getBaseDirectoriesFromRootDirs(t,r,n,i){t=t.map(function(t){return e.normalizePath(e.isRootedDiskPath(t)?t:e.combinePaths(r,t))});var a=e.firstDefined(t,function(t){return e.containsPath(t,n,r,i)?n.substr(t.length):undefined});return e.deduplicate(t.map(function(t){return e.combinePaths(t,a)}).concat([n]),e.equateStringsCaseSensitive,e.compareStringsCaseSensitive)}function getCompletionEntriesForDirectoryFragmentWithRootDirs(t,r,n,i,a,o,s){var c=a.project||o.getCurrentDirectory();var u=!(o.useCaseSensitiveFileNames&&o.useCaseSensitiveFileNames());var l=getBaseDirectoriesFromRootDirs(t,c,n,u);return e.flatMap(l,function(e){return getCompletionEntriesForDirectoryFragment(r,e,i,o,s)})}function getCompletionEntriesForDirectoryFragment(t,r,n,i,a,o){var s=n.extensions,c=n.includeExtensions;if(o===void 0){o=[]}if(t===undefined){t=""}t=e.normalizeSlashes(t);if(!e.hasTrailingDirectorySeparator(t)){t=e.getDirectoryPath(t)}if(t===""){t="."+e.directorySeparator}t=e.ensureTrailingDirectorySeparator(t);var u=e.resolvePath(r,t);var l=e.hasTrailingDirectorySeparator(u)?u:e.getDirectoryPath(u);var f=!(i.useCaseSensitiveFileNames&&i.useCaseSensitiveFileNames());if(!tryDirectoryExists(i,l))return o;var d=tryReadDirectory(i,l,s,undefined,["./*"]);if(d){var p=e.createMap();for(var g=0,_=d;g<_.length;g++){var m=_[g];m=e.normalizePath(m);if(a&&e.comparePaths(m,a,r,f)===0){continue}var y=c||e.fileExtensionIs(m,".json")?e.getBaseFileName(m):e.removeFileExtension(e.getBaseFileName(m));p.set(y,e.tryGetExtensionFromPath(m))}p.forEach(function(e,t){o.push(nameAndKind(t,"script",e))})}var h=tryGetDirectories(i,l);if(h){for(var v=0,T=h;v=e.pos&&r<=e.end});if(!c){return undefined}var u=t.text.slice(c.pos,r);var l=i.exec(u);if(!l){return undefined}var f=l[1],d=l[2],p=l[3];var g=e.getDirectoryPath(t.path);var _=d==="path"?getCompletionEntriesForDirectoryFragment(p,g,getExtensionOptions(n,true),a,t.path):d==="types"?getCompletionEntriesFromTypings(a,n,g,getFragmentDirectory(p),getExtensionOptions(n)):e.Debug.fail();return addReplacementSpans(p,c.pos+f.length,_)}function getCompletionEntriesFromTypings(t,r,n,i,a,o){if(o===void 0){o=[]}var s=e.createMap();var c=tryAndIgnoreErrors(function(){return e.getEffectiveTypeRoots(r,t)})||e.emptyArray;for(var u=0,l=c;u=2&&e.charCodeAt(0)===46){var t=e.length>=3&&e.charCodeAt(1)===46?2:1;var r=e.charCodeAt(t);return r===47||r===92}return false}var i=/^(\/\/\/\s*"),kind:"class",kindModifiers:undefined,sortText:"0"};return{isGlobalCompletion:false,isMemberCompletion:true,isNewIdentifierLocation:false,entries:[T]}}var S=[];if(isUncheckedFile(t,n)){var b=getCompletionEntriesFromSymbols(s,S,f,t,r,n.target,i,c,o,d,y,m,_);getJSCompletionEntries(t,f.pos,b,n.target,S)}else{if((!s||s.length===0)&&p===0){return undefined}getCompletionEntriesFromSymbols(s,S,f,t,r,n.target,i,c,o,d,y,m,_)}if(p!==0){var x=e.arrayToSet(S,function(e){return e.name});for(var C=0,E=getKeywordCompletions(p);C0){F=filterObjectMembersList(r,e.Debug.assertDefined(n))}return 1}function tryGetImportOrExportClauseCompletionSymbols(){var t=y&&(y.kind===18||y.kind===27)?e.tryCast(y.parent,e.isNamedImportsOrExports):undefined;if(!t)return 0;var r=(t.kind===252?t.parent.parent:t.parent).moduleSpecifier;var n=c.getSymbolAtLocation(r);if(!n)return 2;N=3;A=false;var i=c.getExportsAndPropertiesOfModule(n);var a=e.arrayToSet(t.elements,function(e){return isCurrentlyEditingNode(e)?undefined:(e.propertyName||e.name).escapedText});F=i.filter(function(e){return e.escapedName!=="default"&&!a.get(e.escapedName)});return 1}function tryGetClassLikeCompletionSymbols(){var t=tryGetObjectTypeDeclarationCompletionContainer(n,y,E);if(!t)return 0;N=3;A=true;O=y.kind===40?0:e.isClassLike(t)?2:3;if(!e.isClassLike(t))return 1;var r=y.parent;var i=e.isClassElement(r)?e.getModifierFlags(r):0;if(y.kind===72&&!isCurrentlyEditingNode(y)){switch(y.getText()){case"private":i=i|8;break;case"static":i=i|32;break}}if(!(i&8)){var a=e.flatMap(e.getAllSuperTypeNodes(t),function(e){var r=c.getTypeAtLocation(e);return r&&c.getPropertiesOfType(i&32?c.getTypeOfSymbolAtLocation(r.symbol,t):r)});F=filterClassMembersList(a,t.members,i)}return 1}function tryGetObjectLikeCompletionContainer(t){if(t){var r=t.parent;switch(t.kind){case 18:case 27:if(e.isObjectLiteralExpression(r)||e.isObjectBindingPattern(r)){return r}break;case 40:return e.isMethodDeclaration(r)?e.tryCast(r.parent,e.isObjectLiteralExpression):undefined;case 72:return t.text==="async"&&e.isShorthandPropertyAssignment(t.parent)?t.parent.parent:undefined}}return undefined}function isConstructorParameterCompletion(t){return!!t.parent&&e.isParameter(t.parent)&&e.isConstructorDeclaration(t.parent.parent)&&(e.isParameterPropertyModifier(t.kind)||e.isDeclarationName(t))}function tryGetConstructorLikeCompletionContainer(t){if(t){var r=t.parent;switch(t.kind){case 20:case 27:return e.isConstructorDeclaration(t.parent)?t.parent:undefined;default:if(isConstructorParameterCompletion(t)){return r.parent}}}return undefined}function tryGetFunctionLikeBodyCompletionContainer(t){if(t){var r;var n=e.findAncestor(t.parent,function(t){if(e.isClassLike(t)){return"quit"}if(e.isFunctionLikeDeclaration(t)&&r===t.body){return true}r=t;return false});return n&&n}}function tryGetContainingJsxElement(t){if(t){var r=t.parent;switch(t.kind){case 30:case 29:case 42:case 72:case 189:case 268:case 267:case 269:if(r&&(r.kind===261||r.kind===262)){if(t.kind===30){var i=e.findPrecedingToken(t.pos,n,undefined);if(!r.typeArguments||i&&i.kind===42)break}return r}else if(r.kind===267){return r.parent.parent}break;case 10:if(r&&(r.kind===267||r.kind===269)){return r.parent.parent}break;case 19:if(r&&r.kind===270&&r.parent&&r.parent.kind===267){return r.parent.parent.parent}if(r&&r.kind===269){return r.parent.parent}break}}return undefined}function isSolelyIdentifierDefinitionLocation(t){var r=t.parent;var n=r.kind;switch(t.kind){case 27:return n===237||n===238||n===219||n===243||isFunctionLikeButNotConstructor(n)||n===241||n===185||n===242||e.isClassLike(r)&&!!r.typeParameters&&r.typeParameters.end>=t.pos;case 24:return n===185;case 57:return n===186;case 22:return n===185;case 20:return n===274||isFunctionLikeButNotConstructor(n);case 18:return n===243;case 28:return n===240||n===209||n===241||n===242||e.isFunctionLikeKind(n);case 116:return n===154&&!e.isClassLike(r.parent);case 25:return n===151||!!r.parent&&r.parent.kind===185;case 115:case 113:case 114:return n===151&&!e.isConstructorDeclaration(r.parent);case 119:return n===253||n===257||n===251;case 126:case 137:return!isFromObjectTypeDeclaration(t);case 76:case 84:case 110:case 90:case 105:case 92:case 111:case 77:case 117:case 140:return true;case 40:return e.isFunctionLike(t.parent)&&!e.isMethodDeclaration(t.parent)}if(isClassMemberCompletionKeyword(keywordForNode(t))&&isFromObjectTypeDeclaration(t)){return false}if(isConstructorParameterCompletion(t)){if(!e.isIdentifier(t)||e.isParameterPropertyModifier(keywordForNode(t))||isCurrentlyEditingNode(t)){return false}}switch(keywordForNode(t)){case 118:case 76:case 77:case 125:case 84:case 90:case 110:case 111:case 113:case 114:case 115:case 116:case 105:case 117:return true;case 121:return e.isPropertyDeclaration(t.parent)}return e.isDeclarationName(t)&&!e.isJsxAttribute(t.parent)&&!(e.isClassLike(t.parent)&&(t!==m||a>m.end))}function isFunctionLikeButNotConstructor(t){return e.isFunctionLikeKind(t)&&t!==157}function isDotOfNumericLiteral(e){if(e.kind===8){var t=e.getFullText();return t.charAt(t.length-1)==="."}return false}function filterObjectMembersList(t,r){if(r.length===0){return t}var n=e.createUnderscoreEscapedMap();for(var i=0,a=r;i=0;i--){if(pushKeywordIf(r,n[i],107)){break}}}}e.forEach(aggregateAllBreakAndContinueStatements(t.statement),function(e){if(ownsBreakOrContinueStatement(t,e)){pushKeywordIf(r,e.getFirstToken(),73,78)}});return r}function getBreakOrContinueStatementOccurrences(e){var t=getBreakOrContinueOwner(e);if(t){switch(t.kind){case 225:case 226:case 227:case 223:case 224:return getLoopBreakContinueOccurrences(t);case 232:return getSwitchCaseDefaultOccurrences(t)}}return undefined}function getSwitchCaseDefaultOccurrences(t){var r=[];pushKeywordIf(r,t.getFirstToken(),99);e.forEach(t.caseBlock.clauses,function(n){pushKeywordIf(r,n.getFirstToken(),74,80);e.forEach(aggregateAllBreakAndContinueStatements(n),function(e){if(ownsBreakOrContinueStatement(t,e)){pushKeywordIf(r,e.getFirstToken(),73)}})});return r}function getTryCatchFinallyOccurrences(t,r){var n=[];pushKeywordIf(n,t.getFirstToken(),103);if(t.catchClause){pushKeywordIf(n,t.catchClause.getFirstToken(),75)}if(t.finallyBlock){var i=e.findChildOfKind(t,88,r);pushKeywordIf(n,i,88)}return n}function getThrowOccurrences(t,r){var n=getThrowStatementOwner(t);if(!n){return undefined}var i=[];e.forEach(aggregateOwnedThrowStatements(n),function(t){i.push(e.findChildOfKind(t,101,r))});if(e.isFunctionBlock(n)){e.forEachReturnStatement(n,function(t){i.push(e.findChildOfKind(t,97,r))})}return i}function getReturnOccurrences(t,r){var n=e.getContainingFunction(t);if(!n){return undefined}var i=[];e.forEachReturnStatement(e.cast(n.body,e.isBlock),function(t){i.push(e.findChildOfKind(t,97,r))});e.forEach(aggregateOwnedThrowStatements(n.body),function(t){i.push(e.findChildOfKind(t,101,r))});return i}function getAsyncAndAwaitOccurrences(t){var r=e.getContainingFunction(t);if(!r){return undefined}var n=[];if(r.modifiers){r.modifiers.forEach(function(e){pushKeywordIf(n,e,121)})}e.forEachChild(r,function(t){traverseWithoutCrossingFunction(t,function(t){if(e.isAwaitExpression(t)){pushKeywordIf(n,t.getFirstToken(),122)}})});return n}function getYieldOccurrences(t){var r=e.getContainingFunction(t);if(!r){return undefined}var n=[];e.forEachChild(r,function(t){traverseWithoutCrossingFunction(t,function(t){if(e.isYieldExpression(t)){pushKeywordIf(n,t.getFirstToken(),117)}})});return n}function traverseWithoutCrossingFunction(t,r){r(t);if(!e.isFunctionLike(t)&&!e.isClassLike(t)&&!e.isInterfaceDeclaration(t)&&!e.isModuleDeclaration(t)&&!e.isTypeAliasDeclaration(t)&&!e.isTypeNode(t)){e.forEachChild(t,function(e){return traverseWithoutCrossingFunction(e,r)})}}function getIfElseOccurrences(t,r){var n=getIfElseKeywords(t,r);var i=[];for(var a=0;a=o.end;u--){if(!e.isWhiteSpaceSingleLine(r.text.charCodeAt(u))){c=false;break}}if(c){i.push({fileName:r.fileName,textSpan:e.createTextSpanFromBounds(o.getStart(),s.end),kind:"reference"});a++;continue}}i.push(getHighlightSpanForNode(n[a],r))}return i}function getIfElseKeywords(t,r){var n=[];while(e.isIfStatement(t.parent)&&t.parent.elseStatement===t){t=t.parent}while(true){var i=t.getChildren(r);pushKeywordIf(n,i[0],91);for(var a=i.length-1;a>=0;a--){if(pushKeywordIf(n,i[a],83)){break}}if(!t.elseStatement||!e.isIfStatement(t.elseStatement)){break}t=t.elseStatement}return n}function isLabeledBy(t,r){return!!e.findAncestor(t.parent,function(t){return!e.isLabeledStatement(t)?"quit":t.label.escapedText===r})}})(t=e.DocumentHighlights||(e.DocumentHighlights={}))})(s||(s={}));var s;(function(e){function createDocumentRegistry(e,t){return createDocumentRegistryInternal(e,t)}e.createDocumentRegistry=createDocumentRegistry;function createDocumentRegistryInternal(t,r,n){if(r===void 0){r=""}var i=e.createMap();var a=e.createGetCanonicalFileName(!!t);function reportStats(){var t=e.arrayFrom(i.keys()).filter(function(e){return e&&e.charAt(0)==="_"}).map(function(e){var t=i.get(e);var r=[];t.forEach(function(e,t){r.push({name:t,refCount:e.languageServiceRefCount})});r.sort(function(e,t){return t.refCount-e.refCount});return{bucket:e,sourceFiles:r}});return JSON.stringify(t,undefined,2)}function acquireDocument(t,n,i,o,s){var c=e.toPath(t,r,a);var u=getKeyForCompilationSettings(n);return acquireDocumentWithKey(t,c,n,u,i,o,s)}function acquireDocumentWithKey(e,t,r,n,i,a,o){return acquireOrUpdateDocument(e,t,r,n,i,a,true,o)}function updateDocument(t,n,i,o,s){var c=e.toPath(t,r,a);var u=getKeyForCompilationSettings(n);return updateDocumentWithKey(t,c,n,u,i,o,s)}function updateDocumentWithKey(e,t,r,n,i,a,o){return acquireOrUpdateDocument(e,t,r,n,i,a,false,o)}function acquireOrUpdateDocument(t,r,a,o,s,c,u,l){var f=e.getOrUpdate(i,o,e.createMap);var d=f.get(r);var p=l===6?100:a.target||1;if(!d&&n){var g=n.getDocument(o,r);if(g){e.Debug.assert(u);d={sourceFile:g,languageServiceRefCount:0};f.set(r,d)}}if(!d){var g=e.createLanguageServiceSourceFile(t,s,p,c,false,l);if(n){n.setDocument(o,r,g)}d={sourceFile:g,languageServiceRefCount:1};f.set(r,d)}else{if(d.sourceFile.version!==c){d.sourceFile=e.updateLanguageServiceSourceFile(d.sourceFile,s,c,s.getChangeRange(d.sourceFile.scriptSnapshot));if(n){n.setDocument(o,r,d.sourceFile)}}if(u){d.languageServiceRefCount++}}e.Debug.assert(d.languageServiceRefCount!==0);return d.sourceFile}function releaseDocument(t,n){var i=e.toPath(t,r,a);var o=getKeyForCompilationSettings(n);return releaseDocumentWithKey(i,o)}function releaseDocumentWithKey(t,r){var n=e.Debug.assertDefined(i.get(r));var a=n.get(t);a.languageServiceRefCount--;e.Debug.assert(a.languageServiceRefCount>=0);if(a.languageServiceRefCount===0){n.delete(t)}}function getLanguageServiceRefCounts(t){return e.arrayFrom(i.entries(),function(e){var r=e[0],n=e[1];var i=n.get(t);return[r,i&&i.languageServiceRefCount]})}return{acquireDocument:acquireDocument,acquireDocumentWithKey:acquireDocumentWithKey,updateDocument:updateDocument,updateDocumentWithKey:updateDocumentWithKey,releaseDocument:releaseDocument,releaseDocumentWithKey:releaseDocumentWithKey,getLanguageServiceRefCounts:getLanguageServiceRefCounts,reportStats:reportStats,getKeyForCompilationSettings:getKeyForCompilationSettings}}e.createDocumentRegistryInternal=createDocumentRegistryInternal;function getKeyForCompilationSettings(t){return e.sourceFileAffectingCompilerOptions.map(function(r){return e.getCompilerOptionValue(t,r)}).join("|")}})(s||(s={}));var s;(function(e){var t;(function(t){function createImportTracker(e,t,r,i){var a=getDirectImportsMap(e,r,i);return function(o,s,c){var u=getImportersForExport(e,t,a,s,r,i),l=u.directImports,f=u.indirectUsers;return n({indirectUsers:f},getSearchesFromDirectImports(l,o,s.exportKind,r,c))}}t.createImportTracker=createImportTracker;var r;(function(e){e[e["Named"]=0]="Named";e[e["Default"]=1]="Default";e[e["ExportEquals"]=2]="ExportEquals"})(r=t.ExportKind||(t.ExportKind={}));var i;(function(e){e[e["Import"]=0]="Import";e[e["Export"]=1]="Export"})(i=t.ImportExport||(t.ImportExport={}));function getImportersForExport(t,r,n,i,a,o){var s=i.exportingModuleSymbol,c=i.exportKind;var u=e.nodeSeenTracker();var l=e.nodeSeenTracker();var f=[];var d=!!s.globalExports;var p=d?undefined:[];handleDirectImports(s);return{directImports:f,indirectUsers:getIndirectUsers()};function getIndirectUsers(){if(d){return t}for(var n=0,i=s.declarations;n=0){if(c>n.end)break;var u=c+s;if((c===0||!e.isIdentifierPart(a.charCodeAt(c-1),6))&&(u===o||!e.isIdentifierPart(a.charCodeAt(u),6))){i.push(c)}c=a.indexOf(r,c+s+1)}return i}function getLabelReferencesInNode(r,n){var i=r.getSourceFile();var a=n.text;var o=e.mapDefined(getPossibleSymbolReferenceNodes(i,a,r),function(r){return r===n||e.isJumpStatementTarget(r)&&e.getTargetLabel(r,a)===n?t.nodeEntry(r):undefined});return[{definition:{type:1,node:n},references:o}]}function isValidReferencePosition(t,r){switch(t.kind){case 72:return t.text.length===r.length;case 10:{var n=t;return(e.isLiteralNameOfPropertyDeclarationOrIndexAccess(n)||e.isNameOfModuleDeclaration(t)||e.isExpressionOfExternalModuleImportEqualsDeclaration(t)||e.isCallExpression(t.parent)&&e.isBindableObjectDefinePropertyCall(t.parent)&&t.parent.arguments[1]===t)&&n.text.length===r.length}case 8:return e.isLiteralNameOfPropertyDeclarationOrIndexAccess(t)&&t.text.length===r.length;case 80:return"default".length===r.length;default:return false}}function getAllReferencesForKeyword(r,n,i){var a=e.flatMap(r,function(r){i.throwIfCancellationRequested();return e.mapDefined(getPossibleSymbolReferenceNodes(r,e.tokenToString(n),r),function(e){return e.kind===n?t.nodeEntry(e):undefined})});return a.length?[{definition:{type:2,node:a[0].node},references:a}]:undefined}function getReferencesInSourceFile(e,t,r,n){if(n===void 0){n=true}r.cancellationToken.throwIfCancellationRequested();return getReferencesInContainer(e,e,t,r,n)}function getReferencesInContainer(e,t,r,n,i){if(!n.markSearchedSymbols(t,r.allSearchSymbols)){return}for(var a=0,o=getPossibleSymbolReferencePositions(t,r.text,e);a0){return n}}switch(t.kind){case 279:var i=t;return e.isExternalModule(i)?'"'+e.escapeString(e.getBaseFileName(e.removeFileExtension(e.normalizePath(i.fileName))))+'"':"";case 197:case 239:case 196:case 240:case 209:if(e.getModifierFlags(t)&512){return"default"}return getFunctionOrClassName(t);case 157:return"constructor";case 161:return"new()";case 160:return"()";case 162:return"[]";default:return""}}function topLevelItems(t){var r=[];function recur(e){if(isTopLevel(e)){r.push(e);if(e.children){for(var t=0,n=e.children;t0){return e.declarationNameToString(t.name)}else if(e.isVariableDeclaration(n)){return e.declarationNameToString(n.name)}else if(e.isBinaryExpression(n)&&n.operatorToken.kind===59){return nodeText(n.left).replace(r,"")}else if(e.isPropertyAssignment(n)){return nodeText(n.name)}else if(e.getModifierFlags(t)&512){return"default"}else if(e.isClassLike(t)){return""}else if(e.isCallExpression(n)){var a=getCalledExpressionName(n.expression);if(a!==undefined){var o=e.mapDefined(n.arguments,function(t){return e.isStringLiteral(t)?t.getText(i):undefined}).join(", ");return a+"("+o+") callback"}}return""}function getCalledExpressionName(t){if(e.isIdentifier(t)){return t.text}else if(e.isPropertyAccessExpression(t)){var r=getCalledExpressionName(t.expression);var n=t.name.text;return r===undefined?n:r+"."+n}else{return undefined}}function isFunctionOrClassExpression(e){switch(e.kind){case 197:case 196:case 209:return true;default:return false}}})(t=e.NavigationBar||(e.NavigationBar={}))})(s||(s={}));var s;(function(e){var t;(function(t){function organizeImports(t,r,n,i,a){var o=e.textChanges.ChangeTracker.fromContext({host:n,formatContext:r});var s=function(e){return coalesceImports(removeUnusedImports(e,t,i))};var c=t.statements.filter(e.isImportDeclaration);organizeImportsWorker(c,s);var u=t.statements.filter(e.isExportDeclaration);organizeImportsWorker(u,coalesceExports);for(var l=0,f=t.statements.filter(e.isAmbientModule);l0?i[0]:o[0];var v=y.length===0?p?undefined:e.createNamedImports(e.emptyArray):o.length===0?e.createNamedImports(y):e.updateNamedImports(o[0].importClause.namedBindings,y);s.push(updateImportDeclarationAndClause(h,p,v));return s;function getCategorizedImports(t){var r;var n=[];var i=[];var a=[];for(var o=0,s=t;o1){i.push(createOutliningSpanFromBounds(o,s,"comment"))}}}function createOutliningSpanFromBounds(t,r,n){return createOutliningSpan(e.createTextSpanFromBounds(t,r),n)}function getOutliningSpanForNode(t,r){switch(t.kind){case 218:if(e.isFunctionBlock(t)){return spanForNode(t.parent,t.parent.kind!==197)}switch(t.parent.kind){case 223:case 226:case 227:case 225:case 222:case 224:case 231:case 274:return spanForNode(t.parent);case 235:var n=t.parent;if(n.tryBlock===t){return spanForNode(t.parent)}else if(n.finallyBlock===t){return spanForNode(e.findChildOfKind(n,88,r))}default:return createOutliningSpan(e.createTextSpanFromNode(t,r),"code")}case 245:return spanForNode(t.parent);case 240:case 241:case 243:case 246:return spanForNode(t);case 188:return spanForObjectOrArrayLiteral(t);case 187:return spanForObjectOrArrayLiteral(t,22);case 260:return spanForJSXElement(t);case 261:case 262:return spanForJSXAttributes(t.attributes)}function spanForJSXElement(t){var n=e.createTextSpanFromBounds(t.openingElement.getStart(r),t.closingElement.getEnd());var i=t.openingElement.tagName.getText(r);var a="<"+i+">...";return createOutliningSpan(n,"code",n,false,a)}function spanForJSXAttributes(e){if(e.properties.length===0){return undefined}return createOutliningSpanFromBounds(e.getStart(r),e.getEnd(),"code")}function spanForObjectOrArrayLiteral(t,r){if(r===void 0){r=18}return spanForNode(t,false,!e.isArrayLiteralExpression(t.parent),r)}function spanForNode(n,i,a,o){if(i===void 0){i=false}if(a===void 0){a=true}if(o===void 0){o=18}var s=e.findChildOfKind(t,o,r);var c=o===18?19:23;var u=e.findChildOfKind(t,c,r);if(!s||!u){return undefined}var l=e.createTextSpanFromBounds(a?s.getFullStart():s.getStart(r),u.getEnd());return createOutliningSpan(l,"code",e.createTextSpanFromNode(n,r),i)}}function createOutliningSpan(e,t,r,n,i){if(r===void 0){r=e}if(n===void 0){n=false}if(i===void 0){i="..."}return{textSpan:e,kind:t,hintSpan:r,bannerText:i,autoCollapse:n}}})(t=e.OutliningElementsCollector||(e.OutliningElementsCollector={}))})(s||(s={}));var s;(function(e){var t;(function(e){e[e["exact"]=0]="exact";e[e["prefix"]=1]="prefix";e[e["substring"]=2]="substring";e[e["camelCase"]=3]="camelCase"})(t=e.PatternMatchKind||(e.PatternMatchKind={}));function createPatternMatch(e,t){return{kind:e,isCaseSensitive:t}}function createPatternMatcher(t){var r=e.createMap();var n=t.trim().split(".").map(function(e){return createSegment(e.trim())});if(n.some(function(e){return!e.subWordTextChunks.length}))return undefined;return{getFullMatch:function(e,t){return getFullMatch(e,t,n,r)},getMatchForLastSegmentOfPattern:function(t){return matchSegment(t,e.last(n),r)},patternContainsDots:n.length>1}}e.createPatternMatcher=createPatternMatcher;function getFullMatch(t,r,n,i){var a=matchSegment(r,e.last(n),i);if(!a){return undefined}if(n.length-1>t.length){return undefined}var o;for(var s=n.length-2,c=t.length-1;s>=0;s-=1,c-=1){o=betterMatch(o,matchSegment(t[c],n[s],i))}return o}function getWordSpans(e,t){var r=t.get(e);if(!r){t.set(e,r=breakIntoWordSpans(e))}return r}function matchTextChunk(r,n,i){var a=indexOfIgnoringCase(r,n.textLowerCase);if(a===0){return createPatternMatch(n.text.length===r.length?t.exact:t.prefix,e.startsWith(r,n.text))}if(n.isLowerCase){if(a===-1)return undefined;var o=getWordSpans(r,i);for(var s=0,c=o;s0){return createPatternMatch(t.substring,true)}if(n.characterSpans.length>0){var l=getWordSpans(r,i);var f=tryCamelCaseMatch(r,l,n,false)?true:tryCamelCaseMatch(r,l,n,true)?false:undefined;if(f!==undefined){return createPatternMatch(t.camelCase,f)}}}}function matchSegment(e,t,r){if(every(t.totalTextChunk.text,function(e){return e!==32&&e!==42})){var n=matchTextChunk(e,t.totalTextChunk,r);if(n)return n}var i=t.subWordTextChunks;var a;for(var o=0,s=i;o=65&&t<=90){return true}if(t<127||!e.isUnicodeIdentifierStart(t,6)){return false}var r=String.fromCharCode(t);return r===r.toUpperCase()}function isLowerCaseLetter(t){if(t>=97&&t<=122){return true}if(t<127||!e.isUnicodeIdentifierStart(t,6)){return false}var r=String.fromCharCode(t);return r===r.toLowerCase()}function indexOfIgnoringCase(e,t){var r=e.length-t.length;var n=function(r){if(every(t,function(t,n){return toLowerCase(e.charCodeAt(n+r))===t})){return{value:r}}};for(var i=0;i<=r;i++){var a=n(i);if(typeof a==="object")return a.value}return-1}function toLowerCase(e){if(e>=65&&e<=90){return 97+(e-65)}if(e<127){return e}return String.fromCharCode(e).toLowerCase().charCodeAt(0)}function isDigit(e){return e>=48&&e<=57}function isWordChar(e){return isUpperCaseLetter(e)||isLowerCaseLetter(e)||isDigit(e)||e===95||e===36}function breakPatternIntoTextChunks(e){var t=[];var r=0;var n=0;for(var i=0;i0){t.push(createTextChunk(e.substr(r,n)));n=0}}}if(n>0){t.push(createTextChunk(e.substr(r,n)))}return t}function createTextChunk(e){var t=e.toLowerCase();return{text:e,textLowerCase:t,isLowerCase:e===t,characterSpans:breakIntoCharacterSpans(e)}}function breakIntoCharacterSpans(e){return breakIntoSpans(e,false)}e.breakIntoCharacterSpans=breakIntoCharacterSpans;function breakIntoWordSpans(e){return breakIntoSpans(e,true)}e.breakIntoWordSpans=breakIntoWordSpans;function breakIntoSpans(t,r){var n=[];var i=0;for(var a=1;a0&&e.last(r).kind===27){n++}return n}function getArgumentIndexForTemplatePiece(t,r,n,i){e.Debug.assert(n>=r.getStart(),"Assumed 'position' could not occur before node.");if(e.isTemplateLiteralToken(r)){if(e.isInsideTemplateLiteral(r,n,i)){return 0}return t+2}return t+1}function getArgumentListInfoForTemplate(t,r,n){var i=e.isNoSubstitutionTemplateLiteral(t.template)?1:t.template.templateSpans.length+1;if(r!==0){e.Debug.assertLessThan(r,i)}return{isTypeParameterList:false,invocation:{kind:0,node:t},argumentsSpan:getApplicableSpanForTaggedTemplate(t,n),argumentIndex:r,argumentCount:i}}function getApplicableSpanForArguments(t,r){var n=t.getFullStart();var i=e.skipTrivia(r.text,t.getEnd(),false);return e.createTextSpan(n,i-n)}function getApplicableSpanForTaggedTemplate(t,r){var n=t.template;var i=n.getStart();var a=n.getEnd();if(n.kind===206){var o=e.last(n.templateSpans);if(o.literal.getFullWidth()===0){a=e.skipTrivia(r.text,a,false)}}return e.createTextSpan(i,a-i)}function getContainingArgumentInfo(t,r,n,i,a){var o=function(t){e.Debug.assert(e.rangeContainsRange(t.parent,t),"Not a subspan",function(){return"Child: "+e.Debug.showSyntaxKind(t)+", parent: "+e.Debug.showSyntaxKind(t.parent)});var a=getImmediatelyContainingArgumentOrContextualParameterInfo(t,r,n,i);if(a){return{value:a}}};for(var s=t;a||!e.isBlock(s)&&!e.isSourceFile(s);s=s.parent){var c=o(s);if(typeof c==="object")return c.value}return undefined}function getChildListThatStartsWithOpenerToken(t,r,n){var i=t.getChildren(n);var a=i.indexOf(r);e.Debug.assert(a>=0&&i.length>a+1);return i[a+1]}function getExpressionFromInvocation(t){return t.kind===0?e.getInvokedExpression(t.node):t.called}function getEnclosingDeclarationFromInvocation(e){return e.kind===0?e.node:e.kind===1?e.called:e.node}var i=8192|70221824|16384;function createSignatureHelpItems(t,r,n,i,a){var o=n.isTypeParameterList,s=n.argumentCount,c=n.argumentsSpan,u=n.invocation,l=n.argumentIndex;var f=getEnclosingDeclarationFromInvocation(u);var d=u.kind===2?u.symbol:a.getSymbolAtLocation(getExpressionFromInvocation(u));var p=d?e.symbolToDisplayParts(a,d,undefined,undefined):e.emptyArray;var g=t.map(function(e){return getSignatureHelpItem(e,p,o,a,f,i)});if(l!==0){e.Debug.assertLessThan(l,s)}var _=t.indexOf(r);e.Debug.assert(_!==-1);return{items:g,applicableSpan:c,selectedItemIndex:_,argumentIndex:l,argumentCount:s}}function createTypeHelpItems(e,t,r,n){var i=t.argumentCount,a=t.argumentsSpan,o=t.invocation,s=t.argumentIndex;var c=n.getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(e);if(!c)return undefined;var u=[getTypeHelpItem(e,c,n,getEnclosingDeclarationFromInvocation(o),r)];return{items:u,applicableSpan:a,selectedItemIndex:0,argumentIndex:s,argumentCount:i}}function getTypeHelpItem(t,r,n,i,o){var s=e.symbolToDisplayParts(n,t);var c=e.createPrinter({removeComments:true});var u=r.map(function(e){return createSignatureHelpParameterForTypeParameter(e,n,i,o,c)});var l=t.getDocumentationComment(n);var f=t.getJsDocTags();var d=s.concat([e.punctuationPart(28)]);return{isVariadic:false,prefixDisplayParts:d,suffixDisplayParts:[e.punctuationPart(30)],separatorDisplayParts:a,parameters:u,documentation:l,tags:f}}var a=[e.punctuationPart(27),e.spacePart()];function getSignatureHelpItem(e,t,r,n,i,o){var s=(r?itemInfoForTypeParameters:itemInfoForParameters)(e,n,i,o),c=s.isVariadic,u=s.parameters,l=s.prefix,f=s.suffix;var d=t.concat(l);var p=f.concat(returnTypeToDisplayParts(e,i,n));var g=e.getDocumentationComment(n);var _=e.getJsDocTags();return{isVariadic:c,prefixDisplayParts:d,suffixDisplayParts:p,separatorDisplayParts:a,parameters:u,documentation:g,tags:_}}function returnTypeToDisplayParts(t,r,n){return e.mapToDisplayParts(function(e){e.writePunctuation(":");e.writeSpace(" ");var i=n.getTypePredicateOfSignature(t);if(i){n.writeTypePredicate(i,r,undefined,e)}else{n.writeType(n.getReturnTypeOfSignature(t),r,undefined,e)}})}function itemInfoForTypeParameters(t,r,n,a){var o=(t.target||t).typeParameters;var s=e.createPrinter({removeComments:true});var c=(o||e.emptyArray).map(function(e){return createSignatureHelpParameterForTypeParameter(e,r,n,a,s)});var u=e.mapToDisplayParts(function(o){var c=t.thisParameter?[r.symbolToParameterDeclaration(t.thisParameter,n,i)]:[];var u=e.createNodeArray(c.concat(t.parameters.map(function(e){return r.symbolToParameterDeclaration(e,n,i)})));s.writeList(2576,u,a,o)});return{isVariadic:false,parameters:c,prefix:[e.punctuationPart(28)],suffix:[e.punctuationPart(30)].concat(u)}}function itemInfoForParameters(t,r,n,i){var a=t.hasRestParameter;var o=e.createPrinter({removeComments:true});var s=e.mapToDisplayParts(function(a){if(t.typeParameters&&t.typeParameters.length){var s=e.createNodeArray(t.typeParameters.map(function(e){return r.typeParameterToDeclaration(e,n)}));o.writeList(53776,s,i,a)}});var c=t.parameters.map(function(e){return createSignatureHelpParameterForParameter(e,r,n,i,o)});return{isVariadic:a,parameters:c,prefix:s.concat([e.punctuationPart(20)]),suffix:[e.punctuationPart(21)]}}function createSignatureHelpParameterForParameter(t,r,n,a,o){var s=e.mapToDisplayParts(function(e){var s=r.symbolToParameterDeclaration(t,n,i);o.writeNode(4,s,a,e)});var c=r.isOptionalParameter(t.valueDeclaration);return{name:t.name,documentation:t.getDocumentationComment(r),displayParts:s,isOptional:c}}function createSignatureHelpParameterForTypeParameter(t,r,n,i,a){var o=e.mapToDisplayParts(function(e){var o=r.typeParameterToDeclaration(t,n);a.writeNode(4,o,i,e)});return{name:t.symbol.name,documentation:t.symbol.getDocumentationComment(r),displayParts:o,isOptional:false}}})(t=e.SignatureHelp||(e.SignatureHelp={}))})(s||(s={}));var s;(function(e){var t=/^data:(?:application\/json(?:;charset=[uU][tT][fF]-8);base64,([A-Za-z0-9+\/=]+)$)?/;function getSourceMapper(r,n,i,a,o){var s=e.createGetCanonicalFileName(r);var c;return{tryGetSourcePosition:tryGetSourcePosition,tryGetGeneratedPosition:tryGetGeneratedPosition,toLineColumnOffset:toLineColumnOffset,clearCache:clearCache};function toPath(t){return e.toPath(t,n,s)}function scanForSourcemapURL(t){var r=c.get(toPath(t));if(!r){return}return e.tryGetSourceMappingURL(r.text,e.getLineStarts(r))}function convertDocumentToSourceMapper(t,r,n){var a=e.tryParseRawSourceMap(r);if(!a||!a.sources||!a.file||!a.mappings){return t.sourceMapper=e.identitySourceMapConsumer}var u=o();return t.sourceMapper=e.createDocumentPositionMapper({getSourceFileLike:function(e){var t=u&&u.getSourceFileByPath(e);if(t===undefined||t.resolvedPath!==e){return c.get(e)}return t},getCanonicalFileName:s,log:i},a,n)}function getSourceMapper(r,n){if(!a.readFile||!a.fileExists){return n.sourceMapper=e.identitySourceMapConsumer}if(n.sourceMapper){return n.sourceMapper}var i=scanForSourcemapURL(r);if(i){var o=t.exec(i);if(o){if(o[1]){var c=o[1];return convertDocumentToSourceMapper(n,e.base64decode(e.sys,c),r)}i=undefined}}var u=[];if(i){u.push(i)}u.push(r+".map");for(var l=0,f=u;l0){i.push(e.createDiagnosticForNode(e.isVariableDeclaration(r.parent)?r.parent.name:r,e.Diagnostics.This_constructor_function_may_be_converted_to_a_class_declaration))}break}}else{if(e.isVariableStatement(r)&&r.parent===t&&r.declarationList.flags&2&&r.declarationList.declarations.length===1){var u=r.declarationList.declarations[0].initializer;if(u&&e.isRequireCall(u,true)){i.push(e.createDiagnosticForNode(u,e.Diagnostics.require_call_may_be_converted_to_an_import))}}if(e.codefix.parameterShouldGetTypeFromJSDoc(r)){i.push(e.createDiagnosticForNode(r.name||r,e.Diagnostics.JSDoc_types_may_be_moved_to_TypeScript_types))}}if(e.isFunctionLikeDeclaration(r)){addConvertToAsyncFunctionDiagnostics(r,a,i)}r.forEachChild(check)}}e.computeSuggestionDiagnostics=computeSuggestionDiagnostics;function containsTopLevelCommonjs(t){return t.statements.some(function(t){switch(t.kind){case 219:return t.declarationList.declarations.some(function(t){return!!t.initializer&&e.isRequireCall(propertyAccessLeftHandSide(t.initializer),true)});case 221:{var r=t.expression;if(!e.isBinaryExpression(r))return e.isRequireCall(r,true);var n=e.getAssignmentDeclarationKind(r);return n===1||n===2}default:return false}})}function propertyAccessLeftHandSide(t){return e.isPropertyAccessExpression(t)?propertyAccessLeftHandSide(t.expression):t}function importNameForConvertToDefaultImport(t){switch(t.kind){case 249:var r=t.importClause,n=t.moduleSpecifier;return r&&!r.name&&r.namedBindings&&r.namedBindings.kind===251&&e.isStringLiteral(n)?r.namedBindings.name:undefined;case 248:return t.name;default:return undefined}}function addConvertToAsyncFunctionDiagnostics(t,r,n){if(!e.isAsyncFunction(t)&&t.body&&e.isBlock(t.body)&&hasReturnStatementWithPromiseHandler(t.body)&&returnsPromise(t,r)){n.push(e.createDiagnosticForNode(!t.name&&e.isVariableDeclaration(t.parent)&&e.isIdentifier(t.parent.name)?t.parent.name:t,e.Diagnostics.This_may_be_converted_to_an_async_function))}}function returnsPromise(e,t){var r=t.getTypeAtLocation(e);var n=t.getSignaturesOfType(r,0);var i=n.length?t.getReturnTypeOfSignature(n[0]):undefined;return!!i&&!!t.getPromisedTypeOfPromise(i)}function getErrorNodeFromCommonJsIndicator(t){return e.isBinaryExpression(t)?t.left:t}function hasReturnStatementWithPromiseHandler(t){return!!e.forEachReturnStatement(t,isReturnStatementWithFixablePromiseHandler)}function isReturnStatementWithFixablePromiseHandler(t){return e.isReturnStatement(t)&&!!t.expression&&isFixablePromiseHandler(t.expression)}e.isReturnStatementWithFixablePromiseHandler=isReturnStatementWithFixablePromiseHandler;function isFixablePromiseHandler(t){if(!isPromiseHandler(t)||!t.arguments.every(isFixablePromiseArgument)){return false}var r=t.expression;while(isPromiseHandler(r)||e.isPropertyAccessExpression(r)){if(e.isCallExpression(r)&&!r.arguments.every(isFixablePromiseArgument)){return false}r=r.expression}return true}e.isFixablePromiseHandler=isFixablePromiseHandler;function isPromiseHandler(t){return e.isCallExpression(t)&&(e.hasPropertyAccessExpressionWithName(t,"then")||e.hasPropertyAccessExpressionWithName(t,"catch"))}function isFixablePromiseArgument(e){switch(e.kind){case 96:case 72:case 239:case 196:case 197:return true;default:return false}}})(s||(s={}));var s;(function(e){var t;(function(t){function getSymbolKind(t,r,n){var i=getSymbolKindOfConstructorPropertyMethodAccessorFunctionOrVar(t,r,n);if(i!==""){return i}var a=e.getCombinedLocalAndExportSymbolFlags(r);if(a&32){return e.getDeclarationOfKind(r,209)?"local class":"class"}if(a&384)return"enum";if(a&524288)return"type";if(a&64)return"interface";if(a&262144)return"type parameter";if(a&262144)return"type parameter";if(a&8)return"enum member";if(a&2097152)return"alias";if(a&1536)return"module";return i}t.getSymbolKind=getSymbolKind;function getSymbolKindOfConstructorPropertyMethodAccessorFunctionOrVar(t,r,n){var i=t.getRootSymbols(r);if(i.length===1&&e.first(i).flags&8192&&t.getTypeOfSymbolAtLocation(r,n).getNonNullableType().getCallSignatures().length!==0){return"method"}if(t.isUndefinedSymbol(r)){return"var"}if(t.isArgumentsSymbol(r)){return"local var"}if(n.kind===100&&e.isExpression(n)){return"parameter"}var a=e.getCombinedLocalAndExportSymbolFlags(r);if(a&3){if(e.isFirstDeclarationOfSymbolParameter(r)){return"parameter"}else if(r.valueDeclaration&&e.isVarConst(r.valueDeclaration)){return"const"}else if(e.forEach(r.declarations,e.isLet)){return"let"}return isLocalVariableOrFunction(r)?"local var":"var"}if(a&16)return isLocalVariableOrFunction(r)?"local function":"function";if(a&32768)return"getter";if(a&65536)return"setter";if(a&8192)return"method";if(a&16384)return"constructor";if(a&4){if(a&33554432&&r.checkFlags&6){var o=e.forEach(t.getRootSymbols(r),function(t){var r=t.getFlags();if(r&(98308|3)){return"property"}e.Debug.assert(!!(r&(8192|16)))});if(!o){var s=t.getTypeOfSymbolAtLocation(r,n);if(s.getCallSignatures().length){return"method"}return"property"}return o}switch(n.parent&&n.parent.kind){case 262:case 260:case 261:return n.kind===72?"property":"JSX attribute";case 267:return"JSX attribute";default:return"property"}}return""}function getSymbolModifiers(t){var r=t&&t.declarations&&t.declarations.length>0?e.getNodeModifiers(t.declarations[0]):"";var n=t&&t.flags&16777216?"optional":"";return r&&n?r+","+n:r||n}t.getSymbolModifiers=getSymbolModifiers;function getSymbolDisplayPartsDocumentationAndSymbolKind(t,r,n,i,a,o,s){if(o===void 0){o=e.getMeaningFromLocation(a)}var c=[];var u;var l;var f=e.getCombinedLocalAndExportSymbolFlags(r);var d=o&1?getSymbolKindOfConstructorPropertyMethodAccessorFunctionOrVar(t,r,a):"";var p=false;var g=a.kind===100&&e.isInExpressionContext(a);var _;var m;var y;var h;if(a.kind===100&&!g){return{displayParts:[e.keywordPart(100)],documentation:[],symbolKind:"primitive type",tags:undefined}}if(d!==""||f&32||f&2097152){if(d==="getter"||d==="setter"){d="property"}var v=void 0;_=g?t.getTypeAtLocation(a):t.getTypeOfSymbolAtLocation(r.exportSymbol||r,a);if(a.parent&&a.parent.kind===189){var T=a.parent.name;if(T===a||T&&T.getFullWidth()===0){a=a.parent}}var S=void 0;if(e.isCallOrNewExpression(a)){S=a}else if(e.isCallExpressionTarget(a)||e.isNewExpressionTarget(a)){S=a.parent}else if(a.parent&&e.isJsxOpeningLikeElement(a.parent)&&e.isFunctionLike(r.valueDeclaration)){S=a.parent}if(S){var b=[];v=t.getResolvedSignature(S,b);var x=S.kind===192||e.isCallExpression(S)&&S.expression.kind===98;var C=x?_.getConstructSignatures():_.getCallSignatures();if(!e.contains(C,v.target)&&!e.contains(C,v)){v=C.length?C[0]:undefined}if(v){if(x&&f&32){d="constructor";addPrefixForAnyFunctionOrVar(_.symbol,d)}else if(f&2097152){d="alias";pushSymbolKind(d);c.push(e.spacePart());if(x){c.push(e.keywordPart(95));c.push(e.spacePart())}addFullSymbolName(r)}else{addPrefixForAnyFunctionOrVar(r,d)}switch(d){case"JSX attribute":case"property":case"var":case"const":case"let":case"parameter":case"local var":c.push(e.punctuationPart(57));c.push(e.spacePart());if(!(e.getObjectFlags(_)&16)&&_.symbol){e.addRange(c,e.symbolToDisplayParts(t,_.symbol,i,undefined,4|1));c.push(e.lineBreakPart())}if(x){c.push(e.keywordPart(95));c.push(e.spacePart())}addSignatureDisplayParts(v,C,262144);break;default:addSignatureDisplayParts(v,C)}p=true}}else if(e.isNameOfFunctionDeclaration(a)&&!(f&98304)||a.kind===124&&a.parent.kind===157){var E=a.parent;var D=e.find(r.declarations,function(e){return e===(a.kind===124?E.parent:E)});if(D){var C=E.kind===157?_.getNonNullableType().getConstructSignatures():_.getNonNullableType().getCallSignatures();if(!t.isImplementationOfOverload(E)){v=t.getSignatureFromDeclaration(E)}else{v=C[0]}if(E.kind===157){d="constructor";addPrefixForAnyFunctionOrVar(_.symbol,d)}else{addPrefixForAnyFunctionOrVar(E.kind===160&&!(_.symbol.flags&2048||_.symbol.flags&4096)?_.symbol:r,d)}addSignatureDisplayParts(v,C);p=true}}}if(f&32&&!p&&!g){addAliasPrefixIfNecessary();if(e.getDeclarationOfKind(r,209)){pushSymbolKind("local class")}else{c.push(e.keywordPart(76))}c.push(e.spacePart());addFullSymbolName(r);writeTypeParametersOfSymbol(r,n)}if(f&64&&o&2){prefixNextMeaning();c.push(e.keywordPart(110));c.push(e.spacePart());addFullSymbolName(r);writeTypeParametersOfSymbol(r,n)}if(f&524288&&o&2){prefixNextMeaning();c.push(e.keywordPart(140));c.push(e.spacePart());addFullSymbolName(r);writeTypeParametersOfSymbol(r,n);c.push(e.spacePart());c.push(e.operatorPart(59));c.push(e.spacePart());e.addRange(c,e.typeToDisplayParts(t,t.getDeclaredTypeOfSymbol(r),i,8388608))}if(f&384){prefixNextMeaning();if(e.some(r.declarations,function(t){return e.isEnumDeclaration(t)&&e.isEnumConst(t)})){c.push(e.keywordPart(77));c.push(e.spacePart())}c.push(e.keywordPart(84));c.push(e.spacePart());addFullSymbolName(r)}if(f&1536){prefixNextMeaning();var k=e.getDeclarationOfKind(r,244);var N=k&&k.name&&k.name.kind===72;c.push(e.keywordPart(N?131:130));c.push(e.spacePart());addFullSymbolName(r)}if(f&262144&&o&2){prefixNextMeaning();c.push(e.punctuationPart(20));c.push(e.textPart("type parameter"));c.push(e.punctuationPart(21));c.push(e.spacePart());addFullSymbolName(r);if(r.parent){addInPrefix();addFullSymbolName(r.parent,i);writeTypeParametersOfSymbol(r.parent,i)}else{var A=e.getDeclarationOfKind(r,150);if(A===undefined)return e.Debug.fail();var k=A.parent;if(k){if(e.isFunctionLikeKind(k.kind)){addInPrefix();var v=t.getSignatureFromDeclaration(k);if(k.kind===161){c.push(e.keywordPart(95));c.push(e.spacePart())}else if(k.kind!==160&&k.name){addFullSymbolName(k.symbol)}e.addRange(c,e.signatureToDisplayParts(t,v,n,32))}else if(k.kind===242){addInPrefix();c.push(e.keywordPart(140));c.push(e.spacePart());addFullSymbolName(k.symbol);writeTypeParametersOfSymbol(k.symbol,n)}}}}if(f&8){d="enum member";addPrefixForAnyFunctionOrVar(r,"enum member");var k=r.declarations[0];if(k.kind===278){var O=t.getConstantValue(k);if(O!==undefined){c.push(e.spacePart());c.push(e.operatorPart(59));c.push(e.spacePart());c.push(e.displayPart(e.getTextOfConstantValue(O),typeof O==="number"?e.SymbolDisplayPartKind.numericLiteral:e.SymbolDisplayPartKind.stringLiteral))}}}if(f&2097152){prefixNextMeaning();if(!p){var F=t.getAliasedSymbol(r);if(F!==r&&F.declarations&&F.declarations.length>0){var P=F.declarations[0];var I=e.getNameOfDeclaration(P);if(I){var w=e.isModuleWithStringLiteralName(P)&&e.hasModifier(P,2);var M=r.name!=="default"&&!w;var L=getSymbolDisplayPartsDocumentationAndSymbolKind(t,F,e.getSourceFileOfNode(P),P,I,o,M?r:F);c.push.apply(c,L.displayParts);c.push(e.lineBreakPart());y=L.documentation;h=L.tags}}}switch(r.declarations[0].kind){case 247:c.push(e.keywordPart(85));c.push(e.spacePart());c.push(e.keywordPart(131));break;case 254:c.push(e.keywordPart(85));c.push(e.spacePart());c.push(e.keywordPart(r.declarations[0].isExportEquals?59:80));break;case 257:c.push(e.keywordPart(85));break;default:c.push(e.keywordPart(92))}c.push(e.spacePart());addFullSymbolName(r);e.forEach(r.declarations,function(r){if(r.kind===248){var n=r;if(e.isExternalModuleImportEqualsDeclaration(n)){c.push(e.spacePart());c.push(e.operatorPart(59));c.push(e.spacePart());c.push(e.keywordPart(134));c.push(e.punctuationPart(20));c.push(e.displayPart(e.getTextOfNode(e.getExternalModuleImportEqualsDeclarationExpression(n)),e.SymbolDisplayPartKind.stringLiteral));c.push(e.punctuationPart(21))}else{var a=t.getSymbolAtLocation(n.moduleReference);if(a){c.push(e.spacePart());c.push(e.operatorPart(59));c.push(e.spacePart());addFullSymbolName(a,i)}}return true}})}if(!p){if(d!==""){if(_){if(g){prefixNextMeaning();c.push(e.keywordPart(100))}else{addPrefixForAnyFunctionOrVar(r,d)}if(d==="property"||d==="JSX attribute"||f&3||d==="local var"||g){c.push(e.punctuationPart(57));c.push(e.spacePart());if(_.symbol&&_.symbol.flags&262144){var R=e.mapToDisplayParts(function(r){var n=t.typeParameterToDeclaration(_,i);getPrinter().writeNode(4,n,e.getSourceFileOfNode(e.getParseTreeNode(i)),r)});e.addRange(c,R)}else{e.addRange(c,e.typeToDisplayParts(t,_,i))}}else if(f&16||f&8192||f&16384||f&131072||f&98304||d==="method"){var C=_.getNonNullableType().getCallSignatures();if(C.length){addSignatureDisplayParts(C[0],C)}}}}else{d=getSymbolKind(t,r,a)}}if(!u){u=r.getDocumentationComment(t);l=r.getJsDocTags();if(u.length===0&&f&4){if(r.parent&&e.forEach(r.parent.declarations,function(e){return e.kind===279})){for(var B=0,j=r.declarations;B0){break}}}}}if(u.length===0&&y){u=y}if(l.length===0&&h){l=h}return{displayParts:c,documentation:u,symbolKind:d,tags:l.length===0?undefined:l};function getPrinter(){if(!m){m=e.createPrinter({removeComments:true})}return m}function prefixNextMeaning(){if(c.length){c.push(e.lineBreakPart())}addAliasPrefixIfNecessary()}function addAliasPrefixIfNecessary(){if(s){pushSymbolKind("alias");c.push(e.spacePart())}}function addInPrefix(){c.push(e.spacePart());c.push(e.keywordPart(93));c.push(e.spacePart())}function addFullSymbolName(i,a){if(s&&i===r){i=s}var o=e.symbolToDisplayParts(t,i,a||n,undefined,1|2|4);e.addRange(c,o);if(r.flags&16777216){c.push(e.punctuationPart(56))}}function addPrefixForAnyFunctionOrVar(t,r){prefixNextMeaning();if(r){pushSymbolKind(r);if(t&&!e.some(t.declarations,function(t){return e.isArrowFunction(t)||(e.isFunctionExpression(t)||e.isClassExpression(t))&&!t.name})){c.push(e.spacePart());addFullSymbolName(t)}}}function pushSymbolKind(t){switch(t){case"var":case"function":case"let":case"const":case"constructor":c.push(e.textOrKeywordPart(t));return;default:c.push(e.punctuationPart(20));c.push(e.textOrKeywordPart(t));c.push(e.punctuationPart(21));return}}function addSignatureDisplayParts(r,n,a){if(a===void 0){a=0}e.addRange(c,e.signatureToDisplayParts(t,r,i,a|32));if(n.length>1){c.push(e.spacePart());c.push(e.punctuationPart(20));c.push(e.operatorPart(38));c.push(e.displayPart((n.length-1).toString(),e.SymbolDisplayPartKind.numericLiteral));c.push(e.spacePart());c.push(e.textPart(n.length===2?"overload":"overloads"));c.push(e.punctuationPart(21))}var o=r.getDocumentationComment(t);u=o.length===0?undefined:o;l=r.getJsDocTags()}function writeTypeParametersOfSymbol(r,n){var i=e.mapToDisplayParts(function(i){var a=t.symbolToTypeParameterDeclarations(r,n);getPrinter().writeList(53776,a,e.getSourceFileOfNode(e.getParseTreeNode(n)),i)});e.addRange(c,i)}}t.getSymbolDisplayPartsDocumentationAndSymbolKind=getSymbolDisplayPartsDocumentationAndSymbolKind;function isLocalVariableOrFunction(t){if(t.parent){return false}return e.forEach(t.declarations,function(t){if(t.kind===196){return true}if(t.kind!==237&&t.kind!==239){return false}for(var r=t.parent;!e.isFunctionBlock(r);r=r.parent){if(r.kind===279||r.kind===245){return false}}return true})}})(t=e.SymbolDisplay||(e.SymbolDisplay={}))})(s||(s={}));var s;(function(e){function transpileModule(t,r){var n=[];var i=r.compilerOptions?fixupCompilerOptions(r.compilerOptions,n):e.getDefaultCompilerOptions();i.isolatedModules=true;i.suppressOutputPathCheck=true;i.allowNonTsExtensions=true;i.noLib=true;i.lib=undefined;i.types=undefined;i.noEmit=undefined;i.noEmitOnError=undefined;i.paths=undefined;i.rootDirs=undefined;i.declaration=undefined;i.composite=undefined;i.declarationDir=undefined;i.out=undefined;i.outFile=undefined;i.noResolve=true;var a=r.fileName||(i.jsx?"module.tsx":"module.ts");var o=e.createSourceFile(a,t,i.target);if(r.moduleName){o.moduleName=r.moduleName}if(r.renamedDependencies){o.renamedDependencies=e.createMapFromTemplate(r.renamedDependencies)}var s=e.getNewLineCharacter(i);var c;var u;var l={getSourceFile:function(t){return t===e.normalizePath(a)?o:undefined},writeFile:function(t,r){if(e.fileExtensionIs(t,".map")){e.Debug.assertEqual(u,undefined,"Unexpected multiple source map outputs, file:",t);u=r}else{e.Debug.assertEqual(c,undefined,"Unexpected multiple outputs, file:",t);c=r}},getDefaultLibFileName:function(){return"lib.d.ts"},useCaseSensitiveFileNames:function(){return false},getCanonicalFileName:function(e){return e},getCurrentDirectory:function(){return""},getNewLine:function(){return s},fileExists:function(e){return e===a},readFile:function(){return""},directoryExists:function(){return true},getDirectories:function(){return[]}};var f=e.createProgram([a],i,l);if(r.reportDiagnostics){e.addRange(n,f.getSyntacticDiagnostics(o));e.addRange(n,f.getOptionsDiagnostics())}f.emit(undefined,undefined,undefined,undefined,r.transformers);if(c===undefined)return e.Debug.fail("Output generation failed");return{outputText:c,diagnostics:n,sourceMapText:u}}e.transpileModule=transpileModule;function transpile(t,r,n,i,a){var o=transpileModule(t,{compilerOptions:r,fileName:n,reportDiagnostics:!!i,moduleName:a});e.addRange(i,o.diagnostics);return o.outputText}e.transpile=transpile;var t;function fixupCompilerOptions(r,n){t=t||e.filter(e.optionDeclarations,function(t){return typeof t.type==="object"&&!e.forEachEntry(t.type,function(e){return typeof e!=="number"})});r=e.cloneCompilerOptions(r);var i=function(t){if(!e.hasProperty(r,t.name)){return"continue"}var i=r[t.name];if(e.isString(i)){r[t.name]=e.parseCustomTypeOption(t,i,n)}else{if(!e.forEachEntry(t.type,function(e){return e===i})){n.push(e.createCompilerDiagnosticForInvalidCustomType(t))}}};for(var a=0,o=t;a>=n}return r}function increaseInsertionIndex(t,r){var n=(t>>r&i)+1;e.Debug.assert((n&i)===n,"Adding more rules into the sub-bucket than allowed. Maximum allowed is 32 rules.");return t&~(i<=n.length){return false}var r=n[i];if(t.end<=r.start){return false}if(e.startEndOverlapsWithStartEnd(t.pos,t.end,r.start,r.start+r.length)){return true}i++}};function rangeHasNoErrors(){return false}}function getScanStartPosition(t,r,n){var i=t.getStart(n);if(i===r.pos&&t.end===r.end){return i}var a=e.findPrecedingToken(r.pos,n);if(!a){return t.pos}if(a.end>=r.pos){return t.pos}return a.end}function getOwnOrInheritedDelta(e,r,n){var i=-1;var a;while(e){var o=n.getLineAndCharacterOfPosition(e.getStart(n)).line;if(i!==-1&&o!==i){break}if(t.SmartIndenter.shouldIndentChildNode(r,e,a,n)){return r.indentSize}i=o;a=e;e=e.parent}return 0}function formatNodeGivenIndentation(e,r,n,i,a,o){var s={pos:0,end:r.text.length};return t.getFormattingScanner(r.text,n,s.pos,s.end,function(t){return formatSpanWorker(s,e,i,a,t,o,1,function(e){return false},r)})}t.formatNodeGivenIndentation=formatNodeGivenIndentation;function formatNodeLines(t,r,n,i){if(!t){return[]}var a={pos:e.getLineStartPositionForPosition(t.getStart(r),r),end:t.end};return formatSpan(a,r,n,i)}function formatSpan(e,r,n,i){var a=findEnclosingNode(e,r);return t.getFormattingScanner(r.text,r.languageVariant,getScanStartPosition(a,e,r),e.end,function(o){return formatSpanWorker(e,a,t.SmartIndenter.getIndentationForNode(a,e,r,n.options),getOwnOrInheritedDelta(a,n.options,r),o,n,i,prepareRangeContainsErrorFunction(r.parseDiagnostics,e),r)})}function formatSpanWorker(r,n,i,a,o,s,c,u,l){var f=s.options,d=s.getRule;var p=new t.FormattingContext(l,c,f);var g;var _;var m;var y;var h=-1;var v=[];o.advance();if(o.isOnToken()){var T=l.getLineAndCharacterOfPosition(n.getStart(l)).line;var S=T;if(n.decorators){S=l.getLineAndCharacterOfPosition(e.getNonDecoratorTokenPosOfNode(n,l)).line}processNode(n,n,T,S,i,a)}if(!o.isOnToken()){var b=o.getCurrentLeadingTrivia();if(b){indentTriviaItems(b,i,false,function(e){return processRange(e,l.getLineAndCharacterOfPosition(e.pos),n,n,undefined)});trimTrailingWhitespacesForRemainingRange()}}return v;function tryComputeIndentationForListItem(r,n,i,a,o){if(e.rangeOverlapsWithStartEnd(a,r,n)||e.rangeContainsStartEnd(a,r,n)){if(o!==-1){return o}}else{var s=l.getLineAndCharacterOfPosition(r).line;var c=e.getLineStartPositionForPosition(r,l);var u=t.SmartIndenter.findFirstNonWhitespaceColumn(c,r,l,f);if(s!==i||r===u){var d=t.SmartIndenter.getBaseIndentation(f);return d>u?d:u}}return-1}function computeIndentation(e,r,n,i,a,o){var s=t.SmartIndenter.shouldIndentChildNode(f,e)?f.indentSize:0;if(o===r){return{indentation:r===y?h:a.getIndentation(),delta:Math.min(f.indentSize,a.getDelta(e)+s)}}else if(n===-1){if(e.kind===20&&r===y){return{indentation:h,delta:a.getDelta(e)}}else if(t.SmartIndenter.childStartsOnTheSameLineWithElseInIfStatement(i,e,r,l)){return{indentation:a.getIndentation(),delta:s}}else{return{indentation:a.getIndentation()+a.getDelta(e),delta:s}}}else{return{indentation:n,delta:s}}}function getFirstNonDecoratorTokenOfNode(t){if(t.modifiers&&t.modifiers.length){return t.modifiers[0].kind}switch(t.kind){case 240:return 76;case 241:return 110;case 239:return 90;case 243:return 243;case 158:return 126;case 159:return 137;case 156:if(t.asteriskToken){return 40}case 154:case 151:var r=e.getNameOfDeclaration(t);if(r){return r.kind}}}function getDynamicIndentation(e,r,n,i){return{getIndentationForComment:function(e,t,r){switch(e){case 19:case 23:case 21:return n+getDelta(r)}return t!==-1?t:n},getIndentationForToken:function(e,t,r,i){return!i&&shouldAddDelta(e,t,r)?n+getDelta(r):n},getIndentation:function(){return n},getDelta:getDelta,recomputeIndentation:function(r){if(e.parent&&t.SmartIndenter.shouldIndentChildNode(f,e.parent,e,l)){n+=r?f.indentSize:-f.indentSize;i=t.SmartIndenter.shouldIndentChildNode(f,e)?f.indentSize:0}}};function shouldAddDelta(t,n,i){switch(n){case 18:case 19:case 21:case 83:case 107:case 58:return false;case 42:case 30:switch(i.kind){case 262:case 263:case 261:return false}break;case 22:case 23:if(i.kind!==181){return false}break}return r!==t&&!(e.decorators&&n===getFirstNonDecoratorTokenOfNode(e))}function getDelta(r){return t.SmartIndenter.nodeWillIndentChild(f,e,r,l,true)?i:0}}function processNode(n,i,a,s,c,d){if(!e.rangeOverlapsWithStartEnd(r,n.getStart(l),n.getEnd())){return}var p=getDynamicIndentation(n,a,c,d);var _=i;e.forEachChild(n,function(e){processChildNode(e,-1,n,p,a,s,false)},function(e){processChildNodes(e,n,a,p)});while(o.isOnToken()){var m=o.readTokenInfo(n);if(m.token.end>n.end){break}consumeTokenAndAdvanceScanner(m,n,p,n)}function processChildNode(t,i,a,s,c,u,f,d){var p=t.getStart(l);var g=l.getLineAndCharacterOfPosition(p).line;var m=g;if(t.decorators){m=l.getLineAndCharacterOfPosition(e.getNonDecoratorTokenPosOfNode(t,l)).line}var y=-1;if(f&&e.rangeContainsRange(r,a)){y=tryComputeIndentationForListItem(p,t.end,c,r,i);if(y!==-1){i=y}}if(!e.rangeOverlapsWithStartEnd(r,t.pos,t.end)){if(t.endp){break}consumeTokenAndAdvanceScanner(h,n,s,n)}if(!o.isOnToken()){return i}if(e.isToken(t)&&t.kind!==11){var h=o.readTokenInfo(t);e.Debug.assert(h.token.end===t.end,"Token end is child end");consumeTokenAndAdvanceScanner(h,n,s,t);return i}var v=t.kind===152?g:u;var T=computeIndentation(t,g,y,n,s,v);processNode(t,_,g,m,T.indentation,T.delta);if(t.kind===11){var S={pos:t.getStart(),end:t.getEnd()};indentMultilineCommentOrJsxText(S,T.indentation,true,false)}_=n;if(d&&a.kind===187&&i===-1){i=T.indentation}return i}function processChildNodes(r,i,a,s){e.Debug.assert(e.isNodeArray(r));var c=getOpenTokenForList(i,r);var u=s;var d=a;if(c!==0){while(o.isOnToken()){var p=o.readTokenInfo(i);if(p.token.end>r.pos){break}else if(p.token.kind===c){d=l.getLineAndCharacterOfPosition(p.token.pos).line;consumeTokenAndAdvanceScanner(p,i,s,i);var g=void 0;if(h!==-1){g=h}else{var _=e.getLineStartPositionForPosition(p.token.pos,l);g=t.SmartIndenter.findFirstNonWhitespaceColumn(_,p.token.pos,l,f)}u=getDynamicIndentation(i,a,g,f.indentSize)}else{consumeTokenAndAdvanceScanner(p,i,s,i)}}}var m=-1;for(var y=0;y0){var b=getIndentationString(S,f);recordReplace(v,T.character,b)}else{recordDelete(v,T.character)}}}function trimTrailingWhitespacesForLines(t,r,n){for(var i=t;io){continue}var s=getTrailingWhitespaceStartPosition(a,o);if(s!==-1){e.Debug.assert(s===a||!e.isWhiteSpaceSingleLine(l.text.charCodeAt(s-1)));recordDelete(s,o+1-s)}}}function getTrailingWhitespaceStartPosition(t,r){var n=r;while(n>=t&&e.isWhiteSpaceSingleLine(l.text.charCodeAt(n))){n--}if(n!==r){return n+1}return-1}function trimTrailingWhitespacesForRemainingRange(){var e=g?g.end:r.pos;var t=l.getLineAndCharacterOfPosition(e).line;var n=l.getLineAndCharacterOfPosition(r.end).line;trimTrailingWhitespacesForLines(t,n+1,g)}function recordDelete(t,r){if(r){v.push(e.createTextChangeFromStartLength(t,r,""))}}function recordReplace(t,r,n){if(r||n){v.push(e.createTextChangeFromStartLength(t,r,n))}}function applyRuleEdits(e,t,r,n,i){var a=i!==r;switch(e.action){case 1:return 0;case 8:if(t.end!==n.pos){recordDelete(t.end,n.pos-t.end);return a?2:0}break;case 4:if(e.flags!==1&&r!==i){return 0}var o=i-r;if(o!==1){recordReplace(t.end,n.pos-t.end,f.newLineCharacter);return a?0:1}break;case 2:if(e.flags!==1&&r!==i){return 0}var s=n.pos-t.end;if(s!==1||l.text.charCodeAt(t.end)!==32){recordReplace(t.end,n.pos-t.end," ");return a?2:0}}return 0}}var n;(function(e){e[e["None"]=0]="None";e[e["LineAdded"]=1]="LineAdded";e[e["LineRemoved"]=2]="LineRemoved"})(n||(n={}));function getRangeOfEnclosingComment(t,r,n,i){if(i===void 0){i=e.getTokenAtPosition(t,r)}var a=e.findAncestor(i,e.isJSDoc);if(a)i=a.parent;var o=i.getStart(t);if(o<=r&&rn.text.length){return getBaseIndentation(i)}if(i.indentStyle===e.IndentStyle.None){return 0}var o=e.findPrecedingToken(r,n,undefined,true);var s=t.getRangeOfEnclosingComment(n,r,o||null);if(s&&s.kind===3){return getCommentIndent(n,r,i,s)}if(!o){return getBaseIndentation(i)}var c=e.isStringOrRegularExpressionOrTemplateLiteral(o.kind);if(c&&o.getStart(n)<=r&&r=0);if(a<=o){return findFirstNonWhitespaceColumn(e.getStartPositionOfLine(o,t),r,t,n)}var s=e.getStartPositionOfLine(a,t);var c=findFirstNonWhitespaceCharacterAndColumn(s,r,t,n),u=c.column,l=c.character;if(u===0){return u}var f=t.text.charCodeAt(s+l);return f===42?u-1:u}function getBlockIndent(t,r,n){var i=r;while(i>0){var a=t.text.charCodeAt(i);if(!e.isWhiteSpaceLike(a)){break}i--}var o=e.getLineStartPositionForPosition(i,t);return findFirstNonWhitespaceColumn(o,i,t,n)}function getSmartIndent(t,r,n,i,a,o){var s;var c=n;while(c){if(e.positionBelongsToNode(c,r,t)&&shouldIndentChildNode(o,c,s,t,true)){var u=getStartLineAndCharacterForNode(c,t);var l=nextTokenIsCurlyBraceOnSameLineAsCursor(n,c,i,t);var f=l!==0?a&&l===2?o.indentSize:0:i!==u.line?o.indentSize:0;return getIndentationForNodeWorker(c,u,undefined,f,t,true,o)}var d=getActualIndentationForListItem(c,t,o,true);if(d!==-1){return d}s=c;c=c.parent}return getBaseIndentation(o)}function getIndentationForNode(e,t,r,n){var i=r.getLineAndCharacterOfPosition(e.getStart(r));return getIndentationForNodeWorker(e,i,t,0,r,false,n)}r.getIndentationForNode=getIndentationForNode;function getBaseIndentation(e){return e.baseIndentSize||0}r.getBaseIndentation=getBaseIndentation;function getIndentationForNodeWorker(e,t,r,n,i,a,o){var s=e.parent;while(s){var c=true;if(r){var u=e.getStart(i);c=ur.end}var l=getContainingListOrParentStart(s,e,i);var f=l.line===t.line||childStartsOnTheSameLineWithElseInIfStatement(s,e,t.line,i);if(c){var d=getActualIndentationForListItem(e,i,o,!f);if(d!==-1){return d+n}d=getActualIndentationForNode(e,s,t,f,i,o);if(d!==-1){return d+n}}if(shouldIndentChildNode(o,s,e,i,a)&&!f){n+=o.indentSize}var p=isArgumentAndStartLineOverlapsExpressionBeingCalled(s,e,t.line,i);e=s;s=e.parent;t=p?i.getLineAndCharacterOfPosition(e.getStart(i)):l}return n+getBaseIndentation(o)}function getContainingListOrParentStart(e,t,r){var n=getContainingList(t,r);var i=n?n.pos:e.getStart(r);return r.getLineAndCharacterOfPosition(i)}function getActualIndentationForListItemBeforeComma(t,r,n){var i=e.findListItemInfo(t);if(i&&i.listItemIndex>0){return deriveActualIndentationFromList(i.list.getChildren(),i.listItemIndex-1,r,n)}else{return-1}}function getActualIndentationForNode(t,r,n,i,a,o){var s=(e.isDeclaration(t)||e.isStatementButNotDeclaration(t))&&(r.kind===279||!i);if(!s){return-1}return findColumnForFirstNonWhitespaceCharacterInLine(n,a,o)}var i;(function(e){e[e["Unknown"]=0]="Unknown";e[e["OpenBrace"]=1]="OpenBrace";e[e["CloseBrace"]=2]="CloseBrace"})(i||(i={}));function nextTokenIsCurlyBraceOnSameLineAsCursor(t,r,n,i){var a=e.findNextToken(t,r,i);if(!a){return 0}if(a.kind===18){return 1}else if(a.kind===19){var o=getStartLineAndCharacterForNode(a,i).line;return n===o?2:0}return 0}function getStartLineAndCharacterForNode(e,t){return t.getLineAndCharacterOfPosition(e.getStart(t))}function isArgumentAndStartLineOverlapsExpressionBeingCalled(t,r,n,i){if(!(e.isCallExpression(t)&&e.contains(t.arguments,r))){return false}var a=t.expression.getEnd();var o=e.getLineAndCharacterOfPosition(i,a).line;return o===n}r.isArgumentAndStartLineOverlapsExpressionBeingCalled=isArgumentAndStartLineOverlapsExpressionBeingCalled;function childStartsOnTheSameLineWithElseInIfStatement(t,r,n,i){if(t.kind===222&&t.elseStatement===r){var a=e.findChildOfKind(t,83,i);e.Debug.assert(a!==undefined);var o=getStartLineAndCharacterForNode(a,i).line;return o===n}return false}r.childStartsOnTheSameLineWithElseInIfStatement=childStartsOnTheSameLineWithElseInIfStatement;function getContainingList(e,t){return e.parent&&getListByRange(e.getStart(t),e.getEnd(),e.parent,t)}r.getContainingList=getContainingList;function getListByPosition(e,t,r){return t&&getListByRange(e,e,t,r)}function getListByRange(t,r,n,i){switch(n.kind){case 164:return getList(n.typeArguments);case 188:return getList(n.properties);case 187:return getList(n.elements);case 168:return getList(n.members);case 239:case 196:case 197:case 156:case 155:case 160:case 157:case 166:case 161:return getList(n.typeParameters)||getList(n.parameters);case 240:case 209:case 241:case 242:case 303:return getList(n.typeParameters);case 192:case 191:return getList(n.typeArguments)||getList(n.arguments);case 238:return getList(n.declarations);case 252:case 256:return getList(n.elements);case 184:case 185:return getList(n.elements)}function getList(a){return a&&e.rangeContainsStartEnd(getVisualListRange(n,a,i),t,r)?a:undefined}}function getVisualListRange(e,t,r){var n=e.getChildren(r);for(var i=1;i=0&&r=0;s--){if(t[s].kind===27){continue}var c=n.getLineAndCharacterOfPosition(t[s].end).line;if(c!==o.line){return findColumnForFirstNonWhitespaceCharacterInLine(o,n,i)}o=getStartLineAndCharacterForNode(t[s],n)}return-1}function findColumnForFirstNonWhitespaceCharacterInLine(e,t,r){var n=t.getPositionOfLineAndCharacter(e.line,0);return findFirstNonWhitespaceColumn(n,n+e.character,t,r)}function findFirstNonWhitespaceCharacterAndColumn(t,r,n,i){var a=0;var o=0;for(var s=t;s0?1:0;var f=e.getStartPositionOfLine(e.getLineOfLocalPosition(t,c)+l,t);f=skipWhitespacesAndLineBreaks(t.text,f);return e.getStartPositionOfLine(e.getLineOfLocalPosition(t,f),t)}function getAdjustedEndPosition(t,r,n){var i=r.end;if(n.useNonAdjustedEndPosition||e.isExpression(r)){return i}var a=e.skipTrivia(t.text,i,true);return a!==i&&e.isLineBreak(t.text.charCodeAt(a-1))?a:i}function isSeparator(e,t){return!!t&&!!e.parent&&(t.kind===27||t.kind===26&&e.parent.kind===188)}function spaces(e){var t="";for(var r=0;r"})};ChangeTracker.prototype.getOptionsForInsertNodeBefore=function(t,r){if(e.isStatement(t)||e.isClassElement(t)){return{suffix:r?this.newLineCharacter+this.newLineCharacter:this.newLineCharacter}}else if(e.isVariableDeclaration(t)){return{suffix:", "}}else if(e.isParameter(t)){return{}}else if(e.isStringLiteral(t)&&e.isImportDeclaration(t.parent)||e.isNamedImports(t)){return{suffix:", "}}return e.Debug.failBadSyntaxKind(t)};ChangeTracker.prototype.insertNodeAtConstructorStart=function(t,r,n){var i=e.firstOrUndefined(r.body.statements);if(!i||!r.body.multiLine){this.replaceConstructorBody(t,r,[n].concat(r.body.statements))}else{this.insertNodeBefore(t,i,n)}};ChangeTracker.prototype.insertNodeAtConstructorEnd=function(t,r,n){var i=e.lastOrUndefined(r.body.statements);if(!i||!r.body.multiLine){this.replaceConstructorBody(t,r,r.body.statements.concat([n]))}else{this.insertNodeAfter(t,i,n)}};ChangeTracker.prototype.replaceConstructorBody=function(t,r,n){this.replaceNode(t,r.body,e.createBlock(n,true))};ChangeTracker.prototype.insertNodeAtEndOfScope=function(t,n,i){var a=getAdjustedStartPosition(t,n.getLastToken(),{},r.Start);this.insertNodeAt(t,a,i,{prefix:e.isLineBreak(t.text.charCodeAt(n.getLastToken().pos))?this.newLineCharacter:this.newLineCharacter+this.newLineCharacter,suffix:this.newLineCharacter})};ChangeTracker.prototype.insertNodeAtClassStart=function(e,t,r){this.insertNodeAtStartWorker(e,t,r)};ChangeTracker.prototype.insertNodeAtObjectStart=function(e,t,r){this.insertNodeAtStartWorker(e,t,r)};ChangeTracker.prototype.insertNodeAtStartWorker=function(t,r,i){var a=r.getStart(t);var o=e.formatting.SmartIndenter.findFirstNonWhitespaceColumn(e.getLineStartPositionForPosition(a,t),a,t,this.formatContext.options)+this.formatContext.options.indentSize;this.insertNodeAt(t,getMembersOrProperties(r).pos,i,n({indentation:o},this.getInsertNodeAtStartPrefixSuffix(t,r)))};ChangeTracker.prototype.getInsertNodeAtStartPrefixSuffix=function(t,r){var n=e.isObjectLiteralExpression(r)?",":"";if(getMembersOrProperties(r).length===0){if(e.addToSeen(this.classesWithNodesInsertedAtStart,e.getNodeId(r),{node:r,sourceFile:t})){var i=e.positionsAreOnSameLine.apply(void 0,getClassOrObjectBraceEnds(r,t).concat([t]));return{prefix:this.newLineCharacter,suffix:n+(i?this.newLineCharacter:"")}}else{return{prefix:"",suffix:n+this.newLineCharacter}}}else{return{prefix:this.newLineCharacter,suffix:n}}};ChangeTracker.prototype.insertNodeAfterComma=function(e,t,r){var n=this.insertNodeAfterWorker(e,this.nextCommaToken(e,t)||t,r);this.insertNodeAt(e,n,r,this.getInsertNodeAfterOptions(e,t))};ChangeTracker.prototype.insertNodeAfter=function(e,t,r){var n=this.insertNodeAfterWorker(e,t,r);this.insertNodeAt(e,n,r,this.getInsertNodeAfterOptions(e,t))};ChangeTracker.prototype.insertNodeAtEndOfList=function(e,t,r){this.insertNodeAt(e,t.end,r,{prefix:", "})};ChangeTracker.prototype.insertNodesAfter=function(t,r,n){var i=this.insertNodeAfterWorker(t,r,e.first(n));this.insertNodesAt(t,i,n,this.getInsertNodeAfterOptions(t,r))};ChangeTracker.prototype.insertNodeAfterWorker=function(t,r,n){if(needSemicolonBetween(r,n)){if(t.text.charCodeAt(r.end-1)!==59){this.replaceRange(t,e.createRange(r.end),e.createToken(26))}}var i=getAdjustedEndPosition(t,r,{});return i};ChangeTracker.prototype.getInsertNodeAfterOptions=function(t,r){var i=this.getInsertNodeAfterOptionsWorker(r);return n({},i,{prefix:r.end===t.end&&e.isStatement(r)?i.prefix?"\n"+i.prefix:"\n":i.prefix})};ChangeTracker.prototype.getInsertNodeAfterOptionsWorker=function(t){switch(t.kind){case 240:case 244:return{prefix:this.newLineCharacter,suffix:this.newLineCharacter};case 237:case 10:case 72:return{prefix:", "};case 275:return{suffix:","+this.newLineCharacter};case 85:return{prefix:" "};case 151:return{};default:e.Debug.assert(e.isStatement(t)||e.isClassOrTypeElement(t));return{suffix:this.newLineCharacter}}};ChangeTracker.prototype.insertName=function(t,r,n){e.Debug.assert(!r.name);if(r.kind===197){var i=e.findChildOfKind(r,37,t);var a=e.findChildOfKind(r,20,t);if(a){this.insertNodesAt(t,a.getStart(t),[e.createToken(90),e.createIdentifier(n)],{joiner:" "});deleteNode(this,t,i)}else{this.insertText(t,e.first(r.parameters).getStart(t),"function "+n+"(");this.replaceRange(t,i,e.createToken(21))}if(r.body.kind!==218){this.insertNodesAt(t,r.body.getStart(t),[e.createToken(18),e.createToken(97)],{joiner:" ",suffix:" "});this.insertNodesAt(t,r.body.end,[e.createToken(26),e.createToken(19)],{joiner:" "})}}else{var o=e.findChildOfKind(r,r.kind===196?90:76,t).end;this.insertNodeAt(t,o,e.createIdentifier(n),{prefix:" "})}};ChangeTracker.prototype.insertExportModifier=function(e,t){this.insertText(e,t.getStart(e),"export ")};ChangeTracker.prototype.insertNodeInListAfter=function(t,r,n,i){if(i===void 0){i=e.formatting.SmartIndenter.getContainingList(r,t)}if(!i){e.Debug.fail("node is not a list element");return}var a=e.indexOfNode(i,r);if(a<0){return}var o=r.getEnd();if(a!==i.length-1){var s=e.getTokenAtPosition(t,r.end);if(s&&isSeparator(r,s)){var c=e.getLineAndCharacterOfPosition(t,skipWhitespacesAndLineBreaks(t.text,i[a+1].getFullStart()));var u=e.getLineAndCharacterOfPosition(t,s.end);var l=void 0;var f=void 0;if(u.line===c.line){f=s.end;l=spaces(c.character-u.character)}else{f=e.getStartPositionOfLine(c.line,t)}var d=""+e.tokenToString(s.kind)+t.text.substring(s.end,i[a+1].getStart(t));this.replaceRange(t,e.createRange(f,i[a+1].getStart(t)),n,{prefix:l,suffix:d})}}else{var p=r.getStart(t);var g=e.getLineStartPositionForPosition(p,t);var _=void 0;var m=false;if(i.length===1){_=27}else{var y=e.findPrecedingToken(r.pos,t);_=isSeparator(r,y)?y.kind:27;var h=e.getLineStartPositionForPosition(i[a-1].getStart(t),t);m=h!==g}if(hasCommentsBeforeLineBreak(t.text,r.end)){m=true}if(m){this.replaceRange(t,e.createRange(o),e.createToken(_));var v=e.formatting.SmartIndenter.findFirstNonWhitespaceColumn(g,p,t,this.formatContext.options);var T=e.skipTrivia(t.text,o,true,false);if(T!==o&&e.isLineBreak(t.text.charCodeAt(T-1))){T--}this.replaceRange(t,e.createRange(T),n,{indentation:v,prefix:this.newLineCharacter})}else{this.replaceRange(t,e.createRange(o),n,{prefix:e.tokenToString(_)+" "})}}};ChangeTracker.prototype.finishClassesWithNodesInsertedAtStart=function(){var t=this;this.classesWithNodesInsertedAtStart.forEach(function(r){var n=r.node,i=r.sourceFile;var a=getClassOrObjectBraceEnds(n,i),o=a[0],s=a[1];if(e.positionsAreOnSameLine(o,s,i)&&o!==s-1){t.deleteRange(i,e.createRange(o,s-1))}})};ChangeTracker.prototype.finishDeleteDeclarations=function(){var t=this;var r=new e.NodeSet;var n=function(t,n){if(!i.deletedNodes.some(function(r){return r.sourceFile===t&&e.rangeContainsRangeExclusive(r.node,n)})){if(e.isArray(n)){i.deleteRange(t,e.rangeOfTypeParameters(n))}else{c.deleteDeclaration(i,r,t,n)}}};var i=this;for(var a=0,o=this.deletedNodes;a=0;n--){var i=r[n],a=i.span,o=i.newText;t=""+t.substring(0,a.start)+o+t.substring(e.textSpanEnd(a))}return t}t.applyChanges=applyChanges;function isTrivia(t){return e.skipTrivia(t,0)===t.length}function assignPositionsToNode(t){var r=e.visitEachChild(t,assignPositionsToNode,e.nullTransformationContext,assignPositionsToNodeArray,assignPositionsToNode);var n=e.nodeIsSynthesized(r)?r:Object.create(r);n.pos=getPos(t);n.end=getEnd(t);return n}function assignPositionsToNodeArray(t,r,n,i,a){var o=e.visitNodes(t,r,n,i,a);if(!o){return o}var s=o===t?e.createNodeArray(o.slice(0)):o;s.pos=getPos(t);s.end=getEnd(t);return s}var s=function(){function Writer(t){var r=this;this.lastNonTriviaPosition=0;this.writer=e.createTextWriter(t);this.onEmitNode=function(e,t,n){if(t){setPos(t,r.lastNonTriviaPosition)}n(e,t);if(t){setEnd(t,r.lastNonTriviaPosition)}};this.onBeforeEmitNodeArray=function(e){if(e){setPos(e,r.lastNonTriviaPosition)}};this.onAfterEmitNodeArray=function(e){if(e){setEnd(e,r.lastNonTriviaPosition)}};this.onBeforeEmitToken=function(e){if(e){setPos(e,r.lastNonTriviaPosition)}};this.onAfterEmitToken=function(e){if(e){setEnd(e,r.lastNonTriviaPosition)}}}Writer.prototype.setLastNonTriviaPosition=function(t,r){if(r||!isTrivia(t)){this.lastNonTriviaPosition=this.writer.getTextPos();var n=0;while(e.isWhiteSpaceLike(t.charCodeAt(t.length-n-1))){n++}this.lastNonTriviaPosition-=n}};Writer.prototype.write=function(e){this.writer.write(e);this.setLastNonTriviaPosition(e,false)};Writer.prototype.writeComment=function(e){this.writer.writeComment(e)};Writer.prototype.writeKeyword=function(e){this.writer.writeKeyword(e);this.setLastNonTriviaPosition(e,false)};Writer.prototype.writeOperator=function(e){this.writer.writeOperator(e);this.setLastNonTriviaPosition(e,false)};Writer.prototype.writePunctuation=function(e){this.writer.writePunctuation(e);this.setLastNonTriviaPosition(e,false)};Writer.prototype.writeTrailingSemicolon=function(e){this.writer.writeTrailingSemicolon(e);this.setLastNonTriviaPosition(e,false)};Writer.prototype.writeParameter=function(e){this.writer.writeParameter(e);this.setLastNonTriviaPosition(e,false)};Writer.prototype.writeProperty=function(e){this.writer.writeProperty(e);this.setLastNonTriviaPosition(e,false)};Writer.prototype.writeSpace=function(e){this.writer.writeSpace(e);this.setLastNonTriviaPosition(e,false)};Writer.prototype.writeStringLiteral=function(e){this.writer.writeStringLiteral(e);this.setLastNonTriviaPosition(e,false)};Writer.prototype.writeSymbol=function(e,t){this.writer.writeSymbol(e,t);this.setLastNonTriviaPosition(e,false)};Writer.prototype.writeLine=function(){this.writer.writeLine()};Writer.prototype.increaseIndent=function(){this.writer.increaseIndent()};Writer.prototype.decreaseIndent=function(){this.writer.decreaseIndent()};Writer.prototype.getText=function(){return this.writer.getText()};Writer.prototype.rawWrite=function(e){this.writer.rawWrite(e);this.setLastNonTriviaPosition(e,false)};Writer.prototype.writeLiteral=function(e){this.writer.writeLiteral(e);this.setLastNonTriviaPosition(e,true)};Writer.prototype.getTextPos=function(){return this.writer.getTextPos()};Writer.prototype.getLine=function(){return this.writer.getLine()};Writer.prototype.getColumn=function(){return this.writer.getColumn()};Writer.prototype.getIndent=function(){return this.writer.getIndent()};Writer.prototype.isAtStartOfLine=function(){return this.writer.isAtStartOfLine()};Writer.prototype.clear=function(){this.writer.clear();this.lastNonTriviaPosition=0};return Writer}();function getInsertionPositionAtSourceFileTop(t){var r;for(var n=0,i=t.statements;nt){if(n){a=e.concatenate(a,e.map(c.argumentTypes.slice(t),function(e){return i.getBaseTypeOfLiteralType(e)}))}else{a.push(i.getBaseTypeOfLiteralType(c.argumentTypes[t]))}}}}if(a.length){var u=i.getWidenedType(i.getUnionType(a,2));return n?i.createArrayType(u):u}return undefined}function getSignatureFromCallContext(t,r){var n=[];for(var i=0;i0){return T}var S=o.checker.getTypeAtLocation(t);var b=getLastCallSignature(S,o.checker).getReturnType();var x=e.getSynthesizedDeepClone(p);var C=!!o.checker.getPromisedTypeOfPromise(b)?e.createAwait(x):x;if(!s){var E=createTransformedStatement(r,C,o);if(r){r.types.push(b)}return E}else{return[e.createReturn(C)]}}}default:i=false;break}return e.emptyArray}function getLastCallSignature(t,r){var n=r.getSignaturesOfType(t,0);return e.lastOrUndefined(n)}function removeReturns(t,r,n,i){var a=[];for(var o=0,s=t;o0){return}}else if(!e.isFunctionLike(r)){e.forEachChild(r,visit)}})}return i}function getArgName(t,r){var n=0;var i=[];var a;if(e.isFunctionLikeDeclaration(t)){if(t.parameters.length>0){var o=t.parameters[0].name;a=getMapEntryOrDefault(o)}}else if(e.isIdentifier(t)){a=getMapEntryOrDefault(t)}if(!a||a.identifier.text==="undefined"){return undefined}return a;function getMapEntryOrDefault(t){var a=getOriginalNode(t);var o=getSymbol(a);if(!o){return{identifier:t,types:i,numberOfAssignmentsOriginal:n}}var s=r.synthNamesMap.get(e.getSymbolId(o).toString());return s||{identifier:t,types:i,numberOfAssignmentsOriginal:n}}function getSymbol(e){return e.symbol?e.symbol:r.checker.getSymbolAtLocation(e)}function getOriginalNode(e){return e.original?e.original:e}}})(t=e.codefix||(e.codefix={}))})(s||(s={}));var s;(function(e){var t;(function(t){t.registerCodeFix({errorCodes:[e.Diagnostics.File_is_a_CommonJS_module_it_may_be_converted_to_an_ES6_module.code],getCodeActions:function(r){var n=r.sourceFile,i=r.program,a=r.preferences;var o=e.textChanges.ChangeTracker.with(r,function(t){var r=convertFileToEs6Module(n,i.getTypeChecker(),t,i.getCompilerOptions().target,e.getQuotePreference(n,a));if(r){for(var o=0,s=i.getSourceFiles();o1?[[reExportStar(n),reExportDefault(n)],true]:[[reExportDefault(n)],true]}function reExportStar(e){return makeExportDeclaration(undefined,e)}function reExportDefault(t){return makeExportDeclaration([e.createExportSpecifier(undefined,"default")],t)}function convertExportsPropertyAssignment(t,r,n){var i=t.left,a=t.right,o=t.parent;var s=i.name.text;if((e.isFunctionExpression(a)||e.isArrowFunction(a)||e.isClassExpression(a))&&(!a.name||a.name.text===s)){n.replaceRange(r,{pos:i.getStart(r),end:a.getStart(r)},e.createToken(85),{suffix:" "});if(!a.name)n.insertName(r,a,s);var c=e.findChildOfKind(o,26,r);if(c)n.delete(r,c)}else{n.replaceNodeRangeWithNodes(r,i.expression,e.findChildOfKind(i,24,r),[e.createToken(85),e.createToken(77)],{joiner:" ",suffix:" "})}}function convertExportsDotXEquals_replaceNode(t,r){var n=[e.createToken(85)];switch(r.kind){case 196:{var i=r.name;if(i&&i.text!==t){return exportConst()}}case 197:return functionExpressionToDeclaration(t,n,r);case 209:return classExpressionToDeclaration(t,n,r);default:return exportConst()}function exportConst(){return makeConst(n,e.createIdentifier(t),r)}}function convertSingleImport(r,n,i,a,o,s,c,u){switch(n.kind){case 184:{var l=e.mapAllOrFail(n.elements,function(t){return t.dotDotDotToken||t.initializer||t.propertyName&&!e.isIdentifier(t.propertyName)||!e.isIdentifier(t.name)?undefined:makeImportSpecifier(t.propertyName&&t.propertyName.text,t.name.text)});if(l){return[e.makeImport(undefined,l,i,u)]}}case 185:{var f=makeUniqueName(t.moduleSpecifierToValidIdentifier(i.text,c),s);return[e.makeImport(e.createIdentifier(f),undefined,i,u),makeConst(undefined,e.getSynthesizedDeepClone(n),e.createIdentifier(f))]}case 72:return convertSingleIdentifierImport(r,n,i,a,o,s,u);default:return e.Debug.assertNever(n)}}function convertSingleIdentifierImport(t,r,n,i,a,o,s){var c=a.getSymbolAtLocation(r);var u=e.createMap();var l=false;for(var f=0,d=o.original.get(r.text);f0&&(!e.isIdentifier(n.name)||e.FindAllReferences.Core.isSymbolReferencedInFile(n.name,i,r))){n.modifiers.forEach(function(e){t.deleteModifier(r,e)})}else{t.delete(r,n);deleteUnusedArguments(t,r,n,a,i)}}}function mayDeleteParameter(t,r,n){var i=t.parent;switch(i.kind){case 156:var a=r.getSymbolAtLocation(i.name);if(e.isMemberSymbolInBaseType(a,r))return false;case 157:case 239:return true;case 196:case 197:{var o=i.parameters;var s=o.indexOf(t);e.Debug.assert(s!==-1);return n?o.slice(s+1).every(function(e){return e.name.kind===72&&!e.symbol.isReferenced}):s===o.length-1}case 159:return false;default:return e.Debug.failBadSyntaxKind(i)}}function deleteUnusedArguments(t,r,n,i,a){e.FindAllReferences.Core.eachSignatureCall(n.parent,i,a,function(e){var i=n.parent.parameters.indexOf(n);if(e.arguments.length>i){t.delete(r,e.arguments[i])}})}})(t=e.codefix||(e.codefix={}))})(s||(s={}));var s;(function(e){var t;(function(t){var r="fixUnreachableCode";var n=[e.Diagnostics.Unreachable_code_detected.code];t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var i=e.textChanges.ChangeTracker.with(n,function(e){return doChange(e,n.sourceFile,n.span.start,n.span.length)});return[t.createCodeFixAction(r,i,e.Diagnostics.Remove_unreachable_code,r,e.Diagnostics.Remove_all_unreachable_code)]},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,function(e,t){return doChange(e,t.file,t.start,t.length)})}});function doChange(t,r,n,i){var a=e.getTokenAtPosition(r,n);var o=e.findAncestor(a,e.isStatement);e.Debug.assert(o.getStart(r)===a.getStart(r));var s=(e.isBlock(o.parent)?o.parent:o).parent;if(!e.isBlock(o.parent)||o===e.first(o.parent.statements)){switch(s.kind){case 222:if(s.elseStatement){if(e.isBlock(o.parent)){break}else{t.replaceNode(r,o,e.createBlock(e.emptyArray))}return}case 224:case 225:t.delete(r,s);return}}if(e.isBlock(o.parent)){var c=n+i;var u=e.Debug.assertDefined(lastWhere(e.sliceAfter(o.parent.statements,o),function(e){return e.posg.length){var _=n.getSignatureFromDeclaration(o[o.length-1]);outputMethod(_,l,c,createStubbedMethodBody(i))}else{e.Debug.assert(o.length===g.length);a(createMethodImplementingSignatures(g,c,d,l,i))}break}function outputMethod(e,t,i,o){var s=signatureToMethodDeclaration(n,e,r,t,i,d,o);if(s)a(s)}}function signatureToMethodDeclaration(t,r,n,i,a,o,s){var c=t.signatureToSignatureDeclaration(r,156,n,256);if(!c){return undefined}c.decorators=undefined;c.modifiers=i;c.name=a;c.questionToken=o?e.createToken(56):undefined;c.body=s;return c}function createMethodFromCallExpression(t,r,n,i,a,o,s){var c=r.typeArguments,u=r.arguments,l=r.parent;var f=t.program.getTypeChecker();var d=e.map(u,function(e){return f.typeToTypeNode(f.getBaseTypeOfLiteralType(f.getTypeAtLocation(e)))});var p=e.map(u,function(t){return e.isIdentifier(t)?t.text:e.isPropertyAccessExpression(t)?t.name.text:undefined});var g=f.getContextualType(r);var _=i?undefined:g&&f.typeToTypeNode(g,r)||e.createKeywordTypeNode(120);return e.createMethod(undefined,a?[e.createToken(116)]:undefined,e.isYieldExpression(l)?e.createToken(40):undefined,n,undefined,i?undefined:e.map(c,function(t,r){return e.createTypeParameterDeclaration(84+c.length-1<=90?String.fromCharCode(84+r):"T"+r)}),createDummyParameters(u.length,p,d,undefined,i),_,s?createStubbedMethodBody(o):undefined)}t.createMethodFromCallExpression=createMethodFromCallExpression;function createDummyParameters(t,r,n,i,a){var o=[];for(var s=0;s=i?e.createToken(56):undefined,a?undefined:n&&n[s]||e.createKeywordTypeNode(120),undefined);o.push(c)}return o}function createMethodImplementingSignatures(t,r,n,i,a){var o=t[0];var s=t[0].minArgumentCount;var c=false;for(var u=0,l=t;u=o.parameters.length&&(!f.hasRestParameter||o.hasRestParameter)){o=f}}var d=o.parameters.length-(o.hasRestParameter?1:0);var p=o.parameters.map(function(e){return e.name});var g=createDummyParameters(d,p,undefined,s,false);if(c){var _=e.createArrayTypeNode(e.createKeywordTypeNode(120));var m=e.createParameter(undefined,undefined,e.createToken(25),p[d]||"rest",d>=s?e.createToken(56):undefined,_,undefined);g.push(m)}return createStubbedMethod(i,r,n,undefined,g,undefined,a)}function createStubbedMethod(t,r,n,i,a,o,s){return e.createMethod(undefined,t,undefined,r,n?e.createToken(56):undefined,i,a,o,createStubbedMethodBody(s))}function createStubbedMethodBody(t){return e.createBlock([e.createThrow(e.createNew(e.createIdentifier("Error"),undefined,[e.createLiteral("Method not implemented.",t.quotePreference==="single")]))],true)}function createVisibilityModifier(t){if(t&4){return e.createToken(115)}else if(t&16){return e.createToken(114)}return undefined}})(t=e.codefix||(e.codefix={}))})(s||(s={}));var s;(function(e){var t;(function(t){var r="invalidImportSyntax";function getCodeFixesForImportDeclaration(t,r){var n=e.getSourceFileOfNode(r);var i=e.getNamespaceDeclarationNode(r);var a=t.program.getCompilerOptions();var o=[];o.push(createAction(t,n,r,e.makeImport(i.name,undefined,r.moduleSpecifier,e.getQuotePreference(n,t.preferences))));if(e.getEmitModuleKind(a)===e.ModuleKind.CommonJS){o.push(createAction(t,n,r,e.createImportEqualsDeclaration(undefined,undefined,i.name,e.createExternalModuleReference(r.moduleSpecifier))))}return o}function createAction(n,i,a,o){var s=e.textChanges.ChangeTracker.with(n,function(e){return e.replaceNode(i,a,o)});return t.createCodeFixActionNoFixId(r,s,[e.Diagnostics.Replace_import_with_0,s[0].textChanges[0].newText])}t.registerCodeFix({errorCodes:[e.Diagnostics.Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatures.code,e.Diagnostics.Cannot_use_new_with_an_expression_whose_type_lacks_a_call_or_construct_signature.code],getCodeActions:getActionsForUsageOfInvalidImport});function getActionsForUsageOfInvalidImport(t){var r=t.sourceFile;var n=e.Diagnostics.Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatures.code===t.errorCode?191:192;var i=e.findAncestor(e.getTokenAtPosition(r,t.span.start),function(e){return e.kind===n&&e.getStart()===t.span.start&&e.getEnd()===t.span.start+t.span.length});if(!i){return[]}var a=i.expression;return getImportCodeFixesForExpression(t,a)}t.registerCodeFix({errorCodes:[e.Diagnostics.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code,e.Diagnostics.Type_0_does_not_satisfy_the_constraint_1.code,e.Diagnostics.Type_0_is_not_assignable_to_type_1.code,e.Diagnostics.Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated.code,e.Diagnostics.Type_predicate_0_is_not_assignable_to_1.code,e.Diagnostics.Property_0_of_type_1_is_not_assignable_to_string_index_type_2.code,e.Diagnostics.Property_0_of_type_1_is_not_assignable_to_numeric_index_type_2.code,e.Diagnostics.Numeric_index_type_0_is_not_assignable_to_string_index_type_1.code,e.Diagnostics.Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2.code,e.Diagnostics.Property_0_in_type_1_is_not_assignable_to_type_2.code,e.Diagnostics.Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property.code,e.Diagnostics.The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1.code],getCodeActions:getActionsForInvalidImportLocation});function getActionsForInvalidImportLocation(t){var r=t.sourceFile;var n=e.findAncestor(e.getTokenAtPosition(r,t.span.start),function(e){return e.getStart()===t.span.start&&e.getEnd()===t.span.start+t.span.length});if(!n){return[]}return getImportCodeFixesForExpression(t,n)}function getImportCodeFixesForExpression(n,i){var a=n.program.getTypeChecker().getTypeAtLocation(i);if(!(a.symbol&&a.symbol.originatingImport)){return[]}var o=[];var s=a.symbol.originatingImport;if(!e.isImportCall(s)){e.addRange(o,getCodeFixesForImportDeclaration(n,s))}if(e.isExpression(i)&&!(e.isNamedDeclaration(i.parent)&&i.parent.name===i)){var c=n.sourceFile;var u=e.textChanges.ChangeTracker.with(n,function(t){return t.replaceNode(c,i,e.createPropertyAccess(i,"default"),{})});o.push(t.createCodeFixActionNoFixId(r,u,e.Diagnostics.Use_synthetic_default_member))}return o}})(t=e.codefix||(e.codefix={}))})(s||(s={}));var s;(function(e){var t;(function(t){var r="strictClassInitialization";var n="addMissingPropertyDefiniteAssignmentAssertions";var i="addMissingPropertyUndefinedType";var a="addMissingPropertyInitializer";var o=[e.Diagnostics.Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor.code];t.registerCodeFix({errorCodes:o,getCodeActions:function(t){var r=getPropertyDeclaration(t.sourceFile,t.span.start);if(!r)return;var n=[getActionForAddMissingUndefinedType(t,r),getActionForAddMissingDefiniteAssignmentAssertion(t,r)];e.append(n,getActionForAddMissingInitializer(t,r));return n},fixIds:[n,i,a],getAllCodeActions:function(r){return t.codeFixAll(r,o,function(t,o){var s=getPropertyDeclaration(o.file,o.start);if(!s)return;switch(r.fixId){case n:addDefiniteAssignmentAssertion(t,o.file,s);break;case i:addUndefinedType(t,o.file,s);break;case a:var c=r.program.getTypeChecker();var u=getInitializer(c,s);if(!u)return;addInitializer(t,o.file,s,u);break;default:e.Debug.fail(JSON.stringify(r.fixId))}})}});function getPropertyDeclaration(t,r){var n=e.getTokenAtPosition(t,r);return e.isIdentifier(n)?e.cast(n.parent,e.isPropertyDeclaration):undefined}function getActionForAddMissingDefiniteAssignmentAssertion(i,a){var o=e.textChanges.ChangeTracker.with(i,function(e){return addDefiniteAssignmentAssertion(e,i.sourceFile,a)});return t.createCodeFixAction(r,o,[e.Diagnostics.Add_definite_assignment_assertion_to_property_0,a.getText()],n,e.Diagnostics.Add_definite_assignment_assertions_to_all_uninitialized_properties)}function addDefiniteAssignmentAssertion(t,r,n){var i=e.updateProperty(n,n.decorators,n.modifiers,n.name,e.createToken(52),n.type,n.initializer);t.replaceNode(r,n,i)}function getActionForAddMissingUndefinedType(n,a){var o=e.textChanges.ChangeTracker.with(n,function(e){return addUndefinedType(e,n.sourceFile,a)});return t.createCodeFixAction(r,o,[e.Diagnostics.Add_undefined_type_to_property_0,a.name.getText()],i,e.Diagnostics.Add_undefined_type_to_all_uninitialized_properties)}function addUndefinedType(t,r,n){var i=e.createKeywordTypeNode(141);var a=n.type;var o=e.isUnionTypeNode(a)?a.types.concat(i):[a,i];t.replaceNode(r,a,e.createUnionTypeNode(o))}function getActionForAddMissingInitializer(n,i){var o=n.program.getTypeChecker();var s=getInitializer(o,i);if(!s)return undefined;var c=e.textChanges.ChangeTracker.with(n,function(e){return addInitializer(e,n.sourceFile,i,s)});return t.createCodeFixAction(r,c,[e.Diagnostics.Add_initializer_to_property_0,i.name.getText()],a,e.Diagnostics.Add_initializers_to_all_uninitialized_properties)}function addInitializer(t,r,n,i){var a=e.updateProperty(n,n.decorators,n.modifiers,n.name,n.questionToken,n.type,i);t.replaceNode(r,n,a)}function getInitializer(e,t){return getDefaultValueFromType(e,e.getTypeFromTypeNode(t.type))}function getDefaultValueFromType(t,r){if(r.flags&512){return r===t.getFalseType()||r===t.getFalseType(true)?e.createFalse():e.createTrue()}else if(r.isLiteral()){return e.createLiteral(r.value)}else if(r.isUnion()){return e.firstDefined(r.types,function(e){return getDefaultValueFromType(t,e)})}else if(r.isClass()){var n=e.getClassLikeDeclarationOfSymbol(r.symbol);if(!n||e.hasModifier(n,128))return undefined;var i=e.getFirstConstructorWithBody(n);if(i&&i.parameters.length)return undefined;return e.createNew(e.createIdentifier(r.symbol.name),undefined,undefined)}else if(t.isArrayLikeType(r)){return e.createArrayLiteral()}return undefined}})(t=e.codefix||(e.codefix={}))})(s||(s={}));var s;(function(e){function generateTypesForModule(e,t,r){return generateTypesForModuleOrGlobal(e,t,r,0)}e.generateTypesForModule=generateTypesForModule;function generateTypesForGlobal(e,t,r){return generateTypesForModuleOrGlobal(e,t,r,3)}e.generateTypesForGlobal=generateTypesForGlobal;function generateTypesForModuleOrGlobal(t,r,n,i){return valueInfoToDeclarationFileText(e.inspectValue(t,r),n,i)}function valueInfoToDeclarationFileText(t,r,n){if(n===void 0){n=0}return e.textChanges.getNewFileText(toStatements(t,n),3,r.newLineCharacter||"\n",e.formatting.getFormatContext(r))}e.valueInfoToDeclarationFileText=valueInfoToDeclarationFileText;var t;(function(e){e[e["ExportEquals"]=0]="ExportEquals";e[e["NamedExport"]=1]="NamedExport";e[e["NamespaceMember"]=2]="NamespaceMember";e[e["Global"]=3]="Global"})(t||(t={}));function toNamespaceMemberStatements(e){return toStatements(e,2)}function toStatements(t,r){var n=t.name==="default";var i=n?"_default":t.name;if(!isValidIdentifier(i)||n&&r!==1)return e.emptyArray;var a=n&&t.kind===2?[e.createModifier(85),e.createModifier(80)]:r===3||r===0?[e.createModifier(125)]:r===1?[e.createModifier(85)]:undefined;var o=function(){return r===0?[exportEqualsOrDefault(t.name,true)]:e.emptyArray};var s=function(){return n?[exportEqualsOrDefault("_default",false)]:e.emptyArray};switch(t.kind){case 2:return o().concat(functionOrClassToStatements(a,i,t));case 3:var c=t.members,u=t.hasNontrivialPrototype;if(!u){if(r===0){return e.flatMap(c,function(e){return toStatements(e,1)})}if(c.some(function(e){return e.kind===2})){return s().concat([createNamespace(a,i,e.flatMap(c,toNamespaceMemberStatements))])}}case 0:case 1:{var l=t.kind===0?t.comment:undefined;var f=e.createVariableStatement(a,e.createVariableDeclarationList([e.createVariableDeclaration(i,toType(t))],2));return o().concat(s(),[addComment(f,l)])}default:return e.Debug.assertNever(t)}}function exportEqualsOrDefault(t,r){return e.createExportAssignment(undefined,undefined,r,e.createIdentifier(t))}function functionOrClassToStatements(t,r,n){var i=n.source,a=n.prototypeMembers,o=n.namespaceMembers;var s=parseClassOrFunctionBody(i);var c=s===undefined?{parameters:e.emptyArray,returnType:anyType()}:getParametersAndReturnType(s),u=c.parameters,l=c.returnType;var f=e.createMap();if(typeof s==="object")getConstructorFunctionInstanceProperties(s,f);for(var d=0,p=a;d=r.start+r.length){(s||(s=[])).push(e.createDiagnosticForNode(t,i.cannotExtractSuper));return true}}else{u|=a.UsesThis}break}if(e.isFunctionLikeDeclaration(t)||e.isClassLike(t)){switch(t.kind){case 239:case 240:if(e.isSourceFile(t.parent)&&t.parent.externalModuleIndicator===undefined){(s||(s=[])).push(e.createDiagnosticForNode(t,i.functionWillNotBeVisibleInTheNewScope))}break}return false}var d=l;switch(t.kind){case 222:l=0;break;case 235:l=0;break;case 218:if(t.parent&&t.parent.kind===235&&t.parent.finallyBlock===t){l=4}break;case 271:l|=1;break;default:if(e.isIterationStatement(t,false)){l|=1|2}break}switch(t.kind){case 178:case 100:u|=a.UsesThis;break;case 233:{var p=t.label;(f||(f=[])).push(p.escapedText);e.forEachChild(t,visit);f.pop();break}case 229:case 228:{var p=t.label;if(p){if(!e.contains(f,p.escapedText)){(s||(s=[])).push(e.createDiagnosticForNode(t,i.cannotExtractRangeContainingLabeledBreakOrContinueStatementWithTargetOutsideOfTheRange))}}else{if(!(l&(t.kind===229?1:2))){(s||(s=[])).push(e.createDiagnosticForNode(t,i.cannotExtractRangeContainingConditionalBreakOrContinueStatements))}}break}case 201:u|=a.IsAsyncFunction;break;case 207:u|=a.IsGenerator;break;case 230:if(l&4){u|=a.HasReturn}else{(s||(s=[])).push(e.createDiagnosticForNode(t,i.cannotExtractRangeContainingConditionalReturnStatement))}break;default:e.forEachChild(t,visit);break}l=d}}}r.getRangeToExtract=getRangeToExtract;function getStatementOrExpressionRange(t){if(e.isStatement(t)){return[t]}else if(e.isExpressionNode(t)){return e.isExpressionStatement(t.parent)?[t.parent]:t}return undefined}function isScope(t){return e.isFunctionLikeDeclaration(t)||e.isSourceFile(t)||e.isModuleBlock(t)||e.isClassLike(t)}function collectEnclosingScopes(t){var r=isReadonlyArray(t.range)?e.first(t.range):t.range;if(t.facts&a.UsesThis){var n=e.getContainingClass(r);if(n){var i=e.findAncestor(r,e.isFunctionLikeDeclaration);return i?[i,n]:[n]}}var o=[];while(true){r=r.parent;if(r.kind===151){r=e.findAncestor(r,function(t){return e.isFunctionLikeDeclaration(t)}).parent}if(isScope(r)){o.push(r);if(r.kind===279){return o}}}}function getFunctionExtractionAtIndex(t,r,n){var i=getPossibleExtractionsWorker(t,r),a=i.scopes,o=i.readsAndWrites,s=o.target,c=o.usagesPerScope,u=o.functionErrorsPerScope,l=o.exposedVariableDeclarations;e.Debug.assert(!u[n].length,"The extraction went missing? How?");r.cancellationToken.throwIfCancellationRequested();return extractFunctionInScope(s,a[n],c[n],l,t,r)}function getConstantExtractionAtIndex(t,r,n){var i=getPossibleExtractionsWorker(t,r),a=i.scopes,o=i.readsAndWrites,s=o.target,c=o.usagesPerScope,u=o.constantErrorsPerScope,l=o.exposedVariableDeclarations;e.Debug.assert(!u[n].length,"The extraction went missing? How?");e.Debug.assert(l.length===0,"Extract constant accepted a range containing a variable declaration?");r.cancellationToken.throwIfCancellationRequested();var f=e.isExpression(s)?s:s.statements[0].expression;return extractConstantInScope(f,a[n],c[n],t.facts,r)}function getPossibleExtractions(t,r){var n=getPossibleExtractionsWorker(t,r),i=n.scopes,a=n.readsAndWrites,o=a.functionErrorsPerScope,s=a.constantErrorsPerScope;var c=i.map(function(t,r){var n=getDescriptionForFunctionInScope(t);var i=getDescriptionForConstantInScope(t);var a=e.isFunctionLikeDeclaration(t)?getDescriptionForFunctionLikeDeclaration(t):e.isClassLike(t)?getDescriptionForClassLikeDeclaration(t):getDescriptionForModuleLikeDeclaration(t);var c;var u;if(a===1){c=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_1_scope),[n,"global"]);u=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_1_scope),[i,"global"])}else if(a===0){c=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_1_scope),[n,"module"]);u=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_1_scope),[i,"module"])}else{c=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_1),[n,a]);u=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_1),[i,a])}if(r===0&&!e.isClassLike(t)){u=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_enclosing_scope),[i])}return{functionExtraction:{description:c,errors:o[r]},constantExtraction:{description:u,errors:s[r]}}});return c}function getPossibleExtractionsWorker(e,t){var r=t.file;var n=collectEnclosingScopes(e);var i=getEnclosingTextRange(e,r);var a=collectReadsAndWrites(e,n,i,r,t.program.getTypeChecker(),t.cancellationToken);return{scopes:n,readsAndWrites:a}}function getDescriptionForFunctionInScope(t){return e.isFunctionLikeDeclaration(t)?"inner function":e.isClassLike(t)?"method":"function"}function getDescriptionForConstantInScope(t){return e.isClassLike(t)?"readonly field":"constant"}function getDescriptionForFunctionLikeDeclaration(t){switch(t.kind){case 157:return"constructor";case 196:case 239:return t.name?"function '"+t.name.text+"'":"anonymous function";case 197:return"arrow function";case 156:return"method '"+t.name.getText()+"'";case 158:return"'get "+t.name.getText()+"'";case 159:return"'set "+t.name.getText()+"'";default:throw e.Debug.assertNever(t)}}function getDescriptionForClassLikeDeclaration(e){return e.kind===240?e.name?"class '"+e.name.text+"'":"anonymous class declaration":e.name?"class expression '"+e.name.text+"'":"anonymous class expression"}function getDescriptionForModuleLikeDeclaration(e){return e.kind===245?"namespace '"+e.parent.name.getText()+"'":e.externalModuleIndicator?0:1}var o;(function(e){e[e["Module"]=0]="Module";e[e["Global"]=1]="Global"})(o||(o={}));function extractFunctionInScope(t,r,n,i,o,s){var c=n.usages,u=n.typeParameterUsages,l=n.substitutions;var f=s.program.getTypeChecker();var d=r.getSourceFile();var p=e.getUniqueName(e.isClassLike(r)?"newMethod":"newFunction",d);var g=e.isInJSFile(r);var _=e.createIdentifier(p);var m;var y=[];var h=[];var v;c.forEach(function(t,n){var i;if(!g){var a=f.getTypeOfSymbolAtLocation(t.symbol,t.node);a=f.getBaseTypeOfLiteralType(a);i=f.typeToTypeNode(a,r,1)}var o=e.createParameter(undefined,undefined,undefined,n,undefined,i);y.push(o);if(t.usage===2){(v||(v=[])).push(t)}h.push(e.createIdentifier(n))});var T=e.arrayFrom(u.values()).map(function(e){return{type:e,declaration:getFirstDeclaration(e)}});var S=T.sort(compareTypesByDeclarationOrder);var b=S.length===0?undefined:S.map(function(e){return e.declaration});var x=b!==undefined?b.map(function(t){return e.createTypeReferenceNode(t.name,undefined)}):undefined;if(e.isExpression(t)&&!g){var C=f.getContextualType(t);m=f.typeToTypeNode(C,r,1)}var E=transformFunctionBody(t,i,v,l,!!(o.facts&a.HasReturn)),D=E.body,k=E.returnValueProperty;e.suppressLeadingAndTrailingTrivia(D);var N;if(e.isClassLike(r)){var A=g?[]:[e.createToken(113)];if(o.facts&a.InStaticRegion){A.push(e.createToken(116))}if(o.facts&a.IsAsyncFunction){A.push(e.createToken(121))}N=e.createMethod(undefined,A.length?A:undefined,o.facts&a.IsGenerator?e.createToken(40):undefined,_,undefined,b,y,m,D)}else{N=e.createFunctionDeclaration(undefined,o.facts&a.IsAsyncFunction?[e.createToken(121)]:undefined,o.facts&a.IsGenerator?e.createToken(40):undefined,_,b,y,m,D)}var O=e.textChanges.ChangeTracker.fromContext(s);var F=(isReadonlyArray(o.range)?e.last(o.range):o.range).end;var P=getNodeToInsertFunctionBefore(F,r);if(P){O.insertNodeBefore(s.file,P,N,true)}else{O.insertNodeAtEndOfScope(s.file,r,N)}var I=[];var w=getCalledExpression(r,o,p);var M=e.createCall(w,x,h);if(o.facts&a.IsGenerator){M=e.createYield(e.createToken(40),M)}if(o.facts&a.IsAsyncFunction){M=e.createAwait(M)}if(i.length&&!v){e.Debug.assert(!k);e.Debug.assert(!(o.facts&a.HasReturn));if(i.length===1){var L=i[0];I.push(e.createVariableStatement(undefined,e.createVariableDeclarationList([e.createVariableDeclaration(e.getSynthesizedDeepClone(L.name),e.getSynthesizedDeepClone(L.type),M)],L.parent.flags)))}else{var R=[];var B=[];var j=i[0].parent.flags;var J=false;for(var W=0,U=i;W1){return t}n=t;t=t.parent}}function getFirstDeclaration(e){var t;var r=e.symbol;if(r&&r.declarations){for(var n=0,i=r.declarations;n0;if(e.isBlock(t)&&!o&&i.size===0){return{body:e.createBlock(t.statements,true),returnValueProperty:undefined}}var s;var c=false;var u=e.createNodeArray(e.isBlock(t)?t.statements.slice(0):[e.isStatement(t)?t:e.createReturn(t)]);if(o||i.size){var l=e.visitNodes(u,visitor).slice();if(o&&!a&&e.isStatement(t)){var f=getPropertyAssignmentsForWritesAndVariableDeclarations(r,n);if(f.length===1){l.push(e.createReturn(f[0].name))}else{l.push(e.createReturn(e.createObjectLiteral(f)))}}return{body:e.createBlock(l,true),returnValueProperty:s}}else{return{body:e.createBlock(u,true),returnValueProperty:undefined}}function visitor(t){if(!c&&t.kind===230&&o){var a=getPropertyAssignmentsForWritesAndVariableDeclarations(r,n);if(t.expression){if(!s){s="__return"}a.unshift(e.createPropertyAssignment(s,e.visitNode(t.expression,visitor)))}if(a.length===1){return e.createReturn(a[0].name)}else{return e.createReturn(e.createObjectLiteral(a))}}else{var u=c;c=c||e.isFunctionLikeDeclaration(t)||e.isClassLike(t);var l=i.get(e.getNodeId(t).toString());var f=l?e.getSynthesizedDeepClone(l):e.visitEachChild(t,visitor,e.nullTransformationContext);c=u;return f}}}function transformConstantInitializer(t,r){return r.size?visitor(t):t;function visitor(t){var n=r.get(e.getNodeId(t).toString());return n?e.getSynthesizedDeepClone(n):e.visitEachChild(t,visitor,e.nullTransformationContext)}}function getStatementsOrClassElements(t){if(e.isFunctionLikeDeclaration(t)){var r=t.body;if(e.isBlock(r)){return r.statements}}else if(e.isModuleBlock(t)||e.isSourceFile(t)){return t.statements}else if(e.isClassLike(t)){return t.members}else{e.assertType(t)}return e.emptyArray}function getNodeToInsertFunctionBefore(t,r){return e.find(getStatementsOrClassElements(r),function(r){return r.pos>=t&&e.isFunctionLikeDeclaration(r)&&!e.isConstructorDeclaration(r)})}function getNodeToInsertPropertyBefore(t,r){var n=r.members;e.Debug.assert(n.length>0);var i;var a=true;for(var o=0,s=n;ot){return i||n[0]}if(a&&!e.isPropertyDeclaration(c)){if(i!==undefined){return c}a=false}i=c}if(i===undefined)return e.Debug.fail();return i}function getNodeToInsertConstantBefore(t,r){e.Debug.assert(!e.isClassLike(r));var n;for(var i=t;i!==r;i=i.parent){if(isScope(i)){n=i}}for(var i=(n||t).parent;;i=i.parent){if(isBlockLike(i)){var a=void 0;for(var o=0,s=i.statements;ot.pos){break}a=c}if(!a&&e.isCaseClause(i)){e.Debug.assert(e.isSwitchStatement(i.parent.parent));return i.parent.parent}return e.Debug.assertDefined(a)}e.Debug.assert(i!==r,"Didn't encounter a block-like before encountering scope")}}function getPropertyAssignmentsForWritesAndVariableDeclarations(t,r){var n=e.map(t,function(t){return e.createShorthandPropertyAssignment(t.symbol.name)});var i=e.map(r,function(t){return e.createShorthandPropertyAssignment(t.symbol.name)});return n===undefined?i:i===undefined?n:n.concat(i)}function isReadonlyArray(t){return e.isArray(t)}function getEnclosingTextRange(t,r){return isReadonlyArray(t.range)?{pos:e.first(t.range).getStart(r),end:e.last(t.range).getEnd()}:t.range}var s;(function(e){e[e["Read"]=1]="Read";e[e["Write"]=2]="Write"})(s||(s={}));function collectReadsAndWrites(t,r,n,o,s,c){var u=e.createMap();var l=[];var f=[];var d=[];var p=[];var g=[];var _=e.createMap();var m=[];var y;var h=!isReadonlyArray(t.range)?t.range:t.range.length===1&&e.isExpressionStatement(t.range[0])?t.range[0].expression:undefined;var v;if(h===undefined){var T=t.range;var S=e.first(T).getStart();var b=e.last(T).end;v=e.createFileDiagnostic(o,S,b-S,i.expressionExpected)}else if(s.getTypeAtLocation(h).flags&(16384|131072)){v=e.createDiagnosticForNode(h,i.uselessConstantType)}for(var x=0,C=r;x0){var P=e.createMap();var I=0;for(var w=A;w!==undefined&&I0&&(n.usages.size>0||n.typeParameterUsages.size>0)){var a=isReadonlyArray(t.range)?t.range[0]:t.range;p[r].push(e.createDiagnosticForNode(a,i.cannotAccessVariablesFromNestedScopes))}var o=false;var s;l[r].usages.forEach(function(t){if(t.usage===2){o=true;if(t.symbol.flags&106500&&t.symbol.valueDeclaration&&e.hasModifier(t.symbol.valueDeclaration,64)){s=t.symbol.valueDeclaration}}});e.Debug.assert(isReadonlyArray(t.range)||m.length===0);if(o&&!isReadonlyArray(t.range)){var c=e.createDiagnosticForNode(t.range,i.cannotWriteInExpression);d[r].push(c);p[r].push(c)}else if(s&&r>0){var c=e.createDiagnosticForNode(s,i.cannotExtractReadonlyPropertyInitializerOutsideConstructor);d[r].push(c);p[r].push(c)}else if(y){var c=e.createDiagnosticForNode(y,i.cannotExtractExportedEntity);d[r].push(c);p[r].push(c)}};for(var W=0;W=u){return m}k.set(m,u);if(y){for(var h=0,v=l;h=0){return}var n=e.isIdentifier(r)?getSymbolReferencedByIdentifier(r):s.getSymbolAtLocation(r);if(n){var i=e.find(g,function(e){return e.symbol===n});if(i){if(e.isVariableDeclaration(i)){var a=i.symbol.id.toString();if(!_.has(a)){m.push(i);_.set(a,true)}}else{y=y||i}}}e.forEachChild(r,checkForUsedDeclarations)}function getSymbolReferencedByIdentifier(t){return t.parent&&e.isShorthandPropertyAssignment(t.parent)&&t.parent.name===t?s.getShorthandAssignmentValueSymbol(t.parent):s.getSymbolAtLocation(t)}function tryReplaceWithQualifiedNameOrPropertyAccess(t,r,n){if(!t){return undefined}var i=t.getDeclarations();if(i&&i.some(function(e){return e.parent===r})){return e.createIdentifier(t.name)}var a=tryReplaceWithQualifiedNameOrPropertyAccess(t.parent,r,n);if(a===undefined){return undefined}return n?e.createQualifiedName(a,e.createIdentifier(t.name)):e.createPropertyAccess(a,t.name)}}function isExtractableExpression(e){var t=e.parent;switch(t.kind){case 278:return false}switch(e.kind){case 10:return t.kind!==249&&t.kind!==253;case 208:case 184:case 186:return false;case 72:return t.kind!==186&&t.kind!==253&&t.kind!==257}return true}function isBlockLike(e){switch(e.kind){case 218:case 279:case 245:case 271:return true;default:return false}}})(r=t.extractSymbol||(t.extractSymbol={}))})(t=e.refactor||(e.refactor={}))})(s||(s={}));var s;(function(e){var t;(function(t){var r;(function(r){var n="Generate 'get' and 'set' accessors";var i=e.Diagnostics.Generate_get_and_set_accessors.message;t.registerRefactor(n,{getEditsForAction:getEditsForAction,getAvailableActions:getAvailableActions});function getAvailableActions(t){if(!getConvertibleFieldAtPosition(t))return e.emptyArray;return[{name:n,description:i,actions:[{name:n,description:i}]}]}function getEditsForAction(t,r){var n=t.file;var i=getConvertibleFieldAtPosition(t);if(!i)return undefined;var a=e.isSourceFileJS(n);var o=e.textChanges.ChangeTracker.fromContext(t);var s=i.isStatic,c=i.isReadonly,u=i.fieldName,l=i.accessorName,f=i.originalName,d=i.type,p=i.container,g=i.declaration,_=i.renameAccessor;e.suppressLeadingAndTrailingTrivia(u);e.suppressLeadingAndTrailingTrivia(g);e.suppressLeadingAndTrailingTrivia(p);var m=e.isClassLike(p);var y=e.getModifierFlags(g)&~64;var h=m?!y||y&8?getModifiers(a,s,115):e.createNodeArray(e.createModifiersFromModifierFlags(y)):undefined;var v=m?getModifiers(a,s,113):undefined;updateFieldDeclaration(o,n,g,u,v);var T=generateGetAccessor(u,l,d,h,s,p);e.suppressLeadingAndTrailingTrivia(T);insertAccessor(o,n,T,g,p);if(c){var S=e.getFirstConstructorWithBody(p);if(S){updateReadonlyPropertyInitializerStatementConstructor(o,n,S,u.text,f)}}else{var b=generateSetAccessor(u,l,d,h,s,p);e.suppressLeadingAndTrailingTrivia(b);insertAccessor(o,n,b,g,p)}var x=o.getChanges();var C=n.fileName;var E=_?l:u;var D=e.isIdentifier(E)?0:-1;var k=D+e.getRenameLocation(x,C,E.text,e.isParameter(g));return{renameFilename:C,renameLocation:k,edits:x}}function isConvertibleName(t){return e.isIdentifier(t)||e.isStringLiteral(t)}function isAcceptedDeclaration(t){return e.isParameterPropertyDeclaration(t)||e.isPropertyDeclaration(t)||e.isPropertyAssignment(t)}function createPropertyName(t,r){return e.isIdentifier(r)?e.createIdentifier(t):e.createLiteral(t)}function createAccessorAccessExpression(t,r,n){var i=r?n.name:e.createThis();return e.isIdentifier(t)?e.createPropertyAccess(i,t):e.createElementAccess(i,e.createLiteral(t))}function getModifiers(t,r,n){var i=e.append(!t?[e.createToken(n)]:undefined,r?e.createToken(116):undefined);return i&&e.createNodeArray(i)}function startsWithUnderscore(e){return e.charCodeAt(0)===95}function getConvertibleFieldAtPosition(t){var r=t.file,n=t.startPosition,i=t.endPosition;var a=e.getTokenAtPosition(r,n);var o=e.findAncestor(a.parent,isAcceptedDeclaration);var s=28|32|64;if(!o||!e.nodeOverlapsWithStartEnd(o.name,r,n,i)||!isConvertibleName(o.name)||(e.getModifierFlags(o)|s)!==s)return undefined;var c=o.name.text;var u=startsWithUnderscore(c);var l=createPropertyName(u?c:e.getUniqueName("_"+c,r),o.name);var f=createPropertyName(u?e.getUniqueName(c.substring(1),r):c,o.name);return{isStatic:e.hasStaticModifier(o),isReadonly:e.hasReadonlyModifier(o),type:e.getTypeAnnotationNode(o),container:o.kind===151?o.parent.parent:o.parent,originalName:o.name.text,declaration:o,fieldName:l,accessorName:f,renameAccessor:u}}function generateGetAccessor(t,r,n,i,a,o){return e.createGetAccessor(undefined,i,r,undefined,n,e.createBlock([e.createReturn(createAccessorAccessExpression(t,a,o))],true))}function generateSetAccessor(t,r,n,i,a,o){return e.createSetAccessor(undefined,i,r,[e.createParameter(undefined,undefined,undefined,e.createIdentifier("value"),undefined,n)],e.createBlock([e.createStatement(e.createAssignment(createAccessorAccessExpression(t,a,o),e.createIdentifier("value")))],true))}function updatePropertyDeclaration(t,r,n,i,a){var o=e.updateProperty(n,n.decorators,a,i,n.questionToken||n.exclamationToken,n.type,n.initializer);t.replaceNode(r,n,o)}function updatePropertyAssignmentDeclaration(t,r,n,i){var a=e.updatePropertyAssignment(n,i,n.initializer);t.replacePropertyAssignment(r,n,a)}function updateFieldDeclaration(t,r,n,i,a){if(e.isPropertyDeclaration(n)){updatePropertyDeclaration(t,r,n,i,a)}else if(e.isPropertyAssignment(n)){updatePropertyAssignmentDeclaration(t,r,n,i)}else{t.replaceNode(r,n,e.updateParameter(n,n.decorators,a,n.dotDotDotToken,e.cast(i,e.isIdentifier),n.questionToken,n.type,n.initializer))}}function insertAccessor(t,r,n,i,a){e.isParameterPropertyDeclaration(i)?t.insertNodeAtClassStart(r,a,n):e.isPropertyAssignment(i)?t.insertNodeAfterComma(r,i,n):t.insertNodeAfter(r,i,n)}function updateReadonlyPropertyInitializerStatementConstructor(t,r,n,i,a){if(!n.body)return;n.body.forEachChild(function recur(n){if(e.isElementAccessExpression(n)&&n.expression.kind===100&&e.isStringLiteral(n.argumentExpression)&&n.argumentExpression.text===a&&e.isWriteAccess(n)){t.replaceNode(r,n.argumentExpression,e.createStringLiteral(i))}if(e.isPropertyAccessExpression(n)&&n.expression.kind===100&&n.name.text===a&&e.isWriteAccess(n)){t.replaceNode(r,n.name,e.createIdentifier(i))}if(!e.isFunctionLike(n)&&!e.isClassLike(n)){n.forEachChild(recur)}})}})(r=t.generateGetAccessorAndSetAccessor||(t.generateGetAccessorAndSetAccessor={}))})(t=e.refactor||(e.refactor={}))})(s||(s={}));var s;(function(e){var t;(function(t){var r="Move to a new file";t.registerRefactor(r,{getAvailableActions:function(t){if(!t.preferences.allowTextChangesInNewFiles||getStatementsToMove(t)===undefined)return e.emptyArray;var n=e.getLocaleSpecificMessage(e.Diagnostics.Move_to_a_new_file);return[{name:r,description:n,actions:[{name:r,description:n}]}]},getEditsForAction:function(t,n){e.Debug.assert(n===r);var i=e.Debug.assertDefined(getStatementsToMove(t));var a=e.textChanges.ChangeTracker.with(t,function(e){return doChange(t.file,t.program,i,e,t.host,t.preferences)});return{edits:a,renameFilename:undefined,renameLocation:undefined}}});function getRangeToMove(t){var r=t.file;var n=e.createTextRangeFromSpan(e.getRefactorContextSpan(t));var i=r.statements;var a=e.findIndex(i,function(e){return e.end>n.pos});if(a===-1)return undefined;var o=i[a];if(e.isNamedDeclaration(o)&&o.name&&e.rangeContainsRange(o.name,n)){return{toMove:[i[a]],afterLast:i[a+1]}}if(n.pos>o.getStart(r))return undefined;var s=e.findIndex(i,function(e){return e.end>n.end},a);if(s!==-1&&(s===0||i[s].getStart(r)305});return n.kind<148?n:n.getFirstToken(t)};NodeObject.prototype.getLastToken=function(t){this.assertHasRealPosition();var r=this.getChildren(t);var n=e.lastOrUndefined(r);if(!n){return undefined}return n.kind<148?n:n.getLastToken(t)};NodeObject.prototype.forEachChild=function(t,r){return e.forEachChild(this,t,r)};return NodeObject}();function createChildren(t,r){if(!e.isNodeKind(t.kind)){return e.emptyArray}var n=[];if(e.isJSDocCommentContainingNode(t)){t.forEachChild(function(e){n.push(e)});return n}e.scanner.setText((r||t.getSourceFile()).text);var i=t.pos;var a=function(e){addSyntheticNodes(n,i,e.pos,t);n.push(e);i=e.end};var o=function(e){addSyntheticNodes(n,i,e.pos,t);n.push(createSyntaxList(e,t));i=e.end};e.forEach(t.jsDoc,a);i=t.pos;t.forEachChild(a,o);addSyntheticNodes(n,i,t.end,t);e.scanner.setText(undefined);return n}function addSyntheticNodes(t,r,n,i){e.scanner.setTextPos(r);while(r=r.length){n=this.getEnd()}if(!n){n=r[t+1]-1}var i=this.getFullText();return i[n]==="\n"&&i[n-1]==="\r"?n-1:n};SourceFileObject.prototype.getNamedDeclarations=function(){if(!this.namedDeclarations){this.namedDeclarations=this.computeNamedDeclarations()}return this.namedDeclarations};SourceFileObject.prototype.computeNamedDeclarations=function(){var t=e.createMultiMap();this.forEachChild(visit);return t;function addDeclaration(e){var r=getDeclarationName(e);if(r){t.add(r,e)}}function getDeclarations(e){var r=t.get(e);if(!r){t.set(e,r=[])}return r}function getDeclarationName(t){var r=e.getNonAssignedNameOfDeclaration(t);return r&&(e.isComputedPropertyName(r)&&e.isPropertyAccessExpression(r.expression)?r.expression.name.text:e.isPropertyName(r)?e.getNameFromPropertyName(r):undefined)}function visit(t){switch(t.kind){case 239:case 196:case 156:case 155:var r=t;var n=getDeclarationName(r);if(n){var i=getDeclarations(n);var a=e.lastOrUndefined(i);if(a&&r.parent===a.parent&&r.symbol===a.symbol){if(r.body&&!a.body){i[i.length-1]=r}}else{i.push(r)}}e.forEachChild(t,visit);break;case 240:case 209:case 241:case 242:case 243:case 244:case 248:case 257:case 253:case 250:case 251:case 158:case 159:case 168:addDeclaration(t);e.forEachChild(t,visit);break;case 151:if(!e.hasModifier(t,92)){break}case 237:case 186:{var o=t;if(e.isBindingPattern(o.name)){e.forEachChild(o.name,visit);break}if(o.initializer){visit(o.initializer)}}case 278:case 154:case 153:addDeclaration(t);break;case 255:if(t.exportClause){e.forEach(t.exportClause.elements,visit)}break;case 249:var s=t.importClause;if(s){if(s.name){addDeclaration(s.name)}if(s.namedBindings){if(s.namedBindings.kind===251){addDeclaration(s.namedBindings)}else{e.forEach(s.namedBindings.elements,visit)}}}break;case 204:if(e.getAssignmentDeclarationKind(t)!==0){addDeclaration(t)}default:e.forEachChild(t,visit)}}};return SourceFileObject}(t);var d=function(){function SourceMapSourceObject(e,t,r){this.fileName=e;this.text=t;this.skipTrivia=r}SourceMapSourceObject.prototype.getLineAndCharacterOfPosition=function(t){return e.getLineAndCharacterOfPosition(this,t)};return SourceMapSourceObject}();function getServicesObjectAllocator(){return{getNodeConstructor:function(){return t},getTokenConstructor:function(){return s},getIdentifierConstructor:function(){return c},getSourceFileConstructor:function(){return f},getSymbolConstructor:function(){return a},getTypeConstructor:function(){return u},getSignatureConstructor:function(){return l},getSourceMapSourceConstructor:function(){return d}}}function toEditorSettings(t){var r=true;for(var n in t){if(e.hasProperty(t,n)&&!isCamelCase(n)){r=false;break}}if(r){return t}var i={};for(var n in t){if(e.hasProperty(t,n)){var a=isCamelCase(n)?n:n.charAt(0).toLowerCase()+n.substr(1);i[a]=t[n]}}return i}e.toEditorSettings=toEditorSettings;function isCamelCase(e){return!e.length||e.charAt(0)===e.charAt(0).toLowerCase()}function displayPartsToString(t){if(t){return e.map(t,function(e){return e.text}).join("")}return""}e.displayPartsToString=displayPartsToString;function getDefaultCompilerOptions(){return{target:1,jsx:1}}e.getDefaultCompilerOptions=getDefaultCompilerOptions;function getSupportedCodeFixes(){return e.codefix.getSupportedErrorCodes()}e.getSupportedCodeFixes=getSupportedCodeFixes;var p=function(){function HostCache(t,r){this.host=t;this.currentDirectory=t.getCurrentDirectory();this.fileNameToEntry=e.createMap();var n=t.getScriptFileNames();for(var i=0,a=n;i=this.throttleWaitMilliseconds){this.lastCancellationCheckTime=t;return this.hostCancellationToken.isCancellationRequested()}return false};ThrottledCancellationToken.prototype.throwIfCancellationRequested=function(){if(this.isCancellationRequested()){throw new e.OperationCanceledException}};return ThrottledCancellationToken}();e.ThrottledCancellationToken=m;function createLanguageService(t,r,i){if(r===void 0){r=e.createDocumentRegistry(t.useCaseSensitiveFileNames&&t.useCaseSensitiveFileNames(),t.getCurrentDirectory())}if(i===void 0){i=false}var a;var o=new g(t);var s;var c;var u=0;var l=new _(t.getCancellationToken&&t.getCancellationToken());var f=t.getCurrentDirectory();if(!e.localizedDiagnosticMessages&&t.getLocalizedDiagnosticMessages){e.localizedDiagnosticMessages=t.getLocalizedDiagnosticMessages()}function log(e){if(t.log){t.log(e)}}var d=e.hostUsesCaseSensitiveFileNames(t);var m=e.createGetCanonicalFileName(d);var y=e.getSourceMapper(d,f,log,t,function(){return s});function getValidSourceFile(e){var t=s.getSourceFile(e);if(!t){throw new Error("Could not find file: '"+e+"'.")}return t}function synchronizeHostData(){e.Debug.assert(!i);if(t.getProjectVersion){var n=t.getProjectVersion();if(n){if(c===n&&!t.hasChangedAutomaticTypeDirectiveNames){return}c=n}}var a=t.getTypeRootsVersion?t.getTypeRootsVersion():0;if(u!==a){log("TypeRoots version has changed; provide new program");s=undefined;u=a}var o=new p(t,m);var g=o.getRootFileNames();var _=t.hasInvalidatedResolution||e.returnFalse;var h=o.getProjectReferences();if(e.isProgramUptoDate(s,g,o.compilationSettings(),function(e){return o.getVersion(e)},fileExists,_,!!t.hasChangedAutomaticTypeDirectiveNames,h)){return}var v=o.compilationSettings();var T={getSourceFile:getOrCreateSourceFile,getSourceFileByPath:getOrCreateSourceFileByPath,getCancellationToken:function(){return l},getCanonicalFileName:m,useCaseSensitiveFileNames:function(){return d},getNewLine:function(){return e.getNewLineCharacter(v,function(){return e.getNewLineOrDefaultFromHost(t)})},getDefaultLibFileName:function(e){return t.getDefaultLibFileName(e)},writeFile:e.noop,getCurrentDirectory:function(){return f},fileExists:fileExists,readFile:function(r){var n=e.toPath(r,f,m);var i=o&&o.getEntryByPath(n);if(i){return e.isString(i)?undefined:e.getSnapshotText(i.scriptSnapshot)}return t.readFile&&t.readFile(r)},realpath:t.realpath&&function(e){return t.realpath(e)},directoryExists:function(r){return e.directoryProbablyExists(r,t)},getDirectories:function(e){return t.getDirectories?t.getDirectories(e):[]},readDirectory:function(r,n,i,a,o){e.Debug.assertDefined(t.readDirectory,"'LanguageServiceHost.readDirectory' must be implemented to correctly process 'projectReferences'");return t.readDirectory(r,n,i,a,o)},onReleaseOldSourceFile:onReleaseOldSourceFile,hasInvalidatedResolution:_,hasChangedAutomaticTypeDirectiveNames:t.hasChangedAutomaticTypeDirectiveNames};if(t.trace){T.trace=function(e){return t.trace(e)}}if(t.resolveModuleNames){T.resolveModuleNames=function(e,r,n,i){return t.resolveModuleNames(e,r,n,i)}}if(t.resolveTypeReferenceDirectives){T.resolveTypeReferenceDirectives=function(e,r,n){return t.resolveTypeReferenceDirectives(e,r,n)}}var S=r.getKeyForCompilationSettings(v);var b={rootNames:g,options:v,host:T,oldProgram:s,projectReferences:h};s=e.createProgram(b);o=undefined;y.clearCache();s.getTypeChecker();return;function fileExists(r){var n=e.toPath(r,f,m);var i=o&&o.getEntryByPath(n);return i?!e.isString(i):!!t.fileExists&&t.fileExists(r)}function onReleaseOldSourceFile(e,t){var n=r.getKeyForCompilationSettings(t);r.releaseDocumentWithKey(e.resolvedPath,n)}function getOrCreateSourceFile(t,r,n,i){return getOrCreateSourceFileByPath(t,e.toPath(t,f,m),r,n,i)}function getOrCreateSourceFileByPath(t,n,i,a,c){e.Debug.assert(o!==undefined,"getOrCreateSourceFileByPath called after typical CompilerHost lifetime, check the callstack something with a reference to an old host.");var u=o&&o.getOrCreateEntryByPath(t,n);if(!u){return undefined}if(!c){var l=s&&s.getSourceFileByPath(n);if(l){e.Debug.assertEqual(u.scriptKind,l.scriptKind,"Registered script kind should match new script kind.",n);return r.updateDocumentWithKey(t,n,v,S,u.scriptSnapshot,u.version,u.scriptKind)}}return r.acquireDocumentWithKey(t,n,v,S,u.scriptSnapshot,u.version,u.scriptKind)}}function getProgram(){if(i){e.Debug.assert(s===undefined);return undefined}synchronizeHostData();return s}function cleanupSemanticCache(){s=undefined}function dispose(){if(s){e.forEach(s.getSourceFiles(),function(e){return r.releaseDocument(e.fileName,s.getCompilerOptions())});s=undefined}t=undefined}function getSyntacticDiagnostics(e){synchronizeHostData();return s.getSyntacticDiagnostics(getValidSourceFile(e),l).slice()}function getSemanticDiagnostics(t){synchronizeHostData();var r=getValidSourceFile(t);var n=s.getSemanticDiagnostics(r,l);if(!e.getEmitDeclarations(s.getCompilerOptions())){return n.slice()}var i=s.getDeclarationDiagnostics(r,l);return n.concat(i)}function getSuggestionDiagnostics(t){synchronizeHostData();return e.computeSuggestionDiagnostics(getValidSourceFile(t),s,l)}function getCompilerOptionsDiagnostics(){synchronizeHostData();return s.getOptionsDiagnostics(l).concat(s.getGlobalDiagnostics(l))}function getCompletionsAtPosition(r,i,a){if(a===void 0){a=e.emptyOptions}var o=n({},e.identity(a),{includeCompletionsForModuleExports:a.includeCompletionsForModuleExports||a.includeExternalModuleExports,includeCompletionsWithInsertText:a.includeCompletionsWithInsertText||a.includeInsertTextCompletions});synchronizeHostData();return e.Completions.getCompletionsAtPosition(t,s,log,getValidSourceFile(r),i,o,a.triggerCharacter)}function getCompletionEntryDetails(r,n,i,a,o,c){if(c===void 0){c=e.emptyOptions}synchronizeHostData();return e.Completions.getCompletionEntryDetails(s,log,getValidSourceFile(r),n,{name:i,source:o},t,a&&e.formatting.getFormatContext(a),c,l)}function getCompletionEntrySymbol(t,r,n,i){synchronizeHostData();return e.Completions.getCompletionEntrySymbol(s,log,getValidSourceFile(t),r,{name:n,source:i})}function getQuickInfoAtPosition(t,r){synchronizeHostData();var n=getValidSourceFile(t);var i=e.getTouchingPropertyName(n,r);if(i===n){return undefined}var a=s.getTypeChecker();var o=getSymbolAtLocationForQuickInfo(i,a);if(!o||a.isUnknownSymbol(o)){var c=shouldGetType(n,i,r)?a.getTypeAtLocation(i):undefined;return c&&{kind:"",kindModifiers:"",textSpan:e.createTextSpanFromNode(i,n),displayParts:a.runWithCancellationToken(l,function(t){return e.typeToDisplayParts(t,c,e.getContainerNode(i))}),documentation:c.symbol?c.symbol.getDocumentationComment(a):undefined,tags:c.symbol?c.symbol.getJsDocTags():undefined}}var u=a.runWithCancellationToken(l,function(t){return e.SymbolDisplay.getSymbolDisplayPartsDocumentationAndSymbolKind(t,o,n,e.getContainerNode(i),i)}),f=u.symbolKind,d=u.displayParts,p=u.documentation,g=u.tags;return{kind:f,kindModifiers:e.SymbolDisplay.getSymbolModifiers(o),textSpan:e.createTextSpanFromNode(i,n),displayParts:d,documentation:p,tags:g}}function shouldGetType(t,r,n){switch(r.kind){case 72:return!e.isLabelName(r)&&!e.isTagName(r);case 189:case 148:return!e.isInComment(t,n);case 100:case 178:case 98:return true;default:return false}}function getDefinitionAtPosition(t,r){synchronizeHostData();return e.GoToDefinition.getDefinitionAtPosition(s,getValidSourceFile(t),r)}function getDefinitionAndBoundSpan(t,r){synchronizeHostData();return e.GoToDefinition.getDefinitionAndBoundSpan(s,getValidSourceFile(t),r)}function getTypeDefinitionAtPosition(t,r){synchronizeHostData();return e.GoToDefinition.getTypeDefinitionAtPosition(s.getTypeChecker(),getValidSourceFile(t),r)}function getImplementationAtPosition(t,r){synchronizeHostData();return e.FindAllReferences.getImplementationsAtPosition(s,l,s.getSourceFiles(),getValidSourceFile(t),r)}function getOccurrencesAtPosition(t,r){return e.flatMap(getDocumentHighlights(t,r,[t]),function(e){return e.highlightSpans.map(function(t){return{fileName:e.fileName,textSpan:t.textSpan,isWriteAccess:t.kind==="writtenReference",isDefinition:false,isInString:t.isInString}})})}function getDocumentHighlights(t,r,n){var i=e.normalizePath(t);e.Debug.assert(n.some(function(t){return e.normalizePath(t)===i}));synchronizeHostData();var a=n.map(getValidSourceFile);var o=getValidSourceFile(t);return e.DocumentHighlights.getDocumentHighlights(s,l,o,r,a)}function findRenameLocations(t,r,n,i){synchronizeHostData();var a=getValidSourceFile(t);var o=e.getTouchingPropertyName(a,r);if(e.isIdentifier(o)&&(e.isJsxOpeningElement(o.parent)||e.isJsxClosingElement(o.parent))&&e.isIntrinsicJsxName(o.escapedText)){var s=o.parent.parent,c=s.openingElement,u=s.closingElement;return[c,u].map(function(t){return{fileName:a.fileName,textSpan:e.createTextSpanFromNode(t.tagName,a)}})}else{return getReferencesWorker(o,r,{findInStrings:n,findInComments:i,isForRename:true},e.FindAllReferences.toRenameLocation)}}function getReferencesAtPosition(t,r){synchronizeHostData();return getReferencesWorker(e.getTouchingPropertyName(getValidSourceFile(t),r),r,{},e.FindAllReferences.toReferenceEntry)}function getReferencesWorker(t,r,n,i){synchronizeHostData();var a=n&&n.isForRename?s.getSourceFiles().filter(function(e){return!s.isSourceFileDefaultLibrary(e)}):s.getSourceFiles();return e.FindAllReferences.findReferenceOrRenameEntries(s,l,a,t,r,n,i)}function findReferences(t,r){synchronizeHostData();return e.FindAllReferences.findReferencedSymbols(s,l,s.getSourceFiles(),getValidSourceFile(t),r)}function getNavigateToItems(t,r,n,i){if(i===void 0){i=false}synchronizeHostData();var a=n?[getValidSourceFile(n)]:s.getSourceFiles();return e.NavigateTo.getNavigateToItems(a,s.getTypeChecker(),l,t,r,i)}function getEmitOutput(r,n){if(n===void 0){n=false}synchronizeHostData();var i=getValidSourceFile(r);var a=t.getCustomTransformers&&t.getCustomTransformers();return e.getFileEmitOutput(s,i,n,l,a)}function getSignatureHelpItems(t,r,n){var i=(n===void 0?e.emptyOptions:n).triggerReason;synchronizeHostData();var a=getValidSourceFile(t);return e.SignatureHelp.getSignatureHelpItems(s,a,r,i,l)}function getNonBoundSourceFile(e){return o.getCurrentSourceFile(e)}function getNameOrDottedNameSpan(t,r,n){var i=o.getCurrentSourceFile(t);var a=e.getTouchingPropertyName(i,r);if(a===i){return undefined}switch(a.kind){case 189:case 148:case 10:case 87:case 102:case 96:case 98:case 100:case 178:case 72:break;default:return undefined}var s=a;while(true){if(e.isRightSideOfPropertyAccess(s)||e.isRightSideOfQualifiedName(s)){s=s.parent}else if(e.isNameOfModuleDeclaration(s)){if(s.parent.parent.kind===244&&s.parent.parent.body===s.parent){s=s.parent.parent.name}else{break}}else{break}}return e.createTextSpanFromBounds(s.getStart(),a.getEnd())}function getBreakpointStatementAtPosition(t,r){var n=o.getCurrentSourceFile(t);return e.BreakpointResolver.spanInSourceFileAtLocation(n,r)}function getNavigationBarItems(t){return e.NavigationBar.getNavigationBarItems(o.getCurrentSourceFile(t),l)}function getNavigationTree(t){return e.NavigationBar.getNavigationTree(o.getCurrentSourceFile(t),l)}function isTsOrTsxFile(r){var n=e.getScriptKind(r,t);return n===3||n===4}function getSemanticClassifications(t,r){if(!isTsOrTsxFile(t)){return[]}synchronizeHostData();return e.getSemanticClassifications(s.getTypeChecker(),l,getValidSourceFile(t),s.getClassifiableNames(),r)}function getEncodedSemanticClassifications(t,r){if(!isTsOrTsxFile(t)){return{spans:[],endOfLineState:0}}synchronizeHostData();return e.getEncodedSemanticClassifications(s.getTypeChecker(),l,getValidSourceFile(t),s.getClassifiableNames(),r)}function getSyntacticClassifications(t,r){return e.getSyntacticClassifications(l,o.getCurrentSourceFile(t),r)}function getEncodedSyntacticClassifications(t,r){return e.getEncodedSyntacticClassifications(l,o.getCurrentSourceFile(t),r)}function getOutliningSpans(t){var r=o.getCurrentSourceFile(t);return e.OutliningElementsCollector.collectElements(r,l)}var h=e.createMapFromTemplate((a={},a[18]=19,a[20]=21,a[22]=23,a[30]=28,a));h.forEach(function(e,t){return h.set(e.toString(),Number(t))});function getBraceMatchingAtPosition(t,r){var n=o.getCurrentSourceFile(t);var i=e.getTouchingToken(n,r);var a=i.getStart(n)===r?h.get(i.kind.toString()):undefined;var s=a&&e.findChildOfKind(i.parent,a,n);return s?[e.createTextSpanFromNode(i,n),e.createTextSpanFromNode(s,n)].sort(function(e,t){return e.start-t.start}):e.emptyArray}function getIndentationAtPosition(t,r,n){var i=e.timestamp();var a=toEditorSettings(n);var s=o.getCurrentSourceFile(t);log("getIndentationAtPosition: getCurrentSourceFile: "+(e.timestamp()-i));i=e.timestamp();var c=e.formatting.SmartIndenter.getIndentation(r,s,a);log("getIndentationAtPosition: computeIndentation : "+(e.timestamp()-i));return c}function getFormattingEditsForRange(t,r,n,i){var a=o.getCurrentSourceFile(t);return e.formatting.formatSelection(r,n,a,e.formatting.getFormatContext(toEditorSettings(i)))}function getFormattingEditsForDocument(t,r){return e.formatting.formatDocument(o.getCurrentSourceFile(t),e.formatting.getFormatContext(toEditorSettings(r)))}function getFormattingEditsAfterKeystroke(t,r,n,i){var a=o.getCurrentSourceFile(t);var s=e.formatting.getFormatContext(toEditorSettings(i));if(!e.isInComment(a,r)){switch(n){case"{":return e.formatting.formatOnOpeningCurly(r,a,s);case"}":return e.formatting.formatOnClosingCurly(r,a,s);case";":return e.formatting.formatOnSemicolon(r,a,s);case"\n":return e.formatting.formatOnEnter(r,a,s)}}return[]}function getCodeFixesAtPosition(r,n,i,a,o,c){if(c===void 0){c=e.emptyOptions}synchronizeHostData();var u=getValidSourceFile(r);var f=e.createTextSpanFromBounds(n,i);var d=e.formatting.getFormatContext(o);return e.flatMap(e.deduplicate(a,e.equateValues,e.compareValues),function(r){l.throwIfCancellationRequested();return e.codefix.getFixes({errorCode:r,sourceFile:u,span:f,program:s,host:t,cancellationToken:l,formatContext:d,preferences:c})})}function getCombinedCodeFix(r,n,i,a){if(a===void 0){a=e.emptyOptions}synchronizeHostData();e.Debug.assert(r.type==="file");var o=getValidSourceFile(r.fileName);var c=e.formatting.getFormatContext(i);return e.codefix.getAllFixes({fixId:n,sourceFile:o,program:s,host:t,cancellationToken:l,formatContext:c,preferences:a})}function organizeImports(r,n,i){if(i===void 0){i=e.emptyOptions}synchronizeHostData();e.Debug.assert(r.type==="file");var a=getValidSourceFile(r.fileName);var o=e.formatting.getFormatContext(n);return e.OrganizeImports.organizeImports(a,o,t,s,i)}function getEditsForFileRename(r,n,i,a){if(a===void 0){a=e.emptyOptions}return e.getEditsForFileRename(getProgram(),r,n,t,e.formatting.getFormatContext(i),a,y)}function applyCodeActionCommand(t,r){var n=typeof t==="string"?r:t;var i=typeof t!=="string"?r:undefined;return e.isArray(n)?Promise.all(n.map(function(e){return applySingleCodeActionCommand(e,i)})):applySingleCodeActionCommand(n,i)}function applySingleCodeActionCommand(r,n){var i=function(t){return e.toPath(t,f,m)};switch(r.type){case"install package":return t.installPackage?t.installPackage({fileName:i(r.file),packageName:r.packageName}):Promise.reject("Host does not implement `installPackage`");case"generate types":{var a=r.fileToGenerateTypesFor,o=r.outputFileName;if(!t.inspectValue)return Promise.reject("Host does not implement `installPackage`");var s=t.inspectValue({fileNameToRequire:a});return s.then(function(r){var a=i(o);t.writeFile(a,e.valueInfoToDeclarationFileText(r,n||e.testFormatSettings));return{successMessage:"Wrote types to '"+a+"'"}})}default:return e.Debug.assertNever(r)}}function getDocCommentTemplateAtPosition(r,n){return e.JsDoc.getDocCommentTemplateAtPosition(e.getNewLineOrDefaultFromHost(t),o.getCurrentSourceFile(r),n)}function isValidBraceCompletionAtPosition(t,r,n){if(n===60){return false}var i=o.getCurrentSourceFile(t);if(e.isInString(i,r)){return false}if(e.isInsideJsxElementOrAttribute(i,r)){return n===123}if(e.isInTemplateString(i,r)){return false}switch(n){case 39:case 34:case 96:return!e.isInComment(i,r)}return true}function getJsxClosingTagAtPosition(t,r){var n=o.getCurrentSourceFile(t);var i=e.findPrecedingToken(r,n);if(!i)return undefined;var a=i.kind===30&&e.isJsxOpeningElement(i.parent)?i.parent.parent:e.isJsxText(i)?i.parent:undefined;if(a&&isUnclosedTag(a)){return{newText:""}}}function isUnclosedTag(t){var r=t.openingElement,n=t.closingElement,i=t.parent;return!e.tagNamesAreEquivalent(r.tagName,n.tagName)||e.isJsxElement(i)&&e.tagNamesAreEquivalent(r.tagName,i.openingElement.tagName)&&isUnclosedTag(i)}function getSpanOfEnclosingComment(t,r,n){var i=o.getCurrentSourceFile(t);var a=e.formatting.getRangeOfEnclosingComment(i,r);return a&&(!n||a.kind===3)?e.createTextSpanFromRange(a):undefined}function getTodoComments(t,r){synchronizeHostData();var n=getValidSourceFile(t);l.throwIfCancellationRequested();var i=n.text;var a=[];if(r.length>0&&!isNodeModulesFile(n.fileName)){var o=getTodoCommentsRegExp();var s=void 0;while(s=o.exec(i)){l.throwIfCancellationRequested();var c=3;e.Debug.assert(s.length===r.length+c);var u=s[1];var f=s.index+u.length;if(!e.isInComment(n,f)){continue}var d=void 0;for(var p=0;p=97&&e<=122||e>=65&&e<=90||e>=48&&e<=57}function isNodeModulesFile(t){return e.stringContains(t,"/node_modules/")}}function getRenameInfo(t,r){synchronizeHostData();return e.Rename.getRenameInfo(s,getValidSourceFile(t),r)}function getRefactorContext(r,n,i,a){var o=typeof n==="number"?[n,undefined]:[n.pos,n.end],s=o[0],c=o[1];return{file:r,startPosition:s,endPosition:c,program:getProgram(),host:t,formatContext:e.formatting.getFormatContext(a),cancellationToken:l,preferences:i}}function getApplicableRefactors(t,r,n){if(n===void 0){n=e.emptyOptions}synchronizeHostData();var i=getValidSourceFile(t);return e.refactor.getApplicableRefactors(getRefactorContext(i,r,n))}function getEditsForRefactor(t,r,n,i,a,o){if(o===void 0){o=e.emptyOptions}synchronizeHostData();var s=getValidSourceFile(t);return e.refactor.getEditsForRefactor(getRefactorContext(s,n,o,r),i,a)}return{dispose:dispose,cleanupSemanticCache:cleanupSemanticCache,getSyntacticDiagnostics:getSyntacticDiagnostics,getSemanticDiagnostics:getSemanticDiagnostics,getSuggestionDiagnostics:getSuggestionDiagnostics,getCompilerOptionsDiagnostics:getCompilerOptionsDiagnostics,getSyntacticClassifications:getSyntacticClassifications,getSemanticClassifications:getSemanticClassifications,getEncodedSyntacticClassifications:getEncodedSyntacticClassifications,getEncodedSemanticClassifications:getEncodedSemanticClassifications,getCompletionsAtPosition:getCompletionsAtPosition,getCompletionEntryDetails:getCompletionEntryDetails,getCompletionEntrySymbol:getCompletionEntrySymbol,getSignatureHelpItems:getSignatureHelpItems,getQuickInfoAtPosition:getQuickInfoAtPosition,getDefinitionAtPosition:getDefinitionAtPosition,getDefinitionAndBoundSpan:getDefinitionAndBoundSpan,getImplementationAtPosition:getImplementationAtPosition,getTypeDefinitionAtPosition:getTypeDefinitionAtPosition,getReferencesAtPosition:getReferencesAtPosition,findReferences:findReferences,getOccurrencesAtPosition:getOccurrencesAtPosition,getDocumentHighlights:getDocumentHighlights,getNameOrDottedNameSpan:getNameOrDottedNameSpan,getBreakpointStatementAtPosition:getBreakpointStatementAtPosition,getNavigateToItems:getNavigateToItems,getRenameInfo:getRenameInfo,findRenameLocations:findRenameLocations,getNavigationBarItems:getNavigationBarItems,getNavigationTree:getNavigationTree,getOutliningSpans:getOutliningSpans,getTodoComments:getTodoComments,getBraceMatchingAtPosition:getBraceMatchingAtPosition,getIndentationAtPosition:getIndentationAtPosition,getFormattingEditsForRange:getFormattingEditsForRange,getFormattingEditsForDocument:getFormattingEditsForDocument,getFormattingEditsAfterKeystroke:getFormattingEditsAfterKeystroke,getDocCommentTemplateAtPosition:getDocCommentTemplateAtPosition,isValidBraceCompletionAtPosition:isValidBraceCompletionAtPosition,getJsxClosingTagAtPosition:getJsxClosingTagAtPosition,getSpanOfEnclosingComment:getSpanOfEnclosingComment,getCodeFixesAtPosition:getCodeFixesAtPosition,getCombinedCodeFix:getCombinedCodeFix,applyCodeActionCommand:applyCodeActionCommand,organizeImports:organizeImports,getEditsForFileRename:getEditsForFileRename,getEmitOutput:getEmitOutput,getNonBoundSourceFile:getNonBoundSourceFile,getProgram:getProgram,getApplicableRefactors:getApplicableRefactors,getEditsForRefactor:getEditsForRefactor,toLineColumnOffset:y.toLineColumnOffset,getSourceMapper:function(){return y}}}e.createLanguageService=createLanguageService;function getNameTable(e){if(!e.nameTable){initializeNameTable(e)}return e.nameTable}e.getNameTable=getNameTable;function initializeNameTable(t){var r=t.nameTable=e.createUnderscoreEscapedMap();t.forEachChild(function walk(t){if(e.isIdentifier(t)&&!e.isTagName(t)&&t.escapedText||e.isStringOrNumericLiteralLike(t)&&literalIsName(t)){var n=e.getEscapedTextOfIdentifierOrLiteral(t);r.set(n,r.get(n)===undefined?t.pos:-1)}e.forEachChild(t,walk);if(e.hasJSDocNodes(t)){for(var i=0,a=t.jsDoc;ii){var a=e.findPrecedingToken(n.pos,t);if(!a||t.getLineAndCharacterOfPosition(a.getEnd()).line!==i){return undefined}n=a}if(n.flags&4194304){return undefined}return spanInNode(n);function textSpan(r,n){var i=r.decorators?e.skipTrivia(t.text,r.decorators.end):r.getStart(t);return e.createTextSpanFromBounds(i,(n||r).getEnd())}function textSpanEndingAtNextToken(r,n){return textSpan(r,e.findNextToken(n,n.parent,t))}function spanInNodeIfStartsOnSameLine(e,r){if(e&&i===t.getLineAndCharacterOfPosition(e.getStart(t)).line){return spanInNode(e)}return spanInNode(r)}function spanInNodeArray(r){return e.createTextSpanFromBounds(e.skipTrivia(t.text,r.pos),r.end)}function spanInPreviousNode(r){return spanInNode(e.findPrecedingToken(r.pos,t))}function spanInNextNode(r){return spanInNode(e.findNextToken(r,r.parent,t))}function spanInNode(r){if(r){var n=r.parent;switch(r.kind){case 219:return spanInVariableDeclaration(r.declarationList.declarations[0]);case 237:case 154:case 153:return spanInVariableDeclaration(r);case 151:return spanInParameterDeclaration(r);case 239:case 156:case 155:case 158:case 159:case 157:case 196:case 197:return spanInFunctionDeclaration(r);case 218:if(e.isFunctionBlock(r)){return spanInFunctionBlock(r)}case 245:return spanInBlock(r);case 274:return spanInBlock(r.block);case 221:return textSpan(r.expression);case 230:return textSpan(r.getChildAt(0),r.expression);case 224:return textSpanEndingAtNextToken(r,r.expression);case 223:return spanInNode(r.statement);case 236:return textSpan(r.getChildAt(0));case 222:return textSpanEndingAtNextToken(r,r.expression);case 233:return spanInNode(r.statement);case 229:case 228:return textSpan(r.getChildAt(0),r.label);case 225:return spanInForStatement(r);case 226:return textSpanEndingAtNextToken(r,r.expression);case 227:return spanInInitializerOfForLike(r);case 232:return textSpanEndingAtNextToken(r,r.expression);case 271:case 272:return spanInNode(r.statements[0]);case 235:return spanInBlock(r.tryBlock);case 234:return textSpan(r,r.expression);case 254:return textSpan(r,r.expression);case 248:return textSpan(r,r.moduleReference);case 249:return textSpan(r,r.moduleSpecifier);case 255:return textSpan(r,r.moduleSpecifier);case 244:if(e.getModuleInstanceState(r)!==1){return undefined}case 240:case 243:case 278:case 186:return textSpan(r);case 231:return spanInNode(r.statement);case 152:return spanInNodeArray(n.decorators);case 184:case 185:return spanInBindingPattern(r);case 241:case 242:return undefined;case 26:case 1:return spanInNodeIfStartsOnSameLine(e.findPrecedingToken(r.pos,t));case 27:return spanInPreviousNode(r);case 18:return spanInOpenBraceToken(r);case 19:return spanInCloseBraceToken(r);case 23:return spanInCloseBracketToken(r);case 20:return spanInOpenParenToken(r);case 21:return spanInCloseParenToken(r);case 57:return spanInColonToken(r);case 30:case 28:return spanInGreaterThanOrLessThanToken(r);case 107:return spanInWhileKeyword(r);case 83:case 75:case 88:return spanInNextNode(r);case 147:return spanInOfKeyword(r);default:if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(r)){return spanInArrayLiteralOrObjectLiteralDestructuringPattern(r)}if((r.kind===72||r.kind===208||r.kind===275||r.kind===276)&&e.isArrayLiteralOrObjectLiteralDestructuringPattern(n)){return textSpan(r)}if(r.kind===204){var i=r,a=i.left,o=i.operatorToken;if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(a)){return spanInArrayLiteralOrObjectLiteralDestructuringPattern(a)}if(o.kind===59&&e.isArrayLiteralOrObjectLiteralDestructuringPattern(r.parent)){return textSpan(r)}if(o.kind===27){return spanInNode(a)}}if(e.isExpressionNode(r)){switch(n.kind){case 223:return spanInPreviousNode(r);case 152:return spanInNode(r.parent);case 225:case 227:return textSpan(r);case 204:if(r.parent.operatorToken.kind===27){return textSpan(r)}break;case 197:if(r.parent.body===r){return textSpan(r)}break}}switch(r.parent.kind){case 275:if(r.parent.name===r&&!e.isArrayLiteralOrObjectLiteralDestructuringPattern(r.parent.parent)){return spanInNode(r.parent.initializer)}break;case 194:if(r.parent.type===r){return spanInNextNode(r.parent.type)}break;case 237:case 151:{var s=r.parent,c=s.initializer,u=s.type;if(c===r||u===r||e.isAssignmentOperator(r.kind)){return spanInPreviousNode(r)}break}case 204:{var a=r.parent.left;if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(a)&&r!==a){return spanInPreviousNode(r)}break}default:if(e.isFunctionLike(r.parent)&&r.parent.type===r){return spanInPreviousNode(r)}}return spanInNode(r.parent)}}function textSpanFromVariableDeclaration(r){if(e.isVariableDeclarationList(r.parent)&&r.parent.declarations[0]===r){return textSpan(e.findPrecedingToken(r.pos,t,r.parent),r)}else{return textSpan(r)}}function spanInVariableDeclaration(r){if(r.parent.parent.kind===226){return spanInNode(r.parent.parent)}var n=r.parent;if(e.isBindingPattern(r.name)){return spanInBindingPattern(r.name)}if(r.initializer||e.hasModifier(r,1)||n.parent.kind===227){return textSpanFromVariableDeclaration(r)}if(e.isVariableDeclarationList(r.parent)&&r.parent.declarations[0]!==r){return spanInNode(e.findPrecedingToken(r.pos,t,r.parent))}}function canHaveSpanInParameterDeclaration(t){return!!t.initializer||t.dotDotDotToken!==undefined||e.hasModifier(t,4|8)}function spanInParameterDeclaration(t){if(e.isBindingPattern(t.name)){return spanInBindingPattern(t.name)}else if(canHaveSpanInParameterDeclaration(t)){return textSpan(t)}else{var r=t.parent;var n=r.parameters.indexOf(t);e.Debug.assert(n!==-1);if(n!==0){return spanInParameterDeclaration(r.parameters[n-1])}else{return spanInNode(r.body)}}}function canFunctionHaveSpanInWholeDeclaration(t){return e.hasModifier(t,1)||t.parent.kind===240&&t.kind!==157}function spanInFunctionDeclaration(e){if(!e.body){return undefined}if(canFunctionHaveSpanInWholeDeclaration(e)){return textSpan(e)}return spanInNode(e.body)}function spanInFunctionBlock(e){var t=e.statements.length?e.statements[0]:e.getLastToken();if(canFunctionHaveSpanInWholeDeclaration(e.parent)){return spanInNodeIfStartsOnSameLine(e.parent,t)}return spanInNode(t)}function spanInBlock(r){switch(r.parent.kind){case 244:if(e.getModuleInstanceState(r.parent)!==1){return undefined}case 224:case 222:case 226:return spanInNodeIfStartsOnSameLine(r.parent,r.statements[0]);case 225:case 227:return spanInNodeIfStartsOnSameLine(e.findPrecedingToken(r.pos,t,r.parent),r.statements[0])}return spanInNode(r.statements[0])}function spanInInitializerOfForLike(e){if(e.initializer.kind===238){var t=e.initializer;if(t.declarations.length>0){return spanInNode(t.declarations[0])}}else{return spanInNode(e.initializer)}}function spanInForStatement(e){if(e.initializer){return spanInInitializerOfForLike(e)}if(e.condition){return textSpan(e.condition)}if(e.incrementor){return textSpan(e.incrementor)}}function spanInBindingPattern(t){var r=e.forEach(t.elements,function(e){return e.kind!==210?e:undefined});if(r){return spanInNode(r)}if(t.parent.kind===186){return textSpan(t.parent)}return textSpanFromVariableDeclaration(t.parent)}function spanInArrayLiteralOrObjectLiteralDestructuringPattern(t){e.Debug.assert(t.kind!==185&&t.kind!==184);var r=t.kind===187?t.elements:t.properties;var n=e.forEach(r,function(e){return e.kind!==210?e:undefined});if(n){return spanInNode(n)}return textSpan(t.parent.kind===204?t.parent:t)}function spanInOpenBraceToken(r){switch(r.parent.kind){case 243:var n=r.parent;return spanInNodeIfStartsOnSameLine(e.findPrecedingToken(r.pos,t,r.parent),n.members.length?n.members[0]:n.getLastToken(t));case 240:var i=r.parent;return spanInNodeIfStartsOnSameLine(e.findPrecedingToken(r.pos,t,r.parent),i.members.length?i.members[0]:i.getLastToken(t));case 246:return spanInNodeIfStartsOnSameLine(r.parent.parent,r.parent.clauses[0])}return spanInNode(r.parent)}function spanInCloseBraceToken(t){switch(t.parent.kind){case 245:if(e.getModuleInstanceState(t.parent.parent)!==1){return undefined}case 243:case 240:return textSpan(t);case 218:if(e.isFunctionBlock(t.parent)){return textSpan(t)}case 274:return spanInNode(e.lastOrUndefined(t.parent.statements));case 246:var r=t.parent;var n=e.lastOrUndefined(r.clauses);if(n){return spanInNode(e.lastOrUndefined(n.statements))}return undefined;case 184:var i=t.parent;return spanInNode(e.lastOrUndefined(i.elements)||i);default:if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(t.parent)){var a=t.parent;return textSpan(e.lastOrUndefined(a.properties)||a)}return spanInNode(t.parent)}}function spanInCloseBracketToken(t){switch(t.parent.kind){case 185:var r=t.parent;return textSpan(e.lastOrUndefined(r.elements)||r);default:if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(t.parent)){var n=t.parent;return textSpan(e.lastOrUndefined(n.elements)||n)}return spanInNode(t.parent)}}function spanInOpenParenToken(e){if(e.parent.kind===223||e.parent.kind===191||e.parent.kind===192){return spanInPreviousNode(e)}if(e.parent.kind===195){return spanInNextNode(e)}return spanInNode(e.parent)}function spanInCloseParenToken(e){switch(e.parent.kind){case 196:case 239:case 197:case 156:case 155:case 158:case 159:case 157:case 224:case 223:case 225:case 227:case 191:case 192:case 195:return spanInPreviousNode(e);default:return spanInNode(e.parent)}}function spanInColonToken(t){if(e.isFunctionLike(t.parent)||t.parent.kind===275||t.parent.kind===151){return spanInPreviousNode(t)}return spanInNode(t.parent)}function spanInGreaterThanOrLessThanToken(e){if(e.parent.kind===194){return spanInNextNode(e)}return spanInNode(e.parent)}function spanInWhileKeyword(e){if(e.parent.kind===223){return textSpanEndingAtNextToken(e,e.parent.expression)}return spanInNode(e.parent)}function spanInOfKeyword(e){if(e.parent.kind===227){return spanInNextNode(e)}return spanInNode(e.parent)}}}t.spanInSourceFileAtLocation=spanInSourceFileAtLocation})(t=e.BreakpointResolver||(e.BreakpointResolver={}))})(s||(s={}));var s;(function(e){function transform(t,r,n){var i=[];n=e.fixupCompilerOptions(n,i);var a=e.isArray(t)?t:[t];var o=e.transformNodes(undefined,undefined,n,a,r,true);o.diagnostics=e.concatenate(o.diagnostics,i);return o}e.transform=transform})(s||(s={}));var c=function(){return this}();var s;(function(t){function logInternalError(e,t){if(e){e.log("*INTERNAL ERROR* - Exception in typescript services: "+t.message)}}var r=function(){function ScriptSnapshotShimAdapter(e){this.scriptSnapshotShim=e}ScriptSnapshotShimAdapter.prototype.getText=function(e,t){return this.scriptSnapshotShim.getText(e,t)};ScriptSnapshotShimAdapter.prototype.getLength=function(){return this.scriptSnapshotShim.getLength()};ScriptSnapshotShimAdapter.prototype.getChangeRange=function(e){var r=e;var n=this.scriptSnapshotShim.getChangeRange(r.scriptSnapshotShim);if(n===null){return null}var i=JSON.parse(n);return t.createTextChangeRange(t.createTextSpan(i.span.start,i.span.length),i.newLength)};ScriptSnapshotShimAdapter.prototype.dispose=function(){if("dispose"in this.scriptSnapshotShim){this.scriptSnapshotShim.dispose()}};return ScriptSnapshotShimAdapter}();var n=function(){function LanguageServiceShimHostAdapter(e){var r=this;this.shimHost=e;this.loggingEnabled=false;this.tracingEnabled=false;if("getModuleResolutionsForFile"in this.shimHost){this.resolveModuleNames=function(e,n){var i=JSON.parse(r.shimHost.getModuleResolutionsForFile(n));return t.map(e,function(e){var r=t.getProperty(i,e);return r?{resolvedFileName:r,extension:t.extensionFromPath(r),isExternalLibraryImport:false}:undefined})}}if("directoryExists"in this.shimHost){this.directoryExists=function(e){return r.shimHost.directoryExists(e)}}if("getTypeReferenceDirectiveResolutionsForFile"in this.shimHost){this.resolveTypeReferenceDirectives=function(e,n){var i=JSON.parse(r.shimHost.getTypeReferenceDirectiveResolutionsForFile(n));return t.map(e,function(e){return t.getProperty(i,e)})}}}LanguageServiceShimHostAdapter.prototype.log=function(e){if(this.loggingEnabled){this.shimHost.log(e)}};LanguageServiceShimHostAdapter.prototype.trace=function(e){if(this.tracingEnabled){this.shimHost.trace(e)}};LanguageServiceShimHostAdapter.prototype.error=function(e){this.shimHost.error(e)};LanguageServiceShimHostAdapter.prototype.getProjectVersion=function(){if(!this.shimHost.getProjectVersion){return undefined}return this.shimHost.getProjectVersion()};LanguageServiceShimHostAdapter.prototype.getTypeRootsVersion=function(){if(!this.shimHost.getTypeRootsVersion){return 0}return this.shimHost.getTypeRootsVersion()};LanguageServiceShimHostAdapter.prototype.useCaseSensitiveFileNames=function(){return this.shimHost.useCaseSensitiveFileNames?this.shimHost.useCaseSensitiveFileNames():false};LanguageServiceShimHostAdapter.prototype.getCompilationSettings=function(){var e=this.shimHost.getCompilationSettings();if(e===null||e===""){throw Error("LanguageServiceShimHostAdapter.getCompilationSettings: empty compilationSettings")}var t=JSON.parse(e);t.allowNonTsExtensions=true;return t};LanguageServiceShimHostAdapter.prototype.getScriptFileNames=function(){var e=this.shimHost.getScriptFileNames();return JSON.parse(e)};LanguageServiceShimHostAdapter.prototype.getScriptSnapshot=function(e){var t=this.shimHost.getScriptSnapshot(e);return t&&new r(t)};LanguageServiceShimHostAdapter.prototype.getScriptKind=function(e){if("getScriptKind"in this.shimHost){return this.shimHost.getScriptKind(e)}else{return 0}};LanguageServiceShimHostAdapter.prototype.getScriptVersion=function(e){return this.shimHost.getScriptVersion(e)};LanguageServiceShimHostAdapter.prototype.getLocalizedDiagnosticMessages=function(){var e=this.shimHost.getLocalizedDiagnosticMessages();if(e===null||e===""){return null}try{return JSON.parse(e)}catch(e){this.log(e.description||"diagnosticMessages.generated.json has invalid JSON format");return null}};LanguageServiceShimHostAdapter.prototype.getCancellationToken=function(){var e=this.shimHost.getCancellationToken();return new t.ThrottledCancellationToken(e)};LanguageServiceShimHostAdapter.prototype.getCurrentDirectory=function(){return this.shimHost.getCurrentDirectory()};LanguageServiceShimHostAdapter.prototype.getDirectories=function(e){return JSON.parse(this.shimHost.getDirectories(e))};LanguageServiceShimHostAdapter.prototype.getDefaultLibFileName=function(e){return this.shimHost.getDefaultLibFileName(JSON.stringify(e))};LanguageServiceShimHostAdapter.prototype.readDirectory=function(e,r,n,i,a){var o=t.getFileMatcherPatterns(e,n,i,this.shimHost.useCaseSensitiveFileNames(),this.shimHost.getCurrentDirectory());return JSON.parse(this.shimHost.readDirectory(e,JSON.stringify(r),JSON.stringify(o.basePaths),o.excludePattern,o.includeFilePattern,o.includeDirectoryPattern,a))};LanguageServiceShimHostAdapter.prototype.readFile=function(e,t){return this.shimHost.readFile(e,t)};LanguageServiceShimHostAdapter.prototype.fileExists=function(e){return this.shimHost.fileExists(e)};return LanguageServiceShimHostAdapter}();t.LanguageServiceShimHostAdapter=n;var i=function(){function CoreServicesShimHostAdapter(e){var t=this;this.shimHost=e;this.useCaseSensitiveFileNames=this.shimHost.useCaseSensitiveFileNames?this.shimHost.useCaseSensitiveFileNames():false;if("directoryExists"in this.shimHost){this.directoryExists=function(e){return t.shimHost.directoryExists(e)}}else{this.directoryExists=undefined}if("realpath"in this.shimHost){this.realpath=function(e){return t.shimHost.realpath(e)}}else{this.realpath=undefined}}CoreServicesShimHostAdapter.prototype.readDirectory=function(e,r,n,i,a){var o=t.getFileMatcherPatterns(e,n,i,this.shimHost.useCaseSensitiveFileNames(),this.shimHost.getCurrentDirectory());return JSON.parse(this.shimHost.readDirectory(e,JSON.stringify(r),JSON.stringify(o.basePaths),o.excludePattern,o.includeFilePattern,o.includeDirectoryPattern,a))};CoreServicesShimHostAdapter.prototype.fileExists=function(e){return this.shimHost.fileExists(e)};CoreServicesShimHostAdapter.prototype.readFile=function(e){return this.shimHost.readFile(e)};CoreServicesShimHostAdapter.prototype.getDirectories=function(e){return JSON.parse(this.shimHost.getDirectories(e))};return CoreServicesShimHostAdapter}();t.CoreServicesShimHostAdapter=i;function simpleForwardCall(e,r,n,i){var a;if(i){e.log(r);a=t.timestamp()}var o=n();if(i){var s=t.timestamp();e.log(r+" completed in "+(s-a)+" msec");if(t.isString(o)){var c=o;if(c.length>128){c=c.substring(0,128)+"..."}e.log(" result.length="+c.length+", result='"+JSON.stringify(c)+"'")}}return o}function forwardJSONCall(e,t,r,n){return forwardCall(e,t,true,r,n)}function forwardCall(e,r,n,i,a){try{var o=simpleForwardCall(e,r,i,a);return n?JSON.stringify({result:o}):o}catch(n){if(n instanceof t.OperationCanceledException){return JSON.stringify({canceled:true})}logInternalError(e,n);n.description=r;return JSON.stringify({error:n})}}var a=function(){function ShimBase(e){this.factory=e;e.registerShim(this)}ShimBase.prototype.dispose=function(e){this.factory.unregisterShim(this)};return ShimBase}();function realizeDiagnostics(e,t){return e.map(function(e){return realizeDiagnostic(e,t)})}t.realizeDiagnostics=realizeDiagnostics;function realizeDiagnostic(e,r){return{message:t.flattenDiagnosticMessageText(e.messageText,r),start:e.start,length:e.length,category:t.diagnosticCategoryName(e),code:e.code,reportsUnnecessary:e.reportsUnnecessary}}var s=function(e){o(LanguageServiceShimObject,e);function LanguageServiceShimObject(t,r,n){var i=e.call(this,t)||this;i.host=r;i.languageService=n;i.logPerformance=false;i.logger=i.host;return i}LanguageServiceShimObject.prototype.forwardJSONCall=function(e,t){return forwardJSONCall(this.logger,e,t,this.logPerformance)};LanguageServiceShimObject.prototype.dispose=function(t){this.logger.log("dispose()");this.languageService.dispose();this.languageService=null;if(c&&c.CollectGarbage){c.CollectGarbage();this.logger.log("CollectGarbage()")}this.logger=null;e.prototype.dispose.call(this,t)};LanguageServiceShimObject.prototype.refresh=function(e){this.forwardJSONCall("refresh("+e+")",function(){return null})};LanguageServiceShimObject.prototype.cleanupSemanticCache=function(){var e=this;this.forwardJSONCall("cleanupSemanticCache()",function(){e.languageService.cleanupSemanticCache();return null})};LanguageServiceShimObject.prototype.realizeDiagnostics=function(e){var r=t.getNewLineOrDefaultFromHost(this.host);return realizeDiagnostics(e,r)};LanguageServiceShimObject.prototype.getSyntacticClassifications=function(e,r,n){var i=this;return this.forwardJSONCall("getSyntacticClassifications('"+e+"', "+r+", "+n+")",function(){return i.languageService.getSyntacticClassifications(e,t.createTextSpan(r,n))})};LanguageServiceShimObject.prototype.getSemanticClassifications=function(e,r,n){var i=this;return this.forwardJSONCall("getSemanticClassifications('"+e+"', "+r+", "+n+")",function(){return i.languageService.getSemanticClassifications(e,t.createTextSpan(r,n))})};LanguageServiceShimObject.prototype.getEncodedSyntacticClassifications=function(e,r,n){var i=this;return this.forwardJSONCall("getEncodedSyntacticClassifications('"+e+"', "+r+", "+n+")",function(){return convertClassifications(i.languageService.getEncodedSyntacticClassifications(e,t.createTextSpan(r,n)))})};LanguageServiceShimObject.prototype.getEncodedSemanticClassifications=function(e,r,n){var i=this;return this.forwardJSONCall("getEncodedSemanticClassifications('"+e+"', "+r+", "+n+")",function(){return convertClassifications(i.languageService.getEncodedSemanticClassifications(e,t.createTextSpan(r,n)))})};LanguageServiceShimObject.prototype.getSyntacticDiagnostics=function(e){var t=this;return this.forwardJSONCall("getSyntacticDiagnostics('"+e+"')",function(){var r=t.languageService.getSyntacticDiagnostics(e);return t.realizeDiagnostics(r)})};LanguageServiceShimObject.prototype.getSemanticDiagnostics=function(e){var t=this;return this.forwardJSONCall("getSemanticDiagnostics('"+e+"')",function(){var r=t.languageService.getSemanticDiagnostics(e);return t.realizeDiagnostics(r)})};LanguageServiceShimObject.prototype.getSuggestionDiagnostics=function(e){var t=this;return this.forwardJSONCall("getSuggestionDiagnostics('"+e+"')",function(){return t.realizeDiagnostics(t.languageService.getSuggestionDiagnostics(e))})};LanguageServiceShimObject.prototype.getCompilerOptionsDiagnostics=function(){var e=this;return this.forwardJSONCall("getCompilerOptionsDiagnostics()",function(){var t=e.languageService.getCompilerOptionsDiagnostics();return e.realizeDiagnostics(t)})};LanguageServiceShimObject.prototype.getQuickInfoAtPosition=function(e,t){var r=this;return this.forwardJSONCall("getQuickInfoAtPosition('"+e+"', "+t+")",function(){return r.languageService.getQuickInfoAtPosition(e,t)})};LanguageServiceShimObject.prototype.getNameOrDottedNameSpan=function(e,t,r){var n=this;return this.forwardJSONCall("getNameOrDottedNameSpan('"+e+"', "+t+", "+r+")",function(){return n.languageService.getNameOrDottedNameSpan(e,t,r)})};LanguageServiceShimObject.prototype.getBreakpointStatementAtPosition=function(e,t){var r=this;return this.forwardJSONCall("getBreakpointStatementAtPosition('"+e+"', "+t+")",function(){return r.languageService.getBreakpointStatementAtPosition(e,t)})};LanguageServiceShimObject.prototype.getSignatureHelpItems=function(e,t,r){var n=this;return this.forwardJSONCall("getSignatureHelpItems('"+e+"', "+t+")",function(){return n.languageService.getSignatureHelpItems(e,t,r)})};LanguageServiceShimObject.prototype.getDefinitionAtPosition=function(e,t){var r=this;return this.forwardJSONCall("getDefinitionAtPosition('"+e+"', "+t+")",function(){return r.languageService.getDefinitionAtPosition(e,t)})};LanguageServiceShimObject.prototype.getDefinitionAndBoundSpan=function(e,t){var r=this;return this.forwardJSONCall("getDefinitionAndBoundSpan('"+e+"', "+t+")",function(){return r.languageService.getDefinitionAndBoundSpan(e,t)})};LanguageServiceShimObject.prototype.getTypeDefinitionAtPosition=function(e,t){var r=this;return this.forwardJSONCall("getTypeDefinitionAtPosition('"+e+"', "+t+")",function(){return r.languageService.getTypeDefinitionAtPosition(e,t)})};LanguageServiceShimObject.prototype.getImplementationAtPosition=function(e,t){var r=this;return this.forwardJSONCall("getImplementationAtPosition('"+e+"', "+t+")",function(){return r.languageService.getImplementationAtPosition(e,t)})};LanguageServiceShimObject.prototype.getRenameInfo=function(e,t){var r=this;return this.forwardJSONCall("getRenameInfo('"+e+"', "+t+")",function(){return r.languageService.getRenameInfo(e,t)})};LanguageServiceShimObject.prototype.findRenameLocations=function(e,t,r,n){var i=this;return this.forwardJSONCall("findRenameLocations('"+e+"', "+t+", "+r+", "+n+")",function(){return i.languageService.findRenameLocations(e,t,r,n)})};LanguageServiceShimObject.prototype.getBraceMatchingAtPosition=function(e,t){var r=this;return this.forwardJSONCall("getBraceMatchingAtPosition('"+e+"', "+t+")",function(){return r.languageService.getBraceMatchingAtPosition(e,t)})};LanguageServiceShimObject.prototype.isValidBraceCompletionAtPosition=function(e,t,r){var n=this;return this.forwardJSONCall("isValidBraceCompletionAtPosition('"+e+"', "+t+", "+r+")",function(){return n.languageService.isValidBraceCompletionAtPosition(e,t,r)})};LanguageServiceShimObject.prototype.getSpanOfEnclosingComment=function(e,t,r){var n=this;return this.forwardJSONCall("getSpanOfEnclosingComment('"+e+"', "+t+")",function(){return n.languageService.getSpanOfEnclosingComment(e,t,r)})};LanguageServiceShimObject.prototype.getIndentationAtPosition=function(e,t,r){var n=this;return this.forwardJSONCall("getIndentationAtPosition('"+e+"', "+t+")",function(){var i=JSON.parse(r);return n.languageService.getIndentationAtPosition(e,t,i)})};LanguageServiceShimObject.prototype.getReferencesAtPosition=function(e,t){var r=this;return this.forwardJSONCall("getReferencesAtPosition('"+e+"', "+t+")",function(){return r.languageService.getReferencesAtPosition(e,t)})};LanguageServiceShimObject.prototype.findReferences=function(e,t){var r=this;return this.forwardJSONCall("findReferences('"+e+"', "+t+")",function(){return r.languageService.findReferences(e,t)})};LanguageServiceShimObject.prototype.getOccurrencesAtPosition=function(e,t){var r=this;return this.forwardJSONCall("getOccurrencesAtPosition('"+e+"', "+t+")",function(){return r.languageService.getOccurrencesAtPosition(e,t)})};LanguageServiceShimObject.prototype.getDocumentHighlights=function(e,r,n){var i=this;return this.forwardJSONCall("getDocumentHighlights('"+e+"', "+r+")",function(){var a=i.languageService.getDocumentHighlights(e,r,JSON.parse(n));var o=t.normalizeSlashes(e).toLowerCase();return t.filter(a,function(e){return t.normalizeSlashes(e.fileName).toLowerCase()===o})})};LanguageServiceShimObject.prototype.getCompletionsAtPosition=function(e,t,r){var n=this;return this.forwardJSONCall("getCompletionsAtPosition('"+e+"', "+t+", "+r+")",function(){return n.languageService.getCompletionsAtPosition(e,t,r)})};LanguageServiceShimObject.prototype.getCompletionEntryDetails=function(e,t,r,n,i,a){var o=this;return this.forwardJSONCall("getCompletionEntryDetails('"+e+"', "+t+", '"+r+"')",function(){var s=n===undefined?undefined:JSON.parse(n);return o.languageService.getCompletionEntryDetails(e,t,r,s,i,a)})};LanguageServiceShimObject.prototype.getFormattingEditsForRange=function(e,t,r,n){var i=this;return this.forwardJSONCall("getFormattingEditsForRange('"+e+"', "+t+", "+r+")",function(){var a=JSON.parse(n);return i.languageService.getFormattingEditsForRange(e,t,r,a)})};LanguageServiceShimObject.prototype.getFormattingEditsForDocument=function(e,t){var r=this;return this.forwardJSONCall("getFormattingEditsForDocument('"+e+"')",function(){var n=JSON.parse(t);return r.languageService.getFormattingEditsForDocument(e,n)})};LanguageServiceShimObject.prototype.getFormattingEditsAfterKeystroke=function(e,t,r,n){var i=this;return this.forwardJSONCall("getFormattingEditsAfterKeystroke('"+e+"', "+t+", '"+r+"')",function(){var a=JSON.parse(n);return i.languageService.getFormattingEditsAfterKeystroke(e,t,r,a)})};LanguageServiceShimObject.prototype.getDocCommentTemplateAtPosition=function(e,t){var r=this;return this.forwardJSONCall("getDocCommentTemplateAtPosition('"+e+"', "+t+")",function(){return r.languageService.getDocCommentTemplateAtPosition(e,t)})};LanguageServiceShimObject.prototype.getNavigateToItems=function(e,t,r){var n=this;return this.forwardJSONCall("getNavigateToItems('"+e+"', "+t+", "+r+")",function(){return n.languageService.getNavigateToItems(e,t,r)})};LanguageServiceShimObject.prototype.getNavigationBarItems=function(e){var t=this;return this.forwardJSONCall("getNavigationBarItems('"+e+"')",function(){return t.languageService.getNavigationBarItems(e)})};LanguageServiceShimObject.prototype.getNavigationTree=function(e){var t=this;return this.forwardJSONCall("getNavigationTree('"+e+"')",function(){return t.languageService.getNavigationTree(e)})};LanguageServiceShimObject.prototype.getOutliningSpans=function(e){var t=this;return this.forwardJSONCall("getOutliningSpans('"+e+"')",function(){return t.languageService.getOutliningSpans(e)})};LanguageServiceShimObject.prototype.getTodoComments=function(e,t){var r=this;return this.forwardJSONCall("getTodoComments('"+e+"')",function(){return r.languageService.getTodoComments(e,JSON.parse(t))})};LanguageServiceShimObject.prototype.getEmitOutput=function(e){var t=this;return this.forwardJSONCall("getEmitOutput('"+e+"')",function(){return t.languageService.getEmitOutput(e)})};LanguageServiceShimObject.prototype.getEmitOutputObject=function(e){var t=this;return forwardCall(this.logger,"getEmitOutput('"+e+"')",false,function(){return t.languageService.getEmitOutput(e)},this.logPerformance)};return LanguageServiceShimObject}(a);function convertClassifications(e){return{spans:e.spans.join(","),endOfLineState:e.endOfLineState}}var u=function(e){o(ClassifierShimObject,e);function ClassifierShimObject(r,n){var i=e.call(this,r)||this;i.logger=n;i.logPerformance=false;i.classifier=t.createClassifier();return i}ClassifierShimObject.prototype.getEncodedLexicalClassifications=function(e,t,r){var n=this;if(r===void 0){r=false}return forwardJSONCall(this.logger,"getEncodedLexicalClassifications",function(){return convertClassifications(n.classifier.getEncodedLexicalClassifications(e,t,r))},this.logPerformance)};ClassifierShimObject.prototype.getClassificationsForLine=function(e,t,r){if(r===void 0){r=false}var n=this.classifier.getClassificationsForLine(e,t,r);var i="";for(var a=0,o=n.entries;a{const a=Object.assign({},r,{path:r.path+this.appending,relativePath:r.relativePath&&r.relativePath+this.appending});e.doResolve(t,a,this.appending,n,i)})}}},,,,,function(e,t,r){"use strict";var n=r(221);e.exports=function isExtendable(e){return n(e)||typeof e==="function"||Array.isArray(e)}},,function(e,t,r){"use strict";const n=r(426);const i=r(649);const a=r(556);e.exports=class ConcordExtensionsPlugin{constructor(e,t,r){this.source=e;this.options=t;this.target=r}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("ConcordExtensionsPlugin",(r,o,s)=>{const c=i.getField(r.descriptionFileData,"concord");if(!c)return s();const u=n.getExtensions(r.context,c);if(!u)return s();a(u,(n,i)=>{const a=Object.assign({},r,{path:r.path+n,relativePath:r.relativePath&&r.relativePath+n});e.doResolve(t,a,"concord extension: "+n,o,i)},(e,t)=>{if(e)return s(e);if(t===undefined)return s(null,null);s(null,t)})})}}},function(e){"use strict";e.exports=((e,t)=>{t=t||process.argv;const r=e.startsWith("-")?"":e.length===1?"-":"--";const n=t.indexOf(r+e);const i=t.indexOf("--");return n!==-1&&(i===-1?true:n=0){p=splitToPatterns(u,l,_,r)}_.negatives=g;_.positives=p;_.result=siftPatterns(g,p,r);if(r.capture&&p.length+g.length>1){_.result="("+_.result+")"}a[c]=_;return _.result}function siftPatterns(e,t,r){var n=filterPatterns(e,t,"-",false,r)||[];var i=filterPatterns(t,e,"",false,r)||[];var a=filterPatterns(e,t,"-?",true,r)||[];var o=n.concat(a).concat(i);return o.join("|")}function splitToRanges(e,t){e=Number(e);t=Number(t);var r=1;var n=[t];var i=+countNines(e,r);while(e<=i&&i<=t){n=push(n,i);r+=1;i=+countNines(e,r)}var a=1;i=countZeros(t+1,a)-1;while(e1){u.digits.pop()}u.digits.push(f.digits[0]);u.string=u.pattern+toQuantifier(u.digits);c=l+1;continue}if(r.isPadded){d=padZeros(l,r)}f.string=d+f.pattern+toQuantifier(f.digits);s.push(f);c=l+1;u=f}return s}function filterPatterns(e,t,r,n,i){var a=[];for(var o=0;ot?1:t>e?-1:0}function push(e,t){if(e.indexOf(t)===-1)e.push(t);return e}function contains(e,t,r){for(var n=0;n1)return false;if(a>r)return false}if(e.options){for(var n=0,o=e.options.length;no.test(e));const c={};function encodeStringToEmoji(e,t){if(c[e])return c[e];t=t||1;const r=[];do{const e=Math.floor(Math.random()*s.length);r.push(s[e]);s.splice(e,1)}while(--t>0);const n=r.join("");c[e]=n;return n}function interpolateName(e,t,r){let i;if(typeof t==="function"){i=t(e.resourcePath)}else{i=t||"[hash].[ext]"}const o=r.context;const s=r.content;const c=r.regExp;let u="bin";let l="file";let f="";let d="";if(e.resourcePath){const t=n.parse(e.resourcePath);let r=e.resourcePath;if(t.ext){u=t.ext.substr(1)}if(t.dir){l=t.name;r=t.dir+n.sep}if(typeof o!=="undefined"){f=n.relative(o,r+"_").replace(/\\/g,"/").replace(/\.\.(\/)?/g,"_$1");f=f.substr(0,f.length-1)}else{f=r.replace(/\\/g,"/").replace(/\.\.(\/)?/g,"_$1")}if(f.length===1){f=""}else if(f.length>1){d=n.basename(f)}}let p=i;if(s){p=p.replace(/\[(?:(\w+):)?hash(?::([a-z]+\d*))?(?::(\d+))?\]/gi,(e,t,r,n)=>a(s,t,r,parseInt(n,10))).replace(/\[emoji(?::(\d+))?\]/gi,(e,t)=>encodeStringToEmoji(s,t))}p=p.replace(/\[ext\]/gi,()=>u).replace(/\[name\]/gi,()=>l).replace(/\[path\]/gi,()=>f).replace(/\[folder\]/gi,()=>d);if(c&&e.resourcePath){const t=e.resourcePath.match(new RegExp(c));t&&t.forEach((e,t)=>{p=p.replace(new RegExp("\\["+t+"\\]","ig"),e)})}if(typeof e.options==="object"&&typeof e.options.customInterpolateName==="function"){p=e.options.customInterpolateName.call(e,p,t,r)}return p}e.exports=interpolateName},function(e,t){function getArg(e,t,r){if(t in e){return e[t]}else if(arguments.length===3){return r}else{throw new Error('"'+t+'" is a required argument.')}}t.getArg=getArg;var r=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.]*)(?::(\d+))?(\S*)$/;var n=/^data:.+\,.+$/;function urlParse(e){var t=e.match(r);if(!t){return null}return{scheme:t[1],auth:t[2],host:t[3],port:t[4],path:t[5]}}t.urlParse=urlParse;function urlGenerate(e){var t="";if(e.scheme){t+=e.scheme+":"}t+="//";if(e.auth){t+=e.auth+"@"}if(e.host){t+=e.host}if(e.port){t+=":"+e.port}if(e.path){t+=e.path}return t}t.urlGenerate=urlGenerate;function normalize(e){var r=e;var n=urlParse(e);if(n){if(!n.path){return e}r=n.path}var i=t.isAbsolute(r);var a=r.split(/\/+/);for(var o,s=0,c=a.length-1;c>=0;c--){o=a[c];if(o==="."){a.splice(c,1)}else if(o===".."){s++}else if(s>0){if(o===""){a.splice(c+1,s);s=0}else{a.splice(c,2);s--}}}r=a.join("/");if(r===""){r=i?"/":"."}if(n){n.path=r;return urlGenerate(n)}return r}t.normalize=normalize;function join(e,t){if(e===""){e="."}if(t===""){t="."}var r=urlParse(t);var i=urlParse(e);if(i){e=i.path||"/"}if(r&&!r.scheme){if(i){r.scheme=i.scheme}return urlGenerate(r)}if(r||t.match(n)){return t}if(i&&!i.host&&!i.path){i.host=t;return urlGenerate(i)}var a=t.charAt(0)==="/"?t:normalize(e.replace(/\/+$/,"")+"/"+t);if(i){i.path=a;return urlGenerate(i)}return a}t.join=join;t.isAbsolute=function(e){return e.charAt(0)==="/"||!!e.match(r)};function relative(e,t){if(e===""){e="."}e=e.replace(/\/$/,"");var r=0;while(t.indexOf(e+"/")!==0){var n=e.lastIndexOf("/");if(n<0){return t}e=e.slice(0,n);if(e.match(/^([^\/]+:\/)?\/*$/)){return t}++r}return Array(r+1).join("../")+t.substr(e.length+1)}t.relative=relative;var i=function(){var e=Object.create(null);return!("__proto__"in e)}();function identity(e){return e}function toSetString(e){if(isProtoString(e)){return"$"+e}return e}t.toSetString=i?identity:toSetString;function fromSetString(e){if(isProtoString(e)){return e.slice(1)}return e}t.fromSetString=i?identity:fromSetString;function isProtoString(e){if(!e){return false}var t=e.length;if(t<9){return false}if(e.charCodeAt(t-1)!==95||e.charCodeAt(t-2)!==95||e.charCodeAt(t-3)!==111||e.charCodeAt(t-4)!==116||e.charCodeAt(t-5)!==111||e.charCodeAt(t-6)!==114||e.charCodeAt(t-7)!==112||e.charCodeAt(t-8)!==95||e.charCodeAt(t-9)!==95){return false}for(var r=t-10;r>=0;r--){if(e.charCodeAt(r)!==36){return false}}return true}function compareByOriginalPositions(e,t,r){var n=e.source-t.source;if(n!==0){return n}n=e.originalLine-t.originalLine;if(n!==0){return n}n=e.originalColumn-t.originalColumn;if(n!==0||r){return n}n=e.generatedColumn-t.generatedColumn;if(n!==0){return n}n=e.generatedLine-t.generatedLine;if(n!==0){return n}return e.name-t.name}t.compareByOriginalPositions=compareByOriginalPositions;function compareByGeneratedPositionsDeflated(e,t,r){var n=e.generatedLine-t.generatedLine;if(n!==0){return n}n=e.generatedColumn-t.generatedColumn;if(n!==0||r){return n}n=e.source-t.source;if(n!==0){return n}n=e.originalLine-t.originalLine;if(n!==0){return n}n=e.originalColumn-t.originalColumn;if(n!==0){return n}return e.name-t.name}t.compareByGeneratedPositionsDeflated=compareByGeneratedPositionsDeflated;function strcmp(e,t){if(e===t){return 0}if(e>t){return 1}return-1}function compareByGeneratedPositionsInflated(e,t){var r=e.generatedLine-t.generatedLine;if(r!==0){return r}r=e.generatedColumn-t.generatedColumn;if(r!==0){return r}r=strcmp(e.source,t.source);if(r!==0){return r}r=e.originalLine-t.originalLine;if(r!==0){return r}r=e.originalColumn-t.originalColumn;if(r!==0){return r}return strcmp(e.name,t.name)}t.compareByGeneratedPositionsInflated=compareByGeneratedPositionsInflated},,function(e,t){(function(r){if(t&&typeof t==="object"&&"object"!=="undefined"){e.exports=r()}else if(typeof define==="function"&&define.amd){define([],r)}else if(typeof window!=="undefined"){window.isWindows=r()}else if(typeof global!=="undefined"){global.isWindows=r()}else if(typeof self!=="undefined"){self.isWindows=r()}else{this.isWindows=r()}})(function(){"use strict";return function isWindows(){return process&&(process.platform==="win32"||/^(msys|cygwin)$/.test(process.env.OSTYPE))}})},function(e,t,r){var n=r(950);var i=Object.prototype.toString;e.exports=function kindOf(e){if(typeof e==="undefined"){return"undefined"}if(e===null){return"null"}if(e===true||e===false||e instanceof Boolean){return"boolean"}if(typeof e==="string"||e instanceof String){return"string"}if(typeof e==="number"||e instanceof Number){return"number"}if(typeof e==="function"||e instanceof Function){return"function"}if(typeof Array.isArray!=="undefined"&&Array.isArray(e)){return"array"}if(e instanceof RegExp){return"regexp"}if(e instanceof Date){return"date"}var t=i.call(e);if(t==="[object RegExp]"){return"regexp"}if(t==="[object Date]"){return"date"}if(t==="[object Arguments]"){return"arguments"}if(t==="[object Error]"){return"error"}if(t==="[object Promise]"){return"promise"}if(n(e)){return"buffer"}if(t==="[object Set]"){return"set"}if(t==="[object WeakSet]"){return"weakset"}if(t==="[object Map]"){return"map"}if(t==="[object WeakMap]"){return"weakmap"}if(t==="[object Symbol]"){return"symbol"}if(t==="[object Int8Array]"){return"int8array"}if(t==="[object Uint8Array]"){return"uint8array"}if(t==="[object Uint8ClampedArray]"){return"uint8clampedarray"}if(t==="[object Int16Array]"){return"int16array"}if(t==="[object Uint16Array]"){return"uint16array"}if(t==="[object Int32Array]"){return"int32array"}if(t==="[object Uint32Array]"){return"uint32array"}if(t==="[object Float32Array]"){return"float32array"}if(t==="[object Float64Array]"){return"float64array"}return"object"}},function(e,t,r){"use strict";var n=r(333);var i=r(769);var a=r(59);var o=r(380);var s=r(762);function Braces(e){this.options=n({},e)}Braces.prototype.init=function(e){if(this.isInitialized)return;this.isInitialized=true;var t=s.createOptions({},this.options,e);this.snapdragon=this.options.snapdragon||new i(t);this.compiler=this.snapdragon.compiler;this.parser=this.snapdragon.parser;a(this.snapdragon,t);o(this.snapdragon,t);s.define(this.snapdragon,"parse",function(e,t){var r=i.prototype.parse.apply(this,arguments);this.parser.ast.input=e;var n=this.parser.stack;while(n.length){addParent({type:"brace.close",val:""},n.pop())}function addParent(e,t){s.define(e,"parent",t);t.nodes.push(e)}s.define(r,"parser",this.parser);return r})};Braces.prototype.parse=function(e,t){if(e&&typeof e==="object"&&e.nodes)return e;this.init(t);return this.snapdragon.parse(e,t)};Braces.prototype.compile=function(e,t){if(typeof e==="string"){e=this.parse(e,t)}else{this.init(t)}return this.snapdragon.compile(e,t)};Braces.prototype.expand=function(e){var t=this.parse(e,{expand:true});return this.compile(t,{expand:true})};Braces.prototype.optimize=function(e){var t=this.parse(e,{optimize:true});return this.compile(t,{optimize:true})};e.exports=Braces},,function(e){"use strict";e.exports=function isExtendable(e){return typeof e!=="undefined"&&e!==null&&(typeof e==="object"||typeof e==="function")}},,function(e,t,r){"use strict";var n=r(46);var i=e.exports;i.isNode=function(e){return n(e)==="object"&&e.isNode===true};i.noop=function(e){append(this,"",e)};i.identity=function(e){append(this,e.val,e)};i.append=function(e){return function(t){append(this,e,t)}};i.toNoop=function(e,t){if(t){e.nodes=t}else{delete e.nodes;e.type="text";e.val=""}};i.visit=function(e,t){assert(i.isNode(e),"expected node to be an instance of Node");assert(isFunction(t),"expected a visitor function");t(e);return e.nodes?i.mapVisit(e,t):e};i.mapVisit=function(e,t){assert(i.isNode(e),"expected node to be an instance of Node");assert(isArray(e.nodes),"expected node.nodes to be an array");assert(isFunction(t),"expected a visitor function");for(var r=0;r0};i.isInside=function(e,t,r){assert(i.isNode(t),"expected node to be an instance of Node");assert(isObject(e),"expected state to be an object");if(Array.isArray(r)){for(var a=0;a=0){var s=this._originalMappings[o];if(e.column===undefined){var c=s.originalLine;while(s&&s.originalLine===c){a.push({line:n.getArg(s,"generatedLine",null),column:n.getArg(s,"generatedColumn",null),lastColumn:n.getArg(s,"lastGeneratedColumn",null)});s=this._originalMappings[++o]}}else{var u=s.originalColumn;while(s&&s.originalLine===t&&s.originalColumn==u){a.push({line:n.getArg(s,"generatedLine",null),column:n.getArg(s,"generatedColumn",null),lastColumn:n.getArg(s,"lastGeneratedColumn",null)});s=this._originalMappings[++o]}}}return a};t.SourceMapConsumer=SourceMapConsumer;function BasicSourceMapConsumer(e){var t=e;if(typeof e==="string"){t=JSON.parse(e.replace(/^\)\]\}'/,""))}var r=n.getArg(t,"version");var i=n.getArg(t,"sources");var o=n.getArg(t,"names",[]);var s=n.getArg(t,"sourceRoot",null);var c=n.getArg(t,"sourcesContent",null);var u=n.getArg(t,"mappings");var l=n.getArg(t,"file",null);if(r!=this._version){throw new Error("Unsupported version: "+r)}i=i.map(String).map(n.normalize).map(function(e){return s&&n.isAbsolute(s)&&n.isAbsolute(e)?n.relative(s,e):e});this._names=a.fromArray(o.map(String),true);this._sources=a.fromArray(i,true);this.sourceRoot=s;this.sourcesContent=c;this._mappings=u;this.file=l}BasicSourceMapConsumer.prototype=Object.create(SourceMapConsumer.prototype);BasicSourceMapConsumer.prototype.consumer=SourceMapConsumer;BasicSourceMapConsumer.fromSourceMap=function SourceMapConsumer_fromSourceMap(e){var t=Object.create(BasicSourceMapConsumer.prototype);var r=t._names=a.fromArray(e._names.toArray(),true);var i=t._sources=a.fromArray(e._sources.toArray(),true);t.sourceRoot=e._sourceRoot;t.sourcesContent=e._generateSourcesContent(t._sources.toArray(),t.sourceRoot);t.file=e._file;var o=e._mappings.toArray().slice();var c=t.__generatedMappings=[];var u=t.__originalMappings=[];for(var l=0,f=o.length;l1){y.source=u+v[1];u+=v[1];y.originalLine=a+v[2];a=y.originalLine;y.originalLine+=1;y.originalColumn=c+v[3];c=y.originalColumn;if(v.length>4){y.name=l+v[4];l+=v[4]}}m.push(y);if(typeof y.originalLine==="number"){_.push(y)}}}s(m,n.compareByGeneratedPositionsDeflated);this.__generatedMappings=m;s(_,n.compareByOriginalPositions);this.__originalMappings=_};BasicSourceMapConsumer.prototype._findMapping=function SourceMapConsumer_findMapping(e,t,r,n,a,o){if(e[r]<=0){throw new TypeError("Line must be greater than or equal to 1, got "+e[r])}if(e[n]<0){throw new TypeError("Column must be greater than or equal to 0, got "+e[n])}return i.search(e,t,a,o)};BasicSourceMapConsumer.prototype.computeColumnSpans=function SourceMapConsumer_computeColumnSpans(){for(var e=0;e=0){var i=this._generatedMappings[r];if(i.generatedLine===t.generatedLine){var a=n.getArg(i,"source",null);if(a!==null){a=this._sources.at(a);if(this.sourceRoot!=null){a=n.join(this.sourceRoot,a)}}var o=n.getArg(i,"name",null);if(o!==null){o=this._names.at(o)}return{source:a,line:n.getArg(i,"originalLine",null),column:n.getArg(i,"originalColumn",null),name:o}}}return{source:null,line:null,column:null,name:null}};BasicSourceMapConsumer.prototype.hasContentsOfAllSources=function BasicSourceMapConsumer_hasContentsOfAllSources(){if(!this.sourcesContent){return false}return this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some(function(e){return e==null})};BasicSourceMapConsumer.prototype.sourceContentFor=function SourceMapConsumer_sourceContentFor(e,t){if(!this.sourcesContent){return null}if(this.sourceRoot!=null){e=n.relative(this.sourceRoot,e)}if(this._sources.has(e)){return this.sourcesContent[this._sources.indexOf(e)]}var r;if(this.sourceRoot!=null&&(r=n.urlParse(this.sourceRoot))){var i=e.replace(/^file:\/\//,"");if(r.scheme=="file"&&this._sources.has(i)){return this.sourcesContent[this._sources.indexOf(i)]}if((!r.path||r.path=="/")&&this._sources.has("/"+e)){return this.sourcesContent[this._sources.indexOf("/"+e)]}}if(t){return null}else{throw new Error('"'+e+'" is not in the SourceMap.')}};BasicSourceMapConsumer.prototype.generatedPositionFor=function SourceMapConsumer_generatedPositionFor(e){var t=n.getArg(e,"source");if(this.sourceRoot!=null){t=n.relative(this.sourceRoot,t)}if(!this._sources.has(t)){return{line:null,column:null,lastColumn:null}}t=this._sources.indexOf(t);var r={source:t,originalLine:n.getArg(e,"line"),originalColumn:n.getArg(e,"column")};var i=this._findMapping(r,this._originalMappings,"originalLine","originalColumn",n.compareByOriginalPositions,n.getArg(e,"bias",SourceMapConsumer.GREATEST_LOWER_BOUND));if(i>=0){var a=this._originalMappings[i];if(a.source===r.source){return{line:n.getArg(a,"generatedLine",null),column:n.getArg(a,"generatedColumn",null),lastColumn:n.getArg(a,"lastGeneratedColumn",null)}}}return{line:null,column:null,lastColumn:null}};t.BasicSourceMapConsumer=BasicSourceMapConsumer;function IndexedSourceMapConsumer(e){var t=e;if(typeof e==="string"){t=JSON.parse(e.replace(/^\)\]\}'/,""))}var r=n.getArg(t,"version");var i=n.getArg(t,"sections");if(r!=this._version){throw new Error("Unsupported version: "+r)}this._sources=new a;this._names=new a;var o={line:-1,column:0};this._sections=i.map(function(e){if(e.url){throw new Error("Support for url field in sections not implemented.")}var t=n.getArg(e,"offset");var r=n.getArg(t,"line");var i=n.getArg(t,"column");if(r0){return parse(e)}else if(r==="number"&&isNaN(e)===false){return t.long?fmtLong(e):fmtShort(e)}throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function parse(e){e=String(e);if(e.length>100){return}var o=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(e);if(!o){return}var s=parseFloat(o[1]);var c=(o[2]||"ms").toLowerCase();switch(c){case"years":case"year":case"yrs":case"yr":case"y":return s*a;case"days":case"day":case"d":return s*i;case"hours":case"hour":case"hrs":case"hr":case"h":return s*n;case"minutes":case"minute":case"mins":case"min":case"m":return s*r;case"seconds":case"second":case"secs":case"sec":case"s":return s*t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return s;default:return undefined}}function fmtShort(e){if(e>=i){return Math.round(e/i)+"d"}if(e>=n){return Math.round(e/n)+"h"}if(e>=r){return Math.round(e/r)+"m"}if(e>=t){return Math.round(e/t)+"s"}return e+"ms"}function fmtLong(e){return plural(e,i,"day")||plural(e,n,"hour")||plural(e,r,"minute")||plural(e,t,"second")||e+" ms"}function plural(e,t,r){if(e=31||typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}t.formatters.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}};function formatArgs(e){var r=this.useColors;e[0]=(r?"%c":"")+this.namespace+(r?" %c":" ")+e[0]+(r?"%c ":" ")+"+"+t.humanize(this.diff);if(!r)return;var n="color: "+this.color;e.splice(1,0,n,"color: inherit");var i=0;var a=0;e[0].replace(/%[a-zA-Z%]/g,function(e){if("%%"===e)return;i++;if("%c"===e){a=i}});e.splice(a,0,n)}function log(){return"object"===typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function save(e){try{if(null==e){t.storage.removeItem("debug")}else{t.storage.debug=e}}catch(e){}}function load(){var e;try{e=t.storage.debug}catch(e){}if(!e&&typeof process!=="undefined"&&"env"in process){e=process.env.DEBUG}return e}t.enable(load());function localstorage(){try{return window.localStorage}catch(e){}}},function(e,t,r){"use strict";const n=r(426);const i=r(649);const a=r(471);e.exports=class ConcordModulesPlugin{constructor(e,t,r){this.source=e;this.options=t;this.target=r}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("ConcordModulesPlugin",(r,o,s)=>{const c=a(e,r);if(!c)return s();const u=i.getField(r.descriptionFileData,"concord");if(!u)return s();const l=n.matchModule(r.context,u,c);if(l===c)return s();if(l===undefined)return s();if(l===false){const e=Object.assign({},r,{path:false});return s(null,e)}const f=Object.assign({},r,{path:r.descriptionFileRoot,request:l});e.doResolve(t,f,"aliased from description file "+r.descriptionFilePath+" with mapping '"+c+"' to '"+l+"'",o,(e,t)=>{if(e)return s(e);if(t===undefined)return s(null,null);s(null,t)})})}}},function(e,t){t.GREATEST_LOWER_BOUND=1;t.LEAST_UPPER_BOUND=2;function recursiveSearch(e,r,n,i,a,o){var s=Math.floor((r-e)/2)+e;var c=a(n,i[s],true);if(c===0){return s}else if(c>0){if(r-s>1){return recursiveSearch(s,r,n,i,a,o)}if(o==t.LEAST_UPPER_BOUND){return r1){return recursiveSearch(e,s,n,i,a,o)}if(o==t.LEAST_UPPER_BOUND){return s}else{return e<0?-1:e}}}t.search=function search(e,r,n,i){if(r.length===0){return-1}var a=recursiveSearch(-1,r.length,e,r,n,i||t.GREATEST_LOWER_BOUND);if(a<0){return-1}while(a-1>=0){if(n(r[a],r[a-1],true)!==0){break}--a}return a}},function(e){var t=Object.prototype.toString;e.exports=function kindOf(e){if(e===void 0)return"undefined";if(e===null)return"null";var r=typeof e;if(r==="boolean")return"boolean";if(r==="string")return"string";if(r==="number")return"number";if(r==="symbol")return"symbol";if(r==="function"){return isGeneratorFn(e)?"generatorfunction":"function"}if(isArray(e))return"array";if(isBuffer(e))return"buffer";if(isArguments(e))return"arguments";if(isDate(e))return"date";if(isError(e))return"error";if(isRegexp(e))return"regexp";switch(ctorName(e)){case"Symbol":return"symbol";case"Promise":return"promise";case"WeakMap":return"weakmap";case"WeakSet":return"weakset";case"Map":return"map";case"Set":return"set";case"Int8Array":return"int8array";case"Uint8Array":return"uint8array";case"Uint8ClampedArray":return"uint8clampedarray";case"Int16Array":return"int16array";case"Uint16Array":return"uint16array";case"Int32Array":return"int32array";case"Uint32Array":return"uint32array";case"Float32Array":return"float32array";case"Float64Array":return"float64array"}if(isGeneratorObj(e)){return"generator"}r=t.call(e);switch(r){case"[object Object]":return"object";case"[object Map Iterator]":return"mapiterator";case"[object Set Iterator]":return"setiterator";case"[object String Iterator]":return"stringiterator";case"[object Array Iterator]":return"arrayiterator"}return r.slice(8,-1).toLowerCase().replace(/\s/g,"")};function ctorName(e){return e.constructor?e.constructor.name:null}function isArray(e){if(Array.isArray)return Array.isArray(e);return e instanceof Array}function isError(e){return e instanceof Error||typeof e.message==="string"&&e.constructor&&typeof e.constructor.stackTraceLimit==="number"}function isDate(e){if(e instanceof Date)return true;return typeof e.toDateString==="function"&&typeof e.getDate==="function"&&typeof e.setDate==="function"}function isRegexp(e){if(e instanceof RegExp)return true;return typeof e.flags==="string"&&typeof e.ignoreCase==="boolean"&&typeof e.multiline==="boolean"&&typeof e.global==="boolean"}function isGeneratorFn(e,t){return ctorName(e)==="GeneratorFunction"}function isGeneratorObj(e){return typeof e.throw==="function"&&typeof e.return==="function"&&typeof e.next==="function"}function isArguments(e){try{if(typeof e.length==="number"&&typeof e.callee==="function"){return true}}catch(e){if(e.message.indexOf("callee")!==-1){return true}}return false}function isBuffer(e){if(e.constructor&&typeof e.constructor.isBuffer==="function"){return e.constructor.isBuffer(e)}return false}},,,,,function(e,t,r){"use strict";var n=r(46);e.exports=function toPath(e){if(n(e)!=="arguments"){e=arguments}return filter(e).join(".")};function filter(e){var t=e.length;var r=-1;var i=[];while(++rf){throw new Error("expected pattern to be less than "+f+" characters")}function makeRe(){var r=micromatch.create(e,t);var n=[];var i=r.map(function(e){e.ast.state=e.state;n.push(e.ast);return e.output});var o=a(i.join("|"),t);Object.defineProperty(o,"result",{configurable:true,enumerable:false,value:n});return o}return memoize("makeRe",e,t,makeRe)};micromatch.braces=function(e,t){if(typeof e!=="string"&&!Array.isArray(e)){throw new TypeError("expected pattern to be an array or string")}function expand(){if(t&&t.nobrace===true||!/\{.*\}/.test(e)){return l.arrayify(e)}return i(e,t)}return memoize("braces",e,t,expand)};micromatch.braceExpand=function(e,t){var r=o({},t,{expand:true});return micromatch.braces(e,r)};micromatch.create=function(e,t){return memoize("create",e,t,function(){function create(e,t){return micromatch.compile(micromatch.parse(e,t),t)}e=micromatch.braces(e,t);var r=e.length;var n=-1;var i=[];while(++n{return!isAbsolutePath(e)});A=A.map(e=>{if(typeof e==="string"||Array.isArray(e)){e={name:e,forceRelative:true}}return e});if(typeof L==="object"&&!Array.isArray(L)){L=Object.keys(L).map(e=>{let t=false;let r=L[e];if(/\$$/.test(e)){t=true;e=e.substr(0,e.length-1)}if(typeof r==="string"){r={alias:r}}r=Object.assign({name:e,onlyModule:t},r);return r})}if(j&&typeof j!=="object"){j={}}K.ensureHook("resolve");K.ensureHook("parsedResolve");K.ensureHook("describedResolve");K.ensureHook("rawModule");K.ensureHook("module");K.ensureHook("relative");K.ensureHook("describedRelative");K.ensureHook("directory");K.ensureHook("existingDirectory");K.ensureHook("undescribedRawFile");K.ensureHook("rawFile");K.ensureHook("file");K.ensureHook("existingFile");K.ensureHook("resolved");if(j){N.push(new k("resolve",U,j,J,"new-resolve"));N.push(new a("new-resolve","parsed-resolve"))}else{N.push(new a("resolve","parsed-resolve"))}N.push(new o("parsed-resolve",r,"described-resolve"));N.push(new s("after-parsed-resolve","described-resolve"));if(L.length>0)N.push(new g("described-resolve",L,"resolve"));if(W){N.push(new h("described-resolve",{},"resolve"))}O.forEach(e=>{N.push(new _("described-resolve",e,"resolve"))});N.push(new u("after-described-resolve","raw-module"));N.push(new f("after-described-resolve","relative"));w.forEach(e=>{N.push(new D("raw-module",e,"module"))});if(!M)N.push(new c("raw-module",null,"module"));t.forEach(e=>{if(Array.isArray(e))N.push(new d("module",e,"resolve"));else N.push(new p("module",e,"resolve"))});N.push(new o("relative",r,"described-relative"));N.push(new s("after-relative","described-relative"));N.push(new l("described-relative","raw-file"));N.push(new c("described-relative","as directory","directory"));N.push(new v("directory","existing-directory"));if(B){N.push(new s("existing-directory","resolved"))}else{if(W){N.push(new y("existing-directory",{},"resolve"))}A.forEach(e=>{N.push(new b("existing-directory",e,"resolve"))});F.forEach(e=>{N.push(new x("existing-directory",e,"undescribed-raw-file"))});N.push(new o("undescribed-raw-file",r,"raw-file"));N.push(new s("after-undescribed-raw-file","raw-file"));if(!I){N.push(new c("raw-file","no extension","file"))}if(W){N.push(new m("raw-file",{},"file"))}P.forEach(e=>{N.push(new C("raw-file",e,"file"))});if(L.length>0)N.push(new g("file",L,"resolve"));if(W){N.push(new h("file",{},"resolve"))}O.forEach(e=>{N.push(new _("file",e,"resolve"))});if(R)N.push(new S("file","relative"));N.push(new T("file","existing-file"));N.push(new s("existing-file","resolved"))}N.push(new E(K.hooks.resolved));N.forEach(e=>{e.apply(K)});return K};function mergeFilteredToArray(e,t){return e.reduce((e,r)=>{if(t(r)){const t=e[e.length-1];if(Array.isArray(t)){t.push(r)}else{e.push([r])}return e}else{e.push(r);return e}},[])}function isAbsolutePath(e){return/^[A-Z]:|^\//.test(e)}},,,,function(e,t,r){"use strict";var n=r(586);e.exports=function defineProperty(e,t,r){if(typeof e!=="object"&&typeof e!=="function"){throw new TypeError("expected an object or function.")}if(typeof t!=="string"){throw new TypeError("expected `prop` to be a string.")}if(n(r)&&("set"in r||"get"in r)){return Object.defineProperty(e,t,r)}return Object.defineProperty(e,t,{configurable:true,enumerable:false,writable:true,value:r})}},,function(e,t,r){"use strict";var n=r(523);e.exports=function isObject(e){return e!=null&&typeof e==="object"&&n(e)===false}},,function(e,t,r){"use strict";var n=r(89);var i=r(420);var a=e.exports;var o=a.cache=new i;a.arrayify=function(e){if(!Array.isArray(e)){return[e]}return e};a.memoize=function(e,t,r,n){var i=a.createKey(e+t,r);if(o.has(e,i)){return o.get(e,i)}var s=n(t,r);if(r&&r.cache===false){return s}o.set(e,i,s);return s};a.createKey=function(e,t){var r=e;if(typeof t==="undefined"){return r}for(var n in t){r+=";"+n+"="+String(t[n])}return r};a.createRegex=function(e){var t={contains:true,strictClose:false};return n(e,t)}},function(e,t,r){"use strict";const n=r(649);e.exports=class DescriptionFilePlugin{constructor(e,t,r){this.source=e;this.filenames=[].concat(t);this.target=r}apply(e){const t=e.ensureHook(this.target);e.getHook(this.source).tapAsync("DescriptionFilePlugin",(r,i,a)=>{const o=r.path;n.loadDescriptionFile(e,o,this.filenames,i,(n,s)=>{if(n)return a(n);if(!s){if(i.missing){this.filenames.forEach(t=>{i.missing.add(e.join(o,t))})}if(i.log)i.log("No description file found");return a()}const c="."+r.path.substr(s.directory.length).replace(/\\/g,"/");const u=Object.assign({},r,{descriptionFilePath:s.path,descriptionFileData:s.content,descriptionFileRoot:s.directory,relativePath:c});e.doResolve(t,u,"using description file: "+s.path+" (relative path: "+c+")",i,(e,t)=>{if(e)return a(e);if(t===undefined)return a(null,null);a(null,t)})})})}}},,,,,function(e){var t=Object.prototype.toString;e.exports=function kindOf(e){if(e===void 0)return"undefined";if(e===null)return"null";var r=typeof e;if(r==="boolean")return"boolean";if(r==="string")return"string";if(r==="number")return"number";if(r==="symbol")return"symbol";if(r==="function"){return isGeneratorFn(e)?"generatorfunction":"function"}if(isArray(e))return"array";if(isBuffer(e))return"buffer";if(isArguments(e))return"arguments";if(isDate(e))return"date";if(isError(e))return"error";if(isRegexp(e))return"regexp";switch(ctorName(e)){case"Symbol":return"symbol";case"Promise":return"promise";case"WeakMap":return"weakmap";case"WeakSet":return"weakset";case"Map":return"map";case"Set":return"set";case"Int8Array":return"int8array";case"Uint8Array":return"uint8array";case"Uint8ClampedArray":return"uint8clampedarray";case"Int16Array":return"int16array";case"Uint16Array":return"uint16array";case"Int32Array":return"int32array";case"Uint32Array":return"uint32array";case"Float32Array":return"float32array";case"Float64Array":return"float64array"}if(isGeneratorObj(e)){return"generator"}r=t.call(e);switch(r){case"[object Object]":return"object";case"[object Map Iterator]":return"mapiterator";case"[object Set Iterator]":return"setiterator";case"[object String Iterator]":return"stringiterator";case"[object Array Iterator]":return"arrayiterator"}return r.slice(8,-1).toLowerCase().replace(/\s/g,"")};function ctorName(e){return e.constructor?e.constructor.name:null}function isArray(e){if(Array.isArray)return Array.isArray(e);return e instanceof Array}function isError(e){return e instanceof Error||typeof e.message==="string"&&e.constructor&&typeof e.constructor.stackTraceLimit==="number"}function isDate(e){if(e instanceof Date)return true;return typeof e.toDateString==="function"&&typeof e.getDate==="function"&&typeof e.setDate==="function"}function isRegexp(e){if(e instanceof RegExp)return true;return typeof e.flags==="string"&&typeof e.ignoreCase==="boolean"&&typeof e.multiline==="boolean"&&typeof e.global==="boolean"}function isGeneratorFn(e,t){return ctorName(e)==="GeneratorFunction"}function isGeneratorObj(e){return typeof e.throw==="function"&&typeof e.return==="function"&&typeof e.next==="function"}function isArguments(e){try{if(typeof e.length==="number"&&typeof e.callee==="function"){return true}}catch(e){if(e.message.indexOf("callee")!==-1){return true}}return false}function isBuffer(e){if(e.constructor&&typeof e.constructor.isBuffer==="function"){return e.constructor.isBuffer(e)}return false}},,function(e){e.exports=function(e){return e!=null&&(isBuffer(e)||isSlowBuffer(e)||!!e._isBuffer)};function isBuffer(e){return!!e.constructor&&typeof e.constructor.isBuffer==="function"&&e.constructor.isBuffer(e)}function isSlowBuffer(e){return typeof e.readFloatLE==="function"&&typeof e.slice==="function"&&isBuffer(e.slice(0,0))}},,,,function(e){"use strict";e.exports=function(e,t){if(e===null||typeof e==="undefined"){throw new TypeError("expected first argument to be an object.")}if(typeof t==="undefined"||typeof Symbol==="undefined"){return e}if(typeof Object.getOwnPropertySymbols!=="function"){return e}var r=Object.prototype.propertyIsEnumerable;var n=Object(e);var i=arguments.length,a=0;while(++a0||n.appendTsxSuffixTo.length>0?s.appendSuffixesIfMatch({".ts":n.appendTsSuffixTo,".tsx":n.appendTsxSuffixTo},o):o;const u=updateFileInCache(c,t,a);const l=s.getAndCacheProjectReference(c,a);if(l!==undefined){const[o,f]=[i.relative(e.rootContext,l.sourceFile.fileName),i.relative(e.rootContext,c)];if(l.commandLine.options.outFile!==undefined){throw new Error(`The referenced project at ${o} is using `+`the outFile' option, which is not supported with ts-loader.`)}const d=s.getAndCacheOutputJSFileName(c,l,a);const p=i.relative(e.rootContext,d);if(!a.compiler.sys.fileExists(d)){throw new Error(`Could not find output JavaScript file for input `+`${f} (looked at ${p}).\n`+`The input file is part of a project reference located at `+`${o}, so ts-loader is looking for the `+"project’s pre-built output on disk. Try running `tsc --build` "+"to build project references.")}e.clearDependencies();e.addDependency(d);s.validateSourceMapOncePerProject(a,e,d,l);const g=d+".map";const _=a.compiler.sys.readFile(d);const m=a.compiler.sys.readFile(g);makeSourceMapAndFinish(m,_,c,t,e,n,u,r)}else{const{outputText:i,sourceMapText:s}=n.transpileOnly?getTranspilationEmit(c,t,a,e):getEmit(o,c,a,e);makeSourceMapAndFinish(s,i,c,t,e,n,u,r)}}function makeSourceMapAndFinish(e,t,r,n,i,a,o,s){if(t===null||t===undefined){const e=!a.allowTsInNodeModules&&r.indexOf("node_modules")!==-1?" By default, ts-loader will not compile .ts files in node_modules.\n"+"You should not need to recompile .ts files there, but if you really want to, use the allowTsInNodeModules option.\n"+"See: https://github.com/Microsoft/TypeScript/issues/12358":"";throw new Error(`TypeScript emitted no output for ${r}.${e}`)}const{sourceMap:c,output:u}=makeSourceMap(e,t,r,n,i);if(!a.happyPackMode&&i._module.buildMeta!==undefined){i._module.buildMeta.tsLoaderFileVersion=o}s(null,u,c)}function getLoaderOptions(e){let t=c.indexOf(e._compiler);if(t===-1){t=c.push(e._compiler)-1}const r=n.getOptions(e)||{};const i=t+"_"+(r.instance||"default");if(!u.hasOwnProperty(i)){u[i]=new WeakMap}const a=u[i];if(a.has(r)){return a.get(r)}validateLoaderOptions(r);const o=makeLoaderOptions(i,r);a.set(r,o);return o}const l=["silent","logLevel","logInfoToStdOut","instance","compiler","context","configFile","transpileOnly","ignoreDiagnostics","errorFormatter","colors","compilerOptions","appendTsSuffixTo","appendTsxSuffixTo","onlyCompileBundledFiles","happyPackMode","getCustomTransformers","reportFiles","experimentalWatchApi","allowTsInNodeModules","experimentalFileCaching","projectReferences","resolveModuleName"];function validateLoaderOptions(e){const t=Object.keys(e);for(let e=0;ee.match(a.dtsDtsxOrDtsDtsxMapRegex));const u=n.addDependency.bind(n);c.forEach(u);const l=r.dependencyGraph[t];const f=l===undefined?[]:l.map(({resolvedFileName:e,originalFileName:t})=>{const n=s.getAndCacheProjectReference(e,r);return n!==undefined?s.getAndCacheOutputJSFileName(e,n,r):t});if(f.length>0){f.forEach(u)}n._module.buildMeta.tsLoaderDefinitionFileVersions=c.concat(f).map(e=>e+"@"+(r.files.get(e)||{version:"?"}).version);const d=i.filter(e=>e.name.match(a.jsJsx)).pop();const p=d===undefined?undefined:d.text;const g=i.filter(e=>e.name.match(a.jsJsxMap)).pop();const _=g===undefined?undefined:g.text;return{outputText:p,sourceMapText:_}}function getTranspilationEmit(e,t,r,n){const{outputText:i,sourceMapText:a,diagnostics:o}=r.compiler.transpileModule(t,{compilerOptions:Object.assign({},r.compilerOptions,{rootDir:undefined}),transformers:r.transformers,reportDiagnostics:true,fileName:e});if(!r.loaderOptions.happyPackMode){const e=s.formatErrors(o,r.loaderOptions,r.colors,r.compiler,{module:n._module},n.context);n._module.errors.push(...e)}return{outputText:i,sourceMapText:a}}function makeSourceMap(e,t,r,i,a){if(e===undefined){return{output:t,sourceMap:undefined}}return{output:t.replace(/^\/\/# sourceMappingURL=[^\r\n]*/gm,""),sourceMap:Object.assign(JSON.parse(e),{sources:[n.getRemainingRequest(a)],file:r,sourcesContent:[i]})}}e.exports=loader},,,,,,,,,,,function(e){"use strict";e.exports=function base(e,t){if(!isObject(e)&&typeof e!=="function"){throw new TypeError("expected an object or function")}var r=isObject(t)?t:{};var n=typeof r.prop==="string"?r.prop:"fns";if(!Array.isArray(e[n])){define(e,n,[])}define(e,"use",use);define(e,"run",function(t){if(!isObject(t))return;if(!t.use||!t.run){define(t,n,t[n]||[]);define(t,"use",use)}if(!t[n]||t[n].indexOf(base)===-1){t.use(base)}var r=this||e;var i=r[n];var a=i.length;var o=-1;while(++o=0;c--){o=a[c];if(o==="."){a.splice(c,1)}else if(o===".."){s++}else if(s>0){if(o===""){a.splice(c+1,s);s=0}else{a.splice(c,2);s--}}}r=a.join("/");if(r===""){r=i?"/":"."}if(n){n.path=r;return urlGenerate(n)}return r}t.normalize=normalize;function join(e,t){if(e===""){e="."}if(t===""){t="."}var r=urlParse(t);var i=urlParse(e);if(i){e=i.path||"/"}if(r&&!r.scheme){if(i){r.scheme=i.scheme}return urlGenerate(r)}if(r||t.match(n)){return t}if(i&&!i.host&&!i.path){i.host=t;return urlGenerate(i)}var a=t.charAt(0)==="/"?t:normalize(e.replace(/\/+$/,"")+"/"+t);if(i){i.path=a;return urlGenerate(i)}return a}t.join=join;t.isAbsolute=function(e){return e.charAt(0)==="/"||r.test(e)};function relative(e,t){if(e===""){e="."}e=e.replace(/\/$/,"");var r=0;while(t.indexOf(e+"/")!==0){var n=e.lastIndexOf("/");if(n<0){return t}e=e.slice(0,n);if(e.match(/^([^\/]+:\/)?\/*$/)){return t}++r}return Array(r+1).join("../")+t.substr(e.length+1)}t.relative=relative;var i=function(){var e=Object.create(null);return!("__proto__"in e)}();function identity(e){return e}function toSetString(e){if(isProtoString(e)){return"$"+e}return e}t.toSetString=i?identity:toSetString;function fromSetString(e){if(isProtoString(e)){return e.slice(1)}return e}t.fromSetString=i?identity:fromSetString;function isProtoString(e){if(!e){return false}var t=e.length;if(t<9){return false}if(e.charCodeAt(t-1)!==95||e.charCodeAt(t-2)!==95||e.charCodeAt(t-3)!==111||e.charCodeAt(t-4)!==116||e.charCodeAt(t-5)!==111||e.charCodeAt(t-6)!==114||e.charCodeAt(t-7)!==112||e.charCodeAt(t-8)!==95||e.charCodeAt(t-9)!==95){return false}for(var r=t-10;r>=0;r--){if(e.charCodeAt(r)!==36){return false}}return true}function compareByOriginalPositions(e,t,r){var n=strcmp(e.source,t.source);if(n!==0){return n}n=e.originalLine-t.originalLine;if(n!==0){return n}n=e.originalColumn-t.originalColumn;if(n!==0||r){return n}n=e.generatedColumn-t.generatedColumn;if(n!==0){return n}n=e.generatedLine-t.generatedLine;if(n!==0){return n}return strcmp(e.name,t.name)}t.compareByOriginalPositions=compareByOriginalPositions;function compareByGeneratedPositionsDeflated(e,t,r){var n=e.generatedLine-t.generatedLine;if(n!==0){return n}n=e.generatedColumn-t.generatedColumn;if(n!==0||r){return n}n=strcmp(e.source,t.source);if(n!==0){return n}n=e.originalLine-t.originalLine;if(n!==0){return n}n=e.originalColumn-t.originalColumn;if(n!==0){return n}return strcmp(e.name,t.name)}t.compareByGeneratedPositionsDeflated=compareByGeneratedPositionsDeflated;function strcmp(e,t){if(e===t){return 0}if(e===null){return 1}if(t===null){return-1}if(e>t){return 1}return-1}function compareByGeneratedPositionsInflated(e,t){var r=e.generatedLine-t.generatedLine;if(r!==0){return r}r=e.generatedColumn-t.generatedColumn;if(r!==0){return r}r=strcmp(e.source,t.source);if(r!==0){return r}r=e.originalLine-t.originalLine;if(r!==0){return r}r=e.originalColumn-t.originalColumn;if(r!==0){return r}return strcmp(e.name,t.name)}t.compareByGeneratedPositionsInflated=compareByGeneratedPositionsInflated;function parseSourceMapInput(e){return JSON.parse(e.replace(/^\)]}'[^\n]*\n/,""))}t.parseSourceMapInput=parseSourceMapInput;function computeSourceURL(e,t,r){t=t||"";if(e){if(e[e.length-1]!=="/"&&t[0]!=="/"){e+="/"}t=e+t}if(r){var n=urlParse(r);if(!n){throw new Error("sourceMapURL could not be parsed")}if(n.path){var i=n.path.lastIndexOf("/");if(i>=0){n.path=n.path.substring(0,i+1)}}t=join(urlGenerate(n),t)}return normalize(t)}t.computeSourceURL=computeSourceURL},function(e){var t=Object.prototype.toString;e.exports=function kindOf(e){var r=typeof e;if(r==="undefined"){return"undefined"}if(e===null){return"null"}if(e===true||e===false||e instanceof Boolean){return"boolean"}if(r==="string"||e instanceof String){return"string"}if(r==="number"||e instanceof Number){return"number"}if(r==="function"||e instanceof Function){if(typeof e.constructor.name!=="undefined"&&e.constructor.name.slice(0,9)==="Generator"){return"generatorfunction"}return"function"}if(typeof Array.isArray!=="undefined"&&Array.isArray(e)){return"array"}if(e instanceof RegExp){return"regexp"}if(e instanceof Date){return"date"}r=t.call(e);if(r==="[object RegExp]"){return"regexp"}if(r==="[object Date]"){return"date"}if(r==="[object Arguments]"){return"arguments"}if(r==="[object Error]"){return"error"}if(r==="[object Promise]"){return"promise"}if(isBuffer(e)){return"buffer"}if(r==="[object Set]"){return"set"}if(r==="[object WeakSet]"){return"weakset"}if(r==="[object Map]"){return"map"}if(r==="[object WeakMap]"){return"weakmap"}if(r==="[object Symbol]"){return"symbol"}if(r==="[object Map Iterator]"){return"mapiterator"}if(r==="[object Set Iterator]"){return"setiterator"}if(r==="[object String Iterator]"){return"stringiterator"}if(r==="[object Array Iterator]"){return"arrayiterator"}if(r==="[object Int8Array]"){return"int8array"}if(r==="[object Uint8Array]"){return"uint8array"}if(r==="[object Uint8ClampedArray]"){return"uint8clampedarray"}if(r==="[object Int16Array]"){return"int16array"}if(r==="[object Uint16Array]"){return"uint16array"}if(r==="[object Int32Array]"){return"int32array"}if(r==="[object Uint32Array]"){return"uint32array"}if(r==="[object Float32Array]"){return"float32array"}if(r==="[object Float64Array]"){return"float64array"}return"object"};function isBuffer(e){return e.constructor&&typeof e.constructor.isBuffer==="function"&&e.constructor.isBuffer(e)}},,,function(e,t,r){var n=r(369);var i=/^[A-Z]:([\\\/]|$)/i;var a=/^\//i;e.exports=function join(e,t){if(!t)return n(e);if(i.test(t))return n(t.replace(/\//g,"\\"));if(a.test(t))return n(t);if(e=="/")return n(e+t);if(i.test(e))return n(e.replace(/\//g,"\\")+"\\"+t.replace(/\//g,"\\"));if(a.test(e))return n(e+"/"+t);return n(e+"/"+t)}},,,function(e,t,r){var n=r(341).SourceMapGenerator;var i=r(983);var a=/(\r?\n)/;var o=10;var s="$$$isSourceNode$$$";function SourceNode(e,t,r,n,i){this.children=[];this.sourceContents={};this.line=e==null?null:e;this.column=t==null?null:t;this.source=r==null?null:r;this.name=i==null?null:i;this[s]=true;if(n!=null)this.add(n)}SourceNode.fromStringWithSourceMap=function SourceNode_fromStringWithSourceMap(e,t,r){var n=new SourceNode;var o=e.split(a);var s=0;var c=function(){var e=getNextLine();var t=getNextLine()||"";return e+t;function getNextLine(){return s=0;t--){this.prepend(e[t])}}else if(e[s]||typeof e==="string"){this.children.unshift(e)}else{throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e)}return this};SourceNode.prototype.walk=function SourceNode_walk(e){var t;for(var r=0,n=this.children.length;r0){t=[];for(r=0;r-1){return true}}var i=nativeKeys(e);return has(i,t)}if(Array.isArray(e)){var a=e;while(r--){if(a.indexOf(t[r])>-1){return true}}return false}throw new TypeError("expected an array or object.")}function arrayify(e){return e?Array.isArray(e)?e:[e]:[]}function hasConstructor(e){return isObject(e)&&typeof e.constructor!=="undefined"}function nativeKeys(e){if(!hasConstructor(e))return[];return Object.getOwnPropertyNames(e)}e.exports=copy;e.exports.has=has},,function(e){e.exports=require("tty")},function(e){"use strict";e.exports=function(e){return flat(e,[])};function flat(e,t){var r=0,n;var i=e.length;for(;r + + +/// +/// +/// +/// diff --git a/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.dom.d.ts b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.dom.d.ts new file mode 100644 index 0000000..464dea8 --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.dom.d.ts @@ -0,0 +1,17992 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +///////////////////////////// +/// DOM APIs +///////////////////////////// + +interface Account { + displayName: string; + id: string; + imageURL?: string; + name?: string; + rpDisplayName: string; +} + +interface AddEventListenerOptions extends EventListenerOptions { + once?: boolean; + passive?: boolean; +} + +interface AesCbcParams extends Algorithm { + iv: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; +} + +interface AesCtrParams extends Algorithm { + counter: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; + length: number; +} + +interface AesDerivedKeyParams extends Algorithm { + length: number; +} + +interface AesGcmParams extends Algorithm { + additionalData?: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; + iv: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; + tagLength?: number; +} + +interface AesKeyAlgorithm extends KeyAlgorithm { + length: number; +} + +interface AesKeyGenParams extends Algorithm { + length: number; +} + +interface Algorithm { + name: string; +} + +interface AnalyserOptions extends AudioNodeOptions { + fftSize?: number; + maxDecibels?: number; + minDecibels?: number; + smoothingTimeConstant?: number; +} + +interface AnimationEventInit extends EventInit { + animationName?: string; + elapsedTime?: number; + pseudoElement?: string; +} + +interface AnimationPlaybackEventInit extends EventInit { + currentTime?: number | null; + timelineTime?: number | null; +} + +interface AssertionOptions { + allowList?: ScopedCredentialDescriptor[]; + extensions?: WebAuthnExtensions; + rpId?: string; + timeoutSeconds?: number; +} + +interface AssignedNodesOptions { + flatten?: boolean; +} + +interface AudioBufferOptions { + length: number; + numberOfChannels?: number; + sampleRate: number; +} + +interface AudioBufferSourceOptions { + buffer?: AudioBuffer | null; + detune?: number; + loop?: boolean; + loopEnd?: number; + loopStart?: number; + playbackRate?: number; +} + +interface AudioContextInfo { + currentTime?: number; + sampleRate?: number; +} + +interface AudioContextOptions { + latencyHint?: AudioContextLatencyCategory | number; + sampleRate?: number; +} + +interface AudioNodeOptions { + channelCount?: number; + channelCountMode?: ChannelCountMode; + channelInterpretation?: ChannelInterpretation; +} + +interface AudioParamDescriptor { + automationRate?: AutomationRate; + defaultValue?: number; + maxValue?: number; + minValue?: number; + name: string; +} + +interface AudioProcessingEventInit extends EventInit { + inputBuffer: AudioBuffer; + outputBuffer: AudioBuffer; + playbackTime: number; +} + +interface AudioTimestamp { + contextTime?: number; + performanceTime?: number; +} + +interface AudioWorkletNodeOptions extends AudioNodeOptions { + numberOfInputs?: number; + numberOfOutputs?: number; + outputChannelCount?: number[]; + parameterData?: Record; + processorOptions?: any; +} + +interface BiquadFilterOptions extends AudioNodeOptions { + Q?: number; + detune?: number; + frequency?: number; + gain?: number; + type?: BiquadFilterType; +} + +interface BlobPropertyBag { + endings?: EndingType; + type?: string; +} + +interface ByteLengthChunk { + byteLength?: number; +} + +interface CacheQueryOptions { + cacheName?: string; + ignoreMethod?: boolean; + ignoreSearch?: boolean; + ignoreVary?: boolean; +} + +interface CanvasRenderingContext2DSettings { + alpha?: boolean; +} + +interface ChannelMergerOptions extends AudioNodeOptions { + numberOfInputs?: number; +} + +interface ChannelSplitterOptions extends AudioNodeOptions { + numberOfOutputs?: number; +} + +interface ClientData { + challenge: string; + extensions?: WebAuthnExtensions; + hashAlg: string | Algorithm; + origin: string; + rpId: string; + tokenBinding?: string; +} + +interface ClientQueryOptions { + includeUncontrolled?: boolean; + type?: ClientTypes; +} + +interface CloseEventInit extends EventInit { + code?: number; + reason?: string; + wasClean?: boolean; +} + +interface CompositionEventInit extends UIEventInit { + data?: string; +} + +interface ComputedEffectTiming extends EffectTiming { + activeDuration?: number; + currentIteration?: number | null; + endTime?: number; + localTime?: number | null; + progress?: number | null; +} + +interface ComputedKeyframe { + composite: CompositeOperationOrAuto; + computedOffset: number; + easing: string; + offset: number | null; + [property: string]: string | number | null | undefined; +} + +interface ConfirmSiteSpecificExceptionsInformation extends ExceptionInformation { + arrayOfDomainStrings?: string[]; +} + +interface ConstantSourceOptions { + offset?: number; +} + +interface ConstrainBooleanParameters { + exact?: boolean; + ideal?: boolean; +} + +interface ConstrainDOMStringParameters { + exact?: string | string[]; + ideal?: string | string[]; +} + +interface ConstrainDoubleRange extends DoubleRange { + exact?: number; + ideal?: number; +} + +interface ConstrainLongRange extends LongRange { + exact?: number; + ideal?: number; +} + +interface ConstrainVideoFacingModeParameters { + exact?: VideoFacingModeEnum | VideoFacingModeEnum[]; + ideal?: VideoFacingModeEnum | VideoFacingModeEnum[]; +} + +interface ConvolverOptions extends AudioNodeOptions { + buffer?: AudioBuffer | null; + disableNormalization?: boolean; +} + +interface CustomEventInit extends EventInit { + detail?: T; +} + +interface DOMMatrix2DInit { + a?: number; + b?: number; + c?: number; + d?: number; + e?: number; + f?: number; + m11?: number; + m12?: number; + m21?: number; + m22?: number; + m41?: number; + m42?: number; +} + +interface DOMMatrixInit extends DOMMatrix2DInit { + is2D?: boolean; + m13?: number; + m14?: number; + m23?: number; + m24?: number; + m31?: number; + m32?: number; + m33?: number; + m34?: number; + m43?: number; + m44?: number; +} + +interface DOMPointInit { + w?: number; + x?: number; + y?: number; + z?: number; +} + +interface DOMQuadInit { + p1?: DOMPointInit; + p2?: DOMPointInit; + p3?: DOMPointInit; + p4?: DOMPointInit; +} + +interface DOMRectInit { + height?: number; + width?: number; + x?: number; + y?: number; +} + +interface DelayOptions extends AudioNodeOptions { + delayTime?: number; + maxDelayTime?: number; +} + +interface DeviceAccelerationDict { + x?: number | null; + y?: number | null; + z?: number | null; +} + +interface DeviceLightEventInit extends EventInit { + value?: number; +} + +interface DeviceMotionEventInit extends EventInit { + acceleration?: DeviceAccelerationDict | null; + accelerationIncludingGravity?: DeviceAccelerationDict | null; + interval?: number | null; + rotationRate?: DeviceRotationRateDict | null; +} + +interface DeviceOrientationEventInit extends EventInit { + absolute?: boolean; + alpha?: number | null; + beta?: number | null; + gamma?: number | null; +} + +interface DeviceRotationRateDict { + alpha?: number | null; + beta?: number | null; + gamma?: number | null; +} + +interface DocumentTimelineOptions { + originTime?: number; +} + +interface DoubleRange { + max?: number; + min?: number; +} + +interface DragEventInit extends MouseEventInit { + dataTransfer?: DataTransfer | null; +} + +interface DynamicsCompressorOptions extends AudioNodeOptions { + attack?: number; + knee?: number; + ratio?: number; + release?: number; + threshold?: number; +} + +interface EcKeyAlgorithm extends KeyAlgorithm { + namedCurve: NamedCurve; +} + +interface EcKeyGenParams extends Algorithm { + namedCurve: NamedCurve; +} + +interface EcKeyImportParams extends Algorithm { + namedCurve: NamedCurve; +} + +interface EcdhKeyDeriveParams extends Algorithm { + public: CryptoKey; +} + +interface EcdsaParams extends Algorithm { + hash: HashAlgorithmIdentifier; +} + +interface EffectTiming { + delay?: number; + direction?: PlaybackDirection; + duration?: number | string; + easing?: string; + endDelay?: number; + fill?: FillMode; + iterationStart?: number; + iterations?: number; +} + +interface ElementDefinitionOptions { + extends?: string; +} + +interface ErrorEventInit extends EventInit { + colno?: number; + error?: any; + filename?: string; + lineno?: number; + message?: string; +} + +interface EventInit { + bubbles?: boolean; + cancelable?: boolean; + composed?: boolean; +} + +interface EventListenerOptions { + capture?: boolean; +} + +interface EventModifierInit extends UIEventInit { + altKey?: boolean; + ctrlKey?: boolean; + metaKey?: boolean; + modifierAltGraph?: boolean; + modifierCapsLock?: boolean; + modifierFn?: boolean; + modifierFnLock?: boolean; + modifierHyper?: boolean; + modifierNumLock?: boolean; + modifierOS?: boolean; + modifierScrollLock?: boolean; + modifierSuper?: boolean; + modifierSymbol?: boolean; + modifierSymbolLock?: boolean; + shiftKey?: boolean; +} + +interface ExceptionInformation { + domain?: string | null; +} + +interface FilePropertyBag extends BlobPropertyBag { + lastModified?: number; +} + +interface FocusEventInit extends UIEventInit { + relatedTarget?: EventTarget | null; +} + +interface FocusNavigationEventInit extends EventInit { + navigationReason?: string | null; + originHeight?: number; + originLeft?: number; + originTop?: number; + originWidth?: number; +} + +interface FocusNavigationOrigin { + originHeight?: number; + originLeft?: number; + originTop?: number; + originWidth?: number; +} + +interface FocusOptions { + preventScroll?: boolean; +} + +interface GainOptions extends AudioNodeOptions { + gain?: number; +} + +interface GamepadEventInit extends EventInit { + gamepad?: Gamepad; +} + +interface GetNotificationOptions { + tag?: string; +} + +interface GetRootNodeOptions { + composed?: boolean; +} + +interface HashChangeEventInit extends EventInit { + newURL?: string; + oldURL?: string; +} + +interface HkdfParams extends Algorithm { + hash: HashAlgorithmIdentifier; + info: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; + salt: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; +} + +interface HmacImportParams extends Algorithm { + hash: HashAlgorithmIdentifier; + length?: number; +} + +interface HmacKeyAlgorithm extends KeyAlgorithm { + hash: KeyAlgorithm; + length: number; +} + +interface HmacKeyGenParams extends Algorithm { + hash: HashAlgorithmIdentifier; + length?: number; +} + +interface IDBIndexParameters { + multiEntry?: boolean; + unique?: boolean; +} + +interface IDBObjectStoreParameters { + autoIncrement?: boolean; + keyPath?: string | string[] | null; +} + +interface IDBVersionChangeEventInit extends EventInit { + newVersion?: number | null; + oldVersion?: number; +} + +interface IIRFilterOptions extends AudioNodeOptions { + feedback: number[]; + feedforward: number[]; +} + +interface IntersectionObserverEntryInit { + boundingClientRect: DOMRectInit; + intersectionRect: DOMRectInit; + isIntersecting: boolean; + rootBounds: DOMRectInit; + target: Element; + time: number; +} + +interface IntersectionObserverInit { + root?: Element | null; + rootMargin?: string; + threshold?: number | number[]; +} + +interface JsonWebKey { + alg?: string; + crv?: string; + d?: string; + dp?: string; + dq?: string; + e?: string; + ext?: boolean; + k?: string; + key_ops?: string[]; + kty?: string; + n?: string; + oth?: RsaOtherPrimesInfo[]; + p?: string; + q?: string; + qi?: string; + use?: string; + x?: string; + y?: string; +} + +interface KeyAlgorithm { + name: string; +} + +interface KeyboardEventInit extends EventModifierInit { + code?: string; + key?: string; + location?: number; + repeat?: boolean; +} + +interface Keyframe { + composite?: CompositeOperationOrAuto; + easing?: string; + offset?: number | null; + [property: string]: string | number | null | undefined; +} + +interface KeyframeAnimationOptions extends KeyframeEffectOptions { + id?: string; +} + +interface KeyframeEffectOptions extends EffectTiming { + composite?: CompositeOperation; + iterationComposite?: IterationCompositeOperation; +} + +interface LongRange { + max?: number; + min?: number; +} + +interface MediaElementAudioSourceOptions { + mediaElement: HTMLMediaElement; +} + +interface MediaEncryptedEventInit extends EventInit { + initData?: ArrayBuffer | null; + initDataType?: string; +} + +interface MediaKeyMessageEventInit extends EventInit { + message?: ArrayBuffer | null; + messageType?: MediaKeyMessageType; +} + +interface MediaKeySystemConfiguration { + audioCapabilities?: MediaKeySystemMediaCapability[]; + distinctiveIdentifier?: MediaKeysRequirement; + initDataTypes?: string[]; + persistentState?: MediaKeysRequirement; + videoCapabilities?: MediaKeySystemMediaCapability[]; +} + +interface MediaKeySystemMediaCapability { + contentType?: string; + robustness?: string; +} + +interface MediaQueryListEventInit extends EventInit { + matches?: boolean; + media?: string; +} + +interface MediaStreamAudioSourceOptions { + mediaStream: MediaStream; +} + +interface MediaStreamConstraints { + audio?: boolean | MediaTrackConstraints; + peerIdentity?: string; + video?: boolean | MediaTrackConstraints; +} + +interface MediaStreamErrorEventInit extends EventInit { + error?: MediaStreamError | null; +} + +interface MediaStreamEventInit extends EventInit { + stream?: MediaStream; +} + +interface MediaStreamTrackAudioSourceOptions { + mediaStreamTrack: MediaStreamTrack; +} + +interface MediaStreamTrackEventInit extends EventInit { + track?: MediaStreamTrack | null; +} + +interface MediaTrackCapabilities { + aspectRatio?: number | DoubleRange; + deviceId?: string; + echoCancellation?: boolean[]; + facingMode?: string; + frameRate?: number | DoubleRange; + groupId?: string; + height?: number | LongRange; + sampleRate?: number | LongRange; + sampleSize?: number | LongRange; + volume?: number | DoubleRange; + width?: number | LongRange; +} + +interface MediaTrackConstraintSet { + aspectRatio?: number | ConstrainDoubleRange; + channelCount?: number | ConstrainLongRange; + deviceId?: string | string[] | ConstrainDOMStringParameters; + displaySurface?: string | string[] | ConstrainDOMStringParameters; + echoCancellation?: boolean | ConstrainBooleanParameters; + facingMode?: string | string[] | ConstrainDOMStringParameters; + frameRate?: number | ConstrainDoubleRange; + groupId?: string | string[] | ConstrainDOMStringParameters; + height?: number | ConstrainLongRange; + latency?: number | ConstrainDoubleRange; + logicalSurface?: boolean | ConstrainBooleanParameters; + sampleRate?: number | ConstrainLongRange; + sampleSize?: number | ConstrainLongRange; + volume?: number | ConstrainDoubleRange; + width?: number | ConstrainLongRange; +} + +interface MediaTrackConstraints extends MediaTrackConstraintSet { + advanced?: MediaTrackConstraintSet[]; +} + +interface MediaTrackSettings { + aspectRatio?: number; + deviceId?: string; + echoCancellation?: boolean; + facingMode?: string; + frameRate?: number; + groupId?: string; + height?: number; + sampleRate?: number; + sampleSize?: number; + volume?: number; + width?: number; +} + +interface MediaTrackSupportedConstraints { + aspectRatio?: boolean; + deviceId?: boolean; + echoCancellation?: boolean; + facingMode?: boolean; + frameRate?: boolean; + groupId?: boolean; + height?: boolean; + sampleRate?: boolean; + sampleSize?: boolean; + volume?: boolean; + width?: boolean; +} + +interface MessageEventInit extends EventInit { + data?: any; + lastEventId?: string; + origin?: string; + ports?: MessagePort[]; + source?: MessageEventSource | null; +} + +interface MouseEventInit extends EventModifierInit { + button?: number; + buttons?: number; + clientX?: number; + clientY?: number; + relatedTarget?: EventTarget | null; + screenX?: number; + screenY?: number; +} + +interface MutationObserverInit { + attributeFilter?: string[]; + attributeOldValue?: boolean; + attributes?: boolean; + characterData?: boolean; + characterDataOldValue?: boolean; + childList?: boolean; + subtree?: boolean; +} + +interface NavigationPreloadState { + enabled?: boolean; + headerValue?: string; +} + +interface NotificationAction { + action: string; + icon?: string; + title: string; +} + +interface NotificationOptions { + actions?: NotificationAction[]; + badge?: string; + body?: string; + data?: any; + dir?: NotificationDirection; + icon?: string; + image?: string; + lang?: string; + renotify?: boolean; + requireInteraction?: boolean; + silent?: boolean; + tag?: string; + timestamp?: number; + vibrate?: VibratePattern; +} + +interface OfflineAudioCompletionEventInit extends EventInit { + renderedBuffer: AudioBuffer; +} + +interface OfflineAudioContextOptions { + length: number; + numberOfChannels?: number; + sampleRate: number; +} + +interface OptionalEffectTiming { + delay?: number; + direction?: PlaybackDirection; + duration?: number | string; + easing?: string; + endDelay?: number; + fill?: FillMode; + iterationStart?: number; + iterations?: number; +} + +interface OscillatorOptions extends AudioNodeOptions { + detune?: number; + frequency?: number; + periodicWave?: PeriodicWave; + type?: OscillatorType; +} + +interface PannerOptions extends AudioNodeOptions { + coneInnerAngle?: number; + coneOuterAngle?: number; + coneOuterGain?: number; + distanceModel?: DistanceModelType; + maxDistance?: number; + orientationX?: number; + orientationY?: number; + orientationZ?: number; + panningModel?: PanningModelType; + positionX?: number; + positionY?: number; + positionZ?: number; + refDistance?: number; + rolloffFactor?: number; +} + +interface PaymentCurrencyAmount { + currency: string; + currencySystem?: string; + value: string; +} + +interface PaymentDetailsBase { + displayItems?: PaymentItem[]; + modifiers?: PaymentDetailsModifier[]; + shippingOptions?: PaymentShippingOption[]; +} + +interface PaymentDetailsInit extends PaymentDetailsBase { + id?: string; + total: PaymentItem; +} + +interface PaymentDetailsModifier { + additionalDisplayItems?: PaymentItem[]; + data?: any; + supportedMethods: string | string[]; + total?: PaymentItem; +} + +interface PaymentDetailsUpdate extends PaymentDetailsBase { + error?: string; + total?: PaymentItem; +} + +interface PaymentItem { + amount: PaymentCurrencyAmount; + label: string; + pending?: boolean; +} + +interface PaymentMethodData { + data?: any; + supportedMethods: string | string[]; +} + +interface PaymentOptions { + requestPayerEmail?: boolean; + requestPayerName?: boolean; + requestPayerPhone?: boolean; + requestShipping?: boolean; + shippingType?: string; +} + +interface PaymentRequestUpdateEventInit extends EventInit { +} + +interface PaymentShippingOption { + amount: PaymentCurrencyAmount; + id: string; + label: string; + selected?: boolean; +} + +interface Pbkdf2Params extends Algorithm { + hash: HashAlgorithmIdentifier; + iterations: number; + salt: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; +} + +interface PerformanceObserverInit { + buffered?: boolean; + entryTypes: string[]; +} + +interface PeriodicWaveConstraints { + disableNormalization?: boolean; +} + +interface PeriodicWaveOptions extends PeriodicWaveConstraints { + imag?: number[] | Float32Array; + real?: number[] | Float32Array; +} + +interface PipeOptions { + preventAbort?: boolean; + preventCancel?: boolean; + preventClose?: boolean; +} + +interface PointerEventInit extends MouseEventInit { + height?: number; + isPrimary?: boolean; + pointerId?: number; + pointerType?: string; + pressure?: number; + tangentialPressure?: number; + tiltX?: number; + tiltY?: number; + twist?: number; + width?: number; +} + +interface PopStateEventInit extends EventInit { + state?: any; +} + +interface PositionOptions { + enableHighAccuracy?: boolean; + maximumAge?: number; + timeout?: number; +} + +interface ProgressEventInit extends EventInit { + lengthComputable?: boolean; + loaded?: number; + total?: number; +} + +interface PromiseRejectionEventInit extends EventInit { + promise: Promise; + reason?: any; +} + +interface PropertyIndexedKeyframes { + composite?: CompositeOperationOrAuto | CompositeOperationOrAuto[]; + easing?: string | string[]; + offset?: number | (number | null)[]; + [property: string]: string | string[] | number | null | (number | null)[] | undefined; +} + +interface PushSubscriptionJSON { + endpoint?: string; + expirationTime?: number | null; + keys?: Record; +} + +interface PushSubscriptionOptionsInit { + applicationServerKey?: BufferSource | string | null; + userVisibleOnly?: boolean; +} + +interface QueuingStrategy { + highWaterMark?: number; + size?: QueuingStrategySizeCallback; +} + +interface RTCAnswerOptions extends RTCOfferAnswerOptions { +} + +interface RTCCertificateExpiration { + expires?: number; +} + +interface RTCConfiguration { + bundlePolicy?: RTCBundlePolicy; + certificates?: RTCCertificate[]; + iceCandidatePoolSize?: number; + iceServers?: RTCIceServer[]; + iceTransportPolicy?: RTCIceTransportPolicy; + peerIdentity?: string; + rtcpMuxPolicy?: RTCRtcpMuxPolicy; +} + +interface RTCDTMFToneChangeEventInit extends EventInit { + tone: string; +} + +interface RTCDataChannelEventInit extends EventInit { + channel: RTCDataChannel; +} + +interface RTCDataChannelInit { + id?: number; + maxPacketLifeTime?: number; + maxRetransmits?: number; + negotiated?: boolean; + ordered?: boolean; + priority?: RTCPriorityType; + protocol?: string; +} + +interface RTCDtlsFingerprint { + algorithm?: string; + value?: string; +} + +interface RTCDtlsParameters { + fingerprints?: RTCDtlsFingerprint[]; + role?: RTCDtlsRole; +} + +interface RTCErrorEventInit extends EventInit { + error?: RTCError | null; +} + +interface RTCIceCandidateAttributes extends RTCStats { + addressSourceUrl?: string; + candidateType?: RTCStatsIceCandidateType; + ipAddress?: string; + portNumber?: number; + priority?: number; + transport?: string; +} + +interface RTCIceCandidateComplete { +} + +interface RTCIceCandidateDictionary { + foundation?: string; + ip?: string; + msMTurnSessionId?: string; + port?: number; + priority?: number; + protocol?: RTCIceProtocol; + relatedAddress?: string; + relatedPort?: number; + tcpType?: RTCIceTcpCandidateType; + type?: RTCIceCandidateType; +} + +interface RTCIceCandidateInit { + candidate?: string; + sdpMLineIndex?: number | null; + sdpMid?: string | null; + usernameFragment?: string; +} + +interface RTCIceCandidatePair { + local?: RTCIceCandidate; + remote?: RTCIceCandidate; +} + +interface RTCIceCandidatePairStats extends RTCStats { + availableIncomingBitrate?: number; + availableOutgoingBitrate?: number; + bytesReceived?: number; + bytesSent?: number; + localCandidateId?: string; + nominated?: boolean; + priority?: number; + readable?: boolean; + remoteCandidateId?: string; + roundTripTime?: number; + state?: RTCStatsIceCandidatePairState; + transportId?: string; + writable?: boolean; +} + +interface RTCIceGatherOptions { + gatherPolicy?: RTCIceGatherPolicy; + iceservers?: RTCIceServer[]; +} + +interface RTCIceParameters { + password?: string; + usernameFragment?: string; +} + +interface RTCIceServer { + credential?: string | RTCOAuthCredential; + credentialType?: RTCIceCredentialType; + urls: string | string[]; + username?: string; +} + +interface RTCIdentityProviderOptions { + peerIdentity?: string; + protocol?: string; + usernameHint?: string; +} + +interface RTCInboundRTPStreamStats extends RTCRTPStreamStats { + bytesReceived?: number; + fractionLost?: number; + jitter?: number; + packetsLost?: number; + packetsReceived?: number; +} + +interface RTCMediaStreamTrackStats extends RTCStats { + audioLevel?: number; + echoReturnLoss?: number; + echoReturnLossEnhancement?: number; + frameHeight?: number; + frameWidth?: number; + framesCorrupted?: number; + framesDecoded?: number; + framesDropped?: number; + framesPerSecond?: number; + framesReceived?: number; + framesSent?: number; + remoteSource?: boolean; + ssrcIds?: string[]; + trackIdentifier?: string; +} + +interface RTCOAuthCredential { + accessToken: string; + macKey: string; +} + +interface RTCOfferAnswerOptions { + voiceActivityDetection?: boolean; +} + +interface RTCOfferOptions extends RTCOfferAnswerOptions { + iceRestart?: boolean; + offerToReceiveAudio?: boolean; + offerToReceiveVideo?: boolean; +} + +interface RTCOutboundRTPStreamStats extends RTCRTPStreamStats { + bytesSent?: number; + packetsSent?: number; + roundTripTime?: number; + targetBitrate?: number; +} + +interface RTCPeerConnectionIceErrorEventInit extends EventInit { + errorCode: number; + hostCandidate?: string; + statusText?: string; + url?: string; +} + +interface RTCPeerConnectionIceEventInit extends EventInit { + candidate?: RTCIceCandidate | null; + url?: string | null; +} + +interface RTCRTPStreamStats extends RTCStats { + associateStatsId?: string; + codecId?: string; + firCount?: number; + isRemote?: boolean; + mediaTrackId?: string; + mediaType?: string; + nackCount?: number; + pliCount?: number; + sliCount?: number; + ssrc?: string; + transportId?: string; +} + +interface RTCRtcpFeedback { + parameter?: string; + type?: string; +} + +interface RTCRtcpParameters { + cname?: string; + reducedSize?: boolean; +} + +interface RTCRtpCapabilities { + codecs: RTCRtpCodecCapability[]; + headerExtensions: RTCRtpHeaderExtensionCapability[]; +} + +interface RTCRtpCodecCapability { + channels?: number; + clockRate: number; + mimeType: string; + sdpFmtpLine?: string; +} + +interface RTCRtpCodecParameters { + channels?: number; + clockRate: number; + mimeType: string; + payloadType: number; + sdpFmtpLine?: string; +} + +interface RTCRtpCodingParameters { + rid?: string; +} + +interface RTCRtpContributingSource { + audioLevel?: number; + source: number; + timestamp: number; +} + +interface RTCRtpDecodingParameters extends RTCRtpCodingParameters { +} + +interface RTCRtpEncodingParameters extends RTCRtpCodingParameters { + active?: boolean; + codecPayloadType?: number; + dtx?: RTCDtxStatus; + maxBitrate?: number; + maxFramerate?: number; + priority?: RTCPriorityType; + ptime?: number; + scaleResolutionDownBy?: number; +} + +interface RTCRtpFecParameters { + mechanism?: string; + ssrc?: number; +} + +interface RTCRtpHeaderExtension { + kind?: string; + preferredEncrypt?: boolean; + preferredId?: number; + uri?: string; +} + +interface RTCRtpHeaderExtensionCapability { + uri?: string; +} + +interface RTCRtpHeaderExtensionParameters { + encrypted?: boolean; + id: number; + uri: string; +} + +interface RTCRtpParameters { + codecs: RTCRtpCodecParameters[]; + headerExtensions: RTCRtpHeaderExtensionParameters[]; + rtcp: RTCRtcpParameters; +} + +interface RTCRtpReceiveParameters extends RTCRtpParameters { + encodings: RTCRtpDecodingParameters[]; +} + +interface RTCRtpRtxParameters { + ssrc?: number; +} + +interface RTCRtpSendParameters extends RTCRtpParameters { + degradationPreference?: RTCDegradationPreference; + encodings: RTCRtpEncodingParameters[]; + transactionId: string; +} + +interface RTCRtpSynchronizationSource extends RTCRtpContributingSource { + voiceActivityFlag?: boolean; +} + +interface RTCRtpTransceiverInit { + direction?: RTCRtpTransceiverDirection; + sendEncodings?: RTCRtpEncodingParameters[]; + streams?: MediaStream[]; +} + +interface RTCRtpUnhandled { + muxId?: string; + payloadType?: number; + ssrc?: number; +} + +interface RTCSessionDescriptionInit { + sdp?: string; + type: RTCSdpType; +} + +interface RTCSrtpKeyParam { + keyMethod?: string; + keySalt?: string; + lifetime?: string; + mkiLength?: number; + mkiValue?: number; +} + +interface RTCSrtpSdesParameters { + cryptoSuite?: string; + keyParams?: RTCSrtpKeyParam[]; + sessionParams?: string[]; + tag?: number; +} + +interface RTCSsrcRange { + max?: number; + min?: number; +} + +interface RTCStats { + id: string; + timestamp: number; + type: RTCStatsType; +} + +interface RTCStatsEventInit extends EventInit { + report: RTCStatsReport; +} + +interface RTCStatsReport { +} + +interface RTCTrackEventInit extends EventInit { + receiver: RTCRtpReceiver; + streams?: MediaStream[]; + track: MediaStreamTrack; + transceiver: RTCRtpTransceiver; +} + +interface RTCTransportStats extends RTCStats { + activeConnection?: boolean; + bytesReceived?: number; + bytesSent?: number; + localCertificateId?: string; + remoteCertificateId?: string; + rtcpTransportStatsId?: string; + selectedCandidatePairId?: string; +} + +interface RegistrationOptions { + scope?: string; + type?: WorkerType; + updateViaCache?: ServiceWorkerUpdateViaCache; +} + +interface RequestInit { + body?: BodyInit | null; + cache?: RequestCache; + credentials?: RequestCredentials; + headers?: HeadersInit; + integrity?: string; + keepalive?: boolean; + method?: string; + mode?: RequestMode; + redirect?: RequestRedirect; + referrer?: string; + referrerPolicy?: ReferrerPolicy; + signal?: AbortSignal | null; + window?: any; +} + +interface ResponseInit { + headers?: HeadersInit; + status?: number; + statusText?: string; +} + +interface RsaHashedImportParams extends Algorithm { + hash: HashAlgorithmIdentifier; +} + +interface RsaHashedKeyAlgorithm extends RsaKeyAlgorithm { + hash: KeyAlgorithm; +} + +interface RsaHashedKeyGenParams extends RsaKeyGenParams { + hash: HashAlgorithmIdentifier; +} + +interface RsaKeyAlgorithm extends KeyAlgorithm { + modulusLength: number; + publicExponent: BigInteger; +} + +interface RsaKeyGenParams extends Algorithm { + modulusLength: number; + publicExponent: BigInteger; +} + +interface RsaOaepParams extends Algorithm { + label?: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; +} + +interface RsaOtherPrimesInfo { + d?: string; + r?: string; + t?: string; +} + +interface RsaPssParams extends Algorithm { + saltLength: number; +} + +interface SVGBoundingBoxOptions { + clipped?: boolean; + fill?: boolean; + markers?: boolean; + stroke?: boolean; +} + +interface ScopedCredentialDescriptor { + id: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | null; + transports?: Transport[]; + type: ScopedCredentialType; +} + +interface ScopedCredentialOptions { + excludeList?: ScopedCredentialDescriptor[]; + extensions?: WebAuthnExtensions; + rpId?: string; + timeoutSeconds?: number; +} + +interface ScopedCredentialParameters { + algorithm: string | Algorithm; + type: ScopedCredentialType; +} + +interface ScrollIntoViewOptions extends ScrollOptions { + block?: ScrollLogicalPosition; + inline?: ScrollLogicalPosition; +} + +interface ScrollOptions { + behavior?: ScrollBehavior; +} + +interface ScrollToOptions extends ScrollOptions { + left?: number; + top?: number; +} + +interface SecurityPolicyViolationEventInit extends EventInit { + blockedURI?: string; + columnNumber?: number; + documentURI?: string; + effectiveDirective?: string; + lineNumber?: number; + originalPolicy?: string; + referrer?: string; + sourceFile?: string; + statusCode?: number; + violatedDirective?: string; +} + +interface ServiceWorkerMessageEventInit extends EventInit { + data?: any; + lastEventId?: string; + origin?: string; + ports?: MessagePort[] | null; + source?: ServiceWorker | MessagePort | null; +} + +interface StereoPannerOptions extends AudioNodeOptions { + pan?: number; +} + +interface StorageEstimate { + quota?: number; + usage?: number; +} + +interface StorageEventInit extends EventInit { + key?: string | null; + newValue?: string | null; + oldValue?: string | null; + storageArea?: Storage | null; + url?: string; +} + +interface StoreExceptionsInformation extends ExceptionInformation { + detailURI?: string | null; + explanationString?: string | null; + siteName?: string | null; +} + +interface StoreSiteSpecificExceptionsInformation extends StoreExceptionsInformation { + arrayOfDomainStrings?: string[]; +} + +interface TextDecodeOptions { + stream?: boolean; +} + +interface TextDecoderOptions { + fatal?: boolean; + ignoreBOM?: boolean; +} + +interface TouchEventInit extends EventModifierInit { + changedTouches?: Touch[]; + targetTouches?: Touch[]; + touches?: Touch[]; +} + +interface TouchInit { + altitudeAngle?: number; + azimuthAngle?: number; + clientX?: number; + clientY?: number; + force?: number; + identifier: number; + pageX?: number; + pageY?: number; + radiusX?: number; + radiusY?: number; + rotationAngle?: number; + screenX?: number; + screenY?: number; + target: EventTarget; + touchType?: TouchType; +} + +interface TrackEventInit extends EventInit { + track?: VideoTrack | AudioTrack | TextTrack | null; +} + +interface Transformer { + flush?: TransformStreamDefaultControllerCallback; + readableType?: undefined; + start?: TransformStreamDefaultControllerCallback; + transform?: TransformStreamDefaultControllerTransformCallback; + writableType?: undefined; +} + +interface TransitionEventInit extends EventInit { + elapsedTime?: number; + propertyName?: string; + pseudoElement?: string; +} + +interface UIEventInit extends EventInit { + detail?: number; + view?: Window | null; +} + +interface UnderlyingByteSource { + autoAllocateChunkSize?: number; + cancel?: ReadableStreamErrorCallback; + pull?: ReadableByteStreamControllerCallback; + start?: ReadableByteStreamControllerCallback; + type: "bytes"; +} + +interface UnderlyingSink { + abort?: WritableStreamErrorCallback; + close?: WritableStreamDefaultControllerCloseCallback; + start?: WritableStreamDefaultControllerStartCallback; + type?: undefined; + write?: WritableStreamDefaultControllerWriteCallback; +} + +interface UnderlyingSource { + cancel?: ReadableStreamErrorCallback; + pull?: ReadableStreamDefaultControllerCallback; + start?: ReadableStreamDefaultControllerCallback; + type?: undefined; +} + +interface VRDisplayEventInit extends EventInit { + display: VRDisplay; + reason?: VRDisplayEventReason; +} + +interface VRLayer { + leftBounds?: number[] | Float32Array | null; + rightBounds?: number[] | Float32Array | null; + source?: HTMLCanvasElement | null; +} + +interface VRStageParameters { + sittingToStandingTransform?: Float32Array; + sizeX?: number; + sizeY?: number; +} + +interface WaveShaperOptions extends AudioNodeOptions { + curve?: number[] | Float32Array; + oversample?: OverSampleType; +} + +interface WebAuthnExtensions { +} + +interface WebGLContextAttributes { + alpha?: GLboolean; + antialias?: GLboolean; + depth?: GLboolean; + failIfMajorPerformanceCaveat?: boolean; + powerPreference?: WebGLPowerPreference; + premultipliedAlpha?: GLboolean; + preserveDrawingBuffer?: GLboolean; + stencil?: GLboolean; +} + +interface WebGLContextEventInit extends EventInit { + statusMessage?: string; +} + +interface WheelEventInit extends MouseEventInit { + deltaMode?: number; + deltaX?: number; + deltaY?: number; + deltaZ?: number; +} + +interface WorkerOptions { + credentials?: RequestCredentials; + name?: string; + type?: WorkerType; +} + +interface WorkletOptions { + credentials?: RequestCredentials; +} + +interface EventListener { + (evt: Event): void; +} + +interface ANGLE_instanced_arrays { + drawArraysInstancedANGLE(mode: GLenum, first: GLint, count: GLsizei, primcount: GLsizei): void; + drawElementsInstancedANGLE(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr, primcount: GLsizei): void; + vertexAttribDivisorANGLE(index: GLuint, divisor: GLuint): void; + readonly VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE: GLenum; +} + +interface AbortController { + /** + * Returns the AbortSignal object associated with this object. + */ + readonly signal: AbortSignal; + /** + * Invoking this method will set this object's AbortSignal's aborted flag and + * signal to any observers that the associated activity is to be aborted. + */ + abort(): void; +} + +declare var AbortController: { + prototype: AbortController; + new(): AbortController; +}; + +interface AbortSignalEventMap { + "abort": ProgressEvent; +} + +interface AbortSignal extends EventTarget { + /** + * Returns true if this AbortSignal's AbortController has signaled to abort, and false + * otherwise. + */ + readonly aborted: boolean; + onabort: ((this: AbortSignal, ev: ProgressEvent) => any) | null; + addEventListener(type: K, listener: (this: AbortSignal, ev: AbortSignalEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: AbortSignal, ev: AbortSignalEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var AbortSignal: { + prototype: AbortSignal; + new(): AbortSignal; +}; + +interface AbstractRange { + readonly collapsed: boolean; + readonly endContainer: Node; + readonly endOffset: number; + readonly startContainer: Node; + readonly startOffset: number; +} + +declare var AbstractRange: { + prototype: AbstractRange; + new(): AbstractRange; +}; + +interface AbstractWorkerEventMap { + "error": ErrorEvent; +} + +interface AbstractWorker { + onerror: ((this: AbstractWorker, ev: ErrorEvent) => any) | null; + addEventListener(type: K, listener: (this: AbstractWorker, ev: AbstractWorkerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: AbstractWorker, ev: AbstractWorkerEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +interface AesCfbParams extends Algorithm { + iv: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; +} + +interface AesCmacParams extends Algorithm { + length: number; +} + +interface AnalyserNode extends AudioNode { + fftSize: number; + readonly frequencyBinCount: number; + maxDecibels: number; + minDecibels: number; + smoothingTimeConstant: number; + getByteFrequencyData(array: Uint8Array): void; + getByteTimeDomainData(array: Uint8Array): void; + getFloatFrequencyData(array: Float32Array): void; + getFloatTimeDomainData(array: Float32Array): void; +} + +declare var AnalyserNode: { + prototype: AnalyserNode; + new(context: BaseAudioContext, options?: AnalyserOptions): AnalyserNode; +}; + +interface Animatable { + animate(keyframes: Keyframe[] | PropertyIndexedKeyframes | null, options?: number | KeyframeAnimationOptions): Animation; + getAnimations(): Animation[]; +} + +interface AnimationEventMap { + "cancel": AnimationPlaybackEvent; + "finish": AnimationPlaybackEvent; +} + +interface Animation extends EventTarget { + currentTime: number | null; + effect: AnimationEffect | null; + readonly finished: Promise; + id: string; + oncancel: ((this: Animation, ev: AnimationPlaybackEvent) => any) | null; + onfinish: ((this: Animation, ev: AnimationPlaybackEvent) => any) | null; + readonly pending: boolean; + readonly playState: AnimationPlayState; + playbackRate: number; + readonly ready: Promise; + startTime: number | null; + timeline: AnimationTimeline | null; + cancel(): void; + finish(): void; + pause(): void; + play(): void; + reverse(): void; + updatePlaybackRate(playbackRate: number): void; + addEventListener(type: K, listener: (this: Animation, ev: AnimationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: Animation, ev: AnimationEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var Animation: { + prototype: Animation; + new(effect?: AnimationEffect | null, timeline?: AnimationTimeline | null): Animation; +}; + +interface AnimationEffect { + getComputedTiming(): ComputedEffectTiming; + getTiming(): EffectTiming; + updateTiming(timing?: OptionalEffectTiming): void; +} + +declare var AnimationEffect: { + prototype: AnimationEffect; + new(): AnimationEffect; +}; + +interface AnimationEvent extends Event { + readonly animationName: string; + readonly elapsedTime: number; + readonly pseudoElement: string; +} + +declare var AnimationEvent: { + prototype: AnimationEvent; + new(type: string, animationEventInitDict?: AnimationEventInit): AnimationEvent; +}; + +interface AnimationPlaybackEvent extends Event { + readonly currentTime: number | null; + readonly timelineTime: number | null; +} + +declare var AnimationPlaybackEvent: { + prototype: AnimationPlaybackEvent; + new(type: string, eventInitDict?: AnimationPlaybackEventInit): AnimationPlaybackEvent; +}; + +interface AnimationTimeline { + readonly currentTime: number | null; +} + +declare var AnimationTimeline: { + prototype: AnimationTimeline; + new(): AnimationTimeline; +}; + +interface ApplicationCacheEventMap { + "cached": Event; + "checking": Event; + "downloading": Event; + "error": Event; + "noupdate": Event; + "obsolete": Event; + "progress": ProgressEvent; + "updateready": Event; +} + +interface ApplicationCache extends EventTarget { + /** @deprecated */ + oncached: ((this: ApplicationCache, ev: Event) => any) | null; + /** @deprecated */ + onchecking: ((this: ApplicationCache, ev: Event) => any) | null; + /** @deprecated */ + ondownloading: ((this: ApplicationCache, ev: Event) => any) | null; + /** @deprecated */ + onerror: ((this: ApplicationCache, ev: Event) => any) | null; + /** @deprecated */ + onnoupdate: ((this: ApplicationCache, ev: Event) => any) | null; + /** @deprecated */ + onobsolete: ((this: ApplicationCache, ev: Event) => any) | null; + /** @deprecated */ + onprogress: ((this: ApplicationCache, ev: ProgressEvent) => any) | null; + /** @deprecated */ + onupdateready: ((this: ApplicationCache, ev: Event) => any) | null; + /** @deprecated */ + readonly status: number; + /** @deprecated */ + abort(): void; + /** @deprecated */ + swapCache(): void; + /** @deprecated */ + update(): void; + readonly CHECKING: number; + readonly DOWNLOADING: number; + readonly IDLE: number; + readonly OBSOLETE: number; + readonly UNCACHED: number; + readonly UPDATEREADY: number; + addEventListener(type: K, listener: (this: ApplicationCache, ev: ApplicationCacheEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: ApplicationCache, ev: ApplicationCacheEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var ApplicationCache: { + prototype: ApplicationCache; + new(): ApplicationCache; + readonly CHECKING: number; + readonly DOWNLOADING: number; + readonly IDLE: number; + readonly OBSOLETE: number; + readonly UNCACHED: number; + readonly UPDATEREADY: number; +}; + +interface Attr extends Node { + readonly localName: string; + readonly name: string; + readonly namespaceURI: string | null; + readonly ownerElement: Element | null; + readonly prefix: string | null; + readonly specified: boolean; + value: string; +} + +declare var Attr: { + prototype: Attr; + new(): Attr; +}; + +interface AudioBuffer { + readonly duration: number; + readonly length: number; + readonly numberOfChannels: number; + readonly sampleRate: number; + copyFromChannel(destination: Float32Array, channelNumber: number, startInChannel?: number): void; + copyToChannel(source: Float32Array, channelNumber: number, startInChannel?: number): void; + getChannelData(channel: number): Float32Array; +} + +declare var AudioBuffer: { + prototype: AudioBuffer; + new(options: AudioBufferOptions): AudioBuffer; +}; + +interface AudioBufferSourceNode extends AudioScheduledSourceNode { + buffer: AudioBuffer | null; + readonly detune: AudioParam; + loop: boolean; + loopEnd: number; + loopStart: number; + readonly playbackRate: AudioParam; + start(when?: number, offset?: number, duration?: number): void; + addEventListener(type: K, listener: (this: AudioBufferSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: AudioBufferSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var AudioBufferSourceNode: { + prototype: AudioBufferSourceNode; + new(context: BaseAudioContext, options?: AudioBufferSourceOptions): AudioBufferSourceNode; +}; + +interface AudioContext extends BaseAudioContext { + readonly baseLatency: number; + readonly outputLatency: number; + close(): Promise; + createMediaElementSource(mediaElement: HTMLMediaElement): MediaElementAudioSourceNode; + createMediaStreamDestination(): MediaStreamAudioDestinationNode; + createMediaStreamSource(mediaStream: MediaStream): MediaStreamAudioSourceNode; + createMediaStreamTrackSource(mediaStreamTrack: MediaStreamTrack): MediaStreamTrackAudioSourceNode; + getOutputTimestamp(): AudioTimestamp; + suspend(): Promise; + addEventListener(type: K, listener: (this: AudioContext, ev: BaseAudioContextEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: AudioContext, ev: BaseAudioContextEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var AudioContext: { + prototype: AudioContext; + new(contextOptions?: AudioContextOptions): AudioContext; +}; + +interface AudioDestinationNode extends AudioNode { + readonly maxChannelCount: number; +} + +declare var AudioDestinationNode: { + prototype: AudioDestinationNode; + new(): AudioDestinationNode; +}; + +interface AudioListener { + readonly forwardX: AudioParam; + readonly forwardY: AudioParam; + readonly forwardZ: AudioParam; + readonly positionX: AudioParam; + readonly positionY: AudioParam; + readonly positionZ: AudioParam; + readonly upX: AudioParam; + readonly upY: AudioParam; + readonly upZ: AudioParam; + /** @deprecated */ + setOrientation(x: number, y: number, z: number, xUp: number, yUp: number, zUp: number): void; + /** @deprecated */ + setPosition(x: number, y: number, z: number): void; +} + +declare var AudioListener: { + prototype: AudioListener; + new(): AudioListener; +}; + +interface AudioNode extends EventTarget { + channelCount: number; + channelCountMode: ChannelCountMode; + channelInterpretation: ChannelInterpretation; + readonly context: BaseAudioContext; + readonly numberOfInputs: number; + readonly numberOfOutputs: number; + connect(destinationNode: AudioNode, output?: number, input?: number): AudioNode; + connect(destinationParam: AudioParam, output?: number): void; + disconnect(): void; + disconnect(output: number): void; + disconnect(destinationNode: AudioNode): void; + disconnect(destinationNode: AudioNode, output: number): void; + disconnect(destinationNode: AudioNode, output: number, input: number): void; + disconnect(destinationParam: AudioParam): void; + disconnect(destinationParam: AudioParam, output: number): void; +} + +declare var AudioNode: { + prototype: AudioNode; + new(): AudioNode; +}; + +interface AudioParam { + automationRate: AutomationRate; + readonly defaultValue: number; + readonly maxValue: number; + readonly minValue: number; + value: number; + cancelAndHoldAtTime(cancelTime: number): AudioParam; + cancelScheduledValues(cancelTime: number): AudioParam; + exponentialRampToValueAtTime(value: number, endTime: number): AudioParam; + linearRampToValueAtTime(value: number, endTime: number): AudioParam; + setTargetAtTime(target: number, startTime: number, timeConstant: number): AudioParam; + setValueAtTime(value: number, startTime: number): AudioParam; + setValueCurveAtTime(values: number[] | Float32Array, startTime: number, duration: number): AudioParam; +} + +declare var AudioParam: { + prototype: AudioParam; + new(): AudioParam; +}; + +interface AudioParamMap { + forEach(callbackfn: (value: AudioParam, key: string, parent: AudioParamMap) => void, thisArg?: any): void; +} + +declare var AudioParamMap: { + prototype: AudioParamMap; + new(): AudioParamMap; +}; + +interface AudioProcessingEvent extends Event { + readonly inputBuffer: AudioBuffer; + readonly outputBuffer: AudioBuffer; + readonly playbackTime: number; +} + +declare var AudioProcessingEvent: { + prototype: AudioProcessingEvent; + new(type: string, eventInitDict: AudioProcessingEventInit): AudioProcessingEvent; +}; + +interface AudioScheduledSourceNodeEventMap { + "ended": Event; +} + +interface AudioScheduledSourceNode extends AudioNode { + onended: ((this: AudioScheduledSourceNode, ev: Event) => any) | null; + start(when?: number): void; + stop(when?: number): void; + addEventListener(type: K, listener: (this: AudioScheduledSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: AudioScheduledSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var AudioScheduledSourceNode: { + prototype: AudioScheduledSourceNode; + new(): AudioScheduledSourceNode; +}; + +interface AudioTrack { + enabled: boolean; + readonly id: string; + kind: string; + readonly label: string; + language: string; + readonly sourceBuffer: SourceBuffer; +} + +declare var AudioTrack: { + prototype: AudioTrack; + new(): AudioTrack; +}; + +interface AudioTrackListEventMap { + "addtrack": TrackEvent; + "change": Event; + "removetrack": TrackEvent; +} + +interface AudioTrackList extends EventTarget { + readonly length: number; + onaddtrack: ((this: AudioTrackList, ev: TrackEvent) => any) | null; + onchange: ((this: AudioTrackList, ev: Event) => any) | null; + onremovetrack: ((this: AudioTrackList, ev: TrackEvent) => any) | null; + getTrackById(id: string): AudioTrack | null; + item(index: number): AudioTrack; + addEventListener(type: K, listener: (this: AudioTrackList, ev: AudioTrackListEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: AudioTrackList, ev: AudioTrackListEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; + [index: number]: AudioTrack; +} + +declare var AudioTrackList: { + prototype: AudioTrackList; + new(): AudioTrackList; +}; + +interface AudioWorklet extends Worklet { +} + +declare var AudioWorklet: { + prototype: AudioWorklet; + new(): AudioWorklet; +}; + +interface AudioWorkletNodeEventMap { + "processorerror": Event; +} + +interface AudioWorkletNode extends AudioNode { + onprocessorerror: ((this: AudioWorkletNode, ev: Event) => any) | null; + readonly parameters: AudioParamMap; + readonly port: MessagePort; + addEventListener(type: K, listener: (this: AudioWorkletNode, ev: AudioWorkletNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: AudioWorkletNode, ev: AudioWorkletNodeEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var AudioWorkletNode: { + prototype: AudioWorkletNode; + new(context: BaseAudioContext, name: string, options?: AudioWorkletNodeOptions): AudioWorkletNode; +}; + +interface BarProp { + readonly visible: boolean; +} + +declare var BarProp: { + prototype: BarProp; + new(): BarProp; +}; + +interface BaseAudioContextEventMap { + "statechange": Event; +} + +interface BaseAudioContext extends EventTarget { + readonly audioWorklet: AudioWorklet; + readonly currentTime: number; + readonly destination: AudioDestinationNode; + readonly listener: AudioListener; + onstatechange: ((this: BaseAudioContext, ev: Event) => any) | null; + readonly sampleRate: number; + readonly state: AudioContextState; + createAnalyser(): AnalyserNode; + createBiquadFilter(): BiquadFilterNode; + createBuffer(numberOfChannels: number, length: number, sampleRate: number): AudioBuffer; + createBufferSource(): AudioBufferSourceNode; + createChannelMerger(numberOfInputs?: number): ChannelMergerNode; + createChannelSplitter(numberOfOutputs?: number): ChannelSplitterNode; + createConstantSource(): ConstantSourceNode; + createConvolver(): ConvolverNode; + createDelay(maxDelayTime?: number): DelayNode; + createDynamicsCompressor(): DynamicsCompressorNode; + createGain(): GainNode; + createIIRFilter(feedforward: number[], feedback: number[]): IIRFilterNode; + createOscillator(): OscillatorNode; + createPanner(): PannerNode; + createPeriodicWave(real: number[] | Float32Array, imag: number[] | Float32Array, constraints?: PeriodicWaveConstraints): PeriodicWave; + createScriptProcessor(bufferSize?: number, numberOfInputChannels?: number, numberOfOutputChannels?: number): ScriptProcessorNode; + createStereoPanner(): StereoPannerNode; + createWaveShaper(): WaveShaperNode; + decodeAudioData(audioData: ArrayBuffer, successCallback?: DecodeSuccessCallback | null, errorCallback?: DecodeErrorCallback | null): Promise; + resume(): Promise; + addEventListener(type: K, listener: (this: BaseAudioContext, ev: BaseAudioContextEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: BaseAudioContext, ev: BaseAudioContextEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var BaseAudioContext: { + prototype: BaseAudioContext; + new(): BaseAudioContext; +}; + +interface BeforeUnloadEvent extends Event { + returnValue: any; +} + +declare var BeforeUnloadEvent: { + prototype: BeforeUnloadEvent; + new(): BeforeUnloadEvent; +}; + +interface BhxBrowser { + readonly lastError: DOMException; + checkMatchesGlobExpression(pattern: string, value: string): boolean; + checkMatchesUriExpression(pattern: string, value: string): boolean; + clearLastError(): void; + currentWindowId(): number; + fireExtensionApiTelemetry(functionName: string, isSucceeded: boolean, isSupported: boolean, errorString: string): void; + genericFunction(functionId: number, destination: any, parameters?: string, callbackId?: number): void; + genericSynchronousFunction(functionId: number, parameters?: string): string; + getExtensionId(): string; + getThisAddress(): any; + registerGenericFunctionCallbackHandler(callbackHandler: Function): void; + registerGenericListenerHandler(eventHandler: Function): void; + setLastError(parameters: string): void; + webPlatformGenericFunction(destination: any, parameters?: string, callbackId?: number): void; +} + +declare var BhxBrowser: { + prototype: BhxBrowser; + new(): BhxBrowser; +}; + +interface BiquadFilterNode extends AudioNode { + readonly Q: AudioParam; + readonly detune: AudioParam; + readonly frequency: AudioParam; + readonly gain: AudioParam; + type: BiquadFilterType; + getFrequencyResponse(frequencyHz: Float32Array, magResponse: Float32Array, phaseResponse: Float32Array): void; +} + +declare var BiquadFilterNode: { + prototype: BiquadFilterNode; + new(context: BaseAudioContext, options?: BiquadFilterOptions): BiquadFilterNode; +}; + +interface Blob { + readonly size: number; + readonly type: string; + slice(start?: number, end?: number, contentType?: string): Blob; +} + +declare var Blob: { + prototype: Blob; + new(blobParts?: BlobPart[], options?: BlobPropertyBag): Blob; +}; + +interface Body { + readonly body: ReadableStream | null; + readonly bodyUsed: boolean; + arrayBuffer(): Promise; + blob(): Promise; + formData(): Promise; + json(): Promise; + text(): Promise; +} + +interface BroadcastChannelEventMap { + "message": MessageEvent; + "messageerror": MessageEvent; +} + +interface BroadcastChannel extends EventTarget { + /** + * Returns the channel name (as passed to the constructor). + */ + readonly name: string; + onmessage: ((this: BroadcastChannel, ev: MessageEvent) => any) | null; + onmessageerror: ((this: BroadcastChannel, ev: MessageEvent) => any) | null; + /** + * Closes the BroadcastChannel object, opening it up to garbage collection. + */ + close(): void; + /** + * Sends the given message to other BroadcastChannel objects set up for this channel. Messages can be structured objects, e.g. nested objects and arrays. + */ + postMessage(message: any): void; + addEventListener(type: K, listener: (this: BroadcastChannel, ev: BroadcastChannelEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: BroadcastChannel, ev: BroadcastChannelEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var BroadcastChannel: { + prototype: BroadcastChannel; + new(name: string): BroadcastChannel; +}; + +interface BroadcastChannelEventMap { + message: MessageEvent; + messageerror: MessageEvent; +} + +interface ByteLengthQueuingStrategy extends QueuingStrategy { + highWaterMark: number; + size(chunk: ArrayBufferView): number; +} + +declare var ByteLengthQueuingStrategy: { + prototype: ByteLengthQueuingStrategy; + new(options: { highWaterMark: number }): ByteLengthQueuingStrategy; +}; + +interface CDATASection extends Text { +} + +declare var CDATASection: { + prototype: CDATASection; + new(): CDATASection; +}; + +interface CSS { + escape(value: string): string; + supports(property: string, value?: string): boolean; +} +declare var CSS: CSS; + +interface CSSConditionRule extends CSSGroupingRule { + conditionText: string; +} + +declare var CSSConditionRule: { + prototype: CSSConditionRule; + new(): CSSConditionRule; +}; + +interface CSSFontFaceRule extends CSSRule { + readonly style: CSSStyleDeclaration; +} + +declare var CSSFontFaceRule: { + prototype: CSSFontFaceRule; + new(): CSSFontFaceRule; +}; + +interface CSSGroupingRule extends CSSRule { + readonly cssRules: CSSRuleList; + deleteRule(index: number): void; + insertRule(rule: string, index: number): number; +} + +declare var CSSGroupingRule: { + prototype: CSSGroupingRule; + new(): CSSGroupingRule; +}; + +interface CSSImportRule extends CSSRule { + readonly href: string; + readonly media: MediaList; + readonly styleSheet: CSSStyleSheet; +} + +declare var CSSImportRule: { + prototype: CSSImportRule; + new(): CSSImportRule; +}; + +interface CSSKeyframeRule extends CSSRule { + keyText: string; + readonly style: CSSStyleDeclaration; +} + +declare var CSSKeyframeRule: { + prototype: CSSKeyframeRule; + new(): CSSKeyframeRule; +}; + +interface CSSKeyframesRule extends CSSRule { + readonly cssRules: CSSRuleList; + name: string; + appendRule(rule: string): void; + deleteRule(select: string): void; + findRule(select: string): CSSKeyframeRule | null; +} + +declare var CSSKeyframesRule: { + prototype: CSSKeyframesRule; + new(): CSSKeyframesRule; +}; + +interface CSSMediaRule extends CSSConditionRule { + readonly media: MediaList; +} + +declare var CSSMediaRule: { + prototype: CSSMediaRule; + new(): CSSMediaRule; +}; + +interface CSSNamespaceRule extends CSSRule { + readonly namespaceURI: string; + readonly prefix: string; +} + +declare var CSSNamespaceRule: { + prototype: CSSNamespaceRule; + new(): CSSNamespaceRule; +}; + +interface CSSPageRule extends CSSRule { + readonly pseudoClass: string; + readonly selector: string; + selectorText: string; + readonly style: CSSStyleDeclaration; +} + +declare var CSSPageRule: { + prototype: CSSPageRule; + new(): CSSPageRule; +}; + +interface CSSRule { + cssText: string; + readonly parentRule: CSSRule | null; + readonly parentStyleSheet: CSSStyleSheet | null; + readonly type: number; + readonly CHARSET_RULE: number; + readonly FONT_FACE_RULE: number; + readonly IMPORT_RULE: number; + readonly KEYFRAMES_RULE: number; + readonly KEYFRAME_RULE: number; + readonly MEDIA_RULE: number; + readonly NAMESPACE_RULE: number; + readonly PAGE_RULE: number; + readonly STYLE_RULE: number; + readonly SUPPORTS_RULE: number; + readonly UNKNOWN_RULE: number; + readonly VIEWPORT_RULE: number; +} + +declare var CSSRule: { + prototype: CSSRule; + new(): CSSRule; + readonly CHARSET_RULE: number; + readonly FONT_FACE_RULE: number; + readonly IMPORT_RULE: number; + readonly KEYFRAMES_RULE: number; + readonly KEYFRAME_RULE: number; + readonly MEDIA_RULE: number; + readonly NAMESPACE_RULE: number; + readonly PAGE_RULE: number; + readonly STYLE_RULE: number; + readonly SUPPORTS_RULE: number; + readonly UNKNOWN_RULE: number; + readonly VIEWPORT_RULE: number; +}; + +interface CSSRuleList { + readonly length: number; + item(index: number): CSSRule | null; + [index: number]: CSSRule; +} + +declare var CSSRuleList: { + prototype: CSSRuleList; + new(): CSSRuleList; +}; + +interface CSSStyleDeclaration { + alignContent: string | null; + alignItems: string | null; + alignSelf: string | null; + alignmentBaseline: string | null; + animation: string; + animationDelay: string; + animationDirection: string; + animationDuration: string; + animationFillMode: string; + animationIterationCount: string; + animationName: string; + animationPlayState: string; + animationTimingFunction: string; + backfaceVisibility: string | null; + background: string | null; + backgroundAttachment: string | null; + backgroundClip: string | null; + backgroundColor: string | null; + backgroundImage: string | null; + backgroundOrigin: string | null; + backgroundPosition: string | null; + backgroundPositionX: string | null; + backgroundPositionY: string | null; + backgroundRepeat: string | null; + backgroundSize: string | null; + baselineShift: string | null; + border: string | null; + borderBottom: string | null; + borderBottomColor: string | null; + borderBottomLeftRadius: string | null; + borderBottomRightRadius: string | null; + borderBottomStyle: string | null; + borderBottomWidth: string | null; + borderCollapse: string | null; + borderColor: string | null; + borderImage: string | null; + borderImageOutset: string | null; + borderImageRepeat: string | null; + borderImageSlice: string | null; + borderImageSource: string | null; + borderImageWidth: string | null; + borderLeft: string | null; + borderLeftColor: string | null; + borderLeftStyle: string | null; + borderLeftWidth: string | null; + borderRadius: string | null; + borderRight: string | null; + borderRightColor: string | null; + borderRightStyle: string | null; + borderRightWidth: string | null; + borderSpacing: string | null; + borderStyle: string | null; + borderTop: string | null; + borderTopColor: string | null; + borderTopLeftRadius: string | null; + borderTopRightRadius: string | null; + borderTopStyle: string | null; + borderTopWidth: string | null; + borderWidth: string | null; + bottom: string | null; + boxShadow: string | null; + boxSizing: string | null; + breakAfter: string | null; + breakBefore: string | null; + breakInside: string | null; + captionSide: string | null; + clear: string | null; + clip: string | null; + clipPath: string | null; + clipRule: string | null; + color: string | null; + colorInterpolationFilters: string | null; + columnCount: any; + columnFill: string | null; + columnGap: any; + columnRule: string | null; + columnRuleColor: any; + columnRuleStyle: string | null; + columnRuleWidth: any; + columnSpan: string | null; + columnWidth: any; + columns: string | null; + content: string | null; + counterIncrement: string | null; + counterReset: string | null; + cssFloat: string | null; + cssText: string; + cursor: string | null; + direction: string | null; + display: string | null; + dominantBaseline: string | null; + emptyCells: string | null; + enableBackground: string | null; + fill: string | null; + fillOpacity: string | null; + fillRule: string | null; + filter: string | null; + flex: string | null; + flexBasis: string | null; + flexDirection: string | null; + flexFlow: string | null; + flexGrow: string | null; + flexShrink: string | null; + flexWrap: string | null; + floodColor: string | null; + floodOpacity: string | null; + font: string | null; + fontFamily: string | null; + fontFeatureSettings: string | null; + fontSize: string | null; + fontSizeAdjust: string | null; + fontStretch: string | null; + fontStyle: string | null; + fontVariant: string | null; + fontWeight: string | null; + gap: string | null; + glyphOrientationHorizontal: string | null; + glyphOrientationVertical: string | null; + grid: string | null; + gridArea: string | null; + gridAutoColumns: string | null; + gridAutoFlow: string | null; + gridAutoRows: string | null; + gridColumn: string | null; + gridColumnEnd: string | null; + gridColumnGap: string | null; + gridColumnStart: string | null; + gridGap: string | null; + gridRow: string | null; + gridRowEnd: string | null; + gridRowGap: string | null; + gridRowStart: string | null; + gridTemplate: string | null; + gridTemplateAreas: string | null; + gridTemplateColumns: string | null; + gridTemplateRows: string | null; + height: string | null; + imeMode: string | null; + justifyContent: string | null; + justifyItems: string | null; + justifySelf: string | null; + kerning: string | null; + layoutGrid: string | null; + layoutGridChar: string | null; + layoutGridLine: string | null; + layoutGridMode: string | null; + layoutGridType: string | null; + left: string | null; + readonly length: number; + letterSpacing: string | null; + lightingColor: string | null; + lineBreak: string | null; + lineHeight: string | null; + listStyle: string | null; + listStyleImage: string | null; + listStylePosition: string | null; + listStyleType: string | null; + margin: string | null; + marginBottom: string | null; + marginLeft: string | null; + marginRight: string | null; + marginTop: string | null; + marker: string | null; + markerEnd: string | null; + markerMid: string | null; + markerStart: string | null; + mask: string | null; + maskImage: string | null; + maxHeight: string | null; + maxWidth: string | null; + minHeight: string | null; + minWidth: string | null; + msContentZoomChaining: string | null; + msContentZoomLimit: string | null; + msContentZoomLimitMax: any; + msContentZoomLimitMin: any; + msContentZoomSnap: string | null; + msContentZoomSnapPoints: string | null; + msContentZoomSnapType: string | null; + msContentZooming: string | null; + msFlowFrom: string | null; + msFlowInto: string | null; + msFontFeatureSettings: string | null; + msGridColumn: any; + msGridColumnAlign: string | null; + msGridColumnSpan: any; + msGridColumns: string | null; + msGridRow: any; + msGridRowAlign: string | null; + msGridRowSpan: any; + msGridRows: string | null; + msHighContrastAdjust: string | null; + msHyphenateLimitChars: string | null; + msHyphenateLimitLines: any; + msHyphenateLimitZone: any; + msHyphens: string | null; + msImeAlign: string | null; + msOverflowStyle: string | null; + msScrollChaining: string | null; + msScrollLimit: string | null; + msScrollLimitXMax: any; + msScrollLimitXMin: any; + msScrollLimitYMax: any; + msScrollLimitYMin: any; + msScrollRails: string | null; + msScrollSnapPointsX: string | null; + msScrollSnapPointsY: string | null; + msScrollSnapType: string | null; + msScrollSnapX: string | null; + msScrollSnapY: string | null; + msScrollTranslation: string | null; + msTextCombineHorizontal: string | null; + msTextSizeAdjust: any; + msTouchAction: string | null; + msTouchSelect: string | null; + msUserSelect: string | null; + msWrapFlow: string; + msWrapMargin: any; + msWrapThrough: string; + objectFit: string | null; + objectPosition: string | null; + opacity: string | null; + order: string | null; + orphans: string | null; + outline: string | null; + outlineColor: string | null; + outlineOffset: string | null; + outlineStyle: string | null; + outlineWidth: string | null; + overflow: string | null; + overflowX: string | null; + overflowY: string | null; + padding: string | null; + paddingBottom: string | null; + paddingLeft: string | null; + paddingRight: string | null; + paddingTop: string | null; + pageBreakAfter: string | null; + pageBreakBefore: string | null; + pageBreakInside: string | null; + readonly parentRule: CSSRule; + penAction: string | null; + perspective: string | null; + perspectiveOrigin: string | null; + pointerEvents: string | null; + position: string | null; + quotes: string | null; + resize: string | null; + right: string | null; + rotate: string | null; + rowGap: string | null; + rubyAlign: string | null; + rubyOverhang: string | null; + rubyPosition: string | null; + scale: string | null; + scrollBehavior: string; + stopColor: string | null; + stopOpacity: string | null; + stroke: string | null; + strokeDasharray: string | null; + strokeDashoffset: string | null; + strokeLinecap: string | null; + strokeLinejoin: string | null; + strokeMiterlimit: string | null; + strokeOpacity: string | null; + strokeWidth: string | null; + tableLayout: string | null; + textAlign: string | null; + textAlignLast: string | null; + textAnchor: string | null; + textCombineUpright: string | null; + textDecoration: string | null; + textIndent: string | null; + textJustify: string | null; + textKashida: string | null; + textKashidaSpace: string | null; + textOverflow: string | null; + textShadow: string | null; + textTransform: string | null; + textUnderlinePosition: string | null; + top: string | null; + touchAction: string; + transform: string | null; + transformOrigin: string | null; + transformStyle: string | null; + transition: string; + transitionDelay: string; + transitionDuration: string; + transitionProperty: string; + transitionTimingFunction: string; + translate: string | null; + unicodeBidi: string | null; + userSelect: string | null; + verticalAlign: string | null; + visibility: string | null; + /** @deprecated */ + webkitAlignContent: string; + /** @deprecated */ + webkitAlignItems: string; + /** @deprecated */ + webkitAlignSelf: string; + /** @deprecated */ + webkitAnimation: string; + /** @deprecated */ + webkitAnimationDelay: string; + /** @deprecated */ + webkitAnimationDirection: string; + /** @deprecated */ + webkitAnimationDuration: string; + /** @deprecated */ + webkitAnimationFillMode: string; + /** @deprecated */ + webkitAnimationIterationCount: string; + /** @deprecated */ + webkitAnimationName: string; + /** @deprecated */ + webkitAnimationPlayState: string; + /** @deprecated */ + webkitAnimationTimingFunction: string; + /** @deprecated */ + webkitAppearance: string; + /** @deprecated */ + webkitBackfaceVisibility: string; + /** @deprecated */ + webkitBackgroundClip: string; + /** @deprecated */ + webkitBackgroundOrigin: string; + /** @deprecated */ + webkitBackgroundSize: string; + /** @deprecated */ + webkitBorderBottomLeftRadius: string; + /** @deprecated */ + webkitBorderBottomRightRadius: string; + webkitBorderImage: string | null; + /** @deprecated */ + webkitBorderRadius: string; + /** @deprecated */ + webkitBorderTopLeftRadius: string; + /** @deprecated */ + webkitBorderTopRightRadius: string; + /** @deprecated */ + webkitBoxAlign: string; + webkitBoxDirection: string | null; + /** @deprecated */ + webkitBoxFlex: string; + /** @deprecated */ + webkitBoxOrdinalGroup: string; + webkitBoxOrient: string | null; + /** @deprecated */ + webkitBoxPack: string; + /** @deprecated */ + webkitBoxShadow: string; + /** @deprecated */ + webkitBoxSizing: string; + webkitColumnBreakAfter: string | null; + webkitColumnBreakBefore: string | null; + webkitColumnBreakInside: string | null; + webkitColumnCount: any; + webkitColumnGap: any; + webkitColumnRule: string | null; + webkitColumnRuleColor: any; + webkitColumnRuleStyle: string | null; + webkitColumnRuleWidth: any; + webkitColumnSpan: string | null; + webkitColumnWidth: any; + webkitColumns: string | null; + /** @deprecated */ + webkitFilter: string; + /** @deprecated */ + webkitFlex: string; + /** @deprecated */ + webkitFlexBasis: string; + /** @deprecated */ + webkitFlexDirection: string; + /** @deprecated */ + webkitFlexFlow: string; + /** @deprecated */ + webkitFlexGrow: string; + /** @deprecated */ + webkitFlexShrink: string; + /** @deprecated */ + webkitFlexWrap: string; + /** @deprecated */ + webkitJustifyContent: string; + /** @deprecated */ + webkitMask: string; + /** @deprecated */ + webkitMaskBoxImage: string; + /** @deprecated */ + webkitMaskBoxImageOutset: string; + /** @deprecated */ + webkitMaskBoxImageRepeat: string; + /** @deprecated */ + webkitMaskBoxImageSlice: string; + /** @deprecated */ + webkitMaskBoxImageSource: string; + /** @deprecated */ + webkitMaskBoxImageWidth: string; + /** @deprecated */ + webkitMaskClip: string; + /** @deprecated */ + webkitMaskComposite: string; + /** @deprecated */ + webkitMaskImage: string; + /** @deprecated */ + webkitMaskOrigin: string; + /** @deprecated */ + webkitMaskPosition: string; + /** @deprecated */ + webkitMaskRepeat: string; + /** @deprecated */ + webkitMaskSize: string; + /** @deprecated */ + webkitOrder: string; + /** @deprecated */ + webkitPerspective: string; + /** @deprecated */ + webkitPerspectiveOrigin: string; + webkitTapHighlightColor: string | null; + /** @deprecated */ + webkitTextFillColor: string; + /** @deprecated */ + webkitTextSizeAdjust: string; + /** @deprecated */ + webkitTextStroke: string; + /** @deprecated */ + webkitTextStrokeColor: string; + /** @deprecated */ + webkitTextStrokeWidth: string; + /** @deprecated */ + webkitTransform: string; + /** @deprecated */ + webkitTransformOrigin: string; + /** @deprecated */ + webkitTransformStyle: string; + /** @deprecated */ + webkitTransition: string; + /** @deprecated */ + webkitTransitionDelay: string; + /** @deprecated */ + webkitTransitionDuration: string; + /** @deprecated */ + webkitTransitionProperty: string; + /** @deprecated */ + webkitTransitionTimingFunction: string; + webkitUserModify: string | null; + webkitUserSelect: string | null; + webkitWritingMode: string | null; + whiteSpace: string | null; + widows: string | null; + width: string | null; + wordBreak: string | null; + wordSpacing: string | null; + wordWrap: string | null; + writingMode: string | null; + zIndex: string | null; + zoom: string | null; + getPropertyPriority(propertyName: string): string; + getPropertyValue(propertyName: string): string; + item(index: number): string; + removeProperty(propertyName: string): string; + setProperty(propertyName: string, value: string | null, priority?: string | null): void; + [index: number]: string; +} + +declare var CSSStyleDeclaration: { + prototype: CSSStyleDeclaration; + new(): CSSStyleDeclaration; +}; + +interface CSSStyleRule extends CSSRule { + selectorText: string; + readonly style: CSSStyleDeclaration; +} + +declare var CSSStyleRule: { + prototype: CSSStyleRule; + new(): CSSStyleRule; +}; + +interface CSSStyleSheet extends StyleSheet { + readonly cssRules: CSSRuleList; + /** @deprecated */ + cssText: string; + /** @deprecated */ + readonly id: string; + /** @deprecated */ + readonly imports: StyleSheetList; + /** @deprecated */ + readonly isAlternate: boolean; + /** @deprecated */ + readonly isPrefAlternate: boolean; + readonly ownerRule: CSSRule | null; + /** @deprecated */ + readonly owningElement: Element; + /** @deprecated */ + readonly pages: any; + /** @deprecated */ + readonly readOnly: boolean; + readonly rules: CSSRuleList; + /** @deprecated */ + addImport(bstrURL: string, lIndex?: number): number; + /** @deprecated */ + addPageRule(bstrSelector: string, bstrStyle: string, lIndex?: number): number; + addRule(bstrSelector: string, bstrStyle?: string, lIndex?: number): number; + deleteRule(index?: number): void; + insertRule(rule: string, index?: number): number; + /** @deprecated */ + removeImport(lIndex: number): void; + removeRule(lIndex: number): void; +} + +declare var CSSStyleSheet: { + prototype: CSSStyleSheet; + new(): CSSStyleSheet; +}; + +interface CSSSupportsRule extends CSSConditionRule { +} + +declare var CSSSupportsRule: { + prototype: CSSSupportsRule; + new(): CSSSupportsRule; +}; + +interface Cache { + add(request: RequestInfo): Promise; + addAll(requests: RequestInfo[]): Promise; + delete(request: RequestInfo, options?: CacheQueryOptions): Promise; + keys(request?: RequestInfo, options?: CacheQueryOptions): Promise>; + match(request: RequestInfo, options?: CacheQueryOptions): Promise; + matchAll(request?: RequestInfo, options?: CacheQueryOptions): Promise>; + put(request: RequestInfo, response: Response): Promise; +} + +declare var Cache: { + prototype: Cache; + new(): Cache; +}; + +interface CacheStorage { + delete(cacheName: string): Promise; + has(cacheName: string): Promise; + keys(): Promise; + match(request: RequestInfo, options?: CacheQueryOptions): Promise; + open(cacheName: string): Promise; +} + +declare var CacheStorage: { + prototype: CacheStorage; + new(): CacheStorage; +}; + +interface CanvasCompositing { + globalAlpha: number; + globalCompositeOperation: string; +} + +interface CanvasDrawImage { + drawImage(image: CanvasImageSource, dx: number, dy: number): void; + drawImage(image: CanvasImageSource, dx: number, dy: number, dw: number, dh: number): void; + drawImage(image: CanvasImageSource, sx: number, sy: number, sw: number, sh: number, dx: number, dy: number, dw: number, dh: number): void; +} + +interface CanvasDrawPath { + beginPath(): void; + clip(fillRule?: CanvasFillRule): void; + clip(path: Path2D, fillRule?: CanvasFillRule): void; + fill(fillRule?: CanvasFillRule): void; + fill(path: Path2D, fillRule?: CanvasFillRule): void; + isPointInPath(x: number, y: number, fillRule?: CanvasFillRule): boolean; + isPointInPath(path: Path2D, x: number, y: number, fillRule?: CanvasFillRule): boolean; + isPointInStroke(x: number, y: number): boolean; + isPointInStroke(path: Path2D, x: number, y: number): boolean; + stroke(): void; + stroke(path: Path2D): void; +} + +interface CanvasFillStrokeStyles { + fillStyle: string | CanvasGradient | CanvasPattern; + strokeStyle: string | CanvasGradient | CanvasPattern; + createLinearGradient(x0: number, y0: number, x1: number, y1: number): CanvasGradient; + createPattern(image: CanvasImageSource, repetition: string): CanvasPattern | null; + createRadialGradient(x0: number, y0: number, r0: number, x1: number, y1: number, r1: number): CanvasGradient; +} + +interface CanvasFilters { + filter: string; +} + +interface CanvasGradient { + /** + * Adds a color stop with the given color to the gradient at the given offset. 0.0 is the offset + * at one end of the gradient, 1.0 is the offset at the other end. + * Throws an "IndexSizeError" DOMException if the offset + * is out of range. Throws a "SyntaxError" DOMException if + * the color cannot be parsed. + */ + addColorStop(offset: number, color: string): void; +} + +declare var CanvasGradient: { + prototype: CanvasGradient; + new(): CanvasGradient; +}; + +interface CanvasImageData { + createImageData(sw: number, sh: number): ImageData; + createImageData(imagedata: ImageData): ImageData; + getImageData(sx: number, sy: number, sw: number, sh: number): ImageData; + putImageData(imagedata: ImageData, dx: number, dy: number): void; + putImageData(imagedata: ImageData, dx: number, dy: number, dirtyX: number, dirtyY: number, dirtyWidth: number, dirtyHeight: number): void; +} + +interface CanvasImageSmoothing { + imageSmoothingEnabled: boolean; + imageSmoothingQuality: ImageSmoothingQuality; +} + +interface CanvasPath { + arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, anticlockwise?: boolean): void; + arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void; + bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void; + closePath(): void; + ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number, anticlockwise?: boolean): void; + lineTo(x: number, y: number): void; + moveTo(x: number, y: number): void; + quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void; + rect(x: number, y: number, w: number, h: number): void; +} + +interface CanvasPathDrawingStyles { + lineCap: CanvasLineCap; + lineDashOffset: number; + lineJoin: CanvasLineJoin; + lineWidth: number; + miterLimit: number; + getLineDash(): number[]; + setLineDash(segments: number[]): void; +} + +interface CanvasPattern { + /** + * Sets the transformation matrix that will be used when rendering the pattern during a fill or + * stroke painting operation. + */ + setTransform(transform?: DOMMatrix2DInit): void; +} + +declare var CanvasPattern: { + prototype: CanvasPattern; + new(): CanvasPattern; +}; + +interface CanvasRect { + clearRect(x: number, y: number, w: number, h: number): void; + fillRect(x: number, y: number, w: number, h: number): void; + strokeRect(x: number, y: number, w: number, h: number): void; +} + +interface CanvasRenderingContext2D extends CanvasState, CanvasTransform, CanvasCompositing, CanvasImageSmoothing, CanvasFillStrokeStyles, CanvasShadowStyles, CanvasFilters, CanvasRect, CanvasDrawPath, CanvasUserInterface, CanvasText, CanvasDrawImage, CanvasImageData, CanvasPathDrawingStyles, CanvasTextDrawingStyles, CanvasPath { + readonly canvas: HTMLCanvasElement; +} + +declare var CanvasRenderingContext2D: { + prototype: CanvasRenderingContext2D; + new(): CanvasRenderingContext2D; +}; + +interface CanvasShadowStyles { + shadowBlur: number; + shadowColor: string; + shadowOffsetX: number; + shadowOffsetY: number; +} + +interface CanvasState { + restore(): void; + save(): void; +} + +interface CanvasText { + fillText(text: string, x: number, y: number, maxWidth?: number): void; + measureText(text: string): TextMetrics; + strokeText(text: string, x: number, y: number, maxWidth?: number): void; +} + +interface CanvasTextDrawingStyles { + direction: CanvasDirection; + font: string; + textAlign: CanvasTextAlign; + textBaseline: CanvasTextBaseline; +} + +interface CanvasTransform { + getTransform(): DOMMatrix; + resetTransform(): void; + rotate(angle: number): void; + scale(x: number, y: number): void; + setTransform(a: number, b: number, c: number, d: number, e: number, f: number): void; + setTransform(transform?: DOMMatrix2DInit): void; + transform(a: number, b: number, c: number, d: number, e: number, f: number): void; + translate(x: number, y: number): void; +} + +interface CanvasUserInterface { + drawFocusIfNeeded(element: Element): void; + drawFocusIfNeeded(path: Path2D, element: Element): void; + scrollPathIntoView(): void; + scrollPathIntoView(path: Path2D): void; +} + +interface CaretPosition { + readonly offset: number; + readonly offsetNode: Node; + getClientRect(): DOMRect | null; +} + +declare var CaretPosition: { + prototype: CaretPosition; + new(): CaretPosition; +}; + +interface ChannelMergerNode extends AudioNode { +} + +declare var ChannelMergerNode: { + prototype: ChannelMergerNode; + new(context: BaseAudioContext, options?: ChannelMergerOptions): ChannelMergerNode; +}; + +interface ChannelSplitterNode extends AudioNode { +} + +declare var ChannelSplitterNode: { + prototype: ChannelSplitterNode; + new(context: BaseAudioContext, options?: ChannelSplitterOptions): ChannelSplitterNode; +}; + +interface CharacterData extends Node, NonDocumentTypeChildNode, ChildNode { + data: string; + readonly length: number; + appendData(data: string): void; + deleteData(offset: number, count: number): void; + insertData(offset: number, data: string): void; + replaceData(offset: number, count: number, data: string): void; + substringData(offset: number, count: number): string; +} + +declare var CharacterData: { + prototype: CharacterData; + new(): CharacterData; +}; + +interface ChildNode extends Node { + /** + * Inserts nodes just after node, while replacing strings in nodes with equivalent Text nodes. + * Throws a "HierarchyRequestError" DOMException if the constraints of + * the node tree are violated. + */ + after(...nodes: (Node | string)[]): void; + /** + * Inserts nodes just before node, while replacing strings in nodes with equivalent Text nodes. + * Throws a "HierarchyRequestError" DOMException if the constraints of + * the node tree are violated. + */ + before(...nodes: (Node | string)[]): void; + /** + * Removes node. + */ + remove(): void; + /** + * Replaces node with nodes, while replacing strings in nodes with equivalent Text nodes. + * Throws a "HierarchyRequestError" DOMException if the constraints of + * the node tree are violated. + */ + replaceWith(...nodes: (Node | string)[]): void; +} + +interface ClientRect { + bottom: number; + readonly height: number; + left: number; + right: number; + top: number; + readonly width: number; +} + +declare var ClientRect: { + prototype: ClientRect; + new(): ClientRect; +}; + +interface ClientRectList { + readonly length: number; + item(index: number): ClientRect; + [index: number]: ClientRect; +} + +declare var ClientRectList: { + prototype: ClientRectList; + new(): ClientRectList; +}; + +interface ClipboardEvent extends Event { + readonly clipboardData: DataTransfer; +} + +declare var ClipboardEvent: { + prototype: ClipboardEvent; + new(type: string, eventInitDict?: ClipboardEventInit): ClipboardEvent; +}; + +interface ClipboardEventInit extends EventInit { + data?: string; + dataType?: string; +} + +interface CloseEvent extends Event { + readonly code: number; + readonly reason: string; + readonly wasClean: boolean; + /** @deprecated */ + initCloseEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, wasCleanArg: boolean, codeArg: number, reasonArg: string): void; +} + +declare var CloseEvent: { + prototype: CloseEvent; + new(type: string, eventInitDict?: CloseEventInit): CloseEvent; +}; + +interface Comment extends CharacterData { +} + +declare var Comment: { + prototype: Comment; + new(data?: string): Comment; +}; + +interface CompositionEvent extends UIEvent { + readonly data: string; + readonly locale: string; + initCompositionEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, dataArg: string, locale: string): void; +} + +declare var CompositionEvent: { + prototype: CompositionEvent; + new(typeArg: string, eventInitDict?: CompositionEventInit): CompositionEvent; +}; + +interface ConcatParams extends Algorithm { + algorithmId: Uint8Array; + hash?: string | Algorithm; + partyUInfo: Uint8Array; + partyVInfo: Uint8Array; + privateInfo?: Uint8Array; + publicInfo?: Uint8Array; +} + +interface Console { + memory: any; + assert(condition?: boolean, message?: string, ...data: any[]): void; + clear(): void; + count(label?: string): void; + debug(message?: any, ...optionalParams: any[]): void; + dir(value?: any, ...optionalParams: any[]): void; + dirxml(value: any): void; + error(message?: any, ...optionalParams: any[]): void; + exception(message?: string, ...optionalParams: any[]): void; + group(groupTitle?: string, ...optionalParams: any[]): void; + groupCollapsed(groupTitle?: string, ...optionalParams: any[]): void; + groupEnd(): void; + info(message?: any, ...optionalParams: any[]): void; + log(message?: any, ...optionalParams: any[]): void; + markTimeline(label?: string): void; + profile(reportName?: string): void; + profileEnd(reportName?: string): void; + table(...tabularData: any[]): void; + time(label?: string): void; + timeEnd(label?: string): void; + timeStamp(label?: string): void; + timeline(label?: string): void; + timelineEnd(label?: string): void; + trace(message?: any, ...optionalParams: any[]): void; + warn(message?: any, ...optionalParams: any[]): void; +} + +declare var Console: { + prototype: Console; + new(): Console; +}; + +interface ConstantSourceNode extends AudioScheduledSourceNode { + readonly offset: AudioParam; + addEventListener(type: K, listener: (this: ConstantSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: ConstantSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var ConstantSourceNode: { + prototype: ConstantSourceNode; + new(context: BaseAudioContext, options?: ConstantSourceOptions): ConstantSourceNode; +}; + +interface ConvolverNode extends AudioNode { + buffer: AudioBuffer | null; + normalize: boolean; +} + +declare var ConvolverNode: { + prototype: ConvolverNode; + new(context: BaseAudioContext, options?: ConvolverOptions): ConvolverNode; +}; + +interface Coordinates { + readonly accuracy: number; + readonly altitude: number | null; + readonly altitudeAccuracy: number | null; + readonly heading: number | null; + readonly latitude: number; + readonly longitude: number; + readonly speed: number | null; +} + +interface CountQueuingStrategy extends QueuingStrategy { + highWaterMark: number; + size(chunk: any): 1; +} + +declare var CountQueuingStrategy: { + prototype: CountQueuingStrategy; + new(options: { highWaterMark: number }): CountQueuingStrategy; +}; + +interface Crypto { + readonly subtle: SubtleCrypto; + getRandomValues(array: T): T; +} + +declare var Crypto: { + prototype: Crypto; + new(): Crypto; +}; + +interface CryptoKey { + readonly algorithm: KeyAlgorithm; + readonly extractable: boolean; + readonly type: KeyType; + readonly usages: KeyUsage[]; +} + +declare var CryptoKey: { + prototype: CryptoKey; + new(): CryptoKey; +}; + +interface CryptoKeyPair { + privateKey: CryptoKey; + publicKey: CryptoKey; +} + +declare var CryptoKeyPair: { + prototype: CryptoKeyPair; + new(): CryptoKeyPair; +}; + +interface CustomElementRegistry { + define(name: string, constructor: Function, options?: ElementDefinitionOptions): void; + get(name: string): any; + upgrade(root: Node): void; + whenDefined(name: string): Promise; +} + +declare var CustomElementRegistry: { + prototype: CustomElementRegistry; + new(): CustomElementRegistry; +}; + +interface CustomEvent extends Event { + /** + * Returns any custom data event was created with. + * Typically used for synthetic events. + */ + readonly detail: T; + initCustomEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, detailArg: T): void; +} + +declare var CustomEvent: { + prototype: CustomEvent; + new(typeArg: string, eventInitDict?: CustomEventInit): CustomEvent; +}; + +interface DOMError { + readonly name: string; + toString(): string; +} + +declare var DOMError: { + prototype: DOMError; + new(): DOMError; +}; + +interface DOMException { + readonly code: number; + readonly message: string; + readonly name: string; + readonly ABORT_ERR: number; + readonly DATA_CLONE_ERR: number; + readonly DOMSTRING_SIZE_ERR: number; + readonly HIERARCHY_REQUEST_ERR: number; + readonly INDEX_SIZE_ERR: number; + readonly INUSE_ATTRIBUTE_ERR: number; + readonly INVALID_ACCESS_ERR: number; + readonly INVALID_CHARACTER_ERR: number; + readonly INVALID_MODIFICATION_ERR: number; + readonly INVALID_NODE_TYPE_ERR: number; + readonly INVALID_STATE_ERR: number; + readonly NAMESPACE_ERR: number; + readonly NETWORK_ERR: number; + readonly NOT_FOUND_ERR: number; + readonly NOT_SUPPORTED_ERR: number; + readonly NO_DATA_ALLOWED_ERR: number; + readonly NO_MODIFICATION_ALLOWED_ERR: number; + readonly QUOTA_EXCEEDED_ERR: number; + readonly SECURITY_ERR: number; + readonly SYNTAX_ERR: number; + readonly TIMEOUT_ERR: number; + readonly TYPE_MISMATCH_ERR: number; + readonly URL_MISMATCH_ERR: number; + readonly VALIDATION_ERR: number; + readonly WRONG_DOCUMENT_ERR: number; +} + +declare var DOMException: { + prototype: DOMException; + new(message?: string, name?: string): DOMException; + readonly ABORT_ERR: number; + readonly DATA_CLONE_ERR: number; + readonly DOMSTRING_SIZE_ERR: number; + readonly HIERARCHY_REQUEST_ERR: number; + readonly INDEX_SIZE_ERR: number; + readonly INUSE_ATTRIBUTE_ERR: number; + readonly INVALID_ACCESS_ERR: number; + readonly INVALID_CHARACTER_ERR: number; + readonly INVALID_MODIFICATION_ERR: number; + readonly INVALID_NODE_TYPE_ERR: number; + readonly INVALID_STATE_ERR: number; + readonly NAMESPACE_ERR: number; + readonly NETWORK_ERR: number; + readonly NOT_FOUND_ERR: number; + readonly NOT_SUPPORTED_ERR: number; + readonly NO_DATA_ALLOWED_ERR: number; + readonly NO_MODIFICATION_ALLOWED_ERR: number; + readonly QUOTA_EXCEEDED_ERR: number; + readonly SECURITY_ERR: number; + readonly SYNTAX_ERR: number; + readonly TIMEOUT_ERR: number; + readonly TYPE_MISMATCH_ERR: number; + readonly URL_MISMATCH_ERR: number; + readonly VALIDATION_ERR: number; + readonly WRONG_DOCUMENT_ERR: number; +}; + +interface DOMImplementation { + createDocument(namespaceURI: string | null, qualifiedName: string | null, doctype: DocumentType | null): Document; + createDocumentType(qualifiedName: string, publicId: string, systemId: string): DocumentType; + createHTMLDocument(title?: string): Document; + /** @deprecated */ + hasFeature(...args: any[]): true; +} + +declare var DOMImplementation: { + prototype: DOMImplementation; + new(): DOMImplementation; +}; + +interface DOML2DeprecatedColorProperty { + color: string; +} + +interface DOMMatrix extends DOMMatrixReadOnly { + a: number; + b: number; + c: number; + d: number; + e: number; + f: number; + m11: number; + m12: number; + m13: number; + m14: number; + m21: number; + m22: number; + m23: number; + m24: number; + m31: number; + m32: number; + m33: number; + m34: number; + m41: number; + m42: number; + m43: number; + m44: number; + invertSelf(): DOMMatrix; + multiplySelf(other?: DOMMatrixInit): DOMMatrix; + preMultiplySelf(other?: DOMMatrixInit): DOMMatrix; + rotateAxisAngleSelf(x?: number, y?: number, z?: number, angle?: number): DOMMatrix; + rotateFromVectorSelf(x?: number, y?: number): DOMMatrix; + rotateSelf(rotX?: number, rotY?: number, rotZ?: number): DOMMatrix; + scale3dSelf(scale?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; + scaleSelf(scaleX?: number, scaleY?: number, scaleZ?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; + setMatrixValue(transformList: string): DOMMatrix; + skewXSelf(sx?: number): DOMMatrix; + skewYSelf(sy?: number): DOMMatrix; + translateSelf(tx?: number, ty?: number, tz?: number): DOMMatrix; +} + +declare var DOMMatrix: { + prototype: DOMMatrix; + new(init?: string | number[]): DOMMatrix; + fromFloat32Array(array32: Float32Array): DOMMatrix; + fromFloat64Array(array64: Float64Array): DOMMatrix; + fromMatrix(other?: DOMMatrixInit): DOMMatrix; +}; + +type SVGMatrix = DOMMatrix; +declare var SVGMatrix: typeof DOMMatrix; + +type WebKitCSSMatrix = DOMMatrix; +declare var WebKitCSSMatrix: typeof DOMMatrix; + +interface DOMMatrixReadOnly { + readonly a: number; + readonly b: number; + readonly c: number; + readonly d: number; + readonly e: number; + readonly f: number; + readonly is2D: boolean; + readonly isIdentity: boolean; + readonly m11: number; + readonly m12: number; + readonly m13: number; + readonly m14: number; + readonly m21: number; + readonly m22: number; + readonly m23: number; + readonly m24: number; + readonly m31: number; + readonly m32: number; + readonly m33: number; + readonly m34: number; + readonly m41: number; + readonly m42: number; + readonly m43: number; + readonly m44: number; + flipX(): DOMMatrix; + flipY(): DOMMatrix; + inverse(): DOMMatrix; + multiply(other?: DOMMatrixInit): DOMMatrix; + rotate(rotX?: number, rotY?: number, rotZ?: number): DOMMatrix; + rotateAxisAngle(x?: number, y?: number, z?: number, angle?: number): DOMMatrix; + rotateFromVector(x?: number, y?: number): DOMMatrix; + scale(scaleX?: number, scaleY?: number, scaleZ?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; + scale3d(scale?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; + skewX(sx?: number): DOMMatrix; + skewY(sy?: number): DOMMatrix; + toFloat32Array(): Float32Array; + toFloat64Array(): Float64Array; + toJSON(): any; + transformPoint(point?: DOMPointInit): DOMPoint; + translate(tx?: number, ty?: number, tz?: number): DOMMatrix; +} + +declare var DOMMatrixReadOnly: { + prototype: DOMMatrixReadOnly; + new(init?: string | number[]): DOMMatrixReadOnly; + fromFloat32Array(array32: Float32Array): DOMMatrixReadOnly; + fromFloat64Array(array64: Float64Array): DOMMatrixReadOnly; + fromMatrix(other?: DOMMatrixInit): DOMMatrixReadOnly; +}; + +interface DOMParser { + parseFromString(str: string, type: SupportedType): Document; +} + +declare var DOMParser: { + prototype: DOMParser; + new(): DOMParser; +}; + +interface DOMPoint extends DOMPointReadOnly { + w: number; + x: number; + y: number; + z: number; +} + +declare var DOMPoint: { + prototype: DOMPoint; + new(x?: number, y?: number, z?: number, w?: number): DOMPoint; + fromPoint(other?: DOMPointInit): DOMPoint; +}; + +type SVGPoint = DOMPoint; +declare var SVGPoint: typeof DOMPoint; + +interface DOMPointReadOnly { + readonly w: number; + readonly x: number; + readonly y: number; + readonly z: number; + matrixTransform(matrix?: DOMMatrixInit): DOMPoint; + toJSON(): any; +} + +declare var DOMPointReadOnly: { + prototype: DOMPointReadOnly; + new(x?: number, y?: number, z?: number, w?: number): DOMPointReadOnly; + fromPoint(other?: DOMPointInit): DOMPointReadOnly; +}; + +interface DOMQuad { + readonly p1: DOMPoint; + readonly p2: DOMPoint; + readonly p3: DOMPoint; + readonly p4: DOMPoint; + getBounds(): DOMRect; + toJSON(): any; +} + +declare var DOMQuad: { + prototype: DOMQuad; + new(p1?: DOMPointInit, p2?: DOMPointInit, p3?: DOMPointInit, p4?: DOMPointInit): DOMQuad; + fromQuad(other?: DOMQuadInit): DOMQuad; + fromRect(other?: DOMRectInit): DOMQuad; +}; + +interface DOMRect extends DOMRectReadOnly { + height: number; + width: number; + x: number; + y: number; +} + +declare var DOMRect: { + prototype: DOMRect; + new(x?: number, y?: number, width?: number, height?: number): DOMRect; + fromRect(other?: DOMRectInit): DOMRect; +}; + +type SVGRect = DOMRect; +declare var SVGRect: typeof DOMRect; + +interface DOMRectList { + readonly length: number; + item(index: number): DOMRect | null; + [index: number]: DOMRect; +} + +declare var DOMRectList: { + prototype: DOMRectList; + new(): DOMRectList; +}; + +interface DOMRectReadOnly { + readonly bottom: number; + readonly height: number; + readonly left: number; + readonly right: number; + readonly top: number; + readonly width: number; + readonly x: number; + readonly y: number; + toJSON(): any; +} + +declare var DOMRectReadOnly: { + prototype: DOMRectReadOnly; + new(x?: number, y?: number, width?: number, height?: number): DOMRectReadOnly; + fromRect(other?: DOMRectInit): DOMRectReadOnly; +}; + +interface DOMSettableTokenList extends DOMTokenList { + value: string; +} + +declare var DOMSettableTokenList: { + prototype: DOMSettableTokenList; + new(): DOMSettableTokenList; +}; + +interface DOMStringList { + /** + * Returns the number of strings in strings. + */ + readonly length: number; + /** + * Returns true if strings contains string, and false + * otherwise. + */ + contains(string: string): boolean; + /** + * Returns the string with index index from strings. + */ + item(index: number): string | null; + [index: number]: string; +} + +declare var DOMStringList: { + prototype: DOMStringList; + new(): DOMStringList; +}; + +interface DOMStringMap { + [name: string]: string | undefined; +} + +declare var DOMStringMap: { + prototype: DOMStringMap; + new(): DOMStringMap; +}; + +interface DOMTokenList { + /** + * Returns the number of tokens. + */ + readonly length: number; + /** + * Returns the associated set as string. + * Can be set, to change the associated attribute. + */ + value: string; + /** + * Adds all arguments passed, except those already present. + * Throws a "SyntaxError" DOMException if one of the arguments is the empty + * string. + * Throws an "InvalidCharacterError" DOMException if one of the arguments + * contains any ASCII whitespace. + */ + add(...tokens: string[]): void; + /** + * Returns true if token is present, and false otherwise. + */ + contains(token: string): boolean; + /** + * tokenlist[index] + */ + item(index: number): string | null; + /** + * Removes arguments passed, if they are present. + * Throws a "SyntaxError" DOMException if one of the arguments is the empty + * string. + * Throws an "InvalidCharacterError" DOMException if one of the arguments + * contains any ASCII whitespace. + */ + remove(...tokens: string[]): void; + /** + * Replaces token with newToken. + * Returns true if token was replaced with newToken, and false otherwise. + * Throws a "SyntaxError" DOMException if one of the arguments is the empty + * string. + * Throws an "InvalidCharacterError" DOMException if one of the arguments + * contains any ASCII whitespace. + */ + replace(oldToken: string, newToken: string): void; + /** + * Returns true if token is in the associated attribute's supported tokens. Returns + * false otherwise. + * Throws a TypeError if the associated attribute has no supported tokens defined. + */ + supports(token: string): boolean; + toggle(token: string, force?: boolean): boolean; + forEach(callbackfn: (value: string, key: number, parent: DOMTokenList) => void, thisArg?: any): void; + [index: number]: string; +} + +declare var DOMTokenList: { + prototype: DOMTokenList; + new(): DOMTokenList; +}; + +interface DataCue extends TextTrackCue { + data: ArrayBuffer; + addEventListener(type: K, listener: (this: DataCue, ev: TextTrackCueEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: DataCue, ev: TextTrackCueEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var DataCue: { + prototype: DataCue; + new(): DataCue; +}; + +interface DataTransfer { + dropEffect: string; + effectAllowed: string; + /** + * Returns a FileList of the files being dragged, if any. + */ + readonly files: FileList; + /** + * Returns a DataTransferItemList object, with the drag data. + */ + readonly items: DataTransferItemList; + /** + * Returns a frozen array listing the formats that were set in the dragstart event. In addition, if any files are being + * dragged, then one of the types will be the string "Files". + */ + readonly types: ReadonlyArray; + /** + * Removes the data of the specified formats. Removes all data if the argument is omitted. + */ + clearData(format?: string): void; + /** + * Returns the specified data. If there is no such data, returns the empty string. + */ + getData(format: string): string; + /** + * Adds the specified data. + */ + setData(format: string, data: string): void; + /** + * Uses the given element to update the drag feedback, replacing any previously specified + * feedback. + */ + setDragImage(image: Element, x: number, y: number): void; +} + +declare var DataTransfer: { + prototype: DataTransfer; + new(): DataTransfer; +}; + +interface DataTransferItem { + /** + * Returns the drag data item kind, one of: "string", + * "file". + */ + readonly kind: string; + /** + * Returns the drag data item type string. + */ + readonly type: string; + /** + * Returns a File object, if the drag data item kind is File. + */ + getAsFile(): File | null; + /** + * Invokes the callback with the string data as the argument, if the drag data item + * kind is Plain Unicode string. + */ + getAsString(callback: FunctionStringCallback | null): void; + webkitGetAsEntry(): any; +} + +declare var DataTransferItem: { + prototype: DataTransferItem; + new(): DataTransferItem; +}; + +interface DataTransferItemList { + /** + * Returns the number of items in the drag data store. + */ + readonly length: number; + /** + * Adds a new entry for the given data to the drag data store. If the data is plain + * text then a type string has to be provided + * also. + */ + add(data: string, type: string): DataTransferItem | null; + add(data: File): DataTransferItem | null; + /** + * Removes all the entries in the drag data store. + */ + clear(): void; + item(index: number): DataTransferItem; + /** + * Removes the indexth entry in the drag data store. + */ + remove(index: number): void; + [name: number]: DataTransferItem; +} + +declare var DataTransferItemList: { + prototype: DataTransferItemList; + new(): DataTransferItemList; +}; + +interface DeferredPermissionRequest { + readonly id: number; + readonly type: MSWebViewPermissionType; + readonly uri: string; + allow(): void; + deny(): void; +} + +declare var DeferredPermissionRequest: { + prototype: DeferredPermissionRequest; + new(): DeferredPermissionRequest; +}; + +interface DelayNode extends AudioNode { + readonly delayTime: AudioParam; +} + +declare var DelayNode: { + prototype: DelayNode; + new(context: BaseAudioContext, options?: DelayOptions): DelayNode; +}; + +interface DeviceAcceleration { + readonly x: number | null; + readonly y: number | null; + readonly z: number | null; +} + +declare var DeviceAcceleration: { + prototype: DeviceAcceleration; + new(): DeviceAcceleration; +}; + +interface DeviceLightEvent extends Event { + readonly value: number; +} + +declare var DeviceLightEvent: { + prototype: DeviceLightEvent; + new(typeArg: string, eventInitDict?: DeviceLightEventInit): DeviceLightEvent; +}; + +interface DeviceMotionEvent extends Event { + readonly acceleration: DeviceAcceleration | null; + readonly accelerationIncludingGravity: DeviceAcceleration | null; + readonly interval: number | null; + readonly rotationRate: DeviceRotationRate | null; + initDeviceMotionEvent(type: string, bubbles: boolean, cancelable: boolean, acceleration: DeviceAccelerationDict | null, accelerationIncludingGravity: DeviceAccelerationDict | null, rotationRate: DeviceRotationRateDict | null, interval: number | null): void; +} + +declare var DeviceMotionEvent: { + prototype: DeviceMotionEvent; + new(typeArg: string, eventInitDict?: DeviceMotionEventInit): DeviceMotionEvent; +}; + +interface DeviceOrientationEvent extends Event { + readonly absolute: boolean; + readonly alpha: number | null; + readonly beta: number | null; + readonly gamma: number | null; + initDeviceOrientationEvent(type: string, bubbles: boolean, cancelable: boolean, alpha: number | null, beta: number | null, gamma: number | null, absolute: boolean): void; +} + +declare var DeviceOrientationEvent: { + prototype: DeviceOrientationEvent; + new(typeArg: string, eventInitDict?: DeviceOrientationEventInit): DeviceOrientationEvent; +}; + +interface DeviceRotationRate { + readonly alpha: number | null; + readonly beta: number | null; + readonly gamma: number | null; +} + +declare var DeviceRotationRate: { + prototype: DeviceRotationRate; + new(): DeviceRotationRate; +}; + +interface DhImportKeyParams extends Algorithm { + generator: Uint8Array; + prime: Uint8Array; +} + +interface DhKeyAlgorithm extends KeyAlgorithm { + generator: Uint8Array; + prime: Uint8Array; +} + +interface DhKeyDeriveParams extends Algorithm { + public: CryptoKey; +} + +interface DhKeyGenParams extends Algorithm { + generator: Uint8Array; + prime: Uint8Array; +} + +interface DocumentEventMap extends GlobalEventHandlersEventMap, DocumentAndElementEventHandlersEventMap { + "fullscreenchange": Event; + "fullscreenerror": Event; + "readystatechange": ProgressEvent; + "visibilitychange": Event; +} + +interface Document extends Node, NonElementParentNode, DocumentOrShadowRoot, ParentNode, GlobalEventHandlers, DocumentAndElementEventHandlers { + /** + * Sets or gets the URL for the current document. + */ + readonly URL: string; + /** + * Gets the object that has the focus when the parent document has focus. + */ + readonly activeElement: Element | null; + /** + * Sets or gets the color of all active links in the document. + */ + /** @deprecated */ + alinkColor: string; + /** + * Returns a reference to the collection of elements contained by the object. + */ + /** @deprecated */ + readonly all: HTMLAllCollection; + /** + * Retrieves a collection of all a objects that have a name and/or id property. Objects in this collection are in HTML source order. + */ + /** @deprecated */ + readonly anchors: HTMLCollectionOf; + /** + * Retrieves a collection of all applet objects in the document. + */ + /** @deprecated */ + readonly applets: HTMLCollectionOf; + /** + * Deprecated. Sets or retrieves a value that indicates the background color behind the object. + */ + /** @deprecated */ + bgColor: string; + /** + * Specifies the beginning and end of the document body. + */ + body: HTMLElement; + /** + * Returns document's encoding. + */ + readonly characterSet: string; + /** + * Gets or sets the character set used to encode the object. + */ + readonly charset: string; + /** + * Gets a value that indicates whether standards-compliant mode is switched on for the object. + */ + readonly compatMode: string; + /** + * Returns document's content type. + */ + readonly contentType: string; + /** + * Returns the HTTP cookies that apply to the Document. If there are no cookies or + * cookies can't be applied to this resource, the empty string will be returned. + * Can be set, to add a new cookie to the element's set of HTTP cookies. + * If the contents are sandboxed into a + * unique origin (e.g. in an iframe with the sandbox attribute), a + * "SecurityError" DOMException will be thrown on getting + * and setting. + */ + cookie: string; + /** + * Returns the script element, or the SVG script element, + * that is currently executing, as long as the element represents a classic script. + * In the case of reentrant script execution, returns the one that most recently started executing + * amongst those that have not yet finished executing. + * Returns null if the Document is not currently executing a script + * or SVG script element (e.g., because the running script is an event + * handler, or a timeout), or if the currently executing script or SVG + * script element represents a module script. + */ + readonly currentScript: HTMLOrSVGScriptElement | null; + readonly defaultView: WindowProxy | null; + /** + * Sets or gets a value that indicates whether the document can be edited. + */ + designMode: string; + /** + * Sets or retrieves a value that indicates the reading order of the object. + */ + dir: string; + /** + * Gets an object representing the document type declaration associated with the current document. + */ + readonly doctype: DocumentType | null; + /** + * Gets a reference to the root node of the document. + */ + readonly documentElement: HTMLElement; + /** + * Returns document's URL. + */ + readonly documentURI: string; + /** + * Sets or gets the security domain of the document. + */ + domain: string; + /** + * Retrieves a collection of all embed objects in the document. + */ + readonly embeds: HTMLCollectionOf; + /** + * Sets or gets the foreground (text) color of the document. + */ + /** @deprecated */ + fgColor: string; + /** + * Retrieves a collection, in source order, of all form objects in the document. + */ + readonly forms: HTMLCollectionOf; + /** @deprecated */ + readonly fullscreen: boolean; + /** + * Returns true if document has the ability to display elements fullscreen + * and fullscreen is supported, or false otherwise. + */ + readonly fullscreenEnabled: boolean; + /** + * Returns the head element. + */ + readonly head: HTMLHeadElement; + readonly hidden: boolean; + /** + * Retrieves a collection, in source order, of img objects in the document. + */ + readonly images: HTMLCollectionOf; + /** + * Gets the implementation object of the current document. + */ + readonly implementation: DOMImplementation; + /** + * Returns the character encoding used to create the webpage that is loaded into the document object. + */ + readonly inputEncoding: string; + /** + * Gets the date that the page was last modified, if the page supplies one. + */ + readonly lastModified: string; + /** + * Sets or gets the color of the document links. + */ + /** @deprecated */ + linkColor: string; + /** + * Retrieves a collection of all a objects that specify the href property and all area objects in the document. + */ + readonly links: HTMLCollectionOf; + /** + * Contains information about the current URL. + */ + location: Location; + onfullscreenchange: ((this: Document, ev: Event) => any) | null; + onfullscreenerror: ((this: Document, ev: Event) => any) | null; + /** + * Fires when the state of the object has changed. + * @param ev The event + */ + onreadystatechange: ((this: Document, ev: ProgressEvent) => any) | null; + onvisibilitychange: ((this: Document, ev: Event) => any) | null; + /** + * Returns document's origin. + */ + readonly origin: string; + /** + * Return an HTMLCollection of the embed elements in the Document. + */ + readonly plugins: HTMLCollectionOf; + /** + * Retrieves a value that indicates the current state of the object. + */ + readonly readyState: DocumentReadyState; + /** + * Gets the URL of the location that referred the user to the current page. + */ + readonly referrer: string; + /** + * Retrieves a collection of all script objects in the document. + */ + readonly scripts: HTMLCollectionOf; + readonly scrollingElement: Element | null; + readonly timeline: DocumentTimeline; + /** + * Contains the title of the document. + */ + title: string; + readonly visibilityState: VisibilityState; + /** + * Sets or gets the color of the links that the user has visited. + */ + /** @deprecated */ + vlinkColor: string; + /** + * Moves node from another document and returns it. + * If node is a document, throws a "NotSupportedError" DOMException or, if node is a shadow root, throws a + * "HierarchyRequestError" DOMException. + */ + adoptNode(source: T): T; + /** @deprecated */ + captureEvents(): void; + caretPositionFromPoint(x: number, y: number): CaretPosition | null; + /** @deprecated */ + caretRangeFromPoint(x: number, y: number): Range; + /** @deprecated */ + clear(): void; + /** + * Closes an output stream and forces the sent data to display. + */ + close(): void; + /** + * Creates an attribute object with a specified name. + * @param name String that sets the attribute object's name. + */ + createAttribute(localName: string): Attr; + createAttributeNS(namespace: string | null, qualifiedName: string): Attr; + /** + * Returns a CDATASection node whose data is data. + */ + createCDATASection(data: string): CDATASection; + /** + * Creates a comment object with the specified data. + * @param data Sets the comment object's data. + */ + createComment(data: string): Comment; + /** + * Creates a new document. + */ + createDocumentFragment(): DocumentFragment; + /** + * Creates an instance of the element for the specified tag. + * @param tagName The name of an element. + */ + createElement(tagName: K, options?: ElementCreationOptions): HTMLElementTagNameMap[K]; + /** @deprecated */ + createElement(tagName: K, options?: ElementCreationOptions): HTMLElementDeprecatedTagNameMap[K]; + createElement(tagName: string, options?: ElementCreationOptions): HTMLElement; + /** + * Returns an element with namespace namespace. Its namespace prefix will be everything before ":" (U+003E) in qualifiedName or null. Its local name will be everything after + * ":" (U+003E) in qualifiedName or qualifiedName. + * If localName does not match the Name production an + * "InvalidCharacterError" DOMException will be thrown. + * If one of the following conditions is true a "NamespaceError" DOMException will be thrown: + * localName does not match the QName production. + * Namespace prefix is not null and namespace is the empty string. + * Namespace prefix is "xml" and namespace is not the XML namespace. + * qualifiedName or namespace prefix is "xmlns" and namespace is not the XMLNS namespace. + * namespace is the XMLNS namespace and + * neither qualifiedName nor namespace prefix is "xmlns". + * When supplied, options's is can be used to create a customized built-in element. + */ + createElementNS(namespaceURI: "http://www.w3.org/1999/xhtml", qualifiedName: string): HTMLElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "a"): SVGAElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "circle"): SVGCircleElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "clipPath"): SVGClipPathElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "componentTransferFunction"): SVGComponentTransferFunctionElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "cursor"): SVGCursorElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "defs"): SVGDefsElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "desc"): SVGDescElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "ellipse"): SVGEllipseElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feBlend"): SVGFEBlendElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feColorMatrix"): SVGFEColorMatrixElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feComponentTransfer"): SVGFEComponentTransferElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feComposite"): SVGFECompositeElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feConvolveMatrix"): SVGFEConvolveMatrixElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feDiffuseLighting"): SVGFEDiffuseLightingElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feDisplacementMap"): SVGFEDisplacementMapElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feDistantLight"): SVGFEDistantLightElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feFlood"): SVGFEFloodElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feFuncA"): SVGFEFuncAElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feFuncB"): SVGFEFuncBElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feFuncG"): SVGFEFuncGElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feFuncR"): SVGFEFuncRElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feGaussianBlur"): SVGFEGaussianBlurElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feImage"): SVGFEImageElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feMerge"): SVGFEMergeElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feMergeNode"): SVGFEMergeNodeElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feMorphology"): SVGFEMorphologyElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feOffset"): SVGFEOffsetElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "fePointLight"): SVGFEPointLightElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feSpecularLighting"): SVGFESpecularLightingElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feSpotLight"): SVGFESpotLightElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feTile"): SVGFETileElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feTurbulence"): SVGFETurbulenceElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "filter"): SVGFilterElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "foreignObject"): SVGForeignObjectElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "g"): SVGGElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "image"): SVGImageElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "gradient"): SVGGradientElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "line"): SVGLineElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "linearGradient"): SVGLinearGradientElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "marker"): SVGMarkerElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "mask"): SVGMaskElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "path"): SVGPathElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "metadata"): SVGMetadataElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "pattern"): SVGPatternElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "polygon"): SVGPolygonElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "polyline"): SVGPolylineElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "radialGradient"): SVGRadialGradientElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "rect"): SVGRectElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "svg"): SVGSVGElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "script"): SVGScriptElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "stop"): SVGStopElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "style"): SVGStyleElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "switch"): SVGSwitchElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "symbol"): SVGSymbolElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "tspan"): SVGTSpanElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "textContent"): SVGTextContentElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "text"): SVGTextElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "textPath"): SVGTextPathElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "textPositioning"): SVGTextPositioningElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "title"): SVGTitleElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "use"): SVGUseElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "view"): SVGViewElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: string): SVGElement; + createElementNS(namespaceURI: string | null, qualifiedName: string, options?: ElementCreationOptions): Element; + createElementNS(namespace: string | null, qualifiedName: string, options?: string | ElementCreationOptions): Element; + createEvent(eventInterface: "AnimationEvent"): AnimationEvent; + createEvent(eventInterface: "AnimationPlaybackEvent"): AnimationPlaybackEvent; + createEvent(eventInterface: "AudioProcessingEvent"): AudioProcessingEvent; + createEvent(eventInterface: "BeforeUnloadEvent"): BeforeUnloadEvent; + createEvent(eventInterface: "ClipboardEvent"): ClipboardEvent; + createEvent(eventInterface: "CloseEvent"): CloseEvent; + createEvent(eventInterface: "CompositionEvent"): CompositionEvent; + createEvent(eventInterface: "CustomEvent"): CustomEvent; + createEvent(eventInterface: "DeviceLightEvent"): DeviceLightEvent; + createEvent(eventInterface: "DeviceMotionEvent"): DeviceMotionEvent; + createEvent(eventInterface: "DeviceOrientationEvent"): DeviceOrientationEvent; + createEvent(eventInterface: "DragEvent"): DragEvent; + createEvent(eventInterface: "ErrorEvent"): ErrorEvent; + createEvent(eventInterface: "Event"): Event; + createEvent(eventInterface: "Events"): Event; + createEvent(eventInterface: "FocusEvent"): FocusEvent; + createEvent(eventInterface: "FocusNavigationEvent"): FocusNavigationEvent; + createEvent(eventInterface: "GamepadEvent"): GamepadEvent; + createEvent(eventInterface: "HashChangeEvent"): HashChangeEvent; + createEvent(eventInterface: "IDBVersionChangeEvent"): IDBVersionChangeEvent; + createEvent(eventInterface: "KeyboardEvent"): KeyboardEvent; + createEvent(eventInterface: "ListeningStateChangedEvent"): ListeningStateChangedEvent; + createEvent(eventInterface: "MSGestureEvent"): MSGestureEvent; + createEvent(eventInterface: "MSMediaKeyMessageEvent"): MSMediaKeyMessageEvent; + createEvent(eventInterface: "MSMediaKeyNeededEvent"): MSMediaKeyNeededEvent; + createEvent(eventInterface: "MSPointerEvent"): MSPointerEvent; + createEvent(eventInterface: "MediaEncryptedEvent"): MediaEncryptedEvent; + createEvent(eventInterface: "MediaKeyMessageEvent"): MediaKeyMessageEvent; + createEvent(eventInterface: "MediaQueryListEvent"): MediaQueryListEvent; + createEvent(eventInterface: "MediaStreamErrorEvent"): MediaStreamErrorEvent; + createEvent(eventInterface: "MediaStreamEvent"): MediaStreamEvent; + createEvent(eventInterface: "MediaStreamTrackEvent"): MediaStreamTrackEvent; + createEvent(eventInterface: "MessageEvent"): MessageEvent; + createEvent(eventInterface: "MouseEvent"): MouseEvent; + createEvent(eventInterface: "MouseEvents"): MouseEvent; + createEvent(eventInterface: "MutationEvent"): MutationEvent; + createEvent(eventInterface: "MutationEvents"): MutationEvent; + createEvent(eventInterface: "OfflineAudioCompletionEvent"): OfflineAudioCompletionEvent; + createEvent(eventInterface: "OverflowEvent"): OverflowEvent; + createEvent(eventInterface: "PageTransitionEvent"): PageTransitionEvent; + createEvent(eventInterface: "PaymentRequestUpdateEvent"): PaymentRequestUpdateEvent; + createEvent(eventInterface: "PermissionRequestedEvent"): PermissionRequestedEvent; + createEvent(eventInterface: "PointerEvent"): PointerEvent; + createEvent(eventInterface: "PopStateEvent"): PopStateEvent; + createEvent(eventInterface: "ProgressEvent"): ProgressEvent; + createEvent(eventInterface: "PromiseRejectionEvent"): PromiseRejectionEvent; + createEvent(eventInterface: "RTCDTMFToneChangeEvent"): RTCDTMFToneChangeEvent; + createEvent(eventInterface: "RTCDataChannelEvent"): RTCDataChannelEvent; + createEvent(eventInterface: "RTCDtlsTransportStateChangedEvent"): RTCDtlsTransportStateChangedEvent; + createEvent(eventInterface: "RTCErrorEvent"): RTCErrorEvent; + createEvent(eventInterface: "RTCIceCandidatePairChangedEvent"): RTCIceCandidatePairChangedEvent; + createEvent(eventInterface: "RTCIceGathererEvent"): RTCIceGathererEvent; + createEvent(eventInterface: "RTCIceTransportStateChangedEvent"): RTCIceTransportStateChangedEvent; + createEvent(eventInterface: "RTCPeerConnectionIceErrorEvent"): RTCPeerConnectionIceErrorEvent; + createEvent(eventInterface: "RTCPeerConnectionIceEvent"): RTCPeerConnectionIceEvent; + createEvent(eventInterface: "RTCSsrcConflictEvent"): RTCSsrcConflictEvent; + createEvent(eventInterface: "RTCStatsEvent"): RTCStatsEvent; + createEvent(eventInterface: "RTCTrackEvent"): RTCTrackEvent; + createEvent(eventInterface: "SVGZoomEvent"): SVGZoomEvent; + createEvent(eventInterface: "SVGZoomEvents"): SVGZoomEvent; + createEvent(eventInterface: "SecurityPolicyViolationEvent"): SecurityPolicyViolationEvent; + createEvent(eventInterface: "ServiceWorkerMessageEvent"): ServiceWorkerMessageEvent; + createEvent(eventInterface: "SpeechRecognitionError"): SpeechRecognitionError; + createEvent(eventInterface: "SpeechRecognitionEvent"): SpeechRecognitionEvent; + createEvent(eventInterface: "SpeechSynthesisErrorEvent"): SpeechSynthesisErrorEvent; + createEvent(eventInterface: "SpeechSynthesisEvent"): SpeechSynthesisEvent; + createEvent(eventInterface: "StorageEvent"): StorageEvent; + createEvent(eventInterface: "TextEvent"): TextEvent; + createEvent(eventInterface: "TouchEvent"): TouchEvent; + createEvent(eventInterface: "TrackEvent"): TrackEvent; + createEvent(eventInterface: "TransitionEvent"): TransitionEvent; + createEvent(eventInterface: "UIEvent"): UIEvent; + createEvent(eventInterface: "UIEvents"): UIEvent; + createEvent(eventInterface: "VRDisplayEvent"): VRDisplayEvent; + createEvent(eventInterface: "VRDisplayEvent "): VRDisplayEvent ; + createEvent(eventInterface: "WebGLContextEvent"): WebGLContextEvent; + createEvent(eventInterface: "WheelEvent"): WheelEvent; + createEvent(eventInterface: string): Event; + /** + * Creates a NodeIterator object that you can use to traverse filtered lists of nodes or elements in a document. + * @param root The root element or node to start traversing on. + * @param whatToShow The type of nodes or elements to appear in the node list + * @param filter A custom NodeFilter function to use. For more information, see filter. Use null for no filter. + * @param entityReferenceExpansion A flag that specifies whether entity reference nodes are expanded. + */ + createNodeIterator(root: Node, whatToShow?: number, filter?: NodeFilter | null): NodeIterator; + /** + * Returns a ProcessingInstruction node whose target is target and data is data. + * If target does not match the Name production an + * "InvalidCharacterError" DOMException will be thrown. + * If data contains "?>" an + * "InvalidCharacterError" DOMException will be thrown. + */ + createProcessingInstruction(target: string, data: string): ProcessingInstruction; + /** + * Returns an empty range object that has both of its boundary points positioned at the beginning of the document. + */ + createRange(): Range; + /** + * Creates a text string from the specified value. + * @param data String that specifies the nodeValue property of the text node. + */ + createTextNode(data: string): Text; + createTouch(view: WindowProxy, target: EventTarget, identifier: number, pageX: number, pageY: number, screenX: number, screenY: number): Touch; + createTouchList(...touches: Touch[]): TouchList; + /** + * Creates a TreeWalker object that you can use to traverse filtered lists of nodes or elements in a document. + * @param root The root element or node to start traversing on. + * @param whatToShow The type of nodes or elements to appear in the node list. For more information, see whatToShow. + * @param filter A custom NodeFilter function to use. + * @param entityReferenceExpansion A flag that specifies whether entity reference nodes are expanded. + */ + createTreeWalker(root: Node, whatToShow?: number, filter?: NodeFilter | null): TreeWalker; + /** @deprecated */ + createTreeWalker(root: Node, whatToShow: number, filter: NodeFilter | null, entityReferenceExpansion?: boolean): TreeWalker; + /** + * Returns the element for the specified x coordinate and the specified y coordinate. + * @param x The x-offset + * @param y The y-offset + */ + elementFromPoint(x: number, y: number): Element | null; + elementsFromPoint(x: number, y: number): Element[]; + evaluate(expression: string, contextNode: Node, resolver: XPathNSResolver | ((prefix: string) => string | null) | null, type: number, result: XPathResult | null): XPathResult; + /** + * Executes a command on the current document, current selection, or the given range. + * @param commandId String that specifies the command to execute. This command can be any of the command identifiers that can be executed in script. + * @param showUI Display the user interface, defaults to false. + * @param value Value to assign. + */ + execCommand(commandId: string, showUI?: boolean, value?: string): boolean; + /** + * Stops document's fullscreen element from being displayed fullscreen and + * resolves promise when done. + */ + exitFullscreen(): Promise; + getAnimations(): Animation[]; + /** + * Returns a reference to the first object with the specified value of the ID or NAME attribute. + * @param elementId String that specifies the ID value. Case-insensitive. + */ + getElementById(elementId: string): HTMLElement | null; + /** + * collection = element . getElementsByClassName(classNames) + */ + getElementsByClassName(classNames: string): HTMLCollectionOf; + /** + * Gets a collection of objects based on the value of the NAME or ID attribute. + * @param elementName Gets a collection of objects based on the value of the NAME or ID attribute. + */ + getElementsByName(elementName: string): NodeListOf; + /** + * Retrieves a collection of objects based on the specified element name. + * @param name Specifies the name of an element. + */ + getElementsByTagName(qualifiedName: K): HTMLCollectionOf; + getElementsByTagName(qualifiedName: K): HTMLCollectionOf; + getElementsByTagName(qualifiedName: string): HTMLCollectionOf; + /** + * If namespace and localName are + * "*" returns a HTMLCollection of all descendant elements. + * If only namespace is "*" returns a HTMLCollection of all descendant elements whose local name is localName. + * If only localName is "*" returns a HTMLCollection of all descendant elements whose namespace is namespace. + * Otherwise, returns a HTMLCollection of all descendant elements whose namespace is namespace and local name is localName. + */ + getElementsByTagNameNS(namespaceURI: "http://www.w3.org/1999/xhtml", localName: string): HTMLCollectionOf; + getElementsByTagNameNS(namespaceURI: "http://www.w3.org/2000/svg", localName: string): HTMLCollectionOf; + getElementsByTagNameNS(namespaceURI: string, localName: string): HTMLCollectionOf; + /** + * Gets a value indicating whether the object currently has focus. + */ + hasFocus(): boolean; + importNode(importedNode: T, deep: boolean): T; + /** + * Opens a new window and loads a document specified by a given URL. Also, opens a new window that uses the url parameter and the name parameter to collect the output of the write method and the writeln method. + * @param url Specifies a MIME type for the document. + * @param name Specifies the name of the window. This name is used as the value for the TARGET attribute on a form or an anchor element. + * @param features Contains a list of items separated by commas. Each item consists of an option and a value, separated by an equals sign (for example, "fullscreen=yes, toolbar=yes"). The following values are supported. + * @param replace Specifies whether the existing entry for the document is replaced in the history list. + */ + open(url?: string, name?: string, features?: string, replace?: boolean): Document; + /** + * Returns a Boolean value that indicates whether a specified command can be successfully executed using execCommand, given the current state of the document. + * @param commandId Specifies a command identifier. + */ + queryCommandEnabled(commandId: string): boolean; + /** + * Returns a Boolean value that indicates whether the specified command is in the indeterminate state. + * @param commandId String that specifies a command identifier. + */ + queryCommandIndeterm(commandId: string): boolean; + /** + * Returns a Boolean value that indicates the current state of the command. + * @param commandId String that specifies a command identifier. + */ + queryCommandState(commandId: string): boolean; + /** + * Returns a Boolean value that indicates whether the current command is supported on the current range. + * @param commandId Specifies a command identifier. + */ + queryCommandSupported(commandId: string): boolean; + /** + * Returns the current value of the document, range, or current selection for the given command. + * @param commandId String that specifies a command identifier. + */ + queryCommandValue(commandId: string): string; + /** @deprecated */ + releaseEvents(): void; + /** + * Writes one or more HTML expressions to a document in the specified window. + * @param content Specifies the text and HTML tags to write. + */ + write(...text: string[]): void; + /** + * Writes one or more HTML expressions, followed by a carriage return, to a document in the specified window. + * @param content The text and HTML tags to write. + */ + writeln(...text: string[]): void; + /** + * Returns an object representing the current selection of the document that is loaded into the object displaying a webpage. + */ + addEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var Document: { + prototype: Document; + new(): Document; +}; + +interface DocumentAndElementEventHandlersEventMap { + "copy": ClipboardEvent; + "cut": ClipboardEvent; + "paste": ClipboardEvent; +} + +interface DocumentAndElementEventHandlers { + oncopy: ((this: DocumentAndElementEventHandlers, ev: ClipboardEvent) => any) | null; + oncut: ((this: DocumentAndElementEventHandlers, ev: ClipboardEvent) => any) | null; + onpaste: ((this: DocumentAndElementEventHandlers, ev: ClipboardEvent) => any) | null; + addEventListener(type: K, listener: (this: DocumentAndElementEventHandlers, ev: DocumentAndElementEventHandlersEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: DocumentAndElementEventHandlers, ev: DocumentAndElementEventHandlersEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +interface DocumentEvent { + createEvent(eventInterface: "AnimationEvent"): AnimationEvent; + createEvent(eventInterface: "AnimationPlaybackEvent"): AnimationPlaybackEvent; + createEvent(eventInterface: "AudioProcessingEvent"): AudioProcessingEvent; + createEvent(eventInterface: "BeforeUnloadEvent"): BeforeUnloadEvent; + createEvent(eventInterface: "ClipboardEvent"): ClipboardEvent; + createEvent(eventInterface: "CloseEvent"): CloseEvent; + createEvent(eventInterface: "CompositionEvent"): CompositionEvent; + createEvent(eventInterface: "CustomEvent"): CustomEvent; + createEvent(eventInterface: "DeviceLightEvent"): DeviceLightEvent; + createEvent(eventInterface: "DeviceMotionEvent"): DeviceMotionEvent; + createEvent(eventInterface: "DeviceOrientationEvent"): DeviceOrientationEvent; + createEvent(eventInterface: "DragEvent"): DragEvent; + createEvent(eventInterface: "ErrorEvent"): ErrorEvent; + createEvent(eventInterface: "Event"): Event; + createEvent(eventInterface: "Events"): Event; + createEvent(eventInterface: "FocusEvent"): FocusEvent; + createEvent(eventInterface: "FocusNavigationEvent"): FocusNavigationEvent; + createEvent(eventInterface: "GamepadEvent"): GamepadEvent; + createEvent(eventInterface: "HashChangeEvent"): HashChangeEvent; + createEvent(eventInterface: "IDBVersionChangeEvent"): IDBVersionChangeEvent; + createEvent(eventInterface: "KeyboardEvent"): KeyboardEvent; + createEvent(eventInterface: "ListeningStateChangedEvent"): ListeningStateChangedEvent; + createEvent(eventInterface: "MSGestureEvent"): MSGestureEvent; + createEvent(eventInterface: "MSMediaKeyMessageEvent"): MSMediaKeyMessageEvent; + createEvent(eventInterface: "MSMediaKeyNeededEvent"): MSMediaKeyNeededEvent; + createEvent(eventInterface: "MSPointerEvent"): MSPointerEvent; + createEvent(eventInterface: "MediaEncryptedEvent"): MediaEncryptedEvent; + createEvent(eventInterface: "MediaKeyMessageEvent"): MediaKeyMessageEvent; + createEvent(eventInterface: "MediaQueryListEvent"): MediaQueryListEvent; + createEvent(eventInterface: "MediaStreamErrorEvent"): MediaStreamErrorEvent; + createEvent(eventInterface: "MediaStreamEvent"): MediaStreamEvent; + createEvent(eventInterface: "MediaStreamTrackEvent"): MediaStreamTrackEvent; + createEvent(eventInterface: "MessageEvent"): MessageEvent; + createEvent(eventInterface: "MouseEvent"): MouseEvent; + createEvent(eventInterface: "MouseEvents"): MouseEvent; + createEvent(eventInterface: "MutationEvent"): MutationEvent; + createEvent(eventInterface: "MutationEvents"): MutationEvent; + createEvent(eventInterface: "OfflineAudioCompletionEvent"): OfflineAudioCompletionEvent; + createEvent(eventInterface: "OverflowEvent"): OverflowEvent; + createEvent(eventInterface: "PageTransitionEvent"): PageTransitionEvent; + createEvent(eventInterface: "PaymentRequestUpdateEvent"): PaymentRequestUpdateEvent; + createEvent(eventInterface: "PermissionRequestedEvent"): PermissionRequestedEvent; + createEvent(eventInterface: "PointerEvent"): PointerEvent; + createEvent(eventInterface: "PopStateEvent"): PopStateEvent; + createEvent(eventInterface: "ProgressEvent"): ProgressEvent; + createEvent(eventInterface: "PromiseRejectionEvent"): PromiseRejectionEvent; + createEvent(eventInterface: "RTCDTMFToneChangeEvent"): RTCDTMFToneChangeEvent; + createEvent(eventInterface: "RTCDataChannelEvent"): RTCDataChannelEvent; + createEvent(eventInterface: "RTCDtlsTransportStateChangedEvent"): RTCDtlsTransportStateChangedEvent; + createEvent(eventInterface: "RTCErrorEvent"): RTCErrorEvent; + createEvent(eventInterface: "RTCIceCandidatePairChangedEvent"): RTCIceCandidatePairChangedEvent; + createEvent(eventInterface: "RTCIceGathererEvent"): RTCIceGathererEvent; + createEvent(eventInterface: "RTCIceTransportStateChangedEvent"): RTCIceTransportStateChangedEvent; + createEvent(eventInterface: "RTCPeerConnectionIceErrorEvent"): RTCPeerConnectionIceErrorEvent; + createEvent(eventInterface: "RTCPeerConnectionIceEvent"): RTCPeerConnectionIceEvent; + createEvent(eventInterface: "RTCSsrcConflictEvent"): RTCSsrcConflictEvent; + createEvent(eventInterface: "RTCStatsEvent"): RTCStatsEvent; + createEvent(eventInterface: "RTCTrackEvent"): RTCTrackEvent; + createEvent(eventInterface: "SVGZoomEvent"): SVGZoomEvent; + createEvent(eventInterface: "SVGZoomEvents"): SVGZoomEvent; + createEvent(eventInterface: "SecurityPolicyViolationEvent"): SecurityPolicyViolationEvent; + createEvent(eventInterface: "ServiceWorkerMessageEvent"): ServiceWorkerMessageEvent; + createEvent(eventInterface: "SpeechRecognitionError"): SpeechRecognitionError; + createEvent(eventInterface: "SpeechRecognitionEvent"): SpeechRecognitionEvent; + createEvent(eventInterface: "SpeechSynthesisErrorEvent"): SpeechSynthesisErrorEvent; + createEvent(eventInterface: "SpeechSynthesisEvent"): SpeechSynthesisEvent; + createEvent(eventInterface: "StorageEvent"): StorageEvent; + createEvent(eventInterface: "TextEvent"): TextEvent; + createEvent(eventInterface: "TouchEvent"): TouchEvent; + createEvent(eventInterface: "TrackEvent"): TrackEvent; + createEvent(eventInterface: "TransitionEvent"): TransitionEvent; + createEvent(eventInterface: "UIEvent"): UIEvent; + createEvent(eventInterface: "UIEvents"): UIEvent; + createEvent(eventInterface: "VRDisplayEvent"): VRDisplayEvent; + createEvent(eventInterface: "VRDisplayEvent "): VRDisplayEvent ; + createEvent(eventInterface: "WebGLContextEvent"): WebGLContextEvent; + createEvent(eventInterface: "WheelEvent"): WheelEvent; + createEvent(eventInterface: string): Event; +} + +interface DocumentFragment extends Node, NonElementParentNode, ParentNode { + getElementById(elementId: string): HTMLElement | null; +} + +declare var DocumentFragment: { + prototype: DocumentFragment; + new(): DocumentFragment; +}; + +interface DocumentOrShadowRoot { + readonly activeElement: Element | null; + /** + * Retrieves a collection of styleSheet objects representing the style sheets that correspond to each instance of a link or style object in the document. + */ + readonly styleSheets: StyleSheetList; + caretPositionFromPoint(x: number, y: number): CaretPosition | null; + /** @deprecated */ + caretRangeFromPoint(x: number, y: number): Range; + elementFromPoint(x: number, y: number): Element | null; + elementsFromPoint(x: number, y: number): Element[]; + getSelection(): Selection | null; +} + +interface DocumentTimeline extends AnimationTimeline { +} + +declare var DocumentTimeline: { + prototype: DocumentTimeline; + new(options?: DocumentTimelineOptions): DocumentTimeline; +}; + +interface DocumentType extends Node, ChildNode { + readonly name: string; + readonly publicId: string; + readonly systemId: string; +} + +declare var DocumentType: { + prototype: DocumentType; + new(): DocumentType; +}; + +interface DragEvent extends MouseEvent { + /** + * Returns the DataTransfer object for the event. + */ + readonly dataTransfer: DataTransfer | null; +} + +declare var DragEvent: { + prototype: DragEvent; + new(type: string, eventInitDict?: DragEventInit): DragEvent; +}; + +interface DynamicsCompressorNode extends AudioNode { + readonly attack: AudioParam; + readonly knee: AudioParam; + readonly ratio: AudioParam; + readonly reduction: number; + readonly release: AudioParam; + readonly threshold: AudioParam; +} + +declare var DynamicsCompressorNode: { + prototype: DynamicsCompressorNode; + new(context: BaseAudioContext, options?: DynamicsCompressorOptions): DynamicsCompressorNode; +}; + +interface EXT_blend_minmax { + readonly MAX_EXT: GLenum; + readonly MIN_EXT: GLenum; +} + +interface EXT_frag_depth { +} + +interface EXT_sRGB { + readonly FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT: GLenum; + readonly SRGB8_ALPHA8_EXT: GLenum; + readonly SRGB_ALPHA_EXT: GLenum; + readonly SRGB_EXT: GLenum; +} + +interface EXT_shader_texture_lod { +} + +interface EXT_texture_filter_anisotropic { + readonly MAX_TEXTURE_MAX_ANISOTROPY_EXT: GLenum; + readonly TEXTURE_MAX_ANISOTROPY_EXT: GLenum; +} + +interface ElementEventMap { + "fullscreenchange": Event; + "fullscreenerror": Event; +} + +interface Element extends Node, ParentNode, NonDocumentTypeChildNode, ChildNode, Slotable, Animatable { + readonly assignedSlot: HTMLSlotElement | null; + readonly attributes: NamedNodeMap; + /** + * Allows for manipulation of element's class content attribute as a + * set of whitespace-separated tokens through a DOMTokenList object. + */ + readonly classList: DOMTokenList; + /** + * Returns the value of element's class content attribute. Can be set + * to change it. + */ + className: string; + readonly clientHeight: number; + readonly clientLeft: number; + readonly clientTop: number; + readonly clientWidth: number; + /** + * Returns the value of element's id content attribute. Can be set to + * change it. + */ + id: string; + innerHTML: string; + /** + * Returns the local name. + */ + readonly localName: string; + /** + * Returns the namespace. + */ + readonly namespaceURI: string | null; + onfullscreenchange: ((this: Element, ev: Event) => any) | null; + onfullscreenerror: ((this: Element, ev: Event) => any) | null; + outerHTML: string; + /** + * Returns the namespace prefix. + */ + readonly prefix: string | null; + readonly scrollHeight: number; + scrollLeft: number; + scrollTop: number; + readonly scrollWidth: number; + /** + * Returns element's shadow root, if any, and if shadow root's mode is "open", and null otherwise. + */ + readonly shadowRoot: ShadowRoot | null; + /** + * Returns the value of element's slot content attribute. Can be set to + * change it. + */ + slot: string; + /** + * Returns the HTML-uppercased qualified name. + */ + readonly tagName: string; + /** + * Creates a shadow root for element and returns it. + */ + attachShadow(shadowRootInitDict: ShadowRootInit): ShadowRoot; + /** + * Returns the first (starting at element) inclusive ancestor that matches selectors, and null otherwise. + */ + closest(selector: K): HTMLElementTagNameMap[K] | null; + closest(selector: K): SVGElementTagNameMap[K] | null; + closest(selector: string): Element | null; + /** + * Returns element's first attribute whose qualified name is qualifiedName, and null if there is no such attribute otherwise. + */ + getAttribute(qualifiedName: string): string | null; + /** + * Returns element's attribute whose namespace is namespace and local name is localName, and null if there is + * no such attribute otherwise. + */ + getAttributeNS(namespace: string | null, localName: string): string | null; + /** + * Returns the qualified names of all element's attributes. + * Can contain duplicates. + */ + getAttributeNames(): string[]; + getAttributeNode(name: string): Attr | null; + getAttributeNodeNS(namespaceURI: string, localName: string): Attr | null; + getBoundingClientRect(): ClientRect | DOMRect; + getClientRects(): ClientRectList | DOMRectList; + getElementsByClassName(classNames: string): HTMLCollectionOf; + getElementsByTagName(qualifiedName: K): HTMLCollectionOf; + getElementsByTagName(qualifiedName: K): HTMLCollectionOf; + getElementsByTagName(qualifiedName: string): HTMLCollectionOf; + getElementsByTagNameNS(namespaceURI: "http://www.w3.org/1999/xhtml", localName: string): HTMLCollectionOf; + getElementsByTagNameNS(namespaceURI: "http://www.w3.org/2000/svg", localName: string): HTMLCollectionOf; + getElementsByTagNameNS(namespaceURI: string, localName: string): HTMLCollectionOf; + /** + * Returns true if element has an attribute whose qualified name is qualifiedName, and false otherwise. + */ + hasAttribute(qualifiedName: string): boolean; + /** + * Returns true if element has an attribute whose namespace is namespace and local name is localName. + */ + hasAttributeNS(namespace: string | null, localName: string): boolean; + /** + * Returns true if element has attributes, and false otherwise. + */ + hasAttributes(): boolean; + hasPointerCapture(pointerId: number): boolean; + insertAdjacentElement(position: InsertPosition, insertedElement: Element): Element | null; + insertAdjacentHTML(where: InsertPosition, html: string): void; + insertAdjacentText(where: InsertPosition, text: string): void; + /** + * Returns true if matching selectors against element's root yields element, and false otherwise. + */ + matches(selectors: string): boolean; + msGetRegionContent(): any; + releasePointerCapture(pointerId: number): void; + /** + * Removes element's first attribute whose qualified name is qualifiedName. + */ + removeAttribute(qualifiedName: string): void; + /** + * Removes element's attribute whose namespace is namespace and local name is localName. + */ + removeAttributeNS(namespace: string | null, localName: string): void; + removeAttributeNode(attr: Attr): Attr; + /** + * Displays element fullscreen and resolves promise when done. + */ + requestFullscreen(): Promise; + scroll(options?: ScrollToOptions): void; + scroll(x: number, y: number): void; + scrollBy(options?: ScrollToOptions): void; + scrollBy(x: number, y: number): void; + scrollIntoView(arg?: boolean | ScrollIntoViewOptions): void; + scrollTo(options?: ScrollToOptions): void; + scrollTo(x: number, y: number): void; + /** + * Sets the value of element's first attribute whose qualified name is qualifiedName to value. + */ + setAttribute(qualifiedName: string, value: string): void; + /** + * Sets the value of element's attribute whose namespace is namespace and local name is localName to value. + */ + setAttributeNS(namespace: string | null, qualifiedName: string, value: string): void; + setAttributeNode(attr: Attr): Attr | null; + setAttributeNodeNS(attr: Attr): Attr | null; + setPointerCapture(pointerId: number): void; + /** + * If force is not given, "toggles" qualifiedName, removing it if it is + * present and adding it if it is not present. If force is true, adds qualifiedName. If force is false, removes qualifiedName. + * Returns true if qualifiedName is now present, and false otherwise. + */ + toggleAttribute(qualifiedName: string, force?: boolean): boolean; + webkitMatchesSelector(selectors: string): boolean; + addEventListener(type: K, listener: (this: Element, ev: ElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: Element, ev: ElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var Element: { + prototype: Element; + new(): Element; +}; + +interface ElementCSSInlineStyle { + readonly style: CSSStyleDeclaration; +} + +interface ElementContentEditable { + contentEditable: string; + inputMode: string; + readonly isContentEditable: boolean; +} + +interface ElementCreationOptions { + is?: string; +} + +interface ErrorEvent extends Event { + readonly colno: number; + readonly error: any; + readonly filename: string; + readonly lineno: number; + readonly message: string; +} + +declare var ErrorEvent: { + prototype: ErrorEvent; + new(type: string, eventInitDict?: ErrorEventInit): ErrorEvent; +}; + +interface Event { + /** + * Returns true or false depending on how event was initialized. True if event goes through its target's ancestors in reverse tree order, and false otherwise. + */ + readonly bubbles: boolean; + cancelBubble: boolean; + readonly cancelable: boolean; + /** + * Returns true or false depending on how event was initialized. True if event invokes listeners past a ShadowRoot node that is the root of its target, and false otherwise. + */ + readonly composed: boolean; + /** + * Returns the object whose event listener's callback is currently being + * invoked. + */ + readonly currentTarget: EventTarget | null; + readonly defaultPrevented: boolean; + readonly eventPhase: number; + /** + * Returns true if event was dispatched by the user agent, and + * false otherwise. + */ + readonly isTrusted: boolean; + returnValue: boolean; + /** @deprecated */ + readonly srcElement: Element | null; + /** + * Returns the object to which event is dispatched (its target). + */ + readonly target: EventTarget | null; + /** + * Returns the event's timestamp as the number of milliseconds measured relative to + * the time origin. + */ + readonly timeStamp: number; + /** + * Returns the type of event, e.g. + * "click", "hashchange", or + * "submit". + */ + readonly type: string; + composedPath(): EventTarget[]; + initEvent(type: string, bubbles?: boolean, cancelable?: boolean): void; + preventDefault(): void; + /** + * Invoking this method prevents event from reaching + * any registered event listeners after the current one finishes running and, when dispatched in a tree, also prevents event from reaching any + * other objects. + */ + stopImmediatePropagation(): void; + /** + * When dispatched in a tree, invoking this method prevents event from reaching any objects other than the current object. + */ + stopPropagation(): void; + readonly AT_TARGET: number; + readonly BUBBLING_PHASE: number; + readonly CAPTURING_PHASE: number; + readonly NONE: number; +} + +declare var Event: { + prototype: Event; + new(type: string, eventInitDict?: EventInit): Event; + readonly AT_TARGET: number; + readonly BUBBLING_PHASE: number; + readonly CAPTURING_PHASE: number; + readonly NONE: number; +}; + +interface EventListenerObject { + handleEvent(evt: Event): void; +} + +interface EventSource extends EventTarget { + readonly CLOSED: number; + readonly CONNECTING: number; + readonly OPEN: number; + onerror: (evt: MessageEvent) => any; + onmessage: (evt: MessageEvent) => any; + onopen: (evt: MessageEvent) => any; + readonly readyState: number; + readonly url: string; + readonly withCredentials: boolean; + close(): void; +} + +declare var EventSource: { + prototype: EventSource; + new(url: string, eventSourceInitDict?: EventSourceInit): EventSource; +}; + +interface EventSourceInit { + readonly withCredentials: boolean; +} + +interface EventTarget { + /** + * Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched. + * The options argument sets listener-specific options. For compatibility this can be a + * boolean, in which case the method behaves exactly as if the value was specified as options's capture. + * When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET. + * When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in §2.8 Observing event listeners. + * When set to true, options's once indicates that the callback will only be invoked once after which the event listener will + * be removed. + * The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture. + */ + addEventListener(type: string, listener: EventListenerOrEventListenerObject | null, options?: boolean | AddEventListenerOptions): void; + /** + * Dispatches a synthetic event event to target and returns true + * if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise. + */ + dispatchEvent(event: Event): boolean; + /** + * Removes the event listener in target's event listener list with the same type, callback, and options. + */ + removeEventListener(type: string, callback: EventListenerOrEventListenerObject | null, options?: EventListenerOptions | boolean): void; +} + +declare var EventTarget: { + prototype: EventTarget; + new(): EventTarget; +}; + +interface ExtensionScriptApis { + extensionIdToShortId(extensionId: string): number; + fireExtensionApiTelemetry(functionName: string, isSucceeded: boolean, isSupported: boolean, errorString: string): void; + genericFunction(routerAddress: any, parameters?: string, callbackId?: number): void; + genericSynchronousFunction(functionId: number, parameters?: string): string; + genericWebRuntimeCallout(to: any, from: any, payload: string): void; + getExtensionId(): string; + registerGenericFunctionCallbackHandler(callbackHandler: Function): void; + registerGenericPersistentCallbackHandler(callbackHandler: Function): void; + registerWebRuntimeCallbackHandler(handler: Function): any; +} + +declare var ExtensionScriptApis: { + prototype: ExtensionScriptApis; + new(): ExtensionScriptApis; +}; + +interface External { + /** @deprecated */ + AddSearchProvider(): void; + /** @deprecated */ + IsSearchProviderInstalled(): void; +} + +interface File extends Blob { + readonly lastModified: number; + readonly name: string; +} + +declare var File: { + prototype: File; + new(fileBits: BlobPart[], fileName: string, options?: FilePropertyBag): File; +}; + +interface FileList { + readonly length: number; + item(index: number): File | null; + [index: number]: File; +} + +declare var FileList: { + prototype: FileList; + new(): FileList; +}; + +interface FileReaderEventMap { + "abort": ProgressEvent; + "error": ProgressEvent; + "load": ProgressEvent; + "loadend": ProgressEvent; + "loadstart": ProgressEvent; + "progress": ProgressEvent; +} + +interface FileReader extends EventTarget { + readonly error: DOMException | null; + onabort: ((this: FileReader, ev: ProgressEvent) => any) | null; + onerror: ((this: FileReader, ev: ProgressEvent) => any) | null; + onload: ((this: FileReader, ev: ProgressEvent) => any) | null; + onloadend: ((this: FileReader, ev: ProgressEvent) => any) | null; + onloadstart: ((this: FileReader, ev: ProgressEvent) => any) | null; + onprogress: ((this: FileReader, ev: ProgressEvent) => any) | null; + readonly readyState: number; + readonly result: string | ArrayBuffer | null; + abort(): void; + readAsArrayBuffer(blob: Blob): void; + readAsBinaryString(blob: Blob): void; + readAsDataURL(blob: Blob): void; + readAsText(blob: Blob, encoding?: string): void; + readonly DONE: number; + readonly EMPTY: number; + readonly LOADING: number; + addEventListener(type: K, listener: (this: FileReader, ev: FileReaderEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: FileReader, ev: FileReaderEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var FileReader: { + prototype: FileReader; + new(): FileReader; + readonly DONE: number; + readonly EMPTY: number; + readonly LOADING: number; +}; + +interface FocusEvent extends UIEvent { + readonly relatedTarget: EventTarget; + initFocusEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, relatedTargetArg: EventTarget): void; +} + +declare var FocusEvent: { + prototype: FocusEvent; + new(typeArg: string, eventInitDict?: FocusEventInit): FocusEvent; +}; + +interface FocusNavigationEvent extends Event { + readonly navigationReason: NavigationReason; + readonly originHeight: number; + readonly originLeft: number; + readonly originTop: number; + readonly originWidth: number; + requestFocus(): void; +} + +declare var FocusNavigationEvent: { + prototype: FocusNavigationEvent; + new(type: string, eventInitDict?: FocusNavigationEventInit): FocusNavigationEvent; +}; + +interface FormData { + append(name: string, value: string | Blob, fileName?: string): void; + delete(name: string): void; + get(name: string): FormDataEntryValue | null; + getAll(name: string): FormDataEntryValue[]; + has(name: string): boolean; + set(name: string, value: string | Blob, fileName?: string): void; + forEach(callbackfn: (value: FormDataEntryValue, key: string, parent: FormData) => void, thisArg?: any): void; +} + +declare var FormData: { + prototype: FormData; + new(form?: HTMLFormElement): FormData; +}; + +interface GainNode extends AudioNode { + readonly gain: AudioParam; +} + +declare var GainNode: { + prototype: GainNode; + new(context: BaseAudioContext, options?: GainOptions): GainNode; +}; + +interface Gamepad { + readonly axes: number[]; + readonly buttons: GamepadButton[]; + readonly connected: boolean; + readonly displayId: number; + readonly hand: GamepadHand; + readonly hapticActuators: GamepadHapticActuator[]; + readonly id: string; + readonly index: number; + readonly mapping: GamepadMappingType; + readonly pose: GamepadPose | null; + readonly timestamp: number; +} + +declare var Gamepad: { + prototype: Gamepad; + new(): Gamepad; +}; + +interface GamepadButton { + readonly pressed: boolean; + readonly touched: boolean; + readonly value: number; +} + +declare var GamepadButton: { + prototype: GamepadButton; + new(): GamepadButton; +}; + +interface GamepadEvent extends Event { + readonly gamepad: Gamepad; +} + +declare var GamepadEvent: { + prototype: GamepadEvent; + new(typeArg: string, eventInitDict?: GamepadEventInit): GamepadEvent; +}; + +interface GamepadHapticActuator { + readonly type: GamepadHapticActuatorType; + pulse(value: number, duration: number): Promise; +} + +declare var GamepadHapticActuator: { + prototype: GamepadHapticActuator; + new(): GamepadHapticActuator; +}; + +interface GamepadPose { + readonly angularAcceleration: Float32Array | null; + readonly angularVelocity: Float32Array | null; + readonly hasOrientation: boolean; + readonly hasPosition: boolean; + readonly linearAcceleration: Float32Array | null; + readonly linearVelocity: Float32Array | null; + readonly orientation: Float32Array | null; + readonly position: Float32Array | null; +} + +declare var GamepadPose: { + prototype: GamepadPose; + new(): GamepadPose; +}; + +interface Geolocation { + clearWatch(watchId: number): void; + getCurrentPosition(successCallback: PositionCallback, errorCallback?: PositionErrorCallback, options?: PositionOptions): void; + watchPosition(successCallback: PositionCallback, errorCallback?: PositionErrorCallback, options?: PositionOptions): number; +} + +interface GetSVGDocument { + getSVGDocument(): Document; +} + +interface GlobalEventHandlersEventMap { + "abort": UIEvent; + "animationcancel": AnimationEvent; + "animationend": AnimationEvent; + "animationiteration": AnimationEvent; + "animationstart": AnimationEvent; + "auxclick": Event; + "blur": FocusEvent; + "cancel": Event; + "canplay": Event; + "canplaythrough": Event; + "change": Event; + "click": MouseEvent; + "close": Event; + "contextmenu": MouseEvent; + "cuechange": Event; + "dblclick": MouseEvent; + "drag": DragEvent; + "dragend": DragEvent; + "dragenter": DragEvent; + "dragexit": Event; + "dragleave": DragEvent; + "dragover": DragEvent; + "dragstart": DragEvent; + "drop": DragEvent; + "durationchange": Event; + "emptied": Event; + "ended": Event; + "error": ErrorEvent; + "focus": FocusEvent; + "gotpointercapture": PointerEvent; + "input": Event; + "invalid": Event; + "keydown": KeyboardEvent; + "keypress": KeyboardEvent; + "keyup": KeyboardEvent; + "load": Event; + "loadeddata": Event; + "loadedmetadata": Event; + "loadend": ProgressEvent; + "loadstart": Event; + "lostpointercapture": PointerEvent; + "mousedown": MouseEvent; + "mouseenter": MouseEvent; + "mouseleave": MouseEvent; + "mousemove": MouseEvent; + "mouseout": MouseEvent; + "mouseover": MouseEvent; + "mouseup": MouseEvent; + "pause": Event; + "play": Event; + "playing": Event; + "pointercancel": PointerEvent; + "pointerdown": PointerEvent; + "pointerenter": PointerEvent; + "pointerleave": PointerEvent; + "pointermove": PointerEvent; + "pointerout": PointerEvent; + "pointerover": PointerEvent; + "pointerup": PointerEvent; + "progress": ProgressEvent; + "ratechange": Event; + "reset": Event; + "resize": UIEvent; + "scroll": UIEvent; + "securitypolicyviolation": SecurityPolicyViolationEvent; + "seeked": Event; + "seeking": Event; + "select": UIEvent; + "stalled": Event; + "submit": Event; + "suspend": Event; + "timeupdate": Event; + "toggle": Event; + "touchcancel": TouchEvent; + "touchend": TouchEvent; + "touchmove": TouchEvent; + "touchstart": TouchEvent; + "transitioncancel": TransitionEvent; + "transitionend": TransitionEvent; + "transitionrun": TransitionEvent; + "transitionstart": TransitionEvent; + "volumechange": Event; + "waiting": Event; + "wheel": WheelEvent; +} + +interface GlobalEventHandlers { + /** + * Fires when the user aborts the download. + * @param ev The event. + */ + onabort: ((this: GlobalEventHandlers, ev: UIEvent) => any) | null; + onanimationcancel: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null; + onanimationend: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null; + onanimationiteration: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null; + onanimationstart: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null; + onauxclick: ((this: GlobalEventHandlers, ev: Event) => any) | null; + /** + * Fires when the object loses the input focus. + * @param ev The focus event. + */ + onblur: ((this: GlobalEventHandlers, ev: FocusEvent) => any) | null; + oncancel: ((this: GlobalEventHandlers, ev: Event) => any) | null; + /** + * Occurs when playback is possible, but would require further buffering. + * @param ev The event. + */ + oncanplay: ((this: GlobalEventHandlers, ev: Event) => any) | null; + oncanplaythrough: ((this: GlobalEventHandlers, ev: Event) => any) | null; + /** + * Fires when the contents of the object or selection have changed. + * @param ev The event. + */ + onchange: ((this: GlobalEventHandlers, ev: Event) => any) | null; + /** + * Fires when the user clicks the left mouse button on the object + * @param ev The mouse event. + */ + onclick: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; + onclose: ((this: GlobalEventHandlers, ev: Event) => any) | null; + /** + * Fires when the user clicks the right mouse button in the client area, opening the context menu. + * @param ev The mouse event. + */ + oncontextmenu: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; + oncuechange: ((this: GlobalEventHandlers, ev: Event) => any) | null; + /** + * Fires when the user double-clicks the object. + * @param ev The mouse event. + */ + ondblclick: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; + /** + * Fires on the source object continuously during a drag operation. + * @param ev The event. + */ + ondrag: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null; + /** + * Fires on the source object when the user releases the mouse at the close of a drag operation. + * @param ev The event. + */ + ondragend: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null; + /** + * Fires on the target element when the user drags the object to a valid drop target. + * @param ev The drag event. + */ + ondragenter: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null; + ondragexit: ((this: GlobalEventHandlers, ev: Event) => any) | null; + /** + * Fires on the target object when the user moves the mouse out of a valid drop target during a drag operation. + * @param ev The drag event. + */ + ondragleave: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null; + /** + * Fires on the target element continuously while the user drags the object over a valid drop target. + * @param ev The event. + */ + ondragover: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null; + /** + * Fires on the source object when the user starts to drag a text selection or selected object. + * @param ev The event. + */ + ondragstart: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null; + ondrop: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null; + /** + * Occurs when the duration attribute is updated. + * @param ev The event. + */ + ondurationchange: ((this: GlobalEventHandlers, ev: Event) => any) | null; + /** + * Occurs when the media element is reset to its initial state. + * @param ev The event. + */ + onemptied: ((this: GlobalEventHandlers, ev: Event) => any) | null; + /** + * Occurs when the end of playback is reached. + * @param ev The event + */ + onended: ((this: GlobalEventHandlers, ev: Event) => any) | null; + /** + * Fires when an error occurs during object loading. + * @param ev The event. + */ + onerror: ErrorEventHandler; + /** + * Fires when the object receives focus. + * @param ev The event. + */ + onfocus: ((this: GlobalEventHandlers, ev: FocusEvent) => any) | null; + ongotpointercapture: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; + oninput: ((this: GlobalEventHandlers, ev: Event) => any) | null; + oninvalid: ((this: GlobalEventHandlers, ev: Event) => any) | null; + /** + * Fires when the user presses a key. + * @param ev The keyboard event + */ + onkeydown: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null; + /** + * Fires when the user presses an alphanumeric key. + * @param ev The event. + */ + onkeypress: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null; + /** + * Fires when the user releases a key. + * @param ev The keyboard event + */ + onkeyup: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null; + /** + * Fires immediately after the browser loads the object. + * @param ev The event. + */ + onload: ((this: GlobalEventHandlers, ev: Event) => any) | null; + /** + * Occurs when media data is loaded at the current playback position. + * @param ev The event. + */ + onloadeddata: ((this: GlobalEventHandlers, ev: Event) => any) | null; + /** + * Occurs when the duration and dimensions of the media have been determined. + * @param ev The event. + */ + onloadedmetadata: ((this: GlobalEventHandlers, ev: Event) => any) | null; + onloadend: ((this: GlobalEventHandlers, ev: ProgressEvent) => any) | null; + /** + * Occurs when Internet Explorer begins looking for media data. + * @param ev The event. + */ + onloadstart: ((this: GlobalEventHandlers, ev: Event) => any) | null; + onlostpointercapture: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; + /** + * Fires when the user clicks the object with either mouse button. + * @param ev The mouse event. + */ + onmousedown: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; + onmouseenter: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; + onmouseleave: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; + /** + * Fires when the user moves the mouse over the object. + * @param ev The mouse event. + */ + onmousemove: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; + /** + * Fires when the user moves the mouse pointer outside the boundaries of the object. + * @param ev The mouse event. + */ + onmouseout: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; + /** + * Fires when the user moves the mouse pointer into the object. + * @param ev The mouse event. + */ + onmouseover: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; + /** + * Fires when the user releases a mouse button while the mouse is over the object. + * @param ev The mouse event. + */ + onmouseup: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; + /** + * Occurs when playback is paused. + * @param ev The event. + */ + onpause: ((this: GlobalEventHandlers, ev: Event) => any) | null; + /** + * Occurs when the play method is requested. + * @param ev The event. + */ + onplay: ((this: GlobalEventHandlers, ev: Event) => any) | null; + /** + * Occurs when the audio or video has started playing. + * @param ev The event. + */ + onplaying: ((this: GlobalEventHandlers, ev: Event) => any) | null; + onpointercancel: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; + onpointerdown: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; + onpointerenter: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; + onpointerleave: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; + onpointermove: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; + onpointerout: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; + onpointerover: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; + onpointerup: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; + /** + * Occurs to indicate progress while downloading media data. + * @param ev The event. + */ + onprogress: ((this: GlobalEventHandlers, ev: ProgressEvent) => any) | null; + /** + * Occurs when the playback rate is increased or decreased. + * @param ev The event. + */ + onratechange: ((this: GlobalEventHandlers, ev: Event) => any) | null; + /** + * Fires when the user resets a form. + * @param ev The event. + */ + onreset: ((this: GlobalEventHandlers, ev: Event) => any) | null; + onresize: ((this: GlobalEventHandlers, ev: UIEvent) => any) | null; + /** + * Fires when the user repositions the scroll box in the scroll bar on the object. + * @param ev The event. + */ + onscroll: ((this: GlobalEventHandlers, ev: UIEvent) => any) | null; + onsecuritypolicyviolation: ((this: GlobalEventHandlers, ev: SecurityPolicyViolationEvent) => any) | null; + /** + * Occurs when the seek operation ends. + * @param ev The event. + */ + onseeked: ((this: GlobalEventHandlers, ev: Event) => any) | null; + /** + * Occurs when the current playback position is moved. + * @param ev The event. + */ + onseeking: ((this: GlobalEventHandlers, ev: Event) => any) | null; + /** + * Fires when the current selection changes. + * @param ev The event. + */ + onselect: ((this: GlobalEventHandlers, ev: UIEvent) => any) | null; + /** + * Occurs when the download has stopped. + * @param ev The event. + */ + onstalled: ((this: GlobalEventHandlers, ev: Event) => any) | null; + onsubmit: ((this: GlobalEventHandlers, ev: Event) => any) | null; + /** + * Occurs if the load operation has been intentionally halted. + * @param ev The event. + */ + onsuspend: ((this: GlobalEventHandlers, ev: Event) => any) | null; + /** + * Occurs to indicate the current playback position. + * @param ev The event. + */ + ontimeupdate: ((this: GlobalEventHandlers, ev: Event) => any) | null; + ontoggle: ((this: GlobalEventHandlers, ev: Event) => any) | null; + ontouchcancel: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null; + ontouchend: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null; + ontouchmove: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null; + ontouchstart: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null; + ontransitioncancel: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null; + ontransitionend: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null; + ontransitionrun: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null; + ontransitionstart: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null; + /** + * Occurs when the volume is changed, or playback is muted or unmuted. + * @param ev The event. + */ + onvolumechange: ((this: GlobalEventHandlers, ev: Event) => any) | null; + /** + * Occurs when playback stops because the next frame of a video resource is not available. + * @param ev The event. + */ + onwaiting: ((this: GlobalEventHandlers, ev: Event) => any) | null; + onwheel: ((this: GlobalEventHandlers, ev: WheelEvent) => any) | null; + addEventListener(type: K, listener: (this: GlobalEventHandlers, ev: GlobalEventHandlersEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: GlobalEventHandlers, ev: GlobalEventHandlersEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +interface GlobalFetch { + fetch(input: RequestInfo, init?: RequestInit): Promise; +} + +interface HTMLAllCollection { + /** + * Returns the number of elements in the collection. + */ + readonly length: number; + /** + * element = collection(index) + */ + item(nameOrIndex?: string): HTMLCollection | Element | null; + /** + * element = collection(name) + */ + namedItem(name: string): HTMLCollection | Element | null; + [index: number]: Element; +} + +declare var HTMLAllCollection: { + prototype: HTMLAllCollection; + new(): HTMLAllCollection; +}; + +interface HTMLAnchorElement extends HTMLElement, HTMLHyperlinkElementUtils { + /** + * Sets or retrieves the character set used to encode the object. + */ + /** @deprecated */ + charset: string; + /** + * Sets or retrieves the coordinates of the object. + */ + /** @deprecated */ + coords: string; + download: string; + /** + * Sets or retrieves the language code of the object. + */ + hreflang: string; + /** + * Sets or retrieves the shape of the object. + */ + /** @deprecated */ + name: string; + ping: string; + referrerPolicy: string; + /** + * Sets or retrieves the relationship between the object and the destination of the link. + */ + rel: string; + readonly relList: DOMTokenList; + /** + * Sets or retrieves the relationship between the object and the destination of the link. + */ + /** @deprecated */ + rev: string; + /** + * Sets or retrieves the shape of the object. + */ + /** @deprecated */ + shape: string; + /** + * Sets or retrieves the window or frame at which to target content. + */ + target: string; + /** + * Retrieves or sets the text of the object as a string. + */ + text: string; + type: string; + addEventListener(type: K, listener: (this: HTMLAnchorElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLAnchorElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLAnchorElement: { + prototype: HTMLAnchorElement; + new(): HTMLAnchorElement; +}; + +interface HTMLAppletElement extends HTMLElement { + /** @deprecated */ + align: string; + /** + * Sets or retrieves a text alternative to the graphic. + */ + /** @deprecated */ + alt: string; + /** + * Sets or retrieves a character string that can be used to implement your own archive functionality for the object. + */ + /** @deprecated */ + archive: string; + /** @deprecated */ + code: string; + /** + * Sets or retrieves the URL of the component. + */ + /** @deprecated */ + codeBase: string; + readonly form: HTMLFormElement | null; + /** + * Sets or retrieves the height of the object. + */ + /** @deprecated */ + height: string; + /** @deprecated */ + hspace: number; + /** + * Sets or retrieves the shape of the object. + */ + /** @deprecated */ + name: string; + /** @deprecated */ + object: string; + /** @deprecated */ + vspace: number; + /** @deprecated */ + width: string; + addEventListener(type: K, listener: (this: HTMLAppletElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLAppletElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLAppletElement: { + prototype: HTMLAppletElement; + new(): HTMLAppletElement; +}; + +interface HTMLAreaElement extends HTMLElement, HTMLHyperlinkElementUtils { + /** + * Sets or retrieves a text alternative to the graphic. + */ + alt: string; + /** + * Sets or retrieves the coordinates of the object. + */ + coords: string; + download: string; + /** + * Sets or gets whether clicks in this region cause action. + */ + /** @deprecated */ + noHref: boolean; + ping: string; + referrerPolicy: string; + rel: string; + readonly relList: DOMTokenList; + /** + * Sets or retrieves the shape of the object. + */ + shape: string; + /** + * Sets or retrieves the window or frame at which to target content. + */ + target: string; + addEventListener(type: K, listener: (this: HTMLAreaElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLAreaElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLAreaElement: { + prototype: HTMLAreaElement; + new(): HTMLAreaElement; +}; + +interface HTMLAudioElement extends HTMLMediaElement { + addEventListener(type: K, listener: (this: HTMLAudioElement, ev: HTMLMediaElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLAudioElement, ev: HTMLMediaElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLAudioElement: { + prototype: HTMLAudioElement; + new(): HTMLAudioElement; +}; + +interface HTMLBRElement extends HTMLElement { + /** + * Sets or retrieves the side on which floating objects are not to be positioned when any IHTMLBlockElement is inserted into the document. + */ + /** @deprecated */ + clear: string; + addEventListener(type: K, listener: (this: HTMLBRElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLBRElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLBRElement: { + prototype: HTMLBRElement; + new(): HTMLBRElement; +}; + +interface HTMLBaseElement extends HTMLElement { + /** + * Gets or sets the baseline URL on which relative links are based. + */ + href: string; + /** + * Sets or retrieves the window or frame at which to target content. + */ + target: string; + addEventListener(type: K, listener: (this: HTMLBaseElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLBaseElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLBaseElement: { + prototype: HTMLBaseElement; + new(): HTMLBaseElement; +}; + +interface HTMLBaseFontElement extends HTMLElement, DOML2DeprecatedColorProperty { + /** + * Sets or retrieves the current typeface family. + */ + /** @deprecated */ + face: string; + /** + * Sets or retrieves the font size of the object. + */ + /** @deprecated */ + size: number; + addEventListener(type: K, listener: (this: HTMLBaseFontElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLBaseFontElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLBaseFontElement: { + prototype: HTMLBaseFontElement; + new(): HTMLBaseFontElement; +}; + +interface HTMLBodyElementEventMap extends HTMLElementEventMap, WindowEventHandlersEventMap { + "orientationchange": Event; +} + +interface HTMLBodyElement extends HTMLElement, WindowEventHandlers { + /** @deprecated */ + aLink: string; + /** @deprecated */ + background: string; + /** @deprecated */ + bgColor: string; + bgProperties: string; + /** @deprecated */ + link: string; + /** @deprecated */ + noWrap: boolean; + /** @deprecated */ + onorientationchange: ((this: HTMLBodyElement, ev: Event) => any) | null; + /** @deprecated */ + text: string; + /** @deprecated */ + vLink: string; + addEventListener(type: K, listener: (this: HTMLBodyElement, ev: HTMLBodyElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLBodyElement, ev: HTMLBodyElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLBodyElement: { + prototype: HTMLBodyElement; + new(): HTMLBodyElement; +}; + +interface HTMLButtonElement extends HTMLElement { + /** + * Provides a way to direct a user to a specific field when a document loads. This can provide both direction and convenience for a user, reducing the need to click or tab to a field when a page opens. This attribute is true when present on an element, and false when missing. + */ + autofocus: boolean; + disabled: boolean; + /** + * Retrieves a reference to the form that the object is embedded in. + */ + readonly form: HTMLFormElement | null; + /** + * Overrides the action attribute (where the data on a form is sent) on the parent form element. + */ + formAction: string; + /** + * Used to override the encoding (formEnctype attribute) specified on the form element. + */ + formEnctype: string; + /** + * Overrides the submit method attribute previously specified on a form element. + */ + formMethod: string; + /** + * Overrides any validation or required attributes on a form or form elements to allow it to be submitted without validation. This can be used to create a "save draft"-type submit option. + */ + formNoValidate: boolean; + /** + * Overrides the target attribute on a form element. + */ + formTarget: string; + readonly labels: NodeListOf; + /** + * Sets or retrieves the name of the object. + */ + name: string; + /** + * Gets the classification and default behavior of the button. + */ + type: string; + /** + * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. + */ + readonly validationMessage: string; + /** + * Returns a ValidityState object that represents the validity states of an element. + */ + readonly validity: ValidityState; + /** + * Sets or retrieves the default or selected value of the control. + */ + value: string; + /** + * Returns whether an element will successfully validate based on forms validation rules and constraints. + */ + readonly willValidate: boolean; + /** + * Returns whether a form will validate when it is submitted, without having to submit it. + */ + checkValidity(): boolean; + reportValidity(): boolean; + /** + * Sets a custom error message that is displayed when a form is submitted. + * @param error Sets a custom error message that is displayed when a form is submitted. + */ + setCustomValidity(error: string): void; + addEventListener(type: K, listener: (this: HTMLButtonElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLButtonElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLButtonElement: { + prototype: HTMLButtonElement; + new(): HTMLButtonElement; +}; + +interface HTMLCanvasElement extends HTMLElement { + /** + * Gets or sets the height of a canvas element on a document. + */ + height: number; + /** + * Gets or sets the width of a canvas element on a document. + */ + width: number; + /** + * Returns an object that provides methods and properties for drawing and manipulating images and graphics on a canvas element in a document. A context object includes information about colors, line widths, fonts, and other graphic parameters that can be drawn on a canvas. + * @param contextId The identifier (ID) of the type of canvas to create. Internet Explorer 9 and Internet Explorer 10 support only a 2-D context using canvas.getContext("2d"); IE11 Preview also supports 3-D or WebGL context using canvas.getContext("experimental-webgl"); + */ + getContext(contextId: "2d", contextAttributes?: CanvasRenderingContext2DSettings): CanvasRenderingContext2D | null; + getContext(contextId: "webgl" | "experimental-webgl", contextAttributes?: WebGLContextAttributes): WebGLRenderingContext | null; + getContext(contextId: string, contextAttributes?: {}): CanvasRenderingContext2D | WebGLRenderingContext | null; + toBlob(callback: BlobCallback, type?: string, quality?: any): void; + /** + * Returns the content of the current canvas as an image that you can use as a source for another canvas or an HTML element. + * @param type The standard MIME type for the image format to return. If you do not specify this parameter, the default value is a PNG format image. + */ + toDataURL(type?: string, quality?: any): string; + addEventListener(type: K, listener: (this: HTMLCanvasElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLCanvasElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLCanvasElement: { + prototype: HTMLCanvasElement; + new(): HTMLCanvasElement; +}; + +interface HTMLCollectionBase { + /** + * Sets or retrieves the number of objects in a collection. + */ + readonly length: number; + /** + * Retrieves an object from various collections. + */ + item(index: number): Element | null; + [index: number]: Element; +} + +interface HTMLCollection extends HTMLCollectionBase { + /** + * Retrieves a select object or an object from an options collection. + */ + namedItem(name: string): Element | null; +} + +declare var HTMLCollection: { + prototype: HTMLCollection; + new(): HTMLCollection; +}; + +interface HTMLCollectionOf extends HTMLCollectionBase { + item(index: number): T | null; + namedItem(name: string): T | null; + [index: number]: T; +} + +interface HTMLDListElement extends HTMLElement { + /** @deprecated */ + compact: boolean; + addEventListener(type: K, listener: (this: HTMLDListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLDListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLDListElement: { + prototype: HTMLDListElement; + new(): HTMLDListElement; +}; + +interface HTMLDataElement extends HTMLElement { + value: string; + addEventListener(type: K, listener: (this: HTMLDataElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLDataElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLDataElement: { + prototype: HTMLDataElement; + new(): HTMLDataElement; +}; + +interface HTMLDataListElement extends HTMLElement { + readonly options: HTMLCollectionOf; + addEventListener(type: K, listener: (this: HTMLDataListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLDataListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLDataListElement: { + prototype: HTMLDataListElement; + new(): HTMLDataListElement; +}; + +interface HTMLDetailsElement extends HTMLElement { + open: boolean; + addEventListener(type: K, listener: (this: HTMLDetailsElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLDetailsElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLDetailsElement: { + prototype: HTMLDetailsElement; + new(): HTMLDetailsElement; +}; + +interface HTMLDialogElement extends HTMLElement { + open: boolean; + returnValue: string; + close(returnValue?: string): void; + show(): void; + showModal(): void; + addEventListener(type: K, listener: (this: HTMLDialogElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLDialogElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLDialogElement: { + prototype: HTMLDialogElement; + new(): HTMLDialogElement; +}; + +interface HTMLDirectoryElement extends HTMLElement { + /** @deprecated */ + compact: boolean; + addEventListener(type: K, listener: (this: HTMLDirectoryElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLDirectoryElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLDirectoryElement: { + prototype: HTMLDirectoryElement; + new(): HTMLDirectoryElement; +}; + +interface HTMLDivElement extends HTMLElement { + /** + * Sets or retrieves how the object is aligned with adjacent text. + */ + /** @deprecated */ + align: string; + addEventListener(type: K, listener: (this: HTMLDivElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLDivElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLDivElement: { + prototype: HTMLDivElement; + new(): HTMLDivElement; +}; + +interface HTMLDocument extends Document { + addEventListener(type: K, listener: (this: HTMLDocument, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLDocument, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLDocument: { + prototype: HTMLDocument; + new(): HTMLDocument; +}; + +interface HTMLElementEventMap extends ElementEventMap, GlobalEventHandlersEventMap, DocumentAndElementEventHandlersEventMap { +} + +interface HTMLElement extends Element, GlobalEventHandlers, DocumentAndElementEventHandlers, ElementContentEditable, HTMLOrSVGElement, ElementCSSInlineStyle { + accessKey: string; + readonly accessKeyLabel: string; + autocapitalize: string; + dir: string; + draggable: boolean; + hidden: boolean; + innerText: string; + lang: string; + readonly offsetHeight: number; + readonly offsetLeft: number; + readonly offsetParent: Element | null; + readonly offsetTop: number; + readonly offsetWidth: number; + spellcheck: boolean; + title: string; + translate: boolean; + click(): void; + addEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLElement: { + prototype: HTMLElement; + new(): HTMLElement; +}; + +interface HTMLEmbedElement extends HTMLElement, GetSVGDocument { + /** @deprecated */ + align: string; + /** + * Sets or retrieves the height of the object. + */ + height: string; + hidden: any; + /** + * Gets or sets whether the DLNA PlayTo device is available. + */ + msPlayToDisabled: boolean; + /** + * Gets or sets the path to the preferred media source. This enables the Play To target device to stream the media content, which can be DRM protected, from a different location, such as a cloud media server. + */ + msPlayToPreferredSourceUri: string; + /** + * Gets or sets the primary DLNA PlayTo device. + */ + msPlayToPrimary: boolean; + /** + * Gets the source associated with the media element for use by the PlayToManager. + */ + readonly msPlayToSource: any; + /** + * Sets or retrieves the name of the object. + */ + /** @deprecated */ + name: string; + /** + * Retrieves the palette used for the embedded document. + */ + readonly palette: string; + /** + * Retrieves the URL of the plug-in used to view an embedded document. + */ + readonly pluginspage: string; + readonly readyState: string; + /** + * Sets or retrieves a URL to be loaded by the object. + */ + src: string; + /** + * Sets or retrieves the height and width units of the embed object. + */ + units: string; + /** + * Sets or retrieves the width of the object. + */ + width: string; + addEventListener(type: K, listener: (this: HTMLEmbedElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLEmbedElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLEmbedElement: { + prototype: HTMLEmbedElement; + new(): HTMLEmbedElement; +}; + +interface HTMLFieldSetElement extends HTMLElement { + disabled: boolean; + readonly elements: HTMLCollection; + /** + * Retrieves a reference to the form that the object is embedded in. + */ + readonly form: HTMLFormElement | null; + name: string; + readonly type: string; + /** + * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. + */ + readonly validationMessage: string; + /** + * Returns a ValidityState object that represents the validity states of an element. + */ + readonly validity: ValidityState; + /** + * Returns whether an element will successfully validate based on forms validation rules and constraints. + */ + readonly willValidate: boolean; + /** + * Returns whether a form will validate when it is submitted, without having to submit it. + */ + checkValidity(): boolean; + reportValidity(): boolean; + /** + * Sets a custom error message that is displayed when a form is submitted. + * @param error Sets a custom error message that is displayed when a form is submitted. + */ + setCustomValidity(error: string): void; + addEventListener(type: K, listener: (this: HTMLFieldSetElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLFieldSetElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLFieldSetElement: { + prototype: HTMLFieldSetElement; + new(): HTMLFieldSetElement; +}; + +interface HTMLFontElement extends HTMLElement { + /** @deprecated */ + color: string; + /** + * Sets or retrieves the current typeface family. + */ + /** @deprecated */ + face: string; + /** @deprecated */ + size: string; + addEventListener(type: K, listener: (this: HTMLFontElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLFontElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLFontElement: { + prototype: HTMLFontElement; + new(): HTMLFontElement; +}; + +interface HTMLFormControlsCollection extends HTMLCollectionBase { + /** + * element = collection[name] + */ + namedItem(name: string): RadioNodeList | Element | null; +} + +declare var HTMLFormControlsCollection: { + prototype: HTMLFormControlsCollection; + new(): HTMLFormControlsCollection; +}; + +interface HTMLFormElement extends HTMLElement { + /** + * Sets or retrieves a list of character encodings for input data that must be accepted by the server processing the form. + */ + acceptCharset: string; + /** + * Sets or retrieves the URL to which the form content is sent for processing. + */ + action: string; + /** + * Specifies whether autocomplete is applied to an editable text field. + */ + autocomplete: string; + /** + * Retrieves a collection, in source order, of all controls in a given form. + */ + readonly elements: HTMLFormControlsCollection; + /** + * Sets or retrieves the MIME encoding for the form. + */ + encoding: string; + /** + * Sets or retrieves the encoding type for the form. + */ + enctype: string; + /** + * Sets or retrieves the number of objects in a collection. + */ + readonly length: number; + /** + * Sets or retrieves how to send the form data to the server. + */ + method: string; + /** + * Sets or retrieves the name of the object. + */ + name: string; + /** + * Designates a form that is not validated when submitted. + */ + noValidate: boolean; + /** + * Sets or retrieves the window or frame at which to target content. + */ + target: string; + /** + * Returns whether a form will validate when it is submitted, without having to submit it. + */ + checkValidity(): boolean; + reportValidity(): boolean; + /** + * Fires when the user resets a form. + */ + reset(): void; + /** + * Fires when a FORM is about to be submitted. + */ + submit(): void; + addEventListener(type: K, listener: (this: HTMLFormElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLFormElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; + [index: number]: Element; + [name: string]: any; +} + +declare var HTMLFormElement: { + prototype: HTMLFormElement; + new(): HTMLFormElement; +}; + +interface HTMLFrameElement extends HTMLElement { + /** + * Retrieves the document object of the page or frame. + */ + /** @deprecated */ + readonly contentDocument: Document | null; + /** + * Retrieves the object of the specified. + */ + /** @deprecated */ + readonly contentWindow: WindowProxy | null; + /** + * Sets or retrieves whether to display a border for the frame. + */ + /** @deprecated */ + frameBorder: string; + /** + * Sets or retrieves a URI to a long description of the object. + */ + /** @deprecated */ + longDesc: string; + /** + * Sets or retrieves the top and bottom margin heights before displaying the text in a frame. + */ + /** @deprecated */ + marginHeight: string; + /** + * Sets or retrieves the left and right margin widths before displaying the text in a frame. + */ + /** @deprecated */ + marginWidth: string; + /** + * Sets or retrieves the frame name. + */ + /** @deprecated */ + name: string; + /** + * Sets or retrieves whether the user can resize the frame. + */ + /** @deprecated */ + noResize: boolean; + /** + * Sets or retrieves whether the frame can be scrolled. + */ + /** @deprecated */ + scrolling: string; + /** + * Sets or retrieves a URL to be loaded by the object. + */ + /** @deprecated */ + src: string; + addEventListener(type: K, listener: (this: HTMLFrameElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLFrameElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLFrameElement: { + prototype: HTMLFrameElement; + new(): HTMLFrameElement; +}; + +interface HTMLFrameSetElementEventMap extends HTMLElementEventMap, WindowEventHandlersEventMap { +} + +interface HTMLFrameSetElement extends HTMLElement, WindowEventHandlers { + /** + * Sets or retrieves the frame widths of the object. + */ + /** @deprecated */ + cols: string; + /** + * Sets or retrieves the frame heights of the object. + */ + /** @deprecated */ + rows: string; + addEventListener(type: K, listener: (this: HTMLFrameSetElement, ev: HTMLFrameSetElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLFrameSetElement, ev: HTMLFrameSetElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLFrameSetElement: { + prototype: HTMLFrameSetElement; + new(): HTMLFrameSetElement; +}; + +interface HTMLHRElement extends HTMLElement { + /** + * Sets or retrieves how the object is aligned with adjacent text. + */ + /** @deprecated */ + align: string; + /** @deprecated */ + color: string; + /** + * Sets or retrieves whether the horizontal rule is drawn with 3-D shading. + */ + /** @deprecated */ + noShade: boolean; + /** @deprecated */ + size: string; + /** + * Sets or retrieves the width of the object. + */ + /** @deprecated */ + width: string; + addEventListener(type: K, listener: (this: HTMLHRElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLHRElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLHRElement: { + prototype: HTMLHRElement; + new(): HTMLHRElement; +}; + +interface HTMLHeadElement extends HTMLElement { + addEventListener(type: K, listener: (this: HTMLHeadElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLHeadElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLHeadElement: { + prototype: HTMLHeadElement; + new(): HTMLHeadElement; +}; + +interface HTMLHeadingElement extends HTMLElement { + /** + * Sets or retrieves a value that indicates the table alignment. + */ + /** @deprecated */ + align: string; + addEventListener(type: K, listener: (this: HTMLHeadingElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLHeadingElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLHeadingElement: { + prototype: HTMLHeadingElement; + new(): HTMLHeadingElement; +}; + +interface HTMLHtmlElement extends HTMLElement { + /** + * Sets or retrieves the DTD version that governs the current document. + */ + /** @deprecated */ + version: string; + addEventListener(type: K, listener: (this: HTMLHtmlElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLHtmlElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLHtmlElement: { + prototype: HTMLHtmlElement; + new(): HTMLHtmlElement; +}; + +interface HTMLHyperlinkElementUtils { + hash: string; + host: string; + hostname: string; + href: string; + readonly origin: string; + password: string; + pathname: string; + port: string; + protocol: string; + search: string; + username: string; +} + +interface HTMLIFrameElement extends HTMLElement, GetSVGDocument { + /** + * Sets or retrieves how the object is aligned with adjacent text. + */ + /** @deprecated */ + align: string; + allowFullscreen: boolean; + allowPaymentRequest: boolean; + /** + * Retrieves the document object of the page or frame. + */ + readonly contentDocument: Document | null; + /** + * Retrieves the object of the specified. + */ + readonly contentWindow: Window | null; + /** + * Sets or retrieves whether to display a border for the frame. + */ + /** @deprecated */ + frameBorder: string; + /** + * Sets or retrieves the height of the object. + */ + height: string; + /** + * Sets or retrieves a URI to a long description of the object. + */ + /** @deprecated */ + longDesc: string; + /** + * Sets or retrieves the top and bottom margin heights before displaying the text in a frame. + */ + /** @deprecated */ + marginHeight: string; + /** + * Sets or retrieves the left and right margin widths before displaying the text in a frame. + */ + /** @deprecated */ + marginWidth: string; + /** + * Sets or retrieves the frame name. + */ + name: string; + readonly referrerPolicy: ReferrerPolicy; + readonly sandbox: DOMTokenList; + /** + * Sets or retrieves whether the frame can be scrolled. + */ + /** @deprecated */ + scrolling: string; + /** + * Sets or retrieves a URL to be loaded by the object. + */ + src: string; + /** + * Sets or retrives the content of the page that is to contain. + */ + srcdoc: string; + /** + * Sets or retrieves the width of the object. + */ + width: string; + addEventListener(type: K, listener: (this: HTMLIFrameElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLIFrameElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLIFrameElement: { + prototype: HTMLIFrameElement; + new(): HTMLIFrameElement; +}; + +interface HTMLImageElement extends HTMLElement { + /** + * Sets or retrieves how the object is aligned with adjacent text. + */ + /** @deprecated */ + align: string; + /** + * Sets or retrieves a text alternative to the graphic. + */ + alt: string; + /** + * Specifies the properties of a border drawn around an object. + */ + /** @deprecated */ + border: string; + /** + * Retrieves whether the object is fully loaded. + */ + readonly complete: boolean; + crossOrigin: string | null; + readonly currentSrc: string; + decoding: "async" | "sync" | "auto"; + /** + * Sets or retrieves the height of the object. + */ + height: number; + /** + * Sets or retrieves the width of the border to draw around the object. + */ + /** @deprecated */ + hspace: number; + /** + * Sets or retrieves whether the image is a server-side image map. + */ + isMap: boolean; + /** + * Sets or retrieves a Uniform Resource Identifier (URI) to a long description of the object. + */ + /** @deprecated */ + longDesc: string; + /** @deprecated */ + lowsrc: string; + /** + * Sets or retrieves the name of the object. + */ + /** @deprecated */ + name: string; + /** + * The original height of the image resource before sizing. + */ + readonly naturalHeight: number; + /** + * The original width of the image resource before sizing. + */ + readonly naturalWidth: number; + referrerPolicy: string; + sizes: string; + /** + * The address or URL of the a media resource that is to be considered. + */ + src: string; + srcset: string; + /** + * Sets or retrieves the URL, often with a bookmark extension (#name), to use as a client-side image map. + */ + useMap: string; + /** + * Sets or retrieves the vertical margin for the object. + */ + /** @deprecated */ + vspace: number; + /** + * Sets or retrieves the width of the object. + */ + width: number; + readonly x: number; + readonly y: number; + decode(): Promise; + addEventListener(type: K, listener: (this: HTMLImageElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLImageElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLImageElement: { + prototype: HTMLImageElement; + new(): HTMLImageElement; +}; + +interface HTMLInputElement extends HTMLElement { + /** + * Sets or retrieves a comma-separated list of content types. + */ + accept: string; + /** + * Sets or retrieves how the object is aligned with adjacent text. + */ + /** @deprecated */ + align: string; + /** + * Sets or retrieves a text alternative to the graphic. + */ + alt: string; + /** + * Specifies whether autocomplete is applied to an editable text field. + */ + autocomplete: string; + /** + * Provides a way to direct a user to a specific field when a document loads. This can provide both direction and convenience for a user, reducing the need to click or tab to a field when a page opens. This attribute is true when present on an element, and false when missing. + */ + autofocus: boolean; + /** + * Sets or retrieves the state of the check box or radio button. + */ + checked: boolean; + /** + * Sets or retrieves the state of the check box or radio button. + */ + defaultChecked: boolean; + /** + * Sets or retrieves the initial contents of the object. + */ + defaultValue: string; + dirName: string; + disabled: boolean; + /** + * Returns a FileList object on a file type input object. + */ + files: FileList | null; + /** + * Retrieves a reference to the form that the object is embedded in. + */ + readonly form: HTMLFormElement | null; + /** + * Overrides the action attribute (where the data on a form is sent) on the parent form element. + */ + formAction: string; + /** + * Used to override the encoding (formEnctype attribute) specified on the form element. + */ + formEnctype: string; + /** + * Overrides the submit method attribute previously specified on a form element. + */ + formMethod: string; + /** + * Overrides any validation or required attributes on a form or form elements to allow it to be submitted without validation. This can be used to create a "save draft"-type submit option. + */ + formNoValidate: boolean; + /** + * Overrides the target attribute on a form element. + */ + formTarget: string; + /** + * Sets or retrieves the height of the object. + */ + height: number; + indeterminate: boolean; + readonly labels: NodeListOf | null; + /** + * Specifies the ID of a pre-defined datalist of options for an input element. + */ + readonly list: HTMLElement | null; + /** + * Defines the maximum acceptable value for an input element with type="number".When used with the min and step attributes, lets you control the range and increment (such as only even numbers) that the user can enter into an input field. + */ + max: string; + /** + * Sets or retrieves the maximum number of characters that the user can enter in a text control. + */ + maxLength: number; + /** + * Defines the minimum acceptable value for an input element with type="number". When used with the max and step attributes, lets you control the range and increment (such as even numbers only) that the user can enter into an input field. + */ + min: string; + minLength: number; + /** + * Sets or retrieves the Boolean value indicating whether multiple items can be selected from a list. + */ + multiple: boolean; + /** + * Sets or retrieves the name of the object. + */ + name: string; + /** + * Gets or sets a string containing a regular expression that the user's input must match. + */ + pattern: string; + /** + * Gets or sets a text string that is displayed in an input field as a hint or prompt to users as the format or type of information they need to enter.The text appears in an input field until the user puts focus on the field. + */ + placeholder: string; + readOnly: boolean; + /** + * When present, marks an element that can't be submitted without a value. + */ + required: boolean; + selectionDirection: string | null; + /** + * Gets or sets the end position or offset of a text selection. + */ + selectionEnd: number | null; + /** + * Gets or sets the starting position or offset of a text selection. + */ + selectionStart: number | null; + size: number; + /** + * The address or URL of the a media resource that is to be considered. + */ + src: string; + /** + * Defines an increment or jump between values that you want to allow the user to enter. When used with the max and min attributes, lets you control the range and increment (for example, allow only even numbers) that the user can enter into an input field. + */ + step: string; + /** + * Returns the content type of the object. + */ + type: string; + /** + * Sets or retrieves the URL, often with a bookmark extension (#name), to use as a client-side image map. + */ + /** @deprecated */ + useMap: string; + /** + * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. + */ + readonly validationMessage: string; + /** + * Returns a ValidityState object that represents the validity states of an element. + */ + readonly validity: ValidityState; + /** + * Returns the value of the data at the cursor's current position. + */ + value: string; + valueAsDate: any; + /** + * Returns the input field value as a number. + */ + valueAsNumber: number; + /** + * Sets or retrieves the width of the object. + */ + width: number; + /** + * Returns whether an element will successfully validate based on forms validation rules and constraints. + */ + readonly willValidate: boolean; + /** + * Returns whether a form will validate when it is submitted, without having to submit it. + */ + checkValidity(): boolean; + reportValidity(): boolean; + /** + * Makes the selection equal to the current object. + */ + select(): void; + /** + * Sets a custom error message that is displayed when a form is submitted. + * @param error Sets a custom error message that is displayed when a form is submitted. + */ + setCustomValidity(error: string): void; + setRangeText(replacement: string): void; + setRangeText(replacement: string, start: number, end: number, selectionMode?: SelectionMode): void; + /** + * Sets the start and end positions of a selection in a text field. + * @param start The offset into the text field for the start of the selection. + * @param end The offset into the text field for the end of the selection. + * @param direction The direction in which the selection is performed. + */ + setSelectionRange(start: number, end: number, direction?: "forward" | "backward" | "none"): void; + /** + * Decrements a range input control's value by the value given by the Step attribute. If the optional parameter is used, it will decrement the input control's step value multiplied by the parameter's value. + * @param n Value to decrement the value by. + */ + stepDown(n?: number): void; + /** + * Increments a range input control's value by the value given by the Step attribute. If the optional parameter is used, will increment the input control's value by that value. + * @param n Value to increment the value by. + */ + stepUp(n?: number): void; + addEventListener(type: K, listener: (this: HTMLInputElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLInputElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLInputElement: { + prototype: HTMLInputElement; + new(): HTMLInputElement; +}; + +interface HTMLLIElement extends HTMLElement { + /** @deprecated */ + type: string; + /** + * Sets or retrieves the value of a list item. + */ + value: number; + addEventListener(type: K, listener: (this: HTMLLIElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLLIElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLLIElement: { + prototype: HTMLLIElement; + new(): HTMLLIElement; +}; + +interface HTMLLabelElement extends HTMLElement { + readonly control: HTMLElement | null; + /** + * Retrieves a reference to the form that the object is embedded in. + */ + readonly form: HTMLFormElement | null; + /** + * Sets or retrieves the object to which the given label object is assigned. + */ + htmlFor: string; + addEventListener(type: K, listener: (this: HTMLLabelElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLLabelElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLLabelElement: { + prototype: HTMLLabelElement; + new(): HTMLLabelElement; +}; + +interface HTMLLegendElement extends HTMLElement { + /** @deprecated */ + align: string; + /** + * Retrieves a reference to the form that the object is embedded in. + */ + readonly form: HTMLFormElement | null; + addEventListener(type: K, listener: (this: HTMLLegendElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLLegendElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLLegendElement: { + prototype: HTMLLegendElement; + new(): HTMLLegendElement; +}; + +interface HTMLLinkElement extends HTMLElement, LinkStyle { + as: string; + /** + * Sets or retrieves the character set used to encode the object. + */ + /** @deprecated */ + charset: string; + crossOrigin: string | null; + disabled: boolean; + /** + * Sets or retrieves a destination URL or an anchor point. + */ + href: string; + /** + * Sets or retrieves the language code of the object. + */ + hreflang: string; + integrity: string; + /** + * Sets or retrieves the media type. + */ + media: string; + referrerPolicy: string; + /** + * Sets or retrieves the relationship between the object and the destination of the link. + */ + rel: string; + readonly relList: DOMTokenList; + /** + * Sets or retrieves the relationship between the object and the destination of the link. + */ + /** @deprecated */ + rev: string; + readonly sizes: DOMTokenList; + /** + * Sets or retrieves the window or frame at which to target content. + */ + /** @deprecated */ + target: string; + /** + * Sets or retrieves the MIME type of the object. + */ + type: string; + addEventListener(type: K, listener: (this: HTMLLinkElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLLinkElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLLinkElement: { + prototype: HTMLLinkElement; + new(): HTMLLinkElement; +}; + +interface HTMLMainElement extends HTMLElement { + addEventListener(type: K, listener: (this: HTMLMainElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLMainElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLMainElement: { + prototype: HTMLMainElement; + new(): HTMLMainElement; +}; + +interface HTMLMapElement extends HTMLElement { + /** + * Retrieves a collection of the area objects defined for the given map object. + */ + readonly areas: HTMLCollection; + /** + * Sets or retrieves the name of the object. + */ + name: string; + addEventListener(type: K, listener: (this: HTMLMapElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLMapElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLMapElement: { + prototype: HTMLMapElement; + new(): HTMLMapElement; +}; + +interface HTMLMarqueeElementEventMap extends HTMLElementEventMap { + "bounce": Event; + "finish": Event; + "start": Event; +} + +interface HTMLMarqueeElement extends HTMLElement { + /** @deprecated */ + behavior: string; + /** @deprecated */ + bgColor: string; + /** @deprecated */ + direction: string; + /** @deprecated */ + height: string; + /** @deprecated */ + hspace: number; + /** @deprecated */ + loop: number; + /** @deprecated */ + onbounce: ((this: HTMLMarqueeElement, ev: Event) => any) | null; + /** @deprecated */ + onfinish: ((this: HTMLMarqueeElement, ev: Event) => any) | null; + /** @deprecated */ + onstart: ((this: HTMLMarqueeElement, ev: Event) => any) | null; + /** @deprecated */ + scrollAmount: number; + /** @deprecated */ + scrollDelay: number; + /** @deprecated */ + trueSpeed: boolean; + /** @deprecated */ + vspace: number; + /** @deprecated */ + width: string; + /** @deprecated */ + start(): void; + /** @deprecated */ + stop(): void; + addEventListener(type: K, listener: (this: HTMLMarqueeElement, ev: HTMLMarqueeElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLMarqueeElement, ev: HTMLMarqueeElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLMarqueeElement: { + prototype: HTMLMarqueeElement; + new(): HTMLMarqueeElement; +}; + +interface HTMLMediaElementEventMap extends HTMLElementEventMap { + "encrypted": MediaEncryptedEvent; + "msneedkey": Event; +} + +interface HTMLMediaElement extends HTMLElement { + /** + * Returns an AudioTrackList object with the audio tracks for a given video element. + */ + readonly audioTracks: AudioTrackList; + /** + * Gets or sets a value that indicates whether to start playing the media automatically. + */ + autoplay: boolean; + /** + * Gets a collection of buffered time ranges. + */ + readonly buffered: TimeRanges; + /** + * Gets or sets a flag that indicates whether the client provides a set of controls for the media (in case the developer does not include controls for the player). + */ + controls: boolean; + crossOrigin: string | null; + /** + * Gets the address or URL of the current media resource that is selected by IHTMLMediaElement. + */ + readonly currentSrc: string; + /** + * Gets or sets the current playback position, in seconds. + */ + currentTime: number; + defaultMuted: boolean; + /** + * Gets or sets the default playback rate when the user is not using fast forward or reverse for a video or audio resource. + */ + defaultPlaybackRate: number; + /** + * Returns the duration in seconds of the current media resource. A NaN value is returned if duration is not available, or Infinity if the media resource is streaming. + */ + readonly duration: number; + /** + * Gets information about whether the playback has ended or not. + */ + readonly ended: boolean; + /** + * Returns an object representing the current error state of the audio or video element. + */ + readonly error: MediaError | null; + /** + * Gets or sets a flag to specify whether playback should restart after it completes. + */ + loop: boolean; + readonly mediaKeys: MediaKeys | null; + /** + * Specifies the purpose of the audio or video media, such as background audio or alerts. + */ + msAudioCategory: string; + /** + * Specifies the output device id that the audio will be sent to. + */ + msAudioDeviceType: string; + readonly msGraphicsTrustStatus: MSGraphicsTrust; + /** + * Gets the MSMediaKeys object, which is used for decrypting media data, that is associated with this media element. + */ + /** @deprecated */ + readonly msKeys: MSMediaKeys; + /** + * Gets or sets whether the DLNA PlayTo device is available. + */ + msPlayToDisabled: boolean; + /** + * Gets or sets the path to the preferred media source. This enables the Play To target device to stream the media content, which can be DRM protected, from a different location, such as a cloud media server. + */ + msPlayToPreferredSourceUri: string; + /** + * Gets or sets the primary DLNA PlayTo device. + */ + msPlayToPrimary: boolean; + /** + * Gets the source associated with the media element for use by the PlayToManager. + */ + readonly msPlayToSource: any; + /** + * Specifies whether or not to enable low-latency playback on the media element. + */ + msRealTime: boolean; + /** + * Gets or sets a flag that indicates whether the audio (either audio or the audio track on video media) is muted. + */ + muted: boolean; + /** + * Gets the current network activity for the element. + */ + readonly networkState: number; + onencrypted: ((this: HTMLMediaElement, ev: MediaEncryptedEvent) => any) | null; + /** @deprecated */ + onmsneedkey: ((this: HTMLMediaElement, ev: Event) => any) | null; + /** + * Gets a flag that specifies whether playback is paused. + */ + readonly paused: boolean; + /** + * Gets or sets the current rate of speed for the media resource to play. This speed is expressed as a multiple of the normal speed of the media resource. + */ + playbackRate: number; + /** + * Gets TimeRanges for the current media resource that has been played. + */ + readonly played: TimeRanges; + /** + * Gets or sets the current playback position, in seconds. + */ + preload: string; + readonly readyState: number; + /** + * Returns a TimeRanges object that represents the ranges of the current media resource that can be seeked. + */ + readonly seekable: TimeRanges; + /** + * Gets a flag that indicates whether the client is currently moving to a new playback position in the media resource. + */ + readonly seeking: boolean; + /** + * The address or URL of the a media resource that is to be considered. + */ + src: string; + srcObject: MediaStream | MediaSource | Blob | null; + readonly textTracks: TextTrackList; + readonly videoTracks: VideoTrackList; + /** + * Gets or sets the volume level for audio portions of the media element. + */ + volume: number; + addTextTrack(kind: TextTrackKind, label?: string, language?: string): TextTrack; + /** + * Returns a string that specifies whether the client can play a given media resource type. + */ + canPlayType(type: string): CanPlayTypeResult; + /** + * Resets the audio or video object and loads a new media resource. + */ + load(): void; + /** + * Clears all effects from the media pipeline. + */ + msClearEffects(): void; + msGetAsCastingSource(): any; + /** + * Inserts the specified audio effect into media pipeline. + */ + msInsertAudioEffect(activatableClassId: string, effectRequired: boolean, config?: any): void; + /** @deprecated */ + msSetMediaKeys(mediaKeys: MSMediaKeys): void; + /** + * Specifies the media protection manager for a given media pipeline. + */ + msSetMediaProtectionManager(mediaProtectionManager?: any): void; + /** + * Pauses the current playback and sets paused to TRUE. This can be used to test whether the media is playing or paused. You can also use the pause or play events to tell whether the media is playing or not. + */ + pause(): void; + /** + * Loads and starts playback of a media resource. + */ + play(): Promise; + setMediaKeys(mediaKeys: MediaKeys | null): Promise; + readonly HAVE_CURRENT_DATA: number; + readonly HAVE_ENOUGH_DATA: number; + readonly HAVE_FUTURE_DATA: number; + readonly HAVE_METADATA: number; + readonly HAVE_NOTHING: number; + readonly NETWORK_EMPTY: number; + readonly NETWORK_IDLE: number; + readonly NETWORK_LOADING: number; + readonly NETWORK_NO_SOURCE: number; + addEventListener(type: K, listener: (this: HTMLMediaElement, ev: HTMLMediaElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLMediaElement, ev: HTMLMediaElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLMediaElement: { + prototype: HTMLMediaElement; + new(): HTMLMediaElement; + readonly HAVE_CURRENT_DATA: number; + readonly HAVE_ENOUGH_DATA: number; + readonly HAVE_FUTURE_DATA: number; + readonly HAVE_METADATA: number; + readonly HAVE_NOTHING: number; + readonly NETWORK_EMPTY: number; + readonly NETWORK_IDLE: number; + readonly NETWORK_LOADING: number; + readonly NETWORK_NO_SOURCE: number; +}; + +interface HTMLMenuElement extends HTMLElement { + /** @deprecated */ + compact: boolean; + addEventListener(type: K, listener: (this: HTMLMenuElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLMenuElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLMenuElement: { + prototype: HTMLMenuElement; + new(): HTMLMenuElement; +}; + +interface HTMLMetaElement extends HTMLElement { + /** + * Gets or sets meta-information to associate with httpEquiv or name. + */ + content: string; + /** + * Gets or sets information used to bind the value of a content attribute of a meta element to an HTTP response header. + */ + httpEquiv: string; + /** + * Sets or retrieves the value specified in the content attribute of the meta object. + */ + name: string; + /** + * Sets or retrieves a scheme to be used in interpreting the value of a property specified for the object. + */ + /** @deprecated */ + scheme: string; + addEventListener(type: K, listener: (this: HTMLMetaElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLMetaElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLMetaElement: { + prototype: HTMLMetaElement; + new(): HTMLMetaElement; +}; + +interface HTMLMeterElement extends HTMLElement { + high: number; + readonly labels: NodeListOf; + low: number; + max: number; + min: number; + optimum: number; + value: number; + addEventListener(type: K, listener: (this: HTMLMeterElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLMeterElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLMeterElement: { + prototype: HTMLMeterElement; + new(): HTMLMeterElement; +}; + +interface HTMLModElement extends HTMLElement { + /** + * Sets or retrieves reference information about the object. + */ + cite: string; + /** + * Sets or retrieves the date and time of a modification to the object. + */ + dateTime: string; + addEventListener(type: K, listener: (this: HTMLModElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLModElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLModElement: { + prototype: HTMLModElement; + new(): HTMLModElement; +}; + +interface HTMLOListElement extends HTMLElement { + /** @deprecated */ + compact: boolean; + reversed: boolean; + /** + * The starting number. + */ + start: number; + type: string; + addEventListener(type: K, listener: (this: HTMLOListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLOListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLOListElement: { + prototype: HTMLOListElement; + new(): HTMLOListElement; +}; + +interface HTMLObjectElement extends HTMLElement, GetSVGDocument { + /** + * Retrieves a string of the URL where the object tag can be found. This is often the href of the document that the object is in, or the value set by a base element. + */ + readonly BaseHref: string; + /** @deprecated */ + align: string; + /** + * Sets or retrieves a character string that can be used to implement your own archive functionality for the object. + */ + /** @deprecated */ + archive: string; + /** @deprecated */ + border: string; + /** + * Sets or retrieves the URL of the file containing the compiled Java class. + */ + /** @deprecated */ + code: string; + /** + * Sets or retrieves the URL of the component. + */ + /** @deprecated */ + codeBase: string; + /** + * Sets or retrieves the Internet media type for the code associated with the object. + */ + /** @deprecated */ + codeType: string; + /** + * Retrieves the document object of the page or frame. + */ + readonly contentDocument: Document | null; + /** + * Sets or retrieves the URL that references the data of the object. + */ + data: string; + /** @deprecated */ + declare: boolean; + /** + * Retrieves a reference to the form that the object is embedded in. + */ + readonly form: HTMLFormElement | null; + /** + * Sets or retrieves the height of the object. + */ + height: string; + /** @deprecated */ + hspace: number; + /** + * Gets or sets whether the DLNA PlayTo device is available. + */ + msPlayToDisabled: boolean; + /** + * Gets or sets the path to the preferred media source. This enables the Play To target device to stream the media content, which can be DRM protected, from a different location, such as a cloud media server. + */ + msPlayToPreferredSourceUri: string; + /** + * Gets or sets the primary DLNA PlayTo device. + */ + msPlayToPrimary: boolean; + /** + * Gets the source associated with the media element for use by the PlayToManager. + */ + readonly msPlayToSource: any; + /** + * Sets or retrieves the name of the object. + */ + name: string; + readonly readyState: number; + /** + * Sets or retrieves a message to be displayed while an object is loading. + */ + /** @deprecated */ + standby: string; + /** + * Sets or retrieves the MIME type of the object. + */ + type: string; + typemustmatch: boolean; + /** + * Sets or retrieves the URL, often with a bookmark extension (#name), to use as a client-side image map. + */ + useMap: string; + /** + * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. + */ + readonly validationMessage: string; + /** + * Returns a ValidityState object that represents the validity states of an element. + */ + readonly validity: ValidityState; + /** @deprecated */ + vspace: number; + /** + * Sets or retrieves the width of the object. + */ + width: string; + /** + * Returns whether an element will successfully validate based on forms validation rules and constraints. + */ + readonly willValidate: boolean; + /** + * Returns whether a form will validate when it is submitted, without having to submit it. + */ + checkValidity(): boolean; + reportValidity(): boolean; + /** + * Sets a custom error message that is displayed when a form is submitted. + * @param error Sets a custom error message that is displayed when a form is submitted. + */ + setCustomValidity(error: string): void; + addEventListener(type: K, listener: (this: HTMLObjectElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLObjectElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLObjectElement: { + prototype: HTMLObjectElement; + new(): HTMLObjectElement; +}; + +interface HTMLOptGroupElement extends HTMLElement { + disabled: boolean; + /** + * Retrieves a reference to the form that the object is embedded in. + */ + readonly form: HTMLFormElement | null; + /** + * Sets or retrieves a value that you can use to implement your own label functionality for the object. + */ + label: string; + addEventListener(type: K, listener: (this: HTMLOptGroupElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLOptGroupElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLOptGroupElement: { + prototype: HTMLOptGroupElement; + new(): HTMLOptGroupElement; +}; + +interface HTMLOptionElement extends HTMLElement { + /** + * Sets or retrieves the status of an option. + */ + defaultSelected: boolean; + disabled: boolean; + /** + * Retrieves a reference to the form that the object is embedded in. + */ + readonly form: HTMLFormElement | null; + /** + * Sets or retrieves the ordinal position of an option in a list box. + */ + readonly index: number; + /** + * Sets or retrieves a value that you can use to implement your own label functionality for the object. + */ + label: string; + /** + * Sets or retrieves whether the option in the list box is the default item. + */ + selected: boolean; + /** + * Sets or retrieves the text string specified by the option tag. + */ + text: string; + /** + * Sets or retrieves the value which is returned to the server when the form control is submitted. + */ + value: string; + addEventListener(type: K, listener: (this: HTMLOptionElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLOptionElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLOptionElement: { + prototype: HTMLOptionElement; + new(): HTMLOptionElement; +}; + +interface HTMLOptionsCollection extends HTMLCollectionOf { + /** + * Returns the number of elements in the collection. + * When set to a smaller number, truncates the number of option elements in the corresponding container. + * When set to a greater number, adds new blank option elements to that container. + */ + length: number; + /** + * Returns the index of the first selected item, if any, or −1 if there is no selected + * item. + * Can be set, to change the selection. + */ + selectedIndex: number; + /** + * Inserts element before the node given by before. + * The before argument can be a number, in which case element is inserted before the item with that number, or an element from the + * collection, in which case element is inserted before that element. + * If before is omitted, null, or a number out of range, then element will be added at the end of the list. + * This method will throw a "HierarchyRequestError" DOMException if + * element is an ancestor of the element into which it is to be inserted. + */ + add(element: HTMLOptionElement | HTMLOptGroupElement, before?: HTMLElement | number | null): void; + /** + * Removes the item with index index from the collection. + */ + remove(index: number): void; +} + +declare var HTMLOptionsCollection: { + prototype: HTMLOptionsCollection; + new(): HTMLOptionsCollection; +}; + +interface HTMLOrSVGElement { + readonly dataset: DOMStringMap; + nonce: string; + tabIndex: number; + blur(): void; + focus(options?: FocusOptions): void; +} + +interface HTMLOutputElement extends HTMLElement { + defaultValue: string; + readonly form: HTMLFormElement | null; + readonly htmlFor: DOMTokenList; + readonly labels: NodeListOf; + name: string; + readonly type: string; + readonly validationMessage: string; + readonly validity: ValidityState; + value: string; + readonly willValidate: boolean; + checkValidity(): boolean; + reportValidity(): boolean; + setCustomValidity(error: string): void; + addEventListener(type: K, listener: (this: HTMLOutputElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLOutputElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLOutputElement: { + prototype: HTMLOutputElement; + new(): HTMLOutputElement; +}; + +interface HTMLParagraphElement extends HTMLElement { + /** + * Sets or retrieves how the object is aligned with adjacent text. + */ + /** @deprecated */ + align: string; + addEventListener(type: K, listener: (this: HTMLParagraphElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLParagraphElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLParagraphElement: { + prototype: HTMLParagraphElement; + new(): HTMLParagraphElement; +}; + +interface HTMLParamElement extends HTMLElement { + /** + * Sets or retrieves the name of an input parameter for an element. + */ + name: string; + /** + * Sets or retrieves the content type of the resource designated by the value attribute. + */ + /** @deprecated */ + type: string; + /** + * Sets or retrieves the value of an input parameter for an element. + */ + value: string; + /** + * Sets or retrieves the data type of the value attribute. + */ + /** @deprecated */ + valueType: string; + addEventListener(type: K, listener: (this: HTMLParamElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLParamElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLParamElement: { + prototype: HTMLParamElement; + new(): HTMLParamElement; +}; + +interface HTMLPictureElement extends HTMLElement { + addEventListener(type: K, listener: (this: HTMLPictureElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLPictureElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLPictureElement: { + prototype: HTMLPictureElement; + new(): HTMLPictureElement; +}; + +interface HTMLPreElement extends HTMLElement { + /** + * Sets or gets a value that you can use to implement your own width functionality for the object. + */ + /** @deprecated */ + width: number; + addEventListener(type: K, listener: (this: HTMLPreElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLPreElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLPreElement: { + prototype: HTMLPreElement; + new(): HTMLPreElement; +}; + +interface HTMLProgressElement extends HTMLElement { + readonly labels: NodeListOf; + /** + * Defines the maximum, or "done" value for a progress element. + */ + max: number; + /** + * Returns the quotient of value/max when the value attribute is set (determinate progress bar), or -1 when the value attribute is missing (indeterminate progress bar). + */ + readonly position: number; + /** + * Sets or gets the current value of a progress element. The value must be a non-negative number between 0 and the max value. + */ + value: number; + addEventListener(type: K, listener: (this: HTMLProgressElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLProgressElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLProgressElement: { + prototype: HTMLProgressElement; + new(): HTMLProgressElement; +}; + +interface HTMLQuoteElement extends HTMLElement { + /** + * Sets or retrieves reference information about the object. + */ + cite: string; + addEventListener(type: K, listener: (this: HTMLQuoteElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLQuoteElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLQuoteElement: { + prototype: HTMLQuoteElement; + new(): HTMLQuoteElement; +}; + +interface HTMLScriptElement extends HTMLElement { + async: boolean; + /** + * Sets or retrieves the character set used to encode the object. + */ + /** @deprecated */ + charset: string; + crossOrigin: string | null; + /** + * Sets or retrieves the status of the script. + */ + defer: boolean; + /** + * Sets or retrieves the event for which the script is written. + */ + /** @deprecated */ + event: string; + /** + * Sets or retrieves the object that is bound to the event script. + */ + /** @deprecated */ + htmlFor: string; + integrity: string; + noModule: boolean; + referrerPolicy: string; + /** + * Retrieves the URL to an external file that contains the source code or data. + */ + src: string; + /** + * Retrieves or sets the text of the object as a string. + */ + text: string; + /** + * Sets or retrieves the MIME type for the associated scripting engine. + */ + type: string; + addEventListener(type: K, listener: (this: HTMLScriptElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLScriptElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLScriptElement: { + prototype: HTMLScriptElement; + new(): HTMLScriptElement; +}; + +interface HTMLSelectElement extends HTMLElement { + autocomplete: string; + /** + * Provides a way to direct a user to a specific field when a document loads. This can provide both direction and convenience for a user, reducing the need to click or tab to a field when a page opens. This attribute is true when present on an element, and false when missing. + */ + autofocus: boolean; + disabled: boolean; + /** + * Retrieves a reference to the form that the object is embedded in. + */ + readonly form: HTMLFormElement | null; + readonly labels: NodeListOf; + /** + * Sets or retrieves the number of objects in a collection. + */ + length: number; + /** + * Sets or retrieves the Boolean value indicating whether multiple items can be selected from a list. + */ + multiple: boolean; + /** + * Sets or retrieves the name of the object. + */ + name: string; + readonly options: HTMLOptionsCollection; + /** + * When present, marks an element that can't be submitted without a value. + */ + required: boolean; + /** + * Sets or retrieves the index of the selected option in a select object. + */ + selectedIndex: number; + readonly selectedOptions: HTMLCollectionOf; + /** + * Sets or retrieves the number of rows in the list box. + */ + size: number; + /** + * Retrieves the type of select control based on the value of the MULTIPLE attribute. + */ + readonly type: string; + /** + * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. + */ + readonly validationMessage: string; + /** + * Returns a ValidityState object that represents the validity states of an element. + */ + readonly validity: ValidityState; + /** + * Sets or retrieves the value which is returned to the server when the form control is submitted. + */ + value: string; + /** + * Returns whether an element will successfully validate based on forms validation rules and constraints. + */ + readonly willValidate: boolean; + /** + * Adds an element to the areas, controlRange, or options collection. + * @param element Variant of type Number that specifies the index position in the collection where the element is placed. If no value is given, the method places the element at the end of the collection. + * @param before Variant of type Object that specifies an element to insert before, or null to append the object to the collection. + */ + add(element: HTMLOptionElement | HTMLOptGroupElement, before?: HTMLElement | number | null): void; + /** + * Returns whether a form will validate when it is submitted, without having to submit it. + */ + checkValidity(): boolean; + /** + * Retrieves a select object or an object from an options collection. + * @param name Variant of type Number or String that specifies the object or collection to retrieve. If this parameter is an integer, it is the zero-based index of the object. If this parameter is a string, all objects with matching name or id properties are retrieved, and a collection is returned if more than one match is made. + * @param index Variant of type Number that specifies the zero-based index of the object to retrieve when a collection is returned. + */ + item(index: number): Element | null; + /** + * Retrieves a select object or an object from an options collection. + * @param namedItem A String that specifies the name or id property of the object to retrieve. A collection is returned if more than one match is made. + */ + namedItem(name: string): HTMLOptionElement | null; + /** + * Removes an element from the collection. + * @param index Number that specifies the zero-based index of the element to remove from the collection. + */ + remove(): void; + remove(index: number): void; + reportValidity(): boolean; + /** + * Sets a custom error message that is displayed when a form is submitted. + * @param error Sets a custom error message that is displayed when a form is submitted. + */ + setCustomValidity(error: string): void; + addEventListener(type: K, listener: (this: HTMLSelectElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLSelectElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; + [name: number]: HTMLOptionElement | HTMLOptGroupElement; +} + +declare var HTMLSelectElement: { + prototype: HTMLSelectElement; + new(): HTMLSelectElement; +}; + +interface HTMLSlotElement extends HTMLElement { + name: string; + assignedElements(options?: AssignedNodesOptions): Element[]; + assignedNodes(options?: AssignedNodesOptions): Node[]; + addEventListener(type: K, listener: (this: HTMLSlotElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLSlotElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLSlotElement: { + prototype: HTMLSlotElement; + new(): HTMLSlotElement; +}; + +interface HTMLSourceElement extends HTMLElement { + /** + * Gets or sets the intended media type of the media source. + */ + media: string; + sizes: string; + /** + * The address or URL of the a media resource that is to be considered. + */ + src: string; + srcset: string; + /** + * Gets or sets the MIME type of a media resource. + */ + type: string; + addEventListener(type: K, listener: (this: HTMLSourceElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLSourceElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLSourceElement: { + prototype: HTMLSourceElement; + new(): HTMLSourceElement; +}; + +interface HTMLSpanElement extends HTMLElement { + addEventListener(type: K, listener: (this: HTMLSpanElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLSpanElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLSpanElement: { + prototype: HTMLSpanElement; + new(): HTMLSpanElement; +}; + +interface HTMLStyleElement extends HTMLElement, LinkStyle { + /** + * Sets or retrieves the media type. + */ + media: string; + /** + * Retrieves the CSS language in which the style sheet is written. + */ + /** @deprecated */ + type: string; + addEventListener(type: K, listener: (this: HTMLStyleElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLStyleElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLStyleElement: { + prototype: HTMLStyleElement; + new(): HTMLStyleElement; +}; + +interface HTMLTableCaptionElement extends HTMLElement { + /** + * Sets or retrieves the alignment of the caption or legend. + */ + /** @deprecated */ + align: string; + addEventListener(type: K, listener: (this: HTMLTableCaptionElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLTableCaptionElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLTableCaptionElement: { + prototype: HTMLTableCaptionElement; + new(): HTMLTableCaptionElement; +}; + +interface HTMLTableCellElement extends HTMLElement { + /** + * Sets or retrieves abbreviated text for the object. + */ + abbr: string; + /** + * Sets or retrieves how the object is aligned with adjacent text. + */ + /** @deprecated */ + align: string; + /** + * Sets or retrieves a comma-delimited list of conceptual categories associated with the object. + */ + /** @deprecated */ + axis: string; + /** @deprecated */ + bgColor: string; + /** + * Retrieves the position of the object in the cells collection of a row. + */ + readonly cellIndex: number; + /** @deprecated */ + ch: string; + /** @deprecated */ + chOff: string; + /** + * Sets or retrieves the number columns in the table that the object should span. + */ + colSpan: number; + /** + * Sets or retrieves a list of header cells that provide information for the object. + */ + headers: string; + /** + * Sets or retrieves the height of the object. + */ + /** @deprecated */ + height: string; + /** + * Sets or retrieves whether the browser automatically performs wordwrap. + */ + /** @deprecated */ + noWrap: boolean; + /** + * Sets or retrieves how many rows in a table the cell should span. + */ + rowSpan: number; + /** + * Sets or retrieves the group of cells in a table to which the object's information applies. + */ + scope: string; + /** @deprecated */ + vAlign: string; + /** + * Sets or retrieves the width of the object. + */ + /** @deprecated */ + width: string; + addEventListener(type: K, listener: (this: HTMLTableCellElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLTableCellElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLTableCellElement: { + prototype: HTMLTableCellElement; + new(): HTMLTableCellElement; +}; + +interface HTMLTableColElement extends HTMLElement { + /** + * Sets or retrieves the alignment of the object relative to the display or table. + */ + /** @deprecated */ + align: string; + /** @deprecated */ + ch: string; + /** @deprecated */ + chOff: string; + /** + * Sets or retrieves the number of columns in the group. + */ + span: number; + /** @deprecated */ + vAlign: string; + /** + * Sets or retrieves the width of the object. + */ + /** @deprecated */ + width: string; + addEventListener(type: K, listener: (this: HTMLTableColElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLTableColElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLTableColElement: { + prototype: HTMLTableColElement; + new(): HTMLTableColElement; +}; + +interface HTMLTableDataCellElement extends HTMLTableCellElement { + addEventListener(type: K, listener: (this: HTMLTableDataCellElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLTableDataCellElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLTableDataCellElement: { + prototype: HTMLTableDataCellElement; + new(): HTMLTableDataCellElement; +}; + +interface HTMLTableElement extends HTMLElement { + /** + * Sets or retrieves a value that indicates the table alignment. + */ + /** @deprecated */ + align: string; + /** @deprecated */ + bgColor: string; + /** + * Sets or retrieves the width of the border to draw around the object. + */ + /** @deprecated */ + border: string; + /** + * Retrieves the caption object of a table. + */ + caption: HTMLTableCaptionElement | null; + /** + * Sets or retrieves the amount of space between the border of the cell and the content of the cell. + */ + /** @deprecated */ + cellPadding: string; + /** + * Sets or retrieves the amount of space between cells in a table. + */ + /** @deprecated */ + cellSpacing: string; + /** + * Sets or retrieves the way the border frame around the table is displayed. + */ + /** @deprecated */ + frame: string; + /** + * Sets or retrieves the number of horizontal rows contained in the object. + */ + readonly rows: HTMLCollectionOf; + /** + * Sets or retrieves which dividing lines (inner borders) are displayed. + */ + /** @deprecated */ + rules: string; + /** + * Sets or retrieves a description and/or structure of the object. + */ + /** @deprecated */ + summary: string; + /** + * Retrieves a collection of all tBody objects in the table. Objects in this collection are in source order. + */ + readonly tBodies: HTMLCollectionOf; + /** + * Retrieves the tFoot object of the table. + */ + tFoot: HTMLTableSectionElement | null; + /** + * Retrieves the tHead object of the table. + */ + tHead: HTMLTableSectionElement | null; + /** + * Sets or retrieves the width of the object. + */ + /** @deprecated */ + width: string; + /** + * Creates an empty caption element in the table. + */ + createCaption(): HTMLTableCaptionElement; + /** + * Creates an empty tBody element in the table. + */ + createTBody(): HTMLTableSectionElement; + /** + * Creates an empty tFoot element in the table. + */ + createTFoot(): HTMLTableSectionElement; + /** + * Returns the tHead element object if successful, or null otherwise. + */ + createTHead(): HTMLTableSectionElement; + /** + * Deletes the caption element and its contents from the table. + */ + deleteCaption(): void; + /** + * Removes the specified row (tr) from the element and from the rows collection. + * @param index Number that specifies the zero-based position in the rows collection of the row to remove. + */ + deleteRow(index: number): void; + /** + * Deletes the tFoot element and its contents from the table. + */ + deleteTFoot(): void; + /** + * Deletes the tHead element and its contents from the table. + */ + deleteTHead(): void; + /** + * Creates a new row (tr) in the table, and adds the row to the rows collection. + * @param index Number that specifies where to insert the row in the rows collection. The default value is -1, which appends the new row to the end of the rows collection. + */ + insertRow(index?: number): HTMLTableRowElement; + addEventListener(type: K, listener: (this: HTMLTableElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLTableElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLTableElement: { + prototype: HTMLTableElement; + new(): HTMLTableElement; +}; + +interface HTMLTableHeaderCellElement extends HTMLTableCellElement { + scope: string; + addEventListener(type: K, listener: (this: HTMLTableHeaderCellElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLTableHeaderCellElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLTableHeaderCellElement: { + prototype: HTMLTableHeaderCellElement; + new(): HTMLTableHeaderCellElement; +}; + +interface HTMLTableRowElement extends HTMLElement { + /** + * Sets or retrieves how the object is aligned with adjacent text. + */ + /** @deprecated */ + align: string; + /** @deprecated */ + bgColor: string; + /** + * Retrieves a collection of all cells in the table row. + */ + readonly cells: HTMLCollectionOf; + /** @deprecated */ + ch: string; + /** @deprecated */ + chOff: string; + /** + * Retrieves the position of the object in the rows collection for the table. + */ + readonly rowIndex: number; + /** + * Retrieves the position of the object in the collection. + */ + readonly sectionRowIndex: number; + /** @deprecated */ + vAlign: string; + /** + * Removes the specified cell from the table row, as well as from the cells collection. + * @param index Number that specifies the zero-based position of the cell to remove from the table row. If no value is provided, the last cell in the cells collection is deleted. + */ + deleteCell(index: number): void; + /** + * Creates a new cell in the table row, and adds the cell to the cells collection. + * @param index Number that specifies where to insert the cell in the tr. The default value is -1, which appends the new cell to the end of the cells collection. + */ + insertCell(index?: number): HTMLTableDataCellElement; + addEventListener(type: K, listener: (this: HTMLTableRowElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLTableRowElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLTableRowElement: { + prototype: HTMLTableRowElement; + new(): HTMLTableRowElement; +}; + +interface HTMLTableSectionElement extends HTMLElement { + /** + * Sets or retrieves a value that indicates the table alignment. + */ + /** @deprecated */ + align: string; + /** @deprecated */ + ch: string; + /** @deprecated */ + chOff: string; + /** + * Sets or retrieves the number of horizontal rows contained in the object. + */ + readonly rows: HTMLCollectionOf; + /** @deprecated */ + vAlign: string; + /** + * Removes the specified row (tr) from the element and from the rows collection. + * @param index Number that specifies the zero-based position in the rows collection of the row to remove. + */ + deleteRow(index: number): void; + /** + * Creates a new row (tr) in the table, and adds the row to the rows collection. + * @param index Number that specifies where to insert the row in the rows collection. The default value is -1, which appends the new row to the end of the rows collection. + */ + insertRow(index?: number): HTMLTableRowElement; + addEventListener(type: K, listener: (this: HTMLTableSectionElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLTableSectionElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLTableSectionElement: { + prototype: HTMLTableSectionElement; + new(): HTMLTableSectionElement; +}; + +interface HTMLTemplateElement extends HTMLElement { + readonly content: DocumentFragment; + addEventListener(type: K, listener: (this: HTMLTemplateElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLTemplateElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLTemplateElement: { + prototype: HTMLTemplateElement; + new(): HTMLTemplateElement; +}; + +interface HTMLTextAreaElement extends HTMLElement { + autocomplete: string; + /** + * Provides a way to direct a user to a specific field when a document loads. This can provide both direction and convenience for a user, reducing the need to click or tab to a field when a page opens. This attribute is true when present on an element, and false when missing. + */ + autofocus: boolean; + /** + * Sets or retrieves the width of the object. + */ + cols: number; + /** + * Sets or retrieves the initial contents of the object. + */ + defaultValue: string; + dirName: string; + disabled: boolean; + /** + * Retrieves a reference to the form that the object is embedded in. + */ + readonly form: HTMLFormElement | null; + readonly labels: NodeListOf; + /** + * Sets or retrieves the maximum number of characters that the user can enter in a text control. + */ + maxLength: number; + minLength: number; + /** + * Sets or retrieves the name of the object. + */ + name: string; + /** + * Gets or sets a text string that is displayed in an input field as a hint or prompt to users as the format or type of information they need to enter.The text appears in an input field until the user puts focus on the field. + */ + placeholder: string; + /** + * Sets or retrieves the value indicated whether the content of the object is read-only. + */ + readOnly: boolean; + /** + * When present, marks an element that can't be submitted without a value. + */ + required: boolean; + /** + * Sets or retrieves the number of horizontal rows contained in the object. + */ + rows: number; + selectionDirection: string; + /** + * Gets or sets the end position or offset of a text selection. + */ + selectionEnd: number; + /** + * Gets or sets the starting position or offset of a text selection. + */ + selectionStart: number; + readonly textLength: number; + /** + * Retrieves the type of control. + */ + readonly type: string; + /** + * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. + */ + readonly validationMessage: string; + /** + * Returns a ValidityState object that represents the validity states of an element. + */ + readonly validity: ValidityState; + /** + * Retrieves or sets the text in the entry field of the textArea element. + */ + value: string; + /** + * Returns whether an element will successfully validate based on forms validation rules and constraints. + */ + readonly willValidate: boolean; + /** + * Sets or retrieves how to handle wordwrapping in the object. + */ + wrap: string; + /** + * Returns whether a form will validate when it is submitted, without having to submit it. + */ + checkValidity(): boolean; + reportValidity(): boolean; + /** + * Highlights the input area of a form element. + */ + select(): void; + /** + * Sets a custom error message that is displayed when a form is submitted. + * @param error Sets a custom error message that is displayed when a form is submitted. + */ + setCustomValidity(error: string): void; + setRangeText(replacement: string): void; + setRangeText(replacement: string, start: number, end: number, selectionMode?: SelectionMode): void; + /** + * Sets the start and end positions of a selection in a text field. + * @param start The offset into the text field for the start of the selection. + * @param end The offset into the text field for the end of the selection. + * @param direction The direction in which the selection is performed. + */ + setSelectionRange(start: number, end: number, direction?: "forward" | "backward" | "none"): void; + addEventListener(type: K, listener: (this: HTMLTextAreaElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLTextAreaElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLTextAreaElement: { + prototype: HTMLTextAreaElement; + new(): HTMLTextAreaElement; +}; + +interface HTMLTimeElement extends HTMLElement { + dateTime: string; + addEventListener(type: K, listener: (this: HTMLTimeElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLTimeElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLTimeElement: { + prototype: HTMLTimeElement; + new(): HTMLTimeElement; +}; + +interface HTMLTitleElement extends HTMLElement { + /** + * Retrieves or sets the text of the object as a string. + */ + text: string; + addEventListener(type: K, listener: (this: HTMLTitleElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLTitleElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLTitleElement: { + prototype: HTMLTitleElement; + new(): HTMLTitleElement; +}; + +interface HTMLTrackElement extends HTMLElement { + default: boolean; + kind: string; + label: string; + readonly readyState: number; + src: string; + srclang: string; + readonly track: TextTrack; + readonly ERROR: number; + readonly LOADED: number; + readonly LOADING: number; + readonly NONE: number; + addEventListener(type: K, listener: (this: HTMLTrackElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLTrackElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLTrackElement: { + prototype: HTMLTrackElement; + new(): HTMLTrackElement; + readonly ERROR: number; + readonly LOADED: number; + readonly LOADING: number; + readonly NONE: number; +}; + +interface HTMLUListElement extends HTMLElement { + /** @deprecated */ + compact: boolean; + /** @deprecated */ + type: string; + addEventListener(type: K, listener: (this: HTMLUListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLUListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLUListElement: { + prototype: HTMLUListElement; + new(): HTMLUListElement; +}; + +interface HTMLUnknownElement extends HTMLElement { + addEventListener(type: K, listener: (this: HTMLUnknownElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLUnknownElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLUnknownElement: { + prototype: HTMLUnknownElement; + new(): HTMLUnknownElement; +}; + +interface HTMLVideoElementEventMap extends HTMLMediaElementEventMap { + "MSVideoFormatChanged": Event; + "MSVideoFrameStepCompleted": Event; + "MSVideoOptimalLayoutChanged": Event; +} + +interface HTMLVideoElement extends HTMLMediaElement { + /** + * Gets or sets the height of the video element. + */ + height: number; + msHorizontalMirror: boolean; + readonly msIsLayoutOptimalForPlayback: boolean; + readonly msIsStereo3D: boolean; + msStereo3DPackingMode: string; + msStereo3DRenderMode: string; + msZoom: boolean; + onMSVideoFormatChanged: ((this: HTMLVideoElement, ev: Event) => any) | null; + onMSVideoFrameStepCompleted: ((this: HTMLVideoElement, ev: Event) => any) | null; + onMSVideoOptimalLayoutChanged: ((this: HTMLVideoElement, ev: Event) => any) | null; + /** + * Gets or sets a URL of an image to display, for example, like a movie poster. This can be a still frame from the video, or another image if no video data is available. + */ + poster: string; + /** + * Gets the intrinsic height of a video in CSS pixels, or zero if the dimensions are not known. + */ + readonly videoHeight: number; + /** + * Gets the intrinsic width of a video in CSS pixels, or zero if the dimensions are not known. + */ + readonly videoWidth: number; + readonly webkitDisplayingFullscreen: boolean; + readonly webkitSupportsFullscreen: boolean; + /** + * Gets or sets the width of the video element. + */ + width: number; + getVideoPlaybackQuality(): VideoPlaybackQuality; + msFrameStep(forward: boolean): void; + msInsertVideoEffect(activatableClassId: string, effectRequired: boolean, config?: any): void; + msSetVideoRectangle(left: number, top: number, right: number, bottom: number): void; + webkitEnterFullScreen(): void; + webkitEnterFullscreen(): void; + webkitExitFullScreen(): void; + webkitExitFullscreen(): void; + addEventListener(type: K, listener: (this: HTMLVideoElement, ev: HTMLVideoElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLVideoElement, ev: HTMLVideoElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var HTMLVideoElement: { + prototype: HTMLVideoElement; + new(): HTMLVideoElement; +}; + +interface HashChangeEvent extends Event { + readonly newURL: string; + readonly oldURL: string; +} + +declare var HashChangeEvent: { + prototype: HashChangeEvent; + new(type: string, eventInitDict?: HashChangeEventInit): HashChangeEvent; +}; + +interface Headers { + append(name: string, value: string): void; + delete(name: string): void; + get(name: string): string | null; + has(name: string): boolean; + set(name: string, value: string): void; + forEach(callbackfn: (value: string, key: string, parent: Headers) => void, thisArg?: any): void; +} + +declare var Headers: { + prototype: Headers; + new(init?: HeadersInit): Headers; +}; + +interface History { + readonly length: number; + scrollRestoration: ScrollRestoration; + readonly state: any; + back(): void; + forward(): void; + go(delta?: number): void; + pushState(data: any, title: string, url?: string | null): void; + replaceState(data: any, title: string, url?: string | null): void; +} + +declare var History: { + prototype: History; + new(): History; +}; + +interface HkdfCtrParams extends Algorithm { + context: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; + hash: string | Algorithm; + label: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; +} + +interface IDBArrayKey extends Array { +} + +interface IDBCursor { + /** + * Returns the direction ("next", "nextunique", "prev" or "prevunique") + * of the cursor. + */ + readonly direction: IDBCursorDirection; + /** + * Returns the key of the cursor. + * Throws a "InvalidStateError" DOMException if the cursor is advancing or is finished. + */ + readonly key: IDBValidKey | IDBKeyRange; + /** + * Returns the effective key of the cursor. + * Throws a "InvalidStateError" DOMException if the cursor is advancing or is finished. + */ + readonly primaryKey: IDBValidKey | IDBKeyRange; + /** + * Returns the IDBObjectStore or IDBIndex the cursor was opened from. + */ + readonly source: IDBObjectStore | IDBIndex; + /** + * Advances the cursor through the next count records in + * range. + */ + advance(count: number): void; + /** + * Advances the cursor to the next record in range matching or + * after key. + */ + continue(key?: IDBValidKey | IDBKeyRange): void; + /** + * Advances the cursor to the next record in range matching + * or after key and primaryKey. Throws an "InvalidAccessError" DOMException if the source is not an index. + */ + continuePrimaryKey(key: IDBValidKey | IDBKeyRange, primaryKey: IDBValidKey | IDBKeyRange): void; + /** + * Delete the record pointed at by the cursor with a new value. + * If successful, request's result will be undefined. + */ + delete(): IDBRequest; + /** + * Updated the record pointed at by the cursor with a new value. + * Throws a "DataError" DOMException if the effective object store uses in-line keys and the key would have changed. + * If successful, request's result will be the record's key. + */ + update(value: any): IDBRequest; +} + +declare var IDBCursor: { + prototype: IDBCursor; + new(): IDBCursor; +}; + +interface IDBCursorWithValue extends IDBCursor { + /** + * Returns the cursor's current value. + */ + readonly value: any; +} + +declare var IDBCursorWithValue: { + prototype: IDBCursorWithValue; + new(): IDBCursorWithValue; +}; + +interface IDBDatabaseEventMap { + "abort": Event; + "close": Event; + "error": Event; + "versionchange": IDBVersionChangeEvent; +} + +interface IDBDatabase extends EventTarget { + /** + * Returns the name of the database. + */ + readonly name: string; + /** + * Returns a list of the names of object stores in the database. + */ + readonly objectStoreNames: DOMStringList; + onabort: ((this: IDBDatabase, ev: Event) => any) | null; + onclose: ((this: IDBDatabase, ev: Event) => any) | null; + onerror: ((this: IDBDatabase, ev: Event) => any) | null; + onversionchange: ((this: IDBDatabase, ev: IDBVersionChangeEvent) => any) | null; + /** + * Returns the version of the database. + */ + readonly version: number; + /** + * Closes the connection once all running transactions have finished. + */ + close(): void; + /** + * Creates a new object store with the given name and options and returns a new IDBObjectStore. + * Throws a "InvalidStateError" DOMException if not called within an upgrade transaction. + */ + createObjectStore(name: string, optionalParameters?: IDBObjectStoreParameters): IDBObjectStore; + /** + * Deletes the object store with the given name. + * Throws a "InvalidStateError" DOMException if not called within an upgrade transaction. + */ + deleteObjectStore(name: string): void; + /** + * Returns a new transaction with the given mode ("readonly" or "readwrite") + * and scope which can be a single object store name or an array of names. + */ + transaction(storeNames: string | string[], mode?: IDBTransactionMode): IDBTransaction; + addEventListener(type: K, listener: (this: IDBDatabase, ev: IDBDatabaseEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: IDBDatabase, ev: IDBDatabaseEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var IDBDatabase: { + prototype: IDBDatabase; + new(): IDBDatabase; +}; + +interface IDBEnvironment { + readonly indexedDB: IDBFactory; +} + +interface IDBFactory { + /** + * Compares two values as keys. Returns -1 if key1 precedes key2, 1 if key2 precedes key1, and 0 if + * the keys are equal. + * Throws a "DataError" DOMException if either input is not a valid key. + */ + cmp(first: any, second: any): number; + /** + * Attempts to delete the named database. If the + * database already exists and there are open connections that don't close in response to a versionchange event, the request will be blocked until all they close. If the request + * is successful request's result will be null. + */ + deleteDatabase(name: string): IDBOpenDBRequest; + /** + * Attempts to open a connection to the named database with the specified version. If the database already exists + * with a lower version and there are open connections that don't close in response to a versionchange event, the request will be blocked until all they close, then an upgrade + * will occur. If the database already exists with a higher + * version the request will fail. If the request is + * successful request's result will + * be the connection. + */ + open(name: string, version?: number): IDBOpenDBRequest; +} + +declare var IDBFactory: { + prototype: IDBFactory; + new(): IDBFactory; +}; + +interface IDBIndex { + readonly keyPath: string | string[]; + readonly multiEntry: boolean; + /** + * Updates the name of the store to newName. + * Throws an "InvalidStateError" DOMException if not called within an upgrade + * transaction. + */ + name: string; + /** + * Returns the IDBObjectStore the index belongs to. + */ + readonly objectStore: IDBObjectStore; + readonly unique: boolean; + /** + * Retrieves the number of records matching the given key or key range in query. + * If successful, request's result will be the + * count. + */ + count(key?: IDBValidKey | IDBKeyRange): IDBRequest; + /** + * Retrieves the value of the first record matching the + * given key or key range in query. + * If successful, request's result will be the value, or undefined if there was no matching record. + */ + get(key: IDBValidKey | IDBKeyRange): IDBRequest; + /** + * Retrieves the values of the records matching the given key or key range in query (up to count if given). + * If successful, request's result will be an Array of the values. + */ + getAll(query?: IDBValidKey | IDBKeyRange, count?: number): IDBRequest; + /** + * Retrieves the keys of records matching the given key or key range in query (up to count if given). + * If successful, request's result will be an Array of the keys. + */ + getAllKeys(query?: IDBValidKey | IDBKeyRange, count?: number): IDBRequest; + /** + * Retrieves the key of the first record matching the + * given key or key range in query. + * If successful, request's result will be the key, or undefined if there was no matching record. + */ + getKey(key: IDBValidKey | IDBKeyRange): IDBRequest; + /** + * Opens a cursor over the records matching query, + * ordered by direction. If query is null, all records in index are matched. + * If successful, request's result will be an IDBCursorWithValue, or null if there were no matching records. + */ + openCursor(range?: IDBValidKey | IDBKeyRange, direction?: IDBCursorDirection): IDBRequest; + /** + * Opens a cursor with key only flag set over the records matching query, ordered by direction. If query is null, all records in index are matched. + * If successful, request's result will be an IDBCursor, or null if there were no matching records. + */ + openKeyCursor(range?: IDBValidKey | IDBKeyRange, direction?: IDBCursorDirection): IDBRequest; +} + +declare var IDBIndex: { + prototype: IDBIndex; + new(): IDBIndex; +}; + +interface IDBKeyRange { + /** + * Returns lower bound, or undefined if none. + */ + readonly lower: any; + /** + * Returns true if the lower open flag is set, and false otherwise. + */ + readonly lowerOpen: boolean; + /** + * Returns upper bound, or undefined if none. + */ + readonly upper: any; + /** + * Returns true if the upper open flag is set, and false otherwise. + */ + readonly upperOpen: boolean; + /** + * Returns true if key is included in the range, and false otherwise. + */ + includes(key: any): boolean; +} + +declare var IDBKeyRange: { + prototype: IDBKeyRange; + new(): IDBKeyRange; + /** + * Returns a new IDBKeyRange spanning from lower to upper. + * If lowerOpen is true, lower is not included in the range. + * If upperOpen is true, upper is not included in the range. + */ + bound(lower: any, upper: any, lowerOpen?: boolean, upperOpen?: boolean): IDBKeyRange; + /** + * Returns a new IDBKeyRange starting at key with no + * upper bound. If open is true, key is not included in the + * range. + */ + lowerBound(lower: any, open?: boolean): IDBKeyRange; + /** + * Returns a new IDBKeyRange spanning only key. + */ + only(value: any): IDBKeyRange; + /** + * Returns a new IDBKeyRange with no lower bound and ending at key. If open is true, key is not included in the range. + */ + upperBound(upper: any, open?: boolean): IDBKeyRange; +}; + +interface IDBObjectStore { + /** + * Returns true if the store has a key generator, and false otherwise. + */ + readonly autoIncrement: boolean; + /** + * Returns a list of the names of indexes in the store. + */ + readonly indexNames: DOMStringList; + /** + * Returns the key path of the store, or null if none. + */ + readonly keyPath: string | string[]; + /** + * Updates the name of the store to newName. + * Throws "InvalidStateError" DOMException if not called within an upgrade + * transaction. + */ + name: string; + /** + * Returns the associated transaction. + */ + readonly transaction: IDBTransaction; + add(value: any, key?: IDBValidKey | IDBKeyRange): IDBRequest; + /** + * Deletes all records in store. + * If successful, request's result will + * be undefined. + */ + clear(): IDBRequest; + /** + * Retrieves the number of records matching the + * given key or key range in query. + * If successful, request's result will be the count. + */ + count(key?: IDBValidKey | IDBKeyRange): IDBRequest; + /** + * Creates a new index in store with the given name, keyPath and options and returns a new IDBIndex. If the keyPath and options define constraints that cannot be + * satisfied with the data already in store the upgrade + * transaction will abort with + * a "ConstraintError" DOMException. + * Throws an "InvalidStateError" DOMException if not called within an upgrade + * transaction. + */ + createIndex(name: string, keyPath: string | string[], options?: IDBIndexParameters): IDBIndex; + /** + * Deletes records in store with the given key or in the given key range in query. + * If successful, request's result will + * be undefined. + */ + delete(key: IDBValidKey | IDBKeyRange): IDBRequest; + /** + * Deletes the index in store with the given name. + * Throws an "InvalidStateError" DOMException if not called within an upgrade + * transaction. + */ + deleteIndex(name: string): void; + /** + * Retrieves the value of the first record matching the + * given key or key range in query. + * If successful, request's result will be the value, or undefined if there was no matching record. + */ + get(query: IDBValidKey | IDBKeyRange): IDBRequest; + /** + * Retrieves the values of the records matching the + * given key or key range in query (up to count if given). + * If successful, request's result will + * be an Array of the values. + */ + getAll(query?: IDBValidKey | IDBKeyRange, count?: number): IDBRequest; + /** + * Retrieves the keys of records matching the + * given key or key range in query (up to count if given). + * If successful, request's result will + * be an Array of the keys. + */ + getAllKeys(query?: IDBValidKey | IDBKeyRange, count?: number): IDBRequest; + /** + * Retrieves the key of the first record matching the + * given key or key range in query. + * If successful, request's result will be the key, or undefined if there was no matching record. + */ + getKey(query: IDBValidKey | IDBKeyRange): IDBRequest; + index(name: string): IDBIndex; + /** + * Opens a cursor over the records matching query, + * ordered by direction. If query is null, all records in store are matched. + * If successful, request's result will be an IDBCursorWithValue pointing at the first matching record, or null if there were no matching records. + */ + openCursor(range?: IDBValidKey | IDBKeyRange, direction?: IDBCursorDirection): IDBRequest; + /** + * Opens a cursor with key only flag set over the records matching query, ordered by direction. If query is null, all records in store are matched. + * If successful, request's result will be an IDBCursor pointing at the first matching record, or + * null if there were no matching records. + */ + openKeyCursor(query?: IDBValidKey | IDBKeyRange, direction?: IDBCursorDirection): IDBRequest; + put(value: any, key?: IDBValidKey | IDBKeyRange): IDBRequest; +} + +declare var IDBObjectStore: { + prototype: IDBObjectStore; + new(): IDBObjectStore; +}; + +interface IDBOpenDBRequestEventMap extends IDBRequestEventMap { + "blocked": Event; + "upgradeneeded": IDBVersionChangeEvent; +} + +interface IDBOpenDBRequest extends IDBRequest { + onblocked: ((this: IDBOpenDBRequest, ev: Event) => any) | null; + onupgradeneeded: ((this: IDBOpenDBRequest, ev: IDBVersionChangeEvent) => any) | null; + addEventListener(type: K, listener: (this: IDBOpenDBRequest, ev: IDBOpenDBRequestEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: IDBOpenDBRequest, ev: IDBOpenDBRequestEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var IDBOpenDBRequest: { + prototype: IDBOpenDBRequest; + new(): IDBOpenDBRequest; +}; + +interface IDBRequestEventMap { + "error": Event; + "success": Event; +} + +interface IDBRequest extends EventTarget { + /** + * When a request is completed, returns the error (a DOMException), or null if the request succeeded. Throws + * a "InvalidStateError" DOMException if the request is still pending. + */ + readonly error: DOMException | null; + onerror: ((this: IDBRequest, ev: Event) => any) | null; + onsuccess: ((this: IDBRequest, ev: Event) => any) | null; + /** + * Returns "pending" until a request is complete, + * then returns "done". + */ + readonly readyState: IDBRequestReadyState; + /** + * When a request is completed, returns the result, + * or undefined if the request failed. Throws a + * "InvalidStateError" DOMException if the request is still pending. + */ + readonly result: T; + /** + * Returns the IDBObjectStore, IDBIndex, or IDBCursor the request was made against, or null if is was an open + * request. + */ + readonly source: IDBObjectStore | IDBIndex | IDBCursor; + /** + * Returns the IDBTransaction the request was made within. + * If this as an open request, then it returns an upgrade transaction while it is running, or null otherwise. + */ + readonly transaction: IDBTransaction | null; + addEventListener(type: K, listener: (this: IDBRequest, ev: IDBRequestEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: IDBRequest, ev: IDBRequestEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var IDBRequest: { + prototype: IDBRequest; + new(): IDBRequest; +}; + +interface IDBTransactionEventMap { + "abort": Event; + "complete": Event; + "error": Event; +} + +interface IDBTransaction extends EventTarget { + /** + * Returns the transaction's connection. + */ + readonly db: IDBDatabase; + /** + * If the transaction was aborted, returns the + * error (a DOMException) providing the reason. + */ + readonly error: DOMException; + /** + * Returns the mode the transaction was created with + * ("readonly" or "readwrite"), or "versionchange" for + * an upgrade transaction. + */ + readonly mode: IDBTransactionMode; + /** + * Returns a list of the names of object stores in the + * transaction's scope. For an upgrade transaction this is all object stores in the database. + */ + readonly objectStoreNames: DOMStringList; + onabort: ((this: IDBTransaction, ev: Event) => any) | null; + oncomplete: ((this: IDBTransaction, ev: Event) => any) | null; + onerror: ((this: IDBTransaction, ev: Event) => any) | null; + /** + * Aborts the transaction. All pending requests will fail with + * a "AbortError" DOMException and all changes made to the database will be + * reverted. + */ + abort(): void; + /** + * Returns an IDBObjectStore in the transaction's scope. + */ + objectStore(name: string): IDBObjectStore; + addEventListener(type: K, listener: (this: IDBTransaction, ev: IDBTransactionEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: IDBTransaction, ev: IDBTransactionEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var IDBTransaction: { + prototype: IDBTransaction; + new(): IDBTransaction; +}; + +interface IDBVersionChangeEvent extends Event { + readonly newVersion: number | null; + readonly oldVersion: number; +} + +declare var IDBVersionChangeEvent: { + prototype: IDBVersionChangeEvent; + new(type: string, eventInitDict?: IDBVersionChangeEventInit): IDBVersionChangeEvent; +}; + +interface IIRFilterNode extends AudioNode { + getFrequencyResponse(frequencyHz: Float32Array, magResponse: Float32Array, phaseResponse: Float32Array): void; +} + +declare var IIRFilterNode: { + prototype: IIRFilterNode; + new(context: BaseAudioContext, options: IIRFilterOptions): IIRFilterNode; +}; + +interface ImageBitmap { + /** + * Returns the intrinsic height of the image, in CSS + * pixels. + */ + readonly height: number; + /** + * Returns the intrinsic width of the image, in CSS + * pixels. + */ + readonly width: number; + /** + * Releases imageBitmap's underlying bitmap data. + */ + close(): void; +} + +declare var ImageBitmap: { + prototype: ImageBitmap; + new(): ImageBitmap; +}; + +interface ImageBitmapOptions { + colorSpaceConversion?: "none" | "default"; + imageOrientation?: "none" | "flipY"; + premultiplyAlpha?: "none" | "premultiply" | "default"; + resizeHeight?: number; + resizeQuality?: "pixelated" | "low" | "medium" | "high"; + resizeWidth?: number; +} + +interface ImageBitmapRenderingContext { + /** + * Returns the canvas element that the context is bound to. + */ + readonly canvas: HTMLCanvasElement; + /** + * Replaces contents of the canvas element to which context + * is bound with a transparent black bitmap whose size corresponds to the width and height + * content attributes of the canvas element. + */ + transferFromImageBitmap(bitmap: ImageBitmap | null): void; +} + +declare var ImageBitmapRenderingContext: { + prototype: ImageBitmapRenderingContext; + new(): ImageBitmapRenderingContext; +}; + +interface ImageData { + /** + * Returns the one-dimensional array containing the data in RGBA order, as integers in the + * range 0 to 255. + */ + readonly data: Uint8ClampedArray; + /** + * Returns the actual dimensions of the data in the ImageData object, in + * pixels. + */ + readonly height: number; + readonly width: number; +} + +declare var ImageData: { + prototype: ImageData; + new(width: number, height: number): ImageData; + new(array: Uint8ClampedArray, width: number, height: number): ImageData; +}; + +interface IntersectionObserver { + readonly root: Element | null; + readonly rootMargin: string; + readonly thresholds: number[]; + disconnect(): void; + observe(target: Element): void; + takeRecords(): IntersectionObserverEntry[]; + unobserve(target: Element): void; +} + +declare var IntersectionObserver: { + prototype: IntersectionObserver; + new(callback: IntersectionObserverCallback, options?: IntersectionObserverInit): IntersectionObserver; +}; + +interface IntersectionObserverEntry { + readonly boundingClientRect: ClientRect | DOMRect; + readonly intersectionRatio: number; + readonly intersectionRect: ClientRect | DOMRect; + readonly isIntersecting: boolean; + readonly rootBounds: ClientRect | DOMRect; + readonly target: Element; + readonly time: number; +} + +declare var IntersectionObserverEntry: { + prototype: IntersectionObserverEntry; + new(intersectionObserverEntryInit: IntersectionObserverEntryInit): IntersectionObserverEntry; +}; + +interface KeyboardEvent extends UIEvent { + readonly altKey: boolean; + /** @deprecated */ + char: string; + /** @deprecated */ + readonly charCode: number; + readonly code: string; + readonly ctrlKey: boolean; + readonly key: string; + /** @deprecated */ + readonly keyCode: number; + readonly location: number; + readonly metaKey: boolean; + readonly repeat: boolean; + readonly shiftKey: boolean; + /** @deprecated */ + readonly which: number; + getModifierState(keyArg: string): boolean; + /** @deprecated */ + initKeyboardEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, keyArg: string, locationArg: number, modifiersListArg: string, repeat: boolean, locale: string): void; + readonly DOM_KEY_LOCATION_JOYSTICK: number; + readonly DOM_KEY_LOCATION_LEFT: number; + readonly DOM_KEY_LOCATION_MOBILE: number; + readonly DOM_KEY_LOCATION_NUMPAD: number; + readonly DOM_KEY_LOCATION_RIGHT: number; + readonly DOM_KEY_LOCATION_STANDARD: number; +} + +declare var KeyboardEvent: { + prototype: KeyboardEvent; + new(typeArg: string, eventInitDict?: KeyboardEventInit): KeyboardEvent; + readonly DOM_KEY_LOCATION_JOYSTICK: number; + readonly DOM_KEY_LOCATION_LEFT: number; + readonly DOM_KEY_LOCATION_MOBILE: number; + readonly DOM_KEY_LOCATION_NUMPAD: number; + readonly DOM_KEY_LOCATION_RIGHT: number; + readonly DOM_KEY_LOCATION_STANDARD: number; +}; + +interface KeyframeEffect extends AnimationEffect { + composite: CompositeOperation; + iterationComposite: IterationCompositeOperation; + target: Element | null; + getKeyframes(): ComputedKeyframe[]; + setKeyframes(keyframes: Keyframe[] | PropertyIndexedKeyframes | null): void; +} + +declare var KeyframeEffect: { + prototype: KeyframeEffect; + new(target: Element | null, keyframes: Keyframe[] | PropertyIndexedKeyframes | null, options?: number | KeyframeEffectOptions): KeyframeEffect; + new(source: KeyframeEffect): KeyframeEffect; +}; + +interface LinkStyle { + readonly sheet: StyleSheet | null; +} + +interface ListeningStateChangedEvent extends Event { + readonly label: string; + readonly state: ListeningState; +} + +declare var ListeningStateChangedEvent: { + prototype: ListeningStateChangedEvent; + new(): ListeningStateChangedEvent; +}; + +interface Location { + /** + * Returns a DOMStringList object listing the origins of the ancestor browsing contexts, from the parent browsing + * context to the top-level browsing context. + */ + readonly ancestorOrigins: DOMStringList; + /** + * Returns the Location object's URL's fragment (includes leading "#" if non-empty). + * Can be set, to navigate to the same URL with a changed fragment (ignores leading "#"). + */ + hash: string; + /** + * Returns the Location object's URL's host and port (if different from the default + * port for the scheme). + * Can be set, to navigate to the same URL with a changed host and port. + */ + host: string; + /** + * Returns the Location object's URL's host. + * Can be set, to navigate to the same URL with a changed host. + */ + hostname: string; + /** + * Returns the Location object's URL. + * Can be set, to navigate to the given URL. + */ + href: string; + /** + * Returns the Location object's URL's origin. + */ + readonly origin: string; + /** + * Returns the Location object's URL's path. + * Can be set, to navigate to the same URL with a changed path. + */ + pathname: string; + /** + * Returns the Location object's URL's port. + * Can be set, to navigate to the same URL with a changed port. + */ + port: string; + /** + * Returns the Location object's URL's scheme. + * Can be set, to navigate to the same URL with a changed scheme. + */ + protocol: string; + /** + * Returns the Location object's URL's query (includes leading "?" if non-empty). + * Can be set, to navigate to the same URL with a changed query (ignores leading "?"). + */ + search: string; + /** + * Navigates to the given URL. + */ + assign(url: string): void; + /** + * Reloads the current page. + */ + reload(): void; + /** @deprecated */ + reload(forcedReload: boolean): void; + /** + * Removes the current page from the session history and navigates to the given URL. + */ + replace(url: string): void; +} + +declare var Location: { + prototype: Location; + new(): Location; +}; + +interface MSAssertion { + readonly id: string; + readonly type: MSCredentialType; +} + +declare var MSAssertion: { + prototype: MSAssertion; + new(): MSAssertion; +}; + +interface MSBlobBuilder { + append(data: any, endings?: string): void; + getBlob(contentType?: string): Blob; +} + +declare var MSBlobBuilder: { + prototype: MSBlobBuilder; + new(): MSBlobBuilder; +}; + +interface MSFIDOCredentialAssertion extends MSAssertion { + readonly algorithm: string | Algorithm; + readonly attestation: any; + readonly publicKey: string; + readonly transportHints: MSTransportType[]; +} + +declare var MSFIDOCredentialAssertion: { + prototype: MSFIDOCredentialAssertion; + new(): MSFIDOCredentialAssertion; +}; + +interface MSFIDOSignature { + readonly authnrData: string; + readonly clientData: string; + readonly signature: string; +} + +declare var MSFIDOSignature: { + prototype: MSFIDOSignature; + new(): MSFIDOSignature; +}; + +interface MSFIDOSignatureAssertion extends MSAssertion { + readonly signature: MSFIDOSignature; +} + +declare var MSFIDOSignatureAssertion: { + prototype: MSFIDOSignatureAssertion; + new(): MSFIDOSignatureAssertion; +}; + +interface MSFileSaver { + msSaveBlob(blob: any, defaultName?: string): boolean; + msSaveOrOpenBlob(blob: any, defaultName?: string): boolean; +} + +interface MSGesture { + target: Element; + addPointer(pointerId: number): void; + stop(): void; +} + +declare var MSGesture: { + prototype: MSGesture; + new(): MSGesture; +}; + +interface MSGestureEvent extends UIEvent { + readonly clientX: number; + readonly clientY: number; + readonly expansion: number; + readonly gestureObject: any; + readonly hwTimestamp: number; + readonly offsetX: number; + readonly offsetY: number; + readonly rotation: number; + readonly scale: number; + readonly screenX: number; + readonly screenY: number; + readonly translationX: number; + readonly translationY: number; + readonly velocityAngular: number; + readonly velocityExpansion: number; + readonly velocityX: number; + readonly velocityY: number; + initGestureEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, screenXArg: number, screenYArg: number, clientXArg: number, clientYArg: number, offsetXArg: number, offsetYArg: number, translationXArg: number, translationYArg: number, scaleArg: number, expansionArg: number, rotationArg: number, velocityXArg: number, velocityYArg: number, velocityExpansionArg: number, velocityAngularArg: number, hwTimestampArg: number): void; + readonly MSGESTURE_FLAG_BEGIN: number; + readonly MSGESTURE_FLAG_CANCEL: number; + readonly MSGESTURE_FLAG_END: number; + readonly MSGESTURE_FLAG_INERTIA: number; + readonly MSGESTURE_FLAG_NONE: number; +} + +declare var MSGestureEvent: { + prototype: MSGestureEvent; + new(): MSGestureEvent; + readonly MSGESTURE_FLAG_BEGIN: number; + readonly MSGESTURE_FLAG_CANCEL: number; + readonly MSGESTURE_FLAG_END: number; + readonly MSGESTURE_FLAG_INERTIA: number; + readonly MSGESTURE_FLAG_NONE: number; +}; + +interface MSGraphicsTrust { + readonly constrictionActive: boolean; + readonly status: string; +} + +declare var MSGraphicsTrust: { + prototype: MSGraphicsTrust; + new(): MSGraphicsTrust; +}; + +interface MSInputMethodContextEventMap { + "MSCandidateWindowHide": Event; + "MSCandidateWindowShow": Event; + "MSCandidateWindowUpdate": Event; +} + +interface MSInputMethodContext extends EventTarget { + readonly compositionEndOffset: number; + readonly compositionStartOffset: number; + oncandidatewindowhide: ((this: MSInputMethodContext, ev: Event) => any) | null; + oncandidatewindowshow: ((this: MSInputMethodContext, ev: Event) => any) | null; + oncandidatewindowupdate: ((this: MSInputMethodContext, ev: Event) => any) | null; + readonly target: HTMLElement; + getCandidateWindowClientRect(): ClientRect; + getCompositionAlternatives(): string[]; + hasComposition(): boolean; + isCandidateWindowVisible(): boolean; + addEventListener(type: K, listener: (this: MSInputMethodContext, ev: MSInputMethodContextEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: MSInputMethodContext, ev: MSInputMethodContextEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var MSInputMethodContext: { + prototype: MSInputMethodContext; + new(): MSInputMethodContext; +}; + +interface MSMediaKeyError { + readonly code: number; + readonly systemCode: number; + readonly MS_MEDIA_KEYERR_CLIENT: number; + readonly MS_MEDIA_KEYERR_DOMAIN: number; + readonly MS_MEDIA_KEYERR_HARDWARECHANGE: number; + readonly MS_MEDIA_KEYERR_OUTPUT: number; + readonly MS_MEDIA_KEYERR_SERVICE: number; + readonly MS_MEDIA_KEYERR_UNKNOWN: number; +} + +declare var MSMediaKeyError: { + prototype: MSMediaKeyError; + new(): MSMediaKeyError; + readonly MS_MEDIA_KEYERR_CLIENT: number; + readonly MS_MEDIA_KEYERR_DOMAIN: number; + readonly MS_MEDIA_KEYERR_HARDWARECHANGE: number; + readonly MS_MEDIA_KEYERR_OUTPUT: number; + readonly MS_MEDIA_KEYERR_SERVICE: number; + readonly MS_MEDIA_KEYERR_UNKNOWN: number; +}; + +interface MSMediaKeyMessageEvent extends Event { + readonly destinationURL: string | null; + readonly message: Uint8Array; +} + +declare var MSMediaKeyMessageEvent: { + prototype: MSMediaKeyMessageEvent; + new(): MSMediaKeyMessageEvent; +}; + +interface MSMediaKeyNeededEvent extends Event { + readonly initData: Uint8Array | null; +} + +declare var MSMediaKeyNeededEvent: { + prototype: MSMediaKeyNeededEvent; + new(): MSMediaKeyNeededEvent; +}; + +interface MSMediaKeySession extends EventTarget { + readonly error: MSMediaKeyError | null; + readonly keySystem: string; + readonly sessionId: string; + close(): void; + update(key: Uint8Array): void; +} + +declare var MSMediaKeySession: { + prototype: MSMediaKeySession; + new(): MSMediaKeySession; +}; + +interface MSMediaKeys { + readonly keySystem: string; + createSession(type: string, initData: Uint8Array, cdmData?: Uint8Array | null): MSMediaKeySession; +} + +declare var MSMediaKeys: { + prototype: MSMediaKeys; + new(keySystem: string): MSMediaKeys; + isTypeSupported(keySystem: string, type?: string | null): boolean; + isTypeSupportedWithFeatures(keySystem: string, type?: string | null): string; +}; + +interface MSNavigatorDoNotTrack { + confirmSiteSpecificTrackingException(args: ConfirmSiteSpecificExceptionsInformation): boolean; + confirmWebWideTrackingException(args: ExceptionInformation): boolean; + removeSiteSpecificTrackingException(args: ExceptionInformation): void; + removeWebWideTrackingException(args: ExceptionInformation): void; + storeSiteSpecificTrackingException(args: StoreSiteSpecificExceptionsInformation): void; + storeWebWideTrackingException(args: StoreExceptionsInformation): void; +} + +interface MSPointerEvent extends MouseEvent { + readonly currentPoint: any; + readonly height: number; + readonly hwTimestamp: number; + readonly intermediatePoints: any; + readonly isPrimary: boolean; + readonly pointerId: number; + readonly pointerType: any; + readonly pressure: number; + readonly rotation: number; + readonly tiltX: number; + readonly tiltY: number; + readonly width: number; + getCurrentPoint(element: Element): void; + getIntermediatePoints(element: Element): void; + initPointerEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, screenXArg: number, screenYArg: number, clientXArg: number, clientYArg: number, ctrlKeyArg: boolean, altKeyArg: boolean, shiftKeyArg: boolean, metaKeyArg: boolean, buttonArg: number, relatedTargetArg: EventTarget, offsetXArg: number, offsetYArg: number, widthArg: number, heightArg: number, pressure: number, rotation: number, tiltX: number, tiltY: number, pointerIdArg: number, pointerType: any, hwTimestampArg: number, isPrimary: boolean): void; +} + +declare var MSPointerEvent: { + prototype: MSPointerEvent; + new(typeArg: string, eventInitDict?: PointerEventInit): MSPointerEvent; +}; + +interface MSStream { + readonly type: string; + msClose(): void; + msDetachStream(): any; +} + +declare var MSStream: { + prototype: MSStream; + new(): MSStream; +}; + +interface MediaDeviceInfo { + readonly deviceId: string; + readonly groupId: string; + readonly kind: MediaDeviceKind; + readonly label: string; +} + +declare var MediaDeviceInfo: { + prototype: MediaDeviceInfo; + new(): MediaDeviceInfo; +}; + +interface MediaDevicesEventMap { + "devicechange": Event; +} + +interface MediaDevices extends EventTarget { + ondevicechange: ((this: MediaDevices, ev: Event) => any) | null; + enumerateDevices(): Promise; + getSupportedConstraints(): MediaTrackSupportedConstraints; + getUserMedia(constraints: MediaStreamConstraints): Promise; + addEventListener(type: K, listener: (this: MediaDevices, ev: MediaDevicesEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: MediaDevices, ev: MediaDevicesEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var MediaDevices: { + prototype: MediaDevices; + new(): MediaDevices; +}; + +interface MediaElementAudioSourceNode extends AudioNode { + readonly mediaElement: HTMLMediaElement; +} + +declare var MediaElementAudioSourceNode: { + prototype: MediaElementAudioSourceNode; + new(context: AudioContext, options: MediaElementAudioSourceOptions): MediaElementAudioSourceNode; +}; + +interface MediaEncryptedEvent extends Event { + readonly initData: ArrayBuffer | null; + readonly initDataType: string; +} + +declare var MediaEncryptedEvent: { + prototype: MediaEncryptedEvent; + new(type: string, eventInitDict?: MediaEncryptedEventInit): MediaEncryptedEvent; +}; + +interface MediaError { + readonly code: number; + readonly message: string; + readonly msExtendedCode: number; + readonly MEDIA_ERR_ABORTED: number; + readonly MEDIA_ERR_DECODE: number; + readonly MEDIA_ERR_NETWORK: number; + readonly MEDIA_ERR_SRC_NOT_SUPPORTED: number; + readonly MS_MEDIA_ERR_ENCRYPTED: number; +} + +declare var MediaError: { + prototype: MediaError; + new(): MediaError; + readonly MEDIA_ERR_ABORTED: number; + readonly MEDIA_ERR_DECODE: number; + readonly MEDIA_ERR_NETWORK: number; + readonly MEDIA_ERR_SRC_NOT_SUPPORTED: number; + readonly MS_MEDIA_ERR_ENCRYPTED: number; +}; + +interface MediaKeyMessageEvent extends Event { + readonly message: ArrayBuffer; + readonly messageType: MediaKeyMessageType; +} + +declare var MediaKeyMessageEvent: { + prototype: MediaKeyMessageEvent; + new(type: string, eventInitDict?: MediaKeyMessageEventInit): MediaKeyMessageEvent; +}; + +interface MediaKeySession extends EventTarget { + readonly closed: Promise; + readonly expiration: number; + readonly keyStatuses: MediaKeyStatusMap; + readonly sessionId: string; + close(): Promise; + generateRequest(initDataType: string, initData: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | null): Promise; + load(sessionId: string): Promise; + remove(): Promise; + update(response: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | null): Promise; +} + +declare var MediaKeySession: { + prototype: MediaKeySession; + new(): MediaKeySession; +}; + +interface MediaKeyStatusMap { + readonly size: number; + forEach(callback: Function, thisArg?: any): void; + get(keyId: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | null): MediaKeyStatus; + has(keyId: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | null): boolean; +} + +declare var MediaKeyStatusMap: { + prototype: MediaKeyStatusMap; + new(): MediaKeyStatusMap; +}; + +interface MediaKeySystemAccess { + readonly keySystem: string; + createMediaKeys(): Promise; + getConfiguration(): MediaKeySystemConfiguration; +} + +declare var MediaKeySystemAccess: { + prototype: MediaKeySystemAccess; + new(): MediaKeySystemAccess; +}; + +interface MediaKeys { + createSession(sessionType?: MediaKeySessionType): MediaKeySession; + setServerCertificate(serverCertificate: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | null): Promise; +} + +declare var MediaKeys: { + prototype: MediaKeys; + new(): MediaKeys; +}; + +interface MediaList { + readonly length: number; + mediaText: string; + appendMedium(medium: string): void; + deleteMedium(medium: string): void; + item(index: number): string | null; + toString(): number; + [index: number]: string; +} + +declare var MediaList: { + prototype: MediaList; + new(): MediaList; +}; + +interface MediaQueryListEventMap { + "change": MediaQueryListEvent; +} + +interface MediaQueryList extends EventTarget { + readonly matches: boolean; + readonly media: string; + onchange: ((this: MediaQueryList, ev: MediaQueryListEvent) => any) | null; + /** @deprecated */ + addListener(listener: ((this: MediaQueryList, ev: MediaQueryListEvent) => any) | null): void; + /** @deprecated */ + removeListener(listener: ((this: MediaQueryList, ev: MediaQueryListEvent) => any) | null): void; + addEventListener(type: K, listener: (this: MediaQueryList, ev: MediaQueryListEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: MediaQueryList, ev: MediaQueryListEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var MediaQueryList: { + prototype: MediaQueryList; + new(): MediaQueryList; +}; + +interface MediaQueryListEvent extends Event { + readonly matches: boolean; + readonly media: string; +} + +declare var MediaQueryListEvent: { + prototype: MediaQueryListEvent; + new(type: string, eventInitDict?: MediaQueryListEventInit): MediaQueryListEvent; +}; + +interface MediaSource extends EventTarget { + readonly activeSourceBuffers: SourceBufferList; + duration: number; + readonly readyState: ReadyState; + readonly sourceBuffers: SourceBufferList; + addSourceBuffer(type: string): SourceBuffer; + endOfStream(error?: EndOfStreamError): void; + removeSourceBuffer(sourceBuffer: SourceBuffer): void; +} + +declare var MediaSource: { + prototype: MediaSource; + new(): MediaSource; + isTypeSupported(type: string): boolean; +}; + +interface MediaStreamEventMap { + "active": Event; + "addtrack": MediaStreamTrackEvent; + "inactive": Event; + "removetrack": MediaStreamTrackEvent; +} + +interface MediaStream extends EventTarget { + readonly active: boolean; + readonly id: string; + onactive: ((this: MediaStream, ev: Event) => any) | null; + onaddtrack: ((this: MediaStream, ev: MediaStreamTrackEvent) => any) | null; + oninactive: ((this: MediaStream, ev: Event) => any) | null; + onremovetrack: ((this: MediaStream, ev: MediaStreamTrackEvent) => any) | null; + addTrack(track: MediaStreamTrack): void; + clone(): MediaStream; + getAudioTracks(): MediaStreamTrack[]; + getTrackById(trackId: string): MediaStreamTrack | null; + getTracks(): MediaStreamTrack[]; + getVideoTracks(): MediaStreamTrack[]; + removeTrack(track: MediaStreamTrack): void; + stop(): void; + addEventListener(type: K, listener: (this: MediaStream, ev: MediaStreamEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: MediaStream, ev: MediaStreamEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var MediaStream: { + prototype: MediaStream; + new(): MediaStream; + new(stream: MediaStream): MediaStream; + new(tracks: MediaStreamTrack[]): MediaStream; +}; + +interface MediaStreamAudioDestinationNode extends AudioNode { + readonly stream: MediaStream; +} + +declare var MediaStreamAudioDestinationNode: { + prototype: MediaStreamAudioDestinationNode; + new(context: AudioContext, options?: AudioNodeOptions): MediaStreamAudioDestinationNode; +}; + +interface MediaStreamAudioSourceNode extends AudioNode { + readonly mediaStream: MediaStream; +} + +declare var MediaStreamAudioSourceNode: { + prototype: MediaStreamAudioSourceNode; + new(context: AudioContext, options: MediaStreamAudioSourceOptions): MediaStreamAudioSourceNode; +}; + +interface MediaStreamError { + readonly constraintName: string | null; + readonly message: string | null; + readonly name: string; +} + +declare var MediaStreamError: { + prototype: MediaStreamError; + new(): MediaStreamError; +}; + +interface MediaStreamErrorEvent extends Event { + readonly error: MediaStreamError | null; +} + +declare var MediaStreamErrorEvent: { + prototype: MediaStreamErrorEvent; + new(typeArg: string, eventInitDict?: MediaStreamErrorEventInit): MediaStreamErrorEvent; +}; + +interface MediaStreamEvent extends Event { + readonly stream: MediaStream | null; +} + +declare var MediaStreamEvent: { + prototype: MediaStreamEvent; + new(type: string, eventInitDict: MediaStreamEventInit): MediaStreamEvent; +}; + +interface MediaStreamTrackEventMap { + "ended": MediaStreamErrorEvent; + "isolationchange": Event; + "mute": Event; + "overconstrained": MediaStreamErrorEvent; + "unmute": Event; +} + +interface MediaStreamTrack extends EventTarget { + enabled: boolean; + readonly id: string; + readonly isolated: boolean; + readonly kind: string; + readonly label: string; + readonly muted: boolean; + onended: ((this: MediaStreamTrack, ev: MediaStreamErrorEvent) => any) | null; + onisolationchange: ((this: MediaStreamTrack, ev: Event) => any) | null; + onmute: ((this: MediaStreamTrack, ev: Event) => any) | null; + onoverconstrained: ((this: MediaStreamTrack, ev: MediaStreamErrorEvent) => any) | null; + onunmute: ((this: MediaStreamTrack, ev: Event) => any) | null; + readonly readonly: boolean; + readonly readyState: MediaStreamTrackState; + readonly remote: boolean; + applyConstraints(constraints: MediaTrackConstraints): Promise; + clone(): MediaStreamTrack; + getCapabilities(): MediaTrackCapabilities; + getConstraints(): MediaTrackConstraints; + getSettings(): MediaTrackSettings; + stop(): void; + addEventListener(type: K, listener: (this: MediaStreamTrack, ev: MediaStreamTrackEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: MediaStreamTrack, ev: MediaStreamTrackEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var MediaStreamTrack: { + prototype: MediaStreamTrack; + new(): MediaStreamTrack; +}; + +interface MediaStreamTrackAudioSourceNode extends AudioNode { +} + +declare var MediaStreamTrackAudioSourceNode: { + prototype: MediaStreamTrackAudioSourceNode; + new(context: AudioContext, options: MediaStreamTrackAudioSourceOptions): MediaStreamTrackAudioSourceNode; +}; + +interface MediaStreamTrackEvent extends Event { + readonly track: MediaStreamTrack; +} + +declare var MediaStreamTrackEvent: { + prototype: MediaStreamTrackEvent; + new(typeArg: string, eventInitDict?: MediaStreamTrackEventInit): MediaStreamTrackEvent; +}; + +interface MessageChannel { + readonly port1: MessagePort; + readonly port2: MessagePort; +} + +declare var MessageChannel: { + prototype: MessageChannel; + new(): MessageChannel; +}; + +interface MessageEvent extends Event { + /** + * Returns the data of the message. + */ + readonly data: any; + /** + * Returns the last event ID string, for + * server-sent events. + */ + readonly lastEventId: string; + /** + * Returns the origin of the message, for server-sent events and + * cross-document messaging. + */ + readonly origin: string; + /** + * Returns the MessagePort array sent with the message, for cross-document + * messaging and channel messaging. + */ + readonly ports: ReadonlyArray; + /** + * Returns the WindowProxy of the source window, for cross-document + * messaging, and the MessagePort being attached, in the connect event fired at + * SharedWorkerGlobalScope objects. + */ + readonly source: MessageEventSource | null; +} + +declare var MessageEvent: { + prototype: MessageEvent; + new(type: string, eventInitDict?: MessageEventInit): MessageEvent; +}; + +interface MessagePortEventMap { + "message": MessageEvent; + "messageerror": MessageEvent; +} + +interface MessagePort extends EventTarget { + onmessage: ((this: MessagePort, ev: MessageEvent) => any) | null; + onmessageerror: ((this: MessagePort, ev: MessageEvent) => any) | null; + /** + * Disconnects the port, so that it is no longer active. + */ + close(): void; + /** + * Posts a message through the channel. Objects listed in transfer are + * transferred, not just cloned, meaning that they are no longer usable on the sending side. + * Throws a "DataCloneError" DOMException if + * transfer contains duplicate objects or port, or if message + * could not be cloned. + */ + postMessage(message: any, transfer?: Transferable[]): void; + /** + * Begins dispatching messages received on the port. + */ + start(): void; + addEventListener(type: K, listener: (this: MessagePort, ev: MessagePortEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: MessagePort, ev: MessagePortEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var MessagePort: { + prototype: MessagePort; + new(): MessagePort; +}; + +interface MimeType { + readonly description: string; + readonly enabledPlugin: Plugin; + readonly suffixes: string; + readonly type: string; +} + +declare var MimeType: { + prototype: MimeType; + new(): MimeType; +}; + +interface MimeTypeArray { + readonly length: number; + item(index: number): Plugin; + namedItem(type: string): Plugin; + [index: number]: Plugin; +} + +declare var MimeTypeArray: { + prototype: MimeTypeArray; + new(): MimeTypeArray; +}; + +interface MouseEvent extends UIEvent { + readonly altKey: boolean; + readonly button: number; + readonly buttons: number; + readonly clientX: number; + readonly clientY: number; + readonly ctrlKey: boolean; + /** @deprecated */ + readonly fromElement: Element; + readonly layerX: number; + readonly layerY: number; + readonly metaKey: boolean; + readonly movementX: number; + readonly movementY: number; + readonly offsetX: number; + readonly offsetY: number; + readonly pageX: number; + readonly pageY: number; + readonly relatedTarget: EventTarget; + readonly screenX: number; + readonly screenY: number; + readonly shiftKey: boolean; + /** @deprecated */ + readonly toElement: Element; + /** @deprecated */ + readonly which: number; + readonly x: number; + readonly y: number; + getModifierState(keyArg: string): boolean; + initMouseEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, screenXArg: number, screenYArg: number, clientXArg: number, clientYArg: number, ctrlKeyArg: boolean, altKeyArg: boolean, shiftKeyArg: boolean, metaKeyArg: boolean, buttonArg: number, relatedTargetArg: EventTarget | null): void; +} + +declare var MouseEvent: { + prototype: MouseEvent; + new(typeArg: string, eventInitDict?: MouseEventInit): MouseEvent; +}; + +interface MutationEvent extends Event { + readonly attrChange: number; + readonly attrName: string; + readonly newValue: string; + readonly prevValue: string; + readonly relatedNode: Node; + initMutationEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, relatedNodeArg: Node, prevValueArg: string, newValueArg: string, attrNameArg: string, attrChangeArg: number): void; + readonly ADDITION: number; + readonly MODIFICATION: number; + readonly REMOVAL: number; +} + +declare var MutationEvent: { + prototype: MutationEvent; + new(): MutationEvent; + readonly ADDITION: number; + readonly MODIFICATION: number; + readonly REMOVAL: number; +}; + +interface MutationObserver { + disconnect(): void; + /** + * Instructs the user agent to observe a given target (a node) and report any mutations based on + * the criteria given by options (an object). + * The options argument allows for setting mutation + * observation options via object members. These are the object members that + * can be used: + * childList + * Set to true if mutations to target's children are to be observed. + * attributes + * Set to true if mutations to target's attributes are to be observed. Can be omitted if attributeOldValue or attributeFilter is + * specified. + * characterData + * Set to true if mutations to target's data are to be observed. Can be omitted if characterDataOldValue is specified. + * subtree + * Set to true if mutations to not just target, but + * also target's descendants are to be + * observed. + * attributeOldValue + * Set to true if attributes is true or omitted + * and target's attribute value before the mutation + * needs to be recorded. + * characterDataOldValue + * Set to true if characterData is set to true or omitted and target's data before the mutation + * needs to be recorded. + * attributeFilter + * Set to a list of attribute local names (without namespace) if not all attribute mutations need to be + * observed and attributes is true + * or omitted. + */ + observe(target: Node, options?: MutationObserverInit): void; + /** + * Empties the record queue and + * returns what was in there. + */ + takeRecords(): MutationRecord[]; +} + +declare var MutationObserver: { + prototype: MutationObserver; + new(callback: MutationCallback): MutationObserver; +}; + +interface MutationRecord { + readonly addedNodes: NodeList; + /** + * Returns the local name of the + * changed attribute, and null otherwise. + */ + readonly attributeName: string | null; + /** + * Returns the namespace of the + * changed attribute, and null otherwise. + */ + readonly attributeNamespace: string | null; + /** + * Return the previous and next sibling respectively + * of the added or removed nodes, and null otherwise. + */ + readonly nextSibling: Node | null; + /** + * The return value depends on type. For + * "attributes", it is the value of the + * changed attribute before the change. + * For "characterData", it is the data of the changed node before the change. For + * "childList", it is null. + */ + readonly oldValue: string | null; + readonly previousSibling: Node | null; + /** + * Return the nodes added and removed + * respectively. + */ + readonly removedNodes: NodeList; + readonly target: Node; + /** + * Returns "attributes" if it was an attribute mutation. + * "characterData" if it was a mutation to a CharacterData node. And + * "childList" if it was a mutation to the tree of nodes. + */ + readonly type: MutationRecordType; +} + +declare var MutationRecord: { + prototype: MutationRecord; + new(): MutationRecord; +}; + +interface NamedNodeMap { + readonly length: number; + getNamedItem(qualifiedName: string): Attr | null; + getNamedItemNS(namespace: string | null, localName: string): Attr | null; + item(index: number): Attr | null; + removeNamedItem(qualifiedName: string): Attr; + removeNamedItemNS(namespace: string | null, localName: string): Attr; + setNamedItem(attr: Attr): Attr | null; + setNamedItemNS(attr: Attr): Attr | null; + [index: number]: Attr; +} + +declare var NamedNodeMap: { + prototype: NamedNodeMap; + new(): NamedNodeMap; +}; + +interface NavigationPreloadManager { + disable(): Promise; + enable(): Promise; + getState(): Promise; + setHeaderValue(value: string): Promise; +} + +declare var NavigationPreloadManager: { + prototype: NavigationPreloadManager; + new(): NavigationPreloadManager; +}; + +interface Navigator extends NavigatorID, NavigatorOnLine, NavigatorContentUtils, NavigatorStorageUtils, MSNavigatorDoNotTrack, MSFileSaver, NavigatorBeacon, NavigatorConcurrentHardware, NavigatorUserMedia, NavigatorLanguage, NavigatorStorage, NavigatorAutomationInformation { + readonly activeVRDisplays: ReadonlyArray; + readonly authentication: WebAuthentication; + readonly cookieEnabled: boolean; + readonly doNotTrack: string | null; + gamepadInputEmulation: GamepadInputEmulationType; + readonly geolocation: Geolocation; + readonly maxTouchPoints: number; + readonly mimeTypes: MimeTypeArray; + readonly msManipulationViewsEnabled: boolean; + readonly msMaxTouchPoints: number; + readonly msPointerEnabled: boolean; + readonly plugins: PluginArray; + readonly pointerEnabled: boolean; + readonly serviceWorker: ServiceWorkerContainer; + readonly webdriver: boolean; + getGamepads(): (Gamepad | null)[]; + getVRDisplays(): Promise; + javaEnabled(): boolean; + msLaunchUri(uri: string, successCallback?: MSLaunchUriCallback, noHandlerCallback?: MSLaunchUriCallback): void; + requestMediaKeySystemAccess(keySystem: string, supportedConfigurations: MediaKeySystemConfiguration[]): Promise; + vibrate(pattern: number | number[]): boolean; +} + +declare var Navigator: { + prototype: Navigator; + new(): Navigator; +}; + +interface NavigatorAutomationInformation { + readonly webdriver: boolean; +} + +interface NavigatorBeacon { + sendBeacon(url: string, data?: Blob | Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | FormData | string | null): boolean; +} + +interface NavigatorConcurrentHardware { + readonly hardwareConcurrency: number; +} + +interface NavigatorContentUtils { +} + +interface NavigatorID { + readonly appCodeName: string; + readonly appName: string; + readonly appVersion: string; + readonly platform: string; + readonly product: string; + readonly productSub: string; + readonly userAgent: string; + readonly vendor: string; + readonly vendorSub: string; +} + +interface NavigatorLanguage { + readonly language: string; + readonly languages: ReadonlyArray; +} + +interface NavigatorOnLine { + readonly onLine: boolean; +} + +interface NavigatorStorage { + readonly storage: StorageManager; +} + +interface NavigatorStorageUtils { +} + +interface NavigatorUserMedia { + readonly mediaDevices: MediaDevices; + getDisplayMedia(constraints: MediaStreamConstraints): Promise; + getUserMedia(constraints: MediaStreamConstraints, successCallback: NavigatorUserMediaSuccessCallback, errorCallback: NavigatorUserMediaErrorCallback): void; +} + +interface Node extends EventTarget { + /** + * Returns node's node document's document base URL. + */ + readonly baseURI: string; + /** + * Returns the children. + */ + readonly childNodes: NodeListOf; + /** + * Returns the first child. + */ + readonly firstChild: ChildNode | null; + /** + * Returns true if node is connected and false otherwise. + */ + readonly isConnected: boolean; + /** + * Returns the last child. + */ + readonly lastChild: ChildNode | null; + /** @deprecated */ + readonly namespaceURI: string | null; + /** + * Returns the next sibling. + */ + readonly nextSibling: Node | null; + /** + * Returns a string appropriate for the type of node, as + * follows: + * Element + * Its HTML-uppercased qualified name. + * Attr + * Its qualified name. + * Text + * "#text". + * CDATASection + * "#cdata-section". + * ProcessingInstruction + * Its target. + * Comment + * "#comment". + * Document + * "#document". + * DocumentType + * Its name. + * DocumentFragment + * "#document-fragment". + */ + readonly nodeName: string; + readonly nodeType: number; + nodeValue: string | null; + /** + * Returns the node document. + * Returns null for documents. + */ + readonly ownerDocument: Document | null; + /** + * Returns the parent element. + */ + readonly parentElement: HTMLElement | null; + /** + * Returns the parent. + */ + readonly parentNode: Node & ParentNode | null; + /** + * Returns the previous sibling. + */ + readonly previousSibling: Node | null; + textContent: string | null; + appendChild(newChild: T): T; + /** + * Returns a copy of node. If deep is true, the copy also includes the node's descendants. + */ + cloneNode(deep?: boolean): Node; + compareDocumentPosition(other: Node): number; + /** + * Returns true if other is an inclusive descendant of node, and false otherwise. + */ + contains(other: Node | null): boolean; + /** + * Returns node's shadow-including root. + */ + getRootNode(options?: GetRootNodeOptions): Node; + /** + * Returns whether node has children. + */ + hasChildNodes(): boolean; + insertBefore(newChild: T, refChild: Node | null): T; + isDefaultNamespace(namespace: string | null): boolean; + /** + * Returns whether node and otherNode have the same properties. + */ + isEqualNode(otherNode: Node | null): boolean; + isSameNode(otherNode: Node | null): boolean; + lookupNamespaceURI(prefix: string | null): string | null; + lookupPrefix(namespace: string | null): string | null; + /** + * Removes empty exclusive Text nodes and concatenates the data of remaining contiguous exclusive Text nodes into the first of their nodes. + */ + normalize(): void; + removeChild(oldChild: T): T; + replaceChild(newChild: Node, oldChild: T): T; + readonly ATTRIBUTE_NODE: number; + readonly CDATA_SECTION_NODE: number; + readonly COMMENT_NODE: number; + readonly DOCUMENT_FRAGMENT_NODE: number; + readonly DOCUMENT_NODE: number; + readonly DOCUMENT_POSITION_CONTAINED_BY: number; + readonly DOCUMENT_POSITION_CONTAINS: number; + readonly DOCUMENT_POSITION_DISCONNECTED: number; + readonly DOCUMENT_POSITION_FOLLOWING: number; + readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: number; + readonly DOCUMENT_POSITION_PRECEDING: number; + readonly DOCUMENT_TYPE_NODE: number; + readonly ELEMENT_NODE: number; + readonly ENTITY_NODE: number; + readonly ENTITY_REFERENCE_NODE: number; + readonly NOTATION_NODE: number; + readonly PROCESSING_INSTRUCTION_NODE: number; + readonly TEXT_NODE: number; +} + +declare var Node: { + prototype: Node; + new(): Node; + readonly ATTRIBUTE_NODE: number; + readonly CDATA_SECTION_NODE: number; + readonly COMMENT_NODE: number; + readonly DOCUMENT_FRAGMENT_NODE: number; + readonly DOCUMENT_NODE: number; + readonly DOCUMENT_POSITION_CONTAINED_BY: number; + readonly DOCUMENT_POSITION_CONTAINS: number; + readonly DOCUMENT_POSITION_DISCONNECTED: number; + readonly DOCUMENT_POSITION_FOLLOWING: number; + readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: number; + readonly DOCUMENT_POSITION_PRECEDING: number; + readonly DOCUMENT_TYPE_NODE: number; + readonly ELEMENT_NODE: number; + readonly ENTITY_NODE: number; + readonly ENTITY_REFERENCE_NODE: number; + readonly NOTATION_NODE: number; + readonly PROCESSING_INSTRUCTION_NODE: number; + readonly TEXT_NODE: number; +}; + +interface NodeFilter { + acceptNode(node: Node): number; +} + +declare var NodeFilter: { + readonly FILTER_ACCEPT: number; + readonly FILTER_REJECT: number; + readonly FILTER_SKIP: number; + readonly SHOW_ALL: number; + readonly SHOW_ATTRIBUTE: number; + readonly SHOW_CDATA_SECTION: number; + readonly SHOW_COMMENT: number; + readonly SHOW_DOCUMENT: number; + readonly SHOW_DOCUMENT_FRAGMENT: number; + readonly SHOW_DOCUMENT_TYPE: number; + readonly SHOW_ELEMENT: number; + readonly SHOW_ENTITY: number; + readonly SHOW_ENTITY_REFERENCE: number; + readonly SHOW_NOTATION: number; + readonly SHOW_PROCESSING_INSTRUCTION: number; + readonly SHOW_TEXT: number; +}; + +interface NodeIterator { + readonly filter: NodeFilter | null; + readonly pointerBeforeReferenceNode: boolean; + readonly referenceNode: Node; + readonly root: Node; + readonly whatToShow: number; + detach(): void; + nextNode(): Node | null; + previousNode(): Node | null; +} + +declare var NodeIterator: { + prototype: NodeIterator; + new(): NodeIterator; +}; + +interface NodeList { + /** + * Returns the number of nodes in the collection. + */ + readonly length: number; + /** + * element = collection[index] + */ + item(index: number): Node | null; + /** + * Performs the specified action for each node in an list. + * @param callbackfn A function that accepts up to three arguments. forEach calls the callbackfn function one time for each element in the list. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. + */ + forEach(callbackfn: (value: Node, key: number, parent: NodeList) => void, thisArg?: any): void; + [index: number]: Node; +} + +declare var NodeList: { + prototype: NodeList; + new(): NodeList; +}; + +interface NodeListOf extends NodeList { + length: number; + item(index: number): TNode; + /** + * Performs the specified action for each node in an list. + * @param callbackfn A function that accepts up to three arguments. forEach calls the callbackfn function one time for each element in the list. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. + */ + forEach(callbackfn: (value: TNode, key: number, parent: NodeListOf) => void, thisArg?: any): void; + [index: number]: TNode; +} + +interface NodeSelector { + querySelector(selectors: K): HTMLElementTagNameMap[K] | null; + querySelector(selectors: K): SVGElementTagNameMap[K] | null; + querySelector(selectors: string): E | null; + querySelectorAll(selectors: K): NodeListOf; + querySelectorAll(selectors: K): NodeListOf; + querySelectorAll(selectors: string): NodeListOf; +} + +interface NonDocumentTypeChildNode { + /** + * Returns the first following sibling that + * is an element, and null otherwise. + */ + readonly nextElementSibling: Element | null; + /** + * Returns the first preceding sibling that + * is an element, and null otherwise. + */ + readonly previousElementSibling: Element | null; +} + +interface NonElementParentNode { + /** + * Returns the first element within node's descendants whose ID is elementId. + */ + getElementById(elementId: string): Element | null; +} + +interface NotificationEventMap { + "click": Event; + "close": Event; + "error": Event; + "show": Event; +} + +interface Notification extends EventTarget { + readonly actions: ReadonlyArray; + readonly badge: string; + readonly body: string; + readonly data: any; + readonly dir: NotificationDirection; + readonly icon: string; + readonly image: string; + readonly lang: string; + onclick: ((this: Notification, ev: Event) => any) | null; + onclose: ((this: Notification, ev: Event) => any) | null; + onerror: ((this: Notification, ev: Event) => any) | null; + onshow: ((this: Notification, ev: Event) => any) | null; + readonly renotify: boolean; + readonly requireInteraction: boolean; + readonly silent: boolean; + readonly tag: string; + readonly timestamp: number; + readonly title: string; + readonly vibrate: ReadonlyArray; + close(): void; + addEventListener(type: K, listener: (this: Notification, ev: NotificationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: Notification, ev: NotificationEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var Notification: { + prototype: Notification; + new(title: string, options?: NotificationOptions): Notification; + readonly maxActions: number; + readonly permission: NotificationPermission; + requestPermission(deprecatedCallback?: NotificationPermissionCallback): Promise; +}; + +interface OES_element_index_uint { +} + +interface OES_standard_derivatives { + readonly FRAGMENT_SHADER_DERIVATIVE_HINT_OES: GLenum; +} + +interface OES_texture_float { +} + +interface OES_texture_float_linear { +} + +interface OES_texture_half_float { + readonly HALF_FLOAT_OES: GLenum; +} + +interface OES_texture_half_float_linear { +} + +interface OES_vertex_array_object { + bindVertexArrayOES(arrayObject: WebGLVertexArrayObjectOES | null): void; + createVertexArrayOES(): WebGLVertexArrayObjectOES | null; + deleteVertexArrayOES(arrayObject: WebGLVertexArrayObjectOES | null): void; + isVertexArrayOES(arrayObject: WebGLVertexArrayObjectOES | null): GLboolean; + readonly VERTEX_ARRAY_BINDING_OES: GLenum; +} + +interface OfflineAudioCompletionEvent extends Event { + readonly renderedBuffer: AudioBuffer; +} + +declare var OfflineAudioCompletionEvent: { + prototype: OfflineAudioCompletionEvent; + new(type: string, eventInitDict: OfflineAudioCompletionEventInit): OfflineAudioCompletionEvent; +}; + +interface OfflineAudioContextEventMap extends BaseAudioContextEventMap { + "complete": OfflineAudioCompletionEvent; +} + +interface OfflineAudioContext extends BaseAudioContext { + readonly length: number; + oncomplete: ((this: OfflineAudioContext, ev: OfflineAudioCompletionEvent) => any) | null; + startRendering(): Promise; + suspend(suspendTime: number): Promise; + addEventListener(type: K, listener: (this: OfflineAudioContext, ev: OfflineAudioContextEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: OfflineAudioContext, ev: OfflineAudioContextEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var OfflineAudioContext: { + prototype: OfflineAudioContext; + new(contextOptions: OfflineAudioContextOptions): OfflineAudioContext; + new(numberOfChannels: number, length: number, sampleRate: number): OfflineAudioContext; +}; + +interface OscillatorNode extends AudioScheduledSourceNode { + readonly detune: AudioParam; + readonly frequency: AudioParam; + type: OscillatorType; + setPeriodicWave(periodicWave: PeriodicWave): void; + addEventListener(type: K, listener: (this: OscillatorNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: OscillatorNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var OscillatorNode: { + prototype: OscillatorNode; + new(context: BaseAudioContext, options?: OscillatorOptions): OscillatorNode; +}; + +interface OverflowEvent extends UIEvent { + readonly horizontalOverflow: boolean; + readonly orient: number; + readonly verticalOverflow: boolean; + readonly BOTH: number; + readonly HORIZONTAL: number; + readonly VERTICAL: number; +} + +declare var OverflowEvent: { + prototype: OverflowEvent; + new(): OverflowEvent; + readonly BOTH: number; + readonly HORIZONTAL: number; + readonly VERTICAL: number; +}; + +interface PageTransitionEvent extends Event { + readonly persisted: boolean; +} + +declare var PageTransitionEvent: { + prototype: PageTransitionEvent; + new(): PageTransitionEvent; +}; + +interface PannerNode extends AudioNode { + coneInnerAngle: number; + coneOuterAngle: number; + coneOuterGain: number; + distanceModel: DistanceModelType; + maxDistance: number; + readonly orientationX: AudioParam; + readonly orientationY: AudioParam; + readonly orientationZ: AudioParam; + panningModel: PanningModelType; + readonly positionX: AudioParam; + readonly positionY: AudioParam; + readonly positionZ: AudioParam; + refDistance: number; + rolloffFactor: number; + /** @deprecated */ + setOrientation(x: number, y: number, z: number): void; + /** @deprecated */ + setPosition(x: number, y: number, z: number): void; +} + +declare var PannerNode: { + prototype: PannerNode; + new(context: BaseAudioContext, options?: PannerOptions): PannerNode; +}; + +interface ParentNode { + readonly childElementCount: number; + /** + * Returns the child elements. + */ + readonly children: HTMLCollection; + /** + * Returns the first child that is an element, and null otherwise. + */ + readonly firstElementChild: Element | null; + /** + * Returns the last child that is an element, and null otherwise. + */ + readonly lastElementChild: Element | null; + /** + * Inserts nodes after the last child of node, while replacing + * strings in nodes with equivalent Text nodes. + * Throws a "HierarchyRequestError" DOMException if the constraints of + * the node tree are violated. + */ + append(...nodes: (Node | string)[]): void; + /** + * Inserts nodes before the first child of node, while + * replacing strings in nodes with equivalent Text nodes. + * Throws a "HierarchyRequestError" DOMException if the constraints of + * the node tree are violated. + */ + prepend(...nodes: (Node | string)[]): void; + /** + * Returns the first element that is a descendant of node that + * matches selectors. + */ + querySelector(selectors: K): HTMLElementTagNameMap[K] | null; + querySelector(selectors: K): SVGElementTagNameMap[K] | null; + querySelector(selectors: string): E | null; + /** + * Returns all element descendants of node that + * match selectors. + */ + querySelectorAll(selectors: K): NodeListOf; + querySelectorAll(selectors: K): NodeListOf; + querySelectorAll(selectors: string): NodeListOf; +} + +interface Path2D extends CanvasPath { + addPath(path: Path2D, transform?: DOMMatrix2DInit): void; +} + +declare var Path2D: { + prototype: Path2D; + new(path?: Path2D | string): Path2D; +}; + +interface PaymentAddress { + readonly addressLine: string[]; + readonly city: string; + readonly country: string; + readonly dependentLocality: string; + readonly languageCode: string; + readonly organization: string; + readonly phone: string; + readonly postalCode: string; + readonly recipient: string; + readonly region: string; + readonly sortingCode: string; + toJSON(): any; +} + +declare var PaymentAddress: { + prototype: PaymentAddress; + new(): PaymentAddress; +}; + +interface PaymentRequestEventMap { + "shippingaddresschange": Event; + "shippingoptionchange": Event; +} + +interface PaymentRequest extends EventTarget { + readonly id: string; + onshippingaddresschange: ((this: PaymentRequest, ev: Event) => any) | null; + onshippingoptionchange: ((this: PaymentRequest, ev: Event) => any) | null; + readonly shippingAddress: PaymentAddress | null; + readonly shippingOption: string | null; + readonly shippingType: PaymentShippingType | null; + abort(): Promise; + canMakePayment(): Promise; + show(): Promise; + addEventListener(type: K, listener: (this: PaymentRequest, ev: PaymentRequestEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: PaymentRequest, ev: PaymentRequestEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var PaymentRequest: { + prototype: PaymentRequest; + new(methodData: PaymentMethodData[], details: PaymentDetailsInit, options?: PaymentOptions): PaymentRequest; +}; + +interface PaymentRequestUpdateEvent extends Event { + updateWith(detailsPromise: Promise): void; +} + +declare var PaymentRequestUpdateEvent: { + prototype: PaymentRequestUpdateEvent; + new(type: string, eventInitDict?: PaymentRequestUpdateEventInit): PaymentRequestUpdateEvent; +}; + +interface PaymentResponse { + readonly details: any; + readonly methodName: string; + readonly payerEmail: string | null; + readonly payerName: string | null; + readonly payerPhone: string | null; + readonly requestId: string; + readonly shippingAddress: PaymentAddress | null; + readonly shippingOption: string | null; + complete(result?: PaymentComplete): Promise; + toJSON(): any; +} + +declare var PaymentResponse: { + prototype: PaymentResponse; + new(): PaymentResponse; +}; + +interface PerfWidgetExternal { + readonly activeNetworkRequestCount: number; + readonly averageFrameTime: number; + readonly averagePaintTime: number; + readonly extraInformationEnabled: boolean; + readonly independentRenderingEnabled: boolean; + readonly irDisablingContentString: string; + readonly irStatusAvailable: boolean; + readonly maxCpuSpeed: number; + readonly paintRequestsPerSecond: number; + readonly performanceCounter: number; + readonly performanceCounterFrequency: number; + addEventListener(eventType: string, callback: Function): void; + getMemoryUsage(): number; + getProcessCpuUsage(): number; + getRecentCpuUsage(last: number | null): any; + getRecentFrames(last: number | null): any; + getRecentMemoryUsage(last: number | null): any; + getRecentPaintRequests(last: number | null): any; + removeEventListener(eventType: string, callback: Function): void; + repositionWindow(x: number, y: number): void; + resizeWindow(width: number, height: number): void; +} + +declare var PerfWidgetExternal: { + prototype: PerfWidgetExternal; + new(): PerfWidgetExternal; +}; + +interface PerformanceEventMap { + "resourcetimingbufferfull": Event; +} + +interface Performance extends EventTarget { + /** @deprecated */ + readonly navigation: PerformanceNavigation; + onresourcetimingbufferfull: ((this: Performance, ev: Event) => any) | null; + readonly timeOrigin: number; + /** @deprecated */ + readonly timing: PerformanceTiming; + clearMarks(markName?: string): void; + clearMeasures(measureName?: string): void; + clearResourceTimings(): void; + getEntries(): PerformanceEntryList; + getEntriesByName(name: string, type?: string): PerformanceEntryList; + getEntriesByType(type: string): PerformanceEntryList; + mark(markName: string): void; + measure(measureName: string, startMark?: string, endMark?: string): void; + now(): number; + setResourceTimingBufferSize(maxSize: number): void; + toJSON(): any; + addEventListener(type: K, listener: (this: Performance, ev: PerformanceEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: Performance, ev: PerformanceEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var Performance: { + prototype: Performance; + new(): Performance; +}; + +interface PerformanceEntry { + readonly duration: number; + readonly entryType: string; + readonly name: string; + readonly startTime: number; + toJSON(): any; +} + +declare var PerformanceEntry: { + prototype: PerformanceEntry; + new(): PerformanceEntry; +}; + +interface PerformanceMark extends PerformanceEntry { +} + +declare var PerformanceMark: { + prototype: PerformanceMark; + new(): PerformanceMark; +}; + +interface PerformanceMeasure extends PerformanceEntry { +} + +declare var PerformanceMeasure: { + prototype: PerformanceMeasure; + new(): PerformanceMeasure; +}; + +interface PerformanceNavigation { + readonly redirectCount: number; + readonly type: number; + toJSON(): any; + readonly TYPE_BACK_FORWARD: number; + readonly TYPE_NAVIGATE: number; + readonly TYPE_RELOAD: number; + readonly TYPE_RESERVED: number; +} + +declare var PerformanceNavigation: { + prototype: PerformanceNavigation; + new(): PerformanceNavigation; + readonly TYPE_BACK_FORWARD: number; + readonly TYPE_NAVIGATE: number; + readonly TYPE_RELOAD: number; + readonly TYPE_RESERVED: number; +}; + +interface PerformanceNavigationTiming extends PerformanceResourceTiming { + readonly domComplete: number; + readonly domContentLoadedEventEnd: number; + readonly domContentLoadedEventStart: number; + readonly domInteractive: number; + readonly loadEventEnd: number; + readonly loadEventStart: number; + readonly redirectCount: number; + readonly type: NavigationType; + readonly unloadEventEnd: number; + readonly unloadEventStart: number; + toJSON(): any; +} + +declare var PerformanceNavigationTiming: { + prototype: PerformanceNavigationTiming; + new(): PerformanceNavigationTiming; +}; + +interface PerformanceObserver { + disconnect(): void; + observe(options: PerformanceObserverInit): void; + takeRecords(): PerformanceEntryList; +} + +declare var PerformanceObserver: { + prototype: PerformanceObserver; + new(callback: PerformanceObserverCallback): PerformanceObserver; +}; + +interface PerformanceObserverEntryList { + getEntries(): PerformanceEntryList; + getEntriesByName(name: string, type?: string): PerformanceEntryList; + getEntriesByType(type: string): PerformanceEntryList; +} + +declare var PerformanceObserverEntryList: { + prototype: PerformanceObserverEntryList; + new(): PerformanceObserverEntryList; +}; + +interface PerformanceResourceTiming extends PerformanceEntry { + readonly connectEnd: number; + readonly connectStart: number; + readonly decodedBodySize: number; + readonly domainLookupEnd: number; + readonly domainLookupStart: number; + readonly encodedBodySize: number; + readonly fetchStart: number; + readonly initiatorType: string; + readonly nextHopProtocol: string; + readonly redirectEnd: number; + readonly redirectStart: number; + readonly requestStart: number; + readonly responseEnd: number; + readonly responseStart: number; + readonly secureConnectionStart: number; + readonly transferSize: number; + readonly workerStart: number; + toJSON(): any; +} + +declare var PerformanceResourceTiming: { + prototype: PerformanceResourceTiming; + new(): PerformanceResourceTiming; +}; + +interface PerformanceTiming { + readonly connectEnd: number; + readonly connectStart: number; + readonly domComplete: number; + readonly domContentLoadedEventEnd: number; + readonly domContentLoadedEventStart: number; + readonly domInteractive: number; + readonly domLoading: number; + readonly domainLookupEnd: number; + readonly domainLookupStart: number; + readonly fetchStart: number; + readonly loadEventEnd: number; + readonly loadEventStart: number; + readonly navigationStart: number; + readonly redirectEnd: number; + readonly redirectStart: number; + readonly requestStart: number; + readonly responseEnd: number; + readonly responseStart: number; + readonly secureConnectionStart: number; + readonly unloadEventEnd: number; + readonly unloadEventStart: number; + toJSON(): any; +} + +declare var PerformanceTiming: { + prototype: PerformanceTiming; + new(): PerformanceTiming; +}; + +interface PeriodicWave { +} + +declare var PeriodicWave: { + prototype: PeriodicWave; + new(context: BaseAudioContext, options?: PeriodicWaveOptions): PeriodicWave; +}; + +interface PermissionRequest extends DeferredPermissionRequest { + readonly state: MSWebViewPermissionState; + defer(): void; +} + +declare var PermissionRequest: { + prototype: PermissionRequest; + new(): PermissionRequest; +}; + +interface PermissionRequestedEvent extends Event { + readonly permissionRequest: PermissionRequest; +} + +declare var PermissionRequestedEvent: { + prototype: PermissionRequestedEvent; + new(): PermissionRequestedEvent; +}; + +interface Plugin { + readonly description: string; + readonly filename: string; + readonly length: number; + readonly name: string; + readonly version: string; + item(index: number): MimeType; + namedItem(type: string): MimeType; + [index: number]: MimeType; +} + +declare var Plugin: { + prototype: Plugin; + new(): Plugin; +}; + +interface PluginArray { + readonly length: number; + item(index: number): Plugin; + namedItem(name: string): Plugin; + refresh(reload?: boolean): void; + [index: number]: Plugin; +} + +declare var PluginArray: { + prototype: PluginArray; + new(): PluginArray; +}; + +interface PointerEvent extends MouseEvent { + readonly height: number; + readonly isPrimary: boolean; + readonly pointerId: number; + readonly pointerType: string; + readonly pressure: number; + readonly tangentialPressure: number; + readonly tiltX: number; + readonly tiltY: number; + readonly twist: number; + readonly width: number; +} + +declare var PointerEvent: { + prototype: PointerEvent; + new(type: string, eventInitDict?: PointerEventInit): PointerEvent; +}; + +interface PopStateEvent extends Event { + readonly state: any; +} + +declare var PopStateEvent: { + prototype: PopStateEvent; + new(type: string, eventInitDict?: PopStateEventInit): PopStateEvent; +}; + +interface Position { + readonly coords: Coordinates; + readonly timestamp: number; +} + +interface PositionError { + readonly code: number; + readonly message: string; + readonly PERMISSION_DENIED: number; + readonly POSITION_UNAVAILABLE: number; + readonly TIMEOUT: number; +} + +interface ProcessingInstruction extends CharacterData { + readonly target: string; +} + +declare var ProcessingInstruction: { + prototype: ProcessingInstruction; + new(): ProcessingInstruction; +}; + +interface ProgressEvent extends Event { + readonly lengthComputable: boolean; + readonly loaded: number; + readonly total: number; +} + +declare var ProgressEvent: { + prototype: ProgressEvent; + new(type: string, eventInitDict?: ProgressEventInit): ProgressEvent; +}; + +interface PromiseRejectionEvent extends Event { + readonly promise: Promise; + readonly reason: any; +} + +declare var PromiseRejectionEvent: { + prototype: PromiseRejectionEvent; + new(type: string, eventInitDict: PromiseRejectionEventInit): PromiseRejectionEvent; +}; + +interface PushManager { + getSubscription(): Promise; + permissionState(options?: PushSubscriptionOptionsInit): Promise; + subscribe(options?: PushSubscriptionOptionsInit): Promise; +} + +declare var PushManager: { + prototype: PushManager; + new(): PushManager; + readonly supportedContentEncodings: ReadonlyArray; +}; + +interface PushSubscription { + readonly endpoint: string; + readonly expirationTime: number | null; + readonly options: PushSubscriptionOptions; + getKey(name: PushEncryptionKeyName): ArrayBuffer | null; + toJSON(): PushSubscriptionJSON; + unsubscribe(): Promise; +} + +declare var PushSubscription: { + prototype: PushSubscription; + new(): PushSubscription; +}; + +interface PushSubscriptionOptions { + readonly applicationServerKey: ArrayBuffer | null; + readonly userVisibleOnly: boolean; +} + +declare var PushSubscriptionOptions: { + prototype: PushSubscriptionOptions; + new(): PushSubscriptionOptions; +}; + +interface RTCCertificate { + readonly expires: number; + getFingerprints(): RTCDtlsFingerprint[]; +} + +declare var RTCCertificate: { + prototype: RTCCertificate; + new(): RTCCertificate; + getSupportedAlgorithms(): AlgorithmIdentifier[]; +}; + +interface RTCDTMFSenderEventMap { + "tonechange": RTCDTMFToneChangeEvent; +} + +interface RTCDTMFSender extends EventTarget { + readonly canInsertDTMF: boolean; + ontonechange: ((this: RTCDTMFSender, ev: RTCDTMFToneChangeEvent) => any) | null; + readonly toneBuffer: string; + insertDTMF(tones: string, duration?: number, interToneGap?: number): void; + addEventListener(type: K, listener: (this: RTCDTMFSender, ev: RTCDTMFSenderEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: RTCDTMFSender, ev: RTCDTMFSenderEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var RTCDTMFSender: { + prototype: RTCDTMFSender; + new(): RTCDTMFSender; +}; + +interface RTCDTMFToneChangeEvent extends Event { + readonly tone: string; +} + +declare var RTCDTMFToneChangeEvent: { + prototype: RTCDTMFToneChangeEvent; + new(type: string, eventInitDict: RTCDTMFToneChangeEventInit): RTCDTMFToneChangeEvent; +}; + +interface RTCDataChannelEventMap { + "bufferedamountlow": Event; + "close": Event; + "error": RTCErrorEvent; + "message": MessageEvent; + "open": Event; +} + +interface RTCDataChannel extends EventTarget { + binaryType: string; + readonly bufferedAmount: number; + bufferedAmountLowThreshold: number; + readonly id: number | null; + readonly label: string; + readonly maxPacketLifeTime: number | null; + readonly maxRetransmits: number | null; + readonly negotiated: boolean; + onbufferedamountlow: ((this: RTCDataChannel, ev: Event) => any) | null; + onclose: ((this: RTCDataChannel, ev: Event) => any) | null; + onerror: ((this: RTCDataChannel, ev: RTCErrorEvent) => any) | null; + onmessage: ((this: RTCDataChannel, ev: MessageEvent) => any) | null; + onopen: ((this: RTCDataChannel, ev: Event) => any) | null; + readonly ordered: boolean; + readonly priority: RTCPriorityType; + readonly protocol: string; + readonly readyState: RTCDataChannelState; + close(): void; + send(data: string): void; + send(data: Blob): void; + send(data: ArrayBuffer): void; + send(data: ArrayBufferView): void; + addEventListener(type: K, listener: (this: RTCDataChannel, ev: RTCDataChannelEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: RTCDataChannel, ev: RTCDataChannelEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var RTCDataChannel: { + prototype: RTCDataChannel; + new(): RTCDataChannel; +}; + +interface RTCDataChannelEvent extends Event { + readonly channel: RTCDataChannel; +} + +declare var RTCDataChannelEvent: { + prototype: RTCDataChannelEvent; + new(type: string, eventInitDict: RTCDataChannelEventInit): RTCDataChannelEvent; +}; + +interface RTCDtlsTransportEventMap { + "error": RTCErrorEvent; + "statechange": Event; +} + +interface RTCDtlsTransport extends EventTarget { + onerror: ((this: RTCDtlsTransport, ev: RTCErrorEvent) => any) | null; + onstatechange: ((this: RTCDtlsTransport, ev: Event) => any) | null; + readonly state: RTCDtlsTransportState; + readonly transport: RTCIceTransport; + getRemoteCertificates(): ArrayBuffer[]; + addEventListener(type: K, listener: (this: RTCDtlsTransport, ev: RTCDtlsTransportEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: RTCDtlsTransport, ev: RTCDtlsTransportEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var RTCDtlsTransport: { + prototype: RTCDtlsTransport; + new(): RTCDtlsTransport; +}; + +interface RTCDtlsTransportStateChangedEvent extends Event { + readonly state: RTCDtlsTransportState; +} + +declare var RTCDtlsTransportStateChangedEvent: { + prototype: RTCDtlsTransportStateChangedEvent; + new(): RTCDtlsTransportStateChangedEvent; +}; + +interface RTCDtmfSenderEventMap { + "tonechange": RTCDTMFToneChangeEvent; +} + +interface RTCDtmfSender extends EventTarget { + readonly canInsertDTMF: boolean; + readonly duration: number; + readonly interToneGap: number; + ontonechange: ((this: RTCDtmfSender, ev: RTCDTMFToneChangeEvent) => any) | null; + readonly sender: RTCRtpSender; + readonly toneBuffer: string; + insertDTMF(tones: string, duration?: number, interToneGap?: number): void; + addEventListener(type: K, listener: (this: RTCDtmfSender, ev: RTCDtmfSenderEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: RTCDtmfSender, ev: RTCDtmfSenderEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var RTCDtmfSender: { + prototype: RTCDtmfSender; + new(sender: RTCRtpSender): RTCDtmfSender; +}; + +interface RTCError extends Error { + errorDetail: string; + httpRequestStatusCode: number; + message: string; + name: string; + receivedAlert: number | null; + sctpCauseCode: number; + sdpLineNumber: number; + sentAlert: number | null; +} + +declare var RTCError: { + prototype: RTCError; + new(errorDetail?: string, message?: string): RTCError; +}; + +interface RTCErrorEvent extends Event { + readonly error: RTCError | null; +} + +declare var RTCErrorEvent: { + prototype: RTCErrorEvent; + new(type: string, eventInitDict: RTCErrorEventInit): RTCErrorEvent; +}; + +interface RTCIceCandidate { + readonly candidate: string; + readonly component: RTCIceComponent | null; + readonly foundation: string | null; + readonly ip: string | null; + readonly port: number | null; + readonly priority: number | null; + readonly protocol: RTCIceProtocol | null; + readonly relatedAddress: string | null; + readonly relatedPort: number | null; + readonly sdpMLineIndex: number | null; + readonly sdpMid: string | null; + readonly tcpType: RTCIceTcpCandidateType | null; + readonly type: RTCIceCandidateType | null; + readonly usernameFragment: string | null; + toJSON(): RTCIceCandidateInit; +} + +declare var RTCIceCandidate: { + prototype: RTCIceCandidate; + new(candidateInitDict?: RTCIceCandidateInit): RTCIceCandidate; +}; + +interface RTCIceCandidatePairChangedEvent extends Event { + readonly pair: RTCIceCandidatePair; +} + +declare var RTCIceCandidatePairChangedEvent: { + prototype: RTCIceCandidatePairChangedEvent; + new(): RTCIceCandidatePairChangedEvent; +}; + +interface RTCIceGathererEventMap { + "error": Event; + "localcandidate": RTCIceGathererEvent; +} + +interface RTCIceGatherer extends RTCStatsProvider { + readonly component: RTCIceComponent; + onerror: ((this: RTCIceGatherer, ev: Event) => any) | null; + onlocalcandidate: ((this: RTCIceGatherer, ev: RTCIceGathererEvent) => any) | null; + createAssociatedGatherer(): RTCIceGatherer; + getLocalCandidates(): RTCIceCandidateDictionary[]; + getLocalParameters(): RTCIceParameters; + addEventListener(type: K, listener: (this: RTCIceGatherer, ev: RTCIceGathererEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: RTCIceGatherer, ev: RTCIceGathererEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var RTCIceGatherer: { + prototype: RTCIceGatherer; + new(options: RTCIceGatherOptions): RTCIceGatherer; +}; + +interface RTCIceGathererEvent extends Event { + readonly candidate: RTCIceCandidateDictionary | RTCIceCandidateComplete; +} + +declare var RTCIceGathererEvent: { + prototype: RTCIceGathererEvent; + new(): RTCIceGathererEvent; +}; + +interface RTCIceTransportEventMap { + "gatheringstatechange": Event; + "selectedcandidatepairchange": Event; + "statechange": Event; +} + +interface RTCIceTransport extends EventTarget { + readonly component: RTCIceComponent; + readonly gatheringState: RTCIceGathererState; + ongatheringstatechange: ((this: RTCIceTransport, ev: Event) => any) | null; + onselectedcandidatepairchange: ((this: RTCIceTransport, ev: Event) => any) | null; + onstatechange: ((this: RTCIceTransport, ev: Event) => any) | null; + readonly role: RTCIceRole; + readonly state: RTCIceTransportState; + getLocalCandidates(): RTCIceCandidate[]; + getLocalParameters(): RTCIceParameters | null; + getRemoteCandidates(): RTCIceCandidate[]; + getRemoteParameters(): RTCIceParameters | null; + getSelectedCandidatePair(): RTCIceCandidatePair | null; + addEventListener(type: K, listener: (this: RTCIceTransport, ev: RTCIceTransportEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: RTCIceTransport, ev: RTCIceTransportEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var RTCIceTransport: { + prototype: RTCIceTransport; + new(): RTCIceTransport; +}; + +interface RTCIceTransportStateChangedEvent extends Event { + readonly state: RTCIceTransportState; +} + +declare var RTCIceTransportStateChangedEvent: { + prototype: RTCIceTransportStateChangedEvent; + new(): RTCIceTransportStateChangedEvent; +}; + +interface RTCIdentityAssertion { + idp: string; + name: string; +} + +declare var RTCIdentityAssertion: { + prototype: RTCIdentityAssertion; + new(idp: string, name: string): RTCIdentityAssertion; +}; + +interface RTCPeerConnectionEventMap { + "connectionstatechange": Event; + "datachannel": RTCDataChannelEvent; + "icecandidate": RTCPeerConnectionIceEvent; + "icecandidateerror": RTCPeerConnectionIceErrorEvent; + "iceconnectionstatechange": Event; + "icegatheringstatechange": Event; + "negotiationneeded": Event; + "signalingstatechange": Event; + "statsended": RTCStatsEvent; + "track": RTCTrackEvent; +} + +interface RTCPeerConnection extends EventTarget { + readonly canTrickleIceCandidates: boolean | null; + readonly connectionState: RTCPeerConnectionState; + readonly currentLocalDescription: RTCSessionDescription | null; + readonly currentRemoteDescription: RTCSessionDescription | null; + readonly iceConnectionState: RTCIceConnectionState; + readonly iceGatheringState: RTCIceGatheringState; + readonly idpErrorInfo: string | null; + readonly idpLoginUrl: string | null; + readonly localDescription: RTCSessionDescription | null; + onconnectionstatechange: ((this: RTCPeerConnection, ev: Event) => any) | null; + ondatachannel: ((this: RTCPeerConnection, ev: RTCDataChannelEvent) => any) | null; + onicecandidate: ((this: RTCPeerConnection, ev: RTCPeerConnectionIceEvent) => any) | null; + onicecandidateerror: ((this: RTCPeerConnection, ev: RTCPeerConnectionIceErrorEvent) => any) | null; + oniceconnectionstatechange: ((this: RTCPeerConnection, ev: Event) => any) | null; + onicegatheringstatechange: ((this: RTCPeerConnection, ev: Event) => any) | null; + onnegotiationneeded: ((this: RTCPeerConnection, ev: Event) => any) | null; + onsignalingstatechange: ((this: RTCPeerConnection, ev: Event) => any) | null; + onstatsended: ((this: RTCPeerConnection, ev: RTCStatsEvent) => any) | null; + ontrack: ((this: RTCPeerConnection, ev: RTCTrackEvent) => any) | null; + readonly peerIdentity: Promise; + readonly pendingLocalDescription: RTCSessionDescription | null; + readonly pendingRemoteDescription: RTCSessionDescription | null; + readonly remoteDescription: RTCSessionDescription | null; + readonly sctp: RTCSctpTransport | null; + readonly signalingState: RTCSignalingState; + addIceCandidate(candidate: RTCIceCandidateInit | RTCIceCandidate): Promise; + addTrack(track: MediaStreamTrack, ...streams: MediaStream[]): RTCRtpSender; + addTransceiver(trackOrKind: MediaStreamTrack | string, init?: RTCRtpTransceiverInit): RTCRtpTransceiver; + close(): void; + createAnswer(options?: RTCOfferOptions): Promise; + createDataChannel(label: string, dataChannelDict?: RTCDataChannelInit): RTCDataChannel; + createOffer(options?: RTCOfferOptions): Promise; + getConfiguration(): RTCConfiguration; + getIdentityAssertion(): Promise; + getReceivers(): RTCRtpReceiver[]; + getSenders(): RTCRtpSender[]; + getStats(selector?: MediaStreamTrack | null): Promise; + getTransceivers(): RTCRtpTransceiver[]; + removeTrack(sender: RTCRtpSender): void; + setConfiguration(configuration: RTCConfiguration): void; + setIdentityProvider(provider: string, options?: RTCIdentityProviderOptions): void; + setLocalDescription(description: RTCSessionDescriptionInit): Promise; + setRemoteDescription(description: RTCSessionDescriptionInit): Promise; + addEventListener(type: K, listener: (this: RTCPeerConnection, ev: RTCPeerConnectionEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: RTCPeerConnection, ev: RTCPeerConnectionEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var RTCPeerConnection: { + prototype: RTCPeerConnection; + new(configuration?: RTCConfiguration): RTCPeerConnection; + generateCertificate(keygenAlgorithm: AlgorithmIdentifier): Promise; + getDefaultIceServers(): RTCIceServer[]; +}; + +interface RTCPeerConnectionIceErrorEvent extends Event { + readonly errorCode: number; + readonly errorText: string; + readonly hostCandidate: string; + readonly url: string; +} + +declare var RTCPeerConnectionIceErrorEvent: { + prototype: RTCPeerConnectionIceErrorEvent; + new(type: string, eventInitDict: RTCPeerConnectionIceErrorEventInit): RTCPeerConnectionIceErrorEvent; +}; + +interface RTCPeerConnectionIceEvent extends Event { + readonly candidate: RTCIceCandidate | null; + readonly url: string | null; +} + +declare var RTCPeerConnectionIceEvent: { + prototype: RTCPeerConnectionIceEvent; + new(type: string, eventInitDict?: RTCPeerConnectionIceEventInit): RTCPeerConnectionIceEvent; +}; + +interface RTCRtpReceiver { + readonly rtcpTransport: RTCDtlsTransport | null; + readonly track: MediaStreamTrack; + readonly transport: RTCDtlsTransport | null; + getContributingSources(): RTCRtpContributingSource[]; + getParameters(): RTCRtpReceiveParameters; + getStats(): Promise; + getSynchronizationSources(): RTCRtpSynchronizationSource[]; +} + +declare var RTCRtpReceiver: { + prototype: RTCRtpReceiver; + new(): RTCRtpReceiver; + getCapabilities(kind: string): RTCRtpCapabilities | null; +}; + +interface RTCRtpSender { + readonly dtmf: RTCDTMFSender | null; + readonly rtcpTransport: RTCDtlsTransport | null; + readonly track: MediaStreamTrack | null; + readonly transport: RTCDtlsTransport | null; + getParameters(): RTCRtpSendParameters; + getStats(): Promise; + replaceTrack(withTrack: MediaStreamTrack | null): Promise; + setParameters(parameters: RTCRtpSendParameters): Promise; + setStreams(...streams: MediaStream[]): void; +} + +declare var RTCRtpSender: { + prototype: RTCRtpSender; + new(): RTCRtpSender; + getCapabilities(kind: string): RTCRtpCapabilities | null; +}; + +interface RTCRtpTransceiver { + readonly currentDirection: RTCRtpTransceiverDirection | null; + direction: RTCRtpTransceiverDirection; + readonly mid: string | null; + readonly receiver: RTCRtpReceiver; + readonly sender: RTCRtpSender; + readonly stopped: boolean; + setCodecPreferences(codecs: RTCRtpCodecCapability[]): void; + stop(): void; +} + +declare var RTCRtpTransceiver: { + prototype: RTCRtpTransceiver; + new(): RTCRtpTransceiver; +}; + +interface RTCSctpTransportEventMap { + "statechange": Event; +} + +interface RTCSctpTransport { + readonly maxChannels: number | null; + readonly maxMessageSize: number; + onstatechange: ((this: RTCSctpTransport, ev: Event) => any) | null; + readonly state: RTCSctpTransportState; + readonly transport: RTCDtlsTransport; + addEventListener(type: K, listener: (this: RTCSctpTransport, ev: RTCSctpTransportEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: RTCSctpTransport, ev: RTCSctpTransportEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var RTCSctpTransport: { + prototype: RTCSctpTransport; + new(): RTCSctpTransport; +}; + +interface RTCSessionDescription { + readonly sdp: string; + readonly type: RTCSdpType; + toJSON(): any; +} + +declare var RTCSessionDescription: { + prototype: RTCSessionDescription; + new(descriptionInitDict: RTCSessionDescriptionInit): RTCSessionDescription; +}; + +interface RTCSrtpSdesTransportEventMap { + "error": Event; +} + +interface RTCSrtpSdesTransport extends EventTarget { + onerror: ((this: RTCSrtpSdesTransport, ev: Event) => any) | null; + readonly transport: RTCIceTransport; + addEventListener(type: K, listener: (this: RTCSrtpSdesTransport, ev: RTCSrtpSdesTransportEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: RTCSrtpSdesTransport, ev: RTCSrtpSdesTransportEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var RTCSrtpSdesTransport: { + prototype: RTCSrtpSdesTransport; + new(transport: RTCIceTransport, encryptParameters: RTCSrtpSdesParameters, decryptParameters: RTCSrtpSdesParameters): RTCSrtpSdesTransport; + getLocalParameters(): RTCSrtpSdesParameters[]; +}; + +interface RTCSsrcConflictEvent extends Event { + readonly ssrc: number; +} + +declare var RTCSsrcConflictEvent: { + prototype: RTCSsrcConflictEvent; + new(): RTCSsrcConflictEvent; +}; + +interface RTCStatsEvent extends Event { + readonly report: RTCStatsReport; +} + +declare var RTCStatsEvent: { + prototype: RTCStatsEvent; + new(type: string, eventInitDict: RTCStatsEventInit): RTCStatsEvent; +}; + +interface RTCStatsProvider extends EventTarget { + getStats(): Promise; + msGetStats(): Promise; +} + +declare var RTCStatsProvider: { + prototype: RTCStatsProvider; + new(): RTCStatsProvider; +}; + +interface RTCStatsReport { + forEach(callbackfn: (value: any, key: string, parent: RTCStatsReport) => void, thisArg?: any): void; +} + +declare var RTCStatsReport: { + prototype: RTCStatsReport; + new(): RTCStatsReport; +}; + +interface RTCTrackEvent extends Event { + readonly receiver: RTCRtpReceiver; + readonly streams: ReadonlyArray; + readonly track: MediaStreamTrack; + readonly transceiver: RTCRtpTransceiver; +} + +declare var RTCTrackEvent: { + prototype: RTCTrackEvent; + new(type: string, eventInitDict: RTCTrackEventInit): RTCTrackEvent; +}; + +interface RadioNodeList extends NodeList { + value: string; +} + +declare var RadioNodeList: { + prototype: RadioNodeList; + new(): RadioNodeList; +}; + +interface RandomSource { + getRandomValues(array: T): T; +} + +declare var RandomSource: { + prototype: RandomSource; + new(): RandomSource; +}; + +interface Range extends AbstractRange { + /** + * Returns the node, furthest away from + * the document, that is an ancestor of both range's start node and end node. + */ + readonly commonAncestorContainer: Node; + cloneContents(): DocumentFragment; + cloneRange(): Range; + collapse(toStart?: boolean): void; + compareBoundaryPoints(how: number, sourceRange: Range): number; + /** + * Returns −1 if the point is before the range, 0 if the point is + * in the range, and 1 if the point is after the range. + */ + comparePoint(node: Node, offset: number): number; + createContextualFragment(fragment: string): DocumentFragment; + deleteContents(): void; + detach(): void; + extractContents(): DocumentFragment; + getBoundingClientRect(): ClientRect | DOMRect; + getClientRects(): ClientRectList | DOMRectList; + insertNode(node: Node): void; + /** + * Returns whether range intersects node. + */ + intersectsNode(node: Node): boolean; + isPointInRange(node: Node, offset: number): boolean; + selectNode(node: Node): void; + selectNodeContents(node: Node): void; + setEnd(node: Node, offset: number): void; + setEndAfter(node: Node): void; + setEndBefore(node: Node): void; + setStart(node: Node, offset: number): void; + setStartAfter(node: Node): void; + setStartBefore(node: Node): void; + surroundContents(newParent: Node): void; + readonly END_TO_END: number; + readonly END_TO_START: number; + readonly START_TO_END: number; + readonly START_TO_START: number; +} + +declare var Range: { + prototype: Range; + new(): Range; + readonly END_TO_END: number; + readonly END_TO_START: number; + readonly START_TO_END: number; + readonly START_TO_START: number; +}; + +interface ReadableByteStreamController { + readonly byobRequest: ReadableStreamBYOBRequest | undefined; + readonly desiredSize: number | null; + close(): void; + enqueue(chunk: ArrayBufferView): void; + error(error?: any): void; +} + +interface ReadableStream { + readonly locked: boolean; + cancel(reason?: any): Promise; + getReader(options: { mode: "byob" }): ReadableStreamBYOBReader; + getReader(): ReadableStreamDefaultReader; + pipeThrough({ writable, readable }: { writable: WritableStream, readable: ReadableStream }, options?: PipeOptions): ReadableStream; + pipeTo(dest: WritableStream, options?: PipeOptions): Promise; + tee(): [ReadableStream, ReadableStream]; +} + +declare var ReadableStream: { + prototype: ReadableStream; + new(underlyingSource: UnderlyingByteSource, strategy?: { highWaterMark?: number, size?: undefined }): ReadableStream; + new(underlyingSource?: UnderlyingSource, strategy?: QueuingStrategy): ReadableStream; +}; + +interface ReadableStreamBYOBReader { + readonly closed: Promise; + cancel(reason?: any): Promise; + read(view: T): Promise>; + releaseLock(): void; +} + +declare var ReadableStreamBYOBReader: { + prototype: ReadableStreamBYOBReader; + new(stream: ReadableStream): ReadableStreamBYOBReader; +}; + +interface ReadableStreamBYOBRequest { + readonly view: ArrayBufferView; + respond(bytesWritten: number): void; + respondWithNewView(view: ArrayBufferView): void; +} + +interface ReadableStreamDefaultController { + readonly desiredSize: number | null; + close(): void; + enqueue(chunk: R): void; + error(error?: any): void; +} + +interface ReadableStreamDefaultReader { + readonly closed: Promise; + cancel(reason?: any): Promise; + read(): Promise>; + releaseLock(): void; +} + +interface ReadableStreamReadResult { + done: boolean; + value: T; +} + +interface ReadableStreamReader { + cancel(): Promise; + read(): Promise>; + releaseLock(): void; +} + +declare var ReadableStreamReader: { + prototype: ReadableStreamReader; + new(): ReadableStreamReader; +}; + +interface Request extends Body { + /** + * Returns the cache mode associated with request, which is a string indicating + * how the request will interact with the browser's cache when fetching. + */ + readonly cache: RequestCache; + /** + * Returns the credentials mode associated with request, which is a string + * indicating whether credentials will be sent with the request always, never, or only when sent to a + * same-origin URL. + */ + readonly credentials: RequestCredentials; + /** + * Returns the kind of resource requested by request, e.g., "document" or + * "script". + */ + readonly destination: RequestDestination; + /** + * Returns a Headers object consisting of the headers associated with request. + * Note that headers added in the network layer by the user agent will not be accounted for in this + * object, e.g., the "Host" header. + */ + readonly headers: Headers; + /** + * Returns request's subresource integrity metadata, which is a cryptographic hash of + * the resource being fetched. Its value consists of multiple hashes separated by whitespace. [SRI] + */ + readonly integrity: string; + /** + * Returns a boolean indicating whether or not request is for a history + * navigation (a.k.a. back-foward navigation). + */ + readonly isHistoryNavigation: boolean; + /** + * Returns a boolean indicating whether or not request is for a reload navigation. + */ + readonly isReloadNavigation: boolean; + /** + * Returns a boolean indicating whether or not request can outlive the global in which + * it was created. + */ + readonly keepalive: boolean; + /** + * Returns request's HTTP method, which is "GET" by default. + */ + readonly method: string; + /** + * Returns the mode associated with request, which is a string indicating + * whether the request will use CORS, or will be restricted to same-origin URLs. + */ + readonly mode: RequestMode; + /** + * Returns the redirect mode associated with request, which is a string + * indicating how redirects for the request will be handled during fetching. A request will follow redirects by default. + */ + readonly redirect: RequestRedirect; + /** + * Returns the referrer of request. Its value can be a same-origin URL if + * explicitly set in init, the empty string to indicate no referrer, and + * "about:client" when defaulting to the global's default. This is used during + * fetching to determine the value of the `Referer` header of the request being made. + */ + readonly referrer: string; + /** + * Returns the referrer policy associated with request. This is used during + * fetching to compute the value of the request's referrer. + */ + readonly referrerPolicy: ReferrerPolicy; + /** + * Returns the signal associated with request, which is an AbortSignal object indicating whether or not request has been aborted, and its abort + * event handler. + */ + readonly signal: AbortSignal; + /** + * Returns the URL of request as a string. + */ + readonly url: string; + clone(): Request; +} + +declare var Request: { + prototype: Request; + new(input: RequestInfo, init?: RequestInit): Request; +}; + +interface Response extends Body { + readonly headers: Headers; + readonly ok: boolean; + readonly redirected: boolean; + readonly status: number; + readonly statusText: string; + readonly trailer: Promise; + readonly type: ResponseType; + readonly url: string; + clone(): Response; +} + +declare var Response: { + prototype: Response; + new(body?: BodyInit | null, init?: ResponseInit): Response; + error(): Response; + redirect(url: string, status?: number): Response; +}; + +interface SVGAElement extends SVGGraphicsElement, SVGURIReference { + readonly target: SVGAnimatedString; + addEventListener(type: K, listener: (this: SVGAElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGAElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGAElement: { + prototype: SVGAElement; + new(): SVGAElement; +}; + +interface SVGAngle { + readonly unitType: number; + value: number; + valueAsString: string; + valueInSpecifiedUnits: number; + convertToSpecifiedUnits(unitType: number): void; + newValueSpecifiedUnits(unitType: number, valueInSpecifiedUnits: number): void; + readonly SVG_ANGLETYPE_DEG: number; + readonly SVG_ANGLETYPE_GRAD: number; + readonly SVG_ANGLETYPE_RAD: number; + readonly SVG_ANGLETYPE_UNKNOWN: number; + readonly SVG_ANGLETYPE_UNSPECIFIED: number; +} + +declare var SVGAngle: { + prototype: SVGAngle; + new(): SVGAngle; + readonly SVG_ANGLETYPE_DEG: number; + readonly SVG_ANGLETYPE_GRAD: number; + readonly SVG_ANGLETYPE_RAD: number; + readonly SVG_ANGLETYPE_UNKNOWN: number; + readonly SVG_ANGLETYPE_UNSPECIFIED: number; +}; + +interface SVGAnimateElement extends SVGAnimationElement { + addEventListener(type: K, listener: (this: SVGAnimateElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGAnimateElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGAnimateElement: { + prototype: SVGAnimateElement; + new(): SVGAnimateElement; +}; + +interface SVGAnimateMotionElement extends SVGAnimationElement { + addEventListener(type: K, listener: (this: SVGAnimateMotionElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGAnimateMotionElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGAnimateMotionElement: { + prototype: SVGAnimateMotionElement; + new(): SVGAnimateMotionElement; +}; + +interface SVGAnimateTransformElement extends SVGAnimationElement { + addEventListener(type: K, listener: (this: SVGAnimateTransformElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGAnimateTransformElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGAnimateTransformElement: { + prototype: SVGAnimateTransformElement; + new(): SVGAnimateTransformElement; +}; + +interface SVGAnimatedAngle { + readonly animVal: SVGAngle; + readonly baseVal: SVGAngle; +} + +declare var SVGAnimatedAngle: { + prototype: SVGAnimatedAngle; + new(): SVGAnimatedAngle; +}; + +interface SVGAnimatedBoolean { + readonly animVal: boolean; + baseVal: boolean; +} + +declare var SVGAnimatedBoolean: { + prototype: SVGAnimatedBoolean; + new(): SVGAnimatedBoolean; +}; + +interface SVGAnimatedEnumeration { + readonly animVal: number; + baseVal: number; +} + +declare var SVGAnimatedEnumeration: { + prototype: SVGAnimatedEnumeration; + new(): SVGAnimatedEnumeration; +}; + +interface SVGAnimatedInteger { + readonly animVal: number; + baseVal: number; +} + +declare var SVGAnimatedInteger: { + prototype: SVGAnimatedInteger; + new(): SVGAnimatedInteger; +}; + +interface SVGAnimatedLength { + readonly animVal: SVGLength; + readonly baseVal: SVGLength; +} + +declare var SVGAnimatedLength: { + prototype: SVGAnimatedLength; + new(): SVGAnimatedLength; +}; + +interface SVGAnimatedLengthList { + readonly animVal: SVGLengthList; + readonly baseVal: SVGLengthList; +} + +declare var SVGAnimatedLengthList: { + prototype: SVGAnimatedLengthList; + new(): SVGAnimatedLengthList; +}; + +interface SVGAnimatedNumber { + readonly animVal: number; + baseVal: number; +} + +declare var SVGAnimatedNumber: { + prototype: SVGAnimatedNumber; + new(): SVGAnimatedNumber; +}; + +interface SVGAnimatedNumberList { + readonly animVal: SVGNumberList; + readonly baseVal: SVGNumberList; +} + +declare var SVGAnimatedNumberList: { + prototype: SVGAnimatedNumberList; + new(): SVGAnimatedNumberList; +}; + +interface SVGAnimatedPoints { + readonly animatedPoints: SVGPointList; + readonly points: SVGPointList; +} + +interface SVGAnimatedPreserveAspectRatio { + readonly animVal: SVGPreserveAspectRatio; + readonly baseVal: SVGPreserveAspectRatio; +} + +declare var SVGAnimatedPreserveAspectRatio: { + prototype: SVGAnimatedPreserveAspectRatio; + new(): SVGAnimatedPreserveAspectRatio; +}; + +interface SVGAnimatedRect { + readonly animVal: DOMRectReadOnly; + readonly baseVal: DOMRect; +} + +declare var SVGAnimatedRect: { + prototype: SVGAnimatedRect; + new(): SVGAnimatedRect; +}; + +interface SVGAnimatedString { + readonly animVal: string; + baseVal: string; +} + +declare var SVGAnimatedString: { + prototype: SVGAnimatedString; + new(): SVGAnimatedString; +}; + +interface SVGAnimatedTransformList { + readonly animVal: SVGTransformList; + readonly baseVal: SVGTransformList; +} + +declare var SVGAnimatedTransformList: { + prototype: SVGAnimatedTransformList; + new(): SVGAnimatedTransformList; +}; + +interface SVGAnimationElement extends SVGElement { + readonly targetElement: SVGElement; + getCurrentTime(): number; + getSimpleDuration(): number; + getStartTime(): number; + addEventListener(type: K, listener: (this: SVGAnimationElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGAnimationElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGAnimationElement: { + prototype: SVGAnimationElement; + new(): SVGAnimationElement; +}; + +interface SVGCircleElement extends SVGGraphicsElement { + readonly cx: SVGAnimatedLength; + readonly cy: SVGAnimatedLength; + readonly r: SVGAnimatedLength; + addEventListener(type: K, listener: (this: SVGCircleElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGCircleElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGCircleElement: { + prototype: SVGCircleElement; + new(): SVGCircleElement; +}; + +interface SVGClipPathElement extends SVGGraphicsElement { + readonly clipPathUnits: SVGAnimatedEnumeration; + addEventListener(type: K, listener: (this: SVGClipPathElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGClipPathElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGClipPathElement: { + prototype: SVGClipPathElement; + new(): SVGClipPathElement; +}; + +interface SVGComponentTransferFunctionElement extends SVGElement { + readonly amplitude: SVGAnimatedNumber; + readonly exponent: SVGAnimatedNumber; + readonly intercept: SVGAnimatedNumber; + readonly offset: SVGAnimatedNumber; + readonly slope: SVGAnimatedNumber; + readonly tableValues: SVGAnimatedNumberList; + readonly type: SVGAnimatedEnumeration; + readonly SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE: number; + readonly SVG_FECOMPONENTTRANSFER_TYPE_GAMMA: number; + readonly SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY: number; + readonly SVG_FECOMPONENTTRANSFER_TYPE_LINEAR: number; + readonly SVG_FECOMPONENTTRANSFER_TYPE_TABLE: number; + readonly SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN: number; + addEventListener(type: K, listener: (this: SVGComponentTransferFunctionElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGComponentTransferFunctionElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGComponentTransferFunctionElement: { + prototype: SVGComponentTransferFunctionElement; + new(): SVGComponentTransferFunctionElement; + readonly SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE: number; + readonly SVG_FECOMPONENTTRANSFER_TYPE_GAMMA: number; + readonly SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY: number; + readonly SVG_FECOMPONENTTRANSFER_TYPE_LINEAR: number; + readonly SVG_FECOMPONENTTRANSFER_TYPE_TABLE: number; + readonly SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN: number; +}; + +interface SVGCursorElement extends SVGElement { + readonly x: SVGAnimatedLength; + readonly y: SVGAnimatedLength; + addEventListener(type: K, listener: (this: SVGCursorElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGCursorElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGCursorElement: { + prototype: SVGCursorElement; + new(): SVGCursorElement; +}; + +interface SVGDefsElement extends SVGGraphicsElement { + addEventListener(type: K, listener: (this: SVGDefsElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGDefsElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGDefsElement: { + prototype: SVGDefsElement; + new(): SVGDefsElement; +}; + +interface SVGDescElement extends SVGElement { + addEventListener(type: K, listener: (this: SVGDescElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGDescElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGDescElement: { + prototype: SVGDescElement; + new(): SVGDescElement; +}; + +interface SVGElementEventMap extends ElementEventMap, GlobalEventHandlersEventMap, DocumentAndElementEventHandlersEventMap { +} + +interface SVGElement extends Element, GlobalEventHandlers, DocumentAndElementEventHandlers, SVGElementInstance, HTMLOrSVGElement, ElementCSSInlineStyle { + /** @deprecated */ + readonly className: any; + readonly ownerSVGElement: SVGSVGElement | null; + readonly viewportElement: SVGElement | null; + addEventListener(type: K, listener: (this: SVGElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGElement: { + prototype: SVGElement; + new(): SVGElement; +}; + +interface SVGElementInstance extends EventTarget { + readonly correspondingElement: SVGElement; + readonly correspondingUseElement: SVGUseElement; +} + +declare var SVGElementInstance: { + prototype: SVGElementInstance; + new(): SVGElementInstance; +}; + +interface SVGElementInstanceList { + /** @deprecated */ + readonly length: number; + /** @deprecated */ + item(index: number): SVGElementInstance; +} + +declare var SVGElementInstanceList: { + prototype: SVGElementInstanceList; + new(): SVGElementInstanceList; +}; + +interface SVGEllipseElement extends SVGGraphicsElement { + readonly cx: SVGAnimatedLength; + readonly cy: SVGAnimatedLength; + readonly rx: SVGAnimatedLength; + readonly ry: SVGAnimatedLength; + addEventListener(type: K, listener: (this: SVGEllipseElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGEllipseElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGEllipseElement: { + prototype: SVGEllipseElement; + new(): SVGEllipseElement; +}; + +interface SVGFEBlendElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + readonly in1: SVGAnimatedString; + readonly in2: SVGAnimatedString; + readonly mode: SVGAnimatedEnumeration; + readonly SVG_FEBLEND_MODE_COLOR: number; + readonly SVG_FEBLEND_MODE_COLOR_BURN: number; + readonly SVG_FEBLEND_MODE_COLOR_DODGE: number; + readonly SVG_FEBLEND_MODE_DARKEN: number; + readonly SVG_FEBLEND_MODE_DIFFERENCE: number; + readonly SVG_FEBLEND_MODE_EXCLUSION: number; + readonly SVG_FEBLEND_MODE_HARD_LIGHT: number; + readonly SVG_FEBLEND_MODE_HUE: number; + readonly SVG_FEBLEND_MODE_LIGHTEN: number; + readonly SVG_FEBLEND_MODE_LUMINOSITY: number; + readonly SVG_FEBLEND_MODE_MULTIPLY: number; + readonly SVG_FEBLEND_MODE_NORMAL: number; + readonly SVG_FEBLEND_MODE_OVERLAY: number; + readonly SVG_FEBLEND_MODE_SATURATION: number; + readonly SVG_FEBLEND_MODE_SCREEN: number; + readonly SVG_FEBLEND_MODE_SOFT_LIGHT: number; + readonly SVG_FEBLEND_MODE_UNKNOWN: number; + addEventListener(type: K, listener: (this: SVGFEBlendElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGFEBlendElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGFEBlendElement: { + prototype: SVGFEBlendElement; + new(): SVGFEBlendElement; + readonly SVG_FEBLEND_MODE_COLOR: number; + readonly SVG_FEBLEND_MODE_COLOR_BURN: number; + readonly SVG_FEBLEND_MODE_COLOR_DODGE: number; + readonly SVG_FEBLEND_MODE_DARKEN: number; + readonly SVG_FEBLEND_MODE_DIFFERENCE: number; + readonly SVG_FEBLEND_MODE_EXCLUSION: number; + readonly SVG_FEBLEND_MODE_HARD_LIGHT: number; + readonly SVG_FEBLEND_MODE_HUE: number; + readonly SVG_FEBLEND_MODE_LIGHTEN: number; + readonly SVG_FEBLEND_MODE_LUMINOSITY: number; + readonly SVG_FEBLEND_MODE_MULTIPLY: number; + readonly SVG_FEBLEND_MODE_NORMAL: number; + readonly SVG_FEBLEND_MODE_OVERLAY: number; + readonly SVG_FEBLEND_MODE_SATURATION: number; + readonly SVG_FEBLEND_MODE_SCREEN: number; + readonly SVG_FEBLEND_MODE_SOFT_LIGHT: number; + readonly SVG_FEBLEND_MODE_UNKNOWN: number; +}; + +interface SVGFEColorMatrixElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + readonly in1: SVGAnimatedString; + readonly type: SVGAnimatedEnumeration; + readonly values: SVGAnimatedNumberList; + readonly SVG_FECOLORMATRIX_TYPE_HUEROTATE: number; + readonly SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA: number; + readonly SVG_FECOLORMATRIX_TYPE_MATRIX: number; + readonly SVG_FECOLORMATRIX_TYPE_SATURATE: number; + readonly SVG_FECOLORMATRIX_TYPE_UNKNOWN: number; + addEventListener(type: K, listener: (this: SVGFEColorMatrixElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGFEColorMatrixElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGFEColorMatrixElement: { + prototype: SVGFEColorMatrixElement; + new(): SVGFEColorMatrixElement; + readonly SVG_FECOLORMATRIX_TYPE_HUEROTATE: number; + readonly SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA: number; + readonly SVG_FECOLORMATRIX_TYPE_MATRIX: number; + readonly SVG_FECOLORMATRIX_TYPE_SATURATE: number; + readonly SVG_FECOLORMATRIX_TYPE_UNKNOWN: number; +}; + +interface SVGFEComponentTransferElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + readonly in1: SVGAnimatedString; + addEventListener(type: K, listener: (this: SVGFEComponentTransferElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGFEComponentTransferElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGFEComponentTransferElement: { + prototype: SVGFEComponentTransferElement; + new(): SVGFEComponentTransferElement; +}; + +interface SVGFECompositeElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + readonly in1: SVGAnimatedString; + readonly in2: SVGAnimatedString; + readonly k1: SVGAnimatedNumber; + readonly k2: SVGAnimatedNumber; + readonly k3: SVGAnimatedNumber; + readonly k4: SVGAnimatedNumber; + readonly operator: SVGAnimatedEnumeration; + readonly SVG_FECOMPOSITE_OPERATOR_ARITHMETIC: number; + readonly SVG_FECOMPOSITE_OPERATOR_ATOP: number; + readonly SVG_FECOMPOSITE_OPERATOR_IN: number; + readonly SVG_FECOMPOSITE_OPERATOR_OUT: number; + readonly SVG_FECOMPOSITE_OPERATOR_OVER: number; + readonly SVG_FECOMPOSITE_OPERATOR_UNKNOWN: number; + readonly SVG_FECOMPOSITE_OPERATOR_XOR: number; + addEventListener(type: K, listener: (this: SVGFECompositeElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGFECompositeElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGFECompositeElement: { + prototype: SVGFECompositeElement; + new(): SVGFECompositeElement; + readonly SVG_FECOMPOSITE_OPERATOR_ARITHMETIC: number; + readonly SVG_FECOMPOSITE_OPERATOR_ATOP: number; + readonly SVG_FECOMPOSITE_OPERATOR_IN: number; + readonly SVG_FECOMPOSITE_OPERATOR_OUT: number; + readonly SVG_FECOMPOSITE_OPERATOR_OVER: number; + readonly SVG_FECOMPOSITE_OPERATOR_UNKNOWN: number; + readonly SVG_FECOMPOSITE_OPERATOR_XOR: number; +}; + +interface SVGFEConvolveMatrixElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + readonly bias: SVGAnimatedNumber; + readonly divisor: SVGAnimatedNumber; + readonly edgeMode: SVGAnimatedEnumeration; + readonly in1: SVGAnimatedString; + readonly kernelMatrix: SVGAnimatedNumberList; + readonly kernelUnitLengthX: SVGAnimatedNumber; + readonly kernelUnitLengthY: SVGAnimatedNumber; + readonly orderX: SVGAnimatedInteger; + readonly orderY: SVGAnimatedInteger; + readonly preserveAlpha: SVGAnimatedBoolean; + readonly targetX: SVGAnimatedInteger; + readonly targetY: SVGAnimatedInteger; + readonly SVG_EDGEMODE_DUPLICATE: number; + readonly SVG_EDGEMODE_NONE: number; + readonly SVG_EDGEMODE_UNKNOWN: number; + readonly SVG_EDGEMODE_WRAP: number; + addEventListener(type: K, listener: (this: SVGFEConvolveMatrixElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGFEConvolveMatrixElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGFEConvolveMatrixElement: { + prototype: SVGFEConvolveMatrixElement; + new(): SVGFEConvolveMatrixElement; + readonly SVG_EDGEMODE_DUPLICATE: number; + readonly SVG_EDGEMODE_NONE: number; + readonly SVG_EDGEMODE_UNKNOWN: number; + readonly SVG_EDGEMODE_WRAP: number; +}; + +interface SVGFEDiffuseLightingElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + readonly diffuseConstant: SVGAnimatedNumber; + readonly in1: SVGAnimatedString; + readonly kernelUnitLengthX: SVGAnimatedNumber; + readonly kernelUnitLengthY: SVGAnimatedNumber; + readonly surfaceScale: SVGAnimatedNumber; + addEventListener(type: K, listener: (this: SVGFEDiffuseLightingElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGFEDiffuseLightingElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGFEDiffuseLightingElement: { + prototype: SVGFEDiffuseLightingElement; + new(): SVGFEDiffuseLightingElement; +}; + +interface SVGFEDisplacementMapElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + readonly in1: SVGAnimatedString; + readonly in2: SVGAnimatedString; + readonly scale: SVGAnimatedNumber; + readonly xChannelSelector: SVGAnimatedEnumeration; + readonly yChannelSelector: SVGAnimatedEnumeration; + readonly SVG_CHANNEL_A: number; + readonly SVG_CHANNEL_B: number; + readonly SVG_CHANNEL_G: number; + readonly SVG_CHANNEL_R: number; + readonly SVG_CHANNEL_UNKNOWN: number; + addEventListener(type: K, listener: (this: SVGFEDisplacementMapElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGFEDisplacementMapElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGFEDisplacementMapElement: { + prototype: SVGFEDisplacementMapElement; + new(): SVGFEDisplacementMapElement; + readonly SVG_CHANNEL_A: number; + readonly SVG_CHANNEL_B: number; + readonly SVG_CHANNEL_G: number; + readonly SVG_CHANNEL_R: number; + readonly SVG_CHANNEL_UNKNOWN: number; +}; + +interface SVGFEDistantLightElement extends SVGElement { + readonly azimuth: SVGAnimatedNumber; + readonly elevation: SVGAnimatedNumber; + addEventListener(type: K, listener: (this: SVGFEDistantLightElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGFEDistantLightElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGFEDistantLightElement: { + prototype: SVGFEDistantLightElement; + new(): SVGFEDistantLightElement; +}; + +interface SVGFEFloodElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + addEventListener(type: K, listener: (this: SVGFEFloodElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGFEFloodElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGFEFloodElement: { + prototype: SVGFEFloodElement; + new(): SVGFEFloodElement; +}; + +interface SVGFEFuncAElement extends SVGComponentTransferFunctionElement { + addEventListener(type: K, listener: (this: SVGFEFuncAElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGFEFuncAElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGFEFuncAElement: { + prototype: SVGFEFuncAElement; + new(): SVGFEFuncAElement; +}; + +interface SVGFEFuncBElement extends SVGComponentTransferFunctionElement { + addEventListener(type: K, listener: (this: SVGFEFuncBElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGFEFuncBElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGFEFuncBElement: { + prototype: SVGFEFuncBElement; + new(): SVGFEFuncBElement; +}; + +interface SVGFEFuncGElement extends SVGComponentTransferFunctionElement { + addEventListener(type: K, listener: (this: SVGFEFuncGElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGFEFuncGElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGFEFuncGElement: { + prototype: SVGFEFuncGElement; + new(): SVGFEFuncGElement; +}; + +interface SVGFEFuncRElement extends SVGComponentTransferFunctionElement { + addEventListener(type: K, listener: (this: SVGFEFuncRElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGFEFuncRElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGFEFuncRElement: { + prototype: SVGFEFuncRElement; + new(): SVGFEFuncRElement; +}; + +interface SVGFEGaussianBlurElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + readonly in1: SVGAnimatedString; + readonly stdDeviationX: SVGAnimatedNumber; + readonly stdDeviationY: SVGAnimatedNumber; + setStdDeviation(stdDeviationX: number, stdDeviationY: number): void; + addEventListener(type: K, listener: (this: SVGFEGaussianBlurElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGFEGaussianBlurElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGFEGaussianBlurElement: { + prototype: SVGFEGaussianBlurElement; + new(): SVGFEGaussianBlurElement; +}; + +interface SVGFEImageElement extends SVGElement, SVGFilterPrimitiveStandardAttributes, SVGURIReference { + readonly preserveAspectRatio: SVGAnimatedPreserveAspectRatio; + addEventListener(type: K, listener: (this: SVGFEImageElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGFEImageElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGFEImageElement: { + prototype: SVGFEImageElement; + new(): SVGFEImageElement; +}; + +interface SVGFEMergeElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + addEventListener(type: K, listener: (this: SVGFEMergeElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGFEMergeElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGFEMergeElement: { + prototype: SVGFEMergeElement; + new(): SVGFEMergeElement; +}; + +interface SVGFEMergeNodeElement extends SVGElement { + readonly in1: SVGAnimatedString; + addEventListener(type: K, listener: (this: SVGFEMergeNodeElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGFEMergeNodeElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGFEMergeNodeElement: { + prototype: SVGFEMergeNodeElement; + new(): SVGFEMergeNodeElement; +}; + +interface SVGFEMorphologyElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + readonly in1: SVGAnimatedString; + readonly operator: SVGAnimatedEnumeration; + readonly radiusX: SVGAnimatedNumber; + readonly radiusY: SVGAnimatedNumber; + readonly SVG_MORPHOLOGY_OPERATOR_DILATE: number; + readonly SVG_MORPHOLOGY_OPERATOR_ERODE: number; + readonly SVG_MORPHOLOGY_OPERATOR_UNKNOWN: number; + addEventListener(type: K, listener: (this: SVGFEMorphologyElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGFEMorphologyElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGFEMorphologyElement: { + prototype: SVGFEMorphologyElement; + new(): SVGFEMorphologyElement; + readonly SVG_MORPHOLOGY_OPERATOR_DILATE: number; + readonly SVG_MORPHOLOGY_OPERATOR_ERODE: number; + readonly SVG_MORPHOLOGY_OPERATOR_UNKNOWN: number; +}; + +interface SVGFEOffsetElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + readonly dx: SVGAnimatedNumber; + readonly dy: SVGAnimatedNumber; + readonly in1: SVGAnimatedString; + addEventListener(type: K, listener: (this: SVGFEOffsetElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGFEOffsetElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGFEOffsetElement: { + prototype: SVGFEOffsetElement; + new(): SVGFEOffsetElement; +}; + +interface SVGFEPointLightElement extends SVGElement { + readonly x: SVGAnimatedNumber; + readonly y: SVGAnimatedNumber; + readonly z: SVGAnimatedNumber; + addEventListener(type: K, listener: (this: SVGFEPointLightElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGFEPointLightElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGFEPointLightElement: { + prototype: SVGFEPointLightElement; + new(): SVGFEPointLightElement; +}; + +interface SVGFESpecularLightingElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + readonly in1: SVGAnimatedString; + readonly kernelUnitLengthX: SVGAnimatedNumber; + readonly kernelUnitLengthY: SVGAnimatedNumber; + readonly specularConstant: SVGAnimatedNumber; + readonly specularExponent: SVGAnimatedNumber; + readonly surfaceScale: SVGAnimatedNumber; + addEventListener(type: K, listener: (this: SVGFESpecularLightingElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGFESpecularLightingElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGFESpecularLightingElement: { + prototype: SVGFESpecularLightingElement; + new(): SVGFESpecularLightingElement; +}; + +interface SVGFESpotLightElement extends SVGElement { + readonly limitingConeAngle: SVGAnimatedNumber; + readonly pointsAtX: SVGAnimatedNumber; + readonly pointsAtY: SVGAnimatedNumber; + readonly pointsAtZ: SVGAnimatedNumber; + readonly specularExponent: SVGAnimatedNumber; + readonly x: SVGAnimatedNumber; + readonly y: SVGAnimatedNumber; + readonly z: SVGAnimatedNumber; + addEventListener(type: K, listener: (this: SVGFESpotLightElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGFESpotLightElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGFESpotLightElement: { + prototype: SVGFESpotLightElement; + new(): SVGFESpotLightElement; +}; + +interface SVGFETileElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + readonly in1: SVGAnimatedString; + addEventListener(type: K, listener: (this: SVGFETileElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGFETileElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGFETileElement: { + prototype: SVGFETileElement; + new(): SVGFETileElement; +}; + +interface SVGFETurbulenceElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + readonly baseFrequencyX: SVGAnimatedNumber; + readonly baseFrequencyY: SVGAnimatedNumber; + readonly numOctaves: SVGAnimatedInteger; + readonly seed: SVGAnimatedNumber; + readonly stitchTiles: SVGAnimatedEnumeration; + readonly type: SVGAnimatedEnumeration; + readonly SVG_STITCHTYPE_NOSTITCH: number; + readonly SVG_STITCHTYPE_STITCH: number; + readonly SVG_STITCHTYPE_UNKNOWN: number; + readonly SVG_TURBULENCE_TYPE_FRACTALNOISE: number; + readonly SVG_TURBULENCE_TYPE_TURBULENCE: number; + readonly SVG_TURBULENCE_TYPE_UNKNOWN: number; + addEventListener(type: K, listener: (this: SVGFETurbulenceElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGFETurbulenceElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGFETurbulenceElement: { + prototype: SVGFETurbulenceElement; + new(): SVGFETurbulenceElement; + readonly SVG_STITCHTYPE_NOSTITCH: number; + readonly SVG_STITCHTYPE_STITCH: number; + readonly SVG_STITCHTYPE_UNKNOWN: number; + readonly SVG_TURBULENCE_TYPE_FRACTALNOISE: number; + readonly SVG_TURBULENCE_TYPE_TURBULENCE: number; + readonly SVG_TURBULENCE_TYPE_UNKNOWN: number; +}; + +interface SVGFilterElement extends SVGElement, SVGURIReference { + /** @deprecated */ + readonly filterResX: SVGAnimatedInteger; + /** @deprecated */ + readonly filterResY: SVGAnimatedInteger; + readonly filterUnits: SVGAnimatedEnumeration; + readonly height: SVGAnimatedLength; + readonly primitiveUnits: SVGAnimatedEnumeration; + readonly width: SVGAnimatedLength; + readonly x: SVGAnimatedLength; + readonly y: SVGAnimatedLength; + /** @deprecated */ + setFilterRes(filterResX: number, filterResY: number): void; + addEventListener(type: K, listener: (this: SVGFilterElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGFilterElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGFilterElement: { + prototype: SVGFilterElement; + new(): SVGFilterElement; +}; + +interface SVGFilterPrimitiveStandardAttributes { + readonly height: SVGAnimatedLength; + readonly result: SVGAnimatedString; + readonly width: SVGAnimatedLength; + readonly x: SVGAnimatedLength; + readonly y: SVGAnimatedLength; +} + +interface SVGFitToViewBox { + readonly preserveAspectRatio: SVGAnimatedPreserveAspectRatio; + readonly viewBox: SVGAnimatedRect; +} + +interface SVGForeignObjectElement extends SVGGraphicsElement { + readonly height: SVGAnimatedLength; + readonly width: SVGAnimatedLength; + readonly x: SVGAnimatedLength; + readonly y: SVGAnimatedLength; + addEventListener(type: K, listener: (this: SVGForeignObjectElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGForeignObjectElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGForeignObjectElement: { + prototype: SVGForeignObjectElement; + new(): SVGForeignObjectElement; +}; + +interface SVGGElement extends SVGGraphicsElement { + addEventListener(type: K, listener: (this: SVGGElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGGElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGGElement: { + prototype: SVGGElement; + new(): SVGGElement; +}; + +interface SVGGeometryElement extends SVGGraphicsElement { + readonly pathLength: SVGAnimatedNumber; + getPointAtLength(distance: number): DOMPoint; + getTotalLength(): number; + isPointInFill(point?: DOMPointInit): boolean; + isPointInStroke(point?: DOMPointInit): boolean; + addEventListener(type: K, listener: (this: SVGGeometryElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGGeometryElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGGeometryElement: { + prototype: SVGGeometryElement; + new(): SVGGeometryElement; +}; + +interface SVGGradientElement extends SVGElement, SVGURIReference { + readonly gradientTransform: SVGAnimatedTransformList; + readonly gradientUnits: SVGAnimatedEnumeration; + readonly spreadMethod: SVGAnimatedEnumeration; + readonly SVG_SPREADMETHOD_PAD: number; + readonly SVG_SPREADMETHOD_REFLECT: number; + readonly SVG_SPREADMETHOD_REPEAT: number; + readonly SVG_SPREADMETHOD_UNKNOWN: number; + addEventListener(type: K, listener: (this: SVGGradientElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGGradientElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGGradientElement: { + prototype: SVGGradientElement; + new(): SVGGradientElement; + readonly SVG_SPREADMETHOD_PAD: number; + readonly SVG_SPREADMETHOD_REFLECT: number; + readonly SVG_SPREADMETHOD_REPEAT: number; + readonly SVG_SPREADMETHOD_UNKNOWN: number; +}; + +interface SVGGraphicsElement extends SVGElement, SVGTests { + readonly transform: SVGAnimatedTransformList; + getBBox(options?: SVGBoundingBoxOptions): DOMRect; + getCTM(): DOMMatrix | null; + getScreenCTM(): DOMMatrix | null; + addEventListener(type: K, listener: (this: SVGGraphicsElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGGraphicsElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGGraphicsElement: { + prototype: SVGGraphicsElement; + new(): SVGGraphicsElement; +}; + +interface SVGImageElement extends SVGGraphicsElement, SVGURIReference { + readonly height: SVGAnimatedLength; + readonly preserveAspectRatio: SVGAnimatedPreserveAspectRatio; + readonly width: SVGAnimatedLength; + readonly x: SVGAnimatedLength; + readonly y: SVGAnimatedLength; + addEventListener(type: K, listener: (this: SVGImageElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGImageElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGImageElement: { + prototype: SVGImageElement; + new(): SVGImageElement; +}; + +interface SVGLength { + readonly unitType: number; + value: number; + valueAsString: string; + valueInSpecifiedUnits: number; + convertToSpecifiedUnits(unitType: number): void; + newValueSpecifiedUnits(unitType: number, valueInSpecifiedUnits: number): void; + readonly SVG_LENGTHTYPE_CM: number; + readonly SVG_LENGTHTYPE_EMS: number; + readonly SVG_LENGTHTYPE_EXS: number; + readonly SVG_LENGTHTYPE_IN: number; + readonly SVG_LENGTHTYPE_MM: number; + readonly SVG_LENGTHTYPE_NUMBER: number; + readonly SVG_LENGTHTYPE_PC: number; + readonly SVG_LENGTHTYPE_PERCENTAGE: number; + readonly SVG_LENGTHTYPE_PT: number; + readonly SVG_LENGTHTYPE_PX: number; + readonly SVG_LENGTHTYPE_UNKNOWN: number; +} + +declare var SVGLength: { + prototype: SVGLength; + new(): SVGLength; + readonly SVG_LENGTHTYPE_CM: number; + readonly SVG_LENGTHTYPE_EMS: number; + readonly SVG_LENGTHTYPE_EXS: number; + readonly SVG_LENGTHTYPE_IN: number; + readonly SVG_LENGTHTYPE_MM: number; + readonly SVG_LENGTHTYPE_NUMBER: number; + readonly SVG_LENGTHTYPE_PC: number; + readonly SVG_LENGTHTYPE_PERCENTAGE: number; + readonly SVG_LENGTHTYPE_PT: number; + readonly SVG_LENGTHTYPE_PX: number; + readonly SVG_LENGTHTYPE_UNKNOWN: number; +}; + +interface SVGLengthList { + readonly length: number; + readonly numberOfItems: number; + appendItem(newItem: SVGLength): SVGLength; + clear(): void; + getItem(index: number): SVGLength; + initialize(newItem: SVGLength): SVGLength; + insertItemBefore(newItem: SVGLength, index: number): SVGLength; + removeItem(index: number): SVGLength; + replaceItem(newItem: SVGLength, index: number): SVGLength; + [index: number]: SVGLength; +} + +declare var SVGLengthList: { + prototype: SVGLengthList; + new(): SVGLengthList; +}; + +interface SVGLineElement extends SVGGraphicsElement { + readonly x1: SVGAnimatedLength; + readonly x2: SVGAnimatedLength; + readonly y1: SVGAnimatedLength; + readonly y2: SVGAnimatedLength; + addEventListener(type: K, listener: (this: SVGLineElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGLineElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGLineElement: { + prototype: SVGLineElement; + new(): SVGLineElement; +}; + +interface SVGLinearGradientElement extends SVGGradientElement { + readonly x1: SVGAnimatedLength; + readonly x2: SVGAnimatedLength; + readonly y1: SVGAnimatedLength; + readonly y2: SVGAnimatedLength; + addEventListener(type: K, listener: (this: SVGLinearGradientElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGLinearGradientElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGLinearGradientElement: { + prototype: SVGLinearGradientElement; + new(): SVGLinearGradientElement; +}; + +interface SVGMarkerElement extends SVGElement, SVGFitToViewBox { + readonly markerHeight: SVGAnimatedLength; + readonly markerUnits: SVGAnimatedEnumeration; + readonly markerWidth: SVGAnimatedLength; + readonly orientAngle: SVGAnimatedAngle; + readonly orientType: SVGAnimatedEnumeration; + readonly refX: SVGAnimatedLength; + readonly refY: SVGAnimatedLength; + setOrientToAngle(angle: SVGAngle): void; + setOrientToAuto(): void; + readonly SVG_MARKERUNITS_STROKEWIDTH: number; + readonly SVG_MARKERUNITS_UNKNOWN: number; + readonly SVG_MARKERUNITS_USERSPACEONUSE: number; + readonly SVG_MARKER_ORIENT_ANGLE: number; + readonly SVG_MARKER_ORIENT_AUTO: number; + readonly SVG_MARKER_ORIENT_UNKNOWN: number; + addEventListener(type: K, listener: (this: SVGMarkerElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGMarkerElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGMarkerElement: { + prototype: SVGMarkerElement; + new(): SVGMarkerElement; + readonly SVG_MARKERUNITS_STROKEWIDTH: number; + readonly SVG_MARKERUNITS_UNKNOWN: number; + readonly SVG_MARKERUNITS_USERSPACEONUSE: number; + readonly SVG_MARKER_ORIENT_ANGLE: number; + readonly SVG_MARKER_ORIENT_AUTO: number; + readonly SVG_MARKER_ORIENT_UNKNOWN: number; +}; + +interface SVGMaskElement extends SVGElement, SVGTests { + readonly height: SVGAnimatedLength; + readonly maskContentUnits: SVGAnimatedEnumeration; + readonly maskUnits: SVGAnimatedEnumeration; + readonly width: SVGAnimatedLength; + readonly x: SVGAnimatedLength; + readonly y: SVGAnimatedLength; + addEventListener(type: K, listener: (this: SVGMaskElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGMaskElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGMaskElement: { + prototype: SVGMaskElement; + new(): SVGMaskElement; +}; + +interface SVGMetadataElement extends SVGElement { + addEventListener(type: K, listener: (this: SVGMetadataElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGMetadataElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGMetadataElement: { + prototype: SVGMetadataElement; + new(): SVGMetadataElement; +}; + +interface SVGNumber { + value: number; +} + +declare var SVGNumber: { + prototype: SVGNumber; + new(): SVGNumber; +}; + +interface SVGNumberList { + readonly length: number; + readonly numberOfItems: number; + appendItem(newItem: SVGNumber): SVGNumber; + clear(): void; + getItem(index: number): SVGNumber; + initialize(newItem: SVGNumber): SVGNumber; + insertItemBefore(newItem: SVGNumber, index: number): SVGNumber; + removeItem(index: number): SVGNumber; + replaceItem(newItem: SVGNumber, index: number): SVGNumber; + [index: number]: SVGNumber; +} + +declare var SVGNumberList: { + prototype: SVGNumberList; + new(): SVGNumberList; +}; + +interface SVGPathElement extends SVGGraphicsElement { + /** @deprecated */ + readonly pathSegList: SVGPathSegList; + /** @deprecated */ + createSVGPathSegArcAbs(x: number, y: number, r1: number, r2: number, angle: number, largeArcFlag: boolean, sweepFlag: boolean): SVGPathSegArcAbs; + /** @deprecated */ + createSVGPathSegArcRel(x: number, y: number, r1: number, r2: number, angle: number, largeArcFlag: boolean, sweepFlag: boolean): SVGPathSegArcRel; + /** @deprecated */ + createSVGPathSegClosePath(): SVGPathSegClosePath; + /** @deprecated */ + createSVGPathSegCurvetoCubicAbs(x: number, y: number, x1: number, y1: number, x2: number, y2: number): SVGPathSegCurvetoCubicAbs; + /** @deprecated */ + createSVGPathSegCurvetoCubicRel(x: number, y: number, x1: number, y1: number, x2: number, y2: number): SVGPathSegCurvetoCubicRel; + /** @deprecated */ + createSVGPathSegCurvetoCubicSmoothAbs(x: number, y: number, x2: number, y2: number): SVGPathSegCurvetoCubicSmoothAbs; + /** @deprecated */ + createSVGPathSegCurvetoCubicSmoothRel(x: number, y: number, x2: number, y2: number): SVGPathSegCurvetoCubicSmoothRel; + /** @deprecated */ + createSVGPathSegCurvetoQuadraticAbs(x: number, y: number, x1: number, y1: number): SVGPathSegCurvetoQuadraticAbs; + /** @deprecated */ + createSVGPathSegCurvetoQuadraticRel(x: number, y: number, x1: number, y1: number): SVGPathSegCurvetoQuadraticRel; + /** @deprecated */ + createSVGPathSegCurvetoQuadraticSmoothAbs(x: number, y: number): SVGPathSegCurvetoQuadraticSmoothAbs; + /** @deprecated */ + createSVGPathSegCurvetoQuadraticSmoothRel(x: number, y: number): SVGPathSegCurvetoQuadraticSmoothRel; + /** @deprecated */ + createSVGPathSegLinetoAbs(x: number, y: number): SVGPathSegLinetoAbs; + /** @deprecated */ + createSVGPathSegLinetoHorizontalAbs(x: number): SVGPathSegLinetoHorizontalAbs; + /** @deprecated */ + createSVGPathSegLinetoHorizontalRel(x: number): SVGPathSegLinetoHorizontalRel; + /** @deprecated */ + createSVGPathSegLinetoRel(x: number, y: number): SVGPathSegLinetoRel; + /** @deprecated */ + createSVGPathSegLinetoVerticalAbs(y: number): SVGPathSegLinetoVerticalAbs; + /** @deprecated */ + createSVGPathSegLinetoVerticalRel(y: number): SVGPathSegLinetoVerticalRel; + /** @deprecated */ + createSVGPathSegMovetoAbs(x: number, y: number): SVGPathSegMovetoAbs; + /** @deprecated */ + createSVGPathSegMovetoRel(x: number, y: number): SVGPathSegMovetoRel; + /** @deprecated */ + getPathSegAtLength(distance: number): number; + getPointAtLength(distance: number): SVGPoint; + getTotalLength(): number; + addEventListener(type: K, listener: (this: SVGPathElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGPathElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGPathElement: { + prototype: SVGPathElement; + new(): SVGPathElement; +}; + +interface SVGPathSeg { + readonly pathSegType: number; + readonly pathSegTypeAsLetter: string; + readonly PATHSEG_ARC_ABS: number; + readonly PATHSEG_ARC_REL: number; + readonly PATHSEG_CLOSEPATH: number; + readonly PATHSEG_CURVETO_CUBIC_ABS: number; + readonly PATHSEG_CURVETO_CUBIC_REL: number; + readonly PATHSEG_CURVETO_CUBIC_SMOOTH_ABS: number; + readonly PATHSEG_CURVETO_CUBIC_SMOOTH_REL: number; + readonly PATHSEG_CURVETO_QUADRATIC_ABS: number; + readonly PATHSEG_CURVETO_QUADRATIC_REL: number; + readonly PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS: number; + readonly PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL: number; + readonly PATHSEG_LINETO_ABS: number; + readonly PATHSEG_LINETO_HORIZONTAL_ABS: number; + readonly PATHSEG_LINETO_HORIZONTAL_REL: number; + readonly PATHSEG_LINETO_REL: number; + readonly PATHSEG_LINETO_VERTICAL_ABS: number; + readonly PATHSEG_LINETO_VERTICAL_REL: number; + readonly PATHSEG_MOVETO_ABS: number; + readonly PATHSEG_MOVETO_REL: number; + readonly PATHSEG_UNKNOWN: number; +} + +declare var SVGPathSeg: { + prototype: SVGPathSeg; + new(): SVGPathSeg; + readonly PATHSEG_ARC_ABS: number; + readonly PATHSEG_ARC_REL: number; + readonly PATHSEG_CLOSEPATH: number; + readonly PATHSEG_CURVETO_CUBIC_ABS: number; + readonly PATHSEG_CURVETO_CUBIC_REL: number; + readonly PATHSEG_CURVETO_CUBIC_SMOOTH_ABS: number; + readonly PATHSEG_CURVETO_CUBIC_SMOOTH_REL: number; + readonly PATHSEG_CURVETO_QUADRATIC_ABS: number; + readonly PATHSEG_CURVETO_QUADRATIC_REL: number; + readonly PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS: number; + readonly PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL: number; + readonly PATHSEG_LINETO_ABS: number; + readonly PATHSEG_LINETO_HORIZONTAL_ABS: number; + readonly PATHSEG_LINETO_HORIZONTAL_REL: number; + readonly PATHSEG_LINETO_REL: number; + readonly PATHSEG_LINETO_VERTICAL_ABS: number; + readonly PATHSEG_LINETO_VERTICAL_REL: number; + readonly PATHSEG_MOVETO_ABS: number; + readonly PATHSEG_MOVETO_REL: number; + readonly PATHSEG_UNKNOWN: number; +}; + +interface SVGPathSegArcAbs extends SVGPathSeg { + angle: number; + largeArcFlag: boolean; + r1: number; + r2: number; + sweepFlag: boolean; + x: number; + y: number; +} + +declare var SVGPathSegArcAbs: { + prototype: SVGPathSegArcAbs; + new(): SVGPathSegArcAbs; +}; + +interface SVGPathSegArcRel extends SVGPathSeg { + angle: number; + largeArcFlag: boolean; + r1: number; + r2: number; + sweepFlag: boolean; + x: number; + y: number; +} + +declare var SVGPathSegArcRel: { + prototype: SVGPathSegArcRel; + new(): SVGPathSegArcRel; +}; + +interface SVGPathSegClosePath extends SVGPathSeg { +} + +declare var SVGPathSegClosePath: { + prototype: SVGPathSegClosePath; + new(): SVGPathSegClosePath; +}; + +interface SVGPathSegCurvetoCubicAbs extends SVGPathSeg { + x: number; + x1: number; + x2: number; + y: number; + y1: number; + y2: number; +} + +declare var SVGPathSegCurvetoCubicAbs: { + prototype: SVGPathSegCurvetoCubicAbs; + new(): SVGPathSegCurvetoCubicAbs; +}; + +interface SVGPathSegCurvetoCubicRel extends SVGPathSeg { + x: number; + x1: number; + x2: number; + y: number; + y1: number; + y2: number; +} + +declare var SVGPathSegCurvetoCubicRel: { + prototype: SVGPathSegCurvetoCubicRel; + new(): SVGPathSegCurvetoCubicRel; +}; + +interface SVGPathSegCurvetoCubicSmoothAbs extends SVGPathSeg { + x: number; + x2: number; + y: number; + y2: number; +} + +declare var SVGPathSegCurvetoCubicSmoothAbs: { + prototype: SVGPathSegCurvetoCubicSmoothAbs; + new(): SVGPathSegCurvetoCubicSmoothAbs; +}; + +interface SVGPathSegCurvetoCubicSmoothRel extends SVGPathSeg { + x: number; + x2: number; + y: number; + y2: number; +} + +declare var SVGPathSegCurvetoCubicSmoothRel: { + prototype: SVGPathSegCurvetoCubicSmoothRel; + new(): SVGPathSegCurvetoCubicSmoothRel; +}; + +interface SVGPathSegCurvetoQuadraticAbs extends SVGPathSeg { + x: number; + x1: number; + y: number; + y1: number; +} + +declare var SVGPathSegCurvetoQuadraticAbs: { + prototype: SVGPathSegCurvetoQuadraticAbs; + new(): SVGPathSegCurvetoQuadraticAbs; +}; + +interface SVGPathSegCurvetoQuadraticRel extends SVGPathSeg { + x: number; + x1: number; + y: number; + y1: number; +} + +declare var SVGPathSegCurvetoQuadraticRel: { + prototype: SVGPathSegCurvetoQuadraticRel; + new(): SVGPathSegCurvetoQuadraticRel; +}; + +interface SVGPathSegCurvetoQuadraticSmoothAbs extends SVGPathSeg { + x: number; + y: number; +} + +declare var SVGPathSegCurvetoQuadraticSmoothAbs: { + prototype: SVGPathSegCurvetoQuadraticSmoothAbs; + new(): SVGPathSegCurvetoQuadraticSmoothAbs; +}; + +interface SVGPathSegCurvetoQuadraticSmoothRel extends SVGPathSeg { + x: number; + y: number; +} + +declare var SVGPathSegCurvetoQuadraticSmoothRel: { + prototype: SVGPathSegCurvetoQuadraticSmoothRel; + new(): SVGPathSegCurvetoQuadraticSmoothRel; +}; + +interface SVGPathSegLinetoAbs extends SVGPathSeg { + x: number; + y: number; +} + +declare var SVGPathSegLinetoAbs: { + prototype: SVGPathSegLinetoAbs; + new(): SVGPathSegLinetoAbs; +}; + +interface SVGPathSegLinetoHorizontalAbs extends SVGPathSeg { + x: number; +} + +declare var SVGPathSegLinetoHorizontalAbs: { + prototype: SVGPathSegLinetoHorizontalAbs; + new(): SVGPathSegLinetoHorizontalAbs; +}; + +interface SVGPathSegLinetoHorizontalRel extends SVGPathSeg { + x: number; +} + +declare var SVGPathSegLinetoHorizontalRel: { + prototype: SVGPathSegLinetoHorizontalRel; + new(): SVGPathSegLinetoHorizontalRel; +}; + +interface SVGPathSegLinetoRel extends SVGPathSeg { + x: number; + y: number; +} + +declare var SVGPathSegLinetoRel: { + prototype: SVGPathSegLinetoRel; + new(): SVGPathSegLinetoRel; +}; + +interface SVGPathSegLinetoVerticalAbs extends SVGPathSeg { + y: number; +} + +declare var SVGPathSegLinetoVerticalAbs: { + prototype: SVGPathSegLinetoVerticalAbs; + new(): SVGPathSegLinetoVerticalAbs; +}; + +interface SVGPathSegLinetoVerticalRel extends SVGPathSeg { + y: number; +} + +declare var SVGPathSegLinetoVerticalRel: { + prototype: SVGPathSegLinetoVerticalRel; + new(): SVGPathSegLinetoVerticalRel; +}; + +interface SVGPathSegList { + readonly numberOfItems: number; + appendItem(newItem: SVGPathSeg): SVGPathSeg; + clear(): void; + getItem(index: number): SVGPathSeg; + initialize(newItem: SVGPathSeg): SVGPathSeg; + insertItemBefore(newItem: SVGPathSeg, index: number): SVGPathSeg; + removeItem(index: number): SVGPathSeg; + replaceItem(newItem: SVGPathSeg, index: number): SVGPathSeg; +} + +declare var SVGPathSegList: { + prototype: SVGPathSegList; + new(): SVGPathSegList; +}; + +interface SVGPathSegMovetoAbs extends SVGPathSeg { + x: number; + y: number; +} + +declare var SVGPathSegMovetoAbs: { + prototype: SVGPathSegMovetoAbs; + new(): SVGPathSegMovetoAbs; +}; + +interface SVGPathSegMovetoRel extends SVGPathSeg { + x: number; + y: number; +} + +declare var SVGPathSegMovetoRel: { + prototype: SVGPathSegMovetoRel; + new(): SVGPathSegMovetoRel; +}; + +interface SVGPatternElement extends SVGElement, SVGTests, SVGFitToViewBox, SVGURIReference { + readonly height: SVGAnimatedLength; + readonly patternContentUnits: SVGAnimatedEnumeration; + readonly patternTransform: SVGAnimatedTransformList; + readonly patternUnits: SVGAnimatedEnumeration; + readonly width: SVGAnimatedLength; + readonly x: SVGAnimatedLength; + readonly y: SVGAnimatedLength; + addEventListener(type: K, listener: (this: SVGPatternElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGPatternElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGPatternElement: { + prototype: SVGPatternElement; + new(): SVGPatternElement; +}; + +interface SVGPointList { + readonly numberOfItems: number; + appendItem(newItem: SVGPoint): SVGPoint; + clear(): void; + getItem(index: number): SVGPoint; + initialize(newItem: SVGPoint): SVGPoint; + insertItemBefore(newItem: SVGPoint, index: number): SVGPoint; + removeItem(index: number): SVGPoint; + replaceItem(newItem: SVGPoint, index: number): SVGPoint; +} + +declare var SVGPointList: { + prototype: SVGPointList; + new(): SVGPointList; +}; + +interface SVGPolygonElement extends SVGGraphicsElement, SVGAnimatedPoints { + addEventListener(type: K, listener: (this: SVGPolygonElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGPolygonElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGPolygonElement: { + prototype: SVGPolygonElement; + new(): SVGPolygonElement; +}; + +interface SVGPolylineElement extends SVGGraphicsElement, SVGAnimatedPoints { + addEventListener(type: K, listener: (this: SVGPolylineElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGPolylineElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGPolylineElement: { + prototype: SVGPolylineElement; + new(): SVGPolylineElement; +}; + +interface SVGPreserveAspectRatio { + align: number; + meetOrSlice: number; + readonly SVG_MEETORSLICE_MEET: number; + readonly SVG_MEETORSLICE_SLICE: number; + readonly SVG_MEETORSLICE_UNKNOWN: number; + readonly SVG_PRESERVEASPECTRATIO_NONE: number; + readonly SVG_PRESERVEASPECTRATIO_UNKNOWN: number; + readonly SVG_PRESERVEASPECTRATIO_XMAXYMAX: number; + readonly SVG_PRESERVEASPECTRATIO_XMAXYMID: number; + readonly SVG_PRESERVEASPECTRATIO_XMAXYMIN: number; + readonly SVG_PRESERVEASPECTRATIO_XMIDYMAX: number; + readonly SVG_PRESERVEASPECTRATIO_XMIDYMID: number; + readonly SVG_PRESERVEASPECTRATIO_XMIDYMIN: number; + readonly SVG_PRESERVEASPECTRATIO_XMINYMAX: number; + readonly SVG_PRESERVEASPECTRATIO_XMINYMID: number; + readonly SVG_PRESERVEASPECTRATIO_XMINYMIN: number; +} + +declare var SVGPreserveAspectRatio: { + prototype: SVGPreserveAspectRatio; + new(): SVGPreserveAspectRatio; + readonly SVG_MEETORSLICE_MEET: number; + readonly SVG_MEETORSLICE_SLICE: number; + readonly SVG_MEETORSLICE_UNKNOWN: number; + readonly SVG_PRESERVEASPECTRATIO_NONE: number; + readonly SVG_PRESERVEASPECTRATIO_UNKNOWN: number; + readonly SVG_PRESERVEASPECTRATIO_XMAXYMAX: number; + readonly SVG_PRESERVEASPECTRATIO_XMAXYMID: number; + readonly SVG_PRESERVEASPECTRATIO_XMAXYMIN: number; + readonly SVG_PRESERVEASPECTRATIO_XMIDYMAX: number; + readonly SVG_PRESERVEASPECTRATIO_XMIDYMID: number; + readonly SVG_PRESERVEASPECTRATIO_XMIDYMIN: number; + readonly SVG_PRESERVEASPECTRATIO_XMINYMAX: number; + readonly SVG_PRESERVEASPECTRATIO_XMINYMID: number; + readonly SVG_PRESERVEASPECTRATIO_XMINYMIN: number; +}; + +interface SVGRadialGradientElement extends SVGGradientElement { + readonly cx: SVGAnimatedLength; + readonly cy: SVGAnimatedLength; + readonly fx: SVGAnimatedLength; + readonly fy: SVGAnimatedLength; + readonly r: SVGAnimatedLength; + addEventListener(type: K, listener: (this: SVGRadialGradientElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGRadialGradientElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGRadialGradientElement: { + prototype: SVGRadialGradientElement; + new(): SVGRadialGradientElement; +}; + +interface SVGRectElement extends SVGGraphicsElement { + readonly height: SVGAnimatedLength; + readonly rx: SVGAnimatedLength; + readonly ry: SVGAnimatedLength; + readonly width: SVGAnimatedLength; + readonly x: SVGAnimatedLength; + readonly y: SVGAnimatedLength; + addEventListener(type: K, listener: (this: SVGRectElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGRectElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGRectElement: { + prototype: SVGRectElement; + new(): SVGRectElement; +}; + +interface SVGSVGElementEventMap extends SVGElementEventMap { + "SVGUnload": Event; + "SVGZoom": SVGZoomEvent; +} + +interface SVGSVGElement extends SVGGraphicsElement, DocumentEvent, SVGFitToViewBox, SVGZoomAndPan { + /** @deprecated */ + contentScriptType: string; + /** @deprecated */ + contentStyleType: string; + currentScale: number; + readonly currentTranslate: SVGPoint; + readonly height: SVGAnimatedLength; + onunload: ((this: SVGSVGElement, ev: Event) => any) | null; + onzoom: ((this: SVGSVGElement, ev: SVGZoomEvent) => any) | null; + /** @deprecated */ + readonly pixelUnitToMillimeterX: number; + /** @deprecated */ + readonly pixelUnitToMillimeterY: number; + /** @deprecated */ + readonly screenPixelToMillimeterX: number; + /** @deprecated */ + readonly screenPixelToMillimeterY: number; + /** @deprecated */ + readonly viewport: SVGRect; + readonly width: SVGAnimatedLength; + readonly x: SVGAnimatedLength; + readonly y: SVGAnimatedLength; + checkEnclosure(element: SVGElement, rect: SVGRect): boolean; + checkIntersection(element: SVGElement, rect: SVGRect): boolean; + createSVGAngle(): SVGAngle; + createSVGLength(): SVGLength; + createSVGMatrix(): SVGMatrix; + createSVGNumber(): SVGNumber; + createSVGPoint(): SVGPoint; + createSVGRect(): SVGRect; + createSVGTransform(): SVGTransform; + createSVGTransformFromMatrix(matrix: SVGMatrix): SVGTransform; + deselectAll(): void; + /** @deprecated */ + forceRedraw(): void; + getComputedStyle(elt: Element, pseudoElt?: string | null): CSSStyleDeclaration; + /** @deprecated */ + getCurrentTime(): number; + getElementById(elementId: string): Element; + getEnclosureList(rect: SVGRect, referenceElement: SVGElement): NodeListOf; + getIntersectionList(rect: SVGRect, referenceElement: SVGElement): NodeListOf; + /** @deprecated */ + pauseAnimations(): void; + /** @deprecated */ + setCurrentTime(seconds: number): void; + /** @deprecated */ + suspendRedraw(maxWaitMilliseconds: number): number; + /** @deprecated */ + unpauseAnimations(): void; + /** @deprecated */ + unsuspendRedraw(suspendHandleID: number): void; + /** @deprecated */ + unsuspendRedrawAll(): void; + addEventListener(type: K, listener: (this: SVGSVGElement, ev: SVGSVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGSVGElement, ev: SVGSVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGSVGElement: { + prototype: SVGSVGElement; + new(): SVGSVGElement; + readonly SVG_ZOOMANDPAN_DISABLE: number; + readonly SVG_ZOOMANDPAN_MAGNIFY: number; + readonly SVG_ZOOMANDPAN_UNKNOWN: number; +}; + +interface SVGScriptElement extends SVGElement, SVGURIReference { + type: string; + addEventListener(type: K, listener: (this: SVGScriptElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGScriptElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGScriptElement: { + prototype: SVGScriptElement; + new(): SVGScriptElement; +}; + +interface SVGStopElement extends SVGElement { + readonly offset: SVGAnimatedNumber; + addEventListener(type: K, listener: (this: SVGStopElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGStopElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGStopElement: { + prototype: SVGStopElement; + new(): SVGStopElement; +}; + +interface SVGStringList { + readonly length: number; + readonly numberOfItems: number; + appendItem(newItem: string): string; + clear(): void; + getItem(index: number): string; + initialize(newItem: string): string; + insertItemBefore(newItem: string, index: number): string; + removeItem(index: number): string; + replaceItem(newItem: string, index: number): string; + [index: number]: string; +} + +declare var SVGStringList: { + prototype: SVGStringList; + new(): SVGStringList; +}; + +interface SVGStyleElement extends SVGElement { + disabled: boolean; + media: string; + title: string; + type: string; + addEventListener(type: K, listener: (this: SVGStyleElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGStyleElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGStyleElement: { + prototype: SVGStyleElement; + new(): SVGStyleElement; +}; + +interface SVGSwitchElement extends SVGGraphicsElement { + addEventListener(type: K, listener: (this: SVGSwitchElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGSwitchElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGSwitchElement: { + prototype: SVGSwitchElement; + new(): SVGSwitchElement; +}; + +interface SVGSymbolElement extends SVGElement, SVGFitToViewBox { + addEventListener(type: K, listener: (this: SVGSymbolElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGSymbolElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGSymbolElement: { + prototype: SVGSymbolElement; + new(): SVGSymbolElement; +}; + +interface SVGTSpanElement extends SVGTextPositioningElement { + addEventListener(type: K, listener: (this: SVGTSpanElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGTSpanElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGTSpanElement: { + prototype: SVGTSpanElement; + new(): SVGTSpanElement; +}; + +interface SVGTests { + readonly requiredExtensions: SVGStringList; + readonly systemLanguage: SVGStringList; +} + +interface SVGTextContentElement extends SVGGraphicsElement { + readonly lengthAdjust: SVGAnimatedEnumeration; + readonly textLength: SVGAnimatedLength; + getCharNumAtPosition(point: SVGPoint): number; + getComputedTextLength(): number; + getEndPositionOfChar(charnum: number): SVGPoint; + getExtentOfChar(charnum: number): SVGRect; + getNumberOfChars(): number; + getRotationOfChar(charnum: number): number; + getStartPositionOfChar(charnum: number): SVGPoint; + getSubStringLength(charnum: number, nchars: number): number; + selectSubString(charnum: number, nchars: number): void; + readonly LENGTHADJUST_SPACING: number; + readonly LENGTHADJUST_SPACINGANDGLYPHS: number; + readonly LENGTHADJUST_UNKNOWN: number; + addEventListener(type: K, listener: (this: SVGTextContentElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGTextContentElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGTextContentElement: { + prototype: SVGTextContentElement; + new(): SVGTextContentElement; + readonly LENGTHADJUST_SPACING: number; + readonly LENGTHADJUST_SPACINGANDGLYPHS: number; + readonly LENGTHADJUST_UNKNOWN: number; +}; + +interface SVGTextElement extends SVGTextPositioningElement { + addEventListener(type: K, listener: (this: SVGTextElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGTextElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGTextElement: { + prototype: SVGTextElement; + new(): SVGTextElement; +}; + +interface SVGTextPathElement extends SVGTextContentElement, SVGURIReference { + readonly method: SVGAnimatedEnumeration; + readonly spacing: SVGAnimatedEnumeration; + readonly startOffset: SVGAnimatedLength; + readonly TEXTPATH_METHODTYPE_ALIGN: number; + readonly TEXTPATH_METHODTYPE_STRETCH: number; + readonly TEXTPATH_METHODTYPE_UNKNOWN: number; + readonly TEXTPATH_SPACINGTYPE_AUTO: number; + readonly TEXTPATH_SPACINGTYPE_EXACT: number; + readonly TEXTPATH_SPACINGTYPE_UNKNOWN: number; + addEventListener(type: K, listener: (this: SVGTextPathElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGTextPathElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGTextPathElement: { + prototype: SVGTextPathElement; + new(): SVGTextPathElement; + readonly TEXTPATH_METHODTYPE_ALIGN: number; + readonly TEXTPATH_METHODTYPE_STRETCH: number; + readonly TEXTPATH_METHODTYPE_UNKNOWN: number; + readonly TEXTPATH_SPACINGTYPE_AUTO: number; + readonly TEXTPATH_SPACINGTYPE_EXACT: number; + readonly TEXTPATH_SPACINGTYPE_UNKNOWN: number; +}; + +interface SVGTextPositioningElement extends SVGTextContentElement { + readonly dx: SVGAnimatedLengthList; + readonly dy: SVGAnimatedLengthList; + readonly rotate: SVGAnimatedNumberList; + readonly x: SVGAnimatedLengthList; + readonly y: SVGAnimatedLengthList; + addEventListener(type: K, listener: (this: SVGTextPositioningElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGTextPositioningElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGTextPositioningElement: { + prototype: SVGTextPositioningElement; + new(): SVGTextPositioningElement; +}; + +interface SVGTitleElement extends SVGElement { + addEventListener(type: K, listener: (this: SVGTitleElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGTitleElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGTitleElement: { + prototype: SVGTitleElement; + new(): SVGTitleElement; +}; + +interface SVGTransform { + readonly angle: number; + readonly matrix: SVGMatrix; + readonly type: number; + setMatrix(matrix: SVGMatrix): void; + setRotate(angle: number, cx: number, cy: number): void; + setScale(sx: number, sy: number): void; + setSkewX(angle: number): void; + setSkewY(angle: number): void; + setTranslate(tx: number, ty: number): void; + readonly SVG_TRANSFORM_MATRIX: number; + readonly SVG_TRANSFORM_ROTATE: number; + readonly SVG_TRANSFORM_SCALE: number; + readonly SVG_TRANSFORM_SKEWX: number; + readonly SVG_TRANSFORM_SKEWY: number; + readonly SVG_TRANSFORM_TRANSLATE: number; + readonly SVG_TRANSFORM_UNKNOWN: number; +} + +declare var SVGTransform: { + prototype: SVGTransform; + new(): SVGTransform; + readonly SVG_TRANSFORM_MATRIX: number; + readonly SVG_TRANSFORM_ROTATE: number; + readonly SVG_TRANSFORM_SCALE: number; + readonly SVG_TRANSFORM_SKEWX: number; + readonly SVG_TRANSFORM_SKEWY: number; + readonly SVG_TRANSFORM_TRANSLATE: number; + readonly SVG_TRANSFORM_UNKNOWN: number; +}; + +interface SVGTransformList { + readonly numberOfItems: number; + appendItem(newItem: SVGTransform): SVGTransform; + clear(): void; + consolidate(): SVGTransform; + createSVGTransformFromMatrix(matrix: SVGMatrix): SVGTransform; + getItem(index: number): SVGTransform; + initialize(newItem: SVGTransform): SVGTransform; + insertItemBefore(newItem: SVGTransform, index: number): SVGTransform; + removeItem(index: number): SVGTransform; + replaceItem(newItem: SVGTransform, index: number): SVGTransform; +} + +declare var SVGTransformList: { + prototype: SVGTransformList; + new(): SVGTransformList; +}; + +interface SVGURIReference { + readonly href: SVGAnimatedString; +} + +interface SVGUnitTypes { + readonly SVG_UNIT_TYPE_OBJECTBOUNDINGBOX: number; + readonly SVG_UNIT_TYPE_UNKNOWN: number; + readonly SVG_UNIT_TYPE_USERSPACEONUSE: number; +} + +declare var SVGUnitTypes: { + prototype: SVGUnitTypes; + new(): SVGUnitTypes; + readonly SVG_UNIT_TYPE_OBJECTBOUNDINGBOX: number; + readonly SVG_UNIT_TYPE_UNKNOWN: number; + readonly SVG_UNIT_TYPE_USERSPACEONUSE: number; +}; + +interface SVGUseElement extends SVGGraphicsElement, SVGURIReference { + readonly animatedInstanceRoot: SVGElementInstance | null; + readonly height: SVGAnimatedLength; + readonly instanceRoot: SVGElementInstance | null; + readonly width: SVGAnimatedLength; + readonly x: SVGAnimatedLength; + readonly y: SVGAnimatedLength; + addEventListener(type: K, listener: (this: SVGUseElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGUseElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGUseElement: { + prototype: SVGUseElement; + new(): SVGUseElement; +}; + +interface SVGViewElement extends SVGElement, SVGFitToViewBox, SVGZoomAndPan { + /** @deprecated */ + readonly viewTarget: SVGStringList; + addEventListener(type: K, listener: (this: SVGViewElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SVGViewElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SVGViewElement: { + prototype: SVGViewElement; + new(): SVGViewElement; + readonly SVG_ZOOMANDPAN_DISABLE: number; + readonly SVG_ZOOMANDPAN_MAGNIFY: number; + readonly SVG_ZOOMANDPAN_UNKNOWN: number; +}; + +interface SVGZoomAndPan { + readonly zoomAndPan: number; +} + +declare var SVGZoomAndPan: { + readonly SVG_ZOOMANDPAN_DISABLE: number; + readonly SVG_ZOOMANDPAN_MAGNIFY: number; + readonly SVG_ZOOMANDPAN_UNKNOWN: number; +}; + +interface SVGZoomEvent extends UIEvent { + readonly newScale: number; + readonly newTranslate: SVGPoint; + readonly previousScale: number; + readonly previousTranslate: SVGPoint; + readonly zoomRectScreen: SVGRect; +} + +declare var SVGZoomEvent: { + prototype: SVGZoomEvent; + new(): SVGZoomEvent; +}; + +interface ScopedCredential { + readonly id: ArrayBuffer; + readonly type: ScopedCredentialType; +} + +declare var ScopedCredential: { + prototype: ScopedCredential; + new(): ScopedCredential; +}; + +interface ScopedCredentialInfo { + readonly credential: ScopedCredential; + readonly publicKey: CryptoKey; +} + +declare var ScopedCredentialInfo: { + prototype: ScopedCredentialInfo; + new(): ScopedCredentialInfo; +}; + +interface Screen { + readonly availHeight: number; + readonly availWidth: number; + readonly colorDepth: number; + readonly height: number; + readonly orientation: ScreenOrientation; + readonly pixelDepth: number; + readonly width: number; +} + +declare var Screen: { + prototype: Screen; + new(): Screen; +}; + +interface ScreenOrientationEventMap { + "change": Event; +} + +interface ScreenOrientation extends EventTarget { + readonly angle: number; + onchange: ((this: ScreenOrientation, ev: Event) => any) | null; + readonly type: OrientationType; + lock(orientation: OrientationLockType): Promise; + unlock(): void; + addEventListener(type: K, listener: (this: ScreenOrientation, ev: ScreenOrientationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: ScreenOrientation, ev: ScreenOrientationEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var ScreenOrientation: { + prototype: ScreenOrientation; + new(): ScreenOrientation; +}; + +interface ScriptProcessorNodeEventMap { + "audioprocess": AudioProcessingEvent; +} + +interface ScriptProcessorNode extends AudioNode { + /** @deprecated */ + readonly bufferSize: number; + /** @deprecated */ + onaudioprocess: ((this: ScriptProcessorNode, ev: AudioProcessingEvent) => any) | null; + addEventListener(type: K, listener: (this: ScriptProcessorNode, ev: ScriptProcessorNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: ScriptProcessorNode, ev: ScriptProcessorNodeEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var ScriptProcessorNode: { + prototype: ScriptProcessorNode; + new(): ScriptProcessorNode; +}; + +interface SecurityPolicyViolationEvent extends Event { + readonly blockedURI: string; + readonly columnNumber: number; + readonly documentURI: string; + readonly effectiveDirective: string; + readonly lineNumber: number; + readonly originalPolicy: string; + readonly referrer: string; + readonly sourceFile: string; + readonly statusCode: number; + readonly violatedDirective: string; +} + +declare var SecurityPolicyViolationEvent: { + prototype: SecurityPolicyViolationEvent; + new(type: string, eventInitDict?: SecurityPolicyViolationEventInit): SecurityPolicyViolationEvent; +}; + +interface Selection { + readonly anchorNode: Node; + readonly anchorOffset: number; + readonly baseNode: Node; + readonly baseOffset: number; + readonly extentNode: Node; + readonly extentOffset: number; + readonly focusNode: Node; + readonly focusOffset: number; + readonly isCollapsed: boolean; + readonly rangeCount: number; + readonly type: string; + addRange(range: Range): void; + collapse(parentNode: Node, offset: number): void; + collapseToEnd(): void; + collapseToStart(): void; + containsNode(node: Node, partlyContained: boolean): boolean; + deleteFromDocument(): void; + empty(): void; + extend(newNode: Node, offset: number): void; + getRangeAt(index: number): Range; + removeAllRanges(): void; + removeRange(range: Range): void; + selectAllChildren(parentNode: Node): void; + setBaseAndExtent(baseNode: Node, baseOffset: number, extentNode: Node, extentOffset: number): void; + setPosition(parentNode: Node, offset: number): void; + toString(): string; +} + +declare var Selection: { + prototype: Selection; + new(): Selection; +}; + +interface ServiceUIFrameContext { + getCachedFrameMessage(key: string): string; + postFrameMessage(key: string, data: string): void; +} +declare var ServiceUIFrameContext: ServiceUIFrameContext; + +interface ServiceWorkerEventMap extends AbstractWorkerEventMap { + "statechange": Event; +} + +interface ServiceWorker extends EventTarget, AbstractWorker { + onstatechange: ((this: ServiceWorker, ev: Event) => any) | null; + readonly scriptURL: string; + readonly state: ServiceWorkerState; + postMessage(message: any, transfer?: Transferable[]): void; + addEventListener(type: K, listener: (this: ServiceWorker, ev: ServiceWorkerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: ServiceWorker, ev: ServiceWorkerEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var ServiceWorker: { + prototype: ServiceWorker; + new(): ServiceWorker; +}; + +interface ServiceWorkerContainerEventMap { + "controllerchange": Event; + "message": MessageEvent; + "messageerror": MessageEvent; +} + +interface ServiceWorkerContainer extends EventTarget { + readonly controller: ServiceWorker | null; + oncontrollerchange: ((this: ServiceWorkerContainer, ev: Event) => any) | null; + onmessage: ((this: ServiceWorkerContainer, ev: MessageEvent) => any) | null; + onmessageerror: ((this: ServiceWorkerContainer, ev: MessageEvent) => any) | null; + readonly ready: Promise; + getRegistration(clientURL?: string): Promise; + getRegistrations(): Promise>; + register(scriptURL: string, options?: RegistrationOptions): Promise; + startMessages(): void; + addEventListener(type: K, listener: (this: ServiceWorkerContainer, ev: ServiceWorkerContainerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: ServiceWorkerContainer, ev: ServiceWorkerContainerEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var ServiceWorkerContainer: { + prototype: ServiceWorkerContainer; + new(): ServiceWorkerContainer; +}; + +interface ServiceWorkerMessageEvent extends Event { + readonly data: any; + readonly lastEventId: string; + readonly origin: string; + readonly ports: ReadonlyArray | null; + readonly source: ServiceWorker | MessagePort | null; +} + +declare var ServiceWorkerMessageEvent: { + prototype: ServiceWorkerMessageEvent; + new(type: string, eventInitDict?: ServiceWorkerMessageEventInit): ServiceWorkerMessageEvent; +}; + +interface ServiceWorkerRegistrationEventMap { + "updatefound": Event; +} + +interface ServiceWorkerRegistration extends EventTarget { + readonly active: ServiceWorker | null; + readonly installing: ServiceWorker | null; + readonly navigationPreload: NavigationPreloadManager; + onupdatefound: ((this: ServiceWorkerRegistration, ev: Event) => any) | null; + readonly pushManager: PushManager; + readonly scope: string; + readonly sync: SyncManager; + readonly updateViaCache: ServiceWorkerUpdateViaCache; + readonly waiting: ServiceWorker | null; + getNotifications(filter?: GetNotificationOptions): Promise; + showNotification(title: string, options?: NotificationOptions): Promise; + unregister(): Promise; + update(): Promise; + addEventListener(type: K, listener: (this: ServiceWorkerRegistration, ev: ServiceWorkerRegistrationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: ServiceWorkerRegistration, ev: ServiceWorkerRegistrationEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var ServiceWorkerRegistration: { + prototype: ServiceWorkerRegistration; + new(): ServiceWorkerRegistration; +}; + +interface ShadowRoot extends DocumentOrShadowRoot, DocumentFragment, DocumentOrShadowRoot { + readonly host: Element; + innerHTML: string; + readonly mode: ShadowRootMode; +} + +interface ShadowRootInit { + delegatesFocus?: boolean; + mode: "open" | "closed"; +} + +interface Slotable { + readonly assignedSlot: HTMLSlotElement | null; +} + +interface SourceBuffer extends EventTarget { + appendWindowEnd: number; + appendWindowStart: number; + readonly audioTracks: AudioTrackList; + readonly buffered: TimeRanges; + mode: AppendMode; + readonly textTracks: TextTrackList; + timestampOffset: number; + readonly updating: boolean; + readonly videoTracks: VideoTrackList; + abort(): void; + appendBuffer(data: ArrayBuffer | Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | null): void; + appendStream(stream: MSStream, maxSize?: number): void; + remove(start: number, end: number): void; +} + +declare var SourceBuffer: { + prototype: SourceBuffer; + new(): SourceBuffer; +}; + +interface SourceBufferList extends EventTarget { + readonly length: number; + item(index: number): SourceBuffer; + [index: number]: SourceBuffer; +} + +declare var SourceBufferList: { + prototype: SourceBufferList; + new(): SourceBufferList; +}; + +interface SpeechGrammar { + src: string; + weight: number; +} + +declare var SpeechGrammar: { + prototype: SpeechGrammar; + new(): SpeechGrammar; +}; + +interface SpeechGrammarList { + readonly length: number; + addFromString(string: string, weight?: number): void; + addFromURI(src: string, weight?: number): void; + item(index: number): SpeechGrammar; + [index: number]: SpeechGrammar; +} + +declare var SpeechGrammarList: { + prototype: SpeechGrammarList; + new(): SpeechGrammarList; +}; + +interface SpeechRecognitionEventMap { + "audioend": Event; + "audiostart": Event; + "end": Event; + "error": SpeechRecognitionError; + "nomatch": SpeechRecognitionEvent; + "result": SpeechRecognitionEvent; + "soundend": Event; + "soundstart": Event; + "speechend": Event; + "speechstart": Event; + "start": Event; +} + +interface SpeechRecognition extends EventTarget { + continuous: boolean; + grammars: SpeechGrammarList; + interimResults: boolean; + lang: string; + maxAlternatives: number; + onaudioend: ((this: SpeechRecognition, ev: Event) => any) | null; + onaudiostart: ((this: SpeechRecognition, ev: Event) => any) | null; + onend: ((this: SpeechRecognition, ev: Event) => any) | null; + onerror: ((this: SpeechRecognition, ev: SpeechRecognitionError) => any) | null; + onnomatch: ((this: SpeechRecognition, ev: SpeechRecognitionEvent) => any) | null; + onresult: ((this: SpeechRecognition, ev: SpeechRecognitionEvent) => any) | null; + onsoundend: ((this: SpeechRecognition, ev: Event) => any) | null; + onsoundstart: ((this: SpeechRecognition, ev: Event) => any) | null; + onspeechend: ((this: SpeechRecognition, ev: Event) => any) | null; + onspeechstart: ((this: SpeechRecognition, ev: Event) => any) | null; + onstart: ((this: SpeechRecognition, ev: Event) => any) | null; + serviceURI: string; + abort(): void; + start(): void; + stop(): void; + addEventListener(type: K, listener: (this: SpeechRecognition, ev: SpeechRecognitionEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SpeechRecognition, ev: SpeechRecognitionEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SpeechRecognition: { + prototype: SpeechRecognition; + new(): SpeechRecognition; +}; + +interface SpeechRecognitionAlternative { + readonly confidence: number; + readonly transcript: string; +} + +declare var SpeechRecognitionAlternative: { + prototype: SpeechRecognitionAlternative; + new(): SpeechRecognitionAlternative; +}; + +interface SpeechRecognitionError extends Event { + readonly error: SpeechRecognitionErrorCode; + readonly message: string; +} + +declare var SpeechRecognitionError: { + prototype: SpeechRecognitionError; + new(): SpeechRecognitionError; +}; + +interface SpeechRecognitionEvent extends Event { + readonly emma: Document | null; + readonly interpretation: any; + readonly resultIndex: number; + readonly results: SpeechRecognitionResultList; +} + +declare var SpeechRecognitionEvent: { + prototype: SpeechRecognitionEvent; + new(): SpeechRecognitionEvent; +}; + +interface SpeechRecognitionResult { + readonly isFinal: boolean; + readonly length: number; + item(index: number): SpeechRecognitionAlternative; + [index: number]: SpeechRecognitionAlternative; +} + +declare var SpeechRecognitionResult: { + prototype: SpeechRecognitionResult; + new(): SpeechRecognitionResult; +}; + +interface SpeechRecognitionResultList { + readonly length: number; + item(index: number): SpeechRecognitionResult; + [index: number]: SpeechRecognitionResult; +} + +declare var SpeechRecognitionResultList: { + prototype: SpeechRecognitionResultList; + new(): SpeechRecognitionResultList; +}; + +interface SpeechSynthesisEventMap { + "voiceschanged": Event; +} + +interface SpeechSynthesis extends EventTarget { + onvoiceschanged: ((this: SpeechSynthesis, ev: Event) => any) | null; + readonly paused: boolean; + readonly pending: boolean; + readonly speaking: boolean; + cancel(): void; + getVoices(): SpeechSynthesisVoice[]; + pause(): void; + resume(): void; + speak(utterance: SpeechSynthesisUtterance): void; + addEventListener(type: K, listener: (this: SpeechSynthesis, ev: SpeechSynthesisEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SpeechSynthesis, ev: SpeechSynthesisEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SpeechSynthesis: { + prototype: SpeechSynthesis; + new(): SpeechSynthesis; +}; + +interface SpeechSynthesisErrorEvent extends SpeechSynthesisEvent { + readonly error: SpeechSynthesisErrorCode; +} + +declare var SpeechSynthesisErrorEvent: { + prototype: SpeechSynthesisErrorEvent; + new(): SpeechSynthesisErrorEvent; +}; + +interface SpeechSynthesisEvent extends Event { + readonly charIndex: number; + readonly elapsedTime: number; + readonly name: string; + readonly utterance: SpeechSynthesisUtterance; +} + +declare var SpeechSynthesisEvent: { + prototype: SpeechSynthesisEvent; + new(): SpeechSynthesisEvent; +}; + +interface SpeechSynthesisUtteranceEventMap { + "boundary": SpeechSynthesisEvent; + "end": SpeechSynthesisEvent; + "error": SpeechSynthesisErrorEvent; + "mark": SpeechSynthesisEvent; + "pause": SpeechSynthesisEvent; + "resume": SpeechSynthesisEvent; + "start": SpeechSynthesisEvent; +} + +interface SpeechSynthesisUtterance extends EventTarget { + lang: string; + onboundary: ((this: SpeechSynthesisUtterance, ev: SpeechSynthesisEvent) => any) | null; + onend: ((this: SpeechSynthesisUtterance, ev: SpeechSynthesisEvent) => any) | null; + onerror: ((this: SpeechSynthesisUtterance, ev: SpeechSynthesisErrorEvent) => any) | null; + onmark: ((this: SpeechSynthesisUtterance, ev: SpeechSynthesisEvent) => any) | null; + onpause: ((this: SpeechSynthesisUtterance, ev: SpeechSynthesisEvent) => any) | null; + onresume: ((this: SpeechSynthesisUtterance, ev: SpeechSynthesisEvent) => any) | null; + onstart: ((this: SpeechSynthesisUtterance, ev: SpeechSynthesisEvent) => any) | null; + pitch: number; + rate: number; + text: string; + voice: SpeechSynthesisVoice; + volume: number; + addEventListener(type: K, listener: (this: SpeechSynthesisUtterance, ev: SpeechSynthesisUtteranceEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: SpeechSynthesisUtterance, ev: SpeechSynthesisUtteranceEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var SpeechSynthesisUtterance: { + prototype: SpeechSynthesisUtterance; + new(): SpeechSynthesisUtterance; + new(text: string): SpeechSynthesisUtterance; +}; + +interface SpeechSynthesisVoice { + readonly default: boolean; + readonly lang: string; + readonly localService: boolean; + readonly name: string; + readonly voiceURI: string; +} + +declare var SpeechSynthesisVoice: { + prototype: SpeechSynthesisVoice; + new(): SpeechSynthesisVoice; +}; + +interface StaticRange extends AbstractRange { +} + +declare var StaticRange: { + prototype: StaticRange; + new(): StaticRange; +}; + +interface StereoPannerNode extends AudioNode { + readonly pan: AudioParam; +} + +declare var StereoPannerNode: { + prototype: StereoPannerNode; + new(context: BaseAudioContext, options?: StereoPannerOptions): StereoPannerNode; +}; + +interface Storage { + /** + * Returns the number of key/value pairs currently present in the list associated with the + * object. + */ + readonly length: number; + /** + * Empties the list associated with the object of all key/value pairs, if there are any. + */ + clear(): void; + /** + * value = storage[key] + */ + getItem(key: string): string | null; + /** + * Returns the name of the nth key in the list, or null if n is greater + * than or equal to the number of key/value pairs in the object. + */ + key(index: number): string | null; + /** + * delete storage[key] + */ + removeItem(key: string): void; + /** + * storage[key] = value + */ + setItem(key: string, value: string): void; + [name: string]: any; +} + +declare var Storage: { + prototype: Storage; + new(): Storage; +}; + +interface StorageEvent extends Event { + /** + * Returns the key of the storage item being changed. + */ + readonly key: string | null; + /** + * Returns the new value of the key of the storage item whose value is being changed. + */ + readonly newValue: string | null; + /** + * Returns the old value of the key of the storage item whose value is being changed. + */ + readonly oldValue: string | null; + /** + * Returns the Storage object that was affected. + */ + readonly storageArea: Storage | null; + /** + * Returns the URL of the document whose storage item changed. + */ + readonly url: string; +} + +declare var StorageEvent: { + prototype: StorageEvent; + new(type: string, eventInitDict?: StorageEventInit): StorageEvent; +}; + +interface StorageManager { + estimate(): Promise; + persist(): Promise; + persisted(): Promise; +} + +declare var StorageManager: { + prototype: StorageManager; + new(): StorageManager; +}; + +interface StyleMedia { + readonly type: string; + matchMedium(mediaquery: string): boolean; +} + +declare var StyleMedia: { + prototype: StyleMedia; + new(): StyleMedia; +}; + +interface StyleSheet { + disabled: boolean; + readonly href: string | null; + readonly media: MediaList; + readonly ownerNode: Node; + readonly parentStyleSheet: StyleSheet | null; + readonly title: string | null; + readonly type: string; +} + +declare var StyleSheet: { + prototype: StyleSheet; + new(): StyleSheet; +}; + +interface StyleSheetList { + readonly length: number; + item(index: number): StyleSheet | null; + [index: number]: StyleSheet; +} + +declare var StyleSheetList: { + prototype: StyleSheetList; + new(): StyleSheetList; +}; + +interface SubtleCrypto { + decrypt(algorithm: string | RsaOaepParams | AesCtrParams | AesCbcParams | AesCmacParams | AesGcmParams | AesCfbParams, key: CryptoKey, data: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer): PromiseLike; + deriveBits(algorithm: string | EcdhKeyDeriveParams | DhKeyDeriveParams | ConcatParams | HkdfCtrParams | Pbkdf2Params, baseKey: CryptoKey, length: number): PromiseLike; + deriveKey(algorithm: string | EcdhKeyDeriveParams | DhKeyDeriveParams | ConcatParams | HkdfCtrParams | Pbkdf2Params, baseKey: CryptoKey, derivedKeyType: string | AesDerivedKeyParams | HmacImportParams | ConcatParams | HkdfCtrParams | Pbkdf2Params, extractable: boolean, keyUsages: string[]): PromiseLike; + digest(algorithm: string | Algorithm, data: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer): PromiseLike; + encrypt(algorithm: string | RsaOaepParams | AesCtrParams | AesCbcParams | AesCmacParams | AesGcmParams | AesCfbParams, key: CryptoKey, data: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer): PromiseLike; + exportKey(format: "jwk", key: CryptoKey): PromiseLike; + exportKey(format: "raw" | "pkcs8" | "spki", key: CryptoKey): PromiseLike; + exportKey(format: string, key: CryptoKey): PromiseLike; + generateKey(algorithm: string, extractable: boolean, keyUsages: string[]): PromiseLike; + generateKey(algorithm: RsaHashedKeyGenParams | EcKeyGenParams | DhKeyGenParams, extractable: boolean, keyUsages: string[]): PromiseLike; + generateKey(algorithm: AesKeyGenParams | HmacKeyGenParams | Pbkdf2Params, extractable: boolean, keyUsages: string[]): PromiseLike; + importKey(format: "jwk", keyData: JsonWebKey, algorithm: string | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams | AesKeyAlgorithm, extractable: boolean, keyUsages: string[]): PromiseLike; + importKey(format: "raw" | "pkcs8" | "spki", keyData: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer, algorithm: string | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams | AesKeyAlgorithm, extractable: boolean, keyUsages: string[]): PromiseLike; + importKey(format: string, keyData: JsonWebKey | Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer, algorithm: string | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams | AesKeyAlgorithm, extractable: boolean, keyUsages: string[]): PromiseLike; + sign(algorithm: string | RsaPssParams | EcdsaParams | AesCmacParams, key: CryptoKey, data: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer): PromiseLike; + unwrapKey(format: string, wrappedKey: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer, unwrappingKey: CryptoKey, unwrapAlgorithm: string | Algorithm, unwrappedKeyAlgorithm: string | Algorithm, extractable: boolean, keyUsages: string[]): PromiseLike; + verify(algorithm: string | RsaPssParams | EcdsaParams | AesCmacParams, key: CryptoKey, signature: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer, data: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer): PromiseLike; + wrapKey(format: string, key: CryptoKey, wrappingKey: CryptoKey, wrapAlgorithm: string | Algorithm): PromiseLike; +} + +declare var SubtleCrypto: { + prototype: SubtleCrypto; + new(): SubtleCrypto; +}; + +interface SyncManager { + getTags(): Promise; + register(tag: string): Promise; +} + +declare var SyncManager: { + prototype: SyncManager; + new(): SyncManager; +}; + +interface Text extends CharacterData, Slotable { + readonly assignedSlot: HTMLSlotElement | null; + /** + * Returns the combined data of all direct Text node siblings. + */ + readonly wholeText: string; + /** + * Splits data at the given offset and returns the remainder as Text node. + */ + splitText(offset: number): Text; +} + +declare var Text: { + prototype: Text; + new(data?: string): Text; +}; + +interface TextDecoder { + /** + * Returns encoding's name, lowercased. + */ + readonly encoding: string; + /** + * Returns true if error mode is "fatal", and false + * otherwise. + */ + readonly fatal: boolean; + /** + * Returns true if ignore BOM flag is set, and false otherwise. + */ + readonly ignoreBOM: boolean; + /** + * Returns the result of running encoding's decoder. The + * method can be invoked zero or more times with options's stream set to + * true, and then once without options's stream (or set to false), to process + * a fragmented stream. If the invocation without options's stream (or set to + * false) has no input, it's clearest to omit both arguments. + * var string = "", decoder = new TextDecoder(encoding), buffer; + * while(buffer = next_chunk()) { + * string += decoder.decode(buffer, {stream:true}); + * } + * string += decoder.decode(); // end-of-stream + * If the error mode is "fatal" and encoding's decoder returns error, throws a TypeError. + */ + decode(input?: BufferSource, options?: TextDecodeOptions): string; +} + +declare var TextDecoder: { + prototype: TextDecoder; + new(label?: string, options?: TextDecoderOptions): TextDecoder; +}; + +interface TextEncoder { + /** + * Returns "utf-8". + */ + readonly encoding: string; + /** + * Returns the result of running UTF-8's encoder. + */ + encode(input?: string): Uint8Array; +} + +declare var TextEncoder: { + prototype: TextEncoder; + new(): TextEncoder; +}; + +interface TextEvent extends UIEvent { + readonly data: string; + initTextEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, dataArg: string, inputMethod: number, locale: string): void; + readonly DOM_INPUT_METHOD_DROP: number; + readonly DOM_INPUT_METHOD_HANDWRITING: number; + readonly DOM_INPUT_METHOD_IME: number; + readonly DOM_INPUT_METHOD_KEYBOARD: number; + readonly DOM_INPUT_METHOD_MULTIMODAL: number; + readonly DOM_INPUT_METHOD_OPTION: number; + readonly DOM_INPUT_METHOD_PASTE: number; + readonly DOM_INPUT_METHOD_SCRIPT: number; + readonly DOM_INPUT_METHOD_UNKNOWN: number; + readonly DOM_INPUT_METHOD_VOICE: number; +} + +declare var TextEvent: { + prototype: TextEvent; + new(): TextEvent; + readonly DOM_INPUT_METHOD_DROP: number; + readonly DOM_INPUT_METHOD_HANDWRITING: number; + readonly DOM_INPUT_METHOD_IME: number; + readonly DOM_INPUT_METHOD_KEYBOARD: number; + readonly DOM_INPUT_METHOD_MULTIMODAL: number; + readonly DOM_INPUT_METHOD_OPTION: number; + readonly DOM_INPUT_METHOD_PASTE: number; + readonly DOM_INPUT_METHOD_SCRIPT: number; + readonly DOM_INPUT_METHOD_UNKNOWN: number; + readonly DOM_INPUT_METHOD_VOICE: number; +}; + +interface TextMetrics { + readonly actualBoundingBoxAscent: number; + readonly actualBoundingBoxDescent: number; + readonly actualBoundingBoxLeft: number; + readonly actualBoundingBoxRight: number; + readonly alphabeticBaseline: number; + readonly emHeightAscent: number; + readonly emHeightDescent: number; + readonly fontBoundingBoxAscent: number; + readonly fontBoundingBoxDescent: number; + readonly hangingBaseline: number; + /** + * Returns the measurement described below. + */ + readonly ideographicBaseline: number; + readonly width: number; +} + +declare var TextMetrics: { + prototype: TextMetrics; + new(): TextMetrics; +}; + +interface TextTrackEventMap { + "cuechange": Event; + "error": Event; + "load": Event; +} + +interface TextTrack extends EventTarget { + readonly activeCues: TextTrackCueList; + readonly cues: TextTrackCueList; + readonly inBandMetadataTrackDispatchType: string; + readonly kind: string; + readonly label: string; + readonly language: string; + mode: TextTrackMode | number; + oncuechange: ((this: TextTrack, ev: Event) => any) | null; + onerror: ((this: TextTrack, ev: Event) => any) | null; + onload: ((this: TextTrack, ev: Event) => any) | null; + readonly readyState: number; + addCue(cue: TextTrackCue): void; + removeCue(cue: TextTrackCue): void; + readonly DISABLED: number; + readonly ERROR: number; + readonly HIDDEN: number; + readonly LOADED: number; + readonly LOADING: number; + readonly NONE: number; + readonly SHOWING: number; + addEventListener(type: K, listener: (this: TextTrack, ev: TextTrackEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: TextTrack, ev: TextTrackEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var TextTrack: { + prototype: TextTrack; + new(): TextTrack; + readonly DISABLED: number; + readonly ERROR: number; + readonly HIDDEN: number; + readonly LOADED: number; + readonly LOADING: number; + readonly NONE: number; + readonly SHOWING: number; +}; + +interface TextTrackCueEventMap { + "enter": Event; + "exit": Event; +} + +interface TextTrackCue extends EventTarget { + endTime: number; + id: string; + onenter: ((this: TextTrackCue, ev: Event) => any) | null; + onexit: ((this: TextTrackCue, ev: Event) => any) | null; + pauseOnExit: boolean; + startTime: number; + text: string; + readonly track: TextTrack; + getCueAsHTML(): DocumentFragment; + addEventListener(type: K, listener: (this: TextTrackCue, ev: TextTrackCueEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: TextTrackCue, ev: TextTrackCueEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var TextTrackCue: { + prototype: TextTrackCue; + new(startTime: number, endTime: number, text: string): TextTrackCue; +}; + +interface TextTrackCueList { + readonly length: number; + getCueById(id: string): TextTrackCue; + item(index: number): TextTrackCue; + [index: number]: TextTrackCue; +} + +declare var TextTrackCueList: { + prototype: TextTrackCueList; + new(): TextTrackCueList; +}; + +interface TextTrackListEventMap { + "addtrack": TrackEvent; +} + +interface TextTrackList extends EventTarget { + readonly length: number; + onaddtrack: ((this: TextTrackList, ev: TrackEvent) => any) | null; + item(index: number): TextTrack; + addEventListener(type: K, listener: (this: TextTrackList, ev: TextTrackListEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: TextTrackList, ev: TextTrackListEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; + [index: number]: TextTrack; +} + +declare var TextTrackList: { + prototype: TextTrackList; + new(): TextTrackList; +}; + +interface TimeRanges { + readonly length: number; + end(index: number): number; + start(index: number): number; +} + +declare var TimeRanges: { + prototype: TimeRanges; + new(): TimeRanges; +}; + +interface Touch { + readonly altitudeAngle: number; + readonly azimuthAngle: number; + readonly clientX: number; + readonly clientY: number; + readonly force: number; + readonly identifier: number; + readonly pageX: number; + readonly pageY: number; + readonly radiusX: number; + readonly radiusY: number; + readonly rotationAngle: number; + readonly screenX: number; + readonly screenY: number; + readonly target: EventTarget; + readonly touchType: TouchType; +} + +declare var Touch: { + prototype: Touch; + new(touchInitDict: TouchInit): Touch; +}; + +interface TouchEvent extends UIEvent { + readonly altKey: boolean; + readonly changedTouches: TouchList; + readonly ctrlKey: boolean; + readonly metaKey: boolean; + readonly shiftKey: boolean; + readonly targetTouches: TouchList; + readonly touches: TouchList; +} + +declare var TouchEvent: { + prototype: TouchEvent; + new(type: string, eventInitDict?: TouchEventInit): TouchEvent; +}; + +interface TouchList { + readonly length: number; + item(index: number): Touch | null; + [index: number]: Touch; +} + +declare var TouchList: { + prototype: TouchList; + new(): TouchList; +}; + +interface TrackEvent extends Event { + readonly track: VideoTrack | AudioTrack | TextTrack | null; +} + +declare var TrackEvent: { + prototype: TrackEvent; + new(typeArg: string, eventInitDict?: TrackEventInit): TrackEvent; +}; + +interface TransformStream { + readonly readable: ReadableStream; + readonly writable: WritableStream; +} + +declare var TransformStream: { + prototype: TransformStream; + new(transformer?: Transformer, writableStrategy?: QueuingStrategy, readableStrategy?: QueuingStrategy): TransformStream; +}; + +interface TransformStreamDefaultController { + readonly desiredSize: number | null; + enqueue(chunk: O): void; + error(reason?: any): void; + terminate(): void; +} + +interface TransitionEvent extends Event { + readonly elapsedTime: number; + readonly propertyName: string; + readonly pseudoElement: string; +} + +declare var TransitionEvent: { + prototype: TransitionEvent; + new(type: string, transitionEventInitDict?: TransitionEventInit): TransitionEvent; +}; + +interface TreeWalker { + currentNode: Node; + readonly filter: NodeFilter | null; + readonly root: Node; + readonly whatToShow: number; + firstChild(): Node | null; + lastChild(): Node | null; + nextNode(): Node | null; + nextSibling(): Node | null; + parentNode(): Node | null; + previousNode(): Node | null; + previousSibling(): Node | null; +} + +declare var TreeWalker: { + prototype: TreeWalker; + new(): TreeWalker; +}; + +interface UIEvent extends Event { + readonly detail: number; + readonly view: Window; + initUIEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number): void; +} + +declare var UIEvent: { + prototype: UIEvent; + new(typeArg: string, eventInitDict?: UIEventInit): UIEvent; +}; + +interface URL { + hash: string; + host: string; + hostname: string; + href: string; + readonly origin: string; + password: string; + pathname: string; + port: string; + protocol: string; + search: string; + readonly searchParams: URLSearchParams; + username: string; + toJSON(): string; +} + +declare var URL: { + prototype: URL; + new(url: string, base?: string | URL): URL; + createObjectURL(object: any): string; + revokeObjectURL(url: string): void; +}; + +type webkitURL = URL; +declare var webkitURL: typeof URL; + +interface URLSearchParams { + /** + * Appends a specified key/value pair as a new search parameter. + */ + append(name: string, value: string): void; + /** + * Deletes the given search parameter, and its associated value, from the list of all search parameters. + */ + delete(name: string): void; + /** + * Returns the first value associated to the given search parameter. + */ + get(name: string): string | null; + /** + * Returns all the values association with a given search parameter. + */ + getAll(name: string): string[]; + /** + * Returns a Boolean indicating if such a search parameter exists. + */ + has(name: string): boolean; + /** + * Sets the value associated to a given search parameter to the given value. If there were several values, delete the others. + */ + set(name: string, value: string): void; + sort(): void; + forEach(callbackfn: (value: string, key: string, parent: URLSearchParams) => void, thisArg?: any): void; +} + +declare var URLSearchParams: { + prototype: URLSearchParams; + new(init?: string[][] | Record | string | URLSearchParams): URLSearchParams; +}; + +interface VRDisplay extends EventTarget { + readonly capabilities: VRDisplayCapabilities; + depthFar: number; + depthNear: number; + readonly displayId: number; + readonly displayName: string; + readonly isConnected: boolean; + readonly isPresenting: boolean; + readonly stageParameters: VRStageParameters | null; + cancelAnimationFrame(handle: number): void; + exitPresent(): Promise; + getEyeParameters(whichEye: string): VREyeParameters; + getFrameData(frameData: VRFrameData): boolean; + getLayers(): VRLayer[]; + /** @deprecated */ + getPose(): VRPose; + requestAnimationFrame(callback: FrameRequestCallback): number; + requestPresent(layers: VRLayer[]): Promise; + resetPose(): void; + submitFrame(pose?: VRPose): void; +} + +declare var VRDisplay: { + prototype: VRDisplay; + new(): VRDisplay; +}; + +interface VRDisplayCapabilities { + readonly canPresent: boolean; + readonly hasExternalDisplay: boolean; + readonly hasOrientation: boolean; + readonly hasPosition: boolean; + readonly maxLayers: number; +} + +declare var VRDisplayCapabilities: { + prototype: VRDisplayCapabilities; + new(): VRDisplayCapabilities; +}; + +interface VRDisplayEvent extends Event { + readonly display: VRDisplay; + readonly reason: VRDisplayEventReason | null; +} + +declare var VRDisplayEvent: { + prototype: VRDisplayEvent; + new(type: string, eventInitDict: VRDisplayEventInit): VRDisplayEvent; +}; + +interface VREyeParameters { + /** @deprecated */ + readonly fieldOfView: VRFieldOfView; + readonly offset: Float32Array; + readonly renderHeight: number; + readonly renderWidth: number; +} + +declare var VREyeParameters: { + prototype: VREyeParameters; + new(): VREyeParameters; +}; + +interface VRFieldOfView { + readonly downDegrees: number; + readonly leftDegrees: number; + readonly rightDegrees: number; + readonly upDegrees: number; +} + +declare var VRFieldOfView: { + prototype: VRFieldOfView; + new(): VRFieldOfView; +}; + +interface VRFrameData { + readonly leftProjectionMatrix: Float32Array; + readonly leftViewMatrix: Float32Array; + readonly pose: VRPose; + readonly rightProjectionMatrix: Float32Array; + readonly rightViewMatrix: Float32Array; + readonly timestamp: number; +} + +declare var VRFrameData: { + prototype: VRFrameData; + new(): VRFrameData; +}; + +interface VRPose { + readonly angularAcceleration: Float32Array | null; + readonly angularVelocity: Float32Array | null; + readonly linearAcceleration: Float32Array | null; + readonly linearVelocity: Float32Array | null; + readonly orientation: Float32Array | null; + readonly position: Float32Array | null; + readonly timestamp: number; +} + +declare var VRPose: { + prototype: VRPose; + new(): VRPose; +}; + +interface VTTCue extends TextTrackCue { + align: AlignSetting; + line: LineAndPositionSetting; + lineAlign: LineAlignSetting; + position: LineAndPositionSetting; + positionAlign: PositionAlignSetting; + region: VTTRegion | null; + size: number; + snapToLines: boolean; + text: string; + vertical: DirectionSetting; + getCueAsHTML(): DocumentFragment; + addEventListener(type: K, listener: (this: VTTCue, ev: TextTrackCueEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: VTTCue, ev: TextTrackCueEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var VTTCue: { + prototype: VTTCue; + new(startTime: number, endTime: number, text: string): VTTCue; +}; + +interface VTTRegion { + id: string; + lines: number; + regionAnchorX: number; + regionAnchorY: number; + scroll: ScrollSetting; + viewportAnchorX: number; + viewportAnchorY: number; + width: number; +} + +declare var VTTRegion: { + prototype: VTTRegion; + new(): VTTRegion; +}; + +interface ValidityState { + readonly badInput: boolean; + readonly customError: boolean; + readonly patternMismatch: boolean; + readonly rangeOverflow: boolean; + readonly rangeUnderflow: boolean; + readonly stepMismatch: boolean; + readonly tooLong: boolean; + readonly tooShort: boolean; + readonly typeMismatch: boolean; + readonly valid: boolean; + readonly valueMissing: boolean; +} + +declare var ValidityState: { + prototype: ValidityState; + new(): ValidityState; +}; + +interface VideoPlaybackQuality { + readonly corruptedVideoFrames: number; + readonly creationTime: number; + readonly droppedVideoFrames: number; + readonly totalFrameDelay: number; + readonly totalVideoFrames: number; +} + +declare var VideoPlaybackQuality: { + prototype: VideoPlaybackQuality; + new(): VideoPlaybackQuality; +}; + +interface VideoTrack { + readonly id: string; + kind: string; + readonly label: string; + language: string; + selected: boolean; + readonly sourceBuffer: SourceBuffer; +} + +declare var VideoTrack: { + prototype: VideoTrack; + new(): VideoTrack; +}; + +interface VideoTrackListEventMap { + "addtrack": TrackEvent; + "change": Event; + "removetrack": TrackEvent; +} + +interface VideoTrackList extends EventTarget { + readonly length: number; + onaddtrack: ((this: VideoTrackList, ev: TrackEvent) => any) | null; + onchange: ((this: VideoTrackList, ev: Event) => any) | null; + onremovetrack: ((this: VideoTrackList, ev: TrackEvent) => any) | null; + readonly selectedIndex: number; + getTrackById(id: string): VideoTrack | null; + item(index: number): VideoTrack; + addEventListener(type: K, listener: (this: VideoTrackList, ev: VideoTrackListEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: VideoTrackList, ev: VideoTrackListEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; + [index: number]: VideoTrack; +} + +declare var VideoTrackList: { + prototype: VideoTrackList; + new(): VideoTrackList; +}; + +interface WEBGL_color_buffer_float { + readonly FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT: GLenum; + readonly RGBA32F_EXT: GLenum; + readonly UNSIGNED_NORMALIZED_EXT: GLenum; +} + +interface WEBGL_compressed_texture_astc { + getSupportedProfiles(): string[]; + readonly COMPRESSED_RGBA_ASTC_10x10_KHR: GLenum; + readonly COMPRESSED_RGBA_ASTC_10x5_KHR: GLenum; + readonly COMPRESSED_RGBA_ASTC_10x6_KHR: GLenum; + readonly COMPRESSED_RGBA_ASTC_10x8_KHR: GLenum; + readonly COMPRESSED_RGBA_ASTC_12x10_KHR: GLenum; + readonly COMPRESSED_RGBA_ASTC_12x12_KHR: GLenum; + readonly COMPRESSED_RGBA_ASTC_4x4_KHR: GLenum; + readonly COMPRESSED_RGBA_ASTC_5x4_KHR: GLenum; + readonly COMPRESSED_RGBA_ASTC_5x5_KHR: GLenum; + readonly COMPRESSED_RGBA_ASTC_6x5_KHR: GLenum; + readonly COMPRESSED_RGBA_ASTC_6x6_KHR: GLenum; + readonly COMPRESSED_RGBA_ASTC_8x5_KHR: GLenum; + readonly COMPRESSED_RGBA_ASTC_8x6_KHR: GLenum; + readonly COMPRESSED_RGBA_ASTC_8x8_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR: GLenum; +} + +interface WEBGL_compressed_texture_s3tc { + readonly COMPRESSED_RGBA_S3TC_DXT1_EXT: GLenum; + readonly COMPRESSED_RGBA_S3TC_DXT3_EXT: GLenum; + readonly COMPRESSED_RGBA_S3TC_DXT5_EXT: GLenum; + readonly COMPRESSED_RGB_S3TC_DXT1_EXT: GLenum; +} + +interface WEBGL_compressed_texture_s3tc_srgb { + readonly COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT: GLenum; + readonly COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT: GLenum; + readonly COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT: GLenum; + readonly COMPRESSED_SRGB_S3TC_DXT1_EXT: GLenum; +} + +interface WEBGL_debug_renderer_info { + readonly UNMASKED_RENDERER_WEBGL: GLenum; + readonly UNMASKED_VENDOR_WEBGL: GLenum; +} + +interface WEBGL_debug_shaders { + getTranslatedShaderSource(shader: WebGLShader): string; +} + +interface WEBGL_depth_texture { + readonly UNSIGNED_INT_24_8_WEBGL: GLenum; +} + +interface WEBGL_draw_buffers { + drawBuffersWEBGL(buffers: GLenum[]): void; + readonly COLOR_ATTACHMENT0_WEBGL: GLenum; + readonly COLOR_ATTACHMENT10_WEBGL: GLenum; + readonly COLOR_ATTACHMENT11_WEBGL: GLenum; + readonly COLOR_ATTACHMENT12_WEBGL: GLenum; + readonly COLOR_ATTACHMENT13_WEBGL: GLenum; + readonly COLOR_ATTACHMENT14_WEBGL: GLenum; + readonly COLOR_ATTACHMENT15_WEBGL: GLenum; + readonly COLOR_ATTACHMENT1_WEBGL: GLenum; + readonly COLOR_ATTACHMENT2_WEBGL: GLenum; + readonly COLOR_ATTACHMENT3_WEBGL: GLenum; + readonly COLOR_ATTACHMENT4_WEBGL: GLenum; + readonly COLOR_ATTACHMENT5_WEBGL: GLenum; + readonly COLOR_ATTACHMENT6_WEBGL: GLenum; + readonly COLOR_ATTACHMENT7_WEBGL: GLenum; + readonly COLOR_ATTACHMENT8_WEBGL: GLenum; + readonly COLOR_ATTACHMENT9_WEBGL: GLenum; + readonly DRAW_BUFFER0_WEBGL: GLenum; + readonly DRAW_BUFFER10_WEBGL: GLenum; + readonly DRAW_BUFFER11_WEBGL: GLenum; + readonly DRAW_BUFFER12_WEBGL: GLenum; + readonly DRAW_BUFFER13_WEBGL: GLenum; + readonly DRAW_BUFFER14_WEBGL: GLenum; + readonly DRAW_BUFFER15_WEBGL: GLenum; + readonly DRAW_BUFFER1_WEBGL: GLenum; + readonly DRAW_BUFFER2_WEBGL: GLenum; + readonly DRAW_BUFFER3_WEBGL: GLenum; + readonly DRAW_BUFFER4_WEBGL: GLenum; + readonly DRAW_BUFFER5_WEBGL: GLenum; + readonly DRAW_BUFFER6_WEBGL: GLenum; + readonly DRAW_BUFFER7_WEBGL: GLenum; + readonly DRAW_BUFFER8_WEBGL: GLenum; + readonly DRAW_BUFFER9_WEBGL: GLenum; + readonly MAX_COLOR_ATTACHMENTS_WEBGL: GLenum; + readonly MAX_DRAW_BUFFERS_WEBGL: GLenum; +} + +interface WEBGL_lose_context { + loseContext(): void; + restoreContext(): void; +} + +interface WaveShaperNode extends AudioNode { + curve: Float32Array | null; + oversample: OverSampleType; +} + +declare var WaveShaperNode: { + prototype: WaveShaperNode; + new(context: BaseAudioContext, options?: WaveShaperOptions): WaveShaperNode; +}; + +interface WebAuthentication { + getAssertion(assertionChallenge: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | null, options?: AssertionOptions): Promise; + makeCredential(accountInformation: Account, cryptoParameters: ScopedCredentialParameters[], attestationChallenge: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | null, options?: ScopedCredentialOptions): Promise; +} + +declare var WebAuthentication: { + prototype: WebAuthentication; + new(): WebAuthentication; +}; + +interface WebAuthnAssertion { + readonly authenticatorData: ArrayBuffer; + readonly clientData: ArrayBuffer; + readonly credential: ScopedCredential; + readonly signature: ArrayBuffer; +} + +declare var WebAuthnAssertion: { + prototype: WebAuthnAssertion; + new(): WebAuthnAssertion; +}; + +interface WebGLActiveInfo { + readonly name: string; + readonly size: GLint; + readonly type: GLenum; +} + +declare var WebGLActiveInfo: { + prototype: WebGLActiveInfo; + new(): WebGLActiveInfo; +}; + +interface WebGLBuffer extends WebGLObject { +} + +declare var WebGLBuffer: { + prototype: WebGLBuffer; + new(): WebGLBuffer; +}; + +interface WebGLContextEvent extends Event { + readonly statusMessage: string; +} + +declare var WebGLContextEvent: { + prototype: WebGLContextEvent; + new(type: string, eventInit?: WebGLContextEventInit): WebGLContextEvent; +}; + +interface WebGLFramebuffer extends WebGLObject { +} + +declare var WebGLFramebuffer: { + prototype: WebGLFramebuffer; + new(): WebGLFramebuffer; +}; + +interface WebGLObject { +} + +declare var WebGLObject: { + prototype: WebGLObject; + new(): WebGLObject; +}; + +interface WebGLProgram extends WebGLObject { +} + +declare var WebGLProgram: { + prototype: WebGLProgram; + new(): WebGLProgram; +}; + +interface WebGLRenderbuffer extends WebGLObject { +} + +declare var WebGLRenderbuffer: { + prototype: WebGLRenderbuffer; + new(): WebGLRenderbuffer; +}; + +interface WebGLRenderingContext extends WebGLRenderingContextBase { +} + +declare var WebGLRenderingContext: { + prototype: WebGLRenderingContext; + new(): WebGLRenderingContext; + readonly ACTIVE_ATTRIBUTES: GLenum; + readonly ACTIVE_TEXTURE: GLenum; + readonly ACTIVE_UNIFORMS: GLenum; + readonly ALIASED_LINE_WIDTH_RANGE: GLenum; + readonly ALIASED_POINT_SIZE_RANGE: GLenum; + readonly ALPHA: GLenum; + readonly ALPHA_BITS: GLenum; + readonly ALWAYS: GLenum; + readonly ARRAY_BUFFER: GLenum; + readonly ARRAY_BUFFER_BINDING: GLenum; + readonly ATTACHED_SHADERS: GLenum; + readonly BACK: GLenum; + readonly BLEND: GLenum; + readonly BLEND_COLOR: GLenum; + readonly BLEND_DST_ALPHA: GLenum; + readonly BLEND_DST_RGB: GLenum; + readonly BLEND_EQUATION: GLenum; + readonly BLEND_EQUATION_ALPHA: GLenum; + readonly BLEND_EQUATION_RGB: GLenum; + readonly BLEND_SRC_ALPHA: GLenum; + readonly BLEND_SRC_RGB: GLenum; + readonly BLUE_BITS: GLenum; + readonly BOOL: GLenum; + readonly BOOL_VEC2: GLenum; + readonly BOOL_VEC3: GLenum; + readonly BOOL_VEC4: GLenum; + readonly BROWSER_DEFAULT_WEBGL: GLenum; + readonly BUFFER_SIZE: GLenum; + readonly BUFFER_USAGE: GLenum; + readonly BYTE: GLenum; + readonly CCW: GLenum; + readonly CLAMP_TO_EDGE: GLenum; + readonly COLOR_ATTACHMENT0: GLenum; + readonly COLOR_BUFFER_BIT: GLenum; + readonly COLOR_CLEAR_VALUE: GLenum; + readonly COLOR_WRITEMASK: GLenum; + readonly COMPILE_STATUS: GLenum; + readonly COMPRESSED_TEXTURE_FORMATS: GLenum; + readonly CONSTANT_ALPHA: GLenum; + readonly CONSTANT_COLOR: GLenum; + readonly CONTEXT_LOST_WEBGL: GLenum; + readonly CULL_FACE: GLenum; + readonly CULL_FACE_MODE: GLenum; + readonly CURRENT_PROGRAM: GLenum; + readonly CURRENT_VERTEX_ATTRIB: GLenum; + readonly CW: GLenum; + readonly DECR: GLenum; + readonly DECR_WRAP: GLenum; + readonly DELETE_STATUS: GLenum; + readonly DEPTH_ATTACHMENT: GLenum; + readonly DEPTH_BITS: GLenum; + readonly DEPTH_BUFFER_BIT: GLenum; + readonly DEPTH_CLEAR_VALUE: GLenum; + readonly DEPTH_COMPONENT: GLenum; + readonly DEPTH_COMPONENT16: GLenum; + readonly DEPTH_FUNC: GLenum; + readonly DEPTH_RANGE: GLenum; + readonly DEPTH_STENCIL: GLenum; + readonly DEPTH_STENCIL_ATTACHMENT: GLenum; + readonly DEPTH_TEST: GLenum; + readonly DEPTH_WRITEMASK: GLenum; + readonly DITHER: GLenum; + readonly DONT_CARE: GLenum; + readonly DST_ALPHA: GLenum; + readonly DST_COLOR: GLenum; + readonly DYNAMIC_DRAW: GLenum; + readonly ELEMENT_ARRAY_BUFFER: GLenum; + readonly ELEMENT_ARRAY_BUFFER_BINDING: GLenum; + readonly EQUAL: GLenum; + readonly FASTEST: GLenum; + readonly FLOAT: GLenum; + readonly FLOAT_MAT2: GLenum; + readonly FLOAT_MAT3: GLenum; + readonly FLOAT_MAT4: GLenum; + readonly FLOAT_VEC2: GLenum; + readonly FLOAT_VEC3: GLenum; + readonly FLOAT_VEC4: GLenum; + readonly FRAGMENT_SHADER: GLenum; + readonly FRAMEBUFFER: GLenum; + readonly FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: GLenum; + readonly FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: GLenum; + readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: GLenum; + readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: GLenum; + readonly FRAMEBUFFER_BINDING: GLenum; + readonly FRAMEBUFFER_COMPLETE: GLenum; + readonly FRAMEBUFFER_INCOMPLETE_ATTACHMENT: GLenum; + readonly FRAMEBUFFER_INCOMPLETE_DIMENSIONS: GLenum; + readonly FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: GLenum; + readonly FRAMEBUFFER_UNSUPPORTED: GLenum; + readonly FRONT: GLenum; + readonly FRONT_AND_BACK: GLenum; + readonly FRONT_FACE: GLenum; + readonly FUNC_ADD: GLenum; + readonly FUNC_REVERSE_SUBTRACT: GLenum; + readonly FUNC_SUBTRACT: GLenum; + readonly GENERATE_MIPMAP_HINT: GLenum; + readonly GEQUAL: GLenum; + readonly GREATER: GLenum; + readonly GREEN_BITS: GLenum; + readonly HIGH_FLOAT: GLenum; + readonly HIGH_INT: GLenum; + readonly IMPLEMENTATION_COLOR_READ_FORMAT: GLenum; + readonly IMPLEMENTATION_COLOR_READ_TYPE: GLenum; + readonly INCR: GLenum; + readonly INCR_WRAP: GLenum; + readonly INT: GLenum; + readonly INT_VEC2: GLenum; + readonly INT_VEC3: GLenum; + readonly INT_VEC4: GLenum; + readonly INVALID_ENUM: GLenum; + readonly INVALID_FRAMEBUFFER_OPERATION: GLenum; + readonly INVALID_OPERATION: GLenum; + readonly INVALID_VALUE: GLenum; + readonly INVERT: GLenum; + readonly KEEP: GLenum; + readonly LEQUAL: GLenum; + readonly LESS: GLenum; + readonly LINEAR: GLenum; + readonly LINEAR_MIPMAP_LINEAR: GLenum; + readonly LINEAR_MIPMAP_NEAREST: GLenum; + readonly LINES: GLenum; + readonly LINE_LOOP: GLenum; + readonly LINE_STRIP: GLenum; + readonly LINE_WIDTH: GLenum; + readonly LINK_STATUS: GLenum; + readonly LOW_FLOAT: GLenum; + readonly LOW_INT: GLenum; + readonly LUMINANCE: GLenum; + readonly LUMINANCE_ALPHA: GLenum; + readonly MAX_COMBINED_TEXTURE_IMAGE_UNITS: GLenum; + readonly MAX_CUBE_MAP_TEXTURE_SIZE: GLenum; + readonly MAX_FRAGMENT_UNIFORM_VECTORS: GLenum; + readonly MAX_RENDERBUFFER_SIZE: GLenum; + readonly MAX_TEXTURE_IMAGE_UNITS: GLenum; + readonly MAX_TEXTURE_SIZE: GLenum; + readonly MAX_VARYING_VECTORS: GLenum; + readonly MAX_VERTEX_ATTRIBS: GLenum; + readonly MAX_VERTEX_TEXTURE_IMAGE_UNITS: GLenum; + readonly MAX_VERTEX_UNIFORM_VECTORS: GLenum; + readonly MAX_VIEWPORT_DIMS: GLenum; + readonly MEDIUM_FLOAT: GLenum; + readonly MEDIUM_INT: GLenum; + readonly MIRRORED_REPEAT: GLenum; + readonly NEAREST: GLenum; + readonly NEAREST_MIPMAP_LINEAR: GLenum; + readonly NEAREST_MIPMAP_NEAREST: GLenum; + readonly NEVER: GLenum; + readonly NICEST: GLenum; + readonly NONE: GLenum; + readonly NOTEQUAL: GLenum; + readonly NO_ERROR: GLenum; + readonly ONE: GLenum; + readonly ONE_MINUS_CONSTANT_ALPHA: GLenum; + readonly ONE_MINUS_CONSTANT_COLOR: GLenum; + readonly ONE_MINUS_DST_ALPHA: GLenum; + readonly ONE_MINUS_DST_COLOR: GLenum; + readonly ONE_MINUS_SRC_ALPHA: GLenum; + readonly ONE_MINUS_SRC_COLOR: GLenum; + readonly OUT_OF_MEMORY: GLenum; + readonly PACK_ALIGNMENT: GLenum; + readonly POINTS: GLenum; + readonly POLYGON_OFFSET_FACTOR: GLenum; + readonly POLYGON_OFFSET_FILL: GLenum; + readonly POLYGON_OFFSET_UNITS: GLenum; + readonly RED_BITS: GLenum; + readonly RENDERBUFFER: GLenum; + readonly RENDERBUFFER_ALPHA_SIZE: GLenum; + readonly RENDERBUFFER_BINDING: GLenum; + readonly RENDERBUFFER_BLUE_SIZE: GLenum; + readonly RENDERBUFFER_DEPTH_SIZE: GLenum; + readonly RENDERBUFFER_GREEN_SIZE: GLenum; + readonly RENDERBUFFER_HEIGHT: GLenum; + readonly RENDERBUFFER_INTERNAL_FORMAT: GLenum; + readonly RENDERBUFFER_RED_SIZE: GLenum; + readonly RENDERBUFFER_STENCIL_SIZE: GLenum; + readonly RENDERBUFFER_WIDTH: GLenum; + readonly RENDERER: GLenum; + readonly REPEAT: GLenum; + readonly REPLACE: GLenum; + readonly RGB: GLenum; + readonly RGB565: GLenum; + readonly RGB5_A1: GLenum; + readonly RGBA: GLenum; + readonly RGBA4: GLenum; + readonly SAMPLER_2D: GLenum; + readonly SAMPLER_CUBE: GLenum; + readonly SAMPLES: GLenum; + readonly SAMPLE_ALPHA_TO_COVERAGE: GLenum; + readonly SAMPLE_BUFFERS: GLenum; + readonly SAMPLE_COVERAGE: GLenum; + readonly SAMPLE_COVERAGE_INVERT: GLenum; + readonly SAMPLE_COVERAGE_VALUE: GLenum; + readonly SCISSOR_BOX: GLenum; + readonly SCISSOR_TEST: GLenum; + readonly SHADER_TYPE: GLenum; + readonly SHADING_LANGUAGE_VERSION: GLenum; + readonly SHORT: GLenum; + readonly SRC_ALPHA: GLenum; + readonly SRC_ALPHA_SATURATE: GLenum; + readonly SRC_COLOR: GLenum; + readonly STATIC_DRAW: GLenum; + readonly STENCIL_ATTACHMENT: GLenum; + readonly STENCIL_BACK_FAIL: GLenum; + readonly STENCIL_BACK_FUNC: GLenum; + readonly STENCIL_BACK_PASS_DEPTH_FAIL: GLenum; + readonly STENCIL_BACK_PASS_DEPTH_PASS: GLenum; + readonly STENCIL_BACK_REF: GLenum; + readonly STENCIL_BACK_VALUE_MASK: GLenum; + readonly STENCIL_BACK_WRITEMASK: GLenum; + readonly STENCIL_BITS: GLenum; + readonly STENCIL_BUFFER_BIT: GLenum; + readonly STENCIL_CLEAR_VALUE: GLenum; + readonly STENCIL_FAIL: GLenum; + readonly STENCIL_FUNC: GLenum; + readonly STENCIL_INDEX8: GLenum; + readonly STENCIL_PASS_DEPTH_FAIL: GLenum; + readonly STENCIL_PASS_DEPTH_PASS: GLenum; + readonly STENCIL_REF: GLenum; + readonly STENCIL_TEST: GLenum; + readonly STENCIL_VALUE_MASK: GLenum; + readonly STENCIL_WRITEMASK: GLenum; + readonly STREAM_DRAW: GLenum; + readonly SUBPIXEL_BITS: GLenum; + readonly TEXTURE: GLenum; + readonly TEXTURE0: GLenum; + readonly TEXTURE1: GLenum; + readonly TEXTURE10: GLenum; + readonly TEXTURE11: GLenum; + readonly TEXTURE12: GLenum; + readonly TEXTURE13: GLenum; + readonly TEXTURE14: GLenum; + readonly TEXTURE15: GLenum; + readonly TEXTURE16: GLenum; + readonly TEXTURE17: GLenum; + readonly TEXTURE18: GLenum; + readonly TEXTURE19: GLenum; + readonly TEXTURE2: GLenum; + readonly TEXTURE20: GLenum; + readonly TEXTURE21: GLenum; + readonly TEXTURE22: GLenum; + readonly TEXTURE23: GLenum; + readonly TEXTURE24: GLenum; + readonly TEXTURE25: GLenum; + readonly TEXTURE26: GLenum; + readonly TEXTURE27: GLenum; + readonly TEXTURE28: GLenum; + readonly TEXTURE29: GLenum; + readonly TEXTURE3: GLenum; + readonly TEXTURE30: GLenum; + readonly TEXTURE31: GLenum; + readonly TEXTURE4: GLenum; + readonly TEXTURE5: GLenum; + readonly TEXTURE6: GLenum; + readonly TEXTURE7: GLenum; + readonly TEXTURE8: GLenum; + readonly TEXTURE9: GLenum; + readonly TEXTURE_2D: GLenum; + readonly TEXTURE_BINDING_2D: GLenum; + readonly TEXTURE_BINDING_CUBE_MAP: GLenum; + readonly TEXTURE_CUBE_MAP: GLenum; + readonly TEXTURE_CUBE_MAP_NEGATIVE_X: GLenum; + readonly TEXTURE_CUBE_MAP_NEGATIVE_Y: GLenum; + readonly TEXTURE_CUBE_MAP_NEGATIVE_Z: GLenum; + readonly TEXTURE_CUBE_MAP_POSITIVE_X: GLenum; + readonly TEXTURE_CUBE_MAP_POSITIVE_Y: GLenum; + readonly TEXTURE_CUBE_MAP_POSITIVE_Z: GLenum; + readonly TEXTURE_MAG_FILTER: GLenum; + readonly TEXTURE_MIN_FILTER: GLenum; + readonly TEXTURE_WRAP_S: GLenum; + readonly TEXTURE_WRAP_T: GLenum; + readonly TRIANGLES: GLenum; + readonly TRIANGLE_FAN: GLenum; + readonly TRIANGLE_STRIP: GLenum; + readonly UNPACK_ALIGNMENT: GLenum; + readonly UNPACK_COLORSPACE_CONVERSION_WEBGL: GLenum; + readonly UNPACK_FLIP_Y_WEBGL: GLenum; + readonly UNPACK_PREMULTIPLY_ALPHA_WEBGL: GLenum; + readonly UNSIGNED_BYTE: GLenum; + readonly UNSIGNED_INT: GLenum; + readonly UNSIGNED_SHORT: GLenum; + readonly UNSIGNED_SHORT_4_4_4_4: GLenum; + readonly UNSIGNED_SHORT_5_5_5_1: GLenum; + readonly UNSIGNED_SHORT_5_6_5: GLenum; + readonly VALIDATE_STATUS: GLenum; + readonly VENDOR: GLenum; + readonly VERSION: GLenum; + readonly VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: GLenum; + readonly VERTEX_ATTRIB_ARRAY_ENABLED: GLenum; + readonly VERTEX_ATTRIB_ARRAY_NORMALIZED: GLenum; + readonly VERTEX_ATTRIB_ARRAY_POINTER: GLenum; + readonly VERTEX_ATTRIB_ARRAY_SIZE: GLenum; + readonly VERTEX_ATTRIB_ARRAY_STRIDE: GLenum; + readonly VERTEX_ATTRIB_ARRAY_TYPE: GLenum; + readonly VERTEX_SHADER: GLenum; + readonly VIEWPORT: GLenum; + readonly ZERO: GLenum; +}; + +interface WebGLRenderingContextBase { + readonly canvas: HTMLCanvasElement; + readonly drawingBufferHeight: GLsizei; + readonly drawingBufferWidth: GLsizei; + activeTexture(texture: GLenum): void; + attachShader(program: WebGLProgram, shader: WebGLShader): void; + bindAttribLocation(program: WebGLProgram, index: GLuint, name: string): void; + bindBuffer(target: GLenum, buffer: WebGLBuffer | null): void; + bindFramebuffer(target: GLenum, framebuffer: WebGLFramebuffer | null): void; + bindRenderbuffer(target: GLenum, renderbuffer: WebGLRenderbuffer | null): void; + bindTexture(target: GLenum, texture: WebGLTexture | null): void; + blendColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf): void; + blendEquation(mode: GLenum): void; + blendEquationSeparate(modeRGB: GLenum, modeAlpha: GLenum): void; + blendFunc(sfactor: GLenum, dfactor: GLenum): void; + blendFuncSeparate(srcRGB: GLenum, dstRGB: GLenum, srcAlpha: GLenum, dstAlpha: GLenum): void; + bufferData(target: GLenum, size: GLsizeiptr, usage: GLenum): void; + bufferData(target: GLenum, data: BufferSource | null, usage: GLenum): void; + bufferSubData(target: GLenum, offset: GLintptr, data: BufferSource): void; + checkFramebufferStatus(target: GLenum): GLenum; + clear(mask: GLbitfield): void; + clearColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf): void; + clearDepth(depth: GLclampf): void; + clearStencil(s: GLint): void; + colorMask(red: GLboolean, green: GLboolean, blue: GLboolean, alpha: GLboolean): void; + compileShader(shader: WebGLShader): void; + compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, data: ArrayBufferView): void; + compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, data: ArrayBufferView): void; + copyTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, x: GLint, y: GLint, width: GLsizei, height: GLsizei, border: GLint): void; + copyTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei): void; + createBuffer(): WebGLBuffer | null; + createFramebuffer(): WebGLFramebuffer | null; + createProgram(): WebGLProgram | null; + createRenderbuffer(): WebGLRenderbuffer | null; + createShader(type: GLenum): WebGLShader | null; + createTexture(): WebGLTexture | null; + cullFace(mode: GLenum): void; + deleteBuffer(buffer: WebGLBuffer | null): void; + deleteFramebuffer(framebuffer: WebGLFramebuffer | null): void; + deleteProgram(program: WebGLProgram | null): void; + deleteRenderbuffer(renderbuffer: WebGLRenderbuffer | null): void; + deleteShader(shader: WebGLShader | null): void; + deleteTexture(texture: WebGLTexture | null): void; + depthFunc(func: GLenum): void; + depthMask(flag: GLboolean): void; + depthRange(zNear: GLclampf, zFar: GLclampf): void; + detachShader(program: WebGLProgram, shader: WebGLShader): void; + disable(cap: GLenum): void; + disableVertexAttribArray(index: GLuint): void; + drawArrays(mode: GLenum, first: GLint, count: GLsizei): void; + drawElements(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr): void; + enable(cap: GLenum): void; + enableVertexAttribArray(index: GLuint): void; + finish(): void; + flush(): void; + framebufferRenderbuffer(target: GLenum, attachment: GLenum, renderbuffertarget: GLenum, renderbuffer: WebGLRenderbuffer | null): void; + framebufferTexture2D(target: GLenum, attachment: GLenum, textarget: GLenum, texture: WebGLTexture | null, level: GLint): void; + frontFace(mode: GLenum): void; + generateMipmap(target: GLenum): void; + getActiveAttrib(program: WebGLProgram, index: GLuint): WebGLActiveInfo | null; + getActiveUniform(program: WebGLProgram, index: GLuint): WebGLActiveInfo | null; + getAttachedShaders(program: WebGLProgram): WebGLShader[] | null; + getAttribLocation(program: WebGLProgram, name: string): GLint; + getBufferParameter(target: GLenum, pname: GLenum): any; + getContextAttributes(): WebGLContextAttributes | null; + getError(): GLenum; + getExtension(extensionName: "EXT_blend_minmax"): EXT_blend_minmax | null; + getExtension(extensionName: "EXT_texture_filter_anisotropic"): EXT_texture_filter_anisotropic | null; + getExtension(extensionName: "EXT_frag_depth"): EXT_frag_depth | null; + getExtension(extensionName: "EXT_shader_texture_lod"): EXT_shader_texture_lod | null; + getExtension(extensionName: "EXT_sRGB"): EXT_sRGB | null; + getExtension(extensionName: "OES_vertex_array_object"): OES_vertex_array_object | null; + getExtension(extensionName: "WEBGL_color_buffer_float"): WEBGL_color_buffer_float | null; + getExtension(extensionName: "WEBGL_compressed_texture_astc"): WEBGL_compressed_texture_astc | null; + getExtension(extensionName: "WEBGL_compressed_texture_s3tc_srgb"): WEBGL_compressed_texture_s3tc_srgb | null; + getExtension(extensionName: "WEBGL_debug_shaders"): WEBGL_debug_shaders | null; + getExtension(extensionName: "WEBGL_draw_buffers"): WEBGL_draw_buffers | null; + getExtension(extensionName: "WEBGL_lose_context"): WEBGL_lose_context | null; + getExtension(extensionName: "WEBGL_depth_texture"): WEBGL_depth_texture | null; + getExtension(extensionName: "WEBGL_debug_renderer_info"): WEBGL_debug_renderer_info | null; + getExtension(extensionName: "WEBGL_compressed_texture_s3tc"): WEBGL_compressed_texture_s3tc | null; + getExtension(extensionName: "OES_texture_half_float_linear"): OES_texture_half_float_linear | null; + getExtension(extensionName: "OES_texture_half_float"): OES_texture_half_float | null; + getExtension(extensionName: "OES_texture_float_linear"): OES_texture_float_linear | null; + getExtension(extensionName: "OES_texture_float"): OES_texture_float | null; + getExtension(extensionName: "OES_standard_derivatives"): OES_standard_derivatives | null; + getExtension(extensionName: "OES_element_index_uint"): OES_element_index_uint | null; + getExtension(extensionName: "ANGLE_instanced_arrays"): ANGLE_instanced_arrays | null; + getExtension(extensionName: string): any; + getFramebufferAttachmentParameter(target: GLenum, attachment: GLenum, pname: GLenum): any; + getParameter(pname: GLenum): any; + getProgramInfoLog(program: WebGLProgram): string | null; + getProgramParameter(program: WebGLProgram, pname: GLenum): any; + getRenderbufferParameter(target: GLenum, pname: GLenum): any; + getShaderInfoLog(shader: WebGLShader): string | null; + getShaderParameter(shader: WebGLShader, pname: GLenum): any; + getShaderPrecisionFormat(shadertype: GLenum, precisiontype: GLenum): WebGLShaderPrecisionFormat | null; + getShaderSource(shader: WebGLShader): string | null; + getSupportedExtensions(): string[] | null; + getTexParameter(target: GLenum, pname: GLenum): any; + getUniform(program: WebGLProgram, location: WebGLUniformLocation): any; + getUniformLocation(program: WebGLProgram, name: string): WebGLUniformLocation | null; + getVertexAttrib(index: GLuint, pname: GLenum): any; + getVertexAttribOffset(index: GLuint, pname: GLenum): GLintptr; + hint(target: GLenum, mode: GLenum): void; + isBuffer(buffer: WebGLBuffer | null): GLboolean; + isContextLost(): boolean; + isEnabled(cap: GLenum): GLboolean; + isFramebuffer(framebuffer: WebGLFramebuffer | null): GLboolean; + isProgram(program: WebGLProgram | null): GLboolean; + isRenderbuffer(renderbuffer: WebGLRenderbuffer | null): GLboolean; + isShader(shader: WebGLShader | null): GLboolean; + isTexture(texture: WebGLTexture | null): GLboolean; + lineWidth(width: GLfloat): void; + linkProgram(program: WebGLProgram): void; + pixelStorei(pname: GLenum, param: GLint): void; + polygonOffset(factor: GLfloat, units: GLfloat): void; + readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView | null): void; + renderbufferStorage(target: GLenum, internalformat: GLenum, width: GLsizei, height: GLsizei): void; + sampleCoverage(value: GLclampf, invert: GLboolean): void; + scissor(x: GLint, y: GLint, width: GLsizei, height: GLsizei): void; + shaderSource(shader: WebGLShader, source: string): void; + stencilFunc(func: GLenum, ref: GLint, mask: GLuint): void; + stencilFuncSeparate(face: GLenum, func: GLenum, ref: GLint, mask: GLuint): void; + stencilMask(mask: GLuint): void; + stencilMaskSeparate(face: GLenum, mask: GLuint): void; + stencilOp(fail: GLenum, zfail: GLenum, zpass: GLenum): void; + stencilOpSeparate(face: GLenum, fail: GLenum, zfail: GLenum, zpass: GLenum): void; + texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pixels: ArrayBufferView | null): void; + texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: TexImageSource): void; + texParameterf(target: GLenum, pname: GLenum, param: GLfloat): void; + texParameteri(target: GLenum, pname: GLenum, param: GLint): void; + texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView | null): void; + texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, source: TexImageSource): void; + uniform1f(location: WebGLUniformLocation | null, x: GLfloat): void; + uniform1fv(location: WebGLUniformLocation | null, v: Float32List): void; + uniform1i(location: WebGLUniformLocation | null, x: GLint): void; + uniform1iv(location: WebGLUniformLocation | null, v: Int32List): void; + uniform2f(location: WebGLUniformLocation | null, x: GLfloat, y: GLfloat): void; + uniform2fv(location: WebGLUniformLocation | null, v: Float32List): void; + uniform2i(location: WebGLUniformLocation | null, x: GLint, y: GLint): void; + uniform2iv(location: WebGLUniformLocation | null, v: Int32List): void; + uniform3f(location: WebGLUniformLocation | null, x: GLfloat, y: GLfloat, z: GLfloat): void; + uniform3fv(location: WebGLUniformLocation | null, v: Float32List): void; + uniform3i(location: WebGLUniformLocation | null, x: GLint, y: GLint, z: GLint): void; + uniform3iv(location: WebGLUniformLocation | null, v: Int32List): void; + uniform4f(location: WebGLUniformLocation | null, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat): void; + uniform4fv(location: WebGLUniformLocation | null, v: Float32List): void; + uniform4i(location: WebGLUniformLocation | null, x: GLint, y: GLint, z: GLint, w: GLint): void; + uniform4iv(location: WebGLUniformLocation | null, v: Int32List): void; + uniformMatrix2fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Float32List): void; + uniformMatrix3fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Float32List): void; + uniformMatrix4fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Float32List): void; + useProgram(program: WebGLProgram | null): void; + validateProgram(program: WebGLProgram): void; + vertexAttrib1f(index: GLuint, x: GLfloat): void; + vertexAttrib1fv(index: GLuint, values: Float32List): void; + vertexAttrib2f(index: GLuint, x: GLfloat, y: GLfloat): void; + vertexAttrib2fv(index: GLuint, values: Float32List): void; + vertexAttrib3f(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat): void; + vertexAttrib3fv(index: GLuint, values: Float32List): void; + vertexAttrib4f(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat): void; + vertexAttrib4fv(index: GLuint, values: Float32List): void; + vertexAttribPointer(index: GLuint, size: GLint, type: GLenum, normalized: GLboolean, stride: GLsizei, offset: GLintptr): void; + viewport(x: GLint, y: GLint, width: GLsizei, height: GLsizei): void; + readonly ACTIVE_ATTRIBUTES: GLenum; + readonly ACTIVE_TEXTURE: GLenum; + readonly ACTIVE_UNIFORMS: GLenum; + readonly ALIASED_LINE_WIDTH_RANGE: GLenum; + readonly ALIASED_POINT_SIZE_RANGE: GLenum; + readonly ALPHA: GLenum; + readonly ALPHA_BITS: GLenum; + readonly ALWAYS: GLenum; + readonly ARRAY_BUFFER: GLenum; + readonly ARRAY_BUFFER_BINDING: GLenum; + readonly ATTACHED_SHADERS: GLenum; + readonly BACK: GLenum; + readonly BLEND: GLenum; + readonly BLEND_COLOR: GLenum; + readonly BLEND_DST_ALPHA: GLenum; + readonly BLEND_DST_RGB: GLenum; + readonly BLEND_EQUATION: GLenum; + readonly BLEND_EQUATION_ALPHA: GLenum; + readonly BLEND_EQUATION_RGB: GLenum; + readonly BLEND_SRC_ALPHA: GLenum; + readonly BLEND_SRC_RGB: GLenum; + readonly BLUE_BITS: GLenum; + readonly BOOL: GLenum; + readonly BOOL_VEC2: GLenum; + readonly BOOL_VEC3: GLenum; + readonly BOOL_VEC4: GLenum; + readonly BROWSER_DEFAULT_WEBGL: GLenum; + readonly BUFFER_SIZE: GLenum; + readonly BUFFER_USAGE: GLenum; + readonly BYTE: GLenum; + readonly CCW: GLenum; + readonly CLAMP_TO_EDGE: GLenum; + readonly COLOR_ATTACHMENT0: GLenum; + readonly COLOR_BUFFER_BIT: GLenum; + readonly COLOR_CLEAR_VALUE: GLenum; + readonly COLOR_WRITEMASK: GLenum; + readonly COMPILE_STATUS: GLenum; + readonly COMPRESSED_TEXTURE_FORMATS: GLenum; + readonly CONSTANT_ALPHA: GLenum; + readonly CONSTANT_COLOR: GLenum; + readonly CONTEXT_LOST_WEBGL: GLenum; + readonly CULL_FACE: GLenum; + readonly CULL_FACE_MODE: GLenum; + readonly CURRENT_PROGRAM: GLenum; + readonly CURRENT_VERTEX_ATTRIB: GLenum; + readonly CW: GLenum; + readonly DECR: GLenum; + readonly DECR_WRAP: GLenum; + readonly DELETE_STATUS: GLenum; + readonly DEPTH_ATTACHMENT: GLenum; + readonly DEPTH_BITS: GLenum; + readonly DEPTH_BUFFER_BIT: GLenum; + readonly DEPTH_CLEAR_VALUE: GLenum; + readonly DEPTH_COMPONENT: GLenum; + readonly DEPTH_COMPONENT16: GLenum; + readonly DEPTH_FUNC: GLenum; + readonly DEPTH_RANGE: GLenum; + readonly DEPTH_STENCIL: GLenum; + readonly DEPTH_STENCIL_ATTACHMENT: GLenum; + readonly DEPTH_TEST: GLenum; + readonly DEPTH_WRITEMASK: GLenum; + readonly DITHER: GLenum; + readonly DONT_CARE: GLenum; + readonly DST_ALPHA: GLenum; + readonly DST_COLOR: GLenum; + readonly DYNAMIC_DRAW: GLenum; + readonly ELEMENT_ARRAY_BUFFER: GLenum; + readonly ELEMENT_ARRAY_BUFFER_BINDING: GLenum; + readonly EQUAL: GLenum; + readonly FASTEST: GLenum; + readonly FLOAT: GLenum; + readonly FLOAT_MAT2: GLenum; + readonly FLOAT_MAT3: GLenum; + readonly FLOAT_MAT4: GLenum; + readonly FLOAT_VEC2: GLenum; + readonly FLOAT_VEC3: GLenum; + readonly FLOAT_VEC4: GLenum; + readonly FRAGMENT_SHADER: GLenum; + readonly FRAMEBUFFER: GLenum; + readonly FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: GLenum; + readonly FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: GLenum; + readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: GLenum; + readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: GLenum; + readonly FRAMEBUFFER_BINDING: GLenum; + readonly FRAMEBUFFER_COMPLETE: GLenum; + readonly FRAMEBUFFER_INCOMPLETE_ATTACHMENT: GLenum; + readonly FRAMEBUFFER_INCOMPLETE_DIMENSIONS: GLenum; + readonly FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: GLenum; + readonly FRAMEBUFFER_UNSUPPORTED: GLenum; + readonly FRONT: GLenum; + readonly FRONT_AND_BACK: GLenum; + readonly FRONT_FACE: GLenum; + readonly FUNC_ADD: GLenum; + readonly FUNC_REVERSE_SUBTRACT: GLenum; + readonly FUNC_SUBTRACT: GLenum; + readonly GENERATE_MIPMAP_HINT: GLenum; + readonly GEQUAL: GLenum; + readonly GREATER: GLenum; + readonly GREEN_BITS: GLenum; + readonly HIGH_FLOAT: GLenum; + readonly HIGH_INT: GLenum; + readonly IMPLEMENTATION_COLOR_READ_FORMAT: GLenum; + readonly IMPLEMENTATION_COLOR_READ_TYPE: GLenum; + readonly INCR: GLenum; + readonly INCR_WRAP: GLenum; + readonly INT: GLenum; + readonly INT_VEC2: GLenum; + readonly INT_VEC3: GLenum; + readonly INT_VEC4: GLenum; + readonly INVALID_ENUM: GLenum; + readonly INVALID_FRAMEBUFFER_OPERATION: GLenum; + readonly INVALID_OPERATION: GLenum; + readonly INVALID_VALUE: GLenum; + readonly INVERT: GLenum; + readonly KEEP: GLenum; + readonly LEQUAL: GLenum; + readonly LESS: GLenum; + readonly LINEAR: GLenum; + readonly LINEAR_MIPMAP_LINEAR: GLenum; + readonly LINEAR_MIPMAP_NEAREST: GLenum; + readonly LINES: GLenum; + readonly LINE_LOOP: GLenum; + readonly LINE_STRIP: GLenum; + readonly LINE_WIDTH: GLenum; + readonly LINK_STATUS: GLenum; + readonly LOW_FLOAT: GLenum; + readonly LOW_INT: GLenum; + readonly LUMINANCE: GLenum; + readonly LUMINANCE_ALPHA: GLenum; + readonly MAX_COMBINED_TEXTURE_IMAGE_UNITS: GLenum; + readonly MAX_CUBE_MAP_TEXTURE_SIZE: GLenum; + readonly MAX_FRAGMENT_UNIFORM_VECTORS: GLenum; + readonly MAX_RENDERBUFFER_SIZE: GLenum; + readonly MAX_TEXTURE_IMAGE_UNITS: GLenum; + readonly MAX_TEXTURE_SIZE: GLenum; + readonly MAX_VARYING_VECTORS: GLenum; + readonly MAX_VERTEX_ATTRIBS: GLenum; + readonly MAX_VERTEX_TEXTURE_IMAGE_UNITS: GLenum; + readonly MAX_VERTEX_UNIFORM_VECTORS: GLenum; + readonly MAX_VIEWPORT_DIMS: GLenum; + readonly MEDIUM_FLOAT: GLenum; + readonly MEDIUM_INT: GLenum; + readonly MIRRORED_REPEAT: GLenum; + readonly NEAREST: GLenum; + readonly NEAREST_MIPMAP_LINEAR: GLenum; + readonly NEAREST_MIPMAP_NEAREST: GLenum; + readonly NEVER: GLenum; + readonly NICEST: GLenum; + readonly NONE: GLenum; + readonly NOTEQUAL: GLenum; + readonly NO_ERROR: GLenum; + readonly ONE: GLenum; + readonly ONE_MINUS_CONSTANT_ALPHA: GLenum; + readonly ONE_MINUS_CONSTANT_COLOR: GLenum; + readonly ONE_MINUS_DST_ALPHA: GLenum; + readonly ONE_MINUS_DST_COLOR: GLenum; + readonly ONE_MINUS_SRC_ALPHA: GLenum; + readonly ONE_MINUS_SRC_COLOR: GLenum; + readonly OUT_OF_MEMORY: GLenum; + readonly PACK_ALIGNMENT: GLenum; + readonly POINTS: GLenum; + readonly POLYGON_OFFSET_FACTOR: GLenum; + readonly POLYGON_OFFSET_FILL: GLenum; + readonly POLYGON_OFFSET_UNITS: GLenum; + readonly RED_BITS: GLenum; + readonly RENDERBUFFER: GLenum; + readonly RENDERBUFFER_ALPHA_SIZE: GLenum; + readonly RENDERBUFFER_BINDING: GLenum; + readonly RENDERBUFFER_BLUE_SIZE: GLenum; + readonly RENDERBUFFER_DEPTH_SIZE: GLenum; + readonly RENDERBUFFER_GREEN_SIZE: GLenum; + readonly RENDERBUFFER_HEIGHT: GLenum; + readonly RENDERBUFFER_INTERNAL_FORMAT: GLenum; + readonly RENDERBUFFER_RED_SIZE: GLenum; + readonly RENDERBUFFER_STENCIL_SIZE: GLenum; + readonly RENDERBUFFER_WIDTH: GLenum; + readonly RENDERER: GLenum; + readonly REPEAT: GLenum; + readonly REPLACE: GLenum; + readonly RGB: GLenum; + readonly RGB565: GLenum; + readonly RGB5_A1: GLenum; + readonly RGBA: GLenum; + readonly RGBA4: GLenum; + readonly SAMPLER_2D: GLenum; + readonly SAMPLER_CUBE: GLenum; + readonly SAMPLES: GLenum; + readonly SAMPLE_ALPHA_TO_COVERAGE: GLenum; + readonly SAMPLE_BUFFERS: GLenum; + readonly SAMPLE_COVERAGE: GLenum; + readonly SAMPLE_COVERAGE_INVERT: GLenum; + readonly SAMPLE_COVERAGE_VALUE: GLenum; + readonly SCISSOR_BOX: GLenum; + readonly SCISSOR_TEST: GLenum; + readonly SHADER_TYPE: GLenum; + readonly SHADING_LANGUAGE_VERSION: GLenum; + readonly SHORT: GLenum; + readonly SRC_ALPHA: GLenum; + readonly SRC_ALPHA_SATURATE: GLenum; + readonly SRC_COLOR: GLenum; + readonly STATIC_DRAW: GLenum; + readonly STENCIL_ATTACHMENT: GLenum; + readonly STENCIL_BACK_FAIL: GLenum; + readonly STENCIL_BACK_FUNC: GLenum; + readonly STENCIL_BACK_PASS_DEPTH_FAIL: GLenum; + readonly STENCIL_BACK_PASS_DEPTH_PASS: GLenum; + readonly STENCIL_BACK_REF: GLenum; + readonly STENCIL_BACK_VALUE_MASK: GLenum; + readonly STENCIL_BACK_WRITEMASK: GLenum; + readonly STENCIL_BITS: GLenum; + readonly STENCIL_BUFFER_BIT: GLenum; + readonly STENCIL_CLEAR_VALUE: GLenum; + readonly STENCIL_FAIL: GLenum; + readonly STENCIL_FUNC: GLenum; + readonly STENCIL_INDEX8: GLenum; + readonly STENCIL_PASS_DEPTH_FAIL: GLenum; + readonly STENCIL_PASS_DEPTH_PASS: GLenum; + readonly STENCIL_REF: GLenum; + readonly STENCIL_TEST: GLenum; + readonly STENCIL_VALUE_MASK: GLenum; + readonly STENCIL_WRITEMASK: GLenum; + readonly STREAM_DRAW: GLenum; + readonly SUBPIXEL_BITS: GLenum; + readonly TEXTURE: GLenum; + readonly TEXTURE0: GLenum; + readonly TEXTURE1: GLenum; + readonly TEXTURE10: GLenum; + readonly TEXTURE11: GLenum; + readonly TEXTURE12: GLenum; + readonly TEXTURE13: GLenum; + readonly TEXTURE14: GLenum; + readonly TEXTURE15: GLenum; + readonly TEXTURE16: GLenum; + readonly TEXTURE17: GLenum; + readonly TEXTURE18: GLenum; + readonly TEXTURE19: GLenum; + readonly TEXTURE2: GLenum; + readonly TEXTURE20: GLenum; + readonly TEXTURE21: GLenum; + readonly TEXTURE22: GLenum; + readonly TEXTURE23: GLenum; + readonly TEXTURE24: GLenum; + readonly TEXTURE25: GLenum; + readonly TEXTURE26: GLenum; + readonly TEXTURE27: GLenum; + readonly TEXTURE28: GLenum; + readonly TEXTURE29: GLenum; + readonly TEXTURE3: GLenum; + readonly TEXTURE30: GLenum; + readonly TEXTURE31: GLenum; + readonly TEXTURE4: GLenum; + readonly TEXTURE5: GLenum; + readonly TEXTURE6: GLenum; + readonly TEXTURE7: GLenum; + readonly TEXTURE8: GLenum; + readonly TEXTURE9: GLenum; + readonly TEXTURE_2D: GLenum; + readonly TEXTURE_BINDING_2D: GLenum; + readonly TEXTURE_BINDING_CUBE_MAP: GLenum; + readonly TEXTURE_CUBE_MAP: GLenum; + readonly TEXTURE_CUBE_MAP_NEGATIVE_X: GLenum; + readonly TEXTURE_CUBE_MAP_NEGATIVE_Y: GLenum; + readonly TEXTURE_CUBE_MAP_NEGATIVE_Z: GLenum; + readonly TEXTURE_CUBE_MAP_POSITIVE_X: GLenum; + readonly TEXTURE_CUBE_MAP_POSITIVE_Y: GLenum; + readonly TEXTURE_CUBE_MAP_POSITIVE_Z: GLenum; + readonly TEXTURE_MAG_FILTER: GLenum; + readonly TEXTURE_MIN_FILTER: GLenum; + readonly TEXTURE_WRAP_S: GLenum; + readonly TEXTURE_WRAP_T: GLenum; + readonly TRIANGLES: GLenum; + readonly TRIANGLE_FAN: GLenum; + readonly TRIANGLE_STRIP: GLenum; + readonly UNPACK_ALIGNMENT: GLenum; + readonly UNPACK_COLORSPACE_CONVERSION_WEBGL: GLenum; + readonly UNPACK_FLIP_Y_WEBGL: GLenum; + readonly UNPACK_PREMULTIPLY_ALPHA_WEBGL: GLenum; + readonly UNSIGNED_BYTE: GLenum; + readonly UNSIGNED_INT: GLenum; + readonly UNSIGNED_SHORT: GLenum; + readonly UNSIGNED_SHORT_4_4_4_4: GLenum; + readonly UNSIGNED_SHORT_5_5_5_1: GLenum; + readonly UNSIGNED_SHORT_5_6_5: GLenum; + readonly VALIDATE_STATUS: GLenum; + readonly VENDOR: GLenum; + readonly VERSION: GLenum; + readonly VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: GLenum; + readonly VERTEX_ATTRIB_ARRAY_ENABLED: GLenum; + readonly VERTEX_ATTRIB_ARRAY_NORMALIZED: GLenum; + readonly VERTEX_ATTRIB_ARRAY_POINTER: GLenum; + readonly VERTEX_ATTRIB_ARRAY_SIZE: GLenum; + readonly VERTEX_ATTRIB_ARRAY_STRIDE: GLenum; + readonly VERTEX_ATTRIB_ARRAY_TYPE: GLenum; + readonly VERTEX_SHADER: GLenum; + readonly VIEWPORT: GLenum; + readonly ZERO: GLenum; +} + +interface WebGLShader extends WebGLObject { +} + +declare var WebGLShader: { + prototype: WebGLShader; + new(): WebGLShader; +}; + +interface WebGLShaderPrecisionFormat { + readonly precision: GLint; + readonly rangeMax: GLint; + readonly rangeMin: GLint; +} + +declare var WebGLShaderPrecisionFormat: { + prototype: WebGLShaderPrecisionFormat; + new(): WebGLShaderPrecisionFormat; +}; + +interface WebGLTexture extends WebGLObject { +} + +declare var WebGLTexture: { + prototype: WebGLTexture; + new(): WebGLTexture; +}; + +interface WebGLUniformLocation { +} + +declare var WebGLUniformLocation: { + prototype: WebGLUniformLocation; + new(): WebGLUniformLocation; +}; + +interface WebGLVertexArrayObjectOES extends WebGLObject { +} + +interface WebKitPoint { + x: number; + y: number; +} + +declare var WebKitPoint: { + prototype: WebKitPoint; + new(x?: number, y?: number): WebKitPoint; +}; + +interface WebSocketEventMap { + "close": CloseEvent; + "error": Event; + "message": MessageEvent; + "open": Event; +} + +interface WebSocket extends EventTarget { + binaryType: BinaryType; + readonly bufferedAmount: number; + readonly extensions: string; + onclose: ((this: WebSocket, ev: CloseEvent) => any) | null; + onerror: ((this: WebSocket, ev: Event) => any) | null; + onmessage: ((this: WebSocket, ev: MessageEvent) => any) | null; + onopen: ((this: WebSocket, ev: Event) => any) | null; + readonly protocol: string; + readonly readyState: number; + readonly url: string; + close(code?: number, reason?: string): void; + send(data: string | ArrayBufferLike | Blob | ArrayBufferView): void; + readonly CLOSED: number; + readonly CLOSING: number; + readonly CONNECTING: number; + readonly OPEN: number; + addEventListener(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var WebSocket: { + prototype: WebSocket; + new(url: string, protocols?: string | string[]): WebSocket; + readonly CLOSED: number; + readonly CLOSING: number; + readonly CONNECTING: number; + readonly OPEN: number; +}; + +interface WheelEvent extends MouseEvent { + readonly deltaMode: number; + readonly deltaX: number; + readonly deltaY: number; + readonly deltaZ: number; + getCurrentPoint(element: Element): void; + initWheelEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, screenXArg: number, screenYArg: number, clientXArg: number, clientYArg: number, buttonArg: number, relatedTargetArg: EventTarget, modifiersListArg: string, deltaXArg: number, deltaYArg: number, deltaZArg: number, deltaMode: number): void; + readonly DOM_DELTA_LINE: number; + readonly DOM_DELTA_PAGE: number; + readonly DOM_DELTA_PIXEL: number; +} + +declare var WheelEvent: { + prototype: WheelEvent; + new(typeArg: string, eventInitDict?: WheelEventInit): WheelEvent; + readonly DOM_DELTA_LINE: number; + readonly DOM_DELTA_PAGE: number; + readonly DOM_DELTA_PIXEL: number; +}; + +interface WindowEventMap extends GlobalEventHandlersEventMap, WindowEventHandlersEventMap { + "abort": UIEvent; + "afterprint": Event; + "beforeprint": Event; + "beforeunload": BeforeUnloadEvent; + "blur": FocusEvent; + "canplay": Event; + "canplaythrough": Event; + "change": Event; + "click": MouseEvent; + "compassneedscalibration": Event; + "contextmenu": MouseEvent; + "dblclick": MouseEvent; + "devicelight": DeviceLightEvent; + "devicemotion": DeviceMotionEvent; + "deviceorientation": DeviceOrientationEvent; + "drag": DragEvent; + "dragend": DragEvent; + "dragenter": DragEvent; + "dragleave": DragEvent; + "dragover": DragEvent; + "dragstart": DragEvent; + "drop": DragEvent; + "durationchange": Event; + "emptied": Event; + "ended": Event; + "error": ErrorEvent; + "focus": FocusEvent; + "hashchange": HashChangeEvent; + "input": Event; + "invalid": Event; + "keydown": KeyboardEvent; + "keypress": KeyboardEvent; + "keyup": KeyboardEvent; + "load": Event; + "loadeddata": Event; + "loadedmetadata": Event; + "loadstart": Event; + "message": MessageEvent; + "mousedown": MouseEvent; + "mouseenter": MouseEvent; + "mouseleave": MouseEvent; + "mousemove": MouseEvent; + "mouseout": MouseEvent; + "mouseover": MouseEvent; + "mouseup": MouseEvent; + "mousewheel": Event; + "MSGestureChange": Event; + "MSGestureDoubleTap": Event; + "MSGestureEnd": Event; + "MSGestureHold": Event; + "MSGestureStart": Event; + "MSGestureTap": Event; + "MSInertiaStart": Event; + "MSPointerCancel": Event; + "MSPointerDown": Event; + "MSPointerEnter": Event; + "MSPointerLeave": Event; + "MSPointerMove": Event; + "MSPointerOut": Event; + "MSPointerOver": Event; + "MSPointerUp": Event; + "offline": Event; + "online": Event; + "orientationchange": Event; + "pagehide": PageTransitionEvent; + "pageshow": PageTransitionEvent; + "pause": Event; + "play": Event; + "playing": Event; + "popstate": PopStateEvent; + "progress": ProgressEvent; + "ratechange": Event; + "readystatechange": ProgressEvent; + "reset": Event; + "resize": UIEvent; + "scroll": UIEvent; + "seeked": Event; + "seeking": Event; + "select": UIEvent; + "stalled": Event; + "storage": StorageEvent; + "submit": Event; + "suspend": Event; + "timeupdate": Event; + "unload": Event; + "volumechange": Event; + "vrdisplayactivate": Event; + "vrdisplayblur": Event; + "vrdisplayconnect": Event; + "vrdisplaydeactivate": Event; + "vrdisplaydisconnect": Event; + "vrdisplayfocus": Event; + "vrdisplaypointerrestricted": Event; + "vrdisplaypointerunrestricted": Event; + "vrdisplaypresentchange": Event; + "waiting": Event; +} + +interface Window extends EventTarget, WindowTimers, WindowSessionStorage, WindowLocalStorage, WindowConsole, GlobalEventHandlers, IDBEnvironment, WindowBase64, GlobalFetch, WindowOrWorkerGlobalScope, WindowEventHandlers { + Blob: typeof Blob; + URL: typeof URL; + URLSearchParams: typeof URLSearchParams; + readonly applicationCache: ApplicationCache; + readonly caches: CacheStorage; + readonly clientInformation: Navigator; + readonly closed: boolean; + readonly crypto: Crypto; + customElements: CustomElementRegistry; + defaultStatus: string; + readonly devicePixelRatio: number; + readonly doNotTrack: string; + readonly document: Document; + readonly event: Event | undefined; + /** @deprecated */ + readonly external: External; + readonly frameElement: Element; + readonly frames: Window; + readonly history: History; + readonly innerHeight: number; + readonly innerWidth: number; + readonly isSecureContext: boolean; + readonly length: number; + location: Location; + readonly locationbar: BarProp; + readonly menubar: BarProp; + readonly msContentScript: ExtensionScriptApis; + name: string; + readonly navigator: Navigator; + offscreenBuffering: string | boolean; + oncompassneedscalibration: ((this: Window, ev: Event) => any) | null; + ondevicelight: ((this: Window, ev: DeviceLightEvent) => any) | null; + ondevicemotion: ((this: Window, ev: DeviceMotionEvent) => any) | null; + ondeviceorientation: ((this: Window, ev: DeviceOrientationEvent) => any) | null; + onmousewheel: ((this: Window, ev: Event) => any) | null; + onmsgesturechange: ((this: Window, ev: Event) => any) | null; + onmsgesturedoubletap: ((this: Window, ev: Event) => any) | null; + onmsgestureend: ((this: Window, ev: Event) => any) | null; + onmsgesturehold: ((this: Window, ev: Event) => any) | null; + onmsgesturestart: ((this: Window, ev: Event) => any) | null; + onmsgesturetap: ((this: Window, ev: Event) => any) | null; + onmsinertiastart: ((this: Window, ev: Event) => any) | null; + onmspointercancel: ((this: Window, ev: Event) => any) | null; + onmspointerdown: ((this: Window, ev: Event) => any) | null; + onmspointerenter: ((this: Window, ev: Event) => any) | null; + onmspointerleave: ((this: Window, ev: Event) => any) | null; + onmspointermove: ((this: Window, ev: Event) => any) | null; + onmspointerout: ((this: Window, ev: Event) => any) | null; + onmspointerover: ((this: Window, ev: Event) => any) | null; + onmspointerup: ((this: Window, ev: Event) => any) | null; + /** @deprecated */ + onorientationchange: ((this: Window, ev: Event) => any) | null; + onreadystatechange: ((this: Window, ev: ProgressEvent) => any) | null; + onvrdisplayactivate: ((this: Window, ev: Event) => any) | null; + onvrdisplayblur: ((this: Window, ev: Event) => any) | null; + onvrdisplayconnect: ((this: Window, ev: Event) => any) | null; + onvrdisplaydeactivate: ((this: Window, ev: Event) => any) | null; + onvrdisplaydisconnect: ((this: Window, ev: Event) => any) | null; + onvrdisplayfocus: ((this: Window, ev: Event) => any) | null; + onvrdisplaypointerrestricted: ((this: Window, ev: Event) => any) | null; + onvrdisplaypointerunrestricted: ((this: Window, ev: Event) => any) | null; + onvrdisplaypresentchange: ((this: Window, ev: Event) => any) | null; + opener: any; + /** @deprecated */ + readonly orientation: string | number; + readonly outerHeight: number; + readonly outerWidth: number; + readonly pageXOffset: number; + readonly pageYOffset: number; + readonly parent: Window; + readonly performance: Performance; + readonly personalbar: BarProp; + readonly screen: Screen; + readonly screenLeft: number; + readonly screenTop: number; + readonly screenX: number; + readonly screenY: number; + readonly scrollX: number; + readonly scrollY: number; + readonly scrollbars: BarProp; + readonly self: Window; + readonly speechSynthesis: SpeechSynthesis; + status: string; + readonly statusbar: BarProp; + readonly styleMedia: StyleMedia; + readonly toolbar: BarProp; + readonly top: Window; + readonly window: Window; + alert(message?: any): void; + blur(): void; + cancelAnimationFrame(handle: number): void; + /** @deprecated */ + captureEvents(): void; + close(): void; + confirm(message?: string): boolean; + departFocus(navigationReason: NavigationReason, origin: FocusNavigationOrigin): void; + focus(): void; + getComputedStyle(elt: Element, pseudoElt?: string | null): CSSStyleDeclaration; + getMatchedCSSRules(elt: Element, pseudoElt?: string | null): CSSRuleList; + getSelection(): Selection; + matchMedia(query: string): MediaQueryList; + moveBy(x: number, y: number): void; + moveTo(x: number, y: number): void; + msWriteProfilerMark(profilerMarkName: string): void; + open(url?: string, target?: string, features?: string, replace?: boolean): Window | null; + postMessage(message: any, targetOrigin: string, transfer?: Transferable[]): void; + print(): void; + prompt(message?: string, _default?: string): string | null; + /** @deprecated */ + releaseEvents(): void; + requestAnimationFrame(callback: FrameRequestCallback): number; + resizeBy(x: number, y: number): void; + resizeTo(x: number, y: number): void; + scroll(options?: ScrollToOptions): void; + scroll(x: number, y: number): void; + scrollBy(options?: ScrollToOptions): void; + scrollBy(x: number, y: number): void; + scrollTo(options?: ScrollToOptions): void; + scrollTo(x: number, y: number): void; + stop(): void; + webkitCancelAnimationFrame(handle: number): void; + webkitConvertPointFromNodeToPage(node: Node, pt: WebKitPoint): WebKitPoint; + webkitConvertPointFromPageToNode(node: Node, pt: WebKitPoint): WebKitPoint; + webkitRequestAnimationFrame(callback: FrameRequestCallback): number; + addEventListener(type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var Window: { + prototype: Window; + new(): Window; +}; + +interface WindowBase64 { + atob(encodedString: string): string; + btoa(rawString: string): string; +} + +interface WindowConsole { + readonly console: Console; +} + +interface WindowEventHandlersEventMap { + "afterprint": Event; + "beforeprint": Event; + "beforeunload": BeforeUnloadEvent; + "hashchange": HashChangeEvent; + "languagechange": Event; + "message": MessageEvent; + "messageerror": MessageEvent; + "offline": Event; + "online": Event; + "pagehide": PageTransitionEvent; + "pageshow": PageTransitionEvent; + "popstate": PopStateEvent; + "rejectionhandled": Event; + "storage": StorageEvent; + "unhandledrejection": PromiseRejectionEvent; + "unload": Event; +} + +interface WindowEventHandlers { + onafterprint: ((this: WindowEventHandlers, ev: Event) => any) | null; + onbeforeprint: ((this: WindowEventHandlers, ev: Event) => any) | null; + onbeforeunload: ((this: WindowEventHandlers, ev: BeforeUnloadEvent) => any) | null; + onhashchange: ((this: WindowEventHandlers, ev: HashChangeEvent) => any) | null; + onlanguagechange: ((this: WindowEventHandlers, ev: Event) => any) | null; + onmessage: ((this: WindowEventHandlers, ev: MessageEvent) => any) | null; + onmessageerror: ((this: WindowEventHandlers, ev: MessageEvent) => any) | null; + onoffline: ((this: WindowEventHandlers, ev: Event) => any) | null; + ononline: ((this: WindowEventHandlers, ev: Event) => any) | null; + onpagehide: ((this: WindowEventHandlers, ev: PageTransitionEvent) => any) | null; + onpageshow: ((this: WindowEventHandlers, ev: PageTransitionEvent) => any) | null; + onpopstate: ((this: WindowEventHandlers, ev: PopStateEvent) => any) | null; + onrejectionhandled: ((this: WindowEventHandlers, ev: Event) => any) | null; + onstorage: ((this: WindowEventHandlers, ev: StorageEvent) => any) | null; + onunhandledrejection: ((this: WindowEventHandlers, ev: PromiseRejectionEvent) => any) | null; + onunload: ((this: WindowEventHandlers, ev: Event) => any) | null; + addEventListener(type: K, listener: (this: WindowEventHandlers, ev: WindowEventHandlersEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: WindowEventHandlers, ev: WindowEventHandlersEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +interface WindowLocalStorage { + readonly localStorage: Storage; +} + +interface WindowOrWorkerGlobalScope { + readonly caches: CacheStorage; + readonly crypto: Crypto; + readonly indexedDB: IDBFactory; + readonly origin: string; + readonly performance: Performance; + atob(data: string): string; + btoa(data: string): string; + clearInterval(handle?: number): void; + clearTimeout(handle?: number): void; + createImageBitmap(image: ImageBitmapSource): Promise; + createImageBitmap(image: ImageBitmapSource, sx: number, sy: number, sw: number, sh: number): Promise; + fetch(input: RequestInfo, init?: RequestInit): Promise; + queueMicrotask(callback: Function): void; + setInterval(handler: TimerHandler, timeout?: number, ...arguments: any[]): number; + setTimeout(handler: TimerHandler, timeout?: number, ...arguments: any[]): number; +} + +interface WindowSessionStorage { + readonly sessionStorage: Storage; +} + +interface WindowTimers { +} + +interface WorkerEventMap extends AbstractWorkerEventMap { + "message": MessageEvent; +} + +interface Worker extends EventTarget, AbstractWorker { + onmessage: ((this: Worker, ev: MessageEvent) => any) | null; + postMessage(message: any, transfer?: Transferable[]): void; + terminate(): void; + addEventListener(type: K, listener: (this: Worker, ev: WorkerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: Worker, ev: WorkerEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var Worker: { + prototype: Worker; + new(stringUrl: string, options?: WorkerOptions): Worker; +}; + +interface Worklet { + addModule(moduleURL: string, options?: WorkletOptions): Promise; +} + +declare var Worklet: { + prototype: Worklet; + new(): Worklet; +}; + +interface WritableStream { + readonly locked: boolean; + abort(reason?: any): Promise; + getWriter(): WritableStreamDefaultWriter; +} + +declare var WritableStream: { + prototype: WritableStream; + new(underlyingSink?: UnderlyingSink, strategy?: QueuingStrategy): WritableStream; +}; + +interface WritableStreamDefaultController { + error(error?: any): void; +} + +interface WritableStreamDefaultWriter { + readonly closed: Promise; + readonly desiredSize: number | null; + readonly ready: Promise; + abort(reason?: any): Promise; + close(): Promise; + releaseLock(): void; + write(chunk: W): Promise; +} + +interface XMLDocument extends Document { + addEventListener(type: K, listener: (this: XMLDocument, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: XMLDocument, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var XMLDocument: { + prototype: XMLDocument; + new(): XMLDocument; +}; + +interface XMLHttpRequestEventMap extends XMLHttpRequestEventTargetEventMap { + "readystatechange": Event; +} + +interface XMLHttpRequest extends XMLHttpRequestEventTarget { + onreadystatechange: ((this: XMLHttpRequest, ev: Event) => any) | null; + /** + * Returns client's state. + */ + readonly readyState: number; + /** + * Returns the response's body. + */ + readonly response: any; + /** + * Returns the text response. + * Throws an "InvalidStateError" DOMException if responseType is not the empty string or "text". + */ + readonly responseText: string; + /** + * Returns the response type. + * Can be set to change the response type. Values are: + * the empty string (default), + * "arraybuffer", + * "blob", + * "document", + * "json", and + * "text". + * When set: setting to "document" is ignored if current global object is not a Window object. + * When set: throws an "InvalidStateError" DOMException if state is loading or done. + * When set: throws an "InvalidAccessError" DOMException if the synchronous flag is set and current global object is a Window object. + */ + responseType: XMLHttpRequestResponseType; + readonly responseURL: string; + /** + * Returns the document response. + * Throws an "InvalidStateError" DOMException if responseType is not the empty string or "document". + */ + readonly responseXML: Document | null; + readonly status: number; + readonly statusText: string; + /** + * Can be set to a time in milliseconds. When set to a non-zero value will cause fetching to terminate after the given time has passed. When the time has passed, the + * request has not yet completed, and the synchronous flag is unset, a timeout event will then be dispatched, or a + * "TimeoutError" DOMException will be thrown otherwise (for the send() method). + * When set: throws an "InvalidAccessError" DOMException if the synchronous flag is set and current global object is a Window object. + */ + timeout: number; + /** + * Returns the associated XMLHttpRequestUpload object. It can be used to gather transmission information when data is + * transferred to a server. + */ + readonly upload: XMLHttpRequestUpload; + /** + * True when credentials are to be included in a cross-origin request. False when they are + * to be excluded in a cross-origin request and when cookies are to be ignored in its response. + * Initially false. + * When set: throws an "InvalidStateError" DOMException if state is not unsent or opened, or if the send() flag is set. + */ + withCredentials: boolean; + /** + * Cancels any network activity. + */ + abort(): void; + getAllResponseHeaders(): string; + getResponseHeader(name: string): string | null; + /** + * Sets the request method, request URL, and synchronous flag. + * Throws a "SyntaxError" DOMException if either method is not a + * valid HTTP method or url cannot be parsed. + * Throws a "SecurityError" DOMException if method is a + * case-insensitive match for `CONNECT`, `TRACE`, or `TRACK`. + * Throws an "InvalidAccessError" DOMException if async is false, current global object is a Window object, and the timeout attribute is not zero or the responseType attribute is not the empty string. + */ + open(method: string, url: string): void; + open(method: string, url: string, async: boolean, username?: string | null, password?: string | null): void; + /** + * Acts as if the `Content-Type` header value for response is mime. + * (It does not actually change the header though.) + * Throws an "InvalidStateError" DOMException if state is loading or done. + */ + overrideMimeType(mime: string): void; + /** + * Initiates the request. The optional argument provides the request body. The argument is ignored if request method is GET or HEAD. + * Throws an "InvalidStateError" DOMException if either state is not opened or the send() flag is set. + */ + send(body?: Document | BodyInit | null): void; + /** + * Combines a header in author request headers. + * Throws an "InvalidStateError" DOMException if either state is not opened or the send() flag is set. + * Throws a "SyntaxError" DOMException if name is not a header name + * or if value is not a header value. + */ + setRequestHeader(name: string, value: string): void; + readonly DONE: number; + readonly HEADERS_RECEIVED: number; + readonly LOADING: number; + readonly OPENED: number; + readonly UNSENT: number; + addEventListener(type: K, listener: (this: XMLHttpRequest, ev: XMLHttpRequestEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: XMLHttpRequest, ev: XMLHttpRequestEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var XMLHttpRequest: { + prototype: XMLHttpRequest; + new(): XMLHttpRequest; + readonly DONE: number; + readonly HEADERS_RECEIVED: number; + readonly LOADING: number; + readonly OPENED: number; + readonly UNSENT: number; +}; + +interface XMLHttpRequestEventTargetEventMap { + "abort": ProgressEvent; + "error": ProgressEvent; + "load": ProgressEvent; + "loadend": ProgressEvent; + "loadstart": ProgressEvent; + "progress": ProgressEvent; + "timeout": ProgressEvent; +} + +interface XMLHttpRequestEventTarget extends EventTarget { + onabort: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null; + onerror: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null; + onload: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null; + onloadend: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null; + onloadstart: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null; + onprogress: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null; + ontimeout: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null; + addEventListener(type: K, listener: (this: XMLHttpRequestEventTarget, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: XMLHttpRequestEventTarget, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var XMLHttpRequestEventTarget: { + prototype: XMLHttpRequestEventTarget; + new(): XMLHttpRequestEventTarget; +}; + +interface XMLHttpRequestUpload extends XMLHttpRequestEventTarget { + addEventListener(type: K, listener: (this: XMLHttpRequestUpload, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: XMLHttpRequestUpload, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var XMLHttpRequestUpload: { + prototype: XMLHttpRequestUpload; + new(): XMLHttpRequestUpload; +}; + +interface XMLSerializer { + serializeToString(root: Node): string; +} + +declare var XMLSerializer: { + prototype: XMLSerializer; + new(): XMLSerializer; +}; + +interface XPathEvaluator { + createExpression(expression: string, resolver: XPathNSResolver): XPathExpression; + createNSResolver(nodeResolver?: Node): XPathNSResolver; + evaluate(expression: string, contextNode: Node, resolver: XPathNSResolver | ((prefix: string) => string | null) | null, type: number, result: XPathResult | null): XPathResult; +} + +declare var XPathEvaluator: { + prototype: XPathEvaluator; + new(): XPathEvaluator; +}; + +interface XPathExpression { + evaluate(contextNode: Node, type: number, result: XPathResult | null): XPathResult; +} + +declare var XPathExpression: { + prototype: XPathExpression; + new(): XPathExpression; +}; + +interface XPathNSResolver { + lookupNamespaceURI(prefix: string): string | null; +} + +declare var XPathNSResolver: { + prototype: XPathNSResolver; + new(): XPathNSResolver; +}; + +interface XPathResult { + readonly booleanValue: boolean; + readonly invalidIteratorState: boolean; + readonly numberValue: number; + readonly resultType: number; + readonly singleNodeValue: Node; + readonly snapshotLength: number; + readonly stringValue: string; + iterateNext(): Node; + snapshotItem(index: number): Node; + readonly ANY_TYPE: number; + readonly ANY_UNORDERED_NODE_TYPE: number; + readonly BOOLEAN_TYPE: number; + readonly FIRST_ORDERED_NODE_TYPE: number; + readonly NUMBER_TYPE: number; + readonly ORDERED_NODE_ITERATOR_TYPE: number; + readonly ORDERED_NODE_SNAPSHOT_TYPE: number; + readonly STRING_TYPE: number; + readonly UNORDERED_NODE_ITERATOR_TYPE: number; + readonly UNORDERED_NODE_SNAPSHOT_TYPE: number; +} + +declare var XPathResult: { + prototype: XPathResult; + new(): XPathResult; + readonly ANY_TYPE: number; + readonly ANY_UNORDERED_NODE_TYPE: number; + readonly BOOLEAN_TYPE: number; + readonly FIRST_ORDERED_NODE_TYPE: number; + readonly NUMBER_TYPE: number; + readonly ORDERED_NODE_ITERATOR_TYPE: number; + readonly ORDERED_NODE_SNAPSHOT_TYPE: number; + readonly STRING_TYPE: number; + readonly UNORDERED_NODE_ITERATOR_TYPE: number; + readonly UNORDERED_NODE_SNAPSHOT_TYPE: number; +}; + +interface XSLTProcessor { + clearParameters(): void; + getParameter(namespaceURI: string, localName: string): any; + importStylesheet(style: Node): void; + removeParameter(namespaceURI: string, localName: string): void; + reset(): void; + setParameter(namespaceURI: string, localName: string, value: any): void; + transformToDocument(source: Node): Document; + transformToFragment(source: Node, document: Document): DocumentFragment; +} + +declare var XSLTProcessor: { + prototype: XSLTProcessor; + new(): XSLTProcessor; +}; + +interface webkitRTCPeerConnection extends RTCPeerConnection { + addEventListener(type: K, listener: (this: webkitRTCPeerConnection, ev: RTCPeerConnectionEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: webkitRTCPeerConnection, ev: RTCPeerConnectionEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var webkitRTCPeerConnection: { + prototype: webkitRTCPeerConnection; + new(configuration: RTCConfiguration): webkitRTCPeerConnection; +}; + +declare type EventListenerOrEventListenerObject = EventListener | EventListenerObject; + +interface BlobCallback { + (blob: Blob | null): void; +} + +interface DecodeErrorCallback { + (error: DOMException): void; +} + +interface DecodeSuccessCallback { + (decodedData: AudioBuffer): void; +} + +interface ErrorEventHandler { + (event: Event | string, source?: string, fileno?: number, columnNumber?: number, error?: Error): void; +} + +interface EventHandlerNonNull { + (event: Event): any; +} + +interface ForEachCallback { + (keyId: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | null, status: MediaKeyStatus): void; +} + +interface FrameRequestCallback { + (time: number): void; +} + +interface FunctionStringCallback { + (data: string): void; +} + +interface IntersectionObserverCallback { + (entries: IntersectionObserverEntry[], observer: IntersectionObserver): void; +} + +interface MSLaunchUriCallback { + (): void; +} + +interface MutationCallback { + (mutations: MutationRecord[], observer: MutationObserver): void; +} + +interface NavigatorUserMediaErrorCallback { + (error: MediaStreamError): void; +} + +interface NavigatorUserMediaSuccessCallback { + (stream: MediaStream): void; +} + +interface NotificationPermissionCallback { + (permission: NotificationPermission): void; +} + +interface OnBeforeUnloadEventHandlerNonNull { + (event: Event): string | null; +} + +interface OnErrorEventHandlerNonNull { + (event: Event | string, source?: string, lineno?: number, colno?: number, error?: any): any; +} + +interface PerformanceObserverCallback { + (entries: PerformanceObserverEntryList, observer: PerformanceObserver): void; +} + +interface PositionCallback { + (position: Position): void; +} + +interface PositionErrorCallback { + (positionError: PositionError): void; +} + +interface QueuingStrategySizeCallback { + (chunk: T): number; +} + +interface RTCPeerConnectionErrorCallback { + (error: DOMException): void; +} + +interface RTCSessionDescriptionCallback { + (description: RTCSessionDescriptionInit): void; +} + +interface RTCStatsCallback { + (report: RTCStatsReport): void; +} + +interface ReadableByteStreamControllerCallback { + (controller: ReadableByteStreamController): void | PromiseLike; +} + +interface ReadableStreamDefaultControllerCallback { + (controller: ReadableStreamDefaultController): void | PromiseLike; +} + +interface ReadableStreamErrorCallback { + (reason: any): void | PromiseLike; +} + +interface TransformStreamDefaultControllerCallback { + (controller: TransformStreamDefaultController): void | PromiseLike; +} + +interface TransformStreamDefaultControllerTransformCallback { + (chunk: I, controller: TransformStreamDefaultController): void | PromiseLike; +} + +interface VoidFunction { + (): void; +} + +interface WritableStreamDefaultControllerCloseCallback { + (): void | PromiseLike; +} + +interface WritableStreamDefaultControllerStartCallback { + (controller: WritableStreamDefaultController): void | PromiseLike; +} + +interface WritableStreamDefaultControllerWriteCallback { + (chunk: W, controller: WritableStreamDefaultController): void | PromiseLike; +} + +interface WritableStreamErrorCallback { + (reason: any): void | PromiseLike; +} + +interface HTMLElementTagNameMap { + "a": HTMLAnchorElement; + "abbr": HTMLElement; + "address": HTMLElement; + "applet": HTMLAppletElement; + "area": HTMLAreaElement; + "article": HTMLElement; + "aside": HTMLElement; + "audio": HTMLAudioElement; + "b": HTMLElement; + "base": HTMLBaseElement; + "basefont": HTMLBaseFontElement; + "bdo": HTMLElement; + "blockquote": HTMLQuoteElement; + "body": HTMLBodyElement; + "br": HTMLBRElement; + "button": HTMLButtonElement; + "canvas": HTMLCanvasElement; + "caption": HTMLTableCaptionElement; + "cite": HTMLElement; + "code": HTMLElement; + "col": HTMLTableColElement; + "colgroup": HTMLTableColElement; + "data": HTMLDataElement; + "datalist": HTMLDataListElement; + "dd": HTMLElement; + "del": HTMLModElement; + "details": HTMLDetailsElement; + "dfn": HTMLElement; + "dialog": HTMLDialogElement; + "dir": HTMLDirectoryElement; + "div": HTMLDivElement; + "dl": HTMLDListElement; + "dt": HTMLElement; + "em": HTMLElement; + "embed": HTMLEmbedElement; + "fieldset": HTMLFieldSetElement; + "figcaption": HTMLElement; + "figure": HTMLElement; + "font": HTMLFontElement; + "footer": HTMLElement; + "form": HTMLFormElement; + "frame": HTMLFrameElement; + "frameset": HTMLFrameSetElement; + "h1": HTMLHeadingElement; + "h2": HTMLHeadingElement; + "h3": HTMLHeadingElement; + "h4": HTMLHeadingElement; + "h5": HTMLHeadingElement; + "h6": HTMLHeadingElement; + "head": HTMLHeadElement; + "header": HTMLElement; + "hgroup": HTMLElement; + "hr": HTMLHRElement; + "html": HTMLHtmlElement; + "i": HTMLElement; + "iframe": HTMLIFrameElement; + "img": HTMLImageElement; + "input": HTMLInputElement; + "ins": HTMLModElement; + "kbd": HTMLElement; + "label": HTMLLabelElement; + "legend": HTMLLegendElement; + "li": HTMLLIElement; + "link": HTMLLinkElement; + "map": HTMLMapElement; + "mark": HTMLElement; + "marquee": HTMLMarqueeElement; + "menu": HTMLMenuElement; + "meta": HTMLMetaElement; + "meter": HTMLMeterElement; + "nav": HTMLElement; + "noscript": HTMLElement; + "object": HTMLObjectElement; + "ol": HTMLOListElement; + "optgroup": HTMLOptGroupElement; + "option": HTMLOptionElement; + "output": HTMLOutputElement; + "p": HTMLParagraphElement; + "param": HTMLParamElement; + "picture": HTMLPictureElement; + "pre": HTMLPreElement; + "progress": HTMLProgressElement; + "q": HTMLQuoteElement; + "rt": HTMLElement; + "ruby": HTMLElement; + "s": HTMLElement; + "samp": HTMLElement; + "script": HTMLScriptElement; + "section": HTMLElement; + "select": HTMLSelectElement; + "slot": HTMLSlotElement; + "small": HTMLElement; + "source": HTMLSourceElement; + "span": HTMLSpanElement; + "strong": HTMLElement; + "style": HTMLStyleElement; + "sub": HTMLElement; + "sup": HTMLElement; + "table": HTMLTableElement; + "tbody": HTMLTableSectionElement; + "td": HTMLTableDataCellElement; + "template": HTMLTemplateElement; + "textarea": HTMLTextAreaElement; + "tfoot": HTMLTableSectionElement; + "th": HTMLTableHeaderCellElement; + "thead": HTMLTableSectionElement; + "time": HTMLTimeElement; + "title": HTMLTitleElement; + "tr": HTMLTableRowElement; + "track": HTMLTrackElement; + "u": HTMLElement; + "ul": HTMLUListElement; + "var": HTMLElement; + "video": HTMLVideoElement; + "wbr": HTMLElement; +} + +interface HTMLElementDeprecatedTagNameMap { + "listing": HTMLPreElement; + "xmp": HTMLPreElement; +} + +interface SVGElementTagNameMap { + "circle": SVGCircleElement; + "clipPath": SVGClipPathElement; + "defs": SVGDefsElement; + "desc": SVGDescElement; + "ellipse": SVGEllipseElement; + "feBlend": SVGFEBlendElement; + "feColorMatrix": SVGFEColorMatrixElement; + "feComponentTransfer": SVGFEComponentTransferElement; + "feComposite": SVGFECompositeElement; + "feConvolveMatrix": SVGFEConvolveMatrixElement; + "feDiffuseLighting": SVGFEDiffuseLightingElement; + "feDisplacementMap": SVGFEDisplacementMapElement; + "feDistantLight": SVGFEDistantLightElement; + "feFlood": SVGFEFloodElement; + "feFuncA": SVGFEFuncAElement; + "feFuncB": SVGFEFuncBElement; + "feFuncG": SVGFEFuncGElement; + "feFuncR": SVGFEFuncRElement; + "feGaussianBlur": SVGFEGaussianBlurElement; + "feImage": SVGFEImageElement; + "feMerge": SVGFEMergeElement; + "feMergeNode": SVGFEMergeNodeElement; + "feMorphology": SVGFEMorphologyElement; + "feOffset": SVGFEOffsetElement; + "fePointLight": SVGFEPointLightElement; + "feSpecularLighting": SVGFESpecularLightingElement; + "feSpotLight": SVGFESpotLightElement; + "feTile": SVGFETileElement; + "feTurbulence": SVGFETurbulenceElement; + "filter": SVGFilterElement; + "foreignObject": SVGForeignObjectElement; + "g": SVGGElement; + "image": SVGImageElement; + "line": SVGLineElement; + "linearGradient": SVGLinearGradientElement; + "marker": SVGMarkerElement; + "mask": SVGMaskElement; + "metadata": SVGMetadataElement; + "path": SVGPathElement; + "pattern": SVGPatternElement; + "polygon": SVGPolygonElement; + "polyline": SVGPolylineElement; + "radialGradient": SVGRadialGradientElement; + "rect": SVGRectElement; + "stop": SVGStopElement; + "svg": SVGSVGElement; + "switch": SVGSwitchElement; + "symbol": SVGSymbolElement; + "text": SVGTextElement; + "textPath": SVGTextPathElement; + "tspan": SVGTSpanElement; + "use": SVGUseElement; + "view": SVGViewElement; +} + +/** @deprecated Directly use HTMLElementTagNameMap or SVGElementTagNameMap as appropriate, instead. */ +interface ElementTagNameMap extends HTMLElementTagNameMap, SVGElementTagNameMap { } + +declare var Audio: { + new(src?: string): HTMLAudioElement; +}; +declare var Image: { + new(width?: number, height?: number): HTMLImageElement; +}; +declare var Option: { + new(text?: string, value?: string, defaultSelected?: boolean, selected?: boolean): HTMLOptionElement; +}; +declare var Blob: typeof Blob; +declare var URL: typeof URL; +declare var URLSearchParams: typeof URLSearchParams; +declare var applicationCache: ApplicationCache; +declare var caches: CacheStorage; +declare var clientInformation: Navigator; +declare var closed: boolean; +declare var crypto: Crypto; +declare var customElements: CustomElementRegistry; +declare var defaultStatus: string; +declare var devicePixelRatio: number; +declare var doNotTrack: string; +declare var document: Document; +declare var event: Event | undefined; +/** @deprecated */ +declare var external: External; +declare var frameElement: Element; +declare var frames: Window; +declare var history: History; +declare var innerHeight: number; +declare var innerWidth: number; +declare var isSecureContext: boolean; +declare var length: number; +declare var location: Location; +declare var locationbar: BarProp; +declare var menubar: BarProp; +declare var msContentScript: ExtensionScriptApis; +declare const name: never; +declare var navigator: Navigator; +declare var offscreenBuffering: string | boolean; +declare var oncompassneedscalibration: ((this: Window, ev: Event) => any) | null; +declare var ondevicelight: ((this: Window, ev: DeviceLightEvent) => any) | null; +declare var ondevicemotion: ((this: Window, ev: DeviceMotionEvent) => any) | null; +declare var ondeviceorientation: ((this: Window, ev: DeviceOrientationEvent) => any) | null; +declare var onmousewheel: ((this: Window, ev: Event) => any) | null; +declare var onmsgesturechange: ((this: Window, ev: Event) => any) | null; +declare var onmsgesturedoubletap: ((this: Window, ev: Event) => any) | null; +declare var onmsgestureend: ((this: Window, ev: Event) => any) | null; +declare var onmsgesturehold: ((this: Window, ev: Event) => any) | null; +declare var onmsgesturestart: ((this: Window, ev: Event) => any) | null; +declare var onmsgesturetap: ((this: Window, ev: Event) => any) | null; +declare var onmsinertiastart: ((this: Window, ev: Event) => any) | null; +declare var onmspointercancel: ((this: Window, ev: Event) => any) | null; +declare var onmspointerdown: ((this: Window, ev: Event) => any) | null; +declare var onmspointerenter: ((this: Window, ev: Event) => any) | null; +declare var onmspointerleave: ((this: Window, ev: Event) => any) | null; +declare var onmspointermove: ((this: Window, ev: Event) => any) | null; +declare var onmspointerout: ((this: Window, ev: Event) => any) | null; +declare var onmspointerover: ((this: Window, ev: Event) => any) | null; +declare var onmspointerup: ((this: Window, ev: Event) => any) | null; +/** @deprecated */ +declare var onorientationchange: ((this: Window, ev: Event) => any) | null; +declare var onreadystatechange: ((this: Window, ev: ProgressEvent) => any) | null; +declare var onvrdisplayactivate: ((this: Window, ev: Event) => any) | null; +declare var onvrdisplayblur: ((this: Window, ev: Event) => any) | null; +declare var onvrdisplayconnect: ((this: Window, ev: Event) => any) | null; +declare var onvrdisplaydeactivate: ((this: Window, ev: Event) => any) | null; +declare var onvrdisplaydisconnect: ((this: Window, ev: Event) => any) | null; +declare var onvrdisplayfocus: ((this: Window, ev: Event) => any) | null; +declare var onvrdisplaypointerrestricted: ((this: Window, ev: Event) => any) | null; +declare var onvrdisplaypointerunrestricted: ((this: Window, ev: Event) => any) | null; +declare var onvrdisplaypresentchange: ((this: Window, ev: Event) => any) | null; +declare var opener: any; +/** @deprecated */ +declare var orientation: string | number; +declare var outerHeight: number; +declare var outerWidth: number; +declare var pageXOffset: number; +declare var pageYOffset: number; +declare var parent: Window; +declare var performance: Performance; +declare var personalbar: BarProp; +declare var screen: Screen; +declare var screenLeft: number; +declare var screenTop: number; +declare var screenX: number; +declare var screenY: number; +declare var scrollX: number; +declare var scrollY: number; +declare var scrollbars: BarProp; +declare var self: Window; +declare var speechSynthesis: SpeechSynthesis; +declare var status: string; +declare var statusbar: BarProp; +declare var styleMedia: StyleMedia; +declare var toolbar: BarProp; +declare var top: Window; +declare var window: Window; +declare function alert(message?: any): void; +declare function blur(): void; +declare function cancelAnimationFrame(handle: number): void; +/** @deprecated */ +declare function captureEvents(): void; +declare function close(): void; +declare function confirm(message?: string): boolean; +declare function departFocus(navigationReason: NavigationReason, origin: FocusNavigationOrigin): void; +declare function focus(): void; +declare function getComputedStyle(elt: Element, pseudoElt?: string | null): CSSStyleDeclaration; +declare function getMatchedCSSRules(elt: Element, pseudoElt?: string | null): CSSRuleList; +declare function getSelection(): Selection; +declare function matchMedia(query: string): MediaQueryList; +declare function moveBy(x: number, y: number): void; +declare function moveTo(x: number, y: number): void; +declare function msWriteProfilerMark(profilerMarkName: string): void; +declare function open(url?: string, target?: string, features?: string, replace?: boolean): Window | null; +declare function postMessage(message: any, targetOrigin: string, transfer?: Transferable[]): void; +declare function print(): void; +declare function prompt(message?: string, _default?: string): string | null; +/** @deprecated */ +declare function releaseEvents(): void; +declare function requestAnimationFrame(callback: FrameRequestCallback): number; +declare function resizeBy(x: number, y: number): void; +declare function resizeTo(x: number, y: number): void; +declare function scroll(options?: ScrollToOptions): void; +declare function scroll(x: number, y: number): void; +declare function scrollBy(options?: ScrollToOptions): void; +declare function scrollBy(x: number, y: number): void; +declare function scrollTo(options?: ScrollToOptions): void; +declare function scrollTo(x: number, y: number): void; +declare function stop(): void; +declare function webkitCancelAnimationFrame(handle: number): void; +declare function webkitConvertPointFromNodeToPage(node: Node, pt: WebKitPoint): WebKitPoint; +declare function webkitConvertPointFromPageToNode(node: Node, pt: WebKitPoint): WebKitPoint; +declare function webkitRequestAnimationFrame(callback: FrameRequestCallback): number; +declare function toString(): string; +/** + * Dispatches a synthetic event event to target and returns true + * if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise. + */ +declare function dispatchEvent(event: Event): boolean; +declare var sessionStorage: Storage; +declare var localStorage: Storage; +declare var console: Console; +/** + * Fires when the user aborts the download. + * @param ev The event. + */ +declare var onabort: ((this: Window, ev: UIEvent) => any) | null; +declare var onanimationcancel: ((this: Window, ev: AnimationEvent) => any) | null; +declare var onanimationend: ((this: Window, ev: AnimationEvent) => any) | null; +declare var onanimationiteration: ((this: Window, ev: AnimationEvent) => any) | null; +declare var onanimationstart: ((this: Window, ev: AnimationEvent) => any) | null; +declare var onauxclick: ((this: Window, ev: Event) => any) | null; +/** + * Fires when the object loses the input focus. + * @param ev The focus event. + */ +declare var onblur: ((this: Window, ev: FocusEvent) => any) | null; +declare var oncancel: ((this: Window, ev: Event) => any) | null; +/** + * Occurs when playback is possible, but would require further buffering. + * @param ev The event. + */ +declare var oncanplay: ((this: Window, ev: Event) => any) | null; +declare var oncanplaythrough: ((this: Window, ev: Event) => any) | null; +/** + * Fires when the contents of the object or selection have changed. + * @param ev The event. + */ +declare var onchange: ((this: Window, ev: Event) => any) | null; +/** + * Fires when the user clicks the left mouse button on the object + * @param ev The mouse event. + */ +declare var onclick: ((this: Window, ev: MouseEvent) => any) | null; +declare var onclose: ((this: Window, ev: Event) => any) | null; +/** + * Fires when the user clicks the right mouse button in the client area, opening the context menu. + * @param ev The mouse event. + */ +declare var oncontextmenu: ((this: Window, ev: MouseEvent) => any) | null; +declare var oncuechange: ((this: Window, ev: Event) => any) | null; +/** + * Fires when the user double-clicks the object. + * @param ev The mouse event. + */ +declare var ondblclick: ((this: Window, ev: MouseEvent) => any) | null; +/** + * Fires on the source object continuously during a drag operation. + * @param ev The event. + */ +declare var ondrag: ((this: Window, ev: DragEvent) => any) | null; +/** + * Fires on the source object when the user releases the mouse at the close of a drag operation. + * @param ev The event. + */ +declare var ondragend: ((this: Window, ev: DragEvent) => any) | null; +/** + * Fires on the target element when the user drags the object to a valid drop target. + * @param ev The drag event. + */ +declare var ondragenter: ((this: Window, ev: DragEvent) => any) | null; +declare var ondragexit: ((this: Window, ev: Event) => any) | null; +/** + * Fires on the target object when the user moves the mouse out of a valid drop target during a drag operation. + * @param ev The drag event. + */ +declare var ondragleave: ((this: Window, ev: DragEvent) => any) | null; +/** + * Fires on the target element continuously while the user drags the object over a valid drop target. + * @param ev The event. + */ +declare var ondragover: ((this: Window, ev: DragEvent) => any) | null; +/** + * Fires on the source object when the user starts to drag a text selection or selected object. + * @param ev The event. + */ +declare var ondragstart: ((this: Window, ev: DragEvent) => any) | null; +declare var ondrop: ((this: Window, ev: DragEvent) => any) | null; +/** + * Occurs when the duration attribute is updated. + * @param ev The event. + */ +declare var ondurationchange: ((this: Window, ev: Event) => any) | null; +/** + * Occurs when the media element is reset to its initial state. + * @param ev The event. + */ +declare var onemptied: ((this: Window, ev: Event) => any) | null; +/** + * Occurs when the end of playback is reached. + * @param ev The event + */ +declare var onended: ((this: Window, ev: Event) => any) | null; +/** + * Fires when an error occurs during object loading. + * @param ev The event. + */ +declare var onerror: ErrorEventHandler; +/** + * Fires when the object receives focus. + * @param ev The event. + */ +declare var onfocus: ((this: Window, ev: FocusEvent) => any) | null; +declare var ongotpointercapture: ((this: Window, ev: PointerEvent) => any) | null; +declare var oninput: ((this: Window, ev: Event) => any) | null; +declare var oninvalid: ((this: Window, ev: Event) => any) | null; +/** + * Fires when the user presses a key. + * @param ev The keyboard event + */ +declare var onkeydown: ((this: Window, ev: KeyboardEvent) => any) | null; +/** + * Fires when the user presses an alphanumeric key. + * @param ev The event. + */ +declare var onkeypress: ((this: Window, ev: KeyboardEvent) => any) | null; +/** + * Fires when the user releases a key. + * @param ev The keyboard event + */ +declare var onkeyup: ((this: Window, ev: KeyboardEvent) => any) | null; +/** + * Fires immediately after the browser loads the object. + * @param ev The event. + */ +declare var onload: ((this: Window, ev: Event) => any) | null; +/** + * Occurs when media data is loaded at the current playback position. + * @param ev The event. + */ +declare var onloadeddata: ((this: Window, ev: Event) => any) | null; +/** + * Occurs when the duration and dimensions of the media have been determined. + * @param ev The event. + */ +declare var onloadedmetadata: ((this: Window, ev: Event) => any) | null; +declare var onloadend: ((this: Window, ev: ProgressEvent) => any) | null; +/** + * Occurs when Internet Explorer begins looking for media data. + * @param ev The event. + */ +declare var onloadstart: ((this: Window, ev: Event) => any) | null; +declare var onlostpointercapture: ((this: Window, ev: PointerEvent) => any) | null; +/** + * Fires when the user clicks the object with either mouse button. + * @param ev The mouse event. + */ +declare var onmousedown: ((this: Window, ev: MouseEvent) => any) | null; +declare var onmouseenter: ((this: Window, ev: MouseEvent) => any) | null; +declare var onmouseleave: ((this: Window, ev: MouseEvent) => any) | null; +/** + * Fires when the user moves the mouse over the object. + * @param ev The mouse event. + */ +declare var onmousemove: ((this: Window, ev: MouseEvent) => any) | null; +/** + * Fires when the user moves the mouse pointer outside the boundaries of the object. + * @param ev The mouse event. + */ +declare var onmouseout: ((this: Window, ev: MouseEvent) => any) | null; +/** + * Fires when the user moves the mouse pointer into the object. + * @param ev The mouse event. + */ +declare var onmouseover: ((this: Window, ev: MouseEvent) => any) | null; +/** + * Fires when the user releases a mouse button while the mouse is over the object. + * @param ev The mouse event. + */ +declare var onmouseup: ((this: Window, ev: MouseEvent) => any) | null; +/** + * Occurs when playback is paused. + * @param ev The event. + */ +declare var onpause: ((this: Window, ev: Event) => any) | null; +/** + * Occurs when the play method is requested. + * @param ev The event. + */ +declare var onplay: ((this: Window, ev: Event) => any) | null; +/** + * Occurs when the audio or video has started playing. + * @param ev The event. + */ +declare var onplaying: ((this: Window, ev: Event) => any) | null; +declare var onpointercancel: ((this: Window, ev: PointerEvent) => any) | null; +declare var onpointerdown: ((this: Window, ev: PointerEvent) => any) | null; +declare var onpointerenter: ((this: Window, ev: PointerEvent) => any) | null; +declare var onpointerleave: ((this: Window, ev: PointerEvent) => any) | null; +declare var onpointermove: ((this: Window, ev: PointerEvent) => any) | null; +declare var onpointerout: ((this: Window, ev: PointerEvent) => any) | null; +declare var onpointerover: ((this: Window, ev: PointerEvent) => any) | null; +declare var onpointerup: ((this: Window, ev: PointerEvent) => any) | null; +/** + * Occurs to indicate progress while downloading media data. + * @param ev The event. + */ +declare var onprogress: ((this: Window, ev: ProgressEvent) => any) | null; +/** + * Occurs when the playback rate is increased or decreased. + * @param ev The event. + */ +declare var onratechange: ((this: Window, ev: Event) => any) | null; +/** + * Fires when the user resets a form. + * @param ev The event. + */ +declare var onreset: ((this: Window, ev: Event) => any) | null; +declare var onresize: ((this: Window, ev: UIEvent) => any) | null; +/** + * Fires when the user repositions the scroll box in the scroll bar on the object. + * @param ev The event. + */ +declare var onscroll: ((this: Window, ev: UIEvent) => any) | null; +declare var onsecuritypolicyviolation: ((this: Window, ev: SecurityPolicyViolationEvent) => any) | null; +/** + * Occurs when the seek operation ends. + * @param ev The event. + */ +declare var onseeked: ((this: Window, ev: Event) => any) | null; +/** + * Occurs when the current playback position is moved. + * @param ev The event. + */ +declare var onseeking: ((this: Window, ev: Event) => any) | null; +/** + * Fires when the current selection changes. + * @param ev The event. + */ +declare var onselect: ((this: Window, ev: UIEvent) => any) | null; +/** + * Occurs when the download has stopped. + * @param ev The event. + */ +declare var onstalled: ((this: Window, ev: Event) => any) | null; +declare var onsubmit: ((this: Window, ev: Event) => any) | null; +/** + * Occurs if the load operation has been intentionally halted. + * @param ev The event. + */ +declare var onsuspend: ((this: Window, ev: Event) => any) | null; +/** + * Occurs to indicate the current playback position. + * @param ev The event. + */ +declare var ontimeupdate: ((this: Window, ev: Event) => any) | null; +declare var ontoggle: ((this: Window, ev: Event) => any) | null; +declare var ontouchcancel: ((this: Window, ev: TouchEvent) => any) | null; +declare var ontouchend: ((this: Window, ev: TouchEvent) => any) | null; +declare var ontouchmove: ((this: Window, ev: TouchEvent) => any) | null; +declare var ontouchstart: ((this: Window, ev: TouchEvent) => any) | null; +declare var ontransitioncancel: ((this: Window, ev: TransitionEvent) => any) | null; +declare var ontransitionend: ((this: Window, ev: TransitionEvent) => any) | null; +declare var ontransitionrun: ((this: Window, ev: TransitionEvent) => any) | null; +declare var ontransitionstart: ((this: Window, ev: TransitionEvent) => any) | null; +/** + * Occurs when the volume is changed, or playback is muted or unmuted. + * @param ev The event. + */ +declare var onvolumechange: ((this: Window, ev: Event) => any) | null; +/** + * Occurs when playback stops because the next frame of a video resource is not available. + * @param ev The event. + */ +declare var onwaiting: ((this: Window, ev: Event) => any) | null; +declare var onwheel: ((this: Window, ev: WheelEvent) => any) | null; +declare var indexedDB: IDBFactory; +declare function atob(encodedString: string): string; +declare function btoa(rawString: string): string; +declare function fetch(input: RequestInfo, init?: RequestInit): Promise; +declare var caches: CacheStorage; +declare var crypto: Crypto; +declare var indexedDB: IDBFactory; +declare var origin: string; +declare var performance: Performance; +declare function atob(data: string): string; +declare function btoa(data: string): string; +declare function clearInterval(handle?: number): void; +declare function clearTimeout(handle?: number): void; +declare function createImageBitmap(image: ImageBitmapSource): Promise; +declare function createImageBitmap(image: ImageBitmapSource, sx: number, sy: number, sw: number, sh: number): Promise; +declare function fetch(input: RequestInfo, init?: RequestInit): Promise; +declare function queueMicrotask(callback: Function): void; +declare function setInterval(handler: TimerHandler, timeout?: number, ...arguments: any[]): number; +declare function setTimeout(handler: TimerHandler, timeout?: number, ...arguments: any[]): number; +declare var sessionStorage: Storage; +declare var localStorage: Storage; +declare var onafterprint: ((this: Window, ev: Event) => any) | null; +declare var onbeforeprint: ((this: Window, ev: Event) => any) | null; +declare var onbeforeunload: ((this: Window, ev: BeforeUnloadEvent) => any) | null; +declare var onhashchange: ((this: Window, ev: HashChangeEvent) => any) | null; +declare var onlanguagechange: ((this: Window, ev: Event) => any) | null; +declare var onmessage: ((this: Window, ev: MessageEvent) => any) | null; +declare var onmessageerror: ((this: Window, ev: MessageEvent) => any) | null; +declare var onoffline: ((this: Window, ev: Event) => any) | null; +declare var ononline: ((this: Window, ev: Event) => any) | null; +declare var onpagehide: ((this: Window, ev: PageTransitionEvent) => any) | null; +declare var onpageshow: ((this: Window, ev: PageTransitionEvent) => any) | null; +declare var onpopstate: ((this: Window, ev: PopStateEvent) => any) | null; +declare var onrejectionhandled: ((this: Window, ev: Event) => any) | null; +declare var onstorage: ((this: Window, ev: StorageEvent) => any) | null; +declare var onunhandledrejection: ((this: Window, ev: PromiseRejectionEvent) => any) | null; +declare var onunload: ((this: Window, ev: Event) => any) | null; +declare function addEventListener(type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; +declare function addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; +declare function removeEventListener(type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, options?: boolean | EventListenerOptions): void; +declare function removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +type BlobPart = BufferSource | Blob | string; +type HeadersInit = Headers | string[][] | Record; +type BodyInit = Blob | BufferSource | FormData | URLSearchParams | ReadableStream | string; +type RequestInfo = Request | string; +type DOMHighResTimeStamp = number; +type RenderingContext = CanvasRenderingContext2D | ImageBitmapRenderingContext | WebGLRenderingContext; +type HTMLOrSVGImageElement = HTMLImageElement | SVGImageElement; +type CanvasImageSource = HTMLOrSVGImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap; +type MessageEventSource = WindowProxy | MessagePort | ServiceWorker; +type HTMLOrSVGScriptElement = HTMLScriptElement | SVGScriptElement; +type ImageBitmapSource = CanvasImageSource | Blob | ImageData; +type OnErrorEventHandler = OnErrorEventHandlerNonNull | null; +type OnBeforeUnloadEventHandler = OnBeforeUnloadEventHandlerNonNull | null; +type TimerHandler = string | Function; +type PerformanceEntryList = PerformanceEntry[]; +type VibratePattern = number | number[]; +type AlgorithmIdentifier = string | Algorithm; +type HashAlgorithmIdentifier = AlgorithmIdentifier; +type BigInteger = Uint8Array; +type NamedCurve = string; +type GLenum = number; +type GLboolean = boolean; +type GLbitfield = number; +type GLint = number; +type GLsizei = number; +type GLintptr = number; +type GLsizeiptr = number; +type GLuint = number; +type GLfloat = number; +type GLclampf = number; +type TexImageSource = ImageBitmap | ImageData | HTMLImageElement | HTMLCanvasElement | HTMLVideoElement; +type Float32List = Float32Array | GLfloat[]; +type Int32List = Int32Array | GLint[]; +type BufferSource = ArrayBufferView | ArrayBuffer; +type DOMTimeStamp = number; +type LineAndPositionSetting = number | AutoKeyword; +type FormDataEntryValue = File | string; +type InsertPosition = "beforebegin" | "afterbegin" | "beforeend" | "afterend"; +type IDBValidKey = number | string | Date | BufferSource | IDBArrayKey; +type MutationRecordType = "attributes" | "characterData" | "childList"; +type ConstrainBoolean = boolean | ConstrainBooleanParameters; +type ConstrainDOMString = string | string[] | ConstrainDOMStringParameters; +type ConstrainDouble = number | ConstrainDoubleRange; +type ConstrainLong = number | ConstrainLongRange; +type IDBKeyPath = string; +type Transferable = ArrayBuffer | MessagePort | ImageBitmap; +type RTCIceGatherCandidate = RTCIceCandidateDictionary | RTCIceCandidateComplete; +type RTCTransport = RTCDtlsTransport | RTCSrtpSdesTransport; +/** @deprecated */ +type MouseWheelEvent = WheelEvent; +type WindowProxy = Window; +type AlignSetting = "start" | "center" | "end" | "left" | "right"; +type AnimationPlayState = "idle" | "running" | "paused" | "finished"; +type AppendMode = "segments" | "sequence"; +type AudioContextLatencyCategory = "balanced" | "interactive" | "playback"; +type AudioContextState = "suspended" | "running" | "closed"; +type AutoKeyword = "auto"; +type AutomationRate = "a-rate" | "k-rate"; +type BinaryType = "blob" | "arraybuffer"; +type BiquadFilterType = "lowpass" | "highpass" | "bandpass" | "lowshelf" | "highshelf" | "peaking" | "notch" | "allpass"; +type CanPlayTypeResult = "" | "maybe" | "probably"; +type CanvasDirection = "ltr" | "rtl" | "inherit"; +type CanvasFillRule = "nonzero" | "evenodd"; +type CanvasLineCap = "butt" | "round" | "square"; +type CanvasLineJoin = "round" | "bevel" | "miter"; +type CanvasTextAlign = "start" | "end" | "left" | "right" | "center"; +type CanvasTextBaseline = "top" | "hanging" | "middle" | "alphabetic" | "ideographic" | "bottom"; +type ChannelCountMode = "max" | "clamped-max" | "explicit"; +type ChannelInterpretation = "speakers" | "discrete"; +type ClientTypes = "window" | "worker" | "sharedworker" | "all"; +type CompositeOperation = "replace" | "add" | "accumulate"; +type CompositeOperationOrAuto = "replace" | "add" | "accumulate" | "auto"; +type DirectionSetting = "" | "rl" | "lr"; +type DisplayCaptureSurfaceType = "monitor" | "window" | "application" | "browser"; +type DistanceModelType = "linear" | "inverse" | "exponential"; +type DocumentReadyState = "loading" | "interactive" | "complete"; +type EndOfStreamError = "network" | "decode"; +type EndingType = "transparent" | "native"; +type FillMode = "none" | "forwards" | "backwards" | "both" | "auto"; +type GamepadHand = "" | "left" | "right"; +type GamepadHapticActuatorType = "vibration"; +type GamepadInputEmulationType = "mouse" | "keyboard" | "gamepad"; +type GamepadMappingType = "" | "standard"; +type IDBCursorDirection = "next" | "nextunique" | "prev" | "prevunique"; +type IDBRequestReadyState = "pending" | "done"; +type IDBTransactionMode = "readonly" | "readwrite" | "versionchange"; +type ImageSmoothingQuality = "low" | "medium" | "high"; +type IterationCompositeOperation = "replace" | "accumulate"; +type KeyFormat = "raw" | "spki" | "pkcs8" | "jwk"; +type KeyType = "public" | "private" | "secret"; +type KeyUsage = "encrypt" | "decrypt" | "sign" | "verify" | "deriveKey" | "deriveBits" | "wrapKey" | "unwrapKey"; +type LineAlignSetting = "start" | "center" | "end"; +type ListeningState = "inactive" | "active" | "disambiguation"; +type MSCredentialType = "FIDO_2_0"; +type MSTransportType = "Embedded" | "USB" | "NFC" | "BT"; +type MSWebViewPermissionState = "unknown" | "defer" | "allow" | "deny"; +type MSWebViewPermissionType = "geolocation" | "unlimitedIndexedDBQuota" | "media" | "pointerlock" | "webnotifications"; +type MediaDeviceKind = "audioinput" | "audiooutput" | "videoinput"; +type MediaKeyMessageType = "license-request" | "license-renewal" | "license-release" | "individualization-request"; +type MediaKeySessionType = "temporary" | "persistent-license" | "persistent-release-message"; +type MediaKeyStatus = "usable" | "expired" | "output-downscaled" | "output-not-allowed" | "status-pending" | "internal-error"; +type MediaKeysRequirement = "required" | "optional" | "not-allowed"; +type MediaStreamTrackState = "live" | "ended"; +type NavigationReason = "up" | "down" | "left" | "right"; +type NavigationType = "navigate" | "reload" | "back_forward" | "prerender"; +type NotificationDirection = "auto" | "ltr" | "rtl"; +type NotificationPermission = "default" | "denied" | "granted"; +type OrientationLockType = "any" | "natural" | "landscape" | "portrait" | "portrait-primary" | "portrait-secondary" | "landscape-primary" | "landscape-secondary"; +type OrientationType = "portrait-primary" | "portrait-secondary" | "landscape-primary" | "landscape-secondary"; +type OscillatorType = "sine" | "square" | "sawtooth" | "triangle" | "custom"; +type OverSampleType = "none" | "2x" | "4x"; +type PanningModelType = "equalpower" | "HRTF"; +type PaymentComplete = "success" | "fail" | "unknown"; +type PaymentShippingType = "shipping" | "delivery" | "pickup"; +type PlaybackDirection = "normal" | "reverse" | "alternate" | "alternate-reverse"; +type PositionAlignSetting = "line-left" | "center" | "line-right" | "auto"; +type PushEncryptionKeyName = "p256dh" | "auth"; +type PushPermissionState = "denied" | "granted" | "prompt"; +type RTCBundlePolicy = "balanced" | "max-compat" | "max-bundle"; +type RTCDataChannelState = "connecting" | "open" | "closing" | "closed"; +type RTCDegradationPreference = "maintain-framerate" | "maintain-resolution" | "balanced"; +type RTCDtlsRole = "auto" | "client" | "server"; +type RTCDtlsTransportState = "new" | "connecting" | "connected" | "closed" | "failed"; +type RTCDtxStatus = "disabled" | "enabled"; +type RTCErrorDetailType = "data-channel-failure" | "dtls-failure" | "fingerprint-failure" | "idp-bad-script-failure" | "idp-execution-failure" | "idp-load-failure" | "idp-need-login" | "idp-timeout" | "idp-tls-failure" | "idp-token-expired" | "idp-token-invalid" | "sctp-failure" | "sdp-syntax-error" | "hardware-encoder-not-available" | "hardware-encoder-error"; +type RTCIceCandidateType = "host" | "srflx" | "prflx" | "relay"; +type RTCIceComponent = "rtp" | "rtcp"; +type RTCIceConnectionState = "new" | "checking" | "connected" | "completed" | "disconnected" | "failed" | "closed"; +type RTCIceCredentialType = "password" | "oauth"; +type RTCIceGatherPolicy = "all" | "nohost" | "relay"; +type RTCIceGathererState = "new" | "gathering" | "complete"; +type RTCIceGatheringState = "new" | "gathering" | "complete"; +type RTCIceProtocol = "udp" | "tcp"; +type RTCIceRole = "controlling" | "controlled"; +type RTCIceTcpCandidateType = "active" | "passive" | "so"; +type RTCIceTransportPolicy = "relay" | "all"; +type RTCIceTransportState = "new" | "checking" | "connected" | "completed" | "disconnected" | "failed" | "closed"; +type RTCPeerConnectionState = "new" | "connecting" | "connected" | "disconnected" | "failed" | "closed"; +type RTCPriorityType = "very-low" | "low" | "medium" | "high"; +type RTCRtcpMuxPolicy = "negotiate" | "require"; +type RTCRtpTransceiverDirection = "sendrecv" | "sendonly" | "recvonly" | "inactive"; +type RTCSctpTransportState = "connecting" | "connected" | "closed"; +type RTCSdpType = "offer" | "pranswer" | "answer" | "rollback"; +type RTCSignalingState = "stable" | "have-local-offer" | "have-remote-offer" | "have-local-pranswer" | "have-remote-pranswer" | "closed"; +type RTCStatsIceCandidatePairState = "frozen" | "waiting" | "inprogress" | "failed" | "succeeded" | "cancelled"; +type RTCStatsIceCandidateType = "host" | "serverreflexive" | "peerreflexive" | "relayed"; +type RTCStatsType = "inboundrtp" | "outboundrtp" | "session" | "datachannel" | "track" | "transport" | "candidatepair" | "localcandidate" | "remotecandidate"; +type ReadyState = "closed" | "open" | "ended"; +type ReferrerPolicy = "" | "no-referrer" | "no-referrer-when-downgrade" | "origin-only" | "origin-when-cross-origin" | "unsafe-url"; +type RequestCache = "default" | "no-store" | "reload" | "no-cache" | "force-cache" | "only-if-cached"; +type RequestCredentials = "omit" | "same-origin" | "include"; +type RequestDestination = "" | "audio" | "audioworklet" | "document" | "embed" | "font" | "image" | "manifest" | "object" | "paintworklet" | "report" | "script" | "sharedworker" | "style" | "track" | "video" | "worker" | "xslt"; +type RequestMode = "navigate" | "same-origin" | "no-cors" | "cors"; +type RequestRedirect = "follow" | "error" | "manual"; +type ResponseType = "basic" | "cors" | "default" | "error" | "opaque" | "opaqueredirect"; +type ScopedCredentialType = "ScopedCred"; +type ScrollBehavior = "auto" | "smooth"; +type ScrollLogicalPosition = "start" | "center" | "end" | "nearest"; +type ScrollRestoration = "auto" | "manual"; +type ScrollSetting = "" | "up"; +type SelectionMode = "select" | "start" | "end" | "preserve"; +type ServiceWorkerState = "installing" | "installed" | "activating" | "activated" | "redundant"; +type ServiceWorkerUpdateViaCache = "imports" | "all" | "none"; +type ShadowRootMode = "open" | "closed"; +type SpeechRecognitionErrorCode = "no-speech" | "aborted" | "audio-capture" | "network" | "not-allowed" | "service-not-allowed" | "bad-grammar" | "language-not-supported"; +type SpeechSynthesisErrorCode = "canceled" | "interrupted" | "audio-busy" | "audio-hardware" | "network" | "synthesis-unavailable" | "synthesis-failed" | "language-unavailable" | "voice-unavailable" | "text-too-long" | "invalid-argument"; +type SupportedType = "text/html" | "text/xml" | "application/xml" | "application/xhtml+xml" | "image/svg+xml"; +type TextTrackKind = "subtitles" | "captions" | "descriptions" | "chapters" | "metadata"; +type TextTrackMode = "disabled" | "hidden" | "showing"; +type TouchType = "direct" | "stylus"; +type Transport = "usb" | "nfc" | "ble"; +type VRDisplayEventReason = "mounted" | "navigation" | "requested" | "unmounted"; +type VideoFacingModeEnum = "user" | "environment" | "left" | "right"; +type VisibilityState = "hidden" | "visible" | "prerender"; +type WebGLPowerPreference = "default" | "low-power" | "high-performance"; +type WorkerType = "classic" | "module"; +type XMLHttpRequestResponseType = "" | "arraybuffer" | "blob" | "document" | "json" | "text"; diff --git a/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.dom.iterable.d.ts b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.dom.iterable.d.ts new file mode 100644 index 0000000..0948f70 --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.dom.iterable.d.ts @@ -0,0 +1,236 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +///////////////////////////// +/// DOM Iterable APIs +///////////////////////////// + +interface AudioParamMap extends ReadonlyMap { +} + +interface AudioTrackList { + [Symbol.iterator](): IterableIterator; +} + +interface CSSRuleList { + [Symbol.iterator](): IterableIterator; +} + +interface CSSStyleDeclaration { + [Symbol.iterator](): IterableIterator; +} + +interface ClientRectList { + [Symbol.iterator](): IterableIterator; +} + +interface DOMRectList { + [Symbol.iterator](): IterableIterator; +} + +interface DOMStringList { + [Symbol.iterator](): IterableIterator; +} + +interface DOMTokenList { + [Symbol.iterator](): IterableIterator; + entries(): IterableIterator<[number, string]>; + keys(): IterableIterator; + values(): IterableIterator; +} + +interface DataTransferItemList { + [Symbol.iterator](): IterableIterator; +} + +interface FileList { + [Symbol.iterator](): IterableIterator; +} + +interface FormData { + [Symbol.iterator](): IterableIterator<[string, FormDataEntryValue]>; + /** + * Returns an array of key, value pairs for every entry in the list. + */ + entries(): IterableIterator<[string, FormDataEntryValue]>; + /** + * Returns a list of keys in the list. + */ + keys(): IterableIterator; + /** + * Returns a list of values in the list. + */ + values(): IterableIterator; +} + +interface HTMLAllCollection { + [Symbol.iterator](): IterableIterator; +} + +interface HTMLCollectionBase { + [Symbol.iterator](): IterableIterator; +} + +interface HTMLCollectionOf { + [Symbol.iterator](): IterableIterator; +} + +interface HTMLFormElement { + [Symbol.iterator](): IterableIterator; +} + +interface HTMLSelectElement { + [Symbol.iterator](): IterableIterator; +} + +interface Headers { + [Symbol.iterator](): IterableIterator<[string, string]>; + /** + * Returns an iterator allowing to go through all key/value pairs contained in this object. + */ + entries(): IterableIterator<[string, string]>; + /** + * Returns an iterator allowing to go through all keys of the key/value pairs contained in this object. + */ + keys(): IterableIterator; + /** + * Returns an iterator allowing to go through all values of the key/value pairs contained in this object. + */ + values(): IterableIterator; +} + +interface MediaList { + [Symbol.iterator](): IterableIterator; +} + +interface MimeTypeArray { + [Symbol.iterator](): IterableIterator; +} + +interface NamedNodeMap { + [Symbol.iterator](): IterableIterator; +} + +interface NodeList { + [Symbol.iterator](): IterableIterator; + /** + * Returns an array of key, value pairs for every entry in the list. + */ + entries(): IterableIterator<[number, Node]>; + /** + * Returns an list of keys in the list. + */ + keys(): IterableIterator; + /** + * Returns an list of values in the list. + */ + values(): IterableIterator; +} + +interface NodeListOf { + [Symbol.iterator](): IterableIterator; + /** + * Returns an array of key, value pairs for every entry in the list. + */ + entries(): IterableIterator<[number, TNode]>; + /** + * Returns an list of keys in the list. + */ + keys(): IterableIterator; + /** + * Returns an list of values in the list. + */ + values(): IterableIterator; +} + +interface Plugin { + [Symbol.iterator](): IterableIterator; +} + +interface PluginArray { + [Symbol.iterator](): IterableIterator; +} + +interface RTCStatsReport extends ReadonlyMap { +} + +interface SVGLengthList { + [Symbol.iterator](): IterableIterator; +} + +interface SVGNumberList { + [Symbol.iterator](): IterableIterator; +} + +interface SVGStringList { + [Symbol.iterator](): IterableIterator; +} + +interface SourceBufferList { + [Symbol.iterator](): IterableIterator; +} + +interface SpeechGrammarList { + [Symbol.iterator](): IterableIterator; +} + +interface SpeechRecognitionResult { + [Symbol.iterator](): IterableIterator; +} + +interface SpeechRecognitionResultList { + [Symbol.iterator](): IterableIterator; +} + +interface StyleSheetList { + [Symbol.iterator](): IterableIterator; +} + +interface TextTrackCueList { + [Symbol.iterator](): IterableIterator; +} + +interface TextTrackList { + [Symbol.iterator](): IterableIterator; +} + +interface TouchList { + [Symbol.iterator](): IterableIterator; +} + +interface URLSearchParams { + [Symbol.iterator](): IterableIterator<[string, string]>; + /** + * Returns an array of key, value pairs for every entry in the search params. + */ + entries(): IterableIterator<[string, string]>; + /** + * Returns a list of keys in the search params. + */ + keys(): IterableIterator; + /** + * Returns a list of values in the search params. + */ + values(): IterableIterator; +} + +interface VideoTrackList { + [Symbol.iterator](): IterableIterator; +} diff --git a/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.collection.d.ts b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.collection.d.ts new file mode 100644 index 0000000..2c19919 --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.collection.d.ts @@ -0,0 +1,89 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +interface Map { + clear(): void; + delete(key: K): boolean; + forEach(callbackfn: (value: V, key: K, map: Map) => void, thisArg?: any): void; + get(key: K): V | undefined; + has(key: K): boolean; + set(key: K, value: V): this; + readonly size: number; +} + +interface MapConstructor { + new(): Map; + new(entries?: ReadonlyArray<[K, V]> | null): Map; + readonly prototype: Map; +} +declare var Map: MapConstructor; + +interface ReadonlyMap { + forEach(callbackfn: (value: V, key: K, map: ReadonlyMap) => void, thisArg?: any): void; + get(key: K): V | undefined; + has(key: K): boolean; + readonly size: number; +} + +interface WeakMap { + delete(key: K): boolean; + get(key: K): V | undefined; + has(key: K): boolean; + set(key: K, value: V): this; +} + +interface WeakMapConstructor { + new (entries?: ReadonlyArray<[K, V]> | null): WeakMap; + readonly prototype: WeakMap; +} +declare var WeakMap: WeakMapConstructor; + +interface Set { + add(value: T): this; + clear(): void; + delete(value: T): boolean; + forEach(callbackfn: (value: T, value2: T, set: Set) => void, thisArg?: any): void; + has(value: T): boolean; + readonly size: number; +} + +interface SetConstructor { + new (values?: ReadonlyArray | null): Set; + readonly prototype: Set; +} +declare var Set: SetConstructor; + +interface ReadonlySet { + forEach(callbackfn: (value: T, value2: T, set: ReadonlySet) => void, thisArg?: any): void; + has(value: T): boolean; + readonly size: number; +} + +interface WeakSet { + add(value: T): this; + delete(value: T): boolean; + has(value: T): boolean; +} + +interface WeakSetConstructor { + new (values?: ReadonlyArray | null): WeakSet; + readonly prototype: WeakSet; +} +declare var WeakSet: WeakSetConstructor; diff --git a/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.core.d.ts b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.core.d.ts new file mode 100644 index 0000000..7c43b36 --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.core.d.ts @@ -0,0 +1,511 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +interface Array { + /** + * Returns the value of the first element in the array where predicate is true, and undefined + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, find + * immediately returns that element value. Otherwise, find returns undefined. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + find(predicate: (this: void, value: T, index: number, obj: T[]) => value is S, thisArg?: any): S | undefined; + find(predicate: (value: T, index: number, obj: T[]) => boolean, thisArg?: any): T | undefined; + + /** + * Returns the index of the first element in the array where predicate is true, and -1 + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, + * findIndex immediately returns that element index. Otherwise, findIndex returns -1. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + findIndex(predicate: (value: T, index: number, obj: T[]) => boolean, thisArg?: any): number; + + /** + * Returns the this object after filling the section identified by start and end with value + * @param value value to fill array section with + * @param start index to start filling the array at. If start is negative, it is treated as + * length+start where length is the length of the array. + * @param end index to stop filling the array at. If end is negative, it is treated as + * length+end. + */ + fill(value: T, start?: number, end?: number): this; + + /** + * Returns the this object after copying a section of the array identified by start and end + * to the same array starting at position target + * @param target If target is negative, it is treated as length+target where length is the + * length of the array. + * @param start If start is negative, it is treated as length+start. If end is negative, it + * is treated as length+end. + * @param end If not specified, length of the this object is used as its default value. + */ + copyWithin(target: number, start: number, end?: number): this; +} + +interface ArrayConstructor { + /** + * Creates an array from an array-like object. + * @param arrayLike An array-like object to convert to an array. + */ + from(arrayLike: ArrayLike): T[]; + + /** + * Creates an array from an iterable object. + * @param arrayLike An array-like object to convert to an array. + * @param mapfn A mapping function to call on every element of the array. + * @param thisArg Value of 'this' used to invoke the mapfn. + */ + from(arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; + + /** + * Returns a new array from a set of elements. + * @param items A set of elements to include in the new array object. + */ + of(...items: T[]): T[]; +} + +interface DateConstructor { + new (value: number | string | Date): Date; +} + +interface Function { + /** + * Returns the name of the function. Function names are read-only and can not be changed. + */ + readonly name: string; +} + +interface Math { + /** + * Returns the number of leading zero bits in the 32-bit binary representation of a number. + * @param x A numeric expression. + */ + clz32(x: number): number; + + /** + * Returns the result of 32-bit multiplication of two numbers. + * @param x First number + * @param y Second number + */ + imul(x: number, y: number): number; + + /** + * Returns the sign of the x, indicating whether x is positive, negative or zero. + * @param x The numeric expression to test + */ + sign(x: number): number; + + /** + * Returns the base 10 logarithm of a number. + * @param x A numeric expression. + */ + log10(x: number): number; + + /** + * Returns the base 2 logarithm of a number. + * @param x A numeric expression. + */ + log2(x: number): number; + + /** + * Returns the natural logarithm of 1 + x. + * @param x A numeric expression. + */ + log1p(x: number): number; + + /** + * Returns the result of (e^x - 1), which is an implementation-dependent approximation to + * subtracting 1 from the exponential function of x (e raised to the power of x, where e + * is the base of the natural logarithms). + * @param x A numeric expression. + */ + expm1(x: number): number; + + /** + * Returns the hyperbolic cosine of a number. + * @param x A numeric expression that contains an angle measured in radians. + */ + cosh(x: number): number; + + /** + * Returns the hyperbolic sine of a number. + * @param x A numeric expression that contains an angle measured in radians. + */ + sinh(x: number): number; + + /** + * Returns the hyperbolic tangent of a number. + * @param x A numeric expression that contains an angle measured in radians. + */ + tanh(x: number): number; + + /** + * Returns the inverse hyperbolic cosine of a number. + * @param x A numeric expression that contains an angle measured in radians. + */ + acosh(x: number): number; + + /** + * Returns the inverse hyperbolic sine of a number. + * @param x A numeric expression that contains an angle measured in radians. + */ + asinh(x: number): number; + + /** + * Returns the inverse hyperbolic tangent of a number. + * @param x A numeric expression that contains an angle measured in radians. + */ + atanh(x: number): number; + + /** + * Returns the square root of the sum of squares of its arguments. + * @param values Values to compute the square root for. + * If no arguments are passed, the result is +0. + * If there is only one argument, the result is the absolute value. + * If any argument is +Infinity or -Infinity, the result is +Infinity. + * If any argument is NaN, the result is NaN. + * If all arguments are either +0 or −0, the result is +0. + */ + hypot(...values: number[]): number; + + /** + * Returns the integral part of the a numeric expression, x, removing any fractional digits. + * If x is already an integer, the result is x. + * @param x A numeric expression. + */ + trunc(x: number): number; + + /** + * Returns the nearest single precision float representation of a number. + * @param x A numeric expression. + */ + fround(x: number): number; + + /** + * Returns an implementation-dependent approximation to the cube root of number. + * @param x A numeric expression. + */ + cbrt(x: number): number; +} + +interface NumberConstructor { + /** + * The value of Number.EPSILON is the difference between 1 and the smallest value greater than 1 + * that is representable as a Number value, which is approximately: + * 2.2204460492503130808472633361816 x 10‍−‍16. + */ + readonly EPSILON: number; + + /** + * Returns true if passed value is finite. + * Unlike the global isFinite, Number.isFinite doesn't forcibly convert the parameter to a + * number. Only finite values of the type number, result in true. + * @param number A numeric value. + */ + isFinite(number: number): boolean; + + /** + * Returns true if the value passed is an integer, false otherwise. + * @param number A numeric value. + */ + isInteger(number: number): boolean; + + /** + * Returns a Boolean value that indicates whether a value is the reserved value NaN (not a + * number). Unlike the global isNaN(), Number.isNaN() doesn't forcefully convert the parameter + * to a number. Only values of the type number, that are also NaN, result in true. + * @param number A numeric value. + */ + isNaN(number: number): boolean; + + /** + * Returns true if the value passed is a safe integer. + * @param number A numeric value. + */ + isSafeInteger(number: number): boolean; + + /** + * The value of the largest integer n such that n and n + 1 are both exactly representable as + * a Number value. + * The value of Number.MAX_SAFE_INTEGER is 9007199254740991 2^53 − 1. + */ + readonly MAX_SAFE_INTEGER: number; + + /** + * The value of the smallest integer n such that n and n − 1 are both exactly representable as + * a Number value. + * The value of Number.MIN_SAFE_INTEGER is −9007199254740991 (−(2^53 − 1)). + */ + readonly MIN_SAFE_INTEGER: number; + + /** + * Converts a string to a floating-point number. + * @param string A string that contains a floating-point number. + */ + parseFloat(string: string): number; + + /** + * Converts A string to an integer. + * @param s A string to convert into a number. + * @param radix A value between 2 and 36 that specifies the base of the number in numString. + * If this argument is not supplied, strings with a prefix of '0x' are considered hexadecimal. + * All other strings are considered decimal. + */ + parseInt(string: string, radix?: number): number; +} + +interface ObjectConstructor { + /** + * Copy the values of all of the enumerable own properties from one or more source objects to a + * target object. Returns the target object. + * @param target The target object to copy to. + * @param source The source object from which to copy properties. + */ + assign(target: T, source: U): T & U; + + /** + * Copy the values of all of the enumerable own properties from one or more source objects to a + * target object. Returns the target object. + * @param target The target object to copy to. + * @param source1 The first source object from which to copy properties. + * @param source2 The second source object from which to copy properties. + */ + assign(target: T, source1: U, source2: V): T & U & V; + + /** + * Copy the values of all of the enumerable own properties from one or more source objects to a + * target object. Returns the target object. + * @param target The target object to copy to. + * @param source1 The first source object from which to copy properties. + * @param source2 The second source object from which to copy properties. + * @param source3 The third source object from which to copy properties. + */ + assign(target: T, source1: U, source2: V, source3: W): T & U & V & W; + + /** + * Copy the values of all of the enumerable own properties from one or more source objects to a + * target object. Returns the target object. + * @param target The target object to copy to. + * @param sources One or more source objects from which to copy properties + */ + assign(target: object, ...sources: any[]): any; + + /** + * Returns an array of all symbol properties found directly on object o. + * @param o Object to retrieve the symbols from. + */ + getOwnPropertySymbols(o: any): symbol[]; + + /** + * Returns true if the values are the same value, false otherwise. + * @param value1 The first value. + * @param value2 The second value. + */ + is(value1: any, value2: any): boolean; + + /** + * Sets the prototype of a specified object o to object proto or null. Returns the object o. + * @param o The object to change its prototype. + * @param proto The value of the new prototype or null. + */ + setPrototypeOf(o: any, proto: object | null): any; +} + +interface ReadonlyArray { + /** + * Returns the value of the first element in the array where predicate is true, and undefined + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, find + * immediately returns that element value. Otherwise, find returns undefined. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + find(predicate: (this: void, value: T, index: number, obj: ReadonlyArray) => value is S, thisArg?: any): S | undefined; + find(predicate: (value: T, index: number, obj: ReadonlyArray) => boolean, thisArg?: any): T | undefined; + + /** + * Returns the index of the first element in the array where predicate is true, and -1 + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, + * findIndex immediately returns that element index. Otherwise, findIndex returns -1. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + findIndex(predicate: (value: T, index: number, obj: ReadonlyArray) => boolean, thisArg?: any): number; +} + +interface RegExp { + /** + * Returns a string indicating the flags of the regular expression in question. This field is read-only. + * The characters in this string are sequenced and concatenated in the following order: + * + * - "g" for global + * - "i" for ignoreCase + * - "m" for multiline + * - "u" for unicode + * - "y" for sticky + * + * If no flags are set, the value is the empty string. + */ + readonly flags: string; + + /** + * Returns a Boolean value indicating the state of the sticky flag (y) used with a regular + * expression. Default is false. Read-only. + */ + readonly sticky: boolean; + + /** + * Returns a Boolean value indicating the state of the Unicode flag (u) used with a regular + * expression. Default is false. Read-only. + */ + readonly unicode: boolean; +} + +interface RegExpConstructor { + new (pattern: RegExp, flags?: string): RegExp; + (pattern: RegExp, flags?: string): RegExp; +} + +interface String { + /** + * Returns a nonnegative integer Number less than 1114112 (0x110000) that is the code point + * value of the UTF-16 encoded code point starting at the string element at position pos in + * the String resulting from converting this object to a String. + * If there is no element at that position, the result is undefined. + * If a valid UTF-16 surrogate pair does not begin at pos, the result is the code unit at pos. + */ + codePointAt(pos: number): number | undefined; + + /** + * Returns true if searchString appears as a substring of the result of converting this + * object to a String, at one or more positions that are + * greater than or equal to position; otherwise, returns false. + * @param searchString search string + * @param position If position is undefined, 0 is assumed, so as to search all of the String. + */ + includes(searchString: string, position?: number): boolean; + + /** + * Returns true if the sequence of elements of searchString converted to a String is the + * same as the corresponding elements of this object (converted to a String) starting at + * endPosition – length(this). Otherwise returns false. + */ + endsWith(searchString: string, endPosition?: number): boolean; + + /** + * Returns the String value result of normalizing the string into the normalization form + * named by form as specified in Unicode Standard Annex #15, Unicode Normalization Forms. + * @param form Applicable values: "NFC", "NFD", "NFKC", or "NFKD", If not specified default + * is "NFC" + */ + normalize(form: "NFC" | "NFD" | "NFKC" | "NFKD"): string; + + /** + * Returns the String value result of normalizing the string into the normalization form + * named by form as specified in Unicode Standard Annex #15, Unicode Normalization Forms. + * @param form Applicable values: "NFC", "NFD", "NFKC", or "NFKD", If not specified default + * is "NFC" + */ + normalize(form?: string): string; + + /** + * Returns a String value that is made from count copies appended together. If count is 0, + * the empty string is returned. + * @param count number of copies to append + */ + repeat(count: number): string; + + /** + * Returns true if the sequence of elements of searchString converted to a String is the + * same as the corresponding elements of this object (converted to a String) starting at + * position. Otherwise returns false. + */ + startsWith(searchString: string, position?: number): boolean; + + /** + * Returns an HTML anchor element and sets the name attribute to the text value + * @param name + */ + anchor(name: string): string; + + /** Returns a HTML element */ + big(): string; + + /** Returns a HTML element */ + blink(): string; + + /** Returns a HTML element */ + bold(): string; + + /** Returns a HTML element */ + fixed(): string; + + /** Returns a HTML element and sets the color attribute value */ + fontcolor(color: string): string; + + /** Returns a HTML element and sets the size attribute value */ + fontsize(size: number): string; + + /** Returns a HTML element and sets the size attribute value */ + fontsize(size: string): string; + + /** Returns an HTML element */ + italics(): string; + + /** Returns an HTML element and sets the href attribute value */ + link(url: string): string; + + /** Returns a HTML element */ + small(): string; + + /** Returns a HTML element */ + strike(): string; + + /** Returns a HTML element */ + sub(): string; + + /** Returns a HTML element */ + sup(): string; +} + +interface StringConstructor { + /** + * Return the String value whose elements are, in order, the elements in the List elements. + * If length is 0, the empty string is returned. + */ + fromCodePoint(...codePoints: number[]): string; + + /** + * String.raw is intended for use as a tag function of a Tagged Template String. When called + * as such the first argument will be a well formed template call site object and the rest + * parameter will contain the substitution values. + * @param template A well-formed template string call site representation. + * @param substitutions A set of substitution values. + */ + raw(template: TemplateStringsArray, ...substitutions: any[]): string; +} diff --git a/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.d.ts b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.d.ts new file mode 100644 index 0000000..80aaba0 --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.d.ts @@ -0,0 +1,30 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// diff --git a/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.generator.d.ts b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.generator.d.ts new file mode 100644 index 0000000..df6a987 --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.generator.d.ts @@ -0,0 +1,71 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +interface Generator extends Iterator { } + +interface GeneratorFunction { + /** + * Creates a new Generator object. + * @param args A list of arguments the function accepts. + */ + new (...args: any[]): Generator; + /** + * Creates a new Generator object. + * @param args A list of arguments the function accepts. + */ + (...args: any[]): Generator; + /** + * The length of the arguments. + */ + readonly length: number; + /** + * Returns the name of the function. + */ + readonly name: string; + /** + * A reference to the prototype. + */ + readonly prototype: Generator; +} + +interface GeneratorFunctionConstructor { + /** + * Creates a new Generator function. + * @param args A list of arguments the function accepts. + */ + new (...args: string[]): GeneratorFunction; + /** + * Creates a new Generator function. + * @param args A list of arguments the function accepts. + */ + (...args: string[]): GeneratorFunction; + /** + * The length of the arguments. + */ + readonly length: number; + /** + * Returns the name of the function. + */ + readonly name: string; + /** + * A reference to the prototype. + */ + readonly prototype: GeneratorFunction; +} diff --git a/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.iterable.d.ts b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.iterable.d.ts new file mode 100644 index 0000000..43b021a --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.iterable.d.ts @@ -0,0 +1,493 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +/// + +interface SymbolConstructor { + /** + * A method that returns the default iterator for an object. Called by the semantics of the + * for-of statement. + */ + readonly iterator: symbol; +} + +interface IteratorResult { + done: boolean; + value: T; +} + +interface Iterator { + next(value?: any): IteratorResult; + return?(value?: any): IteratorResult; + throw?(e?: any): IteratorResult; +} + +interface Iterable { + [Symbol.iterator](): Iterator; +} + +interface IterableIterator extends Iterator { + [Symbol.iterator](): IterableIterator; +} + +interface Array { + /** Iterator */ + [Symbol.iterator](): IterableIterator; + + /** + * Returns an iterable of key, value pairs for every entry in the array + */ + entries(): IterableIterator<[number, T]>; + + /** + * Returns an iterable of keys in the array + */ + keys(): IterableIterator; + + /** + * Returns an iterable of values in the array + */ + values(): IterableIterator; +} + +interface ArrayConstructor { + /** + * Creates an array from an iterable object. + * @param iterable An iterable object to convert to an array. + */ + from(iterable: Iterable | ArrayLike): T[]; + + /** + * Creates an array from an iterable object. + * @param iterable An iterable object to convert to an array. + * @param mapfn A mapping function to call on every element of the array. + * @param thisArg Value of 'this' used to invoke the mapfn. + */ + from(iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; +} + +interface ReadonlyArray { + /** Iterator of values in the array. */ + [Symbol.iterator](): IterableIterator; + + /** + * Returns an iterable of key, value pairs for every entry in the array + */ + entries(): IterableIterator<[number, T]>; + + /** + * Returns an iterable of keys in the array + */ + keys(): IterableIterator; + + /** + * Returns an iterable of values in the array + */ + values(): IterableIterator; +} + +interface IArguments { + /** Iterator */ + [Symbol.iterator](): IterableIterator; +} + +interface Map { + /** Returns an iterable of entries in the map. */ + [Symbol.iterator](): IterableIterator<[K, V]>; + + /** + * Returns an iterable of key, value pairs for every entry in the map. + */ + entries(): IterableIterator<[K, V]>; + + /** + * Returns an iterable of keys in the map + */ + keys(): IterableIterator; + + /** + * Returns an iterable of values in the map + */ + values(): IterableIterator; +} + +interface ReadonlyMap { + /** Returns an iterable of entries in the map. */ + [Symbol.iterator](): IterableIterator<[K, V]>; + + /** + * Returns an iterable of key, value pairs for every entry in the map. + */ + entries(): IterableIterator<[K, V]>; + + /** + * Returns an iterable of keys in the map + */ + keys(): IterableIterator; + + /** + * Returns an iterable of values in the map + */ + values(): IterableIterator; +} + +interface MapConstructor { + new (iterable: Iterable<[K, V]>): Map; +} + +interface WeakMap { } + +interface WeakMapConstructor { + new (iterable: Iterable<[K, V]>): WeakMap; +} + +interface Set { + /** Iterates over values in the set. */ + [Symbol.iterator](): IterableIterator; + /** + * Returns an iterable of [v,v] pairs for every value `v` in the set. + */ + entries(): IterableIterator<[T, T]>; + /** + * Despite its name, returns an iterable of the values in the set, + */ + keys(): IterableIterator; + + /** + * Returns an iterable of values in the set. + */ + values(): IterableIterator; +} + +interface ReadonlySet { + /** Iterates over values in the set. */ + [Symbol.iterator](): IterableIterator; + + /** + * Returns an iterable of [v,v] pairs for every value `v` in the set. + */ + entries(): IterableIterator<[T, T]>; + + /** + * Despite its name, returns an iterable of the values in the set, + */ + keys(): IterableIterator; + + /** + * Returns an iterable of values in the set. + */ + values(): IterableIterator; +} + +interface SetConstructor { + new (iterable: Iterable): Set; +} + +interface WeakSet { } + +interface WeakSetConstructor { + new (iterable: Iterable): WeakSet; +} + +interface Promise { } + +interface PromiseConstructor { + /** + * Creates a Promise that is resolved with an array of results when all of the provided Promises + * resolve, or rejected when any Promise is rejected. + * @param values An array of Promises. + * @returns A new Promise. + */ + all(values: Iterable>): Promise; + + /** + * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved + * or rejected. + * @param values An array of Promises. + * @returns A new Promise. + */ + race(values: Iterable>): Promise; +} + +declare namespace Reflect { + function enumerate(target: object): IterableIterator; +} + +interface String { + /** Iterator */ + [Symbol.iterator](): IterableIterator; +} + +interface Int8Array { + [Symbol.iterator](): IterableIterator; + /** + * Returns an array of key, value pairs for every entry in the array + */ + entries(): IterableIterator<[number, number]>; + /** + * Returns an list of keys in the array + */ + keys(): IterableIterator; + /** + * Returns an list of values in the array + */ + values(): IterableIterator; +} + +interface Int8ArrayConstructor { + new (elements: Iterable): Int8Array; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + * @param mapfn A mapping function to call on every element of the array. + * @param thisArg Value of 'this' used to invoke the mapfn. + */ + from(arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int8Array; +} + +interface Uint8Array { + [Symbol.iterator](): IterableIterator; + /** + * Returns an array of key, value pairs for every entry in the array + */ + entries(): IterableIterator<[number, number]>; + /** + * Returns an list of keys in the array + */ + keys(): IterableIterator; + /** + * Returns an list of values in the array + */ + values(): IterableIterator; +} + +interface Uint8ArrayConstructor { + new (elements: Iterable): Uint8Array; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + * @param mapfn A mapping function to call on every element of the array. + * @param thisArg Value of 'this' used to invoke the mapfn. + */ + from(arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8Array; +} + +interface Uint8ClampedArray { + [Symbol.iterator](): IterableIterator; + /** + * Returns an array of key, value pairs for every entry in the array + */ + entries(): IterableIterator<[number, number]>; + + /** + * Returns an list of keys in the array + */ + keys(): IterableIterator; + + /** + * Returns an list of values in the array + */ + values(): IterableIterator; +} + +interface Uint8ClampedArrayConstructor { + new (elements: Iterable): Uint8ClampedArray; + + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + * @param mapfn A mapping function to call on every element of the array. + * @param thisArg Value of 'this' used to invoke the mapfn. + */ + from(arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8ClampedArray; +} + +interface Int16Array { + [Symbol.iterator](): IterableIterator; + /** + * Returns an array of key, value pairs for every entry in the array + */ + entries(): IterableIterator<[number, number]>; + + /** + * Returns an list of keys in the array + */ + keys(): IterableIterator; + + /** + * Returns an list of values in the array + */ + values(): IterableIterator; +} + +interface Int16ArrayConstructor { + new (elements: Iterable): Int16Array; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + * @param mapfn A mapping function to call on every element of the array. + * @param thisArg Value of 'this' used to invoke the mapfn. + */ + from(arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int16Array; +} + +interface Uint16Array { + [Symbol.iterator](): IterableIterator; + /** + * Returns an array of key, value pairs for every entry in the array + */ + entries(): IterableIterator<[number, number]>; + /** + * Returns an list of keys in the array + */ + keys(): IterableIterator; + /** + * Returns an list of values in the array + */ + values(): IterableIterator; +} + +interface Uint16ArrayConstructor { + new (elements: Iterable): Uint16Array; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + * @param mapfn A mapping function to call on every element of the array. + * @param thisArg Value of 'this' used to invoke the mapfn. + */ + from(arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint16Array; +} + +interface Int32Array { + [Symbol.iterator](): IterableIterator; + /** + * Returns an array of key, value pairs for every entry in the array + */ + entries(): IterableIterator<[number, number]>; + /** + * Returns an list of keys in the array + */ + keys(): IterableIterator; + /** + * Returns an list of values in the array + */ + values(): IterableIterator; +} + +interface Int32ArrayConstructor { + new (elements: Iterable): Int32Array; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + * @param mapfn A mapping function to call on every element of the array. + * @param thisArg Value of 'this' used to invoke the mapfn. + */ + from(arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int32Array; +} + +interface Uint32Array { + [Symbol.iterator](): IterableIterator; + /** + * Returns an array of key, value pairs for every entry in the array + */ + entries(): IterableIterator<[number, number]>; + /** + * Returns an list of keys in the array + */ + keys(): IterableIterator; + /** + * Returns an list of values in the array + */ + values(): IterableIterator; +} + +interface Uint32ArrayConstructor { + new (elements: Iterable): Uint32Array; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + * @param mapfn A mapping function to call on every element of the array. + * @param thisArg Value of 'this' used to invoke the mapfn. + */ + from(arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint32Array; +} + +interface Float32Array { + [Symbol.iterator](): IterableIterator; + /** + * Returns an array of key, value pairs for every entry in the array + */ + entries(): IterableIterator<[number, number]>; + /** + * Returns an list of keys in the array + */ + keys(): IterableIterator; + /** + * Returns an list of values in the array + */ + values(): IterableIterator; +} + +interface Float32ArrayConstructor { + new (elements: Iterable): Float32Array; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + * @param mapfn A mapping function to call on every element of the array. + * @param thisArg Value of 'this' used to invoke the mapfn. + */ + from(arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float32Array; +} + +interface Float64Array { + [Symbol.iterator](): IterableIterator; + /** + * Returns an array of key, value pairs for every entry in the array + */ + entries(): IterableIterator<[number, number]>; + /** + * Returns an list of keys in the array + */ + keys(): IterableIterator; + /** + * Returns an list of values in the array + */ + values(): IterableIterator; +} + +interface Float64ArrayConstructor { + new (elements: Iterable): Float64Array; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + * @param mapfn A mapping function to call on every element of the array. + * @param thisArg Value of 'this' used to invoke the mapfn. + */ + from(arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float64Array; +} diff --git a/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.promise.d.ts b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.promise.d.ts new file mode 100644 index 0000000..002d691 --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.promise.d.ts @@ -0,0 +1,216 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +interface PromiseConstructor { + /** + * A reference to the prototype. + */ + readonly prototype: Promise; + + /** + * Creates a new Promise. + * @param executor A callback used to initialize the promise. This callback is passed two arguments: + * a resolve callback used to resolve the promise with a value or the result of another promise, + * and a reject callback used to reject the promise with a provided reason or error. + */ + new (executor: (resolve: (value?: T | PromiseLike) => void, reject: (reason?: any) => void) => void): Promise; + + /** + * Creates a Promise that is resolved with an array of results when all of the provided Promises + * resolve, or rejected when any Promise is rejected. + * @param values An array of Promises. + * @returns A new Promise. + */ + all(values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike , T5 | PromiseLike, T6 | PromiseLike, T7 | PromiseLike, T8 | PromiseLike, T9 | PromiseLike, T10 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]>; + + /** + * Creates a Promise that is resolved with an array of results when all of the provided Promises + * resolve, or rejected when any Promise is rejected. + * @param values An array of Promises. + * @returns A new Promise. + */ + all(values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike , T5 | PromiseLike, T6 | PromiseLike, T7 | PromiseLike, T8 | PromiseLike, T9 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6, T7, T8, T9]>; + + /** + * Creates a Promise that is resolved with an array of results when all of the provided Promises + * resolve, or rejected when any Promise is rejected. + * @param values An array of Promises. + * @returns A new Promise. + */ + all(values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike , T5 | PromiseLike, T6 | PromiseLike, T7 | PromiseLike, T8 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6, T7, T8]>; + + /** + * Creates a Promise that is resolved with an array of results when all of the provided Promises + * resolve, or rejected when any Promise is rejected. + * @param values An array of Promises. + * @returns A new Promise. + */ + all(values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike , T5 | PromiseLike, T6 | PromiseLike, T7 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6, T7]>; + + /** + * Creates a Promise that is resolved with an array of results when all of the provided Promises + * resolve, or rejected when any Promise is rejected. + * @param values An array of Promises. + * @returns A new Promise. + */ + all(values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike , T5 | PromiseLike, T6 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6]>; + + /** + * Creates a Promise that is resolved with an array of results when all of the provided Promises + * resolve, or rejected when any Promise is rejected. + * @param values An array of Promises. + * @returns A new Promise. + */ + all(values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike , T5 | PromiseLike]): Promise<[T1, T2, T3, T4, T5]>; + + /** + * Creates a Promise that is resolved with an array of results when all of the provided Promises + * resolve, or rejected when any Promise is rejected. + * @param values An array of Promises. + * @returns A new Promise. + */ + all(values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike ]): Promise<[T1, T2, T3, T4]>; + + /** + * Creates a Promise that is resolved with an array of results when all of the provided Promises + * resolve, or rejected when any Promise is rejected. + * @param values An array of Promises. + * @returns A new Promise. + */ + all(values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike]): Promise<[T1, T2, T3]>; + + /** + * Creates a Promise that is resolved with an array of results when all of the provided Promises + * resolve, or rejected when any Promise is rejected. + * @param values An array of Promises. + * @returns A new Promise. + */ + all(values: [T1 | PromiseLike, T2 | PromiseLike]): Promise<[T1, T2]>; + + /** + * Creates a Promise that is resolved with an array of results when all of the provided Promises + * resolve, or rejected when any Promise is rejected. + * @param values An array of Promises. + * @returns A new Promise. + */ + all(values: (T | PromiseLike)[]): Promise; + + /** + * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved + * or rejected. + * @param values An array of Promises. + * @returns A new Promise. + */ + race(values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike, T7 | PromiseLike, T8 | PromiseLike, T9 | PromiseLike, T10 | PromiseLike]): Promise; + + /** + * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved + * or rejected. + * @param values An array of Promises. + * @returns A new Promise. + */ + race(values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike, T7 | PromiseLike, T8 | PromiseLike, T9 | PromiseLike]): Promise; + + /** + * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved + * or rejected. + * @param values An array of Promises. + * @returns A new Promise. + */ + race(values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike, T7 | PromiseLike, T8 | PromiseLike]): Promise; + + /** + * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved + * or rejected. + * @param values An array of Promises. + * @returns A new Promise. + */ + race(values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike, T7 | PromiseLike]): Promise; + + /** + * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved + * or rejected. + * @param values An array of Promises. + * @returns A new Promise. + */ + race(values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike]): Promise; + + /** + * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved + * or rejected. + * @param values An array of Promises. + * @returns A new Promise. + */ + race(values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike]): Promise; + + /** + * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved + * or rejected. + * @param values An array of Promises. + * @returns A new Promise. + */ + race(values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike]): Promise; + + /** + * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved + * or rejected. + * @param values An array of Promises. + * @returns A new Promise. + */ + race(values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike]): Promise; + + /** + * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved + * or rejected. + * @param values An array of Promises. + * @returns A new Promise. + */ + race(values: [T1 | PromiseLike, T2 | PromiseLike]): Promise; + + /** + * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved + * or rejected. + * @param values An array of Promises. + * @returns A new Promise. + */ + race(values: (T | PromiseLike)[]): Promise; + + /** + * Creates a new rejected promise for the provided reason. + * @param reason The reason the promise was rejected. + * @returns A new rejected Promise. + */ + reject(reason?: any): Promise; + + /** + * Creates a new resolved promise for the provided value. + * @param value A promise. + * @returns A promise whose internal state matches the provided promise. + */ + resolve(value: T | PromiseLike): Promise; + + /** + * Creates a new resolved promise . + * @returns A resolved promise. + */ + resolve(): Promise; +} + +declare var Promise: PromiseConstructor; diff --git a/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.proxy.d.ts b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.proxy.d.ts new file mode 100644 index 0000000..4408970 --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.proxy.d.ts @@ -0,0 +1,42 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +interface ProxyHandler { + getPrototypeOf? (target: T): object | null; + setPrototypeOf? (target: T, v: any): boolean; + isExtensible? (target: T): boolean; + preventExtensions? (target: T): boolean; + getOwnPropertyDescriptor? (target: T, p: PropertyKey): PropertyDescriptor | undefined; + has? (target: T, p: PropertyKey): boolean; + get? (target: T, p: PropertyKey, receiver: any): any; + set? (target: T, p: PropertyKey, value: any, receiver: any): boolean; + deleteProperty? (target: T, p: PropertyKey): boolean; + defineProperty? (target: T, p: PropertyKey, attributes: PropertyDescriptor): boolean; + enumerate? (target: T): PropertyKey[]; + ownKeys? (target: T): PropertyKey[]; + apply? (target: T, thisArg: any, argArray?: any): any; + construct? (target: T, argArray: any, newTarget?: any): object; +} + +interface ProxyConstructor { + revocable(target: T, handler: ProxyHandler): { proxy: T; revoke: () => void; }; + new (target: T, handler: ProxyHandler): T; +} +declare var Proxy: ProxyConstructor; diff --git a/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.reflect.d.ts b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.reflect.d.ts new file mode 100644 index 0000000..1139f1c --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.reflect.d.ts @@ -0,0 +1,35 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +declare namespace Reflect { + function apply(target: Function, thisArgument: any, argumentsList: ArrayLike): any; + function construct(target: Function, argumentsList: ArrayLike, newTarget?: any): any; + function defineProperty(target: object, propertyKey: PropertyKey, attributes: PropertyDescriptor): boolean; + function deleteProperty(target: object, propertyKey: PropertyKey): boolean; + function get(target: object, propertyKey: PropertyKey, receiver?: any): any; + function getOwnPropertyDescriptor(target: object, propertyKey: PropertyKey): PropertyDescriptor | undefined; + function getPrototypeOf(target: object): object; + function has(target: object, propertyKey: PropertyKey): boolean; + function isExtensible(target: object): boolean; + function ownKeys(target: object): PropertyKey[]; + function preventExtensions(target: object): boolean; + function set(target: object, propertyKey: PropertyKey, value: any, receiver?: any): boolean; + function setPrototypeOf(target: object, proto: any): boolean; +} diff --git a/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.symbol.d.ts b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.symbol.d.ts new file mode 100644 index 0000000..bf09484 --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.symbol.d.ts @@ -0,0 +1,48 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +interface SymbolConstructor { + /** + * A reference to the prototype. + */ + readonly prototype: Symbol; + + /** + * Returns a new unique Symbol value. + * @param description Description of the new Symbol object. + */ + (description?: string | number): symbol; + + /** + * Returns a Symbol object from the global symbol registry matching the given key if found. + * Otherwise, returns a new symbol with this key. + * @param key key to search for. + */ + for(key: string): symbol; + + /** + * Returns a key from the global symbol registry matching the given Symbol if found. + * Otherwise, returns a undefined. + * @param sym Symbol to find the key for. + */ + keyFor(sym: symbol): string | undefined; +} + +declare var Symbol: SymbolConstructor; \ No newline at end of file diff --git a/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.symbol.wellknown.d.ts b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.symbol.wellknown.d.ts new file mode 100644 index 0000000..400f70a --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2015.symbol.wellknown.d.ts @@ -0,0 +1,318 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +/// + +interface SymbolConstructor { + /** + * A method that determines if a constructor object recognizes an object as one of the + * constructor’s instances. Called by the semantics of the instanceof operator. + */ + readonly hasInstance: symbol; + + /** + * A Boolean value that if true indicates that an object should flatten to its array elements + * by Array.prototype.concat. + */ + readonly isConcatSpreadable: symbol; + + /** + * A regular expression method that matches the regular expression against a string. Called + * by the String.prototype.match method. + */ + readonly match: symbol; + + /** + * A regular expression method that replaces matched substrings of a string. Called by the + * String.prototype.replace method. + */ + readonly replace: symbol; + + /** + * A regular expression method that returns the index within a string that matches the + * regular expression. Called by the String.prototype.search method. + */ + readonly search: symbol; + + /** + * A function valued property that is the constructor function that is used to create + * derived objects. + */ + readonly species: symbol; + + /** + * A regular expression method that splits a string at the indices that match the regular + * expression. Called by the String.prototype.split method. + */ + readonly split: symbol; + + /** + * A method that converts an object to a corresponding primitive value. + * Called by the ToPrimitive abstract operation. + */ + readonly toPrimitive: symbol; + + /** + * A String value that is used in the creation of the default string description of an object. + * Called by the built-in method Object.prototype.toString. + */ + readonly toStringTag: symbol; + + /** + * An Object whose own property names are property names that are excluded from the 'with' + * environment bindings of the associated objects. + */ + readonly unscopables: symbol; +} + +interface Symbol { + readonly [Symbol.toStringTag]: string; +} + +interface Array { + /** + * Returns an object whose properties have the value 'true' + * when they will be absent when used in a 'with' statement. + */ + [Symbol.unscopables](): { + copyWithin: boolean; + entries: boolean; + fill: boolean; + find: boolean; + findIndex: boolean; + keys: boolean; + values: boolean; + }; +} + +interface Date { + /** + * Converts a Date object to a string. + */ + [Symbol.toPrimitive](hint: "default"): string; + /** + * Converts a Date object to a string. + */ + [Symbol.toPrimitive](hint: "string"): string; + /** + * Converts a Date object to a number. + */ + [Symbol.toPrimitive](hint: "number"): number; + /** + * Converts a Date object to a string or number. + * + * @param hint The strings "number", "string", or "default" to specify what primitive to return. + * + * @throws {TypeError} If 'hint' was given something other than "number", "string", or "default". + * @returns A number if 'hint' was "number", a string if 'hint' was "string" or "default". + */ + [Symbol.toPrimitive](hint: string): string | number; +} + +interface Map { + readonly [Symbol.toStringTag]: string; +} + +interface WeakMap { + readonly [Symbol.toStringTag]: string; +} + +interface Set { + readonly [Symbol.toStringTag]: string; +} + +interface WeakSet { + readonly [Symbol.toStringTag]: string; +} + +interface JSON { + readonly [Symbol.toStringTag]: string; +} + +interface Function { + /** + * Determines whether the given value inherits from this function if this function was used + * as a constructor function. + * + * A constructor function can control which objects are recognized as its instances by + * 'instanceof' by overriding this method. + */ + [Symbol.hasInstance](value: any): boolean; +} + +interface GeneratorFunction { + readonly [Symbol.toStringTag]: string; +} + +interface Math { + readonly [Symbol.toStringTag]: string; +} + +interface Promise { + readonly [Symbol.toStringTag]: string; +} + +interface PromiseConstructor { + readonly [Symbol.species]: PromiseConstructor; +} + +interface RegExp { + /** + * Matches a string with this regular expression, and returns an array containing the results of + * that search. + * @param string A string to search within. + */ + [Symbol.match](string: string): RegExpMatchArray | null; + + /** + * Replaces text in a string, using this regular expression. + * @param string A String object or string literal whose contents matching against + * this regular expression will be replaced + * @param replaceValue A String object or string literal containing the text to replace for every + * successful match of this regular expression. + */ + [Symbol.replace](string: string, replaceValue: string): string; + + /** + * Replaces text in a string, using this regular expression. + * @param string A String object or string literal whose contents matching against + * this regular expression will be replaced + * @param replacer A function that returns the replacement text. + */ + [Symbol.replace](string: string, replacer: (substring: string, ...args: any[]) => string): string; + + /** + * Finds the position beginning first substring match in a regular expression search + * using this regular expression. + * + * @param string The string to search within. + */ + [Symbol.search](string: string): number; + + /** + * Returns an array of substrings that were delimited by strings in the original input that + * match against this regular expression. + * + * If the regular expression contains capturing parentheses, then each time this + * regular expression matches, the results (including any undefined results) of the + * capturing parentheses are spliced. + * + * @param string string value to split + * @param limit if not undefined, the output array is truncated so that it contains no more + * than 'limit' elements. + */ + [Symbol.split](string: string, limit?: number): string[]; +} + +interface RegExpConstructor { + readonly [Symbol.species]: RegExpConstructor; +} + +interface String { + /** + * Matches a string an object that supports being matched against, and returns an array containing the results of that search. + * @param matcher An object that supports being matched against. + */ + match(matcher: { [Symbol.match](string: string): RegExpMatchArray | null; }): RegExpMatchArray | null; + + /** + * Replaces text in a string, using an object that supports replacement within a string. + * @param searchValue A object can search for and replace matches within a string. + * @param replaceValue A string containing the text to replace for every successful match of searchValue in this string. + */ + replace(searchValue: { [Symbol.replace](string: string, replaceValue: string): string; }, replaceValue: string): string; + + /** + * Replaces text in a string, using an object that supports replacement within a string. + * @param searchValue A object can search for and replace matches within a string. + * @param replacer A function that returns the replacement text. + */ + replace(searchValue: { [Symbol.replace](string: string, replacer: (substring: string, ...args: any[]) => string): string; }, replacer: (substring: string, ...args: any[]) => string): string; + + /** + * Finds the first substring match in a regular expression search. + * @param searcher An object which supports searching within a string. + */ + search(searcher: { [Symbol.search](string: string): number; }): number; + + /** + * Split a string into substrings using the specified separator and return them as an array. + * @param splitter An object that can split a string. + * @param limit A value used to limit the number of elements returned in the array. + */ + split(splitter: { [Symbol.split](string: string, limit?: number): string[]; }, limit?: number): string[]; +} + +interface ArrayBuffer { + readonly [Symbol.toStringTag]: string; +} + +interface DataView { + readonly [Symbol.toStringTag]: string; +} + +interface Int8Array { + readonly [Symbol.toStringTag]: "Int8Array"; +} + +interface Uint8Array { + readonly [Symbol.toStringTag]: "UInt8Array"; +} + +interface Uint8ClampedArray { + readonly [Symbol.toStringTag]: "Uint8ClampedArray"; +} + +interface Int16Array { + readonly [Symbol.toStringTag]: "Int16Array"; +} + +interface Uint16Array { + readonly [Symbol.toStringTag]: "Uint16Array"; +} + +interface Int32Array { + readonly [Symbol.toStringTag]: "Int32Array"; +} + +interface Uint32Array { + readonly [Symbol.toStringTag]: "Uint32Array"; +} + +interface Float32Array { + readonly [Symbol.toStringTag]: "Float32Array"; +} + +interface Float64Array { + readonly [Symbol.toStringTag]: "Float64Array"; +} + +interface ArrayConstructor { + readonly [Symbol.species]: ArrayConstructor; +} +interface MapConstructor { + readonly [Symbol.species]: MapConstructor; +} +interface SetConstructor { + readonly [Symbol.species]: SetConstructor; +} +interface ArrayBufferConstructor { + readonly [Symbol.species]: ArrayBufferConstructor; +} \ No newline at end of file diff --git a/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2016.array.include.d.ts b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2016.array.include.d.ts new file mode 100644 index 0000000..734fa45 --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2016.array.include.d.ts @@ -0,0 +1,118 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +interface Array { + /** + * Determines whether an array includes a certain element, returning true or false as appropriate. + * @param searchElement The element to search for. + * @param fromIndex The position in this array at which to begin searching for searchElement. + */ + includes(searchElement: T, fromIndex?: number): boolean; +} + +interface ReadonlyArray { + /** + * Determines whether an array includes a certain element, returning true or false as appropriate. + * @param searchElement The element to search for. + * @param fromIndex The position in this array at which to begin searching for searchElement. + */ + includes(searchElement: T, fromIndex?: number): boolean; +} + +interface Int8Array { + /** + * Determines whether an array includes a certain element, returning true or false as appropriate. + * @param searchElement The element to search for. + * @param fromIndex The position in this array at which to begin searching for searchElement. + */ + includes(searchElement: number, fromIndex?: number): boolean; +} + +interface Uint8Array { + /** + * Determines whether an array includes a certain element, returning true or false as appropriate. + * @param searchElement The element to search for. + * @param fromIndex The position in this array at which to begin searching for searchElement. + */ + includes(searchElement: number, fromIndex?: number): boolean; +} + +interface Uint8ClampedArray { + /** + * Determines whether an array includes a certain element, returning true or false as appropriate. + * @param searchElement The element to search for. + * @param fromIndex The position in this array at which to begin searching for searchElement. + */ + includes(searchElement: number, fromIndex?: number): boolean; +} + +interface Int16Array { + /** + * Determines whether an array includes a certain element, returning true or false as appropriate. + * @param searchElement The element to search for. + * @param fromIndex The position in this array at which to begin searching for searchElement. + */ + includes(searchElement: number, fromIndex?: number): boolean; +} + +interface Uint16Array { + /** + * Determines whether an array includes a certain element, returning true or false as appropriate. + * @param searchElement The element to search for. + * @param fromIndex The position in this array at which to begin searching for searchElement. + */ + includes(searchElement: number, fromIndex?: number): boolean; +} + +interface Int32Array { + /** + * Determines whether an array includes a certain element, returning true or false as appropriate. + * @param searchElement The element to search for. + * @param fromIndex The position in this array at which to begin searching for searchElement. + */ + includes(searchElement: number, fromIndex?: number): boolean; +} + +interface Uint32Array { + /** + * Determines whether an array includes a certain element, returning true or false as appropriate. + * @param searchElement The element to search for. + * @param fromIndex The position in this array at which to begin searching for searchElement. + */ + includes(searchElement: number, fromIndex?: number): boolean; +} + +interface Float32Array { + /** + * Determines whether an array includes a certain element, returning true or false as appropriate. + * @param searchElement The element to search for. + * @param fromIndex The position in this array at which to begin searching for searchElement. + */ + includes(searchElement: number, fromIndex?: number): boolean; +} + +interface Float64Array { + /** + * Determines whether an array includes a certain element, returning true or false as appropriate. + * @param searchElement The element to search for. + * @param fromIndex The position in this array at which to begin searching for searchElement. + */ + includes(searchElement: number, fromIndex?: number): boolean; +} \ No newline at end of file diff --git a/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2016.d.ts b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2016.d.ts new file mode 100644 index 0000000..b2d59b8 --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2016.d.ts @@ -0,0 +1,22 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +/// +/// \ No newline at end of file diff --git a/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2016.full.d.ts b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2016.full.d.ts new file mode 100644 index 0000000..6ecfe0a --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2016.full.d.ts @@ -0,0 +1,25 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +/// +/// +/// +/// +/// \ No newline at end of file diff --git a/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2017.d.ts b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2017.d.ts new file mode 100644 index 0000000..850e81d --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2017.d.ts @@ -0,0 +1,26 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +/// +/// +/// +/// +/// +/// diff --git a/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2017.full.d.ts b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2017.full.d.ts new file mode 100644 index 0000000..46d2ee8 --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2017.full.d.ts @@ -0,0 +1,25 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +/// +/// +/// +/// +/// \ No newline at end of file diff --git a/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2017.intl.d.ts b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2017.intl.d.ts new file mode 100644 index 0000000..25b1fa5 --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2017.intl.d.ts @@ -0,0 +1,32 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +declare namespace Intl { + type DateTimeFormatPartTypes = "day" | "dayPeriod" | "era" | "hour" | "literal" | "minute" | "month" | "second" | "timeZoneName" | "weekday" | "year"; + + interface DateTimeFormatPart { + type: DateTimeFormatPartTypes; + value: string; + } + + interface DateTimeFormat { + formatToParts(date?: Date | number): DateTimeFormatPart[]; + } +} diff --git a/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2017.object.d.ts b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2017.object.d.ts new file mode 100644 index 0000000..65aa1f9 --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2017.object.d.ts @@ -0,0 +1,51 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +interface ObjectConstructor { + /** + * Returns an array of values of the enumerable properties of an object + * @param o Object that contains the properties and methods. This can be an object that you created or an existing Document Object Model (DOM) object. + */ + values(o: { [s: string]: T } | ArrayLike): T[]; + + /** + * Returns an array of values of the enumerable properties of an object + * @param o Object that contains the properties and methods. This can be an object that you created or an existing Document Object Model (DOM) object. + */ + values(o: {}): any[]; + + /** + * Returns an array of key/values of the enumerable properties of an object + * @param o Object that contains the properties and methods. This can be an object that you created or an existing Document Object Model (DOM) object. + */ + entries(o: { [s: string]: T } | ArrayLike): [string, T][]; + + /** + * Returns an array of key/values of the enumerable properties of an object + * @param o Object that contains the properties and methods. This can be an object that you created or an existing Document Object Model (DOM) object. + */ + entries(o: {}): [string, any][]; + + /** + * Returns an object containing all own property descriptors of an object + * @param o Object that contains the properties and methods. This can be an object that you created or an existing Document Object Model (DOM) object. + */ + getOwnPropertyDescriptors(o: T): {[P in keyof T]: TypedPropertyDescriptor} & { [x: string]: PropertyDescriptor }; +} diff --git a/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2017.sharedmemory.d.ts b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2017.sharedmemory.d.ts new file mode 100644 index 0000000..ef304d3 --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2017.sharedmemory.d.ts @@ -0,0 +1,138 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +/// +/// + +interface SharedArrayBuffer { + /** + * Read-only. The length of the ArrayBuffer (in bytes). + */ + readonly byteLength: number; + + /* + * The SharedArrayBuffer constructor's length property whose value is 1. + */ + length: number; + /** + * Returns a section of an SharedArrayBuffer. + */ + slice(begin: number, end?: number): SharedArrayBuffer; + readonly [Symbol.species]: SharedArrayBuffer; + readonly [Symbol.toStringTag]: "SharedArrayBuffer"; +} + +interface SharedArrayBufferConstructor { + readonly prototype: SharedArrayBuffer; + new (byteLength: number): SharedArrayBuffer; +} +declare var SharedArrayBuffer: SharedArrayBufferConstructor; + +interface ArrayBufferTypes { + SharedArrayBuffer: SharedArrayBuffer; +} + +interface Atomics { + /** + * Adds a value to the value at the given position in the array, returning the original value. + * Until this atomic operation completes, any other read or write operation against the array + * will block. + */ + add(typedArray: Int8Array | Uint8Array | Int16Array | Uint16Array | Int32Array | Uint32Array, index: number, value: number): number; + + /** + * Stores the bitwise AND of a value with the value at the given position in the array, + * returning the original value. Until this atomic operation completes, any other read or + * write operation against the array will block. + */ + and(typedArray: Int8Array | Uint8Array | Int16Array | Uint16Array | Int32Array | Uint32Array, index: number, value: number): number; + + /** + * Replaces the value at the given position in the array if the original value equals the given + * expected value, returning the original value. Until this atomic operation completes, any + * other read or write operation against the array will block. + */ + compareExchange(typedArray: Int8Array | Uint8Array | Int16Array | Uint16Array | Int32Array | Uint32Array, index: number, expectedValue: number, replacementValue: number): number; + + /** + * Replaces the value at the given position in the array, returning the original value. Until + * this atomic operation completes, any other read or write operation against the array will + * block. + */ + exchange(typedArray: Int8Array | Uint8Array | Int16Array | Uint16Array | Int32Array | Uint32Array, index: number, value: number): number; + + /** + * Returns a value indicating whether high-performance algorithms can use atomic operations + * (`true`) or must use locks (`false`) for the given number of bytes-per-element of a typed + * array. + */ + isLockFree(size: number): boolean; + + /** + * Returns the value at the given position in the array. Until this atomic operation completes, + * any other read or write operation against the array will block. + */ + load(typedArray: Int8Array | Uint8Array | Int16Array | Uint16Array | Int32Array | Uint32Array, index: number): number; + + /** + * Stores the bitwise OR of a value with the value at the given position in the array, + * returning the original value. Until this atomic operation completes, any other read or write + * operation against the array will block. + */ + or(typedArray: Int8Array | Uint8Array | Int16Array | Uint16Array | Int32Array | Uint32Array, index: number, value: number): number; + + /** + * Stores a value at the given position in the array, returning the new value. Until this + * atomic operation completes, any other read or write operation against the array will block. + */ + store(typedArray: Int8Array | Uint8Array | Int16Array | Uint16Array | Int32Array | Uint32Array, index: number, value: number): number; + + /** + * Subtracts a value from the value at the given position in the array, returning the original + * value. Until this atomic operation completes, any other read or write operation against the + * array will block. + */ + sub(typedArray: Int8Array | Uint8Array | Int16Array | Uint16Array | Int32Array | Uint32Array, index: number, value: number): number; + + /** + * If the value at the given position in the array is equal to the provided value, the current + * agent is put to sleep causing execution to suspend until the timeout expires (returning + * `"timed-out"`) or until the agent is awoken (returning `"ok"`); otherwise, returns + * `"not-equal"`. + */ + wait(typedArray: Int32Array, index: number, value: number, timeout?: number): "ok" | "not-equal" | "timed-out"; + + /** + * Wakes up sleeping agents that are waiting on the given index of the array, returning the + * number of agents that were awoken. + */ + wake(typedArray: Int32Array, index: number, count: number): number; + + /** + * Stores the bitwise XOR of a value with the value at the given position in the array, + * returning the original value. Until this atomic operation completes, any other read or write + * operation against the array will block. + */ + xor(typedArray: Int8Array | Uint8Array | Int16Array | Uint16Array | Int32Array | Uint32Array, index: number, value: number): number; + + readonly [Symbol.toStringTag]: "Atomics"; +} + +declare var Atomics: Atomics; \ No newline at end of file diff --git a/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2017.string.d.ts b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2017.string.d.ts new file mode 100644 index 0000000..dad64f0 --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2017.string.d.ts @@ -0,0 +1,47 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +interface String { + /** + * Pads the current string with a given string (possibly repeated) so that the resulting string reaches a given length. + * The padding is applied from the start (left) of the current string. + * + * @param maxLength The length of the resulting string once the current string has been padded. + * If this parameter is smaller than the current string's length, the current string will be returned as it is. + * + * @param fillString The string to pad the current string with. + * If this string is too long, it will be truncated and the left-most part will be applied. + * The default value for this parameter is " " (U+0020). + */ + padStart(maxLength: number, fillString?: string): string; + + /** + * Pads the current string with a given string (possibly repeated) so that the resulting string reaches a given length. + * The padding is applied from the end (right) of the current string. + * + * @param maxLength The length of the resulting string once the current string has been padded. + * If this parameter is smaller than the current string's length, the current string will be returned as it is. + * + * @param fillString The string to pad the current string with. + * If this string is too long, it will be truncated and the left-most part will be applied. + * The default value for this parameter is " " (U+0020). + */ + padEnd(maxLength: number, fillString?: string): string; +} diff --git a/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2017.typedarrays.d.ts b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2017.typedarrays.d.ts new file mode 100644 index 0000000..4f6f6e7 --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2017.typedarrays.d.ts @@ -0,0 +1,55 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +interface Int8ArrayConstructor { + new (): Int8Array; +} + +interface Uint8ArrayConstructor { + new (): Uint8Array; +} + +interface Uint8ClampedArrayConstructor { + new (): Uint8ClampedArray; +} + +interface Int16ArrayConstructor { + new (): Int16Array; +} + +interface Uint16ArrayConstructor { + new (): Uint16Array; +} + +interface Int32ArrayConstructor { + new (): Int32Array; +} + +interface Uint32ArrayConstructor { + new (): Uint32Array; +} + +interface Float32ArrayConstructor { + new (): Float32Array; +} + +interface Float64ArrayConstructor { + new (): Float64Array; +} diff --git a/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2018.d.ts b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2018.d.ts new file mode 100644 index 0000000..2a694e3 --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2018.d.ts @@ -0,0 +1,24 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +/// +/// +/// +/// diff --git a/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2018.full.d.ts b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2018.full.d.ts new file mode 100644 index 0000000..277d541 --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2018.full.d.ts @@ -0,0 +1,25 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +/// +/// +/// +/// +/// \ No newline at end of file diff --git a/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2018.intl.d.ts b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2018.intl.d.ts new file mode 100644 index 0000000..84e95f4 --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2018.intl.d.ts @@ -0,0 +1,51 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +declare namespace Intl { + interface PluralRulesOptions { + localeMatcher?: 'lookup' | 'best fit'; + type?: 'cardinal' | 'ordinal'; + } + + interface ResolvedPluralRulesOptions { + locale: string; + pluralCategories: string[]; + type: 'cardinal' | 'ordinal'; + minimumIntegerDigits: number; + minimumFractionDigits: number; + maximumFractionDigits: number; + minimumSignificantDigits: number; + maximumSignificantDigits: number; + } + + interface PluralRules { + resolvedOptions(): ResolvedPluralRulesOptions; + select(n: number): string; + } + + const PluralRules: { + new (locales?: string | string[], options?: PluralRulesOptions): PluralRules; + (locales?: string | string[], options?: PluralRulesOptions): PluralRules; + supportedLocalesOf( + locales: string | string[], + options?: PluralRulesOptions, + ): string[]; + }; +} diff --git a/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2018.promise.d.ts b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2018.promise.d.ts new file mode 100644 index 0000000..d73b4d4 --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2018.promise.d.ts @@ -0,0 +1,32 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +/** + * Represents the completion of an asynchronous operation + */ +interface Promise { + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): Promise +} diff --git a/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2018.regexp.d.ts b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2018.regexp.d.ts new file mode 100644 index 0000000..4ba698f --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es2018.regexp.d.ts @@ -0,0 +1,39 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +interface RegExpMatchArray { + groups?: { + [key: string]: string + } +} + +interface RegExpExecArray { + groups?: { + [key: string]: string + } +} + +interface RegExp { + /** + * Returns a Boolean value indicating the state of the dotAll flag (s) used with a regular expression. + * Default is false. Read-only. + */ + readonly dotAll: boolean; +} \ No newline at end of file diff --git a/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es5.d.ts b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es5.d.ts new file mode 100644 index 0000000..d1a9d6f --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es5.d.ts @@ -0,0 +1,4243 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +///////////////////////////// +/// ECMAScript APIs +///////////////////////////// + +declare const NaN: number; +declare const Infinity: number; + +/** + * Evaluates JavaScript code and executes it. + * @param x A String value that contains valid JavaScript code. + */ +declare function eval(x: string): any; + +/** + * Converts A string to an integer. + * @param s A string to convert into a number. + * @param radix A value between 2 and 36 that specifies the base of the number in numString. + * If this argument is not supplied, strings with a prefix of '0x' are considered hexadecimal. + * All other strings are considered decimal. + */ +declare function parseInt(s: string, radix?: number): number; + +/** + * Converts a string to a floating-point number. + * @param string A string that contains a floating-point number. + */ +declare function parseFloat(string: string): number; + +/** + * Returns a Boolean value that indicates whether a value is the reserved value NaN (not a number). + * @param number A numeric value. + */ +declare function isNaN(number: number): boolean; + +/** + * Determines whether a supplied number is finite. + * @param number Any numeric value. + */ +declare function isFinite(number: number): boolean; + +/** + * Gets the unencoded version of an encoded Uniform Resource Identifier (URI). + * @param encodedURI A value representing an encoded URI. + */ +declare function decodeURI(encodedURI: string): string; + +/** + * Gets the unencoded version of an encoded component of a Uniform Resource Identifier (URI). + * @param encodedURIComponent A value representing an encoded URI component. + */ +declare function decodeURIComponent(encodedURIComponent: string): string; + +/** + * Encodes a text string as a valid Uniform Resource Identifier (URI) + * @param uri A value representing an encoded URI. + */ +declare function encodeURI(uri: string): string; + +/** + * Encodes a text string as a valid component of a Uniform Resource Identifier (URI). + * @param uriComponent A value representing an encoded URI component. + */ +declare function encodeURIComponent(uriComponent: string): string; + +/** + * Computes a new string in which certain characters have been replaced by a hexadecimal escape sequence. + * @param string A string value + */ +declare function escape(string: string): string; + +/** + * Computes a new string in which hexadecimal escape sequences are replaced with the character that it represents. + * @param string A string value + */ +declare function unescape(string: string): string; + +interface Symbol { + /** Returns a string representation of an object. */ + toString(): string; + + /** Returns the primitive value of the specified object. */ + valueOf(): symbol; +} + +declare type PropertyKey = string | number | symbol; + +interface PropertyDescriptor { + configurable?: boolean; + enumerable?: boolean; + value?: any; + writable?: boolean; + get?(): any; + set?(v: any): void; +} + +interface PropertyDescriptorMap { + [s: string]: PropertyDescriptor; +} + +interface Object { + /** The initial value of Object.prototype.constructor is the standard built-in Object constructor. */ + constructor: Function; + + /** Returns a string representation of an object. */ + toString(): string; + + /** Returns a date converted to a string using the current locale. */ + toLocaleString(): string; + + /** Returns the primitive value of the specified object. */ + valueOf(): Object; + + /** + * Determines whether an object has a property with the specified name. + * @param v A property name. + */ + hasOwnProperty(v: PropertyKey): boolean; + + /** + * Determines whether an object exists in another object's prototype chain. + * @param v Another object whose prototype chain is to be checked. + */ + isPrototypeOf(v: Object): boolean; + + /** + * Determines whether a specified property is enumerable. + * @param v A property name. + */ + propertyIsEnumerable(v: PropertyKey): boolean; +} + +interface ObjectConstructor { + new(value?: any): Object; + (): any; + (value: any): any; + + /** A reference to the prototype for a class of objects. */ + readonly prototype: Object; + + /** + * Returns the prototype of an object. + * @param o The object that references the prototype. + */ + getPrototypeOf(o: any): any; + + /** + * Gets the own property descriptor of the specified object. + * An own property descriptor is one that is defined directly on the object and is not inherited from the object's prototype. + * @param o Object that contains the property. + * @param p Name of the property. + */ + getOwnPropertyDescriptor(o: any, p: PropertyKey): PropertyDescriptor | undefined; + + /** + * Returns the names of the own properties of an object. The own properties of an object are those that are defined directly + * on that object, and are not inherited from the object's prototype. The properties of an object include both fields (objects) and functions. + * @param o Object that contains the own properties. + */ + getOwnPropertyNames(o: any): string[]; + + /** + * Creates an object that has the specified prototype or that has null prototype. + * @param o Object to use as a prototype. May be null. + */ + create(o: object | null): any; + + /** + * Creates an object that has the specified prototype, and that optionally contains specified properties. + * @param o Object to use as a prototype. May be null + * @param properties JavaScript object that contains one or more property descriptors. + */ + create(o: object | null, properties: PropertyDescriptorMap & ThisType): any; + + /** + * Adds a property to an object, or modifies attributes of an existing property. + * @param o Object on which to add or modify the property. This can be a native JavaScript object (that is, a user-defined object or a built in object) or a DOM object. + * @param p The property name. + * @param attributes Descriptor for the property. It can be for a data property or an accessor property. + */ + defineProperty(o: any, p: PropertyKey, attributes: PropertyDescriptor & ThisType): any; + + /** + * Adds one or more properties to an object, and/or modifies attributes of existing properties. + * @param o Object on which to add or modify the properties. This can be a native JavaScript object or a DOM object. + * @param properties JavaScript object that contains one or more descriptor objects. Each descriptor object describes a data property or an accessor property. + */ + defineProperties(o: any, properties: PropertyDescriptorMap & ThisType): any; + + /** + * Prevents the modification of attributes of existing properties, and prevents the addition of new properties. + * @param o Object on which to lock the attributes. + */ + seal(o: T): T; + + /** + * Prevents the modification of existing property attributes and values, and prevents the addition of new properties. + * @param o Object on which to lock the attributes. + */ + freeze(a: T[]): ReadonlyArray; + + /** + * Prevents the modification of existing property attributes and values, and prevents the addition of new properties. + * @param o Object on which to lock the attributes. + */ + freeze(f: T): T; + + /** + * Prevents the modification of existing property attributes and values, and prevents the addition of new properties. + * @param o Object on which to lock the attributes. + */ + freeze(o: T): Readonly; + + /** + * Prevents the addition of new properties to an object. + * @param o Object to make non-extensible. + */ + preventExtensions(o: T): T; + + /** + * Returns true if existing property attributes cannot be modified in an object and new properties cannot be added to the object. + * @param o Object to test. + */ + isSealed(o: any): boolean; + + /** + * Returns true if existing property attributes and values cannot be modified in an object, and new properties cannot be added to the object. + * @param o Object to test. + */ + isFrozen(o: any): boolean; + + /** + * Returns a value that indicates whether new properties can be added to an object. + * @param o Object to test. + */ + isExtensible(o: any): boolean; + + /** + * Returns the names of the enumerable properties and methods of an object. + * @param o Object that contains the properties and methods. This can be an object that you created or an existing Document Object Model (DOM) object. + */ + keys(o: {}): string[]; +} + +/** + * Provides functionality common to all JavaScript objects. + */ +declare const Object: ObjectConstructor; + +/** + * Creates a new function. + */ +interface Function { + /** + * Calls the function, substituting the specified object for the this value of the function, and the specified array for the arguments of the function. + * @param thisArg The object to be used as the this object. + * @param argArray A set of arguments to be passed to the function. + */ + apply(this: Function, thisArg: any, argArray?: any): any; + + /** + * Calls a method of an object, substituting another object for the current object. + * @param thisArg The object to be used as the current object. + * @param argArray A list of arguments to be passed to the method. + */ + call(this: Function, thisArg: any, ...argArray: any[]): any; + + /** + * For a given function, creates a bound function that has the same body as the original function. + * The this object of the bound function is associated with the specified object, and has the specified initial parameters. + * @param thisArg An object to which the this keyword can refer inside the new function. + * @param argArray A list of arguments to be passed to the new function. + */ + bind(this: Function, thisArg: any, ...argArray: any[]): any; + + /** Returns a string representation of a function. */ + toString(): string; + + prototype: any; + readonly length: number; + + // Non-standard extensions + arguments: any; + caller: Function; +} + +interface FunctionConstructor { + /** + * Creates a new function. + * @param args A list of arguments the function accepts. + */ + new(...args: string[]): Function; + (...args: string[]): Function; + readonly prototype: Function; +} + +declare const Function: FunctionConstructor; + +interface CallableFunction extends Function { + /** + * Calls the function with the specified object as the this value and the elements of specified array as the arguments. + * @param thisArg The object to be used as the this object. + * @param args An array of argument values to be passed to the function. + */ + apply(this: (this: T) => R, thisArg: T): R; + apply(this: (this: T, ...args: A) => R, thisArg: T, args: A): R; + + /** + * Calls the function with the specified object as the this value and the specified rest arguments as the arguments. + * @param thisArg The object to be used as the this object. + * @param args Argument values to be passed to the function. + */ + call(this: (this: T, ...args: A) => R, thisArg: T, ...args: A): R; + + /** + * For a given function, creates a bound function that has the same body as the original function. + * The this object of the bound function is associated with the specified object, and has the specified initial parameters. + * @param thisArg The object to be used as the this object. + * @param args Arguments to bind to the parameters of the function. + */ + bind(this: (this: T, ...args: A) => R, thisArg: T): (...args: A) => R; + bind(this: (this: T, arg0: A0, ...args: A) => R, thisArg: T, arg0: A0): (...args: A) => R; + bind(this: (this: T, arg0: A0, arg1: A1, ...args: A) => R, thisArg: T, arg0: A0, arg1: A1): (...args: A) => R; + bind(this: (this: T, arg0: A0, arg1: A1, arg2: A2, ...args: A) => R, thisArg: T, arg0: A0, arg1: A1, arg2: A2): (...args: A) => R; + bind(this: (this: T, arg0: A0, arg1: A1, arg2: A2, arg3: A3, ...args: A) => R, thisArg: T, arg0: A0, arg1: A1, arg2: A2, arg3: A3): (...args: A) => R; + bind(this: (this: T, ...args: AX[]) => R, thisArg: T, ...args: AX[]): (...args: AX[]) => R; +} + +interface NewableFunction extends Function { + /** + * Calls the function with the specified object as the this value and the elements of specified array as the arguments. + * @param thisArg The object to be used as the this object. + * @param args An array of argument values to be passed to the function. + */ + apply(this: new () => T, thisArg: T): void; + apply(this: new (...args: A) => T, thisArg: T, args: A): void; + + /** + * Calls the function with the specified object as the this value and the specified rest arguments as the arguments. + * @param thisArg The object to be used as the this object. + * @param args Argument values to be passed to the function. + */ + call(this: new (...args: A) => T, thisArg: T, ...args: A): void; + + /** + * For a given function, creates a bound function that has the same body as the original function. + * The this object of the bound function is associated with the specified object, and has the specified initial parameters. + * @param thisArg The object to be used as the this object. + * @param args Arguments to bind to the parameters of the function. + */ + bind(this: new (...args: A) => R, thisArg: any): new (...args: A) => R; + bind(this: new (arg0: A0, ...args: A) => R, thisArg: any, arg0: A0): new (...args: A) => R; + bind(this: new (arg0: A0, arg1: A1, ...args: A) => R, thisArg: any, arg0: A0, arg1: A1): new (...args: A) => R; + bind(this: new (arg0: A0, arg1: A1, arg2: A2, ...args: A) => R, thisArg: any, arg0: A0, arg1: A1, arg2: A2): new (...args: A) => R; + bind(this: new (arg0: A0, arg1: A1, arg2: A2, arg3: A3, ...args: A) => R, thisArg: any, arg0: A0, arg1: A1, arg2: A2, arg3: A3): new (...args: A) => R; + bind(this: new (...args: AX[]) => R, thisArg: any, ...args: AX[]): new (...args: AX[]) => R; +} + +interface IArguments { + [index: number]: any; + length: number; + callee: Function; +} + +interface String { + /** Returns a string representation of a string. */ + toString(): string; + + /** + * Returns the character at the specified index. + * @param pos The zero-based index of the desired character. + */ + charAt(pos: number): string; + + /** + * Returns the Unicode value of the character at the specified location. + * @param index The zero-based index of the desired character. If there is no character at the specified index, NaN is returned. + */ + charCodeAt(index: number): number; + + /** + * Returns a string that contains the concatenation of two or more strings. + * @param strings The strings to append to the end of the string. + */ + concat(...strings: string[]): string; + + /** + * Returns the position of the first occurrence of a substring. + * @param searchString The substring to search for in the string + * @param position The index at which to begin searching the String object. If omitted, search starts at the beginning of the string. + */ + indexOf(searchString: string, position?: number): number; + + /** + * Returns the last occurrence of a substring in the string. + * @param searchString The substring to search for. + * @param position The index at which to begin searching. If omitted, the search begins at the end of the string. + */ + lastIndexOf(searchString: string, position?: number): number; + + /** + * Determines whether two strings are equivalent in the current locale. + * @param that String to compare to target string + */ + localeCompare(that: string): number; + + /** + * Matches a string with a regular expression, and returns an array containing the results of that search. + * @param regexp A variable name or string literal containing the regular expression pattern and flags. + */ + match(regexp: string | RegExp): RegExpMatchArray | null; + + /** + * Replaces text in a string, using a regular expression or search string. + * @param searchValue A string to search for. + * @param replaceValue A string containing the text to replace for every successful match of searchValue in this string. + */ + replace(searchValue: string | RegExp, replaceValue: string): string; + + /** + * Replaces text in a string, using a regular expression or search string. + * @param searchValue A string to search for. + * @param replacer A function that returns the replacement text. + */ + replace(searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; + + /** + * Finds the first substring match in a regular expression search. + * @param regexp The regular expression pattern and applicable flags. + */ + search(regexp: string | RegExp): number; + + /** + * Returns a section of a string. + * @param start The index to the beginning of the specified portion of stringObj. + * @param end The index to the end of the specified portion of stringObj. The substring includes the characters up to, but not including, the character indicated by end. + * If this value is not specified, the substring continues to the end of stringObj. + */ + slice(start?: number, end?: number): string; + + /** + * Split a string into substrings using the specified separator and return them as an array. + * @param separator A string that identifies character or characters to use in separating the string. If omitted, a single-element array containing the entire string is returned. + * @param limit A value used to limit the number of elements returned in the array. + */ + split(separator: string | RegExp, limit?: number): string[]; + + /** + * Returns the substring at the specified location within a String object. + * @param start The zero-based index number indicating the beginning of the substring. + * @param end Zero-based index number indicating the end of the substring. The substring includes the characters up to, but not including, the character indicated by end. + * If end is omitted, the characters from start through the end of the original string are returned. + */ + substring(start: number, end?: number): string; + + /** Converts all the alphabetic characters in a string to lowercase. */ + toLowerCase(): string; + + /** Converts all alphabetic characters to lowercase, taking into account the host environment's current locale. */ + toLocaleLowerCase(): string; + + /** Converts all the alphabetic characters in a string to uppercase. */ + toUpperCase(): string; + + /** Returns a string where all alphabetic characters have been converted to uppercase, taking into account the host environment's current locale. */ + toLocaleUpperCase(): string; + + /** Removes the leading and trailing white space and line terminator characters from a string. */ + trim(): string; + + /** Returns the length of a String object. */ + readonly length: number; + + // IE extensions + /** + * Gets a substring beginning at the specified location and having the specified length. + * @param from The starting position of the desired substring. The index of the first character in the string is zero. + * @param length The number of characters to include in the returned substring. + */ + substr(from: number, length?: number): string; + + /** Returns the primitive value of the specified object. */ + valueOf(): string; + + readonly [index: number]: string; +} + +interface StringConstructor { + new(value?: any): String; + (value?: any): string; + readonly prototype: String; + fromCharCode(...codes: number[]): string; +} + +/** + * Allows manipulation and formatting of text strings and determination and location of substrings within strings. + */ +declare const String: StringConstructor; + +interface Boolean { + /** Returns the primitive value of the specified object. */ + valueOf(): boolean; +} + +interface BooleanConstructor { + new(value?: any): Boolean; + (value?: any): boolean; + readonly prototype: Boolean; +} + +declare const Boolean: BooleanConstructor; + +interface Number { + /** + * Returns a string representation of an object. + * @param radix Specifies a radix for converting numeric values to strings. This value is only used for numbers. + */ + toString(radix?: number): string; + + /** + * Returns a string representing a number in fixed-point notation. + * @param fractionDigits Number of digits after the decimal point. Must be in the range 0 - 20, inclusive. + */ + toFixed(fractionDigits?: number): string; + + /** + * Returns a string containing a number represented in exponential notation. + * @param fractionDigits Number of digits after the decimal point. Must be in the range 0 - 20, inclusive. + */ + toExponential(fractionDigits?: number): string; + + /** + * Returns a string containing a number represented either in exponential or fixed-point notation with a specified number of digits. + * @param precision Number of significant digits. Must be in the range 1 - 21, inclusive. + */ + toPrecision(precision?: number): string; + + /** Returns the primitive value of the specified object. */ + valueOf(): number; +} + +interface NumberConstructor { + new(value?: any): Number; + (value?: any): number; + readonly prototype: Number; + + /** The largest number that can be represented in JavaScript. Equal to approximately 1.79E+308. */ + readonly MAX_VALUE: number; + + /** The closest number to zero that can be represented in JavaScript. Equal to approximately 5.00E-324. */ + readonly MIN_VALUE: number; + + /** + * A value that is not a number. + * In equality comparisons, NaN does not equal any value, including itself. To test whether a value is equivalent to NaN, use the isNaN function. + */ + readonly NaN: number; + + /** + * A value that is less than the largest negative number that can be represented in JavaScript. + * JavaScript displays NEGATIVE_INFINITY values as -infinity. + */ + readonly NEGATIVE_INFINITY: number; + + /** + * A value greater than the largest number that can be represented in JavaScript. + * JavaScript displays POSITIVE_INFINITY values as infinity. + */ + readonly POSITIVE_INFINITY: number; +} + +/** An object that represents a number of any kind. All JavaScript numbers are 64-bit floating-point numbers. */ +declare const Number: NumberConstructor; + +interface TemplateStringsArray extends ReadonlyArray { + readonly raw: ReadonlyArray; +} + +/** + * The type of `import.meta`. + * + * If you need to declare that a given property exists on `import.meta`, + * this type may be augmented via interface merging. + */ +interface ImportMeta { +} + +interface Math { + /** The mathematical constant e. This is Euler's number, the base of natural logarithms. */ + readonly E: number; + /** The natural logarithm of 10. */ + readonly LN10: number; + /** The natural logarithm of 2. */ + readonly LN2: number; + /** The base-2 logarithm of e. */ + readonly LOG2E: number; + /** The base-10 logarithm of e. */ + readonly LOG10E: number; + /** Pi. This is the ratio of the circumference of a circle to its diameter. */ + readonly PI: number; + /** The square root of 0.5, or, equivalently, one divided by the square root of 2. */ + readonly SQRT1_2: number; + /** The square root of 2. */ + readonly SQRT2: number; + /** + * Returns the absolute value of a number (the value without regard to whether it is positive or negative). + * For example, the absolute value of -5 is the same as the absolute value of 5. + * @param x A numeric expression for which the absolute value is needed. + */ + abs(x: number): number; + /** + * Returns the arc cosine (or inverse cosine) of a number. + * @param x A numeric expression. + */ + acos(x: number): number; + /** + * Returns the arcsine of a number. + * @param x A numeric expression. + */ + asin(x: number): number; + /** + * Returns the arctangent of a number. + * @param x A numeric expression for which the arctangent is needed. + */ + atan(x: number): number; + /** + * Returns the angle (in radians) from the X axis to a point. + * @param y A numeric expression representing the cartesian y-coordinate. + * @param x A numeric expression representing the cartesian x-coordinate. + */ + atan2(y: number, x: number): number; + /** + * Returns the smallest integer greater than or equal to its numeric argument. + * @param x A numeric expression. + */ + ceil(x: number): number; + /** + * Returns the cosine of a number. + * @param x A numeric expression that contains an angle measured in radians. + */ + cos(x: number): number; + /** + * Returns e (the base of natural logarithms) raised to a power. + * @param x A numeric expression representing the power of e. + */ + exp(x: number): number; + /** + * Returns the greatest integer less than or equal to its numeric argument. + * @param x A numeric expression. + */ + floor(x: number): number; + /** + * Returns the natural logarithm (base e) of a number. + * @param x A numeric expression. + */ + log(x: number): number; + /** + * Returns the larger of a set of supplied numeric expressions. + * @param values Numeric expressions to be evaluated. + */ + max(...values: number[]): number; + /** + * Returns the smaller of a set of supplied numeric expressions. + * @param values Numeric expressions to be evaluated. + */ + min(...values: number[]): number; + /** + * Returns the value of a base expression taken to a specified power. + * @param x The base value of the expression. + * @param y The exponent value of the expression. + */ + pow(x: number, y: number): number; + /** Returns a pseudorandom number between 0 and 1. */ + random(): number; + /** + * Returns a supplied numeric expression rounded to the nearest number. + * @param x The value to be rounded to the nearest number. + */ + round(x: number): number; + /** + * Returns the sine of a number. + * @param x A numeric expression that contains an angle measured in radians. + */ + sin(x: number): number; + /** + * Returns the square root of a number. + * @param x A numeric expression. + */ + sqrt(x: number): number; + /** + * Returns the tangent of a number. + * @param x A numeric expression that contains an angle measured in radians. + */ + tan(x: number): number; +} +/** An intrinsic object that provides basic mathematics functionality and constants. */ +declare const Math: Math; + +/** Enables basic storage and retrieval of dates and times. */ +interface Date { + /** Returns a string representation of a date. The format of the string depends on the locale. */ + toString(): string; + /** Returns a date as a string value. */ + toDateString(): string; + /** Returns a time as a string value. */ + toTimeString(): string; + /** Returns a value as a string value appropriate to the host environment's current locale. */ + toLocaleString(): string; + /** Returns a date as a string value appropriate to the host environment's current locale. */ + toLocaleDateString(): string; + /** Returns a time as a string value appropriate to the host environment's current locale. */ + toLocaleTimeString(): string; + /** Returns the stored time value in milliseconds since midnight, January 1, 1970 UTC. */ + valueOf(): number; + /** Gets the time value in milliseconds. */ + getTime(): number; + /** Gets the year, using local time. */ + getFullYear(): number; + /** Gets the year using Universal Coordinated Time (UTC). */ + getUTCFullYear(): number; + /** Gets the month, using local time. */ + getMonth(): number; + /** Gets the month of a Date object using Universal Coordinated Time (UTC). */ + getUTCMonth(): number; + /** Gets the day-of-the-month, using local time. */ + getDate(): number; + /** Gets the day-of-the-month, using Universal Coordinated Time (UTC). */ + getUTCDate(): number; + /** Gets the day of the week, using local time. */ + getDay(): number; + /** Gets the day of the week using Universal Coordinated Time (UTC). */ + getUTCDay(): number; + /** Gets the hours in a date, using local time. */ + getHours(): number; + /** Gets the hours value in a Date object using Universal Coordinated Time (UTC). */ + getUTCHours(): number; + /** Gets the minutes of a Date object, using local time. */ + getMinutes(): number; + /** Gets the minutes of a Date object using Universal Coordinated Time (UTC). */ + getUTCMinutes(): number; + /** Gets the seconds of a Date object, using local time. */ + getSeconds(): number; + /** Gets the seconds of a Date object using Universal Coordinated Time (UTC). */ + getUTCSeconds(): number; + /** Gets the milliseconds of a Date, using local time. */ + getMilliseconds(): number; + /** Gets the milliseconds of a Date object using Universal Coordinated Time (UTC). */ + getUTCMilliseconds(): number; + /** Gets the difference in minutes between the time on the local computer and Universal Coordinated Time (UTC). */ + getTimezoneOffset(): number; + /** + * Sets the date and time value in the Date object. + * @param time A numeric value representing the number of elapsed milliseconds since midnight, January 1, 1970 GMT. + */ + setTime(time: number): number; + /** + * Sets the milliseconds value in the Date object using local time. + * @param ms A numeric value equal to the millisecond value. + */ + setMilliseconds(ms: number): number; + /** + * Sets the milliseconds value in the Date object using Universal Coordinated Time (UTC). + * @param ms A numeric value equal to the millisecond value. + */ + setUTCMilliseconds(ms: number): number; + + /** + * Sets the seconds value in the Date object using local time. + * @param sec A numeric value equal to the seconds value. + * @param ms A numeric value equal to the milliseconds value. + */ + setSeconds(sec: number, ms?: number): number; + /** + * Sets the seconds value in the Date object using Universal Coordinated Time (UTC). + * @param sec A numeric value equal to the seconds value. + * @param ms A numeric value equal to the milliseconds value. + */ + setUTCSeconds(sec: number, ms?: number): number; + /** + * Sets the minutes value in the Date object using local time. + * @param min A numeric value equal to the minutes value. + * @param sec A numeric value equal to the seconds value. + * @param ms A numeric value equal to the milliseconds value. + */ + setMinutes(min: number, sec?: number, ms?: number): number; + /** + * Sets the minutes value in the Date object using Universal Coordinated Time (UTC). + * @param min A numeric value equal to the minutes value. + * @param sec A numeric value equal to the seconds value. + * @param ms A numeric value equal to the milliseconds value. + */ + setUTCMinutes(min: number, sec?: number, ms?: number): number; + /** + * Sets the hour value in the Date object using local time. + * @param hours A numeric value equal to the hours value. + * @param min A numeric value equal to the minutes value. + * @param sec A numeric value equal to the seconds value. + * @param ms A numeric value equal to the milliseconds value. + */ + setHours(hours: number, min?: number, sec?: number, ms?: number): number; + /** + * Sets the hours value in the Date object using Universal Coordinated Time (UTC). + * @param hours A numeric value equal to the hours value. + * @param min A numeric value equal to the minutes value. + * @param sec A numeric value equal to the seconds value. + * @param ms A numeric value equal to the milliseconds value. + */ + setUTCHours(hours: number, min?: number, sec?: number, ms?: number): number; + /** + * Sets the numeric day-of-the-month value of the Date object using local time. + * @param date A numeric value equal to the day of the month. + */ + setDate(date: number): number; + /** + * Sets the numeric day of the month in the Date object using Universal Coordinated Time (UTC). + * @param date A numeric value equal to the day of the month. + */ + setUTCDate(date: number): number; + /** + * Sets the month value in the Date object using local time. + * @param month A numeric value equal to the month. The value for January is 0, and other month values follow consecutively. + * @param date A numeric value representing the day of the month. If this value is not supplied, the value from a call to the getDate method is used. + */ + setMonth(month: number, date?: number): number; + /** + * Sets the month value in the Date object using Universal Coordinated Time (UTC). + * @param month A numeric value equal to the month. The value for January is 0, and other month values follow consecutively. + * @param date A numeric value representing the day of the month. If it is not supplied, the value from a call to the getUTCDate method is used. + */ + setUTCMonth(month: number, date?: number): number; + /** + * Sets the year of the Date object using local time. + * @param year A numeric value for the year. + * @param month A zero-based numeric value for the month (0 for January, 11 for December). Must be specified if numDate is specified. + * @param date A numeric value equal for the day of the month. + */ + setFullYear(year: number, month?: number, date?: number): number; + /** + * Sets the year value in the Date object using Universal Coordinated Time (UTC). + * @param year A numeric value equal to the year. + * @param month A numeric value equal to the month. The value for January is 0, and other month values follow consecutively. Must be supplied if numDate is supplied. + * @param date A numeric value equal to the day of the month. + */ + setUTCFullYear(year: number, month?: number, date?: number): number; + /** Returns a date converted to a string using Universal Coordinated Time (UTC). */ + toUTCString(): string; + /** Returns a date as a string value in ISO format. */ + toISOString(): string; + /** Used by the JSON.stringify method to enable the transformation of an object's data for JavaScript Object Notation (JSON) serialization. */ + toJSON(key?: any): string; +} + +interface DateConstructor { + new(): Date; + new(value: number | string): Date; + new(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; + (): string; + readonly prototype: Date; + /** + * Parses a string containing a date, and returns the number of milliseconds between that date and midnight, January 1, 1970. + * @param s A date string + */ + parse(s: string): number; + /** + * Returns the number of milliseconds between midnight, January 1, 1970 Universal Coordinated Time (UTC) (or GMT) and the specified date. + * @param year The full year designation is required for cross-century date accuracy. If year is between 0 and 99 is used, then year is assumed to be 1900 + year. + * @param month The month as an number between 0 and 11 (January to December). + * @param date The date as an number between 1 and 31. + * @param hours Must be supplied if minutes is supplied. An number from 0 to 23 (midnight to 11pm) that specifies the hour. + * @param minutes Must be supplied if seconds is supplied. An number from 0 to 59 that specifies the minutes. + * @param seconds Must be supplied if milliseconds is supplied. An number from 0 to 59 that specifies the seconds. + * @param ms An number from 0 to 999 that specifies the milliseconds. + */ + UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; + now(): number; +} + +declare const Date: DateConstructor; + +interface RegExpMatchArray extends Array { + index?: number; + input?: string; +} + +interface RegExpExecArray extends Array { + index: number; + input: string; +} + +interface RegExp { + /** + * Executes a search on a string using a regular expression pattern, and returns an array containing the results of that search. + * @param string The String object or string literal on which to perform the search. + */ + exec(string: string): RegExpExecArray | null; + + /** + * Returns a Boolean value that indicates whether or not a pattern exists in a searched string. + * @param string String on which to perform the search. + */ + test(string: string): boolean; + + /** Returns a copy of the text of the regular expression pattern. Read-only. The regExp argument is a Regular expression object. It can be a variable name or a literal. */ + readonly source: string; + + /** Returns a Boolean value indicating the state of the global flag (g) used with a regular expression. Default is false. Read-only. */ + readonly global: boolean; + + /** Returns a Boolean value indicating the state of the ignoreCase flag (i) used with a regular expression. Default is false. Read-only. */ + readonly ignoreCase: boolean; + + /** Returns a Boolean value indicating the state of the multiline flag (m) used with a regular expression. Default is false. Read-only. */ + readonly multiline: boolean; + + lastIndex: number; + + // Non-standard extensions + compile(): this; +} + +interface RegExpConstructor { + new(pattern: RegExp | string): RegExp; + new(pattern: string, flags?: string): RegExp; + (pattern: RegExp | string): RegExp; + (pattern: string, flags?: string): RegExp; + readonly prototype: RegExp; + + // Non-standard extensions + $1: string; + $2: string; + $3: string; + $4: string; + $5: string; + $6: string; + $7: string; + $8: string; + $9: string; + lastMatch: string; +} + +declare const RegExp: RegExpConstructor; + +interface Error { + name: string; + message: string; + stack?: string; +} + +interface ErrorConstructor { + new(message?: string): Error; + (message?: string): Error; + readonly prototype: Error; +} + +declare const Error: ErrorConstructor; + +interface EvalError extends Error { +} + +interface EvalErrorConstructor { + new(message?: string): EvalError; + (message?: string): EvalError; + readonly prototype: EvalError; +} + +declare const EvalError: EvalErrorConstructor; + +interface RangeError extends Error { +} + +interface RangeErrorConstructor { + new(message?: string): RangeError; + (message?: string): RangeError; + readonly prototype: RangeError; +} + +declare const RangeError: RangeErrorConstructor; + +interface ReferenceError extends Error { +} + +interface ReferenceErrorConstructor { + new(message?: string): ReferenceError; + (message?: string): ReferenceError; + readonly prototype: ReferenceError; +} + +declare const ReferenceError: ReferenceErrorConstructor; + +interface SyntaxError extends Error { +} + +interface SyntaxErrorConstructor { + new(message?: string): SyntaxError; + (message?: string): SyntaxError; + readonly prototype: SyntaxError; +} + +declare const SyntaxError: SyntaxErrorConstructor; + +interface TypeError extends Error { +} + +interface TypeErrorConstructor { + new(message?: string): TypeError; + (message?: string): TypeError; + readonly prototype: TypeError; +} + +declare const TypeError: TypeErrorConstructor; + +interface URIError extends Error { +} + +interface URIErrorConstructor { + new(message?: string): URIError; + (message?: string): URIError; + readonly prototype: URIError; +} + +declare const URIError: URIErrorConstructor; + +interface JSON { + /** + * Converts a JavaScript Object Notation (JSON) string into an object. + * @param text A valid JSON string. + * @param reviver A function that transforms the results. This function is called for each member of the object. + * If a member contains nested objects, the nested objects are transformed before the parent object is. + */ + parse(text: string, reviver?: (key: any, value: any) => any): any; + /** + * Converts a JavaScript value to a JavaScript Object Notation (JSON) string. + * @param value A JavaScript value, usually an object or array, to be converted. + * @param replacer A function that transforms the results. + * @param space Adds indentation, white space, and line break characters to the return-value JSON text to make it easier to read. + */ + stringify(value: any, replacer?: (key: string, value: any) => any, space?: string | number): string; + /** + * Converts a JavaScript value to a JavaScript Object Notation (JSON) string. + * @param value A JavaScript value, usually an object or array, to be converted. + * @param replacer An array of strings and numbers that acts as a approved list for selecting the object properties that will be stringified. + * @param space Adds indentation, white space, and line break characters to the return-value JSON text to make it easier to read. + */ + stringify(value: any, replacer?: (number | string)[] | null, space?: string | number): string; +} + +/** + * An intrinsic object that provides functions to convert JavaScript values to and from the JavaScript Object Notation (JSON) format. + */ +declare const JSON: JSON; + + +///////////////////////////// +/// ECMAScript Array API (specially handled by compiler) +///////////////////////////// + +interface ReadonlyArray { + /** + * Gets the length of the array. This is a number one higher than the highest element defined in an array. + */ + readonly length: number; + /** + * Returns a string representation of an array. + */ + toString(): string; + /** + * Returns a string representation of an array. The elements are converted to string using their toLocalString methods. + */ + toLocaleString(): string; + /** + * Combines two or more arrays. + * @param items Additional items to add to the end of array1. + */ + concat(...items: ConcatArray[]): T[]; + /** + * Combines two or more arrays. + * @param items Additional items to add to the end of array1. + */ + concat(...items: (T | ConcatArray)[]): T[]; + /** + * Adds all the elements of an array separated by the specified separator string. + * @param separator A string used to separate one element of an array from the next in the resulting String. If omitted, the array elements are separated with a comma. + */ + join(separator?: string): string; + /** + * Returns a section of an array. + * @param start The beginning of the specified portion of the array. + * @param end The end of the specified portion of the array. + */ + slice(start?: number, end?: number): T[]; + /** + * Returns the index of the first occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the search starts at index 0. + */ + indexOf(searchElement: T, fromIndex?: number): number; + /** + * Returns the index of the last occurrence of a specified value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the search starts at the last index in the array. + */ + lastIndexOf(searchElement: T, fromIndex?: number): number; + /** + * Determines whether all the members of an array satisfy the specified test. + * @param callbackfn A function that accepts up to three arguments. The every method calls the callbackfn function for each element in array1 until the callbackfn returns false, or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. + */ + every(callbackfn: (value: T, index: number, array: ReadonlyArray) => boolean, thisArg?: any): boolean; + /** + * Determines whether the specified callback function returns true for any element of an array. + * @param callbackfn A function that accepts up to three arguments. The some method calls the callbackfn function for each element in array1 until the callbackfn returns true, or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. + */ + some(callbackfn: (value: T, index: number, array: ReadonlyArray) => boolean, thisArg?: any): boolean; + /** + * Performs the specified action for each element in an array. + * @param callbackfn A function that accepts up to three arguments. forEach calls the callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. + */ + forEach(callbackfn: (value: T, index: number, array: ReadonlyArray) => void, thisArg?: any): void; + /** + * Calls a defined callback function on each element of an array, and returns an array that contains the results. + * @param callbackfn A function that accepts up to three arguments. The map method calls the callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. + */ + map(callbackfn: (value: T, index: number, array: ReadonlyArray) => U, thisArg?: any): U[]; + /** + * Returns the elements of an array that meet the condition specified in a callback function. + * @param callbackfn A function that accepts up to three arguments. The filter method calls the callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. + */ + filter(callbackfn: (value: T, index: number, array: ReadonlyArray) => value is S, thisArg?: any): S[]; + /** + * Returns the elements of an array that meet the condition specified in a callback function. + * @param callbackfn A function that accepts up to three arguments. The filter method calls the callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. + */ + filter(callbackfn: (value: T, index: number, array: ReadonlyArray) => any, thisArg?: any): T[]; + /** + * Calls the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value. + */ + reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: ReadonlyArray) => T): T; + reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: ReadonlyArray) => T, initialValue: T): T; + /** + * Calls the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value. + */ + reduce(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: ReadonlyArray) => U, initialValue: U): U; + /** + * Calls the specified callback function for all the elements in an array, in descending order. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value. + */ + reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: ReadonlyArray) => T): T; + reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: ReadonlyArray) => T, initialValue: T): T; + /** + * Calls the specified callback function for all the elements in an array, in descending order. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value. + */ + reduceRight(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: ReadonlyArray) => U, initialValue: U): U; + + readonly [n: number]: T; +} + +interface ConcatArray { + readonly length: number; + readonly [n: number]: T; + join(separator?: string): string; + slice(start?: number, end?: number): T[]; +} + +interface Array { + /** + * Gets or sets the length of the array. This is a number one higher than the highest element defined in an array. + */ + length: number; + /** + * Returns a string representation of an array. + */ + toString(): string; + /** + * Returns a string representation of an array. The elements are converted to string using their toLocalString methods. + */ + toLocaleString(): string; + /** + * Removes the last element from an array and returns it. + */ + pop(): T | undefined; + /** + * Appends new elements to an array, and returns the new length of the array. + * @param items New elements of the Array. + */ + push(...items: T[]): number; + /** + * Combines two or more arrays. + * @param items Additional items to add to the end of array1. + */ + concat(...items: ConcatArray[]): T[]; + /** + * Combines two or more arrays. + * @param items Additional items to add to the end of array1. + */ + concat(...items: (T | ConcatArray)[]): T[]; + /** + * Adds all the elements of an array separated by the specified separator string. + * @param separator A string used to separate one element of an array from the next in the resulting String. If omitted, the array elements are separated with a comma. + */ + join(separator?: string): string; + /** + * Reverses the elements in an Array. + */ + reverse(): T[]; + /** + * Removes the first element from an array and returns it. + */ + shift(): T | undefined; + /** + * Returns a section of an array. + * @param start The beginning of the specified portion of the array. + * @param end The end of the specified portion of the array. + */ + slice(start?: number, end?: number): T[]; + /** + * Sorts an array. + * @param compareFn The name of the function used to determine the order of the elements. If omitted, the elements are sorted in ascending, ASCII character order. + */ + sort(compareFn?: (a: T, b: T) => number): this; + /** + * Removes elements from an array and, if necessary, inserts new elements in their place, returning the deleted elements. + * @param start The zero-based location in the array from which to start removing elements. + * @param deleteCount The number of elements to remove. + */ + splice(start: number, deleteCount?: number): T[]; + /** + * Removes elements from an array and, if necessary, inserts new elements in their place, returning the deleted elements. + * @param start The zero-based location in the array from which to start removing elements. + * @param deleteCount The number of elements to remove. + * @param items Elements to insert into the array in place of the deleted elements. + */ + splice(start: number, deleteCount: number, ...items: T[]): T[]; + /** + * Inserts new elements at the start of an array. + * @param items Elements to insert at the start of the Array. + */ + unshift(...items: T[]): number; + /** + * Returns the index of the first occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the search starts at index 0. + */ + indexOf(searchElement: T, fromIndex?: number): number; + /** + * Returns the index of the last occurrence of a specified value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the search starts at the last index in the array. + */ + lastIndexOf(searchElement: T, fromIndex?: number): number; + /** + * Determines whether all the members of an array satisfy the specified test. + * @param callbackfn A function that accepts up to three arguments. The every method calls the callbackfn function for each element in array1 until the callbackfn returns false, or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. + */ + every(callbackfn: (value: T, index: number, array: T[]) => boolean, thisArg?: any): boolean; + /** + * Determines whether the specified callback function returns true for any element of an array. + * @param callbackfn A function that accepts up to three arguments. The some method calls the callbackfn function for each element in array1 until the callbackfn returns true, or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. + */ + some(callbackfn: (value: T, index: number, array: T[]) => boolean, thisArg?: any): boolean; + /** + * Performs the specified action for each element in an array. + * @param callbackfn A function that accepts up to three arguments. forEach calls the callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. + */ + forEach(callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any): void; + /** + * Calls a defined callback function on each element of an array, and returns an array that contains the results. + * @param callbackfn A function that accepts up to three arguments. The map method calls the callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. + */ + map(callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any): U[]; + /** + * Returns the elements of an array that meet the condition specified in a callback function. + * @param callbackfn A function that accepts up to three arguments. The filter method calls the callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. + */ + filter(callbackfn: (value: T, index: number, array: T[]) => value is S, thisArg?: any): S[]; + /** + * Returns the elements of an array that meet the condition specified in a callback function. + * @param callbackfn A function that accepts up to three arguments. The filter method calls the callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. + */ + filter(callbackfn: (value: T, index: number, array: T[]) => any, thisArg?: any): T[]; + /** + * Calls the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value. + */ + reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; + reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; + /** + * Calls the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value. + */ + reduce(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; + /** + * Calls the specified callback function for all the elements in an array, in descending order. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value. + */ + reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; + reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; + /** + * Calls the specified callback function for all the elements in an array, in descending order. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value. + */ + reduceRight(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; + + [n: number]: T; +} + +interface ArrayConstructor { + new(arrayLength?: number): any[]; + new (arrayLength: number): T[]; + new (...items: T[]): T[]; + (arrayLength?: number): any[]; + (arrayLength: number): T[]; + (...items: T[]): T[]; + isArray(arg: any): arg is Array; + readonly prototype: Array; +} + +declare const Array: ArrayConstructor; + +interface TypedPropertyDescriptor { + enumerable?: boolean; + configurable?: boolean; + writable?: boolean; + value?: T; + get?: () => T; + set?: (value: T) => void; +} + +declare type ClassDecorator = (target: TFunction) => TFunction | void; +declare type PropertyDecorator = (target: Object, propertyKey: string | symbol) => void; +declare type MethodDecorator = (target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor | void; +declare type ParameterDecorator = (target: Object, propertyKey: string | symbol, parameterIndex: number) => void; + +declare type PromiseConstructorLike = new (executor: (resolve: (value?: T | PromiseLike) => void, reject: (reason?: any) => void) => void) => PromiseLike; + +interface PromiseLike { + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): PromiseLike; +} + +/** + * Represents the completion of an asynchronous operation + */ +interface Promise { + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; + + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): Promise; +} + +interface ArrayLike { + readonly length: number; + readonly [n: number]: T; +} + +/** + * Make all properties in T optional + */ +type Partial = { + [P in keyof T]?: T[P]; +}; + +/** + * Make all properties in T required + */ +type Required = { + [P in keyof T]-?: T[P]; +}; + +/** + * Make all properties in T readonly + */ +type Readonly = { + readonly [P in keyof T]: T[P]; +}; + +/** + * From T, pick a set of properties whose keys are in the union K + */ +type Pick = { + [P in K]: T[P]; +}; + +/** + * Construct a type with a set of properties K of type T + */ +type Record = { + [P in K]: T; +}; + +/** + * Exclude from T those types that are assignable to U + */ +type Exclude = T extends U ? never : T; + +/** + * Extract from T those types that are assignable to U + */ +type Extract = T extends U ? T : never; + +/** + * Exclude null and undefined from T + */ +type NonNullable = T extends null | undefined ? never : T; + +/** + * Obtain the parameters of a function type in a tuple + */ +type Parameters any> = T extends (...args: infer P) => any ? P : never; + +/** + * Obtain the parameters of a constructor function type in a tuple + */ +type ConstructorParameters any> = T extends new (...args: infer P) => any ? P : never; + +/** + * Obtain the return type of a function type + */ +type ReturnType any> = T extends (...args: any[]) => infer R ? R : any; + +/** + * Obtain the return type of a constructor function type + */ +type InstanceType any> = T extends new (...args: any[]) => infer R ? R : any; + +/** + * Marker for contextual 'this' type + */ +interface ThisType { } + +/** + * Represents a raw buffer of binary data, which is used to store data for the + * different typed arrays. ArrayBuffers cannot be read from or written to directly, + * but can be passed to a typed array or DataView Object to interpret the raw + * buffer as needed. + */ +interface ArrayBuffer { + /** + * Read-only. The length of the ArrayBuffer (in bytes). + */ + readonly byteLength: number; + + /** + * Returns a section of an ArrayBuffer. + */ + slice(begin: number, end?: number): ArrayBuffer; +} + +/** + * Allowed ArrayBuffer types for the buffer of an ArrayBufferView and related Typed Arrays. + */ +interface ArrayBufferTypes { + ArrayBuffer: ArrayBuffer; +} +type ArrayBufferLike = ArrayBufferTypes[keyof ArrayBufferTypes]; + +interface ArrayBufferConstructor { + readonly prototype: ArrayBuffer; + new(byteLength: number): ArrayBuffer; + isView(arg: any): arg is ArrayBufferView; +} +declare const ArrayBuffer: ArrayBufferConstructor; + +interface ArrayBufferView { + /** + * The ArrayBuffer instance referenced by the array. + */ + buffer: ArrayBufferLike; + + /** + * The length in bytes of the array. + */ + byteLength: number; + + /** + * The offset in bytes of the array. + */ + byteOffset: number; +} + +interface DataView { + readonly buffer: ArrayBuffer; + readonly byteLength: number; + readonly byteOffset: number; + /** + * Gets the Float32 value at the specified byte offset from the start of the view. There is + * no alignment constraint; multi-byte values may be fetched from any offset. + * @param byteOffset The place in the buffer at which the value should be retrieved. + */ + getFloat32(byteOffset: number, littleEndian?: boolean): number; + + /** + * Gets the Float64 value at the specified byte offset from the start of the view. There is + * no alignment constraint; multi-byte values may be fetched from any offset. + * @param byteOffset The place in the buffer at which the value should be retrieved. + */ + getFloat64(byteOffset: number, littleEndian?: boolean): number; + + /** + * Gets the Int8 value at the specified byte offset from the start of the view. There is + * no alignment constraint; multi-byte values may be fetched from any offset. + * @param byteOffset The place in the buffer at which the value should be retrieved. + */ + getInt8(byteOffset: number): number; + + /** + * Gets the Int16 value at the specified byte offset from the start of the view. There is + * no alignment constraint; multi-byte values may be fetched from any offset. + * @param byteOffset The place in the buffer at which the value should be retrieved. + */ + getInt16(byteOffset: number, littleEndian?: boolean): number; + /** + * Gets the Int32 value at the specified byte offset from the start of the view. There is + * no alignment constraint; multi-byte values may be fetched from any offset. + * @param byteOffset The place in the buffer at which the value should be retrieved. + */ + getInt32(byteOffset: number, littleEndian?: boolean): number; + + /** + * Gets the Uint8 value at the specified byte offset from the start of the view. There is + * no alignment constraint; multi-byte values may be fetched from any offset. + * @param byteOffset The place in the buffer at which the value should be retrieved. + */ + getUint8(byteOffset: number): number; + + /** + * Gets the Uint16 value at the specified byte offset from the start of the view. There is + * no alignment constraint; multi-byte values may be fetched from any offset. + * @param byteOffset The place in the buffer at which the value should be retrieved. + */ + getUint16(byteOffset: number, littleEndian?: boolean): number; + + /** + * Gets the Uint32 value at the specified byte offset from the start of the view. There is + * no alignment constraint; multi-byte values may be fetched from any offset. + * @param byteOffset The place in the buffer at which the value should be retrieved. + */ + getUint32(byteOffset: number, littleEndian?: boolean): number; + + /** + * Stores an Float32 value at the specified byte offset from the start of the view. + * @param byteOffset The place in the buffer at which the value should be set. + * @param value The value to set. + * @param littleEndian If false or undefined, a big-endian value should be written, + * otherwise a little-endian value should be written. + */ + setFloat32(byteOffset: number, value: number, littleEndian?: boolean): void; + + /** + * Stores an Float64 value at the specified byte offset from the start of the view. + * @param byteOffset The place in the buffer at which the value should be set. + * @param value The value to set. + * @param littleEndian If false or undefined, a big-endian value should be written, + * otherwise a little-endian value should be written. + */ + setFloat64(byteOffset: number, value: number, littleEndian?: boolean): void; + + /** + * Stores an Int8 value at the specified byte offset from the start of the view. + * @param byteOffset The place in the buffer at which the value should be set. + * @param value The value to set. + */ + setInt8(byteOffset: number, value: number): void; + + /** + * Stores an Int16 value at the specified byte offset from the start of the view. + * @param byteOffset The place in the buffer at which the value should be set. + * @param value The value to set. + * @param littleEndian If false or undefined, a big-endian value should be written, + * otherwise a little-endian value should be written. + */ + setInt16(byteOffset: number, value: number, littleEndian?: boolean): void; + + /** + * Stores an Int32 value at the specified byte offset from the start of the view. + * @param byteOffset The place in the buffer at which the value should be set. + * @param value The value to set. + * @param littleEndian If false or undefined, a big-endian value should be written, + * otherwise a little-endian value should be written. + */ + setInt32(byteOffset: number, value: number, littleEndian?: boolean): void; + + /** + * Stores an Uint8 value at the specified byte offset from the start of the view. + * @param byteOffset The place in the buffer at which the value should be set. + * @param value The value to set. + */ + setUint8(byteOffset: number, value: number): void; + + /** + * Stores an Uint16 value at the specified byte offset from the start of the view. + * @param byteOffset The place in the buffer at which the value should be set. + * @param value The value to set. + * @param littleEndian If false or undefined, a big-endian value should be written, + * otherwise a little-endian value should be written. + */ + setUint16(byteOffset: number, value: number, littleEndian?: boolean): void; + + /** + * Stores an Uint32 value at the specified byte offset from the start of the view. + * @param byteOffset The place in the buffer at which the value should be set. + * @param value The value to set. + * @param littleEndian If false or undefined, a big-endian value should be written, + * otherwise a little-endian value should be written. + */ + setUint32(byteOffset: number, value: number, littleEndian?: boolean): void; +} + +interface DataViewConstructor { + new(buffer: ArrayBufferLike, byteOffset?: number, byteLength?: number): DataView; +} +declare const DataView: DataViewConstructor; + +/** + * A typed array of 8-bit integer values. The contents are initialized to 0. If the requested + * number of bytes could not be allocated an exception is raised. + */ +interface Int8Array { + /** + * The size in bytes of each element in the array. + */ + readonly BYTES_PER_ELEMENT: number; + + /** + * The ArrayBuffer instance referenced by the array. + */ + readonly buffer: ArrayBufferLike; + + /** + * The length in bytes of the array. + */ + readonly byteLength: number; + + /** + * The offset in bytes of the array. + */ + readonly byteOffset: number; + + /** + * Returns the this object after copying a section of the array identified by start and end + * to the same array starting at position target + * @param target If target is negative, it is treated as length+target where length is the + * length of the array. + * @param start If start is negative, it is treated as length+start. If end is negative, it + * is treated as length+end. + * @param end If not specified, length of the this object is used as its default value. + */ + copyWithin(target: number, start: number, end?: number): this; + + /** + * Determines whether all the members of an array satisfy the specified test. + * @param callbackfn A function that accepts up to three arguments. The every method calls + * the callbackfn function for each element in array1 until the callbackfn returns false, + * or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + every(callbackfn: (value: number, index: number, array: Int8Array) => boolean, thisArg?: any): boolean; + + /** + * Returns the this object after filling the section identified by start and end with value + * @param value value to fill array section with + * @param start index to start filling the array at. If start is negative, it is treated as + * length+start where length is the length of the array. + * @param end index to stop filling the array at. If end is negative, it is treated as + * length+end. + */ + fill(value: number, start?: number, end?: number): this; + + /** + * Returns the elements of an array that meet the condition specified in a callback function. + * @param callbackfn A function that accepts up to three arguments. The filter method calls + * the callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + filter(callbackfn: (value: number, index: number, array: Int8Array) => any, thisArg?: any): Int8Array; + + /** + * Returns the value of the first element in the array where predicate is true, and undefined + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, find + * immediately returns that element value. Otherwise, find returns undefined. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + find(predicate: (value: number, index: number, obj: Int8Array) => boolean, thisArg?: any): number | undefined; + + /** + * Returns the index of the first element in the array where predicate is true, and -1 + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, + * findIndex immediately returns that element index. Otherwise, findIndex returns -1. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + findIndex(predicate: (value: number, index: number, obj: Int8Array) => boolean, thisArg?: any): number; + + /** + * Performs the specified action for each element in an array. + * @param callbackfn A function that accepts up to three arguments. forEach calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + forEach(callbackfn: (value: number, index: number, array: Int8Array) => void, thisArg?: any): void; + + /** + * Returns the index of the first occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + indexOf(searchElement: number, fromIndex?: number): number; + + /** + * Adds all the elements of an array separated by the specified separator string. + * @param separator A string used to separate one element of an array from the next in the + * resulting String. If omitted, the array elements are separated with a comma. + */ + join(separator?: string): string; + + /** + * Returns the index of the last occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + lastIndexOf(searchElement: number, fromIndex?: number): number; + + /** + * The length of the array. + */ + readonly length: number; + + /** + * Calls a defined callback function on each element of an array, and returns an array that + * contains the results. + * @param callbackfn A function that accepts up to three arguments. The map method calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + map(callbackfn: (value: number, index: number, array: Int8Array) => number, thisArg?: any): Int8Array; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int8Array) => number): number; + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int8Array) => number, initialValue: number): number; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Int8Array) => U, initialValue: U): U; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an + * argument instead of an array value. + */ + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int8Array) => number): number; + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int8Array) => number, initialValue: number): number; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Int8Array) => U, initialValue: U): U; + + /** + * Reverses the elements in an Array. + */ + reverse(): Int8Array; + + /** + * Sets a value or an array of values. + * @param array A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: ArrayLike, offset?: number): void; + + /** + * Returns a section of an array. + * @param start The beginning of the specified portion of the array. + * @param end The end of the specified portion of the array. + */ + slice(start?: number, end?: number): Int8Array; + + /** + * Determines whether the specified callback function returns true for any element of an array. + * @param callbackfn A function that accepts up to three arguments. The some method calls the + * callbackfn function for each element in array1 until the callbackfn returns true, or until + * the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + some(callbackfn: (value: number, index: number, array: Int8Array) => boolean, thisArg?: any): boolean; + + /** + * Sorts an array. + * @param compareFn The name of the function used to determine the order of the elements. If + * omitted, the elements are sorted in ascending, ASCII character order. + */ + sort(compareFn?: (a: number, b: number) => number): this; + + /** + * Gets a new Int8Array view of the ArrayBuffer store for this array, referencing the elements + * at begin, inclusive, up to end, exclusive. + * @param begin The index of the beginning of the array. + * @param end The index of the end of the array. + */ + subarray(begin: number, end?: number): Int8Array; + + /** + * Converts a number to a string by using the current locale. + */ + toLocaleString(): string; + + /** + * Returns a string representation of an array. + */ + toString(): string; + + [index: number]: number; +} +interface Int8ArrayConstructor { + readonly prototype: Int8Array; + new(length: number): Int8Array; + new(arrayOrArrayBuffer: ArrayLike | ArrayBufferLike): Int8Array; + new(buffer: ArrayBufferLike, byteOffset: number, length?: number): Int8Array; + + /** + * The size in bytes of each element in the array. + */ + readonly BYTES_PER_ELEMENT: number; + + /** + * Returns a new array from a set of elements. + * @param items A set of elements to include in the new array object. + */ + of(...items: number[]): Int8Array; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + * @param mapfn A mapping function to call on every element of the array. + * @param thisArg Value of 'this' used to invoke the mapfn. + */ + from(arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Int8Array; + + +} +declare const Int8Array: Int8ArrayConstructor; + +/** + * A typed array of 8-bit unsigned integer values. The contents are initialized to 0. If the + * requested number of bytes could not be allocated an exception is raised. + */ +interface Uint8Array { + /** + * The size in bytes of each element in the array. + */ + readonly BYTES_PER_ELEMENT: number; + + /** + * The ArrayBuffer instance referenced by the array. + */ + readonly buffer: ArrayBufferLike; + + /** + * The length in bytes of the array. + */ + readonly byteLength: number; + + /** + * The offset in bytes of the array. + */ + readonly byteOffset: number; + + /** + * Returns the this object after copying a section of the array identified by start and end + * to the same array starting at position target + * @param target If target is negative, it is treated as length+target where length is the + * length of the array. + * @param start If start is negative, it is treated as length+start. If end is negative, it + * is treated as length+end. + * @param end If not specified, length of the this object is used as its default value. + */ + copyWithin(target: number, start: number, end?: number): this; + + /** + * Determines whether all the members of an array satisfy the specified test. + * @param callbackfn A function that accepts up to three arguments. The every method calls + * the callbackfn function for each element in array1 until the callbackfn returns false, + * or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + every(callbackfn: (value: number, index: number, array: Uint8Array) => boolean, thisArg?: any): boolean; + + /** + * Returns the this object after filling the section identified by start and end with value + * @param value value to fill array section with + * @param start index to start filling the array at. If start is negative, it is treated as + * length+start where length is the length of the array. + * @param end index to stop filling the array at. If end is negative, it is treated as + * length+end. + */ + fill(value: number, start?: number, end?: number): this; + + /** + * Returns the elements of an array that meet the condition specified in a callback function. + * @param callbackfn A function that accepts up to three arguments. The filter method calls + * the callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + filter(callbackfn: (value: number, index: number, array: Uint8Array) => any, thisArg?: any): Uint8Array; + + /** + * Returns the value of the first element in the array where predicate is true, and undefined + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, find + * immediately returns that element value. Otherwise, find returns undefined. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + find(predicate: (value: number, index: number, obj: Uint8Array) => boolean, thisArg?: any): number | undefined; + + /** + * Returns the index of the first element in the array where predicate is true, and -1 + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, + * findIndex immediately returns that element index. Otherwise, findIndex returns -1. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + findIndex(predicate: (value: number, index: number, obj: Uint8Array) => boolean, thisArg?: any): number; + + /** + * Performs the specified action for each element in an array. + * @param callbackfn A function that accepts up to three arguments. forEach calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + forEach(callbackfn: (value: number, index: number, array: Uint8Array) => void, thisArg?: any): void; + + /** + * Returns the index of the first occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + indexOf(searchElement: number, fromIndex?: number): number; + + /** + * Adds all the elements of an array separated by the specified separator string. + * @param separator A string used to separate one element of an array from the next in the + * resulting String. If omitted, the array elements are separated with a comma. + */ + join(separator?: string): string; + + /** + * Returns the index of the last occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + lastIndexOf(searchElement: number, fromIndex?: number): number; + + /** + * The length of the array. + */ + readonly length: number; + + /** + * Calls a defined callback function on each element of an array, and returns an array that + * contains the results. + * @param callbackfn A function that accepts up to three arguments. The map method calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + map(callbackfn: (value: number, index: number, array: Uint8Array) => number, thisArg?: any): Uint8Array; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number): number; + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number, initialValue: number): number; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8Array) => U, initialValue: U): U; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an + * argument instead of an array value. + */ + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number): number; + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number, initialValue: number): number; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8Array) => U, initialValue: U): U; + + /** + * Reverses the elements in an Array. + */ + reverse(): Uint8Array; + + /** + * Sets a value or an array of values. + * @param array A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: ArrayLike, offset?: number): void; + + /** + * Returns a section of an array. + * @param start The beginning of the specified portion of the array. + * @param end The end of the specified portion of the array. + */ + slice(start?: number, end?: number): Uint8Array; + + /** + * Determines whether the specified callback function returns true for any element of an array. + * @param callbackfn A function that accepts up to three arguments. The some method calls the + * callbackfn function for each element in array1 until the callbackfn returns true, or until + * the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + some(callbackfn: (value: number, index: number, array: Uint8Array) => boolean, thisArg?: any): boolean; + + /** + * Sorts an array. + * @param compareFn The name of the function used to determine the order of the elements. If + * omitted, the elements are sorted in ascending, ASCII character order. + */ + sort(compareFn?: (a: number, b: number) => number): this; + + /** + * Gets a new Uint8Array view of the ArrayBuffer store for this array, referencing the elements + * at begin, inclusive, up to end, exclusive. + * @param begin The index of the beginning of the array. + * @param end The index of the end of the array. + */ + subarray(begin: number, end?: number): Uint8Array; + + /** + * Converts a number to a string by using the current locale. + */ + toLocaleString(): string; + + /** + * Returns a string representation of an array. + */ + toString(): string; + + [index: number]: number; +} + +interface Uint8ArrayConstructor { + readonly prototype: Uint8Array; + new(length: number): Uint8Array; + new(arrayOrArrayBuffer: ArrayLike | ArrayBufferLike): Uint8Array; + new(buffer: ArrayBufferLike, byteOffset: number, length?: number): Uint8Array; + + /** + * The size in bytes of each element in the array. + */ + readonly BYTES_PER_ELEMENT: number; + + /** + * Returns a new array from a set of elements. + * @param items A set of elements to include in the new array object. + */ + of(...items: number[]): Uint8Array; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + * @param mapfn A mapping function to call on every element of the array. + * @param thisArg Value of 'this' used to invoke the mapfn. + */ + from(arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8Array; + +} +declare const Uint8Array: Uint8ArrayConstructor; + +/** + * A typed array of 8-bit unsigned integer (clamped) values. The contents are initialized to 0. + * If the requested number of bytes could not be allocated an exception is raised. + */ +interface Uint8ClampedArray { + /** + * The size in bytes of each element in the array. + */ + readonly BYTES_PER_ELEMENT: number; + + /** + * The ArrayBuffer instance referenced by the array. + */ + readonly buffer: ArrayBufferLike; + + /** + * The length in bytes of the array. + */ + readonly byteLength: number; + + /** + * The offset in bytes of the array. + */ + readonly byteOffset: number; + + /** + * Returns the this object after copying a section of the array identified by start and end + * to the same array starting at position target + * @param target If target is negative, it is treated as length+target where length is the + * length of the array. + * @param start If start is negative, it is treated as length+start. If end is negative, it + * is treated as length+end. + * @param end If not specified, length of the this object is used as its default value. + */ + copyWithin(target: number, start: number, end?: number): this; + + /** + * Determines whether all the members of an array satisfy the specified test. + * @param callbackfn A function that accepts up to three arguments. The every method calls + * the callbackfn function for each element in array1 until the callbackfn returns false, + * or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + every(callbackfn: (value: number, index: number, array: Uint8ClampedArray) => boolean, thisArg?: any): boolean; + + /** + * Returns the this object after filling the section identified by start and end with value + * @param value value to fill array section with + * @param start index to start filling the array at. If start is negative, it is treated as + * length+start where length is the length of the array. + * @param end index to stop filling the array at. If end is negative, it is treated as + * length+end. + */ + fill(value: number, start?: number, end?: number): this; + + /** + * Returns the elements of an array that meet the condition specified in a callback function. + * @param callbackfn A function that accepts up to three arguments. The filter method calls + * the callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + filter(callbackfn: (value: number, index: number, array: Uint8ClampedArray) => any, thisArg?: any): Uint8ClampedArray; + + /** + * Returns the value of the first element in the array where predicate is true, and undefined + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, find + * immediately returns that element value. Otherwise, find returns undefined. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + find(predicate: (value: number, index: number, obj: Uint8ClampedArray) => boolean, thisArg?: any): number | undefined; + + /** + * Returns the index of the first element in the array where predicate is true, and -1 + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, + * findIndex immediately returns that element index. Otherwise, findIndex returns -1. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + findIndex(predicate: (value: number, index: number, obj: Uint8ClampedArray) => boolean, thisArg?: any): number; + + /** + * Performs the specified action for each element in an array. + * @param callbackfn A function that accepts up to three arguments. forEach calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + forEach(callbackfn: (value: number, index: number, array: Uint8ClampedArray) => void, thisArg?: any): void; + + /** + * Returns the index of the first occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + indexOf(searchElement: number, fromIndex?: number): number; + + /** + * Adds all the elements of an array separated by the specified separator string. + * @param separator A string used to separate one element of an array from the next in the + * resulting String. If omitted, the array elements are separated with a comma. + */ + join(separator?: string): string; + + /** + * Returns the index of the last occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + lastIndexOf(searchElement: number, fromIndex?: number): number; + + /** + * The length of the array. + */ + readonly length: number; + + /** + * Calls a defined callback function on each element of an array, and returns an array that + * contains the results. + * @param callbackfn A function that accepts up to three arguments. The map method calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + map(callbackfn: (value: number, index: number, array: Uint8ClampedArray) => number, thisArg?: any): Uint8ClampedArray; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number): number; + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number, initialValue: number): number; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => U, initialValue: U): U; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an + * argument instead of an array value. + */ + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number): number; + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number, initialValue: number): number; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => U, initialValue: U): U; + + /** + * Reverses the elements in an Array. + */ + reverse(): Uint8ClampedArray; + + /** + * Sets a value or an array of values. + * @param array A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: ArrayLike, offset?: number): void; + + /** + * Returns a section of an array. + * @param start The beginning of the specified portion of the array. + * @param end The end of the specified portion of the array. + */ + slice(start?: number, end?: number): Uint8ClampedArray; + + /** + * Determines whether the specified callback function returns true for any element of an array. + * @param callbackfn A function that accepts up to three arguments. The some method calls the + * callbackfn function for each element in array1 until the callbackfn returns true, or until + * the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + some(callbackfn: (value: number, index: number, array: Uint8ClampedArray) => boolean, thisArg?: any): boolean; + + /** + * Sorts an array. + * @param compareFn The name of the function used to determine the order of the elements. If + * omitted, the elements are sorted in ascending, ASCII character order. + */ + sort(compareFn?: (a: number, b: number) => number): this; + + /** + * Gets a new Uint8ClampedArray view of the ArrayBuffer store for this array, referencing the elements + * at begin, inclusive, up to end, exclusive. + * @param begin The index of the beginning of the array. + * @param end The index of the end of the array. + */ + subarray(begin: number, end?: number): Uint8ClampedArray; + + /** + * Converts a number to a string by using the current locale. + */ + toLocaleString(): string; + + /** + * Returns a string representation of an array. + */ + toString(): string; + + [index: number]: number; +} + +interface Uint8ClampedArrayConstructor { + readonly prototype: Uint8ClampedArray; + new(length: number): Uint8ClampedArray; + new(arrayOrArrayBuffer: ArrayLike | ArrayBufferLike): Uint8ClampedArray; + new(buffer: ArrayBufferLike, byteOffset: number, length?: number): Uint8ClampedArray; + + /** + * The size in bytes of each element in the array. + */ + readonly BYTES_PER_ELEMENT: number; + + /** + * Returns a new array from a set of elements. + * @param items A set of elements to include in the new array object. + */ + of(...items: number[]): Uint8ClampedArray; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + * @param mapfn A mapping function to call on every element of the array. + * @param thisArg Value of 'this' used to invoke the mapfn. + */ + from(arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8ClampedArray; +} +declare const Uint8ClampedArray: Uint8ClampedArrayConstructor; + +/** + * A typed array of 16-bit signed integer values. The contents are initialized to 0. If the + * requested number of bytes could not be allocated an exception is raised. + */ +interface Int16Array { + /** + * The size in bytes of each element in the array. + */ + readonly BYTES_PER_ELEMENT: number; + + /** + * The ArrayBuffer instance referenced by the array. + */ + readonly buffer: ArrayBufferLike; + + /** + * The length in bytes of the array. + */ + readonly byteLength: number; + + /** + * The offset in bytes of the array. + */ + readonly byteOffset: number; + + /** + * Returns the this object after copying a section of the array identified by start and end + * to the same array starting at position target + * @param target If target is negative, it is treated as length+target where length is the + * length of the array. + * @param start If start is negative, it is treated as length+start. If end is negative, it + * is treated as length+end. + * @param end If not specified, length of the this object is used as its default value. + */ + copyWithin(target: number, start: number, end?: number): this; + + /** + * Determines whether all the members of an array satisfy the specified test. + * @param callbackfn A function that accepts up to three arguments. The every method calls + * the callbackfn function for each element in array1 until the callbackfn returns false, + * or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + every(callbackfn: (value: number, index: number, array: Int16Array) => boolean, thisArg?: any): boolean; + + /** + * Returns the this object after filling the section identified by start and end with value + * @param value value to fill array section with + * @param start index to start filling the array at. If start is negative, it is treated as + * length+start where length is the length of the array. + * @param end index to stop filling the array at. If end is negative, it is treated as + * length+end. + */ + fill(value: number, start?: number, end?: number): this; + + /** + * Returns the elements of an array that meet the condition specified in a callback function. + * @param callbackfn A function that accepts up to three arguments. The filter method calls + * the callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + filter(callbackfn: (value: number, index: number, array: Int16Array) => any, thisArg?: any): Int16Array; + + /** + * Returns the value of the first element in the array where predicate is true, and undefined + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, find + * immediately returns that element value. Otherwise, find returns undefined. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + find(predicate: (value: number, index: number, obj: Int16Array) => boolean, thisArg?: any): number | undefined; + + /** + * Returns the index of the first element in the array where predicate is true, and -1 + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, + * findIndex immediately returns that element index. Otherwise, findIndex returns -1. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + findIndex(predicate: (value: number, index: number, obj: Int16Array) => boolean, thisArg?: any): number; + + /** + * Performs the specified action for each element in an array. + * @param callbackfn A function that accepts up to three arguments. forEach calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + forEach(callbackfn: (value: number, index: number, array: Int16Array) => void, thisArg?: any): void; + /** + * Returns the index of the first occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + indexOf(searchElement: number, fromIndex?: number): number; + + /** + * Adds all the elements of an array separated by the specified separator string. + * @param separator A string used to separate one element of an array from the next in the + * resulting String. If omitted, the array elements are separated with a comma. + */ + join(separator?: string): string; + + /** + * Returns the index of the last occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + lastIndexOf(searchElement: number, fromIndex?: number): number; + + /** + * The length of the array. + */ + readonly length: number; + + /** + * Calls a defined callback function on each element of an array, and returns an array that + * contains the results. + * @param callbackfn A function that accepts up to three arguments. The map method calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + map(callbackfn: (value: number, index: number, array: Int16Array) => number, thisArg?: any): Int16Array; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int16Array) => number): number; + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int16Array) => number, initialValue: number): number; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Int16Array) => U, initialValue: U): U; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an + * argument instead of an array value. + */ + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int16Array) => number): number; + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int16Array) => number, initialValue: number): number; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Int16Array) => U, initialValue: U): U; + + /** + * Reverses the elements in an Array. + */ + reverse(): Int16Array; + + /** + * Sets a value or an array of values. + * @param array A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: ArrayLike, offset?: number): void; + + /** + * Returns a section of an array. + * @param start The beginning of the specified portion of the array. + * @param end The end of the specified portion of the array. + */ + slice(start?: number, end?: number): Int16Array; + + /** + * Determines whether the specified callback function returns true for any element of an array. + * @param callbackfn A function that accepts up to three arguments. The some method calls the + * callbackfn function for each element in array1 until the callbackfn returns true, or until + * the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + some(callbackfn: (value: number, index: number, array: Int16Array) => boolean, thisArg?: any): boolean; + + /** + * Sorts an array. + * @param compareFn The name of the function used to determine the order of the elements. If + * omitted, the elements are sorted in ascending, ASCII character order. + */ + sort(compareFn?: (a: number, b: number) => number): this; + + /** + * Gets a new Int16Array view of the ArrayBuffer store for this array, referencing the elements + * at begin, inclusive, up to end, exclusive. + * @param begin The index of the beginning of the array. + * @param end The index of the end of the array. + */ + subarray(begin: number, end?: number): Int16Array; + + /** + * Converts a number to a string by using the current locale. + */ + toLocaleString(): string; + + /** + * Returns a string representation of an array. + */ + toString(): string; + + [index: number]: number; +} + +interface Int16ArrayConstructor { + readonly prototype: Int16Array; + new(length: number): Int16Array; + new(arrayOrArrayBuffer: ArrayLike | ArrayBufferLike): Int16Array; + new(buffer: ArrayBufferLike, byteOffset: number, length?: number): Int16Array; + + /** + * The size in bytes of each element in the array. + */ + readonly BYTES_PER_ELEMENT: number; + + /** + * Returns a new array from a set of elements. + * @param items A set of elements to include in the new array object. + */ + of(...items: number[]): Int16Array; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + * @param mapfn A mapping function to call on every element of the array. + * @param thisArg Value of 'this' used to invoke the mapfn. + */ + from(arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Int16Array; + + +} +declare const Int16Array: Int16ArrayConstructor; + +/** + * A typed array of 16-bit unsigned integer values. The contents are initialized to 0. If the + * requested number of bytes could not be allocated an exception is raised. + */ +interface Uint16Array { + /** + * The size in bytes of each element in the array. + */ + readonly BYTES_PER_ELEMENT: number; + + /** + * The ArrayBuffer instance referenced by the array. + */ + readonly buffer: ArrayBufferLike; + + /** + * The length in bytes of the array. + */ + readonly byteLength: number; + + /** + * The offset in bytes of the array. + */ + readonly byteOffset: number; + + /** + * Returns the this object after copying a section of the array identified by start and end + * to the same array starting at position target + * @param target If target is negative, it is treated as length+target where length is the + * length of the array. + * @param start If start is negative, it is treated as length+start. If end is negative, it + * is treated as length+end. + * @param end If not specified, length of the this object is used as its default value. + */ + copyWithin(target: number, start: number, end?: number): this; + + /** + * Determines whether all the members of an array satisfy the specified test. + * @param callbackfn A function that accepts up to three arguments. The every method calls + * the callbackfn function for each element in array1 until the callbackfn returns false, + * or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + every(callbackfn: (value: number, index: number, array: Uint16Array) => boolean, thisArg?: any): boolean; + + /** + * Returns the this object after filling the section identified by start and end with value + * @param value value to fill array section with + * @param start index to start filling the array at. If start is negative, it is treated as + * length+start where length is the length of the array. + * @param end index to stop filling the array at. If end is negative, it is treated as + * length+end. + */ + fill(value: number, start?: number, end?: number): this; + + /** + * Returns the elements of an array that meet the condition specified in a callback function. + * @param callbackfn A function that accepts up to three arguments. The filter method calls + * the callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + filter(callbackfn: (value: number, index: number, array: Uint16Array) => any, thisArg?: any): Uint16Array; + + /** + * Returns the value of the first element in the array where predicate is true, and undefined + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, find + * immediately returns that element value. Otherwise, find returns undefined. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + find(predicate: (value: number, index: number, obj: Uint16Array) => boolean, thisArg?: any): number | undefined; + + /** + * Returns the index of the first element in the array where predicate is true, and -1 + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, + * findIndex immediately returns that element index. Otherwise, findIndex returns -1. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + findIndex(predicate: (value: number, index: number, obj: Uint16Array) => boolean, thisArg?: any): number; + + /** + * Performs the specified action for each element in an array. + * @param callbackfn A function that accepts up to three arguments. forEach calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + forEach(callbackfn: (value: number, index: number, array: Uint16Array) => void, thisArg?: any): void; + + /** + * Returns the index of the first occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + indexOf(searchElement: number, fromIndex?: number): number; + + /** + * Adds all the elements of an array separated by the specified separator string. + * @param separator A string used to separate one element of an array from the next in the + * resulting String. If omitted, the array elements are separated with a comma. + */ + join(separator?: string): string; + + /** + * Returns the index of the last occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + lastIndexOf(searchElement: number, fromIndex?: number): number; + + /** + * The length of the array. + */ + readonly length: number; + + /** + * Calls a defined callback function on each element of an array, and returns an array that + * contains the results. + * @param callbackfn A function that accepts up to three arguments. The map method calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + map(callbackfn: (value: number, index: number, array: Uint16Array) => number, thisArg?: any): Uint16Array; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint16Array) => number): number; + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint16Array) => number, initialValue: number): number; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint16Array) => U, initialValue: U): U; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an + * argument instead of an array value. + */ + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint16Array) => number): number; + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint16Array) => number, initialValue: number): number; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint16Array) => U, initialValue: U): U; + + /** + * Reverses the elements in an Array. + */ + reverse(): Uint16Array; + + /** + * Sets a value or an array of values. + * @param array A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: ArrayLike, offset?: number): void; + + /** + * Returns a section of an array. + * @param start The beginning of the specified portion of the array. + * @param end The end of the specified portion of the array. + */ + slice(start?: number, end?: number): Uint16Array; + + /** + * Determines whether the specified callback function returns true for any element of an array. + * @param callbackfn A function that accepts up to three arguments. The some method calls the + * callbackfn function for each element in array1 until the callbackfn returns true, or until + * the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + some(callbackfn: (value: number, index: number, array: Uint16Array) => boolean, thisArg?: any): boolean; + + /** + * Sorts an array. + * @param compareFn The name of the function used to determine the order of the elements. If + * omitted, the elements are sorted in ascending, ASCII character order. + */ + sort(compareFn?: (a: number, b: number) => number): this; + + /** + * Gets a new Uint16Array view of the ArrayBuffer store for this array, referencing the elements + * at begin, inclusive, up to end, exclusive. + * @param begin The index of the beginning of the array. + * @param end The index of the end of the array. + */ + subarray(begin: number, end?: number): Uint16Array; + + /** + * Converts a number to a string by using the current locale. + */ + toLocaleString(): string; + + /** + * Returns a string representation of an array. + */ + toString(): string; + + [index: number]: number; +} + +interface Uint16ArrayConstructor { + readonly prototype: Uint16Array; + new(length: number): Uint16Array; + new(arrayOrArrayBuffer: ArrayLike | ArrayBufferLike): Uint16Array; + new(buffer: ArrayBufferLike, byteOffset: number, length?: number): Uint16Array; + + /** + * The size in bytes of each element in the array. + */ + readonly BYTES_PER_ELEMENT: number; + + /** + * Returns a new array from a set of elements. + * @param items A set of elements to include in the new array object. + */ + of(...items: number[]): Uint16Array; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + * @param mapfn A mapping function to call on every element of the array. + * @param thisArg Value of 'this' used to invoke the mapfn. + */ + from(arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint16Array; + + +} +declare const Uint16Array: Uint16ArrayConstructor; +/** + * A typed array of 32-bit signed integer values. The contents are initialized to 0. If the + * requested number of bytes could not be allocated an exception is raised. + */ +interface Int32Array { + /** + * The size in bytes of each element in the array. + */ + readonly BYTES_PER_ELEMENT: number; + + /** + * The ArrayBuffer instance referenced by the array. + */ + readonly buffer: ArrayBufferLike; + + /** + * The length in bytes of the array. + */ + readonly byteLength: number; + + /** + * The offset in bytes of the array. + */ + readonly byteOffset: number; + + /** + * Returns the this object after copying a section of the array identified by start and end + * to the same array starting at position target + * @param target If target is negative, it is treated as length+target where length is the + * length of the array. + * @param start If start is negative, it is treated as length+start. If end is negative, it + * is treated as length+end. + * @param end If not specified, length of the this object is used as its default value. + */ + copyWithin(target: number, start: number, end?: number): this; + + /** + * Determines whether all the members of an array satisfy the specified test. + * @param callbackfn A function that accepts up to three arguments. The every method calls + * the callbackfn function for each element in array1 until the callbackfn returns false, + * or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + every(callbackfn: (value: number, index: number, array: Int32Array) => boolean, thisArg?: any): boolean; + + /** + * Returns the this object after filling the section identified by start and end with value + * @param value value to fill array section with + * @param start index to start filling the array at. If start is negative, it is treated as + * length+start where length is the length of the array. + * @param end index to stop filling the array at. If end is negative, it is treated as + * length+end. + */ + fill(value: number, start?: number, end?: number): this; + + /** + * Returns the elements of an array that meet the condition specified in a callback function. + * @param callbackfn A function that accepts up to three arguments. The filter method calls + * the callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + filter(callbackfn: (value: number, index: number, array: Int32Array) => any, thisArg?: any): Int32Array; + + /** + * Returns the value of the first element in the array where predicate is true, and undefined + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, find + * immediately returns that element value. Otherwise, find returns undefined. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + find(predicate: (value: number, index: number, obj: Int32Array) => boolean, thisArg?: any): number | undefined; + + /** + * Returns the index of the first element in the array where predicate is true, and -1 + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, + * findIndex immediately returns that element index. Otherwise, findIndex returns -1. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + findIndex(predicate: (value: number, index: number, obj: Int32Array) => boolean, thisArg?: any): number; + + /** + * Performs the specified action for each element in an array. + * @param callbackfn A function that accepts up to three arguments. forEach calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + forEach(callbackfn: (value: number, index: number, array: Int32Array) => void, thisArg?: any): void; + + /** + * Returns the index of the first occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + indexOf(searchElement: number, fromIndex?: number): number; + + /** + * Adds all the elements of an array separated by the specified separator string. + * @param separator A string used to separate one element of an array from the next in the + * resulting String. If omitted, the array elements are separated with a comma. + */ + join(separator?: string): string; + + /** + * Returns the index of the last occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + lastIndexOf(searchElement: number, fromIndex?: number): number; + + /** + * The length of the array. + */ + readonly length: number; + + /** + * Calls a defined callback function on each element of an array, and returns an array that + * contains the results. + * @param callbackfn A function that accepts up to three arguments. The map method calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + map(callbackfn: (value: number, index: number, array: Int32Array) => number, thisArg?: any): Int32Array; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int32Array) => number): number; + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int32Array) => number, initialValue: number): number; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Int32Array) => U, initialValue: U): U; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an + * argument instead of an array value. + */ + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int32Array) => number): number; + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int32Array) => number, initialValue: number): number; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Int32Array) => U, initialValue: U): U; + + /** + * Reverses the elements in an Array. + */ + reverse(): Int32Array; + + /** + * Sets a value or an array of values. + * @param array A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: ArrayLike, offset?: number): void; + + /** + * Returns a section of an array. + * @param start The beginning of the specified portion of the array. + * @param end The end of the specified portion of the array. + */ + slice(start?: number, end?: number): Int32Array; + + /** + * Determines whether the specified callback function returns true for any element of an array. + * @param callbackfn A function that accepts up to three arguments. The some method calls the + * callbackfn function for each element in array1 until the callbackfn returns true, or until + * the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + some(callbackfn: (value: number, index: number, array: Int32Array) => boolean, thisArg?: any): boolean; + + /** + * Sorts an array. + * @param compareFn The name of the function used to determine the order of the elements. If + * omitted, the elements are sorted in ascending, ASCII character order. + */ + sort(compareFn?: (a: number, b: number) => number): this; + + /** + * Gets a new Int32Array view of the ArrayBuffer store for this array, referencing the elements + * at begin, inclusive, up to end, exclusive. + * @param begin The index of the beginning of the array. + * @param end The index of the end of the array. + */ + subarray(begin: number, end?: number): Int32Array; + + /** + * Converts a number to a string by using the current locale. + */ + toLocaleString(): string; + + /** + * Returns a string representation of an array. + */ + toString(): string; + + [index: number]: number; +} + +interface Int32ArrayConstructor { + readonly prototype: Int32Array; + new(length: number): Int32Array; + new(arrayOrArrayBuffer: ArrayLike | ArrayBufferLike): Int32Array; + new(buffer: ArrayBufferLike, byteOffset: number, length?: number): Int32Array; + + /** + * The size in bytes of each element in the array. + */ + readonly BYTES_PER_ELEMENT: number; + + /** + * Returns a new array from a set of elements. + * @param items A set of elements to include in the new array object. + */ + of(...items: number[]): Int32Array; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + * @param mapfn A mapping function to call on every element of the array. + * @param thisArg Value of 'this' used to invoke the mapfn. + */ + from(arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Int32Array; + +} +declare const Int32Array: Int32ArrayConstructor; + +/** + * A typed array of 32-bit unsigned integer values. The contents are initialized to 0. If the + * requested number of bytes could not be allocated an exception is raised. + */ +interface Uint32Array { + /** + * The size in bytes of each element in the array. + */ + readonly BYTES_PER_ELEMENT: number; + + /** + * The ArrayBuffer instance referenced by the array. + */ + readonly buffer: ArrayBufferLike; + + /** + * The length in bytes of the array. + */ + readonly byteLength: number; + + /** + * The offset in bytes of the array. + */ + readonly byteOffset: number; + + /** + * Returns the this object after copying a section of the array identified by start and end + * to the same array starting at position target + * @param target If target is negative, it is treated as length+target where length is the + * length of the array. + * @param start If start is negative, it is treated as length+start. If end is negative, it + * is treated as length+end. + * @param end If not specified, length of the this object is used as its default value. + */ + copyWithin(target: number, start: number, end?: number): this; + + /** + * Determines whether all the members of an array satisfy the specified test. + * @param callbackfn A function that accepts up to three arguments. The every method calls + * the callbackfn function for each element in array1 until the callbackfn returns false, + * or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + every(callbackfn: (value: number, index: number, array: Uint32Array) => boolean, thisArg?: any): boolean; + + /** + * Returns the this object after filling the section identified by start and end with value + * @param value value to fill array section with + * @param start index to start filling the array at. If start is negative, it is treated as + * length+start where length is the length of the array. + * @param end index to stop filling the array at. If end is negative, it is treated as + * length+end. + */ + fill(value: number, start?: number, end?: number): this; + + /** + * Returns the elements of an array that meet the condition specified in a callback function. + * @param callbackfn A function that accepts up to three arguments. The filter method calls + * the callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + filter(callbackfn: (value: number, index: number, array: Uint32Array) => any, thisArg?: any): Uint32Array; + + /** + * Returns the value of the first element in the array where predicate is true, and undefined + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, find + * immediately returns that element value. Otherwise, find returns undefined. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + find(predicate: (value: number, index: number, obj: Uint32Array) => boolean, thisArg?: any): number | undefined; + + /** + * Returns the index of the first element in the array where predicate is true, and -1 + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, + * findIndex immediately returns that element index. Otherwise, findIndex returns -1. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + findIndex(predicate: (value: number, index: number, obj: Uint32Array) => boolean, thisArg?: any): number; + + /** + * Performs the specified action for each element in an array. + * @param callbackfn A function that accepts up to three arguments. forEach calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + forEach(callbackfn: (value: number, index: number, array: Uint32Array) => void, thisArg?: any): void; + /** + * Returns the index of the first occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + indexOf(searchElement: number, fromIndex?: number): number; + + /** + * Adds all the elements of an array separated by the specified separator string. + * @param separator A string used to separate one element of an array from the next in the + * resulting String. If omitted, the array elements are separated with a comma. + */ + join(separator?: string): string; + + /** + * Returns the index of the last occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + lastIndexOf(searchElement: number, fromIndex?: number): number; + + /** + * The length of the array. + */ + readonly length: number; + + /** + * Calls a defined callback function on each element of an array, and returns an array that + * contains the results. + * @param callbackfn A function that accepts up to three arguments. The map method calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + map(callbackfn: (value: number, index: number, array: Uint32Array) => number, thisArg?: any): Uint32Array; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint32Array) => number): number; + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint32Array) => number, initialValue: number): number; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint32Array) => U, initialValue: U): U; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an + * argument instead of an array value. + */ + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint32Array) => number): number; + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint32Array) => number, initialValue: number): number; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint32Array) => U, initialValue: U): U; + + /** + * Reverses the elements in an Array. + */ + reverse(): Uint32Array; + + /** + * Sets a value or an array of values. + * @param array A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: ArrayLike, offset?: number): void; + + /** + * Returns a section of an array. + * @param start The beginning of the specified portion of the array. + * @param end The end of the specified portion of the array. + */ + slice(start?: number, end?: number): Uint32Array; + + /** + * Determines whether the specified callback function returns true for any element of an array. + * @param callbackfn A function that accepts up to three arguments. The some method calls the + * callbackfn function for each element in array1 until the callbackfn returns true, or until + * the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + some(callbackfn: (value: number, index: number, array: Uint32Array) => boolean, thisArg?: any): boolean; + + /** + * Sorts an array. + * @param compareFn The name of the function used to determine the order of the elements. If + * omitted, the elements are sorted in ascending, ASCII character order. + */ + sort(compareFn?: (a: number, b: number) => number): this; + + /** + * Gets a new Uint32Array view of the ArrayBuffer store for this array, referencing the elements + * at begin, inclusive, up to end, exclusive. + * @param begin The index of the beginning of the array. + * @param end The index of the end of the array. + */ + subarray(begin: number, end?: number): Uint32Array; + + /** + * Converts a number to a string by using the current locale. + */ + toLocaleString(): string; + + /** + * Returns a string representation of an array. + */ + toString(): string; + + [index: number]: number; +} + +interface Uint32ArrayConstructor { + readonly prototype: Uint32Array; + new(length: number): Uint32Array; + new(arrayOrArrayBuffer: ArrayLike | ArrayBufferLike): Uint32Array; + new(buffer: ArrayBufferLike, byteOffset: number, length?: number): Uint32Array; + + /** + * The size in bytes of each element in the array. + */ + readonly BYTES_PER_ELEMENT: number; + + /** + * Returns a new array from a set of elements. + * @param items A set of elements to include in the new array object. + */ + of(...items: number[]): Uint32Array; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + * @param mapfn A mapping function to call on every element of the array. + * @param thisArg Value of 'this' used to invoke the mapfn. + */ + from(arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint32Array; + +} +declare const Uint32Array: Uint32ArrayConstructor; + +/** + * A typed array of 32-bit float values. The contents are initialized to 0. If the requested number + * of bytes could not be allocated an exception is raised. + */ +interface Float32Array { + /** + * The size in bytes of each element in the array. + */ + readonly BYTES_PER_ELEMENT: number; + + /** + * The ArrayBuffer instance referenced by the array. + */ + readonly buffer: ArrayBufferLike; + + /** + * The length in bytes of the array. + */ + readonly byteLength: number; + + /** + * The offset in bytes of the array. + */ + readonly byteOffset: number; + + /** + * Returns the this object after copying a section of the array identified by start and end + * to the same array starting at position target + * @param target If target is negative, it is treated as length+target where length is the + * length of the array. + * @param start If start is negative, it is treated as length+start. If end is negative, it + * is treated as length+end. + * @param end If not specified, length of the this object is used as its default value. + */ + copyWithin(target: number, start: number, end?: number): this; + + /** + * Determines whether all the members of an array satisfy the specified test. + * @param callbackfn A function that accepts up to three arguments. The every method calls + * the callbackfn function for each element in array1 until the callbackfn returns false, + * or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + every(callbackfn: (value: number, index: number, array: Float32Array) => boolean, thisArg?: any): boolean; + + /** + * Returns the this object after filling the section identified by start and end with value + * @param value value to fill array section with + * @param start index to start filling the array at. If start is negative, it is treated as + * length+start where length is the length of the array. + * @param end index to stop filling the array at. If end is negative, it is treated as + * length+end. + */ + fill(value: number, start?: number, end?: number): this; + + /** + * Returns the elements of an array that meet the condition specified in a callback function. + * @param callbackfn A function that accepts up to three arguments. The filter method calls + * the callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + filter(callbackfn: (value: number, index: number, array: Float32Array) => any, thisArg?: any): Float32Array; + + /** + * Returns the value of the first element in the array where predicate is true, and undefined + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, find + * immediately returns that element value. Otherwise, find returns undefined. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + find(predicate: (value: number, index: number, obj: Float32Array) => boolean, thisArg?: any): number | undefined; + + /** + * Returns the index of the first element in the array where predicate is true, and -1 + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, + * findIndex immediately returns that element index. Otherwise, findIndex returns -1. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + findIndex(predicate: (value: number, index: number, obj: Float32Array) => boolean, thisArg?: any): number; + + /** + * Performs the specified action for each element in an array. + * @param callbackfn A function that accepts up to three arguments. forEach calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + forEach(callbackfn: (value: number, index: number, array: Float32Array) => void, thisArg?: any): void; + + /** + * Returns the index of the first occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + indexOf(searchElement: number, fromIndex?: number): number; + + /** + * Adds all the elements of an array separated by the specified separator string. + * @param separator A string used to separate one element of an array from the next in the + * resulting String. If omitted, the array elements are separated with a comma. + */ + join(separator?: string): string; + + /** + * Returns the index of the last occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + lastIndexOf(searchElement: number, fromIndex?: number): number; + + /** + * The length of the array. + */ + readonly length: number; + + /** + * Calls a defined callback function on each element of an array, and returns an array that + * contains the results. + * @param callbackfn A function that accepts up to three arguments. The map method calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + map(callbackfn: (value: number, index: number, array: Float32Array) => number, thisArg?: any): Float32Array; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number): number; + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number, initialValue: number): number; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float32Array) => U, initialValue: U): U; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an + * argument instead of an array value. + */ + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number): number; + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number, initialValue: number): number; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float32Array) => U, initialValue: U): U; + + /** + * Reverses the elements in an Array. + */ + reverse(): Float32Array; + + /** + * Sets a value or an array of values. + * @param array A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: ArrayLike, offset?: number): void; + + /** + * Returns a section of an array. + * @param start The beginning of the specified portion of the array. + * @param end The end of the specified portion of the array. + */ + slice(start?: number, end?: number): Float32Array; + + /** + * Determines whether the specified callback function returns true for any element of an array. + * @param callbackfn A function that accepts up to three arguments. The some method calls the + * callbackfn function for each element in array1 until the callbackfn returns true, or until + * the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + some(callbackfn: (value: number, index: number, array: Float32Array) => boolean, thisArg?: any): boolean; + + /** + * Sorts an array. + * @param compareFn The name of the function used to determine the order of the elements. If + * omitted, the elements are sorted in ascending, ASCII character order. + */ + sort(compareFn?: (a: number, b: number) => number): this; + + /** + * Gets a new Float32Array view of the ArrayBuffer store for this array, referencing the elements + * at begin, inclusive, up to end, exclusive. + * @param begin The index of the beginning of the array. + * @param end The index of the end of the array. + */ + subarray(begin: number, end?: number): Float32Array; + + /** + * Converts a number to a string by using the current locale. + */ + toLocaleString(): string; + + /** + * Returns a string representation of an array. + */ + toString(): string; + + [index: number]: number; +} + +interface Float32ArrayConstructor { + readonly prototype: Float32Array; + new(length: number): Float32Array; + new(arrayOrArrayBuffer: ArrayLike | ArrayBufferLike): Float32Array; + new(buffer: ArrayBufferLike, byteOffset: number, length?: number): Float32Array; + + /** + * The size in bytes of each element in the array. + */ + readonly BYTES_PER_ELEMENT: number; + + /** + * Returns a new array from a set of elements. + * @param items A set of elements to include in the new array object. + */ + of(...items: number[]): Float32Array; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + * @param mapfn A mapping function to call on every element of the array. + * @param thisArg Value of 'this' used to invoke the mapfn. + */ + from(arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Float32Array; + + +} +declare const Float32Array: Float32ArrayConstructor; + +/** + * A typed array of 64-bit float values. The contents are initialized to 0. If the requested + * number of bytes could not be allocated an exception is raised. + */ +interface Float64Array { + /** + * The size in bytes of each element in the array. + */ + readonly BYTES_PER_ELEMENT: number; + + /** + * The ArrayBuffer instance referenced by the array. + */ + readonly buffer: ArrayBufferLike; + + /** + * The length in bytes of the array. + */ + readonly byteLength: number; + + /** + * The offset in bytes of the array. + */ + readonly byteOffset: number; + + /** + * Returns the this object after copying a section of the array identified by start and end + * to the same array starting at position target + * @param target If target is negative, it is treated as length+target where length is the + * length of the array. + * @param start If start is negative, it is treated as length+start. If end is negative, it + * is treated as length+end. + * @param end If not specified, length of the this object is used as its default value. + */ + copyWithin(target: number, start: number, end?: number): this; + + /** + * Determines whether all the members of an array satisfy the specified test. + * @param callbackfn A function that accepts up to three arguments. The every method calls + * the callbackfn function for each element in array1 until the callbackfn returns false, + * or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + every(callbackfn: (value: number, index: number, array: Float64Array) => boolean, thisArg?: any): boolean; + + /** + * Returns the this object after filling the section identified by start and end with value + * @param value value to fill array section with + * @param start index to start filling the array at. If start is negative, it is treated as + * length+start where length is the length of the array. + * @param end index to stop filling the array at. If end is negative, it is treated as + * length+end. + */ + fill(value: number, start?: number, end?: number): this; + + /** + * Returns the elements of an array that meet the condition specified in a callback function. + * @param callbackfn A function that accepts up to three arguments. The filter method calls + * the callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + filter(callbackfn: (value: number, index: number, array: Float64Array) => any, thisArg?: any): Float64Array; + + /** + * Returns the value of the first element in the array where predicate is true, and undefined + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, find + * immediately returns that element value. Otherwise, find returns undefined. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + find(predicate: (value: number, index: number, obj: Float64Array) => boolean, thisArg?: any): number | undefined; + + /** + * Returns the index of the first element in the array where predicate is true, and -1 + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, + * findIndex immediately returns that element index. Otherwise, findIndex returns -1. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + findIndex(predicate: (value: number, index: number, obj: Float64Array) => boolean, thisArg?: any): number; + + /** + * Performs the specified action for each element in an array. + * @param callbackfn A function that accepts up to three arguments. forEach calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + forEach(callbackfn: (value: number, index: number, array: Float64Array) => void, thisArg?: any): void; + + /** + * Returns the index of the first occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + indexOf(searchElement: number, fromIndex?: number): number; + + /** + * Adds all the elements of an array separated by the specified separator string. + * @param separator A string used to separate one element of an array from the next in the + * resulting String. If omitted, the array elements are separated with a comma. + */ + join(separator?: string): string; + + /** + * Returns the index of the last occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + lastIndexOf(searchElement: number, fromIndex?: number): number; + + /** + * The length of the array. + */ + readonly length: number; + + /** + * Calls a defined callback function on each element of an array, and returns an array that + * contains the results. + * @param callbackfn A function that accepts up to three arguments. The map method calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + map(callbackfn: (value: number, index: number, array: Float64Array) => number, thisArg?: any): Float64Array; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float64Array) => number): number; + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float64Array) => number, initialValue: number): number; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float64Array) => U, initialValue: U): U; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an + * argument instead of an array value. + */ + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float64Array) => number): number; + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float64Array) => number, initialValue: number): number; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float64Array) => U, initialValue: U): U; + + /** + * Reverses the elements in an Array. + */ + reverse(): Float64Array; + + /** + * Sets a value or an array of values. + * @param array A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: ArrayLike, offset?: number): void; + + /** + * Returns a section of an array. + * @param start The beginning of the specified portion of the array. + * @param end The end of the specified portion of the array. + */ + slice(start?: number, end?: number): Float64Array; + + /** + * Determines whether the specified callback function returns true for any element of an array. + * @param callbackfn A function that accepts up to three arguments. The some method calls the + * callbackfn function for each element in array1 until the callbackfn returns true, or until + * the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + some(callbackfn: (value: number, index: number, array: Float64Array) => boolean, thisArg?: any): boolean; + + /** + * Sorts an array. + * @param compareFn The name of the function used to determine the order of the elements. If + * omitted, the elements are sorted in ascending, ASCII character order. + */ + sort(compareFn?: (a: number, b: number) => number): this; + + /** + * Gets a new Float64Array view of the ArrayBuffer store for this array, referencing the elements + * at begin, inclusive, up to end, exclusive. + * @param begin The index of the beginning of the array. + * @param end The index of the end of the array. + */ + subarray(begin: number, end?: number): Float64Array; + + /** + * Converts a number to a string by using the current locale. + */ + toLocaleString(): string; + + /** + * Returns a string representation of an array. + */ + toString(): string; + + [index: number]: number; +} + +interface Float64ArrayConstructor { + readonly prototype: Float64Array; + new(length: number): Float64Array; + new(arrayOrArrayBuffer: ArrayLike | ArrayBufferLike): Float64Array; + new(buffer: ArrayBufferLike, byteOffset: number, length?: number): Float64Array; + + /** + * The size in bytes of each element in the array. + */ + readonly BYTES_PER_ELEMENT: number; + + /** + * Returns a new array from a set of elements. + * @param items A set of elements to include in the new array object. + */ + of(...items: number[]): Float64Array; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + * @param mapfn A mapping function to call on every element of the array. + * @param thisArg Value of 'this' used to invoke the mapfn. + */ + from(arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Float64Array; + +} +declare const Float64Array: Float64ArrayConstructor; + +///////////////////////////// +/// ECMAScript Internationalization API +///////////////////////////// + +declare namespace Intl { + interface CollatorOptions { + usage?: string; + localeMatcher?: string; + numeric?: boolean; + caseFirst?: string; + sensitivity?: string; + ignorePunctuation?: boolean; + } + + interface ResolvedCollatorOptions { + locale: string; + usage: string; + sensitivity: string; + ignorePunctuation: boolean; + collation: string; + caseFirst: string; + numeric: boolean; + } + + interface Collator { + compare(x: string, y: string): number; + resolvedOptions(): ResolvedCollatorOptions; + } + var Collator: { + new(locales?: string | string[], options?: CollatorOptions): Collator; + (locales?: string | string[], options?: CollatorOptions): Collator; + supportedLocalesOf(locales: string | string[], options?: CollatorOptions): string[]; + }; + + interface NumberFormatOptions { + localeMatcher?: string; + style?: string; + currency?: string; + currencyDisplay?: string; + useGrouping?: boolean; + minimumIntegerDigits?: number; + minimumFractionDigits?: number; + maximumFractionDigits?: number; + minimumSignificantDigits?: number; + maximumSignificantDigits?: number; + } + + interface ResolvedNumberFormatOptions { + locale: string; + numberingSystem: string; + style: string; + currency?: string; + currencyDisplay?: string; + minimumIntegerDigits: number; + minimumFractionDigits: number; + maximumFractionDigits: number; + minimumSignificantDigits?: number; + maximumSignificantDigits?: number; + useGrouping: boolean; + } + + interface NumberFormat { + format(value: number): string; + resolvedOptions(): ResolvedNumberFormatOptions; + } + var NumberFormat: { + new(locales?: string | string[], options?: NumberFormatOptions): NumberFormat; + (locales?: string | string[], options?: NumberFormatOptions): NumberFormat; + supportedLocalesOf(locales: string | string[], options?: NumberFormatOptions): string[]; + }; + + interface DateTimeFormatOptions { + localeMatcher?: string; + weekday?: string; + era?: string; + year?: string; + month?: string; + day?: string; + hour?: string; + minute?: string; + second?: string; + timeZoneName?: string; + formatMatcher?: string; + hour12?: boolean; + timeZone?: string; + } + + interface ResolvedDateTimeFormatOptions { + locale: string; + calendar: string; + numberingSystem: string; + timeZone: string; + hour12?: boolean; + weekday?: string; + era?: string; + year?: string; + month?: string; + day?: string; + hour?: string; + minute?: string; + second?: string; + timeZoneName?: string; + } + + interface DateTimeFormat { + format(date?: Date | number): string; + resolvedOptions(): ResolvedDateTimeFormatOptions; + } + var DateTimeFormat: { + new(locales?: string | string[], options?: DateTimeFormatOptions): DateTimeFormat; + (locales?: string | string[], options?: DateTimeFormatOptions): DateTimeFormat; + supportedLocalesOf(locales: string | string[], options?: DateTimeFormatOptions): string[]; + }; +} + +interface String { + /** + * Determines whether two strings are equivalent in the current or specified locale. + * @param that String to compare to target string + * @param locales A locale string or array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used. This parameter must conform to BCP 47 standards; see the Intl.Collator object for details. + * @param options An object that contains one or more properties that specify comparison options. see the Intl.Collator object for details. + */ + localeCompare(that: string, locales?: string | string[], options?: Intl.CollatorOptions): number; +} + +interface Number { + /** + * Converts a number to a string by using the current or specified locale. + * @param locales A locale string or array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used. + * @param options An object that contains one or more properties that specify comparison options. + */ + toLocaleString(locales?: string | string[], options?: Intl.NumberFormatOptions): string; +} + +interface Date { + /** + * Converts a date and time to a string by using the current or specified locale. + * @param locales A locale string or array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used. + * @param options An object that contains one or more properties that specify comparison options. + */ + toLocaleString(locales?: string | string[], options?: Intl.DateTimeFormatOptions): string; + /** + * Converts a date to a string by using the current or specified locale. + * @param locales A locale string or array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used. + * @param options An object that contains one or more properties that specify comparison options. + */ + toLocaleDateString(locales?: string | string[], options?: Intl.DateTimeFormatOptions): string; + + /** + * Converts a time to a string by using the current or specified locale. + * @param locales A locale string or array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used. + * @param options An object that contains one or more properties that specify comparison options. + */ + toLocaleTimeString(locales?: string | string[], options?: Intl.DateTimeFormatOptions): string; +} diff --git a/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es6.d.ts b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es6.d.ts new file mode 100644 index 0000000..6149c4a --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.es6.d.ts @@ -0,0 +1,25 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +/// +/// +/// +/// +/// diff --git a/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.esnext.array.d.ts b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.esnext.array.d.ts new file mode 100644 index 0000000..6c75122 --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.esnext.array.d.ts @@ -0,0 +1,223 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +interface ReadonlyArray { + + /** + * Calls a defined callback function on each element of an array. Then, flattens the result into + * a new array. + * This is identical to a map followed by flat with depth 1. + * + * @param callback A function that accepts up to three arguments. The flatMap method calls the + * callback function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callback function. If + * thisArg is omitted, undefined is used as the this value. + */ + flatMap ( + callback: (this: This, value: T, index: number, array: T[]) => U|ReadonlyArray, + thisArg?: This + ): U[] + + + /** + * Returns a new array with all sub-array elements concatenated into it recursively up to the + * specified depth. + * + * @param depth The maximum recursion depth + */ + flat(this: + ReadonlyArray | + + ReadonlyArray> | + ReadonlyArray[]> | + ReadonlyArray[][]> | + ReadonlyArray[][][]> | + + ReadonlyArray>> | + ReadonlyArray[][]>> | + ReadonlyArray>[][]> | + ReadonlyArray[]>[]> | + ReadonlyArray>[]> | + ReadonlyArray[]>> | + + ReadonlyArray>>> | + ReadonlyArray[]>>> | + ReadonlyArray>[]>> | + ReadonlyArray>>[]> | + + ReadonlyArray>>>>, + depth: 4): U[]; + + /** + * Returns a new array with all sub-array elements concatenated into it recursively up to the + * specified depth. + * + * @param depth The maximum recursion depth + */ + flat(this: + ReadonlyArray | + + ReadonlyArray[][]> | + ReadonlyArray[]> | + ReadonlyArray> | + + ReadonlyArray>> | + ReadonlyArray[]>> | + ReadonlyArray>[]> | + + ReadonlyArray>>>, + depth: 3): U[]; + + /** + * Returns a new array with all sub-array elements concatenated into it recursively up to the + * specified depth. + * + * @param depth The maximum recursion depth + */ + flat(this: + ReadonlyArray | + + ReadonlyArray> | + ReadonlyArray[]> | + + ReadonlyArray>>, + depth: 2): U[]; + + /** + * Returns a new array with all sub-array elements concatenated into it recursively up to the + * specified depth. + * + * @param depth The maximum recursion depth + */ + flat(this: + ReadonlyArray | + ReadonlyArray>, + depth?: 1 + ): U[]; + + /** + * Returns a new array with all sub-array elements concatenated into it recursively up to the + * specified depth. + * + * @param depth The maximum recursion depth + */ + flat(this: + ReadonlyArray, + depth: 0 + ): U[]; + + /** + * Returns a new array with all sub-array elements concatenated into it recursively up to the + * specified depth. If no depth is provided, flat method defaults to the depth of 1. + * + * @param depth The maximum recursion depth + */ + flat(depth?: number): any[]; + } + +interface Array { + + /** + * Calls a defined callback function on each element of an array. Then, flattens the result into + * a new array. + * This is identical to a map followed by flat with depth 1. + * + * @param callback A function that accepts up to three arguments. The flatMap method calls the + * callback function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callback function. If + * thisArg is omitted, undefined is used as the this value. + */ + flatMap ( + callback: (this: This, value: T, index: number, array: T[]) => U|ReadonlyArray, + thisArg?: This + ): U[] + + /** + * Returns a new array with all sub-array elements concatenated into it recursively up to the + * specified depth. + * + * @param depth The maximum recursion depth + */ + flat(this: U[][][][][][][][], depth: 7): U[]; + + /** + * Returns a new array with all sub-array elements concatenated into it recursively up to the + * specified depth. + * + * @param depth The maximum recursion depth + */ + flat(this: U[][][][][][][], depth: 6): U[]; + + /** + * Returns a new array with all sub-array elements concatenated into it recursively up to the + * specified depth. + * + * @param depth The maximum recursion depth + */ + flat(this: U[][][][][][], depth: 5): U[]; + + /** + * Returns a new array with all sub-array elements concatenated into it recursively up to the + * specified depth. + * + * @param depth The maximum recursion depth + */ + flat(this: U[][][][][], depth: 4): U[]; + + /** + * Returns a new array with all sub-array elements concatenated into it recursively up to the + * specified depth. + * + * @param depth The maximum recursion depth + */ + flat(this: U[][][][], depth: 3): U[]; + + /** + * Returns a new array with all sub-array elements concatenated into it recursively up to the + * specified depth. + * + * @param depth The maximum recursion depth + */ + flat(this: U[][][], depth: 2): U[]; + + /** + * Returns a new array with all sub-array elements concatenated into it recursively up to the + * specified depth. + * + * @param depth The maximum recursion depth + */ + flat(this: U[][], depth?: 1): U[]; + + /** + * Returns a new array with all sub-array elements concatenated into it recursively up to the + * specified depth. + * + * @param depth The maximum recursion depth + */ + flat(this: U[], depth: 0): U[]; + + /** + * Returns a new array with all sub-array elements concatenated into it recursively up to the + * specified depth. If no depth is provided, flat method defaults to the depth of 1. + * + * @param depth The maximum recursion depth + */ + flat(depth?: number): any[]; +} diff --git a/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.esnext.asynciterable.d.ts b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.esnext.asynciterable.d.ts new file mode 100644 index 0000000..38e12a7 --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.esnext.asynciterable.d.ts @@ -0,0 +1,44 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +/// +/// + +interface SymbolConstructor { + /** + * A method that returns the default async iterator for an object. Called by the semantics of + * the for-await-of statement. + */ + readonly asyncIterator: symbol; +} + +interface AsyncIterator { + next(value?: any): Promise>; + return?(value?: any): Promise>; + throw?(e?: any): Promise>; +} + +interface AsyncIterable { + [Symbol.asyncIterator](): AsyncIterator; +} + +interface AsyncIterableIterator extends AsyncIterator { + [Symbol.asyncIterator](): AsyncIterableIterator; +} \ No newline at end of file diff --git a/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.esnext.bigint.d.ts b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.esnext.bigint.d.ts new file mode 100644 index 0000000..ccb73be --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.esnext.bigint.d.ts @@ -0,0 +1,629 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +interface BigInt { + /** + * Returns a string representation of an object. + * @param radix Specifies a radix for converting numeric values to strings. + */ + toString(radix?: number): string; + + /** Returns a string representation appropriate to the host environment's current locale. */ + toLocaleString(): string; + + /** Returns the primitive value of the specified object. */ + valueOf(): bigint; + + readonly [Symbol.toStringTag]: "BigInt"; +} + +interface BigIntConstructor { + (value?: any): bigint; + readonly prototype: BigInt; + + /** + * Interprets the low bits of a BigInt as a 2's-complement signed integer. + * All higher bits are discarded. + * @param bits The number of low bits to use + * @param int The BigInt whose bits to extract + */ + asIntN(bits: number, int: bigint): bigint; + /** + * Interprets the low bits of a BigInt as an unsigned integer. + * All higher bits are discarded. + * @param bits The number of low bits to use + * @param int The BigInt whose bits to extract + */ + asUintN(bits: number, int: bigint): bigint; +} + +declare const BigInt: BigIntConstructor; + +/** + * A typed array of 64-bit signed integer values. The contents are initialized to 0. If the + * requested number of bytes could not be allocated, an exception is raised. + */ +interface BigInt64Array { + /** The size in bytes of each element in the array. */ + readonly BYTES_PER_ELEMENT: number; + + /** The ArrayBuffer instance referenced by the array. */ + readonly buffer: ArrayBufferLike; + + /** The length in bytes of the array. */ + readonly byteLength: number; + + /** The offset in bytes of the array. */ + readonly byteOffset: number; + + /** + * Returns the this object after copying a section of the array identified by start and end + * to the same array starting at position target + * @param target If target is negative, it is treated as length+target where length is the + * length of the array. + * @param start If start is negative, it is treated as length+start. If end is negative, it + * is treated as length+end. + * @param end If not specified, length of the this object is used as its default value. + */ + copyWithin(target: number, start: number, end?: number): this; + + /** Yields index, value pairs for every entry in the array. */ + entries(): IterableIterator<[number, bigint]>; + + /** + * Determines whether all the members of an array satisfy the specified test. + * @param callbackfn A function that accepts up to three arguments. The every method calls + * the callbackfn function for each element in the array until the callbackfn returns false, + * or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + every(callbackfn: (value: bigint, index: number, array: BigInt64Array) => boolean, thisArg?: any): boolean; + + /** + * Returns the this object after filling the section identified by start and end with value + * @param value value to fill array section with + * @param start index to start filling the array at. If start is negative, it is treated as + * length+start where length is the length of the array. + * @param end index to stop filling the array at. If end is negative, it is treated as + * length+end. + */ + fill(value: bigint, start?: number, end?: number): this; + + /** + * Returns the elements of an array that meet the condition specified in a callback function. + * @param callbackfn A function that accepts up to three arguments. The filter method calls + * the callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + filter(callbackfn: (value: bigint, index: number, array: BigInt64Array) => any, thisArg?: any): BigInt64Array; + + /** + * Returns the value of the first element in the array where predicate is true, and undefined + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, find + * immediately returns that element value. Otherwise, find returns undefined. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + find(predicate: (value: bigint, index: number, array: BigInt64Array) => boolean, thisArg?: any): bigint | undefined; + + /** + * Returns the index of the first element in the array where predicate is true, and -1 + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, + * findIndex immediately returns that element index. Otherwise, findIndex returns -1. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + findIndex(predicate: (value: bigint, index: number, array: BigInt64Array) => boolean, thisArg?: any): number; + + /** + * Performs the specified action for each element in an array. + * @param callbackfn A function that accepts up to three arguments. forEach calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + forEach(callbackfn: (value: bigint, index: number, array: BigInt64Array) => void, thisArg?: any): void; + + /** + * Determines whether an array includes a certain element, returning true or false as appropriate. + * @param searchElement The element to search for. + * @param fromIndex The position in this array at which to begin searching for searchElement. + */ + includes(searchElement: bigint, fromIndex?: number): boolean; + + /** + * Returns the index of the first occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + indexOf(searchElement: bigint, fromIndex?: number): number; + + /** + * Adds all the elements of an array separated by the specified separator string. + * @param separator A string used to separate one element of an array from the next in the + * resulting String. If omitted, the array elements are separated with a comma. + */ + join(separator?: string): string; + + /** Yields each index in the array. */ + keys(): IterableIterator; + + /** + * Returns the index of the last occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + lastIndexOf(searchElement: bigint, fromIndex?: number): number; + + /** The length of the array. */ + readonly length: number; + + /** + * Calls a defined callback function on each element of an array, and returns an array that + * contains the results. + * @param callbackfn A function that accepts up to three arguments. The map method calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + map(callbackfn: (value: bigint, index: number, array: BigInt64Array) => bigint, thisArg?: any): BigInt64Array; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: bigint, currentValue: bigint, currentIndex: number, array: BigInt64Array) => bigint): bigint; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: U, currentValue: bigint, currentIndex: number, array: BigInt64Array) => U, initialValue: U): U; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an + * argument instead of an array value. + */ + reduceRight(callbackfn: (previousValue: bigint, currentValue: bigint, currentIndex: number, array: BigInt64Array) => bigint): bigint; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduceRight(callbackfn: (previousValue: U, currentValue: bigint, currentIndex: number, array: BigInt64Array) => U, initialValue: U): U; + + /** Reverses the elements in the array. */ + reverse(): this; + + /** + * Sets a value or an array of values. + * @param array A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: ArrayLike, offset?: number): void; + + /** + * Returns a section of an array. + * @param start The beginning of the specified portion of the array. + * @param end The end of the specified portion of the array. + */ + slice(start?: number, end?: number): BigInt64Array; + + /** + * Determines whether the specified callback function returns true for any element of an array. + * @param callbackfn A function that accepts up to three arguments. The some method calls the + * callbackfn function for each element in the array until the callbackfn returns true, or until + * the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + some(callbackfn: (value: bigint, index: number, array: BigInt64Array) => boolean, thisArg?: any): boolean; + + /** + * Sorts the array. + * @param compareFn The function used to determine the order of the elements. If omitted, the elements are sorted in ascending order. + */ + sort(compareFn?: (a: bigint, b: bigint) => number | bigint): this; + + /** + * Gets a new BigInt64Array view of the ArrayBuffer store for this array, referencing the elements + * at begin, inclusive, up to end, exclusive. + * @param begin The index of the beginning of the array. + * @param end The index of the end of the array. + */ + subarray(begin: number, end?: number): BigInt64Array; + + /** Converts the array to a string by using the current locale. */ + toLocaleString(): string; + + /** Returns a string representation of the array. */ + toString(): string; + + /** Yields each value in the array. */ + values(): IterableIterator; + + [Symbol.iterator](): IterableIterator; + + readonly [Symbol.toStringTag]: "BigInt64Array"; + + [index: number]: bigint; +} + +interface BigInt64ArrayConstructor { + readonly prototype: BigInt64Array; + new(length?: number): BigInt64Array; + new(array: Iterable): BigInt64Array; + new(buffer: ArrayBufferLike, byteOffset?: number, length?: number): BigInt64Array; + + /** The size in bytes of each element in the array. */ + readonly BYTES_PER_ELEMENT: number; + + /** + * Returns a new array from a set of elements. + * @param items A set of elements to include in the new array object. + */ + of(...items: bigint[]): BigInt64Array; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + * @param mapfn A mapping function to call on every element of the array. + * @param thisArg Value of 'this' used to invoke the mapfn. + */ + from(arrayLike: ArrayLike): BigInt64Array; + from(arrayLike: ArrayLike, mapfn: (v: U, k: number) => bigint, thisArg?: any): BigInt64Array; +} + +declare const BigInt64Array: BigInt64ArrayConstructor; + +/** + * A typed array of 64-bit unsigned integer values. The contents are initialized to 0. If the + * requested number of bytes could not be allocated, an exception is raised. + */ +interface BigUint64Array { + /** The size in bytes of each element in the array. */ + readonly BYTES_PER_ELEMENT: number; + + /** The ArrayBuffer instance referenced by the array. */ + readonly buffer: ArrayBufferLike; + + /** The length in bytes of the array. */ + readonly byteLength: number; + + /** The offset in bytes of the array. */ + readonly byteOffset: number; + + /** + * Returns the this object after copying a section of the array identified by start and end + * to the same array starting at position target + * @param target If target is negative, it is treated as length+target where length is the + * length of the array. + * @param start If start is negative, it is treated as length+start. If end is negative, it + * is treated as length+end. + * @param end If not specified, length of the this object is used as its default value. + */ + copyWithin(target: number, start: number, end?: number): this; + + /** Yields index, value pairs for every entry in the array. */ + entries(): IterableIterator<[number, bigint]>; + + /** + * Determines whether all the members of an array satisfy the specified test. + * @param callbackfn A function that accepts up to three arguments. The every method calls + * the callbackfn function for each element in the array until the callbackfn returns false, + * or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + every(callbackfn: (value: bigint, index: number, array: BigUint64Array) => boolean, thisArg?: any): boolean; + + /** + * Returns the this object after filling the section identified by start and end with value + * @param value value to fill array section with + * @param start index to start filling the array at. If start is negative, it is treated as + * length+start where length is the length of the array. + * @param end index to stop filling the array at. If end is negative, it is treated as + * length+end. + */ + fill(value: bigint, start?: number, end?: number): this; + + /** + * Returns the elements of an array that meet the condition specified in a callback function. + * @param callbackfn A function that accepts up to three arguments. The filter method calls + * the callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + filter(callbackfn: (value: bigint, index: number, array: BigUint64Array) => any, thisArg?: any): BigUint64Array; + + /** + * Returns the value of the first element in the array where predicate is true, and undefined + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, find + * immediately returns that element value. Otherwise, find returns undefined. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + find(predicate: (value: bigint, index: number, array: BigUint64Array) => boolean, thisArg?: any): bigint | undefined; + + /** + * Returns the index of the first element in the array where predicate is true, and -1 + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, + * findIndex immediately returns that element index. Otherwise, findIndex returns -1. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + findIndex(predicate: (value: bigint, index: number, array: BigUint64Array) => boolean, thisArg?: any): number; + + /** + * Performs the specified action for each element in an array. + * @param callbackfn A function that accepts up to three arguments. forEach calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + forEach(callbackfn: (value: bigint, index: number, array: BigUint64Array) => void, thisArg?: any): void; + + /** + * Determines whether an array includes a certain element, returning true or false as appropriate. + * @param searchElement The element to search for. + * @param fromIndex The position in this array at which to begin searching for searchElement. + */ + includes(searchElement: bigint, fromIndex?: number): boolean; + + /** + * Returns the index of the first occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + indexOf(searchElement: bigint, fromIndex?: number): number; + + /** + * Adds all the elements of an array separated by the specified separator string. + * @param separator A string used to separate one element of an array from the next in the + * resulting String. If omitted, the array elements are separated with a comma. + */ + join(separator?: string): string; + + /** Yields each index in the array. */ + keys(): IterableIterator; + + /** + * Returns the index of the last occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + lastIndexOf(searchElement: bigint, fromIndex?: number): number; + + /** The length of the array. */ + readonly length: number; + + /** + * Calls a defined callback function on each element of an array, and returns an array that + * contains the results. + * @param callbackfn A function that accepts up to three arguments. The map method calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + map(callbackfn: (value: bigint, index: number, array: BigUint64Array) => bigint, thisArg?: any): BigUint64Array; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: bigint, currentValue: bigint, currentIndex: number, array: BigUint64Array) => bigint): bigint; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: U, currentValue: bigint, currentIndex: number, array: BigUint64Array) => U, initialValue: U): U; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an + * argument instead of an array value. + */ + reduceRight(callbackfn: (previousValue: bigint, currentValue: bigint, currentIndex: number, array: BigUint64Array) => bigint): bigint; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduceRight(callbackfn: (previousValue: U, currentValue: bigint, currentIndex: number, array: BigUint64Array) => U, initialValue: U): U; + + /** Reverses the elements in the array. */ + reverse(): this; + + /** + * Sets a value or an array of values. + * @param array A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: ArrayLike, offset?: number): void; + + /** + * Returns a section of an array. + * @param start The beginning of the specified portion of the array. + * @param end The end of the specified portion of the array. + */ + slice(start?: number, end?: number): BigUint64Array; + + /** + * Determines whether the specified callback function returns true for any element of an array. + * @param callbackfn A function that accepts up to three arguments. The some method calls the + * callbackfn function for each element in the array until the callbackfn returns true, or until + * the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + some(callbackfn: (value: bigint, index: number, array: BigUint64Array) => boolean, thisArg?: any): boolean; + + /** + * Sorts the array. + * @param compareFn The function used to determine the order of the elements. If omitted, the elements are sorted in ascending order. + */ + sort(compareFn?: (a: bigint, b: bigint) => number | bigint): this; + + /** + * Gets a new BigUint64Array view of the ArrayBuffer store for this array, referencing the elements + * at begin, inclusive, up to end, exclusive. + * @param begin The index of the beginning of the array. + * @param end The index of the end of the array. + */ + subarray(begin: number, end?: number): BigUint64Array; + + /** Converts the array to a string by using the current locale. */ + toLocaleString(): string; + + /** Returns a string representation of the array. */ + toString(): string; + + /** Yields each value in the array. */ + values(): IterableIterator; + + [Symbol.iterator](): IterableIterator; + + readonly [Symbol.toStringTag]: "BigUint64Array"; + + [index: number]: bigint; +} + +interface BigUint64ArrayConstructor { + readonly prototype: BigUint64Array; + new(length?: number): BigUint64Array; + new(array: Iterable): BigUint64Array; + new(buffer: ArrayBufferLike, byteOffset?: number, length?: number): BigUint64Array; + + /** The size in bytes of each element in the array. */ + readonly BYTES_PER_ELEMENT: number; + + /** + * Returns a new array from a set of elements. + * @param items A set of elements to include in the new array object. + */ + of(...items: bigint[]): BigUint64Array; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + * @param mapfn A mapping function to call on every element of the array. + * @param thisArg Value of 'this' used to invoke the mapfn. + */ + from(arrayLike: ArrayLike): BigUint64Array; + from(arrayLike: ArrayLike, mapfn: (v: U, k: number) => bigint, thisArg?: any): BigUint64Array; +} + +declare const BigUint64Array: BigUint64ArrayConstructor; + +interface DataView { + /** + * Gets the BigInt64 value at the specified byte offset from the start of the view. There is + * no alignment constraint; multi-byte values may be fetched from any offset. + * @param byteOffset The place in the buffer at which the value should be retrieved. + */ + getBigInt64(byteOffset: number, littleEndian?: boolean): bigint; + + /** + * Gets the BigUint64 value at the specified byte offset from the start of the view. There is + * no alignment constraint; multi-byte values may be fetched from any offset. + * @param byteOffset The place in the buffer at which the value should be retrieved. + */ + getBigUint64(byteOffset: number, littleEndian?: boolean): bigint; + + /** + * Stores a BigInt64 value at the specified byte offset from the start of the view. + * @param byteOffset The place in the buffer at which the value should be set. + * @param value The value to set. + * @param littleEndian If false or undefined, a big-endian value should be written, + * otherwise a little-endian value should be written. + */ + setBigInt64(byteOffset: number, value: bigint, littleEndian?: boolean): void; + + /** + * Stores a BigUint64 value at the specified byte offset from the start of the view. + * @param byteOffset The place in the buffer at which the value should be set. + * @param value The value to set. + * @param littleEndian If false or undefined, a big-endian value should be written, + * otherwise a little-endian value should be written. + */ + setBigUint64(byteOffset: number, value: bigint, littleEndian?: boolean): void; +} \ No newline at end of file diff --git a/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.esnext.d.ts b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.esnext.d.ts new file mode 100644 index 0000000..f213999 --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.esnext.d.ts @@ -0,0 +1,26 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +/// +/// +/// +/// +/// +/// diff --git a/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.esnext.full.d.ts b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.esnext.full.d.ts new file mode 100644 index 0000000..e3c4fa5 --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.esnext.full.d.ts @@ -0,0 +1,25 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +/// +/// +/// +/// +/// \ No newline at end of file diff --git a/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.esnext.intl.d.ts b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.esnext.intl.d.ts new file mode 100644 index 0000000..73a45ee --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.esnext.intl.d.ts @@ -0,0 +1,32 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +declare namespace Intl { + type NumberFormatPartTypes = "currency" | "decimal" | "fraction" | "group" | "infinity" | "integer" | "literal" | "minusSign" | "nan" | "plusSign" | "percentSign"; + + interface NumberFormatPart { + type: NumberFormatPartTypes; + value: string; + } + + interface NumberFormat { + formatToParts(number?: number): NumberFormatPart[]; + } + } diff --git a/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.esnext.symbol.d.ts b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.esnext.symbol.d.ts new file mode 100644 index 0000000..98293ea --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.esnext.symbol.d.ts @@ -0,0 +1,26 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +interface Symbol { + /** + * expose the [[Description]] internal slot of a symbol directly + */ + readonly description: string; +} diff --git a/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.scripthost.d.ts b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.scripthost.d.ts new file mode 100644 index 0000000..5aab121 --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.scripthost.d.ts @@ -0,0 +1,327 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + + + +///////////////////////////// +/// Windows Script Host APIS +///////////////////////////// + + +interface ActiveXObject { + new (s: string): any; +} +declare var ActiveXObject: ActiveXObject; + +interface ITextWriter { + Write(s: string): void; + WriteLine(s: string): void; + Close(): void; +} + +interface TextStreamBase { + /** + * The column number of the current character position in an input stream. + */ + Column: number; + + /** + * The current line number in an input stream. + */ + Line: number; + + /** + * Closes a text stream. + * It is not necessary to close standard streams; they close automatically when the process ends. If + * you close a standard stream, be aware that any other pointers to that standard stream become invalid. + */ + Close(): void; +} + +interface TextStreamWriter extends TextStreamBase { + /** + * Sends a string to an output stream. + */ + Write(s: string): void; + + /** + * Sends a specified number of blank lines (newline characters) to an output stream. + */ + WriteBlankLines(intLines: number): void; + + /** + * Sends a string followed by a newline character to an output stream. + */ + WriteLine(s: string): void; +} + +interface TextStreamReader extends TextStreamBase { + /** + * Returns a specified number of characters from an input stream, starting at the current pointer position. + * Does not return until the ENTER key is pressed. + * Can only be used on a stream in reading mode; causes an error in writing or appending mode. + */ + Read(characters: number): string; + + /** + * Returns all characters from an input stream. + * Can only be used on a stream in reading mode; causes an error in writing or appending mode. + */ + ReadAll(): string; + + /** + * Returns an entire line from an input stream. + * Although this method extracts the newline character, it does not add it to the returned string. + * Can only be used on a stream in reading mode; causes an error in writing or appending mode. + */ + ReadLine(): string; + + /** + * Skips a specified number of characters when reading from an input text stream. + * Can only be used on a stream in reading mode; causes an error in writing or appending mode. + * @param characters Positive number of characters to skip forward. (Backward skipping is not supported.) + */ + Skip(characters: number): void; + + /** + * Skips the next line when reading from an input text stream. + * Can only be used on a stream in reading mode, not writing or appending mode. + */ + SkipLine(): void; + + /** + * Indicates whether the stream pointer position is at the end of a line. + */ + AtEndOfLine: boolean; + + /** + * Indicates whether the stream pointer position is at the end of a stream. + */ + AtEndOfStream: boolean; +} + +declare var WScript: { + /** + * Outputs text to either a message box (under WScript.exe) or the command console window followed by + * a newline (under CScript.exe). + */ + Echo(s: any): void; + + /** + * Exposes the write-only error output stream for the current script. + * Can be accessed only while using CScript.exe. + */ + StdErr: TextStreamWriter; + + /** + * Exposes the write-only output stream for the current script. + * Can be accessed only while using CScript.exe. + */ + StdOut: TextStreamWriter; + Arguments: { length: number; Item(n: number): string; }; + + /** + * The full path of the currently running script. + */ + ScriptFullName: string; + + /** + * Forces the script to stop immediately, with an optional exit code. + */ + Quit(exitCode?: number): number; + + /** + * The Windows Script Host build version number. + */ + BuildVersion: number; + + /** + * Fully qualified path of the host executable. + */ + FullName: string; + + /** + * Gets/sets the script mode - interactive(true) or batch(false). + */ + Interactive: boolean; + + /** + * The name of the host executable (WScript.exe or CScript.exe). + */ + Name: string; + + /** + * Path of the directory containing the host executable. + */ + Path: string; + + /** + * The filename of the currently running script. + */ + ScriptName: string; + + /** + * Exposes the read-only input stream for the current script. + * Can be accessed only while using CScript.exe. + */ + StdIn: TextStreamReader; + + /** + * Windows Script Host version + */ + Version: string; + + /** + * Connects a COM object's event sources to functions named with a given prefix, in the form prefix_event. + */ + ConnectObject(objEventSource: any, strPrefix: string): void; + + /** + * Creates a COM object. + * @param strProgiID + * @param strPrefix Function names in the form prefix_event will be bound to this object's COM events. + */ + CreateObject(strProgID: string, strPrefix?: string): any; + + /** + * Disconnects a COM object from its event sources. + */ + DisconnectObject(obj: any): void; + + /** + * Retrieves an existing object with the specified ProgID from memory, or creates a new one from a file. + * @param strPathname Fully qualified path to the file containing the object persisted to disk. + * For objects in memory, pass a zero-length string. + * @param strProgID + * @param strPrefix Function names in the form prefix_event will be bound to this object's COM events. + */ + GetObject(strPathname: string, strProgID?: string, strPrefix?: string): any; + + /** + * Suspends script execution for a specified length of time, then continues execution. + * @param intTime Interval (in milliseconds) to suspend script execution. + */ + Sleep(intTime: number): void; +}; + +/** + * WSH is an alias for WScript under Windows Script Host + */ +declare var WSH: typeof WScript; + +/** + * Represents an Automation SAFEARRAY + */ +declare class SafeArray { + private constructor(); + private SafeArray_typekey: SafeArray; +} + +/** + * Allows enumerating over a COM collection, which may not have indexed item access. + */ +interface Enumerator { + /** + * Returns true if the current item is the last one in the collection, or the collection is empty, + * or the current item is undefined. + */ + atEnd(): boolean; + + /** + * Returns the current item in the collection + */ + item(): T; + + /** + * Resets the current item in the collection to the first item. If there are no items in the collection, + * the current item is set to undefined. + */ + moveFirst(): void; + + /** + * Moves the current item to the next item in the collection. If the enumerator is at the end of + * the collection or the collection is empty, the current item is set to undefined. + */ + moveNext(): void; +} + +interface EnumeratorConstructor { + new (safearray: SafeArray): Enumerator; + new (collection: { Item(index: any): T }): Enumerator; + new (collection: any): Enumerator; +} + +declare var Enumerator: EnumeratorConstructor; + +/** + * Enables reading from a COM safe array, which might have an alternate lower bound, or multiple dimensions. + */ +interface VBArray { + /** + * Returns the number of dimensions (1-based). + */ + dimensions(): number; + + /** + * Takes an index for each dimension in the array, and returns the item at the corresponding location. + */ + getItem(dimension1Index: number, ...dimensionNIndexes: number[]): T; + + /** + * Returns the smallest available index for a given dimension. + * @param dimension 1-based dimension (defaults to 1) + */ + lbound(dimension?: number): number; + + /** + * Returns the largest available index for a given dimension. + * @param dimension 1-based dimension (defaults to 1) + */ + ubound(dimension?: number): number; + + /** + * Returns a Javascript array with all the elements in the VBArray. If there are multiple dimensions, + * each successive dimension is appended to the end of the array. + * Example: [[1,2,3],[4,5,6]] becomes [1,2,3,4,5,6] + */ + toArray(): T[]; +} + +interface VBArrayConstructor { + new (safeArray: SafeArray): VBArray; +} + +declare var VBArray: VBArrayConstructor; + +/** + * Automation date (VT_DATE) + */ +declare class VarDate { + private constructor(); + private VarDate_typekey: VarDate; +} + +interface DateConstructor { + new (vd: VarDate): Date; +} + +interface Date { + getVarDate: () => VarDate; +} diff --git a/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.webworker.d.ts b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.webworker.d.ts new file mode 100644 index 0000000..2387027 --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.webworker.d.ts @@ -0,0 +1,4294 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +///////////////////////////// +/// Worker APIs +///////////////////////////// + +interface AddEventListenerOptions extends EventListenerOptions { + once?: boolean; + passive?: boolean; +} + +interface AesCbcParams extends Algorithm { + iv: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; +} + +interface AesCtrParams extends Algorithm { + counter: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; + length: number; +} + +interface AesDerivedKeyParams extends Algorithm { + length: number; +} + +interface AesGcmParams extends Algorithm { + additionalData?: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; + iv: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; + tagLength?: number; +} + +interface AesKeyAlgorithm extends KeyAlgorithm { + length: number; +} + +interface AesKeyGenParams extends Algorithm { + length: number; +} + +interface Algorithm { + name: string; +} + +interface BlobPropertyBag { + endings?: EndingType; + type?: string; +} + +interface CacheQueryOptions { + cacheName?: string; + ignoreMethod?: boolean; + ignoreSearch?: boolean; + ignoreVary?: boolean; +} + +interface ClientQueryOptions { + includeUncontrolled?: boolean; + type?: ClientTypes; +} + +interface CloseEventInit extends EventInit { + code?: number; + reason?: string; + wasClean?: boolean; +} + +interface CryptoKeyPair { + privateKey?: CryptoKey; + publicKey?: CryptoKey; +} + +interface CustomEventInit extends EventInit { + detail?: T; +} + +interface DOMMatrix2DInit { + a?: number; + b?: number; + c?: number; + d?: number; + e?: number; + f?: number; + m11?: number; + m12?: number; + m21?: number; + m22?: number; + m41?: number; + m42?: number; +} + +interface DOMMatrixInit extends DOMMatrix2DInit { + is2D?: boolean; + m13?: number; + m14?: number; + m23?: number; + m24?: number; + m31?: number; + m32?: number; + m33?: number; + m34?: number; + m43?: number; + m44?: number; +} + +interface DOMPointInit { + w?: number; + x?: number; + y?: number; + z?: number; +} + +interface DOMQuadInit { + p1?: DOMPointInit; + p2?: DOMPointInit; + p3?: DOMPointInit; + p4?: DOMPointInit; +} + +interface DOMRectInit { + height?: number; + width?: number; + x?: number; + y?: number; +} + +interface EcKeyGenParams extends Algorithm { + namedCurve: NamedCurve; +} + +interface EcKeyImportParams extends Algorithm { + namedCurve: NamedCurve; +} + +interface EcdhKeyDeriveParams extends Algorithm { + public: CryptoKey; +} + +interface EcdsaParams extends Algorithm { + hash: HashAlgorithmIdentifier; +} + +interface ErrorEventInit extends EventInit { + colno?: number; + error?: any; + filename?: string; + lineno?: number; + message?: string; +} + +interface EventInit { + bubbles?: boolean; + cancelable?: boolean; + composed?: boolean; +} + +interface EventListenerOptions { + capture?: boolean; +} + +interface ExtendableEventInit extends EventInit { +} + +interface ExtendableMessageEventInit extends ExtendableEventInit { + data?: any; + lastEventId?: string; + origin?: string; + ports?: MessagePort[]; + source?: Client | ServiceWorker | MessagePort | null; +} + +interface FetchEventInit extends ExtendableEventInit { + clientId?: string; + preloadResponse?: Promise; + request: Request; + resultingClientId?: string; + targetClientId?: string; +} + +interface FilePropertyBag extends BlobPropertyBag { + lastModified?: number; +} + +interface GetNotificationOptions { + tag?: string; +} + +interface HmacImportParams extends Algorithm { + hash: HashAlgorithmIdentifier; + length?: number; +} + +interface HmacKeyGenParams extends Algorithm { + hash: HashAlgorithmIdentifier; + length?: number; +} + +interface IDBIndexParameters { + multiEntry?: boolean; + unique?: boolean; +} + +interface IDBObjectStoreParameters { + autoIncrement?: boolean; + keyPath?: string | string[] | null; +} + +interface IDBVersionChangeEventInit extends EventInit { + newVersion?: number | null; + oldVersion?: number; +} + +interface JsonWebKey { + alg?: string; + crv?: string; + d?: string; + dp?: string; + dq?: string; + e?: string; + ext?: boolean; + k?: string; + key_ops?: string[]; + kty?: string; + n?: string; + oth?: RsaOtherPrimesInfo[]; + p?: string; + q?: string; + qi?: string; + use?: string; + x?: string; + y?: string; +} + +interface KeyAlgorithm { + name: string; +} + +interface MessageEventInit extends EventInit { + data?: any; + lastEventId?: string; + origin?: string; + ports?: MessagePort[]; + source?: MessageEventSource | null; +} + +interface NavigationPreloadState { + enabled?: boolean; + headerValue?: string; +} + +interface NotificationAction { + action: string; + icon?: string; + title: string; +} + +interface NotificationEventInit extends ExtendableEventInit { + action?: string; + notification: Notification; +} + +interface NotificationOptions { + actions?: NotificationAction[]; + badge?: string; + body?: string; + data?: any; + dir?: NotificationDirection; + icon?: string; + image?: string; + lang?: string; + renotify?: boolean; + requireInteraction?: boolean; + silent?: boolean; + tag?: string; + timestamp?: number; + vibrate?: VibratePattern; +} + +interface Pbkdf2Params extends Algorithm { + hash: HashAlgorithmIdentifier; + iterations: number; + salt: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; +} + +interface PerformanceObserverInit { + buffered?: boolean; + entryTypes: string[]; +} + +interface PipeOptions { + preventAbort?: boolean; + preventCancel?: boolean; + preventClose?: boolean; +} + +interface ProgressEventInit extends EventInit { + lengthComputable?: boolean; + loaded?: number; + total?: number; +} + +interface PromiseRejectionEventInit extends EventInit { + promise: Promise; + reason?: any; +} + +interface PushEventInit extends ExtendableEventInit { + data?: PushMessageDataInit; +} + +interface PushSubscriptionChangeInit extends ExtendableEventInit { + newSubscription?: PushSubscription; + oldSubscription?: PushSubscription; +} + +interface PushSubscriptionJSON { + endpoint?: string; + expirationTime?: number | null; + keys?: Record; +} + +interface PushSubscriptionOptionsInit { + applicationServerKey?: BufferSource | string | null; + userVisibleOnly?: boolean; +} + +interface QueuingStrategy { + highWaterMark?: number; + size?: QueuingStrategySizeCallback; +} + +interface RegistrationOptions { + scope?: string; + type?: WorkerType; + updateViaCache?: ServiceWorkerUpdateViaCache; +} + +interface RequestInit { + body?: BodyInit | null; + cache?: RequestCache; + credentials?: RequestCredentials; + headers?: HeadersInit; + integrity?: string; + keepalive?: boolean; + method?: string; + mode?: RequestMode; + redirect?: RequestRedirect; + referrer?: string; + referrerPolicy?: ReferrerPolicy; + signal?: AbortSignal | null; + window?: any; +} + +interface ResponseInit { + headers?: HeadersInit; + status?: number; + statusText?: string; +} + +interface RsaHashedImportParams extends Algorithm { + hash: HashAlgorithmIdentifier; +} + +interface RsaHashedKeyGenParams extends RsaKeyGenParams { + hash: HashAlgorithmIdentifier; +} + +interface RsaKeyGenParams extends Algorithm { + modulusLength: number; + publicExponent: BigInteger; +} + +interface RsaOaepParams extends Algorithm { + label?: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; +} + +interface RsaOtherPrimesInfo { + d?: string; + r?: string; + t?: string; +} + +interface RsaPssParams extends Algorithm { + saltLength: number; +} + +interface StorageEstimate { + quota?: number; + usage?: number; +} + +interface SyncEventInit extends ExtendableEventInit { + lastChance?: boolean; + tag: string; +} + +interface TextDecodeOptions { + stream?: boolean; +} + +interface TextDecoderOptions { + fatal?: boolean; + ignoreBOM?: boolean; +} + +interface Transformer { + flush?: TransformStreamDefaultControllerCallback; + readableType?: undefined; + start?: TransformStreamDefaultControllerCallback; + transform?: TransformStreamDefaultControllerTransformCallback; + writableType?: undefined; +} + +interface UnderlyingByteSource { + autoAllocateChunkSize?: number; + cancel?: ReadableStreamErrorCallback; + pull?: ReadableByteStreamControllerCallback; + start?: ReadableByteStreamControllerCallback; + type: "bytes"; +} + +interface UnderlyingSink { + abort?: WritableStreamErrorCallback; + close?: WritableStreamDefaultControllerCloseCallback; + start?: WritableStreamDefaultControllerStartCallback; + type?: undefined; + write?: WritableStreamDefaultControllerWriteCallback; +} + +interface UnderlyingSource { + cancel?: ReadableStreamErrorCallback; + pull?: ReadableStreamDefaultControllerCallback; + start?: ReadableStreamDefaultControllerCallback; + type?: undefined; +} + +interface WebGLContextAttributes { + alpha?: GLboolean; + antialias?: GLboolean; + depth?: GLboolean; + failIfMajorPerformanceCaveat?: boolean; + powerPreference?: WebGLPowerPreference; + premultipliedAlpha?: GLboolean; + preserveDrawingBuffer?: GLboolean; + stencil?: GLboolean; +} + +interface WebGLContextEventInit extends EventInit { + statusMessage?: string; +} + +interface WorkerOptions { + credentials?: RequestCredentials; + name?: string; + type?: WorkerType; +} + +interface EventListener { + (evt: Event): void; +} + +interface ANGLE_instanced_arrays { + drawArraysInstancedANGLE(mode: GLenum, first: GLint, count: GLsizei, primcount: GLsizei): void; + drawElementsInstancedANGLE(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr, primcount: GLsizei): void; + vertexAttribDivisorANGLE(index: GLuint, divisor: GLuint): void; + readonly VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE: GLenum; +} + +interface AbortController { + /** + * Returns the AbortSignal object associated with this object. + */ + readonly signal: AbortSignal; + /** + * Invoking this method will set this object's AbortSignal's aborted flag and + * signal to any observers that the associated activity is to be aborted. + */ + abort(): void; +} + +declare var AbortController: { + prototype: AbortController; + new(): AbortController; +}; + +interface AbortSignalEventMap { + "abort": ProgressEvent; +} + +interface AbortSignal extends EventTarget { + /** + * Returns true if this AbortSignal's AbortController has signaled to abort, and false + * otherwise. + */ + readonly aborted: boolean; + onabort: ((this: AbortSignal, ev: ProgressEvent) => any) | null; + addEventListener(type: K, listener: (this: AbortSignal, ev: AbortSignalEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: AbortSignal, ev: AbortSignalEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var AbortSignal: { + prototype: AbortSignal; + new(): AbortSignal; +}; + +interface AbstractWorkerEventMap { + "error": ErrorEvent; +} + +interface AbstractWorker { + onerror: ((this: AbstractWorker, ev: ErrorEvent) => any) | null; + addEventListener(type: K, listener: (this: AbstractWorker, ev: AbstractWorkerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: AbstractWorker, ev: AbstractWorkerEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +interface AesCfbParams extends Algorithm { + iv: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; +} + +interface AesCmacParams extends Algorithm { + length: number; +} + +interface Blob { + readonly size: number; + readonly type: string; + slice(start?: number, end?: number, contentType?: string): Blob; +} + +declare var Blob: { + prototype: Blob; + new(blobParts?: BlobPart[], options?: BlobPropertyBag): Blob; +}; + +interface Body { + readonly body: ReadableStream | null; + readonly bodyUsed: boolean; + arrayBuffer(): Promise; + blob(): Promise; + formData(): Promise; + json(): Promise; + text(): Promise; +} + +interface BroadcastChannelEventMap { + "message": MessageEvent; + "messageerror": MessageEvent; +} + +interface BroadcastChannel extends EventTarget { + /** + * Returns the channel name (as passed to the constructor). + */ + readonly name: string; + onmessage: ((this: BroadcastChannel, ev: MessageEvent) => any) | null; + onmessageerror: ((this: BroadcastChannel, ev: MessageEvent) => any) | null; + /** + * Closes the BroadcastChannel object, opening it up to garbage collection. + */ + close(): void; + /** + * Sends the given message to other BroadcastChannel objects set up for this channel. Messages can be structured objects, e.g. nested objects and arrays. + */ + postMessage(message: any): void; + addEventListener(type: K, listener: (this: BroadcastChannel, ev: BroadcastChannelEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: BroadcastChannel, ev: BroadcastChannelEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var BroadcastChannel: { + prototype: BroadcastChannel; + new(name: string): BroadcastChannel; +}; + +interface BroadcastChannelEventMap { + message: MessageEvent; + messageerror: MessageEvent; +} + +interface ByteLengthQueuingStrategy extends QueuingStrategy { + highWaterMark: number; + size(chunk: ArrayBufferView): number; +} + +declare var ByteLengthQueuingStrategy: { + prototype: ByteLengthQueuingStrategy; + new(options: { highWaterMark: number }): ByteLengthQueuingStrategy; +}; + +interface Cache { + add(request: RequestInfo): Promise; + addAll(requests: RequestInfo[]): Promise; + delete(request: RequestInfo, options?: CacheQueryOptions): Promise; + keys(request?: RequestInfo, options?: CacheQueryOptions): Promise>; + match(request: RequestInfo, options?: CacheQueryOptions): Promise; + matchAll(request?: RequestInfo, options?: CacheQueryOptions): Promise>; + put(request: RequestInfo, response: Response): Promise; +} + +declare var Cache: { + prototype: Cache; + new(): Cache; +}; + +interface CacheStorage { + delete(cacheName: string): Promise; + has(cacheName: string): Promise; + keys(): Promise; + match(request: RequestInfo, options?: CacheQueryOptions): Promise; + open(cacheName: string): Promise; +} + +declare var CacheStorage: { + prototype: CacheStorage; + new(): CacheStorage; +}; + +interface CanvasGradient { + /** + * Adds a color stop with the given color to the gradient at the given offset. 0.0 is the offset + * at one end of the gradient, 1.0 is the offset at the other end. + * Throws an "IndexSizeError" DOMException if the offset + * is out of range. Throws a "SyntaxError" DOMException if + * the color cannot be parsed. + */ + addColorStop(offset: number, color: string): void; +} + +declare var CanvasGradient: { + prototype: CanvasGradient; + new(): CanvasGradient; +}; + +interface CanvasPath { + arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, anticlockwise?: boolean): void; + arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void; + bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void; + closePath(): void; + ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number, anticlockwise?: boolean): void; + lineTo(x: number, y: number): void; + moveTo(x: number, y: number): void; + quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void; + rect(x: number, y: number, w: number, h: number): void; +} + +interface CanvasPattern { + /** + * Sets the transformation matrix that will be used when rendering the pattern during a fill or + * stroke painting operation. + */ + setTransform(transform?: DOMMatrix2DInit): void; +} + +declare var CanvasPattern: { + prototype: CanvasPattern; + new(): CanvasPattern; +}; + +interface Client { + readonly id: string; + readonly type: ClientTypes; + readonly url: string; + postMessage(message: any, transfer?: Transferable[]): void; +} + +declare var Client: { + prototype: Client; + new(): Client; +}; + +interface Clients { + claim(): Promise; + get(id: string): Promise; + matchAll(options?: ClientQueryOptions): Promise>; + openWindow(url: string): Promise; +} + +declare var Clients: { + prototype: Clients; + new(): Clients; +}; + +interface CloseEvent extends Event { + readonly code: number; + readonly reason: string; + readonly wasClean: boolean; + /** @deprecated */ + initCloseEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, wasCleanArg: boolean, codeArg: number, reasonArg: string): void; +} + +declare var CloseEvent: { + prototype: CloseEvent; + new(type: string, eventInitDict?: CloseEventInit): CloseEvent; +}; + +interface ConcatParams extends Algorithm { + algorithmId: Uint8Array; + hash?: string | Algorithm; + partyUInfo: Uint8Array; + partyVInfo: Uint8Array; + privateInfo?: Uint8Array; + publicInfo?: Uint8Array; +} + +interface Console { + memory: any; + assert(condition?: boolean, message?: string, ...data: any[]): void; + clear(): void; + count(label?: string): void; + debug(message?: any, ...optionalParams: any[]): void; + dir(value?: any, ...optionalParams: any[]): void; + dirxml(value: any): void; + error(message?: any, ...optionalParams: any[]): void; + exception(message?: string, ...optionalParams: any[]): void; + group(groupTitle?: string, ...optionalParams: any[]): void; + groupCollapsed(groupTitle?: string, ...optionalParams: any[]): void; + groupEnd(): void; + info(message?: any, ...optionalParams: any[]): void; + log(message?: any, ...optionalParams: any[]): void; + markTimeline(label?: string): void; + profile(reportName?: string): void; + profileEnd(reportName?: string): void; + table(...tabularData: any[]): void; + time(label?: string): void; + timeEnd(label?: string): void; + timeStamp(label?: string): void; + timeline(label?: string): void; + timelineEnd(label?: string): void; + trace(message?: any, ...optionalParams: any[]): void; + warn(message?: any, ...optionalParams: any[]): void; +} + +declare var Console: { + prototype: Console; + new(): Console; +}; + +interface CountQueuingStrategy extends QueuingStrategy { + highWaterMark: number; + size(chunk: any): 1; +} + +declare var CountQueuingStrategy: { + prototype: CountQueuingStrategy; + new(options: { highWaterMark: number }): CountQueuingStrategy; +}; + +interface Crypto { + readonly subtle: SubtleCrypto; + getRandomValues(array: T): T; +} + +declare var Crypto: { + prototype: Crypto; + new(): Crypto; +}; + +interface CryptoKey { + readonly algorithm: KeyAlgorithm; + readonly extractable: boolean; + readonly type: KeyType; + readonly usages: KeyUsage[]; +} + +declare var CryptoKey: { + prototype: CryptoKey; + new(): CryptoKey; +}; + +interface CustomEvent extends Event { + /** + * Returns any custom data event was created with. + * Typically used for synthetic events. + */ + readonly detail: T; + initCustomEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, detailArg: T): void; +} + +declare var CustomEvent: { + prototype: CustomEvent; + new(typeArg: string, eventInitDict?: CustomEventInit): CustomEvent; +}; + +interface DOMException { + readonly code: number; + readonly message: string; + readonly name: string; + readonly ABORT_ERR: number; + readonly DATA_CLONE_ERR: number; + readonly DOMSTRING_SIZE_ERR: number; + readonly HIERARCHY_REQUEST_ERR: number; + readonly INDEX_SIZE_ERR: number; + readonly INUSE_ATTRIBUTE_ERR: number; + readonly INVALID_ACCESS_ERR: number; + readonly INVALID_CHARACTER_ERR: number; + readonly INVALID_MODIFICATION_ERR: number; + readonly INVALID_NODE_TYPE_ERR: number; + readonly INVALID_STATE_ERR: number; + readonly NAMESPACE_ERR: number; + readonly NETWORK_ERR: number; + readonly NOT_FOUND_ERR: number; + readonly NOT_SUPPORTED_ERR: number; + readonly NO_DATA_ALLOWED_ERR: number; + readonly NO_MODIFICATION_ALLOWED_ERR: number; + readonly QUOTA_EXCEEDED_ERR: number; + readonly SECURITY_ERR: number; + readonly SYNTAX_ERR: number; + readonly TIMEOUT_ERR: number; + readonly TYPE_MISMATCH_ERR: number; + readonly URL_MISMATCH_ERR: number; + readonly VALIDATION_ERR: number; + readonly WRONG_DOCUMENT_ERR: number; +} + +declare var DOMException: { + prototype: DOMException; + new(message?: string, name?: string): DOMException; + readonly ABORT_ERR: number; + readonly DATA_CLONE_ERR: number; + readonly DOMSTRING_SIZE_ERR: number; + readonly HIERARCHY_REQUEST_ERR: number; + readonly INDEX_SIZE_ERR: number; + readonly INUSE_ATTRIBUTE_ERR: number; + readonly INVALID_ACCESS_ERR: number; + readonly INVALID_CHARACTER_ERR: number; + readonly INVALID_MODIFICATION_ERR: number; + readonly INVALID_NODE_TYPE_ERR: number; + readonly INVALID_STATE_ERR: number; + readonly NAMESPACE_ERR: number; + readonly NETWORK_ERR: number; + readonly NOT_FOUND_ERR: number; + readonly NOT_SUPPORTED_ERR: number; + readonly NO_DATA_ALLOWED_ERR: number; + readonly NO_MODIFICATION_ALLOWED_ERR: number; + readonly QUOTA_EXCEEDED_ERR: number; + readonly SECURITY_ERR: number; + readonly SYNTAX_ERR: number; + readonly TIMEOUT_ERR: number; + readonly TYPE_MISMATCH_ERR: number; + readonly URL_MISMATCH_ERR: number; + readonly VALIDATION_ERR: number; + readonly WRONG_DOCUMENT_ERR: number; +}; + +interface DOMMatrix extends DOMMatrixReadOnly { + a: number; + b: number; + c: number; + d: number; + e: number; + f: number; + m11: number; + m12: number; + m13: number; + m14: number; + m21: number; + m22: number; + m23: number; + m24: number; + m31: number; + m32: number; + m33: number; + m34: number; + m41: number; + m42: number; + m43: number; + m44: number; + invertSelf(): DOMMatrix; + multiplySelf(other?: DOMMatrixInit): DOMMatrix; + preMultiplySelf(other?: DOMMatrixInit): DOMMatrix; + rotateAxisAngleSelf(x?: number, y?: number, z?: number, angle?: number): DOMMatrix; + rotateFromVectorSelf(x?: number, y?: number): DOMMatrix; + rotateSelf(rotX?: number, rotY?: number, rotZ?: number): DOMMatrix; + scale3dSelf(scale?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; + scaleSelf(scaleX?: number, scaleY?: number, scaleZ?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; + skewXSelf(sx?: number): DOMMatrix; + skewYSelf(sy?: number): DOMMatrix; + translateSelf(tx?: number, ty?: number, tz?: number): DOMMatrix; +} + +declare var DOMMatrix: { + prototype: DOMMatrix; + new(init?: string | number[]): DOMMatrix; + fromFloat32Array(array32: Float32Array): DOMMatrix; + fromFloat64Array(array64: Float64Array): DOMMatrix; + fromMatrix(other?: DOMMatrixInit): DOMMatrix; +}; + +interface DOMMatrixReadOnly { + readonly a: number; + readonly b: number; + readonly c: number; + readonly d: number; + readonly e: number; + readonly f: number; + readonly is2D: boolean; + readonly isIdentity: boolean; + readonly m11: number; + readonly m12: number; + readonly m13: number; + readonly m14: number; + readonly m21: number; + readonly m22: number; + readonly m23: number; + readonly m24: number; + readonly m31: number; + readonly m32: number; + readonly m33: number; + readonly m34: number; + readonly m41: number; + readonly m42: number; + readonly m43: number; + readonly m44: number; + flipX(): DOMMatrix; + flipY(): DOMMatrix; + inverse(): DOMMatrix; + multiply(other?: DOMMatrixInit): DOMMatrix; + rotate(rotX?: number, rotY?: number, rotZ?: number): DOMMatrix; + rotateAxisAngle(x?: number, y?: number, z?: number, angle?: number): DOMMatrix; + rotateFromVector(x?: number, y?: number): DOMMatrix; + scale(scaleX?: number, scaleY?: number, scaleZ?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; + scale3d(scale?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; + skewX(sx?: number): DOMMatrix; + skewY(sy?: number): DOMMatrix; + toFloat32Array(): Float32Array; + toFloat64Array(): Float64Array; + toJSON(): any; + transformPoint(point?: DOMPointInit): DOMPoint; + translate(tx?: number, ty?: number, tz?: number): DOMMatrix; +} + +declare var DOMMatrixReadOnly: { + prototype: DOMMatrixReadOnly; + new(init?: string | number[]): DOMMatrixReadOnly; + fromFloat32Array(array32: Float32Array): DOMMatrixReadOnly; + fromFloat64Array(array64: Float64Array): DOMMatrixReadOnly; + fromMatrix(other?: DOMMatrixInit): DOMMatrixReadOnly; +}; + +interface DOMPoint extends DOMPointReadOnly { + w: number; + x: number; + y: number; + z: number; +} + +declare var DOMPoint: { + prototype: DOMPoint; + new(x?: number, y?: number, z?: number, w?: number): DOMPoint; + fromPoint(other?: DOMPointInit): DOMPoint; +}; + +interface DOMPointReadOnly { + readonly w: number; + readonly x: number; + readonly y: number; + readonly z: number; + matrixTransform(matrix?: DOMMatrixInit): DOMPoint; + toJSON(): any; +} + +declare var DOMPointReadOnly: { + prototype: DOMPointReadOnly; + new(x?: number, y?: number, z?: number, w?: number): DOMPointReadOnly; + fromPoint(other?: DOMPointInit): DOMPointReadOnly; +}; + +interface DOMQuad { + readonly p1: DOMPoint; + readonly p2: DOMPoint; + readonly p3: DOMPoint; + readonly p4: DOMPoint; + getBounds(): DOMRect; + toJSON(): any; +} + +declare var DOMQuad: { + prototype: DOMQuad; + new(p1?: DOMPointInit, p2?: DOMPointInit, p3?: DOMPointInit, p4?: DOMPointInit): DOMQuad; + fromQuad(other?: DOMQuadInit): DOMQuad; + fromRect(other?: DOMRectInit): DOMQuad; +}; + +interface DOMRect extends DOMRectReadOnly { + height: number; + width: number; + x: number; + y: number; +} + +declare var DOMRect: { + prototype: DOMRect; + new(x?: number, y?: number, width?: number, height?: number): DOMRect; + fromRect(other?: DOMRectInit): DOMRect; +}; + +interface DOMRectReadOnly { + readonly bottom: number; + readonly height: number; + readonly left: number; + readonly right: number; + readonly top: number; + readonly width: number; + readonly x: number; + readonly y: number; + toJSON(): any; +} + +declare var DOMRectReadOnly: { + prototype: DOMRectReadOnly; + new(x?: number, y?: number, width?: number, height?: number): DOMRectReadOnly; + fromRect(other?: DOMRectInit): DOMRectReadOnly; +}; + +interface DOMStringList { + /** + * Returns the number of strings in strings. + */ + readonly length: number; + /** + * Returns true if strings contains string, and false + * otherwise. + */ + contains(string: string): boolean; + /** + * Returns the string with index index from strings. + */ + item(index: number): string | null; + [index: number]: string; +} + +declare var DOMStringList: { + prototype: DOMStringList; + new(): DOMStringList; +}; + +interface DedicatedWorkerGlobalScopeEventMap extends WorkerGlobalScopeEventMap { + "message": MessageEvent; +} + +interface DedicatedWorkerGlobalScope extends WorkerGlobalScope { + onmessage: ((this: DedicatedWorkerGlobalScope, ev: MessageEvent) => any) | null; + close(): void; + postMessage(message: any, transfer?: Transferable[]): void; + addEventListener(type: K, listener: (this: DedicatedWorkerGlobalScope, ev: DedicatedWorkerGlobalScopeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: DedicatedWorkerGlobalScope, ev: DedicatedWorkerGlobalScopeEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var DedicatedWorkerGlobalScope: { + prototype: DedicatedWorkerGlobalScope; + new(): DedicatedWorkerGlobalScope; +}; + +interface DhImportKeyParams extends Algorithm { + generator: Uint8Array; + prime: Uint8Array; +} + +interface DhKeyAlgorithm extends KeyAlgorithm { + generator: Uint8Array; + prime: Uint8Array; +} + +interface DhKeyDeriveParams extends Algorithm { + public: CryptoKey; +} + +interface DhKeyGenParams extends Algorithm { + generator: Uint8Array; + prime: Uint8Array; +} + +interface EXT_blend_minmax { + readonly MAX_EXT: GLenum; + readonly MIN_EXT: GLenum; +} + +interface EXT_frag_depth { +} + +interface EXT_sRGB { + readonly FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT: GLenum; + readonly SRGB8_ALPHA8_EXT: GLenum; + readonly SRGB_ALPHA_EXT: GLenum; + readonly SRGB_EXT: GLenum; +} + +interface EXT_shader_texture_lod { +} + +interface EXT_texture_filter_anisotropic { + readonly MAX_TEXTURE_MAX_ANISOTROPY_EXT: GLenum; + readonly TEXTURE_MAX_ANISOTROPY_EXT: GLenum; +} + +interface ErrorEvent extends Event { + readonly colno: number; + readonly error: any; + readonly filename: string; + readonly lineno: number; + readonly message: string; +} + +declare var ErrorEvent: { + prototype: ErrorEvent; + new(type: string, eventInitDict?: ErrorEventInit): ErrorEvent; +}; + +interface Event { + /** + * Returns true or false depending on how event was initialized. True if event goes through its target's ancestors in reverse tree order, and false otherwise. + */ + readonly bubbles: boolean; + cancelBubble: boolean; + readonly cancelable: boolean; + /** + * Returns true or false depending on how event was initialized. True if event invokes listeners past a ShadowRoot node that is the root of its target, and false otherwise. + */ + readonly composed: boolean; + /** + * Returns the object whose event listener's callback is currently being + * invoked. + */ + readonly currentTarget: EventTarget | null; + readonly defaultPrevented: boolean; + readonly eventPhase: number; + /** + * Returns true if event was dispatched by the user agent, and + * false otherwise. + */ + readonly isTrusted: boolean; + returnValue: boolean; + /** + * Returns the object to which event is dispatched (its target). + */ + readonly target: EventTarget | null; + /** + * Returns the event's timestamp as the number of milliseconds measured relative to + * the time origin. + */ + readonly timeStamp: number; + /** + * Returns the type of event, e.g. + * "click", "hashchange", or + * "submit". + */ + readonly type: string; + composedPath(): EventTarget[]; + initEvent(type: string, bubbles?: boolean, cancelable?: boolean): void; + preventDefault(): void; + /** + * Invoking this method prevents event from reaching + * any registered event listeners after the current one finishes running and, when dispatched in a tree, also prevents event from reaching any + * other objects. + */ + stopImmediatePropagation(): void; + /** + * When dispatched in a tree, invoking this method prevents event from reaching any objects other than the current object. + */ + stopPropagation(): void; + readonly AT_TARGET: number; + readonly BUBBLING_PHASE: number; + readonly CAPTURING_PHASE: number; + readonly NONE: number; +} + +declare var Event: { + prototype: Event; + new(type: string, eventInitDict?: EventInit): Event; + readonly AT_TARGET: number; + readonly BUBBLING_PHASE: number; + readonly CAPTURING_PHASE: number; + readonly NONE: number; +}; + +interface EventListenerObject { + handleEvent(evt: Event): void; +} + +interface EventSource extends EventTarget { + readonly CLOSED: number; + readonly CONNECTING: number; + readonly OPEN: number; + onerror: (evt: MessageEvent) => any; + onmessage: (evt: MessageEvent) => any; + onopen: (evt: MessageEvent) => any; + readonly readyState: number; + readonly url: string; + readonly withCredentials: boolean; + close(): void; +} + +declare var EventSource: { + prototype: EventSource; + new(url: string, eventSourceInitDict?: EventSourceInit): EventSource; +}; + +interface EventSourceInit { + readonly withCredentials: boolean; +} + +interface EventTarget { + /** + * Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched. + * The options argument sets listener-specific options. For compatibility this can be a + * boolean, in which case the method behaves exactly as if the value was specified as options's capture. + * When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET. + * When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in §2.8 Observing event listeners. + * When set to true, options's once indicates that the callback will only be invoked once after which the event listener will + * be removed. + * The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture. + */ + addEventListener(type: string, listener: EventListenerOrEventListenerObject | null, options?: boolean | AddEventListenerOptions): void; + /** + * Dispatches a synthetic event event to target and returns true + * if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise. + */ + dispatchEvent(event: Event): boolean; + /** + * Removes the event listener in target's event listener list with the same type, callback, and options. + */ + removeEventListener(type: string, callback: EventListenerOrEventListenerObject | null, options?: EventListenerOptions | boolean): void; +} + +declare var EventTarget: { + prototype: EventTarget; + new(): EventTarget; +}; + +interface ExtendableEvent extends Event { + waitUntil(f: Promise): void; +} + +declare var ExtendableEvent: { + prototype: ExtendableEvent; + new(type: string, eventInitDict?: ExtendableEventInit): ExtendableEvent; +}; + +interface ExtendableMessageEvent extends ExtendableEvent { + readonly data: any; + readonly lastEventId: string; + readonly origin: string; + readonly ports: ReadonlyArray; + readonly source: Client | ServiceWorker | MessagePort | null; +} + +declare var ExtendableMessageEvent: { + prototype: ExtendableMessageEvent; + new(type: string, eventInitDict?: ExtendableMessageEventInit): ExtendableMessageEvent; +}; + +interface FetchEvent extends ExtendableEvent { + readonly clientId: string; + readonly preloadResponse: Promise; + readonly request: Request; + readonly resultingClientId: string; + readonly targetClientId: string; + respondWith(r: Promise): void; +} + +declare var FetchEvent: { + prototype: FetchEvent; + new(type: string, eventInitDict: FetchEventInit): FetchEvent; +}; + +interface File extends Blob { + readonly lastModified: number; + readonly name: string; +} + +declare var File: { + prototype: File; + new(fileBits: BlobPart[], fileName: string, options?: FilePropertyBag): File; +}; + +interface FileList { + readonly length: number; + item(index: number): File | null; + [index: number]: File; +} + +declare var FileList: { + prototype: FileList; + new(): FileList; +}; + +interface FileReaderEventMap { + "abort": ProgressEvent; + "error": ProgressEvent; + "load": ProgressEvent; + "loadend": ProgressEvent; + "loadstart": ProgressEvent; + "progress": ProgressEvent; +} + +interface FileReader extends EventTarget { + readonly error: DOMException | null; + onabort: ((this: FileReader, ev: ProgressEvent) => any) | null; + onerror: ((this: FileReader, ev: ProgressEvent) => any) | null; + onload: ((this: FileReader, ev: ProgressEvent) => any) | null; + onloadend: ((this: FileReader, ev: ProgressEvent) => any) | null; + onloadstart: ((this: FileReader, ev: ProgressEvent) => any) | null; + onprogress: ((this: FileReader, ev: ProgressEvent) => any) | null; + readonly readyState: number; + readonly result: string | ArrayBuffer | null; + abort(): void; + readAsArrayBuffer(blob: Blob): void; + readAsBinaryString(blob: Blob): void; + readAsDataURL(blob: Blob): void; + readAsText(blob: Blob, encoding?: string): void; + readonly DONE: number; + readonly EMPTY: number; + readonly LOADING: number; + addEventListener(type: K, listener: (this: FileReader, ev: FileReaderEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: FileReader, ev: FileReaderEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var FileReader: { + prototype: FileReader; + new(): FileReader; + readonly DONE: number; + readonly EMPTY: number; + readonly LOADING: number; +}; + +interface FileReaderSync { + readAsArrayBuffer(blob: Blob): ArrayBuffer; + readAsBinaryString(blob: Blob): string; + readAsDataURL(blob: Blob): string; + readAsText(blob: Blob, encoding?: string): string; +} + +declare var FileReaderSync: { + prototype: FileReaderSync; + new(): FileReaderSync; +}; + +interface FormData { + append(name: string, value: string | Blob, fileName?: string): void; + delete(name: string): void; + get(name: string): FormDataEntryValue | null; + getAll(name: string): FormDataEntryValue[]; + has(name: string): boolean; + set(name: string, value: string | Blob, fileName?: string): void; + forEach(callbackfn: (value: FormDataEntryValue, key: string, parent: FormData) => void, thisArg?: any): void; +} + +declare var FormData: { + prototype: FormData; + new(): FormData; +}; + +interface GlobalFetch { + fetch(input: RequestInfo, init?: RequestInit): Promise; +} + +interface Headers { + append(name: string, value: string): void; + delete(name: string): void; + get(name: string): string | null; + has(name: string): boolean; + set(name: string, value: string): void; + forEach(callbackfn: (value: string, key: string, parent: Headers) => void, thisArg?: any): void; +} + +declare var Headers: { + prototype: Headers; + new(init?: HeadersInit): Headers; +}; + +interface HkdfCtrParams extends Algorithm { + context: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; + hash: string | Algorithm; + label: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; +} + +interface IDBArrayKey extends Array { +} + +interface IDBCursor { + /** + * Returns the direction ("next", "nextunique", "prev" or "prevunique") + * of the cursor. + */ + readonly direction: IDBCursorDirection; + /** + * Returns the key of the cursor. + * Throws a "InvalidStateError" DOMException if the cursor is advancing or is finished. + */ + readonly key: IDBValidKey | IDBKeyRange; + /** + * Returns the effective key of the cursor. + * Throws a "InvalidStateError" DOMException if the cursor is advancing or is finished. + */ + readonly primaryKey: IDBValidKey | IDBKeyRange; + /** + * Returns the IDBObjectStore or IDBIndex the cursor was opened from. + */ + readonly source: IDBObjectStore | IDBIndex; + /** + * Advances the cursor through the next count records in + * range. + */ + advance(count: number): void; + /** + * Advances the cursor to the next record in range matching or + * after key. + */ + continue(key?: IDBValidKey | IDBKeyRange): void; + /** + * Advances the cursor to the next record in range matching + * or after key and primaryKey. Throws an "InvalidAccessError" DOMException if the source is not an index. + */ + continuePrimaryKey(key: IDBValidKey | IDBKeyRange, primaryKey: IDBValidKey | IDBKeyRange): void; + /** + * Delete the record pointed at by the cursor with a new value. + * If successful, request's result will be undefined. + */ + delete(): IDBRequest; + /** + * Updated the record pointed at by the cursor with a new value. + * Throws a "DataError" DOMException if the effective object store uses in-line keys and the key would have changed. + * If successful, request's result will be the record's key. + */ + update(value: any): IDBRequest; +} + +declare var IDBCursor: { + prototype: IDBCursor; + new(): IDBCursor; +}; + +interface IDBCursorWithValue extends IDBCursor { + /** + * Returns the cursor's current value. + */ + readonly value: any; +} + +declare var IDBCursorWithValue: { + prototype: IDBCursorWithValue; + new(): IDBCursorWithValue; +}; + +interface IDBDatabaseEventMap { + "abort": Event; + "close": Event; + "error": Event; + "versionchange": IDBVersionChangeEvent; +} + +interface IDBDatabase extends EventTarget { + /** + * Returns the name of the database. + */ + readonly name: string; + /** + * Returns a list of the names of object stores in the database. + */ + readonly objectStoreNames: DOMStringList; + onabort: ((this: IDBDatabase, ev: Event) => any) | null; + onclose: ((this: IDBDatabase, ev: Event) => any) | null; + onerror: ((this: IDBDatabase, ev: Event) => any) | null; + onversionchange: ((this: IDBDatabase, ev: IDBVersionChangeEvent) => any) | null; + /** + * Returns the version of the database. + */ + readonly version: number; + /** + * Closes the connection once all running transactions have finished. + */ + close(): void; + /** + * Creates a new object store with the given name and options and returns a new IDBObjectStore. + * Throws a "InvalidStateError" DOMException if not called within an upgrade transaction. + */ + createObjectStore(name: string, optionalParameters?: IDBObjectStoreParameters): IDBObjectStore; + /** + * Deletes the object store with the given name. + * Throws a "InvalidStateError" DOMException if not called within an upgrade transaction. + */ + deleteObjectStore(name: string): void; + /** + * Returns a new transaction with the given mode ("readonly" or "readwrite") + * and scope which can be a single object store name or an array of names. + */ + transaction(storeNames: string | string[], mode?: IDBTransactionMode): IDBTransaction; + addEventListener(type: K, listener: (this: IDBDatabase, ev: IDBDatabaseEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: IDBDatabase, ev: IDBDatabaseEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var IDBDatabase: { + prototype: IDBDatabase; + new(): IDBDatabase; +}; + +interface IDBFactory { + /** + * Compares two values as keys. Returns -1 if key1 precedes key2, 1 if key2 precedes key1, and 0 if + * the keys are equal. + * Throws a "DataError" DOMException if either input is not a valid key. + */ + cmp(first: any, second: any): number; + /** + * Attempts to delete the named database. If the + * database already exists and there are open connections that don't close in response to a versionchange event, the request will be blocked until all they close. If the request + * is successful request's result will be null. + */ + deleteDatabase(name: string): IDBOpenDBRequest; + /** + * Attempts to open a connection to the named database with the specified version. If the database already exists + * with a lower version and there are open connections that don't close in response to a versionchange event, the request will be blocked until all they close, then an upgrade + * will occur. If the database already exists with a higher + * version the request will fail. If the request is + * successful request's result will + * be the connection. + */ + open(name: string, version?: number): IDBOpenDBRequest; +} + +declare var IDBFactory: { + prototype: IDBFactory; + new(): IDBFactory; +}; + +interface IDBIndex { + readonly keyPath: string | string[]; + readonly multiEntry: boolean; + /** + * Updates the name of the store to newName. + * Throws an "InvalidStateError" DOMException if not called within an upgrade + * transaction. + */ + name: string; + /** + * Returns the IDBObjectStore the index belongs to. + */ + readonly objectStore: IDBObjectStore; + readonly unique: boolean; + /** + * Retrieves the number of records matching the given key or key range in query. + * If successful, request's result will be the + * count. + */ + count(key?: IDBValidKey | IDBKeyRange): IDBRequest; + /** + * Retrieves the value of the first record matching the + * given key or key range in query. + * If successful, request's result will be the value, or undefined if there was no matching record. + */ + get(key: IDBValidKey | IDBKeyRange): IDBRequest; + /** + * Retrieves the values of the records matching the given key or key range in query (up to count if given). + * If successful, request's result will be an Array of the values. + */ + getAll(query?: IDBValidKey | IDBKeyRange, count?: number): IDBRequest; + /** + * Retrieves the keys of records matching the given key or key range in query (up to count if given). + * If successful, request's result will be an Array of the keys. + */ + getAllKeys(query?: IDBValidKey | IDBKeyRange, count?: number): IDBRequest; + /** + * Retrieves the key of the first record matching the + * given key or key range in query. + * If successful, request's result will be the key, or undefined if there was no matching record. + */ + getKey(key: IDBValidKey | IDBKeyRange): IDBRequest; + /** + * Opens a cursor over the records matching query, + * ordered by direction. If query is null, all records in index are matched. + * If successful, request's result will be an IDBCursorWithValue, or null if there were no matching records. + */ + openCursor(range?: IDBValidKey | IDBKeyRange, direction?: IDBCursorDirection): IDBRequest; + /** + * Opens a cursor with key only flag set over the records matching query, ordered by direction. If query is null, all records in index are matched. + * If successful, request's result will be an IDBCursor, or null if there were no matching records. + */ + openKeyCursor(range?: IDBValidKey | IDBKeyRange, direction?: IDBCursorDirection): IDBRequest; +} + +declare var IDBIndex: { + prototype: IDBIndex; + new(): IDBIndex; +}; + +interface IDBKeyRange { + /** + * Returns lower bound, or undefined if none. + */ + readonly lower: any; + /** + * Returns true if the lower open flag is set, and false otherwise. + */ + readonly lowerOpen: boolean; + /** + * Returns upper bound, or undefined if none. + */ + readonly upper: any; + /** + * Returns true if the upper open flag is set, and false otherwise. + */ + readonly upperOpen: boolean; + /** + * Returns true if key is included in the range, and false otherwise. + */ + includes(key: any): boolean; +} + +declare var IDBKeyRange: { + prototype: IDBKeyRange; + new(): IDBKeyRange; + /** + * Returns a new IDBKeyRange spanning from lower to upper. + * If lowerOpen is true, lower is not included in the range. + * If upperOpen is true, upper is not included in the range. + */ + bound(lower: any, upper: any, lowerOpen?: boolean, upperOpen?: boolean): IDBKeyRange; + /** + * Returns a new IDBKeyRange starting at key with no + * upper bound. If open is true, key is not included in the + * range. + */ + lowerBound(lower: any, open?: boolean): IDBKeyRange; + /** + * Returns a new IDBKeyRange spanning only key. + */ + only(value: any): IDBKeyRange; + /** + * Returns a new IDBKeyRange with no lower bound and ending at key. If open is true, key is not included in the range. + */ + upperBound(upper: any, open?: boolean): IDBKeyRange; +}; + +interface IDBObjectStore { + /** + * Returns true if the store has a key generator, and false otherwise. + */ + readonly autoIncrement: boolean; + /** + * Returns a list of the names of indexes in the store. + */ + readonly indexNames: DOMStringList; + /** + * Returns the key path of the store, or null if none. + */ + readonly keyPath: string | string[]; + /** + * Updates the name of the store to newName. + * Throws "InvalidStateError" DOMException if not called within an upgrade + * transaction. + */ + name: string; + /** + * Returns the associated transaction. + */ + readonly transaction: IDBTransaction; + add(value: any, key?: IDBValidKey | IDBKeyRange): IDBRequest; + /** + * Deletes all records in store. + * If successful, request's result will + * be undefined. + */ + clear(): IDBRequest; + /** + * Retrieves the number of records matching the + * given key or key range in query. + * If successful, request's result will be the count. + */ + count(key?: IDBValidKey | IDBKeyRange): IDBRequest; + /** + * Creates a new index in store with the given name, keyPath and options and returns a new IDBIndex. If the keyPath and options define constraints that cannot be + * satisfied with the data already in store the upgrade + * transaction will abort with + * a "ConstraintError" DOMException. + * Throws an "InvalidStateError" DOMException if not called within an upgrade + * transaction. + */ + createIndex(name: string, keyPath: string | string[], options?: IDBIndexParameters): IDBIndex; + /** + * Deletes records in store with the given key or in the given key range in query. + * If successful, request's result will + * be undefined. + */ + delete(key: IDBValidKey | IDBKeyRange): IDBRequest; + /** + * Deletes the index in store with the given name. + * Throws an "InvalidStateError" DOMException if not called within an upgrade + * transaction. + */ + deleteIndex(name: string): void; + /** + * Retrieves the value of the first record matching the + * given key or key range in query. + * If successful, request's result will be the value, or undefined if there was no matching record. + */ + get(query: IDBValidKey | IDBKeyRange): IDBRequest; + /** + * Retrieves the values of the records matching the + * given key or key range in query (up to count if given). + * If successful, request's result will + * be an Array of the values. + */ + getAll(query?: IDBValidKey | IDBKeyRange, count?: number): IDBRequest; + /** + * Retrieves the keys of records matching the + * given key or key range in query (up to count if given). + * If successful, request's result will + * be an Array of the keys. + */ + getAllKeys(query?: IDBValidKey | IDBKeyRange, count?: number): IDBRequest; + /** + * Retrieves the key of the first record matching the + * given key or key range in query. + * If successful, request's result will be the key, or undefined if there was no matching record. + */ + getKey(query: IDBValidKey | IDBKeyRange): IDBRequest; + index(name: string): IDBIndex; + /** + * Opens a cursor over the records matching query, + * ordered by direction. If query is null, all records in store are matched. + * If successful, request's result will be an IDBCursorWithValue pointing at the first matching record, or null if there were no matching records. + */ + openCursor(range?: IDBValidKey | IDBKeyRange, direction?: IDBCursorDirection): IDBRequest; + /** + * Opens a cursor with key only flag set over the records matching query, ordered by direction. If query is null, all records in store are matched. + * If successful, request's result will be an IDBCursor pointing at the first matching record, or + * null if there were no matching records. + */ + openKeyCursor(query?: IDBValidKey | IDBKeyRange, direction?: IDBCursorDirection): IDBRequest; + put(value: any, key?: IDBValidKey | IDBKeyRange): IDBRequest; +} + +declare var IDBObjectStore: { + prototype: IDBObjectStore; + new(): IDBObjectStore; +}; + +interface IDBOpenDBRequestEventMap extends IDBRequestEventMap { + "blocked": Event; + "upgradeneeded": IDBVersionChangeEvent; +} + +interface IDBOpenDBRequest extends IDBRequest { + onblocked: ((this: IDBOpenDBRequest, ev: Event) => any) | null; + onupgradeneeded: ((this: IDBOpenDBRequest, ev: IDBVersionChangeEvent) => any) | null; + addEventListener(type: K, listener: (this: IDBOpenDBRequest, ev: IDBOpenDBRequestEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: IDBOpenDBRequest, ev: IDBOpenDBRequestEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var IDBOpenDBRequest: { + prototype: IDBOpenDBRequest; + new(): IDBOpenDBRequest; +}; + +interface IDBRequestEventMap { + "error": Event; + "success": Event; +} + +interface IDBRequest extends EventTarget { + /** + * When a request is completed, returns the error (a DOMException), or null if the request succeeded. Throws + * a "InvalidStateError" DOMException if the request is still pending. + */ + readonly error: DOMException | null; + onerror: ((this: IDBRequest, ev: Event) => any) | null; + onsuccess: ((this: IDBRequest, ev: Event) => any) | null; + /** + * Returns "pending" until a request is complete, + * then returns "done". + */ + readonly readyState: IDBRequestReadyState; + /** + * When a request is completed, returns the result, + * or undefined if the request failed. Throws a + * "InvalidStateError" DOMException if the request is still pending. + */ + readonly result: T; + /** + * Returns the IDBObjectStore, IDBIndex, or IDBCursor the request was made against, or null if is was an open + * request. + */ + readonly source: IDBObjectStore | IDBIndex | IDBCursor; + /** + * Returns the IDBTransaction the request was made within. + * If this as an open request, then it returns an upgrade transaction while it is running, or null otherwise. + */ + readonly transaction: IDBTransaction | null; + addEventListener(type: K, listener: (this: IDBRequest, ev: IDBRequestEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: IDBRequest, ev: IDBRequestEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var IDBRequest: { + prototype: IDBRequest; + new(): IDBRequest; +}; + +interface IDBTransactionEventMap { + "abort": Event; + "complete": Event; + "error": Event; +} + +interface IDBTransaction extends EventTarget { + /** + * Returns the transaction's connection. + */ + readonly db: IDBDatabase; + /** + * If the transaction was aborted, returns the + * error (a DOMException) providing the reason. + */ + readonly error: DOMException; + /** + * Returns the mode the transaction was created with + * ("readonly" or "readwrite"), or "versionchange" for + * an upgrade transaction. + */ + readonly mode: IDBTransactionMode; + /** + * Returns a list of the names of object stores in the + * transaction's scope. For an upgrade transaction this is all object stores in the database. + */ + readonly objectStoreNames: DOMStringList; + onabort: ((this: IDBTransaction, ev: Event) => any) | null; + oncomplete: ((this: IDBTransaction, ev: Event) => any) | null; + onerror: ((this: IDBTransaction, ev: Event) => any) | null; + /** + * Aborts the transaction. All pending requests will fail with + * a "AbortError" DOMException and all changes made to the database will be + * reverted. + */ + abort(): void; + /** + * Returns an IDBObjectStore in the transaction's scope. + */ + objectStore(name: string): IDBObjectStore; + addEventListener(type: K, listener: (this: IDBTransaction, ev: IDBTransactionEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: IDBTransaction, ev: IDBTransactionEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var IDBTransaction: { + prototype: IDBTransaction; + new(): IDBTransaction; +}; + +interface IDBVersionChangeEvent extends Event { + readonly newVersion: number | null; + readonly oldVersion: number; +} + +declare var IDBVersionChangeEvent: { + prototype: IDBVersionChangeEvent; + new(type: string, eventInitDict?: IDBVersionChangeEventInit): IDBVersionChangeEvent; +}; + +interface ImageBitmap { + /** + * Returns the intrinsic height of the image, in CSS + * pixels. + */ + readonly height: number; + /** + * Returns the intrinsic width of the image, in CSS + * pixels. + */ + readonly width: number; + /** + * Releases imageBitmap's underlying bitmap data. + */ + close(): void; +} + +declare var ImageBitmap: { + prototype: ImageBitmap; + new(): ImageBitmap; +}; + +interface ImageBitmapOptions { + colorSpaceConversion?: "none" | "default"; + imageOrientation?: "none" | "flipY"; + premultiplyAlpha?: "none" | "premultiply" | "default"; + resizeHeight?: number; + resizeQuality?: "pixelated" | "low" | "medium" | "high"; + resizeWidth?: number; +} + +interface ImageData { + /** + * Returns the one-dimensional array containing the data in RGBA order, as integers in the + * range 0 to 255. + */ + readonly data: Uint8ClampedArray; + /** + * Returns the actual dimensions of the data in the ImageData object, in + * pixels. + */ + readonly height: number; + readonly width: number; +} + +declare var ImageData: { + prototype: ImageData; + new(width: number, height: number): ImageData; + new(array: Uint8ClampedArray, width: number, height: number): ImageData; +}; + +interface MessageChannel { + readonly port1: MessagePort; + readonly port2: MessagePort; +} + +declare var MessageChannel: { + prototype: MessageChannel; + new(): MessageChannel; +}; + +interface MessageEvent extends Event { + /** + * Returns the data of the message. + */ + readonly data: any; + /** + * Returns the last event ID string, for + * server-sent events. + */ + readonly lastEventId: string; + /** + * Returns the origin of the message, for server-sent events and + * cross-document messaging. + */ + readonly origin: string; + /** + * Returns the MessagePort array sent with the message, for cross-document + * messaging and channel messaging. + */ + readonly ports: ReadonlyArray; + /** + * Returns the WindowProxy of the source window, for cross-document + * messaging, and the MessagePort being attached, in the connect event fired at + * SharedWorkerGlobalScope objects. + */ + readonly source: MessageEventSource | null; +} + +declare var MessageEvent: { + prototype: MessageEvent; + new(type: string, eventInitDict?: MessageEventInit): MessageEvent; +}; + +interface MessagePortEventMap { + "message": MessageEvent; + "messageerror": MessageEvent; +} + +interface MessagePort extends EventTarget { + onmessage: ((this: MessagePort, ev: MessageEvent) => any) | null; + onmessageerror: ((this: MessagePort, ev: MessageEvent) => any) | null; + /** + * Disconnects the port, so that it is no longer active. + */ + close(): void; + /** + * Posts a message through the channel. Objects listed in transfer are + * transferred, not just cloned, meaning that they are no longer usable on the sending side. + * Throws a "DataCloneError" DOMException if + * transfer contains duplicate objects or port, or if message + * could not be cloned. + */ + postMessage(message: any, transfer?: Transferable[]): void; + /** + * Begins dispatching messages received on the port. + */ + start(): void; + addEventListener(type: K, listener: (this: MessagePort, ev: MessagePortEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: MessagePort, ev: MessagePortEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var MessagePort: { + prototype: MessagePort; + new(): MessagePort; +}; + +interface NavigationPreloadManager { + disable(): Promise; + enable(): Promise; + getState(): Promise; + setHeaderValue(value: string): Promise; +} + +declare var NavigationPreloadManager: { + prototype: NavigationPreloadManager; + new(): NavigationPreloadManager; +}; + +interface NavigatorBeacon { + sendBeacon(url: string, data?: Blob | Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | FormData | string | null): boolean; +} + +interface NavigatorConcurrentHardware { + readonly hardwareConcurrency: number; +} + +interface NavigatorID { + readonly appCodeName: string; + readonly appName: string; + readonly appVersion: string; + readonly platform: string; + readonly product: string; + readonly productSub: string; + readonly userAgent: string; + readonly vendor: string; + readonly vendorSub: string; +} + +interface NavigatorOnLine { + readonly onLine: boolean; +} + +interface NavigatorStorage { + readonly storage: StorageManager; +} + +interface NotificationEventMap { + "click": Event; + "close": Event; + "error": Event; + "show": Event; +} + +interface Notification extends EventTarget { + readonly actions: ReadonlyArray; + readonly badge: string; + readonly body: string; + readonly data: any; + readonly dir: NotificationDirection; + readonly icon: string; + readonly image: string; + readonly lang: string; + onclick: ((this: Notification, ev: Event) => any) | null; + onclose: ((this: Notification, ev: Event) => any) | null; + onerror: ((this: Notification, ev: Event) => any) | null; + onshow: ((this: Notification, ev: Event) => any) | null; + readonly renotify: boolean; + readonly requireInteraction: boolean; + readonly silent: boolean; + readonly tag: string; + readonly timestamp: number; + readonly title: string; + readonly vibrate: ReadonlyArray; + close(): void; + addEventListener(type: K, listener: (this: Notification, ev: NotificationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: Notification, ev: NotificationEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var Notification: { + prototype: Notification; + new(title: string, options?: NotificationOptions): Notification; + readonly maxActions: number; + readonly permission: NotificationPermission; +}; + +interface NotificationEvent extends ExtendableEvent { + readonly action: string; + readonly notification: Notification; +} + +declare var NotificationEvent: { + prototype: NotificationEvent; + new(type: string, eventInitDict: NotificationEventInit): NotificationEvent; +}; + +interface OES_element_index_uint { +} + +interface OES_standard_derivatives { + readonly FRAGMENT_SHADER_DERIVATIVE_HINT_OES: GLenum; +} + +interface OES_texture_float { +} + +interface OES_texture_float_linear { +} + +interface OES_texture_half_float { + readonly HALF_FLOAT_OES: GLenum; +} + +interface OES_texture_half_float_linear { +} + +interface OES_vertex_array_object { + bindVertexArrayOES(arrayObject: WebGLVertexArrayObjectOES | null): void; + createVertexArrayOES(): WebGLVertexArrayObjectOES | null; + deleteVertexArrayOES(arrayObject: WebGLVertexArrayObjectOES | null): void; + isVertexArrayOES(arrayObject: WebGLVertexArrayObjectOES | null): GLboolean; + readonly VERTEX_ARRAY_BINDING_OES: GLenum; +} + +interface Path2D extends CanvasPath { + addPath(path: Path2D, transform?: DOMMatrix2DInit): void; +} + +declare var Path2D: { + prototype: Path2D; + new(path?: Path2D | string): Path2D; +}; + +interface PerformanceEventMap { + "resourcetimingbufferfull": Event; +} + +interface Performance extends EventTarget { + onresourcetimingbufferfull: ((this: Performance, ev: Event) => any) | null; + readonly timeOrigin: number; + clearMarks(markName?: string): void; + clearMeasures(measureName?: string): void; + clearResourceTimings(): void; + getEntries(): PerformanceEntryList; + getEntriesByName(name: string, type?: string): PerformanceEntryList; + getEntriesByType(type: string): PerformanceEntryList; + mark(markName: string): void; + measure(measureName: string, startMark?: string, endMark?: string): void; + now(): number; + setResourceTimingBufferSize(maxSize: number): void; + toJSON(): any; + addEventListener(type: K, listener: (this: Performance, ev: PerformanceEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: Performance, ev: PerformanceEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var Performance: { + prototype: Performance; + new(): Performance; +}; + +interface PerformanceEntry { + readonly duration: number; + readonly entryType: string; + readonly name: string; + readonly startTime: number; + toJSON(): any; +} + +declare var PerformanceEntry: { + prototype: PerformanceEntry; + new(): PerformanceEntry; +}; + +interface PerformanceMark extends PerformanceEntry { +} + +declare var PerformanceMark: { + prototype: PerformanceMark; + new(): PerformanceMark; +}; + +interface PerformanceMeasure extends PerformanceEntry { +} + +declare var PerformanceMeasure: { + prototype: PerformanceMeasure; + new(): PerformanceMeasure; +}; + +interface PerformanceObserver { + disconnect(): void; + observe(options: PerformanceObserverInit): void; + takeRecords(): PerformanceEntryList; +} + +declare var PerformanceObserver: { + prototype: PerformanceObserver; + new(callback: PerformanceObserverCallback): PerformanceObserver; +}; + +interface PerformanceObserverEntryList { + getEntries(): PerformanceEntryList; + getEntriesByName(name: string, type?: string): PerformanceEntryList; + getEntriesByType(type: string): PerformanceEntryList; +} + +declare var PerformanceObserverEntryList: { + prototype: PerformanceObserverEntryList; + new(): PerformanceObserverEntryList; +}; + +interface PerformanceResourceTiming extends PerformanceEntry { + readonly connectEnd: number; + readonly connectStart: number; + readonly decodedBodySize: number; + readonly domainLookupEnd: number; + readonly domainLookupStart: number; + readonly encodedBodySize: number; + readonly fetchStart: number; + readonly initiatorType: string; + readonly nextHopProtocol: string; + readonly redirectEnd: number; + readonly redirectStart: number; + readonly requestStart: number; + readonly responseEnd: number; + readonly responseStart: number; + readonly secureConnectionStart: number; + readonly transferSize: number; + readonly workerStart: number; + toJSON(): any; +} + +declare var PerformanceResourceTiming: { + prototype: PerformanceResourceTiming; + new(): PerformanceResourceTiming; +}; + +interface ProgressEvent extends Event { + readonly lengthComputable: boolean; + readonly loaded: number; + readonly total: number; +} + +declare var ProgressEvent: { + prototype: ProgressEvent; + new(type: string, eventInitDict?: ProgressEventInit): ProgressEvent; +}; + +interface PromiseRejectionEvent extends Event { + readonly promise: Promise; + readonly reason: any; +} + +declare var PromiseRejectionEvent: { + prototype: PromiseRejectionEvent; + new(type: string, eventInitDict: PromiseRejectionEventInit): PromiseRejectionEvent; +}; + +interface PushEvent extends ExtendableEvent { + readonly data: PushMessageData | null; +} + +declare var PushEvent: { + prototype: PushEvent; + new(type: string, eventInitDict?: PushEventInit): PushEvent; +}; + +interface PushManager { + getSubscription(): Promise; + permissionState(options?: PushSubscriptionOptionsInit): Promise; + subscribe(options?: PushSubscriptionOptionsInit): Promise; +} + +declare var PushManager: { + prototype: PushManager; + new(): PushManager; + readonly supportedContentEncodings: ReadonlyArray; +}; + +interface PushMessageData { + arrayBuffer(): ArrayBuffer; + blob(): Blob; + json(): any; + text(): string; +} + +declare var PushMessageData: { + prototype: PushMessageData; + new(): PushMessageData; +}; + +interface PushSubscription { + readonly endpoint: string; + readonly expirationTime: number | null; + readonly options: PushSubscriptionOptions; + getKey(name: PushEncryptionKeyName): ArrayBuffer | null; + toJSON(): PushSubscriptionJSON; + unsubscribe(): Promise; +} + +declare var PushSubscription: { + prototype: PushSubscription; + new(): PushSubscription; +}; + +interface PushSubscriptionChangeEvent extends ExtendableEvent { + readonly newSubscription: PushSubscription | null; + readonly oldSubscription: PushSubscription | null; +} + +declare var PushSubscriptionChangeEvent: { + prototype: PushSubscriptionChangeEvent; + new(type: string, eventInitDict?: PushSubscriptionChangeInit): PushSubscriptionChangeEvent; +}; + +interface PushSubscriptionOptions { + readonly applicationServerKey: ArrayBuffer | null; + readonly userVisibleOnly: boolean; +} + +declare var PushSubscriptionOptions: { + prototype: PushSubscriptionOptions; + new(): PushSubscriptionOptions; +}; + +interface ReadableByteStreamController { + readonly byobRequest: ReadableStreamBYOBRequest | undefined; + readonly desiredSize: number | null; + close(): void; + enqueue(chunk: ArrayBufferView): void; + error(error?: any): void; +} + +interface ReadableStream { + readonly locked: boolean; + cancel(reason?: any): Promise; + getReader(options: { mode: "byob" }): ReadableStreamBYOBReader; + getReader(): ReadableStreamDefaultReader; + pipeThrough({ writable, readable }: { writable: WritableStream, readable: ReadableStream }, options?: PipeOptions): ReadableStream; + pipeTo(dest: WritableStream, options?: PipeOptions): Promise; + tee(): [ReadableStream, ReadableStream]; +} + +declare var ReadableStream: { + prototype: ReadableStream; + new(underlyingSource: UnderlyingByteSource, strategy?: { highWaterMark?: number, size?: undefined }): ReadableStream; + new(underlyingSource?: UnderlyingSource, strategy?: QueuingStrategy): ReadableStream; +}; + +interface ReadableStreamBYOBReader { + readonly closed: Promise; + cancel(reason?: any): Promise; + read(view: T): Promise>; + releaseLock(): void; +} + +declare var ReadableStreamBYOBReader: { + prototype: ReadableStreamBYOBReader; + new(stream: ReadableStream): ReadableStreamBYOBReader; +}; + +interface ReadableStreamBYOBRequest { + readonly view: ArrayBufferView; + respond(bytesWritten: number): void; + respondWithNewView(view: ArrayBufferView): void; +} + +interface ReadableStreamDefaultController { + readonly desiredSize: number | null; + close(): void; + enqueue(chunk: R): void; + error(error?: any): void; +} + +interface ReadableStreamDefaultReader { + readonly closed: Promise; + cancel(reason?: any): Promise; + read(): Promise>; + releaseLock(): void; +} + +interface ReadableStreamReadResult { + done: boolean; + value: T; +} + +interface ReadableStreamReader { + cancel(): Promise; + read(): Promise>; + releaseLock(): void; +} + +declare var ReadableStreamReader: { + prototype: ReadableStreamReader; + new(): ReadableStreamReader; +}; + +interface Request extends Body { + /** + * Returns the cache mode associated with request, which is a string indicating + * how the request will interact with the browser's cache when fetching. + */ + readonly cache: RequestCache; + /** + * Returns the credentials mode associated with request, which is a string + * indicating whether credentials will be sent with the request always, never, or only when sent to a + * same-origin URL. + */ + readonly credentials: RequestCredentials; + /** + * Returns the kind of resource requested by request, e.g., "document" or + * "script". + */ + readonly destination: RequestDestination; + /** + * Returns a Headers object consisting of the headers associated with request. + * Note that headers added in the network layer by the user agent will not be accounted for in this + * object, e.g., the "Host" header. + */ + readonly headers: Headers; + /** + * Returns request's subresource integrity metadata, which is a cryptographic hash of + * the resource being fetched. Its value consists of multiple hashes separated by whitespace. [SRI] + */ + readonly integrity: string; + /** + * Returns a boolean indicating whether or not request is for a history + * navigation (a.k.a. back-foward navigation). + */ + readonly isHistoryNavigation: boolean; + /** + * Returns a boolean indicating whether or not request is for a reload navigation. + */ + readonly isReloadNavigation: boolean; + /** + * Returns a boolean indicating whether or not request can outlive the global in which + * it was created. + */ + readonly keepalive: boolean; + /** + * Returns request's HTTP method, which is "GET" by default. + */ + readonly method: string; + /** + * Returns the mode associated with request, which is a string indicating + * whether the request will use CORS, or will be restricted to same-origin URLs. + */ + readonly mode: RequestMode; + /** + * Returns the redirect mode associated with request, which is a string + * indicating how redirects for the request will be handled during fetching. A request will follow redirects by default. + */ + readonly redirect: RequestRedirect; + /** + * Returns the referrer of request. Its value can be a same-origin URL if + * explicitly set in init, the empty string to indicate no referrer, and + * "about:client" when defaulting to the global's default. This is used during + * fetching to determine the value of the `Referer` header of the request being made. + */ + readonly referrer: string; + /** + * Returns the referrer policy associated with request. This is used during + * fetching to compute the value of the request's referrer. + */ + readonly referrerPolicy: ReferrerPolicy; + /** + * Returns the signal associated with request, which is an AbortSignal object indicating whether or not request has been aborted, and its abort + * event handler. + */ + readonly signal: AbortSignal; + /** + * Returns the URL of request as a string. + */ + readonly url: string; + clone(): Request; +} + +declare var Request: { + prototype: Request; + new(input: RequestInfo, init?: RequestInit): Request; +}; + +interface Response extends Body { + readonly headers: Headers; + readonly ok: boolean; + readonly redirected: boolean; + readonly status: number; + readonly statusText: string; + readonly trailer: Promise; + readonly type: ResponseType; + readonly url: string; + clone(): Response; +} + +declare var Response: { + prototype: Response; + new(body?: BodyInit | null, init?: ResponseInit): Response; + error(): Response; + redirect(url: string, status?: number): Response; +}; + +interface ServiceWorkerEventMap extends AbstractWorkerEventMap { + "statechange": Event; +} + +interface ServiceWorker extends EventTarget, AbstractWorker { + onstatechange: ((this: ServiceWorker, ev: Event) => any) | null; + readonly scriptURL: string; + readonly state: ServiceWorkerState; + postMessage(message: any, transfer?: Transferable[]): void; + addEventListener(type: K, listener: (this: ServiceWorker, ev: ServiceWorkerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: ServiceWorker, ev: ServiceWorkerEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var ServiceWorker: { + prototype: ServiceWorker; + new(): ServiceWorker; +}; + +interface ServiceWorkerContainerEventMap { + "controllerchange": Event; + "message": MessageEvent; + "messageerror": MessageEvent; +} + +interface ServiceWorkerContainer extends EventTarget { + readonly controller: ServiceWorker | null; + oncontrollerchange: ((this: ServiceWorkerContainer, ev: Event) => any) | null; + onmessage: ((this: ServiceWorkerContainer, ev: MessageEvent) => any) | null; + onmessageerror: ((this: ServiceWorkerContainer, ev: MessageEvent) => any) | null; + readonly ready: Promise; + getRegistration(clientURL?: string): Promise; + getRegistrations(): Promise>; + register(scriptURL: string, options?: RegistrationOptions): Promise; + startMessages(): void; + addEventListener(type: K, listener: (this: ServiceWorkerContainer, ev: ServiceWorkerContainerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: ServiceWorkerContainer, ev: ServiceWorkerContainerEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var ServiceWorkerContainer: { + prototype: ServiceWorkerContainer; + new(): ServiceWorkerContainer; +}; + +interface ServiceWorkerGlobalScopeEventMap extends WorkerGlobalScopeEventMap { + "activate": ExtendableEvent; + "fetch": FetchEvent; + "install": ExtendableEvent; + "message": ExtendableMessageEvent; + "messageerror": MessageEvent; + "notificationclick": NotificationEvent; + "notificationclose": NotificationEvent; + "push": PushEvent; + "pushsubscriptionchange": PushSubscriptionChangeEvent; + "sync": SyncEvent; +} + +interface ServiceWorkerGlobalScope extends WorkerGlobalScope { + readonly clients: Clients; + onactivate: ((this: ServiceWorkerGlobalScope, ev: ExtendableEvent) => any) | null; + onfetch: ((this: ServiceWorkerGlobalScope, ev: FetchEvent) => any) | null; + oninstall: ((this: ServiceWorkerGlobalScope, ev: ExtendableEvent) => any) | null; + onmessage: ((this: ServiceWorkerGlobalScope, ev: ExtendableMessageEvent) => any) | null; + onmessageerror: ((this: ServiceWorkerGlobalScope, ev: MessageEvent) => any) | null; + onnotificationclick: ((this: ServiceWorkerGlobalScope, ev: NotificationEvent) => any) | null; + onnotificationclose: ((this: ServiceWorkerGlobalScope, ev: NotificationEvent) => any) | null; + onpush: ((this: ServiceWorkerGlobalScope, ev: PushEvent) => any) | null; + onpushsubscriptionchange: ((this: ServiceWorkerGlobalScope, ev: PushSubscriptionChangeEvent) => any) | null; + onsync: ((this: ServiceWorkerGlobalScope, ev: SyncEvent) => any) | null; + readonly registration: ServiceWorkerRegistration; + skipWaiting(): Promise; + addEventListener(type: K, listener: (this: ServiceWorkerGlobalScope, ev: ServiceWorkerGlobalScopeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: ServiceWorkerGlobalScope, ev: ServiceWorkerGlobalScopeEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var ServiceWorkerGlobalScope: { + prototype: ServiceWorkerGlobalScope; + new(): ServiceWorkerGlobalScope; +}; + +interface ServiceWorkerRegistrationEventMap { + "updatefound": Event; +} + +interface ServiceWorkerRegistration extends EventTarget { + readonly active: ServiceWorker | null; + readonly installing: ServiceWorker | null; + readonly navigationPreload: NavigationPreloadManager; + onupdatefound: ((this: ServiceWorkerRegistration, ev: Event) => any) | null; + readonly pushManager: PushManager; + readonly scope: string; + readonly sync: SyncManager; + readonly updateViaCache: ServiceWorkerUpdateViaCache; + readonly waiting: ServiceWorker | null; + getNotifications(filter?: GetNotificationOptions): Promise; + showNotification(title: string, options?: NotificationOptions): Promise; + unregister(): Promise; + update(): Promise; + addEventListener(type: K, listener: (this: ServiceWorkerRegistration, ev: ServiceWorkerRegistrationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: ServiceWorkerRegistration, ev: ServiceWorkerRegistrationEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var ServiceWorkerRegistration: { + prototype: ServiceWorkerRegistration; + new(): ServiceWorkerRegistration; +}; + +interface StorageManager { + estimate(): Promise; + persisted(): Promise; +} + +declare var StorageManager: { + prototype: StorageManager; + new(): StorageManager; +}; + +interface SubtleCrypto { + decrypt(algorithm: string | RsaOaepParams | AesCtrParams | AesCbcParams | AesCmacParams | AesGcmParams | AesCfbParams, key: CryptoKey, data: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer): PromiseLike; + deriveBits(algorithm: string | EcdhKeyDeriveParams | DhKeyDeriveParams | ConcatParams | HkdfCtrParams | Pbkdf2Params, baseKey: CryptoKey, length: number): PromiseLike; + deriveKey(algorithm: string | EcdhKeyDeriveParams | DhKeyDeriveParams | ConcatParams | HkdfCtrParams | Pbkdf2Params, baseKey: CryptoKey, derivedKeyType: string | AesDerivedKeyParams | HmacImportParams | ConcatParams | HkdfCtrParams | Pbkdf2Params, extractable: boolean, keyUsages: string[]): PromiseLike; + digest(algorithm: string | Algorithm, data: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer): PromiseLike; + encrypt(algorithm: string | RsaOaepParams | AesCtrParams | AesCbcParams | AesCmacParams | AesGcmParams | AesCfbParams, key: CryptoKey, data: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer): PromiseLike; + exportKey(format: "jwk", key: CryptoKey): PromiseLike; + exportKey(format: "raw" | "pkcs8" | "spki", key: CryptoKey): PromiseLike; + exportKey(format: string, key: CryptoKey): PromiseLike; + generateKey(algorithm: string, extractable: boolean, keyUsages: string[]): PromiseLike; + generateKey(algorithm: RsaHashedKeyGenParams | EcKeyGenParams | DhKeyGenParams, extractable: boolean, keyUsages: string[]): PromiseLike; + generateKey(algorithm: AesKeyGenParams | HmacKeyGenParams | Pbkdf2Params, extractable: boolean, keyUsages: string[]): PromiseLike; + importKey(format: "jwk", keyData: JsonWebKey, algorithm: string | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams | AesKeyAlgorithm, extractable: boolean, keyUsages: string[]): PromiseLike; + importKey(format: "raw" | "pkcs8" | "spki", keyData: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer, algorithm: string | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams | AesKeyAlgorithm, extractable: boolean, keyUsages: string[]): PromiseLike; + importKey(format: string, keyData: JsonWebKey | Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer, algorithm: string | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams | AesKeyAlgorithm, extractable: boolean, keyUsages: string[]): PromiseLike; + sign(algorithm: string | RsaPssParams | EcdsaParams | AesCmacParams, key: CryptoKey, data: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer): PromiseLike; + unwrapKey(format: string, wrappedKey: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer, unwrappingKey: CryptoKey, unwrapAlgorithm: string | Algorithm, unwrappedKeyAlgorithm: string | Algorithm, extractable: boolean, keyUsages: string[]): PromiseLike; + verify(algorithm: string | RsaPssParams | EcdsaParams | AesCmacParams, key: CryptoKey, signature: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer, data: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer): PromiseLike; + wrapKey(format: string, key: CryptoKey, wrappingKey: CryptoKey, wrapAlgorithm: string | Algorithm): PromiseLike; +} + +declare var SubtleCrypto: { + prototype: SubtleCrypto; + new(): SubtleCrypto; +}; + +interface SyncEvent extends ExtendableEvent { + readonly lastChance: boolean; + readonly tag: string; +} + +declare var SyncEvent: { + prototype: SyncEvent; + new(type: string, init: SyncEventInit): SyncEvent; +}; + +interface SyncManager { + getTags(): Promise; + register(tag: string): Promise; +} + +declare var SyncManager: { + prototype: SyncManager; + new(): SyncManager; +}; + +interface TextDecoder { + /** + * Returns encoding's name, lowercased. + */ + readonly encoding: string; + /** + * Returns true if error mode is "fatal", and false + * otherwise. + */ + readonly fatal: boolean; + /** + * Returns true if ignore BOM flag is set, and false otherwise. + */ + readonly ignoreBOM: boolean; + /** + * Returns the result of running encoding's decoder. The + * method can be invoked zero or more times with options's stream set to + * true, and then once without options's stream (or set to false), to process + * a fragmented stream. If the invocation without options's stream (or set to + * false) has no input, it's clearest to omit both arguments. + * var string = "", decoder = new TextDecoder(encoding), buffer; + * while(buffer = next_chunk()) { + * string += decoder.decode(buffer, {stream:true}); + * } + * string += decoder.decode(); // end-of-stream + * If the error mode is "fatal" and encoding's decoder returns error, throws a TypeError. + */ + decode(input?: BufferSource, options?: TextDecodeOptions): string; +} + +declare var TextDecoder: { + prototype: TextDecoder; + new(label?: string, options?: TextDecoderOptions): TextDecoder; +}; + +interface TextEncoder { + /** + * Returns "utf-8". + */ + readonly encoding: string; + /** + * Returns the result of running UTF-8's encoder. + */ + encode(input?: string): Uint8Array; +} + +declare var TextEncoder: { + prototype: TextEncoder; + new(): TextEncoder; +}; + +interface TextMetrics { + readonly actualBoundingBoxAscent: number; + readonly actualBoundingBoxDescent: number; + readonly actualBoundingBoxLeft: number; + readonly actualBoundingBoxRight: number; + readonly alphabeticBaseline: number; + readonly emHeightAscent: number; + readonly emHeightDescent: number; + readonly fontBoundingBoxAscent: number; + readonly fontBoundingBoxDescent: number; + readonly hangingBaseline: number; + /** + * Returns the measurement described below. + */ + readonly ideographicBaseline: number; + readonly width: number; +} + +declare var TextMetrics: { + prototype: TextMetrics; + new(): TextMetrics; +}; + +interface TransformStream { + readonly readable: ReadableStream; + readonly writable: WritableStream; +} + +declare var TransformStream: { + prototype: TransformStream; + new(transformer?: Transformer, writableStrategy?: QueuingStrategy, readableStrategy?: QueuingStrategy): TransformStream; +}; + +interface TransformStreamDefaultController { + readonly desiredSize: number | null; + enqueue(chunk: O): void; + error(reason?: any): void; + terminate(): void; +} + +interface URL { + hash: string; + host: string; + hostname: string; + href: string; + readonly origin: string; + password: string; + pathname: string; + port: string; + protocol: string; + search: string; + readonly searchParams: URLSearchParams; + username: string; + toJSON(): string; +} + +declare var URL: { + prototype: URL; + new(url: string, base?: string | URL): URL; + createObjectURL(object: any): string; + revokeObjectURL(url: string): void; +}; + +interface URLSearchParams { + /** + * Appends a specified key/value pair as a new search parameter. + */ + append(name: string, value: string): void; + /** + * Deletes the given search parameter, and its associated value, from the list of all search parameters. + */ + delete(name: string): void; + /** + * Returns the first value associated to the given search parameter. + */ + get(name: string): string | null; + /** + * Returns all the values association with a given search parameter. + */ + getAll(name: string): string[]; + /** + * Returns a Boolean indicating if such a search parameter exists. + */ + has(name: string): boolean; + /** + * Sets the value associated to a given search parameter to the given value. If there were several values, delete the others. + */ + set(name: string, value: string): void; + sort(): void; + forEach(callbackfn: (value: string, key: string, parent: URLSearchParams) => void, thisArg?: any): void; +} + +declare var URLSearchParams: { + prototype: URLSearchParams; + new(init?: string[][] | Record | string | URLSearchParams): URLSearchParams; +}; + +interface WEBGL_color_buffer_float { + readonly FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT: GLenum; + readonly RGBA32F_EXT: GLenum; + readonly UNSIGNED_NORMALIZED_EXT: GLenum; +} + +interface WEBGL_compressed_texture_astc { + getSupportedProfiles(): string[]; + readonly COMPRESSED_RGBA_ASTC_10x10_KHR: GLenum; + readonly COMPRESSED_RGBA_ASTC_10x5_KHR: GLenum; + readonly COMPRESSED_RGBA_ASTC_10x6_KHR: GLenum; + readonly COMPRESSED_RGBA_ASTC_10x8_KHR: GLenum; + readonly COMPRESSED_RGBA_ASTC_12x10_KHR: GLenum; + readonly COMPRESSED_RGBA_ASTC_12x12_KHR: GLenum; + readonly COMPRESSED_RGBA_ASTC_4x4_KHR: GLenum; + readonly COMPRESSED_RGBA_ASTC_5x4_KHR: GLenum; + readonly COMPRESSED_RGBA_ASTC_5x5_KHR: GLenum; + readonly COMPRESSED_RGBA_ASTC_6x5_KHR: GLenum; + readonly COMPRESSED_RGBA_ASTC_6x6_KHR: GLenum; + readonly COMPRESSED_RGBA_ASTC_8x5_KHR: GLenum; + readonly COMPRESSED_RGBA_ASTC_8x6_KHR: GLenum; + readonly COMPRESSED_RGBA_ASTC_8x8_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR: GLenum; + readonly COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR: GLenum; +} + +interface WEBGL_compressed_texture_s3tc { + readonly COMPRESSED_RGBA_S3TC_DXT1_EXT: GLenum; + readonly COMPRESSED_RGBA_S3TC_DXT3_EXT: GLenum; + readonly COMPRESSED_RGBA_S3TC_DXT5_EXT: GLenum; + readonly COMPRESSED_RGB_S3TC_DXT1_EXT: GLenum; +} + +interface WEBGL_compressed_texture_s3tc_srgb { + readonly COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT: GLenum; + readonly COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT: GLenum; + readonly COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT: GLenum; + readonly COMPRESSED_SRGB_S3TC_DXT1_EXT: GLenum; +} + +interface WEBGL_debug_renderer_info { + readonly UNMASKED_RENDERER_WEBGL: GLenum; + readonly UNMASKED_VENDOR_WEBGL: GLenum; +} + +interface WEBGL_debug_shaders { + getTranslatedShaderSource(shader: WebGLShader): string; +} + +interface WEBGL_depth_texture { + readonly UNSIGNED_INT_24_8_WEBGL: GLenum; +} + +interface WEBGL_draw_buffers { + drawBuffersWEBGL(buffers: GLenum[]): void; + readonly COLOR_ATTACHMENT0_WEBGL: GLenum; + readonly COLOR_ATTACHMENT10_WEBGL: GLenum; + readonly COLOR_ATTACHMENT11_WEBGL: GLenum; + readonly COLOR_ATTACHMENT12_WEBGL: GLenum; + readonly COLOR_ATTACHMENT13_WEBGL: GLenum; + readonly COLOR_ATTACHMENT14_WEBGL: GLenum; + readonly COLOR_ATTACHMENT15_WEBGL: GLenum; + readonly COLOR_ATTACHMENT1_WEBGL: GLenum; + readonly COLOR_ATTACHMENT2_WEBGL: GLenum; + readonly COLOR_ATTACHMENT3_WEBGL: GLenum; + readonly COLOR_ATTACHMENT4_WEBGL: GLenum; + readonly COLOR_ATTACHMENT5_WEBGL: GLenum; + readonly COLOR_ATTACHMENT6_WEBGL: GLenum; + readonly COLOR_ATTACHMENT7_WEBGL: GLenum; + readonly COLOR_ATTACHMENT8_WEBGL: GLenum; + readonly COLOR_ATTACHMENT9_WEBGL: GLenum; + readonly DRAW_BUFFER0_WEBGL: GLenum; + readonly DRAW_BUFFER10_WEBGL: GLenum; + readonly DRAW_BUFFER11_WEBGL: GLenum; + readonly DRAW_BUFFER12_WEBGL: GLenum; + readonly DRAW_BUFFER13_WEBGL: GLenum; + readonly DRAW_BUFFER14_WEBGL: GLenum; + readonly DRAW_BUFFER15_WEBGL: GLenum; + readonly DRAW_BUFFER1_WEBGL: GLenum; + readonly DRAW_BUFFER2_WEBGL: GLenum; + readonly DRAW_BUFFER3_WEBGL: GLenum; + readonly DRAW_BUFFER4_WEBGL: GLenum; + readonly DRAW_BUFFER5_WEBGL: GLenum; + readonly DRAW_BUFFER6_WEBGL: GLenum; + readonly DRAW_BUFFER7_WEBGL: GLenum; + readonly DRAW_BUFFER8_WEBGL: GLenum; + readonly DRAW_BUFFER9_WEBGL: GLenum; + readonly MAX_COLOR_ATTACHMENTS_WEBGL: GLenum; + readonly MAX_DRAW_BUFFERS_WEBGL: GLenum; +} + +interface WEBGL_lose_context { + loseContext(): void; + restoreContext(): void; +} + +interface WebGLActiveInfo { + readonly name: string; + readonly size: GLint; + readonly type: GLenum; +} + +declare var WebGLActiveInfo: { + prototype: WebGLActiveInfo; + new(): WebGLActiveInfo; +}; + +interface WebGLBuffer extends WebGLObject { +} + +declare var WebGLBuffer: { + prototype: WebGLBuffer; + new(): WebGLBuffer; +}; + +interface WebGLContextEvent extends Event { + readonly statusMessage: string; +} + +declare var WebGLContextEvent: { + prototype: WebGLContextEvent; + new(type: string, eventInit?: WebGLContextEventInit): WebGLContextEvent; +}; + +interface WebGLFramebuffer extends WebGLObject { +} + +declare var WebGLFramebuffer: { + prototype: WebGLFramebuffer; + new(): WebGLFramebuffer; +}; + +interface WebGLObject { +} + +declare var WebGLObject: { + prototype: WebGLObject; + new(): WebGLObject; +}; + +interface WebGLProgram extends WebGLObject { +} + +declare var WebGLProgram: { + prototype: WebGLProgram; + new(): WebGLProgram; +}; + +interface WebGLRenderbuffer extends WebGLObject { +} + +declare var WebGLRenderbuffer: { + prototype: WebGLRenderbuffer; + new(): WebGLRenderbuffer; +}; + +interface WebGLRenderingContext extends WebGLRenderingContextBase { +} + +declare var WebGLRenderingContext: { + prototype: WebGLRenderingContext; + new(): WebGLRenderingContext; + readonly ACTIVE_ATTRIBUTES: GLenum; + readonly ACTIVE_TEXTURE: GLenum; + readonly ACTIVE_UNIFORMS: GLenum; + readonly ALIASED_LINE_WIDTH_RANGE: GLenum; + readonly ALIASED_POINT_SIZE_RANGE: GLenum; + readonly ALPHA: GLenum; + readonly ALPHA_BITS: GLenum; + readonly ALWAYS: GLenum; + readonly ARRAY_BUFFER: GLenum; + readonly ARRAY_BUFFER_BINDING: GLenum; + readonly ATTACHED_SHADERS: GLenum; + readonly BACK: GLenum; + readonly BLEND: GLenum; + readonly BLEND_COLOR: GLenum; + readonly BLEND_DST_ALPHA: GLenum; + readonly BLEND_DST_RGB: GLenum; + readonly BLEND_EQUATION: GLenum; + readonly BLEND_EQUATION_ALPHA: GLenum; + readonly BLEND_EQUATION_RGB: GLenum; + readonly BLEND_SRC_ALPHA: GLenum; + readonly BLEND_SRC_RGB: GLenum; + readonly BLUE_BITS: GLenum; + readonly BOOL: GLenum; + readonly BOOL_VEC2: GLenum; + readonly BOOL_VEC3: GLenum; + readonly BOOL_VEC4: GLenum; + readonly BROWSER_DEFAULT_WEBGL: GLenum; + readonly BUFFER_SIZE: GLenum; + readonly BUFFER_USAGE: GLenum; + readonly BYTE: GLenum; + readonly CCW: GLenum; + readonly CLAMP_TO_EDGE: GLenum; + readonly COLOR_ATTACHMENT0: GLenum; + readonly COLOR_BUFFER_BIT: GLenum; + readonly COLOR_CLEAR_VALUE: GLenum; + readonly COLOR_WRITEMASK: GLenum; + readonly COMPILE_STATUS: GLenum; + readonly COMPRESSED_TEXTURE_FORMATS: GLenum; + readonly CONSTANT_ALPHA: GLenum; + readonly CONSTANT_COLOR: GLenum; + readonly CONTEXT_LOST_WEBGL: GLenum; + readonly CULL_FACE: GLenum; + readonly CULL_FACE_MODE: GLenum; + readonly CURRENT_PROGRAM: GLenum; + readonly CURRENT_VERTEX_ATTRIB: GLenum; + readonly CW: GLenum; + readonly DECR: GLenum; + readonly DECR_WRAP: GLenum; + readonly DELETE_STATUS: GLenum; + readonly DEPTH_ATTACHMENT: GLenum; + readonly DEPTH_BITS: GLenum; + readonly DEPTH_BUFFER_BIT: GLenum; + readonly DEPTH_CLEAR_VALUE: GLenum; + readonly DEPTH_COMPONENT: GLenum; + readonly DEPTH_COMPONENT16: GLenum; + readonly DEPTH_FUNC: GLenum; + readonly DEPTH_RANGE: GLenum; + readonly DEPTH_STENCIL: GLenum; + readonly DEPTH_STENCIL_ATTACHMENT: GLenum; + readonly DEPTH_TEST: GLenum; + readonly DEPTH_WRITEMASK: GLenum; + readonly DITHER: GLenum; + readonly DONT_CARE: GLenum; + readonly DST_ALPHA: GLenum; + readonly DST_COLOR: GLenum; + readonly DYNAMIC_DRAW: GLenum; + readonly ELEMENT_ARRAY_BUFFER: GLenum; + readonly ELEMENT_ARRAY_BUFFER_BINDING: GLenum; + readonly EQUAL: GLenum; + readonly FASTEST: GLenum; + readonly FLOAT: GLenum; + readonly FLOAT_MAT2: GLenum; + readonly FLOAT_MAT3: GLenum; + readonly FLOAT_MAT4: GLenum; + readonly FLOAT_VEC2: GLenum; + readonly FLOAT_VEC3: GLenum; + readonly FLOAT_VEC4: GLenum; + readonly FRAGMENT_SHADER: GLenum; + readonly FRAMEBUFFER: GLenum; + readonly FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: GLenum; + readonly FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: GLenum; + readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: GLenum; + readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: GLenum; + readonly FRAMEBUFFER_BINDING: GLenum; + readonly FRAMEBUFFER_COMPLETE: GLenum; + readonly FRAMEBUFFER_INCOMPLETE_ATTACHMENT: GLenum; + readonly FRAMEBUFFER_INCOMPLETE_DIMENSIONS: GLenum; + readonly FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: GLenum; + readonly FRAMEBUFFER_UNSUPPORTED: GLenum; + readonly FRONT: GLenum; + readonly FRONT_AND_BACK: GLenum; + readonly FRONT_FACE: GLenum; + readonly FUNC_ADD: GLenum; + readonly FUNC_REVERSE_SUBTRACT: GLenum; + readonly FUNC_SUBTRACT: GLenum; + readonly GENERATE_MIPMAP_HINT: GLenum; + readonly GEQUAL: GLenum; + readonly GREATER: GLenum; + readonly GREEN_BITS: GLenum; + readonly HIGH_FLOAT: GLenum; + readonly HIGH_INT: GLenum; + readonly IMPLEMENTATION_COLOR_READ_FORMAT: GLenum; + readonly IMPLEMENTATION_COLOR_READ_TYPE: GLenum; + readonly INCR: GLenum; + readonly INCR_WRAP: GLenum; + readonly INT: GLenum; + readonly INT_VEC2: GLenum; + readonly INT_VEC3: GLenum; + readonly INT_VEC4: GLenum; + readonly INVALID_ENUM: GLenum; + readonly INVALID_FRAMEBUFFER_OPERATION: GLenum; + readonly INVALID_OPERATION: GLenum; + readonly INVALID_VALUE: GLenum; + readonly INVERT: GLenum; + readonly KEEP: GLenum; + readonly LEQUAL: GLenum; + readonly LESS: GLenum; + readonly LINEAR: GLenum; + readonly LINEAR_MIPMAP_LINEAR: GLenum; + readonly LINEAR_MIPMAP_NEAREST: GLenum; + readonly LINES: GLenum; + readonly LINE_LOOP: GLenum; + readonly LINE_STRIP: GLenum; + readonly LINE_WIDTH: GLenum; + readonly LINK_STATUS: GLenum; + readonly LOW_FLOAT: GLenum; + readonly LOW_INT: GLenum; + readonly LUMINANCE: GLenum; + readonly LUMINANCE_ALPHA: GLenum; + readonly MAX_COMBINED_TEXTURE_IMAGE_UNITS: GLenum; + readonly MAX_CUBE_MAP_TEXTURE_SIZE: GLenum; + readonly MAX_FRAGMENT_UNIFORM_VECTORS: GLenum; + readonly MAX_RENDERBUFFER_SIZE: GLenum; + readonly MAX_TEXTURE_IMAGE_UNITS: GLenum; + readonly MAX_TEXTURE_SIZE: GLenum; + readonly MAX_VARYING_VECTORS: GLenum; + readonly MAX_VERTEX_ATTRIBS: GLenum; + readonly MAX_VERTEX_TEXTURE_IMAGE_UNITS: GLenum; + readonly MAX_VERTEX_UNIFORM_VECTORS: GLenum; + readonly MAX_VIEWPORT_DIMS: GLenum; + readonly MEDIUM_FLOAT: GLenum; + readonly MEDIUM_INT: GLenum; + readonly MIRRORED_REPEAT: GLenum; + readonly NEAREST: GLenum; + readonly NEAREST_MIPMAP_LINEAR: GLenum; + readonly NEAREST_MIPMAP_NEAREST: GLenum; + readonly NEVER: GLenum; + readonly NICEST: GLenum; + readonly NONE: GLenum; + readonly NOTEQUAL: GLenum; + readonly NO_ERROR: GLenum; + readonly ONE: GLenum; + readonly ONE_MINUS_CONSTANT_ALPHA: GLenum; + readonly ONE_MINUS_CONSTANT_COLOR: GLenum; + readonly ONE_MINUS_DST_ALPHA: GLenum; + readonly ONE_MINUS_DST_COLOR: GLenum; + readonly ONE_MINUS_SRC_ALPHA: GLenum; + readonly ONE_MINUS_SRC_COLOR: GLenum; + readonly OUT_OF_MEMORY: GLenum; + readonly PACK_ALIGNMENT: GLenum; + readonly POINTS: GLenum; + readonly POLYGON_OFFSET_FACTOR: GLenum; + readonly POLYGON_OFFSET_FILL: GLenum; + readonly POLYGON_OFFSET_UNITS: GLenum; + readonly RED_BITS: GLenum; + readonly RENDERBUFFER: GLenum; + readonly RENDERBUFFER_ALPHA_SIZE: GLenum; + readonly RENDERBUFFER_BINDING: GLenum; + readonly RENDERBUFFER_BLUE_SIZE: GLenum; + readonly RENDERBUFFER_DEPTH_SIZE: GLenum; + readonly RENDERBUFFER_GREEN_SIZE: GLenum; + readonly RENDERBUFFER_HEIGHT: GLenum; + readonly RENDERBUFFER_INTERNAL_FORMAT: GLenum; + readonly RENDERBUFFER_RED_SIZE: GLenum; + readonly RENDERBUFFER_STENCIL_SIZE: GLenum; + readonly RENDERBUFFER_WIDTH: GLenum; + readonly RENDERER: GLenum; + readonly REPEAT: GLenum; + readonly REPLACE: GLenum; + readonly RGB: GLenum; + readonly RGB565: GLenum; + readonly RGB5_A1: GLenum; + readonly RGBA: GLenum; + readonly RGBA4: GLenum; + readonly SAMPLER_2D: GLenum; + readonly SAMPLER_CUBE: GLenum; + readonly SAMPLES: GLenum; + readonly SAMPLE_ALPHA_TO_COVERAGE: GLenum; + readonly SAMPLE_BUFFERS: GLenum; + readonly SAMPLE_COVERAGE: GLenum; + readonly SAMPLE_COVERAGE_INVERT: GLenum; + readonly SAMPLE_COVERAGE_VALUE: GLenum; + readonly SCISSOR_BOX: GLenum; + readonly SCISSOR_TEST: GLenum; + readonly SHADER_TYPE: GLenum; + readonly SHADING_LANGUAGE_VERSION: GLenum; + readonly SHORT: GLenum; + readonly SRC_ALPHA: GLenum; + readonly SRC_ALPHA_SATURATE: GLenum; + readonly SRC_COLOR: GLenum; + readonly STATIC_DRAW: GLenum; + readonly STENCIL_ATTACHMENT: GLenum; + readonly STENCIL_BACK_FAIL: GLenum; + readonly STENCIL_BACK_FUNC: GLenum; + readonly STENCIL_BACK_PASS_DEPTH_FAIL: GLenum; + readonly STENCIL_BACK_PASS_DEPTH_PASS: GLenum; + readonly STENCIL_BACK_REF: GLenum; + readonly STENCIL_BACK_VALUE_MASK: GLenum; + readonly STENCIL_BACK_WRITEMASK: GLenum; + readonly STENCIL_BITS: GLenum; + readonly STENCIL_BUFFER_BIT: GLenum; + readonly STENCIL_CLEAR_VALUE: GLenum; + readonly STENCIL_FAIL: GLenum; + readonly STENCIL_FUNC: GLenum; + readonly STENCIL_INDEX8: GLenum; + readonly STENCIL_PASS_DEPTH_FAIL: GLenum; + readonly STENCIL_PASS_DEPTH_PASS: GLenum; + readonly STENCIL_REF: GLenum; + readonly STENCIL_TEST: GLenum; + readonly STENCIL_VALUE_MASK: GLenum; + readonly STENCIL_WRITEMASK: GLenum; + readonly STREAM_DRAW: GLenum; + readonly SUBPIXEL_BITS: GLenum; + readonly TEXTURE: GLenum; + readonly TEXTURE0: GLenum; + readonly TEXTURE1: GLenum; + readonly TEXTURE10: GLenum; + readonly TEXTURE11: GLenum; + readonly TEXTURE12: GLenum; + readonly TEXTURE13: GLenum; + readonly TEXTURE14: GLenum; + readonly TEXTURE15: GLenum; + readonly TEXTURE16: GLenum; + readonly TEXTURE17: GLenum; + readonly TEXTURE18: GLenum; + readonly TEXTURE19: GLenum; + readonly TEXTURE2: GLenum; + readonly TEXTURE20: GLenum; + readonly TEXTURE21: GLenum; + readonly TEXTURE22: GLenum; + readonly TEXTURE23: GLenum; + readonly TEXTURE24: GLenum; + readonly TEXTURE25: GLenum; + readonly TEXTURE26: GLenum; + readonly TEXTURE27: GLenum; + readonly TEXTURE28: GLenum; + readonly TEXTURE29: GLenum; + readonly TEXTURE3: GLenum; + readonly TEXTURE30: GLenum; + readonly TEXTURE31: GLenum; + readonly TEXTURE4: GLenum; + readonly TEXTURE5: GLenum; + readonly TEXTURE6: GLenum; + readonly TEXTURE7: GLenum; + readonly TEXTURE8: GLenum; + readonly TEXTURE9: GLenum; + readonly TEXTURE_2D: GLenum; + readonly TEXTURE_BINDING_2D: GLenum; + readonly TEXTURE_BINDING_CUBE_MAP: GLenum; + readonly TEXTURE_CUBE_MAP: GLenum; + readonly TEXTURE_CUBE_MAP_NEGATIVE_X: GLenum; + readonly TEXTURE_CUBE_MAP_NEGATIVE_Y: GLenum; + readonly TEXTURE_CUBE_MAP_NEGATIVE_Z: GLenum; + readonly TEXTURE_CUBE_MAP_POSITIVE_X: GLenum; + readonly TEXTURE_CUBE_MAP_POSITIVE_Y: GLenum; + readonly TEXTURE_CUBE_MAP_POSITIVE_Z: GLenum; + readonly TEXTURE_MAG_FILTER: GLenum; + readonly TEXTURE_MIN_FILTER: GLenum; + readonly TEXTURE_WRAP_S: GLenum; + readonly TEXTURE_WRAP_T: GLenum; + readonly TRIANGLES: GLenum; + readonly TRIANGLE_FAN: GLenum; + readonly TRIANGLE_STRIP: GLenum; + readonly UNPACK_ALIGNMENT: GLenum; + readonly UNPACK_COLORSPACE_CONVERSION_WEBGL: GLenum; + readonly UNPACK_FLIP_Y_WEBGL: GLenum; + readonly UNPACK_PREMULTIPLY_ALPHA_WEBGL: GLenum; + readonly UNSIGNED_BYTE: GLenum; + readonly UNSIGNED_INT: GLenum; + readonly UNSIGNED_SHORT: GLenum; + readonly UNSIGNED_SHORT_4_4_4_4: GLenum; + readonly UNSIGNED_SHORT_5_5_5_1: GLenum; + readonly UNSIGNED_SHORT_5_6_5: GLenum; + readonly VALIDATE_STATUS: GLenum; + readonly VENDOR: GLenum; + readonly VERSION: GLenum; + readonly VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: GLenum; + readonly VERTEX_ATTRIB_ARRAY_ENABLED: GLenum; + readonly VERTEX_ATTRIB_ARRAY_NORMALIZED: GLenum; + readonly VERTEX_ATTRIB_ARRAY_POINTER: GLenum; + readonly VERTEX_ATTRIB_ARRAY_SIZE: GLenum; + readonly VERTEX_ATTRIB_ARRAY_STRIDE: GLenum; + readonly VERTEX_ATTRIB_ARRAY_TYPE: GLenum; + readonly VERTEX_SHADER: GLenum; + readonly VIEWPORT: GLenum; + readonly ZERO: GLenum; +}; + +interface WebGLRenderingContextBase { + readonly drawingBufferHeight: GLsizei; + readonly drawingBufferWidth: GLsizei; + activeTexture(texture: GLenum): void; + attachShader(program: WebGLProgram, shader: WebGLShader): void; + bindAttribLocation(program: WebGLProgram, index: GLuint, name: string): void; + bindBuffer(target: GLenum, buffer: WebGLBuffer | null): void; + bindFramebuffer(target: GLenum, framebuffer: WebGLFramebuffer | null): void; + bindRenderbuffer(target: GLenum, renderbuffer: WebGLRenderbuffer | null): void; + bindTexture(target: GLenum, texture: WebGLTexture | null): void; + blendColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf): void; + blendEquation(mode: GLenum): void; + blendEquationSeparate(modeRGB: GLenum, modeAlpha: GLenum): void; + blendFunc(sfactor: GLenum, dfactor: GLenum): void; + blendFuncSeparate(srcRGB: GLenum, dstRGB: GLenum, srcAlpha: GLenum, dstAlpha: GLenum): void; + bufferData(target: GLenum, size: GLsizeiptr, usage: GLenum): void; + bufferData(target: GLenum, data: BufferSource | null, usage: GLenum): void; + bufferSubData(target: GLenum, offset: GLintptr, data: BufferSource): void; + checkFramebufferStatus(target: GLenum): GLenum; + clear(mask: GLbitfield): void; + clearColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf): void; + clearDepth(depth: GLclampf): void; + clearStencil(s: GLint): void; + colorMask(red: GLboolean, green: GLboolean, blue: GLboolean, alpha: GLboolean): void; + compileShader(shader: WebGLShader): void; + compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, data: ArrayBufferView): void; + compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, data: ArrayBufferView): void; + copyTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, x: GLint, y: GLint, width: GLsizei, height: GLsizei, border: GLint): void; + copyTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei): void; + createBuffer(): WebGLBuffer | null; + createFramebuffer(): WebGLFramebuffer | null; + createProgram(): WebGLProgram | null; + createRenderbuffer(): WebGLRenderbuffer | null; + createShader(type: GLenum): WebGLShader | null; + createTexture(): WebGLTexture | null; + cullFace(mode: GLenum): void; + deleteBuffer(buffer: WebGLBuffer | null): void; + deleteFramebuffer(framebuffer: WebGLFramebuffer | null): void; + deleteProgram(program: WebGLProgram | null): void; + deleteRenderbuffer(renderbuffer: WebGLRenderbuffer | null): void; + deleteShader(shader: WebGLShader | null): void; + deleteTexture(texture: WebGLTexture | null): void; + depthFunc(func: GLenum): void; + depthMask(flag: GLboolean): void; + depthRange(zNear: GLclampf, zFar: GLclampf): void; + detachShader(program: WebGLProgram, shader: WebGLShader): void; + disable(cap: GLenum): void; + disableVertexAttribArray(index: GLuint): void; + drawArrays(mode: GLenum, first: GLint, count: GLsizei): void; + drawElements(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr): void; + enable(cap: GLenum): void; + enableVertexAttribArray(index: GLuint): void; + finish(): void; + flush(): void; + framebufferRenderbuffer(target: GLenum, attachment: GLenum, renderbuffertarget: GLenum, renderbuffer: WebGLRenderbuffer | null): void; + framebufferTexture2D(target: GLenum, attachment: GLenum, textarget: GLenum, texture: WebGLTexture | null, level: GLint): void; + frontFace(mode: GLenum): void; + generateMipmap(target: GLenum): void; + getActiveAttrib(program: WebGLProgram, index: GLuint): WebGLActiveInfo | null; + getActiveUniform(program: WebGLProgram, index: GLuint): WebGLActiveInfo | null; + getAttachedShaders(program: WebGLProgram): WebGLShader[] | null; + getAttribLocation(program: WebGLProgram, name: string): GLint; + getBufferParameter(target: GLenum, pname: GLenum): any; + getContextAttributes(): WebGLContextAttributes | null; + getError(): GLenum; + getExtension(extensionName: "EXT_blend_minmax"): EXT_blend_minmax | null; + getExtension(extensionName: "EXT_texture_filter_anisotropic"): EXT_texture_filter_anisotropic | null; + getExtension(extensionName: "EXT_frag_depth"): EXT_frag_depth | null; + getExtension(extensionName: "EXT_shader_texture_lod"): EXT_shader_texture_lod | null; + getExtension(extensionName: "EXT_sRGB"): EXT_sRGB | null; + getExtension(extensionName: "OES_vertex_array_object"): OES_vertex_array_object | null; + getExtension(extensionName: "WEBGL_color_buffer_float"): WEBGL_color_buffer_float | null; + getExtension(extensionName: "WEBGL_compressed_texture_astc"): WEBGL_compressed_texture_astc | null; + getExtension(extensionName: "WEBGL_compressed_texture_s3tc_srgb"): WEBGL_compressed_texture_s3tc_srgb | null; + getExtension(extensionName: "WEBGL_debug_shaders"): WEBGL_debug_shaders | null; + getExtension(extensionName: "WEBGL_draw_buffers"): WEBGL_draw_buffers | null; + getExtension(extensionName: "WEBGL_lose_context"): WEBGL_lose_context | null; + getExtension(extensionName: "WEBGL_depth_texture"): WEBGL_depth_texture | null; + getExtension(extensionName: "WEBGL_debug_renderer_info"): WEBGL_debug_renderer_info | null; + getExtension(extensionName: "WEBGL_compressed_texture_s3tc"): WEBGL_compressed_texture_s3tc | null; + getExtension(extensionName: "OES_texture_half_float_linear"): OES_texture_half_float_linear | null; + getExtension(extensionName: "OES_texture_half_float"): OES_texture_half_float | null; + getExtension(extensionName: "OES_texture_float_linear"): OES_texture_float_linear | null; + getExtension(extensionName: "OES_texture_float"): OES_texture_float | null; + getExtension(extensionName: "OES_standard_derivatives"): OES_standard_derivatives | null; + getExtension(extensionName: "OES_element_index_uint"): OES_element_index_uint | null; + getExtension(extensionName: "ANGLE_instanced_arrays"): ANGLE_instanced_arrays | null; + getExtension(extensionName: string): any; + getFramebufferAttachmentParameter(target: GLenum, attachment: GLenum, pname: GLenum): any; + getParameter(pname: GLenum): any; + getProgramInfoLog(program: WebGLProgram): string | null; + getProgramParameter(program: WebGLProgram, pname: GLenum): any; + getRenderbufferParameter(target: GLenum, pname: GLenum): any; + getShaderInfoLog(shader: WebGLShader): string | null; + getShaderParameter(shader: WebGLShader, pname: GLenum): any; + getShaderPrecisionFormat(shadertype: GLenum, precisiontype: GLenum): WebGLShaderPrecisionFormat | null; + getShaderSource(shader: WebGLShader): string | null; + getSupportedExtensions(): string[] | null; + getTexParameter(target: GLenum, pname: GLenum): any; + getUniform(program: WebGLProgram, location: WebGLUniformLocation): any; + getUniformLocation(program: WebGLProgram, name: string): WebGLUniformLocation | null; + getVertexAttrib(index: GLuint, pname: GLenum): any; + getVertexAttribOffset(index: GLuint, pname: GLenum): GLintptr; + hint(target: GLenum, mode: GLenum): void; + isBuffer(buffer: WebGLBuffer | null): GLboolean; + isContextLost(): boolean; + isEnabled(cap: GLenum): GLboolean; + isFramebuffer(framebuffer: WebGLFramebuffer | null): GLboolean; + isProgram(program: WebGLProgram | null): GLboolean; + isRenderbuffer(renderbuffer: WebGLRenderbuffer | null): GLboolean; + isShader(shader: WebGLShader | null): GLboolean; + isTexture(texture: WebGLTexture | null): GLboolean; + lineWidth(width: GLfloat): void; + linkProgram(program: WebGLProgram): void; + pixelStorei(pname: GLenum, param: GLint): void; + polygonOffset(factor: GLfloat, units: GLfloat): void; + readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView | null): void; + renderbufferStorage(target: GLenum, internalformat: GLenum, width: GLsizei, height: GLsizei): void; + sampleCoverage(value: GLclampf, invert: GLboolean): void; + scissor(x: GLint, y: GLint, width: GLsizei, height: GLsizei): void; + shaderSource(shader: WebGLShader, source: string): void; + stencilFunc(func: GLenum, ref: GLint, mask: GLuint): void; + stencilFuncSeparate(face: GLenum, func: GLenum, ref: GLint, mask: GLuint): void; + stencilMask(mask: GLuint): void; + stencilMaskSeparate(face: GLenum, mask: GLuint): void; + stencilOp(fail: GLenum, zfail: GLenum, zpass: GLenum): void; + stencilOpSeparate(face: GLenum, fail: GLenum, zfail: GLenum, zpass: GLenum): void; + texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pixels: ArrayBufferView | null): void; + texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: TexImageSource): void; + texParameterf(target: GLenum, pname: GLenum, param: GLfloat): void; + texParameteri(target: GLenum, pname: GLenum, param: GLint): void; + texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView | null): void; + texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, source: TexImageSource): void; + uniform1f(location: WebGLUniformLocation | null, x: GLfloat): void; + uniform1fv(location: WebGLUniformLocation | null, v: Float32List): void; + uniform1i(location: WebGLUniformLocation | null, x: GLint): void; + uniform1iv(location: WebGLUniformLocation | null, v: Int32List): void; + uniform2f(location: WebGLUniformLocation | null, x: GLfloat, y: GLfloat): void; + uniform2fv(location: WebGLUniformLocation | null, v: Float32List): void; + uniform2i(location: WebGLUniformLocation | null, x: GLint, y: GLint): void; + uniform2iv(location: WebGLUniformLocation | null, v: Int32List): void; + uniform3f(location: WebGLUniformLocation | null, x: GLfloat, y: GLfloat, z: GLfloat): void; + uniform3fv(location: WebGLUniformLocation | null, v: Float32List): void; + uniform3i(location: WebGLUniformLocation | null, x: GLint, y: GLint, z: GLint): void; + uniform3iv(location: WebGLUniformLocation | null, v: Int32List): void; + uniform4f(location: WebGLUniformLocation | null, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat): void; + uniform4fv(location: WebGLUniformLocation | null, v: Float32List): void; + uniform4i(location: WebGLUniformLocation | null, x: GLint, y: GLint, z: GLint, w: GLint): void; + uniform4iv(location: WebGLUniformLocation | null, v: Int32List): void; + uniformMatrix2fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Float32List): void; + uniformMatrix3fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Float32List): void; + uniformMatrix4fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Float32List): void; + useProgram(program: WebGLProgram | null): void; + validateProgram(program: WebGLProgram): void; + vertexAttrib1f(index: GLuint, x: GLfloat): void; + vertexAttrib1fv(index: GLuint, values: Float32List): void; + vertexAttrib2f(index: GLuint, x: GLfloat, y: GLfloat): void; + vertexAttrib2fv(index: GLuint, values: Float32List): void; + vertexAttrib3f(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat): void; + vertexAttrib3fv(index: GLuint, values: Float32List): void; + vertexAttrib4f(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat): void; + vertexAttrib4fv(index: GLuint, values: Float32List): void; + vertexAttribPointer(index: GLuint, size: GLint, type: GLenum, normalized: GLboolean, stride: GLsizei, offset: GLintptr): void; + viewport(x: GLint, y: GLint, width: GLsizei, height: GLsizei): void; + readonly ACTIVE_ATTRIBUTES: GLenum; + readonly ACTIVE_TEXTURE: GLenum; + readonly ACTIVE_UNIFORMS: GLenum; + readonly ALIASED_LINE_WIDTH_RANGE: GLenum; + readonly ALIASED_POINT_SIZE_RANGE: GLenum; + readonly ALPHA: GLenum; + readonly ALPHA_BITS: GLenum; + readonly ALWAYS: GLenum; + readonly ARRAY_BUFFER: GLenum; + readonly ARRAY_BUFFER_BINDING: GLenum; + readonly ATTACHED_SHADERS: GLenum; + readonly BACK: GLenum; + readonly BLEND: GLenum; + readonly BLEND_COLOR: GLenum; + readonly BLEND_DST_ALPHA: GLenum; + readonly BLEND_DST_RGB: GLenum; + readonly BLEND_EQUATION: GLenum; + readonly BLEND_EQUATION_ALPHA: GLenum; + readonly BLEND_EQUATION_RGB: GLenum; + readonly BLEND_SRC_ALPHA: GLenum; + readonly BLEND_SRC_RGB: GLenum; + readonly BLUE_BITS: GLenum; + readonly BOOL: GLenum; + readonly BOOL_VEC2: GLenum; + readonly BOOL_VEC3: GLenum; + readonly BOOL_VEC4: GLenum; + readonly BROWSER_DEFAULT_WEBGL: GLenum; + readonly BUFFER_SIZE: GLenum; + readonly BUFFER_USAGE: GLenum; + readonly BYTE: GLenum; + readonly CCW: GLenum; + readonly CLAMP_TO_EDGE: GLenum; + readonly COLOR_ATTACHMENT0: GLenum; + readonly COLOR_BUFFER_BIT: GLenum; + readonly COLOR_CLEAR_VALUE: GLenum; + readonly COLOR_WRITEMASK: GLenum; + readonly COMPILE_STATUS: GLenum; + readonly COMPRESSED_TEXTURE_FORMATS: GLenum; + readonly CONSTANT_ALPHA: GLenum; + readonly CONSTANT_COLOR: GLenum; + readonly CONTEXT_LOST_WEBGL: GLenum; + readonly CULL_FACE: GLenum; + readonly CULL_FACE_MODE: GLenum; + readonly CURRENT_PROGRAM: GLenum; + readonly CURRENT_VERTEX_ATTRIB: GLenum; + readonly CW: GLenum; + readonly DECR: GLenum; + readonly DECR_WRAP: GLenum; + readonly DELETE_STATUS: GLenum; + readonly DEPTH_ATTACHMENT: GLenum; + readonly DEPTH_BITS: GLenum; + readonly DEPTH_BUFFER_BIT: GLenum; + readonly DEPTH_CLEAR_VALUE: GLenum; + readonly DEPTH_COMPONENT: GLenum; + readonly DEPTH_COMPONENT16: GLenum; + readonly DEPTH_FUNC: GLenum; + readonly DEPTH_RANGE: GLenum; + readonly DEPTH_STENCIL: GLenum; + readonly DEPTH_STENCIL_ATTACHMENT: GLenum; + readonly DEPTH_TEST: GLenum; + readonly DEPTH_WRITEMASK: GLenum; + readonly DITHER: GLenum; + readonly DONT_CARE: GLenum; + readonly DST_ALPHA: GLenum; + readonly DST_COLOR: GLenum; + readonly DYNAMIC_DRAW: GLenum; + readonly ELEMENT_ARRAY_BUFFER: GLenum; + readonly ELEMENT_ARRAY_BUFFER_BINDING: GLenum; + readonly EQUAL: GLenum; + readonly FASTEST: GLenum; + readonly FLOAT: GLenum; + readonly FLOAT_MAT2: GLenum; + readonly FLOAT_MAT3: GLenum; + readonly FLOAT_MAT4: GLenum; + readonly FLOAT_VEC2: GLenum; + readonly FLOAT_VEC3: GLenum; + readonly FLOAT_VEC4: GLenum; + readonly FRAGMENT_SHADER: GLenum; + readonly FRAMEBUFFER: GLenum; + readonly FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: GLenum; + readonly FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: GLenum; + readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: GLenum; + readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: GLenum; + readonly FRAMEBUFFER_BINDING: GLenum; + readonly FRAMEBUFFER_COMPLETE: GLenum; + readonly FRAMEBUFFER_INCOMPLETE_ATTACHMENT: GLenum; + readonly FRAMEBUFFER_INCOMPLETE_DIMENSIONS: GLenum; + readonly FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: GLenum; + readonly FRAMEBUFFER_UNSUPPORTED: GLenum; + readonly FRONT: GLenum; + readonly FRONT_AND_BACK: GLenum; + readonly FRONT_FACE: GLenum; + readonly FUNC_ADD: GLenum; + readonly FUNC_REVERSE_SUBTRACT: GLenum; + readonly FUNC_SUBTRACT: GLenum; + readonly GENERATE_MIPMAP_HINT: GLenum; + readonly GEQUAL: GLenum; + readonly GREATER: GLenum; + readonly GREEN_BITS: GLenum; + readonly HIGH_FLOAT: GLenum; + readonly HIGH_INT: GLenum; + readonly IMPLEMENTATION_COLOR_READ_FORMAT: GLenum; + readonly IMPLEMENTATION_COLOR_READ_TYPE: GLenum; + readonly INCR: GLenum; + readonly INCR_WRAP: GLenum; + readonly INT: GLenum; + readonly INT_VEC2: GLenum; + readonly INT_VEC3: GLenum; + readonly INT_VEC4: GLenum; + readonly INVALID_ENUM: GLenum; + readonly INVALID_FRAMEBUFFER_OPERATION: GLenum; + readonly INVALID_OPERATION: GLenum; + readonly INVALID_VALUE: GLenum; + readonly INVERT: GLenum; + readonly KEEP: GLenum; + readonly LEQUAL: GLenum; + readonly LESS: GLenum; + readonly LINEAR: GLenum; + readonly LINEAR_MIPMAP_LINEAR: GLenum; + readonly LINEAR_MIPMAP_NEAREST: GLenum; + readonly LINES: GLenum; + readonly LINE_LOOP: GLenum; + readonly LINE_STRIP: GLenum; + readonly LINE_WIDTH: GLenum; + readonly LINK_STATUS: GLenum; + readonly LOW_FLOAT: GLenum; + readonly LOW_INT: GLenum; + readonly LUMINANCE: GLenum; + readonly LUMINANCE_ALPHA: GLenum; + readonly MAX_COMBINED_TEXTURE_IMAGE_UNITS: GLenum; + readonly MAX_CUBE_MAP_TEXTURE_SIZE: GLenum; + readonly MAX_FRAGMENT_UNIFORM_VECTORS: GLenum; + readonly MAX_RENDERBUFFER_SIZE: GLenum; + readonly MAX_TEXTURE_IMAGE_UNITS: GLenum; + readonly MAX_TEXTURE_SIZE: GLenum; + readonly MAX_VARYING_VECTORS: GLenum; + readonly MAX_VERTEX_ATTRIBS: GLenum; + readonly MAX_VERTEX_TEXTURE_IMAGE_UNITS: GLenum; + readonly MAX_VERTEX_UNIFORM_VECTORS: GLenum; + readonly MAX_VIEWPORT_DIMS: GLenum; + readonly MEDIUM_FLOAT: GLenum; + readonly MEDIUM_INT: GLenum; + readonly MIRRORED_REPEAT: GLenum; + readonly NEAREST: GLenum; + readonly NEAREST_MIPMAP_LINEAR: GLenum; + readonly NEAREST_MIPMAP_NEAREST: GLenum; + readonly NEVER: GLenum; + readonly NICEST: GLenum; + readonly NONE: GLenum; + readonly NOTEQUAL: GLenum; + readonly NO_ERROR: GLenum; + readonly ONE: GLenum; + readonly ONE_MINUS_CONSTANT_ALPHA: GLenum; + readonly ONE_MINUS_CONSTANT_COLOR: GLenum; + readonly ONE_MINUS_DST_ALPHA: GLenum; + readonly ONE_MINUS_DST_COLOR: GLenum; + readonly ONE_MINUS_SRC_ALPHA: GLenum; + readonly ONE_MINUS_SRC_COLOR: GLenum; + readonly OUT_OF_MEMORY: GLenum; + readonly PACK_ALIGNMENT: GLenum; + readonly POINTS: GLenum; + readonly POLYGON_OFFSET_FACTOR: GLenum; + readonly POLYGON_OFFSET_FILL: GLenum; + readonly POLYGON_OFFSET_UNITS: GLenum; + readonly RED_BITS: GLenum; + readonly RENDERBUFFER: GLenum; + readonly RENDERBUFFER_ALPHA_SIZE: GLenum; + readonly RENDERBUFFER_BINDING: GLenum; + readonly RENDERBUFFER_BLUE_SIZE: GLenum; + readonly RENDERBUFFER_DEPTH_SIZE: GLenum; + readonly RENDERBUFFER_GREEN_SIZE: GLenum; + readonly RENDERBUFFER_HEIGHT: GLenum; + readonly RENDERBUFFER_INTERNAL_FORMAT: GLenum; + readonly RENDERBUFFER_RED_SIZE: GLenum; + readonly RENDERBUFFER_STENCIL_SIZE: GLenum; + readonly RENDERBUFFER_WIDTH: GLenum; + readonly RENDERER: GLenum; + readonly REPEAT: GLenum; + readonly REPLACE: GLenum; + readonly RGB: GLenum; + readonly RGB565: GLenum; + readonly RGB5_A1: GLenum; + readonly RGBA: GLenum; + readonly RGBA4: GLenum; + readonly SAMPLER_2D: GLenum; + readonly SAMPLER_CUBE: GLenum; + readonly SAMPLES: GLenum; + readonly SAMPLE_ALPHA_TO_COVERAGE: GLenum; + readonly SAMPLE_BUFFERS: GLenum; + readonly SAMPLE_COVERAGE: GLenum; + readonly SAMPLE_COVERAGE_INVERT: GLenum; + readonly SAMPLE_COVERAGE_VALUE: GLenum; + readonly SCISSOR_BOX: GLenum; + readonly SCISSOR_TEST: GLenum; + readonly SHADER_TYPE: GLenum; + readonly SHADING_LANGUAGE_VERSION: GLenum; + readonly SHORT: GLenum; + readonly SRC_ALPHA: GLenum; + readonly SRC_ALPHA_SATURATE: GLenum; + readonly SRC_COLOR: GLenum; + readonly STATIC_DRAW: GLenum; + readonly STENCIL_ATTACHMENT: GLenum; + readonly STENCIL_BACK_FAIL: GLenum; + readonly STENCIL_BACK_FUNC: GLenum; + readonly STENCIL_BACK_PASS_DEPTH_FAIL: GLenum; + readonly STENCIL_BACK_PASS_DEPTH_PASS: GLenum; + readonly STENCIL_BACK_REF: GLenum; + readonly STENCIL_BACK_VALUE_MASK: GLenum; + readonly STENCIL_BACK_WRITEMASK: GLenum; + readonly STENCIL_BITS: GLenum; + readonly STENCIL_BUFFER_BIT: GLenum; + readonly STENCIL_CLEAR_VALUE: GLenum; + readonly STENCIL_FAIL: GLenum; + readonly STENCIL_FUNC: GLenum; + readonly STENCIL_INDEX8: GLenum; + readonly STENCIL_PASS_DEPTH_FAIL: GLenum; + readonly STENCIL_PASS_DEPTH_PASS: GLenum; + readonly STENCIL_REF: GLenum; + readonly STENCIL_TEST: GLenum; + readonly STENCIL_VALUE_MASK: GLenum; + readonly STENCIL_WRITEMASK: GLenum; + readonly STREAM_DRAW: GLenum; + readonly SUBPIXEL_BITS: GLenum; + readonly TEXTURE: GLenum; + readonly TEXTURE0: GLenum; + readonly TEXTURE1: GLenum; + readonly TEXTURE10: GLenum; + readonly TEXTURE11: GLenum; + readonly TEXTURE12: GLenum; + readonly TEXTURE13: GLenum; + readonly TEXTURE14: GLenum; + readonly TEXTURE15: GLenum; + readonly TEXTURE16: GLenum; + readonly TEXTURE17: GLenum; + readonly TEXTURE18: GLenum; + readonly TEXTURE19: GLenum; + readonly TEXTURE2: GLenum; + readonly TEXTURE20: GLenum; + readonly TEXTURE21: GLenum; + readonly TEXTURE22: GLenum; + readonly TEXTURE23: GLenum; + readonly TEXTURE24: GLenum; + readonly TEXTURE25: GLenum; + readonly TEXTURE26: GLenum; + readonly TEXTURE27: GLenum; + readonly TEXTURE28: GLenum; + readonly TEXTURE29: GLenum; + readonly TEXTURE3: GLenum; + readonly TEXTURE30: GLenum; + readonly TEXTURE31: GLenum; + readonly TEXTURE4: GLenum; + readonly TEXTURE5: GLenum; + readonly TEXTURE6: GLenum; + readonly TEXTURE7: GLenum; + readonly TEXTURE8: GLenum; + readonly TEXTURE9: GLenum; + readonly TEXTURE_2D: GLenum; + readonly TEXTURE_BINDING_2D: GLenum; + readonly TEXTURE_BINDING_CUBE_MAP: GLenum; + readonly TEXTURE_CUBE_MAP: GLenum; + readonly TEXTURE_CUBE_MAP_NEGATIVE_X: GLenum; + readonly TEXTURE_CUBE_MAP_NEGATIVE_Y: GLenum; + readonly TEXTURE_CUBE_MAP_NEGATIVE_Z: GLenum; + readonly TEXTURE_CUBE_MAP_POSITIVE_X: GLenum; + readonly TEXTURE_CUBE_MAP_POSITIVE_Y: GLenum; + readonly TEXTURE_CUBE_MAP_POSITIVE_Z: GLenum; + readonly TEXTURE_MAG_FILTER: GLenum; + readonly TEXTURE_MIN_FILTER: GLenum; + readonly TEXTURE_WRAP_S: GLenum; + readonly TEXTURE_WRAP_T: GLenum; + readonly TRIANGLES: GLenum; + readonly TRIANGLE_FAN: GLenum; + readonly TRIANGLE_STRIP: GLenum; + readonly UNPACK_ALIGNMENT: GLenum; + readonly UNPACK_COLORSPACE_CONVERSION_WEBGL: GLenum; + readonly UNPACK_FLIP_Y_WEBGL: GLenum; + readonly UNPACK_PREMULTIPLY_ALPHA_WEBGL: GLenum; + readonly UNSIGNED_BYTE: GLenum; + readonly UNSIGNED_INT: GLenum; + readonly UNSIGNED_SHORT: GLenum; + readonly UNSIGNED_SHORT_4_4_4_4: GLenum; + readonly UNSIGNED_SHORT_5_5_5_1: GLenum; + readonly UNSIGNED_SHORT_5_6_5: GLenum; + readonly VALIDATE_STATUS: GLenum; + readonly VENDOR: GLenum; + readonly VERSION: GLenum; + readonly VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: GLenum; + readonly VERTEX_ATTRIB_ARRAY_ENABLED: GLenum; + readonly VERTEX_ATTRIB_ARRAY_NORMALIZED: GLenum; + readonly VERTEX_ATTRIB_ARRAY_POINTER: GLenum; + readonly VERTEX_ATTRIB_ARRAY_SIZE: GLenum; + readonly VERTEX_ATTRIB_ARRAY_STRIDE: GLenum; + readonly VERTEX_ATTRIB_ARRAY_TYPE: GLenum; + readonly VERTEX_SHADER: GLenum; + readonly VIEWPORT: GLenum; + readonly ZERO: GLenum; +} + +interface WebGLShader extends WebGLObject { +} + +declare var WebGLShader: { + prototype: WebGLShader; + new(): WebGLShader; +}; + +interface WebGLShaderPrecisionFormat { + readonly precision: GLint; + readonly rangeMax: GLint; + readonly rangeMin: GLint; +} + +declare var WebGLShaderPrecisionFormat: { + prototype: WebGLShaderPrecisionFormat; + new(): WebGLShaderPrecisionFormat; +}; + +interface WebGLTexture extends WebGLObject { +} + +declare var WebGLTexture: { + prototype: WebGLTexture; + new(): WebGLTexture; +}; + +interface WebGLUniformLocation { +} + +declare var WebGLUniformLocation: { + prototype: WebGLUniformLocation; + new(): WebGLUniformLocation; +}; + +interface WebGLVertexArrayObjectOES extends WebGLObject { +} + +interface WebSocketEventMap { + "close": CloseEvent; + "error": Event; + "message": MessageEvent; + "open": Event; +} + +interface WebSocket extends EventTarget { + binaryType: BinaryType; + readonly bufferedAmount: number; + readonly extensions: string; + onclose: ((this: WebSocket, ev: CloseEvent) => any) | null; + onerror: ((this: WebSocket, ev: Event) => any) | null; + onmessage: ((this: WebSocket, ev: MessageEvent) => any) | null; + onopen: ((this: WebSocket, ev: Event) => any) | null; + readonly protocol: string; + readonly readyState: number; + readonly url: string; + close(code?: number, reason?: string): void; + send(data: string | ArrayBufferLike | Blob | ArrayBufferView): void; + readonly CLOSED: number; + readonly CLOSING: number; + readonly CONNECTING: number; + readonly OPEN: number; + addEventListener(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var WebSocket: { + prototype: WebSocket; + new(url: string, protocols?: string | string[]): WebSocket; + readonly CLOSED: number; + readonly CLOSING: number; + readonly CONNECTING: number; + readonly OPEN: number; +}; + +interface WindowBase64 { + atob(encodedString: string): string; + btoa(rawString: string): string; +} + +interface WindowClient extends Client { + readonly ancestorOrigins: ReadonlyArray; + readonly focused: boolean; + readonly visibilityState: VisibilityState; + focus(): Promise; + navigate(url: string): Promise; +} + +declare var WindowClient: { + prototype: WindowClient; + new(): WindowClient; +}; + +interface WindowConsole { + readonly console: Console; +} + +interface WindowOrWorkerGlobalScope { + readonly caches: CacheStorage; + readonly crypto: Crypto; + readonly indexedDB: IDBFactory; + readonly origin: string; + readonly performance: Performance; + atob(data: string): string; + btoa(data: string): string; + clearInterval(handle?: number): void; + clearTimeout(handle?: number): void; + createImageBitmap(image: ImageBitmapSource): Promise; + createImageBitmap(image: ImageBitmapSource, sx: number, sy: number, sw: number, sh: number): Promise; + fetch(input: RequestInfo, init?: RequestInit): Promise; + queueMicrotask(callback: Function): void; + setInterval(handler: TimerHandler, timeout?: number, ...arguments: any[]): number; + setTimeout(handler: TimerHandler, timeout?: number, ...arguments: any[]): number; +} + +interface WorkerEventMap extends AbstractWorkerEventMap { + "message": MessageEvent; +} + +interface Worker extends EventTarget, AbstractWorker { + onmessage: ((this: Worker, ev: MessageEvent) => any) | null; + postMessage(message: any, transfer?: Transferable[]): void; + terminate(): void; + addEventListener(type: K, listener: (this: Worker, ev: WorkerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: Worker, ev: WorkerEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var Worker: { + prototype: Worker; + new(stringUrl: string, options?: WorkerOptions): Worker; +}; + +interface WorkerGlobalScopeEventMap { + "error": ErrorEvent; +} + +interface WorkerGlobalScope extends EventTarget, WorkerUtils, WindowConsole, GlobalFetch, WindowOrWorkerGlobalScope { + readonly caches: CacheStorage; + readonly isSecureContext: boolean; + readonly location: WorkerLocation; + onerror: ((this: WorkerGlobalScope, ev: ErrorEvent) => any) | null; + readonly performance: Performance; + readonly self: WorkerGlobalScope; + msWriteProfilerMark(profilerMarkName: string): void; + addEventListener(type: K, listener: (this: WorkerGlobalScope, ev: WorkerGlobalScopeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: WorkerGlobalScope, ev: WorkerGlobalScopeEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var WorkerGlobalScope: { + prototype: WorkerGlobalScope; + new(): WorkerGlobalScope; +}; + +interface WorkerLocation { + readonly hash: string; + readonly host: string; + readonly hostname: string; + readonly href: string; + readonly origin: string; + readonly pathname: string; + readonly port: string; + readonly protocol: string; + readonly search: string; + toString(): string; +} + +declare var WorkerLocation: { + prototype: WorkerLocation; + new(): WorkerLocation; +}; + +interface WorkerNavigator extends NavigatorID, NavigatorOnLine, NavigatorBeacon, NavigatorConcurrentHardware, NavigatorStorage { + readonly serviceWorker: ServiceWorkerContainer; +} + +declare var WorkerNavigator: { + prototype: WorkerNavigator; + new(): WorkerNavigator; +}; + +interface WorkerUtils extends WindowBase64 { + readonly indexedDB: IDBFactory; + readonly msIndexedDB: IDBFactory; + readonly navigator: WorkerNavigator; + importScripts(...urls: string[]): void; +} + +interface WritableStream { + readonly locked: boolean; + abort(reason?: any): Promise; + getWriter(): WritableStreamDefaultWriter; +} + +declare var WritableStream: { + prototype: WritableStream; + new(underlyingSink?: UnderlyingSink, strategy?: QueuingStrategy): WritableStream; +}; + +interface WritableStreamDefaultController { + error(error?: any): void; +} + +interface WritableStreamDefaultWriter { + readonly closed: Promise; + readonly desiredSize: number | null; + readonly ready: Promise; + abort(reason?: any): Promise; + close(): Promise; + releaseLock(): void; + write(chunk: W): Promise; +} + +interface XMLHttpRequestEventMap extends XMLHttpRequestEventTargetEventMap { + "readystatechange": Event; +} + +interface XMLHttpRequest extends XMLHttpRequestEventTarget { + onreadystatechange: ((this: XMLHttpRequest, ev: Event) => any) | null; + /** + * Returns client's state. + */ + readonly readyState: number; + /** + * Returns the response's body. + */ + readonly response: any; + /** + * Returns the text response. + * Throws an "InvalidStateError" DOMException if responseType is not the empty string or "text". + */ + readonly responseText: string; + /** + * Returns the response type. + * Can be set to change the response type. Values are: + * the empty string (default), + * "arraybuffer", + * "blob", + * "document", + * "json", and + * "text". + * When set: setting to "document" is ignored if current global object is not a Window object. + * When set: throws an "InvalidStateError" DOMException if state is loading or done. + * When set: throws an "InvalidAccessError" DOMException if the synchronous flag is set and current global object is a Window object. + */ + responseType: XMLHttpRequestResponseType; + readonly responseURL: string; + readonly status: number; + readonly statusText: string; + /** + * Can be set to a time in milliseconds. When set to a non-zero value will cause fetching to terminate after the given time has passed. When the time has passed, the + * request has not yet completed, and the synchronous flag is unset, a timeout event will then be dispatched, or a + * "TimeoutError" DOMException will be thrown otherwise (for the send() method). + * When set: throws an "InvalidAccessError" DOMException if the synchronous flag is set and current global object is a Window object. + */ + timeout: number; + /** + * Returns the associated XMLHttpRequestUpload object. It can be used to gather transmission information when data is + * transferred to a server. + */ + readonly upload: XMLHttpRequestUpload; + /** + * True when credentials are to be included in a cross-origin request. False when they are + * to be excluded in a cross-origin request and when cookies are to be ignored in its response. + * Initially false. + * When set: throws an "InvalidStateError" DOMException if state is not unsent or opened, or if the send() flag is set. + */ + withCredentials: boolean; + /** + * Cancels any network activity. + */ + abort(): void; + getAllResponseHeaders(): string; + getResponseHeader(name: string): string | null; + /** + * Sets the request method, request URL, and synchronous flag. + * Throws a "SyntaxError" DOMException if either method is not a + * valid HTTP method or url cannot be parsed. + * Throws a "SecurityError" DOMException if method is a + * case-insensitive match for `CONNECT`, `TRACE`, or `TRACK`. + * Throws an "InvalidAccessError" DOMException if async is false, current global object is a Window object, and the timeout attribute is not zero or the responseType attribute is not the empty string. + */ + open(method: string, url: string): void; + open(method: string, url: string, async: boolean, username?: string | null, password?: string | null): void; + /** + * Acts as if the `Content-Type` header value for response is mime. + * (It does not actually change the header though.) + * Throws an "InvalidStateError" DOMException if state is loading or done. + */ + overrideMimeType(mime: string): void; + /** + * Initiates the request. The optional argument provides the request body. The argument is ignored if request method is GET or HEAD. + * Throws an "InvalidStateError" DOMException if either state is not opened or the send() flag is set. + */ + send(body?: BodyInit | null): void; + /** + * Combines a header in author request headers. + * Throws an "InvalidStateError" DOMException if either state is not opened or the send() flag is set. + * Throws a "SyntaxError" DOMException if name is not a header name + * or if value is not a header value. + */ + setRequestHeader(name: string, value: string): void; + readonly DONE: number; + readonly HEADERS_RECEIVED: number; + readonly LOADING: number; + readonly OPENED: number; + readonly UNSENT: number; + addEventListener(type: K, listener: (this: XMLHttpRequest, ev: XMLHttpRequestEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: XMLHttpRequest, ev: XMLHttpRequestEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var XMLHttpRequest: { + prototype: XMLHttpRequest; + new(): XMLHttpRequest; + readonly DONE: number; + readonly HEADERS_RECEIVED: number; + readonly LOADING: number; + readonly OPENED: number; + readonly UNSENT: number; +}; + +interface XMLHttpRequestEventTargetEventMap { + "abort": ProgressEvent; + "error": ProgressEvent; + "load": ProgressEvent; + "loadend": ProgressEvent; + "loadstart": ProgressEvent; + "progress": ProgressEvent; + "timeout": ProgressEvent; +} + +interface XMLHttpRequestEventTarget extends EventTarget { + onabort: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null; + onerror: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null; + onload: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null; + onloadend: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null; + onloadstart: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null; + onprogress: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null; + ontimeout: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null; + addEventListener(type: K, listener: (this: XMLHttpRequestEventTarget, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: XMLHttpRequestEventTarget, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var XMLHttpRequestEventTarget: { + prototype: XMLHttpRequestEventTarget; + new(): XMLHttpRequestEventTarget; +}; + +interface XMLHttpRequestUpload extends XMLHttpRequestEventTarget { + addEventListener(type: K, listener: (this: XMLHttpRequestUpload, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: XMLHttpRequestUpload, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var XMLHttpRequestUpload: { + prototype: XMLHttpRequestUpload; + new(): XMLHttpRequestUpload; +}; + +declare type EventListenerOrEventListenerObject = EventListener | EventListenerObject; + +interface EventHandlerNonNull { + (event: Event): any; +} + +interface PerformanceObserverCallback { + (entries: PerformanceObserverEntryList, observer: PerformanceObserver): void; +} + +interface QueuingStrategySizeCallback { + (chunk: T): number; +} + +interface ReadableByteStreamControllerCallback { + (controller: ReadableByteStreamController): void | PromiseLike; +} + +interface ReadableStreamDefaultControllerCallback { + (controller: ReadableStreamDefaultController): void | PromiseLike; +} + +interface ReadableStreamErrorCallback { + (reason: any): void | PromiseLike; +} + +interface TransformStreamDefaultControllerCallback { + (controller: TransformStreamDefaultController): void | PromiseLike; +} + +interface TransformStreamDefaultControllerTransformCallback { + (chunk: I, controller: TransformStreamDefaultController): void | PromiseLike; +} + +interface WritableStreamDefaultControllerCloseCallback { + (): void | PromiseLike; +} + +interface WritableStreamDefaultControllerStartCallback { + (controller: WritableStreamDefaultController): void | PromiseLike; +} + +interface WritableStreamDefaultControllerWriteCallback { + (chunk: W, controller: WritableStreamDefaultController): void | PromiseLike; +} + +interface WritableStreamErrorCallback { + (reason: any): void | PromiseLike; +} + +declare var onmessage: ((this: DedicatedWorkerGlobalScope, ev: MessageEvent) => any) | null; +declare function close(): void; +declare function postMessage(message: any, transfer?: Transferable[]): void; +/** + * Dispatches a synthetic event event to target and returns true + * if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise. + */ +declare function dispatchEvent(event: Event): boolean; +declare var caches: CacheStorage; +declare var isSecureContext: boolean; +declare var location: WorkerLocation; +declare var onerror: ((this: DedicatedWorkerGlobalScope, ev: ErrorEvent) => any) | null; +declare var performance: Performance; +declare var self: WorkerGlobalScope; +declare function msWriteProfilerMark(profilerMarkName: string): void; +/** + * Dispatches a synthetic event event to target and returns true + * if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise. + */ +declare function dispatchEvent(event: Event): boolean; +declare var indexedDB: IDBFactory; +declare var msIndexedDB: IDBFactory; +declare var navigator: WorkerNavigator; +declare function importScripts(...urls: string[]): void; +declare function atob(encodedString: string): string; +declare function btoa(rawString: string): string; +declare var console: Console; +declare function fetch(input: RequestInfo, init?: RequestInit): Promise; +declare var caches: CacheStorage; +declare var crypto: Crypto; +declare var indexedDB: IDBFactory; +declare var origin: string; +declare var performance: Performance; +declare function atob(data: string): string; +declare function btoa(data: string): string; +declare function clearInterval(handle?: number): void; +declare function clearTimeout(handle?: number): void; +declare function createImageBitmap(image: ImageBitmapSource): Promise; +declare function createImageBitmap(image: ImageBitmapSource, sx: number, sy: number, sw: number, sh: number): Promise; +declare function fetch(input: RequestInfo, init?: RequestInit): Promise; +declare function queueMicrotask(callback: Function): void; +declare function setInterval(handler: TimerHandler, timeout?: number, ...arguments: any[]): number; +declare function setTimeout(handler: TimerHandler, timeout?: number, ...arguments: any[]): number; +declare function addEventListener(type: K, listener: (this: DedicatedWorkerGlobalScope, ev: DedicatedWorkerGlobalScopeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; +declare function addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; +declare function removeEventListener(type: K, listener: (this: DedicatedWorkerGlobalScope, ev: DedicatedWorkerGlobalScopeEventMap[K]) => any, options?: boolean | EventListenerOptions): void; +declare function removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +type BlobPart = BufferSource | Blob | string; +type HeadersInit = Headers | string[][] | Record; +type BodyInit = Blob | BufferSource | FormData | URLSearchParams | ReadableStream | string; +type RequestInfo = Request | string; +type DOMHighResTimeStamp = number; +type CanvasImageSource = ImageBitmap; +type MessageEventSource = MessagePort | ServiceWorker; +type ImageBitmapSource = CanvasImageSource | Blob | ImageData; +type TimerHandler = string | Function; +type PerformanceEntryList = PerformanceEntry[]; +type PushMessageDataInit = BufferSource | string; +type VibratePattern = number | number[]; +type AlgorithmIdentifier = string | Algorithm; +type HashAlgorithmIdentifier = AlgorithmIdentifier; +type BigInteger = Uint8Array; +type NamedCurve = string; +type GLenum = number; +type GLboolean = boolean; +type GLbitfield = number; +type GLint = number; +type GLsizei = number; +type GLintptr = number; +type GLsizeiptr = number; +type GLuint = number; +type GLfloat = number; +type GLclampf = number; +type TexImageSource = ImageBitmap | ImageData; +type Float32List = Float32Array | GLfloat[]; +type Int32List = Int32Array | GLint[]; +type BufferSource = ArrayBufferView | ArrayBuffer; +type DOMTimeStamp = number; +type FormDataEntryValue = File | string; +type IDBValidKey = number | string | Date | BufferSource | IDBArrayKey; +type Transferable = ArrayBuffer | MessagePort | ImageBitmap; +type BinaryType = "blob" | "arraybuffer"; +type ClientTypes = "window" | "worker" | "sharedworker" | "all"; +type EndingType = "transparent" | "native"; +type IDBCursorDirection = "next" | "nextunique" | "prev" | "prevunique"; +type IDBRequestReadyState = "pending" | "done"; +type IDBTransactionMode = "readonly" | "readwrite" | "versionchange"; +type KeyFormat = "raw" | "spki" | "pkcs8" | "jwk"; +type KeyType = "public" | "private" | "secret"; +type KeyUsage = "encrypt" | "decrypt" | "sign" | "verify" | "deriveKey" | "deriveBits" | "wrapKey" | "unwrapKey"; +type NotificationDirection = "auto" | "ltr" | "rtl"; +type NotificationPermission = "default" | "denied" | "granted"; +type PushEncryptionKeyName = "p256dh" | "auth"; +type PushPermissionState = "denied" | "granted" | "prompt"; +type ReferrerPolicy = "" | "no-referrer" | "no-referrer-when-downgrade" | "origin-only" | "origin-when-cross-origin" | "unsafe-url"; +type RequestCache = "default" | "no-store" | "reload" | "no-cache" | "force-cache" | "only-if-cached"; +type RequestCredentials = "omit" | "same-origin" | "include"; +type RequestDestination = "" | "audio" | "audioworklet" | "document" | "embed" | "font" | "image" | "manifest" | "object" | "paintworklet" | "report" | "script" | "sharedworker" | "style" | "track" | "video" | "worker" | "xslt"; +type RequestMode = "navigate" | "same-origin" | "no-cors" | "cors"; +type RequestRedirect = "follow" | "error" | "manual"; +type ResponseType = "basic" | "cors" | "default" | "error" | "opaque" | "opaqueredirect"; +type ServiceWorkerState = "installing" | "installed" | "activating" | "activated" | "redundant"; +type ServiceWorkerUpdateViaCache = "imports" | "all" | "none"; +type VisibilityState = "hidden" | "visible" | "prerender"; +type WebGLPowerPreference = "default" | "low-power" | "high-performance"; +type WorkerType = "classic" | "module"; +type XMLHttpRequestResponseType = "" | "arraybuffer" | "blob" | "document" | "json" | "text"; diff --git a/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.webworker.importscripts.d.ts b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.webworker.importscripts.d.ts new file mode 100644 index 0000000..c373ba8 --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/lib.webworker.importscripts.d.ts @@ -0,0 +1,26 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + + +///////////////////////////// +/// WorkerGlobalScope APIs +///////////////////////////// +// These are only available in a Web Worker +declare function importScripts(...urls: string[]): void; diff --git a/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/protocol.d.ts b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/protocol.d.ts new file mode 100644 index 0000000..74855bf --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/protocol.d.ts @@ -0,0 +1,2552 @@ +/** + * Declaration module describing the TypeScript Server protocol + */ +declare namespace ts.server.protocol { + const enum CommandTypes { + JsxClosingTag = "jsxClosingTag", + Brace = "brace", + BraceCompletion = "braceCompletion", + GetSpanOfEnclosingComment = "getSpanOfEnclosingComment", + Change = "change", + Close = "close", + /** @deprecated Prefer CompletionInfo -- see comment on CompletionsResponse */ + Completions = "completions", + CompletionInfo = "completionInfo", + CompletionDetails = "completionEntryDetails", + CompileOnSaveAffectedFileList = "compileOnSaveAffectedFileList", + CompileOnSaveEmitFile = "compileOnSaveEmitFile", + Configure = "configure", + Definition = "definition", + DefinitionAndBoundSpan = "definitionAndBoundSpan", + Implementation = "implementation", + Exit = "exit", + Format = "format", + Formatonkey = "formatonkey", + Geterr = "geterr", + GeterrForProject = "geterrForProject", + SemanticDiagnosticsSync = "semanticDiagnosticsSync", + SyntacticDiagnosticsSync = "syntacticDiagnosticsSync", + SuggestionDiagnosticsSync = "suggestionDiagnosticsSync", + NavBar = "navbar", + Navto = "navto", + NavTree = "navtree", + NavTreeFull = "navtree-full", + /** @deprecated */ + Occurrences = "occurrences", + DocumentHighlights = "documentHighlights", + Open = "open", + Quickinfo = "quickinfo", + References = "references", + Reload = "reload", + Rename = "rename", + Saveto = "saveto", + SignatureHelp = "signatureHelp", + Status = "status", + TypeDefinition = "typeDefinition", + ProjectInfo = "projectInfo", + ReloadProjects = "reloadProjects", + Unknown = "unknown", + OpenExternalProject = "openExternalProject", + OpenExternalProjects = "openExternalProjects", + CloseExternalProject = "closeExternalProject", + GetOutliningSpans = "getOutliningSpans", + TodoComments = "todoComments", + Indentation = "indentation", + DocCommentTemplate = "docCommentTemplate", + CompilerOptionsForInferredProjects = "compilerOptionsForInferredProjects", + GetCodeFixes = "getCodeFixes", + GetCombinedCodeFix = "getCombinedCodeFix", + ApplyCodeActionCommand = "applyCodeActionCommand", + GetSupportedCodeFixes = "getSupportedCodeFixes", + GetApplicableRefactors = "getApplicableRefactors", + GetEditsForRefactor = "getEditsForRefactor", + OrganizeImports = "organizeImports", + GetEditsForFileRename = "getEditsForFileRename", + ConfigurePlugin = "configurePlugin" + } + /** + * A TypeScript Server message + */ + interface Message { + /** + * Sequence number of the message + */ + seq: number; + /** + * One of "request", "response", or "event" + */ + type: "request" | "response" | "event"; + } + /** + * Client-initiated request message + */ + interface Request extends Message { + type: "request"; + /** + * The command to execute + */ + command: string; + /** + * Object containing arguments for the command + */ + arguments?: any; + } + /** + * Request to reload the project structure for all the opened files + */ + interface ReloadProjectsRequest extends Message { + command: CommandTypes.ReloadProjects; + } + /** + * Server-initiated event message + */ + interface Event extends Message { + type: "event"; + /** + * Name of event + */ + event: string; + /** + * Event-specific information + */ + body?: any; + } + /** + * Response by server to client request message. + */ + interface Response extends Message { + type: "response"; + /** + * Sequence number of the request message. + */ + request_seq: number; + /** + * Outcome of the request. + */ + success: boolean; + /** + * The command requested. + */ + command: string; + /** + * If success === false, this should always be provided. + * Otherwise, may (or may not) contain a success message. + */ + message?: string; + /** + * Contains message body if success === true. + */ + body?: any; + /** + * Contains extra information that plugin can include to be passed on + */ + metadata?: unknown; + } + /** + * Arguments for FileRequest messages. + */ + interface FileRequestArgs { + /** + * The file for the request (absolute pathname required). + */ + file: string; + projectFileName?: string; + } + interface StatusRequest extends Request { + command: CommandTypes.Status; + } + interface StatusResponseBody { + /** + * The TypeScript version (`ts.version`). + */ + version: string; + } + /** + * Response to StatusRequest + */ + interface StatusResponse extends Response { + body: StatusResponseBody; + } + /** + * Requests a JS Doc comment template for a given position + */ + interface DocCommentTemplateRequest extends FileLocationRequest { + command: CommandTypes.DocCommentTemplate; + } + /** + * Response to DocCommentTemplateRequest + */ + interface DocCommandTemplateResponse extends Response { + body?: TextInsertion; + } + /** + * A request to get TODO comments from the file + */ + interface TodoCommentRequest extends FileRequest { + command: CommandTypes.TodoComments; + arguments: TodoCommentRequestArgs; + } + /** + * Arguments for TodoCommentRequest request. + */ + interface TodoCommentRequestArgs extends FileRequestArgs { + /** + * Array of target TodoCommentDescriptors that describes TODO comments to be found + */ + descriptors: TodoCommentDescriptor[]; + } + /** + * Response for TodoCommentRequest request. + */ + interface TodoCommentsResponse extends Response { + body?: TodoComment[]; + } + /** + * A request to determine if the caret is inside a comment. + */ + interface SpanOfEnclosingCommentRequest extends FileLocationRequest { + command: CommandTypes.GetSpanOfEnclosingComment; + arguments: SpanOfEnclosingCommentRequestArgs; + } + interface SpanOfEnclosingCommentRequestArgs extends FileLocationRequestArgs { + /** + * Requires that the enclosing span be a multi-line comment, or else the request returns undefined. + */ + onlyMultiLine: boolean; + } + /** + * Request to obtain outlining spans in file. + */ + interface OutliningSpansRequest extends FileRequest { + command: CommandTypes.GetOutliningSpans; + } + interface OutliningSpan { + /** The span of the document to actually collapse. */ + textSpan: TextSpan; + /** The span of the document to display when the user hovers over the collapsed span. */ + hintSpan: TextSpan; + /** The text to display in the editor for the collapsed region. */ + bannerText: string; + /** + * Whether or not this region should be automatically collapsed when + * the 'Collapse to Definitions' command is invoked. + */ + autoCollapse: boolean; + /** + * Classification of the contents of the span + */ + kind: OutliningSpanKind; + } + /** + * Response to OutliningSpansRequest request. + */ + interface OutliningSpansResponse extends Response { + body?: OutliningSpan[]; + } + /** + * A request to get indentation for a location in file + */ + interface IndentationRequest extends FileLocationRequest { + command: CommandTypes.Indentation; + arguments: IndentationRequestArgs; + } + /** + * Response for IndentationRequest request. + */ + interface IndentationResponse extends Response { + body?: IndentationResult; + } + /** + * Indentation result representing where indentation should be placed + */ + interface IndentationResult { + /** + * The base position in the document that the indent should be relative to + */ + position: number; + /** + * The number of columns the indent should be at relative to the position's column. + */ + indentation: number; + } + /** + * Arguments for IndentationRequest request. + */ + interface IndentationRequestArgs extends FileLocationRequestArgs { + /** + * An optional set of settings to be used when computing indentation. + * If argument is omitted - then it will use settings for file that were previously set via 'configure' request or global settings. + */ + options?: EditorSettings; + } + /** + * Arguments for ProjectInfoRequest request. + */ + interface ProjectInfoRequestArgs extends FileRequestArgs { + /** + * Indicate if the file name list of the project is needed + */ + needFileNameList: boolean; + } + /** + * A request to get the project information of the current file. + */ + interface ProjectInfoRequest extends Request { + command: CommandTypes.ProjectInfo; + arguments: ProjectInfoRequestArgs; + } + /** + * A request to retrieve compiler options diagnostics for a project + */ + interface CompilerOptionsDiagnosticsRequest extends Request { + arguments: CompilerOptionsDiagnosticsRequestArgs; + } + /** + * Arguments for CompilerOptionsDiagnosticsRequest request. + */ + interface CompilerOptionsDiagnosticsRequestArgs { + /** + * Name of the project to retrieve compiler options diagnostics. + */ + projectFileName: string; + } + /** + * Response message body for "projectInfo" request + */ + interface ProjectInfo { + /** + * For configured project, this is the normalized path of the 'tsconfig.json' file + * For inferred project, this is undefined + */ + configFileName: string; + /** + * The list of normalized file name in the project, including 'lib.d.ts' + */ + fileNames?: string[]; + /** + * Indicates if the project has a active language service instance + */ + languageServiceDisabled?: boolean; + } + /** + * Represents diagnostic info that includes location of diagnostic in two forms + * - start position and length of the error span + * - startLocation and endLocation - a pair of Location objects that store start/end line and offset of the error span. + */ + interface DiagnosticWithLinePosition { + message: string; + start: number; + length: number; + startLocation: Location; + endLocation: Location; + category: string; + code: number; + /** May store more in future. For now, this will simply be `true` to indicate when a diagnostic is an unused-identifier diagnostic. */ + reportsUnnecessary?: {}; + relatedInformation?: DiagnosticRelatedInformation[]; + } + /** + * Response message for "projectInfo" request + */ + interface ProjectInfoResponse extends Response { + body?: ProjectInfo; + } + /** + * Request whose sole parameter is a file name. + */ + interface FileRequest extends Request { + arguments: FileRequestArgs; + } + /** + * Instances of this interface specify a location in a source file: + * (file, line, character offset), where line and character offset are 1-based. + */ + interface FileLocationRequestArgs extends FileRequestArgs { + /** + * The line number for the request (1-based). + */ + line: number; + /** + * The character offset (on the line) for the request (1-based). + */ + offset: number; + } + type FileLocationOrRangeRequestArgs = FileLocationRequestArgs | FileRangeRequestArgs; + /** + * Request refactorings at a given position or selection area. + */ + interface GetApplicableRefactorsRequest extends Request { + command: CommandTypes.GetApplicableRefactors; + arguments: GetApplicableRefactorsRequestArgs; + } + type GetApplicableRefactorsRequestArgs = FileLocationOrRangeRequestArgs; + /** + * Response is a list of available refactorings. + * Each refactoring exposes one or more "Actions"; a user selects one action to invoke a refactoring + */ + interface GetApplicableRefactorsResponse extends Response { + body?: ApplicableRefactorInfo[]; + } + /** + * A set of one or more available refactoring actions, grouped under a parent refactoring. + */ + interface ApplicableRefactorInfo { + /** + * The programmatic name of the refactoring + */ + name: string; + /** + * A description of this refactoring category to show to the user. + * If the refactoring gets inlined (see below), this text will not be visible. + */ + description: string; + /** + * Inlineable refactorings can have their actions hoisted out to the top level + * of a context menu. Non-inlineanable refactorings should always be shown inside + * their parent grouping. + * + * If not specified, this value is assumed to be 'true' + */ + inlineable?: boolean; + actions: RefactorActionInfo[]; + } + /** + * Represents a single refactoring action - for example, the "Extract Method..." refactor might + * offer several actions, each corresponding to a surround class or closure to extract into. + */ + interface RefactorActionInfo { + /** + * The programmatic name of the refactoring action + */ + name: string; + /** + * A description of this refactoring action to show to the user. + * If the parent refactoring is inlined away, this will be the only text shown, + * so this description should make sense by itself if the parent is inlineable=true + */ + description: string; + } + interface GetEditsForRefactorRequest extends Request { + command: CommandTypes.GetEditsForRefactor; + arguments: GetEditsForRefactorRequestArgs; + } + /** + * Request the edits that a particular refactoring action produces. + * Callers must specify the name of the refactor and the name of the action. + */ + type GetEditsForRefactorRequestArgs = FileLocationOrRangeRequestArgs & { + refactor: string; + action: string; + }; + interface GetEditsForRefactorResponse extends Response { + body?: RefactorEditInfo; + } + interface RefactorEditInfo { + edits: FileCodeEdits[]; + /** + * An optional location where the editor should start a rename operation once + * the refactoring edits have been applied + */ + renameLocation?: Location; + renameFilename?: string; + } + /** + * Organize imports by: + * 1) Removing unused imports + * 2) Coalescing imports from the same module + * 3) Sorting imports + */ + interface OrganizeImportsRequest extends Request { + command: CommandTypes.OrganizeImports; + arguments: OrganizeImportsRequestArgs; + } + type OrganizeImportsScope = GetCombinedCodeFixScope; + interface OrganizeImportsRequestArgs { + scope: OrganizeImportsScope; + } + interface OrganizeImportsResponse extends Response { + body: ReadonlyArray; + } + interface GetEditsForFileRenameRequest extends Request { + command: CommandTypes.GetEditsForFileRename; + arguments: GetEditsForFileRenameRequestArgs; + } + /** Note: Paths may also be directories. */ + interface GetEditsForFileRenameRequestArgs { + readonly oldFilePath: string; + readonly newFilePath: string; + } + interface GetEditsForFileRenameResponse extends Response { + body: ReadonlyArray; + } + /** + * Request for the available codefixes at a specific position. + */ + interface CodeFixRequest extends Request { + command: CommandTypes.GetCodeFixes; + arguments: CodeFixRequestArgs; + } + interface GetCombinedCodeFixRequest extends Request { + command: CommandTypes.GetCombinedCodeFix; + arguments: GetCombinedCodeFixRequestArgs; + } + interface GetCombinedCodeFixResponse extends Response { + body: CombinedCodeActions; + } + interface ApplyCodeActionCommandRequest extends Request { + command: CommandTypes.ApplyCodeActionCommand; + arguments: ApplyCodeActionCommandRequestArgs; + } + interface ApplyCodeActionCommandResponse extends Response { + } + interface FileRangeRequestArgs extends FileRequestArgs { + /** + * The line number for the request (1-based). + */ + startLine: number; + /** + * The character offset (on the line) for the request (1-based). + */ + startOffset: number; + /** + * The line number for the request (1-based). + */ + endLine: number; + /** + * The character offset (on the line) for the request (1-based). + */ + endOffset: number; + } + /** + * Instances of this interface specify errorcodes on a specific location in a sourcefile. + */ + interface CodeFixRequestArgs extends FileRangeRequestArgs { + /** + * Errorcodes we want to get the fixes for. + */ + errorCodes: ReadonlyArray; + } + interface GetCombinedCodeFixRequestArgs { + scope: GetCombinedCodeFixScope; + fixId: {}; + } + interface GetCombinedCodeFixScope { + type: "file"; + args: FileRequestArgs; + } + interface ApplyCodeActionCommandRequestArgs { + /** May also be an array of commands. */ + command: {}; + } + /** + * Response for GetCodeFixes request. + */ + interface GetCodeFixesResponse extends Response { + body?: CodeAction[]; + } + /** + * A request whose arguments specify a file location (file, line, col). + */ + interface FileLocationRequest extends FileRequest { + arguments: FileLocationRequestArgs; + } + /** + * A request to get codes of supported code fixes. + */ + interface GetSupportedCodeFixesRequest extends Request { + command: CommandTypes.GetSupportedCodeFixes; + } + /** + * A response for GetSupportedCodeFixesRequest request. + */ + interface GetSupportedCodeFixesResponse extends Response { + /** + * List of error codes supported by the server. + */ + body?: string[]; + } + /** + * Arguments for EncodedSemanticClassificationsRequest request. + */ + interface EncodedSemanticClassificationsRequestArgs extends FileRequestArgs { + /** + * Start position of the span. + */ + start: number; + /** + * Length of the span. + */ + length: number; + } + /** + * Arguments in document highlight request; include: filesToSearch, file, + * line, offset. + */ + interface DocumentHighlightsRequestArgs extends FileLocationRequestArgs { + /** + * List of files to search for document highlights. + */ + filesToSearch: string[]; + } + /** + * Go to definition request; value of command field is + * "definition". Return response giving the file locations that + * define the symbol found in file at location line, col. + */ + interface DefinitionRequest extends FileLocationRequest { + command: CommandTypes.Definition; + } + interface DefinitionAndBoundSpanRequest extends FileLocationRequest { + readonly command: CommandTypes.DefinitionAndBoundSpan; + } + interface DefinitionAndBoundSpanResponse extends Response { + readonly body: DefinitionInfoAndBoundSpan; + } + /** + * Go to type request; value of command field is + * "typeDefinition". Return response giving the file locations that + * define the type for the symbol found in file at location line, col. + */ + interface TypeDefinitionRequest extends FileLocationRequest { + command: CommandTypes.TypeDefinition; + } + /** + * Go to implementation request; value of command field is + * "implementation". Return response giving the file locations that + * implement the symbol found in file at location line, col. + */ + interface ImplementationRequest extends FileLocationRequest { + command: CommandTypes.Implementation; + } + /** + * Location in source code expressed as (one-based) line and (one-based) column offset. + */ + interface Location { + line: number; + offset: number; + } + /** + * Object found in response messages defining a span of text in source code. + */ + interface TextSpan { + /** + * First character of the definition. + */ + start: Location; + /** + * One character past last character of the definition. + */ + end: Location; + } + /** + * Object found in response messages defining a span of text in a specific source file. + */ + interface FileSpan extends TextSpan { + /** + * File containing text span. + */ + file: string; + } + interface DefinitionInfoAndBoundSpan { + definitions: ReadonlyArray; + textSpan: TextSpan; + } + /** + * Definition response message. Gives text range for definition. + */ + interface DefinitionResponse extends Response { + body?: FileSpan[]; + } + interface DefinitionInfoAndBoundSpanReponse extends Response { + body?: DefinitionInfoAndBoundSpan; + } + /** + * Definition response message. Gives text range for definition. + */ + interface TypeDefinitionResponse extends Response { + body?: FileSpan[]; + } + /** + * Implementation response message. Gives text range for implementations. + */ + interface ImplementationResponse extends Response { + body?: FileSpan[]; + } + /** + * Request to get brace completion for a location in the file. + */ + interface BraceCompletionRequest extends FileLocationRequest { + command: CommandTypes.BraceCompletion; + arguments: BraceCompletionRequestArgs; + } + /** + * Argument for BraceCompletionRequest request. + */ + interface BraceCompletionRequestArgs extends FileLocationRequestArgs { + /** + * Kind of opening brace + */ + openingBrace: string; + } + interface JsxClosingTagRequest extends FileLocationRequest { + readonly command: CommandTypes.JsxClosingTag; + readonly arguments: JsxClosingTagRequestArgs; + } + interface JsxClosingTagRequestArgs extends FileLocationRequestArgs { + } + interface JsxClosingTagResponse extends Response { + readonly body: TextInsertion; + } + /** + * @deprecated + * Get occurrences request; value of command field is + * "occurrences". Return response giving spans that are relevant + * in the file at a given line and column. + */ + interface OccurrencesRequest extends FileLocationRequest { + command: CommandTypes.Occurrences; + } + /** @deprecated */ + interface OccurrencesResponseItem extends FileSpan { + /** + * True if the occurrence is a write location, false otherwise. + */ + isWriteAccess: boolean; + /** + * True if the occurrence is in a string, undefined otherwise; + */ + isInString?: true; + } + /** @deprecated */ + interface OccurrencesResponse extends Response { + body?: OccurrencesResponseItem[]; + } + /** + * Get document highlights request; value of command field is + * "documentHighlights". Return response giving spans that are relevant + * in the file at a given line and column. + */ + interface DocumentHighlightsRequest extends FileLocationRequest { + command: CommandTypes.DocumentHighlights; + arguments: DocumentHighlightsRequestArgs; + } + /** + * Span augmented with extra information that denotes the kind of the highlighting to be used for span. + */ + interface HighlightSpan extends TextSpan { + kind: HighlightSpanKind; + } + /** + * Represents a set of highligh spans for a give name + */ + interface DocumentHighlightsItem { + /** + * File containing highlight spans. + */ + file: string; + /** + * Spans to highlight in file. + */ + highlightSpans: HighlightSpan[]; + } + /** + * Response for a DocumentHighlightsRequest request. + */ + interface DocumentHighlightsResponse extends Response { + body?: DocumentHighlightsItem[]; + } + /** + * Find references request; value of command field is + * "references". Return response giving the file locations that + * reference the symbol found in file at location line, col. + */ + interface ReferencesRequest extends FileLocationRequest { + command: CommandTypes.References; + } + interface ReferencesResponseItem extends FileSpan { + /** Text of line containing the reference. Including this + * with the response avoids latency of editor loading files + * to show text of reference line (the server already has + * loaded the referencing files). + */ + lineText: string; + /** + * True if reference is a write location, false otherwise. + */ + isWriteAccess: boolean; + /** + * True if reference is a definition, false otherwise. + */ + isDefinition: boolean; + } + /** + * The body of a "references" response message. + */ + interface ReferencesResponseBody { + /** + * The file locations referencing the symbol. + */ + refs: ReadonlyArray; + /** + * The name of the symbol. + */ + symbolName: string; + /** + * The start character offset of the symbol (on the line provided by the references request). + */ + symbolStartOffset: number; + /** + * The full display name of the symbol. + */ + symbolDisplayString: string; + } + /** + * Response to "references" request. + */ + interface ReferencesResponse extends Response { + body?: ReferencesResponseBody; + } + /** + * Argument for RenameRequest request. + */ + interface RenameRequestArgs extends FileLocationRequestArgs { + /** + * Should text at specified location be found/changed in comments? + */ + findInComments?: boolean; + /** + * Should text at specified location be found/changed in strings? + */ + findInStrings?: boolean; + } + /** + * Rename request; value of command field is "rename". Return + * response giving the file locations that reference the symbol + * found in file at location line, col. Also return full display + * name of the symbol so that client can print it unambiguously. + */ + interface RenameRequest extends FileLocationRequest { + command: CommandTypes.Rename; + arguments: RenameRequestArgs; + } + /** + * Information about the item to be renamed. + */ + type RenameInfo = RenameInfoSuccess | RenameInfoFailure; + interface RenameInfoSuccess { + /** + * True if item can be renamed. + */ + canRename: true; + /** + * File or directory to rename. + * If set, `getEditsForFileRename` should be called instead of `findRenameLocations`. + */ + fileToRename?: string; + /** + * Display name of the item to be renamed. + */ + displayName: string; + /** + * Full display name of item to be renamed. + */ + fullDisplayName: string; + /** + * The items's kind (such as 'className' or 'parameterName' or plain 'text'). + */ + kind: ScriptElementKind; + /** + * Optional modifiers for the kind (such as 'public'). + */ + kindModifiers: string; + /** Span of text to rename. */ + triggerSpan: TextSpan; + } + interface RenameInfoFailure { + canRename: false; + /** + * Error message if item can not be renamed. + */ + localizedErrorMessage: string; + } + /** + * A group of text spans, all in 'file'. + */ + interface SpanGroup { + /** The file to which the spans apply */ + file: string; + /** The text spans in this group */ + locs: RenameTextSpan[]; + } + interface RenameTextSpan extends TextSpan { + readonly prefixText?: string; + readonly suffixText?: string; + } + interface RenameResponseBody { + /** + * Information about the item to be renamed. + */ + info: RenameInfo; + /** + * An array of span groups (one per file) that refer to the item to be renamed. + */ + locs: ReadonlyArray; + } + /** + * Rename response message. + */ + interface RenameResponse extends Response { + body?: RenameResponseBody; + } + /** + * Represents a file in external project. + * External project is project whose set of files, compilation options and open\close state + * is maintained by the client (i.e. if all this data come from .csproj file in Visual Studio). + * External project will exist even if all files in it are closed and should be closed explicitly. + * If external project includes one or more tsconfig.json/jsconfig.json files then tsserver will + * create configured project for every config file but will maintain a link that these projects were created + * as a result of opening external project so they should be removed once external project is closed. + */ + interface ExternalFile { + /** + * Name of file file + */ + fileName: string; + /** + * Script kind of the file + */ + scriptKind?: ScriptKindName | ts.ScriptKind; + /** + * Whether file has mixed content (i.e. .cshtml file that combines html markup with C#/JavaScript) + */ + hasMixedContent?: boolean; + /** + * Content of the file + */ + content?: string; + } + /** + * Represent an external project + */ + interface ExternalProject { + /** + * Project name + */ + projectFileName: string; + /** + * List of root files in project + */ + rootFiles: ExternalFile[]; + /** + * Compiler options for the project + */ + options: ExternalProjectCompilerOptions; + /** + * @deprecated typingOptions. Use typeAcquisition instead + */ + typingOptions?: TypeAcquisition; + /** + * Explicitly specified type acquisition for the project + */ + typeAcquisition?: TypeAcquisition; + } + interface CompileOnSaveMixin { + /** + * If compile on save is enabled for the project + */ + compileOnSave?: boolean; + } + /** + * For external projects, some of the project settings are sent together with + * compiler settings. + */ + type ExternalProjectCompilerOptions = CompilerOptions & CompileOnSaveMixin; + /** + * Represents a set of changes that happen in project + */ + interface ProjectChanges { + /** + * List of added files + */ + added: string[]; + /** + * List of removed files + */ + removed: string[]; + /** + * List of updated files + */ + updated: string[]; + } + /** + * Information found in a configure request. + */ + interface ConfigureRequestArguments { + /** + * Information about the host, for example 'Emacs 24.4' or + * 'Sublime Text version 3075' + */ + hostInfo?: string; + /** + * If present, tab settings apply only to this file. + */ + file?: string; + /** + * The format options to use during formatting and other code editing features. + */ + formatOptions?: FormatCodeSettings; + preferences?: UserPreferences; + /** + * The host's additional supported .js file extensions + */ + extraFileExtensions?: FileExtensionInfo[]; + } + /** + * Configure request; value of command field is "configure". Specifies + * host information, such as host type, tab size, and indent size. + */ + interface ConfigureRequest extends Request { + command: CommandTypes.Configure; + arguments: ConfigureRequestArguments; + } + /** + * Response to "configure" request. This is just an acknowledgement, so + * no body field is required. + */ + interface ConfigureResponse extends Response { + } + interface ConfigurePluginRequestArguments { + pluginName: string; + configuration: any; + } + interface ConfigurePluginRequest extends Request { + command: CommandTypes.ConfigurePlugin; + arguments: ConfigurePluginRequestArguments; + } + /** + * Information found in an "open" request. + */ + interface OpenRequestArgs extends FileRequestArgs { + /** + * Used when a version of the file content is known to be more up to date than the one on disk. + * Then the known content will be used upon opening instead of the disk copy + */ + fileContent?: string; + /** + * Used to specify the script kind of the file explicitly. It could be one of the following: + * "TS", "JS", "TSX", "JSX" + */ + scriptKindName?: ScriptKindName; + /** + * Used to limit the searching for project config file. If given the searching will stop at this + * root path; otherwise it will go all the way up to the dist root path. + */ + projectRootPath?: string; + } + type ScriptKindName = "TS" | "JS" | "TSX" | "JSX"; + /** + * Open request; value of command field is "open". Notify the + * server that the client has file open. The server will not + * monitor the filesystem for changes in this file and will assume + * that the client is updating the server (using the change and/or + * reload messages) when the file changes. Server does not currently + * send a response to an open request. + */ + interface OpenRequest extends Request { + command: CommandTypes.Open; + arguments: OpenRequestArgs; + } + /** + * Request to open or update external project + */ + interface OpenExternalProjectRequest extends Request { + command: CommandTypes.OpenExternalProject; + arguments: OpenExternalProjectArgs; + } + /** + * Arguments to OpenExternalProjectRequest request + */ + type OpenExternalProjectArgs = ExternalProject; + /** + * Request to open multiple external projects + */ + interface OpenExternalProjectsRequest extends Request { + command: CommandTypes.OpenExternalProjects; + arguments: OpenExternalProjectsArgs; + } + /** + * Arguments to OpenExternalProjectsRequest + */ + interface OpenExternalProjectsArgs { + /** + * List of external projects to open or update + */ + projects: ExternalProject[]; + } + /** + * Response to OpenExternalProjectRequest request. This is just an acknowledgement, so + * no body field is required. + */ + interface OpenExternalProjectResponse extends Response { + } + /** + * Response to OpenExternalProjectsRequest request. This is just an acknowledgement, so + * no body field is required. + */ + interface OpenExternalProjectsResponse extends Response { + } + /** + * Request to close external project. + */ + interface CloseExternalProjectRequest extends Request { + command: CommandTypes.CloseExternalProject; + arguments: CloseExternalProjectRequestArgs; + } + /** + * Arguments to CloseExternalProjectRequest request + */ + interface CloseExternalProjectRequestArgs { + /** + * Name of the project to close + */ + projectFileName: string; + } + /** + * Response to CloseExternalProjectRequest request. This is just an acknowledgement, so + * no body field is required. + */ + interface CloseExternalProjectResponse extends Response { + } + /** + * Request to set compiler options for inferred projects. + * External projects are opened / closed explicitly. + * Configured projects are opened when user opens loose file that has 'tsconfig.json' or 'jsconfig.json' anywhere in one of containing folders. + * This configuration file will be used to obtain a list of files and configuration settings for the project. + * Inferred projects are created when user opens a loose file that is not the part of external project + * or configured project and will contain only open file and transitive closure of referenced files if 'useOneInferredProject' is false, + * or all open loose files and its transitive closure of referenced files if 'useOneInferredProject' is true. + */ + interface SetCompilerOptionsForInferredProjectsRequest extends Request { + command: CommandTypes.CompilerOptionsForInferredProjects; + arguments: SetCompilerOptionsForInferredProjectsArgs; + } + /** + * Argument for SetCompilerOptionsForInferredProjectsRequest request. + */ + interface SetCompilerOptionsForInferredProjectsArgs { + /** + * Compiler options to be used with inferred projects. + */ + options: ExternalProjectCompilerOptions; + /** + * Specifies the project root path used to scope compiler options. + * It is an error to provide this property if the server has not been started with + * `useInferredProjectPerProjectRoot` enabled. + */ + projectRootPath?: string; + } + /** + * Response to SetCompilerOptionsForInferredProjectsResponse request. This is just an acknowledgement, so + * no body field is required. + */ + interface SetCompilerOptionsForInferredProjectsResponse extends Response { + } + /** + * Exit request; value of command field is "exit". Ask the server process + * to exit. + */ + interface ExitRequest extends Request { + command: CommandTypes.Exit; + } + /** + * Close request; value of command field is "close". Notify the + * server that the client has closed a previously open file. If + * file is still referenced by open files, the server will resume + * monitoring the filesystem for changes to file. Server does not + * currently send a response to a close request. + */ + interface CloseRequest extends FileRequest { + command: CommandTypes.Close; + } + /** + * Request to obtain the list of files that should be regenerated if target file is recompiled. + * NOTE: this us query-only operation and does not generate any output on disk. + */ + interface CompileOnSaveAffectedFileListRequest extends FileRequest { + command: CommandTypes.CompileOnSaveAffectedFileList; + } + /** + * Contains a list of files that should be regenerated in a project + */ + interface CompileOnSaveAffectedFileListSingleProject { + /** + * Project name + */ + projectFileName: string; + /** + * List of files names that should be recompiled + */ + fileNames: string[]; + /** + * true if project uses outFile or out compiler option + */ + projectUsesOutFile: boolean; + } + /** + * Response for CompileOnSaveAffectedFileListRequest request; + */ + interface CompileOnSaveAffectedFileListResponse extends Response { + body: CompileOnSaveAffectedFileListSingleProject[]; + } + /** + * Request to recompile the file. All generated outputs (.js, .d.ts or .js.map files) is written on disk. + */ + interface CompileOnSaveEmitFileRequest extends FileRequest { + command: CommandTypes.CompileOnSaveEmitFile; + arguments: CompileOnSaveEmitFileRequestArgs; + } + /** + * Arguments for CompileOnSaveEmitFileRequest + */ + interface CompileOnSaveEmitFileRequestArgs extends FileRequestArgs { + /** + * if true - then file should be recompiled even if it does not have any changes. + */ + forced?: boolean; + } + /** + * Quickinfo request; value of command field is + * "quickinfo". Return response giving a quick type and + * documentation string for the symbol found in file at location + * line, col. + */ + interface QuickInfoRequest extends FileLocationRequest { + command: CommandTypes.Quickinfo; + } + /** + * Body of QuickInfoResponse. + */ + interface QuickInfoResponseBody { + /** + * The symbol's kind (such as 'className' or 'parameterName' or plain 'text'). + */ + kind: ScriptElementKind; + /** + * Optional modifiers for the kind (such as 'public'). + */ + kindModifiers: string; + /** + * Starting file location of symbol. + */ + start: Location; + /** + * One past last character of symbol. + */ + end: Location; + /** + * Type and kind of symbol. + */ + displayString: string; + /** + * Documentation associated with symbol. + */ + documentation: string; + /** + * JSDoc tags associated with symbol. + */ + tags: JSDocTagInfo[]; + } + /** + * Quickinfo response message. + */ + interface QuickInfoResponse extends Response { + body?: QuickInfoResponseBody; + } + /** + * Arguments for format messages. + */ + interface FormatRequestArgs extends FileLocationRequestArgs { + /** + * Last line of range for which to format text in file. + */ + endLine: number; + /** + * Character offset on last line of range for which to format text in file. + */ + endOffset: number; + /** + * Format options to be used. + */ + options?: FormatCodeSettings; + } + /** + * Format request; value of command field is "format". Return + * response giving zero or more edit instructions. The edit + * instructions will be sorted in file order. Applying the edit + * instructions in reverse to file will result in correctly + * reformatted text. + */ + interface FormatRequest extends FileLocationRequest { + command: CommandTypes.Format; + arguments: FormatRequestArgs; + } + /** + * Object found in response messages defining an editing + * instruction for a span of text in source code. The effect of + * this instruction is to replace the text starting at start and + * ending one character before end with newText. For an insertion, + * the text span is empty. For a deletion, newText is empty. + */ + interface CodeEdit { + /** + * First character of the text span to edit. + */ + start: Location; + /** + * One character past last character of the text span to edit. + */ + end: Location; + /** + * Replace the span defined above with this string (may be + * the empty string). + */ + newText: string; + } + interface FileCodeEdits { + fileName: string; + textChanges: CodeEdit[]; + } + interface CodeFixResponse extends Response { + /** The code actions that are available */ + body?: CodeFixAction[]; + } + interface CodeAction { + /** Description of the code action to display in the UI of the editor */ + description: string; + /** Text changes to apply to each file as part of the code action */ + changes: FileCodeEdits[]; + /** A command is an opaque object that should be passed to `ApplyCodeActionCommandRequestArgs` without modification. */ + commands?: {}[]; + } + interface CombinedCodeActions { + changes: ReadonlyArray; + commands?: ReadonlyArray<{}>; + } + interface CodeFixAction extends CodeAction { + /** Short name to identify the fix, for use by telemetry. */ + fixName: string; + /** + * If present, one may call 'getCombinedCodeFix' with this fixId. + * This may be omitted to indicate that the code fix can't be applied in a group. + */ + fixId?: {}; + /** Should be present if and only if 'fixId' is. */ + fixAllDescription?: string; + } + /** + * Format and format on key response message. + */ + interface FormatResponse extends Response { + body?: CodeEdit[]; + } + /** + * Arguments for format on key messages. + */ + interface FormatOnKeyRequestArgs extends FileLocationRequestArgs { + /** + * Key pressed (';', '\n', or '}'). + */ + key: string; + options?: FormatCodeSettings; + } + /** + * Format on key request; value of command field is + * "formatonkey". Given file location and key typed (as string), + * return response giving zero or more edit instructions. The + * edit instructions will be sorted in file order. Applying the + * edit instructions in reverse to file will result in correctly + * reformatted text. + */ + interface FormatOnKeyRequest extends FileLocationRequest { + command: CommandTypes.Formatonkey; + arguments: FormatOnKeyRequestArgs; + } + type CompletionsTriggerCharacter = "." | '"' | "'" | "`" | "/" | "@" | "<"; + /** + * Arguments for completions messages. + */ + interface CompletionsRequestArgs extends FileLocationRequestArgs { + /** + * Optional prefix to apply to possible completions. + */ + prefix?: string; + /** + * Character that was responsible for triggering completion. + * Should be `undefined` if a user manually requested completion. + */ + triggerCharacter?: CompletionsTriggerCharacter; + /** + * @deprecated Use UserPreferences.includeCompletionsForModuleExports + */ + includeExternalModuleExports?: boolean; + /** + * @deprecated Use UserPreferences.includeCompletionsWithInsertText + */ + includeInsertTextCompletions?: boolean; + } + /** + * Completions request; value of command field is "completions". + * Given a file location (file, line, col) and a prefix (which may + * be the empty string), return the possible completions that + * begin with prefix. + */ + interface CompletionsRequest extends FileLocationRequest { + command: CommandTypes.Completions | CommandTypes.CompletionInfo; + arguments: CompletionsRequestArgs; + } + /** + * Arguments for completion details request. + */ + interface CompletionDetailsRequestArgs extends FileLocationRequestArgs { + /** + * Names of one or more entries for which to obtain details. + */ + entryNames: (string | CompletionEntryIdentifier)[]; + } + interface CompletionEntryIdentifier { + name: string; + source?: string; + } + /** + * Completion entry details request; value of command field is + * "completionEntryDetails". Given a file location (file, line, + * col) and an array of completion entry names return more + * detailed information for each completion entry. + */ + interface CompletionDetailsRequest extends FileLocationRequest { + command: CommandTypes.CompletionDetails; + arguments: CompletionDetailsRequestArgs; + } + /** + * Part of a symbol description. + */ + interface SymbolDisplayPart { + /** + * Text of an item describing the symbol. + */ + text: string; + /** + * The symbol's kind (such as 'className' or 'parameterName' or plain 'text'). + */ + kind: string; + } + /** + * An item found in a completion response. + */ + interface CompletionEntry { + /** + * The symbol's name. + */ + name: string; + /** + * The symbol's kind (such as 'className' or 'parameterName'). + */ + kind: ScriptElementKind; + /** + * Optional modifiers for the kind (such as 'public'). + */ + kindModifiers?: string; + /** + * A string that is used for comparing completion items so that they can be ordered. This + * is often the same as the name but may be different in certain circumstances. + */ + sortText: string; + /** + * Text to insert instead of `name`. + * This is used to support bracketed completions; If `name` might be "a-b" but `insertText` would be `["a-b"]`, + * coupled with `replacementSpan` to replace a dotted access with a bracket access. + */ + insertText?: string; + /** + * An optional span that indicates the text to be replaced by this completion item. + * If present, this span should be used instead of the default one. + * It will be set if the required span differs from the one generated by the default replacement behavior. + */ + replacementSpan?: TextSpan; + /** + * Indicates whether commiting this completion entry will require additional code actions to be + * made to avoid errors. The CompletionEntryDetails will have these actions. + */ + hasAction?: true; + /** + * Identifier (not necessarily human-readable) identifying where this completion came from. + */ + source?: string; + /** + * If true, this completion should be highlighted as recommended. There will only be one of these. + * This will be set when we know the user should write an expression with a certain type and that type is an enum or constructable class. + * Then either that enum/class or a namespace containing it will be the recommended symbol. + */ + isRecommended?: true; + } + /** + * Additional completion entry details, available on demand + */ + interface CompletionEntryDetails { + /** + * The symbol's name. + */ + name: string; + /** + * The symbol's kind (such as 'className' or 'parameterName'). + */ + kind: ScriptElementKind; + /** + * Optional modifiers for the kind (such as 'public'). + */ + kindModifiers: string; + /** + * Display parts of the symbol (similar to quick info). + */ + displayParts: SymbolDisplayPart[]; + /** + * Documentation strings for the symbol. + */ + documentation?: SymbolDisplayPart[]; + /** + * JSDoc tags for the symbol. + */ + tags?: JSDocTagInfo[]; + /** + * The associated code actions for this entry + */ + codeActions?: CodeAction[]; + /** + * Human-readable description of the `source` from the CompletionEntry. + */ + source?: SymbolDisplayPart[]; + } + /** @deprecated Prefer CompletionInfoResponse, which supports several top-level fields in addition to the array of entries. */ + interface CompletionsResponse extends Response { + body?: CompletionEntry[]; + } + interface CompletionInfoResponse extends Response { + body?: CompletionInfo; + } + interface CompletionInfo { + readonly isGlobalCompletion: boolean; + readonly isMemberCompletion: boolean; + readonly isNewIdentifierLocation: boolean; + readonly entries: ReadonlyArray; + } + interface CompletionDetailsResponse extends Response { + body?: CompletionEntryDetails[]; + } + /** + * Signature help information for a single parameter + */ + interface SignatureHelpParameter { + /** + * The parameter's name + */ + name: string; + /** + * Documentation of the parameter. + */ + documentation: SymbolDisplayPart[]; + /** + * Display parts of the parameter. + */ + displayParts: SymbolDisplayPart[]; + /** + * Whether the parameter is optional or not. + */ + isOptional: boolean; + } + /** + * Represents a single signature to show in signature help. + */ + interface SignatureHelpItem { + /** + * Whether the signature accepts a variable number of arguments. + */ + isVariadic: boolean; + /** + * The prefix display parts. + */ + prefixDisplayParts: SymbolDisplayPart[]; + /** + * The suffix display parts. + */ + suffixDisplayParts: SymbolDisplayPart[]; + /** + * The separator display parts. + */ + separatorDisplayParts: SymbolDisplayPart[]; + /** + * The signature helps items for the parameters. + */ + parameters: SignatureHelpParameter[]; + /** + * The signature's documentation + */ + documentation: SymbolDisplayPart[]; + /** + * The signature's JSDoc tags + */ + tags: JSDocTagInfo[]; + } + /** + * Signature help items found in the response of a signature help request. + */ + interface SignatureHelpItems { + /** + * The signature help items. + */ + items: SignatureHelpItem[]; + /** + * The span for which signature help should appear on a signature + */ + applicableSpan: TextSpan; + /** + * The item selected in the set of available help items. + */ + selectedItemIndex: number; + /** + * The argument selected in the set of parameters. + */ + argumentIndex: number; + /** + * The argument count + */ + argumentCount: number; + } + type SignatureHelpTriggerCharacter = "," | "(" | "<"; + type SignatureHelpRetriggerCharacter = SignatureHelpTriggerCharacter | ")"; + /** + * Arguments of a signature help request. + */ + interface SignatureHelpRequestArgs extends FileLocationRequestArgs { + /** + * Reason why signature help was invoked. + * See each individual possible + */ + triggerReason?: SignatureHelpTriggerReason; + } + type SignatureHelpTriggerReason = SignatureHelpInvokedReason | SignatureHelpCharacterTypedReason | SignatureHelpRetriggeredReason; + /** + * Signals that the user manually requested signature help. + * The language service will unconditionally attempt to provide a result. + */ + interface SignatureHelpInvokedReason { + kind: "invoked"; + triggerCharacter?: undefined; + } + /** + * Signals that the signature help request came from a user typing a character. + * Depending on the character and the syntactic context, the request may or may not be served a result. + */ + interface SignatureHelpCharacterTypedReason { + kind: "characterTyped"; + /** + * Character that was responsible for triggering signature help. + */ + triggerCharacter: SignatureHelpTriggerCharacter; + } + /** + * Signals that this signature help request came from typing a character or moving the cursor. + * This should only occur if a signature help session was already active and the editor needs to see if it should adjust. + * The language service will unconditionally attempt to provide a result. + * `triggerCharacter` can be `undefined` for a retrigger caused by a cursor move. + */ + interface SignatureHelpRetriggeredReason { + kind: "retrigger"; + /** + * Character that was responsible for triggering signature help. + */ + triggerCharacter?: SignatureHelpRetriggerCharacter; + } + /** + * Signature help request; value of command field is "signatureHelp". + * Given a file location (file, line, col), return the signature + * help. + */ + interface SignatureHelpRequest extends FileLocationRequest { + command: CommandTypes.SignatureHelp; + arguments: SignatureHelpRequestArgs; + } + /** + * Response object for a SignatureHelpRequest. + */ + interface SignatureHelpResponse extends Response { + body?: SignatureHelpItems; + } + /** + * Synchronous request for semantic diagnostics of one file. + */ + interface SemanticDiagnosticsSyncRequest extends FileRequest { + command: CommandTypes.SemanticDiagnosticsSync; + arguments: SemanticDiagnosticsSyncRequestArgs; + } + interface SemanticDiagnosticsSyncRequestArgs extends FileRequestArgs { + includeLinePosition?: boolean; + } + /** + * Response object for synchronous sematic diagnostics request. + */ + interface SemanticDiagnosticsSyncResponse extends Response { + body?: Diagnostic[] | DiagnosticWithLinePosition[]; + } + interface SuggestionDiagnosticsSyncRequest extends FileRequest { + command: CommandTypes.SuggestionDiagnosticsSync; + arguments: SuggestionDiagnosticsSyncRequestArgs; + } + type SuggestionDiagnosticsSyncRequestArgs = SemanticDiagnosticsSyncRequestArgs; + type SuggestionDiagnosticsSyncResponse = SemanticDiagnosticsSyncResponse; + /** + * Synchronous request for syntactic diagnostics of one file. + */ + interface SyntacticDiagnosticsSyncRequest extends FileRequest { + command: CommandTypes.SyntacticDiagnosticsSync; + arguments: SyntacticDiagnosticsSyncRequestArgs; + } + interface SyntacticDiagnosticsSyncRequestArgs extends FileRequestArgs { + includeLinePosition?: boolean; + } + /** + * Response object for synchronous syntactic diagnostics request. + */ + interface SyntacticDiagnosticsSyncResponse extends Response { + body?: Diagnostic[] | DiagnosticWithLinePosition[]; + } + /** + * Arguments for GeterrForProject request. + */ + interface GeterrForProjectRequestArgs { + /** + * the file requesting project error list + */ + file: string; + /** + * Delay in milliseconds to wait before starting to compute + * errors for the files in the file list + */ + delay: number; + } + /** + * GeterrForProjectRequest request; value of command field is + * "geterrForProject". It works similarly with 'Geterr', only + * it request for every file in this project. + */ + interface GeterrForProjectRequest extends Request { + command: CommandTypes.GeterrForProject; + arguments: GeterrForProjectRequestArgs; + } + /** + * Arguments for geterr messages. + */ + interface GeterrRequestArgs { + /** + * List of file names for which to compute compiler errors. + * The files will be checked in list order. + */ + files: string[]; + /** + * Delay in milliseconds to wait before starting to compute + * errors for the files in the file list + */ + delay: number; + } + /** + * Geterr request; value of command field is "geterr". Wait for + * delay milliseconds and then, if during the wait no change or + * reload messages have arrived for the first file in the files + * list, get the syntactic errors for the file, field requests, + * and then get the semantic errors for the file. Repeat with a + * smaller delay for each subsequent file on the files list. Best + * practice for an editor is to send a file list containing each + * file that is currently visible, in most-recently-used order. + */ + interface GeterrRequest extends Request { + command: CommandTypes.Geterr; + arguments: GeterrRequestArgs; + } + type RequestCompletedEventName = "requestCompleted"; + /** + * Event that is sent when server have finished processing request with specified id. + */ + interface RequestCompletedEvent extends Event { + event: RequestCompletedEventName; + body: RequestCompletedEventBody; + } + interface RequestCompletedEventBody { + request_seq: number; + } + /** + * Item of diagnostic information found in a DiagnosticEvent message. + */ + interface Diagnostic { + /** + * Starting file location at which text applies. + */ + start: Location; + /** + * The last file location at which the text applies. + */ + end: Location; + /** + * Text of diagnostic message. + */ + text: string; + /** + * The category of the diagnostic message, e.g. "error", "warning", or "suggestion". + */ + category: string; + reportsUnnecessary?: {}; + /** + * Any related spans the diagnostic may have, such as other locations relevant to an error, such as declarartion sites + */ + relatedInformation?: DiagnosticRelatedInformation[]; + /** + * The error code of the diagnostic message. + */ + code?: number; + /** + * The name of the plugin reporting the message. + */ + source?: string; + } + interface DiagnosticWithFileName extends Diagnostic { + /** + * Name of the file the diagnostic is in + */ + fileName: string; + } + /** + * Represents additional spans returned with a diagnostic which are relevant to it + */ + interface DiagnosticRelatedInformation { + /** + * The category of the related information message, e.g. "error", "warning", or "suggestion". + */ + category: string; + /** + * The code used ot identify the related information + */ + code: number; + /** + * Text of related or additional information. + */ + message: string; + /** + * Associated location + */ + span?: FileSpan; + } + interface DiagnosticEventBody { + /** + * The file for which diagnostic information is reported. + */ + file: string; + /** + * An array of diagnostic information items. + */ + diagnostics: Diagnostic[]; + } + type DiagnosticEventKind = "semanticDiag" | "syntaxDiag" | "suggestionDiag"; + /** + * Event message for DiagnosticEventKind event types. + * These events provide syntactic and semantic errors for a file. + */ + interface DiagnosticEvent extends Event { + body?: DiagnosticEventBody; + event: DiagnosticEventKind; + } + interface ConfigFileDiagnosticEventBody { + /** + * The file which trigged the searching and error-checking of the config file + */ + triggerFile: string; + /** + * The name of the found config file. + */ + configFile: string; + /** + * An arry of diagnostic information items for the found config file. + */ + diagnostics: DiagnosticWithFileName[]; + } + /** + * Event message for "configFileDiag" event type. + * This event provides errors for a found config file. + */ + interface ConfigFileDiagnosticEvent extends Event { + body?: ConfigFileDiagnosticEventBody; + event: "configFileDiag"; + } + type ProjectLanguageServiceStateEventName = "projectLanguageServiceState"; + interface ProjectLanguageServiceStateEvent extends Event { + event: ProjectLanguageServiceStateEventName; + body?: ProjectLanguageServiceStateEventBody; + } + interface ProjectLanguageServiceStateEventBody { + /** + * Project name that has changes in the state of language service. + * For configured projects this will be the config file path. + * For external projects this will be the name of the projects specified when project was open. + * For inferred projects this event is not raised. + */ + projectName: string; + /** + * True if language service state switched from disabled to enabled + * and false otherwise. + */ + languageServiceEnabled: boolean; + } + type ProjectsUpdatedInBackgroundEventName = "projectsUpdatedInBackground"; + interface ProjectsUpdatedInBackgroundEvent extends Event { + event: ProjectsUpdatedInBackgroundEventName; + body: ProjectsUpdatedInBackgroundEventBody; + } + interface ProjectsUpdatedInBackgroundEventBody { + /** + * Current set of open files + */ + openFiles: string[]; + } + type ProjectLoadingStartEventName = "projectLoadingStart"; + interface ProjectLoadingStartEvent extends Event { + event: ProjectLoadingStartEventName; + body: ProjectLoadingStartEventBody; + } + interface ProjectLoadingStartEventBody { + /** name of the project */ + projectName: string; + /** reason for loading */ + reason: string; + } + type ProjectLoadingFinishEventName = "projectLoadingFinish"; + interface ProjectLoadingFinishEvent extends Event { + event: ProjectLoadingFinishEventName; + body: ProjectLoadingFinishEventBody; + } + interface ProjectLoadingFinishEventBody { + /** name of the project */ + projectName: string; + } + type SurveyReadyEventName = "surveyReady"; + interface SurveyReadyEvent extends Event { + event: SurveyReadyEventName; + body: SurveyReadyEventBody; + } + interface SurveyReadyEventBody { + /** Name of the survey. This is an internal machine- and programmer-friendly name */ + surveyId: string; + } + type LargeFileReferencedEventName = "largeFileReferenced"; + interface LargeFileReferencedEvent extends Event { + event: LargeFileReferencedEventName; + body: LargeFileReferencedEventBody; + } + interface LargeFileReferencedEventBody { + /** + * name of the large file being loaded + */ + file: string; + /** + * size of the file + */ + fileSize: number; + /** + * max file size allowed on the server + */ + maxFileSize: number; + } + /** + * Arguments for reload request. + */ + interface ReloadRequestArgs extends FileRequestArgs { + /** + * Name of temporary file from which to reload file + * contents. May be same as file. + */ + tmpfile: string; + } + /** + * Reload request message; value of command field is "reload". + * Reload contents of file with name given by the 'file' argument + * from temporary file with name given by the 'tmpfile' argument. + * The two names can be identical. + */ + interface ReloadRequest extends FileRequest { + command: CommandTypes.Reload; + arguments: ReloadRequestArgs; + } + /** + * Response to "reload" request. This is just an acknowledgement, so + * no body field is required. + */ + interface ReloadResponse extends Response { + } + /** + * Arguments for saveto request. + */ + interface SavetoRequestArgs extends FileRequestArgs { + /** + * Name of temporary file into which to save server's view of + * file contents. + */ + tmpfile: string; + } + /** + * Saveto request message; value of command field is "saveto". + * For debugging purposes, save to a temporaryfile (named by + * argument 'tmpfile') the contents of file named by argument + * 'file'. The server does not currently send a response to a + * "saveto" request. + */ + interface SavetoRequest extends FileRequest { + command: CommandTypes.Saveto; + arguments: SavetoRequestArgs; + } + /** + * Arguments for navto request message. + */ + interface NavtoRequestArgs extends FileRequestArgs { + /** + * Search term to navigate to from current location; term can + * be '.*' or an identifier prefix. + */ + searchValue: string; + /** + * Optional limit on the number of items to return. + */ + maxResultCount?: number; + /** + * Optional flag to indicate we want results for just the current file + * or the entire project. + */ + currentFileOnly?: boolean; + projectFileName?: string; + } + /** + * Navto request message; value of command field is "navto". + * Return list of objects giving file locations and symbols that + * match the search term given in argument 'searchTerm'. The + * context for the search is given by the named file. + */ + interface NavtoRequest extends FileRequest { + command: CommandTypes.Navto; + arguments: NavtoRequestArgs; + } + /** + * An item found in a navto response. + */ + interface NavtoItem extends FileSpan { + /** + * The symbol's name. + */ + name: string; + /** + * The symbol's kind (such as 'className' or 'parameterName'). + */ + kind: ScriptElementKind; + /** + * exact, substring, or prefix. + */ + matchKind: string; + /** + * If this was a case sensitive or insensitive match. + */ + isCaseSensitive: boolean; + /** + * Optional modifiers for the kind (such as 'public'). + */ + kindModifiers?: string; + /** + * Name of symbol's container symbol (if any); for example, + * the class name if symbol is a class member. + */ + containerName?: string; + /** + * Kind of symbol's container symbol (if any). + */ + containerKind?: ScriptElementKind; + } + /** + * Navto response message. Body is an array of navto items. Each + * item gives a symbol that matched the search term. + */ + interface NavtoResponse extends Response { + body?: NavtoItem[]; + } + /** + * Arguments for change request message. + */ + interface ChangeRequestArgs extends FormatRequestArgs { + /** + * Optional string to insert at location (file, line, offset). + */ + insertString?: string; + } + /** + * Change request message; value of command field is "change". + * Update the server's view of the file named by argument 'file'. + * Server does not currently send a response to a change request. + */ + interface ChangeRequest extends FileLocationRequest { + command: CommandTypes.Change; + arguments: ChangeRequestArgs; + } + /** + * Response to "brace" request. + */ + interface BraceResponse extends Response { + body?: TextSpan[]; + } + /** + * Brace matching request; value of command field is "brace". + * Return response giving the file locations of matching braces + * found in file at location line, offset. + */ + interface BraceRequest extends FileLocationRequest { + command: CommandTypes.Brace; + } + /** + * NavBar items request; value of command field is "navbar". + * Return response giving the list of navigation bar entries + * extracted from the requested file. + */ + interface NavBarRequest extends FileRequest { + command: CommandTypes.NavBar; + } + /** + * NavTree request; value of command field is "navtree". + * Return response giving the navigation tree of the requested file. + */ + interface NavTreeRequest extends FileRequest { + command: CommandTypes.NavTree; + } + interface NavigationBarItem { + /** + * The item's display text. + */ + text: string; + /** + * The symbol's kind (such as 'className' or 'parameterName'). + */ + kind: ScriptElementKind; + /** + * Optional modifiers for the kind (such as 'public'). + */ + kindModifiers?: string; + /** + * The definition locations of the item. + */ + spans: TextSpan[]; + /** + * Optional children. + */ + childItems?: NavigationBarItem[]; + /** + * Number of levels deep this item should appear. + */ + indent: number; + } + /** protocol.NavigationTree is identical to ts.NavigationTree, except using protocol.TextSpan instead of ts.TextSpan */ + interface NavigationTree { + text: string; + kind: ScriptElementKind; + kindModifiers: string; + spans: TextSpan[]; + nameSpan: TextSpan | undefined; + childItems?: NavigationTree[]; + } + type TelemetryEventName = "telemetry"; + interface TelemetryEvent extends Event { + event: TelemetryEventName; + body: TelemetryEventBody; + } + interface TelemetryEventBody { + telemetryEventName: string; + payload: any; + } + type TypesInstallerInitializationFailedEventName = "typesInstallerInitializationFailed"; + interface TypesInstallerInitializationFailedEvent extends Event { + event: TypesInstallerInitializationFailedEventName; + body: TypesInstallerInitializationFailedEventBody; + } + interface TypesInstallerInitializationFailedEventBody { + message: string; + } + type TypingsInstalledTelemetryEventName = "typingsInstalled"; + interface TypingsInstalledTelemetryEventBody extends TelemetryEventBody { + telemetryEventName: TypingsInstalledTelemetryEventName; + payload: TypingsInstalledTelemetryEventPayload; + } + interface TypingsInstalledTelemetryEventPayload { + /** + * Comma separated list of installed typing packages + */ + installedPackages: string; + /** + * true if install request succeeded, otherwise - false + */ + installSuccess: boolean; + /** + * version of typings installer + */ + typingsInstallerVersion: string; + } + type BeginInstallTypesEventName = "beginInstallTypes"; + type EndInstallTypesEventName = "endInstallTypes"; + interface BeginInstallTypesEvent extends Event { + event: BeginInstallTypesEventName; + body: BeginInstallTypesEventBody; + } + interface EndInstallTypesEvent extends Event { + event: EndInstallTypesEventName; + body: EndInstallTypesEventBody; + } + interface InstallTypesEventBody { + /** + * correlation id to match begin and end events + */ + eventId: number; + /** + * list of packages to install + */ + packages: ReadonlyArray; + } + interface BeginInstallTypesEventBody extends InstallTypesEventBody { + } + interface EndInstallTypesEventBody extends InstallTypesEventBody { + /** + * true if installation succeeded, otherwise false + */ + success: boolean; + } + interface NavBarResponse extends Response { + body?: NavigationBarItem[]; + } + interface NavTreeResponse extends Response { + body?: NavigationTree; + } + const enum IndentStyle { + None = "None", + Block = "Block", + Smart = "Smart" + } + interface EditorSettings { + baseIndentSize?: number; + indentSize?: number; + tabSize?: number; + newLineCharacter?: string; + convertTabsToSpaces?: boolean; + indentStyle?: IndentStyle | ts.IndentStyle; + } + interface FormatCodeSettings extends EditorSettings { + insertSpaceAfterCommaDelimiter?: boolean; + insertSpaceAfterSemicolonInForStatements?: boolean; + insertSpaceBeforeAndAfterBinaryOperators?: boolean; + insertSpaceAfterConstructor?: boolean; + insertSpaceAfterKeywordsInControlFlowStatements?: boolean; + insertSpaceAfterFunctionKeywordForAnonymousFunctions?: boolean; + insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis?: boolean; + insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets?: boolean; + insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces?: boolean; + insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces?: boolean; + insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces?: boolean; + insertSpaceAfterTypeAssertion?: boolean; + insertSpaceBeforeFunctionParenthesis?: boolean; + placeOpenBraceOnNewLineForFunctions?: boolean; + placeOpenBraceOnNewLineForControlBlocks?: boolean; + insertSpaceBeforeTypeAnnotation?: boolean; + } + interface UserPreferences { + readonly disableSuggestions?: boolean; + readonly quotePreference?: "double" | "single"; + /** + * If enabled, TypeScript will search through all external modules' exports and add them to the completions list. + * This affects lone identifier completions but not completions on the right hand side of `obj.`. + */ + readonly includeCompletionsForModuleExports?: boolean; + /** + * If enabled, the completion list will include completions with invalid identifier names. + * For those entries, The `insertText` and `replacementSpan` properties will be set to change from `.x` property access to `["x"]`. + */ + readonly includeCompletionsWithInsertText?: boolean; + readonly importModuleSpecifierPreference?: "relative" | "non-relative"; + readonly allowTextChangesInNewFiles?: boolean; + readonly lazyConfiguredProjectsFromExternalProject?: boolean; + } + interface CompilerOptions { + allowJs?: boolean; + allowSyntheticDefaultImports?: boolean; + allowUnreachableCode?: boolean; + allowUnusedLabels?: boolean; + alwaysStrict?: boolean; + baseUrl?: string; + charset?: string; + checkJs?: boolean; + declaration?: boolean; + declarationDir?: string; + disableSizeLimit?: boolean; + downlevelIteration?: boolean; + emitBOM?: boolean; + emitDecoratorMetadata?: boolean; + experimentalDecorators?: boolean; + forceConsistentCasingInFileNames?: boolean; + importHelpers?: boolean; + inlineSourceMap?: boolean; + inlineSources?: boolean; + isolatedModules?: boolean; + jsx?: JsxEmit | ts.JsxEmit; + lib?: string[]; + locale?: string; + mapRoot?: string; + maxNodeModuleJsDepth?: number; + module?: ModuleKind | ts.ModuleKind; + moduleResolution?: ModuleResolutionKind | ts.ModuleResolutionKind; + newLine?: NewLineKind | ts.NewLineKind; + noEmit?: boolean; + noEmitHelpers?: boolean; + noEmitOnError?: boolean; + noErrorTruncation?: boolean; + noFallthroughCasesInSwitch?: boolean; + noImplicitAny?: boolean; + noImplicitReturns?: boolean; + noImplicitThis?: boolean; + noUnusedLocals?: boolean; + noUnusedParameters?: boolean; + noImplicitUseStrict?: boolean; + noLib?: boolean; + noResolve?: boolean; + out?: string; + outDir?: string; + outFile?: string; + paths?: MapLike; + plugins?: PluginImport[]; + preserveConstEnums?: boolean; + preserveSymlinks?: boolean; + project?: string; + reactNamespace?: string; + removeComments?: boolean; + references?: ProjectReference[]; + rootDir?: string; + rootDirs?: string[]; + skipLibCheck?: boolean; + skipDefaultLibCheck?: boolean; + sourceMap?: boolean; + sourceRoot?: string; + strict?: boolean; + strictNullChecks?: boolean; + suppressExcessPropertyErrors?: boolean; + suppressImplicitAnyIndexErrors?: boolean; + target?: ScriptTarget | ts.ScriptTarget; + traceResolution?: boolean; + resolveJsonModule?: boolean; + types?: string[]; + /** Paths used to used to compute primary types search locations */ + typeRoots?: string[]; + [option: string]: CompilerOptionsValue | undefined; + } + const enum JsxEmit { + None = "None", + Preserve = "Preserve", + ReactNative = "ReactNative", + React = "React" + } + const enum ModuleKind { + None = "None", + CommonJS = "CommonJS", + AMD = "AMD", + UMD = "UMD", + System = "System", + ES6 = "ES6", + ES2015 = "ES2015", + ESNext = "ESNext" + } + const enum ModuleResolutionKind { + Classic = "Classic", + Node = "Node" + } + const enum NewLineKind { + Crlf = "Crlf", + Lf = "Lf" + } + const enum ScriptTarget { + ES3 = "ES3", + ES5 = "ES5", + ES6 = "ES6", + ES2015 = "ES2015", + ES2016 = "ES2016", + ES2017 = "ES2017", + ESNext = "ESNext" + } +} +declare namespace ts.server.protocol { + + interface TextInsertion { + newText: string; + /** The position in newText the caret should point to after the insertion. */ + caretOffset: number; + } + + interface TodoCommentDescriptor { + text: string; + priority: number; + } + + interface TodoComment { + descriptor: TodoCommentDescriptor; + message: string; + position: number; + } + + enum OutliningSpanKind { + /** Single or multi-line comments */ + Comment = "comment", + /** Sections marked by '// #region' and '// #endregion' comments */ + Region = "region", + /** Declarations and expressions */ + Code = "code", + /** Contiguous blocks of import declarations */ + Imports = "imports" + } + + enum HighlightSpanKind { + none = "none", + definition = "definition", + reference = "reference", + writtenReference = "writtenReference" + } + + enum ScriptElementKind { + unknown = "", + warning = "warning", + /** predefined type (void) or keyword (class) */ + keyword = "keyword", + /** top level script node */ + scriptElement = "script", + /** module foo {} */ + moduleElement = "module", + /** class X {} */ + classElement = "class", + /** var x = class X {} */ + localClassElement = "local class", + /** interface Y {} */ + interfaceElement = "interface", + /** type T = ... */ + typeElement = "type", + /** enum E */ + enumElement = "enum", + enumMemberElement = "enum member", + /** + * Inside module and script only + * const v = .. + */ + variableElement = "var", + /** Inside function */ + localVariableElement = "local var", + /** + * Inside module and script only + * function f() { } + */ + functionElement = "function", + /** Inside function */ + localFunctionElement = "local function", + /** class X { [public|private]* foo() {} } */ + memberFunctionElement = "method", + /** class X { [public|private]* [get|set] foo:number; } */ + memberGetAccessorElement = "getter", + memberSetAccessorElement = "setter", + /** + * class X { [public|private]* foo:number; } + * interface Y { foo:number; } + */ + memberVariableElement = "property", + /** class X { constructor() { } } */ + constructorImplementationElement = "constructor", + /** interface Y { ():number; } */ + callSignatureElement = "call", + /** interface Y { []:number; } */ + indexSignatureElement = "index", + /** interface Y { new():Y; } */ + constructSignatureElement = "construct", + /** function foo(*Y*: string) */ + parameterElement = "parameter", + typeParameterElement = "type parameter", + primitiveType = "primitive type", + label = "label", + alias = "alias", + constElement = "const", + letElement = "let", + directory = "directory", + externalModuleName = "external module name", + /** + * + */ + jsxAttribute = "JSX attribute", + /** String literal */ + string = "string" + } + + interface TypeAcquisition { + enableAutoDiscovery?: boolean; + enable?: boolean; + include?: string[]; + exclude?: string[]; + [option: string]: string[] | boolean | undefined; + } + + interface FileExtensionInfo { + extension: string; + isMixedContent: boolean; + scriptKind?: ScriptKind; + } + + interface JSDocTagInfo { + name: string; + text?: string; + } + + /** + * Type of objects whose values are all of the same type. + * The `in` and `for-in` operators can *not* be safely used, + * since `Object.prototype` may be modified by outside code. + */ + interface MapLike { + [index: string]: T; + } + + interface PluginImport { + name: string; + } + + interface ProjectReference { + /** A normalized path on disk */ + path: string; + /** The path as the user originally wrote it */ + originalPath?: string; + /** True if the output of this reference should be prepended to the output of this project. Only valid for --outFile compilations */ + prepend?: boolean; + /** True if it is intended that this reference form a circularity */ + circular?: boolean; + } + + type CompilerOptionsValue = string | number | boolean | (string | number)[] | string[] | MapLike | PluginImport[] | ProjectReference[] | null | undefined; +} +declare namespace ts { + // these types are empty stubs for types from services and should not be used directly + export type ScriptKind = never; + export type IndentStyle = never; + export type JsxEmit = never; + export type ModuleKind = never; + export type ModuleResolutionKind = never; + export type NewLineKind = never; + export type ScriptTarget = never; +} +import protocol = ts.server.protocol; +export = protocol; +export as namespace protocol; \ No newline at end of file diff --git a/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/tsserverlibrary.d.ts b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/tsserverlibrary.d.ts new file mode 100644 index 0000000..e67f6d3 --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/tsserverlibrary.d.ts @@ -0,0 +1,8943 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + +declare namespace ts { + const versionMajorMinor = "3.2"; + /** The version of the TypeScript compiler release */ + const version: string; +} +declare namespace ts { + /** + * Type of objects whose values are all of the same type. + * The `in` and `for-in` operators can *not* be safely used, + * since `Object.prototype` may be modified by outside code. + */ + interface MapLike { + [index: string]: T; + } + interface SortedReadonlyArray extends ReadonlyArray { + " __sortedArrayBrand": any; + } + interface SortedArray extends Array { + " __sortedArrayBrand": any; + } + /** ES6 Map interface, only read methods included. */ + interface ReadonlyMap { + get(key: string): T | undefined; + has(key: string): boolean; + forEach(action: (value: T, key: string) => void): void; + readonly size: number; + keys(): Iterator; + values(): Iterator; + entries(): Iterator<[string, T]>; + } + /** ES6 Map interface. */ + interface Map extends ReadonlyMap { + set(key: string, value: T): this; + delete(key: string): boolean; + clear(): void; + } + /** ES6 Iterator type. */ + interface Iterator { + next(): { + value: T; + done: false; + } | { + value: never; + done: true; + }; + } + /** Array that is only intended to be pushed to, never read. */ + interface Push { + push(...values: T[]): void; + } +} +declare namespace ts { + type Path = string & { + __pathBrand: any; + }; + interface TextRange { + pos: number; + end: number; + } + type JsDocSyntaxKind = SyntaxKind.EndOfFileToken | SyntaxKind.WhitespaceTrivia | SyntaxKind.AtToken | SyntaxKind.NewLineTrivia | SyntaxKind.AsteriskToken | SyntaxKind.OpenBraceToken | SyntaxKind.CloseBraceToken | SyntaxKind.LessThanToken | SyntaxKind.OpenBracketToken | SyntaxKind.CloseBracketToken | SyntaxKind.EqualsToken | SyntaxKind.CommaToken | SyntaxKind.DotToken | SyntaxKind.Identifier | SyntaxKind.NoSubstitutionTemplateLiteral | SyntaxKind.Unknown | KeywordSyntaxKind; + type KeywordSyntaxKind = SyntaxKind.AbstractKeyword | SyntaxKind.AnyKeyword | SyntaxKind.AsKeyword | SyntaxKind.BigIntKeyword | SyntaxKind.BooleanKeyword | SyntaxKind.BreakKeyword | SyntaxKind.CaseKeyword | SyntaxKind.CatchKeyword | SyntaxKind.ClassKeyword | SyntaxKind.ContinueKeyword | SyntaxKind.ConstKeyword | SyntaxKind.ConstructorKeyword | SyntaxKind.DebuggerKeyword | SyntaxKind.DeclareKeyword | SyntaxKind.DefaultKeyword | SyntaxKind.DeleteKeyword | SyntaxKind.DoKeyword | SyntaxKind.ElseKeyword | SyntaxKind.EnumKeyword | SyntaxKind.ExportKeyword | SyntaxKind.ExtendsKeyword | SyntaxKind.FalseKeyword | SyntaxKind.FinallyKeyword | SyntaxKind.ForKeyword | SyntaxKind.FromKeyword | SyntaxKind.FunctionKeyword | SyntaxKind.GetKeyword | SyntaxKind.IfKeyword | SyntaxKind.ImplementsKeyword | SyntaxKind.ImportKeyword | SyntaxKind.InKeyword | SyntaxKind.InferKeyword | SyntaxKind.InstanceOfKeyword | SyntaxKind.InterfaceKeyword | SyntaxKind.IsKeyword | SyntaxKind.KeyOfKeyword | SyntaxKind.LetKeyword | SyntaxKind.ModuleKeyword | SyntaxKind.NamespaceKeyword | SyntaxKind.NeverKeyword | SyntaxKind.NewKeyword | SyntaxKind.NullKeyword | SyntaxKind.NumberKeyword | SyntaxKind.ObjectKeyword | SyntaxKind.PackageKeyword | SyntaxKind.PrivateKeyword | SyntaxKind.ProtectedKeyword | SyntaxKind.PublicKeyword | SyntaxKind.ReadonlyKeyword | SyntaxKind.RequireKeyword | SyntaxKind.GlobalKeyword | SyntaxKind.ReturnKeyword | SyntaxKind.SetKeyword | SyntaxKind.StaticKeyword | SyntaxKind.StringKeyword | SyntaxKind.SuperKeyword | SyntaxKind.SwitchKeyword | SyntaxKind.SymbolKeyword | SyntaxKind.ThisKeyword | SyntaxKind.ThrowKeyword | SyntaxKind.TrueKeyword | SyntaxKind.TryKeyword | SyntaxKind.TypeKeyword | SyntaxKind.TypeOfKeyword | SyntaxKind.UndefinedKeyword | SyntaxKind.UniqueKeyword | SyntaxKind.UnknownKeyword | SyntaxKind.VarKeyword | SyntaxKind.VoidKeyword | SyntaxKind.WhileKeyword | SyntaxKind.WithKeyword | SyntaxKind.YieldKeyword | SyntaxKind.AsyncKeyword | SyntaxKind.AwaitKeyword | SyntaxKind.OfKeyword; + type JsxTokenSyntaxKind = SyntaxKind.LessThanSlashToken | SyntaxKind.EndOfFileToken | SyntaxKind.ConflictMarkerTrivia | SyntaxKind.JsxText | SyntaxKind.JsxTextAllWhiteSpaces | SyntaxKind.OpenBraceToken | SyntaxKind.LessThanToken; + enum SyntaxKind { + Unknown = 0, + EndOfFileToken = 1, + SingleLineCommentTrivia = 2, + MultiLineCommentTrivia = 3, + NewLineTrivia = 4, + WhitespaceTrivia = 5, + ShebangTrivia = 6, + ConflictMarkerTrivia = 7, + NumericLiteral = 8, + BigIntLiteral = 9, + StringLiteral = 10, + JsxText = 11, + JsxTextAllWhiteSpaces = 12, + RegularExpressionLiteral = 13, + NoSubstitutionTemplateLiteral = 14, + TemplateHead = 15, + TemplateMiddle = 16, + TemplateTail = 17, + OpenBraceToken = 18, + CloseBraceToken = 19, + OpenParenToken = 20, + CloseParenToken = 21, + OpenBracketToken = 22, + CloseBracketToken = 23, + DotToken = 24, + DotDotDotToken = 25, + SemicolonToken = 26, + CommaToken = 27, + LessThanToken = 28, + LessThanSlashToken = 29, + GreaterThanToken = 30, + LessThanEqualsToken = 31, + GreaterThanEqualsToken = 32, + EqualsEqualsToken = 33, + ExclamationEqualsToken = 34, + EqualsEqualsEqualsToken = 35, + ExclamationEqualsEqualsToken = 36, + EqualsGreaterThanToken = 37, + PlusToken = 38, + MinusToken = 39, + AsteriskToken = 40, + AsteriskAsteriskToken = 41, + SlashToken = 42, + PercentToken = 43, + PlusPlusToken = 44, + MinusMinusToken = 45, + LessThanLessThanToken = 46, + GreaterThanGreaterThanToken = 47, + GreaterThanGreaterThanGreaterThanToken = 48, + AmpersandToken = 49, + BarToken = 50, + CaretToken = 51, + ExclamationToken = 52, + TildeToken = 53, + AmpersandAmpersandToken = 54, + BarBarToken = 55, + QuestionToken = 56, + ColonToken = 57, + AtToken = 58, + EqualsToken = 59, + PlusEqualsToken = 60, + MinusEqualsToken = 61, + AsteriskEqualsToken = 62, + AsteriskAsteriskEqualsToken = 63, + SlashEqualsToken = 64, + PercentEqualsToken = 65, + LessThanLessThanEqualsToken = 66, + GreaterThanGreaterThanEqualsToken = 67, + GreaterThanGreaterThanGreaterThanEqualsToken = 68, + AmpersandEqualsToken = 69, + BarEqualsToken = 70, + CaretEqualsToken = 71, + Identifier = 72, + BreakKeyword = 73, + CaseKeyword = 74, + CatchKeyword = 75, + ClassKeyword = 76, + ConstKeyword = 77, + ContinueKeyword = 78, + DebuggerKeyword = 79, + DefaultKeyword = 80, + DeleteKeyword = 81, + DoKeyword = 82, + ElseKeyword = 83, + EnumKeyword = 84, + ExportKeyword = 85, + ExtendsKeyword = 86, + FalseKeyword = 87, + FinallyKeyword = 88, + ForKeyword = 89, + FunctionKeyword = 90, + IfKeyword = 91, + ImportKeyword = 92, + InKeyword = 93, + InstanceOfKeyword = 94, + NewKeyword = 95, + NullKeyword = 96, + ReturnKeyword = 97, + SuperKeyword = 98, + SwitchKeyword = 99, + ThisKeyword = 100, + ThrowKeyword = 101, + TrueKeyword = 102, + TryKeyword = 103, + TypeOfKeyword = 104, + VarKeyword = 105, + VoidKeyword = 106, + WhileKeyword = 107, + WithKeyword = 108, + ImplementsKeyword = 109, + InterfaceKeyword = 110, + LetKeyword = 111, + PackageKeyword = 112, + PrivateKeyword = 113, + ProtectedKeyword = 114, + PublicKeyword = 115, + StaticKeyword = 116, + YieldKeyword = 117, + AbstractKeyword = 118, + AsKeyword = 119, + AnyKeyword = 120, + AsyncKeyword = 121, + AwaitKeyword = 122, + BooleanKeyword = 123, + ConstructorKeyword = 124, + DeclareKeyword = 125, + GetKeyword = 126, + InferKeyword = 127, + IsKeyword = 128, + KeyOfKeyword = 129, + ModuleKeyword = 130, + NamespaceKeyword = 131, + NeverKeyword = 132, + ReadonlyKeyword = 133, + RequireKeyword = 134, + NumberKeyword = 135, + ObjectKeyword = 136, + SetKeyword = 137, + StringKeyword = 138, + SymbolKeyword = 139, + TypeKeyword = 140, + UndefinedKeyword = 141, + UniqueKeyword = 142, + UnknownKeyword = 143, + FromKeyword = 144, + GlobalKeyword = 145, + BigIntKeyword = 146, + OfKeyword = 147, + QualifiedName = 148, + ComputedPropertyName = 149, + TypeParameter = 150, + Parameter = 151, + Decorator = 152, + PropertySignature = 153, + PropertyDeclaration = 154, + MethodSignature = 155, + MethodDeclaration = 156, + Constructor = 157, + GetAccessor = 158, + SetAccessor = 159, + CallSignature = 160, + ConstructSignature = 161, + IndexSignature = 162, + TypePredicate = 163, + TypeReference = 164, + FunctionType = 165, + ConstructorType = 166, + TypeQuery = 167, + TypeLiteral = 168, + ArrayType = 169, + TupleType = 170, + OptionalType = 171, + RestType = 172, + UnionType = 173, + IntersectionType = 174, + ConditionalType = 175, + InferType = 176, + ParenthesizedType = 177, + ThisType = 178, + TypeOperator = 179, + IndexedAccessType = 180, + MappedType = 181, + LiteralType = 182, + ImportType = 183, + ObjectBindingPattern = 184, + ArrayBindingPattern = 185, + BindingElement = 186, + ArrayLiteralExpression = 187, + ObjectLiteralExpression = 188, + PropertyAccessExpression = 189, + ElementAccessExpression = 190, + CallExpression = 191, + NewExpression = 192, + TaggedTemplateExpression = 193, + TypeAssertionExpression = 194, + ParenthesizedExpression = 195, + FunctionExpression = 196, + ArrowFunction = 197, + DeleteExpression = 198, + TypeOfExpression = 199, + VoidExpression = 200, + AwaitExpression = 201, + PrefixUnaryExpression = 202, + PostfixUnaryExpression = 203, + BinaryExpression = 204, + ConditionalExpression = 205, + TemplateExpression = 206, + YieldExpression = 207, + SpreadElement = 208, + ClassExpression = 209, + OmittedExpression = 210, + ExpressionWithTypeArguments = 211, + AsExpression = 212, + NonNullExpression = 213, + MetaProperty = 214, + SyntheticExpression = 215, + TemplateSpan = 216, + SemicolonClassElement = 217, + Block = 218, + VariableStatement = 219, + EmptyStatement = 220, + ExpressionStatement = 221, + IfStatement = 222, + DoStatement = 223, + WhileStatement = 224, + ForStatement = 225, + ForInStatement = 226, + ForOfStatement = 227, + ContinueStatement = 228, + BreakStatement = 229, + ReturnStatement = 230, + WithStatement = 231, + SwitchStatement = 232, + LabeledStatement = 233, + ThrowStatement = 234, + TryStatement = 235, + DebuggerStatement = 236, + VariableDeclaration = 237, + VariableDeclarationList = 238, + FunctionDeclaration = 239, + ClassDeclaration = 240, + InterfaceDeclaration = 241, + TypeAliasDeclaration = 242, + EnumDeclaration = 243, + ModuleDeclaration = 244, + ModuleBlock = 245, + CaseBlock = 246, + NamespaceExportDeclaration = 247, + ImportEqualsDeclaration = 248, + ImportDeclaration = 249, + ImportClause = 250, + NamespaceImport = 251, + NamedImports = 252, + ImportSpecifier = 253, + ExportAssignment = 254, + ExportDeclaration = 255, + NamedExports = 256, + ExportSpecifier = 257, + MissingDeclaration = 258, + ExternalModuleReference = 259, + JsxElement = 260, + JsxSelfClosingElement = 261, + JsxOpeningElement = 262, + JsxClosingElement = 263, + JsxFragment = 264, + JsxOpeningFragment = 265, + JsxClosingFragment = 266, + JsxAttribute = 267, + JsxAttributes = 268, + JsxSpreadAttribute = 269, + JsxExpression = 270, + CaseClause = 271, + DefaultClause = 272, + HeritageClause = 273, + CatchClause = 274, + PropertyAssignment = 275, + ShorthandPropertyAssignment = 276, + SpreadAssignment = 277, + EnumMember = 278, + SourceFile = 279, + Bundle = 280, + UnparsedSource = 281, + InputFiles = 282, + JSDocTypeExpression = 283, + JSDocAllType = 284, + JSDocUnknownType = 285, + JSDocNullableType = 286, + JSDocNonNullableType = 287, + JSDocOptionalType = 288, + JSDocFunctionType = 289, + JSDocVariadicType = 290, + JSDocComment = 291, + JSDocTypeLiteral = 292, + JSDocSignature = 293, + JSDocTag = 294, + JSDocAugmentsTag = 295, + JSDocClassTag = 296, + JSDocCallbackTag = 297, + JSDocEnumTag = 298, + JSDocParameterTag = 299, + JSDocReturnTag = 300, + JSDocThisTag = 301, + JSDocTypeTag = 302, + JSDocTemplateTag = 303, + JSDocTypedefTag = 304, + JSDocPropertyTag = 305, + SyntaxList = 306, + NotEmittedStatement = 307, + PartiallyEmittedExpression = 308, + CommaListExpression = 309, + MergeDeclarationMarker = 310, + EndOfDeclarationMarker = 311, + Count = 312, + FirstAssignment = 59, + LastAssignment = 71, + FirstCompoundAssignment = 60, + LastCompoundAssignment = 71, + FirstReservedWord = 73, + LastReservedWord = 108, + FirstKeyword = 73, + LastKeyword = 147, + FirstFutureReservedWord = 109, + LastFutureReservedWord = 117, + FirstTypeNode = 163, + LastTypeNode = 183, + FirstPunctuation = 18, + LastPunctuation = 71, + FirstToken = 0, + LastToken = 147, + FirstTriviaToken = 2, + LastTriviaToken = 7, + FirstLiteralToken = 8, + LastLiteralToken = 14, + FirstTemplateToken = 14, + LastTemplateToken = 17, + FirstBinaryOperator = 28, + LastBinaryOperator = 71, + FirstNode = 148, + FirstJSDocNode = 283, + LastJSDocNode = 305, + FirstJSDocTagNode = 294, + LastJSDocTagNode = 305 + } + enum NodeFlags { + None = 0, + Let = 1, + Const = 2, + NestedNamespace = 4, + Synthesized = 8, + Namespace = 16, + ExportContext = 32, + ContainsThis = 64, + HasImplicitReturn = 128, + HasExplicitReturn = 256, + GlobalAugmentation = 512, + HasAsyncFunctions = 1024, + DisallowInContext = 2048, + YieldContext = 4096, + DecoratorContext = 8192, + AwaitContext = 16384, + ThisNodeHasError = 32768, + JavaScriptFile = 65536, + ThisNodeOrAnySubNodesHasError = 131072, + HasAggregatedChildData = 262144, + JSDoc = 2097152, + JsonFile = 16777216, + BlockScoped = 3, + ReachabilityCheckFlags = 384, + ReachabilityAndEmitFlags = 1408, + ContextFlags = 12679168, + TypeExcludesFlags = 20480 + } + enum ModifierFlags { + None = 0, + Export = 1, + Ambient = 2, + Public = 4, + Private = 8, + Protected = 16, + Static = 32, + Readonly = 64, + Abstract = 128, + Async = 256, + Default = 512, + Const = 2048, + HasComputedFlags = 536870912, + AccessibilityModifier = 28, + ParameterPropertyModifier = 92, + NonPublicAccessibilityModifier = 24, + TypeScriptModifier = 2270, + ExportDefault = 513, + All = 3071 + } + enum JsxFlags { + None = 0, + /** An element from a named property of the JSX.IntrinsicElements interface */ + IntrinsicNamedElement = 1, + /** An element inferred from the string index signature of the JSX.IntrinsicElements interface */ + IntrinsicIndexedElement = 2, + IntrinsicElement = 3 + } + interface Node extends TextRange { + kind: SyntaxKind; + flags: NodeFlags; + decorators?: NodeArray; + modifiers?: ModifiersArray; + parent: Node; + } + interface JSDocContainer { + } + type HasJSDoc = ParameterDeclaration | CallSignatureDeclaration | ConstructSignatureDeclaration | MethodSignature | PropertySignature | ArrowFunction | ParenthesizedExpression | SpreadAssignment | ShorthandPropertyAssignment | PropertyAssignment | FunctionExpression | LabeledStatement | ExpressionStatement | VariableStatement | FunctionDeclaration | ConstructorDeclaration | MethodDeclaration | PropertyDeclaration | AccessorDeclaration | ClassLikeDeclaration | InterfaceDeclaration | TypeAliasDeclaration | EnumMember | EnumDeclaration | ModuleDeclaration | ImportEqualsDeclaration | IndexSignatureDeclaration | FunctionTypeNode | ConstructorTypeNode | JSDocFunctionType | ExportDeclaration | EndOfFileToken; + type HasType = SignatureDeclaration | VariableDeclaration | ParameterDeclaration | PropertySignature | PropertyDeclaration | TypePredicateNode | ParenthesizedTypeNode | TypeOperatorNode | MappedTypeNode | AssertionExpression | TypeAliasDeclaration | JSDocTypeExpression | JSDocNonNullableType | JSDocNullableType | JSDocOptionalType | JSDocVariadicType; + type HasInitializer = HasExpressionInitializer | ForStatement | ForInStatement | ForOfStatement | JsxAttribute; + type HasExpressionInitializer = VariableDeclaration | ParameterDeclaration | BindingElement | PropertySignature | PropertyDeclaration | PropertyAssignment | EnumMember; + interface NodeArray extends ReadonlyArray, TextRange { + hasTrailingComma?: boolean; + } + interface Token extends Node { + kind: TKind; + } + type DotDotDotToken = Token; + type QuestionToken = Token; + type ExclamationToken = Token; + type ColonToken = Token; + type EqualsToken = Token; + type AsteriskToken = Token; + type EqualsGreaterThanToken = Token; + type EndOfFileToken = Token & JSDocContainer; + type ReadonlyToken = Token; + type AwaitKeywordToken = Token; + type PlusToken = Token; + type MinusToken = Token; + type Modifier = Token | Token | Token | Token | Token | Token | Token | Token | Token | Token | Token; + type ModifiersArray = NodeArray; + interface Identifier extends PrimaryExpression, Declaration { + kind: SyntaxKind.Identifier; + /** + * Prefer to use `id.unescapedText`. (Note: This is available only in services, not internally to the TypeScript compiler.) + * Text of identifier, but if the identifier begins with two underscores, this will begin with three. + */ + escapedText: __String; + originalKeywordKind?: SyntaxKind; + isInJSDocNamespace?: boolean; + } + interface TransientIdentifier extends Identifier { + resolvedSymbol: Symbol; + } + interface QualifiedName extends Node { + kind: SyntaxKind.QualifiedName; + left: EntityName; + right: Identifier; + } + type EntityName = Identifier | QualifiedName; + type PropertyName = Identifier | StringLiteral | NumericLiteral | ComputedPropertyName; + type DeclarationName = Identifier | StringLiteralLike | NumericLiteral | ComputedPropertyName | BindingPattern; + interface Declaration extends Node { + _declarationBrand: any; + } + interface NamedDeclaration extends Declaration { + name?: DeclarationName; + } + interface DeclarationStatement extends NamedDeclaration, Statement { + name?: Identifier | StringLiteral | NumericLiteral; + } + interface ComputedPropertyName extends Node { + parent: Declaration; + kind: SyntaxKind.ComputedPropertyName; + expression: Expression; + } + interface Decorator extends Node { + kind: SyntaxKind.Decorator; + parent: NamedDeclaration; + expression: LeftHandSideExpression; + } + interface TypeParameterDeclaration extends NamedDeclaration { + kind: SyntaxKind.TypeParameter; + parent: DeclarationWithTypeParameterChildren | InferTypeNode; + name: Identifier; + /** Note: Consider calling `getEffectiveConstraintOfTypeParameter` */ + constraint?: TypeNode; + default?: TypeNode; + expression?: Expression; + } + interface SignatureDeclarationBase extends NamedDeclaration, JSDocContainer { + kind: SignatureDeclaration["kind"]; + name?: PropertyName; + typeParameters?: NodeArray; + parameters: NodeArray; + type?: TypeNode; + } + type SignatureDeclaration = CallSignatureDeclaration | ConstructSignatureDeclaration | MethodSignature | IndexSignatureDeclaration | FunctionTypeNode | ConstructorTypeNode | JSDocFunctionType | FunctionDeclaration | MethodDeclaration | ConstructorDeclaration | AccessorDeclaration | FunctionExpression | ArrowFunction; + interface CallSignatureDeclaration extends SignatureDeclarationBase, TypeElement { + kind: SyntaxKind.CallSignature; + } + interface ConstructSignatureDeclaration extends SignatureDeclarationBase, TypeElement { + kind: SyntaxKind.ConstructSignature; + } + type BindingName = Identifier | BindingPattern; + interface VariableDeclaration extends NamedDeclaration { + kind: SyntaxKind.VariableDeclaration; + parent: VariableDeclarationList | CatchClause; + name: BindingName; + exclamationToken?: ExclamationToken; + type?: TypeNode; + initializer?: Expression; + } + interface VariableDeclarationList extends Node { + kind: SyntaxKind.VariableDeclarationList; + parent: VariableStatement | ForStatement | ForOfStatement | ForInStatement; + declarations: NodeArray; + } + interface ParameterDeclaration extends NamedDeclaration, JSDocContainer { + kind: SyntaxKind.Parameter; + parent: SignatureDeclaration; + dotDotDotToken?: DotDotDotToken; + name: BindingName; + questionToken?: QuestionToken; + type?: TypeNode; + initializer?: Expression; + } + interface BindingElement extends NamedDeclaration { + kind: SyntaxKind.BindingElement; + parent: BindingPattern; + propertyName?: PropertyName; + dotDotDotToken?: DotDotDotToken; + name: BindingName; + initializer?: Expression; + } + interface PropertySignature extends TypeElement, JSDocContainer { + kind: SyntaxKind.PropertySignature; + name: PropertyName; + questionToken?: QuestionToken; + type?: TypeNode; + initializer?: Expression; + } + interface PropertyDeclaration extends ClassElement, JSDocContainer { + kind: SyntaxKind.PropertyDeclaration; + parent: ClassLikeDeclaration; + name: PropertyName; + questionToken?: QuestionToken; + exclamationToken?: ExclamationToken; + type?: TypeNode; + initializer?: Expression; + } + interface ObjectLiteralElement extends NamedDeclaration { + _objectLiteralBrandBrand: any; + name?: PropertyName; + } + /** Unlike ObjectLiteralElement, excludes JSXAttribute and JSXSpreadAttribute. */ + type ObjectLiteralElementLike = PropertyAssignment | ShorthandPropertyAssignment | SpreadAssignment | MethodDeclaration | AccessorDeclaration; + interface PropertyAssignment extends ObjectLiteralElement, JSDocContainer { + parent: ObjectLiteralExpression; + kind: SyntaxKind.PropertyAssignment; + name: PropertyName; + questionToken?: QuestionToken; + initializer: Expression; + } + interface ShorthandPropertyAssignment extends ObjectLiteralElement, JSDocContainer { + parent: ObjectLiteralExpression; + kind: SyntaxKind.ShorthandPropertyAssignment; + name: Identifier; + questionToken?: QuestionToken; + exclamationToken?: ExclamationToken; + equalsToken?: Token; + objectAssignmentInitializer?: Expression; + } + interface SpreadAssignment extends ObjectLiteralElement, JSDocContainer { + parent: ObjectLiteralExpression; + kind: SyntaxKind.SpreadAssignment; + expression: Expression; + } + type VariableLikeDeclaration = VariableDeclaration | ParameterDeclaration | BindingElement | PropertyDeclaration | PropertyAssignment | PropertySignature | JsxAttribute | ShorthandPropertyAssignment | EnumMember | JSDocPropertyTag | JSDocParameterTag; + interface PropertyLikeDeclaration extends NamedDeclaration { + name: PropertyName; + } + interface ObjectBindingPattern extends Node { + kind: SyntaxKind.ObjectBindingPattern; + parent: VariableDeclaration | ParameterDeclaration | BindingElement; + elements: NodeArray; + } + interface ArrayBindingPattern extends Node { + kind: SyntaxKind.ArrayBindingPattern; + parent: VariableDeclaration | ParameterDeclaration | BindingElement; + elements: NodeArray; + } + type BindingPattern = ObjectBindingPattern | ArrayBindingPattern; + type ArrayBindingElement = BindingElement | OmittedExpression; + /** + * Several node kinds share function-like features such as a signature, + * a name, and a body. These nodes should extend FunctionLikeDeclarationBase. + * Examples: + * - FunctionDeclaration + * - MethodDeclaration + * - AccessorDeclaration + */ + interface FunctionLikeDeclarationBase extends SignatureDeclarationBase { + _functionLikeDeclarationBrand: any; + asteriskToken?: AsteriskToken; + questionToken?: QuestionToken; + exclamationToken?: ExclamationToken; + body?: Block | Expression; + } + type FunctionLikeDeclaration = FunctionDeclaration | MethodDeclaration | GetAccessorDeclaration | SetAccessorDeclaration | ConstructorDeclaration | FunctionExpression | ArrowFunction; + /** @deprecated Use SignatureDeclaration */ + type FunctionLike = SignatureDeclaration; + interface FunctionDeclaration extends FunctionLikeDeclarationBase, DeclarationStatement { + kind: SyntaxKind.FunctionDeclaration; + name?: Identifier; + body?: FunctionBody; + } + interface MethodSignature extends SignatureDeclarationBase, TypeElement { + kind: SyntaxKind.MethodSignature; + parent: ObjectTypeDeclaration; + name: PropertyName; + } + interface MethodDeclaration extends FunctionLikeDeclarationBase, ClassElement, ObjectLiteralElement, JSDocContainer { + kind: SyntaxKind.MethodDeclaration; + parent: ClassLikeDeclaration | ObjectLiteralExpression; + name: PropertyName; + body?: FunctionBody; + } + interface ConstructorDeclaration extends FunctionLikeDeclarationBase, ClassElement, JSDocContainer { + kind: SyntaxKind.Constructor; + parent: ClassLikeDeclaration; + body?: FunctionBody; + } + /** For when we encounter a semicolon in a class declaration. ES6 allows these as class elements. */ + interface SemicolonClassElement extends ClassElement { + kind: SyntaxKind.SemicolonClassElement; + parent: ClassLikeDeclaration; + } + interface GetAccessorDeclaration extends FunctionLikeDeclarationBase, ClassElement, ObjectLiteralElement, JSDocContainer { + kind: SyntaxKind.GetAccessor; + parent: ClassLikeDeclaration | ObjectLiteralExpression; + name: PropertyName; + body?: FunctionBody; + } + interface SetAccessorDeclaration extends FunctionLikeDeclarationBase, ClassElement, ObjectLiteralElement, JSDocContainer { + kind: SyntaxKind.SetAccessor; + parent: ClassLikeDeclaration | ObjectLiteralExpression; + name: PropertyName; + body?: FunctionBody; + } + type AccessorDeclaration = GetAccessorDeclaration | SetAccessorDeclaration; + interface IndexSignatureDeclaration extends SignatureDeclarationBase, ClassElement, TypeElement { + kind: SyntaxKind.IndexSignature; + parent: ObjectTypeDeclaration; + } + interface TypeNode extends Node { + _typeNodeBrand: any; + } + interface KeywordTypeNode extends TypeNode { + kind: SyntaxKind.AnyKeyword | SyntaxKind.UnknownKeyword | SyntaxKind.NumberKeyword | SyntaxKind.BigIntKeyword | SyntaxKind.ObjectKeyword | SyntaxKind.BooleanKeyword | SyntaxKind.StringKeyword | SyntaxKind.SymbolKeyword | SyntaxKind.ThisKeyword | SyntaxKind.VoidKeyword | SyntaxKind.UndefinedKeyword | SyntaxKind.NullKeyword | SyntaxKind.NeverKeyword; + } + interface ImportTypeNode extends NodeWithTypeArguments { + kind: SyntaxKind.ImportType; + isTypeOf?: boolean; + argument: TypeNode; + qualifier?: EntityName; + } + interface ThisTypeNode extends TypeNode { + kind: SyntaxKind.ThisType; + } + type FunctionOrConstructorTypeNode = FunctionTypeNode | ConstructorTypeNode; + interface FunctionOrConstructorTypeNodeBase extends TypeNode, SignatureDeclarationBase { + kind: SyntaxKind.FunctionType | SyntaxKind.ConstructorType; + type: TypeNode; + } + interface FunctionTypeNode extends FunctionOrConstructorTypeNodeBase { + kind: SyntaxKind.FunctionType; + } + interface ConstructorTypeNode extends FunctionOrConstructorTypeNodeBase { + kind: SyntaxKind.ConstructorType; + } + interface NodeWithTypeArguments extends TypeNode { + typeArguments?: NodeArray; + } + type TypeReferenceType = TypeReferenceNode | ExpressionWithTypeArguments; + interface TypeReferenceNode extends NodeWithTypeArguments { + kind: SyntaxKind.TypeReference; + typeName: EntityName; + } + interface TypePredicateNode extends TypeNode { + kind: SyntaxKind.TypePredicate; + parent: SignatureDeclaration | JSDocTypeExpression; + parameterName: Identifier | ThisTypeNode; + type: TypeNode; + } + interface TypeQueryNode extends TypeNode { + kind: SyntaxKind.TypeQuery; + exprName: EntityName; + } + interface TypeLiteralNode extends TypeNode, Declaration { + kind: SyntaxKind.TypeLiteral; + members: NodeArray; + } + interface ArrayTypeNode extends TypeNode { + kind: SyntaxKind.ArrayType; + elementType: TypeNode; + } + interface TupleTypeNode extends TypeNode { + kind: SyntaxKind.TupleType; + elementTypes: NodeArray; + } + interface OptionalTypeNode extends TypeNode { + kind: SyntaxKind.OptionalType; + type: TypeNode; + } + interface RestTypeNode extends TypeNode { + kind: SyntaxKind.RestType; + type: TypeNode; + } + type UnionOrIntersectionTypeNode = UnionTypeNode | IntersectionTypeNode; + interface UnionTypeNode extends TypeNode { + kind: SyntaxKind.UnionType; + types: NodeArray; + } + interface IntersectionTypeNode extends TypeNode { + kind: SyntaxKind.IntersectionType; + types: NodeArray; + } + interface ConditionalTypeNode extends TypeNode { + kind: SyntaxKind.ConditionalType; + checkType: TypeNode; + extendsType: TypeNode; + trueType: TypeNode; + falseType: TypeNode; + } + interface InferTypeNode extends TypeNode { + kind: SyntaxKind.InferType; + typeParameter: TypeParameterDeclaration; + } + interface ParenthesizedTypeNode extends TypeNode { + kind: SyntaxKind.ParenthesizedType; + type: TypeNode; + } + interface TypeOperatorNode extends TypeNode { + kind: SyntaxKind.TypeOperator; + operator: SyntaxKind.KeyOfKeyword | SyntaxKind.UniqueKeyword; + type: TypeNode; + } + interface IndexedAccessTypeNode extends TypeNode { + kind: SyntaxKind.IndexedAccessType; + objectType: TypeNode; + indexType: TypeNode; + } + interface MappedTypeNode extends TypeNode, Declaration { + kind: SyntaxKind.MappedType; + readonlyToken?: ReadonlyToken | PlusToken | MinusToken; + typeParameter: TypeParameterDeclaration; + questionToken?: QuestionToken | PlusToken | MinusToken; + type?: TypeNode; + } + interface LiteralTypeNode extends TypeNode { + kind: SyntaxKind.LiteralType; + literal: BooleanLiteral | LiteralExpression | PrefixUnaryExpression; + } + interface StringLiteral extends LiteralExpression { + kind: SyntaxKind.StringLiteral; + } + type StringLiteralLike = StringLiteral | NoSubstitutionTemplateLiteral; + interface Expression extends Node { + _expressionBrand: any; + } + interface OmittedExpression extends Expression { + kind: SyntaxKind.OmittedExpression; + } + interface PartiallyEmittedExpression extends LeftHandSideExpression { + kind: SyntaxKind.PartiallyEmittedExpression; + expression: Expression; + } + interface UnaryExpression extends Expression { + _unaryExpressionBrand: any; + } + /** Deprecated, please use UpdateExpression */ + type IncrementExpression = UpdateExpression; + interface UpdateExpression extends UnaryExpression { + _updateExpressionBrand: any; + } + type PrefixUnaryOperator = SyntaxKind.PlusPlusToken | SyntaxKind.MinusMinusToken | SyntaxKind.PlusToken | SyntaxKind.MinusToken | SyntaxKind.TildeToken | SyntaxKind.ExclamationToken; + interface PrefixUnaryExpression extends UpdateExpression { + kind: SyntaxKind.PrefixUnaryExpression; + operator: PrefixUnaryOperator; + operand: UnaryExpression; + } + type PostfixUnaryOperator = SyntaxKind.PlusPlusToken | SyntaxKind.MinusMinusToken; + interface PostfixUnaryExpression extends UpdateExpression { + kind: SyntaxKind.PostfixUnaryExpression; + operand: LeftHandSideExpression; + operator: PostfixUnaryOperator; + } + interface LeftHandSideExpression extends UpdateExpression { + _leftHandSideExpressionBrand: any; + } + interface MemberExpression extends LeftHandSideExpression { + _memberExpressionBrand: any; + } + interface PrimaryExpression extends MemberExpression { + _primaryExpressionBrand: any; + } + interface NullLiteral extends PrimaryExpression, TypeNode { + kind: SyntaxKind.NullKeyword; + } + interface BooleanLiteral extends PrimaryExpression, TypeNode { + kind: SyntaxKind.TrueKeyword | SyntaxKind.FalseKeyword; + } + interface ThisExpression extends PrimaryExpression, KeywordTypeNode { + kind: SyntaxKind.ThisKeyword; + } + interface SuperExpression extends PrimaryExpression { + kind: SyntaxKind.SuperKeyword; + } + interface ImportExpression extends PrimaryExpression { + kind: SyntaxKind.ImportKeyword; + } + interface DeleteExpression extends UnaryExpression { + kind: SyntaxKind.DeleteExpression; + expression: UnaryExpression; + } + interface TypeOfExpression extends UnaryExpression { + kind: SyntaxKind.TypeOfExpression; + expression: UnaryExpression; + } + interface VoidExpression extends UnaryExpression { + kind: SyntaxKind.VoidExpression; + expression: UnaryExpression; + } + interface AwaitExpression extends UnaryExpression { + kind: SyntaxKind.AwaitExpression; + expression: UnaryExpression; + } + interface YieldExpression extends Expression { + kind: SyntaxKind.YieldExpression; + asteriskToken?: AsteriskToken; + expression?: Expression; + } + interface SyntheticExpression extends Expression { + kind: SyntaxKind.SyntheticExpression; + isSpread: boolean; + type: Type; + } + type ExponentiationOperator = SyntaxKind.AsteriskAsteriskToken; + type MultiplicativeOperator = SyntaxKind.AsteriskToken | SyntaxKind.SlashToken | SyntaxKind.PercentToken; + type MultiplicativeOperatorOrHigher = ExponentiationOperator | MultiplicativeOperator; + type AdditiveOperator = SyntaxKind.PlusToken | SyntaxKind.MinusToken; + type AdditiveOperatorOrHigher = MultiplicativeOperatorOrHigher | AdditiveOperator; + type ShiftOperator = SyntaxKind.LessThanLessThanToken | SyntaxKind.GreaterThanGreaterThanToken | SyntaxKind.GreaterThanGreaterThanGreaterThanToken; + type ShiftOperatorOrHigher = AdditiveOperatorOrHigher | ShiftOperator; + type RelationalOperator = SyntaxKind.LessThanToken | SyntaxKind.LessThanEqualsToken | SyntaxKind.GreaterThanToken | SyntaxKind.GreaterThanEqualsToken | SyntaxKind.InstanceOfKeyword | SyntaxKind.InKeyword; + type RelationalOperatorOrHigher = ShiftOperatorOrHigher | RelationalOperator; + type EqualityOperator = SyntaxKind.EqualsEqualsToken | SyntaxKind.EqualsEqualsEqualsToken | SyntaxKind.ExclamationEqualsEqualsToken | SyntaxKind.ExclamationEqualsToken; + type EqualityOperatorOrHigher = RelationalOperatorOrHigher | EqualityOperator; + type BitwiseOperator = SyntaxKind.AmpersandToken | SyntaxKind.BarToken | SyntaxKind.CaretToken; + type BitwiseOperatorOrHigher = EqualityOperatorOrHigher | BitwiseOperator; + type LogicalOperator = SyntaxKind.AmpersandAmpersandToken | SyntaxKind.BarBarToken; + type LogicalOperatorOrHigher = BitwiseOperatorOrHigher | LogicalOperator; + type CompoundAssignmentOperator = SyntaxKind.PlusEqualsToken | SyntaxKind.MinusEqualsToken | SyntaxKind.AsteriskAsteriskEqualsToken | SyntaxKind.AsteriskEqualsToken | SyntaxKind.SlashEqualsToken | SyntaxKind.PercentEqualsToken | SyntaxKind.AmpersandEqualsToken | SyntaxKind.BarEqualsToken | SyntaxKind.CaretEqualsToken | SyntaxKind.LessThanLessThanEqualsToken | SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken | SyntaxKind.GreaterThanGreaterThanEqualsToken; + type AssignmentOperator = SyntaxKind.EqualsToken | CompoundAssignmentOperator; + type AssignmentOperatorOrHigher = LogicalOperatorOrHigher | AssignmentOperator; + type BinaryOperator = AssignmentOperatorOrHigher | SyntaxKind.CommaToken; + type BinaryOperatorToken = Token; + interface BinaryExpression extends Expression, Declaration { + kind: SyntaxKind.BinaryExpression; + left: Expression; + operatorToken: BinaryOperatorToken; + right: Expression; + } + type AssignmentOperatorToken = Token; + interface AssignmentExpression extends BinaryExpression { + left: LeftHandSideExpression; + operatorToken: TOperator; + } + interface ObjectDestructuringAssignment extends AssignmentExpression { + left: ObjectLiteralExpression; + } + interface ArrayDestructuringAssignment extends AssignmentExpression { + left: ArrayLiteralExpression; + } + type DestructuringAssignment = ObjectDestructuringAssignment | ArrayDestructuringAssignment; + type BindingOrAssignmentElement = VariableDeclaration | ParameterDeclaration | BindingElement | PropertyAssignment | ShorthandPropertyAssignment | SpreadAssignment | OmittedExpression | SpreadElement | ArrayLiteralExpression | ObjectLiteralExpression | AssignmentExpression | Identifier | PropertyAccessExpression | ElementAccessExpression; + type BindingOrAssignmentElementRestIndicator = DotDotDotToken | SpreadElement | SpreadAssignment; + type BindingOrAssignmentElementTarget = BindingOrAssignmentPattern | Identifier | PropertyAccessExpression | ElementAccessExpression | OmittedExpression; + type ObjectBindingOrAssignmentPattern = ObjectBindingPattern | ObjectLiteralExpression; + type ArrayBindingOrAssignmentPattern = ArrayBindingPattern | ArrayLiteralExpression; + type AssignmentPattern = ObjectLiteralExpression | ArrayLiteralExpression; + type BindingOrAssignmentPattern = ObjectBindingOrAssignmentPattern | ArrayBindingOrAssignmentPattern; + interface ConditionalExpression extends Expression { + kind: SyntaxKind.ConditionalExpression; + condition: Expression; + questionToken: QuestionToken; + whenTrue: Expression; + colonToken: ColonToken; + whenFalse: Expression; + } + type FunctionBody = Block; + type ConciseBody = FunctionBody | Expression; + interface FunctionExpression extends PrimaryExpression, FunctionLikeDeclarationBase, JSDocContainer { + kind: SyntaxKind.FunctionExpression; + name?: Identifier; + body: FunctionBody; + } + interface ArrowFunction extends Expression, FunctionLikeDeclarationBase, JSDocContainer { + kind: SyntaxKind.ArrowFunction; + equalsGreaterThanToken: EqualsGreaterThanToken; + body: ConciseBody; + name: never; + } + interface LiteralLikeNode extends Node { + text: string; + isUnterminated?: boolean; + hasExtendedUnicodeEscape?: boolean; + } + interface LiteralExpression extends LiteralLikeNode, PrimaryExpression { + _literalExpressionBrand: any; + } + interface RegularExpressionLiteral extends LiteralExpression { + kind: SyntaxKind.RegularExpressionLiteral; + } + interface NoSubstitutionTemplateLiteral extends LiteralExpression { + kind: SyntaxKind.NoSubstitutionTemplateLiteral; + } + interface NumericLiteral extends LiteralExpression { + kind: SyntaxKind.NumericLiteral; + } + interface BigIntLiteral extends LiteralExpression { + kind: SyntaxKind.BigIntLiteral; + } + interface TemplateHead extends LiteralLikeNode { + kind: SyntaxKind.TemplateHead; + parent: TemplateExpression; + } + interface TemplateMiddle extends LiteralLikeNode { + kind: SyntaxKind.TemplateMiddle; + parent: TemplateSpan; + } + interface TemplateTail extends LiteralLikeNode { + kind: SyntaxKind.TemplateTail; + parent: TemplateSpan; + } + type TemplateLiteral = TemplateExpression | NoSubstitutionTemplateLiteral; + interface TemplateExpression extends PrimaryExpression { + kind: SyntaxKind.TemplateExpression; + head: TemplateHead; + templateSpans: NodeArray; + } + interface TemplateSpan extends Node { + kind: SyntaxKind.TemplateSpan; + parent: TemplateExpression; + expression: Expression; + literal: TemplateMiddle | TemplateTail; + } + interface ParenthesizedExpression extends PrimaryExpression, JSDocContainer { + kind: SyntaxKind.ParenthesizedExpression; + expression: Expression; + } + interface ArrayLiteralExpression extends PrimaryExpression { + kind: SyntaxKind.ArrayLiteralExpression; + elements: NodeArray; + } + interface SpreadElement extends Expression { + kind: SyntaxKind.SpreadElement; + parent: ArrayLiteralExpression | CallExpression | NewExpression; + expression: Expression; + } + /** + * This interface is a base interface for ObjectLiteralExpression and JSXAttributes to extend from. JSXAttributes is similar to + * ObjectLiteralExpression in that it contains array of properties; however, JSXAttributes' properties can only be + * JSXAttribute or JSXSpreadAttribute. ObjectLiteralExpression, on the other hand, can only have properties of type + * ObjectLiteralElement (e.g. PropertyAssignment, ShorthandPropertyAssignment etc.) + */ + interface ObjectLiteralExpressionBase extends PrimaryExpression, Declaration { + properties: NodeArray; + } + interface ObjectLiteralExpression extends ObjectLiteralExpressionBase { + kind: SyntaxKind.ObjectLiteralExpression; + } + type EntityNameExpression = Identifier | PropertyAccessEntityNameExpression; + type EntityNameOrEntityNameExpression = EntityName | EntityNameExpression; + interface PropertyAccessExpression extends MemberExpression, NamedDeclaration { + kind: SyntaxKind.PropertyAccessExpression; + expression: LeftHandSideExpression; + name: Identifier; + } + interface SuperPropertyAccessExpression extends PropertyAccessExpression { + expression: SuperExpression; + } + /** Brand for a PropertyAccessExpression which, like a QualifiedName, consists of a sequence of identifiers separated by dots. */ + interface PropertyAccessEntityNameExpression extends PropertyAccessExpression { + _propertyAccessExpressionLikeQualifiedNameBrand?: any; + expression: EntityNameExpression; + } + interface ElementAccessExpression extends MemberExpression { + kind: SyntaxKind.ElementAccessExpression; + expression: LeftHandSideExpression; + argumentExpression: Expression; + } + interface SuperElementAccessExpression extends ElementAccessExpression { + expression: SuperExpression; + } + type SuperProperty = SuperPropertyAccessExpression | SuperElementAccessExpression; + interface CallExpression extends LeftHandSideExpression, Declaration { + kind: SyntaxKind.CallExpression; + expression: LeftHandSideExpression; + typeArguments?: NodeArray; + arguments: NodeArray; + } + interface SuperCall extends CallExpression { + expression: SuperExpression; + } + interface ImportCall extends CallExpression { + expression: ImportExpression; + } + interface ExpressionWithTypeArguments extends NodeWithTypeArguments { + kind: SyntaxKind.ExpressionWithTypeArguments; + parent: HeritageClause | JSDocAugmentsTag; + expression: LeftHandSideExpression; + } + interface NewExpression extends PrimaryExpression, Declaration { + kind: SyntaxKind.NewExpression; + expression: LeftHandSideExpression; + typeArguments?: NodeArray; + arguments?: NodeArray; + } + interface TaggedTemplateExpression extends MemberExpression { + kind: SyntaxKind.TaggedTemplateExpression; + tag: LeftHandSideExpression; + typeArguments?: NodeArray; + template: TemplateLiteral; + } + type CallLikeExpression = CallExpression | NewExpression | TaggedTemplateExpression | Decorator | JsxOpeningLikeElement; + interface AsExpression extends Expression { + kind: SyntaxKind.AsExpression; + expression: Expression; + type: TypeNode; + } + interface TypeAssertion extends UnaryExpression { + kind: SyntaxKind.TypeAssertionExpression; + type: TypeNode; + expression: UnaryExpression; + } + type AssertionExpression = TypeAssertion | AsExpression; + interface NonNullExpression extends LeftHandSideExpression { + kind: SyntaxKind.NonNullExpression; + expression: Expression; + } + interface MetaProperty extends PrimaryExpression { + kind: SyntaxKind.MetaProperty; + keywordToken: SyntaxKind.NewKeyword | SyntaxKind.ImportKeyword; + name: Identifier; + } + interface JsxElement extends PrimaryExpression { + kind: SyntaxKind.JsxElement; + openingElement: JsxOpeningElement; + children: NodeArray; + closingElement: JsxClosingElement; + } + type JsxOpeningLikeElement = JsxSelfClosingElement | JsxOpeningElement; + type JsxAttributeLike = JsxAttribute | JsxSpreadAttribute; + type JsxTagNameExpression = Identifier | ThisExpression | JsxTagNamePropertyAccess; + interface JsxTagNamePropertyAccess extends PropertyAccessExpression { + expression: JsxTagNameExpression; + } + interface JsxAttributes extends ObjectLiteralExpressionBase { + parent: JsxOpeningLikeElement; + } + interface JsxOpeningElement extends Expression { + kind: SyntaxKind.JsxOpeningElement; + parent: JsxElement; + tagName: JsxTagNameExpression; + typeArguments?: NodeArray; + attributes: JsxAttributes; + } + interface JsxSelfClosingElement extends PrimaryExpression { + kind: SyntaxKind.JsxSelfClosingElement; + tagName: JsxTagNameExpression; + typeArguments?: NodeArray; + attributes: JsxAttributes; + } + interface JsxFragment extends PrimaryExpression { + kind: SyntaxKind.JsxFragment; + openingFragment: JsxOpeningFragment; + children: NodeArray; + closingFragment: JsxClosingFragment; + } + interface JsxOpeningFragment extends Expression { + kind: SyntaxKind.JsxOpeningFragment; + parent: JsxFragment; + } + interface JsxClosingFragment extends Expression { + kind: SyntaxKind.JsxClosingFragment; + parent: JsxFragment; + } + interface JsxAttribute extends ObjectLiteralElement { + kind: SyntaxKind.JsxAttribute; + parent: JsxAttributes; + name: Identifier; + initializer?: StringLiteral | JsxExpression; + } + interface JsxSpreadAttribute extends ObjectLiteralElement { + kind: SyntaxKind.JsxSpreadAttribute; + parent: JsxAttributes; + expression: Expression; + } + interface JsxClosingElement extends Node { + kind: SyntaxKind.JsxClosingElement; + parent: JsxElement; + tagName: JsxTagNameExpression; + } + interface JsxExpression extends Expression { + kind: SyntaxKind.JsxExpression; + parent: JsxElement | JsxAttributeLike; + dotDotDotToken?: Token; + expression?: Expression; + } + interface JsxText extends Node { + kind: SyntaxKind.JsxText; + containsOnlyWhiteSpaces: boolean; + parent: JsxElement; + } + type JsxChild = JsxText | JsxExpression | JsxElement | JsxSelfClosingElement | JsxFragment; + interface Statement extends Node { + _statementBrand: any; + } + interface NotEmittedStatement extends Statement { + kind: SyntaxKind.NotEmittedStatement; + } + /** + * A list of comma-separated expressions. This node is only created by transformations. + */ + interface CommaListExpression extends Expression { + kind: SyntaxKind.CommaListExpression; + elements: NodeArray; + } + interface EmptyStatement extends Statement { + kind: SyntaxKind.EmptyStatement; + } + interface DebuggerStatement extends Statement { + kind: SyntaxKind.DebuggerStatement; + } + interface MissingDeclaration extends DeclarationStatement { + kind: SyntaxKind.MissingDeclaration; + name?: Identifier; + } + type BlockLike = SourceFile | Block | ModuleBlock | CaseOrDefaultClause; + interface Block extends Statement { + kind: SyntaxKind.Block; + statements: NodeArray; + } + interface VariableStatement extends Statement, JSDocContainer { + kind: SyntaxKind.VariableStatement; + declarationList: VariableDeclarationList; + } + interface ExpressionStatement extends Statement, JSDocContainer { + kind: SyntaxKind.ExpressionStatement; + expression: Expression; + } + interface IfStatement extends Statement { + kind: SyntaxKind.IfStatement; + expression: Expression; + thenStatement: Statement; + elseStatement?: Statement; + } + interface IterationStatement extends Statement { + statement: Statement; + } + interface DoStatement extends IterationStatement { + kind: SyntaxKind.DoStatement; + expression: Expression; + } + interface WhileStatement extends IterationStatement { + kind: SyntaxKind.WhileStatement; + expression: Expression; + } + type ForInitializer = VariableDeclarationList | Expression; + interface ForStatement extends IterationStatement { + kind: SyntaxKind.ForStatement; + initializer?: ForInitializer; + condition?: Expression; + incrementor?: Expression; + } + type ForInOrOfStatement = ForInStatement | ForOfStatement; + interface ForInStatement extends IterationStatement { + kind: SyntaxKind.ForInStatement; + initializer: ForInitializer; + expression: Expression; + } + interface ForOfStatement extends IterationStatement { + kind: SyntaxKind.ForOfStatement; + awaitModifier?: AwaitKeywordToken; + initializer: ForInitializer; + expression: Expression; + } + interface BreakStatement extends Statement { + kind: SyntaxKind.BreakStatement; + label?: Identifier; + } + interface ContinueStatement extends Statement { + kind: SyntaxKind.ContinueStatement; + label?: Identifier; + } + type BreakOrContinueStatement = BreakStatement | ContinueStatement; + interface ReturnStatement extends Statement { + kind: SyntaxKind.ReturnStatement; + expression?: Expression; + } + interface WithStatement extends Statement { + kind: SyntaxKind.WithStatement; + expression: Expression; + statement: Statement; + } + interface SwitchStatement extends Statement { + kind: SyntaxKind.SwitchStatement; + expression: Expression; + caseBlock: CaseBlock; + possiblyExhaustive?: boolean; + } + interface CaseBlock extends Node { + kind: SyntaxKind.CaseBlock; + parent: SwitchStatement; + clauses: NodeArray; + } + interface CaseClause extends Node { + kind: SyntaxKind.CaseClause; + parent: CaseBlock; + expression: Expression; + statements: NodeArray; + } + interface DefaultClause extends Node { + kind: SyntaxKind.DefaultClause; + parent: CaseBlock; + statements: NodeArray; + } + type CaseOrDefaultClause = CaseClause | DefaultClause; + interface LabeledStatement extends Statement, JSDocContainer { + kind: SyntaxKind.LabeledStatement; + label: Identifier; + statement: Statement; + } + interface ThrowStatement extends Statement { + kind: SyntaxKind.ThrowStatement; + expression?: Expression; + } + interface TryStatement extends Statement { + kind: SyntaxKind.TryStatement; + tryBlock: Block; + catchClause?: CatchClause; + finallyBlock?: Block; + } + interface CatchClause extends Node { + kind: SyntaxKind.CatchClause; + parent: TryStatement; + variableDeclaration?: VariableDeclaration; + block: Block; + } + type ObjectTypeDeclaration = ClassLikeDeclaration | InterfaceDeclaration | TypeLiteralNode; + type DeclarationWithTypeParameters = DeclarationWithTypeParameterChildren | JSDocTypedefTag | JSDocCallbackTag | JSDocSignature; + type DeclarationWithTypeParameterChildren = SignatureDeclaration | ClassLikeDeclaration | InterfaceDeclaration | TypeAliasDeclaration | JSDocTemplateTag; + interface ClassLikeDeclarationBase extends NamedDeclaration, JSDocContainer { + kind: SyntaxKind.ClassDeclaration | SyntaxKind.ClassExpression; + name?: Identifier; + typeParameters?: NodeArray; + heritageClauses?: NodeArray; + members: NodeArray; + } + interface ClassDeclaration extends ClassLikeDeclarationBase, DeclarationStatement { + kind: SyntaxKind.ClassDeclaration; + /** May be undefined in `export default class { ... }`. */ + name?: Identifier; + } + interface ClassExpression extends ClassLikeDeclarationBase, PrimaryExpression { + kind: SyntaxKind.ClassExpression; + } + type ClassLikeDeclaration = ClassDeclaration | ClassExpression; + interface ClassElement extends NamedDeclaration { + _classElementBrand: any; + name?: PropertyName; + } + interface TypeElement extends NamedDeclaration { + _typeElementBrand: any; + name?: PropertyName; + questionToken?: QuestionToken; + } + interface InterfaceDeclaration extends DeclarationStatement, JSDocContainer { + kind: SyntaxKind.InterfaceDeclaration; + name: Identifier; + typeParameters?: NodeArray; + heritageClauses?: NodeArray; + members: NodeArray; + } + interface HeritageClause extends Node { + kind: SyntaxKind.HeritageClause; + parent: InterfaceDeclaration | ClassLikeDeclaration; + token: SyntaxKind.ExtendsKeyword | SyntaxKind.ImplementsKeyword; + types: NodeArray; + } + interface TypeAliasDeclaration extends DeclarationStatement, JSDocContainer { + kind: SyntaxKind.TypeAliasDeclaration; + name: Identifier; + typeParameters?: NodeArray; + type: TypeNode; + } + interface EnumMember extends NamedDeclaration, JSDocContainer { + kind: SyntaxKind.EnumMember; + parent: EnumDeclaration; + name: PropertyName; + initializer?: Expression; + } + interface EnumDeclaration extends DeclarationStatement, JSDocContainer { + kind: SyntaxKind.EnumDeclaration; + name: Identifier; + members: NodeArray; + } + type ModuleName = Identifier | StringLiteral; + type ModuleBody = NamespaceBody | JSDocNamespaceBody; + interface ModuleDeclaration extends DeclarationStatement, JSDocContainer { + kind: SyntaxKind.ModuleDeclaration; + parent: ModuleBody | SourceFile; + name: ModuleName; + body?: ModuleBody | JSDocNamespaceDeclaration; + } + type NamespaceBody = ModuleBlock | NamespaceDeclaration; + interface NamespaceDeclaration extends ModuleDeclaration { + name: Identifier; + body: NamespaceBody; + } + type JSDocNamespaceBody = Identifier | JSDocNamespaceDeclaration; + interface JSDocNamespaceDeclaration extends ModuleDeclaration { + name: Identifier; + body?: JSDocNamespaceBody; + } + interface ModuleBlock extends Node, Statement { + kind: SyntaxKind.ModuleBlock; + parent: ModuleDeclaration; + statements: NodeArray; + } + type ModuleReference = EntityName | ExternalModuleReference; + /** + * One of: + * - import x = require("mod"); + * - import x = M.x; + */ + interface ImportEqualsDeclaration extends DeclarationStatement, JSDocContainer { + kind: SyntaxKind.ImportEqualsDeclaration; + parent: SourceFile | ModuleBlock; + name: Identifier; + moduleReference: ModuleReference; + } + interface ExternalModuleReference extends Node { + kind: SyntaxKind.ExternalModuleReference; + parent: ImportEqualsDeclaration; + expression: Expression; + } + interface ImportDeclaration extends Statement { + kind: SyntaxKind.ImportDeclaration; + parent: SourceFile | ModuleBlock; + importClause?: ImportClause; + /** If this is not a StringLiteral it will be a grammar error. */ + moduleSpecifier: Expression; + } + type NamedImportBindings = NamespaceImport | NamedImports; + interface ImportClause extends NamedDeclaration { + kind: SyntaxKind.ImportClause; + parent: ImportDeclaration; + name?: Identifier; + namedBindings?: NamedImportBindings; + } + interface NamespaceImport extends NamedDeclaration { + kind: SyntaxKind.NamespaceImport; + parent: ImportClause; + name: Identifier; + } + interface NamespaceExportDeclaration extends DeclarationStatement { + kind: SyntaxKind.NamespaceExportDeclaration; + name: Identifier; + } + interface ExportDeclaration extends DeclarationStatement, JSDocContainer { + kind: SyntaxKind.ExportDeclaration; + parent: SourceFile | ModuleBlock; + /** Will not be assigned in the case of `export * from "foo";` */ + exportClause?: NamedExports; + /** If this is not a StringLiteral it will be a grammar error. */ + moduleSpecifier?: Expression; + } + interface NamedImports extends Node { + kind: SyntaxKind.NamedImports; + parent: ImportClause; + elements: NodeArray; + } + interface NamedExports extends Node { + kind: SyntaxKind.NamedExports; + parent: ExportDeclaration; + elements: NodeArray; + } + type NamedImportsOrExports = NamedImports | NamedExports; + interface ImportSpecifier extends NamedDeclaration { + kind: SyntaxKind.ImportSpecifier; + parent: NamedImports; + propertyName?: Identifier; + name: Identifier; + } + interface ExportSpecifier extends NamedDeclaration { + kind: SyntaxKind.ExportSpecifier; + parent: NamedExports; + propertyName?: Identifier; + name: Identifier; + } + type ImportOrExportSpecifier = ImportSpecifier | ExportSpecifier; + /** + * This is either an `export =` or an `export default` declaration. + * Unless `isExportEquals` is set, this node was parsed as an `export default`. + */ + interface ExportAssignment extends DeclarationStatement { + kind: SyntaxKind.ExportAssignment; + parent: SourceFile; + isExportEquals?: boolean; + expression: Expression; + } + interface FileReference extends TextRange { + fileName: string; + } + interface CheckJsDirective extends TextRange { + enabled: boolean; + } + type CommentKind = SyntaxKind.SingleLineCommentTrivia | SyntaxKind.MultiLineCommentTrivia; + interface CommentRange extends TextRange { + hasTrailingNewLine?: boolean; + kind: CommentKind; + } + interface SynthesizedComment extends CommentRange { + text: string; + pos: -1; + end: -1; + } + interface JSDocTypeExpression extends TypeNode { + kind: SyntaxKind.JSDocTypeExpression; + type: TypeNode; + } + interface JSDocType extends TypeNode { + _jsDocTypeBrand: any; + } + interface JSDocAllType extends JSDocType { + kind: SyntaxKind.JSDocAllType; + } + interface JSDocUnknownType extends JSDocType { + kind: SyntaxKind.JSDocUnknownType; + } + interface JSDocNonNullableType extends JSDocType { + kind: SyntaxKind.JSDocNonNullableType; + type: TypeNode; + } + interface JSDocNullableType extends JSDocType { + kind: SyntaxKind.JSDocNullableType; + type: TypeNode; + } + interface JSDocOptionalType extends JSDocType { + kind: SyntaxKind.JSDocOptionalType; + type: TypeNode; + } + interface JSDocFunctionType extends JSDocType, SignatureDeclarationBase { + kind: SyntaxKind.JSDocFunctionType; + } + interface JSDocVariadicType extends JSDocType { + kind: SyntaxKind.JSDocVariadicType; + type: TypeNode; + } + type JSDocTypeReferencingNode = JSDocVariadicType | JSDocOptionalType | JSDocNullableType | JSDocNonNullableType; + interface JSDoc extends Node { + kind: SyntaxKind.JSDocComment; + parent: HasJSDoc; + tags?: NodeArray; + comment?: string; + } + interface JSDocTag extends Node { + parent: JSDoc | JSDocTypeLiteral; + tagName: Identifier; + comment?: string; + } + interface JSDocUnknownTag extends JSDocTag { + kind: SyntaxKind.JSDocTag; + } + /** + * Note that `@extends` is a synonym of `@augments`. + * Both tags are represented by this interface. + */ + interface JSDocAugmentsTag extends JSDocTag { + kind: SyntaxKind.JSDocAugmentsTag; + class: ExpressionWithTypeArguments & { + expression: Identifier | PropertyAccessEntityNameExpression; + }; + } + interface JSDocClassTag extends JSDocTag { + kind: SyntaxKind.JSDocClassTag; + } + interface JSDocEnumTag extends JSDocTag { + kind: SyntaxKind.JSDocEnumTag; + typeExpression?: JSDocTypeExpression; + } + interface JSDocThisTag extends JSDocTag { + kind: SyntaxKind.JSDocThisTag; + typeExpression?: JSDocTypeExpression; + } + interface JSDocTemplateTag extends JSDocTag { + kind: SyntaxKind.JSDocTemplateTag; + constraint: JSDocTypeExpression | undefined; + typeParameters: NodeArray; + } + interface JSDocReturnTag extends JSDocTag { + kind: SyntaxKind.JSDocReturnTag; + typeExpression?: JSDocTypeExpression; + } + interface JSDocTypeTag extends JSDocTag { + kind: SyntaxKind.JSDocTypeTag; + typeExpression?: JSDocTypeExpression; + } + interface JSDocTypedefTag extends JSDocTag, NamedDeclaration { + parent: JSDoc; + kind: SyntaxKind.JSDocTypedefTag; + fullName?: JSDocNamespaceDeclaration | Identifier; + name?: Identifier; + typeExpression?: JSDocTypeExpression | JSDocTypeLiteral; + } + interface JSDocCallbackTag extends JSDocTag, NamedDeclaration { + parent: JSDoc; + kind: SyntaxKind.JSDocCallbackTag; + fullName?: JSDocNamespaceDeclaration | Identifier; + name?: Identifier; + typeExpression: JSDocSignature; + } + interface JSDocSignature extends JSDocType, Declaration { + kind: SyntaxKind.JSDocSignature; + typeParameters?: ReadonlyArray; + parameters: ReadonlyArray; + type: JSDocReturnTag | undefined; + } + interface JSDocPropertyLikeTag extends JSDocTag, Declaration { + parent: JSDoc; + name: EntityName; + typeExpression?: JSDocTypeExpression; + /** Whether the property name came before the type -- non-standard for JSDoc, but Typescript-like */ + isNameFirst: boolean; + isBracketed: boolean; + } + interface JSDocPropertyTag extends JSDocPropertyLikeTag { + kind: SyntaxKind.JSDocPropertyTag; + } + interface JSDocParameterTag extends JSDocPropertyLikeTag { + kind: SyntaxKind.JSDocParameterTag; + } + interface JSDocTypeLiteral extends JSDocType { + kind: SyntaxKind.JSDocTypeLiteral; + jsDocPropertyTags?: ReadonlyArray; + /** If true, then this type literal represents an *array* of its type. */ + isArrayType?: boolean; + } + enum FlowFlags { + Unreachable = 1, + Start = 2, + BranchLabel = 4, + LoopLabel = 8, + Assignment = 16, + TrueCondition = 32, + FalseCondition = 64, + SwitchClause = 128, + ArrayMutation = 256, + Referenced = 512, + Shared = 1024, + PreFinally = 2048, + AfterFinally = 4096, + Label = 12, + Condition = 96 + } + interface FlowLock { + locked?: boolean; + } + interface AfterFinallyFlow extends FlowNodeBase, FlowLock { + antecedent: FlowNode; + } + interface PreFinallyFlow extends FlowNodeBase { + antecedent: FlowNode; + lock: FlowLock; + } + type FlowNode = AfterFinallyFlow | PreFinallyFlow | FlowStart | FlowLabel | FlowAssignment | FlowCondition | FlowSwitchClause | FlowArrayMutation; + interface FlowNodeBase { + flags: FlowFlags; + id?: number; + } + interface FlowStart extends FlowNodeBase { + container?: FunctionExpression | ArrowFunction | MethodDeclaration; + } + interface FlowLabel extends FlowNodeBase { + antecedents: FlowNode[] | undefined; + } + interface FlowAssignment extends FlowNodeBase { + node: Expression | VariableDeclaration | BindingElement; + antecedent: FlowNode; + } + interface FlowCondition extends FlowNodeBase { + expression: Expression; + antecedent: FlowNode; + } + interface FlowSwitchClause extends FlowNodeBase { + switchStatement: SwitchStatement; + clauseStart: number; + clauseEnd: number; + antecedent: FlowNode; + } + interface FlowArrayMutation extends FlowNodeBase { + node: CallExpression | BinaryExpression; + antecedent: FlowNode; + } + type FlowType = Type | IncompleteType; + interface IncompleteType { + flags: TypeFlags; + type: Type; + } + interface AmdDependency { + path: string; + name?: string; + } + interface SourceFile extends Declaration { + kind: SyntaxKind.SourceFile; + statements: NodeArray; + endOfFileToken: Token; + fileName: string; + text: string; + amdDependencies: ReadonlyArray; + moduleName?: string; + referencedFiles: ReadonlyArray; + typeReferenceDirectives: ReadonlyArray; + libReferenceDirectives: ReadonlyArray; + languageVariant: LanguageVariant; + isDeclarationFile: boolean; + /** + * lib.d.ts should have a reference comment like + * + * /// + * + * If any other file has this comment, it signals not to include lib.d.ts + * because this containing file is intended to act as a default library. + */ + hasNoDefaultLib: boolean; + languageVersion: ScriptTarget; + } + interface Bundle extends Node { + kind: SyntaxKind.Bundle; + prepends: ReadonlyArray; + sourceFiles: ReadonlyArray; + } + interface InputFiles extends Node { + kind: SyntaxKind.InputFiles; + javascriptText: string; + javascriptMapPath?: string; + javascriptMapText?: string; + declarationText: string; + declarationMapPath?: string; + declarationMapText?: string; + } + interface UnparsedSource extends Node { + kind: SyntaxKind.UnparsedSource; + text: string; + sourceMapPath?: string; + sourceMapText?: string; + } + interface JsonSourceFile extends SourceFile { + statements: NodeArray; + } + interface TsConfigSourceFile extends JsonSourceFile { + extendedSourceFiles?: string[]; + } + interface JsonMinusNumericLiteral extends PrefixUnaryExpression { + kind: SyntaxKind.PrefixUnaryExpression; + operator: SyntaxKind.MinusToken; + operand: NumericLiteral; + } + interface JsonObjectExpressionStatement extends ExpressionStatement { + expression: ObjectLiteralExpression | ArrayLiteralExpression | JsonMinusNumericLiteral | NumericLiteral | StringLiteral | BooleanLiteral | NullLiteral; + } + interface ScriptReferenceHost { + getCompilerOptions(): CompilerOptions; + getSourceFile(fileName: string): SourceFile | undefined; + getSourceFileByPath(path: Path): SourceFile | undefined; + getCurrentDirectory(): string; + } + interface ParseConfigHost { + useCaseSensitiveFileNames: boolean; + readDirectory(rootDir: string, extensions: ReadonlyArray, excludes: ReadonlyArray | undefined, includes: ReadonlyArray, depth?: number): ReadonlyArray; + /** + * Gets a value indicating whether the specified path exists and is a file. + * @param path The path to test. + */ + fileExists(path: string): boolean; + readFile(path: string): string | undefined; + trace?(s: string): void; + } + /** + * Branded string for keeping track of when we've turned an ambiguous path + * specified like "./blah" to an absolute path to an actual + * tsconfig file, e.g. "/root/blah/tsconfig.json" + */ + type ResolvedConfigFileName = string & { + _isResolvedConfigFileName: never; + }; + type WriteFileCallback = (fileName: string, data: string, writeByteOrderMark: boolean, onError: ((message: string) => void) | undefined, sourceFiles?: ReadonlyArray) => void; + class OperationCanceledException { + } + interface CancellationToken { + isCancellationRequested(): boolean; + /** @throws OperationCanceledException if isCancellationRequested is true */ + throwIfCancellationRequested(): void; + } + interface Program extends ScriptReferenceHost { + /** + * Get a list of root file names that were passed to a 'createProgram' + */ + getRootFileNames(): ReadonlyArray; + /** + * Get a list of files in the program + */ + getSourceFiles(): ReadonlyArray; + /** + * Emits the JavaScript and declaration files. If targetSourceFile is not specified, then + * the JavaScript and declaration files will be produced for all the files in this program. + * If targetSourceFile is specified, then only the JavaScript and declaration for that + * specific file will be generated. + * + * If writeFile is not specified then the writeFile callback from the compiler host will be + * used for writing the JavaScript and declaration files. Otherwise, the writeFile parameter + * will be invoked when writing the JavaScript and declaration files. + */ + emit(targetSourceFile?: SourceFile, writeFile?: WriteFileCallback, cancellationToken?: CancellationToken, emitOnlyDtsFiles?: boolean, customTransformers?: CustomTransformers): EmitResult; + getOptionsDiagnostics(cancellationToken?: CancellationToken): ReadonlyArray; + getGlobalDiagnostics(cancellationToken?: CancellationToken): ReadonlyArray; + getSyntacticDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): ReadonlyArray; + /** The first time this is called, it will return global diagnostics (no location). */ + getSemanticDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): ReadonlyArray; + getDeclarationDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): ReadonlyArray; + getConfigFileParsingDiagnostics(): ReadonlyArray; + /** + * Gets a type checker that can be used to semantically analyze source files in the program. + */ + getTypeChecker(): TypeChecker; + isSourceFileFromExternalLibrary(file: SourceFile): boolean; + isSourceFileDefaultLibrary(file: SourceFile): boolean; + getProjectReferences(): ReadonlyArray | undefined; + getResolvedProjectReferences(): ReadonlyArray | undefined; + } + interface ResolvedProjectReference { + commandLine: ParsedCommandLine; + sourceFile: SourceFile; + references?: ReadonlyArray; + } + interface CustomTransformers { + /** Custom transformers to evaluate before built-in .js transformations. */ + before?: TransformerFactory[]; + /** Custom transformers to evaluate after built-in .js transformations. */ + after?: TransformerFactory[]; + /** Custom transformers to evaluate after built-in .d.ts transformations. */ + afterDeclarations?: TransformerFactory[]; + } + interface SourceMapSpan { + /** Line number in the .js file. */ + emittedLine: number; + /** Column number in the .js file. */ + emittedColumn: number; + /** Line number in the .ts file. */ + sourceLine: number; + /** Column number in the .ts file. */ + sourceColumn: number; + /** Optional name (index into names array) associated with this span. */ + nameIndex?: number; + /** .ts file (index into sources array) associated with this span */ + sourceIndex: number; + } + /** Return code used by getEmitOutput function to indicate status of the function */ + enum ExitStatus { + Success = 0, + DiagnosticsPresent_OutputsSkipped = 1, + DiagnosticsPresent_OutputsGenerated = 2 + } + interface EmitResult { + emitSkipped: boolean; + /** Contains declaration emit diagnostics */ + diagnostics: ReadonlyArray; + emittedFiles?: string[]; + } + interface TypeChecker { + getTypeOfSymbolAtLocation(symbol: Symbol, node: Node): Type; + getDeclaredTypeOfSymbol(symbol: Symbol): Type; + getPropertiesOfType(type: Type): Symbol[]; + getPropertyOfType(type: Type, propertyName: string): Symbol | undefined; + getIndexInfoOfType(type: Type, kind: IndexKind): IndexInfo | undefined; + getSignaturesOfType(type: Type, kind: SignatureKind): ReadonlyArray; + getIndexTypeOfType(type: Type, kind: IndexKind): Type | undefined; + getBaseTypes(type: InterfaceType): BaseType[]; + getBaseTypeOfLiteralType(type: Type): Type; + getWidenedType(type: Type): Type; + getReturnTypeOfSignature(signature: Signature): Type; + getNullableType(type: Type, flags: TypeFlags): Type; + getNonNullableType(type: Type): Type; + /** Note that the resulting nodes cannot be checked. */ + typeToTypeNode(type: Type, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): TypeNode | undefined; + /** Note that the resulting nodes cannot be checked. */ + signatureToSignatureDeclaration(signature: Signature, kind: SyntaxKind, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): (SignatureDeclaration & { + typeArguments?: NodeArray; + }) | undefined; + /** Note that the resulting nodes cannot be checked. */ + indexInfoToIndexSignatureDeclaration(indexInfo: IndexInfo, kind: IndexKind, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): IndexSignatureDeclaration | undefined; + /** Note that the resulting nodes cannot be checked. */ + symbolToEntityName(symbol: Symbol, meaning: SymbolFlags, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): EntityName | undefined; + /** Note that the resulting nodes cannot be checked. */ + symbolToExpression(symbol: Symbol, meaning: SymbolFlags, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): Expression | undefined; + /** Note that the resulting nodes cannot be checked. */ + symbolToTypeParameterDeclarations(symbol: Symbol, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): NodeArray | undefined; + /** Note that the resulting nodes cannot be checked. */ + symbolToParameterDeclaration(symbol: Symbol, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): ParameterDeclaration | undefined; + /** Note that the resulting nodes cannot be checked. */ + typeParameterToDeclaration(parameter: TypeParameter, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): TypeParameterDeclaration | undefined; + getSymbolsInScope(location: Node, meaning: SymbolFlags): Symbol[]; + getSymbolAtLocation(node: Node): Symbol | undefined; + getSymbolsOfParameterPropertyDeclaration(parameter: ParameterDeclaration, parameterName: string): Symbol[]; + /** + * The function returns the value (local variable) symbol of an identifier in the short-hand property assignment. + * This is necessary as an identifier in short-hand property assignment can contains two meaning: property name and property value. + */ + getShorthandAssignmentValueSymbol(location: Node): Symbol | undefined; + getExportSpecifierLocalTargetSymbol(location: ExportSpecifier): Symbol | undefined; + /** + * If a symbol is a local symbol with an associated exported symbol, returns the exported symbol. + * Otherwise returns its input. + * For example, at `export type T = number;`: + * - `getSymbolAtLocation` at the location `T` will return the exported symbol for `T`. + * - But the result of `getSymbolsInScope` will contain the *local* symbol for `T`, not the exported symbol. + * - Calling `getExportSymbolOfSymbol` on that local symbol will return the exported symbol. + */ + getExportSymbolOfSymbol(symbol: Symbol): Symbol; + getPropertySymbolOfDestructuringAssignment(location: Identifier): Symbol | undefined; + getTypeAtLocation(node: Node): Type; + getTypeFromTypeNode(node: TypeNode): Type; + signatureToString(signature: Signature, enclosingDeclaration?: Node, flags?: TypeFormatFlags, kind?: SignatureKind): string; + typeToString(type: Type, enclosingDeclaration?: Node, flags?: TypeFormatFlags): string; + symbolToString(symbol: Symbol, enclosingDeclaration?: Node, meaning?: SymbolFlags, flags?: SymbolFormatFlags): string; + typePredicateToString(predicate: TypePredicate, enclosingDeclaration?: Node, flags?: TypeFormatFlags): string; + getFullyQualifiedName(symbol: Symbol): string; + getAugmentedPropertiesOfType(type: Type): Symbol[]; + getRootSymbols(symbol: Symbol): ReadonlyArray; + getContextualType(node: Expression): Type | undefined; + /** + * returns unknownSignature in the case of an error. + * returns undefined if the node is not valid. + * @param argumentCount Apparent number of arguments, passed in case of a possibly incomplete call. This should come from an ArgumentListInfo. See `signatureHelp.ts`. + */ + getResolvedSignature(node: CallLikeExpression, candidatesOutArray?: Signature[], argumentCount?: number): Signature | undefined; + getSignatureFromDeclaration(declaration: SignatureDeclaration): Signature | undefined; + isImplementationOfOverload(node: SignatureDeclaration): boolean | undefined; + isUndefinedSymbol(symbol: Symbol): boolean; + isArgumentsSymbol(symbol: Symbol): boolean; + isUnknownSymbol(symbol: Symbol): boolean; + getConstantValue(node: EnumMember | PropertyAccessExpression | ElementAccessExpression): string | number | undefined; + isValidPropertyAccess(node: PropertyAccessExpression | QualifiedName | ImportTypeNode, propertyName: string): boolean; + /** Follow all aliases to get the original symbol. */ + getAliasedSymbol(symbol: Symbol): Symbol; + getExportsOfModule(moduleSymbol: Symbol): Symbol[]; + getJsxIntrinsicTagNamesAt(location: Node): Symbol[]; + isOptionalParameter(node: ParameterDeclaration): boolean; + getAmbientModules(): Symbol[]; + tryGetMemberInModuleExports(memberName: string, moduleSymbol: Symbol): Symbol | undefined; + getApparentType(type: Type): Type; + getBaseConstraintOfType(type: Type): Type | undefined; + getDefaultFromTypeParameter(type: Type): Type | undefined; + /** + * Depending on the operation performed, it may be appropriate to throw away the checker + * if the cancellation token is triggered. Typically, if it is used for error checking + * and the operation is cancelled, then it should be discarded, otherwise it is safe to keep. + */ + runWithCancellationToken(token: CancellationToken, cb: (checker: TypeChecker) => T): T; + } + enum NodeBuilderFlags { + None = 0, + NoTruncation = 1, + WriteArrayAsGenericType = 2, + GenerateNamesForShadowedTypeParams = 4, + UseStructuralFallback = 8, + ForbidIndexedAccessSymbolReferences = 16, + WriteTypeArgumentsOfSignature = 32, + UseFullyQualifiedType = 64, + UseOnlyExternalAliasing = 128, + SuppressAnyReturnType = 256, + WriteTypeParametersInQualifiedName = 512, + MultilineObjectLiterals = 1024, + WriteClassExpressionAsTypeLiteral = 2048, + UseTypeOfFunction = 4096, + OmitParameterModifiers = 8192, + UseAliasDefinedOutsideCurrentScope = 16384, + AllowThisInObjectLiteral = 32768, + AllowQualifedNameInPlaceOfIdentifier = 65536, + AllowAnonymousIdentifier = 131072, + AllowEmptyUnionOrIntersection = 262144, + AllowEmptyTuple = 524288, + AllowUniqueESSymbolType = 1048576, + AllowEmptyIndexInfoType = 2097152, + AllowNodeModulesRelativePaths = 67108864, + IgnoreErrors = 70221824, + InObjectTypeLiteral = 4194304, + InTypeAlias = 8388608, + InInitialEntityName = 16777216, + InReverseMappedType = 33554432 + } + enum TypeFormatFlags { + None = 0, + NoTruncation = 1, + WriteArrayAsGenericType = 2, + UseStructuralFallback = 8, + WriteTypeArgumentsOfSignature = 32, + UseFullyQualifiedType = 64, + SuppressAnyReturnType = 256, + MultilineObjectLiterals = 1024, + WriteClassExpressionAsTypeLiteral = 2048, + UseTypeOfFunction = 4096, + OmitParameterModifiers = 8192, + UseAliasDefinedOutsideCurrentScope = 16384, + AllowUniqueESSymbolType = 1048576, + AddUndefined = 131072, + WriteArrowStyleSignature = 262144, + InArrayType = 524288, + InElementType = 2097152, + InFirstTypeArgument = 4194304, + InTypeAlias = 8388608, + /** @deprecated */ WriteOwnNameForAnyLike = 0, + NodeBuilderFlagsMask = 9469291 + } + enum SymbolFormatFlags { + None = 0, + WriteTypeParametersOrArguments = 1, + UseOnlyExternalAliasing = 2, + AllowAnyNodeKind = 4, + UseAliasDefinedOutsideCurrentScope = 8 + } + enum TypePredicateKind { + This = 0, + Identifier = 1 + } + interface TypePredicateBase { + kind: TypePredicateKind; + type: Type; + } + interface ThisTypePredicate extends TypePredicateBase { + kind: TypePredicateKind.This; + } + interface IdentifierTypePredicate extends TypePredicateBase { + kind: TypePredicateKind.Identifier; + parameterName: string; + parameterIndex: number; + } + type TypePredicate = IdentifierTypePredicate | ThisTypePredicate; + enum SymbolFlags { + None = 0, + FunctionScopedVariable = 1, + BlockScopedVariable = 2, + Property = 4, + EnumMember = 8, + Function = 16, + Class = 32, + Interface = 64, + ConstEnum = 128, + RegularEnum = 256, + ValueModule = 512, + NamespaceModule = 1024, + TypeLiteral = 2048, + ObjectLiteral = 4096, + Method = 8192, + Constructor = 16384, + GetAccessor = 32768, + SetAccessor = 65536, + Signature = 131072, + TypeParameter = 262144, + TypeAlias = 524288, + ExportValue = 1048576, + Alias = 2097152, + Prototype = 4194304, + ExportStar = 8388608, + Optional = 16777216, + Transient = 33554432, + Assignment = 67108864, + ModuleExports = 134217728, + Enum = 384, + Variable = 3, + Value = 67220415, + Type = 67897832, + Namespace = 1920, + Module = 1536, + Accessor = 98304, + FunctionScopedVariableExcludes = 67220414, + BlockScopedVariableExcludes = 67220415, + ParameterExcludes = 67220415, + PropertyExcludes = 0, + EnumMemberExcludes = 68008959, + FunctionExcludes = 67219887, + ClassExcludes = 68008383, + InterfaceExcludes = 67897736, + RegularEnumExcludes = 68008191, + ConstEnumExcludes = 68008831, + ValueModuleExcludes = 110735, + NamespaceModuleExcludes = 0, + MethodExcludes = 67212223, + GetAccessorExcludes = 67154879, + SetAccessorExcludes = 67187647, + TypeParameterExcludes = 67635688, + TypeAliasExcludes = 67897832, + AliasExcludes = 2097152, + ModuleMember = 2623475, + ExportHasLocal = 944, + BlockScoped = 418, + PropertyOrAccessor = 98308, + ClassMember = 106500 + } + interface Symbol { + flags: SymbolFlags; + escapedName: __String; + declarations: Declaration[]; + valueDeclaration: Declaration; + members?: SymbolTable; + exports?: SymbolTable; + globalExports?: SymbolTable; + } + enum InternalSymbolName { + Call = "__call", + Constructor = "__constructor", + New = "__new", + Index = "__index", + ExportStar = "__export", + Global = "__global", + Missing = "__missing", + Type = "__type", + Object = "__object", + JSXAttributes = "__jsxAttributes", + Class = "__class", + Function = "__function", + Computed = "__computed", + Resolving = "__resolving__", + ExportEquals = "export=", + Default = "default", + This = "this" + } + /** + * This represents a string whose leading underscore have been escaped by adding extra leading underscores. + * The shape of this brand is rather unique compared to others we've used. + * Instead of just an intersection of a string and an object, it is that union-ed + * with an intersection of void and an object. This makes it wholly incompatible + * with a normal string (which is good, it cannot be misused on assignment or on usage), + * while still being comparable with a normal string via === (also good) and castable from a string. + */ + type __String = (string & { + __escapedIdentifier: void; + }) | (void & { + __escapedIdentifier: void; + }) | InternalSymbolName; + /** ReadonlyMap where keys are `__String`s. */ + interface ReadonlyUnderscoreEscapedMap { + get(key: __String): T | undefined; + has(key: __String): boolean; + forEach(action: (value: T, key: __String) => void): void; + readonly size: number; + keys(): Iterator<__String>; + values(): Iterator; + entries(): Iterator<[__String, T]>; + } + /** Map where keys are `__String`s. */ + interface UnderscoreEscapedMap extends ReadonlyUnderscoreEscapedMap { + set(key: __String, value: T): this; + delete(key: __String): boolean; + clear(): void; + } + /** SymbolTable based on ES6 Map interface. */ + type SymbolTable = UnderscoreEscapedMap; + enum TypeFlags { + Any = 1, + Unknown = 2, + String = 4, + Number = 8, + Boolean = 16, + Enum = 32, + BigInt = 64, + StringLiteral = 128, + NumberLiteral = 256, + BooleanLiteral = 512, + EnumLiteral = 1024, + BigIntLiteral = 2048, + ESSymbol = 4096, + UniqueESSymbol = 8192, + Void = 16384, + Undefined = 32768, + Null = 65536, + Never = 131072, + TypeParameter = 262144, + Object = 524288, + Union = 1048576, + Intersection = 2097152, + Index = 4194304, + IndexedAccess = 8388608, + Conditional = 16777216, + Substitution = 33554432, + NonPrimitive = 67108864, + Literal = 2944, + Unit = 109440, + StringOrNumberLiteral = 384, + PossiblyFalsy = 117724, + StringLike = 132, + NumberLike = 296, + BigIntLike = 2112, + BooleanLike = 528, + EnumLike = 1056, + ESSymbolLike = 12288, + VoidLike = 49152, + UnionOrIntersection = 3145728, + StructuredType = 3670016, + TypeVariable = 8650752, + InstantiableNonPrimitive = 58982400, + InstantiablePrimitive = 4194304, + Instantiable = 63176704, + StructuredOrInstantiable = 66846720, + Narrowable = 133970943, + NotUnionOrUnit = 67637251 + } + type DestructuringPattern = BindingPattern | ObjectLiteralExpression | ArrayLiteralExpression; + interface Type { + flags: TypeFlags; + symbol: Symbol; + pattern?: DestructuringPattern; + aliasSymbol?: Symbol; + aliasTypeArguments?: ReadonlyArray; + } + interface LiteralType extends Type { + value: string | number | PseudoBigInt; + freshType: LiteralType; + regularType: LiteralType; + } + interface UniqueESSymbolType extends Type { + symbol: Symbol; + } + interface StringLiteralType extends LiteralType { + value: string; + } + interface NumberLiteralType extends LiteralType { + value: number; + } + interface BigIntLiteralType extends LiteralType { + value: PseudoBigInt; + } + interface EnumType extends Type { + } + enum ObjectFlags { + Class = 1, + Interface = 2, + Reference = 4, + Tuple = 8, + Anonymous = 16, + Mapped = 32, + Instantiated = 64, + ObjectLiteral = 128, + EvolvingArray = 256, + ObjectLiteralPatternWithComputedProperties = 512, + ContainsSpread = 1024, + ReverseMapped = 2048, + JsxAttributes = 4096, + MarkerType = 8192, + JSLiteral = 16384, + FreshLiteral = 32768, + ClassOrInterface = 3 + } + interface ObjectType extends Type { + objectFlags: ObjectFlags; + } + /** Class and interface types (ObjectFlags.Class and ObjectFlags.Interface). */ + interface InterfaceType extends ObjectType { + typeParameters: TypeParameter[] | undefined; + outerTypeParameters: TypeParameter[] | undefined; + localTypeParameters: TypeParameter[] | undefined; + thisType: TypeParameter | undefined; + } + type BaseType = ObjectType | IntersectionType; + interface InterfaceTypeWithDeclaredMembers extends InterfaceType { + declaredProperties: Symbol[]; + declaredCallSignatures: Signature[]; + declaredConstructSignatures: Signature[]; + declaredStringIndexInfo?: IndexInfo; + declaredNumberIndexInfo?: IndexInfo; + } + /** + * Type references (ObjectFlags.Reference). When a class or interface has type parameters or + * a "this" type, references to the class or interface are made using type references. The + * typeArguments property specifies the types to substitute for the type parameters of the + * class or interface and optionally includes an extra element that specifies the type to + * substitute for "this" in the resulting instantiation. When no extra argument is present, + * the type reference itself is substituted for "this". The typeArguments property is undefined + * if the class or interface has no type parameters and the reference isn't specifying an + * explicit "this" argument. + */ + interface TypeReference extends ObjectType { + target: GenericType; + typeArguments?: ReadonlyArray; + } + interface GenericType extends InterfaceType, TypeReference { + } + interface TupleType extends GenericType { + minLength: number; + hasRestElement: boolean; + associatedNames?: __String[]; + } + interface TupleTypeReference extends TypeReference { + target: TupleType; + } + interface UnionOrIntersectionType extends Type { + types: Type[]; + } + interface UnionType extends UnionOrIntersectionType { + } + interface IntersectionType extends UnionOrIntersectionType { + } + type StructuredType = ObjectType | UnionType | IntersectionType; + interface EvolvingArrayType extends ObjectType { + elementType: Type; + finalArrayType?: Type; + } + interface InstantiableType extends Type { + } + interface TypeParameter extends InstantiableType { + } + interface IndexedAccessType extends InstantiableType { + objectType: Type; + indexType: Type; + constraint?: Type; + simplified?: Type; + } + type TypeVariable = TypeParameter | IndexedAccessType; + interface IndexType extends InstantiableType { + type: InstantiableType | UnionOrIntersectionType; + } + interface ConditionalRoot { + node: ConditionalTypeNode; + checkType: Type; + extendsType: Type; + trueType: Type; + falseType: Type; + isDistributive: boolean; + inferTypeParameters?: TypeParameter[]; + outerTypeParameters?: TypeParameter[]; + instantiations?: Map; + aliasSymbol?: Symbol; + aliasTypeArguments?: Type[]; + } + interface ConditionalType extends InstantiableType { + root: ConditionalRoot; + checkType: Type; + extendsType: Type; + resolvedTrueType?: Type; + resolvedFalseType?: Type; + } + interface SubstitutionType extends InstantiableType { + typeVariable: TypeVariable; + substitute: Type; + } + enum SignatureKind { + Call = 0, + Construct = 1 + } + interface Signature { + declaration?: SignatureDeclaration | JSDocSignature; + typeParameters?: ReadonlyArray; + parameters: ReadonlyArray; + } + enum IndexKind { + String = 0, + Number = 1 + } + interface IndexInfo { + type: Type; + isReadonly: boolean; + declaration?: IndexSignatureDeclaration; + } + enum InferencePriority { + NakedTypeVariable = 1, + HomomorphicMappedType = 2, + MappedTypeConstraint = 4, + ReturnType = 8, + LiteralKeyof = 16, + NoConstraints = 32, + AlwaysStrict = 64, + PriorityImpliesCombination = 28 + } + /** @deprecated Use FileExtensionInfo instead. */ + type JsFileExtensionInfo = FileExtensionInfo; + interface FileExtensionInfo { + extension: string; + isMixedContent: boolean; + scriptKind?: ScriptKind; + } + interface DiagnosticMessage { + key: string; + category: DiagnosticCategory; + code: number; + message: string; + reportsUnnecessary?: {}; + } + /** + * A linked list of formatted diagnostic messages to be used as part of a multiline message. + * It is built from the bottom up, leaving the head to be the "main" diagnostic. + * While it seems that DiagnosticMessageChain is structurally similar to DiagnosticMessage, + * the difference is that messages are all preformatted in DMC. + */ + interface DiagnosticMessageChain { + messageText: string; + category: DiagnosticCategory; + code: number; + next?: DiagnosticMessageChain; + } + interface Diagnostic extends DiagnosticRelatedInformation { + /** May store more in future. For now, this will simply be `true` to indicate when a diagnostic is an unused-identifier diagnostic. */ + reportsUnnecessary?: {}; + source?: string; + relatedInformation?: DiagnosticRelatedInformation[]; + } + interface DiagnosticRelatedInformation { + category: DiagnosticCategory; + code: number; + file: SourceFile | undefined; + start: number | undefined; + length: number | undefined; + messageText: string | DiagnosticMessageChain; + } + interface DiagnosticWithLocation extends Diagnostic { + file: SourceFile; + start: number; + length: number; + } + enum DiagnosticCategory { + Warning = 0, + Error = 1, + Suggestion = 2, + Message = 3 + } + enum ModuleResolutionKind { + Classic = 1, + NodeJs = 2 + } + interface PluginImport { + name: string; + } + interface ProjectReference { + /** A normalized path on disk */ + path: string; + /** The path as the user originally wrote it */ + originalPath?: string; + /** True if the output of this reference should be prepended to the output of this project. Only valid for --outFile compilations */ + prepend?: boolean; + /** True if it is intended that this reference form a circularity */ + circular?: boolean; + } + type CompilerOptionsValue = string | number | boolean | (string | number)[] | string[] | MapLike | PluginImport[] | ProjectReference[] | null | undefined; + interface CompilerOptions { + allowJs?: boolean; + allowSyntheticDefaultImports?: boolean; + allowUnreachableCode?: boolean; + allowUnusedLabels?: boolean; + alwaysStrict?: boolean; + baseUrl?: string; + charset?: string; + checkJs?: boolean; + declaration?: boolean; + declarationMap?: boolean; + emitDeclarationOnly?: boolean; + declarationDir?: string; + disableSizeLimit?: boolean; + downlevelIteration?: boolean; + emitBOM?: boolean; + emitDecoratorMetadata?: boolean; + experimentalDecorators?: boolean; + forceConsistentCasingInFileNames?: boolean; + importHelpers?: boolean; + inlineSourceMap?: boolean; + inlineSources?: boolean; + isolatedModules?: boolean; + jsx?: JsxEmit; + keyofStringsOnly?: boolean; + lib?: string[]; + locale?: string; + mapRoot?: string; + maxNodeModuleJsDepth?: number; + module?: ModuleKind; + moduleResolution?: ModuleResolutionKind; + newLine?: NewLineKind; + noEmit?: boolean; + noEmitHelpers?: boolean; + noEmitOnError?: boolean; + noErrorTruncation?: boolean; + noFallthroughCasesInSwitch?: boolean; + noImplicitAny?: boolean; + noImplicitReturns?: boolean; + noImplicitThis?: boolean; + noStrictGenericChecks?: boolean; + noUnusedLocals?: boolean; + noUnusedParameters?: boolean; + noImplicitUseStrict?: boolean; + noLib?: boolean; + noResolve?: boolean; + out?: string; + outDir?: string; + outFile?: string; + paths?: MapLike; + preserveConstEnums?: boolean; + preserveSymlinks?: boolean; + project?: string; + reactNamespace?: string; + jsxFactory?: string; + composite?: boolean; + removeComments?: boolean; + rootDir?: string; + rootDirs?: string[]; + skipLibCheck?: boolean; + skipDefaultLibCheck?: boolean; + sourceMap?: boolean; + sourceRoot?: string; + strict?: boolean; + strictFunctionTypes?: boolean; + strictBindCallApply?: boolean; + strictNullChecks?: boolean; + strictPropertyInitialization?: boolean; + stripInternal?: boolean; + suppressExcessPropertyErrors?: boolean; + suppressImplicitAnyIndexErrors?: boolean; + target?: ScriptTarget; + traceResolution?: boolean; + resolveJsonModule?: boolean; + types?: string[]; + /** Paths used to compute primary types search locations */ + typeRoots?: string[]; + esModuleInterop?: boolean; + [option: string]: CompilerOptionsValue | TsConfigSourceFile | undefined; + } + interface TypeAcquisition { + enableAutoDiscovery?: boolean; + enable?: boolean; + include?: string[]; + exclude?: string[]; + [option: string]: string[] | boolean | undefined; + } + enum ModuleKind { + None = 0, + CommonJS = 1, + AMD = 2, + UMD = 3, + System = 4, + ES2015 = 5, + ESNext = 6 + } + enum JsxEmit { + None = 0, + Preserve = 1, + React = 2, + ReactNative = 3 + } + enum NewLineKind { + CarriageReturnLineFeed = 0, + LineFeed = 1 + } + interface LineAndCharacter { + /** 0-based. */ + line: number; + character: number; + } + enum ScriptKind { + Unknown = 0, + JS = 1, + JSX = 2, + TS = 3, + TSX = 4, + External = 5, + JSON = 6, + /** + * Used on extensions that doesn't define the ScriptKind but the content defines it. + * Deferred extensions are going to be included in all project contexts. + */ + Deferred = 7 + } + enum ScriptTarget { + ES3 = 0, + ES5 = 1, + ES2015 = 2, + ES2016 = 3, + ES2017 = 4, + ES2018 = 5, + ESNext = 6, + JSON = 100, + Latest = 6 + } + enum LanguageVariant { + Standard = 0, + JSX = 1 + } + /** Either a parsed command line or a parsed tsconfig.json */ + interface ParsedCommandLine { + options: CompilerOptions; + typeAcquisition?: TypeAcquisition; + fileNames: string[]; + projectReferences?: ReadonlyArray; + raw?: any; + errors: Diagnostic[]; + wildcardDirectories?: MapLike; + compileOnSave?: boolean; + } + enum WatchDirectoryFlags { + None = 0, + Recursive = 1 + } + interface ExpandResult { + fileNames: string[]; + wildcardDirectories: MapLike; + } + interface CreateProgramOptions { + rootNames: ReadonlyArray; + options: CompilerOptions; + projectReferences?: ReadonlyArray; + host?: CompilerHost; + oldProgram?: Program; + configFileParsingDiagnostics?: ReadonlyArray; + } + interface ModuleResolutionHost { + fileExists(fileName: string): boolean; + readFile(fileName: string): string | undefined; + trace?(s: string): void; + directoryExists?(directoryName: string): boolean; + /** + * Resolve a symbolic link. + * @see https://nodejs.org/api/fs.html#fs_fs_realpathsync_path_options + */ + realpath?(path: string): string; + getCurrentDirectory?(): string; + getDirectories?(path: string): string[]; + } + /** + * Represents the result of module resolution. + * Module resolution will pick up tsx/jsx/js files even if '--jsx' and '--allowJs' are turned off. + * The Program will then filter results based on these flags. + * + * Prefer to return a `ResolvedModuleFull` so that the file type does not have to be inferred. + */ + interface ResolvedModule { + /** Path of the file the module was resolved to. */ + resolvedFileName: string; + /** True if `resolvedFileName` comes from `node_modules`. */ + isExternalLibraryImport?: boolean; + } + /** + * ResolvedModule with an explicitly provided `extension` property. + * Prefer this over `ResolvedModule`. + * If changing this, remember to change `moduleResolutionIsEqualTo`. + */ + interface ResolvedModuleFull extends ResolvedModule { + /** + * Extension of resolvedFileName. This must match what's at the end of resolvedFileName. + * This is optional for backwards-compatibility, but will be added if not provided. + */ + extension: Extension; + packageId?: PackageId; + } + /** + * Unique identifier with a package name and version. + * If changing this, remember to change `packageIdIsEqual`. + */ + interface PackageId { + /** + * Name of the package. + * Should not include `@types`. + * If accessing a non-index file, this should include its name e.g. "foo/bar". + */ + name: string; + /** + * Name of a submodule within this package. + * May be "". + */ + subModuleName: string; + /** Version of the package, e.g. "1.2.3" */ + version: string; + } + enum Extension { + Ts = ".ts", + Tsx = ".tsx", + Dts = ".d.ts", + Js = ".js", + Jsx = ".jsx", + Json = ".json" + } + interface ResolvedModuleWithFailedLookupLocations { + readonly resolvedModule: ResolvedModuleFull | undefined; + } + interface ResolvedTypeReferenceDirective { + primary: boolean; + resolvedFileName: string | undefined; + packageId?: PackageId; + /** True if `resolvedFileName` comes from `node_modules`. */ + isExternalLibraryImport?: boolean; + } + interface ResolvedTypeReferenceDirectiveWithFailedLookupLocations { + readonly resolvedTypeReferenceDirective: ResolvedTypeReferenceDirective | undefined; + readonly failedLookupLocations: ReadonlyArray; + } + interface CompilerHost extends ModuleResolutionHost { + getSourceFile(fileName: string, languageVersion: ScriptTarget, onError?: (message: string) => void, shouldCreateNewSourceFile?: boolean): SourceFile | undefined; + getSourceFileByPath?(fileName: string, path: Path, languageVersion: ScriptTarget, onError?: (message: string) => void, shouldCreateNewSourceFile?: boolean): SourceFile | undefined; + getCancellationToken?(): CancellationToken; + getDefaultLibFileName(options: CompilerOptions): string; + getDefaultLibLocation?(): string; + writeFile: WriteFileCallback; + getCurrentDirectory(): string; + getDirectories(path: string): string[]; + getCanonicalFileName(fileName: string): string; + useCaseSensitiveFileNames(): boolean; + getNewLine(): string; + readDirectory?(rootDir: string, extensions: ReadonlyArray, excludes: ReadonlyArray | undefined, includes: ReadonlyArray, depth?: number): string[]; + resolveModuleNames?(moduleNames: string[], containingFile: string, reusedNames?: string[], redirectedReference?: ResolvedProjectReference): (ResolvedModule | undefined)[]; + /** + * This method is a companion for 'resolveModuleNames' and is used to resolve 'types' references to actual type declaration files + */ + resolveTypeReferenceDirectives?(typeReferenceDirectiveNames: string[], containingFile: string, redirectedReference?: ResolvedProjectReference): (ResolvedTypeReferenceDirective | undefined)[]; + getEnvironmentVariable?(name: string): string | undefined; + createHash?(data: string): string; + } + interface SourceMapRange extends TextRange { + source?: SourceMapSource; + } + interface SourceMapSource { + fileName: string; + text: string; + skipTrivia?: (pos: number) => number; + } + enum EmitFlags { + None = 0, + SingleLine = 1, + AdviseOnEmitNode = 2, + NoSubstitution = 4, + CapturesThis = 8, + NoLeadingSourceMap = 16, + NoTrailingSourceMap = 32, + NoSourceMap = 48, + NoNestedSourceMaps = 64, + NoTokenLeadingSourceMaps = 128, + NoTokenTrailingSourceMaps = 256, + NoTokenSourceMaps = 384, + NoLeadingComments = 512, + NoTrailingComments = 1024, + NoComments = 1536, + NoNestedComments = 2048, + HelperName = 4096, + ExportName = 8192, + LocalName = 16384, + InternalName = 32768, + Indented = 65536, + NoIndentation = 131072, + AsyncFunctionBody = 262144, + ReuseTempVariableScope = 524288, + CustomPrologue = 1048576, + NoHoisting = 2097152, + HasEndOfDeclarationMarker = 4194304, + Iterator = 8388608, + NoAsciiEscaping = 16777216 + } + interface EmitHelper { + readonly name: string; + readonly scoped: boolean; + readonly text: string | ((node: EmitHelperUniqueNameCallback) => string); + readonly priority?: number; + } + type EmitHelperUniqueNameCallback = (name: string) => string; + enum EmitHint { + SourceFile = 0, + Expression = 1, + IdentifierName = 2, + MappedTypeParameter = 3, + Unspecified = 4, + EmbeddedStatement = 5 + } + interface TransformationContext { + /** Gets the compiler options supplied to the transformer. */ + getCompilerOptions(): CompilerOptions; + /** Starts a new lexical environment. */ + startLexicalEnvironment(): void; + /** Suspends the current lexical environment, usually after visiting a parameter list. */ + suspendLexicalEnvironment(): void; + /** Resumes a suspended lexical environment, usually before visiting a function body. */ + resumeLexicalEnvironment(): void; + /** Ends a lexical environment, returning any declarations. */ + endLexicalEnvironment(): Statement[] | undefined; + /** Hoists a function declaration to the containing scope. */ + hoistFunctionDeclaration(node: FunctionDeclaration): void; + /** Hoists a variable declaration to the containing scope. */ + hoistVariableDeclaration(node: Identifier): void; + /** Records a request for a non-scoped emit helper in the current context. */ + requestEmitHelper(helper: EmitHelper): void; + /** Gets and resets the requested non-scoped emit helpers. */ + readEmitHelpers(): EmitHelper[] | undefined; + /** Enables expression substitutions in the pretty printer for the provided SyntaxKind. */ + enableSubstitution(kind: SyntaxKind): void; + /** Determines whether expression substitutions are enabled for the provided node. */ + isSubstitutionEnabled(node: Node): boolean; + /** + * Hook used by transformers to substitute expressions just before they + * are emitted by the pretty printer. + * + * NOTE: Transformation hooks should only be modified during `Transformer` initialization, + * before returning the `NodeTransformer` callback. + */ + onSubstituteNode: (hint: EmitHint, node: Node) => Node; + /** + * Enables before/after emit notifications in the pretty printer for the provided + * SyntaxKind. + */ + enableEmitNotification(kind: SyntaxKind): void; + /** + * Determines whether before/after emit notifications should be raised in the pretty + * printer when it emits a node. + */ + isEmitNotificationEnabled(node: Node): boolean; + /** + * Hook used to allow transformers to capture state before or after + * the printer emits a node. + * + * NOTE: Transformation hooks should only be modified during `Transformer` initialization, + * before returning the `NodeTransformer` callback. + */ + onEmitNode: (hint: EmitHint, node: Node, emitCallback: (hint: EmitHint, node: Node) => void) => void; + } + interface TransformationResult { + /** Gets the transformed source files. */ + transformed: T[]; + /** Gets diagnostics for the transformation. */ + diagnostics?: DiagnosticWithLocation[]; + /** + * Gets a substitute for a node, if one is available; otherwise, returns the original node. + * + * @param hint A hint as to the intended usage of the node. + * @param node The node to substitute. + */ + substituteNode(hint: EmitHint, node: Node): Node; + /** + * Emits a node with possible notification. + * + * @param hint A hint as to the intended usage of the node. + * @param node The node to emit. + * @param emitCallback A callback used to emit the node. + */ + emitNodeWithNotification(hint: EmitHint, node: Node, emitCallback: (hint: EmitHint, node: Node) => void): void; + /** + * Clean up EmitNode entries on any parse-tree nodes. + */ + dispose(): void; + } + /** + * A function that is used to initialize and return a `Transformer` callback, which in turn + * will be used to transform one or more nodes. + */ + type TransformerFactory = (context: TransformationContext) => Transformer; + /** + * A function that transforms a node. + */ + type Transformer = (node: T) => T; + /** + * A function that accepts and possibly transforms a node. + */ + type Visitor = (node: Node) => VisitResult; + type VisitResult = T | T[] | undefined; + interface Printer { + /** + * Print a node and its subtree as-is, without any emit transformations. + * @param hint A value indicating the purpose of a node. This is primarily used to + * distinguish between an `Identifier` used in an expression position, versus an + * `Identifier` used as an `IdentifierName` as part of a declaration. For most nodes you + * should just pass `Unspecified`. + * @param node The node to print. The node and its subtree are printed as-is, without any + * emit transformations. + * @param sourceFile A source file that provides context for the node. The source text of + * the file is used to emit the original source content for literals and identifiers, while + * the identifiers of the source file are used when generating unique names to avoid + * collisions. + */ + printNode(hint: EmitHint, node: Node, sourceFile: SourceFile): string; + /** + * Prints a list of nodes using the given format flags + */ + printList(format: ListFormat, list: NodeArray, sourceFile: SourceFile): string; + /** + * Prints a source file as-is, without any emit transformations. + */ + printFile(sourceFile: SourceFile): string; + /** + * Prints a bundle of source files as-is, without any emit transformations. + */ + printBundle(bundle: Bundle): string; + } + interface PrintHandlers { + /** + * A hook used by the Printer when generating unique names to avoid collisions with + * globally defined names that exist outside of the current source file. + */ + hasGlobalName?(name: string): boolean; + /** + * A hook used by the Printer to provide notifications prior to emitting a node. A + * compatible implementation **must** invoke `emitCallback` with the provided `hint` and + * `node` values. + * @param hint A hint indicating the intended purpose of the node. + * @param node The node to emit. + * @param emitCallback A callback that, when invoked, will emit the node. + * @example + * ```ts + * var printer = createPrinter(printerOptions, { + * onEmitNode(hint, node, emitCallback) { + * // set up or track state prior to emitting the node... + * emitCallback(hint, node); + * // restore state after emitting the node... + * } + * }); + * ``` + */ + onEmitNode?(hint: EmitHint, node: Node | undefined, emitCallback: (hint: EmitHint, node: Node | undefined) => void): void; + /** + * A hook used by the Printer to perform just-in-time substitution of a node. This is + * primarily used by node transformations that need to substitute one node for another, + * such as replacing `myExportedVar` with `exports.myExportedVar`. + * @param hint A hint indicating the intended purpose of the node. + * @param node The node to emit. + * @example + * ```ts + * var printer = createPrinter(printerOptions, { + * substituteNode(hint, node) { + * // perform substitution if necessary... + * return node; + * } + * }); + * ``` + */ + substituteNode?(hint: EmitHint, node: Node): Node; + } + interface PrinterOptions { + removeComments?: boolean; + newLine?: NewLineKind; + omitTrailingSemicolon?: boolean; + noEmitHelpers?: boolean; + } + interface GetEffectiveTypeRootsHost { + directoryExists?(directoryName: string): boolean; + getCurrentDirectory?(): string; + } + interface TextSpan { + start: number; + length: number; + } + interface TextChangeRange { + span: TextSpan; + newLength: number; + } + interface SyntaxList extends Node { + _children: Node[]; + } + enum ListFormat { + None = 0, + SingleLine = 0, + MultiLine = 1, + PreserveLines = 2, + LinesMask = 3, + NotDelimited = 0, + BarDelimited = 4, + AmpersandDelimited = 8, + CommaDelimited = 16, + AsteriskDelimited = 32, + DelimitersMask = 60, + AllowTrailingComma = 64, + Indented = 128, + SpaceBetweenBraces = 256, + SpaceBetweenSiblings = 512, + Braces = 1024, + Parenthesis = 2048, + AngleBrackets = 4096, + SquareBrackets = 8192, + BracketsMask = 15360, + OptionalIfUndefined = 16384, + OptionalIfEmpty = 32768, + Optional = 49152, + PreferNewLine = 65536, + NoTrailingNewLine = 131072, + NoInterveningComments = 262144, + NoSpaceIfEmpty = 524288, + SingleElement = 1048576, + Modifiers = 262656, + HeritageClauses = 512, + SingleLineTypeLiteralMembers = 768, + MultiLineTypeLiteralMembers = 32897, + TupleTypeElements = 528, + UnionTypeConstituents = 516, + IntersectionTypeConstituents = 520, + ObjectBindingPatternElements = 525136, + ArrayBindingPatternElements = 524880, + ObjectLiteralExpressionProperties = 526226, + ArrayLiteralExpressionElements = 8914, + CommaListElements = 528, + CallExpressionArguments = 2576, + NewExpressionArguments = 18960, + TemplateExpressionSpans = 262144, + SingleLineBlockStatements = 768, + MultiLineBlockStatements = 129, + VariableDeclarationList = 528, + SingleLineFunctionBodyStatements = 768, + MultiLineFunctionBodyStatements = 1, + ClassHeritageClauses = 0, + ClassMembers = 129, + InterfaceMembers = 129, + EnumMembers = 145, + CaseBlockClauses = 129, + NamedImportsOrExportsElements = 525136, + JsxElementOrFragmentChildren = 262144, + JsxElementAttributes = 262656, + CaseOrDefaultClauseStatements = 163969, + HeritageClauseTypes = 528, + SourceFileStatements = 131073, + Decorators = 49153, + TypeArguments = 53776, + TypeParameters = 53776, + Parameters = 2576, + IndexSignatureParameters = 8848, + JSDocComment = 33 + } + interface UserPreferences { + readonly disableSuggestions?: boolean; + readonly quotePreference?: "double" | "single"; + readonly includeCompletionsForModuleExports?: boolean; + readonly includeCompletionsWithInsertText?: boolean; + readonly importModuleSpecifierPreference?: "relative" | "non-relative"; + /** Determines whether we import `foo/index.ts` as "foo", "foo/index", or "foo/index.js" */ + readonly importModuleSpecifierEnding?: "minimal" | "index" | "js"; + readonly allowTextChangesInNewFiles?: boolean; + } + /** Represents a bigint literal value without requiring bigint support */ + interface PseudoBigInt { + negative: boolean; + base10Value: string; + } +} +declare function setTimeout(handler: (...args: any[]) => void, timeout: number): any; +declare function clearTimeout(handle: any): void; +declare namespace ts { + enum FileWatcherEventKind { + Created = 0, + Changed = 1, + Deleted = 2 + } + type FileWatcherCallback = (fileName: string, eventKind: FileWatcherEventKind) => void; + type DirectoryWatcherCallback = (fileName: string) => void; + interface System { + args: string[]; + newLine: string; + useCaseSensitiveFileNames: boolean; + write(s: string): void; + writeOutputIsTTY?(): boolean; + readFile(path: string, encoding?: string): string | undefined; + getFileSize?(path: string): number; + writeFile(path: string, data: string, writeByteOrderMark?: boolean): void; + /** + * @pollingInterval - this parameter is used in polling-based watchers and ignored in watchers that + * use native OS file watching + */ + watchFile?(path: string, callback: FileWatcherCallback, pollingInterval?: number): FileWatcher; + watchDirectory?(path: string, callback: DirectoryWatcherCallback, recursive?: boolean): FileWatcher; + resolvePath(path: string): string; + fileExists(path: string): boolean; + directoryExists(path: string): boolean; + createDirectory(path: string): void; + getExecutingFilePath(): string; + getCurrentDirectory(): string; + getDirectories(path: string): string[]; + readDirectory(path: string, extensions?: ReadonlyArray, exclude?: ReadonlyArray, include?: ReadonlyArray, depth?: number): string[]; + getModifiedTime?(path: string): Date | undefined; + setModifiedTime?(path: string, time: Date): void; + deleteFile?(path: string): void; + /** + * A good implementation is node.js' `crypto.createHash`. (https://nodejs.org/api/crypto.html#crypto_crypto_createhash_algorithm) + */ + createHash?(data: string): string; + /** This must be cryptographically secure. Only implement this method using `crypto.createHash("sha256")`. */ + createSHA256Hash?(data: string): string; + getMemoryUsage?(): number; + exit(exitCode?: number): void; + realpath?(path: string): string; + setTimeout?(callback: (...args: any[]) => void, ms: number, ...args: any[]): any; + clearTimeout?(timeoutId: any): void; + clearScreen?(): void; + base64decode?(input: string): string; + base64encode?(input: string): string; + } + interface FileWatcher { + close(): void; + } + function getNodeMajorVersion(): number | undefined; + let sys: System; +} +declare namespace ts { + type ErrorCallback = (message: DiagnosticMessage, length: number) => void; + interface Scanner { + getStartPos(): number; + getToken(): SyntaxKind; + getTextPos(): number; + getTokenPos(): number; + getTokenText(): string; + getTokenValue(): string; + hasExtendedUnicodeEscape(): boolean; + hasPrecedingLineBreak(): boolean; + isIdentifier(): boolean; + isReservedWord(): boolean; + isUnterminated(): boolean; + reScanGreaterToken(): SyntaxKind; + reScanSlashToken(): SyntaxKind; + reScanTemplateToken(): SyntaxKind; + scanJsxIdentifier(): SyntaxKind; + scanJsxAttributeValue(): SyntaxKind; + reScanJsxToken(): JsxTokenSyntaxKind; + scanJsxToken(): JsxTokenSyntaxKind; + scanJSDocToken(): JsDocSyntaxKind; + scan(): SyntaxKind; + getText(): string; + setText(text: string | undefined, start?: number, length?: number): void; + setOnError(onError: ErrorCallback | undefined): void; + setScriptTarget(scriptTarget: ScriptTarget): void; + setLanguageVariant(variant: LanguageVariant): void; + setTextPos(textPos: number): void; + lookAhead(callback: () => T): T; + scanRange(start: number, length: number, callback: () => T): T; + tryScan(callback: () => T): T; + } + function tokenToString(t: SyntaxKind): string | undefined; + function getPositionOfLineAndCharacter(sourceFile: SourceFileLike, line: number, character: number): number; + function getLineAndCharacterOfPosition(sourceFile: SourceFileLike, position: number): LineAndCharacter; + function isWhiteSpaceLike(ch: number): boolean; + /** Does not include line breaks. For that, see isWhiteSpaceLike. */ + function isWhiteSpaceSingleLine(ch: number): boolean; + function isLineBreak(ch: number): boolean; + function couldStartTrivia(text: string, pos: number): boolean; + function forEachLeadingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean) => U): U | undefined; + function forEachLeadingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean, state: T) => U, state: T): U | undefined; + function forEachTrailingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean) => U): U | undefined; + function forEachTrailingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean, state: T) => U, state: T): U | undefined; + function reduceEachLeadingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean, state: T, memo: U) => U, state: T, initial: U): U | undefined; + function reduceEachTrailingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean, state: T, memo: U) => U, state: T, initial: U): U | undefined; + function getLeadingCommentRanges(text: string, pos: number): CommentRange[] | undefined; + function getTrailingCommentRanges(text: string, pos: number): CommentRange[] | undefined; + /** Optionally, get the shebang */ + function getShebang(text: string): string | undefined; + function isIdentifierStart(ch: number, languageVersion: ScriptTarget | undefined): boolean; + function isIdentifierPart(ch: number, languageVersion: ScriptTarget | undefined): boolean; + function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean, languageVariant?: LanguageVariant, textInitial?: string, onError?: ErrorCallback, start?: number, length?: number): Scanner; +} +declare namespace ts { + function isExternalModuleNameRelative(moduleName: string): boolean; + function sortAndDeduplicateDiagnostics(diagnostics: ReadonlyArray): SortedReadonlyArray; +} +declare namespace ts { + function getDefaultLibFileName(options: CompilerOptions): string; + function textSpanEnd(span: TextSpan): number; + function textSpanIsEmpty(span: TextSpan): boolean; + function textSpanContainsPosition(span: TextSpan, position: number): boolean; + function textSpanContainsTextSpan(span: TextSpan, other: TextSpan): boolean; + function textSpanOverlapsWith(span: TextSpan, other: TextSpan): boolean; + function textSpanOverlap(span1: TextSpan, span2: TextSpan): TextSpan | undefined; + function textSpanIntersectsWithTextSpan(span: TextSpan, other: TextSpan): boolean; + function textSpanIntersectsWith(span: TextSpan, start: number, length: number): boolean; + function decodedTextSpanIntersectsWith(start1: number, length1: number, start2: number, length2: number): boolean; + function textSpanIntersectsWithPosition(span: TextSpan, position: number): boolean; + function textSpanIntersection(span1: TextSpan, span2: TextSpan): TextSpan | undefined; + function createTextSpan(start: number, length: number): TextSpan; + function createTextSpanFromBounds(start: number, end: number): TextSpan; + function textChangeRangeNewSpan(range: TextChangeRange): TextSpan; + function textChangeRangeIsUnchanged(range: TextChangeRange): boolean; + function createTextChangeRange(span: TextSpan, newLength: number): TextChangeRange; + let unchangedTextChangeRange: TextChangeRange; + /** + * Called to merge all the changes that occurred across several versions of a script snapshot + * into a single change. i.e. if a user keeps making successive edits to a script we will + * have a text change from V1 to V2, V2 to V3, ..., Vn. + * + * This function will then merge those changes into a single change range valid between V1 and + * Vn. + */ + function collapseTextChangeRangesAcrossMultipleVersions(changes: ReadonlyArray): TextChangeRange; + function getTypeParameterOwner(d: Declaration): Declaration | undefined; + type ParameterPropertyDeclaration = ParameterDeclaration & { + parent: ConstructorDeclaration; + name: Identifier; + }; + function isParameterPropertyDeclaration(node: Node): node is ParameterPropertyDeclaration; + function isEmptyBindingPattern(node: BindingName): node is BindingPattern; + function isEmptyBindingElement(node: BindingElement): boolean; + function walkUpBindingElementsAndPatterns(binding: BindingElement): VariableDeclaration | ParameterDeclaration; + function getCombinedModifierFlags(node: Declaration): ModifierFlags; + function getCombinedNodeFlags(node: Node): NodeFlags; + /** + * Checks to see if the locale is in the appropriate format, + * and if it is, attempts to set the appropriate language. + */ + function validateLocaleAndSetLanguage(locale: string, sys: { + getExecutingFilePath(): string; + resolvePath(path: string): string; + fileExists(fileName: string): boolean; + readFile(fileName: string): string | undefined; + }, errors?: Push): void; + function getOriginalNode(node: Node): Node; + function getOriginalNode(node: Node, nodeTest: (node: Node) => node is T): T; + function getOriginalNode(node: Node | undefined): Node | undefined; + function getOriginalNode(node: Node | undefined, nodeTest: (node: Node | undefined) => node is T): T | undefined; + /** + * Gets a value indicating whether a node originated in the parse tree. + * + * @param node The node to test. + */ + function isParseTreeNode(node: Node): boolean; + /** + * Gets the original parse tree node for a node. + * + * @param node The original node. + * @returns The original parse tree node if found; otherwise, undefined. + */ + function getParseTreeNode(node: Node): Node; + /** + * Gets the original parse tree node for a node. + * + * @param node The original node. + * @param nodeTest A callback used to ensure the correct type of parse tree node is returned. + * @returns The original parse tree node if found; otherwise, undefined. + */ + function getParseTreeNode(node: Node | undefined, nodeTest?: (node: Node) => node is T): T | undefined; + /** Add an extra underscore to identifiers that start with two underscores to avoid issues with magic names like '__proto__' */ + function escapeLeadingUnderscores(identifier: string): __String; + /** + * Remove extra underscore from escaped identifier text content. + * + * @param identifier The escaped identifier text. + * @returns The unescaped identifier text. + */ + function unescapeLeadingUnderscores(identifier: __String): string; + function idText(identifier: Identifier): string; + function symbolName(symbol: Symbol): string; + function getNameOfJSDocTypedef(declaration: JSDocTypedefTag): Identifier | undefined; + function getNameOfDeclaration(declaration: Declaration | Expression): DeclarationName | undefined; + /** + * Gets the JSDoc parameter tags for the node if present. + * + * @remarks Returns any JSDoc param tag whose name matches the provided + * parameter, whether a param tag on a containing function + * expression, or a param tag on a variable declaration whose + * initializer is the containing function. The tags closest to the + * node are returned first, so in the previous example, the param + * tag on the containing function expression would be first. + * + * For binding patterns, parameter tags are matched by position. + */ + function getJSDocParameterTags(param: ParameterDeclaration): ReadonlyArray; + /** + * Gets the JSDoc type parameter tags for the node if present. + * + * @remarks Returns any JSDoc template tag whose names match the provided + * parameter, whether a template tag on a containing function + * expression, or a template tag on a variable declaration whose + * initializer is the containing function. The tags closest to the + * node are returned first, so in the previous example, the template + * tag on the containing function expression would be first. + */ + function getJSDocTypeParameterTags(param: TypeParameterDeclaration): ReadonlyArray; + /** + * Return true if the node has JSDoc parameter tags. + * + * @remarks Includes parameter tags that are not directly on the node, + * for example on a variable declaration whose initializer is a function expression. + */ + function hasJSDocParameterTags(node: FunctionLikeDeclaration | SignatureDeclaration): boolean; + /** Gets the JSDoc augments tag for the node if present */ + function getJSDocAugmentsTag(node: Node): JSDocAugmentsTag | undefined; + /** Gets the JSDoc class tag for the node if present */ + function getJSDocClassTag(node: Node): JSDocClassTag | undefined; + /** Gets the JSDoc enum tag for the node if present */ + function getJSDocEnumTag(node: Node): JSDocEnumTag | undefined; + /** Gets the JSDoc this tag for the node if present */ + function getJSDocThisTag(node: Node): JSDocThisTag | undefined; + /** Gets the JSDoc return tag for the node if present */ + function getJSDocReturnTag(node: Node): JSDocReturnTag | undefined; + /** Gets the JSDoc template tag for the node if present */ + function getJSDocTemplateTag(node: Node): JSDocTemplateTag | undefined; + /** Gets the JSDoc type tag for the node if present and valid */ + function getJSDocTypeTag(node: Node): JSDocTypeTag | undefined; + /** + * Gets the type node for the node if provided via JSDoc. + * + * @remarks The search includes any JSDoc param tag that relates + * to the provided parameter, for example a type tag on the + * parameter itself, or a param tag on a containing function + * expression, or a param tag on a variable declaration whose + * initializer is the containing function. The tags closest to the + * node are examined first, so in the previous example, the type + * tag directly on the node would be returned. + */ + function getJSDocType(node: Node): TypeNode | undefined; + /** + * Gets the return type node for the node if provided via JSDoc return tag or type tag. + * + * @remarks `getJSDocReturnTag` just gets the whole JSDoc tag. This function + * gets the type from inside the braces, after the fat arrow, etc. + */ + function getJSDocReturnType(node: Node): TypeNode | undefined; + /** Get all JSDoc tags related to a node, including those on parent nodes. */ + function getJSDocTags(node: Node): ReadonlyArray; + /** Gets all JSDoc tags of a specified kind, or undefined if not present. */ + function getAllJSDocTagsOfKind(node: Node, kind: SyntaxKind): ReadonlyArray; + /** + * Gets the effective type parameters. If the node was parsed in a + * JavaScript file, gets the type parameters from the `@template` tag from JSDoc. + */ + function getEffectiveTypeParameterDeclarations(node: DeclarationWithTypeParameters): ReadonlyArray; + function getEffectiveConstraintOfTypeParameter(node: TypeParameterDeclaration): TypeNode | undefined; +} +declare namespace ts { + function isNumericLiteral(node: Node): node is NumericLiteral; + function isBigIntLiteral(node: Node): node is BigIntLiteral; + function isStringLiteral(node: Node): node is StringLiteral; + function isJsxText(node: Node): node is JsxText; + function isRegularExpressionLiteral(node: Node): node is RegularExpressionLiteral; + function isNoSubstitutionTemplateLiteral(node: Node): node is NoSubstitutionTemplateLiteral; + function isTemplateHead(node: Node): node is TemplateHead; + function isTemplateMiddle(node: Node): node is TemplateMiddle; + function isTemplateTail(node: Node): node is TemplateTail; + function isIdentifier(node: Node): node is Identifier; + function isQualifiedName(node: Node): node is QualifiedName; + function isComputedPropertyName(node: Node): node is ComputedPropertyName; + function isTypeParameterDeclaration(node: Node): node is TypeParameterDeclaration; + function isParameter(node: Node): node is ParameterDeclaration; + function isDecorator(node: Node): node is Decorator; + function isPropertySignature(node: Node): node is PropertySignature; + function isPropertyDeclaration(node: Node): node is PropertyDeclaration; + function isMethodSignature(node: Node): node is MethodSignature; + function isMethodDeclaration(node: Node): node is MethodDeclaration; + function isConstructorDeclaration(node: Node): node is ConstructorDeclaration; + function isGetAccessorDeclaration(node: Node): node is GetAccessorDeclaration; + function isSetAccessorDeclaration(node: Node): node is SetAccessorDeclaration; + function isCallSignatureDeclaration(node: Node): node is CallSignatureDeclaration; + function isConstructSignatureDeclaration(node: Node): node is ConstructSignatureDeclaration; + function isIndexSignatureDeclaration(node: Node): node is IndexSignatureDeclaration; + function isTypePredicateNode(node: Node): node is TypePredicateNode; + function isTypeReferenceNode(node: Node): node is TypeReferenceNode; + function isFunctionTypeNode(node: Node): node is FunctionTypeNode; + function isConstructorTypeNode(node: Node): node is ConstructorTypeNode; + function isTypeQueryNode(node: Node): node is TypeQueryNode; + function isTypeLiteralNode(node: Node): node is TypeLiteralNode; + function isArrayTypeNode(node: Node): node is ArrayTypeNode; + function isTupleTypeNode(node: Node): node is TupleTypeNode; + function isUnionTypeNode(node: Node): node is UnionTypeNode; + function isIntersectionTypeNode(node: Node): node is IntersectionTypeNode; + function isConditionalTypeNode(node: Node): node is ConditionalTypeNode; + function isInferTypeNode(node: Node): node is InferTypeNode; + function isParenthesizedTypeNode(node: Node): node is ParenthesizedTypeNode; + function isThisTypeNode(node: Node): node is ThisTypeNode; + function isTypeOperatorNode(node: Node): node is TypeOperatorNode; + function isIndexedAccessTypeNode(node: Node): node is IndexedAccessTypeNode; + function isMappedTypeNode(node: Node): node is MappedTypeNode; + function isLiteralTypeNode(node: Node): node is LiteralTypeNode; + function isImportTypeNode(node: Node): node is ImportTypeNode; + function isObjectBindingPattern(node: Node): node is ObjectBindingPattern; + function isArrayBindingPattern(node: Node): node is ArrayBindingPattern; + function isBindingElement(node: Node): node is BindingElement; + function isArrayLiteralExpression(node: Node): node is ArrayLiteralExpression; + function isObjectLiteralExpression(node: Node): node is ObjectLiteralExpression; + function isPropertyAccessExpression(node: Node): node is PropertyAccessExpression; + function isElementAccessExpression(node: Node): node is ElementAccessExpression; + function isCallExpression(node: Node): node is CallExpression; + function isNewExpression(node: Node): node is NewExpression; + function isTaggedTemplateExpression(node: Node): node is TaggedTemplateExpression; + function isTypeAssertion(node: Node): node is TypeAssertion; + function isParenthesizedExpression(node: Node): node is ParenthesizedExpression; + function skipPartiallyEmittedExpressions(node: Expression): Expression; + function skipPartiallyEmittedExpressions(node: Node): Node; + function isFunctionExpression(node: Node): node is FunctionExpression; + function isArrowFunction(node: Node): node is ArrowFunction; + function isDeleteExpression(node: Node): node is DeleteExpression; + function isTypeOfExpression(node: Node): node is TypeOfExpression; + function isVoidExpression(node: Node): node is VoidExpression; + function isAwaitExpression(node: Node): node is AwaitExpression; + function isPrefixUnaryExpression(node: Node): node is PrefixUnaryExpression; + function isPostfixUnaryExpression(node: Node): node is PostfixUnaryExpression; + function isBinaryExpression(node: Node): node is BinaryExpression; + function isConditionalExpression(node: Node): node is ConditionalExpression; + function isTemplateExpression(node: Node): node is TemplateExpression; + function isYieldExpression(node: Node): node is YieldExpression; + function isSpreadElement(node: Node): node is SpreadElement; + function isClassExpression(node: Node): node is ClassExpression; + function isOmittedExpression(node: Node): node is OmittedExpression; + function isExpressionWithTypeArguments(node: Node): node is ExpressionWithTypeArguments; + function isAsExpression(node: Node): node is AsExpression; + function isNonNullExpression(node: Node): node is NonNullExpression; + function isMetaProperty(node: Node): node is MetaProperty; + function isTemplateSpan(node: Node): node is TemplateSpan; + function isSemicolonClassElement(node: Node): node is SemicolonClassElement; + function isBlock(node: Node): node is Block; + function isVariableStatement(node: Node): node is VariableStatement; + function isEmptyStatement(node: Node): node is EmptyStatement; + function isExpressionStatement(node: Node): node is ExpressionStatement; + function isIfStatement(node: Node): node is IfStatement; + function isDoStatement(node: Node): node is DoStatement; + function isWhileStatement(node: Node): node is WhileStatement; + function isForStatement(node: Node): node is ForStatement; + function isForInStatement(node: Node): node is ForInStatement; + function isForOfStatement(node: Node): node is ForOfStatement; + function isContinueStatement(node: Node): node is ContinueStatement; + function isBreakStatement(node: Node): node is BreakStatement; + function isBreakOrContinueStatement(node: Node): node is BreakOrContinueStatement; + function isReturnStatement(node: Node): node is ReturnStatement; + function isWithStatement(node: Node): node is WithStatement; + function isSwitchStatement(node: Node): node is SwitchStatement; + function isLabeledStatement(node: Node): node is LabeledStatement; + function isThrowStatement(node: Node): node is ThrowStatement; + function isTryStatement(node: Node): node is TryStatement; + function isDebuggerStatement(node: Node): node is DebuggerStatement; + function isVariableDeclaration(node: Node): node is VariableDeclaration; + function isVariableDeclarationList(node: Node): node is VariableDeclarationList; + function isFunctionDeclaration(node: Node): node is FunctionDeclaration; + function isClassDeclaration(node: Node): node is ClassDeclaration; + function isInterfaceDeclaration(node: Node): node is InterfaceDeclaration; + function isTypeAliasDeclaration(node: Node): node is TypeAliasDeclaration; + function isEnumDeclaration(node: Node): node is EnumDeclaration; + function isModuleDeclaration(node: Node): node is ModuleDeclaration; + function isModuleBlock(node: Node): node is ModuleBlock; + function isCaseBlock(node: Node): node is CaseBlock; + function isNamespaceExportDeclaration(node: Node): node is NamespaceExportDeclaration; + function isImportEqualsDeclaration(node: Node): node is ImportEqualsDeclaration; + function isImportDeclaration(node: Node): node is ImportDeclaration; + function isImportClause(node: Node): node is ImportClause; + function isNamespaceImport(node: Node): node is NamespaceImport; + function isNamedImports(node: Node): node is NamedImports; + function isImportSpecifier(node: Node): node is ImportSpecifier; + function isExportAssignment(node: Node): node is ExportAssignment; + function isExportDeclaration(node: Node): node is ExportDeclaration; + function isNamedExports(node: Node): node is NamedExports; + function isExportSpecifier(node: Node): node is ExportSpecifier; + function isMissingDeclaration(node: Node): node is MissingDeclaration; + function isExternalModuleReference(node: Node): node is ExternalModuleReference; + function isJsxElement(node: Node): node is JsxElement; + function isJsxSelfClosingElement(node: Node): node is JsxSelfClosingElement; + function isJsxOpeningElement(node: Node): node is JsxOpeningElement; + function isJsxClosingElement(node: Node): node is JsxClosingElement; + function isJsxFragment(node: Node): node is JsxFragment; + function isJsxOpeningFragment(node: Node): node is JsxOpeningFragment; + function isJsxClosingFragment(node: Node): node is JsxClosingFragment; + function isJsxAttribute(node: Node): node is JsxAttribute; + function isJsxAttributes(node: Node): node is JsxAttributes; + function isJsxSpreadAttribute(node: Node): node is JsxSpreadAttribute; + function isJsxExpression(node: Node): node is JsxExpression; + function isCaseClause(node: Node): node is CaseClause; + function isDefaultClause(node: Node): node is DefaultClause; + function isHeritageClause(node: Node): node is HeritageClause; + function isCatchClause(node: Node): node is CatchClause; + function isPropertyAssignment(node: Node): node is PropertyAssignment; + function isShorthandPropertyAssignment(node: Node): node is ShorthandPropertyAssignment; + function isSpreadAssignment(node: Node): node is SpreadAssignment; + function isEnumMember(node: Node): node is EnumMember; + function isSourceFile(node: Node): node is SourceFile; + function isBundle(node: Node): node is Bundle; + function isUnparsedSource(node: Node): node is UnparsedSource; + function isJSDocTypeExpression(node: Node): node is JSDocTypeExpression; + function isJSDocAllType(node: JSDocAllType): node is JSDocAllType; + function isJSDocUnknownType(node: Node): node is JSDocUnknownType; + function isJSDocNullableType(node: Node): node is JSDocNullableType; + function isJSDocNonNullableType(node: Node): node is JSDocNonNullableType; + function isJSDocOptionalType(node: Node): node is JSDocOptionalType; + function isJSDocFunctionType(node: Node): node is JSDocFunctionType; + function isJSDocVariadicType(node: Node): node is JSDocVariadicType; + function isJSDoc(node: Node): node is JSDoc; + function isJSDocAugmentsTag(node: Node): node is JSDocAugmentsTag; + function isJSDocClassTag(node: Node): node is JSDocClassTag; + function isJSDocEnumTag(node: Node): node is JSDocEnumTag; + function isJSDocThisTag(node: Node): node is JSDocThisTag; + function isJSDocParameterTag(node: Node): node is JSDocParameterTag; + function isJSDocReturnTag(node: Node): node is JSDocReturnTag; + function isJSDocTypeTag(node: Node): node is JSDocTypeTag; + function isJSDocTemplateTag(node: Node): node is JSDocTemplateTag; + function isJSDocTypedefTag(node: Node): node is JSDocTypedefTag; + function isJSDocPropertyTag(node: Node): node is JSDocPropertyTag; + function isJSDocPropertyLikeTag(node: Node): node is JSDocPropertyLikeTag; + function isJSDocTypeLiteral(node: Node): node is JSDocTypeLiteral; + function isJSDocCallbackTag(node: Node): node is JSDocCallbackTag; + function isJSDocSignature(node: Node): node is JSDocSignature; +} +declare namespace ts { + /** + * True if node is of some token syntax kind. + * For example, this is true for an IfKeyword but not for an IfStatement. + * Literals are considered tokens, except TemplateLiteral, but does include TemplateHead/Middle/Tail. + */ + function isToken(n: Node): boolean; + function isLiteralExpression(node: Node): node is LiteralExpression; + type TemplateLiteralToken = NoSubstitutionTemplateLiteral | TemplateHead | TemplateMiddle | TemplateTail; + function isTemplateLiteralToken(node: Node): node is TemplateLiteralToken; + function isTemplateMiddleOrTemplateTail(node: Node): node is TemplateMiddle | TemplateTail; + function isImportOrExportSpecifier(node: Node): node is ImportSpecifier | ExportSpecifier; + function isStringTextContainingNode(node: Node): node is StringLiteral | TemplateLiteralToken; + function isModifier(node: Node): node is Modifier; + function isEntityName(node: Node): node is EntityName; + function isPropertyName(node: Node): node is PropertyName; + function isBindingName(node: Node): node is BindingName; + function isFunctionLike(node: Node): node is SignatureDeclaration; + function isClassElement(node: Node): node is ClassElement; + function isClassLike(node: Node): node is ClassLikeDeclaration; + function isAccessor(node: Node): node is AccessorDeclaration; + function isTypeElement(node: Node): node is TypeElement; + function isClassOrTypeElement(node: Node): node is ClassElement | TypeElement; + function isObjectLiteralElementLike(node: Node): node is ObjectLiteralElementLike; + /** + * Node test that determines whether a node is a valid type node. + * This differs from the `isPartOfTypeNode` function which determines whether a node is *part* + * of a TypeNode. + */ + function isTypeNode(node: Node): node is TypeNode; + function isFunctionOrConstructorTypeNode(node: Node): node is FunctionTypeNode | ConstructorTypeNode; + function isPropertyAccessOrQualifiedName(node: Node): node is PropertyAccessExpression | QualifiedName; + function isCallLikeExpression(node: Node): node is CallLikeExpression; + function isCallOrNewExpression(node: Node): node is CallExpression | NewExpression; + function isTemplateLiteral(node: Node): node is TemplateLiteral; + function isAssertionExpression(node: Node): node is AssertionExpression; + function isIterationStatement(node: Node, lookInLabeledStatements: false): node is IterationStatement; + function isIterationStatement(node: Node, lookInLabeledStatements: boolean): node is IterationStatement | LabeledStatement; + function isJsxOpeningLikeElement(node: Node): node is JsxOpeningLikeElement; + function isCaseOrDefaultClause(node: Node): node is CaseOrDefaultClause; + /** True if node is of a kind that may contain comment text. */ + function isJSDocCommentContainingNode(node: Node): boolean; + function isSetAccessor(node: Node): node is SetAccessorDeclaration; + function isGetAccessor(node: Node): node is GetAccessorDeclaration; + function isObjectLiteralElement(node: Node): node is ObjectLiteralElement; + function isStringLiteralLike(node: Node): node is StringLiteralLike; +} +declare namespace ts { + function createNode(kind: SyntaxKind, pos?: number, end?: number): Node; + /** + * Invokes a callback for each child of the given node. The 'cbNode' callback is invoked for all child nodes + * stored in properties. If a 'cbNodes' callback is specified, it is invoked for embedded arrays; otherwise, + * embedded arrays are flattened and the 'cbNode' callback is invoked for each element. If a callback returns + * a truthy value, iteration stops and that value is returned. Otherwise, undefined is returned. + * + * @param node a given node to visit its children + * @param cbNode a callback to be invoked for all child nodes + * @param cbNodes a callback to be invoked for embedded array + * + * @remarks `forEachChild` must visit the children of a node in the order + * that they appear in the source code. The language service depends on this property to locate nodes by position. + */ + function forEachChild(node: Node, cbNode: (node: Node) => T | undefined, cbNodes?: (nodes: NodeArray) => T | undefined): T | undefined; + function createSourceFile(fileName: string, sourceText: string, languageVersion: ScriptTarget, setParentNodes?: boolean, scriptKind?: ScriptKind): SourceFile; + function parseIsolatedEntityName(text: string, languageVersion: ScriptTarget): EntityName | undefined; + /** + * Parse json text into SyntaxTree and return node and parse errors if any + * @param fileName + * @param sourceText + */ + function parseJsonText(fileName: string, sourceText: string): JsonSourceFile; + function isExternalModule(file: SourceFile): boolean; + function updateSourceFile(sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange, aggressiveChecks?: boolean): SourceFile; +} +declare namespace ts { + function parseCommandLine(commandLine: ReadonlyArray, readFile?: (path: string) => string | undefined): ParsedCommandLine; + type DiagnosticReporter = (diagnostic: Diagnostic) => void; + /** + * Reports config file diagnostics + */ + interface ConfigFileDiagnosticsReporter { + /** + * Reports unrecoverable error when parsing config file + */ + onUnRecoverableConfigFileDiagnostic: DiagnosticReporter; + } + /** + * Interface extending ParseConfigHost to support ParseConfigFile that reads config file and reports errors + */ + interface ParseConfigFileHost extends ParseConfigHost, ConfigFileDiagnosticsReporter { + getCurrentDirectory(): string; + } + /** + * Reads the config file, reports errors if any and exits if the config file cannot be found + */ + function getParsedCommandLineOfConfigFile(configFileName: string, optionsToExtend: CompilerOptions, host: ParseConfigFileHost): ParsedCommandLine | undefined; + /** + * Read tsconfig.json file + * @param fileName The path to the config file + */ + function readConfigFile(fileName: string, readFile: (path: string) => string | undefined): { + config?: any; + error?: Diagnostic; + }; + /** + * Parse the text of the tsconfig.json file + * @param fileName The path to the config file + * @param jsonText The text of the config file + */ + function parseConfigFileTextToJson(fileName: string, jsonText: string): { + config?: any; + error?: Diagnostic; + }; + /** + * Read tsconfig.json file + * @param fileName The path to the config file + */ + function readJsonConfigFile(fileName: string, readFile: (path: string) => string | undefined): TsConfigSourceFile; + /** + * Convert the json syntax tree into the json value + */ + function convertToObject(sourceFile: JsonSourceFile, errors: Push): any; + /** + * Parse the contents of a config file (tsconfig.json). + * @param json The contents of the config file to parse + * @param host Instance of ParseConfigHost used to enumerate files in folder. + * @param basePath A root directory to resolve relative path entries in the config + * file to. e.g. outDir + */ + function parseJsonConfigFileContent(json: any, host: ParseConfigHost, basePath: string, existingOptions?: CompilerOptions, configFileName?: string, resolutionStack?: Path[], extraFileExtensions?: ReadonlyArray): ParsedCommandLine; + /** + * Parse the contents of a config file (tsconfig.json). + * @param jsonNode The contents of the config file to parse + * @param host Instance of ParseConfigHost used to enumerate files in folder. + * @param basePath A root directory to resolve relative path entries in the config + * file to. e.g. outDir + */ + function parseJsonSourceFileConfigFileContent(sourceFile: TsConfigSourceFile, host: ParseConfigHost, basePath: string, existingOptions?: CompilerOptions, configFileName?: string, resolutionStack?: Path[], extraFileExtensions?: ReadonlyArray): ParsedCommandLine; + function convertCompilerOptionsFromJson(jsonOptions: any, basePath: string, configFileName?: string): { + options: CompilerOptions; + errors: Diagnostic[]; + }; + function convertTypeAcquisitionFromJson(jsonOptions: any, basePath: string, configFileName?: string): { + options: TypeAcquisition; + errors: Diagnostic[]; + }; +} +declare namespace ts { + function getEffectiveTypeRoots(options: CompilerOptions, host: GetEffectiveTypeRootsHost): string[] | undefined; + /** + * @param {string | undefined} containingFile - file that contains type reference directive, can be undefined if containing file is unknown. + * This is possible in case if resolution is performed for directives specified via 'types' parameter. In this case initial path for secondary lookups + * is assumed to be the same as root directory of the project. + */ + function resolveTypeReferenceDirective(typeReferenceDirectiveName: string, containingFile: string | undefined, options: CompilerOptions, host: ModuleResolutionHost, redirectedReference?: ResolvedProjectReference): ResolvedTypeReferenceDirectiveWithFailedLookupLocations; + /** + * Given a set of options, returns the set of type directive names + * that should be included for this program automatically. + * This list could either come from the config file, + * or from enumerating the types root + initial secondary types lookup location. + * More type directives might appear in the program later as a result of loading actual source files; + * this list is only the set of defaults that are implicitly included. + */ + function getAutomaticTypeDirectiveNames(options: CompilerOptions, host: ModuleResolutionHost): string[]; + /** + * Cached module resolutions per containing directory. + * This assumes that any module id will have the same resolution for sibling files located in the same folder. + */ + interface ModuleResolutionCache extends NonRelativeModuleNameResolutionCache { + getOrCreateCacheForDirectory(directoryName: string, redirectedReference?: ResolvedProjectReference): Map; + } + /** + * Stored map from non-relative module name to a table: directory -> result of module lookup in this directory + * We support only non-relative module names because resolution of relative module names is usually more deterministic and thus less expensive. + */ + interface NonRelativeModuleNameResolutionCache { + getOrCreateCacheForModuleName(nonRelativeModuleName: string, redirectedReference?: ResolvedProjectReference): PerModuleNameCache; + } + interface PerModuleNameCache { + get(directory: string): ResolvedModuleWithFailedLookupLocations | undefined; + set(directory: string, result: ResolvedModuleWithFailedLookupLocations): void; + } + function createModuleResolutionCache(currentDirectory: string, getCanonicalFileName: (s: string) => string): ModuleResolutionCache; + function resolveModuleNameFromCache(moduleName: string, containingFile: string, cache: ModuleResolutionCache): ResolvedModuleWithFailedLookupLocations | undefined; + function resolveModuleName(moduleName: string, containingFile: string, compilerOptions: CompilerOptions, host: ModuleResolutionHost, cache?: ModuleResolutionCache, redirectedReference?: ResolvedProjectReference): ResolvedModuleWithFailedLookupLocations; + function nodeModuleNameResolver(moduleName: string, containingFile: string, compilerOptions: CompilerOptions, host: ModuleResolutionHost, cache?: ModuleResolutionCache, redirectedReference?: ResolvedProjectReference): ResolvedModuleWithFailedLookupLocations; + function classicNameResolver(moduleName: string, containingFile: string, compilerOptions: CompilerOptions, host: ModuleResolutionHost, cache?: NonRelativeModuleNameResolutionCache, redirectedReference?: ResolvedProjectReference): ResolvedModuleWithFailedLookupLocations; +} +declare namespace ts { + function createNodeArray(elements?: ReadonlyArray, hasTrailingComma?: boolean): NodeArray; + /** If a node is passed, creates a string literal whose source text is read from a source node during emit. */ + function createLiteral(value: string | StringLiteral | NoSubstitutionTemplateLiteral | NumericLiteral | Identifier): StringLiteral; + function createLiteral(value: number | PseudoBigInt): NumericLiteral; + function createLiteral(value: boolean): BooleanLiteral; + function createLiteral(value: string | number | PseudoBigInt | boolean): PrimaryExpression; + function createNumericLiteral(value: string): NumericLiteral; + function createBigIntLiteral(value: string): BigIntLiteral; + function createStringLiteral(text: string): StringLiteral; + function createRegularExpressionLiteral(text: string): RegularExpressionLiteral; + function createIdentifier(text: string): Identifier; + function updateIdentifier(node: Identifier): Identifier; + /** Create a unique temporary variable. */ + function createTempVariable(recordTempVariable: ((node: Identifier) => void) | undefined): Identifier; + /** Create a unique temporary variable for use in a loop. */ + function createLoopVariable(): Identifier; + /** Create a unique name based on the supplied text. */ + function createUniqueName(text: string): Identifier; + /** Create a unique name based on the supplied text. */ + function createOptimisticUniqueName(text: string): Identifier; + /** Create a unique name based on the supplied text. This does not consider names injected by the transformer. */ + function createFileLevelUniqueName(text: string): Identifier; + /** Create a unique name generated for a node. */ + function getGeneratedNameForNode(node: Node | undefined): Identifier; + function createToken(token: TKind): Token; + function createSuper(): SuperExpression; + function createThis(): ThisExpression & Token; + function createNull(): NullLiteral & Token; + function createTrue(): BooleanLiteral & Token; + function createFalse(): BooleanLiteral & Token; + function createModifier(kind: T): Token; + function createModifiersFromModifierFlags(flags: ModifierFlags): Modifier[]; + function createQualifiedName(left: EntityName, right: string | Identifier): QualifiedName; + function updateQualifiedName(node: QualifiedName, left: EntityName, right: Identifier): QualifiedName; + function createComputedPropertyName(expression: Expression): ComputedPropertyName; + function updateComputedPropertyName(node: ComputedPropertyName, expression: Expression): ComputedPropertyName; + function createTypeParameterDeclaration(name: string | Identifier, constraint?: TypeNode, defaultType?: TypeNode): TypeParameterDeclaration; + function updateTypeParameterDeclaration(node: TypeParameterDeclaration, name: Identifier, constraint: TypeNode | undefined, defaultType: TypeNode | undefined): TypeParameterDeclaration; + function createParameter(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, dotDotDotToken: DotDotDotToken | undefined, name: string | BindingName, questionToken?: QuestionToken, type?: TypeNode, initializer?: Expression): ParameterDeclaration; + function updateParameter(node: ParameterDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, dotDotDotToken: DotDotDotToken | undefined, name: string | BindingName, questionToken: QuestionToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): ParameterDeclaration; + function createDecorator(expression: Expression): Decorator; + function updateDecorator(node: Decorator, expression: Expression): Decorator; + function createPropertySignature(modifiers: ReadonlyArray | undefined, name: PropertyName | string, questionToken: QuestionToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertySignature; + function updatePropertySignature(node: PropertySignature, modifiers: ReadonlyArray | undefined, name: PropertyName, questionToken: QuestionToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertySignature; + function createProperty(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | PropertyName, questionOrExclamationToken: QuestionToken | ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertyDeclaration; + function updateProperty(node: PropertyDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | PropertyName, questionOrExclamationToken: QuestionToken | ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertyDeclaration; + function createMethodSignature(typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, name: string | PropertyName, questionToken: QuestionToken | undefined): MethodSignature; + function updateMethodSignature(node: MethodSignature, typeParameters: NodeArray | undefined, parameters: NodeArray, type: TypeNode | undefined, name: PropertyName, questionToken: QuestionToken | undefined): MethodSignature; + function createMethod(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, asteriskToken: AsteriskToken | undefined, name: string | PropertyName, questionToken: QuestionToken | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, body: Block | undefined): MethodDeclaration; + function updateMethod(node: MethodDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, asteriskToken: AsteriskToken | undefined, name: PropertyName, questionToken: QuestionToken | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, body: Block | undefined): MethodDeclaration; + function createConstructor(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, parameters: ReadonlyArray, body: Block | undefined): ConstructorDeclaration; + function updateConstructor(node: ConstructorDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, parameters: ReadonlyArray, body: Block | undefined): ConstructorDeclaration; + function createGetAccessor(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | PropertyName, parameters: ReadonlyArray, type: TypeNode | undefined, body: Block | undefined): GetAccessorDeclaration; + function updateGetAccessor(node: GetAccessorDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: PropertyName, parameters: ReadonlyArray, type: TypeNode | undefined, body: Block | undefined): GetAccessorDeclaration; + function createSetAccessor(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | PropertyName, parameters: ReadonlyArray, body: Block | undefined): SetAccessorDeclaration; + function updateSetAccessor(node: SetAccessorDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: PropertyName, parameters: ReadonlyArray, body: Block | undefined): SetAccessorDeclaration; + function createCallSignature(typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined): CallSignatureDeclaration; + function updateCallSignature(node: CallSignatureDeclaration, typeParameters: NodeArray | undefined, parameters: NodeArray, type: TypeNode | undefined): CallSignatureDeclaration; + function createConstructSignature(typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined): ConstructSignatureDeclaration; + function updateConstructSignature(node: ConstructSignatureDeclaration, typeParameters: NodeArray | undefined, parameters: NodeArray, type: TypeNode | undefined): ConstructSignatureDeclaration; + function createIndexSignature(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode): IndexSignatureDeclaration; + function updateIndexSignature(node: IndexSignatureDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode): IndexSignatureDeclaration; + function createKeywordTypeNode(kind: KeywordTypeNode["kind"]): KeywordTypeNode; + function createTypePredicateNode(parameterName: Identifier | ThisTypeNode | string, type: TypeNode): TypePredicateNode; + function updateTypePredicateNode(node: TypePredicateNode, parameterName: Identifier | ThisTypeNode, type: TypeNode): TypePredicateNode; + function createTypeReferenceNode(typeName: string | EntityName, typeArguments: ReadonlyArray | undefined): TypeReferenceNode; + function updateTypeReferenceNode(node: TypeReferenceNode, typeName: EntityName, typeArguments: NodeArray | undefined): TypeReferenceNode; + function createFunctionTypeNode(typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined): FunctionTypeNode; + function updateFunctionTypeNode(node: FunctionTypeNode, typeParameters: NodeArray | undefined, parameters: NodeArray, type: TypeNode | undefined): FunctionTypeNode; + function createConstructorTypeNode(typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined): ConstructorTypeNode; + function updateConstructorTypeNode(node: ConstructorTypeNode, typeParameters: NodeArray | undefined, parameters: NodeArray, type: TypeNode | undefined): ConstructorTypeNode; + function createTypeQueryNode(exprName: EntityName): TypeQueryNode; + function updateTypeQueryNode(node: TypeQueryNode, exprName: EntityName): TypeQueryNode; + function createTypeLiteralNode(members: ReadonlyArray | undefined): TypeLiteralNode; + function updateTypeLiteralNode(node: TypeLiteralNode, members: NodeArray): TypeLiteralNode; + function createArrayTypeNode(elementType: TypeNode): ArrayTypeNode; + function updateArrayTypeNode(node: ArrayTypeNode, elementType: TypeNode): ArrayTypeNode; + function createTupleTypeNode(elementTypes: ReadonlyArray): TupleTypeNode; + function updateTupleTypeNode(node: TupleTypeNode, elementTypes: ReadonlyArray): TupleTypeNode; + function createOptionalTypeNode(type: TypeNode): OptionalTypeNode; + function updateOptionalTypeNode(node: OptionalTypeNode, type: TypeNode): OptionalTypeNode; + function createRestTypeNode(type: TypeNode): RestTypeNode; + function updateRestTypeNode(node: RestTypeNode, type: TypeNode): RestTypeNode; + function createUnionTypeNode(types: ReadonlyArray): UnionTypeNode; + function updateUnionTypeNode(node: UnionTypeNode, types: NodeArray): UnionTypeNode; + function createIntersectionTypeNode(types: ReadonlyArray): IntersectionTypeNode; + function updateIntersectionTypeNode(node: IntersectionTypeNode, types: NodeArray): IntersectionTypeNode; + function createUnionOrIntersectionTypeNode(kind: SyntaxKind.UnionType | SyntaxKind.IntersectionType, types: ReadonlyArray): UnionOrIntersectionTypeNode; + function createConditionalTypeNode(checkType: TypeNode, extendsType: TypeNode, trueType: TypeNode, falseType: TypeNode): ConditionalTypeNode; + function updateConditionalTypeNode(node: ConditionalTypeNode, checkType: TypeNode, extendsType: TypeNode, trueType: TypeNode, falseType: TypeNode): ConditionalTypeNode; + function createInferTypeNode(typeParameter: TypeParameterDeclaration): InferTypeNode; + function updateInferTypeNode(node: InferTypeNode, typeParameter: TypeParameterDeclaration): InferTypeNode; + function createImportTypeNode(argument: TypeNode, qualifier?: EntityName, typeArguments?: ReadonlyArray, isTypeOf?: boolean): ImportTypeNode; + function updateImportTypeNode(node: ImportTypeNode, argument: TypeNode, qualifier?: EntityName, typeArguments?: ReadonlyArray, isTypeOf?: boolean): ImportTypeNode; + function createParenthesizedType(type: TypeNode): ParenthesizedTypeNode; + function updateParenthesizedType(node: ParenthesizedTypeNode, type: TypeNode): ParenthesizedTypeNode; + function createThisTypeNode(): ThisTypeNode; + function createTypeOperatorNode(type: TypeNode): TypeOperatorNode; + function createTypeOperatorNode(operator: SyntaxKind.KeyOfKeyword | SyntaxKind.UniqueKeyword, type: TypeNode): TypeOperatorNode; + function updateTypeOperatorNode(node: TypeOperatorNode, type: TypeNode): TypeOperatorNode; + function createIndexedAccessTypeNode(objectType: TypeNode, indexType: TypeNode): IndexedAccessTypeNode; + function updateIndexedAccessTypeNode(node: IndexedAccessTypeNode, objectType: TypeNode, indexType: TypeNode): IndexedAccessTypeNode; + function createMappedTypeNode(readonlyToken: ReadonlyToken | PlusToken | MinusToken | undefined, typeParameter: TypeParameterDeclaration, questionToken: QuestionToken | PlusToken | MinusToken | undefined, type: TypeNode | undefined): MappedTypeNode; + function updateMappedTypeNode(node: MappedTypeNode, readonlyToken: ReadonlyToken | PlusToken | MinusToken | undefined, typeParameter: TypeParameterDeclaration, questionToken: QuestionToken | PlusToken | MinusToken | undefined, type: TypeNode | undefined): MappedTypeNode; + function createLiteralTypeNode(literal: LiteralTypeNode["literal"]): LiteralTypeNode; + function updateLiteralTypeNode(node: LiteralTypeNode, literal: LiteralTypeNode["literal"]): LiteralTypeNode; + function createObjectBindingPattern(elements: ReadonlyArray): ObjectBindingPattern; + function updateObjectBindingPattern(node: ObjectBindingPattern, elements: ReadonlyArray): ObjectBindingPattern; + function createArrayBindingPattern(elements: ReadonlyArray): ArrayBindingPattern; + function updateArrayBindingPattern(node: ArrayBindingPattern, elements: ReadonlyArray): ArrayBindingPattern; + function createBindingElement(dotDotDotToken: DotDotDotToken | undefined, propertyName: string | PropertyName | undefined, name: string | BindingName, initializer?: Expression): BindingElement; + function updateBindingElement(node: BindingElement, dotDotDotToken: DotDotDotToken | undefined, propertyName: PropertyName | undefined, name: BindingName, initializer: Expression | undefined): BindingElement; + function createArrayLiteral(elements?: ReadonlyArray, multiLine?: boolean): ArrayLiteralExpression; + function updateArrayLiteral(node: ArrayLiteralExpression, elements: ReadonlyArray): ArrayLiteralExpression; + function createObjectLiteral(properties?: ReadonlyArray, multiLine?: boolean): ObjectLiteralExpression; + function updateObjectLiteral(node: ObjectLiteralExpression, properties: ReadonlyArray): ObjectLiteralExpression; + function createPropertyAccess(expression: Expression, name: string | Identifier | undefined): PropertyAccessExpression; + function updatePropertyAccess(node: PropertyAccessExpression, expression: Expression, name: Identifier): PropertyAccessExpression; + function createElementAccess(expression: Expression, index: number | Expression): ElementAccessExpression; + function updateElementAccess(node: ElementAccessExpression, expression: Expression, argumentExpression: Expression): ElementAccessExpression; + function createCall(expression: Expression, typeArguments: ReadonlyArray | undefined, argumentsArray: ReadonlyArray | undefined): CallExpression; + function updateCall(node: CallExpression, expression: Expression, typeArguments: ReadonlyArray | undefined, argumentsArray: ReadonlyArray): CallExpression; + function createNew(expression: Expression, typeArguments: ReadonlyArray | undefined, argumentsArray: ReadonlyArray | undefined): NewExpression; + function updateNew(node: NewExpression, expression: Expression, typeArguments: ReadonlyArray | undefined, argumentsArray: ReadonlyArray | undefined): NewExpression; + /** @deprecated */ function createTaggedTemplate(tag: Expression, template: TemplateLiteral): TaggedTemplateExpression; + function createTaggedTemplate(tag: Expression, typeArguments: ReadonlyArray | undefined, template: TemplateLiteral): TaggedTemplateExpression; + /** @deprecated */ function updateTaggedTemplate(node: TaggedTemplateExpression, tag: Expression, template: TemplateLiteral): TaggedTemplateExpression; + function updateTaggedTemplate(node: TaggedTemplateExpression, tag: Expression, typeArguments: ReadonlyArray | undefined, template: TemplateLiteral): TaggedTemplateExpression; + function createTypeAssertion(type: TypeNode, expression: Expression): TypeAssertion; + function updateTypeAssertion(node: TypeAssertion, type: TypeNode, expression: Expression): TypeAssertion; + function createParen(expression: Expression): ParenthesizedExpression; + function updateParen(node: ParenthesizedExpression, expression: Expression): ParenthesizedExpression; + function createFunctionExpression(modifiers: ReadonlyArray | undefined, asteriskToken: AsteriskToken | undefined, name: string | Identifier | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray | undefined, type: TypeNode | undefined, body: Block): FunctionExpression; + function updateFunctionExpression(node: FunctionExpression, modifiers: ReadonlyArray | undefined, asteriskToken: AsteriskToken | undefined, name: Identifier | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, body: Block): FunctionExpression; + function createArrowFunction(modifiers: ReadonlyArray | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, equalsGreaterThanToken: EqualsGreaterThanToken | undefined, body: ConciseBody): ArrowFunction; + function updateArrowFunction(node: ArrowFunction, modifiers: ReadonlyArray | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, equalsGreaterThanToken: Token, body: ConciseBody): ArrowFunction; + function createDelete(expression: Expression): DeleteExpression; + function updateDelete(node: DeleteExpression, expression: Expression): DeleteExpression; + function createTypeOf(expression: Expression): TypeOfExpression; + function updateTypeOf(node: TypeOfExpression, expression: Expression): TypeOfExpression; + function createVoid(expression: Expression): VoidExpression; + function updateVoid(node: VoidExpression, expression: Expression): VoidExpression; + function createAwait(expression: Expression): AwaitExpression; + function updateAwait(node: AwaitExpression, expression: Expression): AwaitExpression; + function createPrefix(operator: PrefixUnaryOperator, operand: Expression): PrefixUnaryExpression; + function updatePrefix(node: PrefixUnaryExpression, operand: Expression): PrefixUnaryExpression; + function createPostfix(operand: Expression, operator: PostfixUnaryOperator): PostfixUnaryExpression; + function updatePostfix(node: PostfixUnaryExpression, operand: Expression): PostfixUnaryExpression; + function createBinary(left: Expression, operator: BinaryOperator | BinaryOperatorToken, right: Expression): BinaryExpression; + function updateBinary(node: BinaryExpression, left: Expression, right: Expression, operator?: BinaryOperator | BinaryOperatorToken): BinaryExpression; + /** @deprecated */ function createConditional(condition: Expression, whenTrue: Expression, whenFalse: Expression): ConditionalExpression; + function createConditional(condition: Expression, questionToken: QuestionToken, whenTrue: Expression, colonToken: ColonToken, whenFalse: Expression): ConditionalExpression; + function updateConditional(node: ConditionalExpression, condition: Expression, questionToken: Token, whenTrue: Expression, colonToken: Token, whenFalse: Expression): ConditionalExpression; + function createTemplateExpression(head: TemplateHead, templateSpans: ReadonlyArray): TemplateExpression; + function updateTemplateExpression(node: TemplateExpression, head: TemplateHead, templateSpans: ReadonlyArray): TemplateExpression; + function createTemplateHead(text: string): TemplateHead; + function createTemplateMiddle(text: string): TemplateMiddle; + function createTemplateTail(text: string): TemplateTail; + function createNoSubstitutionTemplateLiteral(text: string): NoSubstitutionTemplateLiteral; + function createYield(expression?: Expression): YieldExpression; + function createYield(asteriskToken: AsteriskToken | undefined, expression: Expression): YieldExpression; + function updateYield(node: YieldExpression, asteriskToken: AsteriskToken | undefined, expression: Expression): YieldExpression; + function createSpread(expression: Expression): SpreadElement; + function updateSpread(node: SpreadElement, expression: Expression): SpreadElement; + function createClassExpression(modifiers: ReadonlyArray | undefined, name: string | Identifier | undefined, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray | undefined, members: ReadonlyArray): ClassExpression; + function updateClassExpression(node: ClassExpression, modifiers: ReadonlyArray | undefined, name: Identifier | undefined, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray | undefined, members: ReadonlyArray): ClassExpression; + function createOmittedExpression(): OmittedExpression; + function createExpressionWithTypeArguments(typeArguments: ReadonlyArray | undefined, expression: Expression): ExpressionWithTypeArguments; + function updateExpressionWithTypeArguments(node: ExpressionWithTypeArguments, typeArguments: ReadonlyArray | undefined, expression: Expression): ExpressionWithTypeArguments; + function createAsExpression(expression: Expression, type: TypeNode): AsExpression; + function updateAsExpression(node: AsExpression, expression: Expression, type: TypeNode): AsExpression; + function createNonNullExpression(expression: Expression): NonNullExpression; + function updateNonNullExpression(node: NonNullExpression, expression: Expression): NonNullExpression; + function createMetaProperty(keywordToken: MetaProperty["keywordToken"], name: Identifier): MetaProperty; + function updateMetaProperty(node: MetaProperty, name: Identifier): MetaProperty; + function createTemplateSpan(expression: Expression, literal: TemplateMiddle | TemplateTail): TemplateSpan; + function updateTemplateSpan(node: TemplateSpan, expression: Expression, literal: TemplateMiddle | TemplateTail): TemplateSpan; + function createSemicolonClassElement(): SemicolonClassElement; + function createBlock(statements: ReadonlyArray, multiLine?: boolean): Block; + function updateBlock(node: Block, statements: ReadonlyArray): Block; + function createVariableStatement(modifiers: ReadonlyArray | undefined, declarationList: VariableDeclarationList | ReadonlyArray): VariableStatement; + function updateVariableStatement(node: VariableStatement, modifiers: ReadonlyArray | undefined, declarationList: VariableDeclarationList): VariableStatement; + function createEmptyStatement(): EmptyStatement; + function createExpressionStatement(expression: Expression): ExpressionStatement; + function updateExpressionStatement(node: ExpressionStatement, expression: Expression): ExpressionStatement; + /** @deprecated Use `createExpressionStatement` instead. */ + const createStatement: typeof createExpressionStatement; + /** @deprecated Use `updateExpressionStatement` instead. */ + const updateStatement: typeof updateExpressionStatement; + function createIf(expression: Expression, thenStatement: Statement, elseStatement?: Statement): IfStatement; + function updateIf(node: IfStatement, expression: Expression, thenStatement: Statement, elseStatement: Statement | undefined): IfStatement; + function createDo(statement: Statement, expression: Expression): DoStatement; + function updateDo(node: DoStatement, statement: Statement, expression: Expression): DoStatement; + function createWhile(expression: Expression, statement: Statement): WhileStatement; + function updateWhile(node: WhileStatement, expression: Expression, statement: Statement): WhileStatement; + function createFor(initializer: ForInitializer | undefined, condition: Expression | undefined, incrementor: Expression | undefined, statement: Statement): ForStatement; + function updateFor(node: ForStatement, initializer: ForInitializer | undefined, condition: Expression | undefined, incrementor: Expression | undefined, statement: Statement): ForStatement; + function createForIn(initializer: ForInitializer, expression: Expression, statement: Statement): ForInStatement; + function updateForIn(node: ForInStatement, initializer: ForInitializer, expression: Expression, statement: Statement): ForInStatement; + function createForOf(awaitModifier: AwaitKeywordToken | undefined, initializer: ForInitializer, expression: Expression, statement: Statement): ForOfStatement; + function updateForOf(node: ForOfStatement, awaitModifier: AwaitKeywordToken | undefined, initializer: ForInitializer, expression: Expression, statement: Statement): ForOfStatement; + function createContinue(label?: string | Identifier): ContinueStatement; + function updateContinue(node: ContinueStatement, label: Identifier | undefined): ContinueStatement; + function createBreak(label?: string | Identifier): BreakStatement; + function updateBreak(node: BreakStatement, label: Identifier | undefined): BreakStatement; + function createReturn(expression?: Expression): ReturnStatement; + function updateReturn(node: ReturnStatement, expression: Expression | undefined): ReturnStatement; + function createWith(expression: Expression, statement: Statement): WithStatement; + function updateWith(node: WithStatement, expression: Expression, statement: Statement): WithStatement; + function createSwitch(expression: Expression, caseBlock: CaseBlock): SwitchStatement; + function updateSwitch(node: SwitchStatement, expression: Expression, caseBlock: CaseBlock): SwitchStatement; + function createLabel(label: string | Identifier, statement: Statement): LabeledStatement; + function updateLabel(node: LabeledStatement, label: Identifier, statement: Statement): LabeledStatement; + function createThrow(expression: Expression): ThrowStatement; + function updateThrow(node: ThrowStatement, expression: Expression): ThrowStatement; + function createTry(tryBlock: Block, catchClause: CatchClause | undefined, finallyBlock: Block | undefined): TryStatement; + function updateTry(node: TryStatement, tryBlock: Block, catchClause: CatchClause | undefined, finallyBlock: Block | undefined): TryStatement; + function createDebuggerStatement(): DebuggerStatement; + function createVariableDeclaration(name: string | BindingName, type?: TypeNode, initializer?: Expression): VariableDeclaration; + function updateVariableDeclaration(node: VariableDeclaration, name: BindingName, type: TypeNode | undefined, initializer: Expression | undefined): VariableDeclaration; + function createVariableDeclarationList(declarations: ReadonlyArray, flags?: NodeFlags): VariableDeclarationList; + function updateVariableDeclarationList(node: VariableDeclarationList, declarations: ReadonlyArray): VariableDeclarationList; + function createFunctionDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, asteriskToken: AsteriskToken | undefined, name: string | Identifier | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, body: Block | undefined): FunctionDeclaration; + function updateFunctionDeclaration(node: FunctionDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, asteriskToken: AsteriskToken | undefined, name: Identifier | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, body: Block | undefined): FunctionDeclaration; + function createClassDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | Identifier | undefined, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray | undefined, members: ReadonlyArray): ClassDeclaration; + function updateClassDeclaration(node: ClassDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: Identifier | undefined, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray | undefined, members: ReadonlyArray): ClassDeclaration; + function createInterfaceDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | Identifier, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray | undefined, members: ReadonlyArray): InterfaceDeclaration; + function updateInterfaceDeclaration(node: InterfaceDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: Identifier, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray | undefined, members: ReadonlyArray): InterfaceDeclaration; + function createTypeAliasDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | Identifier, typeParameters: ReadonlyArray | undefined, type: TypeNode): TypeAliasDeclaration; + function updateTypeAliasDeclaration(node: TypeAliasDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: Identifier, typeParameters: ReadonlyArray | undefined, type: TypeNode): TypeAliasDeclaration; + function createEnumDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | Identifier, members: ReadonlyArray): EnumDeclaration; + function updateEnumDeclaration(node: EnumDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: Identifier, members: ReadonlyArray): EnumDeclaration; + function createModuleDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: ModuleName, body: ModuleBody | undefined, flags?: NodeFlags): ModuleDeclaration; + function updateModuleDeclaration(node: ModuleDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: ModuleName, body: ModuleBody | undefined): ModuleDeclaration; + function createModuleBlock(statements: ReadonlyArray): ModuleBlock; + function updateModuleBlock(node: ModuleBlock, statements: ReadonlyArray): ModuleBlock; + function createCaseBlock(clauses: ReadonlyArray): CaseBlock; + function updateCaseBlock(node: CaseBlock, clauses: ReadonlyArray): CaseBlock; + function createNamespaceExportDeclaration(name: string | Identifier): NamespaceExportDeclaration; + function updateNamespaceExportDeclaration(node: NamespaceExportDeclaration, name: Identifier): NamespaceExportDeclaration; + function createImportEqualsDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration; + function updateImportEqualsDeclaration(node: ImportEqualsDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration; + function createImportDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression): ImportDeclaration; + function updateImportDeclaration(node: ImportDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression): ImportDeclaration; + function createImportClause(name: Identifier | undefined, namedBindings: NamedImportBindings | undefined): ImportClause; + function updateImportClause(node: ImportClause, name: Identifier | undefined, namedBindings: NamedImportBindings | undefined): ImportClause; + function createNamespaceImport(name: Identifier): NamespaceImport; + function updateNamespaceImport(node: NamespaceImport, name: Identifier): NamespaceImport; + function createNamedImports(elements: ReadonlyArray): NamedImports; + function updateNamedImports(node: NamedImports, elements: ReadonlyArray): NamedImports; + function createImportSpecifier(propertyName: Identifier | undefined, name: Identifier): ImportSpecifier; + function updateImportSpecifier(node: ImportSpecifier, propertyName: Identifier | undefined, name: Identifier): ImportSpecifier; + function createExportAssignment(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, isExportEquals: boolean | undefined, expression: Expression): ExportAssignment; + function updateExportAssignment(node: ExportAssignment, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, expression: Expression): ExportAssignment; + function createExportDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, exportClause: NamedExports | undefined, moduleSpecifier?: Expression): ExportDeclaration; + function updateExportDeclaration(node: ExportDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, exportClause: NamedExports | undefined, moduleSpecifier: Expression | undefined): ExportDeclaration; + function createNamedExports(elements: ReadonlyArray): NamedExports; + function updateNamedExports(node: NamedExports, elements: ReadonlyArray): NamedExports; + function createExportSpecifier(propertyName: string | Identifier | undefined, name: string | Identifier): ExportSpecifier; + function updateExportSpecifier(node: ExportSpecifier, propertyName: Identifier | undefined, name: Identifier): ExportSpecifier; + function createExternalModuleReference(expression: Expression): ExternalModuleReference; + function updateExternalModuleReference(node: ExternalModuleReference, expression: Expression): ExternalModuleReference; + function createJsxElement(openingElement: JsxOpeningElement, children: ReadonlyArray, closingElement: JsxClosingElement): JsxElement; + function updateJsxElement(node: JsxElement, openingElement: JsxOpeningElement, children: ReadonlyArray, closingElement: JsxClosingElement): JsxElement; + function createJsxSelfClosingElement(tagName: JsxTagNameExpression, typeArguments: ReadonlyArray | undefined, attributes: JsxAttributes): JsxSelfClosingElement; + function updateJsxSelfClosingElement(node: JsxSelfClosingElement, tagName: JsxTagNameExpression, typeArguments: ReadonlyArray | undefined, attributes: JsxAttributes): JsxSelfClosingElement; + function createJsxOpeningElement(tagName: JsxTagNameExpression, typeArguments: ReadonlyArray | undefined, attributes: JsxAttributes): JsxOpeningElement; + function updateJsxOpeningElement(node: JsxOpeningElement, tagName: JsxTagNameExpression, typeArguments: ReadonlyArray | undefined, attributes: JsxAttributes): JsxOpeningElement; + function createJsxClosingElement(tagName: JsxTagNameExpression): JsxClosingElement; + function updateJsxClosingElement(node: JsxClosingElement, tagName: JsxTagNameExpression): JsxClosingElement; + function createJsxFragment(openingFragment: JsxOpeningFragment, children: ReadonlyArray, closingFragment: JsxClosingFragment): JsxFragment; + function updateJsxFragment(node: JsxFragment, openingFragment: JsxOpeningFragment, children: ReadonlyArray, closingFragment: JsxClosingFragment): JsxFragment; + function createJsxAttribute(name: Identifier, initializer: StringLiteral | JsxExpression): JsxAttribute; + function updateJsxAttribute(node: JsxAttribute, name: Identifier, initializer: StringLiteral | JsxExpression): JsxAttribute; + function createJsxAttributes(properties: ReadonlyArray): JsxAttributes; + function updateJsxAttributes(node: JsxAttributes, properties: ReadonlyArray): JsxAttributes; + function createJsxSpreadAttribute(expression: Expression): JsxSpreadAttribute; + function updateJsxSpreadAttribute(node: JsxSpreadAttribute, expression: Expression): JsxSpreadAttribute; + function createJsxExpression(dotDotDotToken: DotDotDotToken | undefined, expression: Expression | undefined): JsxExpression; + function updateJsxExpression(node: JsxExpression, expression: Expression | undefined): JsxExpression; + function createCaseClause(expression: Expression, statements: ReadonlyArray): CaseClause; + function updateCaseClause(node: CaseClause, expression: Expression, statements: ReadonlyArray): CaseClause; + function createDefaultClause(statements: ReadonlyArray): DefaultClause; + function updateDefaultClause(node: DefaultClause, statements: ReadonlyArray): DefaultClause; + function createHeritageClause(token: HeritageClause["token"], types: ReadonlyArray): HeritageClause; + function updateHeritageClause(node: HeritageClause, types: ReadonlyArray): HeritageClause; + function createCatchClause(variableDeclaration: string | VariableDeclaration | undefined, block: Block): CatchClause; + function updateCatchClause(node: CatchClause, variableDeclaration: VariableDeclaration | undefined, block: Block): CatchClause; + function createPropertyAssignment(name: string | PropertyName, initializer: Expression): PropertyAssignment; + function updatePropertyAssignment(node: PropertyAssignment, name: PropertyName, initializer: Expression): PropertyAssignment; + function createShorthandPropertyAssignment(name: string | Identifier, objectAssignmentInitializer?: Expression): ShorthandPropertyAssignment; + function updateShorthandPropertyAssignment(node: ShorthandPropertyAssignment, name: Identifier, objectAssignmentInitializer: Expression | undefined): ShorthandPropertyAssignment; + function createSpreadAssignment(expression: Expression): SpreadAssignment; + function updateSpreadAssignment(node: SpreadAssignment, expression: Expression): SpreadAssignment; + function createEnumMember(name: string | PropertyName, initializer?: Expression): EnumMember; + function updateEnumMember(node: EnumMember, name: PropertyName, initializer: Expression | undefined): EnumMember; + function updateSourceFileNode(node: SourceFile, statements: ReadonlyArray, isDeclarationFile?: boolean, referencedFiles?: SourceFile["referencedFiles"], typeReferences?: SourceFile["typeReferenceDirectives"], hasNoDefaultLib?: boolean, libReferences?: SourceFile["libReferenceDirectives"]): SourceFile; + /** + * Creates a shallow, memberwise clone of a node for mutation. + */ + function getMutableClone(node: T): T; + /** + * Creates a synthetic statement to act as a placeholder for a not-emitted statement in + * order to preserve comments. + * + * @param original The original statement. + */ + function createNotEmittedStatement(original: Node): NotEmittedStatement; + /** + * Creates a synthetic expression to act as a placeholder for a not-emitted expression in + * order to preserve comments or sourcemap positions. + * + * @param expression The inner expression to emit. + * @param original The original outer expression. + * @param location The location for the expression. Defaults to the positions from "original" if provided. + */ + function createPartiallyEmittedExpression(expression: Expression, original?: Node): PartiallyEmittedExpression; + function updatePartiallyEmittedExpression(node: PartiallyEmittedExpression, expression: Expression): PartiallyEmittedExpression; + function createCommaList(elements: ReadonlyArray): CommaListExpression; + function updateCommaList(node: CommaListExpression, elements: ReadonlyArray): CommaListExpression; + function createBundle(sourceFiles: ReadonlyArray, prepends?: ReadonlyArray): Bundle; + function createUnparsedSourceFile(text: string): UnparsedSource; + function createUnparsedSourceFile(text: string, mapPath: string | undefined, map: string | undefined): UnparsedSource; + function createInputFiles(javascript: string, declaration: string): InputFiles; + function createInputFiles(javascript: string, declaration: string, javascriptMapPath: string | undefined, javascriptMapText: string | undefined, declarationMapPath: string | undefined, declarationMapText: string | undefined): InputFiles; + function updateBundle(node: Bundle, sourceFiles: ReadonlyArray, prepends?: ReadonlyArray): Bundle; + function createImmediatelyInvokedFunctionExpression(statements: ReadonlyArray): CallExpression; + function createImmediatelyInvokedFunctionExpression(statements: ReadonlyArray, param: ParameterDeclaration, paramValue: Expression): CallExpression; + function createImmediatelyInvokedArrowFunction(statements: ReadonlyArray): CallExpression; + function createImmediatelyInvokedArrowFunction(statements: ReadonlyArray, param: ParameterDeclaration, paramValue: Expression): CallExpression; + function createComma(left: Expression, right: Expression): Expression; + function createLessThan(left: Expression, right: Expression): Expression; + function createAssignment(left: ObjectLiteralExpression | ArrayLiteralExpression, right: Expression): DestructuringAssignment; + function createAssignment(left: Expression, right: Expression): BinaryExpression; + function createStrictEquality(left: Expression, right: Expression): BinaryExpression; + function createStrictInequality(left: Expression, right: Expression): BinaryExpression; + function createAdd(left: Expression, right: Expression): BinaryExpression; + function createSubtract(left: Expression, right: Expression): BinaryExpression; + function createPostfixIncrement(operand: Expression): PostfixUnaryExpression; + function createLogicalAnd(left: Expression, right: Expression): BinaryExpression; + function createLogicalOr(left: Expression, right: Expression): BinaryExpression; + function createLogicalNot(operand: Expression): PrefixUnaryExpression; + function createVoidZero(): VoidExpression; + function createExportDefault(expression: Expression): ExportAssignment; + function createExternalModuleExport(exportName: Identifier): ExportDeclaration; + /** + * Clears any EmitNode entries from parse-tree nodes. + * @param sourceFile A source file. + */ + function disposeEmitNodes(sourceFile: SourceFile): void; + function setTextRange(range: T, location: TextRange | undefined): T; + /** + * Sets flags that control emit behavior of a node. + */ + function setEmitFlags(node: T, emitFlags: EmitFlags): T; + /** + * Gets a custom text range to use when emitting source maps. + */ + function getSourceMapRange(node: Node): SourceMapRange; + /** + * Sets a custom text range to use when emitting source maps. + */ + function setSourceMapRange(node: T, range: SourceMapRange | undefined): T; + /** + * Create an external source map source file reference + */ + function createSourceMapSource(fileName: string, text: string, skipTrivia?: (pos: number) => number): SourceMapSource; + /** + * Gets the TextRange to use for source maps for a token of a node. + */ + function getTokenSourceMapRange(node: Node, token: SyntaxKind): SourceMapRange | undefined; + /** + * Sets the TextRange to use for source maps for a token of a node. + */ + function setTokenSourceMapRange(node: T, token: SyntaxKind, range: SourceMapRange | undefined): T; + /** + * Gets a custom text range to use when emitting comments. + */ + function getCommentRange(node: Node): TextRange; + /** + * Sets a custom text range to use when emitting comments. + */ + function setCommentRange(node: T, range: TextRange): T; + function getSyntheticLeadingComments(node: Node): SynthesizedComment[] | undefined; + function setSyntheticLeadingComments(node: T, comments: SynthesizedComment[] | undefined): T; + function addSyntheticLeadingComment(node: T, kind: SyntaxKind.SingleLineCommentTrivia | SyntaxKind.MultiLineCommentTrivia, text: string, hasTrailingNewLine?: boolean): T; + function getSyntheticTrailingComments(node: Node): SynthesizedComment[] | undefined; + function setSyntheticTrailingComments(node: T, comments: SynthesizedComment[] | undefined): T; + function addSyntheticTrailingComment(node: T, kind: SyntaxKind.SingleLineCommentTrivia | SyntaxKind.MultiLineCommentTrivia, text: string, hasTrailingNewLine?: boolean): T; + function moveSyntheticComments(node: T, original: Node): T; + /** + * Gets the constant value to emit for an expression. + */ + function getConstantValue(node: PropertyAccessExpression | ElementAccessExpression): string | number | undefined; + /** + * Sets the constant value to emit for an expression. + */ + function setConstantValue(node: PropertyAccessExpression | ElementAccessExpression, value: string | number): PropertyAccessExpression | ElementAccessExpression; + /** + * Adds an EmitHelper to a node. + */ + function addEmitHelper(node: T, helper: EmitHelper): T; + /** + * Add EmitHelpers to a node. + */ + function addEmitHelpers(node: T, helpers: EmitHelper[] | undefined): T; + /** + * Removes an EmitHelper from a node. + */ + function removeEmitHelper(node: Node, helper: EmitHelper): boolean; + /** + * Gets the EmitHelpers of a node. + */ + function getEmitHelpers(node: Node): EmitHelper[] | undefined; + /** + * Moves matching emit helpers from a source node to a target node. + */ + function moveEmitHelpers(source: Node, target: Node, predicate: (helper: EmitHelper) => boolean): void; + function setOriginalNode(node: T, original: Node | undefined): T; +} +declare namespace ts { + /** + * Visits a Node using the supplied visitor, possibly returning a new Node in its place. + * + * @param node The Node to visit. + * @param visitor The callback used to visit the Node. + * @param test A callback to execute to verify the Node is valid. + * @param lift An optional callback to execute to lift a NodeArray into a valid Node. + */ + function visitNode(node: T | undefined, visitor: Visitor | undefined, test?: (node: Node) => boolean, lift?: (node: NodeArray) => T): T; + /** + * Visits a Node using the supplied visitor, possibly returning a new Node in its place. + * + * @param node The Node to visit. + * @param visitor The callback used to visit the Node. + * @param test A callback to execute to verify the Node is valid. + * @param lift An optional callback to execute to lift a NodeArray into a valid Node. + */ + function visitNode(node: T | undefined, visitor: Visitor | undefined, test?: (node: Node) => boolean, lift?: (node: NodeArray) => T): T | undefined; + /** + * Visits a NodeArray using the supplied visitor, possibly returning a new NodeArray in its place. + * + * @param nodes The NodeArray to visit. + * @param visitor The callback used to visit a Node. + * @param test A node test to execute for each node. + * @param start An optional value indicating the starting offset at which to start visiting. + * @param count An optional value indicating the maximum number of nodes to visit. + */ + function visitNodes(nodes: NodeArray | undefined, visitor: Visitor, test?: (node: Node) => boolean, start?: number, count?: number): NodeArray; + /** + * Visits a NodeArray using the supplied visitor, possibly returning a new NodeArray in its place. + * + * @param nodes The NodeArray to visit. + * @param visitor The callback used to visit a Node. + * @param test A node test to execute for each node. + * @param start An optional value indicating the starting offset at which to start visiting. + * @param count An optional value indicating the maximum number of nodes to visit. + */ + function visitNodes(nodes: NodeArray | undefined, visitor: Visitor, test?: (node: Node) => boolean, start?: number, count?: number): NodeArray | undefined; + /** + * Starts a new lexical environment and visits a statement list, ending the lexical environment + * and merging hoisted declarations upon completion. + */ + function visitLexicalEnvironment(statements: NodeArray, visitor: Visitor, context: TransformationContext, start?: number, ensureUseStrict?: boolean): NodeArray; + /** + * Starts a new lexical environment and visits a parameter list, suspending the lexical + * environment upon completion. + */ + function visitParameterList(nodes: NodeArray | undefined, visitor: Visitor, context: TransformationContext, nodesVisitor?: typeof visitNodes): NodeArray; + /** + * Resumes a suspended lexical environment and visits a function body, ending the lexical + * environment and merging hoisted declarations upon completion. + */ + function visitFunctionBody(node: FunctionBody, visitor: Visitor, context: TransformationContext): FunctionBody; + /** + * Resumes a suspended lexical environment and visits a function body, ending the lexical + * environment and merging hoisted declarations upon completion. + */ + function visitFunctionBody(node: FunctionBody | undefined, visitor: Visitor, context: TransformationContext): FunctionBody | undefined; + /** + * Resumes a suspended lexical environment and visits a concise body, ending the lexical + * environment and merging hoisted declarations upon completion. + */ + function visitFunctionBody(node: ConciseBody, visitor: Visitor, context: TransformationContext): ConciseBody; + /** + * Visits each child of a Node using the supplied visitor, possibly returning a new Node of the same kind in its place. + * + * @param node The Node whose children will be visited. + * @param visitor The callback used to visit each child. + * @param context A lexical environment context for the visitor. + */ + function visitEachChild(node: T, visitor: Visitor, context: TransformationContext): T; + /** + * Visits each child of a Node using the supplied visitor, possibly returning a new Node of the same kind in its place. + * + * @param node The Node whose children will be visited. + * @param visitor The callback used to visit each child. + * @param context A lexical environment context for the visitor. + */ + function visitEachChild(node: T | undefined, visitor: Visitor, context: TransformationContext, nodesVisitor?: typeof visitNodes, tokenVisitor?: Visitor): T | undefined; +} +declare namespace ts { + function createPrinter(printerOptions?: PrinterOptions, handlers?: PrintHandlers): Printer; +} +declare namespace ts { + function findConfigFile(searchPath: string, fileExists: (fileName: string) => boolean, configName?: string): string | undefined; + function resolveTripleslashReference(moduleName: string, containingFile: string): string; + function createCompilerHost(options: CompilerOptions, setParentNodes?: boolean): CompilerHost; + function getPreEmitDiagnostics(program: Program, sourceFile?: SourceFile, cancellationToken?: CancellationToken): ReadonlyArray; + interface FormatDiagnosticsHost { + getCurrentDirectory(): string; + getCanonicalFileName(fileName: string): string; + getNewLine(): string; + } + function formatDiagnostics(diagnostics: ReadonlyArray, host: FormatDiagnosticsHost): string; + function formatDiagnostic(diagnostic: Diagnostic, host: FormatDiagnosticsHost): string; + function formatDiagnosticsWithColorAndContext(diagnostics: ReadonlyArray, host: FormatDiagnosticsHost): string; + function flattenDiagnosticMessageText(messageText: string | DiagnosticMessageChain | undefined, newLine: string): string; + function getConfigFileParsingDiagnostics(configFileParseResult: ParsedCommandLine): ReadonlyArray; + /** + * Create a new 'Program' instance. A Program is an immutable collection of 'SourceFile's and a 'CompilerOptions' + * that represent a compilation unit. + * + * Creating a program proceeds from a set of root files, expanding the set of inputs by following imports and + * triple-slash-reference-path directives transitively. '@types' and triple-slash-reference-types are also pulled in. + * + * @param createProgramOptions - The options for creating a program. + * @returns A 'Program' object. + */ + function createProgram(createProgramOptions: CreateProgramOptions): Program; + /** + * Create a new 'Program' instance. A Program is an immutable collection of 'SourceFile's and a 'CompilerOptions' + * that represent a compilation unit. + * + * Creating a program proceeds from a set of root files, expanding the set of inputs by following imports and + * triple-slash-reference-path directives transitively. '@types' and triple-slash-reference-types are also pulled in. + * + * @param rootNames - A set of root files. + * @param options - The compiler options which should be used. + * @param host - The host interacts with the underlying file system. + * @param oldProgram - Reuses an old program structure. + * @param configFileParsingDiagnostics - error during config file parsing + * @returns A 'Program' object. + */ + function createProgram(rootNames: ReadonlyArray, options: CompilerOptions, host?: CompilerHost, oldProgram?: Program, configFileParsingDiagnostics?: ReadonlyArray): Program; + /** @deprecated */ interface ResolveProjectReferencePathHost { + fileExists(fileName: string): boolean; + } + /** + * Returns the target config filename of a project reference. + * Note: The file might not exist. + */ + function resolveProjectReferencePath(ref: ProjectReference): ResolvedConfigFileName; + /** @deprecated */ function resolveProjectReferencePath(host: ResolveProjectReferencePathHost, ref: ProjectReference): ResolvedConfigFileName; +} +declare namespace ts { + interface EmitOutput { + outputFiles: OutputFile[]; + emitSkipped: boolean; + } + interface OutputFile { + name: string; + writeByteOrderMark: boolean; + text: string; + } +} +declare namespace ts { + type AffectedFileResult = { + result: T; + affected: SourceFile | Program; + } | undefined; + interface BuilderProgramHost { + /** + * return true if file names are treated with case sensitivity + */ + useCaseSensitiveFileNames(): boolean; + /** + * If provided this would be used this hash instead of actual file shape text for detecting changes + */ + createHash?: (data: string) => string; + /** + * When emit or emitNextAffectedFile are called without writeFile, + * this callback if present would be used to write files + */ + writeFile?: WriteFileCallback; + } + /** + * Builder to manage the program state changes + */ + interface BuilderProgram { + /** + * Returns current program + */ + getProgram(): Program; + /** + * Get compiler options of the program + */ + getCompilerOptions(): CompilerOptions; + /** + * Get the source file in the program with file name + */ + getSourceFile(fileName: string): SourceFile | undefined; + /** + * Get a list of files in the program + */ + getSourceFiles(): ReadonlyArray; + /** + * Get the diagnostics for compiler options + */ + getOptionsDiagnostics(cancellationToken?: CancellationToken): ReadonlyArray; + /** + * Get the diagnostics that dont belong to any file + */ + getGlobalDiagnostics(cancellationToken?: CancellationToken): ReadonlyArray; + /** + * Get the diagnostics from config file parsing + */ + getConfigFileParsingDiagnostics(): ReadonlyArray; + /** + * Get the syntax diagnostics, for all source files if source file is not supplied + */ + getSyntacticDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): ReadonlyArray; + /** + * Get all the dependencies of the file + */ + getAllDependencies(sourceFile: SourceFile): ReadonlyArray; + /** + * Gets the semantic diagnostics from the program corresponding to this state of file (if provided) or whole program + * The semantic diagnostics are cached and managed here + * Note that it is assumed that when asked about semantic diagnostics through this API, + * the file has been taken out of affected files so it is safe to use cache or get from program and cache the diagnostics + * In case of SemanticDiagnosticsBuilderProgram if the source file is not provided, + * it will iterate through all the affected files, to ensure that cache stays valid and yet provide a way to get all semantic diagnostics + */ + getSemanticDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): ReadonlyArray; + /** + * Emits the JavaScript and declaration files. + * When targetSource file is specified, emits the files corresponding to that source file, + * otherwise for the whole program. + * In case of EmitAndSemanticDiagnosticsBuilderProgram, when targetSourceFile is specified, + * it is assumed that that file is handled from affected file list. If targetSourceFile is not specified, + * it will only emit all the affected files instead of whole program + * + * The first of writeFile if provided, writeFile of BuilderProgramHost if provided, writeFile of compiler host + * in that order would be used to write the files + */ + emit(targetSourceFile?: SourceFile, writeFile?: WriteFileCallback, cancellationToken?: CancellationToken, emitOnlyDtsFiles?: boolean, customTransformers?: CustomTransformers): EmitResult; + /** + * Get the current directory of the program + */ + getCurrentDirectory(): string; + } + /** + * The builder that caches the semantic diagnostics for the program and handles the changed files and affected files + */ + interface SemanticDiagnosticsBuilderProgram extends BuilderProgram { + /** + * Gets the semantic diagnostics from the program for the next affected file and caches it + * Returns undefined if the iteration is complete + */ + getSemanticDiagnosticsOfNextAffectedFile(cancellationToken?: CancellationToken, ignoreSourceFile?: (sourceFile: SourceFile) => boolean): AffectedFileResult>; + } + /** + * The builder that can handle the changes in program and iterate through changed file to emit the files + * The semantic diagnostics are cached per file and managed by clearing for the changed/affected files + */ + interface EmitAndSemanticDiagnosticsBuilderProgram extends BuilderProgram { + /** + * Emits the next affected file's emit result (EmitResult and sourceFiles emitted) or returns undefined if iteration is complete + * The first of writeFile if provided, writeFile of BuilderProgramHost if provided, writeFile of compiler host + * in that order would be used to write the files + */ + emitNextAffectedFile(writeFile?: WriteFileCallback, cancellationToken?: CancellationToken, emitOnlyDtsFiles?: boolean, customTransformers?: CustomTransformers): AffectedFileResult; + } + /** + * Create the builder to manage semantic diagnostics and cache them + */ + function createSemanticDiagnosticsBuilderProgram(newProgram: Program, host: BuilderProgramHost, oldProgram?: SemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): SemanticDiagnosticsBuilderProgram; + function createSemanticDiagnosticsBuilderProgram(rootNames: ReadonlyArray | undefined, options: CompilerOptions | undefined, host?: CompilerHost, oldProgram?: SemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray, projectReferences?: ReadonlyArray): SemanticDiagnosticsBuilderProgram; + /** + * Create the builder that can handle the changes in program and iterate through changed files + * to emit the those files and manage semantic diagnostics cache as well + */ + function createEmitAndSemanticDiagnosticsBuilderProgram(newProgram: Program, host: BuilderProgramHost, oldProgram?: EmitAndSemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): EmitAndSemanticDiagnosticsBuilderProgram; + function createEmitAndSemanticDiagnosticsBuilderProgram(rootNames: ReadonlyArray | undefined, options: CompilerOptions | undefined, host?: CompilerHost, oldProgram?: EmitAndSemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray, projectReferences?: ReadonlyArray): EmitAndSemanticDiagnosticsBuilderProgram; + /** + * Creates a builder thats just abstraction over program and can be used with watch + */ + function createAbstractBuilder(newProgram: Program, host: BuilderProgramHost, oldProgram?: BuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): BuilderProgram; + function createAbstractBuilder(rootNames: ReadonlyArray | undefined, options: CompilerOptions | undefined, host?: CompilerHost, oldProgram?: BuilderProgram, configFileParsingDiagnostics?: ReadonlyArray, projectReferences?: ReadonlyArray): BuilderProgram; +} +declare namespace ts { + type WatchStatusReporter = (diagnostic: Diagnostic, newLine: string, options: CompilerOptions) => void; + /** Create the program with rootNames and options, if they are undefined, oldProgram and new configFile diagnostics create new program */ + type CreateProgram = (rootNames: ReadonlyArray | undefined, options: CompilerOptions | undefined, host?: CompilerHost, oldProgram?: T, configFileParsingDiagnostics?: ReadonlyArray, projectReferences?: ReadonlyArray | undefined) => T; + /** Host that has watch functionality used in --watch mode */ + interface WatchHost { + /** If provided, called with Diagnostic message that informs about change in watch status */ + onWatchStatusChange?(diagnostic: Diagnostic, newLine: string, options: CompilerOptions): void; + /** Used to watch changes in source files, missing files needed to update the program or config file */ + watchFile(path: string, callback: FileWatcherCallback, pollingInterval?: number): FileWatcher; + /** Used to watch resolved module's failed lookup locations, config file specs, type roots where auto type reference directives are added */ + watchDirectory(path: string, callback: DirectoryWatcherCallback, recursive?: boolean): FileWatcher; + /** If provided, will be used to set delayed compilation, so that multiple changes in short span are compiled together */ + setTimeout?(callback: (...args: any[]) => void, ms: number, ...args: any[]): any; + /** If provided, will be used to reset existing delayed compilation */ + clearTimeout?(timeoutId: any): void; + } + interface WatchCompilerHost extends WatchHost { + /** + * Used to create the program when need for program creation or recreation detected + */ + createProgram: CreateProgram; + /** If provided, callback to invoke after every new program creation */ + afterProgramCreate?(program: T): void; + useCaseSensitiveFileNames(): boolean; + getNewLine(): string; + getCurrentDirectory(): string; + getDefaultLibFileName(options: CompilerOptions): string; + getDefaultLibLocation?(): string; + createHash?(data: string): string; + /** + * Use to check file presence for source files and + * if resolveModuleNames is not provided (complier is in charge of module resolution) then module files as well + */ + fileExists(path: string): boolean; + /** + * Use to read file text for source files and + * if resolveModuleNames is not provided (complier is in charge of module resolution) then module files as well + */ + readFile(path: string, encoding?: string): string | undefined; + /** If provided, used for module resolution as well as to handle directory structure */ + directoryExists?(path: string): boolean; + /** If provided, used in resolutions as well as handling directory structure */ + getDirectories?(path: string): string[]; + /** If provided, used to cache and handle directory structure modifications */ + readDirectory?(path: string, extensions?: ReadonlyArray, exclude?: ReadonlyArray, include?: ReadonlyArray, depth?: number): string[]; + /** Symbol links resolution */ + realpath?(path: string): string; + /** If provided would be used to write log about compilation */ + trace?(s: string): void; + /** If provided is used to get the environment variable */ + getEnvironmentVariable?(name: string): string | undefined; + /** If provided, used to resolve the module names, otherwise typescript's default module resolution */ + resolveModuleNames?(moduleNames: string[], containingFile: string, reusedNames?: string[], redirectedReference?: ResolvedProjectReference): (ResolvedModule | undefined)[]; + /** If provided, used to resolve type reference directives, otherwise typescript's default resolution */ + resolveTypeReferenceDirectives?(typeReferenceDirectiveNames: string[], containingFile: string, redirectedReference?: ResolvedProjectReference): (ResolvedTypeReferenceDirective | undefined)[]; + } + /** + * Host to create watch with root files and options + */ + interface WatchCompilerHostOfFilesAndCompilerOptions extends WatchCompilerHost { + /** root files to use to generate program */ + rootFiles: string[]; + /** Compiler options */ + options: CompilerOptions; + /** Project References */ + projectReferences?: ReadonlyArray; + } + /** + * Host to create watch with config file + */ + interface WatchCompilerHostOfConfigFile extends WatchCompilerHost, ConfigFileDiagnosticsReporter { + /** Name of the config file to compile */ + configFileName: string; + /** Options to extend */ + optionsToExtend?: CompilerOptions; + /** + * Used to generate source file names from the config file and its include, exclude, files rules + * and also to cache the directory stucture + */ + readDirectory(path: string, extensions?: ReadonlyArray, exclude?: ReadonlyArray, include?: ReadonlyArray, depth?: number): string[]; + } + interface Watch { + /** Synchronize with host and get updated program */ + getProgram(): T; + } + /** + * Creates the watch what generates program using the config file + */ + interface WatchOfConfigFile extends Watch { + } + /** + * Creates the watch that generates program using the root files and compiler options + */ + interface WatchOfFilesAndCompilerOptions extends Watch { + /** Updates the root files in the program, only if this is not config file compilation */ + updateRootFileNames(fileNames: string[]): void; + } + /** + * Create the watch compiler host for either configFile or fileNames and its options + */ + function createWatchCompilerHost(configFileName: string, optionsToExtend: CompilerOptions | undefined, system: System, createProgram?: CreateProgram, reportDiagnostic?: DiagnosticReporter, reportWatchStatus?: WatchStatusReporter): WatchCompilerHostOfConfigFile; + function createWatchCompilerHost(rootFiles: string[], options: CompilerOptions, system: System, createProgram?: CreateProgram, reportDiagnostic?: DiagnosticReporter, reportWatchStatus?: WatchStatusReporter, projectReferences?: ReadonlyArray): WatchCompilerHostOfFilesAndCompilerOptions; + /** + * Creates the watch from the host for root files and compiler options + */ + function createWatchProgram(host: WatchCompilerHostOfFilesAndCompilerOptions): WatchOfFilesAndCompilerOptions; + /** + * Creates the watch from the host for config file + */ + function createWatchProgram(host: WatchCompilerHostOfConfigFile): WatchOfConfigFile; +} +declare namespace ts.server { + type ActionSet = "action::set"; + type ActionInvalidate = "action::invalidate"; + type ActionPackageInstalled = "action::packageInstalled"; + type ActionValueInspected = "action::valueInspected"; + type EventTypesRegistry = "event::typesRegistry"; + type EventBeginInstallTypes = "event::beginInstallTypes"; + type EventEndInstallTypes = "event::endInstallTypes"; + type EventInitializationFailed = "event::initializationFailed"; + interface TypingInstallerResponse { + readonly kind: ActionSet | ActionInvalidate | EventTypesRegistry | ActionPackageInstalled | ActionValueInspected | EventBeginInstallTypes | EventEndInstallTypes | EventInitializationFailed; + } + interface TypingInstallerRequestWithProjectName { + readonly projectName: string; + } + interface DiscoverTypings extends TypingInstallerRequestWithProjectName { + readonly fileNames: string[]; + readonly projectRootPath: Path; + readonly compilerOptions: CompilerOptions; + readonly typeAcquisition: TypeAcquisition; + readonly unresolvedImports: SortedReadonlyArray; + readonly cachePath?: string; + readonly kind: "discover"; + } + interface CloseProject extends TypingInstallerRequestWithProjectName { + readonly kind: "closeProject"; + } + interface TypesRegistryRequest { + readonly kind: "typesRegistry"; + } + interface InstallPackageRequest extends TypingInstallerRequestWithProjectName { + readonly kind: "installPackage"; + readonly fileName: Path; + readonly packageName: string; + readonly projectRootPath: Path; + } + interface PackageInstalledResponse extends ProjectResponse { + readonly kind: ActionPackageInstalled; + readonly success: boolean; + readonly message: string; + } + interface InitializationFailedResponse extends TypingInstallerResponse { + readonly kind: EventInitializationFailed; + readonly message: string; + } + interface ProjectResponse extends TypingInstallerResponse { + readonly projectName: string; + } + interface InvalidateCachedTypings extends ProjectResponse { + readonly kind: ActionInvalidate; + } + interface InstallTypes extends ProjectResponse { + readonly kind: EventBeginInstallTypes | EventEndInstallTypes; + readonly eventId: number; + readonly typingsInstallerVersion: string; + readonly packagesToInstall: ReadonlyArray; + } + interface BeginInstallTypes extends InstallTypes { + readonly kind: EventBeginInstallTypes; + } + interface EndInstallTypes extends InstallTypes { + readonly kind: EventEndInstallTypes; + readonly installSuccess: boolean; + } + interface SetTypings extends ProjectResponse { + readonly typeAcquisition: TypeAcquisition; + readonly compilerOptions: CompilerOptions; + readonly typings: string[]; + readonly unresolvedImports: SortedReadonlyArray; + readonly kind: ActionSet; + } +} +declare namespace ts { + interface Node { + getSourceFile(): SourceFile; + getChildCount(sourceFile?: SourceFile): number; + getChildAt(index: number, sourceFile?: SourceFile): Node; + getChildren(sourceFile?: SourceFile): Node[]; + getStart(sourceFile?: SourceFile, includeJsDocComment?: boolean): number; + getFullStart(): number; + getEnd(): number; + getWidth(sourceFile?: SourceFileLike): number; + getFullWidth(): number; + getLeadingTriviaWidth(sourceFile?: SourceFile): number; + getFullText(sourceFile?: SourceFile): string; + getText(sourceFile?: SourceFile): string; + getFirstToken(sourceFile?: SourceFile): Node | undefined; + getLastToken(sourceFile?: SourceFile): Node | undefined; + forEachChild(cbNode: (node: Node) => T | undefined, cbNodeArray?: (nodes: NodeArray) => T | undefined): T | undefined; + } + interface Identifier { + readonly text: string; + } + interface Symbol { + readonly name: string; + getFlags(): SymbolFlags; + getEscapedName(): __String; + getName(): string; + getDeclarations(): Declaration[] | undefined; + getDocumentationComment(typeChecker: TypeChecker | undefined): SymbolDisplayPart[]; + getJsDocTags(): JSDocTagInfo[]; + } + interface Type { + getFlags(): TypeFlags; + getSymbol(): Symbol | undefined; + getProperties(): Symbol[]; + getProperty(propertyName: string): Symbol | undefined; + getApparentProperties(): Symbol[]; + getCallSignatures(): ReadonlyArray; + getConstructSignatures(): ReadonlyArray; + getStringIndexType(): Type | undefined; + getNumberIndexType(): Type | undefined; + getBaseTypes(): BaseType[] | undefined; + getNonNullableType(): Type; + getConstraint(): Type | undefined; + getDefault(): Type | undefined; + isUnion(): this is UnionType; + isIntersection(): this is IntersectionType; + isUnionOrIntersection(): this is UnionOrIntersectionType; + isLiteral(): this is LiteralType; + isStringLiteral(): this is StringLiteralType; + isNumberLiteral(): this is NumberLiteralType; + isTypeParameter(): this is TypeParameter; + isClassOrInterface(): this is InterfaceType; + isClass(): this is InterfaceType; + } + interface Signature { + getDeclaration(): SignatureDeclaration; + getTypeParameters(): TypeParameter[] | undefined; + getParameters(): Symbol[]; + getReturnType(): Type; + getDocumentationComment(typeChecker: TypeChecker | undefined): SymbolDisplayPart[]; + getJsDocTags(): JSDocTagInfo[]; + } + interface SourceFile { + getLineAndCharacterOfPosition(pos: number): LineAndCharacter; + getLineEndOfPosition(pos: number): number; + getLineStarts(): ReadonlyArray; + getPositionOfLineAndCharacter(line: number, character: number): number; + update(newText: string, textChangeRange: TextChangeRange): SourceFile; + } + interface SourceFileLike { + getLineAndCharacterOfPosition(pos: number): LineAndCharacter; + } + interface SourceMapSource { + getLineAndCharacterOfPosition(pos: number): LineAndCharacter; + } + /** + * Represents an immutable snapshot of a script at a specified time.Once acquired, the + * snapshot is observably immutable. i.e. the same calls with the same parameters will return + * the same values. + */ + interface IScriptSnapshot { + /** Gets a portion of the script snapshot specified by [start, end). */ + getText(start: number, end: number): string; + /** Gets the length of this script snapshot. */ + getLength(): number; + /** + * Gets the TextChangeRange that describe how the text changed between this text and + * an older version. This information is used by the incremental parser to determine + * what sections of the script need to be re-parsed. 'undefined' can be returned if the + * change range cannot be determined. However, in that case, incremental parsing will + * not happen and the entire document will be re - parsed. + */ + getChangeRange(oldSnapshot: IScriptSnapshot): TextChangeRange | undefined; + /** Releases all resources held by this script snapshot */ + dispose?(): void; + } + namespace ScriptSnapshot { + function fromString(text: string): IScriptSnapshot; + } + interface PreProcessedFileInfo { + referencedFiles: FileReference[]; + typeReferenceDirectives: FileReference[]; + libReferenceDirectives: FileReference[]; + importedFiles: FileReference[]; + ambientExternalModules?: string[]; + isLibFile: boolean; + } + interface HostCancellationToken { + isCancellationRequested(): boolean; + } + interface InstallPackageOptions { + fileName: Path; + packageName: string; + } + interface LanguageServiceHost extends GetEffectiveTypeRootsHost { + getCompilationSettings(): CompilerOptions; + getNewLine?(): string; + getProjectVersion?(): string; + getScriptFileNames(): string[]; + getScriptKind?(fileName: string): ScriptKind; + getScriptVersion(fileName: string): string; + getScriptSnapshot(fileName: string): IScriptSnapshot | undefined; + getProjectReferences?(): ReadonlyArray | undefined; + getLocalizedDiagnosticMessages?(): any; + getCancellationToken?(): HostCancellationToken; + getCurrentDirectory(): string; + getDefaultLibFileName(options: CompilerOptions): string; + log?(s: string): void; + trace?(s: string): void; + error?(s: string): void; + useCaseSensitiveFileNames?(): boolean; + readDirectory?(path: string, extensions?: ReadonlyArray, exclude?: ReadonlyArray, include?: ReadonlyArray, depth?: number): string[]; + readFile?(path: string, encoding?: string): string | undefined; + realpath?(path: string): string; + fileExists?(path: string): boolean; + getTypeRootsVersion?(): number; + resolveModuleNames?(moduleNames: string[], containingFile: string, reusedNames?: string[], redirectedReference?: ResolvedProjectReference): (ResolvedModule | undefined)[]; + getResolvedModuleWithFailedLookupLocationsFromCache?(modulename: string, containingFile: string): ResolvedModuleWithFailedLookupLocations | undefined; + resolveTypeReferenceDirectives?(typeDirectiveNames: string[], containingFile: string, redirectedReference?: ResolvedProjectReference): (ResolvedTypeReferenceDirective | undefined)[]; + getDirectories?(directoryName: string): string[]; + /** + * Gets a set of custom transformers to use during emit. + */ + getCustomTransformers?(): CustomTransformers | undefined; + isKnownTypesPackageName?(name: string): boolean; + installPackage?(options: InstallPackageOptions): Promise; + writeFile?(fileName: string, content: string): void; + } + type WithMetadata = T & { + metadata?: unknown; + }; + interface LanguageService { + cleanupSemanticCache(): void; + getSyntacticDiagnostics(fileName: string): DiagnosticWithLocation[]; + /** The first time this is called, it will return global diagnostics (no location). */ + getSemanticDiagnostics(fileName: string): Diagnostic[]; + getSuggestionDiagnostics(fileName: string): DiagnosticWithLocation[]; + getCompilerOptionsDiagnostics(): Diagnostic[]; + /** + * @deprecated Use getEncodedSyntacticClassifications instead. + */ + getSyntacticClassifications(fileName: string, span: TextSpan): ClassifiedSpan[]; + /** + * @deprecated Use getEncodedSemanticClassifications instead. + */ + getSemanticClassifications(fileName: string, span: TextSpan): ClassifiedSpan[]; + getEncodedSyntacticClassifications(fileName: string, span: TextSpan): Classifications; + getEncodedSemanticClassifications(fileName: string, span: TextSpan): Classifications; + getCompletionsAtPosition(fileName: string, position: number, options: GetCompletionsAtPositionOptions | undefined): WithMetadata | undefined; + getCompletionEntryDetails(fileName: string, position: number, name: string, formatOptions: FormatCodeOptions | FormatCodeSettings | undefined, source: string | undefined, preferences: UserPreferences | undefined): CompletionEntryDetails | undefined; + getCompletionEntrySymbol(fileName: string, position: number, name: string, source: string | undefined): Symbol | undefined; + getQuickInfoAtPosition(fileName: string, position: number): QuickInfo | undefined; + getNameOrDottedNameSpan(fileName: string, startPos: number, endPos: number): TextSpan | undefined; + getBreakpointStatementAtPosition(fileName: string, position: number): TextSpan | undefined; + getSignatureHelpItems(fileName: string, position: number, options: SignatureHelpItemsOptions | undefined): SignatureHelpItems | undefined; + getRenameInfo(fileName: string, position: number): RenameInfo; + findRenameLocations(fileName: string, position: number, findInStrings: boolean, findInComments: boolean): ReadonlyArray | undefined; + getDefinitionAtPosition(fileName: string, position: number): ReadonlyArray | undefined; + getDefinitionAndBoundSpan(fileName: string, position: number): DefinitionInfoAndBoundSpan | undefined; + getTypeDefinitionAtPosition(fileName: string, position: number): ReadonlyArray | undefined; + getImplementationAtPosition(fileName: string, position: number): ReadonlyArray | undefined; + getReferencesAtPosition(fileName: string, position: number): ReferenceEntry[] | undefined; + findReferences(fileName: string, position: number): ReferencedSymbol[] | undefined; + getDocumentHighlights(fileName: string, position: number, filesToSearch: string[]): DocumentHighlights[] | undefined; + /** @deprecated */ + getOccurrencesAtPosition(fileName: string, position: number): ReadonlyArray | undefined; + getNavigateToItems(searchValue: string, maxResultCount?: number, fileName?: string, excludeDtsFiles?: boolean): NavigateToItem[]; + getNavigationBarItems(fileName: string): NavigationBarItem[]; + getNavigationTree(fileName: string): NavigationTree; + getOutliningSpans(fileName: string): OutliningSpan[]; + getTodoComments(fileName: string, descriptors: TodoCommentDescriptor[]): TodoComment[]; + getBraceMatchingAtPosition(fileName: string, position: number): TextSpan[]; + getIndentationAtPosition(fileName: string, position: number, options: EditorOptions | EditorSettings): number; + getFormattingEditsForRange(fileName: string, start: number, end: number, options: FormatCodeOptions | FormatCodeSettings): TextChange[]; + getFormattingEditsForDocument(fileName: string, options: FormatCodeOptions | FormatCodeSettings): TextChange[]; + getFormattingEditsAfterKeystroke(fileName: string, position: number, key: string, options: FormatCodeOptions | FormatCodeSettings): TextChange[]; + getDocCommentTemplateAtPosition(fileName: string, position: number): TextInsertion | undefined; + isValidBraceCompletionAtPosition(fileName: string, position: number, openingBrace: number): boolean; + /** + * This will return a defined result if the position is after the `>` of the opening tag, or somewhere in the text, of a JSXElement with no closing tag. + * Editors should call this after `>` is typed. + */ + getJsxClosingTagAtPosition(fileName: string, position: number): JsxClosingTagInfo | undefined; + getSpanOfEnclosingComment(fileName: string, position: number, onlyMultiLine: boolean): TextSpan | undefined; + toLineColumnOffset?(fileName: string, position: number): LineAndCharacter; + getCodeFixesAtPosition(fileName: string, start: number, end: number, errorCodes: ReadonlyArray, formatOptions: FormatCodeSettings, preferences: UserPreferences): ReadonlyArray; + getCombinedCodeFix(scope: CombinedCodeFixScope, fixId: {}, formatOptions: FormatCodeSettings, preferences: UserPreferences): CombinedCodeActions; + applyCodeActionCommand(action: CodeActionCommand, formatSettings?: FormatCodeSettings): Promise; + applyCodeActionCommand(action: CodeActionCommand[], formatSettings?: FormatCodeSettings): Promise; + applyCodeActionCommand(action: CodeActionCommand | CodeActionCommand[], formatSettings?: FormatCodeSettings): Promise; + /** @deprecated `fileName` will be ignored */ + applyCodeActionCommand(fileName: string, action: CodeActionCommand): Promise; + /** @deprecated `fileName` will be ignored */ + applyCodeActionCommand(fileName: string, action: CodeActionCommand[]): Promise; + /** @deprecated `fileName` will be ignored */ + applyCodeActionCommand(fileName: string, action: CodeActionCommand | CodeActionCommand[]): Promise; + getApplicableRefactors(fileName: string, positionOrRange: number | TextRange, preferences: UserPreferences | undefined): ApplicableRefactorInfo[]; + getEditsForRefactor(fileName: string, formatOptions: FormatCodeSettings, positionOrRange: number | TextRange, refactorName: string, actionName: string, preferences: UserPreferences | undefined): RefactorEditInfo | undefined; + organizeImports(scope: OrganizeImportsScope, formatOptions: FormatCodeSettings, preferences: UserPreferences | undefined): ReadonlyArray; + getEditsForFileRename(oldFilePath: string, newFilePath: string, formatOptions: FormatCodeSettings, preferences: UserPreferences | undefined): ReadonlyArray; + getEmitOutput(fileName: string, emitOnlyDtsFiles?: boolean): EmitOutput; + getProgram(): Program | undefined; + dispose(): void; + } + interface JsxClosingTagInfo { + readonly newText: string; + } + interface CombinedCodeFixScope { + type: "file"; + fileName: string; + } + type OrganizeImportsScope = CombinedCodeFixScope; + type CompletionsTriggerCharacter = "." | '"' | "'" | "`" | "/" | "@" | "<"; + interface GetCompletionsAtPositionOptions extends UserPreferences { + /** + * If the editor is asking for completions because a certain character was typed + * (as opposed to when the user explicitly requested them) this should be set. + */ + triggerCharacter?: CompletionsTriggerCharacter; + /** @deprecated Use includeCompletionsForModuleExports */ + includeExternalModuleExports?: boolean; + /** @deprecated Use includeCompletionsWithInsertText */ + includeInsertTextCompletions?: boolean; + } + type SignatureHelpTriggerCharacter = "," | "(" | "<"; + type SignatureHelpRetriggerCharacter = SignatureHelpTriggerCharacter | ")"; + interface SignatureHelpItemsOptions { + triggerReason?: SignatureHelpTriggerReason; + } + type SignatureHelpTriggerReason = SignatureHelpInvokedReason | SignatureHelpCharacterTypedReason | SignatureHelpRetriggeredReason; + /** + * Signals that the user manually requested signature help. + * The language service will unconditionally attempt to provide a result. + */ + interface SignatureHelpInvokedReason { + kind: "invoked"; + triggerCharacter?: undefined; + } + /** + * Signals that the signature help request came from a user typing a character. + * Depending on the character and the syntactic context, the request may or may not be served a result. + */ + interface SignatureHelpCharacterTypedReason { + kind: "characterTyped"; + /** + * Character that was responsible for triggering signature help. + */ + triggerCharacter: SignatureHelpTriggerCharacter; + } + /** + * Signals that this signature help request came from typing a character or moving the cursor. + * This should only occur if a signature help session was already active and the editor needs to see if it should adjust. + * The language service will unconditionally attempt to provide a result. + * `triggerCharacter` can be `undefined` for a retrigger caused by a cursor move. + */ + interface SignatureHelpRetriggeredReason { + kind: "retrigger"; + /** + * Character that was responsible for triggering signature help. + */ + triggerCharacter?: SignatureHelpRetriggerCharacter; + } + interface ApplyCodeActionCommandResult { + successMessage: string; + } + interface Classifications { + spans: number[]; + endOfLineState: EndOfLineState; + } + interface ClassifiedSpan { + textSpan: TextSpan; + classificationType: ClassificationTypeNames; + } + /** + * Navigation bar interface designed for visual studio's dual-column layout. + * This does not form a proper tree. + * The navbar is returned as a list of top-level items, each of which has a list of child items. + * Child items always have an empty array for their `childItems`. + */ + interface NavigationBarItem { + text: string; + kind: ScriptElementKind; + kindModifiers: string; + spans: TextSpan[]; + childItems: NavigationBarItem[]; + indent: number; + bolded: boolean; + grayed: boolean; + } + /** + * Node in a tree of nested declarations in a file. + * The top node is always a script or module node. + */ + interface NavigationTree { + /** Name of the declaration, or a short description, e.g. "". */ + text: string; + kind: ScriptElementKind; + /** ScriptElementKindModifier separated by commas, e.g. "public,abstract" */ + kindModifiers: string; + /** + * Spans of the nodes that generated this declaration. + * There will be more than one if this is the result of merging. + */ + spans: TextSpan[]; + nameSpan: TextSpan | undefined; + /** Present if non-empty */ + childItems?: NavigationTree[]; + } + interface TodoCommentDescriptor { + text: string; + priority: number; + } + interface TodoComment { + descriptor: TodoCommentDescriptor; + message: string; + position: number; + } + interface TextChange { + span: TextSpan; + newText: string; + } + interface FileTextChanges { + fileName: string; + textChanges: TextChange[]; + isNewFile?: boolean; + } + interface CodeAction { + /** Description of the code action to display in the UI of the editor */ + description: string; + /** Text changes to apply to each file as part of the code action */ + changes: FileTextChanges[]; + /** + * If the user accepts the code fix, the editor should send the action back in a `applyAction` request. + * This allows the language service to have side effects (e.g. installing dependencies) upon a code fix. + */ + commands?: CodeActionCommand[]; + } + interface CodeFixAction extends CodeAction { + /** Short name to identify the fix, for use by telemetry. */ + fixName: string; + /** + * If present, one may call 'getCombinedCodeFix' with this fixId. + * This may be omitted to indicate that the code fix can't be applied in a group. + */ + fixId?: {}; + fixAllDescription?: string; + } + interface CombinedCodeActions { + changes: ReadonlyArray; + commands?: ReadonlyArray; + } + type CodeActionCommand = InstallPackageAction | GenerateTypesAction; + interface InstallPackageAction { + } + interface GenerateTypesAction extends GenerateTypesOptions { + } + interface GenerateTypesOptions { + readonly file: string; + readonly fileToGenerateTypesFor: string; + readonly outputFileName: string; + } + /** + * A set of one or more available refactoring actions, grouped under a parent refactoring. + */ + interface ApplicableRefactorInfo { + /** + * The programmatic name of the refactoring + */ + name: string; + /** + * A description of this refactoring category to show to the user. + * If the refactoring gets inlined (see below), this text will not be visible. + */ + description: string; + /** + * Inlineable refactorings can have their actions hoisted out to the top level + * of a context menu. Non-inlineanable refactorings should always be shown inside + * their parent grouping. + * + * If not specified, this value is assumed to be 'true' + */ + inlineable?: boolean; + actions: RefactorActionInfo[]; + } + /** + * Represents a single refactoring action - for example, the "Extract Method..." refactor might + * offer several actions, each corresponding to a surround class or closure to extract into. + */ + interface RefactorActionInfo { + /** + * The programmatic name of the refactoring action + */ + name: string; + /** + * A description of this refactoring action to show to the user. + * If the parent refactoring is inlined away, this will be the only text shown, + * so this description should make sense by itself if the parent is inlineable=true + */ + description: string; + } + /** + * A set of edits to make in response to a refactor action, plus an optional + * location where renaming should be invoked from + */ + interface RefactorEditInfo { + edits: FileTextChanges[]; + renameFilename?: string; + renameLocation?: number; + commands?: CodeActionCommand[]; + } + interface TextInsertion { + newText: string; + /** The position in newText the caret should point to after the insertion. */ + caretOffset: number; + } + interface DocumentSpan { + textSpan: TextSpan; + fileName: string; + /** + * If the span represents a location that was remapped (e.g. via a .d.ts.map file), + * then the original filename and span will be specified here + */ + originalTextSpan?: TextSpan; + originalFileName?: string; + } + interface RenameLocation extends DocumentSpan { + readonly prefixText?: string; + readonly suffixText?: string; + } + interface ReferenceEntry extends DocumentSpan { + isWriteAccess: boolean; + isDefinition: boolean; + isInString?: true; + } + interface ImplementationLocation extends DocumentSpan { + kind: ScriptElementKind; + displayParts: SymbolDisplayPart[]; + } + interface DocumentHighlights { + fileName: string; + highlightSpans: HighlightSpan[]; + } + enum HighlightSpanKind { + none = "none", + definition = "definition", + reference = "reference", + writtenReference = "writtenReference" + } + interface HighlightSpan { + fileName?: string; + isInString?: true; + textSpan: TextSpan; + kind: HighlightSpanKind; + } + interface NavigateToItem { + name: string; + kind: ScriptElementKind; + kindModifiers: string; + matchKind: "exact" | "prefix" | "substring" | "camelCase"; + isCaseSensitive: boolean; + fileName: string; + textSpan: TextSpan; + containerName: string; + containerKind: ScriptElementKind; + } + enum IndentStyle { + None = 0, + Block = 1, + Smart = 2 + } + interface EditorOptions { + BaseIndentSize?: number; + IndentSize: number; + TabSize: number; + NewLineCharacter: string; + ConvertTabsToSpaces: boolean; + IndentStyle: IndentStyle; + } + interface EditorSettings { + baseIndentSize?: number; + indentSize?: number; + tabSize?: number; + newLineCharacter?: string; + convertTabsToSpaces?: boolean; + indentStyle?: IndentStyle; + } + interface FormatCodeOptions extends EditorOptions { + InsertSpaceAfterCommaDelimiter: boolean; + InsertSpaceAfterSemicolonInForStatements: boolean; + InsertSpaceBeforeAndAfterBinaryOperators: boolean; + InsertSpaceAfterConstructor?: boolean; + InsertSpaceAfterKeywordsInControlFlowStatements: boolean; + InsertSpaceAfterFunctionKeywordForAnonymousFunctions: boolean; + InsertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis: boolean; + InsertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets: boolean; + InsertSpaceAfterOpeningAndBeforeClosingNonemptyBraces?: boolean; + InsertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces: boolean; + InsertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces?: boolean; + InsertSpaceAfterTypeAssertion?: boolean; + InsertSpaceBeforeFunctionParenthesis?: boolean; + PlaceOpenBraceOnNewLineForFunctions: boolean; + PlaceOpenBraceOnNewLineForControlBlocks: boolean; + insertSpaceBeforeTypeAnnotation?: boolean; + } + interface FormatCodeSettings extends EditorSettings { + readonly insertSpaceAfterCommaDelimiter?: boolean; + readonly insertSpaceAfterSemicolonInForStatements?: boolean; + readonly insertSpaceBeforeAndAfterBinaryOperators?: boolean; + readonly insertSpaceAfterConstructor?: boolean; + readonly insertSpaceAfterKeywordsInControlFlowStatements?: boolean; + readonly insertSpaceAfterFunctionKeywordForAnonymousFunctions?: boolean; + readonly insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis?: boolean; + readonly insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets?: boolean; + readonly insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces?: boolean; + readonly insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces?: boolean; + readonly insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces?: boolean; + readonly insertSpaceAfterTypeAssertion?: boolean; + readonly insertSpaceBeforeFunctionParenthesis?: boolean; + readonly placeOpenBraceOnNewLineForFunctions?: boolean; + readonly placeOpenBraceOnNewLineForControlBlocks?: boolean; + readonly insertSpaceBeforeTypeAnnotation?: boolean; + readonly indentMultiLineObjectLiteralBeginningOnBlankLine?: boolean; + } + function getDefaultFormatCodeSettings(newLineCharacter?: string): FormatCodeSettings; + interface DefinitionInfo extends DocumentSpan { + kind: ScriptElementKind; + name: string; + containerKind: ScriptElementKind; + containerName: string; + } + interface DefinitionInfoAndBoundSpan { + definitions?: ReadonlyArray; + textSpan: TextSpan; + } + interface ReferencedSymbolDefinitionInfo extends DefinitionInfo { + displayParts: SymbolDisplayPart[]; + } + interface ReferencedSymbol { + definition: ReferencedSymbolDefinitionInfo; + references: ReferenceEntry[]; + } + enum SymbolDisplayPartKind { + aliasName = 0, + className = 1, + enumName = 2, + fieldName = 3, + interfaceName = 4, + keyword = 5, + lineBreak = 6, + numericLiteral = 7, + stringLiteral = 8, + localName = 9, + methodName = 10, + moduleName = 11, + operator = 12, + parameterName = 13, + propertyName = 14, + punctuation = 15, + space = 16, + text = 17, + typeParameterName = 18, + enumMemberName = 19, + functionName = 20, + regularExpressionLiteral = 21 + } + interface SymbolDisplayPart { + text: string; + kind: string; + } + interface JSDocTagInfo { + name: string; + text?: string; + } + interface QuickInfo { + kind: ScriptElementKind; + kindModifiers: string; + textSpan: TextSpan; + displayParts?: SymbolDisplayPart[]; + documentation?: SymbolDisplayPart[]; + tags?: JSDocTagInfo[]; + } + type RenameInfo = RenameInfoSuccess | RenameInfoFailure; + interface RenameInfoSuccess { + canRename: true; + /** + * File or directory to rename. + * If set, `getEditsForFileRename` should be called instead of `findRenameLocations`. + */ + fileToRename?: string; + displayName: string; + fullDisplayName: string; + kind: ScriptElementKind; + kindModifiers: string; + triggerSpan: TextSpan; + } + interface RenameInfoFailure { + canRename: false; + localizedErrorMessage: string; + } + interface SignatureHelpParameter { + name: string; + documentation: SymbolDisplayPart[]; + displayParts: SymbolDisplayPart[]; + isOptional: boolean; + } + /** + * Represents a single signature to show in signature help. + * The id is used for subsequent calls into the language service to ask questions about the + * signature help item in the context of any documents that have been updated. i.e. after + * an edit has happened, while signature help is still active, the host can ask important + * questions like 'what parameter is the user currently contained within?'. + */ + interface SignatureHelpItem { + isVariadic: boolean; + prefixDisplayParts: SymbolDisplayPart[]; + suffixDisplayParts: SymbolDisplayPart[]; + separatorDisplayParts: SymbolDisplayPart[]; + parameters: SignatureHelpParameter[]; + documentation: SymbolDisplayPart[]; + tags: JSDocTagInfo[]; + } + /** + * Represents a set of signature help items, and the preferred item that should be selected. + */ + interface SignatureHelpItems { + items: SignatureHelpItem[]; + applicableSpan: TextSpan; + selectedItemIndex: number; + argumentIndex: number; + argumentCount: number; + } + interface CompletionInfo { + /** Not true for all glboal completions. This will be true if the enclosing scope matches a few syntax kinds. See `isSnippetScope`. */ + isGlobalCompletion: boolean; + isMemberCompletion: boolean; + /** + * true when the current location also allows for a new identifier + */ + isNewIdentifierLocation: boolean; + entries: CompletionEntry[]; + } + interface CompletionEntry { + name: string; + kind: ScriptElementKind; + kindModifiers?: string; + sortText: string; + insertText?: string; + /** + * An optional span that indicates the text to be replaced by this completion item. + * If present, this span should be used instead of the default one. + * It will be set if the required span differs from the one generated by the default replacement behavior. + */ + replacementSpan?: TextSpan; + hasAction?: true; + source?: string; + isRecommended?: true; + } + interface CompletionEntryDetails { + name: string; + kind: ScriptElementKind; + kindModifiers: string; + displayParts: SymbolDisplayPart[]; + documentation?: SymbolDisplayPart[]; + tags?: JSDocTagInfo[]; + codeActions?: CodeAction[]; + source?: SymbolDisplayPart[]; + } + interface OutliningSpan { + /** The span of the document to actually collapse. */ + textSpan: TextSpan; + /** The span of the document to display when the user hovers over the collapsed span. */ + hintSpan: TextSpan; + /** The text to display in the editor for the collapsed region. */ + bannerText: string; + /** + * Whether or not this region should be automatically collapsed when + * the 'Collapse to Definitions' command is invoked. + */ + autoCollapse: boolean; + /** + * Classification of the contents of the span + */ + kind: OutliningSpanKind; + } + enum OutliningSpanKind { + /** Single or multi-line comments */ + Comment = "comment", + /** Sections marked by '// #region' and '// #endregion' comments */ + Region = "region", + /** Declarations and expressions */ + Code = "code", + /** Contiguous blocks of import declarations */ + Imports = "imports" + } + enum OutputFileType { + JavaScript = 0, + SourceMap = 1, + Declaration = 2 + } + enum EndOfLineState { + None = 0, + InMultiLineCommentTrivia = 1, + InSingleQuoteStringLiteral = 2, + InDoubleQuoteStringLiteral = 3, + InTemplateHeadOrNoSubstitutionTemplate = 4, + InTemplateMiddleOrTail = 5, + InTemplateSubstitutionPosition = 6 + } + enum TokenClass { + Punctuation = 0, + Keyword = 1, + Operator = 2, + Comment = 3, + Whitespace = 4, + Identifier = 5, + NumberLiteral = 6, + BigIntLiteral = 7, + StringLiteral = 8, + RegExpLiteral = 9 + } + interface ClassificationResult { + finalLexState: EndOfLineState; + entries: ClassificationInfo[]; + } + interface ClassificationInfo { + length: number; + classification: TokenClass; + } + interface Classifier { + /** + * Gives lexical classifications of tokens on a line without any syntactic context. + * For instance, a token consisting of the text 'string' can be either an identifier + * named 'string' or the keyword 'string', however, because this classifier is not aware, + * it relies on certain heuristics to give acceptable results. For classifications where + * speed trumps accuracy, this function is preferable; however, for true accuracy, the + * syntactic classifier is ideal. In fact, in certain editing scenarios, combining the + * lexical, syntactic, and semantic classifiers may issue the best user experience. + * + * @param text The text of a line to classify. + * @param lexState The state of the lexical classifier at the end of the previous line. + * @param syntacticClassifierAbsent Whether the client is *not* using a syntactic classifier. + * If there is no syntactic classifier (syntacticClassifierAbsent=true), + * certain heuristics may be used in its place; however, if there is a + * syntactic classifier (syntacticClassifierAbsent=false), certain + * classifications which may be incorrectly categorized will be given + * back as Identifiers in order to allow the syntactic classifier to + * subsume the classification. + * @deprecated Use getLexicalClassifications instead. + */ + getClassificationsForLine(text: string, lexState: EndOfLineState, syntacticClassifierAbsent: boolean): ClassificationResult; + getEncodedLexicalClassifications(text: string, endOfLineState: EndOfLineState, syntacticClassifierAbsent: boolean): Classifications; + } + enum ScriptElementKind { + unknown = "", + warning = "warning", + /** predefined type (void) or keyword (class) */ + keyword = "keyword", + /** top level script node */ + scriptElement = "script", + /** module foo {} */ + moduleElement = "module", + /** class X {} */ + classElement = "class", + /** var x = class X {} */ + localClassElement = "local class", + /** interface Y {} */ + interfaceElement = "interface", + /** type T = ... */ + typeElement = "type", + /** enum E */ + enumElement = "enum", + enumMemberElement = "enum member", + /** + * Inside module and script only + * const v = .. + */ + variableElement = "var", + /** Inside function */ + localVariableElement = "local var", + /** + * Inside module and script only + * function f() { } + */ + functionElement = "function", + /** Inside function */ + localFunctionElement = "local function", + /** class X { [public|private]* foo() {} } */ + memberFunctionElement = "method", + /** class X { [public|private]* [get|set] foo:number; } */ + memberGetAccessorElement = "getter", + memberSetAccessorElement = "setter", + /** + * class X { [public|private]* foo:number; } + * interface Y { foo:number; } + */ + memberVariableElement = "property", + /** class X { constructor() { } } */ + constructorImplementationElement = "constructor", + /** interface Y { ():number; } */ + callSignatureElement = "call", + /** interface Y { []:number; } */ + indexSignatureElement = "index", + /** interface Y { new():Y; } */ + constructSignatureElement = "construct", + /** function foo(*Y*: string) */ + parameterElement = "parameter", + typeParameterElement = "type parameter", + primitiveType = "primitive type", + label = "label", + alias = "alias", + constElement = "const", + letElement = "let", + directory = "directory", + externalModuleName = "external module name", + /** + * + */ + jsxAttribute = "JSX attribute", + /** String literal */ + string = "string" + } + enum ScriptElementKindModifier { + none = "", + publicMemberModifier = "public", + privateMemberModifier = "private", + protectedMemberModifier = "protected", + exportedModifier = "export", + ambientModifier = "declare", + staticModifier = "static", + abstractModifier = "abstract", + optionalModifier = "optional", + dtsModifier = ".d.ts", + tsModifier = ".ts", + tsxModifier = ".tsx", + jsModifier = ".js", + jsxModifier = ".jsx", + jsonModifier = ".json" + } + enum ClassificationTypeNames { + comment = "comment", + identifier = "identifier", + keyword = "keyword", + numericLiteral = "number", + bigintLiteral = "bigint", + operator = "operator", + stringLiteral = "string", + whiteSpace = "whitespace", + text = "text", + punctuation = "punctuation", + className = "class name", + enumName = "enum name", + interfaceName = "interface name", + moduleName = "module name", + typeParameterName = "type parameter name", + typeAliasName = "type alias name", + parameterName = "parameter name", + docCommentTagName = "doc comment tag name", + jsxOpenTagName = "jsx open tag name", + jsxCloseTagName = "jsx close tag name", + jsxSelfClosingTagName = "jsx self closing tag name", + jsxAttribute = "jsx attribute", + jsxText = "jsx text", + jsxAttributeStringLiteralValue = "jsx attribute string literal value" + } + enum ClassificationType { + comment = 1, + identifier = 2, + keyword = 3, + numericLiteral = 4, + operator = 5, + stringLiteral = 6, + regularExpressionLiteral = 7, + whiteSpace = 8, + text = 9, + punctuation = 10, + className = 11, + enumName = 12, + interfaceName = 13, + moduleName = 14, + typeParameterName = 15, + typeAliasName = 16, + parameterName = 17, + docCommentTagName = 18, + jsxOpenTagName = 19, + jsxCloseTagName = 20, + jsxSelfClosingTagName = 21, + jsxAttribute = 22, + jsxText = 23, + jsxAttributeStringLiteralValue = 24, + bigintLiteral = 25 + } +} +declare namespace ts { + function createClassifier(): Classifier; +} +declare namespace ts { + /** + * The document registry represents a store of SourceFile objects that can be shared between + * multiple LanguageService instances. A LanguageService instance holds on the SourceFile (AST) + * of files in the context. + * SourceFile objects account for most of the memory usage by the language service. Sharing + * the same DocumentRegistry instance between different instances of LanguageService allow + * for more efficient memory utilization since all projects will share at least the library + * file (lib.d.ts). + * + * A more advanced use of the document registry is to serialize sourceFile objects to disk + * and re-hydrate them when needed. + * + * To create a default DocumentRegistry, use createDocumentRegistry to create one, and pass it + * to all subsequent createLanguageService calls. + */ + interface DocumentRegistry { + /** + * Request a stored SourceFile with a given fileName and compilationSettings. + * The first call to acquire will call createLanguageServiceSourceFile to generate + * the SourceFile if was not found in the registry. + * + * @param fileName The name of the file requested + * @param compilationSettings Some compilation settings like target affects the + * shape of a the resulting SourceFile. This allows the DocumentRegistry to store + * multiple copies of the same file for different compilation settings. + * @param scriptSnapshot Text of the file. Only used if the file was not found + * in the registry and a new one was created. + * @param version Current version of the file. Only used if the file was not found + * in the registry and a new one was created. + */ + acquireDocument(fileName: string, compilationSettings: CompilerOptions, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind): SourceFile; + acquireDocumentWithKey(fileName: string, path: Path, compilationSettings: CompilerOptions, key: DocumentRegistryBucketKey, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind): SourceFile; + /** + * Request an updated version of an already existing SourceFile with a given fileName + * and compilationSettings. The update will in-turn call updateLanguageServiceSourceFile + * to get an updated SourceFile. + * + * @param fileName The name of the file requested + * @param compilationSettings Some compilation settings like target affects the + * shape of a the resulting SourceFile. This allows the DocumentRegistry to store + * multiple copies of the same file for different compilation settings. + * @param scriptSnapshot Text of the file. + * @param version Current version of the file. + */ + updateDocument(fileName: string, compilationSettings: CompilerOptions, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind): SourceFile; + updateDocumentWithKey(fileName: string, path: Path, compilationSettings: CompilerOptions, key: DocumentRegistryBucketKey, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind): SourceFile; + getKeyForCompilationSettings(settings: CompilerOptions): DocumentRegistryBucketKey; + /** + * Informs the DocumentRegistry that a file is not needed any longer. + * + * Note: It is not allowed to call release on a SourceFile that was not acquired from + * this registry originally. + * + * @param fileName The name of the file to be released + * @param compilationSettings The compilation settings used to acquire the file + */ + releaseDocument(fileName: string, compilationSettings: CompilerOptions): void; + releaseDocumentWithKey(path: Path, key: DocumentRegistryBucketKey): void; + reportStats(): string; + } + type DocumentRegistryBucketKey = string & { + __bucketKey: any; + }; + function createDocumentRegistry(useCaseSensitiveFileNames?: boolean, currentDirectory?: string): DocumentRegistry; +} +declare namespace ts { + function preProcessFile(sourceText: string, readImportFiles?: boolean, detectJavaScriptImports?: boolean): PreProcessedFileInfo; +} +declare namespace ts { + interface TranspileOptions { + compilerOptions?: CompilerOptions; + fileName?: string; + reportDiagnostics?: boolean; + moduleName?: string; + renamedDependencies?: MapLike; + transformers?: CustomTransformers; + } + interface TranspileOutput { + outputText: string; + diagnostics?: Diagnostic[]; + sourceMapText?: string; + } + function transpileModule(input: string, transpileOptions: TranspileOptions): TranspileOutput; + function transpile(input: string, compilerOptions?: CompilerOptions, fileName?: string, diagnostics?: Diagnostic[], moduleName?: string): string; +} +declare namespace ts { + function generateTypesForModule(name: string, moduleValue: unknown, formatSettings: FormatCodeSettings): string; + function generateTypesForGlobal(name: string, globalValue: unknown, formatSettings: FormatCodeSettings): string; +} +declare namespace ts { + /** The version of the language service API */ + const servicesVersion = "0.8"; + function toEditorSettings(options: EditorOptions | EditorSettings): EditorSettings; + function displayPartsToString(displayParts: SymbolDisplayPart[] | undefined): string; + function getDefaultCompilerOptions(): CompilerOptions; + function getSupportedCodeFixes(): string[]; + function createLanguageServiceSourceFile(fileName: string, scriptSnapshot: IScriptSnapshot, scriptTarget: ScriptTarget, version: string, setNodeParents: boolean, scriptKind?: ScriptKind): SourceFile; + let disableIncrementalParsing: boolean; + function updateLanguageServiceSourceFile(sourceFile: SourceFile, scriptSnapshot: IScriptSnapshot, version: string, textChangeRange: TextChangeRange | undefined, aggressiveChecks?: boolean): SourceFile; + function createLanguageService(host: LanguageServiceHost, documentRegistry?: DocumentRegistry, syntaxOnly?: boolean): LanguageService; + /** + * Get the path of the default library files (lib.d.ts) as distributed with the typescript + * node package. + * The functionality is not supported if the ts module is consumed outside of a node module. + */ + function getDefaultLibFilePath(options: CompilerOptions): string; +} +declare namespace ts { + /** + * Transform one or more nodes using the supplied transformers. + * @param source A single `Node` or an array of `Node` objects. + * @param transformers An array of `TransformerFactory` callbacks used to process the transformation. + * @param compilerOptions Optional compiler options. + */ + function transform(source: T | T[], transformers: TransformerFactory[], compilerOptions?: CompilerOptions): TransformationResult; +} +declare namespace ts.server { + interface CompressedData { + length: number; + compressionKind: string; + data: any; + } + type RequireResult = { + module: {}; + error: undefined; + } | { + module: undefined; + error: { + stack?: string; + message?: string; + }; + }; + interface ServerHost extends System { + watchFile(path: string, callback: FileWatcherCallback, pollingInterval?: number): FileWatcher; + watchDirectory(path: string, callback: DirectoryWatcherCallback, recursive?: boolean): FileWatcher; + setTimeout(callback: (...args: any[]) => void, ms: number, ...args: any[]): any; + clearTimeout(timeoutId: any): void; + setImmediate(callback: (...args: any[]) => void, ...args: any[]): any; + clearImmediate(timeoutId: any): void; + gc?(): void; + trace?(s: string): void; + require?(initialPath: string, moduleName: string): RequireResult; + } +} +declare namespace ts.server { + enum LogLevel { + terse = 0, + normal = 1, + requestTime = 2, + verbose = 3 + } + const emptyArray: SortedReadonlyArray; + interface Logger { + close(): void; + hasLevel(level: LogLevel): boolean; + loggingEnabled(): boolean; + perftrc(s: string): void; + info(s: string): void; + startGroup(): void; + endGroup(): void; + msg(s: string, type?: Msg): void; + getLogFileName(): string | undefined; + } + enum Msg { + Err = "Err", + Info = "Info", + Perf = "Perf" + } + namespace Msg { + /** @deprecated Only here for backwards-compatibility. Prefer just `Msg`. */ + type Types = Msg; + } + function createInstallTypingsRequest(project: Project, typeAcquisition: TypeAcquisition, unresolvedImports: SortedReadonlyArray, cachePath?: string): DiscoverTypings; + namespace Errors { + function ThrowNoProject(): never; + function ThrowProjectLanguageServiceDisabled(): never; + function ThrowProjectDoesNotContainDocument(fileName: string, project: Project): never; + } + type NormalizedPath = string & { + __normalizedPathTag: any; + }; + function toNormalizedPath(fileName: string): NormalizedPath; + function normalizedPathToPath(normalizedPath: NormalizedPath, currentDirectory: string, getCanonicalFileName: (f: string) => string): Path; + function asNormalizedPath(fileName: string): NormalizedPath; + interface NormalizedPathMap { + get(path: NormalizedPath): T | undefined; + set(path: NormalizedPath, value: T): void; + contains(path: NormalizedPath): boolean; + remove(path: NormalizedPath): void; + } + function createNormalizedPathMap(): NormalizedPathMap; + function isInferredProjectName(name: string): boolean; + function makeInferredProjectName(counter: number): string; + function createSortedArray(): SortedArray; +} +/** + * Declaration module describing the TypeScript Server protocol + */ +declare namespace ts.server.protocol { + enum CommandTypes { + JsxClosingTag = "jsxClosingTag", + Brace = "brace", + BraceCompletion = "braceCompletion", + GetSpanOfEnclosingComment = "getSpanOfEnclosingComment", + Change = "change", + Close = "close", + /** @deprecated Prefer CompletionInfo -- see comment on CompletionsResponse */ + Completions = "completions", + CompletionInfo = "completionInfo", + CompletionDetails = "completionEntryDetails", + CompileOnSaveAffectedFileList = "compileOnSaveAffectedFileList", + CompileOnSaveEmitFile = "compileOnSaveEmitFile", + Configure = "configure", + Definition = "definition", + DefinitionAndBoundSpan = "definitionAndBoundSpan", + Implementation = "implementation", + Exit = "exit", + Format = "format", + Formatonkey = "formatonkey", + Geterr = "geterr", + GeterrForProject = "geterrForProject", + SemanticDiagnosticsSync = "semanticDiagnosticsSync", + SyntacticDiagnosticsSync = "syntacticDiagnosticsSync", + SuggestionDiagnosticsSync = "suggestionDiagnosticsSync", + NavBar = "navbar", + Navto = "navto", + NavTree = "navtree", + NavTreeFull = "navtree-full", + /** @deprecated */ + Occurrences = "occurrences", + DocumentHighlights = "documentHighlights", + Open = "open", + Quickinfo = "quickinfo", + References = "references", + Reload = "reload", + Rename = "rename", + Saveto = "saveto", + SignatureHelp = "signatureHelp", + Status = "status", + TypeDefinition = "typeDefinition", + ProjectInfo = "projectInfo", + ReloadProjects = "reloadProjects", + Unknown = "unknown", + OpenExternalProject = "openExternalProject", + OpenExternalProjects = "openExternalProjects", + CloseExternalProject = "closeExternalProject", + GetOutliningSpans = "getOutliningSpans", + TodoComments = "todoComments", + Indentation = "indentation", + DocCommentTemplate = "docCommentTemplate", + CompilerOptionsForInferredProjects = "compilerOptionsForInferredProjects", + GetCodeFixes = "getCodeFixes", + GetCombinedCodeFix = "getCombinedCodeFix", + ApplyCodeActionCommand = "applyCodeActionCommand", + GetSupportedCodeFixes = "getSupportedCodeFixes", + GetApplicableRefactors = "getApplicableRefactors", + GetEditsForRefactor = "getEditsForRefactor", + OrganizeImports = "organizeImports", + GetEditsForFileRename = "getEditsForFileRename", + ConfigurePlugin = "configurePlugin" + } + /** + * A TypeScript Server message + */ + interface Message { + /** + * Sequence number of the message + */ + seq: number; + /** + * One of "request", "response", or "event" + */ + type: "request" | "response" | "event"; + } + /** + * Client-initiated request message + */ + interface Request extends Message { + type: "request"; + /** + * The command to execute + */ + command: string; + /** + * Object containing arguments for the command + */ + arguments?: any; + } + /** + * Request to reload the project structure for all the opened files + */ + interface ReloadProjectsRequest extends Message { + command: CommandTypes.ReloadProjects; + } + /** + * Server-initiated event message + */ + interface Event extends Message { + type: "event"; + /** + * Name of event + */ + event: string; + /** + * Event-specific information + */ + body?: any; + } + /** + * Response by server to client request message. + */ + interface Response extends Message { + type: "response"; + /** + * Sequence number of the request message. + */ + request_seq: number; + /** + * Outcome of the request. + */ + success: boolean; + /** + * The command requested. + */ + command: string; + /** + * If success === false, this should always be provided. + * Otherwise, may (or may not) contain a success message. + */ + message?: string; + /** + * Contains message body if success === true. + */ + body?: any; + /** + * Contains extra information that plugin can include to be passed on + */ + metadata?: unknown; + } + /** + * Arguments for FileRequest messages. + */ + interface FileRequestArgs { + /** + * The file for the request (absolute pathname required). + */ + file: string; + projectFileName?: string; + } + interface StatusRequest extends Request { + command: CommandTypes.Status; + } + interface StatusResponseBody { + /** + * The TypeScript version (`ts.version`). + */ + version: string; + } + /** + * Response to StatusRequest + */ + interface StatusResponse extends Response { + body: StatusResponseBody; + } + /** + * Requests a JS Doc comment template for a given position + */ + interface DocCommentTemplateRequest extends FileLocationRequest { + command: CommandTypes.DocCommentTemplate; + } + /** + * Response to DocCommentTemplateRequest + */ + interface DocCommandTemplateResponse extends Response { + body?: TextInsertion; + } + /** + * A request to get TODO comments from the file + */ + interface TodoCommentRequest extends FileRequest { + command: CommandTypes.TodoComments; + arguments: TodoCommentRequestArgs; + } + /** + * Arguments for TodoCommentRequest request. + */ + interface TodoCommentRequestArgs extends FileRequestArgs { + /** + * Array of target TodoCommentDescriptors that describes TODO comments to be found + */ + descriptors: TodoCommentDescriptor[]; + } + /** + * Response for TodoCommentRequest request. + */ + interface TodoCommentsResponse extends Response { + body?: TodoComment[]; + } + /** + * A request to determine if the caret is inside a comment. + */ + interface SpanOfEnclosingCommentRequest extends FileLocationRequest { + command: CommandTypes.GetSpanOfEnclosingComment; + arguments: SpanOfEnclosingCommentRequestArgs; + } + interface SpanOfEnclosingCommentRequestArgs extends FileLocationRequestArgs { + /** + * Requires that the enclosing span be a multi-line comment, or else the request returns undefined. + */ + onlyMultiLine: boolean; + } + /** + * Request to obtain outlining spans in file. + */ + interface OutliningSpansRequest extends FileRequest { + command: CommandTypes.GetOutliningSpans; + } + interface OutliningSpan { + /** The span of the document to actually collapse. */ + textSpan: TextSpan; + /** The span of the document to display when the user hovers over the collapsed span. */ + hintSpan: TextSpan; + /** The text to display in the editor for the collapsed region. */ + bannerText: string; + /** + * Whether or not this region should be automatically collapsed when + * the 'Collapse to Definitions' command is invoked. + */ + autoCollapse: boolean; + /** + * Classification of the contents of the span + */ + kind: OutliningSpanKind; + } + /** + * Response to OutliningSpansRequest request. + */ + interface OutliningSpansResponse extends Response { + body?: OutliningSpan[]; + } + /** + * A request to get indentation for a location in file + */ + interface IndentationRequest extends FileLocationRequest { + command: CommandTypes.Indentation; + arguments: IndentationRequestArgs; + } + /** + * Response for IndentationRequest request. + */ + interface IndentationResponse extends Response { + body?: IndentationResult; + } + /** + * Indentation result representing where indentation should be placed + */ + interface IndentationResult { + /** + * The base position in the document that the indent should be relative to + */ + position: number; + /** + * The number of columns the indent should be at relative to the position's column. + */ + indentation: number; + } + /** + * Arguments for IndentationRequest request. + */ + interface IndentationRequestArgs extends FileLocationRequestArgs { + /** + * An optional set of settings to be used when computing indentation. + * If argument is omitted - then it will use settings for file that were previously set via 'configure' request or global settings. + */ + options?: EditorSettings; + } + /** + * Arguments for ProjectInfoRequest request. + */ + interface ProjectInfoRequestArgs extends FileRequestArgs { + /** + * Indicate if the file name list of the project is needed + */ + needFileNameList: boolean; + } + /** + * A request to get the project information of the current file. + */ + interface ProjectInfoRequest extends Request { + command: CommandTypes.ProjectInfo; + arguments: ProjectInfoRequestArgs; + } + /** + * A request to retrieve compiler options diagnostics for a project + */ + interface CompilerOptionsDiagnosticsRequest extends Request { + arguments: CompilerOptionsDiagnosticsRequestArgs; + } + /** + * Arguments for CompilerOptionsDiagnosticsRequest request. + */ + interface CompilerOptionsDiagnosticsRequestArgs { + /** + * Name of the project to retrieve compiler options diagnostics. + */ + projectFileName: string; + } + /** + * Response message body for "projectInfo" request + */ + interface ProjectInfo { + /** + * For configured project, this is the normalized path of the 'tsconfig.json' file + * For inferred project, this is undefined + */ + configFileName: string; + /** + * The list of normalized file name in the project, including 'lib.d.ts' + */ + fileNames?: string[]; + /** + * Indicates if the project has a active language service instance + */ + languageServiceDisabled?: boolean; + } + /** + * Represents diagnostic info that includes location of diagnostic in two forms + * - start position and length of the error span + * - startLocation and endLocation - a pair of Location objects that store start/end line and offset of the error span. + */ + interface DiagnosticWithLinePosition { + message: string; + start: number; + length: number; + startLocation: Location; + endLocation: Location; + category: string; + code: number; + /** May store more in future. For now, this will simply be `true` to indicate when a diagnostic is an unused-identifier diagnostic. */ + reportsUnnecessary?: {}; + relatedInformation?: DiagnosticRelatedInformation[]; + } + /** + * Response message for "projectInfo" request + */ + interface ProjectInfoResponse extends Response { + body?: ProjectInfo; + } + /** + * Request whose sole parameter is a file name. + */ + interface FileRequest extends Request { + arguments: FileRequestArgs; + } + /** + * Instances of this interface specify a location in a source file: + * (file, line, character offset), where line and character offset are 1-based. + */ + interface FileLocationRequestArgs extends FileRequestArgs { + /** + * The line number for the request (1-based). + */ + line: number; + /** + * The character offset (on the line) for the request (1-based). + */ + offset: number; + } + type FileLocationOrRangeRequestArgs = FileLocationRequestArgs | FileRangeRequestArgs; + /** + * Request refactorings at a given position or selection area. + */ + interface GetApplicableRefactorsRequest extends Request { + command: CommandTypes.GetApplicableRefactors; + arguments: GetApplicableRefactorsRequestArgs; + } + type GetApplicableRefactorsRequestArgs = FileLocationOrRangeRequestArgs; + /** + * Response is a list of available refactorings. + * Each refactoring exposes one or more "Actions"; a user selects one action to invoke a refactoring + */ + interface GetApplicableRefactorsResponse extends Response { + body?: ApplicableRefactorInfo[]; + } + /** + * A set of one or more available refactoring actions, grouped under a parent refactoring. + */ + interface ApplicableRefactorInfo { + /** + * The programmatic name of the refactoring + */ + name: string; + /** + * A description of this refactoring category to show to the user. + * If the refactoring gets inlined (see below), this text will not be visible. + */ + description: string; + /** + * Inlineable refactorings can have their actions hoisted out to the top level + * of a context menu. Non-inlineanable refactorings should always be shown inside + * their parent grouping. + * + * If not specified, this value is assumed to be 'true' + */ + inlineable?: boolean; + actions: RefactorActionInfo[]; + } + /** + * Represents a single refactoring action - for example, the "Extract Method..." refactor might + * offer several actions, each corresponding to a surround class or closure to extract into. + */ + interface RefactorActionInfo { + /** + * The programmatic name of the refactoring action + */ + name: string; + /** + * A description of this refactoring action to show to the user. + * If the parent refactoring is inlined away, this will be the only text shown, + * so this description should make sense by itself if the parent is inlineable=true + */ + description: string; + } + interface GetEditsForRefactorRequest extends Request { + command: CommandTypes.GetEditsForRefactor; + arguments: GetEditsForRefactorRequestArgs; + } + /** + * Request the edits that a particular refactoring action produces. + * Callers must specify the name of the refactor and the name of the action. + */ + type GetEditsForRefactorRequestArgs = FileLocationOrRangeRequestArgs & { + refactor: string; + action: string; + }; + interface GetEditsForRefactorResponse extends Response { + body?: RefactorEditInfo; + } + interface RefactorEditInfo { + edits: FileCodeEdits[]; + /** + * An optional location where the editor should start a rename operation once + * the refactoring edits have been applied + */ + renameLocation?: Location; + renameFilename?: string; + } + /** + * Organize imports by: + * 1) Removing unused imports + * 2) Coalescing imports from the same module + * 3) Sorting imports + */ + interface OrganizeImportsRequest extends Request { + command: CommandTypes.OrganizeImports; + arguments: OrganizeImportsRequestArgs; + } + type OrganizeImportsScope = GetCombinedCodeFixScope; + interface OrganizeImportsRequestArgs { + scope: OrganizeImportsScope; + } + interface OrganizeImportsResponse extends Response { + body: ReadonlyArray; + } + interface GetEditsForFileRenameRequest extends Request { + command: CommandTypes.GetEditsForFileRename; + arguments: GetEditsForFileRenameRequestArgs; + } + /** Note: Paths may also be directories. */ + interface GetEditsForFileRenameRequestArgs { + readonly oldFilePath: string; + readonly newFilePath: string; + } + interface GetEditsForFileRenameResponse extends Response { + body: ReadonlyArray; + } + /** + * Request for the available codefixes at a specific position. + */ + interface CodeFixRequest extends Request { + command: CommandTypes.GetCodeFixes; + arguments: CodeFixRequestArgs; + } + interface GetCombinedCodeFixRequest extends Request { + command: CommandTypes.GetCombinedCodeFix; + arguments: GetCombinedCodeFixRequestArgs; + } + interface GetCombinedCodeFixResponse extends Response { + body: CombinedCodeActions; + } + interface ApplyCodeActionCommandRequest extends Request { + command: CommandTypes.ApplyCodeActionCommand; + arguments: ApplyCodeActionCommandRequestArgs; + } + interface ApplyCodeActionCommandResponse extends Response { + } + interface FileRangeRequestArgs extends FileRequestArgs { + /** + * The line number for the request (1-based). + */ + startLine: number; + /** + * The character offset (on the line) for the request (1-based). + */ + startOffset: number; + /** + * The line number for the request (1-based). + */ + endLine: number; + /** + * The character offset (on the line) for the request (1-based). + */ + endOffset: number; + } + /** + * Instances of this interface specify errorcodes on a specific location in a sourcefile. + */ + interface CodeFixRequestArgs extends FileRangeRequestArgs { + /** + * Errorcodes we want to get the fixes for. + */ + errorCodes: ReadonlyArray; + } + interface GetCombinedCodeFixRequestArgs { + scope: GetCombinedCodeFixScope; + fixId: {}; + } + interface GetCombinedCodeFixScope { + type: "file"; + args: FileRequestArgs; + } + interface ApplyCodeActionCommandRequestArgs { + /** May also be an array of commands. */ + command: {}; + } + /** + * Response for GetCodeFixes request. + */ + interface GetCodeFixesResponse extends Response { + body?: CodeAction[]; + } + /** + * A request whose arguments specify a file location (file, line, col). + */ + interface FileLocationRequest extends FileRequest { + arguments: FileLocationRequestArgs; + } + /** + * A request to get codes of supported code fixes. + */ + interface GetSupportedCodeFixesRequest extends Request { + command: CommandTypes.GetSupportedCodeFixes; + } + /** + * A response for GetSupportedCodeFixesRequest request. + */ + interface GetSupportedCodeFixesResponse extends Response { + /** + * List of error codes supported by the server. + */ + body?: string[]; + } + /** + * Arguments for EncodedSemanticClassificationsRequest request. + */ + interface EncodedSemanticClassificationsRequestArgs extends FileRequestArgs { + /** + * Start position of the span. + */ + start: number; + /** + * Length of the span. + */ + length: number; + } + /** + * Arguments in document highlight request; include: filesToSearch, file, + * line, offset. + */ + interface DocumentHighlightsRequestArgs extends FileLocationRequestArgs { + /** + * List of files to search for document highlights. + */ + filesToSearch: string[]; + } + /** + * Go to definition request; value of command field is + * "definition". Return response giving the file locations that + * define the symbol found in file at location line, col. + */ + interface DefinitionRequest extends FileLocationRequest { + command: CommandTypes.Definition; + } + interface DefinitionAndBoundSpanRequest extends FileLocationRequest { + readonly command: CommandTypes.DefinitionAndBoundSpan; + } + interface DefinitionAndBoundSpanResponse extends Response { + readonly body: DefinitionInfoAndBoundSpan; + } + /** + * Go to type request; value of command field is + * "typeDefinition". Return response giving the file locations that + * define the type for the symbol found in file at location line, col. + */ + interface TypeDefinitionRequest extends FileLocationRequest { + command: CommandTypes.TypeDefinition; + } + /** + * Go to implementation request; value of command field is + * "implementation". Return response giving the file locations that + * implement the symbol found in file at location line, col. + */ + interface ImplementationRequest extends FileLocationRequest { + command: CommandTypes.Implementation; + } + /** + * Location in source code expressed as (one-based) line and (one-based) column offset. + */ + interface Location { + line: number; + offset: number; + } + /** + * Object found in response messages defining a span of text in source code. + */ + interface TextSpan { + /** + * First character of the definition. + */ + start: Location; + /** + * One character past last character of the definition. + */ + end: Location; + } + /** + * Object found in response messages defining a span of text in a specific source file. + */ + interface FileSpan extends TextSpan { + /** + * File containing text span. + */ + file: string; + } + interface DefinitionInfoAndBoundSpan { + definitions: ReadonlyArray; + textSpan: TextSpan; + } + /** + * Definition response message. Gives text range for definition. + */ + interface DefinitionResponse extends Response { + body?: FileSpan[]; + } + interface DefinitionInfoAndBoundSpanReponse extends Response { + body?: DefinitionInfoAndBoundSpan; + } + /** + * Definition response message. Gives text range for definition. + */ + interface TypeDefinitionResponse extends Response { + body?: FileSpan[]; + } + /** + * Implementation response message. Gives text range for implementations. + */ + interface ImplementationResponse extends Response { + body?: FileSpan[]; + } + /** + * Request to get brace completion for a location in the file. + */ + interface BraceCompletionRequest extends FileLocationRequest { + command: CommandTypes.BraceCompletion; + arguments: BraceCompletionRequestArgs; + } + /** + * Argument for BraceCompletionRequest request. + */ + interface BraceCompletionRequestArgs extends FileLocationRequestArgs { + /** + * Kind of opening brace + */ + openingBrace: string; + } + interface JsxClosingTagRequest extends FileLocationRequest { + readonly command: CommandTypes.JsxClosingTag; + readonly arguments: JsxClosingTagRequestArgs; + } + interface JsxClosingTagRequestArgs extends FileLocationRequestArgs { + } + interface JsxClosingTagResponse extends Response { + readonly body: TextInsertion; + } + /** + * @deprecated + * Get occurrences request; value of command field is + * "occurrences". Return response giving spans that are relevant + * in the file at a given line and column. + */ + interface OccurrencesRequest extends FileLocationRequest { + command: CommandTypes.Occurrences; + } + /** @deprecated */ + interface OccurrencesResponseItem extends FileSpan { + /** + * True if the occurrence is a write location, false otherwise. + */ + isWriteAccess: boolean; + /** + * True if the occurrence is in a string, undefined otherwise; + */ + isInString?: true; + } + /** @deprecated */ + interface OccurrencesResponse extends Response { + body?: OccurrencesResponseItem[]; + } + /** + * Get document highlights request; value of command field is + * "documentHighlights". Return response giving spans that are relevant + * in the file at a given line and column. + */ + interface DocumentHighlightsRequest extends FileLocationRequest { + command: CommandTypes.DocumentHighlights; + arguments: DocumentHighlightsRequestArgs; + } + /** + * Span augmented with extra information that denotes the kind of the highlighting to be used for span. + */ + interface HighlightSpan extends TextSpan { + kind: HighlightSpanKind; + } + /** + * Represents a set of highligh spans for a give name + */ + interface DocumentHighlightsItem { + /** + * File containing highlight spans. + */ + file: string; + /** + * Spans to highlight in file. + */ + highlightSpans: HighlightSpan[]; + } + /** + * Response for a DocumentHighlightsRequest request. + */ + interface DocumentHighlightsResponse extends Response { + body?: DocumentHighlightsItem[]; + } + /** + * Find references request; value of command field is + * "references". Return response giving the file locations that + * reference the symbol found in file at location line, col. + */ + interface ReferencesRequest extends FileLocationRequest { + command: CommandTypes.References; + } + interface ReferencesResponseItem extends FileSpan { + /** Text of line containing the reference. Including this + * with the response avoids latency of editor loading files + * to show text of reference line (the server already has + * loaded the referencing files). + */ + lineText: string; + /** + * True if reference is a write location, false otherwise. + */ + isWriteAccess: boolean; + /** + * True if reference is a definition, false otherwise. + */ + isDefinition: boolean; + } + /** + * The body of a "references" response message. + */ + interface ReferencesResponseBody { + /** + * The file locations referencing the symbol. + */ + refs: ReadonlyArray; + /** + * The name of the symbol. + */ + symbolName: string; + /** + * The start character offset of the symbol (on the line provided by the references request). + */ + symbolStartOffset: number; + /** + * The full display name of the symbol. + */ + symbolDisplayString: string; + } + /** + * Response to "references" request. + */ + interface ReferencesResponse extends Response { + body?: ReferencesResponseBody; + } + /** + * Argument for RenameRequest request. + */ + interface RenameRequestArgs extends FileLocationRequestArgs { + /** + * Should text at specified location be found/changed in comments? + */ + findInComments?: boolean; + /** + * Should text at specified location be found/changed in strings? + */ + findInStrings?: boolean; + } + /** + * Rename request; value of command field is "rename". Return + * response giving the file locations that reference the symbol + * found in file at location line, col. Also return full display + * name of the symbol so that client can print it unambiguously. + */ + interface RenameRequest extends FileLocationRequest { + command: CommandTypes.Rename; + arguments: RenameRequestArgs; + } + /** + * Information about the item to be renamed. + */ + type RenameInfo = RenameInfoSuccess | RenameInfoFailure; + interface RenameInfoSuccess { + /** + * True if item can be renamed. + */ + canRename: true; + /** + * File or directory to rename. + * If set, `getEditsForFileRename` should be called instead of `findRenameLocations`. + */ + fileToRename?: string; + /** + * Display name of the item to be renamed. + */ + displayName: string; + /** + * Full display name of item to be renamed. + */ + fullDisplayName: string; + /** + * The items's kind (such as 'className' or 'parameterName' or plain 'text'). + */ + kind: ScriptElementKind; + /** + * Optional modifiers for the kind (such as 'public'). + */ + kindModifiers: string; + /** Span of text to rename. */ + triggerSpan: TextSpan; + } + interface RenameInfoFailure { + canRename: false; + /** + * Error message if item can not be renamed. + */ + localizedErrorMessage: string; + } + /** + * A group of text spans, all in 'file'. + */ + interface SpanGroup { + /** The file to which the spans apply */ + file: string; + /** The text spans in this group */ + locs: RenameTextSpan[]; + } + interface RenameTextSpan extends TextSpan { + readonly prefixText?: string; + readonly suffixText?: string; + } + interface RenameResponseBody { + /** + * Information about the item to be renamed. + */ + info: RenameInfo; + /** + * An array of span groups (one per file) that refer to the item to be renamed. + */ + locs: ReadonlyArray; + } + /** + * Rename response message. + */ + interface RenameResponse extends Response { + body?: RenameResponseBody; + } + /** + * Represents a file in external project. + * External project is project whose set of files, compilation options and open\close state + * is maintained by the client (i.e. if all this data come from .csproj file in Visual Studio). + * External project will exist even if all files in it are closed and should be closed explicitly. + * If external project includes one or more tsconfig.json/jsconfig.json files then tsserver will + * create configured project for every config file but will maintain a link that these projects were created + * as a result of opening external project so they should be removed once external project is closed. + */ + interface ExternalFile { + /** + * Name of file file + */ + fileName: string; + /** + * Script kind of the file + */ + scriptKind?: ScriptKindName | ts.ScriptKind; + /** + * Whether file has mixed content (i.e. .cshtml file that combines html markup with C#/JavaScript) + */ + hasMixedContent?: boolean; + /** + * Content of the file + */ + content?: string; + } + /** + * Represent an external project + */ + interface ExternalProject { + /** + * Project name + */ + projectFileName: string; + /** + * List of root files in project + */ + rootFiles: ExternalFile[]; + /** + * Compiler options for the project + */ + options: ExternalProjectCompilerOptions; + /** + * @deprecated typingOptions. Use typeAcquisition instead + */ + typingOptions?: TypeAcquisition; + /** + * Explicitly specified type acquisition for the project + */ + typeAcquisition?: TypeAcquisition; + } + interface CompileOnSaveMixin { + /** + * If compile on save is enabled for the project + */ + compileOnSave?: boolean; + } + /** + * For external projects, some of the project settings are sent together with + * compiler settings. + */ + type ExternalProjectCompilerOptions = CompilerOptions & CompileOnSaveMixin; + /** + * Represents a set of changes that happen in project + */ + interface ProjectChanges { + /** + * List of added files + */ + added: string[]; + /** + * List of removed files + */ + removed: string[]; + /** + * List of updated files + */ + updated: string[]; + } + /** + * Information found in a configure request. + */ + interface ConfigureRequestArguments { + /** + * Information about the host, for example 'Emacs 24.4' or + * 'Sublime Text version 3075' + */ + hostInfo?: string; + /** + * If present, tab settings apply only to this file. + */ + file?: string; + /** + * The format options to use during formatting and other code editing features. + */ + formatOptions?: FormatCodeSettings; + preferences?: UserPreferences; + /** + * The host's additional supported .js file extensions + */ + extraFileExtensions?: FileExtensionInfo[]; + } + /** + * Configure request; value of command field is "configure". Specifies + * host information, such as host type, tab size, and indent size. + */ + interface ConfigureRequest extends Request { + command: CommandTypes.Configure; + arguments: ConfigureRequestArguments; + } + /** + * Response to "configure" request. This is just an acknowledgement, so + * no body field is required. + */ + interface ConfigureResponse extends Response { + } + interface ConfigurePluginRequestArguments { + pluginName: string; + configuration: any; + } + interface ConfigurePluginRequest extends Request { + command: CommandTypes.ConfigurePlugin; + arguments: ConfigurePluginRequestArguments; + } + /** + * Information found in an "open" request. + */ + interface OpenRequestArgs extends FileRequestArgs { + /** + * Used when a version of the file content is known to be more up to date than the one on disk. + * Then the known content will be used upon opening instead of the disk copy + */ + fileContent?: string; + /** + * Used to specify the script kind of the file explicitly. It could be one of the following: + * "TS", "JS", "TSX", "JSX" + */ + scriptKindName?: ScriptKindName; + /** + * Used to limit the searching for project config file. If given the searching will stop at this + * root path; otherwise it will go all the way up to the dist root path. + */ + projectRootPath?: string; + } + type ScriptKindName = "TS" | "JS" | "TSX" | "JSX"; + /** + * Open request; value of command field is "open". Notify the + * server that the client has file open. The server will not + * monitor the filesystem for changes in this file and will assume + * that the client is updating the server (using the change and/or + * reload messages) when the file changes. Server does not currently + * send a response to an open request. + */ + interface OpenRequest extends Request { + command: CommandTypes.Open; + arguments: OpenRequestArgs; + } + /** + * Request to open or update external project + */ + interface OpenExternalProjectRequest extends Request { + command: CommandTypes.OpenExternalProject; + arguments: OpenExternalProjectArgs; + } + /** + * Arguments to OpenExternalProjectRequest request + */ + type OpenExternalProjectArgs = ExternalProject; + /** + * Request to open multiple external projects + */ + interface OpenExternalProjectsRequest extends Request { + command: CommandTypes.OpenExternalProjects; + arguments: OpenExternalProjectsArgs; + } + /** + * Arguments to OpenExternalProjectsRequest + */ + interface OpenExternalProjectsArgs { + /** + * List of external projects to open or update + */ + projects: ExternalProject[]; + } + /** + * Response to OpenExternalProjectRequest request. This is just an acknowledgement, so + * no body field is required. + */ + interface OpenExternalProjectResponse extends Response { + } + /** + * Response to OpenExternalProjectsRequest request. This is just an acknowledgement, so + * no body field is required. + */ + interface OpenExternalProjectsResponse extends Response { + } + /** + * Request to close external project. + */ + interface CloseExternalProjectRequest extends Request { + command: CommandTypes.CloseExternalProject; + arguments: CloseExternalProjectRequestArgs; + } + /** + * Arguments to CloseExternalProjectRequest request + */ + interface CloseExternalProjectRequestArgs { + /** + * Name of the project to close + */ + projectFileName: string; + } + /** + * Response to CloseExternalProjectRequest request. This is just an acknowledgement, so + * no body field is required. + */ + interface CloseExternalProjectResponse extends Response { + } + /** + * Request to set compiler options for inferred projects. + * External projects are opened / closed explicitly. + * Configured projects are opened when user opens loose file that has 'tsconfig.json' or 'jsconfig.json' anywhere in one of containing folders. + * This configuration file will be used to obtain a list of files and configuration settings for the project. + * Inferred projects are created when user opens a loose file that is not the part of external project + * or configured project and will contain only open file and transitive closure of referenced files if 'useOneInferredProject' is false, + * or all open loose files and its transitive closure of referenced files if 'useOneInferredProject' is true. + */ + interface SetCompilerOptionsForInferredProjectsRequest extends Request { + command: CommandTypes.CompilerOptionsForInferredProjects; + arguments: SetCompilerOptionsForInferredProjectsArgs; + } + /** + * Argument for SetCompilerOptionsForInferredProjectsRequest request. + */ + interface SetCompilerOptionsForInferredProjectsArgs { + /** + * Compiler options to be used with inferred projects. + */ + options: ExternalProjectCompilerOptions; + /** + * Specifies the project root path used to scope compiler options. + * It is an error to provide this property if the server has not been started with + * `useInferredProjectPerProjectRoot` enabled. + */ + projectRootPath?: string; + } + /** + * Response to SetCompilerOptionsForInferredProjectsResponse request. This is just an acknowledgement, so + * no body field is required. + */ + interface SetCompilerOptionsForInferredProjectsResponse extends Response { + } + /** + * Exit request; value of command field is "exit". Ask the server process + * to exit. + */ + interface ExitRequest extends Request { + command: CommandTypes.Exit; + } + /** + * Close request; value of command field is "close". Notify the + * server that the client has closed a previously open file. If + * file is still referenced by open files, the server will resume + * monitoring the filesystem for changes to file. Server does not + * currently send a response to a close request. + */ + interface CloseRequest extends FileRequest { + command: CommandTypes.Close; + } + /** + * Request to obtain the list of files that should be regenerated if target file is recompiled. + * NOTE: this us query-only operation and does not generate any output on disk. + */ + interface CompileOnSaveAffectedFileListRequest extends FileRequest { + command: CommandTypes.CompileOnSaveAffectedFileList; + } + /** + * Contains a list of files that should be regenerated in a project + */ + interface CompileOnSaveAffectedFileListSingleProject { + /** + * Project name + */ + projectFileName: string; + /** + * List of files names that should be recompiled + */ + fileNames: string[]; + /** + * true if project uses outFile or out compiler option + */ + projectUsesOutFile: boolean; + } + /** + * Response for CompileOnSaveAffectedFileListRequest request; + */ + interface CompileOnSaveAffectedFileListResponse extends Response { + body: CompileOnSaveAffectedFileListSingleProject[]; + } + /** + * Request to recompile the file. All generated outputs (.js, .d.ts or .js.map files) is written on disk. + */ + interface CompileOnSaveEmitFileRequest extends FileRequest { + command: CommandTypes.CompileOnSaveEmitFile; + arguments: CompileOnSaveEmitFileRequestArgs; + } + /** + * Arguments for CompileOnSaveEmitFileRequest + */ + interface CompileOnSaveEmitFileRequestArgs extends FileRequestArgs { + /** + * if true - then file should be recompiled even if it does not have any changes. + */ + forced?: boolean; + } + /** + * Quickinfo request; value of command field is + * "quickinfo". Return response giving a quick type and + * documentation string for the symbol found in file at location + * line, col. + */ + interface QuickInfoRequest extends FileLocationRequest { + command: CommandTypes.Quickinfo; + } + /** + * Body of QuickInfoResponse. + */ + interface QuickInfoResponseBody { + /** + * The symbol's kind (such as 'className' or 'parameterName' or plain 'text'). + */ + kind: ScriptElementKind; + /** + * Optional modifiers for the kind (such as 'public'). + */ + kindModifiers: string; + /** + * Starting file location of symbol. + */ + start: Location; + /** + * One past last character of symbol. + */ + end: Location; + /** + * Type and kind of symbol. + */ + displayString: string; + /** + * Documentation associated with symbol. + */ + documentation: string; + /** + * JSDoc tags associated with symbol. + */ + tags: JSDocTagInfo[]; + } + /** + * Quickinfo response message. + */ + interface QuickInfoResponse extends Response { + body?: QuickInfoResponseBody; + } + /** + * Arguments for format messages. + */ + interface FormatRequestArgs extends FileLocationRequestArgs { + /** + * Last line of range for which to format text in file. + */ + endLine: number; + /** + * Character offset on last line of range for which to format text in file. + */ + endOffset: number; + /** + * Format options to be used. + */ + options?: FormatCodeSettings; + } + /** + * Format request; value of command field is "format". Return + * response giving zero or more edit instructions. The edit + * instructions will be sorted in file order. Applying the edit + * instructions in reverse to file will result in correctly + * reformatted text. + */ + interface FormatRequest extends FileLocationRequest { + command: CommandTypes.Format; + arguments: FormatRequestArgs; + } + /** + * Object found in response messages defining an editing + * instruction for a span of text in source code. The effect of + * this instruction is to replace the text starting at start and + * ending one character before end with newText. For an insertion, + * the text span is empty. For a deletion, newText is empty. + */ + interface CodeEdit { + /** + * First character of the text span to edit. + */ + start: Location; + /** + * One character past last character of the text span to edit. + */ + end: Location; + /** + * Replace the span defined above with this string (may be + * the empty string). + */ + newText: string; + } + interface FileCodeEdits { + fileName: string; + textChanges: CodeEdit[]; + } + interface CodeFixResponse extends Response { + /** The code actions that are available */ + body?: CodeFixAction[]; + } + interface CodeAction { + /** Description of the code action to display in the UI of the editor */ + description: string; + /** Text changes to apply to each file as part of the code action */ + changes: FileCodeEdits[]; + /** A command is an opaque object that should be passed to `ApplyCodeActionCommandRequestArgs` without modification. */ + commands?: {}[]; + } + interface CombinedCodeActions { + changes: ReadonlyArray; + commands?: ReadonlyArray<{}>; + } + interface CodeFixAction extends CodeAction { + /** Short name to identify the fix, for use by telemetry. */ + fixName: string; + /** + * If present, one may call 'getCombinedCodeFix' with this fixId. + * This may be omitted to indicate that the code fix can't be applied in a group. + */ + fixId?: {}; + /** Should be present if and only if 'fixId' is. */ + fixAllDescription?: string; + } + /** + * Format and format on key response message. + */ + interface FormatResponse extends Response { + body?: CodeEdit[]; + } + /** + * Arguments for format on key messages. + */ + interface FormatOnKeyRequestArgs extends FileLocationRequestArgs { + /** + * Key pressed (';', '\n', or '}'). + */ + key: string; + options?: FormatCodeSettings; + } + /** + * Format on key request; value of command field is + * "formatonkey". Given file location and key typed (as string), + * return response giving zero or more edit instructions. The + * edit instructions will be sorted in file order. Applying the + * edit instructions in reverse to file will result in correctly + * reformatted text. + */ + interface FormatOnKeyRequest extends FileLocationRequest { + command: CommandTypes.Formatonkey; + arguments: FormatOnKeyRequestArgs; + } + type CompletionsTriggerCharacter = "." | '"' | "'" | "`" | "/" | "@" | "<"; + /** + * Arguments for completions messages. + */ + interface CompletionsRequestArgs extends FileLocationRequestArgs { + /** + * Optional prefix to apply to possible completions. + */ + prefix?: string; + /** + * Character that was responsible for triggering completion. + * Should be `undefined` if a user manually requested completion. + */ + triggerCharacter?: CompletionsTriggerCharacter; + /** + * @deprecated Use UserPreferences.includeCompletionsForModuleExports + */ + includeExternalModuleExports?: boolean; + /** + * @deprecated Use UserPreferences.includeCompletionsWithInsertText + */ + includeInsertTextCompletions?: boolean; + } + /** + * Completions request; value of command field is "completions". + * Given a file location (file, line, col) and a prefix (which may + * be the empty string), return the possible completions that + * begin with prefix. + */ + interface CompletionsRequest extends FileLocationRequest { + command: CommandTypes.Completions | CommandTypes.CompletionInfo; + arguments: CompletionsRequestArgs; + } + /** + * Arguments for completion details request. + */ + interface CompletionDetailsRequestArgs extends FileLocationRequestArgs { + /** + * Names of one or more entries for which to obtain details. + */ + entryNames: (string | CompletionEntryIdentifier)[]; + } + interface CompletionEntryIdentifier { + name: string; + source?: string; + } + /** + * Completion entry details request; value of command field is + * "completionEntryDetails". Given a file location (file, line, + * col) and an array of completion entry names return more + * detailed information for each completion entry. + */ + interface CompletionDetailsRequest extends FileLocationRequest { + command: CommandTypes.CompletionDetails; + arguments: CompletionDetailsRequestArgs; + } + /** + * Part of a symbol description. + */ + interface SymbolDisplayPart { + /** + * Text of an item describing the symbol. + */ + text: string; + /** + * The symbol's kind (such as 'className' or 'parameterName' or plain 'text'). + */ + kind: string; + } + /** + * An item found in a completion response. + */ + interface CompletionEntry { + /** + * The symbol's name. + */ + name: string; + /** + * The symbol's kind (such as 'className' or 'parameterName'). + */ + kind: ScriptElementKind; + /** + * Optional modifiers for the kind (such as 'public'). + */ + kindModifiers?: string; + /** + * A string that is used for comparing completion items so that they can be ordered. This + * is often the same as the name but may be different in certain circumstances. + */ + sortText: string; + /** + * Text to insert instead of `name`. + * This is used to support bracketed completions; If `name` might be "a-b" but `insertText` would be `["a-b"]`, + * coupled with `replacementSpan` to replace a dotted access with a bracket access. + */ + insertText?: string; + /** + * An optional span that indicates the text to be replaced by this completion item. + * If present, this span should be used instead of the default one. + * It will be set if the required span differs from the one generated by the default replacement behavior. + */ + replacementSpan?: TextSpan; + /** + * Indicates whether commiting this completion entry will require additional code actions to be + * made to avoid errors. The CompletionEntryDetails will have these actions. + */ + hasAction?: true; + /** + * Identifier (not necessarily human-readable) identifying where this completion came from. + */ + source?: string; + /** + * If true, this completion should be highlighted as recommended. There will only be one of these. + * This will be set when we know the user should write an expression with a certain type and that type is an enum or constructable class. + * Then either that enum/class or a namespace containing it will be the recommended symbol. + */ + isRecommended?: true; + } + /** + * Additional completion entry details, available on demand + */ + interface CompletionEntryDetails { + /** + * The symbol's name. + */ + name: string; + /** + * The symbol's kind (such as 'className' or 'parameterName'). + */ + kind: ScriptElementKind; + /** + * Optional modifiers for the kind (such as 'public'). + */ + kindModifiers: string; + /** + * Display parts of the symbol (similar to quick info). + */ + displayParts: SymbolDisplayPart[]; + /** + * Documentation strings for the symbol. + */ + documentation?: SymbolDisplayPart[]; + /** + * JSDoc tags for the symbol. + */ + tags?: JSDocTagInfo[]; + /** + * The associated code actions for this entry + */ + codeActions?: CodeAction[]; + /** + * Human-readable description of the `source` from the CompletionEntry. + */ + source?: SymbolDisplayPart[]; + } + /** @deprecated Prefer CompletionInfoResponse, which supports several top-level fields in addition to the array of entries. */ + interface CompletionsResponse extends Response { + body?: CompletionEntry[]; + } + interface CompletionInfoResponse extends Response { + body?: CompletionInfo; + } + interface CompletionInfo { + readonly isGlobalCompletion: boolean; + readonly isMemberCompletion: boolean; + readonly isNewIdentifierLocation: boolean; + readonly entries: ReadonlyArray; + } + interface CompletionDetailsResponse extends Response { + body?: CompletionEntryDetails[]; + } + /** + * Signature help information for a single parameter + */ + interface SignatureHelpParameter { + /** + * The parameter's name + */ + name: string; + /** + * Documentation of the parameter. + */ + documentation: SymbolDisplayPart[]; + /** + * Display parts of the parameter. + */ + displayParts: SymbolDisplayPart[]; + /** + * Whether the parameter is optional or not. + */ + isOptional: boolean; + } + /** + * Represents a single signature to show in signature help. + */ + interface SignatureHelpItem { + /** + * Whether the signature accepts a variable number of arguments. + */ + isVariadic: boolean; + /** + * The prefix display parts. + */ + prefixDisplayParts: SymbolDisplayPart[]; + /** + * The suffix display parts. + */ + suffixDisplayParts: SymbolDisplayPart[]; + /** + * The separator display parts. + */ + separatorDisplayParts: SymbolDisplayPart[]; + /** + * The signature helps items for the parameters. + */ + parameters: SignatureHelpParameter[]; + /** + * The signature's documentation + */ + documentation: SymbolDisplayPart[]; + /** + * The signature's JSDoc tags + */ + tags: JSDocTagInfo[]; + } + /** + * Signature help items found in the response of a signature help request. + */ + interface SignatureHelpItems { + /** + * The signature help items. + */ + items: SignatureHelpItem[]; + /** + * The span for which signature help should appear on a signature + */ + applicableSpan: TextSpan; + /** + * The item selected in the set of available help items. + */ + selectedItemIndex: number; + /** + * The argument selected in the set of parameters. + */ + argumentIndex: number; + /** + * The argument count + */ + argumentCount: number; + } + type SignatureHelpTriggerCharacter = "," | "(" | "<"; + type SignatureHelpRetriggerCharacter = SignatureHelpTriggerCharacter | ")"; + /** + * Arguments of a signature help request. + */ + interface SignatureHelpRequestArgs extends FileLocationRequestArgs { + /** + * Reason why signature help was invoked. + * See each individual possible + */ + triggerReason?: SignatureHelpTriggerReason; + } + type SignatureHelpTriggerReason = SignatureHelpInvokedReason | SignatureHelpCharacterTypedReason | SignatureHelpRetriggeredReason; + /** + * Signals that the user manually requested signature help. + * The language service will unconditionally attempt to provide a result. + */ + interface SignatureHelpInvokedReason { + kind: "invoked"; + triggerCharacter?: undefined; + } + /** + * Signals that the signature help request came from a user typing a character. + * Depending on the character and the syntactic context, the request may or may not be served a result. + */ + interface SignatureHelpCharacterTypedReason { + kind: "characterTyped"; + /** + * Character that was responsible for triggering signature help. + */ + triggerCharacter: SignatureHelpTriggerCharacter; + } + /** + * Signals that this signature help request came from typing a character or moving the cursor. + * This should only occur if a signature help session was already active and the editor needs to see if it should adjust. + * The language service will unconditionally attempt to provide a result. + * `triggerCharacter` can be `undefined` for a retrigger caused by a cursor move. + */ + interface SignatureHelpRetriggeredReason { + kind: "retrigger"; + /** + * Character that was responsible for triggering signature help. + */ + triggerCharacter?: SignatureHelpRetriggerCharacter; + } + /** + * Signature help request; value of command field is "signatureHelp". + * Given a file location (file, line, col), return the signature + * help. + */ + interface SignatureHelpRequest extends FileLocationRequest { + command: CommandTypes.SignatureHelp; + arguments: SignatureHelpRequestArgs; + } + /** + * Response object for a SignatureHelpRequest. + */ + interface SignatureHelpResponse extends Response { + body?: SignatureHelpItems; + } + /** + * Synchronous request for semantic diagnostics of one file. + */ + interface SemanticDiagnosticsSyncRequest extends FileRequest { + command: CommandTypes.SemanticDiagnosticsSync; + arguments: SemanticDiagnosticsSyncRequestArgs; + } + interface SemanticDiagnosticsSyncRequestArgs extends FileRequestArgs { + includeLinePosition?: boolean; + } + /** + * Response object for synchronous sematic diagnostics request. + */ + interface SemanticDiagnosticsSyncResponse extends Response { + body?: Diagnostic[] | DiagnosticWithLinePosition[]; + } + interface SuggestionDiagnosticsSyncRequest extends FileRequest { + command: CommandTypes.SuggestionDiagnosticsSync; + arguments: SuggestionDiagnosticsSyncRequestArgs; + } + type SuggestionDiagnosticsSyncRequestArgs = SemanticDiagnosticsSyncRequestArgs; + type SuggestionDiagnosticsSyncResponse = SemanticDiagnosticsSyncResponse; + /** + * Synchronous request for syntactic diagnostics of one file. + */ + interface SyntacticDiagnosticsSyncRequest extends FileRequest { + command: CommandTypes.SyntacticDiagnosticsSync; + arguments: SyntacticDiagnosticsSyncRequestArgs; + } + interface SyntacticDiagnosticsSyncRequestArgs extends FileRequestArgs { + includeLinePosition?: boolean; + } + /** + * Response object for synchronous syntactic diagnostics request. + */ + interface SyntacticDiagnosticsSyncResponse extends Response { + body?: Diagnostic[] | DiagnosticWithLinePosition[]; + } + /** + * Arguments for GeterrForProject request. + */ + interface GeterrForProjectRequestArgs { + /** + * the file requesting project error list + */ + file: string; + /** + * Delay in milliseconds to wait before starting to compute + * errors for the files in the file list + */ + delay: number; + } + /** + * GeterrForProjectRequest request; value of command field is + * "geterrForProject". It works similarly with 'Geterr', only + * it request for every file in this project. + */ + interface GeterrForProjectRequest extends Request { + command: CommandTypes.GeterrForProject; + arguments: GeterrForProjectRequestArgs; + } + /** + * Arguments for geterr messages. + */ + interface GeterrRequestArgs { + /** + * List of file names for which to compute compiler errors. + * The files will be checked in list order. + */ + files: string[]; + /** + * Delay in milliseconds to wait before starting to compute + * errors for the files in the file list + */ + delay: number; + } + /** + * Geterr request; value of command field is "geterr". Wait for + * delay milliseconds and then, if during the wait no change or + * reload messages have arrived for the first file in the files + * list, get the syntactic errors for the file, field requests, + * and then get the semantic errors for the file. Repeat with a + * smaller delay for each subsequent file on the files list. Best + * practice for an editor is to send a file list containing each + * file that is currently visible, in most-recently-used order. + */ + interface GeterrRequest extends Request { + command: CommandTypes.Geterr; + arguments: GeterrRequestArgs; + } + type RequestCompletedEventName = "requestCompleted"; + /** + * Event that is sent when server have finished processing request with specified id. + */ + interface RequestCompletedEvent extends Event { + event: RequestCompletedEventName; + body: RequestCompletedEventBody; + } + interface RequestCompletedEventBody { + request_seq: number; + } + /** + * Item of diagnostic information found in a DiagnosticEvent message. + */ + interface Diagnostic { + /** + * Starting file location at which text applies. + */ + start: Location; + /** + * The last file location at which the text applies. + */ + end: Location; + /** + * Text of diagnostic message. + */ + text: string; + /** + * The category of the diagnostic message, e.g. "error", "warning", or "suggestion". + */ + category: string; + reportsUnnecessary?: {}; + /** + * Any related spans the diagnostic may have, such as other locations relevant to an error, such as declarartion sites + */ + relatedInformation?: DiagnosticRelatedInformation[]; + /** + * The error code of the diagnostic message. + */ + code?: number; + /** + * The name of the plugin reporting the message. + */ + source?: string; + } + interface DiagnosticWithFileName extends Diagnostic { + /** + * Name of the file the diagnostic is in + */ + fileName: string; + } + /** + * Represents additional spans returned with a diagnostic which are relevant to it + */ + interface DiagnosticRelatedInformation { + /** + * The category of the related information message, e.g. "error", "warning", or "suggestion". + */ + category: string; + /** + * The code used ot identify the related information + */ + code: number; + /** + * Text of related or additional information. + */ + message: string; + /** + * Associated location + */ + span?: FileSpan; + } + interface DiagnosticEventBody { + /** + * The file for which diagnostic information is reported. + */ + file: string; + /** + * An array of diagnostic information items. + */ + diagnostics: Diagnostic[]; + } + type DiagnosticEventKind = "semanticDiag" | "syntaxDiag" | "suggestionDiag"; + /** + * Event message for DiagnosticEventKind event types. + * These events provide syntactic and semantic errors for a file. + */ + interface DiagnosticEvent extends Event { + body?: DiagnosticEventBody; + event: DiagnosticEventKind; + } + interface ConfigFileDiagnosticEventBody { + /** + * The file which trigged the searching and error-checking of the config file + */ + triggerFile: string; + /** + * The name of the found config file. + */ + configFile: string; + /** + * An arry of diagnostic information items for the found config file. + */ + diagnostics: DiagnosticWithFileName[]; + } + /** + * Event message for "configFileDiag" event type. + * This event provides errors for a found config file. + */ + interface ConfigFileDiagnosticEvent extends Event { + body?: ConfigFileDiagnosticEventBody; + event: "configFileDiag"; + } + type ProjectLanguageServiceStateEventName = "projectLanguageServiceState"; + interface ProjectLanguageServiceStateEvent extends Event { + event: ProjectLanguageServiceStateEventName; + body?: ProjectLanguageServiceStateEventBody; + } + interface ProjectLanguageServiceStateEventBody { + /** + * Project name that has changes in the state of language service. + * For configured projects this will be the config file path. + * For external projects this will be the name of the projects specified when project was open. + * For inferred projects this event is not raised. + */ + projectName: string; + /** + * True if language service state switched from disabled to enabled + * and false otherwise. + */ + languageServiceEnabled: boolean; + } + type ProjectsUpdatedInBackgroundEventName = "projectsUpdatedInBackground"; + interface ProjectsUpdatedInBackgroundEvent extends Event { + event: ProjectsUpdatedInBackgroundEventName; + body: ProjectsUpdatedInBackgroundEventBody; + } + interface ProjectsUpdatedInBackgroundEventBody { + /** + * Current set of open files + */ + openFiles: string[]; + } + type ProjectLoadingStartEventName = "projectLoadingStart"; + interface ProjectLoadingStartEvent extends Event { + event: ProjectLoadingStartEventName; + body: ProjectLoadingStartEventBody; + } + interface ProjectLoadingStartEventBody { + /** name of the project */ + projectName: string; + /** reason for loading */ + reason: string; + } + type ProjectLoadingFinishEventName = "projectLoadingFinish"; + interface ProjectLoadingFinishEvent extends Event { + event: ProjectLoadingFinishEventName; + body: ProjectLoadingFinishEventBody; + } + interface ProjectLoadingFinishEventBody { + /** name of the project */ + projectName: string; + } + type SurveyReadyEventName = "surveyReady"; + interface SurveyReadyEvent extends Event { + event: SurveyReadyEventName; + body: SurveyReadyEventBody; + } + interface SurveyReadyEventBody { + /** Name of the survey. This is an internal machine- and programmer-friendly name */ + surveyId: string; + } + type LargeFileReferencedEventName = "largeFileReferenced"; + interface LargeFileReferencedEvent extends Event { + event: LargeFileReferencedEventName; + body: LargeFileReferencedEventBody; + } + interface LargeFileReferencedEventBody { + /** + * name of the large file being loaded + */ + file: string; + /** + * size of the file + */ + fileSize: number; + /** + * max file size allowed on the server + */ + maxFileSize: number; + } + /** + * Arguments for reload request. + */ + interface ReloadRequestArgs extends FileRequestArgs { + /** + * Name of temporary file from which to reload file + * contents. May be same as file. + */ + tmpfile: string; + } + /** + * Reload request message; value of command field is "reload". + * Reload contents of file with name given by the 'file' argument + * from temporary file with name given by the 'tmpfile' argument. + * The two names can be identical. + */ + interface ReloadRequest extends FileRequest { + command: CommandTypes.Reload; + arguments: ReloadRequestArgs; + } + /** + * Response to "reload" request. This is just an acknowledgement, so + * no body field is required. + */ + interface ReloadResponse extends Response { + } + /** + * Arguments for saveto request. + */ + interface SavetoRequestArgs extends FileRequestArgs { + /** + * Name of temporary file into which to save server's view of + * file contents. + */ + tmpfile: string; + } + /** + * Saveto request message; value of command field is "saveto". + * For debugging purposes, save to a temporaryfile (named by + * argument 'tmpfile') the contents of file named by argument + * 'file'. The server does not currently send a response to a + * "saveto" request. + */ + interface SavetoRequest extends FileRequest { + command: CommandTypes.Saveto; + arguments: SavetoRequestArgs; + } + /** + * Arguments for navto request message. + */ + interface NavtoRequestArgs extends FileRequestArgs { + /** + * Search term to navigate to from current location; term can + * be '.*' or an identifier prefix. + */ + searchValue: string; + /** + * Optional limit on the number of items to return. + */ + maxResultCount?: number; + /** + * Optional flag to indicate we want results for just the current file + * or the entire project. + */ + currentFileOnly?: boolean; + projectFileName?: string; + } + /** + * Navto request message; value of command field is "navto". + * Return list of objects giving file locations and symbols that + * match the search term given in argument 'searchTerm'. The + * context for the search is given by the named file. + */ + interface NavtoRequest extends FileRequest { + command: CommandTypes.Navto; + arguments: NavtoRequestArgs; + } + /** + * An item found in a navto response. + */ + interface NavtoItem extends FileSpan { + /** + * The symbol's name. + */ + name: string; + /** + * The symbol's kind (such as 'className' or 'parameterName'). + */ + kind: ScriptElementKind; + /** + * exact, substring, or prefix. + */ + matchKind: string; + /** + * If this was a case sensitive or insensitive match. + */ + isCaseSensitive: boolean; + /** + * Optional modifiers for the kind (such as 'public'). + */ + kindModifiers?: string; + /** + * Name of symbol's container symbol (if any); for example, + * the class name if symbol is a class member. + */ + containerName?: string; + /** + * Kind of symbol's container symbol (if any). + */ + containerKind?: ScriptElementKind; + } + /** + * Navto response message. Body is an array of navto items. Each + * item gives a symbol that matched the search term. + */ + interface NavtoResponse extends Response { + body?: NavtoItem[]; + } + /** + * Arguments for change request message. + */ + interface ChangeRequestArgs extends FormatRequestArgs { + /** + * Optional string to insert at location (file, line, offset). + */ + insertString?: string; + } + /** + * Change request message; value of command field is "change". + * Update the server's view of the file named by argument 'file'. + * Server does not currently send a response to a change request. + */ + interface ChangeRequest extends FileLocationRequest { + command: CommandTypes.Change; + arguments: ChangeRequestArgs; + } + /** + * Response to "brace" request. + */ + interface BraceResponse extends Response { + body?: TextSpan[]; + } + /** + * Brace matching request; value of command field is "brace". + * Return response giving the file locations of matching braces + * found in file at location line, offset. + */ + interface BraceRequest extends FileLocationRequest { + command: CommandTypes.Brace; + } + /** + * NavBar items request; value of command field is "navbar". + * Return response giving the list of navigation bar entries + * extracted from the requested file. + */ + interface NavBarRequest extends FileRequest { + command: CommandTypes.NavBar; + } + /** + * NavTree request; value of command field is "navtree". + * Return response giving the navigation tree of the requested file. + */ + interface NavTreeRequest extends FileRequest { + command: CommandTypes.NavTree; + } + interface NavigationBarItem { + /** + * The item's display text. + */ + text: string; + /** + * The symbol's kind (such as 'className' or 'parameterName'). + */ + kind: ScriptElementKind; + /** + * Optional modifiers for the kind (such as 'public'). + */ + kindModifiers?: string; + /** + * The definition locations of the item. + */ + spans: TextSpan[]; + /** + * Optional children. + */ + childItems?: NavigationBarItem[]; + /** + * Number of levels deep this item should appear. + */ + indent: number; + } + /** protocol.NavigationTree is identical to ts.NavigationTree, except using protocol.TextSpan instead of ts.TextSpan */ + interface NavigationTree { + text: string; + kind: ScriptElementKind; + kindModifiers: string; + spans: TextSpan[]; + nameSpan: TextSpan | undefined; + childItems?: NavigationTree[]; + } + type TelemetryEventName = "telemetry"; + interface TelemetryEvent extends Event { + event: TelemetryEventName; + body: TelemetryEventBody; + } + interface TelemetryEventBody { + telemetryEventName: string; + payload: any; + } + type TypesInstallerInitializationFailedEventName = "typesInstallerInitializationFailed"; + interface TypesInstallerInitializationFailedEvent extends Event { + event: TypesInstallerInitializationFailedEventName; + body: TypesInstallerInitializationFailedEventBody; + } + interface TypesInstallerInitializationFailedEventBody { + message: string; + } + type TypingsInstalledTelemetryEventName = "typingsInstalled"; + interface TypingsInstalledTelemetryEventBody extends TelemetryEventBody { + telemetryEventName: TypingsInstalledTelemetryEventName; + payload: TypingsInstalledTelemetryEventPayload; + } + interface TypingsInstalledTelemetryEventPayload { + /** + * Comma separated list of installed typing packages + */ + installedPackages: string; + /** + * true if install request succeeded, otherwise - false + */ + installSuccess: boolean; + /** + * version of typings installer + */ + typingsInstallerVersion: string; + } + type BeginInstallTypesEventName = "beginInstallTypes"; + type EndInstallTypesEventName = "endInstallTypes"; + interface BeginInstallTypesEvent extends Event { + event: BeginInstallTypesEventName; + body: BeginInstallTypesEventBody; + } + interface EndInstallTypesEvent extends Event { + event: EndInstallTypesEventName; + body: EndInstallTypesEventBody; + } + interface InstallTypesEventBody { + /** + * correlation id to match begin and end events + */ + eventId: number; + /** + * list of packages to install + */ + packages: ReadonlyArray; + } + interface BeginInstallTypesEventBody extends InstallTypesEventBody { + } + interface EndInstallTypesEventBody extends InstallTypesEventBody { + /** + * true if installation succeeded, otherwise false + */ + success: boolean; + } + interface NavBarResponse extends Response { + body?: NavigationBarItem[]; + } + interface NavTreeResponse extends Response { + body?: NavigationTree; + } + enum IndentStyle { + None = "None", + Block = "Block", + Smart = "Smart" + } + interface EditorSettings { + baseIndentSize?: number; + indentSize?: number; + tabSize?: number; + newLineCharacter?: string; + convertTabsToSpaces?: boolean; + indentStyle?: IndentStyle | ts.IndentStyle; + } + interface FormatCodeSettings extends EditorSettings { + insertSpaceAfterCommaDelimiter?: boolean; + insertSpaceAfterSemicolonInForStatements?: boolean; + insertSpaceBeforeAndAfterBinaryOperators?: boolean; + insertSpaceAfterConstructor?: boolean; + insertSpaceAfterKeywordsInControlFlowStatements?: boolean; + insertSpaceAfterFunctionKeywordForAnonymousFunctions?: boolean; + insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis?: boolean; + insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets?: boolean; + insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces?: boolean; + insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces?: boolean; + insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces?: boolean; + insertSpaceAfterTypeAssertion?: boolean; + insertSpaceBeforeFunctionParenthesis?: boolean; + placeOpenBraceOnNewLineForFunctions?: boolean; + placeOpenBraceOnNewLineForControlBlocks?: boolean; + insertSpaceBeforeTypeAnnotation?: boolean; + } + interface UserPreferences { + readonly disableSuggestions?: boolean; + readonly quotePreference?: "double" | "single"; + /** + * If enabled, TypeScript will search through all external modules' exports and add them to the completions list. + * This affects lone identifier completions but not completions on the right hand side of `obj.`. + */ + readonly includeCompletionsForModuleExports?: boolean; + /** + * If enabled, the completion list will include completions with invalid identifier names. + * For those entries, The `insertText` and `replacementSpan` properties will be set to change from `.x` property access to `["x"]`. + */ + readonly includeCompletionsWithInsertText?: boolean; + readonly importModuleSpecifierPreference?: "relative" | "non-relative"; + readonly allowTextChangesInNewFiles?: boolean; + readonly lazyConfiguredProjectsFromExternalProject?: boolean; + } + interface CompilerOptions { + allowJs?: boolean; + allowSyntheticDefaultImports?: boolean; + allowUnreachableCode?: boolean; + allowUnusedLabels?: boolean; + alwaysStrict?: boolean; + baseUrl?: string; + charset?: string; + checkJs?: boolean; + declaration?: boolean; + declarationDir?: string; + disableSizeLimit?: boolean; + downlevelIteration?: boolean; + emitBOM?: boolean; + emitDecoratorMetadata?: boolean; + experimentalDecorators?: boolean; + forceConsistentCasingInFileNames?: boolean; + importHelpers?: boolean; + inlineSourceMap?: boolean; + inlineSources?: boolean; + isolatedModules?: boolean; + jsx?: JsxEmit | ts.JsxEmit; + lib?: string[]; + locale?: string; + mapRoot?: string; + maxNodeModuleJsDepth?: number; + module?: ModuleKind | ts.ModuleKind; + moduleResolution?: ModuleResolutionKind | ts.ModuleResolutionKind; + newLine?: NewLineKind | ts.NewLineKind; + noEmit?: boolean; + noEmitHelpers?: boolean; + noEmitOnError?: boolean; + noErrorTruncation?: boolean; + noFallthroughCasesInSwitch?: boolean; + noImplicitAny?: boolean; + noImplicitReturns?: boolean; + noImplicitThis?: boolean; + noUnusedLocals?: boolean; + noUnusedParameters?: boolean; + noImplicitUseStrict?: boolean; + noLib?: boolean; + noResolve?: boolean; + out?: string; + outDir?: string; + outFile?: string; + paths?: MapLike; + plugins?: PluginImport[]; + preserveConstEnums?: boolean; + preserveSymlinks?: boolean; + project?: string; + reactNamespace?: string; + removeComments?: boolean; + references?: ProjectReference[]; + rootDir?: string; + rootDirs?: string[]; + skipLibCheck?: boolean; + skipDefaultLibCheck?: boolean; + sourceMap?: boolean; + sourceRoot?: string; + strict?: boolean; + strictNullChecks?: boolean; + suppressExcessPropertyErrors?: boolean; + suppressImplicitAnyIndexErrors?: boolean; + target?: ScriptTarget | ts.ScriptTarget; + traceResolution?: boolean; + resolveJsonModule?: boolean; + types?: string[]; + /** Paths used to used to compute primary types search locations */ + typeRoots?: string[]; + [option: string]: CompilerOptionsValue | undefined; + } + enum JsxEmit { + None = "None", + Preserve = "Preserve", + ReactNative = "ReactNative", + React = "React" + } + enum ModuleKind { + None = "None", + CommonJS = "CommonJS", + AMD = "AMD", + UMD = "UMD", + System = "System", + ES6 = "ES6", + ES2015 = "ES2015", + ESNext = "ESNext" + } + enum ModuleResolutionKind { + Classic = "Classic", + Node = "Node" + } + enum NewLineKind { + Crlf = "Crlf", + Lf = "Lf" + } + enum ScriptTarget { + ES3 = "ES3", + ES5 = "ES5", + ES6 = "ES6", + ES2015 = "ES2015", + ES2016 = "ES2016", + ES2017 = "ES2017", + ESNext = "ESNext" + } +} +declare namespace ts.server { + interface ScriptInfoVersion { + svc: number; + text: number; + } + class ScriptInfo { + private readonly host; + readonly fileName: NormalizedPath; + readonly scriptKind: ScriptKind; + readonly hasMixedContent: boolean; + readonly path: Path; + /** + * All projects that include this file + */ + readonly containingProjects: Project[]; + private formatSettings; + private preferences; + private textStorage; + constructor(host: ServerHost, fileName: NormalizedPath, scriptKind: ScriptKind, hasMixedContent: boolean, path: Path, initialVersion?: ScriptInfoVersion); + isScriptOpen(): boolean; + open(newText: string): void; + close(fileExists?: boolean): void; + getSnapshot(): IScriptSnapshot; + private ensureRealPath; + getFormatCodeSettings(): FormatCodeSettings | undefined; + getPreferences(): protocol.UserPreferences | undefined; + attachToProject(project: Project): boolean; + isAttached(project: Project): boolean; + detachFromProject(project: Project): void; + detachAllProjects(): void; + getDefaultProject(): Project; + registerFileUpdate(): void; + setOptions(formatSettings: FormatCodeSettings, preferences: protocol.UserPreferences | undefined): void; + getLatestVersion(): string; + saveTo(fileName: string): void; + reloadFromFile(tempFileName?: NormalizedPath): boolean; + editContent(start: number, end: number, newText: string): void; + markContainingProjectsAsDirty(): void; + isOrphan(): boolean; + /** + * @param line 1 based index + */ + lineToTextSpan(line: number): TextSpan; + /** + * @param line 1 based index + * @param offset 1 based index + */ + lineOffsetToPosition(line: number, offset: number): number; + positionToLineOffset(position: number): protocol.Location; + isJavaScript(): boolean; + } +} +declare namespace ts.server { + interface InstallPackageOptionsWithProject extends InstallPackageOptions { + projectName: string; + projectRootPath: Path; + } + interface ITypingsInstaller { + isKnownTypesPackageName(name: string): boolean; + installPackage(options: InstallPackageOptionsWithProject): Promise; + enqueueInstallTypingsRequest(p: Project, typeAcquisition: TypeAcquisition, unresolvedImports: SortedReadonlyArray | undefined): void; + attach(projectService: ProjectService): void; + onProjectClosed(p: Project): void; + readonly globalTypingsCacheLocation: string | undefined; + } + const nullTypingsInstaller: ITypingsInstaller; +} +declare namespace ts.server { + enum ProjectKind { + Inferred = 0, + Configured = 1, + External = 2 + } + function allRootFilesAreJsOrDts(project: Project): boolean; + function allFilesAreJsOrDts(project: Project): boolean; + interface PluginCreateInfo { + project: Project; + languageService: LanguageService; + languageServiceHost: LanguageServiceHost; + serverHost: ServerHost; + config: any; + } + interface PluginModule { + create(createInfo: PluginCreateInfo): LanguageService; + getExternalFiles?(proj: Project): string[]; + onConfigurationChanged?(config: any): void; + } + interface PluginModuleWithName { + name: string; + module: PluginModule; + } + type PluginModuleFactory = (mod: { + typescript: typeof ts; + }) => PluginModule; + /** + * The project root can be script info - if root is present, + * or it could be just normalized path if root wasnt present on the host(only for non inferred project) + */ + type ProjectRoot = ScriptInfo | NormalizedPath; + abstract class Project implements LanguageServiceHost, ModuleResolutionHost { + readonly projectName: string; + readonly projectKind: ProjectKind; + readonly projectService: ProjectService; + private documentRegistry; + private compilerOptions; + compileOnSaveEnabled: boolean; + private rootFiles; + private rootFilesMap; + private program; + private externalFiles; + private missingFilesMap; + private plugins; + private lastFileExceededProgramSize; + protected languageService: LanguageService; + languageServiceEnabled: boolean; + readonly trace?: (s: string) => void; + readonly realpath?: (path: string) => string; + private builderState; + /** + * Set of files names that were updated since the last call to getChangesSinceVersion. + */ + private updatedFileNames; + /** + * Set of files that was returned from the last call to getChangesSinceVersion. + */ + private lastReportedFileNames; + /** + * Last version that was reported. + */ + private lastReportedVersion; + /** + * Current project's program version. (incremented everytime new program is created that is not complete reuse from the old one) + * This property is changed in 'updateGraph' based on the set of files in program + */ + private projectProgramVersion; + /** + * Current version of the project state. It is changed when: + * - new root file was added/removed + * - edit happen in some file that is currently included in the project. + * This property is different from projectStructureVersion since in most cases edits don't affect set of files in the project + */ + private projectStateVersion; + protected isInitialLoadPending: () => boolean; + private readonly cancellationToken; + isNonTsProject(): boolean; + isJsOnlyProject(): boolean; + static resolveModule(moduleName: string, initialDir: string, host: ServerHost, log: (message: string) => void): {} | undefined; + isKnownTypesPackageName(name: string): boolean; + installPackage(options: InstallPackageOptions): Promise; + private readonly typingsCache; + getCompilationSettings(): CompilerOptions; + getCompilerOptions(): CompilerOptions; + getNewLine(): string; + getProjectVersion(): string; + getProjectReferences(): ReadonlyArray | undefined; + getScriptFileNames(): string[]; + private getOrCreateScriptInfoAndAttachToProject; + getScriptKind(fileName: string): ScriptKind; + getScriptVersion(filename: string): string; + getScriptSnapshot(filename: string): IScriptSnapshot | undefined; + getCancellationToken(): HostCancellationToken; + getCurrentDirectory(): string; + getDefaultLibFileName(): string; + useCaseSensitiveFileNames(): boolean; + readDirectory(path: string, extensions?: ReadonlyArray, exclude?: ReadonlyArray, include?: ReadonlyArray, depth?: number): string[]; + readFile(fileName: string): string | undefined; + writeFile(fileName: string, content: string): void; + fileExists(file: string): boolean; + resolveModuleNames(moduleNames: string[], containingFile: string, reusedNames?: string[], redirectedReference?: ResolvedProjectReference): (ResolvedModuleFull | undefined)[]; + getResolvedModuleWithFailedLookupLocationsFromCache(moduleName: string, containingFile: string): ResolvedModuleWithFailedLookupLocations | undefined; + resolveTypeReferenceDirectives(typeDirectiveNames: string[], containingFile: string, redirectedReference?: ResolvedProjectReference): (ResolvedTypeReferenceDirective | undefined)[]; + directoryExists(path: string): boolean; + getDirectories(path: string): string[]; + log(s: string): void; + error(s: string): void; + private setInternalCompilerOptionsForEmittingJsFiles; + /** + * Get the errors that dont have any file name associated + */ + getGlobalProjectErrors(): ReadonlyArray; + getAllProjectErrors(): ReadonlyArray; + getLanguageService(ensureSynchronized?: boolean): LanguageService; + private shouldEmitFile; + getCompileOnSaveAffectedFileList(scriptInfo: ScriptInfo): string[]; + /** + * Returns true if emit was conducted + */ + emitFile(scriptInfo: ScriptInfo, writeFile: (path: string, data: string, writeByteOrderMark?: boolean) => void): boolean; + enableLanguageService(): void; + disableLanguageService(lastFileExceededProgramSize?: string): void; + getProjectName(): string; + abstract getTypeAcquisition(): TypeAcquisition; + protected removeLocalTypingsFromTypeAcquisition(newTypeAcquisition: TypeAcquisition): TypeAcquisition; + getExternalFiles(): SortedReadonlyArray; + getSourceFile(path: Path): SourceFile | undefined; + close(): void; + private detachScriptInfoIfNotRoot; + isClosed(): boolean; + hasRoots(): boolean; + getRootFiles(): NormalizedPath[]; + getRootScriptInfos(): ScriptInfo[]; + getScriptInfos(): ScriptInfo[]; + getExcludedFiles(): ReadonlyArray; + getFileNames(excludeFilesFromExternalLibraries?: boolean, excludeConfigFiles?: boolean): NormalizedPath[]; + hasConfigFile(configFilePath: NormalizedPath): boolean; + containsScriptInfo(info: ScriptInfo): boolean; + containsFile(filename: NormalizedPath, requireOpen?: boolean): boolean; + isRoot(info: ScriptInfo): boolean; + addRoot(info: ScriptInfo): void; + addMissingFileRoot(fileName: NormalizedPath): void; + removeFile(info: ScriptInfo, fileExists: boolean, detachFromProject: boolean): void; + registerFileUpdate(fileName: string): void; + markAsDirty(): void; + /** + * Updates set of files that contribute to this project + * @returns: true if set of files in the project stays the same and false - otherwise. + */ + updateGraph(): boolean; + protected removeExistingTypings(include: string[]): string[]; + private updateGraphWorker; + private detachScriptInfoFromProject; + private addMissingFileWatcher; + private isWatchedMissingFile; + getScriptInfoForNormalizedPath(fileName: NormalizedPath): ScriptInfo | undefined; + getScriptInfo(uncheckedFileName: string): ScriptInfo | undefined; + filesToString(writeProjectFileNames: boolean): string; + setCompilerOptions(compilerOptions: CompilerOptions): void; + protected removeRoot(info: ScriptInfo): void; + protected enableGlobalPlugins(options: CompilerOptions, pluginConfigOverrides: Map | undefined): void; + protected enablePlugin(pluginConfigEntry: PluginImport, searchPaths: string[], pluginConfigOverrides: Map | undefined): void; + private enableProxy; + /** Starts a new check for diagnostics. Call this if some file has updated that would cause diagnostics to be changed. */ + refreshDiagnostics(): void; + } + /** + * If a file is opened and no tsconfig (or jsconfig) is found, + * the file and its imports/references are put into an InferredProject. + */ + class InferredProject extends Project { + private static readonly newName; + private _isJsInferredProject; + toggleJsInferredProject(isJsInferredProject: boolean): void; + setCompilerOptions(options?: CompilerOptions): void; + /** this is canonical project root path */ + readonly projectRootPath: string | undefined; + addRoot(info: ScriptInfo): void; + removeRoot(info: ScriptInfo): void; + isProjectWithSingleRoot(): boolean; + close(): void; + getTypeAcquisition(): TypeAcquisition; + } + /** + * If a file is opened, the server will look for a tsconfig (or jsconfig) + * and if successfull create a ConfiguredProject for it. + * Otherwise it will create an InferredProject. + */ + class ConfiguredProject extends Project { + private typeAcquisition; + private directoriesWatchedForWildcards; + readonly canonicalConfigFilePath: NormalizedPath; + /** Ref count to the project when opened from external project */ + private externalProjectRefCount; + private projectErrors; + private projectReferences; + protected isInitialLoadPending: () => boolean; + /** + * If the project has reload from disk pending, it reloads (and then updates graph as part of that) instead of just updating the graph + * @returns: true if set of files in the project stays the same and false - otherwise. + */ + updateGraph(): boolean; + getConfigFilePath(): NormalizedPath; + getProjectReferences(): ReadonlyArray | undefined; + updateReferences(refs: ReadonlyArray | undefined): void; + /** + * Get the errors that dont have any file name associated + */ + getGlobalProjectErrors(): ReadonlyArray; + /** + * Get all the project errors + */ + getAllProjectErrors(): ReadonlyArray; + setProjectErrors(projectErrors: Diagnostic[]): void; + setTypeAcquisition(newTypeAcquisition: TypeAcquisition): void; + getTypeAcquisition(): TypeAcquisition; + close(): void; + getEffectiveTypeRoots(): string[]; + } + /** + * Project whose configuration is handled externally, such as in a '.csproj'. + * These are created only if a host explicitly calls `openExternalProject`. + */ + class ExternalProject extends Project { + externalProjectName: string; + compileOnSaveEnabled: boolean; + excludedFiles: ReadonlyArray; + private typeAcquisition; + updateGraph(): boolean; + getExcludedFiles(): ReadonlyArray; + getTypeAcquisition(): TypeAcquisition; + setTypeAcquisition(newTypeAcquisition: TypeAcquisition): void; + } +} +declare namespace ts.server { + const maxProgramSizeForNonTsFiles: number; + const ProjectsUpdatedInBackgroundEvent = "projectsUpdatedInBackground"; + const ProjectLoadingStartEvent = "projectLoadingStart"; + const ProjectLoadingFinishEvent = "projectLoadingFinish"; + const SurveyReady = "surveyReady"; + const LargeFileReferencedEvent = "largeFileReferenced"; + const ConfigFileDiagEvent = "configFileDiag"; + const ProjectLanguageServiceStateEvent = "projectLanguageServiceState"; + const ProjectInfoTelemetryEvent = "projectInfo"; + const OpenFileInfoTelemetryEvent = "openFileInfo"; + interface ProjectsUpdatedInBackgroundEvent { + eventName: typeof ProjectsUpdatedInBackgroundEvent; + data: { + openFiles: string[]; + }; + } + interface ProjectLoadingStartEvent { + eventName: typeof ProjectLoadingStartEvent; + data: { + project: Project; + reason: string; + }; + } + interface ProjectLoadingFinishEvent { + eventName: typeof ProjectLoadingFinishEvent; + data: { + project: Project; + }; + } + interface SurveyReady { + eventName: typeof SurveyReady; + data: { + surveyId: string; + }; + } + interface LargeFileReferencedEvent { + eventName: typeof LargeFileReferencedEvent; + data: { + file: string; + fileSize: number; + maxFileSize: number; + }; + } + interface ConfigFileDiagEvent { + eventName: typeof ConfigFileDiagEvent; + data: { + triggerFile: string; + configFileName: string; + diagnostics: ReadonlyArray; + }; + } + interface ProjectLanguageServiceStateEvent { + eventName: typeof ProjectLanguageServiceStateEvent; + data: { + project: Project; + languageServiceEnabled: boolean; + }; + } + /** This will be converted to the payload of a protocol.TelemetryEvent in session.defaultEventHandler. */ + interface ProjectInfoTelemetryEvent { + readonly eventName: typeof ProjectInfoTelemetryEvent; + readonly data: ProjectInfoTelemetryEventData; + } + interface ProjectInfoTelemetryEventData { + /** Cryptographically secure hash of project file location. */ + readonly projectId: string; + /** Count of file extensions seen in the project. */ + readonly fileStats: FileStats; + /** + * Any compiler options that might contain paths will be taken out. + * Enum compiler options will be converted to strings. + */ + readonly compilerOptions: CompilerOptions; + readonly extends: boolean | undefined; + readonly files: boolean | undefined; + readonly include: boolean | undefined; + readonly exclude: boolean | undefined; + readonly compileOnSave: boolean; + readonly typeAcquisition: ProjectInfoTypeAcquisitionData; + readonly configFileName: "tsconfig.json" | "jsconfig.json" | "other"; + readonly projectType: "external" | "configured"; + readonly languageServiceEnabled: boolean; + /** TypeScript version used by the server. */ + readonly version: string; + } + /** + * Info that we may send about a file that was just opened. + * Info about a file will only be sent once per session, even if the file changes in ways that might affect the info. + * Currently this is only sent for '.js' files. + */ + interface OpenFileInfoTelemetryEvent { + readonly eventName: typeof OpenFileInfoTelemetryEvent; + readonly data: OpenFileInfoTelemetryEventData; + } + interface OpenFileInfoTelemetryEventData { + readonly info: OpenFileInfo; + } + interface ProjectInfoTypeAcquisitionData { + readonly enable: boolean | undefined; + readonly include: boolean; + readonly exclude: boolean; + } + interface FileStats { + readonly js: number; + readonly jsSize?: number; + readonly jsx: number; + readonly jsxSize?: number; + readonly ts: number; + readonly tsSize?: number; + readonly tsx: number; + readonly tsxSize?: number; + readonly dts: number; + readonly dtsSize?: number; + readonly deferred: number; + readonly deferredSize?: number; + } + interface OpenFileInfo { + readonly checkJs: boolean; + } + type ProjectServiceEvent = LargeFileReferencedEvent | SurveyReady | ProjectsUpdatedInBackgroundEvent | ProjectLoadingStartEvent | ProjectLoadingFinishEvent | ConfigFileDiagEvent | ProjectLanguageServiceStateEvent | ProjectInfoTelemetryEvent | OpenFileInfoTelemetryEvent; + type ProjectServiceEventHandler = (event: ProjectServiceEvent) => void; + interface SafeList { + [name: string]: { + match: RegExp; + exclude?: (string | number)[][]; + types?: string[]; + }; + } + interface TypesMapFile { + typesMap: SafeList; + simpleMap: { + [libName: string]: string; + }; + } + function convertFormatOptions(protocolOptions: protocol.FormatCodeSettings): FormatCodeSettings; + function convertCompilerOptions(protocolOptions: protocol.ExternalProjectCompilerOptions): CompilerOptions & protocol.CompileOnSaveMixin; + function tryConvertScriptKindName(scriptKindName: protocol.ScriptKindName | ScriptKind): ScriptKind; + function convertScriptKindName(scriptKindName: protocol.ScriptKindName): ScriptKind.Unknown | ScriptKind.JS | ScriptKind.JSX | ScriptKind.TS | ScriptKind.TSX; + interface HostConfiguration { + formatCodeOptions: FormatCodeSettings; + preferences: protocol.UserPreferences; + hostInfo: string; + extraFileExtensions?: FileExtensionInfo[]; + } + interface OpenConfiguredProjectResult { + configFileName?: NormalizedPath; + configFileErrors?: ReadonlyArray; + } + interface ProjectServiceOptions { + host: ServerHost; + logger: Logger; + cancellationToken: HostCancellationToken; + useSingleInferredProject: boolean; + useInferredProjectPerProjectRoot: boolean; + typingsInstaller: ITypingsInstaller; + eventHandler?: ProjectServiceEventHandler; + suppressDiagnosticEvents?: boolean; + throttleWaitMilliseconds?: number; + globalPlugins?: ReadonlyArray; + pluginProbeLocations?: ReadonlyArray; + allowLocalPluginLoads?: boolean; + typesMapLocation?: string; + syntaxOnly?: boolean; + } + class ProjectService { + /** + * Container of all known scripts + */ + private readonly filenameToScriptInfo; + private readonly scriptInfoInNodeModulesWatchers; + /** + * Contains all the deleted script info's version information so that + * it does not reset when creating script info again + * (and could have potentially collided with version where contents mismatch) + */ + private readonly filenameToScriptInfoVersion; + private readonly allJsFilesForOpenFileTelemetry; + /** + * maps external project file name to list of config files that were the part of this project + */ + private readonly externalProjectToConfiguredProjectMap; + /** + * external projects (configuration and list of root files is not controlled by tsserver) + */ + readonly externalProjects: ExternalProject[]; + /** + * projects built from openFileRoots + */ + readonly inferredProjects: InferredProject[]; + /** + * projects specified by a tsconfig.json file + */ + readonly configuredProjects: Map; + /** + * Open files: with value being project root path, and key being Path of the file that is open + */ + readonly openFiles: Map; + /** + * Map of open files that are opened without complete path but have projectRoot as current directory + */ + private readonly openFilesWithNonRootedDiskPath; + private compilerOptionsForInferredProjects; + private compilerOptionsForInferredProjectsPerProjectRoot; + /** + * Project size for configured or external projects + */ + private readonly projectToSizeMap; + /** + * This is a map of config file paths existance that doesnt need query to disk + * - The entry can be present because there is inferred project that needs to watch addition of config file to directory + * In this case the exists could be true/false based on config file is present or not + * - Or it is present if we have configured project open with config file at that location + * In this case the exists property is always true + */ + private readonly configFileExistenceInfoCache; + private readonly throttledOperations; + private readonly hostConfiguration; + private safelist; + private readonly legacySafelist; + private pendingProjectUpdates; + readonly currentDirectory: NormalizedPath; + readonly toCanonicalFileName: (f: string) => string; + readonly host: ServerHost; + readonly logger: Logger; + readonly cancellationToken: HostCancellationToken; + readonly useSingleInferredProject: boolean; + readonly useInferredProjectPerProjectRoot: boolean; + readonly typingsInstaller: ITypingsInstaller; + private readonly globalCacheLocationDirectoryPath; + readonly throttleWaitMilliseconds?: number; + private readonly eventHandler?; + private readonly suppressDiagnosticEvents?; + readonly globalPlugins: ReadonlyArray; + readonly pluginProbeLocations: ReadonlyArray; + readonly allowLocalPluginLoads: boolean; + private currentPluginConfigOverrides; + readonly typesMapLocation: string | undefined; + readonly syntaxOnly?: boolean; + /** Tracks projects that we have already sent telemetry for. */ + private readonly seenProjects; + /** Tracks projects that we have already sent survey events for. */ + private readonly seenSurveyProjects; + constructor(opts: ProjectServiceOptions); + toPath(fileName: string): Path; + private loadTypesMap; + updateTypingsForProject(response: SetTypings | InvalidateCachedTypings | PackageInstalledResponse): void; + private delayEnsureProjectForOpenFiles; + private delayUpdateProjectGraph; + private delayUpdateProjectGraphs; + setCompilerOptionsForInferredProjects(projectCompilerOptions: protocol.ExternalProjectCompilerOptions, projectRootPath?: string): void; + findProject(projectName: string): Project | undefined; + getDefaultProjectForFile(fileName: NormalizedPath, ensureProject: boolean): Project | undefined; + private doEnsureDefaultProjectForFile; + getScriptInfoEnsuringProjectsUptoDate(uncheckedFileName: string): ScriptInfo | undefined; + /** + * Ensures the project structures are upto date + * This means, + * - we go through all the projects and update them if they are dirty + * - if updates reflect some change in structure or there was pending request to ensure projects for open files + * ensure that each open script info has project + */ + private ensureProjectStructuresUptoDate; + getFormatCodeOptions(file: NormalizedPath): FormatCodeSettings; + getPreferences(file: NormalizedPath): protocol.UserPreferences; + getHostFormatCodeOptions(): FormatCodeSettings; + getHostPreferences(): protocol.UserPreferences; + private onSourceFileChanged; + private handleDeletedFile; + private onConfigChangedForConfiguredProject; + /** + * This is the callback function for the config file add/remove/change at any location + * that matters to open script info but doesnt have configured project open + * for the config file + */ + private onConfigFileChangeForOpenScriptInfo; + private removeProject; + /** + * Remove this file from the set of open, non-configured files. + * @param info The file that has been closed or newly configured + */ + private closeOpenFile; + private deleteScriptInfo; + private configFileExists; + private setConfigFileExistenceByNewConfiguredProject; + /** + * Returns true if the configFileExistenceInfo is needed/impacted by open files that are root of inferred project + */ + private configFileExistenceImpactsRootOfInferredProject; + private setConfigFileExistenceInfoByClosedConfiguredProject; + private logConfigFileWatchUpdate; + /** + * Create the watcher for the configFileExistenceInfo + */ + private createConfigFileWatcherOfConfigFileExistence; + /** + * Close the config file watcher in the cached ConfigFileExistenceInfo + * if there arent any open files that are root of inferred project + */ + private closeConfigFileWatcherOfConfigFileExistenceInfo; + /** + * This is called on file close, so that we stop watching the config file for this script info + */ + private stopWatchingConfigFilesForClosedScriptInfo; + /** + * This function tries to search for a tsconfig.json for the given file. + * This is different from the method the compiler uses because + * the compiler can assume it will always start searching in the + * current directory (the directory in which tsc was invoked). + * The server must start searching from the directory containing + * the newly opened file. + */ + private forEachConfigFileLocation; + /** + * This function tries to search for a tsconfig.json for the given file. + * This is different from the method the compiler uses because + * the compiler can assume it will always start searching in the + * current directory (the directory in which tsc was invoked). + * The server must start searching from the directory containing + * the newly opened file. + * If script info is passed in, it is asserted to be open script info + * otherwise just file name + */ + private getConfigFileNameForFile; + private printProjects; + private findConfiguredProjectByProjectName; + private getConfiguredProjectByCanonicalConfigFilePath; + private findExternalProjectByProjectName; + /** Get a filename if the language service exceeds the maximum allowed program size; otherwise returns undefined. */ + private getFilenameForExceededTotalSizeLimitForNonTsFiles; + private createExternalProject; + private addFilesToNonInferredProject; + private createConfiguredProject; + private updateNonInferredProjectFiles; + private updateRootAndOptionsOfNonInferredProject; + private sendConfigFileDiagEvent; + private getOrCreateInferredProjectForProjectRootPathIfEnabled; + private getOrCreateSingleInferredProjectIfEnabled; + private getOrCreateSingleInferredWithoutProjectRoot; + private createInferredProject; + getScriptInfo(uncheckedFileName: string): ScriptInfo | undefined; + private watchClosedScriptInfo; + private watchClosedScriptInfoInNodeModules; + private getModifiedTime; + private refreshScriptInfo; + private refreshScriptInfosInDirectory; + private stopWatchingScriptInfo; + private getOrCreateScriptInfoNotOpenedByClientForNormalizedPath; + private getOrCreateScriptInfoOpenedByClientForNormalizedPath; + getOrCreateScriptInfoForNormalizedPath(fileName: NormalizedPath, openedByClient: boolean, fileContent?: string, scriptKind?: ScriptKind, hasMixedContent?: boolean, hostToQueryFileExistsOn?: { + fileExists(path: string): boolean; + }): ScriptInfo | undefined; + private getOrCreateScriptInfoWorker; + /** + * This gets the script info for the normalized path. If the path is not rooted disk path then the open script info with project root context is preferred + */ + getScriptInfoForNormalizedPath(fileName: NormalizedPath): ScriptInfo | undefined; + getScriptInfoForPath(fileName: Path): ScriptInfo | undefined; + setHostConfiguration(args: protocol.ConfigureRequestArguments): void; + closeLog(): void; + /** + * This function rebuilds the project for every file opened by the client + * This does not reload contents of open files from disk. But we could do that if needed + */ + reloadProjects(): void; + private delayReloadConfiguredProjectForFiles; + /** + * This function goes through all the openFiles and tries to file the config file for them. + * If the config file is found and it refers to existing project, it reloads it either immediately + * or schedules it for reload depending on delayReload option + * If the there is no existing project it just opens the configured project for the config file + * reloadForInfo provides a way to filter out files to reload configured project for + */ + private reloadConfiguredProjectForFiles; + /** + * Remove the root of inferred project if script info is part of another project + */ + private removeRootOfInferredProjectIfNowPartOfOtherProject; + /** + * This function is to update the project structure for every inferred project. + * It is called on the premise that all the configured projects are + * up to date. + * This will go through open files and assign them to inferred project if open file is not part of any other project + * After that all the inferred project graphs are updated + */ + private ensureProjectForOpenFiles; + /** + * Open file whose contents is managed by the client + * @param filename is absolute pathname + * @param fileContent is a known version of the file content that is more up to date than the one on disk + */ + openClientFile(fileName: string, fileContent?: string, scriptKind?: ScriptKind, projectRootPath?: string): OpenConfiguredProjectResult; + private findExternalProjectContainingOpenScriptInfo; + openClientFileWithNormalizedPath(fileName: NormalizedPath, fileContent?: string, scriptKind?: ScriptKind, hasMixedContent?: boolean, projectRootPath?: NormalizedPath): OpenConfiguredProjectResult; + private removeOrphanConfiguredProjects; + private telemetryOnOpenFile; + /** + * Close file whose contents is managed by the client + * @param filename is absolute pathname + */ + closeClientFile(uncheckedFileName: string): void; + private collectChanges; + private closeConfiguredProjectReferencedFromExternalProject; + closeExternalProject(uncheckedFileName: string): void; + openExternalProjects(projects: protocol.ExternalProject[]): void; + /** Makes a filename safe to insert in a RegExp */ + private static readonly filenameEscapeRegexp; + private static escapeFilenameForRegex; + resetSafeList(): void; + applySafeList(proj: protocol.ExternalProject): NormalizedPath[]; + openExternalProject(proj: protocol.ExternalProject): void; + hasDeferredExtension(): boolean; + configurePlugin(args: protocol.ConfigurePluginRequestArguments): void; + } +} +declare namespace ts.server { + interface ServerCancellationToken extends HostCancellationToken { + setRequest(requestId: number): void; + resetRequest(requestId: number): void; + } + const nullCancellationToken: ServerCancellationToken; + interface PendingErrorCheck { + fileName: NormalizedPath; + project: Project; + } + type CommandNames = protocol.CommandTypes; + const CommandNames: any; + function formatMessage(msg: T, logger: Logger, byteLength: (s: string, encoding: string) => number, newLine: string): string; + type Event = (body: T, eventName: string) => void; + interface EventSender { + event: Event; + } + interface SessionOptions { + host: ServerHost; + cancellationToken: ServerCancellationToken; + useSingleInferredProject: boolean; + useInferredProjectPerProjectRoot: boolean; + typingsInstaller: ITypingsInstaller; + byteLength: (buf: string, encoding?: string) => number; + hrtime: (start?: number[]) => number[]; + logger: Logger; + /** + * If falsy, all events are suppressed. + */ + canUseEvents: boolean; + eventHandler?: ProjectServiceEventHandler; + /** Has no effect if eventHandler is also specified. */ + suppressDiagnosticEvents?: boolean; + syntaxOnly?: boolean; + throttleWaitMilliseconds?: number; + noGetErrOnBackgroundUpdate?: boolean; + globalPlugins?: ReadonlyArray; + pluginProbeLocations?: ReadonlyArray; + allowLocalPluginLoads?: boolean; + typesMapLocation?: string; + } + class Session implements EventSender { + private readonly gcTimer; + protected projectService: ProjectService; + private changeSeq; + private currentRequestId; + private errorCheck; + protected host: ServerHost; + private readonly cancellationToken; + protected readonly typingsInstaller: ITypingsInstaller; + protected byteLength: (buf: string, encoding?: string) => number; + private hrtime; + protected logger: Logger; + protected canUseEvents: boolean; + private suppressDiagnosticEvents?; + private eventHandler; + private readonly noGetErrOnBackgroundUpdate?; + constructor(opts: SessionOptions); + private sendRequestCompletedEvent; + private defaultEventHandler; + private projectsUpdatedInBackgroundEvent; + logError(err: Error, cmd: string): void; + private logErrorWorker; + send(msg: protocol.Message): void; + event(body: T, eventName: string): void; + /** @deprecated */ + output(info: any, cmdName: string, reqSeq?: number, errorMsg?: string): void; + private doOutput; + private semanticCheck; + private syntacticCheck; + private suggestionCheck; + private sendDiagnosticsEvent; + /** It is the caller's responsibility to verify that `!this.suppressDiagnosticEvents`. */ + private updateErrorCheck; + private cleanProjects; + private cleanup; + private getEncodedSemanticClassifications; + private getProject; + private getConfigFileAndProject; + private getConfigFileDiagnostics; + private convertToDiagnosticsWithLinePositionFromDiagnosticFile; + private getCompilerOptionsDiagnostics; + private convertToDiagnosticsWithLinePosition; + private getDiagnosticsWorker; + private getDefinition; + private mapDefinitionInfoLocations; + private getDefinitionAndBoundSpan; + private getEmitOutput; + private mapDefinitionInfo; + private static mapToOriginalLocation; + private toFileSpan; + private getTypeDefinition; + private mapImplementationLocations; + private getImplementation; + private getOccurrences; + private getSyntacticDiagnosticsSync; + private getSemanticDiagnosticsSync; + private getSuggestionDiagnosticsSync; + private getJsxClosingTag; + private getDocumentHighlights; + private setCompilerOptionsForInferredProjects; + private getProjectInfo; + private getProjectInfoWorker; + private getRenameInfo; + private getProjects; + private getDefaultProject; + private getRenameLocations; + private mapRenameInfo; + private toSpanGroups; + private getReferences; + /** + * @param fileName is the name of the file to be opened + * @param fileContent is a version of the file content that is known to be more up to date than the one on disk + */ + private openClientFile; + private getPosition; + private getPositionInFile; + private getFileAndProject; + private getFileAndLanguageServiceForSyntacticOperation; + private getFileAndProjectWorker; + private getOutliningSpans; + private getTodoComments; + private getDocCommentTemplate; + private getSpanOfEnclosingComment; + private getIndentation; + private getBreakpointStatement; + private getNameOrDottedNameSpan; + private isValidBraceCompletion; + private getQuickInfoWorker; + private getFormattingEditsForRange; + private getFormattingEditsForRangeFull; + private getFormattingEditsForDocumentFull; + private getFormattingEditsAfterKeystrokeFull; + private getFormattingEditsAfterKeystroke; + private getCompletions; + private getCompletionEntryDetails; + private getCompileOnSaveAffectedFileList; + private emitFile; + private getSignatureHelpItems; + private createCheckList; + private getDiagnostics; + private change; + private reload; + private saveToTmp; + private closeClientFile; + private mapLocationNavigationBarItems; + private getNavigationBarItems; + private toLocationNavigationTree; + private toLocationTextSpan; + private getNavigationTree; + private getNavigateToItems; + private getFullNavigateToItems; + private getSupportedCodeFixes; + private isLocation; + private extractPositionOrRange; + private getApplicableRefactors; + private getEditsForRefactor; + private organizeImports; + private getEditsForFileRename; + private getCodeFixes; + private getCombinedCodeFix; + private applyCodeActionCommand; + private getStartAndEndPosition; + private mapCodeAction; + private mapCodeFixAction; + private mapTextChangesToCodeEdits; + private mapTextChangeToCodeEdit; + private convertTextChangeToCodeEdit; + private getBraceMatching; + private getDiagnosticsForProject; + private configurePlugin; + getCanonicalFileName(fileName: string): string; + exit(): void; + private notRequired; + private requiredResponse; + private handlers; + addProtocolHandler(command: string, handler: (request: protocol.Request) => HandlerResponse): void; + private setCurrentRequest; + private resetCurrentRequest; + executeWithRequestId(requestId: number, f: () => T): T; + executeCommand(request: protocol.Request): HandlerResponse; + onMessage(message: string): void; + private getFormatOptions; + private getPreferences; + private getHostFormatOptions; + private getHostPreferences; + } + interface HandlerResponse { + response?: {}; + responseRequired?: boolean; + } +} + +export = ts; +export as namespace ts; \ No newline at end of file diff --git a/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/typescript.d.ts b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/typescript.d.ts new file mode 100644 index 0000000..cfaad2a --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/typescript.d.ts @@ -0,0 +1,5567 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + +declare namespace ts { + const versionMajorMinor = "3.2"; + /** The version of the TypeScript compiler release */ + const version: string; +} +declare namespace ts { + /** + * Type of objects whose values are all of the same type. + * The `in` and `for-in` operators can *not* be safely used, + * since `Object.prototype` may be modified by outside code. + */ + interface MapLike { + [index: string]: T; + } + interface SortedReadonlyArray extends ReadonlyArray { + " __sortedArrayBrand": any; + } + interface SortedArray extends Array { + " __sortedArrayBrand": any; + } + /** ES6 Map interface, only read methods included. */ + interface ReadonlyMap { + get(key: string): T | undefined; + has(key: string): boolean; + forEach(action: (value: T, key: string) => void): void; + readonly size: number; + keys(): Iterator; + values(): Iterator; + entries(): Iterator<[string, T]>; + } + /** ES6 Map interface. */ + interface Map extends ReadonlyMap { + set(key: string, value: T): this; + delete(key: string): boolean; + clear(): void; + } + /** ES6 Iterator type. */ + interface Iterator { + next(): { + value: T; + done: false; + } | { + value: never; + done: true; + }; + } + /** Array that is only intended to be pushed to, never read. */ + interface Push { + push(...values: T[]): void; + } +} +declare namespace ts { + type Path = string & { + __pathBrand: any; + }; + interface TextRange { + pos: number; + end: number; + } + type JsDocSyntaxKind = SyntaxKind.EndOfFileToken | SyntaxKind.WhitespaceTrivia | SyntaxKind.AtToken | SyntaxKind.NewLineTrivia | SyntaxKind.AsteriskToken | SyntaxKind.OpenBraceToken | SyntaxKind.CloseBraceToken | SyntaxKind.LessThanToken | SyntaxKind.OpenBracketToken | SyntaxKind.CloseBracketToken | SyntaxKind.EqualsToken | SyntaxKind.CommaToken | SyntaxKind.DotToken | SyntaxKind.Identifier | SyntaxKind.NoSubstitutionTemplateLiteral | SyntaxKind.Unknown | KeywordSyntaxKind; + type KeywordSyntaxKind = SyntaxKind.AbstractKeyword | SyntaxKind.AnyKeyword | SyntaxKind.AsKeyword | SyntaxKind.BigIntKeyword | SyntaxKind.BooleanKeyword | SyntaxKind.BreakKeyword | SyntaxKind.CaseKeyword | SyntaxKind.CatchKeyword | SyntaxKind.ClassKeyword | SyntaxKind.ContinueKeyword | SyntaxKind.ConstKeyword | SyntaxKind.ConstructorKeyword | SyntaxKind.DebuggerKeyword | SyntaxKind.DeclareKeyword | SyntaxKind.DefaultKeyword | SyntaxKind.DeleteKeyword | SyntaxKind.DoKeyword | SyntaxKind.ElseKeyword | SyntaxKind.EnumKeyword | SyntaxKind.ExportKeyword | SyntaxKind.ExtendsKeyword | SyntaxKind.FalseKeyword | SyntaxKind.FinallyKeyword | SyntaxKind.ForKeyword | SyntaxKind.FromKeyword | SyntaxKind.FunctionKeyword | SyntaxKind.GetKeyword | SyntaxKind.IfKeyword | SyntaxKind.ImplementsKeyword | SyntaxKind.ImportKeyword | SyntaxKind.InKeyword | SyntaxKind.InferKeyword | SyntaxKind.InstanceOfKeyword | SyntaxKind.InterfaceKeyword | SyntaxKind.IsKeyword | SyntaxKind.KeyOfKeyword | SyntaxKind.LetKeyword | SyntaxKind.ModuleKeyword | SyntaxKind.NamespaceKeyword | SyntaxKind.NeverKeyword | SyntaxKind.NewKeyword | SyntaxKind.NullKeyword | SyntaxKind.NumberKeyword | SyntaxKind.ObjectKeyword | SyntaxKind.PackageKeyword | SyntaxKind.PrivateKeyword | SyntaxKind.ProtectedKeyword | SyntaxKind.PublicKeyword | SyntaxKind.ReadonlyKeyword | SyntaxKind.RequireKeyword | SyntaxKind.GlobalKeyword | SyntaxKind.ReturnKeyword | SyntaxKind.SetKeyword | SyntaxKind.StaticKeyword | SyntaxKind.StringKeyword | SyntaxKind.SuperKeyword | SyntaxKind.SwitchKeyword | SyntaxKind.SymbolKeyword | SyntaxKind.ThisKeyword | SyntaxKind.ThrowKeyword | SyntaxKind.TrueKeyword | SyntaxKind.TryKeyword | SyntaxKind.TypeKeyword | SyntaxKind.TypeOfKeyword | SyntaxKind.UndefinedKeyword | SyntaxKind.UniqueKeyword | SyntaxKind.UnknownKeyword | SyntaxKind.VarKeyword | SyntaxKind.VoidKeyword | SyntaxKind.WhileKeyword | SyntaxKind.WithKeyword | SyntaxKind.YieldKeyword | SyntaxKind.AsyncKeyword | SyntaxKind.AwaitKeyword | SyntaxKind.OfKeyword; + type JsxTokenSyntaxKind = SyntaxKind.LessThanSlashToken | SyntaxKind.EndOfFileToken | SyntaxKind.ConflictMarkerTrivia | SyntaxKind.JsxText | SyntaxKind.JsxTextAllWhiteSpaces | SyntaxKind.OpenBraceToken | SyntaxKind.LessThanToken; + enum SyntaxKind { + Unknown = 0, + EndOfFileToken = 1, + SingleLineCommentTrivia = 2, + MultiLineCommentTrivia = 3, + NewLineTrivia = 4, + WhitespaceTrivia = 5, + ShebangTrivia = 6, + ConflictMarkerTrivia = 7, + NumericLiteral = 8, + BigIntLiteral = 9, + StringLiteral = 10, + JsxText = 11, + JsxTextAllWhiteSpaces = 12, + RegularExpressionLiteral = 13, + NoSubstitutionTemplateLiteral = 14, + TemplateHead = 15, + TemplateMiddle = 16, + TemplateTail = 17, + OpenBraceToken = 18, + CloseBraceToken = 19, + OpenParenToken = 20, + CloseParenToken = 21, + OpenBracketToken = 22, + CloseBracketToken = 23, + DotToken = 24, + DotDotDotToken = 25, + SemicolonToken = 26, + CommaToken = 27, + LessThanToken = 28, + LessThanSlashToken = 29, + GreaterThanToken = 30, + LessThanEqualsToken = 31, + GreaterThanEqualsToken = 32, + EqualsEqualsToken = 33, + ExclamationEqualsToken = 34, + EqualsEqualsEqualsToken = 35, + ExclamationEqualsEqualsToken = 36, + EqualsGreaterThanToken = 37, + PlusToken = 38, + MinusToken = 39, + AsteriskToken = 40, + AsteriskAsteriskToken = 41, + SlashToken = 42, + PercentToken = 43, + PlusPlusToken = 44, + MinusMinusToken = 45, + LessThanLessThanToken = 46, + GreaterThanGreaterThanToken = 47, + GreaterThanGreaterThanGreaterThanToken = 48, + AmpersandToken = 49, + BarToken = 50, + CaretToken = 51, + ExclamationToken = 52, + TildeToken = 53, + AmpersandAmpersandToken = 54, + BarBarToken = 55, + QuestionToken = 56, + ColonToken = 57, + AtToken = 58, + EqualsToken = 59, + PlusEqualsToken = 60, + MinusEqualsToken = 61, + AsteriskEqualsToken = 62, + AsteriskAsteriskEqualsToken = 63, + SlashEqualsToken = 64, + PercentEqualsToken = 65, + LessThanLessThanEqualsToken = 66, + GreaterThanGreaterThanEqualsToken = 67, + GreaterThanGreaterThanGreaterThanEqualsToken = 68, + AmpersandEqualsToken = 69, + BarEqualsToken = 70, + CaretEqualsToken = 71, + Identifier = 72, + BreakKeyword = 73, + CaseKeyword = 74, + CatchKeyword = 75, + ClassKeyword = 76, + ConstKeyword = 77, + ContinueKeyword = 78, + DebuggerKeyword = 79, + DefaultKeyword = 80, + DeleteKeyword = 81, + DoKeyword = 82, + ElseKeyword = 83, + EnumKeyword = 84, + ExportKeyword = 85, + ExtendsKeyword = 86, + FalseKeyword = 87, + FinallyKeyword = 88, + ForKeyword = 89, + FunctionKeyword = 90, + IfKeyword = 91, + ImportKeyword = 92, + InKeyword = 93, + InstanceOfKeyword = 94, + NewKeyword = 95, + NullKeyword = 96, + ReturnKeyword = 97, + SuperKeyword = 98, + SwitchKeyword = 99, + ThisKeyword = 100, + ThrowKeyword = 101, + TrueKeyword = 102, + TryKeyword = 103, + TypeOfKeyword = 104, + VarKeyword = 105, + VoidKeyword = 106, + WhileKeyword = 107, + WithKeyword = 108, + ImplementsKeyword = 109, + InterfaceKeyword = 110, + LetKeyword = 111, + PackageKeyword = 112, + PrivateKeyword = 113, + ProtectedKeyword = 114, + PublicKeyword = 115, + StaticKeyword = 116, + YieldKeyword = 117, + AbstractKeyword = 118, + AsKeyword = 119, + AnyKeyword = 120, + AsyncKeyword = 121, + AwaitKeyword = 122, + BooleanKeyword = 123, + ConstructorKeyword = 124, + DeclareKeyword = 125, + GetKeyword = 126, + InferKeyword = 127, + IsKeyword = 128, + KeyOfKeyword = 129, + ModuleKeyword = 130, + NamespaceKeyword = 131, + NeverKeyword = 132, + ReadonlyKeyword = 133, + RequireKeyword = 134, + NumberKeyword = 135, + ObjectKeyword = 136, + SetKeyword = 137, + StringKeyword = 138, + SymbolKeyword = 139, + TypeKeyword = 140, + UndefinedKeyword = 141, + UniqueKeyword = 142, + UnknownKeyword = 143, + FromKeyword = 144, + GlobalKeyword = 145, + BigIntKeyword = 146, + OfKeyword = 147, + QualifiedName = 148, + ComputedPropertyName = 149, + TypeParameter = 150, + Parameter = 151, + Decorator = 152, + PropertySignature = 153, + PropertyDeclaration = 154, + MethodSignature = 155, + MethodDeclaration = 156, + Constructor = 157, + GetAccessor = 158, + SetAccessor = 159, + CallSignature = 160, + ConstructSignature = 161, + IndexSignature = 162, + TypePredicate = 163, + TypeReference = 164, + FunctionType = 165, + ConstructorType = 166, + TypeQuery = 167, + TypeLiteral = 168, + ArrayType = 169, + TupleType = 170, + OptionalType = 171, + RestType = 172, + UnionType = 173, + IntersectionType = 174, + ConditionalType = 175, + InferType = 176, + ParenthesizedType = 177, + ThisType = 178, + TypeOperator = 179, + IndexedAccessType = 180, + MappedType = 181, + LiteralType = 182, + ImportType = 183, + ObjectBindingPattern = 184, + ArrayBindingPattern = 185, + BindingElement = 186, + ArrayLiteralExpression = 187, + ObjectLiteralExpression = 188, + PropertyAccessExpression = 189, + ElementAccessExpression = 190, + CallExpression = 191, + NewExpression = 192, + TaggedTemplateExpression = 193, + TypeAssertionExpression = 194, + ParenthesizedExpression = 195, + FunctionExpression = 196, + ArrowFunction = 197, + DeleteExpression = 198, + TypeOfExpression = 199, + VoidExpression = 200, + AwaitExpression = 201, + PrefixUnaryExpression = 202, + PostfixUnaryExpression = 203, + BinaryExpression = 204, + ConditionalExpression = 205, + TemplateExpression = 206, + YieldExpression = 207, + SpreadElement = 208, + ClassExpression = 209, + OmittedExpression = 210, + ExpressionWithTypeArguments = 211, + AsExpression = 212, + NonNullExpression = 213, + MetaProperty = 214, + SyntheticExpression = 215, + TemplateSpan = 216, + SemicolonClassElement = 217, + Block = 218, + VariableStatement = 219, + EmptyStatement = 220, + ExpressionStatement = 221, + IfStatement = 222, + DoStatement = 223, + WhileStatement = 224, + ForStatement = 225, + ForInStatement = 226, + ForOfStatement = 227, + ContinueStatement = 228, + BreakStatement = 229, + ReturnStatement = 230, + WithStatement = 231, + SwitchStatement = 232, + LabeledStatement = 233, + ThrowStatement = 234, + TryStatement = 235, + DebuggerStatement = 236, + VariableDeclaration = 237, + VariableDeclarationList = 238, + FunctionDeclaration = 239, + ClassDeclaration = 240, + InterfaceDeclaration = 241, + TypeAliasDeclaration = 242, + EnumDeclaration = 243, + ModuleDeclaration = 244, + ModuleBlock = 245, + CaseBlock = 246, + NamespaceExportDeclaration = 247, + ImportEqualsDeclaration = 248, + ImportDeclaration = 249, + ImportClause = 250, + NamespaceImport = 251, + NamedImports = 252, + ImportSpecifier = 253, + ExportAssignment = 254, + ExportDeclaration = 255, + NamedExports = 256, + ExportSpecifier = 257, + MissingDeclaration = 258, + ExternalModuleReference = 259, + JsxElement = 260, + JsxSelfClosingElement = 261, + JsxOpeningElement = 262, + JsxClosingElement = 263, + JsxFragment = 264, + JsxOpeningFragment = 265, + JsxClosingFragment = 266, + JsxAttribute = 267, + JsxAttributes = 268, + JsxSpreadAttribute = 269, + JsxExpression = 270, + CaseClause = 271, + DefaultClause = 272, + HeritageClause = 273, + CatchClause = 274, + PropertyAssignment = 275, + ShorthandPropertyAssignment = 276, + SpreadAssignment = 277, + EnumMember = 278, + SourceFile = 279, + Bundle = 280, + UnparsedSource = 281, + InputFiles = 282, + JSDocTypeExpression = 283, + JSDocAllType = 284, + JSDocUnknownType = 285, + JSDocNullableType = 286, + JSDocNonNullableType = 287, + JSDocOptionalType = 288, + JSDocFunctionType = 289, + JSDocVariadicType = 290, + JSDocComment = 291, + JSDocTypeLiteral = 292, + JSDocSignature = 293, + JSDocTag = 294, + JSDocAugmentsTag = 295, + JSDocClassTag = 296, + JSDocCallbackTag = 297, + JSDocEnumTag = 298, + JSDocParameterTag = 299, + JSDocReturnTag = 300, + JSDocThisTag = 301, + JSDocTypeTag = 302, + JSDocTemplateTag = 303, + JSDocTypedefTag = 304, + JSDocPropertyTag = 305, + SyntaxList = 306, + NotEmittedStatement = 307, + PartiallyEmittedExpression = 308, + CommaListExpression = 309, + MergeDeclarationMarker = 310, + EndOfDeclarationMarker = 311, + Count = 312, + FirstAssignment = 59, + LastAssignment = 71, + FirstCompoundAssignment = 60, + LastCompoundAssignment = 71, + FirstReservedWord = 73, + LastReservedWord = 108, + FirstKeyword = 73, + LastKeyword = 147, + FirstFutureReservedWord = 109, + LastFutureReservedWord = 117, + FirstTypeNode = 163, + LastTypeNode = 183, + FirstPunctuation = 18, + LastPunctuation = 71, + FirstToken = 0, + LastToken = 147, + FirstTriviaToken = 2, + LastTriviaToken = 7, + FirstLiteralToken = 8, + LastLiteralToken = 14, + FirstTemplateToken = 14, + LastTemplateToken = 17, + FirstBinaryOperator = 28, + LastBinaryOperator = 71, + FirstNode = 148, + FirstJSDocNode = 283, + LastJSDocNode = 305, + FirstJSDocTagNode = 294, + LastJSDocTagNode = 305 + } + enum NodeFlags { + None = 0, + Let = 1, + Const = 2, + NestedNamespace = 4, + Synthesized = 8, + Namespace = 16, + ExportContext = 32, + ContainsThis = 64, + HasImplicitReturn = 128, + HasExplicitReturn = 256, + GlobalAugmentation = 512, + HasAsyncFunctions = 1024, + DisallowInContext = 2048, + YieldContext = 4096, + DecoratorContext = 8192, + AwaitContext = 16384, + ThisNodeHasError = 32768, + JavaScriptFile = 65536, + ThisNodeOrAnySubNodesHasError = 131072, + HasAggregatedChildData = 262144, + JSDoc = 2097152, + JsonFile = 16777216, + BlockScoped = 3, + ReachabilityCheckFlags = 384, + ReachabilityAndEmitFlags = 1408, + ContextFlags = 12679168, + TypeExcludesFlags = 20480 + } + enum ModifierFlags { + None = 0, + Export = 1, + Ambient = 2, + Public = 4, + Private = 8, + Protected = 16, + Static = 32, + Readonly = 64, + Abstract = 128, + Async = 256, + Default = 512, + Const = 2048, + HasComputedFlags = 536870912, + AccessibilityModifier = 28, + ParameterPropertyModifier = 92, + NonPublicAccessibilityModifier = 24, + TypeScriptModifier = 2270, + ExportDefault = 513, + All = 3071 + } + enum JsxFlags { + None = 0, + /** An element from a named property of the JSX.IntrinsicElements interface */ + IntrinsicNamedElement = 1, + /** An element inferred from the string index signature of the JSX.IntrinsicElements interface */ + IntrinsicIndexedElement = 2, + IntrinsicElement = 3 + } + interface Node extends TextRange { + kind: SyntaxKind; + flags: NodeFlags; + decorators?: NodeArray; + modifiers?: ModifiersArray; + parent: Node; + } + interface JSDocContainer { + } + type HasJSDoc = ParameterDeclaration | CallSignatureDeclaration | ConstructSignatureDeclaration | MethodSignature | PropertySignature | ArrowFunction | ParenthesizedExpression | SpreadAssignment | ShorthandPropertyAssignment | PropertyAssignment | FunctionExpression | LabeledStatement | ExpressionStatement | VariableStatement | FunctionDeclaration | ConstructorDeclaration | MethodDeclaration | PropertyDeclaration | AccessorDeclaration | ClassLikeDeclaration | InterfaceDeclaration | TypeAliasDeclaration | EnumMember | EnumDeclaration | ModuleDeclaration | ImportEqualsDeclaration | IndexSignatureDeclaration | FunctionTypeNode | ConstructorTypeNode | JSDocFunctionType | ExportDeclaration | EndOfFileToken; + type HasType = SignatureDeclaration | VariableDeclaration | ParameterDeclaration | PropertySignature | PropertyDeclaration | TypePredicateNode | ParenthesizedTypeNode | TypeOperatorNode | MappedTypeNode | AssertionExpression | TypeAliasDeclaration | JSDocTypeExpression | JSDocNonNullableType | JSDocNullableType | JSDocOptionalType | JSDocVariadicType; + type HasInitializer = HasExpressionInitializer | ForStatement | ForInStatement | ForOfStatement | JsxAttribute; + type HasExpressionInitializer = VariableDeclaration | ParameterDeclaration | BindingElement | PropertySignature | PropertyDeclaration | PropertyAssignment | EnumMember; + interface NodeArray extends ReadonlyArray, TextRange { + hasTrailingComma?: boolean; + } + interface Token extends Node { + kind: TKind; + } + type DotDotDotToken = Token; + type QuestionToken = Token; + type ExclamationToken = Token; + type ColonToken = Token; + type EqualsToken = Token; + type AsteriskToken = Token; + type EqualsGreaterThanToken = Token; + type EndOfFileToken = Token & JSDocContainer; + type ReadonlyToken = Token; + type AwaitKeywordToken = Token; + type PlusToken = Token; + type MinusToken = Token; + type Modifier = Token | Token | Token | Token | Token | Token | Token | Token | Token | Token | Token; + type ModifiersArray = NodeArray; + interface Identifier extends PrimaryExpression, Declaration { + kind: SyntaxKind.Identifier; + /** + * Prefer to use `id.unescapedText`. (Note: This is available only in services, not internally to the TypeScript compiler.) + * Text of identifier, but if the identifier begins with two underscores, this will begin with three. + */ + escapedText: __String; + originalKeywordKind?: SyntaxKind; + isInJSDocNamespace?: boolean; + } + interface TransientIdentifier extends Identifier { + resolvedSymbol: Symbol; + } + interface QualifiedName extends Node { + kind: SyntaxKind.QualifiedName; + left: EntityName; + right: Identifier; + } + type EntityName = Identifier | QualifiedName; + type PropertyName = Identifier | StringLiteral | NumericLiteral | ComputedPropertyName; + type DeclarationName = Identifier | StringLiteralLike | NumericLiteral | ComputedPropertyName | BindingPattern; + interface Declaration extends Node { + _declarationBrand: any; + } + interface NamedDeclaration extends Declaration { + name?: DeclarationName; + } + interface DeclarationStatement extends NamedDeclaration, Statement { + name?: Identifier | StringLiteral | NumericLiteral; + } + interface ComputedPropertyName extends Node { + parent: Declaration; + kind: SyntaxKind.ComputedPropertyName; + expression: Expression; + } + interface Decorator extends Node { + kind: SyntaxKind.Decorator; + parent: NamedDeclaration; + expression: LeftHandSideExpression; + } + interface TypeParameterDeclaration extends NamedDeclaration { + kind: SyntaxKind.TypeParameter; + parent: DeclarationWithTypeParameterChildren | InferTypeNode; + name: Identifier; + /** Note: Consider calling `getEffectiveConstraintOfTypeParameter` */ + constraint?: TypeNode; + default?: TypeNode; + expression?: Expression; + } + interface SignatureDeclarationBase extends NamedDeclaration, JSDocContainer { + kind: SignatureDeclaration["kind"]; + name?: PropertyName; + typeParameters?: NodeArray; + parameters: NodeArray; + type?: TypeNode; + } + type SignatureDeclaration = CallSignatureDeclaration | ConstructSignatureDeclaration | MethodSignature | IndexSignatureDeclaration | FunctionTypeNode | ConstructorTypeNode | JSDocFunctionType | FunctionDeclaration | MethodDeclaration | ConstructorDeclaration | AccessorDeclaration | FunctionExpression | ArrowFunction; + interface CallSignatureDeclaration extends SignatureDeclarationBase, TypeElement { + kind: SyntaxKind.CallSignature; + } + interface ConstructSignatureDeclaration extends SignatureDeclarationBase, TypeElement { + kind: SyntaxKind.ConstructSignature; + } + type BindingName = Identifier | BindingPattern; + interface VariableDeclaration extends NamedDeclaration { + kind: SyntaxKind.VariableDeclaration; + parent: VariableDeclarationList | CatchClause; + name: BindingName; + exclamationToken?: ExclamationToken; + type?: TypeNode; + initializer?: Expression; + } + interface VariableDeclarationList extends Node { + kind: SyntaxKind.VariableDeclarationList; + parent: VariableStatement | ForStatement | ForOfStatement | ForInStatement; + declarations: NodeArray; + } + interface ParameterDeclaration extends NamedDeclaration, JSDocContainer { + kind: SyntaxKind.Parameter; + parent: SignatureDeclaration; + dotDotDotToken?: DotDotDotToken; + name: BindingName; + questionToken?: QuestionToken; + type?: TypeNode; + initializer?: Expression; + } + interface BindingElement extends NamedDeclaration { + kind: SyntaxKind.BindingElement; + parent: BindingPattern; + propertyName?: PropertyName; + dotDotDotToken?: DotDotDotToken; + name: BindingName; + initializer?: Expression; + } + interface PropertySignature extends TypeElement, JSDocContainer { + kind: SyntaxKind.PropertySignature; + name: PropertyName; + questionToken?: QuestionToken; + type?: TypeNode; + initializer?: Expression; + } + interface PropertyDeclaration extends ClassElement, JSDocContainer { + kind: SyntaxKind.PropertyDeclaration; + parent: ClassLikeDeclaration; + name: PropertyName; + questionToken?: QuestionToken; + exclamationToken?: ExclamationToken; + type?: TypeNode; + initializer?: Expression; + } + interface ObjectLiteralElement extends NamedDeclaration { + _objectLiteralBrandBrand: any; + name?: PropertyName; + } + /** Unlike ObjectLiteralElement, excludes JSXAttribute and JSXSpreadAttribute. */ + type ObjectLiteralElementLike = PropertyAssignment | ShorthandPropertyAssignment | SpreadAssignment | MethodDeclaration | AccessorDeclaration; + interface PropertyAssignment extends ObjectLiteralElement, JSDocContainer { + parent: ObjectLiteralExpression; + kind: SyntaxKind.PropertyAssignment; + name: PropertyName; + questionToken?: QuestionToken; + initializer: Expression; + } + interface ShorthandPropertyAssignment extends ObjectLiteralElement, JSDocContainer { + parent: ObjectLiteralExpression; + kind: SyntaxKind.ShorthandPropertyAssignment; + name: Identifier; + questionToken?: QuestionToken; + exclamationToken?: ExclamationToken; + equalsToken?: Token; + objectAssignmentInitializer?: Expression; + } + interface SpreadAssignment extends ObjectLiteralElement, JSDocContainer { + parent: ObjectLiteralExpression; + kind: SyntaxKind.SpreadAssignment; + expression: Expression; + } + type VariableLikeDeclaration = VariableDeclaration | ParameterDeclaration | BindingElement | PropertyDeclaration | PropertyAssignment | PropertySignature | JsxAttribute | ShorthandPropertyAssignment | EnumMember | JSDocPropertyTag | JSDocParameterTag; + interface PropertyLikeDeclaration extends NamedDeclaration { + name: PropertyName; + } + interface ObjectBindingPattern extends Node { + kind: SyntaxKind.ObjectBindingPattern; + parent: VariableDeclaration | ParameterDeclaration | BindingElement; + elements: NodeArray; + } + interface ArrayBindingPattern extends Node { + kind: SyntaxKind.ArrayBindingPattern; + parent: VariableDeclaration | ParameterDeclaration | BindingElement; + elements: NodeArray; + } + type BindingPattern = ObjectBindingPattern | ArrayBindingPattern; + type ArrayBindingElement = BindingElement | OmittedExpression; + /** + * Several node kinds share function-like features such as a signature, + * a name, and a body. These nodes should extend FunctionLikeDeclarationBase. + * Examples: + * - FunctionDeclaration + * - MethodDeclaration + * - AccessorDeclaration + */ + interface FunctionLikeDeclarationBase extends SignatureDeclarationBase { + _functionLikeDeclarationBrand: any; + asteriskToken?: AsteriskToken; + questionToken?: QuestionToken; + exclamationToken?: ExclamationToken; + body?: Block | Expression; + } + type FunctionLikeDeclaration = FunctionDeclaration | MethodDeclaration | GetAccessorDeclaration | SetAccessorDeclaration | ConstructorDeclaration | FunctionExpression | ArrowFunction; + /** @deprecated Use SignatureDeclaration */ + type FunctionLike = SignatureDeclaration; + interface FunctionDeclaration extends FunctionLikeDeclarationBase, DeclarationStatement { + kind: SyntaxKind.FunctionDeclaration; + name?: Identifier; + body?: FunctionBody; + } + interface MethodSignature extends SignatureDeclarationBase, TypeElement { + kind: SyntaxKind.MethodSignature; + parent: ObjectTypeDeclaration; + name: PropertyName; + } + interface MethodDeclaration extends FunctionLikeDeclarationBase, ClassElement, ObjectLiteralElement, JSDocContainer { + kind: SyntaxKind.MethodDeclaration; + parent: ClassLikeDeclaration | ObjectLiteralExpression; + name: PropertyName; + body?: FunctionBody; + } + interface ConstructorDeclaration extends FunctionLikeDeclarationBase, ClassElement, JSDocContainer { + kind: SyntaxKind.Constructor; + parent: ClassLikeDeclaration; + body?: FunctionBody; + } + /** For when we encounter a semicolon in a class declaration. ES6 allows these as class elements. */ + interface SemicolonClassElement extends ClassElement { + kind: SyntaxKind.SemicolonClassElement; + parent: ClassLikeDeclaration; + } + interface GetAccessorDeclaration extends FunctionLikeDeclarationBase, ClassElement, ObjectLiteralElement, JSDocContainer { + kind: SyntaxKind.GetAccessor; + parent: ClassLikeDeclaration | ObjectLiteralExpression; + name: PropertyName; + body?: FunctionBody; + } + interface SetAccessorDeclaration extends FunctionLikeDeclarationBase, ClassElement, ObjectLiteralElement, JSDocContainer { + kind: SyntaxKind.SetAccessor; + parent: ClassLikeDeclaration | ObjectLiteralExpression; + name: PropertyName; + body?: FunctionBody; + } + type AccessorDeclaration = GetAccessorDeclaration | SetAccessorDeclaration; + interface IndexSignatureDeclaration extends SignatureDeclarationBase, ClassElement, TypeElement { + kind: SyntaxKind.IndexSignature; + parent: ObjectTypeDeclaration; + } + interface TypeNode extends Node { + _typeNodeBrand: any; + } + interface KeywordTypeNode extends TypeNode { + kind: SyntaxKind.AnyKeyword | SyntaxKind.UnknownKeyword | SyntaxKind.NumberKeyword | SyntaxKind.BigIntKeyword | SyntaxKind.ObjectKeyword | SyntaxKind.BooleanKeyword | SyntaxKind.StringKeyword | SyntaxKind.SymbolKeyword | SyntaxKind.ThisKeyword | SyntaxKind.VoidKeyword | SyntaxKind.UndefinedKeyword | SyntaxKind.NullKeyword | SyntaxKind.NeverKeyword; + } + interface ImportTypeNode extends NodeWithTypeArguments { + kind: SyntaxKind.ImportType; + isTypeOf?: boolean; + argument: TypeNode; + qualifier?: EntityName; + } + interface ThisTypeNode extends TypeNode { + kind: SyntaxKind.ThisType; + } + type FunctionOrConstructorTypeNode = FunctionTypeNode | ConstructorTypeNode; + interface FunctionOrConstructorTypeNodeBase extends TypeNode, SignatureDeclarationBase { + kind: SyntaxKind.FunctionType | SyntaxKind.ConstructorType; + type: TypeNode; + } + interface FunctionTypeNode extends FunctionOrConstructorTypeNodeBase { + kind: SyntaxKind.FunctionType; + } + interface ConstructorTypeNode extends FunctionOrConstructorTypeNodeBase { + kind: SyntaxKind.ConstructorType; + } + interface NodeWithTypeArguments extends TypeNode { + typeArguments?: NodeArray; + } + type TypeReferenceType = TypeReferenceNode | ExpressionWithTypeArguments; + interface TypeReferenceNode extends NodeWithTypeArguments { + kind: SyntaxKind.TypeReference; + typeName: EntityName; + } + interface TypePredicateNode extends TypeNode { + kind: SyntaxKind.TypePredicate; + parent: SignatureDeclaration | JSDocTypeExpression; + parameterName: Identifier | ThisTypeNode; + type: TypeNode; + } + interface TypeQueryNode extends TypeNode { + kind: SyntaxKind.TypeQuery; + exprName: EntityName; + } + interface TypeLiteralNode extends TypeNode, Declaration { + kind: SyntaxKind.TypeLiteral; + members: NodeArray; + } + interface ArrayTypeNode extends TypeNode { + kind: SyntaxKind.ArrayType; + elementType: TypeNode; + } + interface TupleTypeNode extends TypeNode { + kind: SyntaxKind.TupleType; + elementTypes: NodeArray; + } + interface OptionalTypeNode extends TypeNode { + kind: SyntaxKind.OptionalType; + type: TypeNode; + } + interface RestTypeNode extends TypeNode { + kind: SyntaxKind.RestType; + type: TypeNode; + } + type UnionOrIntersectionTypeNode = UnionTypeNode | IntersectionTypeNode; + interface UnionTypeNode extends TypeNode { + kind: SyntaxKind.UnionType; + types: NodeArray; + } + interface IntersectionTypeNode extends TypeNode { + kind: SyntaxKind.IntersectionType; + types: NodeArray; + } + interface ConditionalTypeNode extends TypeNode { + kind: SyntaxKind.ConditionalType; + checkType: TypeNode; + extendsType: TypeNode; + trueType: TypeNode; + falseType: TypeNode; + } + interface InferTypeNode extends TypeNode { + kind: SyntaxKind.InferType; + typeParameter: TypeParameterDeclaration; + } + interface ParenthesizedTypeNode extends TypeNode { + kind: SyntaxKind.ParenthesizedType; + type: TypeNode; + } + interface TypeOperatorNode extends TypeNode { + kind: SyntaxKind.TypeOperator; + operator: SyntaxKind.KeyOfKeyword | SyntaxKind.UniqueKeyword; + type: TypeNode; + } + interface IndexedAccessTypeNode extends TypeNode { + kind: SyntaxKind.IndexedAccessType; + objectType: TypeNode; + indexType: TypeNode; + } + interface MappedTypeNode extends TypeNode, Declaration { + kind: SyntaxKind.MappedType; + readonlyToken?: ReadonlyToken | PlusToken | MinusToken; + typeParameter: TypeParameterDeclaration; + questionToken?: QuestionToken | PlusToken | MinusToken; + type?: TypeNode; + } + interface LiteralTypeNode extends TypeNode { + kind: SyntaxKind.LiteralType; + literal: BooleanLiteral | LiteralExpression | PrefixUnaryExpression; + } + interface StringLiteral extends LiteralExpression { + kind: SyntaxKind.StringLiteral; + } + type StringLiteralLike = StringLiteral | NoSubstitutionTemplateLiteral; + interface Expression extends Node { + _expressionBrand: any; + } + interface OmittedExpression extends Expression { + kind: SyntaxKind.OmittedExpression; + } + interface PartiallyEmittedExpression extends LeftHandSideExpression { + kind: SyntaxKind.PartiallyEmittedExpression; + expression: Expression; + } + interface UnaryExpression extends Expression { + _unaryExpressionBrand: any; + } + /** Deprecated, please use UpdateExpression */ + type IncrementExpression = UpdateExpression; + interface UpdateExpression extends UnaryExpression { + _updateExpressionBrand: any; + } + type PrefixUnaryOperator = SyntaxKind.PlusPlusToken | SyntaxKind.MinusMinusToken | SyntaxKind.PlusToken | SyntaxKind.MinusToken | SyntaxKind.TildeToken | SyntaxKind.ExclamationToken; + interface PrefixUnaryExpression extends UpdateExpression { + kind: SyntaxKind.PrefixUnaryExpression; + operator: PrefixUnaryOperator; + operand: UnaryExpression; + } + type PostfixUnaryOperator = SyntaxKind.PlusPlusToken | SyntaxKind.MinusMinusToken; + interface PostfixUnaryExpression extends UpdateExpression { + kind: SyntaxKind.PostfixUnaryExpression; + operand: LeftHandSideExpression; + operator: PostfixUnaryOperator; + } + interface LeftHandSideExpression extends UpdateExpression { + _leftHandSideExpressionBrand: any; + } + interface MemberExpression extends LeftHandSideExpression { + _memberExpressionBrand: any; + } + interface PrimaryExpression extends MemberExpression { + _primaryExpressionBrand: any; + } + interface NullLiteral extends PrimaryExpression, TypeNode { + kind: SyntaxKind.NullKeyword; + } + interface BooleanLiteral extends PrimaryExpression, TypeNode { + kind: SyntaxKind.TrueKeyword | SyntaxKind.FalseKeyword; + } + interface ThisExpression extends PrimaryExpression, KeywordTypeNode { + kind: SyntaxKind.ThisKeyword; + } + interface SuperExpression extends PrimaryExpression { + kind: SyntaxKind.SuperKeyword; + } + interface ImportExpression extends PrimaryExpression { + kind: SyntaxKind.ImportKeyword; + } + interface DeleteExpression extends UnaryExpression { + kind: SyntaxKind.DeleteExpression; + expression: UnaryExpression; + } + interface TypeOfExpression extends UnaryExpression { + kind: SyntaxKind.TypeOfExpression; + expression: UnaryExpression; + } + interface VoidExpression extends UnaryExpression { + kind: SyntaxKind.VoidExpression; + expression: UnaryExpression; + } + interface AwaitExpression extends UnaryExpression { + kind: SyntaxKind.AwaitExpression; + expression: UnaryExpression; + } + interface YieldExpression extends Expression { + kind: SyntaxKind.YieldExpression; + asteriskToken?: AsteriskToken; + expression?: Expression; + } + interface SyntheticExpression extends Expression { + kind: SyntaxKind.SyntheticExpression; + isSpread: boolean; + type: Type; + } + type ExponentiationOperator = SyntaxKind.AsteriskAsteriskToken; + type MultiplicativeOperator = SyntaxKind.AsteriskToken | SyntaxKind.SlashToken | SyntaxKind.PercentToken; + type MultiplicativeOperatorOrHigher = ExponentiationOperator | MultiplicativeOperator; + type AdditiveOperator = SyntaxKind.PlusToken | SyntaxKind.MinusToken; + type AdditiveOperatorOrHigher = MultiplicativeOperatorOrHigher | AdditiveOperator; + type ShiftOperator = SyntaxKind.LessThanLessThanToken | SyntaxKind.GreaterThanGreaterThanToken | SyntaxKind.GreaterThanGreaterThanGreaterThanToken; + type ShiftOperatorOrHigher = AdditiveOperatorOrHigher | ShiftOperator; + type RelationalOperator = SyntaxKind.LessThanToken | SyntaxKind.LessThanEqualsToken | SyntaxKind.GreaterThanToken | SyntaxKind.GreaterThanEqualsToken | SyntaxKind.InstanceOfKeyword | SyntaxKind.InKeyword; + type RelationalOperatorOrHigher = ShiftOperatorOrHigher | RelationalOperator; + type EqualityOperator = SyntaxKind.EqualsEqualsToken | SyntaxKind.EqualsEqualsEqualsToken | SyntaxKind.ExclamationEqualsEqualsToken | SyntaxKind.ExclamationEqualsToken; + type EqualityOperatorOrHigher = RelationalOperatorOrHigher | EqualityOperator; + type BitwiseOperator = SyntaxKind.AmpersandToken | SyntaxKind.BarToken | SyntaxKind.CaretToken; + type BitwiseOperatorOrHigher = EqualityOperatorOrHigher | BitwiseOperator; + type LogicalOperator = SyntaxKind.AmpersandAmpersandToken | SyntaxKind.BarBarToken; + type LogicalOperatorOrHigher = BitwiseOperatorOrHigher | LogicalOperator; + type CompoundAssignmentOperator = SyntaxKind.PlusEqualsToken | SyntaxKind.MinusEqualsToken | SyntaxKind.AsteriskAsteriskEqualsToken | SyntaxKind.AsteriskEqualsToken | SyntaxKind.SlashEqualsToken | SyntaxKind.PercentEqualsToken | SyntaxKind.AmpersandEqualsToken | SyntaxKind.BarEqualsToken | SyntaxKind.CaretEqualsToken | SyntaxKind.LessThanLessThanEqualsToken | SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken | SyntaxKind.GreaterThanGreaterThanEqualsToken; + type AssignmentOperator = SyntaxKind.EqualsToken | CompoundAssignmentOperator; + type AssignmentOperatorOrHigher = LogicalOperatorOrHigher | AssignmentOperator; + type BinaryOperator = AssignmentOperatorOrHigher | SyntaxKind.CommaToken; + type BinaryOperatorToken = Token; + interface BinaryExpression extends Expression, Declaration { + kind: SyntaxKind.BinaryExpression; + left: Expression; + operatorToken: BinaryOperatorToken; + right: Expression; + } + type AssignmentOperatorToken = Token; + interface AssignmentExpression extends BinaryExpression { + left: LeftHandSideExpression; + operatorToken: TOperator; + } + interface ObjectDestructuringAssignment extends AssignmentExpression { + left: ObjectLiteralExpression; + } + interface ArrayDestructuringAssignment extends AssignmentExpression { + left: ArrayLiteralExpression; + } + type DestructuringAssignment = ObjectDestructuringAssignment | ArrayDestructuringAssignment; + type BindingOrAssignmentElement = VariableDeclaration | ParameterDeclaration | BindingElement | PropertyAssignment | ShorthandPropertyAssignment | SpreadAssignment | OmittedExpression | SpreadElement | ArrayLiteralExpression | ObjectLiteralExpression | AssignmentExpression | Identifier | PropertyAccessExpression | ElementAccessExpression; + type BindingOrAssignmentElementRestIndicator = DotDotDotToken | SpreadElement | SpreadAssignment; + type BindingOrAssignmentElementTarget = BindingOrAssignmentPattern | Identifier | PropertyAccessExpression | ElementAccessExpression | OmittedExpression; + type ObjectBindingOrAssignmentPattern = ObjectBindingPattern | ObjectLiteralExpression; + type ArrayBindingOrAssignmentPattern = ArrayBindingPattern | ArrayLiteralExpression; + type AssignmentPattern = ObjectLiteralExpression | ArrayLiteralExpression; + type BindingOrAssignmentPattern = ObjectBindingOrAssignmentPattern | ArrayBindingOrAssignmentPattern; + interface ConditionalExpression extends Expression { + kind: SyntaxKind.ConditionalExpression; + condition: Expression; + questionToken: QuestionToken; + whenTrue: Expression; + colonToken: ColonToken; + whenFalse: Expression; + } + type FunctionBody = Block; + type ConciseBody = FunctionBody | Expression; + interface FunctionExpression extends PrimaryExpression, FunctionLikeDeclarationBase, JSDocContainer { + kind: SyntaxKind.FunctionExpression; + name?: Identifier; + body: FunctionBody; + } + interface ArrowFunction extends Expression, FunctionLikeDeclarationBase, JSDocContainer { + kind: SyntaxKind.ArrowFunction; + equalsGreaterThanToken: EqualsGreaterThanToken; + body: ConciseBody; + name: never; + } + interface LiteralLikeNode extends Node { + text: string; + isUnterminated?: boolean; + hasExtendedUnicodeEscape?: boolean; + } + interface LiteralExpression extends LiteralLikeNode, PrimaryExpression { + _literalExpressionBrand: any; + } + interface RegularExpressionLiteral extends LiteralExpression { + kind: SyntaxKind.RegularExpressionLiteral; + } + interface NoSubstitutionTemplateLiteral extends LiteralExpression { + kind: SyntaxKind.NoSubstitutionTemplateLiteral; + } + interface NumericLiteral extends LiteralExpression { + kind: SyntaxKind.NumericLiteral; + } + interface BigIntLiteral extends LiteralExpression { + kind: SyntaxKind.BigIntLiteral; + } + interface TemplateHead extends LiteralLikeNode { + kind: SyntaxKind.TemplateHead; + parent: TemplateExpression; + } + interface TemplateMiddle extends LiteralLikeNode { + kind: SyntaxKind.TemplateMiddle; + parent: TemplateSpan; + } + interface TemplateTail extends LiteralLikeNode { + kind: SyntaxKind.TemplateTail; + parent: TemplateSpan; + } + type TemplateLiteral = TemplateExpression | NoSubstitutionTemplateLiteral; + interface TemplateExpression extends PrimaryExpression { + kind: SyntaxKind.TemplateExpression; + head: TemplateHead; + templateSpans: NodeArray; + } + interface TemplateSpan extends Node { + kind: SyntaxKind.TemplateSpan; + parent: TemplateExpression; + expression: Expression; + literal: TemplateMiddle | TemplateTail; + } + interface ParenthesizedExpression extends PrimaryExpression, JSDocContainer { + kind: SyntaxKind.ParenthesizedExpression; + expression: Expression; + } + interface ArrayLiteralExpression extends PrimaryExpression { + kind: SyntaxKind.ArrayLiteralExpression; + elements: NodeArray; + } + interface SpreadElement extends Expression { + kind: SyntaxKind.SpreadElement; + parent: ArrayLiteralExpression | CallExpression | NewExpression; + expression: Expression; + } + /** + * This interface is a base interface for ObjectLiteralExpression and JSXAttributes to extend from. JSXAttributes is similar to + * ObjectLiteralExpression in that it contains array of properties; however, JSXAttributes' properties can only be + * JSXAttribute or JSXSpreadAttribute. ObjectLiteralExpression, on the other hand, can only have properties of type + * ObjectLiteralElement (e.g. PropertyAssignment, ShorthandPropertyAssignment etc.) + */ + interface ObjectLiteralExpressionBase extends PrimaryExpression, Declaration { + properties: NodeArray; + } + interface ObjectLiteralExpression extends ObjectLiteralExpressionBase { + kind: SyntaxKind.ObjectLiteralExpression; + } + type EntityNameExpression = Identifier | PropertyAccessEntityNameExpression; + type EntityNameOrEntityNameExpression = EntityName | EntityNameExpression; + interface PropertyAccessExpression extends MemberExpression, NamedDeclaration { + kind: SyntaxKind.PropertyAccessExpression; + expression: LeftHandSideExpression; + name: Identifier; + } + interface SuperPropertyAccessExpression extends PropertyAccessExpression { + expression: SuperExpression; + } + /** Brand for a PropertyAccessExpression which, like a QualifiedName, consists of a sequence of identifiers separated by dots. */ + interface PropertyAccessEntityNameExpression extends PropertyAccessExpression { + _propertyAccessExpressionLikeQualifiedNameBrand?: any; + expression: EntityNameExpression; + } + interface ElementAccessExpression extends MemberExpression { + kind: SyntaxKind.ElementAccessExpression; + expression: LeftHandSideExpression; + argumentExpression: Expression; + } + interface SuperElementAccessExpression extends ElementAccessExpression { + expression: SuperExpression; + } + type SuperProperty = SuperPropertyAccessExpression | SuperElementAccessExpression; + interface CallExpression extends LeftHandSideExpression, Declaration { + kind: SyntaxKind.CallExpression; + expression: LeftHandSideExpression; + typeArguments?: NodeArray; + arguments: NodeArray; + } + interface SuperCall extends CallExpression { + expression: SuperExpression; + } + interface ImportCall extends CallExpression { + expression: ImportExpression; + } + interface ExpressionWithTypeArguments extends NodeWithTypeArguments { + kind: SyntaxKind.ExpressionWithTypeArguments; + parent: HeritageClause | JSDocAugmentsTag; + expression: LeftHandSideExpression; + } + interface NewExpression extends PrimaryExpression, Declaration { + kind: SyntaxKind.NewExpression; + expression: LeftHandSideExpression; + typeArguments?: NodeArray; + arguments?: NodeArray; + } + interface TaggedTemplateExpression extends MemberExpression { + kind: SyntaxKind.TaggedTemplateExpression; + tag: LeftHandSideExpression; + typeArguments?: NodeArray; + template: TemplateLiteral; + } + type CallLikeExpression = CallExpression | NewExpression | TaggedTemplateExpression | Decorator | JsxOpeningLikeElement; + interface AsExpression extends Expression { + kind: SyntaxKind.AsExpression; + expression: Expression; + type: TypeNode; + } + interface TypeAssertion extends UnaryExpression { + kind: SyntaxKind.TypeAssertionExpression; + type: TypeNode; + expression: UnaryExpression; + } + type AssertionExpression = TypeAssertion | AsExpression; + interface NonNullExpression extends LeftHandSideExpression { + kind: SyntaxKind.NonNullExpression; + expression: Expression; + } + interface MetaProperty extends PrimaryExpression { + kind: SyntaxKind.MetaProperty; + keywordToken: SyntaxKind.NewKeyword | SyntaxKind.ImportKeyword; + name: Identifier; + } + interface JsxElement extends PrimaryExpression { + kind: SyntaxKind.JsxElement; + openingElement: JsxOpeningElement; + children: NodeArray; + closingElement: JsxClosingElement; + } + type JsxOpeningLikeElement = JsxSelfClosingElement | JsxOpeningElement; + type JsxAttributeLike = JsxAttribute | JsxSpreadAttribute; + type JsxTagNameExpression = Identifier | ThisExpression | JsxTagNamePropertyAccess; + interface JsxTagNamePropertyAccess extends PropertyAccessExpression { + expression: JsxTagNameExpression; + } + interface JsxAttributes extends ObjectLiteralExpressionBase { + parent: JsxOpeningLikeElement; + } + interface JsxOpeningElement extends Expression { + kind: SyntaxKind.JsxOpeningElement; + parent: JsxElement; + tagName: JsxTagNameExpression; + typeArguments?: NodeArray; + attributes: JsxAttributes; + } + interface JsxSelfClosingElement extends PrimaryExpression { + kind: SyntaxKind.JsxSelfClosingElement; + tagName: JsxTagNameExpression; + typeArguments?: NodeArray; + attributes: JsxAttributes; + } + interface JsxFragment extends PrimaryExpression { + kind: SyntaxKind.JsxFragment; + openingFragment: JsxOpeningFragment; + children: NodeArray; + closingFragment: JsxClosingFragment; + } + interface JsxOpeningFragment extends Expression { + kind: SyntaxKind.JsxOpeningFragment; + parent: JsxFragment; + } + interface JsxClosingFragment extends Expression { + kind: SyntaxKind.JsxClosingFragment; + parent: JsxFragment; + } + interface JsxAttribute extends ObjectLiteralElement { + kind: SyntaxKind.JsxAttribute; + parent: JsxAttributes; + name: Identifier; + initializer?: StringLiteral | JsxExpression; + } + interface JsxSpreadAttribute extends ObjectLiteralElement { + kind: SyntaxKind.JsxSpreadAttribute; + parent: JsxAttributes; + expression: Expression; + } + interface JsxClosingElement extends Node { + kind: SyntaxKind.JsxClosingElement; + parent: JsxElement; + tagName: JsxTagNameExpression; + } + interface JsxExpression extends Expression { + kind: SyntaxKind.JsxExpression; + parent: JsxElement | JsxAttributeLike; + dotDotDotToken?: Token; + expression?: Expression; + } + interface JsxText extends Node { + kind: SyntaxKind.JsxText; + containsOnlyWhiteSpaces: boolean; + parent: JsxElement; + } + type JsxChild = JsxText | JsxExpression | JsxElement | JsxSelfClosingElement | JsxFragment; + interface Statement extends Node { + _statementBrand: any; + } + interface NotEmittedStatement extends Statement { + kind: SyntaxKind.NotEmittedStatement; + } + /** + * A list of comma-separated expressions. This node is only created by transformations. + */ + interface CommaListExpression extends Expression { + kind: SyntaxKind.CommaListExpression; + elements: NodeArray; + } + interface EmptyStatement extends Statement { + kind: SyntaxKind.EmptyStatement; + } + interface DebuggerStatement extends Statement { + kind: SyntaxKind.DebuggerStatement; + } + interface MissingDeclaration extends DeclarationStatement { + kind: SyntaxKind.MissingDeclaration; + name?: Identifier; + } + type BlockLike = SourceFile | Block | ModuleBlock | CaseOrDefaultClause; + interface Block extends Statement { + kind: SyntaxKind.Block; + statements: NodeArray; + } + interface VariableStatement extends Statement, JSDocContainer { + kind: SyntaxKind.VariableStatement; + declarationList: VariableDeclarationList; + } + interface ExpressionStatement extends Statement, JSDocContainer { + kind: SyntaxKind.ExpressionStatement; + expression: Expression; + } + interface IfStatement extends Statement { + kind: SyntaxKind.IfStatement; + expression: Expression; + thenStatement: Statement; + elseStatement?: Statement; + } + interface IterationStatement extends Statement { + statement: Statement; + } + interface DoStatement extends IterationStatement { + kind: SyntaxKind.DoStatement; + expression: Expression; + } + interface WhileStatement extends IterationStatement { + kind: SyntaxKind.WhileStatement; + expression: Expression; + } + type ForInitializer = VariableDeclarationList | Expression; + interface ForStatement extends IterationStatement { + kind: SyntaxKind.ForStatement; + initializer?: ForInitializer; + condition?: Expression; + incrementor?: Expression; + } + type ForInOrOfStatement = ForInStatement | ForOfStatement; + interface ForInStatement extends IterationStatement { + kind: SyntaxKind.ForInStatement; + initializer: ForInitializer; + expression: Expression; + } + interface ForOfStatement extends IterationStatement { + kind: SyntaxKind.ForOfStatement; + awaitModifier?: AwaitKeywordToken; + initializer: ForInitializer; + expression: Expression; + } + interface BreakStatement extends Statement { + kind: SyntaxKind.BreakStatement; + label?: Identifier; + } + interface ContinueStatement extends Statement { + kind: SyntaxKind.ContinueStatement; + label?: Identifier; + } + type BreakOrContinueStatement = BreakStatement | ContinueStatement; + interface ReturnStatement extends Statement { + kind: SyntaxKind.ReturnStatement; + expression?: Expression; + } + interface WithStatement extends Statement { + kind: SyntaxKind.WithStatement; + expression: Expression; + statement: Statement; + } + interface SwitchStatement extends Statement { + kind: SyntaxKind.SwitchStatement; + expression: Expression; + caseBlock: CaseBlock; + possiblyExhaustive?: boolean; + } + interface CaseBlock extends Node { + kind: SyntaxKind.CaseBlock; + parent: SwitchStatement; + clauses: NodeArray; + } + interface CaseClause extends Node { + kind: SyntaxKind.CaseClause; + parent: CaseBlock; + expression: Expression; + statements: NodeArray; + } + interface DefaultClause extends Node { + kind: SyntaxKind.DefaultClause; + parent: CaseBlock; + statements: NodeArray; + } + type CaseOrDefaultClause = CaseClause | DefaultClause; + interface LabeledStatement extends Statement, JSDocContainer { + kind: SyntaxKind.LabeledStatement; + label: Identifier; + statement: Statement; + } + interface ThrowStatement extends Statement { + kind: SyntaxKind.ThrowStatement; + expression?: Expression; + } + interface TryStatement extends Statement { + kind: SyntaxKind.TryStatement; + tryBlock: Block; + catchClause?: CatchClause; + finallyBlock?: Block; + } + interface CatchClause extends Node { + kind: SyntaxKind.CatchClause; + parent: TryStatement; + variableDeclaration?: VariableDeclaration; + block: Block; + } + type ObjectTypeDeclaration = ClassLikeDeclaration | InterfaceDeclaration | TypeLiteralNode; + type DeclarationWithTypeParameters = DeclarationWithTypeParameterChildren | JSDocTypedefTag | JSDocCallbackTag | JSDocSignature; + type DeclarationWithTypeParameterChildren = SignatureDeclaration | ClassLikeDeclaration | InterfaceDeclaration | TypeAliasDeclaration | JSDocTemplateTag; + interface ClassLikeDeclarationBase extends NamedDeclaration, JSDocContainer { + kind: SyntaxKind.ClassDeclaration | SyntaxKind.ClassExpression; + name?: Identifier; + typeParameters?: NodeArray; + heritageClauses?: NodeArray; + members: NodeArray; + } + interface ClassDeclaration extends ClassLikeDeclarationBase, DeclarationStatement { + kind: SyntaxKind.ClassDeclaration; + /** May be undefined in `export default class { ... }`. */ + name?: Identifier; + } + interface ClassExpression extends ClassLikeDeclarationBase, PrimaryExpression { + kind: SyntaxKind.ClassExpression; + } + type ClassLikeDeclaration = ClassDeclaration | ClassExpression; + interface ClassElement extends NamedDeclaration { + _classElementBrand: any; + name?: PropertyName; + } + interface TypeElement extends NamedDeclaration { + _typeElementBrand: any; + name?: PropertyName; + questionToken?: QuestionToken; + } + interface InterfaceDeclaration extends DeclarationStatement, JSDocContainer { + kind: SyntaxKind.InterfaceDeclaration; + name: Identifier; + typeParameters?: NodeArray; + heritageClauses?: NodeArray; + members: NodeArray; + } + interface HeritageClause extends Node { + kind: SyntaxKind.HeritageClause; + parent: InterfaceDeclaration | ClassLikeDeclaration; + token: SyntaxKind.ExtendsKeyword | SyntaxKind.ImplementsKeyword; + types: NodeArray; + } + interface TypeAliasDeclaration extends DeclarationStatement, JSDocContainer { + kind: SyntaxKind.TypeAliasDeclaration; + name: Identifier; + typeParameters?: NodeArray; + type: TypeNode; + } + interface EnumMember extends NamedDeclaration, JSDocContainer { + kind: SyntaxKind.EnumMember; + parent: EnumDeclaration; + name: PropertyName; + initializer?: Expression; + } + interface EnumDeclaration extends DeclarationStatement, JSDocContainer { + kind: SyntaxKind.EnumDeclaration; + name: Identifier; + members: NodeArray; + } + type ModuleName = Identifier | StringLiteral; + type ModuleBody = NamespaceBody | JSDocNamespaceBody; + interface ModuleDeclaration extends DeclarationStatement, JSDocContainer { + kind: SyntaxKind.ModuleDeclaration; + parent: ModuleBody | SourceFile; + name: ModuleName; + body?: ModuleBody | JSDocNamespaceDeclaration; + } + type NamespaceBody = ModuleBlock | NamespaceDeclaration; + interface NamespaceDeclaration extends ModuleDeclaration { + name: Identifier; + body: NamespaceBody; + } + type JSDocNamespaceBody = Identifier | JSDocNamespaceDeclaration; + interface JSDocNamespaceDeclaration extends ModuleDeclaration { + name: Identifier; + body?: JSDocNamespaceBody; + } + interface ModuleBlock extends Node, Statement { + kind: SyntaxKind.ModuleBlock; + parent: ModuleDeclaration; + statements: NodeArray; + } + type ModuleReference = EntityName | ExternalModuleReference; + /** + * One of: + * - import x = require("mod"); + * - import x = M.x; + */ + interface ImportEqualsDeclaration extends DeclarationStatement, JSDocContainer { + kind: SyntaxKind.ImportEqualsDeclaration; + parent: SourceFile | ModuleBlock; + name: Identifier; + moduleReference: ModuleReference; + } + interface ExternalModuleReference extends Node { + kind: SyntaxKind.ExternalModuleReference; + parent: ImportEqualsDeclaration; + expression: Expression; + } + interface ImportDeclaration extends Statement { + kind: SyntaxKind.ImportDeclaration; + parent: SourceFile | ModuleBlock; + importClause?: ImportClause; + /** If this is not a StringLiteral it will be a grammar error. */ + moduleSpecifier: Expression; + } + type NamedImportBindings = NamespaceImport | NamedImports; + interface ImportClause extends NamedDeclaration { + kind: SyntaxKind.ImportClause; + parent: ImportDeclaration; + name?: Identifier; + namedBindings?: NamedImportBindings; + } + interface NamespaceImport extends NamedDeclaration { + kind: SyntaxKind.NamespaceImport; + parent: ImportClause; + name: Identifier; + } + interface NamespaceExportDeclaration extends DeclarationStatement { + kind: SyntaxKind.NamespaceExportDeclaration; + name: Identifier; + } + interface ExportDeclaration extends DeclarationStatement, JSDocContainer { + kind: SyntaxKind.ExportDeclaration; + parent: SourceFile | ModuleBlock; + /** Will not be assigned in the case of `export * from "foo";` */ + exportClause?: NamedExports; + /** If this is not a StringLiteral it will be a grammar error. */ + moduleSpecifier?: Expression; + } + interface NamedImports extends Node { + kind: SyntaxKind.NamedImports; + parent: ImportClause; + elements: NodeArray; + } + interface NamedExports extends Node { + kind: SyntaxKind.NamedExports; + parent: ExportDeclaration; + elements: NodeArray; + } + type NamedImportsOrExports = NamedImports | NamedExports; + interface ImportSpecifier extends NamedDeclaration { + kind: SyntaxKind.ImportSpecifier; + parent: NamedImports; + propertyName?: Identifier; + name: Identifier; + } + interface ExportSpecifier extends NamedDeclaration { + kind: SyntaxKind.ExportSpecifier; + parent: NamedExports; + propertyName?: Identifier; + name: Identifier; + } + type ImportOrExportSpecifier = ImportSpecifier | ExportSpecifier; + /** + * This is either an `export =` or an `export default` declaration. + * Unless `isExportEquals` is set, this node was parsed as an `export default`. + */ + interface ExportAssignment extends DeclarationStatement { + kind: SyntaxKind.ExportAssignment; + parent: SourceFile; + isExportEquals?: boolean; + expression: Expression; + } + interface FileReference extends TextRange { + fileName: string; + } + interface CheckJsDirective extends TextRange { + enabled: boolean; + } + type CommentKind = SyntaxKind.SingleLineCommentTrivia | SyntaxKind.MultiLineCommentTrivia; + interface CommentRange extends TextRange { + hasTrailingNewLine?: boolean; + kind: CommentKind; + } + interface SynthesizedComment extends CommentRange { + text: string; + pos: -1; + end: -1; + } + interface JSDocTypeExpression extends TypeNode { + kind: SyntaxKind.JSDocTypeExpression; + type: TypeNode; + } + interface JSDocType extends TypeNode { + _jsDocTypeBrand: any; + } + interface JSDocAllType extends JSDocType { + kind: SyntaxKind.JSDocAllType; + } + interface JSDocUnknownType extends JSDocType { + kind: SyntaxKind.JSDocUnknownType; + } + interface JSDocNonNullableType extends JSDocType { + kind: SyntaxKind.JSDocNonNullableType; + type: TypeNode; + } + interface JSDocNullableType extends JSDocType { + kind: SyntaxKind.JSDocNullableType; + type: TypeNode; + } + interface JSDocOptionalType extends JSDocType { + kind: SyntaxKind.JSDocOptionalType; + type: TypeNode; + } + interface JSDocFunctionType extends JSDocType, SignatureDeclarationBase { + kind: SyntaxKind.JSDocFunctionType; + } + interface JSDocVariadicType extends JSDocType { + kind: SyntaxKind.JSDocVariadicType; + type: TypeNode; + } + type JSDocTypeReferencingNode = JSDocVariadicType | JSDocOptionalType | JSDocNullableType | JSDocNonNullableType; + interface JSDoc extends Node { + kind: SyntaxKind.JSDocComment; + parent: HasJSDoc; + tags?: NodeArray; + comment?: string; + } + interface JSDocTag extends Node { + parent: JSDoc | JSDocTypeLiteral; + tagName: Identifier; + comment?: string; + } + interface JSDocUnknownTag extends JSDocTag { + kind: SyntaxKind.JSDocTag; + } + /** + * Note that `@extends` is a synonym of `@augments`. + * Both tags are represented by this interface. + */ + interface JSDocAugmentsTag extends JSDocTag { + kind: SyntaxKind.JSDocAugmentsTag; + class: ExpressionWithTypeArguments & { + expression: Identifier | PropertyAccessEntityNameExpression; + }; + } + interface JSDocClassTag extends JSDocTag { + kind: SyntaxKind.JSDocClassTag; + } + interface JSDocEnumTag extends JSDocTag { + kind: SyntaxKind.JSDocEnumTag; + typeExpression?: JSDocTypeExpression; + } + interface JSDocThisTag extends JSDocTag { + kind: SyntaxKind.JSDocThisTag; + typeExpression?: JSDocTypeExpression; + } + interface JSDocTemplateTag extends JSDocTag { + kind: SyntaxKind.JSDocTemplateTag; + constraint: JSDocTypeExpression | undefined; + typeParameters: NodeArray; + } + interface JSDocReturnTag extends JSDocTag { + kind: SyntaxKind.JSDocReturnTag; + typeExpression?: JSDocTypeExpression; + } + interface JSDocTypeTag extends JSDocTag { + kind: SyntaxKind.JSDocTypeTag; + typeExpression?: JSDocTypeExpression; + } + interface JSDocTypedefTag extends JSDocTag, NamedDeclaration { + parent: JSDoc; + kind: SyntaxKind.JSDocTypedefTag; + fullName?: JSDocNamespaceDeclaration | Identifier; + name?: Identifier; + typeExpression?: JSDocTypeExpression | JSDocTypeLiteral; + } + interface JSDocCallbackTag extends JSDocTag, NamedDeclaration { + parent: JSDoc; + kind: SyntaxKind.JSDocCallbackTag; + fullName?: JSDocNamespaceDeclaration | Identifier; + name?: Identifier; + typeExpression: JSDocSignature; + } + interface JSDocSignature extends JSDocType, Declaration { + kind: SyntaxKind.JSDocSignature; + typeParameters?: ReadonlyArray; + parameters: ReadonlyArray; + type: JSDocReturnTag | undefined; + } + interface JSDocPropertyLikeTag extends JSDocTag, Declaration { + parent: JSDoc; + name: EntityName; + typeExpression?: JSDocTypeExpression; + /** Whether the property name came before the type -- non-standard for JSDoc, but Typescript-like */ + isNameFirst: boolean; + isBracketed: boolean; + } + interface JSDocPropertyTag extends JSDocPropertyLikeTag { + kind: SyntaxKind.JSDocPropertyTag; + } + interface JSDocParameterTag extends JSDocPropertyLikeTag { + kind: SyntaxKind.JSDocParameterTag; + } + interface JSDocTypeLiteral extends JSDocType { + kind: SyntaxKind.JSDocTypeLiteral; + jsDocPropertyTags?: ReadonlyArray; + /** If true, then this type literal represents an *array* of its type. */ + isArrayType?: boolean; + } + enum FlowFlags { + Unreachable = 1, + Start = 2, + BranchLabel = 4, + LoopLabel = 8, + Assignment = 16, + TrueCondition = 32, + FalseCondition = 64, + SwitchClause = 128, + ArrayMutation = 256, + Referenced = 512, + Shared = 1024, + PreFinally = 2048, + AfterFinally = 4096, + Label = 12, + Condition = 96 + } + interface FlowLock { + locked?: boolean; + } + interface AfterFinallyFlow extends FlowNodeBase, FlowLock { + antecedent: FlowNode; + } + interface PreFinallyFlow extends FlowNodeBase { + antecedent: FlowNode; + lock: FlowLock; + } + type FlowNode = AfterFinallyFlow | PreFinallyFlow | FlowStart | FlowLabel | FlowAssignment | FlowCondition | FlowSwitchClause | FlowArrayMutation; + interface FlowNodeBase { + flags: FlowFlags; + id?: number; + } + interface FlowStart extends FlowNodeBase { + container?: FunctionExpression | ArrowFunction | MethodDeclaration; + } + interface FlowLabel extends FlowNodeBase { + antecedents: FlowNode[] | undefined; + } + interface FlowAssignment extends FlowNodeBase { + node: Expression | VariableDeclaration | BindingElement; + antecedent: FlowNode; + } + interface FlowCondition extends FlowNodeBase { + expression: Expression; + antecedent: FlowNode; + } + interface FlowSwitchClause extends FlowNodeBase { + switchStatement: SwitchStatement; + clauseStart: number; + clauseEnd: number; + antecedent: FlowNode; + } + interface FlowArrayMutation extends FlowNodeBase { + node: CallExpression | BinaryExpression; + antecedent: FlowNode; + } + type FlowType = Type | IncompleteType; + interface IncompleteType { + flags: TypeFlags; + type: Type; + } + interface AmdDependency { + path: string; + name?: string; + } + interface SourceFile extends Declaration { + kind: SyntaxKind.SourceFile; + statements: NodeArray; + endOfFileToken: Token; + fileName: string; + text: string; + amdDependencies: ReadonlyArray; + moduleName?: string; + referencedFiles: ReadonlyArray; + typeReferenceDirectives: ReadonlyArray; + libReferenceDirectives: ReadonlyArray; + languageVariant: LanguageVariant; + isDeclarationFile: boolean; + /** + * lib.d.ts should have a reference comment like + * + * /// + * + * If any other file has this comment, it signals not to include lib.d.ts + * because this containing file is intended to act as a default library. + */ + hasNoDefaultLib: boolean; + languageVersion: ScriptTarget; + } + interface Bundle extends Node { + kind: SyntaxKind.Bundle; + prepends: ReadonlyArray; + sourceFiles: ReadonlyArray; + } + interface InputFiles extends Node { + kind: SyntaxKind.InputFiles; + javascriptText: string; + javascriptMapPath?: string; + javascriptMapText?: string; + declarationText: string; + declarationMapPath?: string; + declarationMapText?: string; + } + interface UnparsedSource extends Node { + kind: SyntaxKind.UnparsedSource; + text: string; + sourceMapPath?: string; + sourceMapText?: string; + } + interface JsonSourceFile extends SourceFile { + statements: NodeArray; + } + interface TsConfigSourceFile extends JsonSourceFile { + extendedSourceFiles?: string[]; + } + interface JsonMinusNumericLiteral extends PrefixUnaryExpression { + kind: SyntaxKind.PrefixUnaryExpression; + operator: SyntaxKind.MinusToken; + operand: NumericLiteral; + } + interface JsonObjectExpressionStatement extends ExpressionStatement { + expression: ObjectLiteralExpression | ArrayLiteralExpression | JsonMinusNumericLiteral | NumericLiteral | StringLiteral | BooleanLiteral | NullLiteral; + } + interface ScriptReferenceHost { + getCompilerOptions(): CompilerOptions; + getSourceFile(fileName: string): SourceFile | undefined; + getSourceFileByPath(path: Path): SourceFile | undefined; + getCurrentDirectory(): string; + } + interface ParseConfigHost { + useCaseSensitiveFileNames: boolean; + readDirectory(rootDir: string, extensions: ReadonlyArray, excludes: ReadonlyArray | undefined, includes: ReadonlyArray, depth?: number): ReadonlyArray; + /** + * Gets a value indicating whether the specified path exists and is a file. + * @param path The path to test. + */ + fileExists(path: string): boolean; + readFile(path: string): string | undefined; + trace?(s: string): void; + } + /** + * Branded string for keeping track of when we've turned an ambiguous path + * specified like "./blah" to an absolute path to an actual + * tsconfig file, e.g. "/root/blah/tsconfig.json" + */ + type ResolvedConfigFileName = string & { + _isResolvedConfigFileName: never; + }; + type WriteFileCallback = (fileName: string, data: string, writeByteOrderMark: boolean, onError: ((message: string) => void) | undefined, sourceFiles?: ReadonlyArray) => void; + class OperationCanceledException { + } + interface CancellationToken { + isCancellationRequested(): boolean; + /** @throws OperationCanceledException if isCancellationRequested is true */ + throwIfCancellationRequested(): void; + } + interface Program extends ScriptReferenceHost { + /** + * Get a list of root file names that were passed to a 'createProgram' + */ + getRootFileNames(): ReadonlyArray; + /** + * Get a list of files in the program + */ + getSourceFiles(): ReadonlyArray; + /** + * Emits the JavaScript and declaration files. If targetSourceFile is not specified, then + * the JavaScript and declaration files will be produced for all the files in this program. + * If targetSourceFile is specified, then only the JavaScript and declaration for that + * specific file will be generated. + * + * If writeFile is not specified then the writeFile callback from the compiler host will be + * used for writing the JavaScript and declaration files. Otherwise, the writeFile parameter + * will be invoked when writing the JavaScript and declaration files. + */ + emit(targetSourceFile?: SourceFile, writeFile?: WriteFileCallback, cancellationToken?: CancellationToken, emitOnlyDtsFiles?: boolean, customTransformers?: CustomTransformers): EmitResult; + getOptionsDiagnostics(cancellationToken?: CancellationToken): ReadonlyArray; + getGlobalDiagnostics(cancellationToken?: CancellationToken): ReadonlyArray; + getSyntacticDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): ReadonlyArray; + /** The first time this is called, it will return global diagnostics (no location). */ + getSemanticDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): ReadonlyArray; + getDeclarationDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): ReadonlyArray; + getConfigFileParsingDiagnostics(): ReadonlyArray; + /** + * Gets a type checker that can be used to semantically analyze source files in the program. + */ + getTypeChecker(): TypeChecker; + isSourceFileFromExternalLibrary(file: SourceFile): boolean; + isSourceFileDefaultLibrary(file: SourceFile): boolean; + getProjectReferences(): ReadonlyArray | undefined; + getResolvedProjectReferences(): ReadonlyArray | undefined; + } + interface ResolvedProjectReference { + commandLine: ParsedCommandLine; + sourceFile: SourceFile; + references?: ReadonlyArray; + } + interface CustomTransformers { + /** Custom transformers to evaluate before built-in .js transformations. */ + before?: TransformerFactory[]; + /** Custom transformers to evaluate after built-in .js transformations. */ + after?: TransformerFactory[]; + /** Custom transformers to evaluate after built-in .d.ts transformations. */ + afterDeclarations?: TransformerFactory[]; + } + interface SourceMapSpan { + /** Line number in the .js file. */ + emittedLine: number; + /** Column number in the .js file. */ + emittedColumn: number; + /** Line number in the .ts file. */ + sourceLine: number; + /** Column number in the .ts file. */ + sourceColumn: number; + /** Optional name (index into names array) associated with this span. */ + nameIndex?: number; + /** .ts file (index into sources array) associated with this span */ + sourceIndex: number; + } + /** Return code used by getEmitOutput function to indicate status of the function */ + enum ExitStatus { + Success = 0, + DiagnosticsPresent_OutputsSkipped = 1, + DiagnosticsPresent_OutputsGenerated = 2 + } + interface EmitResult { + emitSkipped: boolean; + /** Contains declaration emit diagnostics */ + diagnostics: ReadonlyArray; + emittedFiles?: string[]; + } + interface TypeChecker { + getTypeOfSymbolAtLocation(symbol: Symbol, node: Node): Type; + getDeclaredTypeOfSymbol(symbol: Symbol): Type; + getPropertiesOfType(type: Type): Symbol[]; + getPropertyOfType(type: Type, propertyName: string): Symbol | undefined; + getIndexInfoOfType(type: Type, kind: IndexKind): IndexInfo | undefined; + getSignaturesOfType(type: Type, kind: SignatureKind): ReadonlyArray; + getIndexTypeOfType(type: Type, kind: IndexKind): Type | undefined; + getBaseTypes(type: InterfaceType): BaseType[]; + getBaseTypeOfLiteralType(type: Type): Type; + getWidenedType(type: Type): Type; + getReturnTypeOfSignature(signature: Signature): Type; + getNullableType(type: Type, flags: TypeFlags): Type; + getNonNullableType(type: Type): Type; + /** Note that the resulting nodes cannot be checked. */ + typeToTypeNode(type: Type, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): TypeNode | undefined; + /** Note that the resulting nodes cannot be checked. */ + signatureToSignatureDeclaration(signature: Signature, kind: SyntaxKind, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): (SignatureDeclaration & { + typeArguments?: NodeArray; + }) | undefined; + /** Note that the resulting nodes cannot be checked. */ + indexInfoToIndexSignatureDeclaration(indexInfo: IndexInfo, kind: IndexKind, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): IndexSignatureDeclaration | undefined; + /** Note that the resulting nodes cannot be checked. */ + symbolToEntityName(symbol: Symbol, meaning: SymbolFlags, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): EntityName | undefined; + /** Note that the resulting nodes cannot be checked. */ + symbolToExpression(symbol: Symbol, meaning: SymbolFlags, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): Expression | undefined; + /** Note that the resulting nodes cannot be checked. */ + symbolToTypeParameterDeclarations(symbol: Symbol, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): NodeArray | undefined; + /** Note that the resulting nodes cannot be checked. */ + symbolToParameterDeclaration(symbol: Symbol, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): ParameterDeclaration | undefined; + /** Note that the resulting nodes cannot be checked. */ + typeParameterToDeclaration(parameter: TypeParameter, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): TypeParameterDeclaration | undefined; + getSymbolsInScope(location: Node, meaning: SymbolFlags): Symbol[]; + getSymbolAtLocation(node: Node): Symbol | undefined; + getSymbolsOfParameterPropertyDeclaration(parameter: ParameterDeclaration, parameterName: string): Symbol[]; + /** + * The function returns the value (local variable) symbol of an identifier in the short-hand property assignment. + * This is necessary as an identifier in short-hand property assignment can contains two meaning: property name and property value. + */ + getShorthandAssignmentValueSymbol(location: Node): Symbol | undefined; + getExportSpecifierLocalTargetSymbol(location: ExportSpecifier): Symbol | undefined; + /** + * If a symbol is a local symbol with an associated exported symbol, returns the exported symbol. + * Otherwise returns its input. + * For example, at `export type T = number;`: + * - `getSymbolAtLocation` at the location `T` will return the exported symbol for `T`. + * - But the result of `getSymbolsInScope` will contain the *local* symbol for `T`, not the exported symbol. + * - Calling `getExportSymbolOfSymbol` on that local symbol will return the exported symbol. + */ + getExportSymbolOfSymbol(symbol: Symbol): Symbol; + getPropertySymbolOfDestructuringAssignment(location: Identifier): Symbol | undefined; + getTypeAtLocation(node: Node): Type; + getTypeFromTypeNode(node: TypeNode): Type; + signatureToString(signature: Signature, enclosingDeclaration?: Node, flags?: TypeFormatFlags, kind?: SignatureKind): string; + typeToString(type: Type, enclosingDeclaration?: Node, flags?: TypeFormatFlags): string; + symbolToString(symbol: Symbol, enclosingDeclaration?: Node, meaning?: SymbolFlags, flags?: SymbolFormatFlags): string; + typePredicateToString(predicate: TypePredicate, enclosingDeclaration?: Node, flags?: TypeFormatFlags): string; + getFullyQualifiedName(symbol: Symbol): string; + getAugmentedPropertiesOfType(type: Type): Symbol[]; + getRootSymbols(symbol: Symbol): ReadonlyArray; + getContextualType(node: Expression): Type | undefined; + /** + * returns unknownSignature in the case of an error. + * returns undefined if the node is not valid. + * @param argumentCount Apparent number of arguments, passed in case of a possibly incomplete call. This should come from an ArgumentListInfo. See `signatureHelp.ts`. + */ + getResolvedSignature(node: CallLikeExpression, candidatesOutArray?: Signature[], argumentCount?: number): Signature | undefined; + getSignatureFromDeclaration(declaration: SignatureDeclaration): Signature | undefined; + isImplementationOfOverload(node: SignatureDeclaration): boolean | undefined; + isUndefinedSymbol(symbol: Symbol): boolean; + isArgumentsSymbol(symbol: Symbol): boolean; + isUnknownSymbol(symbol: Symbol): boolean; + getConstantValue(node: EnumMember | PropertyAccessExpression | ElementAccessExpression): string | number | undefined; + isValidPropertyAccess(node: PropertyAccessExpression | QualifiedName | ImportTypeNode, propertyName: string): boolean; + /** Follow all aliases to get the original symbol. */ + getAliasedSymbol(symbol: Symbol): Symbol; + getExportsOfModule(moduleSymbol: Symbol): Symbol[]; + getJsxIntrinsicTagNamesAt(location: Node): Symbol[]; + isOptionalParameter(node: ParameterDeclaration): boolean; + getAmbientModules(): Symbol[]; + tryGetMemberInModuleExports(memberName: string, moduleSymbol: Symbol): Symbol | undefined; + getApparentType(type: Type): Type; + getBaseConstraintOfType(type: Type): Type | undefined; + getDefaultFromTypeParameter(type: Type): Type | undefined; + /** + * Depending on the operation performed, it may be appropriate to throw away the checker + * if the cancellation token is triggered. Typically, if it is used for error checking + * and the operation is cancelled, then it should be discarded, otherwise it is safe to keep. + */ + runWithCancellationToken(token: CancellationToken, cb: (checker: TypeChecker) => T): T; + } + enum NodeBuilderFlags { + None = 0, + NoTruncation = 1, + WriteArrayAsGenericType = 2, + GenerateNamesForShadowedTypeParams = 4, + UseStructuralFallback = 8, + ForbidIndexedAccessSymbolReferences = 16, + WriteTypeArgumentsOfSignature = 32, + UseFullyQualifiedType = 64, + UseOnlyExternalAliasing = 128, + SuppressAnyReturnType = 256, + WriteTypeParametersInQualifiedName = 512, + MultilineObjectLiterals = 1024, + WriteClassExpressionAsTypeLiteral = 2048, + UseTypeOfFunction = 4096, + OmitParameterModifiers = 8192, + UseAliasDefinedOutsideCurrentScope = 16384, + AllowThisInObjectLiteral = 32768, + AllowQualifedNameInPlaceOfIdentifier = 65536, + AllowAnonymousIdentifier = 131072, + AllowEmptyUnionOrIntersection = 262144, + AllowEmptyTuple = 524288, + AllowUniqueESSymbolType = 1048576, + AllowEmptyIndexInfoType = 2097152, + AllowNodeModulesRelativePaths = 67108864, + IgnoreErrors = 70221824, + InObjectTypeLiteral = 4194304, + InTypeAlias = 8388608, + InInitialEntityName = 16777216, + InReverseMappedType = 33554432 + } + enum TypeFormatFlags { + None = 0, + NoTruncation = 1, + WriteArrayAsGenericType = 2, + UseStructuralFallback = 8, + WriteTypeArgumentsOfSignature = 32, + UseFullyQualifiedType = 64, + SuppressAnyReturnType = 256, + MultilineObjectLiterals = 1024, + WriteClassExpressionAsTypeLiteral = 2048, + UseTypeOfFunction = 4096, + OmitParameterModifiers = 8192, + UseAliasDefinedOutsideCurrentScope = 16384, + AllowUniqueESSymbolType = 1048576, + AddUndefined = 131072, + WriteArrowStyleSignature = 262144, + InArrayType = 524288, + InElementType = 2097152, + InFirstTypeArgument = 4194304, + InTypeAlias = 8388608, + /** @deprecated */ WriteOwnNameForAnyLike = 0, + NodeBuilderFlagsMask = 9469291 + } + enum SymbolFormatFlags { + None = 0, + WriteTypeParametersOrArguments = 1, + UseOnlyExternalAliasing = 2, + AllowAnyNodeKind = 4, + UseAliasDefinedOutsideCurrentScope = 8 + } + enum TypePredicateKind { + This = 0, + Identifier = 1 + } + interface TypePredicateBase { + kind: TypePredicateKind; + type: Type; + } + interface ThisTypePredicate extends TypePredicateBase { + kind: TypePredicateKind.This; + } + interface IdentifierTypePredicate extends TypePredicateBase { + kind: TypePredicateKind.Identifier; + parameterName: string; + parameterIndex: number; + } + type TypePredicate = IdentifierTypePredicate | ThisTypePredicate; + enum SymbolFlags { + None = 0, + FunctionScopedVariable = 1, + BlockScopedVariable = 2, + Property = 4, + EnumMember = 8, + Function = 16, + Class = 32, + Interface = 64, + ConstEnum = 128, + RegularEnum = 256, + ValueModule = 512, + NamespaceModule = 1024, + TypeLiteral = 2048, + ObjectLiteral = 4096, + Method = 8192, + Constructor = 16384, + GetAccessor = 32768, + SetAccessor = 65536, + Signature = 131072, + TypeParameter = 262144, + TypeAlias = 524288, + ExportValue = 1048576, + Alias = 2097152, + Prototype = 4194304, + ExportStar = 8388608, + Optional = 16777216, + Transient = 33554432, + Assignment = 67108864, + ModuleExports = 134217728, + Enum = 384, + Variable = 3, + Value = 67220415, + Type = 67897832, + Namespace = 1920, + Module = 1536, + Accessor = 98304, + FunctionScopedVariableExcludes = 67220414, + BlockScopedVariableExcludes = 67220415, + ParameterExcludes = 67220415, + PropertyExcludes = 0, + EnumMemberExcludes = 68008959, + FunctionExcludes = 67219887, + ClassExcludes = 68008383, + InterfaceExcludes = 67897736, + RegularEnumExcludes = 68008191, + ConstEnumExcludes = 68008831, + ValueModuleExcludes = 110735, + NamespaceModuleExcludes = 0, + MethodExcludes = 67212223, + GetAccessorExcludes = 67154879, + SetAccessorExcludes = 67187647, + TypeParameterExcludes = 67635688, + TypeAliasExcludes = 67897832, + AliasExcludes = 2097152, + ModuleMember = 2623475, + ExportHasLocal = 944, + BlockScoped = 418, + PropertyOrAccessor = 98308, + ClassMember = 106500 + } + interface Symbol { + flags: SymbolFlags; + escapedName: __String; + declarations: Declaration[]; + valueDeclaration: Declaration; + members?: SymbolTable; + exports?: SymbolTable; + globalExports?: SymbolTable; + } + enum InternalSymbolName { + Call = "__call", + Constructor = "__constructor", + New = "__new", + Index = "__index", + ExportStar = "__export", + Global = "__global", + Missing = "__missing", + Type = "__type", + Object = "__object", + JSXAttributes = "__jsxAttributes", + Class = "__class", + Function = "__function", + Computed = "__computed", + Resolving = "__resolving__", + ExportEquals = "export=", + Default = "default", + This = "this" + } + /** + * This represents a string whose leading underscore have been escaped by adding extra leading underscores. + * The shape of this brand is rather unique compared to others we've used. + * Instead of just an intersection of a string and an object, it is that union-ed + * with an intersection of void and an object. This makes it wholly incompatible + * with a normal string (which is good, it cannot be misused on assignment or on usage), + * while still being comparable with a normal string via === (also good) and castable from a string. + */ + type __String = (string & { + __escapedIdentifier: void; + }) | (void & { + __escapedIdentifier: void; + }) | InternalSymbolName; + /** ReadonlyMap where keys are `__String`s. */ + interface ReadonlyUnderscoreEscapedMap { + get(key: __String): T | undefined; + has(key: __String): boolean; + forEach(action: (value: T, key: __String) => void): void; + readonly size: number; + keys(): Iterator<__String>; + values(): Iterator; + entries(): Iterator<[__String, T]>; + } + /** Map where keys are `__String`s. */ + interface UnderscoreEscapedMap extends ReadonlyUnderscoreEscapedMap { + set(key: __String, value: T): this; + delete(key: __String): boolean; + clear(): void; + } + /** SymbolTable based on ES6 Map interface. */ + type SymbolTable = UnderscoreEscapedMap; + enum TypeFlags { + Any = 1, + Unknown = 2, + String = 4, + Number = 8, + Boolean = 16, + Enum = 32, + BigInt = 64, + StringLiteral = 128, + NumberLiteral = 256, + BooleanLiteral = 512, + EnumLiteral = 1024, + BigIntLiteral = 2048, + ESSymbol = 4096, + UniqueESSymbol = 8192, + Void = 16384, + Undefined = 32768, + Null = 65536, + Never = 131072, + TypeParameter = 262144, + Object = 524288, + Union = 1048576, + Intersection = 2097152, + Index = 4194304, + IndexedAccess = 8388608, + Conditional = 16777216, + Substitution = 33554432, + NonPrimitive = 67108864, + Literal = 2944, + Unit = 109440, + StringOrNumberLiteral = 384, + PossiblyFalsy = 117724, + StringLike = 132, + NumberLike = 296, + BigIntLike = 2112, + BooleanLike = 528, + EnumLike = 1056, + ESSymbolLike = 12288, + VoidLike = 49152, + UnionOrIntersection = 3145728, + StructuredType = 3670016, + TypeVariable = 8650752, + InstantiableNonPrimitive = 58982400, + InstantiablePrimitive = 4194304, + Instantiable = 63176704, + StructuredOrInstantiable = 66846720, + Narrowable = 133970943, + NotUnionOrUnit = 67637251 + } + type DestructuringPattern = BindingPattern | ObjectLiteralExpression | ArrayLiteralExpression; + interface Type { + flags: TypeFlags; + symbol: Symbol; + pattern?: DestructuringPattern; + aliasSymbol?: Symbol; + aliasTypeArguments?: ReadonlyArray; + } + interface LiteralType extends Type { + value: string | number | PseudoBigInt; + freshType: LiteralType; + regularType: LiteralType; + } + interface UniqueESSymbolType extends Type { + symbol: Symbol; + } + interface StringLiteralType extends LiteralType { + value: string; + } + interface NumberLiteralType extends LiteralType { + value: number; + } + interface BigIntLiteralType extends LiteralType { + value: PseudoBigInt; + } + interface EnumType extends Type { + } + enum ObjectFlags { + Class = 1, + Interface = 2, + Reference = 4, + Tuple = 8, + Anonymous = 16, + Mapped = 32, + Instantiated = 64, + ObjectLiteral = 128, + EvolvingArray = 256, + ObjectLiteralPatternWithComputedProperties = 512, + ContainsSpread = 1024, + ReverseMapped = 2048, + JsxAttributes = 4096, + MarkerType = 8192, + JSLiteral = 16384, + FreshLiteral = 32768, + ClassOrInterface = 3 + } + interface ObjectType extends Type { + objectFlags: ObjectFlags; + } + /** Class and interface types (ObjectFlags.Class and ObjectFlags.Interface). */ + interface InterfaceType extends ObjectType { + typeParameters: TypeParameter[] | undefined; + outerTypeParameters: TypeParameter[] | undefined; + localTypeParameters: TypeParameter[] | undefined; + thisType: TypeParameter | undefined; + } + type BaseType = ObjectType | IntersectionType; + interface InterfaceTypeWithDeclaredMembers extends InterfaceType { + declaredProperties: Symbol[]; + declaredCallSignatures: Signature[]; + declaredConstructSignatures: Signature[]; + declaredStringIndexInfo?: IndexInfo; + declaredNumberIndexInfo?: IndexInfo; + } + /** + * Type references (ObjectFlags.Reference). When a class or interface has type parameters or + * a "this" type, references to the class or interface are made using type references. The + * typeArguments property specifies the types to substitute for the type parameters of the + * class or interface and optionally includes an extra element that specifies the type to + * substitute for "this" in the resulting instantiation. When no extra argument is present, + * the type reference itself is substituted for "this". The typeArguments property is undefined + * if the class or interface has no type parameters and the reference isn't specifying an + * explicit "this" argument. + */ + interface TypeReference extends ObjectType { + target: GenericType; + typeArguments?: ReadonlyArray; + } + interface GenericType extends InterfaceType, TypeReference { + } + interface TupleType extends GenericType { + minLength: number; + hasRestElement: boolean; + associatedNames?: __String[]; + } + interface TupleTypeReference extends TypeReference { + target: TupleType; + } + interface UnionOrIntersectionType extends Type { + types: Type[]; + } + interface UnionType extends UnionOrIntersectionType { + } + interface IntersectionType extends UnionOrIntersectionType { + } + type StructuredType = ObjectType | UnionType | IntersectionType; + interface EvolvingArrayType extends ObjectType { + elementType: Type; + finalArrayType?: Type; + } + interface InstantiableType extends Type { + } + interface TypeParameter extends InstantiableType { + } + interface IndexedAccessType extends InstantiableType { + objectType: Type; + indexType: Type; + constraint?: Type; + simplified?: Type; + } + type TypeVariable = TypeParameter | IndexedAccessType; + interface IndexType extends InstantiableType { + type: InstantiableType | UnionOrIntersectionType; + } + interface ConditionalRoot { + node: ConditionalTypeNode; + checkType: Type; + extendsType: Type; + trueType: Type; + falseType: Type; + isDistributive: boolean; + inferTypeParameters?: TypeParameter[]; + outerTypeParameters?: TypeParameter[]; + instantiations?: Map; + aliasSymbol?: Symbol; + aliasTypeArguments?: Type[]; + } + interface ConditionalType extends InstantiableType { + root: ConditionalRoot; + checkType: Type; + extendsType: Type; + resolvedTrueType?: Type; + resolvedFalseType?: Type; + } + interface SubstitutionType extends InstantiableType { + typeVariable: TypeVariable; + substitute: Type; + } + enum SignatureKind { + Call = 0, + Construct = 1 + } + interface Signature { + declaration?: SignatureDeclaration | JSDocSignature; + typeParameters?: ReadonlyArray; + parameters: ReadonlyArray; + } + enum IndexKind { + String = 0, + Number = 1 + } + interface IndexInfo { + type: Type; + isReadonly: boolean; + declaration?: IndexSignatureDeclaration; + } + enum InferencePriority { + NakedTypeVariable = 1, + HomomorphicMappedType = 2, + MappedTypeConstraint = 4, + ReturnType = 8, + LiteralKeyof = 16, + NoConstraints = 32, + AlwaysStrict = 64, + PriorityImpliesCombination = 28 + } + /** @deprecated Use FileExtensionInfo instead. */ + type JsFileExtensionInfo = FileExtensionInfo; + interface FileExtensionInfo { + extension: string; + isMixedContent: boolean; + scriptKind?: ScriptKind; + } + interface DiagnosticMessage { + key: string; + category: DiagnosticCategory; + code: number; + message: string; + reportsUnnecessary?: {}; + } + /** + * A linked list of formatted diagnostic messages to be used as part of a multiline message. + * It is built from the bottom up, leaving the head to be the "main" diagnostic. + * While it seems that DiagnosticMessageChain is structurally similar to DiagnosticMessage, + * the difference is that messages are all preformatted in DMC. + */ + interface DiagnosticMessageChain { + messageText: string; + category: DiagnosticCategory; + code: number; + next?: DiagnosticMessageChain; + } + interface Diagnostic extends DiagnosticRelatedInformation { + /** May store more in future. For now, this will simply be `true` to indicate when a diagnostic is an unused-identifier diagnostic. */ + reportsUnnecessary?: {}; + source?: string; + relatedInformation?: DiagnosticRelatedInformation[]; + } + interface DiagnosticRelatedInformation { + category: DiagnosticCategory; + code: number; + file: SourceFile | undefined; + start: number | undefined; + length: number | undefined; + messageText: string | DiagnosticMessageChain; + } + interface DiagnosticWithLocation extends Diagnostic { + file: SourceFile; + start: number; + length: number; + } + enum DiagnosticCategory { + Warning = 0, + Error = 1, + Suggestion = 2, + Message = 3 + } + enum ModuleResolutionKind { + Classic = 1, + NodeJs = 2 + } + interface PluginImport { + name: string; + } + interface ProjectReference { + /** A normalized path on disk */ + path: string; + /** The path as the user originally wrote it */ + originalPath?: string; + /** True if the output of this reference should be prepended to the output of this project. Only valid for --outFile compilations */ + prepend?: boolean; + /** True if it is intended that this reference form a circularity */ + circular?: boolean; + } + type CompilerOptionsValue = string | number | boolean | (string | number)[] | string[] | MapLike | PluginImport[] | ProjectReference[] | null | undefined; + interface CompilerOptions { + allowJs?: boolean; + allowSyntheticDefaultImports?: boolean; + allowUnreachableCode?: boolean; + allowUnusedLabels?: boolean; + alwaysStrict?: boolean; + baseUrl?: string; + charset?: string; + checkJs?: boolean; + declaration?: boolean; + declarationMap?: boolean; + emitDeclarationOnly?: boolean; + declarationDir?: string; + disableSizeLimit?: boolean; + downlevelIteration?: boolean; + emitBOM?: boolean; + emitDecoratorMetadata?: boolean; + experimentalDecorators?: boolean; + forceConsistentCasingInFileNames?: boolean; + importHelpers?: boolean; + inlineSourceMap?: boolean; + inlineSources?: boolean; + isolatedModules?: boolean; + jsx?: JsxEmit; + keyofStringsOnly?: boolean; + lib?: string[]; + locale?: string; + mapRoot?: string; + maxNodeModuleJsDepth?: number; + module?: ModuleKind; + moduleResolution?: ModuleResolutionKind; + newLine?: NewLineKind; + noEmit?: boolean; + noEmitHelpers?: boolean; + noEmitOnError?: boolean; + noErrorTruncation?: boolean; + noFallthroughCasesInSwitch?: boolean; + noImplicitAny?: boolean; + noImplicitReturns?: boolean; + noImplicitThis?: boolean; + noStrictGenericChecks?: boolean; + noUnusedLocals?: boolean; + noUnusedParameters?: boolean; + noImplicitUseStrict?: boolean; + noLib?: boolean; + noResolve?: boolean; + out?: string; + outDir?: string; + outFile?: string; + paths?: MapLike; + preserveConstEnums?: boolean; + preserveSymlinks?: boolean; + project?: string; + reactNamespace?: string; + jsxFactory?: string; + composite?: boolean; + removeComments?: boolean; + rootDir?: string; + rootDirs?: string[]; + skipLibCheck?: boolean; + skipDefaultLibCheck?: boolean; + sourceMap?: boolean; + sourceRoot?: string; + strict?: boolean; + strictFunctionTypes?: boolean; + strictBindCallApply?: boolean; + strictNullChecks?: boolean; + strictPropertyInitialization?: boolean; + stripInternal?: boolean; + suppressExcessPropertyErrors?: boolean; + suppressImplicitAnyIndexErrors?: boolean; + target?: ScriptTarget; + traceResolution?: boolean; + resolveJsonModule?: boolean; + types?: string[]; + /** Paths used to compute primary types search locations */ + typeRoots?: string[]; + esModuleInterop?: boolean; + [option: string]: CompilerOptionsValue | TsConfigSourceFile | undefined; + } + interface TypeAcquisition { + enableAutoDiscovery?: boolean; + enable?: boolean; + include?: string[]; + exclude?: string[]; + [option: string]: string[] | boolean | undefined; + } + enum ModuleKind { + None = 0, + CommonJS = 1, + AMD = 2, + UMD = 3, + System = 4, + ES2015 = 5, + ESNext = 6 + } + enum JsxEmit { + None = 0, + Preserve = 1, + React = 2, + ReactNative = 3 + } + enum NewLineKind { + CarriageReturnLineFeed = 0, + LineFeed = 1 + } + interface LineAndCharacter { + /** 0-based. */ + line: number; + character: number; + } + enum ScriptKind { + Unknown = 0, + JS = 1, + JSX = 2, + TS = 3, + TSX = 4, + External = 5, + JSON = 6, + /** + * Used on extensions that doesn't define the ScriptKind but the content defines it. + * Deferred extensions are going to be included in all project contexts. + */ + Deferred = 7 + } + enum ScriptTarget { + ES3 = 0, + ES5 = 1, + ES2015 = 2, + ES2016 = 3, + ES2017 = 4, + ES2018 = 5, + ESNext = 6, + JSON = 100, + Latest = 6 + } + enum LanguageVariant { + Standard = 0, + JSX = 1 + } + /** Either a parsed command line or a parsed tsconfig.json */ + interface ParsedCommandLine { + options: CompilerOptions; + typeAcquisition?: TypeAcquisition; + fileNames: string[]; + projectReferences?: ReadonlyArray; + raw?: any; + errors: Diagnostic[]; + wildcardDirectories?: MapLike; + compileOnSave?: boolean; + } + enum WatchDirectoryFlags { + None = 0, + Recursive = 1 + } + interface ExpandResult { + fileNames: string[]; + wildcardDirectories: MapLike; + } + interface CreateProgramOptions { + rootNames: ReadonlyArray; + options: CompilerOptions; + projectReferences?: ReadonlyArray; + host?: CompilerHost; + oldProgram?: Program; + configFileParsingDiagnostics?: ReadonlyArray; + } + interface ModuleResolutionHost { + fileExists(fileName: string): boolean; + readFile(fileName: string): string | undefined; + trace?(s: string): void; + directoryExists?(directoryName: string): boolean; + /** + * Resolve a symbolic link. + * @see https://nodejs.org/api/fs.html#fs_fs_realpathsync_path_options + */ + realpath?(path: string): string; + getCurrentDirectory?(): string; + getDirectories?(path: string): string[]; + } + /** + * Represents the result of module resolution. + * Module resolution will pick up tsx/jsx/js files even if '--jsx' and '--allowJs' are turned off. + * The Program will then filter results based on these flags. + * + * Prefer to return a `ResolvedModuleFull` so that the file type does not have to be inferred. + */ + interface ResolvedModule { + /** Path of the file the module was resolved to. */ + resolvedFileName: string; + /** True if `resolvedFileName` comes from `node_modules`. */ + isExternalLibraryImport?: boolean; + } + /** + * ResolvedModule with an explicitly provided `extension` property. + * Prefer this over `ResolvedModule`. + * If changing this, remember to change `moduleResolutionIsEqualTo`. + */ + interface ResolvedModuleFull extends ResolvedModule { + /** + * Extension of resolvedFileName. This must match what's at the end of resolvedFileName. + * This is optional for backwards-compatibility, but will be added if not provided. + */ + extension: Extension; + packageId?: PackageId; + } + /** + * Unique identifier with a package name and version. + * If changing this, remember to change `packageIdIsEqual`. + */ + interface PackageId { + /** + * Name of the package. + * Should not include `@types`. + * If accessing a non-index file, this should include its name e.g. "foo/bar". + */ + name: string; + /** + * Name of a submodule within this package. + * May be "". + */ + subModuleName: string; + /** Version of the package, e.g. "1.2.3" */ + version: string; + } + enum Extension { + Ts = ".ts", + Tsx = ".tsx", + Dts = ".d.ts", + Js = ".js", + Jsx = ".jsx", + Json = ".json" + } + interface ResolvedModuleWithFailedLookupLocations { + readonly resolvedModule: ResolvedModuleFull | undefined; + } + interface ResolvedTypeReferenceDirective { + primary: boolean; + resolvedFileName: string | undefined; + packageId?: PackageId; + /** True if `resolvedFileName` comes from `node_modules`. */ + isExternalLibraryImport?: boolean; + } + interface ResolvedTypeReferenceDirectiveWithFailedLookupLocations { + readonly resolvedTypeReferenceDirective: ResolvedTypeReferenceDirective | undefined; + readonly failedLookupLocations: ReadonlyArray; + } + interface CompilerHost extends ModuleResolutionHost { + getSourceFile(fileName: string, languageVersion: ScriptTarget, onError?: (message: string) => void, shouldCreateNewSourceFile?: boolean): SourceFile | undefined; + getSourceFileByPath?(fileName: string, path: Path, languageVersion: ScriptTarget, onError?: (message: string) => void, shouldCreateNewSourceFile?: boolean): SourceFile | undefined; + getCancellationToken?(): CancellationToken; + getDefaultLibFileName(options: CompilerOptions): string; + getDefaultLibLocation?(): string; + writeFile: WriteFileCallback; + getCurrentDirectory(): string; + getDirectories(path: string): string[]; + getCanonicalFileName(fileName: string): string; + useCaseSensitiveFileNames(): boolean; + getNewLine(): string; + readDirectory?(rootDir: string, extensions: ReadonlyArray, excludes: ReadonlyArray | undefined, includes: ReadonlyArray, depth?: number): string[]; + resolveModuleNames?(moduleNames: string[], containingFile: string, reusedNames?: string[], redirectedReference?: ResolvedProjectReference): (ResolvedModule | undefined)[]; + /** + * This method is a companion for 'resolveModuleNames' and is used to resolve 'types' references to actual type declaration files + */ + resolveTypeReferenceDirectives?(typeReferenceDirectiveNames: string[], containingFile: string, redirectedReference?: ResolvedProjectReference): (ResolvedTypeReferenceDirective | undefined)[]; + getEnvironmentVariable?(name: string): string | undefined; + createHash?(data: string): string; + } + interface SourceMapRange extends TextRange { + source?: SourceMapSource; + } + interface SourceMapSource { + fileName: string; + text: string; + skipTrivia?: (pos: number) => number; + } + enum EmitFlags { + None = 0, + SingleLine = 1, + AdviseOnEmitNode = 2, + NoSubstitution = 4, + CapturesThis = 8, + NoLeadingSourceMap = 16, + NoTrailingSourceMap = 32, + NoSourceMap = 48, + NoNestedSourceMaps = 64, + NoTokenLeadingSourceMaps = 128, + NoTokenTrailingSourceMaps = 256, + NoTokenSourceMaps = 384, + NoLeadingComments = 512, + NoTrailingComments = 1024, + NoComments = 1536, + NoNestedComments = 2048, + HelperName = 4096, + ExportName = 8192, + LocalName = 16384, + InternalName = 32768, + Indented = 65536, + NoIndentation = 131072, + AsyncFunctionBody = 262144, + ReuseTempVariableScope = 524288, + CustomPrologue = 1048576, + NoHoisting = 2097152, + HasEndOfDeclarationMarker = 4194304, + Iterator = 8388608, + NoAsciiEscaping = 16777216 + } + interface EmitHelper { + readonly name: string; + readonly scoped: boolean; + readonly text: string | ((node: EmitHelperUniqueNameCallback) => string); + readonly priority?: number; + } + type EmitHelperUniqueNameCallback = (name: string) => string; + enum EmitHint { + SourceFile = 0, + Expression = 1, + IdentifierName = 2, + MappedTypeParameter = 3, + Unspecified = 4, + EmbeddedStatement = 5 + } + interface TransformationContext { + /** Gets the compiler options supplied to the transformer. */ + getCompilerOptions(): CompilerOptions; + /** Starts a new lexical environment. */ + startLexicalEnvironment(): void; + /** Suspends the current lexical environment, usually after visiting a parameter list. */ + suspendLexicalEnvironment(): void; + /** Resumes a suspended lexical environment, usually before visiting a function body. */ + resumeLexicalEnvironment(): void; + /** Ends a lexical environment, returning any declarations. */ + endLexicalEnvironment(): Statement[] | undefined; + /** Hoists a function declaration to the containing scope. */ + hoistFunctionDeclaration(node: FunctionDeclaration): void; + /** Hoists a variable declaration to the containing scope. */ + hoistVariableDeclaration(node: Identifier): void; + /** Records a request for a non-scoped emit helper in the current context. */ + requestEmitHelper(helper: EmitHelper): void; + /** Gets and resets the requested non-scoped emit helpers. */ + readEmitHelpers(): EmitHelper[] | undefined; + /** Enables expression substitutions in the pretty printer for the provided SyntaxKind. */ + enableSubstitution(kind: SyntaxKind): void; + /** Determines whether expression substitutions are enabled for the provided node. */ + isSubstitutionEnabled(node: Node): boolean; + /** + * Hook used by transformers to substitute expressions just before they + * are emitted by the pretty printer. + * + * NOTE: Transformation hooks should only be modified during `Transformer` initialization, + * before returning the `NodeTransformer` callback. + */ + onSubstituteNode: (hint: EmitHint, node: Node) => Node; + /** + * Enables before/after emit notifications in the pretty printer for the provided + * SyntaxKind. + */ + enableEmitNotification(kind: SyntaxKind): void; + /** + * Determines whether before/after emit notifications should be raised in the pretty + * printer when it emits a node. + */ + isEmitNotificationEnabled(node: Node): boolean; + /** + * Hook used to allow transformers to capture state before or after + * the printer emits a node. + * + * NOTE: Transformation hooks should only be modified during `Transformer` initialization, + * before returning the `NodeTransformer` callback. + */ + onEmitNode: (hint: EmitHint, node: Node, emitCallback: (hint: EmitHint, node: Node) => void) => void; + } + interface TransformationResult { + /** Gets the transformed source files. */ + transformed: T[]; + /** Gets diagnostics for the transformation. */ + diagnostics?: DiagnosticWithLocation[]; + /** + * Gets a substitute for a node, if one is available; otherwise, returns the original node. + * + * @param hint A hint as to the intended usage of the node. + * @param node The node to substitute. + */ + substituteNode(hint: EmitHint, node: Node): Node; + /** + * Emits a node with possible notification. + * + * @param hint A hint as to the intended usage of the node. + * @param node The node to emit. + * @param emitCallback A callback used to emit the node. + */ + emitNodeWithNotification(hint: EmitHint, node: Node, emitCallback: (hint: EmitHint, node: Node) => void): void; + /** + * Clean up EmitNode entries on any parse-tree nodes. + */ + dispose(): void; + } + /** + * A function that is used to initialize and return a `Transformer` callback, which in turn + * will be used to transform one or more nodes. + */ + type TransformerFactory = (context: TransformationContext) => Transformer; + /** + * A function that transforms a node. + */ + type Transformer = (node: T) => T; + /** + * A function that accepts and possibly transforms a node. + */ + type Visitor = (node: Node) => VisitResult; + type VisitResult = T | T[] | undefined; + interface Printer { + /** + * Print a node and its subtree as-is, without any emit transformations. + * @param hint A value indicating the purpose of a node. This is primarily used to + * distinguish between an `Identifier` used in an expression position, versus an + * `Identifier` used as an `IdentifierName` as part of a declaration. For most nodes you + * should just pass `Unspecified`. + * @param node The node to print. The node and its subtree are printed as-is, without any + * emit transformations. + * @param sourceFile A source file that provides context for the node. The source text of + * the file is used to emit the original source content for literals and identifiers, while + * the identifiers of the source file are used when generating unique names to avoid + * collisions. + */ + printNode(hint: EmitHint, node: Node, sourceFile: SourceFile): string; + /** + * Prints a list of nodes using the given format flags + */ + printList(format: ListFormat, list: NodeArray, sourceFile: SourceFile): string; + /** + * Prints a source file as-is, without any emit transformations. + */ + printFile(sourceFile: SourceFile): string; + /** + * Prints a bundle of source files as-is, without any emit transformations. + */ + printBundle(bundle: Bundle): string; + } + interface PrintHandlers { + /** + * A hook used by the Printer when generating unique names to avoid collisions with + * globally defined names that exist outside of the current source file. + */ + hasGlobalName?(name: string): boolean; + /** + * A hook used by the Printer to provide notifications prior to emitting a node. A + * compatible implementation **must** invoke `emitCallback` with the provided `hint` and + * `node` values. + * @param hint A hint indicating the intended purpose of the node. + * @param node The node to emit. + * @param emitCallback A callback that, when invoked, will emit the node. + * @example + * ```ts + * var printer = createPrinter(printerOptions, { + * onEmitNode(hint, node, emitCallback) { + * // set up or track state prior to emitting the node... + * emitCallback(hint, node); + * // restore state after emitting the node... + * } + * }); + * ``` + */ + onEmitNode?(hint: EmitHint, node: Node | undefined, emitCallback: (hint: EmitHint, node: Node | undefined) => void): void; + /** + * A hook used by the Printer to perform just-in-time substitution of a node. This is + * primarily used by node transformations that need to substitute one node for another, + * such as replacing `myExportedVar` with `exports.myExportedVar`. + * @param hint A hint indicating the intended purpose of the node. + * @param node The node to emit. + * @example + * ```ts + * var printer = createPrinter(printerOptions, { + * substituteNode(hint, node) { + * // perform substitution if necessary... + * return node; + * } + * }); + * ``` + */ + substituteNode?(hint: EmitHint, node: Node): Node; + } + interface PrinterOptions { + removeComments?: boolean; + newLine?: NewLineKind; + omitTrailingSemicolon?: boolean; + noEmitHelpers?: boolean; + } + interface GetEffectiveTypeRootsHost { + directoryExists?(directoryName: string): boolean; + getCurrentDirectory?(): string; + } + interface TextSpan { + start: number; + length: number; + } + interface TextChangeRange { + span: TextSpan; + newLength: number; + } + interface SyntaxList extends Node { + _children: Node[]; + } + enum ListFormat { + None = 0, + SingleLine = 0, + MultiLine = 1, + PreserveLines = 2, + LinesMask = 3, + NotDelimited = 0, + BarDelimited = 4, + AmpersandDelimited = 8, + CommaDelimited = 16, + AsteriskDelimited = 32, + DelimitersMask = 60, + AllowTrailingComma = 64, + Indented = 128, + SpaceBetweenBraces = 256, + SpaceBetweenSiblings = 512, + Braces = 1024, + Parenthesis = 2048, + AngleBrackets = 4096, + SquareBrackets = 8192, + BracketsMask = 15360, + OptionalIfUndefined = 16384, + OptionalIfEmpty = 32768, + Optional = 49152, + PreferNewLine = 65536, + NoTrailingNewLine = 131072, + NoInterveningComments = 262144, + NoSpaceIfEmpty = 524288, + SingleElement = 1048576, + Modifiers = 262656, + HeritageClauses = 512, + SingleLineTypeLiteralMembers = 768, + MultiLineTypeLiteralMembers = 32897, + TupleTypeElements = 528, + UnionTypeConstituents = 516, + IntersectionTypeConstituents = 520, + ObjectBindingPatternElements = 525136, + ArrayBindingPatternElements = 524880, + ObjectLiteralExpressionProperties = 526226, + ArrayLiteralExpressionElements = 8914, + CommaListElements = 528, + CallExpressionArguments = 2576, + NewExpressionArguments = 18960, + TemplateExpressionSpans = 262144, + SingleLineBlockStatements = 768, + MultiLineBlockStatements = 129, + VariableDeclarationList = 528, + SingleLineFunctionBodyStatements = 768, + MultiLineFunctionBodyStatements = 1, + ClassHeritageClauses = 0, + ClassMembers = 129, + InterfaceMembers = 129, + EnumMembers = 145, + CaseBlockClauses = 129, + NamedImportsOrExportsElements = 525136, + JsxElementOrFragmentChildren = 262144, + JsxElementAttributes = 262656, + CaseOrDefaultClauseStatements = 163969, + HeritageClauseTypes = 528, + SourceFileStatements = 131073, + Decorators = 49153, + TypeArguments = 53776, + TypeParameters = 53776, + Parameters = 2576, + IndexSignatureParameters = 8848, + JSDocComment = 33 + } + interface UserPreferences { + readonly disableSuggestions?: boolean; + readonly quotePreference?: "double" | "single"; + readonly includeCompletionsForModuleExports?: boolean; + readonly includeCompletionsWithInsertText?: boolean; + readonly importModuleSpecifierPreference?: "relative" | "non-relative"; + /** Determines whether we import `foo/index.ts` as "foo", "foo/index", or "foo/index.js" */ + readonly importModuleSpecifierEnding?: "minimal" | "index" | "js"; + readonly allowTextChangesInNewFiles?: boolean; + } + /** Represents a bigint literal value without requiring bigint support */ + interface PseudoBigInt { + negative: boolean; + base10Value: string; + } +} +declare function setTimeout(handler: (...args: any[]) => void, timeout: number): any; +declare function clearTimeout(handle: any): void; +declare namespace ts { + enum FileWatcherEventKind { + Created = 0, + Changed = 1, + Deleted = 2 + } + type FileWatcherCallback = (fileName: string, eventKind: FileWatcherEventKind) => void; + type DirectoryWatcherCallback = (fileName: string) => void; + interface System { + args: string[]; + newLine: string; + useCaseSensitiveFileNames: boolean; + write(s: string): void; + writeOutputIsTTY?(): boolean; + readFile(path: string, encoding?: string): string | undefined; + getFileSize?(path: string): number; + writeFile(path: string, data: string, writeByteOrderMark?: boolean): void; + /** + * @pollingInterval - this parameter is used in polling-based watchers and ignored in watchers that + * use native OS file watching + */ + watchFile?(path: string, callback: FileWatcherCallback, pollingInterval?: number): FileWatcher; + watchDirectory?(path: string, callback: DirectoryWatcherCallback, recursive?: boolean): FileWatcher; + resolvePath(path: string): string; + fileExists(path: string): boolean; + directoryExists(path: string): boolean; + createDirectory(path: string): void; + getExecutingFilePath(): string; + getCurrentDirectory(): string; + getDirectories(path: string): string[]; + readDirectory(path: string, extensions?: ReadonlyArray, exclude?: ReadonlyArray, include?: ReadonlyArray, depth?: number): string[]; + getModifiedTime?(path: string): Date | undefined; + setModifiedTime?(path: string, time: Date): void; + deleteFile?(path: string): void; + /** + * A good implementation is node.js' `crypto.createHash`. (https://nodejs.org/api/crypto.html#crypto_crypto_createhash_algorithm) + */ + createHash?(data: string): string; + /** This must be cryptographically secure. Only implement this method using `crypto.createHash("sha256")`. */ + createSHA256Hash?(data: string): string; + getMemoryUsage?(): number; + exit(exitCode?: number): void; + realpath?(path: string): string; + setTimeout?(callback: (...args: any[]) => void, ms: number, ...args: any[]): any; + clearTimeout?(timeoutId: any): void; + clearScreen?(): void; + base64decode?(input: string): string; + base64encode?(input: string): string; + } + interface FileWatcher { + close(): void; + } + function getNodeMajorVersion(): number | undefined; + let sys: System; +} +declare namespace ts { + type ErrorCallback = (message: DiagnosticMessage, length: number) => void; + interface Scanner { + getStartPos(): number; + getToken(): SyntaxKind; + getTextPos(): number; + getTokenPos(): number; + getTokenText(): string; + getTokenValue(): string; + hasExtendedUnicodeEscape(): boolean; + hasPrecedingLineBreak(): boolean; + isIdentifier(): boolean; + isReservedWord(): boolean; + isUnterminated(): boolean; + reScanGreaterToken(): SyntaxKind; + reScanSlashToken(): SyntaxKind; + reScanTemplateToken(): SyntaxKind; + scanJsxIdentifier(): SyntaxKind; + scanJsxAttributeValue(): SyntaxKind; + reScanJsxToken(): JsxTokenSyntaxKind; + scanJsxToken(): JsxTokenSyntaxKind; + scanJSDocToken(): JsDocSyntaxKind; + scan(): SyntaxKind; + getText(): string; + setText(text: string | undefined, start?: number, length?: number): void; + setOnError(onError: ErrorCallback | undefined): void; + setScriptTarget(scriptTarget: ScriptTarget): void; + setLanguageVariant(variant: LanguageVariant): void; + setTextPos(textPos: number): void; + lookAhead(callback: () => T): T; + scanRange(start: number, length: number, callback: () => T): T; + tryScan(callback: () => T): T; + } + function tokenToString(t: SyntaxKind): string | undefined; + function getPositionOfLineAndCharacter(sourceFile: SourceFileLike, line: number, character: number): number; + function getLineAndCharacterOfPosition(sourceFile: SourceFileLike, position: number): LineAndCharacter; + function isWhiteSpaceLike(ch: number): boolean; + /** Does not include line breaks. For that, see isWhiteSpaceLike. */ + function isWhiteSpaceSingleLine(ch: number): boolean; + function isLineBreak(ch: number): boolean; + function couldStartTrivia(text: string, pos: number): boolean; + function forEachLeadingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean) => U): U | undefined; + function forEachLeadingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean, state: T) => U, state: T): U | undefined; + function forEachTrailingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean) => U): U | undefined; + function forEachTrailingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean, state: T) => U, state: T): U | undefined; + function reduceEachLeadingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean, state: T, memo: U) => U, state: T, initial: U): U | undefined; + function reduceEachTrailingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean, state: T, memo: U) => U, state: T, initial: U): U | undefined; + function getLeadingCommentRanges(text: string, pos: number): CommentRange[] | undefined; + function getTrailingCommentRanges(text: string, pos: number): CommentRange[] | undefined; + /** Optionally, get the shebang */ + function getShebang(text: string): string | undefined; + function isIdentifierStart(ch: number, languageVersion: ScriptTarget | undefined): boolean; + function isIdentifierPart(ch: number, languageVersion: ScriptTarget | undefined): boolean; + function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean, languageVariant?: LanguageVariant, textInitial?: string, onError?: ErrorCallback, start?: number, length?: number): Scanner; +} +declare namespace ts { + function isExternalModuleNameRelative(moduleName: string): boolean; + function sortAndDeduplicateDiagnostics(diagnostics: ReadonlyArray): SortedReadonlyArray; +} +declare namespace ts { + function getDefaultLibFileName(options: CompilerOptions): string; + function textSpanEnd(span: TextSpan): number; + function textSpanIsEmpty(span: TextSpan): boolean; + function textSpanContainsPosition(span: TextSpan, position: number): boolean; + function textSpanContainsTextSpan(span: TextSpan, other: TextSpan): boolean; + function textSpanOverlapsWith(span: TextSpan, other: TextSpan): boolean; + function textSpanOverlap(span1: TextSpan, span2: TextSpan): TextSpan | undefined; + function textSpanIntersectsWithTextSpan(span: TextSpan, other: TextSpan): boolean; + function textSpanIntersectsWith(span: TextSpan, start: number, length: number): boolean; + function decodedTextSpanIntersectsWith(start1: number, length1: number, start2: number, length2: number): boolean; + function textSpanIntersectsWithPosition(span: TextSpan, position: number): boolean; + function textSpanIntersection(span1: TextSpan, span2: TextSpan): TextSpan | undefined; + function createTextSpan(start: number, length: number): TextSpan; + function createTextSpanFromBounds(start: number, end: number): TextSpan; + function textChangeRangeNewSpan(range: TextChangeRange): TextSpan; + function textChangeRangeIsUnchanged(range: TextChangeRange): boolean; + function createTextChangeRange(span: TextSpan, newLength: number): TextChangeRange; + let unchangedTextChangeRange: TextChangeRange; + /** + * Called to merge all the changes that occurred across several versions of a script snapshot + * into a single change. i.e. if a user keeps making successive edits to a script we will + * have a text change from V1 to V2, V2 to V3, ..., Vn. + * + * This function will then merge those changes into a single change range valid between V1 and + * Vn. + */ + function collapseTextChangeRangesAcrossMultipleVersions(changes: ReadonlyArray): TextChangeRange; + function getTypeParameterOwner(d: Declaration): Declaration | undefined; + type ParameterPropertyDeclaration = ParameterDeclaration & { + parent: ConstructorDeclaration; + name: Identifier; + }; + function isParameterPropertyDeclaration(node: Node): node is ParameterPropertyDeclaration; + function isEmptyBindingPattern(node: BindingName): node is BindingPattern; + function isEmptyBindingElement(node: BindingElement): boolean; + function walkUpBindingElementsAndPatterns(binding: BindingElement): VariableDeclaration | ParameterDeclaration; + function getCombinedModifierFlags(node: Declaration): ModifierFlags; + function getCombinedNodeFlags(node: Node): NodeFlags; + /** + * Checks to see if the locale is in the appropriate format, + * and if it is, attempts to set the appropriate language. + */ + function validateLocaleAndSetLanguage(locale: string, sys: { + getExecutingFilePath(): string; + resolvePath(path: string): string; + fileExists(fileName: string): boolean; + readFile(fileName: string): string | undefined; + }, errors?: Push): void; + function getOriginalNode(node: Node): Node; + function getOriginalNode(node: Node, nodeTest: (node: Node) => node is T): T; + function getOriginalNode(node: Node | undefined): Node | undefined; + function getOriginalNode(node: Node | undefined, nodeTest: (node: Node | undefined) => node is T): T | undefined; + /** + * Gets a value indicating whether a node originated in the parse tree. + * + * @param node The node to test. + */ + function isParseTreeNode(node: Node): boolean; + /** + * Gets the original parse tree node for a node. + * + * @param node The original node. + * @returns The original parse tree node if found; otherwise, undefined. + */ + function getParseTreeNode(node: Node): Node; + /** + * Gets the original parse tree node for a node. + * + * @param node The original node. + * @param nodeTest A callback used to ensure the correct type of parse tree node is returned. + * @returns The original parse tree node if found; otherwise, undefined. + */ + function getParseTreeNode(node: Node | undefined, nodeTest?: (node: Node) => node is T): T | undefined; + /** Add an extra underscore to identifiers that start with two underscores to avoid issues with magic names like '__proto__' */ + function escapeLeadingUnderscores(identifier: string): __String; + /** + * Remove extra underscore from escaped identifier text content. + * + * @param identifier The escaped identifier text. + * @returns The unescaped identifier text. + */ + function unescapeLeadingUnderscores(identifier: __String): string; + function idText(identifier: Identifier): string; + function symbolName(symbol: Symbol): string; + function getNameOfJSDocTypedef(declaration: JSDocTypedefTag): Identifier | undefined; + function getNameOfDeclaration(declaration: Declaration | Expression): DeclarationName | undefined; + /** + * Gets the JSDoc parameter tags for the node if present. + * + * @remarks Returns any JSDoc param tag whose name matches the provided + * parameter, whether a param tag on a containing function + * expression, or a param tag on a variable declaration whose + * initializer is the containing function. The tags closest to the + * node are returned first, so in the previous example, the param + * tag on the containing function expression would be first. + * + * For binding patterns, parameter tags are matched by position. + */ + function getJSDocParameterTags(param: ParameterDeclaration): ReadonlyArray; + /** + * Gets the JSDoc type parameter tags for the node if present. + * + * @remarks Returns any JSDoc template tag whose names match the provided + * parameter, whether a template tag on a containing function + * expression, or a template tag on a variable declaration whose + * initializer is the containing function. The tags closest to the + * node are returned first, so in the previous example, the template + * tag on the containing function expression would be first. + */ + function getJSDocTypeParameterTags(param: TypeParameterDeclaration): ReadonlyArray; + /** + * Return true if the node has JSDoc parameter tags. + * + * @remarks Includes parameter tags that are not directly on the node, + * for example on a variable declaration whose initializer is a function expression. + */ + function hasJSDocParameterTags(node: FunctionLikeDeclaration | SignatureDeclaration): boolean; + /** Gets the JSDoc augments tag for the node if present */ + function getJSDocAugmentsTag(node: Node): JSDocAugmentsTag | undefined; + /** Gets the JSDoc class tag for the node if present */ + function getJSDocClassTag(node: Node): JSDocClassTag | undefined; + /** Gets the JSDoc enum tag for the node if present */ + function getJSDocEnumTag(node: Node): JSDocEnumTag | undefined; + /** Gets the JSDoc this tag for the node if present */ + function getJSDocThisTag(node: Node): JSDocThisTag | undefined; + /** Gets the JSDoc return tag for the node if present */ + function getJSDocReturnTag(node: Node): JSDocReturnTag | undefined; + /** Gets the JSDoc template tag for the node if present */ + function getJSDocTemplateTag(node: Node): JSDocTemplateTag | undefined; + /** Gets the JSDoc type tag for the node if present and valid */ + function getJSDocTypeTag(node: Node): JSDocTypeTag | undefined; + /** + * Gets the type node for the node if provided via JSDoc. + * + * @remarks The search includes any JSDoc param tag that relates + * to the provided parameter, for example a type tag on the + * parameter itself, or a param tag on a containing function + * expression, or a param tag on a variable declaration whose + * initializer is the containing function. The tags closest to the + * node are examined first, so in the previous example, the type + * tag directly on the node would be returned. + */ + function getJSDocType(node: Node): TypeNode | undefined; + /** + * Gets the return type node for the node if provided via JSDoc return tag or type tag. + * + * @remarks `getJSDocReturnTag` just gets the whole JSDoc tag. This function + * gets the type from inside the braces, after the fat arrow, etc. + */ + function getJSDocReturnType(node: Node): TypeNode | undefined; + /** Get all JSDoc tags related to a node, including those on parent nodes. */ + function getJSDocTags(node: Node): ReadonlyArray; + /** Gets all JSDoc tags of a specified kind, or undefined if not present. */ + function getAllJSDocTagsOfKind(node: Node, kind: SyntaxKind): ReadonlyArray; + /** + * Gets the effective type parameters. If the node was parsed in a + * JavaScript file, gets the type parameters from the `@template` tag from JSDoc. + */ + function getEffectiveTypeParameterDeclarations(node: DeclarationWithTypeParameters): ReadonlyArray; + function getEffectiveConstraintOfTypeParameter(node: TypeParameterDeclaration): TypeNode | undefined; +} +declare namespace ts { + function isNumericLiteral(node: Node): node is NumericLiteral; + function isBigIntLiteral(node: Node): node is BigIntLiteral; + function isStringLiteral(node: Node): node is StringLiteral; + function isJsxText(node: Node): node is JsxText; + function isRegularExpressionLiteral(node: Node): node is RegularExpressionLiteral; + function isNoSubstitutionTemplateLiteral(node: Node): node is NoSubstitutionTemplateLiteral; + function isTemplateHead(node: Node): node is TemplateHead; + function isTemplateMiddle(node: Node): node is TemplateMiddle; + function isTemplateTail(node: Node): node is TemplateTail; + function isIdentifier(node: Node): node is Identifier; + function isQualifiedName(node: Node): node is QualifiedName; + function isComputedPropertyName(node: Node): node is ComputedPropertyName; + function isTypeParameterDeclaration(node: Node): node is TypeParameterDeclaration; + function isParameter(node: Node): node is ParameterDeclaration; + function isDecorator(node: Node): node is Decorator; + function isPropertySignature(node: Node): node is PropertySignature; + function isPropertyDeclaration(node: Node): node is PropertyDeclaration; + function isMethodSignature(node: Node): node is MethodSignature; + function isMethodDeclaration(node: Node): node is MethodDeclaration; + function isConstructorDeclaration(node: Node): node is ConstructorDeclaration; + function isGetAccessorDeclaration(node: Node): node is GetAccessorDeclaration; + function isSetAccessorDeclaration(node: Node): node is SetAccessorDeclaration; + function isCallSignatureDeclaration(node: Node): node is CallSignatureDeclaration; + function isConstructSignatureDeclaration(node: Node): node is ConstructSignatureDeclaration; + function isIndexSignatureDeclaration(node: Node): node is IndexSignatureDeclaration; + function isTypePredicateNode(node: Node): node is TypePredicateNode; + function isTypeReferenceNode(node: Node): node is TypeReferenceNode; + function isFunctionTypeNode(node: Node): node is FunctionTypeNode; + function isConstructorTypeNode(node: Node): node is ConstructorTypeNode; + function isTypeQueryNode(node: Node): node is TypeQueryNode; + function isTypeLiteralNode(node: Node): node is TypeLiteralNode; + function isArrayTypeNode(node: Node): node is ArrayTypeNode; + function isTupleTypeNode(node: Node): node is TupleTypeNode; + function isUnionTypeNode(node: Node): node is UnionTypeNode; + function isIntersectionTypeNode(node: Node): node is IntersectionTypeNode; + function isConditionalTypeNode(node: Node): node is ConditionalTypeNode; + function isInferTypeNode(node: Node): node is InferTypeNode; + function isParenthesizedTypeNode(node: Node): node is ParenthesizedTypeNode; + function isThisTypeNode(node: Node): node is ThisTypeNode; + function isTypeOperatorNode(node: Node): node is TypeOperatorNode; + function isIndexedAccessTypeNode(node: Node): node is IndexedAccessTypeNode; + function isMappedTypeNode(node: Node): node is MappedTypeNode; + function isLiteralTypeNode(node: Node): node is LiteralTypeNode; + function isImportTypeNode(node: Node): node is ImportTypeNode; + function isObjectBindingPattern(node: Node): node is ObjectBindingPattern; + function isArrayBindingPattern(node: Node): node is ArrayBindingPattern; + function isBindingElement(node: Node): node is BindingElement; + function isArrayLiteralExpression(node: Node): node is ArrayLiteralExpression; + function isObjectLiteralExpression(node: Node): node is ObjectLiteralExpression; + function isPropertyAccessExpression(node: Node): node is PropertyAccessExpression; + function isElementAccessExpression(node: Node): node is ElementAccessExpression; + function isCallExpression(node: Node): node is CallExpression; + function isNewExpression(node: Node): node is NewExpression; + function isTaggedTemplateExpression(node: Node): node is TaggedTemplateExpression; + function isTypeAssertion(node: Node): node is TypeAssertion; + function isParenthesizedExpression(node: Node): node is ParenthesizedExpression; + function skipPartiallyEmittedExpressions(node: Expression): Expression; + function skipPartiallyEmittedExpressions(node: Node): Node; + function isFunctionExpression(node: Node): node is FunctionExpression; + function isArrowFunction(node: Node): node is ArrowFunction; + function isDeleteExpression(node: Node): node is DeleteExpression; + function isTypeOfExpression(node: Node): node is TypeOfExpression; + function isVoidExpression(node: Node): node is VoidExpression; + function isAwaitExpression(node: Node): node is AwaitExpression; + function isPrefixUnaryExpression(node: Node): node is PrefixUnaryExpression; + function isPostfixUnaryExpression(node: Node): node is PostfixUnaryExpression; + function isBinaryExpression(node: Node): node is BinaryExpression; + function isConditionalExpression(node: Node): node is ConditionalExpression; + function isTemplateExpression(node: Node): node is TemplateExpression; + function isYieldExpression(node: Node): node is YieldExpression; + function isSpreadElement(node: Node): node is SpreadElement; + function isClassExpression(node: Node): node is ClassExpression; + function isOmittedExpression(node: Node): node is OmittedExpression; + function isExpressionWithTypeArguments(node: Node): node is ExpressionWithTypeArguments; + function isAsExpression(node: Node): node is AsExpression; + function isNonNullExpression(node: Node): node is NonNullExpression; + function isMetaProperty(node: Node): node is MetaProperty; + function isTemplateSpan(node: Node): node is TemplateSpan; + function isSemicolonClassElement(node: Node): node is SemicolonClassElement; + function isBlock(node: Node): node is Block; + function isVariableStatement(node: Node): node is VariableStatement; + function isEmptyStatement(node: Node): node is EmptyStatement; + function isExpressionStatement(node: Node): node is ExpressionStatement; + function isIfStatement(node: Node): node is IfStatement; + function isDoStatement(node: Node): node is DoStatement; + function isWhileStatement(node: Node): node is WhileStatement; + function isForStatement(node: Node): node is ForStatement; + function isForInStatement(node: Node): node is ForInStatement; + function isForOfStatement(node: Node): node is ForOfStatement; + function isContinueStatement(node: Node): node is ContinueStatement; + function isBreakStatement(node: Node): node is BreakStatement; + function isBreakOrContinueStatement(node: Node): node is BreakOrContinueStatement; + function isReturnStatement(node: Node): node is ReturnStatement; + function isWithStatement(node: Node): node is WithStatement; + function isSwitchStatement(node: Node): node is SwitchStatement; + function isLabeledStatement(node: Node): node is LabeledStatement; + function isThrowStatement(node: Node): node is ThrowStatement; + function isTryStatement(node: Node): node is TryStatement; + function isDebuggerStatement(node: Node): node is DebuggerStatement; + function isVariableDeclaration(node: Node): node is VariableDeclaration; + function isVariableDeclarationList(node: Node): node is VariableDeclarationList; + function isFunctionDeclaration(node: Node): node is FunctionDeclaration; + function isClassDeclaration(node: Node): node is ClassDeclaration; + function isInterfaceDeclaration(node: Node): node is InterfaceDeclaration; + function isTypeAliasDeclaration(node: Node): node is TypeAliasDeclaration; + function isEnumDeclaration(node: Node): node is EnumDeclaration; + function isModuleDeclaration(node: Node): node is ModuleDeclaration; + function isModuleBlock(node: Node): node is ModuleBlock; + function isCaseBlock(node: Node): node is CaseBlock; + function isNamespaceExportDeclaration(node: Node): node is NamespaceExportDeclaration; + function isImportEqualsDeclaration(node: Node): node is ImportEqualsDeclaration; + function isImportDeclaration(node: Node): node is ImportDeclaration; + function isImportClause(node: Node): node is ImportClause; + function isNamespaceImport(node: Node): node is NamespaceImport; + function isNamedImports(node: Node): node is NamedImports; + function isImportSpecifier(node: Node): node is ImportSpecifier; + function isExportAssignment(node: Node): node is ExportAssignment; + function isExportDeclaration(node: Node): node is ExportDeclaration; + function isNamedExports(node: Node): node is NamedExports; + function isExportSpecifier(node: Node): node is ExportSpecifier; + function isMissingDeclaration(node: Node): node is MissingDeclaration; + function isExternalModuleReference(node: Node): node is ExternalModuleReference; + function isJsxElement(node: Node): node is JsxElement; + function isJsxSelfClosingElement(node: Node): node is JsxSelfClosingElement; + function isJsxOpeningElement(node: Node): node is JsxOpeningElement; + function isJsxClosingElement(node: Node): node is JsxClosingElement; + function isJsxFragment(node: Node): node is JsxFragment; + function isJsxOpeningFragment(node: Node): node is JsxOpeningFragment; + function isJsxClosingFragment(node: Node): node is JsxClosingFragment; + function isJsxAttribute(node: Node): node is JsxAttribute; + function isJsxAttributes(node: Node): node is JsxAttributes; + function isJsxSpreadAttribute(node: Node): node is JsxSpreadAttribute; + function isJsxExpression(node: Node): node is JsxExpression; + function isCaseClause(node: Node): node is CaseClause; + function isDefaultClause(node: Node): node is DefaultClause; + function isHeritageClause(node: Node): node is HeritageClause; + function isCatchClause(node: Node): node is CatchClause; + function isPropertyAssignment(node: Node): node is PropertyAssignment; + function isShorthandPropertyAssignment(node: Node): node is ShorthandPropertyAssignment; + function isSpreadAssignment(node: Node): node is SpreadAssignment; + function isEnumMember(node: Node): node is EnumMember; + function isSourceFile(node: Node): node is SourceFile; + function isBundle(node: Node): node is Bundle; + function isUnparsedSource(node: Node): node is UnparsedSource; + function isJSDocTypeExpression(node: Node): node is JSDocTypeExpression; + function isJSDocAllType(node: JSDocAllType): node is JSDocAllType; + function isJSDocUnknownType(node: Node): node is JSDocUnknownType; + function isJSDocNullableType(node: Node): node is JSDocNullableType; + function isJSDocNonNullableType(node: Node): node is JSDocNonNullableType; + function isJSDocOptionalType(node: Node): node is JSDocOptionalType; + function isJSDocFunctionType(node: Node): node is JSDocFunctionType; + function isJSDocVariadicType(node: Node): node is JSDocVariadicType; + function isJSDoc(node: Node): node is JSDoc; + function isJSDocAugmentsTag(node: Node): node is JSDocAugmentsTag; + function isJSDocClassTag(node: Node): node is JSDocClassTag; + function isJSDocEnumTag(node: Node): node is JSDocEnumTag; + function isJSDocThisTag(node: Node): node is JSDocThisTag; + function isJSDocParameterTag(node: Node): node is JSDocParameterTag; + function isJSDocReturnTag(node: Node): node is JSDocReturnTag; + function isJSDocTypeTag(node: Node): node is JSDocTypeTag; + function isJSDocTemplateTag(node: Node): node is JSDocTemplateTag; + function isJSDocTypedefTag(node: Node): node is JSDocTypedefTag; + function isJSDocPropertyTag(node: Node): node is JSDocPropertyTag; + function isJSDocPropertyLikeTag(node: Node): node is JSDocPropertyLikeTag; + function isJSDocTypeLiteral(node: Node): node is JSDocTypeLiteral; + function isJSDocCallbackTag(node: Node): node is JSDocCallbackTag; + function isJSDocSignature(node: Node): node is JSDocSignature; +} +declare namespace ts { + /** + * True if node is of some token syntax kind. + * For example, this is true for an IfKeyword but not for an IfStatement. + * Literals are considered tokens, except TemplateLiteral, but does include TemplateHead/Middle/Tail. + */ + function isToken(n: Node): boolean; + function isLiteralExpression(node: Node): node is LiteralExpression; + type TemplateLiteralToken = NoSubstitutionTemplateLiteral | TemplateHead | TemplateMiddle | TemplateTail; + function isTemplateLiteralToken(node: Node): node is TemplateLiteralToken; + function isTemplateMiddleOrTemplateTail(node: Node): node is TemplateMiddle | TemplateTail; + function isImportOrExportSpecifier(node: Node): node is ImportSpecifier | ExportSpecifier; + function isStringTextContainingNode(node: Node): node is StringLiteral | TemplateLiteralToken; + function isModifier(node: Node): node is Modifier; + function isEntityName(node: Node): node is EntityName; + function isPropertyName(node: Node): node is PropertyName; + function isBindingName(node: Node): node is BindingName; + function isFunctionLike(node: Node): node is SignatureDeclaration; + function isClassElement(node: Node): node is ClassElement; + function isClassLike(node: Node): node is ClassLikeDeclaration; + function isAccessor(node: Node): node is AccessorDeclaration; + function isTypeElement(node: Node): node is TypeElement; + function isClassOrTypeElement(node: Node): node is ClassElement | TypeElement; + function isObjectLiteralElementLike(node: Node): node is ObjectLiteralElementLike; + /** + * Node test that determines whether a node is a valid type node. + * This differs from the `isPartOfTypeNode` function which determines whether a node is *part* + * of a TypeNode. + */ + function isTypeNode(node: Node): node is TypeNode; + function isFunctionOrConstructorTypeNode(node: Node): node is FunctionTypeNode | ConstructorTypeNode; + function isPropertyAccessOrQualifiedName(node: Node): node is PropertyAccessExpression | QualifiedName; + function isCallLikeExpression(node: Node): node is CallLikeExpression; + function isCallOrNewExpression(node: Node): node is CallExpression | NewExpression; + function isTemplateLiteral(node: Node): node is TemplateLiteral; + function isAssertionExpression(node: Node): node is AssertionExpression; + function isIterationStatement(node: Node, lookInLabeledStatements: false): node is IterationStatement; + function isIterationStatement(node: Node, lookInLabeledStatements: boolean): node is IterationStatement | LabeledStatement; + function isJsxOpeningLikeElement(node: Node): node is JsxOpeningLikeElement; + function isCaseOrDefaultClause(node: Node): node is CaseOrDefaultClause; + /** True if node is of a kind that may contain comment text. */ + function isJSDocCommentContainingNode(node: Node): boolean; + function isSetAccessor(node: Node): node is SetAccessorDeclaration; + function isGetAccessor(node: Node): node is GetAccessorDeclaration; + function isObjectLiteralElement(node: Node): node is ObjectLiteralElement; + function isStringLiteralLike(node: Node): node is StringLiteralLike; +} +declare namespace ts { + function createNode(kind: SyntaxKind, pos?: number, end?: number): Node; + /** + * Invokes a callback for each child of the given node. The 'cbNode' callback is invoked for all child nodes + * stored in properties. If a 'cbNodes' callback is specified, it is invoked for embedded arrays; otherwise, + * embedded arrays are flattened and the 'cbNode' callback is invoked for each element. If a callback returns + * a truthy value, iteration stops and that value is returned. Otherwise, undefined is returned. + * + * @param node a given node to visit its children + * @param cbNode a callback to be invoked for all child nodes + * @param cbNodes a callback to be invoked for embedded array + * + * @remarks `forEachChild` must visit the children of a node in the order + * that they appear in the source code. The language service depends on this property to locate nodes by position. + */ + function forEachChild(node: Node, cbNode: (node: Node) => T | undefined, cbNodes?: (nodes: NodeArray) => T | undefined): T | undefined; + function createSourceFile(fileName: string, sourceText: string, languageVersion: ScriptTarget, setParentNodes?: boolean, scriptKind?: ScriptKind): SourceFile; + function parseIsolatedEntityName(text: string, languageVersion: ScriptTarget): EntityName | undefined; + /** + * Parse json text into SyntaxTree and return node and parse errors if any + * @param fileName + * @param sourceText + */ + function parseJsonText(fileName: string, sourceText: string): JsonSourceFile; + function isExternalModule(file: SourceFile): boolean; + function updateSourceFile(sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange, aggressiveChecks?: boolean): SourceFile; +} +declare namespace ts { + function parseCommandLine(commandLine: ReadonlyArray, readFile?: (path: string) => string | undefined): ParsedCommandLine; + type DiagnosticReporter = (diagnostic: Diagnostic) => void; + /** + * Reports config file diagnostics + */ + interface ConfigFileDiagnosticsReporter { + /** + * Reports unrecoverable error when parsing config file + */ + onUnRecoverableConfigFileDiagnostic: DiagnosticReporter; + } + /** + * Interface extending ParseConfigHost to support ParseConfigFile that reads config file and reports errors + */ + interface ParseConfigFileHost extends ParseConfigHost, ConfigFileDiagnosticsReporter { + getCurrentDirectory(): string; + } + /** + * Reads the config file, reports errors if any and exits if the config file cannot be found + */ + function getParsedCommandLineOfConfigFile(configFileName: string, optionsToExtend: CompilerOptions, host: ParseConfigFileHost): ParsedCommandLine | undefined; + /** + * Read tsconfig.json file + * @param fileName The path to the config file + */ + function readConfigFile(fileName: string, readFile: (path: string) => string | undefined): { + config?: any; + error?: Diagnostic; + }; + /** + * Parse the text of the tsconfig.json file + * @param fileName The path to the config file + * @param jsonText The text of the config file + */ + function parseConfigFileTextToJson(fileName: string, jsonText: string): { + config?: any; + error?: Diagnostic; + }; + /** + * Read tsconfig.json file + * @param fileName The path to the config file + */ + function readJsonConfigFile(fileName: string, readFile: (path: string) => string | undefined): TsConfigSourceFile; + /** + * Convert the json syntax tree into the json value + */ + function convertToObject(sourceFile: JsonSourceFile, errors: Push): any; + /** + * Parse the contents of a config file (tsconfig.json). + * @param json The contents of the config file to parse + * @param host Instance of ParseConfigHost used to enumerate files in folder. + * @param basePath A root directory to resolve relative path entries in the config + * file to. e.g. outDir + */ + function parseJsonConfigFileContent(json: any, host: ParseConfigHost, basePath: string, existingOptions?: CompilerOptions, configFileName?: string, resolutionStack?: Path[], extraFileExtensions?: ReadonlyArray): ParsedCommandLine; + /** + * Parse the contents of a config file (tsconfig.json). + * @param jsonNode The contents of the config file to parse + * @param host Instance of ParseConfigHost used to enumerate files in folder. + * @param basePath A root directory to resolve relative path entries in the config + * file to. e.g. outDir + */ + function parseJsonSourceFileConfigFileContent(sourceFile: TsConfigSourceFile, host: ParseConfigHost, basePath: string, existingOptions?: CompilerOptions, configFileName?: string, resolutionStack?: Path[], extraFileExtensions?: ReadonlyArray): ParsedCommandLine; + function convertCompilerOptionsFromJson(jsonOptions: any, basePath: string, configFileName?: string): { + options: CompilerOptions; + errors: Diagnostic[]; + }; + function convertTypeAcquisitionFromJson(jsonOptions: any, basePath: string, configFileName?: string): { + options: TypeAcquisition; + errors: Diagnostic[]; + }; +} +declare namespace ts { + function getEffectiveTypeRoots(options: CompilerOptions, host: GetEffectiveTypeRootsHost): string[] | undefined; + /** + * @param {string | undefined} containingFile - file that contains type reference directive, can be undefined if containing file is unknown. + * This is possible in case if resolution is performed for directives specified via 'types' parameter. In this case initial path for secondary lookups + * is assumed to be the same as root directory of the project. + */ + function resolveTypeReferenceDirective(typeReferenceDirectiveName: string, containingFile: string | undefined, options: CompilerOptions, host: ModuleResolutionHost, redirectedReference?: ResolvedProjectReference): ResolvedTypeReferenceDirectiveWithFailedLookupLocations; + /** + * Given a set of options, returns the set of type directive names + * that should be included for this program automatically. + * This list could either come from the config file, + * or from enumerating the types root + initial secondary types lookup location. + * More type directives might appear in the program later as a result of loading actual source files; + * this list is only the set of defaults that are implicitly included. + */ + function getAutomaticTypeDirectiveNames(options: CompilerOptions, host: ModuleResolutionHost): string[]; + /** + * Cached module resolutions per containing directory. + * This assumes that any module id will have the same resolution for sibling files located in the same folder. + */ + interface ModuleResolutionCache extends NonRelativeModuleNameResolutionCache { + getOrCreateCacheForDirectory(directoryName: string, redirectedReference?: ResolvedProjectReference): Map; + } + /** + * Stored map from non-relative module name to a table: directory -> result of module lookup in this directory + * We support only non-relative module names because resolution of relative module names is usually more deterministic and thus less expensive. + */ + interface NonRelativeModuleNameResolutionCache { + getOrCreateCacheForModuleName(nonRelativeModuleName: string, redirectedReference?: ResolvedProjectReference): PerModuleNameCache; + } + interface PerModuleNameCache { + get(directory: string): ResolvedModuleWithFailedLookupLocations | undefined; + set(directory: string, result: ResolvedModuleWithFailedLookupLocations): void; + } + function createModuleResolutionCache(currentDirectory: string, getCanonicalFileName: (s: string) => string): ModuleResolutionCache; + function resolveModuleNameFromCache(moduleName: string, containingFile: string, cache: ModuleResolutionCache): ResolvedModuleWithFailedLookupLocations | undefined; + function resolveModuleName(moduleName: string, containingFile: string, compilerOptions: CompilerOptions, host: ModuleResolutionHost, cache?: ModuleResolutionCache, redirectedReference?: ResolvedProjectReference): ResolvedModuleWithFailedLookupLocations; + function nodeModuleNameResolver(moduleName: string, containingFile: string, compilerOptions: CompilerOptions, host: ModuleResolutionHost, cache?: ModuleResolutionCache, redirectedReference?: ResolvedProjectReference): ResolvedModuleWithFailedLookupLocations; + function classicNameResolver(moduleName: string, containingFile: string, compilerOptions: CompilerOptions, host: ModuleResolutionHost, cache?: NonRelativeModuleNameResolutionCache, redirectedReference?: ResolvedProjectReference): ResolvedModuleWithFailedLookupLocations; +} +declare namespace ts { + function createNodeArray(elements?: ReadonlyArray, hasTrailingComma?: boolean): NodeArray; + /** If a node is passed, creates a string literal whose source text is read from a source node during emit. */ + function createLiteral(value: string | StringLiteral | NoSubstitutionTemplateLiteral | NumericLiteral | Identifier): StringLiteral; + function createLiteral(value: number | PseudoBigInt): NumericLiteral; + function createLiteral(value: boolean): BooleanLiteral; + function createLiteral(value: string | number | PseudoBigInt | boolean): PrimaryExpression; + function createNumericLiteral(value: string): NumericLiteral; + function createBigIntLiteral(value: string): BigIntLiteral; + function createStringLiteral(text: string): StringLiteral; + function createRegularExpressionLiteral(text: string): RegularExpressionLiteral; + function createIdentifier(text: string): Identifier; + function updateIdentifier(node: Identifier): Identifier; + /** Create a unique temporary variable. */ + function createTempVariable(recordTempVariable: ((node: Identifier) => void) | undefined): Identifier; + /** Create a unique temporary variable for use in a loop. */ + function createLoopVariable(): Identifier; + /** Create a unique name based on the supplied text. */ + function createUniqueName(text: string): Identifier; + /** Create a unique name based on the supplied text. */ + function createOptimisticUniqueName(text: string): Identifier; + /** Create a unique name based on the supplied text. This does not consider names injected by the transformer. */ + function createFileLevelUniqueName(text: string): Identifier; + /** Create a unique name generated for a node. */ + function getGeneratedNameForNode(node: Node | undefined): Identifier; + function createToken(token: TKind): Token; + function createSuper(): SuperExpression; + function createThis(): ThisExpression & Token; + function createNull(): NullLiteral & Token; + function createTrue(): BooleanLiteral & Token; + function createFalse(): BooleanLiteral & Token; + function createModifier(kind: T): Token; + function createModifiersFromModifierFlags(flags: ModifierFlags): Modifier[]; + function createQualifiedName(left: EntityName, right: string | Identifier): QualifiedName; + function updateQualifiedName(node: QualifiedName, left: EntityName, right: Identifier): QualifiedName; + function createComputedPropertyName(expression: Expression): ComputedPropertyName; + function updateComputedPropertyName(node: ComputedPropertyName, expression: Expression): ComputedPropertyName; + function createTypeParameterDeclaration(name: string | Identifier, constraint?: TypeNode, defaultType?: TypeNode): TypeParameterDeclaration; + function updateTypeParameterDeclaration(node: TypeParameterDeclaration, name: Identifier, constraint: TypeNode | undefined, defaultType: TypeNode | undefined): TypeParameterDeclaration; + function createParameter(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, dotDotDotToken: DotDotDotToken | undefined, name: string | BindingName, questionToken?: QuestionToken, type?: TypeNode, initializer?: Expression): ParameterDeclaration; + function updateParameter(node: ParameterDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, dotDotDotToken: DotDotDotToken | undefined, name: string | BindingName, questionToken: QuestionToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): ParameterDeclaration; + function createDecorator(expression: Expression): Decorator; + function updateDecorator(node: Decorator, expression: Expression): Decorator; + function createPropertySignature(modifiers: ReadonlyArray | undefined, name: PropertyName | string, questionToken: QuestionToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertySignature; + function updatePropertySignature(node: PropertySignature, modifiers: ReadonlyArray | undefined, name: PropertyName, questionToken: QuestionToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertySignature; + function createProperty(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | PropertyName, questionOrExclamationToken: QuestionToken | ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertyDeclaration; + function updateProperty(node: PropertyDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | PropertyName, questionOrExclamationToken: QuestionToken | ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertyDeclaration; + function createMethodSignature(typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, name: string | PropertyName, questionToken: QuestionToken | undefined): MethodSignature; + function updateMethodSignature(node: MethodSignature, typeParameters: NodeArray | undefined, parameters: NodeArray, type: TypeNode | undefined, name: PropertyName, questionToken: QuestionToken | undefined): MethodSignature; + function createMethod(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, asteriskToken: AsteriskToken | undefined, name: string | PropertyName, questionToken: QuestionToken | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, body: Block | undefined): MethodDeclaration; + function updateMethod(node: MethodDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, asteriskToken: AsteriskToken | undefined, name: PropertyName, questionToken: QuestionToken | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, body: Block | undefined): MethodDeclaration; + function createConstructor(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, parameters: ReadonlyArray, body: Block | undefined): ConstructorDeclaration; + function updateConstructor(node: ConstructorDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, parameters: ReadonlyArray, body: Block | undefined): ConstructorDeclaration; + function createGetAccessor(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | PropertyName, parameters: ReadonlyArray, type: TypeNode | undefined, body: Block | undefined): GetAccessorDeclaration; + function updateGetAccessor(node: GetAccessorDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: PropertyName, parameters: ReadonlyArray, type: TypeNode | undefined, body: Block | undefined): GetAccessorDeclaration; + function createSetAccessor(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | PropertyName, parameters: ReadonlyArray, body: Block | undefined): SetAccessorDeclaration; + function updateSetAccessor(node: SetAccessorDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: PropertyName, parameters: ReadonlyArray, body: Block | undefined): SetAccessorDeclaration; + function createCallSignature(typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined): CallSignatureDeclaration; + function updateCallSignature(node: CallSignatureDeclaration, typeParameters: NodeArray | undefined, parameters: NodeArray, type: TypeNode | undefined): CallSignatureDeclaration; + function createConstructSignature(typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined): ConstructSignatureDeclaration; + function updateConstructSignature(node: ConstructSignatureDeclaration, typeParameters: NodeArray | undefined, parameters: NodeArray, type: TypeNode | undefined): ConstructSignatureDeclaration; + function createIndexSignature(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode): IndexSignatureDeclaration; + function updateIndexSignature(node: IndexSignatureDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode): IndexSignatureDeclaration; + function createKeywordTypeNode(kind: KeywordTypeNode["kind"]): KeywordTypeNode; + function createTypePredicateNode(parameterName: Identifier | ThisTypeNode | string, type: TypeNode): TypePredicateNode; + function updateTypePredicateNode(node: TypePredicateNode, parameterName: Identifier | ThisTypeNode, type: TypeNode): TypePredicateNode; + function createTypeReferenceNode(typeName: string | EntityName, typeArguments: ReadonlyArray | undefined): TypeReferenceNode; + function updateTypeReferenceNode(node: TypeReferenceNode, typeName: EntityName, typeArguments: NodeArray | undefined): TypeReferenceNode; + function createFunctionTypeNode(typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined): FunctionTypeNode; + function updateFunctionTypeNode(node: FunctionTypeNode, typeParameters: NodeArray | undefined, parameters: NodeArray, type: TypeNode | undefined): FunctionTypeNode; + function createConstructorTypeNode(typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined): ConstructorTypeNode; + function updateConstructorTypeNode(node: ConstructorTypeNode, typeParameters: NodeArray | undefined, parameters: NodeArray, type: TypeNode | undefined): ConstructorTypeNode; + function createTypeQueryNode(exprName: EntityName): TypeQueryNode; + function updateTypeQueryNode(node: TypeQueryNode, exprName: EntityName): TypeQueryNode; + function createTypeLiteralNode(members: ReadonlyArray | undefined): TypeLiteralNode; + function updateTypeLiteralNode(node: TypeLiteralNode, members: NodeArray): TypeLiteralNode; + function createArrayTypeNode(elementType: TypeNode): ArrayTypeNode; + function updateArrayTypeNode(node: ArrayTypeNode, elementType: TypeNode): ArrayTypeNode; + function createTupleTypeNode(elementTypes: ReadonlyArray): TupleTypeNode; + function updateTupleTypeNode(node: TupleTypeNode, elementTypes: ReadonlyArray): TupleTypeNode; + function createOptionalTypeNode(type: TypeNode): OptionalTypeNode; + function updateOptionalTypeNode(node: OptionalTypeNode, type: TypeNode): OptionalTypeNode; + function createRestTypeNode(type: TypeNode): RestTypeNode; + function updateRestTypeNode(node: RestTypeNode, type: TypeNode): RestTypeNode; + function createUnionTypeNode(types: ReadonlyArray): UnionTypeNode; + function updateUnionTypeNode(node: UnionTypeNode, types: NodeArray): UnionTypeNode; + function createIntersectionTypeNode(types: ReadonlyArray): IntersectionTypeNode; + function updateIntersectionTypeNode(node: IntersectionTypeNode, types: NodeArray): IntersectionTypeNode; + function createUnionOrIntersectionTypeNode(kind: SyntaxKind.UnionType | SyntaxKind.IntersectionType, types: ReadonlyArray): UnionOrIntersectionTypeNode; + function createConditionalTypeNode(checkType: TypeNode, extendsType: TypeNode, trueType: TypeNode, falseType: TypeNode): ConditionalTypeNode; + function updateConditionalTypeNode(node: ConditionalTypeNode, checkType: TypeNode, extendsType: TypeNode, trueType: TypeNode, falseType: TypeNode): ConditionalTypeNode; + function createInferTypeNode(typeParameter: TypeParameterDeclaration): InferTypeNode; + function updateInferTypeNode(node: InferTypeNode, typeParameter: TypeParameterDeclaration): InferTypeNode; + function createImportTypeNode(argument: TypeNode, qualifier?: EntityName, typeArguments?: ReadonlyArray, isTypeOf?: boolean): ImportTypeNode; + function updateImportTypeNode(node: ImportTypeNode, argument: TypeNode, qualifier?: EntityName, typeArguments?: ReadonlyArray, isTypeOf?: boolean): ImportTypeNode; + function createParenthesizedType(type: TypeNode): ParenthesizedTypeNode; + function updateParenthesizedType(node: ParenthesizedTypeNode, type: TypeNode): ParenthesizedTypeNode; + function createThisTypeNode(): ThisTypeNode; + function createTypeOperatorNode(type: TypeNode): TypeOperatorNode; + function createTypeOperatorNode(operator: SyntaxKind.KeyOfKeyword | SyntaxKind.UniqueKeyword, type: TypeNode): TypeOperatorNode; + function updateTypeOperatorNode(node: TypeOperatorNode, type: TypeNode): TypeOperatorNode; + function createIndexedAccessTypeNode(objectType: TypeNode, indexType: TypeNode): IndexedAccessTypeNode; + function updateIndexedAccessTypeNode(node: IndexedAccessTypeNode, objectType: TypeNode, indexType: TypeNode): IndexedAccessTypeNode; + function createMappedTypeNode(readonlyToken: ReadonlyToken | PlusToken | MinusToken | undefined, typeParameter: TypeParameterDeclaration, questionToken: QuestionToken | PlusToken | MinusToken | undefined, type: TypeNode | undefined): MappedTypeNode; + function updateMappedTypeNode(node: MappedTypeNode, readonlyToken: ReadonlyToken | PlusToken | MinusToken | undefined, typeParameter: TypeParameterDeclaration, questionToken: QuestionToken | PlusToken | MinusToken | undefined, type: TypeNode | undefined): MappedTypeNode; + function createLiteralTypeNode(literal: LiteralTypeNode["literal"]): LiteralTypeNode; + function updateLiteralTypeNode(node: LiteralTypeNode, literal: LiteralTypeNode["literal"]): LiteralTypeNode; + function createObjectBindingPattern(elements: ReadonlyArray): ObjectBindingPattern; + function updateObjectBindingPattern(node: ObjectBindingPattern, elements: ReadonlyArray): ObjectBindingPattern; + function createArrayBindingPattern(elements: ReadonlyArray): ArrayBindingPattern; + function updateArrayBindingPattern(node: ArrayBindingPattern, elements: ReadonlyArray): ArrayBindingPattern; + function createBindingElement(dotDotDotToken: DotDotDotToken | undefined, propertyName: string | PropertyName | undefined, name: string | BindingName, initializer?: Expression): BindingElement; + function updateBindingElement(node: BindingElement, dotDotDotToken: DotDotDotToken | undefined, propertyName: PropertyName | undefined, name: BindingName, initializer: Expression | undefined): BindingElement; + function createArrayLiteral(elements?: ReadonlyArray, multiLine?: boolean): ArrayLiteralExpression; + function updateArrayLiteral(node: ArrayLiteralExpression, elements: ReadonlyArray): ArrayLiteralExpression; + function createObjectLiteral(properties?: ReadonlyArray, multiLine?: boolean): ObjectLiteralExpression; + function updateObjectLiteral(node: ObjectLiteralExpression, properties: ReadonlyArray): ObjectLiteralExpression; + function createPropertyAccess(expression: Expression, name: string | Identifier | undefined): PropertyAccessExpression; + function updatePropertyAccess(node: PropertyAccessExpression, expression: Expression, name: Identifier): PropertyAccessExpression; + function createElementAccess(expression: Expression, index: number | Expression): ElementAccessExpression; + function updateElementAccess(node: ElementAccessExpression, expression: Expression, argumentExpression: Expression): ElementAccessExpression; + function createCall(expression: Expression, typeArguments: ReadonlyArray | undefined, argumentsArray: ReadonlyArray | undefined): CallExpression; + function updateCall(node: CallExpression, expression: Expression, typeArguments: ReadonlyArray | undefined, argumentsArray: ReadonlyArray): CallExpression; + function createNew(expression: Expression, typeArguments: ReadonlyArray | undefined, argumentsArray: ReadonlyArray | undefined): NewExpression; + function updateNew(node: NewExpression, expression: Expression, typeArguments: ReadonlyArray | undefined, argumentsArray: ReadonlyArray | undefined): NewExpression; + /** @deprecated */ function createTaggedTemplate(tag: Expression, template: TemplateLiteral): TaggedTemplateExpression; + function createTaggedTemplate(tag: Expression, typeArguments: ReadonlyArray | undefined, template: TemplateLiteral): TaggedTemplateExpression; + /** @deprecated */ function updateTaggedTemplate(node: TaggedTemplateExpression, tag: Expression, template: TemplateLiteral): TaggedTemplateExpression; + function updateTaggedTemplate(node: TaggedTemplateExpression, tag: Expression, typeArguments: ReadonlyArray | undefined, template: TemplateLiteral): TaggedTemplateExpression; + function createTypeAssertion(type: TypeNode, expression: Expression): TypeAssertion; + function updateTypeAssertion(node: TypeAssertion, type: TypeNode, expression: Expression): TypeAssertion; + function createParen(expression: Expression): ParenthesizedExpression; + function updateParen(node: ParenthesizedExpression, expression: Expression): ParenthesizedExpression; + function createFunctionExpression(modifiers: ReadonlyArray | undefined, asteriskToken: AsteriskToken | undefined, name: string | Identifier | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray | undefined, type: TypeNode | undefined, body: Block): FunctionExpression; + function updateFunctionExpression(node: FunctionExpression, modifiers: ReadonlyArray | undefined, asteriskToken: AsteriskToken | undefined, name: Identifier | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, body: Block): FunctionExpression; + function createArrowFunction(modifiers: ReadonlyArray | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, equalsGreaterThanToken: EqualsGreaterThanToken | undefined, body: ConciseBody): ArrowFunction; + function updateArrowFunction(node: ArrowFunction, modifiers: ReadonlyArray | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, equalsGreaterThanToken: Token, body: ConciseBody): ArrowFunction; + function createDelete(expression: Expression): DeleteExpression; + function updateDelete(node: DeleteExpression, expression: Expression): DeleteExpression; + function createTypeOf(expression: Expression): TypeOfExpression; + function updateTypeOf(node: TypeOfExpression, expression: Expression): TypeOfExpression; + function createVoid(expression: Expression): VoidExpression; + function updateVoid(node: VoidExpression, expression: Expression): VoidExpression; + function createAwait(expression: Expression): AwaitExpression; + function updateAwait(node: AwaitExpression, expression: Expression): AwaitExpression; + function createPrefix(operator: PrefixUnaryOperator, operand: Expression): PrefixUnaryExpression; + function updatePrefix(node: PrefixUnaryExpression, operand: Expression): PrefixUnaryExpression; + function createPostfix(operand: Expression, operator: PostfixUnaryOperator): PostfixUnaryExpression; + function updatePostfix(node: PostfixUnaryExpression, operand: Expression): PostfixUnaryExpression; + function createBinary(left: Expression, operator: BinaryOperator | BinaryOperatorToken, right: Expression): BinaryExpression; + function updateBinary(node: BinaryExpression, left: Expression, right: Expression, operator?: BinaryOperator | BinaryOperatorToken): BinaryExpression; + /** @deprecated */ function createConditional(condition: Expression, whenTrue: Expression, whenFalse: Expression): ConditionalExpression; + function createConditional(condition: Expression, questionToken: QuestionToken, whenTrue: Expression, colonToken: ColonToken, whenFalse: Expression): ConditionalExpression; + function updateConditional(node: ConditionalExpression, condition: Expression, questionToken: Token, whenTrue: Expression, colonToken: Token, whenFalse: Expression): ConditionalExpression; + function createTemplateExpression(head: TemplateHead, templateSpans: ReadonlyArray): TemplateExpression; + function updateTemplateExpression(node: TemplateExpression, head: TemplateHead, templateSpans: ReadonlyArray): TemplateExpression; + function createTemplateHead(text: string): TemplateHead; + function createTemplateMiddle(text: string): TemplateMiddle; + function createTemplateTail(text: string): TemplateTail; + function createNoSubstitutionTemplateLiteral(text: string): NoSubstitutionTemplateLiteral; + function createYield(expression?: Expression): YieldExpression; + function createYield(asteriskToken: AsteriskToken | undefined, expression: Expression): YieldExpression; + function updateYield(node: YieldExpression, asteriskToken: AsteriskToken | undefined, expression: Expression): YieldExpression; + function createSpread(expression: Expression): SpreadElement; + function updateSpread(node: SpreadElement, expression: Expression): SpreadElement; + function createClassExpression(modifiers: ReadonlyArray | undefined, name: string | Identifier | undefined, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray | undefined, members: ReadonlyArray): ClassExpression; + function updateClassExpression(node: ClassExpression, modifiers: ReadonlyArray | undefined, name: Identifier | undefined, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray | undefined, members: ReadonlyArray): ClassExpression; + function createOmittedExpression(): OmittedExpression; + function createExpressionWithTypeArguments(typeArguments: ReadonlyArray | undefined, expression: Expression): ExpressionWithTypeArguments; + function updateExpressionWithTypeArguments(node: ExpressionWithTypeArguments, typeArguments: ReadonlyArray | undefined, expression: Expression): ExpressionWithTypeArguments; + function createAsExpression(expression: Expression, type: TypeNode): AsExpression; + function updateAsExpression(node: AsExpression, expression: Expression, type: TypeNode): AsExpression; + function createNonNullExpression(expression: Expression): NonNullExpression; + function updateNonNullExpression(node: NonNullExpression, expression: Expression): NonNullExpression; + function createMetaProperty(keywordToken: MetaProperty["keywordToken"], name: Identifier): MetaProperty; + function updateMetaProperty(node: MetaProperty, name: Identifier): MetaProperty; + function createTemplateSpan(expression: Expression, literal: TemplateMiddle | TemplateTail): TemplateSpan; + function updateTemplateSpan(node: TemplateSpan, expression: Expression, literal: TemplateMiddle | TemplateTail): TemplateSpan; + function createSemicolonClassElement(): SemicolonClassElement; + function createBlock(statements: ReadonlyArray, multiLine?: boolean): Block; + function updateBlock(node: Block, statements: ReadonlyArray): Block; + function createVariableStatement(modifiers: ReadonlyArray | undefined, declarationList: VariableDeclarationList | ReadonlyArray): VariableStatement; + function updateVariableStatement(node: VariableStatement, modifiers: ReadonlyArray | undefined, declarationList: VariableDeclarationList): VariableStatement; + function createEmptyStatement(): EmptyStatement; + function createExpressionStatement(expression: Expression): ExpressionStatement; + function updateExpressionStatement(node: ExpressionStatement, expression: Expression): ExpressionStatement; + /** @deprecated Use `createExpressionStatement` instead. */ + const createStatement: typeof createExpressionStatement; + /** @deprecated Use `updateExpressionStatement` instead. */ + const updateStatement: typeof updateExpressionStatement; + function createIf(expression: Expression, thenStatement: Statement, elseStatement?: Statement): IfStatement; + function updateIf(node: IfStatement, expression: Expression, thenStatement: Statement, elseStatement: Statement | undefined): IfStatement; + function createDo(statement: Statement, expression: Expression): DoStatement; + function updateDo(node: DoStatement, statement: Statement, expression: Expression): DoStatement; + function createWhile(expression: Expression, statement: Statement): WhileStatement; + function updateWhile(node: WhileStatement, expression: Expression, statement: Statement): WhileStatement; + function createFor(initializer: ForInitializer | undefined, condition: Expression | undefined, incrementor: Expression | undefined, statement: Statement): ForStatement; + function updateFor(node: ForStatement, initializer: ForInitializer | undefined, condition: Expression | undefined, incrementor: Expression | undefined, statement: Statement): ForStatement; + function createForIn(initializer: ForInitializer, expression: Expression, statement: Statement): ForInStatement; + function updateForIn(node: ForInStatement, initializer: ForInitializer, expression: Expression, statement: Statement): ForInStatement; + function createForOf(awaitModifier: AwaitKeywordToken | undefined, initializer: ForInitializer, expression: Expression, statement: Statement): ForOfStatement; + function updateForOf(node: ForOfStatement, awaitModifier: AwaitKeywordToken | undefined, initializer: ForInitializer, expression: Expression, statement: Statement): ForOfStatement; + function createContinue(label?: string | Identifier): ContinueStatement; + function updateContinue(node: ContinueStatement, label: Identifier | undefined): ContinueStatement; + function createBreak(label?: string | Identifier): BreakStatement; + function updateBreak(node: BreakStatement, label: Identifier | undefined): BreakStatement; + function createReturn(expression?: Expression): ReturnStatement; + function updateReturn(node: ReturnStatement, expression: Expression | undefined): ReturnStatement; + function createWith(expression: Expression, statement: Statement): WithStatement; + function updateWith(node: WithStatement, expression: Expression, statement: Statement): WithStatement; + function createSwitch(expression: Expression, caseBlock: CaseBlock): SwitchStatement; + function updateSwitch(node: SwitchStatement, expression: Expression, caseBlock: CaseBlock): SwitchStatement; + function createLabel(label: string | Identifier, statement: Statement): LabeledStatement; + function updateLabel(node: LabeledStatement, label: Identifier, statement: Statement): LabeledStatement; + function createThrow(expression: Expression): ThrowStatement; + function updateThrow(node: ThrowStatement, expression: Expression): ThrowStatement; + function createTry(tryBlock: Block, catchClause: CatchClause | undefined, finallyBlock: Block | undefined): TryStatement; + function updateTry(node: TryStatement, tryBlock: Block, catchClause: CatchClause | undefined, finallyBlock: Block | undefined): TryStatement; + function createDebuggerStatement(): DebuggerStatement; + function createVariableDeclaration(name: string | BindingName, type?: TypeNode, initializer?: Expression): VariableDeclaration; + function updateVariableDeclaration(node: VariableDeclaration, name: BindingName, type: TypeNode | undefined, initializer: Expression | undefined): VariableDeclaration; + function createVariableDeclarationList(declarations: ReadonlyArray, flags?: NodeFlags): VariableDeclarationList; + function updateVariableDeclarationList(node: VariableDeclarationList, declarations: ReadonlyArray): VariableDeclarationList; + function createFunctionDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, asteriskToken: AsteriskToken | undefined, name: string | Identifier | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, body: Block | undefined): FunctionDeclaration; + function updateFunctionDeclaration(node: FunctionDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, asteriskToken: AsteriskToken | undefined, name: Identifier | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, body: Block | undefined): FunctionDeclaration; + function createClassDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | Identifier | undefined, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray | undefined, members: ReadonlyArray): ClassDeclaration; + function updateClassDeclaration(node: ClassDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: Identifier | undefined, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray | undefined, members: ReadonlyArray): ClassDeclaration; + function createInterfaceDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | Identifier, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray | undefined, members: ReadonlyArray): InterfaceDeclaration; + function updateInterfaceDeclaration(node: InterfaceDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: Identifier, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray | undefined, members: ReadonlyArray): InterfaceDeclaration; + function createTypeAliasDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | Identifier, typeParameters: ReadonlyArray | undefined, type: TypeNode): TypeAliasDeclaration; + function updateTypeAliasDeclaration(node: TypeAliasDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: Identifier, typeParameters: ReadonlyArray | undefined, type: TypeNode): TypeAliasDeclaration; + function createEnumDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | Identifier, members: ReadonlyArray): EnumDeclaration; + function updateEnumDeclaration(node: EnumDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: Identifier, members: ReadonlyArray): EnumDeclaration; + function createModuleDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: ModuleName, body: ModuleBody | undefined, flags?: NodeFlags): ModuleDeclaration; + function updateModuleDeclaration(node: ModuleDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: ModuleName, body: ModuleBody | undefined): ModuleDeclaration; + function createModuleBlock(statements: ReadonlyArray): ModuleBlock; + function updateModuleBlock(node: ModuleBlock, statements: ReadonlyArray): ModuleBlock; + function createCaseBlock(clauses: ReadonlyArray): CaseBlock; + function updateCaseBlock(node: CaseBlock, clauses: ReadonlyArray): CaseBlock; + function createNamespaceExportDeclaration(name: string | Identifier): NamespaceExportDeclaration; + function updateNamespaceExportDeclaration(node: NamespaceExportDeclaration, name: Identifier): NamespaceExportDeclaration; + function createImportEqualsDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration; + function updateImportEqualsDeclaration(node: ImportEqualsDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration; + function createImportDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression): ImportDeclaration; + function updateImportDeclaration(node: ImportDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression): ImportDeclaration; + function createImportClause(name: Identifier | undefined, namedBindings: NamedImportBindings | undefined): ImportClause; + function updateImportClause(node: ImportClause, name: Identifier | undefined, namedBindings: NamedImportBindings | undefined): ImportClause; + function createNamespaceImport(name: Identifier): NamespaceImport; + function updateNamespaceImport(node: NamespaceImport, name: Identifier): NamespaceImport; + function createNamedImports(elements: ReadonlyArray): NamedImports; + function updateNamedImports(node: NamedImports, elements: ReadonlyArray): NamedImports; + function createImportSpecifier(propertyName: Identifier | undefined, name: Identifier): ImportSpecifier; + function updateImportSpecifier(node: ImportSpecifier, propertyName: Identifier | undefined, name: Identifier): ImportSpecifier; + function createExportAssignment(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, isExportEquals: boolean | undefined, expression: Expression): ExportAssignment; + function updateExportAssignment(node: ExportAssignment, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, expression: Expression): ExportAssignment; + function createExportDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, exportClause: NamedExports | undefined, moduleSpecifier?: Expression): ExportDeclaration; + function updateExportDeclaration(node: ExportDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, exportClause: NamedExports | undefined, moduleSpecifier: Expression | undefined): ExportDeclaration; + function createNamedExports(elements: ReadonlyArray): NamedExports; + function updateNamedExports(node: NamedExports, elements: ReadonlyArray): NamedExports; + function createExportSpecifier(propertyName: string | Identifier | undefined, name: string | Identifier): ExportSpecifier; + function updateExportSpecifier(node: ExportSpecifier, propertyName: Identifier | undefined, name: Identifier): ExportSpecifier; + function createExternalModuleReference(expression: Expression): ExternalModuleReference; + function updateExternalModuleReference(node: ExternalModuleReference, expression: Expression): ExternalModuleReference; + function createJsxElement(openingElement: JsxOpeningElement, children: ReadonlyArray, closingElement: JsxClosingElement): JsxElement; + function updateJsxElement(node: JsxElement, openingElement: JsxOpeningElement, children: ReadonlyArray, closingElement: JsxClosingElement): JsxElement; + function createJsxSelfClosingElement(tagName: JsxTagNameExpression, typeArguments: ReadonlyArray | undefined, attributes: JsxAttributes): JsxSelfClosingElement; + function updateJsxSelfClosingElement(node: JsxSelfClosingElement, tagName: JsxTagNameExpression, typeArguments: ReadonlyArray | undefined, attributes: JsxAttributes): JsxSelfClosingElement; + function createJsxOpeningElement(tagName: JsxTagNameExpression, typeArguments: ReadonlyArray | undefined, attributes: JsxAttributes): JsxOpeningElement; + function updateJsxOpeningElement(node: JsxOpeningElement, tagName: JsxTagNameExpression, typeArguments: ReadonlyArray | undefined, attributes: JsxAttributes): JsxOpeningElement; + function createJsxClosingElement(tagName: JsxTagNameExpression): JsxClosingElement; + function updateJsxClosingElement(node: JsxClosingElement, tagName: JsxTagNameExpression): JsxClosingElement; + function createJsxFragment(openingFragment: JsxOpeningFragment, children: ReadonlyArray, closingFragment: JsxClosingFragment): JsxFragment; + function updateJsxFragment(node: JsxFragment, openingFragment: JsxOpeningFragment, children: ReadonlyArray, closingFragment: JsxClosingFragment): JsxFragment; + function createJsxAttribute(name: Identifier, initializer: StringLiteral | JsxExpression): JsxAttribute; + function updateJsxAttribute(node: JsxAttribute, name: Identifier, initializer: StringLiteral | JsxExpression): JsxAttribute; + function createJsxAttributes(properties: ReadonlyArray): JsxAttributes; + function updateJsxAttributes(node: JsxAttributes, properties: ReadonlyArray): JsxAttributes; + function createJsxSpreadAttribute(expression: Expression): JsxSpreadAttribute; + function updateJsxSpreadAttribute(node: JsxSpreadAttribute, expression: Expression): JsxSpreadAttribute; + function createJsxExpression(dotDotDotToken: DotDotDotToken | undefined, expression: Expression | undefined): JsxExpression; + function updateJsxExpression(node: JsxExpression, expression: Expression | undefined): JsxExpression; + function createCaseClause(expression: Expression, statements: ReadonlyArray): CaseClause; + function updateCaseClause(node: CaseClause, expression: Expression, statements: ReadonlyArray): CaseClause; + function createDefaultClause(statements: ReadonlyArray): DefaultClause; + function updateDefaultClause(node: DefaultClause, statements: ReadonlyArray): DefaultClause; + function createHeritageClause(token: HeritageClause["token"], types: ReadonlyArray): HeritageClause; + function updateHeritageClause(node: HeritageClause, types: ReadonlyArray): HeritageClause; + function createCatchClause(variableDeclaration: string | VariableDeclaration | undefined, block: Block): CatchClause; + function updateCatchClause(node: CatchClause, variableDeclaration: VariableDeclaration | undefined, block: Block): CatchClause; + function createPropertyAssignment(name: string | PropertyName, initializer: Expression): PropertyAssignment; + function updatePropertyAssignment(node: PropertyAssignment, name: PropertyName, initializer: Expression): PropertyAssignment; + function createShorthandPropertyAssignment(name: string | Identifier, objectAssignmentInitializer?: Expression): ShorthandPropertyAssignment; + function updateShorthandPropertyAssignment(node: ShorthandPropertyAssignment, name: Identifier, objectAssignmentInitializer: Expression | undefined): ShorthandPropertyAssignment; + function createSpreadAssignment(expression: Expression): SpreadAssignment; + function updateSpreadAssignment(node: SpreadAssignment, expression: Expression): SpreadAssignment; + function createEnumMember(name: string | PropertyName, initializer?: Expression): EnumMember; + function updateEnumMember(node: EnumMember, name: PropertyName, initializer: Expression | undefined): EnumMember; + function updateSourceFileNode(node: SourceFile, statements: ReadonlyArray, isDeclarationFile?: boolean, referencedFiles?: SourceFile["referencedFiles"], typeReferences?: SourceFile["typeReferenceDirectives"], hasNoDefaultLib?: boolean, libReferences?: SourceFile["libReferenceDirectives"]): SourceFile; + /** + * Creates a shallow, memberwise clone of a node for mutation. + */ + function getMutableClone(node: T): T; + /** + * Creates a synthetic statement to act as a placeholder for a not-emitted statement in + * order to preserve comments. + * + * @param original The original statement. + */ + function createNotEmittedStatement(original: Node): NotEmittedStatement; + /** + * Creates a synthetic expression to act as a placeholder for a not-emitted expression in + * order to preserve comments or sourcemap positions. + * + * @param expression The inner expression to emit. + * @param original The original outer expression. + * @param location The location for the expression. Defaults to the positions from "original" if provided. + */ + function createPartiallyEmittedExpression(expression: Expression, original?: Node): PartiallyEmittedExpression; + function updatePartiallyEmittedExpression(node: PartiallyEmittedExpression, expression: Expression): PartiallyEmittedExpression; + function createCommaList(elements: ReadonlyArray): CommaListExpression; + function updateCommaList(node: CommaListExpression, elements: ReadonlyArray): CommaListExpression; + function createBundle(sourceFiles: ReadonlyArray, prepends?: ReadonlyArray): Bundle; + function createUnparsedSourceFile(text: string): UnparsedSource; + function createUnparsedSourceFile(text: string, mapPath: string | undefined, map: string | undefined): UnparsedSource; + function createInputFiles(javascript: string, declaration: string): InputFiles; + function createInputFiles(javascript: string, declaration: string, javascriptMapPath: string | undefined, javascriptMapText: string | undefined, declarationMapPath: string | undefined, declarationMapText: string | undefined): InputFiles; + function updateBundle(node: Bundle, sourceFiles: ReadonlyArray, prepends?: ReadonlyArray): Bundle; + function createImmediatelyInvokedFunctionExpression(statements: ReadonlyArray): CallExpression; + function createImmediatelyInvokedFunctionExpression(statements: ReadonlyArray, param: ParameterDeclaration, paramValue: Expression): CallExpression; + function createImmediatelyInvokedArrowFunction(statements: ReadonlyArray): CallExpression; + function createImmediatelyInvokedArrowFunction(statements: ReadonlyArray, param: ParameterDeclaration, paramValue: Expression): CallExpression; + function createComma(left: Expression, right: Expression): Expression; + function createLessThan(left: Expression, right: Expression): Expression; + function createAssignment(left: ObjectLiteralExpression | ArrayLiteralExpression, right: Expression): DestructuringAssignment; + function createAssignment(left: Expression, right: Expression): BinaryExpression; + function createStrictEquality(left: Expression, right: Expression): BinaryExpression; + function createStrictInequality(left: Expression, right: Expression): BinaryExpression; + function createAdd(left: Expression, right: Expression): BinaryExpression; + function createSubtract(left: Expression, right: Expression): BinaryExpression; + function createPostfixIncrement(operand: Expression): PostfixUnaryExpression; + function createLogicalAnd(left: Expression, right: Expression): BinaryExpression; + function createLogicalOr(left: Expression, right: Expression): BinaryExpression; + function createLogicalNot(operand: Expression): PrefixUnaryExpression; + function createVoidZero(): VoidExpression; + function createExportDefault(expression: Expression): ExportAssignment; + function createExternalModuleExport(exportName: Identifier): ExportDeclaration; + /** + * Clears any EmitNode entries from parse-tree nodes. + * @param sourceFile A source file. + */ + function disposeEmitNodes(sourceFile: SourceFile): void; + function setTextRange(range: T, location: TextRange | undefined): T; + /** + * Sets flags that control emit behavior of a node. + */ + function setEmitFlags(node: T, emitFlags: EmitFlags): T; + /** + * Gets a custom text range to use when emitting source maps. + */ + function getSourceMapRange(node: Node): SourceMapRange; + /** + * Sets a custom text range to use when emitting source maps. + */ + function setSourceMapRange(node: T, range: SourceMapRange | undefined): T; + /** + * Create an external source map source file reference + */ + function createSourceMapSource(fileName: string, text: string, skipTrivia?: (pos: number) => number): SourceMapSource; + /** + * Gets the TextRange to use for source maps for a token of a node. + */ + function getTokenSourceMapRange(node: Node, token: SyntaxKind): SourceMapRange | undefined; + /** + * Sets the TextRange to use for source maps for a token of a node. + */ + function setTokenSourceMapRange(node: T, token: SyntaxKind, range: SourceMapRange | undefined): T; + /** + * Gets a custom text range to use when emitting comments. + */ + function getCommentRange(node: Node): TextRange; + /** + * Sets a custom text range to use when emitting comments. + */ + function setCommentRange(node: T, range: TextRange): T; + function getSyntheticLeadingComments(node: Node): SynthesizedComment[] | undefined; + function setSyntheticLeadingComments(node: T, comments: SynthesizedComment[] | undefined): T; + function addSyntheticLeadingComment(node: T, kind: SyntaxKind.SingleLineCommentTrivia | SyntaxKind.MultiLineCommentTrivia, text: string, hasTrailingNewLine?: boolean): T; + function getSyntheticTrailingComments(node: Node): SynthesizedComment[] | undefined; + function setSyntheticTrailingComments(node: T, comments: SynthesizedComment[] | undefined): T; + function addSyntheticTrailingComment(node: T, kind: SyntaxKind.SingleLineCommentTrivia | SyntaxKind.MultiLineCommentTrivia, text: string, hasTrailingNewLine?: boolean): T; + function moveSyntheticComments(node: T, original: Node): T; + /** + * Gets the constant value to emit for an expression. + */ + function getConstantValue(node: PropertyAccessExpression | ElementAccessExpression): string | number | undefined; + /** + * Sets the constant value to emit for an expression. + */ + function setConstantValue(node: PropertyAccessExpression | ElementAccessExpression, value: string | number): PropertyAccessExpression | ElementAccessExpression; + /** + * Adds an EmitHelper to a node. + */ + function addEmitHelper(node: T, helper: EmitHelper): T; + /** + * Add EmitHelpers to a node. + */ + function addEmitHelpers(node: T, helpers: EmitHelper[] | undefined): T; + /** + * Removes an EmitHelper from a node. + */ + function removeEmitHelper(node: Node, helper: EmitHelper): boolean; + /** + * Gets the EmitHelpers of a node. + */ + function getEmitHelpers(node: Node): EmitHelper[] | undefined; + /** + * Moves matching emit helpers from a source node to a target node. + */ + function moveEmitHelpers(source: Node, target: Node, predicate: (helper: EmitHelper) => boolean): void; + function setOriginalNode(node: T, original: Node | undefined): T; +} +declare namespace ts { + /** + * Visits a Node using the supplied visitor, possibly returning a new Node in its place. + * + * @param node The Node to visit. + * @param visitor The callback used to visit the Node. + * @param test A callback to execute to verify the Node is valid. + * @param lift An optional callback to execute to lift a NodeArray into a valid Node. + */ + function visitNode(node: T | undefined, visitor: Visitor | undefined, test?: (node: Node) => boolean, lift?: (node: NodeArray) => T): T; + /** + * Visits a Node using the supplied visitor, possibly returning a new Node in its place. + * + * @param node The Node to visit. + * @param visitor The callback used to visit the Node. + * @param test A callback to execute to verify the Node is valid. + * @param lift An optional callback to execute to lift a NodeArray into a valid Node. + */ + function visitNode(node: T | undefined, visitor: Visitor | undefined, test?: (node: Node) => boolean, lift?: (node: NodeArray) => T): T | undefined; + /** + * Visits a NodeArray using the supplied visitor, possibly returning a new NodeArray in its place. + * + * @param nodes The NodeArray to visit. + * @param visitor The callback used to visit a Node. + * @param test A node test to execute for each node. + * @param start An optional value indicating the starting offset at which to start visiting. + * @param count An optional value indicating the maximum number of nodes to visit. + */ + function visitNodes(nodes: NodeArray | undefined, visitor: Visitor, test?: (node: Node) => boolean, start?: number, count?: number): NodeArray; + /** + * Visits a NodeArray using the supplied visitor, possibly returning a new NodeArray in its place. + * + * @param nodes The NodeArray to visit. + * @param visitor The callback used to visit a Node. + * @param test A node test to execute for each node. + * @param start An optional value indicating the starting offset at which to start visiting. + * @param count An optional value indicating the maximum number of nodes to visit. + */ + function visitNodes(nodes: NodeArray | undefined, visitor: Visitor, test?: (node: Node) => boolean, start?: number, count?: number): NodeArray | undefined; + /** + * Starts a new lexical environment and visits a statement list, ending the lexical environment + * and merging hoisted declarations upon completion. + */ + function visitLexicalEnvironment(statements: NodeArray, visitor: Visitor, context: TransformationContext, start?: number, ensureUseStrict?: boolean): NodeArray; + /** + * Starts a new lexical environment and visits a parameter list, suspending the lexical + * environment upon completion. + */ + function visitParameterList(nodes: NodeArray | undefined, visitor: Visitor, context: TransformationContext, nodesVisitor?: typeof visitNodes): NodeArray; + /** + * Resumes a suspended lexical environment and visits a function body, ending the lexical + * environment and merging hoisted declarations upon completion. + */ + function visitFunctionBody(node: FunctionBody, visitor: Visitor, context: TransformationContext): FunctionBody; + /** + * Resumes a suspended lexical environment and visits a function body, ending the lexical + * environment and merging hoisted declarations upon completion. + */ + function visitFunctionBody(node: FunctionBody | undefined, visitor: Visitor, context: TransformationContext): FunctionBody | undefined; + /** + * Resumes a suspended lexical environment and visits a concise body, ending the lexical + * environment and merging hoisted declarations upon completion. + */ + function visitFunctionBody(node: ConciseBody, visitor: Visitor, context: TransformationContext): ConciseBody; + /** + * Visits each child of a Node using the supplied visitor, possibly returning a new Node of the same kind in its place. + * + * @param node The Node whose children will be visited. + * @param visitor The callback used to visit each child. + * @param context A lexical environment context for the visitor. + */ + function visitEachChild(node: T, visitor: Visitor, context: TransformationContext): T; + /** + * Visits each child of a Node using the supplied visitor, possibly returning a new Node of the same kind in its place. + * + * @param node The Node whose children will be visited. + * @param visitor The callback used to visit each child. + * @param context A lexical environment context for the visitor. + */ + function visitEachChild(node: T | undefined, visitor: Visitor, context: TransformationContext, nodesVisitor?: typeof visitNodes, tokenVisitor?: Visitor): T | undefined; +} +declare namespace ts { + function createPrinter(printerOptions?: PrinterOptions, handlers?: PrintHandlers): Printer; +} +declare namespace ts { + function findConfigFile(searchPath: string, fileExists: (fileName: string) => boolean, configName?: string): string | undefined; + function resolveTripleslashReference(moduleName: string, containingFile: string): string; + function createCompilerHost(options: CompilerOptions, setParentNodes?: boolean): CompilerHost; + function getPreEmitDiagnostics(program: Program, sourceFile?: SourceFile, cancellationToken?: CancellationToken): ReadonlyArray; + interface FormatDiagnosticsHost { + getCurrentDirectory(): string; + getCanonicalFileName(fileName: string): string; + getNewLine(): string; + } + function formatDiagnostics(diagnostics: ReadonlyArray, host: FormatDiagnosticsHost): string; + function formatDiagnostic(diagnostic: Diagnostic, host: FormatDiagnosticsHost): string; + function formatDiagnosticsWithColorAndContext(diagnostics: ReadonlyArray, host: FormatDiagnosticsHost): string; + function flattenDiagnosticMessageText(messageText: string | DiagnosticMessageChain | undefined, newLine: string): string; + function getConfigFileParsingDiagnostics(configFileParseResult: ParsedCommandLine): ReadonlyArray; + /** + * Create a new 'Program' instance. A Program is an immutable collection of 'SourceFile's and a 'CompilerOptions' + * that represent a compilation unit. + * + * Creating a program proceeds from a set of root files, expanding the set of inputs by following imports and + * triple-slash-reference-path directives transitively. '@types' and triple-slash-reference-types are also pulled in. + * + * @param createProgramOptions - The options for creating a program. + * @returns A 'Program' object. + */ + function createProgram(createProgramOptions: CreateProgramOptions): Program; + /** + * Create a new 'Program' instance. A Program is an immutable collection of 'SourceFile's and a 'CompilerOptions' + * that represent a compilation unit. + * + * Creating a program proceeds from a set of root files, expanding the set of inputs by following imports and + * triple-slash-reference-path directives transitively. '@types' and triple-slash-reference-types are also pulled in. + * + * @param rootNames - A set of root files. + * @param options - The compiler options which should be used. + * @param host - The host interacts with the underlying file system. + * @param oldProgram - Reuses an old program structure. + * @param configFileParsingDiagnostics - error during config file parsing + * @returns A 'Program' object. + */ + function createProgram(rootNames: ReadonlyArray, options: CompilerOptions, host?: CompilerHost, oldProgram?: Program, configFileParsingDiagnostics?: ReadonlyArray): Program; + /** @deprecated */ interface ResolveProjectReferencePathHost { + fileExists(fileName: string): boolean; + } + /** + * Returns the target config filename of a project reference. + * Note: The file might not exist. + */ + function resolveProjectReferencePath(ref: ProjectReference): ResolvedConfigFileName; + /** @deprecated */ function resolveProjectReferencePath(host: ResolveProjectReferencePathHost, ref: ProjectReference): ResolvedConfigFileName; +} +declare namespace ts { + interface EmitOutput { + outputFiles: OutputFile[]; + emitSkipped: boolean; + } + interface OutputFile { + name: string; + writeByteOrderMark: boolean; + text: string; + } +} +declare namespace ts { + type AffectedFileResult = { + result: T; + affected: SourceFile | Program; + } | undefined; + interface BuilderProgramHost { + /** + * return true if file names are treated with case sensitivity + */ + useCaseSensitiveFileNames(): boolean; + /** + * If provided this would be used this hash instead of actual file shape text for detecting changes + */ + createHash?: (data: string) => string; + /** + * When emit or emitNextAffectedFile are called without writeFile, + * this callback if present would be used to write files + */ + writeFile?: WriteFileCallback; + } + /** + * Builder to manage the program state changes + */ + interface BuilderProgram { + /** + * Returns current program + */ + getProgram(): Program; + /** + * Get compiler options of the program + */ + getCompilerOptions(): CompilerOptions; + /** + * Get the source file in the program with file name + */ + getSourceFile(fileName: string): SourceFile | undefined; + /** + * Get a list of files in the program + */ + getSourceFiles(): ReadonlyArray; + /** + * Get the diagnostics for compiler options + */ + getOptionsDiagnostics(cancellationToken?: CancellationToken): ReadonlyArray; + /** + * Get the diagnostics that dont belong to any file + */ + getGlobalDiagnostics(cancellationToken?: CancellationToken): ReadonlyArray; + /** + * Get the diagnostics from config file parsing + */ + getConfigFileParsingDiagnostics(): ReadonlyArray; + /** + * Get the syntax diagnostics, for all source files if source file is not supplied + */ + getSyntacticDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): ReadonlyArray; + /** + * Get all the dependencies of the file + */ + getAllDependencies(sourceFile: SourceFile): ReadonlyArray; + /** + * Gets the semantic diagnostics from the program corresponding to this state of file (if provided) or whole program + * The semantic diagnostics are cached and managed here + * Note that it is assumed that when asked about semantic diagnostics through this API, + * the file has been taken out of affected files so it is safe to use cache or get from program and cache the diagnostics + * In case of SemanticDiagnosticsBuilderProgram if the source file is not provided, + * it will iterate through all the affected files, to ensure that cache stays valid and yet provide a way to get all semantic diagnostics + */ + getSemanticDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): ReadonlyArray; + /** + * Emits the JavaScript and declaration files. + * When targetSource file is specified, emits the files corresponding to that source file, + * otherwise for the whole program. + * In case of EmitAndSemanticDiagnosticsBuilderProgram, when targetSourceFile is specified, + * it is assumed that that file is handled from affected file list. If targetSourceFile is not specified, + * it will only emit all the affected files instead of whole program + * + * The first of writeFile if provided, writeFile of BuilderProgramHost if provided, writeFile of compiler host + * in that order would be used to write the files + */ + emit(targetSourceFile?: SourceFile, writeFile?: WriteFileCallback, cancellationToken?: CancellationToken, emitOnlyDtsFiles?: boolean, customTransformers?: CustomTransformers): EmitResult; + /** + * Get the current directory of the program + */ + getCurrentDirectory(): string; + } + /** + * The builder that caches the semantic diagnostics for the program and handles the changed files and affected files + */ + interface SemanticDiagnosticsBuilderProgram extends BuilderProgram { + /** + * Gets the semantic diagnostics from the program for the next affected file and caches it + * Returns undefined if the iteration is complete + */ + getSemanticDiagnosticsOfNextAffectedFile(cancellationToken?: CancellationToken, ignoreSourceFile?: (sourceFile: SourceFile) => boolean): AffectedFileResult>; + } + /** + * The builder that can handle the changes in program and iterate through changed file to emit the files + * The semantic diagnostics are cached per file and managed by clearing for the changed/affected files + */ + interface EmitAndSemanticDiagnosticsBuilderProgram extends BuilderProgram { + /** + * Emits the next affected file's emit result (EmitResult and sourceFiles emitted) or returns undefined if iteration is complete + * The first of writeFile if provided, writeFile of BuilderProgramHost if provided, writeFile of compiler host + * in that order would be used to write the files + */ + emitNextAffectedFile(writeFile?: WriteFileCallback, cancellationToken?: CancellationToken, emitOnlyDtsFiles?: boolean, customTransformers?: CustomTransformers): AffectedFileResult; + } + /** + * Create the builder to manage semantic diagnostics and cache them + */ + function createSemanticDiagnosticsBuilderProgram(newProgram: Program, host: BuilderProgramHost, oldProgram?: SemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): SemanticDiagnosticsBuilderProgram; + function createSemanticDiagnosticsBuilderProgram(rootNames: ReadonlyArray | undefined, options: CompilerOptions | undefined, host?: CompilerHost, oldProgram?: SemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray, projectReferences?: ReadonlyArray): SemanticDiagnosticsBuilderProgram; + /** + * Create the builder that can handle the changes in program and iterate through changed files + * to emit the those files and manage semantic diagnostics cache as well + */ + function createEmitAndSemanticDiagnosticsBuilderProgram(newProgram: Program, host: BuilderProgramHost, oldProgram?: EmitAndSemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): EmitAndSemanticDiagnosticsBuilderProgram; + function createEmitAndSemanticDiagnosticsBuilderProgram(rootNames: ReadonlyArray | undefined, options: CompilerOptions | undefined, host?: CompilerHost, oldProgram?: EmitAndSemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray, projectReferences?: ReadonlyArray): EmitAndSemanticDiagnosticsBuilderProgram; + /** + * Creates a builder thats just abstraction over program and can be used with watch + */ + function createAbstractBuilder(newProgram: Program, host: BuilderProgramHost, oldProgram?: BuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): BuilderProgram; + function createAbstractBuilder(rootNames: ReadonlyArray | undefined, options: CompilerOptions | undefined, host?: CompilerHost, oldProgram?: BuilderProgram, configFileParsingDiagnostics?: ReadonlyArray, projectReferences?: ReadonlyArray): BuilderProgram; +} +declare namespace ts { + type WatchStatusReporter = (diagnostic: Diagnostic, newLine: string, options: CompilerOptions) => void; + /** Create the program with rootNames and options, if they are undefined, oldProgram and new configFile diagnostics create new program */ + type CreateProgram = (rootNames: ReadonlyArray | undefined, options: CompilerOptions | undefined, host?: CompilerHost, oldProgram?: T, configFileParsingDiagnostics?: ReadonlyArray, projectReferences?: ReadonlyArray | undefined) => T; + /** Host that has watch functionality used in --watch mode */ + interface WatchHost { + /** If provided, called with Diagnostic message that informs about change in watch status */ + onWatchStatusChange?(diagnostic: Diagnostic, newLine: string, options: CompilerOptions): void; + /** Used to watch changes in source files, missing files needed to update the program or config file */ + watchFile(path: string, callback: FileWatcherCallback, pollingInterval?: number): FileWatcher; + /** Used to watch resolved module's failed lookup locations, config file specs, type roots where auto type reference directives are added */ + watchDirectory(path: string, callback: DirectoryWatcherCallback, recursive?: boolean): FileWatcher; + /** If provided, will be used to set delayed compilation, so that multiple changes in short span are compiled together */ + setTimeout?(callback: (...args: any[]) => void, ms: number, ...args: any[]): any; + /** If provided, will be used to reset existing delayed compilation */ + clearTimeout?(timeoutId: any): void; + } + interface WatchCompilerHost extends WatchHost { + /** + * Used to create the program when need for program creation or recreation detected + */ + createProgram: CreateProgram; + /** If provided, callback to invoke after every new program creation */ + afterProgramCreate?(program: T): void; + useCaseSensitiveFileNames(): boolean; + getNewLine(): string; + getCurrentDirectory(): string; + getDefaultLibFileName(options: CompilerOptions): string; + getDefaultLibLocation?(): string; + createHash?(data: string): string; + /** + * Use to check file presence for source files and + * if resolveModuleNames is not provided (complier is in charge of module resolution) then module files as well + */ + fileExists(path: string): boolean; + /** + * Use to read file text for source files and + * if resolveModuleNames is not provided (complier is in charge of module resolution) then module files as well + */ + readFile(path: string, encoding?: string): string | undefined; + /** If provided, used for module resolution as well as to handle directory structure */ + directoryExists?(path: string): boolean; + /** If provided, used in resolutions as well as handling directory structure */ + getDirectories?(path: string): string[]; + /** If provided, used to cache and handle directory structure modifications */ + readDirectory?(path: string, extensions?: ReadonlyArray, exclude?: ReadonlyArray, include?: ReadonlyArray, depth?: number): string[]; + /** Symbol links resolution */ + realpath?(path: string): string; + /** If provided would be used to write log about compilation */ + trace?(s: string): void; + /** If provided is used to get the environment variable */ + getEnvironmentVariable?(name: string): string | undefined; + /** If provided, used to resolve the module names, otherwise typescript's default module resolution */ + resolveModuleNames?(moduleNames: string[], containingFile: string, reusedNames?: string[], redirectedReference?: ResolvedProjectReference): (ResolvedModule | undefined)[]; + /** If provided, used to resolve type reference directives, otherwise typescript's default resolution */ + resolveTypeReferenceDirectives?(typeReferenceDirectiveNames: string[], containingFile: string, redirectedReference?: ResolvedProjectReference): (ResolvedTypeReferenceDirective | undefined)[]; + } + /** + * Host to create watch with root files and options + */ + interface WatchCompilerHostOfFilesAndCompilerOptions extends WatchCompilerHost { + /** root files to use to generate program */ + rootFiles: string[]; + /** Compiler options */ + options: CompilerOptions; + /** Project References */ + projectReferences?: ReadonlyArray; + } + /** + * Host to create watch with config file + */ + interface WatchCompilerHostOfConfigFile extends WatchCompilerHost, ConfigFileDiagnosticsReporter { + /** Name of the config file to compile */ + configFileName: string; + /** Options to extend */ + optionsToExtend?: CompilerOptions; + /** + * Used to generate source file names from the config file and its include, exclude, files rules + * and also to cache the directory stucture + */ + readDirectory(path: string, extensions?: ReadonlyArray, exclude?: ReadonlyArray, include?: ReadonlyArray, depth?: number): string[]; + } + interface Watch { + /** Synchronize with host and get updated program */ + getProgram(): T; + } + /** + * Creates the watch what generates program using the config file + */ + interface WatchOfConfigFile extends Watch { + } + /** + * Creates the watch that generates program using the root files and compiler options + */ + interface WatchOfFilesAndCompilerOptions extends Watch { + /** Updates the root files in the program, only if this is not config file compilation */ + updateRootFileNames(fileNames: string[]): void; + } + /** + * Create the watch compiler host for either configFile or fileNames and its options + */ + function createWatchCompilerHost(configFileName: string, optionsToExtend: CompilerOptions | undefined, system: System, createProgram?: CreateProgram, reportDiagnostic?: DiagnosticReporter, reportWatchStatus?: WatchStatusReporter): WatchCompilerHostOfConfigFile; + function createWatchCompilerHost(rootFiles: string[], options: CompilerOptions, system: System, createProgram?: CreateProgram, reportDiagnostic?: DiagnosticReporter, reportWatchStatus?: WatchStatusReporter, projectReferences?: ReadonlyArray): WatchCompilerHostOfFilesAndCompilerOptions; + /** + * Creates the watch from the host for root files and compiler options + */ + function createWatchProgram(host: WatchCompilerHostOfFilesAndCompilerOptions): WatchOfFilesAndCompilerOptions; + /** + * Creates the watch from the host for config file + */ + function createWatchProgram(host: WatchCompilerHostOfConfigFile): WatchOfConfigFile; +} +declare namespace ts.server { + type ActionSet = "action::set"; + type ActionInvalidate = "action::invalidate"; + type ActionPackageInstalled = "action::packageInstalled"; + type ActionValueInspected = "action::valueInspected"; + type EventTypesRegistry = "event::typesRegistry"; + type EventBeginInstallTypes = "event::beginInstallTypes"; + type EventEndInstallTypes = "event::endInstallTypes"; + type EventInitializationFailed = "event::initializationFailed"; + interface TypingInstallerResponse { + readonly kind: ActionSet | ActionInvalidate | EventTypesRegistry | ActionPackageInstalled | ActionValueInspected | EventBeginInstallTypes | EventEndInstallTypes | EventInitializationFailed; + } + interface TypingInstallerRequestWithProjectName { + readonly projectName: string; + } + interface DiscoverTypings extends TypingInstallerRequestWithProjectName { + readonly fileNames: string[]; + readonly projectRootPath: Path; + readonly compilerOptions: CompilerOptions; + readonly typeAcquisition: TypeAcquisition; + readonly unresolvedImports: SortedReadonlyArray; + readonly cachePath?: string; + readonly kind: "discover"; + } + interface CloseProject extends TypingInstallerRequestWithProjectName { + readonly kind: "closeProject"; + } + interface TypesRegistryRequest { + readonly kind: "typesRegistry"; + } + interface InstallPackageRequest extends TypingInstallerRequestWithProjectName { + readonly kind: "installPackage"; + readonly fileName: Path; + readonly packageName: string; + readonly projectRootPath: Path; + } + interface PackageInstalledResponse extends ProjectResponse { + readonly kind: ActionPackageInstalled; + readonly success: boolean; + readonly message: string; + } + interface InitializationFailedResponse extends TypingInstallerResponse { + readonly kind: EventInitializationFailed; + readonly message: string; + } + interface ProjectResponse extends TypingInstallerResponse { + readonly projectName: string; + } + interface InvalidateCachedTypings extends ProjectResponse { + readonly kind: ActionInvalidate; + } + interface InstallTypes extends ProjectResponse { + readonly kind: EventBeginInstallTypes | EventEndInstallTypes; + readonly eventId: number; + readonly typingsInstallerVersion: string; + readonly packagesToInstall: ReadonlyArray; + } + interface BeginInstallTypes extends InstallTypes { + readonly kind: EventBeginInstallTypes; + } + interface EndInstallTypes extends InstallTypes { + readonly kind: EventEndInstallTypes; + readonly installSuccess: boolean; + } + interface SetTypings extends ProjectResponse { + readonly typeAcquisition: TypeAcquisition; + readonly compilerOptions: CompilerOptions; + readonly typings: string[]; + readonly unresolvedImports: SortedReadonlyArray; + readonly kind: ActionSet; + } +} +declare namespace ts { + interface Node { + getSourceFile(): SourceFile; + getChildCount(sourceFile?: SourceFile): number; + getChildAt(index: number, sourceFile?: SourceFile): Node; + getChildren(sourceFile?: SourceFile): Node[]; + getStart(sourceFile?: SourceFile, includeJsDocComment?: boolean): number; + getFullStart(): number; + getEnd(): number; + getWidth(sourceFile?: SourceFileLike): number; + getFullWidth(): number; + getLeadingTriviaWidth(sourceFile?: SourceFile): number; + getFullText(sourceFile?: SourceFile): string; + getText(sourceFile?: SourceFile): string; + getFirstToken(sourceFile?: SourceFile): Node | undefined; + getLastToken(sourceFile?: SourceFile): Node | undefined; + forEachChild(cbNode: (node: Node) => T | undefined, cbNodeArray?: (nodes: NodeArray) => T | undefined): T | undefined; + } + interface Identifier { + readonly text: string; + } + interface Symbol { + readonly name: string; + getFlags(): SymbolFlags; + getEscapedName(): __String; + getName(): string; + getDeclarations(): Declaration[] | undefined; + getDocumentationComment(typeChecker: TypeChecker | undefined): SymbolDisplayPart[]; + getJsDocTags(): JSDocTagInfo[]; + } + interface Type { + getFlags(): TypeFlags; + getSymbol(): Symbol | undefined; + getProperties(): Symbol[]; + getProperty(propertyName: string): Symbol | undefined; + getApparentProperties(): Symbol[]; + getCallSignatures(): ReadonlyArray; + getConstructSignatures(): ReadonlyArray; + getStringIndexType(): Type | undefined; + getNumberIndexType(): Type | undefined; + getBaseTypes(): BaseType[] | undefined; + getNonNullableType(): Type; + getConstraint(): Type | undefined; + getDefault(): Type | undefined; + isUnion(): this is UnionType; + isIntersection(): this is IntersectionType; + isUnionOrIntersection(): this is UnionOrIntersectionType; + isLiteral(): this is LiteralType; + isStringLiteral(): this is StringLiteralType; + isNumberLiteral(): this is NumberLiteralType; + isTypeParameter(): this is TypeParameter; + isClassOrInterface(): this is InterfaceType; + isClass(): this is InterfaceType; + } + interface Signature { + getDeclaration(): SignatureDeclaration; + getTypeParameters(): TypeParameter[] | undefined; + getParameters(): Symbol[]; + getReturnType(): Type; + getDocumentationComment(typeChecker: TypeChecker | undefined): SymbolDisplayPart[]; + getJsDocTags(): JSDocTagInfo[]; + } + interface SourceFile { + getLineAndCharacterOfPosition(pos: number): LineAndCharacter; + getLineEndOfPosition(pos: number): number; + getLineStarts(): ReadonlyArray; + getPositionOfLineAndCharacter(line: number, character: number): number; + update(newText: string, textChangeRange: TextChangeRange): SourceFile; + } + interface SourceFileLike { + getLineAndCharacterOfPosition(pos: number): LineAndCharacter; + } + interface SourceMapSource { + getLineAndCharacterOfPosition(pos: number): LineAndCharacter; + } + /** + * Represents an immutable snapshot of a script at a specified time.Once acquired, the + * snapshot is observably immutable. i.e. the same calls with the same parameters will return + * the same values. + */ + interface IScriptSnapshot { + /** Gets a portion of the script snapshot specified by [start, end). */ + getText(start: number, end: number): string; + /** Gets the length of this script snapshot. */ + getLength(): number; + /** + * Gets the TextChangeRange that describe how the text changed between this text and + * an older version. This information is used by the incremental parser to determine + * what sections of the script need to be re-parsed. 'undefined' can be returned if the + * change range cannot be determined. However, in that case, incremental parsing will + * not happen and the entire document will be re - parsed. + */ + getChangeRange(oldSnapshot: IScriptSnapshot): TextChangeRange | undefined; + /** Releases all resources held by this script snapshot */ + dispose?(): void; + } + namespace ScriptSnapshot { + function fromString(text: string): IScriptSnapshot; + } + interface PreProcessedFileInfo { + referencedFiles: FileReference[]; + typeReferenceDirectives: FileReference[]; + libReferenceDirectives: FileReference[]; + importedFiles: FileReference[]; + ambientExternalModules?: string[]; + isLibFile: boolean; + } + interface HostCancellationToken { + isCancellationRequested(): boolean; + } + interface InstallPackageOptions { + fileName: Path; + packageName: string; + } + interface LanguageServiceHost extends GetEffectiveTypeRootsHost { + getCompilationSettings(): CompilerOptions; + getNewLine?(): string; + getProjectVersion?(): string; + getScriptFileNames(): string[]; + getScriptKind?(fileName: string): ScriptKind; + getScriptVersion(fileName: string): string; + getScriptSnapshot(fileName: string): IScriptSnapshot | undefined; + getProjectReferences?(): ReadonlyArray | undefined; + getLocalizedDiagnosticMessages?(): any; + getCancellationToken?(): HostCancellationToken; + getCurrentDirectory(): string; + getDefaultLibFileName(options: CompilerOptions): string; + log?(s: string): void; + trace?(s: string): void; + error?(s: string): void; + useCaseSensitiveFileNames?(): boolean; + readDirectory?(path: string, extensions?: ReadonlyArray, exclude?: ReadonlyArray, include?: ReadonlyArray, depth?: number): string[]; + readFile?(path: string, encoding?: string): string | undefined; + realpath?(path: string): string; + fileExists?(path: string): boolean; + getTypeRootsVersion?(): number; + resolveModuleNames?(moduleNames: string[], containingFile: string, reusedNames?: string[], redirectedReference?: ResolvedProjectReference): (ResolvedModule | undefined)[]; + getResolvedModuleWithFailedLookupLocationsFromCache?(modulename: string, containingFile: string): ResolvedModuleWithFailedLookupLocations | undefined; + resolveTypeReferenceDirectives?(typeDirectiveNames: string[], containingFile: string, redirectedReference?: ResolvedProjectReference): (ResolvedTypeReferenceDirective | undefined)[]; + getDirectories?(directoryName: string): string[]; + /** + * Gets a set of custom transformers to use during emit. + */ + getCustomTransformers?(): CustomTransformers | undefined; + isKnownTypesPackageName?(name: string): boolean; + installPackage?(options: InstallPackageOptions): Promise; + writeFile?(fileName: string, content: string): void; + } + type WithMetadata = T & { + metadata?: unknown; + }; + interface LanguageService { + cleanupSemanticCache(): void; + getSyntacticDiagnostics(fileName: string): DiagnosticWithLocation[]; + /** The first time this is called, it will return global diagnostics (no location). */ + getSemanticDiagnostics(fileName: string): Diagnostic[]; + getSuggestionDiagnostics(fileName: string): DiagnosticWithLocation[]; + getCompilerOptionsDiagnostics(): Diagnostic[]; + /** + * @deprecated Use getEncodedSyntacticClassifications instead. + */ + getSyntacticClassifications(fileName: string, span: TextSpan): ClassifiedSpan[]; + /** + * @deprecated Use getEncodedSemanticClassifications instead. + */ + getSemanticClassifications(fileName: string, span: TextSpan): ClassifiedSpan[]; + getEncodedSyntacticClassifications(fileName: string, span: TextSpan): Classifications; + getEncodedSemanticClassifications(fileName: string, span: TextSpan): Classifications; + getCompletionsAtPosition(fileName: string, position: number, options: GetCompletionsAtPositionOptions | undefined): WithMetadata | undefined; + getCompletionEntryDetails(fileName: string, position: number, name: string, formatOptions: FormatCodeOptions | FormatCodeSettings | undefined, source: string | undefined, preferences: UserPreferences | undefined): CompletionEntryDetails | undefined; + getCompletionEntrySymbol(fileName: string, position: number, name: string, source: string | undefined): Symbol | undefined; + getQuickInfoAtPosition(fileName: string, position: number): QuickInfo | undefined; + getNameOrDottedNameSpan(fileName: string, startPos: number, endPos: number): TextSpan | undefined; + getBreakpointStatementAtPosition(fileName: string, position: number): TextSpan | undefined; + getSignatureHelpItems(fileName: string, position: number, options: SignatureHelpItemsOptions | undefined): SignatureHelpItems | undefined; + getRenameInfo(fileName: string, position: number): RenameInfo; + findRenameLocations(fileName: string, position: number, findInStrings: boolean, findInComments: boolean): ReadonlyArray | undefined; + getDefinitionAtPosition(fileName: string, position: number): ReadonlyArray | undefined; + getDefinitionAndBoundSpan(fileName: string, position: number): DefinitionInfoAndBoundSpan | undefined; + getTypeDefinitionAtPosition(fileName: string, position: number): ReadonlyArray | undefined; + getImplementationAtPosition(fileName: string, position: number): ReadonlyArray | undefined; + getReferencesAtPosition(fileName: string, position: number): ReferenceEntry[] | undefined; + findReferences(fileName: string, position: number): ReferencedSymbol[] | undefined; + getDocumentHighlights(fileName: string, position: number, filesToSearch: string[]): DocumentHighlights[] | undefined; + /** @deprecated */ + getOccurrencesAtPosition(fileName: string, position: number): ReadonlyArray | undefined; + getNavigateToItems(searchValue: string, maxResultCount?: number, fileName?: string, excludeDtsFiles?: boolean): NavigateToItem[]; + getNavigationBarItems(fileName: string): NavigationBarItem[]; + getNavigationTree(fileName: string): NavigationTree; + getOutliningSpans(fileName: string): OutliningSpan[]; + getTodoComments(fileName: string, descriptors: TodoCommentDescriptor[]): TodoComment[]; + getBraceMatchingAtPosition(fileName: string, position: number): TextSpan[]; + getIndentationAtPosition(fileName: string, position: number, options: EditorOptions | EditorSettings): number; + getFormattingEditsForRange(fileName: string, start: number, end: number, options: FormatCodeOptions | FormatCodeSettings): TextChange[]; + getFormattingEditsForDocument(fileName: string, options: FormatCodeOptions | FormatCodeSettings): TextChange[]; + getFormattingEditsAfterKeystroke(fileName: string, position: number, key: string, options: FormatCodeOptions | FormatCodeSettings): TextChange[]; + getDocCommentTemplateAtPosition(fileName: string, position: number): TextInsertion | undefined; + isValidBraceCompletionAtPosition(fileName: string, position: number, openingBrace: number): boolean; + /** + * This will return a defined result if the position is after the `>` of the opening tag, or somewhere in the text, of a JSXElement with no closing tag. + * Editors should call this after `>` is typed. + */ + getJsxClosingTagAtPosition(fileName: string, position: number): JsxClosingTagInfo | undefined; + getSpanOfEnclosingComment(fileName: string, position: number, onlyMultiLine: boolean): TextSpan | undefined; + toLineColumnOffset?(fileName: string, position: number): LineAndCharacter; + getCodeFixesAtPosition(fileName: string, start: number, end: number, errorCodes: ReadonlyArray, formatOptions: FormatCodeSettings, preferences: UserPreferences): ReadonlyArray; + getCombinedCodeFix(scope: CombinedCodeFixScope, fixId: {}, formatOptions: FormatCodeSettings, preferences: UserPreferences): CombinedCodeActions; + applyCodeActionCommand(action: CodeActionCommand, formatSettings?: FormatCodeSettings): Promise; + applyCodeActionCommand(action: CodeActionCommand[], formatSettings?: FormatCodeSettings): Promise; + applyCodeActionCommand(action: CodeActionCommand | CodeActionCommand[], formatSettings?: FormatCodeSettings): Promise; + /** @deprecated `fileName` will be ignored */ + applyCodeActionCommand(fileName: string, action: CodeActionCommand): Promise; + /** @deprecated `fileName` will be ignored */ + applyCodeActionCommand(fileName: string, action: CodeActionCommand[]): Promise; + /** @deprecated `fileName` will be ignored */ + applyCodeActionCommand(fileName: string, action: CodeActionCommand | CodeActionCommand[]): Promise; + getApplicableRefactors(fileName: string, positionOrRange: number | TextRange, preferences: UserPreferences | undefined): ApplicableRefactorInfo[]; + getEditsForRefactor(fileName: string, formatOptions: FormatCodeSettings, positionOrRange: number | TextRange, refactorName: string, actionName: string, preferences: UserPreferences | undefined): RefactorEditInfo | undefined; + organizeImports(scope: OrganizeImportsScope, formatOptions: FormatCodeSettings, preferences: UserPreferences | undefined): ReadonlyArray; + getEditsForFileRename(oldFilePath: string, newFilePath: string, formatOptions: FormatCodeSettings, preferences: UserPreferences | undefined): ReadonlyArray; + getEmitOutput(fileName: string, emitOnlyDtsFiles?: boolean): EmitOutput; + getProgram(): Program | undefined; + dispose(): void; + } + interface JsxClosingTagInfo { + readonly newText: string; + } + interface CombinedCodeFixScope { + type: "file"; + fileName: string; + } + type OrganizeImportsScope = CombinedCodeFixScope; + type CompletionsTriggerCharacter = "." | '"' | "'" | "`" | "/" | "@" | "<"; + interface GetCompletionsAtPositionOptions extends UserPreferences { + /** + * If the editor is asking for completions because a certain character was typed + * (as opposed to when the user explicitly requested them) this should be set. + */ + triggerCharacter?: CompletionsTriggerCharacter; + /** @deprecated Use includeCompletionsForModuleExports */ + includeExternalModuleExports?: boolean; + /** @deprecated Use includeCompletionsWithInsertText */ + includeInsertTextCompletions?: boolean; + } + type SignatureHelpTriggerCharacter = "," | "(" | "<"; + type SignatureHelpRetriggerCharacter = SignatureHelpTriggerCharacter | ")"; + interface SignatureHelpItemsOptions { + triggerReason?: SignatureHelpTriggerReason; + } + type SignatureHelpTriggerReason = SignatureHelpInvokedReason | SignatureHelpCharacterTypedReason | SignatureHelpRetriggeredReason; + /** + * Signals that the user manually requested signature help. + * The language service will unconditionally attempt to provide a result. + */ + interface SignatureHelpInvokedReason { + kind: "invoked"; + triggerCharacter?: undefined; + } + /** + * Signals that the signature help request came from a user typing a character. + * Depending on the character and the syntactic context, the request may or may not be served a result. + */ + interface SignatureHelpCharacterTypedReason { + kind: "characterTyped"; + /** + * Character that was responsible for triggering signature help. + */ + triggerCharacter: SignatureHelpTriggerCharacter; + } + /** + * Signals that this signature help request came from typing a character or moving the cursor. + * This should only occur if a signature help session was already active and the editor needs to see if it should adjust. + * The language service will unconditionally attempt to provide a result. + * `triggerCharacter` can be `undefined` for a retrigger caused by a cursor move. + */ + interface SignatureHelpRetriggeredReason { + kind: "retrigger"; + /** + * Character that was responsible for triggering signature help. + */ + triggerCharacter?: SignatureHelpRetriggerCharacter; + } + interface ApplyCodeActionCommandResult { + successMessage: string; + } + interface Classifications { + spans: number[]; + endOfLineState: EndOfLineState; + } + interface ClassifiedSpan { + textSpan: TextSpan; + classificationType: ClassificationTypeNames; + } + /** + * Navigation bar interface designed for visual studio's dual-column layout. + * This does not form a proper tree. + * The navbar is returned as a list of top-level items, each of which has a list of child items. + * Child items always have an empty array for their `childItems`. + */ + interface NavigationBarItem { + text: string; + kind: ScriptElementKind; + kindModifiers: string; + spans: TextSpan[]; + childItems: NavigationBarItem[]; + indent: number; + bolded: boolean; + grayed: boolean; + } + /** + * Node in a tree of nested declarations in a file. + * The top node is always a script or module node. + */ + interface NavigationTree { + /** Name of the declaration, or a short description, e.g. "". */ + text: string; + kind: ScriptElementKind; + /** ScriptElementKindModifier separated by commas, e.g. "public,abstract" */ + kindModifiers: string; + /** + * Spans of the nodes that generated this declaration. + * There will be more than one if this is the result of merging. + */ + spans: TextSpan[]; + nameSpan: TextSpan | undefined; + /** Present if non-empty */ + childItems?: NavigationTree[]; + } + interface TodoCommentDescriptor { + text: string; + priority: number; + } + interface TodoComment { + descriptor: TodoCommentDescriptor; + message: string; + position: number; + } + interface TextChange { + span: TextSpan; + newText: string; + } + interface FileTextChanges { + fileName: string; + textChanges: TextChange[]; + isNewFile?: boolean; + } + interface CodeAction { + /** Description of the code action to display in the UI of the editor */ + description: string; + /** Text changes to apply to each file as part of the code action */ + changes: FileTextChanges[]; + /** + * If the user accepts the code fix, the editor should send the action back in a `applyAction` request. + * This allows the language service to have side effects (e.g. installing dependencies) upon a code fix. + */ + commands?: CodeActionCommand[]; + } + interface CodeFixAction extends CodeAction { + /** Short name to identify the fix, for use by telemetry. */ + fixName: string; + /** + * If present, one may call 'getCombinedCodeFix' with this fixId. + * This may be omitted to indicate that the code fix can't be applied in a group. + */ + fixId?: {}; + fixAllDescription?: string; + } + interface CombinedCodeActions { + changes: ReadonlyArray; + commands?: ReadonlyArray; + } + type CodeActionCommand = InstallPackageAction | GenerateTypesAction; + interface InstallPackageAction { + } + interface GenerateTypesAction extends GenerateTypesOptions { + } + interface GenerateTypesOptions { + readonly file: string; + readonly fileToGenerateTypesFor: string; + readonly outputFileName: string; + } + /** + * A set of one or more available refactoring actions, grouped under a parent refactoring. + */ + interface ApplicableRefactorInfo { + /** + * The programmatic name of the refactoring + */ + name: string; + /** + * A description of this refactoring category to show to the user. + * If the refactoring gets inlined (see below), this text will not be visible. + */ + description: string; + /** + * Inlineable refactorings can have their actions hoisted out to the top level + * of a context menu. Non-inlineanable refactorings should always be shown inside + * their parent grouping. + * + * If not specified, this value is assumed to be 'true' + */ + inlineable?: boolean; + actions: RefactorActionInfo[]; + } + /** + * Represents a single refactoring action - for example, the "Extract Method..." refactor might + * offer several actions, each corresponding to a surround class or closure to extract into. + */ + interface RefactorActionInfo { + /** + * The programmatic name of the refactoring action + */ + name: string; + /** + * A description of this refactoring action to show to the user. + * If the parent refactoring is inlined away, this will be the only text shown, + * so this description should make sense by itself if the parent is inlineable=true + */ + description: string; + } + /** + * A set of edits to make in response to a refactor action, plus an optional + * location where renaming should be invoked from + */ + interface RefactorEditInfo { + edits: FileTextChanges[]; + renameFilename?: string; + renameLocation?: number; + commands?: CodeActionCommand[]; + } + interface TextInsertion { + newText: string; + /** The position in newText the caret should point to after the insertion. */ + caretOffset: number; + } + interface DocumentSpan { + textSpan: TextSpan; + fileName: string; + /** + * If the span represents a location that was remapped (e.g. via a .d.ts.map file), + * then the original filename and span will be specified here + */ + originalTextSpan?: TextSpan; + originalFileName?: string; + } + interface RenameLocation extends DocumentSpan { + readonly prefixText?: string; + readonly suffixText?: string; + } + interface ReferenceEntry extends DocumentSpan { + isWriteAccess: boolean; + isDefinition: boolean; + isInString?: true; + } + interface ImplementationLocation extends DocumentSpan { + kind: ScriptElementKind; + displayParts: SymbolDisplayPart[]; + } + interface DocumentHighlights { + fileName: string; + highlightSpans: HighlightSpan[]; + } + enum HighlightSpanKind { + none = "none", + definition = "definition", + reference = "reference", + writtenReference = "writtenReference" + } + interface HighlightSpan { + fileName?: string; + isInString?: true; + textSpan: TextSpan; + kind: HighlightSpanKind; + } + interface NavigateToItem { + name: string; + kind: ScriptElementKind; + kindModifiers: string; + matchKind: "exact" | "prefix" | "substring" | "camelCase"; + isCaseSensitive: boolean; + fileName: string; + textSpan: TextSpan; + containerName: string; + containerKind: ScriptElementKind; + } + enum IndentStyle { + None = 0, + Block = 1, + Smart = 2 + } + interface EditorOptions { + BaseIndentSize?: number; + IndentSize: number; + TabSize: number; + NewLineCharacter: string; + ConvertTabsToSpaces: boolean; + IndentStyle: IndentStyle; + } + interface EditorSettings { + baseIndentSize?: number; + indentSize?: number; + tabSize?: number; + newLineCharacter?: string; + convertTabsToSpaces?: boolean; + indentStyle?: IndentStyle; + } + interface FormatCodeOptions extends EditorOptions { + InsertSpaceAfterCommaDelimiter: boolean; + InsertSpaceAfterSemicolonInForStatements: boolean; + InsertSpaceBeforeAndAfterBinaryOperators: boolean; + InsertSpaceAfterConstructor?: boolean; + InsertSpaceAfterKeywordsInControlFlowStatements: boolean; + InsertSpaceAfterFunctionKeywordForAnonymousFunctions: boolean; + InsertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis: boolean; + InsertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets: boolean; + InsertSpaceAfterOpeningAndBeforeClosingNonemptyBraces?: boolean; + InsertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces: boolean; + InsertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces?: boolean; + InsertSpaceAfterTypeAssertion?: boolean; + InsertSpaceBeforeFunctionParenthesis?: boolean; + PlaceOpenBraceOnNewLineForFunctions: boolean; + PlaceOpenBraceOnNewLineForControlBlocks: boolean; + insertSpaceBeforeTypeAnnotation?: boolean; + } + interface FormatCodeSettings extends EditorSettings { + readonly insertSpaceAfterCommaDelimiter?: boolean; + readonly insertSpaceAfterSemicolonInForStatements?: boolean; + readonly insertSpaceBeforeAndAfterBinaryOperators?: boolean; + readonly insertSpaceAfterConstructor?: boolean; + readonly insertSpaceAfterKeywordsInControlFlowStatements?: boolean; + readonly insertSpaceAfterFunctionKeywordForAnonymousFunctions?: boolean; + readonly insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis?: boolean; + readonly insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets?: boolean; + readonly insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces?: boolean; + readonly insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces?: boolean; + readonly insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces?: boolean; + readonly insertSpaceAfterTypeAssertion?: boolean; + readonly insertSpaceBeforeFunctionParenthesis?: boolean; + readonly placeOpenBraceOnNewLineForFunctions?: boolean; + readonly placeOpenBraceOnNewLineForControlBlocks?: boolean; + readonly insertSpaceBeforeTypeAnnotation?: boolean; + readonly indentMultiLineObjectLiteralBeginningOnBlankLine?: boolean; + } + function getDefaultFormatCodeSettings(newLineCharacter?: string): FormatCodeSettings; + interface DefinitionInfo extends DocumentSpan { + kind: ScriptElementKind; + name: string; + containerKind: ScriptElementKind; + containerName: string; + } + interface DefinitionInfoAndBoundSpan { + definitions?: ReadonlyArray; + textSpan: TextSpan; + } + interface ReferencedSymbolDefinitionInfo extends DefinitionInfo { + displayParts: SymbolDisplayPart[]; + } + interface ReferencedSymbol { + definition: ReferencedSymbolDefinitionInfo; + references: ReferenceEntry[]; + } + enum SymbolDisplayPartKind { + aliasName = 0, + className = 1, + enumName = 2, + fieldName = 3, + interfaceName = 4, + keyword = 5, + lineBreak = 6, + numericLiteral = 7, + stringLiteral = 8, + localName = 9, + methodName = 10, + moduleName = 11, + operator = 12, + parameterName = 13, + propertyName = 14, + punctuation = 15, + space = 16, + text = 17, + typeParameterName = 18, + enumMemberName = 19, + functionName = 20, + regularExpressionLiteral = 21 + } + interface SymbolDisplayPart { + text: string; + kind: string; + } + interface JSDocTagInfo { + name: string; + text?: string; + } + interface QuickInfo { + kind: ScriptElementKind; + kindModifiers: string; + textSpan: TextSpan; + displayParts?: SymbolDisplayPart[]; + documentation?: SymbolDisplayPart[]; + tags?: JSDocTagInfo[]; + } + type RenameInfo = RenameInfoSuccess | RenameInfoFailure; + interface RenameInfoSuccess { + canRename: true; + /** + * File or directory to rename. + * If set, `getEditsForFileRename` should be called instead of `findRenameLocations`. + */ + fileToRename?: string; + displayName: string; + fullDisplayName: string; + kind: ScriptElementKind; + kindModifiers: string; + triggerSpan: TextSpan; + } + interface RenameInfoFailure { + canRename: false; + localizedErrorMessage: string; + } + interface SignatureHelpParameter { + name: string; + documentation: SymbolDisplayPart[]; + displayParts: SymbolDisplayPart[]; + isOptional: boolean; + } + /** + * Represents a single signature to show in signature help. + * The id is used for subsequent calls into the language service to ask questions about the + * signature help item in the context of any documents that have been updated. i.e. after + * an edit has happened, while signature help is still active, the host can ask important + * questions like 'what parameter is the user currently contained within?'. + */ + interface SignatureHelpItem { + isVariadic: boolean; + prefixDisplayParts: SymbolDisplayPart[]; + suffixDisplayParts: SymbolDisplayPart[]; + separatorDisplayParts: SymbolDisplayPart[]; + parameters: SignatureHelpParameter[]; + documentation: SymbolDisplayPart[]; + tags: JSDocTagInfo[]; + } + /** + * Represents a set of signature help items, and the preferred item that should be selected. + */ + interface SignatureHelpItems { + items: SignatureHelpItem[]; + applicableSpan: TextSpan; + selectedItemIndex: number; + argumentIndex: number; + argumentCount: number; + } + interface CompletionInfo { + /** Not true for all glboal completions. This will be true if the enclosing scope matches a few syntax kinds. See `isSnippetScope`. */ + isGlobalCompletion: boolean; + isMemberCompletion: boolean; + /** + * true when the current location also allows for a new identifier + */ + isNewIdentifierLocation: boolean; + entries: CompletionEntry[]; + } + interface CompletionEntry { + name: string; + kind: ScriptElementKind; + kindModifiers?: string; + sortText: string; + insertText?: string; + /** + * An optional span that indicates the text to be replaced by this completion item. + * If present, this span should be used instead of the default one. + * It will be set if the required span differs from the one generated by the default replacement behavior. + */ + replacementSpan?: TextSpan; + hasAction?: true; + source?: string; + isRecommended?: true; + } + interface CompletionEntryDetails { + name: string; + kind: ScriptElementKind; + kindModifiers: string; + displayParts: SymbolDisplayPart[]; + documentation?: SymbolDisplayPart[]; + tags?: JSDocTagInfo[]; + codeActions?: CodeAction[]; + source?: SymbolDisplayPart[]; + } + interface OutliningSpan { + /** The span of the document to actually collapse. */ + textSpan: TextSpan; + /** The span of the document to display when the user hovers over the collapsed span. */ + hintSpan: TextSpan; + /** The text to display in the editor for the collapsed region. */ + bannerText: string; + /** + * Whether or not this region should be automatically collapsed when + * the 'Collapse to Definitions' command is invoked. + */ + autoCollapse: boolean; + /** + * Classification of the contents of the span + */ + kind: OutliningSpanKind; + } + enum OutliningSpanKind { + /** Single or multi-line comments */ + Comment = "comment", + /** Sections marked by '// #region' and '// #endregion' comments */ + Region = "region", + /** Declarations and expressions */ + Code = "code", + /** Contiguous blocks of import declarations */ + Imports = "imports" + } + enum OutputFileType { + JavaScript = 0, + SourceMap = 1, + Declaration = 2 + } + enum EndOfLineState { + None = 0, + InMultiLineCommentTrivia = 1, + InSingleQuoteStringLiteral = 2, + InDoubleQuoteStringLiteral = 3, + InTemplateHeadOrNoSubstitutionTemplate = 4, + InTemplateMiddleOrTail = 5, + InTemplateSubstitutionPosition = 6 + } + enum TokenClass { + Punctuation = 0, + Keyword = 1, + Operator = 2, + Comment = 3, + Whitespace = 4, + Identifier = 5, + NumberLiteral = 6, + BigIntLiteral = 7, + StringLiteral = 8, + RegExpLiteral = 9 + } + interface ClassificationResult { + finalLexState: EndOfLineState; + entries: ClassificationInfo[]; + } + interface ClassificationInfo { + length: number; + classification: TokenClass; + } + interface Classifier { + /** + * Gives lexical classifications of tokens on a line without any syntactic context. + * For instance, a token consisting of the text 'string' can be either an identifier + * named 'string' or the keyword 'string', however, because this classifier is not aware, + * it relies on certain heuristics to give acceptable results. For classifications where + * speed trumps accuracy, this function is preferable; however, for true accuracy, the + * syntactic classifier is ideal. In fact, in certain editing scenarios, combining the + * lexical, syntactic, and semantic classifiers may issue the best user experience. + * + * @param text The text of a line to classify. + * @param lexState The state of the lexical classifier at the end of the previous line. + * @param syntacticClassifierAbsent Whether the client is *not* using a syntactic classifier. + * If there is no syntactic classifier (syntacticClassifierAbsent=true), + * certain heuristics may be used in its place; however, if there is a + * syntactic classifier (syntacticClassifierAbsent=false), certain + * classifications which may be incorrectly categorized will be given + * back as Identifiers in order to allow the syntactic classifier to + * subsume the classification. + * @deprecated Use getLexicalClassifications instead. + */ + getClassificationsForLine(text: string, lexState: EndOfLineState, syntacticClassifierAbsent: boolean): ClassificationResult; + getEncodedLexicalClassifications(text: string, endOfLineState: EndOfLineState, syntacticClassifierAbsent: boolean): Classifications; + } + enum ScriptElementKind { + unknown = "", + warning = "warning", + /** predefined type (void) or keyword (class) */ + keyword = "keyword", + /** top level script node */ + scriptElement = "script", + /** module foo {} */ + moduleElement = "module", + /** class X {} */ + classElement = "class", + /** var x = class X {} */ + localClassElement = "local class", + /** interface Y {} */ + interfaceElement = "interface", + /** type T = ... */ + typeElement = "type", + /** enum E */ + enumElement = "enum", + enumMemberElement = "enum member", + /** + * Inside module and script only + * const v = .. + */ + variableElement = "var", + /** Inside function */ + localVariableElement = "local var", + /** + * Inside module and script only + * function f() { } + */ + functionElement = "function", + /** Inside function */ + localFunctionElement = "local function", + /** class X { [public|private]* foo() {} } */ + memberFunctionElement = "method", + /** class X { [public|private]* [get|set] foo:number; } */ + memberGetAccessorElement = "getter", + memberSetAccessorElement = "setter", + /** + * class X { [public|private]* foo:number; } + * interface Y { foo:number; } + */ + memberVariableElement = "property", + /** class X { constructor() { } } */ + constructorImplementationElement = "constructor", + /** interface Y { ():number; } */ + callSignatureElement = "call", + /** interface Y { []:number; } */ + indexSignatureElement = "index", + /** interface Y { new():Y; } */ + constructSignatureElement = "construct", + /** function foo(*Y*: string) */ + parameterElement = "parameter", + typeParameterElement = "type parameter", + primitiveType = "primitive type", + label = "label", + alias = "alias", + constElement = "const", + letElement = "let", + directory = "directory", + externalModuleName = "external module name", + /** + * + */ + jsxAttribute = "JSX attribute", + /** String literal */ + string = "string" + } + enum ScriptElementKindModifier { + none = "", + publicMemberModifier = "public", + privateMemberModifier = "private", + protectedMemberModifier = "protected", + exportedModifier = "export", + ambientModifier = "declare", + staticModifier = "static", + abstractModifier = "abstract", + optionalModifier = "optional", + dtsModifier = ".d.ts", + tsModifier = ".ts", + tsxModifier = ".tsx", + jsModifier = ".js", + jsxModifier = ".jsx", + jsonModifier = ".json" + } + enum ClassificationTypeNames { + comment = "comment", + identifier = "identifier", + keyword = "keyword", + numericLiteral = "number", + bigintLiteral = "bigint", + operator = "operator", + stringLiteral = "string", + whiteSpace = "whitespace", + text = "text", + punctuation = "punctuation", + className = "class name", + enumName = "enum name", + interfaceName = "interface name", + moduleName = "module name", + typeParameterName = "type parameter name", + typeAliasName = "type alias name", + parameterName = "parameter name", + docCommentTagName = "doc comment tag name", + jsxOpenTagName = "jsx open tag name", + jsxCloseTagName = "jsx close tag name", + jsxSelfClosingTagName = "jsx self closing tag name", + jsxAttribute = "jsx attribute", + jsxText = "jsx text", + jsxAttributeStringLiteralValue = "jsx attribute string literal value" + } + enum ClassificationType { + comment = 1, + identifier = 2, + keyword = 3, + numericLiteral = 4, + operator = 5, + stringLiteral = 6, + regularExpressionLiteral = 7, + whiteSpace = 8, + text = 9, + punctuation = 10, + className = 11, + enumName = 12, + interfaceName = 13, + moduleName = 14, + typeParameterName = 15, + typeAliasName = 16, + parameterName = 17, + docCommentTagName = 18, + jsxOpenTagName = 19, + jsxCloseTagName = 20, + jsxSelfClosingTagName = 21, + jsxAttribute = 22, + jsxText = 23, + jsxAttributeStringLiteralValue = 24, + bigintLiteral = 25 + } +} +declare namespace ts { + function createClassifier(): Classifier; +} +declare namespace ts { + /** + * The document registry represents a store of SourceFile objects that can be shared between + * multiple LanguageService instances. A LanguageService instance holds on the SourceFile (AST) + * of files in the context. + * SourceFile objects account for most of the memory usage by the language service. Sharing + * the same DocumentRegistry instance between different instances of LanguageService allow + * for more efficient memory utilization since all projects will share at least the library + * file (lib.d.ts). + * + * A more advanced use of the document registry is to serialize sourceFile objects to disk + * and re-hydrate them when needed. + * + * To create a default DocumentRegistry, use createDocumentRegistry to create one, and pass it + * to all subsequent createLanguageService calls. + */ + interface DocumentRegistry { + /** + * Request a stored SourceFile with a given fileName and compilationSettings. + * The first call to acquire will call createLanguageServiceSourceFile to generate + * the SourceFile if was not found in the registry. + * + * @param fileName The name of the file requested + * @param compilationSettings Some compilation settings like target affects the + * shape of a the resulting SourceFile. This allows the DocumentRegistry to store + * multiple copies of the same file for different compilation settings. + * @param scriptSnapshot Text of the file. Only used if the file was not found + * in the registry and a new one was created. + * @param version Current version of the file. Only used if the file was not found + * in the registry and a new one was created. + */ + acquireDocument(fileName: string, compilationSettings: CompilerOptions, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind): SourceFile; + acquireDocumentWithKey(fileName: string, path: Path, compilationSettings: CompilerOptions, key: DocumentRegistryBucketKey, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind): SourceFile; + /** + * Request an updated version of an already existing SourceFile with a given fileName + * and compilationSettings. The update will in-turn call updateLanguageServiceSourceFile + * to get an updated SourceFile. + * + * @param fileName The name of the file requested + * @param compilationSettings Some compilation settings like target affects the + * shape of a the resulting SourceFile. This allows the DocumentRegistry to store + * multiple copies of the same file for different compilation settings. + * @param scriptSnapshot Text of the file. + * @param version Current version of the file. + */ + updateDocument(fileName: string, compilationSettings: CompilerOptions, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind): SourceFile; + updateDocumentWithKey(fileName: string, path: Path, compilationSettings: CompilerOptions, key: DocumentRegistryBucketKey, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind): SourceFile; + getKeyForCompilationSettings(settings: CompilerOptions): DocumentRegistryBucketKey; + /** + * Informs the DocumentRegistry that a file is not needed any longer. + * + * Note: It is not allowed to call release on a SourceFile that was not acquired from + * this registry originally. + * + * @param fileName The name of the file to be released + * @param compilationSettings The compilation settings used to acquire the file + */ + releaseDocument(fileName: string, compilationSettings: CompilerOptions): void; + releaseDocumentWithKey(path: Path, key: DocumentRegistryBucketKey): void; + reportStats(): string; + } + type DocumentRegistryBucketKey = string & { + __bucketKey: any; + }; + function createDocumentRegistry(useCaseSensitiveFileNames?: boolean, currentDirectory?: string): DocumentRegistry; +} +declare namespace ts { + function preProcessFile(sourceText: string, readImportFiles?: boolean, detectJavaScriptImports?: boolean): PreProcessedFileInfo; +} +declare namespace ts { + interface TranspileOptions { + compilerOptions?: CompilerOptions; + fileName?: string; + reportDiagnostics?: boolean; + moduleName?: string; + renamedDependencies?: MapLike; + transformers?: CustomTransformers; + } + interface TranspileOutput { + outputText: string; + diagnostics?: Diagnostic[]; + sourceMapText?: string; + } + function transpileModule(input: string, transpileOptions: TranspileOptions): TranspileOutput; + function transpile(input: string, compilerOptions?: CompilerOptions, fileName?: string, diagnostics?: Diagnostic[], moduleName?: string): string; +} +declare namespace ts { + function generateTypesForModule(name: string, moduleValue: unknown, formatSettings: FormatCodeSettings): string; + function generateTypesForGlobal(name: string, globalValue: unknown, formatSettings: FormatCodeSettings): string; +} +declare namespace ts { + /** The version of the language service API */ + const servicesVersion = "0.8"; + function toEditorSettings(options: EditorOptions | EditorSettings): EditorSettings; + function displayPartsToString(displayParts: SymbolDisplayPart[] | undefined): string; + function getDefaultCompilerOptions(): CompilerOptions; + function getSupportedCodeFixes(): string[]; + function createLanguageServiceSourceFile(fileName: string, scriptSnapshot: IScriptSnapshot, scriptTarget: ScriptTarget, version: string, setNodeParents: boolean, scriptKind?: ScriptKind): SourceFile; + let disableIncrementalParsing: boolean; + function updateLanguageServiceSourceFile(sourceFile: SourceFile, scriptSnapshot: IScriptSnapshot, version: string, textChangeRange: TextChangeRange | undefined, aggressiveChecks?: boolean): SourceFile; + function createLanguageService(host: LanguageServiceHost, documentRegistry?: DocumentRegistry, syntaxOnly?: boolean): LanguageService; + /** + * Get the path of the default library files (lib.d.ts) as distributed with the typescript + * node package. + * The functionality is not supported if the ts module is consumed outside of a node module. + */ + function getDefaultLibFilePath(options: CompilerOptions): string; +} +declare namespace ts { + /** + * Transform one or more nodes using the supplied transformers. + * @param source A single `Node` or an array of `Node` objects. + * @param transformers An array of `TransformerFactory` callbacks used to process the transformation. + * @param compilerOptions Optional compiler options. + */ + function transform(source: T | T[], transformers: TransformerFactory[], compilerOptions?: CompilerOptions): TransformationResult; +} + +export = ts; \ No newline at end of file diff --git a/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/typescriptServices.d.ts b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/typescriptServices.d.ts new file mode 100644 index 0000000..4c854ca --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/loaders/typescript/lib/typescriptServices.d.ts @@ -0,0 +1,5565 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + +declare namespace ts { + const versionMajorMinor = "3.2"; + /** The version of the TypeScript compiler release */ + const version: string; +} +declare namespace ts { + /** + * Type of objects whose values are all of the same type. + * The `in` and `for-in` operators can *not* be safely used, + * since `Object.prototype` may be modified by outside code. + */ + interface MapLike { + [index: string]: T; + } + interface SortedReadonlyArray extends ReadonlyArray { + " __sortedArrayBrand": any; + } + interface SortedArray extends Array { + " __sortedArrayBrand": any; + } + /** ES6 Map interface, only read methods included. */ + interface ReadonlyMap { + get(key: string): T | undefined; + has(key: string): boolean; + forEach(action: (value: T, key: string) => void): void; + readonly size: number; + keys(): Iterator; + values(): Iterator; + entries(): Iterator<[string, T]>; + } + /** ES6 Map interface. */ + interface Map extends ReadonlyMap { + set(key: string, value: T): this; + delete(key: string): boolean; + clear(): void; + } + /** ES6 Iterator type. */ + interface Iterator { + next(): { + value: T; + done: false; + } | { + value: never; + done: true; + }; + } + /** Array that is only intended to be pushed to, never read. */ + interface Push { + push(...values: T[]): void; + } +} +declare namespace ts { + type Path = string & { + __pathBrand: any; + }; + interface TextRange { + pos: number; + end: number; + } + type JsDocSyntaxKind = SyntaxKind.EndOfFileToken | SyntaxKind.WhitespaceTrivia | SyntaxKind.AtToken | SyntaxKind.NewLineTrivia | SyntaxKind.AsteriskToken | SyntaxKind.OpenBraceToken | SyntaxKind.CloseBraceToken | SyntaxKind.LessThanToken | SyntaxKind.OpenBracketToken | SyntaxKind.CloseBracketToken | SyntaxKind.EqualsToken | SyntaxKind.CommaToken | SyntaxKind.DotToken | SyntaxKind.Identifier | SyntaxKind.NoSubstitutionTemplateLiteral | SyntaxKind.Unknown | KeywordSyntaxKind; + type KeywordSyntaxKind = SyntaxKind.AbstractKeyword | SyntaxKind.AnyKeyword | SyntaxKind.AsKeyword | SyntaxKind.BigIntKeyword | SyntaxKind.BooleanKeyword | SyntaxKind.BreakKeyword | SyntaxKind.CaseKeyword | SyntaxKind.CatchKeyword | SyntaxKind.ClassKeyword | SyntaxKind.ContinueKeyword | SyntaxKind.ConstKeyword | SyntaxKind.ConstructorKeyword | SyntaxKind.DebuggerKeyword | SyntaxKind.DeclareKeyword | SyntaxKind.DefaultKeyword | SyntaxKind.DeleteKeyword | SyntaxKind.DoKeyword | SyntaxKind.ElseKeyword | SyntaxKind.EnumKeyword | SyntaxKind.ExportKeyword | SyntaxKind.ExtendsKeyword | SyntaxKind.FalseKeyword | SyntaxKind.FinallyKeyword | SyntaxKind.ForKeyword | SyntaxKind.FromKeyword | SyntaxKind.FunctionKeyword | SyntaxKind.GetKeyword | SyntaxKind.IfKeyword | SyntaxKind.ImplementsKeyword | SyntaxKind.ImportKeyword | SyntaxKind.InKeyword | SyntaxKind.InferKeyword | SyntaxKind.InstanceOfKeyword | SyntaxKind.InterfaceKeyword | SyntaxKind.IsKeyword | SyntaxKind.KeyOfKeyword | SyntaxKind.LetKeyword | SyntaxKind.ModuleKeyword | SyntaxKind.NamespaceKeyword | SyntaxKind.NeverKeyword | SyntaxKind.NewKeyword | SyntaxKind.NullKeyword | SyntaxKind.NumberKeyword | SyntaxKind.ObjectKeyword | SyntaxKind.PackageKeyword | SyntaxKind.PrivateKeyword | SyntaxKind.ProtectedKeyword | SyntaxKind.PublicKeyword | SyntaxKind.ReadonlyKeyword | SyntaxKind.RequireKeyword | SyntaxKind.GlobalKeyword | SyntaxKind.ReturnKeyword | SyntaxKind.SetKeyword | SyntaxKind.StaticKeyword | SyntaxKind.StringKeyword | SyntaxKind.SuperKeyword | SyntaxKind.SwitchKeyword | SyntaxKind.SymbolKeyword | SyntaxKind.ThisKeyword | SyntaxKind.ThrowKeyword | SyntaxKind.TrueKeyword | SyntaxKind.TryKeyword | SyntaxKind.TypeKeyword | SyntaxKind.TypeOfKeyword | SyntaxKind.UndefinedKeyword | SyntaxKind.UniqueKeyword | SyntaxKind.UnknownKeyword | SyntaxKind.VarKeyword | SyntaxKind.VoidKeyword | SyntaxKind.WhileKeyword | SyntaxKind.WithKeyword | SyntaxKind.YieldKeyword | SyntaxKind.AsyncKeyword | SyntaxKind.AwaitKeyword | SyntaxKind.OfKeyword; + type JsxTokenSyntaxKind = SyntaxKind.LessThanSlashToken | SyntaxKind.EndOfFileToken | SyntaxKind.ConflictMarkerTrivia | SyntaxKind.JsxText | SyntaxKind.JsxTextAllWhiteSpaces | SyntaxKind.OpenBraceToken | SyntaxKind.LessThanToken; + enum SyntaxKind { + Unknown = 0, + EndOfFileToken = 1, + SingleLineCommentTrivia = 2, + MultiLineCommentTrivia = 3, + NewLineTrivia = 4, + WhitespaceTrivia = 5, + ShebangTrivia = 6, + ConflictMarkerTrivia = 7, + NumericLiteral = 8, + BigIntLiteral = 9, + StringLiteral = 10, + JsxText = 11, + JsxTextAllWhiteSpaces = 12, + RegularExpressionLiteral = 13, + NoSubstitutionTemplateLiteral = 14, + TemplateHead = 15, + TemplateMiddle = 16, + TemplateTail = 17, + OpenBraceToken = 18, + CloseBraceToken = 19, + OpenParenToken = 20, + CloseParenToken = 21, + OpenBracketToken = 22, + CloseBracketToken = 23, + DotToken = 24, + DotDotDotToken = 25, + SemicolonToken = 26, + CommaToken = 27, + LessThanToken = 28, + LessThanSlashToken = 29, + GreaterThanToken = 30, + LessThanEqualsToken = 31, + GreaterThanEqualsToken = 32, + EqualsEqualsToken = 33, + ExclamationEqualsToken = 34, + EqualsEqualsEqualsToken = 35, + ExclamationEqualsEqualsToken = 36, + EqualsGreaterThanToken = 37, + PlusToken = 38, + MinusToken = 39, + AsteriskToken = 40, + AsteriskAsteriskToken = 41, + SlashToken = 42, + PercentToken = 43, + PlusPlusToken = 44, + MinusMinusToken = 45, + LessThanLessThanToken = 46, + GreaterThanGreaterThanToken = 47, + GreaterThanGreaterThanGreaterThanToken = 48, + AmpersandToken = 49, + BarToken = 50, + CaretToken = 51, + ExclamationToken = 52, + TildeToken = 53, + AmpersandAmpersandToken = 54, + BarBarToken = 55, + QuestionToken = 56, + ColonToken = 57, + AtToken = 58, + EqualsToken = 59, + PlusEqualsToken = 60, + MinusEqualsToken = 61, + AsteriskEqualsToken = 62, + AsteriskAsteriskEqualsToken = 63, + SlashEqualsToken = 64, + PercentEqualsToken = 65, + LessThanLessThanEqualsToken = 66, + GreaterThanGreaterThanEqualsToken = 67, + GreaterThanGreaterThanGreaterThanEqualsToken = 68, + AmpersandEqualsToken = 69, + BarEqualsToken = 70, + CaretEqualsToken = 71, + Identifier = 72, + BreakKeyword = 73, + CaseKeyword = 74, + CatchKeyword = 75, + ClassKeyword = 76, + ConstKeyword = 77, + ContinueKeyword = 78, + DebuggerKeyword = 79, + DefaultKeyword = 80, + DeleteKeyword = 81, + DoKeyword = 82, + ElseKeyword = 83, + EnumKeyword = 84, + ExportKeyword = 85, + ExtendsKeyword = 86, + FalseKeyword = 87, + FinallyKeyword = 88, + ForKeyword = 89, + FunctionKeyword = 90, + IfKeyword = 91, + ImportKeyword = 92, + InKeyword = 93, + InstanceOfKeyword = 94, + NewKeyword = 95, + NullKeyword = 96, + ReturnKeyword = 97, + SuperKeyword = 98, + SwitchKeyword = 99, + ThisKeyword = 100, + ThrowKeyword = 101, + TrueKeyword = 102, + TryKeyword = 103, + TypeOfKeyword = 104, + VarKeyword = 105, + VoidKeyword = 106, + WhileKeyword = 107, + WithKeyword = 108, + ImplementsKeyword = 109, + InterfaceKeyword = 110, + LetKeyword = 111, + PackageKeyword = 112, + PrivateKeyword = 113, + ProtectedKeyword = 114, + PublicKeyword = 115, + StaticKeyword = 116, + YieldKeyword = 117, + AbstractKeyword = 118, + AsKeyword = 119, + AnyKeyword = 120, + AsyncKeyword = 121, + AwaitKeyword = 122, + BooleanKeyword = 123, + ConstructorKeyword = 124, + DeclareKeyword = 125, + GetKeyword = 126, + InferKeyword = 127, + IsKeyword = 128, + KeyOfKeyword = 129, + ModuleKeyword = 130, + NamespaceKeyword = 131, + NeverKeyword = 132, + ReadonlyKeyword = 133, + RequireKeyword = 134, + NumberKeyword = 135, + ObjectKeyword = 136, + SetKeyword = 137, + StringKeyword = 138, + SymbolKeyword = 139, + TypeKeyword = 140, + UndefinedKeyword = 141, + UniqueKeyword = 142, + UnknownKeyword = 143, + FromKeyword = 144, + GlobalKeyword = 145, + BigIntKeyword = 146, + OfKeyword = 147, + QualifiedName = 148, + ComputedPropertyName = 149, + TypeParameter = 150, + Parameter = 151, + Decorator = 152, + PropertySignature = 153, + PropertyDeclaration = 154, + MethodSignature = 155, + MethodDeclaration = 156, + Constructor = 157, + GetAccessor = 158, + SetAccessor = 159, + CallSignature = 160, + ConstructSignature = 161, + IndexSignature = 162, + TypePredicate = 163, + TypeReference = 164, + FunctionType = 165, + ConstructorType = 166, + TypeQuery = 167, + TypeLiteral = 168, + ArrayType = 169, + TupleType = 170, + OptionalType = 171, + RestType = 172, + UnionType = 173, + IntersectionType = 174, + ConditionalType = 175, + InferType = 176, + ParenthesizedType = 177, + ThisType = 178, + TypeOperator = 179, + IndexedAccessType = 180, + MappedType = 181, + LiteralType = 182, + ImportType = 183, + ObjectBindingPattern = 184, + ArrayBindingPattern = 185, + BindingElement = 186, + ArrayLiteralExpression = 187, + ObjectLiteralExpression = 188, + PropertyAccessExpression = 189, + ElementAccessExpression = 190, + CallExpression = 191, + NewExpression = 192, + TaggedTemplateExpression = 193, + TypeAssertionExpression = 194, + ParenthesizedExpression = 195, + FunctionExpression = 196, + ArrowFunction = 197, + DeleteExpression = 198, + TypeOfExpression = 199, + VoidExpression = 200, + AwaitExpression = 201, + PrefixUnaryExpression = 202, + PostfixUnaryExpression = 203, + BinaryExpression = 204, + ConditionalExpression = 205, + TemplateExpression = 206, + YieldExpression = 207, + SpreadElement = 208, + ClassExpression = 209, + OmittedExpression = 210, + ExpressionWithTypeArguments = 211, + AsExpression = 212, + NonNullExpression = 213, + MetaProperty = 214, + SyntheticExpression = 215, + TemplateSpan = 216, + SemicolonClassElement = 217, + Block = 218, + VariableStatement = 219, + EmptyStatement = 220, + ExpressionStatement = 221, + IfStatement = 222, + DoStatement = 223, + WhileStatement = 224, + ForStatement = 225, + ForInStatement = 226, + ForOfStatement = 227, + ContinueStatement = 228, + BreakStatement = 229, + ReturnStatement = 230, + WithStatement = 231, + SwitchStatement = 232, + LabeledStatement = 233, + ThrowStatement = 234, + TryStatement = 235, + DebuggerStatement = 236, + VariableDeclaration = 237, + VariableDeclarationList = 238, + FunctionDeclaration = 239, + ClassDeclaration = 240, + InterfaceDeclaration = 241, + TypeAliasDeclaration = 242, + EnumDeclaration = 243, + ModuleDeclaration = 244, + ModuleBlock = 245, + CaseBlock = 246, + NamespaceExportDeclaration = 247, + ImportEqualsDeclaration = 248, + ImportDeclaration = 249, + ImportClause = 250, + NamespaceImport = 251, + NamedImports = 252, + ImportSpecifier = 253, + ExportAssignment = 254, + ExportDeclaration = 255, + NamedExports = 256, + ExportSpecifier = 257, + MissingDeclaration = 258, + ExternalModuleReference = 259, + JsxElement = 260, + JsxSelfClosingElement = 261, + JsxOpeningElement = 262, + JsxClosingElement = 263, + JsxFragment = 264, + JsxOpeningFragment = 265, + JsxClosingFragment = 266, + JsxAttribute = 267, + JsxAttributes = 268, + JsxSpreadAttribute = 269, + JsxExpression = 270, + CaseClause = 271, + DefaultClause = 272, + HeritageClause = 273, + CatchClause = 274, + PropertyAssignment = 275, + ShorthandPropertyAssignment = 276, + SpreadAssignment = 277, + EnumMember = 278, + SourceFile = 279, + Bundle = 280, + UnparsedSource = 281, + InputFiles = 282, + JSDocTypeExpression = 283, + JSDocAllType = 284, + JSDocUnknownType = 285, + JSDocNullableType = 286, + JSDocNonNullableType = 287, + JSDocOptionalType = 288, + JSDocFunctionType = 289, + JSDocVariadicType = 290, + JSDocComment = 291, + JSDocTypeLiteral = 292, + JSDocSignature = 293, + JSDocTag = 294, + JSDocAugmentsTag = 295, + JSDocClassTag = 296, + JSDocCallbackTag = 297, + JSDocEnumTag = 298, + JSDocParameterTag = 299, + JSDocReturnTag = 300, + JSDocThisTag = 301, + JSDocTypeTag = 302, + JSDocTemplateTag = 303, + JSDocTypedefTag = 304, + JSDocPropertyTag = 305, + SyntaxList = 306, + NotEmittedStatement = 307, + PartiallyEmittedExpression = 308, + CommaListExpression = 309, + MergeDeclarationMarker = 310, + EndOfDeclarationMarker = 311, + Count = 312, + FirstAssignment = 59, + LastAssignment = 71, + FirstCompoundAssignment = 60, + LastCompoundAssignment = 71, + FirstReservedWord = 73, + LastReservedWord = 108, + FirstKeyword = 73, + LastKeyword = 147, + FirstFutureReservedWord = 109, + LastFutureReservedWord = 117, + FirstTypeNode = 163, + LastTypeNode = 183, + FirstPunctuation = 18, + LastPunctuation = 71, + FirstToken = 0, + LastToken = 147, + FirstTriviaToken = 2, + LastTriviaToken = 7, + FirstLiteralToken = 8, + LastLiteralToken = 14, + FirstTemplateToken = 14, + LastTemplateToken = 17, + FirstBinaryOperator = 28, + LastBinaryOperator = 71, + FirstNode = 148, + FirstJSDocNode = 283, + LastJSDocNode = 305, + FirstJSDocTagNode = 294, + LastJSDocTagNode = 305 + } + enum NodeFlags { + None = 0, + Let = 1, + Const = 2, + NestedNamespace = 4, + Synthesized = 8, + Namespace = 16, + ExportContext = 32, + ContainsThis = 64, + HasImplicitReturn = 128, + HasExplicitReturn = 256, + GlobalAugmentation = 512, + HasAsyncFunctions = 1024, + DisallowInContext = 2048, + YieldContext = 4096, + DecoratorContext = 8192, + AwaitContext = 16384, + ThisNodeHasError = 32768, + JavaScriptFile = 65536, + ThisNodeOrAnySubNodesHasError = 131072, + HasAggregatedChildData = 262144, + JSDoc = 2097152, + JsonFile = 16777216, + BlockScoped = 3, + ReachabilityCheckFlags = 384, + ReachabilityAndEmitFlags = 1408, + ContextFlags = 12679168, + TypeExcludesFlags = 20480 + } + enum ModifierFlags { + None = 0, + Export = 1, + Ambient = 2, + Public = 4, + Private = 8, + Protected = 16, + Static = 32, + Readonly = 64, + Abstract = 128, + Async = 256, + Default = 512, + Const = 2048, + HasComputedFlags = 536870912, + AccessibilityModifier = 28, + ParameterPropertyModifier = 92, + NonPublicAccessibilityModifier = 24, + TypeScriptModifier = 2270, + ExportDefault = 513, + All = 3071 + } + enum JsxFlags { + None = 0, + /** An element from a named property of the JSX.IntrinsicElements interface */ + IntrinsicNamedElement = 1, + /** An element inferred from the string index signature of the JSX.IntrinsicElements interface */ + IntrinsicIndexedElement = 2, + IntrinsicElement = 3 + } + interface Node extends TextRange { + kind: SyntaxKind; + flags: NodeFlags; + decorators?: NodeArray; + modifiers?: ModifiersArray; + parent: Node; + } + interface JSDocContainer { + } + type HasJSDoc = ParameterDeclaration | CallSignatureDeclaration | ConstructSignatureDeclaration | MethodSignature | PropertySignature | ArrowFunction | ParenthesizedExpression | SpreadAssignment | ShorthandPropertyAssignment | PropertyAssignment | FunctionExpression | LabeledStatement | ExpressionStatement | VariableStatement | FunctionDeclaration | ConstructorDeclaration | MethodDeclaration | PropertyDeclaration | AccessorDeclaration | ClassLikeDeclaration | InterfaceDeclaration | TypeAliasDeclaration | EnumMember | EnumDeclaration | ModuleDeclaration | ImportEqualsDeclaration | IndexSignatureDeclaration | FunctionTypeNode | ConstructorTypeNode | JSDocFunctionType | ExportDeclaration | EndOfFileToken; + type HasType = SignatureDeclaration | VariableDeclaration | ParameterDeclaration | PropertySignature | PropertyDeclaration | TypePredicateNode | ParenthesizedTypeNode | TypeOperatorNode | MappedTypeNode | AssertionExpression | TypeAliasDeclaration | JSDocTypeExpression | JSDocNonNullableType | JSDocNullableType | JSDocOptionalType | JSDocVariadicType; + type HasInitializer = HasExpressionInitializer | ForStatement | ForInStatement | ForOfStatement | JsxAttribute; + type HasExpressionInitializer = VariableDeclaration | ParameterDeclaration | BindingElement | PropertySignature | PropertyDeclaration | PropertyAssignment | EnumMember; + interface NodeArray extends ReadonlyArray, TextRange { + hasTrailingComma?: boolean; + } + interface Token extends Node { + kind: TKind; + } + type DotDotDotToken = Token; + type QuestionToken = Token; + type ExclamationToken = Token; + type ColonToken = Token; + type EqualsToken = Token; + type AsteriskToken = Token; + type EqualsGreaterThanToken = Token; + type EndOfFileToken = Token & JSDocContainer; + type ReadonlyToken = Token; + type AwaitKeywordToken = Token; + type PlusToken = Token; + type MinusToken = Token; + type Modifier = Token | Token | Token | Token | Token | Token | Token | Token | Token | Token | Token; + type ModifiersArray = NodeArray; + interface Identifier extends PrimaryExpression, Declaration { + kind: SyntaxKind.Identifier; + /** + * Prefer to use `id.unescapedText`. (Note: This is available only in services, not internally to the TypeScript compiler.) + * Text of identifier, but if the identifier begins with two underscores, this will begin with three. + */ + escapedText: __String; + originalKeywordKind?: SyntaxKind; + isInJSDocNamespace?: boolean; + } + interface TransientIdentifier extends Identifier { + resolvedSymbol: Symbol; + } + interface QualifiedName extends Node { + kind: SyntaxKind.QualifiedName; + left: EntityName; + right: Identifier; + } + type EntityName = Identifier | QualifiedName; + type PropertyName = Identifier | StringLiteral | NumericLiteral | ComputedPropertyName; + type DeclarationName = Identifier | StringLiteralLike | NumericLiteral | ComputedPropertyName | BindingPattern; + interface Declaration extends Node { + _declarationBrand: any; + } + interface NamedDeclaration extends Declaration { + name?: DeclarationName; + } + interface DeclarationStatement extends NamedDeclaration, Statement { + name?: Identifier | StringLiteral | NumericLiteral; + } + interface ComputedPropertyName extends Node { + parent: Declaration; + kind: SyntaxKind.ComputedPropertyName; + expression: Expression; + } + interface Decorator extends Node { + kind: SyntaxKind.Decorator; + parent: NamedDeclaration; + expression: LeftHandSideExpression; + } + interface TypeParameterDeclaration extends NamedDeclaration { + kind: SyntaxKind.TypeParameter; + parent: DeclarationWithTypeParameterChildren | InferTypeNode; + name: Identifier; + /** Note: Consider calling `getEffectiveConstraintOfTypeParameter` */ + constraint?: TypeNode; + default?: TypeNode; + expression?: Expression; + } + interface SignatureDeclarationBase extends NamedDeclaration, JSDocContainer { + kind: SignatureDeclaration["kind"]; + name?: PropertyName; + typeParameters?: NodeArray; + parameters: NodeArray; + type?: TypeNode; + } + type SignatureDeclaration = CallSignatureDeclaration | ConstructSignatureDeclaration | MethodSignature | IndexSignatureDeclaration | FunctionTypeNode | ConstructorTypeNode | JSDocFunctionType | FunctionDeclaration | MethodDeclaration | ConstructorDeclaration | AccessorDeclaration | FunctionExpression | ArrowFunction; + interface CallSignatureDeclaration extends SignatureDeclarationBase, TypeElement { + kind: SyntaxKind.CallSignature; + } + interface ConstructSignatureDeclaration extends SignatureDeclarationBase, TypeElement { + kind: SyntaxKind.ConstructSignature; + } + type BindingName = Identifier | BindingPattern; + interface VariableDeclaration extends NamedDeclaration { + kind: SyntaxKind.VariableDeclaration; + parent: VariableDeclarationList | CatchClause; + name: BindingName; + exclamationToken?: ExclamationToken; + type?: TypeNode; + initializer?: Expression; + } + interface VariableDeclarationList extends Node { + kind: SyntaxKind.VariableDeclarationList; + parent: VariableStatement | ForStatement | ForOfStatement | ForInStatement; + declarations: NodeArray; + } + interface ParameterDeclaration extends NamedDeclaration, JSDocContainer { + kind: SyntaxKind.Parameter; + parent: SignatureDeclaration; + dotDotDotToken?: DotDotDotToken; + name: BindingName; + questionToken?: QuestionToken; + type?: TypeNode; + initializer?: Expression; + } + interface BindingElement extends NamedDeclaration { + kind: SyntaxKind.BindingElement; + parent: BindingPattern; + propertyName?: PropertyName; + dotDotDotToken?: DotDotDotToken; + name: BindingName; + initializer?: Expression; + } + interface PropertySignature extends TypeElement, JSDocContainer { + kind: SyntaxKind.PropertySignature; + name: PropertyName; + questionToken?: QuestionToken; + type?: TypeNode; + initializer?: Expression; + } + interface PropertyDeclaration extends ClassElement, JSDocContainer { + kind: SyntaxKind.PropertyDeclaration; + parent: ClassLikeDeclaration; + name: PropertyName; + questionToken?: QuestionToken; + exclamationToken?: ExclamationToken; + type?: TypeNode; + initializer?: Expression; + } + interface ObjectLiteralElement extends NamedDeclaration { + _objectLiteralBrandBrand: any; + name?: PropertyName; + } + /** Unlike ObjectLiteralElement, excludes JSXAttribute and JSXSpreadAttribute. */ + type ObjectLiteralElementLike = PropertyAssignment | ShorthandPropertyAssignment | SpreadAssignment | MethodDeclaration | AccessorDeclaration; + interface PropertyAssignment extends ObjectLiteralElement, JSDocContainer { + parent: ObjectLiteralExpression; + kind: SyntaxKind.PropertyAssignment; + name: PropertyName; + questionToken?: QuestionToken; + initializer: Expression; + } + interface ShorthandPropertyAssignment extends ObjectLiteralElement, JSDocContainer { + parent: ObjectLiteralExpression; + kind: SyntaxKind.ShorthandPropertyAssignment; + name: Identifier; + questionToken?: QuestionToken; + exclamationToken?: ExclamationToken; + equalsToken?: Token; + objectAssignmentInitializer?: Expression; + } + interface SpreadAssignment extends ObjectLiteralElement, JSDocContainer { + parent: ObjectLiteralExpression; + kind: SyntaxKind.SpreadAssignment; + expression: Expression; + } + type VariableLikeDeclaration = VariableDeclaration | ParameterDeclaration | BindingElement | PropertyDeclaration | PropertyAssignment | PropertySignature | JsxAttribute | ShorthandPropertyAssignment | EnumMember | JSDocPropertyTag | JSDocParameterTag; + interface PropertyLikeDeclaration extends NamedDeclaration { + name: PropertyName; + } + interface ObjectBindingPattern extends Node { + kind: SyntaxKind.ObjectBindingPattern; + parent: VariableDeclaration | ParameterDeclaration | BindingElement; + elements: NodeArray; + } + interface ArrayBindingPattern extends Node { + kind: SyntaxKind.ArrayBindingPattern; + parent: VariableDeclaration | ParameterDeclaration | BindingElement; + elements: NodeArray; + } + type BindingPattern = ObjectBindingPattern | ArrayBindingPattern; + type ArrayBindingElement = BindingElement | OmittedExpression; + /** + * Several node kinds share function-like features such as a signature, + * a name, and a body. These nodes should extend FunctionLikeDeclarationBase. + * Examples: + * - FunctionDeclaration + * - MethodDeclaration + * - AccessorDeclaration + */ + interface FunctionLikeDeclarationBase extends SignatureDeclarationBase { + _functionLikeDeclarationBrand: any; + asteriskToken?: AsteriskToken; + questionToken?: QuestionToken; + exclamationToken?: ExclamationToken; + body?: Block | Expression; + } + type FunctionLikeDeclaration = FunctionDeclaration | MethodDeclaration | GetAccessorDeclaration | SetAccessorDeclaration | ConstructorDeclaration | FunctionExpression | ArrowFunction; + /** @deprecated Use SignatureDeclaration */ + type FunctionLike = SignatureDeclaration; + interface FunctionDeclaration extends FunctionLikeDeclarationBase, DeclarationStatement { + kind: SyntaxKind.FunctionDeclaration; + name?: Identifier; + body?: FunctionBody; + } + interface MethodSignature extends SignatureDeclarationBase, TypeElement { + kind: SyntaxKind.MethodSignature; + parent: ObjectTypeDeclaration; + name: PropertyName; + } + interface MethodDeclaration extends FunctionLikeDeclarationBase, ClassElement, ObjectLiteralElement, JSDocContainer { + kind: SyntaxKind.MethodDeclaration; + parent: ClassLikeDeclaration | ObjectLiteralExpression; + name: PropertyName; + body?: FunctionBody; + } + interface ConstructorDeclaration extends FunctionLikeDeclarationBase, ClassElement, JSDocContainer { + kind: SyntaxKind.Constructor; + parent: ClassLikeDeclaration; + body?: FunctionBody; + } + /** For when we encounter a semicolon in a class declaration. ES6 allows these as class elements. */ + interface SemicolonClassElement extends ClassElement { + kind: SyntaxKind.SemicolonClassElement; + parent: ClassLikeDeclaration; + } + interface GetAccessorDeclaration extends FunctionLikeDeclarationBase, ClassElement, ObjectLiteralElement, JSDocContainer { + kind: SyntaxKind.GetAccessor; + parent: ClassLikeDeclaration | ObjectLiteralExpression; + name: PropertyName; + body?: FunctionBody; + } + interface SetAccessorDeclaration extends FunctionLikeDeclarationBase, ClassElement, ObjectLiteralElement, JSDocContainer { + kind: SyntaxKind.SetAccessor; + parent: ClassLikeDeclaration | ObjectLiteralExpression; + name: PropertyName; + body?: FunctionBody; + } + type AccessorDeclaration = GetAccessorDeclaration | SetAccessorDeclaration; + interface IndexSignatureDeclaration extends SignatureDeclarationBase, ClassElement, TypeElement { + kind: SyntaxKind.IndexSignature; + parent: ObjectTypeDeclaration; + } + interface TypeNode extends Node { + _typeNodeBrand: any; + } + interface KeywordTypeNode extends TypeNode { + kind: SyntaxKind.AnyKeyword | SyntaxKind.UnknownKeyword | SyntaxKind.NumberKeyword | SyntaxKind.BigIntKeyword | SyntaxKind.ObjectKeyword | SyntaxKind.BooleanKeyword | SyntaxKind.StringKeyword | SyntaxKind.SymbolKeyword | SyntaxKind.ThisKeyword | SyntaxKind.VoidKeyword | SyntaxKind.UndefinedKeyword | SyntaxKind.NullKeyword | SyntaxKind.NeverKeyword; + } + interface ImportTypeNode extends NodeWithTypeArguments { + kind: SyntaxKind.ImportType; + isTypeOf?: boolean; + argument: TypeNode; + qualifier?: EntityName; + } + interface ThisTypeNode extends TypeNode { + kind: SyntaxKind.ThisType; + } + type FunctionOrConstructorTypeNode = FunctionTypeNode | ConstructorTypeNode; + interface FunctionOrConstructorTypeNodeBase extends TypeNode, SignatureDeclarationBase { + kind: SyntaxKind.FunctionType | SyntaxKind.ConstructorType; + type: TypeNode; + } + interface FunctionTypeNode extends FunctionOrConstructorTypeNodeBase { + kind: SyntaxKind.FunctionType; + } + interface ConstructorTypeNode extends FunctionOrConstructorTypeNodeBase { + kind: SyntaxKind.ConstructorType; + } + interface NodeWithTypeArguments extends TypeNode { + typeArguments?: NodeArray; + } + type TypeReferenceType = TypeReferenceNode | ExpressionWithTypeArguments; + interface TypeReferenceNode extends NodeWithTypeArguments { + kind: SyntaxKind.TypeReference; + typeName: EntityName; + } + interface TypePredicateNode extends TypeNode { + kind: SyntaxKind.TypePredicate; + parent: SignatureDeclaration | JSDocTypeExpression; + parameterName: Identifier | ThisTypeNode; + type: TypeNode; + } + interface TypeQueryNode extends TypeNode { + kind: SyntaxKind.TypeQuery; + exprName: EntityName; + } + interface TypeLiteralNode extends TypeNode, Declaration { + kind: SyntaxKind.TypeLiteral; + members: NodeArray; + } + interface ArrayTypeNode extends TypeNode { + kind: SyntaxKind.ArrayType; + elementType: TypeNode; + } + interface TupleTypeNode extends TypeNode { + kind: SyntaxKind.TupleType; + elementTypes: NodeArray; + } + interface OptionalTypeNode extends TypeNode { + kind: SyntaxKind.OptionalType; + type: TypeNode; + } + interface RestTypeNode extends TypeNode { + kind: SyntaxKind.RestType; + type: TypeNode; + } + type UnionOrIntersectionTypeNode = UnionTypeNode | IntersectionTypeNode; + interface UnionTypeNode extends TypeNode { + kind: SyntaxKind.UnionType; + types: NodeArray; + } + interface IntersectionTypeNode extends TypeNode { + kind: SyntaxKind.IntersectionType; + types: NodeArray; + } + interface ConditionalTypeNode extends TypeNode { + kind: SyntaxKind.ConditionalType; + checkType: TypeNode; + extendsType: TypeNode; + trueType: TypeNode; + falseType: TypeNode; + } + interface InferTypeNode extends TypeNode { + kind: SyntaxKind.InferType; + typeParameter: TypeParameterDeclaration; + } + interface ParenthesizedTypeNode extends TypeNode { + kind: SyntaxKind.ParenthesizedType; + type: TypeNode; + } + interface TypeOperatorNode extends TypeNode { + kind: SyntaxKind.TypeOperator; + operator: SyntaxKind.KeyOfKeyword | SyntaxKind.UniqueKeyword; + type: TypeNode; + } + interface IndexedAccessTypeNode extends TypeNode { + kind: SyntaxKind.IndexedAccessType; + objectType: TypeNode; + indexType: TypeNode; + } + interface MappedTypeNode extends TypeNode, Declaration { + kind: SyntaxKind.MappedType; + readonlyToken?: ReadonlyToken | PlusToken | MinusToken; + typeParameter: TypeParameterDeclaration; + questionToken?: QuestionToken | PlusToken | MinusToken; + type?: TypeNode; + } + interface LiteralTypeNode extends TypeNode { + kind: SyntaxKind.LiteralType; + literal: BooleanLiteral | LiteralExpression | PrefixUnaryExpression; + } + interface StringLiteral extends LiteralExpression { + kind: SyntaxKind.StringLiteral; + } + type StringLiteralLike = StringLiteral | NoSubstitutionTemplateLiteral; + interface Expression extends Node { + _expressionBrand: any; + } + interface OmittedExpression extends Expression { + kind: SyntaxKind.OmittedExpression; + } + interface PartiallyEmittedExpression extends LeftHandSideExpression { + kind: SyntaxKind.PartiallyEmittedExpression; + expression: Expression; + } + interface UnaryExpression extends Expression { + _unaryExpressionBrand: any; + } + /** Deprecated, please use UpdateExpression */ + type IncrementExpression = UpdateExpression; + interface UpdateExpression extends UnaryExpression { + _updateExpressionBrand: any; + } + type PrefixUnaryOperator = SyntaxKind.PlusPlusToken | SyntaxKind.MinusMinusToken | SyntaxKind.PlusToken | SyntaxKind.MinusToken | SyntaxKind.TildeToken | SyntaxKind.ExclamationToken; + interface PrefixUnaryExpression extends UpdateExpression { + kind: SyntaxKind.PrefixUnaryExpression; + operator: PrefixUnaryOperator; + operand: UnaryExpression; + } + type PostfixUnaryOperator = SyntaxKind.PlusPlusToken | SyntaxKind.MinusMinusToken; + interface PostfixUnaryExpression extends UpdateExpression { + kind: SyntaxKind.PostfixUnaryExpression; + operand: LeftHandSideExpression; + operator: PostfixUnaryOperator; + } + interface LeftHandSideExpression extends UpdateExpression { + _leftHandSideExpressionBrand: any; + } + interface MemberExpression extends LeftHandSideExpression { + _memberExpressionBrand: any; + } + interface PrimaryExpression extends MemberExpression { + _primaryExpressionBrand: any; + } + interface NullLiteral extends PrimaryExpression, TypeNode { + kind: SyntaxKind.NullKeyword; + } + interface BooleanLiteral extends PrimaryExpression, TypeNode { + kind: SyntaxKind.TrueKeyword | SyntaxKind.FalseKeyword; + } + interface ThisExpression extends PrimaryExpression, KeywordTypeNode { + kind: SyntaxKind.ThisKeyword; + } + interface SuperExpression extends PrimaryExpression { + kind: SyntaxKind.SuperKeyword; + } + interface ImportExpression extends PrimaryExpression { + kind: SyntaxKind.ImportKeyword; + } + interface DeleteExpression extends UnaryExpression { + kind: SyntaxKind.DeleteExpression; + expression: UnaryExpression; + } + interface TypeOfExpression extends UnaryExpression { + kind: SyntaxKind.TypeOfExpression; + expression: UnaryExpression; + } + interface VoidExpression extends UnaryExpression { + kind: SyntaxKind.VoidExpression; + expression: UnaryExpression; + } + interface AwaitExpression extends UnaryExpression { + kind: SyntaxKind.AwaitExpression; + expression: UnaryExpression; + } + interface YieldExpression extends Expression { + kind: SyntaxKind.YieldExpression; + asteriskToken?: AsteriskToken; + expression?: Expression; + } + interface SyntheticExpression extends Expression { + kind: SyntaxKind.SyntheticExpression; + isSpread: boolean; + type: Type; + } + type ExponentiationOperator = SyntaxKind.AsteriskAsteriskToken; + type MultiplicativeOperator = SyntaxKind.AsteriskToken | SyntaxKind.SlashToken | SyntaxKind.PercentToken; + type MultiplicativeOperatorOrHigher = ExponentiationOperator | MultiplicativeOperator; + type AdditiveOperator = SyntaxKind.PlusToken | SyntaxKind.MinusToken; + type AdditiveOperatorOrHigher = MultiplicativeOperatorOrHigher | AdditiveOperator; + type ShiftOperator = SyntaxKind.LessThanLessThanToken | SyntaxKind.GreaterThanGreaterThanToken | SyntaxKind.GreaterThanGreaterThanGreaterThanToken; + type ShiftOperatorOrHigher = AdditiveOperatorOrHigher | ShiftOperator; + type RelationalOperator = SyntaxKind.LessThanToken | SyntaxKind.LessThanEqualsToken | SyntaxKind.GreaterThanToken | SyntaxKind.GreaterThanEqualsToken | SyntaxKind.InstanceOfKeyword | SyntaxKind.InKeyword; + type RelationalOperatorOrHigher = ShiftOperatorOrHigher | RelationalOperator; + type EqualityOperator = SyntaxKind.EqualsEqualsToken | SyntaxKind.EqualsEqualsEqualsToken | SyntaxKind.ExclamationEqualsEqualsToken | SyntaxKind.ExclamationEqualsToken; + type EqualityOperatorOrHigher = RelationalOperatorOrHigher | EqualityOperator; + type BitwiseOperator = SyntaxKind.AmpersandToken | SyntaxKind.BarToken | SyntaxKind.CaretToken; + type BitwiseOperatorOrHigher = EqualityOperatorOrHigher | BitwiseOperator; + type LogicalOperator = SyntaxKind.AmpersandAmpersandToken | SyntaxKind.BarBarToken; + type LogicalOperatorOrHigher = BitwiseOperatorOrHigher | LogicalOperator; + type CompoundAssignmentOperator = SyntaxKind.PlusEqualsToken | SyntaxKind.MinusEqualsToken | SyntaxKind.AsteriskAsteriskEqualsToken | SyntaxKind.AsteriskEqualsToken | SyntaxKind.SlashEqualsToken | SyntaxKind.PercentEqualsToken | SyntaxKind.AmpersandEqualsToken | SyntaxKind.BarEqualsToken | SyntaxKind.CaretEqualsToken | SyntaxKind.LessThanLessThanEqualsToken | SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken | SyntaxKind.GreaterThanGreaterThanEqualsToken; + type AssignmentOperator = SyntaxKind.EqualsToken | CompoundAssignmentOperator; + type AssignmentOperatorOrHigher = LogicalOperatorOrHigher | AssignmentOperator; + type BinaryOperator = AssignmentOperatorOrHigher | SyntaxKind.CommaToken; + type BinaryOperatorToken = Token; + interface BinaryExpression extends Expression, Declaration { + kind: SyntaxKind.BinaryExpression; + left: Expression; + operatorToken: BinaryOperatorToken; + right: Expression; + } + type AssignmentOperatorToken = Token; + interface AssignmentExpression extends BinaryExpression { + left: LeftHandSideExpression; + operatorToken: TOperator; + } + interface ObjectDestructuringAssignment extends AssignmentExpression { + left: ObjectLiteralExpression; + } + interface ArrayDestructuringAssignment extends AssignmentExpression { + left: ArrayLiteralExpression; + } + type DestructuringAssignment = ObjectDestructuringAssignment | ArrayDestructuringAssignment; + type BindingOrAssignmentElement = VariableDeclaration | ParameterDeclaration | BindingElement | PropertyAssignment | ShorthandPropertyAssignment | SpreadAssignment | OmittedExpression | SpreadElement | ArrayLiteralExpression | ObjectLiteralExpression | AssignmentExpression | Identifier | PropertyAccessExpression | ElementAccessExpression; + type BindingOrAssignmentElementRestIndicator = DotDotDotToken | SpreadElement | SpreadAssignment; + type BindingOrAssignmentElementTarget = BindingOrAssignmentPattern | Identifier | PropertyAccessExpression | ElementAccessExpression | OmittedExpression; + type ObjectBindingOrAssignmentPattern = ObjectBindingPattern | ObjectLiteralExpression; + type ArrayBindingOrAssignmentPattern = ArrayBindingPattern | ArrayLiteralExpression; + type AssignmentPattern = ObjectLiteralExpression | ArrayLiteralExpression; + type BindingOrAssignmentPattern = ObjectBindingOrAssignmentPattern | ArrayBindingOrAssignmentPattern; + interface ConditionalExpression extends Expression { + kind: SyntaxKind.ConditionalExpression; + condition: Expression; + questionToken: QuestionToken; + whenTrue: Expression; + colonToken: ColonToken; + whenFalse: Expression; + } + type FunctionBody = Block; + type ConciseBody = FunctionBody | Expression; + interface FunctionExpression extends PrimaryExpression, FunctionLikeDeclarationBase, JSDocContainer { + kind: SyntaxKind.FunctionExpression; + name?: Identifier; + body: FunctionBody; + } + interface ArrowFunction extends Expression, FunctionLikeDeclarationBase, JSDocContainer { + kind: SyntaxKind.ArrowFunction; + equalsGreaterThanToken: EqualsGreaterThanToken; + body: ConciseBody; + name: never; + } + interface LiteralLikeNode extends Node { + text: string; + isUnterminated?: boolean; + hasExtendedUnicodeEscape?: boolean; + } + interface LiteralExpression extends LiteralLikeNode, PrimaryExpression { + _literalExpressionBrand: any; + } + interface RegularExpressionLiteral extends LiteralExpression { + kind: SyntaxKind.RegularExpressionLiteral; + } + interface NoSubstitutionTemplateLiteral extends LiteralExpression { + kind: SyntaxKind.NoSubstitutionTemplateLiteral; + } + interface NumericLiteral extends LiteralExpression { + kind: SyntaxKind.NumericLiteral; + } + interface BigIntLiteral extends LiteralExpression { + kind: SyntaxKind.BigIntLiteral; + } + interface TemplateHead extends LiteralLikeNode { + kind: SyntaxKind.TemplateHead; + parent: TemplateExpression; + } + interface TemplateMiddle extends LiteralLikeNode { + kind: SyntaxKind.TemplateMiddle; + parent: TemplateSpan; + } + interface TemplateTail extends LiteralLikeNode { + kind: SyntaxKind.TemplateTail; + parent: TemplateSpan; + } + type TemplateLiteral = TemplateExpression | NoSubstitutionTemplateLiteral; + interface TemplateExpression extends PrimaryExpression { + kind: SyntaxKind.TemplateExpression; + head: TemplateHead; + templateSpans: NodeArray; + } + interface TemplateSpan extends Node { + kind: SyntaxKind.TemplateSpan; + parent: TemplateExpression; + expression: Expression; + literal: TemplateMiddle | TemplateTail; + } + interface ParenthesizedExpression extends PrimaryExpression, JSDocContainer { + kind: SyntaxKind.ParenthesizedExpression; + expression: Expression; + } + interface ArrayLiteralExpression extends PrimaryExpression { + kind: SyntaxKind.ArrayLiteralExpression; + elements: NodeArray; + } + interface SpreadElement extends Expression { + kind: SyntaxKind.SpreadElement; + parent: ArrayLiteralExpression | CallExpression | NewExpression; + expression: Expression; + } + /** + * This interface is a base interface for ObjectLiteralExpression and JSXAttributes to extend from. JSXAttributes is similar to + * ObjectLiteralExpression in that it contains array of properties; however, JSXAttributes' properties can only be + * JSXAttribute or JSXSpreadAttribute. ObjectLiteralExpression, on the other hand, can only have properties of type + * ObjectLiteralElement (e.g. PropertyAssignment, ShorthandPropertyAssignment etc.) + */ + interface ObjectLiteralExpressionBase extends PrimaryExpression, Declaration { + properties: NodeArray; + } + interface ObjectLiteralExpression extends ObjectLiteralExpressionBase { + kind: SyntaxKind.ObjectLiteralExpression; + } + type EntityNameExpression = Identifier | PropertyAccessEntityNameExpression; + type EntityNameOrEntityNameExpression = EntityName | EntityNameExpression; + interface PropertyAccessExpression extends MemberExpression, NamedDeclaration { + kind: SyntaxKind.PropertyAccessExpression; + expression: LeftHandSideExpression; + name: Identifier; + } + interface SuperPropertyAccessExpression extends PropertyAccessExpression { + expression: SuperExpression; + } + /** Brand for a PropertyAccessExpression which, like a QualifiedName, consists of a sequence of identifiers separated by dots. */ + interface PropertyAccessEntityNameExpression extends PropertyAccessExpression { + _propertyAccessExpressionLikeQualifiedNameBrand?: any; + expression: EntityNameExpression; + } + interface ElementAccessExpression extends MemberExpression { + kind: SyntaxKind.ElementAccessExpression; + expression: LeftHandSideExpression; + argumentExpression: Expression; + } + interface SuperElementAccessExpression extends ElementAccessExpression { + expression: SuperExpression; + } + type SuperProperty = SuperPropertyAccessExpression | SuperElementAccessExpression; + interface CallExpression extends LeftHandSideExpression, Declaration { + kind: SyntaxKind.CallExpression; + expression: LeftHandSideExpression; + typeArguments?: NodeArray; + arguments: NodeArray; + } + interface SuperCall extends CallExpression { + expression: SuperExpression; + } + interface ImportCall extends CallExpression { + expression: ImportExpression; + } + interface ExpressionWithTypeArguments extends NodeWithTypeArguments { + kind: SyntaxKind.ExpressionWithTypeArguments; + parent: HeritageClause | JSDocAugmentsTag; + expression: LeftHandSideExpression; + } + interface NewExpression extends PrimaryExpression, Declaration { + kind: SyntaxKind.NewExpression; + expression: LeftHandSideExpression; + typeArguments?: NodeArray; + arguments?: NodeArray; + } + interface TaggedTemplateExpression extends MemberExpression { + kind: SyntaxKind.TaggedTemplateExpression; + tag: LeftHandSideExpression; + typeArguments?: NodeArray; + template: TemplateLiteral; + } + type CallLikeExpression = CallExpression | NewExpression | TaggedTemplateExpression | Decorator | JsxOpeningLikeElement; + interface AsExpression extends Expression { + kind: SyntaxKind.AsExpression; + expression: Expression; + type: TypeNode; + } + interface TypeAssertion extends UnaryExpression { + kind: SyntaxKind.TypeAssertionExpression; + type: TypeNode; + expression: UnaryExpression; + } + type AssertionExpression = TypeAssertion | AsExpression; + interface NonNullExpression extends LeftHandSideExpression { + kind: SyntaxKind.NonNullExpression; + expression: Expression; + } + interface MetaProperty extends PrimaryExpression { + kind: SyntaxKind.MetaProperty; + keywordToken: SyntaxKind.NewKeyword | SyntaxKind.ImportKeyword; + name: Identifier; + } + interface JsxElement extends PrimaryExpression { + kind: SyntaxKind.JsxElement; + openingElement: JsxOpeningElement; + children: NodeArray; + closingElement: JsxClosingElement; + } + type JsxOpeningLikeElement = JsxSelfClosingElement | JsxOpeningElement; + type JsxAttributeLike = JsxAttribute | JsxSpreadAttribute; + type JsxTagNameExpression = Identifier | ThisExpression | JsxTagNamePropertyAccess; + interface JsxTagNamePropertyAccess extends PropertyAccessExpression { + expression: JsxTagNameExpression; + } + interface JsxAttributes extends ObjectLiteralExpressionBase { + parent: JsxOpeningLikeElement; + } + interface JsxOpeningElement extends Expression { + kind: SyntaxKind.JsxOpeningElement; + parent: JsxElement; + tagName: JsxTagNameExpression; + typeArguments?: NodeArray; + attributes: JsxAttributes; + } + interface JsxSelfClosingElement extends PrimaryExpression { + kind: SyntaxKind.JsxSelfClosingElement; + tagName: JsxTagNameExpression; + typeArguments?: NodeArray; + attributes: JsxAttributes; + } + interface JsxFragment extends PrimaryExpression { + kind: SyntaxKind.JsxFragment; + openingFragment: JsxOpeningFragment; + children: NodeArray; + closingFragment: JsxClosingFragment; + } + interface JsxOpeningFragment extends Expression { + kind: SyntaxKind.JsxOpeningFragment; + parent: JsxFragment; + } + interface JsxClosingFragment extends Expression { + kind: SyntaxKind.JsxClosingFragment; + parent: JsxFragment; + } + interface JsxAttribute extends ObjectLiteralElement { + kind: SyntaxKind.JsxAttribute; + parent: JsxAttributes; + name: Identifier; + initializer?: StringLiteral | JsxExpression; + } + interface JsxSpreadAttribute extends ObjectLiteralElement { + kind: SyntaxKind.JsxSpreadAttribute; + parent: JsxAttributes; + expression: Expression; + } + interface JsxClosingElement extends Node { + kind: SyntaxKind.JsxClosingElement; + parent: JsxElement; + tagName: JsxTagNameExpression; + } + interface JsxExpression extends Expression { + kind: SyntaxKind.JsxExpression; + parent: JsxElement | JsxAttributeLike; + dotDotDotToken?: Token; + expression?: Expression; + } + interface JsxText extends Node { + kind: SyntaxKind.JsxText; + containsOnlyWhiteSpaces: boolean; + parent: JsxElement; + } + type JsxChild = JsxText | JsxExpression | JsxElement | JsxSelfClosingElement | JsxFragment; + interface Statement extends Node { + _statementBrand: any; + } + interface NotEmittedStatement extends Statement { + kind: SyntaxKind.NotEmittedStatement; + } + /** + * A list of comma-separated expressions. This node is only created by transformations. + */ + interface CommaListExpression extends Expression { + kind: SyntaxKind.CommaListExpression; + elements: NodeArray; + } + interface EmptyStatement extends Statement { + kind: SyntaxKind.EmptyStatement; + } + interface DebuggerStatement extends Statement { + kind: SyntaxKind.DebuggerStatement; + } + interface MissingDeclaration extends DeclarationStatement { + kind: SyntaxKind.MissingDeclaration; + name?: Identifier; + } + type BlockLike = SourceFile | Block | ModuleBlock | CaseOrDefaultClause; + interface Block extends Statement { + kind: SyntaxKind.Block; + statements: NodeArray; + } + interface VariableStatement extends Statement, JSDocContainer { + kind: SyntaxKind.VariableStatement; + declarationList: VariableDeclarationList; + } + interface ExpressionStatement extends Statement, JSDocContainer { + kind: SyntaxKind.ExpressionStatement; + expression: Expression; + } + interface IfStatement extends Statement { + kind: SyntaxKind.IfStatement; + expression: Expression; + thenStatement: Statement; + elseStatement?: Statement; + } + interface IterationStatement extends Statement { + statement: Statement; + } + interface DoStatement extends IterationStatement { + kind: SyntaxKind.DoStatement; + expression: Expression; + } + interface WhileStatement extends IterationStatement { + kind: SyntaxKind.WhileStatement; + expression: Expression; + } + type ForInitializer = VariableDeclarationList | Expression; + interface ForStatement extends IterationStatement { + kind: SyntaxKind.ForStatement; + initializer?: ForInitializer; + condition?: Expression; + incrementor?: Expression; + } + type ForInOrOfStatement = ForInStatement | ForOfStatement; + interface ForInStatement extends IterationStatement { + kind: SyntaxKind.ForInStatement; + initializer: ForInitializer; + expression: Expression; + } + interface ForOfStatement extends IterationStatement { + kind: SyntaxKind.ForOfStatement; + awaitModifier?: AwaitKeywordToken; + initializer: ForInitializer; + expression: Expression; + } + interface BreakStatement extends Statement { + kind: SyntaxKind.BreakStatement; + label?: Identifier; + } + interface ContinueStatement extends Statement { + kind: SyntaxKind.ContinueStatement; + label?: Identifier; + } + type BreakOrContinueStatement = BreakStatement | ContinueStatement; + interface ReturnStatement extends Statement { + kind: SyntaxKind.ReturnStatement; + expression?: Expression; + } + interface WithStatement extends Statement { + kind: SyntaxKind.WithStatement; + expression: Expression; + statement: Statement; + } + interface SwitchStatement extends Statement { + kind: SyntaxKind.SwitchStatement; + expression: Expression; + caseBlock: CaseBlock; + possiblyExhaustive?: boolean; + } + interface CaseBlock extends Node { + kind: SyntaxKind.CaseBlock; + parent: SwitchStatement; + clauses: NodeArray; + } + interface CaseClause extends Node { + kind: SyntaxKind.CaseClause; + parent: CaseBlock; + expression: Expression; + statements: NodeArray; + } + interface DefaultClause extends Node { + kind: SyntaxKind.DefaultClause; + parent: CaseBlock; + statements: NodeArray; + } + type CaseOrDefaultClause = CaseClause | DefaultClause; + interface LabeledStatement extends Statement, JSDocContainer { + kind: SyntaxKind.LabeledStatement; + label: Identifier; + statement: Statement; + } + interface ThrowStatement extends Statement { + kind: SyntaxKind.ThrowStatement; + expression?: Expression; + } + interface TryStatement extends Statement { + kind: SyntaxKind.TryStatement; + tryBlock: Block; + catchClause?: CatchClause; + finallyBlock?: Block; + } + interface CatchClause extends Node { + kind: SyntaxKind.CatchClause; + parent: TryStatement; + variableDeclaration?: VariableDeclaration; + block: Block; + } + type ObjectTypeDeclaration = ClassLikeDeclaration | InterfaceDeclaration | TypeLiteralNode; + type DeclarationWithTypeParameters = DeclarationWithTypeParameterChildren | JSDocTypedefTag | JSDocCallbackTag | JSDocSignature; + type DeclarationWithTypeParameterChildren = SignatureDeclaration | ClassLikeDeclaration | InterfaceDeclaration | TypeAliasDeclaration | JSDocTemplateTag; + interface ClassLikeDeclarationBase extends NamedDeclaration, JSDocContainer { + kind: SyntaxKind.ClassDeclaration | SyntaxKind.ClassExpression; + name?: Identifier; + typeParameters?: NodeArray; + heritageClauses?: NodeArray; + members: NodeArray; + } + interface ClassDeclaration extends ClassLikeDeclarationBase, DeclarationStatement { + kind: SyntaxKind.ClassDeclaration; + /** May be undefined in `export default class { ... }`. */ + name?: Identifier; + } + interface ClassExpression extends ClassLikeDeclarationBase, PrimaryExpression { + kind: SyntaxKind.ClassExpression; + } + type ClassLikeDeclaration = ClassDeclaration | ClassExpression; + interface ClassElement extends NamedDeclaration { + _classElementBrand: any; + name?: PropertyName; + } + interface TypeElement extends NamedDeclaration { + _typeElementBrand: any; + name?: PropertyName; + questionToken?: QuestionToken; + } + interface InterfaceDeclaration extends DeclarationStatement, JSDocContainer { + kind: SyntaxKind.InterfaceDeclaration; + name: Identifier; + typeParameters?: NodeArray; + heritageClauses?: NodeArray; + members: NodeArray; + } + interface HeritageClause extends Node { + kind: SyntaxKind.HeritageClause; + parent: InterfaceDeclaration | ClassLikeDeclaration; + token: SyntaxKind.ExtendsKeyword | SyntaxKind.ImplementsKeyword; + types: NodeArray; + } + interface TypeAliasDeclaration extends DeclarationStatement, JSDocContainer { + kind: SyntaxKind.TypeAliasDeclaration; + name: Identifier; + typeParameters?: NodeArray; + type: TypeNode; + } + interface EnumMember extends NamedDeclaration, JSDocContainer { + kind: SyntaxKind.EnumMember; + parent: EnumDeclaration; + name: PropertyName; + initializer?: Expression; + } + interface EnumDeclaration extends DeclarationStatement, JSDocContainer { + kind: SyntaxKind.EnumDeclaration; + name: Identifier; + members: NodeArray; + } + type ModuleName = Identifier | StringLiteral; + type ModuleBody = NamespaceBody | JSDocNamespaceBody; + interface ModuleDeclaration extends DeclarationStatement, JSDocContainer { + kind: SyntaxKind.ModuleDeclaration; + parent: ModuleBody | SourceFile; + name: ModuleName; + body?: ModuleBody | JSDocNamespaceDeclaration; + } + type NamespaceBody = ModuleBlock | NamespaceDeclaration; + interface NamespaceDeclaration extends ModuleDeclaration { + name: Identifier; + body: NamespaceBody; + } + type JSDocNamespaceBody = Identifier | JSDocNamespaceDeclaration; + interface JSDocNamespaceDeclaration extends ModuleDeclaration { + name: Identifier; + body?: JSDocNamespaceBody; + } + interface ModuleBlock extends Node, Statement { + kind: SyntaxKind.ModuleBlock; + parent: ModuleDeclaration; + statements: NodeArray; + } + type ModuleReference = EntityName | ExternalModuleReference; + /** + * One of: + * - import x = require("mod"); + * - import x = M.x; + */ + interface ImportEqualsDeclaration extends DeclarationStatement, JSDocContainer { + kind: SyntaxKind.ImportEqualsDeclaration; + parent: SourceFile | ModuleBlock; + name: Identifier; + moduleReference: ModuleReference; + } + interface ExternalModuleReference extends Node { + kind: SyntaxKind.ExternalModuleReference; + parent: ImportEqualsDeclaration; + expression: Expression; + } + interface ImportDeclaration extends Statement { + kind: SyntaxKind.ImportDeclaration; + parent: SourceFile | ModuleBlock; + importClause?: ImportClause; + /** If this is not a StringLiteral it will be a grammar error. */ + moduleSpecifier: Expression; + } + type NamedImportBindings = NamespaceImport | NamedImports; + interface ImportClause extends NamedDeclaration { + kind: SyntaxKind.ImportClause; + parent: ImportDeclaration; + name?: Identifier; + namedBindings?: NamedImportBindings; + } + interface NamespaceImport extends NamedDeclaration { + kind: SyntaxKind.NamespaceImport; + parent: ImportClause; + name: Identifier; + } + interface NamespaceExportDeclaration extends DeclarationStatement { + kind: SyntaxKind.NamespaceExportDeclaration; + name: Identifier; + } + interface ExportDeclaration extends DeclarationStatement, JSDocContainer { + kind: SyntaxKind.ExportDeclaration; + parent: SourceFile | ModuleBlock; + /** Will not be assigned in the case of `export * from "foo";` */ + exportClause?: NamedExports; + /** If this is not a StringLiteral it will be a grammar error. */ + moduleSpecifier?: Expression; + } + interface NamedImports extends Node { + kind: SyntaxKind.NamedImports; + parent: ImportClause; + elements: NodeArray; + } + interface NamedExports extends Node { + kind: SyntaxKind.NamedExports; + parent: ExportDeclaration; + elements: NodeArray; + } + type NamedImportsOrExports = NamedImports | NamedExports; + interface ImportSpecifier extends NamedDeclaration { + kind: SyntaxKind.ImportSpecifier; + parent: NamedImports; + propertyName?: Identifier; + name: Identifier; + } + interface ExportSpecifier extends NamedDeclaration { + kind: SyntaxKind.ExportSpecifier; + parent: NamedExports; + propertyName?: Identifier; + name: Identifier; + } + type ImportOrExportSpecifier = ImportSpecifier | ExportSpecifier; + /** + * This is either an `export =` or an `export default` declaration. + * Unless `isExportEquals` is set, this node was parsed as an `export default`. + */ + interface ExportAssignment extends DeclarationStatement { + kind: SyntaxKind.ExportAssignment; + parent: SourceFile; + isExportEquals?: boolean; + expression: Expression; + } + interface FileReference extends TextRange { + fileName: string; + } + interface CheckJsDirective extends TextRange { + enabled: boolean; + } + type CommentKind = SyntaxKind.SingleLineCommentTrivia | SyntaxKind.MultiLineCommentTrivia; + interface CommentRange extends TextRange { + hasTrailingNewLine?: boolean; + kind: CommentKind; + } + interface SynthesizedComment extends CommentRange { + text: string; + pos: -1; + end: -1; + } + interface JSDocTypeExpression extends TypeNode { + kind: SyntaxKind.JSDocTypeExpression; + type: TypeNode; + } + interface JSDocType extends TypeNode { + _jsDocTypeBrand: any; + } + interface JSDocAllType extends JSDocType { + kind: SyntaxKind.JSDocAllType; + } + interface JSDocUnknownType extends JSDocType { + kind: SyntaxKind.JSDocUnknownType; + } + interface JSDocNonNullableType extends JSDocType { + kind: SyntaxKind.JSDocNonNullableType; + type: TypeNode; + } + interface JSDocNullableType extends JSDocType { + kind: SyntaxKind.JSDocNullableType; + type: TypeNode; + } + interface JSDocOptionalType extends JSDocType { + kind: SyntaxKind.JSDocOptionalType; + type: TypeNode; + } + interface JSDocFunctionType extends JSDocType, SignatureDeclarationBase { + kind: SyntaxKind.JSDocFunctionType; + } + interface JSDocVariadicType extends JSDocType { + kind: SyntaxKind.JSDocVariadicType; + type: TypeNode; + } + type JSDocTypeReferencingNode = JSDocVariadicType | JSDocOptionalType | JSDocNullableType | JSDocNonNullableType; + interface JSDoc extends Node { + kind: SyntaxKind.JSDocComment; + parent: HasJSDoc; + tags?: NodeArray; + comment?: string; + } + interface JSDocTag extends Node { + parent: JSDoc | JSDocTypeLiteral; + tagName: Identifier; + comment?: string; + } + interface JSDocUnknownTag extends JSDocTag { + kind: SyntaxKind.JSDocTag; + } + /** + * Note that `@extends` is a synonym of `@augments`. + * Both tags are represented by this interface. + */ + interface JSDocAugmentsTag extends JSDocTag { + kind: SyntaxKind.JSDocAugmentsTag; + class: ExpressionWithTypeArguments & { + expression: Identifier | PropertyAccessEntityNameExpression; + }; + } + interface JSDocClassTag extends JSDocTag { + kind: SyntaxKind.JSDocClassTag; + } + interface JSDocEnumTag extends JSDocTag { + kind: SyntaxKind.JSDocEnumTag; + typeExpression?: JSDocTypeExpression; + } + interface JSDocThisTag extends JSDocTag { + kind: SyntaxKind.JSDocThisTag; + typeExpression?: JSDocTypeExpression; + } + interface JSDocTemplateTag extends JSDocTag { + kind: SyntaxKind.JSDocTemplateTag; + constraint: JSDocTypeExpression | undefined; + typeParameters: NodeArray; + } + interface JSDocReturnTag extends JSDocTag { + kind: SyntaxKind.JSDocReturnTag; + typeExpression?: JSDocTypeExpression; + } + interface JSDocTypeTag extends JSDocTag { + kind: SyntaxKind.JSDocTypeTag; + typeExpression?: JSDocTypeExpression; + } + interface JSDocTypedefTag extends JSDocTag, NamedDeclaration { + parent: JSDoc; + kind: SyntaxKind.JSDocTypedefTag; + fullName?: JSDocNamespaceDeclaration | Identifier; + name?: Identifier; + typeExpression?: JSDocTypeExpression | JSDocTypeLiteral; + } + interface JSDocCallbackTag extends JSDocTag, NamedDeclaration { + parent: JSDoc; + kind: SyntaxKind.JSDocCallbackTag; + fullName?: JSDocNamespaceDeclaration | Identifier; + name?: Identifier; + typeExpression: JSDocSignature; + } + interface JSDocSignature extends JSDocType, Declaration { + kind: SyntaxKind.JSDocSignature; + typeParameters?: ReadonlyArray; + parameters: ReadonlyArray; + type: JSDocReturnTag | undefined; + } + interface JSDocPropertyLikeTag extends JSDocTag, Declaration { + parent: JSDoc; + name: EntityName; + typeExpression?: JSDocTypeExpression; + /** Whether the property name came before the type -- non-standard for JSDoc, but Typescript-like */ + isNameFirst: boolean; + isBracketed: boolean; + } + interface JSDocPropertyTag extends JSDocPropertyLikeTag { + kind: SyntaxKind.JSDocPropertyTag; + } + interface JSDocParameterTag extends JSDocPropertyLikeTag { + kind: SyntaxKind.JSDocParameterTag; + } + interface JSDocTypeLiteral extends JSDocType { + kind: SyntaxKind.JSDocTypeLiteral; + jsDocPropertyTags?: ReadonlyArray; + /** If true, then this type literal represents an *array* of its type. */ + isArrayType?: boolean; + } + enum FlowFlags { + Unreachable = 1, + Start = 2, + BranchLabel = 4, + LoopLabel = 8, + Assignment = 16, + TrueCondition = 32, + FalseCondition = 64, + SwitchClause = 128, + ArrayMutation = 256, + Referenced = 512, + Shared = 1024, + PreFinally = 2048, + AfterFinally = 4096, + Label = 12, + Condition = 96 + } + interface FlowLock { + locked?: boolean; + } + interface AfterFinallyFlow extends FlowNodeBase, FlowLock { + antecedent: FlowNode; + } + interface PreFinallyFlow extends FlowNodeBase { + antecedent: FlowNode; + lock: FlowLock; + } + type FlowNode = AfterFinallyFlow | PreFinallyFlow | FlowStart | FlowLabel | FlowAssignment | FlowCondition | FlowSwitchClause | FlowArrayMutation; + interface FlowNodeBase { + flags: FlowFlags; + id?: number; + } + interface FlowStart extends FlowNodeBase { + container?: FunctionExpression | ArrowFunction | MethodDeclaration; + } + interface FlowLabel extends FlowNodeBase { + antecedents: FlowNode[] | undefined; + } + interface FlowAssignment extends FlowNodeBase { + node: Expression | VariableDeclaration | BindingElement; + antecedent: FlowNode; + } + interface FlowCondition extends FlowNodeBase { + expression: Expression; + antecedent: FlowNode; + } + interface FlowSwitchClause extends FlowNodeBase { + switchStatement: SwitchStatement; + clauseStart: number; + clauseEnd: number; + antecedent: FlowNode; + } + interface FlowArrayMutation extends FlowNodeBase { + node: CallExpression | BinaryExpression; + antecedent: FlowNode; + } + type FlowType = Type | IncompleteType; + interface IncompleteType { + flags: TypeFlags; + type: Type; + } + interface AmdDependency { + path: string; + name?: string; + } + interface SourceFile extends Declaration { + kind: SyntaxKind.SourceFile; + statements: NodeArray; + endOfFileToken: Token; + fileName: string; + text: string; + amdDependencies: ReadonlyArray; + moduleName?: string; + referencedFiles: ReadonlyArray; + typeReferenceDirectives: ReadonlyArray; + libReferenceDirectives: ReadonlyArray; + languageVariant: LanguageVariant; + isDeclarationFile: boolean; + /** + * lib.d.ts should have a reference comment like + * + * /// + * + * If any other file has this comment, it signals not to include lib.d.ts + * because this containing file is intended to act as a default library. + */ + hasNoDefaultLib: boolean; + languageVersion: ScriptTarget; + } + interface Bundle extends Node { + kind: SyntaxKind.Bundle; + prepends: ReadonlyArray; + sourceFiles: ReadonlyArray; + } + interface InputFiles extends Node { + kind: SyntaxKind.InputFiles; + javascriptText: string; + javascriptMapPath?: string; + javascriptMapText?: string; + declarationText: string; + declarationMapPath?: string; + declarationMapText?: string; + } + interface UnparsedSource extends Node { + kind: SyntaxKind.UnparsedSource; + text: string; + sourceMapPath?: string; + sourceMapText?: string; + } + interface JsonSourceFile extends SourceFile { + statements: NodeArray; + } + interface TsConfigSourceFile extends JsonSourceFile { + extendedSourceFiles?: string[]; + } + interface JsonMinusNumericLiteral extends PrefixUnaryExpression { + kind: SyntaxKind.PrefixUnaryExpression; + operator: SyntaxKind.MinusToken; + operand: NumericLiteral; + } + interface JsonObjectExpressionStatement extends ExpressionStatement { + expression: ObjectLiteralExpression | ArrayLiteralExpression | JsonMinusNumericLiteral | NumericLiteral | StringLiteral | BooleanLiteral | NullLiteral; + } + interface ScriptReferenceHost { + getCompilerOptions(): CompilerOptions; + getSourceFile(fileName: string): SourceFile | undefined; + getSourceFileByPath(path: Path): SourceFile | undefined; + getCurrentDirectory(): string; + } + interface ParseConfigHost { + useCaseSensitiveFileNames: boolean; + readDirectory(rootDir: string, extensions: ReadonlyArray, excludes: ReadonlyArray | undefined, includes: ReadonlyArray, depth?: number): ReadonlyArray; + /** + * Gets a value indicating whether the specified path exists and is a file. + * @param path The path to test. + */ + fileExists(path: string): boolean; + readFile(path: string): string | undefined; + trace?(s: string): void; + } + /** + * Branded string for keeping track of when we've turned an ambiguous path + * specified like "./blah" to an absolute path to an actual + * tsconfig file, e.g. "/root/blah/tsconfig.json" + */ + type ResolvedConfigFileName = string & { + _isResolvedConfigFileName: never; + }; + type WriteFileCallback = (fileName: string, data: string, writeByteOrderMark: boolean, onError: ((message: string) => void) | undefined, sourceFiles?: ReadonlyArray) => void; + class OperationCanceledException { + } + interface CancellationToken { + isCancellationRequested(): boolean; + /** @throws OperationCanceledException if isCancellationRequested is true */ + throwIfCancellationRequested(): void; + } + interface Program extends ScriptReferenceHost { + /** + * Get a list of root file names that were passed to a 'createProgram' + */ + getRootFileNames(): ReadonlyArray; + /** + * Get a list of files in the program + */ + getSourceFiles(): ReadonlyArray; + /** + * Emits the JavaScript and declaration files. If targetSourceFile is not specified, then + * the JavaScript and declaration files will be produced for all the files in this program. + * If targetSourceFile is specified, then only the JavaScript and declaration for that + * specific file will be generated. + * + * If writeFile is not specified then the writeFile callback from the compiler host will be + * used for writing the JavaScript and declaration files. Otherwise, the writeFile parameter + * will be invoked when writing the JavaScript and declaration files. + */ + emit(targetSourceFile?: SourceFile, writeFile?: WriteFileCallback, cancellationToken?: CancellationToken, emitOnlyDtsFiles?: boolean, customTransformers?: CustomTransformers): EmitResult; + getOptionsDiagnostics(cancellationToken?: CancellationToken): ReadonlyArray; + getGlobalDiagnostics(cancellationToken?: CancellationToken): ReadonlyArray; + getSyntacticDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): ReadonlyArray; + /** The first time this is called, it will return global diagnostics (no location). */ + getSemanticDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): ReadonlyArray; + getDeclarationDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): ReadonlyArray; + getConfigFileParsingDiagnostics(): ReadonlyArray; + /** + * Gets a type checker that can be used to semantically analyze source files in the program. + */ + getTypeChecker(): TypeChecker; + isSourceFileFromExternalLibrary(file: SourceFile): boolean; + isSourceFileDefaultLibrary(file: SourceFile): boolean; + getProjectReferences(): ReadonlyArray | undefined; + getResolvedProjectReferences(): ReadonlyArray | undefined; + } + interface ResolvedProjectReference { + commandLine: ParsedCommandLine; + sourceFile: SourceFile; + references?: ReadonlyArray; + } + interface CustomTransformers { + /** Custom transformers to evaluate before built-in .js transformations. */ + before?: TransformerFactory[]; + /** Custom transformers to evaluate after built-in .js transformations. */ + after?: TransformerFactory[]; + /** Custom transformers to evaluate after built-in .d.ts transformations. */ + afterDeclarations?: TransformerFactory[]; + } + interface SourceMapSpan { + /** Line number in the .js file. */ + emittedLine: number; + /** Column number in the .js file. */ + emittedColumn: number; + /** Line number in the .ts file. */ + sourceLine: number; + /** Column number in the .ts file. */ + sourceColumn: number; + /** Optional name (index into names array) associated with this span. */ + nameIndex?: number; + /** .ts file (index into sources array) associated with this span */ + sourceIndex: number; + } + /** Return code used by getEmitOutput function to indicate status of the function */ + enum ExitStatus { + Success = 0, + DiagnosticsPresent_OutputsSkipped = 1, + DiagnosticsPresent_OutputsGenerated = 2 + } + interface EmitResult { + emitSkipped: boolean; + /** Contains declaration emit diagnostics */ + diagnostics: ReadonlyArray; + emittedFiles?: string[]; + } + interface TypeChecker { + getTypeOfSymbolAtLocation(symbol: Symbol, node: Node): Type; + getDeclaredTypeOfSymbol(symbol: Symbol): Type; + getPropertiesOfType(type: Type): Symbol[]; + getPropertyOfType(type: Type, propertyName: string): Symbol | undefined; + getIndexInfoOfType(type: Type, kind: IndexKind): IndexInfo | undefined; + getSignaturesOfType(type: Type, kind: SignatureKind): ReadonlyArray; + getIndexTypeOfType(type: Type, kind: IndexKind): Type | undefined; + getBaseTypes(type: InterfaceType): BaseType[]; + getBaseTypeOfLiteralType(type: Type): Type; + getWidenedType(type: Type): Type; + getReturnTypeOfSignature(signature: Signature): Type; + getNullableType(type: Type, flags: TypeFlags): Type; + getNonNullableType(type: Type): Type; + /** Note that the resulting nodes cannot be checked. */ + typeToTypeNode(type: Type, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): TypeNode | undefined; + /** Note that the resulting nodes cannot be checked. */ + signatureToSignatureDeclaration(signature: Signature, kind: SyntaxKind, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): (SignatureDeclaration & { + typeArguments?: NodeArray; + }) | undefined; + /** Note that the resulting nodes cannot be checked. */ + indexInfoToIndexSignatureDeclaration(indexInfo: IndexInfo, kind: IndexKind, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): IndexSignatureDeclaration | undefined; + /** Note that the resulting nodes cannot be checked. */ + symbolToEntityName(symbol: Symbol, meaning: SymbolFlags, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): EntityName | undefined; + /** Note that the resulting nodes cannot be checked. */ + symbolToExpression(symbol: Symbol, meaning: SymbolFlags, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): Expression | undefined; + /** Note that the resulting nodes cannot be checked. */ + symbolToTypeParameterDeclarations(symbol: Symbol, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): NodeArray | undefined; + /** Note that the resulting nodes cannot be checked. */ + symbolToParameterDeclaration(symbol: Symbol, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): ParameterDeclaration | undefined; + /** Note that the resulting nodes cannot be checked. */ + typeParameterToDeclaration(parameter: TypeParameter, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): TypeParameterDeclaration | undefined; + getSymbolsInScope(location: Node, meaning: SymbolFlags): Symbol[]; + getSymbolAtLocation(node: Node): Symbol | undefined; + getSymbolsOfParameterPropertyDeclaration(parameter: ParameterDeclaration, parameterName: string): Symbol[]; + /** + * The function returns the value (local variable) symbol of an identifier in the short-hand property assignment. + * This is necessary as an identifier in short-hand property assignment can contains two meaning: property name and property value. + */ + getShorthandAssignmentValueSymbol(location: Node): Symbol | undefined; + getExportSpecifierLocalTargetSymbol(location: ExportSpecifier): Symbol | undefined; + /** + * If a symbol is a local symbol with an associated exported symbol, returns the exported symbol. + * Otherwise returns its input. + * For example, at `export type T = number;`: + * - `getSymbolAtLocation` at the location `T` will return the exported symbol for `T`. + * - But the result of `getSymbolsInScope` will contain the *local* symbol for `T`, not the exported symbol. + * - Calling `getExportSymbolOfSymbol` on that local symbol will return the exported symbol. + */ + getExportSymbolOfSymbol(symbol: Symbol): Symbol; + getPropertySymbolOfDestructuringAssignment(location: Identifier): Symbol | undefined; + getTypeAtLocation(node: Node): Type; + getTypeFromTypeNode(node: TypeNode): Type; + signatureToString(signature: Signature, enclosingDeclaration?: Node, flags?: TypeFormatFlags, kind?: SignatureKind): string; + typeToString(type: Type, enclosingDeclaration?: Node, flags?: TypeFormatFlags): string; + symbolToString(symbol: Symbol, enclosingDeclaration?: Node, meaning?: SymbolFlags, flags?: SymbolFormatFlags): string; + typePredicateToString(predicate: TypePredicate, enclosingDeclaration?: Node, flags?: TypeFormatFlags): string; + getFullyQualifiedName(symbol: Symbol): string; + getAugmentedPropertiesOfType(type: Type): Symbol[]; + getRootSymbols(symbol: Symbol): ReadonlyArray; + getContextualType(node: Expression): Type | undefined; + /** + * returns unknownSignature in the case of an error. + * returns undefined if the node is not valid. + * @param argumentCount Apparent number of arguments, passed in case of a possibly incomplete call. This should come from an ArgumentListInfo. See `signatureHelp.ts`. + */ + getResolvedSignature(node: CallLikeExpression, candidatesOutArray?: Signature[], argumentCount?: number): Signature | undefined; + getSignatureFromDeclaration(declaration: SignatureDeclaration): Signature | undefined; + isImplementationOfOverload(node: SignatureDeclaration): boolean | undefined; + isUndefinedSymbol(symbol: Symbol): boolean; + isArgumentsSymbol(symbol: Symbol): boolean; + isUnknownSymbol(symbol: Symbol): boolean; + getConstantValue(node: EnumMember | PropertyAccessExpression | ElementAccessExpression): string | number | undefined; + isValidPropertyAccess(node: PropertyAccessExpression | QualifiedName | ImportTypeNode, propertyName: string): boolean; + /** Follow all aliases to get the original symbol. */ + getAliasedSymbol(symbol: Symbol): Symbol; + getExportsOfModule(moduleSymbol: Symbol): Symbol[]; + getJsxIntrinsicTagNamesAt(location: Node): Symbol[]; + isOptionalParameter(node: ParameterDeclaration): boolean; + getAmbientModules(): Symbol[]; + tryGetMemberInModuleExports(memberName: string, moduleSymbol: Symbol): Symbol | undefined; + getApparentType(type: Type): Type; + getBaseConstraintOfType(type: Type): Type | undefined; + getDefaultFromTypeParameter(type: Type): Type | undefined; + /** + * Depending on the operation performed, it may be appropriate to throw away the checker + * if the cancellation token is triggered. Typically, if it is used for error checking + * and the operation is cancelled, then it should be discarded, otherwise it is safe to keep. + */ + runWithCancellationToken(token: CancellationToken, cb: (checker: TypeChecker) => T): T; + } + enum NodeBuilderFlags { + None = 0, + NoTruncation = 1, + WriteArrayAsGenericType = 2, + GenerateNamesForShadowedTypeParams = 4, + UseStructuralFallback = 8, + ForbidIndexedAccessSymbolReferences = 16, + WriteTypeArgumentsOfSignature = 32, + UseFullyQualifiedType = 64, + UseOnlyExternalAliasing = 128, + SuppressAnyReturnType = 256, + WriteTypeParametersInQualifiedName = 512, + MultilineObjectLiterals = 1024, + WriteClassExpressionAsTypeLiteral = 2048, + UseTypeOfFunction = 4096, + OmitParameterModifiers = 8192, + UseAliasDefinedOutsideCurrentScope = 16384, + AllowThisInObjectLiteral = 32768, + AllowQualifedNameInPlaceOfIdentifier = 65536, + AllowAnonymousIdentifier = 131072, + AllowEmptyUnionOrIntersection = 262144, + AllowEmptyTuple = 524288, + AllowUniqueESSymbolType = 1048576, + AllowEmptyIndexInfoType = 2097152, + AllowNodeModulesRelativePaths = 67108864, + IgnoreErrors = 70221824, + InObjectTypeLiteral = 4194304, + InTypeAlias = 8388608, + InInitialEntityName = 16777216, + InReverseMappedType = 33554432 + } + enum TypeFormatFlags { + None = 0, + NoTruncation = 1, + WriteArrayAsGenericType = 2, + UseStructuralFallback = 8, + WriteTypeArgumentsOfSignature = 32, + UseFullyQualifiedType = 64, + SuppressAnyReturnType = 256, + MultilineObjectLiterals = 1024, + WriteClassExpressionAsTypeLiteral = 2048, + UseTypeOfFunction = 4096, + OmitParameterModifiers = 8192, + UseAliasDefinedOutsideCurrentScope = 16384, + AllowUniqueESSymbolType = 1048576, + AddUndefined = 131072, + WriteArrowStyleSignature = 262144, + InArrayType = 524288, + InElementType = 2097152, + InFirstTypeArgument = 4194304, + InTypeAlias = 8388608, + /** @deprecated */ WriteOwnNameForAnyLike = 0, + NodeBuilderFlagsMask = 9469291 + } + enum SymbolFormatFlags { + None = 0, + WriteTypeParametersOrArguments = 1, + UseOnlyExternalAliasing = 2, + AllowAnyNodeKind = 4, + UseAliasDefinedOutsideCurrentScope = 8 + } + enum TypePredicateKind { + This = 0, + Identifier = 1 + } + interface TypePredicateBase { + kind: TypePredicateKind; + type: Type; + } + interface ThisTypePredicate extends TypePredicateBase { + kind: TypePredicateKind.This; + } + interface IdentifierTypePredicate extends TypePredicateBase { + kind: TypePredicateKind.Identifier; + parameterName: string; + parameterIndex: number; + } + type TypePredicate = IdentifierTypePredicate | ThisTypePredicate; + enum SymbolFlags { + None = 0, + FunctionScopedVariable = 1, + BlockScopedVariable = 2, + Property = 4, + EnumMember = 8, + Function = 16, + Class = 32, + Interface = 64, + ConstEnum = 128, + RegularEnum = 256, + ValueModule = 512, + NamespaceModule = 1024, + TypeLiteral = 2048, + ObjectLiteral = 4096, + Method = 8192, + Constructor = 16384, + GetAccessor = 32768, + SetAccessor = 65536, + Signature = 131072, + TypeParameter = 262144, + TypeAlias = 524288, + ExportValue = 1048576, + Alias = 2097152, + Prototype = 4194304, + ExportStar = 8388608, + Optional = 16777216, + Transient = 33554432, + Assignment = 67108864, + ModuleExports = 134217728, + Enum = 384, + Variable = 3, + Value = 67220415, + Type = 67897832, + Namespace = 1920, + Module = 1536, + Accessor = 98304, + FunctionScopedVariableExcludes = 67220414, + BlockScopedVariableExcludes = 67220415, + ParameterExcludes = 67220415, + PropertyExcludes = 0, + EnumMemberExcludes = 68008959, + FunctionExcludes = 67219887, + ClassExcludes = 68008383, + InterfaceExcludes = 67897736, + RegularEnumExcludes = 68008191, + ConstEnumExcludes = 68008831, + ValueModuleExcludes = 110735, + NamespaceModuleExcludes = 0, + MethodExcludes = 67212223, + GetAccessorExcludes = 67154879, + SetAccessorExcludes = 67187647, + TypeParameterExcludes = 67635688, + TypeAliasExcludes = 67897832, + AliasExcludes = 2097152, + ModuleMember = 2623475, + ExportHasLocal = 944, + BlockScoped = 418, + PropertyOrAccessor = 98308, + ClassMember = 106500 + } + interface Symbol { + flags: SymbolFlags; + escapedName: __String; + declarations: Declaration[]; + valueDeclaration: Declaration; + members?: SymbolTable; + exports?: SymbolTable; + globalExports?: SymbolTable; + } + enum InternalSymbolName { + Call = "__call", + Constructor = "__constructor", + New = "__new", + Index = "__index", + ExportStar = "__export", + Global = "__global", + Missing = "__missing", + Type = "__type", + Object = "__object", + JSXAttributes = "__jsxAttributes", + Class = "__class", + Function = "__function", + Computed = "__computed", + Resolving = "__resolving__", + ExportEquals = "export=", + Default = "default", + This = "this" + } + /** + * This represents a string whose leading underscore have been escaped by adding extra leading underscores. + * The shape of this brand is rather unique compared to others we've used. + * Instead of just an intersection of a string and an object, it is that union-ed + * with an intersection of void and an object. This makes it wholly incompatible + * with a normal string (which is good, it cannot be misused on assignment or on usage), + * while still being comparable with a normal string via === (also good) and castable from a string. + */ + type __String = (string & { + __escapedIdentifier: void; + }) | (void & { + __escapedIdentifier: void; + }) | InternalSymbolName; + /** ReadonlyMap where keys are `__String`s. */ + interface ReadonlyUnderscoreEscapedMap { + get(key: __String): T | undefined; + has(key: __String): boolean; + forEach(action: (value: T, key: __String) => void): void; + readonly size: number; + keys(): Iterator<__String>; + values(): Iterator; + entries(): Iterator<[__String, T]>; + } + /** Map where keys are `__String`s. */ + interface UnderscoreEscapedMap extends ReadonlyUnderscoreEscapedMap { + set(key: __String, value: T): this; + delete(key: __String): boolean; + clear(): void; + } + /** SymbolTable based on ES6 Map interface. */ + type SymbolTable = UnderscoreEscapedMap; + enum TypeFlags { + Any = 1, + Unknown = 2, + String = 4, + Number = 8, + Boolean = 16, + Enum = 32, + BigInt = 64, + StringLiteral = 128, + NumberLiteral = 256, + BooleanLiteral = 512, + EnumLiteral = 1024, + BigIntLiteral = 2048, + ESSymbol = 4096, + UniqueESSymbol = 8192, + Void = 16384, + Undefined = 32768, + Null = 65536, + Never = 131072, + TypeParameter = 262144, + Object = 524288, + Union = 1048576, + Intersection = 2097152, + Index = 4194304, + IndexedAccess = 8388608, + Conditional = 16777216, + Substitution = 33554432, + NonPrimitive = 67108864, + Literal = 2944, + Unit = 109440, + StringOrNumberLiteral = 384, + PossiblyFalsy = 117724, + StringLike = 132, + NumberLike = 296, + BigIntLike = 2112, + BooleanLike = 528, + EnumLike = 1056, + ESSymbolLike = 12288, + VoidLike = 49152, + UnionOrIntersection = 3145728, + StructuredType = 3670016, + TypeVariable = 8650752, + InstantiableNonPrimitive = 58982400, + InstantiablePrimitive = 4194304, + Instantiable = 63176704, + StructuredOrInstantiable = 66846720, + Narrowable = 133970943, + NotUnionOrUnit = 67637251 + } + type DestructuringPattern = BindingPattern | ObjectLiteralExpression | ArrayLiteralExpression; + interface Type { + flags: TypeFlags; + symbol: Symbol; + pattern?: DestructuringPattern; + aliasSymbol?: Symbol; + aliasTypeArguments?: ReadonlyArray; + } + interface LiteralType extends Type { + value: string | number | PseudoBigInt; + freshType: LiteralType; + regularType: LiteralType; + } + interface UniqueESSymbolType extends Type { + symbol: Symbol; + } + interface StringLiteralType extends LiteralType { + value: string; + } + interface NumberLiteralType extends LiteralType { + value: number; + } + interface BigIntLiteralType extends LiteralType { + value: PseudoBigInt; + } + interface EnumType extends Type { + } + enum ObjectFlags { + Class = 1, + Interface = 2, + Reference = 4, + Tuple = 8, + Anonymous = 16, + Mapped = 32, + Instantiated = 64, + ObjectLiteral = 128, + EvolvingArray = 256, + ObjectLiteralPatternWithComputedProperties = 512, + ContainsSpread = 1024, + ReverseMapped = 2048, + JsxAttributes = 4096, + MarkerType = 8192, + JSLiteral = 16384, + FreshLiteral = 32768, + ClassOrInterface = 3 + } + interface ObjectType extends Type { + objectFlags: ObjectFlags; + } + /** Class and interface types (ObjectFlags.Class and ObjectFlags.Interface). */ + interface InterfaceType extends ObjectType { + typeParameters: TypeParameter[] | undefined; + outerTypeParameters: TypeParameter[] | undefined; + localTypeParameters: TypeParameter[] | undefined; + thisType: TypeParameter | undefined; + } + type BaseType = ObjectType | IntersectionType; + interface InterfaceTypeWithDeclaredMembers extends InterfaceType { + declaredProperties: Symbol[]; + declaredCallSignatures: Signature[]; + declaredConstructSignatures: Signature[]; + declaredStringIndexInfo?: IndexInfo; + declaredNumberIndexInfo?: IndexInfo; + } + /** + * Type references (ObjectFlags.Reference). When a class or interface has type parameters or + * a "this" type, references to the class or interface are made using type references. The + * typeArguments property specifies the types to substitute for the type parameters of the + * class or interface and optionally includes an extra element that specifies the type to + * substitute for "this" in the resulting instantiation. When no extra argument is present, + * the type reference itself is substituted for "this". The typeArguments property is undefined + * if the class or interface has no type parameters and the reference isn't specifying an + * explicit "this" argument. + */ + interface TypeReference extends ObjectType { + target: GenericType; + typeArguments?: ReadonlyArray; + } + interface GenericType extends InterfaceType, TypeReference { + } + interface TupleType extends GenericType { + minLength: number; + hasRestElement: boolean; + associatedNames?: __String[]; + } + interface TupleTypeReference extends TypeReference { + target: TupleType; + } + interface UnionOrIntersectionType extends Type { + types: Type[]; + } + interface UnionType extends UnionOrIntersectionType { + } + interface IntersectionType extends UnionOrIntersectionType { + } + type StructuredType = ObjectType | UnionType | IntersectionType; + interface EvolvingArrayType extends ObjectType { + elementType: Type; + finalArrayType?: Type; + } + interface InstantiableType extends Type { + } + interface TypeParameter extends InstantiableType { + } + interface IndexedAccessType extends InstantiableType { + objectType: Type; + indexType: Type; + constraint?: Type; + simplified?: Type; + } + type TypeVariable = TypeParameter | IndexedAccessType; + interface IndexType extends InstantiableType { + type: InstantiableType | UnionOrIntersectionType; + } + interface ConditionalRoot { + node: ConditionalTypeNode; + checkType: Type; + extendsType: Type; + trueType: Type; + falseType: Type; + isDistributive: boolean; + inferTypeParameters?: TypeParameter[]; + outerTypeParameters?: TypeParameter[]; + instantiations?: Map; + aliasSymbol?: Symbol; + aliasTypeArguments?: Type[]; + } + interface ConditionalType extends InstantiableType { + root: ConditionalRoot; + checkType: Type; + extendsType: Type; + resolvedTrueType?: Type; + resolvedFalseType?: Type; + } + interface SubstitutionType extends InstantiableType { + typeVariable: TypeVariable; + substitute: Type; + } + enum SignatureKind { + Call = 0, + Construct = 1 + } + interface Signature { + declaration?: SignatureDeclaration | JSDocSignature; + typeParameters?: ReadonlyArray; + parameters: ReadonlyArray; + } + enum IndexKind { + String = 0, + Number = 1 + } + interface IndexInfo { + type: Type; + isReadonly: boolean; + declaration?: IndexSignatureDeclaration; + } + enum InferencePriority { + NakedTypeVariable = 1, + HomomorphicMappedType = 2, + MappedTypeConstraint = 4, + ReturnType = 8, + LiteralKeyof = 16, + NoConstraints = 32, + AlwaysStrict = 64, + PriorityImpliesCombination = 28 + } + /** @deprecated Use FileExtensionInfo instead. */ + type JsFileExtensionInfo = FileExtensionInfo; + interface FileExtensionInfo { + extension: string; + isMixedContent: boolean; + scriptKind?: ScriptKind; + } + interface DiagnosticMessage { + key: string; + category: DiagnosticCategory; + code: number; + message: string; + reportsUnnecessary?: {}; + } + /** + * A linked list of formatted diagnostic messages to be used as part of a multiline message. + * It is built from the bottom up, leaving the head to be the "main" diagnostic. + * While it seems that DiagnosticMessageChain is structurally similar to DiagnosticMessage, + * the difference is that messages are all preformatted in DMC. + */ + interface DiagnosticMessageChain { + messageText: string; + category: DiagnosticCategory; + code: number; + next?: DiagnosticMessageChain; + } + interface Diagnostic extends DiagnosticRelatedInformation { + /** May store more in future. For now, this will simply be `true` to indicate when a diagnostic is an unused-identifier diagnostic. */ + reportsUnnecessary?: {}; + source?: string; + relatedInformation?: DiagnosticRelatedInformation[]; + } + interface DiagnosticRelatedInformation { + category: DiagnosticCategory; + code: number; + file: SourceFile | undefined; + start: number | undefined; + length: number | undefined; + messageText: string | DiagnosticMessageChain; + } + interface DiagnosticWithLocation extends Diagnostic { + file: SourceFile; + start: number; + length: number; + } + enum DiagnosticCategory { + Warning = 0, + Error = 1, + Suggestion = 2, + Message = 3 + } + enum ModuleResolutionKind { + Classic = 1, + NodeJs = 2 + } + interface PluginImport { + name: string; + } + interface ProjectReference { + /** A normalized path on disk */ + path: string; + /** The path as the user originally wrote it */ + originalPath?: string; + /** True if the output of this reference should be prepended to the output of this project. Only valid for --outFile compilations */ + prepend?: boolean; + /** True if it is intended that this reference form a circularity */ + circular?: boolean; + } + type CompilerOptionsValue = string | number | boolean | (string | number)[] | string[] | MapLike | PluginImport[] | ProjectReference[] | null | undefined; + interface CompilerOptions { + allowJs?: boolean; + allowSyntheticDefaultImports?: boolean; + allowUnreachableCode?: boolean; + allowUnusedLabels?: boolean; + alwaysStrict?: boolean; + baseUrl?: string; + charset?: string; + checkJs?: boolean; + declaration?: boolean; + declarationMap?: boolean; + emitDeclarationOnly?: boolean; + declarationDir?: string; + disableSizeLimit?: boolean; + downlevelIteration?: boolean; + emitBOM?: boolean; + emitDecoratorMetadata?: boolean; + experimentalDecorators?: boolean; + forceConsistentCasingInFileNames?: boolean; + importHelpers?: boolean; + inlineSourceMap?: boolean; + inlineSources?: boolean; + isolatedModules?: boolean; + jsx?: JsxEmit; + keyofStringsOnly?: boolean; + lib?: string[]; + locale?: string; + mapRoot?: string; + maxNodeModuleJsDepth?: number; + module?: ModuleKind; + moduleResolution?: ModuleResolutionKind; + newLine?: NewLineKind; + noEmit?: boolean; + noEmitHelpers?: boolean; + noEmitOnError?: boolean; + noErrorTruncation?: boolean; + noFallthroughCasesInSwitch?: boolean; + noImplicitAny?: boolean; + noImplicitReturns?: boolean; + noImplicitThis?: boolean; + noStrictGenericChecks?: boolean; + noUnusedLocals?: boolean; + noUnusedParameters?: boolean; + noImplicitUseStrict?: boolean; + noLib?: boolean; + noResolve?: boolean; + out?: string; + outDir?: string; + outFile?: string; + paths?: MapLike; + preserveConstEnums?: boolean; + preserveSymlinks?: boolean; + project?: string; + reactNamespace?: string; + jsxFactory?: string; + composite?: boolean; + removeComments?: boolean; + rootDir?: string; + rootDirs?: string[]; + skipLibCheck?: boolean; + skipDefaultLibCheck?: boolean; + sourceMap?: boolean; + sourceRoot?: string; + strict?: boolean; + strictFunctionTypes?: boolean; + strictBindCallApply?: boolean; + strictNullChecks?: boolean; + strictPropertyInitialization?: boolean; + stripInternal?: boolean; + suppressExcessPropertyErrors?: boolean; + suppressImplicitAnyIndexErrors?: boolean; + target?: ScriptTarget; + traceResolution?: boolean; + resolveJsonModule?: boolean; + types?: string[]; + /** Paths used to compute primary types search locations */ + typeRoots?: string[]; + esModuleInterop?: boolean; + [option: string]: CompilerOptionsValue | TsConfigSourceFile | undefined; + } + interface TypeAcquisition { + enableAutoDiscovery?: boolean; + enable?: boolean; + include?: string[]; + exclude?: string[]; + [option: string]: string[] | boolean | undefined; + } + enum ModuleKind { + None = 0, + CommonJS = 1, + AMD = 2, + UMD = 3, + System = 4, + ES2015 = 5, + ESNext = 6 + } + enum JsxEmit { + None = 0, + Preserve = 1, + React = 2, + ReactNative = 3 + } + enum NewLineKind { + CarriageReturnLineFeed = 0, + LineFeed = 1 + } + interface LineAndCharacter { + /** 0-based. */ + line: number; + character: number; + } + enum ScriptKind { + Unknown = 0, + JS = 1, + JSX = 2, + TS = 3, + TSX = 4, + External = 5, + JSON = 6, + /** + * Used on extensions that doesn't define the ScriptKind but the content defines it. + * Deferred extensions are going to be included in all project contexts. + */ + Deferred = 7 + } + enum ScriptTarget { + ES3 = 0, + ES5 = 1, + ES2015 = 2, + ES2016 = 3, + ES2017 = 4, + ES2018 = 5, + ESNext = 6, + JSON = 100, + Latest = 6 + } + enum LanguageVariant { + Standard = 0, + JSX = 1 + } + /** Either a parsed command line or a parsed tsconfig.json */ + interface ParsedCommandLine { + options: CompilerOptions; + typeAcquisition?: TypeAcquisition; + fileNames: string[]; + projectReferences?: ReadonlyArray; + raw?: any; + errors: Diagnostic[]; + wildcardDirectories?: MapLike; + compileOnSave?: boolean; + } + enum WatchDirectoryFlags { + None = 0, + Recursive = 1 + } + interface ExpandResult { + fileNames: string[]; + wildcardDirectories: MapLike; + } + interface CreateProgramOptions { + rootNames: ReadonlyArray; + options: CompilerOptions; + projectReferences?: ReadonlyArray; + host?: CompilerHost; + oldProgram?: Program; + configFileParsingDiagnostics?: ReadonlyArray; + } + interface ModuleResolutionHost { + fileExists(fileName: string): boolean; + readFile(fileName: string): string | undefined; + trace?(s: string): void; + directoryExists?(directoryName: string): boolean; + /** + * Resolve a symbolic link. + * @see https://nodejs.org/api/fs.html#fs_fs_realpathsync_path_options + */ + realpath?(path: string): string; + getCurrentDirectory?(): string; + getDirectories?(path: string): string[]; + } + /** + * Represents the result of module resolution. + * Module resolution will pick up tsx/jsx/js files even if '--jsx' and '--allowJs' are turned off. + * The Program will then filter results based on these flags. + * + * Prefer to return a `ResolvedModuleFull` so that the file type does not have to be inferred. + */ + interface ResolvedModule { + /** Path of the file the module was resolved to. */ + resolvedFileName: string; + /** True if `resolvedFileName` comes from `node_modules`. */ + isExternalLibraryImport?: boolean; + } + /** + * ResolvedModule with an explicitly provided `extension` property. + * Prefer this over `ResolvedModule`. + * If changing this, remember to change `moduleResolutionIsEqualTo`. + */ + interface ResolvedModuleFull extends ResolvedModule { + /** + * Extension of resolvedFileName. This must match what's at the end of resolvedFileName. + * This is optional for backwards-compatibility, but will be added if not provided. + */ + extension: Extension; + packageId?: PackageId; + } + /** + * Unique identifier with a package name and version. + * If changing this, remember to change `packageIdIsEqual`. + */ + interface PackageId { + /** + * Name of the package. + * Should not include `@types`. + * If accessing a non-index file, this should include its name e.g. "foo/bar". + */ + name: string; + /** + * Name of a submodule within this package. + * May be "". + */ + subModuleName: string; + /** Version of the package, e.g. "1.2.3" */ + version: string; + } + enum Extension { + Ts = ".ts", + Tsx = ".tsx", + Dts = ".d.ts", + Js = ".js", + Jsx = ".jsx", + Json = ".json" + } + interface ResolvedModuleWithFailedLookupLocations { + readonly resolvedModule: ResolvedModuleFull | undefined; + } + interface ResolvedTypeReferenceDirective { + primary: boolean; + resolvedFileName: string | undefined; + packageId?: PackageId; + /** True if `resolvedFileName` comes from `node_modules`. */ + isExternalLibraryImport?: boolean; + } + interface ResolvedTypeReferenceDirectiveWithFailedLookupLocations { + readonly resolvedTypeReferenceDirective: ResolvedTypeReferenceDirective | undefined; + readonly failedLookupLocations: ReadonlyArray; + } + interface CompilerHost extends ModuleResolutionHost { + getSourceFile(fileName: string, languageVersion: ScriptTarget, onError?: (message: string) => void, shouldCreateNewSourceFile?: boolean): SourceFile | undefined; + getSourceFileByPath?(fileName: string, path: Path, languageVersion: ScriptTarget, onError?: (message: string) => void, shouldCreateNewSourceFile?: boolean): SourceFile | undefined; + getCancellationToken?(): CancellationToken; + getDefaultLibFileName(options: CompilerOptions): string; + getDefaultLibLocation?(): string; + writeFile: WriteFileCallback; + getCurrentDirectory(): string; + getDirectories(path: string): string[]; + getCanonicalFileName(fileName: string): string; + useCaseSensitiveFileNames(): boolean; + getNewLine(): string; + readDirectory?(rootDir: string, extensions: ReadonlyArray, excludes: ReadonlyArray | undefined, includes: ReadonlyArray, depth?: number): string[]; + resolveModuleNames?(moduleNames: string[], containingFile: string, reusedNames?: string[], redirectedReference?: ResolvedProjectReference): (ResolvedModule | undefined)[]; + /** + * This method is a companion for 'resolveModuleNames' and is used to resolve 'types' references to actual type declaration files + */ + resolveTypeReferenceDirectives?(typeReferenceDirectiveNames: string[], containingFile: string, redirectedReference?: ResolvedProjectReference): (ResolvedTypeReferenceDirective | undefined)[]; + getEnvironmentVariable?(name: string): string | undefined; + createHash?(data: string): string; + } + interface SourceMapRange extends TextRange { + source?: SourceMapSource; + } + interface SourceMapSource { + fileName: string; + text: string; + skipTrivia?: (pos: number) => number; + } + enum EmitFlags { + None = 0, + SingleLine = 1, + AdviseOnEmitNode = 2, + NoSubstitution = 4, + CapturesThis = 8, + NoLeadingSourceMap = 16, + NoTrailingSourceMap = 32, + NoSourceMap = 48, + NoNestedSourceMaps = 64, + NoTokenLeadingSourceMaps = 128, + NoTokenTrailingSourceMaps = 256, + NoTokenSourceMaps = 384, + NoLeadingComments = 512, + NoTrailingComments = 1024, + NoComments = 1536, + NoNestedComments = 2048, + HelperName = 4096, + ExportName = 8192, + LocalName = 16384, + InternalName = 32768, + Indented = 65536, + NoIndentation = 131072, + AsyncFunctionBody = 262144, + ReuseTempVariableScope = 524288, + CustomPrologue = 1048576, + NoHoisting = 2097152, + HasEndOfDeclarationMarker = 4194304, + Iterator = 8388608, + NoAsciiEscaping = 16777216 + } + interface EmitHelper { + readonly name: string; + readonly scoped: boolean; + readonly text: string | ((node: EmitHelperUniqueNameCallback) => string); + readonly priority?: number; + } + type EmitHelperUniqueNameCallback = (name: string) => string; + enum EmitHint { + SourceFile = 0, + Expression = 1, + IdentifierName = 2, + MappedTypeParameter = 3, + Unspecified = 4, + EmbeddedStatement = 5 + } + interface TransformationContext { + /** Gets the compiler options supplied to the transformer. */ + getCompilerOptions(): CompilerOptions; + /** Starts a new lexical environment. */ + startLexicalEnvironment(): void; + /** Suspends the current lexical environment, usually after visiting a parameter list. */ + suspendLexicalEnvironment(): void; + /** Resumes a suspended lexical environment, usually before visiting a function body. */ + resumeLexicalEnvironment(): void; + /** Ends a lexical environment, returning any declarations. */ + endLexicalEnvironment(): Statement[] | undefined; + /** Hoists a function declaration to the containing scope. */ + hoistFunctionDeclaration(node: FunctionDeclaration): void; + /** Hoists a variable declaration to the containing scope. */ + hoistVariableDeclaration(node: Identifier): void; + /** Records a request for a non-scoped emit helper in the current context. */ + requestEmitHelper(helper: EmitHelper): void; + /** Gets and resets the requested non-scoped emit helpers. */ + readEmitHelpers(): EmitHelper[] | undefined; + /** Enables expression substitutions in the pretty printer for the provided SyntaxKind. */ + enableSubstitution(kind: SyntaxKind): void; + /** Determines whether expression substitutions are enabled for the provided node. */ + isSubstitutionEnabled(node: Node): boolean; + /** + * Hook used by transformers to substitute expressions just before they + * are emitted by the pretty printer. + * + * NOTE: Transformation hooks should only be modified during `Transformer` initialization, + * before returning the `NodeTransformer` callback. + */ + onSubstituteNode: (hint: EmitHint, node: Node) => Node; + /** + * Enables before/after emit notifications in the pretty printer for the provided + * SyntaxKind. + */ + enableEmitNotification(kind: SyntaxKind): void; + /** + * Determines whether before/after emit notifications should be raised in the pretty + * printer when it emits a node. + */ + isEmitNotificationEnabled(node: Node): boolean; + /** + * Hook used to allow transformers to capture state before or after + * the printer emits a node. + * + * NOTE: Transformation hooks should only be modified during `Transformer` initialization, + * before returning the `NodeTransformer` callback. + */ + onEmitNode: (hint: EmitHint, node: Node, emitCallback: (hint: EmitHint, node: Node) => void) => void; + } + interface TransformationResult { + /** Gets the transformed source files. */ + transformed: T[]; + /** Gets diagnostics for the transformation. */ + diagnostics?: DiagnosticWithLocation[]; + /** + * Gets a substitute for a node, if one is available; otherwise, returns the original node. + * + * @param hint A hint as to the intended usage of the node. + * @param node The node to substitute. + */ + substituteNode(hint: EmitHint, node: Node): Node; + /** + * Emits a node with possible notification. + * + * @param hint A hint as to the intended usage of the node. + * @param node The node to emit. + * @param emitCallback A callback used to emit the node. + */ + emitNodeWithNotification(hint: EmitHint, node: Node, emitCallback: (hint: EmitHint, node: Node) => void): void; + /** + * Clean up EmitNode entries on any parse-tree nodes. + */ + dispose(): void; + } + /** + * A function that is used to initialize and return a `Transformer` callback, which in turn + * will be used to transform one or more nodes. + */ + type TransformerFactory = (context: TransformationContext) => Transformer; + /** + * A function that transforms a node. + */ + type Transformer = (node: T) => T; + /** + * A function that accepts and possibly transforms a node. + */ + type Visitor = (node: Node) => VisitResult; + type VisitResult = T | T[] | undefined; + interface Printer { + /** + * Print a node and its subtree as-is, without any emit transformations. + * @param hint A value indicating the purpose of a node. This is primarily used to + * distinguish between an `Identifier` used in an expression position, versus an + * `Identifier` used as an `IdentifierName` as part of a declaration. For most nodes you + * should just pass `Unspecified`. + * @param node The node to print. The node and its subtree are printed as-is, without any + * emit transformations. + * @param sourceFile A source file that provides context for the node. The source text of + * the file is used to emit the original source content for literals and identifiers, while + * the identifiers of the source file are used when generating unique names to avoid + * collisions. + */ + printNode(hint: EmitHint, node: Node, sourceFile: SourceFile): string; + /** + * Prints a list of nodes using the given format flags + */ + printList(format: ListFormat, list: NodeArray, sourceFile: SourceFile): string; + /** + * Prints a source file as-is, without any emit transformations. + */ + printFile(sourceFile: SourceFile): string; + /** + * Prints a bundle of source files as-is, without any emit transformations. + */ + printBundle(bundle: Bundle): string; + } + interface PrintHandlers { + /** + * A hook used by the Printer when generating unique names to avoid collisions with + * globally defined names that exist outside of the current source file. + */ + hasGlobalName?(name: string): boolean; + /** + * A hook used by the Printer to provide notifications prior to emitting a node. A + * compatible implementation **must** invoke `emitCallback` with the provided `hint` and + * `node` values. + * @param hint A hint indicating the intended purpose of the node. + * @param node The node to emit. + * @param emitCallback A callback that, when invoked, will emit the node. + * @example + * ```ts + * var printer = createPrinter(printerOptions, { + * onEmitNode(hint, node, emitCallback) { + * // set up or track state prior to emitting the node... + * emitCallback(hint, node); + * // restore state after emitting the node... + * } + * }); + * ``` + */ + onEmitNode?(hint: EmitHint, node: Node | undefined, emitCallback: (hint: EmitHint, node: Node | undefined) => void): void; + /** + * A hook used by the Printer to perform just-in-time substitution of a node. This is + * primarily used by node transformations that need to substitute one node for another, + * such as replacing `myExportedVar` with `exports.myExportedVar`. + * @param hint A hint indicating the intended purpose of the node. + * @param node The node to emit. + * @example + * ```ts + * var printer = createPrinter(printerOptions, { + * substituteNode(hint, node) { + * // perform substitution if necessary... + * return node; + * } + * }); + * ``` + */ + substituteNode?(hint: EmitHint, node: Node): Node; + } + interface PrinterOptions { + removeComments?: boolean; + newLine?: NewLineKind; + omitTrailingSemicolon?: boolean; + noEmitHelpers?: boolean; + } + interface GetEffectiveTypeRootsHost { + directoryExists?(directoryName: string): boolean; + getCurrentDirectory?(): string; + } + interface TextSpan { + start: number; + length: number; + } + interface TextChangeRange { + span: TextSpan; + newLength: number; + } + interface SyntaxList extends Node { + _children: Node[]; + } + enum ListFormat { + None = 0, + SingleLine = 0, + MultiLine = 1, + PreserveLines = 2, + LinesMask = 3, + NotDelimited = 0, + BarDelimited = 4, + AmpersandDelimited = 8, + CommaDelimited = 16, + AsteriskDelimited = 32, + DelimitersMask = 60, + AllowTrailingComma = 64, + Indented = 128, + SpaceBetweenBraces = 256, + SpaceBetweenSiblings = 512, + Braces = 1024, + Parenthesis = 2048, + AngleBrackets = 4096, + SquareBrackets = 8192, + BracketsMask = 15360, + OptionalIfUndefined = 16384, + OptionalIfEmpty = 32768, + Optional = 49152, + PreferNewLine = 65536, + NoTrailingNewLine = 131072, + NoInterveningComments = 262144, + NoSpaceIfEmpty = 524288, + SingleElement = 1048576, + Modifiers = 262656, + HeritageClauses = 512, + SingleLineTypeLiteralMembers = 768, + MultiLineTypeLiteralMembers = 32897, + TupleTypeElements = 528, + UnionTypeConstituents = 516, + IntersectionTypeConstituents = 520, + ObjectBindingPatternElements = 525136, + ArrayBindingPatternElements = 524880, + ObjectLiteralExpressionProperties = 526226, + ArrayLiteralExpressionElements = 8914, + CommaListElements = 528, + CallExpressionArguments = 2576, + NewExpressionArguments = 18960, + TemplateExpressionSpans = 262144, + SingleLineBlockStatements = 768, + MultiLineBlockStatements = 129, + VariableDeclarationList = 528, + SingleLineFunctionBodyStatements = 768, + MultiLineFunctionBodyStatements = 1, + ClassHeritageClauses = 0, + ClassMembers = 129, + InterfaceMembers = 129, + EnumMembers = 145, + CaseBlockClauses = 129, + NamedImportsOrExportsElements = 525136, + JsxElementOrFragmentChildren = 262144, + JsxElementAttributes = 262656, + CaseOrDefaultClauseStatements = 163969, + HeritageClauseTypes = 528, + SourceFileStatements = 131073, + Decorators = 49153, + TypeArguments = 53776, + TypeParameters = 53776, + Parameters = 2576, + IndexSignatureParameters = 8848, + JSDocComment = 33 + } + interface UserPreferences { + readonly disableSuggestions?: boolean; + readonly quotePreference?: "double" | "single"; + readonly includeCompletionsForModuleExports?: boolean; + readonly includeCompletionsWithInsertText?: boolean; + readonly importModuleSpecifierPreference?: "relative" | "non-relative"; + /** Determines whether we import `foo/index.ts` as "foo", "foo/index", or "foo/index.js" */ + readonly importModuleSpecifierEnding?: "minimal" | "index" | "js"; + readonly allowTextChangesInNewFiles?: boolean; + } + /** Represents a bigint literal value without requiring bigint support */ + interface PseudoBigInt { + negative: boolean; + base10Value: string; + } +} +declare function setTimeout(handler: (...args: any[]) => void, timeout: number): any; +declare function clearTimeout(handle: any): void; +declare namespace ts { + enum FileWatcherEventKind { + Created = 0, + Changed = 1, + Deleted = 2 + } + type FileWatcherCallback = (fileName: string, eventKind: FileWatcherEventKind) => void; + type DirectoryWatcherCallback = (fileName: string) => void; + interface System { + args: string[]; + newLine: string; + useCaseSensitiveFileNames: boolean; + write(s: string): void; + writeOutputIsTTY?(): boolean; + readFile(path: string, encoding?: string): string | undefined; + getFileSize?(path: string): number; + writeFile(path: string, data: string, writeByteOrderMark?: boolean): void; + /** + * @pollingInterval - this parameter is used in polling-based watchers and ignored in watchers that + * use native OS file watching + */ + watchFile?(path: string, callback: FileWatcherCallback, pollingInterval?: number): FileWatcher; + watchDirectory?(path: string, callback: DirectoryWatcherCallback, recursive?: boolean): FileWatcher; + resolvePath(path: string): string; + fileExists(path: string): boolean; + directoryExists(path: string): boolean; + createDirectory(path: string): void; + getExecutingFilePath(): string; + getCurrentDirectory(): string; + getDirectories(path: string): string[]; + readDirectory(path: string, extensions?: ReadonlyArray, exclude?: ReadonlyArray, include?: ReadonlyArray, depth?: number): string[]; + getModifiedTime?(path: string): Date | undefined; + setModifiedTime?(path: string, time: Date): void; + deleteFile?(path: string): void; + /** + * A good implementation is node.js' `crypto.createHash`. (https://nodejs.org/api/crypto.html#crypto_crypto_createhash_algorithm) + */ + createHash?(data: string): string; + /** This must be cryptographically secure. Only implement this method using `crypto.createHash("sha256")`. */ + createSHA256Hash?(data: string): string; + getMemoryUsage?(): number; + exit(exitCode?: number): void; + realpath?(path: string): string; + setTimeout?(callback: (...args: any[]) => void, ms: number, ...args: any[]): any; + clearTimeout?(timeoutId: any): void; + clearScreen?(): void; + base64decode?(input: string): string; + base64encode?(input: string): string; + } + interface FileWatcher { + close(): void; + } + function getNodeMajorVersion(): number | undefined; + let sys: System; +} +declare namespace ts { + type ErrorCallback = (message: DiagnosticMessage, length: number) => void; + interface Scanner { + getStartPos(): number; + getToken(): SyntaxKind; + getTextPos(): number; + getTokenPos(): number; + getTokenText(): string; + getTokenValue(): string; + hasExtendedUnicodeEscape(): boolean; + hasPrecedingLineBreak(): boolean; + isIdentifier(): boolean; + isReservedWord(): boolean; + isUnterminated(): boolean; + reScanGreaterToken(): SyntaxKind; + reScanSlashToken(): SyntaxKind; + reScanTemplateToken(): SyntaxKind; + scanJsxIdentifier(): SyntaxKind; + scanJsxAttributeValue(): SyntaxKind; + reScanJsxToken(): JsxTokenSyntaxKind; + scanJsxToken(): JsxTokenSyntaxKind; + scanJSDocToken(): JsDocSyntaxKind; + scan(): SyntaxKind; + getText(): string; + setText(text: string | undefined, start?: number, length?: number): void; + setOnError(onError: ErrorCallback | undefined): void; + setScriptTarget(scriptTarget: ScriptTarget): void; + setLanguageVariant(variant: LanguageVariant): void; + setTextPos(textPos: number): void; + lookAhead(callback: () => T): T; + scanRange(start: number, length: number, callback: () => T): T; + tryScan(callback: () => T): T; + } + function tokenToString(t: SyntaxKind): string | undefined; + function getPositionOfLineAndCharacter(sourceFile: SourceFileLike, line: number, character: number): number; + function getLineAndCharacterOfPosition(sourceFile: SourceFileLike, position: number): LineAndCharacter; + function isWhiteSpaceLike(ch: number): boolean; + /** Does not include line breaks. For that, see isWhiteSpaceLike. */ + function isWhiteSpaceSingleLine(ch: number): boolean; + function isLineBreak(ch: number): boolean; + function couldStartTrivia(text: string, pos: number): boolean; + function forEachLeadingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean) => U): U | undefined; + function forEachLeadingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean, state: T) => U, state: T): U | undefined; + function forEachTrailingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean) => U): U | undefined; + function forEachTrailingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean, state: T) => U, state: T): U | undefined; + function reduceEachLeadingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean, state: T, memo: U) => U, state: T, initial: U): U | undefined; + function reduceEachTrailingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean, state: T, memo: U) => U, state: T, initial: U): U | undefined; + function getLeadingCommentRanges(text: string, pos: number): CommentRange[] | undefined; + function getTrailingCommentRanges(text: string, pos: number): CommentRange[] | undefined; + /** Optionally, get the shebang */ + function getShebang(text: string): string | undefined; + function isIdentifierStart(ch: number, languageVersion: ScriptTarget | undefined): boolean; + function isIdentifierPart(ch: number, languageVersion: ScriptTarget | undefined): boolean; + function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean, languageVariant?: LanguageVariant, textInitial?: string, onError?: ErrorCallback, start?: number, length?: number): Scanner; +} +declare namespace ts { + function isExternalModuleNameRelative(moduleName: string): boolean; + function sortAndDeduplicateDiagnostics(diagnostics: ReadonlyArray): SortedReadonlyArray; +} +declare namespace ts { + function getDefaultLibFileName(options: CompilerOptions): string; + function textSpanEnd(span: TextSpan): number; + function textSpanIsEmpty(span: TextSpan): boolean; + function textSpanContainsPosition(span: TextSpan, position: number): boolean; + function textSpanContainsTextSpan(span: TextSpan, other: TextSpan): boolean; + function textSpanOverlapsWith(span: TextSpan, other: TextSpan): boolean; + function textSpanOverlap(span1: TextSpan, span2: TextSpan): TextSpan | undefined; + function textSpanIntersectsWithTextSpan(span: TextSpan, other: TextSpan): boolean; + function textSpanIntersectsWith(span: TextSpan, start: number, length: number): boolean; + function decodedTextSpanIntersectsWith(start1: number, length1: number, start2: number, length2: number): boolean; + function textSpanIntersectsWithPosition(span: TextSpan, position: number): boolean; + function textSpanIntersection(span1: TextSpan, span2: TextSpan): TextSpan | undefined; + function createTextSpan(start: number, length: number): TextSpan; + function createTextSpanFromBounds(start: number, end: number): TextSpan; + function textChangeRangeNewSpan(range: TextChangeRange): TextSpan; + function textChangeRangeIsUnchanged(range: TextChangeRange): boolean; + function createTextChangeRange(span: TextSpan, newLength: number): TextChangeRange; + let unchangedTextChangeRange: TextChangeRange; + /** + * Called to merge all the changes that occurred across several versions of a script snapshot + * into a single change. i.e. if a user keeps making successive edits to a script we will + * have a text change from V1 to V2, V2 to V3, ..., Vn. + * + * This function will then merge those changes into a single change range valid between V1 and + * Vn. + */ + function collapseTextChangeRangesAcrossMultipleVersions(changes: ReadonlyArray): TextChangeRange; + function getTypeParameterOwner(d: Declaration): Declaration | undefined; + type ParameterPropertyDeclaration = ParameterDeclaration & { + parent: ConstructorDeclaration; + name: Identifier; + }; + function isParameterPropertyDeclaration(node: Node): node is ParameterPropertyDeclaration; + function isEmptyBindingPattern(node: BindingName): node is BindingPattern; + function isEmptyBindingElement(node: BindingElement): boolean; + function walkUpBindingElementsAndPatterns(binding: BindingElement): VariableDeclaration | ParameterDeclaration; + function getCombinedModifierFlags(node: Declaration): ModifierFlags; + function getCombinedNodeFlags(node: Node): NodeFlags; + /** + * Checks to see if the locale is in the appropriate format, + * and if it is, attempts to set the appropriate language. + */ + function validateLocaleAndSetLanguage(locale: string, sys: { + getExecutingFilePath(): string; + resolvePath(path: string): string; + fileExists(fileName: string): boolean; + readFile(fileName: string): string | undefined; + }, errors?: Push): void; + function getOriginalNode(node: Node): Node; + function getOriginalNode(node: Node, nodeTest: (node: Node) => node is T): T; + function getOriginalNode(node: Node | undefined): Node | undefined; + function getOriginalNode(node: Node | undefined, nodeTest: (node: Node | undefined) => node is T): T | undefined; + /** + * Gets a value indicating whether a node originated in the parse tree. + * + * @param node The node to test. + */ + function isParseTreeNode(node: Node): boolean; + /** + * Gets the original parse tree node for a node. + * + * @param node The original node. + * @returns The original parse tree node if found; otherwise, undefined. + */ + function getParseTreeNode(node: Node): Node; + /** + * Gets the original parse tree node for a node. + * + * @param node The original node. + * @param nodeTest A callback used to ensure the correct type of parse tree node is returned. + * @returns The original parse tree node if found; otherwise, undefined. + */ + function getParseTreeNode(node: Node | undefined, nodeTest?: (node: Node) => node is T): T | undefined; + /** Add an extra underscore to identifiers that start with two underscores to avoid issues with magic names like '__proto__' */ + function escapeLeadingUnderscores(identifier: string): __String; + /** + * Remove extra underscore from escaped identifier text content. + * + * @param identifier The escaped identifier text. + * @returns The unescaped identifier text. + */ + function unescapeLeadingUnderscores(identifier: __String): string; + function idText(identifier: Identifier): string; + function symbolName(symbol: Symbol): string; + function getNameOfJSDocTypedef(declaration: JSDocTypedefTag): Identifier | undefined; + function getNameOfDeclaration(declaration: Declaration | Expression): DeclarationName | undefined; + /** + * Gets the JSDoc parameter tags for the node if present. + * + * @remarks Returns any JSDoc param tag whose name matches the provided + * parameter, whether a param tag on a containing function + * expression, or a param tag on a variable declaration whose + * initializer is the containing function. The tags closest to the + * node are returned first, so in the previous example, the param + * tag on the containing function expression would be first. + * + * For binding patterns, parameter tags are matched by position. + */ + function getJSDocParameterTags(param: ParameterDeclaration): ReadonlyArray; + /** + * Gets the JSDoc type parameter tags for the node if present. + * + * @remarks Returns any JSDoc template tag whose names match the provided + * parameter, whether a template tag on a containing function + * expression, or a template tag on a variable declaration whose + * initializer is the containing function. The tags closest to the + * node are returned first, so in the previous example, the template + * tag on the containing function expression would be first. + */ + function getJSDocTypeParameterTags(param: TypeParameterDeclaration): ReadonlyArray; + /** + * Return true if the node has JSDoc parameter tags. + * + * @remarks Includes parameter tags that are not directly on the node, + * for example on a variable declaration whose initializer is a function expression. + */ + function hasJSDocParameterTags(node: FunctionLikeDeclaration | SignatureDeclaration): boolean; + /** Gets the JSDoc augments tag for the node if present */ + function getJSDocAugmentsTag(node: Node): JSDocAugmentsTag | undefined; + /** Gets the JSDoc class tag for the node if present */ + function getJSDocClassTag(node: Node): JSDocClassTag | undefined; + /** Gets the JSDoc enum tag for the node if present */ + function getJSDocEnumTag(node: Node): JSDocEnumTag | undefined; + /** Gets the JSDoc this tag for the node if present */ + function getJSDocThisTag(node: Node): JSDocThisTag | undefined; + /** Gets the JSDoc return tag for the node if present */ + function getJSDocReturnTag(node: Node): JSDocReturnTag | undefined; + /** Gets the JSDoc template tag for the node if present */ + function getJSDocTemplateTag(node: Node): JSDocTemplateTag | undefined; + /** Gets the JSDoc type tag for the node if present and valid */ + function getJSDocTypeTag(node: Node): JSDocTypeTag | undefined; + /** + * Gets the type node for the node if provided via JSDoc. + * + * @remarks The search includes any JSDoc param tag that relates + * to the provided parameter, for example a type tag on the + * parameter itself, or a param tag on a containing function + * expression, or a param tag on a variable declaration whose + * initializer is the containing function. The tags closest to the + * node are examined first, so in the previous example, the type + * tag directly on the node would be returned. + */ + function getJSDocType(node: Node): TypeNode | undefined; + /** + * Gets the return type node for the node if provided via JSDoc return tag or type tag. + * + * @remarks `getJSDocReturnTag` just gets the whole JSDoc tag. This function + * gets the type from inside the braces, after the fat arrow, etc. + */ + function getJSDocReturnType(node: Node): TypeNode | undefined; + /** Get all JSDoc tags related to a node, including those on parent nodes. */ + function getJSDocTags(node: Node): ReadonlyArray; + /** Gets all JSDoc tags of a specified kind, or undefined if not present. */ + function getAllJSDocTagsOfKind(node: Node, kind: SyntaxKind): ReadonlyArray; + /** + * Gets the effective type parameters. If the node was parsed in a + * JavaScript file, gets the type parameters from the `@template` tag from JSDoc. + */ + function getEffectiveTypeParameterDeclarations(node: DeclarationWithTypeParameters): ReadonlyArray; + function getEffectiveConstraintOfTypeParameter(node: TypeParameterDeclaration): TypeNode | undefined; +} +declare namespace ts { + function isNumericLiteral(node: Node): node is NumericLiteral; + function isBigIntLiteral(node: Node): node is BigIntLiteral; + function isStringLiteral(node: Node): node is StringLiteral; + function isJsxText(node: Node): node is JsxText; + function isRegularExpressionLiteral(node: Node): node is RegularExpressionLiteral; + function isNoSubstitutionTemplateLiteral(node: Node): node is NoSubstitutionTemplateLiteral; + function isTemplateHead(node: Node): node is TemplateHead; + function isTemplateMiddle(node: Node): node is TemplateMiddle; + function isTemplateTail(node: Node): node is TemplateTail; + function isIdentifier(node: Node): node is Identifier; + function isQualifiedName(node: Node): node is QualifiedName; + function isComputedPropertyName(node: Node): node is ComputedPropertyName; + function isTypeParameterDeclaration(node: Node): node is TypeParameterDeclaration; + function isParameter(node: Node): node is ParameterDeclaration; + function isDecorator(node: Node): node is Decorator; + function isPropertySignature(node: Node): node is PropertySignature; + function isPropertyDeclaration(node: Node): node is PropertyDeclaration; + function isMethodSignature(node: Node): node is MethodSignature; + function isMethodDeclaration(node: Node): node is MethodDeclaration; + function isConstructorDeclaration(node: Node): node is ConstructorDeclaration; + function isGetAccessorDeclaration(node: Node): node is GetAccessorDeclaration; + function isSetAccessorDeclaration(node: Node): node is SetAccessorDeclaration; + function isCallSignatureDeclaration(node: Node): node is CallSignatureDeclaration; + function isConstructSignatureDeclaration(node: Node): node is ConstructSignatureDeclaration; + function isIndexSignatureDeclaration(node: Node): node is IndexSignatureDeclaration; + function isTypePredicateNode(node: Node): node is TypePredicateNode; + function isTypeReferenceNode(node: Node): node is TypeReferenceNode; + function isFunctionTypeNode(node: Node): node is FunctionTypeNode; + function isConstructorTypeNode(node: Node): node is ConstructorTypeNode; + function isTypeQueryNode(node: Node): node is TypeQueryNode; + function isTypeLiteralNode(node: Node): node is TypeLiteralNode; + function isArrayTypeNode(node: Node): node is ArrayTypeNode; + function isTupleTypeNode(node: Node): node is TupleTypeNode; + function isUnionTypeNode(node: Node): node is UnionTypeNode; + function isIntersectionTypeNode(node: Node): node is IntersectionTypeNode; + function isConditionalTypeNode(node: Node): node is ConditionalTypeNode; + function isInferTypeNode(node: Node): node is InferTypeNode; + function isParenthesizedTypeNode(node: Node): node is ParenthesizedTypeNode; + function isThisTypeNode(node: Node): node is ThisTypeNode; + function isTypeOperatorNode(node: Node): node is TypeOperatorNode; + function isIndexedAccessTypeNode(node: Node): node is IndexedAccessTypeNode; + function isMappedTypeNode(node: Node): node is MappedTypeNode; + function isLiteralTypeNode(node: Node): node is LiteralTypeNode; + function isImportTypeNode(node: Node): node is ImportTypeNode; + function isObjectBindingPattern(node: Node): node is ObjectBindingPattern; + function isArrayBindingPattern(node: Node): node is ArrayBindingPattern; + function isBindingElement(node: Node): node is BindingElement; + function isArrayLiteralExpression(node: Node): node is ArrayLiteralExpression; + function isObjectLiteralExpression(node: Node): node is ObjectLiteralExpression; + function isPropertyAccessExpression(node: Node): node is PropertyAccessExpression; + function isElementAccessExpression(node: Node): node is ElementAccessExpression; + function isCallExpression(node: Node): node is CallExpression; + function isNewExpression(node: Node): node is NewExpression; + function isTaggedTemplateExpression(node: Node): node is TaggedTemplateExpression; + function isTypeAssertion(node: Node): node is TypeAssertion; + function isParenthesizedExpression(node: Node): node is ParenthesizedExpression; + function skipPartiallyEmittedExpressions(node: Expression): Expression; + function skipPartiallyEmittedExpressions(node: Node): Node; + function isFunctionExpression(node: Node): node is FunctionExpression; + function isArrowFunction(node: Node): node is ArrowFunction; + function isDeleteExpression(node: Node): node is DeleteExpression; + function isTypeOfExpression(node: Node): node is TypeOfExpression; + function isVoidExpression(node: Node): node is VoidExpression; + function isAwaitExpression(node: Node): node is AwaitExpression; + function isPrefixUnaryExpression(node: Node): node is PrefixUnaryExpression; + function isPostfixUnaryExpression(node: Node): node is PostfixUnaryExpression; + function isBinaryExpression(node: Node): node is BinaryExpression; + function isConditionalExpression(node: Node): node is ConditionalExpression; + function isTemplateExpression(node: Node): node is TemplateExpression; + function isYieldExpression(node: Node): node is YieldExpression; + function isSpreadElement(node: Node): node is SpreadElement; + function isClassExpression(node: Node): node is ClassExpression; + function isOmittedExpression(node: Node): node is OmittedExpression; + function isExpressionWithTypeArguments(node: Node): node is ExpressionWithTypeArguments; + function isAsExpression(node: Node): node is AsExpression; + function isNonNullExpression(node: Node): node is NonNullExpression; + function isMetaProperty(node: Node): node is MetaProperty; + function isTemplateSpan(node: Node): node is TemplateSpan; + function isSemicolonClassElement(node: Node): node is SemicolonClassElement; + function isBlock(node: Node): node is Block; + function isVariableStatement(node: Node): node is VariableStatement; + function isEmptyStatement(node: Node): node is EmptyStatement; + function isExpressionStatement(node: Node): node is ExpressionStatement; + function isIfStatement(node: Node): node is IfStatement; + function isDoStatement(node: Node): node is DoStatement; + function isWhileStatement(node: Node): node is WhileStatement; + function isForStatement(node: Node): node is ForStatement; + function isForInStatement(node: Node): node is ForInStatement; + function isForOfStatement(node: Node): node is ForOfStatement; + function isContinueStatement(node: Node): node is ContinueStatement; + function isBreakStatement(node: Node): node is BreakStatement; + function isBreakOrContinueStatement(node: Node): node is BreakOrContinueStatement; + function isReturnStatement(node: Node): node is ReturnStatement; + function isWithStatement(node: Node): node is WithStatement; + function isSwitchStatement(node: Node): node is SwitchStatement; + function isLabeledStatement(node: Node): node is LabeledStatement; + function isThrowStatement(node: Node): node is ThrowStatement; + function isTryStatement(node: Node): node is TryStatement; + function isDebuggerStatement(node: Node): node is DebuggerStatement; + function isVariableDeclaration(node: Node): node is VariableDeclaration; + function isVariableDeclarationList(node: Node): node is VariableDeclarationList; + function isFunctionDeclaration(node: Node): node is FunctionDeclaration; + function isClassDeclaration(node: Node): node is ClassDeclaration; + function isInterfaceDeclaration(node: Node): node is InterfaceDeclaration; + function isTypeAliasDeclaration(node: Node): node is TypeAliasDeclaration; + function isEnumDeclaration(node: Node): node is EnumDeclaration; + function isModuleDeclaration(node: Node): node is ModuleDeclaration; + function isModuleBlock(node: Node): node is ModuleBlock; + function isCaseBlock(node: Node): node is CaseBlock; + function isNamespaceExportDeclaration(node: Node): node is NamespaceExportDeclaration; + function isImportEqualsDeclaration(node: Node): node is ImportEqualsDeclaration; + function isImportDeclaration(node: Node): node is ImportDeclaration; + function isImportClause(node: Node): node is ImportClause; + function isNamespaceImport(node: Node): node is NamespaceImport; + function isNamedImports(node: Node): node is NamedImports; + function isImportSpecifier(node: Node): node is ImportSpecifier; + function isExportAssignment(node: Node): node is ExportAssignment; + function isExportDeclaration(node: Node): node is ExportDeclaration; + function isNamedExports(node: Node): node is NamedExports; + function isExportSpecifier(node: Node): node is ExportSpecifier; + function isMissingDeclaration(node: Node): node is MissingDeclaration; + function isExternalModuleReference(node: Node): node is ExternalModuleReference; + function isJsxElement(node: Node): node is JsxElement; + function isJsxSelfClosingElement(node: Node): node is JsxSelfClosingElement; + function isJsxOpeningElement(node: Node): node is JsxOpeningElement; + function isJsxClosingElement(node: Node): node is JsxClosingElement; + function isJsxFragment(node: Node): node is JsxFragment; + function isJsxOpeningFragment(node: Node): node is JsxOpeningFragment; + function isJsxClosingFragment(node: Node): node is JsxClosingFragment; + function isJsxAttribute(node: Node): node is JsxAttribute; + function isJsxAttributes(node: Node): node is JsxAttributes; + function isJsxSpreadAttribute(node: Node): node is JsxSpreadAttribute; + function isJsxExpression(node: Node): node is JsxExpression; + function isCaseClause(node: Node): node is CaseClause; + function isDefaultClause(node: Node): node is DefaultClause; + function isHeritageClause(node: Node): node is HeritageClause; + function isCatchClause(node: Node): node is CatchClause; + function isPropertyAssignment(node: Node): node is PropertyAssignment; + function isShorthandPropertyAssignment(node: Node): node is ShorthandPropertyAssignment; + function isSpreadAssignment(node: Node): node is SpreadAssignment; + function isEnumMember(node: Node): node is EnumMember; + function isSourceFile(node: Node): node is SourceFile; + function isBundle(node: Node): node is Bundle; + function isUnparsedSource(node: Node): node is UnparsedSource; + function isJSDocTypeExpression(node: Node): node is JSDocTypeExpression; + function isJSDocAllType(node: JSDocAllType): node is JSDocAllType; + function isJSDocUnknownType(node: Node): node is JSDocUnknownType; + function isJSDocNullableType(node: Node): node is JSDocNullableType; + function isJSDocNonNullableType(node: Node): node is JSDocNonNullableType; + function isJSDocOptionalType(node: Node): node is JSDocOptionalType; + function isJSDocFunctionType(node: Node): node is JSDocFunctionType; + function isJSDocVariadicType(node: Node): node is JSDocVariadicType; + function isJSDoc(node: Node): node is JSDoc; + function isJSDocAugmentsTag(node: Node): node is JSDocAugmentsTag; + function isJSDocClassTag(node: Node): node is JSDocClassTag; + function isJSDocEnumTag(node: Node): node is JSDocEnumTag; + function isJSDocThisTag(node: Node): node is JSDocThisTag; + function isJSDocParameterTag(node: Node): node is JSDocParameterTag; + function isJSDocReturnTag(node: Node): node is JSDocReturnTag; + function isJSDocTypeTag(node: Node): node is JSDocTypeTag; + function isJSDocTemplateTag(node: Node): node is JSDocTemplateTag; + function isJSDocTypedefTag(node: Node): node is JSDocTypedefTag; + function isJSDocPropertyTag(node: Node): node is JSDocPropertyTag; + function isJSDocPropertyLikeTag(node: Node): node is JSDocPropertyLikeTag; + function isJSDocTypeLiteral(node: Node): node is JSDocTypeLiteral; + function isJSDocCallbackTag(node: Node): node is JSDocCallbackTag; + function isJSDocSignature(node: Node): node is JSDocSignature; +} +declare namespace ts { + /** + * True if node is of some token syntax kind. + * For example, this is true for an IfKeyword but not for an IfStatement. + * Literals are considered tokens, except TemplateLiteral, but does include TemplateHead/Middle/Tail. + */ + function isToken(n: Node): boolean; + function isLiteralExpression(node: Node): node is LiteralExpression; + type TemplateLiteralToken = NoSubstitutionTemplateLiteral | TemplateHead | TemplateMiddle | TemplateTail; + function isTemplateLiteralToken(node: Node): node is TemplateLiteralToken; + function isTemplateMiddleOrTemplateTail(node: Node): node is TemplateMiddle | TemplateTail; + function isImportOrExportSpecifier(node: Node): node is ImportSpecifier | ExportSpecifier; + function isStringTextContainingNode(node: Node): node is StringLiteral | TemplateLiteralToken; + function isModifier(node: Node): node is Modifier; + function isEntityName(node: Node): node is EntityName; + function isPropertyName(node: Node): node is PropertyName; + function isBindingName(node: Node): node is BindingName; + function isFunctionLike(node: Node): node is SignatureDeclaration; + function isClassElement(node: Node): node is ClassElement; + function isClassLike(node: Node): node is ClassLikeDeclaration; + function isAccessor(node: Node): node is AccessorDeclaration; + function isTypeElement(node: Node): node is TypeElement; + function isClassOrTypeElement(node: Node): node is ClassElement | TypeElement; + function isObjectLiteralElementLike(node: Node): node is ObjectLiteralElementLike; + /** + * Node test that determines whether a node is a valid type node. + * This differs from the `isPartOfTypeNode` function which determines whether a node is *part* + * of a TypeNode. + */ + function isTypeNode(node: Node): node is TypeNode; + function isFunctionOrConstructorTypeNode(node: Node): node is FunctionTypeNode | ConstructorTypeNode; + function isPropertyAccessOrQualifiedName(node: Node): node is PropertyAccessExpression | QualifiedName; + function isCallLikeExpression(node: Node): node is CallLikeExpression; + function isCallOrNewExpression(node: Node): node is CallExpression | NewExpression; + function isTemplateLiteral(node: Node): node is TemplateLiteral; + function isAssertionExpression(node: Node): node is AssertionExpression; + function isIterationStatement(node: Node, lookInLabeledStatements: false): node is IterationStatement; + function isIterationStatement(node: Node, lookInLabeledStatements: boolean): node is IterationStatement | LabeledStatement; + function isJsxOpeningLikeElement(node: Node): node is JsxOpeningLikeElement; + function isCaseOrDefaultClause(node: Node): node is CaseOrDefaultClause; + /** True if node is of a kind that may contain comment text. */ + function isJSDocCommentContainingNode(node: Node): boolean; + function isSetAccessor(node: Node): node is SetAccessorDeclaration; + function isGetAccessor(node: Node): node is GetAccessorDeclaration; + function isObjectLiteralElement(node: Node): node is ObjectLiteralElement; + function isStringLiteralLike(node: Node): node is StringLiteralLike; +} +declare namespace ts { + function createNode(kind: SyntaxKind, pos?: number, end?: number): Node; + /** + * Invokes a callback for each child of the given node. The 'cbNode' callback is invoked for all child nodes + * stored in properties. If a 'cbNodes' callback is specified, it is invoked for embedded arrays; otherwise, + * embedded arrays are flattened and the 'cbNode' callback is invoked for each element. If a callback returns + * a truthy value, iteration stops and that value is returned. Otherwise, undefined is returned. + * + * @param node a given node to visit its children + * @param cbNode a callback to be invoked for all child nodes + * @param cbNodes a callback to be invoked for embedded array + * + * @remarks `forEachChild` must visit the children of a node in the order + * that they appear in the source code. The language service depends on this property to locate nodes by position. + */ + function forEachChild(node: Node, cbNode: (node: Node) => T | undefined, cbNodes?: (nodes: NodeArray) => T | undefined): T | undefined; + function createSourceFile(fileName: string, sourceText: string, languageVersion: ScriptTarget, setParentNodes?: boolean, scriptKind?: ScriptKind): SourceFile; + function parseIsolatedEntityName(text: string, languageVersion: ScriptTarget): EntityName | undefined; + /** + * Parse json text into SyntaxTree and return node and parse errors if any + * @param fileName + * @param sourceText + */ + function parseJsonText(fileName: string, sourceText: string): JsonSourceFile; + function isExternalModule(file: SourceFile): boolean; + function updateSourceFile(sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange, aggressiveChecks?: boolean): SourceFile; +} +declare namespace ts { + function parseCommandLine(commandLine: ReadonlyArray, readFile?: (path: string) => string | undefined): ParsedCommandLine; + type DiagnosticReporter = (diagnostic: Diagnostic) => void; + /** + * Reports config file diagnostics + */ + interface ConfigFileDiagnosticsReporter { + /** + * Reports unrecoverable error when parsing config file + */ + onUnRecoverableConfigFileDiagnostic: DiagnosticReporter; + } + /** + * Interface extending ParseConfigHost to support ParseConfigFile that reads config file and reports errors + */ + interface ParseConfigFileHost extends ParseConfigHost, ConfigFileDiagnosticsReporter { + getCurrentDirectory(): string; + } + /** + * Reads the config file, reports errors if any and exits if the config file cannot be found + */ + function getParsedCommandLineOfConfigFile(configFileName: string, optionsToExtend: CompilerOptions, host: ParseConfigFileHost): ParsedCommandLine | undefined; + /** + * Read tsconfig.json file + * @param fileName The path to the config file + */ + function readConfigFile(fileName: string, readFile: (path: string) => string | undefined): { + config?: any; + error?: Diagnostic; + }; + /** + * Parse the text of the tsconfig.json file + * @param fileName The path to the config file + * @param jsonText The text of the config file + */ + function parseConfigFileTextToJson(fileName: string, jsonText: string): { + config?: any; + error?: Diagnostic; + }; + /** + * Read tsconfig.json file + * @param fileName The path to the config file + */ + function readJsonConfigFile(fileName: string, readFile: (path: string) => string | undefined): TsConfigSourceFile; + /** + * Convert the json syntax tree into the json value + */ + function convertToObject(sourceFile: JsonSourceFile, errors: Push): any; + /** + * Parse the contents of a config file (tsconfig.json). + * @param json The contents of the config file to parse + * @param host Instance of ParseConfigHost used to enumerate files in folder. + * @param basePath A root directory to resolve relative path entries in the config + * file to. e.g. outDir + */ + function parseJsonConfigFileContent(json: any, host: ParseConfigHost, basePath: string, existingOptions?: CompilerOptions, configFileName?: string, resolutionStack?: Path[], extraFileExtensions?: ReadonlyArray): ParsedCommandLine; + /** + * Parse the contents of a config file (tsconfig.json). + * @param jsonNode The contents of the config file to parse + * @param host Instance of ParseConfigHost used to enumerate files in folder. + * @param basePath A root directory to resolve relative path entries in the config + * file to. e.g. outDir + */ + function parseJsonSourceFileConfigFileContent(sourceFile: TsConfigSourceFile, host: ParseConfigHost, basePath: string, existingOptions?: CompilerOptions, configFileName?: string, resolutionStack?: Path[], extraFileExtensions?: ReadonlyArray): ParsedCommandLine; + function convertCompilerOptionsFromJson(jsonOptions: any, basePath: string, configFileName?: string): { + options: CompilerOptions; + errors: Diagnostic[]; + }; + function convertTypeAcquisitionFromJson(jsonOptions: any, basePath: string, configFileName?: string): { + options: TypeAcquisition; + errors: Diagnostic[]; + }; +} +declare namespace ts { + function getEffectiveTypeRoots(options: CompilerOptions, host: GetEffectiveTypeRootsHost): string[] | undefined; + /** + * @param {string | undefined} containingFile - file that contains type reference directive, can be undefined if containing file is unknown. + * This is possible in case if resolution is performed for directives specified via 'types' parameter. In this case initial path for secondary lookups + * is assumed to be the same as root directory of the project. + */ + function resolveTypeReferenceDirective(typeReferenceDirectiveName: string, containingFile: string | undefined, options: CompilerOptions, host: ModuleResolutionHost, redirectedReference?: ResolvedProjectReference): ResolvedTypeReferenceDirectiveWithFailedLookupLocations; + /** + * Given a set of options, returns the set of type directive names + * that should be included for this program automatically. + * This list could either come from the config file, + * or from enumerating the types root + initial secondary types lookup location. + * More type directives might appear in the program later as a result of loading actual source files; + * this list is only the set of defaults that are implicitly included. + */ + function getAutomaticTypeDirectiveNames(options: CompilerOptions, host: ModuleResolutionHost): string[]; + /** + * Cached module resolutions per containing directory. + * This assumes that any module id will have the same resolution for sibling files located in the same folder. + */ + interface ModuleResolutionCache extends NonRelativeModuleNameResolutionCache { + getOrCreateCacheForDirectory(directoryName: string, redirectedReference?: ResolvedProjectReference): Map; + } + /** + * Stored map from non-relative module name to a table: directory -> result of module lookup in this directory + * We support only non-relative module names because resolution of relative module names is usually more deterministic and thus less expensive. + */ + interface NonRelativeModuleNameResolutionCache { + getOrCreateCacheForModuleName(nonRelativeModuleName: string, redirectedReference?: ResolvedProjectReference): PerModuleNameCache; + } + interface PerModuleNameCache { + get(directory: string): ResolvedModuleWithFailedLookupLocations | undefined; + set(directory: string, result: ResolvedModuleWithFailedLookupLocations): void; + } + function createModuleResolutionCache(currentDirectory: string, getCanonicalFileName: (s: string) => string): ModuleResolutionCache; + function resolveModuleNameFromCache(moduleName: string, containingFile: string, cache: ModuleResolutionCache): ResolvedModuleWithFailedLookupLocations | undefined; + function resolveModuleName(moduleName: string, containingFile: string, compilerOptions: CompilerOptions, host: ModuleResolutionHost, cache?: ModuleResolutionCache, redirectedReference?: ResolvedProjectReference): ResolvedModuleWithFailedLookupLocations; + function nodeModuleNameResolver(moduleName: string, containingFile: string, compilerOptions: CompilerOptions, host: ModuleResolutionHost, cache?: ModuleResolutionCache, redirectedReference?: ResolvedProjectReference): ResolvedModuleWithFailedLookupLocations; + function classicNameResolver(moduleName: string, containingFile: string, compilerOptions: CompilerOptions, host: ModuleResolutionHost, cache?: NonRelativeModuleNameResolutionCache, redirectedReference?: ResolvedProjectReference): ResolvedModuleWithFailedLookupLocations; +} +declare namespace ts { + function createNodeArray(elements?: ReadonlyArray, hasTrailingComma?: boolean): NodeArray; + /** If a node is passed, creates a string literal whose source text is read from a source node during emit. */ + function createLiteral(value: string | StringLiteral | NoSubstitutionTemplateLiteral | NumericLiteral | Identifier): StringLiteral; + function createLiteral(value: number | PseudoBigInt): NumericLiteral; + function createLiteral(value: boolean): BooleanLiteral; + function createLiteral(value: string | number | PseudoBigInt | boolean): PrimaryExpression; + function createNumericLiteral(value: string): NumericLiteral; + function createBigIntLiteral(value: string): BigIntLiteral; + function createStringLiteral(text: string): StringLiteral; + function createRegularExpressionLiteral(text: string): RegularExpressionLiteral; + function createIdentifier(text: string): Identifier; + function updateIdentifier(node: Identifier): Identifier; + /** Create a unique temporary variable. */ + function createTempVariable(recordTempVariable: ((node: Identifier) => void) | undefined): Identifier; + /** Create a unique temporary variable for use in a loop. */ + function createLoopVariable(): Identifier; + /** Create a unique name based on the supplied text. */ + function createUniqueName(text: string): Identifier; + /** Create a unique name based on the supplied text. */ + function createOptimisticUniqueName(text: string): Identifier; + /** Create a unique name based on the supplied text. This does not consider names injected by the transformer. */ + function createFileLevelUniqueName(text: string): Identifier; + /** Create a unique name generated for a node. */ + function getGeneratedNameForNode(node: Node | undefined): Identifier; + function createToken(token: TKind): Token; + function createSuper(): SuperExpression; + function createThis(): ThisExpression & Token; + function createNull(): NullLiteral & Token; + function createTrue(): BooleanLiteral & Token; + function createFalse(): BooleanLiteral & Token; + function createModifier(kind: T): Token; + function createModifiersFromModifierFlags(flags: ModifierFlags): Modifier[]; + function createQualifiedName(left: EntityName, right: string | Identifier): QualifiedName; + function updateQualifiedName(node: QualifiedName, left: EntityName, right: Identifier): QualifiedName; + function createComputedPropertyName(expression: Expression): ComputedPropertyName; + function updateComputedPropertyName(node: ComputedPropertyName, expression: Expression): ComputedPropertyName; + function createTypeParameterDeclaration(name: string | Identifier, constraint?: TypeNode, defaultType?: TypeNode): TypeParameterDeclaration; + function updateTypeParameterDeclaration(node: TypeParameterDeclaration, name: Identifier, constraint: TypeNode | undefined, defaultType: TypeNode | undefined): TypeParameterDeclaration; + function createParameter(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, dotDotDotToken: DotDotDotToken | undefined, name: string | BindingName, questionToken?: QuestionToken, type?: TypeNode, initializer?: Expression): ParameterDeclaration; + function updateParameter(node: ParameterDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, dotDotDotToken: DotDotDotToken | undefined, name: string | BindingName, questionToken: QuestionToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): ParameterDeclaration; + function createDecorator(expression: Expression): Decorator; + function updateDecorator(node: Decorator, expression: Expression): Decorator; + function createPropertySignature(modifiers: ReadonlyArray | undefined, name: PropertyName | string, questionToken: QuestionToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertySignature; + function updatePropertySignature(node: PropertySignature, modifiers: ReadonlyArray | undefined, name: PropertyName, questionToken: QuestionToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertySignature; + function createProperty(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | PropertyName, questionOrExclamationToken: QuestionToken | ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertyDeclaration; + function updateProperty(node: PropertyDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | PropertyName, questionOrExclamationToken: QuestionToken | ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertyDeclaration; + function createMethodSignature(typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, name: string | PropertyName, questionToken: QuestionToken | undefined): MethodSignature; + function updateMethodSignature(node: MethodSignature, typeParameters: NodeArray | undefined, parameters: NodeArray, type: TypeNode | undefined, name: PropertyName, questionToken: QuestionToken | undefined): MethodSignature; + function createMethod(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, asteriskToken: AsteriskToken | undefined, name: string | PropertyName, questionToken: QuestionToken | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, body: Block | undefined): MethodDeclaration; + function updateMethod(node: MethodDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, asteriskToken: AsteriskToken | undefined, name: PropertyName, questionToken: QuestionToken | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, body: Block | undefined): MethodDeclaration; + function createConstructor(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, parameters: ReadonlyArray, body: Block | undefined): ConstructorDeclaration; + function updateConstructor(node: ConstructorDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, parameters: ReadonlyArray, body: Block | undefined): ConstructorDeclaration; + function createGetAccessor(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | PropertyName, parameters: ReadonlyArray, type: TypeNode | undefined, body: Block | undefined): GetAccessorDeclaration; + function updateGetAccessor(node: GetAccessorDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: PropertyName, parameters: ReadonlyArray, type: TypeNode | undefined, body: Block | undefined): GetAccessorDeclaration; + function createSetAccessor(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | PropertyName, parameters: ReadonlyArray, body: Block | undefined): SetAccessorDeclaration; + function updateSetAccessor(node: SetAccessorDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: PropertyName, parameters: ReadonlyArray, body: Block | undefined): SetAccessorDeclaration; + function createCallSignature(typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined): CallSignatureDeclaration; + function updateCallSignature(node: CallSignatureDeclaration, typeParameters: NodeArray | undefined, parameters: NodeArray, type: TypeNode | undefined): CallSignatureDeclaration; + function createConstructSignature(typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined): ConstructSignatureDeclaration; + function updateConstructSignature(node: ConstructSignatureDeclaration, typeParameters: NodeArray | undefined, parameters: NodeArray, type: TypeNode | undefined): ConstructSignatureDeclaration; + function createIndexSignature(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode): IndexSignatureDeclaration; + function updateIndexSignature(node: IndexSignatureDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode): IndexSignatureDeclaration; + function createKeywordTypeNode(kind: KeywordTypeNode["kind"]): KeywordTypeNode; + function createTypePredicateNode(parameterName: Identifier | ThisTypeNode | string, type: TypeNode): TypePredicateNode; + function updateTypePredicateNode(node: TypePredicateNode, parameterName: Identifier | ThisTypeNode, type: TypeNode): TypePredicateNode; + function createTypeReferenceNode(typeName: string | EntityName, typeArguments: ReadonlyArray | undefined): TypeReferenceNode; + function updateTypeReferenceNode(node: TypeReferenceNode, typeName: EntityName, typeArguments: NodeArray | undefined): TypeReferenceNode; + function createFunctionTypeNode(typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined): FunctionTypeNode; + function updateFunctionTypeNode(node: FunctionTypeNode, typeParameters: NodeArray | undefined, parameters: NodeArray, type: TypeNode | undefined): FunctionTypeNode; + function createConstructorTypeNode(typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined): ConstructorTypeNode; + function updateConstructorTypeNode(node: ConstructorTypeNode, typeParameters: NodeArray | undefined, parameters: NodeArray, type: TypeNode | undefined): ConstructorTypeNode; + function createTypeQueryNode(exprName: EntityName): TypeQueryNode; + function updateTypeQueryNode(node: TypeQueryNode, exprName: EntityName): TypeQueryNode; + function createTypeLiteralNode(members: ReadonlyArray | undefined): TypeLiteralNode; + function updateTypeLiteralNode(node: TypeLiteralNode, members: NodeArray): TypeLiteralNode; + function createArrayTypeNode(elementType: TypeNode): ArrayTypeNode; + function updateArrayTypeNode(node: ArrayTypeNode, elementType: TypeNode): ArrayTypeNode; + function createTupleTypeNode(elementTypes: ReadonlyArray): TupleTypeNode; + function updateTupleTypeNode(node: TupleTypeNode, elementTypes: ReadonlyArray): TupleTypeNode; + function createOptionalTypeNode(type: TypeNode): OptionalTypeNode; + function updateOptionalTypeNode(node: OptionalTypeNode, type: TypeNode): OptionalTypeNode; + function createRestTypeNode(type: TypeNode): RestTypeNode; + function updateRestTypeNode(node: RestTypeNode, type: TypeNode): RestTypeNode; + function createUnionTypeNode(types: ReadonlyArray): UnionTypeNode; + function updateUnionTypeNode(node: UnionTypeNode, types: NodeArray): UnionTypeNode; + function createIntersectionTypeNode(types: ReadonlyArray): IntersectionTypeNode; + function updateIntersectionTypeNode(node: IntersectionTypeNode, types: NodeArray): IntersectionTypeNode; + function createUnionOrIntersectionTypeNode(kind: SyntaxKind.UnionType | SyntaxKind.IntersectionType, types: ReadonlyArray): UnionOrIntersectionTypeNode; + function createConditionalTypeNode(checkType: TypeNode, extendsType: TypeNode, trueType: TypeNode, falseType: TypeNode): ConditionalTypeNode; + function updateConditionalTypeNode(node: ConditionalTypeNode, checkType: TypeNode, extendsType: TypeNode, trueType: TypeNode, falseType: TypeNode): ConditionalTypeNode; + function createInferTypeNode(typeParameter: TypeParameterDeclaration): InferTypeNode; + function updateInferTypeNode(node: InferTypeNode, typeParameter: TypeParameterDeclaration): InferTypeNode; + function createImportTypeNode(argument: TypeNode, qualifier?: EntityName, typeArguments?: ReadonlyArray, isTypeOf?: boolean): ImportTypeNode; + function updateImportTypeNode(node: ImportTypeNode, argument: TypeNode, qualifier?: EntityName, typeArguments?: ReadonlyArray, isTypeOf?: boolean): ImportTypeNode; + function createParenthesizedType(type: TypeNode): ParenthesizedTypeNode; + function updateParenthesizedType(node: ParenthesizedTypeNode, type: TypeNode): ParenthesizedTypeNode; + function createThisTypeNode(): ThisTypeNode; + function createTypeOperatorNode(type: TypeNode): TypeOperatorNode; + function createTypeOperatorNode(operator: SyntaxKind.KeyOfKeyword | SyntaxKind.UniqueKeyword, type: TypeNode): TypeOperatorNode; + function updateTypeOperatorNode(node: TypeOperatorNode, type: TypeNode): TypeOperatorNode; + function createIndexedAccessTypeNode(objectType: TypeNode, indexType: TypeNode): IndexedAccessTypeNode; + function updateIndexedAccessTypeNode(node: IndexedAccessTypeNode, objectType: TypeNode, indexType: TypeNode): IndexedAccessTypeNode; + function createMappedTypeNode(readonlyToken: ReadonlyToken | PlusToken | MinusToken | undefined, typeParameter: TypeParameterDeclaration, questionToken: QuestionToken | PlusToken | MinusToken | undefined, type: TypeNode | undefined): MappedTypeNode; + function updateMappedTypeNode(node: MappedTypeNode, readonlyToken: ReadonlyToken | PlusToken | MinusToken | undefined, typeParameter: TypeParameterDeclaration, questionToken: QuestionToken | PlusToken | MinusToken | undefined, type: TypeNode | undefined): MappedTypeNode; + function createLiteralTypeNode(literal: LiteralTypeNode["literal"]): LiteralTypeNode; + function updateLiteralTypeNode(node: LiteralTypeNode, literal: LiteralTypeNode["literal"]): LiteralTypeNode; + function createObjectBindingPattern(elements: ReadonlyArray): ObjectBindingPattern; + function updateObjectBindingPattern(node: ObjectBindingPattern, elements: ReadonlyArray): ObjectBindingPattern; + function createArrayBindingPattern(elements: ReadonlyArray): ArrayBindingPattern; + function updateArrayBindingPattern(node: ArrayBindingPattern, elements: ReadonlyArray): ArrayBindingPattern; + function createBindingElement(dotDotDotToken: DotDotDotToken | undefined, propertyName: string | PropertyName | undefined, name: string | BindingName, initializer?: Expression): BindingElement; + function updateBindingElement(node: BindingElement, dotDotDotToken: DotDotDotToken | undefined, propertyName: PropertyName | undefined, name: BindingName, initializer: Expression | undefined): BindingElement; + function createArrayLiteral(elements?: ReadonlyArray, multiLine?: boolean): ArrayLiteralExpression; + function updateArrayLiteral(node: ArrayLiteralExpression, elements: ReadonlyArray): ArrayLiteralExpression; + function createObjectLiteral(properties?: ReadonlyArray, multiLine?: boolean): ObjectLiteralExpression; + function updateObjectLiteral(node: ObjectLiteralExpression, properties: ReadonlyArray): ObjectLiteralExpression; + function createPropertyAccess(expression: Expression, name: string | Identifier | undefined): PropertyAccessExpression; + function updatePropertyAccess(node: PropertyAccessExpression, expression: Expression, name: Identifier): PropertyAccessExpression; + function createElementAccess(expression: Expression, index: number | Expression): ElementAccessExpression; + function updateElementAccess(node: ElementAccessExpression, expression: Expression, argumentExpression: Expression): ElementAccessExpression; + function createCall(expression: Expression, typeArguments: ReadonlyArray | undefined, argumentsArray: ReadonlyArray | undefined): CallExpression; + function updateCall(node: CallExpression, expression: Expression, typeArguments: ReadonlyArray | undefined, argumentsArray: ReadonlyArray): CallExpression; + function createNew(expression: Expression, typeArguments: ReadonlyArray | undefined, argumentsArray: ReadonlyArray | undefined): NewExpression; + function updateNew(node: NewExpression, expression: Expression, typeArguments: ReadonlyArray | undefined, argumentsArray: ReadonlyArray | undefined): NewExpression; + /** @deprecated */ function createTaggedTemplate(tag: Expression, template: TemplateLiteral): TaggedTemplateExpression; + function createTaggedTemplate(tag: Expression, typeArguments: ReadonlyArray | undefined, template: TemplateLiteral): TaggedTemplateExpression; + /** @deprecated */ function updateTaggedTemplate(node: TaggedTemplateExpression, tag: Expression, template: TemplateLiteral): TaggedTemplateExpression; + function updateTaggedTemplate(node: TaggedTemplateExpression, tag: Expression, typeArguments: ReadonlyArray | undefined, template: TemplateLiteral): TaggedTemplateExpression; + function createTypeAssertion(type: TypeNode, expression: Expression): TypeAssertion; + function updateTypeAssertion(node: TypeAssertion, type: TypeNode, expression: Expression): TypeAssertion; + function createParen(expression: Expression): ParenthesizedExpression; + function updateParen(node: ParenthesizedExpression, expression: Expression): ParenthesizedExpression; + function createFunctionExpression(modifiers: ReadonlyArray | undefined, asteriskToken: AsteriskToken | undefined, name: string | Identifier | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray | undefined, type: TypeNode | undefined, body: Block): FunctionExpression; + function updateFunctionExpression(node: FunctionExpression, modifiers: ReadonlyArray | undefined, asteriskToken: AsteriskToken | undefined, name: Identifier | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, body: Block): FunctionExpression; + function createArrowFunction(modifiers: ReadonlyArray | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, equalsGreaterThanToken: EqualsGreaterThanToken | undefined, body: ConciseBody): ArrowFunction; + function updateArrowFunction(node: ArrowFunction, modifiers: ReadonlyArray | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, equalsGreaterThanToken: Token, body: ConciseBody): ArrowFunction; + function createDelete(expression: Expression): DeleteExpression; + function updateDelete(node: DeleteExpression, expression: Expression): DeleteExpression; + function createTypeOf(expression: Expression): TypeOfExpression; + function updateTypeOf(node: TypeOfExpression, expression: Expression): TypeOfExpression; + function createVoid(expression: Expression): VoidExpression; + function updateVoid(node: VoidExpression, expression: Expression): VoidExpression; + function createAwait(expression: Expression): AwaitExpression; + function updateAwait(node: AwaitExpression, expression: Expression): AwaitExpression; + function createPrefix(operator: PrefixUnaryOperator, operand: Expression): PrefixUnaryExpression; + function updatePrefix(node: PrefixUnaryExpression, operand: Expression): PrefixUnaryExpression; + function createPostfix(operand: Expression, operator: PostfixUnaryOperator): PostfixUnaryExpression; + function updatePostfix(node: PostfixUnaryExpression, operand: Expression): PostfixUnaryExpression; + function createBinary(left: Expression, operator: BinaryOperator | BinaryOperatorToken, right: Expression): BinaryExpression; + function updateBinary(node: BinaryExpression, left: Expression, right: Expression, operator?: BinaryOperator | BinaryOperatorToken): BinaryExpression; + /** @deprecated */ function createConditional(condition: Expression, whenTrue: Expression, whenFalse: Expression): ConditionalExpression; + function createConditional(condition: Expression, questionToken: QuestionToken, whenTrue: Expression, colonToken: ColonToken, whenFalse: Expression): ConditionalExpression; + function updateConditional(node: ConditionalExpression, condition: Expression, questionToken: Token, whenTrue: Expression, colonToken: Token, whenFalse: Expression): ConditionalExpression; + function createTemplateExpression(head: TemplateHead, templateSpans: ReadonlyArray): TemplateExpression; + function updateTemplateExpression(node: TemplateExpression, head: TemplateHead, templateSpans: ReadonlyArray): TemplateExpression; + function createTemplateHead(text: string): TemplateHead; + function createTemplateMiddle(text: string): TemplateMiddle; + function createTemplateTail(text: string): TemplateTail; + function createNoSubstitutionTemplateLiteral(text: string): NoSubstitutionTemplateLiteral; + function createYield(expression?: Expression): YieldExpression; + function createYield(asteriskToken: AsteriskToken | undefined, expression: Expression): YieldExpression; + function updateYield(node: YieldExpression, asteriskToken: AsteriskToken | undefined, expression: Expression): YieldExpression; + function createSpread(expression: Expression): SpreadElement; + function updateSpread(node: SpreadElement, expression: Expression): SpreadElement; + function createClassExpression(modifiers: ReadonlyArray | undefined, name: string | Identifier | undefined, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray | undefined, members: ReadonlyArray): ClassExpression; + function updateClassExpression(node: ClassExpression, modifiers: ReadonlyArray | undefined, name: Identifier | undefined, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray | undefined, members: ReadonlyArray): ClassExpression; + function createOmittedExpression(): OmittedExpression; + function createExpressionWithTypeArguments(typeArguments: ReadonlyArray | undefined, expression: Expression): ExpressionWithTypeArguments; + function updateExpressionWithTypeArguments(node: ExpressionWithTypeArguments, typeArguments: ReadonlyArray | undefined, expression: Expression): ExpressionWithTypeArguments; + function createAsExpression(expression: Expression, type: TypeNode): AsExpression; + function updateAsExpression(node: AsExpression, expression: Expression, type: TypeNode): AsExpression; + function createNonNullExpression(expression: Expression): NonNullExpression; + function updateNonNullExpression(node: NonNullExpression, expression: Expression): NonNullExpression; + function createMetaProperty(keywordToken: MetaProperty["keywordToken"], name: Identifier): MetaProperty; + function updateMetaProperty(node: MetaProperty, name: Identifier): MetaProperty; + function createTemplateSpan(expression: Expression, literal: TemplateMiddle | TemplateTail): TemplateSpan; + function updateTemplateSpan(node: TemplateSpan, expression: Expression, literal: TemplateMiddle | TemplateTail): TemplateSpan; + function createSemicolonClassElement(): SemicolonClassElement; + function createBlock(statements: ReadonlyArray, multiLine?: boolean): Block; + function updateBlock(node: Block, statements: ReadonlyArray): Block; + function createVariableStatement(modifiers: ReadonlyArray | undefined, declarationList: VariableDeclarationList | ReadonlyArray): VariableStatement; + function updateVariableStatement(node: VariableStatement, modifiers: ReadonlyArray | undefined, declarationList: VariableDeclarationList): VariableStatement; + function createEmptyStatement(): EmptyStatement; + function createExpressionStatement(expression: Expression): ExpressionStatement; + function updateExpressionStatement(node: ExpressionStatement, expression: Expression): ExpressionStatement; + /** @deprecated Use `createExpressionStatement` instead. */ + const createStatement: typeof createExpressionStatement; + /** @deprecated Use `updateExpressionStatement` instead. */ + const updateStatement: typeof updateExpressionStatement; + function createIf(expression: Expression, thenStatement: Statement, elseStatement?: Statement): IfStatement; + function updateIf(node: IfStatement, expression: Expression, thenStatement: Statement, elseStatement: Statement | undefined): IfStatement; + function createDo(statement: Statement, expression: Expression): DoStatement; + function updateDo(node: DoStatement, statement: Statement, expression: Expression): DoStatement; + function createWhile(expression: Expression, statement: Statement): WhileStatement; + function updateWhile(node: WhileStatement, expression: Expression, statement: Statement): WhileStatement; + function createFor(initializer: ForInitializer | undefined, condition: Expression | undefined, incrementor: Expression | undefined, statement: Statement): ForStatement; + function updateFor(node: ForStatement, initializer: ForInitializer | undefined, condition: Expression | undefined, incrementor: Expression | undefined, statement: Statement): ForStatement; + function createForIn(initializer: ForInitializer, expression: Expression, statement: Statement): ForInStatement; + function updateForIn(node: ForInStatement, initializer: ForInitializer, expression: Expression, statement: Statement): ForInStatement; + function createForOf(awaitModifier: AwaitKeywordToken | undefined, initializer: ForInitializer, expression: Expression, statement: Statement): ForOfStatement; + function updateForOf(node: ForOfStatement, awaitModifier: AwaitKeywordToken | undefined, initializer: ForInitializer, expression: Expression, statement: Statement): ForOfStatement; + function createContinue(label?: string | Identifier): ContinueStatement; + function updateContinue(node: ContinueStatement, label: Identifier | undefined): ContinueStatement; + function createBreak(label?: string | Identifier): BreakStatement; + function updateBreak(node: BreakStatement, label: Identifier | undefined): BreakStatement; + function createReturn(expression?: Expression): ReturnStatement; + function updateReturn(node: ReturnStatement, expression: Expression | undefined): ReturnStatement; + function createWith(expression: Expression, statement: Statement): WithStatement; + function updateWith(node: WithStatement, expression: Expression, statement: Statement): WithStatement; + function createSwitch(expression: Expression, caseBlock: CaseBlock): SwitchStatement; + function updateSwitch(node: SwitchStatement, expression: Expression, caseBlock: CaseBlock): SwitchStatement; + function createLabel(label: string | Identifier, statement: Statement): LabeledStatement; + function updateLabel(node: LabeledStatement, label: Identifier, statement: Statement): LabeledStatement; + function createThrow(expression: Expression): ThrowStatement; + function updateThrow(node: ThrowStatement, expression: Expression): ThrowStatement; + function createTry(tryBlock: Block, catchClause: CatchClause | undefined, finallyBlock: Block | undefined): TryStatement; + function updateTry(node: TryStatement, tryBlock: Block, catchClause: CatchClause | undefined, finallyBlock: Block | undefined): TryStatement; + function createDebuggerStatement(): DebuggerStatement; + function createVariableDeclaration(name: string | BindingName, type?: TypeNode, initializer?: Expression): VariableDeclaration; + function updateVariableDeclaration(node: VariableDeclaration, name: BindingName, type: TypeNode | undefined, initializer: Expression | undefined): VariableDeclaration; + function createVariableDeclarationList(declarations: ReadonlyArray, flags?: NodeFlags): VariableDeclarationList; + function updateVariableDeclarationList(node: VariableDeclarationList, declarations: ReadonlyArray): VariableDeclarationList; + function createFunctionDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, asteriskToken: AsteriskToken | undefined, name: string | Identifier | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, body: Block | undefined): FunctionDeclaration; + function updateFunctionDeclaration(node: FunctionDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, asteriskToken: AsteriskToken | undefined, name: Identifier | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, body: Block | undefined): FunctionDeclaration; + function createClassDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | Identifier | undefined, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray | undefined, members: ReadonlyArray): ClassDeclaration; + function updateClassDeclaration(node: ClassDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: Identifier | undefined, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray | undefined, members: ReadonlyArray): ClassDeclaration; + function createInterfaceDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | Identifier, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray | undefined, members: ReadonlyArray): InterfaceDeclaration; + function updateInterfaceDeclaration(node: InterfaceDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: Identifier, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray | undefined, members: ReadonlyArray): InterfaceDeclaration; + function createTypeAliasDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | Identifier, typeParameters: ReadonlyArray | undefined, type: TypeNode): TypeAliasDeclaration; + function updateTypeAliasDeclaration(node: TypeAliasDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: Identifier, typeParameters: ReadonlyArray | undefined, type: TypeNode): TypeAliasDeclaration; + function createEnumDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | Identifier, members: ReadonlyArray): EnumDeclaration; + function updateEnumDeclaration(node: EnumDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: Identifier, members: ReadonlyArray): EnumDeclaration; + function createModuleDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: ModuleName, body: ModuleBody | undefined, flags?: NodeFlags): ModuleDeclaration; + function updateModuleDeclaration(node: ModuleDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: ModuleName, body: ModuleBody | undefined): ModuleDeclaration; + function createModuleBlock(statements: ReadonlyArray): ModuleBlock; + function updateModuleBlock(node: ModuleBlock, statements: ReadonlyArray): ModuleBlock; + function createCaseBlock(clauses: ReadonlyArray): CaseBlock; + function updateCaseBlock(node: CaseBlock, clauses: ReadonlyArray): CaseBlock; + function createNamespaceExportDeclaration(name: string | Identifier): NamespaceExportDeclaration; + function updateNamespaceExportDeclaration(node: NamespaceExportDeclaration, name: Identifier): NamespaceExportDeclaration; + function createImportEqualsDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration; + function updateImportEqualsDeclaration(node: ImportEqualsDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration; + function createImportDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression): ImportDeclaration; + function updateImportDeclaration(node: ImportDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression): ImportDeclaration; + function createImportClause(name: Identifier | undefined, namedBindings: NamedImportBindings | undefined): ImportClause; + function updateImportClause(node: ImportClause, name: Identifier | undefined, namedBindings: NamedImportBindings | undefined): ImportClause; + function createNamespaceImport(name: Identifier): NamespaceImport; + function updateNamespaceImport(node: NamespaceImport, name: Identifier): NamespaceImport; + function createNamedImports(elements: ReadonlyArray): NamedImports; + function updateNamedImports(node: NamedImports, elements: ReadonlyArray): NamedImports; + function createImportSpecifier(propertyName: Identifier | undefined, name: Identifier): ImportSpecifier; + function updateImportSpecifier(node: ImportSpecifier, propertyName: Identifier | undefined, name: Identifier): ImportSpecifier; + function createExportAssignment(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, isExportEquals: boolean | undefined, expression: Expression): ExportAssignment; + function updateExportAssignment(node: ExportAssignment, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, expression: Expression): ExportAssignment; + function createExportDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, exportClause: NamedExports | undefined, moduleSpecifier?: Expression): ExportDeclaration; + function updateExportDeclaration(node: ExportDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, exportClause: NamedExports | undefined, moduleSpecifier: Expression | undefined): ExportDeclaration; + function createNamedExports(elements: ReadonlyArray): NamedExports; + function updateNamedExports(node: NamedExports, elements: ReadonlyArray): NamedExports; + function createExportSpecifier(propertyName: string | Identifier | undefined, name: string | Identifier): ExportSpecifier; + function updateExportSpecifier(node: ExportSpecifier, propertyName: Identifier | undefined, name: Identifier): ExportSpecifier; + function createExternalModuleReference(expression: Expression): ExternalModuleReference; + function updateExternalModuleReference(node: ExternalModuleReference, expression: Expression): ExternalModuleReference; + function createJsxElement(openingElement: JsxOpeningElement, children: ReadonlyArray, closingElement: JsxClosingElement): JsxElement; + function updateJsxElement(node: JsxElement, openingElement: JsxOpeningElement, children: ReadonlyArray, closingElement: JsxClosingElement): JsxElement; + function createJsxSelfClosingElement(tagName: JsxTagNameExpression, typeArguments: ReadonlyArray | undefined, attributes: JsxAttributes): JsxSelfClosingElement; + function updateJsxSelfClosingElement(node: JsxSelfClosingElement, tagName: JsxTagNameExpression, typeArguments: ReadonlyArray | undefined, attributes: JsxAttributes): JsxSelfClosingElement; + function createJsxOpeningElement(tagName: JsxTagNameExpression, typeArguments: ReadonlyArray | undefined, attributes: JsxAttributes): JsxOpeningElement; + function updateJsxOpeningElement(node: JsxOpeningElement, tagName: JsxTagNameExpression, typeArguments: ReadonlyArray | undefined, attributes: JsxAttributes): JsxOpeningElement; + function createJsxClosingElement(tagName: JsxTagNameExpression): JsxClosingElement; + function updateJsxClosingElement(node: JsxClosingElement, tagName: JsxTagNameExpression): JsxClosingElement; + function createJsxFragment(openingFragment: JsxOpeningFragment, children: ReadonlyArray, closingFragment: JsxClosingFragment): JsxFragment; + function updateJsxFragment(node: JsxFragment, openingFragment: JsxOpeningFragment, children: ReadonlyArray, closingFragment: JsxClosingFragment): JsxFragment; + function createJsxAttribute(name: Identifier, initializer: StringLiteral | JsxExpression): JsxAttribute; + function updateJsxAttribute(node: JsxAttribute, name: Identifier, initializer: StringLiteral | JsxExpression): JsxAttribute; + function createJsxAttributes(properties: ReadonlyArray): JsxAttributes; + function updateJsxAttributes(node: JsxAttributes, properties: ReadonlyArray): JsxAttributes; + function createJsxSpreadAttribute(expression: Expression): JsxSpreadAttribute; + function updateJsxSpreadAttribute(node: JsxSpreadAttribute, expression: Expression): JsxSpreadAttribute; + function createJsxExpression(dotDotDotToken: DotDotDotToken | undefined, expression: Expression | undefined): JsxExpression; + function updateJsxExpression(node: JsxExpression, expression: Expression | undefined): JsxExpression; + function createCaseClause(expression: Expression, statements: ReadonlyArray): CaseClause; + function updateCaseClause(node: CaseClause, expression: Expression, statements: ReadonlyArray): CaseClause; + function createDefaultClause(statements: ReadonlyArray): DefaultClause; + function updateDefaultClause(node: DefaultClause, statements: ReadonlyArray): DefaultClause; + function createHeritageClause(token: HeritageClause["token"], types: ReadonlyArray): HeritageClause; + function updateHeritageClause(node: HeritageClause, types: ReadonlyArray): HeritageClause; + function createCatchClause(variableDeclaration: string | VariableDeclaration | undefined, block: Block): CatchClause; + function updateCatchClause(node: CatchClause, variableDeclaration: VariableDeclaration | undefined, block: Block): CatchClause; + function createPropertyAssignment(name: string | PropertyName, initializer: Expression): PropertyAssignment; + function updatePropertyAssignment(node: PropertyAssignment, name: PropertyName, initializer: Expression): PropertyAssignment; + function createShorthandPropertyAssignment(name: string | Identifier, objectAssignmentInitializer?: Expression): ShorthandPropertyAssignment; + function updateShorthandPropertyAssignment(node: ShorthandPropertyAssignment, name: Identifier, objectAssignmentInitializer: Expression | undefined): ShorthandPropertyAssignment; + function createSpreadAssignment(expression: Expression): SpreadAssignment; + function updateSpreadAssignment(node: SpreadAssignment, expression: Expression): SpreadAssignment; + function createEnumMember(name: string | PropertyName, initializer?: Expression): EnumMember; + function updateEnumMember(node: EnumMember, name: PropertyName, initializer: Expression | undefined): EnumMember; + function updateSourceFileNode(node: SourceFile, statements: ReadonlyArray, isDeclarationFile?: boolean, referencedFiles?: SourceFile["referencedFiles"], typeReferences?: SourceFile["typeReferenceDirectives"], hasNoDefaultLib?: boolean, libReferences?: SourceFile["libReferenceDirectives"]): SourceFile; + /** + * Creates a shallow, memberwise clone of a node for mutation. + */ + function getMutableClone(node: T): T; + /** + * Creates a synthetic statement to act as a placeholder for a not-emitted statement in + * order to preserve comments. + * + * @param original The original statement. + */ + function createNotEmittedStatement(original: Node): NotEmittedStatement; + /** + * Creates a synthetic expression to act as a placeholder for a not-emitted expression in + * order to preserve comments or sourcemap positions. + * + * @param expression The inner expression to emit. + * @param original The original outer expression. + * @param location The location for the expression. Defaults to the positions from "original" if provided. + */ + function createPartiallyEmittedExpression(expression: Expression, original?: Node): PartiallyEmittedExpression; + function updatePartiallyEmittedExpression(node: PartiallyEmittedExpression, expression: Expression): PartiallyEmittedExpression; + function createCommaList(elements: ReadonlyArray): CommaListExpression; + function updateCommaList(node: CommaListExpression, elements: ReadonlyArray): CommaListExpression; + function createBundle(sourceFiles: ReadonlyArray, prepends?: ReadonlyArray): Bundle; + function createUnparsedSourceFile(text: string): UnparsedSource; + function createUnparsedSourceFile(text: string, mapPath: string | undefined, map: string | undefined): UnparsedSource; + function createInputFiles(javascript: string, declaration: string): InputFiles; + function createInputFiles(javascript: string, declaration: string, javascriptMapPath: string | undefined, javascriptMapText: string | undefined, declarationMapPath: string | undefined, declarationMapText: string | undefined): InputFiles; + function updateBundle(node: Bundle, sourceFiles: ReadonlyArray, prepends?: ReadonlyArray): Bundle; + function createImmediatelyInvokedFunctionExpression(statements: ReadonlyArray): CallExpression; + function createImmediatelyInvokedFunctionExpression(statements: ReadonlyArray, param: ParameterDeclaration, paramValue: Expression): CallExpression; + function createImmediatelyInvokedArrowFunction(statements: ReadonlyArray): CallExpression; + function createImmediatelyInvokedArrowFunction(statements: ReadonlyArray, param: ParameterDeclaration, paramValue: Expression): CallExpression; + function createComma(left: Expression, right: Expression): Expression; + function createLessThan(left: Expression, right: Expression): Expression; + function createAssignment(left: ObjectLiteralExpression | ArrayLiteralExpression, right: Expression): DestructuringAssignment; + function createAssignment(left: Expression, right: Expression): BinaryExpression; + function createStrictEquality(left: Expression, right: Expression): BinaryExpression; + function createStrictInequality(left: Expression, right: Expression): BinaryExpression; + function createAdd(left: Expression, right: Expression): BinaryExpression; + function createSubtract(left: Expression, right: Expression): BinaryExpression; + function createPostfixIncrement(operand: Expression): PostfixUnaryExpression; + function createLogicalAnd(left: Expression, right: Expression): BinaryExpression; + function createLogicalOr(left: Expression, right: Expression): BinaryExpression; + function createLogicalNot(operand: Expression): PrefixUnaryExpression; + function createVoidZero(): VoidExpression; + function createExportDefault(expression: Expression): ExportAssignment; + function createExternalModuleExport(exportName: Identifier): ExportDeclaration; + /** + * Clears any EmitNode entries from parse-tree nodes. + * @param sourceFile A source file. + */ + function disposeEmitNodes(sourceFile: SourceFile): void; + function setTextRange(range: T, location: TextRange | undefined): T; + /** + * Sets flags that control emit behavior of a node. + */ + function setEmitFlags(node: T, emitFlags: EmitFlags): T; + /** + * Gets a custom text range to use when emitting source maps. + */ + function getSourceMapRange(node: Node): SourceMapRange; + /** + * Sets a custom text range to use when emitting source maps. + */ + function setSourceMapRange(node: T, range: SourceMapRange | undefined): T; + /** + * Create an external source map source file reference + */ + function createSourceMapSource(fileName: string, text: string, skipTrivia?: (pos: number) => number): SourceMapSource; + /** + * Gets the TextRange to use for source maps for a token of a node. + */ + function getTokenSourceMapRange(node: Node, token: SyntaxKind): SourceMapRange | undefined; + /** + * Sets the TextRange to use for source maps for a token of a node. + */ + function setTokenSourceMapRange(node: T, token: SyntaxKind, range: SourceMapRange | undefined): T; + /** + * Gets a custom text range to use when emitting comments. + */ + function getCommentRange(node: Node): TextRange; + /** + * Sets a custom text range to use when emitting comments. + */ + function setCommentRange(node: T, range: TextRange): T; + function getSyntheticLeadingComments(node: Node): SynthesizedComment[] | undefined; + function setSyntheticLeadingComments(node: T, comments: SynthesizedComment[] | undefined): T; + function addSyntheticLeadingComment(node: T, kind: SyntaxKind.SingleLineCommentTrivia | SyntaxKind.MultiLineCommentTrivia, text: string, hasTrailingNewLine?: boolean): T; + function getSyntheticTrailingComments(node: Node): SynthesizedComment[] | undefined; + function setSyntheticTrailingComments(node: T, comments: SynthesizedComment[] | undefined): T; + function addSyntheticTrailingComment(node: T, kind: SyntaxKind.SingleLineCommentTrivia | SyntaxKind.MultiLineCommentTrivia, text: string, hasTrailingNewLine?: boolean): T; + function moveSyntheticComments(node: T, original: Node): T; + /** + * Gets the constant value to emit for an expression. + */ + function getConstantValue(node: PropertyAccessExpression | ElementAccessExpression): string | number | undefined; + /** + * Sets the constant value to emit for an expression. + */ + function setConstantValue(node: PropertyAccessExpression | ElementAccessExpression, value: string | number): PropertyAccessExpression | ElementAccessExpression; + /** + * Adds an EmitHelper to a node. + */ + function addEmitHelper(node: T, helper: EmitHelper): T; + /** + * Add EmitHelpers to a node. + */ + function addEmitHelpers(node: T, helpers: EmitHelper[] | undefined): T; + /** + * Removes an EmitHelper from a node. + */ + function removeEmitHelper(node: Node, helper: EmitHelper): boolean; + /** + * Gets the EmitHelpers of a node. + */ + function getEmitHelpers(node: Node): EmitHelper[] | undefined; + /** + * Moves matching emit helpers from a source node to a target node. + */ + function moveEmitHelpers(source: Node, target: Node, predicate: (helper: EmitHelper) => boolean): void; + function setOriginalNode(node: T, original: Node | undefined): T; +} +declare namespace ts { + /** + * Visits a Node using the supplied visitor, possibly returning a new Node in its place. + * + * @param node The Node to visit. + * @param visitor The callback used to visit the Node. + * @param test A callback to execute to verify the Node is valid. + * @param lift An optional callback to execute to lift a NodeArray into a valid Node. + */ + function visitNode(node: T | undefined, visitor: Visitor | undefined, test?: (node: Node) => boolean, lift?: (node: NodeArray) => T): T; + /** + * Visits a Node using the supplied visitor, possibly returning a new Node in its place. + * + * @param node The Node to visit. + * @param visitor The callback used to visit the Node. + * @param test A callback to execute to verify the Node is valid. + * @param lift An optional callback to execute to lift a NodeArray into a valid Node. + */ + function visitNode(node: T | undefined, visitor: Visitor | undefined, test?: (node: Node) => boolean, lift?: (node: NodeArray) => T): T | undefined; + /** + * Visits a NodeArray using the supplied visitor, possibly returning a new NodeArray in its place. + * + * @param nodes The NodeArray to visit. + * @param visitor The callback used to visit a Node. + * @param test A node test to execute for each node. + * @param start An optional value indicating the starting offset at which to start visiting. + * @param count An optional value indicating the maximum number of nodes to visit. + */ + function visitNodes(nodes: NodeArray | undefined, visitor: Visitor, test?: (node: Node) => boolean, start?: number, count?: number): NodeArray; + /** + * Visits a NodeArray using the supplied visitor, possibly returning a new NodeArray in its place. + * + * @param nodes The NodeArray to visit. + * @param visitor The callback used to visit a Node. + * @param test A node test to execute for each node. + * @param start An optional value indicating the starting offset at which to start visiting. + * @param count An optional value indicating the maximum number of nodes to visit. + */ + function visitNodes(nodes: NodeArray | undefined, visitor: Visitor, test?: (node: Node) => boolean, start?: number, count?: number): NodeArray | undefined; + /** + * Starts a new lexical environment and visits a statement list, ending the lexical environment + * and merging hoisted declarations upon completion. + */ + function visitLexicalEnvironment(statements: NodeArray, visitor: Visitor, context: TransformationContext, start?: number, ensureUseStrict?: boolean): NodeArray; + /** + * Starts a new lexical environment and visits a parameter list, suspending the lexical + * environment upon completion. + */ + function visitParameterList(nodes: NodeArray | undefined, visitor: Visitor, context: TransformationContext, nodesVisitor?: typeof visitNodes): NodeArray; + /** + * Resumes a suspended lexical environment and visits a function body, ending the lexical + * environment and merging hoisted declarations upon completion. + */ + function visitFunctionBody(node: FunctionBody, visitor: Visitor, context: TransformationContext): FunctionBody; + /** + * Resumes a suspended lexical environment and visits a function body, ending the lexical + * environment and merging hoisted declarations upon completion. + */ + function visitFunctionBody(node: FunctionBody | undefined, visitor: Visitor, context: TransformationContext): FunctionBody | undefined; + /** + * Resumes a suspended lexical environment and visits a concise body, ending the lexical + * environment and merging hoisted declarations upon completion. + */ + function visitFunctionBody(node: ConciseBody, visitor: Visitor, context: TransformationContext): ConciseBody; + /** + * Visits each child of a Node using the supplied visitor, possibly returning a new Node of the same kind in its place. + * + * @param node The Node whose children will be visited. + * @param visitor The callback used to visit each child. + * @param context A lexical environment context for the visitor. + */ + function visitEachChild(node: T, visitor: Visitor, context: TransformationContext): T; + /** + * Visits each child of a Node using the supplied visitor, possibly returning a new Node of the same kind in its place. + * + * @param node The Node whose children will be visited. + * @param visitor The callback used to visit each child. + * @param context A lexical environment context for the visitor. + */ + function visitEachChild(node: T | undefined, visitor: Visitor, context: TransformationContext, nodesVisitor?: typeof visitNodes, tokenVisitor?: Visitor): T | undefined; +} +declare namespace ts { + function createPrinter(printerOptions?: PrinterOptions, handlers?: PrintHandlers): Printer; +} +declare namespace ts { + function findConfigFile(searchPath: string, fileExists: (fileName: string) => boolean, configName?: string): string | undefined; + function resolveTripleslashReference(moduleName: string, containingFile: string): string; + function createCompilerHost(options: CompilerOptions, setParentNodes?: boolean): CompilerHost; + function getPreEmitDiagnostics(program: Program, sourceFile?: SourceFile, cancellationToken?: CancellationToken): ReadonlyArray; + interface FormatDiagnosticsHost { + getCurrentDirectory(): string; + getCanonicalFileName(fileName: string): string; + getNewLine(): string; + } + function formatDiagnostics(diagnostics: ReadonlyArray, host: FormatDiagnosticsHost): string; + function formatDiagnostic(diagnostic: Diagnostic, host: FormatDiagnosticsHost): string; + function formatDiagnosticsWithColorAndContext(diagnostics: ReadonlyArray, host: FormatDiagnosticsHost): string; + function flattenDiagnosticMessageText(messageText: string | DiagnosticMessageChain | undefined, newLine: string): string; + function getConfigFileParsingDiagnostics(configFileParseResult: ParsedCommandLine): ReadonlyArray; + /** + * Create a new 'Program' instance. A Program is an immutable collection of 'SourceFile's and a 'CompilerOptions' + * that represent a compilation unit. + * + * Creating a program proceeds from a set of root files, expanding the set of inputs by following imports and + * triple-slash-reference-path directives transitively. '@types' and triple-slash-reference-types are also pulled in. + * + * @param createProgramOptions - The options for creating a program. + * @returns A 'Program' object. + */ + function createProgram(createProgramOptions: CreateProgramOptions): Program; + /** + * Create a new 'Program' instance. A Program is an immutable collection of 'SourceFile's and a 'CompilerOptions' + * that represent a compilation unit. + * + * Creating a program proceeds from a set of root files, expanding the set of inputs by following imports and + * triple-slash-reference-path directives transitively. '@types' and triple-slash-reference-types are also pulled in. + * + * @param rootNames - A set of root files. + * @param options - The compiler options which should be used. + * @param host - The host interacts with the underlying file system. + * @param oldProgram - Reuses an old program structure. + * @param configFileParsingDiagnostics - error during config file parsing + * @returns A 'Program' object. + */ + function createProgram(rootNames: ReadonlyArray, options: CompilerOptions, host?: CompilerHost, oldProgram?: Program, configFileParsingDiagnostics?: ReadonlyArray): Program; + /** @deprecated */ interface ResolveProjectReferencePathHost { + fileExists(fileName: string): boolean; + } + /** + * Returns the target config filename of a project reference. + * Note: The file might not exist. + */ + function resolveProjectReferencePath(ref: ProjectReference): ResolvedConfigFileName; + /** @deprecated */ function resolveProjectReferencePath(host: ResolveProjectReferencePathHost, ref: ProjectReference): ResolvedConfigFileName; +} +declare namespace ts { + interface EmitOutput { + outputFiles: OutputFile[]; + emitSkipped: boolean; + } + interface OutputFile { + name: string; + writeByteOrderMark: boolean; + text: string; + } +} +declare namespace ts { + type AffectedFileResult = { + result: T; + affected: SourceFile | Program; + } | undefined; + interface BuilderProgramHost { + /** + * return true if file names are treated with case sensitivity + */ + useCaseSensitiveFileNames(): boolean; + /** + * If provided this would be used this hash instead of actual file shape text for detecting changes + */ + createHash?: (data: string) => string; + /** + * When emit or emitNextAffectedFile are called without writeFile, + * this callback if present would be used to write files + */ + writeFile?: WriteFileCallback; + } + /** + * Builder to manage the program state changes + */ + interface BuilderProgram { + /** + * Returns current program + */ + getProgram(): Program; + /** + * Get compiler options of the program + */ + getCompilerOptions(): CompilerOptions; + /** + * Get the source file in the program with file name + */ + getSourceFile(fileName: string): SourceFile | undefined; + /** + * Get a list of files in the program + */ + getSourceFiles(): ReadonlyArray; + /** + * Get the diagnostics for compiler options + */ + getOptionsDiagnostics(cancellationToken?: CancellationToken): ReadonlyArray; + /** + * Get the diagnostics that dont belong to any file + */ + getGlobalDiagnostics(cancellationToken?: CancellationToken): ReadonlyArray; + /** + * Get the diagnostics from config file parsing + */ + getConfigFileParsingDiagnostics(): ReadonlyArray; + /** + * Get the syntax diagnostics, for all source files if source file is not supplied + */ + getSyntacticDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): ReadonlyArray; + /** + * Get all the dependencies of the file + */ + getAllDependencies(sourceFile: SourceFile): ReadonlyArray; + /** + * Gets the semantic diagnostics from the program corresponding to this state of file (if provided) or whole program + * The semantic diagnostics are cached and managed here + * Note that it is assumed that when asked about semantic diagnostics through this API, + * the file has been taken out of affected files so it is safe to use cache or get from program and cache the diagnostics + * In case of SemanticDiagnosticsBuilderProgram if the source file is not provided, + * it will iterate through all the affected files, to ensure that cache stays valid and yet provide a way to get all semantic diagnostics + */ + getSemanticDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): ReadonlyArray; + /** + * Emits the JavaScript and declaration files. + * When targetSource file is specified, emits the files corresponding to that source file, + * otherwise for the whole program. + * In case of EmitAndSemanticDiagnosticsBuilderProgram, when targetSourceFile is specified, + * it is assumed that that file is handled from affected file list. If targetSourceFile is not specified, + * it will only emit all the affected files instead of whole program + * + * The first of writeFile if provided, writeFile of BuilderProgramHost if provided, writeFile of compiler host + * in that order would be used to write the files + */ + emit(targetSourceFile?: SourceFile, writeFile?: WriteFileCallback, cancellationToken?: CancellationToken, emitOnlyDtsFiles?: boolean, customTransformers?: CustomTransformers): EmitResult; + /** + * Get the current directory of the program + */ + getCurrentDirectory(): string; + } + /** + * The builder that caches the semantic diagnostics for the program and handles the changed files and affected files + */ + interface SemanticDiagnosticsBuilderProgram extends BuilderProgram { + /** + * Gets the semantic diagnostics from the program for the next affected file and caches it + * Returns undefined if the iteration is complete + */ + getSemanticDiagnosticsOfNextAffectedFile(cancellationToken?: CancellationToken, ignoreSourceFile?: (sourceFile: SourceFile) => boolean): AffectedFileResult>; + } + /** + * The builder that can handle the changes in program and iterate through changed file to emit the files + * The semantic diagnostics are cached per file and managed by clearing for the changed/affected files + */ + interface EmitAndSemanticDiagnosticsBuilderProgram extends BuilderProgram { + /** + * Emits the next affected file's emit result (EmitResult and sourceFiles emitted) or returns undefined if iteration is complete + * The first of writeFile if provided, writeFile of BuilderProgramHost if provided, writeFile of compiler host + * in that order would be used to write the files + */ + emitNextAffectedFile(writeFile?: WriteFileCallback, cancellationToken?: CancellationToken, emitOnlyDtsFiles?: boolean, customTransformers?: CustomTransformers): AffectedFileResult; + } + /** + * Create the builder to manage semantic diagnostics and cache them + */ + function createSemanticDiagnosticsBuilderProgram(newProgram: Program, host: BuilderProgramHost, oldProgram?: SemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): SemanticDiagnosticsBuilderProgram; + function createSemanticDiagnosticsBuilderProgram(rootNames: ReadonlyArray | undefined, options: CompilerOptions | undefined, host?: CompilerHost, oldProgram?: SemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray, projectReferences?: ReadonlyArray): SemanticDiagnosticsBuilderProgram; + /** + * Create the builder that can handle the changes in program and iterate through changed files + * to emit the those files and manage semantic diagnostics cache as well + */ + function createEmitAndSemanticDiagnosticsBuilderProgram(newProgram: Program, host: BuilderProgramHost, oldProgram?: EmitAndSemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): EmitAndSemanticDiagnosticsBuilderProgram; + function createEmitAndSemanticDiagnosticsBuilderProgram(rootNames: ReadonlyArray | undefined, options: CompilerOptions | undefined, host?: CompilerHost, oldProgram?: EmitAndSemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray, projectReferences?: ReadonlyArray): EmitAndSemanticDiagnosticsBuilderProgram; + /** + * Creates a builder thats just abstraction over program and can be used with watch + */ + function createAbstractBuilder(newProgram: Program, host: BuilderProgramHost, oldProgram?: BuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): BuilderProgram; + function createAbstractBuilder(rootNames: ReadonlyArray | undefined, options: CompilerOptions | undefined, host?: CompilerHost, oldProgram?: BuilderProgram, configFileParsingDiagnostics?: ReadonlyArray, projectReferences?: ReadonlyArray): BuilderProgram; +} +declare namespace ts { + type WatchStatusReporter = (diagnostic: Diagnostic, newLine: string, options: CompilerOptions) => void; + /** Create the program with rootNames and options, if they are undefined, oldProgram and new configFile diagnostics create new program */ + type CreateProgram = (rootNames: ReadonlyArray | undefined, options: CompilerOptions | undefined, host?: CompilerHost, oldProgram?: T, configFileParsingDiagnostics?: ReadonlyArray, projectReferences?: ReadonlyArray | undefined) => T; + /** Host that has watch functionality used in --watch mode */ + interface WatchHost { + /** If provided, called with Diagnostic message that informs about change in watch status */ + onWatchStatusChange?(diagnostic: Diagnostic, newLine: string, options: CompilerOptions): void; + /** Used to watch changes in source files, missing files needed to update the program or config file */ + watchFile(path: string, callback: FileWatcherCallback, pollingInterval?: number): FileWatcher; + /** Used to watch resolved module's failed lookup locations, config file specs, type roots where auto type reference directives are added */ + watchDirectory(path: string, callback: DirectoryWatcherCallback, recursive?: boolean): FileWatcher; + /** If provided, will be used to set delayed compilation, so that multiple changes in short span are compiled together */ + setTimeout?(callback: (...args: any[]) => void, ms: number, ...args: any[]): any; + /** If provided, will be used to reset existing delayed compilation */ + clearTimeout?(timeoutId: any): void; + } + interface WatchCompilerHost extends WatchHost { + /** + * Used to create the program when need for program creation or recreation detected + */ + createProgram: CreateProgram; + /** If provided, callback to invoke after every new program creation */ + afterProgramCreate?(program: T): void; + useCaseSensitiveFileNames(): boolean; + getNewLine(): string; + getCurrentDirectory(): string; + getDefaultLibFileName(options: CompilerOptions): string; + getDefaultLibLocation?(): string; + createHash?(data: string): string; + /** + * Use to check file presence for source files and + * if resolveModuleNames is not provided (complier is in charge of module resolution) then module files as well + */ + fileExists(path: string): boolean; + /** + * Use to read file text for source files and + * if resolveModuleNames is not provided (complier is in charge of module resolution) then module files as well + */ + readFile(path: string, encoding?: string): string | undefined; + /** If provided, used for module resolution as well as to handle directory structure */ + directoryExists?(path: string): boolean; + /** If provided, used in resolutions as well as handling directory structure */ + getDirectories?(path: string): string[]; + /** If provided, used to cache and handle directory structure modifications */ + readDirectory?(path: string, extensions?: ReadonlyArray, exclude?: ReadonlyArray, include?: ReadonlyArray, depth?: number): string[]; + /** Symbol links resolution */ + realpath?(path: string): string; + /** If provided would be used to write log about compilation */ + trace?(s: string): void; + /** If provided is used to get the environment variable */ + getEnvironmentVariable?(name: string): string | undefined; + /** If provided, used to resolve the module names, otherwise typescript's default module resolution */ + resolveModuleNames?(moduleNames: string[], containingFile: string, reusedNames?: string[], redirectedReference?: ResolvedProjectReference): (ResolvedModule | undefined)[]; + /** If provided, used to resolve type reference directives, otherwise typescript's default resolution */ + resolveTypeReferenceDirectives?(typeReferenceDirectiveNames: string[], containingFile: string, redirectedReference?: ResolvedProjectReference): (ResolvedTypeReferenceDirective | undefined)[]; + } + /** + * Host to create watch with root files and options + */ + interface WatchCompilerHostOfFilesAndCompilerOptions extends WatchCompilerHost { + /** root files to use to generate program */ + rootFiles: string[]; + /** Compiler options */ + options: CompilerOptions; + /** Project References */ + projectReferences?: ReadonlyArray; + } + /** + * Host to create watch with config file + */ + interface WatchCompilerHostOfConfigFile extends WatchCompilerHost, ConfigFileDiagnosticsReporter { + /** Name of the config file to compile */ + configFileName: string; + /** Options to extend */ + optionsToExtend?: CompilerOptions; + /** + * Used to generate source file names from the config file and its include, exclude, files rules + * and also to cache the directory stucture + */ + readDirectory(path: string, extensions?: ReadonlyArray, exclude?: ReadonlyArray, include?: ReadonlyArray, depth?: number): string[]; + } + interface Watch { + /** Synchronize with host and get updated program */ + getProgram(): T; + } + /** + * Creates the watch what generates program using the config file + */ + interface WatchOfConfigFile extends Watch { + } + /** + * Creates the watch that generates program using the root files and compiler options + */ + interface WatchOfFilesAndCompilerOptions extends Watch { + /** Updates the root files in the program, only if this is not config file compilation */ + updateRootFileNames(fileNames: string[]): void; + } + /** + * Create the watch compiler host for either configFile or fileNames and its options + */ + function createWatchCompilerHost(configFileName: string, optionsToExtend: CompilerOptions | undefined, system: System, createProgram?: CreateProgram, reportDiagnostic?: DiagnosticReporter, reportWatchStatus?: WatchStatusReporter): WatchCompilerHostOfConfigFile; + function createWatchCompilerHost(rootFiles: string[], options: CompilerOptions, system: System, createProgram?: CreateProgram, reportDiagnostic?: DiagnosticReporter, reportWatchStatus?: WatchStatusReporter, projectReferences?: ReadonlyArray): WatchCompilerHostOfFilesAndCompilerOptions; + /** + * Creates the watch from the host for root files and compiler options + */ + function createWatchProgram(host: WatchCompilerHostOfFilesAndCompilerOptions): WatchOfFilesAndCompilerOptions; + /** + * Creates the watch from the host for config file + */ + function createWatchProgram(host: WatchCompilerHostOfConfigFile): WatchOfConfigFile; +} +declare namespace ts.server { + type ActionSet = "action::set"; + type ActionInvalidate = "action::invalidate"; + type ActionPackageInstalled = "action::packageInstalled"; + type ActionValueInspected = "action::valueInspected"; + type EventTypesRegistry = "event::typesRegistry"; + type EventBeginInstallTypes = "event::beginInstallTypes"; + type EventEndInstallTypes = "event::endInstallTypes"; + type EventInitializationFailed = "event::initializationFailed"; + interface TypingInstallerResponse { + readonly kind: ActionSet | ActionInvalidate | EventTypesRegistry | ActionPackageInstalled | ActionValueInspected | EventBeginInstallTypes | EventEndInstallTypes | EventInitializationFailed; + } + interface TypingInstallerRequestWithProjectName { + readonly projectName: string; + } + interface DiscoverTypings extends TypingInstallerRequestWithProjectName { + readonly fileNames: string[]; + readonly projectRootPath: Path; + readonly compilerOptions: CompilerOptions; + readonly typeAcquisition: TypeAcquisition; + readonly unresolvedImports: SortedReadonlyArray; + readonly cachePath?: string; + readonly kind: "discover"; + } + interface CloseProject extends TypingInstallerRequestWithProjectName { + readonly kind: "closeProject"; + } + interface TypesRegistryRequest { + readonly kind: "typesRegistry"; + } + interface InstallPackageRequest extends TypingInstallerRequestWithProjectName { + readonly kind: "installPackage"; + readonly fileName: Path; + readonly packageName: string; + readonly projectRootPath: Path; + } + interface PackageInstalledResponse extends ProjectResponse { + readonly kind: ActionPackageInstalled; + readonly success: boolean; + readonly message: string; + } + interface InitializationFailedResponse extends TypingInstallerResponse { + readonly kind: EventInitializationFailed; + readonly message: string; + } + interface ProjectResponse extends TypingInstallerResponse { + readonly projectName: string; + } + interface InvalidateCachedTypings extends ProjectResponse { + readonly kind: ActionInvalidate; + } + interface InstallTypes extends ProjectResponse { + readonly kind: EventBeginInstallTypes | EventEndInstallTypes; + readonly eventId: number; + readonly typingsInstallerVersion: string; + readonly packagesToInstall: ReadonlyArray; + } + interface BeginInstallTypes extends InstallTypes { + readonly kind: EventBeginInstallTypes; + } + interface EndInstallTypes extends InstallTypes { + readonly kind: EventEndInstallTypes; + readonly installSuccess: boolean; + } + interface SetTypings extends ProjectResponse { + readonly typeAcquisition: TypeAcquisition; + readonly compilerOptions: CompilerOptions; + readonly typings: string[]; + readonly unresolvedImports: SortedReadonlyArray; + readonly kind: ActionSet; + } +} +declare namespace ts { + interface Node { + getSourceFile(): SourceFile; + getChildCount(sourceFile?: SourceFile): number; + getChildAt(index: number, sourceFile?: SourceFile): Node; + getChildren(sourceFile?: SourceFile): Node[]; + getStart(sourceFile?: SourceFile, includeJsDocComment?: boolean): number; + getFullStart(): number; + getEnd(): number; + getWidth(sourceFile?: SourceFileLike): number; + getFullWidth(): number; + getLeadingTriviaWidth(sourceFile?: SourceFile): number; + getFullText(sourceFile?: SourceFile): string; + getText(sourceFile?: SourceFile): string; + getFirstToken(sourceFile?: SourceFile): Node | undefined; + getLastToken(sourceFile?: SourceFile): Node | undefined; + forEachChild(cbNode: (node: Node) => T | undefined, cbNodeArray?: (nodes: NodeArray) => T | undefined): T | undefined; + } + interface Identifier { + readonly text: string; + } + interface Symbol { + readonly name: string; + getFlags(): SymbolFlags; + getEscapedName(): __String; + getName(): string; + getDeclarations(): Declaration[] | undefined; + getDocumentationComment(typeChecker: TypeChecker | undefined): SymbolDisplayPart[]; + getJsDocTags(): JSDocTagInfo[]; + } + interface Type { + getFlags(): TypeFlags; + getSymbol(): Symbol | undefined; + getProperties(): Symbol[]; + getProperty(propertyName: string): Symbol | undefined; + getApparentProperties(): Symbol[]; + getCallSignatures(): ReadonlyArray; + getConstructSignatures(): ReadonlyArray; + getStringIndexType(): Type | undefined; + getNumberIndexType(): Type | undefined; + getBaseTypes(): BaseType[] | undefined; + getNonNullableType(): Type; + getConstraint(): Type | undefined; + getDefault(): Type | undefined; + isUnion(): this is UnionType; + isIntersection(): this is IntersectionType; + isUnionOrIntersection(): this is UnionOrIntersectionType; + isLiteral(): this is LiteralType; + isStringLiteral(): this is StringLiteralType; + isNumberLiteral(): this is NumberLiteralType; + isTypeParameter(): this is TypeParameter; + isClassOrInterface(): this is InterfaceType; + isClass(): this is InterfaceType; + } + interface Signature { + getDeclaration(): SignatureDeclaration; + getTypeParameters(): TypeParameter[] | undefined; + getParameters(): Symbol[]; + getReturnType(): Type; + getDocumentationComment(typeChecker: TypeChecker | undefined): SymbolDisplayPart[]; + getJsDocTags(): JSDocTagInfo[]; + } + interface SourceFile { + getLineAndCharacterOfPosition(pos: number): LineAndCharacter; + getLineEndOfPosition(pos: number): number; + getLineStarts(): ReadonlyArray; + getPositionOfLineAndCharacter(line: number, character: number): number; + update(newText: string, textChangeRange: TextChangeRange): SourceFile; + } + interface SourceFileLike { + getLineAndCharacterOfPosition(pos: number): LineAndCharacter; + } + interface SourceMapSource { + getLineAndCharacterOfPosition(pos: number): LineAndCharacter; + } + /** + * Represents an immutable snapshot of a script at a specified time.Once acquired, the + * snapshot is observably immutable. i.e. the same calls with the same parameters will return + * the same values. + */ + interface IScriptSnapshot { + /** Gets a portion of the script snapshot specified by [start, end). */ + getText(start: number, end: number): string; + /** Gets the length of this script snapshot. */ + getLength(): number; + /** + * Gets the TextChangeRange that describe how the text changed between this text and + * an older version. This information is used by the incremental parser to determine + * what sections of the script need to be re-parsed. 'undefined' can be returned if the + * change range cannot be determined. However, in that case, incremental parsing will + * not happen and the entire document will be re - parsed. + */ + getChangeRange(oldSnapshot: IScriptSnapshot): TextChangeRange | undefined; + /** Releases all resources held by this script snapshot */ + dispose?(): void; + } + namespace ScriptSnapshot { + function fromString(text: string): IScriptSnapshot; + } + interface PreProcessedFileInfo { + referencedFiles: FileReference[]; + typeReferenceDirectives: FileReference[]; + libReferenceDirectives: FileReference[]; + importedFiles: FileReference[]; + ambientExternalModules?: string[]; + isLibFile: boolean; + } + interface HostCancellationToken { + isCancellationRequested(): boolean; + } + interface InstallPackageOptions { + fileName: Path; + packageName: string; + } + interface LanguageServiceHost extends GetEffectiveTypeRootsHost { + getCompilationSettings(): CompilerOptions; + getNewLine?(): string; + getProjectVersion?(): string; + getScriptFileNames(): string[]; + getScriptKind?(fileName: string): ScriptKind; + getScriptVersion(fileName: string): string; + getScriptSnapshot(fileName: string): IScriptSnapshot | undefined; + getProjectReferences?(): ReadonlyArray | undefined; + getLocalizedDiagnosticMessages?(): any; + getCancellationToken?(): HostCancellationToken; + getCurrentDirectory(): string; + getDefaultLibFileName(options: CompilerOptions): string; + log?(s: string): void; + trace?(s: string): void; + error?(s: string): void; + useCaseSensitiveFileNames?(): boolean; + readDirectory?(path: string, extensions?: ReadonlyArray, exclude?: ReadonlyArray, include?: ReadonlyArray, depth?: number): string[]; + readFile?(path: string, encoding?: string): string | undefined; + realpath?(path: string): string; + fileExists?(path: string): boolean; + getTypeRootsVersion?(): number; + resolveModuleNames?(moduleNames: string[], containingFile: string, reusedNames?: string[], redirectedReference?: ResolvedProjectReference): (ResolvedModule | undefined)[]; + getResolvedModuleWithFailedLookupLocationsFromCache?(modulename: string, containingFile: string): ResolvedModuleWithFailedLookupLocations | undefined; + resolveTypeReferenceDirectives?(typeDirectiveNames: string[], containingFile: string, redirectedReference?: ResolvedProjectReference): (ResolvedTypeReferenceDirective | undefined)[]; + getDirectories?(directoryName: string): string[]; + /** + * Gets a set of custom transformers to use during emit. + */ + getCustomTransformers?(): CustomTransformers | undefined; + isKnownTypesPackageName?(name: string): boolean; + installPackage?(options: InstallPackageOptions): Promise; + writeFile?(fileName: string, content: string): void; + } + type WithMetadata = T & { + metadata?: unknown; + }; + interface LanguageService { + cleanupSemanticCache(): void; + getSyntacticDiagnostics(fileName: string): DiagnosticWithLocation[]; + /** The first time this is called, it will return global diagnostics (no location). */ + getSemanticDiagnostics(fileName: string): Diagnostic[]; + getSuggestionDiagnostics(fileName: string): DiagnosticWithLocation[]; + getCompilerOptionsDiagnostics(): Diagnostic[]; + /** + * @deprecated Use getEncodedSyntacticClassifications instead. + */ + getSyntacticClassifications(fileName: string, span: TextSpan): ClassifiedSpan[]; + /** + * @deprecated Use getEncodedSemanticClassifications instead. + */ + getSemanticClassifications(fileName: string, span: TextSpan): ClassifiedSpan[]; + getEncodedSyntacticClassifications(fileName: string, span: TextSpan): Classifications; + getEncodedSemanticClassifications(fileName: string, span: TextSpan): Classifications; + getCompletionsAtPosition(fileName: string, position: number, options: GetCompletionsAtPositionOptions | undefined): WithMetadata | undefined; + getCompletionEntryDetails(fileName: string, position: number, name: string, formatOptions: FormatCodeOptions | FormatCodeSettings | undefined, source: string | undefined, preferences: UserPreferences | undefined): CompletionEntryDetails | undefined; + getCompletionEntrySymbol(fileName: string, position: number, name: string, source: string | undefined): Symbol | undefined; + getQuickInfoAtPosition(fileName: string, position: number): QuickInfo | undefined; + getNameOrDottedNameSpan(fileName: string, startPos: number, endPos: number): TextSpan | undefined; + getBreakpointStatementAtPosition(fileName: string, position: number): TextSpan | undefined; + getSignatureHelpItems(fileName: string, position: number, options: SignatureHelpItemsOptions | undefined): SignatureHelpItems | undefined; + getRenameInfo(fileName: string, position: number): RenameInfo; + findRenameLocations(fileName: string, position: number, findInStrings: boolean, findInComments: boolean): ReadonlyArray | undefined; + getDefinitionAtPosition(fileName: string, position: number): ReadonlyArray | undefined; + getDefinitionAndBoundSpan(fileName: string, position: number): DefinitionInfoAndBoundSpan | undefined; + getTypeDefinitionAtPosition(fileName: string, position: number): ReadonlyArray | undefined; + getImplementationAtPosition(fileName: string, position: number): ReadonlyArray | undefined; + getReferencesAtPosition(fileName: string, position: number): ReferenceEntry[] | undefined; + findReferences(fileName: string, position: number): ReferencedSymbol[] | undefined; + getDocumentHighlights(fileName: string, position: number, filesToSearch: string[]): DocumentHighlights[] | undefined; + /** @deprecated */ + getOccurrencesAtPosition(fileName: string, position: number): ReadonlyArray | undefined; + getNavigateToItems(searchValue: string, maxResultCount?: number, fileName?: string, excludeDtsFiles?: boolean): NavigateToItem[]; + getNavigationBarItems(fileName: string): NavigationBarItem[]; + getNavigationTree(fileName: string): NavigationTree; + getOutliningSpans(fileName: string): OutliningSpan[]; + getTodoComments(fileName: string, descriptors: TodoCommentDescriptor[]): TodoComment[]; + getBraceMatchingAtPosition(fileName: string, position: number): TextSpan[]; + getIndentationAtPosition(fileName: string, position: number, options: EditorOptions | EditorSettings): number; + getFormattingEditsForRange(fileName: string, start: number, end: number, options: FormatCodeOptions | FormatCodeSettings): TextChange[]; + getFormattingEditsForDocument(fileName: string, options: FormatCodeOptions | FormatCodeSettings): TextChange[]; + getFormattingEditsAfterKeystroke(fileName: string, position: number, key: string, options: FormatCodeOptions | FormatCodeSettings): TextChange[]; + getDocCommentTemplateAtPosition(fileName: string, position: number): TextInsertion | undefined; + isValidBraceCompletionAtPosition(fileName: string, position: number, openingBrace: number): boolean; + /** + * This will return a defined result if the position is after the `>` of the opening tag, or somewhere in the text, of a JSXElement with no closing tag. + * Editors should call this after `>` is typed. + */ + getJsxClosingTagAtPosition(fileName: string, position: number): JsxClosingTagInfo | undefined; + getSpanOfEnclosingComment(fileName: string, position: number, onlyMultiLine: boolean): TextSpan | undefined; + toLineColumnOffset?(fileName: string, position: number): LineAndCharacter; + getCodeFixesAtPosition(fileName: string, start: number, end: number, errorCodes: ReadonlyArray, formatOptions: FormatCodeSettings, preferences: UserPreferences): ReadonlyArray; + getCombinedCodeFix(scope: CombinedCodeFixScope, fixId: {}, formatOptions: FormatCodeSettings, preferences: UserPreferences): CombinedCodeActions; + applyCodeActionCommand(action: CodeActionCommand, formatSettings?: FormatCodeSettings): Promise; + applyCodeActionCommand(action: CodeActionCommand[], formatSettings?: FormatCodeSettings): Promise; + applyCodeActionCommand(action: CodeActionCommand | CodeActionCommand[], formatSettings?: FormatCodeSettings): Promise; + /** @deprecated `fileName` will be ignored */ + applyCodeActionCommand(fileName: string, action: CodeActionCommand): Promise; + /** @deprecated `fileName` will be ignored */ + applyCodeActionCommand(fileName: string, action: CodeActionCommand[]): Promise; + /** @deprecated `fileName` will be ignored */ + applyCodeActionCommand(fileName: string, action: CodeActionCommand | CodeActionCommand[]): Promise; + getApplicableRefactors(fileName: string, positionOrRange: number | TextRange, preferences: UserPreferences | undefined): ApplicableRefactorInfo[]; + getEditsForRefactor(fileName: string, formatOptions: FormatCodeSettings, positionOrRange: number | TextRange, refactorName: string, actionName: string, preferences: UserPreferences | undefined): RefactorEditInfo | undefined; + organizeImports(scope: OrganizeImportsScope, formatOptions: FormatCodeSettings, preferences: UserPreferences | undefined): ReadonlyArray; + getEditsForFileRename(oldFilePath: string, newFilePath: string, formatOptions: FormatCodeSettings, preferences: UserPreferences | undefined): ReadonlyArray; + getEmitOutput(fileName: string, emitOnlyDtsFiles?: boolean): EmitOutput; + getProgram(): Program | undefined; + dispose(): void; + } + interface JsxClosingTagInfo { + readonly newText: string; + } + interface CombinedCodeFixScope { + type: "file"; + fileName: string; + } + type OrganizeImportsScope = CombinedCodeFixScope; + type CompletionsTriggerCharacter = "." | '"' | "'" | "`" | "/" | "@" | "<"; + interface GetCompletionsAtPositionOptions extends UserPreferences { + /** + * If the editor is asking for completions because a certain character was typed + * (as opposed to when the user explicitly requested them) this should be set. + */ + triggerCharacter?: CompletionsTriggerCharacter; + /** @deprecated Use includeCompletionsForModuleExports */ + includeExternalModuleExports?: boolean; + /** @deprecated Use includeCompletionsWithInsertText */ + includeInsertTextCompletions?: boolean; + } + type SignatureHelpTriggerCharacter = "," | "(" | "<"; + type SignatureHelpRetriggerCharacter = SignatureHelpTriggerCharacter | ")"; + interface SignatureHelpItemsOptions { + triggerReason?: SignatureHelpTriggerReason; + } + type SignatureHelpTriggerReason = SignatureHelpInvokedReason | SignatureHelpCharacterTypedReason | SignatureHelpRetriggeredReason; + /** + * Signals that the user manually requested signature help. + * The language service will unconditionally attempt to provide a result. + */ + interface SignatureHelpInvokedReason { + kind: "invoked"; + triggerCharacter?: undefined; + } + /** + * Signals that the signature help request came from a user typing a character. + * Depending on the character and the syntactic context, the request may or may not be served a result. + */ + interface SignatureHelpCharacterTypedReason { + kind: "characterTyped"; + /** + * Character that was responsible for triggering signature help. + */ + triggerCharacter: SignatureHelpTriggerCharacter; + } + /** + * Signals that this signature help request came from typing a character or moving the cursor. + * This should only occur if a signature help session was already active and the editor needs to see if it should adjust. + * The language service will unconditionally attempt to provide a result. + * `triggerCharacter` can be `undefined` for a retrigger caused by a cursor move. + */ + interface SignatureHelpRetriggeredReason { + kind: "retrigger"; + /** + * Character that was responsible for triggering signature help. + */ + triggerCharacter?: SignatureHelpRetriggerCharacter; + } + interface ApplyCodeActionCommandResult { + successMessage: string; + } + interface Classifications { + spans: number[]; + endOfLineState: EndOfLineState; + } + interface ClassifiedSpan { + textSpan: TextSpan; + classificationType: ClassificationTypeNames; + } + /** + * Navigation bar interface designed for visual studio's dual-column layout. + * This does not form a proper tree. + * The navbar is returned as a list of top-level items, each of which has a list of child items. + * Child items always have an empty array for their `childItems`. + */ + interface NavigationBarItem { + text: string; + kind: ScriptElementKind; + kindModifiers: string; + spans: TextSpan[]; + childItems: NavigationBarItem[]; + indent: number; + bolded: boolean; + grayed: boolean; + } + /** + * Node in a tree of nested declarations in a file. + * The top node is always a script or module node. + */ + interface NavigationTree { + /** Name of the declaration, or a short description, e.g. "". */ + text: string; + kind: ScriptElementKind; + /** ScriptElementKindModifier separated by commas, e.g. "public,abstract" */ + kindModifiers: string; + /** + * Spans of the nodes that generated this declaration. + * There will be more than one if this is the result of merging. + */ + spans: TextSpan[]; + nameSpan: TextSpan | undefined; + /** Present if non-empty */ + childItems?: NavigationTree[]; + } + interface TodoCommentDescriptor { + text: string; + priority: number; + } + interface TodoComment { + descriptor: TodoCommentDescriptor; + message: string; + position: number; + } + interface TextChange { + span: TextSpan; + newText: string; + } + interface FileTextChanges { + fileName: string; + textChanges: TextChange[]; + isNewFile?: boolean; + } + interface CodeAction { + /** Description of the code action to display in the UI of the editor */ + description: string; + /** Text changes to apply to each file as part of the code action */ + changes: FileTextChanges[]; + /** + * If the user accepts the code fix, the editor should send the action back in a `applyAction` request. + * This allows the language service to have side effects (e.g. installing dependencies) upon a code fix. + */ + commands?: CodeActionCommand[]; + } + interface CodeFixAction extends CodeAction { + /** Short name to identify the fix, for use by telemetry. */ + fixName: string; + /** + * If present, one may call 'getCombinedCodeFix' with this fixId. + * This may be omitted to indicate that the code fix can't be applied in a group. + */ + fixId?: {}; + fixAllDescription?: string; + } + interface CombinedCodeActions { + changes: ReadonlyArray; + commands?: ReadonlyArray; + } + type CodeActionCommand = InstallPackageAction | GenerateTypesAction; + interface InstallPackageAction { + } + interface GenerateTypesAction extends GenerateTypesOptions { + } + interface GenerateTypesOptions { + readonly file: string; + readonly fileToGenerateTypesFor: string; + readonly outputFileName: string; + } + /** + * A set of one or more available refactoring actions, grouped under a parent refactoring. + */ + interface ApplicableRefactorInfo { + /** + * The programmatic name of the refactoring + */ + name: string; + /** + * A description of this refactoring category to show to the user. + * If the refactoring gets inlined (see below), this text will not be visible. + */ + description: string; + /** + * Inlineable refactorings can have their actions hoisted out to the top level + * of a context menu. Non-inlineanable refactorings should always be shown inside + * their parent grouping. + * + * If not specified, this value is assumed to be 'true' + */ + inlineable?: boolean; + actions: RefactorActionInfo[]; + } + /** + * Represents a single refactoring action - for example, the "Extract Method..." refactor might + * offer several actions, each corresponding to a surround class or closure to extract into. + */ + interface RefactorActionInfo { + /** + * The programmatic name of the refactoring action + */ + name: string; + /** + * A description of this refactoring action to show to the user. + * If the parent refactoring is inlined away, this will be the only text shown, + * so this description should make sense by itself if the parent is inlineable=true + */ + description: string; + } + /** + * A set of edits to make in response to a refactor action, plus an optional + * location where renaming should be invoked from + */ + interface RefactorEditInfo { + edits: FileTextChanges[]; + renameFilename?: string; + renameLocation?: number; + commands?: CodeActionCommand[]; + } + interface TextInsertion { + newText: string; + /** The position in newText the caret should point to after the insertion. */ + caretOffset: number; + } + interface DocumentSpan { + textSpan: TextSpan; + fileName: string; + /** + * If the span represents a location that was remapped (e.g. via a .d.ts.map file), + * then the original filename and span will be specified here + */ + originalTextSpan?: TextSpan; + originalFileName?: string; + } + interface RenameLocation extends DocumentSpan { + readonly prefixText?: string; + readonly suffixText?: string; + } + interface ReferenceEntry extends DocumentSpan { + isWriteAccess: boolean; + isDefinition: boolean; + isInString?: true; + } + interface ImplementationLocation extends DocumentSpan { + kind: ScriptElementKind; + displayParts: SymbolDisplayPart[]; + } + interface DocumentHighlights { + fileName: string; + highlightSpans: HighlightSpan[]; + } + enum HighlightSpanKind { + none = "none", + definition = "definition", + reference = "reference", + writtenReference = "writtenReference" + } + interface HighlightSpan { + fileName?: string; + isInString?: true; + textSpan: TextSpan; + kind: HighlightSpanKind; + } + interface NavigateToItem { + name: string; + kind: ScriptElementKind; + kindModifiers: string; + matchKind: "exact" | "prefix" | "substring" | "camelCase"; + isCaseSensitive: boolean; + fileName: string; + textSpan: TextSpan; + containerName: string; + containerKind: ScriptElementKind; + } + enum IndentStyle { + None = 0, + Block = 1, + Smart = 2 + } + interface EditorOptions { + BaseIndentSize?: number; + IndentSize: number; + TabSize: number; + NewLineCharacter: string; + ConvertTabsToSpaces: boolean; + IndentStyle: IndentStyle; + } + interface EditorSettings { + baseIndentSize?: number; + indentSize?: number; + tabSize?: number; + newLineCharacter?: string; + convertTabsToSpaces?: boolean; + indentStyle?: IndentStyle; + } + interface FormatCodeOptions extends EditorOptions { + InsertSpaceAfterCommaDelimiter: boolean; + InsertSpaceAfterSemicolonInForStatements: boolean; + InsertSpaceBeforeAndAfterBinaryOperators: boolean; + InsertSpaceAfterConstructor?: boolean; + InsertSpaceAfterKeywordsInControlFlowStatements: boolean; + InsertSpaceAfterFunctionKeywordForAnonymousFunctions: boolean; + InsertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis: boolean; + InsertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets: boolean; + InsertSpaceAfterOpeningAndBeforeClosingNonemptyBraces?: boolean; + InsertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces: boolean; + InsertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces?: boolean; + InsertSpaceAfterTypeAssertion?: boolean; + InsertSpaceBeforeFunctionParenthesis?: boolean; + PlaceOpenBraceOnNewLineForFunctions: boolean; + PlaceOpenBraceOnNewLineForControlBlocks: boolean; + insertSpaceBeforeTypeAnnotation?: boolean; + } + interface FormatCodeSettings extends EditorSettings { + readonly insertSpaceAfterCommaDelimiter?: boolean; + readonly insertSpaceAfterSemicolonInForStatements?: boolean; + readonly insertSpaceBeforeAndAfterBinaryOperators?: boolean; + readonly insertSpaceAfterConstructor?: boolean; + readonly insertSpaceAfterKeywordsInControlFlowStatements?: boolean; + readonly insertSpaceAfterFunctionKeywordForAnonymousFunctions?: boolean; + readonly insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis?: boolean; + readonly insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets?: boolean; + readonly insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces?: boolean; + readonly insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces?: boolean; + readonly insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces?: boolean; + readonly insertSpaceAfterTypeAssertion?: boolean; + readonly insertSpaceBeforeFunctionParenthesis?: boolean; + readonly placeOpenBraceOnNewLineForFunctions?: boolean; + readonly placeOpenBraceOnNewLineForControlBlocks?: boolean; + readonly insertSpaceBeforeTypeAnnotation?: boolean; + readonly indentMultiLineObjectLiteralBeginningOnBlankLine?: boolean; + } + function getDefaultFormatCodeSettings(newLineCharacter?: string): FormatCodeSettings; + interface DefinitionInfo extends DocumentSpan { + kind: ScriptElementKind; + name: string; + containerKind: ScriptElementKind; + containerName: string; + } + interface DefinitionInfoAndBoundSpan { + definitions?: ReadonlyArray; + textSpan: TextSpan; + } + interface ReferencedSymbolDefinitionInfo extends DefinitionInfo { + displayParts: SymbolDisplayPart[]; + } + interface ReferencedSymbol { + definition: ReferencedSymbolDefinitionInfo; + references: ReferenceEntry[]; + } + enum SymbolDisplayPartKind { + aliasName = 0, + className = 1, + enumName = 2, + fieldName = 3, + interfaceName = 4, + keyword = 5, + lineBreak = 6, + numericLiteral = 7, + stringLiteral = 8, + localName = 9, + methodName = 10, + moduleName = 11, + operator = 12, + parameterName = 13, + propertyName = 14, + punctuation = 15, + space = 16, + text = 17, + typeParameterName = 18, + enumMemberName = 19, + functionName = 20, + regularExpressionLiteral = 21 + } + interface SymbolDisplayPart { + text: string; + kind: string; + } + interface JSDocTagInfo { + name: string; + text?: string; + } + interface QuickInfo { + kind: ScriptElementKind; + kindModifiers: string; + textSpan: TextSpan; + displayParts?: SymbolDisplayPart[]; + documentation?: SymbolDisplayPart[]; + tags?: JSDocTagInfo[]; + } + type RenameInfo = RenameInfoSuccess | RenameInfoFailure; + interface RenameInfoSuccess { + canRename: true; + /** + * File or directory to rename. + * If set, `getEditsForFileRename` should be called instead of `findRenameLocations`. + */ + fileToRename?: string; + displayName: string; + fullDisplayName: string; + kind: ScriptElementKind; + kindModifiers: string; + triggerSpan: TextSpan; + } + interface RenameInfoFailure { + canRename: false; + localizedErrorMessage: string; + } + interface SignatureHelpParameter { + name: string; + documentation: SymbolDisplayPart[]; + displayParts: SymbolDisplayPart[]; + isOptional: boolean; + } + /** + * Represents a single signature to show in signature help. + * The id is used for subsequent calls into the language service to ask questions about the + * signature help item in the context of any documents that have been updated. i.e. after + * an edit has happened, while signature help is still active, the host can ask important + * questions like 'what parameter is the user currently contained within?'. + */ + interface SignatureHelpItem { + isVariadic: boolean; + prefixDisplayParts: SymbolDisplayPart[]; + suffixDisplayParts: SymbolDisplayPart[]; + separatorDisplayParts: SymbolDisplayPart[]; + parameters: SignatureHelpParameter[]; + documentation: SymbolDisplayPart[]; + tags: JSDocTagInfo[]; + } + /** + * Represents a set of signature help items, and the preferred item that should be selected. + */ + interface SignatureHelpItems { + items: SignatureHelpItem[]; + applicableSpan: TextSpan; + selectedItemIndex: number; + argumentIndex: number; + argumentCount: number; + } + interface CompletionInfo { + /** Not true for all glboal completions. This will be true if the enclosing scope matches a few syntax kinds. See `isSnippetScope`. */ + isGlobalCompletion: boolean; + isMemberCompletion: boolean; + /** + * true when the current location also allows for a new identifier + */ + isNewIdentifierLocation: boolean; + entries: CompletionEntry[]; + } + interface CompletionEntry { + name: string; + kind: ScriptElementKind; + kindModifiers?: string; + sortText: string; + insertText?: string; + /** + * An optional span that indicates the text to be replaced by this completion item. + * If present, this span should be used instead of the default one. + * It will be set if the required span differs from the one generated by the default replacement behavior. + */ + replacementSpan?: TextSpan; + hasAction?: true; + source?: string; + isRecommended?: true; + } + interface CompletionEntryDetails { + name: string; + kind: ScriptElementKind; + kindModifiers: string; + displayParts: SymbolDisplayPart[]; + documentation?: SymbolDisplayPart[]; + tags?: JSDocTagInfo[]; + codeActions?: CodeAction[]; + source?: SymbolDisplayPart[]; + } + interface OutliningSpan { + /** The span of the document to actually collapse. */ + textSpan: TextSpan; + /** The span of the document to display when the user hovers over the collapsed span. */ + hintSpan: TextSpan; + /** The text to display in the editor for the collapsed region. */ + bannerText: string; + /** + * Whether or not this region should be automatically collapsed when + * the 'Collapse to Definitions' command is invoked. + */ + autoCollapse: boolean; + /** + * Classification of the contents of the span + */ + kind: OutliningSpanKind; + } + enum OutliningSpanKind { + /** Single or multi-line comments */ + Comment = "comment", + /** Sections marked by '// #region' and '// #endregion' comments */ + Region = "region", + /** Declarations and expressions */ + Code = "code", + /** Contiguous blocks of import declarations */ + Imports = "imports" + } + enum OutputFileType { + JavaScript = 0, + SourceMap = 1, + Declaration = 2 + } + enum EndOfLineState { + None = 0, + InMultiLineCommentTrivia = 1, + InSingleQuoteStringLiteral = 2, + InDoubleQuoteStringLiteral = 3, + InTemplateHeadOrNoSubstitutionTemplate = 4, + InTemplateMiddleOrTail = 5, + InTemplateSubstitutionPosition = 6 + } + enum TokenClass { + Punctuation = 0, + Keyword = 1, + Operator = 2, + Comment = 3, + Whitespace = 4, + Identifier = 5, + NumberLiteral = 6, + BigIntLiteral = 7, + StringLiteral = 8, + RegExpLiteral = 9 + } + interface ClassificationResult { + finalLexState: EndOfLineState; + entries: ClassificationInfo[]; + } + interface ClassificationInfo { + length: number; + classification: TokenClass; + } + interface Classifier { + /** + * Gives lexical classifications of tokens on a line without any syntactic context. + * For instance, a token consisting of the text 'string' can be either an identifier + * named 'string' or the keyword 'string', however, because this classifier is not aware, + * it relies on certain heuristics to give acceptable results. For classifications where + * speed trumps accuracy, this function is preferable; however, for true accuracy, the + * syntactic classifier is ideal. In fact, in certain editing scenarios, combining the + * lexical, syntactic, and semantic classifiers may issue the best user experience. + * + * @param text The text of a line to classify. + * @param lexState The state of the lexical classifier at the end of the previous line. + * @param syntacticClassifierAbsent Whether the client is *not* using a syntactic classifier. + * If there is no syntactic classifier (syntacticClassifierAbsent=true), + * certain heuristics may be used in its place; however, if there is a + * syntactic classifier (syntacticClassifierAbsent=false), certain + * classifications which may be incorrectly categorized will be given + * back as Identifiers in order to allow the syntactic classifier to + * subsume the classification. + * @deprecated Use getLexicalClassifications instead. + */ + getClassificationsForLine(text: string, lexState: EndOfLineState, syntacticClassifierAbsent: boolean): ClassificationResult; + getEncodedLexicalClassifications(text: string, endOfLineState: EndOfLineState, syntacticClassifierAbsent: boolean): Classifications; + } + enum ScriptElementKind { + unknown = "", + warning = "warning", + /** predefined type (void) or keyword (class) */ + keyword = "keyword", + /** top level script node */ + scriptElement = "script", + /** module foo {} */ + moduleElement = "module", + /** class X {} */ + classElement = "class", + /** var x = class X {} */ + localClassElement = "local class", + /** interface Y {} */ + interfaceElement = "interface", + /** type T = ... */ + typeElement = "type", + /** enum E */ + enumElement = "enum", + enumMemberElement = "enum member", + /** + * Inside module and script only + * const v = .. + */ + variableElement = "var", + /** Inside function */ + localVariableElement = "local var", + /** + * Inside module and script only + * function f() { } + */ + functionElement = "function", + /** Inside function */ + localFunctionElement = "local function", + /** class X { [public|private]* foo() {} } */ + memberFunctionElement = "method", + /** class X { [public|private]* [get|set] foo:number; } */ + memberGetAccessorElement = "getter", + memberSetAccessorElement = "setter", + /** + * class X { [public|private]* foo:number; } + * interface Y { foo:number; } + */ + memberVariableElement = "property", + /** class X { constructor() { } } */ + constructorImplementationElement = "constructor", + /** interface Y { ():number; } */ + callSignatureElement = "call", + /** interface Y { []:number; } */ + indexSignatureElement = "index", + /** interface Y { new():Y; } */ + constructSignatureElement = "construct", + /** function foo(*Y*: string) */ + parameterElement = "parameter", + typeParameterElement = "type parameter", + primitiveType = "primitive type", + label = "label", + alias = "alias", + constElement = "const", + letElement = "let", + directory = "directory", + externalModuleName = "external module name", + /** + * + */ + jsxAttribute = "JSX attribute", + /** String literal */ + string = "string" + } + enum ScriptElementKindModifier { + none = "", + publicMemberModifier = "public", + privateMemberModifier = "private", + protectedMemberModifier = "protected", + exportedModifier = "export", + ambientModifier = "declare", + staticModifier = "static", + abstractModifier = "abstract", + optionalModifier = "optional", + dtsModifier = ".d.ts", + tsModifier = ".ts", + tsxModifier = ".tsx", + jsModifier = ".js", + jsxModifier = ".jsx", + jsonModifier = ".json" + } + enum ClassificationTypeNames { + comment = "comment", + identifier = "identifier", + keyword = "keyword", + numericLiteral = "number", + bigintLiteral = "bigint", + operator = "operator", + stringLiteral = "string", + whiteSpace = "whitespace", + text = "text", + punctuation = "punctuation", + className = "class name", + enumName = "enum name", + interfaceName = "interface name", + moduleName = "module name", + typeParameterName = "type parameter name", + typeAliasName = "type alias name", + parameterName = "parameter name", + docCommentTagName = "doc comment tag name", + jsxOpenTagName = "jsx open tag name", + jsxCloseTagName = "jsx close tag name", + jsxSelfClosingTagName = "jsx self closing tag name", + jsxAttribute = "jsx attribute", + jsxText = "jsx text", + jsxAttributeStringLiteralValue = "jsx attribute string literal value" + } + enum ClassificationType { + comment = 1, + identifier = 2, + keyword = 3, + numericLiteral = 4, + operator = 5, + stringLiteral = 6, + regularExpressionLiteral = 7, + whiteSpace = 8, + text = 9, + punctuation = 10, + className = 11, + enumName = 12, + interfaceName = 13, + moduleName = 14, + typeParameterName = 15, + typeAliasName = 16, + parameterName = 17, + docCommentTagName = 18, + jsxOpenTagName = 19, + jsxCloseTagName = 20, + jsxSelfClosingTagName = 21, + jsxAttribute = 22, + jsxText = 23, + jsxAttributeStringLiteralValue = 24, + bigintLiteral = 25 + } +} +declare namespace ts { + function createClassifier(): Classifier; +} +declare namespace ts { + /** + * The document registry represents a store of SourceFile objects that can be shared between + * multiple LanguageService instances. A LanguageService instance holds on the SourceFile (AST) + * of files in the context. + * SourceFile objects account for most of the memory usage by the language service. Sharing + * the same DocumentRegistry instance between different instances of LanguageService allow + * for more efficient memory utilization since all projects will share at least the library + * file (lib.d.ts). + * + * A more advanced use of the document registry is to serialize sourceFile objects to disk + * and re-hydrate them when needed. + * + * To create a default DocumentRegistry, use createDocumentRegistry to create one, and pass it + * to all subsequent createLanguageService calls. + */ + interface DocumentRegistry { + /** + * Request a stored SourceFile with a given fileName and compilationSettings. + * The first call to acquire will call createLanguageServiceSourceFile to generate + * the SourceFile if was not found in the registry. + * + * @param fileName The name of the file requested + * @param compilationSettings Some compilation settings like target affects the + * shape of a the resulting SourceFile. This allows the DocumentRegistry to store + * multiple copies of the same file for different compilation settings. + * @param scriptSnapshot Text of the file. Only used if the file was not found + * in the registry and a new one was created. + * @param version Current version of the file. Only used if the file was not found + * in the registry and a new one was created. + */ + acquireDocument(fileName: string, compilationSettings: CompilerOptions, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind): SourceFile; + acquireDocumentWithKey(fileName: string, path: Path, compilationSettings: CompilerOptions, key: DocumentRegistryBucketKey, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind): SourceFile; + /** + * Request an updated version of an already existing SourceFile with a given fileName + * and compilationSettings. The update will in-turn call updateLanguageServiceSourceFile + * to get an updated SourceFile. + * + * @param fileName The name of the file requested + * @param compilationSettings Some compilation settings like target affects the + * shape of a the resulting SourceFile. This allows the DocumentRegistry to store + * multiple copies of the same file for different compilation settings. + * @param scriptSnapshot Text of the file. + * @param version Current version of the file. + */ + updateDocument(fileName: string, compilationSettings: CompilerOptions, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind): SourceFile; + updateDocumentWithKey(fileName: string, path: Path, compilationSettings: CompilerOptions, key: DocumentRegistryBucketKey, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind): SourceFile; + getKeyForCompilationSettings(settings: CompilerOptions): DocumentRegistryBucketKey; + /** + * Informs the DocumentRegistry that a file is not needed any longer. + * + * Note: It is not allowed to call release on a SourceFile that was not acquired from + * this registry originally. + * + * @param fileName The name of the file to be released + * @param compilationSettings The compilation settings used to acquire the file + */ + releaseDocument(fileName: string, compilationSettings: CompilerOptions): void; + releaseDocumentWithKey(path: Path, key: DocumentRegistryBucketKey): void; + reportStats(): string; + } + type DocumentRegistryBucketKey = string & { + __bucketKey: any; + }; + function createDocumentRegistry(useCaseSensitiveFileNames?: boolean, currentDirectory?: string): DocumentRegistry; +} +declare namespace ts { + function preProcessFile(sourceText: string, readImportFiles?: boolean, detectJavaScriptImports?: boolean): PreProcessedFileInfo; +} +declare namespace ts { + interface TranspileOptions { + compilerOptions?: CompilerOptions; + fileName?: string; + reportDiagnostics?: boolean; + moduleName?: string; + renamedDependencies?: MapLike; + transformers?: CustomTransformers; + } + interface TranspileOutput { + outputText: string; + diagnostics?: Diagnostic[]; + sourceMapText?: string; + } + function transpileModule(input: string, transpileOptions: TranspileOptions): TranspileOutput; + function transpile(input: string, compilerOptions?: CompilerOptions, fileName?: string, diagnostics?: Diagnostic[], moduleName?: string): string; +} +declare namespace ts { + function generateTypesForModule(name: string, moduleValue: unknown, formatSettings: FormatCodeSettings): string; + function generateTypesForGlobal(name: string, globalValue: unknown, formatSettings: FormatCodeSettings): string; +} +declare namespace ts { + /** The version of the language service API */ + const servicesVersion = "0.8"; + function toEditorSettings(options: EditorOptions | EditorSettings): EditorSettings; + function displayPartsToString(displayParts: SymbolDisplayPart[] | undefined): string; + function getDefaultCompilerOptions(): CompilerOptions; + function getSupportedCodeFixes(): string[]; + function createLanguageServiceSourceFile(fileName: string, scriptSnapshot: IScriptSnapshot, scriptTarget: ScriptTarget, version: string, setNodeParents: boolean, scriptKind?: ScriptKind): SourceFile; + let disableIncrementalParsing: boolean; + function updateLanguageServiceSourceFile(sourceFile: SourceFile, scriptSnapshot: IScriptSnapshot, version: string, textChangeRange: TextChangeRange | undefined, aggressiveChecks?: boolean): SourceFile; + function createLanguageService(host: LanguageServiceHost, documentRegistry?: DocumentRegistry, syntaxOnly?: boolean): LanguageService; + /** + * Get the path of the default library files (lib.d.ts) as distributed with the typescript + * node package. + * The functionality is not supported if the ts module is consumed outside of a node module. + */ + function getDefaultLibFilePath(options: CompilerOptions): string; +} +declare namespace ts { + /** + * Transform one or more nodes using the supplied transformers. + * @param source A single `Node` or an array of `Node` objects. + * @param transformers An array of `TransformerFactory` callbacks used to process the transformation. + * @param compilerOptions Optional compiler options. + */ + function transform(source: T | T[], transformers: TransformerFactory[], compilerOptions?: CompilerOptions): TransformationResult; +} diff --git a/node_modules/@zeit/ncc/dist/ncc/loaders/uncacheable.js b/node_modules/@zeit/ncc/dist/ncc/loaders/uncacheable.js new file mode 100644 index 0000000..28e5af3 --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/loaders/uncacheable.js @@ -0,0 +1,4 @@ +module.exports = function (input, map) { + this.cacheable(false); + return this.callback(null, input, map); +}; \ No newline at end of file diff --git a/node_modules/@zeit/ncc/dist/ncc/readme.md b/node_modules/@zeit/ncc/dist/ncc/readme.md new file mode 100644 index 0000000..36574a3 --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/readme.md @@ -0,0 +1,11 @@ +# About this directory + +This directory will contain: + +- `index.js` the main ncc bundle +- `cli.js` the CLI bundle, excluding the main ncc bundle +- `typescript.js` the TypeScript detection file + +These are generated by the `build` step defined in `../../package.json`. + +These files are published to npm. diff --git a/node_modules/@zeit/ncc/dist/ncc/sourcemap-register.js b/node_modules/@zeit/ncc/dist/ncc/sourcemap-register.js new file mode 100644 index 0000000..2821997 --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/sourcemap-register.js @@ -0,0 +1,6 @@ +const { readFileSync, writeFileSync } = require('fs'), { Script } = require('vm'), { wrap } = require('module'); +const source = readFileSync(__dirname + '/sourcemap-register.js.cache.js', 'utf-8'); +const cachedData = !process.pkg && require('process').platform !== 'win32' && readFileSync(__dirname + '/sourcemap-register.js.cache'); +const script = new Script(wrap(source), cachedData ? { cachedData } : {}); +(script.runInThisContext())(exports, require, module, __filename, __dirname); +if (cachedData) process.on('exit', () => { try { writeFileSync(__dirname + '/sourcemap-register.js.cache', script.createCachedData()); } catch(e) {} }); diff --git a/node_modules/@zeit/ncc/dist/ncc/sourcemap-register.js.cache b/node_modules/@zeit/ncc/dist/ncc/sourcemap-register.js.cache new file mode 100644 index 0000000..e280f7e Binary files /dev/null and b/node_modules/@zeit/ncc/dist/ncc/sourcemap-register.js.cache differ diff --git a/node_modules/@zeit/ncc/dist/ncc/sourcemap-register.js.cache.js b/node_modules/@zeit/ncc/dist/ncc/sourcemap-register.js.cache.js new file mode 100644 index 0000000..c956d60 --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/sourcemap-register.js.cache.js @@ -0,0 +1,3906 @@ +module.exports = +/******/ (function(modules, runtime) { // webpackBootstrap +/******/ "use strict"; +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ __webpack_require__.ab = __dirname + "/"; +/******/ +/******/ // the startup function +/******/ function startup() { +/******/ // Load entry module and return exports +/******/ return __webpack_require__(645); +/******/ }; +/******/ +/******/ // run startup +/******/ return startup(); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 164: +/***/ (function(__unusedmodule, exports) { + +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +exports.GREATEST_LOWER_BOUND = 1; +exports.LEAST_UPPER_BOUND = 2; + +/** + * Recursive implementation of binary search. + * + * @param aLow Indices here and lower do not contain the needle. + * @param aHigh Indices here and higher do not contain the needle. + * @param aNeedle The element being searched for. + * @param aHaystack The non-empty array being searched. + * @param aCompare Function which takes two elements and returns -1, 0, or 1. + * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or + * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + */ +function recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) { + // This function terminates when one of the following is true: + // + // 1. We find the exact element we are looking for. + // + // 2. We did not find the exact element, but we can return the index of + // the next-closest element. + // + // 3. We did not find the exact element, and there is no next-closest + // element than the one we are searching for, so we return -1. + var mid = Math.floor((aHigh - aLow) / 2) + aLow; + var cmp = aCompare(aNeedle, aHaystack[mid], true); + if (cmp === 0) { + // Found the element we are looking for. + return mid; + } + else if (cmp > 0) { + // Our needle is greater than aHaystack[mid]. + if (aHigh - mid > 1) { + // The element is in the upper half. + return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare, aBias); + } + + // The exact needle element was not found in this haystack. Determine if + // we are in termination case (3) or (2) and return the appropriate thing. + if (aBias == exports.LEAST_UPPER_BOUND) { + return aHigh < aHaystack.length ? aHigh : -1; + } else { + return mid; + } + } + else { + // Our needle is less than aHaystack[mid]. + if (mid - aLow > 1) { + // The element is in the lower half. + return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare, aBias); + } + + // we are in termination case (3) or (2) and return the appropriate thing. + if (aBias == exports.LEAST_UPPER_BOUND) { + return mid; + } else { + return aLow < 0 ? -1 : aLow; + } + } +} + +/** + * This is an implementation of binary search which will always try and return + * the index of the closest element if there is no exact hit. This is because + * mappings between original and generated line/col pairs are single points, + * and there is an implicit region between each of them, so a miss just means + * that you aren't on the very start of a region. + * + * @param aNeedle The element you are looking for. + * @param aHaystack The array that is being searched. + * @param aCompare A function which takes the needle and an element in the + * array and returns -1, 0, or 1 depending on whether the needle is less + * than, equal to, or greater than the element, respectively. + * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or + * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + * Defaults to 'binarySearch.GREATEST_LOWER_BOUND'. + */ +exports.search = function search(aNeedle, aHaystack, aCompare, aBias) { + if (aHaystack.length === 0) { + return -1; + } + + var index = recursiveSearch(-1, aHaystack.length, aNeedle, aHaystack, + aCompare, aBias || exports.GREATEST_LOWER_BOUND); + if (index < 0) { + return -1; + } + + // We have found either the exact element, or the next-closest element than + // the one we are searching for. However, there may be more than one such + // element. Make sure we always return the smallest of these. + while (index - 1 >= 0) { + if (aCompare(aHaystack[index], aHaystack[index - 1], true) !== 0) { + break; + } + --index; + } + + return index; +}; + + +/***/ }), + +/***/ 215: +/***/ (function(__unusedmodule, exports, __webpack_require__) { + +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + * + * Based on the Base 64 VLQ implementation in Closure Compiler: + * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java + * + * Copyright 2011 The Closure Compiler Authors. All rights reserved. + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +var base64 = __webpack_require__(537); + +// A single base 64 digit can contain 6 bits of data. For the base 64 variable +// length quantities we use in the source map spec, the first bit is the sign, +// the next four bits are the actual value, and the 6th bit is the +// continuation bit. The continuation bit tells us whether there are more +// digits in this value following this digit. +// +// Continuation +// | Sign +// | | +// V V +// 101011 + +var VLQ_BASE_SHIFT = 5; + +// binary: 100000 +var VLQ_BASE = 1 << VLQ_BASE_SHIFT; + +// binary: 011111 +var VLQ_BASE_MASK = VLQ_BASE - 1; + +// binary: 100000 +var VLQ_CONTINUATION_BIT = VLQ_BASE; + +/** + * Converts from a two-complement value to a value where the sign bit is + * placed in the least significant bit. For example, as decimals: + * 1 becomes 2 (10 binary), -1 becomes 3 (11 binary) + * 2 becomes 4 (100 binary), -2 becomes 5 (101 binary) + */ +function toVLQSigned(aValue) { + return aValue < 0 + ? ((-aValue) << 1) + 1 + : (aValue << 1) + 0; +} + +/** + * Converts to a two-complement value from a value where the sign bit is + * placed in the least significant bit. For example, as decimals: + * 2 (10 binary) becomes 1, 3 (11 binary) becomes -1 + * 4 (100 binary) becomes 2, 5 (101 binary) becomes -2 + */ +function fromVLQSigned(aValue) { + var isNegative = (aValue & 1) === 1; + var shifted = aValue >> 1; + return isNegative + ? -shifted + : shifted; +} + +/** + * Returns the base 64 VLQ encoded value. + */ +exports.encode = function base64VLQ_encode(aValue) { + var encoded = ""; + var digit; + + var vlq = toVLQSigned(aValue); + + do { + digit = vlq & VLQ_BASE_MASK; + vlq >>>= VLQ_BASE_SHIFT; + if (vlq > 0) { + // There are still more digits in this value, so we must make sure the + // continuation bit is marked. + digit |= VLQ_CONTINUATION_BIT; + } + encoded += base64.encode(digit); + } while (vlq > 0); + + return encoded; +}; + +/** + * Decodes the next base 64 VLQ value from the given string and returns the + * value and the rest of the string via the out parameter. + */ +exports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) { + var strLen = aStr.length; + var result = 0; + var shift = 0; + var continuation, digit; + + do { + if (aIndex >= strLen) { + throw new Error("Expected more digits in base 64 VLQ value."); + } + + digit = base64.decode(aStr.charCodeAt(aIndex++)); + if (digit === -1) { + throw new Error("Invalid base64 digit: " + aStr.charAt(aIndex - 1)); + } + + continuation = !!(digit & VLQ_CONTINUATION_BIT); + digit &= VLQ_BASE_MASK; + result = result + (digit << shift); + shift += VLQ_BASE_SHIFT; + } while (continuation); + + aOutParam.value = fromVLQSigned(result); + aOutParam.rest = aIndex; +}; + + +/***/ }), + +/***/ 226: +/***/ (function(__unusedmodule, exports) { + +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +// It turns out that some (most?) JavaScript engines don't self-host +// `Array.prototype.sort`. This makes sense because C++ will likely remain +// faster than JS when doing raw CPU-intensive sorting. However, when using a +// custom comparator function, calling back and forth between the VM's C++ and +// JIT'd JS is rather slow *and* loses JIT type information, resulting in +// worse generated code for the comparator function than would be optimal. In +// fact, when sorting with a comparator, these costs outweigh the benefits of +// sorting in C++. By using our own JS-implemented Quick Sort (below), we get +// a ~3500ms mean speed-up in `bench/bench.html`. + +/** + * Swap the elements indexed by `x` and `y` in the array `ary`. + * + * @param {Array} ary + * The array. + * @param {Number} x + * The index of the first item. + * @param {Number} y + * The index of the second item. + */ +function swap(ary, x, y) { + var temp = ary[x]; + ary[x] = ary[y]; + ary[y] = temp; +} + +/** + * Returns a random integer within the range `low .. high` inclusive. + * + * @param {Number} low + * The lower bound on the range. + * @param {Number} high + * The upper bound on the range. + */ +function randomIntInRange(low, high) { + return Math.round(low + (Math.random() * (high - low))); +} + +/** + * The Quick Sort algorithm. + * + * @param {Array} ary + * An array to sort. + * @param {function} comparator + * Function to use to compare two items. + * @param {Number} p + * Start index of the array + * @param {Number} r + * End index of the array + */ +function doQuickSort(ary, comparator, p, r) { + // If our lower bound is less than our upper bound, we (1) partition the + // array into two pieces and (2) recurse on each half. If it is not, this is + // the empty array and our base case. + + if (p < r) { + // (1) Partitioning. + // + // The partitioning chooses a pivot between `p` and `r` and moves all + // elements that are less than or equal to the pivot to the before it, and + // all the elements that are greater than it after it. The effect is that + // once partition is done, the pivot is in the exact place it will be when + // the array is put in sorted order, and it will not need to be moved + // again. This runs in O(n) time. + + // Always choose a random pivot so that an input array which is reverse + // sorted does not cause O(n^2) running time. + var pivotIndex = randomIntInRange(p, r); + var i = p - 1; + + swap(ary, pivotIndex, r); + var pivot = ary[r]; + + // Immediately after `j` is incremented in this loop, the following hold + // true: + // + // * Every element in `ary[p .. i]` is less than or equal to the pivot. + // + // * Every element in `ary[i+1 .. j-1]` is greater than the pivot. + for (var j = p; j < r; j++) { + if (comparator(ary[j], pivot) <= 0) { + i += 1; + swap(ary, i, j); + } + } + + swap(ary, i + 1, j); + var q = i + 1; + + // (2) Recurse on each half. + + doQuickSort(ary, comparator, p, q - 1); + doQuickSort(ary, comparator, q + 1, r); + } +} + +/** + * Sort the given array in-place with the given comparator function. + * + * @param {Array} ary + * An array to sort. + * @param {function} comparator + * Function to use to compare two items. + */ +exports.quickSort = function (ary, comparator) { + doQuickSort(ary, comparator, 0, ary.length - 1); +}; + + +/***/ }), + +/***/ 282: +/***/ (function(module) { + +module.exports = require("module"); + +/***/ }), + +/***/ 284: +/***/ (function(__unusedmodule, exports, __webpack_require__) { + +var SourceMapConsumer = __webpack_require__(596).SourceMapConsumer; +var path = __webpack_require__(622); + +var fs; +try { + fs = __webpack_require__(747); + if (!fs.existsSync || !fs.readFileSync) { + // fs doesn't have all methods we need + fs = null; + } +} catch (err) { + /* nop */ +} + +var bufferFrom = __webpack_require__(650); + +// Only install once if called multiple times +var errorFormatterInstalled = false; +var uncaughtShimInstalled = false; + +// If true, the caches are reset before a stack trace formatting operation +var emptyCacheBetweenOperations = false; + +// Supports {browser, node, auto} +var environment = "auto"; + +// Maps a file path to a string containing the file contents +var fileContentsCache = {}; + +// Maps a file path to a source map for that file +var sourceMapCache = {}; + +// Regex for detecting source maps +var reSourceMap = /^data:application\/json[^,]+base64,/; + +// Priority list of retrieve handlers +var retrieveFileHandlers = []; +var retrieveMapHandlers = []; + +function isInBrowser() { + if (environment === "browser") + return true; + if (environment === "node") + return false; + return ((typeof window !== 'undefined') && (typeof XMLHttpRequest === 'function') && !(window.require && window.module && window.process && window.process.type === "renderer")); +} + +function hasGlobalProcessEventEmitter() { + return ((typeof process === 'object') && (process !== null) && (typeof process.on === 'function')); +} + +function handlerExec(list) { + return function(arg) { + for (var i = 0; i < list.length; i++) { + var ret = list[i](arg); + if (ret) { + return ret; + } + } + return null; + }; +} + +var retrieveFile = handlerExec(retrieveFileHandlers); + +retrieveFileHandlers.push(function(path) { + // Trim the path to make sure there is no extra whitespace. + path = path.trim(); + if (/^file:/.test(path)) { + // existsSync/readFileSync can't handle file protocol, but once stripped, it works + path = path.replace(/file:\/\/\/(\w:)?/, function(protocol, drive) { + return drive ? + '' : // file:///C:/dir/file -> C:/dir/file + '/'; // file:///root-dir/file -> /root-dir/file + }); + } + if (path in fileContentsCache) { + return fileContentsCache[path]; + } + + var contents = ''; + try { + if (!fs) { + // Use SJAX if we are in the browser + var xhr = new XMLHttpRequest(); + xhr.open('GET', path, /** async */ false); + xhr.send(null); + if (xhr.readyState === 4 && xhr.status === 200) { + contents = xhr.responseText; + } + } else if (fs.existsSync(path)) { + // Otherwise, use the filesystem + contents = fs.readFileSync(path, 'utf8'); + } + } catch (er) { + /* ignore any errors */ + } + + return fileContentsCache[path] = contents; +}); + +// Support URLs relative to a directory, but be careful about a protocol prefix +// in case we are in the browser (i.e. directories may start with "http://" or "file:///") +function supportRelativeURL(file, url) { + if (!file) return url; + var dir = path.dirname(file); + var match = /^\w+:\/\/[^\/]*/.exec(dir); + var protocol = match ? match[0] : ''; + var startPath = dir.slice(protocol.length); + if (protocol && /^\/\w\:/.test(startPath)) { + // handle file:///C:/ paths + protocol += '/'; + return protocol + path.resolve(dir.slice(protocol.length), url).replace(/\\/g, '/'); + } + return protocol + path.resolve(dir.slice(protocol.length), url); +} + +function retrieveSourceMapURL(source) { + var fileData; + + if (isInBrowser()) { + try { + var xhr = new XMLHttpRequest(); + xhr.open('GET', source, false); + xhr.send(null); + fileData = xhr.readyState === 4 ? xhr.responseText : null; + + // Support providing a sourceMappingURL via the SourceMap header + var sourceMapHeader = xhr.getResponseHeader("SourceMap") || + xhr.getResponseHeader("X-SourceMap"); + if (sourceMapHeader) { + return sourceMapHeader; + } + } catch (e) { + } + } + + // Get the URL of the source map + fileData = retrieveFile(source); + var re = /(?:\/\/[@#][ \t]+sourceMappingURL=([^\s'"]+?)[ \t]*$)|(?:\/\*[@#][ \t]+sourceMappingURL=([^\*]+?)[ \t]*(?:\*\/)[ \t]*$)/mg; + // Keep executing the search to find the *last* sourceMappingURL to avoid + // picking up sourceMappingURLs from comments, strings, etc. + var lastMatch, match; + while (match = re.exec(fileData)) lastMatch = match; + if (!lastMatch) return null; + return lastMatch[1]; +}; + +// Can be overridden by the retrieveSourceMap option to install. Takes a +// generated source filename; returns a {map, optional url} object, or null if +// there is no source map. The map field may be either a string or the parsed +// JSON object (ie, it must be a valid argument to the SourceMapConsumer +// constructor). +var retrieveSourceMap = handlerExec(retrieveMapHandlers); +retrieveMapHandlers.push(function(source) { + var sourceMappingURL = retrieveSourceMapURL(source); + if (!sourceMappingURL) return null; + + // Read the contents of the source map + var sourceMapData; + if (reSourceMap.test(sourceMappingURL)) { + // Support source map URL as a data url + var rawData = sourceMappingURL.slice(sourceMappingURL.indexOf(',') + 1); + sourceMapData = bufferFrom(rawData, "base64").toString(); + sourceMappingURL = source; + } else { + // Support source map URLs relative to the source URL + sourceMappingURL = supportRelativeURL(source, sourceMappingURL); + sourceMapData = retrieveFile(sourceMappingURL); + } + + if (!sourceMapData) { + return null; + } + + return { + url: sourceMappingURL, + map: sourceMapData + }; +}); + +function mapSourcePosition(position) { + var sourceMap = sourceMapCache[position.source]; + if (!sourceMap) { + // Call the (overrideable) retrieveSourceMap function to get the source map. + var urlAndMap = retrieveSourceMap(position.source); + if (urlAndMap) { + sourceMap = sourceMapCache[position.source] = { + url: urlAndMap.url, + map: new SourceMapConsumer(urlAndMap.map) + }; + + // Load all sources stored inline with the source map into the file cache + // to pretend like they are already loaded. They may not exist on disk. + if (sourceMap.map.sourcesContent) { + sourceMap.map.sources.forEach(function(source, i) { + var contents = sourceMap.map.sourcesContent[i]; + if (contents) { + var url = supportRelativeURL(sourceMap.url, source); + fileContentsCache[url] = contents; + } + }); + } + } else { + sourceMap = sourceMapCache[position.source] = { + url: null, + map: null + }; + } + } + + // Resolve the source URL relative to the URL of the source map + if (sourceMap && sourceMap.map) { + var originalPosition = sourceMap.map.originalPositionFor(position); + + // Only return the original position if a matching line was found. If no + // matching line is found then we return position instead, which will cause + // the stack trace to print the path and line for the compiled file. It is + // better to give a precise location in the compiled file than a vague + // location in the original file. + if (originalPosition.source !== null) { + originalPosition.source = supportRelativeURL( + sourceMap.url, originalPosition.source); + return originalPosition; + } + } + + return position; +} + +// Parses code generated by FormatEvalOrigin(), a function inside V8: +// https://code.google.com/p/v8/source/browse/trunk/src/messages.js +function mapEvalOrigin(origin) { + // Most eval() calls are in this format + var match = /^eval at ([^(]+) \((.+):(\d+):(\d+)\)$/.exec(origin); + if (match) { + var position = mapSourcePosition({ + source: match[2], + line: +match[3], + column: match[4] - 1 + }); + return 'eval at ' + match[1] + ' (' + position.source + ':' + + position.line + ':' + (position.column + 1) + ')'; + } + + // Parse nested eval() calls using recursion + match = /^eval at ([^(]+) \((.+)\)$/.exec(origin); + if (match) { + return 'eval at ' + match[1] + ' (' + mapEvalOrigin(match[2]) + ')'; + } + + // Make sure we still return useful information if we didn't find anything + return origin; +} + +// This is copied almost verbatim from the V8 source code at +// https://code.google.com/p/v8/source/browse/trunk/src/messages.js. The +// implementation of wrapCallSite() used to just forward to the actual source +// code of CallSite.prototype.toString but unfortunately a new release of V8 +// did something to the prototype chain and broke the shim. The only fix I +// could find was copy/paste. +function CallSiteToString() { + var fileName; + var fileLocation = ""; + if (this.isNative()) { + fileLocation = "native"; + } else { + fileName = this.getScriptNameOrSourceURL(); + if (!fileName && this.isEval()) { + fileLocation = this.getEvalOrigin(); + fileLocation += ", "; // Expecting source position to follow. + } + + if (fileName) { + fileLocation += fileName; + } else { + // Source code does not originate from a file and is not native, but we + // can still get the source position inside the source string, e.g. in + // an eval string. + fileLocation += ""; + } + var lineNumber = this.getLineNumber(); + if (lineNumber != null) { + fileLocation += ":" + lineNumber; + var columnNumber = this.getColumnNumber(); + if (columnNumber) { + fileLocation += ":" + columnNumber; + } + } + } + + var line = ""; + var functionName = this.getFunctionName(); + var addSuffix = true; + var isConstructor = this.isConstructor(); + var isMethodCall = !(this.isToplevel() || isConstructor); + if (isMethodCall) { + var typeName = this.getTypeName(); + // Fixes shim to be backward compatable with Node v0 to v4 + if (typeName === "[object Object]") { + typeName = "null"; + } + var methodName = this.getMethodName(); + if (functionName) { + if (typeName && functionName.indexOf(typeName) != 0) { + line += typeName + "."; + } + line += functionName; + if (methodName && functionName.indexOf("." + methodName) != functionName.length - methodName.length - 1) { + line += " [as " + methodName + "]"; + } + } else { + line += typeName + "." + (methodName || ""); + } + } else if (isConstructor) { + line += "new " + (functionName || ""); + } else if (functionName) { + line += functionName; + } else { + line += fileLocation; + addSuffix = false; + } + if (addSuffix) { + line += " (" + fileLocation + ")"; + } + return line; +} + +function cloneCallSite(frame) { + var object = {}; + Object.getOwnPropertyNames(Object.getPrototypeOf(frame)).forEach(function(name) { + object[name] = /^(?:is|get)/.test(name) ? function() { return frame[name].call(frame); } : frame[name]; + }); + object.toString = CallSiteToString; + return object; +} + +function wrapCallSite(frame) { + if(frame.isNative()) { + return frame; + } + + // Most call sites will return the source file from getFileName(), but code + // passed to eval() ending in "//# sourceURL=..." will return the source file + // from getScriptNameOrSourceURL() instead + var source = frame.getFileName() || frame.getScriptNameOrSourceURL(); + if (source) { + var line = frame.getLineNumber(); + var column = frame.getColumnNumber() - 1; + + // Fix position in Node where some (internal) code is prepended. + // See https://github.com/evanw/node-source-map-support/issues/36 + var headerLength = 62; + if (line === 1 && column > headerLength && !isInBrowser() && !frame.isEval()) { + column -= headerLength; + } + + var position = mapSourcePosition({ + source: source, + line: line, + column: column + }); + frame = cloneCallSite(frame); + var originalFunctionName = frame.getFunctionName; + frame.getFunctionName = function() { return position.name || originalFunctionName(); }; + frame.getFileName = function() { return position.source; }; + frame.getLineNumber = function() { return position.line; }; + frame.getColumnNumber = function() { return position.column + 1; }; + frame.getScriptNameOrSourceURL = function() { return position.source; }; + return frame; + } + + // Code called using eval() needs special handling + var origin = frame.isEval() && frame.getEvalOrigin(); + if (origin) { + origin = mapEvalOrigin(origin); + frame = cloneCallSite(frame); + frame.getEvalOrigin = function() { return origin; }; + return frame; + } + + // If we get here then we were unable to change the source position + return frame; +} + +// This function is part of the V8 stack trace API, for more info see: +// http://code.google.com/p/v8/wiki/JavaScriptStackTraceApi +function prepareStackTrace(error, stack) { + if (emptyCacheBetweenOperations) { + fileContentsCache = {}; + sourceMapCache = {}; + } + + return error + stack.map(function(frame) { + return '\n at ' + wrapCallSite(frame); + }).join(''); +} + +// Generate position and snippet of original source with pointer +function getErrorSource(error) { + var match = /\n at [^(]+ \((.*):(\d+):(\d+)\)/.exec(error.stack); + if (match) { + var source = match[1]; + var line = +match[2]; + var column = +match[3]; + + // Support the inline sourceContents inside the source map + var contents = fileContentsCache[source]; + + // Support files on disk + if (!contents && fs && fs.existsSync(source)) { + try { + contents = fs.readFileSync(source, 'utf8'); + } catch (er) { + contents = ''; + } + } + + // Format the line from the original source code like node does + if (contents) { + var code = contents.split(/(?:\r\n|\r|\n)/)[line - 1]; + if (code) { + return source + ':' + line + '\n' + code + '\n' + + new Array(column).join(' ') + '^'; + } + } + } + return null; +} + +function printErrorAndExit (error) { + var source = getErrorSource(error); + + // Ensure error is printed synchronously and not truncated + if (process.stderr._handle && process.stderr._handle.setBlocking) { + process.stderr._handle.setBlocking(true); + } + + if (source) { + console.error(); + console.error(source); + } + + console.error(error.stack); + process.exit(1); +} + +function shimEmitUncaughtException () { + var origEmit = process.emit; + + process.emit = function (type) { + if (type === 'uncaughtException') { + var hasStack = (arguments[1] && arguments[1].stack); + var hasListeners = (this.listeners(type).length > 0); + + if (hasStack && !hasListeners) { + return printErrorAndExit(arguments[1]); + } + } + + return origEmit.apply(this, arguments); + }; +} + +var originalRetrieveFileHandlers = retrieveFileHandlers.slice(0); +var originalRetrieveMapHandlers = retrieveMapHandlers.slice(0); + +exports.wrapCallSite = wrapCallSite; +exports.getErrorSource = getErrorSource; +exports.mapSourcePosition = mapSourcePosition; +exports.retrieveSourceMap = retrieveSourceMap; + +exports.install = function(options) { + options = options || {}; + + if (options.environment) { + environment = options.environment; + if (["node", "browser", "auto"].indexOf(environment) === -1) { + throw new Error("environment " + environment + " was unknown. Available options are {auto, browser, node}") + } + } + + // Allow sources to be found by methods other than reading the files + // directly from disk. + if (options.retrieveFile) { + if (options.overrideRetrieveFile) { + retrieveFileHandlers.length = 0; + } + + retrieveFileHandlers.unshift(options.retrieveFile); + } + + // Allow source maps to be found by methods other than reading the files + // directly from disk. + if (options.retrieveSourceMap) { + if (options.overrideRetrieveSourceMap) { + retrieveMapHandlers.length = 0; + } + + retrieveMapHandlers.unshift(options.retrieveSourceMap); + } + + // Support runtime transpilers that include inline source maps + if (options.hookRequire && !isInBrowser()) { + var Module; + try { + Module = __webpack_require__(282); + } catch (err) { + // NOP: Loading in catch block to convert webpack error to warning. + } + var $compile = Module.prototype._compile; + + if (!$compile.__sourceMapSupport) { + Module.prototype._compile = function(content, filename) { + fileContentsCache[filename] = content; + sourceMapCache[filename] = undefined; + return $compile.call(this, content, filename); + }; + + Module.prototype._compile.__sourceMapSupport = true; + } + } + + // Configure options + if (!emptyCacheBetweenOperations) { + emptyCacheBetweenOperations = 'emptyCacheBetweenOperations' in options ? + options.emptyCacheBetweenOperations : false; + } + + // Install the error reformatter + if (!errorFormatterInstalled) { + errorFormatterInstalled = true; + Error.prepareStackTrace = prepareStackTrace; + } + + if (!uncaughtShimInstalled) { + var installHandler = 'handleUncaughtExceptions' in options ? + options.handleUncaughtExceptions : true; + + // Provide the option to not install the uncaught exception handler. This is + // to support other uncaught exception handlers (in test frameworks, for + // example). If this handler is not installed and there are no other uncaught + // exception handlers, uncaught exceptions will be caught by node's built-in + // exception handler and the process will still be terminated. However, the + // generated JavaScript code will be shown above the stack trace instead of + // the original source code. + if (installHandler && hasGlobalProcessEventEmitter()) { + uncaughtShimInstalled = true; + shimEmitUncaughtException(); + } + } +}; + +exports.resetRetrieveHandlers = function() { + retrieveFileHandlers.length = 0; + retrieveMapHandlers.length = 0; + + retrieveFileHandlers = originalRetrieveFileHandlers.slice(0); + retrieveMapHandlers = originalRetrieveMapHandlers.slice(0); +} + + +/***/ }), + +/***/ 327: +/***/ (function(__unusedmodule, exports, __webpack_require__) { + +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var util = __webpack_require__(983); +var binarySearch = __webpack_require__(164); +var ArraySet = __webpack_require__(837).ArraySet; +var base64VLQ = __webpack_require__(215); +var quickSort = __webpack_require__(226).quickSort; + +function SourceMapConsumer(aSourceMap, aSourceMapURL) { + var sourceMap = aSourceMap; + if (typeof aSourceMap === 'string') { + sourceMap = util.parseSourceMapInput(aSourceMap); + } + + return sourceMap.sections != null + ? new IndexedSourceMapConsumer(sourceMap, aSourceMapURL) + : new BasicSourceMapConsumer(sourceMap, aSourceMapURL); +} + +SourceMapConsumer.fromSourceMap = function(aSourceMap, aSourceMapURL) { + return BasicSourceMapConsumer.fromSourceMap(aSourceMap, aSourceMapURL); +} + +/** + * The version of the source mapping spec that we are consuming. + */ +SourceMapConsumer.prototype._version = 3; + +// `__generatedMappings` and `__originalMappings` are arrays that hold the +// parsed mapping coordinates from the source map's "mappings" attribute. They +// are lazily instantiated, accessed via the `_generatedMappings` and +// `_originalMappings` getters respectively, and we only parse the mappings +// and create these arrays once queried for a source location. We jump through +// these hoops because there can be many thousands of mappings, and parsing +// them is expensive, so we only want to do it if we must. +// +// Each object in the arrays is of the form: +// +// { +// generatedLine: The line number in the generated code, +// generatedColumn: The column number in the generated code, +// source: The path to the original source file that generated this +// chunk of code, +// originalLine: The line number in the original source that +// corresponds to this chunk of generated code, +// originalColumn: The column number in the original source that +// corresponds to this chunk of generated code, +// name: The name of the original symbol which generated this chunk of +// code. +// } +// +// All properties except for `generatedLine` and `generatedColumn` can be +// `null`. +// +// `_generatedMappings` is ordered by the generated positions. +// +// `_originalMappings` is ordered by the original positions. + +SourceMapConsumer.prototype.__generatedMappings = null; +Object.defineProperty(SourceMapConsumer.prototype, '_generatedMappings', { + configurable: true, + enumerable: true, + get: function () { + if (!this.__generatedMappings) { + this._parseMappings(this._mappings, this.sourceRoot); + } + + return this.__generatedMappings; + } +}); + +SourceMapConsumer.prototype.__originalMappings = null; +Object.defineProperty(SourceMapConsumer.prototype, '_originalMappings', { + configurable: true, + enumerable: true, + get: function () { + if (!this.__originalMappings) { + this._parseMappings(this._mappings, this.sourceRoot); + } + + return this.__originalMappings; + } +}); + +SourceMapConsumer.prototype._charIsMappingSeparator = + function SourceMapConsumer_charIsMappingSeparator(aStr, index) { + var c = aStr.charAt(index); + return c === ";" || c === ","; + }; + +/** + * Parse the mappings in a string in to a data structure which we can easily + * query (the ordered arrays in the `this.__generatedMappings` and + * `this.__originalMappings` properties). + */ +SourceMapConsumer.prototype._parseMappings = + function SourceMapConsumer_parseMappings(aStr, aSourceRoot) { + throw new Error("Subclasses must implement _parseMappings"); + }; + +SourceMapConsumer.GENERATED_ORDER = 1; +SourceMapConsumer.ORIGINAL_ORDER = 2; + +SourceMapConsumer.GREATEST_LOWER_BOUND = 1; +SourceMapConsumer.LEAST_UPPER_BOUND = 2; + +/** + * Iterate over each mapping between an original source/line/column and a + * generated line/column in this source map. + * + * @param Function aCallback + * The function that is called with each mapping. + * @param Object aContext + * Optional. If specified, this object will be the value of `this` every + * time that `aCallback` is called. + * @param aOrder + * Either `SourceMapConsumer.GENERATED_ORDER` or + * `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to + * iterate over the mappings sorted by the generated file's line/column + * order or the original's source/line/column order, respectively. Defaults to + * `SourceMapConsumer.GENERATED_ORDER`. + */ +SourceMapConsumer.prototype.eachMapping = + function SourceMapConsumer_eachMapping(aCallback, aContext, aOrder) { + var context = aContext || null; + var order = aOrder || SourceMapConsumer.GENERATED_ORDER; + + var mappings; + switch (order) { + case SourceMapConsumer.GENERATED_ORDER: + mappings = this._generatedMappings; + break; + case SourceMapConsumer.ORIGINAL_ORDER: + mappings = this._originalMappings; + break; + default: + throw new Error("Unknown order of iteration."); + } + + var sourceRoot = this.sourceRoot; + mappings.map(function (mapping) { + var source = mapping.source === null ? null : this._sources.at(mapping.source); + source = util.computeSourceURL(sourceRoot, source, this._sourceMapURL); + return { + source: source, + generatedLine: mapping.generatedLine, + generatedColumn: mapping.generatedColumn, + originalLine: mapping.originalLine, + originalColumn: mapping.originalColumn, + name: mapping.name === null ? null : this._names.at(mapping.name) + }; + }, this).forEach(aCallback, context); + }; + +/** + * Returns all generated line and column information for the original source, + * line, and column provided. If no column is provided, returns all mappings + * corresponding to a either the line we are searching for or the next + * closest line that has any mappings. Otherwise, returns all mappings + * corresponding to the given line and either the column we are searching for + * or the next closest column that has any offsets. + * + * The only argument is an object with the following properties: + * + * - source: The filename of the original source. + * - line: The line number in the original source. The line number is 1-based. + * - column: Optional. the column number in the original source. + * The column number is 0-based. + * + * and an array of objects is returned, each with the following properties: + * + * - line: The line number in the generated source, or null. The + * line number is 1-based. + * - column: The column number in the generated source, or null. + * The column number is 0-based. + */ +SourceMapConsumer.prototype.allGeneratedPositionsFor = + function SourceMapConsumer_allGeneratedPositionsFor(aArgs) { + var line = util.getArg(aArgs, 'line'); + + // When there is no exact match, BasicSourceMapConsumer.prototype._findMapping + // returns the index of the closest mapping less than the needle. By + // setting needle.originalColumn to 0, we thus find the last mapping for + // the given line, provided such a mapping exists. + var needle = { + source: util.getArg(aArgs, 'source'), + originalLine: line, + originalColumn: util.getArg(aArgs, 'column', 0) + }; + + needle.source = this._findSourceIndex(needle.source); + if (needle.source < 0) { + return []; + } + + var mappings = []; + + var index = this._findMapping(needle, + this._originalMappings, + "originalLine", + "originalColumn", + util.compareByOriginalPositions, + binarySearch.LEAST_UPPER_BOUND); + if (index >= 0) { + var mapping = this._originalMappings[index]; + + if (aArgs.column === undefined) { + var originalLine = mapping.originalLine; + + // Iterate until either we run out of mappings, or we run into + // a mapping for a different line than the one we found. Since + // mappings are sorted, this is guaranteed to find all mappings for + // the line we found. + while (mapping && mapping.originalLine === originalLine) { + mappings.push({ + line: util.getArg(mapping, 'generatedLine', null), + column: util.getArg(mapping, 'generatedColumn', null), + lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) + }); + + mapping = this._originalMappings[++index]; + } + } else { + var originalColumn = mapping.originalColumn; + + // Iterate until either we run out of mappings, or we run into + // a mapping for a different line than the one we were searching for. + // Since mappings are sorted, this is guaranteed to find all mappings for + // the line we are searching for. + while (mapping && + mapping.originalLine === line && + mapping.originalColumn == originalColumn) { + mappings.push({ + line: util.getArg(mapping, 'generatedLine', null), + column: util.getArg(mapping, 'generatedColumn', null), + lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) + }); + + mapping = this._originalMappings[++index]; + } + } + } + + return mappings; + }; + +exports.SourceMapConsumer = SourceMapConsumer; + +/** + * A BasicSourceMapConsumer instance represents a parsed source map which we can + * query for information about the original file positions by giving it a file + * position in the generated source. + * + * The first parameter is the raw source map (either as a JSON string, or + * already parsed to an object). According to the spec, source maps have the + * following attributes: + * + * - version: Which version of the source map spec this map is following. + * - sources: An array of URLs to the original source files. + * - names: An array of identifiers which can be referrenced by individual mappings. + * - sourceRoot: Optional. The URL root from which all sources are relative. + * - sourcesContent: Optional. An array of contents of the original source files. + * - mappings: A string of base64 VLQs which contain the actual mappings. + * - file: Optional. The generated file this source map is associated with. + * + * Here is an example source map, taken from the source map spec[0]: + * + * { + * version : 3, + * file: "out.js", + * sourceRoot : "", + * sources: ["foo.js", "bar.js"], + * names: ["src", "maps", "are", "fun"], + * mappings: "AA,AB;;ABCDE;" + * } + * + * The second parameter, if given, is a string whose value is the URL + * at which the source map was found. This URL is used to compute the + * sources array. + * + * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit?pli=1# + */ +function BasicSourceMapConsumer(aSourceMap, aSourceMapURL) { + var sourceMap = aSourceMap; + if (typeof aSourceMap === 'string') { + sourceMap = util.parseSourceMapInput(aSourceMap); + } + + var version = util.getArg(sourceMap, 'version'); + var sources = util.getArg(sourceMap, 'sources'); + // Sass 3.3 leaves out the 'names' array, so we deviate from the spec (which + // requires the array) to play nice here. + var names = util.getArg(sourceMap, 'names', []); + var sourceRoot = util.getArg(sourceMap, 'sourceRoot', null); + var sourcesContent = util.getArg(sourceMap, 'sourcesContent', null); + var mappings = util.getArg(sourceMap, 'mappings'); + var file = util.getArg(sourceMap, 'file', null); + + // Once again, Sass deviates from the spec and supplies the version as a + // string rather than a number, so we use loose equality checking here. + if (version != this._version) { + throw new Error('Unsupported version: ' + version); + } + + if (sourceRoot) { + sourceRoot = util.normalize(sourceRoot); + } + + sources = sources + .map(String) + // Some source maps produce relative source paths like "./foo.js" instead of + // "foo.js". Normalize these first so that future comparisons will succeed. + // See bugzil.la/1090768. + .map(util.normalize) + // Always ensure that absolute sources are internally stored relative to + // the source root, if the source root is absolute. Not doing this would + // be particularly problematic when the source root is a prefix of the + // source (valid, but why??). See github issue #199 and bugzil.la/1188982. + .map(function (source) { + return sourceRoot && util.isAbsolute(sourceRoot) && util.isAbsolute(source) + ? util.relative(sourceRoot, source) + : source; + }); + + // Pass `true` below to allow duplicate names and sources. While source maps + // are intended to be compressed and deduplicated, the TypeScript compiler + // sometimes generates source maps with duplicates in them. See Github issue + // #72 and bugzil.la/889492. + this._names = ArraySet.fromArray(names.map(String), true); + this._sources = ArraySet.fromArray(sources, true); + + this._absoluteSources = this._sources.toArray().map(function (s) { + return util.computeSourceURL(sourceRoot, s, aSourceMapURL); + }); + + this.sourceRoot = sourceRoot; + this.sourcesContent = sourcesContent; + this._mappings = mappings; + this._sourceMapURL = aSourceMapURL; + this.file = file; +} + +BasicSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype); +BasicSourceMapConsumer.prototype.consumer = SourceMapConsumer; + +/** + * Utility function to find the index of a source. Returns -1 if not + * found. + */ +BasicSourceMapConsumer.prototype._findSourceIndex = function(aSource) { + var relativeSource = aSource; + if (this.sourceRoot != null) { + relativeSource = util.relative(this.sourceRoot, relativeSource); + } + + if (this._sources.has(relativeSource)) { + return this._sources.indexOf(relativeSource); + } + + // Maybe aSource is an absolute URL as returned by |sources|. In + // this case we can't simply undo the transform. + var i; + for (i = 0; i < this._absoluteSources.length; ++i) { + if (this._absoluteSources[i] == aSource) { + return i; + } + } + + return -1; +}; + +/** + * Create a BasicSourceMapConsumer from a SourceMapGenerator. + * + * @param SourceMapGenerator aSourceMap + * The source map that will be consumed. + * @param String aSourceMapURL + * The URL at which the source map can be found (optional) + * @returns BasicSourceMapConsumer + */ +BasicSourceMapConsumer.fromSourceMap = + function SourceMapConsumer_fromSourceMap(aSourceMap, aSourceMapURL) { + var smc = Object.create(BasicSourceMapConsumer.prototype); + + var names = smc._names = ArraySet.fromArray(aSourceMap._names.toArray(), true); + var sources = smc._sources = ArraySet.fromArray(aSourceMap._sources.toArray(), true); + smc.sourceRoot = aSourceMap._sourceRoot; + smc.sourcesContent = aSourceMap._generateSourcesContent(smc._sources.toArray(), + smc.sourceRoot); + smc.file = aSourceMap._file; + smc._sourceMapURL = aSourceMapURL; + smc._absoluteSources = smc._sources.toArray().map(function (s) { + return util.computeSourceURL(smc.sourceRoot, s, aSourceMapURL); + }); + + // Because we are modifying the entries (by converting string sources and + // names to indices into the sources and names ArraySets), we have to make + // a copy of the entry or else bad things happen. Shared mutable state + // strikes again! See github issue #191. + + var generatedMappings = aSourceMap._mappings.toArray().slice(); + var destGeneratedMappings = smc.__generatedMappings = []; + var destOriginalMappings = smc.__originalMappings = []; + + for (var i = 0, length = generatedMappings.length; i < length; i++) { + var srcMapping = generatedMappings[i]; + var destMapping = new Mapping; + destMapping.generatedLine = srcMapping.generatedLine; + destMapping.generatedColumn = srcMapping.generatedColumn; + + if (srcMapping.source) { + destMapping.source = sources.indexOf(srcMapping.source); + destMapping.originalLine = srcMapping.originalLine; + destMapping.originalColumn = srcMapping.originalColumn; + + if (srcMapping.name) { + destMapping.name = names.indexOf(srcMapping.name); + } + + destOriginalMappings.push(destMapping); + } + + destGeneratedMappings.push(destMapping); + } + + quickSort(smc.__originalMappings, util.compareByOriginalPositions); + + return smc; + }; + +/** + * The version of the source mapping spec that we are consuming. + */ +BasicSourceMapConsumer.prototype._version = 3; + +/** + * The list of original sources. + */ +Object.defineProperty(BasicSourceMapConsumer.prototype, 'sources', { + get: function () { + return this._absoluteSources.slice(); + } +}); + +/** + * Provide the JIT with a nice shape / hidden class. + */ +function Mapping() { + this.generatedLine = 0; + this.generatedColumn = 0; + this.source = null; + this.originalLine = null; + this.originalColumn = null; + this.name = null; +} + +/** + * Parse the mappings in a string in to a data structure which we can easily + * query (the ordered arrays in the `this.__generatedMappings` and + * `this.__originalMappings` properties). + */ +BasicSourceMapConsumer.prototype._parseMappings = + function SourceMapConsumer_parseMappings(aStr, aSourceRoot) { + var generatedLine = 1; + var previousGeneratedColumn = 0; + var previousOriginalLine = 0; + var previousOriginalColumn = 0; + var previousSource = 0; + var previousName = 0; + var length = aStr.length; + var index = 0; + var cachedSegments = {}; + var temp = {}; + var originalMappings = []; + var generatedMappings = []; + var mapping, str, segment, end, value; + + while (index < length) { + if (aStr.charAt(index) === ';') { + generatedLine++; + index++; + previousGeneratedColumn = 0; + } + else if (aStr.charAt(index) === ',') { + index++; + } + else { + mapping = new Mapping(); + mapping.generatedLine = generatedLine; + + // Because each offset is encoded relative to the previous one, + // many segments often have the same encoding. We can exploit this + // fact by caching the parsed variable length fields of each segment, + // allowing us to avoid a second parse if we encounter the same + // segment again. + for (end = index; end < length; end++) { + if (this._charIsMappingSeparator(aStr, end)) { + break; + } + } + str = aStr.slice(index, end); + + segment = cachedSegments[str]; + if (segment) { + index += str.length; + } else { + segment = []; + while (index < end) { + base64VLQ.decode(aStr, index, temp); + value = temp.value; + index = temp.rest; + segment.push(value); + } + + if (segment.length === 2) { + throw new Error('Found a source, but no line and column'); + } + + if (segment.length === 3) { + throw new Error('Found a source and line, but no column'); + } + + cachedSegments[str] = segment; + } + + // Generated column. + mapping.generatedColumn = previousGeneratedColumn + segment[0]; + previousGeneratedColumn = mapping.generatedColumn; + + if (segment.length > 1) { + // Original source. + mapping.source = previousSource + segment[1]; + previousSource += segment[1]; + + // Original line. + mapping.originalLine = previousOriginalLine + segment[2]; + previousOriginalLine = mapping.originalLine; + // Lines are stored 0-based + mapping.originalLine += 1; + + // Original column. + mapping.originalColumn = previousOriginalColumn + segment[3]; + previousOriginalColumn = mapping.originalColumn; + + if (segment.length > 4) { + // Original name. + mapping.name = previousName + segment[4]; + previousName += segment[4]; + } + } + + generatedMappings.push(mapping); + if (typeof mapping.originalLine === 'number') { + originalMappings.push(mapping); + } + } + } + + quickSort(generatedMappings, util.compareByGeneratedPositionsDeflated); + this.__generatedMappings = generatedMappings; + + quickSort(originalMappings, util.compareByOriginalPositions); + this.__originalMappings = originalMappings; + }; + +/** + * Find the mapping that best matches the hypothetical "needle" mapping that + * we are searching for in the given "haystack" of mappings. + */ +BasicSourceMapConsumer.prototype._findMapping = + function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName, + aColumnName, aComparator, aBias) { + // To return the position we are searching for, we must first find the + // mapping for the given position and then return the opposite position it + // points to. Because the mappings are sorted, we can use binary search to + // find the best mapping. + + if (aNeedle[aLineName] <= 0) { + throw new TypeError('Line must be greater than or equal to 1, got ' + + aNeedle[aLineName]); + } + if (aNeedle[aColumnName] < 0) { + throw new TypeError('Column must be greater than or equal to 0, got ' + + aNeedle[aColumnName]); + } + + return binarySearch.search(aNeedle, aMappings, aComparator, aBias); + }; + +/** + * Compute the last column for each generated mapping. The last column is + * inclusive. + */ +BasicSourceMapConsumer.prototype.computeColumnSpans = + function SourceMapConsumer_computeColumnSpans() { + for (var index = 0; index < this._generatedMappings.length; ++index) { + var mapping = this._generatedMappings[index]; + + // Mappings do not contain a field for the last generated columnt. We + // can come up with an optimistic estimate, however, by assuming that + // mappings are contiguous (i.e. given two consecutive mappings, the + // first mapping ends where the second one starts). + if (index + 1 < this._generatedMappings.length) { + var nextMapping = this._generatedMappings[index + 1]; + + if (mapping.generatedLine === nextMapping.generatedLine) { + mapping.lastGeneratedColumn = nextMapping.generatedColumn - 1; + continue; + } + } + + // The last mapping for each line spans the entire line. + mapping.lastGeneratedColumn = Infinity; + } + }; + +/** + * Returns the original source, line, and column information for the generated + * source's line and column positions provided. The only argument is an object + * with the following properties: + * + * - line: The line number in the generated source. The line number + * is 1-based. + * - column: The column number in the generated source. The column + * number is 0-based. + * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or + * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'. + * + * and an object is returned with the following properties: + * + * - source: The original source file, or null. + * - line: The line number in the original source, or null. The + * line number is 1-based. + * - column: The column number in the original source, or null. The + * column number is 0-based. + * - name: The original identifier, or null. + */ +BasicSourceMapConsumer.prototype.originalPositionFor = + function SourceMapConsumer_originalPositionFor(aArgs) { + var needle = { + generatedLine: util.getArg(aArgs, 'line'), + generatedColumn: util.getArg(aArgs, 'column') + }; + + var index = this._findMapping( + needle, + this._generatedMappings, + "generatedLine", + "generatedColumn", + util.compareByGeneratedPositionsDeflated, + util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND) + ); + + if (index >= 0) { + var mapping = this._generatedMappings[index]; + + if (mapping.generatedLine === needle.generatedLine) { + var source = util.getArg(mapping, 'source', null); + if (source !== null) { + source = this._sources.at(source); + source = util.computeSourceURL(this.sourceRoot, source, this._sourceMapURL); + } + var name = util.getArg(mapping, 'name', null); + if (name !== null) { + name = this._names.at(name); + } + return { + source: source, + line: util.getArg(mapping, 'originalLine', null), + column: util.getArg(mapping, 'originalColumn', null), + name: name + }; + } + } + + return { + source: null, + line: null, + column: null, + name: null + }; + }; + +/** + * Return true if we have the source content for every source in the source + * map, false otherwise. + */ +BasicSourceMapConsumer.prototype.hasContentsOfAllSources = + function BasicSourceMapConsumer_hasContentsOfAllSources() { + if (!this.sourcesContent) { + return false; + } + return this.sourcesContent.length >= this._sources.size() && + !this.sourcesContent.some(function (sc) { return sc == null; }); + }; + +/** + * Returns the original source content. The only argument is the url of the + * original source file. Returns null if no original source content is + * available. + */ +BasicSourceMapConsumer.prototype.sourceContentFor = + function SourceMapConsumer_sourceContentFor(aSource, nullOnMissing) { + if (!this.sourcesContent) { + return null; + } + + var index = this._findSourceIndex(aSource); + if (index >= 0) { + return this.sourcesContent[index]; + } + + var relativeSource = aSource; + if (this.sourceRoot != null) { + relativeSource = util.relative(this.sourceRoot, relativeSource); + } + + var url; + if (this.sourceRoot != null + && (url = util.urlParse(this.sourceRoot))) { + // XXX: file:// URIs and absolute paths lead to unexpected behavior for + // many users. We can help them out when they expect file:// URIs to + // behave like it would if they were running a local HTTP server. See + // https://bugzilla.mozilla.org/show_bug.cgi?id=885597. + var fileUriAbsPath = relativeSource.replace(/^file:\/\//, ""); + if (url.scheme == "file" + && this._sources.has(fileUriAbsPath)) { + return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)] + } + + if ((!url.path || url.path == "/") + && this._sources.has("/" + relativeSource)) { + return this.sourcesContent[this._sources.indexOf("/" + relativeSource)]; + } + } + + // This function is used recursively from + // IndexedSourceMapConsumer.prototype.sourceContentFor. In that case, we + // don't want to throw if we can't find the source - we just want to + // return null, so we provide a flag to exit gracefully. + if (nullOnMissing) { + return null; + } + else { + throw new Error('"' + relativeSource + '" is not in the SourceMap.'); + } + }; + +/** + * Returns the generated line and column information for the original source, + * line, and column positions provided. The only argument is an object with + * the following properties: + * + * - source: The filename of the original source. + * - line: The line number in the original source. The line number + * is 1-based. + * - column: The column number in the original source. The column + * number is 0-based. + * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or + * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'. + * + * and an object is returned with the following properties: + * + * - line: The line number in the generated source, or null. The + * line number is 1-based. + * - column: The column number in the generated source, or null. + * The column number is 0-based. + */ +BasicSourceMapConsumer.prototype.generatedPositionFor = + function SourceMapConsumer_generatedPositionFor(aArgs) { + var source = util.getArg(aArgs, 'source'); + source = this._findSourceIndex(source); + if (source < 0) { + return { + line: null, + column: null, + lastColumn: null + }; + } + + var needle = { + source: source, + originalLine: util.getArg(aArgs, 'line'), + originalColumn: util.getArg(aArgs, 'column') + }; + + var index = this._findMapping( + needle, + this._originalMappings, + "originalLine", + "originalColumn", + util.compareByOriginalPositions, + util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND) + ); + + if (index >= 0) { + var mapping = this._originalMappings[index]; + + if (mapping.source === needle.source) { + return { + line: util.getArg(mapping, 'generatedLine', null), + column: util.getArg(mapping, 'generatedColumn', null), + lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) + }; + } + } + + return { + line: null, + column: null, + lastColumn: null + }; + }; + +exports.BasicSourceMapConsumer = BasicSourceMapConsumer; + +/** + * An IndexedSourceMapConsumer instance represents a parsed source map which + * we can query for information. It differs from BasicSourceMapConsumer in + * that it takes "indexed" source maps (i.e. ones with a "sections" field) as + * input. + * + * The first parameter is a raw source map (either as a JSON string, or already + * parsed to an object). According to the spec for indexed source maps, they + * have the following attributes: + * + * - version: Which version of the source map spec this map is following. + * - file: Optional. The generated file this source map is associated with. + * - sections: A list of section definitions. + * + * Each value under the "sections" field has two fields: + * - offset: The offset into the original specified at which this section + * begins to apply, defined as an object with a "line" and "column" + * field. + * - map: A source map definition. This source map could also be indexed, + * but doesn't have to be. + * + * Instead of the "map" field, it's also possible to have a "url" field + * specifying a URL to retrieve a source map from, but that's currently + * unsupported. + * + * Here's an example source map, taken from the source map spec[0], but + * modified to omit a section which uses the "url" field. + * + * { + * version : 3, + * file: "app.js", + * sections: [{ + * offset: {line:100, column:10}, + * map: { + * version : 3, + * file: "section.js", + * sources: ["foo.js", "bar.js"], + * names: ["src", "maps", "are", "fun"], + * mappings: "AAAA,E;;ABCDE;" + * } + * }], + * } + * + * The second parameter, if given, is a string whose value is the URL + * at which the source map was found. This URL is used to compute the + * sources array. + * + * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit#heading=h.535es3xeprgt + */ +function IndexedSourceMapConsumer(aSourceMap, aSourceMapURL) { + var sourceMap = aSourceMap; + if (typeof aSourceMap === 'string') { + sourceMap = util.parseSourceMapInput(aSourceMap); + } + + var version = util.getArg(sourceMap, 'version'); + var sections = util.getArg(sourceMap, 'sections'); + + if (version != this._version) { + throw new Error('Unsupported version: ' + version); + } + + this._sources = new ArraySet(); + this._names = new ArraySet(); + + var lastOffset = { + line: -1, + column: 0 + }; + this._sections = sections.map(function (s) { + if (s.url) { + // The url field will require support for asynchronicity. + // See https://github.com/mozilla/source-map/issues/16 + throw new Error('Support for url field in sections not implemented.'); + } + var offset = util.getArg(s, 'offset'); + var offsetLine = util.getArg(offset, 'line'); + var offsetColumn = util.getArg(offset, 'column'); + + if (offsetLine < lastOffset.line || + (offsetLine === lastOffset.line && offsetColumn < lastOffset.column)) { + throw new Error('Section offsets must be ordered and non-overlapping.'); + } + lastOffset = offset; + + return { + generatedOffset: { + // The offset fields are 0-based, but we use 1-based indices when + // encoding/decoding from VLQ. + generatedLine: offsetLine + 1, + generatedColumn: offsetColumn + 1 + }, + consumer: new SourceMapConsumer(util.getArg(s, 'map'), aSourceMapURL) + } + }); +} + +IndexedSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype); +IndexedSourceMapConsumer.prototype.constructor = SourceMapConsumer; + +/** + * The version of the source mapping spec that we are consuming. + */ +IndexedSourceMapConsumer.prototype._version = 3; + +/** + * The list of original sources. + */ +Object.defineProperty(IndexedSourceMapConsumer.prototype, 'sources', { + get: function () { + var sources = []; + for (var i = 0; i < this._sections.length; i++) { + for (var j = 0; j < this._sections[i].consumer.sources.length; j++) { + sources.push(this._sections[i].consumer.sources[j]); + } + } + return sources; + } +}); + +/** + * Returns the original source, line, and column information for the generated + * source's line and column positions provided. The only argument is an object + * with the following properties: + * + * - line: The line number in the generated source. The line number + * is 1-based. + * - column: The column number in the generated source. The column + * number is 0-based. + * + * and an object is returned with the following properties: + * + * - source: The original source file, or null. + * - line: The line number in the original source, or null. The + * line number is 1-based. + * - column: The column number in the original source, or null. The + * column number is 0-based. + * - name: The original identifier, or null. + */ +IndexedSourceMapConsumer.prototype.originalPositionFor = + function IndexedSourceMapConsumer_originalPositionFor(aArgs) { + var needle = { + generatedLine: util.getArg(aArgs, 'line'), + generatedColumn: util.getArg(aArgs, 'column') + }; + + // Find the section containing the generated position we're trying to map + // to an original position. + var sectionIndex = binarySearch.search(needle, this._sections, + function(needle, section) { + var cmp = needle.generatedLine - section.generatedOffset.generatedLine; + if (cmp) { + return cmp; + } + + return (needle.generatedColumn - + section.generatedOffset.generatedColumn); + }); + var section = this._sections[sectionIndex]; + + if (!section) { + return { + source: null, + line: null, + column: null, + name: null + }; + } + + return section.consumer.originalPositionFor({ + line: needle.generatedLine - + (section.generatedOffset.generatedLine - 1), + column: needle.generatedColumn - + (section.generatedOffset.generatedLine === needle.generatedLine + ? section.generatedOffset.generatedColumn - 1 + : 0), + bias: aArgs.bias + }); + }; + +/** + * Return true if we have the source content for every source in the source + * map, false otherwise. + */ +IndexedSourceMapConsumer.prototype.hasContentsOfAllSources = + function IndexedSourceMapConsumer_hasContentsOfAllSources() { + return this._sections.every(function (s) { + return s.consumer.hasContentsOfAllSources(); + }); + }; + +/** + * Returns the original source content. The only argument is the url of the + * original source file. Returns null if no original source content is + * available. + */ +IndexedSourceMapConsumer.prototype.sourceContentFor = + function IndexedSourceMapConsumer_sourceContentFor(aSource, nullOnMissing) { + for (var i = 0; i < this._sections.length; i++) { + var section = this._sections[i]; + + var content = section.consumer.sourceContentFor(aSource, true); + if (content) { + return content; + } + } + if (nullOnMissing) { + return null; + } + else { + throw new Error('"' + aSource + '" is not in the SourceMap.'); + } + }; + +/** + * Returns the generated line and column information for the original source, + * line, and column positions provided. The only argument is an object with + * the following properties: + * + * - source: The filename of the original source. + * - line: The line number in the original source. The line number + * is 1-based. + * - column: The column number in the original source. The column + * number is 0-based. + * + * and an object is returned with the following properties: + * + * - line: The line number in the generated source, or null. The + * line number is 1-based. + * - column: The column number in the generated source, or null. + * The column number is 0-based. + */ +IndexedSourceMapConsumer.prototype.generatedPositionFor = + function IndexedSourceMapConsumer_generatedPositionFor(aArgs) { + for (var i = 0; i < this._sections.length; i++) { + var section = this._sections[i]; + + // Only consider this section if the requested source is in the list of + // sources of the consumer. + if (section.consumer._findSourceIndex(util.getArg(aArgs, 'source')) === -1) { + continue; + } + var generatedPosition = section.consumer.generatedPositionFor(aArgs); + if (generatedPosition) { + var ret = { + line: generatedPosition.line + + (section.generatedOffset.generatedLine - 1), + column: generatedPosition.column + + (section.generatedOffset.generatedLine === generatedPosition.line + ? section.generatedOffset.generatedColumn - 1 + : 0) + }; + return ret; + } + } + + return { + line: null, + column: null + }; + }; + +/** + * Parse the mappings in a string in to a data structure which we can easily + * query (the ordered arrays in the `this.__generatedMappings` and + * `this.__originalMappings` properties). + */ +IndexedSourceMapConsumer.prototype._parseMappings = + function IndexedSourceMapConsumer_parseMappings(aStr, aSourceRoot) { + this.__generatedMappings = []; + this.__originalMappings = []; + for (var i = 0; i < this._sections.length; i++) { + var section = this._sections[i]; + var sectionMappings = section.consumer._generatedMappings; + for (var j = 0; j < sectionMappings.length; j++) { + var mapping = sectionMappings[j]; + + var source = section.consumer._sources.at(mapping.source); + source = util.computeSourceURL(section.consumer.sourceRoot, source, this._sourceMapURL); + this._sources.add(source); + source = this._sources.indexOf(source); + + var name = null; + if (mapping.name) { + name = section.consumer._names.at(mapping.name); + this._names.add(name); + name = this._names.indexOf(name); + } + + // The mappings coming from the consumer for the section have + // generated positions relative to the start of the section, so we + // need to offset them to be relative to the start of the concatenated + // generated file. + var adjustedMapping = { + source: source, + generatedLine: mapping.generatedLine + + (section.generatedOffset.generatedLine - 1), + generatedColumn: mapping.generatedColumn + + (section.generatedOffset.generatedLine === mapping.generatedLine + ? section.generatedOffset.generatedColumn - 1 + : 0), + originalLine: mapping.originalLine, + originalColumn: mapping.originalColumn, + name: name + }; + + this.__generatedMappings.push(adjustedMapping); + if (typeof adjustedMapping.originalLine === 'number') { + this.__originalMappings.push(adjustedMapping); + } + } + } + + quickSort(this.__generatedMappings, util.compareByGeneratedPositionsDeflated); + quickSort(this.__originalMappings, util.compareByOriginalPositions); + }; + +exports.IndexedSourceMapConsumer = IndexedSourceMapConsumer; + + +/***/ }), + +/***/ 341: +/***/ (function(__unusedmodule, exports, __webpack_require__) { + +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var base64VLQ = __webpack_require__(215); +var util = __webpack_require__(983); +var ArraySet = __webpack_require__(837).ArraySet; +var MappingList = __webpack_require__(740).MappingList; + +/** + * An instance of the SourceMapGenerator represents a source map which is + * being built incrementally. You may pass an object with the following + * properties: + * + * - file: The filename of the generated source. + * - sourceRoot: A root for all relative URLs in this source map. + */ +function SourceMapGenerator(aArgs) { + if (!aArgs) { + aArgs = {}; + } + this._file = util.getArg(aArgs, 'file', null); + this._sourceRoot = util.getArg(aArgs, 'sourceRoot', null); + this._skipValidation = util.getArg(aArgs, 'skipValidation', false); + this._sources = new ArraySet(); + this._names = new ArraySet(); + this._mappings = new MappingList(); + this._sourcesContents = null; +} + +SourceMapGenerator.prototype._version = 3; + +/** + * Creates a new SourceMapGenerator based on a SourceMapConsumer + * + * @param aSourceMapConsumer The SourceMap. + */ +SourceMapGenerator.fromSourceMap = + function SourceMapGenerator_fromSourceMap(aSourceMapConsumer) { + var sourceRoot = aSourceMapConsumer.sourceRoot; + var generator = new SourceMapGenerator({ + file: aSourceMapConsumer.file, + sourceRoot: sourceRoot + }); + aSourceMapConsumer.eachMapping(function (mapping) { + var newMapping = { + generated: { + line: mapping.generatedLine, + column: mapping.generatedColumn + } + }; + + if (mapping.source != null) { + newMapping.source = mapping.source; + if (sourceRoot != null) { + newMapping.source = util.relative(sourceRoot, newMapping.source); + } + + newMapping.original = { + line: mapping.originalLine, + column: mapping.originalColumn + }; + + if (mapping.name != null) { + newMapping.name = mapping.name; + } + } + + generator.addMapping(newMapping); + }); + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var sourceRelative = sourceFile; + if (sourceRoot !== null) { + sourceRelative = util.relative(sourceRoot, sourceFile); + } + + if (!generator._sources.has(sourceRelative)) { + generator._sources.add(sourceRelative); + } + + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content != null) { + generator.setSourceContent(sourceFile, content); + } + }); + return generator; + }; + +/** + * Add a single mapping from original source line and column to the generated + * source's line and column for this source map being created. The mapping + * object should have the following properties: + * + * - generated: An object with the generated line and column positions. + * - original: An object with the original line and column positions. + * - source: The original source file (relative to the sourceRoot). + * - name: An optional original token name for this mapping. + */ +SourceMapGenerator.prototype.addMapping = + function SourceMapGenerator_addMapping(aArgs) { + var generated = util.getArg(aArgs, 'generated'); + var original = util.getArg(aArgs, 'original', null); + var source = util.getArg(aArgs, 'source', null); + var name = util.getArg(aArgs, 'name', null); + + if (!this._skipValidation) { + this._validateMapping(generated, original, source, name); + } + + if (source != null) { + source = String(source); + if (!this._sources.has(source)) { + this._sources.add(source); + } + } + + if (name != null) { + name = String(name); + if (!this._names.has(name)) { + this._names.add(name); + } + } + + this._mappings.add({ + generatedLine: generated.line, + generatedColumn: generated.column, + originalLine: original != null && original.line, + originalColumn: original != null && original.column, + source: source, + name: name + }); + }; + +/** + * Set the source content for a source file. + */ +SourceMapGenerator.prototype.setSourceContent = + function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) { + var source = aSourceFile; + if (this._sourceRoot != null) { + source = util.relative(this._sourceRoot, source); + } + + if (aSourceContent != null) { + // Add the source content to the _sourcesContents map. + // Create a new _sourcesContents map if the property is null. + if (!this._sourcesContents) { + this._sourcesContents = Object.create(null); + } + this._sourcesContents[util.toSetString(source)] = aSourceContent; + } else if (this._sourcesContents) { + // Remove the source file from the _sourcesContents map. + // If the _sourcesContents map is empty, set the property to null. + delete this._sourcesContents[util.toSetString(source)]; + if (Object.keys(this._sourcesContents).length === 0) { + this._sourcesContents = null; + } + } + }; + +/** + * Applies the mappings of a sub-source-map for a specific source file to the + * source map being generated. Each mapping to the supplied source file is + * rewritten using the supplied source map. Note: The resolution for the + * resulting mappings is the minimium of this map and the supplied map. + * + * @param aSourceMapConsumer The source map to be applied. + * @param aSourceFile Optional. The filename of the source file. + * If omitted, SourceMapConsumer's file property will be used. + * @param aSourceMapPath Optional. The dirname of the path to the source map + * to be applied. If relative, it is relative to the SourceMapConsumer. + * This parameter is needed when the two source maps aren't in the same + * directory, and the source map to be applied contains relative source + * paths. If so, those relative source paths need to be rewritten + * relative to the SourceMapGenerator. + */ +SourceMapGenerator.prototype.applySourceMap = + function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile, aSourceMapPath) { + var sourceFile = aSourceFile; + // If aSourceFile is omitted, we will use the file property of the SourceMap + if (aSourceFile == null) { + if (aSourceMapConsumer.file == null) { + throw new Error( + 'SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, ' + + 'or the source map\'s "file" property. Both were omitted.' + ); + } + sourceFile = aSourceMapConsumer.file; + } + var sourceRoot = this._sourceRoot; + // Make "sourceFile" relative if an absolute Url is passed. + if (sourceRoot != null) { + sourceFile = util.relative(sourceRoot, sourceFile); + } + // Applying the SourceMap can add and remove items from the sources and + // the names array. + var newSources = new ArraySet(); + var newNames = new ArraySet(); + + // Find mappings for the "sourceFile" + this._mappings.unsortedForEach(function (mapping) { + if (mapping.source === sourceFile && mapping.originalLine != null) { + // Check if it can be mapped by the source map, then update the mapping. + var original = aSourceMapConsumer.originalPositionFor({ + line: mapping.originalLine, + column: mapping.originalColumn + }); + if (original.source != null) { + // Copy mapping + mapping.source = original.source; + if (aSourceMapPath != null) { + mapping.source = util.join(aSourceMapPath, mapping.source) + } + if (sourceRoot != null) { + mapping.source = util.relative(sourceRoot, mapping.source); + } + mapping.originalLine = original.line; + mapping.originalColumn = original.column; + if (original.name != null) { + mapping.name = original.name; + } + } + } + + var source = mapping.source; + if (source != null && !newSources.has(source)) { + newSources.add(source); + } + + var name = mapping.name; + if (name != null && !newNames.has(name)) { + newNames.add(name); + } + + }, this); + this._sources = newSources; + this._names = newNames; + + // Copy sourcesContents of applied map. + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content != null) { + if (aSourceMapPath != null) { + sourceFile = util.join(aSourceMapPath, sourceFile); + } + if (sourceRoot != null) { + sourceFile = util.relative(sourceRoot, sourceFile); + } + this.setSourceContent(sourceFile, content); + } + }, this); + }; + +/** + * A mapping can have one of the three levels of data: + * + * 1. Just the generated position. + * 2. The Generated position, original position, and original source. + * 3. Generated and original position, original source, as well as a name + * token. + * + * To maintain consistency, we validate that any new mapping being added falls + * in to one of these categories. + */ +SourceMapGenerator.prototype._validateMapping = + function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource, + aName) { + // When aOriginal is truthy but has empty values for .line and .column, + // it is most likely a programmer error. In this case we throw a very + // specific error message to try to guide them the right way. + // For example: https://github.com/Polymer/polymer-bundler/pull/519 + if (aOriginal && typeof aOriginal.line !== 'number' && typeof aOriginal.column !== 'number') { + throw new Error( + 'original.line and original.column are not numbers -- you probably meant to omit ' + + 'the original mapping entirely and only map the generated position. If so, pass ' + + 'null for the original mapping instead of an object with empty or null values.' + ); + } + + if (aGenerated && 'line' in aGenerated && 'column' in aGenerated + && aGenerated.line > 0 && aGenerated.column >= 0 + && !aOriginal && !aSource && !aName) { + // Case 1. + return; + } + else if (aGenerated && 'line' in aGenerated && 'column' in aGenerated + && aOriginal && 'line' in aOriginal && 'column' in aOriginal + && aGenerated.line > 0 && aGenerated.column >= 0 + && aOriginal.line > 0 && aOriginal.column >= 0 + && aSource) { + // Cases 2 and 3. + return; + } + else { + throw new Error('Invalid mapping: ' + JSON.stringify({ + generated: aGenerated, + source: aSource, + original: aOriginal, + name: aName + })); + } + }; + +/** + * Serialize the accumulated mappings in to the stream of base 64 VLQs + * specified by the source map format. + */ +SourceMapGenerator.prototype._serializeMappings = + function SourceMapGenerator_serializeMappings() { + var previousGeneratedColumn = 0; + var previousGeneratedLine = 1; + var previousOriginalColumn = 0; + var previousOriginalLine = 0; + var previousName = 0; + var previousSource = 0; + var result = ''; + var next; + var mapping; + var nameIdx; + var sourceIdx; + + var mappings = this._mappings.toArray(); + for (var i = 0, len = mappings.length; i < len; i++) { + mapping = mappings[i]; + next = '' + + if (mapping.generatedLine !== previousGeneratedLine) { + previousGeneratedColumn = 0; + while (mapping.generatedLine !== previousGeneratedLine) { + next += ';'; + previousGeneratedLine++; + } + } + else { + if (i > 0) { + if (!util.compareByGeneratedPositionsInflated(mapping, mappings[i - 1])) { + continue; + } + next += ','; + } + } + + next += base64VLQ.encode(mapping.generatedColumn + - previousGeneratedColumn); + previousGeneratedColumn = mapping.generatedColumn; + + if (mapping.source != null) { + sourceIdx = this._sources.indexOf(mapping.source); + next += base64VLQ.encode(sourceIdx - previousSource); + previousSource = sourceIdx; + + // lines are stored 0-based in SourceMap spec version 3 + next += base64VLQ.encode(mapping.originalLine - 1 + - previousOriginalLine); + previousOriginalLine = mapping.originalLine - 1; + + next += base64VLQ.encode(mapping.originalColumn + - previousOriginalColumn); + previousOriginalColumn = mapping.originalColumn; + + if (mapping.name != null) { + nameIdx = this._names.indexOf(mapping.name); + next += base64VLQ.encode(nameIdx - previousName); + previousName = nameIdx; + } + } + + result += next; + } + + return result; + }; + +SourceMapGenerator.prototype._generateSourcesContent = + function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) { + return aSources.map(function (source) { + if (!this._sourcesContents) { + return null; + } + if (aSourceRoot != null) { + source = util.relative(aSourceRoot, source); + } + var key = util.toSetString(source); + return Object.prototype.hasOwnProperty.call(this._sourcesContents, key) + ? this._sourcesContents[key] + : null; + }, this); + }; + +/** + * Externalize the source map. + */ +SourceMapGenerator.prototype.toJSON = + function SourceMapGenerator_toJSON() { + var map = { + version: this._version, + sources: this._sources.toArray(), + names: this._names.toArray(), + mappings: this._serializeMappings() + }; + if (this._file != null) { + map.file = this._file; + } + if (this._sourceRoot != null) { + map.sourceRoot = this._sourceRoot; + } + if (this._sourcesContents) { + map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot); + } + + return map; + }; + +/** + * Render the source map being generated to a string. + */ +SourceMapGenerator.prototype.toString = + function SourceMapGenerator_toString() { + return JSON.stringify(this.toJSON()); + }; + +exports.SourceMapGenerator = SourceMapGenerator; + + +/***/ }), + +/***/ 537: +/***/ (function(__unusedmodule, exports) { + +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var intToCharMap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split(''); + +/** + * Encode an integer in the range of 0 to 63 to a single base 64 digit. + */ +exports.encode = function (number) { + if (0 <= number && number < intToCharMap.length) { + return intToCharMap[number]; + } + throw new TypeError("Must be between 0 and 63: " + number); +}; + +/** + * Decode a single base 64 character code digit to an integer. Returns -1 on + * failure. + */ +exports.decode = function (charCode) { + var bigA = 65; // 'A' + var bigZ = 90; // 'Z' + + var littleA = 97; // 'a' + var littleZ = 122; // 'z' + + var zero = 48; // '0' + var nine = 57; // '9' + + var plus = 43; // '+' + var slash = 47; // '/' + + var littleOffset = 26; + var numberOffset = 52; + + // 0 - 25: ABCDEFGHIJKLMNOPQRSTUVWXYZ + if (bigA <= charCode && charCode <= bigZ) { + return (charCode - bigA); + } + + // 26 - 51: abcdefghijklmnopqrstuvwxyz + if (littleA <= charCode && charCode <= littleZ) { + return (charCode - littleA + littleOffset); + } + + // 52 - 61: 0123456789 + if (zero <= charCode && charCode <= nine) { + return (charCode - zero + numberOffset); + } + + // 62: + + if (charCode == plus) { + return 62; + } + + // 63: / + if (charCode == slash) { + return 63; + } + + // Invalid base64 digit. + return -1; +}; + + +/***/ }), + +/***/ 596: +/***/ (function(__unusedmodule, exports, __webpack_require__) { + +/* + * Copyright 2009-2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE.txt or: + * http://opensource.org/licenses/BSD-3-Clause + */ +exports.SourceMapGenerator = __webpack_require__(341).SourceMapGenerator; +exports.SourceMapConsumer = __webpack_require__(327).SourceMapConsumer; +exports.SourceNode = __webpack_require__(990).SourceNode; + + +/***/ }), + +/***/ 622: +/***/ (function(module) { + +module.exports = require("path"); + +/***/ }), + +/***/ 645: +/***/ (function(__unusedmodule, __unusedexports, __webpack_require__) { + +__webpack_require__(284).install(); + + +/***/ }), + +/***/ 650: +/***/ (function(module) { + +var toString = Object.prototype.toString + +var isModern = ( + typeof Buffer.alloc === 'function' && + typeof Buffer.allocUnsafe === 'function' && + typeof Buffer.from === 'function' +) + +function isArrayBuffer (input) { + return toString.call(input).slice(8, -1) === 'ArrayBuffer' +} + +function fromArrayBuffer (obj, byteOffset, length) { + byteOffset >>>= 0 + + var maxLength = obj.byteLength - byteOffset + + if (maxLength < 0) { + throw new RangeError("'offset' is out of bounds") + } + + if (length === undefined) { + length = maxLength + } else { + length >>>= 0 + + if (length > maxLength) { + throw new RangeError("'length' is out of bounds") + } + } + + return isModern + ? Buffer.from(obj.slice(byteOffset, byteOffset + length)) + : new Buffer(new Uint8Array(obj.slice(byteOffset, byteOffset + length))) +} + +function fromString (string, encoding) { + if (typeof encoding !== 'string' || encoding === '') { + encoding = 'utf8' + } + + if (!Buffer.isEncoding(encoding)) { + throw new TypeError('"encoding" must be a valid string encoding') + } + + return isModern + ? Buffer.from(string, encoding) + : new Buffer(string, encoding) +} + +function bufferFrom (value, encodingOrOffset, length) { + if (typeof value === 'number') { + throw new TypeError('"value" argument must not be a number') + } + + if (isArrayBuffer(value)) { + return fromArrayBuffer(value, encodingOrOffset, length) + } + + if (typeof value === 'string') { + return fromString(value, encodingOrOffset) + } + + return isModern + ? Buffer.from(value) + : new Buffer(value) +} + +module.exports = bufferFrom + + +/***/ }), + +/***/ 740: +/***/ (function(__unusedmodule, exports, __webpack_require__) { + +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2014 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var util = __webpack_require__(983); + +/** + * Determine whether mappingB is after mappingA with respect to generated + * position. + */ +function generatedPositionAfter(mappingA, mappingB) { + // Optimized for most common case + var lineA = mappingA.generatedLine; + var lineB = mappingB.generatedLine; + var columnA = mappingA.generatedColumn; + var columnB = mappingB.generatedColumn; + return lineB > lineA || lineB == lineA && columnB >= columnA || + util.compareByGeneratedPositionsInflated(mappingA, mappingB) <= 0; +} + +/** + * A data structure to provide a sorted view of accumulated mappings in a + * performance conscious manner. It trades a neglibable overhead in general + * case for a large speedup in case of mappings being added in order. + */ +function MappingList() { + this._array = []; + this._sorted = true; + // Serves as infimum + this._last = {generatedLine: -1, generatedColumn: 0}; +} + +/** + * Iterate through internal items. This method takes the same arguments that + * `Array.prototype.forEach` takes. + * + * NOTE: The order of the mappings is NOT guaranteed. + */ +MappingList.prototype.unsortedForEach = + function MappingList_forEach(aCallback, aThisArg) { + this._array.forEach(aCallback, aThisArg); + }; + +/** + * Add the given source mapping. + * + * @param Object aMapping + */ +MappingList.prototype.add = function MappingList_add(aMapping) { + if (generatedPositionAfter(this._last, aMapping)) { + this._last = aMapping; + this._array.push(aMapping); + } else { + this._sorted = false; + this._array.push(aMapping); + } +}; + +/** + * Returns the flat, sorted array of mappings. The mappings are sorted by + * generated position. + * + * WARNING: This method returns internal data without copying, for + * performance. The return value must NOT be mutated, and should be treated as + * an immutable borrow. If you want to take ownership, you must make your own + * copy. + */ +MappingList.prototype.toArray = function MappingList_toArray() { + if (!this._sorted) { + this._array.sort(util.compareByGeneratedPositionsInflated); + this._sorted = true; + } + return this._array; +}; + +exports.MappingList = MappingList; + + +/***/ }), + +/***/ 747: +/***/ (function(module) { + +module.exports = require("fs"); + +/***/ }), + +/***/ 837: +/***/ (function(__unusedmodule, exports, __webpack_require__) { + +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var util = __webpack_require__(983); +var has = Object.prototype.hasOwnProperty; +var hasNativeMap = typeof Map !== "undefined"; + +/** + * A data structure which is a combination of an array and a set. Adding a new + * member is O(1), testing for membership is O(1), and finding the index of an + * element is O(1). Removing elements from the set is not supported. Only + * strings are supported for membership. + */ +function ArraySet() { + this._array = []; + this._set = hasNativeMap ? new Map() : Object.create(null); +} + +/** + * Static method for creating ArraySet instances from an existing array. + */ +ArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) { + var set = new ArraySet(); + for (var i = 0, len = aArray.length; i < len; i++) { + set.add(aArray[i], aAllowDuplicates); + } + return set; +}; + +/** + * Return how many unique items are in this ArraySet. If duplicates have been + * added, than those do not count towards the size. + * + * @returns Number + */ +ArraySet.prototype.size = function ArraySet_size() { + return hasNativeMap ? this._set.size : Object.getOwnPropertyNames(this._set).length; +}; + +/** + * Add the given string to this set. + * + * @param String aStr + */ +ArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) { + var sStr = hasNativeMap ? aStr : util.toSetString(aStr); + var isDuplicate = hasNativeMap ? this.has(aStr) : has.call(this._set, sStr); + var idx = this._array.length; + if (!isDuplicate || aAllowDuplicates) { + this._array.push(aStr); + } + if (!isDuplicate) { + if (hasNativeMap) { + this._set.set(aStr, idx); + } else { + this._set[sStr] = idx; + } + } +}; + +/** + * Is the given string a member of this set? + * + * @param String aStr + */ +ArraySet.prototype.has = function ArraySet_has(aStr) { + if (hasNativeMap) { + return this._set.has(aStr); + } else { + var sStr = util.toSetString(aStr); + return has.call(this._set, sStr); + } +}; + +/** + * What is the index of the given string in the array? + * + * @param String aStr + */ +ArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) { + if (hasNativeMap) { + var idx = this._set.get(aStr); + if (idx >= 0) { + return idx; + } + } else { + var sStr = util.toSetString(aStr); + if (has.call(this._set, sStr)) { + return this._set[sStr]; + } + } + + throw new Error('"' + aStr + '" is not in the set.'); +}; + +/** + * What is the element at the given index? + * + * @param Number aIdx + */ +ArraySet.prototype.at = function ArraySet_at(aIdx) { + if (aIdx >= 0 && aIdx < this._array.length) { + return this._array[aIdx]; + } + throw new Error('No element indexed by ' + aIdx); +}; + +/** + * Returns the array representation of this set (which has the proper indices + * indicated by indexOf). Note that this is a copy of the internal array used + * for storing the members so that no one can mess with internal state. + */ +ArraySet.prototype.toArray = function ArraySet_toArray() { + return this._array.slice(); +}; + +exports.ArraySet = ArraySet; + + +/***/ }), + +/***/ 983: +/***/ (function(__unusedmodule, exports) { + +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +/** + * This is a helper function for getting values from parameter/options + * objects. + * + * @param args The object we are extracting values from + * @param name The name of the property we are getting. + * @param defaultValue An optional value to return if the property is missing + * from the object. If this is not specified and the property is missing, an + * error will be thrown. + */ +function getArg(aArgs, aName, aDefaultValue) { + if (aName in aArgs) { + return aArgs[aName]; + } else if (arguments.length === 3) { + return aDefaultValue; + } else { + throw new Error('"' + aName + '" is a required argument.'); + } +} +exports.getArg = getArg; + +var urlRegexp = /^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/; +var dataUrlRegexp = /^data:.+\,.+$/; + +function urlParse(aUrl) { + var match = aUrl.match(urlRegexp); + if (!match) { + return null; + } + return { + scheme: match[1], + auth: match[2], + host: match[3], + port: match[4], + path: match[5] + }; +} +exports.urlParse = urlParse; + +function urlGenerate(aParsedUrl) { + var url = ''; + if (aParsedUrl.scheme) { + url += aParsedUrl.scheme + ':'; + } + url += '//'; + if (aParsedUrl.auth) { + url += aParsedUrl.auth + '@'; + } + if (aParsedUrl.host) { + url += aParsedUrl.host; + } + if (aParsedUrl.port) { + url += ":" + aParsedUrl.port + } + if (aParsedUrl.path) { + url += aParsedUrl.path; + } + return url; +} +exports.urlGenerate = urlGenerate; + +/** + * Normalizes a path, or the path portion of a URL: + * + * - Replaces consecutive slashes with one slash. + * - Removes unnecessary '.' parts. + * - Removes unnecessary '/..' parts. + * + * Based on code in the Node.js 'path' core module. + * + * @param aPath The path or url to normalize. + */ +function normalize(aPath) { + var path = aPath; + var url = urlParse(aPath); + if (url) { + if (!url.path) { + return aPath; + } + path = url.path; + } + var isAbsolute = exports.isAbsolute(path); + + var parts = path.split(/\/+/); + for (var part, up = 0, i = parts.length - 1; i >= 0; i--) { + part = parts[i]; + if (part === '.') { + parts.splice(i, 1); + } else if (part === '..') { + up++; + } else if (up > 0) { + if (part === '') { + // The first part is blank if the path is absolute. Trying to go + // above the root is a no-op. Therefore we can remove all '..' parts + // directly after the root. + parts.splice(i + 1, up); + up = 0; + } else { + parts.splice(i, 2); + up--; + } + } + } + path = parts.join('/'); + + if (path === '') { + path = isAbsolute ? '/' : '.'; + } + + if (url) { + url.path = path; + return urlGenerate(url); + } + return path; +} +exports.normalize = normalize; + +/** + * Joins two paths/URLs. + * + * @param aRoot The root path or URL. + * @param aPath The path or URL to be joined with the root. + * + * - If aPath is a URL or a data URI, aPath is returned, unless aPath is a + * scheme-relative URL: Then the scheme of aRoot, if any, is prepended + * first. + * - Otherwise aPath is a path. If aRoot is a URL, then its path portion + * is updated with the result and aRoot is returned. Otherwise the result + * is returned. + * - If aPath is absolute, the result is aPath. + * - Otherwise the two paths are joined with a slash. + * - Joining for example 'http://' and 'www.example.com' is also supported. + */ +function join(aRoot, aPath) { + if (aRoot === "") { + aRoot = "."; + } + if (aPath === "") { + aPath = "."; + } + var aPathUrl = urlParse(aPath); + var aRootUrl = urlParse(aRoot); + if (aRootUrl) { + aRoot = aRootUrl.path || '/'; + } + + // `join(foo, '//www.example.org')` + if (aPathUrl && !aPathUrl.scheme) { + if (aRootUrl) { + aPathUrl.scheme = aRootUrl.scheme; + } + return urlGenerate(aPathUrl); + } + + if (aPathUrl || aPath.match(dataUrlRegexp)) { + return aPath; + } + + // `join('http://', 'www.example.com')` + if (aRootUrl && !aRootUrl.host && !aRootUrl.path) { + aRootUrl.host = aPath; + return urlGenerate(aRootUrl); + } + + var joined = aPath.charAt(0) === '/' + ? aPath + : normalize(aRoot.replace(/\/+$/, '') + '/' + aPath); + + if (aRootUrl) { + aRootUrl.path = joined; + return urlGenerate(aRootUrl); + } + return joined; +} +exports.join = join; + +exports.isAbsolute = function (aPath) { + return aPath.charAt(0) === '/' || urlRegexp.test(aPath); +}; + +/** + * Make a path relative to a URL or another path. + * + * @param aRoot The root path or URL. + * @param aPath The path or URL to be made relative to aRoot. + */ +function relative(aRoot, aPath) { + if (aRoot === "") { + aRoot = "."; + } + + aRoot = aRoot.replace(/\/$/, ''); + + // It is possible for the path to be above the root. In this case, simply + // checking whether the root is a prefix of the path won't work. Instead, we + // need to remove components from the root one by one, until either we find + // a prefix that fits, or we run out of components to remove. + var level = 0; + while (aPath.indexOf(aRoot + '/') !== 0) { + var index = aRoot.lastIndexOf("/"); + if (index < 0) { + return aPath; + } + + // If the only part of the root that is left is the scheme (i.e. http://, + // file:///, etc.), one or more slashes (/), or simply nothing at all, we + // have exhausted all components, so the path is not relative to the root. + aRoot = aRoot.slice(0, index); + if (aRoot.match(/^([^\/]+:\/)?\/*$/)) { + return aPath; + } + + ++level; + } + + // Make sure we add a "../" for each component we removed from the root. + return Array(level + 1).join("../") + aPath.substr(aRoot.length + 1); +} +exports.relative = relative; + +var supportsNullProto = (function () { + var obj = Object.create(null); + return !('__proto__' in obj); +}()); + +function identity (s) { + return s; +} + +/** + * Because behavior goes wacky when you set `__proto__` on objects, we + * have to prefix all the strings in our set with an arbitrary character. + * + * See https://github.com/mozilla/source-map/pull/31 and + * https://github.com/mozilla/source-map/issues/30 + * + * @param String aStr + */ +function toSetString(aStr) { + if (isProtoString(aStr)) { + return '$' + aStr; + } + + return aStr; +} +exports.toSetString = supportsNullProto ? identity : toSetString; + +function fromSetString(aStr) { + if (isProtoString(aStr)) { + return aStr.slice(1); + } + + return aStr; +} +exports.fromSetString = supportsNullProto ? identity : fromSetString; + +function isProtoString(s) { + if (!s) { + return false; + } + + var length = s.length; + + if (length < 9 /* "__proto__".length */) { + return false; + } + + if (s.charCodeAt(length - 1) !== 95 /* '_' */ || + s.charCodeAt(length - 2) !== 95 /* '_' */ || + s.charCodeAt(length - 3) !== 111 /* 'o' */ || + s.charCodeAt(length - 4) !== 116 /* 't' */ || + s.charCodeAt(length - 5) !== 111 /* 'o' */ || + s.charCodeAt(length - 6) !== 114 /* 'r' */ || + s.charCodeAt(length - 7) !== 112 /* 'p' */ || + s.charCodeAt(length - 8) !== 95 /* '_' */ || + s.charCodeAt(length - 9) !== 95 /* '_' */) { + return false; + } + + for (var i = length - 10; i >= 0; i--) { + if (s.charCodeAt(i) !== 36 /* '$' */) { + return false; + } + } + + return true; +} + +/** + * Comparator between two mappings where the original positions are compared. + * + * Optionally pass in `true` as `onlyCompareGenerated` to consider two + * mappings with the same original source/line/column, but different generated + * line and column the same. Useful when searching for a mapping with a + * stubbed out mapping. + */ +function compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) { + var cmp = strcmp(mappingA.source, mappingB.source); + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp !== 0 || onlyCompareOriginal) { + return cmp; + } + + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.generatedLine - mappingB.generatedLine; + if (cmp !== 0) { + return cmp; + } + + return strcmp(mappingA.name, mappingB.name); +} +exports.compareByOriginalPositions = compareByOriginalPositions; + +/** + * Comparator between two mappings with deflated source and name indices where + * the generated positions are compared. + * + * Optionally pass in `true` as `onlyCompareGenerated` to consider two + * mappings with the same generated line and column, but different + * source/name/original line and column the same. Useful when searching for a + * mapping with a stubbed out mapping. + */ +function compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) { + var cmp = mappingA.generatedLine - mappingB.generatedLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp !== 0 || onlyCompareGenerated) { + return cmp; + } + + cmp = strcmp(mappingA.source, mappingB.source); + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp !== 0) { + return cmp; + } + + return strcmp(mappingA.name, mappingB.name); +} +exports.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated; + +function strcmp(aStr1, aStr2) { + if (aStr1 === aStr2) { + return 0; + } + + if (aStr1 === null) { + return 1; // aStr2 !== null + } + + if (aStr2 === null) { + return -1; // aStr1 !== null + } + + if (aStr1 > aStr2) { + return 1; + } + + return -1; +} + +/** + * Comparator between two mappings with inflated source and name strings where + * the generated positions are compared. + */ +function compareByGeneratedPositionsInflated(mappingA, mappingB) { + var cmp = mappingA.generatedLine - mappingB.generatedLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp !== 0) { + return cmp; + } + + cmp = strcmp(mappingA.source, mappingB.source); + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp !== 0) { + return cmp; + } + + return strcmp(mappingA.name, mappingB.name); +} +exports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated; + +/** + * Strip any JSON XSSI avoidance prefix from the string (as documented + * in the source maps specification), and then parse the string as + * JSON. + */ +function parseSourceMapInput(str) { + return JSON.parse(str.replace(/^\)]}'[^\n]*\n/, '')); +} +exports.parseSourceMapInput = parseSourceMapInput; + +/** + * Compute the URL of a source given the the source root, the source's + * URL, and the source map's URL. + */ +function computeSourceURL(sourceRoot, sourceURL, sourceMapURL) { + sourceURL = sourceURL || ''; + + if (sourceRoot) { + // This follows what Chrome does. + if (sourceRoot[sourceRoot.length - 1] !== '/' && sourceURL[0] !== '/') { + sourceRoot += '/'; + } + // The spec says: + // Line 4: An optional source root, useful for relocating source + // files on a server or removing repeated values in the + // “sources” entry. This value is prepended to the individual + // entries in the “source” field. + sourceURL = sourceRoot + sourceURL; + } + + // Historically, SourceMapConsumer did not take the sourceMapURL as + // a parameter. This mode is still somewhat supported, which is why + // this code block is conditional. However, it's preferable to pass + // the source map URL to SourceMapConsumer, so that this function + // can implement the source URL resolution algorithm as outlined in + // the spec. This block is basically the equivalent of: + // new URL(sourceURL, sourceMapURL).toString() + // ... except it avoids using URL, which wasn't available in the + // older releases of node still supported by this library. + // + // The spec says: + // If the sources are not absolute URLs after prepending of the + // “sourceRoot”, the sources are resolved relative to the + // SourceMap (like resolving script src in a html document). + if (sourceMapURL) { + var parsed = urlParse(sourceMapURL); + if (!parsed) { + throw new Error("sourceMapURL could not be parsed"); + } + if (parsed.path) { + // Strip the last path component, but keep the "/". + var index = parsed.path.lastIndexOf('/'); + if (index >= 0) { + parsed.path = parsed.path.substring(0, index + 1); + } + } + sourceURL = join(urlGenerate(parsed), sourceURL); + } + + return normalize(sourceURL); +} +exports.computeSourceURL = computeSourceURL; + + +/***/ }), + +/***/ 990: +/***/ (function(__unusedmodule, exports, __webpack_require__) { + +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var SourceMapGenerator = __webpack_require__(341).SourceMapGenerator; +var util = __webpack_require__(983); + +// Matches a Windows-style `\r\n` newline or a `\n` newline used by all other +// operating systems these days (capturing the result). +var REGEX_NEWLINE = /(\r?\n)/; + +// Newline character code for charCodeAt() comparisons +var NEWLINE_CODE = 10; + +// Private symbol for identifying `SourceNode`s when multiple versions of +// the source-map library are loaded. This MUST NOT CHANGE across +// versions! +var isSourceNode = "$$$isSourceNode$$$"; + +/** + * SourceNodes provide a way to abstract over interpolating/concatenating + * snippets of generated JavaScript source code while maintaining the line and + * column information associated with the original source code. + * + * @param aLine The original line number. + * @param aColumn The original column number. + * @param aSource The original source's filename. + * @param aChunks Optional. An array of strings which are snippets of + * generated JS, or other SourceNodes. + * @param aName The original identifier. + */ +function SourceNode(aLine, aColumn, aSource, aChunks, aName) { + this.children = []; + this.sourceContents = {}; + this.line = aLine == null ? null : aLine; + this.column = aColumn == null ? null : aColumn; + this.source = aSource == null ? null : aSource; + this.name = aName == null ? null : aName; + this[isSourceNode] = true; + if (aChunks != null) this.add(aChunks); +} + +/** + * Creates a SourceNode from generated code and a SourceMapConsumer. + * + * @param aGeneratedCode The generated code + * @param aSourceMapConsumer The SourceMap for the generated code + * @param aRelativePath Optional. The path that relative sources in the + * SourceMapConsumer should be relative to. + */ +SourceNode.fromStringWithSourceMap = + function SourceNode_fromStringWithSourceMap(aGeneratedCode, aSourceMapConsumer, aRelativePath) { + // The SourceNode we want to fill with the generated code + // and the SourceMap + var node = new SourceNode(); + + // All even indices of this array are one line of the generated code, + // while all odd indices are the newlines between two adjacent lines + // (since `REGEX_NEWLINE` captures its match). + // Processed fragments are accessed by calling `shiftNextLine`. + var remainingLines = aGeneratedCode.split(REGEX_NEWLINE); + var remainingLinesIndex = 0; + var shiftNextLine = function() { + var lineContents = getNextLine(); + // The last line of a file might not have a newline. + var newLine = getNextLine() || ""; + return lineContents + newLine; + + function getNextLine() { + return remainingLinesIndex < remainingLines.length ? + remainingLines[remainingLinesIndex++] : undefined; + } + }; + + // We need to remember the position of "remainingLines" + var lastGeneratedLine = 1, lastGeneratedColumn = 0; + + // The generate SourceNodes we need a code range. + // To extract it current and last mapping is used. + // Here we store the last mapping. + var lastMapping = null; + + aSourceMapConsumer.eachMapping(function (mapping) { + if (lastMapping !== null) { + // We add the code from "lastMapping" to "mapping": + // First check if there is a new line in between. + if (lastGeneratedLine < mapping.generatedLine) { + // Associate first line with "lastMapping" + addMappingWithCode(lastMapping, shiftNextLine()); + lastGeneratedLine++; + lastGeneratedColumn = 0; + // The remaining code is added without mapping + } else { + // There is no new line in between. + // Associate the code between "lastGeneratedColumn" and + // "mapping.generatedColumn" with "lastMapping" + var nextLine = remainingLines[remainingLinesIndex] || ''; + var code = nextLine.substr(0, mapping.generatedColumn - + lastGeneratedColumn); + remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn - + lastGeneratedColumn); + lastGeneratedColumn = mapping.generatedColumn; + addMappingWithCode(lastMapping, code); + // No more remaining code, continue + lastMapping = mapping; + return; + } + } + // We add the generated code until the first mapping + // to the SourceNode without any mapping. + // Each line is added as separate string. + while (lastGeneratedLine < mapping.generatedLine) { + node.add(shiftNextLine()); + lastGeneratedLine++; + } + if (lastGeneratedColumn < mapping.generatedColumn) { + var nextLine = remainingLines[remainingLinesIndex] || ''; + node.add(nextLine.substr(0, mapping.generatedColumn)); + remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn); + lastGeneratedColumn = mapping.generatedColumn; + } + lastMapping = mapping; + }, this); + // We have processed all mappings. + if (remainingLinesIndex < remainingLines.length) { + if (lastMapping) { + // Associate the remaining code in the current line with "lastMapping" + addMappingWithCode(lastMapping, shiftNextLine()); + } + // and add the remaining lines without any mapping + node.add(remainingLines.splice(remainingLinesIndex).join("")); + } + + // Copy sourcesContent into SourceNode + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content != null) { + if (aRelativePath != null) { + sourceFile = util.join(aRelativePath, sourceFile); + } + node.setSourceContent(sourceFile, content); + } + }); + + return node; + + function addMappingWithCode(mapping, code) { + if (mapping === null || mapping.source === undefined) { + node.add(code); + } else { + var source = aRelativePath + ? util.join(aRelativePath, mapping.source) + : mapping.source; + node.add(new SourceNode(mapping.originalLine, + mapping.originalColumn, + source, + code, + mapping.name)); + } + } + }; + +/** + * Add a chunk of generated JS to this source node. + * + * @param aChunk A string snippet of generated JS code, another instance of + * SourceNode, or an array where each member is one of those things. + */ +SourceNode.prototype.add = function SourceNode_add(aChunk) { + if (Array.isArray(aChunk)) { + aChunk.forEach(function (chunk) { + this.add(chunk); + }, this); + } + else if (aChunk[isSourceNode] || typeof aChunk === "string") { + if (aChunk) { + this.children.push(aChunk); + } + } + else { + throw new TypeError( + "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk + ); + } + return this; +}; + +/** + * Add a chunk of generated JS to the beginning of this source node. + * + * @param aChunk A string snippet of generated JS code, another instance of + * SourceNode, or an array where each member is one of those things. + */ +SourceNode.prototype.prepend = function SourceNode_prepend(aChunk) { + if (Array.isArray(aChunk)) { + for (var i = aChunk.length-1; i >= 0; i--) { + this.prepend(aChunk[i]); + } + } + else if (aChunk[isSourceNode] || typeof aChunk === "string") { + this.children.unshift(aChunk); + } + else { + throw new TypeError( + "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk + ); + } + return this; +}; + +/** + * Walk over the tree of JS snippets in this node and its children. The + * walking function is called once for each snippet of JS and is passed that + * snippet and the its original associated source's line/column location. + * + * @param aFn The traversal function. + */ +SourceNode.prototype.walk = function SourceNode_walk(aFn) { + var chunk; + for (var i = 0, len = this.children.length; i < len; i++) { + chunk = this.children[i]; + if (chunk[isSourceNode]) { + chunk.walk(aFn); + } + else { + if (chunk !== '') { + aFn(chunk, { source: this.source, + line: this.line, + column: this.column, + name: this.name }); + } + } + } +}; + +/** + * Like `String.prototype.join` except for SourceNodes. Inserts `aStr` between + * each of `this.children`. + * + * @param aSep The separator. + */ +SourceNode.prototype.join = function SourceNode_join(aSep) { + var newChildren; + var i; + var len = this.children.length; + if (len > 0) { + newChildren = []; + for (i = 0; i < len-1; i++) { + newChildren.push(this.children[i]); + newChildren.push(aSep); + } + newChildren.push(this.children[i]); + this.children = newChildren; + } + return this; +}; + +/** + * Call String.prototype.replace on the very right-most source snippet. Useful + * for trimming whitespace from the end of a source node, etc. + * + * @param aPattern The pattern to replace. + * @param aReplacement The thing to replace the pattern with. + */ +SourceNode.prototype.replaceRight = function SourceNode_replaceRight(aPattern, aReplacement) { + var lastChild = this.children[this.children.length - 1]; + if (lastChild[isSourceNode]) { + lastChild.replaceRight(aPattern, aReplacement); + } + else if (typeof lastChild === 'string') { + this.children[this.children.length - 1] = lastChild.replace(aPattern, aReplacement); + } + else { + this.children.push(''.replace(aPattern, aReplacement)); + } + return this; +}; + +/** + * Set the source content for a source file. This will be added to the SourceMapGenerator + * in the sourcesContent field. + * + * @param aSourceFile The filename of the source file + * @param aSourceContent The content of the source file + */ +SourceNode.prototype.setSourceContent = + function SourceNode_setSourceContent(aSourceFile, aSourceContent) { + this.sourceContents[util.toSetString(aSourceFile)] = aSourceContent; + }; + +/** + * Walk over the tree of SourceNodes. The walking function is called for each + * source file content and is passed the filename and source content. + * + * @param aFn The traversal function. + */ +SourceNode.prototype.walkSourceContents = + function SourceNode_walkSourceContents(aFn) { + for (var i = 0, len = this.children.length; i < len; i++) { + if (this.children[i][isSourceNode]) { + this.children[i].walkSourceContents(aFn); + } + } + + var sources = Object.keys(this.sourceContents); + for (var i = 0, len = sources.length; i < len; i++) { + aFn(util.fromSetString(sources[i]), this.sourceContents[sources[i]]); + } + }; + +/** + * Return the string representation of this source node. Walks over the tree + * and concatenates all the various snippets together to one string. + */ +SourceNode.prototype.toString = function SourceNode_toString() { + var str = ""; + this.walk(function (chunk) { + str += chunk; + }); + return str; +}; + +/** + * Returns the string representation of this source node along with a source + * map. + */ +SourceNode.prototype.toStringWithSourceMap = function SourceNode_toStringWithSourceMap(aArgs) { + var generated = { + code: "", + line: 1, + column: 0 + }; + var map = new SourceMapGenerator(aArgs); + var sourceMappingActive = false; + var lastOriginalSource = null; + var lastOriginalLine = null; + var lastOriginalColumn = null; + var lastOriginalName = null; + this.walk(function (chunk, original) { + generated.code += chunk; + if (original.source !== null + && original.line !== null + && original.column !== null) { + if(lastOriginalSource !== original.source + || lastOriginalLine !== original.line + || lastOriginalColumn !== original.column + || lastOriginalName !== original.name) { + map.addMapping({ + source: original.source, + original: { + line: original.line, + column: original.column + }, + generated: { + line: generated.line, + column: generated.column + }, + name: original.name + }); + } + lastOriginalSource = original.source; + lastOriginalLine = original.line; + lastOriginalColumn = original.column; + lastOriginalName = original.name; + sourceMappingActive = true; + } else if (sourceMappingActive) { + map.addMapping({ + generated: { + line: generated.line, + column: generated.column + } + }); + lastOriginalSource = null; + sourceMappingActive = false; + } + for (var idx = 0, length = chunk.length; idx < length; idx++) { + if (chunk.charCodeAt(idx) === NEWLINE_CODE) { + generated.line++; + generated.column = 0; + // Mappings end at eol + if (idx + 1 === length) { + lastOriginalSource = null; + sourceMappingActive = false; + } else if (sourceMappingActive) { + map.addMapping({ + source: original.source, + original: { + line: original.line, + column: original.column + }, + generated: { + line: generated.line, + column: generated.column + }, + name: original.name + }); + } + } else { + generated.column++; + } + } + }); + this.walkSourceContents(function (sourceFile, sourceContent) { + map.setSourceContent(sourceFile, sourceContent); + }); + + return { code: generated.code, map: map }; +}; + +exports.SourceNode = SourceNode; + + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/node_modules/@zeit/ncc/dist/ncc/typescript.js b/node_modules/@zeit/ncc/dist/ncc/typescript.js new file mode 100644 index 0000000..f43082b --- /dev/null +++ b/node_modules/@zeit/ncc/dist/ncc/typescript.js @@ -0,0 +1,14 @@ + +const { Module } = require('module'); +const m = new Module('', null); +m.paths = Module._nodeModulePaths(process.env.TYPESCRIPT_LOOKUP_PATH || (process.cwd() + '/')); +let typescript; +try { + typescript = m.require('typescript'); + console.log("ncc: Using typescript@" + typescript.version + " (local user-provided)"); +} +catch (e) { + typescript = require('./loaders/ts-loader.js').typescript; + console.log("ncc: Using typescript@" + typescript.version + " (ncc built-in)"); +} +module.exports = typescript; diff --git a/node_modules/@zeit/ncc/dist/readme.md b/node_modules/@zeit/ncc/dist/readme.md new file mode 100644 index 0000000..0c4f698 --- /dev/null +++ b/node_modules/@zeit/ncc/dist/readme.md @@ -0,0 +1,9 @@ +# About this directory + +This directory will contain: +- `buildin`: the webpack `buildin/` folder, required at runtime +- `ncc`: the output from the ncc build + +They are generated by the `build` script defined in `../package.json`. + +This directory is the only one published to npm. diff --git a/node_modules/@zeit/ncc/package.json b/node_modules/@zeit/ncc/package.json new file mode 100644 index 0000000..2a411a9 --- /dev/null +++ b/node_modules/@zeit/ncc/package.json @@ -0,0 +1,148 @@ +{ + "_args": [ + [ + "@zeit/ncc@0.22.1", + "/Users/1112456/github/jenkins-action" + ] + ], + "_development": true, + "_from": "@zeit/ncc@0.22.1", + "_id": "@zeit/ncc@0.22.1", + "_inBundle": false, + "_integrity": "sha512-Qq3bMuonkcnV/96jhy9SQYdh39NXHxNMJ1O31ZFzWG9n52fR2DLtgrNzhj/ahlEjnBziMLGVWDbaS9sf03/fEw==", + "_location": "/@zeit/ncc", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "@zeit/ncc@0.22.1", + "name": "@zeit/ncc", + "escapedName": "@zeit%2fncc", + "scope": "@zeit", + "rawSpec": "0.22.1", + "saveSpec": null, + "fetchSpec": "0.22.1" + }, + "_requiredBy": [ + "#DEV:/" + ], + "_resolved": "https://registry.npmjs.org/@zeit/ncc/-/ncc-0.22.1.tgz", + "_spec": "0.22.1", + "_where": "/Users/1112456/github/jenkins-action", + "bin": { + "ncc": "dist/ncc/cli.js" + }, + "bugs": { + "url": "https://github.com/zeit/ncc/issues" + }, + "description": "[![CI Status](https://github.com/zeit/ncc/workflows/CI/badge.svg)](https://github.com/zeit/ncc/actions?workflow=CI) [![codecov](https://codecov.io/gh/zeit/ncc/branch/master/graph/badge.svg)](https://codecov.io/gh/zeit/ncc)", + "devDependencies": { + "@azure/cosmos": "^2.0.5", + "@bugsnag/js": "^5.0.1", + "@ffmpeg-installer/ffmpeg": "^1.0.17", + "@google-cloud/bigquery": "^2.0.1", + "@google-cloud/firestore": "^2.2.0", + "@sentry/node": "^4.3.0", + "@tensorflow/tfjs-node": "^0.3.0", + "@zeit/webpack-asset-relocator-loader": "0.6.4", + "analytics-node": "^3.3.0", + "apollo-server-express": "^2.2.2", + "arg": "^4.1.0", + "auth0": "^2.14.0", + "aws-sdk": "^2.356.0", + "axios": "^0.18.1", + "azure-storage": "^2.10.2", + "browserify-middleware": "^8.1.1", + "bytes": "^3.0.0", + "canvas": "^2.2.0", + "chromeless": "^1.5.2", + "codecov": "^3.6.5", + "consolidate": "^0.15.1", + "copy": "^0.3.2", + "core-js": "^2.5.7", + "cowsay": "^1.3.1", + "esm": "^3.2.22", + "express": "^4.16.4", + "fetch-h2": "^1.0.2", + "firebase": "^6.1.1", + "firebase-admin": "^6.3.0", + "fluent-ffmpeg": "^2.1.2", + "fontkit": "^1.7.7", + "get-folder-size": "^2.0.0", + "glob": "^7.1.3", + "got": "^9.3.2", + "graceful-fs": "^4.1.15", + "graphql": "^14.0.2", + "highlights": "^3.1.1", + "hot-shots": "^5.9.2", + "in-publish": "^2.0.0", + "ioredis": "^4.2.0", + "isomorphic-unfetch": "^3.0.0", + "jest": "^23.6.0", + "jimp": "^0.5.6", + "jugglingdb": "2.0.1", + "koa": "^2.6.2", + "leveldown": "^5.6.0", + "lighthouse": "^5.0.0", + "loopback": "^3.24.0", + "mailgun": "^0.5.0", + "mariadb": "^2.0.1-beta", + "memcached": "^2.2.2", + "mkdirp": "^0.5.1", + "mongoose": "^5.3.12", + "mysql": "^2.16.0", + "node-gyp": "^3.8.0", + "npm": "^6.13.4", + "oracledb": "^4.2.0", + "passport": "^0.4.0", + "passport-google-oauth": "^1.0.0", + "path-platform": "^0.11.15", + "pdf2json": "^1.1.8", + "pdfkit": "^0.8.3", + "pg": "^7.6.1", + "pug": "^2.0.3", + "react": "^16.6.3", + "react-dom": "^16.6.3", + "redis": "^2.8.0", + "request": "^2.88.0", + "rxjs": "^6.3.3", + "saslprep": "^1.0.2", + "sequelize": "^5.8.6", + "sharp": "^0.25.2", + "shebang-loader": "^0.0.1", + "socket.io": "^2.2.0", + "source-map-support": "^0.5.9", + "stripe": "^6.15.0", + "swig": "^1.4.2", + "terser": "^3.11.0", + "the-answer": "^1.0.0", + "tiny-json-http": "^7.0.2", + "ts-loader": "^5.3.1", + "tsconfig-paths": "^3.7.0", + "tsconfig-paths-webpack-plugin": "^3.2.0", + "twilio": "^3.23.2", + "typescript": "^3.2.2", + "vm2": "^3.6.6", + "vue": "^2.5.17", + "vue-server-renderer": "^2.5.17", + "webpack": "5.0.0-alpha.17", + "when": "^3.7.8" + }, + "homepage": "https://github.com/zeit/ncc#readme", + "license": "MIT", + "main": "./dist/ncc/index.js", + "name": "@zeit/ncc", + "repository": { + "type": "git", + "url": "git+https://github.com/zeit/ncc.git" + }, + "scripts": { + "build": "node scripts/build", + "build-test-binary": "cd test/binary && node-gyp rebuild && cp build/Release/hello.node ../integration/hello.node", + "codecov": "codecov", + "prepublish": "in-publish && npm test || not-in-publish", + "test": "node --expose-gc --max_old_space_size=3072 node_modules/.bin/jest", + "test-coverage": "node --expose-gc --max_old_space_size=3072 node_modules/.bin/jest --coverage --globals \"{\\\"coverage\\\":true}\" && codecov" + }, + "version": "0.22.1" +} diff --git a/node_modules/@zeit/ncc/readme.md b/node_modules/@zeit/ncc/readme.md new file mode 100644 index 0000000..ee1f190 --- /dev/null +++ b/node_modules/@zeit/ncc/readme.md @@ -0,0 +1,141 @@ +# ncc + +[![CI Status](https://github.com/zeit/ncc/workflows/CI/badge.svg)](https://github.com/zeit/ncc/actions?workflow=CI) +[![codecov](https://codecov.io/gh/zeit/ncc/branch/master/graph/badge.svg)](https://codecov.io/gh/zeit/ncc) + +Simple CLI for compiling a Node.js module into a single file, +together with all its dependencies, gcc-style. + +## Motivation + +- Publish minimal packages to npm +- Only ship relevant app code to serverless environments +- Don't waste time configuring bundlers +- Generally faster bootup time and less I/O overhead +- Compiled language-like experience (e.g.: `go`) + +## Design goals + +- Zero configuration +- TypeScript built-in +- Only supports Node.js programs as input / output +- Support all Node.js patterns and npm modules + +## Usage + +### Installation +```bash +npm i -g @zeit/ncc +``` + +### Usage + +```bash +$ ncc +``` +Eg: +```bash +$ ncc build input.js -o dist +``` + +Outputs the Node.js compact build of `input.js` into `dist/index.js`. + +> Note: If the input file is using a `.cjs` extension, then so will the corresponding output file. +> This is useful for packages that want to use `.js` files as modules in native Node.js using +> a `"type": "module"` in the package.json file. + +#### Commands: +``` + build [opts] + run [opts] + cache clean|dir|size + help + version +``` + +#### Options: +``` + -o, --out [file] Output directory for build (defaults to dist) + -m, --minify Minify output + -C, --no-cache Skip build cache population + -s, --source-map Generate source map + --no-source-map-register Skip source-map-register source map support + -e, --external [mod] Skip bundling 'mod'. Can be used many times + -q, --quiet Disable build summaries / non-error outputs + -w, --watch Start a watched build + --v8-cache Emit a build using the v8 compile cache + --stats-out [file] Emit webpack stats as json to the specified output file +``` + +### Execution Testing + +For testing and debugging, a file can be built into a temporary directory and executed with full source maps support with the command: + +```bash +$ ncc run input.js +``` + +### With TypeScript + +The only requirement is to point `ncc` to `.ts` or `.tsx` files. A `tsconfig.json` +file is necessary. Most likely you want to indicate `es2015` support: + +```json +{ + "compilerOptions": { + "target": "es2015", + "moduleResolution": "node" + } +} +``` + +### Package Support + +Some packages may need some extra options for ncc support in order to better work with the static analysis. + +See [package-support.md](package-support.md) for some common packages and their usage with ncc. + +### Programmatically From Node.js + +```js +require('@zeit/ncc')('/path/to/input', { + // provide a custom cache path or disable caching + cache: "./custom/cache/path" | false, + // externals to leave as requires of the build + externals: ["externalpackage"], + // directory outside of which never to emit assets + filterAssetBase: process.cwd(), // default + minify: false, // default + sourceMap: false, // default + sourceMapBasePrefix: '../', // default treats sources as output-relative + // when outputting a sourcemap, automatically include + // source-map-support in the output file (increases output by 32kB). + sourceMapRegister: true, // default + watch: false, // default + v8cache: false, // default + quiet: false, // default + debugLog: false // default +}).then(({ code, map, assets }) => { + console.log(code); + // Assets is an object of asset file names to { source, permissions, symlinks } + // expected relative to the output code (if any) +}) +``` + +When `watch: true` is set, the build object is not a promise, but has the following signature: + +```js +{ + // handler re-run on each build completion + // watch errors are reported on "err" + handler (({ err, code, map, assets }) => { ... }) + // handler re-run on each rebuild start + rebuild (() => {}) + // close the watcher + void close (); +} +``` + +## Caveats + +- Files / assets are relocated based on a [static evaluator](https://github.com/zeit/webpack-asset-relocator-loader#how-it-works). Dynamic non-statically analyzable asset loads may not work out correctly diff --git a/node_modules/ajv/.tonic_example.js b/node_modules/ajv/.tonic_example.js new file mode 100644 index 0000000..aa11812 --- /dev/null +++ b/node_modules/ajv/.tonic_example.js @@ -0,0 +1,20 @@ +var Ajv = require('ajv'); +var ajv = new Ajv({allErrors: true}); + +var schema = { + "properties": { + "foo": { "type": "string" }, + "bar": { "type": "number", "maximum": 3 } + } +}; + +var validate = ajv.compile(schema); + +test({"foo": "abc", "bar": 2}); +test({"foo": 2, "bar": 4}); + +function test(data) { + var valid = validate(data); + if (valid) console.log('Valid!'); + else console.log('Invalid: ' + ajv.errorsText(validate.errors)); +} \ No newline at end of file diff --git a/node_modules/ajv/LICENSE b/node_modules/ajv/LICENSE new file mode 100644 index 0000000..96ee719 --- /dev/null +++ b/node_modules/ajv/LICENSE @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2015-2017 Evgeny Poberezkin + +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. + diff --git a/node_modules/ajv/README.md b/node_modules/ajv/README.md new file mode 100644 index 0000000..5aa2078 --- /dev/null +++ b/node_modules/ajv/README.md @@ -0,0 +1,1497 @@ +Ajv logo + +# Ajv: Another JSON Schema Validator + +The fastest JSON Schema validator for Node.js and browser. Supports draft-04/06/07. + +[![Build Status](https://travis-ci.org/ajv-validator/ajv.svg?branch=master)](https://travis-ci.org/ajv-validator/ajv) +[![npm](https://img.shields.io/npm/v/ajv.svg)](https://www.npmjs.com/package/ajv) +[![npm (beta)](https://img.shields.io/npm/v/ajv/beta)](https://www.npmjs.com/package/ajv/v/7.0.0-beta.0) +[![npm downloads](https://img.shields.io/npm/dm/ajv.svg)](https://www.npmjs.com/package/ajv) +[![Coverage Status](https://coveralls.io/repos/github/ajv-validator/ajv/badge.svg?branch=master)](https://coveralls.io/github/ajv-validator/ajv?branch=master) +[![Gitter](https://img.shields.io/gitter/room/ajv-validator/ajv.svg)](https://gitter.im/ajv-validator/ajv) +[![GitHub Sponsors](https://img.shields.io/badge/$-sponsors-brightgreen)](https://github.com/sponsors/epoberezkin) + + +## Ajv v7 beta is released + +[Ajv version 7.0.0-beta.0](https://github.com/ajv-validator/ajv/tree/v7-beta) is released with these changes: + +- to reduce the mistakes in JSON schemas and unexpected validation results, [strict mode](./docs/strict-mode.md) is added - it prohibits ignored or ambiguous JSON Schema elements. +- to make code injection from untrusted schemas impossible, [code generation](./docs/codegen.md) is fully re-written to be safe. +- to simplify Ajv extensions, the new keyword API that is used by pre-defined keywords is available to user-defined keywords - it is much easier to define any keywords now, especially with subschemas. +- schemas are compiled to ES6 code (ES5 code generation is supported with an option). +- to improve reliability and maintainability the code is migrated to TypeScript. + +**Please note**: + +- the support for JSON-Schema draft-04 is removed - if you have schemas using "id" attributes you have to replace them with "\$id" (or continue using version 6 that will be supported until 02/28/2021). +- all formats are separated to ajv-formats package - they have to be explicitely added if you use them. + +See [release notes](https://github.com/ajv-validator/ajv/releases/tag/v7.0.0-beta.0) for the details. + +To install the new version: + +```bash +npm install ajv@beta +``` + +See [Getting started with v7](https://github.com/ajv-validator/ajv/tree/v7-beta#usage) for code example. + + +## Mozilla MOSS grant and OpenJS Foundation + +[](https://www.mozilla.org/en-US/moss/)     [](https://openjsf.org/blog/2020/08/14/ajv-joins-openjs-foundation-as-an-incubation-project/) + +Ajv has been awarded a grant from Mozilla’s [Open Source Support (MOSS) program](https://www.mozilla.org/en-US/moss/) in the “Foundational Technology” track! It will sponsor the development of Ajv support of [JSON Schema version 2019-09](https://tools.ietf.org/html/draft-handrews-json-schema-02) and of [JSON Type Definition](https://tools.ietf.org/html/draft-ucarion-json-type-definition-04). + +Ajv also joined [OpenJS Foundation](https://openjsf.org/) – having this support will help ensure the longevity and stability of Ajv for all its users. + +This [blog post](https://www.poberezkin.com/posts/2020-08-14-ajv-json-validator-mozilla-open-source-grant-openjs-foundation.html) has more details. + +I am looking for the long term maintainers of Ajv – working with [ReadySet](https://www.thereadyset.co/), also sponsored by Mozilla, to establish clear guidelines for the role of a "maintainer" and the contribution standards, and to encourage a wider, more inclusive, contribution from the community. + + +## Please [sponsor Ajv development](https://github.com/sponsors/epoberezkin) + +Since I asked to support Ajv development 40 people and 6 organizations contributed via GitHub and OpenCollective - this support helped receiving the MOSS grant! + +Your continuing support is very important - the funds will be used to develop and maintain Ajv once the next major version is released. + +Please sponsor Ajv via: +- [GitHub sponsors page](https://github.com/sponsors/epoberezkin) (GitHub will match it) +- [Ajv Open Collective️](https://opencollective.com/ajv) + +Thank you. + + +#### Open Collective sponsors + + + + + + + + + + + + + + + +## Using version 6 + +[JSON Schema draft-07](http://json-schema.org/latest/json-schema-validation.html) is published. + +[Ajv version 6.0.0](https://github.com/ajv-validator/ajv/releases/tag/v6.0.0) that supports draft-07 is released. It may require either migrating your schemas or updating your code (to continue using draft-04 and v5 schemas, draft-06 schemas will be supported without changes). + +__Please note__: To use Ajv with draft-06 schemas you need to explicitly add the meta-schema to the validator instance: + +```javascript +ajv.addMetaSchema(require('ajv/lib/refs/json-schema-draft-06.json')); +``` + +To use Ajv with draft-04 schemas in addition to explicitly adding meta-schema you also need to use option schemaId: + +```javascript +var ajv = new Ajv({schemaId: 'id'}); +// If you want to use both draft-04 and draft-06/07 schemas: +// var ajv = new Ajv({schemaId: 'auto'}); +ajv.addMetaSchema(require('ajv/lib/refs/json-schema-draft-04.json')); +``` + + +## Contents + +- [Performance](#performance) +- [Features](#features) +- [Getting started](#getting-started) +- [Frequently Asked Questions](https://github.com/ajv-validator/ajv/blob/master/FAQ.md) +- [Using in browser](#using-in-browser) + - [Ajv and Content Security Policies (CSP)](#ajv-and-content-security-policies-csp) +- [Command line interface](#command-line-interface) +- Validation + - [Keywords](#validation-keywords) + - [Annotation keywords](#annotation-keywords) + - [Formats](#formats) + - [Combining schemas with $ref](#ref) + - [$data reference](#data-reference) + - NEW: [$merge and $patch keywords](#merge-and-patch-keywords) + - [Defining custom keywords](#defining-custom-keywords) + - [Asynchronous schema compilation](#asynchronous-schema-compilation) + - [Asynchronous validation](#asynchronous-validation) +- [Security considerations](#security-considerations) + - [Security contact](#security-contact) + - [Untrusted schemas](#untrusted-schemas) + - [Circular references in objects](#circular-references-in-javascript-objects) + - [Trusted schemas](#security-risks-of-trusted-schemas) + - [ReDoS attack](#redos-attack) +- Modifying data during validation + - [Filtering data](#filtering-data) + - [Assigning defaults](#assigning-defaults) + - [Coercing data types](#coercing-data-types) +- API + - [Methods](#api) + - [Options](#options) + - [Validation errors](#validation-errors) +- [Plugins](#plugins) +- [Related packages](#related-packages) +- [Some packages using Ajv](#some-packages-using-ajv) +- [Tests, Contributing, Changes history](#tests) +- [Support, Code of conduct, License](#open-source-software-support) + + +## Performance + +Ajv generates code using [doT templates](https://github.com/olado/doT) to turn JSON Schemas into super-fast validation functions that are efficient for v8 optimization. + +Currently Ajv is the fastest and the most standard compliant validator according to these benchmarks: + +- [json-schema-benchmark](https://github.com/ebdrup/json-schema-benchmark) - 50% faster than the second place +- [jsck benchmark](https://github.com/pandastrike/jsck#benchmarks) - 20-190% faster +- [z-schema benchmark](https://rawgit.com/zaggino/z-schema/master/benchmark/results.html) +- [themis benchmark](https://cdn.rawgit.com/playlyfe/themis/master/benchmark/results.html) + + +Performance of different validators by [json-schema-benchmark](https://github.com/ebdrup/json-schema-benchmark): + +[![performance](https://chart.googleapis.com/chart?chxt=x,y&cht=bhs&chco=76A4FB&chls=2.0&chbh=32,4,1&chs=600x416&chxl=-1:|djv|ajv|json-schema-validator-generator|jsen|is-my-json-valid|themis|z-schema|jsck|skeemas|json-schema-library|tv4&chd=t:100,98,72.1,66.8,50.1,15.1,6.1,3.8,1.2,0.7,0.2)](https://github.com/ebdrup/json-schema-benchmark/blob/master/README.md#performance) + + +## Features + +- Ajv implements full JSON Schema [draft-06/07](http://json-schema.org/) and draft-04 standards: + - all validation keywords (see [JSON Schema validation keywords](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md)) + - full support of remote refs (remote schemas have to be added with `addSchema` or compiled to be available) + - support of circular references between schemas + - correct string lengths for strings with unicode pairs (can be turned off) + - [formats](#formats) defined by JSON Schema draft-07 standard and custom formats (can be turned off) + - [validates schemas against meta-schema](#api-validateschema) +- supports [browsers](#using-in-browser) and Node.js 0.10-14.x +- [asynchronous loading](#asynchronous-schema-compilation) of referenced schemas during compilation +- "All errors" validation mode with [option allErrors](#options) +- [error messages with parameters](#validation-errors) describing error reasons to allow creating custom error messages +- i18n error messages support with [ajv-i18n](https://github.com/ajv-validator/ajv-i18n) package +- [filtering data](#filtering-data) from additional properties +- [assigning defaults](#assigning-defaults) to missing properties and items +- [coercing data](#coercing-data-types) to the types specified in `type` keywords +- [custom keywords](#defining-custom-keywords) +- draft-06/07 keywords `const`, `contains`, `propertyNames` and `if/then/else` +- draft-06 boolean schemas (`true`/`false` as a schema to always pass/fail). +- keywords `switch`, `patternRequired`, `formatMaximum` / `formatMinimum` and `formatExclusiveMaximum` / `formatExclusiveMinimum` from [JSON Schema extension proposals](https://github.com/json-schema/json-schema/wiki/v5-Proposals) with [ajv-keywords](https://github.com/ajv-validator/ajv-keywords) package +- [$data reference](#data-reference) to use values from the validated data as values for the schema keywords +- [asynchronous validation](#asynchronous-validation) of custom formats and keywords + + +## Install + +``` +npm install ajv +``` + + +## Getting started + +Try it in the Node.js REPL: https://tonicdev.com/npm/ajv + + +The fastest validation call: + +```javascript +// Node.js require: +var Ajv = require('ajv'); +// or ESM/TypeScript import +import Ajv from 'ajv'; + +var ajv = new Ajv(); // options can be passed, e.g. {allErrors: true} +var validate = ajv.compile(schema); +var valid = validate(data); +if (!valid) console.log(validate.errors); +``` + +or with less code + +```javascript +// ... +var valid = ajv.validate(schema, data); +if (!valid) console.log(ajv.errors); +// ... +``` + +or + +```javascript +// ... +var valid = ajv.addSchema(schema, 'mySchema') + .validate('mySchema', data); +if (!valid) console.log(ajv.errorsText()); +// ... +``` + +See [API](#api) and [Options](#options) for more details. + +Ajv compiles schemas to functions and caches them in all cases (using schema serialized with [fast-json-stable-stringify](https://github.com/epoberezkin/fast-json-stable-stringify) or a custom function as a key), so that the next time the same schema is used (not necessarily the same object instance) it won't be compiled again. + +The best performance is achieved when using compiled functions returned by `compile` or `getSchema` methods (there is no additional function call). + +__Please note__: every time a validation function or `ajv.validate` are called `errors` property is overwritten. You need to copy `errors` array reference to another variable if you want to use it later (e.g., in the callback). See [Validation errors](#validation-errors) + +__Note for TypeScript users__: `ajv` provides its own TypeScript declarations +out of the box, so you don't need to install the deprecated `@types/ajv` +module. + + +## Using in browser + +You can require Ajv directly from the code you browserify - in this case Ajv will be a part of your bundle. + +If you need to use Ajv in several bundles you can create a separate UMD bundle using `npm run bundle` script (thanks to [siddo420](https://github.com/siddo420)). + +Then you need to load Ajv in the browser: +```html + +``` + +This bundle can be used with different module systems; it creates global `Ajv` if no module system is found. + +The browser bundle is available on [cdnjs](https://cdnjs.com/libraries/ajv). + +Ajv is tested with these browsers: + +[![Sauce Test Status](https://saucelabs.com/browser-matrix/epoberezkin.svg)](https://saucelabs.com/u/epoberezkin) + +__Please note__: some frameworks, e.g. Dojo, may redefine global require in such way that is not compatible with CommonJS module format. In such case Ajv bundle has to be loaded before the framework and then you can use global Ajv (see issue [#234](https://github.com/ajv-validator/ajv/issues/234)). + + +### Ajv and Content Security Policies (CSP) + +If you're using Ajv to compile a schema (the typical use) in a browser document that is loaded with a Content Security Policy (CSP), that policy will require a `script-src` directive that includes the value `'unsafe-eval'`. +:warning: NOTE, however, that `unsafe-eval` is NOT recommended in a secure CSP[[1]](https://developer.chrome.com/extensions/contentSecurityPolicy#relaxing-eval), as it has the potential to open the document to cross-site scripting (XSS) attacks. + +In order to make use of Ajv without easing your CSP, you can [pre-compile a schema using the CLI](https://github.com/ajv-validator/ajv-cli#compile-schemas). This will transpile the schema JSON into a JavaScript file that exports a `validate` function that works simlarly to a schema compiled at runtime. + +Note that pre-compilation of schemas is performed using [ajv-pack](https://github.com/ajv-validator/ajv-pack) and there are [some limitations to the schema features it can compile](https://github.com/ajv-validator/ajv-pack#limitations). A successfully pre-compiled schema is equivalent to the same schema compiled at runtime. + + +## Command line interface + +CLI is available as a separate npm package [ajv-cli](https://github.com/ajv-validator/ajv-cli). It supports: + +- compiling JSON Schemas to test their validity +- BETA: generating standalone module exporting a validation function to be used without Ajv (using [ajv-pack](https://github.com/ajv-validator/ajv-pack)) +- migrate schemas to draft-07 (using [json-schema-migrate](https://github.com/epoberezkin/json-schema-migrate)) +- validating data file(s) against JSON Schema +- testing expected validity of data against JSON Schema +- referenced schemas +- custom meta-schemas +- files in JSON, JSON5, YAML, and JavaScript format +- all Ajv options +- reporting changes in data after validation in [JSON-patch](https://tools.ietf.org/html/rfc6902) format + + +## Validation keywords + +Ajv supports all validation keywords from draft-07 of JSON Schema standard: + +- [type](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md#type) +- [for numbers](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md#keywords-for-numbers) - maximum, minimum, exclusiveMaximum, exclusiveMinimum, multipleOf +- [for strings](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md#keywords-for-strings) - maxLength, minLength, pattern, format +- [for arrays](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md#keywords-for-arrays) - maxItems, minItems, uniqueItems, items, additionalItems, [contains](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md#contains) +- [for objects](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md#keywords-for-objects) - maxProperties, minProperties, required, properties, patternProperties, additionalProperties, dependencies, [propertyNames](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md#propertynames) +- [for all types](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md#keywords-for-all-types) - enum, [const](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md#const) +- [compound keywords](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md#compound-keywords) - not, oneOf, anyOf, allOf, [if/then/else](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md#ifthenelse) + +With [ajv-keywords](https://github.com/ajv-validator/ajv-keywords) package Ajv also supports validation keywords from [JSON Schema extension proposals](https://github.com/json-schema/json-schema/wiki/v5-Proposals) for JSON Schema standard: + +- [patternRequired](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md#patternrequired-proposed) - like `required` but with patterns that some property should match. +- [formatMaximum, formatMinimum, formatExclusiveMaximum, formatExclusiveMinimum](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md#formatmaximum--formatminimum-and-exclusiveformatmaximum--exclusiveformatminimum-proposed) - setting limits for date, time, etc. + +See [JSON Schema validation keywords](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md) for more details. + + +## Annotation keywords + +JSON Schema specification defines several annotation keywords that describe schema itself but do not perform any validation. + +- `title` and `description`: information about the data represented by that schema +- `$comment` (NEW in draft-07): information for developers. With option `$comment` Ajv logs or passes the comment string to the user-supplied function. See [Options](#options). +- `default`: a default value of the data instance, see [Assigning defaults](#assigning-defaults). +- `examples` (NEW in draft-06): an array of data instances. Ajv does not check the validity of these instances against the schema. +- `readOnly` and `writeOnly` (NEW in draft-07): marks data-instance as read-only or write-only in relation to the source of the data (database, api, etc.). +- `contentEncoding`: [RFC 2045](https://tools.ietf.org/html/rfc2045#section-6.1 ), e.g., "base64". +- `contentMediaType`: [RFC 2046](https://tools.ietf.org/html/rfc2046), e.g., "image/png". + +__Please note__: Ajv does not implement validation of the keywords `examples`, `contentEncoding` and `contentMediaType` but it reserves them. If you want to create a plugin that implements some of them, it should remove these keywords from the instance. + + +## Formats + +Ajv implements formats defined by JSON Schema specification and several other formats. It is recommended NOT to use "format" keyword implementations with untrusted data, as they use potentially unsafe regular expressions - see [ReDoS attack](#redos-attack). + +__Please note__: if you need to use "format" keyword to validate untrusted data, you MUST assess their suitability and safety for your validation scenarios. + +The following formats are implemented for string validation with "format" keyword: + +- _date_: full-date according to [RFC3339](http://tools.ietf.org/html/rfc3339#section-5.6). +- _time_: time with optional time-zone. +- _date-time_: date-time from the same source (time-zone is mandatory). `date`, `time` and `date-time` validate ranges in `full` mode and only regexp in `fast` mode (see [options](#options)). +- _uri_: full URI. +- _uri-reference_: URI reference, including full and relative URIs. +- _uri-template_: URI template according to [RFC6570](https://tools.ietf.org/html/rfc6570) +- _url_ (deprecated): [URL record](https://url.spec.whatwg.org/#concept-url). +- _email_: email address. +- _hostname_: host name according to [RFC1034](http://tools.ietf.org/html/rfc1034#section-3.5). +- _ipv4_: IP address v4. +- _ipv6_: IP address v6. +- _regex_: tests whether a string is a valid regular expression by passing it to RegExp constructor. +- _uuid_: Universally Unique IDentifier according to [RFC4122](http://tools.ietf.org/html/rfc4122). +- _json-pointer_: JSON-pointer according to [RFC6901](https://tools.ietf.org/html/rfc6901). +- _relative-json-pointer_: relative JSON-pointer according to [this draft](http://tools.ietf.org/html/draft-luff-relative-json-pointer-00). + +__Please note__: JSON Schema draft-07 also defines formats `iri`, `iri-reference`, `idn-hostname` and `idn-email` for URLs, hostnames and emails with international characters. Ajv does not implement these formats. If you create Ajv plugin that implements them please make a PR to mention this plugin here. + +There are two modes of format validation: `fast` and `full`. This mode affects formats `date`, `time`, `date-time`, `uri`, `uri-reference`, and `email`. See [Options](#options) for details. + +You can add additional formats and replace any of the formats above using [addFormat](#api-addformat) method. + +The option `unknownFormats` allows changing the default behaviour when an unknown format is encountered. In this case Ajv can either fail schema compilation (default) or ignore it (default in versions before 5.0.0). You also can allow specific format(s) that will be ignored. See [Options](#options) for details. + +You can find regular expressions used for format validation and the sources that were used in [formats.js](https://github.com/ajv-validator/ajv/blob/master/lib/compile/formats.js). + + +## Combining schemas with $ref + +You can structure your validation logic across multiple schema files and have schemas reference each other using `$ref` keyword. + +Example: + +```javascript +var schema = { + "$id": "http://example.com/schemas/schema.json", + "type": "object", + "properties": { + "foo": { "$ref": "defs.json#/definitions/int" }, + "bar": { "$ref": "defs.json#/definitions/str" } + } +}; + +var defsSchema = { + "$id": "http://example.com/schemas/defs.json", + "definitions": { + "int": { "type": "integer" }, + "str": { "type": "string" } + } +}; +``` + +Now to compile your schema you can either pass all schemas to Ajv instance: + +```javascript +var ajv = new Ajv({schemas: [schema, defsSchema]}); +var validate = ajv.getSchema('http://example.com/schemas/schema.json'); +``` + +or use `addSchema` method: + +```javascript +var ajv = new Ajv; +var validate = ajv.addSchema(defsSchema) + .compile(schema); +``` + +See [Options](#options) and [addSchema](#api) method. + +__Please note__: +- `$ref` is resolved as the uri-reference using schema $id as the base URI (see the example). +- References can be recursive (and mutually recursive) to implement the schemas for different data structures (such as linked lists, trees, graphs, etc.). +- You don't have to host your schema files at the URIs that you use as schema $id. These URIs are only used to identify the schemas, and according to JSON Schema specification validators should not expect to be able to download the schemas from these URIs. +- The actual location of the schema file in the file system is not used. +- You can pass the identifier of the schema as the second parameter of `addSchema` method or as a property name in `schemas` option. This identifier can be used instead of (or in addition to) schema $id. +- You cannot have the same $id (or the schema identifier) used for more than one schema - the exception will be thrown. +- You can implement dynamic resolution of the referenced schemas using `compileAsync` method. In this way you can store schemas in any system (files, web, database, etc.) and reference them without explicitly adding to Ajv instance. See [Asynchronous schema compilation](#asynchronous-schema-compilation). + + +## $data reference + +With `$data` option you can use values from the validated data as the values for the schema keywords. See [proposal](https://github.com/json-schema-org/json-schema-spec/issues/51) for more information about how it works. + +`$data` reference is supported in the keywords: const, enum, format, maximum/minimum, exclusiveMaximum / exclusiveMinimum, maxLength / minLength, maxItems / minItems, maxProperties / minProperties, formatMaximum / formatMinimum, formatExclusiveMaximum / formatExclusiveMinimum, multipleOf, pattern, required, uniqueItems. + +The value of "$data" should be a [JSON-pointer](https://tools.ietf.org/html/rfc6901) to the data (the root is always the top level data object, even if the $data reference is inside a referenced subschema) or a [relative JSON-pointer](http://tools.ietf.org/html/draft-luff-relative-json-pointer-00) (it is relative to the current point in data; if the $data reference is inside a referenced subschema it cannot point to the data outside of the root level for this subschema). + +Examples. + +This schema requires that the value in property `smaller` is less or equal than the value in the property larger: + +```javascript +var ajv = new Ajv({$data: true}); + +var schema = { + "properties": { + "smaller": { + "type": "number", + "maximum": { "$data": "1/larger" } + }, + "larger": { "type": "number" } + } +}; + +var validData = { + smaller: 5, + larger: 7 +}; + +ajv.validate(schema, validData); // true +``` + +This schema requires that the properties have the same format as their field names: + +```javascript +var schema = { + "additionalProperties": { + "type": "string", + "format": { "$data": "0#" } + } +}; + +var validData = { + 'date-time': '1963-06-19T08:30:06.283185Z', + email: 'joe.bloggs@example.com' +} +``` + +`$data` reference is resolved safely - it won't throw even if some property is undefined. If `$data` resolves to `undefined` the validation succeeds (with the exclusion of `const` keyword). If `$data` resolves to incorrect type (e.g. not "number" for maximum keyword) the validation fails. + + +## $merge and $patch keywords + +With the package [ajv-merge-patch](https://github.com/ajv-validator/ajv-merge-patch) you can use the keywords `$merge` and `$patch` that allow extending JSON Schemas with patches using formats [JSON Merge Patch (RFC 7396)](https://tools.ietf.org/html/rfc7396) and [JSON Patch (RFC 6902)](https://tools.ietf.org/html/rfc6902). + +To add keywords `$merge` and `$patch` to Ajv instance use this code: + +```javascript +require('ajv-merge-patch')(ajv); +``` + +Examples. + +Using `$merge`: + +```json +{ + "$merge": { + "source": { + "type": "object", + "properties": { "p": { "type": "string" } }, + "additionalProperties": false + }, + "with": { + "properties": { "q": { "type": "number" } } + } + } +} +``` + +Using `$patch`: + +```json +{ + "$patch": { + "source": { + "type": "object", + "properties": { "p": { "type": "string" } }, + "additionalProperties": false + }, + "with": [ + { "op": "add", "path": "/properties/q", "value": { "type": "number" } } + ] + } +} +``` + +The schemas above are equivalent to this schema: + +```json +{ + "type": "object", + "properties": { + "p": { "type": "string" }, + "q": { "type": "number" } + }, + "additionalProperties": false +} +``` + +The properties `source` and `with` in the keywords `$merge` and `$patch` can use absolute or relative `$ref` to point to other schemas previously added to the Ajv instance or to the fragments of the current schema. + +See the package [ajv-merge-patch](https://github.com/ajv-validator/ajv-merge-patch) for more information. + + +## Defining custom keywords + +The advantages of using custom keywords are: + +- allow creating validation scenarios that cannot be expressed using JSON Schema +- simplify your schemas +- help bringing a bigger part of the validation logic to your schemas +- make your schemas more expressive, less verbose and closer to your application domain +- implement custom data processors that modify your data (`modifying` option MUST be used in keyword definition) and/or create side effects while the data is being validated + +If a keyword is used only for side-effects and its validation result is pre-defined, use option `valid: true/false` in keyword definition to simplify both generated code (no error handling in case of `valid: true`) and your keyword functions (no need to return any validation result). + +The concerns you have to be aware of when extending JSON Schema standard with custom keywords are the portability and understanding of your schemas. You will have to support these custom keywords on other platforms and to properly document these keywords so that everybody can understand them in your schemas. + +You can define custom keywords with [addKeyword](#api-addkeyword) method. Keywords are defined on the `ajv` instance level - new instances will not have previously defined keywords. + +Ajv allows defining keywords with: +- validation function +- compilation function +- macro function +- inline compilation function that should return code (as string) that will be inlined in the currently compiled schema. + +Example. `range` and `exclusiveRange` keywords using compiled schema: + +```javascript +ajv.addKeyword('range', { + type: 'number', + compile: function (sch, parentSchema) { + var min = sch[0]; + var max = sch[1]; + + return parentSchema.exclusiveRange === true + ? function (data) { return data > min && data < max; } + : function (data) { return data >= min && data <= max; } + } +}); + +var schema = { "range": [2, 4], "exclusiveRange": true }; +var validate = ajv.compile(schema); +console.log(validate(2.01)); // true +console.log(validate(3.99)); // true +console.log(validate(2)); // false +console.log(validate(4)); // false +``` + +Several custom keywords (typeof, instanceof, range and propertyNames) are defined in [ajv-keywords](https://github.com/ajv-validator/ajv-keywords) package - they can be used for your schemas and as a starting point for your own custom keywords. + +See [Defining custom keywords](https://github.com/ajv-validator/ajv/blob/master/CUSTOM.md) for more details. + + +## Asynchronous schema compilation + +During asynchronous compilation remote references are loaded using supplied function. See `compileAsync` [method](#api-compileAsync) and `loadSchema` [option](#options). + +Example: + +```javascript +var ajv = new Ajv({ loadSchema: loadSchema }); + +ajv.compileAsync(schema).then(function (validate) { + var valid = validate(data); + // ... +}); + +function loadSchema(uri) { + return request.json(uri).then(function (res) { + if (res.statusCode >= 400) + throw new Error('Loading error: ' + res.statusCode); + return res.body; + }); +} +``` + +__Please note__: [Option](#options) `missingRefs` should NOT be set to `"ignore"` or `"fail"` for asynchronous compilation to work. + + +## Asynchronous validation + +Example in Node.js REPL: https://tonicdev.com/esp/ajv-asynchronous-validation + +You can define custom formats and keywords that perform validation asynchronously by accessing database or some other service. You should add `async: true` in the keyword or format definition (see [addFormat](#api-addformat), [addKeyword](#api-addkeyword) and [Defining custom keywords](#defining-custom-keywords)). + +If your schema uses asynchronous formats/keywords or refers to some schema that contains them it should have `"$async": true` keyword so that Ajv can compile it correctly. If asynchronous format/keyword or reference to asynchronous schema is used in the schema without `$async` keyword Ajv will throw an exception during schema compilation. + +__Please note__: all asynchronous subschemas that are referenced from the current or other schemas should have `"$async": true` keyword as well, otherwise the schema compilation will fail. + +Validation function for an asynchronous custom format/keyword should return a promise that resolves with `true` or `false` (or rejects with `new Ajv.ValidationError(errors)` if you want to return custom errors from the keyword function). + +Ajv compiles asynchronous schemas to [es7 async functions](http://tc39.github.io/ecmascript-asyncawait/) that can optionally be transpiled with [nodent](https://github.com/MatAtBread/nodent). Async functions are supported in Node.js 7+ and all modern browsers. You can also supply any other transpiler as a function via `processCode` option. See [Options](#options). + +The compiled validation function has `$async: true` property (if the schema is asynchronous), so you can differentiate these functions if you are using both synchronous and asynchronous schemas. + +Validation result will be a promise that resolves with validated data or rejects with an exception `Ajv.ValidationError` that contains the array of validation errors in `errors` property. + + +Example: + +```javascript +var ajv = new Ajv; +// require('ajv-async')(ajv); + +ajv.addKeyword('idExists', { + async: true, + type: 'number', + validate: checkIdExists +}); + + +function checkIdExists(schema, data) { + return knex(schema.table) + .select('id') + .where('id', data) + .then(function (rows) { + return !!rows.length; // true if record is found + }); +} + +var schema = { + "$async": true, + "properties": { + "userId": { + "type": "integer", + "idExists": { "table": "users" } + }, + "postId": { + "type": "integer", + "idExists": { "table": "posts" } + } + } +}; + +var validate = ajv.compile(schema); + +validate({ userId: 1, postId: 19 }) +.then(function (data) { + console.log('Data is valid', data); // { userId: 1, postId: 19 } +}) +.catch(function (err) { + if (!(err instanceof Ajv.ValidationError)) throw err; + // data is invalid + console.log('Validation errors:', err.errors); +}); +``` + +### Using transpilers with asynchronous validation functions. + +[ajv-async](https://github.com/ajv-validator/ajv-async) uses [nodent](https://github.com/MatAtBread/nodent) to transpile async functions. To use another transpiler you should separately install it (or load its bundle in the browser). + + +#### Using nodent + +```javascript +var ajv = new Ajv; +require('ajv-async')(ajv); +// in the browser if you want to load ajv-async bundle separately you can: +// window.ajvAsync(ajv); +var validate = ajv.compile(schema); // transpiled es7 async function +validate(data).then(successFunc).catch(errorFunc); +``` + + +#### Using other transpilers + +```javascript +var ajv = new Ajv({ processCode: transpileFunc }); +var validate = ajv.compile(schema); // transpiled es7 async function +validate(data).then(successFunc).catch(errorFunc); +``` + +See [Options](#options). + + +## Security considerations + +JSON Schema, if properly used, can replace data sanitisation. It doesn't replace other API security considerations. It also introduces additional security aspects to consider. + + +##### Security contact + +To report a security vulnerability, please use the +[Tidelift security contact](https://tidelift.com/security). +Tidelift will coordinate the fix and disclosure. Please do NOT report security vulnerabilities via GitHub issues. + + +##### Untrusted schemas + +Ajv treats JSON schemas as trusted as your application code. This security model is based on the most common use case, when the schemas are static and bundled together with the application. + +If your schemas are received from untrusted sources (or generated from untrusted data) there are several scenarios you need to prevent: +- compiling schemas can cause stack overflow (if they are too deep) +- compiling schemas can be slow (e.g. [#557](https://github.com/ajv-validator/ajv/issues/557)) +- validating certain data can be slow + +It is difficult to predict all the scenarios, but at the very least it may help to limit the size of untrusted schemas (e.g. limit JSON string length) and also the maximum schema object depth (that can be high for relatively small JSON strings). You also may want to mitigate slow regular expressions in `pattern` and `patternProperties` keywords. + +Regardless the measures you take, using untrusted schemas increases security risks. + + +##### Circular references in JavaScript objects + +Ajv does not support schemas and validated data that have circular references in objects. See [issue #802](https://github.com/ajv-validator/ajv/issues/802). + +An attempt to compile such schemas or validate such data would cause stack overflow (or will not complete in case of asynchronous validation). Depending on the parser you use, untrusted data can lead to circular references. + + +##### Security risks of trusted schemas + +Some keywords in JSON Schemas can lead to very slow validation for certain data. These keywords include (but may be not limited to): + +- `pattern` and `format` for large strings - in some cases using `maxLength` can help mitigate it, but certain regular expressions can lead to exponential validation time even with relatively short strings (see [ReDoS attack](#redos-attack)). +- `patternProperties` for large property names - use `propertyNames` to mitigate, but some regular expressions can have exponential evaluation time as well. +- `uniqueItems` for large non-scalar arrays - use `maxItems` to mitigate + +__Please note__: The suggestions above to prevent slow validation would only work if you do NOT use `allErrors: true` in production code (using it would continue validation after validation errors). + +You can validate your JSON schemas against [this meta-schema](https://github.com/ajv-validator/ajv/blob/master/lib/refs/json-schema-secure.json) to check that these recommendations are followed: + +```javascript +const isSchemaSecure = ajv.compile(require('ajv/lib/refs/json-schema-secure.json')); + +const schema1 = {format: 'email'}; +isSchemaSecure(schema1); // false + +const schema2 = {format: 'email', maxLength: MAX_LENGTH}; +isSchemaSecure(schema2); // true +``` + +__Please note__: following all these recommendation is not a guarantee that validation of untrusted data is safe - it can still lead to some undesirable results. + + +##### Content Security Policies (CSP) +See [Ajv and Content Security Policies (CSP)](#ajv-and-content-security-policies-csp) + + +## ReDoS attack + +Certain regular expressions can lead to the exponential evaluation time even with relatively short strings. + +Please assess the regular expressions you use in the schemas on their vulnerability to this attack - see [safe-regex](https://github.com/substack/safe-regex), for example. + +__Please note__: some formats that Ajv implements use [regular expressions](https://github.com/ajv-validator/ajv/blob/master/lib/compile/formats.js) that can be vulnerable to ReDoS attack, so if you use Ajv to validate data from untrusted sources __it is strongly recommended__ to consider the following: + +- making assessment of "format" implementations in Ajv. +- using `format: 'fast'` option that simplifies some of the regular expressions (although it does not guarantee that they are safe). +- replacing format implementations provided by Ajv with your own implementations of "format" keyword that either uses different regular expressions or another approach to format validation. Please see [addFormat](#api-addformat) method. +- disabling format validation by ignoring "format" keyword with option `format: false` + +Whatever mitigation you choose, please assume all formats provided by Ajv as potentially unsafe and make your own assessment of their suitability for your validation scenarios. + + +## Filtering data + +With [option `removeAdditional`](#options) (added by [andyscott](https://github.com/andyscott)) you can filter data during the validation. + +This option modifies original data. + +Example: + +```javascript +var ajv = new Ajv({ removeAdditional: true }); +var schema = { + "additionalProperties": false, + "properties": { + "foo": { "type": "number" }, + "bar": { + "additionalProperties": { "type": "number" }, + "properties": { + "baz": { "type": "string" } + } + } + } +} + +var data = { + "foo": 0, + "additional1": 1, // will be removed; `additionalProperties` == false + "bar": { + "baz": "abc", + "additional2": 2 // will NOT be removed; `additionalProperties` != false + }, +} + +var validate = ajv.compile(schema); + +console.log(validate(data)); // true +console.log(data); // { "foo": 0, "bar": { "baz": "abc", "additional2": 2 } +``` + +If `removeAdditional` option in the example above were `"all"` then both `additional1` and `additional2` properties would have been removed. + +If the option were `"failing"` then property `additional1` would have been removed regardless of its value and property `additional2` would have been removed only if its value were failing the schema in the inner `additionalProperties` (so in the example above it would have stayed because it passes the schema, but any non-number would have been removed). + +__Please note__: If you use `removeAdditional` option with `additionalProperties` keyword inside `anyOf`/`oneOf` keywords your validation can fail with this schema, for example: + +```json +{ + "type": "object", + "oneOf": [ + { + "properties": { + "foo": { "type": "string" } + }, + "required": [ "foo" ], + "additionalProperties": false + }, + { + "properties": { + "bar": { "type": "integer" } + }, + "required": [ "bar" ], + "additionalProperties": false + } + ] +} +``` + +The intention of the schema above is to allow objects with either the string property "foo" or the integer property "bar", but not with both and not with any other properties. + +With the option `removeAdditional: true` the validation will pass for the object `{ "foo": "abc"}` but will fail for the object `{"bar": 1}`. It happens because while the first subschema in `oneOf` is validated, the property `bar` is removed because it is an additional property according to the standard (because it is not included in `properties` keyword in the same schema). + +While this behaviour is unexpected (issues [#129](https://github.com/ajv-validator/ajv/issues/129), [#134](https://github.com/ajv-validator/ajv/issues/134)), it is correct. To have the expected behaviour (both objects are allowed and additional properties are removed) the schema has to be refactored in this way: + +```json +{ + "type": "object", + "properties": { + "foo": { "type": "string" }, + "bar": { "type": "integer" } + }, + "additionalProperties": false, + "oneOf": [ + { "required": [ "foo" ] }, + { "required": [ "bar" ] } + ] +} +``` + +The schema above is also more efficient - it will compile into a faster function. + + +## Assigning defaults + +With [option `useDefaults`](#options) Ajv will assign values from `default` keyword in the schemas of `properties` and `items` (when it is the array of schemas) to the missing properties and items. + +With the option value `"empty"` properties and items equal to `null` or `""` (empty string) will be considered missing and assigned defaults. + +This option modifies original data. + +__Please note__: the default value is inserted in the generated validation code as a literal, so the value inserted in the data will be the deep clone of the default in the schema. + + +Example 1 (`default` in `properties`): + +```javascript +var ajv = new Ajv({ useDefaults: true }); +var schema = { + "type": "object", + "properties": { + "foo": { "type": "number" }, + "bar": { "type": "string", "default": "baz" } + }, + "required": [ "foo", "bar" ] +}; + +var data = { "foo": 1 }; + +var validate = ajv.compile(schema); + +console.log(validate(data)); // true +console.log(data); // { "foo": 1, "bar": "baz" } +``` + +Example 2 (`default` in `items`): + +```javascript +var schema = { + "type": "array", + "items": [ + { "type": "number" }, + { "type": "string", "default": "foo" } + ] +} + +var data = [ 1 ]; + +var validate = ajv.compile(schema); + +console.log(validate(data)); // true +console.log(data); // [ 1, "foo" ] +``` + +`default` keywords in other cases are ignored: + +- not in `properties` or `items` subschemas +- in schemas inside `anyOf`, `oneOf` and `not` (see [#42](https://github.com/ajv-validator/ajv/issues/42)) +- in `if` subschema of `switch` keyword +- in schemas generated by custom macro keywords + +The [`strictDefaults` option](#options) customizes Ajv's behavior for the defaults that Ajv ignores (`true` raises an error, and `"log"` outputs a warning). + + +## Coercing data types + +When you are validating user inputs all your data properties are usually strings. The option `coerceTypes` allows you to have your data types coerced to the types specified in your schema `type` keywords, both to pass the validation and to use the correctly typed data afterwards. + +This option modifies original data. + +__Please note__: if you pass a scalar value to the validating function its type will be coerced and it will pass the validation, but the value of the variable you pass won't be updated because scalars are passed by value. + + +Example 1: + +```javascript +var ajv = new Ajv({ coerceTypes: true }); +var schema = { + "type": "object", + "properties": { + "foo": { "type": "number" }, + "bar": { "type": "boolean" } + }, + "required": [ "foo", "bar" ] +}; + +var data = { "foo": "1", "bar": "false" }; + +var validate = ajv.compile(schema); + +console.log(validate(data)); // true +console.log(data); // { "foo": 1, "bar": false } +``` + +Example 2 (array coercions): + +```javascript +var ajv = new Ajv({ coerceTypes: 'array' }); +var schema = { + "properties": { + "foo": { "type": "array", "items": { "type": "number" } }, + "bar": { "type": "boolean" } + } +}; + +var data = { "foo": "1", "bar": ["false"] }; + +var validate = ajv.compile(schema); + +console.log(validate(data)); // true +console.log(data); // { "foo": [1], "bar": false } +``` + +The coercion rules, as you can see from the example, are different from JavaScript both to validate user input as expected and to have the coercion reversible (to correctly validate cases where different types are defined in subschemas of "anyOf" and other compound keywords). + +See [Coercion rules](https://github.com/ajv-validator/ajv/blob/master/COERCION.md) for details. + + +## API + +##### new Ajv(Object options) -> Object + +Create Ajv instance. + + +##### .compile(Object schema) -> Function<Object data> + +Generate validating function and cache the compiled schema for future use. + +Validating function returns a boolean value. This function has properties `errors` and `schema`. Errors encountered during the last validation are assigned to `errors` property (it is assigned `null` if there was no errors). `schema` property contains the reference to the original schema. + +The schema passed to this method will be validated against meta-schema unless `validateSchema` option is false. If schema is invalid, an error will be thrown. See [options](#options). + + +##### .compileAsync(Object schema [, Boolean meta] [, Function callback]) -> Promise + +Asynchronous version of `compile` method that loads missing remote schemas using asynchronous function in `options.loadSchema`. This function returns a Promise that resolves to a validation function. An optional callback passed to `compileAsync` will be called with 2 parameters: error (or null) and validating function. The returned promise will reject (and the callback will be called with an error) when: + +- missing schema can't be loaded (`loadSchema` returns a Promise that rejects). +- a schema containing a missing reference is loaded, but the reference cannot be resolved. +- schema (or some loaded/referenced schema) is invalid. + +The function compiles schema and loads the first missing schema (or meta-schema) until all missing schemas are loaded. + +You can asynchronously compile meta-schema by passing `true` as the second parameter. + +See example in [Asynchronous compilation](#asynchronous-schema-compilation). + + +##### .validate(Object schema|String key|String ref, data) -> Boolean + +Validate data using passed schema (it will be compiled and cached). + +Instead of the schema you can use the key that was previously passed to `addSchema`, the schema id if it was present in the schema or any previously resolved reference. + +Validation errors will be available in the `errors` property of Ajv instance (`null` if there were no errors). + +__Please note__: every time this method is called the errors are overwritten so you need to copy them to another variable if you want to use them later. + +If the schema is asynchronous (has `$async` keyword on the top level) this method returns a Promise. See [Asynchronous validation](#asynchronous-validation). + + +##### .addSchema(Array<Object>|Object schema [, String key]) -> Ajv + +Add schema(s) to validator instance. This method does not compile schemas (but it still validates them). Because of that dependencies can be added in any order and circular dependencies are supported. It also prevents unnecessary compilation of schemas that are containers for other schemas but not used as a whole. + +Array of schemas can be passed (schemas should have ids), the second parameter will be ignored. + +Key can be passed that can be used to reference the schema and will be used as the schema id if there is no id inside the schema. If the key is not passed, the schema id will be used as the key. + + +Once the schema is added, it (and all the references inside it) can be referenced in other schemas and used to validate data. + +Although `addSchema` does not compile schemas, explicit compilation is not required - the schema will be compiled when it is used first time. + +By default the schema is validated against meta-schema before it is added, and if the schema does not pass validation the exception is thrown. This behaviour is controlled by `validateSchema` option. + +__Please note__: Ajv uses the [method chaining syntax](https://en.wikipedia.org/wiki/Method_chaining) for all methods with the prefix `add*` and `remove*`. +This allows you to do nice things like the following. + +```javascript +var validate = new Ajv().addSchema(schema).addFormat(name, regex).getSchema(uri); +``` + +##### .addMetaSchema(Array<Object>|Object schema [, String key]) -> Ajv + +Adds meta schema(s) that can be used to validate other schemas. That function should be used instead of `addSchema` because there may be instance options that would compile a meta schema incorrectly (at the moment it is `removeAdditional` option). + +There is no need to explicitly add draft-07 meta schema (http://json-schema.org/draft-07/schema) - it is added by default, unless option `meta` is set to `false`. You only need to use it if you have a changed meta-schema that you want to use to validate your schemas. See `validateSchema`. + + +##### .validateSchema(Object schema) -> Boolean + +Validates schema. This method should be used to validate schemas rather than `validate` due to the inconsistency of `uri` format in JSON Schema standard. + +By default this method is called automatically when the schema is added, so you rarely need to use it directly. + +If schema doesn't have `$schema` property, it is validated against draft 6 meta-schema (option `meta` should not be false). + +If schema has `$schema` property, then the schema with this id (that should be previously added) is used to validate passed schema. + +Errors will be available at `ajv.errors`. + + +##### .getSchema(String key) -> Function<Object data> + +Retrieve compiled schema previously added with `addSchema` by the key passed to `addSchema` or by its full reference (id). The returned validating function has `schema` property with the reference to the original schema. + + +##### .removeSchema([Object schema|String key|String ref|RegExp pattern]) -> Ajv + +Remove added/cached schema. Even if schema is referenced by other schemas it can be safely removed as dependent schemas have local references. + +Schema can be removed using: +- key passed to `addSchema` +- it's full reference (id) +- RegExp that should match schema id or key (meta-schemas won't be removed) +- actual schema object that will be stable-stringified to remove schema from cache + +If no parameter is passed all schemas but meta-schemas will be removed and the cache will be cleared. + + +##### .addFormat(String name, String|RegExp|Function|Object format) -> Ajv + +Add custom format to validate strings or numbers. It can also be used to replace pre-defined formats for Ajv instance. + +Strings are converted to RegExp. + +Function should return validation result as `true` or `false`. + +If object is passed it should have properties `validate`, `compare` and `async`: + +- _validate_: a string, RegExp or a function as described above. +- _compare_: an optional comparison function that accepts two strings and compares them according to the format meaning. This function is used with keywords `formatMaximum`/`formatMinimum` (defined in [ajv-keywords](https://github.com/ajv-validator/ajv-keywords) package). It should return `1` if the first value is bigger than the second value, `-1` if it is smaller and `0` if it is equal. +- _async_: an optional `true` value if `validate` is an asynchronous function; in this case it should return a promise that resolves with a value `true` or `false`. +- _type_: an optional type of data that the format applies to. It can be `"string"` (default) or `"number"` (see https://github.com/ajv-validator/ajv/issues/291#issuecomment-259923858). If the type of data is different, the validation will pass. + +Custom formats can be also added via `formats` option. + + +##### .addKeyword(String keyword, Object definition) -> Ajv + +Add custom validation keyword to Ajv instance. + +Keyword should be different from all standard JSON Schema keywords and different from previously defined keywords. There is no way to redefine keywords or to remove keyword definition from the instance. + +Keyword must start with a letter, `_` or `$`, and may continue with letters, numbers, `_`, `$`, or `-`. +It is recommended to use an application-specific prefix for keywords to avoid current and future name collisions. + +Example Keywords: +- `"xyz-example"`: valid, and uses prefix for the xyz project to avoid name collisions. +- `"example"`: valid, but not recommended as it could collide with future versions of JSON Schema etc. +- `"3-example"`: invalid as numbers are not allowed to be the first character in a keyword + +Keyword definition is an object with the following properties: + +- _type_: optional string or array of strings with data type(s) that the keyword applies to. If not present, the keyword will apply to all types. +- _validate_: validating function +- _compile_: compiling function +- _macro_: macro function +- _inline_: compiling function that returns code (as string) +- _schema_: an optional `false` value used with "validate" keyword to not pass schema +- _metaSchema_: an optional meta-schema for keyword schema +- _dependencies_: an optional list of properties that must be present in the parent schema - it will be checked during schema compilation +- _modifying_: `true` MUST be passed if keyword modifies data +- _statements_: `true` can be passed in case inline keyword generates statements (as opposed to expression) +- _valid_: pass `true`/`false` to pre-define validation result, the result returned from validation function will be ignored. This option cannot be used with macro keywords. +- _$data_: an optional `true` value to support [$data reference](#data-reference) as the value of custom keyword. The reference will be resolved at validation time. If the keyword has meta-schema it would be extended to allow $data and it will be used to validate the resolved value. Supporting $data reference requires that keyword has validating function (as the only option or in addition to compile, macro or inline function). +- _async_: an optional `true` value if the validation function is asynchronous (whether it is compiled or passed in _validate_ property); in this case it should return a promise that resolves with a value `true` or `false`. This option is ignored in case of "macro" and "inline" keywords. +- _errors_: an optional boolean or string `"full"` indicating whether keyword returns errors. If this property is not set Ajv will determine if the errors were set in case of failed validation. + +_compile_, _macro_ and _inline_ are mutually exclusive, only one should be used at a time. _validate_ can be used separately or in addition to them to support $data reference. + +__Please note__: If the keyword is validating data type that is different from the type(s) in its definition, the validation function will not be called (and expanded macro will not be used), so there is no need to check for data type inside validation function or inside schema returned by macro function (unless you want to enforce a specific type and for some reason do not want to use a separate `type` keyword for that). In the same way as standard keywords work, if the keyword does not apply to the data type being validated, the validation of this keyword will succeed. + +See [Defining custom keywords](#defining-custom-keywords) for more details. + + +##### .getKeyword(String keyword) -> Object|Boolean + +Returns custom keyword definition, `true` for pre-defined keywords and `false` if the keyword is unknown. + + +##### .removeKeyword(String keyword) -> Ajv + +Removes custom or pre-defined keyword so you can redefine them. + +While this method can be used to extend pre-defined keywords, it can also be used to completely change their meaning - it may lead to unexpected results. + +__Please note__: schemas compiled before the keyword is removed will continue to work without changes. To recompile schemas use `removeSchema` method and compile them again. + + +##### .errorsText([Array<Object> errors [, Object options]]) -> String + +Returns the text with all errors in a String. + +Options can have properties `separator` (string used to separate errors, ", " by default) and `dataVar` (the variable name that dataPaths are prefixed with, "data" by default). + + +## Options + +Defaults: + +```javascript +{ + // validation and reporting options: + $data: false, + allErrors: false, + verbose: false, + $comment: false, // NEW in Ajv version 6.0 + jsonPointers: false, + uniqueItems: true, + unicode: true, + nullable: false, + format: 'fast', + formats: {}, + unknownFormats: true, + schemas: {}, + logger: undefined, + // referenced schema options: + schemaId: '$id', + missingRefs: true, + extendRefs: 'ignore', // recommended 'fail' + loadSchema: undefined, // function(uri: string): Promise {} + // options to modify validated data: + removeAdditional: false, + useDefaults: false, + coerceTypes: false, + // strict mode options + strictDefaults: false, + strictKeywords: false, + strictNumbers: false, + // asynchronous validation options: + transpile: undefined, // requires ajv-async package + // advanced options: + meta: true, + validateSchema: true, + addUsedSchema: true, + inlineRefs: true, + passContext: false, + loopRequired: Infinity, + ownProperties: false, + multipleOfPrecision: false, + errorDataPath: 'object', // deprecated + messages: true, + sourceCode: false, + processCode: undefined, // function (str: string, schema: object): string {} + cache: new Cache, + serialize: undefined +} +``` + +##### Validation and reporting options + +- _$data_: support [$data references](#data-reference). Draft 6 meta-schema that is added by default will be extended to allow them. If you want to use another meta-schema you need to use $dataMetaSchema method to add support for $data reference. See [API](#api). +- _allErrors_: check all rules collecting all errors. Default is to return after the first error. +- _verbose_: include the reference to the part of the schema (`schema` and `parentSchema`) and validated data in errors (false by default). +- _$comment_ (NEW in Ajv version 6.0): log or pass the value of `$comment` keyword to a function. Option values: + - `false` (default): ignore $comment keyword. + - `true`: log the keyword value to console. + - function: pass the keyword value, its schema path and root schema to the specified function +- _jsonPointers_: set `dataPath` property of errors using [JSON Pointers](https://tools.ietf.org/html/rfc6901) instead of JavaScript property access notation. +- _uniqueItems_: validate `uniqueItems` keyword (true by default). +- _unicode_: calculate correct length of strings with unicode pairs (true by default). Pass `false` to use `.length` of strings that is faster, but gives "incorrect" lengths of strings with unicode pairs - each unicode pair is counted as two characters. +- _nullable_: support keyword "nullable" from [Open API 3 specification](https://swagger.io/docs/specification/data-models/data-types/). +- _format_: formats validation mode. Option values: + - `"fast"` (default) - simplified and fast validation (see [Formats](#formats) for details of which formats are available and affected by this option). + - `"full"` - more restrictive and slow validation. E.g., 25:00:00 and 2015/14/33 will be invalid time and date in 'full' mode but it will be valid in 'fast' mode. + - `false` - ignore all format keywords. +- _formats_: an object with custom formats. Keys and values will be passed to `addFormat` method. +- _keywords_: an object with custom keywords. Keys and values will be passed to `addKeyword` method. +- _unknownFormats_: handling of unknown formats. Option values: + - `true` (default) - if an unknown format is encountered the exception is thrown during schema compilation. If `format` keyword value is [$data reference](#data-reference) and it is unknown the validation will fail. + - `[String]` - an array of unknown format names that will be ignored. This option can be used to allow usage of third party schemas with format(s) for which you don't have definitions, but still fail if another unknown format is used. If `format` keyword value is [$data reference](#data-reference) and it is not in this array the validation will fail. + - `"ignore"` - to log warning during schema compilation and always pass validation (the default behaviour in versions before 5.0.0). This option is not recommended, as it allows to mistype format name and it won't be validated without any error message. This behaviour is required by JSON Schema specification. +- _schemas_: an array or object of schemas that will be added to the instance. In case you pass the array the schemas must have IDs in them. When the object is passed the method `addSchema(value, key)` will be called for each schema in this object. +- _logger_: sets the logging method. Default is the global `console` object that should have methods `log`, `warn` and `error`. See [Error logging](#error-logging). Option values: + - custom logger - it should have methods `log`, `warn` and `error`. If any of these methods is missing an exception will be thrown. + - `false` - logging is disabled. + + +##### Referenced schema options + +- _schemaId_: this option defines which keywords are used as schema URI. Option value: + - `"$id"` (default) - only use `$id` keyword as schema URI (as specified in JSON Schema draft-06/07), ignore `id` keyword (if it is present a warning will be logged). + - `"id"` - only use `id` keyword as schema URI (as specified in JSON Schema draft-04), ignore `$id` keyword (if it is present a warning will be logged). + - `"auto"` - use both `$id` and `id` keywords as schema URI. If both are present (in the same schema object) and different the exception will be thrown during schema compilation. +- _missingRefs_: handling of missing referenced schemas. Option values: + - `true` (default) - if the reference cannot be resolved during compilation the exception is thrown. The thrown error has properties `missingRef` (with hash fragment) and `missingSchema` (without it). Both properties are resolved relative to the current base id (usually schema id, unless it was substituted). + - `"ignore"` - to log error during compilation and always pass validation. + - `"fail"` - to log error and successfully compile schema but fail validation if this rule is checked. +- _extendRefs_: validation of other keywords when `$ref` is present in the schema. Option values: + - `"ignore"` (default) - when `$ref` is used other keywords are ignored (as per [JSON Reference](https://tools.ietf.org/html/draft-pbryan-zyp-json-ref-03#section-3) standard). A warning will be logged during the schema compilation. + - `"fail"` (recommended) - if other validation keywords are used together with `$ref` the exception will be thrown when the schema is compiled. This option is recommended to make sure schema has no keywords that are ignored, which can be confusing. + - `true` - validate all keywords in the schemas with `$ref` (the default behaviour in versions before 5.0.0). +- _loadSchema_: asynchronous function that will be used to load remote schemas when `compileAsync` [method](#api-compileAsync) is used and some reference is missing (option `missingRefs` should NOT be 'fail' or 'ignore'). This function should accept remote schema uri as a parameter and return a Promise that resolves to a schema. See example in [Asynchronous compilation](#asynchronous-schema-compilation). + + +##### Options to modify validated data + +- _removeAdditional_: remove additional properties - see example in [Filtering data](#filtering-data). This option is not used if schema is added with `addMetaSchema` method. Option values: + - `false` (default) - not to remove additional properties + - `"all"` - all additional properties are removed, regardless of `additionalProperties` keyword in schema (and no validation is made for them). + - `true` - only additional properties with `additionalProperties` keyword equal to `false` are removed. + - `"failing"` - additional properties that fail schema validation will be removed (where `additionalProperties` keyword is `false` or schema). +- _useDefaults_: replace missing or undefined properties and items with the values from corresponding `default` keywords. Default behaviour is to ignore `default` keywords. This option is not used if schema is added with `addMetaSchema` method. See examples in [Assigning defaults](#assigning-defaults). Option values: + - `false` (default) - do not use defaults + - `true` - insert defaults by value (object literal is used). + - `"empty"` - in addition to missing or undefined, use defaults for properties and items that are equal to `null` or `""` (an empty string). + - `"shared"` (deprecated) - insert defaults by reference. If the default is an object, it will be shared by all instances of validated data. If you modify the inserted default in the validated data, it will be modified in the schema as well. +- _coerceTypes_: change data type of data to match `type` keyword. See the example in [Coercing data types](#coercing-data-types) and [coercion rules](https://github.com/ajv-validator/ajv/blob/master/COERCION.md). Option values: + - `false` (default) - no type coercion. + - `true` - coerce scalar data types. + - `"array"` - in addition to coercions between scalar types, coerce scalar data to an array with one element and vice versa (as required by the schema). + + +##### Strict mode options + +- _strictDefaults_: report ignored `default` keywords in schemas. Option values: + - `false` (default) - ignored defaults are not reported + - `true` - if an ignored default is present, throw an error + - `"log"` - if an ignored default is present, log warning +- _strictKeywords_: report unknown keywords in schemas. Option values: + - `false` (default) - unknown keywords are not reported + - `true` - if an unknown keyword is present, throw an error + - `"log"` - if an unknown keyword is present, log warning +- _strictNumbers_: validate numbers strictly, failing validation for NaN and Infinity. Option values: + - `false` (default) - NaN or Infinity will pass validation for numeric types + - `true` - NaN or Infinity will not pass validation for numeric types + +##### Asynchronous validation options + +- _transpile_: Requires [ajv-async](https://github.com/ajv-validator/ajv-async) package. It determines whether Ajv transpiles compiled asynchronous validation function. Option values: + - `undefined` (default) - transpile with [nodent](https://github.com/MatAtBread/nodent) if async functions are not supported. + - `true` - always transpile with nodent. + - `false` - do not transpile; if async functions are not supported an exception will be thrown. + + +##### Advanced options + +- _meta_: add [meta-schema](http://json-schema.org/documentation.html) so it can be used by other schemas (true by default). If an object is passed, it will be used as the default meta-schema for schemas that have no `$schema` keyword. This default meta-schema MUST have `$schema` keyword. +- _validateSchema_: validate added/compiled schemas against meta-schema (true by default). `$schema` property in the schema can be http://json-schema.org/draft-07/schema or absent (draft-07 meta-schema will be used) or can be a reference to the schema previously added with `addMetaSchema` method. Option values: + - `true` (default) - if the validation fails, throw the exception. + - `"log"` - if the validation fails, log error. + - `false` - skip schema validation. +- _addUsedSchema_: by default methods `compile` and `validate` add schemas to the instance if they have `$id` (or `id`) property that doesn't start with "#". If `$id` is present and it is not unique the exception will be thrown. Set this option to `false` to skip adding schemas to the instance and the `$id` uniqueness check when these methods are used. This option does not affect `addSchema` method. +- _inlineRefs_: Affects compilation of referenced schemas. Option values: + - `true` (default) - the referenced schemas that don't have refs in them are inlined, regardless of their size - that substantially improves performance at the cost of the bigger size of compiled schema functions. + - `false` - to not inline referenced schemas (they will be compiled as separate functions). + - integer number - to limit the maximum number of keywords of the schema that will be inlined. +- _passContext_: pass validation context to custom keyword functions. If this option is `true` and you pass some context to the compiled validation function with `validate.call(context, data)`, the `context` will be available as `this` in your custom keywords. By default `this` is Ajv instance. +- _loopRequired_: by default `required` keyword is compiled into a single expression (or a sequence of statements in `allErrors` mode). In case of a very large number of properties in this keyword it may result in a very big validation function. Pass integer to set the number of properties above which `required` keyword will be validated in a loop - smaller validation function size but also worse performance. +- _ownProperties_: by default Ajv iterates over all enumerable object properties; when this option is `true` only own enumerable object properties (i.e. found directly on the object rather than on its prototype) are iterated. Contributed by @mbroadst. +- _multipleOfPrecision_: by default `multipleOf` keyword is validated by comparing the result of division with parseInt() of that result. It works for dividers that are bigger than 1. For small dividers such as 0.01 the result of the division is usually not integer (even when it should be integer, see issue [#84](https://github.com/ajv-validator/ajv/issues/84)). If you need to use fractional dividers set this option to some positive integer N to have `multipleOf` validated using this formula: `Math.abs(Math.round(division) - division) < 1e-N` (it is slower but allows for float arithmetics deviations). +- _errorDataPath_ (deprecated): set `dataPath` to point to 'object' (default) or to 'property' when validating keywords `required`, `additionalProperties` and `dependencies`. +- _messages_: Include human-readable messages in errors. `true` by default. `false` can be passed when custom messages are used (e.g. with [ajv-i18n](https://github.com/ajv-validator/ajv-i18n)). +- _sourceCode_: add `sourceCode` property to validating function (for debugging; this code can be different from the result of toString call). +- _processCode_: an optional function to process generated code before it is passed to Function constructor. It can be used to either beautify (the validating function is generated without line-breaks) or to transpile code. Starting from version 5.0.0 this option replaced options: + - `beautify` that formatted the generated function using [js-beautify](https://github.com/beautify-web/js-beautify). If you want to beautify the generated code pass a function calling `require('js-beautify').js_beautify` as `processCode: code => js_beautify(code)`. + - `transpile` that transpiled asynchronous validation function. You can still use `transpile` option with [ajv-async](https://github.com/ajv-validator/ajv-async) package. See [Asynchronous validation](#asynchronous-validation) for more information. +- _cache_: an optional instance of cache to store compiled schemas using stable-stringified schema as a key. For example, set-associative cache [sacjs](https://github.com/epoberezkin/sacjs) can be used. If not passed then a simple hash is used which is good enough for the common use case (a limited number of statically defined schemas). Cache should have methods `put(key, value)`, `get(key)`, `del(key)` and `clear()`. +- _serialize_: an optional function to serialize schema to cache key. Pass `false` to use schema itself as a key (e.g., if WeakMap used as a cache). By default [fast-json-stable-stringify](https://github.com/epoberezkin/fast-json-stable-stringify) is used. + + +## Validation errors + +In case of validation failure, Ajv assigns the array of errors to `errors` property of validation function (or to `errors` property of Ajv instance when `validate` or `validateSchema` methods were called). In case of [asynchronous validation](#asynchronous-validation), the returned promise is rejected with exception `Ajv.ValidationError` that has `errors` property. + + +### Error objects + +Each error is an object with the following properties: + +- _keyword_: validation keyword. +- _dataPath_: the path to the part of the data that was validated. By default `dataPath` uses JavaScript property access notation (e.g., `".prop[1].subProp"`). When the option `jsonPointers` is true (see [Options](#options)) `dataPath` will be set using JSON pointer standard (e.g., `"/prop/1/subProp"`). +- _schemaPath_: the path (JSON-pointer as a URI fragment) to the schema of the keyword that failed validation. +- _params_: the object with the additional information about error that can be used to create custom error messages (e.g., using [ajv-i18n](https://github.com/ajv-validator/ajv-i18n) package). See below for parameters set by all keywords. +- _message_: the standard error message (can be excluded with option `messages` set to false). +- _schema_: the schema of the keyword (added with `verbose` option). +- _parentSchema_: the schema containing the keyword (added with `verbose` option) +- _data_: the data validated by the keyword (added with `verbose` option). + +__Please note__: `propertyNames` keyword schema validation errors have an additional property `propertyName`, `dataPath` points to the object. After schema validation for each property name, if it is invalid an additional error is added with the property `keyword` equal to `"propertyNames"`. + + +### Error parameters + +Properties of `params` object in errors depend on the keyword that failed validation. + +- `maxItems`, `minItems`, `maxLength`, `minLength`, `maxProperties`, `minProperties` - property `limit` (number, the schema of the keyword). +- `additionalItems` - property `limit` (the maximum number of allowed items in case when `items` keyword is an array of schemas and `additionalItems` is false). +- `additionalProperties` - property `additionalProperty` (the property not used in `properties` and `patternProperties` keywords). +- `dependencies` - properties: + - `property` (dependent property), + - `missingProperty` (required missing dependency - only the first one is reported currently) + - `deps` (required dependencies, comma separated list as a string), + - `depsCount` (the number of required dependencies). +- `format` - property `format` (the schema of the keyword). +- `maximum`, `minimum` - properties: + - `limit` (number, the schema of the keyword), + - `exclusive` (boolean, the schema of `exclusiveMaximum` or `exclusiveMinimum`), + - `comparison` (string, comparison operation to compare the data to the limit, with the data on the left and the limit on the right; can be "<", "<=", ">", ">=") +- `multipleOf` - property `multipleOf` (the schema of the keyword) +- `pattern` - property `pattern` (the schema of the keyword) +- `required` - property `missingProperty` (required property that is missing). +- `propertyNames` - property `propertyName` (an invalid property name). +- `patternRequired` (in ajv-keywords) - property `missingPattern` (required pattern that did not match any property). +- `type` - property `type` (required type(s), a string, can be a comma-separated list) +- `uniqueItems` - properties `i` and `j` (indices of duplicate items). +- `const` - property `allowedValue` pointing to the value (the schema of the keyword). +- `enum` - property `allowedValues` pointing to the array of values (the schema of the keyword). +- `$ref` - property `ref` with the referenced schema URI. +- `oneOf` - property `passingSchemas` (array of indices of passing schemas, null if no schema passes). +- custom keywords (in case keyword definition doesn't create errors) - property `keyword` (the keyword name). + + +### Error logging + +Using the `logger` option when initiallizing Ajv will allow you to define custom logging. Here you can build upon the exisiting logging. The use of other logging packages is supported as long as the package or its associated wrapper exposes the required methods. If any of the required methods are missing an exception will be thrown. +- **Required Methods**: `log`, `warn`, `error` + +```javascript +var otherLogger = new OtherLogger(); +var ajv = new Ajv({ + logger: { + log: console.log.bind(console), + warn: function warn() { + otherLogger.logWarn.apply(otherLogger, arguments); + }, + error: function error() { + otherLogger.logError.apply(otherLogger, arguments); + console.error.apply(console, arguments); + } + } +}); +``` + + +## Plugins + +Ajv can be extended with plugins that add custom keywords, formats or functions to process generated code. When such plugin is published as npm package it is recommended that it follows these conventions: + +- it exports a function +- this function accepts ajv instance as the first parameter and returns the same instance to allow chaining +- this function can accept an optional configuration as the second parameter + +If you have published a useful plugin please submit a PR to add it to the next section. + + +## Related packages + +- [ajv-async](https://github.com/ajv-validator/ajv-async) - plugin to configure async validation mode +- [ajv-bsontype](https://github.com/BoLaMN/ajv-bsontype) - plugin to validate mongodb's bsonType formats +- [ajv-cli](https://github.com/jessedc/ajv-cli) - command line interface +- [ajv-errors](https://github.com/ajv-validator/ajv-errors) - plugin for custom error messages +- [ajv-i18n](https://github.com/ajv-validator/ajv-i18n) - internationalised error messages +- [ajv-istanbul](https://github.com/ajv-validator/ajv-istanbul) - plugin to instrument generated validation code to measure test coverage of your schemas +- [ajv-keywords](https://github.com/ajv-validator/ajv-keywords) - plugin with custom validation keywords (select, typeof, etc.) +- [ajv-merge-patch](https://github.com/ajv-validator/ajv-merge-patch) - plugin with keywords $merge and $patch +- [ajv-pack](https://github.com/ajv-validator/ajv-pack) - produces a compact module exporting validation functions +- [ajv-formats-draft2019](https://github.com/luzlab/ajv-formats-draft2019) - format validators for draft2019 that aren't already included in ajv (ie. `idn-hostname`, `idn-email`, `iri`, `iri-reference` and `duration`). + +## Some packages using Ajv + +- [webpack](https://github.com/webpack/webpack) - a module bundler. Its main purpose is to bundle JavaScript files for usage in a browser +- [jsonscript-js](https://github.com/JSONScript/jsonscript-js) - the interpreter for [JSONScript](http://www.jsonscript.org) - scripted processing of existing endpoints and services +- [osprey-method-handler](https://github.com/mulesoft-labs/osprey-method-handler) - Express middleware for validating requests and responses based on a RAML method object, used in [osprey](https://github.com/mulesoft/osprey) - validating API proxy generated from a RAML definition +- [har-validator](https://github.com/ahmadnassri/har-validator) - HTTP Archive (HAR) validator +- [jsoneditor](https://github.com/josdejong/jsoneditor) - a web-based tool to view, edit, format, and validate JSON http://jsoneditoronline.org +- [JSON Schema Lint](https://github.com/nickcmaynard/jsonschemalint) - a web tool to validate JSON/YAML document against a single JSON Schema http://jsonschemalint.com +- [objection](https://github.com/vincit/objection.js) - SQL-friendly ORM for Node.js +- [table](https://github.com/gajus/table) - formats data into a string table +- [ripple-lib](https://github.com/ripple/ripple-lib) - a JavaScript API for interacting with [Ripple](https://ripple.com) in Node.js and the browser +- [restbase](https://github.com/wikimedia/restbase) - distributed storage with REST API & dispatcher for backend services built to provide a low-latency & high-throughput API for Wikipedia / Wikimedia content +- [hippie-swagger](https://github.com/CacheControl/hippie-swagger) - [Hippie](https://github.com/vesln/hippie) wrapper that provides end to end API testing with swagger validation +- [react-form-controlled](https://github.com/seeden/react-form-controlled) - React controlled form components with validation +- [rabbitmq-schema](https://github.com/tjmehta/rabbitmq-schema) - a schema definition module for RabbitMQ graphs and messages +- [@query/schema](https://www.npmjs.com/package/@query/schema) - stream filtering with a URI-safe query syntax parsing to JSON Schema +- [chai-ajv-json-schema](https://github.com/peon374/chai-ajv-json-schema) - chai plugin to us JSON Schema with expect in mocha tests +- [grunt-jsonschema-ajv](https://github.com/SignpostMarv/grunt-jsonschema-ajv) - Grunt plugin for validating files against JSON Schema +- [extract-text-webpack-plugin](https://github.com/webpack-contrib/extract-text-webpack-plugin) - extract text from bundle into a file +- [electron-builder](https://github.com/electron-userland/electron-builder) - a solution to package and build a ready for distribution Electron app +- [addons-linter](https://github.com/mozilla/addons-linter) - Mozilla Add-ons Linter +- [gh-pages-generator](https://github.com/epoberezkin/gh-pages-generator) - multi-page site generator converting markdown files to GitHub pages +- [ESLint](https://github.com/eslint/eslint) - the pluggable linting utility for JavaScript and JSX + + +## Tests + +``` +npm install +git submodule update --init +npm test +``` + +## Contributing + +All validation functions are generated using doT templates in [dot](https://github.com/ajv-validator/ajv/tree/master/lib/dot) folder. Templates are precompiled so doT is not a run-time dependency. + +`npm run build` - compiles templates to [dotjs](https://github.com/ajv-validator/ajv/tree/master/lib/dotjs) folder. + +`npm run watch` - automatically compiles templates when files in dot folder change + +Please see [Contributing guidelines](https://github.com/ajv-validator/ajv/blob/master/CONTRIBUTING.md) + + +## Changes history + +See https://github.com/ajv-validator/ajv/releases + +__Please note__: [Changes in version 7.0.0-beta](https://github.com/ajv-validator/ajv/releases/tag/v7.0.0-beta.0) + +[Version 6.0.0](https://github.com/ajv-validator/ajv/releases/tag/v6.0.0). + +## Code of conduct + +Please review and follow the [Code of conduct](https://github.com/ajv-validator/ajv/blob/master/CODE_OF_CONDUCT.md). + +Please report any unacceptable behaviour to ajv.validator@gmail.com - it will be reviewed by the project team. + + +## Open-source software support + +Ajv is a part of [Tidelift subscription](https://tidelift.com/subscription/pkg/npm-ajv?utm_source=npm-ajv&utm_medium=referral&utm_campaign=readme) - it provides a centralised support to open-source software users, in addition to the support provided by software maintainers. + + +## License + +[MIT](https://github.com/ajv-validator/ajv/blob/master/LICENSE) diff --git a/node_modules/ajv/dist/ajv.bundle.js b/node_modules/ajv/dist/ajv.bundle.js new file mode 100644 index 0000000..e4d9d15 --- /dev/null +++ b/node_modules/ajv/dist/ajv.bundle.js @@ -0,0 +1,7189 @@ +(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.Ajv = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i; +// For the source: https://gist.github.com/dperini/729294 +// For test cases: https://mathiasbynens.be/demo/url-regex +// @todo Delete current URL in favour of the commented out URL rule when this issue is fixed https://github.com/eslint/eslint/issues/7983. +// var URL = /^(?:(?:https?|ftp):\/\/)(?:\S+(?::\S*)?@)?(?:(?!10(?:\.\d{1,3}){3})(?!127(?:\.\d{1,3}){3})(?!169\.254(?:\.\d{1,3}){2})(?!192\.168(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u{00a1}-\u{ffff}0-9]+-)*[a-z\u{00a1}-\u{ffff}0-9]+)(?:\.(?:[a-z\u{00a1}-\u{ffff}0-9]+-)*[a-z\u{00a1}-\u{ffff}0-9]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu; +var URL = /^(?:(?:http[s\u017F]?|ftp):\/\/)(?:(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+(?::(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?@)?(?:(?!10(?:\.[0-9]{1,3}){3})(?!127(?:\.[0-9]{1,3}){3})(?!169\.254(?:\.[0-9]{1,3}){2})(?!192\.168(?:\.[0-9]{1,3}){2})(?!172\.(?:1[6-9]|2[0-9]|3[01])(?:\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)(?:\.(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)*(?:\.(?:(?:[a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\/(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?$/i; +var UUID = /^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i; +var JSON_POINTER = /^(?:\/(?:[^~/]|~0|~1)*)*$/; +var JSON_POINTER_URI_FRAGMENT = /^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i; +var RELATIVE_JSON_POINTER = /^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/; + + +module.exports = formats; + +function formats(mode) { + mode = mode == 'full' ? 'full' : 'fast'; + return util.copy(formats[mode]); +} + + +formats.fast = { + // date: http://tools.ietf.org/html/rfc3339#section-5.6 + date: /^\d\d\d\d-[0-1]\d-[0-3]\d$/, + // date-time: http://tools.ietf.org/html/rfc3339#section-5.6 + time: /^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i, + 'date-time': /^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i, + // uri: https://github.com/mafintosh/is-my-json-valid/blob/master/formats.js + uri: /^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i, + 'uri-reference': /^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i, + 'uri-template': URITEMPLATE, + url: URL, + // email (sources from jsen validator): + // http://stackoverflow.com/questions/201323/using-a-regular-expression-to-validate-an-email-address#answer-8829363 + // http://www.w3.org/TR/html5/forms.html#valid-e-mail-address (search for 'willful violation') + email: /^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i, + hostname: HOSTNAME, + // optimized https://www.safaribooksonline.com/library/view/regular-expressions-cookbook/9780596802837/ch07s16.html + ipv4: /^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/, + // optimized http://stackoverflow.com/questions/53497/regular-expression-that-matches-valid-ipv6-addresses + ipv6: /^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i, + regex: regex, + // uuid: http://tools.ietf.org/html/rfc4122 + uuid: UUID, + // JSON-pointer: https://tools.ietf.org/html/rfc6901 + // uri fragment: https://tools.ietf.org/html/rfc3986#appendix-A + 'json-pointer': JSON_POINTER, + 'json-pointer-uri-fragment': JSON_POINTER_URI_FRAGMENT, + // relative JSON-pointer: http://tools.ietf.org/html/draft-luff-relative-json-pointer-00 + 'relative-json-pointer': RELATIVE_JSON_POINTER +}; + + +formats.full = { + date: date, + time: time, + 'date-time': date_time, + uri: uri, + 'uri-reference': URIREF, + 'uri-template': URITEMPLATE, + url: URL, + email: /^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i, + hostname: HOSTNAME, + ipv4: /^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/, + ipv6: /^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i, + regex: regex, + uuid: UUID, + 'json-pointer': JSON_POINTER, + 'json-pointer-uri-fragment': JSON_POINTER_URI_FRAGMENT, + 'relative-json-pointer': RELATIVE_JSON_POINTER +}; + + +function isLeapYear(year) { + // https://tools.ietf.org/html/rfc3339#appendix-C + return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0); +} + + +function date(str) { + // full-date from http://tools.ietf.org/html/rfc3339#section-5.6 + var matches = str.match(DATE); + if (!matches) return false; + + var year = +matches[1]; + var month = +matches[2]; + var day = +matches[3]; + + return month >= 1 && month <= 12 && day >= 1 && + day <= (month == 2 && isLeapYear(year) ? 29 : DAYS[month]); +} + + +function time(str, full) { + var matches = str.match(TIME); + if (!matches) return false; + + var hour = matches[1]; + var minute = matches[2]; + var second = matches[3]; + var timeZone = matches[5]; + return ((hour <= 23 && minute <= 59 && second <= 59) || + (hour == 23 && minute == 59 && second == 60)) && + (!full || timeZone); +} + + +var DATE_TIME_SEPARATOR = /t|\s/i; +function date_time(str) { + // http://tools.ietf.org/html/rfc3339#section-5.6 + var dateTime = str.split(DATE_TIME_SEPARATOR); + return dateTime.length == 2 && date(dateTime[0]) && time(dateTime[1], true); +} + + +var NOT_URI_FRAGMENT = /\/|:/; +function uri(str) { + // http://jmrware.com/articles/2009/uri_regexp/URI_regex.html + optional protocol + required "." + return NOT_URI_FRAGMENT.test(str) && URI.test(str); +} + + +var Z_ANCHOR = /[^\\]\\Z/; +function regex(str) { + if (Z_ANCHOR.test(str)) return false; + try { + new RegExp(str); + return true; + } catch(e) { + return false; + } +} + +},{"./util":10}],5:[function(require,module,exports){ +'use strict'; + +var resolve = require('./resolve') + , util = require('./util') + , errorClasses = require('./error_classes') + , stableStringify = require('fast-json-stable-stringify'); + +var validateGenerator = require('../dotjs/validate'); + +/** + * Functions below are used inside compiled validations function + */ + +var ucs2length = util.ucs2length; +var equal = require('fast-deep-equal'); + +// this error is thrown by async schemas to return validation errors via exception +var ValidationError = errorClasses.Validation; + +module.exports = compile; + + +/** + * Compiles schema to validation function + * @this Ajv + * @param {Object} schema schema object + * @param {Object} root object with information about the root schema for this schema + * @param {Object} localRefs the hash of local references inside the schema (created by resolve.id), used for inline resolution + * @param {String} baseId base ID for IDs in the schema + * @return {Function} validation function + */ +function compile(schema, root, localRefs, baseId) { + /* jshint validthis: true, evil: true */ + /* eslint no-shadow: 0 */ + var self = this + , opts = this._opts + , refVal = [ undefined ] + , refs = {} + , patterns = [] + , patternsHash = {} + , defaults = [] + , defaultsHash = {} + , customRules = []; + + root = root || { schema: schema, refVal: refVal, refs: refs }; + + var c = checkCompiling.call(this, schema, root, baseId); + var compilation = this._compilations[c.index]; + if (c.compiling) return (compilation.callValidate = callValidate); + + var formats = this._formats; + var RULES = this.RULES; + + try { + var v = localCompile(schema, root, localRefs, baseId); + compilation.validate = v; + var cv = compilation.callValidate; + if (cv) { + cv.schema = v.schema; + cv.errors = null; + cv.refs = v.refs; + cv.refVal = v.refVal; + cv.root = v.root; + cv.$async = v.$async; + if (opts.sourceCode) cv.source = v.source; + } + return v; + } finally { + endCompiling.call(this, schema, root, baseId); + } + + /* @this {*} - custom context, see passContext option */ + function callValidate() { + /* jshint validthis: true */ + var validate = compilation.validate; + var result = validate.apply(this, arguments); + callValidate.errors = validate.errors; + return result; + } + + function localCompile(_schema, _root, localRefs, baseId) { + var isRoot = !_root || (_root && _root.schema == _schema); + if (_root.schema != root.schema) + return compile.call(self, _schema, _root, localRefs, baseId); + + var $async = _schema.$async === true; + + var sourceCode = validateGenerator({ + isTop: true, + schema: _schema, + isRoot: isRoot, + baseId: baseId, + root: _root, + schemaPath: '', + errSchemaPath: '#', + errorPath: '""', + MissingRefError: errorClasses.MissingRef, + RULES: RULES, + validate: validateGenerator, + util: util, + resolve: resolve, + resolveRef: resolveRef, + usePattern: usePattern, + useDefault: useDefault, + useCustomRule: useCustomRule, + opts: opts, + formats: formats, + logger: self.logger, + self: self + }); + + sourceCode = vars(refVal, refValCode) + vars(patterns, patternCode) + + vars(defaults, defaultCode) + vars(customRules, customRuleCode) + + sourceCode; + + if (opts.processCode) sourceCode = opts.processCode(sourceCode, _schema); + // console.log('\n\n\n *** \n', JSON.stringify(sourceCode)); + var validate; + try { + var makeValidate = new Function( + 'self', + 'RULES', + 'formats', + 'root', + 'refVal', + 'defaults', + 'customRules', + 'equal', + 'ucs2length', + 'ValidationError', + sourceCode + ); + + validate = makeValidate( + self, + RULES, + formats, + root, + refVal, + defaults, + customRules, + equal, + ucs2length, + ValidationError + ); + + refVal[0] = validate; + } catch(e) { + self.logger.error('Error compiling schema, function code:', sourceCode); + throw e; + } + + validate.schema = _schema; + validate.errors = null; + validate.refs = refs; + validate.refVal = refVal; + validate.root = isRoot ? validate : _root; + if ($async) validate.$async = true; + if (opts.sourceCode === true) { + validate.source = { + code: sourceCode, + patterns: patterns, + defaults: defaults + }; + } + + return validate; + } + + function resolveRef(baseId, ref, isRoot) { + ref = resolve.url(baseId, ref); + var refIndex = refs[ref]; + var _refVal, refCode; + if (refIndex !== undefined) { + _refVal = refVal[refIndex]; + refCode = 'refVal[' + refIndex + ']'; + return resolvedRef(_refVal, refCode); + } + if (!isRoot && root.refs) { + var rootRefId = root.refs[ref]; + if (rootRefId !== undefined) { + _refVal = root.refVal[rootRefId]; + refCode = addLocalRef(ref, _refVal); + return resolvedRef(_refVal, refCode); + } + } + + refCode = addLocalRef(ref); + var v = resolve.call(self, localCompile, root, ref); + if (v === undefined) { + var localSchema = localRefs && localRefs[ref]; + if (localSchema) { + v = resolve.inlineRef(localSchema, opts.inlineRefs) + ? localSchema + : compile.call(self, localSchema, root, localRefs, baseId); + } + } + + if (v === undefined) { + removeLocalRef(ref); + } else { + replaceLocalRef(ref, v); + return resolvedRef(v, refCode); + } + } + + function addLocalRef(ref, v) { + var refId = refVal.length; + refVal[refId] = v; + refs[ref] = refId; + return 'refVal' + refId; + } + + function removeLocalRef(ref) { + delete refs[ref]; + } + + function replaceLocalRef(ref, v) { + var refId = refs[ref]; + refVal[refId] = v; + } + + function resolvedRef(refVal, code) { + return typeof refVal == 'object' || typeof refVal == 'boolean' + ? { code: code, schema: refVal, inline: true } + : { code: code, $async: refVal && !!refVal.$async }; + } + + function usePattern(regexStr) { + var index = patternsHash[regexStr]; + if (index === undefined) { + index = patternsHash[regexStr] = patterns.length; + patterns[index] = regexStr; + } + return 'pattern' + index; + } + + function useDefault(value) { + switch (typeof value) { + case 'boolean': + case 'number': + return '' + value; + case 'string': + return util.toQuotedString(value); + case 'object': + if (value === null) return 'null'; + var valueStr = stableStringify(value); + var index = defaultsHash[valueStr]; + if (index === undefined) { + index = defaultsHash[valueStr] = defaults.length; + defaults[index] = value; + } + return 'default' + index; + } + } + + function useCustomRule(rule, schema, parentSchema, it) { + if (self._opts.validateSchema !== false) { + var deps = rule.definition.dependencies; + if (deps && !deps.every(function(keyword) { + return Object.prototype.hasOwnProperty.call(parentSchema, keyword); + })) + throw new Error('parent schema must have all required keywords: ' + deps.join(',')); + + var validateSchema = rule.definition.validateSchema; + if (validateSchema) { + var valid = validateSchema(schema); + if (!valid) { + var message = 'keyword schema is invalid: ' + self.errorsText(validateSchema.errors); + if (self._opts.validateSchema == 'log') self.logger.error(message); + else throw new Error(message); + } + } + } + + var compile = rule.definition.compile + , inline = rule.definition.inline + , macro = rule.definition.macro; + + var validate; + if (compile) { + validate = compile.call(self, schema, parentSchema, it); + } else if (macro) { + validate = macro.call(self, schema, parentSchema, it); + if (opts.validateSchema !== false) self.validateSchema(validate, true); + } else if (inline) { + validate = inline.call(self, it, rule.keyword, schema, parentSchema); + } else { + validate = rule.definition.validate; + if (!validate) return; + } + + if (validate === undefined) + throw new Error('custom keyword "' + rule.keyword + '"failed to compile'); + + var index = customRules.length; + customRules[index] = validate; + + return { + code: 'customRule' + index, + validate: validate + }; + } +} + + +/** + * Checks if the schema is currently compiled + * @this Ajv + * @param {Object} schema schema to compile + * @param {Object} root root object + * @param {String} baseId base schema ID + * @return {Object} object with properties "index" (compilation index) and "compiling" (boolean) + */ +function checkCompiling(schema, root, baseId) { + /* jshint validthis: true */ + var index = compIndex.call(this, schema, root, baseId); + if (index >= 0) return { index: index, compiling: true }; + index = this._compilations.length; + this._compilations[index] = { + schema: schema, + root: root, + baseId: baseId + }; + return { index: index, compiling: false }; +} + + +/** + * Removes the schema from the currently compiled list + * @this Ajv + * @param {Object} schema schema to compile + * @param {Object} root root object + * @param {String} baseId base schema ID + */ +function endCompiling(schema, root, baseId) { + /* jshint validthis: true */ + var i = compIndex.call(this, schema, root, baseId); + if (i >= 0) this._compilations.splice(i, 1); +} + + +/** + * Index of schema compilation in the currently compiled list + * @this Ajv + * @param {Object} schema schema to compile + * @param {Object} root root object + * @param {String} baseId base schema ID + * @return {Integer} compilation index + */ +function compIndex(schema, root, baseId) { + /* jshint validthis: true */ + for (var i=0; i= 0xD800 && value <= 0xDBFF && pos < len) { + // high surrogate, and there is a next character + value = str.charCodeAt(pos); + if ((value & 0xFC00) == 0xDC00) pos++; // low surrogate + } + } + return length; +}; + +},{}],10:[function(require,module,exports){ +'use strict'; + + +module.exports = { + copy: copy, + checkDataType: checkDataType, + checkDataTypes: checkDataTypes, + coerceToTypes: coerceToTypes, + toHash: toHash, + getProperty: getProperty, + escapeQuotes: escapeQuotes, + equal: require('fast-deep-equal'), + ucs2length: require('./ucs2length'), + varOccurences: varOccurences, + varReplace: varReplace, + schemaHasRules: schemaHasRules, + schemaHasRulesExcept: schemaHasRulesExcept, + schemaUnknownRules: schemaUnknownRules, + toQuotedString: toQuotedString, + getPathExpr: getPathExpr, + getPath: getPath, + getData: getData, + unescapeFragment: unescapeFragment, + unescapeJsonPointer: unescapeJsonPointer, + escapeFragment: escapeFragment, + escapeJsonPointer: escapeJsonPointer +}; + + +function copy(o, to) { + to = to || {}; + for (var key in o) to[key] = o[key]; + return to; +} + + +function checkDataType(dataType, data, strictNumbers, negate) { + var EQUAL = negate ? ' !== ' : ' === ' + , AND = negate ? ' || ' : ' && ' + , OK = negate ? '!' : '' + , NOT = negate ? '' : '!'; + switch (dataType) { + case 'null': return data + EQUAL + 'null'; + case 'array': return OK + 'Array.isArray(' + data + ')'; + case 'object': return '(' + OK + data + AND + + 'typeof ' + data + EQUAL + '"object"' + AND + + NOT + 'Array.isArray(' + data + '))'; + case 'integer': return '(typeof ' + data + EQUAL + '"number"' + AND + + NOT + '(' + data + ' % 1)' + + AND + data + EQUAL + data + + (strictNumbers ? (AND + OK + 'isFinite(' + data + ')') : '') + ')'; + case 'number': return '(typeof ' + data + EQUAL + '"' + dataType + '"' + + (strictNumbers ? (AND + OK + 'isFinite(' + data + ')') : '') + ')'; + default: return 'typeof ' + data + EQUAL + '"' + dataType + '"'; + } +} + + +function checkDataTypes(dataTypes, data, strictNumbers) { + switch (dataTypes.length) { + case 1: return checkDataType(dataTypes[0], data, strictNumbers, true); + default: + var code = ''; + var types = toHash(dataTypes); + if (types.array && types.object) { + code = types.null ? '(': '(!' + data + ' || '; + code += 'typeof ' + data + ' !== "object")'; + delete types.null; + delete types.array; + delete types.object; + } + if (types.number) delete types.integer; + for (var t in types) + code += (code ? ' && ' : '' ) + checkDataType(t, data, strictNumbers, true); + + return code; + } +} + + +var COERCE_TO_TYPES = toHash([ 'string', 'number', 'integer', 'boolean', 'null' ]); +function coerceToTypes(optionCoerceTypes, dataTypes) { + if (Array.isArray(dataTypes)) { + var types = []; + for (var i=0; i= lvl) throw new Error('Cannot access property/index ' + up + ' levels up, current level is ' + lvl); + return paths[lvl - up]; + } + + if (up > lvl) throw new Error('Cannot access data ' + up + ' levels up, current level is ' + lvl); + data = 'data' + ((lvl - up) || ''); + if (!jsonPointer) return data; + } + + var expr = data; + var segments = jsonPointer.split('/'); + for (var i=0; i', + $notOp = $isMax ? '>' : '<', + $errorKeyword = undefined; + if (!($isData || typeof $schema == 'number' || $schema === undefined)) { + throw new Error($keyword + ' must be number'); + } + if (!($isDataExcl || $schemaExcl === undefined || typeof $schemaExcl == 'number' || typeof $schemaExcl == 'boolean')) { + throw new Error($exclusiveKeyword + ' must be number or boolean'); + } + if ($isDataExcl) { + var $schemaValueExcl = it.util.getData($schemaExcl.$data, $dataLvl, it.dataPathArr), + $exclusive = 'exclusive' + $lvl, + $exclType = 'exclType' + $lvl, + $exclIsNumber = 'exclIsNumber' + $lvl, + $opExpr = 'op' + $lvl, + $opStr = '\' + ' + $opExpr + ' + \''; + out += ' var schemaExcl' + ($lvl) + ' = ' + ($schemaValueExcl) + '; '; + $schemaValueExcl = 'schemaExcl' + $lvl; + out += ' var ' + ($exclusive) + '; var ' + ($exclType) + ' = typeof ' + ($schemaValueExcl) + '; if (' + ($exclType) + ' != \'boolean\' && ' + ($exclType) + ' != \'undefined\' && ' + ($exclType) + ' != \'number\') { '; + var $errorKeyword = $exclusiveKeyword; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ($errorKeyword || '_exclusiveLimit') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} '; + if (it.opts.messages !== false) { + out += ' , message: \'' + ($exclusiveKeyword) + ' should be boolean\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' } else if ( '; + if ($isData) { + out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'number\') || '; + } + out += ' ' + ($exclType) + ' == \'number\' ? ( (' + ($exclusive) + ' = ' + ($schemaValue) + ' === undefined || ' + ($schemaValueExcl) + ' ' + ($op) + '= ' + ($schemaValue) + ') ? ' + ($data) + ' ' + ($notOp) + '= ' + ($schemaValueExcl) + ' : ' + ($data) + ' ' + ($notOp) + ' ' + ($schemaValue) + ' ) : ( (' + ($exclusive) + ' = ' + ($schemaValueExcl) + ' === true) ? ' + ($data) + ' ' + ($notOp) + '= ' + ($schemaValue) + ' : ' + ($data) + ' ' + ($notOp) + ' ' + ($schemaValue) + ' ) || ' + ($data) + ' !== ' + ($data) + ') { var op' + ($lvl) + ' = ' + ($exclusive) + ' ? \'' + ($op) + '\' : \'' + ($op) + '=\'; '; + if ($schema === undefined) { + $errorKeyword = $exclusiveKeyword; + $errSchemaPath = it.errSchemaPath + '/' + $exclusiveKeyword; + $schemaValue = $schemaValueExcl; + $isData = $isDataExcl; + } + } else { + var $exclIsNumber = typeof $schemaExcl == 'number', + $opStr = $op; + if ($exclIsNumber && $isData) { + var $opExpr = '\'' + $opStr + '\''; + out += ' if ( '; + if ($isData) { + out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'number\') || '; + } + out += ' ( ' + ($schemaValue) + ' === undefined || ' + ($schemaExcl) + ' ' + ($op) + '= ' + ($schemaValue) + ' ? ' + ($data) + ' ' + ($notOp) + '= ' + ($schemaExcl) + ' : ' + ($data) + ' ' + ($notOp) + ' ' + ($schemaValue) + ' ) || ' + ($data) + ' !== ' + ($data) + ') { '; + } else { + if ($exclIsNumber && $schema === undefined) { + $exclusive = true; + $errorKeyword = $exclusiveKeyword; + $errSchemaPath = it.errSchemaPath + '/' + $exclusiveKeyword; + $schemaValue = $schemaExcl; + $notOp += '='; + } else { + if ($exclIsNumber) $schemaValue = Math[$isMax ? 'min' : 'max']($schemaExcl, $schema); + if ($schemaExcl === ($exclIsNumber ? $schemaValue : true)) { + $exclusive = true; + $errorKeyword = $exclusiveKeyword; + $errSchemaPath = it.errSchemaPath + '/' + $exclusiveKeyword; + $notOp += '='; + } else { + $exclusive = false; + $opStr += '='; + } + } + var $opExpr = '\'' + $opStr + '\''; + out += ' if ( '; + if ($isData) { + out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'number\') || '; + } + out += ' ' + ($data) + ' ' + ($notOp) + ' ' + ($schemaValue) + ' || ' + ($data) + ' !== ' + ($data) + ') { '; + } + } + $errorKeyword = $errorKeyword || $keyword; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ($errorKeyword || '_limit') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { comparison: ' + ($opExpr) + ', limit: ' + ($schemaValue) + ', exclusive: ' + ($exclusive) + ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should be ' + ($opStr) + ' '; + if ($isData) { + out += '\' + ' + ($schemaValue); + } else { + out += '' + ($schemaValue) + '\''; + } + } + if (it.opts.verbose) { + out += ' , schema: '; + if ($isData) { + out += 'validate.schema' + ($schemaPath); + } else { + out += '' + ($schema); + } + out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' } '; + if ($breakOnError) { + out += ' else { '; + } + return out; +} + +},{}],14:[function(require,module,exports){ +'use strict'; +module.exports = function generate__limitItems(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $errorKeyword; + var $data = 'data' + ($dataLvl || ''); + var $isData = it.opts.$data && $schema && $schema.$data, + $schemaValue; + if ($isData) { + out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; + $schemaValue = 'schema' + $lvl; + } else { + $schemaValue = $schema; + } + if (!($isData || typeof $schema == 'number')) { + throw new Error($keyword + ' must be number'); + } + var $op = $keyword == 'maxItems' ? '>' : '<'; + out += 'if ( '; + if ($isData) { + out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'number\') || '; + } + out += ' ' + ($data) + '.length ' + ($op) + ' ' + ($schemaValue) + ') { '; + var $errorKeyword = $keyword; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ($errorKeyword || '_limitItems') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { limit: ' + ($schemaValue) + ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should NOT have '; + if ($keyword == 'maxItems') { + out += 'more'; + } else { + out += 'fewer'; + } + out += ' than '; + if ($isData) { + out += '\' + ' + ($schemaValue) + ' + \''; + } else { + out += '' + ($schema); + } + out += ' items\' '; + } + if (it.opts.verbose) { + out += ' , schema: '; + if ($isData) { + out += 'validate.schema' + ($schemaPath); + } else { + out += '' + ($schema); + } + out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += '} '; + if ($breakOnError) { + out += ' else { '; + } + return out; +} + +},{}],15:[function(require,module,exports){ +'use strict'; +module.exports = function generate__limitLength(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $errorKeyword; + var $data = 'data' + ($dataLvl || ''); + var $isData = it.opts.$data && $schema && $schema.$data, + $schemaValue; + if ($isData) { + out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; + $schemaValue = 'schema' + $lvl; + } else { + $schemaValue = $schema; + } + if (!($isData || typeof $schema == 'number')) { + throw new Error($keyword + ' must be number'); + } + var $op = $keyword == 'maxLength' ? '>' : '<'; + out += 'if ( '; + if ($isData) { + out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'number\') || '; + } + if (it.opts.unicode === false) { + out += ' ' + ($data) + '.length '; + } else { + out += ' ucs2length(' + ($data) + ') '; + } + out += ' ' + ($op) + ' ' + ($schemaValue) + ') { '; + var $errorKeyword = $keyword; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ($errorKeyword || '_limitLength') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { limit: ' + ($schemaValue) + ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should NOT be '; + if ($keyword == 'maxLength') { + out += 'longer'; + } else { + out += 'shorter'; + } + out += ' than '; + if ($isData) { + out += '\' + ' + ($schemaValue) + ' + \''; + } else { + out += '' + ($schema); + } + out += ' characters\' '; + } + if (it.opts.verbose) { + out += ' , schema: '; + if ($isData) { + out += 'validate.schema' + ($schemaPath); + } else { + out += '' + ($schema); + } + out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += '} '; + if ($breakOnError) { + out += ' else { '; + } + return out; +} + +},{}],16:[function(require,module,exports){ +'use strict'; +module.exports = function generate__limitProperties(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $errorKeyword; + var $data = 'data' + ($dataLvl || ''); + var $isData = it.opts.$data && $schema && $schema.$data, + $schemaValue; + if ($isData) { + out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; + $schemaValue = 'schema' + $lvl; + } else { + $schemaValue = $schema; + } + if (!($isData || typeof $schema == 'number')) { + throw new Error($keyword + ' must be number'); + } + var $op = $keyword == 'maxProperties' ? '>' : '<'; + out += 'if ( '; + if ($isData) { + out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'number\') || '; + } + out += ' Object.keys(' + ($data) + ').length ' + ($op) + ' ' + ($schemaValue) + ') { '; + var $errorKeyword = $keyword; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ($errorKeyword || '_limitProperties') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { limit: ' + ($schemaValue) + ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should NOT have '; + if ($keyword == 'maxProperties') { + out += 'more'; + } else { + out += 'fewer'; + } + out += ' than '; + if ($isData) { + out += '\' + ' + ($schemaValue) + ' + \''; + } else { + out += '' + ($schema); + } + out += ' properties\' '; + } + if (it.opts.verbose) { + out += ' , schema: '; + if ($isData) { + out += 'validate.schema' + ($schemaPath); + } else { + out += '' + ($schema); + } + out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += '} '; + if ($breakOnError) { + out += ' else { '; + } + return out; +} + +},{}],17:[function(require,module,exports){ +'use strict'; +module.exports = function generate_allOf(it, $keyword, $ruleType) { + var out = ' '; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $it = it.util.copy(it); + var $closingBraces = ''; + $it.level++; + var $nextValid = 'valid' + $it.level; + var $currentBaseId = $it.baseId, + $allSchemasEmpty = true; + var arr1 = $schema; + if (arr1) { + var $sch, $i = -1, + l1 = arr1.length - 1; + while ($i < l1) { + $sch = arr1[$i += 1]; + if ((it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all))) { + $allSchemasEmpty = false; + $it.schema = $sch; + $it.schemaPath = $schemaPath + '[' + $i + ']'; + $it.errSchemaPath = $errSchemaPath + '/' + $i; + out += ' ' + (it.validate($it)) + ' '; + $it.baseId = $currentBaseId; + if ($breakOnError) { + out += ' if (' + ($nextValid) + ') { '; + $closingBraces += '}'; + } + } + } + } + if ($breakOnError) { + if ($allSchemasEmpty) { + out += ' if (true) { '; + } else { + out += ' ' + ($closingBraces.slice(0, -1)) + ' '; + } + } + return out; +} + +},{}],18:[function(require,module,exports){ +'use strict'; +module.exports = function generate_anyOf(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $valid = 'valid' + $lvl; + var $errs = 'errs__' + $lvl; + var $it = it.util.copy(it); + var $closingBraces = ''; + $it.level++; + var $nextValid = 'valid' + $it.level; + var $noEmptySchema = $schema.every(function($sch) { + return (it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all)); + }); + if ($noEmptySchema) { + var $currentBaseId = $it.baseId; + out += ' var ' + ($errs) + ' = errors; var ' + ($valid) + ' = false; '; + var $wasComposite = it.compositeRule; + it.compositeRule = $it.compositeRule = true; + var arr1 = $schema; + if (arr1) { + var $sch, $i = -1, + l1 = arr1.length - 1; + while ($i < l1) { + $sch = arr1[$i += 1]; + $it.schema = $sch; + $it.schemaPath = $schemaPath + '[' + $i + ']'; + $it.errSchemaPath = $errSchemaPath + '/' + $i; + out += ' ' + (it.validate($it)) + ' '; + $it.baseId = $currentBaseId; + out += ' ' + ($valid) + ' = ' + ($valid) + ' || ' + ($nextValid) + '; if (!' + ($valid) + ') { '; + $closingBraces += '}'; + } + } + it.compositeRule = $it.compositeRule = $wasComposite; + out += ' ' + ($closingBraces) + ' if (!' + ($valid) + ') { var err = '; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('anyOf') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} '; + if (it.opts.messages !== false) { + out += ' , message: \'should match some schema in anyOf\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError(vErrors); '; + } else { + out += ' validate.errors = vErrors; return false; '; + } + } + out += ' } else { errors = ' + ($errs) + '; if (vErrors !== null) { if (' + ($errs) + ') vErrors.length = ' + ($errs) + '; else vErrors = null; } '; + if (it.opts.allErrors) { + out += ' } '; + } + } else { + if ($breakOnError) { + out += ' if (true) { '; + } + } + return out; +} + +},{}],19:[function(require,module,exports){ +'use strict'; +module.exports = function generate_comment(it, $keyword, $ruleType) { + var out = ' '; + var $schema = it.schema[$keyword]; + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $comment = it.util.toQuotedString($schema); + if (it.opts.$comment === true) { + out += ' console.log(' + ($comment) + ');'; + } else if (typeof it.opts.$comment == 'function') { + out += ' self._opts.$comment(' + ($comment) + ', ' + (it.util.toQuotedString($errSchemaPath)) + ', validate.root.schema);'; + } + return out; +} + +},{}],20:[function(require,module,exports){ +'use strict'; +module.exports = function generate_const(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $valid = 'valid' + $lvl; + var $isData = it.opts.$data && $schema && $schema.$data, + $schemaValue; + if ($isData) { + out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; + $schemaValue = 'schema' + $lvl; + } else { + $schemaValue = $schema; + } + if (!$isData) { + out += ' var schema' + ($lvl) + ' = validate.schema' + ($schemaPath) + ';'; + } + out += 'var ' + ($valid) + ' = equal(' + ($data) + ', schema' + ($lvl) + '); if (!' + ($valid) + ') { '; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('const') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { allowedValue: schema' + ($lvl) + ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should be equal to constant\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' }'; + if ($breakOnError) { + out += ' else { '; + } + return out; +} + +},{}],21:[function(require,module,exports){ +'use strict'; +module.exports = function generate_contains(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $valid = 'valid' + $lvl; + var $errs = 'errs__' + $lvl; + var $it = it.util.copy(it); + var $closingBraces = ''; + $it.level++; + var $nextValid = 'valid' + $it.level; + var $idx = 'i' + $lvl, + $dataNxt = $it.dataLevel = it.dataLevel + 1, + $nextData = 'data' + $dataNxt, + $currentBaseId = it.baseId, + $nonEmptySchema = (it.opts.strictKeywords ? (typeof $schema == 'object' && Object.keys($schema).length > 0) || $schema === false : it.util.schemaHasRules($schema, it.RULES.all)); + out += 'var ' + ($errs) + ' = errors;var ' + ($valid) + ';'; + if ($nonEmptySchema) { + var $wasComposite = it.compositeRule; + it.compositeRule = $it.compositeRule = true; + $it.schema = $schema; + $it.schemaPath = $schemaPath; + $it.errSchemaPath = $errSchemaPath; + out += ' var ' + ($nextValid) + ' = false; for (var ' + ($idx) + ' = 0; ' + ($idx) + ' < ' + ($data) + '.length; ' + ($idx) + '++) { '; + $it.errorPath = it.util.getPathExpr(it.errorPath, $idx, it.opts.jsonPointers, true); + var $passData = $data + '[' + $idx + ']'; + $it.dataPathArr[$dataNxt] = $idx; + var $code = it.validate($it); + $it.baseId = $currentBaseId; + if (it.util.varOccurences($code, $nextData) < 2) { + out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; + } else { + out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; + } + out += ' if (' + ($nextValid) + ') break; } '; + it.compositeRule = $it.compositeRule = $wasComposite; + out += ' ' + ($closingBraces) + ' if (!' + ($nextValid) + ') {'; + } else { + out += ' if (' + ($data) + '.length == 0) {'; + } + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('contains') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} '; + if (it.opts.messages !== false) { + out += ' , message: \'should contain a valid item\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' } else { '; + if ($nonEmptySchema) { + out += ' errors = ' + ($errs) + '; if (vErrors !== null) { if (' + ($errs) + ') vErrors.length = ' + ($errs) + '; else vErrors = null; } '; + } + if (it.opts.allErrors) { + out += ' } '; + } + return out; +} + +},{}],22:[function(require,module,exports){ +'use strict'; +module.exports = function generate_custom(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $errorKeyword; + var $data = 'data' + ($dataLvl || ''); + var $valid = 'valid' + $lvl; + var $errs = 'errs__' + $lvl; + var $isData = it.opts.$data && $schema && $schema.$data, + $schemaValue; + if ($isData) { + out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; + $schemaValue = 'schema' + $lvl; + } else { + $schemaValue = $schema; + } + var $rule = this, + $definition = 'definition' + $lvl, + $rDef = $rule.definition, + $closingBraces = ''; + var $compile, $inline, $macro, $ruleValidate, $validateCode; + if ($isData && $rDef.$data) { + $validateCode = 'keywordValidate' + $lvl; + var $validateSchema = $rDef.validateSchema; + out += ' var ' + ($definition) + ' = RULES.custom[\'' + ($keyword) + '\'].definition; var ' + ($validateCode) + ' = ' + ($definition) + '.validate;'; + } else { + $ruleValidate = it.useCustomRule($rule, $schema, it.schema, it); + if (!$ruleValidate) return; + $schemaValue = 'validate.schema' + $schemaPath; + $validateCode = $ruleValidate.code; + $compile = $rDef.compile; + $inline = $rDef.inline; + $macro = $rDef.macro; + } + var $ruleErrs = $validateCode + '.errors', + $i = 'i' + $lvl, + $ruleErr = 'ruleErr' + $lvl, + $asyncKeyword = $rDef.async; + if ($asyncKeyword && !it.async) throw new Error('async keyword in sync schema'); + if (!($inline || $macro)) { + out += '' + ($ruleErrs) + ' = null;'; + } + out += 'var ' + ($errs) + ' = errors;var ' + ($valid) + ';'; + if ($isData && $rDef.$data) { + $closingBraces += '}'; + out += ' if (' + ($schemaValue) + ' === undefined) { ' + ($valid) + ' = true; } else { '; + if ($validateSchema) { + $closingBraces += '}'; + out += ' ' + ($valid) + ' = ' + ($definition) + '.validateSchema(' + ($schemaValue) + '); if (' + ($valid) + ') { '; + } + } + if ($inline) { + if ($rDef.statements) { + out += ' ' + ($ruleValidate.validate) + ' '; + } else { + out += ' ' + ($valid) + ' = ' + ($ruleValidate.validate) + '; '; + } + } else if ($macro) { + var $it = it.util.copy(it); + var $closingBraces = ''; + $it.level++; + var $nextValid = 'valid' + $it.level; + $it.schema = $ruleValidate.validate; + $it.schemaPath = ''; + var $wasComposite = it.compositeRule; + it.compositeRule = $it.compositeRule = true; + var $code = it.validate($it).replace(/validate\.schema/g, $validateCode); + it.compositeRule = $it.compositeRule = $wasComposite; + out += ' ' + ($code); + } else { + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; + out += ' ' + ($validateCode) + '.call( '; + if (it.opts.passContext) { + out += 'this'; + } else { + out += 'self'; + } + if ($compile || $rDef.schema === false) { + out += ' , ' + ($data) + ' '; + } else { + out += ' , ' + ($schemaValue) + ' , ' + ($data) + ' , validate.schema' + (it.schemaPath) + ' '; + } + out += ' , (dataPath || \'\')'; + if (it.errorPath != '""') { + out += ' + ' + (it.errorPath); + } + var $parentData = $dataLvl ? 'data' + (($dataLvl - 1) || '') : 'parentData', + $parentDataProperty = $dataLvl ? it.dataPathArr[$dataLvl] : 'parentDataProperty'; + out += ' , ' + ($parentData) + ' , ' + ($parentDataProperty) + ' , rootData ) '; + var def_callRuleValidate = out; + out = $$outStack.pop(); + if ($rDef.errors === false) { + out += ' ' + ($valid) + ' = '; + if ($asyncKeyword) { + out += 'await '; + } + out += '' + (def_callRuleValidate) + '; '; + } else { + if ($asyncKeyword) { + $ruleErrs = 'customErrors' + $lvl; + out += ' var ' + ($ruleErrs) + ' = null; try { ' + ($valid) + ' = await ' + (def_callRuleValidate) + '; } catch (e) { ' + ($valid) + ' = false; if (e instanceof ValidationError) ' + ($ruleErrs) + ' = e.errors; else throw e; } '; + } else { + out += ' ' + ($ruleErrs) + ' = null; ' + ($valid) + ' = ' + (def_callRuleValidate) + '; '; + } + } + } + if ($rDef.modifying) { + out += ' if (' + ($parentData) + ') ' + ($data) + ' = ' + ($parentData) + '[' + ($parentDataProperty) + '];'; + } + out += '' + ($closingBraces); + if ($rDef.valid) { + if ($breakOnError) { + out += ' if (true) { '; + } + } else { + out += ' if ( '; + if ($rDef.valid === undefined) { + out += ' !'; + if ($macro) { + out += '' + ($nextValid); + } else { + out += '' + ($valid); + } + } else { + out += ' ' + (!$rDef.valid) + ' '; + } + out += ') { '; + $errorKeyword = $rule.keyword; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ($errorKeyword || 'custom') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { keyword: \'' + ($rule.keyword) + '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should pass "' + ($rule.keyword) + '" keyword validation\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + var def_customError = out; + out = $$outStack.pop(); + if ($inline) { + if ($rDef.errors) { + if ($rDef.errors != 'full') { + out += ' for (var ' + ($i) + '=' + ($errs) + '; ' + ($i) + ' 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all))) { + out += ' ' + ($nextValid) + ' = true; if ( ' + ($data) + (it.util.getProperty($property)) + ' !== undefined '; + if ($ownProperties) { + out += ' && Object.prototype.hasOwnProperty.call(' + ($data) + ', \'' + (it.util.escapeQuotes($property)) + '\') '; + } + out += ') { '; + $it.schema = $sch; + $it.schemaPath = $schemaPath + it.util.getProperty($property); + $it.errSchemaPath = $errSchemaPath + '/' + it.util.escapeFragment($property); + out += ' ' + (it.validate($it)) + ' '; + $it.baseId = $currentBaseId; + out += ' } '; + if ($breakOnError) { + out += ' if (' + ($nextValid) + ') { '; + $closingBraces += '}'; + } + } + } + if ($breakOnError) { + out += ' ' + ($closingBraces) + ' if (' + ($errs) + ' == errors) {'; + } + return out; +} + +},{}],24:[function(require,module,exports){ +'use strict'; +module.exports = function generate_enum(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $valid = 'valid' + $lvl; + var $isData = it.opts.$data && $schema && $schema.$data, + $schemaValue; + if ($isData) { + out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; + $schemaValue = 'schema' + $lvl; + } else { + $schemaValue = $schema; + } + var $i = 'i' + $lvl, + $vSchema = 'schema' + $lvl; + if (!$isData) { + out += ' var ' + ($vSchema) + ' = validate.schema' + ($schemaPath) + ';'; + } + out += 'var ' + ($valid) + ';'; + if ($isData) { + out += ' if (schema' + ($lvl) + ' === undefined) ' + ($valid) + ' = true; else if (!Array.isArray(schema' + ($lvl) + ')) ' + ($valid) + ' = false; else {'; + } + out += '' + ($valid) + ' = false;for (var ' + ($i) + '=0; ' + ($i) + '<' + ($vSchema) + '.length; ' + ($i) + '++) if (equal(' + ($data) + ', ' + ($vSchema) + '[' + ($i) + '])) { ' + ($valid) + ' = true; break; }'; + if ($isData) { + out += ' } '; + } + out += ' if (!' + ($valid) + ') { '; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('enum') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { allowedValues: schema' + ($lvl) + ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should be equal to one of the allowed values\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' }'; + if ($breakOnError) { + out += ' else { '; + } + return out; +} + +},{}],25:[function(require,module,exports){ +'use strict'; +module.exports = function generate_format(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + if (it.opts.format === false) { + if ($breakOnError) { + out += ' if (true) { '; + } + return out; + } + var $isData = it.opts.$data && $schema && $schema.$data, + $schemaValue; + if ($isData) { + out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; + $schemaValue = 'schema' + $lvl; + } else { + $schemaValue = $schema; + } + var $unknownFormats = it.opts.unknownFormats, + $allowUnknown = Array.isArray($unknownFormats); + if ($isData) { + var $format = 'format' + $lvl, + $isObject = 'isObject' + $lvl, + $formatType = 'formatType' + $lvl; + out += ' var ' + ($format) + ' = formats[' + ($schemaValue) + ']; var ' + ($isObject) + ' = typeof ' + ($format) + ' == \'object\' && !(' + ($format) + ' instanceof RegExp) && ' + ($format) + '.validate; var ' + ($formatType) + ' = ' + ($isObject) + ' && ' + ($format) + '.type || \'string\'; if (' + ($isObject) + ') { '; + if (it.async) { + out += ' var async' + ($lvl) + ' = ' + ($format) + '.async; '; + } + out += ' ' + ($format) + ' = ' + ($format) + '.validate; } if ( '; + if ($isData) { + out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'string\') || '; + } + out += ' ('; + if ($unknownFormats != 'ignore') { + out += ' (' + ($schemaValue) + ' && !' + ($format) + ' '; + if ($allowUnknown) { + out += ' && self._opts.unknownFormats.indexOf(' + ($schemaValue) + ') == -1 '; + } + out += ') || '; + } + out += ' (' + ($format) + ' && ' + ($formatType) + ' == \'' + ($ruleType) + '\' && !(typeof ' + ($format) + ' == \'function\' ? '; + if (it.async) { + out += ' (async' + ($lvl) + ' ? await ' + ($format) + '(' + ($data) + ') : ' + ($format) + '(' + ($data) + ')) '; + } else { + out += ' ' + ($format) + '(' + ($data) + ') '; + } + out += ' : ' + ($format) + '.test(' + ($data) + '))))) {'; + } else { + var $format = it.formats[$schema]; + if (!$format) { + if ($unknownFormats == 'ignore') { + it.logger.warn('unknown format "' + $schema + '" ignored in schema at path "' + it.errSchemaPath + '"'); + if ($breakOnError) { + out += ' if (true) { '; + } + return out; + } else if ($allowUnknown && $unknownFormats.indexOf($schema) >= 0) { + if ($breakOnError) { + out += ' if (true) { '; + } + return out; + } else { + throw new Error('unknown format "' + $schema + '" is used in schema at path "' + it.errSchemaPath + '"'); + } + } + var $isObject = typeof $format == 'object' && !($format instanceof RegExp) && $format.validate; + var $formatType = $isObject && $format.type || 'string'; + if ($isObject) { + var $async = $format.async === true; + $format = $format.validate; + } + if ($formatType != $ruleType) { + if ($breakOnError) { + out += ' if (true) { '; + } + return out; + } + if ($async) { + if (!it.async) throw new Error('async format in sync schema'); + var $formatRef = 'formats' + it.util.getProperty($schema) + '.validate'; + out += ' if (!(await ' + ($formatRef) + '(' + ($data) + '))) { '; + } else { + out += ' if (! '; + var $formatRef = 'formats' + it.util.getProperty($schema); + if ($isObject) $formatRef += '.validate'; + if (typeof $format == 'function') { + out += ' ' + ($formatRef) + '(' + ($data) + ') '; + } else { + out += ' ' + ($formatRef) + '.test(' + ($data) + ') '; + } + out += ') { '; + } + } + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('format') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { format: '; + if ($isData) { + out += '' + ($schemaValue); + } else { + out += '' + (it.util.toQuotedString($schema)); + } + out += ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should match format "'; + if ($isData) { + out += '\' + ' + ($schemaValue) + ' + \''; + } else { + out += '' + (it.util.escapeQuotes($schema)); + } + out += '"\' '; + } + if (it.opts.verbose) { + out += ' , schema: '; + if ($isData) { + out += 'validate.schema' + ($schemaPath); + } else { + out += '' + (it.util.toQuotedString($schema)); + } + out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' } '; + if ($breakOnError) { + out += ' else { '; + } + return out; +} + +},{}],26:[function(require,module,exports){ +'use strict'; +module.exports = function generate_if(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $valid = 'valid' + $lvl; + var $errs = 'errs__' + $lvl; + var $it = it.util.copy(it); + $it.level++; + var $nextValid = 'valid' + $it.level; + var $thenSch = it.schema['then'], + $elseSch = it.schema['else'], + $thenPresent = $thenSch !== undefined && (it.opts.strictKeywords ? (typeof $thenSch == 'object' && Object.keys($thenSch).length > 0) || $thenSch === false : it.util.schemaHasRules($thenSch, it.RULES.all)), + $elsePresent = $elseSch !== undefined && (it.opts.strictKeywords ? (typeof $elseSch == 'object' && Object.keys($elseSch).length > 0) || $elseSch === false : it.util.schemaHasRules($elseSch, it.RULES.all)), + $currentBaseId = $it.baseId; + if ($thenPresent || $elsePresent) { + var $ifClause; + $it.createErrors = false; + $it.schema = $schema; + $it.schemaPath = $schemaPath; + $it.errSchemaPath = $errSchemaPath; + out += ' var ' + ($errs) + ' = errors; var ' + ($valid) + ' = true; '; + var $wasComposite = it.compositeRule; + it.compositeRule = $it.compositeRule = true; + out += ' ' + (it.validate($it)) + ' '; + $it.baseId = $currentBaseId; + $it.createErrors = true; + out += ' errors = ' + ($errs) + '; if (vErrors !== null) { if (' + ($errs) + ') vErrors.length = ' + ($errs) + '; else vErrors = null; } '; + it.compositeRule = $it.compositeRule = $wasComposite; + if ($thenPresent) { + out += ' if (' + ($nextValid) + ') { '; + $it.schema = it.schema['then']; + $it.schemaPath = it.schemaPath + '.then'; + $it.errSchemaPath = it.errSchemaPath + '/then'; + out += ' ' + (it.validate($it)) + ' '; + $it.baseId = $currentBaseId; + out += ' ' + ($valid) + ' = ' + ($nextValid) + '; '; + if ($thenPresent && $elsePresent) { + $ifClause = 'ifClause' + $lvl; + out += ' var ' + ($ifClause) + ' = \'then\'; '; + } else { + $ifClause = '\'then\''; + } + out += ' } '; + if ($elsePresent) { + out += ' else { '; + } + } else { + out += ' if (!' + ($nextValid) + ') { '; + } + if ($elsePresent) { + $it.schema = it.schema['else']; + $it.schemaPath = it.schemaPath + '.else'; + $it.errSchemaPath = it.errSchemaPath + '/else'; + out += ' ' + (it.validate($it)) + ' '; + $it.baseId = $currentBaseId; + out += ' ' + ($valid) + ' = ' + ($nextValid) + '; '; + if ($thenPresent && $elsePresent) { + $ifClause = 'ifClause' + $lvl; + out += ' var ' + ($ifClause) + ' = \'else\'; '; + } else { + $ifClause = '\'else\''; + } + out += ' } '; + } + out += ' if (!' + ($valid) + ') { var err = '; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('if') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { failingKeyword: ' + ($ifClause) + ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should match "\' + ' + ($ifClause) + ' + \'" schema\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError(vErrors); '; + } else { + out += ' validate.errors = vErrors; return false; '; + } + } + out += ' } '; + if ($breakOnError) { + out += ' else { '; + } + } else { + if ($breakOnError) { + out += ' if (true) { '; + } + } + return out; +} + +},{}],27:[function(require,module,exports){ +'use strict'; + +//all requires must be explicit because browserify won't work with dynamic requires +module.exports = { + '$ref': require('./ref'), + allOf: require('./allOf'), + anyOf: require('./anyOf'), + '$comment': require('./comment'), + const: require('./const'), + contains: require('./contains'), + dependencies: require('./dependencies'), + 'enum': require('./enum'), + format: require('./format'), + 'if': require('./if'), + items: require('./items'), + maximum: require('./_limit'), + minimum: require('./_limit'), + maxItems: require('./_limitItems'), + minItems: require('./_limitItems'), + maxLength: require('./_limitLength'), + minLength: require('./_limitLength'), + maxProperties: require('./_limitProperties'), + minProperties: require('./_limitProperties'), + multipleOf: require('./multipleOf'), + not: require('./not'), + oneOf: require('./oneOf'), + pattern: require('./pattern'), + properties: require('./properties'), + propertyNames: require('./propertyNames'), + required: require('./required'), + uniqueItems: require('./uniqueItems'), + validate: require('./validate') +}; + +},{"./_limit":13,"./_limitItems":14,"./_limitLength":15,"./_limitProperties":16,"./allOf":17,"./anyOf":18,"./comment":19,"./const":20,"./contains":21,"./dependencies":23,"./enum":24,"./format":25,"./if":26,"./items":28,"./multipleOf":29,"./not":30,"./oneOf":31,"./pattern":32,"./properties":33,"./propertyNames":34,"./ref":35,"./required":36,"./uniqueItems":37,"./validate":38}],28:[function(require,module,exports){ +'use strict'; +module.exports = function generate_items(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $valid = 'valid' + $lvl; + var $errs = 'errs__' + $lvl; + var $it = it.util.copy(it); + var $closingBraces = ''; + $it.level++; + var $nextValid = 'valid' + $it.level; + var $idx = 'i' + $lvl, + $dataNxt = $it.dataLevel = it.dataLevel + 1, + $nextData = 'data' + $dataNxt, + $currentBaseId = it.baseId; + out += 'var ' + ($errs) + ' = errors;var ' + ($valid) + ';'; + if (Array.isArray($schema)) { + var $additionalItems = it.schema.additionalItems; + if ($additionalItems === false) { + out += ' ' + ($valid) + ' = ' + ($data) + '.length <= ' + ($schema.length) + '; '; + var $currErrSchemaPath = $errSchemaPath; + $errSchemaPath = it.errSchemaPath + '/additionalItems'; + out += ' if (!' + ($valid) + ') { '; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('additionalItems') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { limit: ' + ($schema.length) + ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should NOT have more than ' + ($schema.length) + ' items\' '; + } + if (it.opts.verbose) { + out += ' , schema: false , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' } '; + $errSchemaPath = $currErrSchemaPath; + if ($breakOnError) { + $closingBraces += '}'; + out += ' else { '; + } + } + var arr1 = $schema; + if (arr1) { + var $sch, $i = -1, + l1 = arr1.length - 1; + while ($i < l1) { + $sch = arr1[$i += 1]; + if ((it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all))) { + out += ' ' + ($nextValid) + ' = true; if (' + ($data) + '.length > ' + ($i) + ') { '; + var $passData = $data + '[' + $i + ']'; + $it.schema = $sch; + $it.schemaPath = $schemaPath + '[' + $i + ']'; + $it.errSchemaPath = $errSchemaPath + '/' + $i; + $it.errorPath = it.util.getPathExpr(it.errorPath, $i, it.opts.jsonPointers, true); + $it.dataPathArr[$dataNxt] = $i; + var $code = it.validate($it); + $it.baseId = $currentBaseId; + if (it.util.varOccurences($code, $nextData) < 2) { + out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; + } else { + out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; + } + out += ' } '; + if ($breakOnError) { + out += ' if (' + ($nextValid) + ') { '; + $closingBraces += '}'; + } + } + } + } + if (typeof $additionalItems == 'object' && (it.opts.strictKeywords ? (typeof $additionalItems == 'object' && Object.keys($additionalItems).length > 0) || $additionalItems === false : it.util.schemaHasRules($additionalItems, it.RULES.all))) { + $it.schema = $additionalItems; + $it.schemaPath = it.schemaPath + '.additionalItems'; + $it.errSchemaPath = it.errSchemaPath + '/additionalItems'; + out += ' ' + ($nextValid) + ' = true; if (' + ($data) + '.length > ' + ($schema.length) + ') { for (var ' + ($idx) + ' = ' + ($schema.length) + '; ' + ($idx) + ' < ' + ($data) + '.length; ' + ($idx) + '++) { '; + $it.errorPath = it.util.getPathExpr(it.errorPath, $idx, it.opts.jsonPointers, true); + var $passData = $data + '[' + $idx + ']'; + $it.dataPathArr[$dataNxt] = $idx; + var $code = it.validate($it); + $it.baseId = $currentBaseId; + if (it.util.varOccurences($code, $nextData) < 2) { + out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; + } else { + out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; + } + if ($breakOnError) { + out += ' if (!' + ($nextValid) + ') break; '; + } + out += ' } } '; + if ($breakOnError) { + out += ' if (' + ($nextValid) + ') { '; + $closingBraces += '}'; + } + } + } else if ((it.opts.strictKeywords ? (typeof $schema == 'object' && Object.keys($schema).length > 0) || $schema === false : it.util.schemaHasRules($schema, it.RULES.all))) { + $it.schema = $schema; + $it.schemaPath = $schemaPath; + $it.errSchemaPath = $errSchemaPath; + out += ' for (var ' + ($idx) + ' = ' + (0) + '; ' + ($idx) + ' < ' + ($data) + '.length; ' + ($idx) + '++) { '; + $it.errorPath = it.util.getPathExpr(it.errorPath, $idx, it.opts.jsonPointers, true); + var $passData = $data + '[' + $idx + ']'; + $it.dataPathArr[$dataNxt] = $idx; + var $code = it.validate($it); + $it.baseId = $currentBaseId; + if (it.util.varOccurences($code, $nextData) < 2) { + out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; + } else { + out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; + } + if ($breakOnError) { + out += ' if (!' + ($nextValid) + ') break; '; + } + out += ' }'; + } + if ($breakOnError) { + out += ' ' + ($closingBraces) + ' if (' + ($errs) + ' == errors) {'; + } + return out; +} + +},{}],29:[function(require,module,exports){ +'use strict'; +module.exports = function generate_multipleOf(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $isData = it.opts.$data && $schema && $schema.$data, + $schemaValue; + if ($isData) { + out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; + $schemaValue = 'schema' + $lvl; + } else { + $schemaValue = $schema; + } + if (!($isData || typeof $schema == 'number')) { + throw new Error($keyword + ' must be number'); + } + out += 'var division' + ($lvl) + ';if ('; + if ($isData) { + out += ' ' + ($schemaValue) + ' !== undefined && ( typeof ' + ($schemaValue) + ' != \'number\' || '; + } + out += ' (division' + ($lvl) + ' = ' + ($data) + ' / ' + ($schemaValue) + ', '; + if (it.opts.multipleOfPrecision) { + out += ' Math.abs(Math.round(division' + ($lvl) + ') - division' + ($lvl) + ') > 1e-' + (it.opts.multipleOfPrecision) + ' '; + } else { + out += ' division' + ($lvl) + ' !== parseInt(division' + ($lvl) + ') '; + } + out += ' ) '; + if ($isData) { + out += ' ) '; + } + out += ' ) { '; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('multipleOf') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { multipleOf: ' + ($schemaValue) + ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should be multiple of '; + if ($isData) { + out += '\' + ' + ($schemaValue); + } else { + out += '' + ($schemaValue) + '\''; + } + } + if (it.opts.verbose) { + out += ' , schema: '; + if ($isData) { + out += 'validate.schema' + ($schemaPath); + } else { + out += '' + ($schema); + } + out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += '} '; + if ($breakOnError) { + out += ' else { '; + } + return out; +} + +},{}],30:[function(require,module,exports){ +'use strict'; +module.exports = function generate_not(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $errs = 'errs__' + $lvl; + var $it = it.util.copy(it); + $it.level++; + var $nextValid = 'valid' + $it.level; + if ((it.opts.strictKeywords ? (typeof $schema == 'object' && Object.keys($schema).length > 0) || $schema === false : it.util.schemaHasRules($schema, it.RULES.all))) { + $it.schema = $schema; + $it.schemaPath = $schemaPath; + $it.errSchemaPath = $errSchemaPath; + out += ' var ' + ($errs) + ' = errors; '; + var $wasComposite = it.compositeRule; + it.compositeRule = $it.compositeRule = true; + $it.createErrors = false; + var $allErrorsOption; + if ($it.opts.allErrors) { + $allErrorsOption = $it.opts.allErrors; + $it.opts.allErrors = false; + } + out += ' ' + (it.validate($it)) + ' '; + $it.createErrors = true; + if ($allErrorsOption) $it.opts.allErrors = $allErrorsOption; + it.compositeRule = $it.compositeRule = $wasComposite; + out += ' if (' + ($nextValid) + ') { '; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('not') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} '; + if (it.opts.messages !== false) { + out += ' , message: \'should NOT be valid\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' } else { errors = ' + ($errs) + '; if (vErrors !== null) { if (' + ($errs) + ') vErrors.length = ' + ($errs) + '; else vErrors = null; } '; + if (it.opts.allErrors) { + out += ' } '; + } + } else { + out += ' var err = '; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('not') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} '; + if (it.opts.messages !== false) { + out += ' , message: \'should NOT be valid\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + if ($breakOnError) { + out += ' if (false) { '; + } + } + return out; +} + +},{}],31:[function(require,module,exports){ +'use strict'; +module.exports = function generate_oneOf(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $valid = 'valid' + $lvl; + var $errs = 'errs__' + $lvl; + var $it = it.util.copy(it); + var $closingBraces = ''; + $it.level++; + var $nextValid = 'valid' + $it.level; + var $currentBaseId = $it.baseId, + $prevValid = 'prevValid' + $lvl, + $passingSchemas = 'passingSchemas' + $lvl; + out += 'var ' + ($errs) + ' = errors , ' + ($prevValid) + ' = false , ' + ($valid) + ' = false , ' + ($passingSchemas) + ' = null; '; + var $wasComposite = it.compositeRule; + it.compositeRule = $it.compositeRule = true; + var arr1 = $schema; + if (arr1) { + var $sch, $i = -1, + l1 = arr1.length - 1; + while ($i < l1) { + $sch = arr1[$i += 1]; + if ((it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all))) { + $it.schema = $sch; + $it.schemaPath = $schemaPath + '[' + $i + ']'; + $it.errSchemaPath = $errSchemaPath + '/' + $i; + out += ' ' + (it.validate($it)) + ' '; + $it.baseId = $currentBaseId; + } else { + out += ' var ' + ($nextValid) + ' = true; '; + } + if ($i) { + out += ' if (' + ($nextValid) + ' && ' + ($prevValid) + ') { ' + ($valid) + ' = false; ' + ($passingSchemas) + ' = [' + ($passingSchemas) + ', ' + ($i) + ']; } else { '; + $closingBraces += '}'; + } + out += ' if (' + ($nextValid) + ') { ' + ($valid) + ' = ' + ($prevValid) + ' = true; ' + ($passingSchemas) + ' = ' + ($i) + '; }'; + } + } + it.compositeRule = $it.compositeRule = $wasComposite; + out += '' + ($closingBraces) + 'if (!' + ($valid) + ') { var err = '; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('oneOf') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { passingSchemas: ' + ($passingSchemas) + ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should match exactly one schema in oneOf\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError(vErrors); '; + } else { + out += ' validate.errors = vErrors; return false; '; + } + } + out += '} else { errors = ' + ($errs) + '; if (vErrors !== null) { if (' + ($errs) + ') vErrors.length = ' + ($errs) + '; else vErrors = null; }'; + if (it.opts.allErrors) { + out += ' } '; + } + return out; +} + +},{}],32:[function(require,module,exports){ +'use strict'; +module.exports = function generate_pattern(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $isData = it.opts.$data && $schema && $schema.$data, + $schemaValue; + if ($isData) { + out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; + $schemaValue = 'schema' + $lvl; + } else { + $schemaValue = $schema; + } + var $regexp = $isData ? '(new RegExp(' + $schemaValue + '))' : it.usePattern($schema); + out += 'if ( '; + if ($isData) { + out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'string\') || '; + } + out += ' !' + ($regexp) + '.test(' + ($data) + ') ) { '; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('pattern') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { pattern: '; + if ($isData) { + out += '' + ($schemaValue); + } else { + out += '' + (it.util.toQuotedString($schema)); + } + out += ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should match pattern "'; + if ($isData) { + out += '\' + ' + ($schemaValue) + ' + \''; + } else { + out += '' + (it.util.escapeQuotes($schema)); + } + out += '"\' '; + } + if (it.opts.verbose) { + out += ' , schema: '; + if ($isData) { + out += 'validate.schema' + ($schemaPath); + } else { + out += '' + (it.util.toQuotedString($schema)); + } + out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += '} '; + if ($breakOnError) { + out += ' else { '; + } + return out; +} + +},{}],33:[function(require,module,exports){ +'use strict'; +module.exports = function generate_properties(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $errs = 'errs__' + $lvl; + var $it = it.util.copy(it); + var $closingBraces = ''; + $it.level++; + var $nextValid = 'valid' + $it.level; + var $key = 'key' + $lvl, + $idx = 'idx' + $lvl, + $dataNxt = $it.dataLevel = it.dataLevel + 1, + $nextData = 'data' + $dataNxt, + $dataProperties = 'dataProperties' + $lvl; + var $schemaKeys = Object.keys($schema || {}).filter(notProto), + $pProperties = it.schema.patternProperties || {}, + $pPropertyKeys = Object.keys($pProperties).filter(notProto), + $aProperties = it.schema.additionalProperties, + $someProperties = $schemaKeys.length || $pPropertyKeys.length, + $noAdditional = $aProperties === false, + $additionalIsSchema = typeof $aProperties == 'object' && Object.keys($aProperties).length, + $removeAdditional = it.opts.removeAdditional, + $checkAdditional = $noAdditional || $additionalIsSchema || $removeAdditional, + $ownProperties = it.opts.ownProperties, + $currentBaseId = it.baseId; + var $required = it.schema.required; + if ($required && !(it.opts.$data && $required.$data) && $required.length < it.opts.loopRequired) { + var $requiredHash = it.util.toHash($required); + } + + function notProto(p) { + return p !== '__proto__'; + } + out += 'var ' + ($errs) + ' = errors;var ' + ($nextValid) + ' = true;'; + if ($ownProperties) { + out += ' var ' + ($dataProperties) + ' = undefined;'; + } + if ($checkAdditional) { + if ($ownProperties) { + out += ' ' + ($dataProperties) + ' = ' + ($dataProperties) + ' || Object.keys(' + ($data) + '); for (var ' + ($idx) + '=0; ' + ($idx) + '<' + ($dataProperties) + '.length; ' + ($idx) + '++) { var ' + ($key) + ' = ' + ($dataProperties) + '[' + ($idx) + ']; '; + } else { + out += ' for (var ' + ($key) + ' in ' + ($data) + ') { '; + } + if ($someProperties) { + out += ' var isAdditional' + ($lvl) + ' = !(false '; + if ($schemaKeys.length) { + if ($schemaKeys.length > 8) { + out += ' || validate.schema' + ($schemaPath) + '.hasOwnProperty(' + ($key) + ') '; + } else { + var arr1 = $schemaKeys; + if (arr1) { + var $propertyKey, i1 = -1, + l1 = arr1.length - 1; + while (i1 < l1) { + $propertyKey = arr1[i1 += 1]; + out += ' || ' + ($key) + ' == ' + (it.util.toQuotedString($propertyKey)) + ' '; + } + } + } + } + if ($pPropertyKeys.length) { + var arr2 = $pPropertyKeys; + if (arr2) { + var $pProperty, $i = -1, + l2 = arr2.length - 1; + while ($i < l2) { + $pProperty = arr2[$i += 1]; + out += ' || ' + (it.usePattern($pProperty)) + '.test(' + ($key) + ') '; + } + } + } + out += ' ); if (isAdditional' + ($lvl) + ') { '; + } + if ($removeAdditional == 'all') { + out += ' delete ' + ($data) + '[' + ($key) + ']; '; + } else { + var $currentErrorPath = it.errorPath; + var $additionalProperty = '\' + ' + $key + ' + \''; + if (it.opts._errorDataPathProperty) { + it.errorPath = it.util.getPathExpr(it.errorPath, $key, it.opts.jsonPointers); + } + if ($noAdditional) { + if ($removeAdditional) { + out += ' delete ' + ($data) + '[' + ($key) + ']; '; + } else { + out += ' ' + ($nextValid) + ' = false; '; + var $currErrSchemaPath = $errSchemaPath; + $errSchemaPath = it.errSchemaPath + '/additionalProperties'; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('additionalProperties') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { additionalProperty: \'' + ($additionalProperty) + '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \''; + if (it.opts._errorDataPathProperty) { + out += 'is an invalid additional property'; + } else { + out += 'should NOT have additional properties'; + } + out += '\' '; + } + if (it.opts.verbose) { + out += ' , schema: false , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + $errSchemaPath = $currErrSchemaPath; + if ($breakOnError) { + out += ' break; '; + } + } + } else if ($additionalIsSchema) { + if ($removeAdditional == 'failing') { + out += ' var ' + ($errs) + ' = errors; '; + var $wasComposite = it.compositeRule; + it.compositeRule = $it.compositeRule = true; + $it.schema = $aProperties; + $it.schemaPath = it.schemaPath + '.additionalProperties'; + $it.errSchemaPath = it.errSchemaPath + '/additionalProperties'; + $it.errorPath = it.opts._errorDataPathProperty ? it.errorPath : it.util.getPathExpr(it.errorPath, $key, it.opts.jsonPointers); + var $passData = $data + '[' + $key + ']'; + $it.dataPathArr[$dataNxt] = $key; + var $code = it.validate($it); + $it.baseId = $currentBaseId; + if (it.util.varOccurences($code, $nextData) < 2) { + out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; + } else { + out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; + } + out += ' if (!' + ($nextValid) + ') { errors = ' + ($errs) + '; if (validate.errors !== null) { if (errors) validate.errors.length = errors; else validate.errors = null; } delete ' + ($data) + '[' + ($key) + ']; } '; + it.compositeRule = $it.compositeRule = $wasComposite; + } else { + $it.schema = $aProperties; + $it.schemaPath = it.schemaPath + '.additionalProperties'; + $it.errSchemaPath = it.errSchemaPath + '/additionalProperties'; + $it.errorPath = it.opts._errorDataPathProperty ? it.errorPath : it.util.getPathExpr(it.errorPath, $key, it.opts.jsonPointers); + var $passData = $data + '[' + $key + ']'; + $it.dataPathArr[$dataNxt] = $key; + var $code = it.validate($it); + $it.baseId = $currentBaseId; + if (it.util.varOccurences($code, $nextData) < 2) { + out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; + } else { + out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; + } + if ($breakOnError) { + out += ' if (!' + ($nextValid) + ') break; '; + } + } + } + it.errorPath = $currentErrorPath; + } + if ($someProperties) { + out += ' } '; + } + out += ' } '; + if ($breakOnError) { + out += ' if (' + ($nextValid) + ') { '; + $closingBraces += '}'; + } + } + var $useDefaults = it.opts.useDefaults && !it.compositeRule; + if ($schemaKeys.length) { + var arr3 = $schemaKeys; + if (arr3) { + var $propertyKey, i3 = -1, + l3 = arr3.length - 1; + while (i3 < l3) { + $propertyKey = arr3[i3 += 1]; + var $sch = $schema[$propertyKey]; + if ((it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all))) { + var $prop = it.util.getProperty($propertyKey), + $passData = $data + $prop, + $hasDefault = $useDefaults && $sch.default !== undefined; + $it.schema = $sch; + $it.schemaPath = $schemaPath + $prop; + $it.errSchemaPath = $errSchemaPath + '/' + it.util.escapeFragment($propertyKey); + $it.errorPath = it.util.getPath(it.errorPath, $propertyKey, it.opts.jsonPointers); + $it.dataPathArr[$dataNxt] = it.util.toQuotedString($propertyKey); + var $code = it.validate($it); + $it.baseId = $currentBaseId; + if (it.util.varOccurences($code, $nextData) < 2) { + $code = it.util.varReplace($code, $nextData, $passData); + var $useData = $passData; + } else { + var $useData = $nextData; + out += ' var ' + ($nextData) + ' = ' + ($passData) + '; '; + } + if ($hasDefault) { + out += ' ' + ($code) + ' '; + } else { + if ($requiredHash && $requiredHash[$propertyKey]) { + out += ' if ( ' + ($useData) + ' === undefined '; + if ($ownProperties) { + out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', \'' + (it.util.escapeQuotes($propertyKey)) + '\') '; + } + out += ') { ' + ($nextValid) + ' = false; '; + var $currentErrorPath = it.errorPath, + $currErrSchemaPath = $errSchemaPath, + $missingProperty = it.util.escapeQuotes($propertyKey); + if (it.opts._errorDataPathProperty) { + it.errorPath = it.util.getPath($currentErrorPath, $propertyKey, it.opts.jsonPointers); + } + $errSchemaPath = it.errSchemaPath + '/required'; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('required') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \'' + ($missingProperty) + '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \''; + if (it.opts._errorDataPathProperty) { + out += 'is a required property'; + } else { + out += 'should have required property \\\'' + ($missingProperty) + '\\\''; + } + out += '\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + $errSchemaPath = $currErrSchemaPath; + it.errorPath = $currentErrorPath; + out += ' } else { '; + } else { + if ($breakOnError) { + out += ' if ( ' + ($useData) + ' === undefined '; + if ($ownProperties) { + out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', \'' + (it.util.escapeQuotes($propertyKey)) + '\') '; + } + out += ') { ' + ($nextValid) + ' = true; } else { '; + } else { + out += ' if (' + ($useData) + ' !== undefined '; + if ($ownProperties) { + out += ' && Object.prototype.hasOwnProperty.call(' + ($data) + ', \'' + (it.util.escapeQuotes($propertyKey)) + '\') '; + } + out += ' ) { '; + } + } + out += ' ' + ($code) + ' } '; + } + } + if ($breakOnError) { + out += ' if (' + ($nextValid) + ') { '; + $closingBraces += '}'; + } + } + } + } + if ($pPropertyKeys.length) { + var arr4 = $pPropertyKeys; + if (arr4) { + var $pProperty, i4 = -1, + l4 = arr4.length - 1; + while (i4 < l4) { + $pProperty = arr4[i4 += 1]; + var $sch = $pProperties[$pProperty]; + if ((it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all))) { + $it.schema = $sch; + $it.schemaPath = it.schemaPath + '.patternProperties' + it.util.getProperty($pProperty); + $it.errSchemaPath = it.errSchemaPath + '/patternProperties/' + it.util.escapeFragment($pProperty); + if ($ownProperties) { + out += ' ' + ($dataProperties) + ' = ' + ($dataProperties) + ' || Object.keys(' + ($data) + '); for (var ' + ($idx) + '=0; ' + ($idx) + '<' + ($dataProperties) + '.length; ' + ($idx) + '++) { var ' + ($key) + ' = ' + ($dataProperties) + '[' + ($idx) + ']; '; + } else { + out += ' for (var ' + ($key) + ' in ' + ($data) + ') { '; + } + out += ' if (' + (it.usePattern($pProperty)) + '.test(' + ($key) + ')) { '; + $it.errorPath = it.util.getPathExpr(it.errorPath, $key, it.opts.jsonPointers); + var $passData = $data + '[' + $key + ']'; + $it.dataPathArr[$dataNxt] = $key; + var $code = it.validate($it); + $it.baseId = $currentBaseId; + if (it.util.varOccurences($code, $nextData) < 2) { + out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; + } else { + out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; + } + if ($breakOnError) { + out += ' if (!' + ($nextValid) + ') break; '; + } + out += ' } '; + if ($breakOnError) { + out += ' else ' + ($nextValid) + ' = true; '; + } + out += ' } '; + if ($breakOnError) { + out += ' if (' + ($nextValid) + ') { '; + $closingBraces += '}'; + } + } + } + } + } + if ($breakOnError) { + out += ' ' + ($closingBraces) + ' if (' + ($errs) + ' == errors) {'; + } + return out; +} + +},{}],34:[function(require,module,exports){ +'use strict'; +module.exports = function generate_propertyNames(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $errs = 'errs__' + $lvl; + var $it = it.util.copy(it); + var $closingBraces = ''; + $it.level++; + var $nextValid = 'valid' + $it.level; + out += 'var ' + ($errs) + ' = errors;'; + if ((it.opts.strictKeywords ? (typeof $schema == 'object' && Object.keys($schema).length > 0) || $schema === false : it.util.schemaHasRules($schema, it.RULES.all))) { + $it.schema = $schema; + $it.schemaPath = $schemaPath; + $it.errSchemaPath = $errSchemaPath; + var $key = 'key' + $lvl, + $idx = 'idx' + $lvl, + $i = 'i' + $lvl, + $invalidName = '\' + ' + $key + ' + \'', + $dataNxt = $it.dataLevel = it.dataLevel + 1, + $nextData = 'data' + $dataNxt, + $dataProperties = 'dataProperties' + $lvl, + $ownProperties = it.opts.ownProperties, + $currentBaseId = it.baseId; + if ($ownProperties) { + out += ' var ' + ($dataProperties) + ' = undefined; '; + } + if ($ownProperties) { + out += ' ' + ($dataProperties) + ' = ' + ($dataProperties) + ' || Object.keys(' + ($data) + '); for (var ' + ($idx) + '=0; ' + ($idx) + '<' + ($dataProperties) + '.length; ' + ($idx) + '++) { var ' + ($key) + ' = ' + ($dataProperties) + '[' + ($idx) + ']; '; + } else { + out += ' for (var ' + ($key) + ' in ' + ($data) + ') { '; + } + out += ' var startErrs' + ($lvl) + ' = errors; '; + var $passData = $key; + var $wasComposite = it.compositeRule; + it.compositeRule = $it.compositeRule = true; + var $code = it.validate($it); + $it.baseId = $currentBaseId; + if (it.util.varOccurences($code, $nextData) < 2) { + out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; + } else { + out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; + } + it.compositeRule = $it.compositeRule = $wasComposite; + out += ' if (!' + ($nextValid) + ') { for (var ' + ($i) + '=startErrs' + ($lvl) + '; ' + ($i) + ' 0) || $propertySch === false : it.util.schemaHasRules($propertySch, it.RULES.all)))) { + $required[$required.length] = $property; + } + } + } + } else { + var $required = $schema; + } + } + if ($isData || $required.length) { + var $currentErrorPath = it.errorPath, + $loopRequired = $isData || $required.length >= it.opts.loopRequired, + $ownProperties = it.opts.ownProperties; + if ($breakOnError) { + out += ' var missing' + ($lvl) + '; '; + if ($loopRequired) { + if (!$isData) { + out += ' var ' + ($vSchema) + ' = validate.schema' + ($schemaPath) + '; '; + } + var $i = 'i' + $lvl, + $propertyPath = 'schema' + $lvl + '[' + $i + ']', + $missingProperty = '\' + ' + $propertyPath + ' + \''; + if (it.opts._errorDataPathProperty) { + it.errorPath = it.util.getPathExpr($currentErrorPath, $propertyPath, it.opts.jsonPointers); + } + out += ' var ' + ($valid) + ' = true; '; + if ($isData) { + out += ' if (schema' + ($lvl) + ' === undefined) ' + ($valid) + ' = true; else if (!Array.isArray(schema' + ($lvl) + ')) ' + ($valid) + ' = false; else {'; + } + out += ' for (var ' + ($i) + ' = 0; ' + ($i) + ' < ' + ($vSchema) + '.length; ' + ($i) + '++) { ' + ($valid) + ' = ' + ($data) + '[' + ($vSchema) + '[' + ($i) + ']] !== undefined '; + if ($ownProperties) { + out += ' && Object.prototype.hasOwnProperty.call(' + ($data) + ', ' + ($vSchema) + '[' + ($i) + ']) '; + } + out += '; if (!' + ($valid) + ') break; } '; + if ($isData) { + out += ' } '; + } + out += ' if (!' + ($valid) + ') { '; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('required') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \'' + ($missingProperty) + '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \''; + if (it.opts._errorDataPathProperty) { + out += 'is a required property'; + } else { + out += 'should have required property \\\'' + ($missingProperty) + '\\\''; + } + out += '\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' } else { '; + } else { + out += ' if ( '; + var arr2 = $required; + if (arr2) { + var $propertyKey, $i = -1, + l2 = arr2.length - 1; + while ($i < l2) { + $propertyKey = arr2[$i += 1]; + if ($i) { + out += ' || '; + } + var $prop = it.util.getProperty($propertyKey), + $useData = $data + $prop; + out += ' ( ( ' + ($useData) + ' === undefined '; + if ($ownProperties) { + out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', \'' + (it.util.escapeQuotes($propertyKey)) + '\') '; + } + out += ') && (missing' + ($lvl) + ' = ' + (it.util.toQuotedString(it.opts.jsonPointers ? $propertyKey : $prop)) + ') ) '; + } + } + out += ') { '; + var $propertyPath = 'missing' + $lvl, + $missingProperty = '\' + ' + $propertyPath + ' + \''; + if (it.opts._errorDataPathProperty) { + it.errorPath = it.opts.jsonPointers ? it.util.getPathExpr($currentErrorPath, $propertyPath, true) : $currentErrorPath + ' + ' + $propertyPath; + } + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('required') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \'' + ($missingProperty) + '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \''; + if (it.opts._errorDataPathProperty) { + out += 'is a required property'; + } else { + out += 'should have required property \\\'' + ($missingProperty) + '\\\''; + } + out += '\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' } else { '; + } + } else { + if ($loopRequired) { + if (!$isData) { + out += ' var ' + ($vSchema) + ' = validate.schema' + ($schemaPath) + '; '; + } + var $i = 'i' + $lvl, + $propertyPath = 'schema' + $lvl + '[' + $i + ']', + $missingProperty = '\' + ' + $propertyPath + ' + \''; + if (it.opts._errorDataPathProperty) { + it.errorPath = it.util.getPathExpr($currentErrorPath, $propertyPath, it.opts.jsonPointers); + } + if ($isData) { + out += ' if (' + ($vSchema) + ' && !Array.isArray(' + ($vSchema) + ')) { var err = '; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('required') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \'' + ($missingProperty) + '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \''; + if (it.opts._errorDataPathProperty) { + out += 'is a required property'; + } else { + out += 'should have required property \\\'' + ($missingProperty) + '\\\''; + } + out += '\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } else if (' + ($vSchema) + ' !== undefined) { '; + } + out += ' for (var ' + ($i) + ' = 0; ' + ($i) + ' < ' + ($vSchema) + '.length; ' + ($i) + '++) { if (' + ($data) + '[' + ($vSchema) + '[' + ($i) + ']] === undefined '; + if ($ownProperties) { + out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', ' + ($vSchema) + '[' + ($i) + ']) '; + } + out += ') { var err = '; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('required') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \'' + ($missingProperty) + '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \''; + if (it.opts._errorDataPathProperty) { + out += 'is a required property'; + } else { + out += 'should have required property \\\'' + ($missingProperty) + '\\\''; + } + out += '\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } } '; + if ($isData) { + out += ' } '; + } + } else { + var arr3 = $required; + if (arr3) { + var $propertyKey, i3 = -1, + l3 = arr3.length - 1; + while (i3 < l3) { + $propertyKey = arr3[i3 += 1]; + var $prop = it.util.getProperty($propertyKey), + $missingProperty = it.util.escapeQuotes($propertyKey), + $useData = $data + $prop; + if (it.opts._errorDataPathProperty) { + it.errorPath = it.util.getPath($currentErrorPath, $propertyKey, it.opts.jsonPointers); + } + out += ' if ( ' + ($useData) + ' === undefined '; + if ($ownProperties) { + out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', \'' + (it.util.escapeQuotes($propertyKey)) + '\') '; + } + out += ') { var err = '; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('required') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \'' + ($missingProperty) + '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \''; + if (it.opts._errorDataPathProperty) { + out += 'is a required property'; + } else { + out += 'should have required property \\\'' + ($missingProperty) + '\\\''; + } + out += '\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } '; + } + } + } + } + it.errorPath = $currentErrorPath; + } else if ($breakOnError) { + out += ' if (true) {'; + } + return out; +} + +},{}],37:[function(require,module,exports){ +'use strict'; +module.exports = function generate_uniqueItems(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $valid = 'valid' + $lvl; + var $isData = it.opts.$data && $schema && $schema.$data, + $schemaValue; + if ($isData) { + out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; + $schemaValue = 'schema' + $lvl; + } else { + $schemaValue = $schema; + } + if (($schema || $isData) && it.opts.uniqueItems !== false) { + if ($isData) { + out += ' var ' + ($valid) + '; if (' + ($schemaValue) + ' === false || ' + ($schemaValue) + ' === undefined) ' + ($valid) + ' = true; else if (typeof ' + ($schemaValue) + ' != \'boolean\') ' + ($valid) + ' = false; else { '; + } + out += ' var i = ' + ($data) + '.length , ' + ($valid) + ' = true , j; if (i > 1) { '; + var $itemType = it.schema.items && it.schema.items.type, + $typeIsArray = Array.isArray($itemType); + if (!$itemType || $itemType == 'object' || $itemType == 'array' || ($typeIsArray && ($itemType.indexOf('object') >= 0 || $itemType.indexOf('array') >= 0))) { + out += ' outer: for (;i--;) { for (j = i; j--;) { if (equal(' + ($data) + '[i], ' + ($data) + '[j])) { ' + ($valid) + ' = false; break outer; } } } '; + } else { + out += ' var itemIndices = {}, item; for (;i--;) { var item = ' + ($data) + '[i]; '; + var $method = 'checkDataType' + ($typeIsArray ? 's' : ''); + out += ' if (' + (it.util[$method]($itemType, 'item', it.opts.strictNumbers, true)) + ') continue; '; + if ($typeIsArray) { + out += ' if (typeof item == \'string\') item = \'"\' + item; '; + } + out += ' if (typeof itemIndices[item] == \'number\') { ' + ($valid) + ' = false; j = itemIndices[item]; break; } itemIndices[item] = i; } '; + } + out += ' } '; + if ($isData) { + out += ' } '; + } + out += ' if (!' + ($valid) + ') { '; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('uniqueItems') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { i: i, j: j } '; + if (it.opts.messages !== false) { + out += ' , message: \'should NOT have duplicate items (items ## \' + j + \' and \' + i + \' are identical)\' '; + } + if (it.opts.verbose) { + out += ' , schema: '; + if ($isData) { + out += 'validate.schema' + ($schemaPath); + } else { + out += '' + ($schema); + } + out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' } '; + if ($breakOnError) { + out += ' else { '; + } + } else { + if ($breakOnError) { + out += ' if (true) { '; + } + } + return out; +} + +},{}],38:[function(require,module,exports){ +'use strict'; +module.exports = function generate_validate(it, $keyword, $ruleType) { + var out = ''; + var $async = it.schema.$async === true, + $refKeywords = it.util.schemaHasRulesExcept(it.schema, it.RULES.all, '$ref'), + $id = it.self._getId(it.schema); + if (it.opts.strictKeywords) { + var $unknownKwd = it.util.schemaUnknownRules(it.schema, it.RULES.keywords); + if ($unknownKwd) { + var $keywordsMsg = 'unknown keyword: ' + $unknownKwd; + if (it.opts.strictKeywords === 'log') it.logger.warn($keywordsMsg); + else throw new Error($keywordsMsg); + } + } + if (it.isTop) { + out += ' var validate = '; + if ($async) { + it.async = true; + out += 'async '; + } + out += 'function(data, dataPath, parentData, parentDataProperty, rootData) { \'use strict\'; '; + if ($id && (it.opts.sourceCode || it.opts.processCode)) { + out += ' ' + ('/\*# sourceURL=' + $id + ' */') + ' '; + } + } + if (typeof it.schema == 'boolean' || !($refKeywords || it.schema.$ref)) { + var $keyword = 'false schema'; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $errorKeyword; + var $data = 'data' + ($dataLvl || ''); + var $valid = 'valid' + $lvl; + if (it.schema === false) { + if (it.isTop) { + $breakOnError = true; + } else { + out += ' var ' + ($valid) + ' = false; '; + } + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ($errorKeyword || 'false schema') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} '; + if (it.opts.messages !== false) { + out += ' , message: \'boolean schema is false\' '; + } + if (it.opts.verbose) { + out += ' , schema: false , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + } else { + if (it.isTop) { + if ($async) { + out += ' return data; '; + } else { + out += ' validate.errors = null; return true; '; + } + } else { + out += ' var ' + ($valid) + ' = true; '; + } + } + if (it.isTop) { + out += ' }; return validate; '; + } + return out; + } + if (it.isTop) { + var $top = it.isTop, + $lvl = it.level = 0, + $dataLvl = it.dataLevel = 0, + $data = 'data'; + it.rootId = it.resolve.fullPath(it.self._getId(it.root.schema)); + it.baseId = it.baseId || it.rootId; + delete it.isTop; + it.dataPathArr = [""]; + if (it.schema.default !== undefined && it.opts.useDefaults && it.opts.strictDefaults) { + var $defaultMsg = 'default is ignored in the schema root'; + if (it.opts.strictDefaults === 'log') it.logger.warn($defaultMsg); + else throw new Error($defaultMsg); + } + out += ' var vErrors = null; '; + out += ' var errors = 0; '; + out += ' if (rootData === undefined) rootData = data; '; + } else { + var $lvl = it.level, + $dataLvl = it.dataLevel, + $data = 'data' + ($dataLvl || ''); + if ($id) it.baseId = it.resolve.url(it.baseId, $id); + if ($async && !it.async) throw new Error('async schema in sync schema'); + out += ' var errs_' + ($lvl) + ' = errors;'; + } + var $valid = 'valid' + $lvl, + $breakOnError = !it.opts.allErrors, + $closingBraces1 = '', + $closingBraces2 = ''; + var $errorKeyword; + var $typeSchema = it.schema.type, + $typeIsArray = Array.isArray($typeSchema); + if ($typeSchema && it.opts.nullable && it.schema.nullable === true) { + if ($typeIsArray) { + if ($typeSchema.indexOf('null') == -1) $typeSchema = $typeSchema.concat('null'); + } else if ($typeSchema != 'null') { + $typeSchema = [$typeSchema, 'null']; + $typeIsArray = true; + } + } + if ($typeIsArray && $typeSchema.length == 1) { + $typeSchema = $typeSchema[0]; + $typeIsArray = false; + } + if (it.schema.$ref && $refKeywords) { + if (it.opts.extendRefs == 'fail') { + throw new Error('$ref: validation keywords used in schema at path "' + it.errSchemaPath + '" (see option extendRefs)'); + } else if (it.opts.extendRefs !== true) { + $refKeywords = false; + it.logger.warn('$ref: keywords ignored in schema at path "' + it.errSchemaPath + '"'); + } + } + if (it.schema.$comment && it.opts.$comment) { + out += ' ' + (it.RULES.all.$comment.code(it, '$comment')); + } + if ($typeSchema) { + if (it.opts.coerceTypes) { + var $coerceToTypes = it.util.coerceToTypes(it.opts.coerceTypes, $typeSchema); + } + var $rulesGroup = it.RULES.types[$typeSchema]; + if ($coerceToTypes || $typeIsArray || $rulesGroup === true || ($rulesGroup && !$shouldUseGroup($rulesGroup))) { + var $schemaPath = it.schemaPath + '.type', + $errSchemaPath = it.errSchemaPath + '/type'; + var $schemaPath = it.schemaPath + '.type', + $errSchemaPath = it.errSchemaPath + '/type', + $method = $typeIsArray ? 'checkDataTypes' : 'checkDataType'; + out += ' if (' + (it.util[$method]($typeSchema, $data, it.opts.strictNumbers, true)) + ') { '; + if ($coerceToTypes) { + var $dataType = 'dataType' + $lvl, + $coerced = 'coerced' + $lvl; + out += ' var ' + ($dataType) + ' = typeof ' + ($data) + '; var ' + ($coerced) + ' = undefined; '; + if (it.opts.coerceTypes == 'array') { + out += ' if (' + ($dataType) + ' == \'object\' && Array.isArray(' + ($data) + ') && ' + ($data) + '.length == 1) { ' + ($data) + ' = ' + ($data) + '[0]; ' + ($dataType) + ' = typeof ' + ($data) + '; if (' + (it.util.checkDataType(it.schema.type, $data, it.opts.strictNumbers)) + ') ' + ($coerced) + ' = ' + ($data) + '; } '; + } + out += ' if (' + ($coerced) + ' !== undefined) ; '; + var arr1 = $coerceToTypes; + if (arr1) { + var $type, $i = -1, + l1 = arr1.length - 1; + while ($i < l1) { + $type = arr1[$i += 1]; + if ($type == 'string') { + out += ' else if (' + ($dataType) + ' == \'number\' || ' + ($dataType) + ' == \'boolean\') ' + ($coerced) + ' = \'\' + ' + ($data) + '; else if (' + ($data) + ' === null) ' + ($coerced) + ' = \'\'; '; + } else if ($type == 'number' || $type == 'integer') { + out += ' else if (' + ($dataType) + ' == \'boolean\' || ' + ($data) + ' === null || (' + ($dataType) + ' == \'string\' && ' + ($data) + ' && ' + ($data) + ' == +' + ($data) + ' '; + if ($type == 'integer') { + out += ' && !(' + ($data) + ' % 1)'; + } + out += ')) ' + ($coerced) + ' = +' + ($data) + '; '; + } else if ($type == 'boolean') { + out += ' else if (' + ($data) + ' === \'false\' || ' + ($data) + ' === 0 || ' + ($data) + ' === null) ' + ($coerced) + ' = false; else if (' + ($data) + ' === \'true\' || ' + ($data) + ' === 1) ' + ($coerced) + ' = true; '; + } else if ($type == 'null') { + out += ' else if (' + ($data) + ' === \'\' || ' + ($data) + ' === 0 || ' + ($data) + ' === false) ' + ($coerced) + ' = null; '; + } else if (it.opts.coerceTypes == 'array' && $type == 'array') { + out += ' else if (' + ($dataType) + ' == \'string\' || ' + ($dataType) + ' == \'number\' || ' + ($dataType) + ' == \'boolean\' || ' + ($data) + ' == null) ' + ($coerced) + ' = [' + ($data) + ']; '; + } + } + } + out += ' else { '; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ($errorKeyword || 'type') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { type: \''; + if ($typeIsArray) { + out += '' + ($typeSchema.join(",")); + } else { + out += '' + ($typeSchema); + } + out += '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should be '; + if ($typeIsArray) { + out += '' + ($typeSchema.join(",")); + } else { + out += '' + ($typeSchema); + } + out += '\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' } if (' + ($coerced) + ' !== undefined) { '; + var $parentData = $dataLvl ? 'data' + (($dataLvl - 1) || '') : 'parentData', + $parentDataProperty = $dataLvl ? it.dataPathArr[$dataLvl] : 'parentDataProperty'; + out += ' ' + ($data) + ' = ' + ($coerced) + '; '; + if (!$dataLvl) { + out += 'if (' + ($parentData) + ' !== undefined)'; + } + out += ' ' + ($parentData) + '[' + ($parentDataProperty) + '] = ' + ($coerced) + '; } '; + } else { + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ($errorKeyword || 'type') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { type: \''; + if ($typeIsArray) { + out += '' + ($typeSchema.join(",")); + } else { + out += '' + ($typeSchema); + } + out += '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should be '; + if ($typeIsArray) { + out += '' + ($typeSchema.join(",")); + } else { + out += '' + ($typeSchema); + } + out += '\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + } + out += ' } '; + } + } + if (it.schema.$ref && !$refKeywords) { + out += ' ' + (it.RULES.all.$ref.code(it, '$ref')) + ' '; + if ($breakOnError) { + out += ' } if (errors === '; + if ($top) { + out += '0'; + } else { + out += 'errs_' + ($lvl); + } + out += ') { '; + $closingBraces2 += '}'; + } + } else { + var arr2 = it.RULES; + if (arr2) { + var $rulesGroup, i2 = -1, + l2 = arr2.length - 1; + while (i2 < l2) { + $rulesGroup = arr2[i2 += 1]; + if ($shouldUseGroup($rulesGroup)) { + if ($rulesGroup.type) { + out += ' if (' + (it.util.checkDataType($rulesGroup.type, $data, it.opts.strictNumbers)) + ') { '; + } + if (it.opts.useDefaults) { + if ($rulesGroup.type == 'object' && it.schema.properties) { + var $schema = it.schema.properties, + $schemaKeys = Object.keys($schema); + var arr3 = $schemaKeys; + if (arr3) { + var $propertyKey, i3 = -1, + l3 = arr3.length - 1; + while (i3 < l3) { + $propertyKey = arr3[i3 += 1]; + var $sch = $schema[$propertyKey]; + if ($sch.default !== undefined) { + var $passData = $data + it.util.getProperty($propertyKey); + if (it.compositeRule) { + if (it.opts.strictDefaults) { + var $defaultMsg = 'default is ignored for: ' + $passData; + if (it.opts.strictDefaults === 'log') it.logger.warn($defaultMsg); + else throw new Error($defaultMsg); + } + } else { + out += ' if (' + ($passData) + ' === undefined '; + if (it.opts.useDefaults == 'empty') { + out += ' || ' + ($passData) + ' === null || ' + ($passData) + ' === \'\' '; + } + out += ' ) ' + ($passData) + ' = '; + if (it.opts.useDefaults == 'shared') { + out += ' ' + (it.useDefault($sch.default)) + ' '; + } else { + out += ' ' + (JSON.stringify($sch.default)) + ' '; + } + out += '; '; + } + } + } + } + } else if ($rulesGroup.type == 'array' && Array.isArray(it.schema.items)) { + var arr4 = it.schema.items; + if (arr4) { + var $sch, $i = -1, + l4 = arr4.length - 1; + while ($i < l4) { + $sch = arr4[$i += 1]; + if ($sch.default !== undefined) { + var $passData = $data + '[' + $i + ']'; + if (it.compositeRule) { + if (it.opts.strictDefaults) { + var $defaultMsg = 'default is ignored for: ' + $passData; + if (it.opts.strictDefaults === 'log') it.logger.warn($defaultMsg); + else throw new Error($defaultMsg); + } + } else { + out += ' if (' + ($passData) + ' === undefined '; + if (it.opts.useDefaults == 'empty') { + out += ' || ' + ($passData) + ' === null || ' + ($passData) + ' === \'\' '; + } + out += ' ) ' + ($passData) + ' = '; + if (it.opts.useDefaults == 'shared') { + out += ' ' + (it.useDefault($sch.default)) + ' '; + } else { + out += ' ' + (JSON.stringify($sch.default)) + ' '; + } + out += '; '; + } + } + } + } + } + } + var arr5 = $rulesGroup.rules; + if (arr5) { + var $rule, i5 = -1, + l5 = arr5.length - 1; + while (i5 < l5) { + $rule = arr5[i5 += 1]; + if ($shouldUseRule($rule)) { + var $code = $rule.code(it, $rule.keyword, $rulesGroup.type); + if ($code) { + out += ' ' + ($code) + ' '; + if ($breakOnError) { + $closingBraces1 += '}'; + } + } + } + } + } + if ($breakOnError) { + out += ' ' + ($closingBraces1) + ' '; + $closingBraces1 = ''; + } + if ($rulesGroup.type) { + out += ' } '; + if ($typeSchema && $typeSchema === $rulesGroup.type && !$coerceToTypes) { + out += ' else { '; + var $schemaPath = it.schemaPath + '.type', + $errSchemaPath = it.errSchemaPath + '/type'; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ($errorKeyword || 'type') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { type: \''; + if ($typeIsArray) { + out += '' + ($typeSchema.join(",")); + } else { + out += '' + ($typeSchema); + } + out += '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should be '; + if ($typeIsArray) { + out += '' + ($typeSchema.join(",")); + } else { + out += '' + ($typeSchema); + } + out += '\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' } '; + } + } + if ($breakOnError) { + out += ' if (errors === '; + if ($top) { + out += '0'; + } else { + out += 'errs_' + ($lvl); + } + out += ') { '; + $closingBraces2 += '}'; + } + } + } + } + } + if ($breakOnError) { + out += ' ' + ($closingBraces2) + ' '; + } + if ($top) { + if ($async) { + out += ' if (errors === 0) return data; '; + out += ' else throw new ValidationError(vErrors); '; + } else { + out += ' validate.errors = vErrors; '; + out += ' return errors === 0; '; + } + out += ' }; return validate;'; + } else { + out += ' var ' + ($valid) + ' = errors === errs_' + ($lvl) + ';'; + } + + function $shouldUseGroup($rulesGroup) { + var rules = $rulesGroup.rules; + for (var i = 0; i < rules.length; i++) + if ($shouldUseRule(rules[i])) return true; + } + + function $shouldUseRule($rule) { + return it.schema[$rule.keyword] !== undefined || ($rule.implements && $ruleImplementsSomeKeyword($rule)); + } + + function $ruleImplementsSomeKeyword($rule) { + var impl = $rule.implements; + for (var i = 0; i < impl.length; i++) + if (it.schema[impl[i]] !== undefined) return true; + } + return out; +} + +},{}],39:[function(require,module,exports){ +'use strict'; + +var IDENTIFIER = /^[a-z_$][a-z0-9_$-]*$/i; +var customRuleCode = require('./dotjs/custom'); +var definitionSchema = require('./definition_schema'); + +module.exports = { + add: addKeyword, + get: getKeyword, + remove: removeKeyword, + validate: validateKeyword +}; + + +/** + * Define custom keyword + * @this Ajv + * @param {String} keyword custom keyword, should be unique (including different from all standard, custom and macro keywords). + * @param {Object} definition keyword definition object with properties `type` (type(s) which the keyword applies to), `validate` or `compile`. + * @return {Ajv} this for method chaining + */ +function addKeyword(keyword, definition) { + /* jshint validthis: true */ + /* eslint no-shadow: 0 */ + var RULES = this.RULES; + if (RULES.keywords[keyword]) + throw new Error('Keyword ' + keyword + ' is already defined'); + + if (!IDENTIFIER.test(keyword)) + throw new Error('Keyword ' + keyword + ' is not a valid identifier'); + + if (definition) { + this.validateKeyword(definition, true); + + var dataType = definition.type; + if (Array.isArray(dataType)) { + for (var i=0; i 1) { + sets[0] = sets[0].slice(0, -1); + var xl = sets.length - 1; + for (var x = 1; x < xl; ++x) { + sets[x] = sets[x].slice(1, -1); + } + sets[xl] = sets[xl].slice(1); + return sets.join(''); + } else { + return sets[0]; + } +} +function subexp(str) { + return "(?:" + str + ")"; +} +function typeOf(o) { + return o === undefined ? "undefined" : o === null ? "null" : Object.prototype.toString.call(o).split(" ").pop().split("]").shift().toLowerCase(); +} +function toUpperCase(str) { + return str.toUpperCase(); +} +function toArray(obj) { + return obj !== undefined && obj !== null ? obj instanceof Array ? obj : typeof obj.length !== "number" || obj.split || obj.setInterval || obj.call ? [obj] : Array.prototype.slice.call(obj) : []; +} +function assign(target, source) { + var obj = target; + if (source) { + for (var key in source) { + obj[key] = source[key]; + } + } + return obj; +} + +function buildExps(isIRI) { + var ALPHA$$ = "[A-Za-z]", + CR$ = "[\\x0D]", + DIGIT$$ = "[0-9]", + DQUOTE$$ = "[\\x22]", + HEXDIG$$ = merge(DIGIT$$, "[A-Fa-f]"), + //case-insensitive + LF$$ = "[\\x0A]", + SP$$ = "[\\x20]", + PCT_ENCODED$ = subexp(subexp("%[EFef]" + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$) + "|" + subexp("%[89A-Fa-f]" + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$) + "|" + subexp("%" + HEXDIG$$ + HEXDIG$$)), + //expanded + GEN_DELIMS$$ = "[\\:\\/\\?\\#\\[\\]\\@]", + SUB_DELIMS$$ = "[\\!\\$\\&\\'\\(\\)\\*\\+\\,\\;\\=]", + RESERVED$$ = merge(GEN_DELIMS$$, SUB_DELIMS$$), + UCSCHAR$$ = isIRI ? "[\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]" : "[]", + //subset, excludes bidi control characters + IPRIVATE$$ = isIRI ? "[\\uE000-\\uF8FF]" : "[]", + //subset + UNRESERVED$$ = merge(ALPHA$$, DIGIT$$, "[\\-\\.\\_\\~]", UCSCHAR$$), + SCHEME$ = subexp(ALPHA$$ + merge(ALPHA$$, DIGIT$$, "[\\+\\-\\.]") + "*"), + USERINFO$ = subexp(subexp(PCT_ENCODED$ + "|" + merge(UNRESERVED$$, SUB_DELIMS$$, "[\\:]")) + "*"), + DEC_OCTET$ = subexp(subexp("25[0-5]") + "|" + subexp("2[0-4]" + DIGIT$$) + "|" + subexp("1" + DIGIT$$ + DIGIT$$) + "|" + subexp("[1-9]" + DIGIT$$) + "|" + DIGIT$$), + DEC_OCTET_RELAXED$ = subexp(subexp("25[0-5]") + "|" + subexp("2[0-4]" + DIGIT$$) + "|" + subexp("1" + DIGIT$$ + DIGIT$$) + "|" + subexp("0?[1-9]" + DIGIT$$) + "|0?0?" + DIGIT$$), + //relaxed parsing rules + IPV4ADDRESS$ = subexp(DEC_OCTET_RELAXED$ + "\\." + DEC_OCTET_RELAXED$ + "\\." + DEC_OCTET_RELAXED$ + "\\." + DEC_OCTET_RELAXED$), + H16$ = subexp(HEXDIG$$ + "{1,4}"), + LS32$ = subexp(subexp(H16$ + "\\:" + H16$) + "|" + IPV4ADDRESS$), + IPV6ADDRESS1$ = subexp(subexp(H16$ + "\\:") + "{6}" + LS32$), + // 6( h16 ":" ) ls32 + IPV6ADDRESS2$ = subexp("\\:\\:" + subexp(H16$ + "\\:") + "{5}" + LS32$), + // "::" 5( h16 ":" ) ls32 + IPV6ADDRESS3$ = subexp(subexp(H16$) + "?\\:\\:" + subexp(H16$ + "\\:") + "{4}" + LS32$), + //[ h16 ] "::" 4( h16 ":" ) ls32 + IPV6ADDRESS4$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,1}" + H16$) + "?\\:\\:" + subexp(H16$ + "\\:") + "{3}" + LS32$), + //[ *1( h16 ":" ) h16 ] "::" 3( h16 ":" ) ls32 + IPV6ADDRESS5$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,2}" + H16$) + "?\\:\\:" + subexp(H16$ + "\\:") + "{2}" + LS32$), + //[ *2( h16 ":" ) h16 ] "::" 2( h16 ":" ) ls32 + IPV6ADDRESS6$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,3}" + H16$) + "?\\:\\:" + H16$ + "\\:" + LS32$), + //[ *3( h16 ":" ) h16 ] "::" h16 ":" ls32 + IPV6ADDRESS7$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,4}" + H16$) + "?\\:\\:" + LS32$), + //[ *4( h16 ":" ) h16 ] "::" ls32 + IPV6ADDRESS8$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,5}" + H16$) + "?\\:\\:" + H16$), + //[ *5( h16 ":" ) h16 ] "::" h16 + IPV6ADDRESS9$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,6}" + H16$) + "?\\:\\:"), + //[ *6( h16 ":" ) h16 ] "::" + IPV6ADDRESS$ = subexp([IPV6ADDRESS1$, IPV6ADDRESS2$, IPV6ADDRESS3$, IPV6ADDRESS4$, IPV6ADDRESS5$, IPV6ADDRESS6$, IPV6ADDRESS7$, IPV6ADDRESS8$, IPV6ADDRESS9$].join("|")), + ZONEID$ = subexp(subexp(UNRESERVED$$ + "|" + PCT_ENCODED$) + "+"), + //RFC 6874 + IPV6ADDRZ$ = subexp(IPV6ADDRESS$ + "\\%25" + ZONEID$), + //RFC 6874 + IPV6ADDRZ_RELAXED$ = subexp(IPV6ADDRESS$ + subexp("\\%25|\\%(?!" + HEXDIG$$ + "{2})") + ZONEID$), + //RFC 6874, with relaxed parsing rules + IPVFUTURE$ = subexp("[vV]" + HEXDIG$$ + "+\\." + merge(UNRESERVED$$, SUB_DELIMS$$, "[\\:]") + "+"), + IP_LITERAL$ = subexp("\\[" + subexp(IPV6ADDRZ_RELAXED$ + "|" + IPV6ADDRESS$ + "|" + IPVFUTURE$) + "\\]"), + //RFC 6874 + REG_NAME$ = subexp(subexp(PCT_ENCODED$ + "|" + merge(UNRESERVED$$, SUB_DELIMS$$)) + "*"), + HOST$ = subexp(IP_LITERAL$ + "|" + IPV4ADDRESS$ + "(?!" + REG_NAME$ + ")" + "|" + REG_NAME$), + PORT$ = subexp(DIGIT$$ + "*"), + AUTHORITY$ = subexp(subexp(USERINFO$ + "@") + "?" + HOST$ + subexp("\\:" + PORT$) + "?"), + PCHAR$ = subexp(PCT_ENCODED$ + "|" + merge(UNRESERVED$$, SUB_DELIMS$$, "[\\:\\@]")), + SEGMENT$ = subexp(PCHAR$ + "*"), + SEGMENT_NZ$ = subexp(PCHAR$ + "+"), + SEGMENT_NZ_NC$ = subexp(subexp(PCT_ENCODED$ + "|" + merge(UNRESERVED$$, SUB_DELIMS$$, "[\\@]")) + "+"), + PATH_ABEMPTY$ = subexp(subexp("\\/" + SEGMENT$) + "*"), + PATH_ABSOLUTE$ = subexp("\\/" + subexp(SEGMENT_NZ$ + PATH_ABEMPTY$) + "?"), + //simplified + PATH_NOSCHEME$ = subexp(SEGMENT_NZ_NC$ + PATH_ABEMPTY$), + //simplified + PATH_ROOTLESS$ = subexp(SEGMENT_NZ$ + PATH_ABEMPTY$), + //simplified + PATH_EMPTY$ = "(?!" + PCHAR$ + ")", + PATH$ = subexp(PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_NOSCHEME$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$), + QUERY$ = subexp(subexp(PCHAR$ + "|" + merge("[\\/\\?]", IPRIVATE$$)) + "*"), + FRAGMENT$ = subexp(subexp(PCHAR$ + "|[\\/\\?]") + "*"), + HIER_PART$ = subexp(subexp("\\/\\/" + AUTHORITY$ + PATH_ABEMPTY$) + "|" + PATH_ABSOLUTE$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$), + URI$ = subexp(SCHEME$ + "\\:" + HIER_PART$ + subexp("\\?" + QUERY$) + "?" + subexp("\\#" + FRAGMENT$) + "?"), + RELATIVE_PART$ = subexp(subexp("\\/\\/" + AUTHORITY$ + PATH_ABEMPTY$) + "|" + PATH_ABSOLUTE$ + "|" + PATH_NOSCHEME$ + "|" + PATH_EMPTY$), + RELATIVE$ = subexp(RELATIVE_PART$ + subexp("\\?" + QUERY$) + "?" + subexp("\\#" + FRAGMENT$) + "?"), + URI_REFERENCE$ = subexp(URI$ + "|" + RELATIVE$), + ABSOLUTE_URI$ = subexp(SCHEME$ + "\\:" + HIER_PART$ + subexp("\\?" + QUERY$) + "?"), + GENERIC_REF$ = "^(" + SCHEME$ + ")\\:" + subexp(subexp("\\/\\/(" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?)") + "?(" + PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$ + ")") + subexp("\\?(" + QUERY$ + ")") + "?" + subexp("\\#(" + FRAGMENT$ + ")") + "?$", + RELATIVE_REF$ = "^(){0}" + subexp(subexp("\\/\\/(" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?)") + "?(" + PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_NOSCHEME$ + "|" + PATH_EMPTY$ + ")") + subexp("\\?(" + QUERY$ + ")") + "?" + subexp("\\#(" + FRAGMENT$ + ")") + "?$", + ABSOLUTE_REF$ = "^(" + SCHEME$ + ")\\:" + subexp(subexp("\\/\\/(" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?)") + "?(" + PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$ + ")") + subexp("\\?(" + QUERY$ + ")") + "?$", + SAMEDOC_REF$ = "^" + subexp("\\#(" + FRAGMENT$ + ")") + "?$", + AUTHORITY_REF$ = "^" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?$"; + return { + NOT_SCHEME: new RegExp(merge("[^]", ALPHA$$, DIGIT$$, "[\\+\\-\\.]"), "g"), + NOT_USERINFO: new RegExp(merge("[^\\%\\:]", UNRESERVED$$, SUB_DELIMS$$), "g"), + NOT_HOST: new RegExp(merge("[^\\%\\[\\]\\:]", UNRESERVED$$, SUB_DELIMS$$), "g"), + NOT_PATH: new RegExp(merge("[^\\%\\/\\:\\@]", UNRESERVED$$, SUB_DELIMS$$), "g"), + NOT_PATH_NOSCHEME: new RegExp(merge("[^\\%\\/\\@]", UNRESERVED$$, SUB_DELIMS$$), "g"), + NOT_QUERY: new RegExp(merge("[^\\%]", UNRESERVED$$, SUB_DELIMS$$, "[\\:\\@\\/\\?]", IPRIVATE$$), "g"), + NOT_FRAGMENT: new RegExp(merge("[^\\%]", UNRESERVED$$, SUB_DELIMS$$, "[\\:\\@\\/\\?]"), "g"), + ESCAPE: new RegExp(merge("[^]", UNRESERVED$$, SUB_DELIMS$$), "g"), + UNRESERVED: new RegExp(UNRESERVED$$, "g"), + OTHER_CHARS: new RegExp(merge("[^\\%]", UNRESERVED$$, RESERVED$$), "g"), + PCT_ENCODED: new RegExp(PCT_ENCODED$, "g"), + IPV4ADDRESS: new RegExp("^(" + IPV4ADDRESS$ + ")$"), + IPV6ADDRESS: new RegExp("^\\[?(" + IPV6ADDRESS$ + ")" + subexp(subexp("\\%25|\\%(?!" + HEXDIG$$ + "{2})") + "(" + ZONEID$ + ")") + "?\\]?$") //RFC 6874, with relaxed parsing rules + }; +} +var URI_PROTOCOL = buildExps(false); + +var IRI_PROTOCOL = buildExps(true); + +var slicedToArray = function () { + function sliceIterator(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"]) _i["return"](); + } finally { + if (_d) throw _e; + } + } + + return _arr; + } + + return function (arr, i) { + if (Array.isArray(arr)) { + return arr; + } else if (Symbol.iterator in Object(arr)) { + return sliceIterator(arr, i); + } else { + throw new TypeError("Invalid attempt to destructure non-iterable instance"); + } + }; +}(); + + + + + + + + + + + + + +var toConsumableArray = function (arr) { + if (Array.isArray(arr)) { + for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i]; + + return arr2; + } else { + return Array.from(arr); + } +}; + +/** Highest positive signed 32-bit float value */ + +var maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1 + +/** Bootstring parameters */ +var base = 36; +var tMin = 1; +var tMax = 26; +var skew = 38; +var damp = 700; +var initialBias = 72; +var initialN = 128; // 0x80 +var delimiter = '-'; // '\x2D' + +/** Regular expressions */ +var regexPunycode = /^xn--/; +var regexNonASCII = /[^\0-\x7E]/; // non-ASCII chars +var regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g; // RFC 3490 separators + +/** Error messages */ +var errors = { + 'overflow': 'Overflow: input needs wider integers to process', + 'not-basic': 'Illegal input >= 0x80 (not a basic code point)', + 'invalid-input': 'Invalid input' +}; + +/** Convenience shortcuts */ +var baseMinusTMin = base - tMin; +var floor = Math.floor; +var stringFromCharCode = String.fromCharCode; + +/*--------------------------------------------------------------------------*/ + +/** + * A generic error utility function. + * @private + * @param {String} type The error type. + * @returns {Error} Throws a `RangeError` with the applicable error message. + */ +function error$1(type) { + throw new RangeError(errors[type]); +} + +/** + * A generic `Array#map` utility function. + * @private + * @param {Array} array The array to iterate over. + * @param {Function} callback The function that gets called for every array + * item. + * @returns {Array} A new array of values returned by the callback function. + */ +function map(array, fn) { + var result = []; + var length = array.length; + while (length--) { + result[length] = fn(array[length]); + } + return result; +} + +/** + * A simple `Array#map`-like wrapper to work with domain name strings or email + * addresses. + * @private + * @param {String} domain The domain name or email address. + * @param {Function} callback The function that gets called for every + * character. + * @returns {Array} A new string of characters returned by the callback + * function. + */ +function mapDomain(string, fn) { + var parts = string.split('@'); + var result = ''; + if (parts.length > 1) { + // In email addresses, only the domain name should be punycoded. Leave + // the local part (i.e. everything up to `@`) intact. + result = parts[0] + '@'; + string = parts[1]; + } + // Avoid `split(regex)` for IE8 compatibility. See #17. + string = string.replace(regexSeparators, '\x2E'); + var labels = string.split('.'); + var encoded = map(labels, fn).join('.'); + return result + encoded; +} + +/** + * Creates an array containing the numeric code points of each Unicode + * character in the string. While JavaScript uses UCS-2 internally, + * this function will convert a pair of surrogate halves (each of which + * UCS-2 exposes as separate characters) into a single code point, + * matching UTF-16. + * @see `punycode.ucs2.encode` + * @see + * @memberOf punycode.ucs2 + * @name decode + * @param {String} string The Unicode input string (UCS-2). + * @returns {Array} The new array of code points. + */ +function ucs2decode(string) { + var output = []; + var counter = 0; + var length = string.length; + while (counter < length) { + var value = string.charCodeAt(counter++); + if (value >= 0xD800 && value <= 0xDBFF && counter < length) { + // It's a high surrogate, and there is a next character. + var extra = string.charCodeAt(counter++); + if ((extra & 0xFC00) == 0xDC00) { + // Low surrogate. + output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000); + } else { + // It's an unmatched surrogate; only append this code unit, in case the + // next code unit is the high surrogate of a surrogate pair. + output.push(value); + counter--; + } + } else { + output.push(value); + } + } + return output; +} + +/** + * Creates a string based on an array of numeric code points. + * @see `punycode.ucs2.decode` + * @memberOf punycode.ucs2 + * @name encode + * @param {Array} codePoints The array of numeric code points. + * @returns {String} The new Unicode string (UCS-2). + */ +var ucs2encode = function ucs2encode(array) { + return String.fromCodePoint.apply(String, toConsumableArray(array)); +}; + +/** + * Converts a basic code point into a digit/integer. + * @see `digitToBasic()` + * @private + * @param {Number} codePoint The basic numeric code point value. + * @returns {Number} The numeric value of a basic code point (for use in + * representing integers) in the range `0` to `base - 1`, or `base` if + * the code point does not represent a value. + */ +var basicToDigit = function basicToDigit(codePoint) { + if (codePoint - 0x30 < 0x0A) { + return codePoint - 0x16; + } + if (codePoint - 0x41 < 0x1A) { + return codePoint - 0x41; + } + if (codePoint - 0x61 < 0x1A) { + return codePoint - 0x61; + } + return base; +}; + +/** + * Converts a digit/integer into a basic code point. + * @see `basicToDigit()` + * @private + * @param {Number} digit The numeric value of a basic code point. + * @returns {Number} The basic code point whose value (when used for + * representing integers) is `digit`, which needs to be in the range + * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is + * used; else, the lowercase form is used. The behavior is undefined + * if `flag` is non-zero and `digit` has no uppercase form. + */ +var digitToBasic = function digitToBasic(digit, flag) { + // 0..25 map to ASCII a..z or A..Z + // 26..35 map to ASCII 0..9 + return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5); +}; + +/** + * Bias adaptation function as per section 3.4 of RFC 3492. + * https://tools.ietf.org/html/rfc3492#section-3.4 + * @private + */ +var adapt = function adapt(delta, numPoints, firstTime) { + var k = 0; + delta = firstTime ? floor(delta / damp) : delta >> 1; + delta += floor(delta / numPoints); + for (; /* no initialization */delta > baseMinusTMin * tMax >> 1; k += base) { + delta = floor(delta / baseMinusTMin); + } + return floor(k + (baseMinusTMin + 1) * delta / (delta + skew)); +}; + +/** + * Converts a Punycode string of ASCII-only symbols to a string of Unicode + * symbols. + * @memberOf punycode + * @param {String} input The Punycode string of ASCII-only symbols. + * @returns {String} The resulting string of Unicode symbols. + */ +var decode = function decode(input) { + // Don't use UCS-2. + var output = []; + var inputLength = input.length; + var i = 0; + var n = initialN; + var bias = initialBias; + + // Handle the basic code points: let `basic` be the number of input code + // points before the last delimiter, or `0` if there is none, then copy + // the first basic code points to the output. + + var basic = input.lastIndexOf(delimiter); + if (basic < 0) { + basic = 0; + } + + for (var j = 0; j < basic; ++j) { + // if it's not a basic code point + if (input.charCodeAt(j) >= 0x80) { + error$1('not-basic'); + } + output.push(input.charCodeAt(j)); + } + + // Main decoding loop: start just after the last delimiter if any basic code + // points were copied; start at the beginning otherwise. + + for (var index = basic > 0 ? basic + 1 : 0; index < inputLength;) /* no final expression */{ + + // `index` is the index of the next character to be consumed. + // Decode a generalized variable-length integer into `delta`, + // which gets added to `i`. The overflow checking is easier + // if we increase `i` as we go, then subtract off its starting + // value at the end to obtain `delta`. + var oldi = i; + for (var w = 1, k = base;; /* no condition */k += base) { + + if (index >= inputLength) { + error$1('invalid-input'); + } + + var digit = basicToDigit(input.charCodeAt(index++)); + + if (digit >= base || digit > floor((maxInt - i) / w)) { + error$1('overflow'); + } + + i += digit * w; + var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias; + + if (digit < t) { + break; + } + + var baseMinusT = base - t; + if (w > floor(maxInt / baseMinusT)) { + error$1('overflow'); + } + + w *= baseMinusT; + } + + var out = output.length + 1; + bias = adapt(i - oldi, out, oldi == 0); + + // `i` was supposed to wrap around from `out` to `0`, + // incrementing `n` each time, so we'll fix that now: + if (floor(i / out) > maxInt - n) { + error$1('overflow'); + } + + n += floor(i / out); + i %= out; + + // Insert `n` at position `i` of the output. + output.splice(i++, 0, n); + } + + return String.fromCodePoint.apply(String, output); +}; + +/** + * Converts a string of Unicode symbols (e.g. a domain name label) to a + * Punycode string of ASCII-only symbols. + * @memberOf punycode + * @param {String} input The string of Unicode symbols. + * @returns {String} The resulting Punycode string of ASCII-only symbols. + */ +var encode = function encode(input) { + var output = []; + + // Convert the input in UCS-2 to an array of Unicode code points. + input = ucs2decode(input); + + // Cache the length. + var inputLength = input.length; + + // Initialize the state. + var n = initialN; + var delta = 0; + var bias = initialBias; + + // Handle the basic code points. + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = input[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var _currentValue2 = _step.value; + + if (_currentValue2 < 0x80) { + output.push(stringFromCharCode(_currentValue2)); + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + var basicLength = output.length; + var handledCPCount = basicLength; + + // `handledCPCount` is the number of code points that have been handled; + // `basicLength` is the number of basic code points. + + // Finish the basic string with a delimiter unless it's empty. + if (basicLength) { + output.push(delimiter); + } + + // Main encoding loop: + while (handledCPCount < inputLength) { + + // All non-basic code points < n have been handled already. Find the next + // larger one: + var m = maxInt; + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; + + try { + for (var _iterator2 = input[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var currentValue = _step2.value; + + if (currentValue >= n && currentValue < m) { + m = currentValue; + } + } + + // Increase `delta` enough to advance the decoder's state to , + // but guard against overflow. + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } + } + } + + var handledCPCountPlusOne = handledCPCount + 1; + if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) { + error$1('overflow'); + } + + delta += (m - n) * handledCPCountPlusOne; + n = m; + + var _iteratorNormalCompletion3 = true; + var _didIteratorError3 = false; + var _iteratorError3 = undefined; + + try { + for (var _iterator3 = input[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { + var _currentValue = _step3.value; + + if (_currentValue < n && ++delta > maxInt) { + error$1('overflow'); + } + if (_currentValue == n) { + // Represent delta as a generalized variable-length integer. + var q = delta; + for (var k = base;; /* no condition */k += base) { + var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias; + if (q < t) { + break; + } + var qMinusT = q - t; + var baseMinusT = base - t; + output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))); + q = floor(qMinusT / baseMinusT); + } + + output.push(stringFromCharCode(digitToBasic(q, 0))); + bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength); + delta = 0; + ++handledCPCount; + } + } + } catch (err) { + _didIteratorError3 = true; + _iteratorError3 = err; + } finally { + try { + if (!_iteratorNormalCompletion3 && _iterator3.return) { + _iterator3.return(); + } + } finally { + if (_didIteratorError3) { + throw _iteratorError3; + } + } + } + + ++delta; + ++n; + } + return output.join(''); +}; + +/** + * Converts a Punycode string representing a domain name or an email address + * to Unicode. Only the Punycoded parts of the input will be converted, i.e. + * it doesn't matter if you call it on a string that has already been + * converted to Unicode. + * @memberOf punycode + * @param {String} input The Punycoded domain name or email address to + * convert to Unicode. + * @returns {String} The Unicode representation of the given Punycode + * string. + */ +var toUnicode = function toUnicode(input) { + return mapDomain(input, function (string) { + return regexPunycode.test(string) ? decode(string.slice(4).toLowerCase()) : string; + }); +}; + +/** + * Converts a Unicode string representing a domain name or an email address to + * Punycode. Only the non-ASCII parts of the domain name will be converted, + * i.e. it doesn't matter if you call it with a domain that's already in + * ASCII. + * @memberOf punycode + * @param {String} input The domain name or email address to convert, as a + * Unicode string. + * @returns {String} The Punycode representation of the given domain name or + * email address. + */ +var toASCII = function toASCII(input) { + return mapDomain(input, function (string) { + return regexNonASCII.test(string) ? 'xn--' + encode(string) : string; + }); +}; + +/*--------------------------------------------------------------------------*/ + +/** Define the public API */ +var punycode = { + /** + * A string representing the current Punycode.js version number. + * @memberOf punycode + * @type String + */ + 'version': '2.1.0', + /** + * An object of methods to convert from JavaScript's internal character + * representation (UCS-2) to Unicode code points, and back. + * @see + * @memberOf punycode + * @type Object + */ + 'ucs2': { + 'decode': ucs2decode, + 'encode': ucs2encode + }, + 'decode': decode, + 'encode': encode, + 'toASCII': toASCII, + 'toUnicode': toUnicode +}; + +/** + * URI.js + * + * @fileoverview An RFC 3986 compliant, scheme extendable URI parsing/validating/resolving library for JavaScript. + * @author Gary Court + * @see http://github.com/garycourt/uri-js + */ +/** + * Copyright 2011 Gary Court. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY GARY COURT ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GARY COURT OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of Gary Court. + */ +var SCHEMES = {}; +function pctEncChar(chr) { + var c = chr.charCodeAt(0); + var e = void 0; + if (c < 16) e = "%0" + c.toString(16).toUpperCase();else if (c < 128) e = "%" + c.toString(16).toUpperCase();else if (c < 2048) e = "%" + (c >> 6 | 192).toString(16).toUpperCase() + "%" + (c & 63 | 128).toString(16).toUpperCase();else e = "%" + (c >> 12 | 224).toString(16).toUpperCase() + "%" + (c >> 6 & 63 | 128).toString(16).toUpperCase() + "%" + (c & 63 | 128).toString(16).toUpperCase(); + return e; +} +function pctDecChars(str) { + var newStr = ""; + var i = 0; + var il = str.length; + while (i < il) { + var c = parseInt(str.substr(i + 1, 2), 16); + if (c < 128) { + newStr += String.fromCharCode(c); + i += 3; + } else if (c >= 194 && c < 224) { + if (il - i >= 6) { + var c2 = parseInt(str.substr(i + 4, 2), 16); + newStr += String.fromCharCode((c & 31) << 6 | c2 & 63); + } else { + newStr += str.substr(i, 6); + } + i += 6; + } else if (c >= 224) { + if (il - i >= 9) { + var _c = parseInt(str.substr(i + 4, 2), 16); + var c3 = parseInt(str.substr(i + 7, 2), 16); + newStr += String.fromCharCode((c & 15) << 12 | (_c & 63) << 6 | c3 & 63); + } else { + newStr += str.substr(i, 9); + } + i += 9; + } else { + newStr += str.substr(i, 3); + i += 3; + } + } + return newStr; +} +function _normalizeComponentEncoding(components, protocol) { + function decodeUnreserved(str) { + var decStr = pctDecChars(str); + return !decStr.match(protocol.UNRESERVED) ? str : decStr; + } + if (components.scheme) components.scheme = String(components.scheme).replace(protocol.PCT_ENCODED, decodeUnreserved).toLowerCase().replace(protocol.NOT_SCHEME, ""); + if (components.userinfo !== undefined) components.userinfo = String(components.userinfo).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_USERINFO, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); + if (components.host !== undefined) components.host = String(components.host).replace(protocol.PCT_ENCODED, decodeUnreserved).toLowerCase().replace(protocol.NOT_HOST, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); + if (components.path !== undefined) components.path = String(components.path).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(components.scheme ? protocol.NOT_PATH : protocol.NOT_PATH_NOSCHEME, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); + if (components.query !== undefined) components.query = String(components.query).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_QUERY, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); + if (components.fragment !== undefined) components.fragment = String(components.fragment).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_FRAGMENT, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); + return components; +} + +function _stripLeadingZeros(str) { + return str.replace(/^0*(.*)/, "$1") || "0"; +} +function _normalizeIPv4(host, protocol) { + var matches = host.match(protocol.IPV4ADDRESS) || []; + + var _matches = slicedToArray(matches, 2), + address = _matches[1]; + + if (address) { + return address.split(".").map(_stripLeadingZeros).join("."); + } else { + return host; + } +} +function _normalizeIPv6(host, protocol) { + var matches = host.match(protocol.IPV6ADDRESS) || []; + + var _matches2 = slicedToArray(matches, 3), + address = _matches2[1], + zone = _matches2[2]; + + if (address) { + var _address$toLowerCase$ = address.toLowerCase().split('::').reverse(), + _address$toLowerCase$2 = slicedToArray(_address$toLowerCase$, 2), + last = _address$toLowerCase$2[0], + first = _address$toLowerCase$2[1]; + + var firstFields = first ? first.split(":").map(_stripLeadingZeros) : []; + var lastFields = last.split(":").map(_stripLeadingZeros); + var isLastFieldIPv4Address = protocol.IPV4ADDRESS.test(lastFields[lastFields.length - 1]); + var fieldCount = isLastFieldIPv4Address ? 7 : 8; + var lastFieldsStart = lastFields.length - fieldCount; + var fields = Array(fieldCount); + for (var x = 0; x < fieldCount; ++x) { + fields[x] = firstFields[x] || lastFields[lastFieldsStart + x] || ''; + } + if (isLastFieldIPv4Address) { + fields[fieldCount - 1] = _normalizeIPv4(fields[fieldCount - 1], protocol); + } + var allZeroFields = fields.reduce(function (acc, field, index) { + if (!field || field === "0") { + var lastLongest = acc[acc.length - 1]; + if (lastLongest && lastLongest.index + lastLongest.length === index) { + lastLongest.length++; + } else { + acc.push({ index: index, length: 1 }); + } + } + return acc; + }, []); + var longestZeroFields = allZeroFields.sort(function (a, b) { + return b.length - a.length; + })[0]; + var newHost = void 0; + if (longestZeroFields && longestZeroFields.length > 1) { + var newFirst = fields.slice(0, longestZeroFields.index); + var newLast = fields.slice(longestZeroFields.index + longestZeroFields.length); + newHost = newFirst.join(":") + "::" + newLast.join(":"); + } else { + newHost = fields.join(":"); + } + if (zone) { + newHost += "%" + zone; + } + return newHost; + } else { + return host; + } +} +var URI_PARSE = /^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i; +var NO_MATCH_IS_UNDEFINED = "".match(/(){0}/)[1] === undefined; +function parse(uriString) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + var components = {}; + var protocol = options.iri !== false ? IRI_PROTOCOL : URI_PROTOCOL; + if (options.reference === "suffix") uriString = (options.scheme ? options.scheme + ":" : "") + "//" + uriString; + var matches = uriString.match(URI_PARSE); + if (matches) { + if (NO_MATCH_IS_UNDEFINED) { + //store each component + components.scheme = matches[1]; + components.userinfo = matches[3]; + components.host = matches[4]; + components.port = parseInt(matches[5], 10); + components.path = matches[6] || ""; + components.query = matches[7]; + components.fragment = matches[8]; + //fix port number + if (isNaN(components.port)) { + components.port = matches[5]; + } + } else { + //IE FIX for improper RegExp matching + //store each component + components.scheme = matches[1] || undefined; + components.userinfo = uriString.indexOf("@") !== -1 ? matches[3] : undefined; + components.host = uriString.indexOf("//") !== -1 ? matches[4] : undefined; + components.port = parseInt(matches[5], 10); + components.path = matches[6] || ""; + components.query = uriString.indexOf("?") !== -1 ? matches[7] : undefined; + components.fragment = uriString.indexOf("#") !== -1 ? matches[8] : undefined; + //fix port number + if (isNaN(components.port)) { + components.port = uriString.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/) ? matches[4] : undefined; + } + } + if (components.host) { + //normalize IP hosts + components.host = _normalizeIPv6(_normalizeIPv4(components.host, protocol), protocol); + } + //determine reference type + if (components.scheme === undefined && components.userinfo === undefined && components.host === undefined && components.port === undefined && !components.path && components.query === undefined) { + components.reference = "same-document"; + } else if (components.scheme === undefined) { + components.reference = "relative"; + } else if (components.fragment === undefined) { + components.reference = "absolute"; + } else { + components.reference = "uri"; + } + //check for reference errors + if (options.reference && options.reference !== "suffix" && options.reference !== components.reference) { + components.error = components.error || "URI is not a " + options.reference + " reference."; + } + //find scheme handler + var schemeHandler = SCHEMES[(options.scheme || components.scheme || "").toLowerCase()]; + //check if scheme can't handle IRIs + if (!options.unicodeSupport && (!schemeHandler || !schemeHandler.unicodeSupport)) { + //if host component is a domain name + if (components.host && (options.domainHost || schemeHandler && schemeHandler.domainHost)) { + //convert Unicode IDN -> ASCII IDN + try { + components.host = punycode.toASCII(components.host.replace(protocol.PCT_ENCODED, pctDecChars).toLowerCase()); + } catch (e) { + components.error = components.error || "Host's domain name can not be converted to ASCII via punycode: " + e; + } + } + //convert IRI -> URI + _normalizeComponentEncoding(components, URI_PROTOCOL); + } else { + //normalize encodings + _normalizeComponentEncoding(components, protocol); + } + //perform scheme specific parsing + if (schemeHandler && schemeHandler.parse) { + schemeHandler.parse(components, options); + } + } else { + components.error = components.error || "URI can not be parsed."; + } + return components; +} + +function _recomposeAuthority(components, options) { + var protocol = options.iri !== false ? IRI_PROTOCOL : URI_PROTOCOL; + var uriTokens = []; + if (components.userinfo !== undefined) { + uriTokens.push(components.userinfo); + uriTokens.push("@"); + } + if (components.host !== undefined) { + //normalize IP hosts, add brackets and escape zone separator for IPv6 + uriTokens.push(_normalizeIPv6(_normalizeIPv4(String(components.host), protocol), protocol).replace(protocol.IPV6ADDRESS, function (_, $1, $2) { + return "[" + $1 + ($2 ? "%25" + $2 : "") + "]"; + })); + } + if (typeof components.port === "number" || typeof components.port === "string") { + uriTokens.push(":"); + uriTokens.push(String(components.port)); + } + return uriTokens.length ? uriTokens.join("") : undefined; +} + +var RDS1 = /^\.\.?\//; +var RDS2 = /^\/\.(\/|$)/; +var RDS3 = /^\/\.\.(\/|$)/; +var RDS5 = /^\/?(?:.|\n)*?(?=\/|$)/; +function removeDotSegments(input) { + var output = []; + while (input.length) { + if (input.match(RDS1)) { + input = input.replace(RDS1, ""); + } else if (input.match(RDS2)) { + input = input.replace(RDS2, "/"); + } else if (input.match(RDS3)) { + input = input.replace(RDS3, "/"); + output.pop(); + } else if (input === "." || input === "..") { + input = ""; + } else { + var im = input.match(RDS5); + if (im) { + var s = im[0]; + input = input.slice(s.length); + output.push(s); + } else { + throw new Error("Unexpected dot segment condition"); + } + } + } + return output.join(""); +} + +function serialize(components) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + var protocol = options.iri ? IRI_PROTOCOL : URI_PROTOCOL; + var uriTokens = []; + //find scheme handler + var schemeHandler = SCHEMES[(options.scheme || components.scheme || "").toLowerCase()]; + //perform scheme specific serialization + if (schemeHandler && schemeHandler.serialize) schemeHandler.serialize(components, options); + if (components.host) { + //if host component is an IPv6 address + if (protocol.IPV6ADDRESS.test(components.host)) {} + //TODO: normalize IPv6 address as per RFC 5952 + + //if host component is a domain name + else if (options.domainHost || schemeHandler && schemeHandler.domainHost) { + //convert IDN via punycode + try { + components.host = !options.iri ? punycode.toASCII(components.host.replace(protocol.PCT_ENCODED, pctDecChars).toLowerCase()) : punycode.toUnicode(components.host); + } catch (e) { + components.error = components.error || "Host's domain name can not be converted to " + (!options.iri ? "ASCII" : "Unicode") + " via punycode: " + e; + } + } + } + //normalize encoding + _normalizeComponentEncoding(components, protocol); + if (options.reference !== "suffix" && components.scheme) { + uriTokens.push(components.scheme); + uriTokens.push(":"); + } + var authority = _recomposeAuthority(components, options); + if (authority !== undefined) { + if (options.reference !== "suffix") { + uriTokens.push("//"); + } + uriTokens.push(authority); + if (components.path && components.path.charAt(0) !== "/") { + uriTokens.push("/"); + } + } + if (components.path !== undefined) { + var s = components.path; + if (!options.absolutePath && (!schemeHandler || !schemeHandler.absolutePath)) { + s = removeDotSegments(s); + } + if (authority === undefined) { + s = s.replace(/^\/\//, "/%2F"); //don't allow the path to start with "//" + } + uriTokens.push(s); + } + if (components.query !== undefined) { + uriTokens.push("?"); + uriTokens.push(components.query); + } + if (components.fragment !== undefined) { + uriTokens.push("#"); + uriTokens.push(components.fragment); + } + return uriTokens.join(""); //merge tokens into a string +} + +function resolveComponents(base, relative) { + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + var skipNormalization = arguments[3]; + + var target = {}; + if (!skipNormalization) { + base = parse(serialize(base, options), options); //normalize base components + relative = parse(serialize(relative, options), options); //normalize relative components + } + options = options || {}; + if (!options.tolerant && relative.scheme) { + target.scheme = relative.scheme; + //target.authority = relative.authority; + target.userinfo = relative.userinfo; + target.host = relative.host; + target.port = relative.port; + target.path = removeDotSegments(relative.path || ""); + target.query = relative.query; + } else { + if (relative.userinfo !== undefined || relative.host !== undefined || relative.port !== undefined) { + //target.authority = relative.authority; + target.userinfo = relative.userinfo; + target.host = relative.host; + target.port = relative.port; + target.path = removeDotSegments(relative.path || ""); + target.query = relative.query; + } else { + if (!relative.path) { + target.path = base.path; + if (relative.query !== undefined) { + target.query = relative.query; + } else { + target.query = base.query; + } + } else { + if (relative.path.charAt(0) === "/") { + target.path = removeDotSegments(relative.path); + } else { + if ((base.userinfo !== undefined || base.host !== undefined || base.port !== undefined) && !base.path) { + target.path = "/" + relative.path; + } else if (!base.path) { + target.path = relative.path; + } else { + target.path = base.path.slice(0, base.path.lastIndexOf("/") + 1) + relative.path; + } + target.path = removeDotSegments(target.path); + } + target.query = relative.query; + } + //target.authority = base.authority; + target.userinfo = base.userinfo; + target.host = base.host; + target.port = base.port; + } + target.scheme = base.scheme; + } + target.fragment = relative.fragment; + return target; +} + +function resolve(baseURI, relativeURI, options) { + var schemelessOptions = assign({ scheme: 'null' }, options); + return serialize(resolveComponents(parse(baseURI, schemelessOptions), parse(relativeURI, schemelessOptions), schemelessOptions, true), schemelessOptions); +} + +function normalize(uri, options) { + if (typeof uri === "string") { + uri = serialize(parse(uri, options), options); + } else if (typeOf(uri) === "object") { + uri = parse(serialize(uri, options), options); + } + return uri; +} + +function equal(uriA, uriB, options) { + if (typeof uriA === "string") { + uriA = serialize(parse(uriA, options), options); + } else if (typeOf(uriA) === "object") { + uriA = serialize(uriA, options); + } + if (typeof uriB === "string") { + uriB = serialize(parse(uriB, options), options); + } else if (typeOf(uriB) === "object") { + uriB = serialize(uriB, options); + } + return uriA === uriB; +} + +function escapeComponent(str, options) { + return str && str.toString().replace(!options || !options.iri ? URI_PROTOCOL.ESCAPE : IRI_PROTOCOL.ESCAPE, pctEncChar); +} + +function unescapeComponent(str, options) { + return str && str.toString().replace(!options || !options.iri ? URI_PROTOCOL.PCT_ENCODED : IRI_PROTOCOL.PCT_ENCODED, pctDecChars); +} + +var handler = { + scheme: "http", + domainHost: true, + parse: function parse(components, options) { + //report missing host + if (!components.host) { + components.error = components.error || "HTTP URIs must have a host."; + } + return components; + }, + serialize: function serialize(components, options) { + var secure = String(components.scheme).toLowerCase() === "https"; + //normalize the default port + if (components.port === (secure ? 443 : 80) || components.port === "") { + components.port = undefined; + } + //normalize the empty path + if (!components.path) { + components.path = "/"; + } + //NOTE: We do not parse query strings for HTTP URIs + //as WWW Form Url Encoded query strings are part of the HTML4+ spec, + //and not the HTTP spec. + return components; + } +}; + +var handler$1 = { + scheme: "https", + domainHost: handler.domainHost, + parse: handler.parse, + serialize: handler.serialize +}; + +function isSecure(wsComponents) { + return typeof wsComponents.secure === 'boolean' ? wsComponents.secure : String(wsComponents.scheme).toLowerCase() === "wss"; +} +//RFC 6455 +var handler$2 = { + scheme: "ws", + domainHost: true, + parse: function parse(components, options) { + var wsComponents = components; + //indicate if the secure flag is set + wsComponents.secure = isSecure(wsComponents); + //construct resouce name + wsComponents.resourceName = (wsComponents.path || '/') + (wsComponents.query ? '?' + wsComponents.query : ''); + wsComponents.path = undefined; + wsComponents.query = undefined; + return wsComponents; + }, + serialize: function serialize(wsComponents, options) { + //normalize the default port + if (wsComponents.port === (isSecure(wsComponents) ? 443 : 80) || wsComponents.port === "") { + wsComponents.port = undefined; + } + //ensure scheme matches secure flag + if (typeof wsComponents.secure === 'boolean') { + wsComponents.scheme = wsComponents.secure ? 'wss' : 'ws'; + wsComponents.secure = undefined; + } + //reconstruct path from resource name + if (wsComponents.resourceName) { + var _wsComponents$resourc = wsComponents.resourceName.split('?'), + _wsComponents$resourc2 = slicedToArray(_wsComponents$resourc, 2), + path = _wsComponents$resourc2[0], + query = _wsComponents$resourc2[1]; + + wsComponents.path = path && path !== '/' ? path : undefined; + wsComponents.query = query; + wsComponents.resourceName = undefined; + } + //forbid fragment component + wsComponents.fragment = undefined; + return wsComponents; + } +}; + +var handler$3 = { + scheme: "wss", + domainHost: handler$2.domainHost, + parse: handler$2.parse, + serialize: handler$2.serialize +}; + +var O = {}; +var isIRI = true; +//RFC 3986 +var UNRESERVED$$ = "[A-Za-z0-9\\-\\.\\_\\~" + (isIRI ? "\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF" : "") + "]"; +var HEXDIG$$ = "[0-9A-Fa-f]"; //case-insensitive +var PCT_ENCODED$ = subexp(subexp("%[EFef]" + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$) + "|" + subexp("%[89A-Fa-f]" + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$) + "|" + subexp("%" + HEXDIG$$ + HEXDIG$$)); //expanded +//RFC 5322, except these symbols as per RFC 6068: @ : / ? # [ ] & ; = +//const ATEXT$$ = "[A-Za-z0-9\\!\\#\\$\\%\\&\\'\\*\\+\\-\\/\\=\\?\\^\\_\\`\\{\\|\\}\\~]"; +//const WSP$$ = "[\\x20\\x09]"; +//const OBS_QTEXT$$ = "[\\x01-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7F]"; //(%d1-8 / %d11-12 / %d14-31 / %d127) +//const QTEXT$$ = merge("[\\x21\\x23-\\x5B\\x5D-\\x7E]", OBS_QTEXT$$); //%d33 / %d35-91 / %d93-126 / obs-qtext +//const VCHAR$$ = "[\\x21-\\x7E]"; +//const WSP$$ = "[\\x20\\x09]"; +//const OBS_QP$ = subexp("\\\\" + merge("[\\x00\\x0D\\x0A]", OBS_QTEXT$$)); //%d0 / CR / LF / obs-qtext +//const FWS$ = subexp(subexp(WSP$$ + "*" + "\\x0D\\x0A") + "?" + WSP$$ + "+"); +//const QUOTED_PAIR$ = subexp(subexp("\\\\" + subexp(VCHAR$$ + "|" + WSP$$)) + "|" + OBS_QP$); +//const QUOTED_STRING$ = subexp('\\"' + subexp(FWS$ + "?" + QCONTENT$) + "*" + FWS$ + "?" + '\\"'); +var ATEXT$$ = "[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]"; +var QTEXT$$ = "[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]"; +var VCHAR$$ = merge(QTEXT$$, "[\\\"\\\\]"); +var SOME_DELIMS$$ = "[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]"; +var UNRESERVED = new RegExp(UNRESERVED$$, "g"); +var PCT_ENCODED = new RegExp(PCT_ENCODED$, "g"); +var NOT_LOCAL_PART = new RegExp(merge("[^]", ATEXT$$, "[\\.]", '[\\"]', VCHAR$$), "g"); +var NOT_HFNAME = new RegExp(merge("[^]", UNRESERVED$$, SOME_DELIMS$$), "g"); +var NOT_HFVALUE = NOT_HFNAME; +function decodeUnreserved(str) { + var decStr = pctDecChars(str); + return !decStr.match(UNRESERVED) ? str : decStr; +} +var handler$4 = { + scheme: "mailto", + parse: function parse$$1(components, options) { + var mailtoComponents = components; + var to = mailtoComponents.to = mailtoComponents.path ? mailtoComponents.path.split(",") : []; + mailtoComponents.path = undefined; + if (mailtoComponents.query) { + var unknownHeaders = false; + var headers = {}; + var hfields = mailtoComponents.query.split("&"); + for (var x = 0, xl = hfields.length; x < xl; ++x) { + var hfield = hfields[x].split("="); + switch (hfield[0]) { + case "to": + var toAddrs = hfield[1].split(","); + for (var _x = 0, _xl = toAddrs.length; _x < _xl; ++_x) { + to.push(toAddrs[_x]); + } + break; + case "subject": + mailtoComponents.subject = unescapeComponent(hfield[1], options); + break; + case "body": + mailtoComponents.body = unescapeComponent(hfield[1], options); + break; + default: + unknownHeaders = true; + headers[unescapeComponent(hfield[0], options)] = unescapeComponent(hfield[1], options); + break; + } + } + if (unknownHeaders) mailtoComponents.headers = headers; + } + mailtoComponents.query = undefined; + for (var _x2 = 0, _xl2 = to.length; _x2 < _xl2; ++_x2) { + var addr = to[_x2].split("@"); + addr[0] = unescapeComponent(addr[0]); + if (!options.unicodeSupport) { + //convert Unicode IDN -> ASCII IDN + try { + addr[1] = punycode.toASCII(unescapeComponent(addr[1], options).toLowerCase()); + } catch (e) { + mailtoComponents.error = mailtoComponents.error || "Email address's domain name can not be converted to ASCII via punycode: " + e; + } + } else { + addr[1] = unescapeComponent(addr[1], options).toLowerCase(); + } + to[_x2] = addr.join("@"); + } + return mailtoComponents; + }, + serialize: function serialize$$1(mailtoComponents, options) { + var components = mailtoComponents; + var to = toArray(mailtoComponents.to); + if (to) { + for (var x = 0, xl = to.length; x < xl; ++x) { + var toAddr = String(to[x]); + var atIdx = toAddr.lastIndexOf("@"); + var localPart = toAddr.slice(0, atIdx).replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_LOCAL_PART, pctEncChar); + var domain = toAddr.slice(atIdx + 1); + //convert IDN via punycode + try { + domain = !options.iri ? punycode.toASCII(unescapeComponent(domain, options).toLowerCase()) : punycode.toUnicode(domain); + } catch (e) { + components.error = components.error || "Email address's domain name can not be converted to " + (!options.iri ? "ASCII" : "Unicode") + " via punycode: " + e; + } + to[x] = localPart + "@" + domain; + } + components.path = to.join(","); + } + var headers = mailtoComponents.headers = mailtoComponents.headers || {}; + if (mailtoComponents.subject) headers["subject"] = mailtoComponents.subject; + if (mailtoComponents.body) headers["body"] = mailtoComponents.body; + var fields = []; + for (var name in headers) { + if (headers[name] !== O[name]) { + fields.push(name.replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_HFNAME, pctEncChar) + "=" + headers[name].replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_HFVALUE, pctEncChar)); + } + } + if (fields.length) { + components.query = fields.join("&"); + } + return components; + } +}; + +var URN_PARSE = /^([^\:]+)\:(.*)/; +//RFC 2141 +var handler$5 = { + scheme: "urn", + parse: function parse$$1(components, options) { + var matches = components.path && components.path.match(URN_PARSE); + var urnComponents = components; + if (matches) { + var scheme = options.scheme || urnComponents.scheme || "urn"; + var nid = matches[1].toLowerCase(); + var nss = matches[2]; + var urnScheme = scheme + ":" + (options.nid || nid); + var schemeHandler = SCHEMES[urnScheme]; + urnComponents.nid = nid; + urnComponents.nss = nss; + urnComponents.path = undefined; + if (schemeHandler) { + urnComponents = schemeHandler.parse(urnComponents, options); + } + } else { + urnComponents.error = urnComponents.error || "URN can not be parsed."; + } + return urnComponents; + }, + serialize: function serialize$$1(urnComponents, options) { + var scheme = options.scheme || urnComponents.scheme || "urn"; + var nid = urnComponents.nid; + var urnScheme = scheme + ":" + (options.nid || nid); + var schemeHandler = SCHEMES[urnScheme]; + if (schemeHandler) { + urnComponents = schemeHandler.serialize(urnComponents, options); + } + var uriComponents = urnComponents; + var nss = urnComponents.nss; + uriComponents.path = (nid || options.nid) + ":" + nss; + return uriComponents; + } +}; + +var UUID = /^[0-9A-Fa-f]{8}(?:\-[0-9A-Fa-f]{4}){3}\-[0-9A-Fa-f]{12}$/; +//RFC 4122 +var handler$6 = { + scheme: "urn:uuid", + parse: function parse(urnComponents, options) { + var uuidComponents = urnComponents; + uuidComponents.uuid = uuidComponents.nss; + uuidComponents.nss = undefined; + if (!options.tolerant && (!uuidComponents.uuid || !uuidComponents.uuid.match(UUID))) { + uuidComponents.error = uuidComponents.error || "UUID is not valid."; + } + return uuidComponents; + }, + serialize: function serialize(uuidComponents, options) { + var urnComponents = uuidComponents; + //normalize UUID + urnComponents.nss = (uuidComponents.uuid || "").toLowerCase(); + return urnComponents; + } +}; + +SCHEMES[handler.scheme] = handler; +SCHEMES[handler$1.scheme] = handler$1; +SCHEMES[handler$2.scheme] = handler$2; +SCHEMES[handler$3.scheme] = handler$3; +SCHEMES[handler$4.scheme] = handler$4; +SCHEMES[handler$5.scheme] = handler$5; +SCHEMES[handler$6.scheme] = handler$6; + +exports.SCHEMES = SCHEMES; +exports.pctEncChar = pctEncChar; +exports.pctDecChars = pctDecChars; +exports.parse = parse; +exports.removeDotSegments = removeDotSegments; +exports.serialize = serialize; +exports.resolveComponents = resolveComponents; +exports.resolve = resolve; +exports.normalize = normalize; +exports.equal = equal; +exports.escapeComponent = escapeComponent; +exports.unescapeComponent = unescapeComponent; + +Object.defineProperty(exports, '__esModule', { value: true }); + +}))); + + +},{}],"ajv":[function(require,module,exports){ +'use strict'; + +var compileSchema = require('./compile') + , resolve = require('./compile/resolve') + , Cache = require('./cache') + , SchemaObject = require('./compile/schema_obj') + , stableStringify = require('fast-json-stable-stringify') + , formats = require('./compile/formats') + , rules = require('./compile/rules') + , $dataMetaSchema = require('./data') + , util = require('./compile/util'); + +module.exports = Ajv; + +Ajv.prototype.validate = validate; +Ajv.prototype.compile = compile; +Ajv.prototype.addSchema = addSchema; +Ajv.prototype.addMetaSchema = addMetaSchema; +Ajv.prototype.validateSchema = validateSchema; +Ajv.prototype.getSchema = getSchema; +Ajv.prototype.removeSchema = removeSchema; +Ajv.prototype.addFormat = addFormat; +Ajv.prototype.errorsText = errorsText; + +Ajv.prototype._addSchema = _addSchema; +Ajv.prototype._compile = _compile; + +Ajv.prototype.compileAsync = require('./compile/async'); +var customKeyword = require('./keyword'); +Ajv.prototype.addKeyword = customKeyword.add; +Ajv.prototype.getKeyword = customKeyword.get; +Ajv.prototype.removeKeyword = customKeyword.remove; +Ajv.prototype.validateKeyword = customKeyword.validate; + +var errorClasses = require('./compile/error_classes'); +Ajv.ValidationError = errorClasses.Validation; +Ajv.MissingRefError = errorClasses.MissingRef; +Ajv.$dataMetaSchema = $dataMetaSchema; + +var META_SCHEMA_ID = 'http://json-schema.org/draft-07/schema'; + +var META_IGNORE_OPTIONS = [ 'removeAdditional', 'useDefaults', 'coerceTypes', 'strictDefaults' ]; +var META_SUPPORT_DATA = ['/properties']; + +/** + * Creates validator instance. + * Usage: `Ajv(opts)` + * @param {Object} opts optional options + * @return {Object} ajv instance + */ +function Ajv(opts) { + if (!(this instanceof Ajv)) return new Ajv(opts); + opts = this._opts = util.copy(opts) || {}; + setLogger(this); + this._schemas = {}; + this._refs = {}; + this._fragments = {}; + this._formats = formats(opts.format); + + this._cache = opts.cache || new Cache; + this._loadingSchemas = {}; + this._compilations = []; + this.RULES = rules(); + this._getId = chooseGetId(opts); + + opts.loopRequired = opts.loopRequired || Infinity; + if (opts.errorDataPath == 'property') opts._errorDataPathProperty = true; + if (opts.serialize === undefined) opts.serialize = stableStringify; + this._metaOpts = getMetaSchemaOptions(this); + + if (opts.formats) addInitialFormats(this); + if (opts.keywords) addInitialKeywords(this); + addDefaultMetaSchema(this); + if (typeof opts.meta == 'object') this.addMetaSchema(opts.meta); + if (opts.nullable) this.addKeyword('nullable', {metaSchema: {type: 'boolean'}}); + addInitialSchemas(this); +} + + + +/** + * Validate data using schema + * Schema will be compiled and cached (using serialized JSON as key. [fast-json-stable-stringify](https://github.com/epoberezkin/fast-json-stable-stringify) is used to serialize. + * @this Ajv + * @param {String|Object} schemaKeyRef key, ref or schema object + * @param {Any} data to be validated + * @return {Boolean} validation result. Errors from the last validation will be available in `ajv.errors` (and also in compiled schema: `schema.errors`). + */ +function validate(schemaKeyRef, data) { + var v; + if (typeof schemaKeyRef == 'string') { + v = this.getSchema(schemaKeyRef); + if (!v) throw new Error('no schema with key or ref "' + schemaKeyRef + '"'); + } else { + var schemaObj = this._addSchema(schemaKeyRef); + v = schemaObj.validate || this._compile(schemaObj); + } + + var valid = v(data); + if (v.$async !== true) this.errors = v.errors; + return valid; +} + + +/** + * Create validating function for passed schema. + * @this Ajv + * @param {Object} schema schema object + * @param {Boolean} _meta true if schema is a meta-schema. Used internally to compile meta schemas of custom keywords. + * @return {Function} validating function + */ +function compile(schema, _meta) { + var schemaObj = this._addSchema(schema, undefined, _meta); + return schemaObj.validate || this._compile(schemaObj); +} + + +/** + * Adds schema to the instance. + * @this Ajv + * @param {Object|Array} schema schema or array of schemas. If array is passed, `key` and other parameters will be ignored. + * @param {String} key Optional schema key. Can be passed to `validate` method instead of schema object or id/ref. One schema per instance can have empty `id` and `key`. + * @param {Boolean} _skipValidation true to skip schema validation. Used internally, option validateSchema should be used instead. + * @param {Boolean} _meta true if schema is a meta-schema. Used internally, addMetaSchema should be used instead. + * @return {Ajv} this for method chaining + */ +function addSchema(schema, key, _skipValidation, _meta) { + if (Array.isArray(schema)){ + for (var i=0; i} errors optional array of validation errors, if not passed errors from the instance are used. + * @param {Object} options optional options with properties `separator` and `dataVar`. + * @return {String} human readable string with all errors descriptions + */ +function errorsText(errors, options) { + errors = errors || this.errors; + if (!errors) return 'No errors'; + options = options || {}; + var separator = options.separator === undefined ? ', ' : options.separator; + var dataVar = options.dataVar === undefined ? 'data' : options.dataVar; + + var text = ''; + for (var i=0; i%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,u=/^(?:(?:http[s\u017F]?|ftp):\/\/)(?:(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+(?::(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?@)?(?:(?!10(?:\.[0-9]{1,3}){3})(?!127(?:\.[0-9]{1,3}){3})(?!169\.254(?:\.[0-9]{1,3}){2})(?!192\.168(?:\.[0-9]{1,3}){2})(?!172\.(?:1[6-9]|2[0-9]|3[01])(?:\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)(?:\.(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)*(?:\.(?:(?:[a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\/(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?$/i,h=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,d=/^(?:\/(?:[^~/]|~0|~1)*)*$/,p=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,f=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/;function m(e){return a.copy(m[e="full"==e?"full":"fast"])}function v(e){var r=e.match(o);if(!r)return!1;var t,a=+r[2],s=+r[3];return 1<=a&&a<=12&&1<=s&&s<=(2!=a||((t=+r[1])%4!=0||t%100==0&&t%400!=0)?i[a]:29)}function y(e,r){var t=e.match(n);if(!t)return!1;var a=t[1],s=t[2],o=t[3];return(a<=23&&s<=59&&o<=59||23==a&&59==s&&60==o)&&(!r||t[5])}(r.exports=m).fast={date:/^\d\d\d\d-[0-1]\d-[0-3]\d$/,time:/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,"date-time":/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,"uri-template":c,url:u,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i,hostname:s,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:w,uuid:h,"json-pointer":d,"json-pointer-uri-fragment":p,"relative-json-pointer":f},m.full={date:v,time:y,"date-time":function(e){var r=e.split(g);return 2==r.length&&v(r[0])&&y(r[1],!0)},uri:function(e){return P.test(e)&&l.test(e)},"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":c,url:u,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:s,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:w,uuid:h,"json-pointer":d,"json-pointer-uri-fragment":p,"relative-json-pointer":f};var g=/t|\s/i;var P=/\/|:/;var E=/[^\\]\\Z/;function w(e){if(E.test(e))return!1;try{return new RegExp(e),!0}catch(e){return!1}}},{"./util":10}],5:[function(e,r,t){"use strict";var R=e("./resolve"),$=e("./util"),j=e("./error_classes"),D=e("fast-json-stable-stringify"),O=e("../dotjs/validate"),I=$.ucs2length,A=e("fast-deep-equal"),k=j.Validation;function C(e,c,u,r){var d=this,p=this._opts,h=[void 0],f={},l=[],t={},m=[],a={},v=[],s=function(e,r,t){var a=L.call(this,e,r,t);return 0<=a?{index:a,compiling:!0}:{index:a=this._compilations.length,compiling:!(this._compilations[a]={schema:e,root:r,baseId:t})}}.call(this,e,c=c||{schema:e,refVal:h,refs:f},r),o=this._compilations[s.index];if(s.compiling)return o.callValidate=P;var y=this._formats,g=this.RULES;try{var i=E(e,c,u,r);o.validate=i;var n=o.callValidate;return n&&(n.schema=i.schema,n.errors=null,n.refs=i.refs,n.refVal=i.refVal,n.root=i.root,n.$async=i.$async,p.sourceCode&&(n.source=i.source)),i}finally{(function(e,r,t){var a=L.call(this,e,r,t);0<=a&&this._compilations.splice(a,1)}).call(this,e,c,r)}function P(){var e=o.validate,r=e.apply(this,arguments);return P.errors=e.errors,r}function E(e,r,t,a){var s=!r||r&&r.schema==e;if(r.schema!=c.schema)return C.call(d,e,r,t,a);var o=!0===e.$async,i=O({isTop:!0,schema:e,isRoot:s,baseId:a,root:r,schemaPath:"",errSchemaPath:"#",errorPath:'""',MissingRefError:j.MissingRef,RULES:g,validate:O,util:$,resolve:R,resolveRef:w,usePattern:_,useDefault:F,useCustomRule:x,opts:p,formats:y,logger:d.logger,self:d}),i=Q(h,z)+Q(l,N)+Q(m,q)+Q(v,T)+i;p.processCode&&(i=p.processCode(i,e));try{var n=new Function("self","RULES","formats","root","refVal","defaults","customRules","equal","ucs2length","ValidationError",i)(d,g,y,c,h,m,v,A,I,k);h[0]=n}catch(e){throw d.logger.error("Error compiling schema, function code:",i),e}return n.schema=e,n.errors=null,n.refs=f,n.refVal=h,n.root=s?n:r,o&&(n.$async=!0),!0===p.sourceCode&&(n.source={code:i,patterns:l,defaults:m}),n}function w(e,r,t){r=R.url(e,r);var a,s,o=f[r];if(void 0!==o)return S(a=h[o],s="refVal["+o+"]");if(!t&&c.refs){var i=c.refs[r];if(void 0!==i)return S(a=c.refVal[i],s=b(r,a))}s=b(r);var n,l=R.call(d,E,c,r);if(void 0!==l||(n=u&&u[r])&&(l=R.inlineRef(n,p.inlineRefs)?n:C.call(d,n,c,u,e)),void 0!==l)return S(h[f[r]]=l,s);delete f[r]}function b(e,r){var t=h.length;return h[t]=r,"refVal"+(f[e]=t)}function S(e,r){return"object"==typeof e||"boolean"==typeof e?{code:r,schema:e,inline:!0}:{code:r,$async:e&&!!e.$async}}function _(e){var r=t[e];return void 0===r&&(r=t[e]=l.length,l[r]=e),"pattern"+r}function F(e){switch(typeof e){case"boolean":case"number":return""+e;case"string":return $.toQuotedString(e);case"object":if(null===e)return"null";var r=D(e),t=a[r];return void 0===t&&(t=a[r]=m.length,m[t]=e),"default"+t}}function x(e,r,t,a){if(!1!==d._opts.validateSchema){var s=e.definition.dependencies;if(s&&!s.every(function(e){return Object.prototype.hasOwnProperty.call(t,e)}))throw new Error("parent schema must have all required keywords: "+s.join(","));var o=e.definition.validateSchema;if(o)if(!o(r)){var i="keyword schema is invalid: "+d.errorsText(o.errors);if("log"!=d._opts.validateSchema)throw new Error(i);d.logger.error(i)}}var n,l=e.definition.compile,c=e.definition.inline,u=e.definition.macro;if(l)n=l.call(d,r,t,a);else if(u)n=u.call(d,r,t,a),!1!==p.validateSchema&&d.validateSchema(n,!0);else if(c)n=c.call(d,a,e.keyword,r,t);else if(!(n=e.definition.validate))return;if(void 0===n)throw new Error('custom keyword "'+e.keyword+'"failed to compile');var h=v.length;return{code:"customRule"+h,validate:v[h]=n}}}function L(e,r,t){for(var a=0;a",_=P?">":"<",F=void 0;if(!y&&"number"!=typeof d&&void 0!==d)throw new Error(r+" must be number");if(!b&&void 0!==w&&"number"!=typeof w&&"boolean"!=typeof w)throw new Error(E+" must be number or boolean");b?(o="exclIsNumber"+u,i="' + "+(n="op"+u)+" + '",c+=" var schemaExcl"+u+" = "+(t=e.util.getData(w.$data,h,e.dataPathArr))+"; ",F=E,(l=l||[]).push(c+=" var "+(a="exclusive"+u)+"; var "+(s="exclType"+u)+" = typeof "+(t="schemaExcl"+u)+"; if ("+s+" != 'boolean' && "+s+" != 'undefined' && "+s+" != 'number') { "),c="",!1!==e.createErrors?(c+=" { keyword: '"+(F||"_exclusiveLimit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(f)+" , params: {} ",!1!==e.opts.messages&&(c+=" , message: '"+E+" should be boolean' "),e.opts.verbose&&(c+=" , schema: validate.schema"+p+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+v+" "),c+=" } "):c+=" {} ",x=c,c=l.pop(),c+=!e.compositeRule&&m?e.async?" throw new ValidationError(["+x+"]); ":" validate.errors = ["+x+"]; return false; ":" var err = "+x+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",c+=" } else if ( ",y&&(c+=" ("+g+" !== undefined && typeof "+g+" != 'number') || "),c+=" "+s+" == 'number' ? ( ("+a+" = "+g+" === undefined || "+t+" "+S+"= "+g+") ? "+v+" "+_+"= "+t+" : "+v+" "+_+" "+g+" ) : ( ("+a+" = "+t+" === true) ? "+v+" "+_+"= "+g+" : "+v+" "+_+" "+g+" ) || "+v+" !== "+v+") { var op"+u+" = "+a+" ? '"+S+"' : '"+S+"='; ",void 0===d&&(f=e.errSchemaPath+"/"+(F=E),g=t,y=b)):(i=S,(o="number"==typeof w)&&y?(n="'"+i+"'",c+=" if ( ",y&&(c+=" ("+g+" !== undefined && typeof "+g+" != 'number') || "),c+=" ( "+g+" === undefined || "+w+" "+S+"= "+g+" ? "+v+" "+_+"= "+w+" : "+v+" "+_+" "+g+" ) || "+v+" !== "+v+") { "):(o&&void 0===d?(a=!0,f=e.errSchemaPath+"/"+(F=E),g=w,_+="="):(o&&(g=Math[P?"min":"max"](w,d)),w===(!o||g)?(a=!0,f=e.errSchemaPath+"/"+(F=E),_+="="):(a=!1,i+="=")),n="'"+i+"'",c+=" if ( ",y&&(c+=" ("+g+" !== undefined && typeof "+g+" != 'number') || "),c+=" "+v+" "+_+" "+g+" || "+v+" !== "+v+") { ")),F=F||r,(l=l||[]).push(c),c="",!1!==e.createErrors?(c+=" { keyword: '"+(F||"_limit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(f)+" , params: { comparison: "+n+", limit: "+g+", exclusive: "+a+" } ",!1!==e.opts.messages&&(c+=" , message: 'should be "+i+" ",c+=y?"' + "+g:g+"'"),e.opts.verbose&&(c+=" , schema: ",c+=y?"validate.schema"+p:""+d,c+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+v+" "),c+=" } "):c+=" {} ";var x=c;return c=l.pop(),c+=!e.compositeRule&&m?e.async?" throw new ValidationError(["+x+"]); ":" validate.errors = ["+x+"]; return false; ":" var err = "+x+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",c+=" } ",m&&(c+=" else { "),c}},{}],14:[function(e,r,t){"use strict";r.exports=function(e,r){var t=" ",a=e.level,s=e.dataLevel,o=e.schema[r],i=e.schemaPath+e.util.getProperty(r),n=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,c="data"+(s||""),u=e.opts.$data&&o&&o.$data,h=u?(t+=" var schema"+a+" = "+e.util.getData(o.$data,s,e.dataPathArr)+"; ","schema"+a):o;if(!u&&"number"!=typeof o)throw new Error(r+" must be number");t+="if ( ",u&&(t+=" ("+h+" !== undefined && typeof "+h+" != 'number') || ");var d=r,p=p||[];p.push(t+=" "+c+".length "+("maxItems"==r?">":"<")+" "+h+") { "),t="",!1!==e.createErrors?(t+=" { keyword: '"+(d||"_limitItems")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(n)+" , params: { limit: "+h+" } ",!1!==e.opts.messages&&(t+=" , message: 'should NOT have ",t+="maxItems"==r?"more":"fewer",t+=" than ",t+=u?"' + "+h+" + '":""+o,t+=" items' "),e.opts.verbose&&(t+=" , schema: ",t+=u?"validate.schema"+i:""+o,t+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),t+=" } "):t+=" {} ";var f=t,t=p.pop();return t+=!e.compositeRule&&l?e.async?" throw new ValidationError(["+f+"]); ":" validate.errors = ["+f+"]; return false; ":" var err = "+f+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",t+="} ",l&&(t+=" else { "),t}},{}],15:[function(e,r,t){"use strict";r.exports=function(e,r){var t=" ",a=e.level,s=e.dataLevel,o=e.schema[r],i=e.schemaPath+e.util.getProperty(r),n=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,c="data"+(s||""),u=e.opts.$data&&o&&o.$data,h=u?(t+=" var schema"+a+" = "+e.util.getData(o.$data,s,e.dataPathArr)+"; ","schema"+a):o;if(!u&&"number"!=typeof o)throw new Error(r+" must be number");t+="if ( ",u&&(t+=" ("+h+" !== undefined && typeof "+h+" != 'number') || "),t+=!1===e.opts.unicode?" "+c+".length ":" ucs2length("+c+") ";var d=r,p=p||[];p.push(t+=" "+("maxLength"==r?">":"<")+" "+h+") { "),t="",!1!==e.createErrors?(t+=" { keyword: '"+(d||"_limitLength")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(n)+" , params: { limit: "+h+" } ",!1!==e.opts.messages&&(t+=" , message: 'should NOT be ",t+="maxLength"==r?"longer":"shorter",t+=" than ",t+=u?"' + "+h+" + '":""+o,t+=" characters' "),e.opts.verbose&&(t+=" , schema: ",t+=u?"validate.schema"+i:""+o,t+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),t+=" } "):t+=" {} ";var f=t,t=p.pop();return t+=!e.compositeRule&&l?e.async?" throw new ValidationError(["+f+"]); ":" validate.errors = ["+f+"]; return false; ":" var err = "+f+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",t+="} ",l&&(t+=" else { "),t}},{}],16:[function(e,r,t){"use strict";r.exports=function(e,r){var t=" ",a=e.level,s=e.dataLevel,o=e.schema[r],i=e.schemaPath+e.util.getProperty(r),n=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,c="data"+(s||""),u=e.opts.$data&&o&&o.$data,h=u?(t+=" var schema"+a+" = "+e.util.getData(o.$data,s,e.dataPathArr)+"; ","schema"+a):o;if(!u&&"number"!=typeof o)throw new Error(r+" must be number");t+="if ( ",u&&(t+=" ("+h+" !== undefined && typeof "+h+" != 'number') || ");var d=r,p=p||[];p.push(t+=" Object.keys("+c+").length "+("maxProperties"==r?">":"<")+" "+h+") { "),t="",!1!==e.createErrors?(t+=" { keyword: '"+(d||"_limitProperties")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(n)+" , params: { limit: "+h+" } ",!1!==e.opts.messages&&(t+=" , message: 'should NOT have ",t+="maxProperties"==r?"more":"fewer",t+=" than ",t+=u?"' + "+h+" + '":""+o,t+=" properties' "),e.opts.verbose&&(t+=" , schema: ",t+=u?"validate.schema"+i:""+o,t+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),t+=" } "):t+=" {} ";var f=t,t=p.pop();return t+=!e.compositeRule&&l?e.async?" throw new ValidationError(["+f+"]); ":" validate.errors = ["+f+"]; return false; ":" var err = "+f+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",t+="} ",l&&(t+=" else { "),t}},{}],17:[function(e,r,t){"use strict";r.exports=function(e,r){var t=" ",a=e.schema[r],s=e.schemaPath+e.util.getProperty(r),o=e.errSchemaPath+"/"+r,i=!e.opts.allErrors,n=e.util.copy(e),l="";n.level++;var c="valid"+n.level,u=n.baseId,h=!0,d=a;if(d)for(var p,f=-1,m=d.length-1;f "+_+") { ",x=c+"["+_+"]",d.schema=$,d.schemaPath=i+"["+_+"]",d.errSchemaPath=n+"/"+_,d.errorPath=e.util.getPathExpr(e.errorPath,_,e.opts.jsonPointers,!0),d.dataPathArr[v]=_,R=e.validate(d),d.baseId=g,e.util.varOccurences(R,y)<2?t+=" "+e.util.varReplace(R,y,x)+" ":t+=" var "+y+" = "+x+"; "+R+" ",t+=" } ",l&&(t+=" if ("+f+") { ",p+="}"))}"object"==typeof b&&(e.opts.strictKeywords?"object"==typeof b&&0 "+o.length+") { for (var "+m+" = "+o.length+"; "+m+" < "+c+".length; "+m+"++) { ",d.errorPath=e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers,!0),x=c+"["+m+"]",d.dataPathArr[v]=m,R=e.validate(d),d.baseId=g,e.util.varOccurences(R,y)<2?t+=" "+e.util.varReplace(R,y,x)+" ":t+=" var "+y+" = "+x+"; "+R+" ",l&&(t+=" if (!"+f+") break; "),t+=" } } ",l&&(t+=" if ("+f+") { ",p+="}"))}else{(e.opts.strictKeywords?"object"==typeof o&&0 1e-"+e.opts.multipleOfPrecision+" ":" division"+a+" !== parseInt(division"+a+") ",t+=" ) ",u&&(t+=" ) ");var d=d||[];d.push(t+=" ) { "),t="",!1!==e.createErrors?(t+=" { keyword: 'multipleOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(n)+" , params: { multipleOf: "+h+" } ",!1!==e.opts.messages&&(t+=" , message: 'should be multiple of ",t+=u?"' + "+h:h+"'"),e.opts.verbose&&(t+=" , schema: ",t+=u?"validate.schema"+i:""+o,t+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),t+=" } "):t+=" {} ";var p=t,t=d.pop();return t+=!e.compositeRule&&l?e.async?" throw new ValidationError(["+p+"]); ":" validate.errors = ["+p+"]; return false; ":" var err = "+p+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",t+="} ",l&&(t+=" else { "),t}},{}],30:[function(e,r,t){"use strict";r.exports=function(e,r){var t=" ",a=e.level,s=e.dataLevel,o=e.schema[r],i=e.schemaPath+e.util.getProperty(r),n=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,c="data"+(s||""),u="errs__"+a,h=e.util.copy(e);h.level++;var d,p,f,m,v="valid"+h.level;return(e.opts.strictKeywords?"object"==typeof o&&0 1) { ",t=e.schema.items&&e.schema.items.type,a=Array.isArray(t),!t||"object"==t||"array"==t||a&&(0<=t.indexOf("object")||0<=t.indexOf("array"))?i+=" outer: for (;i--;) { for (j = i; j--;) { if (equal("+p+"[i], "+p+"[j])) { "+f+" = false; break outer; } } } ":(i+=" var itemIndices = {}, item; for (;i--;) { var item = "+p+"[i]; ",i+=" if ("+e.util["checkDataType"+(a?"s":"")](t,"item",e.opts.strictNumbers,!0)+") continue; ",a&&(i+=" if (typeof item == 'string') item = '\"' + item; "),i+=" if (typeof itemIndices[item] == 'number') { "+f+" = false; j = itemIndices[item]; break; } itemIndices[item] = i; } "),i+=" } ",m&&(i+=" } "),(s=s||[]).push(i+=" if (!"+f+") { "),i="",!1!==e.createErrors?(i+=" { keyword: 'uniqueItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(h)+" , params: { i: i, j: j } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)' "),e.opts.verbose&&(i+=" , schema: ",i+=m?"validate.schema"+u:""+c,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),i+=" } "):i+=" {} ",o=i,i=s.pop(),i+=!e.compositeRule&&d?e.async?" throw new ValidationError(["+o+"]); ":" validate.errors = ["+o+"]; return false; ":" var err = "+o+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } ",d&&(i+=" else { ")):d&&(i+=" if (true) { "),i}},{}],38:[function(e,r,t){"use strict";r.exports=function(a,e){var r="",t=!0===a.schema.$async,s=a.util.schemaHasRulesExcept(a.schema,a.RULES.all,"$ref"),o=a.self._getId(a.schema);if(a.opts.strictKeywords){var i=a.util.schemaUnknownRules(a.schema,a.RULES.keywords);if(i){var n="unknown keyword: "+i;if("log"!==a.opts.strictKeywords)throw new Error(n);a.logger.warn(n)}}if(a.isTop&&(r+=" var validate = ",t&&(a.async=!0,r+="async "),r+="function(data, dataPath, parentData, parentDataProperty, rootData) { 'use strict'; ",o&&(a.opts.sourceCode||a.opts.processCode)&&(r+=" /*# sourceURL="+o+" */ ")),"boolean"==typeof a.schema||!s&&!a.schema.$ref){var l=a.level,c=a.dataLevel,u=a.schema[e="false schema"],h=a.schemaPath+a.util.getProperty(e),d=a.errSchemaPath+"/"+e,p=!a.opts.allErrors,f="data"+(c||""),m="valid"+l;return!1===a.schema?(a.isTop?p=!0:r+=" var "+m+" = false; ",(U=U||[]).push(r),r="",!1!==a.createErrors?(r+=" { keyword: 'false schema' , dataPath: (dataPath || '') + "+a.errorPath+" , schemaPath: "+a.util.toQuotedString(d)+" , params: {} ",!1!==a.opts.messages&&(r+=" , message: 'boolean schema is false' "),a.opts.verbose&&(r+=" , schema: false , parentSchema: validate.schema"+a.schemaPath+" , data: "+f+" "),r+=" } "):r+=" {} ",D=r,r=U.pop(),r+=!a.compositeRule&&p?a.async?" throw new ValidationError(["+D+"]); ":" validate.errors = ["+D+"]; return false; ":" var err = "+D+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "):r+=a.isTop?t?" return data; ":" validate.errors = null; return true; ":" var "+m+" = true; ",a.isTop&&(r+=" }; return validate; "),r}if(a.isTop){var v=a.isTop,l=a.level=0,c=a.dataLevel=0,f="data";if(a.rootId=a.resolve.fullPath(a.self._getId(a.root.schema)),a.baseId=a.baseId||a.rootId,delete a.isTop,a.dataPathArr=[""],void 0!==a.schema.default&&a.opts.useDefaults&&a.opts.strictDefaults){var y="default is ignored in the schema root";if("log"!==a.opts.strictDefaults)throw new Error(y);a.logger.warn(y)}r+=" var vErrors = null; ",r+=" var errors = 0; ",r+=" if (rootData === undefined) rootData = data; "}else{l=a.level,f="data"+((c=a.dataLevel)||"");if(o&&(a.baseId=a.resolve.url(a.baseId,o)),t&&!a.async)throw new Error("async schema in sync schema");r+=" var errs_"+l+" = errors;"}var g,m="valid"+l,p=!a.opts.allErrors,P="",E="",w=a.schema.type,b=Array.isArray(w);if(w&&a.opts.nullable&&!0===a.schema.nullable&&(b?-1==w.indexOf("null")&&(w=w.concat("null")):"null"!=w&&(w=[w,"null"],b=!0)),b&&1==w.length&&(w=w[0],b=!1),a.schema.$ref&&s){if("fail"==a.opts.extendRefs)throw new Error('$ref: validation keywords used in schema at path "'+a.errSchemaPath+'" (see option extendRefs)');!0!==a.opts.extendRefs&&(s=!1,a.logger.warn('$ref: keywords ignored in schema at path "'+a.errSchemaPath+'"'))}if(a.schema.$comment&&a.opts.$comment&&(r+=" "+a.RULES.all.$comment.code(a,"$comment")),w){a.opts.coerceTypes&&(g=a.util.coerceToTypes(a.opts.coerceTypes,w));var S=a.RULES.types[w];if(g||b||!0===S||S&&!Z(S)){h=a.schemaPath+".type",d=a.errSchemaPath+"/type",h=a.schemaPath+".type",d=a.errSchemaPath+"/type";if(r+=" if ("+a.util[b?"checkDataTypes":"checkDataType"](w,f,a.opts.strictNumbers,!0)+") { ",g){var _="dataType"+l,F="coerced"+l;r+=" var "+_+" = typeof "+f+"; var "+F+" = undefined; ","array"==a.opts.coerceTypes&&(r+=" if ("+_+" == 'object' && Array.isArray("+f+") && "+f+".length == 1) { "+f+" = "+f+"[0]; "+_+" = typeof "+f+"; if ("+a.util.checkDataType(a.schema.type,f,a.opts.strictNumbers)+") "+F+" = "+f+"; } "),r+=" if ("+F+" !== undefined) ; ";var x=g;if(x)for(var R,$=-1,j=x.length-1;$= 0x80 (not a basic code point)","invalid-input":"Invalid input"},k=Math.floor,C=String.fromCharCode;function L(e){throw new RangeError(i[e])}function n(e,r){var t=e.split("@"),a="";return 1>1,e+=k(e/r);455k((A-a)/h))&&L("overflow"),a+=p*h;var f=d<=o?1:o+26<=d?26:d-o;if(pk(A/m)&&L("overflow"),h*=m}var v=r.length+1,o=z(a-u,v,0==u);k(a/v)>A-s&&L("overflow"),s+=k(a/v),a%=v,r.splice(a++,0,s)}return String.fromCodePoint.apply(String,r)}function c(e){var r=[],t=(e=N(e)).length,a=128,s=0,o=72,i=!0,n=!1,l=void 0;try{for(var c,u=e[Symbol.iterator]();!(i=(c=u.next()).done);i=!0){var h=c.value;h<128&&r.push(C(h))}}catch(e){n=!0,l=e}finally{try{!i&&u.return&&u.return()}finally{if(n)throw l}}var d=r.length,p=d;for(d&&r.push("-");pk((A-s)/w)&&L("overflow"),s+=(f-a)*w,a=f;var b=!0,S=!1,_=void 0;try{for(var F,x=e[Symbol.iterator]();!(b=(F=x.next()).done);b=!0){var R=F.value;if(RA&&L("overflow"),R==a){for(var $=s,j=36;;j+=36){var D=j<=o?1:o+26<=j?26:j-o;if($>6|192).toString(16).toUpperCase()+"%"+(63&r|128).toString(16).toUpperCase():"%"+(r>>12|224).toString(16).toUpperCase()+"%"+(r>>6&63|128).toString(16).toUpperCase()+"%"+(63&r|128).toString(16).toUpperCase()}function p(e){for(var r="",t=0,a=e.length;tA-Z\\x5E-\\x7E]",'[\\"\\\\]')),Y=new RegExp(K,"g"),W=new RegExp("(?:(?:%[EFef][0-9A-Fa-f]%[0-9A-Fa-f][0-9A-Fa-f]%[0-9A-Fa-f][0-9A-Fa-f])|(?:%[89A-Fa-f][0-9A-Fa-f]%[0-9A-Fa-f][0-9A-Fa-f])|(?:%[0-9A-Fa-f][0-9A-Fa-f]))","g"),X=new RegExp(J("[^]","[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]","[\\.]",'[\\"]',G),"g"),ee=new RegExp(J("[^]",K,"[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]"),"g"),re=ee;function te(e){var r=p(e);return r.match(Y)?r:e}var ae={scheme:"mailto",parse:function(e,r){var t=e,a=t.to=t.path?t.path.split(","):[];if(t.path=void 0,t.query){for(var s=!1,o={},i=t.query.split("&"),n=0,l=i.length;n); + + message: string; + errors: Array; + ajv: true; + validation: true; + } + + class MissingRefError extends Error { + constructor(baseId: string, ref: string, message?: string); + static message: (baseId: string, ref: string) => string; + + message: string; + missingRef: string; + missingSchema: string; + } +} + +declare namespace ajv { + type ValidationError = AjvErrors.ValidationError; + + type MissingRefError = AjvErrors.MissingRefError; + + interface Ajv { + /** + * Validate data using schema + * Schema will be compiled and cached (using serialized JSON as key, [fast-json-stable-stringify](https://github.com/epoberezkin/fast-json-stable-stringify) is used to serialize by default). + * @param {string|object|Boolean} schemaKeyRef key, ref or schema object + * @param {Any} data to be validated + * @return {Boolean} validation result. Errors from the last validation will be available in `ajv.errors` (and also in compiled schema: `schema.errors`). + */ + validate(schemaKeyRef: object | string | boolean, data: any): boolean | PromiseLike; + /** + * Create validating function for passed schema. + * @param {object|Boolean} schema schema object + * @return {Function} validating function + */ + compile(schema: object | boolean): ValidateFunction; + /** + * Creates validating function for passed schema with asynchronous loading of missing schemas. + * `loadSchema` option should be a function that accepts schema uri and node-style callback. + * @this Ajv + * @param {object|Boolean} schema schema object + * @param {Boolean} meta optional true to compile meta-schema; this parameter can be skipped + * @param {Function} callback optional node-style callback, it is always called with 2 parameters: error (or null) and validating function. + * @return {PromiseLike} validating function + */ + compileAsync(schema: object | boolean, meta?: Boolean, callback?: (err: Error, validate: ValidateFunction) => any): PromiseLike; + /** + * Adds schema to the instance. + * @param {object|Array} schema schema or array of schemas. If array is passed, `key` and other parameters will be ignored. + * @param {string} key Optional schema key. Can be passed to `validate` method instead of schema object or id/ref. One schema per instance can have empty `id` and `key`. + * @return {Ajv} this for method chaining + */ + addSchema(schema: Array | object, key?: string): Ajv; + /** + * Add schema that will be used to validate other schemas + * options in META_IGNORE_OPTIONS are alway set to false + * @param {object} schema schema object + * @param {string} key optional schema key + * @return {Ajv} this for method chaining + */ + addMetaSchema(schema: object, key?: string): Ajv; + /** + * Validate schema + * @param {object|Boolean} schema schema to validate + * @return {Boolean} true if schema is valid + */ + validateSchema(schema: object | boolean): boolean; + /** + * Get compiled schema from the instance by `key` or `ref`. + * @param {string} keyRef `key` that was passed to `addSchema` or full schema reference (`schema.id` or resolved id). + * @return {Function} schema validating function (with property `schema`). Returns undefined if keyRef can't be resolved to an existing schema. + */ + getSchema(keyRef: string): ValidateFunction | undefined; + /** + * Remove cached schema(s). + * If no parameter is passed all schemas but meta-schemas are removed. + * If RegExp is passed all schemas with key/id matching pattern but meta-schemas are removed. + * Even if schema is referenced by other schemas it still can be removed as other schemas have local references. + * @param {string|object|RegExp|Boolean} schemaKeyRef key, ref, pattern to match key/ref or schema object + * @return {Ajv} this for method chaining + */ + removeSchema(schemaKeyRef?: object | string | RegExp | boolean): Ajv; + /** + * Add custom format + * @param {string} name format name + * @param {string|RegExp|Function} format string is converted to RegExp; function should return boolean (true when valid) + * @return {Ajv} this for method chaining + */ + addFormat(name: string, format: FormatValidator | FormatDefinition): Ajv; + /** + * Define custom keyword + * @this Ajv + * @param {string} keyword custom keyword, should be a valid identifier, should be different from all standard, custom and macro keywords. + * @param {object} definition keyword definition object with properties `type` (type(s) which the keyword applies to), `validate` or `compile`. + * @return {Ajv} this for method chaining + */ + addKeyword(keyword: string, definition: KeywordDefinition): Ajv; + /** + * Get keyword definition + * @this Ajv + * @param {string} keyword pre-defined or custom keyword. + * @return {object|Boolean} custom keyword definition, `true` if it is a predefined keyword, `false` otherwise. + */ + getKeyword(keyword: string): object | boolean; + /** + * Remove keyword + * @this Ajv + * @param {string} keyword pre-defined or custom keyword. + * @return {Ajv} this for method chaining + */ + removeKeyword(keyword: string): Ajv; + /** + * Validate keyword + * @this Ajv + * @param {object} definition keyword definition object + * @param {boolean} throwError true to throw exception if definition is invalid + * @return {boolean} validation result + */ + validateKeyword(definition: KeywordDefinition, throwError: boolean): boolean; + /** + * Convert array of error message objects to string + * @param {Array} errors optional array of validation errors, if not passed errors from the instance are used. + * @param {object} options optional options with properties `separator` and `dataVar`. + * @return {string} human readable string with all errors descriptions + */ + errorsText(errors?: Array | null, options?: ErrorsTextOptions): string; + errors?: Array | null; + _opts: Options; + } + + interface CustomLogger { + log(...args: any[]): any; + warn(...args: any[]): any; + error(...args: any[]): any; + } + + interface ValidateFunction { + ( + data: any, + dataPath?: string, + parentData?: object | Array, + parentDataProperty?: string | number, + rootData?: object | Array + ): boolean | PromiseLike; + schema?: object | boolean; + errors?: null | Array; + refs?: object; + refVal?: Array; + root?: ValidateFunction | object; + $async?: true; + source?: object; + } + + interface Options { + $data?: boolean; + allErrors?: boolean; + verbose?: boolean; + jsonPointers?: boolean; + uniqueItems?: boolean; + unicode?: boolean; + format?: false | string; + formats?: object; + keywords?: object; + unknownFormats?: true | string[] | 'ignore'; + schemas?: Array | object; + schemaId?: '$id' | 'id' | 'auto'; + missingRefs?: true | 'ignore' | 'fail'; + extendRefs?: true | 'ignore' | 'fail'; + loadSchema?: (uri: string, cb?: (err: Error, schema: object) => void) => PromiseLike; + removeAdditional?: boolean | 'all' | 'failing'; + useDefaults?: boolean | 'empty' | 'shared'; + coerceTypes?: boolean | 'array'; + strictDefaults?: boolean | 'log'; + strictKeywords?: boolean | 'log'; + strictNumbers?: boolean; + async?: boolean | string; + transpile?: string | ((code: string) => string); + meta?: boolean | object; + validateSchema?: boolean | 'log'; + addUsedSchema?: boolean; + inlineRefs?: boolean | number; + passContext?: boolean; + loopRequired?: number; + ownProperties?: boolean; + multipleOfPrecision?: boolean | number; + errorDataPath?: string, + messages?: boolean; + sourceCode?: boolean; + processCode?: (code: string, schema: object) => string; + cache?: object; + logger?: CustomLogger | false; + nullable?: boolean; + serialize?: ((schema: object | boolean) => any) | false; + } + + type FormatValidator = string | RegExp | ((data: string) => boolean | PromiseLike); + type NumberFormatValidator = ((data: number) => boolean | PromiseLike); + + interface NumberFormatDefinition { + type: "number", + validate: NumberFormatValidator; + compare?: (data1: number, data2: number) => number; + async?: boolean; + } + + interface StringFormatDefinition { + type?: "string", + validate: FormatValidator; + compare?: (data1: string, data2: string) => number; + async?: boolean; + } + + type FormatDefinition = NumberFormatDefinition | StringFormatDefinition; + + interface KeywordDefinition { + type?: string | Array; + async?: boolean; + $data?: boolean; + errors?: boolean | string; + metaSchema?: object; + // schema: false makes validate not to expect schema (ValidateFunction) + schema?: boolean; + statements?: boolean; + dependencies?: Array; + modifying?: boolean; + valid?: boolean; + // one and only one of the following properties should be present + validate?: SchemaValidateFunction | ValidateFunction; + compile?: (schema: any, parentSchema: object, it: CompilationContext) => ValidateFunction; + macro?: (schema: any, parentSchema: object, it: CompilationContext) => object | boolean; + inline?: (it: CompilationContext, keyword: string, schema: any, parentSchema: object) => string; + } + + interface CompilationContext { + level: number; + dataLevel: number; + dataPathArr: string[]; + schema: any; + schemaPath: string; + baseId: string; + async: boolean; + opts: Options; + formats: { + [index: string]: FormatDefinition | undefined; + }; + keywords: { + [index: string]: KeywordDefinition | undefined; + }; + compositeRule: boolean; + validate: (schema: object) => boolean; + util: { + copy(obj: any, target?: any): any; + toHash(source: string[]): { [index: string]: true | undefined }; + equal(obj: any, target: any): boolean; + getProperty(str: string): string; + schemaHasRules(schema: object, rules: any): string; + escapeQuotes(str: string): string; + toQuotedString(str: string): string; + getData(jsonPointer: string, dataLevel: number, paths: string[]): string; + escapeJsonPointer(str: string): string; + unescapeJsonPointer(str: string): string; + escapeFragment(str: string): string; + unescapeFragment(str: string): string; + }; + self: Ajv; + } + + interface SchemaValidateFunction { + ( + schema: any, + data: any, + parentSchema?: object, + dataPath?: string, + parentData?: object | Array, + parentDataProperty?: string | number, + rootData?: object | Array + ): boolean | PromiseLike; + errors?: Array; + } + + interface ErrorsTextOptions { + separator?: string; + dataVar?: string; + } + + interface ErrorObject { + keyword: string; + dataPath: string; + schemaPath: string; + params: ErrorParameters; + // Added to validation errors of propertyNames keyword schema + propertyName?: string; + // Excluded if messages set to false. + message?: string; + // These are added with the `verbose` option. + schema?: any; + parentSchema?: object; + data?: any; + } + + type ErrorParameters = RefParams | LimitParams | AdditionalPropertiesParams | + DependenciesParams | FormatParams | ComparisonParams | + MultipleOfParams | PatternParams | RequiredParams | + TypeParams | UniqueItemsParams | CustomParams | + PatternRequiredParams | PropertyNamesParams | + IfParams | SwitchParams | NoParams | EnumParams; + + interface RefParams { + ref: string; + } + + interface LimitParams { + limit: number; + } + + interface AdditionalPropertiesParams { + additionalProperty: string; + } + + interface DependenciesParams { + property: string; + missingProperty: string; + depsCount: number; + deps: string; + } + + interface FormatParams { + format: string + } + + interface ComparisonParams { + comparison: string; + limit: number | string; + exclusive: boolean; + } + + interface MultipleOfParams { + multipleOf: number; + } + + interface PatternParams { + pattern: string; + } + + interface RequiredParams { + missingProperty: string; + } + + interface TypeParams { + type: string; + } + + interface UniqueItemsParams { + i: number; + j: number; + } + + interface CustomParams { + keyword: string; + } + + interface PatternRequiredParams { + missingPattern: string; + } + + interface PropertyNamesParams { + propertyName: string; + } + + interface IfParams { + failingKeyword: string; + } + + interface SwitchParams { + caseIndex: number; + } + + interface NoParams { } + + interface EnumParams { + allowedValues: Array; + } +} + +export = ajv; diff --git a/node_modules/ajv/lib/ajv.js b/node_modules/ajv/lib/ajv.js new file mode 100644 index 0000000..06a45b6 --- /dev/null +++ b/node_modules/ajv/lib/ajv.js @@ -0,0 +1,506 @@ +'use strict'; + +var compileSchema = require('./compile') + , resolve = require('./compile/resolve') + , Cache = require('./cache') + , SchemaObject = require('./compile/schema_obj') + , stableStringify = require('fast-json-stable-stringify') + , formats = require('./compile/formats') + , rules = require('./compile/rules') + , $dataMetaSchema = require('./data') + , util = require('./compile/util'); + +module.exports = Ajv; + +Ajv.prototype.validate = validate; +Ajv.prototype.compile = compile; +Ajv.prototype.addSchema = addSchema; +Ajv.prototype.addMetaSchema = addMetaSchema; +Ajv.prototype.validateSchema = validateSchema; +Ajv.prototype.getSchema = getSchema; +Ajv.prototype.removeSchema = removeSchema; +Ajv.prototype.addFormat = addFormat; +Ajv.prototype.errorsText = errorsText; + +Ajv.prototype._addSchema = _addSchema; +Ajv.prototype._compile = _compile; + +Ajv.prototype.compileAsync = require('./compile/async'); +var customKeyword = require('./keyword'); +Ajv.prototype.addKeyword = customKeyword.add; +Ajv.prototype.getKeyword = customKeyword.get; +Ajv.prototype.removeKeyword = customKeyword.remove; +Ajv.prototype.validateKeyword = customKeyword.validate; + +var errorClasses = require('./compile/error_classes'); +Ajv.ValidationError = errorClasses.Validation; +Ajv.MissingRefError = errorClasses.MissingRef; +Ajv.$dataMetaSchema = $dataMetaSchema; + +var META_SCHEMA_ID = 'http://json-schema.org/draft-07/schema'; + +var META_IGNORE_OPTIONS = [ 'removeAdditional', 'useDefaults', 'coerceTypes', 'strictDefaults' ]; +var META_SUPPORT_DATA = ['/properties']; + +/** + * Creates validator instance. + * Usage: `Ajv(opts)` + * @param {Object} opts optional options + * @return {Object} ajv instance + */ +function Ajv(opts) { + if (!(this instanceof Ajv)) return new Ajv(opts); + opts = this._opts = util.copy(opts) || {}; + setLogger(this); + this._schemas = {}; + this._refs = {}; + this._fragments = {}; + this._formats = formats(opts.format); + + this._cache = opts.cache || new Cache; + this._loadingSchemas = {}; + this._compilations = []; + this.RULES = rules(); + this._getId = chooseGetId(opts); + + opts.loopRequired = opts.loopRequired || Infinity; + if (opts.errorDataPath == 'property') opts._errorDataPathProperty = true; + if (opts.serialize === undefined) opts.serialize = stableStringify; + this._metaOpts = getMetaSchemaOptions(this); + + if (opts.formats) addInitialFormats(this); + if (opts.keywords) addInitialKeywords(this); + addDefaultMetaSchema(this); + if (typeof opts.meta == 'object') this.addMetaSchema(opts.meta); + if (opts.nullable) this.addKeyword('nullable', {metaSchema: {type: 'boolean'}}); + addInitialSchemas(this); +} + + + +/** + * Validate data using schema + * Schema will be compiled and cached (using serialized JSON as key. [fast-json-stable-stringify](https://github.com/epoberezkin/fast-json-stable-stringify) is used to serialize. + * @this Ajv + * @param {String|Object} schemaKeyRef key, ref or schema object + * @param {Any} data to be validated + * @return {Boolean} validation result. Errors from the last validation will be available in `ajv.errors` (and also in compiled schema: `schema.errors`). + */ +function validate(schemaKeyRef, data) { + var v; + if (typeof schemaKeyRef == 'string') { + v = this.getSchema(schemaKeyRef); + if (!v) throw new Error('no schema with key or ref "' + schemaKeyRef + '"'); + } else { + var schemaObj = this._addSchema(schemaKeyRef); + v = schemaObj.validate || this._compile(schemaObj); + } + + var valid = v(data); + if (v.$async !== true) this.errors = v.errors; + return valid; +} + + +/** + * Create validating function for passed schema. + * @this Ajv + * @param {Object} schema schema object + * @param {Boolean} _meta true if schema is a meta-schema. Used internally to compile meta schemas of custom keywords. + * @return {Function} validating function + */ +function compile(schema, _meta) { + var schemaObj = this._addSchema(schema, undefined, _meta); + return schemaObj.validate || this._compile(schemaObj); +} + + +/** + * Adds schema to the instance. + * @this Ajv + * @param {Object|Array} schema schema or array of schemas. If array is passed, `key` and other parameters will be ignored. + * @param {String} key Optional schema key. Can be passed to `validate` method instead of schema object or id/ref. One schema per instance can have empty `id` and `key`. + * @param {Boolean} _skipValidation true to skip schema validation. Used internally, option validateSchema should be used instead. + * @param {Boolean} _meta true if schema is a meta-schema. Used internally, addMetaSchema should be used instead. + * @return {Ajv} this for method chaining + */ +function addSchema(schema, key, _skipValidation, _meta) { + if (Array.isArray(schema)){ + for (var i=0; i} errors optional array of validation errors, if not passed errors from the instance are used. + * @param {Object} options optional options with properties `separator` and `dataVar`. + * @return {String} human readable string with all errors descriptions + */ +function errorsText(errors, options) { + errors = errors || this.errors; + if (!errors) return 'No errors'; + options = options || {}; + var separator = options.separator === undefined ? ', ' : options.separator; + var dataVar = options.dataVar === undefined ? 'data' : options.dataVar; + + var text = ''; + for (var i=0; i%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i; +// For the source: https://gist.github.com/dperini/729294 +// For test cases: https://mathiasbynens.be/demo/url-regex +// @todo Delete current URL in favour of the commented out URL rule when this issue is fixed https://github.com/eslint/eslint/issues/7983. +// var URL = /^(?:(?:https?|ftp):\/\/)(?:\S+(?::\S*)?@)?(?:(?!10(?:\.\d{1,3}){3})(?!127(?:\.\d{1,3}){3})(?!169\.254(?:\.\d{1,3}){2})(?!192\.168(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u{00a1}-\u{ffff}0-9]+-)*[a-z\u{00a1}-\u{ffff}0-9]+)(?:\.(?:[a-z\u{00a1}-\u{ffff}0-9]+-)*[a-z\u{00a1}-\u{ffff}0-9]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu; +var URL = /^(?:(?:http[s\u017F]?|ftp):\/\/)(?:(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+(?::(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?@)?(?:(?!10(?:\.[0-9]{1,3}){3})(?!127(?:\.[0-9]{1,3}){3})(?!169\.254(?:\.[0-9]{1,3}){2})(?!192\.168(?:\.[0-9]{1,3}){2})(?!172\.(?:1[6-9]|2[0-9]|3[01])(?:\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)(?:\.(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)*(?:\.(?:(?:[a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\/(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?$/i; +var UUID = /^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i; +var JSON_POINTER = /^(?:\/(?:[^~/]|~0|~1)*)*$/; +var JSON_POINTER_URI_FRAGMENT = /^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i; +var RELATIVE_JSON_POINTER = /^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/; + + +module.exports = formats; + +function formats(mode) { + mode = mode == 'full' ? 'full' : 'fast'; + return util.copy(formats[mode]); +} + + +formats.fast = { + // date: http://tools.ietf.org/html/rfc3339#section-5.6 + date: /^\d\d\d\d-[0-1]\d-[0-3]\d$/, + // date-time: http://tools.ietf.org/html/rfc3339#section-5.6 + time: /^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i, + 'date-time': /^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i, + // uri: https://github.com/mafintosh/is-my-json-valid/blob/master/formats.js + uri: /^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i, + 'uri-reference': /^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i, + 'uri-template': URITEMPLATE, + url: URL, + // email (sources from jsen validator): + // http://stackoverflow.com/questions/201323/using-a-regular-expression-to-validate-an-email-address#answer-8829363 + // http://www.w3.org/TR/html5/forms.html#valid-e-mail-address (search for 'willful violation') + email: /^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i, + hostname: HOSTNAME, + // optimized https://www.safaribooksonline.com/library/view/regular-expressions-cookbook/9780596802837/ch07s16.html + ipv4: /^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/, + // optimized http://stackoverflow.com/questions/53497/regular-expression-that-matches-valid-ipv6-addresses + ipv6: /^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i, + regex: regex, + // uuid: http://tools.ietf.org/html/rfc4122 + uuid: UUID, + // JSON-pointer: https://tools.ietf.org/html/rfc6901 + // uri fragment: https://tools.ietf.org/html/rfc3986#appendix-A + 'json-pointer': JSON_POINTER, + 'json-pointer-uri-fragment': JSON_POINTER_URI_FRAGMENT, + // relative JSON-pointer: http://tools.ietf.org/html/draft-luff-relative-json-pointer-00 + 'relative-json-pointer': RELATIVE_JSON_POINTER +}; + + +formats.full = { + date: date, + time: time, + 'date-time': date_time, + uri: uri, + 'uri-reference': URIREF, + 'uri-template': URITEMPLATE, + url: URL, + email: /^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i, + hostname: HOSTNAME, + ipv4: /^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/, + ipv6: /^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i, + regex: regex, + uuid: UUID, + 'json-pointer': JSON_POINTER, + 'json-pointer-uri-fragment': JSON_POINTER_URI_FRAGMENT, + 'relative-json-pointer': RELATIVE_JSON_POINTER +}; + + +function isLeapYear(year) { + // https://tools.ietf.org/html/rfc3339#appendix-C + return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0); +} + + +function date(str) { + // full-date from http://tools.ietf.org/html/rfc3339#section-5.6 + var matches = str.match(DATE); + if (!matches) return false; + + var year = +matches[1]; + var month = +matches[2]; + var day = +matches[3]; + + return month >= 1 && month <= 12 && day >= 1 && + day <= (month == 2 && isLeapYear(year) ? 29 : DAYS[month]); +} + + +function time(str, full) { + var matches = str.match(TIME); + if (!matches) return false; + + var hour = matches[1]; + var minute = matches[2]; + var second = matches[3]; + var timeZone = matches[5]; + return ((hour <= 23 && minute <= 59 && second <= 59) || + (hour == 23 && minute == 59 && second == 60)) && + (!full || timeZone); +} + + +var DATE_TIME_SEPARATOR = /t|\s/i; +function date_time(str) { + // http://tools.ietf.org/html/rfc3339#section-5.6 + var dateTime = str.split(DATE_TIME_SEPARATOR); + return dateTime.length == 2 && date(dateTime[0]) && time(dateTime[1], true); +} + + +var NOT_URI_FRAGMENT = /\/|:/; +function uri(str) { + // http://jmrware.com/articles/2009/uri_regexp/URI_regex.html + optional protocol + required "." + return NOT_URI_FRAGMENT.test(str) && URI.test(str); +} + + +var Z_ANCHOR = /[^\\]\\Z/; +function regex(str) { + if (Z_ANCHOR.test(str)) return false; + try { + new RegExp(str); + return true; + } catch(e) { + return false; + } +} diff --git a/node_modules/ajv/lib/compile/index.js b/node_modules/ajv/lib/compile/index.js new file mode 100644 index 0000000..97518c4 --- /dev/null +++ b/node_modules/ajv/lib/compile/index.js @@ -0,0 +1,387 @@ +'use strict'; + +var resolve = require('./resolve') + , util = require('./util') + , errorClasses = require('./error_classes') + , stableStringify = require('fast-json-stable-stringify'); + +var validateGenerator = require('../dotjs/validate'); + +/** + * Functions below are used inside compiled validations function + */ + +var ucs2length = util.ucs2length; +var equal = require('fast-deep-equal'); + +// this error is thrown by async schemas to return validation errors via exception +var ValidationError = errorClasses.Validation; + +module.exports = compile; + + +/** + * Compiles schema to validation function + * @this Ajv + * @param {Object} schema schema object + * @param {Object} root object with information about the root schema for this schema + * @param {Object} localRefs the hash of local references inside the schema (created by resolve.id), used for inline resolution + * @param {String} baseId base ID for IDs in the schema + * @return {Function} validation function + */ +function compile(schema, root, localRefs, baseId) { + /* jshint validthis: true, evil: true */ + /* eslint no-shadow: 0 */ + var self = this + , opts = this._opts + , refVal = [ undefined ] + , refs = {} + , patterns = [] + , patternsHash = {} + , defaults = [] + , defaultsHash = {} + , customRules = []; + + root = root || { schema: schema, refVal: refVal, refs: refs }; + + var c = checkCompiling.call(this, schema, root, baseId); + var compilation = this._compilations[c.index]; + if (c.compiling) return (compilation.callValidate = callValidate); + + var formats = this._formats; + var RULES = this.RULES; + + try { + var v = localCompile(schema, root, localRefs, baseId); + compilation.validate = v; + var cv = compilation.callValidate; + if (cv) { + cv.schema = v.schema; + cv.errors = null; + cv.refs = v.refs; + cv.refVal = v.refVal; + cv.root = v.root; + cv.$async = v.$async; + if (opts.sourceCode) cv.source = v.source; + } + return v; + } finally { + endCompiling.call(this, schema, root, baseId); + } + + /* @this {*} - custom context, see passContext option */ + function callValidate() { + /* jshint validthis: true */ + var validate = compilation.validate; + var result = validate.apply(this, arguments); + callValidate.errors = validate.errors; + return result; + } + + function localCompile(_schema, _root, localRefs, baseId) { + var isRoot = !_root || (_root && _root.schema == _schema); + if (_root.schema != root.schema) + return compile.call(self, _schema, _root, localRefs, baseId); + + var $async = _schema.$async === true; + + var sourceCode = validateGenerator({ + isTop: true, + schema: _schema, + isRoot: isRoot, + baseId: baseId, + root: _root, + schemaPath: '', + errSchemaPath: '#', + errorPath: '""', + MissingRefError: errorClasses.MissingRef, + RULES: RULES, + validate: validateGenerator, + util: util, + resolve: resolve, + resolveRef: resolveRef, + usePattern: usePattern, + useDefault: useDefault, + useCustomRule: useCustomRule, + opts: opts, + formats: formats, + logger: self.logger, + self: self + }); + + sourceCode = vars(refVal, refValCode) + vars(patterns, patternCode) + + vars(defaults, defaultCode) + vars(customRules, customRuleCode) + + sourceCode; + + if (opts.processCode) sourceCode = opts.processCode(sourceCode, _schema); + // console.log('\n\n\n *** \n', JSON.stringify(sourceCode)); + var validate; + try { + var makeValidate = new Function( + 'self', + 'RULES', + 'formats', + 'root', + 'refVal', + 'defaults', + 'customRules', + 'equal', + 'ucs2length', + 'ValidationError', + sourceCode + ); + + validate = makeValidate( + self, + RULES, + formats, + root, + refVal, + defaults, + customRules, + equal, + ucs2length, + ValidationError + ); + + refVal[0] = validate; + } catch(e) { + self.logger.error('Error compiling schema, function code:', sourceCode); + throw e; + } + + validate.schema = _schema; + validate.errors = null; + validate.refs = refs; + validate.refVal = refVal; + validate.root = isRoot ? validate : _root; + if ($async) validate.$async = true; + if (opts.sourceCode === true) { + validate.source = { + code: sourceCode, + patterns: patterns, + defaults: defaults + }; + } + + return validate; + } + + function resolveRef(baseId, ref, isRoot) { + ref = resolve.url(baseId, ref); + var refIndex = refs[ref]; + var _refVal, refCode; + if (refIndex !== undefined) { + _refVal = refVal[refIndex]; + refCode = 'refVal[' + refIndex + ']'; + return resolvedRef(_refVal, refCode); + } + if (!isRoot && root.refs) { + var rootRefId = root.refs[ref]; + if (rootRefId !== undefined) { + _refVal = root.refVal[rootRefId]; + refCode = addLocalRef(ref, _refVal); + return resolvedRef(_refVal, refCode); + } + } + + refCode = addLocalRef(ref); + var v = resolve.call(self, localCompile, root, ref); + if (v === undefined) { + var localSchema = localRefs && localRefs[ref]; + if (localSchema) { + v = resolve.inlineRef(localSchema, opts.inlineRefs) + ? localSchema + : compile.call(self, localSchema, root, localRefs, baseId); + } + } + + if (v === undefined) { + removeLocalRef(ref); + } else { + replaceLocalRef(ref, v); + return resolvedRef(v, refCode); + } + } + + function addLocalRef(ref, v) { + var refId = refVal.length; + refVal[refId] = v; + refs[ref] = refId; + return 'refVal' + refId; + } + + function removeLocalRef(ref) { + delete refs[ref]; + } + + function replaceLocalRef(ref, v) { + var refId = refs[ref]; + refVal[refId] = v; + } + + function resolvedRef(refVal, code) { + return typeof refVal == 'object' || typeof refVal == 'boolean' + ? { code: code, schema: refVal, inline: true } + : { code: code, $async: refVal && !!refVal.$async }; + } + + function usePattern(regexStr) { + var index = patternsHash[regexStr]; + if (index === undefined) { + index = patternsHash[regexStr] = patterns.length; + patterns[index] = regexStr; + } + return 'pattern' + index; + } + + function useDefault(value) { + switch (typeof value) { + case 'boolean': + case 'number': + return '' + value; + case 'string': + return util.toQuotedString(value); + case 'object': + if (value === null) return 'null'; + var valueStr = stableStringify(value); + var index = defaultsHash[valueStr]; + if (index === undefined) { + index = defaultsHash[valueStr] = defaults.length; + defaults[index] = value; + } + return 'default' + index; + } + } + + function useCustomRule(rule, schema, parentSchema, it) { + if (self._opts.validateSchema !== false) { + var deps = rule.definition.dependencies; + if (deps && !deps.every(function(keyword) { + return Object.prototype.hasOwnProperty.call(parentSchema, keyword); + })) + throw new Error('parent schema must have all required keywords: ' + deps.join(',')); + + var validateSchema = rule.definition.validateSchema; + if (validateSchema) { + var valid = validateSchema(schema); + if (!valid) { + var message = 'keyword schema is invalid: ' + self.errorsText(validateSchema.errors); + if (self._opts.validateSchema == 'log') self.logger.error(message); + else throw new Error(message); + } + } + } + + var compile = rule.definition.compile + , inline = rule.definition.inline + , macro = rule.definition.macro; + + var validate; + if (compile) { + validate = compile.call(self, schema, parentSchema, it); + } else if (macro) { + validate = macro.call(self, schema, parentSchema, it); + if (opts.validateSchema !== false) self.validateSchema(validate, true); + } else if (inline) { + validate = inline.call(self, it, rule.keyword, schema, parentSchema); + } else { + validate = rule.definition.validate; + if (!validate) return; + } + + if (validate === undefined) + throw new Error('custom keyword "' + rule.keyword + '"failed to compile'); + + var index = customRules.length; + customRules[index] = validate; + + return { + code: 'customRule' + index, + validate: validate + }; + } +} + + +/** + * Checks if the schema is currently compiled + * @this Ajv + * @param {Object} schema schema to compile + * @param {Object} root root object + * @param {String} baseId base schema ID + * @return {Object} object with properties "index" (compilation index) and "compiling" (boolean) + */ +function checkCompiling(schema, root, baseId) { + /* jshint validthis: true */ + var index = compIndex.call(this, schema, root, baseId); + if (index >= 0) return { index: index, compiling: true }; + index = this._compilations.length; + this._compilations[index] = { + schema: schema, + root: root, + baseId: baseId + }; + return { index: index, compiling: false }; +} + + +/** + * Removes the schema from the currently compiled list + * @this Ajv + * @param {Object} schema schema to compile + * @param {Object} root root object + * @param {String} baseId base schema ID + */ +function endCompiling(schema, root, baseId) { + /* jshint validthis: true */ + var i = compIndex.call(this, schema, root, baseId); + if (i >= 0) this._compilations.splice(i, 1); +} + + +/** + * Index of schema compilation in the currently compiled list + * @this Ajv + * @param {Object} schema schema to compile + * @param {Object} root root object + * @param {String} baseId base schema ID + * @return {Integer} compilation index + */ +function compIndex(schema, root, baseId) { + /* jshint validthis: true */ + for (var i=0; i= 0xD800 && value <= 0xDBFF && pos < len) { + // high surrogate, and there is a next character + value = str.charCodeAt(pos); + if ((value & 0xFC00) == 0xDC00) pos++; // low surrogate + } + } + return length; +}; diff --git a/node_modules/ajv/lib/compile/util.js b/node_modules/ajv/lib/compile/util.js new file mode 100644 index 0000000..ef07b8c --- /dev/null +++ b/node_modules/ajv/lib/compile/util.js @@ -0,0 +1,239 @@ +'use strict'; + + +module.exports = { + copy: copy, + checkDataType: checkDataType, + checkDataTypes: checkDataTypes, + coerceToTypes: coerceToTypes, + toHash: toHash, + getProperty: getProperty, + escapeQuotes: escapeQuotes, + equal: require('fast-deep-equal'), + ucs2length: require('./ucs2length'), + varOccurences: varOccurences, + varReplace: varReplace, + schemaHasRules: schemaHasRules, + schemaHasRulesExcept: schemaHasRulesExcept, + schemaUnknownRules: schemaUnknownRules, + toQuotedString: toQuotedString, + getPathExpr: getPathExpr, + getPath: getPath, + getData: getData, + unescapeFragment: unescapeFragment, + unescapeJsonPointer: unescapeJsonPointer, + escapeFragment: escapeFragment, + escapeJsonPointer: escapeJsonPointer +}; + + +function copy(o, to) { + to = to || {}; + for (var key in o) to[key] = o[key]; + return to; +} + + +function checkDataType(dataType, data, strictNumbers, negate) { + var EQUAL = negate ? ' !== ' : ' === ' + , AND = negate ? ' || ' : ' && ' + , OK = negate ? '!' : '' + , NOT = negate ? '' : '!'; + switch (dataType) { + case 'null': return data + EQUAL + 'null'; + case 'array': return OK + 'Array.isArray(' + data + ')'; + case 'object': return '(' + OK + data + AND + + 'typeof ' + data + EQUAL + '"object"' + AND + + NOT + 'Array.isArray(' + data + '))'; + case 'integer': return '(typeof ' + data + EQUAL + '"number"' + AND + + NOT + '(' + data + ' % 1)' + + AND + data + EQUAL + data + + (strictNumbers ? (AND + OK + 'isFinite(' + data + ')') : '') + ')'; + case 'number': return '(typeof ' + data + EQUAL + '"' + dataType + '"' + + (strictNumbers ? (AND + OK + 'isFinite(' + data + ')') : '') + ')'; + default: return 'typeof ' + data + EQUAL + '"' + dataType + '"'; + } +} + + +function checkDataTypes(dataTypes, data, strictNumbers) { + switch (dataTypes.length) { + case 1: return checkDataType(dataTypes[0], data, strictNumbers, true); + default: + var code = ''; + var types = toHash(dataTypes); + if (types.array && types.object) { + code = types.null ? '(': '(!' + data + ' || '; + code += 'typeof ' + data + ' !== "object")'; + delete types.null; + delete types.array; + delete types.object; + } + if (types.number) delete types.integer; + for (var t in types) + code += (code ? ' && ' : '' ) + checkDataType(t, data, strictNumbers, true); + + return code; + } +} + + +var COERCE_TO_TYPES = toHash([ 'string', 'number', 'integer', 'boolean', 'null' ]); +function coerceToTypes(optionCoerceTypes, dataTypes) { + if (Array.isArray(dataTypes)) { + var types = []; + for (var i=0; i= lvl) throw new Error('Cannot access property/index ' + up + ' levels up, current level is ' + lvl); + return paths[lvl - up]; + } + + if (up > lvl) throw new Error('Cannot access data ' + up + ' levels up, current level is ' + lvl); + data = 'data' + ((lvl - up) || ''); + if (!jsonPointer) return data; + } + + var expr = data; + var segments = jsonPointer.split('/'); + for (var i=0; i' + , $notOp = $isMax ? '>' : '<' + , $errorKeyword = undefined; + + if (!($isData || typeof $schema == 'number' || $schema === undefined)) { + throw new Error($keyword + ' must be number'); + } + if (!($isDataExcl || $schemaExcl === undefined + || typeof $schemaExcl == 'number' + || typeof $schemaExcl == 'boolean')) { + throw new Error($exclusiveKeyword + ' must be number or boolean'); + } +}} + +{{? $isDataExcl }} + {{ + var $schemaValueExcl = it.util.getData($schemaExcl.$data, $dataLvl, it.dataPathArr) + , $exclusive = 'exclusive' + $lvl + , $exclType = 'exclType' + $lvl + , $exclIsNumber = 'exclIsNumber' + $lvl + , $opExpr = 'op' + $lvl + , $opStr = '\' + ' + $opExpr + ' + \''; + }} + var schemaExcl{{=$lvl}} = {{=$schemaValueExcl}}; + {{ $schemaValueExcl = 'schemaExcl' + $lvl; }} + + var {{=$exclusive}}; + var {{=$exclType}} = typeof {{=$schemaValueExcl}}; + if ({{=$exclType}} != 'boolean' && {{=$exclType}} != 'undefined' && {{=$exclType}} != 'number') { + {{ var $errorKeyword = $exclusiveKeyword; }} + {{# def.error:'_exclusiveLimit' }} + } else if ({{# def.$dataNotType:'number' }} + {{=$exclType}} == 'number' + ? ( + ({{=$exclusive}} = {{=$schemaValue}} === undefined || {{=$schemaValueExcl}} {{=$op}}= {{=$schemaValue}}) + ? {{=$data}} {{=$notOp}}= {{=$schemaValueExcl}} + : {{=$data}} {{=$notOp}} {{=$schemaValue}} + ) + : ( + ({{=$exclusive}} = {{=$schemaValueExcl}} === true) + ? {{=$data}} {{=$notOp}}= {{=$schemaValue}} + : {{=$data}} {{=$notOp}} {{=$schemaValue}} + ) + || {{=$data}} !== {{=$data}}) { + var op{{=$lvl}} = {{=$exclusive}} ? '{{=$op}}' : '{{=$op}}='; + {{ + if ($schema === undefined) { + $errorKeyword = $exclusiveKeyword; + $errSchemaPath = it.errSchemaPath + '/' + $exclusiveKeyword; + $schemaValue = $schemaValueExcl; + $isData = $isDataExcl; + } + }} +{{??}} + {{ + var $exclIsNumber = typeof $schemaExcl == 'number' + , $opStr = $op; /*used in error*/ + }} + + {{? $exclIsNumber && $isData }} + {{ var $opExpr = '\'' + $opStr + '\''; /*used in error*/ }} + if ({{# def.$dataNotType:'number' }} + ( {{=$schemaValue}} === undefined + || {{=$schemaExcl}} {{=$op}}= {{=$schemaValue}} + ? {{=$data}} {{=$notOp}}= {{=$schemaExcl}} + : {{=$data}} {{=$notOp}} {{=$schemaValue}} ) + || {{=$data}} !== {{=$data}}) { + {{??}} + {{ + if ($exclIsNumber && $schema === undefined) { + {{# def.setExclusiveLimit }} + $schemaValue = $schemaExcl; + $notOp += '='; + } else { + if ($exclIsNumber) + $schemaValue = Math[$isMax ? 'min' : 'max']($schemaExcl, $schema); + + if ($schemaExcl === ($exclIsNumber ? $schemaValue : true)) { + {{# def.setExclusiveLimit }} + $notOp += '='; + } else { + $exclusive = false; + $opStr += '='; + } + } + + var $opExpr = '\'' + $opStr + '\''; /*used in error*/ + }} + + if ({{# def.$dataNotType:'number' }} + {{=$data}} {{=$notOp}} {{=$schemaValue}} + || {{=$data}} !== {{=$data}}) { + {{?}} +{{?}} + {{ $errorKeyword = $errorKeyword || $keyword; }} + {{# def.error:'_limit' }} + } {{? $breakOnError }} else { {{?}} diff --git a/node_modules/ajv/lib/dot/_limitItems.jst b/node_modules/ajv/lib/dot/_limitItems.jst new file mode 100644 index 0000000..741329e --- /dev/null +++ b/node_modules/ajv/lib/dot/_limitItems.jst @@ -0,0 +1,12 @@ +{{# def.definitions }} +{{# def.errors }} +{{# def.setupKeyword }} +{{# def.$data }} + +{{# def.numberKeyword }} + +{{ var $op = $keyword == 'maxItems' ? '>' : '<'; }} +if ({{# def.$dataNotType:'number' }} {{=$data}}.length {{=$op}} {{=$schemaValue}}) { + {{ var $errorKeyword = $keyword; }} + {{# def.error:'_limitItems' }} +} {{? $breakOnError }} else { {{?}} diff --git a/node_modules/ajv/lib/dot/_limitLength.jst b/node_modules/ajv/lib/dot/_limitLength.jst new file mode 100644 index 0000000..285c66b --- /dev/null +++ b/node_modules/ajv/lib/dot/_limitLength.jst @@ -0,0 +1,12 @@ +{{# def.definitions }} +{{# def.errors }} +{{# def.setupKeyword }} +{{# def.$data }} + +{{# def.numberKeyword }} + +{{ var $op = $keyword == 'maxLength' ? '>' : '<'; }} +if ({{# def.$dataNotType:'number' }} {{# def.strLength }} {{=$op}} {{=$schemaValue}}) { + {{ var $errorKeyword = $keyword; }} + {{# def.error:'_limitLength' }} +} {{? $breakOnError }} else { {{?}} diff --git a/node_modules/ajv/lib/dot/_limitProperties.jst b/node_modules/ajv/lib/dot/_limitProperties.jst new file mode 100644 index 0000000..c4c2155 --- /dev/null +++ b/node_modules/ajv/lib/dot/_limitProperties.jst @@ -0,0 +1,12 @@ +{{# def.definitions }} +{{# def.errors }} +{{# def.setupKeyword }} +{{# def.$data }} + +{{# def.numberKeyword }} + +{{ var $op = $keyword == 'maxProperties' ? '>' : '<'; }} +if ({{# def.$dataNotType:'number' }} Object.keys({{=$data}}).length {{=$op}} {{=$schemaValue}}) { + {{ var $errorKeyword = $keyword; }} + {{# def.error:'_limitProperties' }} +} {{? $breakOnError }} else { {{?}} diff --git a/node_modules/ajv/lib/dot/allOf.jst b/node_modules/ajv/lib/dot/allOf.jst new file mode 100644 index 0000000..0e782fe --- /dev/null +++ b/node_modules/ajv/lib/dot/allOf.jst @@ -0,0 +1,32 @@ +{{# def.definitions }} +{{# def.errors }} +{{# def.setupKeyword }} +{{# def.setupNextLevel }} + +{{ + var $currentBaseId = $it.baseId + , $allSchemasEmpty = true; +}} + +{{~ $schema:$sch:$i }} + {{? {{# def.nonEmptySchema:$sch }} }} + {{ + $allSchemasEmpty = false; + $it.schema = $sch; + $it.schemaPath = $schemaPath + '[' + $i + ']'; + $it.errSchemaPath = $errSchemaPath + '/' + $i; + }} + + {{# def.insertSubschemaCode }} + + {{# def.ifResultValid }} + {{?}} +{{~}} + +{{? $breakOnError }} + {{? $allSchemasEmpty }} + if (true) { + {{??}} + {{= $closingBraces.slice(0,-1) }} + {{?}} +{{?}} diff --git a/node_modules/ajv/lib/dot/anyOf.jst b/node_modules/ajv/lib/dot/anyOf.jst new file mode 100644 index 0000000..ea909ee --- /dev/null +++ b/node_modules/ajv/lib/dot/anyOf.jst @@ -0,0 +1,46 @@ +{{# def.definitions }} +{{# def.errors }} +{{# def.setupKeyword }} +{{# def.setupNextLevel }} + +{{ + var $noEmptySchema = $schema.every(function($sch) { + return {{# def.nonEmptySchema:$sch }}; + }); +}} +{{? $noEmptySchema }} + {{ var $currentBaseId = $it.baseId; }} + var {{=$errs}} = errors; + var {{=$valid}} = false; + + {{# def.setCompositeRule }} + + {{~ $schema:$sch:$i }} + {{ + $it.schema = $sch; + $it.schemaPath = $schemaPath + '[' + $i + ']'; + $it.errSchemaPath = $errSchemaPath + '/' + $i; + }} + + {{# def.insertSubschemaCode }} + + {{=$valid}} = {{=$valid}} || {{=$nextValid}}; + + if (!{{=$valid}}) { + {{ $closingBraces += '}'; }} + {{~}} + + {{# def.resetCompositeRule }} + + {{= $closingBraces }} + + if (!{{=$valid}}) { + {{# def.extraError:'anyOf' }} + } else { + {{# def.resetErrors }} + {{? it.opts.allErrors }} } {{?}} +{{??}} + {{? $breakOnError }} + if (true) { + {{?}} +{{?}} diff --git a/node_modules/ajv/lib/dot/coerce.def b/node_modules/ajv/lib/dot/coerce.def new file mode 100644 index 0000000..c947ed6 --- /dev/null +++ b/node_modules/ajv/lib/dot/coerce.def @@ -0,0 +1,51 @@ +{{## def.coerceType: + {{ + var $dataType = 'dataType' + $lvl + , $coerced = 'coerced' + $lvl; + }} + var {{=$dataType}} = typeof {{=$data}}; + var {{=$coerced}} = undefined; + + {{? it.opts.coerceTypes == 'array' }} + if ({{=$dataType}} == 'object' && Array.isArray({{=$data}}) && {{=$data}}.length == 1) { + {{=$data}} = {{=$data}}[0]; + {{=$dataType}} = typeof {{=$data}}; + if ({{=it.util.checkDataType(it.schema.type, $data, it.opts.strictNumbers)}}) {{=$coerced}} = {{=$data}}; + } + {{?}} + + if ({{=$coerced}} !== undefined) ; + {{~ $coerceToTypes:$type:$i }} + {{? $type == 'string' }} + else if ({{=$dataType}} == 'number' || {{=$dataType}} == 'boolean') + {{=$coerced}} = '' + {{=$data}}; + else if ({{=$data}} === null) {{=$coerced}} = ''; + {{?? $type == 'number' || $type == 'integer' }} + else if ({{=$dataType}} == 'boolean' || {{=$data}} === null + || ({{=$dataType}} == 'string' && {{=$data}} && {{=$data}} == +{{=$data}} + {{? $type == 'integer' }} && !({{=$data}} % 1){{?}})) + {{=$coerced}} = +{{=$data}}; + {{?? $type == 'boolean' }} + else if ({{=$data}} === 'false' || {{=$data}} === 0 || {{=$data}} === null) + {{=$coerced}} = false; + else if ({{=$data}} === 'true' || {{=$data}} === 1) + {{=$coerced}} = true; + {{?? $type == 'null' }} + else if ({{=$data}} === '' || {{=$data}} === 0 || {{=$data}} === false) + {{=$coerced}} = null; + {{?? it.opts.coerceTypes == 'array' && $type == 'array' }} + else if ({{=$dataType}} == 'string' || {{=$dataType}} == 'number' || {{=$dataType}} == 'boolean' || {{=$data}} == null) + {{=$coerced}} = [{{=$data}}]; + {{?}} + {{~}} + else { + {{# def.error:'type' }} + } + + if ({{=$coerced}} !== undefined) { + {{# def.setParentData }} + {{=$data}} = {{=$coerced}}; + {{? !$dataLvl }}if ({{=$parentData}} !== undefined){{?}} + {{=$parentData}}[{{=$parentDataProperty}}] = {{=$coerced}}; + } +#}} diff --git a/node_modules/ajv/lib/dot/comment.jst b/node_modules/ajv/lib/dot/comment.jst new file mode 100644 index 0000000..f959150 --- /dev/null +++ b/node_modules/ajv/lib/dot/comment.jst @@ -0,0 +1,9 @@ +{{# def.definitions }} +{{# def.setupKeyword }} + +{{ var $comment = it.util.toQuotedString($schema); }} +{{? it.opts.$comment === true }} + console.log({{=$comment}}); +{{?? typeof it.opts.$comment == 'function' }} + self._opts.$comment({{=$comment}}, {{=it.util.toQuotedString($errSchemaPath)}}, validate.root.schema); +{{?}} diff --git a/node_modules/ajv/lib/dot/const.jst b/node_modules/ajv/lib/dot/const.jst new file mode 100644 index 0000000..2aa2298 --- /dev/null +++ b/node_modules/ajv/lib/dot/const.jst @@ -0,0 +1,11 @@ +{{# def.definitions }} +{{# def.errors }} +{{# def.setupKeyword }} +{{# def.$data }} + +{{? !$isData }} + var schema{{=$lvl}} = validate.schema{{=$schemaPath}}; +{{?}} +var {{=$valid}} = equal({{=$data}}, schema{{=$lvl}}); +{{# def.checkError:'const' }} +{{? $breakOnError }} else { {{?}} diff --git a/node_modules/ajv/lib/dot/contains.jst b/node_modules/ajv/lib/dot/contains.jst new file mode 100644 index 0000000..4dc9967 --- /dev/null +++ b/node_modules/ajv/lib/dot/contains.jst @@ -0,0 +1,55 @@ +{{# def.definitions }} +{{# def.errors }} +{{# def.setupKeyword }} +{{# def.setupNextLevel }} + + +{{ + var $idx = 'i' + $lvl + , $dataNxt = $it.dataLevel = it.dataLevel + 1 + , $nextData = 'data' + $dataNxt + , $currentBaseId = it.baseId + , $nonEmptySchema = {{# def.nonEmptySchema:$schema }}; +}} + +var {{=$errs}} = errors; +var {{=$valid}}; + +{{? $nonEmptySchema }} + {{# def.setCompositeRule }} + + {{ + $it.schema = $schema; + $it.schemaPath = $schemaPath; + $it.errSchemaPath = $errSchemaPath; + }} + + var {{=$nextValid}} = false; + + for (var {{=$idx}} = 0; {{=$idx}} < {{=$data}}.length; {{=$idx}}++) { + {{ + $it.errorPath = it.util.getPathExpr(it.errorPath, $idx, it.opts.jsonPointers, true); + var $passData = $data + '[' + $idx + ']'; + $it.dataPathArr[$dataNxt] = $idx; + }} + + {{# def.generateSubschemaCode }} + {{# def.optimizeValidate }} + + if ({{=$nextValid}}) break; + } + + {{# def.resetCompositeRule }} + {{= $closingBraces }} + + if (!{{=$nextValid}}) { +{{??}} + if ({{=$data}}.length == 0) { +{{?}} + + {{# def.error:'contains' }} + } else { + {{? $nonEmptySchema }} + {{# def.resetErrors }} + {{?}} + {{? it.opts.allErrors }} } {{?}} diff --git a/node_modules/ajv/lib/dot/custom.jst b/node_modules/ajv/lib/dot/custom.jst new file mode 100644 index 0000000..d30588f --- /dev/null +++ b/node_modules/ajv/lib/dot/custom.jst @@ -0,0 +1,191 @@ +{{# def.definitions }} +{{# def.errors }} +{{# def.setupKeyword }} +{{# def.$data }} + +{{ + var $rule = this + , $definition = 'definition' + $lvl + , $rDef = $rule.definition + , $closingBraces = ''; + var $validate = $rDef.validate; + var $compile, $inline, $macro, $ruleValidate, $validateCode; +}} + +{{? $isData && $rDef.$data }} + {{ + $validateCode = 'keywordValidate' + $lvl; + var $validateSchema = $rDef.validateSchema; + }} + var {{=$definition}} = RULES.custom['{{=$keyword}}'].definition; + var {{=$validateCode}} = {{=$definition}}.validate; +{{??}} + {{ + $ruleValidate = it.useCustomRule($rule, $schema, it.schema, it); + if (!$ruleValidate) return; + $schemaValue = 'validate.schema' + $schemaPath; + $validateCode = $ruleValidate.code; + $compile = $rDef.compile; + $inline = $rDef.inline; + $macro = $rDef.macro; + }} +{{?}} + +{{ + var $ruleErrs = $validateCode + '.errors' + , $i = 'i' + $lvl + , $ruleErr = 'ruleErr' + $lvl + , $asyncKeyword = $rDef.async; + + if ($asyncKeyword && !it.async) + throw new Error('async keyword in sync schema'); +}} + + +{{? !($inline || $macro) }}{{=$ruleErrs}} = null;{{?}} +var {{=$errs}} = errors; +var {{=$valid}}; + +{{## def.callRuleValidate: + {{=$validateCode}}.call( + {{? it.opts.passContext }}this{{??}}self{{?}} + {{? $compile || $rDef.schema === false }} + , {{=$data}} + {{??}} + , {{=$schemaValue}} + , {{=$data}} + , validate.schema{{=it.schemaPath}} + {{?}} + , {{# def.dataPath }} + {{# def.passParentData }} + , rootData + ) +#}} + +{{## def.extendErrors:_inline: + for (var {{=$i}}={{=$errs}}; {{=$i}} 0) + || _schema === false + : it.util.schemaHasRules(_schema, it.RULES.all)) +#}} + + +{{## def.strLength: + {{? it.opts.unicode === false }} + {{=$data}}.length + {{??}} + ucs2length({{=$data}}) + {{?}} +#}} + + +{{## def.willOptimize: + it.util.varOccurences($code, $nextData) < 2 +#}} + + +{{## def.generateSubschemaCode: + {{ + var $code = it.validate($it); + $it.baseId = $currentBaseId; + }} +#}} + + +{{## def.insertSubschemaCode: + {{= it.validate($it) }} + {{ $it.baseId = $currentBaseId; }} +#}} + + +{{## def._optimizeValidate: + it.util.varReplace($code, $nextData, $passData) +#}} + + +{{## def.optimizeValidate: + {{? {{# def.willOptimize}} }} + {{= {{# def._optimizeValidate }} }} + {{??}} + var {{=$nextData}} = {{=$passData}}; + {{= $code }} + {{?}} +#}} + + +{{## def.$data: + {{ + var $isData = it.opts.$data && $schema && $schema.$data + , $schemaValue; + }} + {{? $isData }} + var schema{{=$lvl}} = {{= it.util.getData($schema.$data, $dataLvl, it.dataPathArr) }}; + {{ $schemaValue = 'schema' + $lvl; }} + {{??}} + {{ $schemaValue = $schema; }} + {{?}} +#}} + + +{{## def.$dataNotType:_type: + {{?$isData}} ({{=$schemaValue}} !== undefined && typeof {{=$schemaValue}} != _type) || {{?}} +#}} + + +{{## def.check$dataIsArray: + if (schema{{=$lvl}} === undefined) {{=$valid}} = true; + else if (!Array.isArray(schema{{=$lvl}})) {{=$valid}} = false; + else { +#}} + + +{{## def.numberKeyword: + {{? !($isData || typeof $schema == 'number') }} + {{ throw new Error($keyword + ' must be number'); }} + {{?}} +#}} + + +{{## def.beginDefOut: + {{ + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; + }} +#}} + + +{{## def.storeDefOut:_variable: + {{ + var _variable = out; + out = $$outStack.pop(); + }} +#}} + + +{{## def.dataPath:(dataPath || ''){{? it.errorPath != '""'}} + {{= it.errorPath }}{{?}}#}} + +{{## def.setParentData: + {{ + var $parentData = $dataLvl ? 'data' + (($dataLvl-1)||'') : 'parentData' + , $parentDataProperty = $dataLvl ? it.dataPathArr[$dataLvl] : 'parentDataProperty'; + }} +#}} + +{{## def.passParentData: + {{# def.setParentData }} + , {{= $parentData }} + , {{= $parentDataProperty }} +#}} + + +{{## def.iterateProperties: + {{? $ownProperties }} + {{=$dataProperties}} = {{=$dataProperties}} || Object.keys({{=$data}}); + for (var {{=$idx}}=0; {{=$idx}}<{{=$dataProperties}}.length; {{=$idx}}++) { + var {{=$key}} = {{=$dataProperties}}[{{=$idx}}]; + {{??}} + for (var {{=$key}} in {{=$data}}) { + {{?}} +#}} + + +{{## def.noPropertyInData: + {{=$useData}} === undefined + {{? $ownProperties }} + || !{{# def.isOwnProperty }} + {{?}} +#}} + + +{{## def.isOwnProperty: + Object.prototype.hasOwnProperty.call({{=$data}}, '{{=it.util.escapeQuotes($propertyKey)}}') +#}} diff --git a/node_modules/ajv/lib/dot/dependencies.jst b/node_modules/ajv/lib/dot/dependencies.jst new file mode 100644 index 0000000..e4bddde --- /dev/null +++ b/node_modules/ajv/lib/dot/dependencies.jst @@ -0,0 +1,79 @@ +{{# def.definitions }} +{{# def.errors }} +{{# def.missing }} +{{# def.setupKeyword }} +{{# def.setupNextLevel }} + + +{{## def.propertyInData: + {{=$data}}{{= it.util.getProperty($property) }} !== undefined + {{? $ownProperties }} + && Object.prototype.hasOwnProperty.call({{=$data}}, '{{=it.util.escapeQuotes($property)}}') + {{?}} +#}} + + +{{ + var $schemaDeps = {} + , $propertyDeps = {} + , $ownProperties = it.opts.ownProperties; + + for ($property in $schema) { + if ($property == '__proto__') continue; + var $sch = $schema[$property]; + var $deps = Array.isArray($sch) ? $propertyDeps : $schemaDeps; + $deps[$property] = $sch; + } +}} + +var {{=$errs}} = errors; + +{{ var $currentErrorPath = it.errorPath; }} + +var missing{{=$lvl}}; +{{ for (var $property in $propertyDeps) { }} + {{ $deps = $propertyDeps[$property]; }} + {{? $deps.length }} + if ({{# def.propertyInData }} + {{? $breakOnError }} + && ({{# def.checkMissingProperty:$deps }})) { + {{# def.errorMissingProperty:'dependencies' }} + {{??}} + ) { + {{~ $deps:$propertyKey }} + {{# def.allErrorsMissingProperty:'dependencies' }} + {{~}} + {{?}} + } {{# def.elseIfValid }} + {{?}} +{{ } }} + +{{ + it.errorPath = $currentErrorPath; + var $currentBaseId = $it.baseId; +}} + + +{{ for (var $property in $schemaDeps) { }} + {{ var $sch = $schemaDeps[$property]; }} + {{? {{# def.nonEmptySchema:$sch }} }} + {{=$nextValid}} = true; + + if ({{# def.propertyInData }}) { + {{ + $it.schema = $sch; + $it.schemaPath = $schemaPath + it.util.getProperty($property); + $it.errSchemaPath = $errSchemaPath + '/' + it.util.escapeFragment($property); + }} + + {{# def.insertSubschemaCode }} + } + + {{# def.ifResultValid }} + {{?}} +{{ } }} + +{{? $breakOnError }} + {{= $closingBraces }} + if ({{=$errs}} == errors) { +{{?}} diff --git a/node_modules/ajv/lib/dot/enum.jst b/node_modules/ajv/lib/dot/enum.jst new file mode 100644 index 0000000..357c2e8 --- /dev/null +++ b/node_modules/ajv/lib/dot/enum.jst @@ -0,0 +1,30 @@ +{{# def.definitions }} +{{# def.errors }} +{{# def.setupKeyword }} +{{# def.$data }} + +{{ + var $i = 'i' + $lvl + , $vSchema = 'schema' + $lvl; +}} + +{{? !$isData }} + var {{=$vSchema}} = validate.schema{{=$schemaPath}}; +{{?}} +var {{=$valid}}; + +{{?$isData}}{{# def.check$dataIsArray }}{{?}} + +{{=$valid}} = false; + +for (var {{=$i}}=0; {{=$i}}<{{=$vSchema}}.length; {{=$i}}++) + if (equal({{=$data}}, {{=$vSchema}}[{{=$i}}])) { + {{=$valid}} = true; + break; + } + +{{? $isData }} } {{?}} + +{{# def.checkError:'enum' }} + +{{? $breakOnError }} else { {{?}} diff --git a/node_modules/ajv/lib/dot/errors.def b/node_modules/ajv/lib/dot/errors.def new file mode 100644 index 0000000..5c5752c --- /dev/null +++ b/node_modules/ajv/lib/dot/errors.def @@ -0,0 +1,194 @@ +{{# def.definitions }} + +{{## def._error:_rule: + {{ 'istanbul ignore else'; }} + {{? it.createErrors !== false }} + { + keyword: '{{= $errorKeyword || _rule }}' + , dataPath: (dataPath || '') + {{= it.errorPath }} + , schemaPath: {{=it.util.toQuotedString($errSchemaPath)}} + , params: {{# def._errorParams[_rule] }} + {{? it.opts.messages !== false }} + , message: {{# def._errorMessages[_rule] }} + {{?}} + {{? it.opts.verbose }} + , schema: {{# def._errorSchemas[_rule] }} + , parentSchema: validate.schema{{=it.schemaPath}} + , data: {{=$data}} + {{?}} + } + {{??}} + {} + {{?}} +#}} + + +{{## def._addError:_rule: + if (vErrors === null) vErrors = [err]; + else vErrors.push(err); + errors++; +#}} + + +{{## def.addError:_rule: + var err = {{# def._error:_rule }}; + {{# def._addError:_rule }} +#}} + + +{{## def.error:_rule: + {{# def.beginDefOut}} + {{# def._error:_rule }} + {{# def.storeDefOut:__err }} + + {{? !it.compositeRule && $breakOnError }} + {{ 'istanbul ignore if'; }} + {{? it.async }} + throw new ValidationError([{{=__err}}]); + {{??}} + validate.errors = [{{=__err}}]; + return false; + {{?}} + {{??}} + var err = {{=__err}}; + {{# def._addError:_rule }} + {{?}} +#}} + + +{{## def.extraError:_rule: + {{# def.addError:_rule}} + {{? !it.compositeRule && $breakOnError }} + {{ 'istanbul ignore if'; }} + {{? it.async }} + throw new ValidationError(vErrors); + {{??}} + validate.errors = vErrors; + return false; + {{?}} + {{?}} +#}} + + +{{## def.checkError:_rule: + if (!{{=$valid}}) { + {{# def.error:_rule }} + } +#}} + + +{{## def.resetErrors: + errors = {{=$errs}}; + if (vErrors !== null) { + if ({{=$errs}}) vErrors.length = {{=$errs}}; + else vErrors = null; + } +#}} + + +{{## def.concatSchema:{{?$isData}}' + {{=$schemaValue}} + '{{??}}{{=$schema}}{{?}}#}} +{{## def.appendSchema:{{?$isData}}' + {{=$schemaValue}}{{??}}{{=$schemaValue}}'{{?}}#}} +{{## def.concatSchemaEQ:{{?$isData}}' + {{=$schemaValue}} + '{{??}}{{=it.util.escapeQuotes($schema)}}{{?}}#}} + +{{## def._errorMessages = { + 'false schema': "'boolean schema is false'", + $ref: "'can\\\'t resolve reference {{=it.util.escapeQuotes($schema)}}'", + additionalItems: "'should NOT have more than {{=$schema.length}} items'", + additionalProperties: "'{{? it.opts._errorDataPathProperty }}is an invalid additional property{{??}}should NOT have additional properties{{?}}'", + anyOf: "'should match some schema in anyOf'", + const: "'should be equal to constant'", + contains: "'should contain a valid item'", + dependencies: "'should have {{? $deps.length == 1 }}property {{= it.util.escapeQuotes($deps[0]) }}{{??}}properties {{= it.util.escapeQuotes($deps.join(\", \")) }}{{?}} when property {{= it.util.escapeQuotes($property) }} is present'", + 'enum': "'should be equal to one of the allowed values'", + format: "'should match format \"{{#def.concatSchemaEQ}}\"'", + 'if': "'should match \"' + {{=$ifClause}} + '\" schema'", + _limit: "'should be {{=$opStr}} {{#def.appendSchema}}", + _exclusiveLimit: "'{{=$exclusiveKeyword}} should be boolean'", + _limitItems: "'should NOT have {{?$keyword=='maxItems'}}more{{??}}fewer{{?}} than {{#def.concatSchema}} items'", + _limitLength: "'should NOT be {{?$keyword=='maxLength'}}longer{{??}}shorter{{?}} than {{#def.concatSchema}} characters'", + _limitProperties:"'should NOT have {{?$keyword=='maxProperties'}}more{{??}}fewer{{?}} than {{#def.concatSchema}} properties'", + multipleOf: "'should be multiple of {{#def.appendSchema}}", + not: "'should NOT be valid'", + oneOf: "'should match exactly one schema in oneOf'", + pattern: "'should match pattern \"{{#def.concatSchemaEQ}}\"'", + propertyNames: "'property name \\'{{=$invalidName}}\\' is invalid'", + required: "'{{? it.opts._errorDataPathProperty }}is a required property{{??}}should have required property \\'{{=$missingProperty}}\\'{{?}}'", + type: "'should be {{? $typeIsArray }}{{= $typeSchema.join(\",\") }}{{??}}{{=$typeSchema}}{{?}}'", + uniqueItems: "'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)'", + custom: "'should pass \"{{=$rule.keyword}}\" keyword validation'", + patternRequired: "'should have property matching pattern \\'{{=$missingPattern}}\\''", + switch: "'should pass \"switch\" keyword validation'", + _formatLimit: "'should be {{=$opStr}} \"{{#def.concatSchemaEQ}}\"'", + _formatExclusiveLimit: "'{{=$exclusiveKeyword}} should be boolean'" +} #}} + + +{{## def.schemaRefOrVal: {{?$isData}}validate.schema{{=$schemaPath}}{{??}}{{=$schema}}{{?}} #}} +{{## def.schemaRefOrQS: {{?$isData}}validate.schema{{=$schemaPath}}{{??}}{{=it.util.toQuotedString($schema)}}{{?}} #}} + +{{## def._errorSchemas = { + 'false schema': "false", + $ref: "{{=it.util.toQuotedString($schema)}}", + additionalItems: "false", + additionalProperties: "false", + anyOf: "validate.schema{{=$schemaPath}}", + const: "validate.schema{{=$schemaPath}}", + contains: "validate.schema{{=$schemaPath}}", + dependencies: "validate.schema{{=$schemaPath}}", + 'enum': "validate.schema{{=$schemaPath}}", + format: "{{#def.schemaRefOrQS}}", + 'if': "validate.schema{{=$schemaPath}}", + _limit: "{{#def.schemaRefOrVal}}", + _exclusiveLimit: "validate.schema{{=$schemaPath}}", + _limitItems: "{{#def.schemaRefOrVal}}", + _limitLength: "{{#def.schemaRefOrVal}}", + _limitProperties:"{{#def.schemaRefOrVal}}", + multipleOf: "{{#def.schemaRefOrVal}}", + not: "validate.schema{{=$schemaPath}}", + oneOf: "validate.schema{{=$schemaPath}}", + pattern: "{{#def.schemaRefOrQS}}", + propertyNames: "validate.schema{{=$schemaPath}}", + required: "validate.schema{{=$schemaPath}}", + type: "validate.schema{{=$schemaPath}}", + uniqueItems: "{{#def.schemaRefOrVal}}", + custom: "validate.schema{{=$schemaPath}}", + patternRequired: "validate.schema{{=$schemaPath}}", + switch: "validate.schema{{=$schemaPath}}", + _formatLimit: "{{#def.schemaRefOrQS}}", + _formatExclusiveLimit: "validate.schema{{=$schemaPath}}" +} #}} + + +{{## def.schemaValueQS: {{?$isData}}{{=$schemaValue}}{{??}}{{=it.util.toQuotedString($schema)}}{{?}} #}} + +{{## def._errorParams = { + 'false schema': "{}", + $ref: "{ ref: '{{=it.util.escapeQuotes($schema)}}' }", + additionalItems: "{ limit: {{=$schema.length}} }", + additionalProperties: "{ additionalProperty: '{{=$additionalProperty}}' }", + anyOf: "{}", + const: "{ allowedValue: schema{{=$lvl}} }", + contains: "{}", + dependencies: "{ property: '{{= it.util.escapeQuotes($property) }}', missingProperty: '{{=$missingProperty}}', depsCount: {{=$deps.length}}, deps: '{{= it.util.escapeQuotes($deps.length==1 ? $deps[0] : $deps.join(\", \")) }}' }", + 'enum': "{ allowedValues: schema{{=$lvl}} }", + format: "{ format: {{#def.schemaValueQS}} }", + 'if': "{ failingKeyword: {{=$ifClause}} }", + _limit: "{ comparison: {{=$opExpr}}, limit: {{=$schemaValue}}, exclusive: {{=$exclusive}} }", + _exclusiveLimit: "{}", + _limitItems: "{ limit: {{=$schemaValue}} }", + _limitLength: "{ limit: {{=$schemaValue}} }", + _limitProperties:"{ limit: {{=$schemaValue}} }", + multipleOf: "{ multipleOf: {{=$schemaValue}} }", + not: "{}", + oneOf: "{ passingSchemas: {{=$passingSchemas}} }", + pattern: "{ pattern: {{#def.schemaValueQS}} }", + propertyNames: "{ propertyName: '{{=$invalidName}}' }", + required: "{ missingProperty: '{{=$missingProperty}}' }", + type: "{ type: '{{? $typeIsArray }}{{= $typeSchema.join(\",\") }}{{??}}{{=$typeSchema}}{{?}}' }", + uniqueItems: "{ i: i, j: j }", + custom: "{ keyword: '{{=$rule.keyword}}' }", + patternRequired: "{ missingPattern: '{{=$missingPattern}}' }", + switch: "{ caseIndex: {{=$caseIndex}} }", + _formatLimit: "{ comparison: {{=$opExpr}}, limit: {{#def.schemaValueQS}}, exclusive: {{=$exclusive}} }", + _formatExclusiveLimit: "{}" +} #}} diff --git a/node_modules/ajv/lib/dot/format.jst b/node_modules/ajv/lib/dot/format.jst new file mode 100644 index 0000000..37f14da --- /dev/null +++ b/node_modules/ajv/lib/dot/format.jst @@ -0,0 +1,106 @@ +{{# def.definitions }} +{{# def.errors }} +{{# def.setupKeyword }} + +{{## def.skipFormat: + {{? $breakOnError }} if (true) { {{?}} + {{ return out; }} +#}} + +{{? it.opts.format === false }}{{# def.skipFormat }}{{?}} + + +{{# def.$data }} + + +{{## def.$dataCheckFormat: + {{# def.$dataNotType:'string' }} + ({{? $unknownFormats != 'ignore' }} + ({{=$schemaValue}} && !{{=$format}} + {{? $allowUnknown }} + && self._opts.unknownFormats.indexOf({{=$schemaValue}}) == -1 + {{?}}) || + {{?}} + ({{=$format}} && {{=$formatType}} == '{{=$ruleType}}' + && !(typeof {{=$format}} == 'function' + ? {{? it.async}} + (async{{=$lvl}} ? await {{=$format}}({{=$data}}) : {{=$format}}({{=$data}})) + {{??}} + {{=$format}}({{=$data}}) + {{?}} + : {{=$format}}.test({{=$data}})))) +#}} + +{{## def.checkFormat: + {{ + var $formatRef = 'formats' + it.util.getProperty($schema); + if ($isObject) $formatRef += '.validate'; + }} + {{? typeof $format == 'function' }} + {{=$formatRef}}({{=$data}}) + {{??}} + {{=$formatRef}}.test({{=$data}}) + {{?}} +#}} + + +{{ + var $unknownFormats = it.opts.unknownFormats + , $allowUnknown = Array.isArray($unknownFormats); +}} + +{{? $isData }} + {{ + var $format = 'format' + $lvl + , $isObject = 'isObject' + $lvl + , $formatType = 'formatType' + $lvl; + }} + var {{=$format}} = formats[{{=$schemaValue}}]; + var {{=$isObject}} = typeof {{=$format}} == 'object' + && !({{=$format}} instanceof RegExp) + && {{=$format}}.validate; + var {{=$formatType}} = {{=$isObject}} && {{=$format}}.type || 'string'; + if ({{=$isObject}}) { + {{? it.async}} + var async{{=$lvl}} = {{=$format}}.async; + {{?}} + {{=$format}} = {{=$format}}.validate; + } + if ({{# def.$dataCheckFormat }}) { +{{??}} + {{ var $format = it.formats[$schema]; }} + {{? !$format }} + {{? $unknownFormats == 'ignore' }} + {{ it.logger.warn('unknown format "' + $schema + '" ignored in schema at path "' + it.errSchemaPath + '"'); }} + {{# def.skipFormat }} + {{?? $allowUnknown && $unknownFormats.indexOf($schema) >= 0 }} + {{# def.skipFormat }} + {{??}} + {{ throw new Error('unknown format "' + $schema + '" is used in schema at path "' + it.errSchemaPath + '"'); }} + {{?}} + {{?}} + {{ + var $isObject = typeof $format == 'object' + && !($format instanceof RegExp) + && $format.validate; + var $formatType = $isObject && $format.type || 'string'; + if ($isObject) { + var $async = $format.async === true; + $format = $format.validate; + } + }} + {{? $formatType != $ruleType }} + {{# def.skipFormat }} + {{?}} + {{? $async }} + {{ + if (!it.async) throw new Error('async format in sync schema'); + var $formatRef = 'formats' + it.util.getProperty($schema) + '.validate'; + }} + if (!(await {{=$formatRef}}({{=$data}}))) { + {{??}} + if (!{{# def.checkFormat }}) { + {{?}} +{{?}} + {{# def.error:'format' }} + } {{? $breakOnError }} else { {{?}} diff --git a/node_modules/ajv/lib/dot/if.jst b/node_modules/ajv/lib/dot/if.jst new file mode 100644 index 0000000..adb5036 --- /dev/null +++ b/node_modules/ajv/lib/dot/if.jst @@ -0,0 +1,73 @@ +{{# def.definitions }} +{{# def.errors }} +{{# def.setupKeyword }} +{{# def.setupNextLevel }} + + +{{## def.validateIfClause:_clause: + {{ + $it.schema = it.schema['_clause']; + $it.schemaPath = it.schemaPath + '._clause'; + $it.errSchemaPath = it.errSchemaPath + '/_clause'; + }} + {{# def.insertSubschemaCode }} + {{=$valid}} = {{=$nextValid}}; + {{? $thenPresent && $elsePresent }} + {{ $ifClause = 'ifClause' + $lvl; }} + var {{=$ifClause}} = '_clause'; + {{??}} + {{ $ifClause = '\'_clause\''; }} + {{?}} +#}} + +{{ + var $thenSch = it.schema['then'] + , $elseSch = it.schema['else'] + , $thenPresent = $thenSch !== undefined && {{# def.nonEmptySchema:$thenSch }} + , $elsePresent = $elseSch !== undefined && {{# def.nonEmptySchema:$elseSch }} + , $currentBaseId = $it.baseId; +}} + +{{? $thenPresent || $elsePresent }} + {{ + var $ifClause; + $it.createErrors = false; + $it.schema = $schema; + $it.schemaPath = $schemaPath; + $it.errSchemaPath = $errSchemaPath; + }} + var {{=$errs}} = errors; + var {{=$valid}} = true; + + {{# def.setCompositeRule }} + {{# def.insertSubschemaCode }} + {{ $it.createErrors = true; }} + {{# def.resetErrors }} + {{# def.resetCompositeRule }} + + {{? $thenPresent }} + if ({{=$nextValid}}) { + {{# def.validateIfClause:then }} + } + {{? $elsePresent }} + else { + {{?}} + {{??}} + if (!{{=$nextValid}}) { + {{?}} + + {{? $elsePresent }} + {{# def.validateIfClause:else }} + } + {{?}} + + if (!{{=$valid}}) { + {{# def.extraError:'if' }} + } + {{? $breakOnError }} else { {{?}} +{{??}} + {{? $breakOnError }} + if (true) { + {{?}} +{{?}} + diff --git a/node_modules/ajv/lib/dot/items.jst b/node_modules/ajv/lib/dot/items.jst new file mode 100644 index 0000000..acc932a --- /dev/null +++ b/node_modules/ajv/lib/dot/items.jst @@ -0,0 +1,98 @@ +{{# def.definitions }} +{{# def.errors }} +{{# def.setupKeyword }} +{{# def.setupNextLevel }} + + +{{## def.validateItems:startFrom: + for (var {{=$idx}} = {{=startFrom}}; {{=$idx}} < {{=$data}}.length; {{=$idx}}++) { + {{ + $it.errorPath = it.util.getPathExpr(it.errorPath, $idx, it.opts.jsonPointers, true); + var $passData = $data + '[' + $idx + ']'; + $it.dataPathArr[$dataNxt] = $idx; + }} + + {{# def.generateSubschemaCode }} + {{# def.optimizeValidate }} + + {{? $breakOnError }} + if (!{{=$nextValid}}) break; + {{?}} + } +#}} + +{{ + var $idx = 'i' + $lvl + , $dataNxt = $it.dataLevel = it.dataLevel + 1 + , $nextData = 'data' + $dataNxt + , $currentBaseId = it.baseId; +}} + +var {{=$errs}} = errors; +var {{=$valid}}; + +{{? Array.isArray($schema) }} + {{ /* 'items' is an array of schemas */}} + {{ var $additionalItems = it.schema.additionalItems; }} + {{? $additionalItems === false }} + {{=$valid}} = {{=$data}}.length <= {{= $schema.length }}; + {{ + var $currErrSchemaPath = $errSchemaPath; + $errSchemaPath = it.errSchemaPath + '/additionalItems'; + }} + {{# def.checkError:'additionalItems' }} + {{ $errSchemaPath = $currErrSchemaPath; }} + {{# def.elseIfValid}} + {{?}} + + {{~ $schema:$sch:$i }} + {{? {{# def.nonEmptySchema:$sch }} }} + {{=$nextValid}} = true; + + if ({{=$data}}.length > {{=$i}}) { + {{ + var $passData = $data + '[' + $i + ']'; + $it.schema = $sch; + $it.schemaPath = $schemaPath + '[' + $i + ']'; + $it.errSchemaPath = $errSchemaPath + '/' + $i; + $it.errorPath = it.util.getPathExpr(it.errorPath, $i, it.opts.jsonPointers, true); + $it.dataPathArr[$dataNxt] = $i; + }} + + {{# def.generateSubschemaCode }} + {{# def.optimizeValidate }} + } + + {{# def.ifResultValid }} + {{?}} + {{~}} + + {{? typeof $additionalItems == 'object' && {{# def.nonEmptySchema:$additionalItems }} }} + {{ + $it.schema = $additionalItems; + $it.schemaPath = it.schemaPath + '.additionalItems'; + $it.errSchemaPath = it.errSchemaPath + '/additionalItems'; + }} + {{=$nextValid}} = true; + + if ({{=$data}}.length > {{= $schema.length }}) { + {{# def.validateItems: $schema.length }} + } + + {{# def.ifResultValid }} + {{?}} + +{{?? {{# def.nonEmptySchema:$schema }} }} + {{ /* 'items' is a single schema */}} + {{ + $it.schema = $schema; + $it.schemaPath = $schemaPath; + $it.errSchemaPath = $errSchemaPath; + }} + {{# def.validateItems: 0 }} +{{?}} + +{{? $breakOnError }} + {{= $closingBraces }} + if ({{=$errs}} == errors) { +{{?}} diff --git a/node_modules/ajv/lib/dot/missing.def b/node_modules/ajv/lib/dot/missing.def new file mode 100644 index 0000000..a73b9f9 --- /dev/null +++ b/node_modules/ajv/lib/dot/missing.def @@ -0,0 +1,39 @@ +{{## def.checkMissingProperty:_properties: + {{~ _properties:$propertyKey:$i }} + {{?$i}} || {{?}} + {{ + var $prop = it.util.getProperty($propertyKey) + , $useData = $data + $prop; + }} + ( ({{# def.noPropertyInData }}) && (missing{{=$lvl}} = {{= it.util.toQuotedString(it.opts.jsonPointers ? $propertyKey : $prop) }}) ) + {{~}} +#}} + + +{{## def.errorMissingProperty:_error: + {{ + var $propertyPath = 'missing' + $lvl + , $missingProperty = '\' + ' + $propertyPath + ' + \''; + if (it.opts._errorDataPathProperty) { + it.errorPath = it.opts.jsonPointers + ? it.util.getPathExpr($currentErrorPath, $propertyPath, true) + : $currentErrorPath + ' + ' + $propertyPath; + } + }} + {{# def.error:_error }} +#}} + + +{{## def.allErrorsMissingProperty:_error: + {{ + var $prop = it.util.getProperty($propertyKey) + , $missingProperty = it.util.escapeQuotes($propertyKey) + , $useData = $data + $prop; + if (it.opts._errorDataPathProperty) { + it.errorPath = it.util.getPath($currentErrorPath, $propertyKey, it.opts.jsonPointers); + } + }} + if ({{# def.noPropertyInData }}) { + {{# def.addError:_error }} + } +#}} diff --git a/node_modules/ajv/lib/dot/multipleOf.jst b/node_modules/ajv/lib/dot/multipleOf.jst new file mode 100644 index 0000000..6d88a45 --- /dev/null +++ b/node_modules/ajv/lib/dot/multipleOf.jst @@ -0,0 +1,22 @@ +{{# def.definitions }} +{{# def.errors }} +{{# def.setupKeyword }} +{{# def.$data }} + +{{# def.numberKeyword }} + +var division{{=$lvl}}; +if ({{?$isData}} + {{=$schemaValue}} !== undefined && ( + typeof {{=$schemaValue}} != 'number' || + {{?}} + (division{{=$lvl}} = {{=$data}} / {{=$schemaValue}}, + {{? it.opts.multipleOfPrecision }} + Math.abs(Math.round(division{{=$lvl}}) - division{{=$lvl}}) > 1e-{{=it.opts.multipleOfPrecision}} + {{??}} + division{{=$lvl}} !== parseInt(division{{=$lvl}}) + {{?}} + ) + {{?$isData}} ) {{?}} ) { + {{# def.error:'multipleOf' }} +} {{? $breakOnError }} else { {{?}} diff --git a/node_modules/ajv/lib/dot/not.jst b/node_modules/ajv/lib/dot/not.jst new file mode 100644 index 0000000..e03185a --- /dev/null +++ b/node_modules/ajv/lib/dot/not.jst @@ -0,0 +1,43 @@ +{{# def.definitions }} +{{# def.errors }} +{{# def.setupKeyword }} +{{# def.setupNextLevel }} + +{{? {{# def.nonEmptySchema:$schema }} }} + {{ + $it.schema = $schema; + $it.schemaPath = $schemaPath; + $it.errSchemaPath = $errSchemaPath; + }} + + var {{=$errs}} = errors; + + {{# def.setCompositeRule }} + + {{ + $it.createErrors = false; + var $allErrorsOption; + if ($it.opts.allErrors) { + $allErrorsOption = $it.opts.allErrors; + $it.opts.allErrors = false; + } + }} + {{= it.validate($it) }} + {{ + $it.createErrors = true; + if ($allErrorsOption) $it.opts.allErrors = $allErrorsOption; + }} + + {{# def.resetCompositeRule }} + + if ({{=$nextValid}}) { + {{# def.error:'not' }} + } else { + {{# def.resetErrors }} + {{? it.opts.allErrors }} } {{?}} +{{??}} + {{# def.addError:'not' }} + {{? $breakOnError}} + if (false) { + {{?}} +{{?}} diff --git a/node_modules/ajv/lib/dot/oneOf.jst b/node_modules/ajv/lib/dot/oneOf.jst new file mode 100644 index 0000000..bcce2c6 --- /dev/null +++ b/node_modules/ajv/lib/dot/oneOf.jst @@ -0,0 +1,54 @@ +{{# def.definitions }} +{{# def.errors }} +{{# def.setupKeyword }} +{{# def.setupNextLevel }} + +{{ + var $currentBaseId = $it.baseId + , $prevValid = 'prevValid' + $lvl + , $passingSchemas = 'passingSchemas' + $lvl; +}} + +var {{=$errs}} = errors + , {{=$prevValid}} = false + , {{=$valid}} = false + , {{=$passingSchemas}} = null; + +{{# def.setCompositeRule }} + +{{~ $schema:$sch:$i }} + {{? {{# def.nonEmptySchema:$sch }} }} + {{ + $it.schema = $sch; + $it.schemaPath = $schemaPath + '[' + $i + ']'; + $it.errSchemaPath = $errSchemaPath + '/' + $i; + }} + + {{# def.insertSubschemaCode }} + {{??}} + var {{=$nextValid}} = true; + {{?}} + + {{? $i }} + if ({{=$nextValid}} && {{=$prevValid}}) { + {{=$valid}} = false; + {{=$passingSchemas}} = [{{=$passingSchemas}}, {{=$i}}]; + } else { + {{ $closingBraces += '}'; }} + {{?}} + + if ({{=$nextValid}}) { + {{=$valid}} = {{=$prevValid}} = true; + {{=$passingSchemas}} = {{=$i}}; + } +{{~}} + +{{# def.resetCompositeRule }} + +{{= $closingBraces }} + +if (!{{=$valid}}) { + {{# def.extraError:'oneOf' }} +} else { + {{# def.resetErrors }} +{{? it.opts.allErrors }} } {{?}} diff --git a/node_modules/ajv/lib/dot/pattern.jst b/node_modules/ajv/lib/dot/pattern.jst new file mode 100644 index 0000000..3a37ef6 --- /dev/null +++ b/node_modules/ajv/lib/dot/pattern.jst @@ -0,0 +1,14 @@ +{{# def.definitions }} +{{# def.errors }} +{{# def.setupKeyword }} +{{# def.$data }} + +{{ + var $regexp = $isData + ? '(new RegExp(' + $schemaValue + '))' + : it.usePattern($schema); +}} + +if ({{# def.$dataNotType:'string' }} !{{=$regexp}}.test({{=$data}}) ) { + {{# def.error:'pattern' }} +} {{? $breakOnError }} else { {{?}} diff --git a/node_modules/ajv/lib/dot/properties.jst b/node_modules/ajv/lib/dot/properties.jst new file mode 100644 index 0000000..5cebb9b --- /dev/null +++ b/node_modules/ajv/lib/dot/properties.jst @@ -0,0 +1,245 @@ +{{# def.definitions }} +{{# def.errors }} +{{# def.setupKeyword }} +{{# def.setupNextLevel }} + + +{{## def.validateAdditional: + {{ /* additionalProperties is schema */ + $it.schema = $aProperties; + $it.schemaPath = it.schemaPath + '.additionalProperties'; + $it.errSchemaPath = it.errSchemaPath + '/additionalProperties'; + $it.errorPath = it.opts._errorDataPathProperty + ? it.errorPath + : it.util.getPathExpr(it.errorPath, $key, it.opts.jsonPointers); + var $passData = $data + '[' + $key + ']'; + $it.dataPathArr[$dataNxt] = $key; + }} + + {{# def.generateSubschemaCode }} + {{# def.optimizeValidate }} +#}} + + +{{ + var $key = 'key' + $lvl + , $idx = 'idx' + $lvl + , $dataNxt = $it.dataLevel = it.dataLevel + 1 + , $nextData = 'data' + $dataNxt + , $dataProperties = 'dataProperties' + $lvl; + + var $schemaKeys = Object.keys($schema || {}).filter(notProto) + , $pProperties = it.schema.patternProperties || {} + , $pPropertyKeys = Object.keys($pProperties).filter(notProto) + , $aProperties = it.schema.additionalProperties + , $someProperties = $schemaKeys.length || $pPropertyKeys.length + , $noAdditional = $aProperties === false + , $additionalIsSchema = typeof $aProperties == 'object' + && Object.keys($aProperties).length + , $removeAdditional = it.opts.removeAdditional + , $checkAdditional = $noAdditional || $additionalIsSchema || $removeAdditional + , $ownProperties = it.opts.ownProperties + , $currentBaseId = it.baseId; + + var $required = it.schema.required; + if ($required && !(it.opts.$data && $required.$data) && $required.length < it.opts.loopRequired) { + var $requiredHash = it.util.toHash($required); + } + + function notProto(p) { return p !== '__proto__'; } +}} + + +var {{=$errs}} = errors; +var {{=$nextValid}} = true; +{{? $ownProperties }} + var {{=$dataProperties}} = undefined; +{{?}} + +{{? $checkAdditional }} + {{# def.iterateProperties }} + {{? $someProperties }} + var isAdditional{{=$lvl}} = !(false + {{? $schemaKeys.length }} + {{? $schemaKeys.length > 8 }} + || validate.schema{{=$schemaPath}}.hasOwnProperty({{=$key}}) + {{??}} + {{~ $schemaKeys:$propertyKey }} + || {{=$key}} == {{= it.util.toQuotedString($propertyKey) }} + {{~}} + {{?}} + {{?}} + {{? $pPropertyKeys.length }} + {{~ $pPropertyKeys:$pProperty:$i }} + || {{= it.usePattern($pProperty) }}.test({{=$key}}) + {{~}} + {{?}} + ); + + if (isAdditional{{=$lvl}}) { + {{?}} + {{? $removeAdditional == 'all' }} + delete {{=$data}}[{{=$key}}]; + {{??}} + {{ + var $currentErrorPath = it.errorPath; + var $additionalProperty = '\' + ' + $key + ' + \''; + if (it.opts._errorDataPathProperty) { + it.errorPath = it.util.getPathExpr(it.errorPath, $key, it.opts.jsonPointers); + } + }} + {{? $noAdditional }} + {{? $removeAdditional }} + delete {{=$data}}[{{=$key}}]; + {{??}} + {{=$nextValid}} = false; + {{ + var $currErrSchemaPath = $errSchemaPath; + $errSchemaPath = it.errSchemaPath + '/additionalProperties'; + }} + {{# def.error:'additionalProperties' }} + {{ $errSchemaPath = $currErrSchemaPath; }} + {{? $breakOnError }} break; {{?}} + {{?}} + {{?? $additionalIsSchema }} + {{? $removeAdditional == 'failing' }} + var {{=$errs}} = errors; + {{# def.setCompositeRule }} + + {{# def.validateAdditional }} + + if (!{{=$nextValid}}) { + errors = {{=$errs}}; + if (validate.errors !== null) { + if (errors) validate.errors.length = errors; + else validate.errors = null; + } + delete {{=$data}}[{{=$key}}]; + } + + {{# def.resetCompositeRule }} + {{??}} + {{# def.validateAdditional }} + {{? $breakOnError }} if (!{{=$nextValid}}) break; {{?}} + {{?}} + {{?}} + {{ it.errorPath = $currentErrorPath; }} + {{?}} + {{? $someProperties }} + } + {{?}} + } + + {{# def.ifResultValid }} +{{?}} + +{{ var $useDefaults = it.opts.useDefaults && !it.compositeRule; }} + +{{? $schemaKeys.length }} + {{~ $schemaKeys:$propertyKey }} + {{ var $sch = $schema[$propertyKey]; }} + + {{? {{# def.nonEmptySchema:$sch}} }} + {{ + var $prop = it.util.getProperty($propertyKey) + , $passData = $data + $prop + , $hasDefault = $useDefaults && $sch.default !== undefined; + $it.schema = $sch; + $it.schemaPath = $schemaPath + $prop; + $it.errSchemaPath = $errSchemaPath + '/' + it.util.escapeFragment($propertyKey); + $it.errorPath = it.util.getPath(it.errorPath, $propertyKey, it.opts.jsonPointers); + $it.dataPathArr[$dataNxt] = it.util.toQuotedString($propertyKey); + }} + + {{# def.generateSubschemaCode }} + + {{? {{# def.willOptimize }} }} + {{ + $code = {{# def._optimizeValidate }}; + var $useData = $passData; + }} + {{??}} + {{ var $useData = $nextData; }} + var {{=$nextData}} = {{=$passData}}; + {{?}} + + {{? $hasDefault }} + {{= $code }} + {{??}} + {{? $requiredHash && $requiredHash[$propertyKey] }} + if ({{# def.noPropertyInData }}) { + {{=$nextValid}} = false; + {{ + var $currentErrorPath = it.errorPath + , $currErrSchemaPath = $errSchemaPath + , $missingProperty = it.util.escapeQuotes($propertyKey); + if (it.opts._errorDataPathProperty) { + it.errorPath = it.util.getPath($currentErrorPath, $propertyKey, it.opts.jsonPointers); + } + $errSchemaPath = it.errSchemaPath + '/required'; + }} + {{# def.error:'required' }} + {{ $errSchemaPath = $currErrSchemaPath; }} + {{ it.errorPath = $currentErrorPath; }} + } else { + {{??}} + {{? $breakOnError }} + if ({{# def.noPropertyInData }}) { + {{=$nextValid}} = true; + } else { + {{??}} + if ({{=$useData}} !== undefined + {{? $ownProperties }} + && {{# def.isOwnProperty }} + {{?}} + ) { + {{?}} + {{?}} + + {{= $code }} + } + {{?}} {{ /* $hasDefault */ }} + {{?}} {{ /* def.nonEmptySchema */ }} + + {{# def.ifResultValid }} + {{~}} +{{?}} + +{{? $pPropertyKeys.length }} + {{~ $pPropertyKeys:$pProperty }} + {{ var $sch = $pProperties[$pProperty]; }} + + {{? {{# def.nonEmptySchema:$sch}} }} + {{ + $it.schema = $sch; + $it.schemaPath = it.schemaPath + '.patternProperties' + it.util.getProperty($pProperty); + $it.errSchemaPath = it.errSchemaPath + '/patternProperties/' + + it.util.escapeFragment($pProperty); + }} + + {{# def.iterateProperties }} + if ({{= it.usePattern($pProperty) }}.test({{=$key}})) { + {{ + $it.errorPath = it.util.getPathExpr(it.errorPath, $key, it.opts.jsonPointers); + var $passData = $data + '[' + $key + ']'; + $it.dataPathArr[$dataNxt] = $key; + }} + + {{# def.generateSubschemaCode }} + {{# def.optimizeValidate }} + + {{? $breakOnError }} if (!{{=$nextValid}}) break; {{?}} + } + {{? $breakOnError }} else {{=$nextValid}} = true; {{?}} + } + + {{# def.ifResultValid }} + {{?}} {{ /* def.nonEmptySchema */ }} + {{~}} +{{?}} + + +{{? $breakOnError }} + {{= $closingBraces }} + if ({{=$errs}} == errors) { +{{?}} diff --git a/node_modules/ajv/lib/dot/propertyNames.jst b/node_modules/ajv/lib/dot/propertyNames.jst new file mode 100644 index 0000000..d456cca --- /dev/null +++ b/node_modules/ajv/lib/dot/propertyNames.jst @@ -0,0 +1,52 @@ +{{# def.definitions }} +{{# def.errors }} +{{# def.setupKeyword }} +{{# def.setupNextLevel }} + +var {{=$errs}} = errors; + +{{? {{# def.nonEmptySchema:$schema }} }} + {{ + $it.schema = $schema; + $it.schemaPath = $schemaPath; + $it.errSchemaPath = $errSchemaPath; + }} + + {{ + var $key = 'key' + $lvl + , $idx = 'idx' + $lvl + , $i = 'i' + $lvl + , $invalidName = '\' + ' + $key + ' + \'' + , $dataNxt = $it.dataLevel = it.dataLevel + 1 + , $nextData = 'data' + $dataNxt + , $dataProperties = 'dataProperties' + $lvl + , $ownProperties = it.opts.ownProperties + , $currentBaseId = it.baseId; + }} + + {{? $ownProperties }} + var {{=$dataProperties}} = undefined; + {{?}} + {{# def.iterateProperties }} + var startErrs{{=$lvl}} = errors; + + {{ var $passData = $key; }} + {{# def.setCompositeRule }} + {{# def.generateSubschemaCode }} + {{# def.optimizeValidate }} + {{# def.resetCompositeRule }} + + if (!{{=$nextValid}}) { + for (var {{=$i}}=startErrs{{=$lvl}}; {{=$i}}= it.opts.loopRequired + , $ownProperties = it.opts.ownProperties; + }} + + {{? $breakOnError }} + var missing{{=$lvl}}; + {{? $loopRequired }} + {{# def.setupLoop }} + var {{=$valid}} = true; + + {{?$isData}}{{# def.check$dataIsArray }}{{?}} + + for (var {{=$i}} = 0; {{=$i}} < {{=$vSchema}}.length; {{=$i}}++) { + {{=$valid}} = {{=$data}}[{{=$vSchema}}[{{=$i}}]] !== undefined + {{? $ownProperties }} + && {{# def.isRequiredOwnProperty }} + {{?}}; + if (!{{=$valid}}) break; + } + + {{? $isData }} } {{?}} + + {{# def.checkError:'required' }} + else { + {{??}} + if ({{# def.checkMissingProperty:$required }}) { + {{# def.errorMissingProperty:'required' }} + } else { + {{?}} + {{??}} + {{? $loopRequired }} + {{# def.setupLoop }} + {{? $isData }} + if ({{=$vSchema}} && !Array.isArray({{=$vSchema}})) { + {{# def.addError:'required' }} + } else if ({{=$vSchema}} !== undefined) { + {{?}} + + for (var {{=$i}} = 0; {{=$i}} < {{=$vSchema}}.length; {{=$i}}++) { + if ({{=$data}}[{{=$vSchema}}[{{=$i}}]] === undefined + {{? $ownProperties }} + || !{{# def.isRequiredOwnProperty }} + {{?}}) { + {{# def.addError:'required' }} + } + } + + {{? $isData }} } {{?}} + {{??}} + {{~ $required:$propertyKey }} + {{# def.allErrorsMissingProperty:'required' }} + {{~}} + {{?}} + {{?}} + + {{ it.errorPath = $currentErrorPath; }} + +{{?? $breakOnError }} + if (true) { +{{?}} diff --git a/node_modules/ajv/lib/dot/uniqueItems.jst b/node_modules/ajv/lib/dot/uniqueItems.jst new file mode 100644 index 0000000..e69b830 --- /dev/null +++ b/node_modules/ajv/lib/dot/uniqueItems.jst @@ -0,0 +1,62 @@ +{{# def.definitions }} +{{# def.errors }} +{{# def.setupKeyword }} +{{# def.$data }} + + +{{? ($schema || $isData) && it.opts.uniqueItems !== false }} + {{? $isData }} + var {{=$valid}}; + if ({{=$schemaValue}} === false || {{=$schemaValue}} === undefined) + {{=$valid}} = true; + else if (typeof {{=$schemaValue}} != 'boolean') + {{=$valid}} = false; + else { + {{?}} + + var i = {{=$data}}.length + , {{=$valid}} = true + , j; + if (i > 1) { + {{ + var $itemType = it.schema.items && it.schema.items.type + , $typeIsArray = Array.isArray($itemType); + }} + {{? !$itemType || $itemType == 'object' || $itemType == 'array' || + ($typeIsArray && ($itemType.indexOf('object') >= 0 || $itemType.indexOf('array') >= 0)) }} + outer: + for (;i--;) { + for (j = i; j--;) { + if (equal({{=$data}}[i], {{=$data}}[j])) { + {{=$valid}} = false; + break outer; + } + } + } + {{??}} + var itemIndices = {}, item; + for (;i--;) { + var item = {{=$data}}[i]; + {{ var $method = 'checkDataType' + ($typeIsArray ? 's' : ''); }} + if ({{= it.util[$method]($itemType, 'item', it.opts.strictNumbers, true) }}) continue; + {{? $typeIsArray}} + if (typeof item == 'string') item = '"' + item; + {{?}} + if (typeof itemIndices[item] == 'number') { + {{=$valid}} = false; + j = itemIndices[item]; + break; + } + itemIndices[item] = i; + } + {{?}} + } + + {{? $isData }} } {{?}} + + if (!{{=$valid}}) { + {{# def.error:'uniqueItems' }} + } {{? $breakOnError }} else { {{?}} +{{??}} + {{? $breakOnError }} if (true) { {{?}} +{{?}} diff --git a/node_modules/ajv/lib/dot/validate.jst b/node_modules/ajv/lib/dot/validate.jst new file mode 100644 index 0000000..32087e7 --- /dev/null +++ b/node_modules/ajv/lib/dot/validate.jst @@ -0,0 +1,276 @@ +{{# def.definitions }} +{{# def.errors }} +{{# def.defaults }} +{{# def.coerce }} + +{{ /** + * schema compilation (render) time: + * it = { schema, RULES, _validate, opts } + * it.validate - this template function, + * it is used recursively to generate code for subschemas + * + * runtime: + * "validate" is a variable name to which this function will be assigned + * validateRef etc. are defined in the parent scope in index.js + */ }} + +{{ + var $async = it.schema.$async === true + , $refKeywords = it.util.schemaHasRulesExcept(it.schema, it.RULES.all, '$ref') + , $id = it.self._getId(it.schema); +}} + +{{ + if (it.opts.strictKeywords) { + var $unknownKwd = it.util.schemaUnknownRules(it.schema, it.RULES.keywords); + if ($unknownKwd) { + var $keywordsMsg = 'unknown keyword: ' + $unknownKwd; + if (it.opts.strictKeywords === 'log') it.logger.warn($keywordsMsg); + else throw new Error($keywordsMsg); + } + } +}} + +{{? it.isTop }} + var validate = {{?$async}}{{it.async = true;}}async {{?}}function(data, dataPath, parentData, parentDataProperty, rootData) { + 'use strict'; + {{? $id && (it.opts.sourceCode || it.opts.processCode) }} + {{= '/\*# sourceURL=' + $id + ' */' }} + {{?}} +{{?}} + +{{? typeof it.schema == 'boolean' || !($refKeywords || it.schema.$ref) }} + {{ var $keyword = 'false schema'; }} + {{# def.setupKeyword }} + {{? it.schema === false}} + {{? it.isTop}} + {{ $breakOnError = true; }} + {{??}} + var {{=$valid}} = false; + {{?}} + {{# def.error:'false schema' }} + {{??}} + {{? it.isTop}} + {{? $async }} + return data; + {{??}} + validate.errors = null; + return true; + {{?}} + {{??}} + var {{=$valid}} = true; + {{?}} + {{?}} + + {{? it.isTop}} + }; + return validate; + {{?}} + + {{ return out; }} +{{?}} + + +{{? it.isTop }} + {{ + var $top = it.isTop + , $lvl = it.level = 0 + , $dataLvl = it.dataLevel = 0 + , $data = 'data'; + it.rootId = it.resolve.fullPath(it.self._getId(it.root.schema)); + it.baseId = it.baseId || it.rootId; + delete it.isTop; + + it.dataPathArr = [""]; + + if (it.schema.default !== undefined && it.opts.useDefaults && it.opts.strictDefaults) { + var $defaultMsg = 'default is ignored in the schema root'; + if (it.opts.strictDefaults === 'log') it.logger.warn($defaultMsg); + else throw new Error($defaultMsg); + } + }} + + var vErrors = null; {{ /* don't edit, used in replace */ }} + var errors = 0; {{ /* don't edit, used in replace */ }} + if (rootData === undefined) rootData = data; {{ /* don't edit, used in replace */ }} +{{??}} + {{ + var $lvl = it.level + , $dataLvl = it.dataLevel + , $data = 'data' + ($dataLvl || ''); + + if ($id) it.baseId = it.resolve.url(it.baseId, $id); + + if ($async && !it.async) throw new Error('async schema in sync schema'); + }} + + var errs_{{=$lvl}} = errors; +{{?}} + +{{ + var $valid = 'valid' + $lvl + , $breakOnError = !it.opts.allErrors + , $closingBraces1 = '' + , $closingBraces2 = ''; + + var $errorKeyword; + var $typeSchema = it.schema.type + , $typeIsArray = Array.isArray($typeSchema); + + if ($typeSchema && it.opts.nullable && it.schema.nullable === true) { + if ($typeIsArray) { + if ($typeSchema.indexOf('null') == -1) + $typeSchema = $typeSchema.concat('null'); + } else if ($typeSchema != 'null') { + $typeSchema = [$typeSchema, 'null']; + $typeIsArray = true; + } + } + + if ($typeIsArray && $typeSchema.length == 1) { + $typeSchema = $typeSchema[0]; + $typeIsArray = false; + } +}} + +{{## def.checkType: + {{ + var $schemaPath = it.schemaPath + '.type' + , $errSchemaPath = it.errSchemaPath + '/type' + , $method = $typeIsArray ? 'checkDataTypes' : 'checkDataType'; + }} + + if ({{= it.util[$method]($typeSchema, $data, it.opts.strictNumbers, true) }}) { +#}} + +{{? it.schema.$ref && $refKeywords }} + {{? it.opts.extendRefs == 'fail' }} + {{ throw new Error('$ref: validation keywords used in schema at path "' + it.errSchemaPath + '" (see option extendRefs)'); }} + {{?? it.opts.extendRefs !== true }} + {{ + $refKeywords = false; + it.logger.warn('$ref: keywords ignored in schema at path "' + it.errSchemaPath + '"'); + }} + {{?}} +{{?}} + +{{? it.schema.$comment && it.opts.$comment }} + {{= it.RULES.all.$comment.code(it, '$comment') }} +{{?}} + +{{? $typeSchema }} + {{? it.opts.coerceTypes }} + {{ var $coerceToTypes = it.util.coerceToTypes(it.opts.coerceTypes, $typeSchema); }} + {{?}} + + {{ var $rulesGroup = it.RULES.types[$typeSchema]; }} + {{? $coerceToTypes || $typeIsArray || $rulesGroup === true || + ($rulesGroup && !$shouldUseGroup($rulesGroup)) }} + {{ + var $schemaPath = it.schemaPath + '.type' + , $errSchemaPath = it.errSchemaPath + '/type'; + }} + {{# def.checkType }} + {{? $coerceToTypes }} + {{# def.coerceType }} + {{??}} + {{# def.error:'type' }} + {{?}} + } + {{?}} +{{?}} + + +{{? it.schema.$ref && !$refKeywords }} + {{= it.RULES.all.$ref.code(it, '$ref') }} + {{? $breakOnError }} + } + if (errors === {{?$top}}0{{??}}errs_{{=$lvl}}{{?}}) { + {{ $closingBraces2 += '}'; }} + {{?}} +{{??}} + {{~ it.RULES:$rulesGroup }} + {{? $shouldUseGroup($rulesGroup) }} + {{? $rulesGroup.type }} + if ({{= it.util.checkDataType($rulesGroup.type, $data, it.opts.strictNumbers) }}) { + {{?}} + {{? it.opts.useDefaults }} + {{? $rulesGroup.type == 'object' && it.schema.properties }} + {{# def.defaultProperties }} + {{?? $rulesGroup.type == 'array' && Array.isArray(it.schema.items) }} + {{# def.defaultItems }} + {{?}} + {{?}} + {{~ $rulesGroup.rules:$rule }} + {{? $shouldUseRule($rule) }} + {{ var $code = $rule.code(it, $rule.keyword, $rulesGroup.type); }} + {{? $code }} + {{= $code }} + {{? $breakOnError }} + {{ $closingBraces1 += '}'; }} + {{?}} + {{?}} + {{?}} + {{~}} + {{? $breakOnError }} + {{= $closingBraces1 }} + {{ $closingBraces1 = ''; }} + {{?}} + {{? $rulesGroup.type }} + } + {{? $typeSchema && $typeSchema === $rulesGroup.type && !$coerceToTypes }} + else { + {{ + var $schemaPath = it.schemaPath + '.type' + , $errSchemaPath = it.errSchemaPath + '/type'; + }} + {{# def.error:'type' }} + } + {{?}} + {{?}} + + {{? $breakOnError }} + if (errors === {{?$top}}0{{??}}errs_{{=$lvl}}{{?}}) { + {{ $closingBraces2 += '}'; }} + {{?}} + {{?}} + {{~}} +{{?}} + +{{? $breakOnError }} {{= $closingBraces2 }} {{?}} + +{{? $top }} + {{? $async }} + if (errors === 0) return data; {{ /* don't edit, used in replace */ }} + else throw new ValidationError(vErrors); {{ /* don't edit, used in replace */ }} + {{??}} + validate.errors = vErrors; {{ /* don't edit, used in replace */ }} + return errors === 0; {{ /* don't edit, used in replace */ }} + {{?}} + }; + + return validate; +{{??}} + var {{=$valid}} = errors === errs_{{=$lvl}}; +{{?}} + +{{ + function $shouldUseGroup($rulesGroup) { + var rules = $rulesGroup.rules; + for (var i=0; i < rules.length; i++) + if ($shouldUseRule(rules[i])) + return true; + } + + function $shouldUseRule($rule) { + return it.schema[$rule.keyword] !== undefined || + ($rule.implements && $ruleImplementsSomeKeyword($rule)); + } + + function $ruleImplementsSomeKeyword($rule) { + var impl = $rule.implements; + for (var i=0; i < impl.length; i++) + if (it.schema[impl[i]] !== undefined) + return true; + } +}} diff --git a/node_modules/ajv/lib/dotjs/README.md b/node_modules/ajv/lib/dotjs/README.md new file mode 100644 index 0000000..4d99484 --- /dev/null +++ b/node_modules/ajv/lib/dotjs/README.md @@ -0,0 +1,3 @@ +These files are compiled dot templates from dot folder. + +Do NOT edit them directly, edit the templates and run `npm run build` from main ajv folder. diff --git a/node_modules/ajv/lib/dotjs/_limit.js b/node_modules/ajv/lib/dotjs/_limit.js new file mode 100644 index 0000000..05a1979 --- /dev/null +++ b/node_modules/ajv/lib/dotjs/_limit.js @@ -0,0 +1,163 @@ +'use strict'; +module.exports = function generate__limit(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $errorKeyword; + var $data = 'data' + ($dataLvl || ''); + var $isData = it.opts.$data && $schema && $schema.$data, + $schemaValue; + if ($isData) { + out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; + $schemaValue = 'schema' + $lvl; + } else { + $schemaValue = $schema; + } + var $isMax = $keyword == 'maximum', + $exclusiveKeyword = $isMax ? 'exclusiveMaximum' : 'exclusiveMinimum', + $schemaExcl = it.schema[$exclusiveKeyword], + $isDataExcl = it.opts.$data && $schemaExcl && $schemaExcl.$data, + $op = $isMax ? '<' : '>', + $notOp = $isMax ? '>' : '<', + $errorKeyword = undefined; + if (!($isData || typeof $schema == 'number' || $schema === undefined)) { + throw new Error($keyword + ' must be number'); + } + if (!($isDataExcl || $schemaExcl === undefined || typeof $schemaExcl == 'number' || typeof $schemaExcl == 'boolean')) { + throw new Error($exclusiveKeyword + ' must be number or boolean'); + } + if ($isDataExcl) { + var $schemaValueExcl = it.util.getData($schemaExcl.$data, $dataLvl, it.dataPathArr), + $exclusive = 'exclusive' + $lvl, + $exclType = 'exclType' + $lvl, + $exclIsNumber = 'exclIsNumber' + $lvl, + $opExpr = 'op' + $lvl, + $opStr = '\' + ' + $opExpr + ' + \''; + out += ' var schemaExcl' + ($lvl) + ' = ' + ($schemaValueExcl) + '; '; + $schemaValueExcl = 'schemaExcl' + $lvl; + out += ' var ' + ($exclusive) + '; var ' + ($exclType) + ' = typeof ' + ($schemaValueExcl) + '; if (' + ($exclType) + ' != \'boolean\' && ' + ($exclType) + ' != \'undefined\' && ' + ($exclType) + ' != \'number\') { '; + var $errorKeyword = $exclusiveKeyword; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ($errorKeyword || '_exclusiveLimit') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} '; + if (it.opts.messages !== false) { + out += ' , message: \'' + ($exclusiveKeyword) + ' should be boolean\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' } else if ( '; + if ($isData) { + out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'number\') || '; + } + out += ' ' + ($exclType) + ' == \'number\' ? ( (' + ($exclusive) + ' = ' + ($schemaValue) + ' === undefined || ' + ($schemaValueExcl) + ' ' + ($op) + '= ' + ($schemaValue) + ') ? ' + ($data) + ' ' + ($notOp) + '= ' + ($schemaValueExcl) + ' : ' + ($data) + ' ' + ($notOp) + ' ' + ($schemaValue) + ' ) : ( (' + ($exclusive) + ' = ' + ($schemaValueExcl) + ' === true) ? ' + ($data) + ' ' + ($notOp) + '= ' + ($schemaValue) + ' : ' + ($data) + ' ' + ($notOp) + ' ' + ($schemaValue) + ' ) || ' + ($data) + ' !== ' + ($data) + ') { var op' + ($lvl) + ' = ' + ($exclusive) + ' ? \'' + ($op) + '\' : \'' + ($op) + '=\'; '; + if ($schema === undefined) { + $errorKeyword = $exclusiveKeyword; + $errSchemaPath = it.errSchemaPath + '/' + $exclusiveKeyword; + $schemaValue = $schemaValueExcl; + $isData = $isDataExcl; + } + } else { + var $exclIsNumber = typeof $schemaExcl == 'number', + $opStr = $op; + if ($exclIsNumber && $isData) { + var $opExpr = '\'' + $opStr + '\''; + out += ' if ( '; + if ($isData) { + out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'number\') || '; + } + out += ' ( ' + ($schemaValue) + ' === undefined || ' + ($schemaExcl) + ' ' + ($op) + '= ' + ($schemaValue) + ' ? ' + ($data) + ' ' + ($notOp) + '= ' + ($schemaExcl) + ' : ' + ($data) + ' ' + ($notOp) + ' ' + ($schemaValue) + ' ) || ' + ($data) + ' !== ' + ($data) + ') { '; + } else { + if ($exclIsNumber && $schema === undefined) { + $exclusive = true; + $errorKeyword = $exclusiveKeyword; + $errSchemaPath = it.errSchemaPath + '/' + $exclusiveKeyword; + $schemaValue = $schemaExcl; + $notOp += '='; + } else { + if ($exclIsNumber) $schemaValue = Math[$isMax ? 'min' : 'max']($schemaExcl, $schema); + if ($schemaExcl === ($exclIsNumber ? $schemaValue : true)) { + $exclusive = true; + $errorKeyword = $exclusiveKeyword; + $errSchemaPath = it.errSchemaPath + '/' + $exclusiveKeyword; + $notOp += '='; + } else { + $exclusive = false; + $opStr += '='; + } + } + var $opExpr = '\'' + $opStr + '\''; + out += ' if ( '; + if ($isData) { + out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'number\') || '; + } + out += ' ' + ($data) + ' ' + ($notOp) + ' ' + ($schemaValue) + ' || ' + ($data) + ' !== ' + ($data) + ') { '; + } + } + $errorKeyword = $errorKeyword || $keyword; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ($errorKeyword || '_limit') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { comparison: ' + ($opExpr) + ', limit: ' + ($schemaValue) + ', exclusive: ' + ($exclusive) + ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should be ' + ($opStr) + ' '; + if ($isData) { + out += '\' + ' + ($schemaValue); + } else { + out += '' + ($schemaValue) + '\''; + } + } + if (it.opts.verbose) { + out += ' , schema: '; + if ($isData) { + out += 'validate.schema' + ($schemaPath); + } else { + out += '' + ($schema); + } + out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' } '; + if ($breakOnError) { + out += ' else { '; + } + return out; +} diff --git a/node_modules/ajv/lib/dotjs/_limitItems.js b/node_modules/ajv/lib/dotjs/_limitItems.js new file mode 100644 index 0000000..e092a55 --- /dev/null +++ b/node_modules/ajv/lib/dotjs/_limitItems.js @@ -0,0 +1,80 @@ +'use strict'; +module.exports = function generate__limitItems(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $errorKeyword; + var $data = 'data' + ($dataLvl || ''); + var $isData = it.opts.$data && $schema && $schema.$data, + $schemaValue; + if ($isData) { + out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; + $schemaValue = 'schema' + $lvl; + } else { + $schemaValue = $schema; + } + if (!($isData || typeof $schema == 'number')) { + throw new Error($keyword + ' must be number'); + } + var $op = $keyword == 'maxItems' ? '>' : '<'; + out += 'if ( '; + if ($isData) { + out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'number\') || '; + } + out += ' ' + ($data) + '.length ' + ($op) + ' ' + ($schemaValue) + ') { '; + var $errorKeyword = $keyword; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ($errorKeyword || '_limitItems') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { limit: ' + ($schemaValue) + ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should NOT have '; + if ($keyword == 'maxItems') { + out += 'more'; + } else { + out += 'fewer'; + } + out += ' than '; + if ($isData) { + out += '\' + ' + ($schemaValue) + ' + \''; + } else { + out += '' + ($schema); + } + out += ' items\' '; + } + if (it.opts.verbose) { + out += ' , schema: '; + if ($isData) { + out += 'validate.schema' + ($schemaPath); + } else { + out += '' + ($schema); + } + out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += '} '; + if ($breakOnError) { + out += ' else { '; + } + return out; +} diff --git a/node_modules/ajv/lib/dotjs/_limitLength.js b/node_modules/ajv/lib/dotjs/_limitLength.js new file mode 100644 index 0000000..ecbd3fe --- /dev/null +++ b/node_modules/ajv/lib/dotjs/_limitLength.js @@ -0,0 +1,85 @@ +'use strict'; +module.exports = function generate__limitLength(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $errorKeyword; + var $data = 'data' + ($dataLvl || ''); + var $isData = it.opts.$data && $schema && $schema.$data, + $schemaValue; + if ($isData) { + out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; + $schemaValue = 'schema' + $lvl; + } else { + $schemaValue = $schema; + } + if (!($isData || typeof $schema == 'number')) { + throw new Error($keyword + ' must be number'); + } + var $op = $keyword == 'maxLength' ? '>' : '<'; + out += 'if ( '; + if ($isData) { + out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'number\') || '; + } + if (it.opts.unicode === false) { + out += ' ' + ($data) + '.length '; + } else { + out += ' ucs2length(' + ($data) + ') '; + } + out += ' ' + ($op) + ' ' + ($schemaValue) + ') { '; + var $errorKeyword = $keyword; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ($errorKeyword || '_limitLength') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { limit: ' + ($schemaValue) + ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should NOT be '; + if ($keyword == 'maxLength') { + out += 'longer'; + } else { + out += 'shorter'; + } + out += ' than '; + if ($isData) { + out += '\' + ' + ($schemaValue) + ' + \''; + } else { + out += '' + ($schema); + } + out += ' characters\' '; + } + if (it.opts.verbose) { + out += ' , schema: '; + if ($isData) { + out += 'validate.schema' + ($schemaPath); + } else { + out += '' + ($schema); + } + out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += '} '; + if ($breakOnError) { + out += ' else { '; + } + return out; +} diff --git a/node_modules/ajv/lib/dotjs/_limitProperties.js b/node_modules/ajv/lib/dotjs/_limitProperties.js new file mode 100644 index 0000000..d232755 --- /dev/null +++ b/node_modules/ajv/lib/dotjs/_limitProperties.js @@ -0,0 +1,80 @@ +'use strict'; +module.exports = function generate__limitProperties(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $errorKeyword; + var $data = 'data' + ($dataLvl || ''); + var $isData = it.opts.$data && $schema && $schema.$data, + $schemaValue; + if ($isData) { + out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; + $schemaValue = 'schema' + $lvl; + } else { + $schemaValue = $schema; + } + if (!($isData || typeof $schema == 'number')) { + throw new Error($keyword + ' must be number'); + } + var $op = $keyword == 'maxProperties' ? '>' : '<'; + out += 'if ( '; + if ($isData) { + out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'number\') || '; + } + out += ' Object.keys(' + ($data) + ').length ' + ($op) + ' ' + ($schemaValue) + ') { '; + var $errorKeyword = $keyword; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ($errorKeyword || '_limitProperties') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { limit: ' + ($schemaValue) + ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should NOT have '; + if ($keyword == 'maxProperties') { + out += 'more'; + } else { + out += 'fewer'; + } + out += ' than '; + if ($isData) { + out += '\' + ' + ($schemaValue) + ' + \''; + } else { + out += '' + ($schema); + } + out += ' properties\' '; + } + if (it.opts.verbose) { + out += ' , schema: '; + if ($isData) { + out += 'validate.schema' + ($schemaPath); + } else { + out += '' + ($schema); + } + out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += '} '; + if ($breakOnError) { + out += ' else { '; + } + return out; +} diff --git a/node_modules/ajv/lib/dotjs/allOf.js b/node_modules/ajv/lib/dotjs/allOf.js new file mode 100644 index 0000000..fb8c2e4 --- /dev/null +++ b/node_modules/ajv/lib/dotjs/allOf.js @@ -0,0 +1,42 @@ +'use strict'; +module.exports = function generate_allOf(it, $keyword, $ruleType) { + var out = ' '; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $it = it.util.copy(it); + var $closingBraces = ''; + $it.level++; + var $nextValid = 'valid' + $it.level; + var $currentBaseId = $it.baseId, + $allSchemasEmpty = true; + var arr1 = $schema; + if (arr1) { + var $sch, $i = -1, + l1 = arr1.length - 1; + while ($i < l1) { + $sch = arr1[$i += 1]; + if ((it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all))) { + $allSchemasEmpty = false; + $it.schema = $sch; + $it.schemaPath = $schemaPath + '[' + $i + ']'; + $it.errSchemaPath = $errSchemaPath + '/' + $i; + out += ' ' + (it.validate($it)) + ' '; + $it.baseId = $currentBaseId; + if ($breakOnError) { + out += ' if (' + ($nextValid) + ') { '; + $closingBraces += '}'; + } + } + } + } + if ($breakOnError) { + if ($allSchemasEmpty) { + out += ' if (true) { '; + } else { + out += ' ' + ($closingBraces.slice(0, -1)) + ' '; + } + } + return out; +} diff --git a/node_modules/ajv/lib/dotjs/anyOf.js b/node_modules/ajv/lib/dotjs/anyOf.js new file mode 100644 index 0000000..0600a9d --- /dev/null +++ b/node_modules/ajv/lib/dotjs/anyOf.js @@ -0,0 +1,73 @@ +'use strict'; +module.exports = function generate_anyOf(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $valid = 'valid' + $lvl; + var $errs = 'errs__' + $lvl; + var $it = it.util.copy(it); + var $closingBraces = ''; + $it.level++; + var $nextValid = 'valid' + $it.level; + var $noEmptySchema = $schema.every(function($sch) { + return (it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all)); + }); + if ($noEmptySchema) { + var $currentBaseId = $it.baseId; + out += ' var ' + ($errs) + ' = errors; var ' + ($valid) + ' = false; '; + var $wasComposite = it.compositeRule; + it.compositeRule = $it.compositeRule = true; + var arr1 = $schema; + if (arr1) { + var $sch, $i = -1, + l1 = arr1.length - 1; + while ($i < l1) { + $sch = arr1[$i += 1]; + $it.schema = $sch; + $it.schemaPath = $schemaPath + '[' + $i + ']'; + $it.errSchemaPath = $errSchemaPath + '/' + $i; + out += ' ' + (it.validate($it)) + ' '; + $it.baseId = $currentBaseId; + out += ' ' + ($valid) + ' = ' + ($valid) + ' || ' + ($nextValid) + '; if (!' + ($valid) + ') { '; + $closingBraces += '}'; + } + } + it.compositeRule = $it.compositeRule = $wasComposite; + out += ' ' + ($closingBraces) + ' if (!' + ($valid) + ') { var err = '; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('anyOf') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} '; + if (it.opts.messages !== false) { + out += ' , message: \'should match some schema in anyOf\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError(vErrors); '; + } else { + out += ' validate.errors = vErrors; return false; '; + } + } + out += ' } else { errors = ' + ($errs) + '; if (vErrors !== null) { if (' + ($errs) + ') vErrors.length = ' + ($errs) + '; else vErrors = null; } '; + if (it.opts.allErrors) { + out += ' } '; + } + } else { + if ($breakOnError) { + out += ' if (true) { '; + } + } + return out; +} diff --git a/node_modules/ajv/lib/dotjs/comment.js b/node_modules/ajv/lib/dotjs/comment.js new file mode 100644 index 0000000..dd66bb8 --- /dev/null +++ b/node_modules/ajv/lib/dotjs/comment.js @@ -0,0 +1,14 @@ +'use strict'; +module.exports = function generate_comment(it, $keyword, $ruleType) { + var out = ' '; + var $schema = it.schema[$keyword]; + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $comment = it.util.toQuotedString($schema); + if (it.opts.$comment === true) { + out += ' console.log(' + ($comment) + ');'; + } else if (typeof it.opts.$comment == 'function') { + out += ' self._opts.$comment(' + ($comment) + ', ' + (it.util.toQuotedString($errSchemaPath)) + ', validate.root.schema);'; + } + return out; +} diff --git a/node_modules/ajv/lib/dotjs/const.js b/node_modules/ajv/lib/dotjs/const.js new file mode 100644 index 0000000..15b7c61 --- /dev/null +++ b/node_modules/ajv/lib/dotjs/const.js @@ -0,0 +1,56 @@ +'use strict'; +module.exports = function generate_const(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $valid = 'valid' + $lvl; + var $isData = it.opts.$data && $schema && $schema.$data, + $schemaValue; + if ($isData) { + out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; + $schemaValue = 'schema' + $lvl; + } else { + $schemaValue = $schema; + } + if (!$isData) { + out += ' var schema' + ($lvl) + ' = validate.schema' + ($schemaPath) + ';'; + } + out += 'var ' + ($valid) + ' = equal(' + ($data) + ', schema' + ($lvl) + '); if (!' + ($valid) + ') { '; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('const') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { allowedValue: schema' + ($lvl) + ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should be equal to constant\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' }'; + if ($breakOnError) { + out += ' else { '; + } + return out; +} diff --git a/node_modules/ajv/lib/dotjs/contains.js b/node_modules/ajv/lib/dotjs/contains.js new file mode 100644 index 0000000..7d76300 --- /dev/null +++ b/node_modules/ajv/lib/dotjs/contains.js @@ -0,0 +1,81 @@ +'use strict'; +module.exports = function generate_contains(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $valid = 'valid' + $lvl; + var $errs = 'errs__' + $lvl; + var $it = it.util.copy(it); + var $closingBraces = ''; + $it.level++; + var $nextValid = 'valid' + $it.level; + var $idx = 'i' + $lvl, + $dataNxt = $it.dataLevel = it.dataLevel + 1, + $nextData = 'data' + $dataNxt, + $currentBaseId = it.baseId, + $nonEmptySchema = (it.opts.strictKeywords ? (typeof $schema == 'object' && Object.keys($schema).length > 0) || $schema === false : it.util.schemaHasRules($schema, it.RULES.all)); + out += 'var ' + ($errs) + ' = errors;var ' + ($valid) + ';'; + if ($nonEmptySchema) { + var $wasComposite = it.compositeRule; + it.compositeRule = $it.compositeRule = true; + $it.schema = $schema; + $it.schemaPath = $schemaPath; + $it.errSchemaPath = $errSchemaPath; + out += ' var ' + ($nextValid) + ' = false; for (var ' + ($idx) + ' = 0; ' + ($idx) + ' < ' + ($data) + '.length; ' + ($idx) + '++) { '; + $it.errorPath = it.util.getPathExpr(it.errorPath, $idx, it.opts.jsonPointers, true); + var $passData = $data + '[' + $idx + ']'; + $it.dataPathArr[$dataNxt] = $idx; + var $code = it.validate($it); + $it.baseId = $currentBaseId; + if (it.util.varOccurences($code, $nextData) < 2) { + out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; + } else { + out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; + } + out += ' if (' + ($nextValid) + ') break; } '; + it.compositeRule = $it.compositeRule = $wasComposite; + out += ' ' + ($closingBraces) + ' if (!' + ($nextValid) + ') {'; + } else { + out += ' if (' + ($data) + '.length == 0) {'; + } + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('contains') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} '; + if (it.opts.messages !== false) { + out += ' , message: \'should contain a valid item\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' } else { '; + if ($nonEmptySchema) { + out += ' errors = ' + ($errs) + '; if (vErrors !== null) { if (' + ($errs) + ') vErrors.length = ' + ($errs) + '; else vErrors = null; } '; + } + if (it.opts.allErrors) { + out += ' } '; + } + return out; +} diff --git a/node_modules/ajv/lib/dotjs/custom.js b/node_modules/ajv/lib/dotjs/custom.js new file mode 100644 index 0000000..f3e641e --- /dev/null +++ b/node_modules/ajv/lib/dotjs/custom.js @@ -0,0 +1,228 @@ +'use strict'; +module.exports = function generate_custom(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $errorKeyword; + var $data = 'data' + ($dataLvl || ''); + var $valid = 'valid' + $lvl; + var $errs = 'errs__' + $lvl; + var $isData = it.opts.$data && $schema && $schema.$data, + $schemaValue; + if ($isData) { + out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; + $schemaValue = 'schema' + $lvl; + } else { + $schemaValue = $schema; + } + var $rule = this, + $definition = 'definition' + $lvl, + $rDef = $rule.definition, + $closingBraces = ''; + var $compile, $inline, $macro, $ruleValidate, $validateCode; + if ($isData && $rDef.$data) { + $validateCode = 'keywordValidate' + $lvl; + var $validateSchema = $rDef.validateSchema; + out += ' var ' + ($definition) + ' = RULES.custom[\'' + ($keyword) + '\'].definition; var ' + ($validateCode) + ' = ' + ($definition) + '.validate;'; + } else { + $ruleValidate = it.useCustomRule($rule, $schema, it.schema, it); + if (!$ruleValidate) return; + $schemaValue = 'validate.schema' + $schemaPath; + $validateCode = $ruleValidate.code; + $compile = $rDef.compile; + $inline = $rDef.inline; + $macro = $rDef.macro; + } + var $ruleErrs = $validateCode + '.errors', + $i = 'i' + $lvl, + $ruleErr = 'ruleErr' + $lvl, + $asyncKeyword = $rDef.async; + if ($asyncKeyword && !it.async) throw new Error('async keyword in sync schema'); + if (!($inline || $macro)) { + out += '' + ($ruleErrs) + ' = null;'; + } + out += 'var ' + ($errs) + ' = errors;var ' + ($valid) + ';'; + if ($isData && $rDef.$data) { + $closingBraces += '}'; + out += ' if (' + ($schemaValue) + ' === undefined) { ' + ($valid) + ' = true; } else { '; + if ($validateSchema) { + $closingBraces += '}'; + out += ' ' + ($valid) + ' = ' + ($definition) + '.validateSchema(' + ($schemaValue) + '); if (' + ($valid) + ') { '; + } + } + if ($inline) { + if ($rDef.statements) { + out += ' ' + ($ruleValidate.validate) + ' '; + } else { + out += ' ' + ($valid) + ' = ' + ($ruleValidate.validate) + '; '; + } + } else if ($macro) { + var $it = it.util.copy(it); + var $closingBraces = ''; + $it.level++; + var $nextValid = 'valid' + $it.level; + $it.schema = $ruleValidate.validate; + $it.schemaPath = ''; + var $wasComposite = it.compositeRule; + it.compositeRule = $it.compositeRule = true; + var $code = it.validate($it).replace(/validate\.schema/g, $validateCode); + it.compositeRule = $it.compositeRule = $wasComposite; + out += ' ' + ($code); + } else { + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; + out += ' ' + ($validateCode) + '.call( '; + if (it.opts.passContext) { + out += 'this'; + } else { + out += 'self'; + } + if ($compile || $rDef.schema === false) { + out += ' , ' + ($data) + ' '; + } else { + out += ' , ' + ($schemaValue) + ' , ' + ($data) + ' , validate.schema' + (it.schemaPath) + ' '; + } + out += ' , (dataPath || \'\')'; + if (it.errorPath != '""') { + out += ' + ' + (it.errorPath); + } + var $parentData = $dataLvl ? 'data' + (($dataLvl - 1) || '') : 'parentData', + $parentDataProperty = $dataLvl ? it.dataPathArr[$dataLvl] : 'parentDataProperty'; + out += ' , ' + ($parentData) + ' , ' + ($parentDataProperty) + ' , rootData ) '; + var def_callRuleValidate = out; + out = $$outStack.pop(); + if ($rDef.errors === false) { + out += ' ' + ($valid) + ' = '; + if ($asyncKeyword) { + out += 'await '; + } + out += '' + (def_callRuleValidate) + '; '; + } else { + if ($asyncKeyword) { + $ruleErrs = 'customErrors' + $lvl; + out += ' var ' + ($ruleErrs) + ' = null; try { ' + ($valid) + ' = await ' + (def_callRuleValidate) + '; } catch (e) { ' + ($valid) + ' = false; if (e instanceof ValidationError) ' + ($ruleErrs) + ' = e.errors; else throw e; } '; + } else { + out += ' ' + ($ruleErrs) + ' = null; ' + ($valid) + ' = ' + (def_callRuleValidate) + '; '; + } + } + } + if ($rDef.modifying) { + out += ' if (' + ($parentData) + ') ' + ($data) + ' = ' + ($parentData) + '[' + ($parentDataProperty) + '];'; + } + out += '' + ($closingBraces); + if ($rDef.valid) { + if ($breakOnError) { + out += ' if (true) { '; + } + } else { + out += ' if ( '; + if ($rDef.valid === undefined) { + out += ' !'; + if ($macro) { + out += '' + ($nextValid); + } else { + out += '' + ($valid); + } + } else { + out += ' ' + (!$rDef.valid) + ' '; + } + out += ') { '; + $errorKeyword = $rule.keyword; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ($errorKeyword || 'custom') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { keyword: \'' + ($rule.keyword) + '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should pass "' + ($rule.keyword) + '" keyword validation\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + var def_customError = out; + out = $$outStack.pop(); + if ($inline) { + if ($rDef.errors) { + if ($rDef.errors != 'full') { + out += ' for (var ' + ($i) + '=' + ($errs) + '; ' + ($i) + ' 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all))) { + out += ' ' + ($nextValid) + ' = true; if ( ' + ($data) + (it.util.getProperty($property)) + ' !== undefined '; + if ($ownProperties) { + out += ' && Object.prototype.hasOwnProperty.call(' + ($data) + ', \'' + (it.util.escapeQuotes($property)) + '\') '; + } + out += ') { '; + $it.schema = $sch; + $it.schemaPath = $schemaPath + it.util.getProperty($property); + $it.errSchemaPath = $errSchemaPath + '/' + it.util.escapeFragment($property); + out += ' ' + (it.validate($it)) + ' '; + $it.baseId = $currentBaseId; + out += ' } '; + if ($breakOnError) { + out += ' if (' + ($nextValid) + ') { '; + $closingBraces += '}'; + } + } + } + if ($breakOnError) { + out += ' ' + ($closingBraces) + ' if (' + ($errs) + ' == errors) {'; + } + return out; +} diff --git a/node_modules/ajv/lib/dotjs/enum.js b/node_modules/ajv/lib/dotjs/enum.js new file mode 100644 index 0000000..90580b9 --- /dev/null +++ b/node_modules/ajv/lib/dotjs/enum.js @@ -0,0 +1,66 @@ +'use strict'; +module.exports = function generate_enum(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $valid = 'valid' + $lvl; + var $isData = it.opts.$data && $schema && $schema.$data, + $schemaValue; + if ($isData) { + out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; + $schemaValue = 'schema' + $lvl; + } else { + $schemaValue = $schema; + } + var $i = 'i' + $lvl, + $vSchema = 'schema' + $lvl; + if (!$isData) { + out += ' var ' + ($vSchema) + ' = validate.schema' + ($schemaPath) + ';'; + } + out += 'var ' + ($valid) + ';'; + if ($isData) { + out += ' if (schema' + ($lvl) + ' === undefined) ' + ($valid) + ' = true; else if (!Array.isArray(schema' + ($lvl) + ')) ' + ($valid) + ' = false; else {'; + } + out += '' + ($valid) + ' = false;for (var ' + ($i) + '=0; ' + ($i) + '<' + ($vSchema) + '.length; ' + ($i) + '++) if (equal(' + ($data) + ', ' + ($vSchema) + '[' + ($i) + '])) { ' + ($valid) + ' = true; break; }'; + if ($isData) { + out += ' } '; + } + out += ' if (!' + ($valid) + ') { '; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('enum') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { allowedValues: schema' + ($lvl) + ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should be equal to one of the allowed values\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' }'; + if ($breakOnError) { + out += ' else { '; + } + return out; +} diff --git a/node_modules/ajv/lib/dotjs/format.js b/node_modules/ajv/lib/dotjs/format.js new file mode 100644 index 0000000..cd9a569 --- /dev/null +++ b/node_modules/ajv/lib/dotjs/format.js @@ -0,0 +1,150 @@ +'use strict'; +module.exports = function generate_format(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + if (it.opts.format === false) { + if ($breakOnError) { + out += ' if (true) { '; + } + return out; + } + var $isData = it.opts.$data && $schema && $schema.$data, + $schemaValue; + if ($isData) { + out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; + $schemaValue = 'schema' + $lvl; + } else { + $schemaValue = $schema; + } + var $unknownFormats = it.opts.unknownFormats, + $allowUnknown = Array.isArray($unknownFormats); + if ($isData) { + var $format = 'format' + $lvl, + $isObject = 'isObject' + $lvl, + $formatType = 'formatType' + $lvl; + out += ' var ' + ($format) + ' = formats[' + ($schemaValue) + ']; var ' + ($isObject) + ' = typeof ' + ($format) + ' == \'object\' && !(' + ($format) + ' instanceof RegExp) && ' + ($format) + '.validate; var ' + ($formatType) + ' = ' + ($isObject) + ' && ' + ($format) + '.type || \'string\'; if (' + ($isObject) + ') { '; + if (it.async) { + out += ' var async' + ($lvl) + ' = ' + ($format) + '.async; '; + } + out += ' ' + ($format) + ' = ' + ($format) + '.validate; } if ( '; + if ($isData) { + out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'string\') || '; + } + out += ' ('; + if ($unknownFormats != 'ignore') { + out += ' (' + ($schemaValue) + ' && !' + ($format) + ' '; + if ($allowUnknown) { + out += ' && self._opts.unknownFormats.indexOf(' + ($schemaValue) + ') == -1 '; + } + out += ') || '; + } + out += ' (' + ($format) + ' && ' + ($formatType) + ' == \'' + ($ruleType) + '\' && !(typeof ' + ($format) + ' == \'function\' ? '; + if (it.async) { + out += ' (async' + ($lvl) + ' ? await ' + ($format) + '(' + ($data) + ') : ' + ($format) + '(' + ($data) + ')) '; + } else { + out += ' ' + ($format) + '(' + ($data) + ') '; + } + out += ' : ' + ($format) + '.test(' + ($data) + '))))) {'; + } else { + var $format = it.formats[$schema]; + if (!$format) { + if ($unknownFormats == 'ignore') { + it.logger.warn('unknown format "' + $schema + '" ignored in schema at path "' + it.errSchemaPath + '"'); + if ($breakOnError) { + out += ' if (true) { '; + } + return out; + } else if ($allowUnknown && $unknownFormats.indexOf($schema) >= 0) { + if ($breakOnError) { + out += ' if (true) { '; + } + return out; + } else { + throw new Error('unknown format "' + $schema + '" is used in schema at path "' + it.errSchemaPath + '"'); + } + } + var $isObject = typeof $format == 'object' && !($format instanceof RegExp) && $format.validate; + var $formatType = $isObject && $format.type || 'string'; + if ($isObject) { + var $async = $format.async === true; + $format = $format.validate; + } + if ($formatType != $ruleType) { + if ($breakOnError) { + out += ' if (true) { '; + } + return out; + } + if ($async) { + if (!it.async) throw new Error('async format in sync schema'); + var $formatRef = 'formats' + it.util.getProperty($schema) + '.validate'; + out += ' if (!(await ' + ($formatRef) + '(' + ($data) + '))) { '; + } else { + out += ' if (! '; + var $formatRef = 'formats' + it.util.getProperty($schema); + if ($isObject) $formatRef += '.validate'; + if (typeof $format == 'function') { + out += ' ' + ($formatRef) + '(' + ($data) + ') '; + } else { + out += ' ' + ($formatRef) + '.test(' + ($data) + ') '; + } + out += ') { '; + } + } + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('format') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { format: '; + if ($isData) { + out += '' + ($schemaValue); + } else { + out += '' + (it.util.toQuotedString($schema)); + } + out += ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should match format "'; + if ($isData) { + out += '\' + ' + ($schemaValue) + ' + \''; + } else { + out += '' + (it.util.escapeQuotes($schema)); + } + out += '"\' '; + } + if (it.opts.verbose) { + out += ' , schema: '; + if ($isData) { + out += 'validate.schema' + ($schemaPath); + } else { + out += '' + (it.util.toQuotedString($schema)); + } + out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' } '; + if ($breakOnError) { + out += ' else { '; + } + return out; +} diff --git a/node_modules/ajv/lib/dotjs/if.js b/node_modules/ajv/lib/dotjs/if.js new file mode 100644 index 0000000..94d27ad --- /dev/null +++ b/node_modules/ajv/lib/dotjs/if.js @@ -0,0 +1,103 @@ +'use strict'; +module.exports = function generate_if(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $valid = 'valid' + $lvl; + var $errs = 'errs__' + $lvl; + var $it = it.util.copy(it); + $it.level++; + var $nextValid = 'valid' + $it.level; + var $thenSch = it.schema['then'], + $elseSch = it.schema['else'], + $thenPresent = $thenSch !== undefined && (it.opts.strictKeywords ? (typeof $thenSch == 'object' && Object.keys($thenSch).length > 0) || $thenSch === false : it.util.schemaHasRules($thenSch, it.RULES.all)), + $elsePresent = $elseSch !== undefined && (it.opts.strictKeywords ? (typeof $elseSch == 'object' && Object.keys($elseSch).length > 0) || $elseSch === false : it.util.schemaHasRules($elseSch, it.RULES.all)), + $currentBaseId = $it.baseId; + if ($thenPresent || $elsePresent) { + var $ifClause; + $it.createErrors = false; + $it.schema = $schema; + $it.schemaPath = $schemaPath; + $it.errSchemaPath = $errSchemaPath; + out += ' var ' + ($errs) + ' = errors; var ' + ($valid) + ' = true; '; + var $wasComposite = it.compositeRule; + it.compositeRule = $it.compositeRule = true; + out += ' ' + (it.validate($it)) + ' '; + $it.baseId = $currentBaseId; + $it.createErrors = true; + out += ' errors = ' + ($errs) + '; if (vErrors !== null) { if (' + ($errs) + ') vErrors.length = ' + ($errs) + '; else vErrors = null; } '; + it.compositeRule = $it.compositeRule = $wasComposite; + if ($thenPresent) { + out += ' if (' + ($nextValid) + ') { '; + $it.schema = it.schema['then']; + $it.schemaPath = it.schemaPath + '.then'; + $it.errSchemaPath = it.errSchemaPath + '/then'; + out += ' ' + (it.validate($it)) + ' '; + $it.baseId = $currentBaseId; + out += ' ' + ($valid) + ' = ' + ($nextValid) + '; '; + if ($thenPresent && $elsePresent) { + $ifClause = 'ifClause' + $lvl; + out += ' var ' + ($ifClause) + ' = \'then\'; '; + } else { + $ifClause = '\'then\''; + } + out += ' } '; + if ($elsePresent) { + out += ' else { '; + } + } else { + out += ' if (!' + ($nextValid) + ') { '; + } + if ($elsePresent) { + $it.schema = it.schema['else']; + $it.schemaPath = it.schemaPath + '.else'; + $it.errSchemaPath = it.errSchemaPath + '/else'; + out += ' ' + (it.validate($it)) + ' '; + $it.baseId = $currentBaseId; + out += ' ' + ($valid) + ' = ' + ($nextValid) + '; '; + if ($thenPresent && $elsePresent) { + $ifClause = 'ifClause' + $lvl; + out += ' var ' + ($ifClause) + ' = \'else\'; '; + } else { + $ifClause = '\'else\''; + } + out += ' } '; + } + out += ' if (!' + ($valid) + ') { var err = '; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('if') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { failingKeyword: ' + ($ifClause) + ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should match "\' + ' + ($ifClause) + ' + \'" schema\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError(vErrors); '; + } else { + out += ' validate.errors = vErrors; return false; '; + } + } + out += ' } '; + if ($breakOnError) { + out += ' else { '; + } + } else { + if ($breakOnError) { + out += ' if (true) { '; + } + } + return out; +} diff --git a/node_modules/ajv/lib/dotjs/index.js b/node_modules/ajv/lib/dotjs/index.js new file mode 100644 index 0000000..2fb1b00 --- /dev/null +++ b/node_modules/ajv/lib/dotjs/index.js @@ -0,0 +1,33 @@ +'use strict'; + +//all requires must be explicit because browserify won't work with dynamic requires +module.exports = { + '$ref': require('./ref'), + allOf: require('./allOf'), + anyOf: require('./anyOf'), + '$comment': require('./comment'), + const: require('./const'), + contains: require('./contains'), + dependencies: require('./dependencies'), + 'enum': require('./enum'), + format: require('./format'), + 'if': require('./if'), + items: require('./items'), + maximum: require('./_limit'), + minimum: require('./_limit'), + maxItems: require('./_limitItems'), + minItems: require('./_limitItems'), + maxLength: require('./_limitLength'), + minLength: require('./_limitLength'), + maxProperties: require('./_limitProperties'), + minProperties: require('./_limitProperties'), + multipleOf: require('./multipleOf'), + not: require('./not'), + oneOf: require('./oneOf'), + pattern: require('./pattern'), + properties: require('./properties'), + propertyNames: require('./propertyNames'), + required: require('./required'), + uniqueItems: require('./uniqueItems'), + validate: require('./validate') +}; diff --git a/node_modules/ajv/lib/dotjs/items.js b/node_modules/ajv/lib/dotjs/items.js new file mode 100644 index 0000000..bee5d67 --- /dev/null +++ b/node_modules/ajv/lib/dotjs/items.js @@ -0,0 +1,140 @@ +'use strict'; +module.exports = function generate_items(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $valid = 'valid' + $lvl; + var $errs = 'errs__' + $lvl; + var $it = it.util.copy(it); + var $closingBraces = ''; + $it.level++; + var $nextValid = 'valid' + $it.level; + var $idx = 'i' + $lvl, + $dataNxt = $it.dataLevel = it.dataLevel + 1, + $nextData = 'data' + $dataNxt, + $currentBaseId = it.baseId; + out += 'var ' + ($errs) + ' = errors;var ' + ($valid) + ';'; + if (Array.isArray($schema)) { + var $additionalItems = it.schema.additionalItems; + if ($additionalItems === false) { + out += ' ' + ($valid) + ' = ' + ($data) + '.length <= ' + ($schema.length) + '; '; + var $currErrSchemaPath = $errSchemaPath; + $errSchemaPath = it.errSchemaPath + '/additionalItems'; + out += ' if (!' + ($valid) + ') { '; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('additionalItems') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { limit: ' + ($schema.length) + ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should NOT have more than ' + ($schema.length) + ' items\' '; + } + if (it.opts.verbose) { + out += ' , schema: false , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' } '; + $errSchemaPath = $currErrSchemaPath; + if ($breakOnError) { + $closingBraces += '}'; + out += ' else { '; + } + } + var arr1 = $schema; + if (arr1) { + var $sch, $i = -1, + l1 = arr1.length - 1; + while ($i < l1) { + $sch = arr1[$i += 1]; + if ((it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all))) { + out += ' ' + ($nextValid) + ' = true; if (' + ($data) + '.length > ' + ($i) + ') { '; + var $passData = $data + '[' + $i + ']'; + $it.schema = $sch; + $it.schemaPath = $schemaPath + '[' + $i + ']'; + $it.errSchemaPath = $errSchemaPath + '/' + $i; + $it.errorPath = it.util.getPathExpr(it.errorPath, $i, it.opts.jsonPointers, true); + $it.dataPathArr[$dataNxt] = $i; + var $code = it.validate($it); + $it.baseId = $currentBaseId; + if (it.util.varOccurences($code, $nextData) < 2) { + out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; + } else { + out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; + } + out += ' } '; + if ($breakOnError) { + out += ' if (' + ($nextValid) + ') { '; + $closingBraces += '}'; + } + } + } + } + if (typeof $additionalItems == 'object' && (it.opts.strictKeywords ? (typeof $additionalItems == 'object' && Object.keys($additionalItems).length > 0) || $additionalItems === false : it.util.schemaHasRules($additionalItems, it.RULES.all))) { + $it.schema = $additionalItems; + $it.schemaPath = it.schemaPath + '.additionalItems'; + $it.errSchemaPath = it.errSchemaPath + '/additionalItems'; + out += ' ' + ($nextValid) + ' = true; if (' + ($data) + '.length > ' + ($schema.length) + ') { for (var ' + ($idx) + ' = ' + ($schema.length) + '; ' + ($idx) + ' < ' + ($data) + '.length; ' + ($idx) + '++) { '; + $it.errorPath = it.util.getPathExpr(it.errorPath, $idx, it.opts.jsonPointers, true); + var $passData = $data + '[' + $idx + ']'; + $it.dataPathArr[$dataNxt] = $idx; + var $code = it.validate($it); + $it.baseId = $currentBaseId; + if (it.util.varOccurences($code, $nextData) < 2) { + out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; + } else { + out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; + } + if ($breakOnError) { + out += ' if (!' + ($nextValid) + ') break; '; + } + out += ' } } '; + if ($breakOnError) { + out += ' if (' + ($nextValid) + ') { '; + $closingBraces += '}'; + } + } + } else if ((it.opts.strictKeywords ? (typeof $schema == 'object' && Object.keys($schema).length > 0) || $schema === false : it.util.schemaHasRules($schema, it.RULES.all))) { + $it.schema = $schema; + $it.schemaPath = $schemaPath; + $it.errSchemaPath = $errSchemaPath; + out += ' for (var ' + ($idx) + ' = ' + (0) + '; ' + ($idx) + ' < ' + ($data) + '.length; ' + ($idx) + '++) { '; + $it.errorPath = it.util.getPathExpr(it.errorPath, $idx, it.opts.jsonPointers, true); + var $passData = $data + '[' + $idx + ']'; + $it.dataPathArr[$dataNxt] = $idx; + var $code = it.validate($it); + $it.baseId = $currentBaseId; + if (it.util.varOccurences($code, $nextData) < 2) { + out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; + } else { + out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; + } + if ($breakOnError) { + out += ' if (!' + ($nextValid) + ') break; '; + } + out += ' }'; + } + if ($breakOnError) { + out += ' ' + ($closingBraces) + ' if (' + ($errs) + ' == errors) {'; + } + return out; +} diff --git a/node_modules/ajv/lib/dotjs/multipleOf.js b/node_modules/ajv/lib/dotjs/multipleOf.js new file mode 100644 index 0000000..9d6401b --- /dev/null +++ b/node_modules/ajv/lib/dotjs/multipleOf.js @@ -0,0 +1,80 @@ +'use strict'; +module.exports = function generate_multipleOf(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $isData = it.opts.$data && $schema && $schema.$data, + $schemaValue; + if ($isData) { + out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; + $schemaValue = 'schema' + $lvl; + } else { + $schemaValue = $schema; + } + if (!($isData || typeof $schema == 'number')) { + throw new Error($keyword + ' must be number'); + } + out += 'var division' + ($lvl) + ';if ('; + if ($isData) { + out += ' ' + ($schemaValue) + ' !== undefined && ( typeof ' + ($schemaValue) + ' != \'number\' || '; + } + out += ' (division' + ($lvl) + ' = ' + ($data) + ' / ' + ($schemaValue) + ', '; + if (it.opts.multipleOfPrecision) { + out += ' Math.abs(Math.round(division' + ($lvl) + ') - division' + ($lvl) + ') > 1e-' + (it.opts.multipleOfPrecision) + ' '; + } else { + out += ' division' + ($lvl) + ' !== parseInt(division' + ($lvl) + ') '; + } + out += ' ) '; + if ($isData) { + out += ' ) '; + } + out += ' ) { '; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('multipleOf') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { multipleOf: ' + ($schemaValue) + ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should be multiple of '; + if ($isData) { + out += '\' + ' + ($schemaValue); + } else { + out += '' + ($schemaValue) + '\''; + } + } + if (it.opts.verbose) { + out += ' , schema: '; + if ($isData) { + out += 'validate.schema' + ($schemaPath); + } else { + out += '' + ($schema); + } + out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += '} '; + if ($breakOnError) { + out += ' else { '; + } + return out; +} diff --git a/node_modules/ajv/lib/dotjs/not.js b/node_modules/ajv/lib/dotjs/not.js new file mode 100644 index 0000000..f50c937 --- /dev/null +++ b/node_modules/ajv/lib/dotjs/not.js @@ -0,0 +1,84 @@ +'use strict'; +module.exports = function generate_not(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $errs = 'errs__' + $lvl; + var $it = it.util.copy(it); + $it.level++; + var $nextValid = 'valid' + $it.level; + if ((it.opts.strictKeywords ? (typeof $schema == 'object' && Object.keys($schema).length > 0) || $schema === false : it.util.schemaHasRules($schema, it.RULES.all))) { + $it.schema = $schema; + $it.schemaPath = $schemaPath; + $it.errSchemaPath = $errSchemaPath; + out += ' var ' + ($errs) + ' = errors; '; + var $wasComposite = it.compositeRule; + it.compositeRule = $it.compositeRule = true; + $it.createErrors = false; + var $allErrorsOption; + if ($it.opts.allErrors) { + $allErrorsOption = $it.opts.allErrors; + $it.opts.allErrors = false; + } + out += ' ' + (it.validate($it)) + ' '; + $it.createErrors = true; + if ($allErrorsOption) $it.opts.allErrors = $allErrorsOption; + it.compositeRule = $it.compositeRule = $wasComposite; + out += ' if (' + ($nextValid) + ') { '; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('not') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} '; + if (it.opts.messages !== false) { + out += ' , message: \'should NOT be valid\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' } else { errors = ' + ($errs) + '; if (vErrors !== null) { if (' + ($errs) + ') vErrors.length = ' + ($errs) + '; else vErrors = null; } '; + if (it.opts.allErrors) { + out += ' } '; + } + } else { + out += ' var err = '; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('not') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} '; + if (it.opts.messages !== false) { + out += ' , message: \'should NOT be valid\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + if ($breakOnError) { + out += ' if (false) { '; + } + } + return out; +} diff --git a/node_modules/ajv/lib/dotjs/oneOf.js b/node_modules/ajv/lib/dotjs/oneOf.js new file mode 100644 index 0000000..dfe2fd5 --- /dev/null +++ b/node_modules/ajv/lib/dotjs/oneOf.js @@ -0,0 +1,73 @@ +'use strict'; +module.exports = function generate_oneOf(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $valid = 'valid' + $lvl; + var $errs = 'errs__' + $lvl; + var $it = it.util.copy(it); + var $closingBraces = ''; + $it.level++; + var $nextValid = 'valid' + $it.level; + var $currentBaseId = $it.baseId, + $prevValid = 'prevValid' + $lvl, + $passingSchemas = 'passingSchemas' + $lvl; + out += 'var ' + ($errs) + ' = errors , ' + ($prevValid) + ' = false , ' + ($valid) + ' = false , ' + ($passingSchemas) + ' = null; '; + var $wasComposite = it.compositeRule; + it.compositeRule = $it.compositeRule = true; + var arr1 = $schema; + if (arr1) { + var $sch, $i = -1, + l1 = arr1.length - 1; + while ($i < l1) { + $sch = arr1[$i += 1]; + if ((it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all))) { + $it.schema = $sch; + $it.schemaPath = $schemaPath + '[' + $i + ']'; + $it.errSchemaPath = $errSchemaPath + '/' + $i; + out += ' ' + (it.validate($it)) + ' '; + $it.baseId = $currentBaseId; + } else { + out += ' var ' + ($nextValid) + ' = true; '; + } + if ($i) { + out += ' if (' + ($nextValid) + ' && ' + ($prevValid) + ') { ' + ($valid) + ' = false; ' + ($passingSchemas) + ' = [' + ($passingSchemas) + ', ' + ($i) + ']; } else { '; + $closingBraces += '}'; + } + out += ' if (' + ($nextValid) + ') { ' + ($valid) + ' = ' + ($prevValid) + ' = true; ' + ($passingSchemas) + ' = ' + ($i) + '; }'; + } + } + it.compositeRule = $it.compositeRule = $wasComposite; + out += '' + ($closingBraces) + 'if (!' + ($valid) + ') { var err = '; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('oneOf') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { passingSchemas: ' + ($passingSchemas) + ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should match exactly one schema in oneOf\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError(vErrors); '; + } else { + out += ' validate.errors = vErrors; return false; '; + } + } + out += '} else { errors = ' + ($errs) + '; if (vErrors !== null) { if (' + ($errs) + ') vErrors.length = ' + ($errs) + '; else vErrors = null; }'; + if (it.opts.allErrors) { + out += ' } '; + } + return out; +} diff --git a/node_modules/ajv/lib/dotjs/pattern.js b/node_modules/ajv/lib/dotjs/pattern.js new file mode 100644 index 0000000..1d74d6b --- /dev/null +++ b/node_modules/ajv/lib/dotjs/pattern.js @@ -0,0 +1,75 @@ +'use strict'; +module.exports = function generate_pattern(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $isData = it.opts.$data && $schema && $schema.$data, + $schemaValue; + if ($isData) { + out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; + $schemaValue = 'schema' + $lvl; + } else { + $schemaValue = $schema; + } + var $regexp = $isData ? '(new RegExp(' + $schemaValue + '))' : it.usePattern($schema); + out += 'if ( '; + if ($isData) { + out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'string\') || '; + } + out += ' !' + ($regexp) + '.test(' + ($data) + ') ) { '; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('pattern') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { pattern: '; + if ($isData) { + out += '' + ($schemaValue); + } else { + out += '' + (it.util.toQuotedString($schema)); + } + out += ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should match pattern "'; + if ($isData) { + out += '\' + ' + ($schemaValue) + ' + \''; + } else { + out += '' + (it.util.escapeQuotes($schema)); + } + out += '"\' '; + } + if (it.opts.verbose) { + out += ' , schema: '; + if ($isData) { + out += 'validate.schema' + ($schemaPath); + } else { + out += '' + (it.util.toQuotedString($schema)); + } + out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += '} '; + if ($breakOnError) { + out += ' else { '; + } + return out; +} diff --git a/node_modules/ajv/lib/dotjs/properties.js b/node_modules/ajv/lib/dotjs/properties.js new file mode 100644 index 0000000..bc5ee55 --- /dev/null +++ b/node_modules/ajv/lib/dotjs/properties.js @@ -0,0 +1,335 @@ +'use strict'; +module.exports = function generate_properties(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $errs = 'errs__' + $lvl; + var $it = it.util.copy(it); + var $closingBraces = ''; + $it.level++; + var $nextValid = 'valid' + $it.level; + var $key = 'key' + $lvl, + $idx = 'idx' + $lvl, + $dataNxt = $it.dataLevel = it.dataLevel + 1, + $nextData = 'data' + $dataNxt, + $dataProperties = 'dataProperties' + $lvl; + var $schemaKeys = Object.keys($schema || {}).filter(notProto), + $pProperties = it.schema.patternProperties || {}, + $pPropertyKeys = Object.keys($pProperties).filter(notProto), + $aProperties = it.schema.additionalProperties, + $someProperties = $schemaKeys.length || $pPropertyKeys.length, + $noAdditional = $aProperties === false, + $additionalIsSchema = typeof $aProperties == 'object' && Object.keys($aProperties).length, + $removeAdditional = it.opts.removeAdditional, + $checkAdditional = $noAdditional || $additionalIsSchema || $removeAdditional, + $ownProperties = it.opts.ownProperties, + $currentBaseId = it.baseId; + var $required = it.schema.required; + if ($required && !(it.opts.$data && $required.$data) && $required.length < it.opts.loopRequired) { + var $requiredHash = it.util.toHash($required); + } + + function notProto(p) { + return p !== '__proto__'; + } + out += 'var ' + ($errs) + ' = errors;var ' + ($nextValid) + ' = true;'; + if ($ownProperties) { + out += ' var ' + ($dataProperties) + ' = undefined;'; + } + if ($checkAdditional) { + if ($ownProperties) { + out += ' ' + ($dataProperties) + ' = ' + ($dataProperties) + ' || Object.keys(' + ($data) + '); for (var ' + ($idx) + '=0; ' + ($idx) + '<' + ($dataProperties) + '.length; ' + ($idx) + '++) { var ' + ($key) + ' = ' + ($dataProperties) + '[' + ($idx) + ']; '; + } else { + out += ' for (var ' + ($key) + ' in ' + ($data) + ') { '; + } + if ($someProperties) { + out += ' var isAdditional' + ($lvl) + ' = !(false '; + if ($schemaKeys.length) { + if ($schemaKeys.length > 8) { + out += ' || validate.schema' + ($schemaPath) + '.hasOwnProperty(' + ($key) + ') '; + } else { + var arr1 = $schemaKeys; + if (arr1) { + var $propertyKey, i1 = -1, + l1 = arr1.length - 1; + while (i1 < l1) { + $propertyKey = arr1[i1 += 1]; + out += ' || ' + ($key) + ' == ' + (it.util.toQuotedString($propertyKey)) + ' '; + } + } + } + } + if ($pPropertyKeys.length) { + var arr2 = $pPropertyKeys; + if (arr2) { + var $pProperty, $i = -1, + l2 = arr2.length - 1; + while ($i < l2) { + $pProperty = arr2[$i += 1]; + out += ' || ' + (it.usePattern($pProperty)) + '.test(' + ($key) + ') '; + } + } + } + out += ' ); if (isAdditional' + ($lvl) + ') { '; + } + if ($removeAdditional == 'all') { + out += ' delete ' + ($data) + '[' + ($key) + ']; '; + } else { + var $currentErrorPath = it.errorPath; + var $additionalProperty = '\' + ' + $key + ' + \''; + if (it.opts._errorDataPathProperty) { + it.errorPath = it.util.getPathExpr(it.errorPath, $key, it.opts.jsonPointers); + } + if ($noAdditional) { + if ($removeAdditional) { + out += ' delete ' + ($data) + '[' + ($key) + ']; '; + } else { + out += ' ' + ($nextValid) + ' = false; '; + var $currErrSchemaPath = $errSchemaPath; + $errSchemaPath = it.errSchemaPath + '/additionalProperties'; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('additionalProperties') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { additionalProperty: \'' + ($additionalProperty) + '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \''; + if (it.opts._errorDataPathProperty) { + out += 'is an invalid additional property'; + } else { + out += 'should NOT have additional properties'; + } + out += '\' '; + } + if (it.opts.verbose) { + out += ' , schema: false , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + $errSchemaPath = $currErrSchemaPath; + if ($breakOnError) { + out += ' break; '; + } + } + } else if ($additionalIsSchema) { + if ($removeAdditional == 'failing') { + out += ' var ' + ($errs) + ' = errors; '; + var $wasComposite = it.compositeRule; + it.compositeRule = $it.compositeRule = true; + $it.schema = $aProperties; + $it.schemaPath = it.schemaPath + '.additionalProperties'; + $it.errSchemaPath = it.errSchemaPath + '/additionalProperties'; + $it.errorPath = it.opts._errorDataPathProperty ? it.errorPath : it.util.getPathExpr(it.errorPath, $key, it.opts.jsonPointers); + var $passData = $data + '[' + $key + ']'; + $it.dataPathArr[$dataNxt] = $key; + var $code = it.validate($it); + $it.baseId = $currentBaseId; + if (it.util.varOccurences($code, $nextData) < 2) { + out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; + } else { + out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; + } + out += ' if (!' + ($nextValid) + ') { errors = ' + ($errs) + '; if (validate.errors !== null) { if (errors) validate.errors.length = errors; else validate.errors = null; } delete ' + ($data) + '[' + ($key) + ']; } '; + it.compositeRule = $it.compositeRule = $wasComposite; + } else { + $it.schema = $aProperties; + $it.schemaPath = it.schemaPath + '.additionalProperties'; + $it.errSchemaPath = it.errSchemaPath + '/additionalProperties'; + $it.errorPath = it.opts._errorDataPathProperty ? it.errorPath : it.util.getPathExpr(it.errorPath, $key, it.opts.jsonPointers); + var $passData = $data + '[' + $key + ']'; + $it.dataPathArr[$dataNxt] = $key; + var $code = it.validate($it); + $it.baseId = $currentBaseId; + if (it.util.varOccurences($code, $nextData) < 2) { + out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; + } else { + out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; + } + if ($breakOnError) { + out += ' if (!' + ($nextValid) + ') break; '; + } + } + } + it.errorPath = $currentErrorPath; + } + if ($someProperties) { + out += ' } '; + } + out += ' } '; + if ($breakOnError) { + out += ' if (' + ($nextValid) + ') { '; + $closingBraces += '}'; + } + } + var $useDefaults = it.opts.useDefaults && !it.compositeRule; + if ($schemaKeys.length) { + var arr3 = $schemaKeys; + if (arr3) { + var $propertyKey, i3 = -1, + l3 = arr3.length - 1; + while (i3 < l3) { + $propertyKey = arr3[i3 += 1]; + var $sch = $schema[$propertyKey]; + if ((it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all))) { + var $prop = it.util.getProperty($propertyKey), + $passData = $data + $prop, + $hasDefault = $useDefaults && $sch.default !== undefined; + $it.schema = $sch; + $it.schemaPath = $schemaPath + $prop; + $it.errSchemaPath = $errSchemaPath + '/' + it.util.escapeFragment($propertyKey); + $it.errorPath = it.util.getPath(it.errorPath, $propertyKey, it.opts.jsonPointers); + $it.dataPathArr[$dataNxt] = it.util.toQuotedString($propertyKey); + var $code = it.validate($it); + $it.baseId = $currentBaseId; + if (it.util.varOccurences($code, $nextData) < 2) { + $code = it.util.varReplace($code, $nextData, $passData); + var $useData = $passData; + } else { + var $useData = $nextData; + out += ' var ' + ($nextData) + ' = ' + ($passData) + '; '; + } + if ($hasDefault) { + out += ' ' + ($code) + ' '; + } else { + if ($requiredHash && $requiredHash[$propertyKey]) { + out += ' if ( ' + ($useData) + ' === undefined '; + if ($ownProperties) { + out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', \'' + (it.util.escapeQuotes($propertyKey)) + '\') '; + } + out += ') { ' + ($nextValid) + ' = false; '; + var $currentErrorPath = it.errorPath, + $currErrSchemaPath = $errSchemaPath, + $missingProperty = it.util.escapeQuotes($propertyKey); + if (it.opts._errorDataPathProperty) { + it.errorPath = it.util.getPath($currentErrorPath, $propertyKey, it.opts.jsonPointers); + } + $errSchemaPath = it.errSchemaPath + '/required'; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('required') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \'' + ($missingProperty) + '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \''; + if (it.opts._errorDataPathProperty) { + out += 'is a required property'; + } else { + out += 'should have required property \\\'' + ($missingProperty) + '\\\''; + } + out += '\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + $errSchemaPath = $currErrSchemaPath; + it.errorPath = $currentErrorPath; + out += ' } else { '; + } else { + if ($breakOnError) { + out += ' if ( ' + ($useData) + ' === undefined '; + if ($ownProperties) { + out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', \'' + (it.util.escapeQuotes($propertyKey)) + '\') '; + } + out += ') { ' + ($nextValid) + ' = true; } else { '; + } else { + out += ' if (' + ($useData) + ' !== undefined '; + if ($ownProperties) { + out += ' && Object.prototype.hasOwnProperty.call(' + ($data) + ', \'' + (it.util.escapeQuotes($propertyKey)) + '\') '; + } + out += ' ) { '; + } + } + out += ' ' + ($code) + ' } '; + } + } + if ($breakOnError) { + out += ' if (' + ($nextValid) + ') { '; + $closingBraces += '}'; + } + } + } + } + if ($pPropertyKeys.length) { + var arr4 = $pPropertyKeys; + if (arr4) { + var $pProperty, i4 = -1, + l4 = arr4.length - 1; + while (i4 < l4) { + $pProperty = arr4[i4 += 1]; + var $sch = $pProperties[$pProperty]; + if ((it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all))) { + $it.schema = $sch; + $it.schemaPath = it.schemaPath + '.patternProperties' + it.util.getProperty($pProperty); + $it.errSchemaPath = it.errSchemaPath + '/patternProperties/' + it.util.escapeFragment($pProperty); + if ($ownProperties) { + out += ' ' + ($dataProperties) + ' = ' + ($dataProperties) + ' || Object.keys(' + ($data) + '); for (var ' + ($idx) + '=0; ' + ($idx) + '<' + ($dataProperties) + '.length; ' + ($idx) + '++) { var ' + ($key) + ' = ' + ($dataProperties) + '[' + ($idx) + ']; '; + } else { + out += ' for (var ' + ($key) + ' in ' + ($data) + ') { '; + } + out += ' if (' + (it.usePattern($pProperty)) + '.test(' + ($key) + ')) { '; + $it.errorPath = it.util.getPathExpr(it.errorPath, $key, it.opts.jsonPointers); + var $passData = $data + '[' + $key + ']'; + $it.dataPathArr[$dataNxt] = $key; + var $code = it.validate($it); + $it.baseId = $currentBaseId; + if (it.util.varOccurences($code, $nextData) < 2) { + out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; + } else { + out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; + } + if ($breakOnError) { + out += ' if (!' + ($nextValid) + ') break; '; + } + out += ' } '; + if ($breakOnError) { + out += ' else ' + ($nextValid) + ' = true; '; + } + out += ' } '; + if ($breakOnError) { + out += ' if (' + ($nextValid) + ') { '; + $closingBraces += '}'; + } + } + } + } + } + if ($breakOnError) { + out += ' ' + ($closingBraces) + ' if (' + ($errs) + ' == errors) {'; + } + return out; +} diff --git a/node_modules/ajv/lib/dotjs/propertyNames.js b/node_modules/ajv/lib/dotjs/propertyNames.js new file mode 100644 index 0000000..2a54a08 --- /dev/null +++ b/node_modules/ajv/lib/dotjs/propertyNames.js @@ -0,0 +1,81 @@ +'use strict'; +module.exports = function generate_propertyNames(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $errs = 'errs__' + $lvl; + var $it = it.util.copy(it); + var $closingBraces = ''; + $it.level++; + var $nextValid = 'valid' + $it.level; + out += 'var ' + ($errs) + ' = errors;'; + if ((it.opts.strictKeywords ? (typeof $schema == 'object' && Object.keys($schema).length > 0) || $schema === false : it.util.schemaHasRules($schema, it.RULES.all))) { + $it.schema = $schema; + $it.schemaPath = $schemaPath; + $it.errSchemaPath = $errSchemaPath; + var $key = 'key' + $lvl, + $idx = 'idx' + $lvl, + $i = 'i' + $lvl, + $invalidName = '\' + ' + $key + ' + \'', + $dataNxt = $it.dataLevel = it.dataLevel + 1, + $nextData = 'data' + $dataNxt, + $dataProperties = 'dataProperties' + $lvl, + $ownProperties = it.opts.ownProperties, + $currentBaseId = it.baseId; + if ($ownProperties) { + out += ' var ' + ($dataProperties) + ' = undefined; '; + } + if ($ownProperties) { + out += ' ' + ($dataProperties) + ' = ' + ($dataProperties) + ' || Object.keys(' + ($data) + '); for (var ' + ($idx) + '=0; ' + ($idx) + '<' + ($dataProperties) + '.length; ' + ($idx) + '++) { var ' + ($key) + ' = ' + ($dataProperties) + '[' + ($idx) + ']; '; + } else { + out += ' for (var ' + ($key) + ' in ' + ($data) + ') { '; + } + out += ' var startErrs' + ($lvl) + ' = errors; '; + var $passData = $key; + var $wasComposite = it.compositeRule; + it.compositeRule = $it.compositeRule = true; + var $code = it.validate($it); + $it.baseId = $currentBaseId; + if (it.util.varOccurences($code, $nextData) < 2) { + out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; + } else { + out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; + } + it.compositeRule = $it.compositeRule = $wasComposite; + out += ' if (!' + ($nextValid) + ') { for (var ' + ($i) + '=startErrs' + ($lvl) + '; ' + ($i) + ' 0) || $propertySch === false : it.util.schemaHasRules($propertySch, it.RULES.all)))) { + $required[$required.length] = $property; + } + } + } + } else { + var $required = $schema; + } + } + if ($isData || $required.length) { + var $currentErrorPath = it.errorPath, + $loopRequired = $isData || $required.length >= it.opts.loopRequired, + $ownProperties = it.opts.ownProperties; + if ($breakOnError) { + out += ' var missing' + ($lvl) + '; '; + if ($loopRequired) { + if (!$isData) { + out += ' var ' + ($vSchema) + ' = validate.schema' + ($schemaPath) + '; '; + } + var $i = 'i' + $lvl, + $propertyPath = 'schema' + $lvl + '[' + $i + ']', + $missingProperty = '\' + ' + $propertyPath + ' + \''; + if (it.opts._errorDataPathProperty) { + it.errorPath = it.util.getPathExpr($currentErrorPath, $propertyPath, it.opts.jsonPointers); + } + out += ' var ' + ($valid) + ' = true; '; + if ($isData) { + out += ' if (schema' + ($lvl) + ' === undefined) ' + ($valid) + ' = true; else if (!Array.isArray(schema' + ($lvl) + ')) ' + ($valid) + ' = false; else {'; + } + out += ' for (var ' + ($i) + ' = 0; ' + ($i) + ' < ' + ($vSchema) + '.length; ' + ($i) + '++) { ' + ($valid) + ' = ' + ($data) + '[' + ($vSchema) + '[' + ($i) + ']] !== undefined '; + if ($ownProperties) { + out += ' && Object.prototype.hasOwnProperty.call(' + ($data) + ', ' + ($vSchema) + '[' + ($i) + ']) '; + } + out += '; if (!' + ($valid) + ') break; } '; + if ($isData) { + out += ' } '; + } + out += ' if (!' + ($valid) + ') { '; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('required') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \'' + ($missingProperty) + '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \''; + if (it.opts._errorDataPathProperty) { + out += 'is a required property'; + } else { + out += 'should have required property \\\'' + ($missingProperty) + '\\\''; + } + out += '\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' } else { '; + } else { + out += ' if ( '; + var arr2 = $required; + if (arr2) { + var $propertyKey, $i = -1, + l2 = arr2.length - 1; + while ($i < l2) { + $propertyKey = arr2[$i += 1]; + if ($i) { + out += ' || '; + } + var $prop = it.util.getProperty($propertyKey), + $useData = $data + $prop; + out += ' ( ( ' + ($useData) + ' === undefined '; + if ($ownProperties) { + out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', \'' + (it.util.escapeQuotes($propertyKey)) + '\') '; + } + out += ') && (missing' + ($lvl) + ' = ' + (it.util.toQuotedString(it.opts.jsonPointers ? $propertyKey : $prop)) + ') ) '; + } + } + out += ') { '; + var $propertyPath = 'missing' + $lvl, + $missingProperty = '\' + ' + $propertyPath + ' + \''; + if (it.opts._errorDataPathProperty) { + it.errorPath = it.opts.jsonPointers ? it.util.getPathExpr($currentErrorPath, $propertyPath, true) : $currentErrorPath + ' + ' + $propertyPath; + } + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('required') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \'' + ($missingProperty) + '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \''; + if (it.opts._errorDataPathProperty) { + out += 'is a required property'; + } else { + out += 'should have required property \\\'' + ($missingProperty) + '\\\''; + } + out += '\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' } else { '; + } + } else { + if ($loopRequired) { + if (!$isData) { + out += ' var ' + ($vSchema) + ' = validate.schema' + ($schemaPath) + '; '; + } + var $i = 'i' + $lvl, + $propertyPath = 'schema' + $lvl + '[' + $i + ']', + $missingProperty = '\' + ' + $propertyPath + ' + \''; + if (it.opts._errorDataPathProperty) { + it.errorPath = it.util.getPathExpr($currentErrorPath, $propertyPath, it.opts.jsonPointers); + } + if ($isData) { + out += ' if (' + ($vSchema) + ' && !Array.isArray(' + ($vSchema) + ')) { var err = '; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('required') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \'' + ($missingProperty) + '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \''; + if (it.opts._errorDataPathProperty) { + out += 'is a required property'; + } else { + out += 'should have required property \\\'' + ($missingProperty) + '\\\''; + } + out += '\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } else if (' + ($vSchema) + ' !== undefined) { '; + } + out += ' for (var ' + ($i) + ' = 0; ' + ($i) + ' < ' + ($vSchema) + '.length; ' + ($i) + '++) { if (' + ($data) + '[' + ($vSchema) + '[' + ($i) + ']] === undefined '; + if ($ownProperties) { + out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', ' + ($vSchema) + '[' + ($i) + ']) '; + } + out += ') { var err = '; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('required') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \'' + ($missingProperty) + '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \''; + if (it.opts._errorDataPathProperty) { + out += 'is a required property'; + } else { + out += 'should have required property \\\'' + ($missingProperty) + '\\\''; + } + out += '\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } } '; + if ($isData) { + out += ' } '; + } + } else { + var arr3 = $required; + if (arr3) { + var $propertyKey, i3 = -1, + l3 = arr3.length - 1; + while (i3 < l3) { + $propertyKey = arr3[i3 += 1]; + var $prop = it.util.getProperty($propertyKey), + $missingProperty = it.util.escapeQuotes($propertyKey), + $useData = $data + $prop; + if (it.opts._errorDataPathProperty) { + it.errorPath = it.util.getPath($currentErrorPath, $propertyKey, it.opts.jsonPointers); + } + out += ' if ( ' + ($useData) + ' === undefined '; + if ($ownProperties) { + out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', \'' + (it.util.escapeQuotes($propertyKey)) + '\') '; + } + out += ') { var err = '; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('required') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \'' + ($missingProperty) + '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \''; + if (it.opts._errorDataPathProperty) { + out += 'is a required property'; + } else { + out += 'should have required property \\\'' + ($missingProperty) + '\\\''; + } + out += '\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } '; + } + } + } + } + it.errorPath = $currentErrorPath; + } else if ($breakOnError) { + out += ' if (true) {'; + } + return out; +} diff --git a/node_modules/ajv/lib/dotjs/uniqueItems.js b/node_modules/ajv/lib/dotjs/uniqueItems.js new file mode 100644 index 0000000..0736a0e --- /dev/null +++ b/node_modules/ajv/lib/dotjs/uniqueItems.js @@ -0,0 +1,86 @@ +'use strict'; +module.exports = function generate_uniqueItems(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $valid = 'valid' + $lvl; + var $isData = it.opts.$data && $schema && $schema.$data, + $schemaValue; + if ($isData) { + out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; + $schemaValue = 'schema' + $lvl; + } else { + $schemaValue = $schema; + } + if (($schema || $isData) && it.opts.uniqueItems !== false) { + if ($isData) { + out += ' var ' + ($valid) + '; if (' + ($schemaValue) + ' === false || ' + ($schemaValue) + ' === undefined) ' + ($valid) + ' = true; else if (typeof ' + ($schemaValue) + ' != \'boolean\') ' + ($valid) + ' = false; else { '; + } + out += ' var i = ' + ($data) + '.length , ' + ($valid) + ' = true , j; if (i > 1) { '; + var $itemType = it.schema.items && it.schema.items.type, + $typeIsArray = Array.isArray($itemType); + if (!$itemType || $itemType == 'object' || $itemType == 'array' || ($typeIsArray && ($itemType.indexOf('object') >= 0 || $itemType.indexOf('array') >= 0))) { + out += ' outer: for (;i--;) { for (j = i; j--;) { if (equal(' + ($data) + '[i], ' + ($data) + '[j])) { ' + ($valid) + ' = false; break outer; } } } '; + } else { + out += ' var itemIndices = {}, item; for (;i--;) { var item = ' + ($data) + '[i]; '; + var $method = 'checkDataType' + ($typeIsArray ? 's' : ''); + out += ' if (' + (it.util[$method]($itemType, 'item', it.opts.strictNumbers, true)) + ') continue; '; + if ($typeIsArray) { + out += ' if (typeof item == \'string\') item = \'"\' + item; '; + } + out += ' if (typeof itemIndices[item] == \'number\') { ' + ($valid) + ' = false; j = itemIndices[item]; break; } itemIndices[item] = i; } '; + } + out += ' } '; + if ($isData) { + out += ' } '; + } + out += ' if (!' + ($valid) + ') { '; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('uniqueItems') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { i: i, j: j } '; + if (it.opts.messages !== false) { + out += ' , message: \'should NOT have duplicate items (items ## \' + j + \' and \' + i + \' are identical)\' '; + } + if (it.opts.verbose) { + out += ' , schema: '; + if ($isData) { + out += 'validate.schema' + ($schemaPath); + } else { + out += '' + ($schema); + } + out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' } '; + if ($breakOnError) { + out += ' else { '; + } + } else { + if ($breakOnError) { + out += ' if (true) { '; + } + } + return out; +} diff --git a/node_modules/ajv/lib/dotjs/validate.js b/node_modules/ajv/lib/dotjs/validate.js new file mode 100644 index 0000000..f295824 --- /dev/null +++ b/node_modules/ajv/lib/dotjs/validate.js @@ -0,0 +1,482 @@ +'use strict'; +module.exports = function generate_validate(it, $keyword, $ruleType) { + var out = ''; + var $async = it.schema.$async === true, + $refKeywords = it.util.schemaHasRulesExcept(it.schema, it.RULES.all, '$ref'), + $id = it.self._getId(it.schema); + if (it.opts.strictKeywords) { + var $unknownKwd = it.util.schemaUnknownRules(it.schema, it.RULES.keywords); + if ($unknownKwd) { + var $keywordsMsg = 'unknown keyword: ' + $unknownKwd; + if (it.opts.strictKeywords === 'log') it.logger.warn($keywordsMsg); + else throw new Error($keywordsMsg); + } + } + if (it.isTop) { + out += ' var validate = '; + if ($async) { + it.async = true; + out += 'async '; + } + out += 'function(data, dataPath, parentData, parentDataProperty, rootData) { \'use strict\'; '; + if ($id && (it.opts.sourceCode || it.opts.processCode)) { + out += ' ' + ('/\*# sourceURL=' + $id + ' */') + ' '; + } + } + if (typeof it.schema == 'boolean' || !($refKeywords || it.schema.$ref)) { + var $keyword = 'false schema'; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $errorKeyword; + var $data = 'data' + ($dataLvl || ''); + var $valid = 'valid' + $lvl; + if (it.schema === false) { + if (it.isTop) { + $breakOnError = true; + } else { + out += ' var ' + ($valid) + ' = false; '; + } + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ($errorKeyword || 'false schema') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} '; + if (it.opts.messages !== false) { + out += ' , message: \'boolean schema is false\' '; + } + if (it.opts.verbose) { + out += ' , schema: false , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + } else { + if (it.isTop) { + if ($async) { + out += ' return data; '; + } else { + out += ' validate.errors = null; return true; '; + } + } else { + out += ' var ' + ($valid) + ' = true; '; + } + } + if (it.isTop) { + out += ' }; return validate; '; + } + return out; + } + if (it.isTop) { + var $top = it.isTop, + $lvl = it.level = 0, + $dataLvl = it.dataLevel = 0, + $data = 'data'; + it.rootId = it.resolve.fullPath(it.self._getId(it.root.schema)); + it.baseId = it.baseId || it.rootId; + delete it.isTop; + it.dataPathArr = [""]; + if (it.schema.default !== undefined && it.opts.useDefaults && it.opts.strictDefaults) { + var $defaultMsg = 'default is ignored in the schema root'; + if (it.opts.strictDefaults === 'log') it.logger.warn($defaultMsg); + else throw new Error($defaultMsg); + } + out += ' var vErrors = null; '; + out += ' var errors = 0; '; + out += ' if (rootData === undefined) rootData = data; '; + } else { + var $lvl = it.level, + $dataLvl = it.dataLevel, + $data = 'data' + ($dataLvl || ''); + if ($id) it.baseId = it.resolve.url(it.baseId, $id); + if ($async && !it.async) throw new Error('async schema in sync schema'); + out += ' var errs_' + ($lvl) + ' = errors;'; + } + var $valid = 'valid' + $lvl, + $breakOnError = !it.opts.allErrors, + $closingBraces1 = '', + $closingBraces2 = ''; + var $errorKeyword; + var $typeSchema = it.schema.type, + $typeIsArray = Array.isArray($typeSchema); + if ($typeSchema && it.opts.nullable && it.schema.nullable === true) { + if ($typeIsArray) { + if ($typeSchema.indexOf('null') == -1) $typeSchema = $typeSchema.concat('null'); + } else if ($typeSchema != 'null') { + $typeSchema = [$typeSchema, 'null']; + $typeIsArray = true; + } + } + if ($typeIsArray && $typeSchema.length == 1) { + $typeSchema = $typeSchema[0]; + $typeIsArray = false; + } + if (it.schema.$ref && $refKeywords) { + if (it.opts.extendRefs == 'fail') { + throw new Error('$ref: validation keywords used in schema at path "' + it.errSchemaPath + '" (see option extendRefs)'); + } else if (it.opts.extendRefs !== true) { + $refKeywords = false; + it.logger.warn('$ref: keywords ignored in schema at path "' + it.errSchemaPath + '"'); + } + } + if (it.schema.$comment && it.opts.$comment) { + out += ' ' + (it.RULES.all.$comment.code(it, '$comment')); + } + if ($typeSchema) { + if (it.opts.coerceTypes) { + var $coerceToTypes = it.util.coerceToTypes(it.opts.coerceTypes, $typeSchema); + } + var $rulesGroup = it.RULES.types[$typeSchema]; + if ($coerceToTypes || $typeIsArray || $rulesGroup === true || ($rulesGroup && !$shouldUseGroup($rulesGroup))) { + var $schemaPath = it.schemaPath + '.type', + $errSchemaPath = it.errSchemaPath + '/type'; + var $schemaPath = it.schemaPath + '.type', + $errSchemaPath = it.errSchemaPath + '/type', + $method = $typeIsArray ? 'checkDataTypes' : 'checkDataType'; + out += ' if (' + (it.util[$method]($typeSchema, $data, it.opts.strictNumbers, true)) + ') { '; + if ($coerceToTypes) { + var $dataType = 'dataType' + $lvl, + $coerced = 'coerced' + $lvl; + out += ' var ' + ($dataType) + ' = typeof ' + ($data) + '; var ' + ($coerced) + ' = undefined; '; + if (it.opts.coerceTypes == 'array') { + out += ' if (' + ($dataType) + ' == \'object\' && Array.isArray(' + ($data) + ') && ' + ($data) + '.length == 1) { ' + ($data) + ' = ' + ($data) + '[0]; ' + ($dataType) + ' = typeof ' + ($data) + '; if (' + (it.util.checkDataType(it.schema.type, $data, it.opts.strictNumbers)) + ') ' + ($coerced) + ' = ' + ($data) + '; } '; + } + out += ' if (' + ($coerced) + ' !== undefined) ; '; + var arr1 = $coerceToTypes; + if (arr1) { + var $type, $i = -1, + l1 = arr1.length - 1; + while ($i < l1) { + $type = arr1[$i += 1]; + if ($type == 'string') { + out += ' else if (' + ($dataType) + ' == \'number\' || ' + ($dataType) + ' == \'boolean\') ' + ($coerced) + ' = \'\' + ' + ($data) + '; else if (' + ($data) + ' === null) ' + ($coerced) + ' = \'\'; '; + } else if ($type == 'number' || $type == 'integer') { + out += ' else if (' + ($dataType) + ' == \'boolean\' || ' + ($data) + ' === null || (' + ($dataType) + ' == \'string\' && ' + ($data) + ' && ' + ($data) + ' == +' + ($data) + ' '; + if ($type == 'integer') { + out += ' && !(' + ($data) + ' % 1)'; + } + out += ')) ' + ($coerced) + ' = +' + ($data) + '; '; + } else if ($type == 'boolean') { + out += ' else if (' + ($data) + ' === \'false\' || ' + ($data) + ' === 0 || ' + ($data) + ' === null) ' + ($coerced) + ' = false; else if (' + ($data) + ' === \'true\' || ' + ($data) + ' === 1) ' + ($coerced) + ' = true; '; + } else if ($type == 'null') { + out += ' else if (' + ($data) + ' === \'\' || ' + ($data) + ' === 0 || ' + ($data) + ' === false) ' + ($coerced) + ' = null; '; + } else if (it.opts.coerceTypes == 'array' && $type == 'array') { + out += ' else if (' + ($dataType) + ' == \'string\' || ' + ($dataType) + ' == \'number\' || ' + ($dataType) + ' == \'boolean\' || ' + ($data) + ' == null) ' + ($coerced) + ' = [' + ($data) + ']; '; + } + } + } + out += ' else { '; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ($errorKeyword || 'type') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { type: \''; + if ($typeIsArray) { + out += '' + ($typeSchema.join(",")); + } else { + out += '' + ($typeSchema); + } + out += '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should be '; + if ($typeIsArray) { + out += '' + ($typeSchema.join(",")); + } else { + out += '' + ($typeSchema); + } + out += '\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' } if (' + ($coerced) + ' !== undefined) { '; + var $parentData = $dataLvl ? 'data' + (($dataLvl - 1) || '') : 'parentData', + $parentDataProperty = $dataLvl ? it.dataPathArr[$dataLvl] : 'parentDataProperty'; + out += ' ' + ($data) + ' = ' + ($coerced) + '; '; + if (!$dataLvl) { + out += 'if (' + ($parentData) + ' !== undefined)'; + } + out += ' ' + ($parentData) + '[' + ($parentDataProperty) + '] = ' + ($coerced) + '; } '; + } else { + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ($errorKeyword || 'type') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { type: \''; + if ($typeIsArray) { + out += '' + ($typeSchema.join(",")); + } else { + out += '' + ($typeSchema); + } + out += '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should be '; + if ($typeIsArray) { + out += '' + ($typeSchema.join(",")); + } else { + out += '' + ($typeSchema); + } + out += '\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + } + out += ' } '; + } + } + if (it.schema.$ref && !$refKeywords) { + out += ' ' + (it.RULES.all.$ref.code(it, '$ref')) + ' '; + if ($breakOnError) { + out += ' } if (errors === '; + if ($top) { + out += '0'; + } else { + out += 'errs_' + ($lvl); + } + out += ') { '; + $closingBraces2 += '}'; + } + } else { + var arr2 = it.RULES; + if (arr2) { + var $rulesGroup, i2 = -1, + l2 = arr2.length - 1; + while (i2 < l2) { + $rulesGroup = arr2[i2 += 1]; + if ($shouldUseGroup($rulesGroup)) { + if ($rulesGroup.type) { + out += ' if (' + (it.util.checkDataType($rulesGroup.type, $data, it.opts.strictNumbers)) + ') { '; + } + if (it.opts.useDefaults) { + if ($rulesGroup.type == 'object' && it.schema.properties) { + var $schema = it.schema.properties, + $schemaKeys = Object.keys($schema); + var arr3 = $schemaKeys; + if (arr3) { + var $propertyKey, i3 = -1, + l3 = arr3.length - 1; + while (i3 < l3) { + $propertyKey = arr3[i3 += 1]; + var $sch = $schema[$propertyKey]; + if ($sch.default !== undefined) { + var $passData = $data + it.util.getProperty($propertyKey); + if (it.compositeRule) { + if (it.opts.strictDefaults) { + var $defaultMsg = 'default is ignored for: ' + $passData; + if (it.opts.strictDefaults === 'log') it.logger.warn($defaultMsg); + else throw new Error($defaultMsg); + } + } else { + out += ' if (' + ($passData) + ' === undefined '; + if (it.opts.useDefaults == 'empty') { + out += ' || ' + ($passData) + ' === null || ' + ($passData) + ' === \'\' '; + } + out += ' ) ' + ($passData) + ' = '; + if (it.opts.useDefaults == 'shared') { + out += ' ' + (it.useDefault($sch.default)) + ' '; + } else { + out += ' ' + (JSON.stringify($sch.default)) + ' '; + } + out += '; '; + } + } + } + } + } else if ($rulesGroup.type == 'array' && Array.isArray(it.schema.items)) { + var arr4 = it.schema.items; + if (arr4) { + var $sch, $i = -1, + l4 = arr4.length - 1; + while ($i < l4) { + $sch = arr4[$i += 1]; + if ($sch.default !== undefined) { + var $passData = $data + '[' + $i + ']'; + if (it.compositeRule) { + if (it.opts.strictDefaults) { + var $defaultMsg = 'default is ignored for: ' + $passData; + if (it.opts.strictDefaults === 'log') it.logger.warn($defaultMsg); + else throw new Error($defaultMsg); + } + } else { + out += ' if (' + ($passData) + ' === undefined '; + if (it.opts.useDefaults == 'empty') { + out += ' || ' + ($passData) + ' === null || ' + ($passData) + ' === \'\' '; + } + out += ' ) ' + ($passData) + ' = '; + if (it.opts.useDefaults == 'shared') { + out += ' ' + (it.useDefault($sch.default)) + ' '; + } else { + out += ' ' + (JSON.stringify($sch.default)) + ' '; + } + out += '; '; + } + } + } + } + } + } + var arr5 = $rulesGroup.rules; + if (arr5) { + var $rule, i5 = -1, + l5 = arr5.length - 1; + while (i5 < l5) { + $rule = arr5[i5 += 1]; + if ($shouldUseRule($rule)) { + var $code = $rule.code(it, $rule.keyword, $rulesGroup.type); + if ($code) { + out += ' ' + ($code) + ' '; + if ($breakOnError) { + $closingBraces1 += '}'; + } + } + } + } + } + if ($breakOnError) { + out += ' ' + ($closingBraces1) + ' '; + $closingBraces1 = ''; + } + if ($rulesGroup.type) { + out += ' } '; + if ($typeSchema && $typeSchema === $rulesGroup.type && !$coerceToTypes) { + out += ' else { '; + var $schemaPath = it.schemaPath + '.type', + $errSchemaPath = it.errSchemaPath + '/type'; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ($errorKeyword || 'type') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { type: \''; + if ($typeIsArray) { + out += '' + ($typeSchema.join(",")); + } else { + out += '' + ($typeSchema); + } + out += '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should be '; + if ($typeIsArray) { + out += '' + ($typeSchema.join(",")); + } else { + out += '' + ($typeSchema); + } + out += '\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' } '; + } + } + if ($breakOnError) { + out += ' if (errors === '; + if ($top) { + out += '0'; + } else { + out += 'errs_' + ($lvl); + } + out += ') { '; + $closingBraces2 += '}'; + } + } + } + } + } + if ($breakOnError) { + out += ' ' + ($closingBraces2) + ' '; + } + if ($top) { + if ($async) { + out += ' if (errors === 0) return data; '; + out += ' else throw new ValidationError(vErrors); '; + } else { + out += ' validate.errors = vErrors; '; + out += ' return errors === 0; '; + } + out += ' }; return validate;'; + } else { + out += ' var ' + ($valid) + ' = errors === errs_' + ($lvl) + ';'; + } + + function $shouldUseGroup($rulesGroup) { + var rules = $rulesGroup.rules; + for (var i = 0; i < rules.length; i++) + if ($shouldUseRule(rules[i])) return true; + } + + function $shouldUseRule($rule) { + return it.schema[$rule.keyword] !== undefined || ($rule.implements && $ruleImplementsSomeKeyword($rule)); + } + + function $ruleImplementsSomeKeyword($rule) { + var impl = $rule.implements; + for (var i = 0; i < impl.length; i++) + if (it.schema[impl[i]] !== undefined) return true; + } + return out; +} diff --git a/node_modules/ajv/lib/keyword.js b/node_modules/ajv/lib/keyword.js new file mode 100644 index 0000000..06da9a2 --- /dev/null +++ b/node_modules/ajv/lib/keyword.js @@ -0,0 +1,146 @@ +'use strict'; + +var IDENTIFIER = /^[a-z_$][a-z0-9_$-]*$/i; +var customRuleCode = require('./dotjs/custom'); +var definitionSchema = require('./definition_schema'); + +module.exports = { + add: addKeyword, + get: getKeyword, + remove: removeKeyword, + validate: validateKeyword +}; + + +/** + * Define custom keyword + * @this Ajv + * @param {String} keyword custom keyword, should be unique (including different from all standard, custom and macro keywords). + * @param {Object} definition keyword definition object with properties `type` (type(s) which the keyword applies to), `validate` or `compile`. + * @return {Ajv} this for method chaining + */ +function addKeyword(keyword, definition) { + /* jshint validthis: true */ + /* eslint no-shadow: 0 */ + var RULES = this.RULES; + if (RULES.keywords[keyword]) + throw new Error('Keyword ' + keyword + ' is already defined'); + + if (!IDENTIFIER.test(keyword)) + throw new Error('Keyword ' + keyword + ' is not a valid identifier'); + + if (definition) { + this.validateKeyword(definition, true); + + var dataType = definition.type; + if (Array.isArray(dataType)) { + for (var i=0; i ../ajv-dist/bower.json + cd ../ajv-dist + + if [[ `git status --porcelain` ]]; then + echo "Changes detected. Updating master branch..." + git add -A + git commit -m "updated by travis build #$TRAVIS_BUILD_NUMBER" + git push --quiet origin master > /dev/null 2>&1 + fi + + echo "Publishing tag..." + + git tag $TRAVIS_TAG + git push --tags > /dev/null 2>&1 + + echo "Done" +fi diff --git a/node_modules/ajv/scripts/travis-gh-pages b/node_modules/ajv/scripts/travis-gh-pages new file mode 100644 index 0000000..b3d4f3d --- /dev/null +++ b/node_modules/ajv/scripts/travis-gh-pages @@ -0,0 +1,23 @@ +#!/usr/bin/env bash + +set -e + +if [[ "$TRAVIS_BRANCH" == "master" && "$TRAVIS_PULL_REQUEST" == "false" && $TRAVIS_JOB_NUMBER =~ ".3" ]]; then + git diff --name-only $TRAVIS_COMMIT_RANGE | grep -qE '\.md$|^LICENSE$|travis-gh-pages$' && { + rm -rf ../gh-pages + git clone -b gh-pages --single-branch https://${GITHUB_TOKEN}@github.com/ajv-validator/ajv.git ../gh-pages + mkdir -p ../gh-pages/_source + cp *.md ../gh-pages/_source + cp LICENSE ../gh-pages/_source + currentDir=$(pwd) + cd ../gh-pages + $currentDir/node_modules/.bin/gh-pages-generator + # remove logo from README + sed -i -E "s/]+ajv_logo[^>]+>//" index.md + git config user.email "$GIT_USER_EMAIL" + git config user.name "$GIT_USER_NAME" + git add . + git commit -am "updated by travis build #$TRAVIS_BUILD_NUMBER" + git push --quiet origin gh-pages > /dev/null 2>&1 + } +fi diff --git a/node_modules/asn1/LICENSE b/node_modules/asn1/LICENSE new file mode 100644 index 0000000..9b5dcdb --- /dev/null +++ b/node_modules/asn1/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2011 Mark Cavage, All rights reserved. + +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 diff --git a/node_modules/asn1/README.md b/node_modules/asn1/README.md new file mode 100644 index 0000000..2208210 --- /dev/null +++ b/node_modules/asn1/README.md @@ -0,0 +1,50 @@ +node-asn1 is a library for encoding and decoding ASN.1 datatypes in pure JS. +Currently BER encoding is supported; at some point I'll likely have to do DER. + +## Usage + +Mostly, if you're *actually* needing to read and write ASN.1, you probably don't +need this readme to explain what and why. If you have no idea what ASN.1 is, +see this: ftp://ftp.rsa.com/pub/pkcs/ascii/layman.asc + +The source is pretty much self-explanatory, and has read/write methods for the +common types out there. + +### Decoding + +The following reads an ASN.1 sequence with a boolean. + + var Ber = require('asn1').Ber; + + var reader = new Ber.Reader(Buffer.from([0x30, 0x03, 0x01, 0x01, 0xff])); + + reader.readSequence(); + console.log('Sequence len: ' + reader.length); + if (reader.peek() === Ber.Boolean) + console.log(reader.readBoolean()); + +### Encoding + +The following generates the same payload as above. + + var Ber = require('asn1').Ber; + + var writer = new Ber.Writer(); + + writer.startSequence(); + writer.writeBoolean(true); + writer.endSequence(); + + console.log(writer.buffer); + +## Installation + + npm install asn1 + +## License + +MIT. + +## Bugs + +See . diff --git a/node_modules/asn1/lib/ber/errors.js b/node_modules/asn1/lib/ber/errors.js new file mode 100644 index 0000000..4557b8a --- /dev/null +++ b/node_modules/asn1/lib/ber/errors.js @@ -0,0 +1,13 @@ +// Copyright 2011 Mark Cavage All rights reserved. + + +module.exports = { + + newInvalidAsn1Error: function (msg) { + var e = new Error(); + e.name = 'InvalidAsn1Error'; + e.message = msg || ''; + return e; + } + +}; diff --git a/node_modules/asn1/lib/ber/index.js b/node_modules/asn1/lib/ber/index.js new file mode 100644 index 0000000..387d132 --- /dev/null +++ b/node_modules/asn1/lib/ber/index.js @@ -0,0 +1,27 @@ +// Copyright 2011 Mark Cavage All rights reserved. + +var errors = require('./errors'); +var types = require('./types'); + +var Reader = require('./reader'); +var Writer = require('./writer'); + + +// --- Exports + +module.exports = { + + Reader: Reader, + + Writer: Writer + +}; + +for (var t in types) { + if (types.hasOwnProperty(t)) + module.exports[t] = types[t]; +} +for (var e in errors) { + if (errors.hasOwnProperty(e)) + module.exports[e] = errors[e]; +} diff --git a/node_modules/asn1/lib/ber/reader.js b/node_modules/asn1/lib/ber/reader.js new file mode 100644 index 0000000..8a7e4ca --- /dev/null +++ b/node_modules/asn1/lib/ber/reader.js @@ -0,0 +1,262 @@ +// Copyright 2011 Mark Cavage All rights reserved. + +var assert = require('assert'); +var Buffer = require('safer-buffer').Buffer; + +var ASN1 = require('./types'); +var errors = require('./errors'); + + +// --- Globals + +var newInvalidAsn1Error = errors.newInvalidAsn1Error; + + + +// --- API + +function Reader(data) { + if (!data || !Buffer.isBuffer(data)) + throw new TypeError('data must be a node Buffer'); + + this._buf = data; + this._size = data.length; + + // These hold the "current" state + this._len = 0; + this._offset = 0; +} + +Object.defineProperty(Reader.prototype, 'length', { + enumerable: true, + get: function () { return (this._len); } +}); + +Object.defineProperty(Reader.prototype, 'offset', { + enumerable: true, + get: function () { return (this._offset); } +}); + +Object.defineProperty(Reader.prototype, 'remain', { + get: function () { return (this._size - this._offset); } +}); + +Object.defineProperty(Reader.prototype, 'buffer', { + get: function () { return (this._buf.slice(this._offset)); } +}); + + +/** + * Reads a single byte and advances offset; you can pass in `true` to make this + * a "peek" operation (i.e., get the byte, but don't advance the offset). + * + * @param {Boolean} peek true means don't move offset. + * @return {Number} the next byte, null if not enough data. + */ +Reader.prototype.readByte = function (peek) { + if (this._size - this._offset < 1) + return null; + + var b = this._buf[this._offset] & 0xff; + + if (!peek) + this._offset += 1; + + return b; +}; + + +Reader.prototype.peek = function () { + return this.readByte(true); +}; + + +/** + * Reads a (potentially) variable length off the BER buffer. This call is + * not really meant to be called directly, as callers have to manipulate + * the internal buffer afterwards. + * + * As a result of this call, you can call `Reader.length`, until the + * next thing called that does a readLength. + * + * @return {Number} the amount of offset to advance the buffer. + * @throws {InvalidAsn1Error} on bad ASN.1 + */ +Reader.prototype.readLength = function (offset) { + if (offset === undefined) + offset = this._offset; + + if (offset >= this._size) + return null; + + var lenB = this._buf[offset++] & 0xff; + if (lenB === null) + return null; + + if ((lenB & 0x80) === 0x80) { + lenB &= 0x7f; + + if (lenB === 0) + throw newInvalidAsn1Error('Indefinite length not supported'); + + if (lenB > 4) + throw newInvalidAsn1Error('encoding too long'); + + if (this._size - offset < lenB) + return null; + + this._len = 0; + for (var i = 0; i < lenB; i++) + this._len = (this._len << 8) + (this._buf[offset++] & 0xff); + + } else { + // Wasn't a variable length + this._len = lenB; + } + + return offset; +}; + + +/** + * Parses the next sequence in this BER buffer. + * + * To get the length of the sequence, call `Reader.length`. + * + * @return {Number} the sequence's tag. + */ +Reader.prototype.readSequence = function (tag) { + var seq = this.peek(); + if (seq === null) + return null; + if (tag !== undefined && tag !== seq) + throw newInvalidAsn1Error('Expected 0x' + tag.toString(16) + + ': got 0x' + seq.toString(16)); + + var o = this.readLength(this._offset + 1); // stored in `length` + if (o === null) + return null; + + this._offset = o; + return seq; +}; + + +Reader.prototype.readInt = function () { + return this._readTag(ASN1.Integer); +}; + + +Reader.prototype.readBoolean = function () { + return (this._readTag(ASN1.Boolean) === 0 ? false : true); +}; + + +Reader.prototype.readEnumeration = function () { + return this._readTag(ASN1.Enumeration); +}; + + +Reader.prototype.readString = function (tag, retbuf) { + if (!tag) + tag = ASN1.OctetString; + + var b = this.peek(); + if (b === null) + return null; + + if (b !== tag) + throw newInvalidAsn1Error('Expected 0x' + tag.toString(16) + + ': got 0x' + b.toString(16)); + + var o = this.readLength(this._offset + 1); // stored in `length` + + if (o === null) + return null; + + if (this.length > this._size - o) + return null; + + this._offset = o; + + if (this.length === 0) + return retbuf ? Buffer.alloc(0) : ''; + + var str = this._buf.slice(this._offset, this._offset + this.length); + this._offset += this.length; + + return retbuf ? str : str.toString('utf8'); +}; + +Reader.prototype.readOID = function (tag) { + if (!tag) + tag = ASN1.OID; + + var b = this.readString(tag, true); + if (b === null) + return null; + + var values = []; + var value = 0; + + for (var i = 0; i < b.length; i++) { + var byte = b[i] & 0xff; + + value <<= 7; + value += byte & 0x7f; + if ((byte & 0x80) === 0) { + values.push(value); + value = 0; + } + } + + value = values.shift(); + values.unshift(value % 40); + values.unshift((value / 40) >> 0); + + return values.join('.'); +}; + + +Reader.prototype._readTag = function (tag) { + assert.ok(tag !== undefined); + + var b = this.peek(); + + if (b === null) + return null; + + if (b !== tag) + throw newInvalidAsn1Error('Expected 0x' + tag.toString(16) + + ': got 0x' + b.toString(16)); + + var o = this.readLength(this._offset + 1); // stored in `length` + if (o === null) + return null; + + if (this.length > 4) + throw newInvalidAsn1Error('Integer too long: ' + this.length); + + if (this.length > this._size - o) + return null; + this._offset = o; + + var fb = this._buf[this._offset]; + var value = 0; + + for (var i = 0; i < this.length; i++) { + value <<= 8; + value |= (this._buf[this._offset++] & 0xff); + } + + if ((fb & 0x80) === 0x80 && i !== 4) + value -= (1 << (i * 8)); + + return value >> 0; +}; + + + +// --- Exported API + +module.exports = Reader; diff --git a/node_modules/asn1/lib/ber/types.js b/node_modules/asn1/lib/ber/types.js new file mode 100644 index 0000000..8aea000 --- /dev/null +++ b/node_modules/asn1/lib/ber/types.js @@ -0,0 +1,36 @@ +// Copyright 2011 Mark Cavage All rights reserved. + + +module.exports = { + EOC: 0, + Boolean: 1, + Integer: 2, + BitString: 3, + OctetString: 4, + Null: 5, + OID: 6, + ObjectDescriptor: 7, + External: 8, + Real: 9, // float + Enumeration: 10, + PDV: 11, + Utf8String: 12, + RelativeOID: 13, + Sequence: 16, + Set: 17, + NumericString: 18, + PrintableString: 19, + T61String: 20, + VideotexString: 21, + IA5String: 22, + UTCTime: 23, + GeneralizedTime: 24, + GraphicString: 25, + VisibleString: 26, + GeneralString: 28, + UniversalString: 29, + CharacterString: 30, + BMPString: 31, + Constructor: 32, + Context: 128 +}; diff --git a/node_modules/asn1/lib/ber/writer.js b/node_modules/asn1/lib/ber/writer.js new file mode 100644 index 0000000..3515acf --- /dev/null +++ b/node_modules/asn1/lib/ber/writer.js @@ -0,0 +1,317 @@ +// Copyright 2011 Mark Cavage All rights reserved. + +var assert = require('assert'); +var Buffer = require('safer-buffer').Buffer; +var ASN1 = require('./types'); +var errors = require('./errors'); + + +// --- Globals + +var newInvalidAsn1Error = errors.newInvalidAsn1Error; + +var DEFAULT_OPTS = { + size: 1024, + growthFactor: 8 +}; + + +// --- Helpers + +function merge(from, to) { + assert.ok(from); + assert.equal(typeof (from), 'object'); + assert.ok(to); + assert.equal(typeof (to), 'object'); + + var keys = Object.getOwnPropertyNames(from); + keys.forEach(function (key) { + if (to[key]) + return; + + var value = Object.getOwnPropertyDescriptor(from, key); + Object.defineProperty(to, key, value); + }); + + return to; +} + + + +// --- API + +function Writer(options) { + options = merge(DEFAULT_OPTS, options || {}); + + this._buf = Buffer.alloc(options.size || 1024); + this._size = this._buf.length; + this._offset = 0; + this._options = options; + + // A list of offsets in the buffer where we need to insert + // sequence tag/len pairs. + this._seq = []; +} + +Object.defineProperty(Writer.prototype, 'buffer', { + get: function () { + if (this._seq.length) + throw newInvalidAsn1Error(this._seq.length + ' unended sequence(s)'); + + return (this._buf.slice(0, this._offset)); + } +}); + +Writer.prototype.writeByte = function (b) { + if (typeof (b) !== 'number') + throw new TypeError('argument must be a Number'); + + this._ensure(1); + this._buf[this._offset++] = b; +}; + + +Writer.prototype.writeInt = function (i, tag) { + if (typeof (i) !== 'number') + throw new TypeError('argument must be a Number'); + if (typeof (tag) !== 'number') + tag = ASN1.Integer; + + var sz = 4; + + while ((((i & 0xff800000) === 0) || ((i & 0xff800000) === 0xff800000 >> 0)) && + (sz > 1)) { + sz--; + i <<= 8; + } + + if (sz > 4) + throw newInvalidAsn1Error('BER ints cannot be > 0xffffffff'); + + this._ensure(2 + sz); + this._buf[this._offset++] = tag; + this._buf[this._offset++] = sz; + + while (sz-- > 0) { + this._buf[this._offset++] = ((i & 0xff000000) >>> 24); + i <<= 8; + } + +}; + + +Writer.prototype.writeNull = function () { + this.writeByte(ASN1.Null); + this.writeByte(0x00); +}; + + +Writer.prototype.writeEnumeration = function (i, tag) { + if (typeof (i) !== 'number') + throw new TypeError('argument must be a Number'); + if (typeof (tag) !== 'number') + tag = ASN1.Enumeration; + + return this.writeInt(i, tag); +}; + + +Writer.prototype.writeBoolean = function (b, tag) { + if (typeof (b) !== 'boolean') + throw new TypeError('argument must be a Boolean'); + if (typeof (tag) !== 'number') + tag = ASN1.Boolean; + + this._ensure(3); + this._buf[this._offset++] = tag; + this._buf[this._offset++] = 0x01; + this._buf[this._offset++] = b ? 0xff : 0x00; +}; + + +Writer.prototype.writeString = function (s, tag) { + if (typeof (s) !== 'string') + throw new TypeError('argument must be a string (was: ' + typeof (s) + ')'); + if (typeof (tag) !== 'number') + tag = ASN1.OctetString; + + var len = Buffer.byteLength(s); + this.writeByte(tag); + this.writeLength(len); + if (len) { + this._ensure(len); + this._buf.write(s, this._offset); + this._offset += len; + } +}; + + +Writer.prototype.writeBuffer = function (buf, tag) { + if (typeof (tag) !== 'number') + throw new TypeError('tag must be a number'); + if (!Buffer.isBuffer(buf)) + throw new TypeError('argument must be a buffer'); + + this.writeByte(tag); + this.writeLength(buf.length); + this._ensure(buf.length); + buf.copy(this._buf, this._offset, 0, buf.length); + this._offset += buf.length; +}; + + +Writer.prototype.writeStringArray = function (strings) { + if ((!strings instanceof Array)) + throw new TypeError('argument must be an Array[String]'); + + var self = this; + strings.forEach(function (s) { + self.writeString(s); + }); +}; + +// This is really to solve DER cases, but whatever for now +Writer.prototype.writeOID = function (s, tag) { + if (typeof (s) !== 'string') + throw new TypeError('argument must be a string'); + if (typeof (tag) !== 'number') + tag = ASN1.OID; + + if (!/^([0-9]+\.){3,}[0-9]+$/.test(s)) + throw new Error('argument is not a valid OID string'); + + function encodeOctet(bytes, octet) { + if (octet < 128) { + bytes.push(octet); + } else if (octet < 16384) { + bytes.push((octet >>> 7) | 0x80); + bytes.push(octet & 0x7F); + } else if (octet < 2097152) { + bytes.push((octet >>> 14) | 0x80); + bytes.push(((octet >>> 7) | 0x80) & 0xFF); + bytes.push(octet & 0x7F); + } else if (octet < 268435456) { + bytes.push((octet >>> 21) | 0x80); + bytes.push(((octet >>> 14) | 0x80) & 0xFF); + bytes.push(((octet >>> 7) | 0x80) & 0xFF); + bytes.push(octet & 0x7F); + } else { + bytes.push(((octet >>> 28) | 0x80) & 0xFF); + bytes.push(((octet >>> 21) | 0x80) & 0xFF); + bytes.push(((octet >>> 14) | 0x80) & 0xFF); + bytes.push(((octet >>> 7) | 0x80) & 0xFF); + bytes.push(octet & 0x7F); + } + } + + var tmp = s.split('.'); + var bytes = []; + bytes.push(parseInt(tmp[0], 10) * 40 + parseInt(tmp[1], 10)); + tmp.slice(2).forEach(function (b) { + encodeOctet(bytes, parseInt(b, 10)); + }); + + var self = this; + this._ensure(2 + bytes.length); + this.writeByte(tag); + this.writeLength(bytes.length); + bytes.forEach(function (b) { + self.writeByte(b); + }); +}; + + +Writer.prototype.writeLength = function (len) { + if (typeof (len) !== 'number') + throw new TypeError('argument must be a Number'); + + this._ensure(4); + + if (len <= 0x7f) { + this._buf[this._offset++] = len; + } else if (len <= 0xff) { + this._buf[this._offset++] = 0x81; + this._buf[this._offset++] = len; + } else if (len <= 0xffff) { + this._buf[this._offset++] = 0x82; + this._buf[this._offset++] = len >> 8; + this._buf[this._offset++] = len; + } else if (len <= 0xffffff) { + this._buf[this._offset++] = 0x83; + this._buf[this._offset++] = len >> 16; + this._buf[this._offset++] = len >> 8; + this._buf[this._offset++] = len; + } else { + throw newInvalidAsn1Error('Length too long (> 4 bytes)'); + } +}; + +Writer.prototype.startSequence = function (tag) { + if (typeof (tag) !== 'number') + tag = ASN1.Sequence | ASN1.Constructor; + + this.writeByte(tag); + this._seq.push(this._offset); + this._ensure(3); + this._offset += 3; +}; + + +Writer.prototype.endSequence = function () { + var seq = this._seq.pop(); + var start = seq + 3; + var len = this._offset - start; + + if (len <= 0x7f) { + this._shift(start, len, -2); + this._buf[seq] = len; + } else if (len <= 0xff) { + this._shift(start, len, -1); + this._buf[seq] = 0x81; + this._buf[seq + 1] = len; + } else if (len <= 0xffff) { + this._buf[seq] = 0x82; + this._buf[seq + 1] = len >> 8; + this._buf[seq + 2] = len; + } else if (len <= 0xffffff) { + this._shift(start, len, 1); + this._buf[seq] = 0x83; + this._buf[seq + 1] = len >> 16; + this._buf[seq + 2] = len >> 8; + this._buf[seq + 3] = len; + } else { + throw newInvalidAsn1Error('Sequence too long'); + } +}; + + +Writer.prototype._shift = function (start, len, shift) { + assert.ok(start !== undefined); + assert.ok(len !== undefined); + assert.ok(shift); + + this._buf.copy(this._buf, start + shift, start, start + len); + this._offset += shift; +}; + +Writer.prototype._ensure = function (len) { + assert.ok(len); + + if (this._size - this._offset < len) { + var sz = this._size * this._options.growthFactor; + if (sz - this._offset < len) + sz += len; + + var buf = Buffer.alloc(sz); + + this._buf.copy(buf, 0, 0, this._offset); + this._buf = buf; + this._size = sz; + } +}; + + + +// --- Exported API + +module.exports = Writer; diff --git a/node_modules/asn1/lib/index.js b/node_modules/asn1/lib/index.js new file mode 100644 index 0000000..ede3ab2 --- /dev/null +++ b/node_modules/asn1/lib/index.js @@ -0,0 +1,20 @@ +// Copyright 2011 Mark Cavage All rights reserved. + +// If you have no idea what ASN.1 or BER is, see this: +// ftp://ftp.rsa.com/pub/pkcs/ascii/layman.asc + +var Ber = require('./ber/index'); + + + +// --- Exported API + +module.exports = { + + Ber: Ber, + + BerReader: Ber.Reader, + + BerWriter: Ber.Writer + +}; diff --git a/node_modules/asn1/package.json b/node_modules/asn1/package.json new file mode 100644 index 0000000..f287a1a --- /dev/null +++ b/node_modules/asn1/package.json @@ -0,0 +1,78 @@ +{ + "_args": [ + [ + "asn1@0.2.4", + "/Users/1112456/github/jenkins-action" + ] + ], + "_from": "asn1@0.2.4", + "_id": "asn1@0.2.4", + "_inBundle": false, + "_integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "_location": "/asn1", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "asn1@0.2.4", + "name": "asn1", + "escapedName": "asn1", + "rawSpec": "0.2.4", + "saveSpec": null, + "fetchSpec": "0.2.4" + }, + "_requiredBy": [ + "/sshpk" + ], + "_resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "_spec": "0.2.4", + "_where": "/Users/1112456/github/jenkins-action", + "author": { + "name": "Joyent", + "url": "joyent.com" + }, + "bugs": { + "url": "https://github.com/joyent/node-asn1/issues" + }, + "contributors": [ + { + "name": "Mark Cavage", + "email": "mcavage@gmail.com" + }, + { + "name": "David Gwynne", + "email": "loki@animata.net" + }, + { + "name": "Yunong Xiao", + "email": "yunong@joyent.com" + }, + { + "name": "Alex Wilson", + "email": "alex.wilson@joyent.com" + } + ], + "dependencies": { + "safer-buffer": "~2.1.0" + }, + "description": "Contains parsers and serializers for ASN.1 (currently BER only)", + "devDependencies": { + "eslint": "2.13.1", + "eslint-plugin-joyent": "~1.3.0", + "faucet": "0.0.1", + "istanbul": "^0.3.6", + "tape": "^3.5.0" + }, + "homepage": "https://github.com/joyent/node-asn1#readme", + "license": "MIT", + "main": "lib/index.js", + "name": "asn1", + "repository": { + "type": "git", + "url": "git://github.com/joyent/node-asn1.git" + }, + "scripts": { + "test": "tape ./test/ber/*.test.js" + }, + "version": "0.2.4" +} diff --git a/node_modules/assert-plus/AUTHORS b/node_modules/assert-plus/AUTHORS new file mode 100644 index 0000000..1923524 --- /dev/null +++ b/node_modules/assert-plus/AUTHORS @@ -0,0 +1,6 @@ +Dave Eddy +Fred Kuo +Lars-Magnus Skog +Mark Cavage +Patrick Mooney +Rob Gulewich diff --git a/node_modules/assert-plus/CHANGES.md b/node_modules/assert-plus/CHANGES.md new file mode 100644 index 0000000..57d92bf --- /dev/null +++ b/node_modules/assert-plus/CHANGES.md @@ -0,0 +1,14 @@ +# assert-plus Changelog + +## 1.0.0 + +- *BREAKING* assert.number (and derivatives) now accept Infinity as valid input +- Add assert.finite check. Previous assert.number callers should use this if + they expect Infinity inputs to throw. + +## 0.2.0 + +- Fix `assert.object(null)` so it throws +- Fix optional/arrayOf exports for non-type-of asserts +- Add optiona/arrayOf exports for Stream/Date/Regex/uuid +- Add basic unit test coverage diff --git a/node_modules/assert-plus/README.md b/node_modules/assert-plus/README.md new file mode 100644 index 0000000..ec200d1 --- /dev/null +++ b/node_modules/assert-plus/README.md @@ -0,0 +1,162 @@ +# assert-plus + +This library is a super small wrapper over node's assert module that has two +things: (1) the ability to disable assertions with the environment variable +NODE\_NDEBUG, and (2) some API wrappers for argument testing. Like +`assert.string(myArg, 'myArg')`. As a simple example, most of my code looks +like this: + +```javascript + var assert = require('assert-plus'); + + function fooAccount(options, callback) { + assert.object(options, 'options'); + assert.number(options.id, 'options.id'); + assert.bool(options.isManager, 'options.isManager'); + assert.string(options.name, 'options.name'); + assert.arrayOfString(options.email, 'options.email'); + assert.func(callback, 'callback'); + + // Do stuff + callback(null, {}); + } +``` + +# API + +All methods that *aren't* part of node's core assert API are simply assumed to +take an argument, and then a string 'name' that's not a message; `AssertionError` +will be thrown if the assertion fails with a message like: + + AssertionError: foo (string) is required + at test (/home/mark/work/foo/foo.js:3:9) + at Object. (/home/mark/work/foo/foo.js:15:1) + at Module._compile (module.js:446:26) + at Object..js (module.js:464:10) + at Module.load (module.js:353:31) + at Function._load (module.js:311:12) + at Array.0 (module.js:484:10) + at EventEmitter._tickCallback (node.js:190:38) + +from: + +```javascript + function test(foo) { + assert.string(foo, 'foo'); + } +``` + +There you go. You can check that arrays are of a homogeneous type with `Arrayof$Type`: + +```javascript + function test(foo) { + assert.arrayOfString(foo, 'foo'); + } +``` + +You can assert IFF an argument is not `undefined` (i.e., an optional arg): + +```javascript + assert.optionalString(foo, 'foo'); +``` + +Lastly, you can opt-out of assertion checking altogether by setting the +environment variable `NODE_NDEBUG=1`. This is pseudo-useful if you have +lots of assertions, and don't want to pay `typeof ()` taxes to v8 in +production. Be advised: The standard functions re-exported from `assert` are +also disabled in assert-plus if NDEBUG is specified. Using them directly from +the `assert` module avoids this behavior. + +The complete list of APIs is: + +* assert.array +* assert.bool +* assert.buffer +* assert.func +* assert.number +* assert.finite +* assert.object +* assert.string +* assert.stream +* assert.date +* assert.regexp +* assert.uuid +* assert.arrayOfArray +* assert.arrayOfBool +* assert.arrayOfBuffer +* assert.arrayOfFunc +* assert.arrayOfNumber +* assert.arrayOfFinite +* assert.arrayOfObject +* assert.arrayOfString +* assert.arrayOfStream +* assert.arrayOfDate +* assert.arrayOfRegexp +* assert.arrayOfUuid +* assert.optionalArray +* assert.optionalBool +* assert.optionalBuffer +* assert.optionalFunc +* assert.optionalNumber +* assert.optionalFinite +* assert.optionalObject +* assert.optionalString +* assert.optionalStream +* assert.optionalDate +* assert.optionalRegexp +* assert.optionalUuid +* assert.optionalArrayOfArray +* assert.optionalArrayOfBool +* assert.optionalArrayOfBuffer +* assert.optionalArrayOfFunc +* assert.optionalArrayOfNumber +* assert.optionalArrayOfFinite +* assert.optionalArrayOfObject +* assert.optionalArrayOfString +* assert.optionalArrayOfStream +* assert.optionalArrayOfDate +* assert.optionalArrayOfRegexp +* assert.optionalArrayOfUuid +* assert.AssertionError +* assert.fail +* assert.ok +* assert.equal +* assert.notEqual +* assert.deepEqual +* assert.notDeepEqual +* assert.strictEqual +* assert.notStrictEqual +* assert.throws +* assert.doesNotThrow +* assert.ifError + +# Installation + + npm install assert-plus + +## License + +The MIT License (MIT) +Copyright (c) 2012 Mark Cavage + +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. + +## Bugs + +See . diff --git a/node_modules/assert-plus/assert.js b/node_modules/assert-plus/assert.js new file mode 100644 index 0000000..26f944e --- /dev/null +++ b/node_modules/assert-plus/assert.js @@ -0,0 +1,211 @@ +// Copyright (c) 2012, Mark Cavage. All rights reserved. +// Copyright 2015 Joyent, Inc. + +var assert = require('assert'); +var Stream = require('stream').Stream; +var util = require('util'); + + +///--- Globals + +/* JSSTYLED */ +var UUID_REGEXP = /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/; + + +///--- Internal + +function _capitalize(str) { + return (str.charAt(0).toUpperCase() + str.slice(1)); +} + +function _toss(name, expected, oper, arg, actual) { + throw new assert.AssertionError({ + message: util.format('%s (%s) is required', name, expected), + actual: (actual === undefined) ? typeof (arg) : actual(arg), + expected: expected, + operator: oper || '===', + stackStartFunction: _toss.caller + }); +} + +function _getClass(arg) { + return (Object.prototype.toString.call(arg).slice(8, -1)); +} + +function noop() { + // Why even bother with asserts? +} + + +///--- Exports + +var types = { + bool: { + check: function (arg) { return typeof (arg) === 'boolean'; } + }, + func: { + check: function (arg) { return typeof (arg) === 'function'; } + }, + string: { + check: function (arg) { return typeof (arg) === 'string'; } + }, + object: { + check: function (arg) { + return typeof (arg) === 'object' && arg !== null; + } + }, + number: { + check: function (arg) { + return typeof (arg) === 'number' && !isNaN(arg); + } + }, + finite: { + check: function (arg) { + return typeof (arg) === 'number' && !isNaN(arg) && isFinite(arg); + } + }, + buffer: { + check: function (arg) { return Buffer.isBuffer(arg); }, + operator: 'Buffer.isBuffer' + }, + array: { + check: function (arg) { return Array.isArray(arg); }, + operator: 'Array.isArray' + }, + stream: { + check: function (arg) { return arg instanceof Stream; }, + operator: 'instanceof', + actual: _getClass + }, + date: { + check: function (arg) { return arg instanceof Date; }, + operator: 'instanceof', + actual: _getClass + }, + regexp: { + check: function (arg) { return arg instanceof RegExp; }, + operator: 'instanceof', + actual: _getClass + }, + uuid: { + check: function (arg) { + return typeof (arg) === 'string' && UUID_REGEXP.test(arg); + }, + operator: 'isUUID' + } +}; + +function _setExports(ndebug) { + var keys = Object.keys(types); + var out; + + /* re-export standard assert */ + if (process.env.NODE_NDEBUG) { + out = noop; + } else { + out = function (arg, msg) { + if (!arg) { + _toss(msg, 'true', arg); + } + }; + } + + /* standard checks */ + keys.forEach(function (k) { + if (ndebug) { + out[k] = noop; + return; + } + var type = types[k]; + out[k] = function (arg, msg) { + if (!type.check(arg)) { + _toss(msg, k, type.operator, arg, type.actual); + } + }; + }); + + /* optional checks */ + keys.forEach(function (k) { + var name = 'optional' + _capitalize(k); + if (ndebug) { + out[name] = noop; + return; + } + var type = types[k]; + out[name] = function (arg, msg) { + if (arg === undefined || arg === null) { + return; + } + if (!type.check(arg)) { + _toss(msg, k, type.operator, arg, type.actual); + } + }; + }); + + /* arrayOf checks */ + keys.forEach(function (k) { + var name = 'arrayOf' + _capitalize(k); + if (ndebug) { + out[name] = noop; + return; + } + var type = types[k]; + var expected = '[' + k + ']'; + out[name] = function (arg, msg) { + if (!Array.isArray(arg)) { + _toss(msg, expected, type.operator, arg, type.actual); + } + var i; + for (i = 0; i < arg.length; i++) { + if (!type.check(arg[i])) { + _toss(msg, expected, type.operator, arg, type.actual); + } + } + }; + }); + + /* optionalArrayOf checks */ + keys.forEach(function (k) { + var name = 'optionalArrayOf' + _capitalize(k); + if (ndebug) { + out[name] = noop; + return; + } + var type = types[k]; + var expected = '[' + k + ']'; + out[name] = function (arg, msg) { + if (arg === undefined || arg === null) { + return; + } + if (!Array.isArray(arg)) { + _toss(msg, expected, type.operator, arg, type.actual); + } + var i; + for (i = 0; i < arg.length; i++) { + if (!type.check(arg[i])) { + _toss(msg, expected, type.operator, arg, type.actual); + } + } + }; + }); + + /* re-export built-in assertions */ + Object.keys(assert).forEach(function (k) { + if (k === 'AssertionError') { + out[k] = assert[k]; + return; + } + if (ndebug) { + out[k] = noop; + return; + } + out[k] = assert[k]; + }); + + /* export ourselves (for unit tests _only_) */ + out._setExports = _setExports; + + return out; +} + +module.exports = _setExports(process.env.NODE_NDEBUG); diff --git a/node_modules/assert-plus/package.json b/node_modules/assert-plus/package.json new file mode 100644 index 0000000..05f49ff --- /dev/null +++ b/node_modules/assert-plus/package.json @@ -0,0 +1,90 @@ +{ + "_args": [ + [ + "assert-plus@1.0.0", + "/Users/1112456/github/jenkins-action" + ] + ], + "_from": "assert-plus@1.0.0", + "_id": "assert-plus@1.0.0", + "_inBundle": false, + "_integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "_location": "/assert-plus", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "assert-plus@1.0.0", + "name": "assert-plus", + "escapedName": "assert-plus", + "rawSpec": "1.0.0", + "saveSpec": null, + "fetchSpec": "1.0.0" + }, + "_requiredBy": [ + "/dashdash", + "/getpass", + "/http-signature", + "/jsprim", + "/sshpk", + "/verror" + ], + "_resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "_spec": "1.0.0", + "_where": "/Users/1112456/github/jenkins-action", + "author": { + "name": "Mark Cavage", + "email": "mcavage@gmail.com" + }, + "bugs": { + "url": "https://github.com/mcavage/node-assert-plus/issues" + }, + "contributors": [ + { + "name": "Dave Eddy", + "email": "dave@daveeddy.com" + }, + { + "name": "Fred Kuo", + "email": "fred.kuo@joyent.com" + }, + { + "name": "Lars-Magnus Skog", + "email": "ralphtheninja@riseup.net" + }, + { + "name": "Mark Cavage", + "email": "mcavage@gmail.com" + }, + { + "name": "Patrick Mooney", + "email": "pmooney@pfmooney.com" + }, + { + "name": "Rob Gulewich", + "email": "robert.gulewich@joyent.com" + } + ], + "dependencies": {}, + "description": "Extra assertions on top of node's assert module", + "devDependencies": { + "faucet": "0.0.1", + "tape": "4.2.2" + }, + "engines": { + "node": ">=0.8" + }, + "homepage": "https://github.com/mcavage/node-assert-plus#readme", + "license": "MIT", + "main": "./assert.js", + "name": "assert-plus", + "optionalDependencies": {}, + "repository": { + "type": "git", + "url": "git+https://github.com/mcavage/node-assert-plus.git" + }, + "scripts": { + "test": "tape tests/*.js | ./node_modules/.bin/faucet" + }, + "version": "1.0.0" +} diff --git a/node_modules/asynckit/LICENSE b/node_modules/asynckit/LICENSE new file mode 100644 index 0000000..c9eca5d --- /dev/null +++ b/node_modules/asynckit/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2016 Alex Indigo + +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. diff --git a/node_modules/asynckit/README.md b/node_modules/asynckit/README.md new file mode 100644 index 0000000..ddcc7e6 --- /dev/null +++ b/node_modules/asynckit/README.md @@ -0,0 +1,233 @@ +# asynckit [![NPM Module](https://img.shields.io/npm/v/asynckit.svg?style=flat)](https://www.npmjs.com/package/asynckit) + +Minimal async jobs utility library, with streams support. + +[![PhantomJS Build](https://img.shields.io/travis/alexindigo/asynckit/v0.4.0.svg?label=browser&style=flat)](https://travis-ci.org/alexindigo/asynckit) +[![Linux Build](https://img.shields.io/travis/alexindigo/asynckit/v0.4.0.svg?label=linux:0.12-6.x&style=flat)](https://travis-ci.org/alexindigo/asynckit) +[![Windows Build](https://img.shields.io/appveyor/ci/alexindigo/asynckit/v0.4.0.svg?label=windows:0.12-6.x&style=flat)](https://ci.appveyor.com/project/alexindigo/asynckit) + +[![Coverage Status](https://img.shields.io/coveralls/alexindigo/asynckit/v0.4.0.svg?label=code+coverage&style=flat)](https://coveralls.io/github/alexindigo/asynckit?branch=master) +[![Dependency Status](https://img.shields.io/david/alexindigo/asynckit/v0.4.0.svg?style=flat)](https://david-dm.org/alexindigo/asynckit) +[![bitHound Overall Score](https://www.bithound.io/github/alexindigo/asynckit/badges/score.svg)](https://www.bithound.io/github/alexindigo/asynckit) + + + +AsyncKit provides harness for `parallel` and `serial` iterators over list of items represented by arrays or objects. +Optionally it accepts abort function (should be synchronously return by iterator for each item), and terminates left over jobs upon an error event. For specific iteration order built-in (`ascending` and `descending`) and custom sort helpers also supported, via `asynckit.serialOrdered` method. + +It ensures async operations to keep behavior more stable and prevent `Maximum call stack size exceeded` errors, from sync iterators. + +| compression | size | +| :----------------- | -------: | +| asynckit.js | 12.34 kB | +| asynckit.min.js | 4.11 kB | +| asynckit.min.js.gz | 1.47 kB | + + +## Install + +```sh +$ npm install --save asynckit +``` + +## Examples + +### Parallel Jobs + +Runs iterator over provided array in parallel. Stores output in the `result` array, +on the matching positions. In unlikely event of an error from one of the jobs, +will terminate rest of the active jobs (if abort function is provided) +and return error along with salvaged data to the main callback function. + +#### Input Array + +```javascript +var parallel = require('asynckit').parallel + , assert = require('assert') + ; + +var source = [ 1, 1, 4, 16, 64, 32, 8, 2 ] + , expectedResult = [ 2, 2, 8, 32, 128, 64, 16, 4 ] + , expectedTarget = [ 1, 1, 2, 4, 8, 16, 32, 64 ] + , target = [] + ; + +parallel(source, asyncJob, function(err, result) +{ + assert.deepEqual(result, expectedResult); + assert.deepEqual(target, expectedTarget); +}); + +// async job accepts one element from the array +// and a callback function +function asyncJob(item, cb) +{ + // different delays (in ms) per item + var delay = item * 25; + + // pretend different jobs take different time to finish + // and not in consequential order + var timeoutId = setTimeout(function() { + target.push(item); + cb(null, item * 2); + }, delay); + + // allow to cancel "leftover" jobs upon error + // return function, invoking of which will abort this job + return clearTimeout.bind(null, timeoutId); +} +``` + +More examples could be found in [test/test-parallel-array.js](test/test-parallel-array.js). + +#### Input Object + +Also it supports named jobs, listed via object. + +```javascript +var parallel = require('asynckit/parallel') + , assert = require('assert') + ; + +var source = { first: 1, one: 1, four: 4, sixteen: 16, sixtyFour: 64, thirtyTwo: 32, eight: 8, two: 2 } + , expectedResult = { first: 2, one: 2, four: 8, sixteen: 32, sixtyFour: 128, thirtyTwo: 64, eight: 16, two: 4 } + , expectedTarget = [ 1, 1, 2, 4, 8, 16, 32, 64 ] + , expectedKeys = [ 'first', 'one', 'two', 'four', 'eight', 'sixteen', 'thirtyTwo', 'sixtyFour' ] + , target = [] + , keys = [] + ; + +parallel(source, asyncJob, function(err, result) +{ + assert.deepEqual(result, expectedResult); + assert.deepEqual(target, expectedTarget); + assert.deepEqual(keys, expectedKeys); +}); + +// supports full value, key, callback (shortcut) interface +function asyncJob(item, key, cb) +{ + // different delays (in ms) per item + var delay = item * 25; + + // pretend different jobs take different time to finish + // and not in consequential order + var timeoutId = setTimeout(function() { + keys.push(key); + target.push(item); + cb(null, item * 2); + }, delay); + + // allow to cancel "leftover" jobs upon error + // return function, invoking of which will abort this job + return clearTimeout.bind(null, timeoutId); +} +``` + +More examples could be found in [test/test-parallel-object.js](test/test-parallel-object.js). + +### Serial Jobs + +Runs iterator over provided array sequentially. Stores output in the `result` array, +on the matching positions. In unlikely event of an error from one of the jobs, +will not proceed to the rest of the items in the list +and return error along with salvaged data to the main callback function. + +#### Input Array + +```javascript +var serial = require('asynckit/serial') + , assert = require('assert') + ; + +var source = [ 1, 1, 4, 16, 64, 32, 8, 2 ] + , expectedResult = [ 2, 2, 8, 32, 128, 64, 16, 4 ] + , expectedTarget = [ 0, 1, 2, 3, 4, 5, 6, 7 ] + , target = [] + ; + +serial(source, asyncJob, function(err, result) +{ + assert.deepEqual(result, expectedResult); + assert.deepEqual(target, expectedTarget); +}); + +// extended interface (item, key, callback) +// also supported for arrays +function asyncJob(item, key, cb) +{ + target.push(key); + + // it will be automatically made async + // even it iterator "returns" in the same event loop + cb(null, item * 2); +} +``` + +More examples could be found in [test/test-serial-array.js](test/test-serial-array.js). + +#### Input Object + +Also it supports named jobs, listed via object. + +```javascript +var serial = require('asynckit').serial + , assert = require('assert') + ; + +var source = [ 1, 1, 4, 16, 64, 32, 8, 2 ] + , expectedResult = [ 2, 2, 8, 32, 128, 64, 16, 4 ] + , expectedTarget = [ 0, 1, 2, 3, 4, 5, 6, 7 ] + , target = [] + ; + +var source = { first: 1, one: 1, four: 4, sixteen: 16, sixtyFour: 64, thirtyTwo: 32, eight: 8, two: 2 } + , expectedResult = { first: 2, one: 2, four: 8, sixteen: 32, sixtyFour: 128, thirtyTwo: 64, eight: 16, two: 4 } + , expectedTarget = [ 1, 1, 4, 16, 64, 32, 8, 2 ] + , target = [] + ; + + +serial(source, asyncJob, function(err, result) +{ + assert.deepEqual(result, expectedResult); + assert.deepEqual(target, expectedTarget); +}); + +// shortcut interface (item, callback) +// works for object as well as for the arrays +function asyncJob(item, cb) +{ + target.push(item); + + // it will be automatically made async + // even it iterator "returns" in the same event loop + cb(null, item * 2); +} +``` + +More examples could be found in [test/test-serial-object.js](test/test-serial-object.js). + +_Note: Since _object_ is an _unordered_ collection of properties, +it may produce unexpected results with sequential iterations. +Whenever order of the jobs' execution is important please use `serialOrdered` method._ + +### Ordered Serial Iterations + +TBD + +For example [compare-property](compare-property) package. + +### Streaming interface + +TBD + +## Want to Know More? + +More examples can be found in [test folder](test/). + +Or open an [issue](https://github.com/alexindigo/asynckit/issues) with questions and/or suggestions. + +## License + +AsyncKit is licensed under the MIT license. diff --git a/node_modules/asynckit/bench.js b/node_modules/asynckit/bench.js new file mode 100644 index 0000000..c612f1a --- /dev/null +++ b/node_modules/asynckit/bench.js @@ -0,0 +1,76 @@ +/* eslint no-console: "off" */ + +var asynckit = require('./') + , async = require('async') + , assert = require('assert') + , expected = 0 + ; + +var Benchmark = require('benchmark'); +var suite = new Benchmark.Suite; + +var source = []; +for (var z = 1; z < 100; z++) +{ + source.push(z); + expected += z; +} + +suite +// add tests + +.add('async.map', function(deferred) +{ + var total = 0; + + async.map(source, + function(i, cb) + { + setImmediate(function() + { + total += i; + cb(null, total); + }); + }, + function(err, result) + { + assert.ifError(err); + assert.equal(result[result.length - 1], expected); + deferred.resolve(); + }); +}, {'defer': true}) + + +.add('asynckit.parallel', function(deferred) +{ + var total = 0; + + asynckit.parallel(source, + function(i, cb) + { + setImmediate(function() + { + total += i; + cb(null, total); + }); + }, + function(err, result) + { + assert.ifError(err); + assert.equal(result[result.length - 1], expected); + deferred.resolve(); + }); +}, {'defer': true}) + + +// add listeners +.on('cycle', function(ev) +{ + console.log(String(ev.target)); +}) +.on('complete', function() +{ + console.log('Fastest is ' + this.filter('fastest').map('name')); +}) +// run async +.run({ 'async': true }); diff --git a/node_modules/asynckit/index.js b/node_modules/asynckit/index.js new file mode 100644 index 0000000..455f945 --- /dev/null +++ b/node_modules/asynckit/index.js @@ -0,0 +1,6 @@ +module.exports = +{ + parallel : require('./parallel.js'), + serial : require('./serial.js'), + serialOrdered : require('./serialOrdered.js') +}; diff --git a/node_modules/asynckit/lib/abort.js b/node_modules/asynckit/lib/abort.js new file mode 100644 index 0000000..114367e --- /dev/null +++ b/node_modules/asynckit/lib/abort.js @@ -0,0 +1,29 @@ +// API +module.exports = abort; + +/** + * Aborts leftover active jobs + * + * @param {object} state - current state object + */ +function abort(state) +{ + Object.keys(state.jobs).forEach(clean.bind(state)); + + // reset leftover jobs + state.jobs = {}; +} + +/** + * Cleans up leftover job by invoking abort function for the provided job id + * + * @this state + * @param {string|number} key - job id to abort + */ +function clean(key) +{ + if (typeof this.jobs[key] == 'function') + { + this.jobs[key](); + } +} diff --git a/node_modules/asynckit/lib/async.js b/node_modules/asynckit/lib/async.js new file mode 100644 index 0000000..7f1288a --- /dev/null +++ b/node_modules/asynckit/lib/async.js @@ -0,0 +1,34 @@ +var defer = require('./defer.js'); + +// API +module.exports = async; + +/** + * Runs provided callback asynchronously + * even if callback itself is not + * + * @param {function} callback - callback to invoke + * @returns {function} - augmented callback + */ +function async(callback) +{ + var isAsync = false; + + // check if async happened + defer(function() { isAsync = true; }); + + return function async_callback(err, result) + { + if (isAsync) + { + callback(err, result); + } + else + { + defer(function nextTick_callback() + { + callback(err, result); + }); + } + }; +} diff --git a/node_modules/asynckit/lib/defer.js b/node_modules/asynckit/lib/defer.js new file mode 100644 index 0000000..b67110c --- /dev/null +++ b/node_modules/asynckit/lib/defer.js @@ -0,0 +1,26 @@ +module.exports = defer; + +/** + * Runs provided function on next iteration of the event loop + * + * @param {function} fn - function to run + */ +function defer(fn) +{ + var nextTick = typeof setImmediate == 'function' + ? setImmediate + : ( + typeof process == 'object' && typeof process.nextTick == 'function' + ? process.nextTick + : null + ); + + if (nextTick) + { + nextTick(fn); + } + else + { + setTimeout(fn, 0); + } +} diff --git a/node_modules/asynckit/lib/iterate.js b/node_modules/asynckit/lib/iterate.js new file mode 100644 index 0000000..5d2839a --- /dev/null +++ b/node_modules/asynckit/lib/iterate.js @@ -0,0 +1,75 @@ +var async = require('./async.js') + , abort = require('./abort.js') + ; + +// API +module.exports = iterate; + +/** + * Iterates over each job object + * + * @param {array|object} list - array or object (named list) to iterate over + * @param {function} iterator - iterator to run + * @param {object} state - current job status + * @param {function} callback - invoked when all elements processed + */ +function iterate(list, iterator, state, callback) +{ + // store current index + var key = state['keyedList'] ? state['keyedList'][state.index] : state.index; + + state.jobs[key] = runJob(iterator, key, list[key], function(error, output) + { + // don't repeat yourself + // skip secondary callbacks + if (!(key in state.jobs)) + { + return; + } + + // clean up jobs + delete state.jobs[key]; + + if (error) + { + // don't process rest of the results + // stop still active jobs + // and reset the list + abort(state); + } + else + { + state.results[key] = output; + } + + // return salvaged results + callback(error, state.results); + }); +} + +/** + * Runs iterator over provided job element + * + * @param {function} iterator - iterator to invoke + * @param {string|number} key - key/index of the element in the list of jobs + * @param {mixed} item - job description + * @param {function} callback - invoked after iterator is done with the job + * @returns {function|mixed} - job abort function or something else + */ +function runJob(iterator, key, item, callback) +{ + var aborter; + + // allow shortcut if iterator expects only two arguments + if (iterator.length == 2) + { + aborter = iterator(item, async(callback)); + } + // otherwise go with full three arguments + else + { + aborter = iterator(item, key, async(callback)); + } + + return aborter; +} diff --git a/node_modules/asynckit/lib/readable_asynckit.js b/node_modules/asynckit/lib/readable_asynckit.js new file mode 100644 index 0000000..78ad240 --- /dev/null +++ b/node_modules/asynckit/lib/readable_asynckit.js @@ -0,0 +1,91 @@ +var streamify = require('./streamify.js') + , defer = require('./defer.js') + ; + +// API +module.exports = ReadableAsyncKit; + +/** + * Base constructor for all streams + * used to hold properties/methods + */ +function ReadableAsyncKit() +{ + ReadableAsyncKit.super_.apply(this, arguments); + + // list of active jobs + this.jobs = {}; + + // add stream methods + this.destroy = destroy; + this._start = _start; + this._read = _read; +} + +/** + * Destroys readable stream, + * by aborting outstanding jobs + * + * @returns {void} + */ +function destroy() +{ + if (this.destroyed) + { + return; + } + + this.destroyed = true; + + if (typeof this.terminator == 'function') + { + this.terminator(); + } +} + +/** + * Starts provided jobs in async manner + * + * @private + */ +function _start() +{ + // first argument – runner function + var runner = arguments[0] + // take away first argument + , args = Array.prototype.slice.call(arguments, 1) + // second argument - input data + , input = args[0] + // last argument - result callback + , endCb = streamify.callback.call(this, args[args.length - 1]) + ; + + args[args.length - 1] = endCb; + // third argument - iterator + args[1] = streamify.iterator.call(this, args[1]); + + // allow time for proper setup + defer(function() + { + if (!this.destroyed) + { + this.terminator = runner.apply(null, args); + } + else + { + endCb(null, Array.isArray(input) ? [] : {}); + } + }.bind(this)); +} + + +/** + * Implement _read to comply with Readable streams + * Doesn't really make sense for flowing object mode + * + * @private + */ +function _read() +{ + +} diff --git a/node_modules/asynckit/lib/readable_parallel.js b/node_modules/asynckit/lib/readable_parallel.js new file mode 100644 index 0000000..5d2929f --- /dev/null +++ b/node_modules/asynckit/lib/readable_parallel.js @@ -0,0 +1,25 @@ +var parallel = require('../parallel.js'); + +// API +module.exports = ReadableParallel; + +/** + * Streaming wrapper to `asynckit.parallel` + * + * @param {array|object} list - array or object (named list) to iterate over + * @param {function} iterator - iterator to run + * @param {function} callback - invoked when all elements processed + * @returns {stream.Readable#} + */ +function ReadableParallel(list, iterator, callback) +{ + if (!(this instanceof ReadableParallel)) + { + return new ReadableParallel(list, iterator, callback); + } + + // turn on object mode + ReadableParallel.super_.call(this, {objectMode: true}); + + this._start(parallel, list, iterator, callback); +} diff --git a/node_modules/asynckit/lib/readable_serial.js b/node_modules/asynckit/lib/readable_serial.js new file mode 100644 index 0000000..7822698 --- /dev/null +++ b/node_modules/asynckit/lib/readable_serial.js @@ -0,0 +1,25 @@ +var serial = require('../serial.js'); + +// API +module.exports = ReadableSerial; + +/** + * Streaming wrapper to `asynckit.serial` + * + * @param {array|object} list - array or object (named list) to iterate over + * @param {function} iterator - iterator to run + * @param {function} callback - invoked when all elements processed + * @returns {stream.Readable#} + */ +function ReadableSerial(list, iterator, callback) +{ + if (!(this instanceof ReadableSerial)) + { + return new ReadableSerial(list, iterator, callback); + } + + // turn on object mode + ReadableSerial.super_.call(this, {objectMode: true}); + + this._start(serial, list, iterator, callback); +} diff --git a/node_modules/asynckit/lib/readable_serial_ordered.js b/node_modules/asynckit/lib/readable_serial_ordered.js new file mode 100644 index 0000000..3de89c4 --- /dev/null +++ b/node_modules/asynckit/lib/readable_serial_ordered.js @@ -0,0 +1,29 @@ +var serialOrdered = require('../serialOrdered.js'); + +// API +module.exports = ReadableSerialOrdered; +// expose sort helpers +module.exports.ascending = serialOrdered.ascending; +module.exports.descending = serialOrdered.descending; + +/** + * Streaming wrapper to `asynckit.serialOrdered` + * + * @param {array|object} list - array or object (named list) to iterate over + * @param {function} iterator - iterator to run + * @param {function} sortMethod - custom sort function + * @param {function} callback - invoked when all elements processed + * @returns {stream.Readable#} + */ +function ReadableSerialOrdered(list, iterator, sortMethod, callback) +{ + if (!(this instanceof ReadableSerialOrdered)) + { + return new ReadableSerialOrdered(list, iterator, sortMethod, callback); + } + + // turn on object mode + ReadableSerialOrdered.super_.call(this, {objectMode: true}); + + this._start(serialOrdered, list, iterator, sortMethod, callback); +} diff --git a/node_modules/asynckit/lib/state.js b/node_modules/asynckit/lib/state.js new file mode 100644 index 0000000..cbea7ad --- /dev/null +++ b/node_modules/asynckit/lib/state.js @@ -0,0 +1,37 @@ +// API +module.exports = state; + +/** + * Creates initial state object + * for iteration over list + * + * @param {array|object} list - list to iterate over + * @param {function|null} sortMethod - function to use for keys sort, + * or `null` to keep them as is + * @returns {object} - initial state object + */ +function state(list, sortMethod) +{ + var isNamedList = !Array.isArray(list) + , initState = + { + index : 0, + keyedList: isNamedList || sortMethod ? Object.keys(list) : null, + jobs : {}, + results : isNamedList ? {} : [], + size : isNamedList ? Object.keys(list).length : list.length + } + ; + + if (sortMethod) + { + // sort array keys based on it's values + // sort object's keys just on own merit + initState.keyedList.sort(isNamedList ? sortMethod : function(a, b) + { + return sortMethod(list[a], list[b]); + }); + } + + return initState; +} diff --git a/node_modules/asynckit/lib/streamify.js b/node_modules/asynckit/lib/streamify.js new file mode 100644 index 0000000..f56a1c9 --- /dev/null +++ b/node_modules/asynckit/lib/streamify.js @@ -0,0 +1,141 @@ +var async = require('./async.js'); + +// API +module.exports = { + iterator: wrapIterator, + callback: wrapCallback +}; + +/** + * Wraps iterators with long signature + * + * @this ReadableAsyncKit# + * @param {function} iterator - function to wrap + * @returns {function} - wrapped function + */ +function wrapIterator(iterator) +{ + var stream = this; + + return function(item, key, cb) + { + var aborter + , wrappedCb = async(wrapIteratorCallback.call(stream, cb, key)) + ; + + stream.jobs[key] = wrappedCb; + + // it's either shortcut (item, cb) + if (iterator.length == 2) + { + aborter = iterator(item, wrappedCb); + } + // or long format (item, key, cb) + else + { + aborter = iterator(item, key, wrappedCb); + } + + return aborter; + }; +} + +/** + * Wraps provided callback function + * allowing to execute snitch function before + * real callback + * + * @this ReadableAsyncKit# + * @param {function} callback - function to wrap + * @returns {function} - wrapped function + */ +function wrapCallback(callback) +{ + var stream = this; + + var wrapped = function(error, result) + { + return finisher.call(stream, error, result, callback); + }; + + return wrapped; +} + +/** + * Wraps provided iterator callback function + * makes sure snitch only called once, + * but passes secondary calls to the original callback + * + * @this ReadableAsyncKit# + * @param {function} callback - callback to wrap + * @param {number|string} key - iteration key + * @returns {function} wrapped callback + */ +function wrapIteratorCallback(callback, key) +{ + var stream = this; + + return function(error, output) + { + // don't repeat yourself + if (!(key in stream.jobs)) + { + callback(error, output); + return; + } + + // clean up jobs + delete stream.jobs[key]; + + return streamer.call(stream, error, {key: key, value: output}, callback); + }; +} + +/** + * Stream wrapper for iterator callback + * + * @this ReadableAsyncKit# + * @param {mixed} error - error response + * @param {mixed} output - iterator output + * @param {function} callback - callback that expects iterator results + */ +function streamer(error, output, callback) +{ + if (error && !this.error) + { + this.error = error; + this.pause(); + this.emit('error', error); + // send back value only, as expected + callback(error, output && output.value); + return; + } + + // stream stuff + this.push(output); + + // back to original track + // send back value only, as expected + callback(error, output && output.value); +} + +/** + * Stream wrapper for finishing callback + * + * @this ReadableAsyncKit# + * @param {mixed} error - error response + * @param {mixed} output - iterator output + * @param {function} callback - callback that expects final results + */ +function finisher(error, output, callback) +{ + // signal end of the stream + // only for successfully finished streams + if (!error) + { + this.push(null); + } + + // back to original track + callback(error, output); +} diff --git a/node_modules/asynckit/lib/terminator.js b/node_modules/asynckit/lib/terminator.js new file mode 100644 index 0000000..d6eb992 --- /dev/null +++ b/node_modules/asynckit/lib/terminator.js @@ -0,0 +1,29 @@ +var abort = require('./abort.js') + , async = require('./async.js') + ; + +// API +module.exports = terminator; + +/** + * Terminates jobs in the attached state context + * + * @this AsyncKitState# + * @param {function} callback - final callback to invoke after termination + */ +function terminator(callback) +{ + if (!Object.keys(this.jobs).length) + { + return; + } + + // fast forward iteration index + this.index = this.size; + + // abort jobs + abort(this); + + // send back results we have so far + async(callback)(null, this.results); +} diff --git a/node_modules/asynckit/package.json b/node_modules/asynckit/package.json new file mode 100644 index 0000000..7be2b4e --- /dev/null +++ b/node_modules/asynckit/package.json @@ -0,0 +1,94 @@ +{ + "_args": [ + [ + "asynckit@0.4.0", + "/Users/1112456/github/jenkins-action" + ] + ], + "_from": "asynckit@0.4.0", + "_id": "asynckit@0.4.0", + "_inBundle": false, + "_integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "_location": "/asynckit", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "asynckit@0.4.0", + "name": "asynckit", + "escapedName": "asynckit", + "rawSpec": "0.4.0", + "saveSpec": null, + "fetchSpec": "0.4.0" + }, + "_requiredBy": [ + "/form-data" + ], + "_resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "_spec": "0.4.0", + "_where": "/Users/1112456/github/jenkins-action", + "author": { + "name": "Alex Indigo", + "email": "iam@alexindigo.com" + }, + "bugs": { + "url": "https://github.com/alexindigo/asynckit/issues" + }, + "dependencies": {}, + "description": "Minimal async jobs utility library, with streams support", + "devDependencies": { + "browserify": "^13.0.0", + "browserify-istanbul": "^2.0.0", + "coveralls": "^2.11.9", + "eslint": "^2.9.0", + "istanbul": "^0.4.3", + "obake": "^0.1.2", + "phantomjs-prebuilt": "^2.1.7", + "pre-commit": "^1.1.3", + "reamde": "^1.1.0", + "rimraf": "^2.5.2", + "size-table": "^0.2.0", + "tap-spec": "^4.1.1", + "tape": "^4.5.1" + }, + "homepage": "https://github.com/alexindigo/asynckit#readme", + "keywords": [ + "async", + "jobs", + "parallel", + "serial", + "iterator", + "array", + "object", + "stream", + "destroy", + "terminate", + "abort" + ], + "license": "MIT", + "main": "index.js", + "name": "asynckit", + "pre-commit": [ + "clean", + "lint", + "test", + "browser", + "report", + "size" + ], + "repository": { + "type": "git", + "url": "git+https://github.com/alexindigo/asynckit.git" + }, + "scripts": { + "browser": "browserify -t browserify-istanbul test/lib/browserify_adjustment.js test/test-*.js | obake --coverage | tap-spec", + "clean": "rimraf coverage", + "debug": "tape test/test-*.js", + "lint": "eslint *.js lib/*.js test/*.js", + "report": "istanbul report", + "size": "browserify index.js | size-table asynckit", + "test": "istanbul cover --reporter=json tape -- 'test/test-*.js' | tap-spec", + "win-test": "tape test/test-*.js" + }, + "version": "0.4.0" +} diff --git a/node_modules/asynckit/parallel.js b/node_modules/asynckit/parallel.js new file mode 100644 index 0000000..3c50344 --- /dev/null +++ b/node_modules/asynckit/parallel.js @@ -0,0 +1,43 @@ +var iterate = require('./lib/iterate.js') + , initState = require('./lib/state.js') + , terminator = require('./lib/terminator.js') + ; + +// Public API +module.exports = parallel; + +/** + * Runs iterator over provided array elements in parallel + * + * @param {array|object} list - array or object (named list) to iterate over + * @param {function} iterator - iterator to run + * @param {function} callback - invoked when all elements processed + * @returns {function} - jobs terminator + */ +function parallel(list, iterator, callback) +{ + var state = initState(list); + + while (state.index < (state['keyedList'] || list).length) + { + iterate(list, iterator, state, function(error, result) + { + if (error) + { + callback(error, result); + return; + } + + // looks like it's the last one + if (Object.keys(state.jobs).length === 0) + { + callback(null, state.results); + return; + } + }); + + state.index++; + } + + return terminator.bind(state, callback); +} diff --git a/node_modules/asynckit/serial.js b/node_modules/asynckit/serial.js new file mode 100644 index 0000000..6cd949a --- /dev/null +++ b/node_modules/asynckit/serial.js @@ -0,0 +1,17 @@ +var serialOrdered = require('./serialOrdered.js'); + +// Public API +module.exports = serial; + +/** + * Runs iterator over provided array elements in series + * + * @param {array|object} list - array or object (named list) to iterate over + * @param {function} iterator - iterator to run + * @param {function} callback - invoked when all elements processed + * @returns {function} - jobs terminator + */ +function serial(list, iterator, callback) +{ + return serialOrdered(list, iterator, null, callback); +} diff --git a/node_modules/asynckit/serialOrdered.js b/node_modules/asynckit/serialOrdered.js new file mode 100644 index 0000000..607eafe --- /dev/null +++ b/node_modules/asynckit/serialOrdered.js @@ -0,0 +1,75 @@ +var iterate = require('./lib/iterate.js') + , initState = require('./lib/state.js') + , terminator = require('./lib/terminator.js') + ; + +// Public API +module.exports = serialOrdered; +// sorting helpers +module.exports.ascending = ascending; +module.exports.descending = descending; + +/** + * Runs iterator over provided sorted array elements in series + * + * @param {array|object} list - array or object (named list) to iterate over + * @param {function} iterator - iterator to run + * @param {function} sortMethod - custom sort function + * @param {function} callback - invoked when all elements processed + * @returns {function} - jobs terminator + */ +function serialOrdered(list, iterator, sortMethod, callback) +{ + var state = initState(list, sortMethod); + + iterate(list, iterator, state, function iteratorHandler(error, result) + { + if (error) + { + callback(error, result); + return; + } + + state.index++; + + // are we there yet? + if (state.index < (state['keyedList'] || list).length) + { + iterate(list, iterator, state, iteratorHandler); + return; + } + + // done here + callback(null, state.results); + }); + + return terminator.bind(state, callback); +} + +/* + * -- Sort methods + */ + +/** + * sort helper to sort array elements in ascending order + * + * @param {mixed} a - an item to compare + * @param {mixed} b - an item to compare + * @returns {number} - comparison result + */ +function ascending(a, b) +{ + return a < b ? -1 : a > b ? 1 : 0; +} + +/** + * sort helper to sort array elements in descending order + * + * @param {mixed} a - an item to compare + * @param {mixed} b - an item to compare + * @returns {number} - comparison result + */ +function descending(a, b) +{ + return -1 * ascending(a, b); +} diff --git a/node_modules/asynckit/stream.js b/node_modules/asynckit/stream.js new file mode 100644 index 0000000..d43465f --- /dev/null +++ b/node_modules/asynckit/stream.js @@ -0,0 +1,21 @@ +var inherits = require('util').inherits + , Readable = require('stream').Readable + , ReadableAsyncKit = require('./lib/readable_asynckit.js') + , ReadableParallel = require('./lib/readable_parallel.js') + , ReadableSerial = require('./lib/readable_serial.js') + , ReadableSerialOrdered = require('./lib/readable_serial_ordered.js') + ; + +// API +module.exports = +{ + parallel : ReadableParallel, + serial : ReadableSerial, + serialOrdered : ReadableSerialOrdered, +}; + +inherits(ReadableAsyncKit, Readable); + +inherits(ReadableParallel, ReadableAsyncKit); +inherits(ReadableSerial, ReadableAsyncKit); +inherits(ReadableSerialOrdered, ReadableAsyncKit); diff --git a/node_modules/atob-lite/.npmignore b/node_modules/atob-lite/.npmignore new file mode 100644 index 0000000..50c7458 --- /dev/null +++ b/node_modules/atob-lite/.npmignore @@ -0,0 +1,6 @@ +node_modules +*.log +.DS_Store +bundle.js +test +test.js diff --git a/node_modules/atob-lite/LICENSE.md b/node_modules/atob-lite/LICENSE.md new file mode 100644 index 0000000..ee27ba4 --- /dev/null +++ b/node_modules/atob-lite/LICENSE.md @@ -0,0 +1,18 @@ +This software is released under the MIT license: + +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. diff --git a/node_modules/atob-lite/README.md b/node_modules/atob-lite/README.md new file mode 100644 index 0000000..99ea05d --- /dev/null +++ b/node_modules/atob-lite/README.md @@ -0,0 +1,37 @@ +# atob-lite +![](http://img.shields.io/badge/stability-stable-orange.svg?style=flat) +![](http://img.shields.io/npm/v/atob-lite.svg?style=flat) +![](http://img.shields.io/npm/dm/atob-lite.svg?style=flat) +![](http://img.shields.io/npm/l/atob-lite.svg?style=flat) + +Smallest/simplest possible means of using atob with both Node and browserify. + +In the browser, decoding base64 strings is done using: + +``` javascript +var decoded = atob(encoded) +``` + +However in Node, it's done like so: + +``` javascript +var decoded = new Buffer(encoded, 'base64').toString('utf8') +``` + +You can easily check if `Buffer` exists and switch between the approaches +accordingly, but using `Buffer` anywhere in your browser source will pull +in browserify's `Buffer` shim which is pretty hefty. This package uses +the `main` and `browser` fields in its `package.json` to perform this +check at build time and avoid pulling `Buffer` in unnecessarily. + +## Usage + +[![NPM](https://nodei.co/npm/atob-lite.png)](https://nodei.co/npm/atob-lite/) + +### `decoded = atob(encoded)` + +Returns the decoded value of a base64-encoded string. + +## License + +MIT. See [LICENSE.md](http://github.com/hughsk/atob-lite/blob/master/LICENSE.md) for details. diff --git a/node_modules/atob-lite/atob-browser.js b/node_modules/atob-lite/atob-browser.js new file mode 100644 index 0000000..cee1a38 --- /dev/null +++ b/node_modules/atob-lite/atob-browser.js @@ -0,0 +1,3 @@ +module.exports = function _atob(str) { + return atob(str) +} diff --git a/node_modules/atob-lite/atob-node.js b/node_modules/atob-lite/atob-node.js new file mode 100644 index 0000000..7072075 --- /dev/null +++ b/node_modules/atob-lite/atob-node.js @@ -0,0 +1,3 @@ +module.exports = function atob(str) { + return Buffer.from(str, 'base64').toString('binary') +} diff --git a/node_modules/atob-lite/package.json b/node_modules/atob-lite/package.json new file mode 100644 index 0000000..a39237e --- /dev/null +++ b/node_modules/atob-lite/package.json @@ -0,0 +1,70 @@ +{ + "_args": [ + [ + "atob-lite@2.0.0", + "/Users/1112456/github/jenkins-action" + ] + ], + "_from": "atob-lite@2.0.0", + "_id": "atob-lite@2.0.0", + "_inBundle": false, + "_integrity": "sha1-D+9a1G8b16hQLGVyfwNn1e5D1pY=", + "_location": "/atob-lite", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "atob-lite@2.0.0", + "name": "atob-lite", + "escapedName": "atob-lite", + "rawSpec": "2.0.0", + "saveSpec": null, + "fetchSpec": "2.0.0" + }, + "_requiredBy": [ + "/@octokit/rest" + ], + "_resolved": "https://registry.npmjs.org/atob-lite/-/atob-lite-2.0.0.tgz", + "_spec": "2.0.0", + "_where": "/Users/1112456/github/jenkins-action", + "author": { + "name": "Hugh Kennedy", + "email": "hughskennedy@gmail.com", + "url": "http://hughsk.io/" + }, + "browser": "atob-browser.js", + "bugs": { + "url": "https://github.com/hughsk/atob-lite/issues" + }, + "dependencies": {}, + "description": "Smallest/simplest possible means of using atob with both Node and browserify", + "devDependencies": { + "browserify": "^10.2.4", + "smokestack": "^3.3.0", + "tap-closer": "^1.0.0", + "tap-spec": "^4.0.0", + "tape": "^4.0.0" + }, + "homepage": "https://github.com/hughsk/atob-lite", + "keywords": [ + "atob", + "base64", + "isomorphic", + "browser", + "node", + "shared" + ], + "license": "MIT", + "main": "atob-node.js", + "name": "atob-lite", + "repository": { + "type": "git", + "url": "git://github.com/hughsk/atob-lite.git" + }, + "scripts": { + "test": "npm run test-node && npm run test-browser", + "test-browser": "browserify test | smokestack | tap-spec", + "test-node": "node test | tap-spec" + }, + "version": "2.0.0" +} diff --git a/node_modules/aws-sign2/LICENSE b/node_modules/aws-sign2/LICENSE new file mode 100644 index 0000000..a4a9aee --- /dev/null +++ b/node_modules/aws-sign2/LICENSE @@ -0,0 +1,55 @@ +Apache License + +Version 2.0, January 2004 + +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. + +"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: + +You must give any other recipients of the Work or Derivative Works a copy of this License; and + +You must cause any modified files to carry prominent notices stating that You changed the files; and + +You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and + +If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS \ No newline at end of file diff --git a/node_modules/aws-sign2/README.md b/node_modules/aws-sign2/README.md new file mode 100644 index 0000000..763564e --- /dev/null +++ b/node_modules/aws-sign2/README.md @@ -0,0 +1,4 @@ +aws-sign +======== + +AWS signing. Originally pulled from LearnBoost/knox, maintained as vendor in request, now a standalone module. diff --git a/node_modules/aws-sign2/index.js b/node_modules/aws-sign2/index.js new file mode 100644 index 0000000..fb35f6d --- /dev/null +++ b/node_modules/aws-sign2/index.js @@ -0,0 +1,212 @@ + +/*! + * Copyright 2010 LearnBoost + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * Module dependencies. + */ + +var crypto = require('crypto') + , parse = require('url').parse + ; + +/** + * Valid keys. + */ + +var keys = + [ 'acl' + , 'location' + , 'logging' + , 'notification' + , 'partNumber' + , 'policy' + , 'requestPayment' + , 'torrent' + , 'uploadId' + , 'uploads' + , 'versionId' + , 'versioning' + , 'versions' + , 'website' + ] + +/** + * Return an "Authorization" header value with the given `options` + * in the form of "AWS :" + * + * @param {Object} options + * @return {String} + * @api private + */ + +function authorization (options) { + return 'AWS ' + options.key + ':' + sign(options) +} + +module.exports = authorization +module.exports.authorization = authorization + +/** + * Simple HMAC-SHA1 Wrapper + * + * @param {Object} options + * @return {String} + * @api private + */ + +function hmacSha1 (options) { + return crypto.createHmac('sha1', options.secret).update(options.message).digest('base64') +} + +module.exports.hmacSha1 = hmacSha1 + +/** + * Create a base64 sha1 HMAC for `options`. + * + * @param {Object} options + * @return {String} + * @api private + */ + +function sign (options) { + options.message = stringToSign(options) + return hmacSha1(options) +} +module.exports.sign = sign + +/** + * Create a base64 sha1 HMAC for `options`. + * + * Specifically to be used with S3 presigned URLs + * + * @param {Object} options + * @return {String} + * @api private + */ + +function signQuery (options) { + options.message = queryStringToSign(options) + return hmacSha1(options) +} +module.exports.signQuery= signQuery + +/** + * Return a string for sign() with the given `options`. + * + * Spec: + * + * \n + * \n + * \n + * \n + * [headers\n] + * + * + * @param {Object} options + * @return {String} + * @api private + */ + +function stringToSign (options) { + var headers = options.amazonHeaders || '' + if (headers) headers += '\n' + var r = + [ options.verb + , options.md5 + , options.contentType + , options.date ? options.date.toUTCString() : '' + , headers + options.resource + ] + return r.join('\n') +} +module.exports.stringToSign = stringToSign + +/** + * Return a string for sign() with the given `options`, but is meant exclusively + * for S3 presigned URLs + * + * Spec: + * + * \n + * + * + * @param {Object} options + * @return {String} + * @api private + */ + +function queryStringToSign (options){ + return 'GET\n\n\n' + options.date + '\n' + options.resource +} +module.exports.queryStringToSign = queryStringToSign + +/** + * Perform the following: + * + * - ignore non-amazon headers + * - lowercase fields + * - sort lexicographically + * - trim whitespace between ":" + * - join with newline + * + * @param {Object} headers + * @return {String} + * @api private + */ + +function canonicalizeHeaders (headers) { + var buf = [] + , fields = Object.keys(headers) + ; + for (var i = 0, len = fields.length; i < len; ++i) { + var field = fields[i] + , val = headers[field] + , field = field.toLowerCase() + ; + if (0 !== field.indexOf('x-amz')) continue + buf.push(field + ':' + val) + } + return buf.sort().join('\n') +} +module.exports.canonicalizeHeaders = canonicalizeHeaders + +/** + * Perform the following: + * + * - ignore non sub-resources + * - sort lexicographically + * + * @param {String} resource + * @return {String} + * @api private + */ + +function canonicalizeResource (resource) { + var url = parse(resource, true) + , path = url.pathname + , buf = [] + ; + + Object.keys(url.query).forEach(function(key){ + if (!~keys.indexOf(key)) return + var val = '' == url.query[key] ? '' : '=' + encodeURIComponent(url.query[key]) + buf.push(key + val) + }) + + return path + (buf.length ? '?' + buf.sort().join('&') : '') +} +module.exports.canonicalizeResource = canonicalizeResource diff --git a/node_modules/aws-sign2/package.json b/node_modules/aws-sign2/package.json new file mode 100644 index 0000000..9da84c1 --- /dev/null +++ b/node_modules/aws-sign2/package.json @@ -0,0 +1,53 @@ +{ + "_args": [ + [ + "aws-sign2@0.7.0", + "/Users/1112456/github/jenkins-action" + ] + ], + "_from": "aws-sign2@0.7.0", + "_id": "aws-sign2@0.7.0", + "_inBundle": false, + "_integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "_location": "/aws-sign2", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "aws-sign2@0.7.0", + "name": "aws-sign2", + "escapedName": "aws-sign2", + "rawSpec": "0.7.0", + "saveSpec": null, + "fetchSpec": "0.7.0" + }, + "_requiredBy": [ + "/request" + ], + "_resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "_spec": "0.7.0", + "_where": "/Users/1112456/github/jenkins-action", + "author": { + "name": "Mikeal Rogers", + "email": "mikeal.rogers@gmail.com", + "url": "http://www.futurealoof.com" + }, + "bugs": { + "url": "https://github.com/mikeal/aws-sign/issues" + }, + "dependencies": {}, + "description": "AWS signing. Originally pulled from LearnBoost/knox, maintained as vendor in request, now a standalone module.", + "devDependencies": {}, + "engines": { + "node": "*" + }, + "homepage": "https://github.com/mikeal/aws-sign#readme", + "license": "Apache-2.0", + "main": "index.js", + "name": "aws-sign2", + "optionalDependencies": {}, + "repository": { + "url": "git+https://github.com/mikeal/aws-sign.git" + }, + "version": "0.7.0" +} diff --git a/node_modules/aws4/.github/FUNDING.yml b/node_modules/aws4/.github/FUNDING.yml new file mode 100644 index 0000000..b7fdd97 --- /dev/null +++ b/node_modules/aws4/.github/FUNDING.yml @@ -0,0 +1,3 @@ +# These are supported funding model platforms + +github: mhart diff --git a/node_modules/aws4/.travis.yml b/node_modules/aws4/.travis.yml new file mode 100644 index 0000000..178bf31 --- /dev/null +++ b/node_modules/aws4/.travis.yml @@ -0,0 +1,9 @@ +language: node_js +node_js: + - "0.10" + - "0.12" + - "4" + - "6" + - "8" + - "10" + - "12" diff --git a/node_modules/aws4/LICENSE b/node_modules/aws4/LICENSE new file mode 100644 index 0000000..4f321e5 --- /dev/null +++ b/node_modules/aws4/LICENSE @@ -0,0 +1,19 @@ +Copyright 2013 Michael Hart (michael.hart.au@gmail.com) + +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. diff --git a/node_modules/aws4/README.md b/node_modules/aws4/README.md new file mode 100644 index 0000000..7202e45 --- /dev/null +++ b/node_modules/aws4/README.md @@ -0,0 +1,183 @@ +aws4 +---- + +[![Build Status](https://api.travis-ci.org/mhart/aws4.png?branch=master)](https://travis-ci.org/github/mhart/aws4) + +A small utility to sign vanilla Node.js http(s) request options using Amazon's +[AWS Signature Version 4](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html). + +If you want to sign and send AWS requests in a modern browser, or an environment like [Cloudflare Workers](https://developers.cloudflare.com/workers/), then check out [aws4fetch](https://github.com/mhart/aws4fetch) – otherwise you can also bundle this library for use [in older browsers](./browser). + +The only AWS service that *doesn't* support v4 as of 2020-05-22 is +[SimpleDB](https://docs.aws.amazon.com/AmazonSimpleDB/latest/DeveloperGuide/SDB_API.html) +(it only supports [AWS Signature Version 2](https://github.com/mhart/aws2)). + +It also provides defaults for a number of core AWS headers and +request parameters, making it very easy to query AWS services, or +build out a fully-featured AWS library. + +Example +------- + +```javascript +var https = require('https') +var aws4 = require('aws4') + +// to illustrate usage, we'll create a utility function to request and pipe to stdout +function request(opts) { https.request(opts, function(res) { res.pipe(process.stdout) }).end(opts.body || '') } + +// aws4 will sign an options object as you'd pass to http.request, with an AWS service and region +var opts = { host: 'my-bucket.s3.us-west-1.amazonaws.com', path: '/my-object', service: 's3', region: 'us-west-1' } + +// aws4.sign() will sign and modify these options, ready to pass to http.request +aws4.sign(opts, { accessKeyId: '', secretAccessKey: '' }) + +// or it can get credentials from process.env.AWS_ACCESS_KEY_ID, etc +aws4.sign(opts) + +// for most AWS services, aws4 can figure out the service and region if you pass a host +opts = { host: 'my-bucket.s3.us-west-1.amazonaws.com', path: '/my-object' } + +// usually it will add/modify request headers, but you can also sign the query: +opts = { host: 'my-bucket.s3.amazonaws.com', path: '/?X-Amz-Expires=12345', signQuery: true } + +// and for services with simple hosts, aws4 can infer the host from service and region: +opts = { service: 'sqs', region: 'us-east-1', path: '/?Action=ListQueues' } + +// and if you're using us-east-1, it's the default: +opts = { service: 'sqs', path: '/?Action=ListQueues' } + +aws4.sign(opts) +console.log(opts) +/* +{ + host: 'sqs.us-east-1.amazonaws.com', + path: '/?Action=ListQueues', + headers: { + Host: 'sqs.us-east-1.amazonaws.com', + 'X-Amz-Date': '20121226T061030Z', + Authorization: 'AWS4-HMAC-SHA256 Credential=ABCDEF/20121226/us-east-1/sqs/aws4_request, ...' + } +} +*/ + +// we can now use this to query AWS +request(opts) +/* + + +... +*/ + +// aws4 can infer the HTTP method if a body is passed in +// method will be POST and Content-Type: 'application/x-www-form-urlencoded; charset=utf-8' +request(aws4.sign({ service: 'iam', body: 'Action=ListGroups&Version=2010-05-08' })) +/* + +... +*/ + +// you can specify any custom option or header as per usual +request(aws4.sign({ + service: 'dynamodb', + region: 'ap-southeast-2', + method: 'POST', + path: '/', + headers: { + 'Content-Type': 'application/x-amz-json-1.0', + 'X-Amz-Target': 'DynamoDB_20120810.ListTables' + }, + body: '{}' +})) +/* +{"TableNames":[]} +... +*/ + +// The raw RequestSigner can be used to generate CodeCommit Git passwords +var signer = new aws4.RequestSigner({ + service: 'codecommit', + host: 'git-codecommit.us-east-1.amazonaws.com', + method: 'GIT', + path: '/v1/repos/MyAwesomeRepo', +}) +var password = signer.getDateTime() + 'Z' + signer.signature() + +// see example.js for examples with other services +``` + +API +--- + +### aws4.sign(requestOptions, [credentials]) + +Calculates and populates any necessary AWS headers and/or request +options on `requestOptions`. Returns `requestOptions` as a convenience for chaining. + +`requestOptions` is an object holding the same options that the Node.js +[http.request](https://nodejs.org/docs/latest/api/http.html#http_http_request_options_callback) +function takes. + +The following properties of `requestOptions` are used in the signing or +populated if they don't already exist: + +- `hostname` or `host` (will try to be determined from `service` and `region` if not given) +- `method` (will use `'GET'` if not given or `'POST'` if there is a `body`) +- `path` (will use `'/'` if not given) +- `body` (will use `''` if not given) +- `service` (will try to be calculated from `hostname` or `host` if not given) +- `region` (will try to be calculated from `hostname` or `host` or use `'us-east-1'` if not given) +- `signQuery` (to sign the query instead of adding an `Authorization` header, defaults to false) +- `headers['Host']` (will use `hostname` or `host` or be calculated if not given) +- `headers['Content-Type']` (will use `'application/x-www-form-urlencoded; charset=utf-8'` + if not given and there is a `body`) +- `headers['Date']` (used to calculate the signature date if given, otherwise `new Date` is used) + +Your AWS credentials (which can be found in your +[AWS console](https://portal.aws.amazon.com/gp/aws/securityCredentials)) +can be specified in one of two ways: + +- As the second argument, like this: + +```javascript +aws4.sign(requestOptions, { + secretAccessKey: "", + accessKeyId: "", + sessionToken: "" +}) +``` + +- From `process.env`, such as this: + +``` +export AWS_ACCESS_KEY_ID="" +export AWS_SECRET_ACCESS_KEY="" +export AWS_SESSION_TOKEN="" +``` + +(will also use `AWS_ACCESS_KEY` and `AWS_SECRET_KEY` if available) + +The `sessionToken` property and `AWS_SESSION_TOKEN` environment variable are optional for signing +with [IAM STS temporary credentials](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html). + +Installation +------------ + +With [npm](https://www.npmjs.com/) do: + +``` +npm install aws4 +``` + +Can also be used [in the browser](./browser). + +Thanks +------ + +Thanks to [@jed](https://github.com/jed) for his +[dynamo-client](https://github.com/jed/dynamo-client) lib where I first +committed and subsequently extracted this code. + +Also thanks to the +[official Node.js AWS SDK](https://github.com/aws/aws-sdk-js) for giving +me a start on implementing the v4 signature. diff --git a/node_modules/aws4/aws4.js b/node_modules/aws4/aws4.js new file mode 100644 index 0000000..b99b319 --- /dev/null +++ b/node_modules/aws4/aws4.js @@ -0,0 +1,373 @@ +var aws4 = exports, + url = require('url'), + querystring = require('querystring'), + crypto = require('crypto'), + lru = require('./lru'), + credentialsCache = lru(1000) + +// http://docs.amazonwebservices.com/general/latest/gr/signature-version-4.html + +function hmac(key, string, encoding) { + return crypto.createHmac('sha256', key).update(string, 'utf8').digest(encoding) +} + +function hash(string, encoding) { + return crypto.createHash('sha256').update(string, 'utf8').digest(encoding) +} + +// This function assumes the string has already been percent encoded +function encodeRfc3986(urlEncodedString) { + return urlEncodedString.replace(/[!'()*]/g, function(c) { + return '%' + c.charCodeAt(0).toString(16).toUpperCase() + }) +} + +function encodeRfc3986Full(str) { + return encodeRfc3986(encodeURIComponent(str)) +} + +// A bit of a combination of: +// https://github.com/aws/aws-sdk-java-v2/blob/dc695de6ab49ad03934e1b02e7263abbd2354be0/core/auth/src/main/java/software/amazon/awssdk/auth/signer/internal/AbstractAws4Signer.java#L59 +// https://github.com/aws/aws-sdk-js/blob/18cb7e5b463b46239f9fdd4a65e2ff8c81831e8f/lib/signers/v4.js#L191-L199 +// https://github.com/mhart/aws4fetch/blob/b3aed16b6f17384cf36ea33bcba3c1e9f3bdfefd/src/main.js#L25-L34 +var HEADERS_TO_IGNORE = { + 'authorization': true, + 'connection': true, + 'x-amzn-trace-id': true, + 'user-agent': true, + 'expect': true, + 'presigned-expires': true, + 'range': true, +} + +// request: { path | body, [host], [method], [headers], [service], [region] } +// credentials: { accessKeyId, secretAccessKey, [sessionToken] } +function RequestSigner(request, credentials) { + + if (typeof request === 'string') request = url.parse(request) + + var headers = request.headers = (request.headers || {}), + hostParts = (!this.service || !this.region) && this.matchHost(request.hostname || request.host || headers.Host || headers.host) + + this.request = request + this.credentials = credentials || this.defaultCredentials() + + this.service = request.service || hostParts[0] || '' + this.region = request.region || hostParts[1] || 'us-east-1' + + // SES uses a different domain from the service name + if (this.service === 'email') this.service = 'ses' + + if (!request.method && request.body) + request.method = 'POST' + + if (!headers.Host && !headers.host) { + headers.Host = request.hostname || request.host || this.createHost() + + // If a port is specified explicitly, use it as is + if (request.port) + headers.Host += ':' + request.port + } + if (!request.hostname && !request.host) + request.hostname = headers.Host || headers.host + + this.isCodeCommitGit = this.service === 'codecommit' && request.method === 'GIT' +} + +RequestSigner.prototype.matchHost = function(host) { + var match = (host || '').match(/([^\.]+)\.(?:([^\.]*)\.)?amazonaws\.com(\.cn)?$/) + var hostParts = (match || []).slice(1, 3) + + // ES's hostParts are sometimes the other way round, if the value that is expected + // to be region equals ‘es’ switch them back + // e.g. search-cluster-name-aaaa00aaaa0aaa0aaaaaaa0aaa.us-east-1.es.amazonaws.com + if (hostParts[1] === 'es') + hostParts = hostParts.reverse() + + if (hostParts[1] == 's3') { + hostParts[0] = 's3' + hostParts[1] = 'us-east-1' + } else { + for (var i = 0; i < 2; i++) { + if (/^s3-/.test(hostParts[i])) { + hostParts[1] = hostParts[i].slice(3) + hostParts[0] = 's3' + break + } + } + } + + return hostParts +} + +// http://docs.aws.amazon.com/general/latest/gr/rande.html +RequestSigner.prototype.isSingleRegion = function() { + // Special case for S3 and SimpleDB in us-east-1 + if (['s3', 'sdb'].indexOf(this.service) >= 0 && this.region === 'us-east-1') return true + + return ['cloudfront', 'ls', 'route53', 'iam', 'importexport', 'sts'] + .indexOf(this.service) >= 0 +} + +RequestSigner.prototype.createHost = function() { + var region = this.isSingleRegion() ? '' : '.' + this.region, + subdomain = this.service === 'ses' ? 'email' : this.service + return subdomain + region + '.amazonaws.com' +} + +RequestSigner.prototype.prepareRequest = function() { + this.parsePath() + + var request = this.request, headers = request.headers, query + + if (request.signQuery) { + + this.parsedPath.query = query = this.parsedPath.query || {} + + if (this.credentials.sessionToken) + query['X-Amz-Security-Token'] = this.credentials.sessionToken + + if (this.service === 's3' && !query['X-Amz-Expires']) + query['X-Amz-Expires'] = 86400 + + if (query['X-Amz-Date']) + this.datetime = query['X-Amz-Date'] + else + query['X-Amz-Date'] = this.getDateTime() + + query['X-Amz-Algorithm'] = 'AWS4-HMAC-SHA256' + query['X-Amz-Credential'] = this.credentials.accessKeyId + '/' + this.credentialString() + query['X-Amz-SignedHeaders'] = this.signedHeaders() + + } else { + + if (!request.doNotModifyHeaders && !this.isCodeCommitGit) { + if (request.body && !headers['Content-Type'] && !headers['content-type']) + headers['Content-Type'] = 'application/x-www-form-urlencoded; charset=utf-8' + + if (request.body && !headers['Content-Length'] && !headers['content-length']) + headers['Content-Length'] = Buffer.byteLength(request.body) + + if (this.credentials.sessionToken && !headers['X-Amz-Security-Token'] && !headers['x-amz-security-token']) + headers['X-Amz-Security-Token'] = this.credentials.sessionToken + + if (this.service === 's3' && !headers['X-Amz-Content-Sha256'] && !headers['x-amz-content-sha256']) + headers['X-Amz-Content-Sha256'] = hash(this.request.body || '', 'hex') + + if (headers['X-Amz-Date'] || headers['x-amz-date']) + this.datetime = headers['X-Amz-Date'] || headers['x-amz-date'] + else + headers['X-Amz-Date'] = this.getDateTime() + } + + delete headers.Authorization + delete headers.authorization + } +} + +RequestSigner.prototype.sign = function() { + if (!this.parsedPath) this.prepareRequest() + + if (this.request.signQuery) { + this.parsedPath.query['X-Amz-Signature'] = this.signature() + } else { + this.request.headers.Authorization = this.authHeader() + } + + this.request.path = this.formatPath() + + return this.request +} + +RequestSigner.prototype.getDateTime = function() { + if (!this.datetime) { + var headers = this.request.headers, + date = new Date(headers.Date || headers.date || new Date) + + this.datetime = date.toISOString().replace(/[:\-]|\.\d{3}/g, '') + + // Remove the trailing 'Z' on the timestamp string for CodeCommit git access + if (this.isCodeCommitGit) this.datetime = this.datetime.slice(0, -1) + } + return this.datetime +} + +RequestSigner.prototype.getDate = function() { + return this.getDateTime().substr(0, 8) +} + +RequestSigner.prototype.authHeader = function() { + return [ + 'AWS4-HMAC-SHA256 Credential=' + this.credentials.accessKeyId + '/' + this.credentialString(), + 'SignedHeaders=' + this.signedHeaders(), + 'Signature=' + this.signature(), + ].join(', ') +} + +RequestSigner.prototype.signature = function() { + var date = this.getDate(), + cacheKey = [this.credentials.secretAccessKey, date, this.region, this.service].join(), + kDate, kRegion, kService, kCredentials = credentialsCache.get(cacheKey) + if (!kCredentials) { + kDate = hmac('AWS4' + this.credentials.secretAccessKey, date) + kRegion = hmac(kDate, this.region) + kService = hmac(kRegion, this.service) + kCredentials = hmac(kService, 'aws4_request') + credentialsCache.set(cacheKey, kCredentials) + } + return hmac(kCredentials, this.stringToSign(), 'hex') +} + +RequestSigner.prototype.stringToSign = function() { + return [ + 'AWS4-HMAC-SHA256', + this.getDateTime(), + this.credentialString(), + hash(this.canonicalString(), 'hex'), + ].join('\n') +} + +RequestSigner.prototype.canonicalString = function() { + if (!this.parsedPath) this.prepareRequest() + + var pathStr = this.parsedPath.path, + query = this.parsedPath.query, + headers = this.request.headers, + queryStr = '', + normalizePath = this.service !== 's3', + decodePath = this.service === 's3' || this.request.doNotEncodePath, + decodeSlashesInPath = this.service === 's3', + firstValOnly = this.service === 's3', + bodyHash + + if (this.service === 's3' && this.request.signQuery) { + bodyHash = 'UNSIGNED-PAYLOAD' + } else if (this.isCodeCommitGit) { + bodyHash = '' + } else { + bodyHash = headers['X-Amz-Content-Sha256'] || headers['x-amz-content-sha256'] || + hash(this.request.body || '', 'hex') + } + + if (query) { + var reducedQuery = Object.keys(query).reduce(function(obj, key) { + if (!key) return obj + obj[encodeRfc3986Full(key)] = !Array.isArray(query[key]) ? query[key] : + (firstValOnly ? query[key][0] : query[key]) + return obj + }, {}) + var encodedQueryPieces = [] + Object.keys(reducedQuery).sort().forEach(function(key) { + if (!Array.isArray(reducedQuery[key])) { + encodedQueryPieces.push(key + '=' + encodeRfc3986Full(reducedQuery[key])) + } else { + reducedQuery[key].map(encodeRfc3986Full).sort() + .forEach(function(val) { encodedQueryPieces.push(key + '=' + val) }) + } + }) + queryStr = encodedQueryPieces.join('&') + } + if (pathStr !== '/') { + if (normalizePath) pathStr = pathStr.replace(/\/{2,}/g, '/') + pathStr = pathStr.split('/').reduce(function(path, piece) { + if (normalizePath && piece === '..') { + path.pop() + } else if (!normalizePath || piece !== '.') { + if (decodePath) piece = decodeURIComponent(piece.replace(/\+/g, ' ')) + path.push(encodeRfc3986Full(piece)) + } + return path + }, []).join('/') + if (pathStr[0] !== '/') pathStr = '/' + pathStr + if (decodeSlashesInPath) pathStr = pathStr.replace(/%2F/g, '/') + } + + return [ + this.request.method || 'GET', + pathStr, + queryStr, + this.canonicalHeaders() + '\n', + this.signedHeaders(), + bodyHash, + ].join('\n') +} + +RequestSigner.prototype.canonicalHeaders = function() { + var headers = this.request.headers + function trimAll(header) { + return header.toString().trim().replace(/\s+/g, ' ') + } + return Object.keys(headers) + .filter(function(key) { return HEADERS_TO_IGNORE[key.toLowerCase()] == null }) + .sort(function(a, b) { return a.toLowerCase() < b.toLowerCase() ? -1 : 1 }) + .map(function(key) { return key.toLowerCase() + ':' + trimAll(headers[key]) }) + .join('\n') +} + +RequestSigner.prototype.signedHeaders = function() { + return Object.keys(this.request.headers) + .map(function(key) { return key.toLowerCase() }) + .filter(function(key) { return HEADERS_TO_IGNORE[key] == null }) + .sort() + .join(';') +} + +RequestSigner.prototype.credentialString = function() { + return [ + this.getDate(), + this.region, + this.service, + 'aws4_request', + ].join('/') +} + +RequestSigner.prototype.defaultCredentials = function() { + var env = process.env + return { + accessKeyId: env.AWS_ACCESS_KEY_ID || env.AWS_ACCESS_KEY, + secretAccessKey: env.AWS_SECRET_ACCESS_KEY || env.AWS_SECRET_KEY, + sessionToken: env.AWS_SESSION_TOKEN, + } +} + +RequestSigner.prototype.parsePath = function() { + var path = this.request.path || '/' + + // S3 doesn't always encode characters > 127 correctly and + // all services don't encode characters > 255 correctly + // So if there are non-reserved chars (and it's not already all % encoded), just encode them all + if (/[^0-9A-Za-z;,/?:@&=+$\-_.!~*'()#%]/.test(path)) { + path = encodeURI(decodeURI(path)) + } + + var queryIx = path.indexOf('?'), + query = null + + if (queryIx >= 0) { + query = querystring.parse(path.slice(queryIx + 1)) + path = path.slice(0, queryIx) + } + + this.parsedPath = { + path: path, + query: query, + } +} + +RequestSigner.prototype.formatPath = function() { + var path = this.parsedPath.path, + query = this.parsedPath.query + + if (!query) return path + + // Services don't support empty query string keys + if (query[''] != null) delete query[''] + + return path + '?' + encodeRfc3986(querystring.stringify(query)) +} + +aws4.RequestSigner = RequestSigner + +aws4.sign = function(request, credentials) { + return new RequestSigner(request, credentials).sign() +} diff --git a/node_modules/aws4/lru.js b/node_modules/aws4/lru.js new file mode 100644 index 0000000..333f66a --- /dev/null +++ b/node_modules/aws4/lru.js @@ -0,0 +1,96 @@ +module.exports = function(size) { + return new LruCache(size) +} + +function LruCache(size) { + this.capacity = size | 0 + this.map = Object.create(null) + this.list = new DoublyLinkedList() +} + +LruCache.prototype.get = function(key) { + var node = this.map[key] + if (node == null) return undefined + this.used(node) + return node.val +} + +LruCache.prototype.set = function(key, val) { + var node = this.map[key] + if (node != null) { + node.val = val + } else { + if (!this.capacity) this.prune() + if (!this.capacity) return false + node = new DoublyLinkedNode(key, val) + this.map[key] = node + this.capacity-- + } + this.used(node) + return true +} + +LruCache.prototype.used = function(node) { + this.list.moveToFront(node) +} + +LruCache.prototype.prune = function() { + var node = this.list.pop() + if (node != null) { + delete this.map[node.key] + this.capacity++ + } +} + + +function DoublyLinkedList() { + this.firstNode = null + this.lastNode = null +} + +DoublyLinkedList.prototype.moveToFront = function(node) { + if (this.firstNode == node) return + + this.remove(node) + + if (this.firstNode == null) { + this.firstNode = node + this.lastNode = node + node.prev = null + node.next = null + } else { + node.prev = null + node.next = this.firstNode + node.next.prev = node + this.firstNode = node + } +} + +DoublyLinkedList.prototype.pop = function() { + var lastNode = this.lastNode + if (lastNode != null) { + this.remove(lastNode) + } + return lastNode +} + +DoublyLinkedList.prototype.remove = function(node) { + if (this.firstNode == node) { + this.firstNode = node.next + } else if (node.prev != null) { + node.prev.next = node.next + } + if (this.lastNode == node) { + this.lastNode = node.prev + } else if (node.next != null) { + node.next.prev = node.prev + } +} + + +function DoublyLinkedNode(key, val) { + this.key = key + this.val = val + this.prev = null + this.next = null +} diff --git a/node_modules/aws4/package.json b/node_modules/aws4/package.json new file mode 100644 index 0000000..d253860 --- /dev/null +++ b/node_modules/aws4/package.json @@ -0,0 +1,56 @@ +{ + "_args": [ + [ + "aws4@1.11.0", + "/Users/1112456/github/jenkins-action" + ] + ], + "_from": "aws4@1.11.0", + "_id": "aws4@1.11.0", + "_inBundle": false, + "_integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", + "_location": "/aws4", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "aws4@1.11.0", + "name": "aws4", + "escapedName": "aws4", + "rawSpec": "1.11.0", + "saveSpec": null, + "fetchSpec": "1.11.0" + }, + "_requiredBy": [ + "/request" + ], + "_resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "_spec": "1.11.0", + "_where": "/Users/1112456/github/jenkins-action", + "author": { + "name": "Michael Hart", + "email": "michael.hart.au@gmail.com", + "url": "https://github.com/mhart" + }, + "bugs": { + "url": "https://github.com/mhart/aws4/issues" + }, + "description": "Signs and prepares requests using AWS Signature Version 4", + "devDependencies": { + "mocha": "^2.5.3", + "should": "^8.4.0" + }, + "homepage": "https://github.com/mhart/aws4#readme", + "license": "MIT", + "main": "aws4.js", + "name": "aws4", + "repository": { + "type": "git", + "url": "git+https://github.com/mhart/aws4.git" + }, + "scripts": { + "integration": "node ./test/slow.js", + "test": "mocha ./test/fast.js -R list" + }, + "version": "1.11.0" +} diff --git a/node_modules/bcrypt-pbkdf/CONTRIBUTING.md b/node_modules/bcrypt-pbkdf/CONTRIBUTING.md new file mode 100644 index 0000000..401d34e --- /dev/null +++ b/node_modules/bcrypt-pbkdf/CONTRIBUTING.md @@ -0,0 +1,13 @@ +# Contributing + +This repository uses [cr.joyent.us](https://cr.joyent.us) (Gerrit) for new +changes. Anyone can submit changes. To get started, see the [cr.joyent.us user +guide](https://github.com/joyent/joyent-gerrit/blob/master/docs/user/README.md). +This repo does not use GitHub pull requests. + +See the [Joyent Engineering +Guidelines](https://github.com/joyent/eng/blob/master/docs/index.md) for general +best practices expected in this repository. + +If you're changing something non-trivial or user-facing, you may want to submit +an issue first. diff --git a/node_modules/bcrypt-pbkdf/LICENSE b/node_modules/bcrypt-pbkdf/LICENSE new file mode 100644 index 0000000..fc58d2a --- /dev/null +++ b/node_modules/bcrypt-pbkdf/LICENSE @@ -0,0 +1,66 @@ +The Blowfish portions are under the following license: + +Blowfish block cipher for OpenBSD +Copyright 1997 Niels Provos +All rights reserved. + +Implementation advice by David Mazieres . + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + +The bcrypt_pbkdf portions are under the following license: + +Copyright (c) 2013 Ted Unangst + +Permission to use, copy, modify, and 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. + + + +Performance improvements (Javascript-specific): + +Copyright 2016, Joyent Inc +Author: Alex Wilson + +Permission to use, copy, modify, and 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. diff --git a/node_modules/bcrypt-pbkdf/README.md b/node_modules/bcrypt-pbkdf/README.md new file mode 100644 index 0000000..7551f33 --- /dev/null +++ b/node_modules/bcrypt-pbkdf/README.md @@ -0,0 +1,45 @@ +Port of the OpenBSD `bcrypt_pbkdf` function to pure Javascript. `npm`-ified +version of [Devi Mandiri's port](https://github.com/devi/tmp/blob/master/js/bcrypt_pbkdf.js), +with some minor performance improvements. The code is copied verbatim (and +un-styled) from Devi's work. + +This product includes software developed by Niels Provos. + +## API + +### `bcrypt_pbkdf.pbkdf(pass, passlen, salt, saltlen, key, keylen, rounds)` + +Derive a cryptographic key of arbitrary length from a given password and salt, +using the OpenBSD `bcrypt_pbkdf` function. This is a combination of Blowfish and +SHA-512. + +See [this article](http://www.tedunangst.com/flak/post/bcrypt-pbkdf) for +further information. + +Parameters: + + * `pass`, a Uint8Array of length `passlen` + * `passlen`, an integer Number + * `salt`, a Uint8Array of length `saltlen` + * `saltlen`, an integer Number + * `key`, a Uint8Array of length `keylen`, will be filled with output + * `keylen`, an integer Number + * `rounds`, an integer Number, number of rounds of the PBKDF to run + +### `bcrypt_pbkdf.hash(sha2pass, sha2salt, out)` + +Calculate a Blowfish hash, given SHA2-512 output of a password and salt. Used as +part of the inner round function in the PBKDF. + +Parameters: + + * `sha2pass`, a Uint8Array of length 64 + * `sha2salt`, a Uint8Array of length 64 + * `out`, a Uint8Array of length 32, will be filled with output + +## License + +This source form is a 1:1 port from the OpenBSD `blowfish.c` and `bcrypt_pbkdf.c`. +As a result, it retains the original copyright and license. The two files are +under slightly different (but compatible) licenses, and are here combined in +one file. For each of the full license texts see `LICENSE`. diff --git a/node_modules/bcrypt-pbkdf/index.js b/node_modules/bcrypt-pbkdf/index.js new file mode 100644 index 0000000..b1b5ad4 --- /dev/null +++ b/node_modules/bcrypt-pbkdf/index.js @@ -0,0 +1,556 @@ +'use strict'; + +var crypto_hash_sha512 = require('tweetnacl').lowlevel.crypto_hash; + +/* + * This file is a 1:1 port from the OpenBSD blowfish.c and bcrypt_pbkdf.c. As a + * result, it retains the original copyright and license. The two files are + * under slightly different (but compatible) licenses, and are here combined in + * one file. + * + * Credit for the actual porting work goes to: + * Devi Mandiri + */ + +/* + * The Blowfish portions are under the following license: + * + * Blowfish block cipher for OpenBSD + * Copyright 1997 Niels Provos + * All rights reserved. + * + * Implementation advice by David Mazieres . + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * The bcrypt_pbkdf portions are under the following license: + * + * Copyright (c) 2013 Ted Unangst + * + * Permission to use, copy, modify, and 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. + */ + +/* + * Performance improvements (Javascript-specific): + * + * Copyright 2016, Joyent Inc + * Author: Alex Wilson + * + * Permission to use, copy, modify, and 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. + */ + +// Ported from OpenBSD bcrypt_pbkdf.c v1.9 + +var BLF_J = 0; + +var Blowfish = function() { + this.S = [ + new Uint32Array([ + 0xd1310ba6, 0x98dfb5ac, 0x2ffd72db, 0xd01adfb7, + 0xb8e1afed, 0x6a267e96, 0xba7c9045, 0xf12c7f99, + 0x24a19947, 0xb3916cf7, 0x0801f2e2, 0x858efc16, + 0x636920d8, 0x71574e69, 0xa458fea3, 0xf4933d7e, + 0x0d95748f, 0x728eb658, 0x718bcd58, 0x82154aee, + 0x7b54a41d, 0xc25a59b5, 0x9c30d539, 0x2af26013, + 0xc5d1b023, 0x286085f0, 0xca417918, 0xb8db38ef, + 0x8e79dcb0, 0x603a180e, 0x6c9e0e8b, 0xb01e8a3e, + 0xd71577c1, 0xbd314b27, 0x78af2fda, 0x55605c60, + 0xe65525f3, 0xaa55ab94, 0x57489862, 0x63e81440, + 0x55ca396a, 0x2aab10b6, 0xb4cc5c34, 0x1141e8ce, + 0xa15486af, 0x7c72e993, 0xb3ee1411, 0x636fbc2a, + 0x2ba9c55d, 0x741831f6, 0xce5c3e16, 0x9b87931e, + 0xafd6ba33, 0x6c24cf5c, 0x7a325381, 0x28958677, + 0x3b8f4898, 0x6b4bb9af, 0xc4bfe81b, 0x66282193, + 0x61d809cc, 0xfb21a991, 0x487cac60, 0x5dec8032, + 0xef845d5d, 0xe98575b1, 0xdc262302, 0xeb651b88, + 0x23893e81, 0xd396acc5, 0x0f6d6ff3, 0x83f44239, + 0x2e0b4482, 0xa4842004, 0x69c8f04a, 0x9e1f9b5e, + 0x21c66842, 0xf6e96c9a, 0x670c9c61, 0xabd388f0, + 0x6a51a0d2, 0xd8542f68, 0x960fa728, 0xab5133a3, + 0x6eef0b6c, 0x137a3be4, 0xba3bf050, 0x7efb2a98, + 0xa1f1651d, 0x39af0176, 0x66ca593e, 0x82430e88, + 0x8cee8619, 0x456f9fb4, 0x7d84a5c3, 0x3b8b5ebe, + 0xe06f75d8, 0x85c12073, 0x401a449f, 0x56c16aa6, + 0x4ed3aa62, 0x363f7706, 0x1bfedf72, 0x429b023d, + 0x37d0d724, 0xd00a1248, 0xdb0fead3, 0x49f1c09b, + 0x075372c9, 0x80991b7b, 0x25d479d8, 0xf6e8def7, + 0xe3fe501a, 0xb6794c3b, 0x976ce0bd, 0x04c006ba, + 0xc1a94fb6, 0x409f60c4, 0x5e5c9ec2, 0x196a2463, + 0x68fb6faf, 0x3e6c53b5, 0x1339b2eb, 0x3b52ec6f, + 0x6dfc511f, 0x9b30952c, 0xcc814544, 0xaf5ebd09, + 0xbee3d004, 0xde334afd, 0x660f2807, 0x192e4bb3, + 0xc0cba857, 0x45c8740f, 0xd20b5f39, 0xb9d3fbdb, + 0x5579c0bd, 0x1a60320a, 0xd6a100c6, 0x402c7279, + 0x679f25fe, 0xfb1fa3cc, 0x8ea5e9f8, 0xdb3222f8, + 0x3c7516df, 0xfd616b15, 0x2f501ec8, 0xad0552ab, + 0x323db5fa, 0xfd238760, 0x53317b48, 0x3e00df82, + 0x9e5c57bb, 0xca6f8ca0, 0x1a87562e, 0xdf1769db, + 0xd542a8f6, 0x287effc3, 0xac6732c6, 0x8c4f5573, + 0x695b27b0, 0xbbca58c8, 0xe1ffa35d, 0xb8f011a0, + 0x10fa3d98, 0xfd2183b8, 0x4afcb56c, 0x2dd1d35b, + 0x9a53e479, 0xb6f84565, 0xd28e49bc, 0x4bfb9790, + 0xe1ddf2da, 0xa4cb7e33, 0x62fb1341, 0xcee4c6e8, + 0xef20cada, 0x36774c01, 0xd07e9efe, 0x2bf11fb4, + 0x95dbda4d, 0xae909198, 0xeaad8e71, 0x6b93d5a0, + 0xd08ed1d0, 0xafc725e0, 0x8e3c5b2f, 0x8e7594b7, + 0x8ff6e2fb, 0xf2122b64, 0x8888b812, 0x900df01c, + 0x4fad5ea0, 0x688fc31c, 0xd1cff191, 0xb3a8c1ad, + 0x2f2f2218, 0xbe0e1777, 0xea752dfe, 0x8b021fa1, + 0xe5a0cc0f, 0xb56f74e8, 0x18acf3d6, 0xce89e299, + 0xb4a84fe0, 0xfd13e0b7, 0x7cc43b81, 0xd2ada8d9, + 0x165fa266, 0x80957705, 0x93cc7314, 0x211a1477, + 0xe6ad2065, 0x77b5fa86, 0xc75442f5, 0xfb9d35cf, + 0xebcdaf0c, 0x7b3e89a0, 0xd6411bd3, 0xae1e7e49, + 0x00250e2d, 0x2071b35e, 0x226800bb, 0x57b8e0af, + 0x2464369b, 0xf009b91e, 0x5563911d, 0x59dfa6aa, + 0x78c14389, 0xd95a537f, 0x207d5ba2, 0x02e5b9c5, + 0x83260376, 0x6295cfa9, 0x11c81968, 0x4e734a41, + 0xb3472dca, 0x7b14a94a, 0x1b510052, 0x9a532915, + 0xd60f573f, 0xbc9bc6e4, 0x2b60a476, 0x81e67400, + 0x08ba6fb5, 0x571be91f, 0xf296ec6b, 0x2a0dd915, + 0xb6636521, 0xe7b9f9b6, 0xff34052e, 0xc5855664, + 0x53b02d5d, 0xa99f8fa1, 0x08ba4799, 0x6e85076a]), + new Uint32Array([ + 0x4b7a70e9, 0xb5b32944, 0xdb75092e, 0xc4192623, + 0xad6ea6b0, 0x49a7df7d, 0x9cee60b8, 0x8fedb266, + 0xecaa8c71, 0x699a17ff, 0x5664526c, 0xc2b19ee1, + 0x193602a5, 0x75094c29, 0xa0591340, 0xe4183a3e, + 0x3f54989a, 0x5b429d65, 0x6b8fe4d6, 0x99f73fd6, + 0xa1d29c07, 0xefe830f5, 0x4d2d38e6, 0xf0255dc1, + 0x4cdd2086, 0x8470eb26, 0x6382e9c6, 0x021ecc5e, + 0x09686b3f, 0x3ebaefc9, 0x3c971814, 0x6b6a70a1, + 0x687f3584, 0x52a0e286, 0xb79c5305, 0xaa500737, + 0x3e07841c, 0x7fdeae5c, 0x8e7d44ec, 0x5716f2b8, + 0xb03ada37, 0xf0500c0d, 0xf01c1f04, 0x0200b3ff, + 0xae0cf51a, 0x3cb574b2, 0x25837a58, 0xdc0921bd, + 0xd19113f9, 0x7ca92ff6, 0x94324773, 0x22f54701, + 0x3ae5e581, 0x37c2dadc, 0xc8b57634, 0x9af3dda7, + 0xa9446146, 0x0fd0030e, 0xecc8c73e, 0xa4751e41, + 0xe238cd99, 0x3bea0e2f, 0x3280bba1, 0x183eb331, + 0x4e548b38, 0x4f6db908, 0x6f420d03, 0xf60a04bf, + 0x2cb81290, 0x24977c79, 0x5679b072, 0xbcaf89af, + 0xde9a771f, 0xd9930810, 0xb38bae12, 0xdccf3f2e, + 0x5512721f, 0x2e6b7124, 0x501adde6, 0x9f84cd87, + 0x7a584718, 0x7408da17, 0xbc9f9abc, 0xe94b7d8c, + 0xec7aec3a, 0xdb851dfa, 0x63094366, 0xc464c3d2, + 0xef1c1847, 0x3215d908, 0xdd433b37, 0x24c2ba16, + 0x12a14d43, 0x2a65c451, 0x50940002, 0x133ae4dd, + 0x71dff89e, 0x10314e55, 0x81ac77d6, 0x5f11199b, + 0x043556f1, 0xd7a3c76b, 0x3c11183b, 0x5924a509, + 0xf28fe6ed, 0x97f1fbfa, 0x9ebabf2c, 0x1e153c6e, + 0x86e34570, 0xeae96fb1, 0x860e5e0a, 0x5a3e2ab3, + 0x771fe71c, 0x4e3d06fa, 0x2965dcb9, 0x99e71d0f, + 0x803e89d6, 0x5266c825, 0x2e4cc978, 0x9c10b36a, + 0xc6150eba, 0x94e2ea78, 0xa5fc3c53, 0x1e0a2df4, + 0xf2f74ea7, 0x361d2b3d, 0x1939260f, 0x19c27960, + 0x5223a708, 0xf71312b6, 0xebadfe6e, 0xeac31f66, + 0xe3bc4595, 0xa67bc883, 0xb17f37d1, 0x018cff28, + 0xc332ddef, 0xbe6c5aa5, 0x65582185, 0x68ab9802, + 0xeecea50f, 0xdb2f953b, 0x2aef7dad, 0x5b6e2f84, + 0x1521b628, 0x29076170, 0xecdd4775, 0x619f1510, + 0x13cca830, 0xeb61bd96, 0x0334fe1e, 0xaa0363cf, + 0xb5735c90, 0x4c70a239, 0xd59e9e0b, 0xcbaade14, + 0xeecc86bc, 0x60622ca7, 0x9cab5cab, 0xb2f3846e, + 0x648b1eaf, 0x19bdf0ca, 0xa02369b9, 0x655abb50, + 0x40685a32, 0x3c2ab4b3, 0x319ee9d5, 0xc021b8f7, + 0x9b540b19, 0x875fa099, 0x95f7997e, 0x623d7da8, + 0xf837889a, 0x97e32d77, 0x11ed935f, 0x16681281, + 0x0e358829, 0xc7e61fd6, 0x96dedfa1, 0x7858ba99, + 0x57f584a5, 0x1b227263, 0x9b83c3ff, 0x1ac24696, + 0xcdb30aeb, 0x532e3054, 0x8fd948e4, 0x6dbc3128, + 0x58ebf2ef, 0x34c6ffea, 0xfe28ed61, 0xee7c3c73, + 0x5d4a14d9, 0xe864b7e3, 0x42105d14, 0x203e13e0, + 0x45eee2b6, 0xa3aaabea, 0xdb6c4f15, 0xfacb4fd0, + 0xc742f442, 0xef6abbb5, 0x654f3b1d, 0x41cd2105, + 0xd81e799e, 0x86854dc7, 0xe44b476a, 0x3d816250, + 0xcf62a1f2, 0x5b8d2646, 0xfc8883a0, 0xc1c7b6a3, + 0x7f1524c3, 0x69cb7492, 0x47848a0b, 0x5692b285, + 0x095bbf00, 0xad19489d, 0x1462b174, 0x23820e00, + 0x58428d2a, 0x0c55f5ea, 0x1dadf43e, 0x233f7061, + 0x3372f092, 0x8d937e41, 0xd65fecf1, 0x6c223bdb, + 0x7cde3759, 0xcbee7460, 0x4085f2a7, 0xce77326e, + 0xa6078084, 0x19f8509e, 0xe8efd855, 0x61d99735, + 0xa969a7aa, 0xc50c06c2, 0x5a04abfc, 0x800bcadc, + 0x9e447a2e, 0xc3453484, 0xfdd56705, 0x0e1e9ec9, + 0xdb73dbd3, 0x105588cd, 0x675fda79, 0xe3674340, + 0xc5c43465, 0x713e38d8, 0x3d28f89e, 0xf16dff20, + 0x153e21e7, 0x8fb03d4a, 0xe6e39f2b, 0xdb83adf7]), + new Uint32Array([ + 0xe93d5a68, 0x948140f7, 0xf64c261c, 0x94692934, + 0x411520f7, 0x7602d4f7, 0xbcf46b2e, 0xd4a20068, + 0xd4082471, 0x3320f46a, 0x43b7d4b7, 0x500061af, + 0x1e39f62e, 0x97244546, 0x14214f74, 0xbf8b8840, + 0x4d95fc1d, 0x96b591af, 0x70f4ddd3, 0x66a02f45, + 0xbfbc09ec, 0x03bd9785, 0x7fac6dd0, 0x31cb8504, + 0x96eb27b3, 0x55fd3941, 0xda2547e6, 0xabca0a9a, + 0x28507825, 0x530429f4, 0x0a2c86da, 0xe9b66dfb, + 0x68dc1462, 0xd7486900, 0x680ec0a4, 0x27a18dee, + 0x4f3ffea2, 0xe887ad8c, 0xb58ce006, 0x7af4d6b6, + 0xaace1e7c, 0xd3375fec, 0xce78a399, 0x406b2a42, + 0x20fe9e35, 0xd9f385b9, 0xee39d7ab, 0x3b124e8b, + 0x1dc9faf7, 0x4b6d1856, 0x26a36631, 0xeae397b2, + 0x3a6efa74, 0xdd5b4332, 0x6841e7f7, 0xca7820fb, + 0xfb0af54e, 0xd8feb397, 0x454056ac, 0xba489527, + 0x55533a3a, 0x20838d87, 0xfe6ba9b7, 0xd096954b, + 0x55a867bc, 0xa1159a58, 0xcca92963, 0x99e1db33, + 0xa62a4a56, 0x3f3125f9, 0x5ef47e1c, 0x9029317c, + 0xfdf8e802, 0x04272f70, 0x80bb155c, 0x05282ce3, + 0x95c11548, 0xe4c66d22, 0x48c1133f, 0xc70f86dc, + 0x07f9c9ee, 0x41041f0f, 0x404779a4, 0x5d886e17, + 0x325f51eb, 0xd59bc0d1, 0xf2bcc18f, 0x41113564, + 0x257b7834, 0x602a9c60, 0xdff8e8a3, 0x1f636c1b, + 0x0e12b4c2, 0x02e1329e, 0xaf664fd1, 0xcad18115, + 0x6b2395e0, 0x333e92e1, 0x3b240b62, 0xeebeb922, + 0x85b2a20e, 0xe6ba0d99, 0xde720c8c, 0x2da2f728, + 0xd0127845, 0x95b794fd, 0x647d0862, 0xe7ccf5f0, + 0x5449a36f, 0x877d48fa, 0xc39dfd27, 0xf33e8d1e, + 0x0a476341, 0x992eff74, 0x3a6f6eab, 0xf4f8fd37, + 0xa812dc60, 0xa1ebddf8, 0x991be14c, 0xdb6e6b0d, + 0xc67b5510, 0x6d672c37, 0x2765d43b, 0xdcd0e804, + 0xf1290dc7, 0xcc00ffa3, 0xb5390f92, 0x690fed0b, + 0x667b9ffb, 0xcedb7d9c, 0xa091cf0b, 0xd9155ea3, + 0xbb132f88, 0x515bad24, 0x7b9479bf, 0x763bd6eb, + 0x37392eb3, 0xcc115979, 0x8026e297, 0xf42e312d, + 0x6842ada7, 0xc66a2b3b, 0x12754ccc, 0x782ef11c, + 0x6a124237, 0xb79251e7, 0x06a1bbe6, 0x4bfb6350, + 0x1a6b1018, 0x11caedfa, 0x3d25bdd8, 0xe2e1c3c9, + 0x44421659, 0x0a121386, 0xd90cec6e, 0xd5abea2a, + 0x64af674e, 0xda86a85f, 0xbebfe988, 0x64e4c3fe, + 0x9dbc8057, 0xf0f7c086, 0x60787bf8, 0x6003604d, + 0xd1fd8346, 0xf6381fb0, 0x7745ae04, 0xd736fccc, + 0x83426b33, 0xf01eab71, 0xb0804187, 0x3c005e5f, + 0x77a057be, 0xbde8ae24, 0x55464299, 0xbf582e61, + 0x4e58f48f, 0xf2ddfda2, 0xf474ef38, 0x8789bdc2, + 0x5366f9c3, 0xc8b38e74, 0xb475f255, 0x46fcd9b9, + 0x7aeb2661, 0x8b1ddf84, 0x846a0e79, 0x915f95e2, + 0x466e598e, 0x20b45770, 0x8cd55591, 0xc902de4c, + 0xb90bace1, 0xbb8205d0, 0x11a86248, 0x7574a99e, + 0xb77f19b6, 0xe0a9dc09, 0x662d09a1, 0xc4324633, + 0xe85a1f02, 0x09f0be8c, 0x4a99a025, 0x1d6efe10, + 0x1ab93d1d, 0x0ba5a4df, 0xa186f20f, 0x2868f169, + 0xdcb7da83, 0x573906fe, 0xa1e2ce9b, 0x4fcd7f52, + 0x50115e01, 0xa70683fa, 0xa002b5c4, 0x0de6d027, + 0x9af88c27, 0x773f8641, 0xc3604c06, 0x61a806b5, + 0xf0177a28, 0xc0f586e0, 0x006058aa, 0x30dc7d62, + 0x11e69ed7, 0x2338ea63, 0x53c2dd94, 0xc2c21634, + 0xbbcbee56, 0x90bcb6de, 0xebfc7da1, 0xce591d76, + 0x6f05e409, 0x4b7c0188, 0x39720a3d, 0x7c927c24, + 0x86e3725f, 0x724d9db9, 0x1ac15bb4, 0xd39eb8fc, + 0xed545578, 0x08fca5b5, 0xd83d7cd3, 0x4dad0fc4, + 0x1e50ef5e, 0xb161e6f8, 0xa28514d9, 0x6c51133c, + 0x6fd5c7e7, 0x56e14ec4, 0x362abfce, 0xddc6c837, + 0xd79a3234, 0x92638212, 0x670efa8e, 0x406000e0]), + new Uint32Array([ + 0x3a39ce37, 0xd3faf5cf, 0xabc27737, 0x5ac52d1b, + 0x5cb0679e, 0x4fa33742, 0xd3822740, 0x99bc9bbe, + 0xd5118e9d, 0xbf0f7315, 0xd62d1c7e, 0xc700c47b, + 0xb78c1b6b, 0x21a19045, 0xb26eb1be, 0x6a366eb4, + 0x5748ab2f, 0xbc946e79, 0xc6a376d2, 0x6549c2c8, + 0x530ff8ee, 0x468dde7d, 0xd5730a1d, 0x4cd04dc6, + 0x2939bbdb, 0xa9ba4650, 0xac9526e8, 0xbe5ee304, + 0xa1fad5f0, 0x6a2d519a, 0x63ef8ce2, 0x9a86ee22, + 0xc089c2b8, 0x43242ef6, 0xa51e03aa, 0x9cf2d0a4, + 0x83c061ba, 0x9be96a4d, 0x8fe51550, 0xba645bd6, + 0x2826a2f9, 0xa73a3ae1, 0x4ba99586, 0xef5562e9, + 0xc72fefd3, 0xf752f7da, 0x3f046f69, 0x77fa0a59, + 0x80e4a915, 0x87b08601, 0x9b09e6ad, 0x3b3ee593, + 0xe990fd5a, 0x9e34d797, 0x2cf0b7d9, 0x022b8b51, + 0x96d5ac3a, 0x017da67d, 0xd1cf3ed6, 0x7c7d2d28, + 0x1f9f25cf, 0xadf2b89b, 0x5ad6b472, 0x5a88f54c, + 0xe029ac71, 0xe019a5e6, 0x47b0acfd, 0xed93fa9b, + 0xe8d3c48d, 0x283b57cc, 0xf8d56629, 0x79132e28, + 0x785f0191, 0xed756055, 0xf7960e44, 0xe3d35e8c, + 0x15056dd4, 0x88f46dba, 0x03a16125, 0x0564f0bd, + 0xc3eb9e15, 0x3c9057a2, 0x97271aec, 0xa93a072a, + 0x1b3f6d9b, 0x1e6321f5, 0xf59c66fb, 0x26dcf319, + 0x7533d928, 0xb155fdf5, 0x03563482, 0x8aba3cbb, + 0x28517711, 0xc20ad9f8, 0xabcc5167, 0xccad925f, + 0x4de81751, 0x3830dc8e, 0x379d5862, 0x9320f991, + 0xea7a90c2, 0xfb3e7bce, 0x5121ce64, 0x774fbe32, + 0xa8b6e37e, 0xc3293d46, 0x48de5369, 0x6413e680, + 0xa2ae0810, 0xdd6db224, 0x69852dfd, 0x09072166, + 0xb39a460a, 0x6445c0dd, 0x586cdecf, 0x1c20c8ae, + 0x5bbef7dd, 0x1b588d40, 0xccd2017f, 0x6bb4e3bb, + 0xdda26a7e, 0x3a59ff45, 0x3e350a44, 0xbcb4cdd5, + 0x72eacea8, 0xfa6484bb, 0x8d6612ae, 0xbf3c6f47, + 0xd29be463, 0x542f5d9e, 0xaec2771b, 0xf64e6370, + 0x740e0d8d, 0xe75b1357, 0xf8721671, 0xaf537d5d, + 0x4040cb08, 0x4eb4e2cc, 0x34d2466a, 0x0115af84, + 0xe1b00428, 0x95983a1d, 0x06b89fb4, 0xce6ea048, + 0x6f3f3b82, 0x3520ab82, 0x011a1d4b, 0x277227f8, + 0x611560b1, 0xe7933fdc, 0xbb3a792b, 0x344525bd, + 0xa08839e1, 0x51ce794b, 0x2f32c9b7, 0xa01fbac9, + 0xe01cc87e, 0xbcc7d1f6, 0xcf0111c3, 0xa1e8aac7, + 0x1a908749, 0xd44fbd9a, 0xd0dadecb, 0xd50ada38, + 0x0339c32a, 0xc6913667, 0x8df9317c, 0xe0b12b4f, + 0xf79e59b7, 0x43f5bb3a, 0xf2d519ff, 0x27d9459c, + 0xbf97222c, 0x15e6fc2a, 0x0f91fc71, 0x9b941525, + 0xfae59361, 0xceb69ceb, 0xc2a86459, 0x12baa8d1, + 0xb6c1075e, 0xe3056a0c, 0x10d25065, 0xcb03a442, + 0xe0ec6e0e, 0x1698db3b, 0x4c98a0be, 0x3278e964, + 0x9f1f9532, 0xe0d392df, 0xd3a0342b, 0x8971f21e, + 0x1b0a7441, 0x4ba3348c, 0xc5be7120, 0xc37632d8, + 0xdf359f8d, 0x9b992f2e, 0xe60b6f47, 0x0fe3f11d, + 0xe54cda54, 0x1edad891, 0xce6279cf, 0xcd3e7e6f, + 0x1618b166, 0xfd2c1d05, 0x848fd2c5, 0xf6fb2299, + 0xf523f357, 0xa6327623, 0x93a83531, 0x56cccd02, + 0xacf08162, 0x5a75ebb5, 0x6e163697, 0x88d273cc, + 0xde966292, 0x81b949d0, 0x4c50901b, 0x71c65614, + 0xe6c6c7bd, 0x327a140a, 0x45e1d006, 0xc3f27b9a, + 0xc9aa53fd, 0x62a80f00, 0xbb25bfe2, 0x35bdd2f6, + 0x71126905, 0xb2040222, 0xb6cbcf7c, 0xcd769c2b, + 0x53113ec0, 0x1640e3d3, 0x38abbd60, 0x2547adf0, + 0xba38209c, 0xf746ce76, 0x77afa1c5, 0x20756060, + 0x85cbfe4e, 0x8ae88dd8, 0x7aaaf9b0, 0x4cf9aa7e, + 0x1948c25c, 0x02fb8a8c, 0x01c36ae4, 0xd6ebe1f9, + 0x90d4f869, 0xa65cdea0, 0x3f09252d, 0xc208e69f, + 0xb74e6132, 0xce77e25b, 0x578fdfe3, 0x3ac372e6]) + ]; + this.P = new Uint32Array([ + 0x243f6a88, 0x85a308d3, 0x13198a2e, 0x03707344, + 0xa4093822, 0x299f31d0, 0x082efa98, 0xec4e6c89, + 0x452821e6, 0x38d01377, 0xbe5466cf, 0x34e90c6c, + 0xc0ac29b7, 0xc97c50dd, 0x3f84d5b5, 0xb5470917, + 0x9216d5d9, 0x8979fb1b]); +}; + +function F(S, x8, i) { + return (((S[0][x8[i+3]] + + S[1][x8[i+2]]) ^ + S[2][x8[i+1]]) + + S[3][x8[i]]); +}; + +Blowfish.prototype.encipher = function(x, x8) { + if (x8 === undefined) { + x8 = new Uint8Array(x.buffer); + if (x.byteOffset !== 0) + x8 = x8.subarray(x.byteOffset); + } + x[0] ^= this.P[0]; + for (var i = 1; i < 16; i += 2) { + x[1] ^= F(this.S, x8, 0) ^ this.P[i]; + x[0] ^= F(this.S, x8, 4) ^ this.P[i+1]; + } + var t = x[0]; + x[0] = x[1] ^ this.P[17]; + x[1] = t; +}; + +Blowfish.prototype.decipher = function(x) { + var x8 = new Uint8Array(x.buffer); + if (x.byteOffset !== 0) + x8 = x8.subarray(x.byteOffset); + x[0] ^= this.P[17]; + for (var i = 16; i > 0; i -= 2) { + x[1] ^= F(this.S, x8, 0) ^ this.P[i]; + x[0] ^= F(this.S, x8, 4) ^ this.P[i-1]; + } + var t = x[0]; + x[0] = x[1] ^ this.P[0]; + x[1] = t; +}; + +function stream2word(data, databytes){ + var i, temp = 0; + for (i = 0; i < 4; i++, BLF_J++) { + if (BLF_J >= databytes) BLF_J = 0; + temp = (temp << 8) | data[BLF_J]; + } + return temp; +}; + +Blowfish.prototype.expand0state = function(key, keybytes) { + var d = new Uint32Array(2), i, k; + var d8 = new Uint8Array(d.buffer); + + for (i = 0, BLF_J = 0; i < 18; i++) { + this.P[i] ^= stream2word(key, keybytes); + } + BLF_J = 0; + + for (i = 0; i < 18; i += 2) { + this.encipher(d, d8); + this.P[i] = d[0]; + this.P[i+1] = d[1]; + } + + for (i = 0; i < 4; i++) { + for (k = 0; k < 256; k += 2) { + this.encipher(d, d8); + this.S[i][k] = d[0]; + this.S[i][k+1] = d[1]; + } + } +}; + +Blowfish.prototype.expandstate = function(data, databytes, key, keybytes) { + var d = new Uint32Array(2), i, k; + + for (i = 0, BLF_J = 0; i < 18; i++) { + this.P[i] ^= stream2word(key, keybytes); + } + + for (i = 0, BLF_J = 0; i < 18; i += 2) { + d[0] ^= stream2word(data, databytes); + d[1] ^= stream2word(data, databytes); + this.encipher(d); + this.P[i] = d[0]; + this.P[i+1] = d[1]; + } + + for (i = 0; i < 4; i++) { + for (k = 0; k < 256; k += 2) { + d[0] ^= stream2word(data, databytes); + d[1] ^= stream2word(data, databytes); + this.encipher(d); + this.S[i][k] = d[0]; + this.S[i][k+1] = d[1]; + } + } + BLF_J = 0; +}; + +Blowfish.prototype.enc = function(data, blocks) { + for (var i = 0; i < blocks; i++) { + this.encipher(data.subarray(i*2)); + } +}; + +Blowfish.prototype.dec = function(data, blocks) { + for (var i = 0; i < blocks; i++) { + this.decipher(data.subarray(i*2)); + } +}; + +var BCRYPT_BLOCKS = 8, + BCRYPT_HASHSIZE = 32; + +function bcrypt_hash(sha2pass, sha2salt, out) { + var state = new Blowfish(), + cdata = new Uint32Array(BCRYPT_BLOCKS), i, + ciphertext = new Uint8Array([79,120,121,99,104,114,111,109,97,116,105, + 99,66,108,111,119,102,105,115,104,83,119,97,116,68,121,110,97,109, + 105,116,101]); //"OxychromaticBlowfishSwatDynamite" + + state.expandstate(sha2salt, 64, sha2pass, 64); + for (i = 0; i < 64; i++) { + state.expand0state(sha2salt, 64); + state.expand0state(sha2pass, 64); + } + + for (i = 0; i < BCRYPT_BLOCKS; i++) + cdata[i] = stream2word(ciphertext, ciphertext.byteLength); + for (i = 0; i < 64; i++) + state.enc(cdata, cdata.byteLength / 8); + + for (i = 0; i < BCRYPT_BLOCKS; i++) { + out[4*i+3] = cdata[i] >>> 24; + out[4*i+2] = cdata[i] >>> 16; + out[4*i+1] = cdata[i] >>> 8; + out[4*i+0] = cdata[i]; + } +}; + +function bcrypt_pbkdf(pass, passlen, salt, saltlen, key, keylen, rounds) { + var sha2pass = new Uint8Array(64), + sha2salt = new Uint8Array(64), + out = new Uint8Array(BCRYPT_HASHSIZE), + tmpout = new Uint8Array(BCRYPT_HASHSIZE), + countsalt = new Uint8Array(saltlen+4), + i, j, amt, stride, dest, count, + origkeylen = keylen; + + if (rounds < 1) + return -1; + if (passlen === 0 || saltlen === 0 || keylen === 0 || + keylen > (out.byteLength * out.byteLength) || saltlen > (1<<20)) + return -1; + + stride = Math.floor((keylen + out.byteLength - 1) / out.byteLength); + amt = Math.floor((keylen + stride - 1) / stride); + + for (i = 0; i < saltlen; i++) + countsalt[i] = salt[i]; + + crypto_hash_sha512(sha2pass, pass, passlen); + + for (count = 1; keylen > 0; count++) { + countsalt[saltlen+0] = count >>> 24; + countsalt[saltlen+1] = count >>> 16; + countsalt[saltlen+2] = count >>> 8; + countsalt[saltlen+3] = count; + + crypto_hash_sha512(sha2salt, countsalt, saltlen + 4); + bcrypt_hash(sha2pass, sha2salt, tmpout); + for (i = out.byteLength; i--;) + out[i] = tmpout[i]; + + for (i = 1; i < rounds; i++) { + crypto_hash_sha512(sha2salt, tmpout, tmpout.byteLength); + bcrypt_hash(sha2pass, sha2salt, tmpout); + for (j = 0; j < out.byteLength; j++) + out[j] ^= tmpout[j]; + } + + amt = Math.min(amt, keylen); + for (i = 0; i < amt; i++) { + dest = i * stride + (count - 1); + if (dest >= origkeylen) + break; + key[dest] = out[i]; + } + keylen -= i; + } + + return 0; +}; + +module.exports = { + BLOCKS: BCRYPT_BLOCKS, + HASHSIZE: BCRYPT_HASHSIZE, + hash: bcrypt_hash, + pbkdf: bcrypt_pbkdf +}; diff --git a/node_modules/bcrypt-pbkdf/package.json b/node_modules/bcrypt-pbkdf/package.json new file mode 100644 index 0000000..9774cf6 --- /dev/null +++ b/node_modules/bcrypt-pbkdf/package.json @@ -0,0 +1,47 @@ +{ + "_args": [ + [ + "bcrypt-pbkdf@1.0.2", + "/Users/1112456/github/jenkins-action" + ] + ], + "_from": "bcrypt-pbkdf@1.0.2", + "_id": "bcrypt-pbkdf@1.0.2", + "_inBundle": false, + "_integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "_location": "/bcrypt-pbkdf", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "bcrypt-pbkdf@1.0.2", + "name": "bcrypt-pbkdf", + "escapedName": "bcrypt-pbkdf", + "rawSpec": "1.0.2", + "saveSpec": null, + "fetchSpec": "1.0.2" + }, + "_requiredBy": [ + "/sshpk" + ], + "_resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "_spec": "1.0.2", + "_where": "/Users/1112456/github/jenkins-action", + "bugs": { + "url": "https://github.com/joyent/node-bcrypt-pbkdf/issues" + }, + "dependencies": { + "tweetnacl": "^0.14.3" + }, + "description": "Port of the OpenBSD bcrypt_pbkdf function to pure JS", + "devDependencies": {}, + "homepage": "https://github.com/joyent/node-bcrypt-pbkdf#readme", + "license": "BSD-3-Clause", + "main": "index.js", + "name": "bcrypt-pbkdf", + "repository": { + "type": "git", + "url": "git://github.com/joyent/node-bcrypt-pbkdf.git" + }, + "version": "1.0.2" +} diff --git a/node_modules/before-after-hook/LICENSE b/node_modules/before-after-hook/LICENSE new file mode 100644 index 0000000..225063c --- /dev/null +++ b/node_modules/before-after-hook/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2018 Gregor Martynus and other contributors. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/node_modules/before-after-hook/README.md b/node_modules/before-after-hook/README.md new file mode 100644 index 0000000..68c927d --- /dev/null +++ b/node_modules/before-after-hook/README.md @@ -0,0 +1,574 @@ +# before-after-hook + +> asynchronous hooks for internal functionality + +[![npm downloads](https://img.shields.io/npm/dw/before-after-hook.svg)](https://www.npmjs.com/package/before-after-hook) +[![Build Status](https://travis-ci.org/gr2m/before-after-hook.svg?branch=master)](https://travis-ci.org/gr2m/before-after-hook) +[![Coverage Status](https://coveralls.io/repos/gr2m/before-after-hook/badge.svg?branch=master)](https://coveralls.io/r/gr2m/before-after-hook?branch=master) +[![Greenkeeper badge](https://badges.greenkeeper.io/gr2m/before-after-hook.svg)](https://greenkeeper.io/) + +## Usage + +### Singular hook + +Recommended for [TypeScript](#typescript) + +```js +// instantiate singular hook API +const hook = new Hook.Singular() + +// Create a hook +function getData (options) { + return hook(fetchFromDatabase, options) + .then(handleData) + .catch(handleGetError) +} + +// register before/error/after hooks. +// The methods can be async or return a promise +hook.before(beforeHook) +hook.error(errorHook) +hook.after(afterHook) + +getData({id: 123}) +``` + +### Hook collection +```js +// instantiate hook collection API +const hookCollection = new Hook.Collection() + +// Create a hook +function getData (options) { + return hookCollection('get', fetchFromDatabase, options) + .then(handleData) + .catch(handleGetError) +} + +// register before/error/after hooks. +// The methods can be async or return a promise +hookCollection.before('get', beforeHook) +hookCollection.error('get', errorHook) +hookCollection.after('get', afterHook) + +getData({id: 123}) +``` + +### Hook.Singular vs Hook.Collection + +There's no fundamental difference between the `Hook.Singular` and `Hook.Collection` hooks except for the fact that a hook from a collection requires you to pass along the name. Therefore the following explanation applies to both code snippets as described above. + +The methods are executed in the following order + +1. `beforeHook` +2. `fetchFromDatabase` +3. `afterHook` +4. `getData` + +`beforeHook` can mutate `options` before it’s passed to `fetchFromDatabase`. + +If an error is thrown in `beforeHook` or `fetchFromDatabase` then `errorHook` is +called next. + +If `afterHook` throws an error then `handleGetError` is called instead +of `getData`. + +If `errorHook` throws an error then `handleGetError` is called next, otherwise +`afterHook` and `getData`. + +You can also use `hook.wrap` to achieve the same thing as shown above (collection example): + +```js +hookCollection.wrap('get', async (getData, options) => { + await beforeHook(options) + + try { + const result = getData(options) + } catch (error) { + await errorHook(error, options) + } + + await afterHook(result, options) +}) +``` + +## Install + +``` +npm install before-after-hook +``` + +Or download [the latest `before-after-hook.min.js`](https://github.com/gr2m/before-after-hook/releases/latest). + +## API + +- [Singular Hook Constructor](#singular-hook-api) +- [Hook Collection Constructor](#hook-collection-api) + +## Singular hook API + +- [Singular constructor](#singular-constructor) +- [hook.api](#singular-api) +- [hook()](#singular-api) +- [hook.before()](#singular-api) +- [hook.error()](#singular-api) +- [hook.after()](#singular-api) +- [hook.wrap()](#singular-api) +- [hook.remove()](#singular-api) + +### Singular constructor + +The `Hook.Singular` constructor has no options and returns a `hook` instance with the +methods below: + +```js +const hook = new Hook.Singular() +``` +Using the singular hook is recommended for [TypeScript](#typescript) + +### Singular API + +The singular hook is a reference to a single hook. This means that there's no need to pass along any identifier (such as a `name` as can be seen in the [Hook.Collection API](#hookcollectionapi)). + +The API of a singular hook is exactly the same as a collection hook and we therefore suggest you read the [Hook.Collection API](#hookcollectionapi) and leave out any use of the `name` argument. Just skip it like described in this example: +```js +const hook = new Hook.Singular() + +// good +hook.before(beforeHook) +hook.after(afterHook) +hook(fetchFromDatabase, options) + +// bad +hook.before('get', beforeHook) +hook.after('get', afterHook) +hook('get', fetchFromDatabase, options) +``` + +## Hook collection API + +- [Collection constructor](#collection-constructor) +- [collection.api](#collectionapi) +- [collection()](#collection) +- [collection.before()](#collectionbefore) +- [collection.error()](#collectionerror) +- [collection.after()](#collectionafter) +- [collection.wrap()](#collectionwrap) +- [collection.remove()](#collectionremove) + +### Collection constructor + +The `Hook.Collection` constructor has no options and returns a `hookCollection` instance with the +methods below + +```js +const hookCollection = new Hook.Collection() +``` + +### hookCollection.api + +Use the `api` property to return the public API: + +- [hookCollection.before()](#hookcollectionbefore) +- [hookCollection.after()](#hookcollectionafter) +- [hookCollection.error()](#hookcollectionerror) +- [hookCollection.wrap()](#hookcollectionwrap) +- [hookCollection.remove()](#hookcollectionremove) + +That way you don’t need to expose the [hookCollection()](#hookcollection) method to consumers of your library + +### hookCollection() + +Invoke before and after hooks. Returns a promise. + +```js +hookCollection(nameOrNames, method /*, options */) +``` + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ArgumentTypeDescriptionRequired
nameString or Array of StringsHook name, for example 'save'. Or an array of names, see example below.Yes
methodFunctionCallback to be executed after all before hooks finished execution successfully. options is passed as first argumentYes
optionsObjectWill be passed to all before hooks as reference, so they can mutate itNo, defaults to empty object ({})
+ +Resolves with whatever `method` returns or resolves with. +Rejects with error that is thrown or rejected with by + +1. Any of the before hooks, whichever rejects / throws first +2. `method` +3. Any of the after hooks, whichever rejects / throws first + +Simple Example + +```js +hookCollection('save', function (record) { + return store.save(record) +}, record) +// shorter: hookCollection('save', store.save, record) + +hookCollection.before('save', function addTimestamps (record) { + const now = new Date().toISOString() + if (record.createdAt) { + record.updatedAt = now + } else { + record.createdAt = now + } +}) +``` + +Example defining multiple hooks at once. + +```js +hookCollection(['add', 'save'], function (record) { + return store.save(record) +}, record) + +hookCollection.before('add', function addTimestamps (record) { + if (!record.type) { + throw new Error('type property is required') + } +}) + +hookCollection.before('save', function addTimestamps (record) { + if (!record.type) { + throw new Error('type property is required') + } +}) +``` + +Defining multiple hooks is helpful if you have similar methods for which you want to define separate hooks, but also an additional hook that gets called for all at once. The example above is equal to this: + +```js +hookCollection('add', function (record) { + return hookCollection('save', function (record) { + return store.save(record) + }, record) +}, record) +``` + +### hookCollection.before() + +Add before hook for given name. + +```js +hookCollection.before(name, method) +``` + + + + + + + + + + + + + + + + + + + + + + +
ArgumentTypeDescriptionRequired
nameStringHook name, for example 'save'Yes
methodFunction + Executed before the wrapped method. Called with the hook’s + options argument. Before hooks can mutate the passed options + before they are passed to the wrapped method. + Yes
+ +Example + +```js +hookCollection.before('save', function validate (record) { + if (!record.name) { + throw new Error('name property is required') + } +}) +``` + +### hookCollection.error() + +Add error hook for given name. + +```js +hookCollection.error(name, method) +``` + + + + + + + + + + + + + + + + + + + + + + +
ArgumentTypeDescriptionRequired
nameStringHook name, for example 'save'Yes
methodFunction + Executed when an error occurred in either the wrapped method or a + before hook. Called with the thrown error + and the hook’s options argument. The first method + which does not throw an error will set the result that the after hook + methods will receive. + Yes
+ +Example + +```js +hookCollection.error('save', function (error, options) { + if (error.ignore) return + throw error +}) +``` + +### hookCollection.after() + +Add after hook for given name. + +```js +hookCollection.after(name, method) +``` + + + + + + + + + + + + + + + + + + + + + + +
ArgumentTypeDescriptionRequired
nameStringHook name, for example 'save'Yes
methodFunction + Executed after wrapped method. Called with what the wrapped method + resolves with the hook’s options argument. + Yes
+ +Example + +```js +hookCollection.after('save', function (result, options) { + if (result.updatedAt) { + app.emit('update', result) + } else { + app.emit('create', result) + } +}) +``` + +### hookCollection.wrap() + +Add wrap hook for given name. + +```js +hookCollection.wrap(name, method) +``` + + + + + + + + + + + + + + + + + + + + + + +
ArgumentTypeDescriptionRequired
nameStringHook name, for example 'save'Yes
methodFunction + Receives both the wrapped method and the passed options as arguments so it can add logic before and after the wrapped method, it can handle errors and even replace the wrapped method altogether + Yes
+ +Example + +```js +hookCollection.wrap('save', async function (saveInDatabase, options) { + if (!record.name) { + throw new Error('name property is required') + } + + try { + const result = await saveInDatabase(options) + + if (result.updatedAt) { + app.emit('update', result) + } else { + app.emit('create', result) + } + + return result + } catch (error) { + if (error.ignore) return + throw error + } +}) +``` + +See also: [Test mock example](examples/test-mock-example.md) + +### hookCollection.remove() + +Removes hook for given name. + +```js +hookCollection.remove(name, hookMethod) +``` + + + + + + + + + + + + + + + + + + + + + + +
ArgumentTypeDescriptionRequired
nameStringHook name, for example 'save'Yes
beforeHookMethodFunction + Same function that was previously passed to hookCollection.before(), hookCollection.error(), hookCollection.after() or hookCollection.wrap() + Yes
+ +Example + +```js +hookCollection.remove('save', validateRecord) +``` + +## TypeScript + +This library contains type definitions for TypeScript. When you use TypeScript we highly recommend using the `Hook.Singular` constructor for your hooks as this allows you to pass along type information for the options object. For example: + +```ts + +import {Hook} from 'before-after-hook' + +interface Foo { + bar: string + num: number; +} + +const hook = new Hook.Singular(); + +hook.before(function (foo) { + + // typescript will complain about the following mutation attempts + foo.hello = 'world' + foo.bar = 123 + + // yet this is valid + foo.bar = 'other-string' + foo.num = 123 +}) + +const foo = hook(function(foo) { + // handle `foo` + foo.bar = 'another-string' +}, {bar: 'random-string'}) + +// foo outputs +{ + bar: 'another-string', + num: 123 +} +``` + +An alternative import: + +```ts +import {Singular, Collection} from 'before-after-hook' + +const hook = new Singular<{foo: string}>(); +const hookCollection = new Collection(); +``` + +## Upgrading to 1.4 + +Since version 1.4 the `Hook` constructor has been deprecated in favor of returning `Hook.Singular` in an upcoming breaking release. + +Version 1.4 is still 100% backwards-compatible, but if you want to continue using hook collections, we recommend using the `Hook.Collection` constructor instead before the next release. + +For even more details, check out [the PR](https://github.com/gr2m/before-after-hook/pull/52). + +## See also + +If `before-after-hook` is not for you, have a look at one of these alternatives: + +- https://github.com/keystonejs/grappling-hook +- https://github.com/sebelga/promised-hooks +- https://github.com/bnoguchi/hooks-js +- https://github.com/cb1kenobi/hook-emitter + +## License + +[Apache 2.0](LICENSE) diff --git a/node_modules/before-after-hook/index.d.ts b/node_modules/before-after-hook/index.d.ts new file mode 100644 index 0000000..3c19a5c --- /dev/null +++ b/node_modules/before-after-hook/index.d.ts @@ -0,0 +1,96 @@ +type HookMethod = (options: O) => R | Promise + +type BeforeHook = (options: O) => void +type ErrorHook = (error: E, options: O) => void +type AfterHook = (result: R, options: O) => void +type WrapHook = ( + hookMethod: HookMethod, + options: O +) => R | Promise + +type AnyHook = + | BeforeHook + | ErrorHook + | AfterHook + | WrapHook + +export interface HookCollection { + /** + * Invoke before and after hooks + */ + ( + name: string | string[], + hookMethod: HookMethod, + options?: any + ): Promise + /** + * Add `before` hook for given `name` + */ + before(name: string, beforeHook: BeforeHook): void + /** + * Add `error` hook for given `name` + */ + error(name: string, errorHook: ErrorHook): void + /** + * Add `after` hook for given `name` + */ + after(name: string, afterHook: AfterHook): void + /** + * Add `wrap` hook for given `name` + */ + wrap(name: string, wrapHook: WrapHook): void + /** + * Remove added hook for given `name` + */ + remove(name: string, hook: AnyHook): void +} + +export interface HookSingular { + /** + * Invoke before and after hooks + */ + (hookMethod: HookMethod, options?: O): Promise + /** + * Add `before` hook + */ + before(beforeHook: BeforeHook): void + /** + * Add `error` hook + */ + error(errorHook: ErrorHook): void + /** + * Add `after` hook + */ + after(afterHook: AfterHook): void + /** + * Add `wrap` hook + */ + wrap(wrapHook: WrapHook): void + /** + * Remove added hook + */ + remove(hook: AnyHook): void +} + +type Collection = new () => HookCollection +type Singular = new () => HookSingular + +interface Hook { + new (): HookCollection + + /** + * Creates a collection of hooks + */ + Collection: Collection + + /** + * Creates a nameless hook that supports strict typings + */ + Singular: Singular +} + +export const Hook: Hook +export const Collection: Collection +export const Singular: Singular + +export default Hook diff --git a/node_modules/before-after-hook/index.js b/node_modules/before-after-hook/index.js new file mode 100644 index 0000000..a97d89b --- /dev/null +++ b/node_modules/before-after-hook/index.js @@ -0,0 +1,57 @@ +var register = require('./lib/register') +var addHook = require('./lib/add') +var removeHook = require('./lib/remove') + +// bind with array of arguments: https://stackoverflow.com/a/21792913 +var bind = Function.bind +var bindable = bind.bind(bind) + +function bindApi (hook, state, name) { + var removeHookRef = bindable(removeHook, null).apply(null, name ? [state, name] : [state]) + hook.api = { remove: removeHookRef } + hook.remove = removeHookRef + + ;['before', 'error', 'after', 'wrap'].forEach(function (kind) { + var args = name ? [state, kind, name] : [state, kind] + hook[kind] = hook.api[kind] = bindable(addHook, null).apply(null, args) + }) +} + +function HookSingular () { + var singularHookName = 'h' + var singularHookState = { + registry: {} + } + var singularHook = register.bind(null, singularHookState, singularHookName) + bindApi(singularHook, singularHookState, singularHookName) + return singularHook +} + +function HookCollection () { + var state = { + registry: {} + } + + var hook = register.bind(null, state) + bindApi(hook, state) + + return hook +} + +var collectionHookDeprecationMessageDisplayed = false +function Hook () { + if (!collectionHookDeprecationMessageDisplayed) { + console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4') + collectionHookDeprecationMessageDisplayed = true + } + return HookCollection() +} + +Hook.Singular = HookSingular.bind() +Hook.Collection = HookCollection.bind() + +module.exports = Hook +// expose constructors as a named property for TypeScript +module.exports.Hook = Hook +module.exports.Singular = Hook.Singular +module.exports.Collection = Hook.Collection diff --git a/node_modules/before-after-hook/lib/add.js b/node_modules/before-after-hook/lib/add.js new file mode 100644 index 0000000..a34e3f4 --- /dev/null +++ b/node_modules/before-after-hook/lib/add.js @@ -0,0 +1,46 @@ +module.exports = addHook + +function addHook (state, kind, name, hook) { + var orig = hook + if (!state.registry[name]) { + state.registry[name] = [] + } + + if (kind === 'before') { + hook = function (method, options) { + return Promise.resolve() + .then(orig.bind(null, options)) + .then(method.bind(null, options)) + } + } + + if (kind === 'after') { + hook = function (method, options) { + var result + return Promise.resolve() + .then(method.bind(null, options)) + .then(function (result_) { + result = result_ + return orig(result, options) + }) + .then(function () { + return result + }) + } + } + + if (kind === 'error') { + hook = function (method, options) { + return Promise.resolve() + .then(method.bind(null, options)) + .catch(function (error) { + return orig(error, options) + }) + } + } + + state.registry[name].push({ + hook: hook, + orig: orig + }) +} diff --git a/node_modules/before-after-hook/lib/register.js b/node_modules/before-after-hook/lib/register.js new file mode 100644 index 0000000..b3d01fd --- /dev/null +++ b/node_modules/before-after-hook/lib/register.js @@ -0,0 +1,28 @@ +module.exports = register + +function register (state, name, method, options) { + if (typeof method !== 'function') { + throw new Error('method for before hook must be a function') + } + + if (!options) { + options = {} + } + + if (Array.isArray(name)) { + return name.reverse().reduce(function (callback, name) { + return register.bind(null, state, name, callback, options) + }, method)() + } + + return Promise.resolve() + .then(function () { + if (!state.registry[name]) { + return method(options) + } + + return (state.registry[name]).reduce(function (method, registered) { + return registered.hook.bind(null, method, options) + }, method)() + }) +} diff --git a/node_modules/before-after-hook/lib/remove.js b/node_modules/before-after-hook/lib/remove.js new file mode 100644 index 0000000..e357c51 --- /dev/null +++ b/node_modules/before-after-hook/lib/remove.js @@ -0,0 +1,17 @@ +module.exports = removeHook + +function removeHook (state, name, method) { + if (!state.registry[name]) { + return + } + + var index = state.registry[name] + .map(function (registered) { return registered.orig }) + .indexOf(method) + + if (index === -1) { + return + } + + state.registry[name].splice(index, 1) +} diff --git a/node_modules/before-after-hook/package.json b/node_modules/before-after-hook/package.json new file mode 100644 index 0000000..0cfdb80 --- /dev/null +++ b/node_modules/before-after-hook/package.json @@ -0,0 +1,100 @@ +{ + "_args": [ + [ + "before-after-hook@2.1.0", + "/Users/1112456/github/jenkins-action" + ] + ], + "_from": "before-after-hook@2.1.0", + "_id": "before-after-hook@2.1.0", + "_inBundle": false, + "_integrity": "sha512-IWIbu7pMqyw3EAJHzzHbWa85b6oud/yfKYg5rqB5hNE8CeMi3nX+2C2sj0HswfblST86hpVEOAb9x34NZd6P7A==", + "_location": "/before-after-hook", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "before-after-hook@2.1.0", + "name": "before-after-hook", + "escapedName": "before-after-hook", + "rawSpec": "2.1.0", + "saveSpec": null, + "fetchSpec": "2.1.0" + }, + "_requiredBy": [ + "/@octokit/rest" + ], + "_resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.1.0.tgz", + "_spec": "2.1.0", + "_where": "/Users/1112456/github/jenkins-action", + "author": { + "name": "Gregor Martynus" + }, + "bugs": { + "url": "https://github.com/gr2m/before-after-hook/issues" + }, + "dependencies": {}, + "description": "asynchronous before/error/after hooks for internal functionality", + "devDependencies": { + "browserify": "^16.0.0", + "gaze-cli": "^0.2.0", + "istanbul": "^0.4.0", + "istanbul-coveralls": "^1.0.3", + "mkdirp": "^0.5.1", + "rimraf": "^2.4.4", + "semantic-release": "^15.0.0", + "simple-mock": "^0.8.0", + "standard": "^13.0.1", + "tap-min": "^2.0.0", + "tap-spec": "^5.0.0", + "tape": "^4.2.2", + "typescript": "^3.5.3", + "uglify-js": "^3.0.0" + }, + "files": [ + "index.js", + "index.d.ts", + "lib" + ], + "homepage": "https://github.com/gr2m/before-after-hook#readme", + "keywords": [ + "hook", + "hooks", + "api" + ], + "license": "Apache-2.0", + "name": "before-after-hook", + "release": { + "publish": [ + "@semantic-release/npm", + { + "path": "@semantic-release/github", + "assets": [ + "dist/*.js" + ] + } + ] + }, + "repository": { + "type": "git", + "url": "git+https://github.com/gr2m/before-after-hook.git" + }, + "scripts": { + "build": "browserify index.js --standalone=Hook > dist/before-after-hook.js", + "postbuild": "uglifyjs dist/before-after-hook.js -mc > dist/before-after-hook.min.js", + "posttest": "npm run validate:ts", + "postvalidate:ts": "tsc --noEmit --strict --target es6 test/typescript-validate.ts", + "prebuild": "rimraf dist && mkdirp dist", + "presemantic-release": "npm run build", + "pretest": "standard", + "semantic-release": "semantic-release", + "test": "npm run -s test:node | tap-spec", + "test:coverage": "istanbul cover test", + "test:coverage:upload": "istanbul-coveralls", + "test:node": "node test", + "test:watch": "gaze 'clear && node test | tap-min' 'test/**/*.js' 'index.js' 'lib/**/*.js'", + "validate:ts": "tsc --strict --target es6 index.d.ts" + }, + "types": "./index.d.ts", + "version": "2.1.0" +} diff --git a/node_modules/btoa-lite/.npmignore b/node_modules/btoa-lite/.npmignore new file mode 100644 index 0000000..50c7458 --- /dev/null +++ b/node_modules/btoa-lite/.npmignore @@ -0,0 +1,6 @@ +node_modules +*.log +.DS_Store +bundle.js +test +test.js diff --git a/node_modules/btoa-lite/LICENSE.md b/node_modules/btoa-lite/LICENSE.md new file mode 100644 index 0000000..ee27ba4 --- /dev/null +++ b/node_modules/btoa-lite/LICENSE.md @@ -0,0 +1,18 @@ +This software is released under the MIT license: + +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. diff --git a/node_modules/btoa-lite/README.md b/node_modules/btoa-lite/README.md new file mode 100644 index 0000000..e36492e --- /dev/null +++ b/node_modules/btoa-lite/README.md @@ -0,0 +1,37 @@ +# btoa-lite +![](http://img.shields.io/badge/stability-stable-orange.svg?style=flat) +![](http://img.shields.io/npm/v/btoa-lite.svg?style=flat) +![](http://img.shields.io/npm/dm/btoa-lite.svg?style=flat) +![](http://img.shields.io/npm/l/btoa-lite.svg?style=flat) + +Smallest/simplest possible means of using btoa with both Node and browserify. + +In the browser, encoding base64 strings is done using: + +``` javascript +var encoded = btoa(decoded) +``` + +However in Node, it's done like so: + +``` javascript +var encoded = new Buffer(decoded).toString('base64') +``` + +You can easily check if `Buffer` exists and switch between the approaches +accordingly, but using `Buffer` anywhere in your browser source will pull +in browserify's `Buffer` shim which is pretty hefty. This package uses +the `main` and `browser` fields in its `package.json` to perform this +check at build time and avoid pulling `Buffer` in unnecessarily. + +## Usage + +[![NPM](https://nodei.co/npm/btoa-lite.png)](https://nodei.co/npm/btoa-lite/) + +### `encoded = btoa(decoded)` + +Returns the base64-encoded value of a string. + +## License + +MIT. See [LICENSE.md](http://github.com/hughsk/btoa-lite/blob/master/LICENSE.md) for details. diff --git a/node_modules/btoa-lite/btoa-browser.js b/node_modules/btoa-lite/btoa-browser.js new file mode 100644 index 0000000..1b3acdb --- /dev/null +++ b/node_modules/btoa-lite/btoa-browser.js @@ -0,0 +1,3 @@ +module.exports = function _btoa(str) { + return btoa(str) +} diff --git a/node_modules/btoa-lite/btoa-node.js b/node_modules/btoa-lite/btoa-node.js new file mode 100644 index 0000000..0278470 --- /dev/null +++ b/node_modules/btoa-lite/btoa-node.js @@ -0,0 +1,3 @@ +module.exports = function btoa(str) { + return new Buffer(str).toString('base64') +} diff --git a/node_modules/btoa-lite/package.json b/node_modules/btoa-lite/package.json new file mode 100644 index 0000000..14f3e84 --- /dev/null +++ b/node_modules/btoa-lite/package.json @@ -0,0 +1,69 @@ +{ + "_args": [ + [ + "btoa-lite@1.0.0", + "/Users/1112456/github/jenkins-action" + ] + ], + "_from": "btoa-lite@1.0.0", + "_id": "btoa-lite@1.0.0", + "_inBundle": false, + "_integrity": "sha1-M3dm2hWAEhD92VbCLpxokaudAzc=", + "_location": "/btoa-lite", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "btoa-lite@1.0.0", + "name": "btoa-lite", + "escapedName": "btoa-lite", + "rawSpec": "1.0.0", + "saveSpec": null, + "fetchSpec": "1.0.0" + }, + "_requiredBy": [ + "/@octokit/rest" + ], + "_resolved": "https://registry.npmjs.org/btoa-lite/-/btoa-lite-1.0.0.tgz", + "_spec": "1.0.0", + "_where": "/Users/1112456/github/jenkins-action", + "author": { + "name": "Hugh Kennedy", + "email": "hughskennedy@gmail.com", + "url": "http://hughsk.io/" + }, + "browser": "btoa-browser.js", + "bugs": { + "url": "https://github.com/hughsk/btoa-lite/issues" + }, + "dependencies": {}, + "description": "Smallest/simplest possible means of using btoa with both Node and browserify", + "devDependencies": { + "browserify": "^10.2.4", + "smokestack": "^3.3.0", + "tap-spec": "^4.0.0", + "tape": "^4.0.0" + }, + "homepage": "https://github.com/hughsk/btoa-lite", + "keywords": [ + "btoa", + "base64", + "isomorphic", + "browser", + "node", + "shared" + ], + "license": "MIT", + "main": "btoa-node.js", + "name": "btoa-lite", + "repository": { + "type": "git", + "url": "git://github.com/hughsk/btoa-lite.git" + }, + "scripts": { + "test": "npm run test-node && npm run test-browser", + "test-browser": "browserify test | smokestack | tap-spec", + "test-node": "node test | tap-spec" + }, + "version": "1.0.0" +} diff --git a/node_modules/caseless/LICENSE b/node_modules/caseless/LICENSE new file mode 100644 index 0000000..61789f4 --- /dev/null +++ b/node_modules/caseless/LICENSE @@ -0,0 +1,28 @@ +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +1. Definitions. +"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. +"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. +"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. +"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. +"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. +"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. +"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). +"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. +"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. +2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. +3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. +4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: +You must give any other recipients of the Work or Derivative Works a copy of this License; and +You must cause any modified files to carry prominent notices stating that You changed the files; and +You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and +If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. +5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. +6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. +7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. +8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. +9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. +END OF TERMS AND CONDITIONS \ No newline at end of file diff --git a/node_modules/caseless/README.md b/node_modules/caseless/README.md new file mode 100644 index 0000000..e5077a2 --- /dev/null +++ b/node_modules/caseless/README.md @@ -0,0 +1,45 @@ +## Caseless -- wrap an object to set and get property with caseless semantics but also preserve caseing. + +This library is incredibly useful when working with HTTP headers. It allows you to get/set/check for headers in a caseless manner while also preserving the caseing of headers the first time they are set. + +## Usage + +```javascript +var headers = {} + , c = caseless(headers) + ; +c.set('a-Header', 'asdf') +c.get('a-header') === 'asdf' +``` + +## has(key) + +Has takes a name and if it finds a matching header will return that header name with the preserved caseing it was set with. + +```javascript +c.has('a-header') === 'a-Header' +``` + +## set(key, value[, clobber=true]) + +Set is fairly straight forward except that if the header exists and clobber is disabled it will add `','+value` to the existing header. + +```javascript +c.set('a-Header', 'fdas') +c.set('a-HEADER', 'more', false) +c.get('a-header') === 'fdsa,more' +``` + +## swap(key) + +Swaps the casing of a header with the new one that is passed in. + +```javascript +var headers = {} + , c = caseless(headers) + ; +c.set('a-Header', 'fdas') +c.swap('a-HEADER') +c.has('a-header') === 'a-HEADER' +headers === {'a-HEADER': 'fdas'} +``` diff --git a/node_modules/caseless/index.js b/node_modules/caseless/index.js new file mode 100644 index 0000000..b194734 --- /dev/null +++ b/node_modules/caseless/index.js @@ -0,0 +1,67 @@ +function Caseless (dict) { + this.dict = dict || {} +} +Caseless.prototype.set = function (name, value, clobber) { + if (typeof name === 'object') { + for (var i in name) { + this.set(i, name[i], value) + } + } else { + if (typeof clobber === 'undefined') clobber = true + var has = this.has(name) + + if (!clobber && has) this.dict[has] = this.dict[has] + ',' + value + else this.dict[has || name] = value + return has + } +} +Caseless.prototype.has = function (name) { + var keys = Object.keys(this.dict) + , name = name.toLowerCase() + ; + for (var i=0;i + +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. diff --git a/node_modules/combined-stream/Readme.md b/node_modules/combined-stream/Readme.md new file mode 100644 index 0000000..9e367b5 --- /dev/null +++ b/node_modules/combined-stream/Readme.md @@ -0,0 +1,138 @@ +# combined-stream + +A stream that emits multiple other streams one after another. + +**NB** Currently `combined-stream` works with streams version 1 only. There is ongoing effort to switch this library to streams version 2. Any help is welcome. :) Meanwhile you can explore other libraries that provide streams2 support with more or less compatibility with `combined-stream`. + +- [combined-stream2](https://www.npmjs.com/package/combined-stream2): A drop-in streams2-compatible replacement for the combined-stream module. + +- [multistream](https://www.npmjs.com/package/multistream): A stream that emits multiple other streams one after another. + +## Installation + +``` bash +npm install combined-stream +``` + +## Usage + +Here is a simple example that shows how you can use combined-stream to combine +two files into one: + +``` javascript +var CombinedStream = require('combined-stream'); +var fs = require('fs'); + +var combinedStream = CombinedStream.create(); +combinedStream.append(fs.createReadStream('file1.txt')); +combinedStream.append(fs.createReadStream('file2.txt')); + +combinedStream.pipe(fs.createWriteStream('combined.txt')); +``` + +While the example above works great, it will pause all source streams until +they are needed. If you don't want that to happen, you can set `pauseStreams` +to `false`: + +``` javascript +var CombinedStream = require('combined-stream'); +var fs = require('fs'); + +var combinedStream = CombinedStream.create({pauseStreams: false}); +combinedStream.append(fs.createReadStream('file1.txt')); +combinedStream.append(fs.createReadStream('file2.txt')); + +combinedStream.pipe(fs.createWriteStream('combined.txt')); +``` + +However, what if you don't have all the source streams yet, or you don't want +to allocate the resources (file descriptors, memory, etc.) for them right away? +Well, in that case you can simply provide a callback that supplies the stream +by calling a `next()` function: + +``` javascript +var CombinedStream = require('combined-stream'); +var fs = require('fs'); + +var combinedStream = CombinedStream.create(); +combinedStream.append(function(next) { + next(fs.createReadStream('file1.txt')); +}); +combinedStream.append(function(next) { + next(fs.createReadStream('file2.txt')); +}); + +combinedStream.pipe(fs.createWriteStream('combined.txt')); +``` + +## API + +### CombinedStream.create([options]) + +Returns a new combined stream object. Available options are: + +* `maxDataSize` +* `pauseStreams` + +The effect of those options is described below. + +### combinedStream.pauseStreams = `true` + +Whether to apply back pressure to the underlaying streams. If set to `false`, +the underlaying streams will never be paused. If set to `true`, the +underlaying streams will be paused right after being appended, as well as when +`delayedStream.pipe()` wants to throttle. + +### combinedStream.maxDataSize = `2 * 1024 * 1024` + +The maximum amount of bytes (or characters) to buffer for all source streams. +If this value is exceeded, `combinedStream` emits an `'error'` event. + +### combinedStream.dataSize = `0` + +The amount of bytes (or characters) currently buffered by `combinedStream`. + +### combinedStream.append(stream) + +Appends the given `stream` to the combinedStream object. If `pauseStreams` is +set to `true, this stream will also be paused right away. + +`streams` can also be a function that takes one parameter called `next`. `next` +is a function that must be invoked in order to provide the `next` stream, see +example above. + +Regardless of how the `stream` is appended, combined-stream always attaches an +`'error'` listener to it, so you don't have to do that manually. + +Special case: `stream` can also be a String or Buffer. + +### combinedStream.write(data) + +You should not call this, `combinedStream` takes care of piping the appended +streams into itself for you. + +### combinedStream.resume() + +Causes `combinedStream` to start drain the streams it manages. The function is +idempotent, and also emits a `'resume'` event each time which usually goes to +the stream that is currently being drained. + +### combinedStream.pause(); + +If `combinedStream.pauseStreams` is set to `false`, this does nothing. +Otherwise a `'pause'` event is emitted, this goes to the stream that is +currently being drained, so you can use it to apply back pressure. + +### combinedStream.end(); + +Sets `combinedStream.writable` to false, emits an `'end'` event, and removes +all streams from the queue. + +### combinedStream.destroy(); + +Same as `combinedStream.end()`, except it emits a `'close'` event instead of +`'end'`. + +## License + +combined-stream is licensed under the MIT license. diff --git a/node_modules/combined-stream/lib/combined_stream.js b/node_modules/combined-stream/lib/combined_stream.js new file mode 100644 index 0000000..125f097 --- /dev/null +++ b/node_modules/combined-stream/lib/combined_stream.js @@ -0,0 +1,208 @@ +var util = require('util'); +var Stream = require('stream').Stream; +var DelayedStream = require('delayed-stream'); + +module.exports = CombinedStream; +function CombinedStream() { + this.writable = false; + this.readable = true; + this.dataSize = 0; + this.maxDataSize = 2 * 1024 * 1024; + this.pauseStreams = true; + + this._released = false; + this._streams = []; + this._currentStream = null; + this._insideLoop = false; + this._pendingNext = false; +} +util.inherits(CombinedStream, Stream); + +CombinedStream.create = function(options) { + var combinedStream = new this(); + + options = options || {}; + for (var option in options) { + combinedStream[option] = options[option]; + } + + return combinedStream; +}; + +CombinedStream.isStreamLike = function(stream) { + return (typeof stream !== 'function') + && (typeof stream !== 'string') + && (typeof stream !== 'boolean') + && (typeof stream !== 'number') + && (!Buffer.isBuffer(stream)); +}; + +CombinedStream.prototype.append = function(stream) { + var isStreamLike = CombinedStream.isStreamLike(stream); + + if (isStreamLike) { + if (!(stream instanceof DelayedStream)) { + var newStream = DelayedStream.create(stream, { + maxDataSize: Infinity, + pauseStream: this.pauseStreams, + }); + stream.on('data', this._checkDataSize.bind(this)); + stream = newStream; + } + + this._handleErrors(stream); + + if (this.pauseStreams) { + stream.pause(); + } + } + + this._streams.push(stream); + return this; +}; + +CombinedStream.prototype.pipe = function(dest, options) { + Stream.prototype.pipe.call(this, dest, options); + this.resume(); + return dest; +}; + +CombinedStream.prototype._getNext = function() { + this._currentStream = null; + + if (this._insideLoop) { + this._pendingNext = true; + return; // defer call + } + + this._insideLoop = true; + try { + do { + this._pendingNext = false; + this._realGetNext(); + } while (this._pendingNext); + } finally { + this._insideLoop = false; + } +}; + +CombinedStream.prototype._realGetNext = function() { + var stream = this._streams.shift(); + + + if (typeof stream == 'undefined') { + this.end(); + return; + } + + if (typeof stream !== 'function') { + this._pipeNext(stream); + return; + } + + var getStream = stream; + getStream(function(stream) { + var isStreamLike = CombinedStream.isStreamLike(stream); + if (isStreamLike) { + stream.on('data', this._checkDataSize.bind(this)); + this._handleErrors(stream); + } + + this._pipeNext(stream); + }.bind(this)); +}; + +CombinedStream.prototype._pipeNext = function(stream) { + this._currentStream = stream; + + var isStreamLike = CombinedStream.isStreamLike(stream); + if (isStreamLike) { + stream.on('end', this._getNext.bind(this)); + stream.pipe(this, {end: false}); + return; + } + + var value = stream; + this.write(value); + this._getNext(); +}; + +CombinedStream.prototype._handleErrors = function(stream) { + var self = this; + stream.on('error', function(err) { + self._emitError(err); + }); +}; + +CombinedStream.prototype.write = function(data) { + this.emit('data', data); +}; + +CombinedStream.prototype.pause = function() { + if (!this.pauseStreams) { + return; + } + + if(this.pauseStreams && this._currentStream && typeof(this._currentStream.pause) == 'function') this._currentStream.pause(); + this.emit('pause'); +}; + +CombinedStream.prototype.resume = function() { + if (!this._released) { + this._released = true; + this.writable = true; + this._getNext(); + } + + if(this.pauseStreams && this._currentStream && typeof(this._currentStream.resume) == 'function') this._currentStream.resume(); + this.emit('resume'); +}; + +CombinedStream.prototype.end = function() { + this._reset(); + this.emit('end'); +}; + +CombinedStream.prototype.destroy = function() { + this._reset(); + this.emit('close'); +}; + +CombinedStream.prototype._reset = function() { + this.writable = false; + this._streams = []; + this._currentStream = null; +}; + +CombinedStream.prototype._checkDataSize = function() { + this._updateDataSize(); + if (this.dataSize <= this.maxDataSize) { + return; + } + + var message = + 'DelayedStream#maxDataSize of ' + this.maxDataSize + ' bytes exceeded.'; + this._emitError(new Error(message)); +}; + +CombinedStream.prototype._updateDataSize = function() { + this.dataSize = 0; + + var self = this; + this._streams.forEach(function(stream) { + if (!stream.dataSize) { + return; + } + + self.dataSize += stream.dataSize; + }); + + if (this._currentStream && this._currentStream.dataSize) { + this.dataSize += this._currentStream.dataSize; + } +}; + +CombinedStream.prototype._emitError = function(err) { + this._reset(); + this.emit('error', err); +}; diff --git a/node_modules/combined-stream/package.json b/node_modules/combined-stream/package.json new file mode 100644 index 0000000..5d47e5a --- /dev/null +++ b/node_modules/combined-stream/package.json @@ -0,0 +1,61 @@ +{ + "_args": [ + [ + "combined-stream@1.0.8", + "/Users/1112456/github/jenkins-action" + ] + ], + "_from": "combined-stream@1.0.8", + "_id": "combined-stream@1.0.8", + "_inBundle": false, + "_integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "_location": "/combined-stream", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "combined-stream@1.0.8", + "name": "combined-stream", + "escapedName": "combined-stream", + "rawSpec": "1.0.8", + "saveSpec": null, + "fetchSpec": "1.0.8" + }, + "_requiredBy": [ + "/form-data", + "/request" + ], + "_resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "_spec": "1.0.8", + "_where": "/Users/1112456/github/jenkins-action", + "author": { + "name": "Felix Geisendörfer", + "email": "felix@debuggable.com", + "url": "http://debuggable.com/" + }, + "bugs": { + "url": "https://github.com/felixge/node-combined-stream/issues" + }, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "description": "A stream that emits multiple other streams one after another.", + "devDependencies": { + "far": "~0.0.7" + }, + "engines": { + "node": ">= 0.8" + }, + "homepage": "https://github.com/felixge/node-combined-stream", + "license": "MIT", + "main": "./lib/combined_stream", + "name": "combined-stream", + "repository": { + "type": "git", + "url": "git://github.com/felixge/node-combined-stream.git" + }, + "scripts": { + "test": "node test/run.js" + }, + "version": "1.0.8" +} diff --git a/node_modules/combined-stream/yarn.lock b/node_modules/combined-stream/yarn.lock new file mode 100644 index 0000000..7edf418 --- /dev/null +++ b/node_modules/combined-stream/yarn.lock @@ -0,0 +1,17 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + +far@~0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/far/-/far-0.0.7.tgz#01c1fd362bcd26ce9cf161af3938aa34619f79a7" + dependencies: + oop "0.0.3" + +oop@0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/oop/-/oop-0.0.3.tgz#70fa405a5650891a194fdc82ca68dad6dabf4401" diff --git a/node_modules/core-util-is/LICENSE b/node_modules/core-util-is/LICENSE new file mode 100644 index 0000000..d8d7f94 --- /dev/null +++ b/node_modules/core-util-is/LICENSE @@ -0,0 +1,19 @@ +Copyright Node.js contributors. All rights reserved. + +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. diff --git a/node_modules/core-util-is/README.md b/node_modules/core-util-is/README.md new file mode 100644 index 0000000..5a76b41 --- /dev/null +++ b/node_modules/core-util-is/README.md @@ -0,0 +1,3 @@ +# core-util-is + +The `util.is*` functions introduced in Node v0.12. diff --git a/node_modules/core-util-is/float.patch b/node_modules/core-util-is/float.patch new file mode 100644 index 0000000..a06d5c0 --- /dev/null +++ b/node_modules/core-util-is/float.patch @@ -0,0 +1,604 @@ +diff --git a/lib/util.js b/lib/util.js +index a03e874..9074e8e 100644 +--- a/lib/util.js ++++ b/lib/util.js +@@ -19,430 +19,6 @@ + // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE + // USE OR OTHER DEALINGS IN THE SOFTWARE. + +-var formatRegExp = /%[sdj%]/g; +-exports.format = function(f) { +- if (!isString(f)) { +- var objects = []; +- for (var i = 0; i < arguments.length; i++) { +- objects.push(inspect(arguments[i])); +- } +- return objects.join(' '); +- } +- +- var i = 1; +- var args = arguments; +- var len = args.length; +- var str = String(f).replace(formatRegExp, function(x) { +- if (x === '%%') return '%'; +- if (i >= len) return x; +- switch (x) { +- case '%s': return String(args[i++]); +- case '%d': return Number(args[i++]); +- case '%j': +- try { +- return JSON.stringify(args[i++]); +- } catch (_) { +- return '[Circular]'; +- } +- default: +- return x; +- } +- }); +- for (var x = args[i]; i < len; x = args[++i]) { +- if (isNull(x) || !isObject(x)) { +- str += ' ' + x; +- } else { +- str += ' ' + inspect(x); +- } +- } +- return str; +-}; +- +- +-// Mark that a method should not be used. +-// Returns a modified function which warns once by default. +-// If --no-deprecation is set, then it is a no-op. +-exports.deprecate = function(fn, msg) { +- // Allow for deprecating things in the process of starting up. +- if (isUndefined(global.process)) { +- return function() { +- return exports.deprecate(fn, msg).apply(this, arguments); +- }; +- } +- +- if (process.noDeprecation === true) { +- return fn; +- } +- +- var warned = false; +- function deprecated() { +- if (!warned) { +- if (process.throwDeprecation) { +- throw new Error(msg); +- } else if (process.traceDeprecation) { +- console.trace(msg); +- } else { +- console.error(msg); +- } +- warned = true; +- } +- return fn.apply(this, arguments); +- } +- +- return deprecated; +-}; +- +- +-var debugs = {}; +-var debugEnviron; +-exports.debuglog = function(set) { +- if (isUndefined(debugEnviron)) +- debugEnviron = process.env.NODE_DEBUG || ''; +- set = set.toUpperCase(); +- if (!debugs[set]) { +- if (new RegExp('\\b' + set + '\\b', 'i').test(debugEnviron)) { +- var pid = process.pid; +- debugs[set] = function() { +- var msg = exports.format.apply(exports, arguments); +- console.error('%s %d: %s', set, pid, msg); +- }; +- } else { +- debugs[set] = function() {}; +- } +- } +- return debugs[set]; +-}; +- +- +-/** +- * Echos the value of a value. Trys to print the value out +- * in the best way possible given the different types. +- * +- * @param {Object} obj The object to print out. +- * @param {Object} opts Optional options object that alters the output. +- */ +-/* legacy: obj, showHidden, depth, colors*/ +-function inspect(obj, opts) { +- // default options +- var ctx = { +- seen: [], +- stylize: stylizeNoColor +- }; +- // legacy... +- if (arguments.length >= 3) ctx.depth = arguments[2]; +- if (arguments.length >= 4) ctx.colors = arguments[3]; +- if (isBoolean(opts)) { +- // legacy... +- ctx.showHidden = opts; +- } else if (opts) { +- // got an "options" object +- exports._extend(ctx, opts); +- } +- // set default options +- if (isUndefined(ctx.showHidden)) ctx.showHidden = false; +- if (isUndefined(ctx.depth)) ctx.depth = 2; +- if (isUndefined(ctx.colors)) ctx.colors = false; +- if (isUndefined(ctx.customInspect)) ctx.customInspect = true; +- if (ctx.colors) ctx.stylize = stylizeWithColor; +- return formatValue(ctx, obj, ctx.depth); +-} +-exports.inspect = inspect; +- +- +-// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics +-inspect.colors = { +- 'bold' : [1, 22], +- 'italic' : [3, 23], +- 'underline' : [4, 24], +- 'inverse' : [7, 27], +- 'white' : [37, 39], +- 'grey' : [90, 39], +- 'black' : [30, 39], +- 'blue' : [34, 39], +- 'cyan' : [36, 39], +- 'green' : [32, 39], +- 'magenta' : [35, 39], +- 'red' : [31, 39], +- 'yellow' : [33, 39] +-}; +- +-// Don't use 'blue' not visible on cmd.exe +-inspect.styles = { +- 'special': 'cyan', +- 'number': 'yellow', +- 'boolean': 'yellow', +- 'undefined': 'grey', +- 'null': 'bold', +- 'string': 'green', +- 'date': 'magenta', +- // "name": intentionally not styling +- 'regexp': 'red' +-}; +- +- +-function stylizeWithColor(str, styleType) { +- var style = inspect.styles[styleType]; +- +- if (style) { +- return '\u001b[' + inspect.colors[style][0] + 'm' + str + +- '\u001b[' + inspect.colors[style][1] + 'm'; +- } else { +- return str; +- } +-} +- +- +-function stylizeNoColor(str, styleType) { +- return str; +-} +- +- +-function arrayToHash(array) { +- var hash = {}; +- +- array.forEach(function(val, idx) { +- hash[val] = true; +- }); +- +- return hash; +-} +- +- +-function formatValue(ctx, value, recurseTimes) { +- // Provide a hook for user-specified inspect functions. +- // Check that value is an object with an inspect function on it +- if (ctx.customInspect && +- value && +- isFunction(value.inspect) && +- // Filter out the util module, it's inspect function is special +- value.inspect !== exports.inspect && +- // Also filter out any prototype objects using the circular check. +- !(value.constructor && value.constructor.prototype === value)) { +- var ret = value.inspect(recurseTimes, ctx); +- if (!isString(ret)) { +- ret = formatValue(ctx, ret, recurseTimes); +- } +- return ret; +- } +- +- // Primitive types cannot have properties +- var primitive = formatPrimitive(ctx, value); +- if (primitive) { +- return primitive; +- } +- +- // Look up the keys of the object. +- var keys = Object.keys(value); +- var visibleKeys = arrayToHash(keys); +- +- if (ctx.showHidden) { +- keys = Object.getOwnPropertyNames(value); +- } +- +- // Some type of object without properties can be shortcutted. +- if (keys.length === 0) { +- if (isFunction(value)) { +- var name = value.name ? ': ' + value.name : ''; +- return ctx.stylize('[Function' + name + ']', 'special'); +- } +- if (isRegExp(value)) { +- return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp'); +- } +- if (isDate(value)) { +- return ctx.stylize(Date.prototype.toString.call(value), 'date'); +- } +- if (isError(value)) { +- return formatError(value); +- } +- } +- +- var base = '', array = false, braces = ['{', '}']; +- +- // Make Array say that they are Array +- if (isArray(value)) { +- array = true; +- braces = ['[', ']']; +- } +- +- // Make functions say that they are functions +- if (isFunction(value)) { +- var n = value.name ? ': ' + value.name : ''; +- base = ' [Function' + n + ']'; +- } +- +- // Make RegExps say that they are RegExps +- if (isRegExp(value)) { +- base = ' ' + RegExp.prototype.toString.call(value); +- } +- +- // Make dates with properties first say the date +- if (isDate(value)) { +- base = ' ' + Date.prototype.toUTCString.call(value); +- } +- +- // Make error with message first say the error +- if (isError(value)) { +- base = ' ' + formatError(value); +- } +- +- if (keys.length === 0 && (!array || value.length == 0)) { +- return braces[0] + base + braces[1]; +- } +- +- if (recurseTimes < 0) { +- if (isRegExp(value)) { +- return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp'); +- } else { +- return ctx.stylize('[Object]', 'special'); +- } +- } +- +- ctx.seen.push(value); +- +- var output; +- if (array) { +- output = formatArray(ctx, value, recurseTimes, visibleKeys, keys); +- } else { +- output = keys.map(function(key) { +- return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array); +- }); +- } +- +- ctx.seen.pop(); +- +- return reduceToSingleString(output, base, braces); +-} +- +- +-function formatPrimitive(ctx, value) { +- if (isUndefined(value)) +- return ctx.stylize('undefined', 'undefined'); +- if (isString(value)) { +- var simple = '\'' + JSON.stringify(value).replace(/^"|"$/g, '') +- .replace(/'/g, "\\'") +- .replace(/\\"/g, '"') + '\''; +- return ctx.stylize(simple, 'string'); +- } +- if (isNumber(value)) { +- // Format -0 as '-0'. Strict equality won't distinguish 0 from -0, +- // so instead we use the fact that 1 / -0 < 0 whereas 1 / 0 > 0 . +- if (value === 0 && 1 / value < 0) +- return ctx.stylize('-0', 'number'); +- return ctx.stylize('' + value, 'number'); +- } +- if (isBoolean(value)) +- return ctx.stylize('' + value, 'boolean'); +- // For some reason typeof null is "object", so special case here. +- if (isNull(value)) +- return ctx.stylize('null', 'null'); +-} +- +- +-function formatError(value) { +- return '[' + Error.prototype.toString.call(value) + ']'; +-} +- +- +-function formatArray(ctx, value, recurseTimes, visibleKeys, keys) { +- var output = []; +- for (var i = 0, l = value.length; i < l; ++i) { +- if (hasOwnProperty(value, String(i))) { +- output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, +- String(i), true)); +- } else { +- output.push(''); +- } +- } +- keys.forEach(function(key) { +- if (!key.match(/^\d+$/)) { +- output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, +- key, true)); +- } +- }); +- return output; +-} +- +- +-function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) { +- var name, str, desc; +- desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] }; +- if (desc.get) { +- if (desc.set) { +- str = ctx.stylize('[Getter/Setter]', 'special'); +- } else { +- str = ctx.stylize('[Getter]', 'special'); +- } +- } else { +- if (desc.set) { +- str = ctx.stylize('[Setter]', 'special'); +- } +- } +- if (!hasOwnProperty(visibleKeys, key)) { +- name = '[' + key + ']'; +- } +- if (!str) { +- if (ctx.seen.indexOf(desc.value) < 0) { +- if (isNull(recurseTimes)) { +- str = formatValue(ctx, desc.value, null); +- } else { +- str = formatValue(ctx, desc.value, recurseTimes - 1); +- } +- if (str.indexOf('\n') > -1) { +- if (array) { +- str = str.split('\n').map(function(line) { +- return ' ' + line; +- }).join('\n').substr(2); +- } else { +- str = '\n' + str.split('\n').map(function(line) { +- return ' ' + line; +- }).join('\n'); +- } +- } +- } else { +- str = ctx.stylize('[Circular]', 'special'); +- } +- } +- if (isUndefined(name)) { +- if (array && key.match(/^\d+$/)) { +- return str; +- } +- name = JSON.stringify('' + key); +- if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) { +- name = name.substr(1, name.length - 2); +- name = ctx.stylize(name, 'name'); +- } else { +- name = name.replace(/'/g, "\\'") +- .replace(/\\"/g, '"') +- .replace(/(^"|"$)/g, "'"); +- name = ctx.stylize(name, 'string'); +- } +- } +- +- return name + ': ' + str; +-} +- +- +-function reduceToSingleString(output, base, braces) { +- var numLinesEst = 0; +- var length = output.reduce(function(prev, cur) { +- numLinesEst++; +- if (cur.indexOf('\n') >= 0) numLinesEst++; +- return prev + cur.replace(/\u001b\[\d\d?m/g, '').length + 1; +- }, 0); +- +- if (length > 60) { +- return braces[0] + +- (base === '' ? '' : base + '\n ') + +- ' ' + +- output.join(',\n ') + +- ' ' + +- braces[1]; +- } +- +- return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1]; +-} +- +- + // NOTE: These type checking functions intentionally don't use `instanceof` + // because it is fragile and can be easily faked with `Object.create()`. + function isArray(ar) { +@@ -522,166 +98,10 @@ function isPrimitive(arg) { + exports.isPrimitive = isPrimitive; + + function isBuffer(arg) { +- return arg instanceof Buffer; ++ return Buffer.isBuffer(arg); + } + exports.isBuffer = isBuffer; + + function objectToString(o) { + return Object.prototype.toString.call(o); +-} +- +- +-function pad(n) { +- return n < 10 ? '0' + n.toString(10) : n.toString(10); +-} +- +- +-var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', +- 'Oct', 'Nov', 'Dec']; +- +-// 26 Feb 16:19:34 +-function timestamp() { +- var d = new Date(); +- var time = [pad(d.getHours()), +- pad(d.getMinutes()), +- pad(d.getSeconds())].join(':'); +- return [d.getDate(), months[d.getMonth()], time].join(' '); +-} +- +- +-// log is just a thin wrapper to console.log that prepends a timestamp +-exports.log = function() { +- console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments)); +-}; +- +- +-/** +- * Inherit the prototype methods from one constructor into another. +- * +- * The Function.prototype.inherits from lang.js rewritten as a standalone +- * function (not on Function.prototype). NOTE: If this file is to be loaded +- * during bootstrapping this function needs to be rewritten using some native +- * functions as prototype setup using normal JavaScript does not work as +- * expected during bootstrapping (see mirror.js in r114903). +- * +- * @param {function} ctor Constructor function which needs to inherit the +- * prototype. +- * @param {function} superCtor Constructor function to inherit prototype from. +- */ +-exports.inherits = function(ctor, superCtor) { +- ctor.super_ = superCtor; +- ctor.prototype = Object.create(superCtor.prototype, { +- constructor: { +- value: ctor, +- enumerable: false, +- writable: true, +- configurable: true +- } +- }); +-}; +- +-exports._extend = function(origin, add) { +- // Don't do anything if add isn't an object +- if (!add || !isObject(add)) return origin; +- +- var keys = Object.keys(add); +- var i = keys.length; +- while (i--) { +- origin[keys[i]] = add[keys[i]]; +- } +- return origin; +-}; +- +-function hasOwnProperty(obj, prop) { +- return Object.prototype.hasOwnProperty.call(obj, prop); +-} +- +- +-// Deprecated old stuff. +- +-exports.p = exports.deprecate(function() { +- for (var i = 0, len = arguments.length; i < len; ++i) { +- console.error(exports.inspect(arguments[i])); +- } +-}, 'util.p: Use console.error() instead'); +- +- +-exports.exec = exports.deprecate(function() { +- return require('child_process').exec.apply(this, arguments); +-}, 'util.exec is now called `child_process.exec`.'); +- +- +-exports.print = exports.deprecate(function() { +- for (var i = 0, len = arguments.length; i < len; ++i) { +- process.stdout.write(String(arguments[i])); +- } +-}, 'util.print: Use console.log instead'); +- +- +-exports.puts = exports.deprecate(function() { +- for (var i = 0, len = arguments.length; i < len; ++i) { +- process.stdout.write(arguments[i] + '\n'); +- } +-}, 'util.puts: Use console.log instead'); +- +- +-exports.debug = exports.deprecate(function(x) { +- process.stderr.write('DEBUG: ' + x + '\n'); +-}, 'util.debug: Use console.error instead'); +- +- +-exports.error = exports.deprecate(function(x) { +- for (var i = 0, len = arguments.length; i < len; ++i) { +- process.stderr.write(arguments[i] + '\n'); +- } +-}, 'util.error: Use console.error instead'); +- +- +-exports.pump = exports.deprecate(function(readStream, writeStream, callback) { +- var callbackCalled = false; +- +- function call(a, b, c) { +- if (callback && !callbackCalled) { +- callback(a, b, c); +- callbackCalled = true; +- } +- } +- +- readStream.addListener('data', function(chunk) { +- if (writeStream.write(chunk) === false) readStream.pause(); +- }); +- +- writeStream.addListener('drain', function() { +- readStream.resume(); +- }); +- +- readStream.addListener('end', function() { +- writeStream.end(); +- }); +- +- readStream.addListener('close', function() { +- call(); +- }); +- +- readStream.addListener('error', function(err) { +- writeStream.end(); +- call(err); +- }); +- +- writeStream.addListener('error', function(err) { +- readStream.destroy(); +- call(err); +- }); +-}, 'util.pump(): Use readableStream.pipe() instead'); +- +- +-var uv; +-exports._errnoException = function(err, syscall) { +- if (isUndefined(uv)) uv = process.binding('uv'); +- var errname = uv.errname(err); +- var e = new Error(syscall + ' ' + errname); +- e.code = errname; +- e.errno = errname; +- e.syscall = syscall; +- return e; +-}; ++} \ No newline at end of file diff --git a/node_modules/core-util-is/lib/util.js b/node_modules/core-util-is/lib/util.js new file mode 100644 index 0000000..ff4c851 --- /dev/null +++ b/node_modules/core-util-is/lib/util.js @@ -0,0 +1,107 @@ +// Copyright Joyent, Inc. and other Node 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. + +// NOTE: These type checking functions intentionally don't use `instanceof` +// because it is fragile and can be easily faked with `Object.create()`. + +function isArray(arg) { + if (Array.isArray) { + return Array.isArray(arg); + } + return objectToString(arg) === '[object Array]'; +} +exports.isArray = isArray; + +function isBoolean(arg) { + return typeof arg === 'boolean'; +} +exports.isBoolean = isBoolean; + +function isNull(arg) { + return arg === null; +} +exports.isNull = isNull; + +function isNullOrUndefined(arg) { + return arg == null; +} +exports.isNullOrUndefined = isNullOrUndefined; + +function isNumber(arg) { + return typeof arg === 'number'; +} +exports.isNumber = isNumber; + +function isString(arg) { + return typeof arg === 'string'; +} +exports.isString = isString; + +function isSymbol(arg) { + return typeof arg === 'symbol'; +} +exports.isSymbol = isSymbol; + +function isUndefined(arg) { + return arg === void 0; +} +exports.isUndefined = isUndefined; + +function isRegExp(re) { + return objectToString(re) === '[object RegExp]'; +} +exports.isRegExp = isRegExp; + +function isObject(arg) { + return typeof arg === 'object' && arg !== null; +} +exports.isObject = isObject; + +function isDate(d) { + return objectToString(d) === '[object Date]'; +} +exports.isDate = isDate; + +function isError(e) { + return (objectToString(e) === '[object Error]' || e instanceof Error); +} +exports.isError = isError; + +function isFunction(arg) { + return typeof arg === 'function'; +} +exports.isFunction = isFunction; + +function isPrimitive(arg) { + return arg === null || + typeof arg === 'boolean' || + typeof arg === 'number' || + typeof arg === 'string' || + typeof arg === 'symbol' || // ES6 symbol + typeof arg === 'undefined'; +} +exports.isPrimitive = isPrimitive; + +exports.isBuffer = Buffer.isBuffer; + +function objectToString(o) { + return Object.prototype.toString.call(o); +} diff --git a/node_modules/core-util-is/package.json b/node_modules/core-util-is/package.json new file mode 100644 index 0000000..21a9fa5 --- /dev/null +++ b/node_modules/core-util-is/package.json @@ -0,0 +1,65 @@ +{ + "_args": [ + [ + "core-util-is@1.0.2", + "/Users/1112456/github/jenkins-action" + ] + ], + "_from": "core-util-is@1.0.2", + "_id": "core-util-is@1.0.2", + "_inBundle": false, + "_integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "_location": "/core-util-is", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "core-util-is@1.0.2", + "name": "core-util-is", + "escapedName": "core-util-is", + "rawSpec": "1.0.2", + "saveSpec": null, + "fetchSpec": "1.0.2" + }, + "_requiredBy": [ + "/verror" + ], + "_resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "_spec": "1.0.2", + "_where": "/Users/1112456/github/jenkins-action", + "author": { + "name": "Isaac Z. Schlueter", + "email": "i@izs.me", + "url": "http://blog.izs.me/" + }, + "bugs": { + "url": "https://github.com/isaacs/core-util-is/issues" + }, + "description": "The `util.is*` functions introduced in Node v0.12.", + "devDependencies": { + "tap": "^2.3.0" + }, + "homepage": "https://github.com/isaacs/core-util-is#readme", + "keywords": [ + "util", + "isBuffer", + "isArray", + "isNumber", + "isString", + "isRegExp", + "isThis", + "isThat", + "polyfill" + ], + "license": "MIT", + "main": "lib/util.js", + "name": "core-util-is", + "repository": { + "type": "git", + "url": "git://github.com/isaacs/core-util-is.git" + }, + "scripts": { + "test": "tap test.js" + }, + "version": "1.0.2" +} diff --git a/node_modules/core-util-is/test.js b/node_modules/core-util-is/test.js new file mode 100644 index 0000000..1a490c6 --- /dev/null +++ b/node_modules/core-util-is/test.js @@ -0,0 +1,68 @@ +var assert = require('tap'); + +var t = require('./lib/util'); + +assert.equal(t.isArray([]), true); +assert.equal(t.isArray({}), false); + +assert.equal(t.isBoolean(null), false); +assert.equal(t.isBoolean(true), true); +assert.equal(t.isBoolean(false), true); + +assert.equal(t.isNull(null), true); +assert.equal(t.isNull(undefined), false); +assert.equal(t.isNull(false), false); +assert.equal(t.isNull(), false); + +assert.equal(t.isNullOrUndefined(null), true); +assert.equal(t.isNullOrUndefined(undefined), true); +assert.equal(t.isNullOrUndefined(false), false); +assert.equal(t.isNullOrUndefined(), true); + +assert.equal(t.isNumber(null), false); +assert.equal(t.isNumber('1'), false); +assert.equal(t.isNumber(1), true); + +assert.equal(t.isString(null), false); +assert.equal(t.isString('1'), true); +assert.equal(t.isString(1), false); + +assert.equal(t.isSymbol(null), false); +assert.equal(t.isSymbol('1'), false); +assert.equal(t.isSymbol(1), false); +assert.equal(t.isSymbol(Symbol()), true); + +assert.equal(t.isUndefined(null), false); +assert.equal(t.isUndefined(undefined), true); +assert.equal(t.isUndefined(false), false); +assert.equal(t.isUndefined(), true); + +assert.equal(t.isRegExp(null), false); +assert.equal(t.isRegExp('1'), false); +assert.equal(t.isRegExp(new RegExp()), true); + +assert.equal(t.isObject({}), true); +assert.equal(t.isObject([]), true); +assert.equal(t.isObject(new RegExp()), true); +assert.equal(t.isObject(new Date()), true); + +assert.equal(t.isDate(null), false); +assert.equal(t.isDate('1'), false); +assert.equal(t.isDate(new Date()), true); + +assert.equal(t.isError(null), false); +assert.equal(t.isError({ err: true }), false); +assert.equal(t.isError(new Error()), true); + +assert.equal(t.isFunction(null), false); +assert.equal(t.isFunction({ }), false); +assert.equal(t.isFunction(function() {}), true); + +assert.equal(t.isPrimitive(null), true); +assert.equal(t.isPrimitive(''), true); +assert.equal(t.isPrimitive(0), true); +assert.equal(t.isPrimitive(new Date()), false); + +assert.equal(t.isBuffer(null), false); +assert.equal(t.isBuffer({}), false); +assert.equal(t.isBuffer(new Buffer(0)), true); diff --git a/node_modules/cross-spawn/CHANGELOG.md b/node_modules/cross-spawn/CHANGELOG.md new file mode 100644 index 0000000..ded9620 --- /dev/null +++ b/node_modules/cross-spawn/CHANGELOG.md @@ -0,0 +1,100 @@ +# Change Log + +All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. + + +## [6.0.5](https://github.com/moxystudio/node-cross-spawn/compare/v6.0.4...v6.0.5) (2018-03-02) + + +### Bug Fixes + +* avoid using deprecated Buffer constructor ([#94](https://github.com/moxystudio/node-cross-spawn/issues/94)) ([d5770df](https://github.com/moxystudio/node-cross-spawn/commit/d5770df)), closes [/nodejs.org/api/deprecations.html#deprecations_dep0005](https://github.com//nodejs.org/api/deprecations.html/issues/deprecations_dep0005) + + + + +## [6.0.4](https://github.com/moxystudio/node-cross-spawn/compare/v6.0.3...v6.0.4) (2018-01-31) + + +### Bug Fixes + +* fix paths being incorrectly normalized on unix ([06ee3c6](https://github.com/moxystudio/node-cross-spawn/commit/06ee3c6)), closes [#90](https://github.com/moxystudio/node-cross-spawn/issues/90) + + + + +## [6.0.3](https://github.com/moxystudio/node-cross-spawn/compare/v6.0.2...v6.0.3) (2018-01-23) + + + + +## [6.0.2](https://github.com/moxystudio/node-cross-spawn/compare/v6.0.1...v6.0.2) (2018-01-23) + + + + +## [6.0.1](https://github.com/moxystudio/node-cross-spawn/compare/v6.0.0...v6.0.1) (2018-01-23) + + + + +# [6.0.0](https://github.com/moxystudio/node-cross-spawn/compare/5.1.0...6.0.0) (2018-01-23) + + +### Bug Fixes + +* fix certain arguments not being correctly escaped or causing batch syntax error ([900cf10](https://github.com/moxystudio/node-cross-spawn/commit/900cf10)), closes [#82](https://github.com/moxystudio/node-cross-spawn/issues/82) [#51](https://github.com/moxystudio/node-cross-spawn/issues/51) +* fix commands as posix relatixe paths not working correctly, e.g.: `./my-command` ([900cf10](https://github.com/moxystudio/node-cross-spawn/commit/900cf10)) +* fix `options` argument being mutated ([900cf10](https://github.com/moxystudio/node-cross-spawn/commit/900cf10)) +* fix commands resolution when PATH was actually Path ([900cf10](https://github.com/moxystudio/node-cross-spawn/commit/900cf10)) + + +### Features + +* improve compliance with node's ENOENT errors ([900cf10](https://github.com/moxystudio/node-cross-spawn/commit/900cf10)) +* improve detection of node's shell option support ([900cf10](https://github.com/moxystudio/node-cross-spawn/commit/900cf10)) + + +### Chores + +* upgrade tooling +* upgrate project to es6 (node v4) + + +### BREAKING CHANGES + +* remove support for older nodejs versions, only `node >= 4` is supported + + + +## [5.1.0](https://github.com/moxystudio/node-cross-spawn/compare/5.0.1...5.1.0) (2017-02-26) + + +### Bug Fixes + +* fix `options.shell` support for NodeJS [v4.8](https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V4.md#4.8.0) + + + +## [5.0.1](https://github.com/moxystudio/node-cross-spawn/compare/5.0.0...5.0.1) (2016-11-04) + + +### Bug Fixes + +* fix `options.shell` support for NodeJS v7 + + + +# [5.0.0](https://github.com/moxystudio/node-cross-spawn/compare/4.0.2...5.0.0) (2016-10-30) + + +## Features + +* add support for `options.shell` +* improve parsing of shebangs by using [`shebang-command`](https://github.com/kevva/shebang-command) module + + +## Chores + +* refactor some code to make it more clear +* update README caveats diff --git a/node_modules/cross-spawn/LICENSE b/node_modules/cross-spawn/LICENSE new file mode 100644 index 0000000..8407b9a --- /dev/null +++ b/node_modules/cross-spawn/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2018 Made With MOXY Lda + +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. diff --git a/node_modules/cross-spawn/README.md b/node_modules/cross-spawn/README.md new file mode 100644 index 0000000..e895cd7 --- /dev/null +++ b/node_modules/cross-spawn/README.md @@ -0,0 +1,94 @@ +# cross-spawn + +[![NPM version][npm-image]][npm-url] [![Downloads][downloads-image]][npm-url] [![Build Status][travis-image]][travis-url] [![Build status][appveyor-image]][appveyor-url] [![Coverage Status][codecov-image]][codecov-url] [![Dependency status][david-dm-image]][david-dm-url] [![Dev Dependency status][david-dm-dev-image]][david-dm-dev-url] [![Greenkeeper badge][greenkeeper-image]][greenkeeper-url] + +[npm-url]:https://npmjs.org/package/cross-spawn +[downloads-image]:http://img.shields.io/npm/dm/cross-spawn.svg +[npm-image]:http://img.shields.io/npm/v/cross-spawn.svg +[travis-url]:https://travis-ci.org/moxystudio/node-cross-spawn +[travis-image]:http://img.shields.io/travis/moxystudio/node-cross-spawn/master.svg +[appveyor-url]:https://ci.appveyor.com/project/satazor/node-cross-spawn +[appveyor-image]:https://img.shields.io/appveyor/ci/satazor/node-cross-spawn/master.svg +[codecov-url]:https://codecov.io/gh/moxystudio/node-cross-spawn +[codecov-image]:https://img.shields.io/codecov/c/github/moxystudio/node-cross-spawn/master.svg +[david-dm-url]:https://david-dm.org/moxystudio/node-cross-spawn +[david-dm-image]:https://img.shields.io/david/moxystudio/node-cross-spawn.svg +[david-dm-dev-url]:https://david-dm.org/moxystudio/node-cross-spawn?type=dev +[david-dm-dev-image]:https://img.shields.io/david/dev/moxystudio/node-cross-spawn.svg +[greenkeeper-image]:https://badges.greenkeeper.io/moxystudio/node-cross-spawn.svg +[greenkeeper-url]:https://greenkeeper.io/ + +A cross platform solution to node's spawn and spawnSync. + + +## Installation + +`$ npm install cross-spawn` + + +## Why + +Node has issues when using spawn on Windows: + +- It ignores [PATHEXT](https://github.com/joyent/node/issues/2318) +- It does not support [shebangs](https://en.wikipedia.org/wiki/Shebang_(Unix)) +- Has problems running commands with [spaces](https://github.com/nodejs/node/issues/7367) +- Has problems running commands with posix relative paths (e.g.: `./my-folder/my-executable`) +- Has an [issue](https://github.com/moxystudio/node-cross-spawn/issues/82) with command shims (files in `node_modules/.bin/`), where arguments with quotes and parenthesis would result in [invalid syntax error](https://github.com/moxystudio/node-cross-spawn/blob/e77b8f22a416db46b6196767bcd35601d7e11d54/test/index.test.js#L149) +- No `options.shell` support on node `` where `` must not contain any arguments. +If you would like to have the shebang support improved, feel free to contribute via a pull-request. + +Remember to always test your code on Windows! + + +## Tests + +`$ npm test` +`$ npm test -- --watch` during development + +## License + +Released under the [MIT License](http://www.opensource.org/licenses/mit-license.php). diff --git a/node_modules/cross-spawn/index.js b/node_modules/cross-spawn/index.js new file mode 100644 index 0000000..5509742 --- /dev/null +++ b/node_modules/cross-spawn/index.js @@ -0,0 +1,39 @@ +'use strict'; + +const cp = require('child_process'); +const parse = require('./lib/parse'); +const enoent = require('./lib/enoent'); + +function spawn(command, args, options) { + // Parse the arguments + const parsed = parse(command, args, options); + + // Spawn the child process + const spawned = cp.spawn(parsed.command, parsed.args, parsed.options); + + // Hook into child process "exit" event to emit an error if the command + // does not exists, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16 + enoent.hookChildProcess(spawned, parsed); + + return spawned; +} + +function spawnSync(command, args, options) { + // Parse the arguments + const parsed = parse(command, args, options); + + // Spawn the child process + const result = cp.spawnSync(parsed.command, parsed.args, parsed.options); + + // Analyze if the command does not exist, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16 + result.error = result.error || enoent.verifyENOENTSync(result.status, parsed); + + return result; +} + +module.exports = spawn; +module.exports.spawn = spawn; +module.exports.sync = spawnSync; + +module.exports._parse = parse; +module.exports._enoent = enoent; diff --git a/node_modules/cross-spawn/lib/enoent.js b/node_modules/cross-spawn/lib/enoent.js new file mode 100644 index 0000000..14df9b6 --- /dev/null +++ b/node_modules/cross-spawn/lib/enoent.js @@ -0,0 +1,59 @@ +'use strict'; + +const isWin = process.platform === 'win32'; + +function notFoundError(original, syscall) { + return Object.assign(new Error(`${syscall} ${original.command} ENOENT`), { + code: 'ENOENT', + errno: 'ENOENT', + syscall: `${syscall} ${original.command}`, + path: original.command, + spawnargs: original.args, + }); +} + +function hookChildProcess(cp, parsed) { + if (!isWin) { + return; + } + + const originalEmit = cp.emit; + + cp.emit = function (name, arg1) { + // If emitting "exit" event and exit code is 1, we need to check if + // the command exists and emit an "error" instead + // See https://github.com/IndigoUnited/node-cross-spawn/issues/16 + if (name === 'exit') { + const err = verifyENOENT(arg1, parsed, 'spawn'); + + if (err) { + return originalEmit.call(cp, 'error', err); + } + } + + return originalEmit.apply(cp, arguments); // eslint-disable-line prefer-rest-params + }; +} + +function verifyENOENT(status, parsed) { + if (isWin && status === 1 && !parsed.file) { + return notFoundError(parsed.original, 'spawn'); + } + + return null; +} + +function verifyENOENTSync(status, parsed) { + if (isWin && status === 1 && !parsed.file) { + return notFoundError(parsed.original, 'spawnSync'); + } + + return null; +} + +module.exports = { + hookChildProcess, + verifyENOENT, + verifyENOENTSync, + notFoundError, +}; diff --git a/node_modules/cross-spawn/lib/parse.js b/node_modules/cross-spawn/lib/parse.js new file mode 100644 index 0000000..962827a --- /dev/null +++ b/node_modules/cross-spawn/lib/parse.js @@ -0,0 +1,125 @@ +'use strict'; + +const path = require('path'); +const niceTry = require('nice-try'); +const resolveCommand = require('./util/resolveCommand'); +const escape = require('./util/escape'); +const readShebang = require('./util/readShebang'); +const semver = require('semver'); + +const isWin = process.platform === 'win32'; +const isExecutableRegExp = /\.(?:com|exe)$/i; +const isCmdShimRegExp = /node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i; + +// `options.shell` is supported in Node ^4.8.0, ^5.7.0 and >= 6.0.0 +const supportsShellOption = niceTry(() => semver.satisfies(process.version, '^4.8.0 || ^5.7.0 || >= 6.0.0', true)) || false; + +function detectShebang(parsed) { + parsed.file = resolveCommand(parsed); + + const shebang = parsed.file && readShebang(parsed.file); + + if (shebang) { + parsed.args.unshift(parsed.file); + parsed.command = shebang; + + return resolveCommand(parsed); + } + + return parsed.file; +} + +function parseNonShell(parsed) { + if (!isWin) { + return parsed; + } + + // Detect & add support for shebangs + const commandFile = detectShebang(parsed); + + // We don't need a shell if the command filename is an executable + const needsShell = !isExecutableRegExp.test(commandFile); + + // If a shell is required, use cmd.exe and take care of escaping everything correctly + // Note that `forceShell` is an hidden option used only in tests + if (parsed.options.forceShell || needsShell) { + // Need to double escape meta chars if the command is a cmd-shim located in `node_modules/.bin/` + // The cmd-shim simply calls execute the package bin file with NodeJS, proxying any argument + // Because the escape of metachars with ^ gets interpreted when the cmd.exe is first called, + // we need to double escape them + const needsDoubleEscapeMetaChars = isCmdShimRegExp.test(commandFile); + + // Normalize posix paths into OS compatible paths (e.g.: foo/bar -> foo\bar) + // This is necessary otherwise it will always fail with ENOENT in those cases + parsed.command = path.normalize(parsed.command); + + // Escape command & arguments + parsed.command = escape.command(parsed.command); + parsed.args = parsed.args.map((arg) => escape.argument(arg, needsDoubleEscapeMetaChars)); + + const shellCommand = [parsed.command].concat(parsed.args).join(' '); + + parsed.args = ['/d', '/s', '/c', `"${shellCommand}"`]; + parsed.command = process.env.comspec || 'cmd.exe'; + parsed.options.windowsVerbatimArguments = true; // Tell node's spawn that the arguments are already escaped + } + + return parsed; +} + +function parseShell(parsed) { + // If node supports the shell option, there's no need to mimic its behavior + if (supportsShellOption) { + return parsed; + } + + // Mimic node shell option + // See https://github.com/nodejs/node/blob/b9f6a2dc059a1062776133f3d4fd848c4da7d150/lib/child_process.js#L335 + const shellCommand = [parsed.command].concat(parsed.args).join(' '); + + if (isWin) { + parsed.command = typeof parsed.options.shell === 'string' ? parsed.options.shell : process.env.comspec || 'cmd.exe'; + parsed.args = ['/d', '/s', '/c', `"${shellCommand}"`]; + parsed.options.windowsVerbatimArguments = true; // Tell node's spawn that the arguments are already escaped + } else { + if (typeof parsed.options.shell === 'string') { + parsed.command = parsed.options.shell; + } else if (process.platform === 'android') { + parsed.command = '/system/bin/sh'; + } else { + parsed.command = '/bin/sh'; + } + + parsed.args = ['-c', shellCommand]; + } + + return parsed; +} + +function parse(command, args, options) { + // Normalize arguments, similar to nodejs + if (args && !Array.isArray(args)) { + options = args; + args = null; + } + + args = args ? args.slice(0) : []; // Clone array to avoid changing the original + options = Object.assign({}, options); // Clone object to avoid changing the original + + // Build our parsed object + const parsed = { + command, + args, + options, + file: undefined, + original: { + command, + args, + }, + }; + + // Delegate further parsing to shell or non-shell + return options.shell ? parseShell(parsed) : parseNonShell(parsed); +} + +module.exports = parse; diff --git a/node_modules/cross-spawn/lib/util/escape.js b/node_modules/cross-spawn/lib/util/escape.js new file mode 100644 index 0000000..b0bb84c --- /dev/null +++ b/node_modules/cross-spawn/lib/util/escape.js @@ -0,0 +1,45 @@ +'use strict'; + +// See http://www.robvanderwoude.com/escapechars.php +const metaCharsRegExp = /([()\][%!^"`<>&|;, *?])/g; + +function escapeCommand(arg) { + // Escape meta chars + arg = arg.replace(metaCharsRegExp, '^$1'); + + return arg; +} + +function escapeArgument(arg, doubleEscapeMetaChars) { + // Convert to string + arg = `${arg}`; + + // Algorithm below is based on https://qntm.org/cmd + + // Sequence of backslashes followed by a double quote: + // double up all the backslashes and escape the double quote + arg = arg.replace(/(\\*)"/g, '$1$1\\"'); + + // Sequence of backslashes followed by the end of the string + // (which will become a double quote later): + // double up all the backslashes + arg = arg.replace(/(\\*)$/, '$1$1'); + + // All other backslashes occur literally + + // Quote the whole thing: + arg = `"${arg}"`; + + // Escape meta chars + arg = arg.replace(metaCharsRegExp, '^$1'); + + // Double escape meta chars if necessary + if (doubleEscapeMetaChars) { + arg = arg.replace(metaCharsRegExp, '^$1'); + } + + return arg; +} + +module.exports.command = escapeCommand; +module.exports.argument = escapeArgument; diff --git a/node_modules/cross-spawn/lib/util/readShebang.js b/node_modules/cross-spawn/lib/util/readShebang.js new file mode 100644 index 0000000..bd4f128 --- /dev/null +++ b/node_modules/cross-spawn/lib/util/readShebang.js @@ -0,0 +1,32 @@ +'use strict'; + +const fs = require('fs'); +const shebangCommand = require('shebang-command'); + +function readShebang(command) { + // Read the first 150 bytes from the file + const size = 150; + let buffer; + + if (Buffer.alloc) { + // Node.js v4.5+ / v5.10+ + buffer = Buffer.alloc(size); + } else { + // Old Node.js API + buffer = new Buffer(size); + buffer.fill(0); // zero-fill + } + + let fd; + + try { + fd = fs.openSync(command, 'r'); + fs.readSync(fd, buffer, 0, size, 0); + fs.closeSync(fd); + } catch (e) { /* Empty */ } + + // Attempt to extract shebang (null is returned if not a shebang) + return shebangCommand(buffer.toString()); +} + +module.exports = readShebang; diff --git a/node_modules/cross-spawn/lib/util/resolveCommand.js b/node_modules/cross-spawn/lib/util/resolveCommand.js new file mode 100644 index 0000000..2fd5ad2 --- /dev/null +++ b/node_modules/cross-spawn/lib/util/resolveCommand.js @@ -0,0 +1,47 @@ +'use strict'; + +const path = require('path'); +const which = require('which'); +const pathKey = require('path-key')(); + +function resolveCommandAttempt(parsed, withoutPathExt) { + const cwd = process.cwd(); + const hasCustomCwd = parsed.options.cwd != null; + + // If a custom `cwd` was specified, we need to change the process cwd + // because `which` will do stat calls but does not support a custom cwd + if (hasCustomCwd) { + try { + process.chdir(parsed.options.cwd); + } catch (err) { + /* Empty */ + } + } + + let resolved; + + try { + resolved = which.sync(parsed.command, { + path: (parsed.options.env || process.env)[pathKey], + pathExt: withoutPathExt ? path.delimiter : undefined, + }); + } catch (e) { + /* Empty */ + } finally { + process.chdir(cwd); + } + + // If we successfully resolved, ensure that an absolute path is returned + // Note that when a custom `cwd` was used, we need to resolve to an absolute path based on it + if (resolved) { + resolved = path.resolve(hasCustomCwd ? parsed.options.cwd : '', resolved); + } + + return resolved; +} + +function resolveCommand(parsed) { + return resolveCommandAttempt(parsed) || resolveCommandAttempt(parsed, true); +} + +module.exports = resolveCommand; diff --git a/node_modules/cross-spawn/package.json b/node_modules/cross-spawn/package.json new file mode 100644 index 0000000..29f7285 --- /dev/null +++ b/node_modules/cross-spawn/package.json @@ -0,0 +1,110 @@ +{ + "_args": [ + [ + "cross-spawn@6.0.5", + "/Users/1112456/github/jenkins-action" + ] + ], + "_from": "cross-spawn@6.0.5", + "_id": "cross-spawn@6.0.5", + "_inBundle": false, + "_integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "_location": "/cross-spawn", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "cross-spawn@6.0.5", + "name": "cross-spawn", + "escapedName": "cross-spawn", + "rawSpec": "6.0.5", + "saveSpec": null, + "fetchSpec": "6.0.5" + }, + "_requiredBy": [ + "/execa" + ], + "_resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "_spec": "6.0.5", + "_where": "/Users/1112456/github/jenkins-action", + "author": { + "name": "André Cruz", + "email": "andre@moxy.studio" + }, + "bugs": { + "url": "https://github.com/moxystudio/node-cross-spawn/issues" + }, + "commitlint": { + "extends": [ + "@commitlint/config-conventional" + ] + }, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "description": "Cross platform child_process#spawn and child_process#spawnSync", + "devDependencies": { + "@commitlint/cli": "^6.0.0", + "@commitlint/config-conventional": "^6.0.2", + "babel-core": "^6.26.0", + "babel-jest": "^22.1.0", + "babel-preset-moxy": "^2.2.1", + "eslint": "^4.3.0", + "eslint-config-moxy": "^5.0.0", + "husky": "^0.14.3", + "jest": "^22.0.0", + "lint-staged": "^7.0.0", + "mkdirp": "^0.5.1", + "regenerator-runtime": "^0.11.1", + "rimraf": "^2.6.2", + "standard-version": "^4.2.0" + }, + "engines": { + "node": ">=4.8" + }, + "files": [ + "lib" + ], + "homepage": "https://github.com/moxystudio/node-cross-spawn", + "keywords": [ + "spawn", + "spawnSync", + "windows", + "cross-platform", + "path-ext", + "shebang", + "cmd", + "execute" + ], + "license": "MIT", + "lint-staged": { + "*.js": [ + "eslint --fix", + "git add" + ] + }, + "main": "index.js", + "name": "cross-spawn", + "repository": { + "type": "git", + "url": "git+ssh://git@github.com/moxystudio/node-cross-spawn.git" + }, + "scripts": { + "commitmsg": "commitlint -e $GIT_PARAMS", + "lint": "eslint .", + "precommit": "lint-staged", + "prerelease": "npm t && npm run lint", + "release": "standard-version", + "test": "jest --env node --coverage" + }, + "standard-version": { + "scripts": { + "posttag": "git push --follow-tags origin master && npm publish" + } + }, + "version": "6.0.5" +} diff --git a/node_modules/dashdash/CHANGES.md b/node_modules/dashdash/CHANGES.md new file mode 100644 index 0000000..d7c8f4e --- /dev/null +++ b/node_modules/dashdash/CHANGES.md @@ -0,0 +1,364 @@ +# node-dashdash changelog + +## not yet released + +(nothing yet) + +## 1.14.1 + +- [issue #30] Change the output used by dashdash's Bash completion support to + indicate "there are no completions for this argument" to cope with different + sorting rules on different Bash/platforms. For example: + + $ triton -v -p test2 package get # before + ##-no -tritonpackage- completions-## + + $ triton -v -p test2 package get # after + ##-no-completion- -results-## + +## 1.14.0 + +- New `synopsisFromOpt(